CN116113970A - 用于施加自适应视频水印的系统和方法 - Google Patents
用于施加自适应视频水印的系统和方法 Download PDFInfo
- Publication number
- CN116113970A CN116113970A CN202180058217.6A CN202180058217A CN116113970A CN 116113970 A CN116113970 A CN 116113970A CN 202180058217 A CN202180058217 A CN 202180058217A CN 116113970 A CN116113970 A CN 116113970A
- Authority
- CN
- China
- Prior art keywords
- watermark
- pixels
- video frame
- pixel value
- symbol
- 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 78
- 230000003044 adaptive effect Effects 0.000 title description 2
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 37
- 238000012937 correction Methods 0.000 description 31
- 230000015654 memory Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 239000003086 colorant Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 239000003973 paint Substances 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000016776 visual perception Effects 0.000 description 2
- 208000032041 Hearing impaired Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000872198 Serjania polyphylla Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004043 dyeing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
提供了用于解码视频帧中的水印的系统和方法。媒体设备可以接收视频帧,该视频帧包括具有水印的第一预定区域和具有被选择以降低该第一预定区域的可察觉性的像素值的第二预定区域。媒体设备可以检测该视频帧的第一预定区域中的水印,并识别对应于第一像素值的一个或多个连续像素子集和对应于第二像素值的一个或多个连续像素子集。媒体设备然后将第一码元分配给对应于该第一像素值的一个或多个连续像素子集,并且将第二码元分配给对应于该第二像素值的一个或多个连续像素子集。媒体设备然后从所分配的码元生成第一码元序列。
Description
相关申请的交叉引用
本申请要求于2020年7月31日提交的美国临时专利申请号63/059,766的权益,并且还要求于2021年7月29日提交的美国非临时申请号17/389,147的权益,这两个申请出于所有目的通过援引以其全文并入本文。
技术领域
本公开内容总体上涉及将数据嵌入到视频信号中,并且更具体地涉及在不会视觉上损害视频信号的情况下将数据嵌入到视频信号中。
背景技术
数字水印描述了一种用于隐藏某些数据(比如关于数字媒体流出处的标识数据)的技术。数字水印可以以禁止去除水印的方式嵌入到图像文件或视频帧中而不损坏下层内容。当此类带有水印的数字内容在线或在录制媒体中分配时,反映其来源的数据会与之一起传送,这使始发者能够声明内容的来源。
在阴极射线管(CRT)电视中,水印可以嵌入到帧之间的垂直消隐间隔中。在CRT电视中,所显示的图像以行为单位传输,其中,黑白(以及后来的彩色)随着被投射到涂覆CRT内部的荧光粉上而被显示。这些行作为交错帧重复,其中,这些帧以几十行间隔开,这些行未被显示。这些未显示的行称为“垂直消隐间隔”(VBI)。VBI用于允许CRT将其光束从底部移回顶部并在开始扫描另一个视频帧之前稳定下来。信息可以嵌入到视频信号的与VBI相对应的部分。例如,用于听障人士的隐藏式字幕数据或用于视频文本显示的火车时刻表(在欧洲和亚洲特别流行)的数据被嵌入到视频信号的VBI部分。
数字电视不利用阴极射线管操作,并且因此不需要视频帧之间的VBI来操作。现代数字电视标准不再通过VBI实施数据,因而排除了将VBI作为数据嵌入机制。替代地,现代数字电视标准使用与音频数据和视频数据交织在一起的单独数据流。虽然这使视频信号能够包括附加数据,但该数据无法被媒体设备访问,从而阻碍了水印的施加。
因此,需要用于将附加信息插入到视频信号中的替代方法。
发明内容
本文描述了用于以降低的用户察觉可能性将数据嵌入到视频帧中的方法。接收视频帧,其中,视频帧的第一预定区域包括第一像素集,并且视频帧的第二预定区域包括第二像素集,第二像素集的像素值基于视频帧的第三预定区域的像素的像素值;检测视频帧的第一预定区域中的水印;在第一像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第二像素值的一个或多个连续像素子集;将第一码元分配给对应于第一像素值的一个或多个连续像素子集,并将第二码元分配给对应于第二像素值的一个或多个连续像素子集;以及基于第一像素值和第二像素值生成第一码元序列。
本文描述了用于以使得被用户察觉的可能性降低的方式将数据嵌入到视频帧中的系统。系统包括:一个或多个处理器以及存储有指令的非暂时性暂时性计算机可读介质,这些指令在由该一个或多个处理器执行时,使该一个或多个处理器执行如前所述的任何方法。
本文描述了存储有指令的非暂时性计算机可读介质,这些指令当由一个或多个处理器执行时,使该一个或多个处理器执行如前所述的任何方法。
提及这些说明性示例不是为了限制或限定本公开内容,而是为了帮助了解本公开内容。在具体实施例中讨论了附加的实施例,并且在那里提供了进一步的描述。
附图说明
在下文中,以下列附图概述了本申请的包括其系统和方法的说明性实施例:
图1展示了根据本公开内容的各方面的使用两级水印嵌入在视频帧的顶行中的数据的示例。
图2展示了根据本公开内容的各方面的嵌入到视频帧的顶行和顶部的两行中的二进制水印的示例。
图3展示了根据本公开内容的各方面的具有加强的引入数据码元序列以加强对带水印帧的检测的示例水印。
图4展示了根据本公开内容的各方面的水印的数据码元的示例,其中,零码元与一码元之间的欧几里得距离暂时增加。
图5展示了根据本公开内容的各方面的4:4:4、4:2:2、4:2:0和4:1:1的示例亮度/色度子采样格式。
图6展示了描绘根据本公开内容的各方面的Y'CbCr颜色空间内的RGB颜色空间的图表。
图7展示了根据本公开内容的各方面的将六边形变换成圆形的HSL数学表示的效果。
图8展示了根据本公开内容的各方面的HSL颜色空间与RGB颜色空间之间的关系。
图9展示了根据本公开内容的各方面的反映饱和度相对于明度的可用范围的呈双圆锥表示的HSL颜色空间表示。
图10A展示了根据本公开内容的各方面的一组示例3D水印码元及其对应分界点的图表。
图10B展示了根据本公开内容的各方面的另一组示例3D水印码元及其对应分界点的图表。
图11展示了根据本公开内容的各方面的码元分界点确定的图表。
图12展示了根据本公开内容的各方面的示例视频帧,其中,靠近水印的过渡区域逐渐变暗以增强水印对人眼的察觉模糊性。
图13A展示了根据本公开内容的各方面的示例视频帧序列,其中,水印的零码元值和一码元值交替以造成水印对人眼的察觉模糊。
图13B展示了根据本公开内容的各方面的用于改善数据码元的察觉融合的每两帧数据码元的示例视频码元逆反。
图14展示了根据本公开内容的各方面的用于将水印施加到视频帧的编码流程图的框图。
图15展示了根据本公开内容的各方面的用于从视频帧提取带水印的数据的解码流程图的框图。
图16展示了根据本公开内容的各方面的用于对来自嵌入在视频帧中的水印的代码进行解码的示例过程的流程图。
图17展示了根据本公开内容的各方面的可以实施本文描述的各种技术的示例计算设备的示例计算设备架构。
具体实施方式
本公开内容包括用于将数字数据代码(例如,水印)产生、嵌入和/或解码到数字图像中的系统和方法,该数字图像是人眼无法察觉的。水印可以嵌入到图像或视频帧中以向比如智能电视、机顶盒、移动设备、膝上型计算机、平板计算机、台式计算机等媒体设备提供数据和/或可执行代码。水印可以通过调制顶部的一行或两行像素的像素值而嵌入到视频帧中。例如,白色像素可以对应于二进制代码的第一码元,而黑色像素可以对应于二进制代码的第二码元。媒体设备可以检测水印并从中提取码元。媒体设备的处理组件可以处理码元以解码水印的数据和/或可执行代码。
已解码的码元可以提供与所显示视频相关联的附加信息和/或使媒体设备执行某些功能。附加信息可以包括但不限于:与所显示视频的内容相关联的信息(比如,演员、角色、场景、团队、制作人员、制作特性或内容的任何其他事实或特性)、与所显示视频相关联的元数据(例如,分辨率、像素值、广播来源等)、与所显示视频相关联的通信等。水印的已解码的码元可以包括视频开始处的触发信号或其部分(比如商业广告等),以允许媒体设备检测触发信号并替换本地存储在机顶盒或智能电视的存储器中的视频片段(比如广告、商业广告、其他视频片段等)或显示来自远程服务器的视频信息。已解码的码元可以对应于指令,这些指令可以由媒体设备的处理组件执行,以执行诸如以下操作:用本地存储的视频帧、从水印中解码的视频帧或从远程服务器流式传输的视频帧替换视频帧或视频帧的一部分。
在一些情况下,调制视频帧的部分的像素值可能导致水印可被人眼察觉。例如,如果像素值的调制产生的像素与视频帧的非水印部分中的像素具有强烈对比,则水印可以被人眼察觉。即使当水印占据视频帧的一小部分和/或定位在视频帧的边缘时,水印也可能可察觉。可察觉的水印可能会表现为视觉伪像,这可能导致用户认为媒体设备或视频中存在错误,或因视频帧的非水印部分分散用户的注意力。
可以使用一个或多个过程来修改水印以降低水印在视频帧内的可察觉性。应该注意的是,以下水印修改过程中的每个过程可以单独提供,也可以与其他水印修改过程组合提供。第一水印修改过程可以利用人类视觉察觉对像素颜色微小变化的不敏感。该修改过程可以调整水印像素的一个或多个色差分量(例如,色度-蓝色(Cb)差信号和/或色度-红色(Cr)差信号)。这些色差分量可以基于与水印相邻的像素(例如,与水印相邻的一行或多行像素)的色差分量进行调整。可以确定视频帧的附近部分的平均色相。可以通过将平均色相偏移第一预定量以表示第一码元并将平均色相偏移第二预定量以表示第二码元来定义水印。由于水印像素的色相与视频帧的附近部分仅相差第一预定量和第二预定量,因此人眼不太可能注意到水印。
第二水印调制过程可以包括调整水印像素的亮度分量(Y)。亮度分量可以被表示在0(黑色)到100(白色)之间。可以通过调制一些像素的亮度分量来定义水印,这些像素表示水印的第一码元和表示水印的第二码元。为了降低水印被察觉的可能性,第一码元与第二码元之间的亮度变化可以小于100。在一个说明性示例中,第一码元可以由亮度为10的像素表示,而第二码元可以由亮度为50的像素表示。普通技术人员将理解,可以使用其他亮度值。在一些情况下,可以通过改变色差分量和亮度分量两者来将第二水印调制过程与第一水印调制过程组合起来。例如,可以执行组合第一调制过程与第二调制过程以提高可以嵌入到视频帧中的码元的数量(例如,从二进制代码到四进制代码)和/或进一步降低用户察觉到水印的可能性。
第一码元与第二码元之间的差越小(例如,先前示例中的10到50),视频信号中的噪声可能导致错误的可能性就越大(例如会阻碍水印检测或更改已解码的水印)。可以将错误校正水印插入到包含水印的第一个视频帧或第n个视频帧中,以防止噪声使水印不可读。错误校正水印包括与先前水印相同的编码但具有较大的亮度变化。回到亮度在10与50之间最小地变化的先前示例,错误校正水印可以包括在10与80之间的亮度变化。可以将错误校正水印插入任何次数,并且插入要包括水印的一组视频帧的任何视频帧中。
第三水印调制过程包括定义第一水印和第二水印,其中,第二水印是第一水印的逆反。第一水印可以包括对应于第一码元的第一像素值和对应于第二码元的第二像素值。第二水印具有相同的码元序列,但第一像素值对应于第二码元,并且第二像素值对应于第一码元。例如,第一水印可以包括对应于第一像素值的第一像素集、对应于第二像素值的第二像素集以及对应于第一像素值的第三像素集。第一水印的码元序列可以是第一码元、第二码元、第一码元(例如,二进制转换中的010)。第二水印可以包括对应于第二像素值的第一像素集、对应于第一像素值的第二像素集以及对应于第二像素值的第三像素集。由于第二水印旨在是第一水印的逆反形式,因此媒体设备将第二水印解码为与第一水印相同,或解码为第一码元、第二码元、第一码元。第二水印可以被配置为包括紧跟在包括第一水印的视频帧之后的视频帧。媒体设备可以被配置为希望一次存储两个相邻视频帧的水印。
在后一帧中使包括在第一视频帧中的水印逆反使得水印被察觉为单色(例如,表示第一码元的像素值和表示第二码元的像素值的平均值)。这减少了像素与接近的其它像素的显示具有对比鲜明的色度和/或亮度的情况(例如,黑色像素紧挨着白色像素等)。结果,媒体设备的用户可能不易察觉到水印。
第四水印调制过程包括根据水印的像素值修改与水印相邻的像素集。如果水印位于视频帧顶部的一行或两行中,则与水印相邻的像素集可以是视频帧之后的下一行或多行(例如,视频帧顶部的第二行、第三行等)。该像素集可以被称为水印与视频帧的其余像素之间的边界。在一些情况下,边界的每一行可以具有相同的像素值。在其他情况下,这些行从最接近具有基于水印的第一像素值和第二像素值的像素值的水印的行到最接近具有基于视频帧的相邻像素的像素值的视频帧的其余部分的行可以是渐变的。渐变可以缓和视频帧与水印的像素值之差,以降低水印的可察觉性。应该注意的是,边界的行中的像素可以是相同的像素值、相似的像素值(例如,为了降低的可察觉性而允许轻微变化),或者每个像素值的值可以基于像素沿着渐变的位置(例如,如果边界不止一行)和视频帧中附近像素的像素值。
在一个示例中,本文描述的系统和方法的使用包括将代码嵌入到视频中以用作到比如智能电视或机顶盒等媒体设备的信号。当客户端电视设备接收到数据代码时,该代码可以使客户端电视接收器用不同的视频片段(例如,一个或多个视频帧)替换当前正在显示的视频片段。这个过程可以被称为“动态插入”,并且当涉及广告时被称为“动态广告插入”。将视频片段动态替换为另一个视频片段可以实时发生。例如,任何时候检测到一个或多个有资格被替换的帧(例如,基于在该一个或多个帧中检测到水印),客户端设备接收器可以用一个或多个其他帧替换该一个或多个帧。
在本文描述的系统和方法的另一种示例使用中,水印可以用于触发屏幕上弹出窗口,该窗口提供与所显示视频帧相关联的附加信息。例如,如果显示的视频帧包括产品,则弹出窗口可以包括与该产品相关联的信息。如果所显示视频帧对应于电影或电视节目,则弹出窗口可以包括与视频帧中或电影或电视节目中的演员、电视节目的制作人员(比如导演等)相关联的信息、与相关电影或节目相关联的信息、和/或与电影或电视节目相关联的任何信息。
弹出窗口可以包括到网站的统一资源定位符(URL)链接,该链接包括附加信息和/或为用户提供购买所显示产品的能力。媒体设备可以包括可以访问网站并利于购买的网络浏览器。可替代地或附加地,弹出窗口可以包括用户可以用移动设备捕获的快速响应(QR)码。捕获QR码可以使移动设备打开网络浏览器并加载QR码中的URL链接。
图1展示了根据本公开内容的各方面的使用两级水印嵌入在视频帧的顶行中的数据的示例。帧104表示可以经由媒体设备呈现的视频帧。可以通过调制帧104的像素集的像素值来插入水印108。该像素集可以位于帧104的边缘,比如顶部的一行或多行像素(如图所示)、底部的一行或多行像素、右侧的两列像素、左侧的两列像素等。在一些情况下,水印108可以在帧108的两个不同位置被拆分。例如,水印108可以位于顶行和底行、顶行和左列等。
如图所示,水印108可以包括表示二进制代码的第一码元(例如,0)的第一像素值的像素和表示二进制代码的第二码元(例如,1)的第二像素值的像素。水印108可以包括表示非二进制代码的附加码元的附加像素值。水印108由表示二进制代码的码元的离散像素集表示。如果源是无损的(例如,信号数据没有由于噪声或其他信号阻抗而失真或丢失),则单个像素可以表示单个码元。如果视频源可能受损(例如,广播电视、有线电视等,其中帧的部分可能由于噪声、距离等而失真),则像素集可以表示单个码元。如图所示,可以使用八个像素来表示每个码元(例如,两行四个像素)。在一些情况下,对于特定视频帧,比如包含水印108的第一视频帧,每个像素集可以包括附加像素(例如,两行八个像素等)以确保媒体设备检测到水印108。
水印108的放大部分112展示了在每个像素集中表示的码元。在所示的示例中,具有较高亮度(例如,更接近白色)的像素集被分配值1,而具有较低亮度(例如,更接近黑色)的像素集被分配值0。亮度可以在0(例如,黑色)到100(例如,白色)之间变化。在一些情况下,为了降低水印的可察觉性,可以最小化表示0的像素与表示1的像素之间的亮度差。例如,表示1的像素可以具有50的亮度,表示0的像素可以具有10的亮度。水印108的像素集的颜色分量可以基于附近像素(例如,帧104中的相邻部分等)的颜色分量来选择。颜色分量可以用于更大基数的代码(例如,具有大于2个码元的代码)和/或进一步降低媒体设备的用户对水印108的可察觉性。
图2展示了根据本公开内容的各方面的嵌入到视频帧的顶行和顶部的两行中的用二进制编码的水印的示例。水印201展示了包括两行像素的水印,这两行像素表示码元序列。每个集中16个像素(2行8个像素)表示水印的码元,其中,较暗的像素(例如,具有16的亮度值Y')表示码元0,而较亮的像素(例如,具有50的亮度值Y')表示码元1。可以基于帧的非水印部分来选择像素的亮度值和/或色度分量以降低水印的可察觉性。因此,可以不选择黑色和白色(例如,亮度值Y'分别为0和100)。
可以基于视频的信号质量来选择表示水印的单个码元的行和/或像素的数量。例如,高信号质量(例如,噪声和/或损失极小等)可以使用单行。水印210展示了包括单行像素的水印,这一行像素表示与水印201相同的码元序列。可替代地或附加地,高信号质量可以使用每行较少的像素来表示单个码元(例如,一行中的4个像素、一行中的2个像素、1个像素等)。同样,质量较差的信号可以对每行使用附加像素,或使用附加行。对每个码元使用附加像素和/或附加行可能会减少可以包括在单个视频帧中的码元数量,但可以提高水印可以被正确地检测和解码的可能性。媒体设备可以将当前信号质量的指示传输到远程服务器。远程服务器然后可以调制每个帧中的水印以提高水印可以被检测到的可能性并且降低水印噪声或其他伪像影响水印的可能性。
图3展示了根据本公开内容的各方面的具有加强的引入数据码元序列以加强对带水印帧的检测的示例水印。水印可以包括像素集,每个像素集表示二进制代码的一个码元。表示码元的像素集中的像素数量可以被称为码元的像素大小。在一些情况下,像素大小可以是4个像素(如果水印是1行)或8个像素(如果水印是2行)。该像素集的像素值可对应于大致相同的像素值。可替代地,该像素集的像素值可以对应于相似的像素值(例如,在一定范围内)。
水印可以以表示水印开始的预定数据模式(称为引入模式)开始。预定模式可以位于水印的前8个或前16个码元中。媒体设备可以首先确定是否在视频帧的前x个像素(例如,每个码元的像素数量*预定数据模式中的码元数量)中检测到预定模式。如果检测到预定模式,则媒体设备可以继续解码该行中的其余像素。
可以调整水印中的引入模式以提高媒体设备检测到水印的可能性。例如,可以增大每个码元的像素大小。通过增大每个码元的像素大小,引入模式可以更可靠地被媒体设备解码。在一些示例中,引入模式的每个码元的像素大小可以增至两倍(例如,如图所示)。水印的其余码元的像素大小可以不调整。例如,如果引入模式是8个码元并且像素大小为4,则仅引入模式就会占用前64个像素(例如,8个码元,每个码元具有8像素大小),而引入模式之后的码元的像素大小可以保持为4。当带水印的帧周期性地出现在不包括水印的大量视频帧之中时,引入模式可以特别有用。
在该示例中,所示水印301包括引入模式,其中每个码元具有增大的像素大小。引入模式的码元由两倍的像素大小表示(例如,2行的4像素大小变为2行的8像素大小)。例如,码元302和303由16个像素而不是8个像素表示。在引入模式的长度(例如,8至16个码元或最多256个像素)上,每个码元增大的像素大小是持续的。在引入模式结束时并且在该视频帧中的水印的其余部分,每个码元的像素大小没有增大(例如,2行的8像素大小)。引入模式可以包括每个码元以任何量增大的像素大小,比如但不限于每个码元增至常规像素大小的两倍,每个码元增至常规像素大小的三倍,每个码元变为常规像素大小的一定分数,每个码元增至常规像素大小的倍数等)。
图4展示了根据本公开内容的各方面的水印的数据码元的示例,其中,0码元与1码元之间的欧几里得距离被暂时增加。可以通过调制像素集(比如视频帧顶部的两行中的像素)的像素值将水印编码到视频帧中。调制像素值可以包括选择两个亮度值来表示二进制代码的两个码元。这两个亮度值可以基于媒体设备在存在噪声等的情况下可以检测到每个码元的可能性以及水印不会被媒体设备的用户察觉的可能性来进行选择。如果第一码元和第二码元的亮度值过于接近,则信号噪声可能会阻碍媒体设备准确地确定像素集是表示第一码元还是表示第二码元。第一码元和第二码元的亮度值越接近,用户就越不可能察觉到水印。亮度值可以被选择为提供媒体设备能够检测并准确地解码水印码元序列的阈值可能性的最小差。在一些情况下,差可以是大致40,使得表示第一码元的像素可以具有大致5至15的亮度值,并且表示第二码元的像素可以具有大致45至55的亮度值。
当码元之间的亮度差最小(例如,大致40)时,信号噪声可能会在已解码的码元序列中引起错误。为了降低已解码的解码码元序列中出现错误的可能性,可以将错误校正水印插入到一组视频帧中将包括水印的一个或多个视频帧中。错误校正水印可以包括在表示第一码元的亮度值与表示第二码元的亮度值之间较大的差。在一些情况下,用于错误校正水印的高亮度值与低亮度值之间的差可以是大致80,使得表示第一码元的像素可以具有大致10至20的亮度值,并且表示第二码元的像素可以具有大致75至85的亮度值。当媒体设备接收到错误校正水印时,码元之间亮度值的较大差提高了媒体设备可以正确检测并解码码元序列的可能性。下一视频帧可以包括码元之间具有常规(较小)亮度值差的常规水印。
可以将错误校正水印嵌入到一组帧的多个帧中。例如,可以每“n”帧插入错误校正水印。可替代地或附加地,每次插入错误校正水印时,可以将错误校正水印插入到一个或多个相邻视频帧中。例如,每次将错误校正水印插入到一个视频帧中时,也可以将错误校正水印插入到后续的一个或多个帧(例如,m-1个帧)中。也就是说,每次插入错误校正水印时,可以将其插入到‘m’个视频帧中。
可替代地或附加地,当视频帧的平均亮度较高(例如,大于第一阈值)时,可以调制水印的像素以使得表示第一码元的像素与表示第二码元的像素的亮度值之差大致为80(例如,使用大致10至20的亮度值来表示第一码元,使用大致70至80的亮度值来表示第二码元,或者两个码元的亮度值之差大致为80的任何亮度值)。当视频帧的平均亮度较低(例如,小于第二阈值)时,可以调制水印的像素以使得表示第一码元的像素与表示第二码元的像素的亮度值之差大致为40(例如,使用大致10至20的亮度值来表示第一码元,使用大致45至55的亮度值来表示第二码元,或者两个码元的亮度值之差大致为40的任何亮度值)。附加地,当视频帧的平均亮度较低时,水印的像素可以具有在0码元颜色和1码元颜色的极值之间调整的颜色通道,比如Cr。第一阈值和第二阈值可以是预定的或基于视频帧的像素值动态确定的。在一些情况下,第一阈值可以等于第二阈值。在其他情况下,第一阈值可以不同于第二阈值。
替代的错误校正过程可以包括将相同的水印嵌入到多个相邻视频帧或同一视频帧的多个实例(每个实例都包括相同的水印)中。通过超过一次地传输相同的水印,媒体设备可能能够更好地恢复可能由于视频分配路径(例如,从源到媒体设备)而失真的数据。如果检测到引入模式但视频的其余部分没有被可靠地解码,则对该组的后续视频帧的视频值进行平均可以提高信噪比以提供可解码数据。在一些情况下,媒体设备可以在将水印解码为码元之前对同一水印的每个实例的像素值进行平均。
媒体设备可以通过包括相同水印的一组视频帧的第一个水印中的独特引入模式来识别相关视频帧(该组中是有两个还是更多个视频帧)。基于独特引入模式与已知数量的视频帧相关联,或基于独特引入模式的码元指示接下来的视频帧中有多少将包括相同的水印,独特引入模式可以指示视频帧中包括的帧的数量。可替代地,可以使用第一引入模式来指示一组视频帧的开始,并且可以使用第二引入模式来指示该组视频帧中的最后一帧。替代的错误校正过程可以与本文描述的其他过程(包括如前所述的错误校正水印)组合使用。
图5展示了根据本公开内容的各方面的将六边形501变换成圆形502的HSL数学表示的效果。像素可以用多种不同的格式表示,比如但不限于RGB(红、绿、蓝)颜色模型、HLS(色相、饱和度、明度)、亮度/色度(Y/C)系统等。可以基于媒体设备、人类察觉的本质和视频源来利用呈任何一种格式的像素信息表示及其呈另一种格式的变换形式。例如,由于人类视觉察觉对色相的变化相对不敏感,因此相比于明度信息,色相信息可以被更大程度地压缩。在部分色相信息由于压缩程度而损失的情况下,不太可能导致人可察觉的伪像。
像素可以由HSL颜色空间的三个值,即,色相H、饱和度S和明度L表示。HSL是RGB颜色模型的另一种表示。在HSL表示中,每个色相的颜色可以被布置在围绕中性色中心轴线的径向分界中,中性色的范围从底部的黑色到顶部的白色。HSL颜色空间可以以不同颜色的实体油漆混合的方式建模,饱和度维度类似于明亮色油漆的各种暗调(shade),而明度维度类似于这些油漆与不同量的黑色或白色油漆的混合。HSL模型可以类似于更易察觉的颜色模型,比如自然色系(NCS)或孟塞尔色系,将完全饱和的颜色布置在二分之一明度值的圆周围,其中,明度值为0对应于黑色,并且明度值为1表示白色。
HLS表示中的色相和色度(例如,指示彩度相对于明亮度的属性)可以关于六边形表示501(例如,三维RGB颜色空间到二维平面上的投影)来定义。色度C是从原点到边缘的距离的比例(例如,C=range(R,G,B)=max(R,G,B)-min(R,G,B))。色相H是六边形501的边缘周围的经过投影点的距离的比例。由于对于投影到原点上的投影点,色相可能未定义,因此色相在数学上是逐段定义的(例如,H=60°-H')。H'可以有四种定义,具体取决于色度和/或RGB的值,使得当C=0时,H'未定义,当max(R,G,B)=R时,当max(R,G,B)=G时,则当max(R,G,B)=B时,色度和色相的定义相当于六边形表示501到圆形表示502的几何变形。
图6A和图6B展示了根据本公开内容的各方面的HSL颜色空间与RGB颜色空间之间的关系。如图6A所示,HSL可以用圆柱体701表示。色相603(两种颜色空间中的角维度由“色相”箭头表示)可以从0°的红原色开始,经过120°的绿原色,经过240°的蓝原色,然后回到360°的红色。在每个几何图形中,中心垂直轴线都可以表示明度。中心垂直轴线可以包括中性色、无彩色或灰色,范围从圆柱体底部的明度605为0%(值0)的黑色到圆柱体顶部的明度605为100%(值1)的白色。
加色法三原色和三间色(红色、黄色、绿色、青色、蓝色和品红色)以及这些颜色的相邻对之间的线性混合(有时称为纯色)可以位于圆柱体的外边缘周围并且饱和度为1(饱和度604由“饱和度”箭头表示)。饱和颜色在HSL中可以具有50%的明度605。将这些纯色与黑色混合,产生所谓的暗调,可以使饱和度804保持不变。在HSL中,通过用白色染色也不会改变饱和度604。与黑色和白色两者的混合(称为色调)可以具有小于100%的饱和度604。
图6B展示了红-绿-蓝(RGB)颜色空间的立方体表示602的示例图。RGB颜色空间与HSL颜色空间之间的数学关系可以表示为H=cos-1((0.5(R-G))+(R-B))/((((R-G)2)+((R-B)(G-B)))0.5),S=l-(3/(R+G+B))*min(R,G,B),以及L=R+G+B/3。因为这些饱和度定义与颜色纯度的直观概念相冲突,所以通常可以替代地使用双圆锥表示(也称为圆锥体)。
图7展示了根据本公开内容的各方面的4:4:4、4:2:2、4:2:0和4:1:1的示例亮度/色度子采样格式。亮度/色度或Y/C系统(比如Y/C或Y'CbCr)可以是HSL颜色空间的变型。这些变型包括“色差”分量或从蓝色减亮度(U和Cb)和红色减亮度(V和Cr)得出的值。由于人眼对颜色的空间敏感度可能比对亮度的空间敏感度更低,因此Y'UV系统的U和V颜色信号(即,C信号的主要分量)可以通过色度子采样而被大幅压缩。例如,在一些情况下,与明亮度信息相比,仅一半的水平分辨率可以被包括在视频信号中。
色度子采样格式701展示了具有全4:4:4比率的帧,色度子采样格式702展示了4:2:2比率,而色度子采样格式703展示了4:2:0比率,在该比率下,垂直分辨率减半。4:x:x表示可以表达亮度分量与色度分量的比率。例如,色度子采样格式704展示了4:1:1的色度,其中,水平色彩分辨率减至四分之一(如空心点所示),而垂直色彩分辨率是全分辨率(如实心点所示)。在该示例中,与明亮度分辨率相比,视频帧可以包括四分之一的色彩分辨率。具有4:4:4比率的色度子采样格式701可以为明亮度信息和颜色信息提供相同的分辨率,并且等效于原始视频的RGB值。
Y/C系统可以是对RGB信息进行编码的方式,并且实际显示的颜色可以取决于用于定义该系统的原始RGB颜色空间。也就是说,颜色空间可以由红原色、绿原色和蓝原色有多深(例如,称为颜色范围)来定义。表示为Y'UV或Y'CbCr的值可以被直接转换回原始的红、绿、蓝原色组的值。RGB的颜色范围和明亮度范围可能远小于Y'UV编码的颜色范围和明亮度范围。这可以在从Y'UV或Y'CbCr转换为RGB时确定,因为转换可能会产生“无效”RGB值。本文描述的系统和方法可以检测和校正在水印中包括无效RGB值的视频帧中的无效RGB值。
图8展示了描绘根据本公开内容的各方面的Y'CbCr颜色空间内的RGB颜色空间的图表。可以通过平衡黑点804上的RGB颜色空间(表示为RGB颜色块801)与黑点正上方的白点803来形成Y'CbCr颜色空间(表示为针对所有可能Y'CbCr值的块802)。尽管Y/C系统可以直接转换到RGB,但是RGB也可以转换到Y'Cb'Cr',按Y'=0.257*R'+0.504*G'+0.098*B'+16,Cb'=-0.148*R'-0.291*G'+0.439*B'+128,Cr'=0.439*R'-0.368*G'-0.071*B'+128。Y'Cb'Cr'可以通过以下方式转换到RGB:R'=l.164*(Y'-16)+1.596*(Cr'-128),G'=l.164*(Y'-16)-0.813*(Cr'-128)-0.392*(Cb'-128),并且B'=l.164*(Y'-16)+2.017*(Cb'-128)。
在8位编码中,R、G、B和Y通道的标称范围可以是[16...235],并且Cb和Cr通道的标称范围可以是[16...240],其中,128作为中性值。在RGB中,参考黑色为(16,16,16),并且参考白色为(235,235,235)。在Y'CBCR中,如图6所示,参考黑色为(16,128,128),并且参考白色为(235,128,128)。超出标称范围的值是允许的,但通常这些值会被限制以用于广播或显示。值0和255可以保留为时序基准,并且可能不包含颜色数据。在10位编码中,标称值可以是8位编码的四倍。
可以控制色相H、饱和度S和明度L的参数来淡化嵌入到视频帧中的水印。通过以使水印将被媒体设备检测到但不会被媒体设备的用户检测到的方式调制H、S和/或L值,可以将水印嵌入到视频帧中。例如,参考图6A,可以证明对于任何色相603,在低或高明度605下,可以对于显示屏的较小区域改变饱和度604而不会被人眼察觉。类似地,对于一些颜色的低或高明度605,可以使色相603偏移而不被人眼察觉。在接近全明度605(白色)或接近最小明度(黑色)时,可以使色相603和饱和度804偏移而不会产生可见的伪像。
图9展示了根据本公开内容的各方面的反映饱和度相对于明度的可用范围的呈双圆锥表示的HSL颜色空间表示。双圆锥表示901可以以如下方式生成:使用图8A的圆柱表示801,并生成双圆锥形状901中的两个邻接圆锥体,其中顶部圆锥体的尖峰为白色,底部圆锥体的尖峰为黑色。最顶上的白色902可以是单个数据点,此处明度为最大值,饱和度为零且色相不确定(当饱和度为零时)。饱和度S或色相H的变化不会改变RGB中的对应值(在8位系统中,分别为255,255和255)。当明度为最小值时,即黑色903处,对于RGB中的对应值(例如,在8位系统中为0,0,0),饱和度S将为零,并且色相H将不确定。亮度值Y'可以具有0到255中的大致16到235的范围905,可选地排除亮度标度边缘的范围904和906。Cr和Cb值可以具有0到255中的16到240的范围。由于色差编码由重叠的亮度值和色度值组成,因此并非所有Y'CbCr值都可以转换为有效的RGB值。例如,Y'CbCr值的某些组合可能会转换为负的RGB值。在一些情况下,媒体设备可以使用一个或多个错误校正过程来校正无效值。一个这样的错误校正过程可以包括将低于最小可接受值的值(例如,负值)设置为最小可接受值(例如,8位颜色空间中的0)并将大于最大可接受值(例如,在8位颜色空间中大于255)的值设置为最大可接受值(例如,255)。
图10A展示了根据本公开内容的各方面的一组示例3D水印码元及其对应分界点的图表。通过调制位于视频帧边缘部分(例如,图2中所描绘的顶部的一行或两行)的像素的像素值,可以将水印插入到视频帧中。像素值的调制可以基于附近像素的亮度和色度来进行,以限制水印的可察觉性。在一些情况下,可以使用像素的亮度值来表示代码中的码元。例如,可以使用亮度值10来表示第一码元,并且可以使用亮度值50来表示第二码元。色度值可以基于周围像素(例如,与水印相邻的一行或多行像素)并使用图5至图9中描述的技术来确定。可替代地,可以使用色度值来表示水印的码元。在这种情况下,亮度值可以类似于附近像素的亮度值。
可以通过调制Y'CbCr颜色空间1001的三维空间中的数据来生成水印。0码元与1码元之间的距离成为三维颜色空间的欧几里得距离并且可以表示为:D=((Y1-Y0)2+(Cb1-Cb0)2+(Cr1-Cr0)2)1/2。以三维方式表示数据可以在表示第一码元与表示第二码元的像素值之间提供更大的距离。三维颜色空间的使用可以提供一些手段,这些手段为码元寻找与周围像素的像素值相匹配的像素值,以降低为码元选择的像素值的可察觉性。
用于表示第一码元1002的第一像素值1002可以基于附近像素来选择,并且可以通过变动第一像素值的亮度值和/或通过选择具有已知值(例如,比如黑色等)的像素值来选择第二像素1004。水印的像素值可以基于周围像素(例如,以降低水印的可察觉性)、信号噪声、压缩算法和/或类似物而变化。媒体设备可以使用码元分界点1003来确定水印的像素是对应于第一码元还是第二码元。这使得像素值能够变化(从而确保降低的可察觉性),同时确保水印仍然可以被解码。码元分界点1003可以被选择为第一像素值1002与第二像素值1004之间的中点。码元分界点1003表示这样的点:媒体设备会在该点处将水印的像素的像素值识别为对应于第一码元或对应于第二码元。如果像素具有码元分界点1003与第一像素值1002之间的值,则媒体设备确定该像素表示第一码元。如果像素具有码元分界点1003与第二像素值1004之间的值,则媒体设备确定该像素表示第二码元。
图10B展示了根据本公开内容的各方面的另一组示例3D水印码元及其对应分界点的图表。在所示的示例中,第一像素值1005被选择为紫色(Y'=87;Cb=186;Cr=201),并且第二像素值1007被选择为红色(Y'=16;Cb=94;Cr=218)。码元分界1006可以被选择为第一像素值1005与第二像素值1007之间的中点。如果像素具有码元分界点1006与第一像素值10005之间的值,则媒体设备确定该像素表示第一码元。如果像素具有码元分界点1006与第二像素值1007之间的值,则媒体设备确定该像素表示第二码元。
图11展示了根据本公开内容的各方面的码元分界点确定的图表。该图表指示在各种亮度值下检测到的码元的百分比。第一像素值(例如,表示第一码元)可以具有大致为0的亮度值。第二像素值(例如,表示第二码元)可以具有大致为42的亮度值。分界点被选择为0与42的中点或21。如果像素的亮度值小于21,则媒体设备确定该像素表示第一码元。如果像素的亮度值大于21,则媒体设备确定该像素表示第二码元。当亮度值不完全对应于第一像素值或第二像素值时,媒体设备仍然可以检测到码元。
当第一像素值与第二像素值之间的距离大于阈值时,解码错误的可能性降低。例如,非常少的码元(如果有的话)会在分界点附近被检测到,在那里可能难以确定像素值对应于第一码元还是第二码元。
图12展示了根据本公开内容的各方面的示例视频帧,其中,接近水印的过渡区域逐渐变暗以增加人眼对的察觉模糊性。可以在水印与视频帧的其余部分之间生成边界区域。边界区域可以包括与水印相邻的一行或多行像素。修改这些行以得到视觉融合效果,该视觉融合效果降低水印的可察觉性。例如,行1201和1202可以被调整为相同的值(例如,与表示水印码元的像素值成比例)。在一些情况下,可以独立地调整每一行以产生渐变度。例如,可以基于表示水印码元的像素值来减小行1201的像素的亮度值Y,并且也可以减小行1201的像素的亮度值Y,但是减小量小于行1201的亮度值的减小量。
边界区域可以包括任何数量的行。可以将亮度渐变度定义为等于视频帧的平均亮度除以边界区域中的行数。然后,确定视频帧的平均亮度是高于还是低于水印的平均亮度。如果视频帧的平均亮度高于水印的平均亮度,则边界区域可以从最接近水印的暗处转变到最接近视频帧的亮处(例如,从较低的亮度转变到较高的亮度)。如果视频帧的平均亮度低于水印的平均亮度,则边界区域可以从最接近水印的亮处转变到最接近视频帧的暗处(例如,从较高的亮度转变到较低的亮度)。
例如,如果视频帧的平均亮度高于水印的平均亮度,则可以基于视频帧的平均亮度减小边界区域的第一行(例如与水印相邻的行)的像素的亮度值(例如,减小与视频帧的平均亮度成比例的值等)。边界区域的下一行(离水印更远的下一行)的亮度可以减小一定的量,该量等于前一行的减小量减去亮度渐变度。离水印更远的每个后续行的亮度可以基于紧邻的前一行的减小量减去亮度渐变度来减小。
作为另一示例,如果视频帧的平均亮度低于水印的平均亮度,则可以基于视频帧的平均亮度(例如,与视频帧的平均亮度成比例的值等)增大边界区域的第一行(例如与水印相邻的行)的像素的亮度值。边界区域的下一行(离水印更远的下一行)的亮度可以增大一定的量,该量等于前一行的增大量减去亮度渐变度。离水印更远的每个后续行的亮度可以基于紧邻的前一行的增大量减去亮度渐变度来增大。
可替代地,如果视频帧的平均亮度低于第一阈值,则边界区域可以具有从最接近水印的亮处到最远离水印的暗处的渐变度。如果视频帧的平均亮度高于第二阈值,则边界区域可以具有从最接近水印的暗处到最远离水印的亮处的渐变度。每行的亮度值的差可以是水印或视频帧的平均亮度值的比例值。应该注意的是,第一阈值可以等于或不同于第二阈值。
图13A展示了根据本公开内容的各方面的示例视频帧序列,其中,水印的0码元值和1码元值交替出现以使人眼对水印察觉变得模糊。由于水印包括像素值的调制以指示两种或更多种类型的码元(取决于数基码),交替出现的像素值对媒体设备的用户来说可能看上去是闪烁的。可以通过在后一视频帧中呈现视频帧的逆反来减少或消除闪烁。水印的第一版本可以嵌入到帧1中。相同水印的第二版本可以嵌入到帧2中。水印的第二版本可以是第一水印的逆反形式。例如,具有表示第一码元的亮度值(例如,10至16之间的较低亮度)的每个像素集可以被赋予表示第二码元的亮度值(例如,45至55之间的较高亮度)。具有表示第二码元的亮度值的每个像素集可以被赋予表示第一码元的亮度值。
在接收到帧1中水印的第一版本后,媒体设备可以预期帧2中的水印被逆反。当解码帧2中的水印时,媒体设备可以使已解码的码元逆反(例如,每个第一码元可以用第二码元替换,每个第二码元可以用第一码元替换)。媒体设备可以接收多少帧将(例如,以交替的逆反形式)包括相同水印的指示以确保水印被正确地检测和解码。
在一些情况下,下一帧(例如,帧3)可以包括前一帧(例如,帧2)中包括的水印的逆反水印,该逆反水印等同于原始水印(例如,帧1中的水印)。可以使用两个或更多个视频帧将水印逆反一次或多次。通过逆反交替帧中的像素,用户可以将水印察觉为两帧之间的平均像素值。例如,如果第一像素是白色而逆反的像素是黑色,则当快速连续显示时,这两个像素将看起来是灰色的(如图所示)。这可能会使得水印看上去为单色而不是闪烁的像素。增加水印逆反的次数可以降低水印可以被察觉的可能性,但可能会减少给定的一组视频帧可以传输的数据量。在其上水印要逆反的帧的数量基于要嵌入到水印中的数据量和水印可以被检测到的可能性。
图13B展示了根据本公开内容的各方面的用于改善数据码元的感觉融合的每两帧示例视频数据码元逆反。在一些情况下,可以将水印序列插入到一组帧中以将更大量的数据传输到媒体设备。例如,帧1可以包括第一水印并且帧2可以包括第一水印的逆反形式。帧1和帧2可以被称为逆反对A。水印序列中的下一个水印可以嵌入到帧3中,而该水印的逆反形式被嵌入到帧4中(例如,逆反对B)。每个奇数视频帧可以包括水印序列中的新水印,并且每个偶数帧可以包括嵌入在紧邻的前一视频帧中的水印的逆反形式。
当水印序列被嵌入到一组视频帧中时,该序列可能会更容易被用户察觉。视频帧与水印之间的像素调制可能会表现为闪烁。通过在相继的视频帧中嵌入水印和该水印的逆反形式,可以减少或消除闪烁。
图14展示了根据本公开内容的各方面的用于将水印施加到视频帧的编码流程的框图。编码流程可以由向媒体设备提供视频服务的设备执行。已编码的视频源1401(例如,视频数据)被传递到视频解码器1402。来自解码器1402的已解码的视频和水印数据1403由错误校正编码1404接收。错误校正编码1404将错误校正码包括到表示视频数据和/或水印的数据中。这确保媒体设备(例如,电视、机顶盒等)可以对视频帧中的数据应用错误校正,并确保数据可以被解码。
接下来,为水印数据1403推导数据像素值计算1405。为了降低用户察觉到水印的可能性,可以基于周围像素的颜色和/或周围像素的亮度来选择像素值。数据像素值计算1405推导出表示码元0和1的近似像素值。一旦像素值计算1405完成,就可以通过调制视频帧的像素将水印嵌入到视频帧中。在一些情况下,可以调制顶部的一行或两行像素以在视频帧中形成水印。如数据像素值计算1405所确定的,可以在表示0的第一像素值与表示1的第二像素值之间调制像素。该过程继续到MPEG压缩1407,其中压缩视频帧,然后继续到MPEG拼接1408,其中将经压缩的视频帧与来自已编码的视频源1401的其他视频数据拼接在一起。由于水印位于视频帧的一部分之上,因此方框1401至1406可以仅使用视频帧的一部分(例如,大于水印大小的那部分)操作。MPEG拼接1408将视频帧1408包括水印的部分与视频帧的其余部分组合。
一旦视频帧完整,就对视频帧进行编码以供传输1409。可以基于传输介质和/或通信协议(例如,广播电视、流式传输协议等)对视频帧进行编码。包括水印的视频帧在被编码后,在1410处输出。
图15展示了根据本公开内容的各方面的用于从视频帧提取带水印的数据的解码流程的框图。解码流程可以由媒体设备(比如电视机、机顶盒等)执行。解码流程可以在接收到视频信号1501时开始。对视频信号执行视频帧分析1502以识别视频信号的视频帧中水印的存在。在一些情况下,视频帧分析1502识别指示水印存在的引入模式。像素值解码器1503与以n为底的码元集中的码元相对应的像素集。例如,在以2为底的码元集(例如,二进制代码)中,像素值解码器识别与码元0相对应的像素和与码元1相对应的像素。
错误检测/校正1504检测水印像素值中的错误并尝试校正它们。由于压缩、噪声等可能会引入错误,并导致像素值被更改。可以根据一个或多个错误校正过程来执行错误校正。一种错误校正过程包括接收重复视频帧和/或水印并对这两个视频帧的像素值进行平均。平均像素值通过减小已更改的像素值与真实像素值之间的差来减小已经由于压缩、噪声等而更改的像素值的影响。增加重复帧/水印的数量进一步减小了任何错误的影响。作为重复帧错误校正过程的补充或替代方案,可以执行其他错误校正过程。
可以通过消息解码1505对水印的代码进行解码。消息解码1505根据表示码元的每个像素集限定码元序列。消息解码可以从码元序列中除去引入模式。引入模式是指示视频帧中存在水印的子序列码元,但不包括任何其他数据。可以在不减少丢失任何水印数据的情况下从码元序列中去除引入模式。
数据成帧1506组织每个视频帧的码元序列。在将表示较大消息或较大数据集的一组水印插入到一组视频帧中的情况下,数据成帧1506确定每帧的每个码元序列相对于其他码元序列的定位顺序。然后,输出已解码的消息以供进一步处理。例如,如果水印包括可执行代码,则媒体设备的处理器然后可以执行该可执行代码。一个或多个水印的码元序列可以使得例如:显示与视频内容相关联的附加信息,用另一视频片段(例如,存储在高速缓存存储器中、从远端源取得的视频片段等)替换当前视频片段,显示弹出窗口,其组合等等。
图16展示了根据本公开内容的各方面的用于从嵌入在视频帧中的水印中解码出代码的示例过程的流程图。在框1604处,媒体设备接收视频帧。媒体设备可以是被配置为处理或显示视频的设备,比如但不限于监视器、电视、机顶盒、移动设备(比如智能手机)等。视频帧的第一预定区域可以包括对应于水印的第一像素集。例如,视频帧的第一预定区域可以是视频帧顶部的一行或两行。
该帧还可以包括第二预定区域,该第二预定区域可以与第一预定区域相邻并且包括第二像素集。第二像素集的像素值可以基于视频帧的第三预定区域(例如,视频帧的其余部分)的像素的像素值。例如,视频帧的第二预定区域可以是边界区域。边界区域可以包括一行或多行像素,这些像素的像素值被选择以降低第一预定区域的可察觉性,如图12中所描绘的。例如,如果边界区域包括两行或更多行,则根据渐变度选择每一行的像素值,其中,边界区域的每一行(从最接近第一预定区域的行开始)具有更高的亮度值。
可能已经对视频帧执行了如前所述的一个或多个水印修改过程以降低用户可以察觉嵌入到视频帧的第一预定区域中的数据的可能性。例如,第一预定区域可以包括在预定范围内的被调制(例如,以传送数据)的像素值以降低可察觉性。在该示例中,表示第一码元和第二码元的像素值(例如,亮度值)的差可以被限制至40。作为错误校正,一个或多个视频帧可以包括在表示第一码元和第二码元的像素值之间较大的差(例如,80等)。在另一示例中,后一视频帧可以包括逆反的第一预定区域,使得当连续显示时,第一预定区域可以表现为单色(例如,第一像素值与第二像素值的平均值)。可以在视频帧被媒体设备接收之前(或者在被媒体设备显示给用户之前)将一个或多个水印修改的任何组合应用于视频帧。
在框1608处,媒体设备检测视频帧的第一预定区域中的水印。媒体设备可以检测水印,由此可以检测第一预定区域中像素的调制。例如,媒体设备检测表示(以n为底的代码的)第一码元的一个或多个像素和表示(该代码的)第二码元的一个或多个像素。在一些情况下,媒体设备可以检测预定区域中的引入模式。引入模式包括指示水印的预定像素值序列。水印可以沿着同一行位于引入模式之后。当媒体设备检测到引入模式时,媒体设备识别水印。
在框1612处,媒体设备在第一预定区域中识别对应于第一像素值的一个或多个连续像素子集和对应于第二像素值的一个或多个连续像素子集。码元可以由连续像素子集表示(例如,预定数量的相邻像素,比如1行4个像素、2行4个像素等)。连续子集中的像素可以具有可以对应于第一像素值或第二像素值的类似像素值(例如,相似色相、色度、亮度、RGB值、其组合等)。例如,如果第一像素值和第二像素值对应于亮度值,则媒体设备可以识别具有第一亮度值(例如,大致10至16)的每个连续像素子集和具有第二亮度值(例如,大致45至55)的每个连续像素子集。
第一值和第二值可以被选择以降低用户察觉到水印的可能性。用户可能察觉到高亮度像素与紧接的低亮度像素之间的对比度,并将水印的存在检测为视频帧中的伪像。当使用亮度调制像素时,第一亮度值与第二亮度值之差可以是大致40。
虽然限制亮度值之差可以降低用户可以察觉到水印的可能性(例如,由于彼此相邻的对比亮度值被察觉为闪烁或伪像),但这也可能增加媒体设备的错误率。为了降低错误的可能性,视频帧可以增大第一像素值(表示第一码元)与第二像素值(表示第二像素)之间的差。例如,每n个视频帧可以接收一个如下的视频帧,在该帧中,一个或多个连续像素子集对应于第一像素值,并且一个或多个连续像素子集对应于第三像素值。第一像素值可以继续反映10至16之间的亮度值。第三像素值可以反映大致80的亮度值。第三像素值与第一像素值之间的差可以是第二像素值与第一像素值之间的差的大致两倍。在一些情况下,可以接收到具有水印的m帧,在这些帧中,第一像素值与第二像素值之间具有增大的差。在m帧之后,可以恢复到第一像素值与第二像素之间的该差(例如,恢复到大致40)。
在框1616处,媒体设备将第一码元分配给对应于第一像素值的一个或多个连续像素子集,并且将第二码元分配给对应于第二像素值的一个或多个连续像素子集。第一像素值和第二像素值可以表示以2为底的码元集(例如,二进制代码)的第一码元和第二码元。可以使用附加的像素值来定义以n为底的码元集。例如,基于亮度和色度调制像素可以产生以4为底的码元集。
在框1620处,媒体设备基于分配给一个或多个连续像素子集的码元生成码元序列。码元序列可以提供与视频帧相关联的附加信息和/或使媒体设备执行某些功能。附加信息可以包括但不限于:与所显示视频的内容相关联的信息(比如,演员、角色、场景、团队、制作人员、制作特性或内容的任何其他事实或特性)、与所显示视频相关联的元数据(例如,分辨率、像素值、广播来源等)、与所显示视频相关联的通信等。功能可以包括但不限于:打开网络浏览器以到达特定URL,在视频帧上方打开弹出窗口,替换本地存储的或从远程服务器取得的视频片段。
下一视频帧中的水印可以具有相同的码元序列,但可以是逆反的。在下一视频帧中,对应于前一帧中的第一像素值的每个连续像素子集现在可以对应于第二个像素值,并且对应于前一帧中的第二像素值的每个连续像素子集现在可以对应于第二第一值。例如,如图13A所示,帧1包括对应于第一像素值(例如,10至16的亮度)的第一连续像素子集,随后是对应于第二像素值(例如,40的亮度)的第二连续像素子集。在后一帧(例如,帧2)中,第一连续像素子集对应于第二像素值,而第二连续像素子集对应于第一像素值。通过逆反后一帧中的像素值,第一预定区域的像素表现为第一像素值与第二像素值的平均值(例如,表现为单色)。结果,用户可能察觉不到水印。
图17展示了根据本公开内容的各方面的示例计算设备。例如,计算设备1700可以实施本文描述的任何系统或方法。在一些情况下,计算设备1700可以是媒体设备的组件或被包括在媒体设备内。计算设备1700的组件被示为使用比如总线等连接1705彼此电通信。示例计算设备架构1700包括处理单元(例如,CPU、处理器等)1710以及被配置为将计算设备1700的组件耦接到处理单元1710的连接1705(例如,总线等),所述组件比如但不限于存储器1715、只读存储器(ROM)1720、随机存取存储器(RAM)1725和/或存储设备1730。
计算设备1700可以包括与处理单元1710直接连接、紧邻或集成在该处理单元内的高速存储器的高速缓存1712。计算设备1700可以将数据从存储器1715和/或存储设备1730复制到高速缓存1712以供处理单元1710更快地访问。以此方式,高速缓存1712可以提供性能提升,这种性能提升避免了处理器1710在等待数据时的延迟。可替代地,处理单元1701可以直接从存储器1715和/或存储设备1730访问数据。存储器1715可以包括多种类型的存储器(例如,磁性、光学、固态等)。
存储设备1730可以包括一个或多个非暂时性计算机可读介质,比如易失性和/或非易失性存储器。非暂时性计算机可读介质可以存储计算设备1700可访问的指令和/或数据。非暂时性计算机可读介质可以包括但不限于磁带盒、硬盘驱动器(HDD)、闪存、固态存储设备、数字多功能盘、盒式磁带、致密盘、随机存取存储器(RAM)1725、只读存储器(ROM)1720、它们的组合等。
存储设备1730存储可由处理单元1710和/或其他电子硬件执行的一个或多个服务,比如服务1 1732、服务2 1734和服务3 1736。该一个或多个服务包括指令,其可由处理单元1710执行以执行比如本文描述的任何技术的操作,从而控制与计算设备1700通信的设备的操作、控制处理单元1710和/或任何专用处理器的操作、其组合等。处理单元1710可以是片上系统(SOC),其包括一个或多个内核或处理器、总线、存储器、时钟、存储器控制器、高速缓存、其他处理器组件等。多内核处理器可以是对称的或非对称的。
计算设备1700可以包括一个或多个输入设备1745,其可以表示任何数量的输入机构,比如麦克风、用于图形输入的触敏屏幕、键盘、鼠标、运动输入、语音、媒体设备、传感器、其组合等。计算设备1700可以包括向用户输出数据的一个或多个输出设备1735。这样的输出设备1735可以包括但不限于媒体设备、投影仪、电视、扬声器、其组合等。在一些情况下,多模式计算设备可以使用户能够提供多种类型的输入以与计算设备1700通信。通信接口1740可以被配置为管理用户输入和计算设备输出。通信接口1740还可以被配置为管理通过一种或多种通信协议和/或通过一种或多种通信介质(例如,有线、无线等)与远程设备的通信(例如,建立连接、接收/发送通信内容等)。计算设备1700不限于所示的组件。可以添加其他组件并且可以省略所示的组件。
术语“计算机可读介质”包括但不限于便携或非便携存储设备、光学存储设备、以及能够存储、包含或携带(多条)指令和/或数据的各种其他介质。计算机可读介质可以包括非暂时性介质,其中,数据可以以除载波和/或电子信号之外的形式存储。非暂时性介质的示例可以包括但不限于磁盘或磁带、光学存储介质(比如致密盘(CD)或数字多功能盘(DVD))、闪存、存储器或存储器设备。计算机可读介质上可以存储有代码和/或机器可执行指令,其可以表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。可以通过传递和/或接收信息、数据、自变量、参数、或存储器内容将代码段联接到另一个代码段或硬件电路上。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段来传递、转发、或者发送。
虽然本主题已针对其具体实施例进行了详细描述,但应该理解,本领域技术人员在了解前述内容后,可以容易地产生对此类实施例的更改、其变型和等同物。本文阐述了大量具体细节以提供对要求保护的主题的全面了解。然而,本领域技术人员将了解的是,要求保护的主题可以在没有这些具体细节的情况下进行实践。在其他情况下,并未详细描述普通技术人员已知方法、装置或系统,以免使要求保护的主题变得晦涩难懂。因此,本公开内容是出于示例而非限制的目的而给出的,并且不排除包括对本主题的本领域的普通技术人员是显而易见的此类修改、变化和/或添加。
为了解释的清楚起见,在一些情况下,本公开内容可以被呈现为包括单独的功能块,所述功能块包括具有设备、设备组件、以软件或硬件和软件组合体现的方法中的步骤或例程的功能块。除了图中所示和/或本文描述的功能块之外,还可以使用附加的功能块。例如,可以以框图形式将电路、系统、网络、过程和其他组件示出为组件,以便不会以不必要的细节使实施例变得晦涩难懂。在其他实例中,可以没有不必要细节地示出公知的电路、过程、算法、结构和技术以避免使实施例变得晦涩难懂。
各个实施例可能在上文中描述为过程或方法,该过程或方法可以描绘为流程图、流程图表、数据流程图表、结构图或框图。尽管流程图可能将操作描述为顺序过程,但是这些操作中的许多操作可以并行地或同时地执行。另外,可以重新安排操作的顺序。过程在其操作完成时终止,但是可能具有未示出的附加步骤。过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止可以对应于函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用存储的或以其他方式可从计算机可读介质获得的计算机可执行指令来实施。此类指令可以包括例如使得或以其他方式配置通用计算机、专用计算机或处理设备以执行某个函数或函数组的指令和数据。计算机资源的所使用部分可以通过网络访问。计算机可执行指令可以是例如二进制指令、中间格式指令(比如汇编语言)、固件、源代码等。
实施本文描述的方法和系统的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形式因子中的任何一种。当在软件、固件、中间件或微代码中实施时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。程序代码可以由处理器执行,所述处理器可以包括一个或多个处理器,比如但不限于一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。这样的处理器可以被配置为执行本公开内容中描述的任何技术。处理器可以是微处理器、常规处理器、控制器、微控制器、状态机等。还可以将处理器实施为计算组件的组合(例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器连同一个DSP内核、或任何其他这样的配置)。因此,如本文所使用的术语“处理器”可以表示任何前述结构、前述结构的任何组合或者适合于实施本文描述的技术的任何其他结构或装置。本文描述的功能也可以体现在外围设备或附加卡中。通过进一步的示例的方式,此类功能还可以在不同芯片的电路板上或在单个设备中执行的不同过程上实施。
在前述描述中,参考本公开内容的具体示例描述了本公开内容的各方面,但是本领域的技术人员将认识到,本披露内容并不限于此。因此,虽然本文已经详细描述了本公开内容的说明性示例,但是应该了解,本发明构思可以以其他方式体现和利用,并且所附权利要求旨在被解释为包括这样的变型。上述公开内容的各种特征和方面可以单独或以任何组合使用。进一步地,在不脱离本公开内容的更广泛精神和范围的情况下,可以在超出本文描述的环境和应用的任何数量的环境和应用中利用这些示例。因此,本公开内容和附图被认为是说明性的而非限制性的。
可以将结合本文所公开的实施例描述的各种说明性的逻辑块、模块、电路和算法步骤实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可交换性,上文通常按照它们的功能对各种说明性的组件、方框、模块、电路和步骤进行了描述。将这样的功能实现为硬件还是软件取决于在整体系统上强加的具体应用和设计约束条件。熟练的技术人员可以针对每个具体应用使用不同方式来实施所描述的功能,但是这种实施决策不应该被解释为导致脱离本申请的范围。
除非另有明确说明,否则应该理解,在整个说明书中,利用比如“处理”、“运算(computing)”、“计算(calculating)”、“确定”和“识别”等术语的讨论表示计算设备的动作或过程,所述计算设备比如为一个或多个计算机或一个或多个类似的电子计算设备,这些计算机或电子计算设备操纵或变换数据,该数据被表示为计算平台的存储器、寄存器或者其他信息存储设备、传输设备或媒体设备中的物理电子量或磁量。本文对“适应于”或“被配置为”的使用意味着不排除设备适应于或被配置为执行额外任务或步骤的开放和包含性语言。附加地,对“基于”的使用意味着是开放和包含性的,因为“基于”一个或多个所引述条件或值的过程、步骤、计算或其他动作在实践中可以基于超出所引述条件或值的其他条件或值。本文包括的类目、列表和编号只是为了便于解释,并不意味着是限制性的。
Claims (20)
1.一种方法,包括:
接收视频帧,其中,所述视频帧的第一预定区域包括第一像素集,并且所述视频帧的第二预定区域包括第二像素集,所述第二像素集的像素值基于所述视频帧的第三预定区域的像素的像素值;
检测所述视频帧的第一预定区域中的水印;
在所述第一像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第二像素值的一个或多个连续像素子集;
将第一码元分配给对应于第一像素值的所述一个或多个连续像素子集,并将第二码元分配给对应于第二像素值的所述一个或多个连续像素子集;以及
基于所述第一像素值和所述第二像素值生成第一码元序列。
2.如权利要求1所述的方法,其中,所述第一预定区域包括所述视频帧的前两行。
3.如权利要求1所述的方法,其中,所述第二预定区域包括所述视频帧的第三行。
4.如权利要求1所述的方法,进一步包括:
接收后一视频帧;以及
从所述后一视频帧生成第二码元序列,其中,所述第二码元序列是所述第一码元序列的逆反形式。
5.如权利要求1所述的方法,进一步包括:
接收后一视频帧,其中,所述后一视频帧的第一预定区域包括第三像素集;
在所述第三像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第三像素值的一个或多个连续像素子集,其中,所述第三像素值与所述第一像素值之间的差是所述第二像素值与所述第一像素值之间的差的大致两倍;以及
从所述第三像素集生成第二码元序列。
6.如权利要求1所述的方法,其中,所述第一像素值对应于亮度值。
7.如权利要求1所述的方法,其中,检测所述视频帧的第一预定区域中的水印包括:
检测所述第一预定区域内的像素引入模式,所述像素引入模式与所述第一码元序列是分开的。
8.一种系统,包括:
一个或多个处理器;以及
存储有指令的非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行包括以下步骤的操作:
接收视频帧,其中,所述视频帧的第一预定区域包括第一像素集,并且所述视频帧的第二预定区域包括第二像素集,所述第二像素集的像素值基于所述视频帧的第三预定区域的像素的像素值;
检测所述视频帧的第一预定区域中的水印;
在所述第一像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第二像素值的一个或多个连续像素子集;
将第一码元分配给对应于第一像素值的所述一个或多个连续像素子集,并将第二码元分配给对应于第二像素值的所述一个或多个连续像素子集;以及
基于所述第一像素值和所述第二像素值生成第一码元序列。
9.如权利要求8所述的系统,其中,所述第一预定区域包括所述视频帧的前两行。
10.如权利要求8所述的系统,其中,所述第二预定区域包括所述视频帧的第三行。
11.如权利要求8所述的系统,其中,所述操作进一步包括:
接收后一视频帧;以及
从所述后一视频帧生成第二码元序列,其中,所述第二码元序列是所述第一码元序列的逆反形式。
12.如权利要求8所述的系统,其中,所述操作进一步包括:
接收后一视频帧,其中,所述后一视频帧的第一预定区域包括第三像素集;
在所述第三像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第三像素值的一个或多个连续像素子集,其中,所述第三像素值与所述第一像素值之间的差是所述第二像素值与所述第一像素值之间的差的大致两倍;以及
从所述第三像素集生成第二码元序列。
13.如权利要求8所述的系统,其中,所述第一像素值对应于亮度值。
14.如权利要求8所述的系统,其中,检测所述视频帧的第一预定区域中的水印包括:
检测所述第一预定区域内的像素引入模式,所述像素引入模式与所述第一码元序列区分开。
15.一种存储有指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行包括以下步骤的操作:
接收视频帧,其中,所述视频帧的第一预定区域包括第一像素集,并且所述视频帧的第二预定区域包括第二像素集,所述第二像素集的像素值基于所述视频帧的第三预定区域的像素的像素值;
检测所述视频帧的第一预定区域中的水印;
在所述第一像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第二像素值的一个或多个连续像素子集;
将第一码元分配给对应于第一像素值的所述一个或多个连续像素子集,并将第二码元分配给对应于第二像素值的所述一个或多个连续像素子集;以及
基于所述第一像素值和所述第二像素值生成第一码元序列。
16.如权利要求15所述的非暂时性计算机可读介质,其中,所述第一预定区域包括所述视频帧的前两行。
17.如权利要求15所述的非暂时性计算机可读介质,其中,所述第二预定区域包括所述视频帧的第三行。
18.如权利要求15所述的非暂时性计算机可读介质,其中,所述操作进一步包括:
接收后一视频帧;以及
从所述后一视频帧生成第二码元序列,其中,所述第二码元序列是所述第一码元序列的逆反形式。
19.如权利要求15所述的非暂时性计算机可读介质,其中,所述操作进一步包括:
接收后一视频帧,其中,所述后一视频帧的第一预定区域包括第三像素集;
在所述第三像素集内识别对应于第一像素值的一个或多个连续像素子集和对应于第三像素值的一个或多个连续像素子集,其中,所述第三像素值与所述第一像素值之间的差是所述第二像素值与所述第一像素值之间的差的大致两倍;以及
从所述第三像素集生成第二码元序列。
20.如权利要求15所述的非暂时性计算机可读介质,其中,检测所述视频帧的第一预定区域中的水印包括:
检测所述第一预定区域内的像素引入模式,所述像素引入模式与所述第一码元序列是分开的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063059766P | 2020-07-31 | 2020-07-31 | |
US63/059,766 | 2020-07-31 | ||
US17/389,147 | 2021-07-29 | ||
US17/389,147 US11538131B2 (en) | 2020-07-31 | 2021-07-29 | Systems and methods for the application of adaptive video watermarks |
PCT/US2021/043944 WO2022026855A1 (en) | 2020-07-31 | 2021-07-30 | Systems and methods for the application of adaptive video watermarks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116113970A true CN116113970A (zh) | 2023-05-12 |
Family
ID=80003136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180058217.6A Pending CN116113970A (zh) | 2020-07-31 | 2021-07-30 | 用于施加自适应视频水印的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11538131B2 (zh) |
EP (1) | EP4189631A1 (zh) |
JP (1) | JP2023537319A (zh) |
KR (1) | KR20230047125A (zh) |
CN (1) | CN116113970A (zh) |
CA (1) | CA3185555A1 (zh) |
MX (1) | MX2023001239A (zh) |
WO (1) | WO2022026855A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11538131B2 (en) | 2020-07-31 | 2022-12-27 | Inscape Data, Inc. | Systems and methods for the application of adaptive video watermarks |
US11818443B1 (en) * | 2022-12-02 | 2023-11-14 | Roku, Inc. | Methods and systems for determining creation attributes of video content |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027614B2 (en) * | 2000-04-19 | 2006-04-11 | Digimarc Corporation | Hiding information to reduce or offset perceptible artifacts |
US8406462B2 (en) * | 2008-08-17 | 2013-03-26 | Dolby Laboratories Licensing Corporation | Signature derivation for images |
US8971567B2 (en) | 2010-03-05 | 2015-03-03 | Digimarc Corporation | Reducing watermark perceptibility and extending detection distortion tolerances |
US11082710B2 (en) * | 2016-09-14 | 2021-08-03 | Inscape Data, Inc. | Embedding video watermarks without visible impairments |
US11132758B2 (en) * | 2016-09-14 | 2021-09-28 | Inscape Data, Inc. | Embedding data in video without visible impairments |
US11538131B2 (en) | 2020-07-31 | 2022-12-27 | Inscape Data, Inc. | Systems and methods for the application of adaptive video watermarks |
-
2021
- 2021-07-29 US US17/389,147 patent/US11538131B2/en active Active
- 2021-07-30 JP JP2023506336A patent/JP2023537319A/ja active Pending
- 2021-07-30 WO PCT/US2021/043944 patent/WO2022026855A1/en active Application Filing
- 2021-07-30 MX MX2023001239A patent/MX2023001239A/es unknown
- 2021-07-30 CA CA3185555A patent/CA3185555A1/en active Pending
- 2021-07-30 CN CN202180058217.6A patent/CN116113970A/zh active Pending
- 2021-07-30 KR KR1020237005724A patent/KR20230047125A/ko unknown
- 2021-07-30 EP EP21759205.4A patent/EP4189631A1/en active Pending
-
2022
- 2022-11-23 US US17/993,515 patent/US11966997B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
MX2023001239A (es) | 2023-03-03 |
US11538131B2 (en) | 2022-12-27 |
US20220036495A1 (en) | 2022-02-03 |
US11966997B2 (en) | 2024-04-23 |
EP4189631A1 (en) | 2023-06-07 |
KR20230047125A (ko) | 2023-04-06 |
JP2023537319A (ja) | 2023-08-31 |
US20230230192A1 (en) | 2023-07-20 |
CA3185555A1 (en) | 2022-02-03 |
WO2022026855A1 (en) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132758B2 (en) | Embedding data in video without visible impairments | |
US11082710B2 (en) | Embedding video watermarks without visible impairments | |
US10176545B2 (en) | Signal encoding to reduce perceptibility of changes over time | |
US11930202B2 (en) | Method and apparatus for video watermarking, and storage medium | |
US11966997B2 (en) | Systems and methods for the application of adaptive video watermarks | |
US11445219B2 (en) | System for handling multiple HDR video formats | |
JP2018503283A (ja) | 符号化のための方法、ビデオプロセッサ、復号のための方法、ビデオ復号器 | |
CN103841389B (zh) | 一种视频播放方法及播放器 | |
Yang et al. | ARTcode: preserve art and code in any image | |
US20170347113A1 (en) | Local dynamic range adjustment color processing | |
US10664940B2 (en) | Signal encoding to reduce perceptibility of changes over time | |
US20240185374A1 (en) | Systems and methods for the application of adaptive video watermarks | |
CN117981329A (zh) | 使用嵌入式水印监视内容显示的系统和方法 | |
JP5276835B2 (ja) | ビデオ・イメージ処理装置、ビデオ投影システム、および投影システムによる使用を意図した信号 | |
JP2005080289A (ja) | クロミナンスのスムージング | |
RU2783591C2 (ru) | Система для обработки нескольких hdr-видеоформатов | |
EP3531584A1 (en) | Method for transmitting data in a video and electronic device |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40093027 Country of ref document: HK |