...
Block Diagram
Block Descriptions
DevWare Plug-in GrabFrame() Hook
Insert JPEG Header
Descramble
Deinterlace
YCbCr Column-wise Stereo Separation
Array Image Repacking
Bayer Decompression
Normalize Bayer
DevWare Plug-in RawImageData() Hook Multiple Exposure CombiningDevWare Plug-in ImageDataLinearImageData() Hook Normalize Bayer
Adaptive Local Tone Mapping
Clean JPEG
Optical Black
Auto-Exposure
Software Gain
Noise Removal
Lens Correction
Defect Correction
Local Green Balance
Noise Measurement
DevWare Plug-in ImageData() Hook
Auto-White Balance
Convert to RGB-48
Demosaic
Aperture Correction
Color Correction Matrix
Gamma Correction
Convert Original Pixel Type to RGB
ColorPipe Filter Plug-in
Digital Video Stabilization
Software Binning
Stereo Merge
Select Color Channel
Reorient
Noise Measurement
DevWare Plug-in ImageData() Hook
Auto-Focus
Calculate Focus Number
Embed Watch Data
Embed Overlays
...
The diagram below shows the image data path and each processing stage. The locations of DevWare plug-in hooks are also shown.
Anchor | ||||
---|---|---|---|---|
|
...
Compress | Select the compression type, SMIA DPCM, SMIA packing, a-Law, companding. |
BitDepth Decomp | Pixel bit depth after decompression. |
Anchor |
---|
...
|
...
|
Remarks
A DevWare plug-in implementing the RawImageData() hook can process the image here. The image format can't be changed.
Anchor | ||||
---|---|---|---|---|
|
Remarks
If the image consists of multiple separate exposures, then this block can combine the exposures into a single, linear HDR image.
STATE Variables
Linearize HDR | Enable combining multiple exposures. |
Num Exposures HDR | Number of exposures, 1 ... 4 |
Ratio T1_T2 | The intended exposure ratio between T1 and T2, as an integer. Usually a power of 2. |
Ratio T2_T3 | The intended exposure ratio between T2 and T3, as an integer. Usually a power of 2. |
Ratio T3_T4 | The intended exposure ratio between T3 and T4, as an integer. Usually a power of 2. |
Actual Ratio T1_T2 | The actual exposure ratio between T1 and T2, as a floating point string. |
Actual Ratio T2_T3 | The actual exposure ratio between T2 and T3, as a floating point string. |
Actual Ratio T3_T4 | The actual exposure ratio between T3 and T4, as a floating point string. |
Anchor | ||||
---|---|---|---|---|
|
Remarks
A DevWare plug-in implementing the LinearImageData() hook can process the image here. If there was no multiple exposure combining, then this data is the same as the RawImageData() hook. The image format can't be changed.
Anchor | ||||
---|---|---|---|---|
|
Remarks
Subtract black pedestal and rescale pixel data to 0…4095. (If raw data is less then 12 bits, then scale up to 12 bits. If raw data is more than 12 bits, then just use 12 of the bits and discard the rest, usually the 12 MSBs.) For all subsequent blocks, Bayer data is 12 bits with no pedestal.
STATE Variables
...
True Black Level | Data pedestal, proportional to True Black Scale (not to the image pixel depth). |
True Black Scale | Indicates the scale of True Black Level. For example 1024 indicates 10-bit black level value1024 indicates 10-bit black level value. |
Dynamic Range MSB | Indicate the MSB of the raw data. Set to 31 for default processing. |
Anchor |
---|
...
|
...
Remarks
A DevWare plug-in implementing the ImageData() callback can process data here if the Processed Bayer variable is 0.
STATE Variables
...
Processed Bayer
...
|
Remarks
Use a sophisticated algorithm to reduce a deep HDR image (up to 20 bits per pixel) to 12 bits while preserving color bringing out dark areas. Subtract black pedestal. Pixel data range after this block is always 0…4095. For all subsequent blocks, Bayer data is 12 bits with no pedestal.
STATE Variables
ALTM Enable | Enable ALTM processing. |
Anchor | ||||
---|---|---|---|---|
|
...
Remarks
Analyze dark rows and dark columns and correct the image rows and columscolumns.
STATE Variables
Optical Black | Optical black processing options. |
Optical Black Row Filter | Enable low-pass filtering in the vertical direction. |
Optical Black 1 Row Start | Define optical black rows in the image. |
Optical Black 1 Column Start | Define optical black columns in the image. |
...
Remarks
A DevWare plug-in implementing the ImageData() callback can process data here if the Processed Bayer variable is 1.
STATE Variables
...
Processed Bayer
...
here.
Anchor | ||||
---|---|---|---|---|
|
...
Gamma Correction | The exponent of the correction curve to generate a gamma table. |
Black Correct | Flatten the bottom of the curve of the generated gamma table. |
Contrast | 'S' curve applied to gamma curvecurve applied to gamma curve. |
Gamma Table Reset | Reset custom gamma table. |
Gamma Table ResetReset | Add or change an entry in the custom gamma table. |
Gamma Table | Add or change an entry in the custom gamma table. |
Gamma Table Select | Select the custom gamma table or the generated table. |
...
Select | Select the custom gamma table or the generated table. |
Anchor | ||||
---|---|---|---|---|
|
Remarks
For non-Bayer data (YCbCr, JPEG, etc.), convert the pixels to RGB.
STATE Variables
Filter | Select the subroutine to convert the image from the camera pixel format to RGB. |
Anchor | ||||
---|---|---|---|---|
|
Remarks
A DLL implementing the colorpipe Filter plug-in API can take over conversion of the raw data to RGB-32. This can be used for custom Demosaic, or other type of processing.
STATE Variables
Filter | Select the subroutine to convert the image from the camera pixel format to RGB. Plug-in filters will be among the choices. |
Anchor | ||||
---|---|---|---|---|
|
...