Forum: Digitale Signalverarbeitung / DSP / Machine Learning Video mit Wasserzeichen versehen


von Kest (Gast)


Lesenswert?

Hallo Leute,

ich möchte ein Video mit einem Wasserzeichen versehen. Kein Logo, 
sondern versteckte Information, die man später rauslesen kann, auch wenn 
man z.B. das Video analog kopiert (abfilmt).

Im ersten Schritt möchte ich die Informationen im digitalen Datenstrom 
verstecken (SDI). Nur fehlt mir irgendwie ein Ansatz, kann mir jemand 
auf die Sprünge helfen? Eventuel ein Link?

Das ganze möchte ich mit DVI, SDI, Analog (SD und HD) machen, mit einem 
FPGA. Die Plattform ist vorhanden, alleding bleibt einem bei HD-Videos 
nicht sehr viel Zeit übrig :-/

Grüße,
Kest

von Aldinator (Gast)


Lesenswert?

Datenstrom dekodieren, so dass du das Frame dekomprimiert im Speicher 
stehen hast, dann Wasserzeichen hinzufügen, dann Frame wieder 
zusammenpacken und weiterschicken.

So, wofür brauchst du jetzt Tipps, für die zwei 
SDI/DVI/Komponenten/S-Video/...-Interfaces oder für das Wasserzeichen?

von Aldinator (Gast)


Lesenswert?

Ach ja.. Wenn du nur seeehr wenige Daten unterbringen willst (z.B. nur 
eine ID-Nummer), dann kommst du vermutlich auch ohne ein komplettes 
Frame im Speicher aus, sondern kannst die Info On-The-Fly in das Signal 
einfügen.

z.B. über Modulation der Helligkeit. Da würde ich im ersten Versuch ein 
analoges Signal beforzugen, dort kriegt man die Helligkeit notfalls auch 
über Transistor+Widerstand verstellt ;)

von Kest (Gast)


Lesenswert?

Ich kann schon Videos prozessieren, ist kein Problem. Nur ist mir die 
ganze Signalverarbeitung nicht ganz klar. Mal angenommen, ich verstecke 
in den 2 niedrigsten Bits meine Info. Das funktioniert zwar digital, 
aber wenn ich alles abfilmen möchte (oder einfach SDI->Analog In), dann 
ist es nicht robust genug. Oder?


Grüße,
Kest

von Nico22 (Gast)


Lesenswert?

Kest schrieb:
> auch wenn
> man z.B. das Video analog kopiert (abfilmt).

Also nix im Stream verstecken, sondern für das Auge unsichtbare oder 
unauffällige Informationen unterbringen.

von Kest (Gast)


Lesenswert?

> Also nix im Stream verstecken, sondern für das Auge unsichtbare oder
> unauffällige Informationen unterbringe

genau

Grüße,
Kest

von Aldinator (Gast)


Lesenswert?

Ah. Ok.

Hast du dich schonmal gefragt, wie es z.B. GPS-Empfänger schaffen, ein 
Signal zu empfangen, dass wesentlich schwächer als das Rauschen ist?

Genau das ist was du brauchst. Das Rauschen ist das Video, deine 
Versteckte Info/Signal ist nur ganz schwach drübergelegt, so dass es 
halt nicht wahrnehmbar wird.

von Kest (Gast)


Lesenswert?

Also noch Mal: ich weis, wie es im Prinzip funktioniert. Was ich suche 
ist eine viel einfache (geniale ;-)) Lösung dafür, dass man nicht 
irgendwas im Freq-Band ausrechnet, ohne FFT auskommt und so weiter.

Ich habe nicht beliebig Zeit pro Frame (eigentlich gar keine). Deshalb 
muss ich einfach auf Pixel-Ebene was machen. Nun ist die große Frage: 
geht es überhaupt?

Kest

von Aldinator (Gast)


Lesenswert?

Pixel-Ebene geht eh nicht, so genau kann das ja keine Kamera abfilmen.

Du musst das schon großflächiger anpacken. Im einfachsten Fall: immer 
den ganzen Frame verändern.

Die Datenrate wird dann sehr gering, vor allem wenn man noch 
verschiedene Frameraten berücksichtigt (Film spielt mit 24 fps, wird mit 
Handy-Cam, 13 fps abgefilmt)

von Christian B. (casandro)


Lesenswert?

Also erstmal muss man sagen, dass solche Verfahren entweder nicht gut 
funktionieren, oder sichtbar sind.

Eine Möglichkeit wäre es, das gesamte Bild etwas heller und dunkler zu 
machen. Und zwar so langsam, dass diese Änderung auf im abgefilmten 
Video noch drin ist. Grob gesagt addierst du einfach ein Signal auf die 
Helligkeit deines Video drauf. (es geht auch mit der Farbe)

Im einfachsten Falle überlegst Du Dir jetzt eine pseudozufällige 
Bitfolge. (=Spreizcode) Die Bits stellst Du jetzt nicht als 0 und 1 
sondern als -1 und 1 dar. Für jedes Bit x welches Du senden willst 
sendest Du die Bitfolge mal x. Somit hast Du dann die Bitfolge mal 
positiv und mal negativ, abhängig von Deinem Bit.

Auf der Empfangsseite korrelierst Du einfach das Videosignal mit Deinem 
Spreizcode und Du bekommst regelmäßige positive und negative Peaks.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.