DE112020000150T5 - IMPROVED IMAGE WATERMARKS - Google Patents
IMPROVED IMAGE WATERMARKS Download PDFInfo
- Publication number
- DE112020000150T5 DE112020000150T5 DE112020000150.4T DE112020000150T DE112020000150T5 DE 112020000150 T5 DE112020000150 T5 DE 112020000150T5 DE 112020000150 T DE112020000150 T DE 112020000150T DE 112020000150 T5 DE112020000150 T5 DE 112020000150T5
- Authority
- DE
- Germany
- Prior art keywords
- image
- screenshot
- identifier
- metadata associated
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims description 28
- 238000012937 correction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 6
- 238000013144 data compression Methods 0.000 abstract description 4
- 230000000593 degrading effect Effects 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013515 script Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006735 deficit Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 241001530812 Goupia glabra Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23892—Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0065—Extraction of an embedded watermark; Reliable detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0083—Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0202—Image watermarking whereby the quality of watermarked images is measured; Measuring quality or performance of watermarking methods; Balancing between quality and robustness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Die vorliegende Offenbarung stellt Systeme und Verfahren für eine verbesserte Bildwasserzeichenkennzeichnung bereit, um die Robustheit und Kapazität zu verbessern, ohne die Wahrnehmbarkeit zu verschlechtern. Insbesondere ermöglichen die hierin erörterten Systeme und Verfahren eine höhere Decodierungserfolgsrate bei demselben Verzerrungsniveau und derselben Nachrichtenrate; oder eine höhere Nachrichtenrate bei gleichem Verzerrungsniveau und gleicher Decodierungserfolgsrate. Implementierungen dieser Systeme verwenden eine Seitenkette zusätzlicher Informationen, die nur dem Decodierer und nicht dem Codierer zur Verfügung stehen, um eine asymptotisch verlustfreie Datenkompression, die die Übertragung derselben Nachricht ermöglicht, zu erreichen.The present disclosure provides systems and methods for improved image watermarking to improve robustness and capacity without degrading perceptibility. In particular, the systems and methods discussed herein enable a higher decoding success rate with the same level of distortion and the same message rate; or a higher message rate with the same level of distortion and the same decoding success rate. Implementations of these systems use a side chain of additional information that is only available to the decoder and not the encoder to achieve asymptotically lossless data compression that enables the same message to be transmitted.
Description
VERWANDTE ANMELDUNGENRELATED REGISTRATIONS
Die vorliegende Anmeldung beansprucht den Vorteil und die Priorität der PCT-Anmeldung Nr. PCT/
HINTERGRUNDBACKGROUND
Bildwasserzeichen sind eine Technik, die visuell nicht wahrnehmbare Daten oder Nachrichten in ein Bild einbettet und als nicht sichtbar oder sichtbar kategorisiert werden kann, abhängig davon, ob das Originalbild für die Wasserzeichenextraktion erforderlich ist. Sichtbares Wasserzeichen ist besonders nützlich, da die eingebetteten Daten wiederhergestellt werden können, ohne Zugriff auf das ursprüngliche voreingebettete Bild zu haben.Image watermarks are a technique that embeds visually imperceptible data or messages in an image and can be categorized as invisible or visible depending on whether the original image is required for watermark extraction. Visible watermark is particularly useful because the embedded data can be recovered without access to the original pre-embedded image.
Gegenwärtige Implementierungen von sichtbarem Bild-Wasserzeichen können jedoch Probleme mit der Wahrnehmbarkeit (z.B., ob eine durch das Einbetten der Wasserzeichen-Nachricht eingeführte Verzerrung durch einen Betrachter erkennbar ist), der Robustheit (z.B. der Erfolgsrate bei einem Decodierer, der die eingebettete Nachricht decodiert) haben, und der Kapazität (z.B. die Datenmenge oder Rate, mit der Daten in das Bild eingebettet werden können). In vielen Implementierungen kann das Erhöhen einer dieser Implementierungen zu drastischen Verschlechterungen bei den anderen führen.Current implementations of visible image watermarks, however, can have problems with perceptibility (e.g. whether a distortion introduced by the embedding of the watermark message can be seen by a viewer), robustness (e.g. the success rate with a decoder that decodes the embedded message) and the capacity (e.g., the amount of data or rate at which data can be embedded in the image). In many implementations, increasing one of these implementations can dramatically degrade the other.
ZUSAMMENFASSUNGSUMMARY
In vielen Implementierungen kann das Erhöhen einer dieser Implementierungen zu drastischen Verschlechterungen bei den anderen führen. Insbesondere ermöglichen die hier diskutierten Systeme und Verfahren eine höhere Decodierungserfolgsrate bei gleichem Verzerrungsgrad und gleicher Nachrichtenrate; oder eine höhere Nachrichtenrate bei gleichem Verzerrungsgrad und gleicher Decodierungserfolgsrate. Implementierungen dieser Systeme verwenden eine Seitenkette (oder einen Seitenkanal) zusätzlicher Informationen, die nur dem Decodierer und nicht dem Codierer zur Verfügung stehen, um eine asymptotisch verlustfreie Datenkomprimierung zu erreichen, wodurch dieselbe Nachricht robuster oder in weniger Bits übertragen werden kann.In many implementations, increasing one of these implementations can dramatically degrade the other. In particular, the systems and methods discussed here enable a higher decoding success rate with the same degree of distortion and the same message rate; or a higher message rate with the same degree of distortion and the same decoding success rate. Implementations of these systems use a side chain (or side channel) of additional information that is only available to the decoder and not the encoder to achieve asymptotically lossless data compression, which allows the same message to be transmitted more robustly or in fewer bits.
In einem Aspekt ist die vorliegende Offenbarung auf ein System zur Verbesserung des Wasserzeichens gerichtet. Das System enthält einen Decodierer eines Geräts. Der Decodierer ist konfiguriert, zum: Empfangen einr Aufnahme eines Bildes, das mindestens ein eingebettetes Wasserzeichen umfasst; Bestimmen eines Zeitstempels der Erfassung; Dekodieren einer Binärzeichenfolge aus dem eingebetteten Wasserzeichen; Decodieren, unter Verwendung eines Teils des Zeitstempels der Erfassung, einer Kennung aus der Binärzeichenfolge, die einen Zeitstempel des Bildes umfasst; und Ausgeben der decodierten Kennung.In one aspect, the present disclosure is directed to a system for enhancing the watermark. The system includes a decoder of a device. The decoder is configured to: receive a capture of an image including at least one embedded watermark; Determining a timestamp of the acquisition; Decoding a binary string from the embedded watermark; Decoding, using part of the timestamp of the acquisition, an identifier from the binary string comprising a timestamp of the image; and outputting the decoded identifier.
In einigen Implementierungen wird der Zeitstempel der Erfassung in Metadaten der Erfassung identifiziert. In einigen Implementierungen ist der Decodierer so konfiguriert, dass er den Zeitstempel der Erfassung aus einem Header eines Pakets, das die Erfassung umfasst, extrahiert. In einigen Implementierungen umfasst die Binärzeichenfolge des eingebetteten Wasserzeichens eine Teilmenge des Zeitstempels des Bildes. In einer weiteren Implementierung ist der Decodierer konfiguriert, um die Kennung aus der Binärzeichenfolge zu decodieren, indem der Teil des Zeitstempels der Erfassung mit der Teilmenge des Zeitstempels des Bildes verkettet wird. In einer anderen weiteren Implementierung umfasst die Binärzeichenfolge des eingebetteten Wasserzeichens eine Anzahl von Fehlerkorrekturbits, die größer sind als eine Differenz zwischen einer Länge des Zeitstempels des Bildes und einer Länge der Teilmenge des Zeitstempels des Bildes.In some implementations, the timestamp of the acquisition is identified in metadata of the acquisition. In some implementations, the decoder is configured to extract the timestamp of the detection from a header of a packet that includes the detection. In some implementations, the binary string of the embedded watermark comprises a subset of the timestamp of the image. In another implementation, the decoder is configured to decode the identifier from the binary string by concatenating the portion of the timestamp of the acquisition with the subset of the timestamp of the image. In another further implementation, the binary string of the embedded watermark comprises a number of error correction bits that are greater than a difference between a length of the time stamp of the image and a length of the subset of the time stamp of the image.
In einigen Implementierungen ist der Decodierer konfiguriert, um die Kennung aus der Binärzeichenfolge zu decodieren, indem der Teil des Zeitstempels der Erfassung mit einem vorbestimmten Versatz kombiniert wird. In einer weiteren Implementierung ist der Decodierer so konfiguriert, dass er den Identifizierer aus der Binärzeichenfolge decodiert, indem er den Teil des Zeitstempels der Erfassung iterativ mit einem Vielfachen des vorbestimmten Versatzes kombiniert, bis der Identifizierer erfolgreich decodiert ist.In some implementations, the decoder is configured to decode the identifier from the binary string by combining the portion of the timestamp of the acquisition with a predetermined offset. In another implementation, the decoder is configured to decode the identifier from the binary string by iteratively combining the portion of the timestamp of detection with a multiple of the predetermined offset until the identifier is successfully decoded.
In einigen Implementierungen umfasst die Binärzeichenfolge eine Adresse eines Inhaltsservers, der das Bild, das das mindestens eine eingebettete Wasserzeichen umfasst, erzeugt hat. In einer weiteren Implementierung umfasst die Binärzeichenfolge eine Kennung eines Prozesses des Inhaltsservers, der das Bild, das das mindestens eine eingebettete Wasserzeichen umfasst, erzeugt hat.In some implementations, the binary string includes an address of a content server that generated the image that includes the at least one embedded watermark. In another Implementation, the binary string includes an identifier of a process of the content server that generated the image that includes the at least one embedded watermark.
In einem anderen Aspekt ist die vorliegende Offenbarung auf ein Verfahren zur Verbesserung des Wasserzeichens gerichtet. Das Verfahren umfasst das Empfangen einer Erfassung eines Bildes, das mindestens ein eingebettetes Wasserzeichen umfasst, durch einen Decodierer eines Geräts von einem Client-Gerät. Das Verfahren umfasst auch das Bestimmen eines Zeitstempels der Erfassung durch den Decodierer. Das Verfahren umfasst auch das Decodieren einer Binärzeichenfolge aus dem eingebetteten Wasserzeichen durch den Decodierer. Das Verfahren umfasst auch das Verwenden eines Teils des Zeitstempels der Erfassung, das Decodieren durch den Decodierer einer Kennung aus der Binärzeichenfolge, die einen Zeitstempel des Bildes umfasst. Das Verfahren umfasst auch das Ausgeben der decodierten Kennung durch den Decodierer.In another aspect, the present disclosure is directed to a method of enhancing the watermark. The method includes receiving from a client device a capture of an image including at least one embedded watermark by a decoder of a device. The method also includes determining a timestamp of the detection by the decoder. The method also includes decoding a binary string from the embedded watermark by the decoder. The method also comprises using part of the time stamp of the acquisition, the decoding by the decoder of an identifier from the binary character sequence which comprises a time stamp of the image. The method also includes outputting the decoded identifier by the decoder.
In einigen Implementierungen wird der Zeitstempel der Erfassung in Metadaten der Erfassung identifiziert. In einigen Implementierungen umfasst das Verfahren das Extrahieren durch den Decodierer des Zeitstempels der Erfassung aus einem Header eines Pakets, das die Erfassung umfasst. In einigen Implementierungen umfasst die Binärzeichenfolge des eingebetteten Wasserzeichens eine Teilmenge des Zeitstempels des Bildes. In einer weiteren Implementierung umfasst das Verfahren das Verketten des Teils des Zeitstempels der Erfassung mit der Teilmenge des Zeitstempels des Bildes. In einer anderen weiteren Implementierung umfasst die Binärzeichenfolge des eingebetteten Wasserzeichens eine Anzahl von Fehlerkorrekturbits, die größer als eine Differenz zwischen einer Länge des Zeitstempels des Bildes und einer Länge der Teilmenge des Zeitstempels des Bildes sind.In some implementations, the timestamp of the acquisition is identified in metadata of the acquisition. In some implementations, the method includes extracting, by the decoder, the timestamp of the detection from a header of a packet that includes the detection. In some implementations, the binary string of the embedded watermark comprises a subset of the timestamp of the image. In a further implementation, the method comprises concatenating the part of the timestamp of the acquisition with the subset of the timestamp of the image. In another further implementation, the binary string of the embedded watermark comprises a number of error correction bits that are greater than a difference between a length of the time stamp of the image and a length of the subset of the time stamp of the image.
In einigen Implementierungen umfasst das Verfahren das Kombinieren des Teils des Zeitstempels der Erfassung mit einem vorbestimmten Versatz. In einer weiteren Implementierung umfasst das Verfahren das iterative Kombinieren des Teils des Zeitstempels der Erfassung mit einem Vielfachen des vorbestimmten Versatzes, bis die Kennung erfolgreich decodiert ist.In some implementations, the method includes combining the portion of the timestamp of the acquisition with a predetermined offset. In another implementation, the method comprises iteratively combining the portion of the timestamp of the acquisition with a multiple of the predetermined offset until the identifier is successfully decoded.
In einigen Implementierungen umfasst die Binärzeichenfolge eine Adresse eines Inhaltsservers, der das Bild erzeugt hat, das das mindestens eine eingebettete Wasserzeichen umfasst. In einer weiteren Implementierung umfasst die Binärzeichenfolge eine Kennung eines Prozesses des Inhaltsservers, der das Bild erzeugt hat, das das mindestens eine eingebettete Wasserzeichen umfasst.In some implementations, the binary string includes an address of a content server that generated the image that includes the at least one embedded watermark. In a further implementation, the binary string includes an identifier of a process of the content server that generated the image that includes the at least one embedded watermark.
In einem anderen Aspekt ist die vorliegende Offenbarung auf ein Wasserzeichensystem gerichtet. Das System enthält einen Codierer eines Geräts, das konfiguriert ist, um: ein Bild und Metadaten, die dem Bild zugeordnet sind, zu empfangen; eine Binärzeichenfolge aus einer Teilmenge der dem Bild zugeordneten Metadaten zu erzeugen; ein Wasserzeichen aus der Binärzeichenfolge zu kodieren; und das Wasserzeichen in das Bild einzubinden. Ein Decodierer des Geräts oder eines zweiten Geräts stellt die dem Bild zugeordneten Metadaten aus der Teilmenge der Metadaten, die dem im eingebetteten Wasserzeichen codierten Bild zugeordnet sind, und aus zusätzlichen Metadaten, die mit der Erfassung einer Anzeige des Bildes auf einem dritten Gerät verbunden sind, wieder her.In another aspect, the present disclosure is directed to a watermarking system. The system includes an encoder of a device configured to: receive an image and metadata associated with the image; generate a binary string from a subset of the metadata associated with the image; encode a watermark from the binary string; and embed the watermark in the image. A decoder of the device or of a second device provides the metadata assigned to the image from the subset of the metadata assigned to the image encoded in the embedded watermark and from additional metadata associated with the acquisition of a display of the image on a third device, again.
In einigen Implementierungen umfassen die dem Bild zugeordneten Metadaten einen Zeitstempel des Bildes, und die zusätzlichen Metadaten umfassen einen Zeitstempel der Erfassung der Anzeige des Bildes bei der dritten Vorrichtung. In einigen Implementierungen ist der Codierer des Geräts so konfiguriert, dass er die Binärzeichenfolge aus einer vorbestimmten Anzahl von niedrigstwertigen Bits der dem Bild zugeordneten Metadaten erzeugt.In some implementations, the metadata associated with the image includes a time stamp of the image and the additional metadata includes a time stamp of the acquisition of the display of the image at the third device. In some implementations, the device's encoder is configured to generate the binary string from a predetermined number of least significant bits of the metadata associated with the image.
In einem anderen Aspekt ist die vorliegende Offenbarung auf ein Verfahren zum Wasserzeichen gerichtet. Das Verfahren umfasst das Empfangen durch einen Codierer eines Geräts eines Bildes und von Metadaten, die dem Bild zugeordnet sind. Das Verfahren umfasst auch das Erzeugen einer Binärzeichenfolge durch den Codierer aus einer Teilmenge der Metadaten, die dem Bild zugeordnet sind. Das Verfahren umfasst auch das Codieren eines Wasserzeichens aus der Binärzeichenfolge durch den Codierer. Das Verfahren umfasst auch das Einbetten des Wasserzeichens in das Bild durch den Codierer. Ein Decodierer des Geräts oder eines zweiten Geräts stellt die dem Bild zugeordneten Metadaten aus der Teilmenge der Metadaten wieder her, die dem im eingebetteten Wasserzeichen codierten Bild zugeordnet sind, und aus zusätzlichen Metadaten, die mit der Erfassung einer Anzeige des Bildes auf einem dritten Gerät verbunden sind.In another aspect, the present disclosure is directed to a method of watermarking. The method includes receiving, by an encoder of a device, an image and metadata associated with the image. The method also includes generating a binary string by the encoder from a subset of the metadata associated with the image. The method also includes encoding a watermark from the binary string by the encoder. The method also includes embedding the watermark in the image by the encoder. A decoder of the device or a second device recovers the metadata associated with the image from the subset of metadata associated with the image encoded in the embedded watermark and from additional metadata associated with the acquisition of a display of the image on a third device are.
In einigen Implementierungen umfassen die dem Bild zugeordneten Metadaten einen Zeitstempel des Bildes, und die zusätzlichen Metadaten umfassen einen Zeitstempel der Erfassung der Anzeige des Bildes bei der dritten Vorrichtung. In einigen Implementierungen umfasst das Verfahren das Erzeugen der Binärzeichenfolge aus einer vorbestimmten Anzahl von niedrigstwertigen Bits der dem Bild zugeordneten Metadaten.In some implementations, the metadata associated with the image includes a time stamp of the image and the additional metadata includes a time stamp when the image was captured the third device. In some implementations, the method includes generating the binary string from a predetermined number of least significant bits of the metadata associated with the image.
Die vorliegende Offenbarung stellt auch ein Computerprogramm bereit, das Anweisungen umfasst, die, wenn sie von einer Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, eines der hierin offenbarten Verfahren auszuführen. Die vorliegende Offenbarung stellt auch ein computerlesbares Medium bereit, das Anweisungen umfasst, die, wenn sie von einer Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, eines der hierin offenbarten Verfahren auszuführen.The present disclosure also provides a computer program that includes instructions that, when executed by a computing device, cause the computing device to perform any of the methods disclosed herein. The present disclosure also provides a computer readable medium that includes instructions that, when executed by a computing device, cause the computing device to perform any of the methods disclosed herein.
Optionale Merkmale eines Aspekts können mit jedem anderen Aspekt kombiniert werden.Optional features of one aspect can be combined with any other aspect.
FigurenlisteFigure list
Die Details einer oder mehrerer Implementierungen sind in den beigefügten Zeichnungen und der folgenden Beschreibung angegeben. Andere Merkmale, Aspekte und Vorteile der Offenbarung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen ersichtlich, in denen:
-
1A ist eine Darstellung einer beispielhaften Implementierung eines Bildwasserzeichens; -
1B ist eine Darstellung eines Datenformats zur Bildwasserzeichenmarkierung gemäß einer Implementierung; -
1C ist eine Darstellung eines Datenformats zur Bildwasserzeichenmarkierung gemäß einer anderen Implementierung; und -
2A ist ein Blockdiagramm eines Systems zum Bildwasserzeichen gemäß einer Implementierung; -
2B ist ein Blockdiagramm eines Systems zum Bildwasserzeichen gemäß einer anderen Implementierung; -
3 ist ein Blockdiagramm eines Systems zum Bildwasserzeichen gemäß einigen Implementierungen; und -
4 ist ein Flussdiagramm eines Verfahrens zum Bildwasserzeichen gemäß einigen Implementierungen.
-
1A Figure 3 is an illustration of an exemplary implementation of an image watermark; -
1B Figure 3 is an illustration of a data format for image watermarking according to one implementation; -
1C Figure 13 is an illustration of a data format for image watermarking in accordance with another implementation; and -
2A Figure 13 is a block diagram of an image watermarking system according to one implementation; -
2 B Figure 13 is a block diagram of an image watermarking system in accordance with another implementation; -
3 Figure 3 is a block diagram of an image watermarking system, in accordance with some implementations; and -
4th Figure 4 is a flow diagram of a method for image watermarking, in accordance with some implementations.
Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.The same reference numbers and designations in the various drawings refer to the same elements.
DETAILIERTE BESCHREIBUNGDETAILED DESCRIPTION
Bildwasserzeichen sind eine Technik, die visuell nicht wahrnehmbare Daten oder Nachrichten in ein Bild einbettet und als nicht sichtbar oder sichtbar kategorisiert werden kann, abhängig davon, ob das Originalbild für die Wasserzeichenextraktion erforderlich ist. Sichtbares Wasserzeichen ist besonders nützlich, da die eingebetteten Daten wiederhergestellt werden können, ohne Zugriff auf das ursprüngliche voreinbettete Bild zu haben.Image watermarks are a technique that embeds visually imperceptible data or messages in an image and can be categorized as invisible or visible depending on whether the original image is required for watermark extraction. Visible watermark is particularly useful because the embedded data can be recovered without access to the original pre-embedded image.
Zum Beispiel, kurz auf
Jede Art von Daten kann innerhalb der Wasserzeichen
In einer solchen Implementierung können die Daten von einem Inhaltsserver in ein Bild codiert werden, bevor das Bild einem Client-Gerät mit einer IP-Adresse des Inhaltsservers und einer Prozesskennung des Prozesses, der das Bild erzeugt hat, bereitgestellt wird. Anschließend, wenn das Bild von dem Client-Gerät empfangen und gerendert wird, kann ein Überwachungsprozess auf dem Client-Gerät einen Screenshot des Bilds erfassen und den Screenshot an den Inhaltsserver oder einen Überwachungsserver liefern. Beispielsweise kann der Überwachungsprozess auf dem Client-Gerät möglicherweise nicht auf das Bild selbst zugreifen (z.B. kann das Bild an einem Ort im Speicher des Client-Geräts, auf den der Überwachungsprozess keinen Zugriff hat, gespeichert sein), kann jedoch einen Screenshot des Bildes erfassen (z.B. durch Auslesen von Bilddaten aus einem Framebuffer oder durch Aufnehmen des Bildes mit einer Kamera). Der Server kann das Wasserzeichen decodieren, um den ursprünglichen Erzeugungsprozess und den Server sowie den Zeitpunkt, zu dem das Bild erzeugt oder markiert wurde, zu identifizieren, und kann das Screenshot-Bild mit dem Originalbild vergleichen. Dies kann es einem System ermöglichen, automatisch Verzerrungen oder Bildbeschädigungen zu erkennen, die durch Render- oder Codierprozesse für das Bild verursacht werden, sowie andere Aspekte des Bildes zu identifizieren. In Implementierungen, bei denen der Inhaltsserver und der Überwachungsserver unterschiedlich sind, kann dies dem Überwachungsserver insbesondere ermöglichen, einen bestimmten Inhaltsserver einer Vielzahl von Inhaltsservern, die das Bild an das Client-Gerät geliefert haben, zu identifizieren. Dies kann für die Protokollierung, Nachverfolgung und Analyse hilfreich sein und ist erheblich einfacher als der Versuch, HTTP-Protokolle oder ähnliche Protokolle vom Client-Gerät abzurufen (auf das der Überwachungsserver möglicherweise keinen Zugriff hat).In such an implementation, the data may be encoded into an image by a content server prior to providing the image to a client device with an IP address of the content server and a process identifier of the process that created the image. Then, when the image is received and rendered by the client device, a surveillance process on the client device can capture a screenshot of the image and deliver the screenshot to the content server or a surveillance server. For example, the surveillance process on the client device may not be able to access the image itself (e.g., the image may be stored in a location in the client device's memory that the surveillance process cannot access), but it can capture a screenshot of the image (e.g. by reading out image data from a frame buffer or by taking the image with a camera). The server can decode the watermark to identify the original creation process and server and the time the image was created or tagged, and can compare the screenshot image with the original image. This can enable a system to automatically detect distortion or damage to the image caused by rendering or coding processes for the image, as well as other aspects of the image. In particular, in implementations where the content server and the surveillance server are different, this may allow the surveillance server to identify a particular content server of a plurality of content servers that delivered the image to the client device. This can be useful for logging, tracking, and analysis, and is much easier than trying to get HTTP logs or similar logs from the client device (which the monitoring server may not have access to).
Die Wasserzeicheneffizienz kann in Bezug auf die Wahrnehmbarkeit beschrieben werden (z.B., ob eine durch das Einbetten der Wasserzeichennachricht eingeführte Verzerrung von einem Betrachter erkennbar sein kann), manchmal als „D“ bezeichnet; Robustheit (z.B. die Erfolgsrate in einem Decodierer, der die eingebettete Nachricht decodiert), manchmal als „E“ bezeichnet; und Kapazität (z.B. die Datenmenge oder die Rate, mit der Daten in das Bild eingebettet werden können), manchmal auch als „R“ bezeichnet. In vielen Implementierungen kann es wünschenswert sein, eine geringe Wahrnehmbarkeit, eine hohe Robustheit und eine hohe Kapazität zu haben. In vielen Implementierungen kann die Verbesserung einer dieser Implementierungen jedoch zu drastischen Verschlechterungen bei den anderen führen. Wenn Sie der Nachricht beispielsweise mehr Daten hinzufügen und gleichzeitig die Robustheit beibehalten möchten, muss das Wasserzeichen möglicherweise vergrößert werden, damit es besser wahrgenommen werden kann. In ähnlicher Weise kann die Markierungsgröße beim Hinzufügen von Daten durch Entfernen von Fehlerkorrekturbits beibehalten werden, obwohl dies natürlich die Dekodierung der Markierung erschwert und anfälliger für Beschädigungen macht.Watermarking efficiency can be described in terms of noticeability (e.g., whether distortion introduced by embedding the watermark message can be seen by a viewer), sometimes referred to as "D"; Robustness (e.g., the success rate in a decoder that decodes the embedded message), sometimes referred to as "E"; and capacity (e.g. the amount of data or the rate at which data can be embedded in the image), sometimes referred to as "R". In many implementations, it may be desirable to have low visibility, high robustness, and high capacity. However, in many implementations, improving one of these implementations can cause the others to degrade dramatically. For example, if you want to add more data to the message while maintaining robustness, the watermark may need to be enlarged to make it more noticeable. Similarly, when adding data, the tag size can be maintained by removing error correction bits, although this of course makes the tag more difficult to decode and more susceptible to damage.
Der Decodierer
Dementsprechend kann der Codierer eine Nachricht, wie beispielsweise die oben erörterte Zeitstempel-/Adresse/Prozess-ID-Zeichenfolge, zusammen mit beliebigen Fehlerkorrekturcodes in eine Markierung, wie beispielsweise einen QR-Code, codieren; und mindestens eine Kopie der Markierung durch Mischen einer Alphakanalüberlagerung in ein Bild codieren, und der Decodierer kann die Nachricht durch Erfassen des Überlagerungsmusters und der den QR-Code identifizierenden Inkonsistenzen decodieren; die ursprüngliche Zeichenfolge decodieren; und den ursprünglichen Zeitstempel/die Adresse/die Prozess-ID identifizieren.Accordingly, the encoder can encode a message such as the timestamp / address / process ID string discussed above, along with any error correction codes, into a marker such as a QR code; and encode at least one copy of the marker by mixing an alpha channel overlay into an image, and the decoder can decode the message by detecting the overlay pattern and the inconsistencies identifying the QR code; decode the original string; and identify the original timestamp / address / process ID.
Solche Systeme sind relativ erfolgreich, weisen jedoch hohe Fehlerraten auf. In einem Experiment, bei dem eingebettete Markierungen aus Screenshots kodierter Bilder dekodiert wurden, betrug die Dekodierungs-Erfolgsrate 44,03%.Such systems are relatively successful, but have high error rates. In an experiment in which embedded markers were decoded from screenshots of encoded images, the decoding success rate was 44.03%.
Wie oben erwähnt, sind bei einer festen Nachrichtenrate (z.B. 128 Bit) die Faktoren, die die Decodierungserfolgsrate beeinflussen, eine durch den Codierer (De) in das Bild eingebrachte Verzerrung und eine Verzerrung zwischen dem aufgenommenen Screenshot und dem mit Wasserzeichen versehenen Bild am Codierer-Ausgang (Dc). Im Allgemeinen wird die Robustheit der Bildwasserzeichenmarkierung, gemessen in der Decodierungserfolgsrate, durch De gesteuert: für den gleichen De kann die Decodierungserfolgsrate umso höher erreicht werden, wenn De erhöht wird. Für die meisten Zwecke müssen die Wasserzeichen im Bild mit dem Wasserzeichen jedoch visuell nicht wahrnehmbar sein. Eine solche Anforderung legt De eine obere Schranke auf. Diese Beschränkung von De impliziert im Wesentlichen eine obere Grenze der Decodierungserfolgsrate für jeden gegebenen Kanal. In einigen extremen Fällen, in denen Dc, das durch den Kanal eingeführt wird, groß ist, kann die Decodierungserfolgsrate auf nahe Null fallen und somit die Anwendbarkeit solcher Implementierungen von Wasserzeichen einschränken.As mentioned above, with a fixed message rate (e.g. 128 bit) the factors that influence the decoding success rate are a distortion introduced into the image by the encoder (De) and a distortion between the captured screenshot and the watermarked image on the encoder. Output (Dc). In general, the robustness of the image watermarking, measured in the decoding success rate, is controlled by De: for the same De, the higher the decoding success rate can be achieved if De is increased. However, for most purposes, the watermarks in the watermarked image need not be visually noticeable. Such a requirement imposes an upper bound on De. This constraint on De essentially implies an upper bound on the decoding success rate for any given channel. In some extreme cases where the Dc introduced by the channel is large, the decoding success rate can drop to near zero and thus limit the applicability of such watermark implementations.
(D0, E0, R0) bezeichnen die Verzerrung, die Decodierungserfolgsrate bzw. die Nachrichtenrate von Implementierungen des oben diskutierten Wasserzeichenverfahrens. In typischen Implementierungen geht die Verbesserung einer der drei Größen zwangsläufig zu Lasten des Leistungsverlusts in mindestens einer der anderen Größen. Um beispielsweise E0 zu verbessern, muss man auf D0 verzichten, während R0 beibehalten wird, oder R0 reduzieren, während D0 beibehalten wird. In vielen Anwendungen haben jedoch sowohl D0 als auch R0 derzeit harte Beschränkungen: D0 ist notwendigerweise nach oben begrenzt, um negative Auswirkungen auf die Benutzererfahrung zu vermeiden, und R0 ist notwendigerweise nach unten begrenzt, damit die Wasserzeichennachricht, z.B zu Tracking-Zwecken, nützlich ist. In diesem Zusammenhang haben aktuelle Implementierungen von Wasserzeichen nur wenig Raum zur Verbesserung von E0.(D0, E0, R0) denote the distortion, the decoding success rate and the message rate of implementations of the watermarking method discussed above. In typical implementations, the improvement in one of the three quantities inevitably comes at the expense of the performance loss in at least one of the other quantities. For example, to improve E0, one must forego D0 while retaining R0, or reduce R0 while retaining D0. In many applications, however, both D0 and R0 currently have severe constraints: D0 is necessarily capped to avoid negative effects on the user experience, and R0 is necessarily capped to make the watermark message useful, e.g. for tracking purposes . In this context, current implementations of watermarks have little room for improvement of E0.
Die hier diskutierten Systeme und Verfahren sorgen für ein verbessertes Bildwasserzeichen, um die Robustheit und Kapazität zu verbessern, ohne die Wahrnehmbarkeit zu beeinträchtigen. Insbesondere ermöglichen die hier diskutierten Systeme und Verfahren eine höhere Decodierungserfolgsrate bei gleichem Verzerrungsgrad und gleicher Nachrichtenrate; oder eine höhere Nachrichtenrate bei gleichem Verzerrungsgrad und gleicher Decodierungserfolgsrate. Implementierungen dieser Systeme verwenden eine Seitenkette zusätzlicher Informationen, die nur dem Decodierer und nicht dem Codierer zur Verfügung steht, um eine asymptotisch verlustfreie Datenkompression zu erreichen, wodurch die gleiche Nachricht in weniger Bits übertragen werden kann.The systems and methods discussed here provide for an improved image watermark to improve robustness and capacity without compromising perceptibility. In particular, the systems and methods discussed here enable a higher decoding success rate with the same degree of distortion and the same message rate; or a higher message rate with the same degree of distortion and the same decoding success rate. Implementations of these systems use a side chain of additional information that is only available to the decoder and not the encoder to achieve asymptotically lossless data compression, which allows the same message to be transmitted in fewer bits.
Da die Verzerrungsbeschränkung durch die Anmeldung gegeben ist, konzentrieren sich die hier diskutierten Systeme auf den Kompromiss zwischen der Decodierungserfolgsrate und der Nachrichtenrate. Insbesondere umgeht das System die oben erwähnte Untergrenze der Nachrichtenrate, ohne die Nützlichkeit der Wasserzeichennachricht zu beeinträchtigen. Folglich ermöglicht es eine größere Flexibilität bei der Suche nach dem richtigen Kompromiss zwischen Robustheit und Kapazität, der in früheren Implementierungen nicht möglich war. Insbesondere können Seiteninformationen, die nur am Decodierer verfügbar sind, verwendet werden, um eine asymptotisch verlustfreie Komprimierung zu erreichen.Since the distortion limitation is given by the application, the systems discussed here focus on the compromise between the decoding success rate and the message rate. In particular, the system bypasses the above mentioned lower limit of the message rate without affecting the usefulness of the watermark message. As a result, it allows greater flexibility in finding the right tradeoff between robustness and capacity that was not possible in previous implementations. In particular, page information that is only available at the decoder can be used to achieve asymptotically lossless compression.
Zwischen den
Verbesserte RobustheitImproved robustness
In einer ersten Implementierung kann das System Seiteninformationen Y am Decodierer nutzen, um die Robustheit zu verbessern. In einigen solchen Implementierungen ist der Codierer in
- 1. Wandeln der Wasserzeichen-Nachricht X in eine Kbit-Binärzeichenfolge um, wobei K durch H(XIY) bestimmt wird.
- 2. Wandeln des Kbit-Binärstrings in ein QR-Codewort um.
- 3. Generieren eines Wasserzeichenbilds, das mindestens eine Kopie des QR-Codeworts enthält.
- 4. Mischen des Wasserzeichenbilds und des Originalbilds, durch Legen des ersteren über des letzteren.
- 1. Convert the watermark message X to a Kbit binary string, where K is determined by H (XIY).
- 2. Convert the Kbit binary string into a QR code word.
- 3. Generate a watermark image that contains at least one copy of the QR code word.
- 4. Mixing the watermark image and the original image by overlaying the former on top of the latter.
Dementsprechend decodiert der Decodierer von
- 5. Erkennen und Extrahieren ein QR-Codewort aus dem Screenshot.
- 6. Decodieren einer Kbit-Binärzeichenfolge aus dem extrahierten QR-Codewort.
- 7. Decodieren der Wasserzeichen-Nachricht X aus dem kbit-Binärstring und den Seiteninformationen Y.
- 5. Recognize and extract a QR code word from the screenshot.
- 6. Decode a kbit binary string from the extracted QR code word.
- 7. Decoding of the watermark message X from the kbit binary string and the page information Y.
Es ist zu beachten, dass in vielen Implementierungen einer oder mehrere der obigen Schritte (z.B. die Schritte 6 bis 7) für eine bessere Leistung zu einem einzigen Schritt kombiniert werden können.It should be noted that in many implementations, one or more of the above steps (e.g., steps 6 through 7) can be combined into a single step for better performance.
Es ist zu beachten, dass ein QR-Codewort Muster zur Erkennung und einen Fehlerkorrekturcode in einem 2D-Layout enthält. In einigen Ausführungsformen kann ein 1D-Fehlerkorrekturcodewort zusammen mit 1 D-Mustern zur Erkennung anstelle eines QR-Codeworts für eine bessere Leistung/Flexibilität beim Erzeugen eines Wasserzeichenbilds verwendet werden. Beispiele für 1D-Fehlerkorrekturcodes umfassen Reed-Solomon-Codes, Turbo-Codes, LDPC-Codes (Low-Density-Paritätsprüfung) und andere allgemeine lineare Blockcodes.It should be noted that a QR code word contains patterns for recognition and an error correction code in a 2D layout. In some embodiments, a 1D error correction codeword along with 1D patterns for recognition can be used in place of a QR codeword for better performance / flexibility in creating a watermark image. Examples of 1D error correcting codes include Reed-Solomon codes, Turbo codes, LDPC (low density parity check) codes, and other general linear block codes.
Im Hinblick auf Schritt 1 im obigen Codierungsprozess muss man, um K zu bestimmen, a priori H(XIY) kennen, obwohl die Kenntnis der Realisierung von Y (d.h. der tatsächlichen Nebeninformationssequenz) nicht erforderlich ist. Beispiele für Nebeninformationen Y, für die A-priori-Kenntnisse von H(XIY) vorliegen, sind Screenshot-Zeitstempel, Decodierungszeit und alle überflüssigen Informationen über den Screenshot (z.B. Informationen über die Website, einschließlich ihrer IP-Adresse und ihres geografischen Standorts, Herausgeberinformationen und Plattforminformationen).With regard to step 1 in the coding process above, in order to determine K one must know a priori H (XIY), although knowledge of the realization of Y (i.e. the actual side information sequence) is not required. Examples of side information Y for which a priori knowledge of H (XIY) is available are screenshot timestamps, decoding time and any superfluous information about the screenshot (e.g. information about the website, including its IP address and geographical location, publisher information and platform information).
Die folgende Beschreibung verwendet als Beispiel Screenshot-Zeitstempel, aber andere ähnliche Implementierungen können IP-Adressinformationen und/oder Plattforminformationen oder Kombinationen davon verwenden.The following description uses screenshot timestamps as an example, but other similar implementations may use IP address information and / or platform information, or combinations thereof.
Es sei daran erinnert, dass die in
Im Hinblick darauf, anstatt 64 Bits in solchen Implementierungen für den Zeitstempel zu verwenden, kann der Codierer in
Das vorgeschlagene Binning-Schema basiert auf der Tatsache, dass die höchstwertigen Bits für zwei Zeitstempel, die nahe beieinander liegen, gleich sind. Zum Beispiel lautet der Zeitstempel für 2019-01-01 in Epochenzeit: 1546300800, und seine Binärdatei lautet:
0b0101 0111 1110 0101 1010 0011 0101 1110 0110 0110 0000 0000 0000The proposed binning scheme is based on the fact that the most significant bits are the same for two timestamps that are close to each other. For example, the timestamp for 2019-01-01 in epoch time is: 1546300800, and its binary file is:
0b0101 0111 1110 0101 1010 0011 0101 1110 0110 0110 0000 0000 0000
Der Zeitstempel für 2018-01-01 ist 1514764800 und seine binäre Version ist:
0b0101 0110 0001 1010 1011 1010 1001 1101 0010 1000 0000 0000 0000The timestamp for 2018-01-01 is 1514764800 and its binary version is:
0b0101 0110 0001 1010 1011 1010 1001 1101 0010 1000 0000 0000 0000
Die oberen 18 Bits in ihren 64-Bit-Darstellungen sind gleich. Je näher die beiden Zeitstempel liegen, desto mehr der höchstwertigen Bits gleich sind. In typischen Implementierungen können der Bildzeitstempel und der Screenshot-Zeitstempel typischerweise deutlich näher beieinander liegen, beispielsweise innerhalb eines Tages, einer Woche oder eines Monats, und somit eine größere Anzahl von gleichen Bits aufweisen.The upper 18 bits in their 64-bit representations are the same. The closer the two time stamps are, the more the most significant bits are the same. In typical implementations, the image time stamp and the screenshot time stamp can typically be significantly closer to one another, for example within a day, a week or a month, and thus have a larger number of identical bits.
Durch Verwenden des oben beschriebenen Binning-Schemas kann das System in einigen Implementierungen K = (ceil(64 - log2(Δ)) + 64) Bits verwenden, um die Abfrage-ID zu codieren, indem etwa log2(Δ) der höchstwertigen Bits in Tq entfernt wird.
Auf der Decodiererseite kann das Zeitstempel-LSB
{T'q, T'q - Δ, T'q - 2Δ, ..., T'q - (m-1)Δ}.On the decoder side, the
{T'q, T'q - Δ, T'q - 2Δ, ..., T'q - (m-1) Δ}.
Da (ceil(64 - log2(Δ)) + 64) < 128 ist, reduzieren diese Implementierungen effektiv die Nachrichtenrate, die erforderlich ist, um die Abfrage-ID am Decodierer wiederherzustellen. Eine solche Reduzierung kann wiederum auf zwei Arten genutzt werden, um die Erfolgsrate der Entschlüsselung zu verbessern:
- 1. Erhöhung der Korrekturstufe im ausgewählten QR-Code, z.B. durch Einschließen zusätzlicher Paritäts- oder Fehlerkorrekturbits; oder
- 2. Verwenden eines kleineren Makro-QR-Codes (z.B. Makro 17).
- 1. Increase the correction level in the selected QR code, for example by including additional parity or error correction bits; or
- 2. Use a smaller macro QR code (e.g. macro 17).
Es ist zu beachten, dass ein 21x21 QR Code bis zu 152 Informationsbits speichern kann, wie in der folgenden Tabelle aufgeführt:
Durch Reduzieren der Anzahl von Bits von 128 auf K=(ceil(64- log2(Δ)) + 64) kann das System ein höheres Fehlerkorrekturcode-(ECC)-Niveau oder einen kleineren QR-Code verwenden, um die Decodierungserfolgsrate zu verbessern (z.B. ein Wechsel von Medium zu Quartii).By reducing the number of bits from 128 to K = (ceil (64- log2 (Δ)) + 64) the system can use a higher error correction code (ECC) level or a smaller QR code to improve the decoding success rate ( e.g. a change from medium to quartii).
Verbesserte NachrichtenrateImproved message rate
Die oben erörterten Implementierungen verwenden die an dem Decodierer verfügbaren Seiteninformationen, um die Robustheit der Wasserzeichenmarkierung zu verbessern. Aus einer anderen Perspektive kann das System auch die Nebeninformationen verwenden, um die Nachrichtenrate zu verbessern.The implementations discussed above use the page information available at the decoder to improve the robustness of the watermarking. From another perspective, the system can also use the side information to improve the message rate.
In solchen Implementierungen kann der Codierer von
- 1. Wandeln der 128-Bit-Abfrage-ID zusammen mit den zusätzlichen KBit-Informationen in einen 128-Bit-Binärstring um, wobei K durch H(X)H(XIY) bestimmt wird.
- 2. Wandeln des 128-Bit-Binärstring in ein QR-Codewort um.
- 3. Generieren eines Wasserzeichenbildes, das mindestens eine Kopie des QR-Codeworts enthält.
- 4. Mischen des Wasserzeichenbildes und des Quellbildes, indem das erstere über das letztere gelegt werden.
- 1. Convert the 128-bit query ID together with the additional KBit information into a 128-bit binary string, where K is determined by H (X) H (XIY).
- 2. Convert the 128-bit binary string into a QR code word.
- 3. Generating a watermark image that contains at least one copy of the QR code word.
- 4. Blending the watermark image and the source image by overlaying the former over the latter.
Entsprechend kann der Decodierer von
- 4. Erkennen und Extrahieren eines QR-Codewortes aus dem Screenshot.
- 5. Decodieren eines 128-Bit-Binärstrings aus dem extrahierten QR-Codewort.
- 6. Decodieren der 128-Bit-Abfrage-ID zusammen mit den KBit-Zusatzinformationen aus dem 128-Bit-Binärstring und den Nebeninformationen Y.
- 4. Recognition and extraction of a QR code word from the screenshot.
- 5. Decoding a 128-bit binary string from the extracted QR code word.
- 6. Decoding of the 128-bit query ID together with the additional KBit information from the 128-bit binary string and the side information Y.
Im Vergleich zu Systemen, die diese Verfahren nicht implementieren, stellen diese Implementierungen im Wesentlichen eine zusätzliche K-Bit-Nachrichtenübermittlungsfähigkeit kostenlos bereit, d.h. mit derselben Decodierungserfolgsrate und demselben Verzerrungsniveau. Diese zusätzlichen K-Bits können verwendet werden, um eine bessere Verfolgungsfähigkeit und/oder Benutzererfahrung im Hinblick auf die Benutzerfreundlichkeit bereitzustellen.Compared to systems that do not implement these methods, these implementations essentially provide additional K-bit messaging capability for free, i.e. with the same decoding success rate and the same level of distortion. These additional K-bits can be used to provide better tracking and / or user experience in terms of usability.
Wie oben erwähnt, kann, obwohl in erster Linie im Hinblick auf die Reduzierung der Datengröße für einen Zeitstempel innerhalb der Wasserzeichendaten erörtert, eine ähnliche Implementierung mit Binning verwendet werden, das auf IP-Adressen und/oder Prozesskennungen angewendet wird. Wenn beispielsweise typische Prozesskennungen alle weniger als 20 Bit lang sind, können 12 Bit aus der Prozess-ID
In vielen Implementierungen kann ein Client-Gerät
Ein Client-Gerät
Ein Client-Gerät kann ein oder mehrere Benutzerschnittstellengeräte umfassen. Ein Benutzerschnittstellengerät kann ein beliebiges elektronisches Gerät sein, das Daten an einen Benutzer übermittelt, indem es sensorische Informationen (z.B. eine Visualisierung auf einem Display, ein oder mehrere Geräusche, taktiles Feedback usw.) und elektronische Signale (z.B. eine Tastatur, eine Maus, ein Zeigegerät, eine Touchscreen-Anzeige, ein Mikrofon usw.) erzeugt. Das eine oder die mehreren Benutzerschnittstellengeräte können sich innerhalb des Gehäuses eines Client-Geräts befinden, wie beispielsweise ein eingebautes Display, ein Touchscreen, ein Mikrofon usw., oder außerhalb des Gehäuses eines Client-Geräts, wie beispielsweise eines Monitors, der mit einem Client-Gerät, eines mit einem Client-Gerät verbundenen Lautsprechers usw., gemäß verschiedenen Implementierungen, befinden.A client device can include one or more user interface devices. A user interface device can be any electronic device that communicates data to a user by using sensory information (e.g. a visualization on a display, one or more sounds, tactile feedback, etc.) and electronic signals (e.g. a keyboard, mouse, a Pointing device, touchscreen display, microphone, etc.). The one or more user interface devices can be located within the housing of a client device, such as a built-in display, touch screen, microphone, etc., or outside the housing of a client device, such as a monitor that communicates with a client device. Device, a speaker connected to a client device, etc., according to various implementations.
Der Speicher
Der Speicher
Der Server
Ein Überwachungsserver kann einen Decodierer
In Schritt
Obwohl gezeigt, dass der Inhaltsserver die Wasserzeichenkennung erzeugt und das Wasserzeichen nach dem Empfangen der Anforderung für das Inhaltselement codiert, können Inhaltselemente in einigen Implementierungen vorcodiert werden (z.B. vor Schritt
In Schritt
Bei Schritt
In Schritt
In Schritt
Wenn die Zeichenfolge nicht korrekt decodiert wird, kann der Decodierer den generierten Zeitstempel gemäß dem Wert Δ aus dem Binning-Schema vorrücken und kann die Decodierung bei Schritt
Dementsprechend stellen die hierin erörterten Systeme und Verfahren eine verbesserte Bildwasserzeichenmarkierung bereit, um die Robustheit und Kapazität zu verbessern, ohne die Wahrnehmbarkeit zu verschlechtern. Insbesondere ermöglichen die hierin erörterten Systeme und Verfahren eine höhere Decodierungserfolgsrate bei demselben Verzerrungsniveau und derselben Nachrichtenrate; oder eine höhere Nachrichtenrate bei gleichem Verzerrungsniveau und gleicher Decodierungserfolgsrate. Implementierungen dieser Systeme verwenden eine Seitenkette zusätzlicher Informationen, die nur dem Decodierer und nicht dem Codierer zur Verfügung steht, um eine asymptotisch verlustfreie Datenkompression zu erreichen, wodurch die gleiche Nachricht in weniger Bits übertragen werden kann.Accordingly, the systems and methods discussed herein provide improved image watermarking to improve robustness and capacity without degrading perceptibility. In particular, the systems and methods discussed herein enable a higher decoding success rate with the same level of distortion and the same message rate; or a higher message rate with the same level of distortion and the same decoding success rate. Implementations of these systems use a side chain of additional information that is only available to the decoder and not the encoder to achieve asymptotically lossless data compression, which allows the same message to be transmitted in fewer bits.
Implementierungen des Gegenstands und der Operationen, die in dieser Spezifikation beschrieben sind, können in digitalen elektronischen Schaltungen oder in Computersoftware, Firmware oder Hardware implementiert werden, einschließlich der, in dieser Spezifikation offenbarten Strukturen und ihrer strukturellen Äquivalente, oder in Kombinationen von: oder mehr davon. Implementierungen des in dieser Spezifikation beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert werden, d.h. ein oder mehrere Module von Computerprogrammanweisungen, die auf einem oder mehreren Computerspeichermedien zur Ausführung durch oder um den Betrieb von Datenverarbeitungsgeräten zu steuern. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten propagierten Signal codiert werden, z.B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zur Ausführung durch ein Verarbeitungsgerät. Ein Computerspeichermedium kann ein computerlesbares Speichergerät, ein computerlesbares Speichersubstrat, ein Speicherarray oder -gerät mit wahlfreiem oder seriellem Zugriff oder eine Kombination von einem oder mehreren davon sein oder darin enthalten sein. Während ein Computerspeichermedium kein verbreitetes Signal ist, kann ein Computerspeichermedium außerdem eine Quelle oder ein Ziel von Computerprogrammanweisungen, die in einem künstlich erzeugten, verbreiteten Signal codiert sind, sein. Das Computerspeichermedium kann auch eine oder mehrere separate Komponenten oder Medien (z.B. mehrere CDs, Platten oder andere Speichergeräte) sein oder darin enthalten sein. Dementsprechend kann das Computerspeichermedium greifbar sein.Implementations of the subject matter and the operations described in this specification may be implemented in digital electronic circuits or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of: or more thereof . Implementations of the subject matter described in this specification can be implemented as one or more computer programs, i.e. one or more modules of computer program instructions stored on one or more computer storage media for execution by or to control the operation of data processing equipment. Alternatively or additionally, the program instructions can be encoded on an artificially generated propagated signal, e.g. A computer storage medium can be or be included in a computer readable storage device, a computer readable storage substrate, a storage array or device with random or serial access, or a combination of one or more thereof. While a computer storage medium is not a broadcast signal, a computer storage medium can also be a source or destination of computer program instructions encoded in an artificially generated broadcast signal. The computer storage medium can also be or be included in one or more separate components or media (e.g., multiple CDs, disks, or other storage devices). Accordingly, the computer storage medium can be tangible.
Die in dieser Spezifikation beschriebenen Operationen können als Operationen implementiert werden, die von einer Datenverarbeitungsvorrichtung an Daten durchgeführt werden, die auf einer oder mehreren computerlesbaren Speichervorrichtungen gespeichert sind oder von anderen Quellen empfangen werden.The operations described in this specification can be implemented as operations performed by a computing device on data stored on one or more computer-readable storage devices or received from other sources.
Der Begriff „Client“ oder „Server“ umfasst alle Arten von Geräten, Vorrichtungen und Maschinen zum Verarbeiten von Daten, wie beispielsweise einen programmierbaren Prozessor, einen Computer, ein System auf einem Chip oder mehrere oder Kombinationen der Vorstehenden. Die Vorrichtung kann spezielle Logikschaltungen, z.B. ein FPGA (feldprogrammierbares Gate-Array) oder einen ASIC (anwendungsspezifische integrierte Schaltung) umfassen. Die Vorrichtung kann zusätzlich zu Hardware auch Code enthalten, der eine Ausführungsumgebung für das fragliche Computerprogramm erzeugt, z.B. Code, der Prozessorfirmware bildet, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, eine virtuelle Maschine oder eine Kombination aus einer oder mehreren davon. Die Vorrichtung und die Ausführungsumgebung können verschiedene unterschiedliche Computermodell-Infrastrukturen realisieren, wie etwa Webdienste, verteilte Computer- und Grid-Computing-Infrastrukturen.The term “client” or “server” encompasses all types of devices, devices and machines for processing data, such as a programmable processor, a computer, a system on a chip, or several or combinations of the foregoing. The device can be special Logic circuits, for example an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the device may also contain code that generates an execution environment for the computer program in question, e.g. code that forms processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine or a combination of one or more thereof . The device and execution environment can implement various different computer model infrastructures, such as web services, distributed computing and grid computing infrastructures.
Ein Computerprogramm (auch bekannt als Programm, Software, Softwareanwendung, Skript oder Code) kann in jeder Form von Programmiersprache geschrieben werden, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder prozeduraler Sprachen, und es kann in jede Form, einschließlich als eigenständiges Programm oder als Modul, Komponente, Unterprogramm, Objekt oder andere Einheit, die zur Verwendung in einer Computerumgebung geeignet ist, sein. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert werden, die andere Programme oder Daten enthält (z.B. ein oder mehrere Skripte, die in einem Auszeichnungssprachendokument gespeichert sind), in einer einzelnen Datei, die dem fraglichen Programm gewidmet ist, oder in mehreren koordinierten Dateien (z.B. Dateien, die ein oder mehrere Module, Unterprogramme oder Codeteile speichern). Ein Computerprogramm kann eingesetzt werden, um auf einem Computer oder auf mehreren Computern ausgeführt zu werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt und durch ein Kommunikationsnetzwerk miteinander verbunden sind.A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be written in any form, including as a stand-alone program or as a module , Component, subroutine, object, or other entity suitable for use in a computing environment. A computer program can, but does not have to, correspond to a file in a file system. A program can be stored in part of a file that contains other programs or data (e.g. one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files ( e.g. files that store one or more modules, subprograms or parts of code). A computer program can be used to run on one computer or on several computers that are located at one location or that are distributed over several locations and are connected to one another by a communication network.
Die in dieser Beschreibung beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Prozessoren, die ein oder mehrere Computerprogramme ausführen, ausgeführt werden, um Aktionen durchzuführen, indem Eingabedaten bearbeitet und Ausgaben erzeugt werden. Die Prozesse und logischen Abläufe können auch durch spezielle Logikschaltkreise, z.B. ein FPGA (feldprogrammierbares Gate-Array) oder ein ASIC (anwendungsspezifische integrierte Schaltung) ausgeführt werden, und die Vorrichtung kann auch als spezielle Logikschaltung implementiert werden.The processes and logic described in this specification can be executed by one or more programmable processors executing one or more computer programs to perform actions by manipulating input data and generating output. The processes and logic operations can also be carried out by special logic circuits, e.g. an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit), and the device can also be implemented as a special logic circuit.
Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, umfassen sowohl Allzweck- als auch Spezial-Mikroprozessoren und einen oder mehrere Prozessoren jeder Art von Digitalcomputer. Im Allgemeinen empfängt ein Prozessor Befehle und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder beiden. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Ausführen von Aktionen gemäß Anweisungen und ein oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. Im Allgemeinen umfasst ein Computer auch eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, z.B. magnetische, magnetooptische Platten oder optische Platten, oder ist betriebsmäßig gekoppelt, um Daten von oder Daten zu oder beides zu empfangen oder zu übertragen. Ein Computer muss jedoch nicht über solche Geräte verfügen. Darüber hinaus kann ein Computer in ein anderes Gerät eingebettet werden, z.B. ein Mobiltelefon, ein Personal Digital Assistant (PDA), ein mobiler Audio- oder Videoplayer, eine Spielkonsole, ein Global Positioning System (GPS)-Empfänger oder ein tragbares Speichergerät (z.B. ein USB-Flash-Laufwerk mit universellem seriellem Bus), um nur einige zu nennen. Vorrichtungen, die zum Speichern von Computerprogrammanweisungen und -daten geeignet sind, umfassen alle Formen von nichtflüchtigem Speicher, Medien und Speichervorrichtungen, einschließlich Halbleiterspeichervorrichtungen, z.B. EPROM, EEPROM und Flash-Speichervorrichtungen; Magnetplatten, z.B. interne Festplatten oder Wechselplatten; magnetooptische Platten; und CD-ROM- und DVD-ROM-Platten. Der Prozessor und der Speicher können durch spezielle Logikschaltkreise ergänzt oder in diese eingebaut werden.Processors suitable for executing a computer program include both general purpose and specialty microprocessors and one or more processors of any type of digital computer. Generally, a processor receives instructions and data from read-only memory or random access memory, or both. The essential elements of a computer are a processor for executing actions according to instructions and one or more storage devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, such as magnetic, magneto-optical disks, or optical disks, or is operatively coupled to receive or transmit data from, or to, or both. However, a computer does not need to have such devices. In addition, a computer can be embedded in another device, such as a cell phone, Personal Digital Assistant (PDA), portable audio or video player, game console, Global Positioning System (GPS) receiver, or portable storage device (such as a Universal Serial Bus USB Flash Drive, to name a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including semiconductor storage devices such as EPROM, EEPROM, and flash memory devices; Magnetic disks, e.g. internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by or built into special logic circuits.
Um eine Interaktion mit einem Benutzer zu ermöglichen, können Implementierungen des in dieser Spezifikation beschriebenen Gegenstands auf einem Computer mit einer Anzeigevorrichtung implementiert werden, z.B. einer CRT (Kathodenstrahlröhre), LCD (Flüssigkristallanzeige), OLED (organische Leuchtdiode), TFT (Dünnschichttransistor), Plasma, eine andere flexible Konfiguration oder jeder andere Monitor zum Anzeigen von Informationen für den Benutzer und eine Tastatur, ein Zeigegerät, z.B. eine Maus, ein Trackball usw., oder ein Touchscreen, Touchpad usw., durch die der Benutzer Eingaben in den Computer geben kann. Es können auch andere Arten von Geräten verwendet werden, um eine Interaktion mit einem Benutzer bereitzustellen; dem Benutzer bereitgestelltes Feedback kann jede Form von sensorischem Feedback sein, z.B. visuelles Feedback, auditives Feedback oder taktiles Feedback; und Eingaben vom Benutzer können in jeder Form empfangen werden, einschließlich akustischer, sprachlicher oder taktiler Eingabe. Darüber hinaus kann ein Computer mit einem Benutzer interagieren, indem er Dokumente an ein Gerät sendet und von diesem empfängt, das vom Benutzer verwendet wird; durch Senden von Webseiten an einen Webbrowser auf dem Client-Gerät eines Benutzers als Reaktion auf vom Webbrowser empfangene Anforderungen.To enable interaction with a user, you can Implementations of the subject matter described in this specification can be implemented on a computer with a display device, e.g. a CRT (cathode ray tube), LCD (liquid crystal display), OLED (organic light emitting diode), TFT (thin film transistor), plasma, another flexible configuration or any other monitor for Displaying information to the user and a keyboard, pointing device such as a mouse, trackball, etc., or a touch screen, touchpad, etc. through which the user can input into the computer. Other types of devices can also be used to provide interaction with a user; Feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including audible, spoken, or tactile input. In addition, a computer can interact with a user by sending and receiving documents to a device that is used by the user; by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
Implementierungen des in dieser Spezifikation beschriebenen Gegenstands können in einem Computersystem, das eine Back-End-Komponente umfasst, implementiert werden, z.B. als Datenserver, oder das eine Middleware-Komponente, z.B. einen Anwendungsserver, umfasst, oder das Folgendes umfasst: eine Frontend-Komponente, z.B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder einem Webbrowser, über den ein Benutzer mit einer Implementierung des in dieser Spezifikation beschriebenen Gegenstands interagieren kann, oder eine beliebige Kombination von einem oder mehreren solcher Back-End, Middleware oder Front-End Komponenten. Die Komponenten des Systems können durch jede Form oder jedes Medium der digitalen Datenkommunikation, z.B. ein Kommunikationsnetzwerk, miteinander verbunden sein. Kommunikationsnetzwerke können ein lokales Netzwerk („LAN“) und ein Weitverkehrsnetzwerk („WAN“), ein Internetzwerk (z.B. das Internet) und Peer-to-Peer-Netzwerke (z.B. Ad-hoc-Peer-to-Peer-Netzwerke) umfassen.Implementations of the subject matter described in this specification can be implemented in a computer system that includes a back-end component, for example as a data server, or that includes a middleware component, for example an application server, or that includes: a front-end component , e.g. a client computer with a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Communication networks can include a local area network ("LAN") and a wide area network ("WAN"), an internetwork (e.g., the Internet), and peer-to-peer networks (e.g., ad-hoc peer-to-peer networks).
Für Situationen, in denen die hierin erörterten Systeme persönliche Informationen über Benutzer sammeln oder persönliche Informationen verwenden können, kann den Benutzern die Möglichkeit gegeben werden zu kontrollieren, ob Programme oder Funktionen, die persönliche Informationen sammeln (z.B. Informationen über soziales Netzwerk des Benutzers, soziale Aktionen oder Aktivitäten, Präferenzen eines Benutzers oder Standort eines Benutzers) oder um zu steuern, ob oder wie Inhalte von einem Inhaltsserver oder einem anderen Datenverarbeitungssystem, das für den Benutzer relevanter sein könnte, empfangen werden. Darüber hinaus können bestimmte Daten vor der Speicherung oder Verwendung auf eine oder mehrere Weisen anonymisiert werden, sodass bei der Parametergenerierung personenbezogene Daten entfernt werden. Beispielsweise kann die Identität eines Benutzers anonymisiert werden, sodass keine personenbezogenen Daten für den Benutzer bestimmt werden können, oder der geografische Standort eines Benutzers kann verallgemeinert werden, wenn Standortinformationen erhalten werden (z.B. auf Stadt-, Postleitzahl- oder Bundeslandebene), so dass ein bestimmter Standort eines Benutzers nicht bestimmt werden kann. Somit kann der Benutzer die Kontrolle darüber haben, wie Informationen über ihn gesammelt und vom Inhaltsserver verwendet werden.For situations in which the systems discussed herein can collect personal information about users or use personal information, users can be given the option to control whether programs or functions that collect personal information (e.g. information about the user's social network, social actions) or activities, preferences of a user, or a user's location) or to control whether or how content is received from a content server or other computing system that might be more relevant to the user. In addition, certain data can be anonymized in one or more ways before being stored or used, so that personal data is removed when the parameters are generated. For example, the identity of a user can be anonymized so that no personal data can be determined for the user, or the geographic location of a user can be generalized when location information is obtained (e.g. at the city, zip code or state level) so that a specific Location of a user cannot be determined. Thus, the user can have control over how information about him is collected and used by the content server.
Obwohl diese Beschreibung viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen des Schutzumfangs von Erfindungen oder von dem, was beansprucht werden kann, ausgelegt werden, sondern eher als Beschreibungen von Merkmalen, die für bestimmte Implementierungen bestimmter Erfindungen spezifisch sind. Bestimmte Merkmale, die in dieser Spezifikation im Zusammenhang mit separaten Implementierungen beschrieben werden, können auch in Kombination in einer einzigen Implementierung implementiert werden. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzelnen Implementierung beschrieben werden, auch in mehreren Implementierungen separat oder in einer beliebigen geeigneten Unterkombination implementiert werden. Darüber hinaus können, obwohl oben Merkmale als in bestimmten Kombinationen wirkend beschrieben und sogar ursprünglich als solche beansprucht werden können, in einigen Fällen ein oder mehrere Merkmale aus einer beanspruchten Kombination aus der Kombination herausgenommen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet sein.While this description contains many specific implementation details, these should not be construed as limitations on the scope of inventions or what can be claimed, but rather as descriptions of features that are specific to particular implementations of certain inventions. Certain features that are described in the context of separate implementations in this specification can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. In addition, although features can be described above as acting in certain combinations and even originally claimed as such, in some cases one or more features from a claimed combination can be removed from the combination, and the claimed combination can refer to a sub-combination or variation of a Subcombination be directed.
Obwohl Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, sollte dies in ähnlicher Weise nicht so verstanden werden, dass diese Operationen in der bestimmten gezeigten Reihenfolge oder in sequentieller Reihenfolge oder alle veranschaulichten Operationen durchgeführt werden müssen, um das gewünschte Ergebnis zu erzielen. Multitasking und Parallelverarbeitung können unter Umständen von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den oben beschriebenen Implementierungen nicht so verstanden werden, dass sie eine solche Trennung in allen Implementierungen erfordert, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in einem einzigen Softwareprodukt integriert oder in ein Paket mehrerer Softwareprodukte gepackt werden können.Similarly, while operations are depicted in the drawings in a particular order, it should not be understood that such operations must be performed in the particular order shown, or in sequential order, or all of the operations illustrated, to achieve the desired result. Multitasking and parallel processing can be beneficial. Furthermore, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems are generally integrated together in a single software product or in a package multiple software products can be packaged.
Somit wurden bestimmte Implementierungen des Gegenstands beschrieben. Andere Implementierungen liegen im Umfang der folgenden Ansprüche. In einigen Fällen können die in den Ansprüchen genannten Maßnahmen in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Außerdem erfordern die in den begleitenden Figuren dargestellten Prozesse nicht unbedingt die gezeigte besondere Reihenfolge oder sequentielle Reihenfolge, um die gewünschten Ergebnisse zu erzielen. Bei bestimmten Implementierungen kann Multitasking oder Parallelverarbeitung verwendet werden.Thus, certain implementations of the subject matter have been described. Other implementations are within the scope of the following claims. In some cases, the measures recited in the claims can be carried out in a different order and still achieve desirable results. In addition, the processes illustrated in the accompanying figures do not necessarily require the particular order or sequential order shown in order to achieve the desired results. In certain implementations, multitasking or parallel processing can be used.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- US 2019/037959 [0001]US 2019/037959 [0001]
Claims (27)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
USPCT/US2019/037959 | 2019-06-19 | ||
PCT/US2019/037959 WO2020256718A1 (en) | 2019-06-19 | 2019-06-19 | Improved image watermarking |
PCT/US2020/038489 WO2020257493A1 (en) | 2019-06-19 | 2020-06-18 | Improved image watermarking |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112020000150T5 true DE112020000150T5 (en) | 2021-08-26 |
Family
ID=67138214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112020000150.4T Pending DE112020000150T5 (en) | 2019-06-19 | 2020-06-18 | IMPROVED IMAGE WATERMARKS |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP7225403B2 (en) |
KR (1) | KR102578027B1 (en) |
CN (1) | CN113168666B (en) |
DE (1) | DE112020000150T5 (en) |
WO (2) | WO2020256718A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542767B (en) * | 2021-07-14 | 2022-06-10 | 广东工业大学 | Information hidden image processing model construction method, device, terminal and medium |
CN116957893B (en) * | 2023-06-26 | 2024-04-16 | 海易科技(北京)有限公司 | Watermark generation method, watermark generation device, electronic device and computer readable medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190037959A1 (en) | 2017-08-04 | 2019-02-07 | Nike, Inc. | Article of footwear having a knitted component with a forefoot portion and a heel portion |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6680921B1 (en) * | 1999-06-18 | 2004-01-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Estimation of time stamps in real-time packet communications |
EP1257921A4 (en) * | 2000-02-19 | 2006-09-20 | Digimarc Corp | Watermark encoder and decoder enabled software and devices |
CN100364326C (en) * | 2005-12-01 | 2008-01-23 | 北京北大方正电子有限公司 | Method and apparatus for embedding and detecting digital watermark in text file |
KR101680044B1 (en) * | 2008-08-19 | 2016-11-28 | 디지맥 코포레이션 | Methods and systems for content processing |
CN102461066B (en) * | 2009-05-21 | 2015-09-09 | 数字标记公司 | Differentiate the method for content signal |
WO2014014252A1 (en) | 2012-07-16 | 2014-01-23 | Lg Electronics Inc. | Method and apparatus for processing digital service signals |
KR101801590B1 (en) * | 2013-12-03 | 2017-11-27 | 엘지전자 주식회사 | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
WO2016086047A1 (en) * | 2014-11-25 | 2016-06-02 | Verance Corporation | Enhanced metadata and content delivery using watermarks |
US10779057B2 (en) * | 2015-06-08 | 2020-09-15 | Qualcomm Incorporated | Broadcast content redistribution and ad insertion |
-
2019
- 2019-06-19 WO PCT/US2019/037959 patent/WO2020256718A1/en active Application Filing
-
2020
- 2020-06-18 CN CN202080006695.8A patent/CN113168666B/en active Active
- 2020-06-18 KR KR1020217016131A patent/KR102578027B1/en active IP Right Grant
- 2020-06-18 WO PCT/US2020/038489 patent/WO2020257493A1/en active Application Filing
- 2020-06-18 DE DE112020000150.4T patent/DE112020000150T5/en active Pending
- 2020-06-18 JP JP2021531779A patent/JP7225403B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190037959A1 (en) | 2017-08-04 | 2019-02-07 | Nike, Inc. | Article of footwear having a knitted component with a forefoot portion and a heel portion |
Also Published As
Publication number | Publication date |
---|---|
CN113168666B (en) | 2024-05-14 |
WO2020256718A1 (en) | 2020-12-24 |
WO2020257493A1 (en) | 2020-12-24 |
CN113168666A (en) | 2021-07-23 |
JP7225403B2 (en) | 2023-02-20 |
JP2022532814A (en) | 2022-07-20 |
KR20210079362A (en) | 2021-06-29 |
KR102578027B1 (en) | 2023-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012000853B4 (en) | Discovering, recognizing and bookmarking faces in videos | |
DE112018005628T5 (en) | Data cleansing system for a public host platform | |
DE112020000150T5 (en) | IMPROVED IMAGE WATERMARKS | |
DE112020000091T5 (en) | Systems and methods for maintaining privacy by determining the interfaces of sets of user identifications | |
DE202016006110U1 (en) | Extension of the field of view of photography | |
DE102016204698A1 (en) | Improving the detection of steganography at the perimeter | |
DE102017125463A1 (en) | USING MASCHINELLE LEARNING TO DETECT AN IMAGE COMPONENT IN A COMPOSITE IMAGE | |
DE112016002252T5 (en) | AUTOMATIC DETECTION OF PANORAMIC STAMPS | |
EP2639738A1 (en) | Method and reader for recording a number of two-dimensional codes displayed one after the other on a display device | |
DE102020007344A1 (en) | Secure audio watermarking based on neural networks | |
DE112021006157T5 (en) | VIDEO CODING USING NON-SALIENCY COMPRESSION FOR LIVE STREAMING OF HIGH-RESOLUTION VIDEO IN A LOW-BANDWIDTH TRANSMISSION | |
DE602005002696T2 (en) | Detection of changes in digital data using sensitive watermark | |
DE112015001607T5 (en) | Orthogonal data organization for error detection and correction in serial video interfaces | |
DE112012002626B4 (en) | Systems, methods, and media for controlling a presentation of data images in a video stream | |
DE102013219088B9 (en) | Circuit arrangement and method for realizing check bit compaction for cross-parity codes | |
US20220092721A1 (en) | Improved image watermarking | |
DE112020001299T5 (en) | Low-lag defusing and restoring the content (CDR) of a live streaming video | |
EP2122569B1 (en) | Method for marking a digital image with a digital watermark | |
DE112012004366T5 (en) | INTERFACE FOR USE WITH A VIDEO COMPRESSION SYSTEM AND METHOD USING DIFFERENTIATION AND CLUSTER EDUCATION | |
DE10229976B4 (en) | Method for encrypting and decrypting digital data transmitted or stored according to the method of prioritized pixel transmission | |
Agarwal et al. | A content-adaptive median filtering detection using Markov transition probability matrix of pixel intensity residuals | |
DE102016125593A1 (en) | Dynamic coding mode for reference motion vectors | |
DE102020113302A1 (en) | System and method for authenticating audiovisual units | |
Schmitz et al. | Mediensicherheit | |
WO2005104559A1 (en) | Prediction method and corresponding method for decoding a prediction method, corresponding encoding and decoding devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |