Display device and method for downloading media data

By applying a proportional-integral model to the display device to control the amount of cached data and latency in the download chain, the problem of streaming media playback interruptions caused by unstable network bandwidth was solved, resulting in more stable data downloads and a better user experience.

CN117676182BActive Publication Date: 2026-06-02VIDAA INT HLDG (NETHERLANDS) CO

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
VIDAA INT HLDG (NETHERLANDS) CO
Filing Date
2022-08-26
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

In home network environments with unstable bandwidth, existing technologies cannot effectively utilize spare bandwidth, causing streaming media data playback to be prone to interruptions, affecting user experience.

Method used

By adopting a proportional-integral model-based control method, the number of download points and bandwidth allocation are optimized by adjusting the amount of cached data and latency in the download chain, thereby achieving dynamic control of the network environment and ensuring the stability of data caching.

Benefits of technology

Reduce buffering during network fluctuations, improve the smoothness of streaming media playback, and enhance the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117676182B_ABST
    Figure CN117676182B_ABST
Patent Text Reader

Abstract

Some embodiments of the present application show a display device and a media data downloading method, the method comprising: in response to an instruction to play media data, determining a playing definition of the media data and a target cache data amount corresponding to the playing definition; obtaining a download chain cache data amount; calculating a difference between the download chain cache data amount and the target cache data amount; inputting the difference into a proportional integral model or a proportional integral derivative model to obtain a regulation value; determining a regulation mode based on the regulation value; and downloading the media data according to the regulation mode. Based on the training of the proportional integral model or the proportional integral derivative model, the regulation mode can be determined according to the current cache data amount, and after regulation, the spare bandwidth in the network environment can be fully utilized, the subsequent data is downloaded in advance, and the network is not easily broken when encountering large fluctuations, thereby improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of display device technology, and in particular to a display device and a method for downloading media data. Background Technology

[0002] With the development of online streaming technology, especially the distribution of online videos by major media content operation platforms, more and more users are switching from watching digital TV programs to online TV programs. Online TV programs use streaming technology, where the client TV downloads TV programs from the content server in real time for local viewing. During the viewing process, due to network instability, playback may be interrupted due to slow data downloads or insufficient data, significantly impacting the user's viewing experience. To address this issue, several technologies can be used to mitigate network jitter and ensure smooth data flow, such as introducing network buffers, using multi-point download technology to download data in advance, and buffering a portion of the data before playback begins.

[0003] The download process for streaming media data is as follows: If network bandwidth is good, the stream with the highest resolution from the current media source will be selected for playback. If network bandwidth is low, the resolution will be reduced to ensure sufficient data is downloaded, thereby reducing stuttering caused by network fluctuations. In a user's home network environment, network fluctuations are prone to occur due to the operator's environment or too many connected devices. However, when the user's network bandwidth is good enough, the existence of a network buffer or other factors may prevent the effective utilization of spare bandwidth. For example, even the highest resolution video source may not occupy 1 / 4 of the bandwidth, while the remaining 3 / 4 of the bandwidth is idle. When network bandwidth is low, because the media data to be played is not pre-buffered, a large fluctuation can easily cause interruptions, degrading the user experience. Summary of the Invention

[0004] Some embodiments of this application provide a display device and a method for downloading media asset data. Based on the training of a proportional-integral model, the adjustment method can be determined according to the current amount of cached data. After adjustment, the spare bandwidth in the network environment can be fully utilized. By pre-downloading subsequent data, it is not easy to be interrupted when the network encounters large fluctuations, thus improving the user experience.

[0005] In a first aspect, some embodiments of this application provide a display device, including:

[0006] monitor;

[0007] The controller is configured as follows:

[0008] In response to an instruction to play media asset data, determine the playback resolution of the media asset data and the target cache data volume corresponding to the playback resolution;

[0009] Get the amount of cached data in the download chain;

[0010] Calculate the difference between the amount of data cached in the download chain and the amount of data cached in the target chain;

[0011] The difference is input into a proportional-integral (PI) model or a proportional-integral-derivative (PID) model to obtain the control value. The PI model is a model pre-trained based on the proportional gain, integral coefficient, and control value. The PID model is a model pre-trained based on the proportional gain, integral coefficient, derivative coefficient, and control value.

[0012] The control method is determined based on the aforementioned control value;

[0013] Download the media asset data according to the control method described above.

[0014] In some embodiments, the controller, which performs the function of determining the playback resolution of the media asset data, is further configured to:

[0015] Calculate network bandwidth;

[0016] The playback clarity of the media asset data is determined based on the network bandwidth.

[0017] In some embodiments, the controller's function of acquiring the download chain cache data volume is further configured to:

[0018] Determine the number of download chains;

[0019] If the number of download chains is 1, then obtain the cached data amount of the download chain;

[0020] If the number of download chains is greater than 1, then the average cached data amount of the download chain is calculated, and the average cached data amount is determined as the download chain cached data amount.

[0021] In some embodiments, the controller performs a control method determined based on the control value, which is further configured to:

[0022] If the control value is positive, the number of download points is increased and the latency of the download chain is reduced. The number of download points is the integer part of the control value, and the latency of the download chain is the fractional part of the control value. The download chain with reduced latency is the highest priority download chain that has not undergone latency reduction processing. The priority of the download chain is determined according to the creation time of the download chain.

[0023] If the control value is negative, the number of download points is reduced and the latency of the download chain is increased; the download chain with increased latency is the lowest priority download chain that has not undergone latency increase processing.

[0024] In some embodiments, the controller performs the process of acquiring the download chain cache data volume and calculating the difference between the download chain cache data volume and the target cache data volume, which is further configured to:

[0025] Determine the number of download chains;

[0026] If the number of download chains is 1, then obtain the cached data amount of the download chain;

[0027] If the number of download chains is greater than 1, the target cached data amount of the download chain is determined according to the priority of the download chain, and the priority of the download chain is determined according to the creation time of the download chain;

[0028] Get the amount of cached data in the download chain;

[0029] Calculate the difference between the cached data volume of the download chain and the target cached data volume of the download chain.

[0030] In some embodiments, the controller performs a control method determined based on the control value, which is further configured to:

[0031] If the control value is positive, the delay time of the download chain is reduced, and the delay time of the download chain is the time corresponding to the control value;

[0032] If the control value is negative, the delay time of the download chain is increased.

[0033] In some embodiments, the controller is configured to:

[0034] If the difference is greater than the first preset difference within a first preset time period and the number of download chains reaches a preset number, then the playback clarity of the media asset data is improved.

[0035] In some embodiments, the controller is configured to:

