Display device and memory bandwidth adjustment method

By real-time monitoring and adjusting the memory bandwidth of the IP module in the display device, the problem of abnormal video playback caused by insufficient memory bandwidth is solved, and the user experience is improved.

CN120640071APending Publication Date: 2025-09-12HISENSE ELECTRONICS TECH SHENZHEN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510884059.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

In display devices, the parallel activation of multiple functional modules leads to competition for memory bandwidth resources, especially in key display processing modules, which causes insufficient memory bandwidth and leads to abnormal video images.

Method used

By monitoring the memory bandwidth of each IP module in real time, the module groups to be adjusted are screened out, and the memory bandwidth of these modules is lowered based on preset adjustment parameters to ensure normal video playback.

Benefits of technology

This solves the problem of abnormal video playback caused by insufficient memory bandwidth and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120640071A_ABST
    Figure CN120640071A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a display device and a memory bandwidth adjustment method, the display device starts at least one first IP module in response to an operation of playing a first video; obtaining a first memory bandwidth before updating of each second IP module; obtaining a first group memory bandwidth of each module group; the first group memory bandwidth of each module group is the sum of the first pre-update memory bandwidths of the second IP modules in the module group; screening out at least one first module group to be adjusted from all the module groups; the first to-be-adjusted module group is a module group of which the difference between the corresponding first threshold value and the first group memory bandwidth is not greater than a first difference value; and reducing the first pre-update memory bandwidth allocated by each second IP module in each first to-be-adjusted module group based on a preset adjustment parameter. According to the embodiment of the invention, the memory bandwidth of each IP module running at the same time can be adjusted, and the problem of insufficient memory bandwidth is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of display devices, and in particular to a display device and a memory bandwidth adjustment method. Background Art

[0002] As display devices continue to expand in functionality, features such as enhanced image quality, optimized audio quality, far-field voice control, gesture recognition, and high-resolution user interfaces are being widely integrated. However, the concurrent activation and operation of these features in the same usage scenario significantly increases the concurrent memory bandwidth demands of various IP modules within the system. This resource competition, particularly affecting critical display processing modules, can lead to display anomalies in video images and on-screen information.

[0003] To address this issue, memory bandwidth resources are pre-allocated to each IP module during the chip design phase. However, this statically allocated memory bandwidth often leads to insufficient memory bandwidth when multiple IP modules are running simultaneously, resulting in video playback anomalies and severely impacting the user experience. Summary of the Invention

[0004] To address the above issues, embodiments of the present application provide a display device and a memory bandwidth adjustment method that can adjust the memory bandwidth of each IP module running simultaneously according to the system status, thereby resolving the problem of insufficient memory bandwidth, thereby allowing for normal video playback and improving user experience. Specifically:

[0005] A first aspect of an embodiment of the present application provides a display device, including:

[0006] monitor;

[0007] The controller is configured as:

[0008] In response to an operation of playing a first video, starting at least one first IP module;

[0009] Obtaining a first pre-update memory bandwidth of each second IP module; all second IP modules include all running first IP modules;

[0010] Obtaining a first memory bandwidth of each module group; each module group includes at least one second IP module, and the first memory bandwidth of each module group is the sum of the first pre-update memory bandwidths of each second IP module in the module group;

[0011] At least one first module group to be adjusted is selected from all the module groups; the first module group to be adjusted is the module group for which the difference between the corresponding first threshold and the first group memory bandwidth is not greater than the first difference value;

[0012] Based on preset adjustment parameters, the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted is lowered to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted.

[0013] The above technical solution has the following beneficial effects or advantages: monitoring the first pre-update memory bandwidth of each running second IP module, and when the memory bandwidth is insufficient, determining the module group to be adjusted; adjusting the first pre-update memory bandwidth of each second IP module in each first module group to be adjusted based on preset adjustment parameters, and obtaining the first post-update memory bandwidth of each second IP module in the first module group to be adjusted. The technical solution of the present application, when the memory bandwidth is insufficient, obtains a smaller first post-update memory bandwidth of each second IP module by adjusting the first pre-update memory bandwidth of each second IP module in the module group to be adjusted, thereby solving the problem of abnormal video playback caused by insufficient memory bandwidth, thereby improving the user experience.

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

[0015] The first video is played on a playback interface based on the first updated memory bandwidth of each second IP module.

[0016] The above technical solution has the following beneficial effects or advantages: the first video is played on the playback interface through the first updated memory bandwidth of each second IP module, thereby achieving normal playback of the first video.

[0017] In some embodiments, the controller executes obtaining the first pre-update memory bandwidth of each second IP module, and is specifically configured to:

[0018] Obtain a first total memory bandwidth, where the first total memory bandwidth is the sum of a first pre-update memory bandwidth of each of the second IP modules;

[0019] If the difference between the second threshold and the first total memory bandwidth is not greater than the second difference, the first pre-update memory bandwidth of each of the second IP modules is obtained.

[0020] The above technical solution has the following beneficial effects or advantages: by determining the first total memory bandwidth, it is determined whether there is a problem of insufficient memory bandwidth at the level of the first total memory bandwidth, thereby improving the efficiency of determining the problem of insufficient bandwidth.

[0021] In some embodiments, before the controller obtains the first set of memory bandwidths of each module group, the controller is further configured to:

[0022] For each second IP module, multiple reference IP modules in a preset table and the module group of each reference IP module are searched based on the second IP module, and the module group of the reference IP module corresponding to the second IP module is used as the module group of the second IP module.

[0023] The above technical solution has the following beneficial effects or advantages: by searching the preset table, the module group of each second IP module can be determined.

[0024] In some embodiments, the controller lowers the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted based on a preset adjustment parameter to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted. Specifically, the controller is configured as follows:

[0025] For each of the first module groups to be adjusted, obtaining historical parameters;

[0026] Based on the historical parameters, lowering the first pre-update memory bandwidth of each second IP module in the first group of modules to be adjusted to obtain a first intermediate memory bandwidth of each second IP module;

[0027] For each second IP module, if the difference between the first threshold corresponding to the second IP module and the first intermediate memory bandwidth is not greater than the first difference, the first pre-update memory bandwidth of each second IP module in each first group of modules to be adjusted is reduced based on the preset adjustment parameter.

[0028] The above technical solution has the following beneficial effects or advantages: directly lowering the first pre-update memory bandwidth of each second IP module in each first module group to be adjusted through historical parameters saves adjustment time, reduces delay, and thus improves the efficiency of memory bandwidth adjustment.

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

[0030] The highest priority among the priorities of the second IP modules in the first module group to be adjusted is used as the adjustment priority of the first module group to be adjusted.

[0031] The above technical solution has the following beneficial effects or advantages: by determining the adjustment priority of each first module group to be adjusted, the adjustment order of each first module to be adjusted is determined.

[0032] In some embodiments, the preset adjustment parameter includes a first playback parameter, and the first playback parameter includes a first display resolution and a first layer resolution;

[0033] The controller lowers the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted based on a preset adjustment parameter to obtain a first post-update memory bandwidth of each second IP module in each first module group to be adjusted, and is further configured to:

[0034] When the parameter used to lower the first pre-update memory bandwidth of each second IP module in the first to-be-adjusted module group is the first playback parameter, lowering the first display resolution to obtain a first post-update display resolution;

[0035] Based on the first updated display resolution, lower the first pre-update memory bandwidth of each second IP module in the first group of modules to be adjusted to obtain a second intermediate memory bandwidth of each second IP module;

[0036] If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidths of each second IP module in the first module group to be adjusted is greater than the first difference, the second intermediate memory bandwidth of each second IP module in the first module group to be adjusted is used as the first updated memory bandwidth of each second IP module;

[0037] If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidths of each second IP module in the first module group to be adjusted is not greater than the first difference, lowering the first layer resolution to obtain a first updated layer resolution;

[0038] Based on the first updated layer resolution, the second intermediate memory bandwidth of each second IP module in the first to-be-adjusted module group is lowered to obtain the first updated memory bandwidth of each second IP module.

[0039] The above technical solution has the following beneficial effects or advantages: after lowering the first display resolution, if the problem of insufficient memory bandwidth still exists, the first layer resolution can also be lowered, thereby providing multiple ways to adjust the memory bandwidth, thereby improving the efficiency of memory bandwidth adjustment.

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

