专利名称:使用基于样本的数据修剪的视频解码的制作方法
使用基于样本的数据修剪的视频解码
相关申请的交叉引用
本申请要求提交于2010年9月10日的美国临时专利申请序列号第61/403108号(Technicolor 公司案卷号第 PU100193 号)标题为《EXAMPLE-BASED DATA PRUNING FORIMPROVING VIDEO COMPRESSION EFFICIENCY))的优先权。
本申请涉及下列共同待审、共同拥有的专利申请:
(I)提交于 2011 年 I 月 20 日标题为《A SAMPLING-BASED SUPER-RESOLUTIONAPPROACH FOR EFFICIENT VIDEO COMPRESSION》的国际专利申请(PCT)序列号第 PCT/US11/000107 号(Technicolor 公司案卷号第 PU100004 号);
(2)提交于 2011 年 I 月 21 日标题为《DATA PRUNING FOR VIDEO COMPRESSIONUSING EXAMPLE-BASED SUPERRE-S0LUT10N))的国际专利申请(PCT)序列号第 PCT/US11/000117 号(Technicolor 公司案卷号第 PU100014 号);
(3)提交于 2011 年 9 月 XX 日标题为《METHODS AND APPARATUS FOR ENCODINGVIDEO SIGNALS USING MOTION COMPENSATED EXAMPLE-BASED SUPER-RESOLUTION FORVIDEO COMPRESSION》的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第PU100190 号);
(4)提交于 2011 年 9 月 XX 日标题为《METHODS AND APPARATUS FOR DECODINGVIDEO SIGNALS USING MOTION COMPENSATED EXAMPLE-BASED SUPER-RESOLUTION FORVIDEO COMPRESSION》的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第PU100266 号);
(5)提交于 2011 年 9 月 XX 日标题为 “METHODS AND APPARATUS FOR ENCODINGVIDEO SIGNALS USING EXAMPLE-BASED DATA PRUNING FOR IMPROVED VIDEO COMPRESSIONEFFICIENCY”的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第PU100193 号);
(6)提交于 2011 年 9 月 XX 日标题为 “METHODS AND APPARATUS FOR ENCODINGVIDEO SIGNALS FOR BLOCK-BASED MIXED-RES0LUT10N DATA PRUNING” 的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第roi00194号);
(7)提交于 2011 年 9 月 XX 日标题为 “METHODS AND APPARATUS FOR DECODINGVIDEO SIGNALS FOR BLOCK-BASED MIXED-RES0LUT10N DATA PRUNING” 的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第roi00268号);
(8)提交于 2011 年 9 月 XX 日标题为 “METHODS AND APPARATUS FOR EFFICIENTREFERENCE DATA ENCODING FOR VIDEO COMPRESSION BY IMAGE CONTENT BASED SEARCH ANDRANKING”的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第roi00195号);
(9)提交于 2011 年 9 月 XX 日标题为 “METHOD AND APPARATUS FOR EFFICIENTREFERENCE DATA DECODING FOR VIDEO COMPRESSION BY IMAGE CONTENT BASED SEARCH ANDRANKING”的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第roil0106号);
(10)提交于 2011 年 9 月 XX 日标题为 “METHOD AND APPARATUS FOR ENCODINGVIDEO SIGNALS FOR EXAMPLE-BASED DATA PRUNING USING INTRA-FRAME PATCHSIMILARITY”的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第PU100196 号);
(11)提交于 2011 年 9 月 XX 日标题为 “METHOD AND APPARATUS FOR DECODINGVIDEO SIGNALS WITH EXAMPLE-BASED DATA PRUNING USING INTRA-FRAME PATCHSIMILARITY”的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第PU100269 号);
(12)提交于 2011 年 9 月 XX 日标题为 “PRUNING DECISION OPTIMIZATION INEXAMPLE-BASED DATA PRUNING COMPRESSION” 的国际专利申请(PCT)序列号第 XXXX 号(Technicolor公司案卷号第PU10197号)。技术领域
本原理一般地涉及视频编码和解码,更具体地涉及一种用于基于样本(example-based)的数据修剪以提升视频压缩效率的方法和设备。
背景技术:
数据修剪是通过在对输入的视频数据进行编码之前去除视频数据中的一部分以获得更佳的视频编码效率的视频预处理技术。通过在解码器侧根据已解码数据来推算被去除的视频数据而恢复被去除的视频数据。已经存在一些与使用数据修剪以提升压缩效率相关的现有努力。例如,在第一种方法(在k.Dumitras和B.G.Haskell的论文《A TextureReplacement Method at the Encoder for Bit Rate Reduction of Compressed Video))(IEEE Transactions on Circuits and Systems for Video Technology, 2003 年 2 月第2期,第13卷,第163-175页)中有说明)和第二种方法(在A.Dumitras和B.G.Haskell的论文《An encoder-decoder texture replacement method with application tocontent-based movie codingKIEEE Transactions on Circuits and Systems for VideoTechnology,2004年6月第6期,第14卷,第825-840页)中有说明)中,使用基于纹理替换的方法在编码器侧去除纹理区域,并在解码器侧重新合成纹理区域。由于仅将合成参数发送给解码器,而合成参数具有比正则变换系数更少的数据量,因此获得了压缩效率。
在第三种方法(在C.Zhu、X.Sun、F.Wu 和 H.Li 的论文《Video Coding withSpatio-Temporal Texture SynthesisKIEEE International Conference on Multimediaand Expo (ICME),2007年)中有说明)和第四种方法(在C.Zhu,X.Sun、F.Wu和H.Li的论文《Video coding with spatio-temporal texture synthesis and edge-based inpainting》(IEEE International Conference on Multimedia and Expo (ICME), 2008 年)中有说明)中,使用时空纹理合成和基于边缘的修补在编码器侧去除某些区域,并在元数据的帮助下在解码器侧恢复被去除的内容,如区域屏蔽(region mask)。然而,第三种和第四种方法需要对编码器和解码器进行修改以使得编码器和解码器能够使用区域掩盖估计选择性地对某些区域进行编码/解码。因此,它并不是一种严格的环外(out-of-loop)方法,这是因为为了能够执行第三种和第四种方法,需要对编码器和解码器进行修改。在第五种方法(在 Dung T.Vo> Joel Sole、Peng Yin、Cristina Gomila 和 Truong Q.Nguyen 的论文《DataPruning-Based Compression using High Order Edge-Directed Interpolation)) (IEEEConference on Acoustics, Speech and Signal Processing,台湾地区,2009 年)中有说明)中,提出一种基于线去除的方法,通过使用最小二乘最小化框架选择性地去除视频中的某些水平或垂直线而将视频重新调整为更小的大小。第五种方法是一种环外方法,不需要对编码器/解码器进行修改。然而,完全去除某些水平和垂直线可能会导致某些视频的信息或细节的损失。
此外,也已经进行了一些有关用于视频压缩的数据修剪的初步研究。例如,在第六种方法中-在 Sitaram Bhagavathy、Dong-Qing Zhang 和 Mithun Jacob 的论文《AData Pruning Approach for Video Compression Using Motion-Guided Down-samplingand Super-resolution)) (2010 年 2 月 8 日提交给 ICIP2010,并于 2010 年 I 月 22 日作为共同待审、共同拥有的美国临时专利申请序列号第61/297320号(Technicolor公司案卷号PU100004)提交的)一提出一种使用基于采样的超分辨率的数据修剪方案。将全分辨率的帧采样为若干更小的帧,从而减少原始视频的空间大小。在解码器侧,在接收自编码器侧的元数据的帮助下,根据下采样的帧重新合成高分辨帧。在第七种方法中——在Dong-QingZhang,、Sitaram Bhagavathy 和 Joan Llach 的((Data pruning for video compressionusing example-based super-resolution))(于 2010 年 I 月 22 日作为共同待审、共同拥有的美国临时专利申请序列号第61/336516号(Technicolor案卷号I3UlOOOM)提交的)——提出一种基于样本的基于超分辨的数据修剪的方法。根据原始视频对代表性的补丁库(representative patch library)进行训练。然后,将视频缩减到更小。将缩减后的视频和补丁库发送到解码器侧。解码器侧的恢复处理使用补丁库通过基于样本的超分辨率而超求解(super-resolve)缩减后的视频。然而,由于在补丁库和缩减后的帧之间存在大量的冗余,因此已经发现使用第七种方法不易获得显著水平的压缩收益。发明内容
本申请公开了一种用于提升视频压缩效率的基于样本的数据修剪的方法和设备。
根据本发明的原理的一个方面,提供了一种用于对视频序列中的画面进行编码的设备。所述设备包括补丁库创建器,用于从画面的原始版本创建第一补丁库并且从画面的重构版本创建第二补丁库。第一补丁库和第二补丁库中的每一个包括多个用于在对画面的修剪版本进行恢复的过程中替换一个或多个被修剪的块的高分辨率替换补丁。该设备还包括:修剪器,用于从第一补丁库生成画面的修剪版本;以及元数据生成器,用于从第二补丁库生成元数据。元数据用于对画面的修剪版本进行恢复。该设备还包括编码器,用于对画面的修剪版本和元数据进行编码。
根据本发明的原理的另一个方面,提供了一种用于对视频序列中的画面进行编码的方法。该方法包括从画面的原始版本创建第一补丁库以及从画面的重构版本创建第二补丁库。第一补丁库和第二补丁库中的每一个包括多个用于在对画面的修剪版本进行恢复的过程中替换一个或多个被修剪的块的高分辨率替换补丁。该方法还包括从第一补丁库生成画面的修剪版本以及从第二补丁库生成元数据。元数据用于对画面的修剪版本进行恢复。该方法还包括对画面的修剪版本和元数据进行编码。
根据本发明的原理的又一方面,提供了一种用于对视频序列中的画面的修剪版本进行恢复的设备。所述设备包括:划分器,用于将画面的修剪版本划分成多个非重叠的块;以及元数据解码器,用于对元数据进行解码以在对画面的修剪版本进行恢复时使用。该设备还包括补丁库创建器,用于从画面的重构版本创建补丁库。补丁库包括多个用于在对画面的修剪版本进行恢复的过程中替换一个或多个被修剪的块的高分辨率替换补丁。该设备还包括搜索和替换装置,用于使用元数据进行搜索处理以从多个非重叠的块中找到一个或多个被修剪的块中的各个块的对应补丁,并使用对应补丁替换一个或多个被修剪的块中的各个块。
根据本发明的再一个方面,提供了一种用于对视频序列中的画面的修剪版本进行恢复的方法。所述方法包括:将画面的修剪版本划分成多个非重叠的块;对元数据进行解码以在对画面的修剪版本进行恢复时使用。该方法还包括从画面的重构版本创建补丁库。补丁库包括多个用于在对画面的修剪版本进行恢复的过程中替换一个或多个被修剪的块的高分辨率替换补丁。该方法还使用元数据进行搜索处理以从多个非重叠的块中找到一个或多个被修剪的块中的各个块的对应补丁,并使用对应补丁替换一个或多个被修剪的块中的各个块。
根据本发明的原理的又一个方面,提供了一种用于对视频序列中的画面进行编码的设备。该设备包括用于从画面的原始版本创建第一补丁库以及从画面的重构版本创建第二补丁库的部件。第一补丁库和第二补丁库中的每一个包括多个用于在对画面的修剪版本进行恢复的过程中替换一个或多个被修剪的块的高分辨率替换补丁。该设备还包括用于从第一补丁库生成画面的修剪版本的部件,以及用于从第二补丁库生成元数据的部件,元数据用于对画面的修剪版本进行恢复。该设备还包括用于对画面的修剪版本和元数据进行编码的部件。
根据本发明的原理的其他方面,提供了 一种用于对视频序列中的画面的修剪版本进行恢复的设备。所述设备包括用于将画面的修剪版本划分成多个非重叠的块的部件,以及用于对元数据进行解码以在对画面的修剪版本进行恢复时使用的部件。该设备还包括用于从画面的重构版本创建补丁库的部件。补丁库包括多个用于在对画面的修剪版本进行恢复的过程中替换一个或多个被修剪的块的高分辨率替换补丁。该设备还包括用于使用元数据进行搜索处理以从多个非重叠的块中找到一个或多个被修剪的块中的各个块的对应补丁并使用对应补丁替换一个或多个被修剪的块中的各个块的部件。
结合附图阅读下面详细描述的示例性实施例,本发明的原理的这些和其他方面、特征和优点将变得更加明显。
根据下面示例性的附图,可以更好地理解本发明的原理,附图中:
图1是示出根据本发明的原理的实施例的一个示例性的使用补丁相似性的基于样本的数据修剪系统的框图2是示出根据本发明的原理的实施例的可以应用本发明的原理的一个示例性视频编码器的框图3是示出根据本发明的原理的实施例的可以应用本发明的原理的一个示例性视频解码器的框图4是示出根据本发明的原理的实施例的用于在基于样本的数据修剪系统中进行编码器侧处理的一个示例性的第一部分的框图5是示出根据本发明的原理的实施例的用于聚类和补丁库生成的一种示例性方法的流程图6是示出根据本发明的原理的实施例的一个示例性补丁库和对应的聚类的图7是示出根据本发明的原理的实施例的一个示例性签名向量的图8是示出根据本发明的原理的实施例的用于在使用补丁相似性的基于样本的数据修剪系统中进行编码器侧处理的一个示例性的第二部分的框图9是示出根据本发明的原理的实施例的用于视频帧修剪的一种示例性方法的流程图10是示出根据本发明的原理的实施例的补丁搜索处理的图11是示出根据本发明的原理的实施例的一个示例性混合分辨率帧的图12是示出根据本发明的原理的实施例的用于对元数据进行编码的一种示例性方法的流程图13是示出根据本发明的原理的实施例的用于对被修剪的块ID进行编码的一种示例性方法的流程图14是示出根据本发明的原理的实施例的用于对补丁索引进行编码的一种示例性方法的流程图15是示出根据本发明的原理的实施例的用于对补丁索引进行解码的一种示例性方法的流程图16是示出根据本发明的原理的实施例的一个示例性块ID的图17是示出根据本发明的原理的实施例的用于对随后的帧进行修剪的一种示例性方法的流程图18是示出根据本发明的原理的实施例的被修剪的块的一个示例性运动向量的图19是示出根据本发明的原理的实施例的用于对元数据进行解码的一种示例性方法的流程图20是示出根据本发明的原理的实施例的用于对被修剪的块ID进行解码的一种示例性方法的流程图21是示出根据本发明的原理的实施例的用于进行解码器侧的基于样本的数据修剪的处理的一个示例性设备的框图22是示出根据本发明的原理的实施例的用于对修剪过的帧进行恢复的一种示例性方法的流程图;以及
图23是示出根据本发明的原理的实施例的用于对随后的帧进行恢复的一种示例性方法的流程图。
具体实施方式
本发明的原理主要针对用于基于样本的数据修剪以提升视频压缩效率的方法和设备。
本说明书对本发明的原理进行了说明。因此,应该理解的是,本领域的技术人员能够设计出虽然没有在本说明书中明确描述或示出但是体现了本发明的原理并被包括在本原理的精神和范围之内的各种布置。
本说明书中详述的所有的示例和条件性语言都旨在用作帮助读者理解本发明的原理以及发明人所贡献的促进本技术领域发展的想法的教导的目的,并应该解读为不限于这些具体陈述的示例和条件。
此外,本说明书中所有详述的本发明的原理、方面和实施例以及其特定例子的陈述都旨在同时包括其结构和功能的等效物。并且,这些等效物旨在包括当前已知的等效物和将在未来开发的等效物,即任何被开发出来执行相同功能而不论其结构如何的元件。
因此,例如,本领域的技术人员应该理解的是,本说明书中出现的框图表示实施本原理的示例性电路系统的概念图。类似地,应该理解的是,任何流程表、流程图、状态转换图、伪码等表示可在计算机可读介质中被实质性表示并由计算机或处理器执行的各种过程,不论这些计算机或处理器是否明确地显示出来。
图中所示的各种元件的功能可以通过使用专用硬件和能够联合合适的软件执行软件的硬件提供。当由处理器提供时,该功能可以由单个专用的处理器或单个共用的处理器或其中有一些可以共用的多个独立的处理器提供。并且,明确的使用术语“处理器”或“控制器”不应该被解读为排他性地专指能够执行软件的硬件,而应该被解读为没有限制地、隐含地包括数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机存储器(RAM)和非易失性存储器。
还可以包括其他常规和/或定制的硬件。相似地,图中示出的任何开关都只是概念性的。它们的功能可以通过执行程序逻辑、专用逻辑、程序控制和专用逻辑交互或者甚至手动进行,实施者可以根据对应用情景更加细致的了解来选择特定的技术。
在本说明书的权利要求中,任何被表达为执行特定功能的部件的元件都旨在包括执行该功能的任何方式,包括例如a)执行该功能的电路元件的组合或b)包括与合适的用于执行软件以完成该功能的电路组合在一起的固件、微码等的任何形式的软件。这些权利要求所限定的本发明的原理在于各列举部件所提供的功能以权利要求要求保护的方式组合并放置在一起的事实。因此,人们认为任何能够提供这些功能的部件与那些在本说明书中示出的部件都是等效的。
本说明书中提及本发明的原理的“一个实施例”或“实施例”以及其他变型的意思是指与实施例联系在一起描述的特定特征、结构或特性等被包括在本原理的至少一个实施例内。因此,出现在整篇说明书的各个地方的用语“在一个实施例中”或“在实施例中”以及其他变型不一定都是指同一个实施例。
应该理解的是,使用和/或”以及“之中的至少一个”中的任何一个或多个,例如,在“A/B”、“A和/或B”以及“A和B中的至少一个”的情形中,旨在包括只选择列出的第一选项(A),或只选择列出的第二选项(B),或同时选择这两个选项(A和B)。作为进一步的例子,在“A、B和/或C”以及“A、B和C中的至少一个”的情形中,这种用语旨在包括只选择列出的第一选项(A),或只选择列出的第二选项(B),或只选择列出的第三选项(C),或只选择列出的第一和第二选项(A和B),或只选择列出的第一和第三选项(A和C),或只选择列出的第二和第三选项(B和C),或选择全部的三个选项(A、B和C)。本技术领域和相关技术领域中的一个普通技术人员可以非常容易地将其推广至列出更多项。
此外,如在此使用的,词语“画面”和“图像”可交换地使用,并且是指静态的图像或视频序列中的画面。众所周知,画面可以是帧或场。
转到图1,参考标号100总体上表不一个不例性的基于样本的数据修剪系统。修剪系统100包括修剪器105,具有与视频编码器110的输入端和元数据生成器与编码器135的第一输入端信号通信连接的输出端。视频编码器的输出端与视频解码器115的输入端和补丁库创建器140的输入端信号通信连接。视频解码器115的输出端与恢复装置120的第一输入端信号通信连接。补丁库创建器130的输出端与恢复装置120的第二输入端信号通信连接。元数据生成器与编码器135的输出端与元数据解码器125的输入端信号通信连接。元数据解码器125的输出端与恢复装置120的第三输入端的信号通信连接。补丁库创建器140的输出端与元数据生成器与编码器135的第二输入端信号通信连接。聚类装置与补丁库创建器145的输出端与修剪器105的第二输入端信号通信连接。修剪器105的输入端与聚类装置与补丁库创建器145的输入端可用作修剪系统100的输入,用于接收输入视频。恢复装置的输出端可用作修剪系统100的输出,用于输出视频。
转到图2,参考标号200总体上表示可以应用本发明的原理的一个示例性视频编码器。视频编码器200包括具有与组合器285的非反相输入端信号通信的输出端的帧排序缓冲器210。组合器285的输出端与变换器和量化器225的第一输入端信号通信连接。变换器和量化器225的输出端与熵编码器245的第一输入端以及逆变换器与逆量化器250的第一输入端信号通信连接。熵编码器245的输出端与组合器290的第一非反相输入端信号通信连接。组合器290的输出端与输出缓冲器235的第一输入端信号通信连接。
编码器控制器205的第一输出端与帧排序缓冲器210的第二输入端、逆变换器与逆量化器250的第二输入端、画面类型判定模块215的输入端、宏块类型(MB类型)判定模块220的第一输入端、巾贞内预测模块260的第二输入端、去块滤波器265的第二输入端、运动补偿器270的第一输入端、运动估计器275的第一输入端,以及参考画面缓冲器280的第二输入端信号通信连接。
编码器控制器205的第二输出端与补充增强信息(SEI)插入器230的第一输入端、变换器与量化器225的第二输入端,熵编码器245的第二输入端、输出缓冲器235的第二输入端,以及序列参数集(SPS)和画面画面参数集(PPS)插入器240的输入端信号通信连接。
SEI插入器230的输出端与组合器290的第二非反相输入端信号通信连接。
画面类型判定模块215的第一输出端与帧排序缓冲器210的第三输入端信号通信连接。画面类型判定模块215的第二输出端与宏块类型判定模块220的第二输入端信号通信连接。
序列参数集(SPS)和画面画面参数集(PPS)插入器240的输出端与组合器290的第三非反相输入端信号通信连接。
逆量化器与逆变换器250的输出端与组合器219的第一非反相输入端信号通信连接。组合器219的输出端与巾贞内预测模块260的第一输入端和去块滤波器265的第一输入端信号通信连接。去块滤波器265的输出端与参考画面缓冲器280的第一输入端信号通信连接。参考图像缓冲器280的输出端与运动估计器275的第二输入端和运动补偿器270的第三输入端信号通信连接。运动估计器275的第一输出端与运动补偿器270的第二输入端信号通信连接。运动估计器275的第二输出端与熵编码器245的第三输入端信号通信连接。
运动补偿器270的输出端与开关297的第一输入端信号通信连接。帧内预测模块260的输出端与开关297的第二输入端信号通信连接。宏块类型判定模块220的输出端与开关297的第三输入端信号通信连接。开关297的第三输入端确定开关的“数据”输入端(与控制输入端相比,即第三输入端)是由运动补偿器270提供,还是由帧内预测模块260提供。开关297的输出端与组合器219的第二非反相输入端以及组合器285的反相输入端信号通信连接。
帧排序缓冲器210的第一输入端和编码器控制器205的输入端可用作编码器200的输入端,用于接收输入画面。此外,补充增强信息(SEI)插入器230的第二输入端可用作编码器200的输入端,用于接收元数据。输出缓冲器235的输出端可用作编码器200的输出端,用于输出比特流。
转到图3,参考标号300总体上表示可以应用本发明的原理的一个示例性视频解码器。视频解码器300包括输入缓冲器310,其具有与熵解码器345的第一输入端信号通信连接的输出端。熵解码器345的第一输出端与逆变换器与逆量化器350的第一输入端信号通信连接。逆变换器与逆量化器350的输出端与组合器325的第二非反相输入端信号通信连接。组合器325的输出端与去块滤波器365的第二输入端和巾贞内预测模块360的第一输入端信号通信连接。去块滤波器365的第二输出端与参考画面缓冲器380的第一输入端信号通信连接。参考画面缓冲器380的输出端与运动补偿器370的第二输入端信号通信连接。
熵解码器345的第二输出端与运动补偿器370的第三输入端、去块滤波器365的第一输入端和帧内预测器360的第三输入端信号通信连接。熵解码器345的第三输出端与解码器控制器305的输入端信号通信连接。解码器控制器305的第一输出端与熵解码器345的第二输入端信号通信连接。解码器控制器305的第二输出端与逆变换器和逆量化器350的第二输入端信号通信连接。解码器控制器305的第三输出端与去块滤波器365的第三输入端信号通信连接。解码器控制器305的第四输出端与帧内预测模块360的第二输入端、运动补偿器370的第一输入端和参考画面缓冲器380的第二输入端信号通信连接。
运动补偿器370的输出端与开关397的第一输入端信号通信连接。帧内预测模块360的输出端与开关397的第二输入端的信号通信连接。开关397的输出端与组合器325的第一非反相输入端信号通信连接。
输入缓冲器310的输入端可用作解码器300的输入端,用于接收输入的比特流。去块滤波器365的第一输出端可用作解码器300的输出端,用于对输出画面进行输出。
如上所述,本发明的原理针对用于基于样本的数据修剪以提升视频压缩效率的方法和装置。有利地,本发明的原理提供了对上述第七种方法的改进。S卩,本申请公开了一种使用前面发送的帧或已有的帧在解码器侧训练补丁库,而不是按照第七种方法通过通信信道发送补丁库的构思。此外,通过用平坦(flat)区域替换输入帧中的某些块以创建“混合分辨率”的帧实现数据修剪。
在一个实施例中,本发明的原理有利地提供使用根据训练图像/帧池(pool)训练的补丁样本库对视频进行修剪并对修剪过的视频进行恢复。补丁样本库可以被视为是参考帧概念的延伸。因此,补丁样本库的想法也可以在传统的视频编码方案中使用。在一个实施例中,本发明的原理使用误差界限聚类(error-bounded clustering)(例如,改进的K-means聚类)以在库中高效地搜索补丁。
另外,在一个实施例中,本发明的原理有利地提供一种混合分辨率的数据修剪方案,其中若干个块被平坦块替换,以减少高频信号,从而提升压缩效率。为了提高元数据(库中最佳匹配补丁的位置)的编码效率,本发明的原理使用补丁签名匹配、匹配排序列表,排序号码编码。
此外,在一个实施例中,本发明的原理有利地提供一种使用基于颜色变化的平坦块识别方案对被修剪的块ID进行编码的策略。
因此,根据本发明的原理,提供了一种新颖的对输入视频进行修剪以使得视频编码器可以更加高效地进行视频编码的方法(在本说明书中称为基于样本的数据修剪)。在一个实施例中,所述方法涉及创建补丁 (作为样本)的库,并使用该补丁库对视频帧进行恢复,其中在该帧内的某些块被以低分辨率块或平坦块替换。该框架包括创建补丁库、修剪视频、恢复视频以及对恢复所需的元数据进行编码的方法。
参照图1,编码器侧的处理实质上包括两个部分,S卩补丁库创建和修剪。补丁库可以使用之前已经发送到解码器侧的帧(原始视频帧或已经编码和已经解码的帧)或使用某些共享的或者可被编码器侧和解码器侧访问的视频(例如,来自YOUTUBE.COM的视频)创建。在本说明书中公开的一个优选实施例中,使用之前存在的帧创建补丁库。还使用之前已经解码的帧在解码器侧生成补丁库。在编码器侧生成两个补丁库。一个库根据原始帧生成,另外一个库根据重构的帧(即,先编码然后解码的帧)生成。后者(根据重构的帧生成的库)与在解码器侧创建的补丁库完全相同,因为它们使用完全相同的帧(即,重构的帧)生成补丁库。
在编码器侧,根据原始帧创建的补丁库被用来对块进行修剪,而根据重构的帧创建的补丁库被用来对元数据进行编码。使用根据重构的帧创建的补丁库的原因是为了确保在编码器侧和解码器侧用于编码和解码元数据的补丁库相同。
对使用原始帧创建的补丁库,执行聚类算法以对补丁分组,使得在修剪过程中的补丁搜索处理能够高效进行。修剪是使用补丁库对源视频进行修改以发送更少的比特到解码器侧的过程。修剪通过将视频帧划分成若干个块并用低分辨率块或平坦块替换某些块来实现。然后将修剪过的帧作为视频编码器的输入。图2示出了可以应用如上所述的本发明的原理的一个示例性视频编码器。
返回图1,修剪系统100的解码器侧的处理组成部分也可被视为包括两部分,即补丁库创建部分和恢复部分。解码器侧的补丁库创建是使用之前已解码的帧创建补丁库的过程,该过程对编码器侧和解码器侧来说应该是相同。不同于编码器侧的处理,解码器侧的补丁库创建不使用聚类。恢复组件是对发送自编码器侧的已解码的修剪过的帧中的被修剪的内容进行恢复的过程。已经解码的修剪帧是视频解码器的输出。图3示出了可以应用如上所述的本发明的原理的一个示例性视频解码器。
补丁库创建
转到图4,参考标号400整体表示用于执行基于样本的数据修剪系统中的编码器侧处理的示例性的第一部分。第一部分400包括划分器410,具有与聚类装置420的输入端信号通信连接的输出端。划分器的输入端可用作第一部分400的输入端,用于接收训练帧。聚类装置420的输出端可用作第一部分400的输出端,用于输出聚类和补丁库。
转到图5,参考标号500整体表示用于聚类和补丁库创建的示例性方法。在步骤505,输入训练视频帧。在步骤510,(用划分器410)将训练视频帧划分为若干个重叠的块。在步骤515,(通过聚类装置420)去除不具有高频细节的块。在步骤520中,(使用聚类装置420)对块进行聚类。在步骤525,输出聚类和补丁库。
补丁库是可以用来对修剪过的图像块进行恢复的若干个高分辨率补丁的池。转到图6,参考标号600整体表示示例性的补丁库和对应的若干聚类。补丁库具体地用参考标号610表示,包括签名部分611和高分辨率补丁部分612。对编码器侧的处理,生成两个补丁库,一个补丁库用于修剪,另一个补丁库用于元数据编码。用于修剪的补丁库使用原始帧生成,而用于元数据编码的补丁库使用重构的帧生成。对于用于修剪的补丁库,库中的补丁被分组成若干聚类,以使得修剪搜索处理能够高效地进行。用于库创建的视频帧被划分成若干个重叠的块以形成训练数据集合。首先对训练数据进行清理,去除所有不包括高频细节的块。使用一种改进的 K-means 聚类算法-在 Dong-Qing Zhang> Sitaram Bhagavathy和 Joan Llach 的论文〈〈Data pruning for video compression using example-basedsuper-resolution)) (2010年I月22日作为共同拥有的美国临时专利申请序列号第61/336516号(Technicolor公司案卷号PU100014)提交的))中有说明——将训练数据集合中的补丁分组成若干个聚类。对于每个聚类,聚类中心是聚类中补丁的平均值,用于匹配在修剪过程中输入的查询。改进的K-means聚类算法确保聚类内任何补丁与它的聚类中心之间的误差都小于指定的阈值。改进的K-means聚类算法可以用任何类似的、能够确保聚类内的误差界限的聚类算法替代。
为了加快计算,将训练帧的水平和垂直尺寸减少到原始大小的四分之一。并且,聚类过程在缩减帧的补丁上进行。在一个示例性实施例中,高分辨率补丁的大小为16x16像素,缩减补丁的大小为4X4像素。因此,缩减因子是4。当然,也可以使用其他尺寸,同时维持本发明的原理的精神。
对于用于元数据编码的补丁库,不进行聚类处理和清理处理;因此,它包括所有可能来自重构帧的补丁。然而,对于根据原始帧创建的补丁库中的每一个补丁,使用这些补丁的坐标可以在根据重构的帧创建的补丁库中找到它的对应补丁。这将确保元数据编码可以正确地进行。对于解码器侧,使用相同的已经解码的视频帧创建相同的、不进行聚类处理的补丁库以用于元数据解码和被修剪块恢复。
对于在编码器和解码器侧使用已经解码的帧创建的补丁库,还进行另一处理以创建补丁的签名。补丁的签名是其中包括补丁的平均颜色及补丁的周围像素的特征向量。补丁签名用于元数据编码处理以更加高效地对元数据进行编码,以及用于解码器侧的恢复处理以找到最佳匹配补丁从而更可靠地恢复被修剪的内容。转到图7,参考标号700整体表示示例性的签名向量。签名向量700包括平均颜色701和周围像素702。
元数据编码过程如下所述。在修剪的帧中,有时候用于恢复或元数据编码的被修剪的块的相邻块也被修剪了。那么用作补丁库搜索中的签名的周围像素的集合只包括来自未被修剪的块的像素。如果所有的相邻块都被修剪了,那么只有平均颜色701用作签名。这最终可能导致较差的补丁匹配,因为用于补丁匹配的信息太少,这正是相邻的未被修剪的像素702非常重要的原因。
修剪处理
与标准的视频编码算法类似,输入视频帧被划分成若干画面组(G0P)。修剪处理在GOP的第一帧上进行。其后,修剪结果被传播到GOP中的剩余的帧。
GOP中第一帧的修剪处理
转到图8,参考标号800整体表示用于在基于样本的数据修剪系统中进行编码器侧处理的示例性的第二部分。第二部分800包括划分器805,其具有与补丁库搜索器810的输入端信号通信连接的输出端。补丁库搜索器810的输出端与视频编码器815的输入端、元数据生成器820的第一输入端和元数据编码器825的第一输入端信号通信连接。元数据生成器820的输出端与元数据编码器825的第二输入端信号通信连接。视频编码器815的第一输出端与元数据生成器820的第二输入端信号通信连接。划分器805的输入端可用作第二部分800的输入端,用于接收输入帧。视频编码器815的输出端可用作第二部分800的输出端,用于输出已编码的视频帧。元数据编码器825的输出端可用作第二部分800的输出端,用于输出编码后的元数据。
转到图9,参考标号900整体表示用于修剪视频帧的一种示例性方法。在步骤905,输入视频帧。在步骤910,视频帧被划分成若干个非重叠的块。在步骤915,对每个块执行循环。在步骤920,在补丁库中进行搜索。在步骤925,确定是否已经找到补丁。如果已经找到补丁,那么方法前进到步骤930。否则,方法返回到步骤915。在步骤930,对块进行修剪。在步骤935,确定是否已完成了所有块。如果已经完成所有的块,那么方法前进到步骤940。否则,方法返回步骤915。在步骤940,输出修剪过的帧和对应的元数据。
因此,每次步骤910首先将输入帧划分成若干个非重叠的块。块的大小与标准压缩算法使用的宏块大小相同——在本说明书公开的示例性实施中采用16x16像素的大小。然后,每次步骤920进行搜索处理以在补丁库中找到最佳匹配补丁。该搜索处理示于图10。转到图10,参考标号1000整体表示在修剪过程中进行的补丁搜索处理。补丁搜索处理1000涉及补丁库1010,它依次包括签名部分1011和高分辨率补丁部分1012。首先,通过计算欧几里得距离对块和聚类中心进行匹配,并找到最匹配的K个聚类。目前,K是根据经验确定的。理论上说,K由聚类的误差界限确定。当然,也可以根据本发明的原理的教导使用其他的方法来计算K。在标识候选聚类之后,在聚类内进行搜索处理,直到找到聚类内的最佳匹配补丁。如果最佳匹配补丁与查询块之间的差异小于预定的阈值,那么该块将会被修剪。否则,该块将保持不变。被修剪的块的ID以及每个块的最佳匹配补丁的索引被保存为元数据,这些元数据将在元数据编码组成部分中进行编码,并被发送到解码器侧。
在标识出修剪的块之后,对这些块进行修剪处理。对需要被修剪的块可以执行不同的修剪策略——例如,用低分辨率块的替换高分辨率块。然而,已经发现这种方法可能难以获得显著的压缩效率收益。因此,在本说明书公开的一个优选实施例中,高分辨率块被简单地用平坦块替换,其中所有的像素具有相同的颜色值(即原始块中像素的颜色值的平均值)。块替换处理创建了帧的某些部分具有较高的分辨率而某些其他部分具有较低的分辨率的视频帧;因而这样的帧被称为“混合分辨率”帧(为了更详细地了解混合分辨率修剪方案,请参见共同待审、共同拥有的提交于2011年3月XX日的标题为《METHODSAND APPARATUS FOR ENCODING VIDEO SIGNALS FOR BLOCKBASED MIXED-RESOLUTION DATAPRUNING FOR IMPROVING VIDEO COMPRESSION EFFICIENCY》的国际专利申请(PCT)序列号第XXXX号(Technicolor公司案卷号第PU100194号)。转到图11,参考标号1100整体表示示例性的混合分辨率帧。已经发现上述平坦块的替换方案对于获得理想的压缩效率相当有效。平坦块的替换方案可以用低分辨率块的替换方案替代,其中要修剪的块用它的低分辨率版本替换。
元数据编码和解码
对元数据编码包括两个组成部分(参见图12),一个对被修剪的块ID进行编码(参见图13),另一个对补丁索引进行编码(参见图14),这是在修剪处理的过程中为每个块搜索补丁库获得的结果。
转到图12,参考标号1200整体表示对元数据进行编码的一种示例性方法。在步骤1205,输入解码过的修剪后的视频帧、被修剪的块ID和每个块的补丁索引。在步骤1210,对被修剪的块ID进行编码。在步骤1215,对补丁索引进行编码。在步骤1220,输出编码过的元数据。
转向图13,参考标号1300整体表示对被修剪的块ID进行编码的一种示例性方法。在步骤1305,输入修剪后的帧和被修剪的块ID。在步骤1310,进行低分辨率块识别。在步骤1320,确定是否存在遗漏。如果确定没有遗漏,那么方法前进到步骤1325。否则,方法前进到步骤1315。在步骤1325,确定假阳性块的数目是否比被修剪的块的数目多。如果假阳性块的数目比被修剪的块的数目多,那么方法前进到步骤1330。否则,控制前进到步骤1335。在步骤1330,使用被修剪的块的序列,并将标志设置为零。在步骤1340,进行差分。在步骤1345,进行无损编码。在步骤1350,输出编码过的元数据。在步骤1315,调整阈值。在步骤1335,使用假阳性序列,并将标志设置为等于一。
转向图14,参考标号1400整体表示对补丁索引进行编码的一种示例性方法。在步骤1405,输入解码过的修剪后的视频帧和每个块的补丁索引。在步骤1410,对每个被修剪的块执行循环。在步骤1415,获得签名。在步骤1420,计算与补丁库中的补丁的距离。在步骤1425,对补丁进行排序以获得排序列表。在步骤1430,获得排序号码。在步骤1435,对排序号码进行熵编码。在步骤1440,确定是否完成(正在处理的)所有的块。如果已经完成所有的块,那么方法前进到步骤1445。否则,方法返回到步骤1410。在步骤1445,输出编码过的补丁索引。
在修剪处理过程中,对每个块,系统会在补丁库中搜索最佳匹配补丁,并在失真小于阈值时输出找到的补丁在补丁库中的补丁索引。每个补丁都与其签名(即,解码帧中其颜色加上周围的像素)相关联。在解码器侧处理的恢复处理过程中,被修剪的块的颜色和它周围的像素被用作签名以在库中找到正确的高分辨率补丁。
然而,由于存在噪音,使用这种签名的搜索处理并不可靠,需要元数据协助恢复处理以保证可靠性。因此,在修剪处理后,系统将会生成用于协助恢复的元数据。对每个被修剪的块,上述搜索处理都已经识别出库中对应的补丁。元数据编码组成部分将通过使用查询向量(被修剪的块的平均颜色加上周围像素)匹配补丁库(使用解码后的帧创建的库)中的补丁的签名来模拟恢复过程。过程如图14所示。再参照图14,对每个块,计算与该块对应的查询向量和库中补丁的签名之间的距离(例如,尽管这里使用欧几里得距离,但当然也可以使用其他距离度量)。根据该距离对补丁进行排序,得到排序列表。在理想情况下,最匹配的高分辨率补丁应该位于排序列表的最顶部。然而,由于存在由算法舍入和压缩引起的噪声,最佳匹配补丁通常不是排序列表上的第一个。假设正确的补丁是排序列表中的第n个补丁。号码n将被保存为该块的元数据。应该注意的是,在大多数情况下,n是I或者一个非常小的数,因为最佳匹配补丁接近排序列表的顶部;因此,该随机数的熵明显小于库中最佳匹配补丁的索引,其应该是具有最大熵的均匀分布。因此,通过熵编码可以对顺序号码进行高效编码。所有被修剪的块的排序号码形成排序号码序列,作为被发送到解码器侧的元数据的一部分。通过实际实验,已经发现排序号码的分布接近几何分布;因此,目前使用Golomb码对排序号码序列进行进一步编码。Golomb码对具有几何分布的随机数来说最为理想。当然,根据本发明的原理的教导,也可以使用其他类型的码,同时保持本发明的原理的精神。
对于解码(参见图15),解码器侧应该具有与编码器侧完全相同的补丁库,该补丁库使用解码后的帧创建。被修剪的块的签名将会用来与补丁库中的签名进行匹配,并获得排序列表(排序的补丁库)。排序号码被用来从排序的补丁库中获取正确的补丁。如果补丁库是根据之前的帧创建的,为了确保编码器和解码器侧具有完全相同的补丁库,编码器侧的元数据编码处理也应该使用来自视频解码器的解码过的帧,因为在解码器侧只有解码过的帧是可用的。
转向图15,参考标号1500整体表示对补丁索引进行解码的一种示例性方法。在步骤1505,输入解码的修剪后的视频帧、编码的补丁索引和被修剪的块ID。在步骤1510,对每个被修剪的块执行循环。在步骤1515,获得签名。在步骤1520,计算与补丁库中的补丁的距离。在步骤1525,对补丁进行排序以获得排序列表。在步骤1530,对编码的排序号码进行熵解码。在步骤1535,使用排序号码从补丁库中获取补丁索引。在步骤1540,确定是否完成(正在被处理的)所有的块。如果已经完成所有的块,那么方法前进到步骤1545。否贝U,方法返回到步骤1510。在步骤1545,输出解码的补丁索引。
除了排序号码元数据,还需要将被修剪的块的位置发送到解码器侧。这通过块ID编码进行(参见图13)。一个简单的方式可以是只发送块ID序列到解码器侧。块的ID表示该块在帧内的坐标。转向图16,参考标号1600整体表示示例性的块ID。还可以对被修剪的块的ID序列进行更加高效的编码。由于被修剪的块是平坦的,且不包含高频分量,因此可以通过计算块内的颜色变化来检测被修剪的块。如果颜色变化小于阈值,那么该块被识别为被修剪的块。然而,由于该识别处理可能是不可靠的,因此仍然需要元数据以方便识别处理。首先,通过从高阈值开始确定该方差(variance)阈值。然后,该算法慢慢降低该方差阈值以使得所有被修剪的块都能够被识别程序识别出来,然而,在识别结果中可能存在假阳性块。之后,如果假阳性块的数目大于被修剪的块的数目,那么保存被修剪的块的ID,并发送到解码器;否则,将假阳性的ID发送到解码器侧。用于识别平坦块的方差阈值也发送到解码器侧以运行相同的识别程序。可以对ID序列进行排序以使得号码递增。
为了进一步降低冗余度,采用差分编码方案以首先计算某个ID号码与其前一个ID号码之间的差,并对该差序列进行编码。例如,假设ID序列是3、4、5、8、13、14,差分序列变成3、1、1、3、5、1。差分处理使得号码更接近1,从而产生具有更小的熵的号码分布。然后,可以使用熵编码(例如,当前实施例中使用的霍夫曼编码)对该差分序列进一步编码。因此,最后的元数据的格式如下所示:
标志11阈值I已编码^JD序列I已编码排序序号序列
其中,标志是表示块ID序列是否是假阳性ID序列的信令标志;阈值是用于平坦块识别的方差阈值;已编码块ID序列是编码的被修剪的块ID或假阳性块ID的比特流;已编码的排序号码序列是编码的用于块恢复的排序号码的比特流。
其余帧的修剪处理
对于GOP中其余的帧,帧内的某些块也会被平坦块替换。被修剪的块在第一帧中的位置可以通过运动跟踪而传播(propagate)到其余的帧。已经测试过几种不同的传播被修剪的块的位置的策略。一种方法是通过块匹配在帧中跟踪被修剪的块,并对随后的帧中的对应的块进行修剪(即,用平坦块替换被跟踪的块)。然而,该方法不能产生良好的压缩效率收益,因为通常情况下被跟踪的块的边界并不与编码宏块对齐。结果,被跟踪的块的边界在宏块内产生高频信号。因此,目前使用的一种更简单的替代性方法将随后的帧中所有的块的位置设置为与第一帧相同的位置。即,所有被修剪的块在随后的帧中与被修剪的块在第一帧中是同位置。因此,随后的帧中所有被修剪的块都与宏块位置对齐。
然而,该方法在被修剪的块内存在运动时效果欠佳。因此,解决该问题的一种解决方案是计算块的运动强度(参见图17)。转向图17,参考标号1700整体表示用于对相随的帧进行修剪的一种示例性方法。在步骤1705,输入视频帧和被修剪的块ID。在步骤1710,对位于同一位置的块进行修剪。在步骤1715,对每个块执行循环。在步骤1720,计算与前一帧的运动向量。在步骤1725,将运动向量保存为元数据。在步骤1730,确定是否完成(正在处理)所有的块。如果已经完成所有的块,那么方法前进到步骤1735。否则,方法返回步骤 1715。
如果运动强度大于某个阈值,那么该块不会被修剪。另外一种更加复杂的解决方案(它是本说明书公开的一种示例性实施方式)是通过在前一帧中搜索对应的块来计算原始视频中被修剪的块的运动向量(参见图18)。转向图18,参考标号1800整体表示被修剪的块的示例性运动向量。运动向量1800与第i帧中的被修剪的块和第(i_l)帧中位于同一位置的块相关。被修剪的块的运动向量将会被发送到解码器侧以用于恢复目的。由于前一帧可能已经被完全恢复,因此可以使用运动向量对当前帧中被修剪的块进行恢复。为了避免出现伪像,如果通过运动估计计算的当前帧中的块与前一帧内对应的块之间的差异过大,那么当前帧内的块 将不会被修剪。并且,目前采用子像素运动估计以使得基于运动向量的恢复更加准确。通过实验,已经发现使用基于子像素的运动向量估计获得的视觉质量要大大好于使用基于整数像素的运动向量估计获得的视觉质量。
恢复处理
恢复处理发生在解码器侧。在进行恢复处理之前,应该创建补丁库。对于时间较长的视频(如电影),它可以通过使用已经被发送到解码器侧的前面的帧实现。编码器侧可以发送表示应该使用哪些帧来创建补丁库的元数据(帧ID)。解码器侧的补丁库应该与编码器侧的补丁库完全相同。
对于GOP中的第一帧,恢复处理以对元数据进行解码开始(参见图19),包括对块ID序列(图20)和排序顺序序列(图9)进彳丁解码。转向图19,参考标号1900整体表不用于对元数据进行解码的一种示例性方法。在步骤1905,输入编码过的元数据。在步骤1910,对被修剪的块ID进行解码。在步骤1915,对补丁索引进行解码。在步骤1920,输出被解码的元数据。
转向图20,参考标号2000整体表示用于对被修剪的块ID进行解码的一种示例性方法。在步骤2005,输入编码过的元数据。在步骤2010,进行无损解码。在步骤2015,进行逆差分。在步骤2020,确定标志是否等于零。如果标志等于零,那么方法前进到步骤2025。否则,方法前进到步骤2030。在步骤2025,输出块ID。在步骤2030,进行低分辨率块识别。在步骤2035,去除假阳性块。在步骤2040,输出块ID。
在块ID序列可用之后,对每个被修剪的块,该块的平均颜色和周围像素将会被作为签名向量用以匹配补丁库中的签名。然而,如果用于恢复的该块的相邻块也被修剪,那么用作搜索签名的周围像素的集合只包括来自未被修剪的块的像素。如果所有的相邻块都被修剪,那么只有平均颜色被用作签名。匹配处理通过计算查询块的签名与库中补丁的签名之间的欧几里得距离实现。在计算出所有的距离之后,根据距离对列表进行排序,得到排序列表。然后,使用与被修剪的块对应的排序号码从该排序列表中获取正确的高分辨率块。
转向图21,参考标号2100整体表示用于进行编码器侧基于样本的数据修剪的一个示例性设备。设备2100包括划分器2105,其具有与搜索补丁库与块替换装置2110的第一输入端信号通信连接的输出端。元数据解码器2115的输出端与搜索补丁库与块替换装置2110的第二输入端信号通信连接。划分器2105的输入端可用作设备2100的输入端,用于接收修剪后的视频。元数据解码器2115的输入端可用作设备2100的输入端,用于接收编码过的元数据。搜索补丁库与块替换装置2110的输出端可用作设备的输出端,用于输出恢复的视频。
转向图22,参考标号2200整体表不用于对修剪过的巾贞进行恢复的一种不例性方法。在步骤2205,输入修剪过的帧和对应的元数据。在步骤2210,将修剪过的帧划分成若干个非重叠的块。在步骤2215,对每个块执行循环。在步骤2220,确定当前块是否是被修剪的块。如果当前块是被修剪的块,则方法前进到步骤2225。否则,方法返回步骤2215。在步骤2225,在库中找到补丁。在步骤2230,用找到的补丁替换当前块。在步骤2235,确定是否完成(正在处理)所有的块。如果已经完成所有的块,那么方法前进到步骤2240。否则,方法返回步骤2215。在步骤2240,输出恢复的帧。
应该理解的是,使用样本补丁的块恢复可以用基于传统的修补和纹理合成的方法替代。
对于GOP中其余的帧,对每个被修剪的块,如果运动向量不可用,那么该块的内容可以从前一帧中相同位置的块复制。如果运动向量可用,那么使用运动向量找到前一帧中的对应块,并复制对应块以填充被修剪的块(参见图23)。转向图23,参考标号2300整体表示用于对随后的帧进行恢复的一种示例性方法。在步骤2305,输入视频帧和被修剪的块ID。在步骤2310,对每个块执行循环。在步骤2315,使用运动向量找到前一帧中的补丁。在步骤2320,使用找到的补丁替换被修剪的块。在步骤2325,确定是否完成(正在处理)所有的块。如果已经完成所有的块,那么方法前进到步骤2330。否则,方法返回步骤2310。
由于恢复处理是以块为基础进行的,所以块伪像可能是可见的。可以应用去块滤波器(如,AVC编码器中使用的环内去块滤波器)以降低块伪像。
基于本说明书中的教导,相关领域中的普通技术人员可以容易地弄清楚本发明的原理的这些和其他的特征和优点。应该理解的是,本发明的原理的教导可以被实施为硬件、软件、固件、专用处理器或其组合的各种形式。
最优选地,本发明的原理的教导被实施为硬件和软件的组合。并且,软件可以被实施为有形地体现在程序存储单元上的应用程序。应用程序可以被上载到并且由包括任何合适的体系结构的机器执行。优选地,机器可以被实施在具有硬件(如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口)的计算机平台上。计算机平台还包括操作系统和微指令代码。本说明书中描述的各个过程和功能可以要么是微指令代码的一部分,要么是应用程序的一部分,或者是它们的任何组合,可以由CPU执行。另外,可以将各种其他的外围设备连接到计算机平台上,如附加的数据存储单元和打印单元。
还应该理解的是,由于附图中描述的一些组成系统的组件和方法优选地被实施为软件,因此系统组件或过程功能块之间的实际连接可能随着本发明的原理被编程的方式的不同而有所不同。参考本说明书中的教导,相关领域中的普通技术人员能够设想出本发明的原理的这些以及类似的实施或配置。
尽管在本说明书中已经参照附图描述了本原理的示例性实施例,但是应该理解的是,本发明的原理并不限于这些精确的实施例,相关领域的普通的技术人员可以在不偏离本发明的原理的范围和精神的情况下对其做出各种变化和修改。所有这些变化和修改都旨在被包括在所附权利要求提出的本发明的原理的范围内。
权利要求
1.一种装置,包括: 划分器(115),用于将视频序列中的画面的修剪版本划分为多个不重叠的块; 元数据解码器(125),用于对在恢复所述画面的修剪版本时使用的元数据进行解码; 补丁库创建器(130),用于从所述画面的重构版本中创建补丁库,所述补丁库包括多个高分辨率替换补丁,用于在对所述画面的修剪版本进行恢复的过程中替换一个或多个修剪块;以及 搜索和替换设备(120),用于使用所述元数据执行搜索处理以便从所述多个不重叠的块中为所述一个或多个修剪块中的相应的块找到对应的补丁,并且用所述对应的补丁替换所述一个或多个修剪块中的相应的块。
2.如权利要求1的装置,其中,所述一个或多个修剪块中的所有像素具有相同的颜色值或低分辨率中的一种。
3.如权利要求2的装置,其中,所述一个或多个修剪块中特定块的相同的颜色值等于所述一个或多个修剪块中所述特定块中的所述像素的颜色值的平均值。
4.如权利要求1的装置,其中,通过分别生成包含所述多个高分辨率补丁中的相应的高分辨率补丁的平均颜色的特征向量,为所述补丁库中包括的所述多个高分辨率补丁中的每一个分别创建签名。
5.如权利要求4的装 置,其中,在所述多个高分辨率补丁中的相应的高分辨率补丁的特征向量中包括的所述平均颜色进一步属于所述多个高分辨率补丁中相应的补丁的周围的像素。
6.如权利要求1的装置,其中,分别为所述一个或多个修剪块中的每一个创建所述签名,并且通过以下方式对所述画面的修剪版本进行恢复:将所述多个高分辨率补丁中每一个的签名到所述一个或多个修剪块中的每一个的签名相应的距离度量进行比较,对所述相应的距离度量进行排序以得到所述一个或多个修剪块中的每一个的排名列表,其中,使用所述一个或多个修剪块中的特定块在所述排名列表中的排名号码而在所述补丁库中检索要用于替换所述一个或多个修剪块中所述特定块的多个高分辨率补丁中的对应的一个。
7.如权利要求6的装置,其中,只将相对于所述多个重叠块中的所述对应的重叠块的同一位置的补丁之前的补丁用于所述比较。
8.如权利要求6的装置,其中,将具有多个节点和多个边缘的补丁依赖关系图用于恢复所述画面的修剪版本,所述多个节点中的每一个代表所述多个不重叠的块中相应的一个,并且所述多个边缘的每一个代表所述多个不重叠的块中至少相应的一个块的相应的依赖关系。
9.如权利要求1的装置,其中,所述元数据包括:补丁索引,用于识别所述多个不重叠的块中的每一个的最佳匹配补丁;以及块识别符,用于从所述多个不重叠的块中识别一个或多个修剪块。
10.一种方法,包括: 将视频序列中的画面的修剪版本划分为多个不重叠的块(2105); 对在恢复所述画面的修剪版本时使用的元数据进行解码(2115); 从所述画面的重构版本中创建补丁库(130),所述补丁库包括多个高分辨率替换补丁,用于在对所述画面的修剪版本进行恢复的过程中替换一个或多个修剪块;以及使用所述元数据执行搜索处理(2110)以便从所述多个不重叠的块中为所述一个或多个修剪块中的相应的块找到对应的补丁,并且用所述对应的补丁替换所述一个或多个修剪块中的相应的块。
11.如权利要求10的方法,其中,所述一个或多个修剪块中的所有像素具有相同的颜色值或低分辨率中的一种。
12.如权利要求11的方法,其中,所述一个或多个修剪块中特定块的相同的颜色值等于所述一个或多个修剪块中所述特定块中的所述像素的颜色值的平均值。
13.如权利要求10的方法,其中,通过分别生成包含所述多个高分辨率补丁中的相应的高分辨率补丁的平均颜色的特征向量,为所述补丁库中包括的所述多个高分辨率补丁中的每一个分别创建签名。
14.如权利要求13的方法,其中,在所述多个高分辨率补丁中的相应的高分辨率补丁的特征向量中包括的所述平均颜色进一步属于所述多个高分辨率补丁中相应的补丁的周围的像素。
15.如权利要求10的方法,其中,分别为所述一个或多个修剪块中的每一个创建所述签名,并且通过以下方式对所述画面的修剪版本进行恢复:将所述多个高分辨率补丁中每一个的签名到所述一个或多个修剪块中的每一个的签名相应的距离度量进行比较,对所述相应的距离度量进行排序以得到所述一个或多个修剪块中的每一个的排名列表,其中,使用所述一个或多个修剪块中的特定块在所述排名列表中的排名号码而在所述补丁库中检索要用于替换所述一个或多个修 剪块中所述特定块的多个高分辨率补丁中的对应的一个。
16.如权利要求15的方法,其中,只将相对于所述多个重叠块中的所述对应的重叠块的同一位置的补丁之前的补丁用于所述比较。
17.如权利要求15的方法,其中,将具有多个节点和多个边缘的补丁依赖关系图用于恢复所述画面的修剪版本,所述多个节点中的每一个代表所述多个不重叠的块中相应的一个,并且所述多个边缘的每一个代表所述多个不重叠的块中至少相应的一个块的相应的依赖关系。
18.如权利要求10的方法,其中,所述元数据包括:补丁索引,用于识别所述多个不重叠的块中的每一个的最佳匹配补丁;以及块识别符,用于从所述多个不重叠的块中识别一个或多个修剪块。
19.一种装置,包括: 划分部件(115),用于将视频序列中的画面的修剪版本划分为多个不重叠的块; 解码部件(125),用于对在恢复所述画面的修剪版本时使用的元数据进行解码; 创建部件(130),用于从所述画面的重构版本中创建补丁库,所述补丁库包括多个高分辨率替换补丁,用于在对所述画面的修剪版本进行恢复的过程中替换一个或多个修剪块;以及 执行部件(120),用于使用所述元数据执行搜索处理以便从所述多个不重叠的块中为所述一个或多个修剪块中的相应的块找到对应的补丁,并且用所述对应的补丁替换所述一个或多个修剪块中的相应的块。
20.如权利要求19的装置,其中,所述一个或多个修剪块中的所有像素具有相同的颜色值或低分辨率中的一种。
21.如权利要求20的装置,其中,所述一个或多个修剪块中特定块的相同的颜色值等于所述一个或多个修剪块中所述特定块中的所述像素的颜色值的平均值。
22.如权利要求19的装置,其中,通过分别生成包含所述多个高分辨率补丁中的相应的高分辨率补丁的平均颜色的特征向量,为所述补丁库中包括的所述多个高分辨率补丁中的每一个分别创建签名。
23.如权利要求22的装置,其中,在所述多个高分辨率补丁中的相应的高分辨率补丁的特征向量中包括的所述平均颜色进一步属于所述多个高分辨率补丁中相应的补丁的周围的像素。
24.如权利要求19的装置,其中,分别为所述一个或多个修剪块中的每一个创建所述签名,并且通过以下方式对所述画面的修剪版本进行恢复:将所述多个高分辨率补丁中每一个的签名到所述一个或多个修剪块中的每一个的签名相应的距离度量进行比较,对所述相应的距离度量进行排序以得到所述一个或多个修剪块中的每一个的排名列表,其中,使用所述一个或多个修剪块中的特定块在所述排名列表中的排名号码而在所述补丁库中检索要用于替换所述一个或多个修剪块中所述特定块的多个高分辨率补丁中的对应的一个。
25.如权利要求24的装置,其中,只将相对于所述多个重叠块中的所述对应的重叠块的同一位置的补丁之前的补丁用于所述比较。
26.如权利要求24的装置,其中,将具有多个节点和多个边缘的补丁依赖关系图用于恢复所述画面的修剪版本,所述多个节点中的每一个代表所述多个不重叠的块中相应的一个,并且所述多个边缘的每一个代表所述多个不重叠的块中至少相应的一个块的相应的依赖关系。
27.如权利要求19的装置,其中,所述元数据包括:补丁索引,用于识别所述多个不重叠的块中的每一个的最佳匹配补丁 ;以及块识别符,用于从所述多个不重叠的块中识别一个或多个修剪块。
全文摘要
提供了使用基于样本的数据修剪来对视频信号进行解码从而获得提高的视频压缩效率的方法和装置。恢复视频序列中画面的修剪版本的装置包括用于将所述画面的修剪版本划分成多个不重叠的块的划分器(1I5);用于对在恢复画面的修剪版本时使用的元数据进行解码的元数据解码器(125);以及用于从所述画面的重构版本中创建补丁库的补丁库创建器(130)。所述补丁库包括多个用于在对所述画面的修剪版本进行恢复过程中替换所述一个或多个修剪块的高分辨率替换补丁。该装置还包括用于使用所述元数据执行搜索处理以从所述多个不重叠的块中为所述一个或多个修剪块的相应的一个找到对应的补丁并且用所述对应的补丁替换所述一个或多个修剪块的相应的一个的搜索和替换设备(120)。
文档编号H04N7/26GK103202017SQ201180054405
公开日2013年7月10日 申请日期2011年9月9日 优先权日2010年9月10日
发明者张冬青, S.布哈加瓦希 申请人:汤姆逊许可公司