Expeed

From Wikipedia, the free encyclopedia
  (Redirected from EXPEED)
Jump to: navigation, search
Expeed logo

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.

EXPEED's 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.

In each generation Nikon uses different versions for its professional and consumer DSLRs and 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 series. The Expeed is an application-specific integrated circuit (ASIC) built by Fujitsu specifically for Nikon designs according to Nikon specifications.

Fujitsu Milbeaut M-4 block diagram used as a base for the first Nikon Expeed EI-14x produced since 2007

Technology[edit]

The Nikon Expeed is based on the Fujitsu Milbeaut imaging processors with 16-bit per pixel[1] 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 8-way 256-bit very long instruction word (VLIW, MIMD) and is organized in a 4-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 4-way single instruction, multiple data (SIMD) vector processor units, data is processed with up to 112 data operations per cycle and core.[2]

An on-chip 32-bit Fujitsu FR RISC microcontroller core is used to initiate and control all processors, modules and interfaces.[3][4][5][6][7] 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.[8][9]

CMOS Image Sensor with column and row decoders (resembling DRAM decoders) interfacing the electric charge of the photo diodes. Nikon's CMOS sensors have additionally patented integrated charge amplifiers.[10]

Image sensor interface[edit]

CMOS/CCD image sensors are connected with additional external ICs, Nikon drivers, with the exception of the Nikon D3100.[5] 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 4-channels in the previous Nikon D2X / D2Xs, Nikon D200 or the Canon EOS 5D Mark II.[11][12][13] 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;[14] 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.[15][16][17]

The Expeed 3 (ARM), first used in the Nikon 1 series, connects a data stream with 24 digital channels (bus), using A/D converters integrated on the image sensor chip.[18]

Example of a Group Of Pictures showing I-, P- and the B-frames additionally used by the Expeed 2 and higher for MPEG encoding. "All-I" has no P- and B-frames similar to Motion JPEG: Frames are separately processed, lowering redundancy detection and compression.

Video processor[edit]

The first variant, EI-14x originally included an video encoder capable of processing VGA resolution with 30 frames per second and MPEG-4 encoding.[4] The software based video processor realized with FR-V processors enabled a reprogramming:[2][19][20] 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.[15][16][17][21]

Compared to competitors from Canon (DIGIC, "IPP" compression – MPEG-2[22] equivalent: Only one previous frame analyzed[23][24]) 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.[25] This compression requires considerably higher computing power.[26] In 2012 the Canon 5D Mark III introduced a similar compression called "IPB".[23] 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.[27]

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.

Variants[edit]

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.

Nikon Expeed EI-142
Nikon D700 Motherboard with Expeed EI-142

Expeed[edit]

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 Fujitsu 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[6] – 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 a reduced feature set.[28]

Expeed 2[edit]

1080p H.264/MPEG-4 HD video encoder, improved face detection, image noise reduction and image distortion correction[29] are the main improved features compared to EI-14x Expeeds.[3] Used in the Nikon D7000,[30] Nikon D3100 and Nikon D5100 and Nikon marked EI-154.[31] 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 Fujitsu 65 nm process.

Expeed 2 (rebranded Expeed 1)[edit]

The Nikon D3s processor[32] – although named Expeed 2 – uses nearly the same EI-142 processor as the previous D3/D3X[33] 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.[15][16][34]

Expeed C2[edit]

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.[6]

Expeed 3[edit]

Expeed 3 (FR)[edit]

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.[15][16][17][21] Computing power is highly increased. Marked EI-158, this variant is used by the Nikon D4 and Nikon D800.[35][36] The EI-158 was the first Expeed to offer uncompressed video output (8bit 4:2:2) over HDMI.

The Nikon D600 (teardown[37]), Nikon D3200 and Nikon D5200 (teardown[38]) 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.[5][39] 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 Gbit DDR3 DRAM on top.

Expeed 3 (ARM)[edit]

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 1 GB fast DDR2 RAM packaged in 2x 4 Gbit 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.[9][18][40] Its high speed allows the world's fastest speed (Nikon claim) of 60 frames per second (10 fps with full autofocus).

Expeed 3A[edit]

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.[41] 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.[42]

Nikon D70S 6 megapixels CCD image sensor.

Expeed 4[edit]

A processor with ARM central controller, used in the Nikon D5300 and Nikon D3300 offering Full HD (1080p) video capture at 50/60fps with improved contrast detection autofocus also for live preview autofocus. Additionally further reduced power consumption and all features of the Expeed 3 (FR) and older Expeeds.

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)[43][44] and other improvements.[45][46]

Expeed 4A[edit]

Used in the Nikon 1 V3, Nikon 1 J4 and Nikon 1 S2.

Pre-Expeed[edit]

Unofficial Expeed DSLRs[edit]

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[edit]

Nikon D70/D70S autofocus (AF) drive motor not needed for F-mount compatible lenses with integrated motors. It is controlled by a coprocessor (here: H8S), which itself is controlled by the Expeed/Milbeaut.

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.[47] Or the Nikon D200 processor (EI-126) uses the same, but greatly expanded firmware as the D80 (unofficial "Expeed").

Additional (co-)processors[edit]

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.[48]

The ARM-based Expeed in the Nikon 1 series with its dual ARM core needs no additional I/O processors.[49] The Nikon 1 series also includes an Epson graphic processor.

Alternative firmware[edit]

As with CHDK/Magic Lantern modified Canon digital cameras based on DIGIC processors, a group of programmers called "Nikon Hacker" develops custom firmware,[5] making recent progress including an FR emulator for some DSLRs.[50][51][52] It was shown that Nikon uses the Softune integrated development environment together with an µITRON realtime kernel.[47] Currently there is some modified firmware available mainly removing time based video and uncompressed NEF files restrictions,[53] 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[edit]

Besides a general analysis of the hardware and software,[54] the project focuses on:

  • Removing 5 minutes time video restrictions: Some modified firmware available[53]
  • Uncompressed NEF files: Some modified firmware available[53]
  • 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[55]

DIAG raw hack[edit]

This was not a firmware hack, but a method (Photopc – digital camera control[56]) calling an already implemented diagnostic mode on some old Nikon Coolpix cameras with Fujitsu Sparclite processors. Using this mode, they could write raw images.

See also[edit]

References[edit]

  1. ^ Nikon: Nikon's original digital image-processing concept “Expeed”
  2. ^ a b Fujitsu: FR-V single-chip multicore processor
  3. ^ a b Fujitsu: Milbeaut Imaging Processors
  4. ^ a b Fujitsu: Image processing system for digital cameras: Milbeaut M-4
  5. ^ a b c d Nikon Hacker: Camera Matrix
  6. ^ a b c Photo-Parts: Nikon DSC models + components search result
  7. ^ Fujitsu Develops Multi-core Processor for High-Performance Digital Consumer Products
  8. ^ Nikon: Expeed3 (D-SLR series)
  9. ^ a b Fujitsu Releases 6th Generation of Milbeaut Imaging Processors
  10. ^ Nikon FX-Format CMOS Sensor Nikon
  11. ^ CNET: Nikon D4 arrives after leaks turn into flood
  12. ^ NPhoto: Nikon D800 gets official: specs, release date and price
  13. ^ Canon 5D Mark III vs 5D Mark II Vs NikonD800 VsNikon D700
  14. ^ Dxomark: Nikon D3200 and others: Compare cameras side by side
  15. ^ a b c d Sensor Analysis Primer – Engineering and Photographic Dynamic Range by Bill Claff
  16. ^ a b c d ActionPhotos by Marianne: ISO 800 SNR: Nikon D800 compared
  17. ^ a b c DXOmark Sensor ratings (needs Flash)
  18. ^ a b Imaging resource: Exclusive: Interview with Masahiro Suzuki, General Manager R&D, Nikon Imaging Company
  19. ^ Fujitsu Releases Three New "FR-V Family" Processors for Media Processing Fujitsu
  20. ^ Introducing The FR500 Embedded Microprocessor
  21. ^ a b Imaging-resource: Nikon D4 Hands-on Preview
  22. ^ MPEG-2 and Video Compression Dr.Dobbs
  23. ^ a b Understanding EOS HD Compression Options Canon
  24. ^ Canon Tips Off Enhanced Capabilities of Its New Image Processor
  25. ^ Nikon D800/D800E: D-Movie shooting functions Nikon
  26. ^ Video Compression Apple
  27. ^ EOS-1D X: Video Shooting Workflow: New “ALL-I” video compression Cyberscholar
  28. ^ Photo.net: Nikon D80 Review
  29. ^ Patent: Distortion correction circuit for generating distortion-corrected image using data for uncorrected image
  30. ^ Chipworks: Teardown of the Nikon D7000 DSLR
  31. ^ ifixit: Nikon D5100 Teardown
  32. ^ Imaging-resource: Nikon D3S Full Review
  33. ^ Imaging-resource: Nikon D3X Full Review
  34. ^ DXOmark: Nikon D3s: Comparison dynamic range (needs Flash)
  35. ^ Nikon: D4, 16.2 megapixel resolution and full-frame FX format
  36. ^ Nikon D800/D800E: Nikon FX-format CMOS sensor with 36.3 effective megapixels
  37. ^ Nikon D600 Teardown ifixit
  38. ^ Inside the Nikon D5200 DSLR – Toshiba found! Chipworks
  39. ^ D600 image quality: Image-processing engine EXPEED 3 Nikon.com
  40. ^ Nikon Expeed 3 Nikon USA
  41. ^ Nikon 1 V2 specifications Nikon Europe
  42. ^ Advanced Camera with Interchangeable Lenses Nikon 1 V2 Nikon
  43. ^ Self-adaptive algorithm of impulsive noise reduction in color images
  44. ^ Context adaptive image denoising through modeling of curvelet domain statistics
  45. ^ Nikon D4S - Product Tour Nikon - Youtube
  46. ^ Nikon D4S Nikon
  47. ^ a b Nikon D70s Firmware Hack
  48. ^ Nikon Corporation using Renesas flash microcomputers Renesas
  49. ^ Chipworks: Teardown of the Nikon V1 camera – Aptina Found!
  50. ^ Simeon Pilgrim: How to decode the Nikon DSLR firmware
  51. ^ Nikon Hacker: Board Index
  52. ^ Nikon Rumors: Nikon firmware emulator now available
  53. ^ a b c Nikon patch simeonpilgrim.com
  54. ^ Understanding Firmware Nikonhacker Wiki
  55. ^ NikonEmulator Nikonhacker Wiki
  56. ^ Digital Cameras on Fujitsu chipset