[0041] In response to the screen projection operation, starting at least one third IP module;

[0042] Display split-screen windows on the playback interface;

[0043] Obtaining a second pre-update memory bandwidth of each second IP module; all second IP modules include all running third IP modules and the first IP module;

[0044] Playing a second video in the split-screen window;

[0045] Obtain a second total memory bandwidth, where the second total memory bandwidth is the sum of the second pre-update memory bandwidths of each of the second IP modules;

[0046] If the difference between the second threshold and the second total memory bandwidth is not greater than the second threshold, selecting at least one second module group to be adjusted from all the module groups; the module group to be adjusted is the module group for which the difference between the first threshold and the second group memory bandwidth is not greater than the first difference;

[0047] Based on the preset adjustment parameter, the second pre-update memory bandwidth of each second IP module in each second module group to be adjusted is lowered to obtain a third post-update memory bandwidth of each second IP module.

[0048] The above technical solution has the following beneficial effects or advantages: after the second video is played in the split-screen window of the playback interface, if there is a problem of insufficient memory bandwidth, the second pre-update memory bandwidth of each second IP module in a part of the second module group to be adjusted is lowered, thereby achieving normal playback of the second video and improving the user experience.

[0049] In some embodiments, before the controller lowers the second pre-update memory bandwidth of each second IP module in each second group of modules to be adjusted based on the preset adjustment parameter to obtain the third post-update memory bandwidth of each second IP module, the controller is further configured to:

[0050] Raising the priority of each of the third IP modules;

[0051] Based on the increased priority of each of the third IP modules, an adjustment priority of the second module to be adjusted of each of the third IP modules is determined.

[0052] The above technical solution has the following beneficial effects or advantages: by increasing the priority of each third IP module, the adjustment priority of the second module group to be adjusted of each third IP module can be increased, so that the second memory group bandwidth of the second module group to be adjusted of each third IP module can be adjusted preferentially.

[0053] A second aspect of an embodiment of the present application provides a memory bandwidth adjustment method, including:

[0054] In response to an operation of playing a first video, starting at least one first IP module;

[0055] Obtaining a first pre-update memory bandwidth of each second IP module; all second IP modules include all running first IP modules;

[0056] Obtaining a first memory bandwidth of each module group; each module group includes at least one second IP module, and the first memory bandwidth of each module group is the sum of the first pre-update memory bandwidths of each second IP module in the module group;

[0057] At least one first module group to be adjusted is selected from all the module groups; the first module group to be adjusted is the module group for which the difference between the corresponding first threshold and the first group memory bandwidth is not greater than the first difference value;

[0058] Based on preset adjustment parameters, the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted is lowered to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted.

[0059] The above technical solution has the following beneficial effects or advantages: monitoring the first pre-update memory bandwidth of each running second IP module, and when the memory bandwidth is insufficient, determining the module group to be adjusted; adjusting the first pre-update memory bandwidth of each second IP module in each first module group to be adjusted based on preset adjustment parameters, and obtaining the first post-update memory bandwidth of each second IP module in the first module group to be adjusted. The technical solution of the present application, when the memory bandwidth is insufficient, obtains a smaller first post-update memory bandwidth of each second IP module by adjusting the first pre-update memory bandwidth of each second IP module in the module group to be adjusted, thereby solving the problem of abnormal video playback caused by insufficient memory bandwidth, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0061] Figure 1 A schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application;

[0062] Figure 2 A schematic diagram of the hardware configuration of a display device provided in some embodiments of the present application;

[0063] Figure 3 A schematic diagram of software configuration of a display device provided in some embodiments of the present application;

[0064] Figure 4A system architecture diagram of a method for performing memory bandwidth adjustment provided in some embodiments of the present application;

[0065] Figure 5 An information interaction sequence diagram of a first memory bandwidth adjustment method provided in some embodiments of the present application;

[0066] Figure 6 A schematic diagram of a preset table provided in some embodiments of the present application;

[0067] Figure 7 A schematic flow chart of the first step S505 provided in some embodiments of the present application;

[0068] Figure 8 A schematic flow chart of the second step S505 provided in some embodiments of the present application;

[0069] Figure 9 A schematic flow chart of the third step S505 provided in some embodiments of the present application;

[0070] Figure 10 This is an information interaction timing diagram of the second memory bandwidth adjustment method provided in some embodiments of the present application;

[0071] Figure 11 A schematic diagram of a process for adjusting the priority of each second IP module during screen projection provided in some embodiments of the present application;

[0072] Figure 12 A flowchart of a memory bandwidth adjustment method performed by a display device according to some embodiments of the present application is provided. DETAILED DESCRIPTION

[0073] The following embodiments are described in detail, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numbers in different figures represent identical or similar elements unless otherwise indicated. The embodiments described in the following embodiments are not intended to represent all possible implementations consistent with the present application. They are merely examples of systems and methods consistent with certain aspects of the present application, as detailed in the claims.

[0074] It should be noted that the brief descriptions of terms in this application are only for the purpose of facilitating the understanding of the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise specified, these terms should be understood according to their ordinary and usual meanings.

[0075] In the specification and claims of this application and the accompanying drawings, the terms "first," "second," "third," etc. are used to distinguish similar or similar objects or entities, and are not necessarily intended to limit a particular order or sequence, unless otherwise noted. It should be understood that the terms used in this manner are interchangeable under appropriate circumstances.

[0076] The terms "comprise," "include," and "have," and any variations thereof, are intended to cover but not exclude inclusion; for example, a product or device comprising a list of components is not necessarily limited to all the components expressly listed but may include other components not expressly listed or inherent to such product or device.

[0077] The term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functionality associated with that element.

[0078] Figure 1 This is a schematic diagram of an operation scenario between a display device and a control device provided in some embodiments of the present application. Figure 1 As shown in FIG, a user can operate the display device 200 through touch operation, the mobile terminal 300, and the control device 100. The control device 100 is used to receive operation instructions input by the user and convert the operation instructions into control instructions that the display device 200 can recognize and respond to. For example, the control device 100 can be a remote control, a stylus pen, a handle, etc.

[0079] In some examples, the display device 200 generally refers to a device capable of displaying images and processing data. For example, the display device 200 includes, but is not limited to, a smart TV, a mobile terminal, a computer, a monitor, an advertising screen, a wearable device, a virtual reality device, an augmented reality device, etc. The present embodiment does not limit the type of the display device 200.

[0080] The mobile terminal 300 can function as a control device for performing human-computer interaction between a user and the display device 200. The mobile terminal 300 can also function as a communication device, establishing a communication connection with the display device 200 for data exchange. In some embodiments, the mobile terminal 300 can install software applications with the display device 200, establishing a communication connection via a network communication protocol to achieve one-to-one control operations and data communication. Audio and video content displayed on the mobile terminal 300 can also be transmitted to the display device 200 for synchronized display.

[0081] In some embodiments, the mobile terminal 300 or other electronic devices can also simulate the functions of the control device 100 by running an application program for controlling the display device 200 .

[0082] like Figure 1 As shown in FIG, the display device 200 also communicates data with the server 400 through various communication methods. For example, the display device 200 can be connected to the server 400 through a local area network (LAN), a wireless local area network (WLAN), and other networks.

[0083] The display device 200 may provide a broadcast receiving television function, and may also additionally provide an intelligent network television function with a computer support function, including but not limited to network television, smart TV, Internet Protocol television (IPTV), etc.

[0084] Figure 2 Some embodiments of this application provide Figure 1 2 is a block diagram of the hardware configuration of the display device 200.

[0085] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.

[0086] In some embodiments, detector 230 is used to collect signals from the external environment or external interactions. For example, detector 230 may include a light receiver, such as a sensor for collecting ambient light intensity; or an image collector, such as a camera, for collecting external environmental scenes, user attributes, or user interaction gestures; or a sound collector, such as a microphone, for receiving external sounds.

[0087] In some embodiments, the display 260 includes a display component for presenting images and a driver component for driving image display. The display 260 is configured to receive and display image signals output from the controller 250. For example, the display 260 can be used to display video content, image content, menu control interface components, and user control UI interfaces.

[0088] In some embodiments, the communication device 220 is a component used to communicate with an external device or server 400 according to various communication protocol types. The display device 200 can be provided with multiple communication devices 220 depending on the supported communication methods. For example, if the display device 200 supports wireless network communication, the display device 200 can be provided with a communication device 220 including WiFi functionality. If the display device 200 supports Bluetooth connection communication, the display device 200 needs to be provided with a communication device 220 including Bluetooth functionality.

[0089] The communication device 220 can establish a communication connection between the display device 200 and an external device or server 400 via a wireless or wired connection. A wired connection can connect the display device 200 to an external device via a data cable, an interface, or other components. A wireless connection can connect the display device 200 to an external device via a wireless signal or wireless network. The display device 200 can establish a connection with an external device directly or indirectly through a gateway, router, or connection device.

[0090] In some embodiments, the controller 250 may include at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processor, and a power processor, and first to nth interfaces for input / output. The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in a memory. The controller 250 controls the overall operation of the display device 200.

[0091] 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.

[0092] In some embodiments, the user may input a user command through a graphical user interface (GUI) displayed on the display 260 , and the user input interface receives the user input command through the graphical user interface (GUI).

[0093] In some embodiments, the audio output device 270 may be a local speaker of the display device 200, or an external audio output device connected to the display device 200. For the external audio output device connected to the display device 200, the display device 200 may further be provided with an external audio output terminal, through which the audio output device may be connected to the display device 200 to output the sound of the display device 200.

[0094] In some embodiments, the user input interface 280 may be configured to receive instructions from a user.

[0095] To facilitate user interaction, in some embodiments, the display device 200 may run an operating system. An operating system is a computer program used to manage and control the hardware and software resources of the display device 200. The operating system can control the display device to provide a user interface. For example, the operating system can directly control the display device to provide a user interface, or it can provide a user interface by running an application program. The operating system also allows the user to interact with the display device 200.

[0096] It should be noted that the operating system can be a native operating system based on a specific operating platform, a third-party operating system deeply customized based on a specific operating platform, or an independent operating system specially developed for display devices.

[0097] The operating system can be divided into different modules or layers according to the functions implemented, e.g. Figure 3As shown, in some embodiments, the system is divided into four layers, from top to bottom, namely, the application layer (referred to as "application layer"), the application framework layer (referred to as "framework layer"), the system library layer and the kernel layer.

[0098] In some embodiments, the application layer provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. The application layer can host at least one application, which can include built-in window programs, system settings programs, clock programs, and the like, or applications developed by third-party developers. In specific implementations, the application packages in the application layer are not limited to the examples above.

[0099] The framework layer provides applications with an application programming interface (API) and programming framework. The application framework layer includes predefined functions. The application framework layer acts as a processing center, determining the actions taken by applications in the application layer. Through the API, applications can access system resources and services during execution.

[0100] like Figure 3 As shown, in the embodiment of the present application, the application framework layer includes a view system, managers, content providers, etc., wherein the view system can design and implement the interface and interaction of the application, and the view system includes lists, grids, text boxes, buttons, etc. The manager includes at least one of the following modules: an activity manager for interacting with all activities running in the system; a location manager for providing system services or applications with access to the system location service; a package manager for retrieving various information related to the application packages currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.

[0101] In some embodiments, the activity manager is used to manage the lifecycle of each application and common navigation back functions, such as controlling application exit, opening, and back. The window manager is used to manage all window programs, such as obtaining the display screen size, determining whether there is a status bar, locking the screen, taking screenshots, and controlling changes in display windows, such as shrinking, shaking, or distorting the display window.

[0102] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system will run the instruction library contained in the system runtime layer, such as the C / C++ instruction library, to implement the functions to be implemented by the framework layer.

[0103] In some embodiments, the kernel layer is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. Figure 3 As shown, the kernel layer can be configured with hardware drivers, and the drivers included in the kernel layer can be at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.

[0104] It should be noted that the above example is only a simple division of the operating system functions and does not constitute a limitation on the specific operating system form of the display device 200 in the embodiment of the present application. Depending on factors such as the function of the display device and the type of operating system, the number of levels and specific level types contained in the operating system may be expressed in other forms.

[0105] In related technologies, as the functions of display devices continue to increase, functions such as image quality enhancement, sound quality optimization, far-field voice control, gesture recognition, and high-resolution user interfaces are widely integrated. However, in the same usage scenario, the parallel activation and operation of these functions will greatly increase the concurrent demand for memory bandwidth by each IP module in the system. When this resource competition, especially when it affects the key display processing module, will cause abnormal display of video images and screen display information. As a pre-designed, reusable integrated circuit unit with specific functions, the IP module plays an important role in the competition for memory bandwidth resources.

[0106] To address this issue, during the chip design phase, each IP module in each module group is pre-allocated with the required memory bandwidth. However, when multiple module groups are running simultaneously, this statically allocated memory bandwidth often leads to insufficient memory bandwidth, resulting in display anomalies and severely impacting the user experience.

[0107] For example, when multiple high-memory bandwidth IP modules are activated simultaneously and the preset memory bandwidth is insufficient, the display device cannot achieve effective dynamic allocation during operation, resulting in display screen abnormalities such as flashing lines or jitter due to the memory bandwidth bottleneck, which seriously affects the user experience.

[0108] In order to solve the above technical problems, an embodiment of the present application provides a display device, which monitors the memory bandwidth of each running second IP module in real time, starts at least one first IP module in response to the operation of playing the first video, obtains the first memory bandwidth before the update of each second IP module, and if there is a problem of insufficient bandwidth, obtains at least one first module group to be adjusted, and lowers the first memory bandwidth before the update of each second IP module in each first module group to be adjusted based on the adjustment parameters, thereby solving the flashing line or jitter problem generated when playing the first video, thereby ensuring that the first video can be played normally and improving the user experience.

[0109] Figure 4 This is a system architecture diagram of a method for performing memory bandwidth adjustment provided in some embodiments of the present application. Figure 4 , a detailed description is given of the architecture diagram of the memory bandwidth adjustment method provided in the embodiment of the present application.

[0110] In some examples, the system in the display device includes a standard hook layer and a logic implementation layer, which is used to provide a hook interface so that the activity management service (Activity Manager Service, AM S), window management service (Window Manager Service, WMS), playback status, channel information and other status of the display device system are provided to the logic implementation layer through the hook interface.

[0111] Exemplarily, the logic implementation layer is implemented based on the bandwidth adjustment module.

[0112] In some examples, the system further includes an interface layer, where the interface layer includes multiple interfaces, and the interfaces are data interfaces or bandwidth interfaces.

[0113] For example, the interface layer and the logic implementation layer can be integrated into any system platform as a whole.

[0114] In some examples, after the interface layer and logic implementation layer are integrated into different system platforms, users can still use them to monitor and optimize memory bandwidth. In addition, the system also includes a function implementation layer, which includes multiple interfaces, so that users can call the interface layer and logic layer through the multiple interfaces of the function implementation layer.

[0115] Figure 5This is a timing diagram of information interaction of the first memory bandwidth adjustment method provided in some embodiments of the present application. Figure 5 The information interaction in the first memory bandwidth adjustment process provided by the embodiment of the present application is described in detail. The information interaction includes the following steps S501 to S506.

[0116] In step S501, the user performs an operation of playing a first video.

[0117] In some examples, after the system is started, the bandwidth adjustment module is started, the bandwidth interface and the jar package of the bandwidth control interface are loaded, the process and thread related to playing the first video are created, and then the memory bandwidth monitoring state is entered.

[0118] In some examples, the user clicks on the first video on the operation interface of the display device, ie, plays the first video.

[0119] In step S502, in response to the operation of playing the first video, at least one first IP module is started.

[0120] In some examples, the interfaces may include a bandwidth interface as well as a data interface.

[0121] Exemplarily, in response to the operation of playing the first video, the controller calls the bandwidth interface to obtain the first pre-update memory bandwidth of each second IP module, and calls the data interface to obtain the preset adjustment parameter.

[0122] For example, since some parameters change with the system state, the category and specific value of the preset adjustment parameters are determined by the real-time system state. That is, all parameters related to the real-time system state are part of the preset adjustment parameters.

[0123] In some examples, all of the second IP modules include all of the running first IP modules and other IP modules.

[0124] Exemplarily, the first playback parameter includes a first video format. Based on the first video format, the controller activates all first IP modules required for playing the first video and records all other currently running IP modules. The first IP module may be a central processing unit (CPU) or an IP module for implementing a VIDEO function. The other IP modules may be second IP modules unrelated to playing the first video.

[0125] In step S503 , the controller controls the bandwidth adjustment module to obtain the first pre-update memory bandwidth of each second IP module.

[0126] In some examples, a first total memory bandwidth is obtained, where the first total memory bandwidth is the sum of the first pre-update memory bandwidths of each second IP module; and a determination is made as to whether a difference between a second threshold and the first total memory bandwidth is not greater than a second difference.

[0127] Exemplarily, if the difference between the second threshold and the first total memory bandwidth is not greater than the second difference, it indicates that the bandwidth is insufficient; if the difference between the second threshold and the first total memory bandwidth is greater than the second difference, it indicates that the bandwidth is sufficient.

[0128] In step S504 , the controller controls the bandwidth adjustment module to select at least one first module group to be adjusted from all module groups.

[0129] The first module group to be adjusted is a module group whose difference between the corresponding first threshold and the first group of memory bandwidth is not greater than the first difference.

[0130] In some examples, each module group includes at least one second IP module. Each module group is configured to implement at least one function.

[0131] Exemplarily, one module group is used to implement the function of playing the first video, for example, to implement the function of VIDEO.

[0132] Figure 6 This is a schematic diagram of a preset table provided in some embodiments of the present application. Figure 6 As shown, the embodiments of the present application provide a detailed description of the preset table.

[0133] In some examples, the preset table includes multiple rows of data, each row of data includes a reference IP module, a priority corresponding to the reference IP module, and a module group, so as to determine the module group and priority of each second IP module.

[0134] Exemplarily, for each second IP module, based on the second IP module searching for multiple reference IP modules in a preset table and the module group and priority of each reference IP module, the module group of the reference IP module corresponding to the second IP module is used as the module group and priority of the second IP module.

[0135] For example, the first row of data in the preset table includes "reference IP module", "module group" and "priority", and the subsequent multiple rows of data in the preset table include the names of each specific reference IP module and the priority and module group corresponding to the name of each reference IP module. Among them, the smaller the number corresponding to the priority, the higher the priority corresponding to the reference IP module for memory bandwidth allocation. The second row of data in the preset table includes "Video Decoder (VDEC)", "2" and "2", indicating that when the reference IP module is VDEC, the corresponding module group is "2", that is, the second module group; the corresponding priority is "2".

[0136] In addition, the reference IP modules in the preset table also include "Video Streaming Distribution (VSD)", "Video Encoder (VENC)", "Business-to-Retailer (B2R)", "Digital Video (DV)", "Image Scaling Processor (SCALER)", "Zoom Noise Reduction (ZNR)", "Frame Rate Control (FRC)", "Digital Image Processing (DIP)", "Demodulation (DEMOD)", "Built-in Self Test (BIST)", "Audio Digital Signal Processor (AUD_DSP)", "Accelerated Processing Unit (APU)", "Optical Density Module (OD)", "CPU", "Group Of Pictures (GOP)", "Graphics Processing Unit (GPU)", "Graphics Processing Module (GRAPHIC Processing)", "Graphics Processing Unit (GPU)", "Graphics Processing Module (GRAPHIC Processing)", "Video Streaming Distribution (VSD)", "Video Encoder (VENC)", "Business-to-Retailer (B2R)", "Digital Video (DV)", "Image Scaling Processor (SCALER)", "Zoom Noise Reduction (ZNR)", "Frame Rate Control (FRC)", "Digital Image Processing (DIP)", "Demodulation (DEMOD)", "Built-in Self Test (BIST)", "Audio Digital Signal Processor (AUD_DSP)", "Accelerated Processing Unit (APU)", "Optical Density Module (OD)", "CPU", "Group Of Pictures (GOP)", "Graphics Processing Unit (GPU)", "Graphics Processing Module (GRAPHIC Processing)" Module, GRAPHIC)" and "Peripheral Interface Module (PERI)".

[0137] It should be noted that the preset table only illustrates a portion of the reference IP modules.

[0138] In step S505, the controller controls the bandwidth adjustment module to lower the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted based on the preset adjustment parameters, so as to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted.

[0139] In some examples, to meet the user's need to play the first video, it may be necessary to activate multiple functions simultaneously. When multiple functions are superimposed, insufficient memory bandwidth may result, resulting in the first video not being able to play normally. To solve the problem of the first video not being able to play normally, embodiments of the present application reduce the memory bandwidth corresponding to some functions when the memory bandwidth is insufficient.

[0140] In some examples, the system presets a specific parameter for each module group, and the specific parameter is used to lower the first pre-update memory bandwidth of the corresponding module group, thereby solving the problem of insufficient bandwidth.

[0141] Exemplarily, the preset adjustment parameters include a first playback parameter. The first playback parameter includes a first display resolution and a first layer resolution. The first display resolution refers to the display resolution of the system OSD.

[0142] Exemplarily, the preset adjustment parameters further include a load parameter, which is used to reduce the first pre-update memory bandwidth of the CPU.

[0143] In some examples, a first threshold, a first difference, a second threshold, and a second difference are preset based on actual needs; wherein a first threshold is preset for each module group. The first threshold and the second threshold are not affected by the system's real-time total memory bandwidth. Generally, the first thresholds for different module groups are generally different. It should be noted that the embodiments of the present application do not specifically limit the second threshold, the first difference, the second difference, and the first threshold corresponding to each module group.

[0144] In some examples, if the first total memory bandwidth is close to the second threshold, for each second IP module, the module group of the second IP module is obtained, and the first group of memory bandwidth of the module group is determined. If the first group of memory bandwidth is close to the first threshold corresponding to the module group, the module group is used as the first module group to be adjusted.

[0145] Among them, the first total memory bandwidth is close to the second threshold, which can be understood as the first total memory bandwidth is less than the second threshold and is relatively close to the second threshold; the first group memory bandwidth of the module group is close to the first threshold, which can be understood as the group memory bandwidth of the module group is less than the first threshold and is relatively close to the first threshold. This setting can prevent the first total memory bandwidth and the group memory bandwidth of each module group from being too large, thereby avoiding the problem of insufficient memory bandwidth due to the excessive first total memory bandwidth and the group memory bandwidth of each module group, which in turn causes the first video to fail to play normally.

[0146] Exemplarily, if the difference between the second threshold and the first total memory bandwidth is not greater than the second difference, indicating insufficient bandwidth, the module group of the second IP module is obtained for each second IP module, and the first memory bandwidth of the module group is determined. For each module group, if the difference between the first threshold corresponding to the module group and the first memory bandwidth of the module group is not greater than the first difference, the module group is designated as the first module group to be adjusted.

[0147] In some other examples, if the difference between the second threshold and the first total memory bandwidth is greater than the second difference, but there is a module group whose difference between the first threshold corresponding to the module group and the first group memory bandwidth of the module group is less than the first difference, then the module group is used as the first module group to be adjusted.

[0148] In other examples, if the difference between the second threshold and the first total memory bandwidth is greater than the second difference, and there is no module group whose corresponding first threshold and the group memory bandwidth of the module group have a difference less than the first difference, then the first video can be played normally without lowering any parameters.

[0149] In some examples, for each first module group to be adjusted, the highest priority among the priorities of the second IP modules in the first module group to be adjusted is used as the adjustment priority of the first module group to be adjusted.

[0150] In some examples, for each first module group to be adjusted, the module group includes at least one second IP module, and each second IP module is assigned a priority. When allocating memory bandwidth for each second IP module, a higher priority is assigned a higher priority for re-allocating memory bandwidth to the second IP module.

[0151] For example, when a first module group to be adjusted includes multiple second IP modules, each second IP module has the same priority. In this case, the priority of any second IP module in the first module group to be adjusted is used as the adjustment priority of the first module group to be adjusted.

[0152] It should be noted that, for a module group, when playing the first video, all second IP modules may include a part or all of the second IP modules preset in the module group.

[0153] For example, the first module group in the preset table includes four reference IP modules, but when the first video is played, only three of them are activated. That is, when the first video is played, the module group corresponding to the first module group includes three second IP modules, that is, the module group corresponding to the first module group is a subset of the first module group.

[0154] For example, the second module group includes four second IP modules: "VDEC," "VSD," "VENC," and "DIP." Each IP module has a priority of "2." If the module group corresponding to the second module group contains four second IP modules, that is, all four second IP modules in the second module group are running, the priority of any second IP module in the module group will be used as the priority of the module group, i.e., the priority of the first module to be adjusted corresponding to the module group.

[0155] For example, when a first module group to be adjusted includes multiple second IP modules, the priorities of the second IP modules may be inconsistent.

[0156] For example, the first module group to be adjusted includes two second IP modules: "APU" and "GPU." The priority of "APU" is "3" and the priority of "GPU" is "4." Therefore, the highest priority, "APU" (priority 3), is used as the adjustment priority for the first module group to be adjusted.

[0157] For another example, a first module group to be adjusted is used to implement VIDEO and On-Screen Display (OSD) display functions, and the priority corresponding to each IP module in the first module group to be adjusted is "0".

[0158] For example, if there are three first module groups to be adjusted, the adjustment priority of the first first module group to be adjusted is "2," the adjustment priority of the second first module group to be adjusted is "3," and the adjustment priority of the third first module group to be adjusted is "0," then the relationship between the adjustment priorities of the three first module groups to be adjusted is: the adjustment priority of the third first module group to be adjusted > the adjustment priority of the first first module group to be adjusted > the adjustment priority of the second first module group to be adjusted. That is, for the three first module groups to be adjusted, the first pre-update memory bandwidth of each second IP module in the third first module group to be adjusted is first lowered, then the first pre-update memory bandwidth of each second IP module in the first first module group to be adjusted is lowered, and finally, the first pre-update memory bandwidth of each second IP module in the second first module group to be adjusted is lowered.

[0159] In some examples, the first thresholds of the various module groups are not much different. However, in the scenario of playing the first video, the first group memory bandwidth of the module group related to playing the first video can be appropriately higher than the first group memory bandwidth of other module groups, thereby improving the user experience.

[0160] For example, in the scenario of playing the first video and without causing insufficient memory bandwidth, the first group memory bandwidth of the third module group related to playing the first video is increased by 10% compared with the first group memory bandwidth of some other module groups, thereby improving the playback quality of the first video.

[0161] Figure 7 This is a flow chart of the first step S505 provided in some embodiments of the present application. Figure 7 As shown, after step S505, steps S5051a to S5053a need to be executed.

[0162] In step S5051a, for each first module group to be adjusted, historical parameters are obtained;

[0163] In step S5052a, based on the historical parameters, the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted is lowered to obtain a first intermediate memory bandwidth of each second IP module;

[0164] In step S5053a, for each second IP module, if the difference between the first threshold corresponding to the second IP module and the first intermediate memory bandwidth is greater than the first difference, the first intermediate memory bandwidth of the second IP module is used as the second updated memory bandwidth of the second IP module.

[0165] In some examples, for each first module group to be adjusted, the controller controls the cache to store historical parameters corresponding to the last memory bandwidth reduction of the first module group to be adjusted. In this way, before reducing the first group memory bandwidth of the first module group to be adjusted next time, the last historical parameters are preferentially used to reduce the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted to obtain the first intermediate memory bandwidth of each second IP module; if the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the first intermediate memory bandwidth of each second IP module in the first module group to be adjusted is greater than the first difference, then the first intermediate memory bandwidth of each second IP module in the first module group to be adjusted is used as the second updated memory bandwidth of each second IP module. In this case, there is no need to continue to reduce the second updated memory bandwidth of each second IP module in the first module group to be adjusted, and there is no need to re-adjust any parameters, thereby saving adjustment time, reducing delay, and improving the efficiency of memory bandwidth adjustment.

[0166] In some examples, if the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the first intermediate memory bandwidths of each second IP module in the first module group to be adjusted is not greater than the first difference, it indicates that the first intermediate memory bandwidth of each second IP module in the first module to be adjusted is still too large, that is, the problem of insufficient bandwidth still exists, and the first intermediate memory bandwidth of each second IP module in the first module to be adjusted needs to be further lowered. In this case, it needs to be lowered again.

[0167] In some other examples, if a module group to be adjusted includes a CPU, it is necessary to lower the first pre-update memory bandwidth of the CPU by lowering the load parameter, thereby obtaining a smaller first post-update memory bandwidth of the CPU.

[0168] In some examples, for each first module group to be adjusted, if the first updated memory bandwidth of each second IP module obtained after lowering the first display resolution once is still too large, in this case, it is necessary to continue to lower the first updated display resolution to solve the problem of insufficient bandwidth. In an embodiment of the present application, for each first module group to be adjusted, after completing a first lowering of the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted, the real-time group memory bandwidth of the first module group to be adjusted is obtained through the bandwidth interface; the real-time group memory bandwidth of the first module group to be adjusted is the sum of the first updated memory bandwidths of each second IP module in the first module group to be adjusted.

[0169] If the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth of the first module group to be adjusted is not greater than the first difference, it indicates that the real-time group memory bandwidth of the first module group to be adjusted is still too large. Therefore, it is necessary to further reduce the real-time group memory bandwidth of the first module to be adjusted, that is, reduce the first updated memory bandwidth of each second IP module in the first module to be adjusted, until the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth is greater than the first difference. Then, based on the adjustment priority, reduce the first pre-update memory bandwidth of each second IP module in the next first module group to be adjusted. After completing one reduction, obtain the first updated memory bandwidth of each second IP module in the next first module group to be adjusted. Then, obtain the real-time group memory bandwidth of the next first module group to be adjusted based on the bandwidth interface, that is, the sum of the first updated memory bandwidths of each second IP module in the next first module group to be adjusted.

[0170] If the difference between the first threshold corresponding to the next first module group to be adjusted and the real-time group memory bandwidth of the next first module group to be adjusted is greater than the first difference, it indicates that the memory bandwidth adjustment of the next first module group to be adjusted has also been completed.

[0171] According to the adjustment priority, the first pre-update memory bandwidth of the second IP module in each first module group to be adjusted is lowered until the first pre-update memory bandwidth of each second IP module in all first module groups to be adjusted is lowered, and then the adjustment is stopped.

[0172] In some examples, when a parameter used to lower the first pre-update memory bandwidth of each second IP module in a first module group to be adjusted is a first playback parameter, it is necessary to lower the first playback parameter to lower the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted to obtain the first post-update memory bandwidth of each second IP module in the first module group to be adjusted.

[0173] For example, when there are four first module groups to be adjusted, the adjustment priority of the third first module group to be adjusted is greater than the adjustment priority of the first first module group to be adjusted, the adjustment priority of the second first module group to be adjusted is greater than the adjustment priority of the fourth first module group to be adjusted.

[0174] Assume that the first first module group to be adjusted, the second first module group to be adjusted, and the third first module group to be adjusted lower the first pre-update memory bandwidth of each second IP module by lowering the first playback parameter, and the fourth first module group to be adjusted lowers the first pre-update memory bandwidth of each second IP module by lowering the load parameter.

[0175] For the third first module group to be adjusted, the first playback parameter is adjusted down to obtain a first updated playback parameter. Based on the first updated playback parameter, the first updated memory bandwidth of each second IP module in the third first module group to be adjusted is obtained. After completing one adjustment down, the real-time group memory bandwidth of the third first module group to be adjusted is obtained through the bandwidth interface. The real-time group memory bandwidth of the third first module group to be adjusted is the sum of the first updated memory bandwidths of each second IP module in the third first module group to be adjusted.

[0176] If the difference between the first threshold corresponding to the third first module group to be adjusted and the real-time group memory bandwidth of the third first module group to be adjusted is not greater than the first difference, it indicates that the real-time group memory bandwidth of the third first module group to be adjusted is still too large, so it is necessary to continue to lower the first playback parameter, that is, lower the first updated memory bandwidth of each second IP module in the first module to be adjusted until the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth is greater than the first difference.

