The embodiments herein provide a mobile device comprising a display, and a processor configured to receiving a texture to be rendered on the display, checking at least one rendering parameter for the received texture wherein the rendering parameter comprises at least one of a device resolution, available memory, rendering path, and texture type, selecting at least one memory optimization technique based on the at least one rendering parameter, wherein the memory optimization technique is at least one of Dynamic Texture Scaling (DTS), Content Adaptive Compression (CAC), and On Device Texture Compression (ODTC) and performing the selected texture optimization technique on the received texture.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A mobile device comprising: a display; and a processor configured for: receiving a texture to be rendered on the display; checking at least one rendering parameter for the received texture, selecting at least one texture optimization technique based on the at least one rendering parameter, wherein the at least one texture optimization technique is at least one of a Dynamic Texture Scaling (DTS), Content Adaptive Compression (CAC), and On Device Texture Compression (ODTC); and performing the selected texture optimization technique on the received texture when the mobile device is in an idle mode.
2. The mobile device of claim 1 , wherein the rendering parameter comprises at least one of a device resolution, available memory, rendering path and texture type.
3. A memory optimization method comprising: detecting, by a processor, a texture upload call for a texture between a processor and a Graphical Processing Unit (GPU); performing a texture optimization technique on the texture to generate a low memory texture when a mobile device is in an idle mode, wherein the texture optimization technique is at least one of On Device Texture Compression (ODTC), Content Adaptive Compression (CAC) and Dynamic Texture Scaling (DTS); and replacing the original texture with the low memory texture to be sent to the GPU.
4. The method of claim 3 , wherein ODTC based texture optimization technique comprises: inputting one or more textures which are not provided earlier for compression; compressing the inputted one or more textures; and replacing the one or more inputted textures with a compressed texture if a corresponding compressed file of the texture is available.
5. The method of claim 4 , further comprising: tracking of one or more applications and one or more textures that are to be retained on a device memory; retaining textures of the one or more applications which are frequently used; removing the one or more textures which are not used; verifying that the texture compression happens only when the mobile device is in the idle mode, compressing the textures into Adaptive Scalable Texture Compression according to an encoder library; and checking if the compressed textures are of acceptable quality.
6. The method of claim 4 , further comprising triggering an ODTC session based on a predetermined time interval.
7. The method of claim 3 , wherein the performing the CAC texture optimization technique comprises: inputting one or more images; classifying each sub image based on an information content; downscaling each sub image based on the classification; and creating a mesh and a texture atlas from the downscaled sub images.
8. A memory optimization method, the method being performed by a processor, comprising: detecting a texture upload call for a texture between a processor and a Graphical Processing Unit (GPU); performing a texture optimization technique on the texture to generate a low memory texture, wherein the texture optimization technique is at least one of On Device Texture Compression (ODTC), Content Adaptive Compression (CAC) and Dynamic Texture Scaling (DTS); and replacing the original texture with the low memory texture to be sent to the GPU, wherein the performing the DTS texture optimization technique comprises: determining a DTS downscaling ratio for the texture based on one or more criteria, where the one or more criteria comprises of a device resolution, texture quality, and a mode of saving of an image; providing a list of applications and an optimal downscaling ratio of the applications for one or more devices; performing a DTS core module elaboration; and performing an EDGE BASED PEAK SIGNAL TO NOISE RATIO (EB-PSNR) for ensuring the quality of one or more compressed images.
9. The method of claim 8 , further comprising: identifying a rendering path of a content during a feature selection; and performing a texture analysis on the identified rendering path; wherein the rendering path of the content is at least one of a hardware user interface (HWUI) and an Extended Graphical Language (EGL).
10. The method of claim 8 , further comprising: determining a level of compression to be applied for the feature parameter selection; wherein the feature parameter selection is performed based on one or more parameters comprising a scale factor, a compression factor, a device resolution, and available device memory.
11. The method of claim 8 , wherein the method of performing EB-PSNR for ensuring the quality of the compressed image comprises of: obtaining, by a canny edge detector, one or more edge images of an original texture and a reconstructed texture of the one or more compressed images; determining, peak signal-to-noise ratio (PSNR) of blocks by calculating a Sum Squared Error (SSE) after applying smoothening on the one or more edge images and reconstructed texture of the one or more compressed images; performing different levels of smoothening and SSE for each level is accumulated as a final average SSE, finding an edgePSNR block based on the one or more edge images, identified for blocks of the image along with a PSNR corresponding to each block; identifying an un-ideal edgePSNR block after finding the edge PSNR block for the plurality of blocks in the image; checking if the unideal edge PSNR is above a preset threshold PSNR or not.
12. The method of claim 8 , wherein the edge images of original texture and reconstructed texture of the compressed image by a canny edge detector can be obtained from at least one of Red, Green, Blue (RGB) color space, HSV color space, YUV color space, LUV color space and YCrCb color space.
13. A computer program product comprising computer executable program code recorded on a non-transit computer readable storage medium, the computer executable program code comprising: detecting, by a processor, a texture upload call for a texture between a processor and a Graphical Processing Unit (GPU); performing a texture optimization technique on the texture to generate a low memory texture when a mobile device is in an idle mode, wherein the texture optimization technique is at least one of On Device Texture Compression (ODTC), Content Adaptive Compression (CAC) and Dynamic Texture Scaling (DTS); and replacing the original texture with the low memory texture to be sent to the GPU.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 16, 2017
July 21, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.