Request: technical explanation of why small lights streak in the dark when the recording camera moves

chudley_wetlegs

New Member
This was posted very recently on Reddit, clearly the light isn't moving (a star/planet) - it only appears to move when the phone moves.

Recorded on a Samsung smartphone, only relevant info provided is as follows:
This was captured in North East of England, UK. Looking directly above me at 2:55am.
I believe this is related to the camera sensor struggling with a very small light against near black.

I need a more technical way of explaining it and have struggled with Google.
 
Last edited by a moderator:
Because the picture is very dark, the camera lowers the shutter speed, which greatly increases motion blur. The "streaks" are digital motion blur from that.

You can get motion blur when a stationary camera films a moving object, or when a moving camera films a stationary object.
 
I suspect that's destabilized parallax, but it's hard to tell. Here the camera seems to be stabilizing for the nearby building, so camera motion and shake is visible in the star. Similar to:

Source: https://www.youtube.com/watch?v=DB4WFkvjaBg

thats wild, its totally new to me that cameras can recognize houses and try to stabilize it. i thought this was done with a mini gimbal or software getting info from the gyro sensor
 
thats wild, its totally new to me that cameras can recognize houses and try to stabilize it. i thought this was done with a mini gimbal or software getting info from the gyro sensor
wouldn't say they "recognize houses", it's more that they detect a large portion of the image has detail in it, and assume that's the thing you'd prefer stabilized.
 
wouldn't say they "recognize houses", it's more that they detect a large portion of the image has detail in it, and assume that's the thing you'd prefer stabilized.

Yup, areas containing high contrast, and thus detail, that is identical frame to frame is considered more valuable than anything with smooth gradients. It's not just considered more desirable, but it's often easier too, as it's more obviously correct when its correct.

Annoyingly, too much contrast can throw off some of the algorithms. For example, one way of estimating dx/dt and dy/dt is to look at (dc/dt) / (dc/dx) and (dc/dt) / (dc/dy) for colour values c (dc/dx=how much do I differ from my (left) neighbour, dc/dt=how much did I change over time), as they're often good approximations, and can be averaged over a frame. And whilst for slow-moving gentle gradients, all those inputs are low numbers, and so will have lack of precision and a fair bit of noise, the regions of high contrast can literally be pure noise and nothing else. Here, the skill's in the "averaging" that you use, throwing away what's least useful. These dx/dt and dy/dt approximations (which are surprisingly low-latency calculations) can be used as starting points for alternative algorithms. Of course, if you're smart, you'll also remember what your motion vector was from last frame, and factor that into what you expect for the next frame. Higher derivatives tend to be smaller, until they ephemerally explode.
 
I think the weirdest part (and I've seen it on many videos recently) is that the light streaks aren't continuos like you would expect from a moving bright object during an exposure, but they leave intermittent paths of dots (or streaks depending on how slow shutter speed is) instead.
It's not due to human eye perception because the artifact is still visibile if you pause the videos.


And it's not stabilization, I mean it is what's causing the motion in OP's video but I've seen the same effect happening on static cameras.
My hypothesis was that it could be leftover charge in CCD sensors but this is a CMOS, so that doesn't seen to be the case.

Example:

Source: https://www.youtube.com/watch?v=wWwgEm1PqrE

You can see that the streak left by the insect lasts for much longer than the time of a single frame, but I can't understand whether it's something due to the hardware or some weird signal processing.
 
You can see that the streak left by the insect lasts for much longer than the time of a single frame, but I can't understand whether it's something due to the hardware or some weird signal processing.
The streak isn't different enough from reaility to be worth replacing with an updated block. Perhaps some branch/leaf movement was enough of a change to get some of the blocks replaced with new data, but video codecs naturally repair over time anyway (how often is paremetrisable). This doesn't answer the question of why the disappearance of the insect from a prior position should appear as that halo-like streak in the first place, but it does explain the persistence of the streak. The codec's clearly running at a very low bitrate, all kinds of weird things can happen when the quality's so low.
 
It's kinda weird tho, usually if there is an artifact in a video it gets "repaired" with a new keyframe all at the same time, while in many of those streaks videos the streaks seems to have a constant frame lengths.

A thing I've noticed looking at that video frame to frame tho is that the streak updates don't seen to much the same framerate as the movement, so they could be just coded artifacts.
 
If I were to design a low light mode for a cheap camera, I'd simply average several consecuutive frames to brighten the picture. This would cause streaks on bright objects that needn't be continuous.
 
Back
Top