Video preloading implementation method, device, equipment and storage medium

By analyzing the probability and bandwidth information of users playing videos, optimizing the order and bit rate of video preloading, the problems of poor user experience and waste of bandwidth in the existing technology are solved, and a higher quality video loading experience is achieved.

CN116112731BActive Publication Date: 2025-02-14BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310140079.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-20
Publication Date
2025-02-14
Estimated Expiration
2043-02-20

AI Technical Summary

Technical Problem

The prior art is difficult to effectively determine the order and bit rate of video preloading, resulting in poor user experience quality, wasted bandwidth or reduced video quality.

Method used

By determining the probability of playing videos in the target account, combining bandwidth information, the selection and loading bit rate of preloaded video blocks are optimized to maximize user experience quality and minimize bandwidth consumption.

Benefits of technology

Improves the user's experience of watching videos, reduces bandwidth waste, and ensures smoothness and quality of video loading.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116112731B_ABST
    Figure CN116112731B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a video preloading implementation method, device, equipment and storage medium, and relates to the field of computer technology. The video preloading implementation method includes: determining a first probability that a target account plays the C+Mth video block of the i-th video, wherein the i-th video is the video currently played by the target account, and the Cth video block is the video block currently played by the target account, determining a second probability that the target account switches from the i-th video to the j-th video, determining the preloaded video block according to the first probability, the second probability and bandwidth information, and a target bit rate for loading the preloaded video block. The present disclosure can reduce bandwidth waste while improving the user's experience quality of watching videos.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a method, device, equipment and storage medium for implementing video preloading. Background Art

[0002] With the development of Internet technology, video social networking has gradually become an important part of people's daily life. In the process of video social networking, due to the influence of network quality and video playback equipment and other conditions, problems such as slow video start speed and frequent freezes may occur.

[0003] In order to avoid the above problems, in the related art, videos are usually preloaded. For example, when playing the current video, a loading sequence is automatically set, and the videos to be played are preloaded in the order of the loading sequence, and the videos to be played are preloaded locally. When the user switches to the video to be played, the video to be played is directly loaded locally.

[0004] However, due to the limitation of network bandwidth, if the video to be played is loaded at a high bit rate, the currently playing video will be stuck, and when the user is not watching the video to be played, a lot of bandwidth will be wasted, which reduces the user experience quality. If the video to be played is loaded at a lower bit rate, it will affect the viewing quality of the video to be played, and also affect the user experience quality. How to determine the order of loading the videos to be played and the bit rate of loading the videos to be played is a problem that needs to be solved in the current related technology. Summary of the invention

[0005] The present disclosure provides a method, device, equipment and storage medium for implementing video preloading, so as to at least solve the problem in the related art of how to determine the order of loading videos to be played and the bit rate of loading videos to be played, so as to improve the quality of user's viewing experience. The technical solution of the present disclosure is as follows:

[0006] According to a first aspect of an embodiment of the present disclosure, a video preloading implementation method is provided, comprising: determining a first probability that a target account plays a C+Mth video block of an ith video, wherein the ith video is a video currently played by the target account, and the Cth video block is a video block currently played by the target account; determining a second probability that the target account switches from the ith video to the jth video, wherein the jth video is any video other than the ith video; determining a preloaded video block according to the first probability, the second probability and bandwidth information, and a target bit rate for loading the preloaded video block, wherein the preloaded video block is obtained by segmenting the ith video or the jth video; wherein i, j and M are natural numbers.

[0007] In one embodiment, determining the first probability that the target account plays the C+Mth video block of the ith video includes: determining the Cth probability that the target account plays the Cth video block of the ith video based on historical playback data of multiple accounts; determining the C+kth probability that the target account plays the C+kth video block of the ith video based on historical playback data of multiple accounts; and determining the ratio of the Cth probability to the C+kth probability as the kth probability value of the first probability that the target account watches the C+kth video block from the Cth video block, wherein k=1 to M.

[0008] In one embodiment, determining the second probability that the target account switches from the ith video to the jth video includes: determining the L videos that are switched in the process of the account switching from the ith video to the jth video; determining the third probability that the target account watches from the 1st video block to the 1+Mth video blocks of the L videos based on historical playback data of multiple accounts; determining a first difference between 1 and the first probability and a second difference between 1 and the third probability; and determining the product of the first difference and the second difference as the second probability that the account switches from the ith video to the jth video; wherein L is a positive integer.

[0009] In one embodiment, determining the preloaded video blocks according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video blocks includes: based on a first objective function including expected quality and expected freeze time, determining the preloaded video blocks according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video blocks.

[0010] In one embodiment, the determining of the preloaded video block based on the first objective function including the expected quality and the expected freeze time, according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video block includes: determining the bit rate for loading the preloaded video block as the first bit rate; determining the product of the first bit rate and the first probability as the expected quality; obtaining a first time period required for loading the preloaded video block at the first bit rate, and a second time period in which the video has been loaded in the video corresponding to the preloaded video block; determining a third difference between the first time period and the second time period, and determining the product of the third difference and the second probability as the expected freeze time; determining the difference between the expected quality and the expected freeze time as the first objective function; adjusting the first bit rate so that the first objective function value corresponding to the first objective function reaches the maximum, and determining the adjusted first bit rate as the target bit rate; and determining the video block having the largest corresponding first objective function value among the multiple video blocks included in the i-th video and the j-th video as the preloaded video block.

[0011] In one embodiment, determining the preloaded video blocks according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video blocks includes: based on a second objective function including expected quality, expected quality difference and expected freeze time, determining the preloaded video blocks according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video blocks.

[0012] In one embodiment, the determining of the preloaded video block based on the first probability, the second probability and the bandwidth information based on the second objective function including the expected quality, the expected quality difference and the expected freeze time, and the target bit rate for loading the preloaded video block include: determining the bit rate for loading the preloaded video block as the second bit rate; determining the expected quality, the expected freeze time and the expected quality difference based on the second bit rate, the first probability, the second probability and the bandwidth information respectively; determining a fifth difference between the expected quality and the expected freeze time, and determining the difference between the fifth difference and the expected quality as the second objective function; adjusting the second bit rate so that the second objective function value corresponding to the second objective function reaches the maximum, and determining the adjusted second bit rate as the target bit rate; and determining, among the multiple video blocks included in the i-th video and the j-th video, the video block with the largest corresponding second objective function value as the preloaded video block.

[0013] In one embodiment, the determining of the expected quality, expected freeze time and expected quality difference based on the second bit rate, the first probability, the second probability and the bandwidth information respectively includes: determining the product of the second bit rate and the first probability as the expected quality; obtaining a third time period required to load the preloaded video block at the second bit rate, and a fourth time period in which the video has been loaded in the video corresponding to the preloaded video block; determining a fourth difference between the third time period and the fourth time period, and determining the product of the fourth difference and the second probability as the expected freeze time; obtaining a first video block played by the target account before playing the preloaded video block; determining a third bit rate for loading the first video block; determining the product of the third bit rate and the first probability as the first expected quality; and determining the difference between the expected quality and the first expected quality as the expected quality difference.

[0014] In one embodiment, determining the preloaded video blocks according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video blocks includes: based on a third objective function including expected quality, expected quality difference, expected freeze time and bandwidth consumption, determining the preloaded video blocks according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video blocks.

[0015] In one embodiment, the determining of the preloaded video block according to the first probability, the second probability and the bandwidth information based on the third objective function including the expected quality, the expected quality difference, the expected freeze time and the bandwidth consumption, and the target bit rate for loading the preloaded video block includes: determining the bit rate for loading the preloaded video block as a fourth bit rate; determining the expected quality, the expected quality difference, the expected freeze time and the bandwidth consumption according to the fourth bit rate, the first probability, the second probability and the bandwidth information respectively; determining a seventh difference between the expected quality and the expected freeze time, and an eighth difference between the seventh difference and the expected quality difference, and determining the difference between the eighth difference and the bandwidth consumption as the third objective function; adjusting the fourth bit rate so that the third objective function value corresponding to the third objective function reaches the maximum, and determining the adjusted fourth bit rate as the target bit rate; and determining the video block having the largest corresponding third objective function value among the multiple video blocks included in the i-th video and the j-th video as the preloaded video block.

[0016] In one embodiment, determining the expected quality, the expected quality difference, the expected freeze time, and the bandwidth consumption respectively according to the fourth bit rate, the first probability, the second probability, and the bandwidth information includes: determining the expected quality by multiplying the fourth bit rate and the first probability; obtaining a fifth time period required to load the preloaded video block at the fourth bit rate, and a sixth time period that has been loaded in the video corresponding to the preloaded video block;

[0017] Determine a sixth difference between the fifth time period and the sixth time period, and determine the product of the sixth difference and the second probability as the expected freeze time; obtain a second video block played by the target account before playing the preloaded video block; determine a fifth bit rate for loading the second video block; determine the product of the fifth bit rate and the first probability as the second expected quality; determine the difference between the expected quality and the second expected quality as the expected quality difference; determine the bandwidth consumption for loading the preloaded video block at the fourth bit rate.

[0018] According to a second aspect of an embodiment of the present disclosure, a video preloading implementation device is provided, comprising a first determination module, configured to determine a first probability that a target account plays a C+Mth video block of an ith video, wherein the ith video is a video currently played by the target account, and the Cth video block is a video block currently played by the target account; a second determination module, configured to determine a second probability that the target account switches from the ith video to the jth video; a third determination module, configured to determine a preloaded video block and a target bit rate for loading the preloaded video block based on the first probability, the second probability and bandwidth information, wherein the preloaded video block is obtained by segmenting the ith video or the jth video; wherein i, j and M are natural numbers.

[0019] In one embodiment, the first determination module includes: a first determination unit, configured to determine the Cth probability that the target account plays the Cth video block of the ith video based on the historical playback data of multiple accounts; a second determination unit, configured to determine the C+kth probability that the target account plays the C+kth video block of the ith video based on the historical playback data of multiple accounts; a third determination unit, configured to determine the ratio of the Cth probability to the C+kth probability as the kth probability value of the first probability that the target account watches the C+kth video block from the Cth video block, wherein k=1 to M.

[0020] In one embodiment, the second determination module includes: a fourth determination unit, configured to determine the L videos switched when the target account switches from the ith video to the jth video; a fifth determination unit, configured to determine a third probability that the account watches from the 1st video block to the 1+Mth video blocks of the L videos based on historical playback data of multiple target accounts; a sixth determination unit, configured to determine a first difference between 1 and the first probability and a second difference between 1 and the third probability; a seventh determination unit, configured to determine the product of the first difference and the second difference as the second probability that the target account switches from the ith video to the jth video; wherein L is a positive integer.

[0021] In one embodiment, the third determination module includes: an eighth determination unit, configured to determine the preloaded video block and the target bit rate for loading the preloaded video block based on the first objective function including expected quality and expected freeze time according to the first probability, the second probability and bandwidth information.

[0022] In one embodiment, the eighth determination unit is configured as follows: a first determination subunit is configured to determine the bit rate for loading the preloaded video block as the first bit rate; a second determination subunit is configured to determine the product of the first bit rate and the first probability as the expected quality; a first acquisition subunit is configured to acquire a first time period required for loading the preloaded video block at the first bit rate, and a second time period in which the video has been loaded in the video corresponding to the preloaded video block; a third determination subunit is configured to determine a third difference between the first time period and the second time period, and determine the product of the third difference and the second probability as the expected freeze time; a fourth determination subunit is configured to determine the difference between the expected quality and the expected freeze time as the first objective function; a first adjustment subunit is configured to adjust the first bit rate so that the first objective function value corresponding to the first objective function reaches the maximum, and determine the adjusted first bit rate as the target bit rate; a fifth determination subunit is configured to determine, among the multiple video blocks included in the i-th video and the j-th video, the video block with the largest corresponding first objective function value as the preloaded video block.

[0023] In one embodiment, the third determination module includes: a ninth determination unit, which is configured to determine the preloaded video block and the target bit rate for loading the preloaded video block based on the second objective function including expected quality, expected quality difference and expected freeze time according to the first probability, the second probability and bandwidth information.

[0024] In one embodiment, the ninth determination unit includes: a sixth determination subunit, configured to determine the bit rate for loading the preloaded video block as the second bit rate; a seventh determination subunit, configured to determine the expected quality, the expected freeze time and the expected quality difference based on the second bit rate, the first probability, the second probability and the bandwidth information, respectively; an eighth determination subunit, configured to determine the fifth difference between the expected quality and the expected freeze time, and determine the difference between the fifth difference and the expected quality as the second objective function; a ninth determination subunit, configured to adjust the second bit rate so that the second objective function value corresponding to the second objective function reaches the maximum, and determine the adjusted second bit rate as the target bit rate; a tenth determination subunit, configured to determine the video block with the largest corresponding second objective function value among the multiple video blocks contained in the i-th video and the j-th video as the preloaded video block.

[0025] In one embodiment, the seventh determination subunit includes: a first determination element, configured to determine the product of the second bit rate and the first probability as the expected quality; a first acquisition element, configured to obtain a third time period required to load the preloaded video block at the second bit rate, and a fourth time period in which the video has been loaded in the video corresponding to the preloaded video block; a second determination element, configured to determine a fourth difference between the third time period and the fourth time period, and determine the product of the fourth difference and the second probability as the expected freeze time; a second acquisition element, configured to obtain a first video block played by the target account before playing the preloaded video block; a third determination element, configured to determine a third bit rate for loading the first video block; a fourth determination element, configured to determine the product of the third bit rate and the first probability as the first expected quality; and a fifth determination element, configured to determine the difference between the expected quality and the first expected quality as the expected quality difference.

[0026] In one embodiment, the fourth determination module includes: a tenth determination unit, which is configured to determine the preloaded video block and the target bit rate for loading the preloaded video block based on the first probability, the second probability and the bandwidth information based on a third objective function including expected quality, expected quality difference, expected freeze time and bandwidth consumption.

[0027] In one embodiment, the tenth determination unit includes: an eleventh determination subunit, configured to determine the bit rate for loading the preloaded video block as a fourth bit rate; a twelfth determination subunit, configured to determine the expected quality, the expected quality difference, the expected freeze time and the bandwidth consumption according to the fourth bit rate, the first probability, the second probability and the bandwidth information respectively; a thirteenth determination subunit, configured to determine a seventh difference between the expected quality and the expected freeze time, and an eighth difference between the seventh difference and the expected quality difference, and determine the difference between the eighth difference and the bandwidth consumption as the third objective function; a fourteenth determination subunit, configured to adjust the fourth bit rate so that the third objective function value corresponding to the third objective function reaches the maximum, and determine the adjusted fourth bit rate as the target bit rate; a fifteenth determination subunit, configured to determine, among the multiple video blocks included in the i-th video and the j-th video, the video block with the largest corresponding third objective function value as the preloaded video block.

[0028] In one embodiment, the twelfth determination subunit includes: a sixth determination element, configured to determine the product of the fourth bit rate and the first probability as the expected quality; a third acquisition element, configured to obtain the fifth time period required to load the preloaded video block at the fourth bit rate, and the sixth time period that has been loaded in the video corresponding to the preloaded video block; a seventh determination element, configured to determine a sixth difference between the fifth time period and the sixth time period, and determine the product of the sixth difference and the second probability as the expected freeze time; a fourth acquisition element, which obtains the second video block played by the target account before playing the preloaded video block; an eighth determination element, configured to determine the fifth bit rate for loading the second video block; a ninth determination element, configured to determine the product of the fifth bit rate and the first probability as the second expected quality; a tenth determination element, configured to determine the difference between the expected quality and the second expected quality as the expected quality difference; and an eleventh determination element, which determines the bandwidth consumption of loading the preloaded video block at the fourth bit rate.

[0029] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the video preloading implementation method as described in the first aspect.

[0030] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the video preloading implementation method as described in the first aspect.

[0031] According to a fifth aspect of an embodiment of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the video preloading implementation method as described in the first aspect is implemented.

[0032] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:

[0033] The video preloading implementation method, device, equipment and storage medium provided by the embodiments of the present disclosure can obtain the first probability of the account playing the current video and the second probability of the account switching from the currently played video to the remaining videos, and then determine the preloaded video blocks and the target bit rate for loading the preloaded videos based on the first probability and the second probability bandwidth information. The preloaded video blocks and the bit rate for loading the preloaded video blocks are determined in combination with the user behavior pattern and the network quality of the user's environment. By determining the preloaded video blocks and the bit rate for loading the preloaded video blocks, the problem of bandwidth waste caused by the user switching the video blocks that are loaded at a higher bit rate and are located closer to the front is avoided, and the problem of poor user viewing experience quality caused by the user watching the video blocks with a lower bit rate due to the loading of the video blocks that are located closer to the back at a lower bit rate is avoided. The present disclosure reduces the bandwidth waste for loading videos while ensuring the quality of user experience.

[0034] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.

[0036] Figure 1 is a flow chart of a method for implementing video preloading according to an exemplary embodiment;

[0037] Figure 2 is a flow chart of a method for determining a first probability according to an exemplary embodiment;

[0038] Figure 3 is a flow chart showing a method for determining a second probability according to an exemplary embodiment;

[0039] Figure 4 is a flow chart of another method for implementing video preloading according to an exemplary embodiment;

[0040] Figure 5 is a flowchart of another method for implementing video preloading according to an exemplary embodiment;

[0041] Figure 6 is a flowchart of another method for implementing video preloading according to an exemplary embodiment;

[0042] Figure 7 is a block diagram of a video preloading implementation device according to an exemplary embodiment; and

[0043] Figure 8 It is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0044] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.

[0045] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0046] Related technologies, when determining the preloaded video and the bit rate used to load the preloaded video, usually use the expectation function method based on Lyapunov theory. The expectation function method based on Lyapunov theory usually models the video download as a queue queuing problem, and then ensures the smoothness of video playback by maintaining the stability of the exit and entry rates of each queue in the queuing problem.

[0047] However, the above method is based on the assumption that the user's behavior pattern of watching videos remains unchanged, and the user's willingness to watch each video and the length of time to watch each video are the same. However, since the user's behavior model for watching each video is usually inconsistent, the loading method determined according to the above method usually causes a large amount of bandwidth waste due to the high bit rate loaded for videos that the user is not very willing to watch, and the low bit rate loaded for videos that the user is more willing to watch, resulting in a low user experience quality.

[0048] In view of the above problems, an embodiment of the present disclosure provides a method for implementing video preloading, which is applied to a computer device. The computer device described in the present disclosure may include mobile terminal devices such as mobile phones, tablet computers, laptop computers, PDAs, and fixed terminal devices such as desktop computers. This exemplary embodiment uses the method applied to a computer device as an example. It can be understood that the method can also be applied to a server, and can also be applied to a system including a computer device and a server, and is implemented through the interaction between the computer device and the server.

[0049] Figure 1 is a flow chart of a video preloading implementation method provided by an embodiment of the present disclosure, such as Figure 1 As shown, the video preloading implementation method includes:

[0050] S110, determining the first probability that the target account plays the C+Mth video block of the ith video, wherein the ith video is the video currently played by the target account, and the Cth video block is the video block currently played by the target account. In one embodiment, the video blocks may be obtained by segmenting the video according to a preset standard. Exemplarily, the preset standard may include using duration as a standard. Exemplarily, a video with a duration of 1 minute may be segmented into 6 video blocks with a duration of 10 seconds. In one embodiment, the first probability may be used to indicate the likelihood of an event occurring. Exemplarily, the first probability may be obtained by mathematically transforming multiple probabilities.

[0051] S120, determine the second probability that the target account switches from the ith video to the jth video. The jth video is any video other than the ith video. In one embodiment, the ith video and the jth video may be in the same loading sequence. It is understandable that when the target account plays a video or sends a signal to play a video, the video loading sequence may be predetermined by the video playback device, and then the video playback device preloads the videos in the loading sequence. In one embodiment, in the above-mentioned loading sequence, the jth video may be a video located in front of the ith video, or may be a video located behind the ith video, which is not specifically limited in the present disclosure.

[0052] S130, determine the preloaded video block and the target bit rate for loading the preloaded video block according to the first probability, the second probability and the bandwidth information, wherein the preloaded video block is obtained by segmenting the i-th video or the j-th video; wherein i, j and M are natural numbers. In one embodiment, the first probability and the second probability may be parameters used to reflect the behavior pattern of the account playing the video. In one embodiment, the preloaded video block may be a video block loaded by the target account while playing the C-th video block, or a video block that is located at the first position in the loading sequence when the target account plays the C-th video block. In one embodiment, the bit rate may be the number of data bits transmitted per unit time during data transmission, and the unit may be kbps, i.e., kilobits per second. The larger the bit rate, the larger the amount of data loaded by the video, and the higher the clarity of the loaded video.

[0053] The video preloading implementation method, device, equipment and storage medium provided by the embodiments of the present disclosure can obtain the first probability of the account playing the current video and the second probability of the account switching from the currently played video to the remaining videos, and then determine the preloaded video blocks and the target bit rate for loading the preloaded videos based on the first probability and the second probability bandwidth information. The preloaded video blocks and the bit rate for loading the preloaded video blocks are determined in combination with the user behavior pattern and the network quality of the user's environment. By determining the preloaded video blocks and the bit rate for loading the preloaded video blocks, the problem of bandwidth waste caused by the user switching the video blocks that are loaded at a higher bit rate and are located closer to the front is avoided, and the problem of poor user viewing experience quality caused by the user watching the video blocks with a lower bit rate due to the loading of the video blocks that are located closer to the back at a lower bit rate is avoided. The present disclosure reduces the bandwidth waste for loading videos while ensuring the quality of user experience.

[0054] Figure 2 The present invention is a flowchart of a method for determining a first probability according to an embodiment of the present invention.

[0055] like Figure 2 As shown, the steps of the method for determining the first probability of an account playing the C+Mth video block of the i-th video are as follows:

[0056] S210, determining the Cth probability that the target account plays the Cth video block of the ith video based on the historical playback data of multiple accounts. In one embodiment, the historical playback data of multiple accounts may include the number of historical accounts that played each video block in the video. Exemplary historical playback data of multiple accounts may include the first number of historical accounts that watched from the first video block of the ith video to the Cth video block. Exemplarily, determining the Cth probability that the account plays the Cth video block of the ith video may include: obtaining the second number of historical accounts that have completed watching the ith video, and determining the ratio of the first number of historical accounts to the second number of historical accounts as the Cth probability.

[0057] S220 , determining the C+k th probability that the target account plays the C+k th video block of the ith video based on the historical playback data of the plurality of accounts.

[0058] S230, determining the ratio of the Cth probability to the C+kth probability as the kth probability value of the first probability that the target account watches the Cth video block from the Cth video block to the C+kth video block, where k=1 to M. In one embodiment, when k=M, the formula for determining the first probability can be expressed as follows:

[0059]

[0060] in, is the first probability, H i,C is the Cth probability, H i,CM is the C+Mth probability, i is the ith video, C is the Cth video block in the ith video, CM is the C+Mth video block in the ith video, where i, C, and M are all natural numbers.

[0061] The video preloading implementation method provided by the embodiment of the present disclosure can determine the probability of a target account playing a video from a previous video block to a subsequent video block based on the historical playback data of multiple accounts that play the video block. The first probability of account playback is determined by the historical playback data of multiple accounts, thereby improving the accuracy and credibility of the first probability.

[0062] Figure 3 The present invention is a flowchart of a method for determining a second probability according to an embodiment of the present invention.

[0063] like Figure 3 As shown, the steps of the method for determining the second probability that the account switches from the i-th video to the j-th video are as follows:

[0064] S310, determining the L videos that are switched when the target account switches from the i-th video to the j-th video. In one embodiment, L is a positive integer. In one embodiment, there are L videos between the i-th video and the j-th video, and the target account has not watched any of the L videos when the target account switches from the i-th video to the j-th video. In one embodiment, switching from the i-th video to the j-th video may include: switching forward from the i-th video, and after switching the L-th video, switching to the j-th video located after the i-th video. In one embodiment, switching from the first video to the j-th video may also include: switching backward from the i-th video, and after switching the L-th video, switching to the j-th video located before the i-th video.

[0065] S320, based on the historical playback data of multiple accounts, determine the third probability that the target account watches from the 1st video block of L videos to the 1+Mth video blocks. In one embodiment, the above embodiment has described the method for calculating the target account's playback from the Cth video block of the i-th video to the C+Mth video block. Here, the method for calculating the third probability that the target account plays from the 1st video block of L videos to the 1+Mth video blocks is similar to the above method and will not be repeated here. In one embodiment, L=1, then the third probability is the probability of switching the above-mentioned video. In one embodiment, L is a positive integer greater than 1, then the third probability is the product of the probability of switching each video in the multiple videos to be switched.

[0066] S330, determine a first difference between 1 and the first probability and a second difference between 1 and the third probability. For example, if the first probability is 0.3, the difference between 1 and the first probability is 1-0.3=0.7. The method for calculating the second difference is the same as the above method, which will not be repeated here.

[0067] S340, determining the product of the first difference and the second difference as the second probability that the account switches from the i-th video to the j-th video; wherein L is a positive integer. In one embodiment, the formula for determining the second probability can be expressed as follows:

[0068]

[0069] Among them, P i , j is the second probability, i is the i-th video, j is the j-th video, P L , 1+M (1) is the probability of switching from the 1st video block to the Mth video block in the Lth video, is the first probability, C is the Cth video block in the ith video, and CM is the C+Mth video block in the ith video.

[0070] The video preloading implementation method provided by the embodiment of the present disclosure can determine the probability of a target account playing a video from a previous video block to a subsequent video block based on the historical playback data of multiple accounts that play the video block, and determine the second probability of the account switching video based on the probability of the target account playing the video block. The second probability of the target account playing is determined by the historical playback data of multiple accounts, which improves the accuracy and credibility of the determined second probability.

[0071] Figure 4 The present invention is a flowchart of another method for implementing video preloading according to an embodiment of the present invention.

[0072] It should be noted that, in this embodiment, the first objective function may include expected quality and expected freeze time.

[0073] Based on a first objective function including expected quality and expected freeze time, the steps of determining a preloaded video block according to the first probability, the second probability and bandwidth information, and a method for loading a target bit rate of the preloaded video block are as follows:

[0074] S410, determining a bit rate for loading the preloaded video block as a first bit rate. In one embodiment, the first bit rate may include multiple bit rates. Exemplarily, before loading the preloaded video block, the video may be encoded into multiple bit rates.

[0075] S420, determining the product of the first bit rate and the first probability as the expected quality. In one embodiment, the expected quality is positively correlated with the first bit rate. Exemplarily, the formula for determining the expected quality can be expressed as:

[0076]

[0077] Among them, Φ(r n ) is the expected quality, n is the preloaded video block, q(n) is the first bit rate for loading the preloaded video block, is the first probability, C is the Cth video block in the ith video, and CM is the C+Mth video block in the ith video.

