Graph drive program-based super-division method, apparatus and device, medium and product
By integrating the super-resolution processing flow into the graphics driver, the super-resolution parameters and execution device are dynamically determined, solving the problem of high hardware adaptation complexity in the prior art and achieving efficient graphics rendering and improved user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MOORE THREADS TECH CO LTD
- Filing Date
- 2026-04-23
- Publication Date
- 2026-05-26
AI Technical Summary
Existing super-resolution technology solutions require the application side to cooperate with specific interfaces, which increases development complexity, makes it difficult to flexibly adapt to changes in operating status under different hardware configurations, and lacks efficient super-resolution solutions.
The super-resolution processing flow is integrated into the graphics driver. The target super-resolution parameters are dynamically determined by the final frame submission time interval, the execution device and algorithm are intelligently selected, and resource allocation is optimized to achieve intelligent super-resolution processing for image rendering.
It reduces operational complexity, improves graphics rendering efficiency and user experience, and can automatically balance image quality and performance under different hardware configurations, eliminating the need for application-side adaptation work.
Smart Images

Figure CN122089573A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer graphics processing technology, and in particular to a super-resolution method based on graphics driver, a super-resolution device based on graphics driver, a computer device, a computer-readable storage medium, and a computer program product. Background Technology
[0002] Super-Resolution (SR) technology is widely used to improve the display quality of images or videos, especially in games and high-performance graphics applications. This technology aims to convert low-resolution images into high-resolution images through algorithms, thereby improving the visual experience without significantly increasing the rendering load.
[0003] In existing technologies, some applications implement super-resolution functionality themselves and integrate it into their rendering pipeline; others rely on solutions provided by hardware manufacturers, such as NVIDIA DLSS and AMD FSR. However, these solutions often require the application to use specific interfaces, increasing development complexity and making it difficult to flexibly adapt to changes in operating states under different hardware configurations. Therefore, an efficient super-resolution solution is lacking. Summary of the Invention
[0004] In view of the above, embodiments of this application provide at least one super-resolution method based on a graphics driver, a super-resolution device based on a graphics driver, a computer device, a computer-readable storage medium, and a computer program product.
[0005] The technical solution of this application embodiment is implemented as follows: On one hand, embodiments of this application provide a super-resolution method based on a graphics driver, the method comprising: Determine the target super-resolution parameters when the image super-resolution processing is initiated based on the time interval between the submission of the final frame in the computer device. Based on the hardware operation information of the computer equipment, the target execution device and the corresponding target super-resolution algorithm for performing image super-resolution processing in the computer equipment are determined; the hardware operation information characterizes the rendering time, video memory usage and hardware acceleration unit usage of the computer equipment. Based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm, the submitted final frame is subjected to image super-resolution processing to obtain a super-resolution frame.
[0006] On the other hand, embodiments of this application provide a super-resolution device based on a graphics driver, the device comprising: The processing module is configured to determine the target super-resolution parameters when the image super-resolution processing is initiated based on the time interval between the submission of the final frame in the computer device. The processing module is also configured to determine the target execution device and the corresponding target super-resolution algorithm in the computer device for performing image super-resolution processing based on the hardware operation information of the computer device; the hardware operation information represents the rendering time, video memory usage and hardware acceleration unit usage of the computer device. The super-resolution module is configured to perform image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
[0007] In another aspect, embodiments of this application provide a computer device comprising: a memory for storing a graphics driver; and a graphics processor for executing some or all of the steps in the above method when executing the graphics driver stored in the memory.
[0008] In another aspect, embodiments of this application provide a computer-readable storage medium storing a graphics driver thereon, which, when executed by a processor, implements some or all of the steps in the above-described method.
[0009] In another aspect, embodiments of this application provide a graphics driver that includes computer-readable code. When the computer-readable code is run in a computer device, a processor in the computer device performs some or all of the steps for implementing the methods described above.
[0010] In another aspect, embodiments of this application provide a computer program product, which includes a non-transitory computer-readable storage medium storing a graphics driver. When the graphics driver is read and executed by a computer device, it implements some or all of the steps in the above method.
[0011] In this embodiment, an image super-resolution processing flow is deeply integrated into the graphics driver. When the initiation of image super-resolution processing is determined based on the final frame submission interval in the computer device, the target super-resolution parameters are automatically determined. Based on the hardware operating information of the computer device, the target execution device and corresponding target super-resolution algorithm for performing image super-resolution processing are intelligently selected, achieving intelligent super-resolution processing of image rendering output with low operational complexity. Simultaneously, as a system-level manager, the graphics driver can globally optimize the use of super-resolution resources and automatically determine super-resolution parameters under varying operating states with different hardware configurations, better balancing image quality and performance. This not only eliminates application-side adaptation work but also significantly improves graphics rendering efficiency and user experience, demonstrating broad application prospects and practical value.
[0012] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of this application. Attached Figure Description
[0013] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application.
[0014] Figure 1 A schematic diagram of the implementation process of a super-resolution method based on a graphics driver provided in this application embodiment. Figure 1 ; Figure 2 A schematic diagram of the implementation process of a super-resolution method based on a graphics driver provided in this application embodiment. Figure 2 ; Figure 3 A schematic diagram of the composition structure of a super-resolution device based on a graphics driver provided in an embodiment of this application; Figure 4 This is a schematic diagram of the hardware entity of a computer device provided in an embodiment of this application. Detailed Implementation
[0015] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application are further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0016] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0017] If the application documents contain similar descriptions such as "first / second", the following explanation shall be added: the terms "first / second / third" are used only to distinguish similar objects and do not represent a specific order of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0018] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. The terminology used herein is for descriptive purposes only and is not intended to limit the scope of this application.
[0019] This application provides a super-resolution method based on a graphics driver, applied to the graphics driver of a computer device. The computer device refers to a device with data processing capabilities, such as a server, laptop, tablet, desktop computer, smart TV, set-top box, or mobile device (e.g., mobile phone, portable video player, personal digital assistant, dedicated messaging device, portable gaming device). The graphics driver is the software interface between the operating system and the graphics hardware, used to manage graphics resources and execute rendering tasks. The super-resolution method based on a graphics driver provided in this application can be executed independently by modules within the graphics driver. Figure 1 As shown, the method includes the following steps 101 to 103: Step 101: Determine the target super-resolution parameters when the image super-resolution processing is initiated based on the final frame submission time interval in the computer device.
[0020] The final frame submission interval, also known as rendering time, can be measured in milliseconds (ms). In some implementations, within the graphics driver, after rendering a frame of image, the application in the computer device converts the final frame into a display output frame for display on the screen. During the rendering process, the final frame submission interval can be recorded.
[0021] The final frame submission interval reflects the graphics processing unit's (GPU) ability to process each frame of an image. A smaller final frame submission interval indicates higher rendering efficiency. The final frame submission interval is affected by various factors, such as hardware performance, the complexity of the currently running application, and video memory usage.
[0022] The target super-resolution parameters refer to the super-resolution parameters required for the current image super-resolution processing. Super-resolution parameters are a set of configurations used to control the execution mode of the super-resolution algorithm. These parameters directly affect the computational load, memory usage, and output image quality during the image super-resolution process. By dynamically determining the super-resolution parameters in the graphics driver, image quality can be improved as much as possible while ensuring smooth operation.
[0023] In some implementations, super-resolution parameters may include, but are not limited to, resolution multipliers and image quality levels. Resolution multipliers include scaling by 1.5x, 2x, 4x, etc. Image quality levels include high quality, low quality, etc. It should be noted that, in addition to resolution multipliers and image quality levels, super-resolution parameters may also include inter-frame consistency parameters, sharpening intensity, anti-aliasing parameters, noise reduction parameters, and other parameters. This application primarily uses super-resolution multipliers and image quality levels as examples for illustration. It should be understood that other parameters are adjusted in the same or similar ways as super-resolution multipliers and image quality levels, and can be implemented by referring to the adjustment methods for super-resolution multipliers and image quality levels.
[0024] In some implementations, image super-resolution processing is initiated when the time interval between the submission of the final frame in the computer device is less than the super-resolution threshold.
[0025] In some implementations, the current time-consuming quantization value can be determined based on the time interval between the submission of the final frame in the computer device; if the current time-consuming quantization value is less than the super-resolution threshold, image super-resolution processing is initiated.
[0026] In some implementations, if the super-resolution parameters are not preset in the graphics driver, the target super-resolution parameters can be determined directly based on the final frame submission time interval in the computer device when it is determined to start image super-resolution processing.
[0027] In some implementations, if super-resolution parameters have been preset in the graphics driver, then when it is determined to start image super-resolution processing, the super-resolution parameters in the graphics driver can be adjusted based on the final frame submission time interval to obtain the target super-resolution parameters.
[0028] Determining the target super-resolution parameters in real time by tracking the final frame submission interval is crucial for dynamically adjusting these parameters based on the current device performance load. This ensures the device maintains smoothness and stability under various operating conditions. For example, a higher final frame submission interval indicates weaker overall device performance or a heavier load. In this case, the graphics driver should reduce the resolution multiplier and image quality level in the super-resolution parameters to reduce the burden on the graphics processing unit (GPU). Conversely, a lower final frame submission interval indicates better overall device performance or a lighter load. In this case, the graphics driver can appropriately increase the resolution multiplier and image quality level to improve image quality.
[0029] For example, in a game scenario, the current frame rate may be low due to the high load on the graphics processor. In this case, the super-resolution parameter can be reduced to free up more computing resources for rendering core content, thereby improving the overall performance.
[0030] In some implementations, the target super-resolution parameters can be determined at preset intervals based on the final frame submission time interval. The preset interval refers to the time interval for super-resolution parameter calibration, used to balance the time consumption of super-resolution parameter calibration with timely responsiveness. The preset interval can be pre-set, specifically according to actual rendering needs, such as 1 second (s). During normal rendering, the image refreshes more than ten times per second. If the preset interval is set to 0.5 seconds, the number of super-resolution parameter calibrations will be relatively frequent, and since parameter calibration requires acquiring hardware operation data, it will result in a large overall time consumption and high resource usage. If the preset interval is set to 2 seconds, it will lead to untimely response, affecting the image quality.
[0031] In some implementations, the target super-resolution parameters can be determined based on the time interval between the submission of the final frame of the most recent target number. The target number is used to measure the accuracy and timeliness of the super-resolution parameter calibration.
[0032] In some implementations, the super-resolution parameters in the graphics driver can be adjusted multiple times based on the final frame submission time interval until a balance between performance and image quality is achieved. For example, if the final frame submission time interval is greater than a time consumption threshold, the super-resolution parameters in the graphics driver undergo a first degradation process to obtain a first degraded super-resolution parameter. If the final frame submission time interval under the first degraded super-resolution parameter is still greater than the time consumption threshold, the super-resolution parameters in the graphics driver undergo a second degradation process to obtain a second degraded super-resolution parameter, until the final frame submission time interval equals the time consumption threshold. The super-resolution parameter corresponding to the final frame submission time interval equal to the time consumption threshold is then used as the target super-resolution parameter. Here, the time consumption threshold is a dynamically set numerical range used to measure the balance point between the overall performance of the device and the super-resolution parameters. The time consumption threshold can be adjusted according to different hardware configurations, application scenarios, and user preferences. A final frame submission time interval greater than the time consumption threshold indicates poor overall device performance and high overall load.
[0033] For example, if the time interval between the final frame submissions is less than the time consumption threshold, the super-resolution parameters in the graphics driver are upgraded for the first time to obtain the first upgraded super-resolution parameters; if the time interval between the final frame submissions under the first upgraded super-resolution parameters is still less than the time consumption threshold, the super-resolution parameters in the graphics driver are upgraded for the second time to obtain the second upgraded super-resolution parameters, until rendering is performed at the target resolution.
[0034] In some implementations, the super-resolution parameters in the graphics driver can be adjusted based on user preferences and the final frame submission time interval. For example, if the user prefers high image quality, the resolution multiplier in the graphics driver can be downgraded if the final frame submission time interval is greater than a time consumption threshold, and the image quality in the graphics driver can be upgraded if the final frame submission time interval is less than the time consumption threshold.
[0035] In some implementations, the super-resolution parameters in the graphics driver can be adjusted based on the time interval between the hardware driver and the final frame submission. For example, if the hardware driver supports high resolution multipliers, the image quality level in the graphics driver is downgraded if the final frame submission interval is greater than a time consumption threshold, and the resolution multiplier in the graphics driver is upgraded if the final frame submission interval is less than the time consumption threshold.
[0036] Step 102: Based on the hardware operation information of the computer device, determine the target execution device and the corresponding target super-resolution algorithm in the computer device used to perform image super-resolution processing; the hardware operation information represents the rendering time, video memory usage and hardware acceleration unit usage of the computer device.
[0037] Hardware operation information refers to the collection of various status, performance, and diagnostic data generated by computer hardware during operation, used for monitoring, managing, and optimizing device operation. Hardware operation information encompasses real-time hardware operating status, performance metrics, and error logs. It may include, but is not limited to, information such as the final frame submission interval, video memory usage, and the utilization of hardware acceleration units.
[0038] A computer device may be equipped with multiple execution devices and multiple super-resolution algorithms for performing image super-resolution processing. The execution devices and super-resolution algorithms may be located in a graphics processor or other hardware; this application embodiment does not limit this. The execution devices and super-resolution algorithms are the computing resources required to perform super-resolution processing. Execution devices may include, but are not limited to: dedicated Artificial Intelligence (AI) acceleration units, Tensor Cores, and other hardware acceleration, as well as shaders built into graphics rendering. Super-resolution algorithms may include, but are not limited to: AI super-resolution algorithms, shader super-resolution algorithms, Lanczos resampling super-resolution algorithms, and bicubic interpolation super-resolution algorithms. The target execution device refers to the currently selected execution device most suitable for the current hardware. The target super-resolution algorithm refers to the currently selected super-resolution algorithm most suitable for the current hardware.
[0039] In some implementations, the hardware operating information of a computer device can be monitored in real time using system information tools (such as running the msinfo32 command). Alternatively, the hardware operating information of a computer device can also be monitored in real time using Activity Monitor. Alternatively, third-party tools (such as IDA64 Extreme) can also be used to monitor the hardware operating information of a computer device in real time.
[0040] In some implementations, when hardware operating information indicates a good hardware condition (e.g., hardware utilization is less than a threshold), a hardware acceleration unit is preferentially selected as the target execution device, and an AI super-resolution algorithm is preferentially selected as the target super-resolution algorithm. When hardware operating information indicates a poor hardware condition (e.g., hardware utilization is greater than a threshold), a general-purpose computing unit is selected as the target execution device, and a shader super-resolution algorithm is selected as the target super-resolution algorithm. This allows for a consistent super-resolution experience across different hardware environments while maximizing hardware resource utilization. Compared to general-purpose computing units, hardware acceleration units can perform high-quality super-resolution inference more efficiently. Compared to other super-resolution algorithms, AI super-resolution algorithms can more effectively improve image quality and performance.
[0041] Step 103: Perform image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
[0042] In some implementations, after determining the target super-resolution parameters, target execution device, and target super-resolution algorithm, the graphics driver will initiate the image super-resolution processing flow according to the specified parameter configuration. Specifically, the graphics driver will deploy the target super-resolution algorithm on the target execution device to perform image super-resolution processing. For AI super-resolution algorithms, the graphics driver will load a pre-trained convolutional neural network model and deploy it on the AI acceleration unit of the GPU. For shader super-resolution algorithms, the graphics driver will write logic such as spatial sampling, inter-frame reprojection, and spatiotemporal fusion in the shader to generate high-resolution images (super-resolution frames).
[0043] Regardless of the algorithm used, the graphics driver ensures the synchronization and efficiency of the entire super-resolution process. For example, before performing super-resolution, the graphics driver binds the necessary input textures (such as low-resolution frames, depth maps, motion vectors, etc.) and configures the thread group size to accommodate the parallel computing capabilities of the graphics processing unit. Furthermore, the graphics driver manages memory resources to ensure that the super-resolution process does not exceed video memory limits, thereby avoiding performance bottlenecks or crashes.
[0044] In some implementations, the super-resolution frame can be directly displayed as the output frame on the computer device screen without additional processing. Alternatively, the super-resolution frame can be post-processed, and the post-processed image can be displayed as the output frame on the computer device screen to further improve image quality. Post-processing includes, but is not limited to, sharpening, anti-aliasing, and color correction.
[0045] In some implementations, super-resolution frames can be submitted to the display controller and transmitted to an external screen via a display output interface (such as HDMI or DisplayPort). During this process, the integrity and accuracy of the image data are ensured to avoid screen tearing, latency, or other display problems. This allows for a stable presentation of high-quality display output frames on the user's screen, thereby enhancing the overall visual experience.
[0046] In some implementations, the graphics driver also provides user control options, allowing users to manually enable or disable the image super-resolution function and adjust the image quality level in the driver control panel. If the user enables specific super-resolution parameters, the graphics driver will ignore the automatic adjustment of the adaptive configuration module and directly use the user-defined super-resolution parameters for image super-resolution processing. This provides users with greater flexibility and controllability, and also meets the personalized needs of different users.
[0047] In this embodiment, an image super-resolution processing flow is deeply integrated into the graphics driver. When the initiation of image super-resolution processing is determined based on the final frame submission interval in the computer device, the target super-resolution parameters are automatically determined. Based on the hardware operating information of the computer device, the target execution device and corresponding target super-resolution algorithm for performing image super-resolution processing are intelligently selected, achieving intelligent super-resolution processing of image rendering output with low operational complexity. Simultaneously, as a system-level manager, the graphics driver can globally optimize the use of super-resolution resources and automatically determine super-resolution parameters under varying operating states with different hardware configurations, better balancing image quality and performance. This not only eliminates application-side adaptation work but also significantly improves graphics rendering efficiency and user experience, demonstrating broad application prospects and practical value.
[0048] In some embodiments, step 101 above can be implemented by the following steps 1011 to 1012: Step 1011: Determine a first time quantization value based on the submission time interval of the final frame of the most recent target number in the computer device; the first time quantization value is used to characterize the rendering efficiency of the computer device.
[0049] The submission interval of the final frame for the most recent target number refers to the submission interval of the final frames collected within a certain time window, such as the submission interval of the last 10 final frames. The first time quantization value refers to the value after quantizing the submission interval of the final frame for the most recent target number, which is used to characterize the rendering performance level of the current device.
[0050] Setting the final frame submission interval for the most recent target iterations can more accurately reflect the current device performance status, avoiding the influence of an abnormally high final frame submission interval on the overall judgment, and adapting to constantly changing operating environments and hardware loads. By using the first time quantization value, it's possible to quickly determine whether the current rendering efficiency is within the normal range, thereby deciding whether to adjust the super-resolution parameters in the graphics driver.
[0051] In some implementations, the submission time interval of the final frame for the most recent target number can be numerically quantized to obtain a first time quantization value. Numerical quantization may include, but is not limited to, the mean, median, standard deviation, and variance.
[0052] Step 1012: Determine the target super-resolution parameters based on the first time consumption quantization value and the time consumption threshold.
[0053] The target super-resolution parameters in the graphics driver are the core output of the adaptive configuration module, determining the specific super-resolution behavior of the graphics driver during actual runtime. For example, the graphics driver uses a high-quality, high-scaling-ratio parameter combination on high-performance devices, while using a low-quality, low-scaling-ratio parameter combination on low-end devices.
[0054] In some implementations, the target super-resolution parameter can be directly determined based on the relationship between the first time quantization value and the time threshold.
[0055] In some implementations, the super-resolution parameters in the graphics driver can be adjusted based on the relationship between the first time quantization value and the time threshold to obtain the target super-resolution parameters.
[0056] In some implementations, if the first time quantization value is greater than the time threshold, the super-resolution parameters in the graphics driver are downgraded, such as reducing the resolution scaling ratio or image quality level of the super-resolution algorithm in the graphics driver to reduce the GPU load; if the first time quantization value is less than the time threshold, the super-resolution parameters in the graphics driver are upgraded, such as appropriately increasing the image quality or resolution scaling ratio to improve the visual effect.
[0057] In this embodiment, by statistically analyzing the submission time interval of the final frame of the most recent target number, a quantitative indicator representing the current device performance, namely the first time consumption quantification value, can be formed. Based on the comparison between the first time consumption quantification value and the preset time consumption threshold, the automatic determination operation of the super-resolution parameter can be triggered, thereby dynamically adapting to the current device performance, dynamically optimizing the super-resolution function in the graphics driver, achieving a balance between image quality and performance, effectively coping with performance fluctuations under different hardware platforms and operating environments, and thus improving the overall user experience.
[0058] In some embodiments, the super-resolution parameter includes a quality parameter and a scaling ratio parameter; step 1012 above can be implemented by the following steps 1012a to 1012b: Step 1012a: If the first time consumption quantization value is greater than the first time consumption threshold, determine that the target super-resolution parameters include the first quality parameter and the first scaling ratio parameter.
[0059] The first latency threshold is the criterion for judging excessive load; it can be set to 33ms. If the first latency quantization value is greater than the first latency threshold, it indicates that the load is too high and the super-resolution algorithm cannot maintain high image quality and high scaling ratio. In this case, the super-resolution parameters in the graphics driver can be downgraded to reduce GPU load and ensure stable frame rate.
[0060] The first quality parameter can be high quality, and the first scaling parameter can be low scaling. In this case, the target super-resolution parameters can be collectively referred to as high quality and low scaling.
[0061] High-quality, low-scaling ratio is a super-resolution parameter setting that moderately reduces the image scaling ratio while maintaining a certain level of image quality. For example, when using AI super-resolution algorithms, you can choose to use 1.5x scaling instead of 2x scaling, while retaining a higher level of detail reproduction. This high-quality, low-scaling ratio parameter setting can effectively reduce GPU load and improve overall performance without significantly impacting visual effects.
[0062] Step 1012b: If the first time consumption quantization value is less than the second time consumption threshold, determine the target super-resolution parameters, including the second quality parameter and the second scaling ratio parameter.
[0063] The time consumption threshold includes a first time consumption threshold and a second time consumption threshold, wherein the first time consumption threshold is greater than the second time consumption threshold, the quality level corresponding to the first quality parameter is higher than the quality level corresponding to the second quality parameter, and the magnification level corresponding to the first scaling ratio parameter is lower than the magnification level corresponding to the second scaling ratio parameter.
[0064] The second latency threshold is a lower limit corresponding to the first latency threshold. It determines whether the device has sufficient performance margin to support higher image quality or larger scaling ratios for super-resolution parameters; for example, it can be set to 16ms. If the first latency quantization value is less than the second latency threshold, it indicates that the device is operating well, and the super-resolution parameters can be appropriately increased to obtain a better visual experience. The first latency threshold corresponds to the performance-priority boundary, while the second latency threshold corresponds to the image quality-priority boundary. By setting the first and second latency thresholds appropriately, the optimal user experience can be provided under different conditions.
[0065] The second quality parameter can be low quality, and the second scaling parameter can be high scaling. In this case, the target super-resolution parameters can be collectively referred to as low quality and high scaling.
[0066] Low-quality, high-scaling refers to using a higher image scaling ratio for image super-resolution processing while slightly reducing image quality. For example, when hardware acceleration resources are sufficient but video memory is limited, a low-quality super-resolution algorithm (such as Bicubic interpolation) combined with 2x scaling can be used to achieve a larger screen resolution output. Although the image quality may not be as good as in high-quality mode, the low-quality super-resolution algorithm combined with 2x scaling can meet the user's needs for screen size, especially on large-screen devices.
[0067] In this embodiment, a first time consumption threshold is used as the criterion for judging the first quality parameter and the first scaling ratio parameter, and a second time consumption threshold is used as the criterion for judging the second quality parameter and the second scaling ratio parameter. In this way, the target super-resolution parameter can be dynamically determined based on the first time consumption threshold and the second time consumption threshold, thereby achieving an intelligent balance between performance and image quality. This avoids the problem of screen stuttering or insufficient image quality caused by fixed parameter settings, and can flexibly adapt to different hardware platforms and operating environments, further improving the overall user experience.
[0068] In some embodiments, after step 1012a above, steps A1 to A4 may also be performed: Step A1: Determine the second time-consuming quantization value based on the final frame submission time interval under the target super-resolution parameters, including the first quality parameter and the first scaling ratio parameter.
[0069] The target super-resolution parameters include a first quality parameter and a first scaling ratio parameter (high quality, low scaling ratio). This refers to a super-resolution parameter configuration that uses a high-quality image algorithm but a low resolution scaling ratio. For example, in super-resolution processing, high quality, low scaling ratio might employ a high-precision interpolation algorithm (such as Lanczos) to improve image quality, but only scales the image by 1.5 times, thereby reducing GPU computational burden and memory usage. High quality, low scaling ratio is suitable for scenarios where performance is limited but high image quality is still required.
[0070] The second time quantization value is a value obtained by quantizing the submission time interval of the most recent few final frames after determining the target super-resolution parameters, including the first quality parameter and the first scaling parameter (high quality, low scaling). The second time quantization value is used to measure whether the current super-resolution configuration meets the performance target. If the second time quantization value is still greater than the first time threshold, it indicates that even if the scaling ratio is reduced, there is still a performance bottleneck, and the super-resolution parameters need to be further adjusted to obtain a more stable frame rate performance.
[0071] In some implementations, the number of times the submission time interval of the final frame corresponding to the second time quantization value is collected can be the same as or different from the number of times the submission time interval of the final frame corresponding to the first time quantization value is collected, depending on the actual rendering requirements.
[0072] For example, after determining that the target super-resolution parameters include a first quality parameter and a first scaling parameter (high quality, low scaling), the submission time interval of the final frame of the most recently acquired target data can be numerically quantized to obtain a second time-consuming quantized value. Numerical quantization can include, but is not limited to, the mean, median, standard deviation, and variance.
[0073] Step A2: If the second time quantization value is greater than the first time threshold, determine the target super-resolution parameters, including the second quality parameter and the second scaling ratio parameter.
[0074] The second quality parameter can be low quality, and the second scaling parameter can be high scaling. In this case, the target super-resolution parameters can be collectively referred to as low quality high scaling. Low quality high scaling is a super-resolution configuration that sacrifices some image quality in exchange for a higher scaling ratio. Low quality high scaling can use relatively simple interpolation algorithms (such as Bilinear) and output images at a higher scaling ratio (such as 2x), thereby significantly reducing the GPU's computational load. It is suitable for use in situations with weak hardware performance or complex operating environments.
[0075] If the second time quantization value is still greater than the first time threshold, it indicates that while the target super-resolution parameters (including the first quality parameter and the first scaling parameter) reduce computation, it is still insufficient to meet the demands of real-time rendering. If the second time quantization value is still greater than the first time threshold, the system will switch to target super-resolution parameters including the second quality parameter and the second scaling parameter (low quality, high scaling ratio) to further reduce GPU load and ensure smooth operation of games or graphics applications. This strategy allows the system to automatically select the optimal super-resolution scheme under different hardware conditions, thereby achieving a dynamic balance between performance and image quality.
[0076] Step A3: Determine the third time-consuming quantization value based on the final frame submission time interval under the target super-resolution parameters, including the second quality parameter and the second scaling ratio parameter.
[0077] The third time quantization value is the quantized value of the final frame submission time of the most recent target acquisition after downgrading to the target super-resolution parameters including the second quality parameter and the second scaling parameter (low quality, high scaling). The third time quantization value is used to evaluate whether the current super-resolution configuration effectively alleviates the performance problem. If the third time quantization value is still higher than the first time threshold, it indicates that even with the target super-resolution parameters including the second quality parameter and the second scaling parameter (low quality, high scaling), the device's performance requirements cannot be met.
[0078] In some implementations, the number of times the submission time interval of the final frame corresponding to the third time quantization value is collected may be the same as or different from the number of times the submission time interval of the final frame corresponding to the first time quantization value is collected, or may be the same as or different from the number of times the submission time interval of the final frame corresponding to the second time quantization value is collected. The specific number of times the submission time interval of the final frame corresponding to the second time quantization value can be set according to the actual rendering requirements.
[0079] For example, after determining that the target super-resolution parameters include a second quality parameter and a second scaling parameter (low quality, high scaling), the submission time interval of the final frame of the most recently acquired target data can be numerically quantized to obtain a third time-consuming quantized value. Numerical quantization can include, but is not limited to, the mean, median, standard deviation, and variance.
[0080] Step A4: If the third time consumption quantization value is greater than the first time consumption threshold, determine the target super-resolution parameters, including the second quality parameter and the first scaling ratio parameter.
[0081] The second quality parameter can be low quality, and the first scaling parameter can be low scaling. In this case, the target super-resolution parameters can be collectively referred to as low quality scaling. Low quality low scaling is a minimum level of super-resolution parameter configuration. It neither pursues high image quality nor high scaling, but performs super-resolution processing using the most basic interpolation algorithm (such as Nearest Neighbor) and only performs minimal image upscaling. Low quality low scaling has the lowest computational cost and is suitable for running on devices with extremely limited performance.
[0082] If the third time quantization value is still greater than the first time threshold, it indicates that even the target super-resolution parameters, including the second quality parameter and the second scaling parameter (low quality, high scaling), cannot meet the system's performance requirements, and the super-resolution processing flow must be further simplified. If the third time quantization value is still greater than the first time threshold, the system will switch to target super-resolution parameters including the second quality parameter and the first scaling parameter (low quality, low scaling) to minimize GPU load and ensure the stability of the base frame rate.
[0083] In some implementations, the progressive automatic degradation process provided in this application includes: the super-resolution parameter in the graphics driver is defaulted to the highest level of high quality and high scaling; if the submission time interval of the final frame of the most recent target count is greater than a first time consumption threshold, degradation processing is performed to downgrade the super-resolution parameter in the graphics driver to high quality and low scaling; after downgrading to high quality and low scaling, the submission time interval of the final frame of the newly acquired most recent target count is further quantized to obtain a second time consumption quantization value; if the second time consumption quantization value is still greater than the first time consumption threshold, degradation processing is further performed to downgrade the super-resolution parameter in the graphics driver to low quality and high scaling; after downgrading to low quality and high scaling, the submission time interval of the final frame of the newly acquired most recent target count is further quantized to obtain a third time consumption quantization value; if the third time consumption quantization value is still greater than the first time consumption threshold, degradation processing is performed again to downgrade the super-resolution parameter in the graphics driver to low quality and low scaling.
[0084] It should be noted that this application only uses four levels—high quality with high scaling, high quality with low scaling, low quality with high scaling, and low quality with low scaling—as examples to illustrate the levels of super-resolution parameters in graphics drivers. It should be understood that the levels of super-resolution parameters can also be divided into other levels based on other parameters, but the automatic degradation process is similar.
[0085] In this embodiment, the super-resolution parameters are dynamically downgraded based on the quantized value of the submission time interval of the final frame under different target super-resolution parameters and the first time consumption threshold. This can achieve intelligent optimization of the balance between image quality and performance under different hardware conditions and operating environments, avoid performance overload or insufficient image quality caused by fixed parameter configuration, thereby improving the overall user experience and further enhancing the adaptability and compatibility of the system.
[0086] In some embodiments, after step 1012b above, steps B1 to B4 may also be performed: Step B1: Determine the fourth time-consuming quantization value based on the final frame submission time interval under the target super-resolution parameters, including the second quality parameter and the second scaling ratio parameter.
[0087] The fourth time-consuming quantization value is the value obtained by quantizing the time interval between the submissions of the final frames of the most recent target number after determining the target super-resolution parameters, including the second quality parameter and the second scaling parameter (low quality, high scaling). The difference between the fourth and third time-consuming quantization values is that the fourth time-consuming quantization value is used in the automatic upgrade process, while the third time-consuming quantization value is used in the automatic downgrade process.
[0088] In some implementations, the number of times the final frame submission time interval corresponding to the fourth time quantization value is collected can be the same as or different from the number of times the final frame submission time interval corresponding to any one of the time quantization values (first time quantization value, second time quantization value, and third time quantization value) in the above-mentioned automatic degradation process can be collected. The specific time interval can be set according to the actual rendering requirements.
[0089] The operation for determining the fourth time-consuming quantization value is the same as or similar to that for determining the third time-consuming quantization value, and can be implemented by referring to the aforementioned implementation method for the third time-consuming quantization value. For example, after upgrading to low quality and high scaling, the submission time interval of the final frame of the most recently acquired target number can be numerically quantized to obtain the fourth time-consuming quantization value. Numerical quantization can include, but is not limited to: mean, median, standard deviation, variance, etc.
[0090] Step B2: If the fourth time-consuming quantization value is less than the second time-consuming threshold, determine the target super-resolution parameters, including the first quality parameter and the first scaling ratio parameter.
[0091] The first quality parameter can be high quality, and the first scaling parameter can be low scaling. In this case, the target super-resolution parameters can be collectively referred to as high quality and low scaling. If the fourth time quantization value is still less than the second time threshold, it indicates that the current device's performance has a margin of error, and the super-resolution parameters in the graphics driver can be further improved.
[0092] Step B3: Determine the fifth time-consuming quantization value based on the final frame submission time interval under the target super-resolution parameters, including the first quality parameter and the first scaling ratio parameter.
[0093] The fifth time-consuming quantization value is the value obtained by quantizing the submission time interval of the final frame of the most recent target acquisition after determining the target super-resolution parameters, including the first quality parameter and the first scaling parameter (high quality, low scaling). The difference between the fifth time-consuming quantization value and the second time-consuming quantization value is that the fifth time-consuming quantization value is used in the automatic upgrade process, while the second time-consuming quantization value is used in the automatic downgrade process.
[0094] In some implementations, the number of times the final frame submission time interval corresponding to the fifth time quantization value is collected can be the same as or different from the number of times the final frame submission time interval corresponding to any one of the time quantization values (first time quantization value, second time quantization value, third time quantization value) in the above-mentioned automatic degradation process can be collected. The specific time interval can be set according to the actual rendering requirements.
[0095] The operation for determining the fifth time-consuming quantization value is the same as or similar to that for determining the second time-consuming quantization value, and can be implemented with reference to the aforementioned implementation method for the second time-consuming quantization value. For example, after upgrading to high quality and low scaling, the submission time interval of the final frame of the most recently acquired target number can be numerically quantized to obtain the fifth time-consuming quantization value. Numerical quantization can include, but is not limited to, the mean, median, standard deviation, and variance.
[0096] Step B4: If the fifth time-consuming quantization value is less than the second time-consuming threshold, determine the target super-resolution parameters, including the first quality parameter and the second scaling ratio parameter.
[0097] The fifth time consumption quantization value is still less than the second time consumption threshold, indicating that the current device still has performance margin. The super-resolution parameters in the graphics driver can be increased again to fully utilize the hardware performance potential and provide higher quality image output without affecting the smoothness of the application, thereby meeting the visual needs of high-end users.
[0098] In some implementations, the progressive automatic upgrade process provided in this application includes: the super-resolution parameters in the graphics driver are defaulted to the lowest level of low quality and low scaling; if the submission time interval of the final frame of the most recent target count is less than a second time consumption threshold, an upgrade process is performed to upgrade the super-resolution parameters in the graphics driver to low quality and high scaling; after upgrading to low quality and high scaling, the submission time interval of the final frame of the newly acquired most recent target count is further quantized to obtain a fourth time consumption quantization value; if the fourth time consumption quantization value is still less than the second time consumption threshold, the upgrade process is further performed to upgrade the super-resolution parameters in the graphics driver to high quality and low scaling; after upgrading to high quality and low scaling, the submission time interval of the final frame of the newly acquired most recent target count is further quantized to obtain a fifth time consumption quantization value; if the fifth time consumption quantization value is still less than the second time consumption threshold, the upgrade process is performed again to upgrade the super-resolution parameters in the graphics driver to high quality and high scaling.
[0099] In this embodiment, the super-resolution parameters are dynamically upgraded based on the quantized value of the final frame submission time interval and the second time consumption threshold under different target super-resolution parameters. This can achieve intelligent optimization of the balance between image quality and performance under different hardware conditions and operating environments, avoid performance overload or insufficient image quality caused by fixed parameter configuration, thereby improving the overall user experience and further enhancing the adaptability and compatibility of the system.
[0100] In some embodiments, after step B4 above, steps B5 to B6 may also be performed: Step B5: Determine the sixth time-consuming quantization value based on the final frame submission time interval under the target super-resolution parameters, including the first quality parameter and the second scaling ratio parameter.
[0101] The sixth time threshold is the value obtained by quantizing the time interval between the submissions of the final frame of the most recent target number after determining the target super-resolution parameters, including the first quality parameter and the second scaling parameter (high quality and high scaling).
[0102] In some implementations, the number of times the final frame submission time interval corresponding to the sixth time quantization value is collected can be the same as or different from the number of times the final frame submission time interval corresponding to any one of the time quantization values (first time quantization value, second time quantization value, third time quantization value) in the above-mentioned automatic degradation process can be collected. The specific time interval can be set according to the actual rendering requirements.
[0103] The operation for determining the sixth time-consuming quantization value is the same as or similar to that for determining the second time-consuming quantization value, and can refer to the implementation method of the second time-consuming quantization value described above. For example, after upgrading to high quality and high scaling, the submission time interval of the final frame of the most recently acquired target number can be numerically quantized to obtain the sixth time-consuming quantization value. Numerical quantization can include, but is not limited to: mean, median, standard deviation, variance, etc.
[0104] Step B6: If the sixth time-consuming quantization value is greater than the first time-consuming threshold, determine that image super-resolution processing will not be started, and render the submitted final frame according to the target resolution.
[0105] If the sixth time quantization value is greater than the first time threshold, it means that the current device still has performance margin and can directly render the submitted final frame according to the target resolution without performing super-resolution.
[0106] In this embodiment of the application, when it is fully determined that the performance of the current device is sufficient, super-resolution will be turned off, and the final frame submitted will be rendered directly according to the target resolution to improve the overall user experience.
[0107] In some embodiments, the "target execution device" in step 102 above can be determined by the following steps 102a to 102c: Step 102a: Based on the hardware operation information of the computer device, determine whether the hardware acceleration unit in the computer device meets the preset idle conditions.
[0108] Hardware acceleration units refer to dedicated computing units within a GPU used for performing AI inference or image processing tasks, such as NVIDIA's Tensor Cores, AMD's Vega Instinct MCM, or Intel's Xe MatrixExtension (XMX). Hardware acceleration units can efficiently execute operations such as convolutional neural networks (CNNs) and matrix multiplication. Due to their high computational power, the efficiency of super-resolution algorithms can be significantly improved.
[0109] The preset idle condition is used to determine whether the hardware acceleration unit can be used to perform image super-resolution. If the hardware acceleration unit meets the preset idle condition, it means that the hardware acceleration unit is idle, indicating that the current hardware acceleration is not fully occupied by other tasks and can be immediately put into super-resolution operation.
[0110] In some implementations, the GPU status information in the hardware operation information can be used to determine whether the hardware acceleration unit meets the preset idle conditions. In this way, without affecting the execution of other tasks, the hardware acceleration unit can be prioritized for image super-resolution processing, which can improve overall performance and image quality.
[0111] Step 102b: If the hardware acceleration unit meets the preset idle conditions, the hardware acceleration unit is used as the target execution device.
[0112] The target execution device refers to the computing resources used to execute the super-resolution algorithm. When hardware acceleration has available resources, it can be selected as the target execution device to leverage its powerful parallel computing capabilities to quickly complete high-quality super-resolution processing. This fully utilizes the performance advantages of the hardware, reduces the load on the CPU or general-purpose GPU computing units, and thus ensures the overall stability and responsiveness of the system.
[0113] Step 102c: If the computer device does not have a hardware acceleration unit and / or the hardware acceleration unit does not meet the preset idle conditions, the general computing unit in the computer device shall be used as the target execution device.
[0114] A general-purpose computing unit refers to the computing unit carried by the GPU itself. For example, a general-purpose computing unit can be a shader. A graphics rendering shader is a set of programs running on the GPU, written in shader languages (such as HLSL and GLSL), used to control pixel color, texture mapping, lighting effects, etc. In this application, the graphics rendering shader is extended to perform traditional super-resolution algorithms, such as bilinear interpolation, Lanczos filtering, and some lightweight AI model inference. Compared to hardware acceleration, while the computational efficiency of graphics rendering shaders is slightly lower, they offer greater compatibility and flexibility, making them suitable for various graphics processing workflows.
[0115] When hardware acceleration units are unavailable, general-purpose computing units in computer devices are used instead as the target execution device. This ensures the availability of super-resolution functionality across all hardware platforms and enhances the universality and robustness of the approach.
[0116] In this embodiment, the target execution device is dynamically selected based on the hardware operation information of the computer device, which can automatically match the optimal computing resources under different hardware conditions. When the hardware acceleration unit is idle, this capability is used first, which can improve super-resolution efficiency and image quality. When there is no hardware acceleration unit or the hardware acceleration unit is occupied, the system switches to the general-purpose computing unit in the computer device to ensure the continuous availability of the super-resolution function. Therefore, performance and image quality can be balanced, thus adapting to various application scenarios and improving the user experience.
[0117] In some embodiments, the "target super-resolution algorithm" in step 102 above can be determined by the following steps 102d to 102f: Step 102d: Based on the hardware operation information of the computer equipment, determine whether the hardware of the computer equipment meets the preset hardware conditions.
[0118] Preset hardware conditions refer to the judgment criteria set for the hardware, used to assess whether the current hardware has the ability to perform high-performance, high-quality super-resolution.
[0119] In some implementations, preset hardware conditions include the memory resources required for high-performance, high-quality super-resolution. Higher quality and scaling super-resolution algorithms consume more video memory, so in addition to determining the final frame submission interval, runtime video memory usage also needs to be considered. If the video memory resources meet the requirements for high-performance, high-quality super-resolution, the computer hardware is determined to meet the preset hardware conditions. This avoids performance degradation or even stuttering caused by forcing operation when resources are insufficient, achieving a dynamic balance between image quality and performance.
[0120] Step 102e: If the computer equipment meets the preset hardware conditions, the artificial intelligence super-resolution algorithm is selected as the target super-resolution algorithm; the preset hardware conditions indicate that high-performance and high-quality super-resolution inference can be performed.
[0121] When the computer equipment meets the preset hardware conditions, artificial intelligence super-resolution algorithms are preferred to obtain higher quality super-resolution results. Compared with traditional methods, artificial intelligence super-resolution algorithms have significant advantages in detail restoration, edge sharpening, and texture generation, and are especially suitable for high-end hardware devices.
[0122] There is a complementary relationship between AI-based super-resolution algorithms and shader-based super-resolution algorithms. AI-based super-resolution algorithms rely on AI acceleration units for computation, while shader-based super-resolution algorithms implement their functionality through shader languages. Together, they constitute a dynamic switching mechanism that automatically selects the appropriate super-resolution algorithm under different hardware conditions, thereby providing usable and highest possible quality super-resolution processing capabilities.
[0123] Step 102f: If the computer equipment does not meet the preset hardware conditions, the shader super-resolution algorithm is used as the target super-resolution algorithm.
[0124] Shader super-resolution algorithms do not rely on specific AI acceleration units, thus offering broad compatibility and running on most GPUs. Shader super-resolution algorithms include bilinear interpolation, Lanczos filtering, and Bicubic sharpening, among others.
[0125] When the hardware of a computer device does not meet the preset hardware requirements, a shader super-resolution algorithm will be selected as an alternative to ensure that the super-resolution function is still available while maintaining image quality as much as possible. Although the shader super-resolution algorithm is slightly inferior to the AI super-resolution algorithm in terms of image quality, it has lower resource consumption, making it more suitable for use on low- to mid-range devices or in resource-constrained scenarios.
[0126] In this embodiment, the system determines whether the preset hardware conditions are met based on the hardware operation information, and selects a suitable target super-resolution algorithm based on the determination result. This allows for flexible adaptation to the performance levels of different devices, ensuring smooth application operation while providing high-quality super-resolution effects, thereby improving user experience and graphics display quality.
[0127] In some embodiments, step 103 above can be implemented by the following steps 1031 to 1032: Step 1031: Determine the amount of free video memory resources in the computer device.
[0128] Free video memory resources refer to the current available video memory capacity of the GPU. Since different super-resolution algorithms have different video memory requirements—for example, high-quality, high-scaling algorithms may require a large amount of video memory to cache input / output tensors and intermediate results—before executing super-resolution, the computer device first needs to check whether there are enough free video memory resources in the current GPU to meet the running requirements of the target super-resolution algorithm. Thus, by obtaining real-time video memory usage, rendering stutters or crashes caused by insufficient video memory can be avoided, thereby improving the stability of the computer device and the user experience.
[0129] Step 1032: When the amount of free video memory resources meets the video memory requirements of the target super-resolution algorithm, perform image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
[0130] The amount of free video memory resources meets the video memory requirements of the target super-resolution algorithm, meaning that there is sufficient video memory. Super-resolution is only performed under the premise of sufficient video memory, ensuring that the super-resolution process will not affect the stability of the computer equipment. At the same time, combined with the adaptive configuration mechanism, the best balance between performance and image quality is achieved, thereby improving the overall rendering efficiency and visual quality.
[0131] In this embodiment of the application, by detecting and evaluating the video memory status before super-resolution is performed, and only when there is sufficient video memory, the super-resolution operation can be performed. This can effectively prevent rendering failure or performance degradation caused by insufficient video memory, thereby ensuring the efficiency and stability of the super-resolution process and achieving a smoother graphics rendering experience.
[0132] In some embodiments, after step 1031, steps 1033 to 1034 may also be performed to achieve the following: Step 1033: When the amount of free video memory resources does not meet the video memory requirements of the target super-resolution algorithm, the target super-resolution parameters are downgraded based on the amount of free video memory resources to obtain downgraded target super-resolution parameters.
[0133] If the available video memory resources are insufficient to meet the video memory requirements of the target super-resolution algorithm, it indicates that the currently available video memory is insufficient to support the operation of the target super-resolution algorithm. In this case, the target super-resolution parameters can be dynamically adjusted based on the actual available video memory. For example, if the initially determined target super-resolution parameters are high quality and low scaling ratio, but due to insufficient video memory resources, the target super-resolution parameters can be automatically downgraded to low quality and high scaling ratio. This ensures that the super-resolution processing can continue to run and prevents image rendering failures or system performance degradation caused by exceeding video memory limits.
[0134] In some implementations, parameters can be adjusted gradually according to a preset priority strategy. For example, the image quality level might first be adjusted from high quality to medium quality. If this still fails to meet the memory requirements of the target super-resolution algorithm, the scaling ratio might be further adjusted from 2x to 1.5x. This degradation mechanism continues until a configuration that meets memory limitations while maintaining basic image quality is found, or the super-resolution function is eventually disabled. This ensures the continuity and stability of image output even with limited hardware resources, thereby improving user experience and reducing stuttering or crashes caused by insufficient resources.
[0135] Step 1034: Based on the downgraded target super-resolution parameters, target execution device and target super-resolution algorithm, perform image super-resolution processing on the submitted final frame to obtain a super-resolution frame.
[0136] After downgrading the target super-resolution parameters, the super-resolution operation will be re-executed using the new target super-resolution parameters. At this point, although image quality or resolution may be reduced, the entire super-resolution process can be ensured to proceed smoothly, providing the best possible visual effect under limited hardware conditions. For example, when video memory is limited, a lower-quality but less resource-intensive shader algorithm might be chosen to replace the AI-driven super-resolution model, thereby achieving fast and stable image output.
[0137] In this embodiment, by downgrading the target super-resolution parameters when there is insufficient free video memory, and continuing to perform super-resolution operations based on the downgraded target super-resolution parameters, the video memory bottleneck problem can be effectively alleviated, thereby ensuring the continuous execution of the super-resolution process, and thus achieving more stable image output and higher user satisfaction.
[0138] In some embodiments, step 104 above can be implemented by the following steps 1041 to 1043: Step 1041: Obtain the target resolution of the final frame submitted.
[0139] The target resolution refers to the display size set by the final frame rendered and submitted to the graphics driver by the application. The target resolution determines the sharpness of the image on the screen and the complexity of the rendering process. In some implementations, the target resolution can be entered in the settings interface, such as 1920×1080 (1080p), 2560×1440 (1440p), etc.
[0140] In some implementations, the target resolution of the final frame resource can be queried via an interface. Alternatively, the application can include the target resolution when submitting the final frame resource.
[0141] Step 1042: Based on the target super-resolution parameters, determine the super-resolution input resources that match the target resolution and the target super-resolution algorithm.
[0142] Super-resolution input resources refer to a set of low-resolution image data generated based on the target resolution and target super-resolution parameters before the target super-resolution algorithm is executed. Super-resolution input resources include the GPU resources corresponding to the target resolution and the GPU resources required by the target super-resolution algorithm. This set of low-resolution image data will serve as the input to the super-resolution algorithm, and after processing, will generate high-resolution image data. For example, if the target resolution is 1920×1080 and the target super-resolution parameters are scaled by 2, then the generated super-resolution input resource resolution will be 960×540.
[0143] By creating super-resolution input resources that match the target resolution and the target super-resolution algorithm, it is possible to ensure that the target super-resolution algorithm runs stably under different hardware and performance conditions, while reducing video memory usage and improving overall rendering efficiency.
[0144] In some implementations, the process of creating super-resolution input resources involves operations such as memory allocation, texture binding, and rendering pipeline configuration. The graphics driver can dynamically calculate the required size of low-resolution resources based on the target super-resolution parameters and reserve space for low-resolution resources in the GPU memory so that these resources can be used to generate high-quality, high-resolution images during the execution flow of the target super-resolution algorithm when the super-resolution input resources are passed to it.
[0145] Step 1043: Based on the super-resolution input resources, perform image super-resolution processing using the target super-resolution algorithm to obtain super-resolution frames.
[0146] In some implementations, the prepared super-resolution input resources are used as the input end, and the final frame is used as the output end. The input resources are processed by calling a pre-loaded target super-resolution algorithm model (such as an AI neural network model, Lanczos interpolation algorithm, etc.) to generate a high-resolution output image.
[0147] Specifically, the corresponding shader program or AI inference engine is launched, the super-resolution input resources are sent to the computing unit, the logic of the target super-resolution algorithm is executed, and the result is written to the final frame resource. This process can be executed in parallel on the GPU for efficient processing. The super-resolution data is then submitted to the display output, completing the entire rendering process.
[0148] In this embodiment, a super-resolution input resource matching the target resolution and the target super-resolution algorithm is determined according to the target super-resolution parameters. Based on the super-resolution input resource, the target super-resolution algorithm is used to perform image super-resolution processing to obtain a super-resolution frame. This intelligent super-resolution method can effectively reduce the application-side adaptation workload and improve the flexibility and intelligence level of image super-resolution processing.
[0149] The following describes the application of the super-resolution method based on graphics driver provided in the embodiments of this application in a real-world scenario.
[0150] For games and graphics-related applications, some super-resolution implementations are developed by the application developers themselves and integrated into the applications; others, such as NVIDIA DLSS and AMD FSR, provide specific SDKs for game developers. Users need to modify the application's rendering pipeline and submit low-resolution rendering results, motion vectors, depth and other data to the SDK to complete the adaptation. Super-resolution features developed by application developers themselves often struggle to balance performance and image quality in real time when running on different hardware devices or under complex operating conditions, ensuring smooth application operation. Furthermore, specific SDKs have high adaptation costs for users, limiting their use to newly developed applications or those capable of updating and adapting them, leaving many existing applications unable to benefit.
[0151] Based on this, this application proposes a super-resolution method based on a graphics driver. The super-resolution processing module (corresponding to the execution device based on the graphics processor) is deeply integrated into the graphics driver, enabling automatic and intelligent super-resolution of the application's rendering output, thereby eliminating the need for application-side adaptation. A monitoring module monitors frame rate, video memory, and computing power usage, dynamically adjusting super-resolution parameters to ensure efficient and stable application operation.
[0152] The technical solution of this application embodiment is as follows: within the graphics driver, between the application submitting the final frame and the display output frame, a super-resolution post-processing pipeline is constructed (corresponding to the above-mentioned super-resolution method based on the graphics driver), including: a monitoring module, an adaptive configuration module, and a super-resolution module.
[0153] Monitoring module. Collects hardware operation information, the time interval between the last 10 final frame submissions, current video memory usage, and GPU hardware acceleration core usage, providing the parameter information required by the adaptive configuration module.
[0154] Adaptive configuration module. The super-resolution algorithm is divided into scaling ratios of 1.5x and 2x based on resolution changes, and into high and low image quality. When performing super-resolution, the algorithm with the higher scaling ratio (2x) and higher image quality (high) is used first, and the image quality and / or scaling ratio are gradually reduced according to the real-time final frame submission time interval.
[0155] First, super-resolution parameter calibration is performed every 1 second. If the time interval between the submissions of the last 10 final frames is greater than 33ms, the scaling ratio is reduced to 1.5x (high quality, low scaling ratio). If it still does not reach 33ms, low quality, high scaling ratio is used, and then low quality, low scaling ratio is used. Conversely, if the average rendering time of the last 10 times is less than 16ms, the scaling ratio and image quality are gradually increased. If the average rendering time of the last 10 times is less than 16ms, the scaling ratio is increased first (low quality, high scaling ratio). If it is still possible to achieve this, high quality, low scaling ratio is used, and then high quality, high scaling ratio is used. If it is still possible to achieve this, super-resolution is turned off, and the rendering is performed directly at the target resolution.
[0156] The selection of super-resolution algorithm acceleration: First, obtain the current hardware information. If there is hardware acceleration (such as AI acceleration unit, Tensor Core, etc.) and it is available, then use the hardware acceleration unit for super-resolution; if there is no hardware acceleration unit or the hardware acceleration unit is occupied, then use the shader built into the graphics rendering for super-resolution.
[0157] Higher quality and scaling super-resolution algorithms consume more video memory. Therefore, in addition to judging rendering time, runtime video memory usage also needs to be considered. When switching super-resolution parameters, if the remaining video memory does not meet the video memory requirements of the super-resolution algorithm for that parameter, the super-resolution parameter will be downgraded until the video memory requirements are met or super-resolution is turned off.
[0158] To allow users more flexible control over the super-resolution function, the super-resolution switch and image quality control provided on the driver control panel will disable the adaptive configuration module parameter calibration when the user locks the relevant super-resolution parameters on the control panel.
[0159] Super-resolution module. The super-resolution algorithm includes multiple algorithms to meet high-performance requirements under different hardware conditions. The AI super-resolution algorithm loads a lightweight pre-trained convolutional neural network model for high-performance, high-quality super-resolution inference on hardware-accelerated devices. The shader super-resolution algorithm, implemented through rendering shaders, is compatible with all hardware devices; it includes implementing the inference AI super-resolution network model through shaders, as well as traditional super-resolution algorithms (such as Lanczos or Bicubic with sharpening). Their processing is executed on the GPU's general-purpose computing units or dedicated AI units, with memory resources and synchronization managed by the driver.
[0160] The execution flow is as follows: If image super-resolution is not enabled, the image driver directly submits the final frame at the target resolution, obtains the GPU resources for the final output frame, submits the final frame, and displays the output. If image super-resolution is enabled, the driver first obtains the target resolution of the GPU resources for the final frame, creates super-resolution input GPU resources corresponding to the resolution calculated by the adaptive configuration module (e.g., if the target resolution is 1920x1080, and the super-resolution parameter is doubled, a 960x540 resolution super-resolution input resource is created), and the GPU resources required by the super-resolution algorithm. Then, the final frame is submitted with the super-resolution input resources as the target for rendering. After rendering, the super-resolution input resources are used as the input to the super-resolution algorithm, and the final frame resources are used as the output to perform image super-resolution. Finally, the super-resolution result resources are submitted and the output frame is displayed to complete the final rendering.
[0161] like Figure 2As shown, the super-resolution post-processing flow provided in this embodiment includes: Step 201, submitting the final frame. Step 202, the monitoring module collects hardware operation information. Step 203, determining whether super-resolution is achieved based on the hardware operation information; if not, displaying directly; if super-resolution is achieved, proceeding to step 204. Step 204, determining whether to update the super-resolution parameters; if updating the super-resolution parameters, proceeding to step 205. Step 205, the adaptive configuration module adjusts the super-resolution parameters in the graphics driver. Step 206, the super-resolution module performs super-resolution based on the adjusted super-resolution parameters. Step 207, displaying.
[0162] This application's embodiments include at least the following protected points: A super-resolution method based on a graphics driver is proposed. The super-resolution processing module is deeply integrated into the graphics driver, enabling automatic and intelligent super-resolution of the application's rendering output, thereby eliminating the need for application-side adaptation. Simultaneously, as a system-level manager, the graphics driver can globally optimize the use of super-resolution resources, balancing image quality and performance, greatly reducing application adaptation costs and the barrier to entry, and achieving a more intelligent balance between image quality and performance.
[0163] Based on the foregoing embodiments, this application provides a super-resolution device based on a graphics driver. The device includes various units and modules included in each unit, which can be implemented by a processor in a computer device; of course, it can also be implemented by specific logic circuits. In the implementation process, the processor can be a central processing unit (CPU), a microprocessor unit (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.
[0164] Figure 3 This application provides a schematic diagram of the composition structure of a super-resolution device based on a graphics driver, as shown in the embodiments of this application. Figure 3 As shown, the graphics driver-based super-resolution device 300 includes: a processing module 310 and a super-resolution module 320, wherein: Processing module 310 is configured to determine target super-resolution parameters when image super-resolution processing is initiated based on the time interval between the submission of the final frame in the computer device. The processing module 310 is configured to determine the target execution device and the corresponding target super-resolution algorithm in the computer device for performing image super-resolution processing based on the hardware operation information of the computer device; the hardware operation information represents the rendering time, video memory usage and hardware acceleration unit usage of the computer device. The super-resolution module 320 is configured to perform image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
[0165] In some embodiments, the processing module 310 is further configured to determine a first time quantization value based on the submission time interval of the final frame of the most recent target number in the computer device; the first time quantization value is used to characterize the rendering efficiency of the computer device; and to determine the target super-resolution parameter based on the first time quantization value and the time threshold.
[0166] In some embodiments, the super-resolution parameters include a quality parameter and a scaling ratio parameter; the processing module 310 is further configured to determine that the target super-resolution parameters include a first quality parameter and a first scaling ratio parameter when the first time quantization value is greater than a first time threshold; and to determine that the target super-resolution parameters include a second quality parameter and a second scaling ratio parameter when the first time quantization value is less than a second time threshold; wherein the time threshold includes a first time threshold and a second time threshold, and the first time threshold is greater than the second time threshold, the quality level corresponding to the first quality parameter is higher than the quality level corresponding to the second quality parameter, and the magnification level corresponding to the first scaling ratio parameter is lower than the magnification level corresponding to the second scaling ratio parameter.
[0167] In some embodiments, the processing module 310 is further configured to: determine a second time-consuming quantization value based on the submission time interval of the final frame when the target super-resolution parameters include a first quality parameter and a first scaling ratio parameter; determine that the target super-resolution parameters include a second quality parameter and a second scaling ratio parameter when the second time-consuming quantization value is greater than a first time-consuming threshold; determine a third time-consuming quantization value based on the submission time interval of the final frame when the target super-resolution parameters include the second quality parameter and the second scaling ratio parameter; and determine that the target super-resolution parameters include the second quality parameter and the first scaling ratio parameter when the third time-consuming quantization value is greater than the first time-consuming threshold.
[0168] In some embodiments, the processing module 310 is further configured to: determine a fourth time-consuming quantization value based on the submission time interval of the final frame when the target super-resolution parameters include the second quality parameter and the second scaling ratio parameter; determine that the target super-resolution parameters include the first quality parameter and the first scaling ratio parameter when the fourth time-consuming quantization value is less than the second time-consuming threshold; determine a fifth time-consuming quantization value based on the submission time interval of the final frame when the target super-resolution parameters include the first quality parameter and the first scaling ratio parameter; and determine that the target super-resolution parameters include the first quality parameter and the second scaling ratio parameter when the fifth time-consuming quantization value is less than the second time-consuming threshold.
[0169] In some embodiments, the processing module 310 is further configured to determine a sixth time-consuming quantization value based on the submission time interval of the final frame when the target super-resolution parameters include a first quality parameter and a second scaling ratio parameter; if the sixth time-consuming quantization value is less than a second time-consuming threshold, determine not to start image super-resolution processing and render the submitted final frame according to the target resolution.
[0170] In some embodiments, the processing module 310 is further configured to determine, based on the hardware operation information of the computer device, whether the hardware acceleration unit in the computer device meets a preset idle condition; if the hardware acceleration unit meets the preset idle condition, the hardware acceleration unit is used as the target execution device; if the computer device does not have a hardware acceleration unit and / or the hardware acceleration unit is not idle, the general computing unit in the computer device is used as the target execution device.
[0171] In some embodiments, the processing module 310 is further configured to determine whether the hardware of the computer device meets preset hardware conditions based on the hardware operating information of the computer device; if the hardware of the computer device meets the preset hardware conditions, an artificial intelligence super-resolution algorithm is selected as the target super-resolution algorithm; the preset hardware conditions indicate that high-performance and high-quality super-resolution inference can be performed; if the hardware of the computer device does not meet the preset hardware conditions, a shader super-resolution algorithm is selected as the target super-resolution algorithm.
[0172] In some embodiments, the super-resolution module 320 is further configured to determine the amount of free video memory resources in the computer device; and, if the amount of free video memory resources meets the video memory requirements of the target super-resolution algorithm, to perform image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
[0173] In some embodiments, the super-resolution module 320 is further configured to, when the amount of free video memory resources does not meet the video memory requirements of the target super-resolution algorithm, perform downgrading processing on the target super-resolution parameters based on the amount of free video memory resources to obtain downgraded target super-resolution parameters; and perform image super-resolution processing on the submitted final frame based on the downgraded target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
[0174] In some embodiments, the super-resolution module 320 is further configured to obtain the target resolution of the submitted final frame; determine super-resolution input resources that match the target resolution and the target super-resolution algorithm based on the target super-resolution parameters; and perform image super-resolution processing using the target super-resolution algorithm based on the super-resolution input resources to obtain a super-resolution frame.
[0175] The descriptions of the apparatus embodiments above are similar to those of the method embodiments above, and have similar beneficial effects. In some embodiments, the functions or modules included in the apparatus provided in this application can be used to perform the methods described in the method embodiments above. For technical details not disclosed in the apparatus embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0176] It should be noted that, in the embodiments of this application, if the above-described super-resolution method based on a graphics driver is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to related technologies, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware, software, or firmware, or any combination of hardware, software, and firmware.
[0177] This application provides a computer device including: a memory for storing a graphics driver; and a graphics processor for executing some or all of the steps in the above method when executing the graphics driver stored in the memory.
[0178] This application provides a computer-readable storage medium storing a graphics driver, which, when executed by a processor, implements some or all of the steps in the above method.
[0179] This application provides a computer program including computer-readable code. When the computer-readable code is run in a computer device, the processor in the computer device executes some or all of the steps for implementing the above-described method.
[0180] This application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a graphics driver. When the graphics driver is read and executed by a computer device, it implements some or all of the steps in the above-described method. This computer program product can be implemented specifically through hardware, software, or a combination thereof. In some embodiments, the computer program product is specifically embodied as a computer storage medium; in other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK), etc.
[0181] It should be noted that the descriptions of the various embodiments above tend to emphasize the differences between them, while their similarities or commonalities can be referred to interchangeably. The descriptions of the above embodiments of the device, storage medium, computer program, and computer program product are similar to the descriptions of the above method embodiments and have similar beneficial effects. For technical details not disclosed in the embodiments of the device, storage medium, computer program, and computer program product of this application, please refer to the descriptions of the method embodiments of this application for understanding.
[0182] It should be noted that, Figure 4 This is a schematic diagram of a hardware entity of a computer device in an embodiment of this application, such as... Figure 4 As shown, the hardware entity of the computer device 400 includes: a processor 401, a communication interface 402, and a memory 403, wherein: Processor 401 typically controls the overall operation of computer device 400.
[0183] Communication interface 402 enables computer devices to communicate with other terminals or servers via a network.
[0184] The memory 403 is configured to store instructions and applications executable by the processor 401, and can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data, and video communication data) in the processor 401 and various modules in the computer device 400. It can be implemented using flash memory or random access memory (RAM). Data transfer between the processor 401, the communication interface 402, and the memory 403 can be performed via bus 404.
[0185] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above steps / processes do not imply a sequential order of execution; the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above embodiments of this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0186] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0187] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.
[0188] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0189] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0190] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.
[0191] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, magnetic disks, or optical disks.
[0192] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A super-resolution method based on a graphics driver, characterized in that, The method, which applies to a graphics driver in a computer device, includes: When determining the start time for image super-resolution processing based on the submission time interval of the final frame in the computer device, the target super-resolution parameters are determined; Based on the hardware operation information of the computer device, the target execution device and the corresponding target super-resolution algorithm for performing image super-resolution processing in the computer device are determined; the hardware operation information characterizes the rendering time, video memory usage, and hardware acceleration unit usage of the computer device. Based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm, the submitted final frame is subjected to image super-resolution processing to obtain a super-resolution frame.
2. The method according to claim 1, characterized in that, The determination of the target super-resolution parameters includes: A first time quantization value is determined based on the submission time interval of the final frame of the most recent target number in the computer device; the first time quantization value is used to characterize the rendering efficiency of the computer device. The target super-resolution parameter is determined based on the first time consumption quantization value and the time consumption threshold.
3. The method according to claim 2, characterized in that, The super-resolution parameters include quality parameters and scaling ratio parameters; determining the target super-resolution parameters based on the first time-consuming quantization value and the time-consuming threshold includes: If the first time consumption quantization value is greater than the first time consumption threshold, the target super-resolution parameter is determined to include a first quality parameter and a first scaling ratio parameter; If the first time consumption quantization value is less than the second time consumption threshold, the target super-resolution parameter is determined to include the second quality parameter and the second scaling ratio parameter; The time consumption threshold includes the first time consumption threshold and the second time consumption threshold, wherein the first time consumption threshold is greater than the second time consumption threshold, the quality level corresponding to the first quality parameter is higher than the quality level corresponding to the second quality parameter, and the magnification level corresponding to the first scaling ratio parameter is lower than the magnification level corresponding to the second scaling ratio parameter.
4. The method according to claim 3, characterized in that, The method further includes: The second time-consuming quantization value is determined based on the final frame submission time interval when the target super-resolution parameters include the first quality parameter and the first scaling ratio parameter; If the second time consumption quantization value is greater than the first time consumption threshold, the target super-resolution parameter is determined to include the second quality parameter and the second scaling ratio parameter; Based on the final frame submission time interval when the target super-resolution parameters include the second quality parameter and the second scaling ratio parameter, a third time-consuming quantization value is determined. If the third time consumption quantization value is greater than the first time consumption threshold, the target super-resolution parameter is determined to include the second quality parameter and the first scaling ratio parameter.
5. The method according to claim 3, characterized in that, The method further includes: The fourth time-consuming quantization value is determined based on the final frame submission time interval when the target super-resolution parameters include the second quality parameter and the second scaling ratio parameter. If the fourth time consumption quantization value is less than the second time consumption threshold, the target super-resolution parameter is determined to include a first quality parameter and a first scaling ratio parameter; The fifth time-consuming quantization value is determined based on the final frame submission time interval when the target super-resolution parameters include the first quality parameter and the first scaling ratio parameter; If the fifth time-consuming quantization value is less than the second time-consuming threshold, the target super-resolution parameters are determined to include the first quality parameter and the second scaling ratio parameter.
6. The method according to claim 5, characterized in that, The method further includes: Based on the final frame submission time interval under the target super-resolution parameters including the first quality parameter and the second scaling ratio parameter, a sixth time-consuming quantization value is determined; If the sixth time consumption quantization value is less than the second time consumption threshold, it is determined that image super-resolution processing will not be started, and the final frame submitted will be rendered according to the target resolution.
7. The method according to any one of claims 1 to 6, characterized in that, The target execution device is determined through the following steps: Based on the hardware operation information of the computer device, determine whether the hardware acceleration unit in the computer device meets the preset idle conditions; If the hardware acceleration unit meets the preset idle condition, the hardware acceleration unit will be used as the target execution device. If the computer device does not have the hardware acceleration unit and / or the hardware acceleration unit does not meet the preset idle condition, the general-purpose computing unit in the computer device shall be used as the target execution device.
8. The method according to any one of claims 1 to 6, characterized in that, The target super-resolution algorithm is determined through the following steps: Based on the hardware operation information of the computer device, determine whether the hardware of the computer device meets the preset hardware conditions. If the hardware of the computer device meets the preset hardware conditions, the artificial intelligence super-resolution algorithm will be used as the target super-resolution algorithm. The preset hardware conditions indicate that high-performance, high-quality super-resolution inference is possible. If the hardware of the computer device does not meet the preset hardware conditions, the shader super-resolution algorithm will be used as the target super-resolution algorithm.
9. The method according to any one of claims 1 to 6, characterized in that, The step of performing image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame includes: Determine the amount of free video memory resources in the computer device; When the amount of free video memory resources meets the video memory requirements of the target super-resolution algorithm, the submitted final frame is subjected to image super-resolution processing based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain the super-resolution frame.
10. The method according to claim 9, characterized in that, After determining the amount of free video memory resources in the computer device, the method further includes: If the amount of free video memory resources does not meet the video memory requirements of the target super-resolution algorithm, the target super-resolution parameters are downgraded based on the amount of free video memory resources to obtain downgraded target super-resolution parameters. Based on the downgraded target super-resolution parameters, the target execution device, and the target super-resolution algorithm, image super-resolution processing is performed on the submitted final frame to obtain the super-resolution frame.
11. The method according to claim 1, characterized in that, The step of performing image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame includes: Obtain the target resolution of the submitted final frame; Based on the target super-resolution parameters, determine the super-resolution input resources that match the target resolution and the target super-resolution algorithm; Based on the super-resolution input resources, the target super-resolution algorithm is used to perform image super-resolution processing to obtain the super-resolution frame.
12. A super-resolution device based on a graphics driver program, characterized in that, A graphics driver for use in a computer device, the means comprising: The processing module is configured to determine the target super-resolution parameters when the initiation of image super-resolution processing is determined based on the submission time interval of the final frame in the computer device. The processing module is configured to determine the target execution device and the corresponding target super-resolution algorithm in the computer device for performing image super-resolution processing based on the hardware operation information of the computer device; the hardware operation information represents the rendering time, video memory usage, and hardware acceleration unit usage of the computer device. The super-resolution module is configured to perform image super-resolution processing on the submitted final frame based on the target super-resolution parameters, the target execution device, and the target super-resolution algorithm to obtain a super-resolution frame.
13. A computer device, characterized in that, The computer device includes: Memory used to store graphics drivers; A graphics processor, when executing a graphics driver stored in the memory, implements the method of any one of claims 1 to 11.
14. A computer-readable storage medium having a graphics driver stored thereon, characterized in that, When the graphics driver is executed by the graphics processor, it implements the steps of the method according to any one of claims 1 to 11.
15. A computer program product comprising a non-transitory computer-readable storage medium storing a graphics driver, wherein the graphics driver, when read and executed by a computer device, implements the steps of the method of any one of claims 1 to 11.