Rotation and scaling optimization for mobile devices
First Claim
Patent Images
1. A method to be executed at least in part in a computing device for optimizing rotation and scaling operations on an image, the method comprising:
- receiving an image to be rendered;
performing a transformation operation on the image that includes a combination of color conversion, rotation, and scaling, wherein the transformation is performed in a single loop on image data, wherein the color conversion comprises converting the received image from YUV color space to RGB color space by providing pixel location coordinates in the RGB color space to a rotation module for rotating the received image prior to a scaling operation performed by a scaling module for scaling the received image; and
storing the transformed image data to be rendered on a display.
2 Assignments
0 Petitions
Accused Products
Abstract
Image processing in mobile devices is optimized by combining at least two of the color conversion, rotation, and scaling operations. Received images, such as still images or frames of video stream, are subjected to a combined transformation after decoding, where each pixel is color converted (e.g. from YUV to RGB), rotated, and scaled as needed. By combining two or three of the processes into one, read/write operations consuming significant processing and memory resources are reduced enabling processing of higher resolution images and/or power and processing resource savings.
29 Citations
19 Claims
-
1. A method to be executed at least in part in a computing device for optimizing rotation and scaling operations on an image, the method comprising:
-
receiving an image to be rendered; performing a transformation operation on the image that includes a combination of color conversion, rotation, and scaling, wherein the transformation is performed in a single loop on image data, wherein the color conversion comprises converting the received image from YUV color space to RGB color space by providing pixel location coordinates in the RGB color space to a rotation module for rotating the received image prior to a scaling operation performed by a scaling module for scaling the received image; and storing the transformed image data to be rendered on a display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for optimizing rotation and scaling operations on an image, the system comprising:
-
a cache memory; a processor coupled to the memory, wherein the processor is configured to execute program modules including; an image processing application that includes; a transformation module configured to; read decoded image data associated with a received image from the cache memory; perform a transformation operation on the decoded image data that includes a combination of a color conversion, a rotation, and a scaling, wherein the transformation is performed in a single loop on the image data and wherein, during the color conversion, the received image is converted the image from YUV color space to RGB color space by pixel location coordinates in the RGB color space provided to a rotation module for rotating the received image prior to a scaling operation performed by a scaling module for scaling the received image; and write the transformed image data to the cache memory; and a rendering module for rendering the transformed image data to be displayed. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium with instructions encoded thereon for optimizing rotation and scaling operations on an image, the instructions comprising:
-
receiving image data to be rendered on a mobile device display; decoding the received image data; writing the decoded image data to a cache memory; reading the decoded image from the cache memory; performing a transformation operation on the decoded image data that includes a combination of a color conversion, a rotation, and a scaling, wherein a rotation and scaling portion of the transformation is performed in a single loop using;
i=ax+by+c;
j=dx+ey+f;
where x and y are pixel location coordinates in YUV color space, i and j are pixel location coordinates in RGB color space, and {a, b, c, d, e, f} are parameters defining a rotation angle and a scaling coefficient; writing the transformed image data to the cache memory; and rendering the transformed image data on the mobile device display. - View Dependent Claims (17, 18, 19)
-
Specification