A method, device, equipment and medium for processing video resolution
By using historical network data to inform adaptive bitrate decisions, the method optimizes video resolution adjustments, addressing network fluctuations and reducing manual changes, thus improving user experience.
Patent Information
- Application Number
- CN202211685800.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-27
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2042-12-27
AI Technical Summary
The existing automatic resolution algorithms are difficult to accurately decide on video resolution in network jitter environments, resulting in poor user experience and require manual resolution switching.
By obtaining historical network information and network speed, determining the long-term and short-term network characteristics, using a QoE training model based on user experience, adjusting the video resolution in real time, combining the buffer size, and optimizing resolution decisions.
Real-time adjustment of video resolution is achieved, user experience is improved, frequency of manually switching resolutions is reduced, and smoothness and user satisfaction is improved.
Smart Images

Figure CN116170619B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of video processing, and in particular, to a method, apparatus, device, and medium for processing video resolution. Background Art
[0002] Today, with the upgrading of network infrastructure, users of streaming media hope to watch 1080P, 4K, 8K, or even higher-definition video content. Generally speaking, since high-resolution videos have more pixels, the bitrate of video manuscripts (the number of data bits per unit video duration, in kbps, i.e., thousands of bits per second) will also increase exponentially.
[0003] However, the user's downstream network speed is not always stable and high-speed. High network speed depends on good network infrastructure, and congestion may occur in any link from the server to the user's link. Especially with the trend of the user's playback scenario spreading from home computers to mobile devices, it is impossible to completely avoid network speed jitter.
[0004] To solve stuttering, the most direct method is to increase the cache size during playback. By leveling the peaks and filling the valleys, the bandwidth during high network speed periods is stored as cache, reducing stuttering during low network speed periods. However, relying solely on increasing the cache is not enough. When the network speed is lower than the video bitrate, the cache will eventually be exhausted, resulting in stuttering.
[0005] To improve playback smoothness under jittery network speeds, adaptively selecting the resolution has become the preferred method. Since the rise of streaming media technology, the automatic bitrate algorithm (ABR, Adaptive Bitrate Algorithm) has always been favored by the academic and industrial communities. The ABR algorithm mainly makes decisions on the resolution of the next chunk (video segment) based on historical reference network speed and cache information, so as to provide users with a higher QoE (Quality of Experience) while taking into account high-definition picture quality and smooth playback, enabling users to no longer be troubled by network jitter.
[0006] Current ABR algorithms include THROUGHPUT, MPC, BOLA, Pensieve, etc. BOLA and Pensieve can better maintain a high-definition experience during playback, while THROUGHPUT and MPC tend to select low resolutions to avoid stuttering. However, these algorithms are still not ideal in practical applications, and a large number of users still need to manually switch from automatic resolution to other resolutions. Summary of the Invention
[0007] In view of the above problems, embodiments of the present application are proposed to provide a method, apparatus, device, and medium for processing video resolution that can overcome or at least partially solve the above problems.
[0008] To solve the above problems, an embodiment of the present application discloses a method for processing video resolution, and the method includes:
[0009] Obtain historical network information, and determine the long-term network characteristics according to the historical network information; wherein, the historical network information is used to represent the transmission speed and jitter condition of the network;
[0010] During the process of playing the current video at the current playback resolution, determine the historical reference network speed; wherein, the historical reference network speed is a plurality of network speed values collected within a preset range;
[0011] According to the long-term network characteristics and the historical reference network speed, determine the target playback resolution from a preset resolution list;
[0012] Compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result.
[0013] Optionally, determining the target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed includes:
[0014] According to the long-term network characteristics and the historical reference network speed, and referring to the buffer size, determine the target playback resolution from a preset resolution list.
[0015] Optionally, determining the target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed includes:
[0016] Input the long-term network characteristics and the historical reference network speed into the ABR model, so that the ABR model determines the target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed; wherein, the ABR model is trained based on the user's QoE.
[0017] Optionally, after determining the long-term network characteristics according to the historical network information, the method further includes:
[0018] After preloading the current video, obtain the historical download speed; wherein, the historical download speed is the historical video download speed within a preset time;
[0019] According to the long-term network characteristics and the historical download speed, determine the start-playing resolution from a preset resolution list;
[0020] Start playing the current video according to the start-playing resolution.
[0021] Optionally, determining the start-playing resolution from the start-playing resolution list according to the long-term network characteristics and the historical download speed includes:
[0022] Determine the startup time corresponding to each startup resolution in the preset resolution list according to the long-term network characteristics and historical download speed;
[0023] Determine the startup resolution from the startup resolution list according to each startup resolution and its corresponding startup time.
[0024] Optionally, controlling the current playback resolution according to the comparison result includes:
[0025] When the comparison result indicates that the current playback resolution is less than the target playback resolution, increase the current resolution to the target resolution.
[0026] Optionally, controlling the current playback resolution according to the comparison result includes:
[0027] When the comparison result indicates that the current playback resolution is greater than the target playback resolution, decrease the current resolution to the target resolution.
[0028] An embodiment of the present application also discloses a video resolution processing device, and the device includes:
[0029] A long-term network feature determination module, configured to obtain historical network information and determine long-term network features according to the historical network information; wherein, the historical network information is used to represent the transmission speed and jitter condition of the network;
[0030] A historical reference network speed determination module, configured to determine a historical reference network speed during the current video playback using the current playback resolution; wherein, the historical reference network speed is a plurality of network speed values collected within a preset range;
[0031] A target playback resolution determination module, configured to determine a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed;
[0032] A current playback resolution control module, configured to compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result.
[0033] An embodiment of the present application also discloses an electronic device, including a processor, a memory, and a computer program stored on the memory and capable of running on the processor. When the computer program is executed by the processor, the video resolution processing method as described above is implemented.
[0034] An embodiment of the present application also discloses a non-volatile readable storage medium, on which a computer program is stored. When the computer program is executed by the processor, the video resolution processing method as described above is implemented.
[0035] The embodiments of the present application include the following advantages:
[0036] In an embodiment of the present application, by obtaining historical network information and determining long-term network characteristics based on the historical network information, where the historical network information is used to represent the transmission speed and jitter condition of the network, and then during the process of playing the current video at the current playback resolution, determining a historical reference network speed, where the historical reference network speed is a plurality of network speed values collected within a preset range, and then based on the long-term network characteristics and the historical reference network speed, determining a target playback resolution from a preset resolution list, and finally comparing the target playback resolution with the current playback resolution to obtain a comparison result, and controlling the current playback resolution according to the comparison result, real-time decision-making of the playback resolution based on multiple data is achieved, making the automatic resolution more in line with the user's real-time experience, greatly improving the user experience, and thus reducing the user's manual switching from the automatic resolution to other resolutions.
[0037] Moreover, by inputting the long-term network characteristics and the historical reference network speed into the ABR model, so that the ABR model determines a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed, where the ABR model is trained based on the user's QoE, the quantitative calculation of the user's real-time experience is achieved, thus making the automatic resolution decision more in line with the user's true feelings.
[0038] Furthermore, after preloading the current video, obtaining the historical download speed, where the historical download speed is the historical video download speed within a preset time, and then based on the long-term network characteristics and the historical download speed, determining the starting playback resolution from a preset resolution list, and finally starting to play the current video according to the starting playback resolution, achieving full-process resolution decision-making from the start of playback to the playback process, further improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 It is a flowchart concept of an embodiment of a method for processing video resolution of the present application;
[0040] Figure 2 It is a flowchart of steps of an embodiment of a method for processing video resolution of the present application;
[0041] Figure 3 It is a flowchart of steps of another embodiment of a method for processing video resolution of the present application;
[0042] Figure 4 It is a flowchart of steps of another embodiment of a method for processing video resolution of the present application;
[0043] Figure 5 It is a schematic flowchart of an embodiment of a method for processing video resolution of the present application;
[0044] Figure 6 It is a structural block diagram of an embodiment of a video resolution processing device of the present application. Specific embodiments
[0045] To make the above objects, features, and advantages of the present application more apparent and understandable, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0046] Currently, the main ABR algorithms mainly make decisions on the resolution of the next chunk based on historical network speed and cache information. In the order of appearance, classic ABRs in the industry include THROUGHPUT, MPC, BOLA, Pensieve, etc. The differences between each ABR are shown in Table 1.
[0047]
[0048] Table 1
[0049] Based on Table 1, it can be seen that early ABR algorithms mainly used simple formulas to predict network speed to determine the resolution; mid-term ABR algorithms incorporated both cache and network speed factors to determine the resolution, and were able to give a higher tolerance to low network speed in the case of high cache.
[0050] At the same time, the QoE formula was proposed:
[0051]
[0052] Among them, is the resolution gain, is the stuttering penalty, is the resolution switching penalty, thus incorporating the resolution duration, stuttering, and resolution switching in the ABR scenario into the evaluation, and outputting an ABR model with a longer high-definition time, a lower stuttering rate, and fewer switching times. However, the QoE formula has the following defects:
[0053] There is a lack of weights between each parameter, and the importance of high definition and the importance of smoothness entirely depend on the settings of the server;
[0054] It belongs to a linear model, resulting in insufficient expressive power, difficult to expand, difficult to add other reference factors, and not convenient for subsequent continuous updates;
[0055] It can only evaluate the result of one playback, and cannot evaluate the entire process of video playback. Even if multiple evaluations are carried out to simulate and evaluate the entire process of video playback, it cannot well fit the actual situation.
[0056] The Pensieve is a representative work in the field of ABR algorithms that uses machine learning. By adjusting QoE parameters, developers can quickly train a model that meets expectations. At the same time, compared with non-machine learning cybernetic models, neural network models can better capture network speed characteristics, predict more accurate network speeds, and decide on a more appropriate resolution.
[0057] After integrating the above four algorithms into the client, through a large number of experiments, the process of downloading videos is segmented, network speed information and cache information are collected, and the ABR algorithm is called every few seconds to decide the resolution of the next segment; after large-scale A / B testing and parameter tuning, summarize the performance tendencies of each algorithm in different network environments (distinguishing between high and low average network speeds and the magnitude of jitter) (classified into 1-5 points according to the degree of aggressiveness and conservativeness, the higher the score, the more aggressive and the higher the resolution), as shown in Table 2.
[0058] Algorithm Name High-speed Jitter-free Low-speed Jitter-free High-speed with Jitter Low-speed with Jitter THROUGHPUT 5 1 3.5 1 MPC 5 2 3 1 BOLA 5 2 4 1 Pensieve 5 3 5 2
[0059] Table 2
[0060] Based on Table 2, it can be seen that THROUGHPUT only focuses on network speed and will also reduce the resolution in the case of high cache and low network speed; due to the use of the harmonic mean, MPC is extremely likely to decide on a low resolution result in a network jitter scenario; the cache relied on by BOLA can resist slight network jitter and the resolution is not easily decreased; Pensieve performs excellently in all aspects, it can better predict the trend of network speed and combine the cache to make a decision.
[0061] Generally speaking, the BOLA and Pensieve algorithms can better maintain a high-definition experience during playback, while THROUGHPUT and MPC tend to choose a low resolution to avoid stuttering, but these algorithms are still not ideal in actual applications, and a large number of users still need to manually switch from the automatic resolution to other resolutions.
[0062] Through analysis by embedding points in the client, it is concluded that there are mainly three scenarios where users manually switch resolutions:
[0063] Scenario 1: When the network speed is good, the resolution selected by the ABR algorithm is lower than the user's expectation.
[0064] Scenario 2: When the network speed is poor and there are multiple stuttering segments, the resolution selected by the ABR algorithm is still relatively high.
[0065] Scenario 3: Users switch to a resolution of 480P and below due to need.
[0066] The reasons for the above scenarios are analyzed as follows:
[0067] Scenario 1: On the one hand, in order to quickly produce frames at the start of playback, the ABR algorithm generally selects a lower resolution. However, the ABR algorithm can only determine the resolution during playback and cannot change the starting resolution, which causes users to be dissatisfied with the low resolution at the start and manually select a higher resolution. On the other hand, when users drag the progress bar during playback, the cache level approaches zero. Due to the slow start effect, the network speed measured at this time is also low. The ABR algorithm that refers to the cache is likely to mistakenly determine a low resolution, causing user dissatisfaction. At the same time, it is very likely that the network speed will fluctuate during the playback of long videos. When the network speed is low (for example, the signal is unstable on a vehicle), the ABR algorithm will reduce the resolution in time. However, when the user's network speed returns to normal (for example, when connected to WIFI or the mobile signal becomes stable), the ABR algorithm still needs to continue to generate multiple low-resolution segments. Only when it is determined that the network speed and cache level are both high will the resolution be increased. Low resolution for tens of seconds is an important reason for users to manually switch.
[0068] Scenario 2: When the user's network speed is poor, the ABR algorithm parameters are too aggressive, resulting in the ABR algorithm not having enough time to switch to a low resolution before the cache is reduced to 0. At the same time, after a freeze occurs, the ABR algorithm does not adjust its parameters, causing the user to experience continuous freezes and manually switch the resolution.
[0069] Scenario 3: These users have a strong demand for saving data traffic. They often manually select low resolution when using data traffic for playback to reduce data traffic consumption.
[0070] Based on this, the present application proposes an embodiment of a method for processing video resolution, such as Figure 1 The process concept diagram of the embodiment of the method shown in the figure first defines the QoE target and determines the QoE formula that is closest to the user's experience; then, the training data used to train the ABR model is cleaned, thereby removing the multivariate heterogeneous data and retaining the single data that can be used to train the ABR model, and the ABR model is trained with a large amount of training data to make the ABR model fit; then, a clarity decision framework for the entire playback process is built, and finally, the model is deployed, and the ABR model and the decision framework are deployed to the client.
[0071] On the one hand, in order to obtain a QoE standard suitable for users, we designed multiple playback experiments by selecting different video clips and simulating automatic resolution behavior. The experimental factors are as follows: start time and start resolution; resolution switching time point, resolution switching size, and resolution switching times; freeze time point, freeze duration, and freeze times.
[0072] Through the above experiments, subjective evaluations were conducted on users and data were collected, and the following rules were found: the higher the resolution, the higher the score, but the score difference becomes smaller and smaller; users dislike multiple short freezes more than a single long freeze; the impact of startup freeze (within 3 seconds) on the score is relatively small, while freeze during playback will significantly reduce the score.
[0073] Therefore, the QoE can be optimized according to the above rules, and the specific optimizations are as follows:
[0074] When starting to play a video, set the QoE according to the startup time and startup resolution; reduce the weight of the resolution switching penalty so that the QoE does not change suddenly during resolution switching; when there is no freeze in the video, if the current QoE does not match the QoE corresponding to the current resolution, adjust the current QoE to the QoE corresponding to the current resolution.
[0075] On the other hand, the input data of the resolution decision algorithm model is crucial. To make an accurate resolution decision, it is necessary to improve the accuracy of the network speed. Generally, the network speed information is approximately obtained by dividing the file size of each segment downloaded at the application layer by the time taken, but this method has two problems:
[0076] Low time consumption:
[0077] In scenarios with a relatively high network speed, due to a large amount of unretrieved video data caches accumulated in the transport layer, the time for the application layer to obtain data is almost 0, resulting in a much larger estimated network speed. The corresponding solution is to limit the high network speed to avoid overly aggressive decisions by the ABR algorithm.
[0078] High time consumption:
[0079] When the quality of the CDN (Content Delivery Network) jitters and timeout reconnection is required, the time for the application layer to obtain a segment will be additionally added with a waiting timeout time, resulting in a much smaller estimated network speed. The corresponding solution is to identify whether the timeout reconnection is a client problem or a server problem. If it is a server problem, the timeout time needs to be subtracted to obtain the accurate user network speed.
[0080] The following further describes the embodiments of the present application:
[0081] Refer to Figure 2 , which shows a step flowchart of an embodiment of a method for processing video resolution of the present application. The method may include the following steps:
[0082] Step 201, obtain historical network information, and determine the long-term network characteristics according to the historical network information; where the historical network information is used to represent the transmission speed and jitter status of the network.
[0083] By obtaining historical network information, determine the transmission speed and jitter condition of the network, and thereby determine the long-term characteristics of the network, where the long-term characteristics of the network are used as the long-term performance of the network.
[0084] For example, obtain all the network speeds in the past few minutes to determine the transmission speed and jitter condition of the network, and then determine the long-term characteristics of the network based on this.
[0085] Step 202: During the process of playing the current video at the current playback resolution, determine the historical reference network speed; where the historical reference network speed is a plurality of network speed values collected within a preset range.
[0086] During the process of playing the current video at the current playback resolution, determine a plurality of network speed values collected within a preset range and use this as the historical reference network speed, where the historical reference network speed is used as the short-term performance of the network.
[0087] For example, during the process of playing the current video at the current playback resolution, determine a plurality of recently collected network speed values and use this as the historical reference network speed.
[0088] Step 203: According to the long-term characteristics of the network and the historical reference network speed, determine the target playback resolution from the preset resolution list.
[0089] According to the long-term characteristics of the network and the historical reference network speed, the long-term performance and short-term performance of the network can be determined, and thus the target playback resolution can be determined from the preset resolution list.
[0090] In some embodiments of the present application, step 203 may include the following sub-steps:
[0091] Sub-step 11: According to the long-term characteristics of the network and the historical reference network speed, and with reference to the buffer size, determine the target playback resolution from the preset resolution list.
[0092] After determining the long-term performance and short-term performance of the network according to the long-term characteristics of the network and the historical reference network speed, the buffer size can also be simultaneously referred to, and the buffer size is used as one of the parameter data, so as to more accurately determine the target playback resolution.
[0093] Step 204: Compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result.
[0094] After determining the target playback resolution, compare the target playback resolution with the current playback resolution to obtain a comparison result, and thus control the current playback resolution according to the comparison result.
[0095] In some embodiments of the present application, controlling the current playback resolution according to the comparison result in step 204 may include the following sub-steps:
[0096] Sub-step 21: When the comparison result indicates that the current playback resolution is less than the target playback resolution, increase the current resolution to the target resolution.
[0097] When the current playback resolution is less than the target playback resolution, it is necessary to increase the current resolution to the target resolution to control the video to be played according to the target resolution.
[0098] In some embodiments of the present application, controlling the current playback resolution according to the comparison result in step 204 may also include the following sub-steps:
[0099] Sub-step 31: When the comparison result indicates that the current playback resolution is greater than the target playback resolution, decrease the current resolution to the target resolution.
[0100] When the current playback resolution is greater than the target playback resolution, it is necessary to decrease the current resolution to the target resolution to control the video to be played according to the target resolution.
[0101] In the embodiments of the present application, by obtaining historical network information and determining the long-term network characteristics according to the historical network information, where the historical network information is used to represent the transmission speed and jitter condition of the network, and then during the process of playing the current video at the current playback resolution, determining the historical reference network speed, where the historical reference network speed is a plurality of network speed values collected within a preset range, and then according to the long-term network characteristics and the historical reference network speed, determining the target playback resolution from a preset resolution list, and finally comparing the target playback resolution with the current playback resolution to obtain a comparison result, and controlling the current playback resolution according to the comparison result, real-time decision-making of the playback resolution based on multiple data is achieved, making the automatic resolution more in line with the real-time feelings of users, greatly improving the user experience, and thus reducing the user's manual switching from the automatic resolution to other resolutions.
[0102] Refer to Figure 3 , which shows the step flowchart of another embodiment of the video resolution processing method of the present application. The method may include the following steps:
[0103] Step 301: Obtain historical network information and determine the long-term network characteristics according to the historical network information; where the historical network information is used to represent the transmission speed and jitter condition of the network.
[0104] By obtaining historical network information, determining the transmission speed and jitter condition of the network, and thereby determining the long-term network characteristics, where the long-term network characteristics are used as the long-term performance of the network.
[0105] For example, obtain all network speeds in the past few minutes to determine the transmission speed and jitter status of the network, and then determine the long-term characteristics of the network based on this.
[0106] Step 302, during the process of playing the current video at the current playback resolution, determine the historical reference network speed; where the historical reference network speed is multiple network speed values collected within a preset range.
[0107] During the process of playing the current video at the current playback resolution, determine multiple network speed values collected within a preset range, and use this as the historical reference network speed, where the historical reference network speed is used as the short-term performance of the network.
[0108] For example, during the process of playing the current video at the current playback resolution, determine multiple recently collected network speed values and use this as the historical reference network speed.
[0109] Step 303, input the long-term characteristics of the network and the historical reference network speed into the ABR model, so that the ABR model determines the target playback resolution from the preset resolution list according to the long-term characteristics of the network and the historical reference network speed; where the ABR model is trained based on the user's QoE.
[0110] Input the long-term characteristics of the network and the historical reference network speed into the ABR model, so that the ABR model can determine the target playback resolution from the preset resolution list according to the long-term and short-term performance of the network, where the target playback resolution is the resolution with the highest QoE evaluated by the ABR model based on the current input data.
[0111] During the process of training and optimizing the ABR model, if the reward of the training set does not improve after more than 600 epochs (iterations), the information entropy of the training set will be automatically reduced, resulting in an 80% reduction in the final training time of the model.
[0112] Generally speaking, the smaller the information entropy of a certain indicator, the greater the degree of variation of the indicator, the more information it can provide, the greater the role it can play in the comprehensive evaluation, and the greater its weight; on the contrary, the larger the information entropy of a certain indicator, the smaller the degree of variation of the indicator value, the less information it can provide, the smaller the role it plays in the comprehensive evaluation, and the smaller its weight. Therefore, after 600 epochs, if the reward of the training set does not improve, actively reducing the information entropy of the training set at this time will increase the corresponding weight, and the reward of the training set will be more easily obtained in advance, thereby reducing the training time accordingly.
[0113] Step 304, compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result.
[0114] After determining the target playback resolution, compare the target playback resolution with the current playback resolution to obtain a comparison result, and then control the current playback resolution according to the comparison result.
[0115] In the embodiment of the present application, by obtaining historical network information and determining the long-term network characteristics according to the historical network information, where the historical network information is used to represent the transmission speed and jitter condition of the network, and then during the process of playing the current video using the current playback resolution, determine the historical reference network speed, where the historical reference network speed is a plurality of network speed values collected within a preset range, and then according to the long-term network characteristics and the historical reference network speed, determine the target playback resolution from the preset resolution list, and finally compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result, realizing real-time decision-making of the playback resolution based on multiple data, making the automatic resolution more in line with the user's real-time experience, greatly improving the user experience, and thus reducing the user's manual switching from the automatic resolution to other resolutions.
[0116] Moreover, by inputting the long-term network characteristics and the historical reference network speed into the ABR model, so that the ABR model determines the target playback resolution from the preset resolution list according to the long-term network characteristics and the historical reference network speed, where the ABR model is trained based on the user's QoE, realizing the quantitative calculation of the user's real-time experience, and thus making the automatic resolution decision more in line with the user's true feelings.
[0117] Refer to Figure 4 , which shows a flowchart of the steps of another embodiment of the method for processing video resolution of the present application. The method may include the following steps:
[0118] Step 401: Obtain historical network information and determine the long-term network characteristics according to the historical network information; where the historical network information is used to represent the transmission speed and jitter condition of the network.
[0119] By obtaining historical network information, determine the transmission speed and jitter condition of the network, and thus determine the long-term network characteristics accordingly, where the long-term network characteristics are used as the long-term performance of the network.
[0120] For example, obtain all the network speeds within the past few minutes to determine the transmission speed and jitter condition of the network, and thus determine the long-term network characteristics accordingly.
[0121] Step 402: After preloading the current video, obtain the historical download speed; where the historical download speed is the historical video download speed within a preset time.
[0122] After preloading the current video, determine the historical video download speed within a preset time, and use this as the historical download speed, where the historical download speed is used to represent the speed of video loading.
[0123] For example, after preloading the current video, determine the historical video download speed within the last dozens of seconds, and use this as the historical download speed.
[0124] Step 403: Determine the starting playback resolution from a preset resolution list according to the long-term network characteristics and the historical download speed.
[0125] Based on the long-term network characteristics and the historical download speed, the long-term performance of the network and the speed of video loading can be determined, so as to determine the starting playback resolution from the preset resolution list.
[0126] Step 404: Start playing the current video according to the starting playback resolution.
[0127] After determining the starting playback resolution, start playing the current video according to the starting playback resolution.
[0128] Step 405: During the process of playing the current video using the current playback resolution, determine the historical reference network speed; where the historical reference network speed is multiple network speed values collected within a preset range.
[0129] During the process of playing the current video using the current playback resolution, determine multiple network speed values collected within a preset range, and use this as the historical reference network speed, where the historical reference network speed is used to represent the short-term performance of the network.
[0130] For example, during the process of playing the current video using the current playback resolution, determine multiple recently collected network speed values, and use this as the historical reference network speed.
[0131] Step 406: Determine the target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed.
[0132] Based on the long-term network characteristics and the historical reference network speed, the long-term performance and short-term performance of the network can be determined, so as to determine the target playback resolution from the preset resolution list.
[0133] Step 407: Compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result.
[0134] After determining the target playback resolution, compare the target playback resolution with the current playback resolution to obtain a comparison result, and thus control the current playback resolution according to the comparison result.
[0135] In an embodiment of the present application, by obtaining historical network information and determining long-term network characteristics based on the historical network information, where the historical network information is used to represent the transmission speed and jitter condition of the network, and then during the process of playing the current video at the current playback resolution, determining the historical reference network speed, where the historical reference network speed is a plurality of network speed values collected within a preset range, and then based on the long-term network characteristics and the historical reference network speed, determining the target playback resolution from a preset resolution list, and finally comparing the target playback resolution with the current playback resolution to obtain a comparison result, and controlling the current playback resolution according to the comparison result, real-time decision-making on the playback resolution based on multiple data is achieved, making the automatic resolution more in line with the user's real-time experience, greatly improving the user experience, and thus reducing the user's manual switching from the automatic resolution to other resolutions.
[0136] Furthermore, after preloading the current video, obtain the historical download speed, where the historical download speed is the historical video download speed within a preset time, and then based on the long-term network characteristics and the historical download speed, determine the starting playback resolution from a preset resolution list, and finally start playing the current video according to the starting playback resolution, achieving full-process resolution decision-making from the start of playback to the playback process, further improving the user experience.
[0137] The step flows involved in the above-mentioned multiple method embodiments are described below:
[0138] As Figure 5 shown, the step flow involved in the method embodiment for processing video resolution is as follows:
[0139] First, obtain all network speeds within the past 3 minutes to determine the quantile value (used to represent the transmission speed of the network) and the fluctuation characteristics (used to represent the jitter condition of the network) of the network, and input the quantile value and the fluctuation characteristics into the long-term network characteristic extraction center to obtain the long-term network characteristics.
[0140] In the video startup stage, obtain the quantile network speed (i.e., the historical download speed) within the past 30 seconds to determine the download speeds of other videos within the past 30 seconds, and input the preset resolution list, the long-term network characteristics, and the quantile network speed within the past 30 seconds into the starting playback resolution decision center to obtain the starting playback resolution, and start playing the video according to the starting playback resolution.
[0141] During video playback, at preset time intervals, obtain the past 8 network speeds (i.e., historical reference network speeds) to determine the network transmission speed closest to the current one. Then, input the preset resolution list, buffer size, long-term network characteristics, and the past 8 network speeds into the ABR model trained based on QoE to obtain the target playback resolution. Next, input the target playback resolution into the resolution up / down decision center. The resolution up / down decision center compares the target playback resolution with the current playback resolution to obtain a comparison result. Then, based on the comparison result, control the current playback resolution, and finally determine the resolution during playback.
[0142] It should be noted that for the method embodiments, for simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of this application are not limited by the described action sequences, because according to the embodiments of this application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential to the embodiments of this application.
[0143] Refer to Figure 6 , which shows the structural block diagram of an embodiment of a video resolution processing device of this application. The device may include the following modules:
[0144] The long-term network characteristic determination module 601 is used to obtain historical network information and determine the long-term network characteristics according to the historical network information; where the historical network information is used to represent the network transmission speed and jitter condition.
[0145] In some embodiments of this application, the device may further include the following modules:
[0146] The historical download speed acquisition module is used to obtain the historical download speed after preloading the current video; where the historical download speed is the historical video download speed within a preset time.
[0147] The start-playing resolution acquisition module is used to determine the start-playing resolution from the preset resolution list according to the long-term network characteristics and the historical download speed.
[0148] The video control start-playing module is used to start playing the current video according to the start-playing resolution.
[0149] The historical reference network speed determination module 602 is used to determine the historical reference network speed during the current video playback using the current playback resolution; where the historical reference network speed is multiple network speed values collected within a preset range.
[0150] The target playback resolution determination module 603 is configured to determine a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed.
[0151] In some embodiments of the present application, the target playback resolution determination module 603 may include the following sub-modules:
[0152] The multi-data decision sub-module is configured to determine a target playback resolution from a preset resolution list according to the long-term network characteristics, the historical reference network speed, and with reference to the buffer size.
[0153] In some embodiments of the present application, the target playback resolution determination module 603 may further include the following sub-modules:
[0154] The ABR model decision sub-module is configured to input the long-term network characteristics and the historical reference network speed into the ABR model, so that the ABR model determines a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed; wherein, the ABR model is trained based on the user's QoE.
[0155] The current playback resolution control module 604 is configured to compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result.
[0156] In some embodiments of the present application, the current playback resolution control module 604 may include the following sub-modules:
[0157] The current playback resolution increase sub-module is configured to increase the current resolution to the target resolution when the comparison result indicates that the current playback resolution is less than the target playback resolution.
[0158] In some embodiments of the present application, the current playback resolution control module 604 may further include the following sub-modules:
[0159] The current playback resolution decrease sub-module is configured to decrease the current resolution to the target resolution when the comparison result indicates that the current playback resolution is greater than the target playback resolution.
[0160] In the embodiments of the present application, by obtaining historical network information and determining the long-term network characteristics according to the historical network information, where the historical network information is used to represent the transmission speed and jitter condition of the network, and then during the process of playing the current video at the current playing resolution, determining the historical reference network speed, where the historical reference network speed is a plurality of network speed values collected within a preset range, and then according to the long-term network characteristics and the historical reference network speed, determining the target playing resolution from the preset resolution list, and finally comparing the target playing resolution with the current playing resolution to obtain a comparison result, and controlling the current playing resolution according to the comparison result, the real-time decision-making of the playing resolution based on multiple data is realized, making the automatic resolution more in line with the user's real-time feeling, greatly improving the user experience, and further reducing the user's manual switching from the automatic resolution to other resolutions.
[0161] Moreover, by inputting the long-term network characteristics and the historical reference network speed into the ABR model, so that the ABR model determines the target playing resolution from the preset resolution list according to the long-term network characteristics and the historical reference network speed, where the ABR model is trained based on the user's QoE, the quantitative calculation of the user's real-time feeling is realized, thus making the automatic resolution decision more in line with the user's real feeling.
[0162] Furthermore, after preloading the current video, obtaining the historical download speed, where the historical download speed is the historical video download speed within a preset time, and then according to the long-term network characteristics and the historical download speed, determining the starting resolution from the preset resolution list, and finally starting to play the current video according to the starting resolution, the whole-process resolution decision from the start of playing to the playing process is realized, further improving the user experience.
[0163] For the device embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for the relevant parts, refer to the partial description of the method embodiments.
[0164] The embodiments of the present application also provide an electronic device, which may include a processor, a memory, and a computer program stored on the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the video resolution processing method as described above.
[0165] The embodiments of the present application also provide a non-volatile readable storage medium, on which a computer program is stored. When the computer program is executed by the processor, it implements the video resolution processing method as described above.
[0166] The embodiments in this specification are all described in a progressive manner. Each embodiment focuses on the differences from other embodiments. For the same or similar parts among the embodiments, refer to each other.
[0167] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, apparatuses, or computer program products. Therefore, the embodiments of the present application can take the form of all-hardware embodiments, all-software embodiments, or embodiments combining software and hardware aspects. Moreover, the embodiments of the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0168] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processors of general-purpose computers, special-purpose computers, embedded processors, or other programmable data processing terminal devices to generate a machine, such that the instructions executed by the processors of the computer or other programmable data processing terminal devices generate means for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0169] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0170] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device, such that a series of operation steps are performed on the computer or other programmable terminal device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable terminal device provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0171] Although the preferred embodiments of the present application have been described, those skilled in the art can make additional changes and modifications to these embodiments once they learn the basic creative concepts. Therefore, the appended claims are intended to be construed to include the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present application.
[0172] Finally, it should also be noted that in this text, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or terminal device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or terminal device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the existence of additional identical elements in the process, method, article or terminal device comprising the said element.
[0173] The above has introduced in detail a method, apparatus, device and medium for processing video resolution provided by this application. Specific examples are used in this text to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application; at the same time, for those of ordinary skill in the art, according to the idea of this application, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation to this application.
Claims
1. A method for processing video resolution, characterized in that The method includes: Obtaining historical network information and determining long-term network characteristics based on the historical network information; wherein, the historical network information is used to represent the transmission speed and jitter condition of the network through the quantile value and fluctuation characteristics of the historical network, and the long-term network characteristics are determined by the quantile value and fluctuation characteristics; the long-term network characteristics are used as the long-term performance of the network; During the process of playing the current video at the current playback resolution, determining the historical reference network speed; wherein, the historical reference network speed is a plurality of network speed values collected within a preset range; the historical reference network speed is used as the short-term performance of the network; Determining a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed; Comparing the target playback resolution with the current playback resolution to obtain a comparison result, and controlling the current playback resolution according to the comparison result; Wherein, after determining the long-term network characteristics according to the historical network information, the method further includes: After preloading the current video, obtaining the historical download speed; wherein, the historical download speed is the historical video download speed within a preset time; the historical download speed is used as the performance of the video loading speed; Determining a starting playback resolution from the preset resolution list according to the long-term network characteristics and the historical download speed; Starting to play the current video at the starting playback resolution.
2. The method according to claim 1, characterized in that, The determining a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed includes: Determining a target playback resolution from a preset resolution list according to the long-term network characteristics, the historical reference network speed, and with reference to the buffer size.
3. The method according to claim 1, wherein The determining a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed includes: Inputting the long-term network characteristics and the historical reference network speed into an ABR model, so that the ABR model determines a target playback resolution from a preset resolution list according to the long-term network characteristics and the historical reference network speed; wherein, the ABR model is trained based on the user's QoE.
4. The method according to claim 1, wherein The determining a starting playback resolution from the preset resolution list according to the long-term network characteristics and the historical download speed includes: Determining the starting time consumption corresponding to each starting playback resolution in the preset resolution list according to the long-term network characteristics and the historical download speed; Determining a starting playback resolution from the preset resolution list according to each starting playback resolution and its corresponding starting time consumption.
5. The method according to any one of claims 1 to 4, characterized in that, The controlling the current playback resolution according to the comparison result includes: When the comparison result indicates that the current playback resolution is less than the target playback resolution, increasing the current playback resolution to the target playback resolution.
6. The method according to any one of claims 1 to 4, characterized in that The controlling the current playback resolution according to the comparison result includes: When the comparison result indicates that the current playback resolution is greater than the target playback resolution, decreasing the current playback resolution to the target playback resolution.
7. A video resolution processing device, characterized in that, The device includes: A network long-term feature determination module, which is used to obtain historical network information and determine network long-term features according to the historical network information; wherein, the historical network information is used to represent the transmission speed and jitter condition of the network through the quantile value and fluctuation feature of the historical network, and the network long-term features are determined by the quantile value and fluctuation feature; the network long-term features are used as the long-term performance of the network; A historical reference network speed determination module, which is used to determine the historical reference network speed during the current video playback using the current playback resolution; wherein, the historical reference network speed is a plurality of network speed values collected within a preset range; the historical reference network speed is used as the short-term performance of the network; A target playback resolution determination module, which is used to determine the target playback resolution from a preset resolution list according to the network long-term features and the historical reference network speed; A current playback resolution control module, which is used to compare the target playback resolution with the current playback resolution to obtain a comparison result, and control the current playback resolution according to the comparison result; A historical download speed acquisition module, which is used to obtain the historical download speed after preloading the current video; wherein, the historical download speed is the historical video download speed within a preset time; the historical download speed is used as the performance of the speed of video loading; A start playback resolution acquisition module, which is used to determine the start playback resolution from a preset resolution list according to the network long-term features and the historical download speed; A video control start playback module, which is used to start playing the current video according to the start playback resolution.
8. An electronic device, characterized in that, It includes a processor, a storage device, and a computer program stored on the storage device and capable of running on the processor. When the computer program is executed by the processor, the method described in any one of claims 1 to 6 is implemented.
9. A non-volatile readable storage medium, characterized in that, A computer program is stored on the non-volatile readable storage medium. When the computer program is executed by the processor, the method described in any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
VoIP communication method and apparatus
CN106231353A