No such automatic detection tool.
I would check if it's blurry or sharp but with lots edge enhancement, see http://en.wikipedia.org/wiki/Edge_enhancement . THen it might be upscaled.
I mean, not upscaled in realtime by hardware,
but a statically-upscaled video source.
Having a tool for automatic detection would be nice,
spotting the artifacts at naked eye isn't easy.![]()
No such automatic detection tool.
I would check if it's blurry or sharp but with lots edge enhancement, see http://en.wikipedia.org/wiki/Edge_enhancement . THen it might be upscaled.
After a bit of thinking,
i'm came to the conclusion that
if a video is upscaled, then every single frame must be upscaled.
So, in order to write a tool that performs the check, we need an algorithm that detect upscaled|interpolated static images first.
Then we can write a tool that:
Any suggestion?
- extract n keyframes from the video
- check if they are upscaled and the ratio
- compute an averange of the analisys
If I understand, I can't see how such a tool can be made. When in possession of any video, how can you know what was in a previous Source (assuming it was encoded from something else)? Anything could have been done in the encoding process.
Yes, if a video was upscaled it should be obvious - for example many here can tell if an SD source has been encoded to HD. The lack of detail in comparison to "real" HD video would be obvious to the naked eye such as blurs, etc.
If you had a previous Source, then yes, you can do lots to analyze differences, but if you had a Source then it would defeat the purpose of this proposed tool you describe.
If I were to try one thing, although not perfect, is encode it using a quantizer scheme along with another video of similar resolution that you know has not been upscaled. See how the results compare. If the resulting file size of the mystery video is much smaller then that means it has less detail and has likely been upscaled. Like I said, not perfect, but should give an idea.
I hate VHS. I always did.
The algorithm i am thinking should perform an exhaustive search, trying various upscaling ratios.
At each try it will check if pixels at fixed distance are somehow "matematically related" (i mean, they were interpolated).
Of course the algorithm may be influenced if other image filters were applied after the upscaling.
BTW, an easier approach could be simply checking some video parameters that suggest (within a certain probability) that the video was upscaled before encoding (i don't know which ones).
Last edited by bugmen0t; 12th Oct 2010 at 19:03.
First indication is the video will be soft. Upscaling just resamples to smaller pixels. The source video resolution isn't improved except through enhancement tricks like edge sharpening. Edge sharpening has artifacts like overshoot and ringing. You could search for those artifacts.
Recommends: Kiva.org - Loans that change lives.
http://www.kiva.org/about
Wouldn't it be all moot nevertheless?
Artifacts mentioned: visibly shallow detail, ringing, overshooting, oversmoothing, confetti, etc could all be caused by other means, such as filters, deinterlacing, etc. Concluding that it's been up-scaled is still an educated guess at best, not a confirmation.
I hate VHS. I always did.
True. It comes down to "CSI" analysis work to reasonably determine cause and effect.
Recommends: Kiva.org - Loans that change lives.
http://www.kiva.org/about
Reduce the frame size, then restore it. Compare to the original image. If there there isn't much difference the video was originally lower resolution. Or you could look at the amount of high frequency detail. Little high frequency detail would indicate a upscaled image.
Ok, this is the more scientific approach i was looking for (and it's even faster than my bruteforce algorithm).
BTW, these are good clues, but still can't be considered decisive:
what if the video was blurred to achieve better compression?
Indeed if we mix upscaling+image filters this way it is very difficult to recognize an upscaled video from one that was just blurred.
Recommends: Kiva.org - Loans that change lives.
http://www.kiva.org/about