[0036] If the difference is less than the second preset difference within the second preset time period and the number of download chains is one, then the playback clarity of the media asset data is reduced.

[0037] Secondly, some embodiments of this application provide a method for downloading media asset data, including:

[0038] In response to an instruction to play media asset data, determine the playback resolution of the media asset data and the target cache data volume corresponding to the playback resolution;

[0039] Get the amount of cached data in the download chain;

[0040] Calculate the difference between the amount of data cached in the download chain and the amount of data cached in the target chain;

[0041] The difference is input into a proportional-integral (PI) model or a proportional-integral-derivative (PID) model to obtain the control value. The PI model is a model pre-trained based on the proportional gain, integral coefficient, and control value. The PID model is a model pre-trained based on the proportional gain, integral coefficient, derivative coefficient, and control value.

[0042] The control method is determined based on the aforementioned control value;

[0043] Download the media asset data according to the control method described above.

[0044] In some embodiments, the step of determining the playback clarity of the media asset data includes:

[0045] Calculate network bandwidth;

[0046] The playback clarity of the media asset data is determined based on the network bandwidth.

[0047] Some embodiments of this application provide a display device and a media asset data download method. The method uses the amount of data buffered in the download chain as a control target value, and the number of download points and the bandwidth usage of a single download chain as control variables. These are input into a PID algorithm model. By training the parameters of the PID model, the amount of data buffered in a single download chain can be kept very stable. When network bandwidth is high, the number of download points will automatically increase due to the parameter relationship of the model. Each download chain caches media data for different time periods, making full use of available network bandwidth. When network bandwidth is low, the number of download points will automatically decrease. Because data for the next time period is cached previously, interruptions are less likely to occur during significant network fluctuations. Even if the current segment is interrupted, subsequent segments can be loaded quickly, ensuring smooth data flow and providing a better viewing experience in the same network environment. Attached Figure Description

[0048] Figure 1 An operational scenario between a display device and a control device according to some embodiments is illustrated;

[0049] Figure 2 A hardware configuration block diagram of a control device 100 according to some embodiments is shown;

[0050] Figure 3 A hardware configuration block diagram of a display device 200 according to some embodiments is shown;

[0051] Figure 4 A software configuration diagram of a display device 200 according to some embodiments is shown;

[0052] Figure 5 A flowchart of a media asset data download method according to some embodiments is shown;

[0053] Figure 6 A flowchart is shown below illustrating a method for determining the playback clarity of media asset data according to some embodiments;

[0054] Figure 7 A schematic diagram of a PID control method provided according to some embodiments is shown;

[0055] Figure 8 A flowchart illustrating a method for determining a control mode based on a control value, according to some embodiments, is shown.

[0056] Figure 9 A flowchart of another method for downloading media asset data according to some embodiments is shown;

[0057] Figure 10 A flowchart of yet another media asset data download method provided according to some embodiments is shown. Detailed Implementation

[0058] To make the objectives and implementation methods of this application clearer, the exemplary implementation methods of this application will be clearly and completely described below with reference to the accompanying drawings of the exemplary embodiments of this application. Obviously, the exemplary embodiments described are only some embodiments of this application, and not all embodiments.

[0059] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0060] The terms "first," "second," and "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.

[0061] The term “comprising” and any variations thereof are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0062] The display device provided in this application can have various implementation forms, such as a television, a smart television, a laser projection device, a monitor, an electronic bulletin board, an electronic table, etc. Figure 1 and Figure 2 This is one specific embodiment of the display device of this application.

[0063] Figure 1 This is a schematic diagram illustrating the operational scenario between the display device and the control unit according to the embodiment. Figure 1 As shown, the user can operate the display device 200 through the smart device 300 or the control device 100.

[0064] In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device includes infrared protocol communication, Bluetooth protocol communication, and other short-range communication methods, controlling the display device 200 wirelessly or via wired means. Users can control the display device 200 by inputting user commands through buttons on the remote control, voice input, control panel input, etc.

[0065] In some embodiments, a smart device 300 (such as a mobile terminal, tablet computer, computer, laptop computer, etc.) may also be used to control the display device 200. For example, an application running on the smart device may be used to control the display device 200.

[0066] In some embodiments, the display device may receive instructions not through the aforementioned smart devices or control devices, but through touch or gestures.

[0067] In some embodiments, the display device 200 can also be controlled in ways other than the control device 100 and the smart device 300. For example, it can be controlled by directly receiving the user's voice commands through a module configured inside the display device 200 for acquiring voice commands, or it can be controlled by receiving the user's voice commands through a voice control device set outside the display device 200.

[0068] In some embodiments, the display device 200 also communicates with the server 400. The display device 200 may communicate via a local area network (LAN), wireless local area network (WLAN), and other networks. The server 400 may provide various content and interactive features to the display device 200. The server 400 may be a cluster or multiple clusters, and may include one or more types of servers.

[0069] Figure 2 An exemplary block diagram of the configuration of the control device 100 according to an exemplary embodiment is shown. Figure 2 As shown, the control device 100 includes a controller 110, a communication interface 130, a user input / output interface 140, a memory, and a power supply. The control device 100 can receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.

[0070] like Figure 3 The display device 200 includes at least one of the following: a tuner 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface.

[0071] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first interface to an nth interface for input / output.

[0072] The display 260 includes a display screen assembly for presenting images, a driving assembly for driving image display, a component for receiving image signals from the controller output, and a user control UI interface for displaying video content, image content, menu control interface, and user control UI interface.

[0073] The display 260 can be an LCD display, an OLED display, or a projection display, and can also be a projection device and a projection screen.

[0074] The display 260 also includes a touch screen, which is used to receive input control commands from the user's fingers by sliding or clicking on the touch screen.

[0075] The communicator 220 is a component used to communicate with external devices or servers according to various communication protocol types. For example, the communicator may include at least one of the following: a Wi-Fi module, a Bluetooth module, a wired Ethernet module, other network communication protocol chips or near-field communication protocol chips, and an infrared receiver. The display device 200 can establish the transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.

[0076] The user interface can be used to receive control signals from the control device 100 (such as an infrared remote control).

[0077] Detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.

[0078] The external device interface 240 may include, but is not limited to, one or more of the following: High Definition Multimedia Interface (HDMI), analog or high-definition component input interface (component), composite video input interface (CVBS), USB input interface (USB), RGB port, etc. It may also be a composite input / output interface formed by multiple interfaces mentioned above.

[0079] The tuner / demodulator 210 receives broadcast television signals via wired or wireless means, and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals.

[0080] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0081] The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command to select a UI object to display on the monitor 260, the controller 250 can execute operations related to the object selected by the user command.

[0082] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), RAM (random access memory), ROM (read-only memory), a first to an nth interface for input / output, a communication bus, etc.

[0083] Users can input commands through a graphical user interface (GUI) displayed on the monitor 260, and the user input interface receives the user input commands through the GUI. Alternatively, users can input commands by entering specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors.

[0084] A "user interface" is the medium through which an application or operating system interacts and exchanges information with the user. It converts information from its internal form to a form that the user can accept. A common form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an icon, window, control, or other interface element displayed on the screen of an electronic device. Controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.

[0085] like Figure 4 As shown, the display device system is divided into three layers, from top to bottom: the application layer, the middleware layer, and the hardware layer.

[0086] The application layer mainly includes commonly used applications on TVs, as well as the application framework. The commonly used applications are mainly browser-based applications, such as HTML5 apps, and native apps.

[0087] An application framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, etc., as well as the user interface for these functions (toolbar, status bar, menu, dialog box).

[0088] Native apps can support online or offline access, push notifications, or access to local resources.

[0089] The middleware layer includes various television protocols, multimedia protocols, and system components. Middleware can use the basic services (functions) provided by system software to connect different parts of application systems or different applications on the network, achieving resource sharing and function sharing.

[0090] The hardware layer mainly includes the HAL interface, hardware, and drivers. The HAL interface is a unified interface for all TV chips, with the specific logic implemented by each chip. The drivers mainly include: audio drivers, display drivers, Bluetooth drivers, camera drivers, Wi-Fi drivers, USB drivers, HDMI drivers, sensor drivers (such as fingerprint sensors, temperature sensors, pressure sensors, etc.), and power drivers.

[0091] In some embodiments, streaming media data is downloaded as follows: if network bandwidth is good, the stream with the highest resolution from the current media source is selected for playback; if network bandwidth is low, the resolution is reduced to ensure sufficient data is downloaded, thereby reducing stuttering caused by network fluctuations. In a user's home network environment, network fluctuations are prone to occur due to carrier conditions or too many connected devices. However, when the user's network bandwidth is good enough, the existence of a network buffer or other factors may prevent the effective utilization of available bandwidth. When network bandwidth is low, because the media data to be played is not pre-cached, a large fluctuation can easily cause interruptions, degrading the user experience.

[0092] For example, a server hosts a 20-minute program with three resolutions: Q1, Q2, and Q3. If transmitted using HLS (HTTP Live Streaming, Dynamic Bitrate Adaptive) protocol, the program is divided into 10 segments, each 2 minutes long. The first segment is rated from 0 to 2, the second from 2 to 4, and so on. When the calculated bandwidth is sufficient, the client retrieves data from Q1 and plays each segment within Q1 sequentially. If the network deteriorates at any point, the client will retrieve data from Q2 or Q3.

[0093] The above solution has two problems. First, Q1 actually determines the upper limit of resolution, but due to the existence of the client's network buffer, this upper limit is not actually the network bandwidth limit. The network bandwidth may be sufficient to fetch many streams of Q1 data, but the client does not use it, that is, it does not fully utilize the spare bandwidth. Second, the client downloads continuously in segments without pre-downloading subsequent segments, which can easily cause interruptions when there are large network fluctuations.

[0094] To address the above technical problems, this application provides a display device 200. The structure and functions of each part of the display device 200 can be found in the above embodiments. Furthermore, based on the display device 200 shown in the above embodiments, this embodiment further improves some functions of the display device 200, such as… Figure 5 As shown, controller 250 performs the following steps:

[0095] Step S501: Receive instructions to play media asset data;

[0096] The instruction to play media asset data can be input in a variety of ways. In some embodiments, the display device 200 can directly receive the instruction to play media asset data from the user by selecting the control corresponding to the media asset data.

[0097] In some embodiments, the display device 200 can receive an instruction to automatically jump to the playback of the next media data after the playback of one media data data has ended, thus achieving the function of receiving instructions to play media data data.

[0098] Step S502: In response to the instruction to play media asset data, determine the playback resolution of the media asset data;

[0099] In some embodiments, if the user has set a default playback resolution, the resolution set by the user is directly determined to be the playback resolution of the media asset data. Whether the user has set a default playback resolution can be determined by a resolution flag, and the value of the resolution flag determines the playback resolution set by the user.

[0100] In some embodiments, in response to an instruction to play media data, it is determined whether a resolution flag can be obtained;

[0101] If the sharpness flag can be obtained, the value of the sharpness flag can be identified;

[0102] If the value of the resolution flag is a first preset value, for example, the first preset value is 1, then the playback resolution set by the user is determined to be high definition;

[0103] If the value of the resolution flag is a second preset value, for example, if the second preset value is 2, then the playback resolution set by the user is determined to be full HD.

[0104] If the value of the resolution flag is a third preset value, for example, the third preset value is 3, then the playback resolution set by the user is determined to be ultra-high definition.

[0105] If the resolution flag cannot be obtained, it indicates that the user has not set the playback resolution for the media asset data.

[0106] In some embodiments, after determining the user-defined playback resolution, it is determined whether the video source corresponding to the media asset data contains the resolution set by the user.

[0107] If the video source corresponding to the media asset data contains the resolution set by the user, then the playback resolution of the media asset data is determined to be the resolution set by the user.

[0108] If the source material corresponding to the media asset data does not contain the resolution set by the user, then a resolution in the source material that is similar to the user-set resolution can be determined, and a resolution higher or lower than the user-set resolution can be selected preferentially. Alternatively, any resolution in the source material of the media asset data can be determined as the playback resolution of the media asset data.

[0109] In some embodiments, if the user does not set a playback resolution, the number of selectable resolutions in the media asset data source is determined;

[0110] If the number of selectable resolutions in the source material of the media asset data is only one, then the unique resolution in the source material can be determined as the playback resolution of the media asset data.

[0111] If the media asset source offers at least two selectable resolutions, the playback resolution is determined by network bandwidth. When network bandwidth is sufficient, the clearest source is selected for download; when network conditions are poor, the resolution can be reduced.

[0112] In some embodiments, the step of determining the playback clarity of media asset data based on the network bandwidth includes:

[0113] Calculate network bandwidth;

[0114] Network bandwidth refers to the amount of data that can be transmitted per unit time (generally 1 second). In some embodiments, network bandwidth can be determined by directly obtaining the account bandwidth. In other embodiments, a queue is introduced for buffering during playback, and the current network bandwidth is calculated based on the data entering the queue per unit time.

[0115] The playback clarity of media data is determined based on network bandwidth.

[0116] Each resolution corresponds to a range of network bandwidth. By determining the calculated network bandwidth range, the resolution corresponding to that bandwidth range is determined.

[0117] In some embodiments, such as Figure 6 As shown, the steps for determining the playback clarity of media asset data based on network bandwidth include:

[0118] Step S601: Determine whether the network bandwidth is greater than or equal to the first bandwidth;

[0119] If the network bandwidth is greater than or equal to the first bandwidth, then step S602 is executed: determine the playback resolution of the media asset data as the first resolution;

[0120] If the network bandwidth is less than the first bandwidth, then proceed to step S603: determine if the network bandwidth is greater than or equal to the second bandwidth.

[0121] If the network bandwidth is greater than or equal to the second bandwidth, then step S604 is executed: determine the playback resolution of the media asset data as the second resolution;

[0122] If the network bandwidth is less than the second bandwidth, then step S605 is executed: determine the playback resolution of the media asset data as the third resolution.

[0123] The first level of resolution is greater than the second level of resolution, and the second level of resolution is greater than the third level of resolution.

[0124] For example, the calculated network bandwidth is B0, and the minimum network bandwidth for standard definition is B. sd The minimum network bandwidth for high definition is B. hd The minimum network bandwidth for full HD is B. fhd The minimum network bandwidth for ultra-high definition is B. uhd wait.

[0125] If B sd ≤B0 hd Then the playback resolution of the media asset data is determined to be standard definition;

[0126] If B hd ≤B0 fhd Then the playback resolution of the media asset data is determined to be high definition;

[0127] If B fhd ≤B0 uhd Then the playback resolution of the media asset data is determined to be full HD;

[0128] If B uhd If ≤B0, then the playback resolution of the media asset data is determined to be ultra-high definition.

[0129] Step S503: Determine the target cache data volume corresponding to the playback resolution;

[0130] Different playback resolutions correspond to different amounts of target cache data. Specifically, the higher the playback resolution, the larger the target cache data size. For example, the target cache data size for Ultra HD is greater than that for HD.

[0131] Step S504: Download the media asset data corresponding to the playback resolution;

[0132] When you first start downloading media data corresponding to the playback resolution, you can use one download point by default, or you can set it to use two or more download points.

[0133] The media asset data has fixed download points. For example, if the media asset data is 30 minutes long, a download point is set every 2 minutes, for a total of 15 download points.

[0134] In some embodiments, the media asset data does not have fixed download points; the download points can be determined automatically based on the size of the slices. For example, if the media asset data is 40 minutes long and has 20 slices, with each slice containing 2 minutes of data, 10 download points can be set, i.e., one download point every 4 minutes.

[0135] ​​​Step S505: Obtain the amount of cached data in the download chain;

[0136] When downloading media asset data corresponding to the playback resolution begins, the amount of cached data in the download chain can be obtained; alternatively, the amount of cached data in the download chain can be obtained after a preset duration of downloading media asset data corresponding to the playback resolution.

[0137] In some embodiments, the step of obtaining the current cached data volume includes:

[0138] Determine the number of download chains;

[0139] If the number of download chains is 1, then obtain the cached data amount of the download chain;

[0140] If the number of download chains is greater than 1, then the average cached data amount of the download chain is calculated, and the average cached data amount is determined as the download chain cached data amount.

[0141] For example, if the current number of download chains is 1 and the cached data size of that download chain is 3M, then the download chain cached data size is 3M; if the current number of download chains is 3, and the cached data sizes of the three download chains are 2M, 5M and 5M respectively, then the download chain cached data size is 4M.

[0142] Step S506: Calculate the difference between the amount of data cached in the download chain and the amount of data cached in the target chain;

[0143] Step S507: Substitute the difference into the pre-trained proportional-integral model to obtain the control value;

[0144] PID stands for Proportional, Integral, and Differential. The PID control algorithm combines proportional, integral, and differential functions into a single control algorithm. It is the most mature and widely used control algorithm for continuous systems, suitable for situations where the model of the controlled object is unclear. Practical experience and theoretical analysis both show that this control law can achieve satisfactory results when used to control many industrial processes. The essence of PID control is to calculate the output based on the input deviation value according to the proportional, integral, and differential functional relationship, and the result is used to control the output. Figure 7 As shown.

[0145] In industrial processes, an ideal positional PID control law is as follows:

[0146] Because of the static error, Kp cannot bring the result to the target value. Ki is the integral coefficient. The role of integration in discrete states is to accumulate, summing the difference between each calculation, corresponding to the integral expression after Ki. By adding an appropriate integral coefficient, the previous static error can be eliminated. If Ki is too large, it will reduce the system's response speed and increase the overshoot (expected value); if Ki is too small, it will exhibit a smooth transition curve and the system oscillation will be small, but the static error problem will also appear. In actual control systems, we not only need to quickly reach the expected value, but also correct the deviation caused by integration. Adding derivative control can adjust the latter. e(k)–e(k–1) represents the difference between the current error and the previous error.

[0147] This industrial control theory is applied to media asset playback technology. The user's home network environment presents an uncertain situation, with bandwidth variations resulting in an indeterminate value. The controlled object is unclear, making PID control a suitable approach. Therefore, PID control can be employed, where the proportional gain, integral coefficient, and derivative coefficient are trained to achieve an ideal effect, constructing a proportional-integral-derivative (PID) model. The difference is then substituted into the pre-trained PID model to obtain the control value.

[0148] In some embodiments, since all operations are performed at the software level, and considering the low requirements for error calculation and adjustment granularity, PI control is used to reduce the difficulty of parameter training, eliminating the derivative term.

[0149] The PI control principle is as follows:

[0150] For example, r(t) is 3 seconds, meaning that for any stream, 3 seconds of data should be buffered. r(t) is 2MB, meaning the target buffered data size should be 2MB. e(k) is the difference between the test value and r(t). For example, if r(t) = 3 seconds, and during the download and playback of media data, the buffered data size is 4.5 seconds at a certain moment, then e(k) = 4.5 - 3 = 1.5 seconds.

[0151] Kp and Ki are parameters that need to be trained. Substituting e(t) and time dt into the PI model, the control value u(t) can be calculated. The control value u(t) has two dimensions of control. The u(t) output will be transformed into two types: the number of download points and the bandwidth of a single download chain. The number of download points is equivalent to the number of threads. The bandwidth of the download chain can be controlled by adding latency during the download process. The number of download points and the bandwidth of a single download chain actually affect the amount of cached data, forming a closed-loop control that ultimately reaches a dynamic equilibrium. Training the two parameters Kp and Ki during software testing can achieve a relatively ideal control effect.

[0152] In some embodiments, a method is provided to convert the control value u(t) into two dimensions: the number of download points and the download chain bandwidth. Theoretically, u(t) is directly determined by the model parameters. We can first assume a method to convert u(t) into these two dimensions: the integer part of u(t) represents the number of download points, and the fractional part (three decimal places) represents the control delay for a single download chain. Following this assumption, Kp and Ki are trained, starting with Kp. By setting different values ​​for Kp and substituting these values ​​into the PID formula, the control value u(t) is output. The current number of download points and the download chain bandwidth are then adjusted based on this control value. After adjustment, the current amount of cached data is acquired and calculated for further adjustment. If a good control effect is achieved during training, the currently set Kp value can be used as the trained proportional gain.

[0153] For example: the current Kp value is 0.5, Ki is 0, the target value is 3s, the current cache is 7s, and the corresponding adjustment relationship is shown in Table 1.

[0154] Table 1

[0155]

[0156]

[0157] When adjusting Kp achieves a relatively ideal effect, theoretically, due to the existence of static error, the actual value may be difficult to reach the target value. Therefore, Ki is introduced for adjustment. The training method involves setting different values ​​for Ki and substituting these values ​​into the PID formula to output the control value u(t). Based on this control value, the current download point and download chain bandwidth are adjusted. After adjustment, the current cached data volume is acquired and calculated for further adjustment. If a good control effect is achieved during training, the currently set Ki value can be used as the trained integral coefficient.

[0158] For example, when Ki is 0.05, the corresponding adjustment relationship becomes as shown in Table 2.

[0159] Table 2

[0160]

[0161] If PI control is used, only Kp and Ki need to be trained to build a proportional-integral model. If PID control is used, Kd can be introduced for adjustment after Kp and Ki have achieved a satisfactory effect. The training method involves setting different values ​​for Kd and substituting these values ​​into the PID formula to output a control value u(t). The current download point and download chain bandwidth are then adjusted based on this control value. After adjustment, the current cached data volume is continuously acquired for calculation and further adjustment. If a good control effect is achieved during training, the current Kd value can be used as the trained differential coefficient.

[0162] In some embodiments, the proportional gain, integral coefficients, and derivative coefficients can be trained repeatedly in multiple environments to achieve a stable model. For example, training can be conducted in different network environments, and the network environment can be changed during training to accommodate various problems encountered by users when viewing media asset data, making the trained parameters applicable to the network environments of most users.

[0163] In some embodiments, the parameters in the PID model can be trained manually, or the model parameter training function can be added to the software. The parameters can be trained automatically in the user's actual environment according to the network conditions, so that the resulting model is more adapted to the user's actual network conditions, thereby achieving a more suitable and smoother PID model.

[0164] In some embodiments, since different resolutions correspond to different target cache data volumes, the same PI or PID parameters can be trained based on different target cache data volumes to construct a PI or PID model suitable for most target cache data volumes.

[0165] In some embodiments, since different resolutions correspond to different target cache data volumes, different PI or PID parameters can be trained based on different target cache data volumes to construct a PI or PID model that better matches the target cache data volume. The difference can then be substituted into the PI or PID model corresponding to the target cache data volume.

[0166] Step S508: Determine the control method based on the control value;

[0167] In some embodiments, such as Figure 8 As shown, the step of determining the control method based on the control value includes:

[0168] Step S801: Determine whether the control value is a positive number;

[0169] If the control value is positive, proceed to step S802: determine that the number of download points to be added is the integer part of the control value;

[0170] In some embodiments, the number of download points to be increased can be obtained by substituting the control value into the integer (int) function or the trunc function. The trunc function can directly remove the decimal part of the number.

[0171] For example, the calculated control value u is 3.1. The number of download points increased is A = int(u) = int(3.1) = 3; or, the number of download points increased is A = trunc(u) = trunc(3.1) = 3.

[0172] In some embodiments, adding a new download point means adding a new download point immediately after a currently created download point. For example, if download points for 0-2 minutes and 2-4 minutes have already been created, the newly added download points would be for 4-6 minutes and 6-8 minutes.

[0173] Step S803: Determine the time to reduce download chain latency as the decimal part of the control value.

[0174] In some embodiments, the difference between the control value and the number of additional download points represents the time required to reduce download chain latency, where the time unit is seconds, which can be converted to milliseconds. After conversion to milliseconds, it can be understood as the last three decimal places of the control value.

[0175] For example, the calculated control value u is 3.1. Increasing the number of download points A = 3 reduces the download chain latency by B = uA = 3.1 - 3 = 0.1s = 100ms.

[0176] Download chains with reduced latency are the highest priority download chains that have not undergone latency reduction processing. The priority of a download chain is determined based on its creation time.

[0177] The earlier a download chain is created, the higher its priority.

[0178] In some embodiments, a priority flag can be set, where a smaller value indicates a higher priority. A latency reduction flag can also be set. If the latency reduction flag value is a fourth preset value, for example, 1, then the download chain has undergone latency reduction processing; if the latency reduction flag value is a fifth preset value, for example, 0, then the download chain has not undergone latency reduction processing.

[0179] In some embodiments, the priority flag for the initial creation of a download chain is 1, and the priority flag for subsequent creations of download chains is increased by 1 based on the priority flag value of the previous download chain.

[0180] In some embodiments, if the data of one download chain is completed, the priority flag of the remaining download chains is decremented by 1 to keep the value of the priority flag within a small range for easy comparison later.

[0181] In some embodiments, determining the steps to reduce the latency of the download chain includes:

[0182] Get the latency reduction flag for the current download chain;

[0183] Remove the download chain where the delay reduction flag is set to the fourth preset value;

[0184] If the number of remaining download chains is not 0, then obtain the priority flag of the remaining download chains;

[0185] The highest priority download chain is determined based on the priority flag.

[0186] The highest priority download chain is designated as the latency reduction download chain;

[0187] If the number of remaining download chains is 0, set the current download delay reduction flag to the fifth preset value, and re-execute the step of removing the download chains whose delay reduction flag is set to the fourth preset value.

[0188] For example, when downloading media asset data, the priority flag of the first download chain is set to 1, the priority flag of the second download chain is set to 2, the priority flag of the third download chain is set to 3, and the delay reduction flag of all three download chains is 0. If the first adjustment method is to reduce the delay time by 300ms, then the delay time of the first download chain is reduced by 300ms, and the delay reduction flag of the first download chain is changed back to 1. If the second adjustment method is to reduce the delay time by 80ms, then the delay time of the second download chain is reduced by 80ms, and the delay reduction flag of the second download chain is changed back to 1. If the third adjustment method is to reduce the delay time by 240ms, then the delay time of the third download chain is reduced by 240ms, and the delay reduction flag of the third download chain is changed back to 1. If the fourth adjustment method is to reduce the delay time by 30ms, since all three download chains have undergone delay reduction processing, the delay reduction flags of all three download chains are changed back to 0, and the delay reduction restarts from the first download chain, with a time of 30ms.

