The Nikon Expeed image/video processors (often styled EXPEED) are media processors for Nikon's digital cameras. They perform a large 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.
EXPEED's multi-processor system on a chip solution integrates an image processor in multi-core processor architecture, with 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.
In each generation Nikon uses different versions for its professional and consumer DSLRs / MILCs, whereas its compact cameras use totally different architectures. This is different from for example Canons DIGIC: its professional DSLRs double the processors of its consumer DSLR series. The Expeed is an application-specific integrated circuit (ASIC) built by Socionext specifically for Nikon designs according to Nikon specifications.
- 1 Technology
- 2 Variants
- 3 Additional (co-)processors
- 4 Alternative firmware
- 5 See also
- 6 References
The Nikon Expeed is based on the Socionext 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 uses an eight-way 256-bit very long instruction word (VLIW, MIMD) and is organized in a four-unit superscalar pipelined architecture (Integer (ALU)-, Floating-point- and two media-processor-units) giving a peak performance of up to 28 instructions per clock cycle and core. Due to the used four-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 by a dual-core ARM architecture microcontroller replacing the Fujitsu FR.
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 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 four channels in the previous Nikon D2X / D2Xs, Nikon D200 or the Canon EOS 5D Mark II. six-channel readout is supported by the EI-149 and EI-154 used on the D90, D5000, D7000 and D5100.
The D3100 uses an analog device 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 sampling. 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.
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 also 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, Nikon D7100 and Nikon D5200. The Expeed 3 (ARM) introduced high-speed video (slow-motion) in its enhanced H.264 HD video engine.
Socionext 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, the Expeed was used later 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 Socionext Milbeaut imaging-processor with 720p Motion JPEG video encoder, DSP and FR-80 (EI-14x versions) core. It uses a 90 nanometer process technology.
The EI-137 variant 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, two-channel image sensor readout, no DSP, slower memory and a reduced feature set.
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-80/FR-81 core. Power consumption is also decreased by the Socionext 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.
Variant used in some Coolpix compact cameras. Cheaper Nikon compact cameras use Sanyo or Zoran Coach image/video processors; both with a completely different technology and different firmware compared to the Expeed.
Expeed 3 (FR)
Compared to the previous Expeed 1 (EI-142), it offers the same improvements as the Expeed 2 EI-154 with Socionext 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 a 4 Gbit DDR3 SDRAM on top.
Expeed 3 (ARM)
In the Nikon 1 series September 2011 Nikon introduced a new largely changed architecture – 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 1 GB fast DDR2 RAM packaged in 2x 4 Gbit chips. Nikon marked EI-160, manufactured in the Socionext 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).
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.
Expeed 4 uses a processor with ARM central controller, and is used in the Nikon D810, Nikon D750, Nikon D5300, Nikon D5500, Nikon D5600, Nikon D3300 and Nikon D7200. It offers full HD (1080p) video capture at 50/60 fps with improved contrast detection autofocus and live preview autofocus. It includes all of the features of the Expeed 3 (FR) and older versions of Expeed, plus it consumes less power.
The Nikon D4S's processor is identical to the Nikon D4, marked EI-158, using its processing power with improved software enabling 1080p video capture at 50/60fps, 11 fps photos with improved autofocus, new noise reduction with image-content variable algorithm (context-adaptive) and other improvements.
The EXPEED 5A image-processing engine is first seen in the Nikon 1 J5, which was announced April 2, 2015. In the Nikon 1 J5 it is capable of 4k Ultra HD (3840*2160) at 15 fps, Full-HD (1920*1080) at 60 fps, HD (1280*720) at 120 fps, 800 x 296 at 400 fps and 400 x 144 at 1200 fps. It can handle 20MP burst photos at 20 fps with autofocus at each frame, and even 60 fps with autofocus fixed at the first frame, but note that the buffer size is yet unknown and probably very small.
The Expeed 6A was introduced with Nikon's DL line of premium compact cameras. The 6A is able to process 4k video at 30fps and it can handle burst speeds from the full 20.8MP sensor of 20fps with autofocus or 60fps without.
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.
DSLRs announced before August 2006 do not contain 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").
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 professional series uses two or more Hitachi/Renesas H8SX controllers. Former DSLRs used H8S microcontrollers.
As with CHDK/Magic Lantern modified Canon digital cameras based on DIGIC processors, a group of programmers called "Nikon Hacker" develops custom firmware, making 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).
Besides a general analysis of the hardware and software of the D7000, D5100 and D3100 and newer cameras, the project focuses on:
- Removing 5 minutes time video restrictions: Some modified firmware available
- High quality 1080p video with up to 64mbps
- Uncompressed video (Clean HDMI Output) for the D5100 and others
- Uncompressed NEF files
- WU-1a Wireless Mobile Adapter modifications to make it usable for other cameras
- Analysis and decryption of Nikon battery communication
- Analysis of Wireless Transmitter WT-3 and its communication
- Removing third party battery blocking that Nikon introduced with some of the latest firmwares
- Development of an Nikon Emulator
The changelog shows firmware also for newer variants like D800, D610, D5200 and D3200.
DIAG raw hack
This was not a firmware hack, but a method (Photopc – digital camera control) calling an already implemented diagnostic mode on some old Nikon Coolpix cameras with Fujitsu Sparclite processors. Using this mode, they could write raw images.
- 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
- Self-adaptive algorithm of impulsive noise reduction in color images
- Context adaptive image denoising through modeling of curvelet domain statistics
- Nikon D4S - Product Tour Nikon - Youtube
- Nikon D4S Nikon
- Nikon D70s Firmware Hack
- Nikon Corporation using Renesas flash microcomputers Renesas
- Chipworks: Teardown of the Nikon V1 camera – Aptina Found!
- 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
- Nikon Patch: Changelog Simeon Pilgrim
- Digital Cameras on Fujitsu chipset