CN116194927A - 用于数字水印的系统、方法和装置 - Google Patents

用于数字水印的系统、方法和装置 Download PDF

Info

Publication number
CN116194927A
CN116194927A CN202180062112.8A CN202180062112A CN116194927A CN 116194927 A CN116194927 A CN 116194927A CN 202180062112 A CN202180062112 A CN 202180062112A CN 116194927 A CN116194927 A CN 116194927A
Authority
CN
China
Prior art keywords
file
pipeline
data
message
image file
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
CN202180062112.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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116194927A publication Critical patent/CN116194927A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32219Spatial or amplitude domain methods involving changing the position of selected pixels, e.g. word shifting, or involving modulating the size of image components, e.g. of characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

所公开的系统、结构和方法涉及一种数字水印系统,所述数字水印系统包括:数据分离器,用于接收数字数据文件并将所述数字数据文件分离为消息部分和数据部分,其中,所述消息部分包括消息文件,所述数据部分包括数据文件;消息流水线,用于处理所述消息文件;数据流水线,用于处理所述数据文件;水印流水线,用于将处理后的消息文件嵌入到处理后的数据文件上;逆过程流水线,用于反转所述数据流水线在处理所述数据文件时应用的过程并生成带水印的数据文件。

Description

用于数字水印的系统、方法和装置
相关申请的交叉引用
本申请要求于2020年8月6日提交的发明名称为“用于数字水印的系统、方法和装置(SYSTEM,METHOD AND APPARATUS FOR DIGITAL WATERMARKING)”的先前提交的美国非临时申请第16/986,948号的优先权,该美国非临时申请的内容通过引用的方式并入本文,在司法管辖范围内允许此类并入。
技术领域
本发明大体上涉及数字处理,具体涉及用于数字水印的系统、方法和装置。
背景技术
典型的数字水印系统通常会执行几个不同的任务,这些任务可以包括但不限于:消息压缩、消息加密、消息编码、图像解码、图像转换、水印嵌入、图像编码等。基于有限的已知任务集设计一个高效的数字水印系统是一项挑战。为了设计充分自适应以适应变化的技术和/或与各种任务相关联的要求的数字水印系统,挑战进一步加剧。
与典型数字水印系统相关联的另一个挑战是确保水印是鲁棒的。为了达到鲁棒性,水印应该很难(如果可能)从任何数字文件(例如图像、视频、音频等)中删除水印。例如,考虑到图像,水印不应通过简单的方式删除,例如转码(即,将图像从一种格式转换为另一种格式)、压缩(即,牺牲质量以换取文件大小或传输效率)或几何修改(例如,裁剪、旋转等)。因此,如果使用JPEG压缩来减小带水印图像的大小(以字节为单位),但同时会阻止读取水印,则水印是脆弱的或不足够鲁棒以进行压缩。
克服脆弱水印的常见策略是在加水印之前将数字文件从空域变换到频域。不幸的是,从空域到频域的变换是计算量大的操作,并且取决于计算机硬件,速度可能会非常慢。此外,当涉及到计算频率变换所需的处理时间时,数字文件的大小往往是一个主要的影响因素,这可能会成为水印系统的瓶颈。
此外,如果水印不能被删除,才具有价值,检测水印是删除的第一步。虽然大多数水印技术在视觉上是无法察觉的(即,人眼无法检测到),但使用统计分析,计算机程序可以识别带水印的数字文件之间的相似性。使用这种统计分析,可以对水印嵌入算法进行逆向工程,并且可以开发工具来轻松地从其它数字文件中删除新的水印。这通常被称为相关攻击,当攻击者可以访问包含相同消息的几个带水印的数字文件时,就会发生这种情况。为了规避相关攻击,水印系统通常使用加密算法对消息进行加扰,使其显示为随机噪声。此外,通过使用不同的密钥,每次都会对同一消息进行不同的加扰。虽然这种方法是有效的,但它要求系统管理许多密钥。
因此,需要开发一种数字水印系统:该数字水印系统(1)高效、灵活、可扩展、可缩放和便携;(2)缩短了在大图像上计算水印所需的处理时间;(3)减少了防止相关攻击所需的密钥数量。
发明内容
本发明一般提供一种数字水印系统,所述数字水印系统包括:数据分离器,用于接收数字数据文件并将所述数字数据文件分离为消息部分和数据部分,其中,所述消息部分包括消息文件,所述数据部分包括数据文件;消息流水线,用于处理所述消息文件;数据流水线,用于处理所述数据文件;水印流水线,用于将处理后的消息文件嵌入到处理后的数据文件上;逆过程流水线,用于反转所述数据流水线在处理所述数据文件时应用的过程并生成带水印的数据文件。
根据本发明的其它方面,在所述数字水印系统中,所述数字数据文件还包括参数集合,所述参数集合指定以下各项中的至少一个:所述消息流水线处理所述消息的处理标准,所述数据流水线处理所述数据文件的处理标准,所述水印流水线将所述处理后的消息文件嵌入到所述处理后的数据文件上的处理标准,或所述逆过程流水线反转所述数据流水线在处理所述数据文件时应用的过程的处理标准。
根据本发明的其它方面,在所述数字水印系统中,所述消息流水线还用于根据所述参数集合处理所述消息,所述数据流水线还用于根据所述参数集合处理所述数据文件,所述水印流水线还用于根据所述参数集合将所述处理后的消息文件嵌入到所述处理后的数据文件上,所述逆过程流水线还用于反转所述数据流水线在根据所述参数集合处理所述数据文件时应用的过程。
根据本发明的其它方面,所述数字水印系统还用于在所述消息流水线、所述数据流水线、所述水印流水线或所述逆过程流水线中添加或删除操作。
根据本发明的其它方面,在所述数字水印系统中,所述消息流水线还用于使用Paillier概率加密算法对所述消息进行加密。
根据本发明的其它方面,在所述数字水印系统中,所述消息流水线使用公钥对所述消息进行加密。
根据本发明的其它方面,在所述数字水印系统中,所述数据文件包括视频文件、音频文件或图像文件中的至少一种。
根据本发明的其它方面,在所述数字水印系统中,如果所述数据文件是所述图像文件,则所述数据流水线还用于:创建原始图像文件的副本,并将复制的图像文件提供给所述逆过程流水线,收缩所述原始图像文件的尺寸,创建收缩后的图像文件的副本,并将复制的收缩后的图像文件提供给所述逆过程流水线,将所述收缩后的图像文件从空域转换为频域,并将所述频域表示文件提供给所述水印流水线;所述水印流水线还用于:将所述处理后的消息文件嵌入到所述频域表示文件上,生成带水印的频域表示文件,并将所述带水印的频域表示文件提供给所述逆过程流水线;所述逆过程流水线还用于:将所述带水印的频域表示文件从频域转换为空域,以生成带水印的空域收缩后的图像文件,从所述带水印的空域图像文件中减去所述复制的收缩后的图像文件,以从所述带水印的空域收缩后的图像文件中提取带水印区域,增大所述提取的带水印区域的尺寸,以生成增大的水印区域,并将所述增大的水印区域添加到所述原始图像文件中。
根据本发明的其它方面,在所述数字水印系统中,所述数据流水线还用于:将所述图像文件从极坐标转换为笛卡尔坐标,将坐标变换后的图像文件从空域转换为频域,并将所述频域表示文件提供给所述水印流水线;所述水印流水线还用于:在所述频域表示文件的左上象限和右上象限中选择弧,根据分离操作选择所述弧周围的像素,对所述选定像素执行差分编码。
根据本发明的其它方面,在所述数字水印系统中,对于要编码的每个位:所述数字水印流水线使用来自所述选定像素的两个像素,即来自所述右上象限的第一像素和来自所述左上象限的第二像素,并且所述第一像素和所述第二像素互为对偶且彼此逆时针相隔90度。
根据本发明的其它方面,在所述数字水印系统中,所述数据文件为空数据文件。
根据本发明的其它方面,数字水印系统还包括批处理流水线,所述批处理流水线用于将所述带水印的数据文件混合到第二数据文件中,所述第二数据文件包括图像文件、视频文件或音频文件中的至少一个。
根据本发明的另一个广泛方面,提供了一种数字水印方法,所述数字水印方法包括:数据分离器接收数字数据文件;将所述数字数据文件分离为消息部分和数据部分,所述消息部分包括消息文件,所述数据部分包括数据文件;消息流水线处理所述消息文件;数据流水线处理所述数据文件;水印流水线将处理后的消息文件嵌入到所述处理后的数据文件上;逆过程流水线反转所述数据流水线在处理所述数据文件时应用的过程,并生成带水印的数据文件。
根据本发明的其它方面,在所述数字水印方法中,所述数字数据文件还包括参数集合,所述参数集合指定以下各项中的至少一个:所述消息流水线处理所述消息的处理标准,所述数据流水线处理所述数据文件的处理标准,所述水印流水线将所述处理后的消息文件嵌入到所述处理后的数据文件上的处理标准,或所述逆过程流水线反转所述数据流水线在处理所述数据文件时应用的过程的处理标准。
根据本发明的其它方面,在所述数字水印方法中,所述消息流水线处理所述消息是根据所述参数集合进行的,所述数据流水线处理所述数据文件是根据所述参数集合进行的,所述水印流水线将所述处理后的消息文件嵌入到所述处理后的数据文件上是根据所述参数集合进行的,所述逆过程流水线反转所述数据流水线在处理所述数据文件时应用的所述过程是根据所述参数集合进行的。
根据本发明的其它方面,所述数字水印方法还包括在所述消息流水线、所述数据流水线、所述水印流水线或所述逆过程流水线中添加或删除操作。
根据本发明的其它方面,在所述数字水印方法中,所述消息是使用Paillier概率加密算法加密的。
根据本发明的其它方面,在所述数字水印方法中,对所述消息进行加密使用公钥。
根据本发明的其它方面,在所述数字水印方法中,所述数据文件包括视频文件、音频文件和图像文件中的至少一种。
根据本发明的其它方面,在所述数字水印方法中,如果所述数据文件是所述图像文件,则还包括:创建原始图像文件的副本,并将复制的图像文件提供给所述逆过程流水线;收缩所述原始图像文件,创建收缩后的图像文件的副本,并将复制的收缩后的图像文件提供给所述逆过程流水线;将所述收缩后的图像文件从空域转换为频域,并将所述频域表示文件提供给所述水印流水线;将所述处理后的消息文件嵌入到所述频域表示文件上,生成带水印的频域表示文件,并将所述带水印的频域表示文件提供给所述逆过程流水线;将所述带水印的频域表示文件从频域转换为空域,以生成带水印的空域图像文件;从所述带水印的空域图像文件中减去所述复制的收缩后的图像文件,以在所述带水印的空域图像文件中提取带水印区域;增大所述提取的带水印区域的尺寸,以生成增大的水印区域,并将所述增大的水印区域添加到所述原始图像文件中。
根据本发明的其它方面,所述数字水印方法还包括:将所述图像文件从极坐标转换为笛卡尔坐标;将坐标变换后的图像文件从空域转换为频域,并提供所述频域表示文件;在所述频域图像文件的左上象限和右上象限中选择弧;根据分离操作选择所述弧周围的像素;对所述选定像素执行差分编码。
根据本发明的其它方面,在所述数字水印方法中,对于要编码的每个位:使用来自所述选定像素的两个像素,即来自所述右上象限的第一像素和来自所述左上象限的第二像素,所述第一像素和所述第二像素互为对偶且彼此逆时针相隔90度。
根据本发明的其它方面,在所述数字水印方法中,所述数据文件为空数据文件。
根据本发明的其它方面,所述数字水印方法还包括批处理流水线将所述带水印的数据文件混合到第二数据文件中,所述第二数据文件包括图像文件、视频文件或音频文件中的至少一个。
附图说明
结合附图,通过以下详细描述,本发明的其它特征和优点将变得显而易见,在附图中:
图1描述了本发明的各种实施例提供的电子设备的组件的高级框图;
图2示出了本发明的各种实施例提供的数字水印系统的高级功能框图;
图3示出了本发明的各种实施例提供的通用流水线的高级功能图;
图4A和图4B示出了本发明的各种实施例提供的代表性消息流水线;
图5示出了本发明的各种实施例提供的在数字水印系统上实现的用于更快水印过程的过程的框图;
图6A示出了本发明的各种实施例提供的在图像文件的频域中选择像素和对像素进行差分编码的示例;
图6B示出了本发明的各种实施例提供的图像传输系统的高级功能框图,该图像传输系统用于将带水印的图像文件从数字水印系统传输到数字水印读取系统;
图6C示出了本发明的各种实施例提供的图像文件的频域中的分离的差分编码像素的示例;
图6D示出了本发明的各种实施例提供的图像传输系统中的另一个;
图7示出了本发明的各种实施例提供的用于使用Paillier概率加密算法对消息进行加密的数字水印系统上实现的过程的框图;
图8A示出了本发明的各种实施例提供的数字水印系统的另一个示例;
图8B示出了本发明的各种实施例提供的批处理流水线的高级功能框图;
图9示出了本发明的各种实施例提供的表示与在数字水印系统上实现的数字水印方法相对应的过程的流程图。
应当理解,在所有附图和对应的描述中,相同的特征由相同的附图标记标识。此外,还应理解,附图和随后的描述仅用于说明目的,并且此类公开内容并不限制权利要求的范围。
具体实施方式
本发明旨在解决当前技术的至少一些缺陷。具体地,本发明描述了一种用于数字水印的系统和方法。
在本说明书的上下文中,“电子设备”是能够运行适合处理中的相关任务的软件的任何计算机硬件。在本说明书的上下文中,术语“电子设备”通常与电子设备的用户相关联。因此,电子设备的一些(非限制性)示例包括个人计算机(台式机、笔记本电脑、上网本等)、智能手机和平板电脑,以及路由器、交换机和网关等网络设备。需要说明的是,在本发明上下文中充当电子设备的设备并不排除充当其它电子设备的服务器。使用表达“电子设备”并不排除多个电子设备用于接收/发送、执行或使执行任何任务或请求,或任何任务或请求的结果,或本文描述的任何方法的步骤。
在本说明书的上下文中,除非另有明确规定,否则“第一”、“第二”、“第三”等词语仅用于区分它们相互修饰的名词,而不是用于描述这些名词之间的任何特定关系。因此,例如,应当理解,术语“第一处理器”和“第三处理器”的使用并不意图暗示(例如)服务器的/服务器之间的任何特定顺序、类型、时间顺序、层次结构或排序,也不意图暗示在任何给定情况下任何“第二服务器”必须存在。此外,如本文在其它上下文中讨论的,对“第一”元素和“第二”元素的提及并不排除这两个元素是相同的实际现实世界元素。因此,例如,在一些情况下,“第一”服务器和“第二”服务器可以是相同的软件和/或硬件,在其它情况下,它们可以是不同的软件和/或硬件。
在本说明书的上下文中,表达“信息”包括能够存储在数据库中的任何性质或种类的信息。因此,信息包括但不限于视听作品(图像、电影、声音记录、演示等)、数据(位置数据、数字数据等)、文本(意见、评论、问题、消息等)、文档、电子表格等。
应当理解,当一个元件被称为“连接”或“耦合”到另一个元件时,它可以直接或间接连接或耦合到另一个元件,也可以存在中间元件。相反,当一个元件被称为“直接连接”或“直接耦合”到另一个元件时,不存在中间元件。用于描述元件之间关系的其它词语(例如,“在……之间”与“直接在……之间”,“相邻”与“直接相邻”等)应以类似的方式解释。
本文使用的术语仅用于描述特定的代表性实施例,并不用于限制本发明技术。除非上下文清楚说明,否则本文所用的单数形式“一”和“所述”也旨在包括复数形式。还应理解,本说明书中所使用的术语“包括”用于说明存在所述的特征、整数、步骤、操作、元件和/或部件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、部件和/或它们的组合。
本发明技术的实现方式均包括上述目的和/或方面中至少一个,但未必包括所有这些目的和/或方面。应理解,本发明技术的某些方面是为了试图达到上述目的,但可能并不满足该目的,也可能满足本文未具体阐述的其它目的。
本文所叙述的示例和条件语言主要是为了帮助读者理解本发明技术的原理,而不是将其范围限制在这些具体叙述的示例和条件上。应当理解,本领域技术人员可以设计出各种布置,尽管在此没有明确描述或示出,但这些布置体现了本技术的原理,并包括在其精神和范围内。
此外,为了帮助理解,以下描述可以描述本发明技术的相对简化的实现方式。正如本领域技术人员所理解,本发明技术的各种实现方式可能具有更大的复杂性。
在一些情况下,还可以列出被认为是对本发明技术修改的有用示例。这仅仅是为了帮助理解,而且,同样,不是为了定义本发明技术的范围或规定本发明技术的界限。这些修改不是详尽的列表,本领域技术人员可以在保持在本技术范围内的同时进行其它修改。此外,在没有提出修改的示例的情况下,不应解释为不可能修改和/或所描述的是实现本技术的该元素的唯一方式。
此外,本文中描述本发明技术的原理、方面和实现方式的所有说明以及其具体示例都旨在包括其结构和功能同等物,无论它们是目前已知的还是未来开发的。因此,例如,本领域技术人员将理解,本文中任何框图都表示体现本发明技术的原理的说明性电路的概念视图。类似地,应当理解,任何流程图、流程图表、状态转换图、伪代码等表示可以基本上在计算机可读介质中表示并因此由计算机或处理器执行的各种过程,无论这种计算机或处理器是否被显式示出。
图中所示的各种元件的功能(包括标记为“处理器”或“图形处理单元”的任何功能块)可以通过使用专用硬件以及能够与适当软件关联地执行软件的硬件来提供。当由处理器提供时,这些功能可以由单个专用处理器、单个共享处理器或多个单独处理器提供,其中一些处理器可以共享。在本发明技术的一些实施例中,处理器可以是通用处理器,如中央处理单元(central processing unit,CPU),或专用于特定用途的处理器,如图形处理单元(graphics processing unit,GPU)。此外,术语“处理器”或“控制器”的显式使用不应解释为专门指能够执行软件的硬件,并且可以隐式地包括但不限于数字信号处理器(digitalsignal processor,DSP)硬件、网络处理器、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA),用于存储软件的只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)和非易失性存储器。也可以包括其它硬件,传统和/或定制硬件。
软件模块或简单地暗示为软件的模块在本文中可以表示为流程图元素或指示过程步骤和/或文本描述的性能的其它元素的任意组合。这样的模块可以由显式或隐式示出的硬件执行。
使用这些基本原理,本发明旨在解决当前技术的至少一些缺陷。具体地,本发明描述了一种用于数字水印的系统和方法。
图1描述了本发明的各种实施例提供的电子设备100的组件的高级框图。应当理解,图1仅提供了电子设备100的一种实现方式的说明,并且并不意味着对可以实现不同实施例的环境的任何限制。可以对所描述的环境进行许多修改以实现电子设备100,而不偏离本文所呈现的原理。电子设备100可以是服务器、台式计算机、笔记本电脑、平板电脑、智能手机、个人数字助理或任何可用于实现本发明技术的设备,如本领域技术人员应该理解的。
如图所示,电子设备100使用一个或多个处理器102、一个或多个计算机可读随机存取存储器(random access memory,RAM)104、一个或多个计算机可读只读存储器(readonly memory,ROM)106、一个或多个计算机可读存储介质108、设备驱动器114、读/写(read/write,R/W)接口116、网络接口118,所有这些都通过通信结构120互连。通信结构120可以用设计用于在处理器(例如微处理器、通信和网络处理器等)、存储器、外围设备和系统内的任何其它硬件组件之间传递数据和/或控制信息的任何架构来实现。
一个或多个操作系统110和一个或多个应用程序112存储在一个或多个计算机可读存储介质108上,以供一个或多个处理器102通过一个或多个相应的RAM 104(其通常包括高速缓存存储器)执行。在所示的实施例中,计算机可读存储介质108中的每一个可以是内部硬盘驱动器、CD-ROM、DVD、记忆棒、磁带、磁盘、光盘的磁盘存储设备,例如RAM、ROM、EPROM、闪存的半导体存储设备,或可以存储计算机程序和数字信息的计算机可读有形存储设备。
R/W驱动器接口116从一个或多个便携式计算机可读存储介质126读取和写入。应用程序112可以存储在一个或多个便携式计算机可读存储介质126上,通过相应的R/W驱动器或接口116读取,并加载到相应的计算机可读存储介质108中。
此外,网络接口118可以基于TCP/IP适配器卡或无线通信适配器(例如使用OFDMA技术的4G无线通信适配器)。电子设备100中的应用程序112可以通过通信网络(例如,互联网、局域网或其它广域网或无线网络)和网络接口118从外部计算机或外部存储设备下载到电子设备100。应用程序112可以从网络接口118加载到计算机可读存储介质108上。电子设备100可以使用铜线、光纤、无线传输等连接到通信网络的路由器、防火墙、交换机、网关计算机和/或边缘服务器。
电子设备100还可以包括显示屏122、键盘或小键盘124以及计算机鼠标或触摸板128。设备驱动器114可以与用于成像的显示屏122连接、与键盘或小键盘124连接、与计算机鼠标或触摸板128连接,和/或与(在触摸屏显示的情况下)用于对字母数字字符输入和用户选择进行压力感测的显示屏122连接。设备驱动器114、R/W驱动器接口116和网络接口118可以包括硬件和软件(存储在计算机可读存储介质108和/或ROM 106上)。
典型的数字水印系统在加水印之前和之后对待加水印的消息部分(待加水印)和数据部分(例如数字图像文件、数字音频文件、数字视频文件等)执行各种操作。例如,在某些情况下,消息部分需要压缩、加密、纠错编码等。在其它情况下,数据部分需要解码、频率变换等数学变换、逆数学变换、编码等。
需要说明的是,并非所有典型的水印系统都执行相同的操作集。例如,一些典型的水印系统可以对消息部分执行加密操作,而其它典型的水印系统可以不执行任何加密操作。在其它示例中,一些典型的水印系统可以对数据部分执行频率变换,而其它典型的水印系统可以执行几何变换。在另一种其它示例中,一些典型的水印系统可以对消息部分执行霍夫曼(Huffman)编码,而其它典型的水印系统可以执行Lempel–Ziv马尔可夫链算法(Lempel–Ziv–Markov chain algorithm,LZMA)编码。在另一种其它示例中,一些典型的水印系统可以对数据部分执行离散余弦变换(discrete cosine transformation,DCT),而其它典型的水印系统可以执行离散傅里叶变换(discrete Fourier transformation,DFT)。
典型的水印系统过于僵硬,无法适应所需的变化。一般来说,每次在操作和算法集方面需要改变时,都需要大量的时间和硬件基础设施来构建新的水印系统。为此,需要开发一种水印系统,该水印系统:高效、灵活、可扩展、可缩放且便携。
虽然如此,图2示出了本发明的各种实施例提供的数字水印系统200的高级功能框图。在某些实施例中,数字水印系统200可以在电子设备100上实现。如图所示,数字水印系统200可以包括数据分离器202、消息流水线204、数据流水线206、水印流水线208和逆过程流水线210。在某些非限制性实施例中,数据分离器202、消息流水线204、数据流水线206、水印流水线208和逆过程流水线210可以在一个或多个处理器102上实现,其中一个或多个应用程序112存储在一个或多个计算机可读存储介质108上,以便由一个或多个处理器102通过如上所述(在图1中)的一个或多个相应RAM 104(其通常包括高速缓存存储器)执行,以执行各种相关功能。需要说明的是,数字水印系统200可以包括其它组件、单元和模块。为了简单起见,这些组件、单元和模块没有被描述。
数字水印系统200的输入可以是数字数据文件的队列,例如数字图像文件、数字音频文件、数字视频文件等。具体地,数字数据文件主要包括两个组件:(1)待加水印的消息部分(例如字符串、比特流等),(2)数据部分(包含或涉及数字图像文件、数字音频文件、数字视频文件等),将在数据部分上对消息部分加水印。
在某些实施例中,数字数据文件还可以包括第三组件,该第三组件可以是指定关于如何处理数字数据文件的处理标准的参数集合。参数集合可以与消息部分或数据部分相关联。如果参数集合与消息部分相关联,则参数集合可以指定处理标准,例如,将应用于消息部分的压缩、加密、编码或类似技术。另一方面,如果参数集合与数据部分相关联,则参数集合可以指定处理标准,例如,将对数据部分应用哪种类型的算法,例如DCT或DFT等。虽然如此,数字数据文件可以被定义为三元组(即3元组),即:消息部分、数据部分和参数集合。
可以将数字数据文件提供给数字水印系统200用于加水印。数字数据文件可以由数据分离器202接收。在某些实施例中,数据分离器202可以用于将数字数据文件分离为消息部分和数据部分。数据分离器202可以将消息部分提供给消息流水线204,并将数据部分提供给数据流水线206。可以设想,如果数字数据文件包括与消息部分相关联的参数集合,则该参数集合可以与消息部分一起转发到消息流水线204。此外,如果数字数据文件包括与数据部分相关联的参数集合,则该参数集合可以与数据部分一起转发到数据流水线206。
消息流水线204可用于通过执行与准备用于加水印的消息相关的各种操作来处理消息部分。这种操作的示例可以包括但不限于压缩、加密、编码等。以类似的方式,数据流水线206可以用于通过对数据部分执行各种操作来处理数据部分。作为示例,如果数据部分是图像文件,则数据流水线206可以用于将图像文件解构成适合于加水印的状态。例如,图像文件可以从红、绿、蓝(red,green,blue,RGB)颜色空间转换为灰度,然后在嵌入消息之前变换到频域。需要说明的是,数据流水线206还可以用于处理任何数字视频或音频文件,而不限制本发明的范围。
消息流水线204和数据流水线206可以分别向水印流水线208提供处理后的消息文件和处理后的数据文件。水印流水线208可用于执行将处理后的消息文件嵌入到处理后的数据文件中。在某些实施例中,加水印的过程可以包括任何合适的算法(例如,任何专有算法),这些算法必须保密,以保护水印的完整性。带水印的数据文件被转发到逆过程流水线210。逆过程流水线210可用于反转应用在数据流水线206内的任何过程(或变换)。作为示例,逆过程流水线210可以将图像文件从频域转换为空域,并从灰度转换为RGB。
通常,流水线可以被描述为一系列独立的操作,它们以一个操作的输出可以输入到另一个操作的方式耦合在一起。图3示出了本发明的各种实施例提供的通用流水线300的高级功能图。如图所示,通用流水线300可以包括彼此耦合的操作302。需要说明的是,通用流水线300可以包括其它组件,但为了简单起见,没有示出。
在某些实施例中,如果通用流水线的输入包括参数集合,则可以指示通用流水线300进行动态操作。例如,参数集合可以指示要对输入实现的特定操作或算法的偏好。
此外,每个流水线可以独立于任何其它流水线(即并行地)操作,并且一个操作独立于另一个操作执行。例如,当操作2 302接收到操作1 302的输出,并且在操作1 302的输入处可能有更多的数字文件排队时,操作1 302可以开始处理队列中的下一个数字文件,而不必等待操作2 302开始处理操作1 302的当前输出。例如,操作1 302的输出可以作为队列存储在一些内存组件中,并且操作2 302可以访问队列以处理存储的数据文件。为此,操作N(即操作1)302可以开始处理新数据文件,即使操作N可能仍在处理一些先前的数据文件。
需要说明的是,消息流水线204、数据流水线206、水印流水线208和逆过程流水线210可以实现为通用流水线300。也就是说,每个流水线可以包括操作302和关联的内存组件。
图4A和图4B示出了本发明的各种实施例提供的代表性消息流水线204。如图所示,图4A示出了本发明的各种实施例提供的包括无损压缩操作302和纠错编码(errorcorrection coding,ECC)操作302的消息流水线204。可以设想,消息流水线204可以包括其它组件,例如内存组件,但为了简单起见,已经从图4A中省略。
消息流水线204的输入可以是包含消息部分和可能的参数集合的队列。图4A描述了两个操作,可以用于删除包含在消息部分本身中的任何冗余的无损压缩操作302和可以用于系统地添加冗余以增加水印的鲁棒性的ECC操作302。需要说明的是,在某些实施例中,无损压缩操作302和ECC操作302可以用于基于不同的算法执行它们的操作。特定算法的选择可能取决于输入时接收的参数集合。
在某些实施例中,如果消息流水线204的输入没有任何参数集合以及消息部分,则可以对消息部分进行无损压缩操作302和ECC操作302。无损压缩操作302和ECC操作302可用于根据它们的默认配置处理消息部分。在其它实施例中,包括参数集合以使用霍夫曼编码压缩消息,但用于执行压缩的无损压缩操作302的默认配置是LZMA。为此,无损压缩操作302可以用于基于霍夫曼编码切换其操作。
可以设想,其它流水线(即数据流水线206、水印流水线208和逆过程流水线210)可以提供改变行为的类似功能,例如,基于参数集合选择特定算法。这样,数字水印系统200可以实现高度灵活性,因为它可以按需改变其行为。
在某些实施例中,为了进一步修改流水线可以执行的操作集,数字水印系统200可以添加或减去操作。由此,图4B示出了本发明的各种实施例提供的修改后的消息流水线204。为了添加随机化消息的功能,数字水印系统200可以在无损压缩操作302与ECC操作302之间添加例如加密操作302的附加操作。
可以设想,其它流水线(即数据流水线206、水印流水线208和逆过程流水线210)可以类似地修改,例如,基于新的要求向流水线添加操作。这样,数字水印系统200具有高度适应性,因为它可以被扩展以在面对不可预见的变化时支持新的功能。
话虽如此,数字水印系统200提供了高效的水印系统。具体地,消息流水线204和数据流水线206可以同时在不同的组件(例如消息部分和数据部分)上操作。当水印流水线208开始嵌入时,消息流水线204和数据流水线206可以获取一些更多的消息部分和数据部分并处理它们。类似地,当逆过程流水线210正在处理其输入时,水印流水线208可以获取一些更多的输入来处理。
数字水印系统200提供了灵活的水印系统。具体地,数字水印系统200中的每个流水线可以包括不同类型的操作,并且在某种程度上,每个操作的功能可以由作为输入接收的参数集合控制。
由于新类型的操作可以插入到现有的流水线中,数字水印系统200提供了可扩展的水印系统。此外,在某些实施例中,数字水印系统200具有通过在流水线内添加更多相同流水线或更多相同操作进行缩放的能力,因此数字水印系统200提供了可缩放的水印系统。作为示例,在某些实施例中,数字水印系统200可以添加消息流水线204、数据流水线206、水印流水线208和/或逆过程流水线210中的一个或多个,而不限制本发明的范围。需要说明的是,所有这些流水线可以彼此不同,并且可以由使数字水印系统200灵活的不同操作组成。
此外,数字水印系统200可以用于各种平台,例如基于电话的移动设备、独立服务器,甚至由微服务组成的基于云的环境,从而使数字水印系统200提供了便携式水印系统。
需要说明的是,水印嵌入频域时更鲁棒。作为示例,如果输入到数据流水线206的数据部分是图像文件,则从空域到频域的变换是计算量大的操作。具体地,图像文件的尺寸是计算二维频率变换工作量的主要贡献因素,其中,图像文件的尺寸是图像文件的宽度和高度(以像素为单位)。通常,当处理具有高分辨率的图像文件时,图像文件的空域到频域转换可能成为典型水印系统的瓶颈。
由此,与典型的数字水印系统相比,数字水印系统200提供了更快的水印系统。图5示出了本发明的各种实施例提供的在数字水印系统200上实现的用于更快水印过程的过程400的框图。可以设想,图5中所示的各种任务块可以在与数字水印系统200相关联的各种流水线上实现和执行。
如图所示,过程400开始于任务块402,其中,数据流水线206接收将嵌入水印的图像数据文件。与数据流水线206相关联的一个或多个操作302(以下称为数据流水线操作302)可以用于收缩/缩小接收到的图像文件的尺寸。作为示例,如果图像文件I1的原始尺寸是1920×1080像素,则数据流水线操作302可以将图像文件I1的尺寸收缩/缩小到500×480像素。尺寸缩小的图像文件可以表示为I2。在某些实施例中,数据流水线操作302可以创建原始图像文件I1和尺寸缩小图像文件I2的副本,并且可以将原始图像文件I1和尺寸缩小图像文件I2的副本提供给逆过程流水线210用于进一步处理。
在任务块404,数据流水线操作302可以用于将图像文件I2从空域转换为频域,表示为频域表示文件I3。在某些实施例中,数据流水线操作302可以使用任何合适的技术,例如DFT、DCT等。技术的选择可能取决于参数集合。如果在数据流水线206的输入处没有提供参数集合,则数据流水线操作302可以使用默认技术。数据流水线操作302可以将频域表示文件I3提供给水印流水线208。
在任务块406,与水印流水线208相关联的一个或多个操作302(以下称为水印流水线操作302)可以用于从消息流水线204接收消息,以嵌入到从数据流水线206接收的频域表示文件I3上。水印流水线操作302可以使用任何合适的水印技术将消息嵌入到频域表示文件I3上。
一旦消息被嵌入到频域表示文件I3上,水印流水线操作302可以将带水印的频域表示文件I4提供给逆过程流水线210。
在任务块408,与逆过程流水线210相关联的一个或多个操作302(以下称为逆过程流水线操作302)可以用于将带水印的频域表示文件I4从频域变换到空域,表示为带水印的空域图像文件I5。在任务块410,逆过程流水线操作302然后可以从带水印的空域图像文件I5中减去尺寸缩小图像文件I2,以从带水印的空域图像文件I5中提取带水印区域,表示为提取的带水印区域I6。在任务块412,逆过程流水线操作302然后可以通过使用任何合适的技术,例如插值来增大提取的带水印区域I6的尺寸。在某些实施例中,增大的带水印区域I7的尺寸可以等于原始图像文件I1的尺寸。最后,在任务块414,逆过程流水线操作302可以将增大的带水印区域I7添加到原始图像文件I1中,以提供带水印的图像I8
因此,通过过程400,数字水印系统200可以在图像文件被变换到频域之前收缩图像文件(即,缩小其尺寸)。这样做,数字水印系统200节省了执行频率变换、加水印和逆频率变换操作的计算量。
某些水印算法依赖于差分编码方案,其中,选择图像文件的频域中的两个随机像素来调制信息位。由于像素是随机选择的,因此这种技术几乎无法控制消息嵌入的位置。此外,相邻像素或太近的像素可能会在加水印过程后执行的各种操作(例如插值)期间受到干扰。此外,在保持不可感知性的同时,实现水印的鲁棒性有其自身的挑战。例如,将水印嵌入图像文件的DFT的低频分量中使其可感知,而将水印嵌入图像文件的DFT的高频分量中使其鲁棒性降低。
为此,在某些实施例中,水印流水线208可以使用修改的差分编码方案。代替随机选择像素,水印流水线208使用的修改的差分编码方案可以用于选择可以位于弧上的像素用于调制。弧的选择可以被高度参数化,以提供对水印位置的完全控制。控制水印的位置意味着控制不可感知性与鲁棒性之间的权衡。
图6A示出了修改的差分编码方案的示例502,其中,选择用于调制的像素位于弧上。如图所示,示例502示出了图像文件的带水印的频域表示文件504。水印流水线208可以选择弧508周围的像素506。弧508可以在频域的上半部的两个象限上延伸。象限被标记为右(R)和左(L)。弧在频域中的放置通常在频率的中间范围内,从而避免了使水印可见的非常低的频率(靠近频域矩阵的中心)和使水印不鲁棒的非常高的频率(靠近频域矩阵的角)。弧的放置通常被优化,以便获得鲁棒和不可感知的水印。
消息可以使用一个或多个弧进行编码。消息越长,需要调制的像素对的数量就越多。如果消息不适合单个弧,则在某些实施例中,可以选择具有较高半径的另一个弧。如果即使这样,该弧也不包含足够的像素来编码消息的其余部分,则可以选择半径高于当前弧半径的另一个弧,依此类推,直到消息被完全编码。在某些实施例中,水印流水线208可以具有控制弧选择过程的多个配置参数,包括起始弧的半径、弧内像素之间的距离以及连续弧之间的距离等。冗余是可能增加所需弧数的另一个因素。冗余复制消息位,以使水印更鲁棒。消息中的位数越多,需要选择的弧数就越多。为了执行差分编码,水印流水线208可以使用两个像素来编码每个位,一个在右象限,另一个在左象限。这些像素被称为彼此“对偶”506。左象限中的像素可以与其在右象限中的对偶像素逆时针相隔90度。
在示例502中,已经示出了位1001的差分编码。位1将通过调制选定的像素对510来编码,使得右象限像素具有比其对偶的左象限像素更大的值。这在由510表示的右象限像素的像素中被示出为实线对角线。0位以相反的方式编码,其中,左象限像素具有更大的值。
图6B示出了图像传输系统512的高级功能框图,该图像传输系统512用于将带水印的图像文件从数字水印系统200传输到数字水印读取系统518。如图所示,图像传输系统512包括用于生成带水印的图像文件515的数字水印系统200和用于从带水印的图像文件515提取或读取水印的数字水印读取系统518。
在某些实施例中,输入图像文件可以被提供给数字水印系统200,具体是数据流水线206。数据流水线206可用于对输入图像文件执行从极坐标到笛卡尔坐标的坐标变换。坐标变换由数据流水线206执行,以便获得抵抗旋转攻击的水印。数据流水线206还可以用于对坐标变换后的图像文件执行频域变换。在某些实施例中,数据流水线206可以用于向水印流水线208提供频域图像文件。水印流水线208可以用于生成带水印的频域表示文件504(如上面关于图6A所讨论)。如图所示,例如,嵌入的消息是位“1001”。在某些实施例中,水印流水线208可以向逆过程流水线210提供带水印的频域表示文件504。逆过程流水线210可用于将带水印的频域水印图像文件504转换为空域,并可执行从笛卡尔坐标到极坐标的坐标变换以生成带水印的图像文件515。
需要说明的是,由于从笛卡尔坐标到极坐标以及从极坐标到笛卡尔坐标的坐标变换都是在离散域中执行的,因此在坐标变换期间,当在极坐标与笛卡尔坐标之间转换图像文件时,可以执行插值。这种插值可能会使调制的像素相互干扰,这种干扰可能会破坏像素与其对偶像素之间的关系,从而导致编码位丢失。
在某些情况下,如果带水印的图像文件515被提供给数字水印读取系统518,则数字水印读取系统518可以执行从极坐标到笛卡尔坐标的坐标变换。如前所述,在坐标变换期间,数字水印读取系统518可以执行插值。因此,在某些情况下,带水印的图像文件515可以被执行两次插值,一次在数字水印系统200进行笛卡尔坐标到极坐标的坐标变换期间,第二次在数字水印读取系统518进行极坐标到笛卡尔坐标的坐标变换期间。数字水印读取系统518可以对坐标变换后的带水印的图像文件执行频率变换,以生成插值的带水印的频域文件520。
需要说明的是,由于进行插值操作,在坐标变换期间,在带水印的频域表示文件504中进行选择时选定像素506靠近,因此对偶的像素对510可能被损坏,被加在带水印的频域表示文件504上差分编码消息可能无法恢复。
为了应对这种情况,在某些实施例中,水印流水线208可以对选定像素506执行分离操作,以确保为差分编码选择的像素不会因坐标变换造成的相互干扰而损坏。
图6C示出了本发明的各种实施例提供的图像文件的频域中的分离的差分编码像素的示例530。如图所示,示例530包括图像文件的带水印的频域表示文件532。为了防止像素相互干扰,水印流水线208可以选择弧上的像素对,使得它们彼此分离,如534所示,从而形成分离的对偶像素536。
图6D示出了本发明的各种实施例提供的示例,其中,输入图像文件可以被提供作为数字水印系统200的输入。水印流水线208可用于生成包括分离像素534的带水印的频域表示文件532。此外,如图所示,由图像数字水印读取系统518生成的插值的带水印的频域文件540保留对偶像素536。
为了提取嵌入在频域表示文件532中的差分代码,在某些实施例中,数字水印读取系统518可以用于遍历关联像素。在某些实施例中,为了选择要遍历的像素,数字水印读取系统518可以结合由水印流水线208执行的类似算法(例如分离操作)来分离像素。如果像素值大于其对偶像素值,则解码位等于“1”,否则,如果像素值小于其对偶像素值,则解码位等于“0”。
此外,数字水印可能容易受到相关攻击。具体地,统计分析用于识别带水印的数据文件之间的相似性,水印嵌入算法可以进行逆向工程,并且可以开发工具来轻松删除水印。这种相关攻击可以通过对消息进行加密来规避。加密算法可能会对消息进行加扰,使其显示为随机噪声。通常,数字水印系统中使用的加密算法每次对同一消息加水印时,都使用不同的密钥对同一消息进行不同的加扰(例如,将同一用户id加水印到多个图像中)。这种技术可以有效地对抗相关攻击,但需要典型的数字水印系统来管理许多密钥。此外,这种技术可能需要不同的密钥来对每个带水印的数据文件进行解密。
由此,消息流水线204可以包括操作(例如,图4B中所示的加密操作302),该操作用于在消息可以嵌入数据文件之前使用Paillier概率加密算法对消息进行加密。可以使用Paillier概率加密算法,使得多次加密的同一消息可以产生不同的密文。因此,通过使用Paillier概率加密算法,可以减少用于保护数字水印系统200免受相关攻击所需的密钥总数。
Paillier概率加密算法使用两个密钥:用于加密的公钥和用于解密的私钥。使用用于密钥生成的Paillier概率加密算法,为数字水印系统200创建唯一的公钥和私钥对。虽然私钥可用于对被加水印的消息进行解密,但公钥可与加密操作302一起配置。通过加密操作302的每个消息可以被随机化,而不改变密钥。
图7示出了本发明的各种实施例提供的在数字水印系统200上实现的用于使用Paillier概率加密算法对消息进行加密的过程600的框图。如图所示,过程600开始于任务块602,其中,数字水印系统200可以生成用于消息加密的Paillier公钥和用于消息解密的Paillier私钥。
过程600前进到任务块604,其中,数字水印系统200可以将Paillier私钥存储在密钥存储器中。密钥存储器可以包括内存组件,例如一个或多个RAM 104、计算机可读存储介质108等。
然后,过程600前进到任务块608,其中,数字水印系统200可以将Paillier公钥提供给消息流水线204中的加密操作302。最后,在任务块610,加密操作302可以使用具有Paillier加密算法的Paillier公钥来对通过消息流水线204的每个消息进行加密(或随机化)。需要说明的是,有权访问Paillier私钥的任何系统都可以解密消息。
因此,通过使用过程600,数字水印系统200可以最小化加密密钥的总数。过程600仅依赖于一个密钥(Paillier公钥)来确保所有带水印消息都是随机的和不相关的。此外,要解密任何加密(即随机化)消息,只需要一个额外的密钥(Paillier私钥)。
图8A示出了本发明的各种实施例提供的数字水印系统200的实现的另一个示例。如图所示,在某些实施例中,数字水印系统200可以接收包含消息部分、与消息部分相关联的参数集合和空数据部分(例如,空图像文件、空视频文件或空音频文件)的数字数据文件。数据分离器202可用于向消息流水线204提供消息部分和相关联的参数集合,并向数据流水线206提供空数据部分。
消息流水线204可用于根据在数字数据文件中接收的参数集合处理消息部分中的消息。消息流水线204可用于将处理后的消息发送到水印流水线208。数据流水线可用于处理空数据部分,并将处理后的空数据部分发送到水印流水线208。需要说明的是,在某些实施例中,数据分离器202可以用于向水印流水线208直接提供空图像文件,而不是将空数据部分转发到数据流水线206。
水印流水线208可用于将处理后的消息嵌入到处理后的空数据部分上,以生成输出的带水印文件。在某些实施例中,水印流水线可以将该输出的带水印文件存储在与数字水印系统200相关联的存储器中。在其它实施例中,水印流水线208可以将输出的带水印图像提供给逆过程流水线210以进行进一步处理。逆过程流水线210可用于根据系统要求更新输出的带水印文件。例如,在频域中执行水印嵌入的情况下,逆过程流水线210可以用于将域从频域改变为空域,改变输出的带水印文件的格式以用于存储目的(例如JPEG压缩)等。逆过程流水线210可用于将输出的带水印文件存储在与数字水印系统200相关联的存储器中。
在某些实施例中,数字水印系统200还可以包括批处理流水线212。图8B示出了本发明的各种实施例提供的批处理流水线212的高级功能框图。如图所示,批处理流水线212可以用于接收输入数据文件(例如图像文件、音频文件或视频文件),并且可以获取存储在与数字水印系统200相关联的存储器中的输出的带水印文件。批处理流水线212可用于混合输出的带水印文件和输入数据文件。
在某些实施例中,输入数据文件是图像文件,输出的带水印文件的尺寸与输入图像文件的尺寸不同。为此,在某些实施例中,在将输入图像文件输入到批处理流水线212之前,可以将输入图像文件提供给数据流水线206,以根据输出的带水印文件的尺寸改变输入图像文件的尺寸。在其它实施例中,逆过程流水线210可以根据输入图像文件的尺寸改变输出的带水印文件的尺寸。在又一个实施例中,批处理流水线212可以用于根据输出的带水印文件的尺寸改变输入图像文件的尺寸,或者反之亦然。
因此,如果将相同的水印嵌入到不同的图像上,则批处理流水线212对每个处理的数据文件的计算工作量可能会小得多。因此,借助于批处理流水线212,数字水印系统200可以提供快速的水印系统。
图9示出了本发明的各种实施例提供的表示与在数字水印系统200上实现的数字水印方法相对应的过程700的流程图。如图所示,过程700开始于步骤702,其中,数据分离器202接收数字数据文件。过程700前进到步骤704,其中,数据分离器202将数字数据文件分离为消息部分和数据部分。消息部分包括消息文件,数据部分包括数据文件。
过程700前进到步骤706,其中,消息流水线204处理消息部分中的消息。如前所述,消息流水线204可以用于通过执行与准备用于加水印的消息相关的各种操作来处理消息部分。这种操作的示例可以包括但不限于压缩、加密、编码等。在某些非限制性步骤中,可以将Paillier加密添加到流水线中,以对消息进行随机化。
过程700前进到步骤708,其中,数据流水线206处理数据文件。如前所述,数据流水线206可以用于通过对数据部分执行各种操作来处理数据部分。作为示例,如果数据部分是图像文件,则数据流水线206可以用于将图像文件解构成适合于加水印的状态。例如,图像文件可以从红、绿、蓝(red,green,blue,RGB)颜色空间转换为灰度,然后在嵌入消息之前变换到频域。在某些非限制性步骤中,数据流水线可以收缩/缩小原始输入图像的尺寸,然后对尺寸缩小图像执行变换、加水印等各种操作。
过程700前进到步骤710,其中,水印流水线208将处理后的消息文件嵌入到处理后的数据文件上。
最后,在步骤712,逆过程流水线反转应用在数据流水线206内的任何变换。作为示例,逆过程流水线210可以将图像文件从频域转换为空域,并从灰度转换为RGB。在某些非限制性步骤中,逆过程流水线210可以从空域图像中提取水印部分,增大提取的水印部分,并将增大的水印部分添加到原始图像中。
应当理解,数字水印系统200、组成组件和关联过程的操作和功能可以通过基于硬件、基于软件和基于固件的元件中的任何一个或多个来实现。这类操作替代方案并不以任何方式限制本发明的范围。
还应当理解,尽管本文中提出的实施例已经参考特定的特征和结构描述,但很明显,可以在不脱离这些公开内容的情况下进行各种修改和组合。因此,说明书和附图仅被视为所附权利要求书限定的对论述的实现方式或实施例和其原理的说明,并且预期覆盖属于本发明的范围内的任何和所有修改、变化、组合或等同物。

Claims (24)

1.一种数字水印系统,其特征在于,包括:
数据分离器,用于接收数字数据文件,并将所述数字数据文件分离为消息部分和数据部分,其中,所述消息部分包括消息文件,所述数据部分包括数据文件;
消息流水线,用于处理所述消息文件;
数据流水线,用于处理所述数据文件;
水印流水线,用于将处理后的消息文件嵌入到处理后的数据文件上;
逆过程流水线,用于反转所述数据流水线在处理所述数据文件时应用的过程,并生成带水印的数据文件。
2.根据权利要求1所述的数字水印系统,其特征在于,所述数字数据文件还包括参数集合,所述参数集合指定以下各项中的至少一个:
所述消息流水线处理所述消息的处理标准,
所述数据流水线处理所述数据文件的处理标准,
所述水印流水线将所述处理后的消息文件嵌入到所述处理后的数据文件上的处理标准,或
所述逆过程流水线反转所述数据流水线在处理所述数据文件时应用的过程的处理标准。
3.根据权利要求2所述的数字水印系统,其特征在于:
所述消息流水线还用于根据所述参数集合处理所述消息,
所述数据流水线还用于根据所述参数集合处理所述数据文件,
所述水印流水线还用于根据所述参数集合将所述处理后的消息文件嵌入到所述处理后的数据文件上,
所述逆过程流水线还用于反转所述数据流水线在根据所述参数集合处理所述数据文件时应用的过程。
4.根据权利要求1至3中任一项所述的数字水印系统,其特征在于,还用于在所述消息流水线、所述数据流水线、所述水印流水线或所述逆过程流水线中添加或删除操作。
5.根据权利要求1至4中任一项所述的数字水印系统,其特征在于,所述消息流水线还用于使用Paillier概率加密算法对所述消息进行加密。
6.根据权利要求5所述的数字水印系统,其特征在于,所述消息流水线使用公钥对所述消息进行加密。
7.根据权利要求1至6中任一项所述的数字水印系统,其特征在于,所述数据文件包括视频文件、音频文件或图像文件中的至少一种。
8.根据权利要求7所述的数字水印系统,其特征在于,如果所述数据文件是所述图像文件,则:
所述数据流水线还用于:
创建原始图像文件的副本,并将复制的图像文件提供给所述逆过程流水线,
收缩所述原始图像文件的尺寸,创建收缩后的图像文件的副本,并将复制的收缩后的图像文件提供给所述逆过程流水线,
将所述收缩后的图像文件从空域转换为频域,并将所述频域表示文件提供给所述水印流水线;
所述水印流水线还用于:
将所述处理后的消息文件嵌入到所述频域表示文件上,生成带水印的频域表示文件,并将所述带水印的频域表示文件提供给所述逆过程流水线;
所述逆过程流水线还用于:
将所述带水印的频域表示文件从频域转换为空域,以生成带水印的空域收缩后的图像文件,
从所述带水印的空域图像文件中减去所述复制的收缩后的图像文件,以从所述带水印的空域收缩后的图像文件中提取带水印区域,
增大所述提取的带水印区域的尺寸,以生成增大的水印区域,并将所述增大的水印区域添加到所述原始图像文件中。
9.根据权利要求7所述的数字水印系统,其特征在于:
所述数据流水线还用于:
将所述图像文件从极坐标转换为笛卡尔坐标,
将坐标变换后的图像文件从空域转换为频域,并将所述频域表示文件提供给所述水印流水线;
所述水印流水线还用于:
在所述频域表示文件的左上象限和右上象限中选择弧,
根据分离操作选择所述弧周围的像素,
对所述选定像素执行差分编码。
10.根据权利要求9所述的数字水印系统,其特征在于,对于要编码的每个位:
所述数字水印流水线使用来自所述选定像素的两个像素,即来自所述右上象限的第一像素和来自所述左上象限的第二像素,并且
所述第一像素和所述第二像素互为对偶且彼此逆时针相隔90度。
11.根据权利要求1至10中任一项所述的数字水印系统,其特征在于,所述数据文件为空数据文件。
12.根据权利要求11所述的数字水印系统,其特征在于,还包括批处理流水线,所述批处理流水线用于将所述带水印的数据文件混合到第二数据文件中,所述第二数据文件包括图像文件、视频文件或音频文件中的至少一个。
13.一种数字水印方法,其特征在于,包括:
数据分离器接收数字数据文件;
将所述数字数据文件分离为消息部分和数据部分,
所述消息部分包括消息文件,
所述数据部分包括数据文件;
消息流水线处理所述消息文件;
数据流水线处理所述数据文件;
水印流水线将处理后的消息文件嵌入到处理后的数据文件上;
逆过程流水线反转所述数据流水线在处理所述数据文件时应用的过程,并生成带水印的数据文件。
14.根据权利要求13所述的数字水印方法,其特征在于,所述数字数据文件还包括参数集合,所述参数集合指定以下各项中的至少一个:
所述消息流水线处理所述消息的处理标准,
所述数据流水线处理所述数据文件的处理标准,
所述水印流水线将所述处理后的消息文件嵌入到所述处理后的数据文件上的处理标准,或
所述逆过程流水线反转所述数据流水线在处理所述数据文件时应用的过程的处理标准。
15.根据权利要求14所述的数字水印方法,其特征在于:
所述消息流水线处理所述消息是根据所述参数集合进行的,
所述数据流水线处理所述数据文件是根据所述参数集合进行的,
所述水印流水线将所述处理后的消息文件嵌入到所述处理后的数据文件上是根据所述参数集合进行的,
所述逆过程流水线反转所述数据流水线在处理所述数据文件时应用的所述过程是根据所述参数集合进行的。
16.根据权利要求13至15中任一项所述的数字水印方法,其特征在于,还包括在所述消息流水线、所述数据流水线、所述水印流水线或所述逆过程流水线中添加或删除操作。
17.根据权利要求13至16中任一项所述的数字水印方法,其特征在于,所述消息是使用Paillier概率加密算法加密的。
18.根据权利要求17所述的数字水印方法,其特征在于,对所述消息进行加密使用公钥。
19.根据权利要求13至18中任一项所述的数字水印方法,其特征在于,所述数据文件包括视频文件、音频文件和图像文件中的至少一种。
20.根据权利要求19所述的数字水印方法,其特征在于,如果所述数据文件是所述图像文件,则还包括:
创建原始图像文件的副本,并将复制的图像文件提供给所述逆过程流水线;
收缩所述原始图像文件,创建收缩后的图像文件的副本,并将复制的收缩后的图像文件提供给所述逆过程流水线;
将所述收缩后的图像文件从空域转换为频域,并将所述频域表示文件提供给所述水印流水线;
将所述处理后的消息文件嵌入到所述频域表示文件上,生成带水印的频域表示文件,并将所述带水印的频域表示文件提供给所述逆过程流水线;
将所述带水印的频域表示文件从频域变换到空域,以生成带水印的空域图像文件;
从所述带水印的空域图像文件中减去所述复制的收缩后的图像文件,以在所述带水印的空域图像文件中提取带水印区域;
增大所述提取的带水印区域的尺寸,以生成增大的水印区域,并将所述增大的水印区域添加到所述原始图像文件中。
21.根据权利要求19所述的数字水印方法,其特征在于,还包括:
将所述图像文件从极坐标转换为笛卡尔坐标;
将坐标变换后的图像文件从空域转换为频域,并提供所述频域表示文件;
在所述频域图像文件的左上象限和右上象限中选择弧;
根据分离操作选择所述弧周围的像素;
对所述选定像素执行差分编码。
22.根据权利要求21所述的数字水印方法,其特征在于,对于要编码的每个位:
使用来自所述选定像素的两个像素,即来自所述右上象限的第一像素和来自所述左上象限的第二像素,
所述第一像素和所述第二像素互为对偶且彼此逆时针相隔90度。
23.根据权利要求13至22中任一项所述的数字水印方法,其特征在于,所述数据文件为空数据文件。
24.根据权利要求23所述的数字水印系统,其特征在于,还包括批处理流水线将所述带水印的数据文件混合到第二数据文件中,所述第二数据文件包括图像文件、视频文件或音频文件中的至少一个。
CN202180062112.8A 2020-08-06 2021-05-08 用于数字水印的系统、方法和装置 Pending CN116194927A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/986,948 2020-08-06
US16/986,948 US11303777B2 (en) 2020-08-06 2020-08-06 System, method and apparatus for digital watermarking
PCT/CN2021/092261 WO2022028021A1 (en) 2020-08-06 2021-05-08 System, method and apparatus for digital watermarking

Publications (1)

Publication Number Publication Date
CN116194927A true CN116194927A (zh) 2023-05-30

Family

ID=80114349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180062112.8A Pending CN116194927A (zh) 2020-08-06 2021-05-08 用于数字水印的系统、方法和装置

Country Status (4)

Country Link
US (1) US11303777B2 (zh)
EP (1) EP4189561A4 (zh)
CN (1) CN116194927A (zh)
WO (1) WO2022028021A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094872A (zh) * 2023-10-20 2023-11-21 中科亿海微电子科技(苏州)有限公司 一种用于数字水印的fpga处理系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614914B1 (en) 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US7480393B2 (en) * 2003-11-19 2009-01-20 Digimarc Corporation Optimized digital watermarking functions for streaming data
CN101389009B (zh) * 2007-09-14 2010-12-15 华为技术有限公司 一种水印信息的嵌入、检测方法及装置
EP2426635A1 (en) * 2010-09-01 2012-03-07 Thomson Licensing Method for watermarking free view video with blind watermark detection
CN103383721B (zh) * 2012-05-04 2016-12-14 天津市地下空间规划管理信息中心 基于数字水印和进程隐形加密相结合的管线数据监控方法
US10769745B2 (en) * 2016-01-27 2020-09-08 The Korea Advanced Institute Of Science And Technology Three-dimensional mesh model watermarking method using segmentation and apparatus thereof
CN107622470B (zh) * 2017-09-01 2020-12-01 杭州趣维科技有限公司 一种基于二维码的实时鲁棒数字水印的嵌入和提取方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117094872A (zh) * 2023-10-20 2023-11-21 中科亿海微电子科技(苏州)有限公司 一种用于数字水印的fpga处理系统及方法
CN117094872B (zh) * 2023-10-20 2023-12-26 中科亿海微电子科技(苏州)有限公司 一种用于数字水印的fpga处理系统及方法

