给数字视频加水印的方案的制作方法

文档序号:7598242阅读:403来源:国知局
专利名称:给数字视频加水印的方案的制作方法
技术领域
本发明涉及给数字视频加水印的技术,具体而言,本发明涉及将附加信息包括在数字视频信息中的技术。
背景技术
给视频信号加水印通常为在视频本身内包括附加信息。这能够有利于提供视频源的嵌入式标识,以跟踪视频播放的位置以及播放时间的长短,并通过该视频传送信息到辅助设备。用于给数字信号加水印的现有技术典型使用视频亮度将附加信息编码为视频本身内的模拟格式以携带附加信息。但是,人类的视觉系统对亮度信号非常敏感,因此,当试图增加附加信息的比特率到一定点,例如超过120比特每秒时,观察加有水印信号的人很容易感知这种改变视频信号用以传送附加信息所引起的失真。从而,尽管给视频信号加水印的现有技术在某些应用领域已经获得了一定的成功,但这种成功限制于可达到的非常小的比特率,而当人观察该携带附加信息的视频信号时不会感知失真。
在先前提交的序列号为10/342704的美国专利申请正如其完全阐述一样在此包含引作参考,发明人意识到人类的视觉系统较亮度而言对色度不那么敏感。所以,开发了一种用于给视频信号数字加水印的系统,即在视频信号的色度分量而不是其亮度信号上插入水印信号的附加信息。因此,附加信息“印象”在视频信号的色度分量上。有利的,尽管可能存在色度分量的严重失真,特别是当附加信息的比特率高于现有技术可达到的不被感知失真的比特率时,但是不论如何,只要对此加以适当地管理,人类的视觉系统将不会检测到这种失真。从而,与现有技术所达到的比特率相比,附加信息能够具有更高的比特率,例如能够实现大于每秒150比特的比特率。进一步有利的是,即使在使用运动图像专家组(MPEG-1)和(MPEG-2)编码系统压缩加有附加数据水印的视频信号之后,也能够从视频信号恢复该附加数据。
本人已经意识到序列号为10/342704的专利申请的系统要求多帧视频来精确地发送有关色度分量的信息。这将不利的是在某些应用中,例如,在要求更细密粒度的加水印情况下,以便提供更好的响应时间和对阻止临时篡改视频的改进,在一定情形下,例如当场景变化时,这种场景变化能够在视频中高速运动的情况下立即地发生,诸如发生在追赶场景中。
在同时与本申请提交的第(案例Zarrabizadeh22)号美国申请中,在等于每一帧的基础上,通过视频信号的各种块中每一个的色度分量平均值携带水印数据的一个或更多比特,能够改善给视频加水印。更具体而言,水印数据的一个或更多比特可能有效地放置在等于每一帧的每一块色度分量的至少一个选择部分之平均值的具体比特位置中。典型地注意到,有两个色度部分,当视频以YUV格式表示时例如为色度分量U和V。更具体而言,可能修改原始视频信号每一帧的每一块以在色度部分的平均值中携带其自己独立的水印数据的一个或更多比特,该色度部分选择用于携带用于该块的水印数据。然后理论上,所选色度部分平均值的比特位置的值将包含用于一个块的水印数据,并可能被考虑通过该块所携带的水印数据的比特值来代替。
只有一个色度部分携带用于任何特定块的水印数据。可以为该块独立地选择所选的用于携带任何块的水印数据的色度部分。被代替的平均值的比特位置为平均值的整数部分比特的位置。
如果有必要,可以调整一个块的各个像素的所选色度部分的值,以便使得块的所选色度部分要携带水印数据的比特平均值与水印数据比特的值相同。这可以通过改变该块中各个像素的所选色度部分的值来实现,以便在整个块中改变色度部分的平均值,从而平均值的所选比特位置的值符合水印数据的值,该值置于所选的比特位置中。
如果要包含水印数据的平均值的比特位置的值已经与水印数据比特的值相同,那么可以不对块的任何像素执行任何改变。但是,如果要包含水印数据的平均值的比特位置的值为块所携带的水印数据比特值的补码,则对该平均值执行至少最小的改变,这种改变将使得比特改变为水印数据比特的值。例如,如果要包含水印数据的平均值的比特为平均值整数部分的次最低有效位,那么可以通过给平均值加一或减一,总是将这样的一个比特改变为其补码值。这样做优选地用于增加2,这还可以用于总是改变该比特为其补码值,因为它在平均值引入了较少的变化,所以在块中也引入了较少的变化,籍此减少了引入观者可感知的非自然信号的机会。块的所选色度部分平均值的改变,通过将块的其中一些像素的所选色度部分加上或减去一个值来实现,减法可以通过加负数来实现,直到获得想要的色度部分平均值的改变。
当使用基于块的频域视频编码时,诸如运动图像专家组(MPEG)标准的其中之一,例如MPEG-1、MPEG-2、MPEG-4,通过对应于平均值,调整该块的至少一个色度矩阵的DC系数的值,可以获得替换加有水印数据的比特。例如,通过期望印象该块的水印比特的值来代替用于该块的DC系数的次最低有效位。
指定色度部分平均值的哪一比特携带水印数据可能为该块纹理变化量的函数。有利的是,随着纹理变化量的增加而增加携带水印数据的比特位置的有效性,因为类似MPEG的编码为较高的纹理变化量应用较大的量化步长大小,并且如果加水印数据没有足够显著地定位,那么使用这种较大的量化步长大小能够产生消除,例如过滤加水印数据。当使用更多的有效比特位置时,为了改变携带水印数据的比特位置的值为其补码值,给平均值增加或减少的值可以大于1。可以使用任何纹理变化量,例如纹理变化量Y、U或V,或者这些变化量的组合。
不论携带水印数据的比特位置改变为其补码与否,都可以将“余量”值填加到平均值中,以便更加保证块的平均值所携带的水印数据的比特幸免于类似于MPEG的编码,同时最小化了可感知的非自然信号产生的可能性。
一种接收机确定块的哪一色度分量携带水印数据并从该色度分量平均值的整数部分所选择的比特位置提取水印数据比特。可能根据块的纹理变化量,例如该块确定的色度部分的纹理变化量或亮度分量的纹理变化量,来确定所选择的比特位置。
有利地,与现有技术相比,实现了更好的响应时间和对阻止篡改视频的改进。进一步有利地是,场景变化不对印象数据引入错误。另外有利的是即使视频的原始像素域版本不可用,而只有基于块的频域编码版本可用,那么也可以给视频加水印而不用变换回到像素域。

