-
HINTERGRUND
-
Ein digitales Wasserzeichen kann eine Markierung enthalten, die in ein störungstolerantes Signal, beispielsweise Audio-, Video- oder Bilddaten, eingebettet ist. Oft ist ein digitales Wasserzeichen in ein Trägersignal verborgen eingebettet oder darin versteckt, wo sich das verborgene Wasserzeichen auf das Signal bezieht. Ein digitales Wasserzeichen ist oft unter bestimmten Bedingungen erkennbar, wie etwa unter Verwendung eines bestimmten Algorithmus. Ein digitales Wasserzeichen kann zum Verfolgen von Urheberrechtsverletzungen, für Video-Authentifizierung, inhaltliche Verwaltung in sozialen Netzwerken, Quellenverfolgung oder Überwachung der Verbreitung verwendet werden.
-
ZEICHNUNGEN
-
Die genaue Beschreibung nimmt Bezug auf die begleitenden Figuren. Die Verwendung derselben Bezugsnummern an verschiedenen Stellen in der Beschreibung und in den Figuren kann auf ähnliche oder identische Elemente hinweisen.
-
1 ist ein Blockschaltbild, das ein System zum Einbetten (z. B. Einfügen) und Erkennen eines Wasserzeichens in einen/einem Videostream gemäß einer beispielhaften Ausführungsform der Offenbarung darstellt.
-
2 ist ein Blockschaltbild, das eine Wasserzeichen-Erzeugungsschaltung gemäß einer beispielhaften Ausführungsform der Offenbarung darstellt.
-
3 ist eine schematische Darstellung eines beispielhaften, in einen Videostream eingebetteten Wasserzeichens gemäß einer beispielhaften Ausführungsform der Offenbarung.
-
4 gibt schematische Darstellungen einer beispielhaften Wasserzeichen-Basisfunktion zum Erzeugen eines Wasserzeichens und der Antworten des Erkennungsfilters auf Grundlage der Wasserzeichen-Basisfunktion wieder.
-
5 ist ein Blockschaltbild, das eine Wasserzeichen-Extraktions- und -Erkennungsschaltung gemäß einer beispielhaften Ausführungsform der Offenbarung darstellt.
-
6 ist ein Blockschaltbild, das eine angepasste Filterschaltung gemäß einer beispielhaften Ausführungsform der Offenbarung darstellt.
-
7 ist ein Blockschaltbild, das eine Fehlererkennungsschaltung gemäß einer beispielhaften Ausführungsform der Offenbarung darstellt.
-
GENAUE BESCHREIBUNG
-
Übersicht
-
Das digitale Wasserzeichenmarkieren von Video-Inhalten ist der Vorgang des Codierens einer Hilfsinformation in eine digitale Darstellung der Video-Inhalte, die später verwendet werden kann, um die Inhalte zu identifizieren. Wie hier beschrieben, kann das digitale Wasserzeichenmarkieren (z. B. Wasserzeichenmarkieren) verwendet werden, um relevante Videodaten (z. B. interessierende Videos) zu identifizieren, und wenn das Video als relevant identifiziert ist, zu identifizieren, ob eine Datenunterbrechung (z. B. ein „eingefrorenes” Video) aufgetreten ist. Wenn eine Datenunterbrechung aufgetreten ist, kann das vorliegend offenbarte System einen Prozessor unterbrechen und/oder die Darstellung des Videos auf einer Anzeige unterbrechen.
-
Eine Technik, die digitales Wasserzeichenmarkieren verwendet, kann ein Einfügen mindestens eines eindeutigen Framezählers in ein Bild enthalten, gewöhnlich in einem Eck-Pixel. Jedoch ist diese Technik verletzlich gegenüber Bildbearbeitung, die das Bild verändert, bei der die Verarbeitung die digitalen Werte verändert (z. B. Filtern) oder Teile des Bildes beseitigt (z. B. Abschneiden). Eine weitere digitale Wasserzeichenmarkierungstechnik enthält das Berechnen der zyklischen Redundanzprüfung (CRC) jedes Frames oder Bestandteils eines Frames. Diese Technik kann falsche Alarme bei stehenden Bildern auf einer Anzeige erzeugen, wie etwa einer GPS-Einspeisung. Eine dritte digitale Wasserzeichenmarkierungstechnik könnte ein Frequenzdomänen-Wasserzeichen mit Sicherheitsschlüsseln und möglicherweise einem eingebetteten Frame-Zähler zum Erkennen des Auftretens eines eingefrorenen Frames verwenden. Jedoch ist diese Technik rechenaufwändig.
-
Demgemäß ist ein System zum Erzeugen und Erkennen eines zeitveränderlichen Wasserzeichens in einem Videostream (z. B. Video-Inhalt) beschrieben, um zu bestimmen, ob eine Datenunterbrechung aufgetreten ist. In einer oder mehreren Ausführungsformen enthält das System ein Wasserzeichenmarkierungs-Erkennungsmodul, ausgestaltet, eine Vielzahl von Video-Wasserzeichen zu empfangen. Das Wasserzeichen-Erkennungsmodul ist ausgestaltet zu bestimmen, ob sich ein in einem aktuellen (z. B. einem zweiten) Videoframe eingebettetes Wasserzeichen von einem in einem vorherigen (z. B. einem ersten) Videoframe eingebetteten Wasserzeichen unterscheidet. Das Wasserzeichenmarkierungs-Erkennungsmodul ist ausgestaltet, ein Fehlersignal zu erzeugen, wenn sich das in dem aktuellen (z. B. dem zweiten) Videoframe eingebettete Wasserzeichen nicht von dem in dem vorherigen (z. B. dem ersten) Videoframe eingebetteten Wasserzeichen unterscheidet, um anzuzeigen, dass ein Datenunterbrechungsereignis aufgetreten ist. In einigen Ausführungsformen kann das/können die Wasserzeichen in ein oder mehrere niederwertigste Bits des Chrominanzteils eines Videoframes eingebettet werden.
-
Das System und die Verfahren, die hier für das digitale Wasserzeichenmarkieren beschrieben sind, sind immun gegenüber den meisten Bildbearbeitungen. Das räumliche Wasserzeichen wird überabgetastet, sodass, falls das Bild in der Größe verändert wird, die Basisfunktion in einem vergrößerten oder verkleinerten Bild immer noch erkannt werden kann. Der/die Filter- und Datenwiederherstellungs-Schaltkreis(e) (DLL) ermöglichen das Erkennen bei Bildgrößenänderung. Das Überabtasten befähigt das System auch, immun gegen Bilddrehung zu sein. Außerdem ist das räumliche Wasserzeichen hoch symmetrisch und hoch redundant. Die Symmetrie des Wasserzeichens ermöglicht eine Immunität gegen vertikales oder horizontales Umdrehen des Bildes, und die Redundanz hilft bei Beschneiden und Video-Überlagerungen. Darüber hinaus ist das räumliche Wasserzeichen viel kürzer als eine typische Bildzeile und wird bei jeder Zeile wiederholt. Somit weist jedes Bild typischerweise Tausende von Kopien des Wasserzeichens auf; diese Redundanz macht das Bild immun gegen Bildbeschneidung. Außerdem wird die Redundanz mit einer konfigurierbaren Verstärkung und Überabtastungsrate erhöht, was das System befähigt, immun gegen Videokompression (z. B. Display Stream Compression [DSC]) und Bildverbesserungsbearbeitung zu sein, wie etwa Bildschärfung und Kontrasteinstellungen.
-
Die Ausgangsbearbeitung des Systems setzt die Redundanz ein, um die Erkennungen eines sich ändernden Wasserzeichens zu filtern. Der Erkennungsverarbeitungsschritt enthält eine zeilen- und framebasierte Verarbeitung. Die Schwellwerteinstellung der angepassten Filter minimiert falsche Alarme, und die Wasserzeichenerkennungszähler ermöglichen eine zuverlässige framebasierte Verteilung, aus der die Basisfunktion erkannt wurde.
-
Außerdem ermöglicht die framebasierte Verarbeitung ein Puffern eingefrorener Frames und eingefrorener Prozessor-Frames.
-
Außerdem ist das hier beschriebene System hardwareeffizient, anders als andere Systeme, die das Frequenzdomänen-Wasserzeichenmarkieren verwenden und Bildpuffer und eine komplexe digitale Verarbeitung erfordern. Das System hier erfordert keine Zeilen- oder Framepuffer und lässt sich gut auf digitale Pipeline-Verarbeitung abbilden.
-
Ausführungsbeispiele
-
1 stellt ein Blockschaltbild eines beispielhaften Systems 100 zum Wasserzeichenmarkieren von Videodaten und eines beispielhaften Systems 114 zum Erkennen des Wasserzeichens dar. Das Fehlen einer Veränderung von Videoframe zu Frame beim Wasserzeichen wird verwendet, um eine Datenunterbrechung zu erkennen (z. B. „eingefrorene” Daten). Zum Beispiel ist das System 114, wie es hier beschrieben ist, ausgestaltet, eine Datenunterbrechung eines Videostreams zu erkennen (z. B. von Videodaten). Wenn beispielsweise Videodaten, die in einer Rückfahrkamera eines Fahrzeugs (z. B. Bilderfassungsvorrichtung) erzeugt werden, unterbrochen (z. B. „eingefroren”) würden, und der Bediener des Fahrzeugs nicht darüber informiert würde, könnte ein Unfall eintreten. Wenn in einem weiteren Beispiel in einer Überwachungskamera erzeugte Videodaten unterbrochen (z. B. „eingefroren”) würden, würden die unterbrochenen Videodaten zu einem unwirksamen Überwachungssystem führen. In einer oder mehreren Ausführungsformen ist das System 100 ausgestaltet, die Videodaten mit mindestens zwei verschiedenen Wasserzeichenmarkierungsmustern zu codieren (z. B. einzubetten).
-
Wie in 1 gezeigt, enthält das System 100 ein Konvertierungsmodul 102. In einer oder mehreren Ausführungsformen ist das Konvertierungsmodul 102 kommunikativ mit einer oder mehreren Bilderfassungseinrichtungen gekoppelt (z. B. Kameras oder anderen Video-Quellen). Die eine oder die vielfachen Bilderfassungseinrichtungen sind ausgestaltet, Daten zu erzeugen, die durch die Bilderfassungseinrichtungen erfasste Bilder darstellen. Zum Beispiel können die Bilderfassungseinrichtungen ausgestaltet sein, Videodaten (z. B. Videoframes) zu erzeugen. Wie hier beschrieben, ist das System 100 ausgestaltet, die erfassten Videodaten mit mindestens zwei Wasserzeichenmustern zu codieren, die sich auf alternierenden Frames unterscheiden, sodass das System 114 bestimmen kann, ob eine Datenunterbrechung vorliegt. In einem Ausführungsbeispiel ist/sind die Bilderfassungseinrichtung(en) ausgestaltet, Videodaten zu erfassen, die Rot-Grün-Blau-Videodaten (RGB-Videodaten) umfassen (z. B. Daten, die Videoframes darstellen). Somit erzeugen die Bilderfassungseinrichtungen 102 Videodaten (z. B. Videoframe-Daten), die einen RGB-Videodatenteil, einen Steuerdatenteil, der Frame- und/oder Zeilensynchronisationsdaten umfasst (z. B. VSYNCH, HSYNCH), und einen Daten-Gültigkeitsteil umfassen. Das Konvertierungsmodul 102 ist ausgestaltet, die RGB-Videodaten (z. B. RGB-Videoframes) in den YUV-Farbraum zu konvertieren. Zum Beispiel ist das Konvertierungsmodul 102 ausgestaltet, RGB-Videodaten in entsprechende YUV-Videodaten zu konvertieren. Es versteht sich, dass optionales YUV-Eingangs-Video durch das System 100 und 114 ebenfalls unterstützt werden kann.
-
Das System 100 enthält ein Wasserzeichenmarkierungs-Erzeugungsmodul 104 zum Erzeugen und Einbetten eines Wasserzeichens in die entsprechenden YUV-Videodaten. In einer oder mehreren Ausführungsformen ist das Wasserzeichenmarkierungs-Erzeugungsmodul 104 ausgestaltet, die niederwertigsten Bits (LSBs) des Chrominanzteils (U oder V) der YUV-Videodaten durch die Wasserzeichen-Bitfolge zu ersetzen. Die Basisfunktion umfasst ein digitales Bitmuster, das zum Erzeugen des Wasserzeichens verwendet wird. In einer oder mehreren Ausführungsformen können mehrere Wasserzeichen-Basisfunktionen mit sich ändernden Polaritätseigenschaften verwendet werden. Die Basisfunktion kann überabgetastet werden, um Redundanz hinzuzufügen und den Frequenzgehalt zu reduzieren, und die Anzahl zu ersetzender LSBs kann als Verstärkungssteuerung dienen.
-
2 ist ein Blockschaltbild, das eine Wasserzeichenerzeugung (über das Wasserzeichenmarkierungs-Erzeugungsmodul 104) gemäß einem Ausführungsbeispiel der vorliegenden Offenbarung darstellt. In einer oder mehreren Ausführungsformen wird eine Maske der geringstwertigen Bits auf den Chrominanz-Datenteil angewendet. Das Wasserzeichen kann auf einem zufälligen Bitmuster beruhen, das mit einer zeitumgekehrten Version verkettet ist, um das Wasserzeichen zeitsymmetrisch zu machen (siehe 3 zu einem beispielhaften eingebetteten [z. B. eingefügten] Wasserzeichen). 3 stellt ein beispielhaftes Wasserzeichen mit einer positiven Polarität und einer negativen Polarität dar. Wie gezeigt, ist das Wasserzeichen horizontal und vertikal symmetrisch. Außerdem ist das Wasserzeichen redundant innerhalb der Zeilen und über die Zeilen (siehe 3). In einigen Ausführungsformen kann das Wasserzeichen bei jedem HSYNC neu gestartet werden. Daher kann das Wasserzeichen sowohl horizontal als auch vertikal redundant und symmetrisch sein. Die vorliegende Offenbarung ermöglicht, dass das Wasserzeichen, wenn mit einem Überabtasten kombiniert, robust gegen Bildbearbeitung ist, die ein Bild umdreht oder verdreht. 4 stellt eine beispielhafte Wasserzeichen-Basisfunktion und beispielhafte Antworten auf Grundlage der beispielhaften Wasserzeichen-Basisfunktion dar. Zum Beispiel umfasst die in 4 dargestellte Wasserzeichen-Basisfunktion ein festes „PRBS-5”-basiertes 64-bit-Muster mit Zeitsymmetrie dar.
-
In einer oder mehreren Ausführungsformen extrahiert der Wasserzeichendetektor 500, wie in 5 gezeigt, das Wasserzeichen aus den LSBs des Chrominanzteils der YUV-Videodaten 502 und erkennt es mit einem Filter über das Wasserzeichenmarkierungs-Erkennungsmodul 504 (z. B. die U- oder Y-Komponente). Zum Beispiel kann das Filter ein angepasstes Filter umfassen. In einigen Ausführungsformen umfasst das Filter ein Filter mit unbegrenztem Impulsansprechverhalten (FIR-Filter), ausgestaltet (z. B. optimiert) für das erwartete Wasserzeichen. Der Ausgang des Filters kann mit einem programmierbaren Schwellwert verglichen werden, um falsche Vergleichsergebnisse zu minimieren.
-
In einer oder mehreren Ausführungsformen können mehrere Wasserzeichen-Basisfunktionen verwendet werden, und die Polarität des Wasserzeichens kann mit jedem Videoframe geändert werden, was ermöglicht, dass das System 114 durch ein Videobearbeitungssystem 116 verursachte eingefrorene Videodaten erkennt, indem es mehrere Frame-Puffer 118 in einem System auf einem Chip (SOC) verwendet. Das Wasserzeichenmarkierungs-Erkennungsmodul 114 kann auch anhand des Vorhandenseins (oder Fehlens) des Wasserzeichens im Videoframe bestimmen, wo der jeweilige Videoframe relevant ist (z. B. ein sicherheitsbezogener Videoframe usw.). Das Wasserzeichenmarkierungs-Erkennungsmodul 114 ist ausgestaltet, die Videoframes ständig zu überwachen, um zu bestimmen, ob eine Datenunterbrechung aufgetreten ist, indem es das Wasserzeichen und die zeitlichen Änderungen des Wasserzeichens ständig überwacht. Das Wasserzeichenmarkierungs-Erkennungsmodul 114 ist ausgestaltet, ein Fehlersignal zu erzeugen, wenn bestimmt ist, dass das Video relevant ist (das Video z. B. ein Wasserzeichen enthält) und sich das Wasserzeichen und/oder die Polaritätseigenschaft nicht ändern (sich z. B. das Wasserzeichen und/oder die Polaritätseigenschaft des Wasserzeichens von Videoframe zu Videoframe nicht ändern).
-
Wieder mit Bezug auf 1 sind der Eingang des Wasserzeichenmarkierungs-Erzeugungsmoduls 104 und die Farb-Konversionsmodule 102 und 110 mit einem Wahlschalter 112 kommunikativ gekoppelt. Der Wahlschalter 112 ermöglicht das Unterstützen des RGB- oder des YUV-Formats und das Vorbeileiten nicht relevanter Videodaten am Wasserzeichen-Erzeugungsmodul.
-
Wie in 1 gezeigt, enthält das Wasserzeichenmarkierungs-Erkennungsmodul 106 auch Konversionsmodule 120 und 122, die mit dem Wahlschalter 124 kommunikativ gekoppelt sind, der auch mit dem Eingang gekoppelt ist. Der Wahlschalter 124 ermöglicht das Unterstützen des RGB- oder des YUV-Formats und das Vorbeileiten nicht relevanter Videodaten am Wasserzeichen-Erkennungsmodul.
-
5 und 6 stellen beispielhafte Blockschaltbilder zum Extrahieren und Erkennen vom in Videodaten eingebetteten Wasserzeichen über das Wasserzeichen-Erkennungsmodul 106 dar. In einer oder mehreren Ausführungsformen wird das Wasserzeichen in 502 aus den niederwertigsten Bits des Chrominanzteils (U oder V) der Videodaten extrahiert. Das extrahierte Wasserzeichensignal wird mit einem definierten Schwellwert 506 verglichen (z. B. einem festen Schwellwert, einem programmierbaren Schwellwert). In einigen Fällen kann eine Bildbearbeitung ein mit dem Wasserzeichen verknüpftes hochfrequentes Rauschen verursachen. Daher kann das Wasserzeichen überabgetastet werden, um Vorgänge hochfrequenter Rauschmuster im extrahierten Bitstrom zu reduzieren, der das Wasserzeichen darstellt. In einigen Ausführungsformen kann ein Filter, wie etwa ein Boxcar-Filter 508, verwendet werden, um während der Erkennung die Erfassung hochfrequenter Rauschmuster zu reduzieren (siehe 5).
-
Eine Abwandlung des erfassten Bildes (z. B. Größenänderung des Bildes, Neuausrichtung des Bildes) kann die Frequenzeigenschaften des Wasserzeichens verändern. Somit kann eine Takt- und Daten-Wiederherstellungsschaltung 512, wie etwa eine Delay Locked Loop (DLL) verwendet werden, um den Wasserzeichen-Bitstrom wiederherzustellen. Wie in 5 gezeigt, kann ein Satz parallel geschalteter Takt- und Daten-Wiederherstellungsschaltungen in dem System 504 verwendet werden, um eine Reihe von Bildveränderungen zu unterstützen. Die Takt- und Daten-Wiederherstellungsschaltungen 512 sind jeweils mit zugehörigen angepassten Filtern 514 verbunden, um die Wasserzeichen und/oder die Wasserzeichen-Polaritätseigenschaften zu erkennen. Jedoch versteht es sich, dass das System 106 eine beliebige Anzahl von Takt- und Daten-Wiederherstellungsschaltungen und jeweiligen angepassten Filtern je nach den Anforderungen des Systems 114 enthalten kann. In einigen Ausführungsformen sind die angepassten Filter unter Verwendung eines +1/–1 codierten Bitstroms ausgeführt, um eine Speicher- und Hardware-effiziente Umsetzung in dem System 114 zu schaffen. In einigen Ausführungsformen können Multiplizierer einen einzigen Schaltkreis 602 mit einem minimierten Addiererbaum 604 verwenden (siehe 6).
-
6 stellt ein Ausführungsbeispiel eines angepassten Filters 600 dar. In einer oder mehreren Ausführungsformen ist das angepasste Filter ausgestaltet, ein Ausgangssignal zu erzeugen, das darstellt, ob der Videoframe ein Wasserzeichen mit einer bestimmten Basisfunktion und Polarität enthält.
-
Wie in 7 gezeigt, werden in einer Ausführungsform die Ausgangssignale der angepassten Filter kombiniert und gefiltert, um die Erzeugung falscher Alarme zu minimieren. In einer Ausführungsform ist ein Filter verwendet, um das Vorhandensein eines Wasserzeichens 704, die Polarität des Wasserzeichens 706 und die Basisfunktion des Wasserzeichens 710 zu erkennen. Die kombinierten Ausgangssignale können unter Verwendung von Zählern und/oder eines programmierbaren Schwellwerts 708 gefiltert werden.
-
Das VSYNC-Signal (z. B. framebasierte Signal) kann bei der Fehlererkennungsverarbeitung 702 verwendet werden, um zu bestimmen, ob ein Wasserzeichen vorhanden ist und sich von Frame zu Frame ändert. Falls das Wasserzeichen vorhanden ist und sich nicht von Videoframe zu Videoframe ändert, wird bei 712 ein Fehlersignal erzeugt, das ein sich nicht änderndes Wasserzeichen meldet. In einer oder mehreren Ausführungsformen kann das Fehlersignal verwendet werden, um einen Prozessor zu unterbrechen, und/oder verwendet werden, um die Videodarstellung auf einem Anzeigebild zu unterbrechen. Zum Beispiel kann das Fehlersignal verwendet werden, um die Darstellung von Videoframes zu unterbrechen, die von einer Rückfahrkamera erfasste Bilder darstellen, wenn ein sicherheitsrelevanter Videostream eingefroren ist (z. B. ein Videostream mit darin eingebetteten Wasserzeichen). In einer Ausführungsform kann dieses Signal verwendet werden, um den Videostream oder die Anzeige auszublenden, um zu verhindern, dass einem Systembenutzer eingefrorene Videodaten dargeboten werden.
-
In einer oder mehreren Ausführungsformen kann das SOC 116 nicht relevante statische Videostreams (z. B. eine Landkarte) durch das System 114 hindurch leiten, aber keine Fehlersignale zu diesen nicht relevanten statischen Daten erzeugen, weil die nicht relevanten statischen Videostreams kein Wasserzeichen enthalten.
-
Außerdem leiten einige Videostream-Verarbeitungssysteme die Videostreams durch einen Videoprozessor 116, um Videos aus mehreren Quellen zu verschiedenen Anzeigen zu leiten. Diese Art videobearbeitender Architekturen kann mehrere Videobildframe-Puffer 118 am Eingang und/oder Ausgang enthalten. Wenn ein Fehler auftritt, können die Ausgangsframe-Puffer 118 immer noch in mehreren eindeutigen und gültigen Videobildern erzeugen. Somit können Systeme, die sich ändernde CRCs des Bildes oder von Teilen des Frames erkennen, möglicherweise eine Datenunterbrechung nicht erkennen, wenn mehrere gültige wiederholte Bilddaten verarbeitet werden. Das System 114 ist konfigurierbar, mehr Wasserzeichen als die Anzahl von Videoframe-Puffern im Prozessor zu verwenden. Die Verwendung dieser Wasserzeichen ermöglicht die Erkennung, sogar wenn die Frame-basierte Verarbeitung unterbrochen wurde. Wenn beispielsweise ein Videoframe-Verarbeitungssystem einen doppelten Frame-Puffer aufweist und der Generator ausgestaltet ist, vier (4) eindeutige Wasserzeichen zu erzeugen, erkennt der oben beschriebene Erkennungsvorgang, dass die Wasserzeichen-Basisfunktion nicht die erzeugten vier (4) Wasserzeichenfunktionen umfasst.
-
Außerdem können andere Videostream-Verarbeitungssysteme die Daten beträchtlich verändern, die das/die ursprünglich erfasste(n) Bild(er) darstellen. Zum Beispiel kann ein Bildbeschneiden geänderte Pixel entfernen oder verschieben, die eindeutige Identifikatoren enthalten, wie etwa Bildzähler.
-
Wie oben beschrieben, beschreibt die vorliegende Offenbarung ein Einbetten von Wasserzeichen in relevante Videoframes. Das räumliche Wasserzeichen kann überabgetastet werden, sodass, falls die Bildgröße verändert wird, die Basisfunktion in dem veränderten Bild immer noch erkannt werden kann. Zum Beispiel ermöglicht die oben beschriebene Filter- und Datenwiederherstellungsschaltung ein Erkennen des Wasserzeichens. Außerdem befähigt das Überabtasten des Wasserzeichens das System 114 auch, das Wasserzeichen im Falle einer Bilddrehung zu erkennen. Das räumliche Wasserzeichen ist symmetrisch und redundant. Zum Beispiel kann die Symmetrie ein Erkennen des Wasserzeichens im Falle des vertikalen oder horizontalen Umdrehens des Bildes vorsehen, und die Redundanz kann ein Erkennen des Wasserzeichens in einem durch ein Beschneiden und/oder durch Video-Überlagerungen veränderten Bild ermöglichen. Zum Beispiel kann das räumliche Wasserzeichen kürzer als die Bildzeile sein und kann in jede Zeile eingebettet sein. Außerdem kann das System 114 eine konfigurierbare Verstärkung (z. B. eine dem Wasserzeichen entsprechende programmierbare Verstärkung) und eine konfigurierbare Überabtastungsrate verwenden (z. B. eine programmierbare Überabtastungsrate zum Abtasten des Wasserzeichens). In einigen Fällen umfassen die Verstärkung und das Überabtasten eine feste Verstärkung und eine feste Überabtastungsrate.
-
Das System 114 verwendet auch die Redundanz, um die Erkennungen eines sich ändernden Wasserzeichens zu filtern. Zum Beispiel kann die Erkennung des Wasserzeichens eine Zeilen- und Frame-basierte Verarbeitung umfassen. Auch kann das Verwenden eines definierten Schwellwerts für das/die angepassten Filter falsche Alarme minimieren, und die Wasserzeichen-Erkennungszähler ermöglichen eine framebasierte Verteilung, für die die Basisfunktion erkennt wurde. Das System 114 erfordert keine Zeilen- oder Frame-Puffer.
-
Schlussbemerkung
-
Obwohl der Gegenstand in einer Sprache beschrieben wurde, die spezifisch für Aufbaumerkmale und/oder Verfahrensvorgänge ist, versteht es sich, dass der in den angefügten Ansprüchen definierte Gegenstand nicht unbedingt auf die oben beschriebenen spezifischen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die oben beschriebenen spezifischen Merkmale und Vorgänge als beispielhafte Ausführungsformen der Ansprüche offenbart.
-
Bestimmte Ausführungsformen sind hier so beschrieben, dass sie Logik oder eine Anzahl von Bauteilen, Modulen oder Vorrichtungen enthalten. Module können Software-Module (z. B. auf einem maschinenlesbaren Datenträger oder in einem Übertragungsmedium gespeicherter oder anderweitig enthaltener Programmcode), Hardware-Modul oder eine beliebige geeignete Kombination davon sein. Ein „Hardware-Modul” ist eine materielle (z. B. nicht vorübergehende) Einrichtung, die in der Lage ist, bestimmte Operationen durchzuführen, und in einer bestimmten physischen Weise gestaltet oder angeordnet sein kann. In verschiedenen Ausführungsbeispielen können ein oder mehrere Computersysteme (z. B. ein Einzel-Computersystem, ein Client-Computersystem oder ein Server-Computersystem) oder ein oder mehrere Hardware-Module eines Computersystems (z. B. ein Prozessor oder eine Gruppe von Prozessoren) durch Software (z. B. eine Anwendung oder einen Anwendungsteil) als ein Hardware-Modul gestaltet sein, das so arbeitet, dass es bestimmte Operationen durchführt, wie sie hier beschrieben sind.
-
In einigen Ausführungsformen kann ein Hardware-Modul mechanisch, elektronisch oder in einer beliebigen geeigneten Kombination davon ausgeführt sein. Zum Beispiel kann ein Hardware-Modul eine zugeordnete Schaltung oder Logik enthalten, die dauernd gestaltet ist, bestimmte Operationen durchzuführen. Zum Beispiel kann ein Hardware-Modul ein Spezial-Prozessor sein, wie etwa ein Field Programmable Gate Array (FPGA) oder ein ASIC. Ein Hardware-Modul kann auch eine programmierbare Logik oder Schaltung enthalten, die vorübergehend durch Software konfiguriert ist, um bestimmte Operationen durchzuführen. Zum Beispiel kann ein Hardware-Modul Software enthalten, die in einem Allzweck-Prozessor oder anderen programmierbaren Prozessor enthalten ist. Es ist einzusehen, dass die Entscheidung, ein Hardware-Modul mechanisch, als zugeordnete und permanent gestaltete Schaltung oder in einer vorübergehend konfigurierten Schaltung (z. B. durch Software konfiguriert) auszuführen, durch Kosten- und Zeitüberlegungen getrieben sein kann.
-
Demgemäß sollte der Ausdruck „Hardware-Modul” so verstanden werden, dass er eine materielle Einheit umfasst, und eine solche materielle Einheit kann physisch konstruiert, dauernd gestaltet (z. B. fest verdrahtet) oder vorübergehend gestaltet (z. B. programmiert) sein, um auf eine bestimmte Weise zu arbeiten, um bestimmte hier beschriebene Operationen durchzuführen. Wie es hier verwendet ist, bezieht sich „in Hardware ausgeführtes Modul” auf ein Hardware-Modul. Bei Betrachtung von Ausführungsformen, in denen Hardware-Module vorübergehend konfiguriert (z. B. programmiert) werden, muss nicht jedes der Hardware-Module zu jedem Zeitpunkt konfiguriert oder realisiert sein. Wo beispielsweise ein Hardware-Modul einen Allzweck-Prozessor umfasst, der durch Software konfiguriert ist, um zu einem Spezial-Prozessor zu werden, kann der Allzweck-Prozessor zu verschiedenen Zeiten als jeweils anderer Spezial-Prozessor konfiguriert werden (der z. B. verschiedene Hardware-Module umfasst). Software (z. B. ein Software-Modul) kann demgemäß beispielsweise einen oder mehrere Prozessoren konfigurieren, um zu einem Zeitpunkt ein bestimmtes Hardware-Modul zu bilden, und um zu einem anderen Zeitpunkt ein anderes Hardware-Modul zu bilden.
-
Hardware-Module können Informationen für andere Hardware-Module vorsehen und Informationen von anderen Hardware-Modulen empfangen. Demgemäß können die beschriebenen Hardware-Module als kommunikativ gekoppelt betrachtet werden. Wo mehrere Hardware-Module gleichzeitig bestehen, kann die Kommunikation durch Signalübertragung (z. B. über geeignete Schaltkreise und Busse) zwischen oder unter zwei oder mehreren der Hardware-Module erreicht werden. In Ausführungsformen, in denen mehrere Hardware-Module zu verschiedenen Zeitpunkten konfiguriert oder realisiert sind, kann eine Kommunikation zwischen solchen Hardware-Modulen beispielsweise durch das Speichern und Aufrufen von Informationen in Speicherstrukturen erreicht werden, auf die die vielfachen Hardware-Module Zugriff haben. Zum Beispiel kann ein Hardware-Modul eine Operation durchführen und das Ergebnis dieser Operation in einer Speichervorrichtung speichern, mit der es kommunikativ gekoppelt ist. Ein weiteres Hardware-Modul kann dann zu einem späteren Zeitpunkt auf die Speichervorrichtung zugreifen und das gespeicherte Ergebnis verarbeiten. Hardware-Module können auch Kommunikationen mit Eingabe- oder Ausgabevorrichtungen einleiten und können an einer Ressource arbeiten (z. B. einer Informationssammlung).
-
Die verschiedenen hier beschriebenen Operationen beispielhafter Verfahren können zumindest teilweise durch einen oder mehrere Prozessoren durchgeführt werden, die vorübergehend (z. B. durch Software) oder dauernd konfiguriert sind, die relevanten Operationen durchzuführen. Ob vorübergehend oder dauernd konfiguriert, können solche Prozessoren Prozessor-implementierte Module bilden, die arbeiten, um eine oder mehrere hier beschriebene Operationen oder Funktionen durchzuführen. Wie es hier verwendet ist, bezieht sich „Prozessor-implementiertes Modul” auf ein Hardware-Modul, das unter Verwendung eines oder mehrerer Prozessoren ausgeführt ist.
-
Ähnlich können die hier beschriebenen Verfahren zumindest teilweise Prozessor-implementiert sein, wobei ein Prozessor ein Beispiel von Hardware ist. Zum Beispiel können zumindest einige der Operationen eines Verfahrens durch einen oder mehrere Prozessoren oder Prozessor-implementierte Module durchgeführt werden. Wie es hier verwendet ist, bezieht sich „Prozessor-implementiertes Modul” auf ein Hardware-Modul, in dem die Hardware einen oder mehrere Prozessoren enthält. Darüber hinaus kann der eine oder können die vielfachen Prozessoren auch arbeiten, um das Durchführen der relevanten Operationen in einer „Cloud-Computing”-Umgebung oder als „Software as a Service” (SaaS) zu unterstützen. Zum Beispiel können zumindest einige der Operationen durch eine Gruppe von Computern (als Beispiele von Prozessoren enthaltenden Maschinen) durchgeführt werden, wobei diese Operationen über ein Netzwerk (z. B. das Internet) und über eine oder mehrere geeignete Schnittstellen (z. B. eine Anwendungsprogramm-Schnittstelle [API]) zugänglich sind.