Also Published As

Publication number Publication date
US20220046141A1 (en) 2022-02-10
US11303777B2 (en) 2022-04-12
WO2022028021A1 (en) 2022-02-10
EP4189561A1 (en) 2023-06-07
EP4189561A4 (en) 2024-01-31

Similar Documents

Publication Publication Date Title
Qin et al. Reversible data hiding scheme based on exploiting modification direction with two steganographic images
Shi et al. Reversible data hiding: Advances in the past two decades
Qian et al. Lossless data hiding in JPEG bitstream
Kim et al. Lossless data hiding for absolute moment block truncation coding using histogram modification
Butora et al. Reverse JPEG compatibility attack
Yao et al. High-fidelity dual-image reversible data hiding via prediction-error shift
Liu et al. High-performance JPEG steganography using complementary embedding strategy
Sarmah et al. JPEG based steganography methods using cohort intelligence with cognitive computing and modified multi random start local search optimization algorithms
Malik et al. Reversible data hiding in homomorphically encrypted image using interpolation technique
CN110110535B (zh) 一种基于像素矩阵的低失真隐写方法
Gaikwad et al. Hiding the Text and Image Message of Variable Size Using Encryption and Compression Algorithms in Video Steganography
Kumar et al. An optimal high capacity reversible data hiding scheme using move to front coding for LZW codes
Mohammad et al. Lossless visible watermarking based on adaptive circular shift operation for BTC-compressed images
Jose et al. Comparative analysis of reversible data hiding schemes
Akhtarkavan et al. Fragile high capacity data hiding in digital images using integer-to-integer DWT and lattice vector quantization
Hou et al. Reversible visual transformation via exploring the correlations within color images
Baba et al. Watermarking of digital images in frequency domain
WO2022028021A1 (en) System, method and apparatus for digital watermarking
Uljarević et al. A new way of covert communication by steganography via JPEG images within a Microsoft Word document
JP4218539B2 (ja) 電子透かし埋め込み装置,電子透かし検出装置,電子透かし埋め込み方法,および電子透かし検出方法
Jiang et al. A high capacity steganographic method based on quantization table modification and F5 algorithm
Manikandan et al. Steganographic approach to enhancing secure data communication using contours and clustering
Tchakounté et al. An Efficient DCT-SVD Steganographic Approach Applied to JPEG Images
Geetha et al. A multi-layered “plus-minus one” reversible data embedding scheme
Wang et al. Detecting and restoring the tampered images based on iteration-free fractal compression

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