在数字视频编码内进行自适应量化的方法和装置转让专利

申请号 : CN200910253592.7

文献号 : CN101959065B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 冯志强湛伟权郑嘉雯刘雨

申请人 : 香港应用科技研究院有限公司

摘要 :

本发明涉及调整数字视频编码的量化参数。使用一个转换值(QP转换)来调整量化参数。在确定步骤101,确定该转换值。在比较步骤102,确定视频特性并与一个阈值进行比较,在调整步骤103,根据帧类型自适应地调整转换值。在转换步骤104,该转换值转换量化参数。

权利要求 :

1.一种由处理器执行的数字视频编码方法,包括:根据一个数字视频的特性和该数字视频的一个当前数字视频帧的帧类型,确定一个量化参数QP转换值;和由该量化参数QP转换值将数字视频编码方法的一个量化参数转换;

其中数字视频的特性是帧内块在前一个P-帧上的一个平均概率,将帧内块在前一个P-帧上的一个平均概率与一个阈值进行比较,如果帧内块在前一个P-帧内的平均概率高于该阈值,那么对不同的帧类型,需要调整量化参数QP转换值,如果该平均概率低于或等于该阈值,量化参数QP转换值取预设值。

2.根据权利要求1所述的数字视频编码方法,其中阈值的范围是0.3至0.6。

3.根据权利要求1所述的数字视频编码方法,其中阈值是0.45。

4.根据权利要求1所述的数字视频编码方法,还包括:检查一个当前数字视频帧的帧类型。

5.根据权利要求4所述的数字视频编码方法,其中当前一个P-帧内的帧内块的平均概率高于阈值时,降低I-帧的转换值。

6.根据权利要求4所述的数字视频编码方法,其中当前一个P-帧内的帧内块的平均概率高于阈值时,提高B-帧的转换值。

7.根据权利要求1所述的数字视频编码方法,其中数字视频的每个帧头包括多个变换尺寸的多个预设转换值用于数字视频编码方法。

8.根据权利要求7所述的数字视频编码方法,其中变换尺寸包含4×4和16×16。

9.一个自适应量化的数字视频编码方法,包括:将帧内块在前一个P-帧内的一个平均概率与一个阈值进行比较;

如果帧内块在前一个P-帧内的平均概率高于该阈值,检查一个当前数字视频帧的帧类型,并根据帧类型调整一个量化参数QP的转换值;

如果该平均概率低于或等于该阈值,量化参数QP转换值取预设值。

10.根据权利要求9所述的数字视频编码方法,其中阈值的范围是0.3至0.6。

11.根据权利要求9所述的数字视频编码方法,其中阈值是0.45。

12.根据权利要求9所述的数字视频编码方法,其中当前一个P-帧内的帧内块的平均概率高于阈值时,降低I-帧的转换值。

13.根据权利要求9所述的数字视频编码方法,其中当前一个P-帧内的帧内块的平均概率高于阈值时,提高B-帧的转换值。

14.根据权利要求9所述的数字视频编码方法,其中数字视频的每个帧头包括多个变换尺寸的调整后的转换值用于数字视频编码方法。

15.根据权利要求14所述的数字视频编码方法,其中变换尺寸包含4×4和16×16。

说明书 :

在数字视频编码内进行自适应量化的方法和装置

技术领域

[0001] 本发明涉及视频编码,特别地,本发明是为数字视频编码自适应地转换量化参数。发明概述
[0002] 在数字视频编码内,需要在编码期间进行量化,并在解码期间进行逆量化。量化和逆量化是用来确定分配到数字视频帧内变换系数的比特数。大家都知道分配比特数即是量化参数(QP)。通常,在数字视频编码期间,量化参数的数值是固定的。
[0003] 但是,在许多情况下,出现需要改变量化参数数值的情形。例如,如果变换尺寸发生变化,就需要改变量化参数的数值。变换尺寸越大,变换系数的动态范围就越大。所以,需要分配更多的比特给变换系数以保持视频质量,从而在不同的变换尺寸之间需要调整量化参数(QP)。这种变换尺寸的改变就发生在某些数字视频编码标准里,如H.264,但是,任意块尺寸变换(ABT)通过允许不同的宏块选择不同的变换尺寸,被用来获得更好的编码性能。
[0004] 为了调整量化参数,引入另一个参数,即量化参数转换(QP转换)。根据视频特性和帧类型来自适应地调整QP转换的数值。
[0005] 视频特性,如视频内物体或画面的运动速度,会影响运动预测的表现。如果在快速运动视频里运动预测不够有效,帧内块在最后一个P-帧上的平均概率将上升。帧内块是指采用帧内预测用于视频编码的块。较少的比特将分配给关键帧,如I-帧,但是较多的比特将分配给B-帧,以提高编码性能。
[0006] 如果运动预测有效,帧内块在最后一个P-帧上的平均概率将很小。在此情况下,一个好的基准帧是非常重要的,通过分配更多比特给关键帧如I-帧,而分配更少比特给B-帧,编码性能可以得到提高。在优选实施例里,帧内块在最后一个P-帧上的平均概率被看作是视频特性的一个度量。
[0007] 结果,提高了编码性能并降低了比特率。特别是对那些运动预测通常不太有效的数字视频,例如,那些运动和强度变化强烈的数字视频,可以极大地降低比特率。此外,唯一的开销是在每个帧头内存储一个QP转换。这个开销几乎是可以忽略的,并且不会给大多数数字视频增添成本。
[0008] 本发明的一个目的是在编码和解码期间调整被分配到一个块的比特数。
[0009] 本发明的另一个目的是调整QP转换值以便确定量化参数的数值。
[0010] 本发明的另一个目的是根据视频特性和低计算量自适应地调整QP转换值。

附图说明

[0011] 将参照以下的附图,详细描述本发明的其它目的、方面和实施例,其中:
[0012] 图1是一个描述转换量化参数的流程图;
[0013] 图2是一个描述如何执行比特分配的流程图。发明详述
[0014] 图1显示一个转换量化参数的流程图。不同的视频编码方法采用不同的宏块尺寸(macroblock size)。为了在不同的视频编码方法之间进行转换,任意块尺寸变换(ABT)被用来提供不同的变换尺寸以避免在变换时发生不匹配的错误,如在运动补偿期间的离散余弦变换(DCT)和逆离散余弦变换(IDCT)。不同的变换尺寸需要不同的量化等级,其由量化参数(QP)确定。因此,为了调整不同变换尺寸的量化参数,引入一个参数——QP转换,来转换量化参数。在一个实施例里,在转换步骤104,变换尺寸为8x8的量化参数(QP8)被QP转换(QP_Shift16)转换成变换尺寸为16x16的量化参数(QP16)。
[0015] QP16=QP8-QP_Shift16 (1)
[0016] 在另一个实施例里,变换尺寸8x8的量化参数(QP8)被QP转换(QP_Shift4)转换成变换尺寸4x4的量化参数(QP4)。
[0017] QP4=QP8-QP_Shift4 (2)
[0018] 通常,变换尺寸m×m的量化参数(QPm)被QP转换(QP_Shiftn)转换成变换尺寸n×n的量化参数(QPn)。
[0019] QPn=QPm-QP_Shiftn (3)
[0020] QP转换(QP_Shiftn),用于将变换尺寸m×m的量化参数转换成变换尺寸n×n的量化参数,是在确定步骤101上被确定。
[0021] 在一个优选实施例里,在调整步骤103,QP转换(QP_Shiftn)的值是根据视频特性自适应地调整的。例如,视频特性是指一个视频的画面如何快速变化。在一个具有快速变化画面的视频里或在一些特别情况下,以帧间块方式执行运动补偿并不好,必须使用帧内块运动补偿来提高性能。视频特性被设置成帧内块在前一个P-帧内的概率Pintra。在比较步骤里,如果帧内块在前一个P-帧内的平均概率Pintra高于一个阈值,其大约是0.45,那么对不同的帧类型,需要调整QP转变换(QP_Shiftn)的值,如果该平均概率低于阈值,QP转换(QP_Shiftn)的值就是在确定步骤101里确定的固定值。
[0022] 图2描述如何调整QP转换(QP_Shiftn)值的实施例的流程图。
[0023] 在开始步骤201,对不同视频编码方法里的不同变换尺寸,处理器启动转换量化参数的过程。处理器以一个数字视频帧接一个数字视频帧地处理一个数字视频。由处理器进行处理进行编码或解码的该数字视频被看作是当前数字视频帧。如上述等式(3)所述,量化参数将由QP转换进行转换。在初始化步骤203,视频特性被初始化成一个正常值,采用一个预设的QP转换的值。例如,在初始化步骤203,帧内块在前一个P-帧内的平均概率Pintra被初始化成0。
[0024] 随后,在调整步骤207,根据视频特性和帧类型,自适应地调整QP转换以提供更好的性能。是否需要调整QP转换值取决于视频特性。例如,视频特性已经确定为帧内块在前一个P-帧内的平均概率Pintra。在比较步骤210,将帧内块在前一个P-帧内的平均概率Pintra与一个阈值进行比较。阈值范围是从0.3到0.6。在一个优选实施例里,阈值是0.45。如果帧内块在前一个P-帧内的平均概率Pintra高于阈值,QP转换是根据帧类型进行调整。如果在前一个P-帧内的帧内块的平均概率Pintra低于或等于阈值,就采用QP转换的预设值,新的量化参数由QP转换(QP_Shiftn)的预设值确定。每个预设的QP转换(QP_Shiftn)的值是在每个数字视频帧的帧头上,由一个4-比特的标记表示。QP转换(QP_Shiftn)表示将一个变换尺寸为m×m的量化参数转换成另一个变换尺寸为n×n的量化参数。在一个优选实施例里,存储的QP转换的预设值包括QP_Shift4,其用于将变换尺寸为8×8的量化参数转换成变换尺寸为4×4的量化参数,和QP_Shift16,其用于将变换尺寸为8×8的量化参数转换成变换尺寸为16×16的量化参数。在编码/解码步骤220,新的量化参数被用于编码/解码一个数字视频帧。
[0025] 为了根据帧类型调整QP转换,在第一检查步骤211,检查当前数字视频帧是否是一个I-帧。如果当前数字视频帧是一个I-帧,在递减步骤215,QP转换被递减1。如果当前数字视频帧不是一个I-帧,在第二检查步骤212,检查当前数字视频帧是否是一个B-帧。如果当前数字视频帧是一个B-帧,在递增步骤218,QP转换QP_Shift16被递增1。如果当前数字视频帧既不是I-帧也不是B-帧,则采用QP转换的预设值,不需要调整QP转换。
[0026] 在一个优选实施例里,将变换尺寸8×8的量化参数(QP8)转换成变换尺寸16×16的量化参数(QP16)的QP转换(QP_Shift16)数值和将变换尺寸8×8的量化参数(QP8)转换成变换尺寸4×4的量化参数(QP4)的QP转换(QP_Shift4)数值在每个帧头上由两个4-比特标记表示。提供的QP转换(QP_Shift4)和(QP_Shift16)的预设值,能够将变换尺寸从8×8转换到16×16以及从8×8转换到4×4。从一个变换尺寸到另一个变换尺寸转换得越多,就要使用越多的标记来存储QP转换(QP_Shiftn)的预设值在每个帧头内。
[0027] 在完成QP转换的调整之后,新的量化参数就由QP转换的调整值或预设值确定,并在编码/解码步骤220里用于编码/解码一个数字视频帧。
[0028] 在编码/解码步骤220之后,在第三检查步骤221,检查当前数字视频帧是否是一个P-帧。如果当前数字视频帧是一个P-帧,通过检查帧内块是否用于当前数字视频帧上的运动补偿,并计算帧内块在前一个P-帧内的平均概率(Pintra)的一个新数值,在更新步骤226,更新帧内块在前一个P-帧内的平均概率(Pintra)。
[0029] 在检查当前数字视频帧以确定其是否是一个P-帧之后,在第四检查步骤234,再检查当前数字视频帧以查看其是否是数字视频序列内的最后一个帧。如果当前数字视频帧是数字视频序列内的最后一个帧,在处理步骤237,编码过程继续到下一帧,在调整步骤207继续调整数字视频序列内的下一个帧的QP转换。整个过程进行迭代,直到完成数字视频序列的编码。
[0030] 第一检查步骤211、第二检查步骤212、和第三检查步骤221通过检查当前数字视频帧的帧头来检查帧类型。第四检查步骤234也检查当前数字视频帧的帧头以查看当前数字视频帧是否是数字视频序列内的最后一个帧。
[0031] 本发明实施例的描述是非穷尽性的,对本领域技术人员而言,可以对其作出任何显而易见的更新或修改,因此参照所附权利要求以确定本发明的范围。工业应用
[0032] 本发明可用于实施自适应地调整量化参数用于数字视频编码,包括编码和解码。量化参数是依照视频特性和帧类型适应性的进行调整。特别地,本发明可用于实施任意块尺寸转换(ABT)。本发明可适用于采用任意块尺寸转换的数字编码标准,如H.264,高级视频编码(AVC)和音频视频标准(AVS)。