The Nikon Expeed image/video processors (often styled EXPEED) are supercomputer derived media processors for Nikon's digital cameras. They perform a high number of tasks: Bayer filtering, demosaicing, image sensor corrections/dark-frame subtraction, image noise reduction, image sharpening, image scaling, gamma correction, image enhancement/Active D-Lighting, colorspace conversion, chroma subsampling, framerate conversion, lens distortion/chromatic aberration correction, image compression/JPEG encoding, video compression, display/video interface driving, digital image editing, face detection, audio processing/compression/encoding and computer data storage/data transmission.
The used multi-processor system on a chip solution integrates an image processor in multi-core processor architecture, with even each single processor-core able to compute many instructions/operations in parallel. Storage- and display-interfaces and other modules are added and a digital signal processor (DSP) increases the number of simultaneous computations. An on-chip 32-bit microcontroller initiates and controls the operation and data transfers of all processors, modules and interfaces and can be seen as the main control unit of the camera. The Expeed is an application-specific integrated circuit (ASIC) built by Fujitsu specifically for Nikon designs according to Nikon specifications.
The Nikon Expeed are based on the Fujitsu Milbeaut imaging processors with 16-bit per pixel multi-core FR-V processor architecture, using a highly parallel, pipelined architecture which allows efficient hardware use, increasing throughput and reducing power consumption. Each core is using an 8-way 256-bit very long instruction word (VLIW, MIMD) and is organized in a 4-unit superscalar pipelined architecture giving a peak performance of up to 28 instructions per clock cycle and core. Due to the used 4-way single instruction, multiple data (SIMD) vector processor units, data is processed with up to 112 data operations per cycle and core.
An on-chip 32-bit Fujitsu FR RISC microcontroller core is used to initiate and control all processors, modules and interfaces. The Expeed versions designated EI-14x and the Expeed 2 and 3 additionally include a HD video codec engine (FR-V based) and an 16-bit DSP with separate on-chip 4-block Harvard RAM which is usable for example for additional image- and audio-processing. The Expeed 3 (FR) (EI-158/175) is based on an improved Expeed 2 EI-154 with greatly increased processing speed.
A new architecture in the Expeed 3 (ARM) offers a highly increased speed in its image processor (with even two pipelines on the EI-160), its H.264 video encoder and is controlled with a dual-core ARM architecture microcontroller.
Image sensor interface 
CMOS/CCD image sensors are connected with additional external ICs, Nikon drivers, with the exception of the Nikon D3100. This is done by a mixed analog/digital interface which controls the sensor digitally, but receives analog signals with parallel on-chip 14-bit analog-to-digital (A/D) converters. The Expeed variants EI-142 and EI-158 use Nikon ASICs to connect all full-frame (FX) digital SLR sensors and additionally the Nikon D300/D300s with 12 simultaneous, parallel analog signal readout channels. Mainly due to a larger settling time it allows improved conversion accuracy compared to the 4-channels in the previous Nikon D2X / D2Xs, Nikon D200 or the Canon EOS 5D Mark II. 6-channel readout is supported by the EI-149 and EI-154 used on the D90, D5000, D7000 and D5100.
The D3100 uses an Analog Devices sensor interface with integrated analog-to-digital converters. The result is a dynamic range only at the level of competitors like the (higher priced) Canon EOS 600D; lower than other Nikon DSLRs with the same Expeed 2 variant.
The Expeed EI-15x and EI-17x A/D converters allow an increased image sensor readout clock frequency with improved A/D converter accuracy, especially when using 14-bit. Expeed A/D converters used for EI-149 or all EI-142 need considerably reduced clock rates (1.8 fps on Nikon D3X) for higher accuracy, limiting for example the D3s dynamic range at low ISOs.
Video processor 
The first variant EI-14x originally included an video encoder capable of processing VGA resolution with 30 frames per second and MPEG-4 encoding. The software based video processor realized with FR-V processors enabled a reprogramming: By using Motion JPEG encoding with 24p frame rate, Nikon achieved 720p HD video resolution. The advantages are easy JPEG image extraction, no motion compensation artifacts and low processing power enabling higher resolution, and the disadvantage is a larger file size, nearly reaching the 2 GB limit (for full compatibility) in 5 minutes. The Nikon D90 was the first DSLR with video recording capabilities.
The Expeed 2 (variant EI-154) greatly expanded the capabilities by its 1080p H.264/MPEG-4 AVC HD video encoder. It also offers an increased image sensor analog signal readout clock rate, reducing rolling shutter.
Compared to competitors from Canon (DIGIC, "IPP" compression – MPEG-2 equivalent: Only one previous frame analyzed) the Expeed 2 offers video compression based on complex B-frames (bi-directional differencing between frames and motion prediction), which has the advantage of higher quality (lower motion blur based on better motion compensation) even with significant higher compression ratio. This compression requires considerably higher computing power. In 2012 the Canon 5D Mark III introduced a similar compression called "IPB". Also introduced was "All-I", which uses the simpler I‑frames (coded pictures) without processing any differences between them, but using a low compression (high data rate) and behaves also in other uses like image extraction quite similar to Motion JPEG formerly used by Nikon.
The Expeed 3 (FR) (variants EI-158 and EI-175) offers no significant change, but introduced the first DSLRs to offer uncompressed video output (8bit 4:2:2) over HDMI: Nikon D4, Nikon D800/D800E, Nikon D600 and Nikon D5200. The Expeed 3 (ARM) introduced high-speed video (slow-motion) in its enhanced H.264 HD video engine.
Fujitsu specifies each Milbeaut generation with different numbers of processors. Nikon gives no details, but uses different designated processors in its professional and consumer lines. Although the Milbeaut (Expeed) is used in different Nikon designs and by other manufacturers, the software/firmware specifies many of its functions and details and the number of processors or included modules may vary in this ASIC.
First used in the Nikon D3 and Nikon D300 in 2007. Later additionally in the Nikon D3X, Nikon D700 and Nikon D300s, marked EI-142, and the consumer line variant with reduced processor cores in the Nikon D90 and Nikon D5000, marked EI-149. It is based on an Fujitsu Milbeaut imaging-processor with 720p Motion JPEG video encoder, DSP and FR-80 (EI-14x versions) core. It uses 90 nanometer process technology.
The variant EI-137 in the Nikon D60 and Nikon D3000 – additionally found in the Nikon D40, Nikon D40x and Nikon D80 – is based on the older Milbeaut M-3 in 180 nanometer technology (like all former Expeed/Milbeaut since 2001), includes an FR-71 core with only 12-bit, 2-channel image sensor readout, no DSP, slower memory and more features are reduced.
Expeed 2 
1080p H.264/MPEG-4 HD video encoder, improved face detection, image noise reduction and image distortion correction are the main improved features compared to EI-14x Expeeds. Used in the Nikon D7000, Nikon D3100 and Nikon D5100 and Nikon marked EI-154. Although image sensor readout clock frequency has increased by a factor of 1.75, A/D converter accuracy is improved, especially when using 14-bit. Image processor performance is increased, performing a higher continuous shooting frame rate even when high ISO noise reduction or Active D-Lighting is activated. The Expeed EI-15x are controlled by an integrated FR-81 core. Power consumption is also decreased by the Fujitsu 65 nm process.
Expeed 2 (rebranded Expeed 1) 
The Nikon D3s processor – although named Expeed 2 – uses nearly the same EI-142 processor as the previous D3/D3X featuring for example only 720p Motion JPEG video. It offers the same image sensor interface with identical speed and A/D converter accuracy, limiting the D3s dynamic range at 200 and especially 100 ISOs lower as the D7000/D5100.
Expeed C2 
Variant used in some Coolpix compact cameras. Cheaper Nikon compact cameras use Sanyo or Zoran Coach image/video processors; both with a totally different technology with different firmware compared to the Expeed.
Expeed 3 
Expeed 3 (FR) 
Compared to the previous Expeed 1 (EI-142), it offers the same improvements as the Expeed 2 EI-154 with Fujitsu 65 nm process, including increased A/D converter accuracy and image sensor analog signal readout clock rate, reducing rolling shutter. Computing power is highly increased. Marked EI-158, this variant is used by the Nikon D4 and Nikon D800. The EI-158 was the first Expeed to offer uncompressed video output (8bit 4:2:2) over HDMI.
The Nikon D600 (teardown), Nikon D3200 and Nikon D5200 (teardown) use an Expeed 3 (EI-175, differently marked ML-1131 on D5200), which is, according to Nikon, the same as used for the D4 and D800 series. Its architecture is close to the Expeed 2 variant EI-154 with some improvements like DDR3 memory, and with increased computing power. The D5200 uses a package on package with 4 Gb DDR3 DRAM on top.
Expeed 3 (ARM) 
In the Nikon 1 series September 2011 Nikon introduced a new largely changed architecture: As the main control unit it uses an ARM microcontroller which requires new firmware compared to the totally different Fujitsu FR microcontroller used in all former Milbeaut and Expeed processors. It is also the first Expeed using digital image sensor readout: No analog image sensor interface is needed. In the Nikon 1 cameras introduced September 2011 it uses 1GByte fast DDR2 RAM packaged in 2x 4Gbit chips. Nikon marked EI-160, manufactured in the Fujitsu 65 nm process.
High-speed dual multi-core image-processing engines with world record (Nikon claim) 600 megapixels per second speed, enhanced H.264 HD video engine and controlled by a dual-core ARM microcontroller are the main improvements. Its high speed allows the world's fastest speed (Nikon claim) of 60 frames per second (10 fps with full autofocus).
Expeed 3A 
The Expeed 3A, a successor to the Expeed 3 EI-160 used in the Nikon 1 series, was first released in the Nikon 1 V2 and mainly features an increased world record image-processing speed of up to 850 megapixels per second. This enables 60 frames per second (15 fps with full autofocus) speed even with the new 14 megapixel image sensor. It is developed exclusively for Nikon 1 cameras.
Unofficial Expeed DSLRs 
The Expeed processor variant EI-137 is found in the Nikon D40, Nikon D40x and Nikon D80 – as it is officially in the later released Nikon D60 and Nikon D3000.
Early DSLRs 
DSLRs announced before August 2006 are not containing processors named Expeed (for example Nikon D70/D70s processor: EI-118), although that does not mean that these processors use a different architecture. Or the Nikon D200 processor (EI-126) uses the same, but greatly expanded firmware as the D80 (unofficial "Expeed").
Additional (co-)processors 
As input/output (I/O) processor Nikon uses external 32-bit microcontrollers to connect additional sensors and displays: Viewfinder, top-display, flash (Speedlight)/hot shoe, shutter/aperture motors, metering/autofocus sensors and lens/battery grip/battery control. Used variants are the Fujitsu FR in the Expeed EI-14x series, which changed to MIPS architecture in the Expeed EI-15x and EI-17x series. The ARM-based Expeed in the Nikon 1 series with its dual ARM core needs no additional I/O processors. Former DSLRs used Hitachi/Renesas H8S microcontrollers.
Alternative firmware 
As with CHDK/Magic Lantern modified Canon digital cameras based on DIGIC processors, the group of programmers "Nikon Hacker" tries to write custom firmware with some recent progress including an FR emulator for some DSLRs. It was shown that Nikon uses the Softune integrated development environment together with an µITRON realtime kernel. Currently there is some modified firmware available mainly removing time based video and uncompressed NEF files restrictions, but there is no stable alternative firmware available, as the project is still in an early state.
The Nikon supplied firmware-updates normally include the firmware A for the I/O processor and the firmware B to control Expeeds by integrated FR microcontrollers (different for the ARM-based Expeed 3).
Project tasks 
Besides a general analysis of the hardware and software, the project focuses on:
- Removing 5 minutes time video restrictions: Some modified firmware available
- Uncompressed NEF files: Some modified firmware available
- WU-1a Wireless Mobile Adapter modifications to make it usable for other cameras
- Uncompressed video (Clean HDMI Output) for the D5100 and others
- Analysis and decryption of Nikon battery communication
- Analysis of Wireless Transmitter WT-3 and its communication
- Development of an Nikon Emulator
DIAG raw hack 
This was not a firmware hack, but a method (Photopc – digital camera control) to call an already implemented diagnostic mode on some old Nikon Coolpix cameras with Fujitsu Sparclite processor. In this mode they could write raw images.
See also 
- Nikon: Nikon's original digital image-processing concept “Expeed”
- Fujitsu: FR-V single-chip multicore processor
- Fujitsu: Milbeaut Imaging Processors
- Fujitsu: Image processing system for digital cameras: Milbeaut M-4
- Nikon Hacker: Camera Matrix
- Photo-Parts: Nikon DSC models + components search result
- Fujitsu Develops Multi-core Processor for High-Performance Digital Consumer Products
- Nikon: Expeed3 (D-SLR series)
- Fujitsu Releases 6th Generation of Milbeaut Imaging Processors
- Nikon FX-Format CMOS Sensor Nikon
- CNET: Nikon D4 arrives after leaks turn into flood
- NPhoto: Nikon D800 gets official: specs, release date and price
- Canon 5D Mark III vs 5D Mark II Vs NikonD800 VsNikon D700
- Dxomark: Nikon D3200 and others: Compare cameras side by side
- Sensor Analysis Primer – Engineering and Photographic Dynamic Range by Bill Claff
- ActionPhotos by Marianne: ISO 800 SNR: Nikon D800 compared
- DXOmark Sensor ratings (needs Flash)
- Imaging resource: Exclusive: Interview with Masahiro Suzuki, General Manager R&D, Nikon Imaging Company
- Fujitsu Releases Three New "FR-V Family" Processors for Media Processing Fujitsu
- Introducing The FR500 Embedded Microprocessor
- Imaging-resource: Nikon D4 Hands-on Preview
- MPEG-2 and Video Compression Dr.Dobbs
- Understanding EOS HD Compression Options Canon
- Canon Tips Off Enhanced Capabilities of Its New Image Processor
- Nikon D800/D800E: D-Movie shooting functions Nikon
- Video Compression Apple
- EOS-1D X: Video Shooting Workflow: New “ALL-I” video compression Cyberscholar
- Photo.net: Nikon D80 Review
- Patent: Distortion correction circuit for generating distortion-corrected image using data for uncorrected image
- Chipworks: Teardown of the Nikon D7000 DSLR
- ifixit: Nikon D5100 Teardown
- Imaging-resource: Nikon D3S Full Review
- Imaging-resource: Nikon D3X Full Review
- DXOmark: Nikon D3s: Comparison dynamic range (needs Flash)
- Nikon: D4, 16.2 megapixel resolution and full-frame FX format
- Nikon D800/D800E: Nikon FX-format CMOS sensor with 36.3 effective megapixels
- Nikon D600 Teardown ifixit
- Inside the Nikon D5200 DSLR – Toshiba found! Chipworks
- D600 image quality: Image-processing engine EXPEED 3 Nikon.com
- Nikon Expeed 3 Nikon USA
- Nikon 1 V2 specifications Nikon Europe
- Advanced Camera with Interchangeable Lenses Nikon 1 V2 Nikon
- Nikon D70s Firmware Hack
- Chipworks: Teardown of the Nikon V1 camera – Aptina Found!
- Nikon Corporation using Renesas flash microcomputers Renesas
- Personal-view: Nikon D5100 firmware is decrypted
- Simeon Pilgrim: How to decode the Nikon DSLR firmware
- Nikon Hacker: Board Index
- Nikon Rumors: Nikon firmware emulator now available
- Nikon patch simeonpilgrim.com
- Understanding Firmware Nikonhacker Wiki
- NikonEmulator Nikonhacker Wiki
- Digital Cameras on Fujitsu chipset
|Nikon DSLR and MILC timeline (comparison)|