[0078] S430, obtain the first time period required to load the preloaded video block at the first bit rate, and the second time period in which the video has been loaded in the video corresponding to the preloaded video block. In one embodiment, the bandwidth information can be directly obtained, or it can be predicted by deep learning or the like, which is not specifically limited in the embodiments of the present disclosure. In one embodiment, the first time period can be determined by the bandwidth information and the first bit rate. Exemplarily, the target size of loading the preloaded video block at the first bit rate is S(n), and then the ratio of S(n) to the bandwidth information is determined as the first time period. In one embodiment, the loading order of video blocks of different videos is not fixed. There may be loaded video blocks on the video corresponding to the preloaded video block. In one embodiment, the video can be divided by duration to obtain multiple video blocks. Then the loaded video blocks can be represented by duration.

[0079] S440, determining a third difference between the first time period and the second time period, and determining the product of the third difference and the second probability as the expected freeze time. In one embodiment, the expected freeze time is positively correlated with the first bit rate. It should be noted that the first time period is the time for loading the preloaded video block, and the second time period is the duration of loading on the video corresponding to the preloaded video block. In one embodiment, the formula for determining the expected freeze time can be:

[0080]

[0081] Among them, P i , j is the second probability, i is the i-th video, j is the j-th video, P L , 1+N (1) is the probability of switching from the 1st video block to the Mth video block in the Lth video, is the first probability, C is the Cth video block in the i-th video, CM is the C+Mth video block in the i-th video, T n The first time period for loading the preloaded video chunk, b j The second time period during which the video corresponding to the preloaded video block has been loaded.

[0082] S450, determining the difference between the expected quality and the expected freeze time as a first objective function. In one embodiment, the formula corresponding to the first objective function may be:

[0083] QoE1=Φ(r n )-Γ j (n) Formula (5)

[0084] Among them, QoE1 is the first objective function. n ) and Γ j The description of (n) can be referred to the above embodiment and will not be repeated here.

[0085] S460, adjusting the first bit rate so that the first objective function value corresponding to the first objective function reaches a maximum, and determining the adjusted first bit rate as the target bit rate. In one embodiment, adjusting the first bit rate may include substituting a plurality of different first bit rates into the first objective function. When substituting different first bit rates into the first function, a maximum first objective function value may be obtained.

[0086] S470, among the multiple video blocks included in the i-th video and the j-th video, determine the video block corresponding to the largest first objective function value as the preloaded video block. In one embodiment, the preloaded video block can be any video block in the multiple videos in the preloaded video queue. In one embodiment, the preloaded video queue can be predetermined. In one embodiment, the first objective function value corresponding to each video block in the multiple video blocks in the multiple videos in the preloaded video queue can be obtained, and then the first objective function values ​​corresponding to each video block are sorted according to size, and the video block corresponding to the largest first objective function value is determined as the preloaded video block.

[0087] In the disclosed embodiment, the expected quality of the preloaded video block played by the target account and the expected freeze time caused by the viewing behavior patterns of different users of the account for different videos when loading the preloaded video block are determined by the first probability, the second probability and the bandwidth information. Then, the bit rate of loading the preloaded video block and the preloaded video are determined according to the expected quality and the expected freeze time. While ensuring the expected quality of the preloaded video is high, the expected freeze time can be reduced, thereby improving the user experience quality.

[0088] Figure 5 The present invention is a flowchart of another video preloading implementation method according to an embodiment of the present invention.

[0089] It should be noted that, in this embodiment, the second objective function may include expected quality, expected quality difference, and expected freeze time.

[0090] Based on a second objective function including expected quality, expected quality difference, and expected freeze time, the steps of determining the preloaded video block according to the first probability, the second probability, and the bandwidth information, and the target bit rate of the preloaded video block are as follows:

[0091] S510, determining a bit rate for loading the preloaded video block as a second bit rate. In one embodiment, the expected quality, the expected freeze time, and the expected quality difference may be determined based on the second bit rate, the first probability, the second probability, and the bandwidth information.

[0092] S520: Determine the product of the second bit rate and the first probability as the expected quality.

[0093] S530: Obtain a third time period required for loading the preloaded video block at the second bit rate, and a fourth time period during which the video corresponding to the preloaded video block has been loaded.

[0094] S540, determining a fourth difference between the third time period and the fourth time period, and determining the product of the fourth difference and the second probability as the expected freeze time. In one embodiment, the method for determining the expected quality and the method for determining the expected freeze time may be the same as the method for determining the expected quality and the method for determining the expected freeze time in the above embodiment, which will not be repeated here.

[0095] S550, obtain the first video block played by the target account before playing the preloaded video block. In one embodiment, when the preloaded video block is the first video block in the video corresponding to the preloaded video block, the first video block may be the last video block of the video before the preloaded video block is the video corresponding to the preloaded video block. Exemplarily, the preloaded video block is the first video block of the z-th video, then the first video block is the last video block of the z-1-th video. In one embodiment, when the preloaded video block is not the first video block in the video corresponding to the preloaded video block, the first video block may be the previous video block of the preloaded video block. Exemplarily, the preloaded video block is the 5th video block on the z-th video, and the first video block may be the 4th video block on the z-th video.

[0096] S560, determine a third bit rate for loading the first video block. In one embodiment, the bit rate data for loading each video block may be stored, and then the third bit rate for the first video block may be obtained according to the stored data. In one embodiment, when the first video block has not been loaded, the expected quality difference may be set to 0.

[0097] S570, determining the product of the third bit rate and the first probability as the first expected quality. In one embodiment, the first expected quality may be the expected quality of the first video block played by the account. In one embodiment, the method for determining the first expected quality is similar to the method for determining the expected quality, which is not repeated here.

[0098] S580, determining the difference between the expected quality and the first expected quality as the expected quality difference. In one embodiment, the formula for determining the expected quality can be expressed as:

[0099]

[0100] Wherein, q(n) is the first bit rate for loading the preloaded video block, q(n-1) is the third bit rate for loading the first video block, is the first probability, n is the preloaded video block, n-1 is the first video block, C is the Cth video block in the ith video, CM is the C+Mth video block in the ith video, and k is a constant.

[0101] S590, determine a fifth difference between the expected quality and the expected freeze time, and determine the difference between the fifth difference and the expected quality as a second objective function. In one embodiment, the formula of the second objective function can be expressed as:

[0102] QoE2=Φ(r n )-Γ j (n)-Ψ n Formula (7)

[0103] Among them, QoE2 is the second objective function formula, Φ(r n ), Γ j (n) and n All of these have been explained in the above content and will not be repeated here.

[0104] S5100, adjusting the second bit rate so that a second objective function value corresponding to the second objective function reaches a maximum, and determining the adjusted second bit rate as the target bit rate.

[0105] S5110, among the multiple video blocks included in the i-th video and the j-th video, determine the video block corresponding to the largest second objective function value as the preloaded video block. In one embodiment, the method of adjusting the second bit rate to maximize the second objective function value and the method of determining the preloaded video block and the method of determining the preloaded video are similar to the above embodiment and are not described in detail here.

[0106] In the disclosed embodiment, the expected quality of the preloaded video block played by the account is determined by the first probability, the second probability and the bandwidth information, and the expected freeze time caused by the different viewing behavior patterns of users of different accounts for different videos when loading the preloaded video block, as well as the expected quality difference caused by the expected quality of watching different video blocks when watching the preloaded video block. Then, the bit rate for loading the preloaded video block and the preloaded video are determined based on the expected quality, the expected quality difference and the expected freeze time. While ensuring that the target account has a high expected quality for playing the preloaded video, it is possible to ensure the smoothness of switching when the target account plays different video blocks, reduce the expected freeze time, and improve the user experience quality.

[0107] Figure 6 The present invention is a flowchart of another method for implementing video preloading according to an embodiment of the present invention.

[0108] It should be noted that, in this embodiment, the second objective function may include expected quality, expected quality difference, expected freeze time and bandwidth consumption.

[0109] Based on a third objective function including expected quality, expected quality difference, expected freeze time, and bandwidth consumption, the steps of determining the preloaded video block according to the first probability, the second probability, and the bandwidth information, and the target bit rate of the preloaded video block are as follows:

[0110] S610: Determine the bit rate of loading the preloaded video block as a fourth bit rate. In one embodiment, the expected quality, expected quality difference, expected freeze time and bandwidth consumption can be determined according to the fourth bit rate, the first probability, the second probability and the bandwidth information.

[0111] S620: Determine the product of the third bit rate and the first probability as the expected quality.

[0112] S630: Obtain a fifth time period required for loading the preloaded video block at a fourth bit rate, and a sixth time period that has been loaded in the video corresponding to the preloaded video block.

[0113] S640: Determine a sixth difference between the fifth time period and the sixth time period, and determine the product of the sixth difference and the second probability as the expected freeze time.

[0114] S650: Obtain a second video block played by the target account before playing the preloaded video block.

[0115] S660: Determine a fifth bit rate for loading the second video block.

[0116] S670: Determine a product of the fifth bit rate and the first probability as the second expected quality.

[0117] S680, determine the difference between the expected quality and the second expected quality as the expected quality difference. In one embodiment, the method for determining the expected quality, the expected quality difference and the expected freeze time may be the same as the method for determining the expected quality and the expected freeze time in the above embodiment, which will not be repeated here.

[0118] S690, determining the bandwidth consumption of loading the preloaded video block at the fourth bit rate. In one embodiment, the bandwidth consumption is positively correlated with the fourth bit rate. In one embodiment, the formula for bandwidth consumption can be expressed as:

[0119] Cost n =kq(n) Formula (8)

[0120] Among them, Cost n is the bandwidth consumption for loading the preloaded video block, k is a constant, and q(n) is the bit rate for loading the preloaded video block.

[0121] S6100, determine a seventh difference between the expected quality and the expected freeze time, and an eighth difference between the seventh difference and the expected quality difference, and determine the eighth difference and the difference between the bandwidth consumption as a third objective function. In one embodiment, the third objective function can be identified as:

[0122] QoE3=Φ(r n )-Γ j (n)-Ψ n -Cost n Formula (9)

[0123] Among them, QoE3 is the third objective function, Φ(r n ), Γ j(n),Ψ n Cost n All of these have been explained in the above content and will not be repeated here.

[0124] S6110: Adjust the fourth bit rate so that the third objective function value corresponding to the third objective function reaches a maximum, and determine the adjusted fourth bit rate as the target bit rate.

[0125] S6120: Determine, among the multiple video blocks included in the i-th video and the j-th video, a video block having a maximum corresponding third objective function value as a preloaded video block.

[0126] In the disclosed embodiment, the expected quality of the preloaded video block played by the account and the expected freeze time caused by different viewing behavior patterns of different videos by users of different accounts when loading the preloaded video block are determined by the first probability, the second probability and the bandwidth information, as well as the expected quality difference caused by the expected quality of different video blocks when watching the preloaded video block, and the bandwidth consumption. Then, the bit rate of the preloaded video block is determined based on the expected quality, the expected quality difference, the expected freeze time and the bandwidth consumption. It is possible to reduce bandwidth consumption while improving the user's quality of experience.

[0127] Figure 7 is a block diagram of a video preloading implementation device according to an exemplary embodiment. Figure 7 , the video preloading implementation device includes: a first determination module 710, configured to determine a first probability that the target account plays the C+Mth video block of the ith video, wherein the ith video is the video currently played by the target account, and the Cth video block is the video block currently played by the target account; a second determination module 720, configured to determine a second probability that the target account switches from the ith video to the jth video; a third determination module 730, configured to determine the preloaded video block according to the first probability, the second probability and bandwidth information, and a target bit rate for loading the preloaded video block, wherein the preloaded video block is obtained by segmenting the ith video or the jth video; wherein i, j and M are natural numbers.

[0128] In one embodiment, the first determination module 710 includes: a first determination unit, configured to determine the Cth probability that the target account plays the Cth video block of the ith video based on the historical playback data of multiple accounts; a second determination unit, configured to determine the C+kth probability that the target account plays the C+kth video block of the ith video based on the historical playback data of multiple accounts; a third determination unit, configured to determine the ratio of the Cth probability to the C+kth probability as the kth probability value of the first probability that the target account watches the Cth video block to the C+kth video block, where k=1 to M.

[0129] In one embodiment, the second determination module 720 includes: a fourth determination unit, configured to determine the L videos switched when the target account switches from the ith video to the jth video; a fifth determination unit, configured to determine the third probability that the account watches from the 1st video block of L videos to the 1+Mth video blocks based on the historical playback data of multiple target accounts; a sixth determination unit, configured to determine a first difference between 1 and the first probability and a second difference between 1 and the third probability; a seventh determination unit, configured to determine the product of the first difference and the second difference as the second probability that the target account switches from the ith video to the jth video; wherein L is a positive integer.

[0130] In one embodiment, the third determination module 730 includes: an eighth determination unit, configured to determine the preloaded video blocks and the target bit rate for loading the preloaded video blocks based on the first objective function including the expected quality and the expected freeze time according to the first probability, the second probability and the bandwidth information.

[0131] In one embodiment, the eighth determination unit is configured as follows: a first determination subunit is configured to determine the bit rate of loading the preloaded video block as the first bit rate; a second determination subunit is configured to determine the product of the first bit rate and the first probability as the expected quality; a first acquisition subunit is configured to acquire a first time period required for loading the preloaded video block at the first bit rate, and a second time period in which the video has been loaded in the video corresponding to the preloaded video block; a third determination subunit is configured to determine a third difference between the first time period and the second time period, and determine the product of the third difference and the second probability as the expected freeze time; a fourth determination subunit is configured to determine the difference between the expected quality and the expected freeze time as the first objective function; a first adjustment subunit is configured to adjust the first bit rate so that the first objective function value corresponding to the first objective function reaches the maximum, and determine the adjusted first bit rate as the target bit rate; a fifth determination subunit is configured to determine, among the multiple video blocks included in the i-th video and the j-th video, the video block corresponding to the largest first objective function value as the preloaded video block.

[0132] In one embodiment, the third determination module 730 includes: a ninth determination unit, which is configured to determine the preloaded video blocks and the target bit rate for loading the preloaded video blocks based on the second objective function including expected quality, expected quality difference and expected freeze time according to the first probability, the second probability and the bandwidth information.

[0133] In one embodiment, the ninth determination unit includes: a sixth determination subunit, configured to determine the bit rate of loading the preloaded video block as the second bit rate; a seventh determination subunit, configured to determine the expected quality, the expected freeze time and the expected quality difference based on the second bit rate, the first probability, the second probability and the bandwidth information, respectively; an eighth determination subunit, configured to determine the fifth difference between the expected quality and the expected freeze time, and determine the difference between the fifth difference and the expected quality as the second objective function; a ninth determination subunit, configured to adjust the second bit rate so that the second objective function value corresponding to the second objective function reaches the maximum, and determine the adjusted second bit rate as the target bit rate; a tenth determination subunit, configured to determine, among the multiple video blocks included in the i-th video and the j-th video, the video block corresponding to the largest second objective function value as the preloaded video block.

[0134] In one embodiment, the seventh determination subunit includes: a first determination element, configured to determine the product of the second bit rate and the first probability as the expected quality; a first acquisition element, configured to obtain a third time period required to load the preloaded video block at the second bit rate, and a fourth time period in which the video has been loaded in the video corresponding to the preloaded video block; a second determination element, configured to determine a fourth difference between the third time period and the fourth time period, and determine the product of the fourth difference and the second probability as the expected freeze time; a second acquisition element, configured to obtain the first video block played by the target account before playing the preloaded video block; a third determination element, configured to determine a third bit rate for loading the first video block; a fourth determination element, configured to determine the product of the third bit rate and the first probability as the first expected quality; and a fifth determination element, configured to determine the difference between the expected quality and the first expected quality as the expected quality difference.

[0135] In one embodiment, the fourth determination module includes: a tenth determination unit, which is configured to determine the preloaded video blocks and the target bit rate for loading the preloaded video blocks based on the third objective function including expected quality, expected quality difference, expected freeze time and bandwidth consumption according to the first probability, the second probability and the bandwidth information.

[0136] In one embodiment, the tenth determination unit includes: an eleventh determination subunit, configured to determine the bit rate of loading the preloaded video block as the fourth bit rate; a twelfth determination subunit, configured to determine the expected quality, the expected quality difference, the expected freeze time and the bandwidth consumption according to the fourth bit rate, the first probability, the second probability and the bandwidth information respectively; a thirteenth determination subunit, configured to determine the seventh difference between the expected quality and the expected freeze time, and the eighth difference between the seventh difference and the expected quality difference, and determine the difference between the eighth difference and the bandwidth consumption as the third objective function; a fourteenth determination subunit, configured to adjust the fourth bit rate so that the third objective function value corresponding to the third objective function reaches the maximum, and determine the adjusted fourth bit rate as the target bit rate; a fifteenth determination subunit, configured to determine, among the multiple video blocks included in the i-th video and the j-th video, the video block corresponding to the largest third objective function value as the preloaded video block.

[0137] In one embodiment, the twelfth determination subunit includes: a sixth determination element, configured to determine the product of the fourth bit rate and the first probability as the expected quality; a third acquisition element, configured to obtain the fifth time period required to load the preloaded video block at the fourth bit rate, and the sixth time period that has been loaded in the video corresponding to the preloaded video block; a seventh determination element, configured to determine the sixth difference between the fifth time period and the sixth time period, and determine the product of the sixth difference and the second probability as the expected freeze time; a fourth acquisition element, which obtains the second video block played by the target account before playing the preloaded video block; an eighth determination element, configured to determine the fifth bit rate for loading the second video block; a ninth determination element, configured to determine the product of the fifth bit rate and the first probability as the second expected quality; a tenth determination element, configured to determine the difference between the expected quality and the second expected quality as the expected quality difference; and an eleventh determination element, which determines the bandwidth consumption of loading the preloaded video block at the fourth bit rate.

[0138] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0139] The exemplary embodiment of the present disclosure further provides an electronic device, which may be a server or a terminal device. Figure 8 The electronic device is described, and it should be understood that Figure 8 The electronic device 800 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0140] like Figure 8As shown, the electronic device 800 is in the form of a general computing device. The components of the electronic device 800 may include but are not limited to: at least one processing unit 810, at least one storage unit 820, and a bus 830 connecting different system components (including the storage unit 820 and the processing unit 810).

[0141] The storage unit stores program codes, which can be executed by the processing unit 810, so that the processing unit 810 performs the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processing unit 810 can perform the following steps: Figure 1 The method steps shown, etc.

[0142] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 8201 and / or a cache memory unit 8202 , and may further include a read-only memory unit (ROM) 8203 .

[0143] The storage unit 820 may also include a program / utility 8204 having a set (at least one) of program modules 8205, such program modules 8205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0144] Bus 830 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0145] The electronic device 800 may also communicate with one or more external devices 840 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 800, and / or communicate with any device that enables the electronic device 800 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 850. Furthermore, the electronic device 800 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 860. As shown, the network adapter 860 communicates with other modules of the electronic device 800 via a bus 830. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 800, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.

[0146] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0147] It is easy for those skilled in the art to understand that the example implementation described here can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiment of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiment of the present disclosure.

[0148] In addition, the present disclosure also provides a computer-readable storage medium. When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device can execute the video preloading implementation method provided in the above embodiment.

[0149] In addition, the present disclosure also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the video preloading implementation method provided in the above embodiment is implemented.

[0150] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the appended claims.

[0151] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A video preloading implementation method, characterized in that: include: Determine a first probability that the target account plays the C+Mth video block of the ith video, wherein the ith video is the video currently played by the target account, and the Cth video block is the video block currently played by the target account; Determine a second probability that the target account switches from the i-th video to the j-th video, where the j-th video is any video other than the i-th video; Determine a preloaded video block and a target bit rate for loading the preloaded video block according to the first probability, the second probability and bandwidth information, wherein the preloaded video block is obtained by segmenting the i-th video or the j-th video; Among them, i, j and M are natural numbers.

2. The video preloading implementation method according to claim 1, characterized in that: The first probability of determining that the target account plays the C+Mth video block of the i-th video includes: Determine, based on historical playback data of multiple accounts, a Cth probability that the target account plays the Cth video chunk of the i-th video; Determine, based on historical playback data of multiple accounts, a C+kth probability that the target account plays the C+kth video chunk of the i-th video; The ratio of the Cth probability to the C+kth probability is determined as the kth probability value of the first probability that the target account plays the Cth video block to the C+kth video block, where k=1 to M.

3. The video preloading implementation method according to claim 1, characterized in that: The determining the second probability that the target account switches from the i-th video to the j-th video includes: Determine L videos that are switched when the target account switches from the i-th video to the j-th video; Determine, based on the historical playback data of the multiple accounts, a third probability that the target account plays from the 1st video block to the 1+Mth video blocks of the L videos; determining a first difference between 1 and the first probability and a second difference between 1 and the third probability; Determine a product of the first difference and the second difference as a second probability that the target account switches from the i-th video to the j-th video; Wherein L is a positive integer.

4. The video preloading implementation method according to claim 1, characterized in that: The determining of the preloaded video block according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video block comprises: Based on a first objective function including expected quality and expected freeze time, a preloaded video block and a target bit rate for loading the preloaded video block are determined according to the first probability, the second probability and bandwidth information; the expected quality and the expected freeze time are both positively correlated with a first bit rate; the first bit rate is a bit rate for loading the preloaded video block.

5. The video preloading implementation method according to claim 4, characterized in that: The determining of the preloaded video block based on the first objective function including the expected quality and the expected freeze time according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video block include: Determine a product of the first bit rate and the first probability as expected quality; Acquire a first time period required for loading the preloaded video block at the first bit rate, and a second time period during which the video has been loaded in the video corresponding to the preloaded video block; Determine a third difference between the first time period and the second time period, and determine the product of the third difference and the second probability as the expected freeze time; Determine the difference between the expected quality and the expected freeze time as the first objective function; adjusting the first bit rate so that a first objective function value corresponding to the first objective function reaches a maximum, and determining the adjusted first bit rate as a target bit rate; Among the multiple video blocks included in the i-th video and the j-th video, a video block corresponding to the largest first objective function value is determined as the preloaded video block.

6. The video preloading implementation method according to claim 4, characterized in that: Determining the preloaded video block according to the first probability, the second probability, and the bandwidth information, and the target bit rate for loading the preloaded video block includes: Based on a second objective function including expected quality, expected quality difference and expected freeze time, a preloaded video block and a target bit rate for loading the preloaded video block are determined according to the first probability, the second probability and bandwidth information; the expected quality and the expected freeze time are both positively correlated with a first bit rate; the first bit rate is a bit rate for loading the preloaded video block.

7. The video preloading implementation method according to claim 6, characterized in that: The determining of the preloaded video block based on the second objective function including the expected quality, the expected quality difference, and the expected freeze time according to the first probability, the second probability, and the bandwidth information, and the target bit rate for loading the preloaded video block includes: Determine a bit rate for loading the preloaded video block as a second bit rate; Determine expected quality, expected freeze time, and expected quality difference based on the second bit rate, the first probability, the second probability, and bandwidth information; Determine a fifth difference between the expected quality and the expected freeze time, and determine the difference between the fifth difference and the expected quality as the second objective function; adjusting the second bit rate so that a second objective function value corresponding to the second objective function reaches a maximum, and determining the adjusted second bit rate as a target bit rate; Among the multiple video blocks included in the i-th video and the j-th video, a video block corresponding to the largest second objective function value is determined as the preloaded video block.

8. The video preloading implementation method according to claim 7, characterized in that: The determining the expected quality, the expected freeze time, and the expected quality difference based on the second bit rate, the first probability, the second probability, and the bandwidth information respectively includes: Determine a product of the second bit rate and the first probability as expected quality; Acquire a third time period required to load the preloaded video block at the second bit rate, and a fourth time period during which the video corresponding to the preloaded video block has been loaded; Determine a fourth difference between the third time period and the fourth time period, and determine the product of the fourth difference and the second probability as the expected freeze time; Obtaining a first video chunk played by the target account before playing the preloaded video chunk; Determining a third bit rate for loading the first video block; Determine a product of the third code rate and the first probability as a first expected quality; A difference between the expected mass and the first expected mass is determined as an expected mass difference.

9. The video preloading implementation method according to claim 1, characterized in that: The determining of the preloaded video block according to the first probability, the second probability and the bandwidth information, and the target bit rate for loading the preloaded video block comprises: Based on a third objective function including expected quality, expected quality difference, expected freeze time and bandwidth consumption, a preloaded video block and a target bit rate for loading the preloaded video block are determined according to the first probability, the second probability and the bandwidth information; the expected quality and the expected freeze time are both positively correlated with the first bit rate; the first bit rate is the bit rate for loading the preloaded video block.

10. The video preloading implementation method according to claim 9, characterized in that: The determining of the preloaded video block based on the third objective function including expected quality, expected quality difference, expected freeze time and bandwidth consumption according to the first probability, the second probability and bandwidth information, and the target bit rate for loading the preloaded video block include: Determine a bit rate for loading the preloaded video block as a fourth bit rate; Determine expected quality, expected quality difference, expected freeze time, and bandwidth consumption respectively according to the fourth bit rate, the first probability, the second probability, and the bandwidth information; Determine a seventh difference between the expected quality and the expected freeze time, and an eighth difference between the seventh difference and the expected quality difference, and determine a difference between the eighth difference and bandwidth consumption as the third objective function; adjusting the fourth bit rate so that a third objective function value corresponding to the third objective function reaches a maximum, and determining the adjusted fourth bit rate as a target bit rate; Among the multiple video blocks included in the i-th video and the j-th video, a video block corresponding to the largest third objective function value is determined as the preloaded video block.

11. The video preloading implementation method according to claim 10, characterized in that: The determining the expected quality, the expected quality difference, the expected freeze time, and the bandwidth consumption respectively according to the fourth bit rate, the first probability, the second probability, and the bandwidth information includes: Determine a product of the fourth bit rate and the first probability as expected quality; Acquire a fifth time period required to load the preloaded video block at the fourth bit rate, and a sixth time period that has been loaded in the video corresponding to the preloaded video block; Determine a sixth difference between the fifth time period and the sixth time period, and determine the product of the sixth difference and the second probability as the expected freeze time; Obtaining a second video chunk played by the target account before playing the preloaded video chunk; Determining a fifth bit rate for loading the second video block; Determine a product of the fifth code rate and the first probability as a second expected quality; determining a difference between the expected mass and the second expected mass as an expected mass difference; A bandwidth consumption of loading the preloaded video blocks at the fourth bit rate is determined.

12. A video preloading implementation device, characterized in that: include: A first determination module is configured to determine a first probability that the target account plays the C+Mth video block of the ith video, wherein the ith video is the video currently played by the target account, and the Cth video block is the video block currently played by the target account; A second determination module is configured to determine a second probability that the target account switches from the i-th video to the j-th video; a third determining module, configured to determine a preloaded video block and a target bit rate for loading the preloaded video block according to the first probability, the second probability and bandwidth information, wherein the preloaded video block is obtained by segmenting the i-th video or the j-th video; Among them, i, j and M are natural numbers.

13. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the video preloading implementation method as described in any one of claims 1 to 11.

14. A computer-readable storage medium, when instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the video preloading implementation method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Network television channel quick switching method and system based on preloading

    CN104768033A

  • Video multi-code-rate switching processing method and device, electronic equipment and storage medium

    CN110430453A