用于数字视频加水印的色彩选择方案的制作方法

文档序号:7598243阅读:344来源:国知局
专利名称:用于数字视频加水印的色彩选择方案的制作方法
技术领域
本发明涉及给数字视频加水印的技术,具体而言,本发明涉及应该选择给哪一色度部分加水印。
背景技术
给视频信号加水印通常为在视频本身内包括附加信息。这能够有利于提供视频源的嵌入式标识,以跟踪视频播放的位置以及播放时间的长短,并通过该视频传送信息到辅助设备。用于给数字信号加水印的现有技术典型使用视频亮度将附加信息编码为视频本身内的模拟格式以携带附加信息。但是,人类的视觉系统对亮度信号非常敏感,因此,当试图增加附加信息的比特率到一定点,例如超过120比特每秒时,观察加有水印信号的人很容易感知这种改变视频信号用以传送附加信息所引起的失真。从而,尽管给视频信号加水印的现有技术在某些应用领域已经获得了一定的成功,但这种成功限制于可达到的非常小的比特率,而当人观察该携带附加信息的视频信号时不会感知失真。
在先前提交的序列号为10/342704的美国专利申请正如其完全阐述一样在此包含引作参考,发明人意识到人类的视觉系统较亮度而言对色度不那么敏感。所以,开发了一种用于给视频信号数字加水印的系统,即在视频信号的色度分量而不是其亮度信号上插入水印信号的附加信息。因此,附加信息“印象”在视频信号的色度分量上。有利的,尽管可能存在色度分量的严重失真,特别是当附加信息的比特率高于现有技术可达到的不被感知失真的比特率时,但是不论如何,只要对此加以适当地管理,人类的视觉系统将不会检测到这种失真。从而,与现有技术所达到的比特率相比,附加信息能够具有更高的比特率,例如能够实现大于每秒150比特的比特率。进一步有利的是,即使在使用运动图像专家组(MPEG-1)和(MPEG-2)编码系统压缩加有附加数据水印的视频信号之后,也能够从视频信号恢复该附加数据。
在序列号为第10/342704号的美国专利申请中,通过色彩选择单元为任何像素选择的用于水印的特定色度部分。色彩选择单元使用规定公式将所选的色度分量确定为以RGB和YUV显示像素的函数。由于通常仅仅以YUV格式发送数字视频,以使用序列号为第10/342704号的美国专利申请的具有这种YUV格式视频的系统,因此有必要从中开发一种对应于RGB格式的视频。不利的是,这样做需要相当大的处理能力。而去阿,尽管它非常有效,但是后来发现数学模型总是不必要地产生无闪烁的结果,其中该模型以在序列号为第10/342704号的美国专利申请的选择处理中所应用的公式为基础。

发明内容
根据本发明的原理,确定要加水印的色度部分的处理可以通过应用基于感知的表来改进,该表为各种像素表示哪一色度部分,如果有的话,应该选择用于加水印。根据本发明的一个方面,可以只需要用于像素的Y、U和V值来访问表并且确定应该选择哪一色度部分。有利地,当数字视频为YUV格式时,不需要使用R、G和B来选择色度部分,借此显著减少了必要的处理能力。根据本发明的另一个方面,可以这样表示该表如仅使用R、G和B值就可以访问它,从而不需要为了执行色彩选择而将RGB格式的源视频转换为YUV格式。
在本发明的一个实施例中,通过提供Y、U和V值来访问该表,其中这些值可以抽取和/或量化,并从表中检索一个应该选择U还是V的一个指示。根据本发明的再一个方面,可以修改该表以便它可以表示应该选择U或V中的哪一个,或者哪一个都不应该选择,例如当像素的色彩为深蓝色和/或深紫色时,这表示完全不应该给该像素加水印。
根据本发明的又一个方面,使用该表和一些处理可以应用混合模式的处理。有利地,例如,通过将表的大小减为一半,可以简化该表,因为该表的大部分可以通过简单地测试象像素值,例如U<128来代替,以确定所选的色度部分。
有利地,在不工作时可以修改该表,而不会改变根本的处理,例如,在选择处理中所应用的计算机代码。


在附图中图1所示为根据本发明原理,用于给视频信号数字加水印的示意性的发送机;图2所示为根据本发明的原理,用于恢复视频信号的附加数据的示意性接收机,该视频信号包括其色度信号上的数字水印;图3A和3B为当它们结合在一起为如图3所示时,示出根据本发明的原理在利用附加数据给色度部分之一加水印时所使用的示意性处理流程;图4A和4B为当它们结合在一起为如图4所示时,示出根据本发明的原理从数字加水印视频信号中提取附加信息的示意性处理流程,其中构成视频信号内的水印信号的附加信息已经印象到色度分量上;图5所示为一些安全范围的实例,其中期望的比特位置为第三最低有效位;图6所示为根据本发明的原理,用于确定哪一特定色度部分更加合适因此应该被选择以包含用于像素的加水印信息的示意性处理流程;图7所示为示意性划分色彩空间的一部分的剖视图;图8所示为根据本发明的原理,选择特定色度部分以包含用于像素的加水印信息所采用的另一示意性处理流程;图9所示为根据本发明的原理构造的示意性发送机,其中通过在数据印象到块的色度部分的平均值之前,复制待印象数据至少一次,优选为两次或更多次,从而可以减少闪烁;以及图10所示为根据本发明的原理构造的接收机的示意性实施例,该接收机可用于接收诸如图9的发送机所产生的加有水印的视频信号。
具体实施例方式
以下描述仅仅示例了本发明的原理。因此将会理解,本领域的普通技术人员将能够设计实施本发明原理的各种结构,尽管这里没有明确描述或示出,但是它们却包括在本发明的精神和范围之内。而且,所有的实例和这里叙述的条件语言都旨在从原理上表示用于教导的目的,以帮助读者理解本发明的原理和发明人提出的促进技术的构思,并且不构造作为对这些具体叙述实例和条件的限制。而且,这里叙述本发明原理、各个方面、实施例、及其具体实例的所有陈述旨在包括本发明的结构性和功能性的等同物。另外,这种等同物旨在包括当前已知的等同物以及未来开发的等同物,即所开发的执行相同功能而不考虑结构的任何组件。
因此,例如,本领域的普通技术人员将会理解,这里的任何方框图都表示实施本发明原理的示意性结构的理论视图。同理,将会理解任何流程表、流程图、状态转变图、伪码等等都表示各种处理流程,这些处理可以实质上在计算机可读媒体中表示,从而可以由计算机或处理器执行处理,而不论是否明确示出了这种计算机或处理器。
图中所示的各个组件的功能,包括标记为“处理器”的任何功能性方块,也可以通过使用专门硬件以及能够执行与适当软件所相关软件的硬件来提供。当处理器提供这些功能时,可以由单个专门的处理器、或单个共享的处理器、或多个其中有些可共享的各个处理器来提供。而且,明确使用术语“处理器”或“控制器”不应该解释为排他性地指代能够执行软件的硬件,它可以隐含地包括但不限制于,数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器、随机访问存储器(RAM)、以及非易失性存储器。还可以包括其他传统的和/或通常的硬件。同样,图中所示的任何切换开关仅仅是概念性的。它们的功能可以通过操作编程逻辑、专门的逻辑,以及程序控制和专门逻辑的交互作用,甚至是通过实施者的人工操作所选择的特定技术来实现,如根据上下文所更加具体理解的。
在本申请的权利要求书中任何表示为装置的元件用于执行具体的功能,并且它们旨在包括任何执行该功能的方式,例如包括,a)执行该功能的电路元件的组合,或b)任何形式的软件,包括与适当的电路相组合的硬件、微码等等来运行该软件以执行该功能。这些权利要求所定义的本发明在于以下事实,以权利要求书要求的方式组合并且将各种所叙述的装置提供的功能集合在一起。因此申请人认为任何能够提供这些功能的装置都等同于这里所示的等同物。
软件所应用的软件模块、或简单的模块,在这里可以表示为流程图单元或其他单元的任何组合,这些单元表示执行处理步骤和/或本文的描述。这些模块可以通过明确表示或隐含所示的硬件来执行。
除非这里明确地规定,附图并不是按照比例绘制的。
在本说明书中,不同图中具有相同附图标记的组件表示相同的组件。
图1所示为根据本发明的原理用于给视频信号数字加水印的示意性发送机101,其中加水印是在每一帧的基础上,通过借助视频信号中每个块的色度部分平均值携带水印数据的一个或更多比特来实现。
图1中所示为a)YUV分用器和抽取器103,b)色彩选择器105,c)双刀双掷开关109,d)纹理掩蔽单元111,e)乘法器113,f)加法器115,g)多路复用器117,h)位映象器123,以及i)加法器133。如图1所示,可选项为j)信道编码器119,和k)块交织器121。
YUV分用器和抽取器103接收要加水印的视频信号,即要为视频信号增加附加信息。YUV分用器和抽取器103可以处理视频信号,例如根据串行数字接口(SDI)标准格式化的视频。正如本领域的普通技术人员将会意识到,可使用传统的技术将最初不是适当数字格式的任何视频信号转换为适当的数字格式。
YUV分用器和抽取器103分用视频的亮度分量(Y)及其色度分量。视频信号的色度分量包括两部分U和V,其中U为差分蓝色部分以及V为差分红色部分。
将附加数据嵌入到色度分量中的大量处理优选利用特别抽取的视频格式来执行,其中对于视频的每个原始的2×2亮度块,如果将原始块表示为4-4-4格式,那么只剩下一个Y值、一个U值和一个V值。为此目的,在输入视频信号实际上为所谓的4-4-4格式的情况下,通过分用器和抽取器103适当地抽取该图像,以便对于每个原始的2×2亮度块来说,都具有一个Y值、一个U值和一个V值。同理,在输入视频信号为所谓的“4-2-2”格式的情况下,即亮度为满分辨率时,当色度部分为a)垂直方向为满分辨率和b)水平方向为半分辨率时,分用器和抽取器103水平和垂直地抽取亮度分量以及只垂直抽取每个色度分量。同样地,在输入视频信号为所谓的4-2-0格式的情况下,即图像的亮度分量为满分辨率而色度分量每个都仅为垂直和水平方向的半分辨率,图像的亮度分量由分用器和抽取器103抽取,以便对于每个原始的2×2亮度块来说如果原始块已经表示为4-4-4格式,那么只剩下Y值、一个U值和一个V值。
优选的抽取视频格式可以提供作为色彩选择器105的输出。因此,优选地,不管输入视频信号的格式如何,系统的其他处理优选地可以基于抽取的视频信号,从而对于原始输入视频信号的满分辨率亮度像素的每个2×2块,具有Y值、一个U值和一个V值。本领域的普通技术人员将能够开发其各自的方法,如果它们选择这样做的话,将为亮度像素的每个2×2块开发一个Y值、一个U值和一个V值。
为了知道原始视频的格式,a)操作者可以向YUV分用器和抽取器103指示提供给发送机101的视频的特定格式,b)可以使用传统技术直接从视频检测到视频的格式,或c)可以从提供输入视频信号的高层处理器提供该信息。
YUV分用器和抽取器103还可以提供原始输入视频信号满格式的第二组YUV输出给双刀双掷开关109。
色彩选择器105为任何特定的像素确定在色度分量的哪一部分即在U部分还是V部分,如果有必要的话,可以更好地适应值的改变而不会引入可见的人为加工信号。在本发明的一个实施例中,色彩选择器105基于如下详细所述的查询表。可替换地,可能全部或部分基于各种计算,诸如在先的美国专利申请第10/342704号。
色彩选择器105的输出还用于控制双刀双掷开关109的位置。更具体而言,如此设置色彩选择器105的输出,以便双刀双掷开关1091)为加法器115提供已经选择用于携带水印数据的色度分量部分;以及2)为YUV多路复用器117提供未被选择的色度分量部分。色彩选择器105的输出还提供给多路复用器117和以下所述使用的位映象器123。
纹理掩蔽单元111分析每个像素周围的亮度区域的纹理,这些像素以抽取格式由YUV分用和抽取器103提供作为输出,以用来确定该像素能够适应的而不引入可见的人为加工信号的最大changevalue,并提供表示该changevalue的一个加权作为输出。例如采用整数值1到5可以编码加权值。也可以使用其他值,例如经验表明在忙区域可以使用最大为20的值而不会有可见的质量下降。该加权提供给乘法器113。纹理掩蔽单元111可以产生小于能引入到像素中的最大失真的值,正如下文所述。
注意到所使用的特定值至少部分地取决于用于表示每个Y、V和V值的比特数量。例如,上述建议的加权值1到5,甚至用于Y、U、V的最大为20的加权值是8比特值。本领域的普通技术人员将容易意识到,用于8比特的值可以通过乘以4缩放到10比特,例如将该值向左移位两次。同样地,能够类似地适应Y、U、和V所使用的其他数量的比特。
乘法器113将从纹理掩蔽单元111接收的加权与作为该像素一部分发送的信息的相关值进行相乘,其中该值由位映象器123提供。例如,位映象器123所提供的值可能为-1,0或1。乘法器113产生的乘积提供给加法器115和133。
纹理掩蔽单元111响应于加法器122。有关这方面应该注意到,在它从加法器133接收一个该影响的信号时,纹理掩蔽单元111可以产生小于能够引入到像素中的changevalue的加权值。更具体而言,加法器133为每个块增加纹理掩蔽单元111所提供的值。加法器133提供一个最大值作为它的输出给纹理掩蔽单元111,纹理掩蔽单元111使用该值作为它的用于当前被处理像素的输出加权。加法器133提供的最大值小于a)基于它周围纹理的像素所能够适应的最大加权值以及b)位映象器123提供给加法器133的用于该块的值和该块的当前和之间的差值。因此,一旦该和等于位映象器123提供给加法器133的用于该块的值,纹理掩蔽单元111就为该块的每个剩余像素输出一个零。
加法器115通过将乘法器113所提供的值增加到色度部分的值上产生修正的色度部分,色彩选择器105选择该色度部分以携带用于该像素的附加信息。正如所示,色彩选择器105所选择的用以携带附加信息的色度部分,通过双刀双掷开关109传送到加法器115。加法器115提供的修正色度部分被提供给多路复用器117。
纹理掩蔽单元111、乘法器113、位映象器123和加法器133协同工作以有效地上采样增加到特定处理分辨率的每个像素的值,以匹配原始视频信号色度的格式。为此目的,产生的上采样值可以增加到所选择的原始视频信号的每个像素的色度部分,该部分对应于用于处理的特定减少分辨率格式的像素位置。例如,如果原始视频信号为4-2-2格式,那么被确定增加到特定处理格式的块的每一个像素值在每个线基础上进行复制,以便产生要增加值的块,该块具有每线8像素以及每块16线。在该块中,非叠加的2个连续线组中的每一线具有相同的增加值。这种块在大小上对应于4-2-2格式原始视频中所选色度部分的原始块。通过加法器115将产生的上采样块的每个值增加到各个类似于原始视频信号中定位像素的选择色度部分。本领域的普通技术人员将容易地能够执行类似的对于不同格式的块转换。注意到,色彩选择器105没有确定所选色度部分的一个块的这些像素能够更好地适应增加值将为零的改变。如果原始视频信号为4-2-0格式,不需要任何上采样。
在本发明的另一个实施例中,只处理抽取的特定处理分辨率格式。然后,例如在多路复用器117中上采样产生的修正色度部分。但是,这样做可能导致原始视频信号的一定恶化,尽管这种恶化不需要为可见的。
多路复用器117接收原始亮度分量(Y)和通过双刀双掷开关109从YUV分用器和抽取器103所提供的未修正的色度部分。多路复用器117还从加法器115接收修正的色度部分。然后,多路复用器117一起多路复用原始亮度分量(Y)、未修正的色度部分以及修正的色度部分。多路复用器117依靠接收色彩选择器105的输出知道在哪一引线上接收色度分量的修正部分以及在哪一引线上接收色度部分的未修正部分。根据本发明的一个方面,产生的视频信号被提供作为加水印的输出视频信号。
本领域的普通技术人员将能够开发出本发明的实施例,其中附加数据被填加到原始色度信号部分而不是其抽取版本部分,从而将不需要上采样。
正如上所示,附加信息的二进制数据值即1和0被为每一个块发送,它可以直接提供给位映象器123用作水印数据,或者可以首先处理该值以便于在接收机处理和恢复信息。这种示意性的处理可以通过可选择的信道编码器119和块交织器121来实现。
信道编码器119接收希望嵌入到视频流中的附加数据。然后例如使用前向纠错编码方案对该数据编码。这种前向纠错方案可以为任意的传统前向纠错方案,诸如卷积编码,例如维特比编码或turbo编码,或它可能为任何新开发的编码方案。在本发明的一个示意性实施例中,使用半速率卷积编码。这种编码的结果是,为原始比特流的每个比特产生两比特。信道编码的比特流作为输出通过信道编码器119提供给块交织单元121。
块交织单元121重新编排信道编码的比特流的比特顺序以便随机地分配该数据。这种做有助于减少信道编码的比特流的相邻部分丢失的机会,例如,由噪声脉冲或其他因素引起的这种丢失,这将使得在接收机难以从剩余的、实际接收的数据中恢复这种数据。在本发明的一个示意性实施例中,交织作为一个单元的比特数量等于一帧中块的数量。块交织器可以这样实现,即从左到右顺序地写入数据到块的行中,在每行的末尾,从下一行向下的最左边的位置再次开始,然后通过在块的最左上的位置开始来读取数据,并向下读取一列,直到到达该列的末尾,在该点位置上阅读在下一列的顶部继续。已经证明45行×30列的块交织器对于720×480像素的图片大小而言是有效的。对于不同的分辨率,本领域的普通技术人员将能容易开发出可比的块编码器。交织的信道编码比特流作为输出由位交织器121提供给位映象器123。
根据本发明的一个方面,根据位映象器123的控制在原始视频信号的至少一帧的至少一个块上,将块交织器121所提供的数据比特印象为水印数据。根据本发明的原理,位映象器123控制水印数据插入到每个块的至少一个选择色度部分之平均值的其中一个比特位置,其中数据印象到该块上,从而有效地代替了该比特位置上的比特。
例如,当在块的选择色度部分的平均值整数部分的最低有效位要携带水印数据时,需要给平均值增加的值为0或1。当平均值的整数部分的最低有效位已经和被携带水印数据比特相同时增加零,而当平均值的整数部分的最低有效位为要携带的水印数据比特的补码时增加1。当在块的选择色度部分的平均值整数部分的次最低有效位要携带水印数据时,给像素增加的数据值为-1、0或1。当平均值的整数部分的次最低有效位已经和要携带的水印数据比特相同时增加零,当平均值的整数部分的次最低有效位为要携带的水印数据比特的补码时增加1或-1。是增加1还是-1这取决于谁将对平均值引起最小的改变,同时将平均值的整数部分的次最低有效位改变为其补码。使用次最低有效位被嵌入的数据更可能经得住通过MPEG或类似处理的编码。当数据被放置在块所选择色度部分的平均值整数部分的第三最低有效位中,给像素增加的数据值为-2、-1、0、1或2。当平均值的整数部分的第三最低有效位已经和要携带的水印数据比特相同时增加零,当平均值的整数部分的第三最低有效位为要携带的水印数据比特的补码时增加-2、-1、1或2。是增加-2、-1、0还是1这取决于谁将对平均值引起最小的改变,同时将平均值的整数部分的第三最低有效位改变为其补码。使用第三最低有效位被嵌入的数据甚至更可能经得住通过MPEG或类似处理的编码以获得充分的结果。从上述可以得到,本领域的普通技术人员将会容易地能够确定为更多有效位位置增加的值,这些位置由用户或系统来确定。
为此目的,位映象器123开发了一个值,该值分配增加到块的像素的所选色度部分,从而这种做改变了该块的色度部分的平均值,以便块交织器121所提供的印象比特被放置在所选色度部分的平均值的所选比特位置上。该值为增加到所选色度部分平均值的值以将水印数据比特通过与块中像素的数量相乘来放置在合适的比特位置。换言之,位映象器123开发的值被增加到色度部分的平均值上,并且被分离为较小值,并将这些值增加到块的各个像素中,以便增加到块中的通过块中像素的数量所分离的全部较小值,等于要增加到所选色度部分平均值的值。
该块色度部分的特定比特平均值,例如该色度部分的DC系数,通过位映象器123来确定,其中位映象器123所提供数据印象到该块上。在本发明的一个示意性实施例中,用于该块的DC系数的第二最低有效位代替为期望印象到该块上的特定值。在本发明的另一个实施例中,DC系数的哪一个比特被代替可能为该块纹理变化量的函数。有利的是,随着纹理变化量的增加而增加被代替位的有效性,因为MPEG编码标准为较大的纹理变化量应用较多的量化步长大小,并如果该比特位于不是足够有效的比特位置上,则使用这种较大的量化步长大小能够过滤加有水印的数据比特。当使用更多的有效位时,给DC系数增加或减少值,以便改变代替其补码值的比特可以大于1。为此目的,根据本发明的一个方面,位映象器123从纹理掩蔽单元111接收该块的亮度分量的平均变化量,并基于该平均变化量,确定要代替哪一个比特位置。变化量越大,放置水印数据的比特位置越有效。
位映象器123提供来自交织的信道编码比特流的数据比特,当像素将要包含在加水印的输出视频信号中时,该数据比特在用于原始视频信号的块的每一像素的合适时间,传送给原始视频信号的每个块。因此,位映象器123考虑到以下的事实,即视频信号的处理是基于线的,即在一个线上从左到右进行处理,然后到下一线并且再次从左到右处理,这使得一个块的相邻像素不是必须地顺序位于视频流中,所以不都在直接相邻的时间里处理。被提供作为位映象器123在任何时间输出的特定数据比特提供作为乘法器113的输入。
使用一个诸如图1所示的编码器,当视频帧大小为720×480像素时,已经为提供给信道编码器119的附加信息实现了基本上无错误的大约每秒6750比特的比特率。
本领域的普通技术人员从上述描述将会容易意识到,图1所示的各个单元需要存储器,以便首先确定这些值,例如块的原始平均值和块的平均纹理变化量,这些值必须使用来自整个块的信息来计算,然后应用这些值处理各个像素。因此,典型地存在一个片延迟,这里的片为一帧上总是水平的那些块的一条。
图2所示为根据本发明的原理用于恢复视频信号的附加数据的示意性接收机201,该视频信号包含其色度信号上的数字水印。在图2中所示为a)YUV分用器和抽取器203,b)色彩选择单元207,c)双刀双掷开关209,d)块变化量计算单元211,e)块积分器V213,f)块积分器U215,g)比特选择器217,h)去交织器219,和i)信道解码器221。
根据本发明的原理,YUV分用器和抽取器203,可以基本上和发送机101(图1)的YUV分用器和抽取器103相同,它接收已加有数字水印的视频信号,其中附加信息已经填加到该信号的色度部分中。YUV分用器和抽取器203与数字视频,例如根据串行数字接口(SDI)格式化的视频协同工作。正如本领域的普通技术人员将会意识到,初始不是适当数字格式的任何视频信号可以使用传统的技术进行转换。
YUV分用器和抽取器203分用视频的亮度(Y)分量及其色度分量并抽取它为优选的处理格式,其中对于视频的每个原始2×2亮度块,如果原始块已经表示为4-4-4格式,那么只剩余一个Y值、一个U值和一个V值。为了知道接收视频的格式,a)操作者需要给YUV分用器和抽取器203指示输入视频的特定格式,b)使用传统的技术直接从视频中可以检测到视频的格式,或c)可以从高层处理器提供信息,该处理器提供输入视频信号。分用的亮度和色度分量提供给色彩选择器207。另外,亮度分量提供给块变化量计算单元211,V色度部分提供给块积分器V213,以及U色度部分提供给块积分器U 215。不象YUV分用器和抽取器103,YUV分用器和抽取器203不需要提供原始输入视频信号的完全格式的第二组YUV输出。
色彩选择单元207为每个块确定色度分量的哪一个部分即U部分还是V部分,可能嵌入附加信息。色彩选择单元207的输出用于控制双刀双掷开关209的位置。更具体而言,色彩选择单元209选择色度部分U或V,作为Y、U和V的函数,正如下文更详细所述的,在哪一个部分上可能已经为该块嵌入附加信息。在本发明的实施例中,色彩选择单元207基于一个查询表。这样可以简化处理,从而避免了需要YUV到RGB的转换,否则可能必须转换。
注意到色彩选择单元207的输入为各个像素。色彩选择单元207保持跟踪每个块中的像素并为块中的每个像素组合各个U或V选择。具有最高值即最经常选择用于块中像素的特定分量,被确定为色彩选择单元207的输出。然后将色彩选择单元207的输出如此设定,以便开关209为比特选择器217提供色度分量部分的积分版本,其中已确定了将附加数据填加到该色度分量中。
块变化量计算单元211确定用于该块的所选色度部分的平均值的特定比特,例如,用于所选色度部分的DC系数,该部分可能包含有印象数据。正如所注意到的,在本发明的示意性实施例中,位映象器123(图1)接收和应用块的像素亮度分量变化量的平均值来确定,应该用要被印象的水印数据代替哪一个比特位置。变化量越大,应该代替的比特位置越有效。块变化量计算单元211(图2)应该使其计算基于映象器123所使用的相同信息以重复它的确定。块变化量计算单元211的输出提供给比特选择器217。
块积分器V213在整个块上积分V的值,即组合例如相加用于块中的每个像素的值。块积分器U215在整个块上积分U的值,即组合例如相加用于块中的每个像素的值。
比特选择器217根据通过开关209提供给它的作为块数据的已积分的色度部分值,在块变化量计算单元211规定的比特位置提取比特。
去交织器219重新排序数据以取消发送机101的块交织器121(图1)的影响。然后将重新排序值提供给信道解码器221(图2),该解码器为经过编码的信号执行适当地解码,已使用发送机101(图1)的信道编码器119所应用的编码类型对信号编码。产生的解码值由信道解码器221(图2)提供作为附加数据信号的重构版本。为了更加健壮,信道解码器221可以为所谓的“序列解码器”,例如turbo解码器。
图3A和3B所示为当它们结合在一起为如图3所示时,根据本发明的原理在利用附加数据给其中的色度部分加水印时所使用的示意性处理流程。对于确定的比特位置已经等于将要印象值的那些块,可以未经修改发送该块。在本发明的示意性实施例中,可以在诸如图1所示的系统中执行图3的处理流程。
当块的所有像素可用时,在步骤301开始处理流程。图3的处理部分在一块一块的基础上发生,部分处理基于一个一个的像素。使用二维指针p、q对一帧的各块加以索引,这里p指的是被处理帧的特定水平片,q指的是该帧的特定列或垂直片。例如,对于720×480分辨率,p的范围在1和30之间,q的范围在1和45之间。同理,使用二维指针i、j对每个块的各像素进行索引,其中i指的是被处理块内的特定行,j指的是被处理块内的特定列。例如,在用于印象数据的特定处理模式中,原始视频的每个宏块具有唯一对应的Y、U和V的8×8块,并且i和j的范围都在0和7之间。
在步骤301开始处理之后,在步骤303初始化处理流程中所使用的一些变量,例如countU(p,q)=0,countV(p,q)=0,sumU(p,q)=0,sumV(p,q)=0以及var(p,q)=0。countU和countV为由色彩选择处理分别选择块内多少像素为适于在U和V色度部分上加水印的累计,而sumU以及sumV为块的所有像素上各个U和V的值的累计。在本发明的实施例中,只对选择用于该块的色度部分的像素执行加水印,对于sumU和sumV的其中被开发用于未选择的色度部分的一个没用。
在步骤305,计算块内的每个像素的亮度变化量的累计var(p,q),当然该累计与块的亮度平均变化量成比例。为此目的,i和j初始都设置指的是要处理的块的第一像素,例如i=0和j=0。通过块的每个像素循环、如适当地改变i和j的值以及将每个像素的亮度变化量与当前累计的var(p,q)加到一起来计算var(p,q)的值。
在本发明的一个实施例中,可以利用像素和所有它的最近邻居之间的亮度差的绝对值,来为任何特定像素计算亮度变化量。从数学上而言,所有最近邻居位于相同的块内,这可以写为var(p,q)=var(p,q)+(|Y(i,j)(p,q)-Y(i-1,j-1)(p,q)|+|Y(i,j)(p,q)-Y(i-1,j)(p,q)|+|Y(i,j)(p,q)-Y(i,j-1)(p,q)|+|Y(i,j)(p,q)-Y(i,j)(p,q)|+|Y(i,j)(p,q)-]]>Y(i+1,j+1)(p,q)|+|Y(i,j)(p,q)-Y(i+1,j)(p,q)|+|Y(i,j)(p,q)-Y(i,j+1)(p,q)|+|Y(i,j)(p,q)-Y(i-1,j+1)(p,q)|+|Y(i,j)(p,q)-Y(i+1,j-1)(p,q)|).]]>本领域的普通技术人员将会容易能够将上述内容适用于这些像素,它们的最近邻居位于其他块内。而且,对于位于帧的边界上,因此没有最近的邻居,或最近的邻居的这些块,或不显示的这些块部分,这些邻居的值可以考虑为零。
根据本发明的另一个方面,在变化量计算中并不需要考虑所有像素的最近邻居,但是能够获得足够高质量的结果。更具体而言,有利的是,在该计算中,通过只采用该像素周围的正方形角上的4个像素和2个包含当前像素的其他形成垂直或水平线的像素之差,例如包含当前像素的水平线上的2个像素,减少了用于每个像素的时间。
之后,条件分支点307进行测试以确定哪一个特定色度部分,即U或V,将包含用于该块的水印信息。这是通过估计块中每个像素的色彩选择以及计数选择用于每一色度部分的块内像素数目而实现的。最大可能选择用于块的色度部分被选择用来加水印。注意到在本发明的一些实施例中,可以确定特定的像素完全不适合于加水印。在这种情况下,不为U或V计数像素的总数。
确定选择用于为每个像素加水印的色彩的特定方法在于实施者的判断。在本发明的一个实施例中,选择具有最小值的像素的色度部分。在本发明的另一个实施例中,应用如下所述的色彩选择安排。
接下来,确定将包含加有水印比特的所选色度部分的平均值的比特位置。如此选择比特位置,以便加水印的比特将经得住任何接下来的量化,诸如在类似MPEG编码中所发生的。
为此目的,如果在步骤307的测试结果为选择V色度部分加水印,则将控制传递到步骤309,其中变量watermarkcolor设置等于V。之后,条件分支点323进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第一预定V阈值t1v,这为最大的V阈值。t1v的一个示例值为600。
注意到,当平均Y变化率与建议的阈值相比较时,结合图3和4使用的用于U和V的特定阈值值至少部分地取决于用来表示每个Y值的数量。例如,这里建议的阈值值对于Y而言为8比特值。本领域的普通技术人员将会容易意识到,应用于8比特的值通过与4相乘可以缩放为10比特,例如向左移位该值两次。同样地,能够同理适应用于Y、U和V的其他数量的比特。
在本发明的其他实施例中,代替使用用于各个比较的块的平均Y变化量,可以计算和应用不同的平均变化量,例如整个块的平均V变化量。
如果在步骤323的测试结果为“是”,表示该变化量足够大,则附加数据应该在块的像素的V平均值的第5最低有效位上编码,例如int[sumV(p,q)/(每块的像素数量)]的值,例如int[sumV(p,q)/64],大于t1v,则将控制传递到步骤325,其中设定变量m等于5。
注意到代替使用如这里所使用的用于舍入成整数的整数函数int,可以应用能够获得整数值的舍入成整数的任何其他形式,例如总是向上舍入为整数或总是舍入为最近的整数值。
如果在步骤323的测试结果为“否”,这表示变化量不足够大以使得附加数据应该在块的像素V平均值的第5最低有效位上编码,则将控制传递到条件分支点329,该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第二预定V阈值,即t2v,它为第二大V阈值。t2v的示例值为15。
如果在步骤329的测试结果为“是”,这表示附加数据应该在块的像素V平均值的第4最低有效位上编码,则将控制传递到步骤331,其中设定变量m为4。
如果在步骤329的测试结果为“否”,这表示变化量不足够大以使得附加数据应该在块的像素V平均值的第4最低有效位上编码,则将控制传递到条件分支点333,在该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第三预定V阈值,即t3v,它为最小的V阈值。t3v的示例值为7。
如果在步骤333的测试结果为“是”,这表示变化量足够大,数据应该在块的像素V平均值的第3最低有效位上编码,则将控制传递到步骤335,其中变量m被设定为3。
如果在步骤333的测试结果为“否”,这表示变化量只足够大以使得数据应该在块的像素V平均值的第2最低有效位上编码,则将控制传递到步骤337,其中变量m被设定为2。
如果在步骤307的测试结果为选择U色度部分加水印,则将控制传递到步骤311,其中变量watermarkcolor设置等于U。之后,条件分支点343进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第一预定v阈值t1u,这为最大的阈值。t1u的一个示例值为600。
在本发明的其他实施例中,代替使用用于各个比较的块的平均Y变化量,可以计算和应用整个块的平均U变化量。
如果在步骤343的测试结果为“是”,这表示该变化量足够大,数据应该在块的像素的U平均值的第5最低有效位上编码,例如int[sumV(p,q)/(每块的像素数量)]的值,例如int[sumU(p,q)/64],大于t1u,则将控制传递到步骤345,其中设定变量m等于5。
注意到代替使用如这里所使用的用于舍入成整数的整数函数int,可以应用能够获得整数值的舍入成整数的任何其他形式,例如总是向上舍入为整数或总是舍入为最近的整数值。
如果在步骤343的测试结果为“否”,这表示变化量不足够大以使得数据应该在块的像素U平均值的第5最低有效位上编码,则将控制传递到条件分支点349,该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第二预定V阈值,即t2u,它为第二大U阈值。t2u的示例值为15。
如果在步骤349的测试结果为“是”,这表示数据应该在块的像素U平均值的第4最低有效位上编码,则将控制传递到步骤351,其中设定变量m等于4。
如果在步骤349的测试结果为“否”,这表示变化量不足够大以使得数据应该在块的像素U平均值的第4最低有效位上编码,则将控制传递到条件分支点353,该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第三预定阈值,即t3u,它为最小的U阈值。t3u的示例值为7。
如果在步骤353的测试结果为“是”,这表示变化量足够大,数据应该在块的像素U平均值的第3最低有效位上编码,则将控制传递到步骤355,其中设定变量m等于3。
如果在步骤353的测试结果为“否”,这表示变化量只足够大以使得数据应该在块的像素U平均值的第2最低有效位上编码,则将控制传递到步骤357,其中设定变量m等于2。
一旦确定了应用所选色度部分的整个块之平均值的特定比特以包含加有水印的数据,那么处理流程确定采用包含想要比特的比特位置。处理的目的是将所选色度部分当前平均值加上或减去最小可能值以保证,想要的比特位置将发送水印比特的值。注意到,在本发明的一个实施例中,想要的比特位置为位于平均值整数部分的比特位置。为此目的,理想上,如果想要的比特位置已经包含了要发送的水印比特的值,那么没有任何值可以增加到所选色度部分的当前平均值。另一方面,如果想要的比特位置包含了要发送的水印比特值的补码,在理想情况中,只将想要的比特位置适当地加上或减去最小可能的值,该值通过从想要的比特位置进行加或减将会翻转想要的比特位置为其补码,因此使得所选色度部分平均值的值从当前未加水印的值到其最后加上水印后的值发生最小的变化。
实际上,由于量化噪声,舍入成整数作为创造性处理的一部分,以及类似MPEG编码处理的其他因素,这可能影响想要比特的最终值,所以可能增加或减去很小的差值,如这里进一步所说明的。更具体而言,在本发明的一个实施例中,选择值的“安全”范围,该范围在想要的比特位置具有想要的比特值,以及给所选色度部分的平均值增加或减去该最小值,以便最终值在想要的比特位置具有想要的比特值,并且位于安全范围内。因此,典型地,不论何时平均值的比特需要改变为它的补码以携带水印数据,这时产生的值总是位于安全范围的边界。当想要比特位置的值已经为要发送水印数据比特的值时,如果所选色度部分的平均值已经位于安全范围内,那么不需要增加所选色度部分的平均值。但是,当所选色度部分的平均值还未位于安全范围内,那么有必要从所选色度部分的平均值增加或减去最小值来改变所选色度部分的平均值,使其为位于安全范围内的一个值,同时保持想要比特位置的值位于要发送的水印比特的值上。
概念上,上述考虑到首先增加或减去最小值以在想要的比特位置上获得想要的水印值,并然后增加或减去另一个量例如余量值来保证最终值位于安全范围之内。
图5所示为其中想要比特位置为第三有效位的一些安全范围的实例。沿着轴所示为所选色度部分的平均值。
表1示出(码)(一些值的表)当完成步骤325、331、335、337、345、351、355和357时,将控制传递到条件分支点361,该点进行测试以确定是否在块上印象的水印数据的比特与用于色度部分平均值的当前识别比特位置相同,其中比特位置由变量watermarkcolor来识别。如果步骤361的测试结果为“是”,这表示将在块上印象的水印数据的比特与当前识别的用于色度部分平均值的比特位置相同,其中比特位置由变量watermarkcolor来识别,所以不需要将比特改变它的补码值,并将控制传递到步骤363,该步骤进行测试以确定是否该值位于当前比特位置的安全范围内。如果测试结果为“否”,这表示在接下来的处理过程中可能引入了错误,则将控制传递到步骤365,在该步骤设置变量changevalue等于需要将watermarkcolor所指示的色彩的当前平均值移到最近安全范围内的值,而不改变想要比特位置的值。注意到该值不需要为一个整数值,它还可以为负数值。如果步骤363的测试结果为“否”,这表示用于watermarkcolor所指示色彩的当前平均值已经位于安全范围内,则将控制传递到步骤367,并且将changevalue的值设定等于零。
如果步骤361的测试结果为“否”,这表示在块上印象的水印数据的比特与用于色度部分平均值的当前识别比特位置不相同,其中该位置是由变量watermarkcolor所识别的,所以比特的值必须改为其补码值以适当地携带水印数据,并将控制传递到步骤369,在该步骤进行测试以确定当前比特位置的最近安全范围是大于还是小于watermarkcolor所指示色彩的当前平均值。如果步骤369的测试结果为大于,这表示用于当前比特位置的最近安全范围的值大于watermarkcolor所指示色彩的当前平均值,则将控制传递到步骤371,在该步骤中将变量changevalue的值设定等于增加到平均值中的最小值,以便产生的值位于具有较大值的邻近安全范围内。注意到该值不需要为整数值。如果在步骤369的测试结果为小于,这表示用于当前比特位置的最近安全范围的值小于watermarkcolor所指示色彩的当前平均值,则将控制传递到步骤373,在该步骤中将变量changevalue的值设定等于最小负值,当将该值增加到平均值时,得到的值位于具有较小值的相邻安全范围内。再次,注意到该值不需要为一个整数值,并且还可以为一个负值。
当完成步骤365、367、371或373时,将控制传递到步骤375,在该步骤中将为像素增加的总计值设定等于每块像素的数量与changevalue之值的乘积。如果产生的乘积值不是整数,那么该值将被舍入。以与步骤365、371和373一致的方式执行这种舍入,如果增加的为一个负值,利用该值的整数部分向下进行舍入,如果增加的为一个正值的话,则舍入将向着下一个完整的整数值。
现在处理从每块等级改变到在块内的每像素等级。在步骤377,指向该块的第一像素。之后,条件分支点379进行测试以根据它的色彩确定是否要给当前像素加水印。通过确定是否适于加水印的该像素的色度分量与在步骤307为整个块所选择的色彩相同来完成上述处理。如果步骤379的测试结果为“是”,这表示应该给该像素加水印,则将控制传递到步骤381,在该步骤中根据像素的亮度变化量以及到目前为止为该块的像素所增加的总计值,来为当前像素增加一个值。
更具体而言,将能够给像素增加的而不引入可见的人为加工信号的最大值确定为亮度变化量的函数。亮度变化量越大,则能够增加的值就越大,最大为预定的最大值。注意到该值可正可负。然后,如果增加到像素的总值为正值,则将该值增加到像素,或者如果增加到像素的总值为负值,则从该像素减去该值。但是,随着每个像素处理的进行,增加或减去值的累计从总值中减去以增加到像素中。如果增加到当前像素的值将使得增加到像素的总值与累计之间的差值超过零,那么将调整该值以便累计正好等于零。
如果步骤379的测试结果为“否”,或在完成步骤381之后,将控制传递到条件分支点383,在该点进行测试以确定是否当前像素为块的最后一个像素。如果在步骤383的测试结果为“否”,将控制传递到步骤385,在该步骤进行测试以确定是否要给块的像素增加的总值已经被增加,即累计是否等于要为该块像素增加的总值。如果步骤385的测试结果为“否”,这表示还需要给块像素增加更多值,则将控制传递到步骤387,该步骤指向块的下一个像素。然后传送回到步骤379,处理如上所述继续进行。
如果步骤383或385的测试结果为“是”,这表示块的所有像素已经被处理或者已经增加了所需要增加的全部总值,则将控制传递到步骤389并退出处理。
图4A和4B所示为当它们结合在一起为如图4所示时,根据本发明的原理从数字加水印视频信号中提取附加信息的示意性处理流程,其中构成视频信号内的水印信号的附加信息已经印象在了色度分量上。这种处理可以通过本发明的示意性实施例,在色彩选择207、双刀双掷开关209、块变化量计算单元211、块积分器V213、块积分器U215和比特选择器217(图2)上来实现,诸如图2所示。
当要处理接收抽取帧的新块时,在步骤401开始处理流程(图4)。应该注意到为了教导的目的,这里假设为由块组成的图4处理流程的处理提供像素,以便在处理下一块的任何像素之前,处理块的所有像素。但是,在实际系统的设计中,本领域的普通技术人员将会容易意识到,可以以与扫描像素相同的顺序来处理这些像素,可以使用适当的存储位置和控制结构以便有效地单独地处理这些块。
图4的处理部分在一块一块的基础上发生,部分处理基于一个一个的像素。使用二维指针p、q来索引一帧的这些块,这里p指的是被处理帧的特定水平片,q指的是该帧的特定列或垂直片。例如,对于720×480分辨率,p的范围在1和30之间,q的范围在1和45之间。同理,使用二维指针i、j对每个块的像素进行索引,其中i指的是被处理块内的特定行,j指的是被处理块内的特定列。例如,在用于印象该数据的特定处理模式中,原始视频的每个宏块具有唯一对应的Y、U和V的8×8块,并且i和j的范围都在0和7之间。
在步骤401开始处理之后,在步骤403初始化处理流程中所使用的一些变量,例如countU(p,q)=0,countV(p,q)=0,sumU(p,q)=0,sumV(p,q)=0以及var(p,q)=0。countU和countV分别为由色彩选择处理选择块内多少像素作为U和V的累计,而sumU以及sumV分别为在块的所有像素上各个U和V值的累计。对于该块,i和j都设置指的是要处理的块的第一像素,例如i=0和j=0。对于每个块,var(p,q)表示块内每个像素的亮度变化量的总值,当然该总值与块的亮度平均变化量成比例。
之后,在步骤405,获得用于当前指向的当前被处理块的像素的Y、U和V值,例如获得值y(i,j)(p,q)和U(i,j)(p,q)以及V(i,j)(p,q)。在步骤407,将U和V的当前值增加到sumU和sumV的各个当前值中。而且在步骤407中,通过将当前像素亮度的变化量增加到当前var(p,q)的总值中,更新亮度的变化量var(p,q)。在本发明的一个实施例中,可以利用当前像素和所有它的最近邻居之间的亮度差的绝对值,来为当前像素计算亮度变化量。从数学上而言,所有最近邻居位于相同的块内,这可以写为var(p,q)=var(p,q)+(|Y(i,j)(p,q)-Y(i-1,j-1)(p,q)|+|Y(i,j)(p,q)-Y(i-1,j)(p,q)|+|Y(i,j)(p,q)-Y(i,j-1)(p,q)|+|Y(i,j)(p,q)-Y(i,j)(p,q)|+|Y(i,j)(p,q)-]]>Y(i+1,j+1)(p,q)|+|Y(i,j)(p,q)-Y(i+1,j)(p,q)|+|Y(i,j)(p,q)-Y(i,j+1)(p,q)|+|Y(i,j)(p,q)-Y(i-1,j+1)(p,q)|+|Y(i,j)(p,q)-Y(i+1,j-1)(p,q)|).]]>本领域的普通技术人员将会容易能够将上述内容适用于这些像素,它们的最近邻居位于其他块内。而且,对于靠近帧的边界因此没有最近的邻居的那些块,或最近的邻居为不显示的这些块部分,这些邻居的值可以考虑为零。
根据本发明的另一个方面,在变化量计算中并不需要考虑所有像素的最近邻居,但是能够获得足够高质量的结果。更具体而言,有利的是,在该计算中,通过只采用该像素周围的正方形角上的4个像素和2个其他包括当前像素的形成垂直或水平线的像素之差,例如具有当前像素的水平线上的2个像素,从而减少了计算时间。但是,解码器应该匹配编码器中应用的相同处理。
将控制传递到条件分支点409,在该点进行测试以确定附加数据有可能印象到U或V中的哪一个。下文将详细描述该确定的细节。如果步骤409的测试结果为U,这表示附加数据最可能印象到用于当前像素的U上,则将控制传递到递增countU的步骤411。然后将控制传递到步骤413。如果步骤409的测试结果为V,这表示附加数据最可能印象到用于当前像素的V上,则将控制传递到递增countV的步骤415。然后将控制传递到步骤413。
在本发明的一些实施例中,条件分支点409可以是三种方式的测试,附加结果表示数据有可能完全不印象到像素上,即不印象到U上也不在v上。如果这是一种结果,那么将简单地将控制直接传送到步骤413。
条件分支点413进行测试以确定是否当前像素为当前块的最后一个像素。如果步骤413的测试结果为“否”,这表示还剩余仍未处理的当前块中的其他像素,则将控制传递到步骤417,在该步骤调整i和j的值以指向下一个仍未处理的像素。然后将控制传递回到步骤405并如上所述继续进行处理。如果步骤413的测试结果为“是”,这表示已处理过当前块的所有像素,则将控制传递到步骤419,在该步骤中为该块计算抽取亮度的变化量,即计算8×8Y块的变化量。
然后将控制传递到条件分支点421,在该点进行测试以为当前块确定是否countV大于countU。如果步骤421的测试结果为countV实际上大于countU,则将控制传递到条件分支点423,在该点上进行测试以确定是否整个块上的平均Y变化量,var(p,q)大于第一预定阈值t1v,该阈值为最大的V阈值。t1v的一个示例值为600。
在本发明的其他实施例中,代替使用用于各个比较的块的平均Y变化量,可以在该块上计算和应用平均U或平均V变化量,例如不论哪一个具有较大的计数值。
如果在步骤423的测试结果为“是”,这表示该变化量足够大,数据有可能已经在块的像素的V平均值的第5最低有效位上编码,例如int[sumV(p,q)/(每块的像素数量)]的值,例如int[sumV(p,q)/64],则将控制传递到步骤425,其中设定变量m等于5。然后将控制传递到步骤427,在该步骤中将提取该块像素的V平均值的第m个最低有效位(LSB)的值,将它作为印象到该块的值。然后在步骤459退出处理。
注意到代替使用如这里所使用的舍入成整数的整数函数int,可以应用能够获得整数值的舍入成整数的任何其他形式,例如总是向上舍入为整数或总是舍入为最近的整数值。
如果在步骤423的测试结果为“否”,这表示变化量不足够大以使得数据有可能已经在块的像素V平均值的第5最低有效位上编码,则将控制传递到条件分支点429,在该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第二预定V阈值t2v,它为第二大V阈值。t2v的示例值为15。
如果在步骤429的测试结果为“是”,这表示变化量足够大,数据有可能已经在块的像素V平均值的第4最低有效位上编码,则将控制传递到步骤431,其中设定变量m等于4。然后将控制传递到步骤427,在该步骤中将提取该块像素的V平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
如果在步骤429的测试结果为“否”,这表示变化量不足够大以使得数据有可能已经在块的像素V平均值的第4最低有效位上编码,则将控制传递到条件分支点433,在该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第三预定V阈值t3v,它为最小的V阈值。t3v的示例值为7。
如果在步骤433的测试结果为“是”,这表示变化量足够大,数据有可能已经在块的像素V平均值的第3最低有效位上编码,则将控制传递到步骤435,其中设定变量m等于3。然后将控制传递到步骤427,在该步骤中将提取该块像素的V平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
如果在步433的测试结果为“否”,这表示变化量仅足够大以使得数据有可能已经在块的像素V平均值的第2最低有效位上编码,则将控制传递到步骤437,其中设定变量m等于2。然后将控制传递到步骤427,在该步骤中将提取该块像素的V平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
如果在步骤421的测试结果为countU大于countV,则将控制传递到条件分支点443,在该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第一预定阈值t1u,它为最大的U阈值。t1u的示例值为600。
如果在步骤443的测试结果为“是”,表示该变化量足够大,数据应该在块的像素的U平均值的第5最低有效位上编码,例如int[sumU(p,q)/(每块的像素数量)]的值,例如int[sumU(p,q)/64],则将控制传递到步骤445,其中设定变量m等于5。然后将控制传递到步骤447,在该步骤中将提取该块像素的U平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
如果在步骤443的测试结果为“否”,这表示变化量不足够大以使得数据有可能已经在块的像素U平均值的第5最低有效位上编码,则将控制传递到条件分支点449,在该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第二预定阈值t2u,它为第二大U阈值。t2u的示例值为15。
如果在步骤449的测试结果为“是”,这表示变化量足够大,数据有可能数据已经在块的像素U平均值的第4最低有效位上编码,则将控制传递到步骤451,其中设定变量m等于4。然后将控制传递到步骤447,在该步骤中将提取该块像素的U平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
如果在步骤449的测试结果为“否”,这表示变化量不足够大以使得数据有可能已经在块的像素U平均值的第4最低有效位上编码,则将控制传递到条件分支点453,在该点进行测试以确定是否整个块的平均Y变化量,var(p,q)大于第三预定U阈值t3u,它为最小的U阈值。t3u的示例值为7。
如果在步骤453的测试结果为“是”,这表示变化量仅足够大以使得数据有可能已经在块的像素U平均值的第3最低有效位上编码,则将控制传递到步骤455,其中设定变量m等于3。然后将控制传递到步骤447,在该步骤中将提取该块像素的U平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
如果在步453的测试结果为“否”,这表示变化量足够大,数据有可能已经在块的像素U平均值的第2最低有效位上编码,则将控制传递到步骤457,其中设定变量m等于2。然后将控制传递到步骤447,在该步骤中将提取该块像素的U平均值的第m个最低有效位的值,将它作为印象到该块的值。然后在步骤459退出处理。
注意到尽管在图3和图4中已经所示为使用3个阈值和4比特位置,但是本领域的普通技术人员将容易地能够将所指示的方法适于其他数量的阈值和编码值。
同理,并不是视频信号每一帧或场的所有块需要印象附加的信息。
图6所示为用于确定哪一特定色度部分更加合适因此应该被选择以包含用于像素的加水印信息的示意性处理流程。当有必要选自一个色度部分以包含水印信息时,处理流程在步骤601开始。为了讨论图6的目的,假设以YUV格式表示像素。而且,应该注意到优选地,对于原始视频的每个原始2×2亮度块,如果原始视频已经表示为4-4-4格式,应该只剩余一个Y值用于每个亮度分量,即每一对各个对应的U和V值。为此目的,可以下采样原始块的Y值,以便和U和V具有相同的分辨率。可替换地,可以计算与特定U和V值关联的Y值平均值或一些其他组合,并将它们用作图6处理流程的Y值。
概念上,对应于可能像素位置的三维YUV色彩空间的每个位置,假定像素Y、U和V值能够采取完整范围,则根据实验观察为每个位置分配一个更适合的色度部分,因此应该为一个具有这种Y、U和V值的像素选择该位置。如果要应用用于Y、U和V值的每个可能集合的整个表的版本,其中每个Y、U和V值具有8比特的完整范围,需要存储至少16M比特的信息,假定为每个位置只存储一个比特来表示所选择的色度部分。注意到使用单个比特仅仅允许选择U或V,但是不能指示不U和V两者都不被应用。如果想要能够选择U和V两者都不,32M比特的信息是必须的。
图7所示为示意性分配色度部分的一部分的剖视图,该色度部分要被选择用于三维YUV色彩空间内每个可能的像素。应该注意到仅仅为了教导的目的提供图7,正如概念化可视辅助一样,不代表实际的数据。
为了减少存储要求,可以考虑YUV色彩空间作为一组区域,每个区域定义为包括对应于至少一个集合的位置,典型地,Y、U和V值的多个集合,即对应于至少一个像素、可能多个像素以及每个区域的色彩空间中的位置,然后,例如根据实验观察为映象到区域的每个像素分配一个色度部分,即为Y、U和V值的集合落入该区域内的任何像素选择色度部分。一种查看这种集合到区域中的方式为量化,这种量化可能为线性或非线性的。
表1所列为示意性的色彩空间选择表,其中每个区域对应于4个Y值、4个U值和4个V值,然后对应于用于任何像素的8比特值的64种可能的组合。使用这种表将要存储的所需信息减少到256K比特,这里假定为每个位置只存储一个比特,或减少到512K比特,这里假定期望能够选择Y、V以及U和V两者都不。表1可以存储在任何计算机可读媒体中,例如ROM、RAM,诸如硬盘或磁带驱动器的磁存储器,诸如CD-ROM或DVD-ROM等等的光存储器。
本领域的普通技术人员将容易意识到,表1所应用的值用于每个Y、U和V,它们具有8比特的完整范围,并可以通过除以4,例如将每个10比特值右移两次,被缩放以用于10比特Y、U和V值。同样,能够类似适应用于Y、U和V的其他数量的比特。
为了有效地安排和访问表1的数据,如此进行安排以便用于8个相邻区域的具体U或V选择集合在一起形成一个字节,这里1表示选择U而0表示选择V,以及这些相邻区域具有相同的U和V量化值但是具有不同的顺序量化Y值。因此,对于每个U和V值有8个字节,每一个字节对应一个具有相同U和V量化值但具有不同量化Y值的区域。
表1被安排通过使用一个地址来寻址,该地址具有对应于U值的最高有效位,对应于V值的下一个最低有效值,对应于Y值的最低有效值。换言之,字节的地址可以如下构成U7|U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5这里U7、U6、U5、U4、U3和U2为像素U值的第8到第3最低有效位的值,V7、V6、V5、V4、V3和V2为像素V值的第8到第3最低有效位的值,以及Y7、Y6和Y5为像素Y值的第8到第6最低有效位的值。然后,通过使用Y分量的第5到第2最低有效位例如Y4、Y3和Y2来规定字节内的特定比特。
诸如表1的表格反映了以下事实,即人类的视觉系统a)对蓝色的敏感性较小,和b)对较低的亮度值更敏感。这样的一个表可通过通常如下所述的试凑来开发。
在这些部分中检验色彩空间,其中每个部分通过亮度值来定义以及范围在对应于第一色度部分的第一维内,该维从最小值到最大值进行变化,并且在对应于第二色度部分的第二维内,该维从最小值到最大值进行变化。例如,可以使用8比特值的6个最高有效位来量化任何或全部的亮度和色度部分。这样做可建立一组平面,该平面具有色度部分值的棋盘,并当显示为不同色彩的块时出现,并建立了用于每个亮度值的一个平面。例如,通过量化以便使用用于亮度的8比特值的6个最高有效位,色度部分产生对应于每个可能的量化亮度值的64个平面,每个平面具有一个色彩格的检验板模式,对于每个平面总共有4096个格,垂直方向具有64个格以及水平方向具有64个格。
单独地检查每个平面。为大量足够确信随机数据在帧的相同定位块中在时间上具有不同的值的帧开发随机数据,并用于观察者检测所出现的闪烁。已经证实三十秒或更长是有效的。随机数据印象在包含该平面的帧上,例如只在第一色度部分上不仅使用图1的系统和图3的处理流程完成水印,而且还迫使色彩选择为第一色度部分。显示并观察帧产生的加有水印的版本。
如果在该表中指示观察到没有闪烁的任何块,则亮度和色度部分的组合应该应用当前携带水印数据的色度部分作为该组合的所选色度部分。如果在该表中指示观察到有闪烁的任何块,则亮度和色度部分的组合应该应用当前未携带水印数据的色度部分作为该组合的所选色度部分。为该平面重复这种处理,但是要改变加水印的色度部分。
对于平面的任何块,正如能发生的对于两个色度部分产生闪烁,实施者可以选择应该选择哪一色度部分。例如,可以选择U,因为人类的视觉系统通常对蓝色不敏感。可替换地,可以应用会提供所产生表的更好数据压缩的色度部分。同理,在任何一个块上不出现闪烁时,应用色度部分的选择在于实施者的判断。
为每个平面重复这种处理流程直到填充整个表。
表1地址| 内容-------------------------------------------------------------------------1to 16 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25517 to 32 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25533 to 48 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25549 to 64 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25565 to 80 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25581 to 96 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25597 to 112|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255113 to 128|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255129 to 144|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255145 to 160|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255161 to 176|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255177 to 192|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255193 to 208|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255209 to 224|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255225 to 240|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255241 to 256|255 255 255 255 255 255 255 255 00000000257 to 272|255 255 127 00000255 255 255 255 255 255 255 255273 to 288|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255289 to 304|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255305 to 320|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255321 to 336|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255337 to 352|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255353 to 368|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255369 to 384|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255385 to 400|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255401 to 416|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255417 to 432|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255433 to 448|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255449 to 464|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255465 to 480|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255481 to 496|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255497 to 512|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255513 to 528|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255529 to 544|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255545 to 560|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255561 to 576|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255577 to 592|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255593 to 608|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255609 to 624|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255625 to 640|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255641 to 656|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255657 to 672|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255673 to 688|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255689 to 704|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255705 to 720|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255721 to 736|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255737 to 752|0000000000000000753 to 768|0000000000000000769 to 784|254 255 l27 00000255 255 255 00000785 to 800|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255801 to 816|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255817 to 832|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255833 to 848|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255849 to 864|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255865 to 880|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255881 to 896|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255897 to 912|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255913 to 928|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255929 to 944|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255945 to 960|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255961 to 976|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255977 to 992|255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255993 to 1008 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551009 to 1024 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551025 to 1040 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551041 to 1056 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551057 to 1072 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551073 to 1088 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551089 to 1104 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551105 to 1120 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551121 to 1136 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551137 to 1152 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551153 to 1168 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551169 to 1184 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551185 to 1200 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551201 to 1216 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551217 to 1232 |255 255 255 255 255 255 255 255 000000001233 to 1248 |00000000000000001249 to 1264 |00000000000000001265 to 1280 |00000000000000001281 to 1296 |248 255 255 00000255 255 255 000001297 to 1312 |255 255 255 10000255 255 255 255 255 255 255 2551313 to 1328 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551329 to 1344 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551345 to 1360 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551361 to 1376 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551377 to 1392 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551393 to 1408 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
1409 to 1424 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551425 to 1440 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551441 to 1456 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551457 to 1472 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551473 to 1488 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551489 to 1504 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551505 to 1520 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551521 to 1536 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551537 to 1552 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551553 to 1568 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551569 to 1584 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551585 to 1600 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551601 to 1616 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551617 to 1632 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551633 to 1648 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551649 to 1664 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551665 to 1680 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551681 to 1696 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551697 to 1712 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551713 to 1728 |064 000000000000001729 to 1744 |00000000000000001745 to 1760 |00000000000000001761 to 1776 |00000000000000001777 to 1792 |000000000255 127 000001793 to 1808 |224 255 255 00000252 255 255 100001809 to 1824 |255 255 255 30000255 255 255 300001825 to 1840 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551841 to 1856 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551857 to 1872 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551873 to 1888 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551889 to 1904 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551905 to 1920 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551921 to 1936 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551937 to 1952 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551953 to 1968 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551969 to 1984 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551985 to 2000 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552001 to 2016 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552017 to 2032 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552033 to 2048 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552049 to 2064 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552065 to 2080 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552081 to 2096 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552097 to 2112 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552113 to 2128 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552129 to 2144 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552145 to 2160 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552161 to 2176 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552177 to 2192 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552193 to 2208 |255 255 255 255 255 255 255 255 000000002209 to 2224 |00000000000000002225 to 2240 |00000000000000002241 to 2256 |00000000000000002257 to 2272 |00000000000000002273 to 2288 |00000000000000002289 to 2304 |000000000254 255 000002305 to 2320 |128 255 255 00000240 255 255 100002321 to 2336 |254 255 255 30000255 255 255 700002337 to 2352 |255 255 255 70000255 255 255 15 00002353 to 2368 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552369 to 2384 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552385 to 2400 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552401 to 2416 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552417 to 2432 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552433 to 2448 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552449 to 2464 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552465 to 2480 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552481 to 2496 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552497 to 2512 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552513 to 2528 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552529 to 2544 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552545 to 2560 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552561 to 2576 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552577 to 2592 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552593 to 2608 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552609 to 2624 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552625 to 2640 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552641 to 2656 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552657 to 2672 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552673 to 2688 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552689 to 2704 |00000000000000002705 to 2720 |00000000000000002721 to 2736 |00000000000000002737 to 2752 |00400000002000002753 to 2768 |00000000000000002769 to 2784 |00000000000000002785 to 2800 |00000000000000002801 to 2816 |000000000248 255 000002817 to 2832 |0255 255 10000192 255 255 100002833 to 2848 |248 255 255 30000255 255 255 700002849 to 2864 |255 255 255 15 0000255 255 255 15 00002855 to 2880 |255 255 255 31 0000255 255 255 255 255 255 255 2552881 to 2896 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552897 to 2912 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552913 to 2928 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552929 to 2944 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552945 to 2960 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
2961 to 2976 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552977 to 2992 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552993 to 3008 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553009 to 3024 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553025 to 3040 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553041 to 3056 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553057 to 3072 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553073 to 3088 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553089 to 3104 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553105 to 3120 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553121 to 3136 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553137 to 3152 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553153 to 3168 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553169 to 3184 |255 255 255 255 255 255 255 255 000000003185 to 3200 |00000000000000003201 to 3216 |00000000000000003217 to 3232 |00000000000000003233 to 3248 |00000000000000003249 to 3264 |00800000000000003265 to 3280 |00000000000000003281 to 3296 |00000000000000003297 to 3312 |00000000000000003313 to 3328 |000000000224 255 000003329 to 3344 |128 252 255 10000128 255 255 300003345 to 3360 |224 255 255 70000252 255 255 700003361 to 3376 |255 255 255 15 0000255 255 255 31 00003377 to 3392 |255 255 255 31 0000255 255 255 63 00003393 to 3408 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553409 to 3424 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553425 to 3440 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553441 to 3456 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553457 to 3472 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553473 to 3488 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553489 to 3504 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553505 to 3520 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553521 to 3536 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553537 to 3552 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553553 to 3568 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553569 to 3584 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553585 to 3600 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553601 to 3616 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553617 to 3632 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553633 to 3648 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553649 to 3664 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553665 to 3680 |00000000000000003681 to 3696 |00000000000000003697 to 3712 |00000000000000003713 to 3728 |00000000000000003729 to 3744 |00000000000000003745 to 3760 |000000000096 000003761 to 3776 |00000000000000003777 to 3792 |00000000008000003793 to 3808 |00000000000000003809 to 3824 |00000000000000003825 to 3840 |000000000152 255 100003841 to 3856 |0241 255 100000254 255 300003857 to 3872 |192 255 255 70000248 255 255 15 00003873 to 3888 |254 255 255 15 0000255 255 255 31 00003889 to 3904 |255 255 255 63 0000255 255 255 63 00003905 to 3920 |255 255 255 127 0000255 255 255 255 255 255 255 2553921 to 3936 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553937 to 3952 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553953 to 3968 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553969 to 3984 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2553985 to 4000 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554001 to 4016 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554017 to 4032 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554033 to 4048 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554049 to 4064 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554065 to 4080 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554081 to 4096 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554097 to 4112 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554113 to 4128 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554129 to 4144 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554145 to 4160 |255 255 255 255 255 255 255 255 000000004161 to 4176 |00000000000000004177 to 4192 |00000000000000004193 to 4208 |00000000000000004209 to 4224 |00000000000000004225 to 4240 |00000000000000004241 to 4256 |00000000000000004257 to 4272 |00000000000000004273 to 4288 |00400000000000004289 to 4304 |00000000000000004305 to 4320 |00000000000000004321 to 4336 |00000000000000004337 to 4352 |00000000096 255 100004353 to 4368 |0192 255 300000248 255 700004369 to 4384 |0255 255 70000224 255 255 15 00004385 to 4400 |252 255 255 31 0000255 255 255 31 00004401 to 4416 |255 255 255 63 0000255 255 255 127 00004417 to 4432 |255 255 255 255 0000255 255 255 255 00004433 to 4448 |255 255 255 255 1000255 255 255 255 255 255 255 2554449 to 4464 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554465 to 4480 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554481 to 4496 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554497 to 4512 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
4513 to 4528 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554529 to 4544 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554545 to 4560 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554561 to 4576 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554577 to 4592 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554593 to 4608 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554609 to 4624 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554625 to 4640 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554641 to 4656 |00000000000000004657 to 4672 |00000000000000004673 to 4688 |00000000000000004689 to 4704 |00000000000000004705 to 4720 |00000000000000004721 to 4736 |00000000000000004737 to 4752 |00000000000000004753 to 4768 |0000000000012 00004768 to 4784 |00000000000000004785 to 4800 |00000000000000004801 to 4816 |00000000000000004817 to 4832 |00000000000000004833 to 4848 |00000000000000004849 to 4864 |00224 100000194 253 100004865 to 4880 |0130 255 300000224 255 700004881 to 4896 |0252 255 15 0000128 255 255 15 00004897 to 4912 |240 255 255 31 0000254 255 255 63 00004913 to 4928 |255 255 255 63 0000255 255 255 127 00004929 to 4944 |255 255 255 255 0000255 255 255 255 10004945 to 4960 |255 255 255 255 1000255 255 255 255 30004961 to 4976 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554977 to 4992 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2554993 to 5008 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555009 to 5024 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555025 to 5040 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555041 to 5056 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555057 to 5072 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555073 to 5088 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555089 to 5104 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555105 to 5120 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555121 to 5136 |255 255 255 255 255 255 255 255 000000005137 to 5152 |00000000000000005153 to 5168 |00000000000000005169 to 5184 |00000000000000005185 to 5200 |00000000000000005201 to 5216 |00000000000000005217 to 5232 |00000000000000005233 to 5248 |00000000000000005249 to 5264 |00000000000000005265 to 5280 |00000000000000005281 to 5296 |00000000000000005297 to 5312 |00000000000000005313 to 5328 |00000000000000005329 to 5344 |00000000000000005345 to 5360 |00000000000000005361 to 5376 |00128 1000000227 300005377 to 5392 |00254 300000192 255 700005393 to 5408 |0240 255 15 00000254 255 31 00005409 to 5424 |192 255 255 31 0000248 255 255 63 00005425 to 5440 |255 255 255 127 0000255 255 255 255 00005441 to 5456 |255 255 255 255 0000255 255 255 255 10005457 to 5472 |255 255 255 255 3000255 255 255 255 30005473 to 5488 |255 255 255 255 7000255 255 255 255 255 255 255 2555489 to 5504 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555505 to 5520 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555521 to 5536 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555537 to 5552 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555553 to 5568 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555569 to 5584 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555585 to 5600 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555601 to 5616 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555617 to 5632 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2555633 to 5648 |00000000000000005649 to 5664 |00000000000000005665 to 5680 |00000000000000005681 to 5696 |00000000000000005697 to 5712 |00000000000000005713 to 5728 |00000000000000005729 to 5744 |00000000000000005745 to 5760 |00000000000000005761 to 5776 |00000000000000005777 to 5792 |00000000000000005793 to 5808 |00000000000000005809 to 5824 |00000000000000005825 to 5840 |00000000000000005841 to 5856 |00000000000000005857 to 5872 |00000000000000005873 to 5888 |00000000016 196 300005889 to 5904 |056 248 7000000255 15 00005905 to 5920 |0224 255 15 00000248 255 31 00005921 to 5936 |0255 255 63 0000224 255 255 63 00005937 to 5952 |252 255 255 127 0000255 255 255 255 00005953 to 5968 |255 255 255 255 1000255 255 255 255 10005969 to 5984 |255 255 255 255 3000255 255 255 255 70005985 to 6000 |255 255 255 255 7000255 255 255 255 15 0006001 to 6016 |255 255 255 255 31 000255 255 255 255 255 255 255 2556017 to 6032 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556033 to 6048 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556049 to 6064 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
6065 to 6080 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556081 to 6096 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556097 to 6112 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556113 to 6128 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556129 to 6144 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556145 to 6160 |00000000000000006161 to 6176 |00000000000000006177 to 6192 |00000000000000006193 to 6208 |00000000000000006209 to 6224 |00000000000000006225 to 6240 |00000000000000006241 to 6256 |00000000000000006257 to 6272 |00000000000000006273 to 6288 |00000000000000006289 to 6304 |00000000000000006305 to 6320 |00000000000000006321 to 6336 |00000000000000006337 to 6352 |00000000000000006353 to 6368 |00000000000000006369 to 6384 |00000000000000006385 to 6400 |00000000008300006401 to 6416 |048 224 7000000252 15 00006417 to 6432 |0128 255 31 00000240 255 31 00006433 to 6448 |0252 255 63 0000128 255 255 127 00006449 to 6464 |240 255 255 127 0000254 255 255 255 00006465 to 6480 |255 255 255 255 1000255 255 255 255 30006481 to 6496 |255 255 255 255 3000255 255 255 255 70006497 to 6512 |255 255 255 255 15 000255 255 255 255 15 0006513 to 6528 |255 255 255 255 31 000255 255 255 255 63 0006529 to 6544 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556545 to 6560 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556561 to 6576 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556577 to 6592 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556593 to 6608 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556609 to 6624 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556625 to 6640 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556641 to 6656 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556657 to 6672 |00000000000000006673 to 6688 |00000000000000006689 to 6704 |00000000000000006705 to 6720 |00000000000000006721 to 6736 |00000000000000006737 to 6752 |00000000000000006753 to 6768 |00000000000000006769 to 6784 |00000000000000006785 to 6800 |00000000000000006801 to 6816 |00000000000000006817 to 6832 |000000000128 0000006833 to 6848 |00000000000000006849 to 6864 |00000000000000006865 to 6880 |00000000000000006881 to 6896 |00000000000000006897 to 6912 |00000000080600006913 to 6928 |096 128 15 000000240 15 00006929 to 6944 |00254 31 0000128 192 255 63 00006945 to 6960 |0248 255 63 00000254 255 127 00006961 to 6976 |192 255 255 255 0000248 255 255 255 10006977 to 6992 |255 255 255 255 1000255 255 255 255 30006993 to 7008 |255 255 255 255 7000255 255 255 255 70007009 to 7024 |255 255 255 255 15 000255 255 255 255 31 0007025 to 7040 |255 255 255 255 63 000255 255 255 255 63 0007041 to 7056 |255 255 255 255 127 000255 255 255 255 255 255 255 2557057 to 7072 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557073 to 7088 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557089 to 7104 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557105 to 7120 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557121 to 7136 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557137 to 7152 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557153 to 7168 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557169 to 7184 |00000000000000007185 to 7200 |00000000000000007201 to 7216 |00000000000000007217 to 7232 |00000000000000007233 to 7248 |00000000000000007249 to 7264 |00000000000000007265 to 7280 |00000000000000007281 to 7296 |00000000000000007297 to 7312 |00000000000000007313 to 7328 |00000000000000007329 to 7344 |00000000000000007345 to 7360 |00000000000000007361 to 7376 |00000000000000007377 t0 7392 |00000000000000007393 to 7408 |00000000000000007409 to 7424 |00000000000000007425 to 7440 |0192 015 000064 0192 31 00007441 to 7456 |00248 31 000000255 63 00007457 to 7472 |0224 255 127 00000252 255 127 00007473 to 7488 |128 255 255 255 0000224 255 255 255 10007489 to 7504 |252 255 255 255 3000255 255 255 255 30007505 to 7520 |255 255 255 255 7000255 255 255 255 15 0007521 to 7536 |255 255 255 255 15 000255 255 255 255 31 0007537 to 7552 |255 255 255 255 63 000255 255 255 255 127 0007553 to 7568 |255 255 255 255 127 000255 255 255 255 255 0007569 to 7584 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557585 to 7600 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557601 to 7616 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
7617 to 7632 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557633 to 7648 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557649 to 7664 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557665 to 7680 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557681 to 7696 |00000000000000007697 to 7712 |00000000000000007713 to 7728 |00000000000000007729 to 7744 |00000000000000007745 to 7760 |00000000000000007761 to 7776 |00000000000000007777 to 7792 |00000000000000007793 to 7808 |00000000000000007809 to 7824 |00000000000000007825 to 7840 |00000000000000007841 to 7856 |00000000000000007857 to 7872 |00000000000000007873 to 7888 |00000000000000007889 to 7904 |00000000000000007905 to 7920 |00000000000000007921 to 7936 |00000000040000007937 to 7952 |0192 012 000000129 31 00007953 to 7968 |04224 63 000000252 63 00007969 to 7984 |0128 255 127 00000240 255 255 00007985 to 8000 |0254 255 255 1000192 255 255 255 10008001 to 8016 |240 255 255 255 3000254 255 255 255 70008017 to 8032 |255 255 255 255 7000255 255 255 255 15 0008033 to 8048 |255 255 255 255 31 000255 255 255 255 63 0008049 to 8064 |255 255 255 255 63 000255 255 255 255 127 0008065 to 8080 |255 255 255 255 255 000255 255 255 255 255 0008081 to 8096 |255 255 255 255 255 100255 255 255 255 255 3008097 to 8112 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558113 to 8128 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558129 to 8144 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558145 to 8160 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558161 to 8176 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558177 to 8192 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558193 to 8208 |00000000000000008209 to 8224 |00000000000000008225 to 8240 |00000000000000008241 to 8256 |00000000000000008257 to 8272 |00000000000000008273 to 8288 |00000000000000008289 to 8304 |00000000000000008305 to 8320 |00000000000000008321 to 8336 |00000000000000008337 to 8352 |00000000000000008353 to 8368 |00000000000000008369 to 8384 |00000000000000008385 to 8400 |00000000000000008401 to 8416 |00000000000000008417 to 8432 |00000000000000008433 to 8448 |00000000000000008449 to 8464 |0128 116 000000030 00008465 to 8480 |00192 63 000000240 127 00008481 to 8496 |00254 127 00000192 255 255 00008497 to 8512 |0248 255 255 10000255 255 255 30008513 to 8528 |224 255 255 255 3000248 255 255 255 70008529 to 8544 |255 255 255 255 15 000255 255 255 255 15 0008545 to 8560 |255 255 255 255 31 000255 255 255 255 63 0008561 to 8576 |255 255 255 255 127 000255 255 255 255 127 0008577 to 8592 |255 255 255 255 255 000255 255 255 255 255 1008593 to 8608 |255 255 255 255 255 100255 255 255 255 255 3008609 to 8624 |255 255 255 255 255 700255 255 255 255 255 255 255 2558625 to 8640 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558641 to 8656 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558657 to 8672 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558673 to 8688 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558689 to 8704 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558705 to 8720 |00000000000000008721 to 8736 |00000000000000008737 to 8752 |00000000000000008753 to 8768 |00000000000000008769 to 8784 |00000000000000008785 to 8800 |00000000000000008801 to 8816 |00000000000000008817 to 8832 |00000000000000008833 to 8848 |00000000000000008849 to 8864 |00000000000000008865 to 8880 |00000000000000008881 to 8896 |00000000000000008897 to 8912 |00000000000000008913 to 8928 |00000000000000008929 to 8944 |00000000000000008945 to 8960 |00000000000000008961 to 8976 |0010000000056 00008977 to 8992 |00063 000000224 127 00008993 to 9008 |00252 255 000000255 255 00009009 to 9024 |0224 255 255 10000252 255 255 30009025 to 9040 |128 255 255 255 7000240 255 255 255 70009041 to 9056 |252 255 255 255 15 000255 255 255 255 31 0009057 to 9072 |255 255 255 255 63 000255 255 255 255 63 0009073 to 9088 |255 255 255 255 127 000255 255 255 255 255 0009089 to 9104 |255 255 255 255 255 000255 255 255 255 255 1009105 to 9120 |255 255 255 255 255 300255 255 255 255 255 7009121 to 9136 |255 255 255 255 255 700255 255 255 255 255 15 009137 to 9152 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559153 to 9168 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
9169 to 9184 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559185 to 9200 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559201 to 9216 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559217 to 9232 |00000000000000009233 to 9248 |00000000000000009249 to 9264 |00000000000000009265 to 9280 |00000000000000009281 to 9296 |00000000000000009297 to 9312 |00000000000000009313 to 9328 |00000000000000009329 to 9344 |00000000000000009345 to 9360 |00000000000000009361 to 9376 |00000000000000009377 to 9392 |00000000000000009393 to 9408 |00000000000000009409 to 9424 |00000000000000009425 to 9440 |00000000000000009441 to 9456 |00000000000000009457 to 9472 |00000000000000009473 to 9488 |0060000000032 00009489 to 9504 |000124 000000128 127 00009505 to 9520 |00240 255 000000254 255 10009521 to 9536 |0128 255 255 30000240 255 255 30009537 to 9552 |0254 255 255 7000192 255 255 255 15 0009553 to 9568 |248 255 255 255 15 000254 255 255 255 31 0009569 to 9584 |255 255 255 255 63 000255 255 255 255 127 0009585 to 9600 |255 255 255 255 127 000255 255 255 255 255 0009601 to 9616 |255 255 255 255 255 100255 255 255 255 255 1009617 to 9632 |255 255 255 255 255 300255 255 255 255 255 7009633 to 9648 |255 255 255 255 255 15 00255 255 255 255 255 15 009649 to 9664 |255 255 255 255 255 31 00255 255 255 255 255 255 255 2559665 to 9680 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559681 to 9696 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559697 to 9712 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559713 to 9728 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559729 to 9744 |00000000000000009745 to 9760 |00000000000000009761 to 9776 |00000000000000009777 to 9792 |00000000000000009793 to 9808 |00000000000000009809 to 9824 |00000000000000009825 to 9840 |00000000000000009841 to 9856 |00000000000000009857 to 9872 |00000000000000009873 to 9888 |00000000000000009889 to 9904 |00000000000000009905 to 9920 |00000000000000009921 to 9936 |00000000000000009937 to 9952 |00000000000000009953 to 9968 |00000000000000009969 to 9984 |00000000000000009985 to 10000 |004000000000000010001 to 10016 |000112 0000020254 000010017 to 10032 |00192 255 000000248 255 100010033 to 10048 |00255 255 30000192 255 255 700010049 to 10064 |0248 255 255 70000255 255 255 15 00010065 to 10080 |224 255 255 255 31 000252 255 255 255 31 00010081 to 10096 |255 255 255 255 63 000255 255 255 255 127 00010097 to 10112 |255 255 255 255 255 000255 255 255 255 255 00010113 to 10128 |255 255 255 255 255 100255 255 255 255 255 30010129 to 10144 |255 255 255 255 255 300255 255 255 255 255 70010145 to 10160 |255 255 255 255 255 15 00255 255 255 255 255 31 0010161 to 10176 |255 255 255 255 255 31 00255 255 255 255 255 63 0010177 to 10192 |255 255 255 255 255 127 00255 255 255 255 255 255 255 25510193 to 10208 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25510209 to 10224 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25510225 to 10240 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25510241 to 10256 |000000000000000010257 to 10272 |000000000000000010273 to 10288 |000000000000000010289 to 10304 |000000000000000010305 to 10320 |000000000000000010321 to 10336 |000000000000000010337 to 10352 |000000000000000010353 to 10368 |000000000000000010369 to 10384 |000000000000000010385 to 10400 |000000000000000010401 to 10416 |000000000000000010417 to 10432 |000000000000000010433 to 10448 |000000000000000010449 to 10464 |000000000000000010465 to 10480 |000000000000000010481 to 10496 |000000000000000010497 to 10512 |000000000000000010513 to 10528 |00096 0000000248 000010529 to 10544 |000255 100000224 255 300010545 to 10560 |00252 255 30000128 255 255 700010561 to 10576 |0224 255 255 15 0000252 255 255 15 00010577 to 10592 |128 255 255 255 31 000240 255 255 255 63 00010593 to 10608 |254 255 255 255 127 000255 255 255 255 127 00010609 to 10624 |255 255 255 255 255 000255 255 255 255 255 10010625 to 10640 |255 255 255 255 255 100255 255 255 255 255 30010641 to 10656 |255 255 255 255 255 700255 255 255 255 255 15 0010657 to 10672 |255 255 255 255 255 15 00255 255 255 255 255 31 0010673 to 10688 |255 255 255 255 255 63 00255 255 255 255 255 63 0010689 to 10704 |255 255 255 255 255 127 00255 255 255 255 255 255 0010705 to 10720 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
10721 to 10736 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25510737 to 10752 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25510753 to 10768 |000000000000000010769 to 10784 |000000000000000010785 to 10800 |000000000000000010801 to 10816 |000000000000000010817 to 10832 |000000000000000010833 to 10848 |000000000000000010849 to 10864 |000000000000000010865 to 10880 |000000000000000010881 to 10896 |000000000000000010897 to 10912 |000000000000000010913 to 10928 |000000000000000010929 to 10944 |000000000000000010945 to 10960 |000000000000000010961 to 10976 |000000000000000010977 to 10992 |000000000000000010993 to 11008 |000000000000000011009 to 11024 |000000000000000011025 to 11040 |000128 0000000240 000011041 to 11056 |000252 100000128 255 300011057 to 11072 |00240 255 700000254 255 700011073 to 11088 |0192 255 255 15 0000240 255 255 31 00011089 to 11104 |0254 255 255 31 000192 255 255 255 63 00011105 to 11120 |248 255 255 255 127 000255 255 255 255 255 00011121 to 11136 |255 255 255 255 255 000255 255 255 255 255 10011137 to 11152 |255 255 255 255 255 300255 255 255 255 255 30011153 to 11168 |255 255 255 255 255 700255 255 255 255 255 15 0011169 to 11184 |255 255 255 255 255 31 00255 255 255 255 255 31 0011185 to 11200 |255 255 255 255 255 63 00255 255 255 255 255 127 0011201 to 11216 |255 255 255 255 255 127 00255 255 255 255 255 255 0011217 to 11232 |255 255 255 255 255 255 10255 255 255 255 255 255 255 25511233 to 11248 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25511249 to 11264 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25511265 to 11280 |000000000000000011281 to 11296 |000000000000000011297 to 11312 |000000000000000011313 to 11328 |000000000000000011329 to 11344 |000000000000000011345 to 11360 |000000000000000011361 to 11376 |000000000000000011377 to 11392 |000000000000000011393 to 11408 |000000000000000011409 to 11424 |000000000000000011425 to 11440 |000000000000000011441 to 11456 |000000000000000011457 to 11472 |000000000000000011473 to 11488 |000000000000000011489 to 11504 |000000000000000011505 to 11520 |000000000000000011521 to 11536 |000000000000000011537 to 11552 |00000000000192 100011553 to 11568 |000248 1000000254 300011569 to 11584 |00192 255 700000248 255 15 00011585 to 11600 |00255 255 15 0000224 255 255 31 00011601 to 11616 |0252 255 255 63 0000255 255 255 127 00011617 to 11632 |224 255 255 255 127 000252 255 255 255 255 00011633 to 11648 |255 255 255 255 255 100255 255 255 255 255 10011649 to 11664 |255 255 255 255 255 300255 255 255 255 255 70011665 to 11680 |255 255 255 255 255 15 00255 255 255 255 255 15 0011681 to 11696 |255 255 255 255 255 31 00255 255 255 255 255 63 0011697 to 11712 |255 255 255 255 255 63 00255 255 255 255 255 127 0011713 to 11728 |255 255 255 255 255 255 00255 255 255 255 255 255 1011729 to 11744 |255 255 255 255 255 255 10255 255 255 255 255 255 3011745 to 11760 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25511761 to 11776 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25511777 to 11792 |000000000000000011793 to 11808 |000000000000000011809 to 11824 |000000000000000011825 to 11840 |000000000000000011841 to 11856 |000000000000000011857 to 11872 |000000000000000011873 to 11888 |000000000000000011889 to 11904 |000000000000000011905 to 11920 |000000000000000011921 to 11936 |000000000000000011937 to 11952 |000000000000000011953 to 11968 |000000000000000011969 to 11984 |000000000000000011985 to 12000 |000000000000000012001 to 12016 |000000000000000012017 to 12032 |000000000000000012033 to 12048 |000000000000000012049 to 12064 |000000000000100012065 to 12080 |000224 3000000252 700012081 to 12096 |000255 700000224 255 15 00012097 to 12112 |00252 255 31 0000128 255 255 31 00012113 to 12128 |0240 255 255 63 0000254 255 255 127 00012129 to 12144 |128 255 255 255 255 000240 255 255 255 255 00012145 to 12160 |254 255 255 255 255 100255 255 255 255 255 30012161 to 12176 |255 255 255 255 255 300255 255 255 255 255 70012177 to 12192 |255 255 255 255 255 15 00255 255 255 255 255 31 0012193 to 12208 |255 255 255 255 255 31 00255 255 255 255 255 63 0012209 to 12224 |255 255 255 255 255 127 00255 255 255 255 255 127 0012225 to 12240 |255 255 255 255 255 255 00255 255 255 255 255 255 1012241 to 12256 |255 255 255 255 255 255 30255 255 255 255 255 255 3012257 to 12272 |255 255 255 255 255 255 70255 255 255 255 255 255 15 0
12273 to 12288 |255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25512289 to 12304 |000000000000000012305 to 12320 |000000000000000012321 to 12336 |000000000000000012337 to 12352 |000000000000000012353 to 12368 |000000000000000012369 to 12384 |000000000000000012385 to 12400 |000000000000000012401 to 12416 |000000000000000012417 to 12432 |000000000000000012433 to 12448 |000000000000000012449 to 12464 |000000000000000012465 to 12480 |000000000000000012481 to 12496 |000000000000000012497 to 12512 |000000000000000012513 to 12528 |000000000000000012529 to 12544 |000000000000000012545 to 12560 |000000000000000012561 to 12576 |000000000000000012577 to 12592 |000128 3000000240 700012593 to 12608 |000254 15 00000192 255 15 00012609 to 12624 |00240 255 31 00000254 255 63 00012625 to 12640 |0192 255 255 63 0000248 255 255 127 00012641 to 12656 |0255 255 255 255 000192 255 255 255 255 10012657 to 12672 |248 255 255 255 255 100255 255 255 255 255 30012673 to 12688 |255 255 255 255 255 700255 255 255 255 255 15 0012689 to 12704 |255 255 255 255 255 15 00255 255 255 255 255 31 0012705 to 12720 |255 255 255 255 255 63 00255 255 255 255 255 63 0012721 to 12736 |255 255 255 255 255 127 00255 255 255 255 255 255 0012737 to 12752 |255 255 255 255 255 255 10255 255 255 255 255 255 1012753 to 12768 |255 255 255 255 255 255 30255 255 255 255 255 255 7012769 to 12784 |255 255 255 255 255 255 70255 255 255 255 255 255 15 012785 to 12800 |255 255 255 255 255 255 31 0255 255 255 255 255 255 255 25512801 to 12816 |000000000000000012817 to 12832 |000000000000000012833 to 12848 |000000000000000012849 to 12864 |000000000000000012865 to 12880 |000000000000000012881 to 12896 |000000000000000012897 to 12912 |000000000000000012913 to 12928 |000000000000000012929 to 12944 |000000000000000012945 to 12960 |000000000000000012961 to 12976 |000000000000000012977 to 12992 |000000000000000012993 to 13008 |000000000000000013009 to 13024 |000000000000000013025 to 13040 |000000000000000013041 to 13056 |000000000000000013057 to 13072 |000000000000000013073 to 13088 |000000000000000013089 to 13104 |00006000000192 700013105 to 13120 |000248 15 000000255 31 00013121 to 13136 |00224 255 31 00000248 255 63 00013137 to 13152 |00255 255 127 0000224 255 255 255 00013153 to 13168 |0252 255 255 255 000128 255 255 255 255 10013169 to 13184 |224 255 255 255 255 300252 255 255 255 255 30013185 to 13200 |255 255 255 255 255 700255 255 255 255 255 15 0013201 to 13216 |255 255 255 255 255 31 00255 255 255 255 255 31 0013217 to 13232 |255 255 255 255 255 63 00255 255 255 255 255 127 0013233 to 13248 |255 255 255 255 255 127 00255 255 255 255 255 255 0013249 to 13264 |255 255 255 255 255 255 10255 255 255 255 255 255 3013265 to 13280 |255 255 255 255 255 255 30255 255 255 255 255 255 7013281 to 13296 |255 255 255 255 255 255 15 0255 255 255 255 255 255 15 013297 to 13312 |255 255 255 255 255 255 31 0255 255 255 255 255 255 63 013313 to 13328 |000000000000000013329 to 13344 |000000000000000013345 to 13360 |000000000000000013361 to 13376 |000000000000000013377 to 13392 |000000000000000013393 to 13408 |000000000000000013409 to 13424 |000000000000000013425 to 13440 |000000000000000013441 to 13456 |000000000000000013457 to 13472 |000000000000000013473 to 13488 |000000000000000013489 to 13504 |000000000000000013505 to 13520 |000000000000000013521 to 13536 |000000000000000013537 to 13552 |000000000000000013553 to 13568 |000000000000000013569 to 13584 |000000000000000013585 to 13600 |000000000000000013601 to 13616 |00004000000015 00013617 to 13632 |000224 15 000000252 31 00013633 to 13648 |00128 255 63 00000240 255 63 00013649 to 13664 |00252 255 127 0000128 255 255 255 00013665 to 13680 |0240 255 255 255 1000254 255 255 255 10013681 to 13696 |192 255 255 255 255 300240 255 255 255 255 70013697 to 13712 |254 255 255 255 255 700255 255 255 255 255 15 0013713 to 13728 |255 255 255 255 255 31 00255 255 255 255 255 63 0013729 to 13744 |255 255 255 255 255 63 00255 255 255 255 255 127 0013745 to 13760 |255 255 255 255 255 255 00255 255 255 255 255 255 1013761 to 13776 |255 255 255 255 255 255 10255 255 255 255 255 255 3013777 to 13792 |255 255 255 255 255 255 70255 255 255 255 255 255 7013793 to 13808 |255 255 255 255 255 255 15 0255 255 255 255 255 255 31 013809 to 13824 |255 255 255 255 255 255 63 0255 255 255 255 255 255 63 0
13825 to 13840 |00000000000000 0 013841 to 13856 |00000000000000 0 013857 to 13872 |00000000000000 0 013873 to 13888 |00000000000000 0 013889 to 13904 |00000000000000 0 013905 to 13920 |00000000000000 0 013921 to 13936 |00000000000000 0 013937 to 13952 |00000000000000 0 013953 to 13968 |00000000000000 0 013969 to 13984 |00000000000000 0 013985 to 14000 |00000000000000 0 014001 to 14016 |00000000000000 0 014017 to 14032 |00000000000000 0 014033 to 14048 |00000000000000 0 014049 to 14064 |00000000000000 0 014065 to 14080 |00000000000000 0 014081 to 14096 |00000000000000 0 014097 to 14112 |00000000000000 0 014113 to 14128 |00000000000014 0 0 014129 to 14144 |000128 31 000000240 31 0 0 014145 to 14160 |000254 63 00000192 255 127 0 0 014161 to 14176 |00248 255 255 00000254 255 255 0 0 014177 to 14192 |0192 255 255 255 1000248 255 255 255 3 0 014193 to 14208 |0255 255 255 255 300224 255 255 255 255 7 0 014209 to 14224 |252 255 255 255 255 15 00255 255 255 255 255 31 0 014225 to 14240 |255 255 255 255 255 31 00255 255 255 255 255 63 0 014241 to 14256 |255 255 255 255 255 127 00255 255 255 255 255 1270 014257 to 14272 |255 255 255 255 255 255 00255 255 255 255 255 2551 014273 to 14288 |255 255 255 255 255 255 30255 255 255 255 255 2553 014289 to 14304 |255 255 255 255 255 255 70255 255 255 255 255 25515 014305 to 14320 |255 255 255 255 255 255 15 0255 255 255 255 255 25531 014321 to 14336 |255 255 255 255 255 255 63 0255 255 255 255 255 255127014337 to 14352 |00000000000000 0 014353 to 14368 |00000000000000 0 014369 to 14384 |00000000000000 0 014385 to 14400 |00000000000000 0 014401 to 14416 |00000000000000 0 014417 to 14432 |00000000000000 0 014433 to 14448 |00000000000000 0 014449 to 14464 |00000000000000 0 014465 to 14480 |00000000000000 0 014481 to 14496 |00000000000000 0 014497 to 14512 |00000000000000 0 014513 to 14528 |00000000000000 0 014529 to 14544 |00000000000000 0 014545 to 14560 |00000000000000 0 014561 to 14576 |00000000000000 0 014577 to 14592 |00000000000000 0 014593 to 14608 |00000000000000 0 014609 to 14624 |00000000000000 0 014625 to 14640 |00000000000080 0 014641 to 14656 |000031 000000192 63 0 0 014657 to 14672 |000248 63 000000255 127 0 0 014673 to 14688 |00224 255 255 00000252 255 255 1 0 014689 to 14704 |00255 255 255 1000224 255 255 255 3 0 014705 to 14720 |0252 255 255 255 700128 255 255 255 255 7 0 014721 to 14736 |240 255 255 255 255 15 00254 255 255 255 255 31 0 014737 to 14752 |255 255 255 255 255 63 00255 255 255 255 255 63 0 014753 to 14768 |255 255 255 255 255 127 00255 255 255 255 255 2550 014769 to 14784 |255 255 255 255 255 255 00255 255 255 255 255 2551 014785 to 14800 |255 255 255 255 255 255 30255 255 255 255 255 2557 014801 to 14816 |255 255 255 255 255 255 70255 255 255 255 255 25515 014817 to 14832 |255 255 255 255 255 255 31 0255 255 255 255 255 25531 014833 to 14848 |255 255 255 255 255 255 63 0255 255 255 255 255 255127014849 to 14864 |00000000000000 0 014865 to 14880 |00000000000000 0 014881 to 14896 |00000000000000 0 014897 to 14912 |00000000000000 0 014913 to 14928 |00000000000000 0 014929 to 14944 |00000000000000 0 014945 to 14960 |00000000000000 0 014961 to 14976 |00000000000000 0 024977 to 14992 |00000000000000 0 014993 to 15008 |00000000000000 0 015009 to 15024 |00000000000000 0 015025 to 15040 |00000000000000 0 015041 to 15056 |00000000000000 0 015057 to 15072 |00000000000000 0 015073 to 15088 |00000000000000 0 015089 to 15104 |00000000000000 0 015105 to 15120 |00000000000000 0 015121 to 15136 |00000000000000 0 015137 to 15152 |00000000000000 0 015153 to 15168 |000028 000000128 63 0 0 015169 to 15184 |000224 127 000000252 255 0 0 015185 to 15200 |00128 255 255 00000240 255 255 1 0 015201 to 15216 |00254 255 255 3000192 255 255 255 3 0 015217 to 15232 |0240 255 255 255 7000254 255 255 255 15 0 015233 to 15248 |192 255 255 255 255 31 00248 255 255 255 255 31 0 015249 to 15264 |255 255 255 255 255 63 00255 255 255 255 255 1270 015265 to 15280 |255 255 255 255 255 127 00255 255 255 255 255 2550 015281 to 15296 |255 255 255 255 255 255 10255 255 255 255 255 2553 015297 to 15312 |255 255 255 255 255 255 30255 255 255 255 255 2557 015313 to 15328 |255 255 255 255 255 255 15 0255 255 255 255 255 25515 015329 to 15344 |255 255 255 255 255 255 31 0255 255 255 255 255 25563 015345 to 15360 |255 255 255 255 255 255 127 0255 255 255 255 255 255127015361 to 15376 |00000000000000 0 0
15377 to 15392 |000000000000000015393 to 15408 |000000000000000015409 to 15424 |000000000000000015425 to 15440 |000000000000000015441 to 15456 |000000000000000015457 to 15472 |000000000000000015473 to 15488 |000000000000000015489 to 15504 |000000000000000015505 to 15520 |000000000000000015521 to 15536 |000000000000000015537 to 15552 |000000000000000015553 to 15568 |000000000000000015569 to 15584 |000000000000000015585 to 15600 |000000000000000015601 to 15616 |000000000000000015617 to 15632 |000000000000000015633 to 15648 |000000000000000015649 to 15664 |000000000000000015665 to 15680 |000048 000000062 00015681 to 15696 |000192 127 000000240 255 00015697 to 15712 |000254 255 10000192 255 255 10015713 to 15728 |00248 255 255 30000255 255 255 70015729 to 15744 |0224 255 255 255 7000248 255 255 255 15 0015745 to 15760 |0255 255 255 255 31 00224 255 255 255 255 63 0015761 to 15776 |252 255 255 255 255 63 00255 255 255 255 255 127 0015777 to 15792 |255 255 255 255 255 255 00255 255 255 255 255 255 0015793 to 15808 |255 255 255 255 255 255 10255 255 255 255 255 255 3015809 to 15824 |255 255 255 255 255 255 70255 255 255 255 255 255 7015825 to 15840 |255 255 255 255 255 255 15 0255 255 255 255 255 255 31 015841 to 15856 |255 255 255 255 255 255 31 0255 255 255 255 255 255 63 015857 to 15872 |255 255 255 255 255 255 127 0255 255 255 255 255 255 255 015873 to 15888 |000000000000000015889 to 15904 |000000000000000015905 to 15920 |000000000000000015921 to 15936 |000000000000000015937 to 15952 |000000000000000015953 to 15968 |000000000000000015969 to 15984 |000000000000000015985 to 16000 |000000000000000016001 to 16016 |000000000000000016017 to 16032 |000000000000000016033 to 16048 |000000000000000016049 to 16064 |000000000000000016065 to 16080 |000000000000000016081 to 16096 |000000000000000016097 to 16112 |000000000000000016113 to 16128 |000000000000000016129 to 16144 |000000000000000016145 to 16160 |000000000000000016161 to 16176 |000000000000000016177 to 16192 |000000000000120 00016193 to 16208 |0000127 000000224 255 00016209 to 16224 |000252 255 100000255 255 30016225 to 16240 |00224 255 255 30000252 255 255 70016241 to 16256 |0128 255 255 255 15 000240 255 255 255 15 0016257 to 16272 |0252 255 255 255 31 00128 255 255 255 255 63 0016273 to 16288 |240 255 255 255 255 127 00254 255 255 255 255 127 0016289 to 16304 |255 255 255 255 255 255 00255 255 255 255 255 255 1016305 to 16320 |255 255 255 255 255 255 30255 255 255 255 255 255 3016321 to 16336 |255 255 255 255 255 255 70255 255 255 255 255 255 15 016337 to 16352 |255 255 255 255 255 255 15 0255 255 255 255 255 255 31 016353 to 16368 |255 255 255 255 255 255 63 0255 255 255 255 255 255 127 016369 to 16384 |255 255 255 255 255 255 127 0255 255 255 255 255 255 255 0步骤603开始处理访问如此安排的信息。更具体而言,在步骤603中计算,y(i,j)(p,q)=Y(i,j)(p,q)>>5]]>u(i,j)(p,q)=U(i,j)(p,q)>>2]]>和v(i,j)(p,q)=V(i,j)(p,q)>>2]]>其中,类似于以上所述,p指的是被处理帧的特定水平片,q指的是该帧的特定列或垂直片,i指的是被处理块内的特定行,j指的是被处理块内的特定列,以及“>>”为右移运算。这样做只剩下了像素U值的想要的第8到第3最低有效位,像素V值的第8到第3最低有效位,以及像素Y值的第8到第6最低有效位。之后,在步骤605中,如下计算用于当前像素的查询表地址
LUT_Address(i,j)(p,q)=u(i,j)(p,q)<<9+v(i,j)(p,q)<<3+y(i,j)(p,q),]]>这里“<<”为左移运算。
这样做将提取的比特组合在组合地址中并且指向对应于该像素的一个字节。之后,在步骤607,通过将由Y分量的第2到第5最低有效位构成的值用作字节的索引,来确定对应于该像素的字节内的特定比特。为此目的,步骤607计算b=mod(Y(i,j)(p,q)<<2,8),]]>这里mod为求模函数。
在步骤609中,提取在计算的查询表地址的字节的第b个比特位置的值,并将其分配为变量m的值,并且提供作为输出。再次,在该示意性的实施例中,如果提取的比特为1,则U为选择的色度部分,而如果提取的比特为0时,则V为所选择的色度部分。
然后处理流程在步骤611退出。
本领域的普通技术人员将容易意识到,如何将上述内容适于其他格式的像素,例如RGB或YIQ。
应该注意到如果期望对表格Huffman编码,可能有利的是,应该颠倒上述为1选择U和为0选择V的对应关系,假设如实验已经得出的,为大部分的像素组合选择U。
图8所示为特定色度部分选择以包含用于像素的加水印信息所采用的另一示意性处理流程。当必须选择一个适于包含水印信息的色度部分时,在步骤801开始处理流程。如图6所示,为了讨论图8,假定像素以YUV格式表示。而且,应该注意到,优选地,对于原始视频的每个原始2×2亮度块,如果原始视频已表示为4-4-4格式,那么应该只有用于每个色度分量的一个Y值,即每对各自对应的U和V值。为此目的,可以下采样原始块的Y值以便与U和V具有相同的分辨率。可替换地,计算与特定U和V值关联的Y值的平均值或一些其他组合,并将其用作用于图8处理的Y值。
与图6的实施例相比,根据本发明的一个方面为了进一步减少图8实施例中的存储要求,不仅YUV色彩空间划分为一些区域,每个区域包括对应于Y、U和V值的至少一个集合的位置,并且例如基于实验观察,为每个区域分配一个色度部分,其中选择这些色度部分用于任何像素,这些像素的Y、U和V值落入区域内,如结合图6所示的,但是U值小于预定值例如最大值的一半的任何像素将具有选择用于加水印的U色度部分。因此,对于8比特Y、U和V值,如果U值小于128,则总是选择U色度部分加水印,而不管V或Y值如何。这是因为人类的视觉系统对蓝色分量U较V分量而言不那么敏感。
通过让色度部分选择表的最高有效地址位对应于地址的U值导出比特,有利地,能够将表的大小减小达一半。这将通过在形成表地址之前,增加一个测试以确定是否U值小于最大值的一半来实现,如果测试结果为“是”,这简单地表示选择U色度部分并跳过访问表的剩余处理,而且还通过在计算地址的U值导出比特之前,将实际U值减去最大值U的一半来实现。因此,取消对应最高有效U位为0的应用于图6的表部分,并且只保留最高有效U位为1的表部分。但是,在形成U值导出比特之前,通过将U值减去最大U值的一半来移位表剩余部分的索引。
从而,使用具有对应于U值的最高有效位的地址,对应于V值的下一个最低有效值,以及对应于Y值的最低有效值来寻址安排的表格。换言之,可以如下形成字节的地址U6|U5|U4|U3|U2|V7|V6|V5|V4|V3|V2|Y7|Y6|Y5这里U6、U5、U4、U3和U2为像素U值的第7到第3最低有效位的值,V7、V6、V5、V4、V3和V2为像素V值的第8到第3最低有效位的值,以及Y7、Y6和Y5为像素Y值的第8到第6最低有效位的值。然后,通过使用Y分量的第5到第2最低有效位例如Y4、Y3和Y2来规定字节内的特定比特。
为此目的,条件分支点802进行测试以确定是否 该值例如为最大U值的一半。应该注意到为了节约一个比特,以及一半的表大小,优选地预定值应该为2的幂。如果步骤802的测试结果为“否”,这表示U值不小于预定值,例如U最大值的一半,例如128,因此要被选择的色度部分将作为Y、U和V的函数,因此必须访问该表,并将控制传递到步骤803以开始访问该表的处理。在步骤803中计算y(i,j)(p,q)=Y(i,j)(p,q)>>5]]> 例如u(i,j)(p,q)=(U(i,j)(p,q)-128)>>2]]>以及v(i,j)(p,q)=V(i,j)(p,q)>>2]]>其中,类似于以上所述,这里,p指的是被处理帧的特定水平片,q指的是该帧的特定列或垂直片,i指的是被处理块内的特定行,j指的是被处理块内的特定列,以及“>>”为右移运算。这样做只剩下了像素U值的想要的第7到第3最低有效位,像素V值的第8到第3最低有效位,以及像素Y值的第8到第6最低有效位。之后,在步骤805中,如下计算用于当前像素的查询表地址LUT_Address(i,j)(p,q)=u(i,j)(p,q)<<9+v(i,j)(p,q)<<3+y(i,j)(p,q),]]>这里“<<”为左移运算。
这样做将提取的比特组合在组合地址中并且指向对应于该像素的一个字节。之后,在步骤807,通过将由Y分量的第5到第2最低有效位构成的值用作字节的索引,来确定对应于该像素的字节内的特定比特。为此目的,步骤807计算b=mod(Y(i,j)(p,q)<<2,8),]]>这里mod为求模函数。
在步骤809中,在计算的查询表地址提取字节的第b个比特位置的值,并将其存储在变量m中。在步骤811中变量m的值提供作为输出。再次,如果输出比特为1,则U为选择的色度部分,而如果提取的比特为0时,则V为所选择的色度部分。然后处理流程在步骤813退出。
如果步骤802的测试结果为“是”,这表示应该选择U色度部分,因为像素颜色不主要为蓝色,因而人类的视觉系统将不会检测到像素蓝色的改变,将控制传递到步骤815,在步骤中将变量m设定等于1。这样做保证了选择U。然后将控制传递到步骤811,并且如上所述继续进行处理。
尽管在色彩选择中的上述改进利用了像素的一定的Y、U和V值,不利的是,仍有可能显现出轻微可检测的闪烁。这是因为为了经得住类似MPEG编码,可能需要为所选色度部分的平均值增加大值。
图9所示为根据本发明的原理构造的示意性发送机,其中在数据印象到块的色度部分的平均值之前,通过复制印象数据至少一次,优选为两次或更多次,从而可以减少闪烁。在单独的连续帧的相同块位置中发送原始的以及每个复制的数据。优选地,具有携带相同数据的相同位置块的这些帧在显示顺序上是连续的。而且,帧的具体块可以嵌入一个特定的已知数据序列,例如巴克序列,而不是编码的用户数据。
图9中所示的本发明的实施例类似于图1所示的本发明的实施例。图9中所有具有相同标记的组件基本上和图1所示的组件操作相同。除了在图9中所示的图1的这些组件以外还有转发器925和可选的序列附加器927。另外,图1的位映象器123可选地在图9中代替为位映象器923。只有在想要以下结合位映象器923描述附加功能时,才有必要用位映象器923代替位映象器123。
转发器925从块交织器121或可选的序列附加器927接收比特,转发器925存储接收的比特并为至少两个帧的相同位置的块输出这些比特。在本发明的一个实施例中,已经发现当转发器925存储接收的比特并为三个帧的相同位置的块输出它们时可以获得好的结果。本领域的普通技术人员通过为转发的数据选择帧数量,将能够权衡任何感知的闪烁与水印数据的期望吞吐量。
可选的序列附加器927将特定已知的数据序列,例如巴克序列嵌入到帧的特定块中,数据序列代替了编码的用户数据。将数据序列编码的特定块可以分布于一帧的整个块中。每组初始和转发的数据帧可以应用不同的已知序列。这样做将使得接收机能够检测帧的集合。可替换地,可以为每一组应用相同的序列,但是用于序列的这些特定块对于连续的组来说是不同的。
图10所示为根据本发明的原理构造的接收机的示意性实施例,该接收机用于接收诸如图9的发送机所产生的加有水印的视频信号。图10所示的本发明的实施例类似于图2所示的实施例。图10中所有具有相同附图标记的组件与图2所示的组件基本上操作相同。除了图10所示的图2的这些组件以外,还有序列处理器1025和帧加权单元1027。而且,图2的信道解码器221可选地代替为图10中的信道解码器1021。
例如如图10所示的接收机可以使用序列处理器1025检测组同步。这可以通过以下来实现,将来自组长度数量的连续帧中每一帧的组所识别序列的值进行相加,从而将其应用为同步模式,并确定是否结果超出了预定阈值。如果超出了该阈值,假定增加期望同步模式值的第一帧为该组中的第一帧。如果没有超出该阈值,假定增加值的第一帧为不是一组中的第一帧。这类似于在同步模式上执行自相关。本领域的普通技术人员将意识到可以使用其他传统的技术来避免错误匹配,并处理由于错误而丢失第一帧,诸如在宣布组同步之前搜寻最大值。
有利地,一旦接收机检测到规则的组模式,在存在模式偏差的任何时候,接收机将能够意识到已经移除了原始视频序列的一个帧。这种信息可由序列处理器1025提供作为一个输出。
例如,可以监视视频信号内的经销商的各种广告片。可以为该经销商分配一个唯一的代码,该代码嵌入到到广告片的每一帧中。并使接收机知道该特定的唯一代码和加有水印的帧的哪些块应该包含该代码。通过检测加水印帧内的代码出现,接收机能够识别一帧为属于经销商其中一个广告片的帧。一旦检测到包含该代码的帧,能够对包含该代码的序列帧数量进行计数,以确定广告片的长度。如果基于原始加水印的广告片的已知长度,所计数的帧数小于期望的帧数,那么可以假定广告片不适合于通过移除对应于期望帧数和所计数帧数之差的该帧数来缩短。本领域的普通技术人员将会意识到可以应用其他的传统技术来避免错误的匹配,和处理由于错误而丢失第一帧。
广告片的每一帧或广告片内帧的组,可以利用唯一的标识符,例如一个帧或组编号来加水印,该标识符为帧上的不同序列的一部分。当由于一个或更多帧丢失而检测到期望序列中的间隙时,当每个帧具有唯一的标识符时可以具体地识别这些丢失帧。当标识符只分配给组以及在每组中已知帧的数量时,只能识别任何丢失帧所属的特定组,以及计数丢失了多少帧。
尽管可以应用数据复制来减少闪烁,正如如上所述,但是这样做可能限制检测丢失帧的能力为只识别丢失帧的组,而不是能够识别该特定的帧。所以,尽管通常复制水印数据,至少可以不复制一个单独的帧标识符。包含这种非复制帧的这些块,如果它们引起闪烁,则位于将最不可能引起注意的位置,例如帧的角上。这样做提供了减少可检测闪烁的大部分好处,同时还允许检测丢失的特定的各个帧。
如果经销商有不同的广告片,每个广告片可以具有其他嵌入到至少一个帧中的序列,以识别正在接收的该经销商的特定广告片。
如果多个经销商具有加水印的广告片,只要给每个经销商分配一个唯一的代码,监视具有第一唯一代码的第一经销商广告片出现的系统,将忽略具有第二唯一代码的第二经销商的广告片。可替换地,单个系统可能监视用于来自不同经销商的广告片出现的视频信号,其中每个经销商具有一个唯一代码,并且根据其代码由经销商来分离结果。
当多个经销商具有加水印的广告片时,每个经销商应用相同的代码,并且代码甚至位于用于每个经销商的帧内的相同块位置上。但是,使用一个用于每个经销商的唯一密钥,加密包括在该帧内的所有接下来的数据,并且每个经销商具有一个接收机,该接收机仅知道用于该经销商的密钥。所以,每个经销商能够仅仅解密和接收来自其自己广告片的数据。可替换地,通过在一帧的块上加扰数据,可以加密用于每个经销商的数据。每个接收机应该只知道用于它的相关经销商的加扰模式。
可以连续执行、或在期望广播广告片的时间窗内监视代码的初始出现,该出现表示一个广告片的开始。
代替简单地在一组的多个帧上重复数据,然后使用位映象器123(图1),为一个块的色度部分的平均值增加的量,取决于块的复杂度及期望的量化等级,并可能在一个组上一帧一帧地轻微变化,甚至在相应的一帧一帧的位置上块的复杂度相同时。根据本发明的一个方面,与增加到平均值的值相比所做的改变较小,以将水印比特置于平均值内。这些改变可由位映象器923(图9)来执行,借此提供附加的编码增益,这可能有利地应用于在接收机提高数据的可靠性。但是,这样做可能导致低纹理区域可见质量的稍微减小,因为块内的一些像素可能具有比位于相同位置的以前像素所不同的值。但是,由于这种减小处于像素级,因此典型地它不会引起注意。
在本发明的一个示意性实施例中,利用印象到其上的相同水印数据发送三个时间连续帧的组。该组的中间帧加有如上结合图3所述的水印,而不会根据在图3中所确定值来改变增加到块所选择色度部分之平均值的量。
该组在时间上的第一帧还具有一个通过位映象器923(图9)要增加到块所选色度部分之平均值上的计算值,即偏差,其中如结合图3所示来开发该增加值。但是,偏差,例如增加到平均值以将水印比特放置在平均值内的该值绝对值的四分之一或优选地为一半,另外被增加到所选用于携带水印数据的色度部分的计算平均值上。因此,例如,如果将平均值增加1以将水印比特放置在平均值内,那么其一半将增加到平均值中。当一个块中有64个像素时,这转换为增加32到该块所有像素的所选色度部分的求和值。因此,加法器133将接收一个比假如未增加偏差的值更高的值。同理,作为另一个实例,如果增加-4到平均值中以将水印比特放置于平均值内,以及如果应用增加到平均值的该值绝对值的一半,当一个块中有64个像素时,这将转换为给该块所有像素所选色度部分的求和值增加128。
注意到该附加的偏差量,例如32,将根据其亮度变化量分布于各个像素中。而且,附加偏差不依赖于任何增加到平均值的以使其位于一个安全范围的值。因此,平均值可能落入安全范围之外。但是,移出安全范围造成的错误概率的增加大于根据应用该偏差产生的编码增益所带来的偏移。
该组在时间上的最后一帧具有一个通过位映象器923(图9)计算的值,即从该块所选色度部分的平均值中减去一个偏差,该值如结合图3所述那样开发。但是,根据本发明的一个方面,偏差,例如增加到平均值以将水印比特放置在平均值内的该值绝对值的四分之一或优选为一半,另外应该从所选用于携带水印数据的色度部分的计算平均值中减去。因此,例如,如果-3被增加到平均值中以将水印比特放置于平均值内,那么将从平均值减去-3绝对值的一半即1.5。当在一个块中有64个像素时,这转换为从该块所有像素所选色度部分的求和值中减去96。因此,加法器133将接收一个比假如未增加偏差的值更低的值。同理,作为另一个实例,如果为平均值增加2以将水印比特放置于平均值内,那么从该平均值中减去2的绝对值的一半即1。当在一个块中有64个像素时,这转换为从该块所有像素所选色度部分的求和值中减去64。
应该注意到丢失减去的偏差量,例如32,将根据其亮度变化量分布于各个像素中。而且还应该注意到减去该偏差不依赖于给平均值增加的以使其位于一个安全范围内的任何值。因此,平均值可能落入安全范围之外。但是,移出安全范围造成的错误概率的增加大于所产生的编码增益所带来的偏移。
一种考虑这样如何有效的方式请参见图5。如上所述,为了达到安全范围外部边界的一个值,没有考虑到通常正好足够用于给块所选色度部分的平均值增加或减去偏差量。因此,在任何偏差之前,多个帧在安全范围上或靠近其边界。未增加或减少任何值的中间帧还位于边界的右边。增加一个极小偏差的帧可以稍微一定到安全范围内的更好位置上,或者它可能轻微移出安全范围。减去一个极小偏差的帧移动到如增加偏差的帧的正确方向。因此,在最坏情况下,对于三帧的一个组而言,一个将位于安全范围的边界上,一个将稍微位于安全范围之外。这产生了独立扩展的值。
由于类似MPEG编码所执行的量化以及在MPEG去量化过程中增加的各个MPEG偏差,可以进一步扩大偏差的影响。当在这些连续帧上发送相同的比特时,这能够导致位于连续帧内用于相同位置块的接收数据值之间产生显著的差别。
在例如如图10所示的接收机中,例如在帧加权单元1027中,根据认为“是”为每一帧提供的质量等级来使用最大比率合并方法,适当地加权从每一帧中提取的数据。为此目的,序列处理器1025可以为帧加权单元1027提供a)帧同步信息,以便帧加权单元1027能够知道哪些帧集合在一起,以及b)每一帧的同步模式中的错误数量。质量等级根据认为在接收帧中有多少错误,以及根据在期望用于该帧的同步模式中有多少错误来确定,并且由序列处理器1025提取。表1示出了用于每一同步模式的错误数量和各个加权,其中已经利用同步模式中的这种错误数量,根据经验导出适合于一帧的该加权。换言之,可将从每一帧中提取数据的值视为作为组合处理一部分的通过其相关加权所加权的软数据。
根据这些加权,提取用于连续帧中对应块位置的相同数据比特的多个实例并将其进行组合以形成单个的接收比特。这可以通过以下计算实现bit_out=(2n-1)w1bit1+w2bit2+w3bit3(w1+w2+w3),]]>这里bit_out为三帧的组最后输出的比特;w1、w2和w3为时间帧中第一、第二和第三帧的加权;bit1、bit2和bit3为来自时间帧中第一、第二和第三帧的相同位置块的比特;以及n为软解码器输入精度的比特数量。
为了最佳利用软信息,信道解码器1021为所谓的软解码器,它能够应用软数据比特,即每个表示为非二进制数的数据比特,其范围取决于软解码器输入精度。例如,8比特输入精度的软解码器操作于0到255之间的值。为此目的,接收硬比特的加权平均值w1bit1+w2bit2+w3bit3(w1+w2+w3)]]>与2n-1相乘,借此将加权平均值转换为适当精度的软解码所能够处理的软值。
当特定帧的确定质量低于预定的阈值时,可以假定特定帧不包含任何的水印数据以及没有为该帧提取任何数据。
本领域的普通技术人员将容易意识到,哪一帧增加了值,哪一帧减去了值以及哪一帧未发生改变;不论加和减都是必要的;一组中帧的数量;以及对相加或相减值或所产生的值所执行的任何舍入到整数取决于实施者的判断。

权利要求
1.一种用于选择将要加水印的像素的色度部分的方法,所述选择步骤应用基于感知的表,该表为色彩空间中至少多个可能像素中的每一个指示,若有的话,应该选择哪一色度部分来加水印。
2.根据权利要求1所定义的本发明,其中所述基于感知的表为其中的每个条目表示是只给第一色度部分加水印还是只给第二色度部分加水印。
3.根据权利要求1所定义的本发明,其中所述基于感知的表为其中的每个条目表示是给第一色度部分、第二色度部分加水印,还是完全不加水印。
4.根据权利要求1所定义的本发明,其中所述基于感知的表为计算机可读形式。
5.根据权利要求1所定义的本发明,其中所述基于感知的表将整个色彩空间划分给多个区域,至少一个所述可能像素位于每个所述区域内,以及根据所述像素落入所述基于感知的表的哪一区域,所述基于感知的表为所述像素提供一个指示。
6.根据权利要求1所定义的本发明,其中所述像素为以YUV格式表示的数字视频比特流的一部分,并且所述基于感知的表为任何像素指示,作为所述像素的Y、U和V值的函数给U或V加水印。
7.根据权利要求1所定义的本发明,其中所述像素为使用第一色彩空间类型表示的数字视频比特流的一部分,其中仅仅使用一个直接以所述第一色彩空间类型表示而不是其他色彩空间类型表示所格式化的数字比特流来执行所述选择步骤。
8.根据权利要求1所定义的本发明,其中所述像素为从原始数字视频比特流中导出的抽取的像素。
9.根据权利要求1所定义的本发明,其中所述像素为从原始数字视频比特流中导出的量化的像素。
10.根据权利要求1所定义的本发明,其中所述基于感知的表包含指示,若有的话,应该为所述整个色彩空间的每个像素值选择哪一个色度部分加水印的信息。
11.根据权利要求1所定义的本发明,其中所述基于感知的表包含指示,若有的话,应该为所述色彩空间的仅仅规定部分的每个可能像素选择哪一个色度部分加水印的信息,其中所述选择步骤还包括确定一个像素位于所述色彩空间规定部分内的步骤,所述基于感知的表包含用于该规定部分的信息。
12.根据权利要求1所定义的本发明,其中所述基于感知的表包含指示,若有的话,应该为所述色彩空间仅仅一部分的每个可能像素选择哪一个色度部分加水印的信息,所述方法还包括以下步骤确定一个像素没有位于所述色彩空间的所述部分内,所述基于感知的表包含用于该部分的信息;以及若有的话,确定应该为所述像素选择哪一色度部分加水印,作为所述像素的至少一个值的所计算的函数。
13.根据权利要求1所定义的本发明,其中通过改变所述像素的色度部分的值来表示传送附加数据而不是所述色度部分的原始值,从而给所述像素的色度部分加水印。
14.一种用于提供有关视频信号的像素的哪一色度部分,若有的话,更适于改变以便携带附加水印信息的指示的设备,所述设备包括计算机可读形式的基于感知的表,该表用于可能像素色彩空间的至少一部分,所述表为那些位于所述色彩空间的所述部分中的像素规定要通过所述设备指示的色度部分。
15.根据权利要求14所定义的本发明,还包括一个计算单元,用于为没有位于所述色彩空间的所述部分内的像素指示根据所述像素的一个所述色度部分的至少一个值要指示哪一色度部分。
16.一种用于选择加有水印的像素的色度部分的方法,所述选择步骤应用基于感知的表,该表为色彩空间内的至少多个可能像素的每一个指示,若有的话,最大可能给哪一色度部分加了水印数据。
17.一种用于选择将要加水印的像素的色度部分的设备,所述设备包括计算机可读存储器,其中包含了基于感知的表,该表为色彩空间的至少一部分中的至少多个可能像素的每一个指示,若有的话,应该选择哪一色度部分来加水印;和用于当所述像素为所述色彩空间的所述部分中的一个所述像素时,访问所述存储器以确定,若有的话,选择哪一色度部分的装置。
18.根据权利要求17所定义的本发明,还包括用于计算,若有的话,应该选择哪一色度部分加水印作为所述像素的至少一个值的函数的装置,所述计算装置只当所述像素不是所述色彩空间的所述部分中的一个所述像素时才进行操作。
全文摘要
应用基于感知的表确定将要加水印的色度部分,该表为各个像素值指示,如有的话,应该选择哪一色度部件加水印。只需要像素的Y、U和V值来访问该表,确定应该选择哪一色度部分。但是,可以这样表示该表以便仅仅使用R、G和B值就能访问它。可以修改该表以便它指示应该选择哪一个U或V,或者哪一个都不选择,这表示该像素完全不应该加水印。有利地,通过应用一些处理可以简化该表,因为该表的大部分可以通过对像素值进行简单的测试,例如U<128,以确定所选的色度部分来代替。
文档编号H04N1/387GK1606351SQ200410082618
公开日2005年4月13日 申请日期2004年9月24日 优先权日2003年9月29日
发明者默哈默德·侯塞茵·萨拉比扎德 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1