www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Video mit Wasserzeichen versehen


Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Aldinator (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Aldinator (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nico22 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kest (Gast)
Datum:

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

genau

Grüße,
Kest

Autor: Aldinator (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Aldinator (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Christian Berger (casandro) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.