Skip to contentSkip to conversation

Summarizing the PWC driver questions/answers

DISCUSSION [email protected] 2 participants 2 messages Aug 28, 2004

lore
Share & tools
lore
#0 lore raw
Quoted 8 lines · Paul Jakma

http://linux.slashdot.org/comments.pl?sid=119578&cid=10089410

From the LavaRND people. Apparently images produced with the binary pcwx portion loaded (full-sized frame) had *less* entropy than the smaller images produced without. Hence they speculate that the function of the binary pcwx part is actually to interpolate the 160x120 image to the bigger 640x480 size, and has little to do with hardware..

Actually, it's probably *colour* interpolation. Digital cameras are based on fundamentally black-and-white image sensors, with a filter grid superimposed. (Search on "Bayer filter" for the most common RGGB pattern.) A "640x480" digital camera has 640x480 = 307200 sensor pixels, divided among 3 (or sometimes 4) colours.

Note that this is unlike a "640x480" colour LCD, which will have 640x480x3 = 921600 active elements. But it is the standard terminology for the field.

This gives some luminance/chrominance information at each pixel, but to assign a 24-bit colour to each pixel requires some interpolation based on adjacent picels. Digital cameras do such interpolation internally, but it's also popular to support a "raw" image format to an external program, in the hope of better result. See gPhoto for examples of such algorithms.

Anyway, I can imagine that the camera can do something crude internally like downsampling by 2x2 to get colour values for each pixel. I can also imagine that it can export the raw image to a software driver for better interpolation that would take more CPU horsepower than it has on board.

Now, the fact that colour is effectively encoded in the high-frequency portion of the luminance signal makes it rather tricky to produce a "sharp" colour image without introducing artifacts when a high-frequency black & white signal is present. The general techniques are published, but digital camera makers put a lot of effort into the subtleties and are generally very posessive of the details of their implementation.

This might be what's going on with Philips.

However, given that we already have access to lots of suitable Free interpolating software, Linux doesn't need that. It just needs to know how to elicit a raw high-res frame from the camera and what the returned bits mean. The rest can be coped with.

#1 lore raw

Am Samstag, 28. August 2004 23:07 schrieb [email protected]:

Quoted 4 lines

However, given that we already have access to lots of suitable Free interpolating software, Linux doesn't need that.  It just needs to know how to elicit a raw high-res frame from the camera and what the returned bits mean.  The rest can be coped with.

640 x 480 x 8 x 24 is still a lot more than USB 1.1 can handle. What goes over the wire will be compressed.

Regards
Oliver