首页 / 专利库 / 多媒体工具与应用 / 媒体流 / 视频流 / 用于视频的数据压缩

用于视频的数据压缩

阅读:480发布:2024-01-15

专利汇可以提供用于视频的数据压缩专利检索,专利查询,专利分析的服务。并且一种压缩视频数据的方法,该方法包括:提供用于多个图像部分的每一个的图像数据;基于相应图像数据确定用于所述图像部分的每一个的索引值;对于要被编码的目标图像部分,识别具有在目标图像部分索引值的搜索 阈值 内的索引值的匹配图像部分;以及生成用于目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频 信号 中。,下面是用于视频的数据压缩专利的具体信息内容。

1. 一种压缩视频数据的方法,该方法包括:
提供用于多个图像部分的每一个的图像数据;
基于相应图像数据确定用于每一个所述图像部分的索引值;
对于要被编码的目标图像部分,识别具有在目标图像部分的索引值的搜索阈值内的索引值的匹配图像部分;以及
生成目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频信号中。
2. 权利要求1的方法,其中匹配图像部分的识别包括从多个均具有在目标图像部分的索引值的搜索阈值内的索引值的候选图像部分之中识别匹配图像部分。
3. 权利要求1或2的方法,其中匹配图像部分的识别包括:
基于索引值将所述图像部分的列表排序,以便生成排序的列表;以及
选择与目标的接近程度在排序的列表中的搜索阈值内的匹配图像部分。
4. 权利要求2和3的方法,其中匹配图像部分的识别包括确定候选图像部分的组,其中每一个候选图像部分与该目标的接近程度在排序列表中的搜索阈值内,以及从这些候选中选择最佳的匹配图像部分。
5. 根据任一前述权利要求的方法,其中
图像数据的提供包括将所述图像部分的每一个从空间和/或时间域表示变换为变换域表示,从而生成用于每个图像部分的变换域系数的相应组;以及
所述索引值的确定包括基于相应变换域系数确定用于图像部分之中的每一个的索引值。
6. 任一前述权利要求的方法,其中所述图像数据表示色度亮度
7. 根据任一前述权利要求的方法,所述多个图像部分包括来自视频流内的图像部分,并且用于目标图像部分的差异数据基于来自同一帧内的匹配图像部分根据帧内预测来生成。
8. 根据任一前述权利要求的方法,所述多个图像部分包括来自视频流的多个帧的图像部分,并且用于目标图像部分的差异数据可以基于来自不同帧的匹配图像部分根据帧间预测来生成。
9. 根据任一前述权利要求的方法,包括:
对于要被编码的所述多个目标图像部分的每一个,识别具有在目标图像部分的索引值的搜索阈值内的索引值的相应匹配图像部分;以及
生成目标图像部分之中的每一个相对于相应匹配图像部分的差异数据,并且将用于每个目标的差异数据包括在编码的视频信号中。
10. 权利要求9的方法,其中所述多个图像部分包括来自视频流的多个帧的图像部分,其中用于目标图像部分之中的至少一个的差异数据基于来自同一帧内的匹配图像部分根据帧内预测来生成,并且其中用于目标图像部分之中的至少另一个的差异数据基于来自不同帧的匹配图像部分根据帧间预测来生成。
11. 权利要求3和10的方法,其中帧内和帧间编码使用来自相同的排序列表的匹配来执行。
12. 根据任一前述权利要求的方法,其中所述索引值表示每个图像部分的能量
13. 根据任一前述权利要求的方法,其中所述索引值基于具有零值的相应图像部分的系数的数量或具有非零值的相应图像部分的系数的数量。
14. 根据任一前述权利要求的方法,其中所述索引值是相应图像部分系数的聚集组合。
15. 根据任一前述权利要求的方法,其中所述索引值是相应图像部分的系数的模的平均值或总和。
16. 一种将视频数据从传输终端传输到接收者终端的方法,该方法包括:
生成表示移动图像的视频数据的流;
根据任一前述权利要求的方法压缩视频数据;以及
作为编码的视频流的一部分,传输差异数据。
17. 一种用于压缩视频数据的编码器,该编码器包括:
第一信号处理级,其被配置成提供用于多个图像部分的每一个的图像数据;
第二信号处理级,其被配置成基于相应图像数据确定用于所述图像部分之中的每一个的索引值,以及对于要被编码的目标图像部分,识别具有在目标图像部分的索引值的搜索阈值内的索引值的匹配图像部分;以及
第三信号处理级,其被配置成生成目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频信号中。
18. 根据权利要求17的编码器,包括被配置成执行权利要求2-16中任一项的操作的信号处理级。
19. 一种用于压缩视频数据的编码器,包括:被设置成接收表示移动图像的视频数据的流的处理器,以及存储被设置用于在该处理器上运行的计算机程序的存储介质,该程序被配置成使得当其被运行时执行根据权利要求1-16中任一项的方法。
20. 一种用于压缩视频数据的编码器程序产品,该编码器程序产品包括软件,其被包含在计算机可读介质上并被配置,以便在被运行时:
提供用于多个图像部分的每一个的图像数据;
基于相应图像数据确定用于所述图像部分之中的每一个的索引值;
对于要被编码的目标图像部分,识别具有在目标图像部分的索引值的搜索阈值内的索引值的匹配图像部分;以及
生成目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频信号中。
21. 权利要求20的编码器程序产品,其中所述软件进一步被配置成执行根据权利要求2-16中任一项的操作。

说明书全文

用于视频的数据压缩

技术领域

[0001] 本发明涉及视频流的编码和传输。

背景技术

[0002] 在视频流的传输中,正不断地努来减少需要被传输的数据的量,同时仍然允许移动的图像在传输的接收端处适当地被重新创建。视频编码器接收包括要被编码的“原始”视频序列的输入视频流,每个视频帧表示在各自时刻的图像。该编码器随后将每个输入帧编码成两种类型编码的帧之一:内帧(intra frame)(也被称为关键帧)或间帧(inter frame)。编码的目的是压缩视频数据,以便当视频数据通过传输介质传输或存储在存储介质上时产生更少的比特。
[0003] 使用仅来自正被编码的当前视频帧的数据来压缩内帧,典型地使用帧内预测编码,从而该帧内的一个图像部分相对于同一帧内的另一个图像部分被编码并被信令发送(signal)。这类似于静态图像编码。另一方面,使用先前帧(参考帧)的知识来压缩间帧,并且该间帧允许仅传输参考帧与在时间上跟随它的当前帧之间的差别。这允许更加高效的压缩,特别是当场景具有相对较少的变化时。帧间预测典型地使用运动估计依据(in terms of)描述帧之间的图像部分的移动的运动向量来编码并发信号传输该视频,并且随后使用运动补偿来基于用信号传输的向量在接收器处预测该运动。用于视频通信的各种国际标准,比如MPEG 1、2 & 4和H.261、H.263 & H.264,采用基于在规则的基础上的源帧的划分的运动估计和补偿。根据分辨率帧速率、比特率和场景,内帧可以达到间帧的20到100倍大。另一方面,间帧将依赖关系施加到先前的间帧,一直到最近的内帧。如果任意一个帧遗漏,则解码当前间帧可能导致错误和伪影。
[0004] 这些技术例如被用在H.264/AVC标准中(参见T.Wigand,G.J.Sullivan,G.Bjontegaard,A.Luthra:“Overview of the H.264/AVC video coding standard,” in IEEE Transactions on Circuits and Systems for Video Technology,Volume:13,Issue:7,page(s):560-576,July 2003)。
[0005] 图7图示用于例如根据H.264/AVC的基本编码结构将视频流编码成间帧和交错的内帧的流的已知的视频编码器。编码器接收包括要被编码的帧序列的输入视频流(每个帧被分成组成宏块并被细分成块),并且输出随后可以被传输到解码器的量化的变换系数和运动数据。该编码器包括用于接收视频图像的输入宏块的输入端70、减法级(stage)72、正变换级74、正量化级76、逆量化级78、逆变换级80、帧内预测编码级82、运动估计&补偿级84、和熵编码器86。
[0006] 减法级72被设置成接收包括一系列输入宏块的输入信号,每个输入宏块对应于帧的一部分。减法级72从每一个宏块减去该宏块的预测,以便生成残差(residual)信号(有时也被称为预测误差)。在帧内预测的情况下, 基于相同帧的一个或多个相邻区域从帧内预测级82提供块的预测(在经由逆量化级78和逆变换级80反馈之后)。在帧间预测的情况下,基于先前帧的所选区域从运动估计&补偿级84提供块的预测(再次在经由逆量化级78和逆变换级80反馈之后)。对于运动估计,借助描述先前帧中的所选区域的位置与在当前帧中正被编码的宏块之间的偏移的运动向量来识别所选区域。
[0007] 随后,正变换级74例如借助离散余弦变换(DCT)将块的残差从空间域表示变换为变换域表示。也就是说,它将每个残差块从在不同的笛卡尔x和y坐标处的一组像素值变换为表示具有不同波数kx和k(y 具有1/波长的大小)的不同的空间频率项的一组系数。随后,正量化级76量化变换系数,并且输出要经由熵编码器86被编码成视频流的残差信号的量化且变换的系数,从而形成用于传输到一个或多个接收者终端的编码的视频信号的一部分。
[0008] 而且,正量化级76的输出也经由逆量化级78和逆变换级80反馈。逆变换级80将残差系数从频域变换回空间域值,其中它们被提供给帧内预测级82(用于内帧)或运动估计&补偿级84(用于间帧)。这些级使用逆变换的和逆量化的残差信号连同输入视频流的知识,以便产生帧内和帧间的局部预测(包括如在解码器处看到的已被正和逆变换和量化的扭曲效应)。该局部预测被反馈到减法级72,其产生表示输入信号与局部帧内预测级82或运动估计&补偿级84的输出之间的差的残差信号。在变换之后,正量化级76量化该残差信号,从而生成量化的、变换的残差系数以用于输出到熵编码器86。运动估计级84还经由熵编码器86输出运动向量以包括在编码的比特流中。
[0009] 当执行帧内编码时,思想是仅编码并传输关于帧内的图像数据部分如何不同于同一帧内的另一个部分的度量。该部分随后可以在解码器处预测(给定一些用于开始的绝对数据),并且因此,仅需要传输预测数据与实际数据之间的差而非实际数据自身。该差信号典型地在量级方面更小,所以采用更少的比特来编码。
[0010] 在帧间编码的情况下,代替帧内预测级82,运动补偿级84被切换到反馈路径中,并且反馈回路因此被创建在一个帧与另一个帧的块之间,以便相对于先前帧的块来编码该间帧。与内帧相比,这典型地采用甚至更少比特来编码。
[0011] 图8图示了相应的解码器,其包括用于接收进入接收者终端的编码的视频流的熵解码器90、逆量化级92、逆变换级94、帧内预测级96和运动补偿级98。帧内预测级和运动补偿级的输出在求和级100处被求和。
[0012] 存在许多已知的运动估计技术。一般地,它们依靠对块与来自先前帧(参考帧)的一个或多个其他图像部分的比较。从与块相同大小和形状的、但在平和竖直方向上偏移任意数量的像素或者甚至分数数量的像素的区域预测每个块。所使用的区域的身份被以运动向量的形式作为开销(“辅助信息”)而被用信号传输。良好的运动估计技术必须平衡低复杂度与高质量视频图像的需求。还期望它不需要太多开销信息。
[0013] 在上文所述的标准系统中,应当注意,帧内预测编码和帧间预测编码(运动估计)在未量化的空间域中被执行。
[0014] 最近,在变换域中操作的运动估计技术已经引起注意。然而,现有技术都不能够在以低复杂度执行(从而减少计算开销)的同时还输送(deliver)高质量。因此,当前实践中,对于运动估计不使用频域技术。
[0015] VC-1视频编码解码器具有在频域中操作的帧内预测模式,其中DCT(离散傅立叶变换)域中AC系数的第一列和/或第一行是从直接地位于处理的块左边或上面的DCT块的第一列(或第一行)预测的。也就是说,位于一个块边缘的系数是从邻近块中的直接空间邻居预测的。为了参考,参见“The VC-1 and H.264 Video Compression Standards for Broadband Video Services”,AvHari Kalva,Jae-Beom Lee,pp.251。

发明内容

[0016] 根据本发明的一个方面,提供一种压缩视频数据的方法,该方法包括:提供用于多个图像部分的每一个的图像数据;基于相应图像数据确定用于所述图像部分的每一个的索引值;对于要被编码的目标图像部分,识别其索引值在目标图像部分的索引值的搜索阈值内的匹配图像部分;以及生成目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频信号中。
[0017] 匹配图像部分的识别可以包括从多个候选图像部分之中识别其索引值在目标图像部分的索引值的搜索阈值内的匹配图像部分。
[0018] 匹配图像部分的识别可以包括:基于索引值将所述图像部分的列表排序(sorting),以便生成排序的列表;以及在排序的列表内选择与目标的接近度(proximity)在搜索阈值内的匹配图像部分。
[0019] 匹配图像部分的识别可以包括确定候选图像部分的组,每一个候选图像部分与目标的接近度在排序列表内的搜索阈值内;以及从这些候选中选择最佳的匹配图像部分。
[0020] 图像数据的提供可以包括将所述图像部分的每一个从空间和/时间域表示变换为变换域表示,从而生成用于每个图像部分的变换域系数的相应组;以及所述索引值的确定可以包括基于相应频域系数确定用于所述图像部分的每一个的索引值。
[0021] 该图像数据可以表示色度亮度
[0022] 所述多个图像部分可以包括来自视频流的帧内的图像部分,并且用于目标图像部分的差异数据可以基于来自同一帧内的匹配图像部分根据帧内预测来生成。
[0023] 所述多个图像部分可以包括来自视频流的多个帧的图像部分,并且,用于目标图像部分的差异数据可以基于来自不同帧的匹配图像部分根据帧间预测来生成。
[0024] 该方法可以包括:对于要被编码的多个目标图像部分的每一个,识别其索引值在目标图像部分的索引值的搜索阈值内的相应匹配图像部分;以及基于该匹配图像部分生成用于目标图像部分的每一个的差异数据,并且将用于每个目标的差异数据包括在编码的视频信号中。
[0025] 所述多个图像部分可以包括来自视频流的多个帧的图像部分,其中用于目标图像部分的至少一个的差异数据可以基于来自同一帧内的匹配图像部分根据帧内预测来生成,并且其中用于目标图像部分之中的至少另一个的差异数据可以基于来自不同帧的匹配图像部分根据帧间预测来生成。
[0026] 帧内和帧间编码可以使用来自相同的排序列表的匹配来执行。
[0027] 索引值可以表示每个图像部分的能量。该索引值可以基于具有零值的相应图像部分的系数的数量或具有非零值的相应图像部分的系数的数量。该索引值可以是相应图像部分系数的聚集组合(aggregate)。该索引值可以是相应图像部分的系数的模的平均值或总数。
[0028] 根据本发明的另一个方面,提供一种将视频数据从传输终端传输到接收者终端的方法,该方法包括:生成表示移动图像的视频数据的流;根据任何先前权利要求的方法压缩该视频数据;以及传输作为编码的视频流的部分的差异数据。
[0029] 根据本发明的另一个方面,提供一种用于压缩视频数据的编码器,该编码器包括:第一信号处理级,其被配置成提供用于多个图像部分之中的每一个的图像数据;第二信号处理级,其被配置成基于相应图像数据确定用于所述图像部分之中的每一个的索引值,以及对于要被编码的目标图像部分,识别具有在目标图像部分的索引值的搜索阈值内的索引值的匹配图像部分;以及第三信号处理级,其被配置成生成用于目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频信号中。
[0030] 在实施例中,该编码器可以包括被配置成执行上述方法特征的操作的信号处理级。
[0031] 根据本发明的另一个方面,提供一种用于压缩视频数据的编码器,包括:被设置成接收表示移动图像的视频数据的流的处理器,以及存储被设置用于在该处理器上运行的计算机程序的存储介质,该程序被配置成使得当其被运行时执行根据上述方法中任意一种的方法。
[0032] 根据本发明的另一个方面,提供一种用于压缩视频数据的编码器程序产品,该编码器程序产品包括软件,其包含在计算机可读介质上并被配置成使得当其被执行时:提供用于多个图像部分之中的每一个的图像数据;基于相应图像数据确定用于所述图像部分之中的每一个的索引值;对于要被编码的目标图像部分,识别具有在目标图像部分的索引值的搜索阈值内的索引值的匹配图像部分;以及生成目标图像部分相对于匹配图像部分的差异数据,并且将该差异数据包括在编码的视频信号中。
[0033] 在实施例中,该软件可以进一步被配置成根据上述方法特征的任何一个执行操作。
[0034] 本发明还可以提供一种包含在诸如网络设备的传输介质或存储介质之类的物理介质上的相应的比特流。本发明可以进一步提供相应的解码器和解码器程序产品。
[0035] 根据本发明的另一个方面,可以提供一种压缩视频数据的方法,包括:为图像部分提供定义该图像部分的图像数据的系数;将这些系数设置成组并基于组中的系数确定每个组的索引值;基于索引值对相应组排序以生成排序的列表;基于列表中的接近度选择至少两个匹配组;以及基于匹配组中的一个与另一个的系数的比较生成所述匹配组之一的残差。
[0036] 根据本发明的另一个方面,可以提供一种将视频数据从传输终端传输到接收者终端的方法,该方法包括:生成表示移动图像的视频数据的流;根据如上文所描述的方法压缩视频数据;以及,作为编码的视频流的部分,对于未被预测的组传输来自视频流的系数和对于被预测所述至少一个组传输残差。
[0037] 根据本发明的另一个方面,可以提供一种压缩的视频数据的编码的比特流,包括:表示视频图像中的第一对象的一组量化的系数;用于视频图像中匹配对象的一组残差;限定匹配对象将从第一对象预测的数据;以及位置数据,其限定第一对象的位置(location),所述数据描述了第一对象在视频图像的图像帧内的绝对位置。
[0038] 根据本发明的另一个方面,可以提供一种用于解码这种比特流的解码器,该解码器包括用于解码视频数据的解码器,该解码器具有用于接收编码的比特流的输入端;用于基于残差和第一对象的系数预测用于匹配对象的一组系数的装置,该解码器包括用于基于编码的比特率中的位置数据识别第一对象的位置的装置。
[0039] 根据本发明的另一个方面,可以提供一种用于压缩视频数据的编码器,该编码器包括:用于为图像部分提供限定图像部分的图像数据的系数的装置;用于将这些系数设置成组并基于组中的系数确定每个组的索引值的装置;用于基于索引值对相应组排序以生成排序的列表的装置;用于基于列表中的接近度选择至少两个匹配组的装置;以及用于基于匹配组中的一个与另一个的系数的比较生成所述匹配组之一的残差的装置。
[0040] 根据进一步的方面,选择匹配组的步骤可以包括基于列表中的接近度确定一组候选,并且从这些候选中选择最佳匹配。
[0041] 根据本发明的进一步的方面,可以提供一种用于压缩视频数据的编码器,包括被设置成接收表示移动图像的视频数据的流的处理器并且包括计算机程序,该计算机程序在该处理器上被运行时实现如上文所描述的方法。附图说明
[0042] 为了更好地理解本发明并且示出本发明可以如何实施,现在将通过示例参考附图,在附图中:图1是视频流的两个帧的示意性图示,
图1a示出空间域中表示的块的像素值,
图1b示出在频域中表示的块的系数,
图2是示出编码方法的流程图
图3是示出排序的块列表的曲线图,
图3a图示了块排序的示例,
图3b图示了块匹配预测的示例,
图4是编码器的示意性框图
图5A是帧内预测的示意性示例,
图5B是帧间预测的示意性示例,
图6是解码器的示意图,
图7是编码器的示意性框图,
图8是解码器的示意性框图,
图9是对用于块匹配的候选的选择的示意性图示;
图10是编码方法的流程图;以及
图11是解码方法的流程图。

具体实施方式

[0043] 在下文中,描述一种用于在视频传输系统中数据压缩的方法和系统。
[0044] 图1示意性图示了在两个相应时刻t和t+1处视频图像的两个连续帧ft和ft+1。为了帧间预测的目的,第一帧ft可以被认为是参考帧,即在编码器处刚好从移动序列被编码的帧,或者在解码器处刚好被解码的帧。第二帧ft+1可以被认为是目标帧,即为了编码或解码的目的其运动被设法估计的当前帧。为了说明的目的,示出了具有两个移动对象的示例。
[0045] 运动估计本身在本领域中是已知的,并且因此在本文中仅在为本发明提供合适背景所必需的程度上被描述。根据用于视频通信的国际标准,比如MPEG 1、2 & 4和H.261、H.263 & H.264,运动估计基于对源帧的基于块的划分。例如,每个块可以包括4×4像素的阵列,或者在各种其他标准中的4×8、8×4、8×8、16×8、8×16或16×16像素的阵列。在图1中,用Bi表示示例性块。每块的像素数可以根据所需的精度和解码速率来选择。每个像素可以通过多种不同的方式来表示,这取决于根据标准采用的协议。在本文的示例中,每个像素由色度(U和V)和亮度(Y)值来表示(但是其他可能的颜色空间表示在本领域中也是已知的)。在这个特定示例中,色度值由块中的四个像素共享。宏块MBi典型地包括四个块,例如对于4×4块而言的8×8像素的阵列,或者对于8×8块而言的16×16像素的阵列。每个像素具有相关联的比特率,该比特率是传输关于该像素的信息所需要的数据的量。
[0046] 图2是根据本发明的优选实施例的数据压缩方法的示意性流程图。该方法优选地使用基于客观量度(objective metrics)的块匹配。即,将要被编码的当前目标块的一个或多个量度与多个其他块的对应量度进行比较,并且基于那些量度的相似性的度量来选择参考块。随后,该参考块形成用于借助预测编码来编码当前块的基础,该预测编码为在参考块来自相同帧ft+1的情况下的帧内编码或者其中在参考块来自先前帧f(t 或甚至ft-1或ft-2等)的帧间编码。块匹配背后的思想是当当前块被相对于参考块而编码时选择将导致小残差信号的参考块(即,使得实际的当前块与预测之间的差在根据所选的参考块预测时将是小的),从而仅需要较小数量的比特来编码。
[0047] 该技术的特别优选的方面是,在频域中实施块匹配,即基于块的变换的表示的一个或多个量度的比较来实施。
[0048] 因此,在步骤S1处,在多个帧之中的每一个的图像的每一个部分上执行频域变换,例如在每个块上执行频域变换。每个块最初被表达为空间域表示,从而该块的色度和亮度被表示为空间x和y坐标的函数,U(x,y)、V(x,y)和Y(x,y)(或其他合适的颜色空间表示)。即,每个块由在不同的空间x和y坐标处的一组像素值表示。随后将数学变换应用于每个块以变换成变换域表示,从而该块的色度和亮度(或诸如此类)被表示为诸如具有1/波长的大小的波数kx和ky之类的变量的函数,即U(kx,ky)、V(kx,ky)和Y(kx,ky)。即,该块被变换为表示不同空间频率项的幅度的一组系数,其可以被认为构成了该块。这样的变换的可能性包括离散余弦变换(DCT)、卡-洛变换(KLT)或其他变换。例如,对于在块内离散的x和y坐标处N×M像素的块,DCT将会将亮度Y(x,y)变换成一组频域系数Y(kx,ky):相反地,x和y表示Y(x,y)可以根据在kx和ky上求和的频域项的和来确定。因此,每个块可以被表示为具有相应幅度系数Y(kx,ky)的一个或多个不同的空间频率项的和(对于U和V也是类似的)。变换域可以被称为频域(在该情况下是指空间频率)。
[0049] 在本发明的一些实施例中,可以在三维中应用所述变换。短的帧序列有效地形成三维立方体或长方体U(x,y,t)、V(x,y,t)和Y(x,y,t)。在三维变换的情况下,这些将变换成U(kx,ky,f)、V(kx,ky,f)和Y(kx,ky,f)。术语“频域”在本文中可以用于指依据从空间域变换的空间频率(1/波长的域)和/或从时间域变换的时间频率(1/时间周期的域)的任何变换域表示。
[0050] 一旦块被变换到频域,通过比较当前块的变换的频域系数与多个其他块的变换的频域系数来执行块匹配。随后,用于当前块的预测编码的参考块(帧内或帧间)随后可以基于根据频域系数确定的块相似性的度量来选择。
[0051] 在频域中块匹配的优点在于,该变换倾向于将块的能量压(compact)成仅一些非零(或不可忽略的)系数,并且因此现在可以仅基于仅一些频率系数而非块中的所有系数进行比较。即,由于频率变换将能量浓缩成仅一些重要系数,随后可以通过仅考虑这些少量的重要系数来执行高效的块匹配(或甚至其他处理)。这个技术因此提供了针对在视频传输中数据压缩问题的独特方法。尽管在比较模式(pattern)时不是每一个像素都需要被直接比较,但是可以实现完整搜索。
[0052] 例如,考虑如图1a和1b中所示的说明性情况。这里,块在频域中的表示是通过以下变换实现的,该变换将空间域像素值转换成空间频率。图1a示出空间域中四个8×8块的一些示例像素值,例如其可以包括在块内不同的像素位置x和y处各个像素的亮度值Y(x,y)。图1b是在变换和量化之后在频域中的等价物。例如,在图1b中,这样的系数可以表示可以以和的形式出现的不同的可能频域项的幅度Y(kx,ky)。空间域和频域中块的大小是相同的,即在该情况下为8×8值或系数。然而,由于这些变换的属性的缘故,于是块的能量被压成频域中的仅少量系数,使得整个块可以通过处理仅这些少量系数来考虑。
[0053] 如从该示例可以看出,仅需要处理四个值以在频域中找到用于这四个块的匹配,而在空间域中,存在需要被处理的256个值。因此,不同于现有技术,本发明可以允许执行完整真实的搜索,而无需“触动”块中的每个像素,即无需处理每个单独的像素。
[0054] 应当领会,尽管本文中提及了块和宏块,但是这些技术可以类似地用在图像中可描述的其他部分上。块和/或部分中频域分离可能取决于变换的选择。例如,在块变换的情况下,如离散余弦变换(DCT)和卡-洛变换(KLT)及其他变换,目标块或部分变成固定或可变大小的阵列。每个阵列包括一组变换的量化的系数。例如,在图5A的更详细的示例中,16×16像素的每个宏块MB可以在频域中用16个亮度块和8个色度块表示;每个块b0…b23具有量化系数的4×4阵列。
[0055] 根据本发明的另一个优选方面,块匹配可以基于反映块的相对重要性的索引值而在排序的列表内执行。在此情况下,匹配块的选择可以基于用于重要性索引的值的聚集来执行。现在将参考图2的步骤S2到S6和图5A的示例块来描述优选示例。
[0056] 在步骤S2处,频域中的每个块b0…b23被分配索引值,该索引值是从其频域系数中的一个或多个得出的。例如,索引值可以表示块的能量。例如,这可以包括在块的系数上的聚集(例如多个零系数、非零系数的数量或每个块中系数的模的平均或总值)。
[0057] 在步骤S3处,来自至少一个帧的块随后基于索引值而被排序。这可能涉及生成排序的列表,其中条目表示根据它们的索引值(例如它们的块能量)整理的块。
[0058] 在步骤S4处,通过基于索引值确定搜索范围或阈值Δ来从排序的阵列识别候选块的子组。候选块将是潜在的匹配,作为用在对要被编码的当前块的预测编码中的参考块。在图3中图示了这一点。例如,这可以通过从要被编码的当前块确定能量范围+/-Δ并且确定当前块的该范围内的所有块是用于作为参考块的潜在选择的候选(即,为了预测编码的目的用于“匹配”当前块的候选)来实现。
[0059] 在步骤S5处,随后针对相似性评估候选块。例如,优选地基于比特率确定块相似性,其中比特率是需要传输的比特数的度量以便限定在从每个候选块预测的情况下用于当前块的残差。这方面的示例不久将更详细地讨论。
[0060] 在步骤S6处,最佳匹配候选基于其相似性来确定,并且当前目标块相对于该匹配候选而被编码。该编码包括从当前块的频域系数减去参考块的频域系数以便生成残差信号,以及随后将当前块的残差连同相应所选参考块的身份编码到编码比特流中(而不是编码目标块的实际的绝对系数)。该参考块因此被用作当前块的预测。该残差是当前块的频域系数与参考块的频域系数之间的差,这需要编码更少的比特并且因此该编码导致压缩的视频信号。与对其他这样的候选而言所需的比特率相比,用作参考块的最佳候选优选地通过基于候选加上识别候选块的开销信息计算传输用于当前块的残差所需的比特率来选择。应当容易领会,匹配并不暗示相同的块,而是足够相似的块,使得残差可以以较低比特率传输。
[0061] 图3是图示排序的阵列的布置的曲线图。在水平轴上示出排序的块的列表,而在竖直轴上示出块能量索引值。该块能量索引值是从块的系数得出的客观量度的示例。
[0062] 如上所述,选择具有在某搜索范围或阈值Δ内的索引的最佳匹配参考块。因此,根据一个优选方面,本发明提供一种在多个块中基于它们索引的相似性搜索匹配的方法。通过利用它们的能量索引或类似物搜索匹配,这有利地将匹配的可能性扩展到该帧或另一个帧内的任何地方。因此,该匹配不需要被限制于目标块的邻近区域。例如,具有相似能量的块即使在位于一个帧的相对侧上的情况下也可以实现良好的匹配,例如在该帧中不同位置处出现的相似背景区域的块。
[0063] 根据本发明的另一个优选方面,通过首先基于第一量度(例如索引值)选择候选块的子组,接着基于第二量度(例如比特率成本)从该子组内选择匹配候选块,来执行块匹配。随后该匹配块在对要被编码的当前块的预测编码中被用作参考块。基于第一量度、特别是基于诸如块能量之类的聚集量度将可能的匹配缩减到候选的初步(preliminary)子组的一个优点在于,在不引起显著处理负担的情况下,较早地消除不太可能的候选。即,该排序可以用于丢弃不太可能的候选。因此,基于第二量度的更处理器-密集的比较,比如比特率比较,仅需要针对相对较少数量的预审查(pre-vetted)的候选来执行,从而减少了由块匹配算法引起的处理负担。例如,具有非常不同的块能量的块不太可能是良好的匹配并因此它不太可能值得比较它们的潜在比特率贡献的处理成本。为了最小化处理,在步骤S6中对匹配块的选择优选地在列表内的小邻域内执行(搜索范围+/-Δ)。
[0064] 不过,注意到,该排序仅给出了匹配的某种可能性并且也可以依据性能考虑来选择。选择较小的Δ导致更低的处理成本,但导致更少的候选,从而存在找不到最佳的可能匹配的险。另一方面,选择较大的Δ引起更高的处理成本,但是将包括更多的候选,并且因此具有找到最佳匹配的更好机会。在实施例中,Δ甚至可以基于一个或多个性能因素而被动态地调适,这些因素比如可用的上行或下行链路带宽或可用的处理资源。还注意到,Δ的相同的值不一定需要像在-Δ方向上使用那样而在+Δ方向上使用。
[0065] 应当领会,在步骤S3处,可以针对宏块(如图5A的示例中所示)、针对单个帧(用于帧内数据压缩)或针对当前目标帧和一个或多个参考帧(用于帧间运动估计)来生成排序的阵列。
[0066] 在一个特别有利的实施例中,相同的排序的列表用于(通过确定该相同列表内候选的相应子组)匹配多个目标块。而且,如果该列表包含来自当前帧和一个或多个先前帧的块,则该相同列表甚至可以用于在相同的排序列表内帧间和帧内匹配。例如,当处理特定的目标帧时,也许在该帧内找不到良好的匹配,在此情况下,该方法可以指望其他帧,因为复杂度低且匹配方法相同。根据本发明的优选实施例,与用于帧内的帧内匹配相比,不需要使用不同的方法用于找到帧之间的帧间匹配。
[0067] 通过用针对整个帧或甚至多个帧执行一次的单个排序取代针对每个块执行的详尽的、重复的搜索,匹配块的选择可以使用排序的列表在小邻域中执行。优选地,该排序针对多个帧被执行一次,使得帧间和帧内匹配可以通过相同的排序的列表在相同的级处被处理。例如,这可能涉及寻找当前帧的排序的列表内的匹配,并且如果没有找到满意的匹配,观察一个或多个其他帧的排序的列表以找到更好的匹配。
[0068] 因此,本发明的上述方面提供压缩视频数据的方法,其可以适用于帧内压缩和帧间运动估计。在过去,算法针对帧间相对于帧内数据压缩采用不同的方式。另一方面,本发明可以有利地提供用于帧内和帧间预测的统一技术。
[0069] 该方法的另一个益处是,由于其低复杂度的缘故,与现有算法相比,所使用的参考帧的数量可能明显更高。
[0070] 而且,注意到,常规运动估计预测来自在水平或竖直方向上偏移任意数量的像素或甚至分数个像素的区域的每个块,而本发明所使用的方式的不同在于限制预测而仅执行块到块匹配。即,在逐块的基础上的匹配,其中块被匹配到另一个整块(而非需要制定任意数量像素或分数个像素的运动向量的任意偏移区域)。在特征的特别有利的组合中,逐块的匹配可以在频域中执行,其中可以通过仅预测两个或更多块之间的频域系数的子组得出效率。
[0071] 一旦在步骤S6处选择了匹配块并且已经相对于该匹配块编码了当前目标块,频域系数的残差经由熵编码器而被输出以用于包括在编码的比特流中。此外,辅助信息包括在比特流中,以便识别参考块,每个编码的块将在解码器处根据该参考块而被预测。每个块可以通过其位置来识别,即通过其地址或在特定帧内的位置。每个帧可以通过帧号来识别。由于上述差别,注意到,识别所选的参考块的辅助信息可以以块地址的形式在比特流中被发信号传送,所述块地址以块的整体数量来识别该参考块的位置。这可以采取绝对块地址的形式,即相对于帧中固定点的位置。可替代地,它可以采取相对地址的形式。如果候选可以从多个不同的潜在帧中选择,则该辅助信息还可以识别所选的参考块的帧。
[0072] 这不同于常规的运动向量,其以相对于当前块的小向量的形式被信令发送,该向量是任意数量的像素或分数个像素。
[0073] 如上所述,VC-1视频编解码器具有帧内预测模式,其中DCT域中AC系数的第一列和/或第一行是从直接地位于处理的块左边或上面的DCT块的第一列(或第一行)预测的。然而,这不同于本发明的方面中使用的方式,其不同之处在于它被限于仅使用用于帧内预测的预定的空间邻近的系数。VC-1不允许针对所选的参考块的帧内匹配,例如基于块能量和/或比特率贡献选择的参考块(并且因此VC-1还涉及向解码器信令发送所选的参考块的身份)。
[0074] 图4是示出根据本发明的一个实施例的编码技术的架构的示意性框图。原始输入视频流由正变换级2接收。该级的输出被提供给正量化级4。正变换级2将空间或空间-时间变换应用到频域中作为第一编码步骤。正量化级2应用量化并且为每个块生成频域中的一组量化系数。在输入视频流的时间域中来自每个内帧的正量化级2的变换系数被提供给帧内预测级6。
[0075] 该帧内预测级6操作来使用上述方法定位在每个帧内用于预测的候选块。从正量化级4向帧间预测级8提供间帧的变换系数,如上所述,这分离了用于目标帧的预测的候选块。帧内预测级和帧间预测级8的输出被提供给熵编码器10,其编码数据以提供用于传输的编码流。该编码流包含信息序列,对于每个块而言,该信息序列包括一组系数(实际的或残差的)、限定该块是否要被预测的数据,以及如果是则包括要根据其预测该块的参考块的指示。参考块的身份可以在编码的比特流中被表示为帧内的绝对块位置(即通过参考固定点),而非相对于当前块的位置。可替代地,该位置可以在编码的比特流中被表示为当前块与根据其预测该块的块之间的位置差异。不管怎样,块位置依据整体块的间隔数量来表达,即表达为块地址,并且因此获得了益处,因为与以像素或甚至分数像素表达偏移的常规运动向量相比,这需要少得多的编码开销。
[0076] 注意到,该布置不涉及如在图7的标准编码器中的回到空间域的回路。因此,在变换的频域中基于频域系数执行块匹配。
[0077] 还注意到,在优选实施例中,对参考块的选择在量化的域中执行,即非扭曲、无损的环境。因此,在执行选择之前,没有附加的扭曲被应用于候选块或当前块。
[0078] 图5A示意性图示了预测示例,图5A中图示的情况是:其中该技术用于在一个帧中的相同宏块的不同块之间的帧内预测。图5A在左侧图示了被变换成宏块(16×16像素)的频域的亮度和色度数据。频率变换的系数被组织成块b0、b1等,每个块包括4×4系数的阵列。块b0到b15表示宏块的亮度数据(y),并且块b16到b23表示宏块的色度数据(u,v)。
[0079] 存在用于处理色度和亮度通道的不同方案。普通的方式是4:2:0格式,这暗示色度通道在水平和竖直方向上都以因子2被下采样
[0080] 在所示的示例中,块b0包含16个系数:一个DC(在坐标0,0处的第一个)和15个AC系数(该块的其余)。该DC表示亮度(对于“Y”块)和色度(对于“U”和“V”块)的所谓“常数”值,并且这些AC形成可变部分,其意指对每个像素它们的贡献是不同的。DC和所有AC的组合被用于表示在基于所使用的变换来解码之后每个像素的值。该16×16亮度频域系数“Y”被充分利用来表示16×16空间域像素。在上述解释中,色度“U”被二次采样。该格式被称为YUV 4:2:0,意味着,Y像素的每个2×2正方形的四个亮度像素分别共享一个“U”和一个“V”像素。
[0081] 还存在被称为YUV 4:2:2或YUV 4:4:4的其他格式,其中在YUV 4:4:4中色度根本未被二次采样,或者色度在4:2:2中具有两倍的数据。本发明可以针对这些格式的任意一个工作。
[0082] 在所述示例中,宏块的块b0到b23基于块能量或活动性的度量(索引值)而被排序。图3a图示了块排序的示例。用于整理排序的块能量可以以多种不同方式测量。根据一种技术,该排序基于块中零值系数的数量。在另一种技术中,使用非零系数的模数的平均值来实施该排序。使用块能量的度量Δ,在如图3中所示的排序的列表内建立搜索范围以识别候选块(图2的步骤S4)。随后如上所述基于比特率评估来确定用于预测的最佳候选(图2的步骤S6)。
[0083] 在图5A中的右手图图示了这些预测的效应。块b12被标记P1以将其表示为第一预测块。取代传输块b12中的实际系数,表示块b12与b10之间的差异的系数(残差)连同在传输的数据块12中已被根据参考块10预测的信息一起被传输。参考块10的指示也被传输,例如由其帧号和帧中的位置来识别。这在图5A的右手侧上的列表中示意性示出,其中P1表示预测1,在亮度块中块12减去块b10。下一个要选择的候选是标记为P2的块20,其从块b21预测。该过程继续,并且在此情况下导致7个预测块。这导致要被传输的系数的数量减少了9(从132到123)。在特定示例中,当视频数据被编码以用于在箱(bin)中传输时,这具有如下效应:箱122和1008被移除,同时箱224和288的内容增加。在图5A中,箭头表示预测块与据以进行预测的块之间的关系。
[0084] 图5B示出用于两个帧的不同宏块的不同块之间的运动预测的预测示例。
[0085] 图6是用于解码已经经受上述技术的块预测的视频流的解码器的示意性框图。除了编码的系数之外,该视频流包括限定预测的块的数据、已经根据其预测它们的块的身份、以及预测它们的顺序。编码流被提供给熵解码器12,其针对输入数据确定要被解码的块是用于重构内帧还是重构间帧。用于重构内帧的块被传递到帧内重构级14,而用于重构间帧的块被传递到帧间重构级16。预测的块通过将残差添加到预测他所根据的块中的相应定位的系数来重构。重构级14和16的输出被提供给逆量化级18并且随后被提供给逆变换级20,其中量化系数被作为解码流而从频域变换到时间域。
[0086] 现在更详细地讨论用于基于比特率贡献匹配块的优选技术的细节。该技术借助量化的域中的块预测降低了视频压缩中的比特率。该方法的输入是例如一片(slice)变换的且量化的系数(例如,来自H.264的残差)的块或其一组这样的片。片意指一群宏块,所以每帧一片意指该帧中的所有宏块属于该片。对于当前片中的每个变换且量化的块,来自先前编码的片的块或当前片中的块(随后必须注意确保可解码流)是要被用于预测的潜在候选,以便减小比特率(与块自身的直接熵编码相比)。下文描述预测器的示例实施例和要被用于预测并需要边信息以识别该块的块的“最优”选择(需要用于解码器中重构的描述)。该辅助信息连同残差被熵编码器10熵编码到编码的比特流中。
[0087] 在优选实施例中,本发明使用两类量度执行块匹配:一类基于块的集合或模式(例如能量、结构等),而第二类基于比特率。这两个量度被用在两个单独级:用于排序的第一级和用于RD回路的第二级。在特别优选的实施例中,该RD回路速率目标不仅是找到就速率而言可以接近地预测彼此,而且是同时针对块群解决该问题。一个简单示例可以是下面的模式--(a)1,2,1,2,1,2,1,2和(b)46,47,46,47,46,47,46,47,其将导致(a)1,2,1,2,1,2,1,2和(b)45,45,45,45,45,45,45,45。即,多个块可以从候选块的同一排序列表进行匹配,潜在地包括基于相同的排序列表来执行的帧间和帧内预测二者。
[0088] 由于在熵编码器10中算术或霍夫曼(Huffman)编码器(coder)之前改进的冗余移除的缘故,这些优点是改进的熵编码。与VC-1[1,pp.251]相比,存在多个潜在优点:(i)块中的所有系数被用在预测中并且不仅仅是第一行和/或列;(ii)帧/片中的所有块作为用于预测的候选块而非仅仅左边或顶部的块;(iii)广义预测结构,例如加权的预测或来自多个块的预测;以及(iv)显式速率估计,用于找到用于预测的最佳块(考虑辅助信息的成本)。
[0089] 让X(m,n)表示在时间-实例n处的量化系数(例如量化DCT系数)的块,m∈M(总共M个块构成一个帧/片)。这些块通常被馈送到熵编码器10(在H.264中更特别地为上下文自适应可变长编码器或上下文自适应二进制算术编码器)。即,从具有X(m,n)这一点,执行无损压缩,即失真是固定的。该方法设法在借助预测器的算术编码器之前移除剩余的冗余(且从而减少速率)。在一个实施例中,该预测被形成为当前块与参考块之间的减法。用于预测当前块X(m,n)的最优索引(Oopt,Popt)基于速率计算/估计来选择,即:
其中R(X(m,n)-X(o,p))表示预测残差的比特率,且R(o,p)表示辅助信息的比特率(即,用于传输帧p的预测块索引o的比特率)。该速率估计可以例如从算术编码例程的部分提供,其中符号概率取log2的和可以用于估计该速率。从例如计算方面来看,它可能还有益于通过使用与该速率良好关联的另一个度量来近似在公式[1]中的标准。一般地,可以使用以某种方式相关于在编码的比特率中编码残差块和识别响应参考块的辅助信息所需的(即对于在候选被选择为参考块的情况下对每个候选而言所需的)多个比特的任何量度,而不论该量度是比特数或速率的直接度量还是与数量/速率相关联的量度。
[0090] 可以通过预先排序候选以使得潜在的良好候选位于有序阵列中特定位置附近来使得对最优预测器的搜索在计算上更高效。现在,让Y(k,n)表示根据某度量的帧n的块索引m∈M的M维有序阵列中的元素k。例如,块X(m,n)m∈M可以根据它们的上升的能量(或一些其他信号相关属性)来排序。
[0091] 为了找到预测器,我们例如以光栅扫描顺序(或者有利于速率或计算复杂度观点的一些其他顺序)从当前帧/片中的第一块开始,并且在当前帧的排序的阵列Y(n)和先前处理的帧的(重新)有序阵列Y(n-NumRef),…,Y(n-1)中找到它的位置。NumRef是参考帧的数量,即已被处理并可以用于帧间预测的先前量化的帧的数量。作为来自当前帧/片的预测候选,我们选择位于有序阵列中当前索引周围+/-W范围内的候选,即插入表达式(1)中的“帧内”预测候选是对应于排序的索引Y(q(n)-W,n),…,Y(q(n)-1,n)和Y(q(n)+1,n),…,Y(q(n)+W,n)的块;其中,q表示当前块在有序阵列中的位置。注意到,必须特别小心以避免循环预测,即避免在块n已被根据块m预测的情况下根据块n来预测块m,从而使得解码不可行。还应当提及,残差的直接编码(即,没有预测)也被作为速率估计的候选而包括在内。
[0092] 与选择帧内预测的候选相似,帧间预测候选被选择为Y(q(n-i)-W,n-i),…,Y(q(n-i)+W,n-i)i=1;NumRef。
[0093] 根据公式(1)评估所有帧内和帧间候选,并且选择最优索引对。针对帧/片中的所有块重复该过程。所得的预测残差(变量/索引差)连同所需的用于解码的辅助信息例如被算术地编码并被发送到解码器。
[0094] 参考图10,由解码器执行的该方法的一个实施例如下:步骤T1:根据某个度量对帧中的所有块排序。
[0095] 步骤T2:设置块索引为m=0。
[0096] 步骤T3:在有序列表中找到块索引m的等效位置q(当前的和先前的量化的帧,即找到q(n),…,q(n-NumRef))。
[0097] 步骤T4:帧内和帧间预测候选分别选择为:Y(q(n)-W,n),…,Y(q(n)-1,n);
Y(q(n)+1,n),…,Y(q(n)+W,n);以及
Y(q(n-i)-W,n-i),…,Y(q(n-i)+W,n-i)i=1;NumRef。
[0098] 搜索范围W的大小是在性能与计算复杂度之间的折中。
[0099] 步骤T5:根据表达式[1]找到最佳候选或其某个近似。
[0100] 步骤T6:向算术编码器发送最优预测残差连同辅助信息(例如帧内残差块的位置和被用于预测的块的(例如空间和时间)位置)。
[0101] 步骤T7:递增块索引m=m+1并且转到步骤T3,直到m=M,此时该方法移到下一个帧n=n+1。
[0102] 参考图11,由解码器执行该方法的一个实施例如下:步骤U1:解码所有预测残差和辅助信息(这给出了预测残差的帧连同对每一个块而言如何取消预测的描述)。
[0103] 步骤U2:重构不依赖未重构的块的所有块(即取消预测)。
[0104] 步骤U3:重复步骤U2,直到所有块被重构。
[0105] 上述示例实施例可以以若干方式被扩展。例如,它可能有益于使用加权预测或来自多个块的预测。附加的辅助信息将需要被传输,该辅助信息对于加权预测和使用多个块的预测而言将是预测权重和块位置/地址。
[0106] 图9中示出编码器中预测的图示。这给出了编码器中块预测的高水平图示。预测残差连同辅助信息被发送到熵编码器。在解码器中,执行逆过程,即首先重构残差帧,随后重构给定辅助信息的帧。
[0107] 现在,更详细地讨论在频域中信令发送用于预测的帧内和帧间预测信息的优选方法的细节。
[0108] 如所提及,根据本发明的一个方面,块仅被匹配到另一个整块,而非如在更多常规快匹配技术那样匹配偏移任意数量的像素的块大小区域。因此,本发明的信令发送算法发送块地址而非运动向量,即用全部数量的块而非像素偏移表示的。然而,注意到,尽管在本文中可以使用术语“块”,但是在其最一般的意义下,这并不旨在暗示特定大小、形状或级别细分。应当领会,在不同的方案中,各种不同的分割和细分可以通过诸如宏块、块和子块等之类的术语指代,但是如本文最一般地使用的术语“块”可以对应于这些中任意一种或者甚至对应于作为对应于多个像素的视频帧的分割的任何其他组成图像部分。无论使用什么分割方式,根据本发明,用于预测的参考部分的地址作为多像素部分的整体数量而非像素偏移而被信令发送。
[0109] 在实施例中,比特流还可以包含一个或多个预测方法标志,其指示要被解码器使用的预测方法(对应于被编码器使用的预测方法)。
[0110] 而且,比特流可以包含参考块的帧号,因为用于预测的参考块可以从多个不同的帧的任何一个中选择。
[0111] 在一个特别优选的实施例中,在比特流中被向解码器信令发送的辅助信息包括:帧号、加法或减法标志、绝对值标志、宏块地址、宏块内的块地址以及块内的子块地址。该辅助信息的信令结构在下表中示出。
[0112] 对于每个分辨率,预测索引可被编码如下。这示出信令结构大小和针对多个不同分辨率的编码。
[0113] 该改进的预测方案比当前预测方案更有效,当前预测方案使用更高比特率信令发送该改进方案可以传送的信息的仅仅一部分。流水线的帧间和帧内预测允许简化信令发送的方法。图3b示出实现比特节省的块匹配预测示例。下面的表示出有效的辅助信息和用于多个分辨率的编码。
[0114] 编码器单元2、4、6、8和10;以及解码器单元12、14、16、18和20中的每一个优选地在存储于如硬盘或闪存之类的存储介质上的软件模块中实现,所述软件模块被设置用于在处理器上运行。然而,在其他实施例中,这些单元中的一些或所有可以至少部分地在专用硬布线电路中实现。
[0115] 在一个可能的实施例中,本发明可以实现为比如ISO标准H.264的现有的编码器的附加组件。即,到图4中的量化器4的输入将是来自诸如H.264编码器之类的标准编码器的输出。
[0116] 本发明的上述实施例可以提供若干优点。匹配块是通过检查块之间的差异来定位,以确定最后传输的视频流的比特率将相对于用于发送这些块的系数的比特率而减少。而且,该预排序已经识别了发生该比较所在的候选块。这些块无须是图像帧中的物理邻居,反而它们是基于与块关联的索引值排序的,比如表示能量的索引值。这允许从帧的任意部分(或者甚至不同帧)选择最佳匹配块。当选择最佳候选时,比特率的比较可以考虑需要被传输以识别该块是预测块并识别根据其预测它的块的开销信息。根据其预测的块的身份可以以帧内的位置(被表达为整体块的间隔数目,即块地址)的形式而非以运动向量(被表达为根据像素数量或者甚至分数个像素的偏移)的形式而被提供给解码器。
[0117] 上述方法在借助块预测在压缩的数字视频流中量化之前和/或之后移除了时间域和频域中的冗余。该方法的输入是输入视频流的时间域中一组帧的一组变换的和/或量化的变换系数。该输入视频流帧可以被分离成块和块群。块的群不受参与该群的各个块的位置的限制。该预测在当前帧(帧内)的块之间执行并且不受块的位置的限制但是受到块相似性因素的限制。相同的技术可以用于帧间预测。帧间块匹配也不受位置的约束。块相似性是从比特率减少的观点来确定的。
[0118] 而且,如所解释的,在优选的实施例中,在频域中实施处理,其中所述变换已经压缩目标对象的能量以使得现在可以使用一些频域系数取代整个图像实施比较。在这些实施例中,该方法的两个组件,即频域中的处理以及排序和搜索,降低了复杂度,而同时保持了非常高的质量。该方法的另一个益处在于,由于所涉及的计算的低复杂度的缘故,所使用的用于帧间运动补偿的参考帧的数量显著高于现有算法。另一个主要益处在于,由于低复杂度的缘故,可以在若干级别的子块分割上进行匹配。即,图像部分可以是宏块、块或甚至比块更小数量的像素。这是因为所述方法实现了低复杂度并且因此引起更少的时钟循环,这意味着,如果期望的话所节省的复杂度中的一些随后可以消耗用于搜索诸如4×4或2×2子块的子块而非仅仅搜索块。可替代地,该搜索可以在例如更高级别的16×16、32×32和64×64的聚集块上执行,这将节省在编码流中信令发送它们所必需的辅助信息。
[0119] 特定的优点产生于频域中的处理。尽管存在频域处理模型,但是不存任何频域处理模型采用了如在下面的实施例中所述的方法中的冗余减少;特别地其提供一组独特的益处,包括复杂度减少、保留并改进视频质量以及同时降低编码的视频流的比特率。
[0120] 该方法不需要回路滤波器或回路到空间域进行运动估计,这是因为以下事实引起的:所有处理现在集中在频域中。这是相对于现有编码方法和复杂度的显著降低这一点的主要优点。
[0121] 另一个优点在于,对所有颜色分量的处理可以同时进行。即,在亮度通道中进行的处理可以影响在色度通道中进行的处理。
[0122] 在频域中处理的另一个优点涉及位于帧或子帧的片的边缘上的块。即,位于帧的边缘上的块(或者如果使用多个片中子帧分离,则为在片的边缘上的块)可以被高效地预测。当根据相似性对块分组时,该方法允许块或片以任何顺序分组,并且因此在位于片或帧的边缘上的块的预测过程中不存在惩罚(penalty)。与在如MPEG-4 AVC/H.264的当前标准中当前的FMO(灵活的宏块排序)相比,这是重要的改进。
[0123] 本文所描述的本发明的所述实施例的另一个优点在于,深子块子分割可以被利用,而没有过多的处理器负载。
[0124] 应当领会,上述实施例仅通过示例描述。
[0125] 例如,注意到,尽管本文中使用了术语“块”,但是在其最一般的意义下,这不旨在暗示特定大小、形状和细分的级别。应当领会,在不同的方案中,各种不同的分割和细分可以通过诸如宏块、块和子块等之类的术语指代,但是如本文最一般地使用的术语“块”可以对应于这些中任意一种或者甚至对应于作为视频帧的分割的任何其他组成图像部分。
[0126] 而且,本发明的不同的优选方面不一定需要相互结合地被使用。例如,可以在频域中执行块匹配,而不是用基于块能量或其他这样的索引的排序列表的附加技术。对于帧内和/或帧间块匹配,还可以使用可替代的块匹配技术,例如通过基于关联的度量或最小错误的度量匹配。相反地,可以使用用于块匹配的排序技术,而无需频域变换,例如通过基于空间域系数确定块能量的度量(尽管这是较不优选的,因为它将倾向于在计算上更密集)。
[0127] 而且,在排序被作为一种确定搜索范围Δ内的候选的子集的方法时,注意到不一定需要重新布置存储器中的列表条目。更一般地,针对候选的搜索可以通过识别具有在期望范围内的能量或其他索引的块的任意方法来执行。
[0128] 而且,排序索引不一定需要是块能量的度量。另一个可能性将是涉及块的结构的量度,比如结构相似性索引(SSIM)。在其他实施例中,多个量度可以被组合,以便确定用于排序的索引。而且,一旦该列表被排序,则本发明的各方面不一定需要被限于基于比特率贡献从候选中找到最佳匹配。其他第二量度可以用于此目的,例如在H.264中使用的基于更常规的运动的匹配。
[0129] 而且,尽管已经参考变换到频域的离散余弦变换的示例描述上文,但是应当领会可以使用诸如KLT或其他之类的其他变换(其中一些可能不是用空间频率系数来表示变换域而用一些其他变换域系数来表示变换域)。
[0130] 而且,尽管依据表示目标块的系数与参考块的系数之间相减的差的残差描述了上文,但是这不是用于相对于参考块的系数或值来编码目标块的系数或值的唯一可能性。例如,在其他实施例中,所述差可以依据目标块与参考块之间的关联的参数表示和信令发送以使得该目标可以从该关联预测,或者依据可以应用于参考块以预测目标块的滤波器的系数而被表示和信令发送。在这些情况下,该预测可以不必像减法差情况那样是无损的,而是可以是有损的,使得所述差不表示精确差。如本文所使用的术语“差”不限于减法差,也不限于精确差。
[0131] 本发明不限于以任何特定标准实现,也不限于作为任何特定标准的附加组件,并且可以实现为新的独立的编解码器、已有的编解码器的附加组件或者作为对现有编解码器的修改
[0132] 给定本文的公开,本领域技术人员可以明了其他的变体。本发明不受所描述的实施例的限制,而是仅由所附权利要求限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