用于视频编码器中b帧的快速模式决策的方法和装置的制作方法

文档序号:7950422阅读:275来源:国知局
专利名称:用于视频编码器中b帧的快速模式决策的方法和装置的制作方法
技术领域
本发明一般涉及视频编码器,更具体地,涉及用于编码器中B帧的快 速模式决策的方法和装置。
背景技术
B帧)。帧内编码使用空间相关性,而帧间编码使用与之前编码的帧的时间 相关性。通常,帧间编码用于可从之前图像很好地预测的宏块,而帧内编码 用于不可从之前图像很好地预测的宏块,或用于空间活动性较低的宏块。典 型地,编码器可以基于编码效率和主观质量的考虑而为每一宏块、片(slice, 其为宏块系列)、图像、场、和/或帧做帧间/帧内编码决策。在JVT/H.264/MPEG AVC ("H.264")标准中,帧间编码允许使用多种块分割以及多个参考图像 来预测宏块。
H.264标准使用树形结构分层的宏块分割。可以将帧间编码的16x16像 素宏块进一步拆分为尺寸16x8、 8x16、或8x8的宏块分割。8x8像素的宏块 分割(partition )也被称为子宏块。可以将子宏块进一步拆分为尺寸8x4、 4x8、 和4x4的子宏块分割。编码器可以基于特定宏块的特性来选择如何将所述宏 块划分为分割和子宏块,以使压缩效率和主观质量最大化。
另外,R264标准还支持INTRA (帧内)、SKIP、以及DIRECT模式。 帧内模式允许三种类型INTRA4x4、 INTRA16x16、以及INTRA8x8,其仅 是一种保真度范围扩展模式。INTRA4x4和INTRA8x8支持9种预测模式 垂直、水平、DC、对角左下、对角右下、垂直-左、水平-下、垂直-右、以 及水平-上预测。INTRA16x16支持4种预测模式垂直、水平、DC、以及 平面预测。
可以为帧间预测使用多个参考图像,并编码得到参考图像索引以指示使 用所述多个参考图像中的哪一个。在P图像(或P片)中,仅使用单向预测, 并在列表0中管理允许的参考图像。在B图像(或B片)中,管理参考图
像的两个列表列表0和列表1。在B图像(或B片)中,允许使用列表0 或列表l的单向预测,或允许同时使用列表O和列表1的双向预测。当使用 双向预测时,将列表0和列表1预测器一起平均以形成最终预测器。
因此,在H.264标准中,对B片支持四种不同类型的图像间预测列表 0、列表l、双向预测、以及直接预测。列表O预测是指所述预测基于第一参 考图像緩冲器的图像,如果使用列表1预测则使用第二参考图像緩沖器的图 像用于预测。在双向预测模式下,通过同时使用列表0和列表1预测信号来 构建所述预测信号。直接预测模式是由之前发送的语法元素推出,而且可以 是列表0或列表1预测或双向预测。B片允许使用多种块分割(更具体地, 对宏块为16x16、 16x8、 8x16、和8x8)来预测16x16宏块。另外,对每个 块分割,可以单独选择预测模式(列表0、列表l、双向预测)。对以直接预 测编码的块,如果未发送错误信号,则该编码也被称作SKIP模式,而且可 以很有效地编码所述块。
对H.264标准,每个宏块分割可以具有独立的参考图像索引、预测类型 (列表0、列表l、双向预测)、以及独立的运动矢量。每个子宏块分割可以 具有独立的运动矢量,但是同一子宏块中的全部子宏块分割使用相同的参考 图像索引和预测类型。
对帧间编码的宏块,除上述宏块分割之外,P帧还支持SKIP模式,而B 帧支持SKIP模式和DIRECT模式二者。在SKIP模式下,不编码任何运动 和残余信息。SKIP宏块的运动信息与由图像/片类型(P或B)、以及诸如序 列和片级参数的其它信息指定的运动矢量预测器相同,而且与其它时间或空 间相邻的宏块以及其自身在所述片中的宏块位置有关。相反,在DIRECT模 式下,不编码任何运动信息,但对预测残余进行编码。宏块和子宏块均支持 DIRECT模式。
为了模式决策,交互图像需要支持帧间和帧内模式二者。帧内模式包括 INTRA4x4和INTRA16x16。对P图<象,帧间模式包括SKIP和16x16、 16x8、 8x16以及子宏块8x8分割。8x8进一步支持8x8、 8x4、 4x8、以及4x4分割。 对B图像,对宏块和子宏块二者均考虑列表O和列表1以及DIRECT模式。
现有技术中,率失真优化(RDO)框架被用于模式决策。对帧间预测模 式,在模式决策之外单独考虑运动估计。首先为全部块类型的帧间模式执行 运动估计,接着通过比较每一帧间模式和帧内模式的开销来作出模式决策。
选择具有最小开销的模式作为最佳模式。
用于编码P或B图像中的一个宏块S的传统过程(以下称为"传统宏块 编码过程")总结如下。
在传统宏块编码过程的第一步,给定最后解码的图像、拉格朗日乘子
义膨W、义M r扁、以及宏块量化器g尸。
在传统宏块编码过程的第二步,通过为可能的宏块模式的每一参考图像 和运动矢量使
/(K^f m^^F」l义M Y,」=^ (T」Z)d cf7^i^(7^"" +4077,^ ^^"—Pf^E" +^(7 £/0>最小化而执行运动估计和参考图像选择。在前面等式中,m是考虑 的当前运动矢量,/^F代表所述参考图像,p是在运动矢量编码期间用于预 测的所述运动矢量,c(REF,m(REF))是由REF、 m(REF)确定的候选宏块, R(m-p)表示用于编码运动矢量的位,而R(REF)是用于编码参考图像的位。 SA(T)D代表原始信号与由所述运动矢量预测的参考信号之间的绝对(变换) 差和。
在传统宏块编码过程的第三步,给定QP和;Woz^,通过改变MODE使 J(i,c,M9i^lQS ^0。^=5^/^^,肘0£)£|^"+ i^,c,MOZ^ig尸」最小化 来选择宏块预测模式。SSD代表原始信号与重建信号之间的方差和。 /^,c,M(9D巧是与选择模式关联的位的数量,包括用于宏块头部、运动和全 部DCT系数的位。MOD五表示下述可能的宏块模式集合中的模式
而INTRA16x 16包括模式MOD£ e {垂直,水平,DC'平面}。
对于传统宏块编码过程,引入传统快速^^式选择,其可以通过考虑下述 理由而显著减少模式决策的复杂度同时对质量影响甚微,即模式决策错误表 面很可能是单调的,因而如果首先检视特定模式则有可能更简单地找到最佳 模式。如果不执行给定模式的模式决策,则实质上暗示了也不执行运动估计,
INTRA4x4包括模式:
垂直,水平,"C,对角-左下,对角-右下, 垂直-左,水平-下,垂直-右,水平-上
后者是编码的最大开销部分,即便使用了快速运动估计算法。更具体地,在
该方法中首先检视SKIP和16x16模式。根据它们的失真关系(即, J(SKIP<J(16xl6)))以及残余的可用性,进一步的决策是否终止所述搜索。 否则,同样计算J(8x8)和J(4x4)。基于J(16x16)、 J(8x8)、和J(4x4)的关系, 执行附加的决策以确定应当测试哪一剩余块尺寸。例如,如果失真是单调的 (即,J(16xl6)〉J(8x8)〉J(4x4)或J(16xl6)<J(8x8)<J(4x4)),则可以容易地确 定应当检视哪一附加分割。例如,对第一种情况,仅测试小分割(8x4和4x8 ), 而在第二种情况下,仅检视16x8和8x16。如果失真不是单调的,则测试全 部可能的模式。
在另外的传统快速模式决策方法中,基于失真值(见图1)和不同模式 之间的关系(见图2)引入附加条件,其允许搜索终止得更快而对质量影响 不大。
参看图1,使用引用数字100来一般地表示基于失真值的用于运动矢量 和模式决策的方法。方法100包括开始块102,其将控制传递给功能块104。 功能块104检查SKIP模式和16x16模式,并将控制传递给决策块106。决 策块106确定SKIP模式下的失真J(SKIP)是否小于16x16模式下的失真 J(16xl6)、以及16x16模式是否有任何残余。如果SKIP模式下的失真不小 于16xl6模式下的失真和/或16xl6模式有残余,则控制祐:传递到功能块108。 反之,如果SKIP模式下的失真小于16x16模式下的失真而且16x16模式没 有残余,则控制纟皮传递到决策块126。
功能块108检查当前(即,当前评估的)8x8子分割的8x8模式,并将 控制传递到决策块110,以及传递到功能块114。决策块110确定当前8x8 子分割的8x8模式是否具有与16xl6模式相同的运动信息。如果对于所述主 题子分割,8x8模式不具有与16xl6模式相同的运动信息,则控制被传递到 功能块112。反之,如果对于当前的8x8, 8x8模式具有与16x16模式相同 的运动信息,则控制被传递到功能块114。
功能块112检查16x8和8x16子分割,并将控制传递到功能块114。
功能块114检查当前4x4子分割的4x4模式,并将控制传递到决策块 116,以及传递到功能块120。决策块116确定当前4x4子分割的4x4模式 是否具有与8x8模式相同的运动信息。如果当前4x4子分割的4x4模式不具 有与8x8模式相同的运动信息,则控制被传递到功能块118。反之,如果当
前4x4子分割的4x4模式具有与8x8模式相同的运动信息,则控制被传递到 功能块120。
功能块118检查8x4和4x8子分割,并将控制传递到功能块120。 功能块120检查帧内模式,并将控制传递到功能块122。功能块122从
已评估的模式中选择最佳模式,并将控制传递到结束块124。结束块124结
束所述宏块编码。
决策块126确定当前(即,当前评估的)16x16MB的SKIP模式是否具 有与16xl6模式相同的运动信息。如果当前16x16 MB的SKIP模式不具有 与16xl6模式相同的运动信息,则控制被传递到决策块108。反之,如果当 前16x16 MB的SKIP模式具有与16xl6模式相同的运动信息,则控制被传 递到功能块120。
参看图2,使用引用数字200来一般地表示基于不同模式之间的关系的 用于运动矢量和才莫式决策的方法。方法200包括开始块202,其将控制传递 给功能块204。功能块204检查SKIP模式和16x16模式,并将控制传递给 决策块206。决策块206确定是否MC2〉T1,其中MC2=min(J(SKIP), J(16xl6)),其为SKIP模式和16xl6模式之间的最小失真,而Tl是第一阈值。 如果MC2〈-T1,则控制被传递到决策块208。反之,如果MC2=min(J(SKIP), J( 16x 16))>T 1 ,则控制4皮传递到功能块210 。
决策块208确定MC2是否大于T2 (第二阈值)。如果MC2不大于T2, 则控制被传递到功能块210。反之,如果MC2大于T2,则控制被传递到功 能块218。
功能块210检查其它帧间模式,并将控制传递到功能块212。功能块112 检查其它未测试的帧内模式,并将控制传递到功能块214。功能块214从已 评估的模式中选择最佳模式,并将控制传递到结束块216。结束块216结束 所述宏块编码。
功能块218检查INTRA4x4 DC,并将控制传递到决策块220。决策块 220确定J(INTRA4x4 DC)是否小于a*MC2+b,其中a和b是常数。如果 J(INTRA4x4 DC)不小于a*MC2+b,则将控制传递到功能块210。反之,如 果J(INTRA4x4 DC)小于a*MC2+b,则将控制传递到功能块212。
帧间模式决策与运动估计、各种块尺寸以及多个参考图像选择关联。帧 内模式决策与各种块类型以及多个空间预测模式选择关联。因而,交互帧的
模式决策给所述编码器带来沉重负担。
从而,期望有一种非常有利的能减轻编码器负担的执行交互帧的快速模 式决策的方法和装置。

发明内容
本发明解决现有技术的这些和其它缺点和不足,其关注于用于编码器的 B帧的快速模式决策的方法和装置。
根据本发明的一个方面,提供一种用于为可划分为宏块的B片编码视频 数据的视频编码器。所述视频编码器包括编码器,其用于在对所述B片中的 当前宏块进行编码时通过下述方法来执行模式选择,对所述B片中以
DIRECT模式编码的相邻宏块的数量进行计数,而且当以DIRECT模式编码 的相邻宏块的数量超过预定阈值时仅为所述当前宏块检查DIRECT模式或 16xl6模式其中之一。
根据本发明的另一个方面,提供一种用于为可划分为宏块的B片编码视 频数据的视频编码器。所述视频编码器包括编码器,其用于在对所述B片中 的当前宏块进行编码时通过下述方法来执行模式选择,使用当前宏块中的多 个块变换系数来计算当前宏块的残余能量,而且将所述残余能量的值与预定 阈值进行比较,并在所述残余能量的值小于所述预定阈值时仅为模式选择考 虑帧间模式。
根据本发明的另一个方面,提供一种用于为可划分为宏块的B片编码视 频数据的视频编码器。所述视频编码器包括编码器,其用于在对所述B片中 的当前宏块进行编码时通过下述方法来执行多阶段模式选择,使用借助多个 视频序列训练且适合于与^^)£呈线性关系的模型的多个阈值,其中 依赖于量化参数,而且在DIRECT模式下编码时将率失真(RD)开销与所 述多个训练的阈值进行比较,并基于所述RD开销在不同阶段终止模式选择。
根据本发明的另 一个方面,提供一种用于为可划分为宏块的B片编码视 频数据的视频编码器。所述视频编码器包括编码器,其用于在对所述B片中 的当前宏块进行编码时通过下述方法来执行模式选择,首先执行列表0和列 表1的单向预测,并基于列表O和列表1的最佳模式决策来确定是否为当前 宏块测试双向预测才莫式。
根据本发明的另 一个方面,提供一种用于为可划分为宏块的B片编码视 频数据的视频编码器。所述视频编码器包括编码器,其用于在对所述B片中
的当前宏块进行编码时通过仅为子宏块模式选择测试DIRECT8x8模式来执 行冲莫式选择。
通过下面结合附图对示范性实施例进行详细描述,本发明的这些和其它 方面、特征、和优点将变得显而易见。


通过参照下面的示范性附图,可以更好地理解本发明,其中 图1示出用于基于失真值的运动矢量和模式决策的方法的流程图; 图2示出用于基于不同模式之间的关系的运动矢量和模式决策的方法的 流程图3示出根据本发明的原理的视频编码器;
图4示出根据本发明的原理的使用相邻宏块的模式信息以及残余的快速 模式决策的方法的流程图5示出根据本发明的原理的使用失真信息的快速模式决策的方法的流 程图6示出根据本发明的原理的使用列表信息的快速模式决策的方法的流程图。
具体实施例方式
本发明关注于用于编码器的B帧的快速模式决策的方法和装置。有利的 是,本发明降低模式决策复杂度的同时保持编码效率。
本说明书诠释本发明的原理。因此应当理解,本领域技术人员将能够作 出将本发明的原理具体化而且包含在其精神和范围内的各种方案(尽管未在 这里明确说明或示出)。
这里叙述的全部示例和条件语言意在用于帮助读者理解本发明的原理
以及本发明人为拓展技术领域而贡献的概念的教育目的,应被解释为不限于 这样具体叙述的示例和条件。
而且,这里叙述本发明的原理、方面、和实施例以及其特定示例的全部 陈述意在涵盖其结构以及功能等价物。另外,意图使这样的等价物既包括当 前已知的等价物又包括未来开发的等价物,即,任何执行相同功能的元素,
不管结构如何。
因此,例如,本领域技术人员将理解,这里给出的框图代表将本发明的 原理具体化的说明性电路的概念视图。类似地,应当理解,任何流程表、流 程图、状态转换图、伪代码等等代表可以基本在计算机可读介质中表示并由 计算机或处理器执行的各种过程,不管是否明确地示出了这样的计算机或处 理器。
可以通过使用专用硬件以及与适当的软件关联的能够执行软件的硬件 来提供附图中所示的各种元素的功能。当由处理器提供时,所述功能可以由 单个专用处理器、单个共享处理器、或多个独立处理器(其中某些可以是共 享的)提供。此外,明确使用术语"处理器"或"控制器"不应被解释为仅 指代能够执行软件的硬件,而应当隐含而不加限制地包括数字信号处理器
("DSP")硬件、用于存储软件的只读存储器("ROM")、随机存取存储器
("RAM,,)、以及非易失存储器。
也可以包括其它传统的和/或定制的硬件。类似地,附图中示出的任何转 移控制(swtich)均仅是概念性的。它们的功能可以通过编程逻辑的操作、 专用逻辑、程序控制与专用逻辑的相互作用、或者甚至手动来完成,随着实 现者对上下文更具体的了解可以选择特定的技术。
这里的权利要求中,任何表达为用于执行特定功能的装置的元素意在涵 盖任何执行该功能的手段,例如包括a)执行该功能的电路元件的组合或b) 任何形式下的软件,因而包括与适当的电路组合的固件、微代码等等用于运 行该软件以执行所述功能。本发明如这样的权利要求所限定基于下述事实, 即,以所述权利要求请求保护的方式对由各种叙述的装置提供的功能进行组 合和聚集。因此应当理解,任何可以提供这些功能的装置与这里所示出的装 置等价。
有利的是,本发明提供一种用于编码器的B帧(或B片)的快速才莫式 决策的方法和装置,其降低模式决策复杂度的同时保持编码效率
作为示例,在本发明的一个示范性实施例中,通过利用从之前编码的宏 块可得到的包括但不限于失真、模式、和残余的信息来确定需要为当前宏块 检查哪些模式,降低B帧(或B片)的模式决策的复杂度。要检查的模式 的顺序可选地可以是DIRECT、 16x16、 8x8、 16x8、 8x16、 8x8子宏块分 割和INTRA模式。
参看图3,使用引用数字300来一般地表示示范性视频编码器。
编码器300的输入以信号通信连接到求和点310的同相输入。求和点310 的输出以信号通信连接到块变换器320。变换器320以信号通信连接到量化 器330的第一输入。量化器330的输出以信号通信连接到可变长度编码器 ("VLC" ) 340,其中VLC 340的输出是编码器300的外部可用的输出。率 控制器377的第一输入以信号通信连接到求和点310的输出,率控制器377 的第二输入以信号通信连接到VLC 340的输出,而率控制器377的输出以信 号通信连接到量化器330的第二输入。
量化器330的输出还以信号通信连接到反量化器350。反量化器350以 信号通信连接到反块变换器360,后者跟着以信号通信连接到参考图像存储 器370。参考图像存储器370的第一输出以信号通信连接到运动估计器380 的第一输入。编码器300的输入还以信号通信连接到运动估计器380的第二 输入。运动估计器380的输出以信号通信连接到运动补偿器390的第一输入。 参考图像存储器370的第二输出以信号通信连接到运动补偿器390的第二输 入。运动补偿器390的输出以信号通信连接到求和点310的反相输入。
现在将对根据本发明的原理使用经历快速模式决策的当前宏块的相邻 宏块的模式信息进行说明。
注意到对于B帧,如果全部相邻宏块均以DIRECT模式编码,则当前宏 块将最可能以DIRECT模式或16xl6模式编码。可在图4中看到这样的实现 的示例,下面对其进行说明。该方法也可用应用于P帧。当全部相邻模式均 以SKIP模式编码时,P帧中的宏块仅需要测试SKIP和16x16模式。
可以通过设置阈值Tdireet来容易地改变上述方法以适应不同的编码性 能。为了实现该适应性方法,对以DIRECT模式编码的相邻块的数量进行计 数,而且当编码为DIRECT的相邻块的数量超过该阈值时仅为该当前宏块检 查DIRECT模式和16x16模式。当高编码速度为首选时,将该阈值设置为较 小的值。另一方面,为了设计低损失的编码器,可以将该阔值设置为全部可 用相邻块的数量。
现在将对根据本发明的原理使用残余信息用于快速模式决策进行说明。 使用所述残余的能量来测量DIRECT模式的性能。所述残余是原始信号 与参考信号之间的差,其可以简单地计算为块变换系数绝对值的总和,或者 当前宏块中的多个块变换系数。当在测试DIRECT模式之后所述残余为零或
者小于阈值Tresidue时,则已从之前的图像很好地预测该宏块,而没有检查
INTRA模式的必要。
参看图4,使用引用数字400来一般地表示用于使用相邻宏块的模式信 息以及残余来执行模式决策的方法。
方法400包括开始块405,其将控制传递到功能块410。功能块410检 查DIRECT模式,并将控制传递到功能块415。功能块415检查16x16模式, 并将控制传递到决策块420。决策块420确定以DIRECT模式编码的相邻块 的数量是否大于或等于Tdireet。如果以DIRECT模式编码的相邻块的数量不 大于或等于Tdireet,则控制被传递到功能块425 。反之,如果以DIRECT模式 编码的相邻块的数量大于或等于Tdireet,则控制被传递到功能块440。
功能块425检查16x8模式、8xl6模式、以及8x8模式,并将控制传递 到决策块430。决策块430确定DIRECT模式之后的残余是否小于Tresidue。 如果DIRECT模式之后的残余不小于Tresidue,则控制被传递到功能块435。 但是,如果DIRECT模式之后的残余小于Tresidue,则控制被传递到功能块440。
功能块435检查INTRA模式,并将控制传递到功能块440。
功能块440从已测试的模式中选择最佳模式,并将控制传递到结束块
445。
现在将对根据本发明的原理使用失真信息用于快速模式决策进行说明。
应当理解,术语"^:差"和短语"率失真开销"在这里可互换地/(吏用, 而且也可以在这里用字母"J"开头来表示,其中在该字母"J"之后的圓括 号中指明相应的模式。
测试DIRECT模式之后的误差J(DIRECT),用于其作为是否已使用 DIRECT模式很好地从之前图像预测了当前宏块的指示器。如果J(DIRECT) 低于阈值TB,,则当前宏块很可能可用DIRECT模式高效地表示,而不需要 检视其它模式。反之,如果J(DIRECT)小于阈值TB2,则还将测试16x16模 式。反之,如果J(DIRECT)小于阔值TB3,则将测试16x16、 16x8、和8x16 模式。反之,如果J(DIRECT)小于阈值TB4,则将测试16x16、 16x8、 8x16、 和8x8;漠式。如果J(DIRECT)大于阈值TB4,则将测试全部才莫式。这在图5 中示出,下面对其进行说明。
通过使用代表不同类型的视频内容的多个视频序列来训练所述阈值。选 择最严格的阈值以保证全部序列保持良好的编码效率。当以不同量化参数编码视频序列时所述阈值有所变换。例如,当使用更高的QP时,重建的宏块 与原始宏块之间的失真更大,因而阈值也应当更大。由于这个原因,所述阈 值依赖于QP。进一步,注意到这些阈值几乎与AM z^呈线性关系,其中AmOZ)£ 依赖于QP。该线性关系被写为r5,=",+WMOZ)£, /=/,2,3,《
在测试16x16和8x8模式之后,还将所述阈值应用于J(16xl6)和J(8x8)。 进一步,考虑不同才莫式之间的绝对差,诸如IJ(DIRECT)-J(16xl6)l和 |J(16xl6)-J(8x8)|。如果该差很小,则加上其它条件,可以跳过对某些模式的
检视。例如,如果IJ(DIRECT)-J(16xl6)l很小,而且来自DIRECT模式和16x16 模式的运动信息相同,则终止模式决策过程并在DIRECT模式和16x16模式 之间选择最佳模式。另一方面,如果IJ(16xl6)-J(8x8)l很小,则可以跳过16x8 模式和8xl6模式,并在DIRECT模式(对P片为SKIP模式)、16x16模式、 以及8x8模式中间选择最佳模式。
B片支持四种不同类型的图像间预测列表0、列表l、双向预测、以 及直接预测。也可以使用失真信息来减少一种或多种类型的预测。例如,当 列表0或列表1的失真已经小于阔值Tbi.pred时,这表明单向预测表现非常好, 而可以跳过双向预测的测试并终止模式决策过程。进一步,在检视列表0和 列表1二者之后,获得列表0和列表1二者的最佳宏块分割。如果所述分割 相同,则在该分割上枱4见双向预测。反之,则在该分割上跳过双向预测。
考虑到一些编码器在代码转换架构中可能还包括预处理元素,诸如包括 内容分析、或者甚至MPEG-2编码器,则在假设存在这样的元素时使所述阈 值适应于具有不同内容紋理的不同序列,而不是基于最难以编码的序列来选 择所述阈值。
参看图5,使用引用数字500来一般地表示使用失真信息来执行模式决 策的方法。
方法500包括开始块505,其将控制传递到功能块510。功能块510计 算"16x16 DIRECT"的RD开销J(DIRECT),并将控制传递到决策块515。 决策块515确定J(DIRECT)是否小于Tu!。如果J(DIRECT)不小于TB1,则控 制被传递到功能块520。反之,如果J(DIRECT)小于Tin,则控制被传递到结 束块560。
功能块520检查16x16模式,并将控制传递到决策块525。决策块525 确定J(DIREC丁)是否小于TB2。如果J(DIRECT)不小于TB2,则控制被传递到
功能块530。反之,如果J(DIRECT)小于Tb2,则控制被传递到结束块560。 功能块530检查16x8模式和8x16模式,并将控制传递到决策块535。 决策块535确定J(DIRECT)是否小于Tb3。如果J(DIRECT)不小于TB3,则 控制被传递到功能块540。反之,如果J(DIRECT)小于Tb3,则控制被传递到 结束块560。
功能块540检查8x8模式,并将控制传递到决策块545。决策块545确 定J(DIRECT)是否小于Tb4。如果J(DIRECT)不小于TB4,则控制被传递到 功能块550。反之,如果J(DIRECT)小于Tb4,则控制被传递到结束块560。
功能块550检查INTRA模式,并将控制传递到功能块555。功能块555 从已测试的模式中选择最佳模式,并将控制传递到结束块560。
现在将对根据本发明的原理使用8x8模式的统计用于快速模式决策进 行说明。
B片宏块的8x8分割也可以以DIRECT才莫式编码。该才莫式也^t称为 DIRECT8x8才莫式。从统计注意到,以8x8模式编码的宏块的概率非常小, 而且当其以8x8模式编码时,其有相当大的机会以DIRECT模式编码。因而, 可将全部8x8分割以DIRECT模式编码而不损失太多编码效率。
应当理解,可以将这里参照图4和5描述的方法、和参照传统宏块编码 过程描述的方法、以及上面描述的采用基于失真值和不同模式之间关系的附 加条件的不同的传统方法分开使用或联合使用。
参看图6,使用引用数字600来一般地表示使用列表信息用于快速模式 决策的方法。
开始块602将控制传递到功能块605。功能块605检查DIRECT模式, 并将控制传递到决策块610。决策块610确定J(DIRECT)是否小于T1。如果 J(DIRECT)不小于Tl,则控制被传递到功能块615和功能块620。反之,如 果J(DIRECT)小于Tl,则控制被传递到功能块650。
功能块615从列表0选择最佳帧间模式m0,并将控制传递到决策块625。 功能块620从列表1选择最佳帧间模式ml,并将控制传递到决策块625。
决策块625确定帧间模式m0和帧间模式ml是否具有相同的分割。如 果帧间模式m0不具有与帧间模式ml相同的分割,则控制被传递到功能块 630。反之,如果帧间模式mO具有与帧间模式ml相同的分割,则控制被传 递到功能块655。
功能块630从m0、 ml和m01中选择最佳帧间模式,并将控制传递到 功能块635。
功能块635检查帧内模式,并将控制传递到功能块640。功能块640从 已测试的模式中选择最佳模式,并将控制传递到结束块645。
功能块655检查具有与m0和ml相同的分割的双向预测模式m01,并 将控制传递到功能块660。功能块660从m0、 ml和m01中选择最佳帧间模 式,并将控制传递到功能块635。
现在将对本发明的许多附带的优点/特征其中的某些进行说明。例如,一 个优点/特征是, 一种在对B片中的宏块进行编码时通过下述方法来执行才莫 式选择的视频编码器,其对以DIRECT模式编码的相邻宏块的数量进行计 数,而且当编码为DIRECT的相邻宏块的数量超过预定阈值时仅为该当前宏 块检查DIRECT模式或16x16模式。另一个优点/特征是,如上所述的视频 编码器,其中考虑的相邻宏块是左、左上、上、以及右上的近邻。另一个优 点/特征是,如上所述的考虑上述指定的相邻宏块的视频编码器,其中所述预 定阈值是全部近邻必须按照DIRECT编码。另一个优点/特征是,如上所述 的视频编码器,其中如果未超过所述预定阈值,则执行进一步的模式选择。 此外,另一个优点/特征是, 一种在对B片中的宏块进行编码时通过下述方 法来执行模式选择的视频编码器,其使用该当前宏块中的多个块变换系数来 计算残余能量,而且将该残余能量的值与预定阈值进行比较,并且如果该值 小于所述预定阈值,则在模式选择过程中不考虑INTRA模式。另外,另一 个优点/特征是,如上所述的使用残余能量来执行模式选择的视频编码器,其 中所述预定阈值的值是零。此外,另一个优点/特征是, 一种在对B片中的 宏块进行编码时通过下述方法来执行模式选择的视频编码器,其使用多个视
频序列来训练阔值Tw、 TB2、 TB3、和丁84并使其适合于与义M5加呈线性关系
的模型,其中义柳服依赖于QP,而且在DIRECT模式下编码时将RD开销与 所述阈值进行比较,并基于所述RD开销在不同阶段终止模式选择。另外, 另一个优点/特征是, 一种在对B片中的宏块进行编码时通过下述方法来执 行模式选择的视频编码器,其首先执行列表O和列表1的单向预测,而且其 中测试双向预测模式的选择依赖于列表O和列表1的最佳模式决策。另一个 优点/特征是, 一种视频编码器,其首先执行列表O和列表1的单向预测,其 中如果列表0和列表1的模式选择具有相同的分割,则测试该分割上的双向 预测模式;反之,则不执行双向预测。此外,另一个优点/特征是, 一种在对
B片中的宏块进行编码时通过仅为子宏块模式选择测试DIRECT8x8模式来 执行模式选择的视频编码器。
本领域普通技术人员可以基于这里的教导容易地探知本发明的这些和 其它特征和优点。应当理解,本发明的教导可以以硬件、软件、固件、专用 处理器等各种形式或其组合来实现。
最优选地,将本发明的教导实现为硬件和软件的组合。而且,优选地将 所述软件实现为有形地具体化在程序存储单元上的应用程序。所述应用程序 可以被上载到包括任何合适的架构的机器并由其执行。优选地,将所述机器 实现在具有诸如一个或更多中央处理器("CPU")、随机存取存储器 ("RAM")、和输入/输出("I/O")接口的硬件的计算机平台上。所述计算 机平台还可以包括操作系统和微指令代码。这里描述的各种过程和功能可以 是所述微指令代码的一部分或所述应用程序的一部分、或其任何组合,其可 以由CPU执行。此外,可以将各种其它外围单元连接到所述计算机平台, 诸如附加数据存储单元和打印单元。
还应当理解,由于附图中描绘的某些系统成分组件和方法优选地以软件 实现,依赖于其中对本发明编程的方式,所述系统组件或过程功能块之间的 实际连接可以不同。有了这里的教导,本领域普通技术人员将能够设想本发 明的这些和类似的实现或配置。
虽然这里已经参照附图对说明性实施例进行了描述,应当理解,本发明 并不现有这些明确的实施例,而且本领域普通技术人员在不背离本发明的范 围或精神的前提下可以在其中作出各种变更和修改。意在将所有这样的变更 和修改包括在如所附权利要求书中阐述的本发明的范围之内。
对相关申请的交叉引用
本申请要求于2004年11月4日提交的美国临时申请序列号60/624,870 的权益,题为"FAST MODE DECISION OF B-FRAME FOR AN H.264 ENCODER (用于H.264编码器的B帧的快速模式决策)",其全部通过参照 而被合并于此。
权利要求
1.一种用于为可划分为宏块的双向预测B片编码视频数据的装置,包括编码器(300),其用于在对所述B片中的当前宏块进行编码时通过下述方法来执行模式选择,对所述B片中以直接模式编码的相邻宏块的数量进行计数,而且当以直接模式编码的相邻宏块的数量超过阈值时仅为所述当前宏块检查直接模式或16×16模式其中之一。
2. 根据权利要求1所述的装置,其中,所考虑的相邻宏块是左、左上、 上、以及右上的相邻宏块。
3. 根据权利要求1所述的装置,其中,所述阈值是全部相邻宏块必须 以直接模式编码。
4. 根据权利要求1所述的装置,其中,当未超过所述阈值时,执行进 一步的模式选择。
5. —种用于为可划分为宏块的双向预测B片编码视频数据的装置,包 括编码器(300 ),其用于在对所述B片中的当前宏块进行编码时通过下述方 法来执行模式选择,使用当前宏块中的多个块变换系数来计算当前宏块的残 余能量,而且将所述残余能量的值与阈值进行比较,并在所述残余能量的值 小于所述阈值时仅为模式选择考虑帧间模式。
6. 根据权利要求5所述的装置,其中,所述阈值的值是零。
7. —种用于为可划分为宏块的双向预测B片编码视频数据的装置,包 括编码器(300 ),其用于在对所述B片中的当前宏块进行编码时通过下述方 法来执行多阶段模式选择,使用借助多个视频序列训练且适合于与Am。^呈 线性关系的模型的多个阈值,其中A柳加依赖于量化参数,而且在直接模式 下编码时将率失真开销与所述多个训练的阈值进行比较,并基于所述率失真 开销在不同阶段终止模式选择。
8. —种用于为可划分为宏块的双向预测B片编码视频数据的装置,包法来执行模式选择,首先执行列表0和列表1的单向预测,并基于列表0和 列表1的最佳模式决策来确定是否为当前宏块测试双向预测模式。
9. 根据权利要求8所述的装置,其中,仅当列表0和列表1的模式选 _泽均对应于一个分割时,所述编码器在该当前宏块的该分割上测试双向预测 模式。
10. —种用于为可划分为宏块的双向预测B片编码视频数据的装置,包括编码器(300 ),其用于在对所述B片中的当前宏块进行编码时通过仅为子 宏块模式选4奪测试DIRECT8x8模式来执行模式选择。
11. 一种用于为可划分为宏块的双向预测B片编码视频数据的方法,包 括在对所述B片中的当前宏块进行编码时执行模式选择的步骤,其中,所述 执行步骤包括步骤对所述B片中以直接模式编码的相邻宏块的数量进行计数(420 );以及 当以直接模式编码的相邻宏块的数量超过阈值时仅为所述当前块检查 (410、 415)直接模式或16x16模式其中之一。
12. 根据权利要求11所述的方法,其中,所考虑的相邻宏块是左、左 上、上、以及右上的相邻宏块。
13. 根据权利要求11所述的方法,其中,所述阈值是全部相邻宏块必 须以直接模式编码。
14. 根据权利要求11所述的方法,其中,当未超过所述阈值时,执行 进一步的模式选择。
15. —种用于为可划分为宏块的双向预测B片编码视频数据的方法,包 括在对所述B片中的当前宏块进行编码时执行模式选择的步骤,其中,所述 执行步骤包括步骤使用当前宏块中的多个块变换系数来计算当前宏块的残余能量; 将所述残余能量的值与阈值进行比较(430);以及 当所述残余能量的值小于所述阈值时仅为模式选择考虑帧间模式。
16. 根据权利要求15所述的方法,其中,所述阈值的值是零。
17. —种用于为可划分为宏块的双向预测B片编码视频数据的方法,包 括在对所述B片中的当前宏块进行编码时执行多阶段模式选择的步骤,使用借助多个视频序列训练且适合于与;wo^呈线性关系的模型的多个阈值,其中义卻w依赖于量化参数,而且在直接模式下编码时将率失真开销与所述多 个训练的阁值进行比较(515),并基于所述率失真开销在不同阶段终止模式 选择。
18. —种用于为可划分为宏块的双向预测B片编码视频数据的方法,包 括步骤 在对所述B片中的当前宏块进行编码时通过首先执行列表0和列表1的单向预测来执行(640)模式选择;以及基于列表0和列表1的最佳模式决策来确定(625 )是否为当前宏块测 试双向预测模式。
19. 根据权利要求18所述的方法,进一步包括在当前宏块的一分割与 列表0和列表1 二者的模式选择对应时测试该分割上的双向预测模式的步骤。
20. —种用于为可划分为宏块的双向预测B片编码视频数据的方法,包 括在对所述B片中的当前宏块进行编码时通过仅为子宏块模式选择测试(540 ) DIRECT8x8模式来执行模式选择的步骤。
全文摘要
提供视频编码器以及用于执行B帧的快速模式决策的相应方法。一种用于为可划分为宏块的B片编码视频数据的视频编码器,包括编码器(OO),其用于在对所述B片中的当前宏块进行编码时通过下述方法来执行模式选择,对所述B片中以DIRECT模式编码的相邻宏块的数量进行计数,而且当以DIRECT模式编码的相邻宏块的数量超过预定阈值时仅为所述当前块检查DIRECT模式或16×16模式其中之一。
文档编号H04N7/46GK101099394SQ200580045954
公开日2008年1月2日 申请日期2005年11月2日 优先权日2004年11月4日
发明者吉尔·M·博伊斯, 澎 尹, 陆晓安 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1