The present invention relates generally to displaying image data, and more particularly to reducing memory required for displaying a series of images.
In recent years, advances in image sensor technology have led to increases in image quality and image resolution. Current imaging devices can capture images demanding nearly 30 megabytes (MB) of memory for a single image. Processing of these images may be memory intensive. As a result, display of image data by conventional methods requires memory capable of storing image data for large images. Memory required for processing multiple images may be prohibitively expensive for some devices. This may be especially true for embedded devices. Nevertheless, displaying multiple images is a feature that many users desire.
Thus, there exists a desire for display of a plurality of images on devices while reducing memory required for display operations.
Disclosed and claimed herein are methods and apparatus for displaying image data. In one embodiment, a method includes receiving a first image by the device, displaying the first image on a display of the device, and sealing image data of the first image to generate scaled image data having reduced pixel data with respect to the first image. The method further includes receiving a second image by the device, generating composite image data based on the scaled image data of the first image and image data of the second image, and displaying the composite image data on the display of the device. The method further includes displaying the second image on the display of the device.
Other aspects, features, and techniques of the invention will be apparent to one skilled in the relevant art in view of the following detailed description of the invention.
The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
One aspect of the present invention relates to operation of a device for displaying image data. In one embodiment, a process is provided for displaying a plurality of images. The process may be initiated by receiving and displaying a first image by the device. According to one embodiment, image data of the first image may be scaled by the device to generate composite data. By scaling image data, the memory required for processing and/or generating a display of the image data may be reduced. As used herein scaling image data may relate to adjusting resolution of an image. Scaling may relate to down-scaling of image data wherein data of the image is reduced, such as reducing pixel data. Alternatively, or in combination, scaling may relate to upscaling of image data, wherein image display size may be increased without substantially increasing image file size, such as stretching image data. As a result, scaled image data may be stored and processed with less memory than in relation to memory required for display of original image data.
The process may include receiving a second image by the device and generating composite image data based on the down-scaled image data of the first image and image data of the second image. Composite image data may be displayed during a transition period between display of the first and second images. In that fashion, memory required for display of the first and second images to provide composite data does not require the amount of memory that would be required for generating composite data based on the images as originally received. In another embodiment, image data of the second image may be scaled prior to generating composite image data.
In another embodiment, image data may be down-scaled and then upscaled to generate composite image data for a transition effect between display of a first and second images. Display of composite image data may provide a visually stimulating transition between display of a series of images while reducing the memory required for processing image data.
According to another embodiment, a device is provided for display of image data. The device may be configured to scale image data, wherein memory of the device required for image display may be less than memory required for displaying of original image data that is not scaled.
As used herein, the terms “a” or “an” shall mean one or more than one. The term “plurality” shall mean two or more than two. The term “another” is defined as a second or more. The terms “including” and/or “having” are open ended (e.g., comprising). The term “or” as used herein is to be interpreted as inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C”. An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive.
Reference throughout this document to “one embodiment,” “certain embodiments,” “an embodiment,” or similar term means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of such phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner on one or more embodiments without limitation.
In accordance with the practices of persons skilled in the art of computer programming, the invention is described below with reference to operations that are performed by a computer system or a like electronic system. Such operations are sometimes referred to as being computer-executed. It will be appreciated that operations that are symbolically represented include the manipulation by a processor, such as a central processing unit, of electrical signals representing data bits and the maintenance of data bits at memory locations, such as in system memory, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits.
When implemented in software, the elements of the invention are essentially the code segments to perform the necessary tasks. The code segments can be stored in a processor readable medium, which may include any medium that can store or transfer information. Examples of the processor readable mediums include an electronic circuit, a semiconductor memory device, a read-only memory (ROM), a flash memory or other non-volatile memory, a floppy diskette, a CD-ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc.
Referring now to the figures,
As shown in
Memory 120 of device 100 relates to one of a RAM and flash memory. Memory 120 may be configured to store and retrieve one or more operating instructions for processor 110. According to another embodiment, memory 120 may store and retrieve image data for output by device 100. Memory 120 of device 100 may be configured to provide one or more buffers for image data. For example, memory 120 may include an image buffer for temporary storage of sealed image data and/or a frame buffer for storage of image data for display.
User interface 125 of device 100 may be configured to receive one or more input commands from a user. User interface 125 may include one or more buttons and/or relate to a graphical user interface displayed on display 115. In one embodiment user interface 125 may receive one or more commands from a user to initiate display of one or more images by device 100. According to another embodiment, user interface may be employed by a user to set time periods for display of image data including composite data between display of images.
According to another embodiment, device 100 may be configured to receive image data over a network, connection such as the internet (e.g., LAN and WAN, etc.) and/or a communication network. Accordingly, one or more transmitted images may be stored and displayed by device 100. Device 100 may advantageously be configured to receive compressed image data and additionally configured to decompress the image data. Decompressed image data may be scaled by device 100 for display.
Referring now to
Referring now to
Composite image data 320 may be generated by the device based on a blending ratio of images 315 and 325. According to one embodiment, composite image data 320 illustrates a blend of images 315 and 325, wherein a gradual transition is displayed from image 315 to 325. In one embodiment, the blending ratio α of image 325 changes from 0 to 1, wherein the blending ratio of image 315 is 1−α. It may also be appreciated that composite image data may relate to other transition effects, including but not limited to wave transitions, ripple transitions and spiral transitions.
Referring now to
Although
Referring now to
According to another embodiment process 400 may be performed when a user activates a slide-show presentation on the device (e.g., digital imaging device, television, etc.). A first image may be received at block 405. Process 400 continues with display the fast image at block 410. The image may be scaled at block 415 based on resolution of a display, display window size and/or resolution of the image data.
Process 400 then proceeds to receive a second image at block 420. At block 425, the device can generate composite data based on the scaled image data associated with the first image with the second image. At block 430, the composite image may be displayed. By generating composite image data based on at least one scaled image with another image, memory required for display of a transition effect between a series of images may be reduced. Following display of the composite image data, the device can display the second image at block 435. In certain embodiments, the device may scale the second image prior to generating composite image data with the scaled image data of the first image. When additional image data is to be displayed, process 400 may transfer the second image as the first image at block 440. The image will then be treated as a first image at block 410. A subsequent image received by the device will be treated as a second image for processing as described above in connection with
According to another embodiment, image data may be scaled below a display resolution for producing an image transition. It may be particularly advantageous to reduce the memory required for image data on embedded devices, such as digital imaging devices and personal communication devices, for image data with high resolutions. By way of example, digital devices can allow for resolution of images which demand upwards of 30 Mbytes of memory for a single image. The memory required for an embedded device may double to provide transition effects. One aspect of the invention is to overcome these requirements by scaling the image data prior to a transition. Referring now to
Referring now to
According to another embodiment, image data may be down-scaled to reduce the amount of working memory required to provide image transitions. Referring now to
According to another embodiment, data for first and second images may each be down-scaled and up-scaled prior to generating a composite image. As shown in
Display of an image without blending or merging may be based on a scaled image as shown in a first path 670. The first image may be output to frame buffer 630 after image down-scaling at block 655 as described above. The first image may then be down-scaled at block 660 and upscaled at block 6115 in path 671 prior to generating composite image data at block 625. A second image may be down-scaled at block 675, stored in a third image buffer C at block 680 and upscaled at block 665 in path 672 prior to generating composite image data at block 625. The image blending at block 625 will require less memory as image data for the blending and/or merging is reduced due to scaling in path 672. Composite image data may then be applied to frame buffer 630. Image data for the second image in image buffer A may then be down-scaled at block 655 and output to frame buffer at block 630. For subsequent images, the image data may be alternately processed by paths 671 and 672.
While this invention has been particularly shown and described with references to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.