Wire a sensor module to an embedded processor and the first live images usually disappoint: washed-out color, soft edges, noise in the shadows. The sensor is fine and the processor is fine. The image signal processor (ISP) between them is running coefficients written for a different sensor and a different lens. This page explains what the ISP does to RAW data, which blocks tuning actually changes, when to bypass the ISP entirely, and how a SerDes camera link moves the sensor metres from the processor without giving up frame rate. You will leave with the decisions to make before the board spins, plus the arithmetic to check a camera link.
What the ISP does to RAW sensor data
A CMOS sensor hands the processor RAW Bayer data: one color value per pixel behind a mosaic filter, sitting on a black-level offset and fixed-pattern noise. The ISP's job is to turn that into usable RGB or YUV. The pipeline, in its usual order:
- black-level clamp and dead-pixel correction
- lens shading correction, equalizing brightness and color from center to corner
- demosaic, rebuilding three color values per pixel from the mosaic
- white-balance gains and the color correction matrix
- gamma and tonal mapping
- sharpening, plus spatial or temporal noise reduction
- the auto-exposure and auto-gain control loop
Tuning is the process that sets every one of those blocks for your sensor. If you have never seen what a raw sensor stream without an ISP looks like, it is the green-tinted, dark, mosaic-patterned input to this chain. Knowing how to tell a Bayer raw stream from processed RGB saves an hour of misdirected color debugging later.
Why tuning is written per sensor and per lens
None of those coefficients is generic. White-balance gains and the color correction matrix depend on the sensor filter's spectral response. Shading tables depend on the lens, its falloff and its vignetting. Noise-reduction thresholds depend on pixel size and full well, because smaller pixels collect fewer photons at the same f-number and scene, so shot noise bites earlier in the gain range.
The LS-BCM-0056 is a 12 MP board camera with 1.6 μm × 1.6 μm pixels. At that pitch the noise model the ISP needs differs sharply from a 3.45 μm-class sensor, and the gain point where noise reduction ramps up moves with it. Board lenses argue the same way from the optical side: the MV-CB016-10GM-M-W is a 1.6 MP GigE board camera with an M12 lens mount. M12 board lenses are short and wide, which is exactly the combination that produces strong corner shading and color shift, and the shading tables must absorb all of it.
- Sensor format
- 1/2.9"
- Lens mount
- M12
- Sensor format
- 1/2"
- Lens mount
- C-mount
What tuning changes, and what it cannot
Tuning measurably moves four things: color accuracy, through the white point and the correction matrix; perceived sharpness, through demosaic plus sharpening; shadow noise, through where and how hard noise reduction engages; and tonal range, through the gamma curve and highlight roll-off. It also sets exposure behavior, meaning how fast auto-exposure reacts and where it gives up.
It cannot change what the sensor captured. Motion blur is exposure time times object speed. Rolling-shutter skew is fixed by readout time. Shot noise is photon statistics. Resolution is lens MTF. Sharpening raises edge contrast, and heavy settings add halos, but no coefficient reconstructs detail the optics never delivered. Detection models feel this directly: aggressive noise reduction erases the fine texture a model keys on, and over-sharpened halos shift edge locations. If the images feed a detector, tune with that detector in the loop, not just with human eyes.
When to bypass the ISP
For mono gauging and metrology the ISP is often a liability. Gamma, noise reduction and sharpening are nonlinear, and an auto-exposure loop makes pixel values drift frame to frame. The repeatable recipe is a mono sensor, or RAW from a color sensor, with exposure and gain fixed, the ISP bypassed, and flat-field correction applied in your own code. The camera then stays linear and comparable over months.
Bit depth matters on this path. Sensors output 10 or 12 bits, and a default pipeline may hand you 8. Why 10-bit sensors ship 8-bit images explains where the bits go; keep the depth end to end if your thresholds sit near the noise floor. You can also run correction inline on the board and still capture raw for measurement, the split MIPI CSI RAW ISP inline processing on embedded boards works through.
Moving the sensor away: MIPI CSI-2 versus SerDes
MIPI CSI-2 is a chip-to-chip interface: short flex circuits and board traces, a few tens of centimetres, several lanes at up to about 2.5 Gbit/s each in common implementations. It is the right answer when the sensor mounts on or beside the processor, and the wrong one once the camera lives at the far end of a machine.
That longer job belongs to serializer/deserializer (SerDes) links of the GMSL family, which carry video, a bidirectional control channel and often camera power on one coax or shielded twisted-pair cable. GMSL2-class links run near 6 Gbit/s. The GMSL3 generation reaches 12 Gbit/s and has been shown carrying 4K at 90 fps over a 14 m coax run; the serializer family is designed for up to 15 m of coax in passenger vehicles. Comparable automotive SerDes families of the same generation sit near 4.16 Gbit/s.
| Camera link | Line rate | Practical reach | Best for |
|---|---|---|---|
| MIPI CSI-2 | up to ~2.5 Gbit/s per lane | tens of centimetres | sensor on the board |
| USB3 | 5 Gbit/s | about 3 m passive | bench and small machines |
| GigE | 1 Gbit/s | 100 m on Cat5e | machine-scale, standard vision software |
| GMSL2-class SerDes | ~6 Gbit/s | up to 15 m coax | 1080p-class remote cameras |
| GMSL3-class SerDes | up to 12 Gbit/s | up to 15 m coax | 4K at high frame rate |
Plan one camera data cable per remote head, and keep spare length out of the bend radius. When a SerDes camera powers up dark, work power and cabling before anything else: GMSL camera not detected: check capture-card power and cabling walks that isolation in order.
Worked example: does 12 Gbit/s carry 4K at 90 fps over 14 m
Inputs, each with its source:
- sensor output 3840 × 2160 pixels, the 4K UHD active array
- frame rate 90 fps
- 8-bit and 12-bit RAW depths, the common sensor output modes
- link line rate 12 Gbit/s and coax run 14 m, from the demonstrated SerDes set-up; the serializer family is designed for 15 m
The rule in words: multiply pixels per frame by frames per second to get pixel rate; multiply by bits per pixel to get payload; the payload must sit well under the line rate, because line coding, blanking and the reverse control channel consume the rest.
The arithmetic:
- 3840 × 2160 = 8,294,400 pixels per frame, about 8.3 MP
- 8,294,400 × 90 fps = 746,496,000 pixels per second
- RAW8: 746,496,000 × 8 = 5,971,968,000 bit/s ≈ 6.0 Gbit/s
- RAW12: 746,496,000 × 12 = 8,957,952,000 bit/s ≈ 9.0 Gbit/s
- headroom at RAW12: 12 − 8.96 = 3.04 Gbit/s, about 25% of the line rate
Decision: 4K at 90 fps in 12-bit RAW fits a 12 Gbit/s link with a quarter of the line rate spare, and that is the configuration the 14 m demonstration runs. Hold the line at 80% of line rate for payload; above it, drop bit depth first and frame rate second.
Now the ceiling case. A 20 MP camera such as the MV-CS200-10UM sits one class up. At 20,000,000 pixels, 90 fps and 12-bit depth the payload is 20,000,000 × 90 × 12 = 21,600,000,000 bit/s, or 21.6 Gbit/s, nearly two 12 Gbit/s links. Capped at the 80% budget, one link carries 12 × 0.8 / (20,000,000 × 12) = 40 fps. If the job needs 20 MP and speed, plan a dual link or a lower depth, not this one.
- Sensor format
- 1"
- Lens mount
- C-mount
- Interface
- USB3
- Resolution
- 16-25 MP
Size the sensor before anyone tunes it
Tuning improves the image you have; it does not buy resolution you did not purchase. Work the pixel count from the task: pixels across the sensor = field of view / smallest feature × pixels per feature, and use at least 3 pixels across the smallest feature you measure. Take a 250 mm field of view and a 0.5 mm feature: 250 / 0.5 = 500 feature widths, × 3 = 1500 pixels minimum across. The camera resolution calculator runs this with your numbers.
Shutter type is the other pre-tuning decision. A rolling shutter reads line by line, so a fast-moving part is imaged with skew no ISP block removes; a global shutter reads all lines together. The LS-BCM-0003 is a 3.1 MP USB3 board-level camera with a 1/1.8" global shutter sensor at 120 fps, the class you want on a moving line. For the wider path, the board level camera selection guide and the board-level cameras category cover mounts, interfaces and shutters model by model.
- Sensor format
- 1/1.8"
- Lens mount
- C-mount
- Interface
- USB3
- Resolution
- 5 MP
Checks before the board spins
- Coefficients exist, or are contracted, for your exact sensor part number and ISP build. Demo tuning is not production tuning.
- The lens is frozen: the final focal length and f-number are on the bill of materials before the tuning measurements start.
- Charts are captured under production lighting. A tuning made under lab panels shifts under your line's spectrum.
- Bit depth survives end to end, sensor through link to memory, if thresholds sit near the noise floor.
- The cable plan holds: coax type, length and bend radius inside the 15 m family limit, drag-chain rated if the head moves.
- The link keeps 20% headroom after the payload arithmetic above.
- Exposure mode matches the consumer: auto for monitoring, fixed for measurement.
When the usual answer is wrong
Three beliefs mislead teams here. First, the ISP will fix low light. It will not create photons; wider aperture, more light or longer exposure come first, and noise reduction only hides what remains, taking texture with it. Second, more pixels mean more detail. The lens sets the ceiling, and a high pixel count behind a soft wide board lens resolves the blur more faithfully, not less of it. Third, the ISP always helps the AI model. Models trained and deployed on consistent, minimally processed data can outperform the same model on aggressively tuned images, because halos and smoothed texture are artifacts to a detector. Decide who consumes the image, human, model or gauge, and tune for that consumer.
Where to go next
Start in the camera finder with the pixel count and shutter type you computed, or open the system configurator to walk camera, lens, light and controller in one pass. If the open question is tuning work on a specific sensor, bring the sensor part number and the lens plan to the contact page and we will scope the tuning with you.
Questions
Does ISP tuning change what the sensor captures?
No. Exposure time, gain, aperture and scene light set what the sensor captures; tuning sets how the captured data is rendered, meaning white balance, color matrix, noise reduction, sharpening and the tonal curve. A well-tuned ISP makes the most of the data it receives, but it cannot reconstruct detail the optics never delivered or remove blur from a long exposure.
How far can a SerDes camera link carry 4K at 90 fps?
The demonstrated configuration runs 4K at 90 fps over 14 m of coax on a 12 Gbit/s GMSL3-class link, and the serializer family behind it is designed for up to 15 m of coax in vehicles. GMSL2-class links near 6 Gbit/s carry 1080p-class streams on similar cable. MIPI CSI-2 is not in this race: it is a board-level interface reaching tens of centimetres.
Can you tune an embedded ISP in-house?
Yes, when the processor vendor's tuning tools support your sensor and you have a color chart, a grey-step chart and controlled lighting. Fix the lens first, capture charts under production lighting, then iterate white balance, color matrix, noise curves and sharpening, validating each pass on real scenes. Expect several days to a few weeks per sensor-and-lens pair; buy a pre-tuned module when the schedule is tighter than that.
Do I need an ISP for mono gauging?
Usually not. For gauging, bypass the ISP, fix exposure and gain, keep the sensor's linear output, and apply flat-field correction in your own code. The demosaic-to-sharpening chain applies nonlinear transforms, and an auto-exposure loop makes pixel values drift frame to frame, which undermines repeatable measurement. Keep black-level and dead-pixel correction if your pipeline exposes them separately.
How much headroom should a camera SerDes link have?
Keep the pixel payload under 80 percent of the line rate. Line coding, blanking and the reverse control channel consume the remainder. At 4K, 90 fps and 12-bit pixels the payload is 8.96 Gbit/s, so a 12 Gbit/s link runs at about 75 percent, which is workable. The same arithmetic is why 20 MP at 90 fps needs 21.6 Gbit/s and cannot ride one link.



