CN101681499B - 修改经编码的比特流 - Google Patents
修改经编码的比特流 Download PDFInfo
- Publication number
- CN101681499B CN101681499B CN2008800200087A CN200880020008A CN101681499B CN 101681499 B CN101681499 B CN 101681499B CN 2008800200087 A CN2008800200087 A CN 2008800200087A CN 200880020008 A CN200880020008 A CN 200880020008A CN 101681499 B CN101681499 B CN 101681499B
- Authority
- CN
- China
- Prior art keywords
- data
- value
- length code
- variable length
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
- G06T1/0035—Output size adaptive watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23892—Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0053—Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提供了各种实现方式,用于例如确定水印添加数据,执行水印添加,以及处理被添加了水印的数据。至少一种实现方式对使用CAVLC熵编码的AVC比特流进行水印添加。水印添加数据可以在预处理阶段中确定并且被存储来供以后用于对比特流进行水印添加。一种方法访问(810)经可变长度编码的数据,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码。该信息的编码具有特定值。该方法确定(830)与该特定值不同的替代值,以使得该替代值是标识出与该实际参考不同的参考的替代信息的编码。该替代值用于对该经可变长度编码的数据进行水印添加。
Description
相关申请的交叉引用
本申请要求以下中请中每一个的优先权:(1)2007年6月14日提交的题为“Modifying a Coded Bitstream”的美国临时申请No.60/934,634(代理人案卷号PU070137);以及(2)2007年11月2日提交的题为“Modifying a Coded Bitstream”的PCT申请No.PCT/US2007/023172(代理人案卷号PU070063)。特此通过引用将这些优先权申请中的每一个全部并入。
技术领域
这里描述的至少一种实现方式涉及编码。
背景技术
水印添加(watermarking)通常涉及以使得水印在以后能够被检测到的方式来修改数据的一部分。各种不同类型的数据可被添加水印,其中包括经编码的数据。然而,编码方案在进步着,而现有的用于修改经编码数据的机制可能不能为这种进步着的编码方案提供期望的水印添加能力。
发明内容
根据一个一般方面,访问经可变长度编码的数据,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码,该信息的编码具有特定值。确定与该特定值不同的替代值,以使得该替代值是标识出与该实际参考不同的参考的替代信息的编码。该替代值用于对该经可变长度编码的数据进行水印添加。
根据另一个一般方面,熵解码器用于对经可变长度编码的数据进行解码,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际 参考的信息的编码。该信息的编码具有特定值。水印生成器耦合到该熵解码器,并且用于确定与该特定值不同的替代值,以使得该替代值是标识出与该实际参考不同的参考的替代信息的编码。该替代值用于对该经可变长度编码的数据进行水印添加。
根据另一个一般方面,水印数据用于对经可变长度编码的数据进行水印添加,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码。该信息的编码具有特定值。该水印数据包括与该特定值不同的替代值,以使得该替代值是标识出与该实际参考不同的参考的替代信息的编码。该替代值是用于对该经可变长度编码的数据进行水印添加的、对该特定值的代替。
根据另一个一般方面,访问经可变长度编码的数据,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码。该信息的编码具有特定值。访问与该特定值不同的替代值,以使得该替代值是标识出与该实际参考不同的参考的替代信息的编码。将该替代值作为对该特定值的代替插入到该经可变长度编码的数据中以对该图像进行水印添加。
根据另一个一般方面,经可变长度编码的数据用于图像的编码。该经可变长度编码的数据包括标识出替代参考的信息的编码,该替代参考不同于用于对该图像进行预测编码的实际参考。标识出替代参考的信息为该图像提供水印。
根据另一个一般方面,对用于图像的编码的经可变长度编码的数据进行解码。该经可变长度编码的数据包括标识出替代参考的信息的编码,该替代参考不同于用于对该图像进行预测编码的实际参考。标识出该替代参考的信息为该图像提供水印。
根据另一个一般方面,像素域图像包括可检测特征,该可检测特征源于来自该图像的预测编码的一个或多个语法元素的可变长度编码的水印。该可变长度编码包括了标识出替代参考的信息的编码,该替代参考不同于用于对该图像进行预测编码的实际参考。标识出该替代参考的信息为该图像提供了该水印。
根据另一个一般方面,对图像的添加了水印的版本的预测编码进行可变长度编码。经可变长度编码的数据包括用于对该图像的添加了水印的版本进行编码的当前参考的指示符和所产生的残差的指示符。该图像的添加了水印的版本具有提供水印的可检测特性。可检测特性是由于以下操作而产生的:(1)修改该图像的先前预测编码的先前可变长度编码,该先前预测编码是基于先前参考的并且包括标识该先前参考的信息,其中该修改包括使该信息失真以便指示出替代参考并为该图像提供该可检测特性,以及(2)对该图像的先前可变长度编码和先前预测编码进行解码以产生其中存在该可检测特性的该图像的添加了水印的版本。
根据另一个一般方面,访问标识出在经可变长度编码的数据中信息的可变长度编码所在的位置的信息。该信息标识出与图像的预测编码相关联的至少两个参考之一。在该经可变长度编码的数据中的该位置处访问该信息的编码。基于该信息的编码来确定该至少两个参考中的哪一个被标识。基于确定该至少两个参考中的哪一个被标识的结果来确定有效载荷(payload)信息。
根据本发明的另一个一般方面,访问像素域图像,该像素域图像包括可检测特征,该可检测特征源于来自该图像的预测编码的一个或多个语法元素的可变长度编码的水印。该可变长度编码包括了标识出替代参考的信息的编码,该替代参考不同于用于对该图像进行预测编码的实际参考。标识出该替代参考的信息为该图像提供了该水印。访问检测元数据,该检测元数据指示出该像素域图像中该可检测特征所在的位置。在该位置处分析该像素域图像以为该可检测特征确定一值。访问另外的检测元数据,该另外的检测元数据指示出该可检测特征的比较值。将所确定的该可检测特征的值与该比较值相比较。基于该比较的结果来确定有效载荷信息。
一种或多种实现方式的细节在附图和以下描述中给出。即使是以一种特定的方式来描述的,也应当清楚实现方式可通过各种方式来配置或实现。例如,一种实现方式可以以方法的形式来执行,或者实现为被配置为执行一组操作的设备,或者实现为存储用于执行一组操作的指令的设备,或者实现为信号。当结合附图和权利要求来考虑以下详细描述时,将清楚其他方面和特征。
附图说明
图1是对经熵编码的流进行水印添加的实现方式的框图。
图2a是示出在修改经编码的比特流时使用的操作的一种顺序的框图。
图2b是示出在修改经编码的比特流时使用的操作的另一种顺序的框图。
图3示出了四种预测模式。
包括图4a和图4b的图4是示出用于一种特定标准的宏块类型并且示出通过宏块类型确定的其他信息的表格。
图5是示出在一种特定标准中提供的指数哥伦布编码(Exp-Golombcoding)的表格。
图6是用于为替代内预测模式确定检测值的实现方式的流程图。
图7是用于确定水印添加元数据的实现方式的流程图。
图8是用于为参考指示符确定替代值的实现方式的流程图。
图9是用于插入替换值的实现方式的流程图。
图10是用于为参考指示符插入替代值的实现方式的流程图。
图11是用于从被添加水印的数据中识别有效载荷的实现方式的流程图。
图12是用于从被添加水印的图像数据中识别有效载荷的实现方式的流程图。
图13是用于为内容添加水印并且检测有效载荷的实现方式的框图。
具体实施方式
存在这样的多媒体水印添加应用,其中,水印嵌入器必须直接修改经熵编码的比特流,以获得仍然既符合熵编码方案又符合下层数据格式(即,压缩标准)的被添加了水印的比特流。经常还要求,水印添加过程不得在多媒体数据中引入可察觉的伪影并且所嵌入的有效载荷即使在解压缩和处理之后仍能被恢复。对于许多应用来说,水印嵌入过程能够访问一些嵌入元数据,这些元数据通常是在分析或预处理阶段中预先计算的。这里描述的至少一种实现方式涉及该嵌入过程,为该嵌入过程生成这种嵌入元数据的过程,以及为该嵌入过程恢复所嵌入的有效载荷的过程。
至少一种实现方式通过在不要求熵解码和重熵编码的情况下直接修改经熵编码的比特流,来向H.264/MPEG-4 AVC比特流提供水印。该修改提供了水印。在一个这种实现方式中,熵编码是被称为基于上下文的自适应可变长度编码(CAVLC)的编码方案,该编码方案被广泛用于H.264/MPEG-4AVC标准(“AVC”)中。
AVC也被称为国际标准化组织/国际电工委员会(ISO/IEC)运动图片专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟电信部(ITU-T)H.264推荐。CAVLC也可用在AVC标准的扩展中。第一个这种扩展是被称为H.264/MPEG-4 AVC的可缩放视频编码扩展的可缩放视频编码(“SVC”)扩展(附录G)(“SVC扩展”)。第二个这种扩展是被称为H.264/MPEG-4 AVC的多视角视频编码(“MVC”)扩展的MVC扩展(附录H)(“MVC扩展”)。
在涉及AVC的至少一种实现方式中,宏块被进行预测编码,并且预测编码的语法元素随后被利用CAVLC进行熵编码。对于内预测(intra-prediction),与互预测(inter-prediction)不同,宏块是在不借助另一图片的情况下被进行预测编码的。即,不使用参考图片。相反,宏块是相对于其自身或者同一图片(图片例如可以是帧或场)内的另一宏块被进行预测编码的。经内预测的宏块的语法元素之一是宏块类型,其指示内预测模式以及其他信息。在至少一种实现方式中,宏块的宏块类型(“旧”宏块类型)被改成新宏块类型,以便为特定的16×16宏块指示一种不同的内预测模式。然而,旧宏块类型所指示的所有其他信息都保持不变。另外,新宏块类型(语法元素)被利用某个数目的比特来进行CAVLC编码,所述数目与用于对旧宏块类型编码的比特的数目相同。
宏块类型的上述改变可被进行来将水印嵌入到数据中。另外,替换宏块类型和相应的替换CAVLC比特的确定可离线进行,于是在以后当内容(例如,视频数据)被访问时,CAVLC比特的替换可以以不要求熵解码 的高效实时方式进行。然而,一种实现方式在确定替换信息的过程期间或者在后续的阶段中,在熵解码已被执行之后,执行全部或一部分替换。
在许多应用中,对于经压缩的视频流的水印添加有着越来越大的市场需要。早先的方法对流进行解压缩,在像素域中应用水印添加,然后对现在已经修改的像素域数据进行重压缩。早先的一个进步是使用来自原始的经压缩流的信息来简化重压缩。这一点利用通过对经编码的比特流应用熵解码和解析来对流进行部分解压缩的技术得到了改进。在熵解码之后,水印添加算法直接在诸如系数和运动向量之类的语法元素上工作。在流被修改以表示水印数据之后,熵编码被应用。我们在本公开中描述了各种实现方式,其中至少一些是在没有熵解码和重编码步骤的情况下直接对经熵编码的比特流应用水印添加的。
根据所描述的实现方式中的至少一些来对CAVLC流进行水印添加包括改变CAVLC流中的经编码的语法元素。一般地,改变经编码的语法元素将导致编码后比特长度发生改变。至少一种实现方式应对了编码后比特长度保持恒定的情况,但其他实现方式允许编码后比特长度变化。
本公开的至少一部分关注如何为流式水印嵌入器生成元数据。至少一种实现方式改变内预测模式,并且对于比特流的各种修改是健壮的。其他实现方式可修改残差(residue)系数的CAVLC编码。修改内预测模式的一个优点在于通过改变CAVLC比特流中的相对少量的比特(例如,在下面描述的一种实现方式中是7个比特),可以为给定的块提供较大且可检测(但不可察觉)的改变。这种改变还可被设计为对于经编码的比特流中的改变是健壮的。例如,如果经编码的比特流被解码,并随后被利用不同的参数(例如,块大小或各个块的模式)来重新编码,则比特流可能会完全不同,但仍可期望能够通过分析经解码的像素值来检测原始改变。
提供了对CAVLC和水印添加的简要论述来帮助理解各种实现方式。这些论述常常是具体的。然而,这些论述并不意图是完整的,并且这些论述中的每个细节可能不一定被应用到本申请中描述的所有实现方式。此外,这些论述包括许多本领域技术人员已知的素材。然而,这些论述总是会包括新颖的素材或素材构成,虽然这种情况可能不会被具体指出。这些 论述并不意图限制本发明的范围。更确切地说,这些论述提供了许多可能的上下文中的一个或多个具体的上下文,来帮助读者理解实现方式。
我们现在提供对CAVLC的论述。许多视频压缩方法中的最后一步是对经压缩的数据的无损熵编码。在AVC中,CAVLC常用于熵编码。CAVLC是公知的编码技术,并且是被称为可变长度码的一类编码技术的一部分。一般地,与例如固定长度码不同,可变长度码向具有或被预期具有较高出现率的语法元素值指派较短长度的码字。CAVLC一般对于每类语法元素提供码字和语法元素值之间的一个单独的指派。可变长度码是属于熵编码家族的一类码。包括CABAC(基于上下文的自适应二元算术编码)在内的算术码是属于熵编码家族的另一类码。
我们现在给出对水印添加的一般领域和在该领域内所描述的一个或多个实现方式所应用的更具体领域的简短论述。水印添加领域的普通技术人员将熟悉这里给出的许多信息。
这里使用的短语“数字水印添加”通常指的是根据某种有效载荷数据来修改一艺术作品(通常是图像、运动图像序列或音频剪辑),以使得以下条件得到满足:
1.该作品的经修改版本与该作品的原始版本感觉起来没有区别,并且
2.以后可从该作品的经修改版本中恢复出有效载荷数据。
被称为“健壮数字水印添加”的数字水印添加方法的一个子类引入了第三个条件:
3.可从该作品的经修改版本的失真版本中恢复出有效载荷数据,其中失真可能是由经修改的作品所经历的常见信号处理和信号操作(例如,压缩、降噪滤波、颜色增强)所引入的,或者失真可能是由尝试使有效载荷数据不可恢复的对手故意引入的。
健壮数字水印添加有许多应用,包括但不限于以下的:
1.所有者标识:水印有效载荷标识了作品的所有者。
2.拷贝控制:水印有效载荷指示出与作品相关联的著作权。用于查看、复制、记录、打印、分发或任何其他动作的装置可以恢复有效载荷数据并将动作限制到著作权所允许的那些。
3.交易跟踪:水印有效载荷标识了作品的拷贝被合法分发到的接收者。这在合法接收者没有获得进一步分发作品的权利时,可能是有用的。如果发现了未经授权的作品,则原始内容所有者可以从未经授权的拷贝中恢复出有效载荷,并且识别对未经授权的使用负责的接收者。
本领域的普通技术人员将认识到健壮数字水印添加具有许多其他应用。
水印添加可在“基带”中执行或者在经压缩的作品上执行。基带影像或运动图像序列例如是像素域的表示。基带音频作品例如是音频样本。一些应用要求对经压缩的作品进行水印添加。在此情况下,输出也是经压缩的作品。压缩的最后一步通常是熵编码,解压缩的第一步通常是熵解码。熵编码/解码过程通常是无损的,但是压缩过程通常还包括有损过程。用于对经压缩的作品进行水印添加的一种方法首先应用熵解码,然后应用解压缩以获得基带表示。基带表示被添加水印,并且由此产生的被添加了水印的作品被压缩并熵编码。该方法可能是耗时的,并且可能由于重压缩而导致感觉质量的降低。
为了改善感觉质量并且减少所需的计算,来自原始经压缩作品的信息,例如运动向量、模式判决、质量因子和其他信息,可在解压缩期间被保存,并在重压缩期间被使用。这意味着重压缩不需要执行任何运动估计(从而节省了计算和/或时间),并且对原始量化因子和模式判决的使用可以带来感觉质量的改善。
被称为“压缩域水印添加”的一类水印添加算法已经出现了。这些方法可被描述为在水印添加之前执行“部分解码”,而不是像先前所述那样的“完全解码”。这里,经压缩的作品首先被熵解码,以暴露经压缩的作品的语法元素。这些语法元素可包括系数(例如块DCT(离散余弦变换)或小波系数)、运动向量、图片类型、预测模式和许多其他语法元素。水印添加算法随后直接修改这些语法元素中的一些。最后,经修改的语法元素被熵编码,以获得经修改的压缩作品。
本申请中描述的至少一种实现方式属于新的一类水印添加算法,这些算法可被称为“经熵编码的流的水印添加”。这些方法如图1所示直接修 改经熵编码的流。
参看图1,系统100执行水印添加。系统100也可被认为是一个过程。原始的经压缩的流被流修改102根据有效载荷来直接修改,并且输出是由此产生的经标记的压缩流103。有效载荷例如可以是内容(例如,DVD)播放器的序列号、播放器的型号或者以后的识别所希望使用的其他信息。有效载荷可以不被编码,或者可以如数据编码单元120中所示被编码。流修改过程被告知:(1)要进行的所有改变的位置,以及(2)要进行的实际改变。流修改过程是被可在预处理阶段104期间生成的元数据告知此信息的。
元数据105是通过对原始的压缩流进行熵解码106(如果使用多层编码的话可能还进行进一步的解码)并且生成水印108来生成的。元数据标识了流内要进行改变的位置(即,用于水印生成的位置),并且表明流应当如何响应于不同的有效载荷码元而改变。对于所描述的图1的实现方式,元数据是通过分析经压缩作品的经解码的语法元素来生成的。像这样的水印添加方法一个有挑战性的方面是元数据的生成。以下说明对于一个或多个实现方式这是如何完成的。
先前的段落和图1暗示了可能存在预处理阶段104。指出存在三个重要时间的情形,是有用的。第一时间是经压缩的比特流被分析以生成某种元数据的地点/时间。第二时间是在第一时间生成的元数据中的一些或全部与被称为有效载荷的特定码元序列一起被用来修改比特流的地点/时间。第三时间是在第一时间生成的元数据中的一些(或者全部或者都不)被用于分析经修改的比特流、通过对经修改的比特流进行解压缩而获得的运动图像序列、或者通过对经修改的比特流进行解压缩而获得的运动图像序列的失真版本的地点/时间。在第三时间的此分析的目的是恢复有效载荷。
为了理解上下文,考虑第一时间发生在作品分发之前,第二时间发生在复制期间(其中用于每个拷贝的有效载荷唯一地标识该拷贝),并且第三时间发生在已经发现作品的未授权拷贝之后,此时有效载荷被恢复以揭示所分发的拷贝中的哪个是未授权拷贝的源。此示例只是举例说明,而并不意图暗示对这些概念的应用的任何限制。此外,虽然可能存在依应用而 定的要求,但是在技术上并不要求第一时间(预处理)和第二时间(嵌入)是不同的。实际上,所有三个“时间”可以都是相同的。
作为另一个示例,我们返回参看图1。预处理阶段例如可在创作电影以便最终交付的过程期间执行。在一种情形中,执行一个过程来识别下述经编码元素的位置:对于这些经编码元素,已经确定了可接受的替换值。该过程的结果(例如这种经编码元素的位置以及可接受的替换值)被存储在与经编码的电影包括在一起的元数据中。对于此示例,考虑两种情况。在一种情况中,元数据的每个条目标识比特流中的一个位置以及一个可接受的替换值。在第二种情况中,在每个元数据条目中标识两个可接受的替换值。
流修改可在电影的回放期间执行,其中,例如,播放器(例如,软件播放器、机顶盒播放器或者DVD播放器)的序列号被用作有效载荷。有效载荷例如被用于确定是否替换所标识的经编码元素。例如,如果在元数据中提供了单个可接受替代,则有效载荷序列中的“1”可表明原始值被替代值所替换,而“0”可表明原始值被保持。又例如,所有标识出的位置可被替换,并且有效载荷可表明要使用(为经编码序列中的每个位置)提供的两个替换值中的哪个。例如,“0”可表明使用第一替换,而“1”可表明使用第二替换。注意,在本申请中,“替代”和“替换”这两个词经常互换使用。另外,取决于上下文,替代(或替换)可指多种项目。替代例如可以是语法元素的替代值或者表示语法元素的值的经编码比特的替代值。
有效载荷的恢复可以在与发生流修改的地理位置无关的地理位置处执行。换言之,流修改可以在俄亥俄州的Toledo发生,而有效载荷恢复可以在加州的Burbank发生。关键在于能够访问包含基于经修改的流的数据的文档。例如,经修改的流可以被电子拷贝并被放在可记录的DVD上,或者经修改的流可以被呈现并随后被重记录和编码,然后被放在可记录的DVD上。如果获取了该可记录DVD,则可以分析该可记录DVD以恢复有效载荷。可以利用检测元数据(在图1中示出)来辅助有效载荷的恢复。检测元数据例如可以指示出数据流中嵌入水印添加信息的位置,以及 可接受的替换值。检测元数据可以还指示或者改为指示例如图片(例如,帧或场)中的这样一个位置:在该位置中,水印信息意图在像素域数据中产生可检测的改变。在这后一种情形中,检测元数据还可以指示出期望的(一个或多个)改变,这将在下文中进一步说明。检测元数据可以在产生水印添加(嵌入)元数据的同时产生,或者在另一个不同的阶段产生。
“水印”例如可以指替换数据流中的原始数据的嵌入数据。“水印”可以还指或者改为指由于在数据流中嵌入替换数据而在基带影像中的经解码的显示视频图片上产生的效果。因此,“水印”可以指嵌入的数据或者在所得到的基带数据(例如,图像或音频剪辑)上产生的效果中的一种或多种。例如,所产生的效果可以是宏块的亮度的改变,这种改变是可检测的,但却是观看者不能察觉的。
我们现在提供对经AVC编码的比特流中的基于CAVLC的数据的嵌入的论述。一种对经压缩的流进行水印添加的方式是改变一个或多个语法元素的值。一般要求是改变后的经压缩流仍是有效的流(仍符合特定的压缩标准)。在压缩技术使用可变长度码熵编码技术时,要满足该要求。对于利用CAVLC的AVC来说就是如此。经改变(即,经修改)的语法元素将被利用CAVLC来编码,并且这些经修改的CAVLC比特将替换比特流中的经CAVLC编码的原始值。这些比特可具有与未经修改的语法元素的CAVLC编码相同的长度(比特数目),或者可具有不同的长度。然而,不论长度相同还是不同,对于其他CAVLC比特的精度都没有影响,因为语法元素的CAVLC编码不依赖于先前或随后的语法元素编码。
在所描述的各种实现方式中,存在两个一般步骤来修改经CAVLC编码的比特流,但这些步骤可以按任一种顺序来执行。在论述这些步骤时,称之为“步骤1”和“步骤2”,但这些步骤编号并不意图暗示或要求这些步骤的任何特定或具体的执行顺序。图2a和2b包括分别示出这两个一般步骤的框图200和210。
给定经CAVLC编码的AVC比特流,步骤1构建从目标元素到原始经编码块的映射(202)。在一种实际实现方式中,这是通过对比特流解码并且保持跟踪哪些比特流比特产生哪些语法元素来完成的。例如,CAVLC 解码器可被应用到经压缩的比特流以暴露出语法元素。
步骤2为目标元素搜索一个或多个可接受的替代值(204)。一种搜索可接受的替代值的方式是检查所有可能的替代值并且确定哪些是可接受的(如果有可接受者的话)。每个可能的替代语法值被CAVLC编码,以得出替代比特。一般地,所有可能的替代语法值都是“可接受的替代值”。然而,各种实现方式具有一个或多个额外的标准。
一个标准是CAVLC编码长度。因为CAVLC是可变长度码,所以一些替代语法值将改变CAVLC编码的长度。这在一些实现方式中是可接受的,但其他实现方式提出了这样的要求,即CAVLC编码长度在水印添加之前和之后保持相同。其他标准例如涉及保真性和可检测性,这将在下文中进一步论述。
图2a和2b分别示出了这两个步骤202、204的两种不同顺序。注意,在图2b中,只有在步骤2(204)中为之找到至少一个替代语法值的目标元素需要步骤1(202)中的映射和指派。
AVC视频压缩标准与大多数视频压缩标准一样,是通过根据一个或多个先前编码的像素块中的值预测某一像素块中的值来实现压缩的。预测和实际值之间的差异经常被称为残差,其随后被进行变换编码和量化。用于预测的一个或多个块,即参考块,可来自同一图片或来自不同图片。其参考块来自同一图片的块被称为被内编码的块或简单地称为内块。在此情况下,预测常被称为内预测。
对于亮度样本,整个16×16宏块可以被整体上进行内预测,或者可被划分成8×8子块或者甚至4×4子块。每个子块随后将被独立地进行内预测。对于16×16亮度内预测,在该标准中定义了四种模式。对于8×8和4×4子块,对于每种类型的块定义了九种模式。编码器通常为每个块选择使预测块和实际像素值之间的差异最小的预测模式。
为了简化论述,我们仅论述16×16内预测。对于16×16内预测,定义了以下四种模式,如图3所示:
1.模式0(垂直)310-根据上方样本(H)推断。在此模式中,与某个块的上边缘毗邻的邻居像素被用作该块的相应列中的所有像素的预测。 即,对于某个16×16块中的给定列,上方垂直相邻的块中的毗邻像素被用作整个列的预测。
2.模式1(水平)320-根据左方样本(V)推断。在此模式中,与某个块的左边缘毗邻的邻居像素被用作该块的相应行中的所有像素的预测。即,对于该16×16块中的给定行,左方水平相邻的块中的毗邻像素被用作整个行的预测。
3.模式2(DC)330-上方和左侧样本的均值(H+V)。在此模式中,与某个块的上边缘毗邻的邻居像素和与该块的左边缘毗邻的邻居像素被取平均来确定均值。该均值随后被用作该块的所有像素的预测。即,确定左方水平相邻的块和上方垂直相邻的块中的所有毗邻像素的均值。这些像素的均值随后被用作该块的所有像素的预测。该块中的每个像素于是具有相同的预测。
4.模式3(平面)340-一线性平面被拟合到上方样本H和左侧样本V。在此模式中,形成了一平面。该平面是基于左方水平相邻的块中的所有毗邻像素和上方垂直相邻的块中的所有毗邻像素的。该平面为该块中的每个像素提供了预测。
注意,8×8和4×4内预测的模式可以按与这里描述的对16×16内预测模式的修改相类似的方式被修改。另外,所有3个块大小都使用了易于以与模式修改相类似的方式来修改的其他语法。
为了对块解码,利用由当前块的内预测模式所指定的先前解码的邻居块的可用像素来生成预测的块。然后,经解码的残差像素值被与预测的块相加。结果是最终经解码的像素块。
B=P+R (3-1)
其中B是最终经解码的像素值块,P是预测的块,R是经解码的残差的块。
在此实现方式中将内预测用于水印添加的基本思想是在不修改残差数据的同时将内预测模式从一种改变到另一种。即,残差R保持不变,虽然它对于新的预测块来说可能不再是准确的残差。改变预测模式的结果将是一个不同的预测块(被称为PW)。结果,最终经解码的像素块(现在称 为BW)将不同于其本来应具有的形式(即B)。即,BW=PW+R,并且BW不等于B。
原始的经解码像素值块(B)和添加了水印的像素值块(BW)之间的差异(记为ΔB)将与原始的预测像素块(P)和添加了水印的预测像素值块(PW)之间的差异(记为ΔP)相同。
ΔB=ΔP,其中ΔB=BW-B,并且ΔP=PW-P, (3-2)
并且下标“w”表示各自的添加了水印的版本。
通过改变宏块的内预测模式,该块的像素将改变,改变量为ΔB。为了使得该改变适合于水印添加,至少在此实现方式中我们要求满足以下三个要求(R1-R3):
R1:可以从重建的影像中检测到该改变,
R2:在重建的影像中该改变是不可察觉的,并且
R3:该检测对于某组预定义的信号失真是健壮的。
为此,我们评估每种可能的改变的适当性,并且只选择满足这些要求的那些改变。
第二个要求可以通过许多方式来解释。我们可以要求重建的影像具有高视觉质量或者它与原始的未加标记的影像不可区分,或者改变的可察觉度落到某个阈值之下,而该阈值可取决于应用。人们判断水印的保真性的方式有许多种。对于本公开而言,我们允许应用任何适当的保真性度量来判断所提出的改变是否或者在何种程度上满足应用的保真性要求。
对保真性要求(R2)的评价可以通过各种方式来完成。对于给定的目标元素,我们需要评价或预测用每个替代值来替换其原始值的感觉影响。回忆起这种评价或预测完全能够访问经压缩流的所有语法元素并且可以使用这些语法元素来预测下层影像的掩蔽效果和人类视觉或听觉系统(在视频的情况下,我们关注人类视觉系统)对修改的敏感性。这种预测的细节是精通感觉建模技术者所公知的。感觉模型在压缩文献和水印添加文献中都被广泛引用。
除了使用对可察觉性的压缩域计算性预测之外,我们甚至还可能能够将流完全解压缩成基带运动图像序列。如果分析是作为预处理来执行的, 就可能出现这种情况。在此情况下,计算性预测可以检查实际像素数据。这可以带来对可察觉性的更精确预测。此外,我们可能能够通过对原始流解压缩以获得参考运动图像序列,并且随后利用替代来替换语法元素值并对由此产生的流解压缩以获得第二运动图像序列,从而来评价用替代值替换原始语法元素值的可察觉性。许多公知的技术可用于评价两个运动图像序列之间的差异的可察觉性。
最后,我们甚至还可以求助于主观评价。人类观看者可以评价参考运动图像序列和经修改的运动图像序列之间的差异的可察觉性。人类主体可以评价对于给定的应用某个修改满足要求R2的程度。
一些方法可用于确定可能的语法元素改变中的哪些满足要求R2。
我们现在从一般角度来考虑第一要求R1。假定将替代语法值用于目标语法元素会在经修改的流以后被解压缩为运动图像序列时引起某种可测量的改变。可能引起的可测量改变一般有两种,即“直接的”和“间接的”。
对于“直接改变”,语法元素直接对应于运动图像序列的可测量伪影。例如,对亮度块DC系数的修改将会直接导致相应的经解压缩的块的平均亮度的可测量改变。另一方面,对于“间接改变”,在图像序列中测量到的伪影只与流中的修改间接相关。例如,对运动向量的修改将会导致错误的块被用作预测,并且因此将会导致相应的经解压缩的块中的不正确的像素数据。确定使用了哪个运动向量可能是困难的,但是对一个不同的运动向量的使用将会影响其他可测量的伪影。运动向量可用于得出具有更高或更低平均亮度的重建块。
要求R1的可测量改变可以帮助识别位置并且了解进行了哪些改变,以便恢复有效载荷。这在获得盗版拷贝时尤其有用。通过“了解”曾进行的改变,可以获得盗版拷贝的源。
在一种实现方式中,确定哪些运动向量语法元素具有至少两个替代语法值,以使得对这些替代语法值之一的使用将会得出具有较高平均亮度的重建块,而对一个不同的替代语法值的使用将会得出具有较低平均亮度的重建块。与这两个替代值中的每一个的CAVLC编码相对应的经编码比特 块以及在CAVLC流内的比特位置作为元数据被发送到嵌入器。基于相应有效载荷比特的值,嵌入器将利用与一个或另一个替代比特块相对应的比特块来替换原始比特块。
例如,嵌入器在有效载荷比特为“0”的情况下挑选或选择与减小相应块中的平均亮度的语法值相关联的比特块,并且在有效载荷比特为“1”的情况下挑选或选择与增大相应块中的平均亮度的语法值相关联的比特块。很明显,对于要嵌入的每个有效载荷比特,我们需要至少一个满足所有要求的目标元素。
元数据还可包含经解压缩的运动图像序列中将引起亮度改变的帧号码和块号码。为了获得进一步的健壮性,预处理阶段还可将该块的原始平均亮度存储在元数据中。该信息可在恢复时(例如,解码时)用来识别经修改的块并且将其平均亮度与存储在元数据中的原始值相比较。在所给出的示例中,高于原始值的平均亮度将意味着相应的有效载荷比特为“1”,而低于原始值的平均亮度将意味着相应的有效载荷比特为“0”。
对于此实现方式,第一和第三要求(即能够健壮地检测到改变)要求建立一个良好的特征,该特征能够在经解码的影像中被可靠地测量到,并且可以通过改变宏块的内预测模式来加以修改。一个这种特征是宏块的平均亮度。每个内预测模式改变将会导致经解码的像素值的改变ΔB。注意ΔB一般是值的矩阵(即,ΔB也是一个块)。该ΔB可具有正的或负的平均值(在块上取平均)并且该平均值的幅度对于不同模式可以是不同的。改变(例如,ΔB的平均值)的符号可用于编码(嵌入)数据。另外,改变的幅度可用作对改变的期望健壮性的指示,其中较大的幅度表明对于对经编码的比特流的进一步修改更加健壮。可以得到并使用对健壮性的更精密度量。
可用于满足R1和R3的第二个特征是重建的像素块的方差。DC模式(模式2)与其他三种内预测模式的不同之处在于所有的16×16像素值都是利用单个值(即,参考像素的均值)来预测的。当块的性质较平滑时,预期AVC编码器将会使用此模式。
如果我们将模式从模式2改为其余三种模式之一,则可以预期所得到 的块(BW)的方差相对于原始块“B”将会增大。另一方面,如果编码器选择模式0、1或3,则预期该块一开始将具有较高的波动(与最初选择模式2的情形相比)。通过将内预测模式从模式0、1或3改为模式2,该块BW的方差相对于“B”的方差一般将会减小。同样,与内预测模式的改变相关联的ΔB将会导致重建块BW的方差的增大或减小,并且方差改变的幅度将会取决于开始和结束模式而不同。方差改变的符号可用于编码(嵌入)数据。另外,方差改变的幅度可用作对改变的期望健壮性的指示,其中较大的幅度表明对于对经编码的比特流的进一步修改更加健壮。可以得到并使用对健壮性的更精密度量。
我们现在论述用于通过宏块类型来改变内预测模式的实现方式。在AVC中,宏块的16×16内预测模式是在mb-type字段中指定的。mb-type字段还指定该块的其他参数,例如coded-block-pattern(经编码块样式)。
参看图4,表400列出了I片层的宏块类型(“mb-type”)并且提供了mb-type值410及其含义的列表。直接从标准中取来的该表400在此实现方式中被用于找出在不改变coded-block-pattern 430和440或预测块大小445的情况下改变内预测模式420的mb-type值410。
为了在改变内预测模式420时保持除内预测模式420之外的其他语法,mb-type 410的改变限于仅在内预测模式420上不同的那些值。例如,原始的mb-type 11(参见行450)表明内预测模式420为2(DC)并且色度430和亮度440的coded-block-pattern分别是2和0。该mb-type 410可被改变为9、10或12,以在不改变coded-block-pattern 430和440或预测块大小445的情况下改变内预测模式420。
mb-type在比特流中被熵编码。如果使用CAVLC熵编码,则利用指数哥伦布码来对mb-type进行编码。指数哥伦布码是可变长度编码方案。一些特殊的应用,例如对创作的DVD盘的水印添加,要求替换(例如,VLC)数据与原始(例如,VLC)数据具有完全相同的长度。在此情况下,只有产生相同数目的(例如,VLC)比特的mb-type能用于替换原始mb-type。
参看图5,表500是指数哥伦布编码表,并且列出了比特串形式(左 列)510和相应的指数哥伦布码的值范围(右列)520。表500是直接从标准中取来的。根据该表500,我们发现,利用上述示例,mb-type 9要求7比特。这可以通过首先注意到mb-type 9出现在右列520的第四条目530中给出的范围520内来确定,该范围520具有值“7-14”。然后我们注意到左列510的相应(第四)条目530示出了7比特,这7比特是0 0 0 1 x2x1 x0。x2 x1 x0例如可以按顺序来指派,其中000被指派给值7,而111被指派给值14。
因此,在CAVLC串的长度在水印添加之前和之后要保持相同的此实现方式中,mb-type仅能用也要求7比特的另一mb-type来替换。在此情况下,mb-type 9、10和12都落在相同的范围(7-14)内并且都要求7比特。因此,mb-type 9、10和12都是可能的候选替换mb-type。这样,我们可以将图5的VLC比特长度与图4的宏块类型相结合,来确定哪些mb-type可用于替换原始mb-type。在上述方法中实施了以下规则:
1.替代mb-type应当仅在内预测模式上有不同。
2.与替代mb-type相对应的比特串的大小应当和与原始mb-type相对应的比特串的大小相同(如果要求恒定比特长度的话)。
在先前的部分中,我们建议应当就其对重建影像的保真性的影响以及其可检测性的健壮性来评估可能的改变。在该部分中,将描述用于将这两个效果组合成单个代价值的方法以及将该代价值用来选择应用哪些改变。
再参看图1,预处理的输入是经AVC编码的比特流。输出是水印添加元数据。处理流的初始步骤之一是识别其内预测模式可能能够被改变的每个经内编码的块。对于这些经内编码的块中的每一个,我们识别所有下述替代内预测模式:这些替代内预测模式满足比特长度要求(如果应用要求恒定的比特长度的话),并且满足上述的第一规则,即相应的替代mb-type仅在内预测模式上有不同。假定特定的检测度量(例如,亮度均值,或者如前所述的块的方差),另一个步骤是收集原始检测值和所有的替代检测值。“检测值”是由于编码而得到的检测度量的值(数字)。例如,块的亮度均值的值。替代检测值是由于使用每个替代内预测模式而将得到的值。
参看图6,过程600示出了在平均亮度被用作检测度量时用于确定检测值的实施例。对于给定的块可以确定一个或多个检测值。例如,如果对于给定的块存在多个替代,则可以为每个替代确定一检测值。典型的实现方式在所确定的检测值之间进行优化。这种优化例如可包括为每个块选择最佳替代,然后从这些最佳替代中选择前十个。此示例的结果是选出了具有最佳检测值的十个块,其中“最佳”例如是根据所选择的度量来确定的。另一种实现方式对于给定的块考虑多对替代,并且为每个块选择最佳对,这将在下文中进一步说明。
过程600包括计算经内预测编码的块的平均亮度(610)。这是原始的检测值,并且平均亮度可以根据预测与经解码的残差的加和来计算,如先前针对式3-1所述。
过程600随后包括对于每个替代内预测模式计算经内预测编码的块的平均亮度(620)。操作620使用替代模式来进行预测。平均亮度例如可以在有或没有现有残差数据的情况下利用预测来计算。
过程600存储帧号码(或者更一般地说是图片号码)、块位置以及所有平均亮度(630)。这些平均亮度包括由原始内预测模式得到的平均亮度(操作610)以及由(一个或多个)替代内预测模式得到的(一个或多个)平均亮度(操作620)。
过程600继续到下一个经内预测编码的块640并且重复操作610-630。过程600对给定图片中的所有经内预测编码的块执行。当然,其他实现方式不需要这样详尽。注意,经内预测编码的块例如可以是来自经内编码的图片(例如,I帧)的块,或者是来自经互编码的图片(例如,P帧)的块,如果该块被内编码的话。
利用在过程600中收集的信息,一种实现方式可以直接确定应当使用哪些位置和哪些替代的替换值来提供水印添加。可以使用各种判决过程。以下我们论述一个这种过程的实现方式。以下论述的实现方式例如使用了在过程600中收集的信息来选择满足例如早前列出的要求R1、R2和R3的位置和替代值。
水印添加算法的关键属性通常是健壮性(上述的R3)和保真性(上 述的R2)。保真性也被称为不可察觉性。通常,健壮性和保真性这两个属性是彼此矛盾的。我们介绍一种解析方法来说明这两者之间的平衡。
令CF表示保真性代价。CF被定义为水印越可见,值就越大。我们希望进行保真性代价非常低的改变。存在许多用于测量CF的方法,用户可选择最适合于特定应用的方法/度量-本实现方式是独立于该选择的。
令CR表示健壮性代价。CR被定义为使得导致较弱健壮性的改变具有较高的健壮性代价。较弱的健壮性意味着例如改变更容易变得不可检测。例如,如果图片被解码并且像素数据被滤波,则一些改变可能被减弱并且可能变得不可检测。同样,我们试图进行具有较低的健壮性代价的改变。
对于每个替代改变,我们计算与做出该改变相关联的保真性代价和健壮性代价两者。我们随后组合这两个代价以获得做出该改变的总代价。总代价是如下计算的:
C=αCF+βCR
其中限制α+β=1通常是有帮助的。在此情况下,我们可以写出
C=αCF+(1-α)CR
被限制到0至1的范围的参数α用于控制保真性和健壮性之间的折衷。α的值越大就越强调保真性,而α的值越低就越强调健壮性。对于给定的α,可以计算每个替代预测模式的代价C。C超过某一阈值的那些可被丢弃。
为了满足上述的R2,即不可察觉性要求,一种实现方式可以例如额外为CF使用一阈值水平。例如,在一种实现方式中,某个替代预测模式的CF的值被与一阈值相比较。如果CF的值大于该阈值,则该替代预测模式将不会被接受作为原始预测模式的可能替换。
在一种使用上述代价公式的特定实现方式中,使用了16×16宏块。在经内预测的16×16宏块中,存在三种可用的替代内预测模式和原始模式。对于此示例,我们假定所有的不同内预测模式值都是有效的替代,因为我们能够将模式改变成任何一个,而不改变coded-block-pattern或经编码比特长度(如果要求恒定的比特长度的话)。查阅图4-5将会发现,这个假定并非始终得到满足,但该假定对于当前论述的清楚和简要是有用的。此 外,我们将假定检测度量是块的平均亮度。
为了嵌入数据比特,可以选择两个预测模式:第一模式将被用于表示“1”,第二模式将被用于表示“0”。我们假定导致较低平均亮度的预测模式将被用于表示比特“0”并且导致较大平均亮度的预测模式将被用于表示比特“1”。于是,存在六种可能的对组合:{P1=(mode0,mode1),P2=(mode0,mode2),P3=(mode0,mode3),P4=(mode1,mode2),P5=(mode1,mode3),P6=(mode2,mode3)}。(注意如果预测模式中的一些不是有效替代,则这些组合中的一些将不可用。)在此情况下,我们需要计算与选择每个对组合相关联的保真性代价CF和健壮性代价CR。这些代价随后可用于与应用要求相比较。对于每个对组合,CF和CR是如下评估的。
令B表示原始像素块。令ΔB0和ΔB1分别表示在嵌入比特“0”或比特“1”的情况下被添加水印的块和原始块之间的像素差异。如果原始的内预测模式被用于表示“0”或“1”比特,则相应的ΔB就简单地是全零。在这种情况下,保真性代价仅依赖于所选择的另一模式。假定存在K个可用的对,则对k的保真性代价可通过下式来获得:
CFPk=F(B,ΔB0,ΔB1) (4-1)
其中函数F(·)结合了如上所述的任何保真性度量(例如,Watson模型),并且k是从1到K的索引。通常,该保真性函数将独立地评估ΔB0和ΔB1,从而为其每一个获得保真性代价值,并且将返回两个值中较大的那个(表示两者中“较坏”的保真性)或者两个值的加和。保真性度量也可以部分或全部地是基于用户评估的主观度量。
令L0和L1分别表示在嵌入比特“0”或比特“1”的情况下块的亮度(在此实现方式中是单个值)。令BlkSz表示内预测块大小。健壮性代价可以按L0、L1和BlkSz的函数的形式来衡量。对于给定的亮度(或亮度改变),较大的块大小可提供增大的健壮性。对k的健壮性代价可以通过下式来获得:
CRPk=G(L0,L1,BlkSz) (4-2)
其中函数G(·)是如上所述的任何健壮性度量(例如,方差改变或平均亮度改变的幅度)。同样,典型的健壮性度量将会独立地评估每个改变的健壮 性并且返回两个代价中较大的那个或者两个代价的加和。
最后,此对的最终水印添加代价为:
Ck=αCFPk +βCRPk (4-3)
一旦已经计算出了与每个对相关联的代价,则可以为该块选择具有最小代价的对并将相应的代价赋给C,即改变该块的代价。
C=min(Ck),其中k=1...K (4-4)
一旦已经确立了每个块的水印添加代价,块选择过程就可以是简单地基于有效载荷要求来选出具有最小水印添加代价的块。例如,如果存在10个有效载荷比特,则可以选择具有最小水印添加代价的10个块。此示例的10个有效载荷比特例如可以通过对一个或多个有效载荷码元编码来生成以增大健壮性。另一种实现方式不对有效载荷码元/信息编码以增大健壮性,而只是将有效载荷信息以二进制形式表示为有效载荷比特。
再次参看图1的实现方式,水印添加嵌入元数据105包含标识出比特流中每个修改将会发生的位置的比特偏移量以及在有效载荷比特为“0”或“1”的情况下将使用的值。从而,当保持跟踪替代改变时,我们跟踪输入AVC流中可以找到描述当前mb-type的VLC码的比特位置。我们还保持跟踪用于表示每个替代改变的特定比特串(来自图5的表)。从而,在选择(可能是基于最小化总代价的选择)之后,系统可以写出嵌入元数据105。对于此文件中的每个条目,存在一比特偏移量和两个比特串(例如,VLC比特串),其中对于两个可能的有效载荷比特“0”和“1”中的每一个存在一个比特串。
此外,预处理阶段写检测元数据(也在图1中示出)。这包括每个改变的帧号码(或者更一般地说是图片号码)和块位置以及在其表示比特“0”和“1”的情况下被添加水印的块的期望亮度(或其他检测度量)。还要注意,一些实现方式可在检测元数据中包括嵌入元数据,以允许在解码之前检测流中的水印添加信息的存在。
如刚才所建议的,作为在像素级执行检测的替代或附加,检测可以在比特流级执行。通过分析比特流,可以确定在指定的比特偏移量处嵌入了什么有效载荷比特。然而,如前所述,如果比特流已经通过例如解码然后 重编码被加以处理,则所产生的(经编码的)比特流可能完全不同于原始的(经编码的)比特流。例如,重编码可能使用不同的块大小或模式(如前所述)。在这种情况下,可能无法从比特流中检测水印,但如果水印足够健壮,则可以从像素中检测水印(在对新比特流解码后)。
参看图7,过程700提供了利用代价方法来为经内预测编码的16×16宏块确定水印添加元数据(嵌入和检测)的实现方式。过程700包括过程600的基本特征。即,为宏块确定水印添加元数据的过程700包括为这些宏块确定检测值。
过程700例如可对一图片中的给定的一组宏块执行,或者对一图片中的所有宏块执行,或者对一图片序列中的所有宏块执行。在以下对过程700的论述中,假定一种对图片中的所有宏块执行过程700的实现方式。
过程700包括在图片中的所有16×16宏块上循环(700),并且对使用16×16内预测模式(参见例如图4)的每个16×16宏块执行一组操作(720-750)。该组操作包括操作720-750。
对于使用16×16内预测模式的每个宏块,确定可能的替代内预测模式(如果有的话)(720)。在一种实现方式中,这些替代必须满足以下要求,即经编码块样式(430和440)以及预测块大小(445)保持相同,并且宏块类型(410)的经编码比特长度保持相同(参见图5)。
对于每个可能的替代内预测模式或者模式组,确定总代价(730)。在一种实现方式中,确定总代价包括利用上述式子序列来计算保真性代价和健壮性代价。模式组例如可以是如前所述的一对模式或者模式的某种其他组合。
确定最佳可能替代内预测模式或模式组(740)。在一种实现方式中,最佳是利用如以上式4-4那样的最小化函数来确定的,该式选择具有最小总代价的对。其他实现方式使用不同的函数来确定最佳可能替代,并且也可识别多个“最佳”可能替代。例如,在上述的一种实现方式中,“最佳”可能替代是一对。该对可包括一个替代或两个替代。在过程700的典型实现方式中,如果没有可能的替代内预测模式,则不存在“最佳”模式。
为最会可能替代内预测模式或模式组存储嵌入元数据和检测元数据(750)。在一种实现方式中,嵌入元数据包括在流中的比特偏移量以及(一个或多个)经编码的替代宏块类型,其中(一个或多个)替代宏块类型对应于(一个或多个)最佳可能替代内预测模式。在一种实现方式中,检测元数据包括图片号码(或帧号码)、宏块位置、以及原始和替代检测值或某种其他参考检测值。在这种实现方式中,检测值可以在计算总代价的操作730期间计算。例如,检测值可以在计算健壮性代价的过程中确定。
各种实现方式在存储元数据之前或之后对元数据进行化简或者更一般而言是进行过滤。在一个这种实现方式中,每个块的最佳替代模式(或模式组)被排名,并且只有前100个被保留并存储,因为仅存在100个有效载荷比特。第二种实现方式规定在比特流中的任何两个改变之间必须存在的未改变的比特的最小数目。第二实现方式中的这个标准例如可排除为两个相邻的块使用最佳替代模式。第三实现方式规定经熵编码的比特流中的每个特定改变的大小(以比特数目的形式)。第三实现方式中的这个标准例如可规定嵌入元数据中的条目的大小。每个特定改变当然不需要实际改变被替换的每个比特的值。在又一种实现方式中,对于给定的块,仅对最佳替代模式(或模式组)存储元数据,如果该最佳替代也满足要求R1、R2和R3的话。另外,一些实现方式可结合这些和其他标准。
在一种实现方式中,嵌入元数据包括在经压缩的比特流中可以找到原始经编码比特块的位置以及两个比特块,一个在相应有效载荷比特为“0”的情况下用作替换块,另一个在相应有效载荷比特为“1”的情况下用作替换块。在一种实现方式中,这些块之一本身是原始比特块,另一个是替代比特块。在此情况下,可改变的语法元素的列表可包括仅存在一个可接受替代值的语法元素。在另一种实现方式中,两个块都是对应于不同语法值的替代比特块。在此情况下,可改变的语法元素的列表可以仅包括存在至少两个可接受替代的语法元素。
在一种实现方式中,检测元数据包括嵌入元数据。利用这种信息,可以直接从被添加水印的经编码比特流中恢复出有效载荷。
在一种实现方式中,检测元数据作为附加或替代包括在经解压缩的运动图像序列中将可检测到比特流修改的位置。这可以被指定为帧或图片号码和块号码、宏块号码、像素位置或恢复所需的任何其他定位符。检测元数据还可包括对与有效载荷比特“0”和有效载荷比特“1”相关联的检测值的指示或者某种其他参考检测值。
检测元数据还可包括如果未曾进行改变则将测量到的检测度量的值。换言之,其可包括检测度量的原始值。在先前的示例中,检测度量是特定块的平均亮度并且检测数据可包括该块的原始平均亮度。通过包括原始值,检测过程可以确定检测值由于水印添加是增大还是减小了。在一种实现方式中,元数据的确定是在预处理期间执行的。
为了增大水印添加技术对明度或对比度的全局或局部改变的健壮性,还可为预期水印添加过程不会修改的块保存检测数据。例如,检测数据可包括水印未改变的块的原始平均亮度。检测器随后可用其来作为一个参考,用于确定整个图像或者至少在该参考的区域中的那部分图像是否经历了亮度改变。如果参考块中的测得亮度不匹配检测数据所记录的,则在恢复有效载荷之前可进行补偿。例如,可以向所有存储的检测值添加对平均亮度度量的补偿。
参看图8,过程800提供了基于一参考来确定嵌入元数据的一般实现方式。过程800因此在功能上有些类似于过程700。
过程800包括访问包括参考指示符的经可变长度编码的数据(810)。即,经可变长度编码的数据包括标识出用于对图像进行预测性编码的实际参考的信息的编码(参考指示符)。作为标识实际参考的信息的编码的参考指示符具有特定值。在一个或多个前述示例中,参考指示符是通过相应的内预测模式来标识出用于预测性地编码宏块的参考的宏块类型字段的值的编码。
过程800包括确定经可变长度编码的数据中参考指示符的位置(820)。该位置例如用于创建嵌入元数据。
过程800还包括确定参考指示符的替代值(830)。该替代值不同于该特定值。该替代值是标识与实际参考不同的另一个参考的替代信息的编 码。过程700的全部或一部分例如可用于执行操作830。在一个或多个前述示例中,替代值是宏块类型字段的一不同值的编码。
过程800可包括各种其他操作,例如将该替代值指定为该特定值的代替(水印),评估该替代值作为水印的有效性,或者创建嵌入元数据。
在利用例如过程700或过程800来创建一组可能的水印替换之后,一种实现方式可选择要改变的宏块子集。该选择通常是基于应用的有效载荷要求以及被应用到有效载荷的任何数据编码的。该选择通常被告知以每种改变的代价(例如,如前所述的保真性和健壮性代价)。通常,该选择将会倾向于较低代价的改变。在一种实现方式中,宏块被根据总代价来排名,以为每个宏块找出最佳可能替代(730和740)。具有最低总代价的宏块(针对最佳可能替代)被选择来用有效载荷数据进行水印添加。
参看图9,示出了描述用于插入替换值(例如,插入水印)的实现方式的过程900。过程900包括访问有效载荷(910)。所访问的有效载荷可以是比特或其他码元形式的。通常,有效载荷是比特形式的或者被转换成比特。此外,有效载荷可以被编码。
过程900包括确定替换位置和替换值(920)。操作920可利用例如过程700并随后进行刚才描述的排名过程来执行。操作910和920可以按任一顺序执行。然而,一种实现方式首先执行操作910并且还确定有效载荷比特的数目,然后在操作920中,通过例如仅选择排名较高的宏块直到所有有效载荷比特都已被指派一宏块为止,来仅确定需要的位置。操作920可能受各种其他实现方式要求的影响(例如,针对图7论述的那些)。
在至少一种实现方式中,操作920的全部或一部分是在预处理阶段期间执行的。例如,在预处理阶段中,可以准备一包括嵌入元数据的表。然后,在操作920中,可以通过访问该表来确定替换值和位置。
过程900还包括在替换位置处插入替换值(930)以提供例如水印。插入替换值包括利用替换值来替换现有的经编码数据。经修改的数据随后例如可被存储或传输。这些替换动作通常被告知以经编码的有效载荷。
参看图10,示出了描述用于基于参考来插入代替值的一般实现方式的 过程1000。过程1000因此在功能上有些类似于过程900。
过程1000包括访问包括参考指示符的经可变长度编码的数据(1010)。即,经可变长度编码的数据包括标识出用于对图像进行预测性编码的实际参考的信息的编码(参考指示符)。作为标识实际参考的信息的编码的参考指示符具有特定值。在一个或多个前述示例中,参考指示符是通过相应的内预测模式来标识出用于预测性地编码宏块的参考的宏块类型字段的值的编码。
过程1000包括访问参考指示符的替代值(1020)。该替代值不同于该特定值。该替代值是标识与实际参考不同的另一个参考的替代信息的编码。该替代值例如可从存储设备中取得或者可被实时计算。一种实现方式例如可以从以参考指示符的位置为索引的表中访问替代值。
过程1000包括插入该替代值来作为参考指示符的代替(1030)。该替代值被插入到经可变长度编码的数据中以为图像添加水印。
过程1000可包括各种其他操作,例如存储或传输经修改的经可变长度编码的数据。
1020所访问的标识经编码元素的位置和可能的替换值的数据的全部或一部分可以被存储在存储装置上或被电子地发送。一种实现方式将这些位置和值存储在诸如DVD、硬盘或其他存储装置之类的设备上。该设备包括其上存储有信息的处理器可读介质。所存储的信息标识出用于经编码的一组数据的一部分的替换值。另一种实现方式提供了一信号,该信号被格式化来包括被存储在此设备的处理器可读介质上的信息。
其他实现方式涉及各种过程的结果,例如,过程900或过程1000的结果。例如,一种实现方式是包括经修改的经编码数据的诸如DVD、硬盘或其他存储装置之类的设备,另一种实现方式是被格式化来包括这种经修改的经编码数据的信号。更具体而言,一种实现方式是包括处理器可读介质的设备,该处理器可读介质上存储着包括经修改部分的经编码数据。另一种实现方式是一种信号,该信号被格式化来包括被存储在此设备的处理器可读介质上的经编码数据。
上述论述描述了一种方法,用于分析目标语法元素,并且识别能够通 过用替代比特块替换经编码的比特流中的比特块来代入的所有可接受替代值(如果有的话)。通过检查经AVC编码的序列中的所有语法元素,我们可以构建存在至少一个可接受替代值的那些语法元素的列表。这是“可改变语法元素”的列表。对于可以改变的每个语法元素,我们可以构建可接受替代值的列表。注意,其他实现方式可以改变除宏块类型以及下层的内预测模式之外的其他语法元素。这种其他语法元素例如包括运动向量、残差值或利用DCT系数(例如)对残差值的编码、参考图片或参考帧的互预测指示符。
各种语法元素涉及参考信息,这指的是以某种方式来标识某个参考的信息。参考一般指的是用作预测的基础的一组信息。参考标识符一般指的是标识参考的信息。例如,参考可以由块的内预测模式来标识,因为内预测模式标识了用作当前块的预测基础的像素。内预测模式还标识了所标识的这些像素的使用方式。参考还可以由例如运动向量或者用作预测基础的先前帧或宏块的指示符来标识。注意,给定的宏块可具有多个参考标识符和多个参考。
应当清楚,对于经内预测的块和经互预测的块可存在参考和/或参考标识符。经内预测的块可使用诸如内预测模式或宏块类型(其标识内预测模式)之类的参考标识符,并且参考例如可以是来自同一图片的块或一组像素。经互预测的块可使用诸如运动向量之类的参考标识符,并且参考可以是另一个不同图片的全部或一部分。
信息嵌入的目标是根据有效载荷来修改所有可改变语法元素的列表上的语法元素的子集,将其值从其原始值改变成所列出的可接受替代值之一。在一种实际实现方式中,这是在如以图9所示的三个步骤中完成的。
如上所述,在检测元数据的帮助下,可以从AVC比特流中恢复出有效载荷。在一些实现方式中,检测元数据指示出表示有效载荷信息的特定语法元素以及这些元素的原始值。如果嵌入过程使用了原始值来表示“0”并用替代值来表示“1”,则检测器可将比特流中的值与存储在检测数据中的原始值相比较。如果它们匹配,则检测器报告“0”比特。如果它们不匹配,则检测器报告“1”比特。如果嵌入过程用了两个替代值之 一来替换原始值,则这两个替代值及其相应的标签被从检测数据中恢复出来。检测器随后将比特流中的值与两个替代中的一个或多个相比较并报告相应的标签。
也可以从经解码的像素域影像中恢复出有效载荷数据。此过程是依子集选择过程中使用的特定度量而定的。在一种实际实现方式中,该度量是像素块的平均亮度。每个经修改的块的原始平均亮度被从检测数据中恢复出来。检测器计算经解码的图像序列中的指定像素块的平均亮度并将该值与存储在检测数据中的原始值相比较。如果计算出的值高于原始值,则检测器报告“1”比特。如果计算出的值低于原始值,则检测器报告“0”比特。这种实现方式将位置和原始值存储在检测数据中,但不需要存储“0”比特或“1”比特的期望检测值。
如果经解码的影像在解码之后、检测之前被利用亮度的均一改变来加以修改,则此恢复方法可能是有问题的。为了解决此问题,若干个参考块的平均亮度可被存储在检测数据中。存在不被嵌入过程所改变的块。检测器可以就在恢复之前计算参考块的平均亮度,并且发现与嵌入过程无关的任何亮度改变。这些亮度改变可以通过相应地调节原始值来得到补偿。至少一种实现方式通过使用接近被添加水印的块的参考块来针对非均一亮度改变进行调节。
应当清楚,信息嵌入可包括多种应用。一个这种应用是这样一种水印添加:其中,有效载荷被嵌入在数据流中。然而,各种信息嵌入应用可使用不同的要求。例如,可能希望对数据流进行一种改变,这种改变将会导致用户能够感觉到的改变。
参看图11,示出了用于恢复有效载荷信息或者更一般而言用于检测水印的一般过程1100。过程1100可被应用到例如经编码并添加水印的比特流,或者来自经解码的被添加了水印的比特流的基带数据。
过程1100包括确定检查可能的水印的位置(1110)。注意此过程可被应用到可能被应用了也可能未曾被应用水印添加过程的内容。另外,即使应用了水印添加过程,也可能是在不改变内容的情况下嵌入有效载荷比特的(如前所述)。因此,被检查的位置可能曾被改变,也可能未曾被改 变。如果内容先前曾被添加水印,则此过程被设计来恢复嵌入的有效载荷。过程1100包括访问(1120)并分析(1130)来自所确定的位置的数据。过程1100还包括基于该分析来识别水印信息,如果有任何水印存在的话(1140)。所识别的水印信息例如可以是比特(或其他信息单元)的序列,或者为宏块(或图片的其他单元)确定的检测值。
过程1100可以对一个或多个其他位置重复以识别构成有效载荷的一个或多个另外的比特。从而,利用过程1100可以恢复出整个有效载荷。
过程1100的实现方式包括分析经修改的比特流以及分析基带数据(例如,像素域数据或音频数据)。例如,根据前述实现方式之一,可以通过修改与目标元素相关联的比特来修改比特流。在这种比特流中,可通过访问适当的比特位置并且在这些位置处就修改进行测试来检测水印。例如在嵌入元数据中找到的比特位置和经修改的值(或者可能的经修改的值)也可被包括在检测数据中。
作为替代或附加,这种经修改的比特流可以被解码并且可能经历其他处理,其中包括重编码。在重编码的情况下,预期这种经重编码的比特流将不会在与原始经修改比特流相同的位置包括相同的经修改的目标元素。然而,经重编码的比特流可以被解码以产生基带(例如,像素域或音频剪辑)数字表示,其中通常仍存在原始修改的效果。因此,标识出原始修改所影响到的帧和块号码的检测数据将是有用的。例如,目标元素可能本来是特定块的运动向量,并且修改该运动向量的影响可能是该特定块或块集合的平均亮度的增大。即使对原始的经修改的比特流进行了处理,这种平均亮度的增大也可能得到保留。然而,在重编码之后,运动向量以及对运动向量的原始改变通常不会完全相同。
参看图12,示出了描述过程1100的一种实现方式的过程1200,该实现方式特别用于基带影像(即,像素数据)并且包括为基带影像而定制的特定操作。然而,如果经压缩的数据而不是基带影像被访问(例如,被从存储设备中取出或者在传输中被接收到),则我们可以对经压缩的数据解码来获得基带影像。
过程1200包括访问基带影像(1205),并且可选地包括执行时间性 和/或几何性配准(1210)。配准可能是必要的,因为检测元数据可能利用例如帧号码和帧内的块位置来描述每个改变。因此,配准促进了对帧号码和块的正确识别。存在许多用于获得此配准的方法,而实现方式是独立于配准方法的,因此可以使用各种方法。
过程1200包括访问检测元数据(1215)。检测元数据中的每个条目可以利用例如其帧位置和帧内的块来定义一个改变。对于每个条目,执行一般可定义为包括操作1225-1245的循环(1220)。
对于检测元数据中的每个条目,从基带影像中提取出相应的像素数据块(1225)。对于所提取的块,测量、计算或以其他方式确定检测特征(1230)。在以上一个示例中,检测特征是平均亮度,而在另一个示例中检测特征是方差。
过程1200以及循环(1220)包括将所确定的检测特征与检测元数据相比较(1235)。该比较在一种实现方式中包括将所确定的特征(例如平均亮度值)与检测元数据中的两个平均亮度值相比较。最佳匹配被选择并且其相应码元被输出(1240)。一种实现方式将最佳匹配识别为最接近所确定的检测特征的所存储检测值。其他实现方式例如可应用非线性评估来确定最佳匹配。
过程1200以及循环(1220)还包括循环返回以去往检测元数据中指示的下一经内预测编码的块(1245)。循环(1220)对于检测元数据中指示的所有块重复。
循环(1220)的每次反复都会从操作(1240)输出一个码元,其结果是码元流(1250)。码元流被可选地解码(1255)。注意,实现方式并不需要已对有效载荷比特编码。如果数据编码过程曾被应用到有效载荷(例如,像图1中的数据编码器中那样),则相应的数据解码过程被应用到码元流,以得出所恢复的有效载荷,其被称为有效载荷估计(1260)。
有效载荷估计(1260)对应于经解码的码元流,或者(如果有效载荷未曾被编码的话)则对应于码元流。在典型的实现方式中,从操作(1240)输出的码元是比特,但是其他实现方式对除比特之外的码元编码。
如上所述,当平均亮度被用作检测特征时,系统可能被明度的全局改变所迷惑。换言之,明度的全局改变可能导致从基带影像中提取的亮度始终更接近元数据中存储的两个值中更亮的那个。因此,码元流可能全由“1”比特构成(而这是错误的)。为了应对这个问题,嵌入器可以向检测信息中添加若干个参考条目。参考条目对于未受水印添加过程影响的块列出了该块的帧号码、块位置和原始亮度值。检测器可以读出参考值并且将其与在基带影像中看到的相应值相比较。基带影像随后可被调节(可能在配准期间进行),以使得参考块中的测得亮度与检测元数据文件中列出的相匹配。
过程900或过程1200的各种实现方式使用了所存储的包括多种数据段中的一种或多种的检测元数据。例如,检测元数据可包括标识用来检查可能的水印的位置的位置信息。位置信息例如可包括帧标识符和/或块标识符。
检测元数据例如可包括特征的基准(benchmark)值。基准例如可以是在该位置被修改之前该特征的值。基准例如可被与所访问的位置的该特征的实际值(新基准)相比较(1120)以提供对改变的指示。例如,该比较可以表明该值(基准)是否由于修改而增大或减小。
检测元数据例如可包括来自一不同位置(未被添加水印的位置)的特征的基本值。这种基本值例如可以是未被添加水印的位置的平均亮度。该基本值可如前所述用来确定是否存在影响了不止被添加水印的位置的对数据的改变。在某些情况下,可能存在全局改变(例如,对整个帧的改变)。例如,整个帧的平均亮度可能已被改变。于是可将基本值与在未被添加水印的位置处该特征的新值(新基本值)相比较。如果差异大于阈值,则它可确定发生了全局改变。或者,该差异可以就被认为是全局差异,并且该差异可以被添加到为(可能的)被添加了水印的位置确定的值(新基准)以考虑到该全局改变。注意,在此替代方案中,差异可以(改为)被添加到基准而不是该值(新基准)。另外,在某些实现方式中,可以确定基本值和新基本值之间的比率,并且可以将基准或新基准乘以该比率。
参看图13,系统1300提供了用于利用预先准备的嵌入信息(被称为嵌入元数据)来为视频添加水印(也可为其他类型的内容添加水印)的播放器1305。被添加了水印的视频被提供用于显示。系统1300还允许对被提供用于显示的视频进行重编码,这例如可发生在视频的未授权拷贝被重编码时。系统1300还允许了对该重编码进行解码,并且在整个系统中的一个或多个点处检测原始有效载荷。系统1300还用作一个或多个过程的流程图。
播放器1305包括有效载荷1310、视频1315和嵌入元数据1318。播放器1305包括水印添加单元1320,该水印添加单元1320接收有效载荷1310、视频1315和嵌入元数据1318,并且提供添加了水印的视频。有效载荷可以被有效载荷检测器1345从添加了水印的视频中检测出。
播放器1305包括熵解码器1325,该熵解码器1325接收添加了水印的视频并执行熵解码。播放器1305还包括预测解码器1330,该预测解码器1330从熵解码器1325接收经熵解码的流并且执行预测性解码以产生像素域图像1335。像素域图像可被提供到显示器1355,或者被提供到在基带数据上工作的有效载荷检测器1350。
像素域图像还可被提供到重预测编码器1360,该重预测编码器1360之后是重熵编码器,用于将像素域图像重编码为经编码的输出1370。经编码的输出1370例如可以是符合AVC的比特流。经编码的输出1370例如可被存储在可记录介质上以便分发。重预测编码器1360和重熵编码器1365可以是与播放器1305分开并且用于产生内容的未授权拷贝(由输出1370表示)的装置的一部分。
经编码的输出1370例如可被提供到熵解码器1380(其可与熵解码器1325相同),其后是预测解码器1385(其可与预测解码器1330相同),用于将经编码的输出1370解码为像素域图像1390。像素域图像1390可被提供到显示器1392和/或有效载荷检测器1395(其可与有效载荷检测器1350相同)。熵解码器1380和预测解码器1385可以是与播放器1305以及重预测编码器1360和重熵编码器1365分开的装置的一部分。例如,一个这种分开的装置可以在地理上位于接收并分析内容的未授权拷贝(由输 出1370表示)的有效载荷检测设施处。
很明显,过程900或本申请中描述的其他过程可由包括处理装置在内的多种装置来执行。这种装置还可包括用于存储诸如被访问的数据、基准值、基本值和可能的水印信息的(一个或多个)位置之类的数据的存储装置。另外,过程900或本申请中描述的其他过程也可以体现在一组指令中。
所描述的实现方式的特征和方面可被应用到各种应用。这些应用例如包括对诸如DVD或其他盘之类的盘进行水印添加以及对数字流进行水印添加。盘的水印添加可通过各种方式执行,例如在复制盘时执行。数字流的水印添加也可通过各种方式执行,例如在回放、广播、下载或以其他方式传送数字流时执行。这些特征和方面可能能够适应于其他应用领域。例如,经编码的比特流可能为了除水印添加之外的目的而被修改。一个示例包括嵌入希望观看者看到的消息。另外,该消息可基于有效载荷或其他标准而被改变。另外,虽然所描述的实现方式主要关注可变长度编码,但其他应用也可将相同的概念用于其他编码技术。
本申请中描述的概念、实现方式和特征可在例如典型的DVD创建、分发和回放过程的各个阶段中应用。例如,这些概念和特征可用于:
1.对内容进行预处理以确定替换值。替换值不需要在此阶段被插入,而是可以被存储在例如一数据结构(例如,表)中以便将来插入。
2.第1条中提及的数据结构或者传达该数据结构的信号或者存储该数据结构的处理器可读介质。这种介质例如可包含该数据结构和未经修改的内容两者。
3.将来自以上第1条的替换值插入到内容中。
4.从以上第3条产生的经修改的内容,该内容或者在一数据结构中,在传达经修改的内容的信号中,或者在存储经修改的内容的处理器可读介质中。
5.对以上第4条的经修改内容解码以产生基带数据,例如像素数据(如果图像被编码的话)或者音频数据(如果音频被编码的话)。
6.来自以上第5条的经解码的内容本身,这是可能包括水印的经修改 的内容。经解码的内容例如可以在一数据结构中,在传达经解码的内容的信号中,或者在至少临时存储经解码的内容的处理器可读介质中。
7.显示或者更一般地说展现以上第6条的经解码的内容。还包括提供以便显示或展现。
8.对来自以上第6条的经解码的内容进行重编码,以使得即使经编码的比特可能不同于以上第4条中提供的那些,(由于修改而得到的)检测特征也得以保持。
9.包含来自第8条的经重编码的内容的数据结构。或者格式化并传达该经重编码的内容的信号。或者存储该经重编码的内容的处理器可读介质。
10.对以上第8条的经重编码的内容解码以产生基带数据。
11.通过以上第10条中的解码而产生的基带数据。该基带数据例如可以在一数据结构中,在传达该基带数据的信号中,或者在至少临时存储该基带数据的处理器可读介质中。
12.显示或更一般地说展现以上第11条的基带数据。还包括提供以便显示或展现。
13.从以上第4条的经修改的内容中检测有效载荷(例如,水印)。
14.从以上第5条的基带数据中检测有效载荷。
15.从以上第8和第9条的经重编码的内容中检测有效载荷,如果经编码的比特允许的话。
16.从以上第11条的基带数据中检测有效载荷。
注意,如果标题被用于本公开的各个部分,则一给定部分的标题并不应当被解释为将该部分的公开限于该标题的主题,也不应当被解释为将其他部分的公开限制为不是该标题的主题。这种标题是示例性的,并且意图作为对读者的一般帮助。这种标题并不意图局限公开的流程或者限制公开的应用性或一般性。
本申请中使用的水印可以指各种项目。例如,水印可以指被修改或插入以允许以后检测的数据或者指所得到的基带修改。
应当清楚,语法元素可以表示各种不同类型的信息中的一种或多种。 例如,语法元素可以是运动向量、残差DCT系数、宏块类型、量化参数或者标志。因此,语法元素不需要都具有相同长度,而是可以具有各种不同的长度。本申请中公开的各种实现方式可在任何类型的语法元素上工作,不论该语法元素表示何种类型的信息也不论该语法元素的大小/长度如何。
各种实现方式是就例如图片、帧或块来描述的。然而,本申请中描述的概念、实现方式和特征一般地适用于图像,并且该图像可以是(或包括)一个或多个像素、块、片层、场、帧、图片或序列。
此外,许多实现方式是就视频数据来描述的。然而,这些概念、实现方式和特征一般同样适用于音频数据或其他类型的经编码数据。
如果两个装置直接连接或间接连接,则认为这两个装置或组件耦合。直接连接的装置在其间没有中间装置。间接连接的装置在其间有一个或多个中间装置。
另外,许多实现方式是针对AVC来描述的。然而,这些概念、实现方式和特征:(1)不需要限于标准环境,而是可应用到不使用标准的环境,(2)当然不限于AVC,(3)一般适用于其他已知标准,并且(4)至少在某种意义上将一般适用于以后开发的标准。其他标准可包括与AVC相关的标准,这一般指的是基于或者类似于AVC(带有或不带有其扩展)的其他标准。
这里描述的实现方式可以例如以方法或过程、设备或软件程序的形式来实现。即使仅仅是在一种实现方式的上下文中论述的(例如,仅是以方法的形式论述的),所论述的特征的实现方式也可以用其他形式来实现(例如,以设备或程序的形式来实现)。设备例如可以用适当的硬件、软件和固件来实现。方法例如可以实现在诸如处理器之类的设备中,其中处理器总地指处理装置,包括例如计算机、微处理器、集成电路或可编程逻辑器件。处理装置还包括通信装置,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”),以及其他促成终端用户之间的信息通信的装置。
这里描述的各种过程和特征的实现方式可以在多种不同的装置或应用中实现,尤其例如是在与数据编码和解码相关联的装置或应用或者与内容 产生相关联的装置或应用中实现。装置的示例包括视频编码器、视频解码器、视频编解码器、web服务器、机顶盒、膝上型笔记本电脑、个人计算机、蜂窝电话、PDA和其他通信装置。应当清楚,该装置可以是移动的,并且甚至可被安装在移动交通工具中。
此外,方法可以通过处理器执行指令来实现,并且这种指令可被存储在处理器可读介质上,所述处理器可读介质例如是集成电路、软件载体或者诸如硬盘、致密盘、随机存取存储器(“RAM”)或只读存储器(“ROM”)之类的其他存储装置。指令可形成有形地包含在处理器可读介质上的应用程序。指令例如可以采取硬件、固件、软件或其组合的形式。指令可存在于例如操作系统、单独的应用或两者的组合中。处理器的特征因此可在于例如被配置为执行过程的装置以及包括具有用于执行过程的指令的计算机可读介质的装置。
正如对于本领域的技术人员来说显而易见的,这些实现方式还可产生被格式化来携带例如可被存储或传输的信息的信号。该信息例如可包括用于执行方法的指令,或者由上述实现方式之一产生的数据。这种信号例如可被格式化为电磁波(例如,利用频谱的射频部分)或基带信号。格式化例如可包括对数据流编码并利用经编码的数据流来调制载波。信号携带的信息例如可以是模拟或数字信息。正如已知的,信号可通过多种不同的有线或无线链路来传输。
已经描述了若干个实现方式。然而,应当理解,可以进行各种修改。例如,不同实现方式的要素可被组合、补充、修改或去除以产生其他实现方式。此外,本领域的普通技术人员将会理解,可以用其他结构和过程来代替所公开的那些,并且由此产生的实现方式将以与所公开的实现方式至少基本相同的(一个或多个)方式来执行与所公开的实现方式至少基本相同的(一个或多个)功能,以实现与所公开的实现方式至少基本相同的(一个或多个)结果。因此,这些和其他实现方式被本申请所设想到并处于权利要求的范围之内。
Claims (34)
1.一种用于确定水印的方法,该方法包括:
访问(810)经可变长度编码的数据,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码,该信息的编码具有特定值,并且所述经可变长度编码的数据还包括从基于所述实际参考对所述图像进行预测编码所产生的残差的编码;以及
确定(830)与所述特定值不同的替代值,以使得该替代值是标识出与所述实际参考不同的参考的替代信息的编码,其中所述替代值用于以如下方式对所述经可变长度编码的数据进行水印添加:通过将所述替代值插入所述经可变长度编码的数据作为所述特定值的代替,并且还通过在所述经可变长度编码的数据中保留从基于所述实际参考对所述图像进行预测编码所产生的所述残差。
2.如权利要求1所述的方法,还包括将所述替代值指定为所述特定值的代替,以用于对所述经可变长度编码的数据进行水印添加。
3.如权利要求2所述的方法,还包括评估使用所述替代值取代当前值作为水印的有效性,并且
其中指定所述替代值作为代替的步骤是基于评估有效性的结果的。
4.如权利要求3所述的方法,其中,评估包括基于所述水印的保真性和所述水印的健壮性来为所述替代值确定代价。
5.如权利要求3所述的方法,还包括:
评估另一替代值的有效性;以及
基于来自评估所述替代值和评估所述另一替代值的结果,确定所述替代值更有效,并且
其中,指定所述替代值作为代替的步骤是基于确定所述替代值更有效而进行的。
6.如权利要求5所述的方法,其中:
所述特定值标识出H.264/AVC或相关标准中的经内预测的16×16宏块的宏块类型字段的第一值,该第一值指示第一内预测模式,
所述替代值标识出H.264/AVC或相关标准中的经内预测的16×16宏块的宏块类型字段的第二值,该第二值指示第二内预测模式,并且
所述另一替代值标识出H.264/AVC或相关标准中的经内预测的16×16宏块的宏块类型字段的第三值,该第三值指示第三内预测模式。
7.如权利要求6所述的方法,其中,所述第一值、所述第二值和所述第三值中每一个的CAVLC编码使用相同数目的比特。
8.如权利要求1所述的方法,还包括:
将所述替代值插入到一表中;
确定所述特定值在所述经可变长度编码的数据中的位置;以及
将标识出所述特定值在所述经可变长度编码的数据中的位置的信息插入到所述表中,所述位置是所述替代值将被插入到所述经可变长度编码的数据中以替换所述特定值的位置。
9.如权利要求1所述的方法,还包括在所述经可变长度编码的数据中利用所述替代值来替换所述特定值。
10.如权利要求1所述的方法,其中,标识出所述实际参考的信息标识出与当前块相邻的块的像素位置,其中,所述像素位置的值用于预测所述当前块的至少一部分。
11.如权利要求1所述的方法,其中,标识出所述实际参考的信息标识出参考块。
12.如权利要求1所述的方法,其中,标识出所述实际参考的信息标识出参考图片。
13.如权利要求1所述的方法,其中,标识出所述实际参考的信息包括H.264/AVC或相关标准中的宏块类型字段。
14.如权利要求1所述的方法,其中,标识出所述实际参考的信息包括H.264/AVC或相关标准中的经内预测的16×16宏块的宏块类型字段。
15.如权利要求1所述的方法,其中,标识出所述实际参考的信息包括H.264/AVC或相关标准中的预测模式。
16.如权利要求1所述的方法,其中,标识出所述实际参考的信息包括运动向量。
17.如权利要求1所述的方法,其中,所述经可变长度编码的数据还包括标识出由利用当前参考来预测所述图像所产生的当前残差的信息的编码。
18.如权利要求1所述的方法,其中:
所述经可变长度编码的数据是利用特定的可变长度码来编码的,并且
所述替代值利用所述特定的可变长度码来对所述替代信息编码。
19.一种用于确定水印的设备,该设备包括:
熵解码器(106),用于对经可变长度编码的数据进行解码,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码,该信息的编码具有特定值,并且所述经可变长度编码的数据还包括从基于所述实际参考对所述图像进行预测编码所产生的残差的编码;以及
耦合到所述熵解码器的水印生成器(108),用于确定与所述特定值不同的替代值,以使得该替代值是标识出与所述实际参考不同的参考的替代信息的编码,其中所述替代值用于以如下方式对所述经可变长度编码的数据进行水印添加:通过将所述替代值插入所述经可变长度编码的数据作为所述特定值的代替,并且还通过在所述经可变长度编码的数据中保留从基于所述实际参考对所述图像进行预测编码所产生的所述残差。
20.如权利要求19所述的设备,其中,所述水印生成器被配置为创建用于对所述经可变长度编码的数据进行水印添加的元数据,该元数据包括:(1)所述替代值,以及(2)所述经可变长度编码的数据中的所述特定值的位置,并且所述元数据将所述替代值和所述位置关联起来。
21.一种用于确定水印的设备(104),该设备包括:
用于访问经可变长度编码的数据的装置,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码,该信息的编码具有特定值,并且所述经可变长度编码的数据还包括从基于所述实际参考对所述图像进行预测编码所产生的残差的编码;以及
用于确定与所述特定值不同的替代值,以使得该替代值是标识出与所述实际参考不同的参考的替代信息的编码的装置,其中所述替代值用于以 如下方式对所述经可变长度编码的数据进行水印添加:通过将所述替代值插入所述经可变长度编码的数据作为所述特定值的代替,并且还通过在所述经可变长度编码的数据中保留从基于所述实际参考对所述图像进行预测编码所产生的所述残差。
22.一种用于进行水印添加的方法,该方法包括:
访问(1010)经可变长度编码的数据,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码,该信息的编码具有特定值,并且所述经可变长度编码的数据还包括从基于所述实际参考对所述图像进行预测编码所产生的残差的编码;
访问(1020)与所述特定值不同的替代值,以使得该替代值是标识出与所述实际参考不同的参考的替代信息的编码;以及
将所述替代值作为对所述特定值的代替插入(1030)到所述经可变长度编码的数据中以对所述图像进行水印添加,其中所述经可变长度编码的数据包括编码标识出所述不同的参考的所述替代信息的所述替代值,并且还包括从基于所述实际参考对所述图像进行预测编码所产生的所述残差。
23.如权利要求22所述的方法,其中标识出所述实际参考的信息包括在H.264或相关标准中所使用的宏块类型字段。
24.如权利要求22所述的方法,其中:
对所述经可变长度编码的数据的访问是响应于对展现所述经可变长度编码的数据的请求而发生的,并且
用于确定所述替代值的处理操作在访问所述经可变长度编码的数据之前已被执行,以使得在接收到所述对展现所述经可变长度编码的数据的请求并且随后访问所述经可变长度编码的数据时,可在无需确定所述替代值的情况下插入所述替代值。
25.如权利要求22所述的方法,还包括在访问所述替代值之前执行用于确定所述替代值的处理操作。
26.一种用于进行水印添加的设备(102),该设备包括:
用于访问经可变长度编码的数据的装置,该经可变长度编码的数据包括标识出用于对图像进行预测编码的实际参考的信息的编码,该信息的编 码具有特定值,并且所述经可变长度编码的数据还包括从基于所述实际参考对所述图像进行预测编码所产生的残差的编码;
用于访问与所述特定值不同的替代值,以使得该替代值是标识出与所述实际参考不同的参考的替代信息的编码的装置;以及
用于将所述替代值作为对所述特定值的代替插入到所述经可变长度编码的数据中以对所述图像进行水印添加的装置,其中所述经可变长度编码的数据包括编码标识出所述不同的参考的所述替代信息的所述替代值,并且还包括从基于所述实际参考对所述图像进行预测编码所产生的所述残差。
27.如权利要求26所述的设备,还包括DVD读取器,并且其中所述设备是DVD播放器。
28.一种用于解码的方法,该方法包括:
对用于图像的编码的经可变长度编码的数据进行解码(1325),该经可变长度编码的数据包括标识出替代参考的信息的编码,该替代参考不同于用于对所述图像进行预测编码的实际参考,其中,标识出所述替代参考的信息为所述图像提供水印,
其中,所述经可变长度编码的数据还包括标识出来自利用所述实际参考对所述图像进行预测编码的残差的信息的编码。
29.如权利要求28所述的方法,其中,解码包括对可变长度码和预测码进行解码。
30.如权利要求28所述的方法,其中,解码产生所述图像的基带重建,该基带重建由于包括可检测特征不同于原始图像,该可检测特征源于使用标识出所述替代参考的信息作为水印。
31.一种用于确定有效载荷信息的方法,该方法包括:
访问(1100)标识出在经可变长度编码的数据中信息的可变长度编码所在的位置的信息,该信息标识出与图像的预测编码相关联的至少两个参考之一;
在所述经可变长度编码的数据中的所述位置处访问(1120)所述信息的编码,其中所述信息还标识出从利用除所标识的参考之外的参考对所述 图像进行预测编码所产生的残差;
基于所述信息的编码来确定(1130)所述至少两个参考中的哪一个被标识;以及
基于确定所述至少两个参考中的哪一个被标识的结果来确定(1140)有效载荷信息。
32.如权利要求31所述的方法,其中,所标识的参考不同于用于对所述图像进行预测编码的实际参考,并且对所述所标识的参考而不是所述实际参考进行可变长度编码将为所述图像提供水印。
33.一种用于确定有效载荷信息的方法,该方法包括:
访问(1205)像素域图像,该像素域图像包括可检测特征,该可检测特征源于来自所述图像的预测编码的一个或多个语法元素的可变长度编码的水印,所述可变长度编码包括了标识出替代参考的信息的编码,该替代参考不同于用于对所述图像进行预测编码的实际参考,其中,标识出所述替代参考的信息为所述图像提供了所述水印;
访问(1215)检测元数据,该检测元数据指示出所述像素域图像中所述可检测特征所在的位置;
在所述位置处分析(1230)所述像素域图像以为所述可检测特征确定一值;
访问(1235)另外的检测元数据,该另外的检测元数据指示出所述可检测特征的比较值;
将所确定的所述可检测特征的值与所述比较值相比较(1235);以及
基于所述比较的结果来确定(1240-1260)有效载荷信息。
34.如权利要求33所述的方法,其中:
所述可变长度编码包括标识出在对所述图像进行预测编码中所使用的实际参考的信息,并且包括标识出从使用所述实际参考对所述图像进行预测编码所产生的残差的信息,并且所述水印利用标识出所述替代参考的信息来代替标识出所述实际参考的信息,该替代参考不同于用于对所述图像进行预测编码的所述实际参考,并且所述水印维持标识出从所述实际参考所产生的所述残差的信息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US93463407P | 2007-06-14 | 2007-06-14 | |
US60/934,634 | 2007-06-14 | ||
PCT/US2007/023172 WO2008118145A1 (en) | 2007-03-23 | 2007-11-02 | Modifying a coded bitstream |
USPCT/US2007/023172 | 2007-11-02 | ||
PCT/US2008/007441 WO2008154041A1 (en) | 2007-06-14 | 2008-06-13 | Modifying a coded bitstream |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101681499A CN101681499A (zh) | 2010-03-24 |
CN101681499B true CN101681499B (zh) | 2013-04-24 |
Family
ID=39743136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800200087A Active CN101681499B (zh) | 2007-06-14 | 2008-06-13 | 修改经编码的比特流 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8588459B2 (zh) |
EP (1) | EP2162860B1 (zh) |
JP (2) | JP5467651B2 (zh) |
KR (1) | KR101518999B1 (zh) |
CN (1) | CN101681499B (zh) |
BR (1) | BRPI0811626B1 (zh) |
CA (1) | CA2689634C (zh) |
WO (1) | WO2008154041A1 (zh) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
US9055239B2 (en) | 2003-10-08 | 2015-06-09 | Verance Corporation | Signal continuity assessment using embedded watermarks |
US8942289B2 (en) * | 2007-02-21 | 2015-01-27 | Microsoft Corporation | Computational complexity and precision control in transform-based digital media codec |
US8358703B2 (en) | 2007-03-23 | 2013-01-22 | Thomson Licensing | Modifying a coded bitstream |
EP2321966B1 (en) * | 2008-08-19 | 2020-10-07 | ContentArmor | Luminance evaluation |
JP5536064B2 (ja) | 2008-08-19 | 2014-07-02 | トムソン ライセンシング | 伝播マップ |
US9113231B2 (en) | 2008-08-19 | 2015-08-18 | Thomson Licensing | Changeable block list |
BRPI0917456B1 (pt) | 2008-08-19 | 2020-09-15 | Contentarmor | Método para atendimento a fluxo de vídeo de codificação aritmética binária adaptativa com base em contexto (cabac) |
WO2010021694A1 (en) * | 2008-08-20 | 2010-02-25 | Thomson Licensing | Selection of watermarks for the watermarking of compressed video |
JP5285159B2 (ja) * | 2008-08-20 | 2013-09-11 | トムソン ライセンシング | 透かし処理におけるブロックノイズおよび忠実度 |
JP5394212B2 (ja) | 2008-12-19 | 2014-01-22 | トムソン ライセンシング | データを挿入する方法、挿入されたデータを読み出す方法 |
US8396122B1 (en) * | 2009-10-14 | 2013-03-12 | Otoy, Inc. | Video codec facilitating writing an output stream in parallel |
US9100658B2 (en) * | 2009-12-17 | 2015-08-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for video coding |
JP5911809B2 (ja) | 2010-01-22 | 2016-04-27 | トムソン ライセンシングThomson Licensing | サンプリングベースの超解像度ビデオ符号化および復号化方法並びに装置 |
KR101791919B1 (ko) | 2010-01-22 | 2017-11-02 | 톰슨 라이센싱 | 예시-기반의 초 해상도를 이용하여 비디오 압축을 위한 데이터 프루닝 |
CN102754124B (zh) | 2010-02-09 | 2016-08-03 | 汤姆森许可贸易公司 | 使用传播图的水印检测 |
EP4398575A3 (en) | 2010-04-13 | 2024-08-21 | GE Video Compression, LLC | Video coding using multi-tree sub-divisions of images |
CN106162172B (zh) | 2010-04-13 | 2020-06-02 | Ge视频压缩有限责任公司 | 解码器及方法、编码器及方法、产生和解码数据流方法 |
KR101592802B1 (ko) | 2010-04-13 | 2016-02-05 | 지이 비디오 컴프레션, 엘엘씨 | 평면 간 예측 |
CN106210733B (zh) | 2010-04-13 | 2020-03-24 | Ge视频压缩有限责任公司 | 解码器、重建数组的方法、编码器、编码及解码方法 |
US20110280434A1 (en) * | 2010-05-11 | 2011-11-17 | Rajesh Mamidwar | Method and system for watermakr insertin using video start codes |
US20120014433A1 (en) * | 2010-07-15 | 2012-01-19 | Qualcomm Incorporated | Entropy coding of bins across bin groups using variable length codewords |
WO2012033972A1 (en) | 2010-09-10 | 2012-03-15 | Thomson Licensing | Methods and apparatus for pruning decision optimization in example-based data pruning compression |
KR101869459B1 (ko) * | 2010-09-10 | 2018-06-20 | 톰슨 라이센싱 | 블록-기반의 혼합된-해상도 데이터 프루닝을 이용하는 비디오 디코딩 |
WO2012033971A1 (en) | 2010-09-10 | 2012-03-15 | Thomson Licensing | Recovering a pruned version of a picture in a video sequence for example - based data pruning using intra- frame patch similarity |
CN103416065A (zh) | 2010-09-24 | 2013-11-27 | 诺基亚公司 | 用于视频编码的方法、装置和计算机程序 |
US8848791B2 (en) * | 2010-09-29 | 2014-09-30 | Futurewei Technologies, Inc. | Compressed domain video watermarking |
KR101424049B1 (ko) * | 2010-11-29 | 2014-07-29 | 주식회사 씨케이앤비 | 워터마크 생성 방법, 이를 포함하는 방송 콘텐츠 생성 방법 및 워터마크 삽입 시스템 |
DK2697979T3 (en) * | 2011-04-15 | 2017-01-23 | Nagravision Sa | Method for identifying the origin of a security module in a pay-TV decoder system |
US20120294366A1 (en) * | 2011-05-17 | 2012-11-22 | Avi Eliyahu | Video pre-encoding analyzing method for multiple bit rate encoding system |
US8805099B2 (en) | 2011-06-22 | 2014-08-12 | Panasonic Intellectual Property Corporation Of America | Image decoding method and image coding method |
EP2544142A1 (en) | 2011-07-08 | 2013-01-09 | Thomson Licensing | Method for watermark detection using reference blocks comparison |
EP2777258B1 (en) * | 2011-11-04 | 2017-01-11 | Huawei Technologies Co., Ltd. | Binarization of prediction residuals for lossless video coding |
US8745403B2 (en) | 2011-11-23 | 2014-06-03 | Verance Corporation | Enhanced content management based on watermark extraction records |
EP2600531A1 (en) * | 2011-12-01 | 2013-06-05 | Thomson Licensing | Method for determining a modifiable element in a coded bit-stream and associated device |
JP2013126225A (ja) | 2011-12-16 | 2013-06-24 | Internatl Business Mach Corp <Ibm> | サーバから複数のクライアントにデータを配布するための方法、プログラムおよびシステム |
US9531990B1 (en) | 2012-01-21 | 2016-12-27 | Google Inc. | Compound prediction using multiple sources or prediction modes |
US8737824B1 (en) | 2012-03-09 | 2014-05-27 | Google Inc. | Adaptively encoding a media stream with compound prediction |
US9185414B1 (en) | 2012-06-29 | 2015-11-10 | Google Inc. | Video encoding using variance |
US8726304B2 (en) | 2012-09-13 | 2014-05-13 | Verance Corporation | Time varying evaluation of multimedia content |
CN104685881B (zh) * | 2012-09-28 | 2018-05-15 | 夏普株式会社 | 图像解码装置、图像编码装置以及图像解码方法 |
US9990478B2 (en) * | 2012-11-30 | 2018-06-05 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys |
US9628790B1 (en) | 2013-01-03 | 2017-04-18 | Google Inc. | Adaptive composite intra prediction for image and video compression |
US9262793B2 (en) | 2013-03-14 | 2016-02-16 | Verance Corporation | Transactional video marking system |
US9374578B1 (en) | 2013-05-23 | 2016-06-21 | Google Inc. | Video coding using combined inter and intra predictors |
US9485089B2 (en) | 2013-06-20 | 2016-11-01 | Verance Corporation | Stego key management |
US9251549B2 (en) | 2013-07-23 | 2016-02-02 | Verance Corporation | Watermark extractor enhancements based on payload ranking |
US9208334B2 (en) * | 2013-10-25 | 2015-12-08 | Verance Corporation | Content management using multiple abstraction layers |
WO2015063308A1 (en) * | 2013-11-04 | 2015-05-07 | Nagravision S.A. | Device and method to mark digital audio or audio and/or video content |
US9609343B1 (en) | 2013-12-20 | 2017-03-28 | Google Inc. | Video coding using compound prediction |
US9299119B2 (en) * | 2014-02-24 | 2016-03-29 | Disney Enterprises, Inc. | Overlay-based watermarking for video synchronization with contextual data |
US10504200B2 (en) | 2014-03-13 | 2019-12-10 | Verance Corporation | Metadata acquisition using embedded watermarks |
EP3117626A4 (en) | 2014-03-13 | 2017-10-25 | Verance Corporation | Interactive content acquisition using embedded codes |
EP2960854A1 (en) * | 2014-06-27 | 2015-12-30 | Thomson Licensing | Method and device for determining a set of modifiable elements in a group of pictures |
US9639911B2 (en) | 2014-08-20 | 2017-05-02 | Verance Corporation | Watermark detection using a multiplicity of predicted patterns |
US9942602B2 (en) | 2014-11-25 | 2018-04-10 | Verance Corporation | Watermark detection and metadata delivery associated with a primary content |
US9769543B2 (en) | 2014-11-25 | 2017-09-19 | Verance Corporation | Enhanced metadata and content delivery using watermarks |
US9602891B2 (en) | 2014-12-18 | 2017-03-21 | Verance Corporation | Service signaling recovery for multimedia content using embedded watermarks |
US9756401B2 (en) * | 2015-04-07 | 2017-09-05 | Sony Corporation | Processing and providing an image in which a plurality of symbols are encoded |
EP3086562B1 (en) * | 2015-04-23 | 2017-05-24 | Axis AB | Method and device for processing a video stream in a video camera |
WO2016176056A1 (en) | 2015-04-30 | 2016-11-03 | Verance Corporation | Watermark based content recognition improvements |
EP3322195A4 (en) * | 2015-07-06 | 2019-03-06 | LG Electronics Inc. | BROADCAST SIGNAL DEVICE, BROADCAST SIGNAL RECEIVER, BROADCAST SENDING METHOD AND BROADCAST SIGNAL RECEPTION PROCEDURE |
US10477285B2 (en) | 2015-07-20 | 2019-11-12 | Verance Corporation | Watermark-based data recovery for content with multiple alternative components |
CN105263024B (zh) * | 2015-10-15 | 2018-06-29 | 宁波大学 | 一种抗量化转码的hevc视频流零水印的注册和检测方法 |
CN107105255B (zh) * | 2016-02-23 | 2020-03-03 | 阿里巴巴集团控股有限公司 | 视频文件中添加标签的方法和装置 |
US10958989B2 (en) | 2016-02-25 | 2021-03-23 | Synamedia Limited | Framework for embedding data in encoded video |
US20190132652A1 (en) | 2016-04-18 | 2019-05-02 | Verance Corporation | System and method for signaling security and database population |
CN117499650A (zh) * | 2016-04-29 | 2024-02-02 | 英迪股份有限公司 | 图像解码方法、图像编码方法和用于发送比特流的方法 |
US10554976B2 (en) * | 2016-07-25 | 2020-02-04 | Synamedia Limited | Framework for embedding data in encoded video |
WO2018126067A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Vector data encoding of high definition map data for autonomous vehicles |
WO2018237191A1 (en) | 2017-06-21 | 2018-12-27 | Verance Corporation | ACQUISITION AND TREATMENT OF METADATA BASED ON A WATERMARK |
CN109756738B (zh) * | 2017-11-02 | 2021-04-16 | 北京金山云网络技术有限公司 | 数字水印添加、提取方法、装置、电子设备及存储介质 |
US11057685B2 (en) * | 2018-03-29 | 2021-07-06 | Ncr Corporation | Media content proof of play over optical medium |
US11468149B2 (en) | 2018-04-17 | 2022-10-11 | Verance Corporation | Device authentication in collaborative content screening |
WO2021030625A1 (en) * | 2019-08-15 | 2021-02-18 | Dolby Laboratories Licensing Corporation | Methods and devices for generation and processing of modified bitstreams |
CN111866517A (zh) * | 2020-07-23 | 2020-10-30 | 北京中指实证数据信息技术有限公司 | 图片处理的方法及装置、电子设备及计算机可读存储介质 |
CN111913473B (zh) * | 2020-07-31 | 2021-10-22 | 深圳市元征科技股份有限公司 | 一种编码调整方法、车辆诊断设备及系统 |
US11722741B2 (en) | 2021-02-08 | 2023-08-08 | Verance Corporation | System and method for tracking content timeline in the presence of playback rate changes |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1309870A (zh) * | 1998-08-27 | 2001-08-22 | 国际商业机器公司 | 在视频数据中嵌入附加信息的系统和方法 |
CN1419786A (zh) * | 2001-01-23 | 2003-05-21 | 皇家菲利浦电子有限公司 | 向一个压缩信息信号加水印 |
CN1689098A (zh) * | 2002-08-21 | 2005-10-26 | 汤姆森特许公司 | 在用户设备对数字数据压制水印 |
CN1806442A (zh) * | 2003-06-25 | 2006-07-19 | 汤姆森许可贸易公司 | 在压缩视频比特流中插入水印的编码方法和设备 |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4939515A (en) | 1988-09-30 | 1990-07-03 | General Electric Company | Digital signal encoding and decoding apparatus |
US5721788A (en) | 1992-07-31 | 1998-02-24 | Corbis Corporation | Method and system for digital image signatures |
DK0967799T3 (da) | 1993-10-29 | 2001-12-03 | Time Warner Entertainm Co Lp | Softwarebærer med flere versioner af den samme spillefilm |
US5748783A (en) | 1995-05-08 | 1998-05-05 | Digimarc Corporation | Method and apparatus for robust information coding |
US5636292C1 (en) | 1995-05-08 | 2002-06-18 | Digimarc Corp | Steganography methods employing embedded calibration data |
US7113615B2 (en) | 1993-11-18 | 2006-09-26 | Digimarc Corporation | Watermark embedder and reader |
US5710834A (en) | 1995-05-08 | 1998-01-20 | Digimarc Corporation | Method and apparatus responsive to a code signal conveyed through a graphic image |
US5530751A (en) | 1994-06-30 | 1996-06-25 | Hewlett-Packard Company | Embedded hidden identification codes in digital objects |
US5646997A (en) | 1994-12-14 | 1997-07-08 | Barton; James M. | Method and apparatus for embedding authentication information within digital data |
GB9500285D0 (en) | 1995-01-07 | 1995-03-01 | Central Research Lab Ltd | A method of labelling an audio signal |
US5530759A (en) | 1995-02-01 | 1996-06-25 | International Business Machines Corporation | Color correct digital watermarking of images |
US5613004A (en) | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
US6411725B1 (en) | 1995-07-27 | 2002-06-25 | Digimarc Corporation | Watermark enabled video objects |
US5687191A (en) | 1995-12-06 | 1997-11-11 | Solana Technology Development Corporation | Post-compression hidden data transport |
US5664018A (en) | 1996-03-12 | 1997-09-02 | Leighton; Frank Thomson | Watermarking process resilient to collusion attacks |
AU2435297A (en) * | 1996-04-02 | 1997-11-07 | Theodore G Handel | Data embedding |
US7412072B2 (en) * | 1996-05-16 | 2008-08-12 | Digimarc Corporation | Variable message coding protocols for encoding auxiliary data in media signals |
US6978370B1 (en) | 1996-09-03 | 2005-12-20 | Cryptography Research, Inc. | Method and system for copy-prevention of digital copyright works |
US5809139A (en) | 1996-09-13 | 1998-09-15 | Vivo Software, Inc. | Watermarking method and apparatus for compressed digital video |
US5734752A (en) | 1996-09-24 | 1998-03-31 | Xerox Corporation | Digital watermarking using stochastic screen patterns |
US5825892A (en) | 1996-10-28 | 1998-10-20 | International Business Machines Corporation | Protecting images with an image watermark |
US5960081A (en) | 1997-06-05 | 1999-09-28 | Cray Research, Inc. | Embedding a digital signature in a video sequence |
EP0997042B1 (fr) | 1997-07-18 | 2003-04-09 | Ecole Polytechnique Federale De Lausanne | Procede de marquage d'un signal numerique video compresse |
KR100323441B1 (ko) | 1997-08-20 | 2002-06-20 | 윤종용 | 엠펙2동화상부호화/복호화시스템 |
JP4064506B2 (ja) | 1997-09-17 | 2008-03-19 | パイオニア株式会社 | 電子透かし重畳方法及び検出方法並びに装置 |
US6208745B1 (en) | 1997-12-30 | 2001-03-27 | Sarnoff Corporation | Method and apparatus for imbedding a watermark into a bitstream representation of a digital image sequence |
US6332194B1 (en) | 1998-06-05 | 2001-12-18 | Signafy, Inc. | Method for data preparation and watermark insertion |
US6154571A (en) * | 1998-06-24 | 2000-11-28 | Nec Research Institute, Inc. | Robust digital watermarking |
JP3480700B2 (ja) * | 1999-06-25 | 2003-12-22 | 日本ビクター株式会社 | 電子透かし記録方法及び電子透かし記録装置 |
JP2001242786A (ja) | 1999-12-20 | 2001-09-07 | Fuji Photo Film Co Ltd | 配信装置、配信方法、及び記録媒体 |
US6282300B1 (en) | 2000-01-21 | 2001-08-28 | Signafy, Inc. | Rotation, scale, and translation resilient public watermarking for images using a log-polar fourier transform |
US6687384B1 (en) | 2000-03-27 | 2004-02-03 | Sarnoff Corporation | Method and apparatus for embedding data in encoded digital bitstreams |
JP3565182B2 (ja) * | 2001-05-11 | 2004-09-15 | 日本電気株式会社 | 可変長符号の入力が中断されることを防止する方式及びその方法 |
EP1413143B1 (en) * | 2001-07-19 | 2006-05-03 | Koninklijke Philips Electronics N.V. | Processing a compressed media signal |
US7046818B2 (en) | 2001-07-20 | 2006-05-16 | Seiko Epson Corporation | Standards compliant watermarking for access management |
JP3977216B2 (ja) | 2001-09-27 | 2007-09-19 | キヤノン株式会社 | 情報処理装置及び方法及び情報処理プログラム及び記憶媒体 |
US6724914B2 (en) | 2001-10-16 | 2004-04-20 | Digimarc Corporation | Progressive watermark decoding on a distributed computing platform |
AU2003210625A1 (en) | 2002-01-22 | 2003-09-02 | Digimarc Corporation | Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding |
JP3720791B2 (ja) | 2002-04-24 | 2005-11-30 | ソニー株式会社 | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
US7277587B2 (en) | 2002-04-26 | 2007-10-02 | Sharp Laboratories Of America, Inc. | System and method for lossless video coding |
CN100359914C (zh) | 2002-06-03 | 2008-01-02 | 皇家飞利浦电子股份有限公司 | 独立信道内的水印编码和解码 |
AU2003256333A1 (en) | 2002-06-28 | 2004-01-19 | University Of Rochester | System and method for embedding information in digital signals |
US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
US7636440B2 (en) | 2003-01-31 | 2009-12-22 | Hewlett-Packard Development Company, L.P. | Digital watermark with variable location |
WO2004081719A2 (en) | 2003-03-07 | 2004-09-23 | Chaoticom, Inc. | Methods and systems for digital rights management of protected content |
CN1778092B (zh) * | 2003-04-25 | 2010-05-12 | 皇家飞利浦电子股份有限公司 | 通信堆栈中的开销降低和地址保护 |
DE10321983A1 (de) | 2003-05-15 | 2004-12-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Einbetten einer binären Nutzinformation in ein Trägersignal |
US7769088B2 (en) | 2003-05-28 | 2010-08-03 | Broadcom Corporation | Context adaptive binary arithmetic code decoding engine |
US20060257000A1 (en) | 2003-06-25 | 2006-11-16 | Boyce Jill M | Decoding method an apparatus for detection of watermarks in a compressed video bitsream |
JP4612797B2 (ja) * | 2004-03-11 | 2011-01-12 | キヤノン株式会社 | 符号化装置、符号化方法 |
US8127137B2 (en) * | 2004-03-18 | 2012-02-28 | Digimarc Corporation | Watermark payload encryption for media including multiple watermarks |
WO2005099385A2 (en) | 2004-04-07 | 2005-10-27 | Nielsen Media Research, Inc. | Data insertion apparatus and methods for use with compressed audio/video data |
US7437721B2 (en) | 2004-09-29 | 2008-10-14 | Microsoft Corporation | Isolating software deployment over a network from external malicious intrusion |
US7676055B2 (en) | 2004-10-15 | 2010-03-09 | Panasonic Corporation | Information-detecting apparatus and method |
GB2419762A (en) * | 2004-11-01 | 2006-05-03 | Sony Uk Ltd | Method of generating protected media signals by replacing data bits with hash values |
GB2421134A (en) | 2004-12-09 | 2006-06-14 | Sony Uk Ltd | Detection of payload data from a watermarked image by calculation of payload probability values |
FR2879878B1 (fr) | 2004-12-22 | 2007-05-25 | Thales Sa | Procede de chiffrement selectif compatible pour flux video |
US7672373B2 (en) | 2005-04-11 | 2010-03-02 | Cisco Technology, Inc. | Digital watermarking of a media stream using coded macroblock types |
KR100878827B1 (ko) | 2005-07-08 | 2009-01-14 | 엘지전자 주식회사 | 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법 |
CN100466739C (zh) | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
EP1958430A1 (en) | 2005-12-05 | 2008-08-20 | Thomson Licensing | Watermarking encoded content |
FR2894759A1 (fr) | 2005-12-12 | 2007-06-15 | Nextamp Sa | Procede et dispositif de tatouage sur flux |
DE102005063136B3 (de) | 2005-12-30 | 2007-07-05 | Siemens Ag | Verfahren und Vorrichtung zum Generieren eines markierten Datenstroms, Verfahren und Vorrichtung zum Einfügen eines Wasserzeichens in einen markierten Datenstrom und markierter Datenstrom |
WO2007122216A1 (en) | 2006-04-25 | 2007-11-01 | Thomson Licensing | Digital watermarking method |
US8752032B2 (en) * | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
US8358703B2 (en) | 2007-03-23 | 2013-01-22 | Thomson Licensing | Modifying a coded bitstream |
CA2692456C (en) | 2007-06-29 | 2015-12-01 | Thomson Licensing | Volume marking with low-frequency |
US9113231B2 (en) | 2008-08-19 | 2015-08-18 | Thomson Licensing | Changeable block list |
-
2008
- 2008-06-13 CA CA2689634A patent/CA2689634C/en active Active
- 2008-06-13 EP EP08794359.3A patent/EP2162860B1/en active Active
- 2008-06-13 WO PCT/US2008/007441 patent/WO2008154041A1/en active Search and Examination
- 2008-06-13 US US12/451,551 patent/US8588459B2/en active Active
- 2008-06-13 BR BRPI0811626-1A patent/BRPI0811626B1/pt not_active IP Right Cessation
- 2008-06-13 JP JP2010512207A patent/JP5467651B2/ja not_active Expired - Fee Related
- 2008-06-13 CN CN2008800200087A patent/CN101681499B/zh active Active
- 2008-06-13 KR KR1020097025542A patent/KR101518999B1/ko active IP Right Grant
-
2013
- 2013-10-04 JP JP2013208787A patent/JP5892704B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1309870A (zh) * | 1998-08-27 | 2001-08-22 | 国际商业机器公司 | 在视频数据中嵌入附加信息的系统和方法 |
CN1419786A (zh) * | 2001-01-23 | 2003-05-21 | 皇家菲利浦电子有限公司 | 向一个压缩信息信号加水印 |
CN1689098A (zh) * | 2002-08-21 | 2005-10-26 | 汤姆森特许公司 | 在用户设备对数字数据压制水印 |
CN1806442A (zh) * | 2003-06-25 | 2006-07-19 | 汤姆森许可贸易公司 | 在压缩视频比特流中插入水印的编码方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
JP5467651B2 (ja) | 2014-04-09 |
EP2162860B1 (en) | 2018-08-01 |
WO2008154041A1 (en) | 2008-12-18 |
BRPI0811626B1 (pt) | 2019-08-20 |
JP5892704B2 (ja) | 2016-03-23 |
BRPI0811626A2 (pt) | 2014-11-11 |
EP2162860A1 (en) | 2010-03-17 |
KR101518999B1 (ko) | 2015-05-12 |
US20100150394A1 (en) | 2010-06-17 |
CN101681499A (zh) | 2010-03-24 |
CA2689634C (en) | 2016-08-23 |
JP2014042311A (ja) | 2014-03-06 |
CA2689634A1 (en) | 2008-12-18 |
US8588459B2 (en) | 2013-11-19 |
KR20100021588A (ko) | 2010-02-25 |
JP2010529813A (ja) | 2010-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681499B (zh) | 修改经编码的比特流 | |
CN101636761B (zh) | 修改编码的比特流 | |
Iwata et al. | Digital steganography utilizing features of JPEG images | |
Du et al. | High capacity lossless data hiding in JPEG bitstream based on general VLC mapping | |
CN101326806A (zh) | 为编码内容压制水印 | |
EP2168382B1 (en) | Method for processing images and the corresponding electronic device | |
Zhu et al. | Robust steganography by modifying sign of DCT coefficients | |
CN103748876A (zh) | 有损压缩编码数据方法和设备以及相应的重构数据方法和设备 | |
CN101325700B (zh) | 视频文件中水印嵌入和提取的方法及系统 | |
Liu et al. | A robust without intra-frame distortion drift data hiding algorithm based on H. 264/AVC | |
Chen et al. | A watermarking technique based on the frequency domain | |
CN106101714A (zh) | 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法 | |
Seki et al. | Quantization-based image steganography without data hiding position memorization | |
CN102724494B (zh) | 一种嵌入可逆水印的方法、提取方法以及装置和系统 | |
Toony et al. | A high capacity image hiding method based on fuzzy image coding/decoding | |
Sakuma et al. | Digital Watermarking Scheme Based on Machine Learning for the IHC Evaluation Criteria | |
Li et al. | Fragile video watermarking algorithm based on H. 264/AVC | |
Kraichingrith | HIGH CAPACITY IMAGE STEGANOGRAPHY TOLERATING IMAGE COMPRESSION | |
Xing et al. | A high capacity video steganography based on intra luma and chroma modes | |
CN102036072A (zh) | 用于水印检测的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160805 Address after: Rennes Patentee after: Kingtype Elmore Address before: France's Nigeria - Billancourt City Patentee before: Thomson Licensing SA |