[mythtv-users] Commercial Flagging Problem

Brad Templeton brad+myth at templetons.com
Sun Jan 30 16:56:26 EST 2005


On Sun, Jan 30, 2005 at 11:27:12AM -0500, Chris Pinkham wrote:
> commercials and eliminate false positives.  I've got code started in
> my source tree to try using aspect ratio changes to help detect when
> commercials start and stop.  There are also a few other detection ideas
> on my TODO to add that will help the ALL method be more accurate.

There is -- though it's certainly not a small project -- a near-perfect
algorithm for commercial detection.   Namely, you watch people.  You
arrange so that as people watch a show, you see what they watch at 1x
speed, and what they skip over.   You upload this live (and anonymously)
to a server.

Nicer early-watchers might even take the effort to hit specific remote
codes (not just the skipping/FF/rewind buttons) to say "yes, this is
exactly where a commercial starts."  They would do this because they
appreciate others doing it when then watch a show delayed.

On a popular PVR, many people will watch the show near-live or just after
airing (before mythcommflag can even run in most cases.)  Once you have
data from enough such people -- the more people who watch the sooner that
happens -- you will find that the data converges.  There will be outliers
to discard of course, but eventually you will see most user's data pointing
at some very specific points in the show. 

That's where the commercials are, and no amount of trickery can fool
thousands of natural intelligences.

You can combine this data, if desired, with the usual techniques of
looking for transitions and groups of transitions, blank frames etc.
But I suspect it would be enough on its own.  In addition, if people
are not watching soon, you can have the automatic algorithms make their
guesses and just notice where the human viewers correct it.  This is
something even easier to do, the screen pops up "I think a commercial
starts here" and the user clicks, "No, that's wrong" etc.  Also you
want to do the blank detection etc. to provide time bases so that user
actions are timed relative to these events, so you don't have to worry
about clock drift etc.

This is of course an entirely new system of doing things, and a considerable
coding project.   It ends the arms race on commercial elimination entirely.

It can also do more than commercial skipping.   For example, in sports,
it can provide skipping of boring elements like pitching changes, and
single 15 and 30 second commercial breaks that are very hard to auto-detect.

Imagine that they change pitchers and ZOOM, you are at the pitch, perhaps
with a summry of the closed caption of what the announcers said displayed
on the side of your screen.  If you like this of course, it would be
an optional mode.   Imagine a football game that's nothing but plays.
Imagine the academy awards where they zoom at fast forward (you would want
this rather than skipping) up to the podium.

Or imagine more manual use, where your co-watchers are simply putting in
mark points -- like the end of an academy awards acceptance speech, so
you can just press a button to zip to it.


This is bluesky for now, but I expect something like this will happen
in the future.


Today, however, I will put in one suggestion that I have made before but
may bear repetition.  Quite often, and almost always on HDTV, commercials
are in a different aspect ratio from the regular show, and if you can
detect the black bars, you can have very accurate elimination.



More information about the mythtv-users mailing list