|Publication number||USRE38896 E1|
|Application number||US 10/040,249|
|Publication date||Nov 29, 2005|
|Filing date||Jan 4, 2002|
|Priority date||Jan 19, 1996|
|Also published as||US6011585, USRE41088, USRE42639|
|Publication number||040249, 10040249, US RE38896 E1, US RE38896E1, US-E1-RE38896, USRE38896 E1, USRE38896E1|
|Inventors||Eric C. Anderson|
|Original Assignee||Apple Computer, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (29), Referenced by (58), Classifications (18), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This application relates to co-pending U.S. patent application Ser. No. 08/355,031, entitled A System and Method For Generating a Contrast Overlay as a Focus Assist for An Imaging Device, filed on Dec. 13, 1994, by inventor Eric C. Anderson; and U.S. patent application Ser. No. 08/384,012, entitled Apparatus and Method for Camera Image and Orientation Capture, filed on Feb. 6, 1995, by inventor Scott Fullam. The subject matter of the two applications described above is hereby incorporated by reference. These related applications are commonly assigned to Apple Computer, Inc.
1. Field of the Invention
The present invention relates generally to an apparatus and method for orienting an image. More particularly, the present invention is an apparatus and method for rotating a captured image to an orientation corresponding to an imaging subsystem's orientation at the time in which the image was captured.
2. Description of the Background Art
When a digital camera captures an image of an object, the camera's frame of reference with respect to the object produces a desired image orientation. Two conventional image orientations exist, namely, a landscape orientation and a portrait orientation. Referring now to
In a digital camera, an image sensor is comprised of light-sensitive devices, such as charge-coupled devices (CCD), that convert an optical image into a set of electrical signals. Referring now to
Once an image is captured by the digital camera, a set of pixel signals corresponding to the image received by the pixels is processed by an image processing algorithm. Image processing routines are conventionally designed to process pixel signals line-by-line, conforming to a specific and unchanging pixel pattern format. Thus, image sensors manufactured with the Bayer pixel pattern format will be coupled to image processing routines specifically designed to accept pixel signals in alternating sequences of “GRGRGR” and “BGBGBG.” Due to possible imperfections in the outer rows and columns of pixels that make up the image sensor, conventional digital cameras sometimes have image sensors large enough so that one or more lines of pixels at the sides of the image sensor can be ignored.
Referring now to
As previously described, the image processing routines within digital cameras are conventionally designed to process pixel signals on a line-by-line basis according to only one pixel pattern format. Thus, conventional digital cameras process images as if they were always in a landscape format. In the presentation of the landscape image of
What is needed is an apparatus and method that efficiently and automatically rotates a stored photographic image to correspond to the orientation in which the photographic image was captured.
The present invention is an apparatus and method for rotating the display orientation of a captured image. The apparatus of the present invention preferably comprises an image sensor, an orientation sensor, a memory and a processing unit. The image sensor is used for capturing image data. The orientation sensor is coupled to the image sensor, and is used for generating a portrait signal if the image sensor is positioned in a portrait orientation relative to the object. The memory, has an auto-rotate unit comprising program instructions for transforming the captured image data into rotated image data in response to the portrait signal. The processing unit, is used for executing program instructions stored in the memory, and is coupled to the image sensor, the orientation sensor and the memory.
The method of the present invention preferably comprises the steps of: generating image data representative of an object with an image sensor; identifying an orientation of the image sensor relative to the object during the generating step; and selectively transferring the image data to an image processing unit in response to the identifying step.
The present invention is an apparatus and method for rotating the display orientation of a captured image.
Referring now to
Referring now to
Referring now to
Referring now to
As stated above, the RLOS 324 (i.e. the right/left orientation sensor) and the UDOS 326 (i.e. the up/down orientation sensor) are disposed within the imaging subsystem 204. Both the RLOS 324 and the UDOS 326 are physically coupled to the image sensor 304 and electrically coupled to the DSP 320. The RLOS 324 monitors whether the camera 200 is in a landscape orientation or a portrait orientation. If the camera 200 is in a portrait orientation, the RLOS 324 identifies whether the camera 200 has been rotated clockwise or counterclockwise, as viewed from the rear of the camera 200. In response to such camera 200 rotation, the RLOS 324 generates and transmits either a landscape signal, a portrait_left signal or a portrait_right signal to the DSP 320. More specifically, if the camera 200 is held in the landscape orientation shown in
The UDOS 326 monitors whether the camera 200 is in either a level orientation or an off-level orientation. In response to a movement of the camera 200, the UDOS 324 generates and transmits either a level signal or an off-level signal to the DSP 320. Specifically, if the camera 200 is held in the landscape orientation shown in
Both the RLOS 324 and UDOS 326 sensors are preferably identical in their structure and function. Their placement relative to the image sensor 304 determines whether the signal generated by the orientation sensor is one of the RLOS 324 signals or the UDOS 326 signals. The DSP 320 receives both the RLOS 324 and the UDOS 326 signals and transmits them to the processing and storage subsystem 208 over the bus 206. While the preferred embodiment of the present invention incorporates the orientation sensors 324, 326, those skilled in the art will recognize that the orientation sensors 324, 326 are not required to practice the present invention, if the processing and storage subsystem 208 prompts the photographer for the camera's 200 orientation at the time an image is captured. Alternatively, an embodiment using only the RLOS 324 enables practicing of the present invention, but this alternative embodiment results in loss of the off-level signal. However, such an embodiment using only the RLOS 324 is still useful for most applications requiring only landscape and portrait orientation using an approximately level camera 200. A further alternative embodiment includes an RLOS 324 which only generates the landscape, portrait_left, or portrait_right signals if the camera 200 is within a predetermined level range.
Referring now to
The buffer 400 is preferably a first-in, first-out buffer for temporarily holding the captured image data and the imaging subsystem 204 control signals passed between the DSP 320 and the processing and storage subsystem 208. The buffer 400 has data lines that are coupled to both the bus 206 and the internal bus 402. The processing unit 404 executes programming instructions stored in the non-volatile memory 406 and the volatile memory 410 to perform various operations. The non-volatile memory 406 stores a set of computer readable program instructions for controlling how the processing unit 404 accesses, transforms and outputs the image data, as described in detail below with reference to FIG. 4D. While the non-volatile memory 406 is preferably a Read Only Memory (ROM), alternatively the non-volatile memory 406 could be replaced with a functionally equivalent computer useable medium such as: a compact disk and drive; a floppy disk and drive; or a memory card. Additional details on the function and operation of both the non-volatile memory 406 and the volatile memory 410 are provided below with reference to
The input device 408 is preferably a series of control buttons, responsive to user inputs, which generates signals that are translated by the processing unit 404 into control signals to adjust the focus and other operating parameters of the imaging subsystem 204. As mentioned above, while the preferred embodiment of the camera 200 incorporates the RLOS 324 and UDOS 326, an alternative embodiment of the present invention prompts the user to manually input, via the input device 408, the imaging subsystem's 204 orientation at the time the captured image data was generated. Other alternative embodiments incorporating the automatic RLOS 324 and UDOS 326 sensors could provide for an override function that instructs the processing and storage subsystem 208 to ignore the orientation signals generated by the RLOS 324 and UDOS 326 sensors, enabling the user to retain full manual control over the final orientation of the captured image data on the image display 100. The I/O Interface 414 is coupled to the internal bus 402 and has an external port connector for coupling the processing and storage subsystem 208 with a host computer (not shown) for downloading image data stored in the volatile memory 410 and thus freeing up room in the volatile memory 410 for additional sets of processed image data. In the second and alternative embodiment discussed above where the processing and storage subsystem 208 is a desktop type computer, the input device 408 will also include a keyboard and mouse type controller.
Referring now to
The frame buffer 416 is preferably comprised of a dedicated space of contiguous memory comprising an i-row by j-column area for storing image data. There is preferably a constant one-to-one correspondence between the pixels comprising the image sensor 304 array and the storage locations within the frame buffer 416 area. Alternatively, the pixel signals from the image sensor 304 array could be stored within the frame buffer 416 in a non-contiguous (i.e. sectored) memory format, as is commonly known in the art. In the preferred embodiment, i and j are set equivalent to the size of the image sensor 304. Since the preferred image sensor 304 is a 481 by 641 array, i is set to 481 and j is set to 641. In alternative embodiments where the image sensor 304 is only a 480 by 640 array, the frame buffer 416 will still preferably be a 481 by 641 array since, as is discussed below, an extra row and column is generated by the processing and storage subsystem 208.
The working memory 418 preferably provides a temporary space for storing data received from the input device 408 and for data generated by the processing unit 404. The working memory 418 also contains additional memory for storing the RLOS 324 and UDOS 326 signals at the time the image data was captured by the image sensor 304; and additional information conventionally associated with the capture process, such as exposure and focus settings, time and date, statistical data, and the presence of any defective pixels, rows or columns within the image sensor 304.
The storage memory 420 preferably provides space for storing multiple sets of image data, until the images are off-loaded from the camera 200 via the I/O interface 414. The storage memory 420 sets a maximum image data holding capacity of the camera 200. Alternatively, additional memory cards could also be coupled to the internal bus 402, providing even more image data storage capability. Such an additional memory card could be a non-volatile flash memory card.
Referring now to
Referring now to
The image capture unit 428 controls the imaging subsystem's 204 focus and aperture settings; captures the image data; routes the image data into the frame buffer 416; routes the exposure and focus settings, time and date, statistical data, and the presence of any defective image sensor 304 pixels, rows or columns into the miscellaneous data field 425; generates additional rows and columns of image data within the frame buffer 416 if required; monitors the RLOS 324 and UDOS 326; and sets the RLOS signal 421 data field and the UDOS signal 423 data field based on the RLOS 324 and UDOS 326 outputs. In the preferred embodiment the image capture unit 428 corrects any pixel defects within the image sensor 304 using the information stored in the miscellaneous data field 425 before passing the image data to the auto-rotate unit 422. In an alternative embodiment, image processing unit 424 corrects any pixel defects within the image sensor 304 using the information stored in the miscellaneous data field 425 after receiving the image data from the auto-rotate unit 422. In this alternative embodiment, the defective image sensor 304 pixel information must also be rotated by the auto-rotate unit 422 in the same manner as for the image data, described below.
The image capture unit 428 preferably is designed in two embodiments, a hardware embodiment and a software embodiment; however, the hardware embodiment is preferred.
In the hardware embodiment, the image sensor 304 is comprised of at least one more extra row and column than the image processing unit 424 is designed to process. Thus, if the image processing unit 424 is designed to process a 480 by 640 pixel signal array, then the image sensor 304 must be at least a 481 by 641 pixel array (i.e. “i” is 481 and “j” is 641 in FIG. 3C). The discussion that follows on the auto-rotate unit 422 makes clear when and why the additional row and column is required.
The software embodiment is required when the image sensor 304 lacks any additional rows and columns beyond those that the image processing unit 424 is designed to process. For Bayer pattern image processing, the image capture unit 428 must generate an additional row and column of image data. (For non-Bayer pattern image data, a straightforward rotation is performed as is described below and an additional row and column is not required.) Thus, for example, if the image sensor 304 is comprised of a 480 by 640 pixel array and the image processing unit 424 is designed to process a 480 by 640 array, then the image capture unit 428 must generate an additional row and column of pixels. In the preferred software embodiment, the additional row generated corresponds to row ri (i.e. GRGRGR) in FIG. 3C and the additional column generated corresponds to column cj (i.e. GBGBGB) in FIG. 3C. The additional row and column may be generated in any number of ways, including: setting the additional pixels to black; creating a duplicate of a nearby line of pixels with the same pixel pattern (i.e. two pixel lines over); generating a duplicate of the nearest color (i.e. G's would be copied from one pixel line over while R's or B's would be copied from two pixel lines over); setting the pixel values based on a filtering algorithm which looks at a number of nearby pixels; or setting the additional row and column of pixels randomly.
The auto-rotate unit 422 transforms the captured image data into the rotated image data for further processing by the image processing unit 424. The image processing unit 424 receives the rotated image data from the auto-rotate unit 422 and transforms it into processed image data, ready for saving in the storage memory 420. The operating system unit 426 is coupled to the internal bus 402 and preferably comprises a conventional set of program instructions for controlling the configuration and usage of the computer's 208 hardware resources. The operations performed by the auto-rotate unit 422 and the image processing unit 424 are described in more detail below.
Referring now to
The auto-rotate unit 422 preferably comprises program instructions stored in the non-volatile memory 406 that are executed by the processing unit 404. The auto-rotate unit 422 controls the flow of data between the frame buffer 416 and the image processing unit 424. First, the auto-rotation unit 422 accesses the RLOS signal 421 data field and UDOS signal 423 data field from the frame buffer data structure 417; and, based on this orientation data, selects either a portrait_left spooling routine, a portrait_right spooling routine or a landscape spooling routine. The spooling routines select-out and feed the captured image data stored in the image data field 419 to the image processing unit 424. “Spooling” is here defined as a routine for transferring data from one unit or device to a second unit or device. It is through these spooling routines that the auto-rotate unit 422 transforms the captured image data into the rotated image data. While the effect of the auto-rotate unit 422 is only described below with reference to the captured image data, some of the additional information stored in the working memory 418 (such as the location of any defective pixels, rows or columns within the image sensor 304) will also be rotated, as described above. This additional information is then used by the image processing unit 424. Alternatively, a defective pixel correction algorithm can be applied to the image data prior to rotation of the image data. Each of the different spooling routines are described in detail below.
First, the auto-rotate unit 422 determines the image sensor's 304 orientation at the time the image was captured, by accessing the RLOS signal 421 and UDOS signal 423 data fields. Next, if the RLOS signal 421 data field contains a portrait_left signal and the UDOS signal 423 data field contains a level signal, the auto-rotate unit 422 selects the portrait_left spooling routine. However, if the RLOS signal 421 data field contains a portrait_right signal and the UDOS signal 423 data field contains a level signal, the auto-rotate unit 422 selects the portrait_right spooling routine. Lastly, if the RLOS signal 421 data field contains a landscape signal and the UDOS signal 423 data field contains a level signal, or whenever the UDOS signal 423 data field contains an off-level signal, regardless of what the RLOS signal 421 data field contains, the auto-rotate unit 422 selects the landscape spooling routine. Each of the three spooling routines within the auto-rotate unit 422 are now discussed below.
If the portrait_left spooling routine is selected, the auto-rotate unit 422 interprets the captured image data within the image data field 419 as shown in FIG. 5A.
If the portrait_right spooling routine is selected, the auto-rotate unit 422 interprets the captured image data within the image data field 419 as shown in FIG. 5B.
If the landscape spooling routine is selected, the auto-rotate unit 422 interprets the captured image data within the image data field 419 as shown in FIG. 5C.
Also as introduced above, the image processing unit 424 preferably comprises program instructions stored in the non-volatile memory 406 that are executed using the processing unit 404. The image processing unit 424 receives the rotated image data from the auto-rotate unit 422, performs conventional image processing operations (such as white balancing, reconstruction, color correction, gamma correction, sharpening and compression) on the rotated image data; generates processed image data; and either saves the processed image data to the storage memory 420 or outputs it to a host computer (not shown) via the I/O interface 414. As was discussed above, the image processing unit 424 is preferably implemented such that it must receive all the image data spooled from the frame buffer 416 starting with a “GRGRGR” line followed by a “BGBGBG” line in an alternating line-by-line pattern. This is the image processing unit's 424 design limitation which drives the auto-rotate unit's 422 particular pixel selection routines described above. Alternatively, a different image processing unit 424 could be implemented which requires that the image data be spooled from the frame buffer 416 starting with a “GBGBGB” line followed by a “RGRGRG” line or any combination of the Bayer pattern.
Those skilled in the art will also recognize that alternate embodiments of the present invention that do not use the Bayer pattern may still use the teachings of present invention to rotate their image data. In such alternative embodiments the auto-rotate unit 422 performs a straightforward rotation of the image data since such alternative image processing units 424 may accept pixel signals in any orientation. Thus for the straightforward rotation where the shaded gray area of
Referring now to
In step 612 of
In step 628 of
In step 644 of
While the present invention has been described with reference to certain preferred embodiments, those skilled in the art will recognize that various modifications may be provided. For instance, while the preferred embodiment of the present invention selects and processes the captured image data as a rectangular array, alternate embodiments could select and process the image data as an array of tiles rather than lines. Furthermore, by transferring the pixels signals to the image processing unit 424 in a different order, a mirror image or an upside-down image of the captured image data can be presented on the image display 100. Lastly, while the preferred embodiment is implemented in software, those skilled in the art would readily recognize that a hardware equivalent implementation would also be acceptable. These and other variations upon and modifications to the preferred embodiment are provided for by the present invention which is limited only by the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3814227 *||Sep 27, 1972||Jun 4, 1974||Honeywell Inc||Matrix print rotation|
|US3971065 *||Mar 5, 1975||Jul 20, 1976||Eastman Kodak Company||Color imaging array|
|US4337479||Sep 5, 1980||Jun 29, 1982||Matsushita Electric Industrial Co., Ltd.||Color resolution compensator|
|US4364650 *||Oct 3, 1980||Dec 21, 1982||Fuji Photo Film Co., Ltd.||Exposure control method and device|
|US4470067||Dec 14, 1981||Sep 4, 1984||Japan Broadcasting Corp.||Automatic gain control apparatus|
|US4952920||Jan 20, 1988||Aug 28, 1990||Kabushiki Kaisha Toshiba||Display apparatus having horizontal/vertical conversion display functions|
|US4995089||Jan 8, 1990||Feb 19, 1991||Eastman Kodak Company||Method and apparatus for providing font rotation|
|US5107293 *||Sep 6, 1989||Apr 21, 1992||Canon Kabushiki Kaisha||Automatic image stabilization device|
|US5218459 *||Sep 16, 1991||Jun 8, 1993||Eastman Kodak Company||Print scanner with soft key variable magnification|
|US5227889 *||May 6, 1991||Jul 13, 1993||Matsushita Electric Industrial Co., Ltd.||Image slant compensatable video camera|
|US5262863||Aug 26, 1992||Nov 16, 1993||Kabushiki Kaisha Toshiba||Video signal processor having an adjustable noise cancelling circuit|
|US5270831||Sep 14, 1990||Dec 14, 1993||Eastman Kodak Company||Storage and playback of digitized images in digital database together with presentation control file to define image orientation/aspect ratio|
|US5276519 *||May 8, 1992||Jan 4, 1994||Sony United Kingdom Limited||Video image capture apparatus for digitally compensating imperfections introduced by an optical system|
|US5448372||Dec 18, 1991||Sep 5, 1995||Eastman Kodak Company||Storage and retrieval of digitized photographic images|
|US5521639 *||Sep 28, 1994||May 28, 1996||Sony Corporation||Solid-state imaging apparatus including a reference pixel in the optically-black region|
|US5533185||Oct 28, 1993||Jul 2, 1996||Seiko Epson Corporation||Pixel modification unit for use as a functional unit in a superscalar microprocessor|
|US5576759||May 15, 1995||Nov 19, 1996||Nikon Corporation||Image processing system for classifying reduced image data|
|US5598181||Sep 26, 1994||Jan 28, 1997||Xerox Corporation||Method and apparatus for rotating a digital image ninety degrees using a small auxiliary buffer|
|US5634088||Nov 1, 1995||May 27, 1997||Xerox Corporation||Method and apparatus for rotation of high addressability bitmap images|
|US5640627||Jul 31, 1995||Jun 17, 1997||Asahi Kogaku Kogyo Kabushiki Kaisha||Display device in a camera finder|
|US5734875||Feb 5, 1996||Mar 31, 1998||Seiko Epson Corporation||Hardware that rotates an image for portrait-oriented display|
|US5764291||Sep 30, 1994||Jun 9, 1998||Apple Computer, Inc.||Apparatus and method for orientation-dependent camera exposure and focus setting optimization|
|US5805216 *||May 31, 1995||Sep 8, 1998||Matsushita Electric Industrial Co., Ltd.||Defective pixel correction circuit|
|US5821997||May 27, 1997||Oct 13, 1998||Nikon Corporation||Still image recording apparatus which selectively compresses single image information at a first compression ratio and a second compression ratio and to decompress the compressed single image information for display before main storage|
|US5854641||Sep 27, 1996||Dec 29, 1998||Apple Computer, Inc.||Method and apparatus for display image rotation|
|US5900909 *||Jul 17, 1997||May 4, 1999||Eastman Kodak Company||Electronic still camera having automatic orientation sensing and image correction|
|US5966116||Apr 17, 1997||Oct 12, 1999||Advanced Micro Devices, Inc.||Method and logic system for the rotation of raster-scan display images|
|JPH04120889A *||Title not available|
|JPS58222382A||Title not available|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7061650 *||Aug 8, 2003||Jun 13, 2006||Silverbrook Research Pty Ltd||Method and apparatus for bayer mosaic image conversion|
|US7372601||May 30, 2006||May 13, 2008||Silverbrook Ressearch Pty Ltd||Modular image processing device|
|US7512287 *||Jul 25, 2005||Mar 31, 2009||Seiko Epson Corporation||Method and apparatus for efficient image rotation|
|US7773263||Apr 21, 2008||Aug 10, 2010||Silverbrook Research Pty Ltd.||Multimedia pen with image processing module to convert captured images for printing by a printer module|
|US8045226||Oct 25, 2011||Silverbrook Research Pty Ltd||Multi-module device including a printer module|
|US8259198||Oct 20, 2009||Sep 4, 2012||Apple Inc.||System and method for detecting and correcting defective pixels in an image sensor|
|US8294781||Oct 20, 2009||Oct 23, 2012||Apple Inc.||System and method for sharpening image data|
|US8330772||May 28, 2010||Dec 11, 2012||Apple Inc.||Image signal processor front-end image data processing system and method|
|US8358319||May 28, 2010||Jan 22, 2013||Apple Inc.||System and method for processing image data using an image processing pipeline of an image signal processor|
|US8471932||Sep 30, 2010||Jun 25, 2013||Apple Inc.||Spatial filtering for image signal processing|
|US8472712||Oct 20, 2009||Jun 25, 2013||Apple Inc.||System and method for applying lens shading correction during image processing|
|US8488055||Sep 30, 2010||Jul 16, 2013||Apple Inc.||Flash synchronization using image sensor interface timing signal|
|US8493482||Aug 18, 2010||Jul 23, 2013||Apple Inc.||Dual image sensor image processing system and method|
|US8508612||Sep 30, 2010||Aug 13, 2013||Apple Inc.||Image signal processor line buffer configuration for processing ram image data|
|US8508621||Sep 30, 2010||Aug 13, 2013||Apple Inc.||Image sensor data formats and memory addressing techniques for image signal processing|
|US8525895||Jul 29, 2010||Sep 3, 2013||Apple Inc.||Binning compensation filtering techniques for image signal processing|
|US8531542||Sep 1, 2010||Sep 10, 2013||Apple Inc.||Techniques for acquiring and processing statistics data in an image signal processor|
|US8593483||May 28, 2010||Nov 26, 2013||Apple Inc.||Temporal filtering techniques for image signal processing|
|US8605167||Sep 1, 2010||Dec 10, 2013||Apple Inc.||Flexible color space selection for auto-white balance processing|
|US8629913||Sep 30, 2010||Jan 14, 2014||Apple Inc.||Overflow control techniques for image signal processing|
|US8638342||Oct 20, 2009||Jan 28, 2014||Apple Inc.||System and method for demosaicing image data using weighted gradients|
|US8643770||Jun 20, 2013||Feb 4, 2014||Apple Inc.||Flash synchronization using image sensor interface timing signal|
|US8736700||Sep 30, 2010||May 27, 2014||Apple Inc.||Techniques for synchronizing audio and video data in an image signal processing system|
|US8786625||Sep 30, 2010||Jul 22, 2014||Apple Inc.||System and method for processing image data using an image signal processor having back-end processing logic|
|US8817120||May 31, 2012||Aug 26, 2014||Apple Inc.||Systems and methods for collecting fixed pattern noise statistics of image data|
|US8823823||Sep 15, 2012||Sep 2, 2014||Google Inc.||Portable imaging device with multi-core processor and orientation sensor|
|US8836809||Sep 15, 2012||Sep 16, 2014||Google Inc.||Quad-core image processor for facial detection|
|US8866923||Aug 5, 2010||Oct 21, 2014||Google Inc.||Modular camera and printer|
|US8866926||Sep 15, 2012||Oct 21, 2014||Google Inc.||Multi-core processor for hand-held, image capture device|
|US8872946||May 31, 2012||Oct 28, 2014||Apple Inc.||Systems and methods for raw image processing|
|US8896720||Sep 15, 2012||Nov 25, 2014||Google Inc.||Hand held image capture device with multi-core processor for facial detection|
|US8902324||Sep 15, 2012||Dec 2, 2014||Google Inc.||Quad-core image processor for device with image display|
|US8902357||Sep 15, 2012||Dec 2, 2014||Google Inc.||Quad-core image processor|
|US8913151||Sep 15, 2012||Dec 16, 2014||Google Inc.||Digital camera with quad core processor|
|US8913182||Sep 15, 2012||Dec 16, 2014||Google Inc.||Portable hand-held device having networked quad core processor|
|US8917336||May 31, 2012||Dec 23, 2014||Apple Inc.||Image signal processing involving geometric distortion correction|
|US8922704||Sep 1, 2010||Dec 30, 2014||Apple Inc.||Techniques for collection of auto-focus statistics|
|US8934027||Sep 15, 2012||Jan 13, 2015||Google Inc.||Portable device with image sensors and multi-core processor|
|US8934053||Sep 15, 2012||Jan 13, 2015||Google Inc.||Hand-held quad core processing apparatus|
|US8953060||Sep 15, 2012||Feb 10, 2015||Google Inc.||Hand held image capture device with multi-core processor and wireless interface to input device|
|US8953061||Sep 15, 2012||Feb 10, 2015||Google Inc.||Image capture device with linked multi-core processor and orientation sensor|
|US8953882||May 31, 2012||Feb 10, 2015||Apple Inc.||Systems and methods for determining noise statistics of image data|
|US9014504||May 31, 2012||Apr 21, 2015||Apple Inc.||Systems and methods for highlight recovery in an image signal processor|
|US9025867||May 31, 2012||May 5, 2015||Apple Inc.||Systems and methods for YCC image processing|
|US9031319||May 31, 2012||May 12, 2015||Apple Inc.||Systems and methods for luma sharpening|
|US9055221||Sep 15, 2012||Jun 9, 2015||Google Inc.||Portable hand-held device for deblurring sensed images|
|US9060128||Sep 15, 2012||Jun 16, 2015||Google Inc.||Portable hand-held device for manipulating images|
|US9077943||May 31, 2012||Jul 7, 2015||Apple Inc.||Local image statistics collection|
|US9083829||Sep 15, 2012||Jul 14, 2015||Google Inc.||Portable hand-held device for displaying oriented images|
|US9083830||Sep 15, 2012||Jul 14, 2015||Google Inc.||Portable device with image sensor and quad-core processor for multi-point focus image capture|
|US9088675||Jul 3, 2012||Jul 21, 2015||Google Inc.||Image sensing and printing device|
|US9100516||Sep 15, 2012||Aug 4, 2015||Google Inc.||Portable imaging device with multi-core processor|
|US9105078||May 31, 2012||Aug 11, 2015||Apple Inc.||Systems and methods for local tone mapping|
|US9106775||Sep 15, 2012||Aug 11, 2015||Google Inc.||Multi-core processor for portable device with dual image sensors|
|US20050286762 *||Jun 13, 2005||Dec 29, 2005||Hyun-Sang Park||Method and multimedia processor for processing a rotated image|
|US20110234636 *||Sep 29, 2011||Dsp Group Ltd.||Method and integrated circuit for image manipulation|
|USRE44855||Oct 8, 1998||Apr 22, 2014||Apple Inc.||Multi-functional cellular telephone|
|USRE45559||Oct 8, 1998||Jun 9, 2015||Apple Inc.||Portable computers|
|U.S. Classification||348/272, 348/222.1, 348/208.3, 382/296, 345/656|
|International Classification||H04N5/367, H04N9/04, H04N5/369, H04N5/262, H04N5/232|
|Cooperative Classification||H04N5/232, H04N2201/0084, H04N2101/00, H04N5/23293, H04N5/2628|
|European Classification||H04N5/232V, H04N5/232, H04N5/262T|
|May 30, 2006||CC||Certificate of correction|
|Jun 8, 2007||FPAY||Fee payment|
Year of fee payment: 8
|Mar 7, 2008||AS||Assignment|
Owner name: APPLE INC., CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:APPLE COMPUTER, INC.;REEL/FRAME:020638/0127
Effective date: 20070109
Owner name: APPLE INC.,CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:APPLE COMPUTER, INC.;REEL/FRAME:020638/0127
Effective date: 20070109
|Oct 13, 2009||CC||Certificate of correction|