blog.jj5.net (2003 to 2005)

Detecting commercials

Mon Nov 8 14:53:00 UTC+1100 2004

Categories:

I know I'm not the first or only person to think about this, but for years it has periodically crossed my mind how I could make something that could automatically mute / blue screen / screen saver a television while commercials are on.

Not having a TV, it's not something I tend to think about too often, but every now and again (when I'm in the presence of TV ads really :P) it crosses my mind.

Also, relatively futile these days, considering the hold that advertisers have on actual *content*. I.e. they just put the ads directly in the crap that you're watching these days (yes, I'm angry).

Anyhow, if I was going to try and come up with something to automatically tune out of commercials there are a few things that I'd be looking for:

1. Timing patterns. I.e. basic understanding of the typical duration of blocks of commercials vs. blocks of content, with respect to a 24 / 7 programming schedule, perhaps with seasonal adjustments, etc. I don't have this data, but that's one of the first things I'd be looking for. You'd want some ability to 'train'.

2. Volume normalisation. Ads are LOUD. They are NOISY. I swear those bastards normalise ad volume at a higher level, which is something that you could use to your advantage as a supplement to 1. So basically you could come up with a 'probability' that an advertisement was about to show, or that content was about to resume, based on typical programming schedules, then you could supplement this with real time analysis of volume normalisation.

3. Playback Delay. Perhaps you could buffer say 30 seconds worth of signal before passing it on to the TV. Basically this would give you the ability to check your scheduling / normalisation stuff without having to respond with false positives, etc. Also, if your algorithm makes a mistake, or the user requests a replay of various bits, you have 'catch up' and 'slow down' flexibility during every ad break.. ;)

So, those are my thoughts, not that I've ever really done anything in that regard. Also, I like to think about voice recognition, you can probably look more into the content (beyond the normalisation), but I imagine things would start getting significantly more complicated at that point...

Perhaps knowing something about the 'genre' of the content would be useful to help gain an understanding of what sort of 'noise' you can expect. I.e. will there be prolonged loud bits during a gun fight, screaming, etc. Also, you might be able to look at the screen. Say, if it's a cartoon then bright red backgrounds or images might happen, but if it's a drama, that's probably unlikely, whereas an ad could very likely have a consistent background colour and 'cartoon colours' with big letters, and “call now“ messages, etc.

In fact, if you could run text recognition on an image, and find words, or things that looked like URLs or phone numbers, then you could almost certainly know it was an ad (credits aside).

John.


Copyright © 2003-2005 John Elliot