[0189] In some embodiments, the time for each delay reduction can be recorded and sorted from most to least delayed, with more delay reduction time applied to higher priority download chains to complete the download of the preceding media asset data as quickly as possible.

[0190] For example, when downloading media asset data, the priority flag of the first download chain is set to 1, the priority flag of the second download chain is set to 2, and the delay reduction flags of both download chains are 0. If the first adjustment method is to reduce the delay time by 300ms, then the delay time of the first download chain is reduced by 300ms, and the delay reduction flag of the first download chain is changed back to 1. If the second adjustment method is to reduce the delay time by 800ms, 800ms is greater than 300ms, therefore, the delay time of the first download chain is reduced by 800ms, the delay time of the second download chain is reduced by 300ms, and the delay reduction flag of the second download chain is changed back to 1.

[0191] If the control value is not positive, proceed to step S804: determine whether the control value is negative;

[0192] If the control value is negative, execute step S805: determine the number of download points to be reduced as the integer part of the control value;

[0193] In some embodiments, the number of download points to increase can be obtained by substituting the control value into the trunc function. The trunc function can directly remove the decimal part of the number.

[0194] For example, the calculated control value u is -3.1. The number of download points is reduced by A = trunc(u) = trunc(-3.1) = -3; or, the number of download points is reduced by A = -int(∣u∣) = -int(∣-3.1∣) = -3.

[0195] In some embodiments, reducing download points means removing the last download point, or the lowest priority download point, from the existing set of download points. For example, if download points for 0-2 minutes, 2-4 minutes, and 4-6 minutes have been created, reducing one download point would reduce the 4-6 minute download point.

[0196] Step S806: Determine the time for increasing the download chain delay as the decimal part of the control value.

[0197] In some embodiments, the absolute value of the sum of the control value and the number of download points reduced represents the time the download chain latency is increased, where the time unit is seconds, which can be converted to milliseconds. After conversion to milliseconds, it can be understood as the last three decimal places of the control value.

[0198] For example, the calculated control value u is -3.1. Increasing the number of download points A = 3 reduces the download chain latency by B = |u + A| = |3.1 + 3| = 0.1s = 100ms.

[0199] Download chains with increased latency are the lowest priority download chains that have not undergone any latency-increasing processing. The priority of a download chain is determined by its creation time. The earlier the download chain is created, the higher its priority.

[0200] In some embodiments, an added delay flag can be set. If the value of the added delay flag is a sixth preset value, for example, the sixth preset value is 1, then the download chain has undergone added delay processing; if the value of the added delay flag is a seventh preset value, for example, the seventh preset value is 0, then the download chain has not undergone added delay processing.

[0201] In some embodiments, determining the step of adding a delayed download chain includes:

[0202] Get the delay increment flag for the current download chain;

[0203] Remove the download chain whose delay flag is set to the sixth preset value;

[0204] If the number of remaining download chains is not 0, then obtain the priority flag of the remaining download chains;

[0205] The download chain with the lowest priority is determined based on the priority flag.

[0206] The lowest priority download chain is designated as the download chain to reduce latency;

[0207] If the number of remaining download chains is 0, set the current download delay increment flag to the seventh preset value, and re-execute the step of removing the download chains whose delay increment flag is set to the sixth preset value.

[0208] For example, when downloading media asset data, the priority flag of the first download chain is set to 1, the priority flag of the second download chain is set to 2, and the priority flag of the third download chain is set to 3. The delay increase flags of all three download chains are 0. If the first adjustment method is to increase the delay time by 300ms, then the delay time of the third download chain is increased by 300ms, and the delay increase flag of the third download chain is changed back to 1. If the second adjustment method is to increase the delay time by 80ms, then the delay time of the second download chain is increased by 80ms, and the delay increase flag of the second download chain is changed back to 1. If the third adjustment method is to increase the delay time by 240ms, then the delay time of the first download chain is increased by 240ms, and the delay increase flag of the first download chain is changed back to 1. If the fourth adjustment method is to increase the delay time by 30ms, since all three download chains have undergone delay increase processing, the delay increase flags of all three download chains are changed back to 0, and the delay increase starts again from the first download chain, with a time of 30ms.

[0209] In some embodiments, the time of each increase in delay can be recorded and sorted from least to most delayed, with more delayed delays applied to lower-priority download chains to complete the download of preceding media asset data as quickly as possible.

[0210] For example, when downloading media asset data, the priority flag of the first download chain is set to 1, the priority flag of the second download chain is set to 2, and the delay increase flags of both download chains are 0. If the first adjustment method is to increase the delay time by 300ms, then the delay time of the second download chain is increased by 300ms, and the delay increase flag of the second download chain is changed back to 1. If the second adjustment method is to increase the delay time by 800ms, 800ms is greater than 300ms, therefore, the delay time of the second download chain is increased by 800ms, the delay time of the first download chain is increased by 300ms, and the delay increase flag of the second download chain is changed back to 1.

[0211] If the control value is not negative, then proceed to step S807: control mode is empty.

[0212] Step S509: Download the media asset data according to the control method.

[0213] In some embodiments, after the step of downloading the media asset data according to the control method, step S505 can be executed directly, or step S505 can be executed after a certain period of time.

[0214] In some embodiments, such as Figure 9 As shown, the controller 250 is also used to execute step S901: determining that the difference is greater than a first preset difference;

[0215] If the difference is greater than the first preset difference, then execute step S902: start timing;

[0216] Step S903: Determine whether the timing time is greater than or equal to the first preset time;

[0217] If the timing time is greater than or equal to the first preset time, then execute step S904: determine whether the current number of download chains has reached the preset number;

[0218] If the number of download links reaches the preset number, then execute step S905: determine whether the current playback resolution is the highest resolution;

[0219] If the current playback resolution is not the highest resolution, then proceed to step S906: improve the playback resolution of the media asset data.

[0220] It should be noted that if multiple resolutions exist that are higher than the currently playing resolution, choose the one that is closest to the current playback resolution. When changing the resolution, you need to clear the currently cached data for the original resolution. To ensure that changing the resolution does not cause stuttering, you can save a few seconds of the cached data for the original resolution and download the high-resolution data when playing that data.

[0221] If the difference is less than or equal to the first preset difference, then execute step S907: end the timing;

[0222] If the time taken is less than the first preset time, continue with step S901.

[0223] If the number of download links does not reach the preset number, operations related to adjusting resolution will not be performed;

[0224] If the current playback resolution is the highest resolution, no operations related to adjusting the resolution will be performed.

[0225] In some embodiments, such as Figure 10 As shown, the controller 250 is also used to execute step S1001: determine that the difference is less than a second preset difference;

[0226] If the difference is less than the second preset difference, proceed to step S1002: start timing;

[0227] Step S1003: Determine whether the timing time is greater than or equal to the second preset time;

[0228] If the timing time is greater than or equal to the second preset time, execute step S1004: determine whether the current number of download chains is 1;

[0229] If the number of download chains is 1, proceed to step S1005: determine whether the current playback resolution is the lowest resolution;

[0230] If the current playback resolution is not the lowest resolution, then proceed to step S1006: reduce the playback resolution of the media asset data.

[0231] It's important to note that if multiple resolutions are available that are lower than the currently playing resolution, choose the one that is closest to the current playback resolution. When changing the resolution, you need to clear the currently cached data for the original resolution. To prevent stuttering when changing resolutions, you can save a few seconds of the cached data for the original resolution and download the higher-resolution data while playing that data. Alternatively, you can choose not to clear the currently cached data for the original resolution and continue downloading directly according to the progress.

[0232] If the difference is greater than or equal to the second preset difference, execute step S1007: end the timing;

[0233] If the timed period is less than the second preset time, continue with step S1001.

[0234] If the number of download chains is not 1, no operations related to adjusting resolution will be performed.

[0235] If the current playback resolution is the lowest possible, no operations related to adjusting the resolution will be performed.

[0236] The above embodiments address the scenario where there is only one target cached data volume in a single download chain or multiple download chains, treating all download chains as a whole, with the target cached data volume being a common goal achieved by all download chains. In some embodiments, a target cached data volume can be set for each download chain. Correspondingly, a control model is implemented for multiple download chains and multiple target cached data volumes, without increasing the number of download chains; only the latency of each individual download chain is adjusted.

[0237] In some embodiments, step S505, the step of obtaining the amount of download chain cached data, includes:

[0238] Determine the number of download chains;

[0239] If the number of download chains is greater than 1, the target cached data amount of the download chain is determined according to the priority of the download chain, and the priority of the download chain is determined according to the creation time of the download chain;

[0240] To ensure sufficient data for the main download chain, the target cached data amount for each download chain will be reduced based on the chain's priority. The download chain priority has been explained in detail above and will not be repeated here.

[0241] In some embodiments, the target cached data amount of a download chain can be reduced according to priority as follows: A target cached data amount is set for the highest priority download chain. The target amount can be determined based on the priority of the download chains, where the target amount is the difference between priority flag bits. The target cached data amount of a download chain is the target cached data amount of the highest priority download chain minus a preset cached data amount equal to the target multiple. For example: if the target cached data amount for a download chain with priority flag bit 1 is 3 seconds and the preset cached data amount is 0.4 seconds, then the target cached data amount for a download chain with priority flag bit 2 is 2.6 seconds, the target cached data amount for a download chain with priority flag bit 3 is 2.2 seconds, and so on.

[0242] In some embodiments, the target cached data amount of a download chain can be reduced according to priority as follows: A target cached data amount is set for the highest priority download chain. The target number of iterations can be determined based on the priority of the download chains, where the target number of iterations is the difference between priority flag bits. The target cached data amount of a download chain is the target cached data amount of the highest priority download chain multiplied by a preset multiple raised to the power of n, where n is the target number of iterations. For example: if the target cached data amount for a download chain with priority flag bit 1 is 3 seconds and the preset multiple is 0.8, then the target cached data amount for a download chain with priority flag bit 2 is 2.4 seconds, the target cached data amount for a download chain with priority flag bit 3 is 1.92 seconds, and so on.

[0243] In some embodiments, when the network environment is good, the target cache data amount for each download chain can be the same. When the network environment deteriorates, the target cache data amount for all download chains can be adjusted at once, or the target cache data amount can be reduced starting from the download chain with the lowest priority.

[0244] The data downloaded by the first chain is the data that needs to be played, so it has the highest priority. However, multi-chain single-target treats all chains equally. Such regulation will make high-priority chains lose their bandwidth competitive advantage. Using multi-chain multi-target can achieve this by reducing the target value of low-priority download chains. The advantage of this is that it can guarantee the bandwidth resources of high-priority chains while making full use of bandwidth.

[0245] After determining the target cached data volume of the download chain, the cached data volume of the download chain is obtained; the difference between the cached data volume of the download chain and the target cached data volume of the download chain is calculated. This difference is then input into a pre-trained proportional-integral model to obtain the control value.

[0246] For scenarios involving multiple download chains and multiple target cached data volumes, it is also necessary to train Kp first, followed by training Ki.

[0247] When Kp is adjusted to achieve a relatively ideal effect, theoretically, due to the existence of static error, the actual value is difficult to reach the target value. At this time, Ki is introduced for adjustment.

[0248] For example, if Kp is 0.05 and Ki is 0.02, the corresponding adjustment relationship becomes as shown in Table 3.

[0249] Table 3

[0250] Time (t) Integral coefficient Ki proportionality coefficient Kp Target difference e(k) Output u(t) Regulation methods 1 0.002 0.05 4 0.2+0.008 Reduce latency by 208ms 2 0.002 0.05 3.5 0.175+0.015 Reduce latency by 190ms 3 0.002 0.05 1 0.05+0.017 Reduce latency by 67ms 4 0.002 0.05 -1.5 -0.075+0.014 Increase latency by 65ms 5 0.002 0.05 -2 -0.1+0.01 Increase latency by 90ms

[0251] After obtaining the control value, the control method is determined based on the control value;

[0252] In some embodiments, the step of determining the control method based on the control value includes:

[0253] If the control value is positive, the delay time of the download chain is reduced, and the delay time of the download chain is the time corresponding to the control value;

[0254] For example, the calculated adjustment value u for the first download chain is 0.2. Therefore, the time to reduce the latency of the first download chain is 0.2 seconds, or 200 milliseconds.

[0255] If the control value is negative, the delay time of the download chain is increased.

[0256] For example, the calculated adjustment value u for the second download chain is -0.08. Therefore, the time for increasing the delay of the second download chain is 0.08s, or 80ms.

[0257] In some embodiments, it is determined whether the difference between all download chains is greater than a first preset difference;

[0258] If the difference between all download chains is greater than the first preset difference, start timing;

[0259] If the timing time is greater than or equal to the first preset time, determine whether the current playback resolution is the highest resolution.

[0260] If the current playback resolution is not the highest resolution, increase the playback resolution of the media asset data.

[0261] If at least one difference among all download chains is less than or equal to the first preset difference, stop timing;

[0262] If the current playback resolution is the highest resolution, no operations related to adjusting the resolution will be performed.

[0263] In some embodiments, it is determined whether the difference between all download chains is less than a second preset difference;

[0264] If the difference between all download chains is less than the second preset difference, start timing;

[0265] If the timing time is greater than or equal to the second preset time, determine whether the current playback resolution is the lowest resolution.

[0266] If the current playback resolution is not the lowest possible resolution, then reduce the playback resolution of the media asset data.

[0267] If at least one of the download chains has a difference greater than or equal to the second preset difference, stop timing.

[0268] If the current playback resolution is the lowest possible, no operations related to adjusting the resolution will be performed.

[0269] Some embodiments of this application provide a media asset data display method. The method is applicable to a display device, which includes a display and a controller. The controller is configured to: respond to an instruction to play media asset data; determine the playback resolution of the media asset data and the target cached data volume corresponding to the playback resolution; acquire the download chain cached data volume; calculate the difference between the download chain cached data volume and the target cached data volume; input the difference into a proportional-integral (PI) model or a proportional-integral-differential (PID) model to obtain a control value. The PI model is a model pre-trained based on proportional gain, integral coefficients, and the control value. The PID model is a model pre-trained based on proportional gain, integral coefficients, differential coefficients, and the control value; determine a control method based on the control value; and download the media asset data according to the control method. Based on training the PI model or PID model, the control method can be determined according to the current cached data volume. After control, the spare bandwidth in the network environment can be fully utilized. By pre-downloading subsequent data, it is less likely to experience interruptions when the network encounters large fluctuations, thus improving the user experience.

[0270] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0271] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.

Claims

1. A display device, characterized in that, include: monitor; The controller is configured as follows: In response to an instruction to play media asset data, determine the playback resolution of the media asset data and the target cache data volume corresponding to the playback resolution; Get the amount of cached data in the download chain; Calculate the difference between the amount of data cached in the download chain and the amount of data cached in the target chain; Determine the number of download chains; If the number of download chains is greater than 1, the target cached data amount of the download chain is determined according to the priority of the download chain, and the priority of the download chain is determined according to the creation time of the download chain; The difference is input into a proportional-integral (PI) model or a proportional-integral-derivative (PID) model to obtain the control value. The PI model is a model pre-trained based on the proportional gain, integral coefficient, and control value. The PID model is a model pre-trained based on the proportional gain, integral coefficient, derivative coefficient, and control value. The control method is determined based on the aforementioned control value; If the control value is positive, the delay time of the download chain is reduced, and the delay time of the download chain is the time corresponding to the control value; If the control value is negative, the delay time of the download chain is increased; Download the media asset data according to the control method described above.

2. The display device according to claim 1, characterized in that, The controller, which determines the playback resolution of the media asset data, is further configured to: Calculate network bandwidth; The playback clarity of the media asset data is determined based on the network bandwidth.

3. A display device, characterized in that, include: monitor; The controller is configured as follows: In response to an instruction to play media asset data, determine the playback resolution of the media asset data and the target cache data volume corresponding to the playback resolution; Get the amount of cached data in the download chain; Calculate the difference between the amount of data cached in the download chain and the amount of data cached in the target chain; The difference is input into a proportional-integral (PI) model or a proportional-integral-derivative (PID) model to obtain the control value. The PI model is a model pre-trained based on the proportional gain, integral coefficient, and control value. The PID model is a model pre-trained based on the proportional gain, integral coefficient, derivative coefficient, and control value. The control method is determined based on the aforementioned control value; The controller, which determines the control method based on the control value, is further configured as follows: If the control value is positive, the number of download points is increased and the latency of the download chain is reduced. The number of download points is the integer part of the control value, and the latency of the download chain is the decimal part of the control value. The download chain with reduced latency is the highest priority download chain that has not undergone latency reduction processing. The priority of the download chain is determined according to the creation time of the download chain. If the control value is negative, the number of download points is reduced, and the latency of the download chain is increased; the download chain with increased latency is the lowest priority download chain that has not undergone any latency increase processing. Download the media asset data according to the control method described above.

4. The display device according to claim 3, characterized in that, The controller, which determines the playback resolution of the media asset data, is further configured to: Calculate network bandwidth; The playback clarity of the media asset data is determined based on the network bandwidth.

5. The display device according to claim 3, characterized in that, The controller is further configured to retrieve the amount of cached data in the download chain. Determine the number of download chains; If the number of download chains is 1, then obtain the cached data amount of the download chain; If the number of download chains is greater than 1, then the average cached data amount of the download chain is calculated, and the average cached data amount is determined as the download chain cached data amount.

6. The display device according to claim 3, characterized in that, The controller is configured as follows: If the difference is greater than the first preset difference within a first preset time period and the number of download chains reaches a preset number, then the playback clarity of the media asset data is improved.

7. The display device according to claim 3, characterized in that, The controller is configured as follows: If the difference is less than the second preset difference within the second preset time period and the number of download chains is one, then the playback clarity of the media asset data is reduced.

8. A method for downloading media asset data, characterized in that, include: In response to an instruction to play media asset data, determine the playback resolution of the media asset data and the target cache data volume corresponding to the playback resolution; Get the amount of cached data in the download chain; Calculate the difference between the amount of data cached in the download chain and the amount of data cached in the target chain; Determine the number of download chains; If the number of download chains is greater than 1, the target cached data amount of the download chain is determined according to the priority of the download chain, and the priority of the download chain is determined according to the creation time of the download chain; The difference is input into a proportional-integral (PI) model or a proportional-integral-derivative (PID) model to obtain the control value. The PI model is a model pre-trained based on the proportional gain, integral coefficient, and control value. The PID model is a model pre-trained based on the proportional gain, integral coefficient, derivative coefficient, and control value. The control method is determined based on the aforementioned control value; If the control value is positive, the delay time of the download chain is reduced, and the delay time of the download chain is the time corresponding to the control value; If the control value is negative, the delay time of the download chain is increased; Download the media asset data according to the control method described above.

9. The method according to claim 8, characterized in that, The step of determining the playback clarity of the media asset data includes: Calculate network bandwidth; The playback clarity of the media asset data is determined based on the network bandwidth.