[0177] Then, according to the adjustment priority, the first playback parameter is lowered to obtain a first updated playback parameter. Based on the first updated playback parameter, a first updated memory bandwidth of each second IP module in the second first module group to be adjusted is obtained. After the adjustment is completed once, the real-time group memory bandwidth of the second first module group to be adjusted is obtained through the bandwidth interface. The real-time group memory bandwidth of the second first module group to be adjusted is the sum of the first updated memory bandwidths of each second IP module in the second first module group to be adjusted.

[0178] If the difference between the first threshold corresponding to the second first module group to be adjusted and the real-time group memory bandwidth of the second first module group to be adjusted is not greater than the first difference, it indicates that the real-time group memory bandwidth of the second first module group to be adjusted is still too large, so it is necessary to continue to lower the first playback parameter, that is, lower the first updated memory bandwidth of each second IP module in the first module to be adjusted until the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth is greater than the first difference.

[0179] Then, according to the adjustment priority, the first playback parameter is lowered to obtain a first updated playback parameter. Based on the first updated playback parameter, a first updated memory bandwidth of each second IP module in the first first module group to be adjusted is obtained. After completing the lowering, the real-time group memory bandwidth of the first first module group to be adjusted is obtained through the bandwidth interface. The real-time group memory bandwidth of the first first module group to be adjusted is the sum of the first updated memory bandwidths of each second IP module in the first first module group to be adjusted.

[0180] If the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth of the first module group to be adjusted is not greater than the first difference, it indicates that the real-time group memory bandwidth of the first module group to be adjusted is still too large, so it is necessary to continue to lower the first playback parameter, that is, lower the first updated memory bandwidth of each second IP module in the first module to be adjusted, until the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth is greater than the first difference.

[0181] Then, according to the adjustment priority, the load parameter is lowered to obtain an updated load parameter. Based on the updated load parameter, a first updated memory bandwidth of each second IP module in the fourth first module group to be adjusted is obtained. After completing the lowering, the real-time group memory bandwidth of the fourth first module group to be adjusted is obtained through the bandwidth interface. The real-time group memory bandwidth of the fourth first module group to be adjusted is the sum of the first updated memory bandwidths of each second IP module in the fourth first module group to be adjusted.

[0182] If the difference between the first threshold corresponding to the fourth first module group to be adjusted and the real-time group memory bandwidth of the fourth first module group to be adjusted is not greater than the first difference, it indicates that the real-time group memory bandwidth of the fourth first module group to be adjusted is still too large, so it is necessary to further lower the update load parameter, that is, lower the first updated memory bandwidth of each second IP module in the first module to be adjusted until the difference between the first threshold corresponding to the first module group to be adjusted and the real-time group memory bandwidth is greater than the first difference.

[0183] It should be noted that although the first, second, and third first modules to be adjusted all reduce the first pre-update memory bandwidth of each second IP module by lowering the playback parameter, the values ​​by which the first playback parameters are lowered for different first modules to be adjusted may be different. For example, the values ​​by which the first playback parameters are lowered for different first modules to be adjusted are determined by a preset system policy.

[0184] Exemplarily, the first display resolution is lowered to obtain a first updated display resolution.

[0185] Exemplarily, the first layer resolution is lowered to obtain the first updated layer resolution.

[0186] Exemplarily, the first playback parameter may further include a first frame rate, and the first frame rate is lowered to obtain a first updated frame rate.

[0187] Figure 8 This is a flow chart of the second step S505 provided in some embodiments of the present application. Figure 8 , the first step S505 provided in the embodiment of the present application is described in detail. The first step S505 includes the following steps S5051b to S5052b.

[0188] In step 5051b, when the parameter used to lower the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted is the first playback parameter, the first display resolution is lowered to obtain a first post-update display resolution.

[0189] In step 5052b, based on the first updated display resolution, the first pre-update memory bandwidth of each second IP module in the first to-be-adjusted module group is lowered to obtain a second intermediate memory bandwidth of each second IP module.

[0190] In some examples, the controller reduces the first pre-update memory bandwidth of each second IP module in each first module group to be reduced based on a pre-configured system policy and in combination with the created thread / process to obtain the second intermediate memory bandwidth of each second IP module.

[0191] For example, when lowering the first display resolution, the specific reduction value of the first display resolution may be determined according to an actual system policy, and is not specifically limited in the embodiments of the present application.

[0192] In some examples, for each first module group to be adjusted, after the second intermediate memory bandwidth of each second IP module in the first module group to be adjusted is used as the first updated memory bandwidth of the corresponding second IP module, the first updated display resolution and the name of the module group corresponding to the first module group to be adjusted are stored, so that when the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted needs to be lowered next time, the first updated display resolution this time is used preferentially to lower the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted, thereby improving the efficiency of memory bandwidth adjustment and thus improving user experience.

[0193] Figure 9 This is a flow chart of the second step S505 provided in some embodiments of the present application. Figure 9, the first step S505 provided in the embodiment of the present application is described in detail. The first step S505 includes the following steps S5051c to S5053c.

[0194] In step 5051c, when the parameter used to lower the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted is the first playback parameter, the first display resolution is lowered to obtain a first post-update display resolution.

[0195] In step 5052c, if the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidth of each second IP module in the first module group to be adjusted is not greater than the first difference, the first layer resolution is lowered to obtain a first updated layer resolution.

[0196] In step 5053c, based on the first updated layer resolution, the second intermediate memory bandwidth of each second IP module in the first to-be-adjusted module group is lowered to obtain the first updated memory bandwidth of each second IP module.

[0197] In some examples, for a first module group to be adjusted, after the first display resolution is lowered several times, for example, the first display resolution is lowered from 4k to 2k, if the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidth of each second IP module in the module group to be adjusted is still not greater than the first difference, then it indicates that the sum of the second intermediate memory bandwidth of each second IP module in the module group to be adjusted is still too large and needs to be lowered again. In this case, if the first updated display resolution is continued to be lowered, the picture may be unclear. Therefore, an embodiment of the present application adjusts another parameter, that is, the first layer resolution, and obtains the first updated layer resolution.

[0198] In some examples, after lowering the second intermediate memory bandwidth of each second IP module in the first module group to be adjusted based on the first updated layer resolution, the first updated memory bandwidth of each second IP module is obtained. If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the first updated memory bandwidths of each second IP module in the first module group to be adjusted is greater than the first difference, it indicates that the first group memory bandwidth of the first module group to be adjusted has been adjusted. The first updated layer resolution and the module group name corresponding to the first module group to be adjusted are then stored so that the next time the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted needs to be lowered, the first updated layer resolution used this time is preferentially used to lower the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted, thereby improving the efficiency of memory bandwidth adjustment and thereby improving the user experience.

[0199] In some examples, in some scenarios, if the problem of insufficient memory bandwidth still exists after lowering the first display resolution multiple times, the first frame rate can be lowered, and the first intermediate memory bandwidth of each second IP module can be further lowered, and then the first total memory bandwidth can be further lowered to solve the problem of insufficient memory bandwidth and ensure normal playback of the first video.

[0200] In step S506, the controller controls each second IP module to play the first video on the play interface.

[0201] In some examples, based on the first updated memory bandwidth of each second IP module, the first video is played on the playback interface, thereby achieving normal playback of the first video.

[0202] In an embodiment of the present application, the pre-update memory bandwidth of each running second IP module is monitored. When the memory bandwidth is insufficient, a module group to be adjusted is determined; based on preset adjustment parameters, the pre-update memory bandwidth of each second IP module in each first module group to be adjusted is adjusted to obtain the first post-update memory bandwidth of each second IP module in the first module group to be adjusted. The technical solution of the present application, when the memory bandwidth is insufficient, obtains a smaller first post-update memory bandwidth for each second IP module by adjusting the pre-update memory bandwidth of each second IP module in the module group to be adjusted, thereby resolving the problem of abnormal video playback caused by insufficient memory bandwidth and improving the user experience.

[0203] Figure 10 This is an information interaction sequence diagram of the second memory bandwidth adjustment method provided in some embodiments of the present application. Figure 10 The information interaction in the second memory bandwidth adjustment process provided by the embodiment of the present application is described in detail. The information interaction includes the following steps S1001 to S1008.

[0204] In step S1001, the user performs a screen projection operation.

[0205] In some examples, when a first video is playing on a playback interface, a user may need to cast a second video being played on another device to the playback interface for playback, so the user performs a screen casting operation.

[0206] In step S1002, the controller starts at least one third IP module in response to the screen projection operation.

[0207] In some examples, the controller displays the split-screen window on the playback interface after receiving a screen casting instruction transmitted via the HDMI channel, wherein the screen casting instruction is obtained based on the screen casting operation.

[0208] In some examples, the controller calls a data interface to obtain a second video format, and starts at least one third IP module based on the second video format. For example, the second video format is yuv444 or yuv442.

[0209] For example, compared to playing only the first video on the playback interface, third IP modules such as VDEC, GOP, GPU and DIP are also started.

[0210] In step S1003 , the second pre-update memory bandwidth of each second IP module is obtained.

[0211] In some examples, the controller calls a bandwidth interface to obtain the second pre-update memory bandwidth of each second IP module.

[0212] In step S1004, the second video is played in the split-screen window.

[0213] In some examples, when a user needs to play multiple second videos simultaneously on the playback interface through a screen projection operation, multiple split-screen windows are displayed on the playback interface, and one second video is played in each split-screen window.

[0214] In step S1005 , the controller obtains a second total memory bandwidth.

[0215] In some examples, the second total memory bandwidth is the sum of the second pre-update memory bandwidths of the second IP modules.

[0216] In step S1006 , if the difference between the second threshold and the second total memory bandwidth is not greater than the second threshold, at least one second module group to be adjusted is screened out from all the module groups.

[0217] In step S1007 , the controller controls the bandwidth adjustment module to reduce the second pre-update memory bandwidth of each second IP module in each second module group to be adjusted based on preset adjustment parameters to obtain a third post-update memory bandwidth of each second IP module.

[0218] In some examples, the controller further calls a data interface to obtain second playback parameters; wherein the second playback parameters include a second display resolution, a second layer resolution, and a second frame rate.

[0219] Exemplarily, the second playback parameter is lowered through the system policy to lower the second pre-update memory bandwidth of each second IP module in each second module group to be adjusted, thereby obtaining the third post-update memory bandwidth of each second IP module in each second module group to be adjusted.

[0220] It should be noted that the method of lowering the second pre-update memory bandwidth of each second IP module in each second adjustment module group based on the second playback parameter is the same as the above step S505, and the embodiment of the present application will not be described in detail.

[0221] Figure 11 This is a flow chart of adjusting the priority of each second IP module when casting a screen in some embodiments of the present application. Figure 11 , the adjustment of the priority of each second IP module during screen projection provided by the embodiment of the present application is described in detail, including the following steps S1101 to S1102.

[0222] In step S1101 , the controller controls the bandwidth adjustment module to increase the priority of each third IP module.

[0223] In step S1102 , the controller controls the bandwidth adjustment module to determine the adjustment priority of the second to-be-adjusted module of each third IP module based on the increased priority of each third IP module.

[0224] In the embodiment of the present application, by increasing the priority of each third IP module, the adjustment priority of the second module group to be adjusted of each third IP module can be increased, so that the second memory group bandwidth of the second module group to be adjusted of each third IP module can be adjusted preferentially.

[0225] In step S1008, the second video continues to be played in the split-screen window.

[0226] In some examples, the second video continues to be played in the split-screen window based on the third updated memory bandwidth of each second IP module, which greatly reduces the playback delay and ensures smooth playback of the second video, thereby improving the user experience.

[0227] In some embodiments, when the split-screen window is in a hidden state, if the sum of the third pre-update memory bandwidth of each second IP module is greater than or equal to the second threshold, the split-screen process is closed.

[0228] In some examples, in order to facilitate the user to quickly start the various third IP modules used to play the second video when performing the next screen projection operation, when the user stops the screen projection, the layered window is hidden, and the various third IP modules used to play the second video are also in the startup state. However, although the various third IP modules used to play the second video are not used to play the second video, they are in the startup state and will also occupy a part of the memory bandwidth. Therefore, if the sum of the third pre-update memory bandwidth of each second IP module is greater than or equal to the second threshold, the split-screen process is closed, that is, the unnecessary third IP modules used to play the second video are closed.

[0229] In an embodiment of the present application, when the second video is played in a split-screen window, if the memory bandwidth is insufficient, the second playback parameter is lowered, thereby allocating a smaller third updated memory bandwidth to each second IP module, so that the second video can be played normally in the split-screen window, thereby improving the user experience.

[0230] Figure 12 A flow chart of a memory bandwidth adjustment method performed by a display device provided in some embodiments of the present application. Figure 12 As shown, the memory bandwidth adjustment method includes steps S1201 to S1205 as shown below.

[0231] In step S1201, in response to an operation of playing a first video, at least one first IP module is started;

[0232] In step S1202, the first pre-update memory bandwidth of each second IP module is obtained; all second IP modules include all running first IP modules;

[0233] In step S1203, a first memory bandwidth of each module group is obtained; each module group includes at least one second IP module, and the first memory bandwidth of each module group is the sum of the first pre-update memory bandwidths of each second IP module in the module group;

[0234] In step S1204, at least one first module group to be adjusted is selected from all module groups; the first module group to be adjusted is a module group whose difference between the corresponding first threshold and the first group memory bandwidth is not greater than the first difference value;

[0235] In step S1205 , based on preset adjustment parameters, the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted is lowered to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted.

[0236] In some embodiments, the method further comprises:

[0237] The first video is played on the playback interface based on the first updated memory bandwidth of each second IP module.

[0238] In some embodiments, obtaining a first pre-update memory bandwidth of each second IP module includes:

[0239] Obtain a first total memory bandwidth, where the first total memory bandwidth is the sum of the first pre-update memory bandwidths of each second IP module;

[0240] If the difference between the second threshold and the first total memory bandwidth is not greater than the second difference, the first pre-update memory bandwidth of each second IP module is obtained.

[0241] In some embodiments, before obtaining the first set of memory bandwidths of each module group, the method further includes:

[0242] For each second IP module, multiple reference IP modules and the module group of each reference IP module are searched in a preset table based on the second IP module, and the module group of the reference IP module corresponding to the second IP module is used as the module group of the second IP module.

[0243] In some embodiments, based on a preset adjustment parameter, lowering a first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted to obtain a first post-update memory bandwidth of each second IP module in each first module group to be adjusted includes:

[0244] For each first module group to be adjusted, obtaining historical parameters;

[0245] Based on the historical parameters, lower the first pre-update memory bandwidth of each second IP module in the first module group to be adjusted to obtain a first intermediate memory bandwidth of each second IP module;

[0246] For each second IP module, if the difference between the first threshold corresponding to the second IP module and the first intermediate memory bandwidth is not greater than the first difference, the first pre-update memory bandwidth of each second IP module in each first group of modules to be adjusted is reduced based on the preset adjustment parameter.

[0247] In some embodiments, the method further comprises:

[0248] The highest priority among the priorities of the second IP modules in the first module group to be adjusted is used as the adjustment priority of the first module group to be adjusted.

[0249] In some embodiments, the preset adjustment parameter includes a first playback parameter, and the first playback parameter includes a first display resolution and a first layer resolution;

[0250] Based on the preset adjustment parameters, lowering the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted, further comprising:

[0251] When the parameter for lowering the first pre-update memory bandwidth of each second IP module in the first to-be-adjusted module group is the first playback parameter, lowering the first display resolution to obtain a first post-update display resolution;

[0252] Based on the first updated display resolution, lower the first pre-update memory bandwidth of each second IP module in the first to-be-adjusted module group to obtain a second intermediate memory bandwidth of each second IP module;

[0253] If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidths of each second IP module in the first module group to be adjusted is greater than the first difference, the second intermediate memory bandwidth of each second IP module in the first module group to be adjusted is used as the first updated memory bandwidth of each second IP module;

[0254] If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidths of each second IP module in the first module group to be adjusted is not greater than the first difference, lowering the first layer resolution to obtain a first updated layer resolution;

[0255] Based on the first updated layer resolution, the second intermediate memory bandwidth of each second IP module in the first to-be-adjusted module group is lowered to obtain the first updated memory bandwidth of each second IP module.

[0256] In some embodiments, the method further comprises:

[0257] In response to the screen projection operation, starting at least one third IP module;

[0258] Display split-screen windows on the playback interface;

[0259] Obtaining a second pre-update memory bandwidth of each second IP module; all second IP modules include all running third IP modules and the first IP module;

[0260] Play the second video in the split-screen window;

[0261] Obtain a second total memory bandwidth, where the second total memory bandwidth is the sum of the second pre-update memory bandwidths of the second IP modules;

[0262] If the difference between the second threshold and the second total memory bandwidth is not greater than the second threshold, at least one second module group to be adjusted is selected from all module groups; the module group to be adjusted is a module group for which the difference between the corresponding first threshold and the second group memory bandwidth is not greater than the first difference;

[0263] Based on the preset adjustment parameters, the second pre-update memory bandwidth of each second IP module in each second to-be-adjusted module group is lowered to obtain a third post-update memory bandwidth of each second IP module.

[0264] In some embodiments, before lowering the second pre-update memory bandwidth of each second IP module in each second to-be-adjusted module group based on a preset adjustment parameter to obtain the third post-update memory bandwidth of each second IP module, the method further includes:

[0265] Increase the priority of each third IP module;

[0266] Based on the increased priority of each third IP module, the adjustment priority of the second to-be-adjusted module of each third IP module is determined.

[0267] In an embodiment of the present application, the pre-update memory bandwidth of each running second IP module is monitored. When the memory bandwidth is insufficient, a module group to be adjusted is determined; based on preset adjustment parameters, the pre-update memory bandwidth of each second IP module in each first module group to be adjusted is adjusted to obtain the first post-update memory bandwidth of each second IP module in the first module group to be adjusted. The technical solution of the present application, when the memory bandwidth is insufficient, obtains a smaller first post-update memory bandwidth for each second IP module by adjusting the pre-update memory bandwidth of each second IP module in the module group to be adjusted, thereby resolving the problem of abnormal video playback caused by insufficient memory bandwidth and improving the user experience.

[0268] For ease of explanation, the above description has been made in conjunction with specific embodiments. However, the above discussion of some embodiments is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Based on the above teachings, various modifications and variations can be obtained. The above embodiments are selected and described to better explain the content of this disclosure, thereby enabling those skilled in the art to better use the embodiments.

Claims

1. A display device, characterized in that: include: monitor; The controller is configured as: In response to an operation of playing a first video, starting at least one first IP module; Obtaining a first pre-update memory bandwidth of each second IP module; all second IP modules include all running first IP modules; Obtaining a first memory bandwidth of each module group; each module group includes at least one second IP module, and the first memory bandwidth of each module group is the sum of the first pre-update memory bandwidths of each second IP module in the module group; At least one first module group to be adjusted is selected from all the module groups; the first module group to be adjusted is the module group for which the difference between the corresponding first threshold and the first group memory bandwidth is not greater than the first difference value; Based on preset adjustment parameters, the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted is lowered to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted.

2. The display device according to claim 1, wherein The controller is further configured to: The first video is played on a playback interface based on the first updated memory bandwidth of each second IP module.

3. The display device according to claim 1, wherein The controller executes acquisition of the first pre-update memory bandwidth of each second IP module, and is specifically configured as follows: Obtain a first total memory bandwidth, where the first total memory bandwidth is the sum of a first pre-update memory bandwidth of each of the second IP modules; If the difference between the second threshold and the first total memory bandwidth is not greater than the second difference, the first pre-update memory bandwidth of each of the second IP modules is obtained.

4. The display device according to claim 1, wherein Before executing the acquisition of the first set of memory bandwidths of each module group, the controller is further configured to: Based on the second IP module, multiple reference IP modules and the module group of each reference IP module are searched in a preset table, and the module group of the reference IP module corresponding to the second IP module is used as the module group of the second IP module.

5. The display device according to claim 1, wherein The controller lowers the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted based on a preset adjustment parameter to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted. Specifically, the configuration is as follows: For each of the first module groups to be adjusted, obtaining historical parameters; Based on the historical parameters, lowering the first pre-update memory bandwidth of each second IP module in the first group of modules to be adjusted to obtain a first intermediate memory bandwidth of each second IP module; For each second IP module, if the difference between the first threshold corresponding to the second IP module and the first intermediate memory bandwidth is not greater than the first difference, the first pre-update memory bandwidth of each second IP module in each first group of modules to be adjusted is reduced based on the preset adjustment parameter.

6. The display device according to claim 1, wherein The controller is further configured to: The highest priority among the priorities of the second IP modules in the first module group to be adjusted is used as the adjustment priority of the first module group to be adjusted.

7. The display device according to claim 1, wherein The preset adjustment parameters include first playback parameters, and the first playback parameters include a first display resolution and a first layer resolution; The controller lowers the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted based on a preset adjustment parameter to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted, and is further configured to: When the parameter used to lower the first pre-update memory bandwidth of each second IP module in the first to-be-adjusted module group is the first playback parameter, lowering the first display resolution to obtain a first post-update display resolution; Based on the first updated display resolution, lower the first pre-update memory bandwidth of each second IP module in the first group of modules to be adjusted to obtain a second intermediate memory bandwidth of each second IP module; If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidths of each second IP module in the first module group to be adjusted is greater than the first difference, using the second intermediate memory bandwidth of each second IP module in the first module group to be adjusted as the first updated memory bandwidth of each second IP module; If the difference between the first threshold corresponding to the first module group to be adjusted and the sum of the second intermediate memory bandwidths of each second IP module in the first module group to be adjusted is not greater than the first difference, lowering the first layer resolution to obtain a first updated layer resolution; Based on the first updated layer resolution, the second intermediate memory bandwidth of each second IP module in the first to-be-adjusted module group is lowered to obtain the first updated memory bandwidth of each second IP module.

8. The display device according to claim 3, wherein The controller is further configured to: In response to the screen projection operation, starting at least one third IP module; Display split-screen windows on the playback interface; Obtaining a second pre-update memory bandwidth of each second IP module; all second IP modules include all running third IP modules and the first IP module; Playing a second video in the split-screen window; Obtain a second total memory bandwidth, where the second total memory bandwidth is the sum of the second pre-update memory bandwidths of each of the second IP modules; If the difference between the second threshold and the second total memory bandwidth is not greater than the second threshold, selecting at least one second module group to be adjusted from all the module groups; the module group to be adjusted is the module group for which the difference between the first threshold and the second group memory bandwidth is not greater than the first difference; Based on the preset adjustment parameter, the second pre-update memory bandwidth of each second IP module in each second module group to be adjusted is lowered to obtain a third post-update memory bandwidth of each second IP module.

9. The display device according to claim 8, wherein Before the controller lowers the second pre-update memory bandwidth of each second IP module in each second group of modules to be adjusted based on the preset adjustment parameter to obtain the third post-update memory bandwidth of each second IP module, the controller is further configured to: Raising the priority of each of the third IP modules; Based on the increased priority of each of the third IP modules, the adjustment priority of the second to-be-adjusted module group of each of the third IP modules is determined.

10. A memory bandwidth adjustment method, characterized in that: include: In response to an operation of playing a first video, starting at least one first IP module; Obtain a first pre-update memory bandwidth of each second IP module; All second IP modules include all running first IP modules; Obtaining a first memory bandwidth of each module group; each module group includes at least one second IP module, and the first memory bandwidth of each module group is the sum of the first pre-update memory bandwidths of each second IP module in the module group; At least one first module group to be adjusted is selected from all the module groups; the first module group to be adjusted is the module group for which the difference between the corresponding first threshold and the first group memory bandwidth is not greater than the first difference value; Based on preset adjustment parameters, the first pre-update memory bandwidth allocated to each second IP module in each first module group to be adjusted is lowered to obtain the first post-update memory bandwidth of each second IP module in each first module group to be adjusted.