CN113168666A - 改进的图像加水印 - Google Patents

改进的图像加水印 Download PDF

Info

Publication number
CN113168666A
CN113168666A CN202080006695.8A CN202080006695A CN113168666A CN 113168666 A CN113168666 A CN 113168666A CN 202080006695 A CN202080006695 A CN 202080006695A CN 113168666 A CN113168666 A CN 113168666A
Authority
CN
China
Prior art keywords
image
screen shot
metadata associated
identifier
timestamp
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
Application number
CN202080006695.8A
Other languages
English (en)
Inventor
达安·何
达克·何
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN113168666A publication Critical patent/CN113168666A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing 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/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0083Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0202Image watermarking whereby the quality of watermarked images is measured; Measuring quality or performance of watermarking methods; Balancing between quality and robustness

Abstract

本公开提供用于改进图像加水印以改进鲁棒性和容量而不使可感知性劣化的系统和方法。具体地,本文讨论的系统和方法允许在相同的失真水平和消息速率下实现更高的解码成功率;或在相同的失真水平和解码成功率下实现更高的消息速率。这些系统的实施方式利用仅对解码器而非编码器可用的附加信息的侧链,以实现渐近无损数据压缩,从而允许以更少的位传送相同的消息。

Description

改进的图像加水印
相关申请
本申请要求2019年6月19日提交的标题为“改进的图像加水印(Improved ImageWatermarking)”的P.C.T.申请号PCT/US2019/037959的权益和优先权,该申请的全部通过引用并入本文。
背景技术
图像加水印是将在视觉上不能感知的数据或消息嵌入到图像中的技术,并且可以分别取决于原始图像对水印提取是否必要而被分类为非盲的或盲的。盲加水印是特别有用的,在于可以在不能够访问原始预嵌入图像的情况下恢复嵌入数据。
然而,盲图像加水印的当前实施方式可能具有以下方面的问题:可感知性(例如通过嵌入加水印消息引入的失真是否可以由观众检测到)、鲁棒性(例如解码器对嵌入消息进行解码的成功率)和容量(例如可以在图像中嵌入数据的速率或数据量)。在许多实施方式中,提高这些中的一个可能导致其他方面的急剧劣化。
发明内容
本文讨论的系统和方法提供了改进的图像加水印以改进鲁棒性和容量,而不使可感知性劣化。具体地,本文讨论的系统和方法允许在相同的失真水平和消息速率下实现更高的解码成功率;或在相同的失真水平和解码成功率下实现更高的消息速率。这些系统的实施方式利用仅对解码器而非编码器可用的附加信息的侧链(或副信道),以实现渐近无损数据压缩,从而允许更鲁棒地或以更少的位传送相同消息。
在一个方面中,本公开涉及一种用于改进的加水印的系统。该系统包括设备的解码器。该解码器被配置成:接收包括至少一个嵌入水印的图像的捕获;确定捕获的时间戳;对来自嵌入水印的二进制字符串进行解码;使用捕获的时间戳的一部分,对来自包括图像的时间戳的二进制字符串的标识符进行解码;并且输出经解码的标识符。
在一些实施方式中,在捕获的元数据中标识捕获的时间戳。在一些实施方式中,解码器被配置成从包括捕获的分组的报头中提取捕获的时间戳。在一些实施方式中,嵌入水印的二进制字符串包括图像的时间戳的子集。在另外的实施方式中,解码器被配置成通过将捕获的时间戳的部分与图像的时间戳的子集级联来对来自二进制字符串的标识符进行解码。在另一另外的实施方式中,嵌入水印的二进制字符串包括大于图像的时间戳的长度与图像的时间戳的子集的长度之间的差的纠错位数。
在一些实施方式中,解码器被配置成通过将捕获的时间戳的部分与预定偏移组合来对来自二进制字符串的标识符进行解码。在另外的实施方式中,解码器被配置成通过将捕获的时间戳的部分与预定偏移的倍数迭代地组合直到成功地对标识符进行解码为止来对来自二进制字符串的标识符进行解码。
在一些实施方式中,二进制字符串包括生成包括至少一个嵌入水印的图像的内容服务器的地址。在另外的实施方式中,二进制字符串包括生成包括至少一个嵌入水印的图像的内容服务器的进程的标识符。
在另一方面中,本公开涉及一种用于改进的加水印的方法。该方法包括由设备的解码器从客户端设备接收包括至少一个嵌入水印的图像的捕获。该方法还包括由解码器确定捕获的时间戳。该方法还包括由解码器对来自嵌入水印的二进制字符串进行解码。该方法还包括使用捕获的时间戳的一部分,由解码器对来自包括图像的时间戳的二进制字符串的标识符进行解码。该方法还包括由解码器输出经解码的标识符。
在一些实施方式中,在捕获的元数据中标识捕获的时间戳。在一些实施方式中,该方法包括由解码器从包括捕获的分组的报头中提取捕获的时间戳。在一些实施方式中,嵌入水印的二进制字符串包括图像的时间戳的子集。在另外的实施方式中,该方法包括将捕获的时间戳的部分与图像的时间戳的子集级联。在另一另外的实施方式中,嵌入水印的二进制字符串包括大于图像的时间戳的长度与图像的时间戳的子集的长度之间的差的纠错位数。
在一些实施方式中,该方法包括将捕获的时间戳的部分与预定偏移组合。在另外的实施方式中,该方法包括将捕获的时间戳的部分与预定偏移的倍数迭代地组合直到成功地对标识符进行解码为止。
在一些实施方式中,二进制字符串包括生成包括至少一个嵌入水印的图像的内容服务器的地址。在另外的实施方式中,二进制字符串包括生成包括至少一个嵌入水印的图像的内容服务器的进程的标识符。
在另一方面中,本公开涉及一种加水印系统。该系统包括设备的编码器,该编码器被配置成:接收图像和与该图像相关联的元数据;从与图像相关联的元数据的子集生成二进制字符串;根据二进制字符串对水印进行编码;并且将水印嵌入在图像中。设备或第二设备的解码器根据在嵌入水印中编码的与图像相关联的元数据的子集以及与在第三设备处对图像的显示的捕获相关联的附加元数据,恢复与图像相关联的元数据。
在一些实施方式中,与图像相关联的元数据包括图像的时间戳,并且附加元数据包括在第三设备处对图像的显示的捕获的时间戳。在一些实施方式中,设备的编码器被配置成根据与图像相关联的元数据的预定数目的最低有效位生成二进制字符串。
在另一方面中,本公开涉及一种用于加水印的方法。该方法包括由设备的编码器接收图像和与该图像相关联的元数据。该方法还包括由编码器从与图像相关联的元数据的子集生成二进制字符串。该方法还包括由编码器根据二进制字符串对水印进行编码。该方法还包括由编码器将水印嵌入图像中。设备或第二设备的解码器根据在嵌入水印中编码的与图像相关联的元数据的子集以及与在第三设备处对图像的显示的捕获相关联的附加元数据,恢复与图像相关联的元数据。
在一些实施方式中,与图像相关联的元数据包括图像的时间戳,并且附加元数据包括在第三设备处对图像的显示的捕获的时间戳。在一些实施方式中,该方法包括根据与图像相关联的元数据的预定数目的最低有效位生成二进制字符串。
本公开还提供一种计算机程序,该计算机程序包括指令,这些指令当由计算设备执行时,使计算设备执行本文公开的方法中的任一种。本公开还提供一种计算机可读介质,该计算机可读介质包括指令,这些指令当由计算设备执行时,使计算设备执行本文公开的方法中的任一种。
一个方面的任选特征可以与任何其他方面组合。
附图说明
在附图和以下描述中阐述一个或多个实施方式的细节。根据说明书、附图和权利要求书,本公开的其他特征、方面和优点将变得显而易见,在附图中:
图1A是图像加水印的示例实施方式的图示;
图1B是根据一个实施方式的用于图像加水印的数据格式的图示;
图1C是根据另一实施方式的用于图像加水印的数据格式的图示;以及
图2A是根据一个实施方式的用于图像加水印的系统的框图;
图2B是根据另一实施方式的用于图像加水印的系统的框图;
图3是根据一些实施方式的用于图像加水印的系统的框图;以及
图4是根据一些实施方式的用于图像加水印的方法的流程图。
在各个附图中,相似的附图标记和名称指示相似的元件。
具体实施方式
图像加水印(image watermarking)是将在视觉上不能感知的数据或消息嵌入到图像中的技术,并且可以分别取决于原始图像对水印提取是否必要而被分类为非盲的或盲的。盲加水印是特别有用的,因为可以在不能够访问原始预嵌入图像的情况下恢复嵌入数据。
例如,简要地参考图1A,图示了针对图像100的图像加水印的示例实施方式。小水印码102可以包括一定大小并且放置在图像100内的像素阵列,使得它们对观众不可见。如图所示,可以在整个图像中复制水印码102,以提供对裁切、由于压缩或其他损害而导致的区域赝像、或其他此类失真的抵抗。尽管为了清楚示出仅几个像素,但是在许多实施方式中,水印码可以包括具有64个像素、128个像素或任何其他这种量的区域。与简单地黑白像素相反,对像素进行调整以定义编码的值可能是相对不能感知的。例如,在许多实施方式中,组成编码区域的像素可以具有与周围像素匹配或类似的颜色,但具有调整后的α(透明度)值。例如,编码可以将α值为0的像素改变为10、50、100、255或任何其他这种值的α值。在一些实施方式中,可以通过标识具有与周围α值相差很大的α值的像素来检测码。在一些实施方式中,可以与对每个位进行编码的覆盖图一起应用差分编码,其中在覆盖图内的像素的α值的变化用于对不同值进行编码。
可以在水印102内对任何种类的数据进行编码。简要地参考图1B,根据一个实施方式,图示了用于图像加水印的数据格式150。所图示的数据格式包括128位,具有64位时间戳152(例如基于纪元时间)、IP地址154和进程标识符156。数据格式150中的数据在本文中可以被称为查询ID。许多实施方式还包括纠错位(未图示)以改进水印的解码。例如,可以将码编码为带有包括在标记内的里德-所罗门纠错码的QR码。
在一个这种实施方式中,数据可以由内容服务器在将图像提供给客户端设备之前,与内容服务器的IP地址以及生成了图像的进程的进程标识符一起编码到图像中。随后,当图像由客户端设备接收到和渲染时,客户端设备上的监视进程可以捕获图像的屏幕快照并且将该屏幕快照提供给内容服务器或监视服务器。例如,客户端设备上的监视进程可能不能够访问图像本身(例如图像可能被存储在监视进程不能够访问的客户端设备的存储器内的位置中),但是能够捕获图像的屏幕快照(例如通过从帧缓冲区读取图像数据,或通过用相机捕获图像)。服务器可以对水印进行解码以标识原始生成进程和服务器以及生成或标记图像的时间,并且可以将截屏图像与原始图像进行比较。这可以允许系统自动地标识由图像的渲染或编码进程引起的失真或图像破坏,以及标识图像的其他方面。在内容服务器和监视服务器不同的实施方式中,这可以特别允许监视服务器标识多个内容服务器中的将图像提供给客户端设备的特定内容服务器。这对日志记录、跟踪和分析可以是有用的,并且可能比试图从(监视服务器可能不能够访问的)客户端设备中检索HTTP日志或类似日志明显容易得多。
可以在以下方面描述加水印效率:可感知性(例如通过嵌入加水印消息引入的失真是否可以由观众检测到),有时称为“D”;鲁棒性(例如解码器对嵌入消息进行解码的成功率),有时称为“E”;以及容量(例如可以在图像中嵌入数据的速率或数据量),有时称为“R”。在许多实施方式中,可能期望具有低可感知性、高鲁棒性和高容量。然而,在许多实施方式中,改进这些中的一个可能导致其他方面的急剧劣化。例如,在维持鲁棒性的同时向消息添加更多数据可能需要扩大水印的大小,从而使其变得更加可感知。类似地,可以在通过去除纠错位添加数据的同时维持标记大小,但是这自然地使标记变得更难以解码并且更容易破坏。
图2A是根据一个实施方式的用于图像加水印的系统200的框图。系统可以包括编码器202和解码器204,它们可以位于相同或不同的计算设备(例如,内容服务器和监视服务器)上。图像“S”206可以由编码器202与消息“X”208一起编码,以创建包括S+X的加水印的图像“S’”210。编码或加水印的图像S’可以通过通信信道212来传送,诸如到客户端设备。可以将对应的加水印的图像(例如来自屏幕快照,如以上所讨论的)提供给解码器204。例如,客户端设备可以经由通信信道212将加水印的图像发送到解码器204。通信信道因此可以包括编码器与解码器之间的网络和设备的任何组合,这可能潜在地引入任何种类的附加失真。例如,由于有意或无意攻击或损害,信道可能是有损的。意外损害的示例包括图像的旋转、缩放和格式转换。有意损害的示例包括噪声注入(例如添加信息)以及去除加水印码(例如扣除信息)的尝试。
解码器204可以从加水印的图像S’中检测水印并且对其进行解码以恢复原始消息X 208’,按需应用纠错(以及潜在地捕获图像中的多个水印并且比较从每个解码的消息以排除单个水印中的错误或失真)。
因此,编码器可以将诸如以上讨论的时间戳/地址/进程ID字符串的消息连同任何纠错码一起编码到诸如QR码的标记中;并且经由α信道覆盖图的混合将标记的至少一个副本编码到图像中,而解码器可以通过检测覆盖图图案和不一致来对消息进行解码,从而标识QR码;对原始字符串进行解码;并且标识原始时间戳/地址/进程ID。
此类系统是相对成功的,但是具有高错误率。在涉及从编码图像的屏幕快照中对嵌入标记进行解码的一个实验中,解码成功率是:44.03%。
如以上所指出的,给定固定的消息速率(例如128位),影响解码成功率的因素是由编码器引入到图像的失真(De)以及编码器输出处的所捕获的屏幕快照与加水印的图像之间的失真(Dc)。通常,如在解码成功率中测量的图像加水印的鲁棒性由De控制:对于相同的Dc,如果增加De,则能够实现更高的解码成功率。然而,出于大多数目的,水印必须在加水印的图像中在视觉上不能感知。这样的要求对De强加上界。对De的此约束实质上暗示任何给定信道的解码成功率的上界。在由信道引入的Dc较大的一些极端情况下,解码成功率可能下降至接近零,从而限制加水印的此类实施方式的适用性。
令(D0、E0、R0)分别表示以上讨论的加水印方法的实施方式的失真、解码成功率和消息速率。在典型的实施方式中,对三个量中的一个的改进将不可避免地以其他量中的至少一个的性能损失为代价。例如,为了改进E0,需要在维持R0的同时牺牲D0,或者在维持D0的同时减小R0。然而,在许多应用中,D0和R0当前都具有硬约束:D0必定有上界以避免对用户体验的负面影响,并且R0必定有下界,使得加水印消息是有用的,例如用于跟踪目的。在这种上下文中,加水印的当前实施方式几乎没有改进E0的空间。
本文讨论的系统和方法提供了改进的图像加水印以改进鲁棒性和容量,而不使可感知性劣化。具体地,本文讨论的系统和方法允许在相同的失真水平和消息速率下实现更高的解码成功率;或在相同的失真水平和解码成功率下实现更高的消息速率。这些系统的实施方式利用仅对解码器而非编码器可用的附加信息的侧链,以实现渐近无损数据压缩,从而允许以更少的位传送相同的消息。
由于失真约束由应用给出,所以本文讨论的系统集中于解码成功率与消息速率之间的权衡。具体地,系统在不损害加水印消息的有用性的情况下回避消息速率的上述下界。因此,它允许在灵活性与容量之间找到正确的权衡时实现更大的灵活性,这在现有实施方式中是不可能的。具体地,仅在解码器处可用的侧信息(side information)可以用于实现渐近无损压缩。
图2B是根据一个这种实施方式的用于图像加水印的系统200’的框图。如关于图2A所讨论的,编码器202用消息208对图像206进行编码以生成加水印的图像210,其可以经由通信信道212被提供给解码器204。然而,为了恢复原始消息208’,解码器使用对编码器不可用的附加侧信息“Y”214。这消除在编码器与解码器之间单独通信的任何要求,这在内容服务器和监视服务器不是同一设备(并且可能不由同一实体控制)的实施方式中是特别有利的。
在图2A与图2B之间,主要差异是在图2B中的解码器处引入侧信息Y。从经典源编译定理得出,在图2A中的解码器处对消息X进行无损恢复所需要的最小速率由X的边际熵H(X)给出。相应地,从Slepian-Wolf编译定理得出,在图2B中的解码器处对消息X进行无损恢复所需要的最小速率由给定Y时X的边际熵H(X|Y)给出。由于对任何(X,Y)来说H(X|Y)≤H(X),所以通过利用侧信息Y,可以在图2B中使用比在图2A中更低的消息速率来传递相同的消息X。X与Y之间的相关性越强,能够实现的消息速率越低。
改进的鲁棒性
在第一实施方式中,系统可以在解码器处利用侧信息Y来改进鲁棒性。在一些此类实施方式中,图2B中的编码器将加水印消息嵌入到图像中如下:
1.将加水印消息X转换为K位二进制字符串,其中K由H(X|Y)确定。
2.将K位二进制字符串转换成QR码字。
3.生成包含QR码字的至少一个副本的加水印图像。
4.通过将加水印图像叠加在原始图像之上使两者混合。
相应地,图2B的解码器从加水印的图像的屏幕快照中对水印消息X进行解码如下:
5.从屏幕快照中检测和提取QR码字。
6.对来自所提取的QR码字的K位二进制字符串进行解码。
7.根据k位二进制字符串和侧信息Y对加水印消息X进行解码。
注意,在许多实施方式中,可以将以上步骤中的一个或多个(例如步骤6-7)组合成单个步骤以获得更好的性能。
注意,QR码字包括用于检测的图案和2D布局中的纠错码。在一些实施例中,可以使用1D纠错码字连同用于检测的1D图案代替QR码字,以在生成加水印图像时获得更好的性能/灵活性。1D纠错码的示例包括里德-所罗门码、Turbo码、LDPC(低密度奇偶校验)码和其他一般线性块码。
鉴于以上编码进程中的步骤1,为了确定K,需要知道先验H(X|Y),但是不需要Y(即,实际侧信息序列)的实现的知识。可获得先验知识H(X|Y)的侧信息Y的示例包括屏幕快照时间戳、解码时间以及关于屏幕快照的任何无直接联系的信息(例如关于站点的信息,包括其IP地址和地理位置、发布者信息和平台信息)。
以下描述使用屏幕快照时间戳作为示例,但是其他类似的实施方式可以利用IP地址信息和/或平台信息或这些的组合。
回想以上在图1B中讨论的查询ID是由时间戳(64位)、IP地址(32位)和进程ID(32位)构成(不包括任何附加错误编译位)的128位二进制字符串。在典型的应用中,屏幕快照时间戳Ts与查询ID中的时间戳Tq强相关,使得Tq≤Ts;并且存在非负整数Δ,使得Ts-Tq≤Δ的概率高。
鉴于这些,代替在此类实施方式中对于时间戳使用64位,图2B中的编码器能够使用K=(ceil(64-log2(Δ))+64)位作为H(X|Y)的估计,其中Y是Ts,并且其中“ceil”是将其变元向上舍入到最接近整数的ceiling函数。因此,在一个实施例中,使用分箱方案(binning scheme)来对Tq进行编译,其中每个区间(bin)包含隔开至少Δ微秒的候选时间戳,并且区间的索引是长度ceil(64-log2(Δ))的Tq的后缀。
所提出的合并方案基于如下事实:对彼此接近的两个时间戳来说,最高有效位是相同的。例如,用于纪元时间的2019-01-01的时间戳是:1546300800,并且其二进制是:
0b0101 0111 1110 0101 1010 0011 0101 1110 0110 0110 0000 0000 0000
用于2018-01-01的时间戳是1514764800,并且其二进制版本是:
0b0101 0110 0001 1010 1011 1010 1001 1101 0010 1000 0000 0000 0000
其64位表示中的前18位相同。两个时间戳越接近,越多的最高有效位相同。在典型的实施方式中,图像时间戳和屏幕快照时间戳通常可能明显更接近,诸如在一天、一周或一月内,从而使更大数量的位相同。
通过使用上述合并方案,在一些实施方式中,系统能够通过去除Tq中的约log2(Δ)个最高有效位而使用K=(ceil(64-log2(Δ))+64)位来对查询ID进行编译。图1C是根据一个这种实施方式的用于图像加水印的数据格式150’的图示。如图所示,虽然IP地址154和进程ID 156与在图1B的实施方式中相同,但是时间戳减少至最低有效位158的一部分,并且可以添加附加数据160,而不减小数据的大小。
在解码器侧,在根据从接收到的屏幕快照中提取QR码并且对其进行解码获得K位二进制字符串之后,时间戳LSB 158可以标识包含正确的时间戳Tq的区间的索引。为了恢复Tq,解码器可以组合Ts的前log2(Δ)位和(64log2(Δ))位区间索引以获得T’q。在log2(Δ)不是整数的情况下,在这里替代地使用大于log2(Δ)的最小整数,即,ceil(log2(Δ))。由于在许多实施方式中Ts-Tq≤Δ的概率高,所以得出在解码器处T’q=Tq的概率高。在不太可能的Ts-Tq>Δ的情况下,只要Ts-Tq≤mΔ(其中m是正整数),Tq必须在大小m的以下列表当中:
{T’q,T’q-Δ,T’q-2Δ,...,T’q-(m-1)Δ}。
由于(ceil(64-log2(Δ))+64)<128,所以这些实施方式有效地减小在解码器处恢复查询ID所需要的消息速率。可以进而以两种方式利用这种减小以改进解码成功率:
1.例如通过包括附加奇偶校验或纠错位,提高所选QR码中的校正水平;或者
2.使用较小的宏QR码(例如宏17)。
注意,21x21 QR码可以如下表所列举的那样存储最多152位信息:
ECC水平 中等 四分位数
位21x21 152 128 104 72
数值21x21 41 34 27 17
数值宏17 35 30 21 ---
通过将位数从128减小至K=(ceil(64-log2(Δ))+64),系统能够利用更高的纠错码(ECC)水平或更小的QR码来改进解码成功率(例如从中等改变为四分位数)。
改进的消息速率
以上讨论的实施方式利用在解码器处可用的侧信息来改进加水印的鲁棒性。从不同角度来看,系统还可以利用侧信息来改进消息速率。
在此类实施方式中,图2B的编码器可以将加水印消息嵌入到图像中如下:
1.将128位查询ID以及K位附加信息转换成128位二进制字符串,其中K由H(X)-H(X|Y)确定。
2.将128位二进制字符串转换成QR码字。
3.生成包含QR码字的至少一个副本的加水印图像。
4.通过将水印图像叠加在源图像之上使两者混合。
相应地,图2B的解码器可以从图像的屏幕快照中对加水印消息X进行解码如下:
4.从屏幕快照中检测和提取QR码字。
5.对来自所提取的QR码字的128位二进制字符串进行解码。
6.根据128位二进制字符串和侧信息Y对128位查询ID连同K位附加信息进行解码。
与未实现这些方法的系统比较,这些实施方式实质上免费提供附加K位消息传送能力,即,具有相同的解码成功率和相同的失真水平。这些附加K位可以用于在易用性方面提供更好的跟踪能力和/或用户体验。
如以上所指出的,尽管主要在减小用于水印数据内的时间戳的数据大小方面讨论,但是可以与应用于IP地址和/或进程标识符的合并一起使用类似的实施方式。例如,如果典型的进程标识符的长度都小于20位,则可以从进程ID 156MSB中去除12位。类似地,可以从在解码器处可用的侧信息(例如用于提交屏幕快照的IP地址、解码器的IP地址等)导出水印数据内的IP地址的部分(例如,最左边8位)。为了进一步减小数据大小,可以以这种方式处理这些字段的组合。
图3是根据一些实施方式的用于图像加水印的系统的框图。可以包括台式计算机、膝上型计算机、平板计算机、可穿戴计算机、智能电话、嵌入式计算机、智能汽车或任何其他类型和形式的计算设备的客户端设备300可以经由网络312与一个或多个服务器314进行通信。
在许多实施方式中,客户端设备300可以包括处理器302和存储器设备306。存储器设备306可以存储机器指令,这些机器指令当由处理器执行时,使该处理器执行本文描述的操作中的一个或多个。处理器302可以包括微处理器、ASIC、FPGA等或其组合。在许多实施方式中,处理器可以是多核心处理器或处理器阵列。存储器设备306可以包括但不限于能够给处理器提供程序指令的电子、光学、磁性或任何其他存储设备。存储器设备可以包括软盘、CD-ROM、DVD、磁盘、存储器芯片、ROM、RAM、EEPROM、EPROM、闪速存储器、光学介质,或处理器能够从中读取指令的任何其他合适的存储器。指令可以包括来自诸如但不限于C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python和Visual Basic的任何合适的计算机编程语言的代码。
客户端设备300可以包括一个或多个网络接口304。网络接口304可以包括任何类型和形式的接口,包括包含有10Base T、100Base T或1000Base T(“千兆位”)的以太网;802.11无线的种类中的任一种,诸如802.11a、802.11b、802.11g、802.11n或802.11ac;蜂窝,包括CDMA、LTE、3G或4G蜂窝;蓝牙或其他短距离无线连接;或用于与网络进行通信的这些或其他接口的任何组合。在许多实施方式中,客户端设备300可以包括不同类型的多个网络接口304,从而允许连接到各种网络312。相应地,网络312可以包括局域网(LAN)、诸如因特网的广域网(WAN)、蜂窝网络、宽带网络、蓝牙网络、802.11(WiFi)网络、卫星网络或这些或其他网络的任何组合,并且可以包括一个或多个附加设备(例如路由器、交换机、防火墙、集线器、网络加速器、高速缓存等)。
客户端设备可以包括一个或多个用户接口设备。用户接口设备可以是通过生成感觉信息(例如,显示器上的可视化、一个或多个声音、触觉反馈等)将数据传达给用户并且/或者将从用户接收到的感觉信息转换成电子信号的任何电子设备(例如,键盘、鼠标、定点设备、触摸屏显示器、麦克风等)。根据各种实施方式,一个或多个用户接口设备可以在客户端设备的外壳内部,诸如内置显示器、触摸屏、麦克风等,或者在客户端设备的外壳外部,诸如连接到客户端设备的监视器、连接到客户端设备的扬声器等。
存储器306可以包括用于由进程302执行的应用308。应用308可以包括任何类型和形式的应用,诸如媒体应用、web浏览器、生产力应用或任何其他这种应用。应用308可以从内容服务器接收图像,包括嵌入在图像内的水印,并且可以经由用户接口为客户端设备的用户显示它们。
存储器306还可以包括捕获引擎310,其可以是应用308的一部分(例如,浏览器的插件或扩展件)和/或设备的操作系统的一部分。捕获引擎310可以包括用于捕获包括水印的渲染图像的屏幕快照的应用、服务器、服务、守护程序、例程或其他可执行逻辑。捕获引擎310可以被配置成捕获每一图像或一些图像的屏幕快照。例如,在一些实施方式中,响应于图像的元数据,或者响应于由应用308执行的脚本(例如响应于例如嵌入在由浏览器显示的web页面中的脚本),可以触发捕获引擎310以拍摄图像的屏幕快照。在一些实施方式中,捕获引擎310可以拍摄仅图像的屏幕快照,或者可以拍摄整个显示器或屏幕的屏幕快照。在另外的实施方式中,捕获引擎可以将捕获的图像裁切为仅所需图像。这可以例如基于图像显示在显示器内的坐标完成。捕获引擎310可以将元数据添加到屏幕快照,该元数据诸如如以上所讨论的捕获时间(例如纪元时间)。捕获引擎310还可以经由网络接口304将屏幕快照传送到监视服务器。在一些实施方式中,捕获引擎310可以包括嵌入在web页面中并且由应用308在渲染该web页面的同时执行的脚本;此类web页面还可以包括嵌入图像或到用于捕获引擎捕获其屏幕快照的图像的链接。
服务器314可以包括内容服务器和/或监视服务器,它们可以是相同或不同的设备。服务器314可以包括一个或多个处理器302、网络接口304和存储器设备306。内容服务器314可以包括存储装置中的一个或多个内容项316,诸如要加水印的图像以及其他内容(例如web页面、其他媒体等)。内容服务器314还可以包括如以上关于图2A和图2B所讨论的编码器202。编码器202可以包括软件、硬件、或硬件和软件的组合。例如,编码器202可以包括用于将水印嵌入到图像中的ASIC、FPGA或其他专用硬件。
如以上关于图2B所讨论的,监视服务器可以包括解码器204。解码器204可以包括软件、硬件、或硬件和软件的组合。例如,解码器204可以包括用于从图像中标识水印并且对其进行解码的ASIC、FPGA或其他专用硬件。如以上所讨论的,解码器204可以接收用于帮助对水印进行解码的侧信息,诸如来自从捕获引擎310接收到的屏幕快照的元数据的屏幕快照时间。
图4是根据一些实施方式的用于图像加水印的方法的流程图。在步骤402处,客户端设备可以请求内容项。请求可以在由浏览器或其他应用渲染web页面(例如,在移动游戏中断期间的隙间内容项或任何其他类型和形式的内容)期间触发。在步骤404处,内容服务器314可以选择内容项。内容项可以经由任何手段来选择,并且可以基于客户端设备类型、用户账户或设备标识符、web页面或其他应用内的上下文项或任何其他这种信息。
在步骤406处,内容服务器314可以生成水印标识符,该水印标识符可以包括一个或多个标识符,包括时间戳、服务器的标识符或服务器的IP地址和/或用于选择内容项的进程的进程标识符。在一些实施方式中,水印标识符可以包括附加信息,诸如内容项的标识符。在步骤408处,可以将内容项与水印一起编码。如以上所讨论的,对内容项进行编码可以包括生成具有α信道的覆盖图,该α信道具有从默认值或图案修改的像素,该默认值或图案表示经编码的水印(例如QR码或类似码)的更改位。可以跨图像以预定间隔或间距重复水印。然后可以将覆盖图与图像混合或组合以生成经编码的内容项。在步骤410处,经编码的内容项可以由内容服务器传送到客户端设备。
尽管被示出有内容服务器在接收到对内容项的请求之后生成水印标识符并且对水印进行编码,但是在一些实施方式中,可以对内容项进行预编码(例如,在步骤402之前),并且内容服务器可以选择预编码的内容项以进行递送。在许多实施方式中,可以在请求之前的预定时间帧内执行这种预编码。例如,内容项可以用给定时间戳进行编码并且在预定时间段(例如两周)内被利用,然后用新时间戳替换或重新编码。这可以允许内容服务器在不太忙的时间期间执行编码处理,同时仍然确保内容和时间戳相对新鲜。如以上所讨论的,可以使用预编码的内容项的窗口越短,可以在水印中编码更多的数据和/或使水印变得越鲁棒;然而,即使在上述示例中,也可以使用一年或更长的窗口,同时仍然显著地减少所需要的数据。
在步骤412处,客户端设备可以例如在诸如web浏览器、媒体播放器、游戏或其他应用的应用内渲染内容项。在步骤414处,客户端设备的捕获引擎(作为单独的服务或者作为应用的插件或脚本执行)可以捕获内容项的屏幕快照。屏幕快照可以被裁切或限制到内容项,或者可以是全屏幕或屏幕的一部分的屏幕快照。屏幕快照可以经由具有捕获时间戳的元数据来标识,并且可以包括其他标识符(例如设备标识符、应用和/或web页面的上下文标识符等)。在其他实施方式中,可以经由其他手段提供捕获时间戳。例如,在一些实施方式中,考虑到捕获时间和屏幕快照到服务器的传输时间很可能非常接近(例如在几秒钟内),则可以利用分组传输时间(例如从分组的报头,诸如传输层报头的时间戳选项字段中标识或提取)或接收时间作为捕获时间戳。在步骤416处,客户端设备可以将屏幕快照传送到监视服务器。
在步骤418处,可以是内容服务器或不同设备的监视服务器可以接收屏幕快照,并且在一些实施方式中,可以从屏幕快照的元数据中提取时间戳或者可以标识屏幕快照的传送或接收时间。可以将时间戳作为侧信息提供给监视服务器的解码器。
在步骤420处,解码器可以扫描屏幕快照并且提取任何标识的水印。在水印在屏幕快照中多次出现的一些实施方式中,解码器可以比较经标识的水印并且选择或生成具有最小失真的水印(例如与图像中的最高数目的其他水印匹配的水印、作为其他标识的水印的平均值的水印等)。在步骤422处,解码器可以将水印转换为字符串。
在步骤424处,解码器可以从来自步骤418的所提取的时间戳的一部分(例如预定数目的最低有效位)生成时间戳并且可以使用所生成的时间戳来测试字符串的解码(例如对用所生成时间戳解码的字符串应用纠错算法)。如果字符串根据纠错位正确地解码,则在步骤426处,监视服务器可以处理与内容项有关的屏幕快照图像或数据(例如,经由IP地址和进程标识符标识内容服务器、将屏幕快照与原始内容项进行比较以检测渲染失真或破坏、跟踪内容项的递送等)。
如果字符串未正确地解码,则解码器可以根据来自合并方案的值Δ提前所生成的时间戳,并且可以在步骤424处重新测试解码。这可以迭代地重复,直到解码成功或所有区间索引值都已被测试(表明水印被破坏或不适当地提取,或来自在以上讨论的使用时间窗口之前的内容项被利用)。如果所有区间索引值已被测试并且解码不成功,则在步骤428处,解码器可以向系统的管理员或用户报告错误。
因此,本文讨论的系统和方法提供了改进的图像加水印以改进鲁棒性和容量,而不使可感知性劣化。具体地,本文讨论的系统和方法允许在相同的失真水平和消息速率下实现更高的解码成功率;或在相同的失真水平和解码成功率下实现更高的消息速率。这些系统的实施方式利用仅对解码器而非编码器可用的附加信息的侧链,以实现渐近无损数据压缩,从而允许以更少的位传送相同的消息。
本说明书中描述的主题和操作的实施方式能够用数字电子电路或者用计算机软件、固件或硬件(包括本说明书中公开的结构及其等同结构)或者用它们中的一个或多个的组合加以实现。能够将本说明书中描述的主题的实施方式实现为一个或多个计算机程序,即,在一个或多个计算机存储介质上编码以供由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。替换地或此外,能够在人工生成的传播信号例如机器生成的电、光或电磁信号上对程序指令进行编码,该信号被生成以对信息进行编码以用于传输到合适的接收器装置以供由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合或者被包括在其中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的组件或介质(例如,多个CD、磁盘或其他存储设备),或者被包括在其中。因此,计算机存储介质可以是有形的。
能够将本说明书中描述的操作实现为由数据处理设备对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。
术语“客户端”或“服务器”包括用于处理数据的所有种类的装置、设备和机器,诸如可编程处理器、计算机、片上系统或多个这些或前述项的组合。装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外,还能够包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)能够用任何形式的编程语言(包括编译或解释语言、声明或过程语言)编写,并且它能够被以任何形式部署,包括作为独立程序或者作为适合于在计算环境中使用的模块、组件、子例程、对象或其他单元。计算机程序可以但不必对应于文件系统中的文件。能够在保持其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中、或者在多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中存储程序。能够将计算机程序部署成在一个计算机上或者在位于一个站点处或跨多个站点分布并且通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程能够通过一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据操作并且生成输出来执行动作而被执行。过程和逻辑流程还能够由专用逻辑电路执行,并且装置还能够作为专用逻辑电路被实现,该专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括通用微处理器和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于依照指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或者在操作上耦合以从该一个或多个大容量存储设备接收数据或者将数据转移到该一个或多个大容量存储设备。然而,计算机不必具有此类设备。此外,能够将计算机嵌入在另一设备中,该另一设备例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括半导体存储器设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充,或者并入在专用逻辑电路中。
为了提供与用户的交互,能够在计算机上实现本说明书中描述的主题的实施方式,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)、LCD(液晶显示器)、OLED(有机发光二极管)、TFT(薄膜晶体管)、等离子体、其他灵活配置或任何其他监视器,并且具有用户能够用来向计算机提供输入的键盘、指点设备,例如鼠标、轨迹球等或触摸屏、触摸板等。其他种类的设备也能够用于提供与用户的交互;提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声、语音或触觉输入。此外,通过向由用户使用的设备发送文档并且从由用户使用的设备接收文档;通过响应于从web浏览器接收到的请求而向用户的客户端设备上的web浏览器发送网页,计算机能够与用户交互。
能够在计算系统中实现本说明书中描述的主题的实施方式,该计算系统包括后端组件,例如,作为数据服务器;或者包括中间件组件,例如,应用服务器;或者包括前端组件,例如,具有用户能够用来与本说明书中描述的主题的实施方式交互的图形用户接口或web浏览器的客户端计算机,或者包括一个或多个此类后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络可以包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,因特网)及对等网络(例如,自组织对等网络)。
对于本文讨论的系统收集关于用户的个人信息或者可以利用个人信息的情形,可以给用户提供控制程序或特征是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)、或者控制是否或如何从内容服务器或其他数据处理系统接收可能与用户更相关的内容的机会。此外,某些数据可以在它被存储或使用之前以一种或多种方式匿名化,使得在生成参数时去除个人可标识的信息。例如,可以使用户的身份匿名化,使得对于该用户不能够确定个人可标识的信息,或者可以在获得位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制关于他或她的信息如何被收集并且由内容服务器使用。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明或可能要求保护的范围构成限制,而是相反被解释为特定于特定发明的特定实施方式的特征的描述。还能够在单个实施方式中相结合地实现在本说明书中在单独的实施方式的上下文中描述的某些特征。相反地,还能够分别在多个实施方式中或在任何合适的子组合中实现在单个实施方式的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是来自要求保护的组合的一个或多个特征能够在一些情况下被从该组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定次序描绘操作,但是这不应该被理解为要求以所示的特定次序或以顺序次序执行此类操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中要求这种分离,并且应该理解,所描述的程序组件和系统通常能够被一起集成在单个软件产品中或者包装到多个软件产品中。
因此,已描述了主题的特定实施方式。其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作能够被以不同的次序执行并且仍然实现所希望的结果。此外,附图中描绘的过程不一定要求所示的特定次序或顺序次序来实现所希望的结果。在某些实施方式中,可以利用多任务处理或并行处理。

Claims (27)

1.一种用于加水印系统的解码器,所述解码器被配置成:
从客户端设备接收分组,所述分组包括(i)由所述客户端设备显示的图像的屏幕快照,所述图像用和与所述图像相关联的元数据相关联的字符串加水印,以及(ii)与所述图像的屏幕快照相关联的元数据,
从所述分组中提取与所述图像的屏幕快照相关联的所述元数据和所述字符串,
使用与所述图像的屏幕快照相关联的所述元数据的一部分,对来自所述字符串的标识符进行解码,所述标识符包括与所述图像相关联的元数据,并且
响应于所解码的标识符而跟踪与所述图像相关联的内容项的递送。
2.根据权利要求1所述的系统,其中,与所述图像的屏幕快照相关联的所述元数据包括所述图像的屏幕快照的时间戳,并且其中,所解码的标识符包括所述图像的时间戳。
3.根据权利要求2所述的系统,其中,所述解码器被配置成从所述分组的报头中提取所述图像的屏幕快照的时间戳,所述分组包括所述图像的屏幕快照和与所述图像的屏幕快照相关联的所述元数据。
4.根据权利要求2或3所述的系统,其中,所述字符串包括所述图像的时间戳的子集。
5.根据权利要求4所述的系统,其中,所述解码器被配置成:通过将所述图像的屏幕快照的时间戳的一部分与所述图像的时间戳的子集级联,来对来自所述字符串的所述标识符进行解码。
6.根据权利要求4或权利要求5所述的系统,其中,所述字符串包括大于所述图像的时间戳的长度与所述图像的时间戳的子集的长度之间的差的纠错位数。
7.根据前述权利要求中的任一项所述的系统,其中,所述解码器被配置成:通过将与所述图像的屏幕快照相关联的所述元数据的部分与预定偏移组合,来对来自所述字符串的所述标识符进行解码。
8.根据权利要求7所述的系统,其中,所述解码器被配置成:通过将与所述图像的屏幕快照相关联的所述元数据的部分与所述预定偏移的倍数迭代地组合直到成功地对所述标识符进行解码为止,来对来自所述字符串的所述标识符进行解码。
9.根据前述权利要求中的任一项所述的系统,其中,所述字符串包括生成用所述字符串加水印的所述图像的内容服务器的地址。
10.根据权利要求9所述的系统,其中,所述字符串包括生成用所述字符串加水印的所述图像的所述内容服务器的进程的标识符。
11.一种用于加水印的方法,包括:
由设备的解码器从客户端设备接收分组,所述分组包括(i)由所述客户端设备显示的图像的屏幕快照,所述图像用和与所述图像相关联的元数据相关联的字符串加水印,以及(ii)与所述图像的屏幕快照相关联的元数据;
由所述解码器从所述分组中提取与所述图像的屏幕快照相关联的所述元数据和所述字符串;
使用与所述图像的屏幕快照相关联的所述元数据的一部分,由所述解码器对来自所述字符串的标识符进行解码,所述标识符包括与所述图像相关联的元数据;以及
由所述解码器响应于所解码的标识符而跟踪与所述图像相关联的内容项的递送。
12.根据权利要求11所述的方法,其中,与所述图像的屏幕快照相关联的所述元数据包括所述图像的屏幕快照的时间戳,并且其中,所解码的标识符包括所述图像的时间戳。
13.根据权利要求12所述的方法,还包括由所述解码器从包括所述图像的屏幕快照的所述分组的报头中提取所述图像的屏幕快照的时间戳。
14.根据权利要求12或13所述的方法,其中,所述字符串包括所述图像的时间戳的子集。
15.根据权利要求14所述的方法,其中,对来自所述字符串的所述标识符进行解码还包括:将所述图像的屏幕快照的时间戳的一部分与所述图像的时间戳的子集级联。
16.根据权利要求14或权利要求15所述的方法,其中,所述字符串包括大于所述图像的时间戳的长度与所述图像的时间戳的子集的长度之间的差的纠错位数。
17.根据权利要求11至16中的任一项所述的方法,其中,对来自所述字符串的所述标识符进行解码还包括:将与所述图像的屏幕快照相关联的所述元数据的部分与预定偏移组合。
18.根据权利要求17所述的方法,其中,对来自所述字符串的所述标识符进行解码还包括:将与所述图像的屏幕快照相关联的所述元数据的部分与所述预定偏移的倍数迭代地组合,直到成功地对所述标识符进行解码为止。
19.根据权利要求11至18中的任一项所述的方法,其中,所述字符串包括生成用所述字符串加水印的所述图像的内容服务器的地址。
20.根据权利要求19所述的方法,其中,所述字符串包括生成用所述字符串加水印的所述图像的所述内容服务器的进程的标识符。
21.一种计算机可读介质,所述计算机可读介质包括指令,所述指令当由计算设备执行时,使所述计算设备执行根据权利要求11至20中的任一项所述的方法。
22.一种加水印系统,包括:
设备的编码器,所述编码器被配置成:
接收图像和与所述图像相关联的元数据,
根据与所述图像相关联的所述元数据的子集生成字符串,
根据所述字符串对水印进行编码,并且
将所述水印嵌入在所述图像中;
其中,所述设备或第二设备的解码器
从客户端设备接收分组,所述分组包括(i)由所述客户端设备显示的所述图像的屏幕快照,所述图像用根据与所述图像相关联的所述元数据的子集生成的所述字符串加水印,以及(ii)与所述图像的屏幕快照相关联的元数据;
从包括由所述客户端设备显示的所述图像的屏幕快照和与所述图像的屏幕快照相关联的所述元数据的所述分组中提取所述字符串和与所述图像的屏幕快照相关联的附加元数据;
使用与所述图像的屏幕快照相关联的所述附加元数据的一部分,对来自所述字符串的标识符进行解码,所述标识符包括与所述图像相关联的所述元数据的一部分;并且
响应于所解码的标识符而跟踪与所述图像相关联的内容项的递送。
23.根据权利要求22所述的系统,其中,与所述图像相关联的所述元数据包括所述图像的时间戳,并且其中,所述附加元数据包括所述客户端设备对所述图像的屏幕快照的时间戳。
24.根据权利要求22或23所述的系统,其中,所述设备的编码器被配置成根据与所述图像相关联的所述元数据的预定数目的最低有效位生成所述字符串。
25.一种用于加水印的方法,包括:
由设备的编码器接收图像和与所述图像相关联的元数据;
由所述编码器根据与所述图像相关联的所述元数据的子集生成字符串;
由所述编码器根据所述字符串对水印进行编码;以及
由所述编码器将所述水印嵌入在所述图像中;
其中,所述设备或第二设备的解码器
从客户端设备接收分组,所述分组包括(i)由所述客户端设备显示的所述图像的屏幕快照,所述图像用根据与所述图像相关联的所述元数据的子集生成的所述字符串加水印,以及(ii)与所述图像的屏幕快照相关联的元数据;
从包括由所述客户端设备显示的所述图像的屏幕快照和与所述图像的屏幕快照相关联的所述元数据的所述分组中提取所述字符串和与所述图像的屏幕快照相关联的附加元数据;
使用与所述图像的屏幕快照相关联的所述附加元数据的一部分,对来自所述字符串的标识符进行解码,所述标识符包括与所述图像相关联的所述元数据的一部分;并且
响应于所解码的标识符而跟踪与所述图像相关联的内容项的递送。
26.根据权利要求25所述的方法,其中,与所述图像相关联的所述元数据包括所述图像的时间戳,并且其中,所述附加元数据包括所述客户端设备对所述图像的屏幕快照的时间戳。
27.根据权利要求25或26所述的方法,还包括根据与所述图像相关联的所述元数据的预定数目的最低有效位生成所述字符串。
CN202080006695.8A 2019-06-19 2020-06-18 改进的图像加水印 Pending CN113168666A (zh)

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
CN113168666A true CN113168666A (zh) 2021-07-23

Family

ID=67138214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080006695.8A Pending CN113168666A (zh) 2019-06-19 2020-06-18 改进的图像加水印

Country Status (5)

Country Link
JP (1) JP7225403B2 (zh)
KR (1) KR102578027B1 (zh)
CN (1) CN113168666A (zh)
DE (1) DE112020000150T5 (zh)
WO (2) WO2020256718A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116957893A (zh) * 2023-06-26 2023-10-27 海易科技(北京)有限公司 水印生成方法、装置、电子设备和计算机可读介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542767B (zh) * 2021-07-14 2022-06-10 广东工业大学 一种信息隐藏图像处理模型构建方法、装置、终端及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061508A1 (en) * 2000-02-17 2001-08-23 Digimarc Corporation Watermark encoder and decoder enabled software and devices
CN1790420A (zh) * 2005-12-01 2006-06-21 北京北大方正电子有限公司 一种在文本文档中嵌入及检测数字水印的方法和装置
CN102216941A (zh) * 2008-08-19 2011-10-12 数字标记公司 用于内容处理的方法和系统
CN102461066A (zh) * 2009-05-21 2012-05-16 数字标记公司 组合的水印法和指纹法
WO2015084004A1 (en) * 2013-12-03 2015-06-11 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US20160150297A1 (en) * 2014-11-25 2016-05-26 Verance Corporation Enhanced metadata and content delivery using watermarks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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
CN104471951B (zh) 2012-07-16 2018-02-23 Lg电子株式会社 处理数字服务信号的方法及装置
US10779057B2 (en) * 2015-06-08 2020-09-15 Qualcomm Incorporated Broadcast content redistribution and ad insertion
EP3661381B1 (en) 2017-08-04 2023-08-30 NIKE Innovate C.V. Article of footwear having a knitted component with a forefoot portion and a heel portion

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061508A1 (en) * 2000-02-17 2001-08-23 Digimarc Corporation Watermark encoder and decoder enabled software and devices
CN1790420A (zh) * 2005-12-01 2006-06-21 北京北大方正电子有限公司 一种在文本文档中嵌入及检测数字水印的方法和装置
CN102216941A (zh) * 2008-08-19 2011-10-12 数字标记公司 用于内容处理的方法和系统
CN102461066A (zh) * 2009-05-21 2012-05-16 数字标记公司 组合的水印法和指纹法
WO2015084004A1 (en) * 2013-12-03 2015-06-11 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US20160150297A1 (en) * 2014-11-25 2016-05-26 Verance Corporation Enhanced metadata and content delivery using watermarks

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JINCY J. FERNANDEZ 等: "JPEG Metadata: A complete study", 2018 INTERNATIONAL CONFERENCE ON RECENT TRENDS IN ADVANCE COMPUTING (ICRTAC), pages 34 - 40 *
MD. ASIKUZZAMAN 等: "An Overview of Digital Video Watermarking", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 28, no. 9, pages 2131 - 2153, XP011690312, DOI: 10.1109/TCSVT.2017.2712162 *
胡家声: "变换域数字图像水印技术", 中国优秀硕士学位论文全文数据库(工程科技Ⅰ辑), pages 024 - 91 *
袁征: "基于密码和水印的数字版权保护技术研究", 中国博士学位论文全文数据库(信息科技辑), pages 138 - 6 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116957893A (zh) * 2023-06-26 2023-10-27 海易科技(北京)有限公司 水印生成方法、装置、电子设备和计算机可读介质
CN116957893B (zh) * 2023-06-26 2024-04-16 海易科技(北京)有限公司 水印生成方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
DE112020000150T5 (de) 2021-08-26
WO2020257493A1 (en) 2020-12-24
KR20210079362A (ko) 2021-06-29
WO2020256718A1 (en) 2020-12-24
KR102578027B1 (ko) 2023-09-13
JP7225403B2 (ja) 2023-02-20
JP2022532814A (ja) 2022-07-20

Similar Documents

Publication Publication Date Title
Luo et al. Steganalysis of HUGO steganography based on parameter recognition of syndrome-trellis-codes
US9083511B2 (en) Message key generation
Filler et al. Design of adaptive steganographic schemes for digital images
US8189861B1 (en) Watermarking digital documents
Zhu et al. Robust steganography by modifying sign of DCT coefficients
CN113168666A (zh) 改进的图像加水印
US20230111326A1 (en) Image watermarking
Nilizadeh et al. Information Hiding in RGB Images Using an Improved Matrix Pattern Approach.
Bao et al. A robust image steganography on resisting JPEG compression with no side information
Fang et al. An optimization model for aesthetic two-dimensional barcodes
US20220092721A1 (en) Improved image watermarking
Korus et al. A new approach to high-capacity annotation watermarking based on digital fountain codes
Jambhale et al. A deep learning approach to invisible watermarking for copyright protection
US20230325961A1 (en) Zoom agnostic watermark extraction
US20230325959A1 (en) Zoom agnostic watermark extraction
Duda et al. Image-like 2d barcodes using generalizations of the Kuznetsov–Tsybakov problem
CN114626968A (zh) 水印嵌入方法、水印提取方法和装置
JP2013058965A (ja) デジタルデータの情報埋め込み装置及び埋込み情報検出装置
Preetha et al. Adaptive image steganography based on Syndrome-Trellis codes
Kin-Cleaves et al. Reducing coding loss with irregular syndrome trellis codes
Yang et al. Toward Practical Deep Blind Watermarking for Traitor Tracing
Rossi et al. Peak-shaped-based steganographic technique for JPEG images
Jouhari et al. A new steganographic scheme based on first order reed muller codes-A new steganographic scheme
Nakamura et al. A fast and robust digital watermark detection scheme for cellular phones
Kireev et al. Transform-Aware Content Adaptive Stegosystem for Social Networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination