A complete camera pipeline in hardware, from sensor to compressed image.
MIPI-CSI-2 capture, sensor correction, demosaic, colour and tone, then JPEG — an entire image-signal pipeline realised as RTL, where every algorithm choice is also an FPGA-area and image-quality decision.
DomainFPGA image-signal pipeline (ISP)
PlatformsFaststream Vision · Silicon
ScopeAlgorithm modelling to RTL and verification
Binding constraintImage quality vs FPGA area, at every stage
DisclosureProperty level; customer not named
CONTEXT
Where this started.
A camera does not produce an image. A sensor produces a stream of raw, mosaiced, noisy samples, and everything a viewer would call a photograph happens afterwards — in the image-signal pipeline that corrects, reconstructs, colours and compresses it. Moving that pipeline into an FPGA means every stage stops being a library call and becomes an area, timing and memory decision.
The reference for each stage is a floating-point model. The hardware is not. So the real work is two problems at once: choosing algorithms that give the image quality the application needs, and realising them in fixed-point RTL that fits the fabric and closes timing at the sensor's pixel rate. The two problems are coupled — the cheaper algorithm is usually the lower-quality one — and the coupling is present at every stage from black-level correction to the JPEG entropy coder.
CHALLENGES
4 problems, named.
Stated before they had answers. The order of the pipeline is fixed by physics; what is negotiable is how much quality each stage buys and how much fabric it costs.
01
Every stage trades quality against area
The same demosaic or sharpening block can be excellent or cheap, rarely both. Made stage by stage without a model, those choices only reveal their cost after place-and-route.
02
The reference is floating point; the hardware is not
Each stage has to become fixed point without visible artefacts. Word lengths are a design variable, not a default, and the wrong one shows up as banding, colour shift or lost detail.
03
Buffering dominates the memory
Demosaic, noise reduction, sharpening and the DCT all need neighbours or whole blocks. Line and block buffers, not the arithmetic, decide whether the pipeline fits on the device.
04
Getting the pixels off the sensor
Before any processing there is MIPI-CSI-2 or parallel capture, sensor configuration over I²C, and formatting the raw stream — the part that must be right before a single correction can run.
ARCHITECTURE
How the system was built.
Three streaming stages on one device: capture and sensor preprocessing, colour/tone correction and enhancement, then JPEG encoding. The stages that decide perceived quality — demosaic, the colour-correction matrix, sharpening and the DCT — are the ones where the area and fixed-point decisions bite hardest. Underneath all of them sit the four things that never appear as a block but consume the schedule: performance/area modelling, fixed-point conversion, image-buffering optimisation, and verification against a golden reference.
CONTRIBUTION
What Faststream did.
The specific scope, rather than a capability list.
Sensor data acquisition — MIPI-CSI-2 or parallel capture, sensor configuration over I²C, and raw-stream formatting and buffering.
Colour and tone correction — white balance, a pre-calibrated colour-correction matrix, gamma, contrast and sharpening.
JPEG compression — RGB-to-YCbCr, chroma subsampling and block partitioning, 2D DCT, quantisation, zig-zag reordering, entropy coding and the JPEG formatter.
Performance and area modelling — each stage characterised for throughput and FPGA resource before commitment.
Algorithm evaluation — image-quality against FPGA-area trade-offs made explicit per stage.
Fixed-point conversion — word-length selection so the hardware matches the floating-point reference.
Image-buffering optimisation — line and block buffering schemes sized to fit the device.
RTL design and verification — the full pipeline in RTL, verified stage by stage against the model.
WHAT WAS HARD
The parts that consumed the schedule.
Rarely the stage that sounds difficult. Written out because a reader facing the same programme gets more from this than from a summary of what went well.
01
Fixed point without visible artefacts
Every stage carries quantisation error, and the errors accumulate down the pipeline. Choosing word lengths so the compressed output still matches the reference — and knowing which stages are sensitive — took more care than the arithmetic itself.
02
Buffering, not arithmetic, sets the size
Line and block buffers for demosaic, filtering and the DCT dominate on-chip memory. The buffering scheme was designed early, because it decides whether everything else fits.
03
Quality is won or lost at demosaic and sharpening
These two stages set most of the perceived quality and cost. A cheaper interpolation looks fine on a test chart and fails on real edges, so the evaluation used representative images, not synthetic ones.
04
Conversion efficiency is a curve, not a number
The JPEG quantiser trades file size against quality continuously. A single quality setting describes one operating point; the design had to behave across the range the application actually uses.
05
Verifying an image, not a value
Correctness is perceptual as well as numeric, so verification compared each stage's fixed-point output to the golden model and exercised the whole chain across images, rather than checking a handful of vectors.
OUTCOME
What resulted.
A complete sensor-to-JPEG pipeline in RTL
Capture, sensor correction, demosaic, colour and tone correction and JPEG compression integrated as one streaming design and verified against the reference.
Trade-offs modelled, not discovered
Image-quality against FPGA-area was decided per stage from models, so resource use was a design output rather than a place-and-route surprise.
Fixed point matched to the reference
Word lengths were chosen so the hardware output tracks the floating-point model without visible artefacts across representative images.
Reusable ISP building blocks
The stages are parameterised and reusable across sensors and formats, rather than tuned to a single camera.
Confidentiality
Customer projects are presented at property, capability, outcome and integration level. Customer names, internal architecture, register maps and confidential deliverables are not disclosed. Where a figure would identify a customer or a design, it is omitted rather than approximated. More detail is available under a non-disclosure agreement, within the limits each customer has agreed.
What is an image-signal processing (ISP) pipeline?
The chain that turns raw sensor output into a usable image: sensor capture and correction, demosaicing, colour and tone correction, and encoding or compression. In hardware, each stage is both an algorithm choice and an FPGA-area and image-quality decision.
02
Why convert an image pipeline to fixed-point?
An FPGA implementation cannot carry the floating-point precision of a reference model economically. The pipeline is converted to fixed point stage by stage, with word lengths chosen so the hardware output matches the reference without visible artefacts.
03
Why does image buffering dominate an FPGA ISP?
Several stages need neighbouring pixels or whole blocks — demosaic, noise reduction, sharpening, DCT — so line and block buffers consume most of the on-chip memory. The buffering scheme often decides whether the pipeline fits at all.
04
How is image quality traded against FPGA area?
The same stage — demosaic, sharpening, chroma handling — can be excellent or cheap, rarely both. Each choice is modelled for image quality and for FPGA area so the trade-off is made deliberately rather than discovered after place-and-route.
05
What does the JPEG stage involve in hardware?
Colour-space conversion to YCbCr, chroma subsampling and block partitioning, a 2D discrete cosine transform, quantisation, zig-zag reordering, entropy coding (DPCM, run-length and Huffman) and a JPEG formatter — all as streaming RTL.
06
How is a hardware image pipeline verified?
Against a golden reference, stage by stage: each block's fixed-point output is compared to the model, and the full pipeline is exercised across representative images so quality regressions are caught before silicon or deployment.
Tell us the sensor, the quality target and the device. Image pipelines that have to close in fixed point on real fabric are where Faststream is strongest.