Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] CMOS Image Sensor effect

Status
Not open for further replies.

sreevenkjan

Full Member level 5
Full Member level 5
Joined
Nov 4, 2013
Messages
268
Helped
27
Reputation
54
Reaction score
26
Trophy points
1,308
Location
Germany
Activity points
3,115
Hey guys,

I have attached a screenshot of the image obtained from a CMOS Image Sensor. Could any of you guys tell me as to why do I get such pattern (column like)?? Do any of you guys experienced such an image?? I do not think its fixed pattern noise effect from the image sensor.

View attachment sensor_image.bmp
 

Hi,

maybe it is mains frequency crosstalk during read out of the sensor. maybe other frequency.
Or maybe it is an artefact of a flickering light source..


But it´s hard to say without additional information.

Klaus
 

Hey guys,

I have attached a screenshot of the image obtained from a CMOS Image Sensor. Could any of you guys tell me as to why do I get such pattern (column like)?? Do any of you guys experienced such an image?? I do not think its fixed pattern noise effect from the image sensor.

View attachment 117731
Noise from a switching power supply is a likely candidate. Would need more detailed info to get any further.
- Is this an area sensor or multiple scan lines from a single scan line sensor?
- Calculate the frequency in the image, translate that into whatever time frame that you grab the data and then convert that into a frequency. What frequencies on your board are close to that frequency?

Those are some good starting points.

Kevin Jennings
 

It would have to be something that is 25/50x of the scan rate as the pattern is perfectly vertical and that is the number of LD/L+D patterns in the image (assuming horizontal scanning, which I think is likely).

I'd expect a diagonal pattern if it was a switching ps noise in the image it would have to be a pretty unlucky coincidence if the scan rate exactly divides into the switcher frequency.
 

I'd expect a diagonal pattern if it was a switching ps noise in the image it would have to be a pretty unlucky coincidence if the scan rate exactly divides into the switcher frequency.
Not at all coincidental. If the sensor is a single line (one of the questions that I had asked), then power supply noise that occurs during the shift pulse that causes the data to get transferred from the collection area to the shift register output would cause exactly the pattern that was shown (also assuming that the sensor is collecting vertical columns). The image corruption frequency would be the beat frequency between scan line time and power supply switching time.

In any case, there are far too many details missing from the OP.

Kevin Jennings
 

Hi Guys,

Thank you for the feedback. Well its an area sensor not a single scan line sensor. Its a 25MP CMOS camera sensor. The sensor has a input frequency of 360MHz. The older version of the sensor had 340Mhz as the input frequency. Do you think that may be the reason??

@Kevin Jennings - Could you tell me how can I calculate the frequency from the image?
 

@Kevin Jennings - Could you tell me how can I calculate the frequency from the image?
The pattern in your image is ~55 pixels in width. If you're reading horizontal rows out, then the time interval is 55x the time to get each pixel. If you're reading vertical columns, then the time interval is 55x the time to read out one scan line. Whatever that time interval, 1/Time interval would be the corresponding frequency.

It could be that frequency corresponds with some other switching that is causing the disruption, or it could be that the observed image frequency is the difference (i.e. beat) frequency.

All of this assumes that the sensor is collecting the data correctly and that the corruption is happening on the way out. That may not be a correct assumption, the image could also be corrupted on the way into the sensor.

Kevin
 

Some of these vertical lines do not seem to be spaced exactly at the same distance than others and its thickening seems somewhat irregular, making me believe that this pattern may have be not result of problems due to image capture, but due to imperfection on pattern itself.
 

How about a beat pattern on the input due to using a non-incandescent light source (e.g. florescent lighting) they flicker at 60Hz or 50Hz (depending on location of OP) and the image capture rate.

I'm assuming the image the sensor was capturing was a pure gray image. That could explain the results, try using a incandescent source or natural light, with the florescent lighting turned off.


Digressing...That florescent light flicker used to drive me crazy with the old CRT type monitors, I always had to get companies to purchase high sync frequency monitors so I could run them at 85Hz otherwise I could see beat patterns in the display and the flicker would give me a headache.
 

The image was captured in a natural light without turning ON the lights in the room. Yes the image does flicker when the lights are ON. However in the image I have shared the exposure was increased so that the pattern is clearly visible. However with minimum exposure, the pattern is still visible. My colleagues suggest it can be due to the analog voltages that cause these patterns but I tried changing the analog voltages by 50mV but its of no help. Tried changing the register parameters but there are 511 registers :D.

I have also contacted the sensor manufacturer for support and I am yet to get a reply from them.
 

I think I found the problem. The pattern is about 64 pixels wide which is also the size of the kernel of of the pixel sensor. The pattern seen in the image is sinusoidal something like high pixel value and low pixel value for about 64 pixels wide in the x-direction. The datasheet of the sensor also says

The image data is read out in kernels of 64 pixels in x-direction by one pixel in y-direction. One data channel output delivers two pixel values of one kernel sequentially.
. Since we have 32 LVDS channels, each channel reads 2 pixels therefore reading 64 pixels of image data.

The annoying part is that I do not know how to solve the sensor problem apart from having a correcting filter mechanism to smooth the pixel values into a single value.
 

I think I found the problem. The pattern is about 64 pixels wide
Doesn't look like 64 pixels to me. More along the lines of ~55 pixels at least in the area (800,0) - (1000, 200).

The pattern seen in the image is sinusoidal something like high pixel value and low pixel value for about 64 pixels wide in the x-direction.
That's what a beat frequency looks like.
The datasheet of the sensor also says

. Since we have 32 LVDS channels, each channel reads 2 pixels therefore reading 64 pixels of image data.

The annoying part is that I do not know how to solve the sensor problem apart from having a correcting filter mechanism to smooth the pixel values into a single value.
That's because you haven't really found the problem, so it is premature to jump to any solution.

Run your image through a 2d FFT to get the exact image frequency components in pixels. I doubt that you'll find a frequency component at 64 pixels in the x-direction.

Kevin Jennings
 

Hi K-J,

The image which I shared is not the exact image. I counted the column like pattern in the complete image. There are about 40 columns of brighter and darker patterns which are 64 pixels wide. If you divide 5120x5120 pixel by 64 pixel you get about 80 and therefore there are 40 brighter and darker columns each 64 pixel wide which corresponds to a LVDS channel output.

I do not know why it happens. I will share the full size image to show what I have noticed. Working with camera sensor is something new for me.

@K-J did u read and analyse the image in matlab??
 

Hi Guys,

I was going through the datasheet and there was some big problem. It says the Bias generator which is generates reference voltages and bias currents for the sensor blocks needs a 47K resistor between the sensor socket pins B2 and C2 to operate properly. The previous version of sensor had 47K resistor connected to B2 and other end terminated to ground.

I have attached the complete image with the column like pattern.

View attachment image.png

I think this might be the problem because the bias voltages to the sensor are different. Could this be the reason??
 
Last edited:

Hey Guys,

The problem is not solved. I tried testing the other sensor and the image obtained from this sensor is good. See the image below

**broken link removed**

I contacted the sensor manufacturer and they said the sensor is still in evaluation phase, so different images obtained. The other problem which is common to both the images are 2 column like patterns in the middle. The location is also similar for both the images. Can you guys tell me what may be the problem?? Is it sensor mistake?? I also soldered and connected a resistor between the pins but it does not change the pattern.
 

Did you check the dark current of the sensor?Are you having any interference with the the sensor completely dark? I will say that you have to test your sensor in several steps.
1) With the sensor completelz dark, check if the camera picture has the same bahaviour.
2) If there is not any noise stuff, it means that the noise that you are seeing is something related with the freq of the incomming light. Some sensors needs special lens to have good performance.
3) If you have also noise with the sensor completely dark, it means that something is wrong in the hardware. How is the interface of the sensor? LVDS? Did you change anything in the PCB respecting to the old sensor? Could be some PCB routing error? Are u using swithching regulators in the power supplies? Swithing regulators very close to the data signal could produce interferences on them...

Regards,
 

Hi,

I tried your method of making the sensor completely dark. I could see the effect in the camera picture. However they were not visible as shared in the picture but it was visible with close observations. Yes the sensor interface is LVDS. I tried changing the old layout by connecting a resistor between the bias pins. However that did not bring any change in the sensor picture. We use voltage regulators in the power supplies to supply the necessary digital voltage for the sensor.

Technical guy from the sensor company sent me an application note which discusses the column correction method. The document says that its due to the electrical non-uniformity in the row-drivers in the sensor architecture. The document suggests that I need to have a column corrector with correction co-efficients in the RAM of the FPGA. However I would like to solve the problem without using the FPGA resources. I do have an FPN corrector. However I doubt the FPN corrector can solve this column pattern problem. Any suggestions/views regarding it??
 

If the processing cost is not a critical issue, you could think to perform a workaround not by hardware but by software, post processing the image read by the sensor. Such a procedure would be equivalent to a calibration process, summing the inverse value of the effect of noise, so that the output would be constant for a constant image pattern.
 

Hi Andre,

Software processing is much simpler. However I would like to have it in the hardware such that the image coming out of the hardware is noise/distortion free. However most of the FPN correction is done in the hardware of the camera than the software. I was able to correct some of the problem by changing the sensor register values other than the suggested value. But I could not achieve the same for all.
 

According to the manufacture app note looks like the sensor is outputing the data so. So I would discard whatever issue in the PCB board in the beginning. Because like you said the manufacture has the same problem like you and the solution is to do a data processing in the FPGA.
If the fpga processing is not a solution for you; then Ask to the manufacture if there is a workaround solution handling the control signal of the sensor with other timings fr example. In my case I was able to remove some strange behaviour of the sensor simply changing the timing of lsync related to the sensor clock...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top