System and method for applying dynamic resolution

By using a dynamic resolution selection system combined with machine learning algorithms, the system selects the optimal resolution for rendering based on screen content and resource status, thus solving the problems of resource waste and performance degradation on mobile device displays and achieving a balance between resource optimization and user experience.

CN120826735APending Publication Date: 2025-10-21QUALCOMM INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202480016761.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-14
Filing Date
2024-01-29
Publication Date
2025-10-21

AI Technical Summary

Technical Problem

In the prior art, when mobile devices render the screen on a display, fixed or default resolution settings may lead to wasted resources and performance degradation, while unnecessary high-resolution rendering may affect the user experience, especially when the screen content is simple.

Method used

A dynamic resolution selection system is employed, which combines a resolution selector and a graphics processing unit (GPU) with machine learning algorithms to select the optimal resolution for rendering based on screen content, resource requirements, and user activity history.

Benefits of technology

It achieves the goal of rationally allocating resources while ensuring user experience, avoiding unnecessary resource consumption and performance loss, and improving the efficiency and performance of mobile devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120826735A_ABST
    Figure CN120826735A_ABST
Patent Text Reader

Abstract

An apparatus, the apparatus comprising: a screen generator configured to generate a screen in response to an application; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and a graphics processing unit (GPU) configured to render the screen on the display based on the selected resolution.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to pending U.S. non-provisional application No. 18 / 183,843, filed on March 14, 2023, which is assigned to the assignee of the present application and is hereby expressly incorporated herein by reference as if fully set forth below and for all applicable purposes. Technical Field

[0003] Aspects of the present disclosure relate generally to graphics screen displays, and particularly to systems and methods for applying dynamic resolution to a graphics screen to be displayed. Background Art

[0004] A computing device such as a mobile device or smart phone can render a screen on a display based on an application or an operating system. The resolution used to render the screen on the display is typically set in the factory (default setting) and / or manually by the user. A high resolution for rendering the screen may require a lot of resources and exhibit rendering delays compared to rendering the screen at a lower resolution. However, from a user experience perspective, the screen can be better rendered at a higher resolution, especially if the screen includes a large number of images or videos and the user uses the screen frequently. On the other hand, if the screen only includes text superimposed on a solid background and is not frequently used by the user, rendering the screen at a higher resolution may not significantly affect the user experience, while unnecessarily consuming a lot of resources and introducing unnecessary delays. Summary of the Invention

[0005] The following content presents a simplified summary of one or more implementations in order to provide a basic understanding of such implementations. This summary is not an exhaustive overview of all contemplated implementations and is not intended to identify key or important elements of all implementations, nor is it intended to delineate the scope of any or all implementations. Its sole purpose is to present some concepts of one or more implementations in a simplified form as a prelude to the more detailed description that will be presented later.

[0006] One aspect of the present disclosure relates to an apparatus comprising: a screen generator configured to generate a screen in response to an application; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and a graphics processing unit (GPU) configured to render the screen on a display based on the selected resolution.

[0007] Another aspect of the present disclosure relates to a method for rendering a screen on a display, comprising: selecting at least one resolution for rendering the screen based on a set of parameters associated with the screen; and rendering the screen on the display at the at least one selected resolution.

[0008] Another aspect of the present disclosure relates to a wireless communication device. The wireless communication device includes: a display; a screen generator configured to generate a screen; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and a graphics processing unit (GPU) configured to render the screen on the display at the selected resolution.

[0009] To achieve the foregoing and related objectives, one or more implementations include the features fully described below and particularly pointed out in the claims. The following description and the accompanying figures set forth in detail certain illustrative aspects of one or more implementations. However, these aspects are merely indicative of a few of the various ways in which the principles of various implementations may be employed, and the description of implementations is intended to include all such aspects and their equivalents. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 A block diagram illustrating an example graphics screen generation architecture according to an aspect of the present disclosure is shown.

[0011] Figure 2 A block diagram illustrating an example graphics screen generating apparatus using dynamic screen resolution according to another aspect of the present disclosure is provided.

[0012] Figure 3 A table illustrating graphic screen parameters and resolution impact priorities according to another aspect of the present disclosure is illustrated.

[0013] Figure 4 A block diagram illustrating an example neural network for generating resolution-influence weights according to another aspect of the present disclosure is illustrated.

[0014] Figure 5 A block diagram illustrating an example screen resolution selection neural network according to another aspect of the disclosure is illustrated.

[0015] Figure 6 A block diagram illustrating another example graphics screen generating apparatus using dynamic resolution of screen sub-views according to another aspect of the present disclosure is illustrated.

[0016] Figure 7 Illustrated are diagrams related to an example method of separating different sub-views of a screen according to another aspect of the present disclosure.

[0017] Figure 8Illustrated are diagrams related to another example method of separating different sub-views of a screen according to another aspect of the present disclosure.

[0018] Figure 9 A block diagram illustrating another example graphics screen generating apparatus using dynamic resolution based on screen object type and attributes according to another aspect of the present disclosure is illustrated.

[0019] Figure 10 A table illustrating screen objects and resolution impact priorities according to another aspect of the present disclosure is illustrated.

[0020] Figure 11A A block diagram illustrating an example screen object resolution selection neural network according to another aspect of the present disclosure is illustrated.

[0021] Figure 11B A table depicting example resolution priorities for screen objects and parameters associated with a resolution selection neural network according to another aspect of the present disclosure is illustrated.

[0022] Figure 12 A flow chart illustrating an example method of implementing dynamic resolution of a graphics screen according to another aspect of the present disclosure.

[0023] Figure 13 A flowchart illustrating an example method of rendering a screen on a display according to another aspect of the present disclosure is provided.

[0024] Figure 14 A block diagram illustrating an example wireless communication device according to another aspect of the disclosure is illustrated. DETAILED DESCRIPTION

[0025] The detailed description set forth below in conjunction with the accompanying drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details to provide a comprehensive understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form to avoid obscuring such concepts.

[0026] Mobile devices or smartphones typically have many applications running and provide information and controls to the user via one or more graphical screens. The content of the graphical screens depends on the specific application and the purpose of the screen. For example, a graphical screen may provide information in the form of text, images, or videos, and may also provide user-controllable features such as control buttons, check buttons, radio buttons, and the like. Although the concepts described herein are with reference to mobile devices or smartphones, it should be understood that these concepts are applicable to any device that produces a graphical screen on a display.

[0027] In the past, mobile devices generated graphic screens on displays based on fixed manually set resolutions or default resolutions. For example, such resolution options include standard definition (SD) (e.g., 720×480 pixels) 2 ), high definition (HD) (e.g., 1080 × 720 pixels 2 ), Full High Definition (FHD) (1920 × 1080 pixels 2 ) and Wide Quad High Definition (WQHD) (e.g., 2560 × 1440 pixels 2 The chosen resolution often affects the resource usage and performance of a mobile device. For example, higher resolutions require more random access memory (RAM), higher clock frequency processing by the central processing unit (CPU) and graphics processing unit (GPU), higher battery consumption, higher processing latency, increased application launch time, delays associated with application switching, and increased heat generation.

[0028] However, from a user experience perspective, depending on the application and the content of one or more of its graphical screens, a higher resolution option (e.g., FHD or WQHD) may not be necessary. For example, an application that produces screens with text in front of a solid color background (e.g., a calendar, calculator, clock, or other similar application) does not need to be rendered at a high resolution on the display because the various resolution options do not significantly affect the user experience of such applications. As a result, a mobile device may unnecessarily consume too many resources due to the selected higher resolution option and result in performance degradation without improving the user experience.

[0029] On the other hand, a lower resolution option (e.g., SD or HD) may affect the user experience of applications that generate screens with a large number of images and videos (e.g., Internet TV, video streaming, video conferencing, games, etc.). In addition, the user experience may be affected by the frequency with which an application or screen object / feature (e.g., a button) is used. For example, if an application or screen object is frequently used, it may be better from a user experience perspective to render the corresponding screen and / or screen object with a higher resolution option from the higher resolution options (e.g., FHD or WQHD). On the other hand, if an application or screen object is rarely used, it may be better to render the corresponding screen or screen object with a lower resolution option from the lower resolution options (e.g., SD or HD) because this will have the least impact on the user experience and will not consume a lot of resources and affect performance.

[0030] Figure 1A block diagram of an example display screen generation architecture 100 according to an aspect of the present disclosure is illustrated. The display screen generation architecture 100 includes an application layer 110, a framework layer 120 including an associated framework (FW) component 130 and a framework (FW) resolution machine learning (ML) model component 140, a graphics layer 150, and a set of hardware components including random access memory (RAM) 160, non-volatile memory 170, and a processor 180 (e.g., a central processing unit (CPU) and a graphics processing unit (GPU)). It should be understood that the display screen generation architecture 100 is merely an example and may have different configurations.

[0031] The application layer 110 includes user-installed applications and interfaces with the framework (FW) layer 120 to provide user interface screen generation, thereby providing information to the user and receiving control from the user according to the application functionality. The FW component 130 may include a ViewSystem component 132, an application core (AppCore) component 134, and a system user interface (SystemUI) component 136. The FW resolution ML model component 140 may include a resolution selector 142 and a subview / object detector (separator) component 144, as further discussed in more detail herein.

[0032] Further referring to the FW component 130, the ViewSystem component 132 includes the basic building blocks (e.g., screen objects) from which the framework (FW) layer 120 generates the mobile device's graphical user interface under the control of the application. The AppCore component 134 includes the mobile device's factory-installed or core default applications (e.g., camera, photo gallery, clock, calculator, email, etc.). The SystemUI component 136 enables mobile device users to control and customize display screens independent of user applications launched from the application layer 110.

[0033] Regarding the FW resolution ML model component 140, as further discussed in more detail herein, in one embodiment, the resolution component 142 may select a resolution for a screen based on the content of the screen (e.g., its screen objects), resource requirements (e.g., RAM and CPU / GPU speed), the current state of the resources (e.g., remaining RAM, remaining battery, current CPU usage), and historical information about user activity related to the associated application. The framework (FW) layer 120 then uses the selected resolution to generate a screen for rendering by the graphics layer 150 (e.g., a graphics processing unit (GPU)).

[0034] In another specific implementation, the subview / object detector 144 may detect a set of subviews of the screen, and the resolution selector 142 may select a resolution for each of the subviews based on its screen object, resource requirements (e.g., RAM and CPU / GPU speed), the current state of the resources (e.g., remaining RAM, remaining battery, current CPU usage), and historical information about user activity related to the associated application. The framework (FW) layer 120 then uses the selected resolutions of the subviews to generate a screen for rendering by the graphics layer 150.

[0035] In yet another specific implementation, the subview / object detector 144 may detect a set of screen objects (e.g., text, video, images, buttons, etc.) of the screen, and the resolution selector 142 may select a resolution for each screen object based on the object type and properties (e.g., by accessing screen objects associated with different resolutions (e.g., dots per inch (DPI) folders). The framework (FW) layer 120 then uses the selected resolution of the screen object to generate a screen for rendering by the graphics layer 150.

[0036] Figure 2 A block diagram of an example display screen generation device 200 according to another aspect of the present disclosure is illustrated. The display screen generation device 200 includes a framework (FW) layer screen generator 210, a framework (FW) layer resolution selector or selector 220, and a graphics layer component 230 (e.g., a GPU). The FW screen generator 210 can generate screen information or parameters based on input from an application, user interface (UI) preferences, and a ViewSystem screen object. The screen information describes the content of the screen to be displayed and the system parameters associated with the screen.

[0037] As discussed in greater detail further herein, the FW resolution selector 220 receives screen information from the FW screen generator 210 and runs a machine learning algorithm (e.g., artificial intelligence (AI), a neural network model, etc.) to select a resolution for the screen based on the screen information (e.g., text objects, image objects, video objects, screen size, etc.), system resource requirements for rendering the screen (e.g., required RAM and CPU / GPU usage), and the current state of associated resources (e.g., remaining RAM, remaining battery life, current CPU usage). The FW resolution selector 220 then provides the selected resolution to the FW screen generator 210. The FW screen generator 210 may then modify the selected resolution based on historical information associated with user activity regarding the application. The FW screen generator 210 then generates a screen with the final resolution and provides the screen to the GPU 230 for rendering on the display.

[0038] Figure 3A table illustrating graphics screen parameters and resolution impact priorities according to another aspect of the present disclosure is shown. The left column indicates various screen parameters used for resolution selection. The right column indicates the resolution priority used to select a resolution (corresponding to the screen parameters in the same row). The higher the resolution priority, the more FW resolution selector 220 tends to select a higher resolution. Conversely, the lower the resolution priority, the more FW resolution selector 220 tends to select a lower resolution. From top to bottom, the table is organized into several categories, including screen object type, image / video size on the screen, required RAM, processor (CPU / GPU) usage, and current resource status.

[0039] Regarding screen object types, the screen parameters include text objects, image objects, and video objects. Regarding resolution priority, text objects may be assigned a relatively low priority (e.g., one (1)) because the resolution of rendered text (whether high or low) does not significantly affect the user experience. On the other hand, image objects may be assigned a higher priority (e.g., two (2)) than text objects because the resolution of images generally has a greater impact on the user experience than the resolution of text. Similarly, video objects may be assigned an even higher priority (e.g., four (4)) because the resolution of videos generally has a greater impact on the user experience than the resolution of images or text.

[0040] Regarding the size of the image / video object in the screen, the screen parameters include a picture-in-picture (PIP) mode in which the image / video object occupies a relatively small screen size (e.g., 10%), a split-screen mode in which the image / video object occupies one of different screen sizes (e.g., 25% / 50% / 75%), and a full-screen mode in which the image / video object occupies the entire screen (e.g., 100%). Regarding the resolution priority, the larger the screen size, the higher the resolution priority. For example, the PIP mode can be assigned a relatively low resolution priority (e.g., 0.5). Split-screen modes of 25%, 50%, and 75% screen sizes can be assigned progressively higher resolution priorities (e.g., (-) 1, (-) 3, and (-) 5, respectively). The full-screen size can be assigned the highest resolution priority in the screen size category (e.g., eight (8)).

[0041] Regarding the RAM required to render the screen, the screen parameters include light RAM usage (e.g., <200 megabytes (MB)), light-moderate RAM usage (e.g., 200MB to 500MB), moderate RAM usage (e.g., 500MB to 800MB), and heavy RAM usage (>800MB). Regarding resolution priority, the greater the RAM usage, the higher the resolution priority. For example, light RAM usage may be assigned a relatively low resolution priority (e.g., 0.2). Light-moderate RAM usage may be assigned a higher resolution priority (e.g., 0.5) than light RAM usage. Moderate RAM usage may be assigned a higher resolution priority (e.g., 0.8) than light-moderate RAM usage. Heavy RAM usage may be assigned the highest resolution priority (e.g., one (1)) in the RAM usage category.

[0042] Regarding processor (CPU / GPU) usage or clock frequency, the screen-associated system parameters include light (e.g., 0.5 to one (1) gigahertz (GHz)), medium (e.g., 1 GHz to 2 GHz), and high (e.g., > two (2) GHz). Regarding resolution priority, the higher the processor usage or clock frequency, the higher the resolution priority. For example, light processor usage or speed may be assigned a relatively low resolution priority (e.g., 1.5). Moderate processor usage or speed may be assigned a medium resolution priority (e.g., three (3)). High RAM usage may be assigned the highest resolution priority in the processor usage category (e.g., 4.5).

[0043] Regarding the current resource status, the screen-associated system parameters include remaining RAM, remaining battery life, and current CPU usage. For example, regarding remaining RAM, a relatively low resolution priority (e.g., 0.25) may be assigned. Regarding remaining battery life, a medium resolution priority (e.g., 0.5) may be assigned. And, regarding current CPU usage, a high resolution priority (e.g., two (2)) may be assigned.

[0044] Figure 4 A block diagram of an example neural network 400 for generating resolution impact weights according to another aspect of the present disclosure is illustrated. The neural network 400 is configured to receive Figure 3 The priorities of various screen parameters listed in the table are taken as input, and a set of corresponding output weights are derived based on a defined loss function, which can be based on user experience, resource usage, and available resources.

[0045] For example, the assigned weight W associated with the size parameter in the screen SS It can be given by the following equation:

[0046]

[0047] Where SS is the percentage of the screen size. Therefore, for the PIP mode with SS=10, according to the above equation, the weight W SS But it can be 0.05 (for example, 10*0.5 / 100). For split screen 25%, 50% and 75%, according to the above equation, the weight W SS They can be 0.25, 1.5 and 3.75 respectively. For full screen, according to the above equation, the weight W SS But eight (8).

[0048] The assigned weight W associated with the required RAM parameters RAM It can be based on the percentage of RAM required by the application compared to the RAM required by the mobile device, which can be given by the following equation:

[0049]

[0050] The assigned weight W associated with the processor (CPU / GPU) usage PROC It can be given by the following equation:

[0051]

[0052] Figure 5 FIG1 illustrates a block diagram of an example screen resolution selection neural network 500 according to another aspect of the present disclosure. The screen resolution selection neural network 500 receives as input screen parameters associated with the screen to be rendered. For example, the screen parameters may include text objects, image objects, video objects, required RAM, processor (CPU / GPU) usage, and current resource status. The neural network 500 then assigns the corresponding weights W T 、W I 、W V 、W R 、W P and W S Applied to the corresponding input screen parameters, including screen size weights W for image object screen parameters and video object screen parameters SS The weighted screen parameters are then accumulated by adder 510. The accumulated weighted screen parameters are then operated on by activation function 520 to generate the resulting selected resolution.

[0053] As some examples, if the screen to be rendered includes only text objects, the required RAM is relatively low, the required processor usage is relatively low, and the currently available resources are relatively low, the neural network 500 may derive a relatively low selected resolution (e.g., SD). On the other hand, if the screen to be rendered includes image objects and video objects, a large amount of RAM is required to render the screen, a large amount of processor usage is required to render the screen, and the currently available resources are relatively high, the neural network 500 may derive a relatively high selected resolution (e.g., WQHD). Thus, the resolution derived by the neural network 500 provides an acceptable user experience without unnecessarily consuming too many resources, while also taking into account the available resources.

[0054] Figure 6 FIG2 illustrates another example block diagram of a display screen generating apparatus 600 according to another aspect of the present disclosure. In the screen generating apparatus 200, a selected resolution is applied to the entire screen. In the screen generating apparatus 600, a set of selected resolutions is applied to a set of sub-views of the screen, respectively.

[0055] Specifically, the display screen generation device 600 includes a framework (FW) layer screen generator 610, a FW layer subview separator 620, a FW resolution selector 630, and a graphics layer component 640 (e.g., a GPU). The FW screen generator 610 can generate screen information based on input from an application, user interface (UI) preferences, and a ViewSystem screen object. The screen information or parameters describe the content of the screen to be displayed. The FW subview separator 620 parses or separates different subviews of the screen (e.g., M subviews, where M is a positive integer) and sequentially provides the subviews (e.g., i=0 to M) to the FW resolution selector 630.

[0056] The FW resolution selector 630 sequentially receives M sub-views i from the FW sub-view separator 620. / M , and runs a machine learning algorithm (e.g., artificial intelligence (AI), a neural network model, etc.) implemented by the neural network 500 to select the group of subviews (subview i ) based on screen subview information or parameters (e.g., text object, image object, video object, size in the screen, etc.), resource requirements for rendering the subviews (e.g., required RAM and CPU / GPU usage), and the current status of associated resources (e.g., remaining RAM, remaining battery life, current CPU usage). / M , i = 1 to M) a set of resolutions (RES i / M Then, the FW resolution selector 630 selects the resolution (RES i / M) is provided to the FW screen generator 610. The FW screen generator 610 may then modify the selected resolution (RES) based on historical information associated with user activity for the subview, screen, and / or application. i / M ) in one or more resolutions. The FW screen generator 610 then generates a screen including the subviews and the corresponding selected resolutions, and provides the screen to the graphics layer component or GPU 640 for rendering on the display.

[0057] Figure 7 1 illustrates an example method for separating different sub-views 710, 720, and 730 of a screen 700 according to another aspect of the present disclosure. The method may be implemented by the FW sub-view separator 620 to separate the various sub-views for resolution analysis by the FW resolution selector 630.

[0058] Specifically, sub-view 710 may be located at the top of screen 700 and may include a solid background color or shade (e.g., a primary color, black, or white). Similarly, sub-view 730 may be located at the bottom of screen 700 and may also include a solid background color or shade (e.g., a primary color, black, or white). In this example, sub-view 720 may be located in the middle of screen 700 and may include an image or video.

[0059] The method of separating different sub-views uses the color / grayscale value or pixel density analysis of adjacent pixels to identify the corners or boundaries of various sub-views. For example, the FW sub-view separator 620 can generate a threshold value (T) for identifying the corners or boundaries of various sub-views according to the following equation:

[0060]

[0061] where pixel i is the current pixel or pixel density being analyzed, pixel i-1 is the adjacent pixel or pixel density on one side, and pixel i +1 is the neighboring pixel or pixel density on the other side. Therefore, the threshold (T) is equal to the current pixel i minus the pixels (pixel i-1 and pixel i on either side of the current pixel i) +1 ) are related to the average value of .

[0062] Note that within each of subviews 710, 720, and 730, the threshold value (T) is relatively low or close to zero (0) (especially for solid background colors or shadows). For example, within solid background colors, such as in subviews 710 and 730, the threshold value (T) is zero (0) because the color / shadow value of the current pixel i is the same as that of pixels i-1 and i on either side of the current pixel i. +1The same average value. Therefore, the threshold value (T) will be zero (0) (e.g., k-(k+k) / 2=0, where k is the color / shading value of each of the current pixel and the neighboring pixels). Similarly, the threshold value (T) for the image or video subview 720 may also be a relatively low value because the color / shading changes of small neighboring or pixel analysis areas of the image or video may not change significantly. However, at the corners or boundaries between the different subviews 710 and 720 and 720 and 730, the threshold value (T) will result in a relatively high number compared to the threshold value within each of the different subviews 710, 720, and 730. Therefore, the threshold value T can be set to a relatively small number.

[0063] Then, the FW sub-view separator 620 determines the adjacent pixel difference function f(x, y) of the pixel of the screen 700 = pixel i -Pixel j , and compares the function value f(x,y) with a threshold value T. Based on the comparison, if the adjacent pixel difference function f(x,y) is greater than the threshold value (T), the FW subview separator 620 determines the corner or boundary condition function g(x,y) by setting the corner or boundary condition function g(x,y) to one (1), and if the adjacent pixel difference function f(x,y) is less than or equal to the threshold value (T), the FW subview separator determines the corner or boundary condition function g(x,y) by setting the corner or boundary condition function g(x,y) to zero (0). If the pixel i corresponds to a corner or boundary of the subview, the corner or boundary condition function g(x,y) is one (1), and if the pixel i does not correspond to a corner or boundary of the subview, the corner or boundary condition function g(x,y) is zero (0). In this way, the corners or boundaries between the subviews can be determined and separated to run a separate resolution selection algorithm on each of the subviews, as previously discussed.

[0064] Figure 8 FIG1 illustrates another example method for separating different sub-views 810, 820, and 830 of a screen 800 according to other aspects of the present disclosure. The method may be implemented by the FW sub-view separator 620 to separate the various sub-views of the screen. It should be understood that the FW sub-view separator 620 may implement the following methods independently or in combination: Figures 7 and 8 There are two methods to detect individual subviews of the screen.

[0065] According to this method, the FW subview separator 620 separates the different subviews 810, 820, and 830 based on the z-order associated with the subviews. The z-order indicates the extent to which the corresponding subview is in the foreground and background of the screen. The higher the z-order value, the more the corresponding subview is in the foreground. Conversely, the lower the z-order value, the more the corresponding subview is in the background.

[0066] In this example, the top subview 810 and the bottom subview 830 of the screen 800 each have a z-order of one (1), and the middle subview 820 of the screen 800 has a z-order of two (2). This means that the middle subview 820 is more in the foreground than the top subview 810 and the bottom subview 830. Since the z-order is associated with the subviews, the FW subview separator 620 can detect the different subviews based on their respective z-orders and provide them individually to the FW resolution selector 630 to select their respective resolutions, as previously discussed.

[0067] Figure 9 1 illustrates a block diagram of another example screen generation apparatus 900 according to another aspect of the present disclosure. In the screen generation apparatus 600, a selected resolution is applied to each sub-view in a set of sub-views of a screen. In the screen generation apparatus 900, a selected resolution is applied to each screen object in a set of screen objects of a screen.

[0068] Specifically, the display screen generation device 900 includes a framework (FW) layer screen generator 910, a FW screen object separator 920, a FW resolution selector 930, and a graphics layer component (e.g., a GPU) 940. The FW screen generator 910 can generate screen information or parameters based on input from an application, user interface (UI) preferences, and a ViewSystem screen object. The screen information describes the content of the screen to be displayed. The FW screen object separator 920 parses or separates different screen objects (e.g., N screen objects) and sequentially provides the screen objects (e.g., i=0 to N) to the FW resolution selector 930.

[0069] The FW resolution selector 930 sequentially receives N screen objects i from the FW screen object separator 920. / N , and running a machine learning algorithm (e.g., artificial intelligence (AI), neural network model, etc.) implemented by a neural network (discussed further herein) to select the set of screen objects (objects i / M , i = 1 to N) a set of resolutions (RES i / N Then, the FW resolution selector 930 selects the resolution (RES i / N ) is provided to the FW screen generator 910.

[0070] The FW screen generator 910 may then modify the selected resolution (RES) based on historical information associated with user activity with respect to the screen object. i / N ). As an example, the FW screen generator 910 may enhance the selected resolution of the screen object according to the following relationship:

[0071] Selected resolution = NN-based resolution + ∑(user activity factor)

[0072] The NN-based resolution is a resolution selected using a neural network algorithm, and the user activity factor can be formulated according to the following formula:

[0073] ∑(user activity factor)=usage rate of screen objects / (total number of screen objects)+time spent on application / total time spent on mobile device.

[0074] The FW screen generator 910 then generates a screen based on the screen object and the corresponding selected resolution, and provides the screen to the graphics layer component (GPU) 940 for rendering on a display.

[0075] Figure 10 A table illustrating screen objects and resolution impact priorities according to another aspect of the present disclosure is shown. The left column indicates various screen objects and attributes. The right column indicates the resolution impact priorities used to select the resolution of the screen object. Similarly, the higher the resolution priority, the more likely FW resolution selector 930 is to select a higher resolution for the associated screen object. Conversely, the lower the resolution priority, the more likely FW resolution selector 930 is to select a lower resolution for the associated screen object. From top to bottom, the table is organized into several categories, including screen object type, screen object z-order, screen object position, and screen object transparency.

[0076] Regarding screen object types, the screen parameters include text objects, image objects, and video objects. Regarding resolution priority, text objects may be assigned a relatively low priority (e.g., two (2)) because the resolution of rendered text (whether high or low) does not significantly affect the user experience. On the other hand, image objects may be assigned a medium resolution priority (e.g., four (4)) because the resolution of images generally has a greater impact on the user experience than the resolution of text. Similarly, video objects may be assigned a high priority (e.g., eight (8)) because the resolution of videos generally has a greater impact on the user experience than the resolution of images or text.

[0077] Regarding the z-order (attribute) of screen objects, the z-order includes low elevation (e.g., common to notification text objects), medium elevation (e.g., common to button objects and text objects), and high elevation (e.g., common to video objects and image objects). Regarding resolution priority, the larger the z-order of a screen object, the higher the resolution priority. For example, a low elevation z-order screen object may be assigned a low resolution priority (e.g., one (1)). A medium elevation z-order screen object may be assigned a medium resolution priority (e.g., two (2)). A high elevation z-order screen object may be assigned a high resolution priority (e.g., four (4)).

[0078] Regarding the position (attribute) of the screen object, the screen position includes the top, middle, and bottom. Regarding the resolution priority, the middle of the screen is given a higher resolution because it is where the user looks more frequently and more comfortably. For example, the top screen position may be assigned a low resolution priority (e.g., two (2)). The middle screen position may be assigned a high resolution priority (e.g., four (4)). The bottom screen position may be assigned a medium resolution priority (e.g., three (3)).

[0079] Regarding the transparency (attribute) of screen objects, transparency includes α (e.g., a certain degree of transparency) and opaque. Regarding resolution priority, the opaque screen object attribute can be assigned a higher resolution priority than the α screen object attribute. For example, the α screen object attribute can be assigned a resolution priority of 0.25. The opaque screen object attribute can be assigned a resolution priority of 0.75.

[0080] Figure 11A FIG2 illustrates a block diagram of an example screen object resolution selection neural network 1100 according to another aspect of the present disclosure. The screen object resolution selection neural network 1100 may be employed by the FW resolution selector 930 of the screen generating device 900.

[0081] Specifically, the screen object resolution selection neural network 1100 includes an input screen object layer 1110, which includes inputs and associated weights for SurfaceView objects (weight = 0.85), TextureView objects (weight = 0.78), VideoView objects (weight = 0.92), ImageView objects (weight = 0.74), ButtonView objects (weight = 0.31), CheckBox objects (weight = 0.21), TimePicker objects (weight = 0.24), RadioButton objects (weight = 0.27), and Toast objects (weight = 0.28). The neural network 1100 also includes an interaction layer 1120, which includes weights of 0.50, 0.48, and 0.48 for clickable interactions, touch interactions, and scroll interactions, respectively. The neural network 1100 also includes a mid-screen size layer 1130 that includes weights of 0.21, 0.38, 0.61, and 0.81 for different mid-screen size percentage ranges of 0% to 24%, 25% to 49%, 50% to 74%, and 75% to 100%, respectively.

[0082] The screen object resolution selection neural network 1100 includes a screen position layer 1140 that includes weights of 0.34, 0.79, and 0.29 for the top, middle, and bottom screen positions, respectively. Additionally, the neural network 1100 includes a z-order layer 1150 that includes weights of 0.83, 0.49, and 0.15 for z=0 (mostly in the foreground), z=-1 (more in the background), and z=-2 (mostly in the background), respectively. Furthermore, the neural network 1100 includes a transparency layer 1160 that includes weights of 0.31 and 0.72 for alpha transparency and opaque transparency, respectively.

[0083] The type of input screen object 1110 and the various screen object attribute layers (interactivity 1120, on-screen size 1130, on-screen position 1140, z-order 1150, and transparency 1160) influence the neural network 1110's selection of a particular resolution (e.g., SD, HD, FHD, or WQHD) for a particular input screen object.

[0084] With respect to input screen objects 1110, input screen objects that are more image- or graphic-oriented have higher associated weights (e.g., >0.7) because their resolution has a higher impact on the user experience. For example, a SurfaceView object can be used to depict animations; a TextureView object can be used to display a content stream, such as from a camera, video, or other image motion source; a VideoView object can be used to display a video file; and an ImageView object can be used to display an image. On the other hand, input screen objects that are more text-oriented have lower associated weights (e.g., <0.35) because their resolution has a lower impact on the user experience. For example, a ButtonView object is used to display a button; a CheckBox object is used to display a check box; a TimePicker object is used to display a widget for selecting a time of day; a RadioButton object is used to display a radio button; and a Toast object is used to display a small pop-up window with a text message or notification.

[0085] Regarding the interaction layer 1120, the type of interaction associated with an input screen object may slightly influence the selected resolution. Generally speaking, the more complex or responsive the interaction, the greater the weight it is given in influencing the selection of a higher resolution. For example, if an input screen object provides clickable interactions (e.g., responsive), its weight (e.g., 0.50) may be slightly higher than the weight (e.g., 0.48) of an input screen object that provides touch interactions, and slightly lower than the weight (e.g., 0.56) of an input screen object that provides scrollable interactions (e.g., complex).

[0086] Regarding on-screen size, the size of an input screen object can significantly affect the selected resolution. Generally speaking, the larger the on-screen size of an input screen object, the greater the weight it is given to influencing the selection of a higher resolution. For example, if an input screen object has an on-screen size between 0% and 24%, it may be given a weight of 0.21; if an input screen object has an on-screen size between 25% and 49%, it may be given a weight of 0.38; if an input screen object has an on-screen size between 50% and 74%, it may be given a weight of 0.61; and if an input screen object has an on-screen size between 75% and 100%, it may be given a weight of 0.81.

[0087] Regarding on-screen position, the position of an input screen object within the screen can significantly influence the selected resolution. Generally speaking, the closer an input screen object is to the center of the screen, the more weight it is given in influencing the selection of a higher resolution. For example, if an input screen object is within the defined top portion of the screen, it may be given a weight of 0.34; if the input screen object is within the defined middle portion of the screen, it may be given a weight of 0.79; and if the input screen object is within the defined bottom portion of the screen, it may be given a weight of 0.29.

[0088] Regarding z-order, the z-order of input screen objects can significantly affect the selected resolution. Generally speaking, the more an input screen object is in the foreground, as indicated by its z-order, the more weight it is given in influencing the selection of a higher resolution. For example, if an input screen object has a z-order of zero (0), it may be given a weight of 0.83; if an input screen object has a z-order of negative one (-1), it may be given a weight of 0.49; and if an input screen object has a z-order of negative two (-2), it may be given a weight of 0.15.

[0089] Regarding transparency, the transparency of an input screen object can significantly affect the selected resolution. Generally speaking, the more opaque an input screen object is, the more weight it is given in influencing the selection of a higher resolution. For example, if an input screen object has alpha transparency, it may be given a weight of 0.31; and if the input screen object is opaque, it may be given a weight of 0.72.

[0090] Thus, each screen object of the screen may be processed by the neural network 1100 to select a resolution for the screen object (e.g., select a different DPI object from a different resolution folder). Assuming that each of the input screen objects starts with a certain value, by the time all of the weights in the weights are applied to the input objects, the output value of the neural network 1100 may, for example, be between substantially zero (0) and above 28. If the output value of the neural network 1100 is between zero (0) and eight (8), the neural network 1100 may select SD as the resolution of the screen object. If the output value of the neural network 1100 is between eight (8) and 18, the neural network 1100 may select HD as the resolution of the screen object. If the output value of the neural network 1100 is between eight, 18 and 28, the neural network 1100 may select FHD as the resolution of the screen object. And, if the output value of the neural network 1100 is above 28, the neural network 1100 may select WQHD as the resolution of the screen object. As previously discussed, historical user interactions with the screen object may improve the resolution selected by the neural network 1100 to a higher resolution (e.g., from SD to HD).

[0091] Another parameter that can be checked by the FW resolution selector is that the sum of all selected resolutions of the screen objects of the screen should not exceed the base resolution (e.g., the base resolution selected by the neural network for rendering the entire screen). This is done so that the screen object resolution selection reduces the overall resolution of the screen, thereby saving resources for the mobile device. Therefore, if the sum of all selected resolutions of the screen objects exceeds the base resolution, the base resolution is selected to render the screen.

[0092] Figure 11B A table depicting example resolution priorities for screen objects and parameters associated with a resolution selection neural network according to another aspect of the present disclosure is illustrated. The table includes a set of columns identifying various screen objects (e.g., Android-specific objects), including, from left to right, VideoView, SurfaceView, ToastView, TouchView, TextView, ButtonView, CheckBox, and TimePicker. The table also includes a set of rows identifying various screen parameters, including, from top to bottom, interaction, view size, screen viewing angle, Z-order, transparency, final value after assigning weights, and normalization. For each column-row pair, the table provides a resolution priority whose value influences the resolution selection neural network to derive the resolution of the corresponding screen object. The higher the resolution priority, the more influence the resolution selection neural network has on selecting a higher priority (and vice versa).

[0093] Figure 12 An example method 1200 for implementing dynamic resolution of a screen according to another aspect of the present disclosure is illustrated. The method 1200 may be implemented by the FW resolution selector 930.

[0094] Method 1200 includes identifying a base resolution for the device (block 1210). For example, the base resolution may be a resolution selected by a neural network for the entire screen. Method 1200 also includes extracting screen objects (block 1220). Additionally, the method includes creating a priority for each of the screen objects (block 1230). Then, running an AI model on top of the screen objects and weights according to method 1200 (block 1240). Method 1200 also includes applying a resolution to each of the screen objects (block 1250). Then, applying the resolution to each visible view from the model according to method 1200 (block 1260).

[0095] Figure 13A flowchart illustrating an example method 1300 for rendering a screen on a display according to another aspect of the present disclosure is provided. Method 1300 includes selecting at least one resolution for rendering the screen based on a set of parameters associated with the screen (block 1310). Examples of components for selecting at least one resolution for rendering the screen based on a set of parameters associated with the screen include resolution selectors 220, 630, and 930. Furthermore, method 1300 includes rendering the screen on the display based on the at least one selected resolution (block 1320). Examples of components for rendering the screen on the display based on the at least one selected resolution include GPUs 230, 640, and 940.

[0096] Figure 14 A block diagram illustrating an example wireless communication device 1400 according to another aspect of the present disclosure is shown. The wireless communication device 1400, which may be implemented as a mobile device, smartphone, or other wireless device with one or more displays, includes an application layer 1410, a modem / transceiver 1420 with an associated antenna 1425, a framework (FW) layer screen generator 1430, a FW resolution selector 1440, a graphics processing unit (GPU) 1450, and a display 1460.

[0097] Application layer 1410 (which may be a factory-installed application or a user-installed application) may receive data from one or more remote wireless devices via antenna 1425 and modem / transceiver 1420. Application layer 1410 may then instruct FW screen generator 1430 to generate a screen that includes at least a portion of the data received from the one or more remote wireless devices. The data may take the form of one or more text objects, image objects, video objects, or other screen objects.

[0098] Then, FW screen generator 1430 (which may be implemented according to FW screen generator 210, 610, or 910) may generate a set of parameters (e.g., screen information) associated with the screen to be displayed and provide the set of screen parameters to FW resolution selector 1440. FW resolution selector 1440 (which may be implemented according to FW resolution selector 220, FW resolution selector 630 including FW subview separator 620, or FW resolution selector 930 including FW object separator 920) is configured to select at least one resolution based on the set of screen parameters. FW screen generator 1430 may then generate a screen to be rendered based on the at least one selected resolution and provide the screen to GPU 1450 for rendering on display 1460.

[0099] Some of the components described herein, such as one or more of the subsystems, thermal controllers, and communication interfaces, may be implemented using a processor. As used herein, a processor may be any dedicated circuit, processor-based hardware, a processing core of a system on a chip (SOC), or the like. Hardware examples of a processor may include a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic device (PLD), a state machine, a gated logic component, a discrete hardware circuit, and other suitable hardware configured to perform the various functionalities described throughout this disclosure.

[0100] The processor may be coupled to a memory (e.g., typically a computer-readable medium or media) such as a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic stripe), an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD)), a smart card, a flash memory device (e.g., a card, stick, or key drive), a random access memory (RAM), a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), registers, a removable disk, and any other suitable medium for storing software and / or instructions that can be accessed and read by a computer. The memory may store computer-executable code (e.g., software). Software should be construed broadly to mean instructions, an instruction set, code, a code segment, program code, a program, a subroutine, a software module, an application, a software application, a software package, a routine, a subroutine, an object, an executable file, a thread of execution, a procedure / process, a function, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.

[0101] The following provides an overview of various aspects of the disclosure:

[0102] Aspect 1: An apparatus comprising: a screen generator configured to generate a screen; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and a graphics processing unit (GPU) configured to render the screen on a display at the selected resolution.

[0103] Aspect 2: The apparatus according to aspect 1, wherein the set of parameters includes one or more types of screen objects of the screen.

[0104] Aspect 3: An apparatus according to Aspect 2, wherein the one or more types of screen objects include any system user interface (UI) object, and the system user interface (UI) object includes at least one of a text object, an image object, a video object, a button, or a SurfaceView.

[0105] Aspect 4: An apparatus according to Aspect 3, wherein the text object is assigned a first resolution priority, the image object is assigned a second resolution priority greater than the first resolution priority, and the video object is assigned a third resolution priority greater than the second resolution priority, wherein the higher resolution priority affects a higher resolution among the selected resolutions of the screen.

[0106] Aspect 5: An apparatus according to Aspect 4, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on one or more of the first resolution priority, the second resolution priority, or the third resolution priority associated with a type of at least one of the text object, the image object, or the video object, respectively, as input to the neural network.

[0107] Aspect 6: An apparatus according to Aspect 4 or 5, wherein the resolution selector comprises a neural network configured to: generate a first weight, a second weight, and a third weight based on the first resolution priority, the second resolution priority, and the third resolution priority and a loss function, the loss function being based on user experience and resource consumption associated with rendering the screen; and determine the selected resolution based on one or more of the first weight, the second weight, or the third weight respectively associated with the type of at least one of the text object, the image object, or the video object as input to the neural network.

[0108] Aspect 7: An apparatus according to any one of Aspects 2 to 5, wherein the one or more types of screen objects include at least one of an image object or a video object, and wherein the set of parameters includes at least one on-screen size associated with at least one of the image object or the video object, respectively.

[0109] Aspect 8: The apparatus according to Aspect 7, wherein the at least one in-screen size is assigned at least one resolution priority, and the value of the at least one resolution priority increases with the percentage amount of the at least one in-screen size of the at least one of the image object or the video object, respectively.

[0110] Aspect 9: An apparatus according to Aspect 8, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on the at least one resolution priority associated with the type of the at least one of the image object or the video object respectively as input to the neural network.

[0111] Aspect 10: An apparatus according to Aspect 8 or 9, wherein the resolution selector comprises a neural network configured to: generate at least one weight based on the at least one resolution priority and a loss function, the loss function being based on user experience and resource consumption associated with rendering the screen; and determine the selected resolution based on the at least one weight associated with at least one of an image object type or a video object type, respectively, as input to the neural network.

[0112] Aspect 11: The apparatus of any one of aspects 1 to 10, wherein a set of screen parameters comprises an amount of random access memory (RAM) required to render the screen on the display.

[0113] Aspect 12: The apparatus of aspect 11, wherein the required amount of RAM is assigned a resolution priority, a value of the resolution priority being related to the required amount of RAM.

[0114] Aspect 13: The apparatus according to aspect 12, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on the resolution priority.

[0115] Aspect 14: The apparatus of any one of aspects 1 to 13, wherein a set of screen parameters comprises a frequency of a clock driving a processor for rendering the screen on the display.

[0116] Aspect 15: The apparatus of aspect 14, wherein the frequency of the clock is assigned a resolution priority, a value of the resolution priority being related to the frequency of the clock.

[0117] Aspect 16: The apparatus according to aspect 15, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on the resolution priority.

[0118] Aspect 17: An apparatus according to any one of aspects 1 to 16, wherein a set of screen parameters includes at least one of an amount of available random access memory (RAM), an amount of remaining battery life, or a current usage of a processor used to render the screen on the display.

[0119] Aspect 18: An apparatus according to Aspect 17, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on at least one resolution priority assigned to at least one of the amount of available RAM, the amount of remaining battery life, or the current usage of the processor.

[0120] Aspect 19: An apparatus according to any one of Aspects 1 to 18, wherein the apparatus further comprises a screen sub-view separator configured to separate the screen into a set of sub-views, wherein the resolution selector is configured to select a set of resolutions for rendering the set of sub-views based on the set of parameters respectively associated with the set of sub-views, and wherein the GPU is configured to render the screen including the sub-views on the display at a set of selected resolutions, respectively.

[0121] Aspect 20: The apparatus according to aspect 19, wherein the screen sub-view separator is configured to separate the screen into the set of sub-views based on a set of pixel values ​​of the set of sub-views, respectively.

[0122] Aspect 21: An apparatus according to Aspect 19 or 20, wherein the screen sub-view separator is configured to separate the screen into the set of sub-views based on a set of z-order values ​​associated with the set of sub-views, respectively, wherein screen objects with the same z-order value are part of the same sub-view.

[0123] Aspect 22: An apparatus according to any one of Aspects 1 to 21, wherein the apparatus further comprises a screen object separator configured to separate the screen into a group of screen objects, wherein the resolution selector is configured to select a group of resolutions for rendering the group of screen objects based on the group of parameters respectively associated with the group of screen objects, and wherein the GPU is configured to render the screen including the group of screen objects at the set of selected resolutions on the display, respectively.

[0124] Aspect 23: The apparatus of aspect 22, wherein the set of screen objects comprises at least one of a text object, an image object, or a video object.

[0125] Aspect 24: An apparatus according to Aspect 23, wherein the text object is assigned a first resolution priority, the image object is assigned a second resolution priority greater than the first resolution priority, and the video object is assigned a third resolution priority greater than the second resolution priority, wherein the higher resolution priorities respectively affect the higher resolutions in the set of selected resolutions of the set of screen objects, and wherein the resolution selector includes a neural network configured to select the set of resolutions based on at least one of the first priority, the second priority, or the third priority respectively associated with the type of at least one of the text object, the image object, or the video object as input to the neural network.

[0126] Aspect 25: An apparatus according to any one of Aspects 22 to 24, wherein the set of screen objects is associated with a set of z-orders, wherein the set of z-orders is assigned a set of resolution priorities, and wherein the resolution selector comprises a neural network configured to select the set of resolutions based on at least one resolution priority in the set of resolution priorities associated with a type of at least one of the screen object types respectively provided as input to the neural network.

[0127] Aspect 26: An apparatus according to any one of Aspects 22 to 25, wherein the set of screen objects is associated with a set of positions in the screen, wherein the set of positions in the screen are assigned a set of resolution priorities, wherein middle screen positions have a higher resolution priority than upper and lower screen positions, and wherein the resolution selector includes a neural network configured to select the set of resolutions based on at least one resolution priority in the set of resolution priorities associated with at least one of the screen object types respectively as input to the neural network.

[0128] Aspect 27: An apparatus according to any one of Aspects 22 to 26, wherein the set of screen objects is associated with a set of screen object transparencies, wherein the set of screen object transparencies are assigned a set of resolution priorities, and wherein the resolution selector comprises a neural network configured to select the set of resolutions based on at least one resolution priority in the set of resolution priorities associated with a type of at least one of the screen object types as input to the neural network.

[0129] Clause 28: The apparatus of any one of clauses 1 to 27, wherein the selected resolution is modified based on user activity associated with the screen.

[0130] Aspect 29: A method of rendering a screen on a display, the method comprising: selecting at least one resolution for rendering the screen based on a set of parameters associated with the screen; and rendering the screen on the display at the at least one selected resolution.

[0131] Aspect 30: A wireless communication device comprising: a display; a screen generator configured to generate a screen; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and a graphics processing unit (GPU) configured to render the screen on the display at the selected resolution.

[0132] The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples described herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A device, comprising: a screen generator configured to generate a screen; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and A graphics processing unit (GPU) configured to render the screen on a display based on the selected resolution. 2 . The apparatus of claim 1 , wherein the set of parameters comprises one or more types of screen objects of the screen.

3. The apparatus of claim 2 , wherein the one or more types of screen objects include any system user interface (UI) object, the system user interface (UI) object including at least one of a text object, an image object, a video object, a button, or a SurfaceView.

4. The apparatus of claim 3 , wherein the text object is assigned a first resolution priority, the image object is assigned a second resolution priority greater than the first resolution priority, and the video object is assigned a third resolution priority greater than the second resolution priority, wherein the higher resolution priorities affect a higher resolution among the selected resolutions of the screen.

5. The apparatus of claim 4 , wherein the resolution selector comprises a neural network configured to determine the selected resolution based on one or more of the first resolution priority, the second resolution priority, or the third resolution priority associated with a type of at least one of the text object, the image object, or the video object, respectively, as input to the neural network.

6. The apparatus of claim 4 , wherein the resolution selector comprises a neural network configured to: generating first, second, and third weights based on the first, second, and third resolution priorities and a loss function based on user experience and resource consumption associated with rendering the screen; and The selected resolution is determined based on one or more of the first weight, the second weight, or the third weight respectively associated with a type of at least one of the text object, the image object, or the video object as input to the neural network.

7. The apparatus of claim 2 , wherein the one or more types of screen objects include at least one of an image object or a video object, and wherein the set of parameters includes at least one on-screen size associated with at least one of the image object or the video object, respectively.

8. The apparatus of claim 7, wherein the at least one in-screen size is assigned at least one resolution priority, and a value of the at least one resolution priority increases with a percentage amount of the at least one in-screen size of the at least one of the image object or the video object, respectively.

9. The apparatus of claim 8 , wherein the resolution selector comprises a neural network configured to determine the selected resolution based on the at least one resolution priority associated with a type of the at least one of the image object or the video object, respectively, as input to the neural network.

10. The apparatus of claim 8, wherein the resolution selector comprises a neural network configured to: generating at least one weight based on the at least one resolution priority and a loss function based on user experience and resource consumption associated with rendering the screen; and The selected resolution is determined based on the at least one weight associated with at least one of an image object type or a video object type, respectively, as input to the neural network.

11. The apparatus of claim 1, wherein a set of screen parameters includes an amount of random access memory (RAM) required to render the screen on the display.

12. The apparatus of claim 11, wherein the required amount of RAM is assigned a resolution priority, a value of the resolution priority being related to the required amount of RAM.

13. The apparatus of claim 12, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on the resolution priority.

14. The apparatus of claim 1, wherein a set of screen parameters includes a frequency of a clock driving a processor for rendering the screen on the display. 15 . The apparatus of claim 14 , wherein the frequency of the clock is assigned a resolution priority, a value of the resolution priority being related to the frequency of the clock.

16. The apparatus of claim 15, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on the resolution priority.

17. The device of claim 1, wherein a set of screen parameters includes at least one of an amount of available random access memory (RAM), an amount of remaining battery life, or a current usage of a processor used to render the screen on the display.

18. The apparatus of claim 17, wherein the resolution selector comprises a neural network configured to determine the selected resolution based on at least one resolution priority assigned to at least one of the amount of available RAM, the amount of remaining battery life, or the current usage of the processor.

19. The apparatus according to claim 1, further comprising a screen sub-view separator configured to separate the screen into a set of sub-views, wherein the resolution selector is configured to select a set of resolutions for rendering the set of sub-views based on the set of parameters respectively associated with the set of sub-views, and wherein the GPU is configured to render the screen including the sub-views on the display at a set of selected resolutions, respectively. 20 . The apparatus of claim 19 , wherein the screen sub-view separator is configured to separate the screen into the set of sub-views based on a set of pixel values ​​of the set of sub-views, respectively.

21. The apparatus of claim 19, wherein the screen sub-view separator is configured to separate the screen into the set of sub-views based on a set of z-order values ​​associated with the set of sub-views, respectively, wherein screen objects having the same z-order value are part of the same sub-view.

22. The apparatus according to claim 1, further comprising a screen object separator configured to separate the screen into a group of screen objects, wherein the resolution selector is configured to select a group of resolutions for rendering the group of screen objects based on the group of parameters respectively associated with the group of screen objects, and wherein the GPU is configured to render the screen including the group of screen objects on the display at the group of selected resolutions, respectively.

23. The device of claim 22, wherein the set of screen objects comprises at least one of a text object, an image object, or a video object.

24. The apparatus of claim 23 , wherein the text object is assigned a first resolution priority, the image object is assigned a second resolution priority greater than the first resolution priority, and the video object is assigned a third resolution priority greater than the second resolution priority, wherein the higher resolution priorities respectively affect higher resolutions in the set of selected resolutions for the set of screen objects, and wherein the resolution selector comprises a neural network configured to select the set of resolutions based on at least one of the first priority, the second priority, or the third priority respectively associated with at least one of a text object type, an image object type, or a video object type as input to the neural network.

25. The apparatus of claim 22, wherein the set of screen objects is associated with a set of z-orders, wherein the set of z-orders is assigned a set of resolution priorities, and wherein the resolution selector comprises a neural network configured to select the set of resolutions based on at least one resolution priority in the set of resolution priorities respectively associated with a type of at least one of the screen objects as input to the neural network.

26. The apparatus of claim 22 , wherein the set of screen objects is associated with a set of positions in the screen, wherein the set of positions in the screen are assigned a set of resolution priorities, wherein middle screen positions have a higher resolution priority than upper and lower screen positions, and wherein the resolution selector comprises a neural network configured to select the set of resolutions based on at least one resolution priority in the set of resolution priorities respectively associated with a type of at least one of the screen objects as input to the neural network.

27. The apparatus of claim 22, wherein the set of screen objects is associated with a set of screen object transparencies, wherein the set of screen object transparencies are assigned a set of resolution priorities, and wherein the resolution selector comprises a neural network configured to select the set of resolutions based on at least one resolution priority in the set of resolution priorities respectively associated with a type of at least one of the screen objects as input to the neural network.

28. The apparatus of claim 1, wherein the selected resolution is modified based on user activity associated with the screen.

29. A method for rendering a screen on a display, the method comprising: selecting at least one resolution for rendering the screen based on a set of parameters associated with the screen; as well as The screen is rendered on the display at at least one selected resolution.

30. A wireless communication device, comprising: monitor; a screen generator configured to generate a screen; a resolution selector configured to select a resolution for rendering the screen based on a set of parameters associated with the screen; and A graphics processing unit (GPU) configured to render the screen on the display at the selected resolution.

Citation Information

Patent Citations

  • Text-based image resizing

    CN107111865A

  • Control unit and method for dynamically controlling resolution of display

    US20160343352A1

  • Text-based image resizing

    WO2016114859A1

  • Method and electronic device for determining dynamic resolution for application of electronic device

    WO2022014885A1