Short video code rate adaptive method and device, computer equipment and storage medium

By acquiring and utilizing network state information from the predicted historical queue in the short video bitrate adaptive method, the problem of inaccurate start-up caused by ignoring the network state of the previous episode in the existing technology is solved, achieving more accurate bitrate adaptation and stable video playback.

CN122069407APending Publication Date: 2026-05-19BEIJING QIYI CENTURY SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING QIYI CENTURY SCI & TECH CO LTD
Filing Date
2026-01-23
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing short video bitrate adaptive methods ignore the network state detected in the previous episode, resulting in insufficient accuracy during the initial playback stage.

Method used

When the bitrate decision condition is triggered, the current application bitrate is obtained and the current suggested bitrate is predicted in combination with the current network status. This bitrate is then added to the prediction history queue. If the current application bitrate is inconsistent with the suggested bitrate, the target bitrate is determined based on the history queue and the current application bitrate.

Benefits of technology

It enables precise start-up playback based on the network status of the previous episode when switching episodes, ensuring the accuracy of bitrate during the start-up phase, improving the smoothness and stability of video playback, and reducing bitrate fluctuations and waste of device resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122069407A_ABST
    Figure CN122069407A_ABST
Patent Text Reader

Abstract

The invention relates to a short video code rate self-adaption method and device, computer equipment and a storage medium. The method comprises the following steps: when an episode is triggered to be switched, acquiring a current application code rate applied to a previous episode, and predicting a current suggested code rate in combination with the current application code rate and a current network state, and because the suggested code rate predicted in the network state of the previous episode is stored in a prediction history queue, if the current suggested code rate is not consistent with the current application code rate, rapidly determining a target code rate adaptive to the current network in combination with a predicted historical queue dynamically generated by indicating the network characteristics of the previous episode and the current application code rate when the current suggested code rate is not consistent with the current application code rate, and taking the target code rate as the playing start code rate of the current episode after the episode is switched. Accurate play starting is carried out on the current episode in combination with the network state of the previous episode, and the accuracy of the play starting code rate in the play starting stage is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of short video bitrate adaptation, and more particularly to a short video bitrate adaptation method, apparatus, computer device, and storage medium. Background Technology

[0002] With the promotion of short dramas and short videos, more and more users are accepting and enjoying watching them. Since the playback time of a single episode of a short drama or short video is usually less than two minutes, users often watch multiple episodes consecutively. For bitrate adaptation scenarios in micro-dramas or short video series playback scenarios, current methods use models to predict suitable bitrates based on network states to achieve bitrate adaptation. However, this bitrate adaptation process treats each episode as an independent entity, and the model needs to reconverge at the beginning of each episode, ignoring the network states already detected in the previous episode, resulting in insufficient accuracy in the initial playback stage. Summary of the Invention

[0003] This application provides a short video bitrate adaptive method, apparatus, computer device, and storage medium to solve the problem that existing short video bitrate adaptive methods ignore the network state detected in the previous episode, resulting in insufficient accuracy in the start-up stage.

[0004] Firstly, this application provides a short video bitrate adaptive method, the method comprising: When the bitrate decision condition is triggered, the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate are obtained, wherein the bitrate decision condition includes episode switching; The current suggested bitrate is added to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments; When the current application bitrate is inconsistent with the current suggested bitrate, a target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate. The target bitrate is used as the current application bitrate for adaptive application.

[0005] Secondly, this application provides a short video bitrate adaptive device, the device comprising: The acquisition module is used to acquire the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate when the bitrate decision condition is triggered, wherein the bitrate decision condition includes episode switching; A storage module is used to add the current suggested bitrate to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments; An analysis module is used to determine a target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate when the current application bitrate is inconsistent with the current suggested bitrate. The application module is used to adaptively apply the target bitrate as the current application bitrate.

[0006] Thirdly, this application provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described short video bitrate adaptive method.

[0007] Fourthly, this application also provides a computer storage medium storing computer-executable instructions for executing the above-described short video bitrate adaptive method.

[0008] Compared with the prior art, the technical solution provided in this application has the following advantages: The method provided in this application, when triggering a bitrate decision condition, obtains the current application bitrate and the currently suggested bitrate predicted based on the current network state under the current application bitrate, wherein the bitrate decision condition includes episode switching; adds the current suggested bitrate to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network states at different historical moments; when the current application bitrate is inconsistent with the current suggested bitrate, determines a target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate; and adaptively applies the target bitrate as the current application bitrate.

[0009] Based on the above method, when a series switching is triggered, the current application bitrate applied to the previous series is obtained, and the current application bitrate and the current network status are combined to predict the current suggested bitrate. Since the prediction history queue stores the suggested bitrate predicted under the network status of the previous series, when the current suggested bitrate is inconsistent with the current application bitrate, the prediction history queue dynamically generated according to the network characteristics of the previous series and the current application bitrate are combined to quickly determine the target bitrate adapted to the current network. The target bitrate is used as the starting bitrate of the current series after the series switching, so as to achieve accurate starting of the current series in combination with the network status of the previous series, and ensure the accuracy of the starting bitrate during the starting stage. Attached Figure Description

[0010] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.

[0013] Figure 1 A flowchart illustrating a short video bitrate adaptive method provided in an embodiment of this application; Figure 2 A flowchart illustrating a short video bitrate adaptive method provided in an embodiment of this application; Figure 3 A structural block diagram of a short video bitrate adaptive device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the internal structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0014] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0015] The following disclosure provides numerous different embodiments or examples for implementing various structures of the invention. To simplify the disclosure, specific examples of components and arrangements are described below. These are merely examples and are not intended to limit the scope of the invention. Furthermore, reference numerals and / or letters may be repeated in different examples. Such repetition is for simplification and clarity and does not in itself indicate a relationship between the various embodiments and / or arrangements discussed.

[0016] In one embodiment, the short video bitrate adaptation method is applied to a short video bitrate adaptation device, which can be applied to computer devices such as servers or terminals. The terminal can specifically be a desktop terminal or a mobile terminal; a mobile terminal can specifically be at least one of a mobile phone, tablet computer, or laptop computer. The server can be a standalone server or a server cluster consisting of multiple servers.

[0017] In one embodiment, Figure 2 This is a flowchart illustrating a short video bitrate adaptive method in one embodiment, referencing... Figure 2 This paper provides a method for adaptive bitrate control in short videos. This embodiment primarily illustrates the application of this method to a short video bitrate adaptive device, and the method specifically includes the following steps: Step S210: When the bitrate decision condition is triggered, obtain the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate, wherein the bitrate decision condition includes episode switching.

[0018] Specifically, the bitrate decision-making conditions, besides episode switching, also include reaching the trigger time and the download time of each segment. The trigger time can be measured in seconds or minutes. The current application bitrate refers to the bitrate used when the previous episode ended. Whether the current application bitrate should be carried over to the current episode after the episode switch is determined by using a deep learning model to predict the current suggested bitrate under the current network conditions. The current suggested bitrate is matched with the current network conditions, which specifically include network bandwidth, latency, packet loss rate, and the local player's cache status. The suggested bitrate is determined based on these factors.

[0019] Step S220: Add the current suggested bitrate to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments.

[0020] Specifically, the generated current suggested bitrate is saved to the prediction history queue corresponding to the current applied bitrate. This prediction history queue stores suggested bitrates predicted at different times under the current applied bitrate. Different current applied bitrates correspond to different prediction history queues. Since the current applied bitrate refers to the bitrate used at the end of the previous episode, the prediction history queue contains suggested bitrates indicating changes in network state during the playback of the previous episode. In other words, the prediction history queue contains the latest and continuous suggested bitrates corresponding to the network state, rather than outdated data from when the previous episode started playing.

[0021] Step S230: When the current application bitrate is inconsistent with the current suggested bitrate, a target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate.

[0022] Specifically, when the current application bitrate is inconsistent with the current suggested bitrate, it means that the current application bitrate used at the end of the previous episode cannot be used during the start of the current episode and needs to be updated and switched. Then, by combining the predicted historical queue dynamically generated by the network features of the previous episode and the current application bitrate, the target bitrate that is suitable for the current network is quickly determined.

[0023] If the current application bitrate is consistent with the current recommended bitrate, it means that the current application bitrate used at the end of the previous episode will be used for the start of the current episode. In this case, the current application bitrate will continue to be used as the start bitrate for the start of the current episode.

[0024] Step S240: The target bitrate is used as the current application bitrate for adaptive application.

[0025] Specifically, the target bitrate is used as the starting bitrate of the current episode after the episode is switched, so as to accurately start the current episode by combining the network status of the previous episode, and ensure the accuracy of the starting bitrate during the start-up phase.

[0026] In one embodiment, when the current application bitrate is inconsistent with the current suggested bitrate, determining the target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate includes: When the current application bitrate is inconsistent with the current suggested bitrate, obtain the number of bitrate switching times corresponding to the current episode. When the number of bitrate switching attempts is zero, the target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate.

[0027] Specifically, when the current application bitrate and the current suggested bitrate are inconsistent, it is also necessary to determine the number of bitrate switching times within the current episode. If the number of bitrate switching times is zero, it means that the current episode has not yet switched bitrates, allowing bitrate switching. Then, the final target bitrate is determined based on multiple suggested bitrates in the predicted historical queue and the current application bitrate. Determining the target bitrate in this way allows for more accurate adaptation to the current network conditions. When the network condition is good, the target bitrate can be set to a higher level, significantly improving the clarity and image quality of the video, allowing users to enjoy rich details and realistic colors, greatly enhancing the visual experience. Conversely, when the network condition is poor, timely reduction of the target bitrate can effectively avoid video stuttering and buffering issues, ensuring smooth video playback, allowing users to watch video content uninterruptedly, reducing waiting time, and improving viewing comfort. At the same time, by utilizing the latest and continuous network status information, bitrate switching is more intelligent and timely, reducing unnecessary bitrate fluctuations, making the video playback process more stable, and further optimizing the user's viewing experience.

[0028] In one embodiment, refer to Figure 2 When the current application bitrate is inconsistent with the current suggested bitrate, after obtaining the number of bitrate switching times corresponding to the current episode, the method further includes: If the number of bitrate switching attempts is not zero, refuse to switch bitrates and maintain the current application bitrate.

[0029] Specifically, if the number of bitrate switching counts is not zero, it means that a bitrate switching has already occurred in the current episode. In this case, the bitrate locking mechanism is triggered to reject the current bitrate switching and maintain the current application bitrate to play the current episode. This avoids frequent bitrate switching within a single episode of a short video, which could affect the playback picture. This bitrate locking mechanism can significantly improve the stability of playback.

[0030] By avoiding frequent bitrate switching, the picture quality avoids issues like stuttering, blurring, or flickering caused by sudden changes in bitrate, providing users with a smoother and clearer viewing experience. At the same time, a stable bitrate helps reduce the decoding load on the device, minimizing the additional computational overhead caused by frequent adjustments to decoding parameters, improving the utilization efficiency of device resources, and making playback more energy-efficient. Furthermore, this mechanism reduces network bandwidth fluctuations, avoiding instantaneous changes in bandwidth demand caused by bitrate switching, thereby reducing the risk of network congestion and further ensuring smooth playback, especially in unstable network environments where its advantages are more pronounced.

[0031] In one embodiment, refer to Figure 2 The step of determining the target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate when the number of bitrate switching counts is zero includes: When the number of bitrate switching times is zero, the weight coefficients of the current network type under different sampling windows are obtained, wherein the number of samples for the suggested bitrate is different for different sampling windows; According to different sampling windows, multiple suggested bitrates of different quantities are taken from the prediction history queue and the average is calculated to obtain the average window bitrate corresponding to each sampling window; According to the weight coefficients of the current network type under different sampling windows, the average window bitrate of each sampling window is weighted and summed to obtain the weighted bitrate; The target bitrate is determined based on the weighted bitrate and the current application bitrate.

[0032] Specifically, the suggested bitrates in the prediction history queue are arranged sequentially according to their generation timestamps, with later suggested bitrates having a later generation timestamp and being closer to the current time. The sampling window is used to retrieve a corresponding number of suggested bitrates from the prediction history queue. The current network type refers to the network communication type of the current computer device, such as a Wi-Fi wireless network or a cellular network.

[0033] When allowing this bitrate switch, the weighting coefficients of the current network type under different sampling windows are obtained. Different sampling windows have different lengths, corresponding to different sampling quantities. Different sampling windows correspond to different weighting coefficients for the same network type. For example, in a Wi-Fi wireless network environment, the length of the first sampling window is shorter than the length of the second sampling window, and the weighting coefficient corresponding to the first sampling window is... The weighting coefficient corresponding to the second sampling window is In WiFi environments, sudden interference is frequent, so stability is paramount; therefore, a low configuration is recommended. ,high ,like =0.4, =0.6, used to filter transient jitter. In cellular network environments, changes in cellular networks often accompany changes in geographical location, such as entering or leaving an elevator, requiring a rapid response; therefore, a high configuration is used. ,Low ,like =0.8, =0.2, ensuring the system can instantly degrade to avoid lag. This embodiment uses two sampling windows as an example; in practical applications, the number and length of the sampling windows can be customized.

[0034] In terms of stability, for environments with frequent sudden interference, such as Wi-Fi wireless networks, a low alpha and high β weighting configuration prioritizes the average suggested bitrate over a longer sampling window. This allows the system to filter out the impact of momentary network jitter on bitrate decisions, avoiding frequent bitrate switching due to brief interference, thus providing users with a stable and smooth video or data transmission experience. For example, in a home Wi-Fi environment, when other devices temporarily consume a large amount of bandwidth, causing momentary network fluctuations, the high-weighted long sampling window smooths out this short-term interference, preventing noticeable stuttering or sudden changes in image quality during video playback.

[0035] In terms of response speed, for situations where changes in cellular networks often accompany changes in geographical location, a high alpha and low beta configuration allows the system to respond quickly to network changes. When a user enters or leaves an area with unstable signal, such as an elevator, the system can react rapidly based on the latest suggested bitrate within a short sampling window, promptly reducing the bitrate to avoid buffering. For example, when a user rides an elevator from an underground parking garage to the ground floor, the cellular network signal changes from weak to strong; the system can quickly increase the bitrate based on the suggested bitrate within a short period, allowing the user to enjoy high-quality video or data services as soon as possible.

[0036] For sampling windows of different lengths, multiple suggested bitrates are retrieved from the prediction history queue in ascending order. The average of the suggested bitrates retrieved from the same sampling window is calculated to obtain the average window bitrate for that sampling window. The average window bitrates are then summed in weight according to the weight coefficients corresponding to each sampling window to obtain the weighted bitrate.

[0037] For example, the first sampling window has a length of 2, used to capture the latest network change trends, and the second sampling window has a length of 10, used to reflect the average carrying capacity of the network state. The mean bitrate of the first sampling window is V_short = Avg(Last_2_Items(Q)), which is the average of the two most recent (last) suggested bitrates in the prediction history queue Q. The mean bitrate of the second sampling window is V_long = Avg(Last_10_Items(Q)), which is the average of the ten most recent (last) suggested bitrates in the prediction history queue Q. The weighted bitrate is V_target = V_short × α + V_long × β. Finally, the weighted bitrate and the current application bitrate are combined to determine the final target bitrate.

[0038] Determining the final target bitrate by combining the weighted bitrate and the current application bitrate also takes into full account the actual playback situation. If the current application bitrate is already close to the weighted bitrate, a smaller bitrate adjustment can be chosen to minimize the impact on the playback experience. If the difference between the two is significant, a larger bitrate switch can be made based on the actual situation to adapt to network changes. This flexible bitrate adjustment strategy can maximize the user experience and improve the system's adaptability and reliability in various complex network environments.

[0039] In one embodiment, determining the target bitrate based on the weighted bitrate and the current application bitrate includes: Based on the difference between the weighted bitrate and multiple available bitrates, the available bitrate with the smallest difference is selected as the candidate bitrate. The target bitrate is determined based on the matching result between the candidate bitrate and the current application bitrate.

[0040] Specifically, the difference between the weighted bitrate and multiple available bitrates is calculated, and the available bitrate with the smallest difference is selected as the candidate bitrate. This candidate bitrate is then matched with the current application bitrate, and the target bitrate is determined based on the matching result. This method accurately selects the candidate bitrate that best matches the weighted bitrate from multiple available bitrates, effectively reducing bitrate selection errors. In subsequent matching with the current application bitrate, the determination of the target bitrate can be further optimized based on actual usage. When the match between the candidate bitrate and the current application bitrate is high, the target bitrate can be quickly and stably determined, resulting in minimal bitrate fluctuations during video or data transmission, reducing stuttering and buffering, and improving the smoothness of video viewing or data usage for users. Conversely, when the match is low, adjustments can be made flexibly based on the difference between the two, ensuring that the target bitrate meets content quality requirements while adapting to the network environment and device performance, achieving efficient resource utilization, reducing bandwidth waste, and improving overall transmission efficiency and service quality.

[0041] In one embodiment, selecting the available code rate with the smallest difference between the weighted code rate and multiple available code rates as a candidate code rate includes: Based on the difference between the weighted bitrate and multiple available bitrates, the available bitrate with the smallest difference is selected as the candidate bitrate. When there are multiple candidate bitrates, the candidate bitrates whose values ​​are less than the weighted bitrate are selected as candidate bitrates.

[0042] Specifically, among several candidate bitrates closest to the weighted bitrate, the one with a value lower than the weighted bitrate is selected as the candidate bitrate. This selection method effectively ensures the smoothness of short video playback. When a candidate bitrate lower than the weighted bitrate is selected, the amount of video data transmitted is relatively stable and controllable, reducing data buffering and stuttering caused by excessively high bitrates, allowing users to enjoy a smooth and uninterrupted playback experience. At the same time, due to reasonable bitrate adaptation, although the picture quality may not be the highest, it can be maintained at an acceptable level while ensuring smoothness, avoiding problems such as picture distortion or loss of detail caused by high bitrates.

[0043] The bitrate selection strategy can be dynamically adjusted based on the complexity of the video content. For video clips with simple visual changes and uniform colors, a candidate bitrate higher than the weighted bitrate can be selected to ensure image clarity. Conversely, for video clips with complex visuals, numerous details, and dynamic elements, a candidate bitrate lower than the weighted bitrate can be selected to ensure smooth playback. Furthermore, this bitrate selection strategy can be combined with network condition monitoring technology. When network conditions are good, the range of candidate bitrates can be broadened, selecting a candidate bitrate higher than the weighted bitrate to improve video playback quality. When network conditions are poor, a candidate bitrate lower than the weighted bitrate can be selected to ensure smooth video playback. Machine learning algorithms can also be used to analyze user viewing habits and preferences, and the candidate bitrate selection can be personalized according to the needs of different users, providing a better viewing experience.

[0044] In one embodiment, refer to Figure 2 The step of determining the target bitrate based on the matching result between the candidate bitrate and the current application bitrate includes: When the candidate bitrate matches the current application bitrate, the current application bitrate is taken as the target bitrate. When the candidate bitrate is inconsistent with the current application bitrate, the candidate bitrate is used as the target bitrate, and the number of bitrate switching times is updated cumulatively.

[0045] Specifically, when the candidate bitrate is consistent with the current application bitrate, it means that the weighted mean smooths out the aggressive suggestions of the model's instantaneous prediction. In this case, bitrate switching is not performed, nor is the count of bitrate switching times increased, and the current episode's one bitrate switching opportunity is retained.

[0046] When the candidate bitrate is inconsistent with the current application bitrate, the candidate bitrate is used as the target bitrate to perform a bitrate switching operation, and the number of bitrate switching is cumulatively updated. At the same time, the bitrate locking mechanism for the current episode is activated to maintain short-term bitrate stability, forcibly suppress all subsequent bitrate switching operations, and prevent repeated screen jumps caused by model oversensitivity.

[0047] Figure 1 and Figure 2 This is a flowchart illustrating a short video bitrate adaptive method in one embodiment. It should be understood that, although... Figure 1 and Figure 2 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 and Figure 2 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0048] In one embodiment, such as Figure 3 As shown, a short video bitrate adaptive device is provided, comprising: The acquisition module 310 is used to acquire the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate when the bitrate decision condition is triggered, wherein the bitrate decision condition includes episode switching; Storage module 320 is used to add the current suggested bitrate to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments; Analysis module 330 is used to determine a target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate when the current application bitrate is inconsistent with the current suggested bitrate. Application module 340 is used to adaptively apply the target bitrate as the current application bitrate.

[0049] In one embodiment, the analysis module 330 is further configured to: When the current application bitrate is inconsistent with the current suggested bitrate, obtain the number of bitrate switching times corresponding to the current episode. When the number of bitrate switching attempts is zero, the target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate.

[0050] In one embodiment, the analysis module 330 is further configured to: If the number of bitrate switching attempts is not zero, refuse to switch bitrates and maintain the current application bitrate.

[0051] In one embodiment, the analysis module 330 is further configured to: When the number of bitrate switching times is zero, the weight coefficients of the current network type under different sampling windows are obtained, wherein the number of samples for the suggested bitrate is different for different sampling windows; According to different sampling windows, multiple suggested bitrates of different quantities are taken from the prediction history queue and the average is calculated to obtain the average window bitrate corresponding to each sampling window; According to the weight coefficients of the current network type under different sampling windows, the average window bitrate of each sampling window is weighted and summed to obtain the weighted bitrate; The target bitrate is determined based on the weighted bitrate and the current application bitrate.

[0052] In one embodiment, the analysis module 330 is further configured to: Based on the difference between the weighted bitrate and multiple available bitrates, the available bitrate with the smallest difference is selected as the candidate bitrate. The target bitrate is determined based on the matching result between the candidate bitrate and the current application bitrate.

[0053] In one embodiment, the analysis module 330 is further configured to: Based on the difference between the weighted bitrate and multiple available bitrates, the available bitrate with the smallest difference is selected as the candidate bitrate. When there are multiple candidate bitrates, the candidate bitrates whose values ​​are less than the weighted bitrate are selected as candidate bitrates.

[0054] In one embodiment, the analysis module 330 is further configured to: When the candidate bitrate matches the current application bitrate, the current application bitrate is taken as the target bitrate. When the candidate bitrate is inconsistent with the current application bitrate, the candidate bitrate is used as the target bitrate, and the number of bitrate switching times is updated cumulatively.

[0055] It should be noted that the examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the above embodiments. It should also be noted that the above modules, as part of a device, can operate in environments such as... Figure 1 The hardware environment shown can be implemented either through software or through hardware.

[0056] like Figure 4 As shown, this application embodiment provides a computer device, including a processor 711, a communication interface 712, a memory 713, and a communication bus 714. The processor 711, the communication interface 712, and the memory 713 communicate with each other through the communication bus 714. The memory 713 is used to store computer programs. When the processor 711 executes the program stored in the memory 713, it implements the short video bitrate adaptive method provided in any of the aforementioned method embodiments.

[0057] The memory and processor in the aforementioned electronic devices communicate with each other via a communication bus and a communication interface. The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc.

[0058] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0059] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0060] Those skilled in the art will understand that Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0061] According to another aspect of the embodiments of this application, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of any of the above embodiments.

[0062] In one embodiment, the short video bitrate adaptive device provided in this application can be implemented as a computer program, which can be implemented as follows: Figure 4 The device runs on the computer shown. The computer's memory can store the various program modules that make up the short video bitrate adaptive device, for example, Figure 3 The diagram shows an acquisition module 310, a storage module 320, an analysis module 330, and an application module 340. The computer program comprised of these modules causes the processor to execute the short video bitrate adaptive method described in the various embodiments of this application.

[0063] Figure 4 The computer device shown can be used as follows Figure 3 The acquisition module 310 in the illustrated short video bitrate adaptive device acquires the current application bitrate and the currently suggested bitrate predicted based on the current network state when a bitrate decision condition is triggered, wherein the bitrate decision condition includes episode switching. The computer device can add the currently suggested bitrate to the prediction history queue corresponding to the current application bitrate via the storage module 320, wherein the prediction history queue includes suggested bitrates predicted based on network states at different historical times. When the current application bitrate and the current suggested bitrate are inconsistent, the computer device can determine a target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate via the analysis module 330. The computer device can then use the target bitrate as the current application bitrate for adaptive application via the application module 340.

[0064] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the short video bitrate adaptive method as provided in any of the foregoing method embodiments.

[0065] Optionally, in embodiments of this application, the computer-readable medium is configured to store program code for the processor to perform the following steps: When the bitrate decision condition is triggered, the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate are obtained, wherein the bitrate decision condition includes episode switching; The current suggested bitrate is added to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments; When the current application bitrate is inconsistent with the current suggested bitrate, a target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate. The target bitrate is used as the current application bitrate for adaptive application.

[0066] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments, and will not be repeated here.

[0067] It is understood that the embodiments described herein can be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or combinations thereof.

[0068] For software implementation, the techniques described herein can be implemented by units that perform the functions described herein. The software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.

[0069] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0070] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0071] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.

[0072] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0073] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0074] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented using software plus a general-purpose hardware platform, or of course, using hardware. Based on this understanding, the above technical solutions, in essence or the parts that contribute to the related technology, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a USB flash drive, external hard drive, ROM, RAM, magnetic disk, or optical disk, or other media capable of storing program code, including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0075] It should be understood that the terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “described” as used herein may also mean including the plural forms. The terms “comprising,” “including,” “containing,” and “having” are inclusive and therefore indicate the presence of the stated features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or combinations thereof. The method steps, processes, and operations described herein are not construed as requiring them to be performed in a particular order described or illustrated unless the order of performance is explicitly indicated. It should also be understood that alternatives or substitutions may be used.

[0076] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A short video bitrate adaptive method, characterized in that, The method includes: When the bitrate decision condition is triggered, the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate are obtained, wherein the bitrate decision condition includes episode switching; The current suggested bitrate is added to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments; When the current application bitrate is inconsistent with the current suggested bitrate, a target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate. The target bitrate is used as the current application bitrate for adaptive application.

2. The method according to claim 1, characterized in that, When the current application bitrate is inconsistent with the current suggested bitrate, determining the target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate includes: When the current application bitrate is inconsistent with the current suggested bitrate, obtain the number of bitrate switching times corresponding to the current episode. When the number of bitrate switching attempts is zero, the target bitrate is determined based on multiple suggested bitrates in the prediction history queue and the current application bitrate.

3. The method according to claim 2, characterized in that, When the current application bitrate is inconsistent with the current suggested bitrate, after obtaining the number of bitrate switching times corresponding to the current episode, the method further includes: If the number of bitrate switching attempts is not zero, refuse to switch bitrates and maintain the current application bitrate.

4. The method according to claim 2, characterized in that, When the number of bitrate switching attempts is zero, determining the target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate includes: When the number of bitrate switching times is zero, the weight coefficients of the current network type under different sampling windows are obtained, wherein the number of samples for the suggested bitrate is different for different sampling windows; According to different sampling windows, multiple suggested bitrates of different quantities are taken from the prediction history queue and the average is calculated to obtain the average window bitrate corresponding to each sampling window; According to the weight coefficients of the current network type under different sampling windows, the average window bitrate of each sampling window is weighted and summed to obtain the weighted bitrate; The target bitrate is determined based on the weighted bitrate and the current application bitrate.

5. The method according to claim 4, characterized in that, Determining the target bitrate based on the weighted bitrate and the current application bitrate includes: Based on the difference between the weighted bitrate and multiple available bitrates, the available bitrate with the smallest difference is selected as the candidate bitrate. The target bitrate is determined based on the matching result between the candidate bitrate and the current application bitrate.

6. The method according to claim 5, characterized in that, The step of selecting the available bitrate with the smallest difference between the weighted bitrate and multiple available bitrates as a candidate bitrate includes: Based on the difference between the weighted bitrate and multiple available bitrates, the available bitrate with the smallest difference is selected as the candidate bitrate. When there are multiple candidate bitrates, the candidate bitrates whose values ​​are less than the weighted bitrate are selected as candidate bitrates.

7. The method according to claim 5, characterized in that, The step of determining the target bitrate based on the matching result between the candidate bitrate and the current application bitrate includes: When the candidate bitrate matches the current application bitrate, the current application bitrate is taken as the target bitrate. When the candidate bitrate is inconsistent with the current application bitrate, the candidate bitrate is used as the target bitrate, and the number of bitrate switching times is updated cumulatively.

8. A short video bitrate adaptive device, characterized in that, The device includes: The acquisition module is used to acquire the current application bitrate and the current suggested bitrate predicted based on the current network state under the current application bitrate when the bitrate decision condition is triggered, wherein the bitrate decision condition includes episode switching; A storage module is used to add the current suggested bitrate to the prediction history queue corresponding to the current application bitrate, wherein the prediction history queue includes suggested bitrates predicted based on network conditions at different historical moments; An analysis module is used to determine a target bitrate based on multiple suggested bitrates in the prediction history queue and the current application bitrate when the current application bitrate is inconsistent with the current suggested bitrate. The application module is used to adaptively apply the target bitrate as the current application bitrate.

9. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.