CN101523915A - 使用min-max方法的用于视频编码的两遍速率控制技术 - Google Patents

使用min-max方法的用于视频编码的两遍速率控制技术 Download PDF

Info

Publication number
CN101523915A
CN101523915A CN200680042490.5A CN200680042490A CN101523915A CN 101523915 A CN101523915 A CN 101523915A CN 200680042490 A CN200680042490 A CN 200680042490A CN 101523915 A CN101523915 A CN 101523915A
Authority
CN
China
Prior art keywords
rate
distortion
video sequence
fact
frame
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
Application number
CN200680042490.5A
Other languages
English (en)
Other versions
CN101523915B (zh
Inventor
王浩宏
纳伦德拉纳特·马拉亚特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US11/303,618 external-priority patent/US8379721B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101523915A publication Critical patent/CN101523915A/zh
Application granted granted Critical
Publication of CN101523915B publication Critical patent/CN101523915B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明描述可基于“两遍”方法改进视频编码的速率控制技术。第一遍使用第一组量化参数(QP)对视频序列进行编码,以用于基于所述第一遍的统计来估计所述视频序列的速率-失真特性的目的。接着可界定第二组QP以用于第二遍编码。使用所述第一遍的所述估计的速率-失真特性以使所述视频序列的帧之间的质量波动最小化的方式选择用于所述第二遍的QP。此外,选择所述第二组QP还可在所述实质上最小化的质量波动下使所述帧的质量实质上最大化,以便以所述最小化的质量波动实现低平均帧失真。

Description

使用MIN-MAX方法的用于视频编码的两遍速率控制技术
本申请案主张2005年9月22日申请的第60/719,775号待决临时申请案的优先权。
技术领域
本发明涉及数字视频处理,且更明确地说涉及视频序列的速率控制编码。
背景技术
数字视频能力可并入到广范围的装置中,所述装置包含数字电视、数字直接广播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、台式计算机、数码相机、数字记录装置、蜂窝式或卫星无线电话等。数字视频装置在创建、修改、传输、存储、记录和播放全运动视频序列方面可提供超过常规模拟视频系统的显著改进。
已建立用于编码数字视频序列的许多不同的视频编码标准。举例来说,移动图片专家组(MPEG)已开发出许多标准,包含MPEG-1、MPEG-2和MPEG-4。其它标准包含国际电信联盟(ITU)H.263标准、由Cupertino California的Apple Computer开发的QuickTimeTM技术、由Redmond,Washington的Microsoft公司开发的Video for WindowsTM、由Intel公司开发的IndeoTM、来自Seattle,Washington的RealNetworks公司的RealVideoTM,以及由SuperMac公司开发的CinepakTM。此外,新的标准正不断出现和发展,包含ITUH.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)或快闪存储器。在其它实例中,视频存储器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)、Z字型扫描(zig-zag scanning)、运行长度编码、可变长度(霍夫曼)编码或给定编码标准中使用的任何其它过程。还可执行许多其它残余编码步骤。
速率控制单元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通过对所估计的速率-失真特性执行拉格朗日松弛运算来选择第二组QP,如下文进一步详细论述。在此情况或类似情况下,第二组QP的选择可涉及使视频序列中的帧的失真实质上最小化。在任何情况下,一旦速率控制单元30已选择第二组QP,视频编码器14就使用第二组QP对视频序列进行编码(44)。
在视频编码过程中,一个基本问题是在帧之间有效地分配位或为每一帧选择QP以实现视频序列的最佳总体质量。此问题的困难主要是由于帧的编码相依性和因此产生的搜索含有指数数目的节点的候选空间的成本。在本发明的一个实施例中,提议的解决方案是,使用一组估计模型来近似第二遍编码中的实际速率和失真状态。所述模型基于以下观察资料:在许多情况下,当前帧的速率和失真很大程度上取决于其前一帧的量化等级,且早于最后帧的先前帧的QP选择对当前帧的性能具有极小影响。所述模型和观察资料实现所述问题的候选空间的显著缩减。此外,通过使用拉格朗日松弛和动态编程,可将受约束的问题转化为不受约束的问题并通过使用最短路径搜索算法来解决。实验结果已显示与一些常规CODEC中使用的“贪婪”帧级速率控制算法相比多达1.7dB的显著增益。
许多常规速率控制方案是针对实时编码应用设计的且采用贪婪帧级位分配策略。贪婪帧级位分配策略假定将来帧应具有均匀分布的纹理复杂性。因此,贪婪帧级位分配策略在将来帧之间均等地分配剩余位。
不幸的是,实现良好帧位分配并不是一项平凡的任务,因为帧的速率-失真(R-D)函数取决于先前经编码帧的量化参数(QP)选择。换句话说,整个视频序列的全局速率-失真函数的产生由于帧相依性的缘故而非常困难。
本发明提议一种基于准确的速率和失真估计模型的帧级速率控制算法。已观察到,帧失真很大程度上取决于前一帧的量化等级。另外,第二遍编码期间的失真可通过例如第一遍(使用相同的量化等级)中的失真的函数、第一遍中运动补偿的残余的能量以及第一遍中前一帧的失真等统计来近似。还观察到,早于紧邻的前一帧的帧的量化选择对当前帧的帧失真具有极小影响。利用以上观察资料以及每一帧的所估计的ρ-QP和D-Q表(其可存储在存储器18中),可使用拉格朗日松弛技术来找到每一帧的合乎需要的QP选择。值ρ表示帧中非零量化DCT系数的数目,QP表示量化参数,且D表示失真。
根据一个实施例,所述问题可界定为基于第一遍编码期间收集的统计为每一帧选择QP以试图实现视频序列的最佳总体质量。尽管如何进行第一遍编码的问题与简化所述问题有关,但可假定使用“贪婪”帧级位分配算法在第一遍处对帧进行编码。当然,根据本发明的两遍技术还可使用其它第一遍编码技术。下文中,将帧位速率建模为ρ的函数,ρ是帧中非零量化DCT系数的数目。接着位速率可由下式表示:
R=Aρ+B   (等式1)
其中A和B是恒定建模参数。A可表示对非零量化DCT系数进行编码所需的位的平均数目,且B可表示用于非纹理信息(例如,预测模式和运动向量)的位。假设N表示经处理视频序列中的帧的总数。
Figure A200680042490D00131
表示QP。表示每非零量化DCT系数的位的平均数目。
Figure A200680042490D00133
表示用于编码非纹理信息的位的数目。
Figure A200680042490D00134
表示非零量化DCT系数的数目。表示运动补偿的残余的能量。
Figure A200680042490D00136
表示第一遍编码中产生的第i帧的失真,且(i=1、2、...、N)识别序列的帧。由“^”识别的变量是通过第一遍编码估计的变量。没有识别符“^”的变量是大体类似命名的第二遍变量,例如近似值或待求解的第二遍变量。
假设Rbudget表示视频序列的总位预算,且{Qi}、{Ri}和{Di}表示第二遍编码中第i帧的QP、位速率和失真。因此,问题可由下式表示
Figure A200680042490D0013084749QIETU
使得 Σ i = 1 N R i ≤ R budget          (等式2)
由于使用预测性编码的事实,所以Ri和Di均是Q1,Q2,..,Qi的函数。另外, R i ( Q ^ 1 , Q ^ 2 , . . . , Q ^ i ) = A ^ i ρ ^ i + B ^ i , D i ( Q ^ 1 , Q ^ 2 , . . . , Q ^ i ) = D ^ i ( i = 1 , . . . , N ) .
可基于前一帧的QP选择对当前帧的速率-失真性能具有主要影响的观察资料来显著简化帧相依性。换句话说,i元组函数Ri(Q1,Q2,...,Qi)和Di(Q1,Q2,....Qi)可简化为2元组函数Ri(Qi-1,Qi)和Di(Qi-1,Qi),因为Q1,Q2,...,Qi-2的选择不会对第i帧的速率和失真造成显著变化。已在称为“足球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描绘序列的第四帧的速率-QP曲线的实验结果,其使用标记为51的(QP1=10,QP2=10)、标记为52的(QP1=10,QP2=20)、标记为53的(QP1=20,QP2=10)和标记为54的(QP1=20,QP2=20)。图5描绘序列的第四帧的rho-QP曲线的实验结果,其使用标记为56的(QP1=10,QP2=10)、标记为57的(QP1=10,QP2=20)、标记为58的(QP1=20,QP2=10)和标记为59的(QP1=20,QP2=20)。图6描绘序列的第四帧的失真-QP曲线的实验结果,其使用标记为61的(QP1=10,QP2=10)、标记为62的(QP1=10,QP2=20)、标记为63的(QP1=20,QP2=10)和标记为64的(QP1=20,QP2=20)。
对于图3-6的结果所说明的实验,第一帧(I帧)的QP设定为5,且(10,10)、(10,20)、(20,10)和(20,20)的QP组合用于第二帧和第三帧。从图3-6可知,展示QP1(第二帧的QP)的选择对第四帧的速率和失真具有极小影响,但QP2(第三帧的QP)的选择直接影响第四帧的性能。因此,可通过仅考虑连续帧的相依性而不牺牲任何显著质量来简化所述问题。
因此,如果获得用于Qi-1和Qi的候选者的所有组合的Ri(Qi-1,Qi)和Di(Qi-1,Qi)的表,那么可较容易地对等式2的问题求解。在以下论述中,提议准确的估计模型以通过使用第一遍编码中获得的信息来近似速率和失真函数。接着,可使用拉格朗日松弛将所述问题转化为不受约束的问题来对等式2的问题求解。使用拉格朗日松弛转化所述问题之后,可使用最短路径搜索算法将不受约束的问题映射为图论问题并求解。
对于失真估计模型,注意到,在第一遍编码中,能够获得第i帧的
Figure A200680042490D00141
的所有值,其中q=1,2,...,31。另外,也可获得
Figure A200680042490D00142
的值。基于Z.He、Y.Kim和S.K.Mitra提议的失真模型“Low-Delay Rate Control for DCT Video Coding viaρ-Domain SourceModeling”,IEEE论文集,Circuits and Systems for Video Technology,第928-940页,2001年8月,获得:
D i ( Q ^ i - 1 , Q i ) = σ ^ i 2 ( Q ^ i - 1 ) e - a i ( 1 - ρ i ( Q ^ i - 1 , Q i ) )    (等式3)
D i ( Q i - 1 , Q i ) = σ i 2 ( Q i - 1 ) e - a i ( 1 - ρ i ( Q i - 1 , Q i ) )   (等式4)
其中αi是模型参数。
从图5中可观察到,rho-QP曲线主要由当前帧的QP驱动。换句话说, ρ i ( Q ^ i - 1 , Q i ) ≈ ρ i ( Q i - 1 , Q i ) 对于向Qi指派较大数字(例如,大于15)的情况尤其成立。术语rho是指本文定义的术语ρ,从等式3和4中,可获得:
D i ( Q i - 1 , Q i ) ≈ D i ( Q ^ i - 1 , Q i ) σ i 2 ( Q i - 1 ) σ ^ i 2 ( Q ^ i - 1 )    (等式5)
通过对称为“足球QCIF视频序列”的序列的前三个帧进行编码来以实验方法检验等式5。图7和8中说明此实验的结果。使用QP=5对序列的第一帧(I帧)进行编码,且分别使用QP=5、10、15、20和30对第二帧(P帧)进行编码。图7展示每一设定的第3帧的D-QP曲线。图7中,设定(I帧,P帧)的结果标记如下:(5,5)标记为71,(5,10)标记为72,(5,15)标记为73,(5,20)标记为74,且(5,30)标记为75。
图8中,将由第二帧(P帧)的设定QP=10产生的第3帧的实际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中的
Figure A200680042490D00155
,使用M来表示帧中的像素总数,yk(k-1,..,M)表示帧中的第k原始像素,xk表示前一帧中的第k原始像素,
Figure A200680042490D00156
Figure A200680042490D00157
是第一和第二遍编码中来自前一帧的相应运动补偿像素。此处,考虑一种特殊情况,其中所有视频块(例如,宏区块)使用零运动向量,这意味着
Figure A200680042490D00158
Figure A200680042490D00159
是第一和第二遍编码中前一帧的相应重构像素。在此情况下,
Figure A200680042490D00161
Figure A200680042490D00162
Figure A200680042490D00163
Figure A200680042490D00164
          (等式6)
类似地,
σ ^ i 2 ( Q ^ i - 1 ) = Σ k = 1 M ( x k - x ^ k ) 2 = Σ k = 1 M ( y k - x k ) 2 + D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) + 2 Σ k = 1 M ( y k - x k ) ( x k - x ^ k )   (等式7)
等式6和7产生:
Figure A200680042490D00166
≈ D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 )                                    (等式8)
因为如果图像数据的分布假定为高斯或拉普拉斯分布,那么
Figure A200680042490D00168
因此:
σ i 2 ( Q i - 1 ) ≈ σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 )                      (等式9)
且因此:
D i ( Q i - 1 , Q i ) ≈ D i ( Q i - 1 , Q i ) σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) σ i 2 ( Q ^ i - 1 )           (等式10)
从等式6可观察到,速率函数的帧间相依性适度较低,且运动补偿残余的方差与参考帧的编码误差之间存在线性关系。然而,可观察到,当前帧的速率对于其前一帧的QP选择具有某些相依性。
将{Ai}、{Bi}、{ρi}表示为第二遍编码中产生的每非零量化DCT系数的位的平均数目、用于编码非纹理信息的位的数目和非零量化DCT系数的数目。显然,Ri=Aiρi+Bi。下文中,这些参数以经验法建模为:
ρ i ≈ ρ ^ i σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) σ ^ i 2 ( Q ^ i - 1 )          (等式11)
B i ≈ B ^ i σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) σ ^ i 2 ( Q ^ i - 1 ) [ ρ ^ i ( Q ^ i ) ρ ^ i ( Q ^ i , ) ] 1 8   (等式12)和
Figure A200680042490D00173
                (等式13)
等式11中,ρi的值取决于运动补偿残余的能量(其取决于前一帧的QP)和当前帧QP。可通过对“足球QCIF”序列进行编码(与图3-6的结果所说明的相同的实验)并依据所产生的第一遍数据(其将第二和第三帧均设定为QP=10并使用等式11)估计第四帧的rho-QP曲线(对于第二帧QP=10,且对于第三帧QP=20),来检验等式11的准确性。如图9所示,所估计的rho-QP曲线91非常接近实际rho-QP曲线92。类似地,非纹理位的数目(Bi)也取决于残余的能量和当前帧的QP,其通过等式12建模。使用等式13,可基于
Figure A200680042490D00174
的值来控制Ai的值。Ai的值在高位速率情况下非常稳定。然而,当
Figure A200680042490D00175
非常小时,
Figure A200680042490D00176
可变得过高。
至此,本发明已开发用于估计用于Qi-1和Qi的候选者的所有组合的Ri(Qi-1,Qi)和Di(Qi-1,Qi)的模型。假定所述模型是准确的,有可能开发等式2中的问题的期望的解。明确地说,可使用拉格朗日松弛方法且其产生受约束问题的凸包近似值。
将拉格朗日价值函数定义为:
J λ ( { Q i } ) = Σ i = 1 N D i ( Q i - 1 , Q i ) + λ Σ i = 1 N R i ( Q i - 1 , Q i )        (等式14)
其中λ是拉格朗日乘数。如果存在λ*使得 { Q i } * = arg [ min { Q i } J λ * ( { Q i } ) ] 导致 R ( { Q i } * ) = R budget , 那么{Qi}*是等式2的期望解。因此,对等式2求解的任务等同于找到使价值函数Jλ({Qi})最小化的不受约束问题的期望解以及选择满足约束的适当拉格朗日乘数的较容易的任务。
为了实施用于对问题求解的算法,可定义价值函数Gk(Qk-1,Qk),其表示一直达到且包含第k帧的最小总位速率和失真,假定Qk-1和Qk是第(k-1)和第k帧的决策向量。在此情况下,k=N,GN(QN-1,QN)表示所有帧的最小总位速率和失真,且因此
min { Q i } J λ ( { Q i } ) = min Q N - 1 , Q N G N ( Q N - 1 , Q N )                           (等式15)
导出有效算法的一个关键观察资料是以下事实:假定第(k-2)和第(k-1)帧的决策向量Qk-2和Qk-1以及价值函数Gk-1(Qk-2,Qk-1),下一决策向量Qk的选择不依赖于先前决策向量Q1,Q2,...,Qk-3的选择。这意味着价值函数可以递归式表达为:
G k ( Q k - 1 , Q k ) = min Q k - 2 , Q k - 1 { G k - 1 ( Q k - 2 , Q k - 1 ) + D k ( Q k - 1 , Q k ) + λ R k ( Q k - 1 , Q k )   (等式16)
以上价值函数的递归表示形式使过程的将来步骤不依赖于其以前的步骤(这是动态编程的基础)。
所述问题可转化为在有向非循环图(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。在一个实例中,速率控制单元30基于所谓的“贪婪”算法动态地选择第一组QP,所述“贪婪”算法基于相对于序列中的帧的数目的速率预算来选择帧的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表示经处理视频序列中的帧的总数,且
Figure A200680042490D00221
分别表示量化参数QP、每非零量化DCT系数的位的平均数目、用于编码非纹理信息的位的数目、非零量化DCT系数的数目、运动补偿的残余的能量以及第一遍编码中产生的第i帧的失真。如上所述,由“^”识别的变量是通过第一遍编码估计的变量。没有识别符“^”的变量通常是第二遍变量,例如近似值或待求解的第二遍变量。
假设Rbudget表示视频序列的总位预算,Rdev_threshold表示实际帧位速率与平均位速率的最大容许偏差,且{Qi}、{Ri}和{Di}表示第二遍编码中第i帧的QP、位速率和失真。因此,问题的一种表示形式为:
Figure A200680042490D00231
Figure A200680042490D00232
          (等式17)
使得 Σ i = 1 N R i ( Q 1 , Q 2 , . . . , Q i ) ≤ R budget
| R i ( Q 1 , Q 2 , . . . , Q i ) - R budget N | ≤ R dev _ threshold  其中i=1、2、...N。
其中由于预测性编码性质的缘故,Ri和Di均是Q1,Q2,...,Qi的函数。另外, R i ( Q ^ 1 , Q ^ 2 , . . . , Q ^ i ) = A ^ i ρ ^ i + B ^ i D i ( Q ^ 1 , Q ^ 2 , . . . , Q ^ i ) = D ^ i ( i = 1 , . . . , N ) .
等式17中,失真的平均值和方差均以序列的给定的位预算来最小化。然而,等式17不保证有解,因为使平均失真最小化的QP选择可能不能使失真的方差最小化,且反之亦然。可使用加权方法将等式17的问题修改为以下形式:
Figure A200680042490D00237
α 1 N Σ i = 1 N D i ( Q 1 , Q 2 , . . . , Q i ) ]     (等式18)
使得 Σ i = 1 N R i ( Q 1 , Q 2 , . . . , Q i ) ≤ R budget
| R i ( Q 1 , Q 2 , . . . , Q i ) - R budget N | ≤ R dev _ threshold   其中i=1、2、...N。
其中α∈[0,1]是界定失真的平均值和方差的相对重要性的加权因数。如预期的,增加α会以平均失真增加为代价而减小失真方差。然而,在没有用户的交互的情况下,α的确定相当困难。
根据本发明,基于目标结果是实现恒定视频质量且不期望第一遍与第二遍之间的平均失真的较大差异的假定,所述问题可变为以下形式:
Figure A200680042490D00241
   (等式19)
使得 Σ i = 1 N R i ( Q 1 , Q 2 , . . . , Q i ) ≤ R budget
| R i ( Q 1 , Q 2 , . . . , Q i ) - R budget N | ≤ R dev _ threshold   其中i=1、2、...N。
此外,所述问题可进一步简化为:
Figure A200680042490D00244
  (等式20)
使得 Σ i = 1 N R i ( Q 1 , Q 2 , . . . , Q i ) ≤ R budget ,
| R i ( Q 1 , Q 2 , . . . , Q i ) - R budget N | ≤ R dev _ threshold  其中i=1、2、...N。
再次,可基于前一帧的QP选择对当前帧的速率-失真性能具有主要影响的观察资料来简化帧相依性。换句话说,假定根据本发明的帧相依性的观察资料,i元组函数Ri(Q1,Q2,...,Qi)和Di(Q1,Q2,....,Qi)可简化为2元组函数Ri(Qi-1,Qi)和Di(Qi-1,Qi),因为Q1,Q2,...,Qi-2的选择不会对第i帧的速率和失真造成显著变化。因此,如果获得用于Qi-1和Qi的候选者的所有组合的Ri(Qi-1,Qi)和Di(Qi-1,Qi)的表,那么可对等式20的问题直接求解,所述问题简化为:
Figure A200680042490D00247
   (等式21)
使得 Σ i = 1 N R i ( Q 1 , Q 2 , . . . , Q i ) ≤ R budget
| R i ( Q i - 1 , Q i ) - R budget N | ≤ R dev _ threshold   其中i=1、2、...N。
可通过首先对另一问题求解来对等式21的问题求解,即
最小化 Σ i = 1 N R i ( Q i - 1 , Q i )          (等式22)
使得 max i ∈ [ 1,2 , . . . , N ] | D i ( Q i - 1 , Q i ) - 1 N Σ i = 1 N D ^ i ( Q ^ 1 , Q ^ 2 , . . . , Q ^ i ) | ≤ D max
| R i ( Q i - 1 , Q i ) - R budget N | ≤ R dev _ threshold   其中i=1、2、...N。
这可通过假定失真是CODEC的位速率的非递增函数来进行。换句话说,假定通过增加可用位的数目,CODEC的性能将保持不变或改进。因此,当Dmax从零摆动到无穷大时,等式22的解R*(Dmax)描出图17所示的阶梯状曲线175。因此,可使用二等分来找到满足R*(D* max)≤Rbudget的D* max,且因此对等式21的问题求解。
为了实施用于对等式22求解的算法,可产生价值函数Gk(Qk-1,Qk),其表示在等式22中的失真约束下一直达到且包含第k帧的最小总速率,假定Qk-1和Qk是第(k-1)和第k帧的QP。因此的解也是等式22的期望解。
导出有效算法的一个关键观察资料是以下事实:假定第(k-1)和第k帧的决策向量Qk-2和Qk-1以及价值函数Gk-1(Qk-2,Qk-1),下一决策向量Qk的选择不依赖于先前决策向量Q1,Q2,...,Qk-3的选择。这成立是因为价值函数可以递归式表达为:
C k ( Q k - 1 , Q k ) = min Q k - 2 , Q k - 1 [ C k ( Q k - 2 , Q k - 1 ) + p k ( Q k - 1 , Q k ) ]    (等式23)
其中
Figure A200680042490D00261
    (等式24)
以上价值函数的递归表示形式使优化过程的任何将来步骤均不依赖于先前步骤(这是动态编程的基础)。
利用等式23界定的价值函数,此问题可转化为在有向非循环图(DAG)中找到最短路径的图论问题。此解决方案比穷举搜索算法的指数计算复杂性有效得多。
估计模型可用于速率和失真。即:
D i ( Q i - 1 , Q i ) ≈ D i ( Q ^ i - 1 , Q i ) σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) σ i 2 ( Q ^ i - 1 )         (等式25)
Ri(Qi-1,Qi)=Aiρi+Bi   (等式26)
其中
ρ i ≈ ρ ^ i σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) σ ^ i 2 ( Q ^ i - 1 )                     (等式27)
B i ≈ B ^ i σ ^ i 2 ( Q ^ i - 1 ) + D i - 1 ( Q i - 2 , Q i - 1 ) - D ^ i - 1 ( Q ^ i - 2 , Q ^ i - 1 ) σ ^ i 2 ( Q ^ i - 1 ) [ ρ ^ i ( Q ^ i ) ρ ^ i ( Q ^ i , ) ] 1 8             (等式28)
               (等式29)
通过将等式25-29中的估计的速率和失真代入等式22-24中,可有效地对等式5的问题求解。
在60kbps到120kbps的位速率范围内对若干标准视频测试序列(包含识别为“乒乓球”、“领班”和“舞蹈演员”的视频序列)实行实验。下文中报告结果。
第一组实验通过放松位速率波动约束而关注于图16中概述的算法的恒定质量特征。将上文概述的所提议的MINMAX方法与其它两种方法进行比较:(1)帧级贪婪速率控制,其假定将来传入的帧具有均匀分布的纹理复杂性且因此其将剩余位均等地分配在将来帧之间,和(2)具有较高PSNR期望值的MINMAX方法,即同样寻求恒定质量但要求在第二遍中实现与第一遍相同等级的平均PSNR的MINMAX方法。等式30中展示问题公式如下:
Figure A200680042490D00272
           (等式30)
使得 &Sigma; i = 1 N R i ( Q i - 1 , Q i ) &le; R budget | &Sigma; i = 1 N D i ( Q i - 1 , Q i ) - &Sigma; i = 1 N D ^ i ( Q ^ 1 , Q ^ 2 , . . . , Q ^ i ) | < &epsiv; ,
其中ε是非常小的数字。等式30除了对平均PSNR的额外约束外,非常类似于等式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,其中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说明通过利用5000与25000范围内的位速率波动阈值的各种设定在120kbps下对“乒乓球”序列进行编码对系统性能的位速率波动约束的影响。明确地说,图25说明作为位速率波动阈值的函数的PSNR标准偏差的曲线251。如所预期的,当如图25所示阈值增加时,PSNR波动减小。
图26中还比较细节速率波动。明确地说,曲线261对应于速率波动阈值10000,且曲线262对应于速率波动阈值25000。显然,在阈值较严格的情况下,序列的所得位速率更加平滑。重要的是应注意,通过使用此阈值,所述技术可动态地控制位速率波动(与使用虚拟缓冲器类似)以避免缓冲器上溢和下溢,以及维持经编码视频序列的恒定视频质量特性。
所描述的MINMAX帧级速率控制算法可用于使峰值最大帧失真最小化,这间接确保再组成的视频序列的恒定质量。可通过视频编码装置中的可编程阈值来控制视频序列中的速率波动。可基于前一帧的量化参数选择对当前帧的速率-失真性能具有主要影响的观察资料来开发视频编码装置,使其具有一组准确的速率和失真模型。所述观察资料简化帧相依性问题,且因此将候选空间的大小从指数级缩减到多项式级。图17-26的曲线图中陈述的实验结果指示相对于常规贪婪算法方法,视频序列上的PSNR标准偏差多达70%的显著缩减。
已描述若干实施例。明确地说,已提议使用“两遍”方法的各种速率控制技术,在所述“两遍”方法中第一遍编码用于估计视频序列的特性,且接着使用所估计的特性来改进对用于第二遍的量化参数(QP)的选择。更明确地说,已提议符合本发明的两种基本替代形式。在第一情况下,使用第一遍的估计的速率-失真特性以使视频序列的帧的失真最小化的方式选择用于第二遍的QP。在第二情况下,使用第一遍的估计的速率-失真特性以使视频序列的帧之间的质量波动最小化的方式选择用于第二遍的QP。
本文描述的技术可实施在硬件、软件、固件或其任何组合中。如果实施在软件中,所述技术可针对包括程序代码的计算机可读媒体,当在对视频序列进行编码的装置中执行时,所述程序代码执行本文描述的技术中的一者或一者以上。在所述情况下,计算机可读媒体可包括例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器等。
程序代码可以计算机可读指令的形式存储在存储器上。在所述情况下,例如DSP的处理器可执行存储在存储器中的指令,以便实行本文描述的技术中的一者或一者以上。在一些情况下,所述技术可由DSP执行,DSP调用各种硬件组件来加速编码过程。在其它情况下,视频编码器可实施为微处理器、一个或一个以上专用集成电路(ASIC)、一个或一个以上现场可编程门阵列(FPGA),或某一其它硬件-软件组合。
尽管已单独描述两种方法,但所述两种方法的各个方面也可组合使用。因此,不同技术的各个方面可以在本发明所预期的另外其它实施例中加以组合。并且,尽管已描述两遍方法,但根据本发明还可执行甚至更多遍。换句话说,本发明不限于两遍方法,而是可更广泛地应用于其中使用至少两遍编码的任何多遍方法。这些和其它实施例均在所附权利要求书的范围内。

Claims (35)

1.一种视频编码装置,其包括:
用于在第一遍编码中使用一组第一量化参数(QP)对视频序列的帧进行编码的装置;
用于获得所述第一遍编码的所述经编码视频序列的速率-失真统计的装置;
用于基于所述速率-失真统计来估计所述视频序列的速率-失真特性的装置;以及
用于使用所述估计的速率-失真特性使第二遍编码中所述视频序列的所述帧之间的质量波动实质上最小化来为所述视频序列中的所述帧的所述第二遍编码选择第二组QP的装置。
2.根据权利要求1所述的视频编码装置,其进一步包括用于在所述实质上最小化质量波动下使所述帧的质量实质上最大化的装置。
3.根据权利要求1所述的视频编码装置,其进一步包括用于在所述第二遍编码中使用所述组第二QP对所述视频序列进行编码的装置。
4.根据权利要求1所述的视频编码装置,其中所述用于估计的装置基于将速率模型和失真模型应用于所述速率-失真统计来估计所述速率-失真特性。
5.根据权利要求1所述的视频编码装置,其中所述用于实质上最小化的装置在所述视频序列的速率预算下使失真波动实质上最小化,以使所述质量波动实质上最小化。
6.根据权利要求1所述的视频编码装置,其中所述用于实质上最小化的装置在所述视频序列的速率预算下使所述第二组QP中的QP波动实质上最小化,以使所述质量波动实质上最小化。
7.根据权利要求1所述的视频编码装置,其中所述用于实质上最小化的装置在所述视频序列的速率预算下使失真波动和速率波动实质上最小化,以使所述质量波动实质上最小化。
8.根据权利要求1所述的视频编码装置,其进一步包括用于基于贪婪算法来动态地选择所述第一组QP的装置,所述贪婪算法使用速率预算来界定所述第一组中的每一QP。
9.根据权利要求1所述的视频编码装置,其中所述用于实质上最小化的装置使与所述视频序列的所述帧相关联的最大失真值实质上最小化,以使所述质量波动实质上最小化。
10.根据权利要求1所述的视频编码装置,其中所述用于实质上最小化的装置将与所述视频序列的所述帧相关联的失真值减小到可编程失真阈值以下,以使所述质量波动实质上最小化。
11.一种方法,其包括:
在第一遍编码中使用一组第一量化参数(QP)对视频序列的帧进行编码;
获得所述经编码视频序列的速率-失真统计;
基于所述速率-失真统计来估计所述视频序列的速率-失真特性;以及
使用所述估计的速率-失真特性使第二遍编码通过中所述视频序列的所述帧之间的质量波动实质上最小化来为所述视频序列中的所述帧的所述第二遍编码选择第二组QP。
12.根据权利要求11所述的方法,其进一步包括在所述实质上最小化质量波动下使所述帧的质量实质上最大化。
13.根据权利要求11所述的方法,其进一步包括在所述第二遍编码中使用所述组第二QP对所述视频序列进行编码。
14.根据权利要求11所述的方法,其中估计所述速率-失真特性包括将速率模型和失真模型应用于所述速率-失真统计。
15.根据权利要求11所述的方法,其中使所述质量波动实质上最小化包括在所述视频序列的速率预算下使失真波动实质上最小化。
16.根据权利要求11所述的方法,其中使所述质量波动实质上最小化包括在所述视频序列的速率预算下使所述第二组QP中的QP波动实质上最小化。
17.根据权利要求11所述的方法,其中使所述质量波动实质上最小化包括在所述视频序列的速率预算下使失真波动和速率波动实质上最小化。
18.根据权利要求11所述的方法,其进一步包括基于贪婪算法来动态地选择所述第一组QP,所述贪婪算法使用速率预算来界定所述第一组中的每一QP。
19.根据权利要求11所述的方法,其中使所述质量波动实质上最小化包括使与所述视频序列的所述帧相关联的最大失真值最小化。
20.根据权利要求11所述的方法,其中使所述质量波动实质上最小化包括将与所述视频序列的所述帧相关联的失真值减小到可编程失真阈值以下。
21.一种包括程序代码的计算机可读媒体,所述程序代码当在视频编码装置中执行时:
在第一遍编码中使用一组第一量化参数(QP)对视频序列的帧进行编码;
基于所述第一遍编码的所述经编码视频序列获得视频序列的速率-失真统计;
基于所述速率-失真统计来估计所述视频序列的速率-失真特性;以及
使用所述估计的速率-失真特性使第二遍编码中所述视频序列的所述帧之间的质量波动实质上最小化来为所述视频序列中的所述帧的所述第二遍编码选择第二组QP。
22.根据权利要求21所述的计算机可读媒体,其进一步包括选择所述第二组QP以在所述实质上最小化质量波动下使所述帧的质量实质上最大化的程序代码。
23.根据权利要求21所述的计算机可读媒体,其进一步包括在所述第二遍编码中使用所述组第二QP对所述视频序列进行编码的程序代码。
24.根据权利要求21所述的计算机可读媒体,其中所述程序代码将速率模型和失真模型应用于所述速率-失真统计以估计所述速率-失真特性。
25.根据权利要求21所述的计算机可读媒体,其中所述程序代码在所述视频序列的速率预算下使失真波动实质上最小化,以使所述质量波动实质上最小化。
26.根据权利要求21所述的计算机可读媒体,其中所述程序代码在所述视频序列的速率预算下使所述第二组QP中的QP波动实质上最小化,以使所述质量波动实质上最小化。
27.根据权利要求21所述的计算机可读媒体,其中所述程序代码在所述视频序列的速率预算下使失真波动和速率波动实质上最小化,以使所述质量波动实质上最小化。
28.根据权利要求21所述的计算机可读媒体,其中所述程序代码基于贪婪算法来动态地选择所述第一组QP,所述贪婪算法使用速率预算来界定所述第一组中的每一QP。
29.根据权利要求21所述的计算机可读媒体,其中所述程序代码使与所述视频序列的所述帧相关联的最大失真值实质上最小化,以使所述质量波动实质上最小化。
30.根据权利要求21所述的计算机可读媒体,其中所述程序代码将与所述视频序列的所述帧相关联的失真值减小到可编程失真阈值以下,以使所述质量波动实质上最小化。
31.一种视频编码装置,其包括:
视频存储器,其存储视频序列;
局部存储器,其在视频编码期间存储所述视频序列的至少一部分;以及
视频编码器,其通过以下操作对所述视频序列进行编码:
在第一遍编码中使用一组第一量化参数(QP)对视频序列的帧进行编码;
获得所述经编码视频序列的速率-失真统计;
基于所述速率-失真统计来估计所述视频序列的速率-失真特性;
使用所述估计的速率-失真特性使第二遍编码中所述视频序列的所述帧之间的质量波动实质上最小化来为所述视频序列中的所述帧的所述第二遍编码选择第二组QP;以及
在第二遍编码中使用所述第二组QP对所述视频序列进行编码。
32.根据权利要求31所述的视频编码装置,其中所述视频编码器包含运动估计器、运动补偿器、残余编码器和速率控制单元,其中所述运动估计器、所述运动补偿器和所述残余编码器在所述第一遍编码中使用所述第一组QP对所述视频序列进行编码,且在所述第二遍编码中使用所述第二组QP对所述视频序列进行编码,且其中所述速率控制单元获得所述速率-失真统计,估计速率-失真特性,并使质量波动实质上最小化来选择所述第二组QP。
33.根据权利要求32所述的视频编码装置,其进一步包括俘获所述视频序列的视频俘获装置,和传输所述第二遍编码的所述经编码视频序列的发射器。
34.根据权利要求31所述的视频编码装置,其中所述视频编码器包含空间估计器、帧内预测单元、残余编码器和速率控制单元,其中所述空间估计器、所述帧内预测单元和所述残余编码器在所述第一遍编码中使用所述第一组QP对所述视频序列进行编码,且在所述第二遍编码中使用所述第二组QP对所述视频序列进行编码,且其中所述速率控制单元获得所述速率-失真统计,估计速率-失真特性,并使质量波动实质上最小化来选择所述第二组QP。
35.一种视频编码器,其通过以下操作对视频序列进行编码:
在第一遍编码中使用一组第一量化参数(QP)对视频序列的帧进行编码;
获得所述经编码视频序列的速率-失真统计;
基于所述速率-失真统计来估计所述视频序列的速率-失真特性;
使用所述估计的速率-失真特性使第二遍编码中所述视频序列的所述帧之间的质量波动实质上最小化来为所述视频序列中的所述帧的所述第二遍编码选择第二组QP;以及
在第二遍编码中使用所述第二组QP对所述视频序列进行编码。
CN200680042490.5A 2005-09-22 2006-09-21 使用min-max方法的用于视频编码的两遍速率控制技术 Expired - Fee Related CN101523915B (zh)

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,618 2005-12-15
US11/303,618 US8379721B2 (en) 2005-09-22 2005-12-15 Two pass rate control techniques for video coding using a min-max approach
PCT/US2006/036939 WO2007038248A2 (en) 2005-09-22 2006-09-21 Two pass rate control techniques for video coding using a min-max approach

Publications (2)

Publication Number Publication Date
CN101523915A true CN101523915A (zh) 2009-09-02
CN101523915B CN101523915B (zh) 2011-06-08

Family

ID=40206475

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200680042490.5A Expired - Fee Related CN101523915B (zh) 2005-09-22 2006-09-21 使用min-max方法的用于视频编码的两遍速率控制技术
CN200680043019.8A Expired - Fee Related CN101331773B (zh) 2005-09-22 2006-09-21 使用速率失真特性进行速率受控视频编码的装置和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN200680043019.8A Expired - Fee Related CN101331773B (zh) 2005-09-22 2006-09-21 使用速率失真特性进行速率受控视频编码的装置和方法

Country Status (1)

Country Link
CN (2) CN101523915B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959068A (zh) * 2010-10-12 2011-01-26 华中科技大学 一种视频流解码计算复杂度估计方法
CN102868884A (zh) * 2011-07-07 2013-01-09 弗兰霍菲尔运输应用研究公司 针对码率-量化或者失真-量化模型函数的模型参数估计
CN107371027A (zh) * 2016-05-11 2017-11-21 晨星半导体股份有限公司 比特率控制方法及视频编码装置
CN103763559B (zh) * 2014-01-09 2017-12-29 能力天空科技(北京)有限公司 一种视频文件转码方法
CN108737266A (zh) * 2018-04-28 2018-11-02 国网江苏省电力有限公司苏州供电分公司 基于双估计器的动态路由选择方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248884B (zh) * 2012-02-14 2016-08-10 华为技术有限公司 一种控制视频速率的系统、基站及方法
CN102595143B (zh) * 2012-03-19 2014-01-29 中国科学院声学研究所 一种无线视频传输方法
CN104320667B (zh) * 2014-11-03 2017-11-03 浙江泰立媒科技有限公司 多过程最优化编转码系统及方法
CN113132757B (zh) * 2021-04-21 2022-07-05 北京汇钧科技有限公司 数据处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1206864C (zh) * 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101959068A (zh) * 2010-10-12 2011-01-26 华中科技大学 一种视频流解码计算复杂度估计方法
CN102868884A (zh) * 2011-07-07 2013-01-09 弗兰霍菲尔运输应用研究公司 针对码率-量化或者失真-量化模型函数的模型参数估计
CN102868884B (zh) * 2011-07-07 2015-09-16 弗兰霍菲尔运输应用研究公司 针对码率-量化或者失真-量化模型函数的模型参数估计
US9445102B2 (en) 2011-07-07 2016-09-13 Fraunhofer-Gesellschaft Zur Foerderung 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 晨星半导体股份有限公司 比特率控制方法及视频编码装置
CN108737266A (zh) * 2018-04-28 2018-11-02 国网江苏省电力有限公司苏州供电分公司 基于双估计器的动态路由选择方法

Also Published As

Publication number Publication date
CN101331773A (zh) 2008-12-24
CN101523915B (zh) 2011-06-08
CN101331773B (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
JP5006327B2 (ja) レート−歪特性を使用するビデオ・コーディングのための2回パス・レート制御技術
CN101523915B (zh) 使用min-max方法的用于视频编码的两遍速率控制技术
JP5096342B2 (ja) 最小−最大アプローチを使用するビデオ・コーディングのための2回パス・レート制御技術
KR100468726B1 (ko) 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
US9264731B2 (en) Method and an apparatus for decoding a video
US20080112481A1 (en) Apparatus and method for fast intra/inter macro-block mode decision for video encoding
KR20140042845A (ko) 지각적 비디오 코딩을 위한 구조적 유사성 기반의 레이트-왜곡 최적화 방법 및 시스템
US20220014758A1 (en) System and method for controlling video coding within image frame
US20100111180A1 (en) Scene change detection
US20090074075A1 (en) Efficient real-time rate control for video compression processes
JPWO2006101126A1 (ja) 符号化装置および符号化装置を備えた動画像記録システム
US20140029664A1 (en) Frame-level dependent bit allocation in hybrid video encoding
US8194740B2 (en) Apparatus and method for compression-encoding moving picture
JP5649296B2 (ja) 画像符号化装置
CN115428451A (zh) 视频编码方法、编码器、系统以及计算机存储介质
Milani et al. An Accurate Low-Complexity Rate Control Algorithm Based on $(\rho, E_ {q}) $-Domain
Huong et al. Artificial intelligence based adaptive gop size selection for effective wyner-ziv video coding
JP2002185966A (ja) 映像符号化装置
Ye et al. Adaptive gradient information and BFGS based inter frame rate control for high efficiency video coding
Lei et al. An accurate bit-rate control algorithm for video transcoding
KR101307469B1 (ko) 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법
JP2005217499A (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
Nguyen et al. Artificial Intelligence Based Adaptive GOP Size Selection for Effective Wyner-Ziv Video Coding
JPH11196423A (ja) 画像処理装置および方法、並びに提供媒体
KR101353289B1 (ko) 율-왜곡 비용함수를 이용한 트랜스코딩 방법 및 이를 이용한 트랜스코더

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: 20110608

Termination date: 20150921

EXPY Termination of patent right or utility model