= Automatisierte Erkennung von Werbebloecken :author: Jan Klemkow, Benjamin Franzke :lang: de == Einleitung Werbung in Fernsehuebtragungen sind fuer den Zuschauer laestige Unterbrechnungen. Bei Aufzeichnungen von Sendungen stoert Werbung nicht nur bei spaeteren Schauen, es belegt auch einen nicht unwesendlichen Teil des Aufnahmemediums. Tobias Kramer hat 1995 wohl als erster mit dem Thema auseinandergesetzt und mit seiner Erfindung am Jugendforscht-Wettbewerb teilgenommen. .Reklame ade -- Der Videorekorder, der Werbung erkennt ____ Über Werbeblocks in aufgezeichneten Spielfilmen ärgert sich Tobias Kramer schon lange. Der 19-Jährige griff jetzt zur Selbsthilfe und baute ein elektronisches Gerät, das -- zwischen Fernseher und Videorekorder geschaltet -- bei den Aufnahmen den Rekorder stoppt, sobald die Reklame beginnt. Herzstück ist eine Elektronik, die die linke obere Ecke des Fernsehbildes, in der das Senderlogo den Beginn der Werbeunterbrechung markiert, digitalisiert. Byte für Byte wird dieses Signal mit dem aktuellen Videosignal verglichen, das Gerät erkennt so Beginn und Ende des Werbeteils. ____ Seither gab es eine Reihe weitere Arbeiten in diesem Umfeld. Einige dieser Loesungen sind in das VDR-Projekt (Video Disk Recoder) integriert worden. == Grundlagen Eine vorrausgegane Arbeiten zu diesem Thema ist unter Anderem eine Studienarbeit von Andreas Regel zum Thema ``Entwicklung und Implementierung von Methoden zur Erkennung von Werbeblöcken im digitalen Fernsehen''. In dieser Arbeit von 2003 wird ein Verfahren beschrieben. === Methoden zur automatischen Erkennung von Werbungsendungen Es gibt einige Indikatoren zur Erkennung von Werbung. Das aufaelligste ist das Senderlogo, welches in Produktwerbung nicht eingeblendet wird. Eine Ausnahme ist hier die Eigenwerbung der Sender. Wirbt ein Sender am Ende eines Werbeblocks fuer eigen Sendungen, Internetangebote oder andere eigene Produkte, wird das Senderlogo mit eingeblendet. Ein weiterer Indikator ist das Seitenverhaeltnis. Werbung wird heutzutage fast ausschliesslich im Seitenverhaeltniss 16:9 ausgestrahlt. Fernsehproduktionen werden ebenfalls in diesem Format ausgestraht, aber Filme, welche fuer das Kino produziert haben, verwenden anderen Formate (z.B. 21:9). Alte Fernsehsendungen welche noch im Format 4:3 Produziert wurden werden heute Teilweise auch noch in diesem ausgestraht. Beim wechsel von Film zur Werbung findet dann auch ein Wechsel des Seitenverhaeltnisses statt. Gut zu Erkennen Anhand der veraenderten schwarzen Balken im Bild Oben und Unten, sowie auch Links und Recht beim 4:3 Seitenverhaeltnis. Die Tonspuhr erlaubt in einigen Faellen ebenfalls das Erkennen von Werbebloecken. So wird Fernsehwerbung in der Regel in Stereo ausgestrahlt. Viele Kinofilme hingegen verwenden Mehrkanal-Tonspuren. Oder aeltere Filme, welche nur mit eine Monotone-Tonspur produziert wurden. === Video-Bibliothek-libav Fuer das verarbeiten von Videos wird in dieser Arbeit die in der Programmiesprache ``C'' geschriebenen Bibliothek ``libav'' (audio/video library) verwendet. Da der Umgang mit dieser Bibliothek etwas unhandlich ist, wurde im Rahmen dieser Arbeit eine Abstraktionsschicht dafuer entwickelt. Diese ermoeglicht es den anderen Programmen, welche im Folgenden beschrieben werden, einen einfachen Zugriff auf Videodaten. == Schnitt Erkennung Zur Erkennung von Schnitten in Videoaufzeichnungen wurde im Rahmen dieser Arbeit ein verfahren entwickelt. Dabei wird eine Video Frame fuer Frame durchlaufen und zwischen zwei aufeinander folgender Frames eine durchschnittliche Pixeldifferenz berechnet. Die Pixeldifferenz wird nur anhand des Y-Kanals berechnet. .Frame-Differenzwerte innerhalb des Heute-100sec-Videos image::cuts.svg[] Betrachtet man den Graphen, welche aus diesen Werten entsteht, laesst sich Schnitte gut anhand der Pieks erkennen. Da diese Pieks allerdings nicht immer die gleichen Amplitude haben und auch andere Wertebereiche, welche keinen Schnitt enthalten eine aehnliche Amplitude erreichen koenne, kann man anhand dieser Werte Schnitte nicht automatisiert erkennen. Aus diesem Grund muss ueber diese Reihe von Werten noch der Anstrieg berechnet werden, welcher zu folgendem Graphen fuehrt. .Anstieg der Differenzwerte des Heute-100sec-Videos image::cuts_diff.svg[] Bei der nun entstehenden Wertereihe laessen sich mit einem Schwellwert automatisiert und zuverlaessig Schnitte erkennen. Dieses Verfahren wurden im Rahmen dieser Arbeit in das Programm ``cuttime'' implementiert. Es analysiert eine Video-Datei und gibt zu jedem erkannten Schnitt dessen Zeitstempel innerhalb des Videos aus. Diese Zeitstempel koennen dann vom Shell-Script ``cutting'' dazu genutzt werden, um eine Video-Datei einzelne Schnitte aufzuteilen. == Erkennung von Ueberlapungen Ein verbreitetes Phaenomen ist, nach einem Werbeblock einige Sekunden des Films von vor dem Werbeblock zu wieder holen. Schneidet man nun die Werbung herraus, erhaelt das resultierende Video eine Wiederholung von einigen Sekunden. Aehnlich dem Springen eines Schatplattenspielers. Um dieem Problem zu begegnen wurde das Programm +overlap+ entwickelt. Dieses Programm vergleicht den letzten Frame eines Videos mit allen Frames vom Anfrang eines anderen Videos. Ausgegeben wird der Zeitpunkt des Frames mit der groessten Uebereinstimmung. Ab diesem Zeitpunkt faehrt der Film dann ohne einen stoerenden Uebergang fort. == Literatur * Thorsten Janke and Markus Koppers. ``Optimierung und Implementierung eines Systems zur Unterdrückung von Werbeblöcken bei Aufzeichnungen mit dem Videorecorder'', September 1999. * Beschreibung des Programms ``noad'' im VDR-Wiki, http://www.vdr-wiki.de/wiki/index.php/Noad * Homepage des noad-Projektes, http://noad.net23.net/ * Jugend-Forscht-Projekt von Tobias Kramer, http://www.jugend-forscht.de/projektdatenbank/der-videorekorder-der-werbung-erkennt/1995/6/Bayern.html // vim: ft=asciidoc textwidth=80: