USRE38911E1 - Modular digital image processing via an image processing chain with modifiable parameter controls - Google Patents
Modular digital image processing via an image processing chain with modifiable parameter controls Download PDFInfo
- Publication number
- USRE38911E1 USRE38911E1 US09/990,869 US99086901A USRE38911E US RE38911 E1 USRE38911 E1 US RE38911E1 US 99086901 A US99086901 A US 99086901A US RE38911 E USRE38911 E US RE38911E
- Authority
- US
- United States
- Prior art keywords
- image
- processors
- parametric
- controls
- digital image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Abstract
Aspects for allowing variably controlled alteration of image processing of digital image data in a digital image capture device include forming an image processing chain with two or more image processors to process digital image data, and providing one or more parametric controls within each of the two or more image processors. The aspects further include accessing chosen controls of the one or more parametric controls to modify the two or more image processors for alteration of the image processing.
Description
The present invention is related to co-pending U.S. patent application, Ser. No. 08/705,619, filed on Aug. 29, 1996, entitled MODULAR DIGITAL IMAGE PROCESSING VIA AN IMAGE PROCESSING CHAIN, and assigned to the assignee of the present invention.
The present invention is also related to co-pending U.S. patent application, Ser. No. 08/705,588 filed on Sep. Aug. 29, 1996 (which is now U.S. Pat. No. 6,157,394 issued on Dec. 5, 2000), entitled FLEXIBLE DIGITAL IMAGE PROCESSING VIA AN IMAGE PROCESSING CHAIN WITH MODULAR IMAGE PROCESSORS, and assigned to the assignee of the present invention.
The present invention relates to digital image data processing, and more particularly to modular digital image data processing with modifiable parameter control.
Modern digital cameras typically include an imaging device which is controlled by a computer system. The computer system accesses raw image data captured by the imaging device and then processes and compresses the data before storing the compressed data into an internal memory. The conventional digital camera captures image data and then remains unusable until the data is completely processed and stored into internal flash memory.
In processing image data, typical digital cameras operate with exclusive and specific image processing. Thus, all the potential manipulation on image data, such as linearization, sharpening, and compression, occur as a result of isolated preset programming and/or specifically designed hardware.
While some level of manipulation of image data is achieved with the programming or hardware, attempts to alter and improve the processing are hampered by the rigid structure of using a single file/specific components. Furthermore, camera functionality remains tied to technology available at the time of the design and is not readily replaced and updated as technology improves. Accordingly, a need exists for a more flexible, modular approach for processing digital image data that provides enhanced digital image output through an adaptable image processing system.
Accordingly, the present invention meets these needs and provides a method and system for allowing variably controlled alteration of image processing of digital image data in a digital image capture device. In a method aspect, the method includes forming an image processing chain with two or more image processors to process digital image data, and providing one or more parametric controls within each of the two or more image processors. The method further includes accessing chosen controls of the one or more parametric controls to modify the two or more image processors for alteration of the image processing.
In a system aspect, the system includes a digital image capture device, the digital image capture device capable of processing digital image data through two or more image processors, the two or more image processors have one or more parametric controls, and a central processing unit. The central processing is included within the digital image capture device and capable of linking the two or more image processors to form an image processing chain. The central processing unit further facilitates access of chosen controls of the one or more parametric controls for modification of the two or more image processors and alteration of the image processing.
With the present invention, processing of digital image data occurs with a linked series of image processors. Each of the image processors performs some level of manipulation of the digital image data. The separation of digital image processing into a series of image processors allows a more modular approach to processing digital image data. Further, the present invention uniquely allows modification of the series through deletion of an image processor, insertion of a different image processor, or replacement of an existing image processor. In addition, aspects of an image processor, including parameter control values, are alterable in accordance with a preferred embodiment to allow greater adaptability to user-specific design preferences. Enhancements and changes to the chain are therein easily achieved, allowing greater flexibility and more convenient upgrading of digital image processing.
These and other advantages of the aspects of the present invention will be more fully understood in conjunction with the following detailed description and accompanying drawings.
The present invention relates to a flexible, modular approach to processing of digital image data. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art.
Although the following describes processing of digital image data captured through a digital camera device, it is meant as an illustrative embodiment of the features of the present invention. The present invention is equally capable of utilization with other devices that perform digital image data capture and processing, including, but not limited to, computer systems, including those used to capture digital images accessible from Internet sites and image scanner equipment. Further, the data structures and commands discussed with reference to a preferred embodiment are suitably included as part of high level code used directly by one or more applications that is readily achieved through the use of C, C++, or other similar programming language, and stored on a computer readable medium.
A digital camera architecture has been disclosed in co-pending U.S. patent application Ser. No. 08/666,241, entitled “A System And Method For Using A Unified Memory Architecture To Implement A Digital Camera Device,” filed on Jun. 20, 1996, and assigned to the Assignee of the present application. The Applicant hereby incorporates the co-pending application by reference, and reproduces portions of that application herein with reference to FIGS. 1-5 for convenience.
Referring now to FIG. 1 , a block diagram of a camera 110 is shown according to the present invention. Camera 110 preferably comprises an imaging device 114, a system bus 116 and a computer 118. Imaging device 144 is optically coupled to an object 112 and electrically coupled via system bus 116 to computer 118. Once a photographer has focused imaging devices 114 on object 112 and, using a capture button on some other means, instructed camera 110 to capture an image of object 112, computer 118 commands imaging device 114 via system bus 116 to capture raw image data representing object 112. The captured raw image data is transferred over system bus 116 to computer 118 which performs various image processing functions on the image data before storing it in its internal memory. System bus 116 also passes various status and control signals between imaging device 114 and computer 118.
Referring now to FIG. 2 , a block diagram of the preferred embodiment of imaging device 114 is shown. Imaging device 114 preferably comprises a lens 220 having an iris, a filter 222, an image sensor 224, a timing generator 226, an analog signal processor (ASP) 228, an analog-to-digital (A/D) converter 230, an interface 232, and one or more motors 234.
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, is incorporated herein by reference and provides a detailed discussion of the preferred elements of imaging device 114. Briefly, imaging device 114 captures an image of object 112 via reflected light impacting image sensor 224 along optical path 236. Image sensor 224 responsively generates a set of raw image data representing the captured image 112. The raw image data is then routed through ASP 228, A/D converter 230 and interface 232. Interface 232 has outputs for controlling ASP 228, motors 234 and timing generator 226. From interface 232, the raw image data passes over system bus 116 to computer 118.
Referring now to FIG. 3 , a block diagram of the preferred embodiment for computer 118 is shown. System bus 116 provides connection paths between imaging device 114, power manager 342, central processing unit (CPU) 344, dynamic random-access memory (DRAM) 346, input/output interface (I/O) 348, read-only memory (ROM) 350, and buffers/connector 352. Removable memory 354 connects to system bus 116 via buffers/connector 352. Alternately, camera 110 may be implemented without removable memory 354 or buffers/connector 352.
I/O 348 is an interface device allowing communications to and from computer 118. For example, I/O 348 permits an external host computer (not shown) to connect to and communicate with computer 118. I/O 348 also permits a camera 110 user to communicate with camera 110 via an external user interface and via an external display panel, referred to as a view finder.
During a power failure mode in which the main batteries 358 have failed (when their output voltage has fallen below a minimum operational voltage level) the backup batteries 360 provide operating power to power supply 356 which then provides the operating power only to the secondary power bus 364 of camera 110. Selected components of camera 110 (including DRAM 346) are thus protected against a power failure in main batteries 358.
Referring now to FIG. 4 , a memory map showing the preferred embodiment of ROM 350 is shown. In the preferred embodiment, ROM 350 includes control application 400, toolbox 402, drivers 404, kernal 406 and system configuration 408. Control application 400 comprises program instructions for controlling and coordinating the various functions of camera 110. Toolbox 402 contains selected function modules including memory manager 410, RAM spooler 1 (412), RAM spooler 2 (414), removable memory spooler 1 (416), removable memory spooler 2 (418), image processing and compression 420 and file system 422.
Referring now to FIG. 5 , a block diagram showing preferred data paths for transmitting image data between selected computer 118 components is shown. In FIG. 5 , frame buffer 536 receives and stores raw image data previously captured by image device 114. Frame buffer 536 then transfers control of the raw image data to RAM spooler 1 (412) via line 610. Alternatively, if RAM disk 532 is full, frame buffer 536 may transfer control of the raw image data directly to image processing/compression 420 using line 612. If RAM spooler 1 (412) receives control of the raw image data, it then stores the raw image data into RAM disk 532 using line 614.
Removable memory spooler 1 (416) may then access the raw image data from RAM disk 532 via line 616 and store it into removable memory 354 using line 618. Alternatively, if removable memory 354 is full or is not inserted, RAM disk 532 may provide the raw image data directly to image processing/compression 420 using line 620. If removable memory spooler 1 (416) stores the raw image data into removable memory 354, then image processing/compression 420 typically accesses the stored raw image data using line 622.
LINKING IMAGE PROCESSORS FOR FORMING IMAGES
In the preferred embodiment, image processing and compression 420 occurs via an image processing chain (IPC). For purposes of this discussion, the IPC preferably refers to a software process that manipulates image data in a stage by stage fashion. As shown in FIG. 6 , an IPC 500 is suitably composed of a sequence of image processors 502 with each image processor 502 performing a particular type of image transformation. The input image data 504 is suitably received from a single image source and output as output image data 506 into a single image destination. Image processors suitably refer to software modules that apply algorithms on image data to obtain a special image processing result, specific examples of which are described below with reference to FIG. 7.
The image processors 502 suitably include a first image processor 502a for linearization of the input image data 504. By way of example, linearization refers to a straightforward conversion of the image data from an eight-bit non-linear space to sixteen-bit linear space. As a more specific example, input pixels stored as eight bit compressed Bayer pattern image data are converted through linearization image processor 502a into sixteen bit extended Bayer pattern image data.
A next suitable image processor 502b is a bad pixel replacement processor. Bad pixel replacement suitably occurs through interpolation of the neighborhood pixels around the defective CCD pixels. The processing by image processor 502b capably receives and outputs pixel data in sixteen-bit linear space Bayer format.
As a next image processor 502, white balance processor 502c performs white balance image processing. Pixel data received and output by the white balance image processor 502c are approximately stored in sixteen-bit linear space Bayer format.
A fourth image processor 502d preferably performs image color or color filter array data (CFA) reconstruction. By way of example, the CFA reconstruction image processor 502d suitably achieves an interpolation operation to convert sixteen-bit Bayer CFA pattern CCD data into a forty-eight bit extended RGB image.
Following CFA reconstruction image processor 502d, color transformation image processor 502e is included. An appropriate color transformation image processor 502e employs a color correction matrix, such as to convert from device-dependent camera color space to device-independent linear CCIR709 color space. Preferably, the input and output pixel data is stored in forty-eight bit extended RGB format.
As a next image processor, YCC color space transformation image processor 502f is included. The YCC color space conversion image processor 502f suitably uses CCIR 601-2 specification to create an eight-bit YCrCb image from an RGB image. Input pixel data to image processor 502f is suitably given in forty-eight bit extended RGB format with output pixel data in twenty-four bit YCrCb444 format.
Two additional image processors 502 in the IPC 500 include sharpening image processor 502g and JPEG compression image processor 502h. Sharpening image processor 502g suitably receives input pixel data in twenty-four bit YCrCb format and outputs pixel data in the same format after performing sharpening operations. Parameter control of the sharpening suitably occurs with a range of values for the sharpening operation.
The JPEG compression image processor 502h suitably performs JFIF base line image compression. Input pixel data in twenty-four bit YCrCb444 format is output from image processor 502h as compressed and subsampled YCC format, 48-bit YCrCb411 per 4-pixel data. Two forms of parameter controls are achieved via image processor 502h to both control the degree of compression, e.g., maximum to normal to lossless, and to identify data as color or grayscale.
Coordination of the image processors 502 to form the IPC 500 is preferably done via an image processing backplane (IPB). In a preferred embodiment, the image processing backplane provides processing support in a broad manner to allow varying algorithms to be incorporated as image processors 502. The features of the processing support by the IPB are described in more detail with reference to FIG. 8 and include performing image scan line buffer input/output (I/O), IPC construction and connection, image processor parameter control setting, single pass through image data, procedural interface to the image processors, circular data pipeline support, and ring-pixel handling, with minimal memory requirements and overheads.
For image processors 502, processing suitably occurs with a data pipeline that contains a single image scan line, i.e., an image pixel line in the fast scan direction from left to right. However, some image processors 502, such as compression image processors (e.g., 502h, FIG. 7), utilize more than one scan line during processing to take neighboring effects into account. When more than one scan line is needed by an image processor 502, a data pipeline is suitably defined for convenience at the input end of the image processor 502. For purposes of this discussion, a data pipeline refers to a minimum collection of image scan lines required by an image processor 502. Generally, a data pipeline includes an image scan line currently being processed, and some number of image scan lines prior to (‘lookback’) and/or after (‘lookahead’) the current image scan line. Suitably, access to the data pipeline occurs via a circular array of buffer pointers, so that after each processing iteration of the image processor 502, the pointers in the array are circularly rotated, as is well understood by those skilled in the art. In contrast to prior devices that typically require large amounts of memory to perform image data manipulations, the image scan line buffers provide sufficient memory to perform processing one scan line at a time, thus reducing the overall memory requirements without reducing processing capabilities.
Preferably, the data pipeline required by an image processor 502 is indicated during the installation of the image processor 502 in the IPC 500. Installation of an image processor 502 suitably occurs when the camera first starts up with an IPC 500 constructed from all of the default image processors 502 stored in the system ROM. Suitable functions to coordinate the construction and deconstruction of the IPC 500 include four functions, an initialization function, e.g., IPCInit, an installation function, e.g., IPCInstallImageProcessor, a connection function, e.g., IPCConnect, and a destruction function, e.g., IPCDestroy.
The IPC initialization function is called to create a new IPC 500. A suitable default IPC 500 converts raw CCD capture data into a JPEG compressed image. Preferably, the IPC initialization function returns a reference to a new image processing chain, identifies types of image processors included in the chain, and specifies a maximum expected width in pixels to be sent through the IPC, where the maximum width includes ring-pixels, which refer to supplementary image data at each side of the image required by an image processor to perform a particular algorithm.
The IPC installation function is called by an image processing application to the IPB 520 to install the image processor 502 into the IPC 500. Preferably, the installation function specifies an IPC reference number, as identified in the initialization function, and provides pointers to the seven functional routine entries, as discussed hereinbelow, of the image processor being installed.
The IPC connection function specifies an IPC reference number, and signals to the IPB 520 that all image processors 502 have been installed and that the IPC 500 contains all the required image processors 502 to perform image processing. The IPC destruction function specifies an IPC reference number and is called to destroy an IPC 500. Although a default camera IPC 500 is unlikely to be destroyed, other IPCs added to a camera for other purposes by functions in accordance with a preferred embodiment and discussed in more detail hereinbelow, are suitably destroyed with this function.
MODULARITY OF IMAGE PROCESSORS THROUGH FLEXIBLE UPDATING OF AN IPC
Alterations to an existing IPC 500 readily occur in a preferred embodiment through an update function, e.g., IPBUpdateDefaultPC, that specifies the IPC reference number for the IPC 500 being updated/modified. Updating of an IPC 500 includes insertion of an image processor 502 to the IPC 500, deletion of an image processor 502 from the IPC 500, or replacement of an image processor 502 with an alternate image processor 502. Preferably, the default IPC 500 is updated via an image processor module on a storage device, e.g., removable memory, RAM disk, or internal memory. The image processor module suitably contains one or more plug-in image processors that each have one additional function, e.g., IPMPlugInProc, that defines the updating strategy, the signature of the target image processor to be updated, and pointers of the seven basic functions of an image processor, as described hereinbelow. Lack of identification of valid target image processors in an IPC or lack of match between the format of the output of one image processor and input of a next image processor chained together preferably results in cancellation of the updating attempt and restoration of the default IPC 500.
Defining an image processor 502, for use in a default IPC 500 or as an updating image processor, suitably occurs through seven functional routines or procedures, as indicated by block 528 in FIG. 8. A definition function, e.g., IPDefineProc, allows an image processor 502 to specify its characteristics. It is appropriately called by the IPB 520 when the image processor 502 is installed into the IPC 500 to identify the characteristics of the image processor 502. By way of example, for an image processor 502 that performs color correction via a 3×3 matrix, input and output formats of 48 bit extended RGB are capably identified by the definition function. Further characteristics identified include the configuration of the data pipeline associated with the image processor 502, the number of ring-pixels, and the number of parameter controls.
An initialization, e.g., IPInitProc, appropriately allows an image processor 502 to allocate any internal storage it might need when processing an image. It is suitably called by the IPB 520 only once when the image processor 502 is installed into the IPC 500. Subsequent calls to the other five functions described below then pass the internal storage space allocated by the IPInitProc as an argument. Further identified by the initialization function is the maximum width specification of an image scan line in pixels that is expected at the input, including ring-pixels at both the left and right sides. In the example of defining the color correction image processor, the initialization function capably identifies a memory location storing a pointer to needed 3×3 matrix constant value internal variables, and the maximum width.
Two functions, a control function, e.g., IPControlProc, and a status function, e.g., IPStatusProc, deal with parameter controls of an image processor 502. Preferably, parameter controls for an image processor 502 each have a unique 4-character tag that is registered to avoid conflict. Parameter control values include two types, a range type and an enumerated list type. Range types of parameter control values are appropriately confined between the minimum and maximum settings for the range. Enumerated list parameter control values assign different enumerated numbers to different settings with a 32-character null terminated string used to provide an ASCII name for each enumerated list number. Examples of parameter controls include sharpening values (range type), color specification control values (range type), and compression control values (enumerated list type).
The control function, IP ControlProc, is called by the IPB 520 to control the processing parameters one parameter control at a time and only before a reset function, e.g., IPReset, call for every image to be processed. The status function, IPStatusProc, allows an image processor 502 called by the IPB 520 to determine any parameter kind, values types, factory default parameter setting, and current parameter setting of an image processor 502. No-operation routines are provided when the image processor does not support any parameter settings, such as in the example of the color correction image processor.
The reset function, IPResetProc, suitably allows IPB 520 to signal an image processor 502 to reset any internal variables used by the image processor 502 before every image is processed. With the color correction image processor example, no operation routines are provided, since no local variables need to be reset. A process function, e.g., IPProcessProc, suitably allows an image processor 502 to process image data one scan line at a time. It is suitably called whenever a data pipeline for the image processor 502 fills up. Thus, the operations for performing the 3×3 matrix manipulation in the color correction image processor example, are specified with the process function. A destruction function, e.g., IPDestroyProc, suitably allows an image processor to deallocate any internal storage allocated at initialization. It is appropriately called when the IPC 500 containing the image processor 502 is being removed. In response to this call, the image processor 502 preferably deallocates internal storage allocated in the initialization function call.
Entry points to these seven functional routines for an image processor 502, stored in an external data structure, e.g., Functions, as well as the characteristics of the image processor 502, are suitably stored in an internal data structure, e.g., ImageProc, by the IPB 520. Once the image processor 502 are defined through the seven functional routines and connected in an IPC 500, the IPB 520 suitably facilitates image processing operations by managing image buffer I/O, and activation of each image processor 502 as soon as enough input data has been collected. The information for the image data processed is suitably stored in a data structure, e.g., ImageInfo, including raw image size captured by a camera CCD, final processed output image size, bad pixel locations, etc.
MODIFIABLE PARAMETER CONTROL OR IMAGE PROCESSOR IN AN IPC
In a preferred embodiment, the IPB 520 further provides routines to allow exchanges of parameter control settings by an external mechanism, such as a control application 400 (FIG. 4). These functions include parameter control capability and value determination functions, e.g., IPBGetParameterCapability, IPBGetDefaultParameter, and IPBGetParameter. Also included are functions for setting or restoring parameter control values, e.g., IPBSetDefaultParameter, IPBSetParameter, and IPBRestoreParameter. Preferably, for the parameter control value determination functions, an IPC 500 and the number of parameters requested are identified, as well as identification of a pointer to an array of parameter tags, a pointer to a memory location used to store a pointer for the parameter settings returned, and a pointer to a memory location where the number of bytes of parameter control values are stored. Similarly, for the capability determination function, an IPC is specified, the number of parameters requested is specified, a pointer to an array of parameter tags is specified, a pointer to a memory location used to store a pointer for the parameter capability information returned is specified, and a pointer to a memory location where the number of bytes of parameter capability information is stored is specified. Thus, access to the parameter controls managed by an IPC 500 are available, as well as current values, device dependent factory default values, and user-specified default values.
For the parameter control value setting functions, preferably identified by the functions are an IPC, a number of parameter control values to be set, and a pointer to a list of parameter tags and either a current value or a user default value that are to be set by the function. In addition, the set parameter function appropriately allows all parameters not listed in the specified parameter value list to be reset to their user default value when a Boolean variable is set. The restoration function similarly identifies an IPC and a number of parameters to be requested, provides a pointer to an array of parameter tags, and selects the type of parameter defaults, i.e., user-specified or device dependent factory, being reset through a Boolean variable. These functions therefore provide convenient accessibility to allow alteration of parameter control values in an IPC 500. Greater flexibility for adjusting an image processor 502 within an IPC 500 is advantageously provided.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will recognize that there could be variations to the embodiment and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill without departing from the spirit and scope of the present invention, the scope of which is defined by the following claims.
Claims (41)
1. A method for allowing variably controlled alteration of image processing of digital image data in a digital image capture device, the method comprising:
forming an image processing chain with two or more image processors, the two or more image processors being stored in memory, wherein said processors are software modules and each performing a particular type of image transformation, to process digital image data;
providing one or more parametric controls that are uniquely identified and within each of the two or more image processors; and
accessing chosen controls of the one or more parametric controls within each of the two or more image processors to modify the two or more image processors for alteration of the image processing.
2. The method of claim 1 wherein the step of accessing further comprises altering a default value of the one or more parametric controls.
3. The method of claim 2 wherein the step of altering further comprises setting the default value to a desired value.
4. The method of claim 2 wherein the step of altering further comprises resetting the default value to a device dependent factory value.
5. The method of claim 1 wherein the step of accessing further comprises determining current values of the one or more parametric controls.
6. The method of claim 1 wherein the step of accessing further comprises determining default values of the one or more parametric controls.
7. The method of claim 1 wherein the step of accessing further comprises determining parametric control capabilities of the one or more parametric controls.
8. The method of claim 7 wherein the step of determining parametric control capabilities further comprises providing values, value types, and device dependent factory default values.
9. The method of claim 1 wherein the two or more image processors further comprise a sharpening image processor and a compression image processor.
10. The method of claim 9 wherein the sharpening image processor provides a sharpening parametric control.
11. The method of claim 10 wherein the sharpening parametric control comprises a range type of control.
12. The method of claim 9 wherein the compression image processor provides a compression parametric control and a color specification control.
13. The method of claim 12 wherein the compression parametric control comprises an enumerated list type of control.
14. The method of claim 12 wherein the color specification parametric control comprises a range type of control.
15. A system for allowing variably controlled alteration of image processing of digital image data, the system comprising:
a digital image capture device, the digital image capture device capable of processing digital image data through two or more image processors, the two or more image processors being stored in memory, wherein said processors are software modules and each performing a particular type of image transformation and having one or more parametric controls that are uniquely identified; and
a central processing unit within the digital image capture device and capable of linking the two or more image processors to form an image processing chain, wherein the central processing unit facilitates access of chosen controls of the one or more parametric controls within each of the two or more image processors for modification of the two or more image processors and alteration of the image processing.
16. The system of claim 15 wherein the two or more image processors further comprise a sharpening image processor and a compression image processor.
17. The system of claim 15 wherein the central processing unit facilitates altering a default value of the one or more parametric controls.
18. The system of claim 15 wherein the central processing unit facilitates setting the default value to a desired value.
19. The system of claim 15 wherein the central processing unit facilitates resetting the default value to a device dependent factory default value.
20. The system of claim 15 wherein the central processing unit facilitates determining current values of the one or more parametric controls.
21. The system of claim 15 wherein the central processing unit facilitates determining default values of the one or more parametric controls.
22. The system of claim 15 wherein the central processing unit facilitates determining parametric control capabilities of the one or more parametric controls, including values, value types, and device dependent factory default values.
23. A computer readable medium containing program instructions for:
forming an image processing chain with two or more image processors, the two or more image processors stored in memory, wherein said processors are software modules and each performing a particular type of image transformation, to process digital image data;
providing one or more parametric controls that are uniquely identified and within each of the two or more image processors; and
accessing chosen controls of the one or more parametric controls within each of the two or more image processors to modify the two or more image processors for alteration of the image processing.
24. The system of claim 15 wherein at least one of the parameter controls has a default value that cannot be modified by a user.
25. The system of claim 15 wherein a non-transforming image processor is chained between two transforming image processors.
26. A method for allowing variable controlled alteration of image processing of digital image data in a digital image capture device, the method comprising:
forming an image processing chain with two or more image processors, the two or more image processors being stored in memory, wherein said processors are software modules and each performing a particular type of processing of digital image data;
providing one or more parametric controls that are uniquely identified and within each of the two or more image processors; and
accessing chosen controls of the one or more parametric controls within at least one of the two or more image processors to modify the image processor for alteration of the image processing.
27. A system for allowing variably controlled alteration of image processing of digital image data, the system comprising:
a digital image capture device, the digital image capture device capable of processing digital image data through two or more image processors, the two or more image processors being stored in memory, wherein said processors are software modules and each performing a particular type of image processing and having one or more parametric controls that are uniquely identified; and
a central processing unit within the digital image capture device and capable of linking the two or more image processors to form an image processing chain, wherein the central processing unit facilitates access of chosen controls of the one or more parametric controls within at least one of the two or more processors for modification of the image processor and alteration of the image processing.
28. The system of claim 27 wherein at least one of the parameter controls has a default value that cannot be modified by a user.
29. The system of claim 27 wherein a non-transforming image processor is chained between two transforming image processors.
30. A method of controlling processing of digital image data in a digital image capture device, comprising:
forming an image processing chain with a plurality of image processors, the plurality of image processors being software modules stored in memory located within the digital image capture device, the image processors each performing a particular type of image processing on the digital image data; and
providing one or more parametric controls within each of the two or more image processors, at least one of the parametric controls accessible by a user of the digital image capture device for modifying at least one of the two or more image processors.
31. The method of claim 30 further comprising replacing a parametric control value with a user-specified value.
32. The method of claim 30 further comprising replacing a parametric control value with a default value.
33. The method of claim 30 further comprising exchanging a parametric control setting by an external mechanism.
34. A computer-readable medium having stored thereon instructions which, when executed by a processor, cause the processor to perform the steps of:
forming an image processing chain with a plurality of image processors, the plurality of image processors being software modules stored in memory located within the digital image capture device, the image processors each performing a particular type of image transformation on the digital image data; and
providing one or more parametric controls that are uniquely identified and within each of the two or more image processors, at least one of the parametric controls accessible by a user of the digital image capture device for modifying one of the two or more image processors.
35. The computer-readable medium of claim 34 further comprising replacing a parametric control value with a user-specified value.
36. The computer-readable medium of claim 34 further comprising replacing a parametric control value with a default value.
37. The computer-readable medium of claim 34 further comprising exchanging a parametric control setting by an external mechanism.
38. A system for controlling the processing of digital image data, comprising:
a digital image capture device having an image processing backplane for forming an image processing chain with a plurality of image processors, the plurality of image processors being software modules stored in memory located within the digital image capture device, the image processors each performing a particular type of image processing on the digital image data; and
a parametric control coupled to at least one of the two or more image processors, wherein the parametric control is accessible by a user of the digital capture device for modifying at least one of the two or more image processors.
39. The system of claim 38 wherein at least one parameter control is from a group of parameter controls comprising sharpening control values, color specification control values and compression control values.
40. The system of claim 38 wherein at least one of the parameter controls has a default value that cannot be modified by a user.
41. The system of claim 38 wherein a non-transforming image processor is chained between two transforming image processors.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/990,869 USRE38911E1 (en) | 1996-08-29 | 2001-11-21 | Modular digital image processing via an image processing chain with modifiable parameter controls |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/705,325 US5991465A (en) | 1996-08-29 | 1996-08-29 | Modular digital image processing via an image processing chain with modifiable parameter controls |
US09/990,869 USRE38911E1 (en) | 1996-08-29 | 2001-11-21 | Modular digital image processing via an image processing chain with modifiable parameter controls |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/705,325 Reissue US5991465A (en) | 1996-08-29 | 1996-08-29 | Modular digital image processing via an image processing chain with modifiable parameter controls |
Publications (1)
Publication Number | Publication Date |
---|---|
USRE38911E1 true USRE38911E1 (en) | 2005-12-06 |
Family
ID=24832967
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/705,325 Ceased US5991465A (en) | 1996-08-29 | 1996-08-29 | Modular digital image processing via an image processing chain with modifiable parameter controls |
US09/990,869 Expired - Lifetime USRE38911E1 (en) | 1996-08-29 | 2001-11-21 | Modular digital image processing via an image processing chain with modifiable parameter controls |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/705,325 Ceased US5991465A (en) | 1996-08-29 | 1996-08-29 | Modular digital image processing via an image processing chain with modifiable parameter controls |
Country Status (1)
Country | Link |
---|---|
US (2) | US5991465A (en) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060062491A1 (en) * | 2004-09-17 | 2006-03-23 | Chen Ernest P | Techniques for image processing |
US20100279418A1 (en) * | 2009-05-04 | 2010-11-04 | Loren Robert Larson | Glucose meter adaptable for use with handheld devices, and associated communication network |
US20110090370A1 (en) * | 2009-10-20 | 2011-04-21 | Apple Inc. | System and method for sharpening image data |
US20110090242A1 (en) * | 2009-10-20 | 2011-04-21 | Apple Inc. | System and method for demosaicing image data using weighted gradients |
US20110090371A1 (en) * | 2009-10-20 | 2011-04-21 | Apple Inc. | System and method for detecting and correcting defective pixels in an image sensor |
US20110138371A1 (en) * | 2009-12-04 | 2011-06-09 | Kabushiki Kaisha Toshiba | Compiling device and compiling method |
US8472712B2 (en) | 2009-10-20 | 2013-06-25 | Apple Inc. | System and method for applying lens shading correction during image processing |
US8471932B2 (en) | 2010-09-30 | 2013-06-25 | Apple Inc. | Spatial filtering for image signal processing |
US8488055B2 (en) | 2010-09-30 | 2013-07-16 | Apple Inc. | Flash synchronization using image sensor interface timing signal |
US8493482B2 (en) | 2010-08-18 | 2013-07-23 | Apple Inc. | Dual image sensor image processing system and method |
US8508621B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image sensor data formats and memory addressing techniques for image signal processing |
US8508612B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
US8525895B2 (en) | 2010-07-29 | 2013-09-03 | Apple Inc. | Binning compensation filtering techniques for image signal processing |
US8531542B2 (en) | 2010-09-01 | 2013-09-10 | Apple Inc. | Techniques for acquiring and processing statistics data in an image signal processor |
US8593483B2 (en) | 2009-10-20 | 2013-11-26 | Apple Inc. | Temporal filtering techniques for image signal processing |
US8605167B2 (en) | 2010-09-01 | 2013-12-10 | Apple Inc. | Flexible color space selection for auto-white balance processing |
US8629913B2 (en) | 2010-09-30 | 2014-01-14 | Apple Inc. | Overflow control techniques for image signal processing |
US8736700B2 (en) | 2010-09-30 | 2014-05-27 | Apple Inc. | Techniques for synchronizing audio and video data in an image signal processing system |
US8786625B2 (en) | 2010-09-30 | 2014-07-22 | Apple Inc. | System and method for processing image data using an image signal processor having back-end processing logic |
US8817120B2 (en) | 2012-05-31 | 2014-08-26 | Apple Inc. | Systems and methods for collecting fixed pattern noise statistics of image data |
US8872946B2 (en) | 2012-05-31 | 2014-10-28 | Apple Inc. | Systems and methods for raw image processing |
US8917336B2 (en) | 2012-05-31 | 2014-12-23 | Apple Inc. | Image signal processing involving geometric distortion correction |
US8922704B2 (en) | 2010-09-01 | 2014-12-30 | Apple Inc. | Techniques for collection of auto-focus statistics |
US8953882B2 (en) | 2012-05-31 | 2015-02-10 | Apple Inc. | Systems and methods for determining noise statistics of image data |
US9014504B2 (en) | 2012-05-31 | 2015-04-21 | Apple Inc. | Systems and methods for highlight recovery in an image signal processor |
US9025867B2 (en) | 2012-05-31 | 2015-05-05 | Apple Inc. | Systems and methods for YCC image processing |
US9031319B2 (en) | 2012-05-31 | 2015-05-12 | Apple Inc. | Systems and methods for luma sharpening |
US9077943B2 (en) | 2012-05-31 | 2015-07-07 | Apple Inc. | Local image statistics collection |
US9105078B2 (en) | 2012-05-31 | 2015-08-11 | Apple Inc. | Systems and methods for local tone mapping |
US9131196B2 (en) | 2012-05-31 | 2015-09-08 | Apple Inc. | Systems and methods for defective pixel correction with neighboring pixels |
US9142012B2 (en) | 2012-05-31 | 2015-09-22 | Apple Inc. | Systems and methods for chroma noise reduction |
US9332239B2 (en) | 2012-05-31 | 2016-05-03 | Apple Inc. | Systems and methods for RGB image processing |
US9398205B2 (en) | 2010-09-01 | 2016-07-19 | Apple Inc. | Auto-focus control using image statistics data with coarse and fine auto-focus scores |
US11089247B2 (en) | 2012-05-31 | 2021-08-10 | Apple Inc. | Systems and method for reducing fixed pattern noise in image data |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10285362A (en) * | 1997-04-09 | 1998-10-23 | Nikon Corp | Data processing unit and recording medium |
US5973734A (en) | 1997-07-09 | 1999-10-26 | Flashpoint Technology, Inc. | Method and apparatus for correcting aspect ratio in a camera graphical user interface |
US6392699B1 (en) | 1998-03-04 | 2002-05-21 | Intel Corporation | Integrated color interpolation and color space conversion algorithm from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
US6356276B1 (en) * | 1998-03-18 | 2002-03-12 | Intel Corporation | Median computation-based integrated color interpolation and color space conversion methodology from 8-bit bayer pattern RGB color space to 12-bit YCrCb color space |
US6317141B1 (en) | 1998-12-31 | 2001-11-13 | Flashpoint Technology, Inc. | Method and apparatus for editing heterogeneous media objects in a digital imaging device |
US6850647B1 (en) | 1999-07-30 | 2005-02-01 | Michael L. Gough | System, method and article of manufacture for decompressing digital camera sensor data |
US7046864B1 (en) * | 2001-03-07 | 2006-05-16 | Ess Technology, Inc. | Imaging system having an image memory between the functional processing systems |
US6992707B2 (en) * | 2002-03-06 | 2006-01-31 | Hewlett-Packard Development Company, L.P. | Delayed encoding based joint video and still image pipeline with still burst mode |
US6714203B1 (en) * | 2002-03-19 | 2004-03-30 | Aechelon Technology, Inc. | Data aware clustered architecture for an image generator |
US7301568B2 (en) * | 2002-08-07 | 2007-11-27 | Smith Craig M | Cameras, other imaging devices, and methods having non-uniform image remapping using a small data-set of distortion vectors |
GB2417360B (en) | 2003-05-20 | 2007-03-28 | Kagutech Ltd | Digital backplane |
US9224145B1 (en) | 2006-08-30 | 2015-12-29 | Qurio Holdings, Inc. | Venue based digital rights using capture device with digital watermarking capability |
US9160912B2 (en) | 2012-06-08 | 2015-10-13 | Apple Inc. | System and method for automatic image capture control in digital imaging |
EP3672228A1 (en) | 2018-12-20 | 2020-06-24 | Axis AB | Method and system for adjusting an image pipeline setting |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442543A (en) * | 1979-09-10 | 1984-04-10 | Environmental Research Institute | Bit enable circuitry for an image analyzer system |
US4794524A (en) | 1984-07-03 | 1988-12-27 | Zilog, Inc. | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit |
US4850027A (en) | 1985-07-26 | 1989-07-18 | International Business Machines Corporation | Configurable parallel pipeline image processing system |
US4860375A (en) * | 1986-03-10 | 1989-08-22 | Environmental Research Inst. Of Michigan | High speed cellular processing system |
US4949390A (en) * | 1987-04-16 | 1990-08-14 | Applied Vision Systems, Inc. | Interconnect verification using serial neighborhood processors |
US5237626A (en) * | 1991-09-12 | 1993-08-17 | International Business Machines Corporation | Universal image processing module |
US5283671A (en) * | 1991-02-20 | 1994-02-01 | Stewart John R | Method and apparatus for converting RGB digital data to optimized CMYK digital data |
US5315700A (en) * | 1992-02-18 | 1994-05-24 | Neopath, Inc. | Method and apparatus for rapidly processing data sequences |
US5365596A (en) * | 1992-12-17 | 1994-11-15 | Philip Morris Incorporated | Methods and apparatus for automatic image inspection of continuously moving objects |
US5402170A (en) | 1991-12-11 | 1995-03-28 | Eastman Kodak Company | Hand-manipulated electronic camera tethered to a personal computer |
US5452375A (en) * | 1993-05-24 | 1995-09-19 | Sagem S.A. | Digital image processing circuitry |
US5477264A (en) | 1994-03-29 | 1995-12-19 | Eastman Kodak Company | Electronic imaging system using a removable software-enhanced storage device |
US5513382A (en) | 1993-03-31 | 1996-04-30 | Motorola, Inc. | Multi-ceramic layer switch circuit |
US5563655A (en) | 1994-02-28 | 1996-10-08 | Eastman Kodak Company | Intelligent digital image storage for an electronic camera |
US5568192A (en) * | 1995-08-30 | 1996-10-22 | Intel Corporation | Method and apparatus for processing digital video camera signals |
US5606365A (en) | 1995-03-28 | 1997-02-25 | Eastman Kodak Company | Interactive camera for network processing of captured images |
US5623604A (en) * | 1992-11-18 | 1997-04-22 | Canon Information Systems, Inc. | Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral |
US5631974A (en) * | 1990-08-31 | 1997-05-20 | Canon Research Centre Europe, Ltd. | Image processing |
US5642444A (en) * | 1994-07-28 | 1997-06-24 | Univ North Carolina | Specialized image processing system architecture and method for image data arrays |
US5661823A (en) | 1989-09-29 | 1997-08-26 | Kabushiki Kaisha Toshiba | Image data processing apparatus that automatically sets a data compression rate |
US5734425A (en) | 1994-02-15 | 1998-03-31 | Eastman Kodak Company | Electronic still camera with replaceable digital processing program |
US5739850A (en) | 1993-11-30 | 1998-04-14 | Canon Kabushiki Kaisha | Apparatus for improving the image and sound processing capabilities of a camera |
US5764817A (en) | 1994-01-19 | 1998-06-09 | Matsushita Electric Industrial Co., Ltd. | Image processing apparatus for effecting a series of processes |
-
1996
- 1996-08-29 US US08/705,325 patent/US5991465A/en not_active Ceased
-
2001
- 2001-11-21 US US09/990,869 patent/USRE38911E1/en not_active Expired - Lifetime
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442543A (en) * | 1979-09-10 | 1984-04-10 | Environmental Research Institute | Bit enable circuitry for an image analyzer system |
US4794524A (en) | 1984-07-03 | 1988-12-27 | Zilog, Inc. | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit |
US4850027A (en) | 1985-07-26 | 1989-07-18 | International Business Machines Corporation | Configurable parallel pipeline image processing system |
US4860375A (en) * | 1986-03-10 | 1989-08-22 | Environmental Research Inst. Of Michigan | High speed cellular processing system |
US4949390A (en) * | 1987-04-16 | 1990-08-14 | Applied Vision Systems, Inc. | Interconnect verification using serial neighborhood processors |
US5661823A (en) | 1989-09-29 | 1997-08-26 | Kabushiki Kaisha Toshiba | Image data processing apparatus that automatically sets a data compression rate |
US5631974A (en) * | 1990-08-31 | 1997-05-20 | Canon Research Centre Europe, Ltd. | Image processing |
US5283671A (en) * | 1991-02-20 | 1994-02-01 | Stewart John R | Method and apparatus for converting RGB digital data to optimized CMYK digital data |
US5237626A (en) * | 1991-09-12 | 1993-08-17 | International Business Machines Corporation | Universal image processing module |
US5402170A (en) | 1991-12-11 | 1995-03-28 | Eastman Kodak Company | Hand-manipulated electronic camera tethered to a personal computer |
US5315700A (en) * | 1992-02-18 | 1994-05-24 | Neopath, Inc. | Method and apparatus for rapidly processing data sequences |
US5623604A (en) * | 1992-11-18 | 1997-04-22 | Canon Information Systems, Inc. | Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral |
US5365596A (en) * | 1992-12-17 | 1994-11-15 | Philip Morris Incorporated | Methods and apparatus for automatic image inspection of continuously moving objects |
US5513382A (en) | 1993-03-31 | 1996-04-30 | Motorola, Inc. | Multi-ceramic layer switch circuit |
US5452375A (en) * | 1993-05-24 | 1995-09-19 | Sagem S.A. | Digital image processing circuitry |
US5739850A (en) | 1993-11-30 | 1998-04-14 | Canon Kabushiki Kaisha | Apparatus for improving the image and sound processing capabilities of a camera |
US5764817A (en) | 1994-01-19 | 1998-06-09 | Matsushita Electric Industrial Co., Ltd. | Image processing apparatus for effecting a series of processes |
US5734425A (en) | 1994-02-15 | 1998-03-31 | Eastman Kodak Company | Electronic still camera with replaceable digital processing program |
US5563655A (en) | 1994-02-28 | 1996-10-08 | Eastman Kodak Company | Intelligent digital image storage for an electronic camera |
US5477264A (en) | 1994-03-29 | 1995-12-19 | Eastman Kodak Company | Electronic imaging system using a removable software-enhanced storage device |
US5642444A (en) * | 1994-07-28 | 1997-06-24 | Univ North Carolina | Specialized image processing system architecture and method for image data arrays |
US5606365A (en) | 1995-03-28 | 1997-02-25 | Eastman Kodak Company | Interactive camera for network processing of captured images |
US5568192A (en) * | 1995-08-30 | 1996-10-22 | Intel Corporation | Method and apparatus for processing digital video camera signals |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060062491A1 (en) * | 2004-09-17 | 2006-03-23 | Chen Ernest P | Techniques for image processing |
US20100279418A1 (en) * | 2009-05-04 | 2010-11-04 | Loren Robert Larson | Glucose meter adaptable for use with handheld devices, and associated communication network |
US20110090370A1 (en) * | 2009-10-20 | 2011-04-21 | Apple Inc. | System and method for sharpening image data |
US20110090242A1 (en) * | 2009-10-20 | 2011-04-21 | Apple Inc. | System and method for demosaicing image data using weighted gradients |
US20110090371A1 (en) * | 2009-10-20 | 2011-04-21 | Apple Inc. | System and method for detecting and correcting defective pixels in an image sensor |
US8593483B2 (en) | 2009-10-20 | 2013-11-26 | Apple Inc. | Temporal filtering techniques for image signal processing |
US8259198B2 (en) | 2009-10-20 | 2012-09-04 | Apple Inc. | System and method for detecting and correcting defective pixels in an image sensor |
US8294781B2 (en) | 2009-10-20 | 2012-10-23 | Apple Inc. | System and method for sharpening image data |
US8330772B2 (en) | 2009-10-20 | 2012-12-11 | Apple Inc. | Image signal processor front-end image data processing system and method |
US8358319B2 (en) | 2009-10-20 | 2013-01-22 | Apple Inc. | System and method for processing image data using an image processing pipeline of an image signal processor |
US8638342B2 (en) | 2009-10-20 | 2014-01-28 | Apple Inc. | System and method for demosaicing image data using weighted gradients |
US8472712B2 (en) | 2009-10-20 | 2013-06-25 | Apple Inc. | System and method for applying lens shading correction during image processing |
US20110138371A1 (en) * | 2009-12-04 | 2011-06-09 | Kabushiki Kaisha Toshiba | Compiling device and compiling method |
US8413123B2 (en) * | 2009-12-04 | 2013-04-02 | Kabushiki Kaisha Toshiba | Compiling device and compiling method |
US8525895B2 (en) | 2010-07-29 | 2013-09-03 | Apple Inc. | Binning compensation filtering techniques for image signal processing |
US8493482B2 (en) | 2010-08-18 | 2013-07-23 | Apple Inc. | Dual image sensor image processing system and method |
US8922704B2 (en) | 2010-09-01 | 2014-12-30 | Apple Inc. | Techniques for collection of auto-focus statistics |
US9398205B2 (en) | 2010-09-01 | 2016-07-19 | Apple Inc. | Auto-focus control using image statistics data with coarse and fine auto-focus scores |
US8531542B2 (en) | 2010-09-01 | 2013-09-10 | Apple Inc. | Techniques for acquiring and processing statistics data in an image signal processor |
US8605167B2 (en) | 2010-09-01 | 2013-12-10 | Apple Inc. | Flexible color space selection for auto-white balance processing |
US8736700B2 (en) | 2010-09-30 | 2014-05-27 | Apple Inc. | Techniques for synchronizing audio and video data in an image signal processing system |
US8488055B2 (en) | 2010-09-30 | 2013-07-16 | Apple Inc. | Flash synchronization using image sensor interface timing signal |
US8508612B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
US8643770B2 (en) | 2010-09-30 | 2014-02-04 | Apple Inc. | Flash synchronization using image sensor interface timing signal |
US8508621B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image sensor data formats and memory addressing techniques for image signal processing |
US8786625B2 (en) | 2010-09-30 | 2014-07-22 | Apple Inc. | System and method for processing image data using an image signal processor having back-end processing logic |
US8471932B2 (en) | 2010-09-30 | 2013-06-25 | Apple Inc. | Spatial filtering for image signal processing |
US9344613B2 (en) | 2010-09-30 | 2016-05-17 | Apple Inc. | Flash synchronization using image sensor interface timing signal |
US8629913B2 (en) | 2010-09-30 | 2014-01-14 | Apple Inc. | Overflow control techniques for image signal processing |
US9031319B2 (en) | 2012-05-31 | 2015-05-12 | Apple Inc. | Systems and methods for luma sharpening |
US9317930B2 (en) | 2012-05-31 | 2016-04-19 | Apple Inc. | Systems and methods for statistics collection using pixel mask |
US9014504B2 (en) | 2012-05-31 | 2015-04-21 | Apple Inc. | Systems and methods for highlight recovery in an image signal processor |
US9025867B2 (en) | 2012-05-31 | 2015-05-05 | Apple Inc. | Systems and methods for YCC image processing |
US8917336B2 (en) | 2012-05-31 | 2014-12-23 | Apple Inc. | Image signal processing involving geometric distortion correction |
US9077943B2 (en) | 2012-05-31 | 2015-07-07 | Apple Inc. | Local image statistics collection |
US9105078B2 (en) | 2012-05-31 | 2015-08-11 | Apple Inc. | Systems and methods for local tone mapping |
US9131196B2 (en) | 2012-05-31 | 2015-09-08 | Apple Inc. | Systems and methods for defective pixel correction with neighboring pixels |
US9142012B2 (en) | 2012-05-31 | 2015-09-22 | Apple Inc. | Systems and methods for chroma noise reduction |
US8953882B2 (en) | 2012-05-31 | 2015-02-10 | Apple Inc. | Systems and methods for determining noise statistics of image data |
US9332239B2 (en) | 2012-05-31 | 2016-05-03 | Apple Inc. | Systems and methods for RGB image processing |
US8872946B2 (en) | 2012-05-31 | 2014-10-28 | Apple Inc. | Systems and methods for raw image processing |
US9342858B2 (en) | 2012-05-31 | 2016-05-17 | Apple Inc. | Systems and methods for statistics collection using clipped pixel tracking |
US8817120B2 (en) | 2012-05-31 | 2014-08-26 | Apple Inc. | Systems and methods for collecting fixed pattern noise statistics of image data |
US9710896B2 (en) | 2012-05-31 | 2017-07-18 | Apple Inc. | Systems and methods for chroma noise reduction |
US9743057B2 (en) | 2012-05-31 | 2017-08-22 | Apple Inc. | Systems and methods for lens shading correction |
US9741099B2 (en) | 2012-05-31 | 2017-08-22 | Apple Inc. | Systems and methods for local tone mapping |
US11089247B2 (en) | 2012-05-31 | 2021-08-10 | Apple Inc. | Systems and method for reducing fixed pattern noise in image data |
US11689826B2 (en) | 2012-05-31 | 2023-06-27 | Apple Inc. | Systems and method for reducing fixed pattern noise in image data |
Also Published As
Publication number | Publication date |
---|---|
US5991465A (en) | 1999-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE38911E1 (en) | Modular digital image processing via an image processing chain with modifiable parameter controls | |
US6157394A (en) | Flexible digital image processing via an image processing chain with modular image processors | |
US6028611A (en) | Modular digital image processing via an image processing chain | |
US5861918A (en) | Method and system for managing a removable memory in a digital camera | |
US6765612B1 (en) | Method and system for naming images captured by a digital camera | |
US7602424B2 (en) | Method and apparatus for automatically categorizing images in a digital camera | |
US8488908B2 (en) | System and method for capturing adjacent images by utilizing a panorama mode | |
US6154576A (en) | System and method for anti-aliasing of text overlays on electronic images | |
US7197192B2 (en) | System and method for capturing adjacent images by utilizing a panorama mode | |
US6134606A (en) | System/method for controlling parameters in hand-held digital camera with selectable parameter scripts, and with command for retrieving camera capabilities and associated permissible parameter values | |
US7092012B2 (en) | Image processing apparatus and method, storage medium, and communication system | |
EP0929970B1 (en) | Systematic image group formation | |
EP0927489B1 (en) | A method and system for displaying images in the interface of a digital camera | |
US6169575B1 (en) | Method and system for controlled time-based image group formation | |
US6177956B1 (en) | System and method for correlating processing data and image data within a digital camera device | |
US6798924B2 (en) | System and method for displaying an image indicating a positional relation between partially overlapping images | |
WO2000005875A1 (en) | System and method for automatic analysis and categorization of images in an electronic imaging device | |
CN1229963C (en) | Image mark for post processing | |
US5986701A (en) | Method and system of grouping related images captured with a digital image capture device | |
US20030090585A1 (en) | Method and apparatus for providing live view and instant review in an image capture device | |
US20100118169A1 (en) | Apparatus and methods for controlling image sensors | |
US20080024613A1 (en) | Digital camera and function appending method for the same | |
JP2004534341A (en) | Method and system for reducing the frequency of updating image processing means | |
KR102495763B1 (en) | Electronic device and method for correcting images corrected by a first image processing mode in external electronic device using a second image processing mode | |
US20070143467A1 (en) | Data storage device and data storage method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |