This application claims priority under 35 U.S.C. §119(a) to a Korean patent application filed on Jan. 6, 2012 in the Korean Intellectual Property Office and assigned Serial No. 10-2012-0001827, the entire disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates generally to a method and an apparatus for storing camera-captured images and, more particularly, to a method and an apparatus that can store a camera-captured image that is identical to an image viewed by the user at the time a shutter is pressed without shutter lag.
2. Description of the Related Art
With technical advances, cameras and mobile terminals having a camera module have been popularized. A mobile terminal having a camera module may capture an image using the camera module, resize the captured image to fit a screen of the mobile terminal, and display the resized image as a preview image on the screen. In some case, preview images may be continuously displayed in the form of a video image. A user of the mobile terminal may manipulate the mobile terminal while viewing the preview image. When the user presses a shutter, for example after viewing a preview image, the mobile terminal may store a camera-captured image.
It is difficult for a mobile terminal having a camera to realize zero shutter lag due to various reasons, which include, for example, hardware limitations. A representative reason zero shutter lag is difficult to realize is the time that is required to change an operation mode of the camera module from a preview mode to a storage mode. For example, a user may wish to first view a preview image in the preview mode then store a captured image corresponding to a desired preview image in the storage mode, requiring an operation mode change between the preview mode and the storage mode. In the preview mode, a camera-captured image is resized and displayed as a preview image. In the storage mode, a camera-captured image is compressed in a given format, such as, for example, Joint Photographic Experts Group (JPEG), and stored. Specifically, when the user presses the shutter, the mobile terminal does not store a low-resolution preview image, but compresses a high-resolution image captured by the camera module and stores the compressed image. A preview image may be stored as well, and used as a thumbnail or the like. Because of the time delay due to the mode change, the image that is actually stored may be different from the image that the user wishes to store.
In a method for reducing shutter lag in a mobile terminal having a camera module, raw data may be processed into a preview image for display and may be processed into a compressed image for temporary storage in a buffer. When the shutter is pressed, the mobile terminal may extract a compressed image from the buffer and store the extracted image in a storage unit. In this method, preview mode operation and storage mode operation are simultaneously performed to reduce time lag. However, minimized or zero shutter lag is not sufficiently realized because the image stored in the storage unit may correspond to one of continuously displayed preview images, but may not correspond to the image that the user wishes to store.
The present invention has been made to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention provides a method and apparatus that can store a camera-captured image identical to an image viewed by the user at the time the shutter is pressed. Specifically, embodiments of the present invention provide a method and apparatus that can ensure correspondence between the image viewed by the user at the time the shutter is pressed and the image stored in a storage unit.
According to one aspect of the present invention, a method for storing camera-captured images is provided. A preview image is displayed. An occurrence of a shutter event is checked for. A compressed image corresponding to the preview image is stored in a storage unit, when the shutter event has occurred. According to another aspect of the present invention, an apparatus is provided for storing camera-captured images. The apparatus includes a display unit for displaying a preview image, a storage unit for storing a compressed image, and an input unit for generating a shutter event. The apparatus also includes a control unit for controlling the display unit to display the preview image, checking for an occurrence of the shutter event, and controlling the storage unit to store the compressed image, which corresponds to the preview image.
The above and other aspects, features and advantages of the present invention will be more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which:
Embodiments of the present invention are described in detail with reference to the accompanying drawings. The same or similar components are designated by the same or similar reference numerals although they are illustrated in different drawings. In the drawings, some elements are exaggerated or only outlined in brief, and thus may be not drawn to scale. The present invention is not limited by relative sizes of objects and intervals between objects in the drawings
Particular terms may be defined to describe the invention in the best manner. Accordingly, the meaning of specific terms or words used in the specification and the claims should not be limited to the literal or commonly employed sense, but should be construed in accordance with the spirit of the invention. Detailed descriptions of constructions or processes known in the art may be omitted to avoid obscuring the subject matter of the present invention.
As referred to herein, “raw data” relates to data that is produced by a camera and corresponds to an unprocessed digital image.
A “preview image” refers to an image that is obtained by resizing raw data to fit a screen and that is displayed on the screen. A preview image may be a low-resolution version of high-resolution raw data. The camera module may have a function for processing raw data into a preview image. Preview images may be stored and used as thumbnails.
A “compressed image” refers to an image that is obtained by compressing raw data in a format, such as, for example, JPEG, for storage. The camera module may have a function for processing raw data into a compressed image.
“Interleaved data” refers to data that is obtained by combining preview image data and compressed image data. For example, when image data is processed in units of packets (or blocks or sub-blocks), interleaved data may be composed of preview image packets (or blocks or sub-blocks) and compressed image packets (or blocks or sub-blocks), for example arranged at random or in a non-random order. The packets, blocks or sub-blocks may be of varying size or the same size. It should be understood that the expression “interleaved data”, as used herein, may refer to any suitable way to combine two sets of data (whether maintained in contiguous form, or divided into packets, blocks or sub-blocks), and in particular, is not limited to an arrangement of two sets of data in multiple sets of alternate packets blocks or sub-blocks.
The image storage method and apparatus of the embodiments of the present invention may be applied to mobile terminals including, for example, a cellular phone, a smartphone, a tablet computer, a handheld computer, a Portable Multimedia Player (PMP), and a Personal Digital Assistant (PDA).
The image storage method and apparatus of the embodiments of the present invention aim to minimize shutter lag, and preferably realize zero shutter lag.
The touchscreen 110 sends the touch event to the control unit 180. The control unit 180 may control other components based on a touch event sent by the touchscreen 110. For example, the control unit 180 may store a compressed image in the storage unit 140 in response to a shutter press event. Touch gestures may include a touch, a tap, a long tap, a drag, and a sweep. A touch corresponds to single point contact with the screen. A tap corresponds to a touch and a release at the same point. A long tap corresponds to long touch and release at the same point. A drag corresponds to a touch and a movement in one direction. A sweep or a flick corresponds to touch, fast movement and release. The touchscreen 110 may be realized using a resistive type, a capacitive type, an electromagnetic induction type, or a pressure type technology.
The key input unit 120 may include a plurality of alphanumeric and function keys for inputting alphanumeric information and for setting various functions. The function keys may include direction, side, and shortcut keys associated with corresponding functions. The key input unit 120 transmits key signals from the user, for setting and controlling the mobile terminal 100, to the control unit 180. Key signals may be related to power on/off, volume adjustment, screen on/off, and shutter pressing. The control unit 180 may control the components according to the key signals. In other embodiments, the shutter key may be implemented as a physical key, for example a function key. In general, any virtual, or touch-based, key may be implemented as a corresponding physical key according to design considerations.
The display unit 130 converts digital data from the control unit 180 into analog data and displays the analog data under the control of the control unit 180. In particular, the display unit 130 converts preview image data from the control unit 180 into an analog signal and displays the analog signal. The display unit 130 may output a menu for controlling the camera module 170 together with the preview image. This menu includes a shutter key. The control unit 180 may control the camera module 170 according to a touch event detected on the menu. The display unit 130 may be realized using a flat display panel composed of Liquid Crystal Display (LCD) devices, Organic Light Emitting Diodes (OLED), or Active Matrix Organic Light Emitting Diodes (AMOLED).
The storage unit 140 may store an Operating System (OS) of the mobile terminal 100, various applications, and various data, such as, for example, text, audio and video. The storage unit 140 may include a program section and a data section. The program section may store a boot program, an operating system, middleware, and various applications. The middleware arbitrates data between the operating system and an application, or between different applications. In particular, the program section may store an application for minimizing shutter lag, and preferably realizing zero shutter lag, which may include a routine for processing raw data into a preview image, a routine for processing raw data into a compressed image, a routine for extracting preview image data from interleaved data, a routine for extracting compressed image data from interleaved data, a routine for detecting a shutter event, a routine for storing a compressed image corresponding to a preview image on the display unit 130 in the storage unit 140, and a routine for controlling buffer reading and writing.
The program section may store preinstalled applications and third party applications. Preinstalled applications, such as, for example, a browser, an email client, and an instant messaging client are installed in the mobile terminal 100 by default. Third party applications are various applications that may be downloaded from online markets. A third party application may be freely installed in or uninstalled from the mobile terminal 100. When the mobile terminal 100 is turned on, a boot program is loaded in the main memory (Random Access Memory (RAM)). The boot program loads the operating system and middleware in the main memory. The operating system loads an application to be executed upon request.
The data section of the storage unit 140 may store data generated in the course of using the mobile terminal 100, and data downloaded from outside of the mobile terminal 100. The data section may store preview images, compressed images and various setting values for terminal operation. The data section may also temporarily store clipboard data.
The wireless communication unit 150 may perform operations for voice calls, video calls, data calls and digital broadcast reception under the control of the control unit 180. The wireless communication unit 150 may include a mobile communication module (based on 3rd Generation (3G), 3.5 Generation (3.5G) or 4th Generation (4G) mobile communication), a local area communication module (such as a Wireless-Fidelity (Wi-Fi) module), and a digital broadcast receiving module (such as a Digital Multimedia Broadcasting (DMB) module).
The audio processing unit 160 may convert a digital audio signal from the control unit 180 into an analog audio signal, and may output the analog audio signal to the speaker SPK. The audio processing unit 160 may also convert an analog audio signal, such as, for example, a voice signal, from the microphone MIC into a digital audio signal, and may send the digital audio signal to the control unit 180.
The camera module 170 captures an image of a target object and outputs the image data to the control unit 180. The camera module 170 may include a lens for forming an image, an image sensor for converting an optical signal corresponding to the image into an electrical signal, and an Image Signal Processor (ISP) for converting the analog electrical signal from the image sensor into digital data and outputting the digital data as raw data to the control unit 180. The image signal processor may include an element for processing raw data into a preview image, an element for processing raw data into a compressed image, and an element for combining preview image data and compressed image data into interleaved data. Data or image data produced by the image signal processor is output to the control unit 180.
The control unit 180 may control the overall operation of the mobile terminal 100, control signal exchange between internal components thereof, and perform data processing. The control unit 180 may control supply of power from a battery to the internal components. The control unit 180 may execute various applications stored in the program section of the storage unit 140. In particular, the control unit 180 receives image data from the camera module 170, temporarily stores the image data in a buffer, and controls the display unit 130 to display the image data temporarily stored in the buffer. The control unit 180 determines whether a shutter event occurs after image display. The control unit 180, when the shutter event occurs after image display, transfers the image data in the buffer to the storage unit 140.
As described above, embodiments of the present invention can ensure that the preview image viewed by the user at the time of pressing the shutter is the same as the stored compressed image.
It should be apparent to those skilled in the art that the mobile terminal 100 may further include a unit comparable to the above-described units (such as a Global Positioning System (GPS) module), and one unit thereof may be removed or replaced with another unit. In addition to the touchscreen 110 and the key input unit 120, a touch pad, a track ball and a keyboard may also be used as input means.
Referring to
At step 5, after sending the preview image to the Xserver 930, the videosink 922 sends a notification of “preview image output” to the camerasrc 921. The camerasrc 921 checks whether a shutter event corresponding to a capture command is received from the camera application 910. At step 5-1, when a capture command is received, the camerasrc 921 extracts a compressed image (for example, JPEG data) from the interleaved data and sends the compressed image to the camera application 910. The camera application 910 stores the compressed image in the storage unit 140. At step 6, after sending the compressed image to the camera application 910, the camerasrc 921 sends a buffer release command to the camera driver 940. In response to the buffer release command, the camera driver 940 empties the buffer, so that new interleaved data may be stored in the buffer. When a capture command is not received, step 5-1 is skipped and only step 6 is performed.
As described above, the image storage method of the embodiments of the present invention can ensure that the preview image viewed by the user at the time of pressing the shutter is the same as the stored compressed image.
The image storage method of the embodiments of the present invention may be implemented as computer programs and may be stored in various computer readable storage media. The computer readable storage media may store program instructions, data files, data structures and combinations thereof. The program instructions may include instructions developed specifically for the present invention and existing general-purpose instructions. The computer readable storage media may include magnetic media such as, for example, a hard disk and a floppy disk, optical media such as, for example, a Compact Disc-Read Only Memory (CD-ROM) and a Digital Versatile Disc (DVD), magneto-optical media such as, for example, a floptical disk, and memory devices such as, for example, a ROM and RAM. The program instructions may include machine codes produced by compilers and high-level language codes executable through interpreters. Each hardware device may be replaced with one or more software modules to perform operations according to the embodiments of the present invention, and vice versa.
While the present invention has been shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2012-0001827 | Jan 2012 | KR | national |