From 71aefbb098abd66f2370b8d00ca1f7a4f6b55aca Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Sun, 3 Feb 2013 12:57:26 +0100 Subject: doc: Correction after proofread --- doc/documentation.txt | 85 ++++++++++++++++++++++++++------------------------- 1 file changed, 43 insertions(+), 42 deletions(-) (limited to 'doc') diff --git a/doc/documentation.txt b/doc/documentation.txt index 777e990..70a6151 100644 --- a/doc/documentation.txt +++ b/doc/documentation.txt @@ -7,8 +7,8 @@ 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. +Bei Aufzeichnungen von Sendungen stoert Werbung nicht nur beim 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. @@ -26,10 +26,10 @@ ____ Seither gab es eine Reihe weitere Arbeiten in diesem Umfeld. Einige dieser Loesungen sind in das VDR-Projekt (Video Disk Recoder) integriert worden. -Eine vorrausgegane Arbeiten zu diesem Thema ist unter Anderem eine Studienarbeit +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. +//In dieser Arbeit von 2003 wird ein Verfahren beschrieben. == Grundladen @@ -39,7 +39,7 @@ 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, +Wirbt ein Sender am Ende eines Werbeblocks fuer eigene Sendungen, Internetangebote oder andere eigene Produkte, wird das Senderlogo mit eingeblendet. @@ -55,11 +55,12 @@ 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 +Die Tonspur 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. +Ein weiteres Beispiel sind aeltere Filme, welche nur mit einer Monotone-Tonspur +produziert wurden. === Video-Bibliothek-libav @@ -83,46 +84,46 @@ angefragte. == Schnitt Erkennung Zur Erkennung von Schnitten in Videoaufzeichnungen wurde im Rahmen dieser -Arbeit ein verfahren entwickelt. +Arbeit ein Verfahren entwickelt. Der erste Ansatz bestand in der Annahme, dass sich die durchschnittliche -Hellichkeit des Bildes wahrend einer Szene nicht stark veraender. -Aus diesem Grund wurde ein Algorithmus implementiert, welche ueber jeden +Helligkeit des Bildes während einer Szene nicht stark veraendert. +Aus diesem Grund wurde ein Algorithmus implementiert, welcher für jeden Frame die durchschnittlichen Y-Wert berechnet. .Durchschnittlicher Y-Wert ueber das Heute-100sec-Video image::avg.svg[] -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. +Dabei wird eine Video, Frame fuer Frame durchlaufen und zwischen jeweils zwei +aufeinander folgender Frames eine durchschnittliche Pixeldifferenz berechnet. +Die Pixeldifferenz wird ausschließlich anhand des Y-Kanals berechnet. .Frame-Differenzwerte innerhalb des Heute-100sec-Videos image::cuts.svg[] -Betrachtet man den Graphen, welche aus diesen Werten entsteht, lassen 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 +Bei Betrachtung des Graphen, welcher aus diesen Werten entsteht, lassen sich +Schnitte gut anhand der Peeks erkennen. +Da diese Peeks allerdings nicht immer die gleiche Amplitude und auch +andere Wertebereiche haben, kann es sein, dass Bereiche in denen kein Schnitt +vorhanden ist, trotzdem die gleiche Amplitude ergeben, wie andere Peeks, +sodass anhand dieser Werte, Schnitte nicht automatisiert erkannt werden können. +Aus diesem Grund muss ueber diese Reihe von Werten noch der Anstieg 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 +Bei der nun entstehenden Wertereihe lassen sich mit einem Schwellwert automatisiert und zuverlaessig Schnitte erkennen. -Dieses Verfahren wurden im Rahmen dieser Arbeit in das Programm ``cuttime'' +Dieses Verfahren wurden im Rahmen dieser Arbeit in dem Programm ``cuttime'' implementiert. Es analysiert eine Video-Datei und gibt zu jedem erkannten Schnitt dessen Zeitstempel innerhalb des Videos aus. -Diese Zeitstempel koennen dann dazu genutzt werden Verfahren wie die -automatisch Senderlogo-Erkennung zu unterstuetzen. +Diese Zeitstempel koennen dann dazu genutzt werden, Verfahren wie die +automatische Senderlogo-Erkennung zu unterstuetzen. Sollte ein Logo innerhalb eines Schnittes erst eingeblendet werden, so kann man -den Schnittpunkt auf den Anfang des Schnittes legen, umso beim automatischen -Schneiden nicht mehr Informationen zuverlieren als noetig. +den Schnittpunkt auf den Anfang des Schnittes legen, um so beim automatischen +Schneiden, nicht mehr Informationen zu verlieren, als noetig. Zudem koennen die Zeitstempel mit dem Shell-Script ``cutting.sh'' dazu genutzt werden, um eine Video-Datei einzelne Schnitte aufzuteilen. Innerhalb des Shell-Scripts wird die Ausgabe von ``cuttime'' als Parameter fuer @@ -140,34 +141,34 @@ 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. +Aehnlich dem Springen eines Schallplattenspielers. +Um diesem Problem zu begegnen wurde das Programm +overlap+ entwickelt. Dieses Programm vergleicht den letzten Frame eines Videos mit allen Frames -vom Anfrang eines anderen Videos. +vom Anfang 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. .Last-Frame-Differenz von Video-1 ueber Video-2 image::overlap.svg[] -Der obere Graph zeigt, die Differenz eines des letzten Framens von Video-1 ueber +Der obere Graph zeigt, die Differenz des letzten Frames von Video-1 ueber die erste Minute von Video-2. Dabei wird nach ca. sechs Sekunden der kleinste Wert ermittelt. -Dieses Minimum ist auch genau der Punkt, andem die Ueberlapung endet. -Beim Zusammenschneiden der beiden Videoteile kann also bei Video-2 die ersten -sechs Sekunden herrauslassen. +Dieses Minimum ist auch genau der Punkt, an dem die Ueberlappung endet. +Beim Zusammenschneiden der beiden Videoteile können also von Video-2 die ersten +sechs Sekunden übersprungen werden. == Entfernen bekannter Szenen -Eine semiautomatische Methode Werbung aus Aufzeichnugnen zuentfernen ist es -bekannte Werbescenen zu sammeln und diese gezielt herraus zu schneiden. +Eine semiautomatische Methode Werbung aus Aufzeichnungen zu entfernen ist es +bekannte Werbeszenen zu sammeln und diese gezielt heraus zu schneiden. Fuer dieses Loesungsansatz wurde das Programm ``findcut'' im Rahmen dieser Arbeit implementiert. .Ubereinstimmungen einer Szene innerhalb des Heute-100sec-Videos image::findcut.svg[] -Die fuenf negativen Pieks, zeigen jeweil die Zeitpunkte, zu denen die gesucht +Die fuenf negativen Peeks zeigen jeweils die Zeitpunkte, zu denen die gesuchte Szene beginnt. Zusammen mit den Informationen ueber die Laenge der Schnitte auf dem Programm ``cuttime'' koennen diese nun automatisch entfernt werden. @@ -177,26 +178,26 @@ ein Video neu zusammenstellen und dabei ungewollte Szenen herrauslassen. Dabei werden die gewollten Szenen in einzelne temporaere Video-Dateien geschrieben. Spaeter werden dann alle Szenen zu einem Video wieder zusammen gefasst. -Dieses ist von allen ungebliebten Szenen befreit. +Dies ist nun von allen ungebliebten Szenen befreit. .Einen Schnitt mittels ffmpeg extrahieren [source,sh] ---- -cutint VIDEO 00:00:00.000 00:02:12:050 00:05:00:000 00:03:00.000 +cutint.sh VIDEO OUTPUT 00:00:00.000 00:02:12:050 00:05:00:000 00:03:00.000 ---- -Der Obere Befehl nimmt aus dem Urspringsvideo die ersten zwei Minuten und 12 -Sekunden zusammen mit den letzten 3 Minuten herraus und erstellt damit ein neues +Der Obere Befehl extrahiert aus dem Ursprungsvideo die ersten zwei Minuten und 12 +Sekunden zusammen mit den letzten 3 Minuten heraus und erstellt damit ein neues Video. == Fazit Eine vollkommen automatischer Algorithmus zum Unterscheiden von Werbung oder Sendungen ist nicht moeglich. -Es lassen sich Werbebloecke jeweil nur Anhand von Indizien erkennen. +Es lassen sich Werbebloecke jeweils nur Anhand von Indizien erkennen. Diese Indizien sind unzureichend genau, um mittels eines automatischen Verfahrens den Beginn und das Ende eines Werbeblocks zu erkennen. -Allerdings lassen sich mit semiautomatischen Verfahren, das herrausschneiden von +Allerdings lassen sich mit semiautomatischen Verfahren das herausschneiden von Werbung fuer den Benutzer wesentlich vereinfachen. == Literatur -- cgit