CN101331773A - 使用速率失真特性进行视频编码的两遍速率控制技术 - Google Patents
使用速率失真特性进行视频编码的两遍速率控制技术 Download PDFInfo
- Publication number
- CN101331773A CN101331773A CN200680043019.8A CN200680043019A CN101331773A CN 101331773 A CN101331773 A CN 101331773A CN 200680043019 A CN200680043019 A CN 200680043019A CN 101331773 A CN101331773 A CN 101331773A
- Authority
- CN
- China
- Prior art keywords
- video sequence
- frame
- rate
- coding
- group
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本揭示内容说明可基于“两遍”方法来改良视频编码的速率控制技术。第一遍使用第一组量化参数(QP)对视频序列进行编码,其目的是基于所述第一遍的统计来估计所述视频序列的速率失真特性。然后可为第二遍编码定义第二组QP。使用所述第一遍的估计的速率失真特性以使得所述视频序列的帧的失真最小化的方式为所述第二遍选择QP。
Description
技术领域
本发明涉及数字视频处理,且更明确地说,涉及视频序列的速率受控编码。
背景技术
数字视频功能可并入各种各样的装置中,包括数字电视、数字直接广播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、台式计算机、数字照相机、数字记录装置、蜂窝式电话或卫星无线电电话、及类似装置。数字视频装置可在创建、修改、传输、存储、记录及播放全运动视频序列方面提供优于常规模拟视频系统的显著改良。
人们已制订了大量不同的视频编码标准用于将数字视频序列编码。例如,运动图像专家组(MPEG)已编制许多标准,包括MPEG-1、MPEG-2及MPEG-4。其它标准包括:国际电信联盟(ITU)H.263标准、由位于加利福尼亚州库珀蒂诺市(Cupertino,California)的苹果电脑公司(Apple Computer)开发的QuickTimeTM技术、由位于华盛顿州雷蒙德市(Redmond,Washington)的微软公司(Microsoft Corporation)开发的Video for WindowsTM、由英特尔公司(Intel Corporation)开发的IndeoTM、来自位于华盛顿州西雅图市(Seattle,Washington)的RealNetworks公司的RealVideoTM、及由SuperMac公司开发的CinepakTM。此外,新标准继续涌现及演进,包括ITU H.264标准以及大量专属标准。
许多视频编码标准可通过以压缩方式对数据编码来实现提高的视频序列传输速率。压缩可减小需要传输的数据总量以便有效地传输视频帧。举例来说,大多数视频编码标准利用图及视频压缩技术,所述图及视频压缩技术设计成利于在无需压缩即可实现的较窄带宽上传输视频及图像。举例来说,MPEG标准和ITU H.263及ITU H.264标准支持利用各连续视频帧之间的相似性(称作时间或帧间相关性)来提供帧间压缩的视频编码技术。此种帧间压缩通常是通过运动估计及运动补偿编码技术来实现。此外,某些视频编码技术可利用帧内的相似性(称作空间或帧内相关性)来进一步压缩视频帧。
人们已开发出大量用于视频编码的速率控制技术。速率控制技术对于为利于视频序列的实时传输而言尤其重要,但也可用于非实时编码设定。对于速率控制,所述编码技术可动态地调整每帧所编码的位数。明确地说,速率控制可限制每帧所编码的位数,以便确保可以既定速率有效地对视频序列进行编码并因此在所分配带宽上传输。如果所述编码技术不响应于视频序列的景物改变,则视频序列实时传输的位速率可随着景物改变而显著变化。同样,对于一些应用(例如无线视频电话),在对视频序列进行编码时,带宽可用性可改变。出于这些原因或其它原因,速率控制技术可用来动态地调整编码期间每帧所使用的位数。
发明内容
本发明说明可改良视频编码的速率控制技术。明确地说,本发明说明大量基于“两遍”编码的速率控制技术,不过也可使用其它的遍数。为了基于第一遍的统计来估计视频序列的速率失真特性的目的,第一遍使用第一组量化参数(QP)对视频序列进行编码。然后可定义第二组QP,用于第二遍编码。因为第一遍编码提供视频序列的速率失真特性的估计,所以通过考虑帧间依赖性可改良用于第二遍的QP的选择。
本文说明了各种实施例和变化。然而,通常建议与本发明相一致的两个基本替代方案。在第一情况中,使用第一遍的估计速率失真特性以将视频序列的帧失真最小化的方式为第二遍选择QP。在第二情况中,使用第一遍的估计速率失真特性,以下述方式为第二遍选择QP:将视频序列的帧之间的质量波动最小化,并还可在质量波动最小化时将质量最大化以实现较低的平均帧失真。
在一实施例中,本发明提供一种视频编码装置,所述视频编码装置包含:编码装置,其用于在第一遍编码中使用一组第一量化参数(QP)来对视频序列的帧进行编码;获得装置,其用于获得第一遍编码的经编码视频序列的速率失真统计;估计装置,其基于速率失真统计来估计视频序列的速率失真特性;及选择装置,其基于估计速率失真特性来为视频序列中的帧的第二遍编码选择第二组QP。
在另一实施例中,本发明提供一种视频编码装置,所述视频编码装置包含:编码装置,其用于在第一遍编码中使用一组第一量化参数(QP)来对视频序列的帧进行编码;获得装置,其用于获得经编码视频序列的速率失真统计;估计装置,其基于速率失真统计来估计视频序列的速率失真特性;及大致最小化装置,其使用估计速率失真特性来为视频序列中的帧的第二遍编码选择第二组QP,以在第二遍编码中将视频序列的帧之间的质量波动大致最小化。
本文所述速率受控编码技术可以硬件、软件、固件或其任何组合形式实施于视频编码装置中。如果以软件形式实施,则该软件可在处理器中执行,例如用于视频编码的可编程处理器。执行所述技术的所述软件可最初存储在计算机可读媒体中,并可在处理器中装载并执行,以实施此种速率受控视频编码。
各种实施例的其它详情将在附图及下文说明中予以阐释。根据本说明和图式及根据权利要求书,将易知其它特征、目的和优点。
附图说明
图1是框图,其图解说明根据本发明的实例性视频编码装置。
图2是流程图,其图解说明根据本发明一实施例的两遍速率受控视频编码技术,其中对速率失真特性进行估计,并将其用来为视频序列定义量化参数。
图3-15是各种数据图形,其图解说明本发明的技术的各方面。
图16是流程图,其图解说明根据本发明一实施例的两遍速率受控视频编码技术,其中将视频序列的帧的质量波动最小化。
图17-26是其它数据图形,其图解说明本文的技术的各方面。
具体实施方式
本发明说明用于视频编码的速率控制技术。所述技术是基于“两遍”法,其中第一遍编码用来估计视频序列的特性,且然后使用所述估计特性对用于第二遍的量化参数(QP)的选择加以改良。本发明可利用视频序列速率失真特性的帧依赖性的某些特性。明确地说,本发明观察到,在许多情况中(特别是在本文所研究的情况中),当前帧的速率和失真高度依赖于紧接的前一帧中所使用的QP,但在紧接的前一帧之前的各帧所使用的QP对当前帧的速率和失真的作用甚微。使用这些观察,通过实质上将速率和失真模型简化成近似可在编码装置中实现计算强度方面的显著降低。
为了基于第一遍的统计来估计视频序列的速率失真特性的目的,第一遍编码使用第一组QP来对视频序列进行编码。可以任何方式来选择第一组QP,例如通过将相同的QP赋予各帧,或通过使用所谓的“贪心”算法。所述“贪心”算法使用速率预算来确定QP,并然后在其余帧上重新分配速率预算以定义每一后续QP。无论为第一遍编码如何选择或确定第一组QP,都可通过第一遍编码来获得用于视频序列的速率失真统计。
在第一遍编码之后,可基于速率失真统计来估计视频序列的速率失真特性。估计所述速率失真特性的方式可在不同实施例中而不同,但通常包含将速率和失真模型应用于在第一遍编码中获得的速率失真统计。在估计所述速率失真特性之后,这些特性用来为视频序列中的帧的第二遍编码选择第二组QP。第二遍编码然后可用来对视频序列进行最终编码,且通过这种做法为第二遍编码选择QP可实现视频质量改良。
本文说明了各种实施例和变化。然而,通常建议与本发明相一致的两个基本替代方案。在第一情况中,使用第一遍的估计速率失真特性,以将视频序列的帧失真最小化的方式来为第二遍选择QP。在第二情况中,使用第一遍的估计速率失真特性,以将视频序列的帧之间的质量波动最小化的方式来为第二遍选择QP。尽管失真最小化可平均得到更好的总体编码,但质量波动最小化可减少或消除因质量突变而导致的不期望的闪烁问题。本发明还涵盖了这两种情况的组合。
图1是框图,其图解说明实例性视频编码装置10。视频编码装置10可构成能够对视频数据进行编码和传输的数字视频装置的一部分。视频数据可从视频照相机处捕获,从视频档案处检索,或以另一方式获得。编码装置10可实施在诸如数字电视机、数字直接广播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、台式计算机、数字照相机、数字记录装置、蜂窝式电话或卫星无线电电话、或具有视频电话(VT)功能的任何电信装置等装置中。编码装置10可遵守视频编码标准,例如MPEG-4、ITU-T H.263、ITU-T H.264、或需要选择QP用于已量化视频编码的另一视频编码标准。编码装置10可支持诸如运动估计和运动补偿等帧间编码技术,并还可支持其它技术,例如用于帧内编码的空间估计和帧内预测编码技术。
如图1中所示,编码装置10包括:视频编码设备12,用于对视频序列进行编码;及视频存储器20,用于在此种编码的前后存储视频序列。装置10还可包括用于将经编码序列传输到另一装置的发射器22,且可能包括用于捕获视频序列并将所捕获序列存储于存储器20中的视频捕获装置18,例如视频照相机。编码装置10的各种元件可经由通信母线15以通信方式耦合在一起。诸如各种滤波器或其它元件等各种其它元件也可以包括于编码装置10中,但为简明起见而不具体图解说明。图1中所图解说明的架构仅仅是实例性的,因为本文所述技术可通过各种其它架构来实施。
视频存储器20通常包含相对较大的存储器空间。视频存储器20,举例来说,可包含动态随机存取存储器(DRAM)、或者闪速(FLASH)存储器。在其它实例中,视频存储器20可包含非易失性存储器或任何其它数据存储装置。
视频编码设备12可包含用于移动无线电电话的所谓“芯片组”,其包括硬件、软件、固件及/或一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)的组合、或其各种组合。视频编码设备12通常包括耦合到本地存储器18的视频编码器14。视频编码器14可包含用于对数字视频数据进行编码和解码的编码器/解码器(CODEC)。本地存储器18可包含相对于视频存储器20较小和较快的存储器空间。通过举例的方式,本地存储器18可包含同步动态随机存取存储器(SDRAM)。本地存储器18可包含与视频编码设备12的其它组件集成在一起的“单芯片”存储器,以在处理器密集的编码过程期间实现对数据的极快速存取。然而,存储器20和18可组合到同一存储器部分中,或可以大量其它配置来实施。
如本文所述,视频编码器14实施“两遍”编码方法,其中第一遍编码用来估计视频序列的特性,且第二遍编码使用估计特性对第二遍中所用QP的选择加以改良,以改良编码质量。速率控制单元30处理QP选择过程,其使用在第一遍编码中的估计特性。由速率控制单元30实施的技术可通过对视频序列的速率失真特性进行估计来利用帧依赖性,为了通过实质上将速率和失真模型简化成近似来实现计算强度方面的显著降低。
为了基于第一遍的统计来估计视频序列的速率失真特性的目的,速率控制单元30在第一遍编码中应用第一组QP。在第一遍编码之后,速率控制单元30基于速率失真统计来估计视频序列的速率失真特性。然后,速率控制单元30使用这些估计速率失真特性来为视频序列中的帧的第二遍编码选择第二组QP。第二遍编码然后可用来对视频序列进行最终编码,且通过这种做法为第二遍编码选择QP可实现视频质量改良。根据本发明,估计特性可以在第二遍中实现改良的QP选择的方式来量化帧依赖性。
对于每遍编码,在既定视频帧的编码期间,可将要编码的当前视频块从视频存储器20装载到本地存储器18。也可将用于定位预测视频块的查找空间从视频存储器20装载到本地存储器18。所述查找空间可包含一个或多个前面视频帧(或后续帧)的像素子组。挑选的子组可预标识为用于标识与要编码的当前视频块紧密匹配的预测视频块的可能位置。
本地存储器18装载有要编码的当前视频块和查找空间。运动估计器/空间估计器24将当前视频块与所述查找空间中的各种视频块进行比较,以便标识预测视频块。运动估计器/空间估计器24通常表示:运动估计器,其为帧间编码执行运动估计;空间估计器,其为帧内编码执行空间估计;或组合单元,其可执行运动估计和空间估计。通常,预测视频块是候选视频块,为了帧间相关性(或帧内相关性)的目的,找到所述候选视频块以提供与当前视频块的充分匹配,其可能是最紧密匹配的候选视频块。预测视频块是许多候选视频块中的一者,所述许多候选视频块在运动估计过程期间经估计以标识相对于当前视频块具有最小差值的视频块。
为执行在要编码的当前视频块与存储器18的查找空间中的候选视频块之间的比较,运动估计器/空间估计器24可执行绝对差值和(SAD)技术、差值平方和(SSD)技术、或其它比较技术。通过这种方式,运动估计器/空间估计器24可为不同的候选视频块确定差值。差值越小,通常表明候选视频块是越好的匹配,并因此是比其它会产生较高差值的候选视频块更好的供用于运动估计编码的候选者。一旦找到适宜匹配,就可标识预测视频块。
一旦由运动估计器/空间估计器24标识出用于要编码视频块的预测视频块,运动补偿器/帧内预测单元26就生成残差。所述残差是数据的块,所述数据表明要编码的当前视频块与由运动估计或空间估计标识的预测视频块之间的差。运动补偿器/帧内预测单元26通常表示:运动补偿器,其为帧间编码执行运动补偿;帧内预测单元,其为帧内编码执行空间补偿;或组合单元,其可根据正在使用的是帧间编码还是帧内编码来执行运动补偿和帧内预测的任意一者。运动补偿器/帧内预测单元26可使用运动矢量获取预测块,并然后从输入块减去预测块来产生所述残差。所述残差包括的数据通常比由被减数块表示的原始视频块包括的数据要少得多。
在运动补偿器/帧内预测单元26已生成残差之后,残差编码器28可执行一个或多个残差编码步骤,例如离散余弦变换(DCT)、折线扫描、游程长度编码、可变长度(Huffman)编码、或在既定编码标准中使用的任何其它过程。还可执行众多其它残差编码步骤。
速率控制单元30可实施与本发明相一致的两个替代方案中的一者。在第一情况中,速率控制单元30使用第一遍的估计速率失真特性,以将视频序列所有帧上的失真最小化的方式来为第二遍选择QP。在第二情况中,速率控制单元30使用第一遍的估计速率失真特性,以将序列帧的质量波动最小化的方式来为第二遍选择QP。尽管失真最小化可平均得到更好的总体编码,但质量波动最小化可期望减少或消除因质量突变而导致的闪烁问题。这两个替代方案中每一者的详情在下文中更详细地进行了阐述。
图2-15的论述大体上概述了第一种方法,其中目标是将经编码视频序列的失真大致最小化,而图16-26大体上概述了第二种方法,其中目标是将经编码视频序列的质量波动大致最小化。然而,所论述的关于图2-26中任何一者的任何详情不得视为局限于任意一种方法,因为根据本发明,每种方法中的一个或多个方面还可组合使用。在本文论述的测试序列的各种实验图形中,所述测试序列通常是在视频编码中常常用来测试和比较编码质量的四分之一通用图像格式(QCIF)序列。
图2是流程图,其图解说明一种根据本发明的用于速率受控视频编码的技术。如图2中所示,视频编码器14使用第一组QP对视频序列的帧进行编码(40)。速率控制单元30则获得第一遍编码的经编码视频序列的速率失真统计(41)。视频编码器14的各种其它单元24、26和28可实施在第一遍编码中,所述第一遍编码使用由速率控制单元30标识的一组第一QP。可以各种不同的方式或根据任何速率控制算法来选择第一组QP。在一实例中,由速率控制单元30基于所谓的“贪心”算法动态地选择第一组QP,所述“贪心”算法基于相对于序列中的帧数的速率预算来为帧选择QP,并然后在其余帧上重新分配其余速率预算。在另一实例中,在第一遍中可为所有帧预选择并使用相同的QP,在此种情况中,在第一组QP中的QP彼此完全相同。
在第一遍编码之后,速率控制单元30基于由第一遍编码获得的速率失真统计来估计视频序列的速率失真特性(42)。通常,估计所述速率失真特性的过程包含将速率模型和失真模型应用于速率失真统计。下文更详细地说明了实例性数学模型,所述实例性数学模型可将计算复杂度化简成近似,但仍提供极好的估计和好的编码结果。同样,所述估计特性可以在第二遍中实现改良的QP选择的方式来量化帧依赖性。
速率控制单元30然后基于速率失真特性来为第二遍编码选择第二组QP(43)。第二组QP不同于第一组QP,并经选择以改良编码的质量。第一遍编码可能是质量较低的一遍编码,但提供应用准确建模所需的信息,并考虑了视频序列的编码方面的帧间依赖性。在一实例中,速率控制单元30通过在估计速率失真特性上执行拉氏(Lagrangian)松弛运算来选择第二组QP,如下文中的进一步详细论述。在此种情况或类似情况中,第二组QP的选择可涉及将视频序列中的帧失真大致最小化。在任何情况中,一旦速率控制单元30已经选择第二组QP,视频编码器14就使用第二组QP对视频序列进行编码(44)。
在视频编码中,基本问题是在帧之间有效地分配位,或为每帧挑选QP以实现视频序列的最佳整体质量。此问题的困难主要在于帧的编码依赖性,以及用于查找含有呈指数数目的节点的候选空间随之发生的成本。在本发明一实施例中,建议一种使用一组估计模型来近似在第二遍编码中的实际速率和失真状态的解决方案。所述模型是基于以下观察:在许多情况中,当前帧的速率和失真高度依赖于其前一帧的量化水平;且早于最近一帧的先前各帧的QP选择对当前帧的性能的作用甚微。所述模型和观察使得问题的候选空间能显著减少。而且,通过使用拉氏松弛法和动态编程,约束问题可转换成无约束问题,且通过使用最短路径查找算法予以求解。与一些常规CODEC中使用的“贪心”帧级速率控制算法相比,实验结果显示出高达1.7dB的显著增益。
许多常规速率控制方案设计用于实时编码应用,并采用贪心帧级位分配策略。贪心帧级位分配策略假设未来帧应具有统一分布的纹理复杂性。因此,贪心帧级位分配策略在未来帧之间相等地分配其余位。
遗憾的是,获得好的帧位分配不是普通的任务,因为帧的速率失真(R-D)函数取决于对于以前经编码帧的量化参数(QP)的抉择。换句话说,由于帧依赖性,使得为整个视频序列产生全局速率失真函数是极其困难的。
本发明建议基于准确速率和失真估计模型的帧级速率控制算法。人们已观察到帧失真高度依赖于前一帧的量化水平。此外,第二遍编码期间的失真可由诸如第一遍(使用相同量化水平)中的失真函数等统计、第一遍中运动补偿残差的能量、以及第一遍中前一帧的失真来近似。人们还观察到,早于紧接的前一帧的各帧量化选择对当前帧的帧失真作用甚微。由于上述观察和针对每帧的估计ρ-QP和D-QP表(可存储在存储器18中),拉氏松弛技术可用来为每帧找到所期望的QP选择。值ρ表示帧中非零量化DCT系数的数目,QP表示量化参数,及D表示失真。
根据一实施例,可将问题定义为基于第一遍编码期间所收集的统计为每帧挑选QP以实现视频序列的最佳总体质量。尽管如何进行第一遍编码的问题是相关的,但为了简化所述问题,人们应假设在第一遍时使用“贪心”帧级位分配算法来对帧进行编码。当然,根据本发明的两遍技术还可使用其它第一遍编码技术。在下文中,将帧位速率建模成ρ的函数,ρ是帧中非零量化DCT系数的数目。然后,位速率可表示为:
R=Aρ+B (方程式1)
其中A和B是恒定的建模参数。A可表示对非零量化DCT系数进行编码所需的平均位数,且B可表示用于非纹理信息的位,例如预测模式和运动矢量。
让N代表在经处理的视频序列中的总帧数。代表QP。代表每一非零量化DCT系数的平均位数。代表用于对非纹理信息进行编码的位数。代表非零量化DCT系数的数目。代表运动补偿残差的能量。代表在第一遍编码中所得到的第i帧失真,且(i=1,2,...,N)标识序列的帧。由“^”标识的变量是经第一遍编码估计的变量。没有标识符“^”的变量通常是类似命名的第二遍变量,例如要求解的近似或第二遍变量。
让Rbudget代表视频序列的总位预算,且{Qi}、{Ri}及{Di}代表第二遍编码中第i帧的QP、位速率以及失真。因此,所述问题可表示为:
Ri和Di均是Q1,Q2,...,Qi的函数,因为使用了预测性编码。此外, 且
基于前一帧的QP选择对于当前帧的速率失真性能有重大作用的观察,可显著简化帧依赖性。换句话说,i-元组函数Ri(Q1,Q2,...,Qi)和Di(Q1,Q2,...,Qi)可化简成2-元组函数Ri(Qi-1,Qi)和Di(Qi-1,Qi),因为Q1,Q2,...,Qi-2的选择不会使第i帧的速率和失真发生显著改变。在称为“足球(Football)QCIF视频序列”的序列上已对此种观察进行了验证,如图3-6中所示。
明确地说,图3使用标记为45的(QP1=10,QP2=10)、标记为46的(QP1=10,QP2=20)、标记为47的(QP1=20,QP2=10)以及标记为48的(QP1=20,QP2=20),为序列的第四帧绘制了速率失真曲线的实验结果。图4使用标记为51的(QP1=10,QP2=10)、标记为52的(QP1=10,QP2=20)、标记为53的(QP1=20,QP2=10)以及标记为54的(QP1=20,QP2=20),为所述序列的第四帧绘制了速率-QP曲线的实验结果。图5使用标记为56的(QP1=10,QP2=10)、标记为57的(QP1=10,QP2=20)、标记为58的(QP1=20,QP2=10)以及标记为59的(QP1=20,QP2=20),为所述序列的第四帧绘制了rho-QP曲线的实验结果。图6使用标记为61的(QP1=10,QP2=10)、标记为62的(QP1=10,QP2=20)、标记为63的(QP1=20,QP2=10)以及标记为64的(QP1=20,QP2=20),为所述序列的第四帧绘制了失真-QP曲线的实验结果。
对于由图3-6的结果所图解说明的实验,第一帧(I-帧)的QP设定成5,且QP组合(10,10)、(10,20)、(20,10)以及(20,20)用于第二帧和第三帧。从图3-6,其显示QP1(用于第二帧的QP)的选择对第四帧的速率和失真的作用甚微,但QP2(用于第三帧的QP)的选择直接影响第四帧的性能。因此,人们可通过仅考虑相邻帧的依赖性来简化问题,而不会显著牺牲任何质量。
因此,如果人们获得Qi-1和Qi候选者的所有组合的表Ri(Qi-1,Qi)和Di(Qi-1,Qi),那么可更加容易地求解方程式2的问题。在以下论述中,准确的估计模型经建议以通过使用第一遍编码中获得的信息来对速率和失真函数进行近似。然后,可使用拉氏松弛法将方程式2的问题转换成无约束问题来求解所述问题。在使用拉氏松弛法将所述问题转换以后,可将无约束问题映射成图形理论问题,并使用最短路径查找算法来求解。
对于失真估计模型,应注意在第一遍编码中,人们能够获得第i帧的(对于q=1,2,...,31)的所有值。此外,还可获得的值。基于由Z.He、Y.Kim以及S.K.Mitra在2001年8月的《IEEE视频技术电路与系统汇刊》(IEEE Trans.Circuitsand Systems for Video Technology)第928页到第940页的“基于ρ域源模型的DCT视频编码低延迟速率控制(Low-Delay Rate Control for DCT Video Coding via ρ-DomainSource Modeling)”中建议的失真模型,人们获得:
和
其中αi是模型参数。
从图5,人们可观察到rho-QP曲线主要由当前帧的QP驱动。换句话说,对于Qi被赋予大数字(例如,大于15)时的情况, 尤其成立。术语rho指本文定义的术语ρ。从方程式3和4,人们可获得:
通过将称为“足球QCIF视频序列”的序列的前三个帧编码来对方程式5进行实验验证。图7和8中图解说明了此实验的结果。使用QP=5对所述序列的第一帧(I-帧)进行编码,并分别使用QP=5、10、15、20及30对第二帧(P-帧)进行编码。图7显示每一设定的第三帧的D-QP曲线。在图7中,设定(I-帧,P-帧)结果标记如下:(5,5)标记为71、(5,10)标记为72、(5,15)标记为73、(5,20)标记为74、以及(5,30)标记为75。
在图8中,将由用于第二帧(P-帧)的设定QP=10产生的第三帧的实际D-QP曲线与来自于数据(由使用用于第二帧的QP=5、15、20和30的情况并通过使用方程式5所得)的估计D-QP曲线进行比较。在图8中,设定(I-帧,P-帧)结果标记如下:实际的(5,10)标记为81、预测的(5,5)标记为82、预测的(5,15)标记为83、预测的(5,20)标记为84、以及预测的(5,30)标记为85。所述结果表明方程式5是极其准确的。
为了估计方程式5中的σi 2(Qi-1),使用M代表帧中的总像素,yk(k=1,..,M)代表帧中第k个原始像素,xk代表前一帧中第k个原始像素,和代表在第一遍编码和第二遍编码中来自前一帧的对应的运动补偿后的像素。在此,考虑了所有视频块(例如,宏块)使用零运动矢量的特殊情况,其意味着和是在第一遍编码和第二遍编码中前一帧的对应的经重新构建的像素。在此情况中,
类似地,
(方程式7)
方程式6和7得到:
因此:
且因此:
从方程式6可观察到,速率函数的帧间依赖性是合理地低,且在运动补偿后的残差方差与参考帧编码误差之间存在线性关系。然而,可观察到,当前帧的速率对于其前一帧的QP选择具有一定依赖性。
{Ai}、{Bi}及{ρi}代表在第二遍编码中得到的每一非零量化DCT系数的平均位数、用于将非纹理信息编码的位数、以及非零量化DCT系数的数目。显然,Ri=Aiρi+Bi。在下文中,将这些参数根据经验建模为:
及
在方程式11中,值ρi依赖于运动补偿残差的能量(取决于前一帧的QP)和当前帧QP。通过对“足球QCIF”序列(与由图3-6的结果图解说明的实验相同)进行编码并估计来自所产生的第一遍数据的第四帧(其中对于第二帧QP=10,及对于第三帧QP=20)的rho-QP曲线,可(将第二帧和第三帧均设置成QP=10,并使用方程式11)验证方程式11的准确性。如图9中所示,估计的rho-QP曲线91极其接近于实际的rho-QP曲线92。类似地,非纹理位(Bi)的数目也依赖于所述残差能量以及当前帧的QP,如由方程式12所建模。使用方程式13,人们可基于值来控制值Ai。值Ai在高的位速率情况下是极其稳定的。然而,当是极小时,可能变得高得不合理。
因此,本发明已开发出用于估计Qi-1和Qi候选者的所有组合的Ri(Qi-1,Qi)和Di(Qi-1,Qi)的模型。假设所述模型是准确的,则可能开发出一种针对方程式2中的问题的所期望解决方案。明确地说,人们可使用拉氏松弛法,且其导出约束问题的凸包近似。
将拉氏成本函数定义为:
其中λ是拉格朗日乘数。如果存在λ*,以使
为了实施用于求解问题的算法,人们可定义成本函数Gk(Qk-1,Qk),所述成本函数Gk(Qk-1,Qk)在Qk-1和Qk是第(k-1)帧和第k帧的决策矢量的条件下,表示直到并包括第k帧的最低总位速率和失真。在此种情况中,k=N,GN(QN-1,QN)表示对于所有帧的最低总位速率和失真,并因此
用于推导高效算法的一个关键观察是对于第(k-2)帧和第(k-1)帧的既定决策矢量Qk-2和Qk-1、和成本函数Gk-1(Qk-2,Qk-1)、下一决策矢量Qk的选择与先前决策矢量Q1,Q2,..,Qk-3的选择无关。这意味着所述成本函数可以递归方式表示为:
上述成本函数的递归表示使得过程的未来步骤与其过去步骤无关,这是动态编程的基础。
所述问题可转换成在有向非循环图(DAG)中找到最短路径的图形理论问题。此种算法比具有呈指数计算复杂度的穷尽查找算法高效得多。
在大量视频剪辑上进行了实验,且在下文中论述了此种实验的结果。首先,所述实验通过将估计失真A、B及ρ与第二遍编码中的其实际值进行比较,验证了所建议的速率和失真模型的准确性。如图10-13中所示,在80kbps下对称为“母亲与女儿(Mother and Daughter)”序列的序列进行编码的结果证明经建议的估计模型是很准确的。
图10绘示经编码“母亲与女儿”序列的估计失真101和实际失真102。图11比较经编码“母亲与女儿”序列的A的估计值(标记为111)与A的实际值(标记为112)。图12比较经编码“母亲与女儿”序列的ρ的估计值(标记为121)与ρ的实际值(标记为122)。图13比较经编码“母亲与女儿”序列的B的估计值(标记为131)与B的实际值(标记为132)。从图10-13易得知估计值相对于实际值的准确性。
在第二实验中,在从40kbps到120kbps的位速率范围中对“母亲与女儿”QCIF序列进行编码,且结果与两个其它方法进行比较:(1)帧级贪心速率控制,其假设未来帧具有统一分布的纹理复杂性,并因此其在未来帧之间相等地分配其余位;(2)两遍速率控制,其使用来自第一遍的模型参数。图14中所示结果表明,在所有位速率范围中,本发明中的方法具有0.5-0.7dB的增益,高于其它两个方法。在图14中,帧级贪心速率控制方法标记为141,重复使用第一遍模型参数的方式标记为142,且具有本文所定义准确模型的所建议方式标记为143。所建议方法的改良结果在图14中显而易见。
在第三实验中,视频剪辑含有通过模拟三个视频景物而构成的具有不同内容复杂性的各种区段:称为“Stefan”的标准QCIF测试序列的前100个帧含有高活动性(快运动),称为“容器(Container)”的标准QCIF测试序列的前100个帧含有低活动性(慢运动),及称为“Carphone”的标准QCIF测试序列的前100个帧含有中等活动性(局部面部动作)。再次将所建议方法与先前实验中使用的两个其它算法进行比较。图15中显示了结果,并表明与其它方法相比,所建议算法具有高达1.7dB的显著增益。当位速率增加时,改良变小。改良是预期的,因为所建议的算法具有贯穿候选空间进行查找来为整个视频剪辑找到更加优化的位分配解决方案的优点。在图15中,帧级贪心速率控制方法标记为151,重复使用第一遍模型参数的方法标记为152,且具有本文所定义准确模型的所建议方法标记为153。所建议方法的改良结果在图15中显而易见。
上文概述的技术和图3-15中图解说明的结果显示一个根据本发明的基于模型的两遍速率控制算法的实施例。同样,通过观察到前一帧的量化参数选择对当前帧的速率失真性能有重大作用,帧依赖性问题被成功简化,且候选空间的大小从指数大大化简成多项式。在此之后,开发了一组准确的模型,用于在实际编码期间对速率和失真状态进行近似。这些模型直接实现了产生候选空间以及将问题映射成图形理论问题的能力。通过拉氏松弛法和动态编程,原始约束问题转换成无约束问题,并通过最短路径查找算法来求解。与其它现有速率控制算法相比,实验结果表明了高达1.7dB的显著增益。
图16是流程图,其图解说明根据本发明另一实施例的两遍速率受控视频编码技术,其中将视频序列的帧的质量波动最小化。与图2一样,将在图1的视频编码装置10的上下文中说明图16。如图16中所示,视频编码器14使用第一组QP对视频序列的帧进行编码(160)。速率控制单元30然后获得对于第一遍编码的经编码视频序列的速率失真统计(161)。视频编码器14的各种其它单元24、26及28可使用由速率控制单元30所标识的第一QP组来实施在第一遍编码中。可以各种不同方式或根据任何速率控制算法来选择第一组QP。在一实例中,第一组QP由速率控制单元30基于所谓“贪心”算法来动态地选择,所述“贪心”算法基于相对于序列中的帧数的速率预算来为帧选择QP,并然后在其余帧上重新分配其余速率预算。在另一实例中,在第一遍中可为所有帧预选择并使用相同的QP,在此种情况中,在第一组QP中的QP彼此完全相同。然而,可使用其它技术来为第一遍编码定义第一组QP。
在第一遍编码之后,速率控制单元30基于由第一遍编码获得的速率失真统计来估计视频序列的速率失真特性(162)。通常,估计所述速率失真特性的过程包含将速率模型和失真模型应用于速率失真统计。速率控制单元30然后通过使用速率失真特性将质量波动大致最小化,来为第二遍编码选择第二组QP(163)。在选择第二组QP时,速率控制单元30还可在将质量波动大致最小化时将帧的质量大致最大化,以实现较低的平均帧失真,随同最小化的质量波动。
第二组QP不同于第一组QP,且经选择以改良编码的质量。在此种情况中,第二组QP可能不会将全序列上的失真最小化,但会解决可将视频质量降级的另一问题。具体而言,图16的技术将在不同帧的编码质量方面的波动最小化,例如,所述技术将速率失真波动最小化。通过此种方式,可减少或消除闪烁问题。当编码质量在两个连续帧之间激烈地改变时,闪烁可通过其它方式发生。一旦速率控制单元30通过将质量波动大致最小化(且可能在将质量波动最小化时将质量最大化)已选择第二组QP,视频编码器14就使用第二组QP对视频序列进行编码(164)。
与图2的技术一样,在图16的技术中,第一遍编码可能是质量较低的一遍编码,但提供应用准确建模所需的信息,并考虑了视频序列的编码方面的帧间依赖性。可以各种方式来执行速率失真的最小化。在一实例中,将质量波动大致最小化包含在视频序列的速率预算下将失真波动大致最小化。在另一实例中,将质量波动大致最小化包含在视频序列的速率预算下将第二组QP中的QP波动大致最小化。在又一实例中,将质量波动大致最小化包含在视频序列的速率预算下将失真波动和速率波动大致最小化。在又一实例中,将质量波动大致最小化包含将与视频序列的帧相关联的最大失真值最小化。在又一实例中,将质量波动大致最小化包含将与视频序列的帧相关联的失真值降低到可编程失真阈值以下。本实施例的其它详情在下文中进行了阐述。
与上文所概述的技术一样,下文所概述的技术提供以恒定视频质量为目的的两遍帧级速率控制方案。然而,在下文中,所述技术是基于最小最大(MINMAX)失真准则。通过此框架,如果视频序列的位预算既定,那么编码器动态地调整每帧的编码参数,以将峰值最大帧失真最小化,其间接保证了经重构视频序列的恒定质量。所述框架还实现了通过经赋予的波动约束来控制经编码序列中的帧级位速率波动。基于阈值的迭代调整,编码器可找到一组满足所述位速率约束的编码参数。应用动态编程来改良编码效率。这种所建议的框架可为位预算约束的视频通信应用提供一个良好抉择,其目标是实现尽可能最低但几乎恒定的失真,同时保持可接受的逐帧视频质量(即,良好的平均PSNR)。如上文所述,然而,也可以大量其它方式来完成将质量波动大致最小化的过程。
下文开发了一组准确的速率和失真估计模型,以在第二遍编码中对实际速率和失真状态进行近似。所述模型再次基于以下观察:当前帧的速率和失真高度依赖于其前一帧的QP,且早于最近一帧的先前帧的QP选择对当前帧的性能作用甚微。所述模型和观察实现了在两遍法中QP选择过程的计算复杂度的显著降低。通过将所述问题映射成图形理论问题,应用最短路径算法来高效地找到最优解决方案。已模拟并测试了所建议技术。实验结果已表明,与贪心帧级速率控制算法相比,峰值信噪比(PSNR)波动显著下降高达70%。
对于“总体视频质量”存在若干替代含义,例如每帧的良好的平均质量、恒定帧质量以及良好的感知视频质量,仅列举几个。然而,通常没有可用来考虑所有方面的标准化的统一视频质量量度。通常,大多使用最小平均失真(MINAVE)准则来量度视频失真。已建议帧级速率控制算法,试图实现已解码视频序列的最佳平均PSNR。然而,使用MINAVE准则的常规解决方案有时导致帧上的不平衡分布,这致使因各帧之间的质量突变而发生“闪烁问题”。某些最新研究已聚焦于如何降低序列上的失真变化同时保持可接受的每帧PSNR。然而,这些方法主要设计用于具有严格延迟约束的实时应用,并因此性能常常较差。
作为MINAVE方法的替代方法,对于目标是实现几乎恒定的失真的应用而言,最小最大(MINMAX)失真方法可能是好的抉择。支持此方法的原理是,通过将最大源失真最小化,任何单个源失真均不会过高,且因此,总体质量将是很恒定的。本发明基于MINMAX准则建议两遍恒定质量的速率控制算法。为帧级QP选择建立了准确的速率和失真估计模型。所述模型再次基于以下观察:帧失真高度依赖于其前一帧的量化水平,而早于先前一帧的各帧的量化选择对当前帧的帧失真的作用甚微。在本文所述模型中,第二遍编码期间的实际失真可由第一遍(使用相同的QP)中的失真的函数、第一遍中运动补偿残差的能量以及第一遍中前一帧的失真来近似。此外,本发明研究了降低速率波动对建议的速率控制方案的作用,并建议用于实现两个任务的解决方案。
所建议的技术可表示混合框架,所述混合框架通过使用最小最大失真准则来动态挑选编码参数,能够实现PSNR和位速率两者的低波动。同样,所述框架可与用于帧速率和失真的一组准确估计模型一起工作。计算中的近似通过将抽样和空间从指数化简到多项式可高效地加速编码性能。
在本实施例中的问题是,基于第一遍编码期间所收集的统计,为每帧选择量化参数以实现具有最小质量波动的已解码视频序列,同时保持可接受的总体平均PSNR并符合某些速率波动约束。尽管如何进行第一遍编码的问题是相关的,但为了简化所述问题,人们可假设在第一遍时使用“贪心”帧级位分配算法来对帧进行编码。然而,另一选择为,可在第一遍中使用其它QP选择技术。
用于将帧位速率作为ρ(其是所述帧中非零量化DCT系数的数目)的函数的模型可表示为:
R=Aρ+B,
其中A和B是恒定建模参数,且A表示对非零量化DCT系数进行编码所需的平均位数,且B表示起因于非纹理信息的位,例如预测模式和运动矢量。
让N代表在经处理视频序列中的总帧数,且及分别代表在第一遍编码中得到的量化参数QP、每一非零量化DCT系数的平均位数、用于对非纹理信息进行编码的位数、非零量化DCT系数的数目、运动补偿残差的能量、以及第i帧的失真。如上文所用,由“^”标识的变量是由第一遍编码估计的变量。没有标识符“^”的变量通常是第二遍变量,例如要求解的近似或第二遍变量。
让Rbudget代表对于视频序列的总位预算,Rdev_threshold代表实际帧位速率与平均位速率的最大允许偏差,以及{Qi}、{Ri}及{Di}代表在第二遍编码中的QP、位速率和第i帧的失真。因此,问题的表示是:
且(方程式17)
以使
且 对于i=1,2,...,N。
其中Ri和Di两者是Q1,Q2,...,Qi的函数,由于预测性编码的本质。此外, 和 (i=1,...,N)。
在方程式17中,使用针对序列的既定位预算将失真的平均值和方差进行了最小化。然而,方程式17并不保证得到解决方案,因为将平均失真最小化的QP选择可能无法将失真的方差最小化,且反之亦然。可使用加权方法来将方程式17的问题修改成以下形式:
以使
且 对于i=1,2,...,N。
其中α∈[0,1]是定义失真的平均值和方差的相对重要性的加权因子。如预期,α增加会降低失真方差,代价是平均值失真会增加。然而,在没有用户的交互下,α的确定是很困难的。
根据本说明,可将问题形式化为:
以使
且 对于i=1,2,...,N。
此外,问题可进一步简化为:
以使 且
基于以下假设:目标结果是实现恒定视频质量,以及人们不希望在第一遍与第二遍之间的平均值失真中有较大差异。
同样,可基于前一帧的QP选择对当前帧的速率失真性能有重大作用的观察来简化帧依赖性。换句话说,在根据本发明的帧依赖性观察的条件下,人们可将i-元组函数Ri(Q1,Q2,...,Qi)和Di(Q1,Q2,...,Qi)化简成2-元组函数Ri(Qi-1,Qi)和Di(Qi-1,Qi),因为Qi,Q2,...,Qi-2的选择不会致使第i帧的速率和失真显著改变。因此,如果获得Qi-1和Qi候选者的所有组合的表Ri(Qi-1,Qi)和Di(Qi-1,Qi),那么可直接将问题简化成下式来求解方程式20的问题:
以使
且 对于i=1,2,...,N。
方程式21的问题可通过首先求解另一问题来求解,所述另一问题是
以使
且 对于i=1,2,...,N。
这可通过假设失真是针对CODEC的位速率非增函数来完成。换句话说,人们假设,通过增加可用位的数目,CODEC的性能将保持相同或得到改良。因此,当Dmax从零变化到无穷大时,方程式22的解R*(Dmax)描绘出图17中所示的阶梯状曲线175。因此,可使用对分来找到满足 的Dmax,并因此求解问题方程式21。
为了实施算法以求解方程式22,人们可创建成本函数Ck(Qk-1,Qk),所述成本函数Ck(Qk-1,Qk)在Qk-1和Qk是用于第(k-1)帧和第k帧的QP的条件下,表示直到并包括具有失真约束的第k帧的最低总速率。因此,的解也是方程式22所期望的解。
用于推导高效算法的一个关键观察是对于第(k-1)帧和第k帧的既定决策矢量Qk-2和Qk-1、和成本函数Ck-1(Qk-2,Qk-1)、下一决策矢量Qk的选择与先前的决策矢量Q1,Q2,..,Qk-3的选择无关。这是事实,因为成本函数可以递归方式表示为
其中
上述成本函数的递归表示使得优化过程的任何未来步骤与过去步骤无关,这是动态编程的基础。
通过方程式23定义的成本函数,所述问题可转换成在有向非循环图(DAG)中找到最短路径的图形理论问题。这种解法比穷尽查找算法的指数计算复杂度高效得多。
对于速率和失真,可使用估计模型。换句话说:
及
Ri(Qi-1,Qi)=Aiρi+Bi, (方程式26)
其中
及
(方程式29)
通过将方程式25-29中的估计速率和失真放入方程式22-24中,可高效地求解所述问题或方程式5。
在从60kbps到120kbps的位速率范围中,在大量标准视频测试序列(包括标识为“乒乓球(Table tennis)”、“领班(Foreman)”及“舞者(Dancer)”的视频序列)上进行了实验。在下文中报告了结果。
第一组实验通过放松位速率波动约束来聚焦于图16中所概述算法的恒定质量特征。上文所概述的所建议MINMAX方法与两个其它方法进行比较:(1)帧级贪心速率控制,其假设未来帧具有统一分布的纹理复杂性,并因此其在未来帧之间相等地分配其余位;(2)具有较高PSNR预期的MINMAX方法,换句话说,MINMAX方法不但寻求恒定质量,而且要求在第二遍中实现与第一遍中相同水平的平均PSNR。下文的方程式30中显示了问题公式,
以使 和
其中ε是极小的数字。除在平均PSNR上的额外约束外,方程式30极其类似于方程式21。
在图18-20中,显示了在“领班”序列上的测试结果。在此实例中,所有三种方法均具有类似的速率失真性能,但MINMAX方法将帧PSNR的标准偏差降低了50%。图20中显示了详细的PSNR分布,以证明通过使用MINMAX方法降低了PSNR波动。在图18中,贪心帧级速率控制方法标记为181,所建议的MINMAX方法标记为182,及具有较高PSNR预期的经修改的MINMAX方法标记为183。在图19中,贪心帧级速率控制方法标记为191,所建议的MINMAX方法标记为192,及具有较高PSNR预期的经修改的MINMAX方法标记为193。在图20中,贪心帧级速率控制方法标记为201,及经建议的MINMAX方法标记为202。
图21-22中显示了在“乒乓球”序列上的测试结果。如预期,所建议的MINMAX方法具有较低平均帧PSNR,但与贪心算法相比,其将PSNR波动降低了60-70%。具有较高PSNR预期的MINMAX方法获得了类似于贪心算法的PSNR,其中在PSNR波动方面降低了20-30%。在图21中,贪心帧级速率控制方法标记为211,所建议的MINMAX方法标记为212,及具有较高PSNR预期的经修改的MINMAX方法标记为213。在图22中,贪心帧级速率控制方法标记为221、经建议的MINMAX方法标记为222,及具有较高PSNR预期的经修改的MINMAX方法标记为223。
图23是显示当位速率等于120kbps时在“乒乓球”序列中的详细PSNR分布的图形。图24是显示当位速率等于120kbps时在“乒乓球”序列中的详细QP分布的图形。在图23中,贪心帧级速率控制方法标记为231,及所建议的MINMAX方法标记为232。在图24中,贪心帧级速率控制方法标记为241,及所建议的MINMAX方法标记为242。
图25和图26通过在120kbps下使用在5000与25000范围之内的位速率波动阈值的各种设定来对“乒乓球”序列进行编码而图解说明了位速率波动约束对系统性能的作用。具体而言,图25图解说明作为位速率波动阈值的函数的PSNR的标准偏差的曲线251。如预期,如图25中所示,当阈值增加时,PSNR波动减小。
图26中还比较了详细的速率波动。具体而言,曲线261对应于为10000的速率波动阈值,且曲线262对应于为25000的速率波动阈值。显然,在更严格的阈值下,所得序列位速率要平稳得多。注意以下方面是很重要的:通过使用此阈值,所述技术可动态地控制位速率波动(就像使用虚拟缓冲器来避免缓冲器溢出和下溢一样),又保持了经编码视频序列的恒定视频质量特性。
可使用所述MINMAX帧级速率控制算法将峰值最大帧失真最小化,其间接保证了经重构视频序列的恒定质量。可在视频编码装置中通过可编程阈值来控制视频序列中的速率波动。基于前一帧的量化参数选择对当前帧的速率失真性能有重大作用的观察,可开发具有一组准确速率和失真模型的视频编码装置。所述观察简化了帧依赖性问题,并因此将候选空间的大小从指数化简到多项式。在图17-26的图形中阐释的实验结果表明,相对于常规贪心算法方法,在视频序列上的PSNR标准偏差显著下降高达70%。
已说明了大量实施例。明确地说,已建议了使用“两遍”方法的各种速率控制技术,其中第一遍编码用来估计视频序列的特性,且然后使用估计特性对用于第二遍的量化参数(QP)的选择加以改良。更具体而言,已建议了与本发明相一致的两个基本替代方案。在第一种情况中,使用第一遍的估计速率失真特性,以将视频序列的帧失真最小化的方式来为第二遍选择QP。在第二种情况中,使用第一遍的估计速率失真特性,以将视频序列的帧之间的质量波动最小化的方式来为第二遍选择QP。
本文所述的技术可能实施在硬件、软件、固件、或其任何组合中。如果实施在软件中,那么所述技术可涉及一种包含程序代码的计算机可读媒体,所述程序代码当在对视频序列进行编码的装置中执行时会实施本文所述的一种或多种技术。在所述情况中,计算机可读媒体可包含随机存取存储器(RAM),例如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦可编程只读存储器(EEPROM)、快闪(FLASH)存储器、及类似存储器。
所述程序代码可以计算机可读指令形式存储于存储器上。在所述情况中,处理器(例如DSP)可执行存储于存储器中的指令,以便执行本文所述的一种或多种技术。在某些情况中,所述技术可由会调用各种硬件组件来加速编码过程的DSP来执行。在其它情况中,该视频编码器可实施为微处理器、一个或多个专用集成电路(ASIC)、一个或多个现场可编程门阵列(FPGA)、或者某些其它硬件-软件组合。
尽管已独立地说明了两种方法,但所述两种方法的各方面也可组合使用。因此,在本发明所涵盖的其它实施例中,可能组合不同技术的各方面。同样,尽管已说明了两遍方法,但根据本发明还可执行多得多的遍数。换句话说,本发明并不局限于两遍方法,而是更广泛地适用于其中至少使用了两遍编码的任何多遍方法。这些以及其它实施例都在上文权利要求书的范围之内。
Claims (32)
1、一种视频编码装置,其包含:
编码装置,其在第一遍编码中使用一组第一量化参数(QP)来对视频序列的帧进行编码;
获得装置,其获得所述第一遍编码的所述经编码视频序列的速率失真统计;
估计装置,其基于所述速率失真统计来估计所述视频序列的速率失真特性;及
选择装置,其基于所述估计的速率失真特性来为所述视频序列中的所述帧的第二遍编码选择第二组QP。
2、如权利要求1所述的编码装置,其进一步包含在所述第二遍编码中使用所述组第二QP来对所述视频序列进行编码的装置。
3、如权利要求1所述的编码装置,其中所述估计装置将速率模型和失真模型应用于所述速率失真统计以估计所述速率失真特性。
4、如权利要求3所述的编码装置,其中所述速率模型大致对应于由下式给出的模型:
Ri=(Ai)(ρi)+Bi
其中所述失真模型对应于由下式给出的模型:
其中:
且其中下标“i”是整数,其标识关于所述视频序列的第i帧的参数,下标“i-1”标识关于所述视频序列的第i-1帧的参数,及下标“i-2”标识关于所述视频序列的第i-2帧的参数,其中“^”符号将相应变量定义为第一遍变量,且没有“^”的符号将相应变量定义为第二遍变量,其中“Q”变量是QP,“D”变量是失真的量度,“R”变量是速率的量度,“σi 2”表示运动补偿残差的能量,“ρ”变量定义非零量化DCT系数的数目,“A”变量指每一非零量化离散余弦变换(DCT)系数的平均位数,“B”变量指用于对纹理信息进行编码的位数,及“M”是所述视频序列的所述帧中的像素数。
5、如权利要求1所述的编码装置,其中所述选择装置通过对所述估计的速率失真特性执行拉氏松弛运算来选择所述第二组QP。
6、如权利要求5所述的编码装置,其中所述选择装置通过获得下式的结果来执行所述拉氏松弛运算:
其中λ是拉格朗日乘数,J是成本函数,所述下标“i”是整数,其标识关于所述视频序列的第i帧的参数,所述下标“i-1”标识关于所述视频序列的第i-1帧的参数,“Q”变量是QP,D是失真模型,R是速率模型,且N是整数。
7、如权利要求1所述的编码装置,其中所述选择装置通过使所述视频序列中的所述帧的失真大致最小化来选择所述第二组QP。
8、如权利要求1所述的编码装置,其进一步包含基于贪心算法来选择所述第一组QP的选择装置,所述贪心算法使用速率预算来定义所述第一组中的每一QP。
9、如权利要求1所述的编码装置,其中所述第一组QP中的所述QP彼此完全相同。
10、一种方法,其包含:
在第一遍编码中使用一组第一量化参数(QP)来对视频序列的帧进行编码;
获得所述经编码视频序列的速率失真统计;
基于所述速率失真统计来估计所述视频序列的速率失真特性;及
基于所述估计的速率失真特性来为所述视频序列中的所述帧的第二遍编码选择第二组QP。
11、如权利要求10所述的方法,其进一步包含在所述第二遍编码中使用所述组第二QP来对所述视频序列进行编码。
12、如权利要求10所述的方法,其中估计所述速率失真特性包含将速率模型和失真模型应用于所述速率失真统计。
13、如权利要求12所述的方法,其中所述速率模型大致对应于由下式给出的模型:
Ri =(Ai)(ρi)+Bi
其中所述失真模型对应于由下式给出的模型:
其中:
且其中下标“i”是整数,其标识关于所述视频序列的第i帧的参数,下标“i-1”标识关于所述视频序列的第i-1帧的参数,及下标“i-2”标识关于所述视频序列的第i-2帧的参数,其中“^”符号将相应变量定义为第一遍变量,且没有“^”的符号将相应变量定义为第二遍变量,其中“Q”变量是QP,“D”变量是失真的量度,“R”变量是速率的量度,“σi 2”表示运动补偿残差的能量,“ρ”变量定义非零量化DCT系数的数目,“A”变量指每一非零量化离散余弦变换(DCT)系数的平均位数,“B”变量指用于对纹理信息进行编码的位数,及“M”是所述视频序列的所述帧中的像素数。
14、如权利要求10所述的方法,其中选择所述第二组QP包含对所述估计的速率失真特性执行拉氏松弛运算。
15、如权利要求14所述的方法,其中执行所述拉氏松弛运算包含获得下式的结果:
其中λ是拉格朗日乘数,J是成本函数,所述下标“i”是整数,其标识关于所述视频序列的第i帧的参数,所述下标“i-1”标识关于所述视频序列的第i-1帧的参数,“Q”变量是QP,D是失真模型,R是速率模型,及N是整数。
16、如权利要求10所述的方法,其中选择所述第二组QP包含使所述视频序列中的所述帧的失真大致最小化。
17、如权利要求10所述的方法,其进一步包含基于贪心算法来动态地选择所述第一组QP,所述贪心算法使用速率预算来定义所述第一组中的每一QP。
18、如权利要求10所述的方法,其中所述第一组QP中的所述QP彼此完全相同。
19、一种包含程序代码的计算机可读媒体,当在视频编码装置中执行所述程序编码时其:
在第一遍编码中使用一组第一量化参数(QP)来对视频序列的帧进行编码;
获得所述第一遍编码中的所述经编码视频序列的速率失真统计;
基于所述速率失真统计来估计所述视频序列的速率失真特性;及
基于所述估计的速率失真特性来为所述视频序列中的所述帧的第二遍编码选择第二组QP。
20、如权利要求19所述的计算机可读媒体,其进一步包含程序代码,当在所述视频编码装置中执行所述程序代码时,其在所述第二遍编码中使用所述组第二QP来对所述视频序列进行编码。
21、如权利要求19所述的计算机可读媒体,其中所述程序代码将速率模型和失真模型应用于所述速率失真统计以估计所述速率失真特性。
22、如权利要求21所述的计算机可读媒体,其中所述速率模型大致对应于由下式给出的模型:
Ri=(Ai)(ρi)+Bi
其中所述失真模型对应于由下式给出的模型:
其中:
且其中下标“i”是整数,其标识关于所述视频序列的第i帧的参数,下标“i-1”标识关于所述视频序列的第i-1帧的参数,及下标“i-2”标识关于所述视频序列的第i-2帧的参数,其中“^”符号将相应变量定义为第一遍变量,且没有“^”的符号将相应变量定义为第二遍变量,其中“Q”变量是QP,“D”变量是失真的量度,“R”变量是速率的量度,“σi 2”表示运动补偿残差的能量,“ρ”变量定义非零量化DCT系数的数目,“A”变量指每一非零量化离散余弦变换(DCT)系数的平均位数,“B”变量指用于对纹理信息进行编码的位数,及“M”是所述视频序列的所述帧中的像素数。
23、如权利要求19所述的计算机可读媒体,其中所述程序代码通过对所述估计速率失真特性执行拉氏松弛运算来选择所述第二组QP。
24、如权利要求23所述的计算机可读媒体,其中所述程序代码通过获得下式的结果来执行所述拉氏松弛运算:
其中λ是拉格朗日乘数,J是成本函数,所述下标“i”是整数,其标识关于所述视频序列的第i帧的参数,所述下标“i-1”标识关于所述视频序列的第i-1帧的参数,“Q”变量是QP,D是失真模型,R是速率模型,及N是整数。
25、如权利要求19所述的计算机可读媒体,其中所述程序代码通过使所述视频序列中的所述帧的失真大致最小化来选择所述第二组QP。
26、如权利要求19所述的计算机可读媒体,其中所述程序代码基于贪心算法来动态地选择所述第一组QP,所述贪心算法使用速率预算来定义所述第一组中的每一QP。
27、如权利要求19所述的计算机可读媒体,其中所述第一组QP中的所述QP彼此完全相同。
28、一种视频编码装置,其包含:
视频存储器,其存储视频序列;
本地存储器,其在视频编码期间存储所述视频序列的至少一部分;及
视频编码器,其通过以下操作对所述视频序列进行编码:
在第一遍编码中使用一组第一量化参数(QP)来对所述视频序列的帧进行编码,
获得所述第一遍编码的所述经编码视频序列的速率失真统计,
基于所述速率失真统计来估计所述视频序列的速率失真特性,
基于所述估计的速率失真特性来为所述视频序列中的所述帧的第二遍编码选择第二组QP,及
在第二遍编码中使用所述第二组QP对所述视频序列进行编码。
29、如权利要求28所述的视频编码装置,其中所述视频编码器包括运动估计器、运动补偿器、残差编码器、以及速率控制单元,其中所述运动估计器、所述运动补偿器、以及所述残差编码器在所述第一遍编码中使用所述第一组QP对所述视频序列进行编码,并在所述第二遍编码中使用所述第二组QP对所述视频序列进行编码,且其中所述速率控制单元获得所述速率失真统计、估计速率失真特性、并选择所述第二组QP。
30、如权利要求29所述的视频编码装置,其进一步包含:用以捕获所述视频序列的视频捕获装置,及用以传输所述第二遍编码的所述经编码视频序列的发射器。
31、如权利要求28所述的视频编码装置,其中所述视频编码器包括空间估计器、帧内预测单元、残差编码器以及速率控制单元,其中所述空间估计器、所述帧内预测单元以及所述残差编码器在所述第一遍编码中使用所述第一组QP对所述视频序列进行编码,并在所述第二遍编码中使用所述第二组QP对所述视频序列进行编码,且其中所述速率控制单元获得所述速率失真统计、估计速率失真特性、并选择所述第二组QP。
32、一种视频编码器,其通过以下操作对所述视频序列进行编码:
在第一遍编码中使用一组第一量化参数(QP)来对所述视频序列的帧进行编码;
获得所述第一遍编码的所述经编码视频序列的速率失真统计;
基于所述速率失真统计来估计所述视频序列的速率失真特性;
基于所述估计的速率失真特性来为所述视频序列中的所述帧的第二遍编码选择第二组QP;及
在第二遍编码中使用所述第二组QP对所述视频序列进行编码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71977505P | 2005-09-22 | 2005-09-22 | |
US60/719,775 | 2005-09-22 | ||
US11/303,617 US7876819B2 (en) | 2005-09-22 | 2005-12-15 | Two pass rate control techniques for video coding using rate-distortion characteristics |
US11/303,617 | 2005-12-15 | ||
PCT/US2006/036905 WO2007038230A1 (en) | 2005-09-22 | 2006-09-21 | Two pass rate control techniques for video coding using rate-distortion characteristics |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101331773A true CN101331773A (zh) | 2008-12-24 |
CN101331773B CN101331773B (zh) | 2014-09-17 |
Family
ID=40206475
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680043019.8A Expired - Fee Related CN101331773B (zh) | 2005-09-22 | 2006-09-21 | 使用速率失真特性进行速率受控视频编码的装置和方法 |
CN200680042490.5A Expired - Fee Related CN101523915B (zh) | 2005-09-22 | 2006-09-21 | 使用min-max方法的用于视频编码的两遍速率控制技术 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680042490.5A Expired - Fee Related CN101523915B (zh) | 2005-09-22 | 2006-09-21 | 使用min-max方法的用于视频编码的两遍速率控制技术 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN101331773B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595143A (zh) * | 2012-03-19 | 2012-07-18 | 中国科学院声学研究所 | 一种无线视频传输方法 |
CN103248884A (zh) * | 2012-02-14 | 2013-08-14 | 华为技术有限公司 | 一种控制视频速率的系统、基站及方法 |
CN104320667A (zh) * | 2014-11-03 | 2015-01-28 | 浙江泰立媒科技有限公司 | 多过程最优化编转码系统及方法 |
CN113132757A (zh) * | 2021-04-21 | 2021-07-16 | 北京汇钧科技有限公司 | 数据处理方法和装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959068B (zh) * | 2010-10-12 | 2012-12-19 | 华中科技大学 | 一种视频流解码计算复杂度估计方法 |
EP2544450B1 (en) | 2011-07-07 | 2016-04-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Model parameter estimation for a rate- or distortion-quantization model function |
CN103763559B (zh) * | 2014-01-09 | 2017-12-29 | 能力天空科技(北京)有限公司 | 一种视频文件转码方法 |
CN107371027A (zh) * | 2016-05-11 | 2017-11-21 | 晨星半导体股份有限公司 | 比特率控制方法及视频编码装置 |
CN108737266B (zh) * | 2018-04-28 | 2021-02-12 | 国网江苏省电力有限公司苏州供电分公司 | 基于双估计器的动态路由选择方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1206864C (zh) * | 2002-07-22 | 2005-06-15 | 中国科学院计算技术研究所 | 结合率失真优化的码率控制的方法及其装置 |
-
2006
- 2006-09-21 CN CN200680043019.8A patent/CN101331773B/zh not_active Expired - Fee Related
- 2006-09-21 CN CN200680042490.5A patent/CN101523915B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248884A (zh) * | 2012-02-14 | 2013-08-14 | 华为技术有限公司 | 一种控制视频速率的系统、基站及方法 |
CN102595143A (zh) * | 2012-03-19 | 2012-07-18 | 中国科学院声学研究所 | 一种无线视频传输方法 |
CN102595143B (zh) * | 2012-03-19 | 2014-01-29 | 中国科学院声学研究所 | 一种无线视频传输方法 |
CN104320667A (zh) * | 2014-11-03 | 2015-01-28 | 浙江泰立媒科技有限公司 | 多过程最优化编转码系统及方法 |
CN104320667B (zh) * | 2014-11-03 | 2017-11-03 | 浙江泰立媒科技有限公司 | 多过程最优化编转码系统及方法 |
CN113132757A (zh) * | 2021-04-21 | 2021-07-16 | 北京汇钧科技有限公司 | 数据处理方法和装置 |
CN113132757B (zh) * | 2021-04-21 | 2022-07-05 | 北京汇钧科技有限公司 | 数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101331773B (zh) | 2014-09-17 |
CN101523915B (zh) | 2011-06-08 |
CN101523915A (zh) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101331773B (zh) | 使用速率失真特性进行速率受控视频编码的装置和方法 | |
KR100974025B1 (ko) | 레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들 | |
US8467448B2 (en) | Apparatus and method for fast intra/inter macro-block mode decision for video encoding | |
KR100960249B1 (ko) | Min-max 접근법을 이용하여 비디오 코딩을 하기 위한2 패스 레이트 제어 기술 | |
KR100957316B1 (ko) | 멀티미디어 코딩을 위한 모드 선택 기술 | |
CN103918262B (zh) | 基于结构相似度的码率失真优化感知视频编码方法和系统 | |
JP4898467B2 (ja) | 可変ブロックサイズ動き予測のための符号化モードの決定方法及び装置 | |
CN101543074B (zh) | 去块滤波装置和方法 | |
KR100750136B1 (ko) | 영상의 부호화, 복호화 방법 및 장치 | |
US7764740B2 (en) | Fast block mode determining method for motion estimation, and apparatus thereof | |
CN104320657B (zh) | Hevc无损视频编码的预测模式选择方法及相应的编码方法 | |
JP2006140758A (ja) | 動画像符号化方法、動画像符号化装置および動画像符号化プログラム | |
US20100316118A1 (en) | Adaptive motion informaiton cost estimation with dynamic look-up table updating | |
CN107846593B (zh) | 一种率失真优化方法及装置 | |
CN104301724A (zh) | 视频处理方法、编码设备和解码设备 | |
JP2012034213A (ja) | 画像処理装置、画像処理システムおよび画像処理方法 | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
US20240040127A1 (en) | Video encoding method and apparatus and electronic device | |
CN114915789B (zh) | 一种帧间的拉格朗日乘子优化方法、系统、设备及介质 | |
US8194740B2 (en) | Apparatus and method for compression-encoding moving picture | |
JP5649296B2 (ja) | 画像符号化装置 | |
CN115428451A (zh) | 视频编码方法、编码器、系统以及计算机存储介质 | |
RU2587412C2 (ru) | Управление скоростью передачи видео на основе гистограммы коэффициентов преобразования | |
JP5171658B2 (ja) | 画像符号化装置 | |
JP3938679B2 (ja) | 最適符号化モード選択型動画像符号化方式 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140917 Termination date: 20190921 |
|
CF01 | Termination of patent right due to non-payment of annual fee |