[Elphel-support] Hardware Dokumentation

Andrey Filippov andrey at elphel.com
Wed May 26 08:25:04 PDT 2010


>
>
> We did looked through the Verilog code but aren't sure so far, what the
> bit-width of imagedata is, used in the FPGA-dataflow?
> 16 bit, 12 bit, 8 bit?
>
> Hello Jens,

The Aptina MT9P031 sensor used in Elphel model 353 camera has 12 bit output,
the FPGA code is designed to handle up to 15 bits (16 bits signed to allow
negative numbers in calculated values after background subtraction). It is
possible to record data to internal videomemory in either 1 or 2 bytes per
pixel. In 16-bit mode data is recorded as is, in 8 bit mode it can be
digitally scaled (to provide fine control and compensate for possible analog
gain step differences in the sensor itself). The scaling also includes
optional lens vignetting correction (unfinished code - it is planned to
include table-based function of effective radius, currently can only provide
second degree polimonial correction.  After the scaling data is suject to be
"gamma correction" - actually it can be virtually arbitrary table-based
function with 256 taps and linear interpolation between them. That
processing is designed to match the noise performance of the sensor and
reduce number of bits to be compressed without sacrificing essential data
from the sensor - quantization step to noise ratio to be constant over the
full pixel values range.
You can find more details in the Linux For Devices article (
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/How-many-bits-are-really-needed-in-the-image-pixels/)
, unfortunately during some redesign of their site images and javasript code
was lost, here is a link to my draft (text may differ from the final
version) that has the illustrations and number-of-bits calculation intact:

http://docs.elphel.com/linuxdevices/AT8926870933.html

Elphel camera also allows to bypass color conversion and leave that stage
for the post-processing. Most high-quality imagery acquired with Elphel 323
and Elphel 353 cameras is recorded in that format - you may find more in
another Linux For Devices article

http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Elphel-camera-under-the-hood-from-Verilog-to-PHP/

http://community.elphel.com/jp4/jp4demo.php contains illustrations of the
JP4 encoding

There is also an ImageJ plugin that allows to convert JP46 files recorded
with Elphel 353 camera. That plugin reads metadata recorded with the image
and un-applies gamma-correction and sensor per-channel analog gains and
un-applies those conversions from the image being decoded:

http://elphel.git.sourceforge.net/git/gitweb.cgi?p=elphel/ImageJ-Elphel

You may find some samples of JP46 encoded files that you can try with the
plugin (they can be opened as JPEG and then pixels are re-arranged) here -
http://community.elphel.com/files/ImageJ_plugins/sample_files/sensor_mt9p031/.


Andrey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://support.elphel.com/pipermail/support-list_support.elphel.com/attachments/20100526/b6d7363a/attachment-0002.html>


More information about the Support-list mailing list