CN112689993A - 遮蔽水印以及相关系统和技术 - Google Patents
遮蔽水印以及相关系统和技术 Download PDFInfo
- Publication number
- CN112689993A CN112689993A CN201980033851.7A CN201980033851A CN112689993A CN 112689993 A CN112689993 A CN 112689993A CN 201980033851 A CN201980033851 A CN 201980033851A CN 112689993 A CN112689993 A CN 112689993A
- Authority
- CN
- China
- Prior art keywords
- watermark
- content
- supplemental
- segments
- obscured
- 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 title claims abstract description 63
- 238000009877 rendering Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims abstract description 26
- 230000000153 supplemental effect Effects 0.000 claims description 76
- 238000004891 communication Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 15
- 239000013589 supplement Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 230000000873 masking effect Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 230000007547 defect Effects 0.000 description 7
- 230000009469 supplementation Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 150000002500 ions Chemical class 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 241000501754 Astronotus ocellatus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012015 optical character recognition Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- UGODCLHJOJPPHP-AZGWGOJFSA-J tetralithium;[(2r,3s,4r,5r)-5-(6-aminopurin-9-yl)-4-hydroxy-2-[[oxido(sulfonatooxy)phosphoryl]oxymethyl]oxolan-3-yl] phosphate;hydrate Chemical compound [Li+].[Li+].[Li+].[Li+].O.C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP([O-])(=O)OS([O-])(=O)=O)[C@@H](OP([O-])([O-])=O)[C@H]1O UGODCLHJOJPPHP-AZGWGOJFSA-J 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/3232—Robust embedding or watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32203—Spatial or amplitude domain methods
- H04N1/32229—Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32288—Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/3232—Robust embedding or watermarking
- H04N1/32325—Robust embedding or watermarking the embedded data being visible
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Facsimile Transmission Control (AREA)
Abstract
一种方法包括:将要在内容上呈现的水印分割成多个水印片段。然后,在呈现特定的水印片段之前,进行检查以判断在内容中要呈现该特定水印片段的位置处是否存在数据元素。如果在该位置检测到数据元素,则对该特定的水印片段进行呈现以使得数据元素覆盖该特定的水印片段,从而将水印呈现为遮蔽水印。否则,如果在该位置未检测到数据元素,则在内容上呈现该水印片段以使其可见。重复该过程以呈现剩余的水印片段。
Description
背景技术
数字水印是一种广泛使用的技术,用于标记和/或保护包括图像、文本、文档或者可能出现在显示器上的其它形式的数字数据的数字内容。数字水印可以包括使用可见水印。通常,将可见水印作为人类观察者可以将其视为覆盖原始内容的文本、图案、符号或图像来进行提供。可以提供具有透明(see-through)特征的可见水印。透明水印允许人类观察者查看水印和原始内容二者。
发明内容
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征或组合,也不是使用该概括部分来限制本发明的保护范围。
根据本文所描述的概念、系统和技术,一种用于在数据上或更一般地在要在电子显示器上或者用于视觉呈现内容的任何其它装置上显示的内容上施加水印的系统,包括:用于识别要显示的内容的单元、用于生成遮蔽水印的单元、用于生成补充水印的单元、以及用于在要显示的内容上呈现遮蔽水印和补充水印的单元。
通过该特定的布置,提供了一种用于以显示内容时不混淆内容的方式,在内容上呈现水印的系统。在实施例中,可以对内容进行数字地表示(本文称为数字内容)。通过识别该内容中的要显示的一个或多个数据元素,可以识别在其上呈现遮蔽水印和补充水印而不覆盖该内容中的要显示的一个或多个数据元素的该内容的区域。然后,可以在数字内容的所识别区域中呈现遮蔽水印和补充水印。
可以在台式机和应用程序虚拟化平台中,利用用于在要显示的数字内容上呈现水印的概念和技术,作为用于为要显示的内容提供数据安全性的手段。
在一个实施例中,如果在内容上呈现水印时检测到数据元素的一部分与水印的任何部分位于相同的位置,则所描述的概念、系统和技术允许覆盖整个水印的一部分。通过这种方法,终端用户能够看到内容中的正在显示的数据元素,而这些数据元素不会被水印或部分水印重叠或混淆。这样一来,终端用户就无需从水印中区分出数据元素/信息,并且不会干扰用户对数据的关注。此外,为了避免由于遮蔽水印的一部分或多部分的遮蔽而使水印的信息丢失(例如,水印的目的或者由水印传送的消息或水印的含义),可以将阈值定义为:确保在显示数字内容时,在数字内容上呈现至少一定数量的累积水印并显示出来。通过使用一定数量的累积水印,水印传送的信息将不会受到影响或者以其它方式受到损害。例如,如果水印的目的是提供安全功能,则水印的安全功能将不会受到影响或以其它方式受到损害。
在一个方面,本文所描述的概念针对于一种呈现水印的方法,其中该水印的一部分被遮蔽,从而该水印将不会覆盖在其上呈现该水印的数字内容中的数据元素。而是,在数字内容的不包括任何数据元素的部分上呈现水印(例如,在内容的空白区域上呈现水印或者其一部分),或者当在显示设备、界面(例如,用户界面)、网页、文档、图像或者能够视觉呈现内容的任何其它方式上显示内容时,在与基础数据元素干扰最少(例如,重叠或混淆)的内容区域中呈现水印。
根据所描述的概念、系统和技术,选择水印呈现的数量的阈值。该阈值至少保留已定义数量的累积水印进行显示。如果由于上述原因而遮蔽了水印片段并且没有达到阈值,则该解决方案将检测一些空白区域来呈现重叠的水印片段,以便满足阈值。
在总体概述中,描述了一种系统和技术,该系统和技术将完整的水印分割(或者更一般地将其划分为)两个或更多片段(即,当一起获得时,所述两个或更多片段形成完整的水印)。当在内容(例如,数字内容)上呈现水印时,该系统和技术检测在内容中将要呈现水印片段的位置处是否存在任何数据元素。响应于确定在内容中存在一个或多个数据元素的位置处呈现一个或多个水印片段(即,水印片段中的一个或多个将重叠或干扰一个或多个数据元素),对所述一个或多个水印片段进行遮蔽(即,它们不在数字内容上呈现),以便在显示(例如,在屏幕界面或文档上显示)时,所述一个或多个水印片段与所述一个或多个数据元素之间不发生重叠或干扰。这使得观看用户能够容易地观看并容易地理解水印(例如,完整的水印、遮蔽水印和/或补充水印)以及显示器上显示的数字内容中的数据元素。
应当注意的是,没有必要识别或确定数据元素正在传送的信息和/或正在显示的对象。而是,该系统和技术仅需要检测数据元素的存在,与识别所传送的信息所需的处理相比,这可以获得更简单的处理(因此需要更少的处理资源和更少的时间)。因此,有利地,在一个实施例中,可以通过计算将在其上呈现水印的内容区域中的颜色分布,来确定数据元素的检测。此外,即使对内容中不存在数据元素的位置处的水印的一部分进行了遮蔽,也可以补充不被遮蔽的水印的该部分,以确保当显示内容时,显示期望数量的完整水印。
用此方式,仍然提供了通过对数字内容施加水印而提供的安全功能。因此,有利地,可以使用快速处理技术,来执行对数字内容中的数据元素的检测。
当对水印进行遮蔽时,系统可以判断剩余的水印片段(也称为水印的补充片段)是否传达了足够的信息量,来服务于完整水印的预期功能(例如,呈现的水印片段是否传达了足够的信息以提供安全功能)。例如,可以通过利用完整水印的阈值数量来进行这种判断。在实施例中,该阈值数量可以由系统管理员进行定义。在实施例中,可以通过确定数字内容中不存在数据元素的空间量来确定该阈值数量。也可以使用其它技术。如果呈现的水印片段可以累积到大于指定的水印阈值(或者在一些实施例中,大于或等于水印阈值)的一定数量的水印实例,则认为水印片段的呈现是足够的或者可接受的。另一方面,如果呈现的水印片段未累积到大于水印阈值(或者在一些实施例中,大于或等于水印阈值)的一定数量的水印实例,则认为水印片段的放置不足够,并且系统可以实施补充过程。在实施例中,补充过程将被遮蔽的水印片段在数字内容的空白区域中呈现为补充水印,使得累积水印(即,所呈现的包括补充水印的水印片段)满足指定的阈值。
附图说明
通过以下对实施例的更具体描述,前述和其它目的、特征和优点将变得显而易见,如附图所示,其中相同的附图标记在不同的视图中指代相同的部分。附图不一定按比例绘制,而是将重点放在说明实施例的原理上。
图1是根据本公开内容的实施例,示出可以在其中实现本公开内容的各个方面的计算设备的示例网络环境的框图。
图2是根据本公开内容的实施例,示出可以在其中实现本公开内容的各个方面的示例计算设备的选择性组件的框图。
图3是示出显示的数据的图,该显示的数据具有布置在其上的水印,其导致一个或多个视觉缺陷。
图4是根据本公开内容的实施例,示出在其上布置有没有视觉缺陷的遮蔽水印和补充水印的显示数据的图。
图4A示出了被分段(或分割)为多个片段的示例性水印。
图5是根据本公开内容的实施例,示意性地示出示例性联网计算机系统的所选组件的框图,该示例性联网计算机系统可以用于在内容上创建遮蔽水印。
图5A是可以在其中实现本公开内容的各个方面的云计算环境的示意性框图。
图6是根据本公开内容的实施例,示出用于呈现遮蔽水印的示例性过程的流程图。
图7是根据本公开内容的实施例,示出用于通过根据需要遮蔽水印,来呈现水印的示例性过程的流程图。
图8是根据本公开内容的实施例,示出用于补充遮蔽水印的示例性过程的流程图。
具体实施方式
理想地,可见水印对于内容的变换(例如,对于内容是照片的图像变换、或者对于内容包括在网页中的网页变换)是相对鲁棒的。因此,例如,水印可以用于保护或标识内容,以免被篡改、提供版权保护、提供通知或信息和/或提供对内容的数字版权管理控制。虽然可以应用可见水印来保护内容,但是这样的可见水印可能使内容的全部或一部分模糊(例如,可见水印可能使照片中的对象和/或场景的全部或一部分模糊),从而使观察者(例如,人类观察者或图像处理系统或识别系统(例如,光学字符识别系统))很难视觉地感知内容或者将水印与水印所遮蔽的内容部分(例如,照片的一部分)分开。
可见水印还可能使观察者从内容上分散注意力(例如,使观察者从照片或网页的主要主题上分散注意力),从而降低和/或干扰终端用户的体验。因此,并且根据本公开内容的实施例,改进的水印技术使用户能够以在显示内容时不会混淆内容中的数据元素或者以其它方式对内容中的数据元素造成视觉缺陷的方式,将视觉水印应用于内容。
如本文所使用的,术语“内容”是指要在视觉上呈现的全部的信息。例如,可以使用任何或全部的文本或图像(仅举几个例子)在视觉上呈现信息。可以在显示器、界面(例如,用户界面)、网页、文档、图片上或者通过能够视觉地呈现内容的任何其它方式,可视地呈现内容。内容可以是数字或模拟的(例如,连续参数)。内容可以包括一个或多个数据元素。
“数据元素”是指内容中的单个数据片段或数据单元(例如,数字内容中的数字数据)。当观看诸如文本、图像、图形元素、控制元素、对象、颜色和足够强度的像素(仅举几个例子)之类的内容时,数据元素可以是令人感兴趣的。内容以及因此的数据元素可以以数字数据的形式存在,其中数字数据包括但不限于图像、文本、图形元素、控制元素、或者能够在显示器(例如,计算机或移动设备的显示屏、或者可以在其上可视地呈现内容的任何形式的显示器或界面)上出现的其它形式的数字表达。
如在本文档的其余部分中所使用的,术语“水印”是指视觉标记。任何形式的标记可以包括水印。例如,标记可以是文本或图像或符号或其组合。在将水印添加到内容或以其它方式应用于内容时,可以在视觉上看到水印。因此,为了便于本文所提供的描述起见,在水印和内容之间进行区分。具体而言,水印是可以被诸如人类观察者之类的观察者感知为覆盖或以其它方式应用于全部内容或部分内容的元素或标记。
为了以不混淆所显示内容中的数据元素或者以其它方式对其造成视觉缺陷的方式,将可见水印应用于内容,当呈现包括水印的内容时,将应用于内容的水印分割成多个部分,每个部分对应完整水印的一个片段。然后,在呈现特定的水印片段之前,进行检查以判断在内容中要呈现特定水印片段的位置处是否存在内容的数据元素。如果确定在该位置存在数据元素,则对该特定水印片段进行呈现以使得数据元素覆盖该特定水印片段,从而数据元素是可见的,而水印片段不可见。否则,如果确定在该位置不存在数据元素,则在该位置呈现水印片段。
因为数据元素覆盖该特定的水印片段,所以在显示内容时,不会混淆内容中与该特定的水印片段相同位置的数据元素。而且,在这种情况下,水印的一部分(例如,水印中被数据元素覆盖的部分)变成被覆盖的数据元素“遮蔽”。这种结果在本文中称为“遮蔽水印”。对其余的水印片段也进行类似地处理,以在内容上呈现水印。根据本公开内容,许多配置和修改将是显而易见的。
现在转到附图,图1是根据本公开内容的实施例,示出可以在其中实现本公开内容的各个方面的计算设备的示例性网络环境101的框图。如图所示,环境101包括一个或多个客户端机器102A-102N、一个或多个远程机器106A-106N、一个或多个网络104、104’,以及安装在环境101内的一个或多个设备108。客户端机器102A-102N经由网络104、104’,与远程机器106A-106N进行通信。
在一些实施例中,客户端机器102A-102N经由中间设备108与远程机器106A-106N进行通信。所示出的设备108位于网络104、104’之间,并且也可以称为网络接口或网关。在一些实施例中,设备108可以用作应用交付控制器(ADC),以在某个范围的客户端设备上,向客户端提供对业务应用程序和部署在数据中心、云计算环境中的其它数据的访问,或者提供对传送成软件即服务(SaaS)的访问,和/或提供诸如负载平衡之类的其它功能。在一些实施例中,可以使用多个设备108,并且可以将设备108部署为网络104和/或104’的一部分。
客户端机器102A-102N通常可以称为客户端机器102、本地机器102、客户端102、客户端节点102、客户端计算机102、客户端设备102、计算设备102、端点102或端点节点102。通常,远程机器106A-106N可以称为服务器106或服务器群106。在一些实施例中,客户端设备102可以具有充当为寻求访问服务器106提供的资源的客户端节点、以及为其它客户端设备102A-102N提供对托管资源的访问的服务器106的功能。通常,网络104、104’可以称为网络104。可以有线和无线网络的任何组合来配置网络104。
服务器106可以是任何服务器类型,例如:文件服务器;应用服务器;网络服务器;代理服务器;电器;网络设备;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;安全套接字层虚拟专用网(SSL VPN)服务器;防火墙;网络服务器;执行活动目录的服务器;云服务器;或者执行提供防火墙功能、应用程序功能或负载平衡功能的应用程序加速程序的服务器。
服务器106可以执行、操作或以其它方式提供可以是以下任意一种的应用程序:软件;程序;可执行指令;虚拟机;管理程序;网络浏览器;基于网络的客户端;客户端服务器应用程序;瘦客户端计算客户端;ActiveX控件;Java applet;与互联网协议语音(VoIP)通信相关的软件(例如,软IP电话);用于对视频和/或音频进行流处理的应用程序;用于促进实时数据通信的应用程序;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户端;或者任何其它可执行指令集。
在一些实施例中,服务器106可以执行使用瘦客户端或远程显示协议的远程呈现服务程序或其它程序,以捕获在服务器106上执行的应用程序所生成的显示输出,并将该应用程序显示输出发送给客户端设备102。
在其它实施例中,服务器106可以执行虚拟机,该虚拟机向客户端设备102的用户提供对计算环境的访问。客户端设备102可以是虚拟机。可以通过例如管理程序、虚拟机管理器(VMM)或服务器106内的任何其它硬件虚拟化技术来管理虚拟机。
在一些实施例中,网络104可以是:局域网(LAN);城域网(MAN);广域网(WAN);主要公共网络;以及主要专用网络。另外的实施例可以包括使用各种协议在移动设备之间进行通信的移动电话网络的网络104。对于无线局域网(WLAN)内的短距离通信,协议可以包括802.11、蓝牙和近场通信(NFC)。
图2是根据本公开内容的实施例,示出可以在其中实现本公开内容的各个方面的示例性计算设备100的选择性组件的框图。例如,图1的客户端设备102、设备108和/或服务器106可以基本上类似于计算设备100。如图所示,计算设备100包括一个或多个处理器103、易失性存储器122(例如,随机存取存储器(RAM))、非易失性存储器128、用户界面(UI)123、一个或多个通信接口118和通信总线150。
非易失性存储器128可以包括:一个或多个硬盘驱动器(HDD)或者其它磁性或光学存储介质;诸如闪存驱动器或其它固态存储介质之类的一个或多个固态驱动器(SSD);一个或多个混合磁驱动器和固态驱动器;和/或一个或多个虚拟存储卷,例如云存储、或这些物理存储卷和虚拟存储卷或其阵列的组合。
用户界面123可以包括图形用户界面(GUI)124(例如,触摸屏、显示器等等)和一个或多个输入/输出(I/O)设备126(例如,鼠标、键盘、麦克风、一个或多个扬声器、一个或多个照相机、一个或多个生物特征扫描仪、一个或多个环境传感器以及一个或多个加速度计等)。
非易失性存储器128存储操作系统115、一个或多个应用程序116和数据117,使得例如易失性存储器122之外的处理器103执行操作系统115和/或应用程序116的计算机指令。在一些实施例中,易失性存储器122可以包括一种或多种类型的RAM和/或高速缓冲存储器,它们可以提供比主存储器更快的响应时间。可以使用GUI 124的输入设备来输入数据,或者可以从I/O设备126接收数据。计算设备100的各种元件可以经由通信总线150进行通信。
仅将所示的计算设备100示出为示例性客户端设备或服务器,并且所示的计算设备100可以由具有任何类型的机器或机器集合的任何计算或处理环境来实现,该机器或机器集合可以具有能够如本文所描述方式进行操作的适当硬件和/或软件。
处理器103可以由一个或多个可编程处理器实现,以执行一个或多个可执行指令(例如,计算机程序),从而执行系统的功能。如本文所使用的,术语“处理器”描述了执行功能、操作或操作序列的电路。可以将功能、操作或操作序列硬编码到电路中,或者通过存储在存储器设备中并由电路执行的指令来软编码。处理器可以使用数字值和/或使用模拟信号,来执行该功能、操作或操作序列。
在一些实施例中,处理器可以体现在一个或多个专用集成电路(ASIC)、微处理器、数字信号处理器(DSP)、图形处理单元(GPU)、微控制器、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、多核处理器或者具有相关联存储器的通用计算机中。
处理器103可以是模拟、数字或混合信号。在一些实施例中,处理器103可以是一个或多个物理处理器、或者一个或多个虚拟(例如,远程定位或云计算环境)处理器。包括多个处理器核的处理器和/或多个处理器可以提供用于并行地、同时地执行指令的功能,或者用于并行地、同时地对多条数据执行一条指令的功能。
通信接口118可以包括一个或多个接口,以使计算设备100能够通过各种有线和/或无线连接(包括蜂窝连接),访问诸如局域网(LAN)、广域网(WAN)、个域网(PAN)或互联网之类的计算机网络。
在所描述的实施例中,计算设备100可以代表客户端设备的用户执行应用程序。例如,计算设备100可以执行由管理程序管理的一个或多个虚拟机。每个虚拟机可以提供一个执行会话(例如,托管的桌面会话),在该执行会话中,应用程序代表用户或客户端设备进行执行。计算设备100还可以执行终端服务会话,以提供托管的桌面环境。计算设备100可以提供对包括一个或多个应用程序、一个或多个桌面应用程序、以及可以在其中执行一个或多个应用程序的一个或多个桌面会话的远程计算环境的访问。
图3是示出显示的网页的图,该显示的网页的内容具有在其上布置的水印,从而导致一个或多个视觉缺陷。如图3中所示,应用了四个水印310、312、314和319,或者以其它方式添加到网页的内容中。可以看出,每个水印310、312、314和319由两行文本组成:第一行中的文本“Confidential information”、以及第一行下方的第二行中的文本“Provided toFuping Zhou”。从图3中可以进一步看出,以使水印310的一部分(例如,文本“information”和“ing Zhou”)覆盖数据元素311的方式在内容上呈现水印310。类似地,以使水印312的一部分(例如,文本“ion”和“hou”)覆盖数据元素313的方式在内容上呈现水印312,并且以使水印314的一部分(例如,文本“Co”和“Prov”)覆盖数据元素315并且使水印319覆盖图标的一部分的方式,在内容上呈现水印314。如在该例子中看到的,当在内容上呈现水印310、312、314和319时,覆盖内容中的数据元素的水印310、312、314和319中的部分干扰并导致这些数据元素的视觉缺陷。因此,可以理解的是,当在内容上呈现水印时,将水印琐碎地应用于内容(例如,照片或网页,以提供两个示例)通常会导致水印混淆或者以其它方式干扰内容中的数据元素。
然而,如将在下面结合图4到图8所描述的,根据本文所描述的概念、系统和技术,可以在内容上呈现水印,使得对混淆或以其它方式干扰内容中的数据元素的水印部分进行遮蔽,以允许这些数据元素在显示内容时清晰可见(否则这些数据元素将位于水印之下)。
图4是示出所显示的网页的图,该显示的网页具有在其上布置的不会导致视觉缺陷的遮蔽水印和补充水印的内容。
遮蔽水印是指当在内容上施加(例如,呈现或以其它方式施加)水印时,其中一部分(或一块)水印不可见(例如,被去除)的水印。
补充水印是水印的一部分,当与遮蔽水印一起观看(或者与之一起使用时),会形成完整的(或者至少更完整的)水印。由于从以下描述中将变得显而易见的原因,在实施例中,可能需要一个或多个补充水印(连同遮蔽水印)以获得完整的水印。同样,在实施例中,补充水印可以与一个以上的遮蔽水印一起使用,以产生多个完整的水印。
具体而言,图4示出了被遮蔽的图3的水印310、312和314的部分,以便不对内容中的数据元素造成视觉缺陷。例如,在图4的说明性示例中,网页可以已经被创建为在该网页的左半部分上包括水印的三个实例(例如,如图3中的水印310、312和314所示)。
如图4中所示,在网页的内容上呈现四个遮蔽水印410、412、414和419a。遮蔽水印410是图3中的水印310的一部分,遮蔽水印412是图3中的水印312的一部分,遮蔽水印414是图3中的水印314的一部分,遮蔽水印419a是图3中的水印319的一部分。具体而言,遮蔽水印410不包括将覆盖和混淆网页中的数据元素411的那部分水印(例如,文本“Information”和“Fuping Zhou”)。类似地,遮蔽水印412不包括将覆盖和混淆网页中的数据元素413的那部分水印(例如,文本“tion”和“hou”),遮蔽水印414不包括将覆盖和混淆网页中的数据元素415的那部分水印(例如,文本“Conf”和“Prov”),遮蔽水印419a不包括将覆盖和混淆网页中的数据元素(此处显示为火箭飞船图标)的那部分水印(例如,文本“ormation”和“ingZhou”)。也就是说,遮蔽水印410、412、414、419a每个包括不覆盖内容的数据元素(例如,文本和图像)的那部分水印。
但是,应当注意,可以在内容的一部分上呈现一些或全部的遮蔽水印,其中该部分不是空白的,或者是内容中的空白区域。例如,如在图4的图示中所见,在内容的相应部分上分别呈现遮蔽水印410和遮蔽水印412的一部分,其中这些部分不是空白的,而是可以具有某种类型的着色或灰色阴影。而且,将遮蔽水印414的一部分(例如,文本“ormation”和“Zhou”的一部分)呈现为覆盖数据元素416的一部分。根据一些实施例,这可能是由于用于确定构成内容中的数据元素的标准或阈值(例如,图像中的数据元素或网页中的数据元素),这将在下面进一步描述。
如图4中进一步所示,在网页上呈现所谓的“补充水印”417和418以及419b。在内容上呈现补充水印417、418和419b,以便不覆盖和模糊内容中包括的任何数据元素。例如,如图4中所示,在内容中的没有数据元素的区域(所谓的“空白区域”)上呈现补充水印417、418和419b。
简而言之,可以将一个或多个补充水印应用于内容,使得当将一个或多个补充水印与遮蔽水印一起考虑(例如,组合)时,可以看到或以其它方式感知“完整”水印。根据一个实施例,当在内容上呈现水印时,补充水印可以包括被“遮蔽”(即,不可见)的水印的一部分(例如,水印中将覆盖内容中的数据元素的部分(在呈现时))。从这个意义上说,补充水印“补足”遮蔽水印。也就是说,当遮蔽水印与一个或多个补充水印一起使用时,形成完整的水印。
如在图4中可以看到的,包括文本“ion”和“hou”的补充水印417补充了遮蔽水印412(即,可以将遮蔽水印412和补充水印417合并以创建完整的水印,例如,在内容上呈现的完整水印的实例)。同样地,包括文本“Information”和“Fuping Zhou”的补充水印418补充了遮蔽水印410,这是因为可以将遮蔽水印410和补充水印418合并以创建完整的水印(例如,在内容上呈现的完整水印的另一个实例)。
应当理解的是,可以将多个补充水印与遮蔽水印进行组合以创建完整的水印。即,可以对“被遮蔽”的水印的一部分(从而导致遮蔽水印)进行分片或以其它方式分割,并且这些片段可以包括在多个相应的补充水印中。还应当注意,补充水印可以补充一个或多个(多个)遮蔽水印。
继续图4的说明性示例,可能已经需要或以其它方式要求在内容上呈现阈值数量(例如,两(2)个、三(3)个、四(4)个或其它适当数量(N))的完整水印实例(例如,预先建立的水印阈值)。在这样的例子中,例如,可以呈现指定阈值数量的完整水印实例,以便保留与提供水印相关联的预期安全功能。在图4的例子中,水印阈值已经是两(2)个。在该示例性情况下,通过组合遮蔽水印410和补充水印418以及通过组合遮蔽水印412和补充水印417满足指定的水印阈值,来呈现完整水印的两个实例。应当注意,不需要完成遮蔽水印414和419a来创建完整水印的实例(例如,不需要用一个或多个补充水印进行补充),这是因为遮蔽水印410和补充水印418的组合以及遮蔽水印412和补充水印417的组合满足了指定的两(2)个水印阈值。另一方面,在图4的例子中,如果水印阈值是三(3)个,则通过另外地补充遮蔽水印414和419a中的至少一个(即,除了补充遮蔽水印410和412),将导致三(3)个补充水印实例,其中当它们一起使用时,请提供完整的水印。更进一步地,如果水印阈值为四(4),则另外用补充水印补全遮蔽水印414和419a两者,将导致共同提供完整水印的四(4)个补充水印。
如在图4中可以进一步看到的,可以在不完整或被遮蔽状态下,在内容上呈现遮蔽水印414。此外,如将根据本公开内容所理解的,可以补充遮蔽水印410、412、414和419a中的任何两个,而不一定是遮蔽水印410和412,以创建在内容上呈现的完整水印的两个实例,因此满足两个水印阈值。在一些这样的示例性实施例中,可以对三个遮蔽水印(即,410、412、414和419a中的任何三个)进行补充以满足指定的水印阈值。在更一般的意义上,可以对添加到内容中的任意数量的水印进行补充,以满足指定的水印阈值。
图4A示出了被分片(或分割)成多个片段的示例性水印。如图所示,该说明性水印由两行文本组成:第一行中的文本“WATERMARK”、以及第一行下方的第二行中的文本“TEXT”。具体而言,并且根据本文公开的某些实施例,将水印分割成多个片段,并且对水印的这些片段进行处理以判断当在内容上呈现水印时,水印的一部分或几部分是否将覆盖内容中的数据元素。在一些这样的实施例中,为水印生成边界框,使得边界框包围该水印。生成的边界框描绘或限定水印的边(例如,边界)。例如,可以通过边界框的四个角的坐标,来指定边界框。在一些实施例中,以紧密绑定水印的方式,生成水印的边界框。也就是说,生成边界框,使得在边界框内,将不代表水印的像素的数量减少或者理想地最小化。减少边界框中不代表水印的像素数量可以降低计算成本。例如,减少(或理想地使之最小化)不代表水印的像素数量,减少了在分割水印时需要处理的“不必要”像素的数量。
如图4A的说明性实施例中所示,可以为水印生成边界框430。在一个实施例中,可以创建代表边界框430内部的区域的像素图(其包括水印),并且该像素图用于将水印适当地分割成一些片段。例如,在一个这样的实施例中,可以沿着宽度(例如,x维度)对边界框430进行分割以分割包围在边界框430内的水印。如图4A的例子中所示,将边界框430分割成五(5)个片段,以产生五个水印。在其它实施例中,包围水印的边界框可以沿着其高度(例如,y维度)进行分割,以分割包围在边界框内的水印。在任何情况下,都可以使用边界框的像素图来分割边界框。
在实施例中,可以将水印分隔成相等大小的片段。例如,假设图4A中所示的水印的宽度为400像素。在该示例性情况下,可以将宽度为400个像素的水印分割成五个片段(五个水印片段),其中每个片段的宽度为80个像素,如图4A中所示。
在实施例中,水印被分割成的片段的数量可以是预先建立的(即,固定的),也可以是可调的(即,可选择的)。在一个示例性实现中,可以使用可调参数,来指定水印被分割成的片段的数量。例如,可以在授权用户(例如,系统管理员)可访问的配置文件中指定该可调参数,并且用户可以基于期望的性能水平来调谐或调整参数。在一些实施方式中,可以基于当前和/或过去的性能水平,来自动地调谐(例如,经由处理器)该可调参数。在任何情况下,都可以基于诸如以下的一个或多个因素,来确定水印被分割成的片段的数量(例如,水印中的像素数量、或者在文本水印的情况下,水印中的字母数量;可以放置水印的可用空间量(例如,面积)、内容中的数据元素的密度、以及水印中的像素数量与要显示的数据元素中的像素数量的比率,仅提供一些例子)。
在实施例中,可以将水印分割成大小不相等的片段。例如,如果水印的宽度为400像素,则可以将该水印分成六个宽度为50像素的片段和一个宽度为像素的片段。在一个示例性实现中,可以在具有水平滚动条和/或垂直滚动条的窗口中呈现水印。然后,用户可以操纵提供的滚动条,以指示在何处以及如何对水印进行分片或分割(因此,有效地选择了片段的数量)。
图5是根据本公开内容的实施例,示意性地示出示例性联网计算机系统的所选组件的框图,该示例性联网计算机系统可以用于在内容上创建遮蔽水印。具体而言,可以将图5中所示的系统理解为使用户502能够利用水印系统504的服务。例如,用户502可以使用水印系统504的服务,在内容上呈现一个或多个遮蔽水印。在水印系统504的一些实现中,可能已经创建了包括水印的内容,并且用户502可以使用水印系统504的服务,将内容上的一个或多个水印呈现为遮蔽水印。在这样的实施例中,用户502可以经由网络506与水印系统504进行通信。应当注意,图5中所描绘的示例性联网计算机系统仅仅是一个举例,并且其仅假设单个用户。然而,应当理解的是,根据本文所描述的技术,图5中所描绘的联网计算机系统可以容易地扩展到任意数量的用户及其关联的设备,以用于呈现遮蔽水印和/或生成包括遮蔽水印的内容。例如,多个用户可以利用水印系统504的服务。因此,应当理解,本文所公开的实施例并不旨在限于在任何时候只有单个用户使用水印系统504。还应当理解,本文所公开的实施例并不旨在限于使用水印系统504来在内容上呈现遮蔽水印。而是,根据本公开内容将显而易见的是,水印系统504可用于向内容(例如,照片中的内容、网页中的内容或数字书中的内容,仅提供三个例子)添加遮蔽水印。
网络506可以是局域网(例如,基于家庭或办公室的网络)、广域网(例如,互联网)、对等网络(例如,蓝牙连接)或者此类网络的组合,无论是公共网络、私有网络还是两者兼而有之。在某些实施例中,与网络506相关联的功能的至少一部分由蜂窝数据网络提供,从而使得移动计算设备的用户更容易利用水印系统504的服务。通常,本文所描述的各个实体和资源之间的通信可以通过有线或无线连接发生,例如可以通过Wi-Fi或移动数据网络提供。在该方面,网络506基本上类似于先前关于图1所描述的网络104和104’。
如图5中所示,用户502可以访问有助于与图5中所示或者本文另外描述的水印系统504的组件进行交互的设备。例如,在某些实施例中,用户502可以访问各种适当的计算设备中的一个或多个,其包括诸如桌面型计算机、膝上型计算机、工作站、企业级服务器计算机、手持计算机、平板计算机、蜂窝电话、智能电话和机顶盒之类的设备。在其它实施例中可以使用其它设备。用户502使用的一个或多个设备可选地包括:使得能够经由网络506进行通信的有线和/或无线通信适配器。所述一个或多个设备还可选地包括输入/输出组件,例如触觉键盘、显示器、触摸屏显示器、麦克风、相机和位置服务中的一个或多个。这样的输入/输出组件使用户502不仅能够控制其自己的设备的操作,而且还可以控制水印系统504的某些操作方面。
仍然参考图5所示的示例性实施例,水印系统504可以被配置为促进包括一个或多个遮蔽水印的内容的生成。在一些实施例中,水印系统504还被配置为促进对内容中包括的预先存在的水印的掩蔽,以便引起具有遮蔽水印的内容的呈现。为此,在一个实施例中,水印系统504包括被配置为实现本文所公开的某些功能的一个或多个软件模块,并且可选地还包括被配置为实施这种实现的硬件。该硬件和/或软件可以包括但不限于处理器508、存储器510、操作系统512、通信模块514和数据存储516。
处理器508可以被设计为控制水印系统504的各种其他组件的操作。处理器508可以包括适合在水印系统504中使用的任何处理单元,例如单核或多核处理器。通常,处理器508可以包括任何适当的专用或通用计算机、计算实体、或者包括各种计算机硬件或固件的计算或处理设备,并且可以被配置为执行存储在任何适用的计算机可读存储介质上的指令(例如,程序指令)。例如,处理器508可以包括微处理器、中央处理单元(CPU)、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复合指令集计算机(CISC)、精简指令集计算机(RISC)、多核、或者被配置为解释和/或执行程序指令和/或处理数据的任何其它数字或模拟电路,无论是从存储器加载还是直接在硬件中实现。虽然在图5中将处理器示为单个处理器,但处理器508可以包括任何数量的处理器和/或处理器核心,这些处理器和/或处理器核心被配置为单独地或共同地执行或指导本公开内容中描述的任何数量的操作。在该方面,处理器508与先前关于图2的计算设备100所描述的处理器103基本相似。
存储器510可以包括计算机可读存储介质,该计算机可读存储介质被配置为携带或具有存储在其上的计算机可执行指令或数据结构。这样的计算机可读存储介质可以包括能够由诸如处理器508之类的通用或专用计算机访问的任何可用介质。举例而言但非做出限制,这样的计算机可读存储介质可以包括非暂时性计算机可读存储介质,其包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、静态随机存取存储器(SRAM)、非易失性存储器(NVM)、或者可以用于以计算机可执行指令或数据结构的形式携带或存储特定程序代码、并且可以由通用或专用计算机访问的任何其它适当的存储介质。上述的组合也可以包括在计算机可读存储介质的范围内。在该方面,存储器510基本上类似于先前关于图2的计算设备100所描述的易失性存储器122。
操作系统512可以包括任何适当的操作系统,例如 (华盛顿州雷德蒙德,微软公司)、ANDROIDTM(加利福尼亚州山景城,谷歌公司)、iOS(加利福尼亚州库比蒂诺,苹果公司)或OS(加利福尼亚州库比蒂诺,苹果公司)。如根据本公开内容将理解的,可以在不考虑结合水印系统504提供的特定操作系统的情况下实现本文提供的技术,并且因此还可以使用任何适当的现有平台或随后开发的平台来实现。在该方面,操作系统512基本上类似于先前关于图2的计算设备100所描述的操作系统115。
通信模块514可以是允许经由一个或多个网络(例如,诸如网络506)与本文所述的一个或多个其它组件进行有线或无线通信的任何适当的网络芯片或芯片组。通信模块514还可以被配置为经由总线或互连,来提供设备内通信。在该方面,通信模块514基本上类似于先前关于图2的计算设备100所描述的通信接口118。
数据存储516可以包括被配置为用于数据的短期或长期存储的任何类型的计算机可读存储介质。举例而言但非做出限制,这样的计算机可读存储介质可以包括硬盘驱动器、固态驱动器、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、压缩光盘只读存储器(CD-ROM)或其它光盘存储设备、磁盘存储设备或其它磁性存储设备、闪存设备(例如,固态存储设备)、非易失性存储器(NVM)或者任何其它存储介质(其包括上面结合存储器510所提供的那些),这些计算机可读存储介质可以用于以计算机可读和计算机可执行指令、软件或数据结构的形式来携带或存储特定的程序代码,以实现本文所公开的各种实施例,并且可以由通用或专用计算机进行访问。上述的组合也可以包括在计算机可读存储介质的范围内。可以将数据存储516提供在水印系统504上,或者与水印系统504分开地或远程地提供。在该方面,数据存储516基本上类似于先前关于图2的计算设备100所描述的非易失性存储器128。
再次参考图5中所示的示例性实施例,水印系统504进一步包括水印应用程序518,水印应用程序518包括水印隐蔽模块520和遮蔽水印补充模块522。水印应用程序518通常被配置为利用水印隐蔽模块520和遮蔽水印补充模块522的服务和功能,提供对水印的遮蔽和内容上的遮蔽水印的呈现的整体控制。水印应用程序还可以利用水印隐蔽模块520和遮蔽水印补充模块522的服务和功能,在图像、显示器、浏览器、用户界面、打印文档等等上呈现内容和水印。
具体而言,并且根据一些实施例,水印应用程序518确定例如在呈现内容以在显示设备上显示时或者呈现内容的位置处,要在内容上呈现的水印的存在。为了呈现水印,水印应用程序518可以将水印分割成多个片段,并逐个地呈现水印。在一些这样的实施例中,水印应用程序518可以利用水印隐蔽模块520来呈现每个水印片段。
如将在下面进一步描述的,根据一个实施例,水印隐蔽模块520可以在内容上呈现水印片段(例如,使得水印片段覆盖内容中的数据)或者呈现水印,使得内容中的数据元素覆盖水印片段。在数据元素覆盖水印片段的情况下,水印片段变得被遮蔽,从而导致水印作为遮蔽水印而呈现在内容上。
在一些实施例中,水印应用程序518被配置为检查在内容(以及随后在图像、显示器或浏览器、用户界面、打印文档等等上)呈现的遮蔽水印的实例(其包括任何完整的水印(未被遮蔽的任何水印))是否满足水印阈值。例如,当水印在内容上呈现为遮蔽水印时,可能不会保留水印的预期功能(完整水印)。也就是说,所呈现的遮蔽水印可能不能传达足够的信息量来为整个水印提供预期的功能。水印阈值定义了需要在内容上呈现的完整水印实例的数量,水印阈值可以是一种保证形式,即通过在内容上呈现遮蔽水印而不会丢失水印内容的预期功能。在这样的实施例中,水印应用程序518进行检查以判断呈现的水印片段(作为呈现的遮蔽水印和呈现的完整水印的一部分来呈现的水印片段)是否满足水印阈值。如果呈现的水印片段可以组合或以其它方式累积到多个完整的水印实例以满足水印阈值,则水印应用程序518可以得出以下结论:水印片段的呈现是可接受的或者是足够的。否则,如果呈现的水印片段未累积到满足水印阈值的完整水印实例数量,则水印应用程序518可以得出以下结论:水印片段的呈现是不足的。在呈现的水印片段未累积到多个完整的水印实例以满足水印阈值的情况下,水印应用程序518可以利用遮蔽水印补充模块522来呈现遮蔽水印片段(例如,在水印的呈现期间被遮蔽的水印的部分)。如将在下文中进一步描述的,根据一个实施例,遮蔽水印补充模块522可以根据需要在内容上呈现被遮蔽的水印片段以满足水印阈值。
在实施例中,可以使用可调参数来指定水印阈值。例如,可以在授权用户(例如,系统管理员)可访问的配置文件中指定该可调参数,并且用户可以基于期望的性能水平来调谐或调整参数。在一些实施方式中,可以基于一个或多个因素(例如,内容中不存在数据元素的空间量,仅提供一个例子),自动地(例如,经由处理器)调整该可调参数。也可以使用其它因素,例如先前关于确定对水印进行分割的片段数量所描述的一个或多个因素。
水印隐蔽模块520被配置为检测在内容中要呈现水印片段的位置处,是否存在数据元素。例如,在示例性实现中,水印隐蔽模块520可以基于内容中的颜色(例如,颜色直方图)的分布,来检测内容中的数据元素。在其它实施方式中,水印隐蔽模块520可以采用诸如像素强度(灰色强度或颜色强度)、像素亮度和边缘检测(仅提供一些例子)之类的其它技术,来检测内容中的数据元素,这对本领域普通技术人员而言将是显而易见的。如果在将呈现水印片段的某个位置处检测到数据元素,则水印隐蔽模块520在内容上对该水印片段进行呈现以使数据元素覆盖该水印片段。否则,如果在将呈现水印片段的位置处检测到数据元素,则水印隐蔽模块520在内容上呈现水印片段(例如,水印片段将覆盖内容中的数据)。下面参照图7进一步描述水印隐蔽模块520。
遮蔽水印补充模块522被配置为通过呈现由于数据元素的存在而未被呈现的遮蔽水印部分,来对呈现的遮蔽水印进行补充。为此,根据一个实施例,遮蔽水印补充模块522将需要呈现的水印片段组织成水印片段的列表。举一个例子,假设水印由水印片段A、B、C、D、E和F组成。此外,还假设内容上的水印的第一个呈现实例是具有水印片段A、B和C的第一个遮蔽水印,内容上的水印的第二个呈现实例是具有水印片段E和F的第二个遮蔽水印。也就是说,在呈现水印的两个实例时,在第一个遮蔽水印中遮蔽了水印片段D、E和F(使用数据元素覆盖),而在第二个遮蔽水印中遮蔽了水印片段A、B、C和D。在该例子中,遮蔽水印补充模块512可以将水印片段D、E和F组织到第一列表中,并且将水印片段A、B、C和D组织到第二列表中。第一列表中包括的水印片段D、E和F有效地变成一个水印片段,第二列表中包括的水印片段A、B、C和D有效地变成另一个水印片段。这里,可以将第一列表的水印片段D、E和F一起呈现以补充第一遮蔽水印(例如,当使用呈现的水印片段D、E和F补充时,呈现的第一遮蔽水印形成完整水印的第一个实例),并且可以将第二列表的水印片段一起呈现,以补充第二遮蔽水印(例如,当使用呈现的水印片段A、B、C和D补充时,呈现的第二遮蔽水印形成完整水印的第二个实例)。然后,从所需水印片段的最长列表开始,遮蔽水印补充模块522判断内容中是否存在不包含数据元素并且足够大以便能呈现列表中的水印片段的区域。如果在内容中找到这样的区域,则遮蔽水印补充模块522在所找到的区域上呈现列表中的水印片段。呈现的水印片段可以称为补充水印。否则,如果在内容中未找到这样的区域,则遮蔽水印补充模块522将列表中的水印片段分割成较小的片段(例如,将列表中有效的一个水印片段分割成多个较小的水印片段),并尝试呈现这些较小的水印片段以有效地呈现列表中的水印片段。遮蔽水印补充模块522对下一个列表的所需水印片段(例如,下一个最大列表的所需水印片段)重复该过程,直到满足指定的水印阈值或直到所有所需水印片段的列表都已被处理为止。下面通过图8来进一步描述遮蔽水印补充模块522。
在各个实施例中,在不脱离本公开内容的保护范围的情况下,可以采用另外的组件或者所示组件的一个子集。例如,其它实施例可以将水印应用程序的各种功能(其包括水印隐蔽模块和遮蔽水印补充模块)集成到更少的模块(例如,一个或两个)或更多的模块(例如,四个或五个或更多)中。另外,还应当注意,水印应用程序的各个组件可以分布在其它机器上。在一些情况下,可以将水印隐蔽模块和/或遮蔽水印补充模块从服务器计算系统下载到用户设备上以进行本地执行。在一些情况下,可以在通信耦合到用户设备的服务器计算系统上,提供由水印隐蔽模块和/或遮蔽水印补充模块提供的功能。从更一般的意义上讲,本文所提供的功能部件的集成度和分布度在一个实施例与下一个实施例之间可以有很大的变化,如根据本公开内容所理解的。
本文所描述的实施例可以以各种形式的硬件、软件、固件或专用处理器来实现。例如,在一个实施例中,一种非暂时性计算机可读介质包括在其上编码的指令,当一个或多个处理器执行该指令时,使得本文所描述的水印系统504的各方面得以实现。可以使用任何适当的编程语言(例如,C、C++、面向对象的C、Java、JavaScript、Visual Basic、.NET、BASIC、Scala)或者替代地使用自定义或专有指令集,对指令进行编码。可以以有形地体现在存储设备上、并且能够由具有任何适当架构的计算机执行的一个或多个计算机软件应用程序或小程序的形式,来提供这样的指令。在一个实施例中,该系统可以被托管在给定的网站上,并且例如使用JavaScript或者另一种适当的基于浏览器的技术来实现,以呈现例如本文所描述的遮蔽水印和/或补充水印。
仅举几个例子,本文所公开的功能可以可选地并入各种不同的软件应用程序和系统中,其包括水印应用程序、图像共享应用程序、照片共享应用程序、Web创作应用程序和Web创作系统,仅举几个例子。本文所公开的功能可以另外地或替代地利用单独的软件应用程序和系统提供的服务。例如,在一个实施例中,本文所公开的功能可以在诸如 Google CloudTM或任何适当的云环境之类的云环境中实现。另外地或替代地,可以使用例如结合图5A所描述的IaaS框架来实现本文所公开的功能。本文所公开的计算机软件应用程序可以包括多个不同的模块、子模块或具有不同功能的其它组件,并且可以向其它组件和服务提供信息或者从其它组件和服务接收信息。例如,这些模块可以用于与诸如显示屏、触摸敏感性表面、听觉接口、数码相机或者任何其它适当的输入/输出设备之类的输入/输出设备进行通信。根据本公开内容,没有在附图中示出的其它组件和功能将是显而易见的,并且应当意识到,本公开内容并不旨在限制任何特定的硬件或软件配置。因此,在其它实施例中,图5中所示的组件可以包括附加的、更少的或替代的子组件。此外,在一些情况下,可以将图5中所示的模块和组件中的一个或多个从服务器计算系统下载到用户设备以供本地执行。
在替代的实施例中,本文所公开的计算机和模块可以用硬件来实现,该硬件包括诸如现场可编程门阵列(FPGA)之类的门级逻辑、或者诸如专用集成电路(ASIC)之类的专用半导体。可以利用具有多个输入/输出端口以接收和输出数据的微控制器、以及用于执行本文所公开的各种功能的多个嵌入式例程来实现其它实施例。显而易见的是,在该方面,可以使用硬件、软件和固件的任何适当的组合,并且本公开内容并不旨在限于任何特定的系统架构。
现参照图5A,该图描绘了云计算环境550,其也可以称为云环境、云计算或云网络。云计算环境550可以向多个用户或租户提供共享计算服务和/或资源的传送。例如,共享资源和服务可以包括但不限于:网络、网络带宽、服务器、处理、内存、存储设备、应用程序、虚拟机、数据库、软件、硬件、分析和智能。
在云计算环境550中,一个或多个客户端102a-102n(例如,上述客户端)与云网络552进行通信。云网络552可以包括后端平台,例如服务器、存储设备、服务器群或数据中心。用户或客户端102a-102n可以对应于单个组织/租户或多个组织/租户。具体而言,在一个示例性实现中,云计算环境550可以提供服务于单个组织的私有云(例如,企业云)。在另一个例子中,云计算环境550可以提供服务于多个组织/租户的社区或公共云。
在一些实施例中,可以利用网关设备或服务来提供对云计算资源和虚拟会话的访问。举例来说,可以将Citrix Systems公司提供的Citrix Gateway部署在本地或公共云上,以便向用户提供对虚拟、SaaS和Web应用程序的安全访问和单点登录。此外,为了保护用户免受Web威胁,可以使用诸如Citrix Secure Web Gateway之类的网关。Citrix Secure WebGateway使用基于云的服务和本地高速缓存来检查URL信誉和类别。
在另外的实施例中,云计算环境550可以提供混合云,该混合云是公共云和私有云的组合。公共云可以包括由第三方为客户端102a-102n或企业/租户维护的公共服务器。这些服务器可以位于偏远地理位置或其它位置的异地。
云计算环境550可以提供资源池,以经由客户端102a-102n通过多租户环境或多租户模型来服务于多个用户,其中响应于相应环境内的不同需求来动态地分配和重新分配不同的物理和虚拟资源。多租户环境可以包括能够提供软件、应用程序或软件应用程序的单个实例来服务多个用户的系统或体系结构。在一些实施例中,云计算环境550可以提供按需自助服务,以跨网络单方地为多个客户端102a-102n提供计算能力(例如,服务器时间、网络存储)。举例来说,可以通过诸如Citrix Provisioning Services(Citrix PVS)之类的系统来提供供应服务。Citrix PVS是一种软件流技术,其通过共享的桌面映像将补丁、更新和其它配置信息传送给多个虚拟桌面端点。云计算环境550可以提供响应于来自一个或多个客户端102的不同需求而动态地扩大或缩小的弹性。在一些实施例中,云计算环境550可以包括或提供监测服务,以监测、控制和/或生成与提供的共享服务和资源相对应的报告。
在一些实施例中,云计算环境550可以提供不同类型的云计算服务(例如,软件即服务(SaaS)554、平台即服务(PaaS)556、基础设施即服务(IaaS)558和桌面即服务(DaaS)560)的基于云的传送。IaaS可以指代用户租用指定时间段内所需的基础结构资源。IaaS提供商可以从大型池中提供存储、网络、服务器或虚拟化资源,从而允许用户通过根据需要访问更多资源来快速扩展。IaaS的例子包括华盛顿州西雅图市的Amazon.com公司提供的AMAZON Web服务、德克萨斯州圣安东尼奥市的Rackspace US公司提供的RACKSPACE CLOUD、加利福尼亚州山景城的Google公司提供的Google计算引擎、或者加利福尼亚州圣塔芭芭拉的RightScale公司提供的RightScale。
PaaS提供商可以提供由IaaS提供的功能,其包括例如存储、网络化、服务器或虚拟化、以及其它资源(例如,操作系统、中间件或运行时资源)。PaaS的例子包括由华盛顿州雷德蒙德的微软公司提供的WINDOWS AZURE、由Google公司提供的Google App Engine和由加利福尼亚州旧金山的Heroku公司提供的HEROKU。
SaaS提供商可以提供由PaaS提供的资源,其包括存储、网络化、服务器、虚拟化、操作系统、中间件或运行时资源。在一些实施例中,SaaS提供商可以提供其它资源,其包括例如数据和应用资源。SaaS的例子包括Google公司提供的GOOGLE APPS、加利福尼亚州旧金山的Salesforce.com公司提供的SALESFORCE或微软公司提供的OFFICE 365。SaaS的例子还可以包括数据存储提供者,例如Citrix Systems的Citrix ShareFile、加利福尼亚州旧金山的Dropbox公司提供的DROPBOX、微软公司提供的Microsoft SKYDRIVE、谷歌公司提供的Google Drive或加利福尼亚州库比蒂诺的苹果公司提供的Apple ICLOUD。
与SaaS相似,DaaS(也称为托管桌面服务)是一种虚拟桌面基础设施(VDI),其中,通常将虚拟桌面会话作为云服务与在虚拟桌面上使用的应用程序一起交付。CitrixSystems的Citrix Cloud是DaaS交付平台的一个例子。DaaS交付平台可以托管在公共云计算基础架构上,例如华盛顿州雷蒙德市微软公司的AZURE CLOUD(以下简称“Azure”)或华盛顿州西雅图市Amazon.com公司提供的AMAZON WEB SERVICES(以下简称“AWS”)。在CitrixCloud的情况下,Citrix Workspace应用程序可以用作将app、文件和桌面组合在一起(无论是本地还是在云中),以提供统一体验的单一入口点。
图6是根据本公开内容的实施例,示出用于呈现被遮蔽的视觉水印的示例过程600的流程图。在一些实施例中,示例过程600以及下面进一步描述的示例过程700和800中示出的操作、功能或动作,可以由图5的水印应用程序518的各个组件来执行。在示例过程600以及示例过程700和800的各个框中描述的操作、功能或动作,也可以作为计算机可执行指令存储在诸如图5的水印系统504的存储器510和/或数据存储516之类的计算机可读介质中。
如将根据本公开内容进一步理解的,对于本文所公开的该过程和方法以及其它过程和方法,可以以不同的顺序来实现在这些过程和方法中执行的功能。另外地或替代地,可以同时地执行或者以重叠的同时方式执行两个或更多个操作。此外,所概述的动作和操作仅仅作为示例来提供,并且这些动作和操作中的一些可以是可选的,可以组合为更少的动作和操作,或者可以扩展为其它的动作和操作,而不脱离所公开的实施例的实质。
参照图6,例如在诸如处理器508之类的处理器上执行的水印应用程序(例如,水印应用程序518)可以执行过程600的操作。在操作602处,识别需要在内容(例如,图像)上呈现的水印。例如,关于水印的数据(例如,水印本身、水印的大小和水印的方向,仅提供一些例子)、要呈现的水印实例的数量、以及内容中要呈现水印的实例的位置,可以在水印定义文件中进行提供。在操作604处,通过根据需要来遮蔽水印,在内容上呈现所识别的水印。在示例性实现中,可以使用水印隐蔽模块520在内容上呈现水印。在操作606处,进行检查以判断包括所呈现的遮蔽水印的所呈现水印的实例是否满足指定的水印阈值(即,正在生成和/或呈现的至少阈值数量的完整水印)。如果满足水印阈值,则在操作608处,得出的结论是所呈现的水印的实例足够。否则,如果不满足水印阈值,则在操作610处,尝试对呈现的遮蔽水印进行补充,以满足水印阈值。在示例性实施方式中,可以利用遮蔽水印补充模块522来补充遮蔽水印。
图7是根据本公开内容的实施例,示出用于通过根据需要来遮蔽水印,对水印进行呈现的示例过程700的流程图。遮蔽水印补充模块522可以执行过程700的操作。在操作702处,读取内容和内容中的所应用的水印。例如,在说明性实施例中,读取内容(例如,图像)允许检测内容中的数据元素和数据元素的位置,并且读取水印允许确定水印的大小或大小集以及内容中的水印的位置。在操作704处,进行检查以判断是否已经处理了所有水印以进行呈现。如果已经处理了所有水印,则在操作706处,水印的处理完成。否则,如果尚未全部处理完所有水印,则在操作708处,识别要处理的水印以进行呈现。所识别的水印可以称为当前水印(正在处理的当前水印)。在操作710处,将当前水印分割成多个水印片段。
在操作712处,进行检查以判断是否已经处理了当前水印的所有水印片段。如果已处理了当前水印的所有水印片段,则在操作704处,进行检查以判断是否已处理了所有水印以进行呈现,并且处理过程继续。否则,如果当前水印的所有水印片段还没有被处理完,则在操作714处,识别要处理的水印片段。所识别的水印片段是当前水印的片段,并且可以称为当前水印片段(正在处理的当前水印)。
在操作716处,进行检查以判断内容中要呈现当前水印片段断的位置(例如,图像中的位置)处,是否存在数据元素。如果在要呈现当前水印片段的位置处检测到数据元素,则在操作718处,在该位置呈现当前水印片段,使得数据元素覆盖当前水印片段。否则,如果在要呈现当前水印片段的位置处未检测到数据元素,则在操作720处,在该位置呈现当前水印片段,使得当前水印片段覆盖内容(例如,当前水印片段覆盖数据元素或者数据元素的一部分)。在任何情况下,在处理当前水印片段之后,在操作712处,进行检查以判断是否已经处理了当前水印的所有水印片段,并且处理继续。
图8是根据本公开内容的实施例,示出用于补充遮蔽水印的示例过程800的流程图。遮蔽水印补充模块522可以执行过程800的操作。在操作802处,进行检查以判断是否满足指定的水印阈值。具体而言,当与所呈现的遮蔽水印和其它呈现的完整水印组合时,进行检查以判断是否已经在内容上呈现了足够的补充水印以满足指定的水印阈值。如果满足了水印阈值,则所呈现的补充水印就足够了,并且在操作804处,处理完成。否则,如果不满足水印阈值,则在操作806处,将所需的水印片段(例如,由于数据元素的存在而未呈现的呈现的遮蔽水印的片段)组织为一个或多个组织的列表。这里,每个列表都包括一个或多个水印片段,以补充(即,完成)特定呈现的遮蔽水印。因此,例如,在两个呈现的遮蔽水印的情况下,将存在两个组织的所需水印列表。
在操作808处,计算呈现最长列表中的水印片段所需要的内容区域(例如,图像区域)的大小。在该示例性情况下,以从最长的列表开始的顺序,处理水印片段的列表。即,首先尝试呈现最长列表中的水印片段。但是应当注意,可以按任何顺序来处理水印片段列表。例如,在其它实施例中,可以从最短列表开始或者按任意顺序,来处理水印片段的列表。剩余要处理的最长列表可以称为当前列表(正在处理的水印片段的当前列表)。
在操作810处,进行检查以判断内容中是否存在足够的空白区域,以呈现当前列表中的水印片段。在一个实施例中,可以使用用于检测内容中的数据元素的相同或相似技术,来判断在内容中是否存在足够的空白区域来呈现当前列表中的水印片段。如果在内容中找到了这样的空白区域,则在操作812处,在内容的所识别的空白区域上,将当前列表中的水印片段呈现为补充水印。然后,在操作802处,进行检查以判断是否满足指定的水印阈值,并且处理继续。这里,进行检查以判断刚呈现的补充水印与呈现的遮蔽水印和其它呈现的完整水印结合使用时,是否足以满足指定的水印阈值。
否则,如果未在内容中找到足够的空白区域以呈现当前列表中的水印片段,则在操作814处,进行检查以判断是否可以将当前列表分成多个较小的列表。这里,由于未找到将当前列表中的水印片段一起呈现(例如,呈现为单个片段)所需的空白区域(操作810),因此将尝试在内容的不同区域中以较小的块来呈现这些水印片段,而不是在内容的一个区域中一起呈现。应当注意,可以存在关于列表应当多短(多小)和/或可以对列表进行拆分的次数的限制。例如,可以在授权用户(例如,系统管理员)能访问的配置文件中指定该限制,并且用户可以基于期望的性能水平来调谐或调整该限制。
如果可以对当前列表进行分割,则在操作816处,将当前列表分割成多个较小的列表。应当注意,在分割当前列表时,无需维护(保留)当前列表中的各个水印片段。也就是说,可以将当前列表分割成多个较小的列表,而不考虑当前列表中各个水印片段的特性。然后,在操作808处,计算呈现最长列表中的水印片段所需的区域的大小,并且处理继续。在该情况下,最长列表是通过对当前列表进行分割(操作816)而创建的多个较小列表中的最长列表。
否则,如果不能进一步对当前列表进行分割(例如,对当前列表已经分割了预定的次数,或者当前列表的长度使得分割当前列表将创建比预先建立的长度限制更短的较小列表),则在操作818处,如果可能的话,识别出下一个最长的水印片段列表,并且处理继续。这里,由于即使以较小的块也无法在内容上呈现当前列表(操作814),因此将尝试呈现下一个列表(例如,下一个最长列表)中的水印片段以满足水印阈值。但是,可能是下面的情况:已经对所需的水印片段的所有列表进行了处理,并且没有其它列表需要进行处理。在这种情况下的结果是无法满足指定的水印阈值,并且可能生成用于告知该结果的错误通知。
在各个实施例的描述中,参考上面标识的并且形成其一部分的附图,在附图中,通过图示的方式示出了可以实践本文所描述的概念的各方面的各个实施例。应当理解,在不脱离本文所描述的概念的保护范围的情况下,可以利用其它实施例,并且可以进行结构和功能上的修改。因此应当理解,可以在不同于本文具体描述的那些实施例中,实施本文所描述的概念的各个方面。还应当理解,能够以与本文具体描述的方式不同的方式,来实践或执行本文所描述的概念。
如本公开内容中所使用的,术语“引擎”或“模块”或“组件”可以指代被配置为执行引擎或模块或组件和/或软件对象或软件例程的动作的特定硬件实现,其中该引擎或模块或组件和/或软件对象或软件例程可以存储在计算系统的通用硬件(例如,计算机可读介质、处理设备等等)上和/或由其执行。在一些实施例中,本公开内容中描述的不同组件、模块、引擎和服务可以实现为在计算系统上执行的对象或过程(例如,作为单独的线程)。虽然通常将本公开内容中描述的系统和方法中的一些描述为在软件中实现(存储在通用硬件上和/或由通用硬件执行),但是特定的硬件实现、固件实现或者其任意组合也是可能的,并且是可预期的。在本说明书中,“计算实体”可以是如本公开内容中先前所描述的任何计算系统,也可以是在计算系统上执行的任何模块或者模块组合。
在本公开内容和所附权利要求中使用的术语(例如,所附权利要求的主体)通常旨在作为“开放式”术语(例如,术语“包括”应当被解释为“包括但不限于”,术语“具有”应当被解释为“至少具有”,术语“包含”应当被解释为“包含但不限于”等等)。
另外,如果打算引入特定数量的介绍性的权利要求叙述,则将在权利要求中明确地陈述这种意图,在没有这种陈述的情况下,则不存在这种意图。例如,为了帮助理解起见,以下所附权利要求可以包含介绍性短语“至少一个”和“一个或多个”的使用以引入权利要求的叙述。但是,这种短语的使用不应当被解释为暗示以下情形:由不定冠词“一个”或“某个”引入的权利要求陈述将任何包含这种介绍性权利要求陈述的特定权利要求限制为仅包含一个这样的陈述,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和诸如“一个”或“某个”之类的不定冠词时(例如,“一个”和/或“某个”应当被解释为“至少一个”或“一个或多个”);对于用于引入权利要求陈述的定冠词的使用也是如此。
另外,即使明确陈述了所引述的权利要求陈述的特定数量,该陈述也应当被解释为至少意味着所陈述的数量(例如,没有其他修饰语的“两个小部件”的裸露陈述,表示至少两个小部件、或者两个或多个小部件)。此外,在使用类似于“A、B和C等等中的至少一个”或者“A、B和C等等中的一个或多个”的约定的那些实例中,通常这样的构造旨在包括单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起、或者A、B和C一起等等。
应当理解,本文所使用的措词和术语只是为了便于描述,而不应被认为是限制性的。而是,本文中所使用的短语和术语应当被给予最广泛的解释和含义。“包括”和“包含”及其变体的使用,意在涵盖其后列出的各项及其等同物、以及其它项及其等同物。术语“连接”、“耦合”和类似术语的使用,意在包括直接和间接、连接和耦合。
本公开内容中所引用的所有示例和条件语言旨在用于教学示例,以便帮助读者理解本公开内容,并且应当被解释为不限于这些具体叙述的例子和条件。虽然已经详细描述了本公开内容的示例性实施例,但是在不脱离本公开内容的精神和保护范围的情况下,可以对其进行各种改变、替换和变更。因此,本公开内容的保护范围不应当由说明书限制,而是由所附权利要求书进行界定。
Claims (20)
1.一种方法,其包括:
将水印分割成多个水印片段;以及
对于所述多个水印片段中的至少一个水印片段,响应于在内容中的在要应用所述至少一个水印片段的位置处确定存在所述内容的数据元素,在所述内容上呈现所述至少一个水印片段,以使得所述数据元素覆盖所述至少一个水印片段以便在所述内容上将所述水印片段呈现为遮蔽水印。
2.根据权利要求1所述的方法,其中,所述多个水印片段对应于第一多个水印片段,并且所述水印是将所述水印应用于所述内容的第一实例,并且所述遮蔽水印是第一遮蔽水印,并且所述方法还包括:
将所述水印分割成多个第二水印片段;以及
对于所述多个第二水印片段中的至少一个水印片段,响应于在所述内容中的在要应用所述多个第二水印片段中的所述至少一个水印片段的位置处确定存在所述内容的数据元素,在所述内容上呈现所述至少一个第二水印片段,以使得所述数据元素覆盖所述第二水印片段,以便将所述水印的所述第二实例呈现为第二遮蔽水印。
3.根据权利要求1所述的方法,还包括:响应于确定不满足水印阈值,在所述内容上呈现补充水印,其中,所述补充水印对应于所述水印中不包括在所述遮蔽水印中的一部分。
4.根据权利要求3所述的方法,其中,所述补充水印补充了所述第一遮蔽水印,使得所述补充水印和所述第一遮蔽水印形成完整的水印。
5.根据权利要求2所述的方法,还包括:
响应于确定不满足水印阈值,在所述内容上呈现补充水印,其中,所述补充水印对应于所述水印中不包括在所述第二遮蔽水印中的一部分,其中,所述补充水印补充了所述第二遮蔽水印,使得所述补充水印和所述第二遮蔽水印形成完整的水印。
6.根据权利要求3所述的方法,其中,所述补充水印是在所述内容中的空白区域中呈现的。
7.根据权利要求3所述的方法,其中,所述补充水印是以不覆盖所述内容中的数据元素的方式呈现的。
8.根据权利要求3所述的方法,其中,所述补充水印包括第一补充水印和第二补充水印。
9.根据权利要求2所述的方法,还包括:
响应于确定不满足水印阈值,在所述内容上呈现第一补充水印和第二补充水印。
10.根据权利要求9所述的方法,其中,所述第一补充水印补充了所述第一遮蔽水印,并且所述第二补充水印补充了所述第二遮蔽水印。
11.根据权利要求9所述的方法,其中,所述第一补充水印补充了所述第一遮蔽水印,并且所述第二补充水印补充了所述第一遮蔽水印。
12.一种对指令进行编码的非暂时性机器可读介质,当所述指令由一个或多个处理器执行时,产生执行用于在内容上呈现水印的过程,所述过程包括:
将水印分割成多个水印片段;以及
对于所述多个水印片段中的至少一个水印片段,响应于在所述内容中的在要应用所述至少一个水印片段的位置处确定存在所述内容的数据元素,在所述内容上呈现所述至少一个水印片段,以使得所述数据元素覆盖所述至少一个水印片段以便在所述内容上将所述水印片段呈现为遮蔽水印。
13.根据权利要求12所述的非暂时性机器可读介质,其中,所述过程还包括:
响应于确定不满足水印阈值,在所述内容上呈现补充水印,其中,所述补充水印对应于所述水印中不包括在所述遮蔽水印中的一部分。
14.根据权利要求13所述的非暂时性机器可读介质,其中,所述补充水印补充了所述遮蔽水印,使得所述补充水印和所述遮蔽水印形成完整的水印。
15.根据权利要求13所述的非暂时性机器可读介质,其中,所述补充水印是以不覆盖所述内容中的数据元素的方式呈现的。
16.一种系统,其包括:
存储器;以及
与所述存储器进行通信并且被配置为进行以下操作的一个或多个处理器:
将水印分割成多个水印片段;以及
对于所述多个水印片段中的至少一个水印片段,响应于在所述内容中的在要应用所述至少一个水印片段的位置处确定存在所述内容的数据元素,在所述内容上呈现所述至少一个水印片段,使得所述数据元素覆盖所述至少一个水印片段以便在所述内容上将所述水印片段呈现为遮蔽水印。
17.根据权利要求16所述的系统,其中,所述多个水印片段对应于第一多个水印片段,并且所述水印是将所述水印应用于所述内容的第一实例,并且所述遮蔽水印是第一遮蔽水印,并且所述处理器还被配置为:
将所述水印分割成多个第二水印片段;以及
对于所述多个第二水印片段中的至少一个水印片段,响应于在所述内容中的在要应用所述多个第二水印片段中的所述至少一个水印片段的位置处,确定存在所述内容的数据元素,在所述内容上呈现所述至少一个第二水印片段,以使得所述数据元素覆盖所述第二水印片段,以便将所述水印的所述第二实例呈现为第二遮蔽水印。
18.根据权利要求16所述的系统,其中,响应于确定不满足水印阈值,所述处理器还被配置为:在所述内容上呈现补充水印,其中,所述补充水印对应于所述水印中不包括在所述遮蔽水印中的一部分。
19.根据权利要求18所述的系统,其中,所述补充水印补充了所述第一遮蔽水印,使得所述补充水印和所述第一遮蔽水印形成完整的水印。
20.根据权利要求17所述的系统,其中,响应于确定不满足水印阈值,所述处理器还被配置为:在所述内容上呈现补充水印,其中,所述补充水印对应于所述水印中不包括在所述第二遮蔽水印中的一部分,其中,所述补充水印补充了所述第二遮蔽水印,使得所述补充水印和所述第二遮蔽水印形成完整的水印。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/101539 WO2020206897A1 (en) | 2019-08-20 | 2019-08-20 | Masked watermarks and related systems and techniques |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112689993A true CN112689993A (zh) | 2021-04-20 |
Family
ID=72750829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980033851.7A Pending CN112689993A (zh) | 2019-08-20 | 2019-08-20 | 遮蔽水印以及相关系统和技术 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11157599B2 (zh) |
EP (1) | EP3766241A4 (zh) |
JP (1) | JP7055889B2 (zh) |
CN (1) | CN112689993A (zh) |
AU (1) | AU2019430941B2 (zh) |
CA (1) | CA3090523C (zh) |
WO (1) | WO2020206897A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11847718B2 (en) * | 2021-07-15 | 2023-12-19 | Vmware, Inc. | Per-window digital watermark for desktop applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177759A1 (en) * | 2006-01-31 | 2007-08-02 | Xerox Corporation | System and method to automatically establish preferred area for image-wise watermark |
CN101493928A (zh) * | 2009-02-10 | 2009-07-29 | 国网信息通信有限公司 | 数字水印嵌入、提取和量化步长协调因子优化方法及装置 |
US9449250B1 (en) * | 2013-11-20 | 2016-09-20 | Amazon Technologies, Inc. | Image download protection |
US20160352961A1 (en) * | 2015-05-26 | 2016-12-01 | Xerox Corporation | Method and system for applying a watermark to a document |
JP2016220200A (ja) * | 2015-05-19 | 2016-12-22 | ゼロックス コーポレイションXerox Corporation | コンテンツ可変透かしを文書に適用する方法およびシステム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1336161A1 (en) * | 2000-11-07 | 2003-08-20 | Koninklijke Philips Electronics N.V. | Method and arrangement for embedding a watermark in an information signal |
EP1231767B1 (en) * | 2001-02-09 | 2011-04-13 | Canon Kabushiki Kaisha | Information processing apparatus and its control method, computer program, and storage medium |
KR100878518B1 (ko) * | 2001-12-03 | 2009-01-13 | 삼성전자주식회사 | 워터마크 삽입방법, 전송방법, 복원방법 및 그 장치 |
JP2003259369A (ja) * | 2002-02-28 | 2003-09-12 | Techno Mathematical Co Ltd | 動画像の電子透かしを用いたエラー隠蔽方法 |
US7133534B2 (en) | 2002-09-03 | 2006-11-07 | Koninklijke Philips Electronics N.V. | Copy protection via redundant watermark encoding |
US7254250B2 (en) * | 2003-07-31 | 2007-08-07 | Hewlett-Packard Development Company, L.P. | Watermark embedding and extraction method and apparatus in compressed streams |
US20060107056A1 (en) * | 2004-11-17 | 2006-05-18 | Dhiraj Bhatt | Techniques to manage digital media |
US8077907B2 (en) * | 2007-08-31 | 2011-12-13 | Xerox Corporation | System and method for the generation of correlation-based digital watermarks |
US10217181B2 (en) * | 2008-10-30 | 2019-02-26 | Mediaport Entertainment, Inc. | Digital watermarking systems and methods |
WO2012106245A2 (en) | 2011-02-04 | 2012-08-09 | Bickmore Jesse | Unique watermarking for digital media |
US10977844B2 (en) | 2017-11-29 | 2021-04-13 | Adobe Inc. | Presenting multiple image segmentations |
-
2019
- 2019-08-20 WO PCT/CN2019/101539 patent/WO2020206897A1/en unknown
- 2019-08-20 EP EP19923711.6A patent/EP3766241A4/en not_active Withdrawn
- 2019-08-20 JP JP2020544859A patent/JP7055889B2/ja active Active
- 2019-08-20 AU AU2019430941A patent/AU2019430941B2/en not_active Ceased
- 2019-08-20 CA CA3090523A patent/CA3090523C/en active Active
- 2019-08-20 CN CN201980033851.7A patent/CN112689993A/zh active Pending
- 2019-10-25 US US16/663,971 patent/US11157599B2/en active Active
-
2021
- 2021-09-24 US US17/484,195 patent/US20220012311A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070177759A1 (en) * | 2006-01-31 | 2007-08-02 | Xerox Corporation | System and method to automatically establish preferred area for image-wise watermark |
CN101493928A (zh) * | 2009-02-10 | 2009-07-29 | 国网信息通信有限公司 | 数字水印嵌入、提取和量化步长协调因子优化方法及装置 |
US9449250B1 (en) * | 2013-11-20 | 2016-09-20 | Amazon Technologies, Inc. | Image download protection |
JP2016220200A (ja) * | 2015-05-19 | 2016-12-22 | ゼロックス コーポレイションXerox Corporation | コンテンツ可変透かしを文書に適用する方法およびシステム |
US20160352961A1 (en) * | 2015-05-26 | 2016-12-01 | Xerox Corporation | Method and system for applying a watermark to a document |
Also Published As
Publication number | Publication date |
---|---|
US20210056183A1 (en) | 2021-02-25 |
CA3090523C (en) | 2022-03-22 |
US20220012311A1 (en) | 2022-01-13 |
CA3090523A1 (en) | 2020-11-25 |
JP7055889B2 (ja) | 2022-04-18 |
EP3766241A1 (en) | 2021-01-20 |
AU2019430941A1 (en) | 2021-03-11 |
US11157599B2 (en) | 2021-10-26 |
EP3766241A4 (en) | 2021-01-27 |
AU2019430941B2 (en) | 2021-05-13 |
JP2021516898A (ja) | 2021-07-08 |
WO2020206897A1 (en) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210173610A1 (en) | Selective screen sharing | |
CN111670441B (zh) | 用于在远程会话显示中嵌入数据的系统和方法 | |
CA3108718C (en) | Computing system providing enterprise mobility management metadata anonymity policy enforcement and related methods | |
Koppel et al. | Temporally consistent handling of disocclusions with texture synthesis for depth-image-based rendering | |
US10545650B2 (en) | Application for auto deletion of images | |
US9672373B2 (en) | Photographic copy prevention of a screen image | |
US20220012311A1 (en) | Masked watermarks and related systems and techniques | |
US11250536B2 (en) | Image capture prevention | |
US10067914B2 (en) | Techniques for blending document objects | |
US20200244459A1 (en) | Watermarking in a virtual desktop infrastructure environment | |
US20230043150A1 (en) | Animation generation method and apparatus, electronic device, and computer-readable storage medium | |
CN112905814A (zh) | 图片处理方法、装置、存储介质及电子设备 | |
US11010856B2 (en) | Method and apparatus for deterrence and detection of leakage during remote interactive sessions | |
US20220398691A1 (en) | Content display with focused area | |
US20200037033A1 (en) | Interactive image file format | |
US20200167932A1 (en) | Identifying and extracting a sub-image in a document image file |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210420 |
|
WD01 | Invention patent application deemed withdrawn after publication |