4 ms·
Not to drag this too far off topic, but what kind of post-processing? And is it standardized across different types of webcams?
by throwaway5752 7y ago
Not to drag this too far off topic, but what kind of post-processing? And is it standardized across different types of webcams?
- jrowley 7y agoWhile not post-processing, often you can configure the exposure duration and frame rate which will make things feel more or less responsive.
- simias 7y agoNoise reduction is a big one. You usually need to interpolate over several frames to do that. Also depending on the bus being used cameras often compress the image using JPEG to reduce the bandwith (very common with USB cameras, I doubt that the Mac camera does that). Then on a computer you have the latency of whatever pipeline is being used and how much buffering is involved. For instance since typically the display doesn't run exactly synchronized with the camera you'll have some frames that'll end up "stuck" waiting for the monitor's vsync. If the app then does some internal buffering on top of that you can very easily reach a noticeable amount of latency. In general you can consider than anything above 100ms is easily noticeable and that's only 3 frames at 30fps and 6 at 60, it's really not that much when you consider the complexity of modern video capture pipelines.
- megous 7y agoWhy use averaging of multiple frames instead of just raising exposure time? I guess it can lead to smaller rhomboid distortion due to rolling shutter? But that should not increase latency, comapred to equivalent increase in exposure time - so that we're comparing apples with apples.
- foldr 7y agoI expect it's more complicated than just simple averaging.
- ska 7y agoNot really standardized, as there is a broad range of camera hardware out there. A pipeline might look something like demosaicing -> denoising -> light/exposure adjustment -> tone mapping -> encoding Some of these steps will likely have hardware support (e.g. demosaicing, encoding) some won't. You may carry a few frames around for denoising, e.g. You have to sync up with the display at some point. Some of the steps might change order too, depending on what you are trying to do and what hardware support you have. I haven't looked at available hardware specs recently. You used to be able to get very basic capture cameras that offloaded nearly everything to the computer - so that would give you minimal latency on the capture side (limited by your communication channel obviously); However keeping a stable image as resolution and frame rate grow is really hard that way, eventually impossible without a realtime system. More modern cameras are going to do much of that on board.