Data processing method and apparatus, device, and readable storage medium

By predicting network speed and machine learning model dynamically adjusting the encoding parameters of the video, the screen lag caused by network fluctuations during video playback is solved, and the video quality is balanced and improved.

WO2025148647A1PCT designated stage expired Publication Date: 2025-07-17TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/140620
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-11
Filing Date
2024-12-19
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

The prior art has caused the bandwidth changes caused by network fluctuations during video playback, resulting in the stuttering of the video screen, and the existing one-size-fits-all adjustment of encoding parameters cannot effectively balance the quality differences of different video contents, affecting the user experience.

Method used

By predicting network speed, dynamically adjusting the media encoding parameters of media objects to ensure that each media object meets preset quality conditions under the initial encoding parameters, using machine learning models to predict encoding parameters suitable for media content, and dynamic adaptive adjustments are performed under the constraints of predicting network speed.

Benefits of technology

It reduces the quality jump of media object sequences during playback, improves the overall playback quality, improves the user experience, and ensures that the video is played smoothly under network fluctuations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024140620_17072025_PF_FP_ABST
    Figure CN2024140620_17072025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a data processing method and apparatus, a device, and a readable storage medium. The method comprises: acquiring a media object sequence to be played; on the basis of a predicted network speed corresponding to the media object sequence, determining an initial media coding parameter of each media object; on the basis of the media quality of each media object at the corresponding initial media coding parameter, selecting from the media object sequence a target media object of which the media quality does not meet a preset quality condition; on the basis of the predicted network speed, analyzing the initial media coding parameter of the target media object to obtain an analysis result; and if the analysis result indicates that the initial media coding parameter of the target media object meets a parameter adjustment condition, adjusting the initial media coding parameter of the target media object. The present application can be applied to scenarios such as the field of maps, the field of traffic, the field of autonomous driving, onboard scenarios, cloud technology, artificial intelligence, intelligent transportation, and assisted driving, and improves the playback quality of media objects.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing method, device, equipment and readable storage medium

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on January 11, 2024, with application number 2024100396661 and application name “A data processing method, device, equipment and readable storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of computer technology, and in particular to a data processing method, apparatus, device, and readable storage medium. Background Art

[0003] With the development of broadcasting technology and network video applications, media objects (media objects can refer to objects presented in any media presentation form, and media presentation forms can include but are not limited to: video presentation form, image presentation form, audio presentation form, etc., and media objects can refer to objects presented in video presentation form, such as a video; they can also refer to objects presented in image presentation form, for example, an image. In other words, a media object can refer to a video, an image, an audio, etc.) have become an important part of people's daily lives. People use media objects such as videos for entertainment or learning.

[0004] Taking video as an example, most video viewing currently requires wireless networks (e.g., Wi-Fi) or data traffic. If the wireless network is unstable or the user is mobile, the available bandwidth for the video will fluctuate. Network fluctuations can lead to reduced bandwidth, resulting in video freezes and interruptions during playback, significantly impairing the user experience.

[0005] In related technologies, in order to improve the problem of video freezes, the relevant encoding parameters of the video (such as bit rate, resolution) will be adjusted across the board according to the predicted network conditions (for example, the overall bit rate of the video will be adjusted to adapt to the predicted network conditions). However, since different videos contain different video content, and different video contents have different clarity under the same encoding parameters (such as bit rate) (for example, videos with complex video content will have lower clarity at a lower bit rate, while videos with simple video content will have high clarity at the same low bit rate), then for the above-mentioned one-size-fits-all bit rate adjustment method, although the overall bit rate will not fluctuate when playing a batch of videos, it will cause the quality of some videos to be too low and the quality of some videos to be too high, thereby reducing the overall quality of video playback. It can be seen that there is an urgent need for a method of adjusting encoding parameters to improve the overall quality of video playback. Summary of the Invention

[0006] The embodiments of the present application provide a data processing method, apparatus, device, and readable storage medium, which can dynamically adjust the media encoding parameters of a media object and improve the overall playback quality of the media object.

[0007] On the one hand, an embodiment of the present application provides a data processing method, including:

[0008] Get the media object sequence to be played; the media object sequence consists of N media objects; N is a positive integer;

[0009] Determining initial media encoding parameters corresponding to each media object based on a predicted network speed corresponding to the media object sequence;

[0010] According to the media quality of each media object under the corresponding initial media coding parameters, select the target media object whose media quality does not meet the preset quality condition from the media object sequence; the preset quality condition is the condition that the media quality is not higher than the upper quality threshold or not lower than the lower quality threshold;

[0011] Analyzing the initial media coding parameters of the target media object based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media coding parameters of the target media object meet the parameter adjustment conditions;

[0012] If the analysis result indicates that the initial media coding parameters of the target media object meet the parameter adjustment condition, the initial media coding parameters of the target media object are adjusted; the media quality of the target media object under the adjusted media coding parameters meets the preset quality condition.

[0013] In one aspect, an embodiment of the present application provides a data processing device, including:

[0014] The data acquisition module is used to acquire a sequence of media objects to be played; the media object sequence consists of N media objects; N is a positive integer;

[0015] An initial parameter determination module is used to determine initial media encoding parameters corresponding to each media object based on the predicted network speed corresponding to the media object sequence; the preset quality condition refers to the condition that the media quality is not higher than the upper quality threshold or not lower than the lower quality threshold;

[0016] A data selection module is used to select target media objects whose media quality does not meet a preset quality condition from the media object sequence according to the media quality of each media object under the corresponding initial media encoding parameters;

[0017] An analysis module is used to analyze the initial media encoding parameters of the target media object based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media encoding parameters of the target media object meet the parameter adjustment conditions;

[0018] The parameter adjustment module is used to adjust the initial media coding parameters of the target media object if the analysis result indicates that the initial media coding parameters of the target media object meet the parameter adjustment conditions; the media quality of the target media object under the adjusted media coding parameters meets the preset quality conditions.

[0019] In one aspect, an embodiment of the present application provides a computer device, including: a processor and a memory;

[0020] The memory stores a computer program, and when the computer program is executed by the processor, the processor executes the method in the embodiment of the present application.

[0021] On one hand, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program includes program instructions. When the program instructions are executed by a processor, the method in the embodiment of the present application is executed.

[0022] In one aspect of the present application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method provided in one aspect of the embodiments of the present application.

[0023] In an embodiment of the present application, after obtaining a sequence of media objects to be played (a sequence consisting of N media objects), the initial media coding parameters of each media object can be determined based on a predicted network speed corresponding to the media object sequence. In this way, the initial media coding parameters of each media object are adapted to the predicted network speed and to itself; further, the present application can take into account the content of media quality and adjust the initial media coding parameters of media objects that do not meet the preset quality conditions. Specifically, the present application can first select media objects that do not meet the preset quality conditions as target media objects according to the media quality of each media object under its own initial media coding parameters. The media quality of these target media objects under the initial media coding parameters is either too high (higher than the upper quality threshold) or too low (lower than the lower quality threshold). In this case, their initial media coding parameters need to be adjusted so that their media quality can be a quality that is not too high or too low. For the target media objects, the initial media coding parameters of the target media objects can be analyzed based on the predicted network speed to analyze whether the initial media coding parameters of the target media data meet the parameter adjustment conditions under the constraints of the predicted network speed. If the analysis result indicates that the initial media coding parameters of the target media object meet the parameter adjustment conditions, the initial media coding parameters of the target media object will be adjusted, and the media quality of the adjusted target media object will meet the preset quality conditions. Thus, it can be seen that the embodiment of the present application provides a media coding parameter adjustment scheme based on predicted network speed and media quality, which can determine the media coding parameters suitable for the media object itself based on the predicted network speed, and adaptively adjust the media coding parameters of the media object whose media quality does not meet the media browsing conditions under the constraint of the predicted network speed, so that its media quality meets the media browsing conditions. Since the adjustment of the media coding parameters is based on the constraint of the predicted network speed, the adjusted media coding parameters are also adapted to the predicted network speed. In short, the embodiment of the present application can assign different media coding parameters to different media objects under the constraint of the predicted network speed, and can dynamically adjust the media coding parameters of the media objects in the media object sequence that do not meet the preset quality conditions under the constraint of the predicted network speed, so that they meet the preset quality conditions, thereby improving or enhancing the overall playback quality of the media object sequence. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] FIG1 is a schematic diagram of the architecture of a system for dynamically adjusting media coding parameters provided by an exemplary embodiment of the present application;

[0025] FIG2 is a schematic diagram of a scenario provided by an embodiment of the present application;

[0026] FIG3 is a flow chart of a data processing method provided by an exemplary embodiment of the present application;

[0027] FIG4 is a schematic diagram of a process for analyzing initial media coding parameters according to an embodiment of the present application;

[0028] FIG5 is a schematic diagram of a process for adjusting parameters of an additional adjustment media object provided by an embodiment of the present application;

[0029] FIG6 is a schematic diagram of a system logic architecture provided by an embodiment of the present application;

[0030] FIG7 is a schematic structural diagram of a data processing device provided in an embodiment of the present application;

[0031] FIG8 is a schematic structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0032] The embodiments of the present application involve artificial intelligence and related technologies. For ease of understanding, artificial intelligence and related technical terms and concepts will be briefly explained below.

[0033] Artificial Intelligence (AI)

[0034] Artificial intelligence (AI) refers to the theories, methods, technologies, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. AI also encompasses the study of the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making. AI technology is an interdisciplinary discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.

[0035] With the research and advancement of artificial intelligence technology, artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, autonomous driving, drones, robots, smart medical care, smart customer service, etc. It is believed that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.

[0036] Furthermore, the embodiments of the present application mainly relate to technologies such as machine learning (ML) in artificial intelligence technology. Among them: machine learning is a multi-disciplinary interdisciplinary subject, involving probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. Machine learning specializes in how computers simulate or implement human learning behavior to acquire new knowledge or skills, and reorganize existing knowledge structures to continuously improve their own performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning generally include technologies such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning and formulaic learning.

[0037] In the embodiments of the present application, machine learning technology can be specifically applied to model training, for example, it can be specifically applied to a prediction model for encoding parameters of media objects. By using machine learning to train and learn the prediction model, the encoding parameters predicted by the prediction model can be made more and more accurate. The media object here can refer to a video, and the encoding parameters of the media object can refer to the encoding parameters of the video (such as bit rate, resolution, frame rate, etc.). The content predicted by the prediction model can be determined based on the encoding parameters of the media object. For example, when the encoding parameter is the bit rate, the content predicted by the prediction model can be the bit rate, and the prediction model can refer to a model for bit rate prediction (which can be called a bit rate prediction model). For ease of understanding, the following description will be based on the media object being a video and the encoding parameters of the media object (which can be called media encoding parameters) being the bit rate.

[0038] In actual applications, for the video to be played by the user, it can be predicted based on the network conditions (such as network bandwidth or network speed) when the video is played, and then the bit rate of the video can be determined based on the predicted network conditions. Then the video viewed by the user is the video transcoded at the predicted bit rate. For example, taking the short video push scenario as an example, when the user uses the short video push application, the short video push application can continuously push different videos to the user, and the user can perform the operation of pulling the video in the short video push application to request to update the display of the next video. Among them, the operation of pulling the video here can refer to the operation of the user sliding (the user sliding here, for example, sliding in a certain direction, such as sliding up, sliding down, sliding to the left, sliding to the right, etc.) the video display interface of the terminal device, or it can also refer to the operation of the user pulling the slide box in the video display interface, etc., and this application will not limit it. The video that the user is currently watching can be called the current video. In short video push applications, one or more videos with similar video content to the current video are usually preloaded (in actual applications, the number of preloaded videos will not be too many, for example, usually no more than 5, generally around 4). Then, after the user performs the operation of pulling the video, the preloaded one or more videos can be pushed to the user in sequence, and the user can play and watch the preloaded one or more videos in sequence by continuously performing the operation of pulling the video. When the user plays and watches the current video, the preloaded videos that have not been played yet are the videos to be played. For these videos to be played, in traditional technology, the network conditions (such as network speed) when playing these videos can be predicted first, and then the bit rates of these videos can be determined based on the predicted network conditions. In this way, since the bit rate is predicted based on the predicted network conditions, the predicted bit rate can adapt well to the predicted network conditions. Then, when the user plays and watches these videos, there will be no video freezes, and the background server of the short video push application can transcode the video according to the predicted bit rate, and each video viewed by the user is the video transcoded with the predicted bit rate.

[0039] It should be understood that, since different videos contain different video contents, for example, a certain video contains more video content and the scenes are more complex, while a certain video contains less video content and the scenes are also simpler. Then, at the same bit rate, the video quality (such as clarity and aesthetics) of different videos after transcoding is also different. The so-called video quality refers to the quality presented by the video after transcoding using the bit rate, which is usually determined by indicators such as the clarity and aesthetics of the video. For each of the preloaded videos mentioned above, at the same predicted bit rate, there are also large differences in the quality of the transcoded videos. In the process of playing these videos, the quality of a certain video viewed by the user may be lower, but when playing the next video, its video quality will be too high, resulting in a quality jump. The overall quality of these video playbacks is not high, which is likely to affect the user experience.

