summaryrefslogtreecommitdiff
path: root/doc/documentation.txt
blob: 6c4aab7fec35b9af20b46f476a34ecc9a4b571c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
= 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

 - Erkennung Anhand des Senderlogos
 - Erkennung an Veraenderungen vom Bild/Szenenwechsel
 - Erkennung an Veraenderungen der Tonspur
 ** Monoton!?!
 ** Stereo
 ** Multikanal
 - Erkennung anhand von verschieden Seitenverhaeltnissen

== 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 Differenzwerde
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.

// vim: syntax=asciidoc textwidth=80: