一种p帧双向预测方法

文档序号:7564699阅读:392来源:国知局
专利名称:一种p帧双向预测方法
技术领域
本发明涉及视频编码领域,尤其涉及一种P帧双向预测方法。
背景技术
目前在视频编码中,通常使用帧内预测来消除图像的空间冗余度,使用帧间预测来消除时间冗余度。其中视频源的帧间信息冗余度相比较于帧内的要大得多,这就使得帧间编码方法在视频编码中显得极为重要。帧间预测根据预测方向的不同分为P帧预测和B帧预测。目前主流的P帧预测方法采用前向已编码的帧作为当前编码帧的参考帧,利用两者之间的相似性,压缩当前编码帧的信息。而主流的B帧预测方法则采用前向已编码的帧以及后向已编码的帧,分别作为当前编码B帧的前后向参考帧,利用当前编码B帧与前后向参考帧之间的相似性,压缩当前编码B帧的信息。由于P帧预测仅使用前向预测,而B帧预测方法使用了前后向双向预测技术,从而使得P帧预测比B帧预测的压缩率低。

发明内容
本发明实施例的目的在于提出一种P帧双向预测方法,旨在解决现有技术中P帧预测仅使用前向预测导致的压缩率低的问题。为解决上述问题,本发明提出一种P帧双向预测方法,该方法包括步骤101 确定第一参考帧与当前编码帧的关系;若为镜头拉近则执行步骤102 ;步骤102 对第一参考帧进行处理,得到第二参考帧,并将第一当前参考帧设置为第二参考帧;步骤103 判断第一参考帧与当前编码帧像素差值的均方差是否小于第一参数, 若是则执行步骤104 ;若否则执行步骤105 ;步骤104 对第一参考帧进行处理,得到第四参考帧,并将第二当前参考帧设置为第四参考帧,执行步骤106;步骤105 对第一参考帧进行处理,得到第六参考帧,并将第二当前参考帧设置为第六参考帧;执行步骤106 ;步骤106 判断是否第一、第二当前参考帧都存在,若是则利用所述第一、第二当前参考帧对当前编码帧进行双向预测;若否则用第一参考帧对当前编码帧进行常规预测。其中,所述步骤101中,进一步包括若是镜头推远则执行步骤107 ;步骤107 对第一参考帧进行处理,得到第八参考帧,并将第一当前参考帧设置为第八参考帧;执行步骤108 ;步骤108 ;判断第一参考帧与当前编码帧像素差值的均方差是否小于第一参数, 若是则执行步骤109 ;若否则执行步骤110 ;步骤109 对第一参考帧进行处理,得到第十参考帧;并将第二当前参考帧设置为第十参考帧,执行步骤106;
步骤110 对第一參考帧进行处理,得到第十二參考帧,并将第二当前參考帧设置为第十二參考帧;执行步骤106。本发明还提出了ー种P帧双向预测装置,所述装置包括第一判断単元,用于确定第一參考帧与当前编码帧的关系;镜头拉近単元包括第一处理单元,第二处理单元,第三处理单元;所述第一处理单元,用于当第一參考帧与当前编码帧的关系为镜头拉近时则对第一參考帧进行处理,得到第二參考帧,并将第一当前參考帧设置为第二參考帧,则第二判断单元进行判断;第二处理单元,用于当判断単元判断出所述均方差小于第一參数,则对第一參考帧进行处理,得到第四參考帧,并将第二当前參考帧设置为第四參考帧,由预测单元进行处理;第三处理单元,用于判断単元判断出所述均方差大于等于第一參数,则对第一參考帧进行处理,得到第六參考帧,并将第二当前參考帧设置为第六參考帧;第二判断単元,用于判断第一參考帧与当前编码帧像素差值的均方差是否小于第
ー參数;预测单元,用于判断否第一、第二当前參考帧都存在,若是则利用所述第一、第二当前參考帧对当前編码帧进行双向预测;若否则用第一參考帧对当前編码帧进行常规预測。其中,所述装置进ー步包括镜头推远单元,该单元包括第四处理单元,第五处理単元,第六处理单元;第四处理单元,用于当第一參考帧与当前编码帧的关系为镜头推远时则对第一參考帧进行处理得到第八參考帧,并将第一当前參考帧设置为第八參考帧,则第二判断単元进行判断;第五处理单元,用于当判断単元判断出所述均方差小于第一參数,则对第一參考帧进行处理,得到第十參考帧;并将第二当前參考帧设置为第十參考帧;第六处理单元,用于当判断単元判断出所述均方差大于等于第一參数,则对第一參考帧进行处理,得到第十二參考帧,并将第二当前參考帧设置为第十二參考帧。本发明提出ー种P帧双向预测方法、装置,对存在镜头推进的视频源,通过对当前编码帧的一个參考帧进行双向变换,并利用其进行双向预测从而达到优化当前编码帧的压縮效果。此方法,一方面可以缓解由于对镜头推进判定不准确或者采用不合适的采样率, 而产生的制约P帧预测參考帧变换技术性能的问题,另一方面可以利用ー个前向參考帧达到对当前编码P帧进行前后双向预测的效果。低帧率时,帧与帧之间的镜头变化更大,此时采用本发明的P帧预测方法,压缩性能的提升将更为显著。


图1是实施例1的方法流程图。
图2是实施例2的装置结构图。
10
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进ー步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。本发明提出一种新的P帧的。实施例1,參见图1,该方法主要应用于P帧预测,具体为步骤101 确定第一參考帧Rfi (该第一參考帧可以为參考帧列表中任一个參考帧)与当前编码帧frame的关系;若所述关系为镜头拉近则执行步骤102 ;若所述关系为镜头推远则执行步骤107 ;若不存在镜头拉近或者镜头推远关系,则执行步骤106 ;步骤102 对第一參考帧Rfi进行处理,得到第二參考帧ref' i,并将第一当前參考帧currjefi。设置为第二參考帧ref ‘ i ; curr_ref^该步骤102中所述的对第一參考帧Rfi进行处理得到第二參考帧ref ‘,的方法可以为对第一參考帧Rfi进行上采样,得到第二參考帧ref' i0在该步骤102中,可以在得到第二參考帧ref' i的基础上对第二參考帧ref ‘ i 进行处理,得到第三參考帧ref"パ对第二參考帧ref' i进行处理的方法可以为将第二參考帧ref' i·行边界像素删除,获取第三參考帧ref" ”使得第三參考帧ref" i与第一參考帧Rfi具有相同的分辨率;相应的可以将第一当前參考帧设置为第三參考帧ref",; 该方法进ー步对第二參考帧进行了像素删除,使得第一当前參考帧与第一參考帧具有相同的分辨率,避免了内存的重新分配,便于代码的兼容;其中将第二參考帧ref' i进行边界像素删除,获取第三參考帧ref 〃 i的方法可以为ref" ^m, n) = ref' j (m+d_heifht ‘ , n+d_width')d一width' = (m_width' -o_width)/2,d一height' = (m一height' _o一height)/2。其中ref' i为第二參考帧,ref 〃 i为第三參考帧,o_width、o_height为Tefi第一參考帧的列数与行数,m_width'、m_height'为ref' i的列数与行数,m、η为參考帧像素的行标号与列标号;步骤103 判断第一參考帧ref\与当前编码帧frame像素差值的均方差是否小于第一參数,若是则执行步骤104 ;若否则执行步骤105 ;if std (refj (m, η) -frame (m, η)) < Thres,进入步骤 104 ;else 进入步骤 105;其中std 求均方差;refi (m, η)第i个參考帧Tefi第m行η列的像素值;frame (m, η)当前编码帧frame第m行η列的像素值;Thres 相应判定阈值,即预置的第一參数。步骤104:对第一參考帧Rfi进行处理,得到第四參考帧ref" ‘ i,并将第二当前參考帧Cun^refi1设置为第四參考帧ref" ‘ i,执行步骤106;该步骤104中对第一參考帧Rfi进行处理得到第四參考帧的方法可以为对第一參考帧Rfi进行下采样;
该步骤104中可以在获取第四參考帧ref" ‘ i后进ー步对第四參考帧ref “‘, 进行处理,得到第五參考帧ref"“パ对第四參考帧ref" ‘ i进行处理获得第五參考帧 ref" “ i的方法可以是对第四參考帧ref" ‘ i进行边界像素填充扩展,获得第五參考帧,使得第五參考帧与第一參考帧refi具有相同的分辨率;该方法进ー步对第四參考帧进行了像素扩展,使得第二当前參考帧与第一參考帧具有相同的分辨率,避免了内存的重新分配,便于代码的兼容;其中对第四參考帧ref" ‘ i进行边界像素填充扩充的方法可以为列填充
权利要求
1.一种P帧双向预测方法,其特征在于,该方法包括步骤101 确定第一参考帧与当前编码帧的关系;若为镜头拉近则执行步骤102 ; 步骤102 对第一参考帧进行处理,得到第二参考帧,并将第一当前参考帧设置为第二参考帧;步骤103 判断第一参考帧与当前编码帧像素差值的均方差是否小于第一参数,若是则执行步骤104 ;若否则执行步骤105 ;步骤104 对第一参考帧进行处理,得到第四参考帧,并将第二当前参考帧设置为第四参考帧,执行步骤106 ;步骤105 对第一参考帧进行处理,得到第六参考帧,并将第二当前参考帧设置为第六参考帧;执行步骤106 ;步骤106 判断是否第一、第二当前参考帧都存在,若是则利用所述第一、第二当前参考帧对当前编码帧进行双向预测;若否则用第一参考帧对当前编码帧进行常规预测。
2.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤101中,进一步包括若是镜头推远则执行步骤107 ;步骤107 对第一参考帧进行处理,得到第八参考帧,并将第一当前参考帧设置为第八参考帧;执行步骤108 ;步骤108 ;判断第一参考帧与当前编码帧像素差值的均方差是否小于第一参数,若是则执行步骤109 ;若否则执行步骤110 ;步骤109 对第一参考帧进行处理,得到第十参考帧;并将第二当前参考帧设置为第十参考帧,执行步骤106 ;步骤110 对第一参考帧进行处理,得到第十二参考帧,并将第二当前参考帧设置为第十二参考帧;执行步骤106。
3.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤102对第一参考帧进行处理,得到第二参考帧具体为对第一参考帧进行上采样,得到第二参考帧。
4.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤102中,得到所述第二参考帧后,进一步对第二参考帧进行处理,得到第三参考帧;相应的,将第一当前参考帧设置为第三参考帧,进入步骤103。
5.根据权利要求4所述的P帧双向预测方法,其特征在于,所述步骤102中进一步对第二参考帧进行处理,得到第三参考帧具体为将第二参考帧进行边界像素删除,获取第三参考帧,使得第三参考帧与第一参考帧具有相同的分辨率。
6.根据权利要求5所述的P帧双向预测方法,其特征在于,所述步骤102中将第二参考帧进行边界像素删除方法具体为ref" i(m, η) = ref' j (m+d_heifht‘ , n+d_width')其中ref' i为第二参考帧,ref" i为第三参考帧,o_width、o_height为Tefi第一参考帧的列数与行数,m_width'、m_height'为ref' i的列数与行数,m、η为参考帧像素的行标号与列标号;d_width' = (m_width' -o_width)/2, d_height‘ = (m_height' _o_height)/2。
7.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤104中对第一参考帧进行处理,得到第四参考帧具体为对第一参考帧进行下采样,得到第四参考帧。
8.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤104中得到所述的第四参考帧后,进一步对第四参考帧进行处理,得到第五参考帧;相应的,将第二当前参考帧设置为第五参考帧,进入步骤106。
9.根据权利要求8所述的P帧双向预测方法,其特征在于,所述步骤104中对第四参考帧进行处理,得到第五参考帧具体为对第四参考帧进行边界像素填充扩展,获取第五参考帧,使得第五参考帧与第一参考帧具有相同的分辨率。
10.根据权利要求9所述的P帧双向预测方法,其特征在于,所述步骤104中对第四参考帧进行边界像素填充扩具体为其中ref" ‘ 第四参考帧、ref" “ i为第五参考帧、o_width、o_height为Tefi第一参考帧的列数与行数,m_width〃 ‘、m_height"‘为ref" ‘ i第四参考帧的列数与行数,m、η为参考帧像素的行标号与列标号;
11.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤105中对第一参考帧进行处理,得到第六参考帧具体为更换采样率对第一参考帧进行上采样,得到第六参考帧。
12.根据权利要求11所述的P帧双向预测方法,其特征在于,所述步骤105中对第一参考帧进行处理,得到第六参考帧后进一步对第六参考帧进行处理,得到第七参考帧,使得第七参考帧与第一参考帧具有相同的分辨率;相应的将第二当前参考帧设置为第七参考帧;进入步骤106。
13.根据权利要求12所述的P帧双向预测方法,其特征在于,所述步骤105中对第六参考帧进行处理,得到第七参考帧具体为对第六参考帧进行边界像素删除;所述进行边界像素删除具体为
14.根据权利要求2所述的P帧双向预测方法,其特征在于,所述步骤107中对第一参考帧进行处理得到第八参考帧具体为对第一参考帧进行下采样,得到第八参考帧。
15.根据权利要求14所述的P帧双向预测方法,其特征在于,所述步骤107中得到第八参考帧后,进一步对第八参考帧进行像素填充扩展,获得第九参考帧;并相应的将第一参考帧设置为第九参考帧;所述对第八参考帧进行像素填充扩展,获得第九参考帧的方法具体为 列填充
16.根据权利要求2所述的P帧双向预测方法,其特征在于,所述步骤109中对第一参考帧进行处理得到第十参考帧具体为对第一参考帧上采样。
17.根据权利要求16所述的P帧双向预测方法,其特征在于,所述步骤109中,进一步对第十参考帧进行边界像素删除,得到第十一参考帧,使得第一参考帧与第十一参考帧具有相同的分辨率;相应的将第二当前参考帧设置为第十一参考帧; 所述对第十参考帧进行边界像素删除,得到第十一参考帧具体为
18.根据权利要求2所述的P帧双向预测方法,其特征在于,所述步骤110中对第一参考帧进行处理,得到第十二参考帧具体为更换采样率对第一参考帧进行下采样。
19.根据权利要求18所述的P帧双向预测方法,其特征在于,所述步骤110中得到第十二参考帧后进一步对第十二参考帧进行边界像素填充扩展,得到第十三参考帧,使得第十三参考帧与第一参考帧具有相同的分辨率;相应的将第: 所述对第十: 列填充当前参考帧设置为第十三参考帧;进入步骤106 ; 参考帧进行边界像素填充扩展,得到第十三参考帧具体为
20.根据权利要求1所述的P帧双向预测方法,其特征在于,所述步骤101中进一步包括若不存在镜头拉近或推远则执行步骤106。
21.—种P帧双向预测装置,其特征在于,所述装置包括 第一判断单元,用于确定第一参考帧与当前编码帧的关系;镜头拉近单元包括第一处理单元,第二处理单元,第三处理单元; 所述第一处理单元,用于当第一参考帧与当前编码帧的关系为镜头拉近时则对第一参考帧进行处理,得到第二参考帧,并将第一当前参考帧设置为第二参考帧,则第二判断单元进行判断;第二处理单元,用于当判断单元判断出所述均方差小于第一参数,则对第一参考帧进行处理,得到第四参考帧,并将第二当前参考帧设置为第四参考帧,由预测单元进行处理;第三处理单元,用于判断单元判断出所述均方差大于等于第一参数,则对第一参考帧进行处理,得到第六参考帧,并将第二当前参考帧设置为第六参考帧;第二判断单元,用于判断第一参考帧与当前编码帧像素差值的均方差是否小于第一参数;预测单元,用于判断否第一、第二当前参考帧都存在,若是则利用所述第一、第二当前参考帧对当前编码帧进行双向预测;若否则用第一参考帧对当前编码帧进行常规预测。
22.根据权利要求21所述的P帧双向预测装置,其特征在于,所述装置进一步包括镜头推远单元,该单元包括第四处理单元,第五处理单元,第六处理单元;第四处理单元,用于当第一参考帧与当前编码帧的关系为镜头推远时则对第一参考帧进行处理得到第八参考帧,并将第一当前参考帧设置为第八参考帧,则第二判断单元进行判断;第五处理单元,用于当判断单元判断出所述均方差小于第一参数,则对第一参考帧进行处理,得到第十参考帧;并将第二当前参考帧设置为第十参考帧;第六处理单元,用于当判断单元判断出所述均方差大于等于第一参数,则对第一参考帧进行处理,得到第十二参考帧,并将第二当前参考帧设置为第十二参考帧。
23.根据权利要求21所述的P帧双向预测装置,其特征在于,所述第一处理单元中对第一参考帧进行处理,得到第二参考帧具体为对第一参考帧进行上采样,得到第二参考帧。
24.根据权利要求21所述的P帧双向预测装置,其特征在于,所述第一处理单元进一步用于,得到所述第二参考帧后,进一步对第二参考帧进行处理,得到第三参考帧;相应的,将第一当前参考帧设置为第三参考帧;所述对第二参考帧进行处理,得到第三参考帧具体为将第二参考帧进行边界像素删除,获取第三参考帧,使得第三参考帧与第一参考帧具有相同的分辨率; 所述将第二参考帧进行边界像素删除方法具体为其中ref ‘ i为第二参考帧,ref 〃 i为第三参考帧,o_width、o_height为Tefi第一参考帧的列数与行数,m_width'、m_height'为ref' i的列数与行数,m、η为参考帧像素的行标号与列标号;
25.根据权利要求21所述的P帧双向预测装置,其特征在于,所述的第二处理单元中对第一参考帧进行处理,得到第四参考帧具体为对第一参考帧进行下采样,得到第四参考帧。
26.根据权利要求21所述的P帧双向预测装置,其特征在于,所述的第二处理单元进一步用于得到所述的第四参考帧后,进一步对第四参考帧进行处理,得到第五参考帧;相应的,将第二当前参考帧设置为第五参考帧;所述对第四参考帧进行处理,得到第五参考帧具体为对第四参考帧进行边界像素填充扩展,获取第五参考帧,使得第五参考帧与第一参考帧具有相同的分辨率;所述对第四参考帧进行边界像素填充扩具体为
27.根据权利要求21所述的P帧双向预测装置,其特征在于,所述第三处理单元中,对第一参考帧进行处理,得到第六参考帧具体为更换采样率对第一参考帧进行上采样,得到第六参考帧。
28.根据权利要求21所述的P帧双向预测装置,其特征在于,所述第三处理单元进一步用于,对第一参考帧进行处理,得到第六参考帧后进一步对第六参考帧进行处理,得到第七参考帧,使得第七参考帧与第一参考帧具有相同的分辨率;相应的将第二当前参考帧设置为第七参考帧;所述对第六参考帧进行处理,得到第七参考帧具体为对第六参考帧进行边界像素删除;所述进行边界像素删除具体为
29.根据权利要求22所述的P帧双向预测装置,其特征在于,所述的第四处理单元中, 对第一参考帧进行处理得到第八参考帧具体为对第一参考帧进行下采样,得到第八参考帧。
30.根据权利要求22所述的P帧双向预测装置,其特征在于,所述的第四处理单元,进一步用于得到第八参考帧后,进一步对第八参考帧进行像素填充扩展,获得第九参考帧;并相应的将第一参考帧设置为第九参考帧;所述对第八参考帧进行像素填充扩展,获得第九参考帧的方法具体为 列填充
31.根据权利要求22所述的P帧双向预测装置,其特征在于,所述第五处理单元中,对 -参考帧进行处理得到第十参考帧具体为对第一参考帧上采样。
32.根据权利要求22所述的P帧双向预测装置,其特征在于,所述第五处理单元,进一步用于对第十参考帧进行边界像素删除,得到第十一参考帧,使得第一参考帧与第十一参考帧具有相同的分辨率;相应的将第二当前参考帧设置为第十一参考帧; 所述对第十参考帧进行边界像素删除,得到第十一参考帧具体为 ref^10' (m,η) = ref^9) (m+d_heifht(9), n+d_width(9))其中ref/"1)为第十一参考帧、ref,为第十参考帧、0_Width、0_height为第一参考帧 ref,的列数与行数,m_width(9\m_height(9)为ref/9)的列数与行数;m、η为参考帧像素的行标号与列标号;d_width⑼=(m_width⑼-o_width)/2, d_height ⑼=(m_height(9)-o_height)/2。
33.根据权利要求22所述的P帧双向预测装置,其特征在于,所述第六处理单元中,对第一参考帧进行处理,得到第十二参考帧具体为更换采样率对第一参考帧进行下采样。
34.根据权利要求22所述的P帧双向预测装置,其特征在于,所述第六处理单元进一步用于得到第十二参考帧后进一步对第十二参考帧进行边界像素填充扩展,得到第十三参考帧,使得第十三参考帧与第一参考帧具有相同的分辨率;相应的将第二当前参考帧设置为第十三参考帧;所述对第十二参考帧进行边界像素填充扩展,得到第十三参考帧具体为列填充其中ref,2)为第十三参考帧、ref,1)为第十二参考帧、o_width, o_height为第一参考帧Mfi的列数与行数,m_width(11)、m_height(11)为ref,1)的列数与行数;m、η为参考帧像素的行标号与列标号;
全文摘要
本发明提出一种P帧双向预测方法、装置,对存在镜头推进的视频源,通过对当前编码帧的一个参考帧进行双向变换,并利用其进行双向预测从而达到优化当前编码帧的压缩效果。此方法,一方面可以缓解由于对镜头推进判定不准确或者采用不合适的采样率,而产生的制约P帧预测参考帧变换技术性能的问题,另一方面可以利用一个前向参考帧达到对当前编码P帧进行前后双向预测的效果。低帧率时,帧与帧之间的镜头变化更大,此时采用本发明的P帧预测方法,压缩性能的提升将更为显著。
文档编号H04N7/26GK102595125SQ20111000966
公开日2012年7月18日 申请日期2011年1月17日 优先权日2011年1月17日
发明者舒倩 申请人:深圳市融创天下科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1