发明内容
尽管同时与本申请提交的第(案例Zarrabizadeh22)号美国申请提供了上述说明的显著优点,但是申请人意识到通过一定的色彩组合,不利地是仍然存在附加数据引起轻微的可视闪烁的可能性。而且,在序列号为第(案例Zarrabizadeh22)号的美国申请中没有在接收机提取数据质量的任何指示。
所以,根据本发明的原理,在将任何数据印象到块的色度部分的平均值上之前,要复制该数据至少一次,优选为两次或更多次。在各个帧的相同块位置中,使用同时与本申请提交的序列号第(案例Zarrabizadeh22)号美国申请的技术来发送原始和产生的每个复制数据。考虑将携带相同数据的具有相同位置块的帧使其为一个组,并且优选地,该组中的这些帧以显示顺序相连续。
进一步,根据本发明的一个方面,该帧的特定块可以嵌入特定的已知数据序列,例如,巴克序列,而不是编码的用户数据。根据本发明的另一个方面,嵌入已知序列的特定块可以分布于一帧的整个块中。每组可以应用不同的已知序列,或者将相同的序列应用于不同的连续组中。
根据本发明的一个方面,代替简单地重复用于一组的每个相同位置块的数据,即使当块的复杂度相同时,也可以根据其复杂度可以稍微地从一帧到另一帧改变为每个块的平均值增加的量,这种改变用于一组上的相同位置的块。这种做提供了附加的编码增益,这有利于在接收机提高数据的可靠性。但是,这样做可能引起低纹理区域可见质量的轻微减小,因此该块内的一些像素可能具有不同于相同位置上原有像素的值。然而,由于这种可见质量的减小处于像素级,所以典型地不会引起注意。
在接收机,提取用于连续帧中对应块位置的相同数据比特的多个实例并将其进行组合以形成单个的接收比特。根据本发明的一个方面,能够使用已知的数据序列来确定每一特定帧的质量。该确定的质量用于为该帧规定一个加权,并且可以将从每一帧提取的数据的值视为软数据,以及作为组合处理的一部分,使用相关的加权为该软数据进行加权。如果特定帧的确定质量低于预定的阈值,则可以假定特定帧不包含任何水印数据,以及不为该帧提取任何数据。


在附图中图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)块积分器V 213,f)块积分器U 215,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色度部分提供给块积分器V 213,以及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。
块积分器V 213在整个块上积分V的值,即组合例如相加用于块中的每个像素的值。块积分器U 215在整个块上积分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、块积分器V 213、块积分器U 215和比特选择器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地址内容1 to16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25517 to32 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25533 to48 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25549 to64 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25565 to80 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 25581 to96 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 25500000000257 to 272 255 255 12700000 255 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 555 255 255 255 255 255 255 255 255 255 255 255 255673 to 688 255 255 255 555 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 0000000000000000755 to 768 0000000000000000769 to 784 254 255 12700000 255 255 25500000785 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 255617 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 555 255 255 255 255 255 255 255 255 255 255549 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 255851 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 555 255 255 255913 to 928 255 255 255 255 255 255 255 555 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 555 255 255 255 255 255 255 255993 to 1008 255 255 255 255 555 255 255 255 255 255 255 255 255 555 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 555 255 255 255 255 255 255 555 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 555 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 555 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 555 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 255000005001233 to 1248 0 0000000000000001249 to 1264 0 0000000000000001265 to 1280 0 0000000000000001251 to 1296248 255 25500000 255 255 255000001297 to 1312255 255 25510000 255 255 255 255 255 255 255 2551313 to 1328255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551329 to 1344255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551345 to 1360255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551361 to 1376255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551377 to 1392255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2551393 to 1408255 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 1500 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 1622 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 0 64000000000000001729 to 1744 00000000000000001745 to 1760 00000000000000001761 to 1776 00000000000000001777 to 1792 000000000 255 127000001793 to 1808 224 255 25500000 252 255 255100001809 to 1824 255 255 25530000 255 255 255300001825 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 1969 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 255000000002209 to 2224 00000000000000002225 to 2240 00000000000000002241 to 2256 00000000000000002257 to 2272 00000000000000002273 to 2288 00000000000000002289 to 2304 000000000 254 255000002305 to 2320 128 255 25500000 240 255 255100002321 to 2336 254 255 25530000 255 255 255700002337 to 2352 255 255 25570000 255 255 255 1500002353 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 2655 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2552657 to 2672 255 255 255 225 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 000000000 248 255000002817 to 2832 0 255 25520000 192 255 255100002833 to 2848 248 255 25530000 255 255 255700002849 to 2864 255 255 255 150000 255 255 255 1500002865 to 2880 255 255 255 310000 255 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 255000000003185 to 3200 00000000000000003201 to 3216 00000000000000003217 to 3232 00000000000000003233 to 2248 00000000000000003249 to 3264 00800000000000003265 to 3290 00000000000000003241 to 3296 00000000000000003297 to 3312 00000000000000003313 to 3329 000000000 224 255000003329 to 3344 128 252 25510000 128 255 255300003345 to 3360 224 255 25570000 252 255 255700003361 to 3376 255 255 255 150000 255 255 255 3100003377 to 3392 255 255 255 310000 255 255 255 6300003393 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 0000000000 96000003761 to 3776 00000000000000003777 to 3792 00000000008000003793 to 3808 00000000000000003809 to 3824 00000000000000003825 to 3840 000000000 152 255100003841 to 3856 0 241 255100000 254 255300003857 to 3872 192 255 25570000 248 255 255 1500003973 to 3888 254 255 255 150000 255 255 255 3100003889 to 3904 255 255 255 630000 255 255 255 6300003905 to 3920 255 255 255 1270000 255 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 3969 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 255000000004161 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 000000000 96 255100004353 to 4368 0 192 255300000 249 255700004369 to 4384 0 255 25570000 224 255 255 1500004385 to 4400 252 255 255 310000 255 255 255 3100004401 to 4416 255 255 255 630000 255 255 255 12700004417 to 4432 255 255 255 2550000 255 255 255 25500004433 to 4448 255 255 255 2551000 255 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 00000000000 1200004769 to 4784 00000000000000004785 to 4800 00000000000000004801 to 4816 00000000000000004817 to 4832 00000000000000004833 to 4848 00000000000000004849 to 4864 00 224100000 194 253100004865 to 4880 0 130 255300000 224 255700004881 to 4896 0 252 255 150000 128 255 255 1500004897 to 4912 240 255 255 310000 254 255 255 6300004913 to 4928 255 255 255 630000 255 255 255 12700004929 to 4944 255 255 255 2550000 255 255 255 25510004945 to 4960 255 255 255 2551000 255 255 255 25530004961 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 555 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 255000000005137 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 00 1281000000 227300005377 to 5392 00 254300000 192 255700005393 to 5408 0 240 255 1500000 254 255 3100005409 to 5424 192 255 255 310000 248 255 255 6300005425 to 5440 255 255 255 1270000 255 255 255 25500005441 to 5456 255 255 255 2550000 255 255 255 25510005457 to 5472 255 255 255 2553000 255 255 255 25530005473 to 5488 255 255 255 2557000 255 255 255 255 255 255 255 2555485 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 555 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 000000000 16 196300005889 to 5904 0 56 2487000000 255 1500005905 to 5920 0 224 255 1500000 248 255 3100005921 to 5936 0 255 255 630000 224 255 255 6300005937 to 5952 252 255 255 1270000 255 255 255 25500005953 to 5968 255 255 255 2551000 255 255 255 25510005969 to 5984 255 255 255 2553000 255 255 255 25570005985 to 6000 255 255 255 2557000 255 255 255 255 150006001 to 6016 255 255 255 255 31000 255 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 6080255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556081 to 6096255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556097 to 6112255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556113 to 6128255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556129 to 6144255 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 0 48 2247000000 252 1500006417 to 6432 0 128 255 3100000 240 255 3100006433 to 6448 0 252 255 630000 128 255 255 12700006449 to 6464240 255 255 1270000 254 255 255 25500006465 to 6480255 255 255 2551000 255 255 255 25530006481 to 6496255 255 255 2553000 255 255 255 25570006497 to 6512255 255 255 255 15000 255 255 255 255 150006513 to 6528255 255 255 255 31000 255 255 255 255 630006529 to 6544255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556545 to 6560255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556561 to 6576255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556577 to 6592255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556593 to 6608255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556609 to 6624255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556625 to 6640255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2556641 to 6656255 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 000000000 1280000006833 to 6848 00000000000000006849 to 6864 00000000000000006865 to 6880 00000000000000006881 to 6896 00000000000000006897 to 6912 00000000080600006913 to 6928 0 96 128 15000000 240 1500006929 to 6944 00 254 310000 128 192 255 6300006945 to 6960 0 248 255 6300000 254 255 12700006961 to 6976192 255 255 2550000 248 255 255 25510006977 to 6992255 255 255 2551000 255 255 255 25530006993 to 7008255 255 255 2557000 255 255 255 25570007009 to 7024255 255 255 255 15000 255 255 255 255 310007025 to 7040255 255 255 255 63000 255 255 255 255 630007041 to 7056255 255 255 255 127000 255 255 255 255 255 255 255 2557057 to 7072255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557073 to 7088255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557089 to 7104255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557105 to 7120255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557121 to 7136255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557137 to 7152255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557153 to 7168255 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 to 7392 00000000000000007393 to 7408 00000000000000007409 to 7424 00000000000000007425 to 7440 0 1920 150000 640 192 3100007441 to 7455 00 248 31000000 255 6300007457 to 7472 0 224 255 12700000 252 255 12700007473 to 7488128 255 255 2550000 224 255 255 25510007489 to 7504252 255 255 2553000 255 255 255 25530007505 to 7520255 255 255 2557000 255 255 255 255 150007521 to 7536255 255 255 255 15000 255 255 255 255 310007537 to 7552255 255 255 255 63000 255 255 255 255 1270007553 to 7568255 255 255 255 127000 255 255 255 255 2550007569 to 7584255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557585 to 7600255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557601 to 7616255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
7617 to 7632255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557633 to 7648255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557648 to 7664255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2557665 to 7680255 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 0 1920 12000000 129 3100007953 to 7968 04 224 63000000 252 6300007969 to 7984 0 128 255 12700000 240 255 25500007985 to 8000 0 254 255 2551000 192 255 255 25510008001 to 8016240 255 255 2553000 254 255 255 25570008017 to 8032255 255 255 2557000 255 255 255 255 150008033 to 8048255 255 255 255 31000 255 255 255 255 630008049 to 8064255 255 255 255 63000 255 255 255 255 1270008065 to 8080255 255 255 255 255000 255 255 255 255 2550008081 to 8096255 255 255 255 255100 255 255 255 255 2552008097 to 8112255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558113 to 8128255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558129 to 8144255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558145 to 8160255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558161 to 8176255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558177 to 8192255 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 0 1281 160000000 3000008465 to 8480 00 192 63000000 240 12700008481 to 8496 00 254 12700000 192 255 25500008497 to 8512 0 248 255 25510000 255 255 25530008513 to 8528224 255 255 2553000 248 255 255 25570008529 to 8544255 255 255 255 15000 255 255 255 255 150008545 to 8560255 255 255 255 31000 255 255 255 255 630008561 to 8576255 255 255 255 127000 255 255 255 255 1270008577 to 8592255 255 255 255 255000 255 255 255 255 2551008593 to 8608255 255 255 255 255100 255 255 255 255 2553008609 to 8624255 255 255 255 255700 255 255 255 255 255 255 255 2558625 to 8640255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558641 to 8656255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558657 to 8672255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558673 to 8688255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2558689 to 8704255 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 00100000000 5600008977 to 8992 000 63000000 224 12700008993 to 9008 00 252 255000000 255 25500009009 to 9024 0 224 255 25510000 252 255 25530009025 to 9040128 255 255 2557000 240 255 255 25570009041 t0 9056252 255 255 255 15000 255 255 255 255 310009057 to 9072255 255 255 255 63000 255 255 255 255 630009073 to 9088255 255 255 255 127000 255 255 255 255 2550009089 to 8104255 255 255 255 255000 255 255 255 255 2551009105 to 9120255 255 255 255 255300 255 255 255 255 2557009121 to 9136255 255 255 255 255700 255 255 255 255 255 15009137 to 9152255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 2559153 to 9168255 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 00600000000 3200009489 to 9504 000 124000000 128 12700009505 to 9520 00 240 255000000 254 25510009521 to 9536 0 128 255 25530000 240 255 25530009537 to 9552 0 254 255 2557000 192 255 255 255 150009553 to 9568 248 255 255 255 15000 254 255 255 255 310009569 to 9584 255 255 255 255 63000 255 255 255 255 1270009585 to 9600 255 255 255 255 127000 255 255 255 255 2550009601 to 9616 255 255 255 255 255100 255 255 255 255 2551009617 to 9632 255 255 255 255 255300 255 255 255 255 2557009633 to 9648 255 255 255 255 255 1500 255 255 255 255 255 15009649 to 9664 255 255 255 255 255 3100 255 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 000 1120000020 254000010017 to 10032 00 192 255000000 248 255100010033 to 10048 00 255 25530000 192 255 255700010049 to 10064 0 248 255 25570000 255 255 255 1500010065 to 10080 224 255 255 255 31000 252 255 255 255 3100010081 to 10096 255 255 255 255 63000 255 255 255 255 12700010097 to 10112 255 255 255 255 255000 255 255 255 255 25500010113 to 10128 255 255 255 255 255100 255 255 255 255 25530010129 to 10144 255 255 255 255 255300 255 255 255 255 25570010145 to 10160 255 255 255 255 255 1500 255 255 255 255 255 310010161 to 10176 255 255 255 255 255 3100 255 255 255 255 255 630010177 to 10192 255 255 255 255 255 12700 255 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 10394 000000000000000010395 to 10400 000000000000000010401 to 10416 000000000000000010417 to 10432 000000000000000010433 to 10448 000000000000000010449 to 10464 000000000000000010405 to 10400 000000000000000010401 to 10496 000000000000000010497 to 10512 000000000000000010513 to 10528 000 960000000 248000010529 to 10544 000 255100000 224 255300010545 to 10560 00 252 25530000 128 255 255700010561 to 10576 0 224 255 255 150000 252 255 255 1500010577 to 10592 120 255 255 255 31000 240 255 255 255 6300010593 to 10608 254 255 255 255 127000 255 255 255 255 12700010609 to 10624 255 255 255 255 255000 255 255 255 255 25510010625 to 10640 255 255 255 255 255100 255 255 255 255 25530010641 to 10656 255 255 255 255 255700 255 255 255 255 255 150010657 to 10672 255 255 255 255 255 1500 255 255 255 255 255 310010673 to 10688 255 255 255 255 255 6300 255 255 255 255 255 630010689 to 10704 255 255 255 255 255 12700 255 255 255 255 255 2550010705 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 000 1280000000 240000011041 to 11056 000 252100000 128 255300011057 to 11072 00 240 255700000 254 255700011073 to 11088 0 192 255 255 150000 240 255 255 3100011089 to 11104 0 254 255 255 31000 192 255 255 255 6300011105 to 11120 248 255 255 255 127000 255 255 255 255 25500011121 to 11136 255 255 255 255 255000 255 255 255 255 25510011137 to 11152 255 255 255 255 255000 255 255 255 255 25530011153 to 11168 255 255 255 255 255000 255 255 255 255 255 150011169 to 11184 255 255 255 255 255 3100 255 255 255 255 255 310011185 to 11200 255 255 255 255 255 6300 255 255 255 255 255 1270011201 to 11216 255 255 255 255 255 12700 255 255 255 255 255 2550011217 to 11232 255 255 255 255 255 25500 255 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 00000000000 192100011553 to 11568 000 2481000000 254300011569 to 11584 00 192 255700000 248 255 1500011585 to 11600 00 255 255 150000 224 255 255 3100011601 to 11616 0 252 255 255 630000 255 255 255 12700011617 to 11632 224 255 255 255 127000 252 255 255 255 25500011633 to 11648 255 255 255 255 255100 255 255 255 255 25510011649 to 11664 255 255 255 255 255300 255 255 255 255 25570011665 to 11680 255 255 255 255 255 1500 255 255 255 255 255 150011681 to 11696 255 255 255 255 255 3100 255 255 255 255 255 630011697 to 11712 255 255 255 255 255 6300 255 255 255 255 255 1270011713 to 11728 255 255 255 255 255 25500 255 255 255 255 255 2551011729 to 11744 255 255 255 255 255 25510 255 255 255 255 255 2553011745 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 000 2243000000 252700012081 to 12096 000 255700000 224 255 1500012097 to 12112 00 252 255 310000 128 255 255 3100012113 to 12128 0 240 255 255 630000 254 255 255 12700012129 to 12144 125 255 255 255 255900 240 255 255 255 25500012145 to 12160 254 255 255 255 255100 255 255 255 255 25530012161 to 12176 255 255 255 255 255300 255 255 255 255 25570012177 to 12192 255 255 255 255 255 1500 255 255 255 255 255 310012193 to 12208 255 255 255 255 255 3100 255 255 255 255 255 630012209 to 12224 255 255 255 255 255 12700 255 255 255 255 255 1270012225 to 12240 255 255 255 255 255 25500 255 255 255 255 255 2551012241 to 12256 255 255 255 255 255 25530 255 255 255 255 255 2553012257 to 12272 255 255 255 255 255 25570 255 255 255 255 255 255 150
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 000 1283000000 240700012593 to 12608 000 254 1500000 192 255 1500012609 to 12624 00 240 255 3100000 254 255 6300012625 to 12640 0 192 255 255 630000 248 255 255 12700012641 to 12656 0 255 255 255 255000 192 255 255 255 25510012657 to 12672 248 255 255 255 255100 255 255 255 255 25530012673 to 12688 255 255 255 255 255700 255 255 255 255 255 150012689 to 12704 255 255 255 255 255 1500 255 255 255 255 255 310012705 to 12720 255 255 255 255 255 6300 255 255 255 255 255 630012721 to 12736 255 255 255 255 255 12700 255 255 255 255 255 2550012737 to 12752 255 255 255 255 255 25510 255 555 255 255 255 2551012753 to 12768 255 255 255 255 255 25530 255 255 255 255 255 2557012769 to 12784 255 255 255 255 255 25570 255 255 255 255 255 255 15012785 to 12800 255 255 255 255 255 255 310 255 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 00006000000 192700013105 to 13120 000 248 15000000 255 3100013121 to 13136 00 224 255 3100000 248 255 6300013137 to 13152 00 255 255 1270000 224 255 255 25500013153 to 13168 0 252 255 255 255000 128 255 255 255 25510013169 to 13184 224 255 255 255 255300 252 255 255 255 25530013185 to 13200 255 255 255 255 255700 255 255 255 255 255 150013201 to 13216 255 255 255 255 255 3100 255 255 255 255 255 310013217 to 13232 255 255 255 255 255 6300 255 255 255 255 255 1270013233 to 13248 255 255 255 255 255 12700 255 255 255 255 255 2550013249 to 13264 255 255 255 255 255 25510 255 255 255 255 255 2553013265 to 13280 255 255 255 255 255 55530 255 255 255 255 255 2557013281 to 13296 255 255 255 255 255 255 150 255 255 255 255 255 255 15013297 to 13312 255 255 255 255 255 255 310 255 255 255 255 255 255 63013313 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 000000000000000013583 to 13600 000000000000000013601 to 13616 000040000000 1500013617 to 13632 000 224 15000000 252 3100013633 to 13648 00 128 255 6300000 240 255 6300013649 to 13664 00 252 255 1270000 128 255 255 25500013665 to 13680 0 240 255 255 2551000 254 255 255 25510013681 to 13696 192 255 255 255 255300 240 255 255 255 25570013697 to 13712 254 255 255 255 255700 255 255 255 255 255 150013713 to 13728 255 255 255 255 255 3100 255 255 255 255 255 630013729 to 13744 255 255 255 255 255 6300 255 255 255 255 255 1270013745 to 13760 255 255 255 255 255 25500 253 255 255 255 255 2551013761 to 13776 255 255 255 255 255 25510 255 255 255 255 255 2553013777 to 13792 255 255 255 255 255 25570 253 255 255 255 255 2557013793 to 13808 255 255 255 255 255 255 150 255 255 255 255 255 255 31013809 to 13824 255 255 255 255 255 255 630 255 255 255 255 253 255 630
13825 to 13840 000000000000000013841 to 13856 000000000000000013857 to 13872 000000000000000013873 to 13888 000000000000000013889 to 13904 000000000000000013905 to 13920 000000000000000013921 to 13936 000000000000000013937 to 13952 000000000000000013953 to 13968 000000000000000013969 to 13984 000000000000000013985 to 14000 000000000000000014001 to 14016 000000000000000014017 to 14032 000000000000000014033 to 14048 000000000000000014049 to 14064 000000000000000014065 to 14080 000000000000000014081 to 14096 000000000000000014097 to 14112 000000000000000014113 to 14128 000000000000 1400014129 to 14144 000 128 31000000 240 3100014145 to 14160 000 254 6300000 192 255 12700014161 to 14176 00 248 255 25500000 254 255 25500014177 to 14192 0 192 255 255 2551000 248 255 255 25530014193 to 14208 0 255 255 255 255300 224 255 255 255 25570014209 to 14224252 255 255 255 255 1500 255 255 255 255 255 310014225 to 14240255 255 255 255 255 3100 255 255 255 255 255 630014241 to 14256255 255 255 255 255 12700 255 255 255 255 255 1270014257 to 14272255 255 255 255 255 25500 255 255 255 255 255 2551014273 to 14288255 255 255 255 255 25530 255 255 255 255 255 2553014289 to 14304255 255 255 255 255 25570 255 255 255 255 255 255 15014305 to 14320255 255 255 255 255 255 150 255 255 255 255 255 255 31014321 to 14336255 255 255 255 255 255 630 255 255 255 255 255 255 127014337 to 14352 000000000000000014353 to 14368 000000000000000014369 to 14384 000000000000000014385 to 14400 000000000000000014401 to 14416 000000000000000014417 to 14432 000000000000000014433 to 14448 000000000000000014449 to 14464 000000000000000014465 to 14480 000000000000000014481 to 14496 000000000000000014497 to 14512 000000000000000014513 to 14528 000000000000000014529 to 14544 000000000000000014545 to 14560 000000000000000014561 to 14576 000000000000000014577 to 14592 000000000000000014593 to 14608 000000000000000014609 to 14624 000000000000000014625 to 14640 000000000000900014641 to 14656 0000 31000000 192 6300014657 to 14672 000 248 63000000 255 12700014673 to 14688 00 224 255 25500000 252 255 25510014689 to 14704 00 255 255 2551000 224 255 255 25530014705 to 14720 0 252 255 255 255700 128 255 255 255 25570014721 to 14736240 255 255 255 255 1500 254 255 255 255 255 310014737 to 14752255 255 255 255 255 6300 255 255 255 255 255 530014753 to 14768255 255 255 255 255 12700 255 255 255 255 255 2550014769 to 14784255 255 255 255 255 25500 255 255 255 255 255 2551014785 to 14800255 255 255 255 255 25530 255 255 255 255 255 2557014801 to 14816255 255 255 255 255 25570 255 255 255 255 255 255 15014817 to 14832255 255 255 255 255 255 310 255 255 255 255 255 255 31014833 to 14848255 255 255 255 255 255 630 255 255 255 255 255 255 127014849 to 14864 000000000000000014865 to 14880 000000000000000014881 to 14896 000000000000000014897 to 14912 000000000000000014913 to 14928 000000000000000014929 to 14944 000000000000000014945 to 14960 000000000000000014961 to 14976 000000000000000014977 to 14992 000000000000000014993 to 15008 000000000000000015009 to 15024 000000000000000015025 to 15040 000000000000000015041 to 15056 000000000000000015057 to 15072 000000000000000015073 to 15088 000000000000000015089 to 15104 000000000000000015105 to 15120 000000000000000015121 to 15136 000000000000000015137 to 15152 000000000000000015153 to 15160 0000 28000000 128 6300015169 to 15184 000 224 127000000 252 25500015185 to 15200 00 128 255 25500000 240 255 25510015201 to 15215 00 254 255 2553000 192 255 255 25530015217 to 15232 0 240 255 255 2557000 254 255 255 255 150015233 to 15248192 255 255 255 255 3100 248 255 255 255 255 310015249 to 15264255 255 255 255 255 6300 255 255 255 255 255 1270015265 to 15280255 255 255 255 255 12700 255 255 255 255 255 2550015281 to 15296255 255 255 255 255 25510 255 255 255 255 255 2553015297 to 15312255 255 255 255 255 25530 255 255 255 255 255 2557015313 to 15328255 255 255 255 255 255 150 255 255 255 255 255 255 15015329 to 15344255 255 255 255 255 255 310 255 255 255 255 255 255 63015345 to 15360255 255 255 255 255 255 1270 255 255 255 255 255 255 127015361 to 15376 0000000000000000
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 0000 480000000 6200015681 to 15696 000 192 127000000 240 25500015697 to 15712 00 0 254 25510000 192 255 25510015713 to 15728 00 248 255 25530000 255 255 25570015729 to 15744 0 224 255 255 2557000 248 255 255 255 150015745 to 15760 0 255 255 255 255 3100 224 255 255 255 255 630015761 to 15776 252 255 255 255 255 6300 255 255 255 255 255 1270015777 to 15792 255 255 255 255 255 25500 255 255 255 255 255 2550015793 to 15808 255 255 255 255 255 25510 255 255 255 255 255 2553015809 to 15824 255 255 255 255 255 25570 255 255 255 255 255 2557015825 to 15840 255 255 255 255 255 255 150 255 255 255 255 255 255 31015841 to 15856 255 255 255 255 255 255 310 255 255 255 255 255 255 63015857 to 15872 255 255 255 255 255 255 1270 255 255 255 255 255 255 255015873 to 15888 000000000000000015889 to 15904 000000000000000015905 to 15920 000000000000000015922 to 15936 000000000000000025937 to 15952 000000000000000015953 to 15968 000000000000000015969 to 15984 000000000000000015985 to 16000 000000000000000016001 to 16016 000000000000000016017 to 16032 000000000000000016033 to 16048 000000000000000016049 to 16064 000000000000000016055 to 16080 000000000000000016081 to 16096 000000000000000016097 to 16112 000000000000000016113 to 16128 000000000000000016129 to 16144 000000000000000016145 to 16160 000000000000000016161 to 16176 000000000000000016177 to 16192 000000000000 12000016193 to 16208 0000 127000000 224 25500016209 to 16224 000 252 255100000 255 25530016225 to 16240 00 224 255 25530000 255 255 25570016241 to 16256 0 128 255 255 255 15000 240 255 255 255 150016257 to 16272 0 252 255 255 255 3100 128 255 255 255 255 630016273 to 16288 240 255 255 255 255 12700 254 255 255 255 255 1270016289 to 16304 255 255 255 255 255 25500 255 255 255 255 255 2551016305 to 16320 255 255 255 255 255 25530 255 255 255 255 255 2553016321 to 16336 255 255 255 255 255 25570 255 255 255 255 255 255 15016337 to 16352 255 255 255 255 255 255 150 255 255 255 255 255 255 31016353 to 16368 255 255 255 255 255 255 630 255 255 255 255 255 255 127016369 to 16384 255 255 255 255 255 255 1270 255 255 255 255 255 255 2550步骤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(i,j)(p,q)<预定值,该值例如为最大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定义的本发明,其中所述块位置基于所述视频信号,该信号具有用于满分辨率的原始输入视频信号的每个2×2块的一个Y值、一个U值和一个V值。
3.根据权利要求1定义的本发明,其中将要印象到所述连续帧的第一帧上的附加信息的所有所述比特被复制以印象到所述连续帧的至少第二帧上,该帧用于显示,而在所述连续帧的所述第一帧和所述第二帧之间不显示任何帧。
4.根据权利要求1定义的本发明,还包括给所述连续帧的至少一个帧的至少一个块的色度部分平均值增加一个偏差的步骤,所述连续帧具有在相同的块位置中印象到连续帧上的所述原始和复制比特。
5.根据权利要求4定义的本发明,其中所述偏差为第一偏差,它为增加到所述连续帧中第一帧的正值,所述方法还包括给所述连续帧的至少第二帧的至少一个块的色度部分平均值增加一个第二偏差的步骤,所述连续帧具有在相同的块位置中印象到连续帧上的所述原始和复制比特,所述第二偏差为一个负值。
6.根据权利要求4定义的本发明,其中所述偏差为第一偏差,它为增加到所述连续帧中第一帧的正值,所述方法还包括给所述连续帧的至少第二帧的至少一个块的色度部分平均值增加一个第二偏差的步骤,所述连续帧具有在相同的块位置中印象到连续帧上的所述原始和复制的比特,所述第二偏差为一个负值,并且所述至少第二帧的所述至少一个块和所述第一帧的所述至少一个块位于所述至少第二帧内的相同位置处。
7.根据权利要求4定义的本发明,其中,为所述至少一个块的像素的色度部分增加值,直到这种增加值的累计等于所述偏差和块中像素数量之乘积时为止,所述增加独立于对所述像素的色度部分所作的任何其他改变。
8.根据权利要求1定义的本发明,还包括将规定数据序列包含在要印象到所述视频信号的色度部分上的所述附加信息内的步骤。
9.根据权利要求8定义的本发明,其中在所述视频信号加水印之后,对于所述视频信号的接收机而言已知所述规定数据序列。
10.根据权利要求8定义的本发明,其中所述规定数据序列印象在所述视频信号的多个帧的相同位置的规定块上。
11.一种包含附加信息的视频信号的接收机所使用的方法,其中该附加信息印象在所述视频信号的色度部分上,该方法包括以下步骤组合提取的来自规定帧的相同块位置的初始附加信息来确定最终的附加信息;提供所述最终的附加信息作为输出。
12.根据权利要求11定义的本发明,还包括确定在所述组合步骤中组合的所述每一个规定帧的质量的步骤;以及其中在所述组合步骤中,来自所述规定帧相同块位置的所述初始附加信息组合为每个所述规定帧的所述确定质量的函数。
13.根据权利要求12定义的本发明,其中当一帧的所述确定质量低于规定阈值时,所述帧被视为它不包含任何附加信息。
14.根据权利要求11定义的本发明,其中将所述最终的附加信息提供给信道解码器,该解码器将所述最终的附加信息视为软比特。
15.一种用于给视频信号加水印的设备,包括用于通过替换在视频信号的块上的色度部分平均值的至少一个选择比特,复制要印象到所述视频信号上的附加信息的至少所选比特的装置;以及用于提供在连续帧的相同块位置中要印象的所述原始和复制比特的装置。
16.一种用于从视频信号中提取附加信息的接收机,该视频信号包含印象到所述视频信号的色度部分上的非视频信息,该接收机包括用于从所述视频信号中提取所述非视频信息的提取器;和接收至少所述提取的非视频信息并检测至少一个规定序列的序列处理器,其中所述规定序列已被印象在所述视频信号的至少一帧上。
17.根据权利要求16所定义的本发明,其中所述序列处理器为多个成组帧中的每个帧确定所述至少一个规定序列中的错误数量,所述接收机还包括帧加权单元,它使用作为所述多个帧中每一个帧中的所述错误数量的函数导出的每一帧质量测量,以将从所述多个帧提取的相同块位置上的非视频信息组合为用于所述成组帧的所述块位置的输出值。
全文摘要
至少复制一次要印象到块的色度部分平均值上的数据。原始和每个复制数据印象到各个帧的相同块位置中的块上。将具有携带相同数据的相同位置块的帧考虑作为一个组。帧的特定块可以嵌入特定的已知数据序列而不是用户数据。每个组可以应用一个不同的已知序列。代替简单地重复用于一组的每个相同位置块的数据,即使当块的复杂度相同时,也可以从组中的一帧到另一帧稍微改变为用于每个这种块的平均值所增加的量。在一个接收机处,提取相同数据比特的多个实例并将其组合形成一个单独的接收比特。
文档编号H04N11/00GK1645937SQ20041008261
公开日2005年7月27日 申请日期2004年9月24日 优先权日2003年9月29日
发明者默哈默德·侯塞茵·萨拉比扎德 申请人:朗迅科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1