快速宏块增量量化参数的决定的制作方法

文档序号:11292565阅读:246来源:国知局
快速宏块增量量化参数的决定的制造方法与工艺

分案申请的相关信息

本案是分案申请。该分案的母案是申请日为2009年2月21日、申请号为200980105681.5、发明名称为“快速宏块增量量化参数的决定”的发明专利申请案。

相关申请案

本申请案主张2008年2月22日申请的第61/030,857号美国临时专利申请案的优先权,所述申请案以全文引用的方式并入本文中。

本发明的实施例涉及多媒体图像处理。更特定来说,这些实施例涉及用于自适应地控制视频编码器中的数字视频的数字位速率和压缩质量的系统和方法。



背景技术:

数字视频能力可并入到大范围的装置中,包括数字电视、数字直播系统、无线通信装置、个人数字助理(pda)、膝上型计算机、桌上型计算机、数码相机、数字记录装置、蜂窝式或卫星无线电电话等。这些和其它数字视频装置可在产生、修改、传输、存储、记录和播放全运动视频序列上提供优于常规模拟视频系统的显著改进。

已建立许多不同视频编码标准用于传送数字视频序列。举例来说,运动图片专家组(mpeg)已开发包括mpeg-1、mpeg-2和mpeg-4的许多标准。其它编码标准包括h.261/h.263、mpeg1/2/4和最新的h.264/avc。

视频编码标准通过以压缩方式编码数据而实现增大的传输速率。压缩可减少需传输的数据总量以用于有效地传输图像帧。举例来说,h.264标准利用经设计以促进经由比在无压缩的情况下可实现的带宽窄的带宽进行视频和图像传输的图形和视频压缩技术。具体来说,h.264标准并入有利用连续图像帧之间的类似性(称为时间或帧间相关性)来提供帧间压缩的视频编码技术。帧间压缩技术通过将图像帧的基于像素的表示转换为运动表示而利用跨越帧的数据冗余性。另外,视频编码技术可利用图像帧内的类似性(称为空间或帧内相关性),以便实现帧内压缩,其中图像帧内的空间相关性可进一步被压缩。帧内压缩通常基于用于压缩静态图像的常规过程,例如空间预测和离散余弦变换(dct)编码。

为了支持所述压缩技术,许多数字视频装置包括用于压缩数字视频序列的编码器,和用于解压缩数字视频序列的解码器。在许多情况下,编码器和解码器包含对界定视频图像的序列的帧内的像素的块操作的集成的编码器/解码器(codec)。举例来说,在h.264标准中,发送装置的编码器通常将待传输的视频图像帧划分为包含较小图像块的宏块。对于图像帧中的每一宏块,编码器搜索相邻视频帧的宏块以识别最为类似的宏块,且连同运动向量一起对所述宏块之间的差异进行编码以供传输,所述运动向量指示使用来自参考帧的哪一宏块用于编码。接收装置的解码器接收运动向量和经编码的差异,且执行运动补偿以产生视频序列。

变换且接着量化宏块之间的差异。量化参数(qp)用以执行量化且因此将确定控制位速率和所恢复帧质量。使用较高qp的量化对应于较低位速率和较低质量。使用较低qp的量化对应于较高位速率和较高质量。通过调整qp,可实现不同的位速率和质量程度。



技术实现要素:

在一些实施例中,提供一种用于对视频进行编码的系统,所述系统包含存储器,所述存储器包含视频帧,视频帧又包含宏块。所述系统还包括:量化模块,其经配置以选择用于量化所述宏块的量化参数的范围,其中所述范围为可能量化参数的子集;处理器,其经配置以确定所述范围中导致宏块的最佳量化的量化参数;以及编码器,其经配置以使用所述确定的量化参数对所述宏块进行编码。

在一些实施例中,提供一种用于对视频进行编码的系统,所述系统包含用于接收包含用于量化的宏块的视频帧的装置;用于选择用于量化宏块的量化参数的范围的装置,其中所述范围为可能量化参数的子集;用于确定所述范围中导致宏块的最佳量化值的量化参数的装置;以及用于使用所述确定的量化参数对宏块进行编码的装置。

在一些实施例中,提供一种用于对视频进行编码的方法,所述方法包含:接收包含用于量化的宏块的视频帧;选择用于量化所述宏块的量化参数的范围,其中所述范围为可能量化参数的子集;确定所述范围中导致宏块的最低失真值的量化参数;以及使用所述确定的量化参数对所述宏块进行编码。

在一些实施例中,提供一种计算机可读媒体,其包含计算机可读程序代码,所述计算机可读程序代码适于被执行以执行一方法,所述方法包含:接收包含用于量化的宏块的视频帧;选择用于量化所述宏块的量化参数的范围,其中所述范围为可能量化参数的子集;确定所述范围中导致宏块的最低失真值的量化参数;以及使用所述确定的量化参数对所述宏块进行编码。

附图说明

当结合图式理解时,从下文陈述的详细描述将更加明白所揭示实施例的特征、目的和优势,在所述图式中,相同参考字符始终对应地识别。

图1为如用于本发明的一个实施例中的编码源装置和解码接收装置的顶级框图。

图2为本发明的一个实施例中的源装置的示意图,所述源装置如本发明的实施例中所描述而实施qp优化模块。

图3为说明利用qp优化模块的编码系统的大概框图。

图4为使用量化参数的块编码过程的框图。

图5为qp优化模块的操作流程的示意图。

具体实施方式

本发明的实施例包括用于编码待向用户显示的多媒体视频的系统和方法。在一个实施例中,所述系统和方法适于控制用于压缩视频的经编码数据速率。在一些情况下,以无线方式或经由有线网络将视频传输到接收器以供显示。压缩视频中的一个步骤与量化所传输的视频数据有关。量化涉及以量化参数(qp)划分视频数据以将数据大小减小为更小、更可管理的形式。

因为并非所有视频数据片段均含有相同量的信息,所以可以不同qp以不同方式来量化不同视频片段。如果针对给定区段所选的qp过小,则经压缩数据将具有良好质量,但将会经高度压缩。此导致在将数据传输到接收器时产生高位速率。相反,如果所选qp过大,则将高度压缩数据,且因为存在较少位待传输,所以位速率将减小。然而,所传输的视频帧的质量将相对低,因为每一帧将由与qp较小的情况相比相对少的位表示。在一个实施例中,本发明提供用于针对给定视频切片快速且准确地选择适当qp的系统和方法。特定来说,本发明的实施例提供用于针对给定数据块选择有可能含有合适qp的范围的智能型装置。

用于确定用于宏块的适当qp的一种方法为蛮力(brute-force)法。蛮力实施包含使用一范围的qp值对同一宏块进行多次编码,且选择最佳qp作为提供最小译码成本的qp值。可使用不同成本准则来确定针对特定宏块的适当qp。一种成本测量被称为速率-失真成本(rate-distortioncost),其被表达为速率与失真的组合,

c=d+λr

其中d为原始视频块与经重新建构视频块之间归因于量化的失真,r为用以对输入视频块进行编码的速率(位的数目),且λ为固定参数。失真d和速率r两者为qp的函数,因为1)qp直接影响原始视频块与经重新建构视频块之间的失真程度(较高qp意味着较高失真);且2)直接与对量化残余系数进行编码所需的位数目有关(较高qp意味着较低位速率)。在一个可能实施例中,λ可类似地取决于qp且可构成下式:

λmode=0.85*2(qp-12)/3

视应用而定,这些等式中的系数将经更改以规定位速率对失真的重要性。此处,例如,随着增大的qp,在选择最佳值中给予位速率增大的关联性。

结果,成本c也是qp的函数,c=c(qp)。在于给定一范围的qp值的情况下对当前宏块进行多次编码之后,可将用于宏块的最佳qp挑选为:

qpopt=argmin(c(qp))

如本文中所描述的一个改进为针对规定qp高速缓存一默认运动估计量且在计算针对搜索范围中的qp中的每一者的失真时使用此高速缓存的运动估计。此高速缓存虽然导致较不准确地测量潜在qp的成本,但节省相当多的时间,因为无需针对每一潜在qp重复计算运动估计。

帧间模式决定

实施例预期用以增加宏块qp决定过程的编码速度的技术。举例来说,在模式决定期间(当编码器在用于宏块的大量可能译码模式中挑选最佳译码模式时),如果考虑帧间模式,则执行运动搜索以决定最佳宏块分割和用于每一分割的最佳运动向量(均在优化成本度量的方面)。编码器可仅在针对标称qp(其由终端用户给出或由装置的质量控制规格决定)对宏块进行编码时执行运动搜索且存储运动搜索结果。在一个实施例中,编码器在后续编码回合(以宏块qp的不同值)中检索所保存的运动信息以取代再次调用运动搜索。此确保仅针对每一宏块执行一次作为昂贵且耗时的过程的运动搜索。为了进一步减少决定最佳宏块qp所需的编码时间,可使用以下额外技术:

帧内模式(intramode)决定

在经帧间译码的切片(即,p切片或b切片)中,允许帧内译码模式(空间预测)和帧间译码模式(时间预测)两者。因此,在p切片和b切片宏块的模式决定期间,还可考虑帧内译码模式。通常针对表示当前帧中的新对象和/或场景改变的宏块选择帧内模式。然而,与帧间模式决定(其中运动搜索结果不受宏块qp的值显著影响)相比,帧内模式决定取决于宏块qp的值。举例来说,关于h.264/avc,允许四个帧内译码模式:帧内4×4、帧内8×8、帧内16×16和ipcm。在前两个模式中,将宏块分割为较小块(4×4或8×8)且以光栅扫描次序依序对其预测。因此,当宏块qp改变时,经重新建构的块将改变,因此影响宏块中的后续块的预测和模式决定。在最佳方案中,应使用不同qp来重复帧内模式决定。然而,此引发较长的编码时间。为了加速帧内模式决定,可仅使用一个qp值。类似于帧间模式决定,帧内模式决定结果(其包括预测模式)可经存储且在具有不同qp值的后续编码回合中再使用。虽然此可能引发归因于非最佳帧内模式决定的性能损失,但影响可仍有限,因为通常帧间切片(p切片或b切片)中仅有限百分比的宏块经帧内译码。为了进一步限制此非最佳帧内模式决定的影响,编码器可在且仅在以标称qp进行的模式决定期间帧内译码模式而不是帧间译码模式被选定为当前宏块的最佳译码模式的情况下决定针对不同qp值多次执行帧内模式决定。

qp范围约束:

相邻宏块通常在空间上为相关的。此意味着相邻宏块的最佳qp值通常为类似的。视宏块的已经译码的相邻者的最佳qp值而定,所述宏块的最佳qp的搜索范围可受到特定约束。以下伪码提供这些约束的一个可能的实施:

注意,以上伪码为处于视频帧/切片的边界上的宏块提供特殊条件。对于这些边界宏块,其相邻者中的一者或一者以上不可用。可使用多种方法来考虑此条件,例如:1)在计算qp预测子时针对不可用的相邻者使用默认帧/切片等级qp;或2)测试增量qp值的整个范围。选项2)具有以下优势:其将通过允许边界宏块搜寻较广范围内的最佳qp值而减轻非边界宏块的缓慢开始问题。

可使用多种方法来基于相邻qp计算qp预测子。举例来说,可使用左侧和顶部相邻者的平均qp。或者,可使用左侧、顶部和左上相邻者的平均qp。或者,可使用左侧、顶部、左上和右上相邻者的平均qp。各种组合均为可能的,其视对宏块编码的次序而定。

可针对不同类型的切片使用决定当前qp值是否类似于qp预测子的不同方法。举例来说,可对p切片宏块应用[qppred-2,qppred+1]的范围,而可对b切片宏块应用[qppred-1,qppred+2]的范围。

对qp搜索范围的条件约束有助于减少针对每一宏块执行的编码回合的数目,因此加速编码过程。然而,与彻底搜索相比,所强加的约束可能引发某性能损失。所述性能损失对于i切片和p切片中的宏块来说可能较为严重,因为i切片和p切片的速率-失真性能将越过当前图片组(gop)传播,直到遭遇下一随机存取点(在h.264/avc中还称为idr或即时解码器刷新图片)为止。因此,一替代方案为放宽或不施加对i切片和p切片宏块的条件qp约束。

图1为说明实例系统100的框图,其中源装置101经由通信链路109将视频数据的经编码序列传输到接收装置102。源装置101和接收装置102均为数字视频装置。具体来说,源装置101使用多种视频压缩标准中的任一者(包括先前所论述)对视频数据进行编码和传输。通信链路109可包含无线链路、物理传输线、基于包的网络(例如,局域网、广域网或例如因特网的全球网)、公共交换电话网络(pstn)或各种链路和网络的组合。换句话说,通信链路109代表用于将视频数据从源装置101传输到接收装置102的任何合适通信媒体或可能为不同网络和链路的集合。

源装置101可为能够对视频数据进行编码和传输的任何数字视频装置。举例来说,源装置101可包括用于存储数字视频序列的存储器103、用于对序列进行编码的视频编码器104和用于经由通信链路109传输经编码序列的发射器105。存储器103可包含例如硬盘上的动态存储器或存储装置等计算机存储器。接收装置102可为能够接收并解码视频数据的任何数字视频装置。举例来说,接收装置102可包括用于接收经编码数字视频序列的接收器108、用于解码序列的解码器107和用于向用户显示序列的显示器106。

用于源装置101和接收装置102的实例装置包括位于计算机网络上的服务器、工作站或其它桌上型计算装置和例如膝上型计算机等移动计算装置。其它实例包括数字电视广播系统和例如蜂窝式电话等接收装置、数字电视、数码相机、数字视频相机或其它数字记录装置、例如具有视频能力的蜂窝式无线电电话和卫星无线电电话等数字视频电话、其它无线视频装置等。

在一些情况下,源装置101和接收装置102各自包括用于对数字视频数据进行编码和解码的编码器/解码器(codec)(未图示)。在那种情况下,源装置和接收装置两者可包括发射器和接收器以及存储器和显示器。以下所概述的编码技术中的许多编码技术是在包括编码器的数字视频装置的情形下描述的。然而,应理解,编码器可形成codec的一部分。

举例来说,源装置101包括对视频图像序列内的像素块进行操作以便将视频数据编码为压缩格式的编码器104。举例来说,源装置101的编码器104可将待传输的视频图像帧划分为包含许多较小图像块的宏块。对于图像帧中的每一宏块,源装置101的编码器104针对已传输的前面的视频帧(或后续视频帧)搜索存储于存储器103中的宏块以识别类似宏块,且连同运动向量一起对宏块之间的差异进行编码,所述运动向量识别来自先前帧的曾用于编码的宏块。源装置101可支持可致使在编码过程期间终止各种任务或反复的可编程阈值以便减少计算的数目且节约功率。

接收装置102的接收器108接收运动向量和经编码的视频数据,且解码器107执行运动补偿技术以产生供经由显示器106向用户显示的视频序列。所属领域的技术人员将易于认识到除了显示经解码数据之外,还可采取各种其它动作,包括存储数据,重新格式化数据或重新传输经解码数据。接收装置102的解码器107还可被实施为编码器/解码器(codec)。在那种情况下,源装置和接收装置两者可能能够对数字视频序列进行编码、传输、接收和解码。

图2为说明并入有根据本文中所描述的技术来压缩数字视频序列的视频编码器203的实例源装置101的框图。示范性数字源装置101经说明为例如移动计算装置、个人数字助理(pda)、无线通信装置、无线电电话等无线装置。然而,本发明中的技术不限于无线装置,且可易于应用于包括非无线装置的其它数字视频装置。

在图2的实例中,数字视频装置101经配置以经由发射器202和天线201传输经压缩数字视频序列。视频编码器203对视频序列进行编码且在传输之前于视频存储器存储装置205内缓冲经编码数字视频序列。存储器存储装置205还可存储计算机可读指令和数据以供视频编码器203在编码过程期间使用。存储器205可包含同步动态随机存取存储器(sdram)、硬盘、快闪存储器、电可擦除可编程只读存储器(eeprom)等。从存储器205提取视频帧204以用于编码。如下文详细描述,视频编码器203实施经配置以优化由视频编码器203执行的视频编码的qp优化模块(qpom)206。qpom206通过具有确定在编码过程期间编码器203将使用何参数的指令而促进位速率控制。

图3中说明并入有qpom的示范性数据压缩系统300。首先向预处理器301呈现视频信号305以准备压缩。预处理器301可服务于多种目的,或可被完全排除在系统之外。举例来说,预处理器301可将视频信号305格式化成较容易由压缩系统处理的分量。将预处理器301的输出呈现给编码器302。编码器302量化其已接收的数据,接着压缩量化系数。所执行的量化取决于来自qpom303的反馈量化参数307。编码器302和qpom303可共同构成编码系统308或codec。qpom303利用表征当前经编码视频片段的统计数据以自适应地设定量化参数以用于编码下一视频片段。在下文更详细地描述自适应地设定用于正被编码视频的量化参数的此过程。一旦数据已被量化,便将其发送到格式化输出位流306以供传输的格式化器304。格式化器304取得速率受控数据且将数据装配为经格式化的位流以供经由通信信道传输。如此,格式化器304可将补充信息附加到数据。举例来说,可由格式化器304将指示块开始、帧开始、块编号、帧编号和量化信息的信号附加到数据信号。

基于块的视频译码广泛用于例如h.261/h.263、mpeg1/2/4和最新的h.264/avc的视频译码标准中。在基于块的视频译码系统中,逐块地处理输入视频帧。通常使用的块大小为16×16,其还称为宏块。图4展示基于块的视频编码的一个实例的框图。所属领域的技术人员将易于认识到额外特征为可能的。图4提供对编码器的操作和其对qp的使用的概括综述。对于每一输入的数据视频块401,系统产生一预测块413。预测块413由执行空间预测(使用已存的相邻者在同一帧内的预测)或时间预测(跨越帧的预测)的预测块410形成,且可用于后续编码过程417。接着通过从来自帧401的对应原始视频块的值减去预测块的值而计算残余块402。残余块402接着行进通过变换模块403,所述变换模块403(例如)对残余块402执行离散余弦变换(dct)变换。在变换之后,在量化模块404处使用所挑选的量化参数来量化残余块。一组经量化变换系数405接着在作为经编码位流409被发送出之前在系数扫描模块406处经扫描为1维向量且在熵译码模块408处经熵译码。

如由方框416所示,量化参数不仅用以量化块,且还确定量化效率。通过对经量化残余块进行解量化416和反相415而重新建构残余块414。此经重新建构块412接着被存储411且不仅在确定此特定块的量化参数的效率中使用,而且用于未来块的后续预测418。

图5说明qpom303的操作过程500的一个可能实施例的概括流程图。过程500通过接受第一宏块而开始于开始状态501。对于第一宏块,可通过默认方法(例如,蛮力优化搜索)确定qp的预测值。蛮力优化搜索包含:在所有可能qp值上反复,针对每一者应用成本度量和选择产生最佳成本度量的qp(如先前所论述)。所属领域的技术人员将认识到存在用于选择初始所预测qp的各种替代方法,例如基于视频信号的统计性质的默认或全局预测,只要所得qp提供合理量化,这些替代方案中的任一者均将足够。对于后续宏块,过程500可基于相邻qp或先前最佳qp而选择所预测qp。如果当前宏块在帧的角落处(即,相邻者不可用),则可针对所预测qp使用替代的相邻者或默认值。一旦已选择所预测qp,过程500即在状态502处识别qp的范围以进行评估。过程500反复通过整个qp范围,从而应用成本度量以确定范围内的每一qp的效率。如以上所论述,成本度量可包含速率-失真成本。一旦已确定最佳qp,过程500便在状态506处将所预测qp插入到切片标头。此将为系统用于此宏块的后续量化的qp。过程500接着在决定状态503处确定是否更多宏块可用于处理。如果宏块可用,则所述过程将在状态508处以下一宏块继续。如果宏块不可用,则所述过程将在结束状态509处结束。

通常,所选范围将简单地以小于所预测qp的整数偏移和大于所预测qp的整数偏移扩展(即,+/-3)。然而,所选范围可在qp以上或以下偏置且可取决于正被量化的帧的类型。举例来说,h.264包含i、p或b帧。与b帧相比,i和p帧较频繁地由其它帧参考以恢复图像信息。因此,i和p帧通常应经较少量化以使得其信息不损失。因此,在辨识出i或p帧之后,qpom可替代地选择偏置到较低qp的范围(即,比所预测qp小2和仅比所预测qp大1)。此将增加最佳qp小于所预测qp的机会。相反,将存在向上偏置将为优选的场合,即,在需要高位速率而较不强调质量的系统中。

因此,已描述用于对视频进行编码的新颖且改进的方法和设备。所属领域的技术人员应了解,可将结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤实施为电子硬件、计算机软件或两者的组合。已大体上在其功能性方面描述各种说明性组件、块、模块、电路和步骤。将所述功能性实施为硬件还是软件视特定应用和强加于整个系统的设计约束而定。所属领域的技术人员认识到硬件和软件在这些情形下的可互换性,和如何针对每一特定应用最佳地实施所描述的功能性。作为实例,可用数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、例如寄存器和fifo的离散硬件组件、执行一组固件指令的处理器、任何常规可编程软件模块和处理器或其任何组合实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤。处理器可为微处理器,但在替代方案中,处理器可为任何常规的处理器、控制器、微控制器或状态机。软件模块可驻留于ram存储器、快闪存储器、rom存储器、寄存器、硬盘、可装卸磁盘、cd-rom或此项技术中已知的任何其它形式的存储媒体中。所属领域的技术人员将进一步了解在整个以上描述中可参考的数据、指令、命令、信息、信号、位、符号和码片由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合表示。

提供对优选实施例的先前描述以使所属领域的任何技术人员能够制作或使用所揭示的实施例。所属领域的技术人员将容易明白对这些实施例的各种修改,且本文中所界定的一般原理可应用于其它实施例而无需使用发明性能力。因此,所揭示的实施例并不意欲限于本文中所展示的实施例,而是将赋予其与本文中所揭示的原理和新颖特征一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1