What's video, techie speaking? A list of secuencial frames/pictures. And a picture is a collection of pixels. Each pixel have a position (x,y) and a value (color). But lets say that we will start our pixel #1 at the left upper corner of the screen, working our way to the right and to the bottom, line by line. That way we get rid of the Xs and Ys of the pixel's position and we end up with a pure stream of values. As one frame ends, the next one starts. That will be our Video Stream.
But we still have a freaking lot of those values and the range on them is very big too. So now we have to compress it. We could then take a group of let's say 10 or 20 values and calculate the average. Then substitute the group of values with that average. Also, we could use proportions to convert the value itself (zero to 32m?) into a percentage (1 to 100) and make the values smaller.
Now imagine that we are going to graph our new compressed stream... it should look something like this (kinda):
Now let's say that we record TV content and create compressed stream versions of it (very very compressed). It doesn't matter if the sources had different resolutions or if two copies of the same content are different due to stuff like a weaker signal or whatever. We are compresing the streams so much that the end result should be almost the same.
Now we can start searching for patterns. Choose a Start Value (SV) and start going forward till you get another value that's equal to SV. After a match (MV), then look for the next one, is SV+1 value == MV+1 value? if yes, SV+2 == MV+3? and so on. When the pattern breaks you could go to a database and make an entry saying that there's a patter_id #1 that was found on the stream runs from xx secs to xx secs and repeats at yy secs to yy secs.
Now keep working the stream and keep finding more repetitions of the detected patterns and new patterns. After a while we gonna have a DB full with patterns. Some patterns will repeat themselves quite a few times and are gonna have a fix lenght (30 secs?). They are going to be repeated on different streams, recordered from different channels/shows. And this will be our comercials DB.
Once this comercials are identified/verified the software doing the recording can watch out for those streams Live and skip them (don't record them). This comercials DB could also be shared by many users. Kinda like spam filtering does now days.
And not only we could skip comercials, we could also use the method to identify a piece of video, like the iphone does when you use it to identify a song.
This technologie will be very cool and will be standard someday.... I predict. If you agree,let me know.
Note: No, I didn't proff read nor ran the spell cheker cuz I'm tired and sleepy. And if you don't understand it, no worries. I probably won't understand it myself in 24h (I'm now enlightened).