[0040] In order to improve the overall quality of video playback, the present application provides a solution for dynamically adjusting the media encoding parameters (such as bit rate) of media objects (such as videos). Under the constraints of predicted network conditions (such as predicted network speed), it can select media objects whose media quality (such as video quality) does not meet preset quality conditions, and adaptively and dynamically adjust the media encoding parameters of different media objects so that their media quality can meet the preset quality conditions. This can reduce the situation where the media quality of a batch of media objects to be played jumps during the playback process, thereby improving the overall playback quality of the media objects. Among them, the scheme for dynamically adjusting the media coding parameters of media objects involved in this scheme can include at least three consecutive steps: 1. Obtaining the predicted network speed of the media object sequence to be played (such as the one or more preloaded videos mentioned above), and based on the predicted network speed, determining an initial media coding parameter (such as an initial bit rate) for each media object in the media object sequence; it is worth noting that the initial media coding parameters of each media object in the present application can be determined based on the media content contained in the media object, that is, the initial media coding parameters of each media object may be different, but the initial media coding parameters of each media object are adapted to the predicted network speed (adapting to the predicted network speed here can mean being less than the predicted network speed, then the predicted network speed can drive the initial media coding parameters, that is: when the media coding parameters of the media object are this initial media coding parameter, this predicted network speed That is to say, the present application uses the predicted network speed as a constraint value and determines the corresponding initial media coding parameters for the media objects based on the media content of each media object itself. Under the constraint of the predicted network speed, the initial media coding parameters of each media object cannot be greater than the predicted network speed; 2. The media quality of each media object under its corresponding initial media coding parameters can be obtained. Based on the media quality of each media object under its corresponding initial media coding parameters, the media objects whose media quality does not meet the preset quality conditions are obtained and used as the target media objects; 3. Under the constraint of the predicted network speed, the initial media coding parameters of the target media object are analyzed to see whether they meet the parameter adjustment conditions. When it is determined that the target media object meets the parameter adjustment conditions, the initial media coding parameters of the target media object are adjusted so that its media quality meets the preset quality conditions.

[0041] Specifically, the adjustment scheme for media coding parameters of media objects provided by the embodiment of the present application may include the following steps: obtaining a sequence of media objects to be played (comprising N media objects, where N is a positive integer); after obtaining the sequence of media objects, an initial media coding parameter adapted to the predicted network speed may be determined for each media object based on the predicted network speed corresponding to the sequence of media objects; it is worth noting that the predicted network speed corresponding to the sequence of media objects here may be determined based on the network speed within a historical time period (a time period earlier than the playback time of the sequence of media objects, for example, 5 seconds or 3 seconds before the time point of playing the current media object, etc.), and after determining the predicted network speed corresponding to the media object Afterwards, the pre-trained encoding parameter prediction model can be called, and then the media content of each media object can be analyzed by the encoding parameter prediction model. Without exceeding the predicted network speed, the encoding parameter prediction model can analyze the maximum media encoding parameters that can adapt to its media content for each media object, and the maximum media encoding parameters can be used as the initial media encoding parameters of the media object; further, since the media quality obtained by transcoding with different media encoding parameters is different, and the media quality of different media objects after transcoding under the same media encoding parameters is different, then the media quality of each media object under the corresponding initial media encoding parameters can be obtained first, thereby determining the media quality that does not meet the preset quality conditions. Among them, the preset quality condition of this application may refer to the condition that the media quality cannot be too high (such as greater than a certain quality upper limit threshold) or too low (such as less than a certain quality lower limit quality). Then, by comparison, the media quality that does not meet the preset quality condition (that is, the media quality that is too high or too low) can be determined; for media objects that do not meet the preset quality condition, this application may refer to them as target media objects. These target media objects can be analyzed under the constraint of the predicted network speed to analyze whether their initial media coding parameters are adjustable. If it is determined that the initial media coding parameters of the target media object are adjustable, the initial media coding parameters of the target media object can be adjusted so that its media quality can meet the preset quality condition.

[0042] For example, a media object sequence consists of four preloaded videos (including video 1, video 2, video 3, and video 4). Assuming the predicted network speed is 600, the initial bitrate (i.e., initial media encoding parameters) of video 1 determined based on the predicted network speed is 480, the initial bitrate of video 2 is 500, the initial bitrate of video 3 is 580, and the initial bitrate of video 4 is 590. Using a percentage system, the video quality of each video at the corresponding initial bitrate is determined as follows: video quality of video 1 is 50 (50 points on a percentage system), video quality of video 2 is 70 (70 points on a percentage system), video quality of video 3 is 95 (95 points on a percentage system), and video quality of video 4 is 98 (98 points on a percentage system). Assuming the upper quality threshold is 96 and the lower quality threshold is 70, then the video quality of Video 1 and Video 4 does not meet the preset quality conditions, and the initial bit rates of Video 1 and Video 4 need to be adjusted (e.g., the initial bit rate of Video 1 is increased, and the initial bit rate of Video 4 is decreased). However, for videos that do not meet the preset quality conditions, this application does not directly adjust the initial bit rate. Instead, it first analyzes the videos based on the predicted network speed to determine whether their initial bit rates are adjustable. Under the constraints of the predicted network speed, if it is still determined that they are adjustable, the initial bit rates of Video 1 and Video 4 will be adjusted.

[0043] It can be seen that in the embodiment of the present application, during the process of playing media objects, for the preloaded media object sequence, initial media coding parameters adapted to the predicted network speed can be allocated to each media object based on the predicted network speed, and then based on the media quality of the media object under the corresponding initial media coding parameters, the initial media coding parameters of the media objects that do not meet the preset quality conditions are dynamically adaptively adjusted to make them meet the preset quality conditions. In this way, each media object in the media object sequence can meet the preset quality conditions, that is, they all meet the quality browsing requirements. The quality jumps generated by the media object sequence during the playback process will be greatly reduced, the overall playback quality will be improved, and the user experience can be improved.

[0044] The adaptive adjustment scheme for media encoding parameters provided in the embodiments of the present application can be applied to application scenarios that require the playback of media objects, including but not limited to: short video push scenarios, video playback scenarios (which can be used for watching TV series, movies, and variety shows), and game scenarios.

[0045] The short video push scenario can refer to a scenario where videos are continuously pushed to the user. The user can request to update and display the next video by performing a video pull operation (such as sliding the video display interface of the terminal device). In the short video push scenario, the user can continuously refresh and browse different videos by continuously performing the video pull operation.

[0046] The video playback scene may refer to a scene in which a user watches a certain TV series, movie, variety show, or other video on a certain video playback platform.

[0047] To sum up, the scheme for dynamically adjusting the media coding parameters of media objects provided in the embodiment of the present application can dynamically plan and adjust the media coding parameters of media objects in combination with the media quality of the media objects, balance the relationship between the media coding parameters and media quality of the media objects, and effectively improve business coverage to a certain extent (such as expanding applicable scenarios).

[0048] It should be noted that the several application scenarios given above are only examples and do not limit the application scenarios to which the solution for dynamically adjusting the media coding parameters of media objects provided in the embodiments of the present application is applicable.

[0049] Furthermore, the dynamic adjustment scheme for media coding parameters provided in the embodiment of the present application can be executed by a computer device, which may include a terminal or a server, or a computer device may include a terminal and a server. To facilitate understanding of the dynamic adjustment scheme for media coding parameters provided in the embodiment of the present application, the application scenarios involved in the embodiment of the present application are introduced below in conjunction with the dynamic adjustment system for media coding parameters shown in Figure 1; Figure 1 is a schematic diagram of the architecture of a system for dynamic adjustment of media coding parameters provided in the exemplary embodiment of the present application. As shown in Figure 1, the system includes a terminal 101 and a server 102; wherein:

[0050] 1) Terminal 101 may include a terminal device used by a user. Of course, depending on the application scenarios and fields to which this solution is applied, the terminals providing the solution provided in the embodiments of this application may be different. Terminal devices may include, but are not limited to: smartphones (such as smartphones deploying an Android system, or smartphones deploying an Internetworking Operating System (IOS)), tablet computers, portable personal computers, mobile Internet devices (MID), vehicle-mounted devices, head-mounted devices, smart homes, and intelligent voice interaction devices. The embodiments of this application do not limit the types of terminal devices, which are explained here.

[0051] For example, in a short video push scenario, the terminal device may be a smartphone; that is, in this implementation, the solution provided by the embodiment of the present application may be deployed on the smartphone; when a user uses a smartphone to push a short video, the smartphone obtains the time point when the user is currently playing the video, and then obtains the historical time period before the time point. Based on this historical time period, the predicted network speed of the preloaded multiple videos to be played can be predicted; then, the smartphone determines the initial bit rate for each video to be played based on the predicted network speed, and dynamically adjusts the initial bit rate of the video that does not meet the preset quality conditions based on the video quality of each video at the initial bit rate. For another example, in a smart car scenario, the application deployed with the solution provided by the embodiment of the present application is a car application; the types of the car application may include but are not limited to: music, video, or games, etc.

[0052] Applications can be computer programs designed to perform one or more specific tasks. By categorizing applications according to different dimensions (such as their operating mode and functionality), we can identify the types of the same application across different dimensions. For example, based on their operating mode, applications may include, but are not limited to, clients installed on terminals, mini-programs (subprograms of clients) that can be used without downloading or installing, and World Wide Web (Web) applications opened via a browser. Another example is based on their functional type, applications may include, but are not limited to, instant messaging (IM) applications, content interaction applications, audio applications, or video applications. IM applications refer to internet-based applications for instant messaging and social interaction. They may include, but are not limited to, applications with communication functionality, map applications with interactive functionality, and gaming applications. Content interaction applications refer to applications that enable content interaction, such as sharing platforms, personal spaces, and news applications. Audio applications refer to internet-based applications that implement audio functionality. Audio applications may include, but are not limited to, music applications with music playback and editing capabilities, radio applications with radio playback capabilities, or live streaming applications with live streaming capabilities. Video applications refer to applications that can play images. Video applications may include but are not limited to: applications with short videos (video length is often short, such as a few seconds or minutes, etc.) (such as short video push applications), applications with long videos (such as videos with long playback time such as movies or TV series), etc.

[0053] Of course, the solution provided in the embodiment of the present application can be directly deployed on a device (such as a smart phone) or deployed outside an application as described above, or can be deployed in a device or application in the form of a plug-in. The embodiment of the present application does not limit the carrier of the deployment solution.

[0054] 2) The server 102 may be a server corresponding to the terminal, and is used to interact with the terminal for data exchange so as to provide computing and application service support for the terminal. Specifically, the server is a background server corresponding to the application deployed in the terminal, and is used to interact with the terminal to provide computing and application server for the application. The server 102 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.

[0055] The terminal 101 and the server 102 may be connected directly or indirectly via wired or wireless communication, which is not limited in this application. Furthermore, the embodiments of this application do not limit the number of terminals and servers; the single terminal 101 and single server 102 in FIG1 are merely examples; in actual applications, multiple servers may be distributed, which is specifically noted here.

[0056] The following describes the general process of a solution for dynamically adjusting media coding parameters in an application scenario with reference to the system shown in FIG1 . In a specific implementation, when a user plays a video in a terminal (specifically, in an application deployed on the terminal, such as a video application) (the video currently being played by the user (such as a short video 1) can be referred to as the current video), the server corresponding to the terminal can sequentially push multiple videos (such as four) to the user in a specified playback order (this specified playback order can be specifically set based on actual business needs, for example, a random playback order or a playback order sorted by video number) to form a sequence of media objects to be played in this application. The current video can be the current media object. After determining the sequence of media objects to be played, the server can determine the network speed for playing the media object sequence based on a historical time period of the current media object (a time period earlier than the playback time of the current media object, such as 5 seconds before the playback time of the current media object). The network speed can serve as the predicted network speed for the media object sequence. Then, based on the predicted network speed, the server can determine a media encoding parameter for each media object to be played that is suitable for its own media content and is no greater than the predicted network speed, and transcode each media object based on the media encoding parameter. Among them, the embodiment of the present application can use the predicted media coding parameters of each media object as the initial media coding parameters; further, the server can obtain the media quality obtained after transcoding of each media object under its corresponding initial media coding parameters (the media content of two media objects is different, and the media quality will be different even under the same media coding parameters), and obtain the preset quality conditions (for example, the media quality cannot be greater than the upper quality threshold or lower than the lower quality threshold); based on the preset quality conditions, the server can obtain media objects whose media quality does not meet the preset quality conditions, and determine these media objects as target media objects (referred to as target media objects); for each target media object, the server can perform parameter analysis on its initial media coding parameters under the constraint of the predicted network speed to analyze and determine whether the initial media coding parameters of a certain media object meet the parameter adjustment conditions. If it is determined that the initial media coding parameters of a certain target media object meet the parameter adjustment conditions, then the server can adjust the initial media coding parameters of the target media object so that its media quality can meet the preset quality conditions. Then, the server can transcode each media object according to the adjusted media encoding parameters, and the terminal can preload each media object in sequence according to the playback order of the transcoded media objects (that is, pre-download them to the local database of the terminal), so that the downloaded media objects can be quickly pushed to the user for playback and viewing.

[0057] It is worth noting that since the initial media encoding parameters of the target media object are adjusted under the constraints of the predicted network speed, the adjusted media encoding parameters are also adaptable to the predicted network speed. During the process of preloading the entire media object sequence, the terminal can quickly complete preloading at the predicted network speed. Therefore, when playing the media object sequence, the downloaded media objects can be quickly retrieved for playback, while meeting the preset quality conditions, and there will be no screen freezes due to incomplete downloads. In other words, the adjusted media objects to be played can not only adapt to the predicted network speed, reducing playback freezes, but also improve the overall quality of media object playback.

[0058] Based on the solution and system architecture described above, the following points need to be explained:

[0059] ① The system shown in FIG1 mentioned above in the embodiment of the present application is for more clearly illustrating the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided in the embodiment of the present application. Those skilled in the art will appreciate that, with the evolution of system architecture and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is equally applicable to similar technical problems. For example, the above is an introduction to an application scenario of the present solution by taking the example of the execution subject "computer device" of the embodiment of the present application including a terminal and a server, that is, the terminal and the server jointly execute the solution provided in the embodiment of the present application; it should be understood that in actual applications, the computer device can also be a terminal or a server, that is, it supports the terminal or the server to independently execute the solution provided in the embodiment of the present application.

[0060] ② The embodiment of the present application supports the use of a model with media coding parameter prediction capabilities (such as bit rate prediction capabilities) (such as a model containing a recurrent neural network (RNN), a convolutional neural network (CNN) or a residual network (ResNet) structure) to implement the dynamic adjustment scheme of the media coding parameters described above. Specifically, the present application can use multiple configured media coding parameters corresponding to the media object (i.e., pre-configured media coding parameters of different levels, such as taking the media coding parameter as the bit rate as an example, the configured media coding parameters can be 360, 480, 720, 1080, 1280, etc.) as model parameters, deploy them in the model, and train the model using machine learning (such as reinforcement learning) to make the results output by the model (i.e., the predicted media coding parameters) more and more accurate. The trained model can be deployed in a computer device; in this way, when the computer device needs to predict the media coding parameters of a certain media object (such as predicting the bit rate, resolution, etc. that are suitable for the media content of a certain media object), the model can be directly called, and the model predicts the media coding parameters that are suitable for the media content of the certain media object and the predicted network speed under the constraint of the predicted network speed. The media coding parameters can be used as the initial media coding parameters of the media object. If the computer device used to execute the solution provided in the embodiment of the present application is a terminal, then the model can be deployed in the terminal. If the computer device used to execute the solution provided in the embodiment of the present application is a server, then the model is deployed in the server; in this case, the terminal used by the user transmits the media object to be predicted and the predicted network speed as a constraint condition to the server for prediction processing of the media coding parameters.

[0061] ③ The collection and processing of relevant data in the embodiments of this application should be strictly in accordance with the requirements of relevant laws and regulations. The acquisition of personal information must be subject to the knowledge or consent of the individual subject (or the legal basis for obtaining the information), and subsequent data use and processing must be carried out within the scope of authorization of laws and regulations and the subject of personal information. For example, when the embodiments of this application are applied to specific products or technologies, such as obtaining the user's currently playing media object, the user's permission or consent must be obtained, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant region.

[0062] Based on the scheme described above, for the convenience of understanding its application scenario, please refer to Figure 2, which is a scenario diagram provided by an embodiment of the present application. Among them, the scenario shown in Figure 2 is a scenario described by taking the media object as video and the media encoding parameter as bit rate as an example. As shown in Figure 2, when user a uses the short video push application deployed on the terminal, the short video push application can continuously push new videos to user a, and user a can request to display new videos by performing the operation of pulling videos. As shown in Figure 2, in the video display interface 2001 of the terminal, the video currently exposed to the user is video 200a (that is, the video currently played and watched by user a is video 200a, the creator of video 200a is an object named "La La Loves Dancing", and the video copy of video 200a is "Teach you to quickly learn a dance in three minutes"), and a like control, comment control and share control are displayed in the video display interface 2001, which can be used by user a to like, comment and share the video 200a. In addition, user a can perform a sliding operation in the video display interface 2001 to request a refresh display of a new video (a video that is not played or currently played by user a).

[0063] It is worth noting that in actual applications, the background server of the short video push application can pre-search multiple videos with similar or identical video themes to the videos that the user is playing or has played from the database (for example, the video themes are all <Pets>, <Cooking>, <Food Store Exploration>, <Emotional Counseling>, etc.), and transcode them. The terminal will preload the transcoded videos. Then, after the user executes the video pull operation, the terminal can push these downloaded transcoded videos to the user in sequence for the user to browse and watch.

[0064] For example, in the scenario shown in Figure 2, when user a watches video 200a, the server can find 5 videos to be pushed to user a based on the historical playback videos of user a (historical playback videos refer to videos played and watched by user a before playing video 200a). For these 5 videos, they can be sorted according to certain sorting rules (such as random sorting rules), thereby obtaining a video sequence, and each video in the sequence can be transcoded by the embodiment of the present application. It is worth noting that these 5 videos will be exposed to the user in turn after the user continuously performs the operation of pulling videos, and in order to reduce the problem of video quality jumps generated by these 5 videos during continuous playback, so as to improve the overall playback quality of these 5 videos during playback, the embodiment of the present application can dynamically adjust the bit rate of the video based on the predicted network speed and the video quality of each video, so that the quality of the transcoded video can be better.

[0065] In a specific implementation, the server can obtain the historical time period (such as the previous 5 seconds) of the time point of the currently playing video 200a (i.e., the current playing time point), and based on the network speed of each historical time point in the historical time period (for example: the 1st, 2nd, 3rd, 4th, and 5th seconds within the previous 5 seconds), determine an average network speed for the historical time period. This average network speed can be used as the predicted network speed for the subsequent playback of the above 5 preloaded videos. Then, the server can call the trained bit rate prediction model and input the video content of each video (such as the data size of the video, the buffer size and length, the number of scenes contained in the video, etc.) and the predicted network speed into the bit rate prediction model. In the bit rate prediction model, the video content of each video can be analyzed under the constraint of the predicted network speed. Finally, the maximum bit rate of each video that is not greater than the predicted network speed and is adapted to its own video content can be analyzed. This maximum bit rate can be used as the initial bit rate of the video. Furthermore, the server can obtain the video quality of each video at its corresponding initial bit rate (i.e., the quality obtained after transcoding the video using the initial bit rate), and based on the quality of each video, it can determine the video whose video quality does not meet the preset quality condition. It should be noted that the preset quality condition in the embodiment of the present application may refer to the condition that the video quality cannot be too high or too low, and in this scenario, for each video sequence to be played, the server can default to designating the two videos with the highest video quality and the lowest video quality as videos that do not meet the preset quality condition.

[0066] Furthermore, for videos that do not meet the preset quality requirements, the video quality may fluctuate during the sequential playback of the video sequence due to being too high or too low, affecting the viewing experience. Therefore, this application can adjust the initial bit rate under the constraint of the predicted network speed to adjust the video quality to meet the preset quality requirements. Specifically, based on the predicted network speed, it is possible to determine whether the initial bit rate of the video meets the adjustment conditions. For example, for the video with the lowest video quality, it is possible to determine whether its initial bit rate can be increased, and after the bit rate is increased, it is predicted whether the network speed can be driven. If it is determined that its initial bit rate can be increased, and the network speed is predicted to be able to drive it after the bit rate is increased, then it can be determined that its initial bit rate meets the adjustment conditions, and the initial bit rate of the video with the lowest video quality can be increased (for example, the initial bit rate is increased by one bit rate level); for another example, for the video with the highest video quality, it is possible to determine whether its initial bit rate can be decreased. If it is determined that its initial bit rate meets the adjustment conditions, then the initial bit rate of the video with the highest video quality can be decreased (for example, the initial bit rate is decreased by one bit rate level).

[0067] It should be understood that, through the above-described bit rate adjustment, the initial bit rate of a video whose video quality does not meet the preset quality conditions can be adjusted upward or downward so that its video quality can meet the preset quality conditions. The server can transcode each video based on the final bit rate of each video, obtain the transcoded video, and then send the transcoded video sequence to the terminal. Then, after user a performs the video pull operation, the terminal can update the video display interface 2001 to display the video from video 200a as the video ranked first in the video sequence. For example, as shown in Figure 2, assuming that the video sequence to be played is {video 200b, video 200c, video 200d, video 200e, video f}, user a generates a sliding operation in the video display interface 2001 (the sliding direction is the direction indicated by the arrow shown in Figure 2), and the terminal can respond to this sliding operation and update the video to display the transcoded video 200b in the video display interface 2001 (the creator of the video 200b is an object named "Meimei makes delicious food", and the video copy of the video 200b is "Buy crucian carp like this, the aroma is fragrant!"). If user a performs a sliding operation again in the video display interface 2001 (the sliding direction is the direction indicated by the arrow shown in Figure 2), the terminal can respond to this sliding operation and update the video displayed in the video display interface 2001 to video 200c... In other words, the user can request to update and display new videos by continuously performing sliding operations. When user a plays and browses video 200f, the server can obtain a new batch of videos and sort them as the video sequence to be played for user a. Then the server can determine the predicted network speed of this batch of video sequences, and determine the initial bit rate of each video according to the new predicted network speed, and then dynamically adjust the initial bit rate of the video based on the video quality of each video at the initial bit rate. The video sequence after bit rate adjustment can be sent to the terminal, and the terminal will preload it to meet the needs of user a to quickly watch each video that meets the preset quality conditions after the sliding operation.

[0068] Based on the above-described solutions and application scenarios, the embodiments of the present application propose a more detailed method for dynamically adjusting media coding parameters. The dynamic adjustment method for media coding parameters proposed in the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0069] Please refer to Figure 3, which is a flowchart of a data processing method provided by an exemplary embodiment of the present application. This flowchart may refer to the flowchart of the dynamic adjustment method for media coding parameters provided by an embodiment of the present application. This data processing method (dynamic adjustment method for media coding parameters) can be executed by a computer device in the aforementioned system, such as a terminal and / or server. This data processing method may include at least the following steps S101-S105:

[0070] Step S101 : obtaining a media object sequence to be played; the media object sequence is composed of N media objects; N is a positive integer.

[0071] In this application, a sequence of media objects to be played may refer to a sequence of media objects waiting to be played, which may contain N (N can be a positive integer, i.e., one or more) media objects, and the N media objects will be sorted in a specified playback order, thereby forming a media object sequence. In practical applications, a media object may refer to a video, which may contain text or audio. In a specific implementation, the method for obtaining the media objects to be played may include, but is not limited to: ① When a user watches an episode of a TV series, a variety show, or a movie on a video playback platform, the video blocks of the last few durations of the user's current viewing duration can be used as the videos to be played, and then they can be organized into a video sequence in the playback order. The video sequence can be used as a media object sequence. For example, if a user is playing the video of the 0-5 seconds of the TV series "BCBC Episode 01", the video blocks of the 5-10 seconds, 10-15 seconds, and 15-20 seconds of episode 01 can be obtained. These three video blocks can all be used as videos to be played, and they can be sorted in the order of the playback time corresponding to each video to obtain a video sequence. ② Obtain N similar videos (such as videos with the same video theme) to the video currently being played by the user, specify a playback order for them, and sort them in order to obtain a video sequence; for example, when a user watches a video in a short video push application, based on the user's historical playback videos, N similar videos can be obtained (similar videos can refer to videos with similar video themes or similar video content), and these N similar videos are all used as videos to be played, and then, they can be sorted in the playback order to obtain a video sequence. The embodiment of the present application does not limit the actual method of obtaining the sequence of media objects to be played. In other words, the embodiment of the present application does not limit the scenarios to which this solution is applied.

[0072] Step S102: determining initial media coding parameters corresponding to each media object based on the predicted network speed corresponding to the media object sequence.

[0073] In this application, for a sequence of media objects to be played, the network speed for playing the sequence of media objects can be predicted based on the network conditions (e.g., network speed) during a historical time period. The historical time period here can refer to a time period prior to the time when the current media object is played, which can be understood as a time period prior to the time when the sequence of media objects is played. For example, when a user plays a certain media object, the currently played media object may be referred to as the current media object, and the time point at which the current media object is played may be determined as the current playback time point. Then, the historical time period may be a time period earlier than the current playback time point. It is worth noting that the network conditions of the historical time period closer to the current playback time point are more similar to the network conditions when the media object sequence is played. Therefore, when determining the historical time period, the embodiment of the present application may select a time period closer to the current playback time point (such as the 10 seconds, 5 seconds, or 3 seconds before the current playback time point, etc.) as the historical time period, and then predict the network speed for playing the media object sequence based on the network speed of the historical time period. The predicted network speed for playing the media object sequence may be referred to as the predicted network speed of the media object sequence in the present application. Then, this predicted network speed may be used as a constraint value. Under the constraint of the predicted network speed of the media object sequence, media encoding parameters suitable for the media content of each media object may be analyzed and determined for each media object based on the media content of each media object. The media encoding parameters may be used as the initial media encoding parameters of the media object.

[0074] It should be noted that the media encoding parameters in this application may refer to encoding parameters used to encode media objects for transcoding, which may specifically include but are not limited to: bit rate, resolution, frame rate, etc.

[0075] In a specific implementation, the specific implementation process for determining the initial media encoding parameters of each media object based on the predicted network speed corresponding to the media object sequence includes but is not limited to: obtaining the average network speed of the historical time period and determining the average network speed of the historical time period as the predicted network speed of the media object sequence. Based on the above, it can be known that the network speed when playing the media object sequence can be predicted based on the network speed of the historical time period. In the embodiment of the present application, the average network speed of the historical time period can be used as the predicted network speed for playing the media object sequence. The specific implementation process for obtaining the average network speed of the historical time period can include but is not limited to: obtaining a time extraction rule and extracting T (T is a positive integer, usually a positive integer greater than or equal to 2) time points from the historical time period according to the time extraction rule; it should be noted that the time extraction rule here can be based on manual setting. For example, the time extraction rule can be a random extraction rule (i.e., randomly extracting T time points from the historical time period) or a rule that extracts one time point every 1 second (i.e., extracting one time point every 1 second from the historical time period). The embodiment of the present application does not limit the specific time extraction rule. Then, the historical network speed corresponding to each of the T time points can be obtained (i.e., the network speed at each time point in the historical time period when the user plays the historical video). This can give T historical network speeds. For these T historical network speeds, the average value can be calculated, and the average value can be used as the average network speed of the historical time period. To facilitate an intuitive understanding of the specific implementation process of obtaining the average network speed of the historical time period, please refer to formula (1). The specific process of obtaining the average network speed of the historical time period can be shown as formula (1): V avg = (∑V n ) / T Formula (1)

[0076] Where, as shown in formula (1), V n It can be used to represent the historical network speed corresponding to the nth time point in the historical time period (the result of the network speed test at the nth time point); V in formula (1) avg It is used to represent the average network speed (average predicted bandwidth) of the historical time period; T can be used to represent the total number of time points extracted in the historical time period.

[0077] It is worth noting that the above method of determining the average network speed of a historical time period by taking the average value is only an exemplary method. The embodiment of the present application does not limit the actual method of obtaining the average network speed of a historical time period. For example, a time-weighted calculation method can also be used to obtain the average network speed of a historical time period. The specific process is shown in formula (2): V avg = ∑ωn V n Formula (2)

[0078] Where, as shown in formula (2), V n It can be used to represent the historical network speed corresponding to the nth time point in the historical time period (the result of the network speed test at the nth time point); ω n It can refer to V n The corresponding weight value, and ∑ω n =1 (i.e. the sum of the weight values ​​corresponding to the historical network speed at each time point in the historical time period should be equal to 1), a certain ω n Adjustments can be made based on experience. For example, the closer the time point is to the current playback time point, the higher the weight value ω of the corresponding historical network speed n The larger the value, the greater the network speed. For example, suppose three time points are extracted, namely time point 1, time point 2 and time point 3. Time point 1 is earlier than time point 2, and time point 2 is earlier than time point 3. Then the weight value of the historical network speed corresponding to time point 1 should be the smallest (such as 0.2); the weight value of the historical network speed corresponding to time point 3 should be the largest (such as 0.5), and the weight value of the historical network speed corresponding to time point 2 can be 0.3. Using the above formula (2), the average network speed of the historical time period can be determined.

[0079] Furthermore, after determining the predicted network speed of the media object sequence, K (K is a positive integer) configured media coding parameters can be obtained; the configured media coding parameters in this application can refer to the media coding parameters configured for each media object, each configured media coding parameter can have different values, and different values ​​can correspond to different levels (e.g., the larger the value, the higher the level). Then, for the K configured media coding parameters, the parameter levels corresponding to each configured media coding parameter are different, that is, the parameter levels to which any two configured media coding parameters belong are different. For example, when the media coding parameter is the bit rate, 360, 480, 600, 720, and 1080 can be used as the configured bit rate. Then, any media object in the media object sequence can be determined as an analysis media object (i.e., referred to as an analysis media object). Based on the above-mentioned predicted network speed, parameter adaptation analysis can be performed on the analysis media object to select the initial media coding parameters of the analysis media object from the K configured media coding parameters. That is, each media object in the media object sequence will be used as an analysis media object, and then parameter adaptation analysis will be performed on each media object to analyze the initial media encoding parameters adapted to each media object.

[0080] The specific process of performing parameter adaptation analysis on any media object can be implemented using a trained parameter prediction model. This parameter prediction model can vary based on different media coding parameters. For example, when the media coding parameter is bitrate, the parameter prediction model can be a bitrate prediction model. The parameter prediction model can include an RNN, CNN, or ResNet network structure and possess predictive capabilities. Through machine learning training, the model can predict media coding parameters suitable for the media object's own media content from K configured media coding parameters based on the media object's media content. In a specific implementation, the specific implementation process of determining the initial media coding parameters of each media object based on the predicted network speed corresponding to the media object sequence may include but is not limited to: taking any media object as an example, this media object can be referred to as an analysis media object. In the process of determining the initial media coding parameters of this analysis media object, the media content of this analysis media object can be obtained, and a parameter prediction model can be called based on the media content (the parameter prediction model is pre-trained, and the above-mentioned K configuration media coding parameters are deployed in the parameter prediction model); then, through the parameter prediction model, the media content and the predicted network speed of the analysis media object can be comprehensively analyzed, and finally the predicted media coding parameters suitable for the media content of the analysis media object will be output; it should be understood that the comprehensive analysis of the media content and the predicted network speed of the analysis media object is to perform computational analysis on the media content of the analysis media object under the constraint of the predicted network speed to output the predicted media coding parameters suitable for the media content, and the predicted media coding parameters are not greater than the predicted network speed. For example, if the media content of a certain analysis media object is relatively simple, then any media coding parameter can be used to transcode it to achieve high media quality. In this case, the predicted media coding parameters for this analysis media object can be the maximum configured media coding parameters that are no greater than the predicted network speed. Finally, the predicted media coding parameters for this analysis media object can be determined as the initial media coding parameters for the analysis media object. Each media object can be treated as an analysis media object, and the above method can be used to analyze the initial media coding parameters for each media object.

[0081] Step S103 , according to the media quality of each media object under the corresponding initial media coding parameters, select a target media object from the media object sequence whose media quality does not meet the preset quality condition; the preset quality condition refers to the condition that the media quality is not higher than the upper quality threshold or not lower than the lower quality threshold.

[0082] In the present application, after determining the initial media coding parameters corresponding to each media object in the media object sequence, for any media object, the media quality of the media object under its corresponding initial media coding parameters can be obtained (i.e., the quality obtained after transcoding it using the initial media coding parameters, which is usually determined by indicators such as clarity and aesthetics of the transcoded media object. The media quality in the present application can refer to a specific score value, that is, the present application can determine the presentation effect of each media object under indicators such as clarity and aesthetics under its own corresponding initial media coding parameters. Based on the presentation effect under these indicators, the media object can be quality evaluated to obtain a quality score value of the media object, which can be used as the media quality of the media object). According to the media quality of each media object under its corresponding initial media coding parameters (i.e., the corresponding initial media coding parameters), media objects whose media quality does not meet the preset quality conditions can be selected. These media objects can be referred to as target media objects in the present application.

[0083] Among them, the preset quality condition in the present application may refer to the condition that the media quality cannot be too high (such as cannot be higher than the upper quality threshold, this upper quality threshold can be specifically set based on actual business needs. Usually, a higher score can be selected as the upper quality threshold, for example, 98 points can be selected as the upper quality threshold) or cannot be too low (such as cannot be lower than the lower quality threshold, this upper quality threshold can be specifically set based on actual business needs. Usually, a score far lower than the upper quality threshold can be selected as the upper quality threshold, for example, 70 points can be selected as the lower quality threshold). The upper quality threshold and the lower quality threshold can be set manually, but the difference between the upper quality threshold and the lower quality threshold is usually set to a larger value. It is worth noting that in an embodiment of the present application, for a sequence of media objects to be played, a computer device (such as a server) will usually first transcode based on media encoding parameters, and then the playback end (such as a terminal) will preload these transcoded media objects (i.e., download them to the local database of the playback end in advance) for subsequent quick playback. For the sequence of media objects to be played, the initial media coding parameters corresponding to different media objects may be different, and the media quality after transcoding under the corresponding initial media coding parameters may also be different. For example, the media content of some media objects is relatively complex, but in the case of a low predicted network speed, due to the constraints of the predicted network speed, its initial media coding parameters may be low. Then, after transcoding it with the low initial media coding parameters, the resulting media quality will also be low, and the media quality when the terminal plays it will not be high enough, such as: the clarity may be low (for example, some textures are blurred, and lines are blurred). In order to ensure that the media quality of the media objects is as high as possible when they are played (that is, to improve the clarity and aesthetics of the media objects when they are played), it is necessary to improve the grade of the media coding parameters of these media objects as much as possible to improve the media quality after transcoding. Based on this, the embodiment of the present application can use the media object with low media quality obtained under the initial media coding parameters (that is, the media object whose media quality is lower than the lower quality threshold) as a media object whose media coding parameters are to be adjusted (that is, as a target media object). At the same time, since the initial media coding parameters of the media objects with low media quality are adjusted (increased, that is, the parameter level of the media coding parameters is increased), the increased media coding parameters may be greater than the predicted network speed. Therefore, for the media object sequence as a whole, during the preloading process on the playback end, the average value of its overall media coding parameters (that is, the average media coding parameters) may fluctuate greatly.

[0084] For example, for a video sequence consisting of four videos, after determining the initial bit rate of each video, if the initial bit rate of a video with the lowest video quality at the initial bit rate is increased (for example, the initial bit rate is increased, and the increased bit rate is one bit rate level higher than the initial bit rate), then since the initial bit rate of each video refers to a maximum optional bit rate that is not greater than the predicted network speed, the increased bit rate will be greater than the predicted network speed. It can be seen that by increasing the bit rate of the low-quality videos, the average bit rate of these four videos during the terminal preloading process will fluctuate greatly, and the download bandwidth will also change significantly. In order to balance the average media coding parameters of the media object sequence during the preloading process, so that the playback end can quickly complete preloading under the constraint of the predicted network speed, thereby reducing the occurrence of screen freezes during the playback of media objects (because some media objects have not been preloaded, they will not be able to be played smoothly, resulting in screen freezes), the embodiment of the present application can, after increasing the initial media coding parameters of the media objects with low media quality, appropriately lower the initial media coding parameters of the media objects with high media quality (such as the media objects in the media object sequence whose media quality is higher than the quality upper limit threshold under the corresponding initial media coding parameters) (the parameter level of the media coding parameters after the decrease will be lower than the initial media coding parameters). Since the media quality of these media objects is high, their corresponding media coding parameters will also be high. Therefore, even if the initial media coding parameters are appropriately lowered, the media quality of these media objects will not be reduced too much, and their clarity will still be high. By adopting the above method, the media coding parameters of some media objects in the media object sequence can be increased while the media coding parameters of other media objects can be appropriately decreased. The total media coding parameters of the entire media object sequence will not change significantly, and the average media coding parameters during the preloading process will not fluctuate significantly. Therefore, in the process of preloading at the playback end, the download bandwidth will not change significantly. Under the constraint of the predicted network speed, the preloading can be completed smoothly and quickly to reduce the screen freeze during playback.

[0085] In summary, the present application needs to lower the media encoding parameters of the media objects with high media quality while raising the media encoding parameters of the media objects with low media quality. Then the present application can set the preset quality condition as the condition that the media quality cannot be too high (too high, such as higher than the upper quality threshold) and cannot be too low (too low, such as lower than the lower quality threshold). Then the target media object in the media object sequence whose media quality does not meet the preset quality condition can refer to the media object in the media object sequence whose media quality is higher than the upper quality threshold under the corresponding initial media encoding parameters, and the media object whose media quality is lower than the lower quality threshold. In an embodiment of the present application, the target media objects in the media object sequence that do not meet the preset quality condition can be specially set. Specifically, the media object with the highest media quality in the media object sequence under the corresponding initial media encoding parameters can be specially defaulted to be a media object with too high media quality, and the media object with the lowest media quality under the corresponding initial media encoding parameters can be specially defaulted to be a media object with too low media quality. That is, for any media object sequence, after determining the media quality of each media object under the corresponding initial media coding parameters, the media object with the highest media quality and the media object with the lowest media quality can be defaulted as target media objects that do not meet the preset quality condition. Then, based on subsequent analysis rules, it is determined whether the media quality of these two target media objects meets the preset quality condition. In general, the preset quality condition in this application can be determined by the media quality of each media object in the media object sequence under the corresponding initial media coding parameters. Specifically, the upper quality threshold can be determined based on the highest media quality in the media object sequence. This upper quality threshold can be lower than the highest media quality in the media object sequence (and higher than the second highest media quality in the media object sequence). In this way, only the media object with the highest media quality can be considered as a target media object that does not meet the preset quality condition. Similarly, the lower quality threshold can be determined based on the lowest media quality in the media object sequence. This lower quality threshold can be higher than the lowest media quality in the media object sequence (and lower than the lowest media quality in the media object sequence). In this way, only the media object with the lowest media quality can be considered as a target media object that does not meet the preset quality condition. By flexibly setting the upper and lower quality thresholds based on each media object sequence, the target media objects in each media object sequence whose media quality does not meet the preset quality conditions can be determined as the media objects with the highest and lowest media quality in the media object sequence.

[0086] Step S104 : analyzing the initial media coding parameters of the target media object based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media coding parameters of the target media object meet the parameter adjustment conditions.

[0087] In this application, after determining that the media quality of a target media object does not meet a preset quality condition, the initial media coding parameters of the target media object can be analyzed to determine whether they meet parameter adjustment conditions. If so, they can be adjusted. In a specific implementation, for the target media object with the lowest media quality, it is necessary to analyze whether the initial media coding parameters of the target media object can be appropriately adjusted upward, subject to the constraints of the predicted network speed. For the target media object with the highest media quality, after verifying that it does not meet the preset quality condition, it is necessary to analyze whether the initial media coding parameters of the target media object can be appropriately adjusted downward based on corresponding analysis rules. The parameter adjustment condition here can be understood as whether the initial media coding parameters of the target media object meet the corresponding analysis rules. If they do, it is considered that the parameter adjustment condition is met. Only after it is determined that the initial media coding parameters of both target media objects can be appropriately adjusted upward, and the initial media coding parameters of the target media object with the higher media quality can be appropriately adjusted downward. In other words, the initial media coding parameters of the target media object with the lower media quality cannot be adjusted upward alone. For the specific implementation process of analyzing the initial media encoding parameters of the target media object based on the predicted network speed and obtaining the analysis result, please refer to the description in the embodiment corresponding to FIG. 4 .

[0088] Step S105 : If the analysis result indicates that the initial media coding parameters of the target media object meet the parameter adjustment condition, the initial media coding parameters of the target media object are adjusted; the media quality of the target media object under the adjusted media coding parameters meets the preset quality condition.

[0089] In this application, for the sake of distinction, the media object with the lowest media quality can be referred to as the first media object, and the media object with the highest media quality can be referred to as the second media object. Then, the analysis result of the target media object will include the analysis result of the first media object (which can be referred to as the first analysis result) and the analysis result of the second media object (which can be referred to as the second analysis result). Both the first analysis result and the second analysis structure can include a condition satisfaction result and a condition non-satisfaction result, wherein the condition satisfaction result can be used to indicate that the initial media coding parameters meet the parameter adjustment condition, and the condition non-satisfaction result can be used to indicate that the initial media coding parameters do not meet the parameter adjustment condition. If the first analysis result is a condition satisfaction result, it can indicate that the initial media coding parameters of the first media object meet the parameter adjustment condition, and the initial media coding parameters of the first media object can be adjusted (increased); and if the first analysis result is a condition non-satisfaction result, it can indicate that the initial media coding parameters of the first media object do not meet the parameter adjustment condition, and the initial media coding parameters of the first media object cannot be adjusted at this time, and its initial media coding parameters need to be retained. Similarly, if the second analysis result is a condition-satisfied result, it may indicate that the initial media coding parameters of the second media object meet the parameter adjustment conditions, and the initial media coding parameters of the second media object can be adjusted (downgraded) at this time; if the second analysis result is a condition-unsatisfied result, it may indicate that the initial media coding parameters of the second media object do not meet the parameter adjustment conditions, and the initial media coding parameters of the second media object cannot be adjusted at this time, and its initial media coding parameters need to be retained.

[0090] It is worth noting that whether the initial media coding parameters are adjusted downward or upward, the adjustment range should not be too large, because the initial media coding parameters are the maximum configured media coding parameters determined under the constraints of the predicted network speed. If the adjustment range is too large, it may cause the predicted network speed to be unable to drive, resulting in slow preloading and screen freezes. So here, when the initial media coding parameters are adjusted upward, you can select a higher parameter level of configured media coding parameters in the configured media coding parameters as the adjusted media coding parameters. This will ensure that the difference between the adjusted media coding parameters and the predicted network speed is not too large, and can reduce the situation where the predicted network speed cannot drive the adjusted media coding parameters and the download is slow, thereby causing screen freezes. By adjusting the media coding parameters upward, the media quality of the media object can also be improved, and the adjusted media quality can be defaulted to meet the preset quality conditions. Similarly, when lowering the initial media coding parameters, you can select a lower parameter level of configured media coding parameters in the configured media coding parameters as the media coding parameters after the lowering. This will not cause the media quality of the media object after the media coding parameters are lowered to remain at a high level, and the media quality after the lowering can meet the preset quality conditions.

[0091] In summary, it can be seen that the embodiments of the present application can, under the constraint of the predicted network speed, assign media encoding parameters that are adapted to the media content of different media objects, and can, under the constraint of the predicted network speed, dynamically optimize the media encoding parameters of media objects in the media object sequence that do not meet the preset quality conditions so that they can meet the preset quality conditions, thereby improving or enhancing the overall playback quality of the media object sequence. That is, the embodiments of the present application can dynamically optimize the media encoding parameters of the media objects based on the media quality of the media objects and, under the constraint of the predicted network speed, improve the overall playback quality of the media object sequence while reducing the occurrence of screen freezes during playback, compared to a one-size-fits-all approach to adjusting media encoding parameters.

[0092] To further understand the specific implementation process of analyzing the initial media coding parameters of the target media object, please refer to FIG. 4 , which is a schematic diagram of a process flow for analyzing initial media coding parameters, provided in an embodiment of the present application. This process may correspond to the specific implementation process for analyzing the initial media coding parameters of the target media object based on the predicted network speed and obtaining the analysis results, as described in the embodiment corresponding to FIG. 4 . As shown in FIG. 4 , this process may include at least the following steps, S401 through S406:

[0093] Step S401, obtain the first parameter analysis rule associated with the first media object and the second parameter analysis rule associated with the second media object; the first parameter analysis rule is used to combine with the predicted network speed to jointly analyze and detect the upward attribute of the media coding parameter of any media object, and the second parameter analysis rule is used to analyze and detect the downward attribute of the media coding parameter of any media object.

[0094] Specifically, the embodiment of the present application can configure different parameter analysis rules for a media object whose media quality is higher than an upper quality threshold (in the embodiment of the present application, the media object is assumed to be the media object with the highest media quality in the media object sequence by default) and a media object whose media quality is lower than a lower quality threshold (in the embodiment of the present application, the media object is assumed to be the media object with the lowest media quality in the media object sequence by default). Then, after determining the media object with the lowest media quality and the media object with the highest media quality, their initial media coding parameters can be analyzed according to the corresponding parameter analysis rules. For example, for the media object with the lowest media quality, its initial media coding parameters can be analyzed according to the corresponding parameter analysis rules under the constraint of the predicted network speed. For the media object with the highest media quality, since its media coding parameters need to be lowered, the predicted network speed will definitely drive the lowered media coding parameters. In this case, there is no need to refer to the predicted network speed, and it is only necessary to analyze whether its initial media coding parameters can be lowered according to the corresponding parameter analysis rules.

[0095] Based on this, after obtaining the first media object and the second media object, the first parameter analysis rule associated with the first media object can be obtained (that is, the parameter analysis rule configured for the media object with the lowest media quality, which is mainly used to combine the predicted network speed to jointly analyze and detect the upward adjustment attribute of the media coding parameter of any media object. This upward adjustment attribute is used to indicate whether the media coding parameter can be adjusted upward. Specifically, the upward adjustment attribute of the media coding parameter includes adjustable attributes and non-adjustable attributes. The adjustable attributes in the upward adjustment attributes can represent that the parameter can be adjusted upward, and the non-adjustable attributes in the upward adjustment attributes can represent that the parameter cannot be adjusted upward), as well as the second media object. The second parameter analysis rule associated with the media object (that is, the parameter analysis rule configured for the media object with the highest media quality, which is mainly used to analyze and detect the downward adjustment attributes of the media coding parameters of any media object. Specifically, the downward adjustment attributes of the media coding parameters include adjustable attributes and non-adjustable attributes. The adjustable attributes in the downward adjustment attributes can represent that the downward adjustment can be performed, and the non-adjustable attributes in the downward adjustment attributes can represent that the downward adjustment cannot be performed), so that the first parameter analysis rule can be used to determine whether the media coding parameters of the first media object can be increased, and the second parameter analysis rule can be used to determine whether the media coding parameters of the second media object can be decreased.

[0096] That is to say, when the target media object whose media quality does not meet the preset quality conditions is the first media object, analyzing the parameter adjustability of the target media object refers to analyzing whether the first media object is adjustable; and when the target media object whose media quality does not meet the preset quality conditions is the second media object, analyzing the parameter adjustability of the target media object refers to analyzing whether the second media object is adjustable.

[0097] Step S402 : using the first parameter analysis rule and the predicted network speed, analyzing and detecting the upward adjustment attribute of the initial media coding parameter of the first media object to obtain the upward adjustment attribute of the initial media coding parameter of the first media object.

[0098] Specifically, based on the above, the first parameter analysis rule and the predicted network speed can be used to analyze whether the initial media coding parameters of the first media object can be adjusted upward. If the first media object meets the various criteria contained in the first parameter analysis rule, then the initial media coding parameters of the first media object can be considered to meet the first parameter analysis rule. It can be considered that after the first media object is analyzed by the first parameter analysis rule, it can be determined that the media coding parameters can be adjusted upward. Here, the analysis result obtained by using the first parameter analysis rule can be determined as the analysis result of the adjustment attribute of the initial media coding parameter. The adjustment attribute should include adjustable attributes and non-adjustable attributes. Adjustable attributes can indicate that the initial media coding parameters of the first media object meet the first parameter analysis rule, the initial media coding parameters of the first media object meet the parameter adjustment conditions, and the initial media coding parameters of the first media object can be adjusted upward. Non-adjustable attributes can indicate that the initial media coding parameters of the first media object do not meet the first parameter analysis rule, the initial media coding parameters of the first media object do not meet the parameter adjustment conditions, and the initial media coding parameters of the first media object cannot be adjusted upward.

[0099] In a specific implementation, the first parameter analysis rule and the predicted network speed are used to analyze and detect the upward adjustment attributes of the initial media coding parameters of the first media object. The specific implementation process of obtaining the upward adjustment attributes of the first media object may include but is not limited to: for the convenience of distinction, the initial media coding parameters of the first media object may be first determined as the first initial coding parameters, and the media quality of the first media object under the first initial coding parameters may be determined as the first media quality; then, according to the first parameter analysis rule, the first media quality may be compared with the quality lower limit threshold to determine whether the first media quality is lower than the quality lower limit threshold (that is, whether the first media quality meets the preset quality condition). A comparison result (here referred to as the first comparison result) can be obtained by comparison. The comparison result should include the result that the first media quality is lower than the quality lower limit threshold, and the result that the first media quality is higher than the quality lower limit threshold); further, the above-mentioned K configuration media coding parameters can be obtained. Based on the first initial coding parameter, the K configuration media coding parameters can be traversed to query whether there are any configuration media coding parameters with a higher parameter level than the first initial coding parameter among the K configuration media coding parameters. Since the initial media coding parameters of the first media object need to be adjusted upward to improve its media quality, if there are no configuration media coding parameters with a higher parameter level than the first initial coding parameter among the K configuration media coding parameters, the first initial coding parameter cannot be adjusted upward because it has already taken the value of the largest media coding parameter among the configuration coding parameters. It should be understood that if there are configuration media coding parameters with higher parameter levels among the K configuration media coding parameters, this application can use them as candidate up-adjustment media coding parameters, and select the smallest candidate up-adjustment media coding parameter from them to determine as the up-adjustment media coding parameter for this time (that is, the parameter level of the up-adjustment media coding parameter will only be one level higher than the parameter level of the first initial coding parameter); then, the network speed can be predicted to analyze whether the first initial coding parameter can be up-adjusted to the up-adjustment media coding parameter. Specifically, the difference between the predicted network speed and the up-adjustment media coding parameter can be calculated first (such as calculating the difference between the predicted network speed and the bit rate), and then the up-adjustment attribute of the initial media coding parameter of the first media object can be jointly determined by the difference and the above-mentioned first comparison result.

[0100] The specific implementation process of determining the upward attribute of the initial media coding parameters of the first media object by the difference between the predicted network speed and the upward media coding parameters and the first comparison result may include but is not limited to: the difference between the predicted network speed and the upward media coding parameters can be compared with a difference threshold (the difference threshold can be set manually. Usually, the difference threshold is set to a smaller value to ensure that the upward media coding parameters do not exceed the predicted network speed too much, which can reduce the situation where the preloading cannot be completed in time and the screen appears to be stuck); if the difference between the predicted network speed and the upward media coding parameters is less than the difference threshold, and the above-mentioned first comparison result is that the first media quality is less than the quality lower limit threshold, then it can be considered that the first media If the quality does not meet the preset quality conditions, and the increased media coding parameters do not exceed the predicted network speed by too much, the increased attribute of the initial media coding parameters of the first media object can be determined as an adjustable attribute; on the contrary, if the difference between the predicted network speed and the increased media coding parameters is greater than the difference threshold, or the above-mentioned first comparison result is that the first media quality is greater than the quality lower limit threshold, then it can be considered that the first media quality meets the preset quality conditions, or the first media quality does not meet the preset quality conditions but the increased media coding parameters will exceed the predicted network speed by too much. In either case, the initial media coding parameters of the first media object cannot be adjusted upward, and the increased attribute of the initial media coding parameters of the first media object can be determined as a non-adjustable attribute.

[0101] It is worth noting that the above analysis processes are a series of analysis processes performed when it is determined that there are configuration media coding parameters with higher parameter levels among the K configuration media coding parameters. If it is determined through traversal that there are no configuration media coding parameters with higher parameter levels among the K configuration media coding parameters, then even if the first initial coding parameter is adjusted upward, there is no optional configuration media coding parameter as the adjusted media coding parameter, then the adjustment attribute of the initial media coding parameter of the first media object can be directly determined as an unadjustable attribute. In general, for the first media object, the parameter adjustment condition of its initial media coding parameter means that this parameter should meet the condition of the first parameter analysis rule. If this parameter does not meet the first parameter analysis rule, then this parameter also does not meet the parameter adjustment condition.

[0102] Step S403: The initial media coding parameters of the second media object are analyzed and detected using a second parameter analysis rule to obtain a downward adjustment attribute of the initial media coding parameters of the second media object.

[0103] Specifically, based on the above, a second parameter analysis rule can be used to analyze whether the initial media coding parameters of the second media object can be adjusted downward. If the initial media coding parameters of the second media object meet the various criteria contained in the second parameter analysis rule, then it can be considered that the initial media coding parameters of the second media object meet the second parameter analysis rule. It can be considered that after the second media object is analyzed by the second parameter analysis rule, it is determined that the media coding parameters can be adjusted downward. Here, the analysis result obtained by using the second parameter analysis rule can be determined as the analysis result of the downward adjustment attribute of the initial media coding parameter. The downward adjustment attribute should include adjustable attributes and non-adjustable attributes. The adjustable attribute of the downward adjustment attribute can indicate that the initial media coding parameters of the second media object meet the second parameter analysis rule, the initial media coding parameters of the second media object meet the parameter adjustment conditions, and the initial media coding parameters of the second media object can be adjusted downward. The non-adjustable attribute of the downward adjustment attribute can indicate that the initial media coding parameters of the second media object do not meet the second parameter analysis rule, the initial media coding parameters of the second media object do not meet the parameter adjustment conditions, and the initial media coding parameters of the second media object cannot be adjusted downward.

[0104] In a specific implementation, the specific implementation process of analyzing and detecting the initial media coding parameters of the second media object using the second parameter analysis rule to obtain the downgraded attributes of the initial media coding parameters of the second media object may include but is not limited to: for the convenience of distinction, the initial media coding parameters of the second media object may be first determined as the second initial coding parameters, and the media quality of the second media object under the second initial coding parameters may be determined as the second media quality; further, the second media quality may be compared with the quality upper limit threshold according to the second parameter analysis rule to determine whether the second media quality is higher than the quality upper limit threshold (that is, whether the second media quality meets the preset quality condition), and a comparison result (referred to as the second comparison result here, which should be Including the result that the second media quality is higher than the quality upper limit threshold, and the result that the second media quality is lower than the quality upper limit threshold); further, the above-mentioned K configured media coding parameters can be obtained, and based on the second initial coding parameter, the K configured media coding parameters can be traversed to query whether there are any configured media coding parameters with a lower parameter level than the second initial coding parameter among the K configured media coding parameters. Since the initial media coding parameters of the second media object need to be lowered to balance the average media coding parameters of the media object sequence during preloading, then if there are no configured media coding parameters with a lower parameter level than the second initial coding parameter among the K configured media coding parameters, the second initial coding parameter cannot be lowered because it is already the minimum media coding parameter value. It should be understood that if there are configuration media coding parameters with lower parameter levels among the K configuration media coding parameters, this application can use them as candidate downgraded media coding parameters, and select the largest candidate downgraded media coding parameter from them to determine as the downgraded media coding parameter for this time (that is, the parameter level of the downgraded media coding parameter will only be one level lower than the parameter level of the second initial coding parameter); then, based on the traversal results and combined with the above-mentioned second comparison results, the downgraded properties of the initial media coding parameters of the second media object can be jointly analyzed.Specifically, if the second comparison result indicates that the second media quality is greater than the quality upper limit threshold, and the traversal result indicates that there are configured media coding parameters with a parameter level lower than the second initial coding parameters among the K configured media coding parameters, then it can be considered that the second media quality does not meet the preset quality conditions. At the same time, there are also configured media coding parameters with a lower parameter level among the K configured media coding parameters. The media coding parameters of the second media object can be lowered, and the downward adjustment attribute of the initial media coding parameters of the second media object can be determined as an adjustable attribute; conversely, if the second comparison result indicates that the second media quality is less than the quality upper limit threshold, or the second traversal result indicates that there are no configured media coding parameters with a parameter level lower than the second initial coding parameters among the K configured media coding parameters, then it can be considered that the second media quality meets the preset quality conditions, or there are no configured media coding parameters with a lower parameter level. In either case, the initial media coding parameters of the second media object cannot be lowered, and the downward adjustment attribute of the initial media coding parameters of the second media object can be determined as a non-adjustable attribute. In general, for the second media object, the parameter adjustment condition of its initial media coding parameter means that this parameter should meet the condition of the second parameter analysis rule. If this parameter does not meet the second parameter analysis rule, then this parameter also does not meet the parameter adjustment condition.

[0105] In summary, the first parameter analysis rule includes at least three criteria: ① The media quality of the media object under the current media coding parameters (such as the first initial coding parameters) should be lower than the lower quality threshold (such as 70 points); ② Among the K configured media coding parameters, there are configured media coding parameters with a higher parameter level than the current media coding parameters; ③ The difference between the adjusted media coding parameters and the predicted network speed cannot exceed the difference threshold. If the above three criteria are met, it can be considered that the media object complies with the first parameter analysis rule. The second parameter analysis rule includes at least two criteria: ① The media quality of the media object under the current media coding parameters (such as the second initial coding parameters) should be higher than the upper quality threshold (such as 90 points); ② Among the K configured media coding parameters, there are configured media coding parameters with a lower parameter level than the current media coding parameters. If the above two criteria are met, it can be considered that the media object complies with the second parameter analysis rule.

[0106] Step S404 : determining whether the upward adjustment attribute of the initial media coding parameter of the first media object and the downward adjustment attribute of the initial media coding parameter of the second media object are both adjustable attributes.

[0107] Specifically, after determining the upward attribute of the initial media coding parameter of the first media object and the downward attribute of the initial media coding parameter of the second media object, it can be determined whether both are adjustable attributes; if both are adjustable attributes, the subsequent step S405 can be executed, and if one or all are non-adjustable attributes, then the subsequent step S406 can be executed.

[0108] Step S405 : If both the upward adjustment attribute of the initial media coding parameter of the first media object and the downward adjustment attribute of the initial media coding parameter of the second media object are adjustable attributes, then it is determined that both the first analysis result and the second analysis result are condition-satisfied results.

[0109] Specifically, if the upward adjustment attribute of the initial media coding parameter of the first media object and the downward adjustment attribute of the initial media coding parameter of the second media object are both adjustable attributes, it can be determined that the initial media coding parameters of the first media object and the second media object both comply with the corresponding parameter analysis rules, and the first analysis result of the first media object and the second analysis result of the second media object can both be determined as condition-satisfied results.

[0110] Step S406 : If the upward attribute of the initial media coding parameter of the first media object or the downward attribute of the initial media coding parameter of the second media object is an unadjustable attribute, then both the first analysis result and the second analysis result are determined to be condition-unsatisfied results.

[0111] Specifically, if the upward adjustment attribute of the initial media coding parameter of the first media object or the downward adjustment attribute of the initial media coding parameter of the second media object is an unadjustable attribute, it can be determined that the initial media coding parameter of the first media object does not comply with the corresponding parameter analysis rule or the initial media coding parameter of the second media object does not comply with the corresponding parameter analysis rule, and the first analysis result of the first media object and the second analysis result of the second media object can both be determined as condition-unsatisfied results. In other words, even if the initial media coding parameter of the first media object complies with the first parameter analysis rule, the initial media coding parameter of the second media object cannot be adjusted downward because it does not comply with the second parameter analysis rule. In this case, the initial media coding parameter of the first media object cannot be adjusted upward, and its parameter analysis result should be a condition-unsatisfied result.

[0112] From the above, it can be seen that the parameter adjustment condition in this application refers to the condition that the initial media coding parameters should comply with the corresponding parameter analysis rules (such as the first parameter analysis rule and the second parameter analysis rule). If they do not comply with the corresponding parameter analysis rules, the parameter adjustment condition is not met.

[0113] The embodiments of the present application can, under the constraint of predicted network speed, assign media encoding parameters that are adapted to the media content of different media objects, and can, under the constraint of predicted network speed, dynamically optimize the media encoding parameters of media objects in a media object sequence that do not meet preset quality conditions so that they can meet the preset quality conditions, thereby improving or enhancing the overall playback quality of the media object sequence. Moreover, in the process of dynamically adjusting the media encoding parameters of media objects in a media object sequence that do not meet the preset quality conditions, the adjustment is not performed in a one-size-fits-all manner, but rather an analysis and detection is performed in advance. Adjustment is only made when it is determined that simultaneous dynamic optimization is indeed possible. This can improve the balance and rationality of parameter adjustment and further enhance the overall playback quality of the media object sequence. That is, the embodiments of the present application can dynamically optimize the media encoding parameters of media objects in combination with the media quality of the media objects and under the constraint of predicted network speed. Compared with a one-size-fits-all media encoding parameter adjustment method, the embodiments of the present application can improve the overall playback quality of the media object sequence and reduce the occurrence of screen freezes during playback.

[0114] It can be understood that, as can be seen from the above, the target media object will include a first media object and a second media object. Therefore, in the embodiment corresponding to Figure 3 above, when adjusting the initial media coding parameters of the target media object, the initial media coding parameters of the first media object (the first initial coding parameters) need to be adjusted upward, and the initial media coding parameters of the second media object (the second initial coding parameters) need to be adjusted downward. The specific process may include: determining the configured media coding parameters with a parameter level higher than the first initial coding parameters among the K configured media coding parameters as the upward media coding parameters; determining the configured media coding parameters with a parameter level lower than the second initial coding parameters among the K configured media coding parameters as the first downward media coding parameters; then, adjusting the initial media coding parameters of the first media object to the upward media coding parameters, and adjusting the initial media coding parameters of the second media object to the first downward media coding parameters.

[0115] In a feasible embodiment, after adjusting the initial media coding parameters of the above-mentioned first media object and the second media object accordingly, the present application may consider whether to also lower the media coding parameters of the media object with the second highest media quality in the media object sequence (that is, the media object with the second highest media quality under the corresponding initial media coding parameters). The present application can use the second highest media object as an additional media object for parameter adjustment (referred to as an additional adjustment media object), and configure the additional adjustment media object with corresponding parameter analysis rules (third parameter analysis rules). It can be analyzed according to the third parameter analysis rules to determine whether it complies with the rules. If it complies with the rules, it can be considered that its initial media coding parameters meet the parameter adjustment conditions, and its initial media coding parameters can be appropriately lowered. To facilitate understanding of the specific process, please refer to Figure 5, which is a flow chart of a process for adjusting the parameters of the additional adjustment media object provided by an embodiment of the present application. As shown in Figure 5, the process can at least include the following steps S501-step S505:

[0116] Step S501: Filter the first media object and the second media object in the media object sequence, and determine the filtered media object sequence as a filtered media object sequence.

[0117] Specifically, to better understand the additional adjustment media object, the first media object and the second media object in the media object sequence may be filtered to select the additional adjustment media object from the filtered media object sequence (referred to as the filtered media object sequence).

[0118] Step S502 : According to the media quality of each media object in the filtered media object sequence under the corresponding initial media coding parameters, a media object with the highest media quality is selected from the filtered media object sequence as an additional adjusted media object.

[0119] Specifically, the media quality of each media object included in the filtered media object sequence under the corresponding initial media coding parameters can be obtained, and the media object with the highest media quality among these media qualities is the additional adjusted media object.

[0120] Step S503: obtaining a third parameter analysis rule associated with an additional adjustment media object; the third parameter analysis rule is used to analyze and detect a downward adjustment attribute of a media coding parameter of any media object.

[0121] Specifically, the third parameter analysis rule in this application includes at least three criteria: ① The media quality of the media object under the current media coding parameters (such as the initial media coding parameters of the additionally adjusted media object) should be higher than the upper quality threshold (such as 90 points); ② Among the K configured media coding parameters, there are configured media coding parameters with a parameter level lower than the parameter level of the current media coding parameters; ③ After the downward adjustment, the parameter fluctuation is smaller than that caused by simply lowering the initial media coding parameters of the second media object (such as the second initial coding parameters). Using this third parameter analysis rule, it is possible to analyze and detect whether the media coding parameters of any media object are adjustable.

[0122] To facilitate understanding of the third criterion (i.e., criterion ③) in the third parameter analysis rule, please refer to formula (3). Formula (3) can express the requirements of criterion ③, as shown in formula (3):

[0123] qb1 may be used to represent the media object with the highest media quality in the media object sequence (such as the second media object mentioned above), qb2 may be used to represent the media object with the second highest media quality in the media object sequence (such as the additionally adjusted media object mentioned above), and qw0 may be used to represent the media object with the lowest media quality in the media object sequence (such as the first media object mentioned above); can be used to represent the downgraded media coding parameters of qb1 (such as the first downgraded media coding parameters mentioned above), Initial media coding parameters that can be used to characterize qb1; can be used to characterize the downgraded media coding parameters of qb2 (such as the second downgraded media coding parameters mentioned later), Initial media coding parameters that can be used to characterize qb2 (such as the third initial coding parameters mentioned later); can be used to characterize the adjusted media coding parameters of qw0 (such as the adjusted media coding parameters above), can be used to represent the initial media coding parameters of qw0 (such as the first initial coding parameters mentioned above); abs()ke can be used to represent the summation function. It can be seen from the above formula (3) that after the initial media coding parameters of the additionally adjusted media object are lowered, the absolute value of the difference between the sum of the media coding parameters reduced by the parameters of the second media object after the parameters are lowered, and the media coding parameters increased by adjusting the first media object should be smaller than the absolute value of the difference between the media coding parameters reduced by adjusting the media coding parameters of the second media object alone and the media coding parameters increased by adjusting the first media object.

[0124] Step S504: using a third parameter analysis rule to analyze and detect the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object, to obtain the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object.

[0125] In a specific implementation, the third parameter analysis rule is used to analyze and detect the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object. The specific implementation process of obtaining the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object may include but is not limited to: for the convenience of distinction, the initial media coding parameter of the additional adjustment media object may be first determined as the third initial coding parameter, and the media quality of the additional adjustment media object under the third initial coding parameter may be determined as the third media quality; further, the third media quality may be compared with the quality upper limit threshold according to the third parameter analysis rule to determine whether the third media quality is higher than the quality upper limit threshold (that is, whether the third media quality meets the preset quality condition). A comparison result (here referred to as is the third comparison result, and the third comparison result should include the result that the third media quality is higher than the quality upper limit threshold, and the result that the third media quality is lower than the quality upper limit threshold); further, the K configured media coding parameters can be traversed to query whether there are any configured media coding parameters with a parameter level lower than the third initial coding parameter among the K configured media coding parameters. Since the initial media coding parameters of the additional adjustment media objects need to be lowered to balance the average media coding parameters of the media object sequence during preloading, if there are no configured media coding parameters with a parameter level lower than the third initial coding parameter among the K configured media coding parameters, the third initial coding parameter cannot be lowered because it is already the minimum media coding parameter value. It should be understood that if there are configuration media coding parameters with lower parameter levels among the K configuration media coding parameters, the present application can use them as candidate down-adjustment media coding parameters, and select the largest candidate down-adjustment media coding parameter from them to be determined as the second down-adjustment media coding parameter for this time (that is, the parameter level of the down-adjustment media coding parameter will only be one level lower than the parameter level of the third initial coding parameter); finally, according to criterion ③ indicated by the above formula (3), the down-adjustment properties of the initial media coding parameters of the additional adjustment media object can be analyzed through the second down-adjustment media coding parameter, the second down-adjustment media coding parameter and the up-adjustment media coding parameter.

[0126] The specific implementation process may include, but is not limited to: determining a first difference between the second initial coding parameter and the first downward-adjusted media coding parameter, a second difference between the third initial coding parameter and the second downward-adjusted media coding parameter, and a third difference between the upward-adjusted media coding parameter and the first initial coding parameter; determining a sum of differences between the first difference and the second difference; determining the difference between the sum of the differences and the third difference as a first fluctuation value, and determining the difference between the first difference and the third difference as a second fluctuation value; if the first fluctuation value is greater than the second fluctuation value, it can be considered that downward-adjusting the initial media coding parameter of the additional adjustment media object will cause greater parameter fluctuation (such as bitrate fluctuation) for the overall value, and the downward-adjusting attribute of the initial media coding parameter of the additional adjustment media object can be determined as a non-adjustable attribute; and if the first fluctuation value is less than the second fluctuation value, it can be considered that downward-adjusting the initial media coding parameter of the additional adjustment media object will reduce the overall parameter fluctuation, and the downward-adjusting attribute of the initial media coding parameter of the additional adjustment media object can be determined as an adjustable attribute.

[0127] Step S505 : If the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object is an adjustable attribute, the third analysis result of the additional adjustment media object is determined to be a condition-satisfied result, and the initial media coding parameter of the additional adjustment media object is adjusted.

[0128] Specifically, if the downgraded attribute of the initial media coding parameter of the additional adjustment media object is an adjustable attribute, the third analysis result of the additional adjustment media object can be determined as a condition-satisfied result, and the initial media coding parameter of the additional adjustment media object can be adjusted. For example, the initial media coding parameter of the additional adjustment media object can be downgraded to the second downgraded media coding parameter described above. In general, for an additional adjustment media object, the parameter adjustment condition of its initial media coding parameter means that the parameter must meet the condition of the third parameter analysis rule. If the parameter does not meet the third parameter analysis rule, then the parameter does not meet the parameter adjustment condition, and its downgraded attribute should be a non-adjustable attribute.

[0129] In summary, the embodiments of the present application can allocate media encoding parameters that are adapted to the media content of the media object under the constraint of the predicted network speed, and can also adaptively adjust the media encoding parameters of the target media object that does not meet the preset quality conditions in combination with the media quality of the media object under the constraint of the predicted network speed, so that the media encoding parameters can meet the preset quality conditions without causing large fluctuations in the media encoding parameters, thereby improving or enhancing the overall playback quality of the media object sequence. On this basis, in order to reduce the parameter fluctuations caused by the adjustment of the media encoding parameters, the present application can additionally judge the media object with the second highest media quality to determine whether it is necessary to lower its media encoding parameters to smooth the parameter fluctuations. In this way, the fluctuations in the media encoding parameters can be further reduced while improving the overall playback quality of the media object sequence.

[0130] Further, for easier understanding, please refer to Figure 6, which is a schematic diagram of a system logic architecture provided by an embodiment of the present application. As shown in Figure 6, the system logic architecture needs to include at least the following components:

[0131] 1. Network speed prediction component:

[0132] The network speed prediction component can be used to predict the network speed corresponding to the media object sequence to be played (that is, the network speed when playing the media object sequence, which can be called the predicted network speed corresponding to the media object sequence). Specifically, it can be calculated based on the historical network speed at different time points in the historical time period.

[0133] 2. Initial media coding parameter prediction component:

[0134] The initial media coding parameter prediction component can be used to predict, for each media object, initial media coding parameters adapted to its media content from K configured media coding parameters, subject to the constraints of a predicted network speed. Each initial media coding parameter will not exceed the predicted network speed. For example, if a media object's content is relatively simple and higher media quality can be achieved with smaller media coding parameters, then the optional configured media coding parameters for this media object can be all of the K configured media coding parameters. For this media object, the largest configured media coding parameter among all parameters below the predicted network speed can be selected as its initial media coding parameter. If a media object's content is relatively complex and requires a larger parameter to ensure media quality, then the optional configured media coding parameters for this media object can be the three higher configured media coding parameters. Among these three configured media coding parameters, all configured media coding parameters below the predicted network speed can be determined, and the largest configured media coding parameter can be selected as its initial media coding parameter.

[0135] 3. Media coding parameter dynamic planning component:

[0136] The media coding parameter dynamic planning component can be used to obtain the media quality of each media object under the corresponding initial media coding parameters, and select the target media objects that do not meet the preset quality conditions, and then analyze whether the initial media coding parameters of the target media objects can be adjusted according to the corresponding parameter analysis rules; in addition, the media coding parameter dynamic planning component can also be used to obtain the additional adjustment media object with the second highest media quality, and analyze whether the initial media coding parameters of the additional adjustment media object can be adjusted according to the corresponding parameter analysis rules.

[0137] 4. Media encoding parameter selection component:

[0138] The media coding parameter selection component can be used to decide whether to adjust the initial media coding parameters of the target media object and the additional adjustment media object based on the analysis results of the media coding parameter dynamic planning component, and adjust them accordingly (such as up or down) when it is determined that they need to be adjusted.

[0139] The specific implementation functions of the above four components can be found in the corresponding descriptions in the previous embodiments, and will not be elaborated here. The beneficial effects brought about by them will not be elaborated here either.

[0140] Further, please refer to Figure 7, which is a schematic diagram of the structure of a data processing device provided in an embodiment of the present application. The data processing device can be a computer program (including program code) running on a computer device, for example, the data processing device is an application software; the data processing device can be used to execute the method shown in Figure 3. As shown in Figure 7, the data processing device 1 may include: a data acquisition module 11, an initial parameter determination module 12, a data selection module 13, an analysis module 14, and a parameter adjustment module 15.

[0141] The data acquisition module 11 is used to acquire a media object sequence to be played; the media object sequence consists of N media objects; N is a positive integer;

[0142] An initial parameter determination module 12 is configured to determine initial media encoding parameters corresponding to each media object based on a predicted network speed corresponding to the media object sequence;

[0143] The data selection module 13 is configured to select, from the media object sequence, target media objects whose media quality does not meet a preset quality condition based on the media quality of each media object under the corresponding initial media encoding parameters; the preset quality condition is a condition that the media quality is not higher than an upper quality threshold or not lower than a lower quality threshold;

[0144] An analysis module 14 is configured to analyze the initial media encoding parameters of the target media object based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media encoding parameters of the target media object meet the parameter adjustment conditions;

[0145] The parameter adjustment module 15 is configured to adjust the initial media coding parameters of the target media object if the analysis result indicates that the initial media coding parameters of the target media object meet the parameter adjustment conditions; the media quality of the target media object under the adjusted media coding parameters meets the preset quality conditions.

[0146] Among them, the specific implementation methods of the data acquisition module 11, the initial parameter determination module 12, the data selection module 13, the analysis module 14 and the parameter adjustment module 15 can be found in the description of steps S101 to S105 in the embodiment corresponding to Figure 3 above, and will not be repeated here.

[0147] In one embodiment, the specific implementation of the initial parameter determination module 12 determining the initial media encoding parameters of each media object based on the predicted network speed corresponding to the media object sequence includes:

[0148] Obtaining an average network speed for a historical time period, and determining the average network speed as a predicted network speed for the media object sequence; the historical time period is earlier than the time when the media object sequence is played;

[0149] Obtain K configuration media coding parameters; any two configuration media coding parameters among the K configuration media coding parameters belong to different parameter levels; K is a positive integer;

[0150] Parameter adaptation analysis is performed on each media object based on the predicted network speed, and initial media coding parameters of each media object are selected from K configured media coding parameters.

[0151] In one embodiment, the specific implementation of the initial parameter determination module 12 obtaining the average network speed for a historical time period includes:

[0152] According to the time extraction rule, T time points are extracted from the historical time period; T is a positive integer;

[0153] Obtain the historical network speed corresponding to each of T time points to obtain T historical network speeds;

[0154] Determine the average of T historical network speeds;

[0155] The average of the T historical network speeds is determined as the average network speed for the historical time period.

[0156] In one embodiment, the initial parameter determination module 12 performs parameter adaptation analysis on each media object based on the predicted network speed and selects the initial media coding parameters for each media object from K configured media coding parameters. The specific implementation method includes:

[0157] determining any one media object in the media object sequence as an analysis media object;

[0158] Get and analyze the media content of the media object;

[0159] A parameter prediction model is called based on analyzing the media content of the media object; K configuration media coding parameters are deployed in the parameter prediction model;

[0160] Through the parameter prediction model, the media content of the analyzed media object and the predicted network speed are comprehensively analyzed, and the predicted media coding parameters suitable for the analyzed media object are output; the predicted media coding parameters are less than the predicted network speed;

[0161] The predicted media coding parameters of the analyzed media object are determined as initial media coding parameters of the analyzed media object.

[0162] In one embodiment, the target media objects whose media quality does not meet the preset quality condition include a first media object and a second media object; the first media object refers to the media object with the lowest media quality in the media object sequence, and the second media object refers to the media object with the highest media quality in the media object sequence; the analysis result includes a first analysis result of the first media object and a second analysis result of the second media object;

[0163] The analysis module analyzes the initial media encoding parameters of the target media object based on the predicted network speed, and obtains the specific implementation method of the analysis result, including:

[0164] Obtaining a first parameter analysis rule associated with a first media object and a second parameter analysis rule associated with a second media object; the first parameter analysis rule is used to analyze and detect an upward adjustment attribute of a media coding parameter of any media object in combination with the predicted network speed; and the second parameter analysis rule is used to analyze and detect a downward adjustment attribute of a media coding parameter of any media object;

[0165] Analyzing and detecting the upward adjustment attribute of the initial media coding parameter of the first media object using the first parameter analysis rule and the predicted network speed to obtain the upward adjustment attribute of the initial media coding parameter of the first media object;

[0166] Analyzing and detecting the downward adjustment attribute of the initial media coding parameter of the second media object using the second parameter analysis rule to obtain the downward adjustment attribute of the initial media coding parameter of the second media object;

[0167] If both the upward adjustment attribute of the initial media coding parameter of the first media object and the downward adjustment attribute of the initial media coding parameter of the second media object are adjustable attributes, determining that both the first analysis result and the second analysis result are condition-satisfied results;

[0168] If the upward adjustment attribute of the initial media coding parameter of the first media object or the downward adjustment attribute of the initial media coding parameter of the second media object is an unadjustable attribute, it is determined that both the first analysis result and the second analysis result are condition-unsatisfied results.

[0169] In one embodiment, the analysis module uses the first parameter analysis rule and the predicted network speed to analyze and detect the upward adjustment attribute of the initial media coding parameter of the first media object, and obtains a specific implementation method of the upward adjustment attribute of the initial media coding parameter of the first media object, including:

[0170] Determining initial media encoding parameters of the first media object as first initial encoding parameters, and determining media quality of the first media object under the first initial encoding parameters as first media quality;

[0171] Comparing the first media quality with a lower quality threshold according to a first parameter analysis rule to obtain a first comparison result;

[0172] Obtain K configuration media coding parameters; any two configuration media coding parameters among the K configuration media coding parameters belong to different parameter levels; K is a positive integer;

[0173] Obtaining, from the K configured media coding parameters, configured media coding parameters having a parameter level higher than that of the first initial coding parameters, and determining the configured media coding parameters having a parameter level higher than that of the first initial coding parameters among the K configured media coding parameters as the upward-adjusted media coding parameters;

[0174] An upward adjustment attribute of the initial media coding parameter of the first media object is determined by using a difference between the predicted network speed and the upward adjusted media coding parameter and a first comparison result.

[0175] In one embodiment, a specific implementation method of the analysis module determining the upward adjustment attribute of the initial media coding parameter of the first media object based on the difference between the predicted network speed and the upward adjustment media coding parameter and the first comparison result includes:

[0176] If a difference between the predicted network speed and the upward-adjusted media coding parameter is less than a difference threshold, and the first comparison result indicates that the first media quality is less than a lower quality threshold, determining the upward-adjusted attribute of the initial media coding parameter of the first media object as an adjustable attribute;

[0177] If the difference between the predicted network speed and the upward media coding parameter is greater than the difference threshold, or the first comparison result indicates that the first media quality is greater than the quality lower limit threshold, the upward adjustment attribute of the initial media coding parameter of the first media object is determined as a non-adjustable attribute.

[0178] In one embodiment, the analysis module uses the second parameter analysis rule to analyze and detect the upward attribute of the initial media coding parameter of the second media object, and obtains the downward attribute of the initial media coding parameter of the second media object. The specific implementation method includes:

[0179] determining the initial media encoding parameters of the second media object as second initial encoding parameters, and determining the media quality of the second media object under the second initial encoding parameters as second media quality;

[0180] comparing the second media quality with the upper quality threshold according to the second parameter analysis rule to obtain a second comparison result;

[0181] Obtain K configuration media coding parameters; any two configuration media coding parameters among the K configuration media coding parameters belong to different parameter levels; K is a positive integer;

[0182] Traversing K configured media encoding parameters based on the second initial encoding parameter to obtain a traversal result;

[0183] If the second comparison result indicates that the second media quality is greater than the upper quality threshold, and the traversal result indicates that there is a configured media coding parameter with a parameter level lower than the parameter level of the second initial coding parameter among the K configured media coding parameters, then determining the downward adjustment attribute of the initial media coding parameter of the second media object as an adjustable attribute;

[0184] If the second comparison result indicates that the second media quality is less than the quality upper limit threshold, or the traversal result indicates that there is no configured media coding parameter with a parameter level lower than the parameter level of the second initial coding parameter among the K configured media coding parameters, then the downward adjustment attribute of the initial media coding parameter of the second media object is determined as a non-adjustable attribute.

[0185] In one embodiment, the specific implementation of the parameter adjustment module adjusting the initial media encoding parameters of the target media object includes:

[0186] Obtain K configuration media coding parameters; any two configuration media coding parameters among the K configuration media coding parameters belong to different parameter levels; K is a positive integer;

[0187] Determining, among the K configured media coding parameters, a configured media coding parameter having a parameter level higher than a parameter level of a first initial coding parameter as an upwardly adjusted media coding parameter; wherein the first initial coding parameter is an initial media coding parameter of the first media object;

[0188] Determining, among the K configured media coding parameters, a configured media coding parameter with a parameter level lower than a parameter level of a second initial coding parameter as a first downgraded media coding parameter; the second initial coding parameter is an initial media coding parameter of the second media object;

[0189] The initial media coding parameters of the first media object are adjusted to the up-adjusted media coding parameters, and the initial media coding parameters of the second media object are adjusted to the first down-adjusted media coding parameters.

[0190] In one embodiment, after the parameter adjustment module adjusts the initial media coding parameter of the first media object to the up-adjusted media coding parameter and adjusts the initial media coding parameter of the second media object to the first down-adjusted media coding parameter, the parameter adjustment module is further configured to filter the first media object and the second media object in the media object sequence and determine the filtered media object sequence as a filtered media object sequence;

[0191] The parameter adjustment module is further configured to select a media object with the highest media quality from the filtered media object sequence as an additional adjustment media object according to the media quality of each media object in the filtered media object sequence under the corresponding initial media encoding parameters;

[0192] The parameter adjustment module is further used to obtain a third parameter analysis rule associated with additionally adjusting the media object; the third parameter analysis rule is used to analyze and detect the downward adjustment attribute of the media coding parameter of any media object;

[0193] The parameter adjustment module is further configured to analyze and detect the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object using a third parameter analysis rule to obtain the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object;

[0194] The parameter adjustment module is further configured to determine that the third analysis result of the additional adjustment media object is a condition-satisfied result if the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object is an adjustable attribute, and adjust the initial media coding parameter of the additional adjustment media object.

[0195] In one embodiment, the parameter adjustment module uses the third parameter analysis rule to analyze and detect the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object, and obtains a specific implementation method of the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object, including:

[0196] determining the initial media coding parameters of the additionally adjusted media object as third initial coding parameters, and determining the media quality of the additionally adjusted media object under the third initial coding parameters as third media quality;

[0197] comparing the third media quality with the upper quality threshold according to a third parameter analysis rule to obtain a third comparison result;

[0198] Obtaining, from the K configured media coding parameters, a configured media coding parameter having a parameter level lower than the parameter level of the third initial coding parameter, and determining the configured media coding parameter having a parameter level lower than the parameter level of the third initial coding parameter among the K configured media coding parameters as a second downgraded media coding parameter;

[0199] The downward adjustment attribute of the initial media coding parameter of the additional adjustment media object is analyzed through the first downward adjustment media coding parameter, the second downward adjustment media coding parameter, and the upward adjustment media coding parameter.

[0200] In one embodiment, a specific implementation method of the parameter adjustment module analyzing and additionally adjusting the downward adjustment attribute of the initial media coding parameter of the media object through the first downward adjustment media coding parameter, the second downward adjustment media coding parameter, and the upward adjustment media coding parameter includes:

[0201] determining a first difference between the second initial encoding parameter and the first down-adjusted media encoding parameter, a second difference between the third initial encoding parameter and the second down-adjusted media encoding parameter, and a third difference between the up-adjusted media encoding parameter and the first initial encoding parameter;

[0202] determining a sum of differences between the first difference and the second difference;

[0203] Determine the difference between the sum of the differences and the third difference as the first fluctuation value;

[0204] determining the difference between the first difference and the third difference as a second fluctuation value;

[0205] If the first fluctuation value is greater than the second fluctuation value, determining the downward adjustment attribute of the initial media coding parameter of the additional adjustment media object as a non-adjustable attribute;

[0206] If the first fluctuation value is smaller than the second fluctuation value, the downward adjustment attribute of the initial media coding parameter of the additionally adjusted media object is determined as an adjustable attribute.

[0207] The embodiments of the present application can allocate media coding parameters that are adapted to the media content of different media objects under the constraint of the predicted network speed, and can adaptively and dynamically optimize the media coding parameters of different media objects in combination with the media quality of the media objects under the constraint of the predicted network speed, so that they can meet the preset quality conditions without causing large fluctuations in the media coding parameters, thereby improving or enhancing the overall playback quality of the media object sequence.

[0208] Further, please refer to Figure 8, which is a structural diagram of a computer device provided in an embodiment of the present application. As shown in Figure 8, the above-mentioned computer device 8000 may include: a processor 8001, a network interface 8004 and a memory 8005. In addition, the above-mentioned computer device 8000 also includes: a user interface 8003, and at least one communication bus 8002. Among them, the communication bus 8002 is used to realize the connection and communication between these components. Among them, the user interface 8003 may include a display screen (Display), a keyboard (Keyboard), and the optional user interface 8003 may also include a standard wired interface and a wireless interface. The network interface 8004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 8005 may be a high-speed RAM memory or a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 8005 may also be at least one storage device located away from the aforementioned processor 8001. As shown in Figure 8, the memory 8005 as a computer-readable storage medium may include an operating system, a network communication module, a user interface module and a device control application.

[0209] In the computer device 8000 shown in FIG8 , the network interface 8004 can provide network communication functions; the user interface 8003 is mainly used to provide an interface for user input; and the processor 8001 can be used to call the device control application stored in the memory 8005 to achieve:

[0210] Get the media object sequence to be played; the media object sequence consists of N media objects; N is a positive integer;

[0211] Determining initial media encoding parameters corresponding to each media object based on a predicted network speed corresponding to the media object sequence;

[0212] According to the media quality of each media object under the corresponding initial media coding parameters, select the target media object whose media quality does not meet the preset quality condition from the media object sequence; the preset quality condition is the condition that the media quality is not higher than the upper quality threshold or not lower than the lower quality threshold;

[0213] Analyzing the initial media coding parameters of the target media object based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media coding parameters of the target media object meet the parameter adjustment conditions;

[0214] If the analysis result indicates that the initial media coding parameters of the target media object meet the parameter adjustment condition, the initial media coding parameters of the target media object are adjusted; the media quality of the target media object under the adjusted media coding parameters meets the preset quality condition.

[0215] It should be understood that the computer device 8000 described in the embodiments of the present application can execute the data processing method described in the embodiments corresponding to Figures 3 to 5 above, and can also execute the data processing device 1 described in the embodiment corresponding to Figure 7 above, and the description thereof will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated here.

[0216] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the above-mentioned computer-readable storage medium stores a computer program executed by the computer device 8000 for data processing mentioned above, and the above-mentioned computer program includes program instructions. When the above-mentioned processor executes the above-mentioned program instructions, it can execute the description of the above-mentioned data processing method in the embodiments corresponding to Figures 3 to 5 above. Therefore, it will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.

[0217] The computer-readable storage medium may be the data processing device provided in any of the aforementioned embodiments or the internal storage unit of the computer device, such as the hard disk or memory of the computer device. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device. Furthermore, the computer-readable storage medium may also include both the internal storage unit of the computer device and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium may also be used to temporarily store data that has been output or is to be output.

[0218] In one aspect of the present application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method provided in one aspect of the embodiments of the present application.

[0219] The terms "first", "second", etc. in the description, claims, and drawings of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "comprising" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, apparatus, product, or device comprising a series of steps or units is not limited to the listed steps or modules, but may optionally include steps or modules not listed, or may optionally include other step units inherent to these processes, methods, apparatuses, products, or devices.

[0220] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0221] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0222] The method and related apparatus provided in the embodiment of the present application are described with reference to the method flow chart and / or structural diagram provided in the embodiment of the present application, and specifically can be implemented by computer program instructions for each process and / or box of the method flow chart and / or structural diagram, and the combination of the process and / or box in the flow chart and / or block diagram. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the function specified in one process or multiple processes of the flow chart and / or one box or multiple boxes of the structural diagram. These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device, and the instruction device implements the function specified in one process or multiple processes of the flow chart and / or one box or multiple boxes of the structural diagram. These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the structural diagram.

[0223] The above disclosure is only a preferred embodiment of the present application, and certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. A data processing method, characterized in that, The method is executed by a computer device, and the method includes: Obtain a sequence of media objects to be played; the sequence of media objects consists of N media objects; N is a positive integer; Based on the predicted network speed corresponding to the sequence of media objects, determine the initial media encoding parameters corresponding to each media object; Select, from the sequence of media objects, target media objects whose media quality does not meet a preset quality condition according to the media quality of each media object under the corresponding initial media encoding parameters; the preset quality condition refers to the condition that the media quality is not higher than the quality upper limit threshold or not lower than the quality lower limit threshold; Analyze the initial media encoding parameters of the target media objects based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media encoding parameters of the target media objects meet the parameter adjustment condition; If the analysis result indicates that the initial media encoding parameters of the target media objects meet the parameter adjustment condition, then adjust the initial media encoding parameters of the target media objects; the media quality of the target media objects under the adjusted media encoding parameters meets the preset quality condition.

2. The method according to claim 1, wherein The determining the initial media encoding parameters corresponding to each media object based on the predicted network speed corresponding to the sequence of media objects includes: Obtain the average network speed in a historical time period, and determine the average network speed as the predicted network speed of the sequence of media objects; the historical time period is earlier than the time when the sequence of media objects is played; Obtain K configured media encoding parameters; any two of the K configured media encoding parameters belong to different parameter levels; K is a positive integer; Perform parameter adaptation analysis on each media object based on the predicted network speed, and select the initial media encoding parameters of each media object from the K configured media encoding parameters.

3. The method according to any one of claims 1 to 2, characterized in that The obtaining the average network speed in a historical time period includes: Extract T time points from the historical time period according to a time extraction rule; T is a positive integer; Obtain the historical network speed corresponding to each of the T time points to obtain T historical network speeds; Determine the average value of the T historical network speeds; Determine the average value of the T historical network speeds as the average network speed of the historical time period.

4. The method according to any one of claims 1 to 3, characterized in that The performing parameter adaptation analysis on each media object based on the predicted network speed and selecting the initial media encoding parameters of each media object from the K configured media encoding parameters includes: Determine any one media object in the sequence of media objects as an analysis media object; Obtain the media content of the analysis media object; Call a parameter prediction model based on the media content of the analysis media object; the K configured media encoding parameters are deployed in the parameter prediction model; Through the parameter prediction model, comprehensively analyze the media content of the analysis media object and the predicted network speed, and output predicted media encoding parameters adapted to the analysis media object; the predicted media encoding parameters are less than the predicted network speed; Determine the predicted media encoding parameters of the analyzed media object as the initial media encoding parameters of the analyzed media object.

5. The method according to any one of claims 1 to 4, characterized in that The target media objects whose media quality does not meet the preset browsing conditions include a first media object and a second media object; the first media object refers to the media object with the lowest media quality in the media object sequence, and the second media object refers to the media object with the highest media quality in the media object sequence; the analysis result includes a first analysis result of the first media object and a second analysis result of the second media object; Analyzing the initial media encoding parameters of the target media object based on the predicted network speed to obtain an analysis result, including: Obtain a first parameter analysis rule associated with the first media object and a second parameter analysis rule associated with the second media object; the first parameter analysis rule is used to jointly analyze and detect the upward adjustment attribute of the media encoding parameters of any media object in combination with the predicted network speed, and the second parameter analysis rule is used to analyze and detect the downward adjustment attribute of the media encoding parameters of any media object. Use the first parameter analysis rule and the predicted network speed to analyze and detect the upward adjustment attribute of the initial media encoding parameters of the first media object, and obtain the upward adjustment attribute of the initial media encoding parameters of the first media object. Use the second parameter analysis rule to analyze and detect the downward adjustment attribute of the initial media encoding parameters of the second media object, and obtain the downward adjustment attribute of the initial media encoding parameters of the second media object. If both the upward adjustment attribute of the initial media encoding parameters of the first media object and the downward adjustment attribute of the initial media encoding parameters of the second media object are adjustable attributes, then determine that both the first analysis result and the second analysis result are condition-satisfied results. If either the upward adjustment attribute of the initial media encoding parameters of the first media object or the downward adjustment attribute of the initial media encoding parameters of the second media object is an unadjustable attribute, then determine that both the first analysis result and the second analysis result are condition-unmet results.

6. The method according to any one of claims 1 to 5, characterized in that, The using the first parameter analysis rule and the predicted network speed to analyze and detect the upward adjustment attribute of the initial media encoding parameters of the first media object, and obtaining the upward adjustment attribute of the initial media encoding parameters of the first media object, includes: Determine the initial media encoding parameters of the first media object as the first initial encoding parameters, and determine the media quality of the first media object under the first initial encoding parameters as the first media quality. Compare the first media quality with the quality lower limit threshold according to the first parameter analysis rule to obtain a first comparison result. Obtain K configured media encoding parameters; any two of the K configured media encoding parameters belong to different parameter grades; K is a positive integer. From the K configured media encoding parameters, obtain the configured media encoding parameters whose parameter level is higher than that of the first initial encoding parameter, and determine the configured media encoding parameters whose parameter level is higher than that of the first initial encoding parameter among the K configured media encoding parameters as the increased media encoding parameters; Determine the increase attribute of the initial media encoding parameter of the first media object based on the difference between the predicted network speed and the increased media encoding parameter, and the first comparison result.

7. The method according to any one of claims 1 to 6, characterized in that, The determining the increase attribute of the initial media encoding parameter of the first media object based on the difference between the predicted network speed and the increased media encoding parameter, and the first comparison result includes: If the difference between the predicted network speed and the increased media encoding parameter is less than the difference threshold, and the first comparison result indicates that the first media quality is less than the quality lower limit threshold, then determine the increase attribute of the initial media encoding parameter of the first media object as the adjustable attribute; If the difference between the predicted network speed and the increased media encoding parameter is greater than the difference threshold, or the first comparison result indicates that the first media quality is greater than the quality lower limit threshold, then determine the increase attribute of the initial media encoding parameter of the first media object as the non-adjustable attribute.

8. The method according to any one of claims 1 to 7, characterized in that, The analyzing and detecting the decrease attribute of the initial media encoding parameter of the second media object by using the second parameter analysis rule to obtain the decrease attribute of the initial media encoding parameter of the second media object includes: Determine the initial media encoding parameter of the second media object as the second initial encoding parameter, and determine the media quality of the second media object under the second initial encoding parameter as the second media quality; Compare the second media quality with the quality upper limit threshold according to the second parameter analysis rule to obtain a second comparison result; Obtain K configured media encoding parameters; any two of the K configured media encoding parameters belong to different parameter levels; K is a positive integer; Traverse the K configured media encoding parameters based on the second initial encoding parameter to obtain a traversal result; If the second comparison result indicates that the second media quality is greater than the quality upper limit threshold, and the traversal result indicates that there are configured media encoding parameters among the K configured media encoding parameters whose parameter level is lower than that of the second initial encoding parameter, then determine the decrease attribute of the initial media encoding parameter of the second media object as the adjustable attribute; If the second comparison result indicates that the second media quality is less than the quality upper limit threshold, or the traversal result indicates that there are no configured media encoding parameters among the K configured media encoding parameters whose parameter level is lower than that of the second initial encoding parameter, then determine the decrease attribute of the initial media encoding parameter of the second media object as the non-adjustable attribute.

9. The method according to any one of claims 1 to 8, characterized in that The adjusting the initial media encoding parameter of the target media object includes: Obtain K configured media encoding parameters; any two of the K configured media encoding parameters belong to different parameter levels; K is a positive integer; Among the K configured media encoding parameters, determine the configured media encoding parameters whose parameter levels are higher than the parameter level of the first initial encoding parameter as the upward adjustment media encoding parameters; the first initial encoding parameter refers to the initial media encoding parameter of the first media object; Among the K configured media encoding parameters, determine the configured media encoding parameters whose parameter levels are lower than the parameter level of the second initial encoding parameter as the first downward adjustment media encoding parameters; the second initial encoding parameter refers to the initial media encoding parameter of the second media object; Adjust the initial media encoding parameter of the first media object to the upward adjustment media encoding parameter, and adjust the initial media encoding parameter of the second media object to the first downward adjustment media encoding parameter.

10. The method according to any one of claims 1 to 9, characterized in that, After adjusting the initial media encoding parameter of the first media object to the upward adjustment media encoding parameter and adjusting the initial media encoding parameter of the second media object to the first downward adjustment media encoding parameter, the method further includes: Filter the first media object and the second media object in the media object sequence, and determine the filtered media object sequence as the filtered media object sequence; Select the media object with the highest media quality from the filtered media object sequence as the additional adjustment media object according to the media quality of each media object in the filtered media object sequence under the corresponding initial media encoding parameter; Obtain the third parameter analysis rule associated with the additional adjustment media object; the third parameter analysis rule is used to analyze and detect the downward adjustment attribute of the media encoding parameter of any media object; Use the third parameter analysis rule to analyze and detect the downward adjustment attribute of the initial media encoding parameter of the additional adjustment media object, and obtain the downward adjustment attribute of the initial media encoding parameter of the additional adjustment media object; If the downward adjustment attribute of the initial media encoding parameter of the additional adjustment media object is an adjustable attribute, determine that the third analysis result of the additional adjustment media object is a condition satisfaction result, and adjust the initial media encoding parameter of the additional adjustment media object.

11. The method according to any one of claims 1 to 10, characterized in that, The using the third parameter analysis rule to analyze and detect the downward adjustment attribute of the initial media encoding parameter of the additional adjustment media object, and obtaining the downward adjustment attribute of the initial media encoding parameter of the additional adjustment media object includes: Determine the initial media encoding parameter of the additional adjustment media object as the third initial encoding parameter, and determine the media quality of the additional adjustment media object under the third initial encoding parameter as the third media quality; According to the third parameter analysis rule, compare the third media quality with the quality upper limit threshold to obtain a third comparison result; From the K configured media encoding parameters, obtain the configured media encoding parameters whose parameter level is lower than that of the third initial encoding parameter, and determine the configured media encoding parameters whose parameter level is lower than that of the third initial encoding parameter among the K configured media encoding parameters as the second down-regulated media encoding parameters; Analyze the down-regulation attribute of the initial media encoding parameter of the additional adjustment media object through the first down-regulated media encoding parameter, the second down-regulated media encoding parameter, and the up-regulated media encoding parameter.

12. The method according to any one of claims 1 to 11, characterized in that, The analyzing the down-regulation attribute of the initial media encoding parameter of the additional adjustment media object through the first down-regulated media encoding parameter, the second down-regulated media encoding parameter, and the up-regulated media encoding parameter includes: Determine a first difference between the second initial encoding parameter and the first down-regulated media encoding parameter, a second difference between the third initial encoding parameter and the second down-regulated media encoding parameter, and a third difference between the up-regulated media encoding parameter and the first initial encoding parameter; Determine the total difference between the first difference and the second difference; Determine the difference between the total difference and the third difference as the first fluctuation value; Determine the difference between the first difference and the third difference as the second fluctuation value; If the first fluctuation value is greater than the second fluctuation value, determine the down-regulation attribute of the initial media encoding parameter of the additional adjustment media object as an unadjustable attribute; If the first fluctuation value is less than the second fluctuation value, determine the down-regulation attribute of the initial media encoding parameter of the additional adjustment media object as an adjustable attribute.

13. A data processing device, characterized in that, The data processing device is applied to a computer device, and the device includes: A data acquisition module for acquiring a sequence of media objects to be played; the sequence of media objects is composed of N media objects; N is a positive integer; An initial parameter determination module for determining the initial media encoding parameter corresponding to each media object based on the predicted network speed corresponding to the sequence of media objects; A data selection module for selecting a target media object whose media quality does not meet the preset quality condition from the sequence of media objects according to the media quality of each media object under the corresponding initial media encoding parameter; the preset quality condition refers to the condition that the media quality is not higher than the quality upper limit threshold or not lower than the quality lower limit threshold; An analysis module for analyzing the initial media encoding parameter of the target media object based on the predicted network speed to obtain an analysis result; the analysis result is used to determine whether the initial media encoding parameter of the target media object meets the parameter adjustment condition; A parameter adjustment module for adjusting the initial media encoding parameter of the target media object if the analysis result indicates that the initial media encoding parameter of the target media object meets the parameter adjustment condition; the media quality of the target media object under the adjusted media encoding parameter meets the preset quality condition.

14. A computer device, characterized in that, including: A processor, a memory, and a network interface; The processor is connected to the memory and the network interface. Among them, the network interface is used to provide network communication functions, the memory is used to store computer programs, and the processor is used to call the computer programs so that the computer device executes the method according to any one of claims 1-12.

15. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, and the computer program is adapted to be loaded and executed by a processor to execute the method according to any one of claims 1-12.

16. A computer program product, characterized in that, The computer program product includes a computer program, the computer program is stored in a computer-readable storage medium, and the computer program is adapted to be read and executed by a processor so that a computer device having the processor executes the method according to any one of claims 1-12.

Citation Information

Patent Citations

  • Method for selecting code stream segmentation based on streaming media, player and terminal

    CN103929684A

  • Media rate adaptation method, apparatus, computer device, and storage medium

    CN109040801A

  • Video code rate adjusting method, device and equipment

    CN116208771A

  • Video preloading method and device, computer equipment and storage medium

    CN117376645A

  • Data processing method, device and equipment and readable storage medium

    CN117560525A