Difference between revisions of "SkippingBinning"
OneArtPlease (talk | contribs) m (moved Binning to SkippingBinning) |
(→Binning Modes) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | = | + | =Skipping= |
− | + | Also called "Decimation", means that a certain amount of photosites is not read out ->skipped (horizontally, vertically or in both axis). This reduces resolution of the resulting image but introduces subsampling artifacts. This is an on-sensor-feature. | |
− | |||
− | + | =Binning= | |
+ | Pixel Binning refers to the method of combining (averaging or summing) charges of blocks of neighbouring same-color-photosites. This is an on-sensor-feature. | ||
− | + | Using both skipping and binning at the same time reduces subsampling artifacts but does not eliminate them completely. | |
+ | |||
+ | ==Article describing "Binning"== | ||
http://www.echenique.com/index.php/2009/05/16/phaseone-sensor-pixel-binning-and-the-future-of-digital-photography/ | http://www.echenique.com/index.php/2009/05/16/phaseone-sensor-pixel-binning-and-the-future-of-digital-photography/ | ||
− | |||
− | |||
==Pixel Binning in Elphel Cameras== | ==Pixel Binning in Elphel Cameras== | ||
− | Using Binning you can: | + | Using Skipping/Binning you can: |
− | * lower the resolution of an image while using | + | * lower the resolution of an image while using the same sensor area |
* achieving higher FPS for the same resulting resolution | * achieving higher FPS for the same resulting resolution | ||
* decrease image noise (averaging) or increase light sensitivity (summing) | * decrease image noise (averaging) or increase light sensitivity (summing) | ||
− | But be careful: Binning/Decimation effectively | + | But be careful: Binning/Decimation effectively result in a certain amount of subsampling artifacts. |
+ | |||
+ | {| border="0" cellpadding="2" | ||
+ | |- | ||
+ | | [[Image:Fullres_200zoom.jpg|thumb|200% Zoom - NO Skipping/Binning]] || [[Image:Skipping_200zoom.jpg|thumb|200% Zoom - with Skipping (2x2), NO Binning]] || [[Image:Binningandskipping_200zoom.jpg|thumb|200% Zoom - with Skipping (2x2), with Binning (2x2)]] | ||
+ | |- | ||
+ | |} | ||
==Binning Modes== | ==Binning Modes== | ||
− | The "normal" Binning mode averages the charges from photosites | + | The "normal" Binning mode averages the charges from photosites thus reducing noise in the image but not altering light sensitivity. |
[http://community.elphel.com/pictures/binning/binning_average.jpeg] | [http://community.elphel.com/pictures/binning/binning_average.jpeg] | ||
Line 37: | Line 43: | ||
Using PHP you can access this register with: | Using PHP you can access this register with: | ||
echo elphel_get_P_value(ELPHEL_SENSOR_REGS+32); | echo elphel_get_P_value(ELPHEL_SENSOR_REGS+32); | ||
+ | |||
+ | '''Note: correct way to control binning and decimation in the camera''' | ||
+ | [[Image:Bin_decim_cntrl.png|thumb|Image control panel]] You may control the binning and decimation of the camera sensor using the camera control interface (camvc). These for parameters: | ||
+ | DCM_HOR, DCM_VERT, BIN_HOR and BIN_VERT | ||
+ | are also available in parsedit program or from the custom PHP script running in the camera : | ||
+ | |||
+ | http://*cameraIP*/parsedit.php?embed=0.18&DCM_HOR&DCM_VERT&BIN_HOR&BIN_VERT | ||
+ | |||
+ | Yes it is possible to change some of the camera parameters by modifying directly the values of the sensor registers, but this is designed to be used for development/testing/experimentation, until some particular parameter is supported by the camera driver. When the decimation is modified, camera needs to program the FPGA compressor accordingly, the JPEG headers have to be modified too. Additionally software takes care of the camera pipeline latency - compressor has to be programmed to different image size at exact frame - all that happens when the higher level parameters are modified. And of course, different sensors have different registers that control binning and decimation, different values/combinations of values are allowed for these parameters - driver validates the values using of sensor capabilities tables; no validation, pipeline synchronization happens when the sensor registers are modified directly. --[[User:Andrey.filippov|Andrey.filippov]] 22:32, 25 January 2011 (UTC) |
Latest revision as of 14:56, 25 January 2011
Contents
Skipping
Also called "Decimation", means that a certain amount of photosites is not read out ->skipped (horizontally, vertically or in both axis). This reduces resolution of the resulting image but introduces subsampling artifacts. This is an on-sensor-feature.
Binning
Pixel Binning refers to the method of combining (averaging or summing) charges of blocks of neighbouring same-color-photosites. This is an on-sensor-feature.
Using both skipping and binning at the same time reduces subsampling artifacts but does not eliminate them completely.
Article describing "Binning"
Pixel Binning in Elphel Cameras
Using Skipping/Binning you can:
- lower the resolution of an image while using the same sensor area
- achieving higher FPS for the same resulting resolution
- decrease image noise (averaging) or increase light sensitivity (summing)
But be careful: Binning/Decimation effectively result in a certain amount of subsampling artifacts.
Binning Modes
The "normal" Binning mode averages the charges from photosites thus reducing noise in the image but not altering light sensitivity. [1]
There is an alternative mode that sums up the charges and therefore makes the binned pixel more light sensitive. [2]
In Elphel Camera (since 8.X Software) the different binning modes can be set at http://*cameraIP*/parsedit.php?embed=0.18&SENSOR_REGS32
The default value is "0x40" which means averaging binning mode.
If you set it to "0x60" you switch to summing binning mode and will get increased light sensitivity.
Using PHP you can access this register with:
echo elphel_get_P_value(ELPHEL_SENSOR_REGS+32);
Note: correct way to control binning and decimation in the camera
You may control the binning and decimation of the camera sensor using the camera control interface (camvc). These for parameters:DCM_HOR, DCM_VERT, BIN_HOR and BIN_VERT
are also available in parsedit program or from the custom PHP script running in the camera :
http://*cameraIP*/parsedit.php?embed=0.18&DCM_HOR&DCM_VERT&BIN_HOR&BIN_VERT
Yes it is possible to change some of the camera parameters by modifying directly the values of the sensor registers, but this is designed to be used for development/testing/experimentation, until some particular parameter is supported by the camera driver. When the decimation is modified, camera needs to program the FPGA compressor accordingly, the JPEG headers have to be modified too. Additionally software takes care of the camera pipeline latency - compressor has to be programmed to different image size at exact frame - all that happens when the higher level parameters are modified. And of course, different sensors have different registers that control binning and decimation, different values/combinations of values are allowed for these parameters - driver validates the values using of sensor capabilities tables; no validation, pipeline synchronization happens when the sensor registers are modified directly. --Andrey.filippov 22:32, 25 January 2011 (UTC)