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
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?
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 ;)
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
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.
> Also nix im Stream verstecken, sondern für das Auge unsichtbare oder > unauffällige Informationen unterbringe genau Grüße, Kest
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.
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
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)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.