在编码器中提供一次性速率控制的系统和方法

文档序号:7638923阅读:331来源:国知局
专利名称:在编码器中提供一次性速率控制的系统和方法
技术领域
本发明通常涉及用于压缩视频编码器的速率控制器。更具体地,本发明涉及用于压缩的视频编码器的 一 次性(one-pass )速率控制器, 其中该编码器配置为遵守在视频编码标准中规定的緩冲方案。
背景技术
大多数实际中的视频传输技术当前要求编码后的视频流坚持在 平均比特速率和比特速率变化方面的约束。通常根据緩冲要求来表 达比特速率变化。所有的当前视频压缩标准常规地或有教益地包含 编码器速率控制方案需要实现以形成适应性比特流的緩沖模型。 第三代合作伙伴计划(3GPP)是以在国际移动电信2000(IMT-2000 )移动系统的范围内创建全球适用的移动电话系统规范 为目的而创建的合作。3GPP正在考虑对于所有产品编码器均要求最 低质量水平。在循环和存储器消耗方面,对于基于3GPP终端的编码 器的速率控制方案需要合理地降低比重。这种方案在緩沖需求方面 还需要灵活,从而能够处理基于3GPP终端的编码器的不同应用(例 如记录应用、流发送服务应用、对话应用等等)的约束。此外,此 方案还必须是高质量的,从而改进用户体验。最后,这些方案需要 在任何时候都满足由标准所设定的緩沖要求,从而确保适应性的比 特流和互纟乘作性。尽管具有不少于30种已知的不同速率控制方案,但没有一种方 案满足上述所有要求,即低比重、 一次性、在应用方面灵活以及足 够严格从而保证与相关于3GPP的一见频编码标准的緩冲方案相适应(例如H.263基线、MPEG-4第2部分简档以及AVC基线标准)。发明内容本发明通过提供一种用于压缩视频编码器的 一 次性速率控制器 来解决上述问题。本发明的控制器可以配置为遵守在当前的视频编 码标准中所规定的緩冲方案。本发明包括具有不同的窗口大小的多个速率失真(RD)模型,其用于针对每个窗口的恒定质量和恒定速 率情形估计量化参数(QP)。緩沖器调节器用于实现可被用于特定 帧的比特数目的上限和下限。调制器基于由緩冲器条件和RD模型 状态所提供的信息来选择最佳QP,并且帧内QP调整器在对帧进行 编码的同时确定是否需要对该QP进行调整。如果需要的话,则该帧 内QP调整器调整该QP。本发明完全使用解码缓沖器并通过具有低质量变化的最小緩沖 器上溢和下益而提供改进的用户体验。当使用具有不同窗口大小的 两个RD模型时,可以在恒定质量和恒定速率操作之间实现更好的 平衡。以同一緩冲器大小,所开发的速率控制器可以通过较小的质 量变化来实现改进的主观质量。而且,当与早期的解决方案相比较 时,改进了客观质量测量。当结合附图进行详细描述时,本发明的这些和其它目的、优点 和特征,连同其操作的组织和方式将变得清楚明了,其中在以下描 述的整个若干附图中,相同的单元具有相同的数字。


图1是可以在其中实施本发明的系统的总体视图;图2是可以在本发明的实施中使用的移动电话的透视图;图3是图2的移动电话的电话电路的示意图;图4是示出了在本发明的速率控制系统中涉及的步骤的流程图;以及图5是示出了在本发明中实现算法以找到帧的初始QP中涉及的 步骤的流程图。
具体实施方式
图1示出了在其中可以使用本发明的系统10,该系统包括可以 通过网络进行通信的多个通信设备。系统IO可以包括有线网络或者 无线网络的任何组合,其中无线网络包括但不限于移动电话网络、无线局域网(LAN)、蓝牙个域网、以太网LAN、令牌环LAN、广 域网、因特网等等。系统IO可以包括有线通信设备和无线通信设备两者。作为示例,图1中所示的系统10包括移动电话网络11和因特 网28。到因特网28的连接性可包括但不限于远程无线连接、短程无 线连接以及各种有线连接,包括但不限于电话线、电缆、电力线等。系统10的示例性通信设备可以包括但不限于移动电话12、 PDA 和移动电话的组合14、 PDA 16、集成消息收发设备(IMD) 18、台 式计算机20以及笔记本计算机22。通信设备可以是固定的,或者当 通信设备由正在移动的个人携带时,该通信设备可以是移动的。通 信设备还可以位于以下运输模式中,该运输模式包括但不限于汽车、 卡车、出租车、公共汽车、船舶、飞机、自行车、摩托车等。其中一些或者所有通信设备可以通过到基站24的无线连4妻25向基站24 发送和接收呼叫和消息并且可以与服务供应商进行通信。基站24可以连接到网络服务器26,该网络服务器26允许移动电话网络11和 因特网28之间的通信。系统IO可以包括附加的通信设备和不同类 型的通信设备。通信设备可以使用各种传输技术来进行通信,其中包括但不限 于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电 信系统(UMTS) 、1 >多址(TDMA)、频分多址(FDMA)、传 输控制协议/网际协议(TCP/IP)、短消息收发服务(SMS)、多媒 体消息收发服务(MMS)、电子邮件、即时消息收发服务(IMS)、 蓝牙、IEEE 802.11等。通信设备可以使用各种介质进行通信包括但 不限于无线电、红外、激光、电缆连接等等。图2和图3示出了其中可实施本发明的一个代表性移动电话12。然而,应该理解到本发明并不旨在限于一种特定类型的移动电话12 或者其他电子设备。图2和图3的移动电话12包括外壳30、液晶显 示器形式的显示器32、小键盘34、麦克风36、耳机38、电池40、 红外端口42、天线44、根据本发明的一个实施方式的UICC形式的 智能卡46、读卡器48、无线接口电路52、编解码器电路54、控制 器56以及存储器58。各种电路和元件是现有技术中已知的所有类 型,例如在Nokia移动电话范畴内。本发明提供 一 种用于压缩视频编码器的 一 次性速率控制器。该 控制器可以配置为符合当前视频编码标准中所规定的緩沖方案。本 发明包括具有不同的窗口大小的多个速率失真(RD)模型,用于估 计针对每个窗口的恒定质量和恒定速率情形的量化参数(QP)。緩 沖器调节器用于实现可被用于特定帧的比特数目的上限和下限。调 制器基于由緩沖器条件和RD模型状态所提供的信息来选择最佳 QP,并且帧内QP调整器在对帧进行编码的同时确定是否需要对该 QP进行调整。如果需要的话,则该帧内QP调整器调整该QP。大多数控制器算法采用速率失真模型,其将帧所使用的比特数目与帧的复杂度、用于对帧进行编码的QP之一或者这两种特征相关起来。可以结合本发明使用的一种RD模型是Lee, Chiang和Zhang在IEEE Circuits and Systems for Video Technology期子'J中的题目为"Scalable Rate Control for MPEG-4 Video"中所提议的模型。还可以使用将量化参数与用于帧的比特数目相关起来的其他RD模型。i^^+i 吝《f " 雄JD gP2 , T》、、丄J在等式(1 )中,A"表示用于对帧的紋理信息(残差)进行编码 的比特数目,MJD是帧的运动补偿误差的平均绝对失真,g尸是用于帧的量化参数,①和"2是模型参数。该模型将^"定义为帧的失真和量化参数的二次方程函数。该二次方程的特性由模型参数"和a2 来定义。在对每个帧进行编码之后,速率控制器(RC)使用先前帧 的&"、 M4D和^P信息,并利用最小平方估计技术来更新模型参数, fl/和"2。用于对RD模型进行更新的帧的数目可以发生变化,并且这里称为RD模型的窗口大小。窗口大小在RD模型的特性方面扮演重要角色,并且因此对速率 控制器如何操作产生影响。短窗口 (SW)模型能够非常迅速地捕获 视频的特性,并且适用于具有低解码器緩冲器的恒定比特速率应用。 该长窗口 (LW)模型的特性是緩慢改变,从而产生近乎恒定质量的 视频,并且因此适用于大解码器緩沖器可用的情况。本发明涉及RC算法,该算法基于使用具有不同窗口大小的两个 RD模型。本发明还涉及使用新颖性的方式来使用緩冲器满度计算帧 的QP,以及SW和LW模型。此外,基于PI的控制器用于降低缓 冲器上溢和下溢的数目。图4是描述了在本发明的算法实现中涉及的步骤的流程图。在 步骤400,视频编码开始。在步骤410,初始化与RC相关的参数, 例如比特速率、缓冲器大小等。在对每个帧进行编码之前,在步骤 420, RC计算该帧的初始QP,并且分配允许帧4吏用的最大和最小比 特数目。该最大和最小比特数目称为帧的比特封装(envelop)。在 步骤430开始对该帧进行编码。在步骤440,对宏块(MB)组进行 编码。在步骤450, RC确定迄今为止已经生成的比特数目是否处于 帧的比特封装所设定的界限内,并且如果不是,则在步骤460,相应 地调节QP以用于下一个MB组。当完成对帧的编码时,在步-骤470, 确定是否需要对帧进行重新编码。如果需要对帧进行重新编码,则 在步骤480,根据帧编码的结果来更新RC参数和RD模型。该处理 一直重复,直到没有必要进行重新编码。然后在步骤490确定是否 已经到达视频的终点。如果尚未到达视频的终点,则对下一帧重复 该处理。如果已经到达—见频的终点,则在步骤495,该处理完成。图5是表示在本发明的一个实施方式中用于计算帧的QP的算法 的流程图。该第一帧QP被接受为输入参数或被计算。以与针对P 帧不同的方式来计算理想数据表示(IDR)帧的QP,其仅包含通过 察看目前帧和先前帧之间的差异而生成的预测信息(不是整个图 片),从而在步骤500首先确定图片类型。当RD模型窗口中的帧的数目低于特定阈值(例如低于3)的时候,在图5中描述的算法不 依赖于RD模型窗口 ,并且使用先前帧的平均QP (即在针对先前帧 的所有宏块中使用的QP的平均值)。首先,使用下列等式来计算针对该帧的比特的目标数目4fe-^2l要编码的帧数目未知--4e'l---要编码的帧数目已知<formula>formula see original document page 13</formula> (2)凡",,^是针对第i个帧的目标比特数目,^她。是视频比特速率; /是针对视频的帧速率,、。r是到对第/个帧进行编码为止所使用的比 特数目与如果在理想速率'&^/f.下编码的所有先前帧所使用的比特数 目之间的差。『是比特调节窗口长度,而WWW JhW2M是视频帧的总数目。在计算了该帧的目标比特数目之后,在步骤505中,使用针对P 图像类型的下列二次方程式来找出两个QP,即QP,和QPuv:及 <formula>formula see original document page 13</formula>凡《6'-^是用于对先前帧进行编码的紋理比特数目。Kw^'力是用 于对先前帧进行编码的报头比特数目。5"『一W'M是短窗口 RD才莫型的 窗口大小。丄『—w&是长窗口 RD模型的窗口大小。鹏A^W是在窗口 大小x上计算的先前帧的MAD的平均值。&第化训)和(化1^力,1^)是分别针对短窗口和长窗口的RD模型参数。QPsw和QPLw中的变化被限于为2。每五个帧对QPlw奸算一次, 而在每个帧处更新QPSW。y =丑 t"咖(0緩沖器满度率T被定义为=4 。 ^""自^是编码帧(i)时的緩 沖器占用率,5血是緩冲器的大小。在步骤510,使用T、 QPsw和QPuv,并使用分段线性函数来计算针对帧的初始QP:<formula>formula see original document page 14</formula>下面的等式6根据緩冲器满度定义了三个操作区域。这些区域 包括非常关键的区域,其中y<0.05,并且0"S^/;不太关键的区域, 其中0,05^<(),35和0,65打<0.95;以及不关键的区域,其中0.35 0.65。对于不关键区域,帧的初始qp与当緩冲器满度在期望水平时支持恒定质量视频的QPlw相同。对于非常关键的区域,根 据緩沖器满度,从先前帧的平均QP来分解地(disruptly)改变该帧 的初始QP,从而避免緩沖器上溢和下溢。对于剩余的区域,使用下 列等式来计算QP:<formula>formula see original document page 14</formula>
qp weighted是qpsw和qplw的加权平均。qpSW和QPlW的对应权 重依赖于緩冲器满度。如果緩冲器接近于上溢或下溢,则QPsw将具 有支持恒定比特速率视频的较大权重,而当緩冲器满度不关键时,QPuv将具有支持恒定质量视频的较大权重。在该计算之后,在步骤515,使用基于PI的控制器来计算帧的比特封装。在本发明的一个实施方式中,通过与Sun和Ahmad在IEEE Circuits and System for Video Technology期刊中出版的名称为"A Robust and Adaptive Rate Control Algorithm for Object-Based Video Coding"的学术文件中所提议类似的方法来计算帧的比特封装。需 要理解的是,可以通过现有技术中已知的各种机制来实现该控制机 制。这些其它机制可以包括例如P控制器、PD控制器、PID控制器 或非线性控制机制例如模糊控制器、神经控制器、H。控制器和/或PQ 控制器。比特封装包括帧可以使用的比特数目的上限和下限,目标 是最小化緩冲上溢和下溢的可能性。上限《' (/)被首先初始化为该帧目标比特数目的两倍。下限^,(0被调节为帧目标比特数目的四分之及,<formula>formula see original document page 15</formula>然后使用误差信号五在编码帧(i)的时刻来测量目标緩沖器满<formula>formula see original document page 15</formula>度和实际緩冲器满度之间的差异。这被定义为 2 。然后将误差信号发送到PI控制器<formula>formula see original document page 15</formula>^和^分别是比例和积分控制参数。根据尸/ GJ的符号,上限 和下限通过以下来进一步调节<formula>formula see original document page 15</formula>使用下列方程,根据^ ^和i /。,^来计算帧的最小和最大量化值<formula>formula see original document page 15</formula>使用g尸柚和g尸画,在步骤520,通过下列等式来截短(clip) 帧的QP初始值,然后帧编码开始<formula>formula see original document page 15</formula>由于IDR帧的RD特征与P帧的特征有显著不同,因此使用另一种方法来计算IDR帧的初始QP:在步骤525使用以下来估计帧(i)的复杂度 <formula>formula see original document page 15</formula>K"/"g是帧的亮度分量的平均方差。通过对所有宏块的方差求平均而计算得到w 。通过对宏块的水平和垂直紋理函数求平均而计算7^/^s和reWs,其由下列等式给出<formula>formula see original document page 16</formula>
在这些等式中,尸是保持宏块的亮度数据的阵列。在步骤530, 确定该帧是否为视频的第一个图像,如果该帧是视频的第一个图像, 则在步骤575首先确定C 是否低于预定阈值。如果C 低于 该阈值,则在步骤580,将初始QP设定为QP的最大值。如果C6', 不低于该阈值,则在步骤585,检查该帧以确定是否提供了初始g尸。 如果提供了初始QP,则在步骤5卯将输入QP设定为初始QP。如果 没有提供初始QP,则在步骤595中按照如下来计算第一帧的QP:
<formula>formula see original document page 16</formula>. (8)在此等式中,A、 &和/尸—i ""O是复杂度参数。对于在第一图像之后出现的IDR图像,首先在步骤535检查IDR是否是场景分割 (scene-cut)或周期性插入的结果。如果发生场景分割,则在步骤 540中将短窗口 RD才莫型重新设定为初始阶段。而且,在步骤545, 将该场景的第一帧的复杂度与先前帧的平均复杂度进行比较。如果 差异大于预定阈值,则在步骤550,也对长窗口 RD模型进行重新设 定。在步骤555使用上述的等式(8)来计算该帧的初始QP,并且 在步骤560对该初始QP进行截短。如果IDR图像不是由于场景变 化,那么在步骤565,先前P帧的QP以特定的量Z减小,并且用于 当前IDR图片的QP。之后在步骤570来截短该初始QP。对帧(i)的编码开始于^/^^, GV。在对一个或多个宏块进行 编码之后,估计针对该帧而将生成的比特数目。该估计是通过使用 下列等式,将在针对先前帧在相同空间位置的MB组处生成的比特 进行比较而实现的<formula>formula see original document page 16</formula>在该寺式中,凡W/w。" GJ是该帧的估计比特数目,i^,广/,
是在对7'个MB组进行编码之后在帧G 处使用的比特数目,并且 W,MP GW 是用于帧的比特数目。
当先前帧的信息不能使用的时候(例如对于跟随在IDR帧之后 的P帧),实施下列等式
"^ajW咖"(0 ^及gni"p (Z,
N是在帧中包含的MB组的数目。例如,如果MB组仅包含一 个MB,则N等于帧中宏块的数目。将所估计的比特数目(^ ewe
GJ J与帧。",^和U)的比特封装进行比较。如果&we GJ 大于礼炉/认,则以特定的量增加用于下一 MB组的QP。类似i也,如
果凡W/附",e "J小于及',臥,则用于下一 MB组的QP被降低。
在对帧进行编码完成之后可能进行再编码。该再编码步骤是可 选的,并且不适用于某些应用,例如在手持终端中对视频进行实时 编码。对于这些类型的应用,并不使用该步骤。然而,对于某些应 用,例如在个人计算机中的本地记录,再编码一些帧可以显著地改
进性能。如果保持下列任意一个条件,则利用不同的QP来对帧进行 再编码
针对该帧而使用的不同QP的平均值来对该帧进行再编码。
2. 在对第一帧进行编码之后的緩沖器满度大于预定阔值。该帧 的QP增加并进行再编码,直到緩冲器满度低于阈值水平为止。
3. 用于该帧的比特数目与帧的比特封装之间的差大于预定阈 值。通过用于该帧的不同QP的平均值来对该帧进行再编码。
在可选的再编码步骤之后,根据平均QP、 MAD以及用于紋理 的比特数目来更新RD模型。对于该更新,使用最小平方估计方法。
本发明包括各种不同的实施方式,并且可以在本发明的实现中 使用多种备选方案。例如,除了等式(l)中所表示的模型之外,还 可以使用RD一莫型。在本发明的一个实施方式中,SW和LWRD才莫 型的大小分别被选择为15和100帧,但这些也可以发生改变。类似地,尽管用于PI调节器的Kp和Ki参数在一个实施方式中分别为选 择为0.15和0.05,但这些值也可以发生改变。除了等式(7)所表示 的方法之外,还可以利用不同的方式来计算帧的复杂度。也可以改 变在等式(5)和(6)中定义的区域的边界。等式2中的
a《wW—w/"(iow,『在本发明的一个实施方式中被选择为30,但
该值也可以不同。^聊^和&。鹏W :和可以大于或小于先前所《合出的值,
并且尽管在本发明的一个实施方式中QPlw毎5个帧更新一次, <旦该 周期也可以发生改变。
本发明在方法步骤的常用环境中进行描述,其可以通过程序产 品在一个实施方式中实施,该程序产品包括可由网络互连环境中的
计算机执行的计算机可执行指令,诸如程序代码。通常地,程序模 块包括例行程序、程序、对象、组件、数据结构等等,其可以执行 特定任务或者实施特定抽象数据类型。与数据结构相关联的计算机 可执行指令、以及程序模块表示用于执行在此公开的方法步骤的程 序代码的示例。这种可执行指令的特定序列或者相关联的数据结构 表示用于实施这些步骤中所描述的功能相对应的动作的示例。
本发明的软件和web实施可以用标准程序技术来完成,用基于 规则的逻辑、以及其他逻辑来完成各种数据库搜索步骤、关联步骤、 对比步骤以及决定步骤。还应该注意在此所使用的和在权利要求书 中所使用的词语"组件"和"模块"旨在包括使用一行或者多行软 件代码线路的实施,和/或硬件实施、和/或用于接收手动输入的设备。
为了示意和描述的目的已经进行了对本发明的实施方式的上述 描述。不意在穷举或者将本发明限于所公开的精确形式,并且可以 从上述教导或者从本发明的实践获取修改和变形。选择了实施方式 并对其进行了描述是为了解释本发明的原理,以及其实际应用使得 本领域技术人员能够在各种实施方式中利用本发明,以及具有各种 适合于特定使用所期望的各种修改。
权利要求
1.一种为视频编码器提供速率控制的方法,包括当启动视频编码时,初始化至少一个速率控制相关参数;以及对每个帧执行编码处理,包括在对所述帧进行编码之前,计算所述帧的初始量化参数,当启动所述帧的编码时,对所述帧内的宏块组进行编码,如果尚未到达所述帧的终点,则调整所述初始量化参数以用于下一宏块组,对每个下一宏块组进行编码,直到到达所述帧的终点为止,以及如果需要,则计算所述帧的更新初始量化参数,并重复针对所述帧的编码处理。
2. 根据权利要求1所述的方法,其中所述至少一个速率控制相 关参数从包括比特速率和緩冲器大小的组中选择。
3. 根据权利要求1所述的方法,进一步包括在计算所述帧的初 始量化参数之前,确定所述帧是P帧还是理想的数据表示帧。
4. 根据权利要求3所述的方法,其中如果所述帧是P帧,则通 过下列操作来计算所述初始量化参数计算短窗口量化参数和长窗口量化参数的值; 基于所述短窗口量化参数和长窗口量化参数来计算所述初始量 化参数;计算所述帧的比特封装;以及 截短所述帧的初始量化参数的值。
5. 根据权利要求3所述的方法,其中,如果所述帧是理想的数 据表示帧,则通过下列操作来计算所述初始量化参数估计所述帧的复杂度;如果所述帧是所述视频的第 一帧,则确定所估计的复杂度是否 小于预定阈值;如果所估计的复杂度小于所述预定阈值,则将所述初始量化参 数设定在预定的最大值;如果所估计的复杂度不小于所述预定阈值,并且提供了所述初始量化参数,则将所述初始量化参数接受为输入量化参数;如果所估计的复杂度不小于所述预定阈值,并且未提供所述初始量化参数,则计算所述初始量化参数;以及 计算所述帧的比特封装。
6. 根据权利要求5所述的方法,其中,如果所述帧不是所述视 频的第 一 帧,并且如果所述帧不是场景分割或周期性插入的结果, 则所述初始量化参数进一步通过以下来确定将所述先前的P帧的量化参数降低预定量;将所降低的P帧的量化参数用作所述帧的初始量化参数;以及截短所述帧的初始量化参数。
7. 根据权利要求5所述的方法,其中如果所述帧不是所述视频 的第一帧,并且如果所述帧是场景分割或周期性插入的结果,则所 述初始量化参数进 一 步通过以下来确定将短窗口速率失真模型重新设定到初始阶段;将所述视频的第 一帧的复杂度与先前帧的平均复杂度进行比较;如果所述视频的第一帧的复杂度不大于所述先前帧的平均复杂 度,则计算所述初始量化参数,以及 截短所述初始量化参数;以及 如果所述视频的第一帧的复杂度大于所述先前帧的平均复杂 度,则将长窗口速率失真模型重新设定到初始阶段; 计算所述初始量化参数;以及 截短所述初始量化参数。
8. —种用于为视频编码器提供速率控制的计算机程序产品,包括用于当启动—见频编码时,初始化至少一个速率控制相关参数的计算机代码;以及用于对每个帧执行编码处理的计算机代码,包括在对所述帧进行编码之前,计算帧的初始量化参数, 当启动所述帧的编码时,对所述帧内的宏块组进行编码, 如果尚未到达所述帧的终点,则调整所述初始量化参数以用 于下一宏块组,对每个下一宏块组进行编码,直到到达所述帧的终点为止;以及如果需要,则计算所述帧的更新初始量化参数,并重复针对 所述帧的编码处理。
9. 根据权利要求8所述的计算机程序产品,其中,所述至少一 个速率控制相关参数从包括比特速率和緩沖器大小的组中选择。
10. 根据权利要求8所述的计算机程序产品,进一步包括,用于 在计算针对所述帧的初始量化参数之前,确定所述帧是P帧还是理想的数据表示帧的计算机代码。
11. 根据权利要求10所述的计算机程序产品,进一步包括,如 过所述帧是P帧,则用于通过下列操作来计算所述初始量化参数的 计算机代码计算短窗口量化参数和长窗口量化参数的值;基于所述短窗口量化参数和长窗口量化参数来计算所述初始量化参数;计算所述帧的比特封装;以及截短所述帧的初始量化参数的值。
12. 根据权利要求10所述的计算机程序产品,进一步包括,如 果所述帧是理想的数据表示帧,则用于通过下列操作来计算所述初 始量化参数的计算机代码估计所述帧的复杂度;如果所述帧是所述视频的第一帧,则确定所估计的复杂度是否 小于预定阈值;如果所估计的复杂度小于所述预定阈值,则将所述初始量化参数设定在预定的最大值;如果所估计的复杂度不小于所述预定阈值,并且提供了所述初 始量化参数,则将所述初始量化参数接受为输入量化参数;以及如果所估计的复杂度不小于所述预定阈值,并且未提供所述初 始量化参数,则计算所述初始量化参数。
13. 根据权利要求12所述的计算机程序产品,其中,如果所述 帧不是所述视频的第 一 帧,并且如果所述帧不是场景分割或周期性 插入的结果,则所述初始量化参数进一 步通过以下来确定将所述先前的P帧的量化参数降低预定量;将所降低的P帧的量化参数用作所述帧的初始量化参数;以及截短所述帧的初始量化参数。
14. 根据权利要求12所述的计算机程序产品,其中,如果所述 帧不是所述视频的第 一 帧,并且如果所述帧是场景分割或周期性插 入的结果,则所述初始量化参数进一步通过以下来确定将短窗口速率失真模型重新设定到初始阶段;将所述视频的第 一 帧的复杂度与先前帧的平均复杂度进行比较;如果所述视频的第一帧的复杂度不大于所述先前帧的平均复杂 度,则计算所述初始量化参数;以及 截短所述初始量化参数;以及 如果所述视频的第一帧的复杂度大于所述先前帧的平均复杂 度,则将长窗口速率失真模型重新设定到初始阶段; 计算所述初始量化参数;以及 截短所述初始量化参数。
15. —种电子设备,包括 处理器;以及存储器,操作性地连接到所述处理器,并且包括用于为视频编码 器提供速率控制的计算机程序产品,包括用于当启动视频编码时,初始化至少一个速率控制相关参数的 计算才几代码;以及用于对每个帧执行编码处理的计算机代码,包括在对所述帧进行编码之前,计算帧的初始量化参数, 当启动所述帧的编码时,对所述帧内的宏块组进行编码, 如果尚未到达所述帧的终点,则调整初始量化参数以用于 下一宏块组,对每个下一宏块组进行编码,直到到达所述帧的终点为止;以及如果需要,则计算所述帧的更新初始量化参数,并重复针 对所述帧的编码处理。
16. 根据权利要求15所述的电子设备,进一步包括,用于在计 算所述帧的初始量化参数之前,确定所述帧是P帧还是理想的数据 表示帧的计算机代码。
17. 根据权利要求16所述的电子设备,进一步包括,如果所述 帧是P帧,则用于通过下列操作来计算所述初始量化参数的计算机 代码计算短窗口量化参数和长窗口量化参数的值; 基于所述短窗口量化参数和长窗口量化参数来计算所述初始量 化参数;计算所述帧的比特封装;以及 截短所述帧的初始量化参数的值。
18. 根据权利要求16所述的电子设备,进一步包括,如果所述 帧是理想的数据表示帧,则用于通过下列操作来计算所述初始量化 参数的计算机代码估计所述帧的复杂度;如果所述帧是所述视频的第一帧,则确定所估计的复杂度是否小于预定阈值;如果所估计的复杂度小于所述预定阈值,则将所述初始量化参数设定在预定的最大值;如果所估计的复杂度不小于所述预定阈值,并且提供了所述初 始量化参数,则将所述初始量化参数接受为输入量化参数;以及如果所估计的复杂度不小于所述预定阈值,并且未提供所述初 始量化参数,则计算所述初始量化参数。
19. 根据权利要求18所述的电子设备,其中,如果所述帧不是 所述视频的第一帧,并且如果所述帧不是场景分割或周期性插入的 结果,则所述初始量化参数进一步通过以下来确定将所述先前的P帧的量化参数降低预定量;将所降低的P帧的量化参数用作所述帧的初始量化参数;以及截短所述帧的初始量化参数。
20. 根据权利要求18所述的电子设备,其中,如果所述帧不是 所述视频的第 一 帧,并且如果所述帧是场景分割或周期性插入的结 果,则所述初始量化参数进一步通过以下来确定将短窗口速率失真模型重新设定到初始阶段; 将所述视频的第一帧的复杂度与先前帧的平均复杂度进行比较;如果所述视频的第一帧的复杂度不大于所述先前帧的平均复杂 度,则计算所述初始量化参数,以及 截短所述初始量化参数;以及 如果所述视频的第一帧的复杂度大于所述先前帧的平均复杂 度,则将长窗口速率失真模型重新设定到初始阶段;计算所述初始量化参数;以及 截短所述初始量化参数。
全文摘要
一种用于压缩视频编码器的一次性速率控制器,其可以配置为遵守在当前的视频编码标准中所规定的缓冲方案。使用多个具有不同窗口大小的RD模型来估计针对特殊窗口恒定质量和恒定速率情形的量化参数。缓冲器调节器实现可被用于特定帧的比特数目的上限和下限。调制器基于由缓冲器条件和速率失真模型状态所提供的信息来选择最佳量化参数。并且帧内量化参数调整器决定在对帧进行编码的同时是否需要对该量化参数进行调整,如果必要的话调整该量化参数。
文档编号H04N7/50GK101233761SQ200680027961
公开日2008年7月30日 申请日期2006年6月13日 优先权日2005年6月13日
发明者K·宇居尔 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1