发明名称 一种HEVC快速编码方法
摘要 本发明公开了一种HEVC快速编码方法,其通过对预测最大编码单元进行四叉树结构类型分析,快速获取表示当前的最大编码单元的深度遍历区间的类型值,在获取该类型值的过程中由于当前的最大编码单元与相邻已编码的最大编码单元以及前向参考帧和后向参考帧中坐标位置相同的最大编码单元之间具有很大的相关性,因此利用预测最大编码单元的深度遍历区间的类型值来获取当前的最大编码单元的深度遍历区间的类型值,从而避免了当前的最大编码单元分割过程中许多不必要的深度遍历,在保证视频质量和码率不变的前提下,有效地降低了编码的计算复杂度。
申请公布号 CN103533355A 申请公布日期 2014.01.22
申请号 CN201310470508.3 申请日期 2013.10.10
申请人 宁波大学 发明人 蒋刚毅;杨小祥;彭宗举;郁梅;邵枫;陈芬;朱天之;李福
分类号 H04N19/00(2014.01)I;H04N19/114(2014.01)I;H04N19/147(2014.01)I 主分类号 H04N19/00(2014.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 周珏
主权项 一种HEVC快速编码方法,其特征在于包括以下步骤:①将高清视频中当前待处理的帧定义为当前帧;②将当前帧中当前待编码的最大编码单元定义为当前最大编码单元;③根据当前帧在高清视频中的位置及当前最大编码单元在当前帧中的位置,确定当前最大编码单元的所有预测最大编码单元,将由当前最大编码单元的所有预测最大编码单元构成的集合定义为当前最大编码单元的预测集合,并记为Ω,其中,Ω为空集或Ω中所包含的最大编码单元为L、LT、T、COL1和COL2中的至少一个,COL1表示当前帧的前向参考帧中与当前最大编码单元的坐标位置相同的最大编码单元,COL2表示当前帧的后向参考帧中与当前最大编码单元的坐标位置相同的最大编码单元,L表示当前最大编码单元的左边相邻最大编码单元,LT表示当前最大编码单元的左上边相邻最大编码单元,T表示当前最大编码单元的上边相邻最大编码单元;④令DRpred表示当前最大编码单元的深度遍历区间的类型值,然后确立DRpred与当前最大编码单元的深度遍历区间的一一对应关系,其中,DRpred为整数,且0≤DRpred≤5;⑤判断Ω是否等于全集U={COL1,COL2,L,LT,T},如果是,则执行步骤⑥,否则,直接确定DRpred的值,然后执行步骤⑦;⑥对Ω中的每个最大编码单元进行四叉树结构类型分析,确定Ω中的每个最大编码单元的深度遍历区间的类型值,然后根据Ω中的每个最大编码单元的深度遍历区间的类型值,获取DRpred的值,再执行步骤⑦;⑦根据DRpred的值,确定当前最大编码单元的深度遍历区间,然后根据当前最大编码单元的深度遍历区间对当前最大编码单元进行遍历编码,在遍历编码过程中,对当前最大编码单元进行编码单元早期裁剪,具体过程为:⑦‑1、将当前最大编码单元的深度遍历区间内当前待处理的编码单元定义为当前编码单元,将当前编码单元所在的层定义为当前层;⑦‑2、根据当前编码单元的深度值及当前编码单元在当前层中的位置,判定当前编码单元的下一层所有编码单元是否可以进行早期裁剪,具体过程为:如果当前编码单元的深度值为0,则判定对当前编码单元的下一层所有编码单元不进行早期裁剪,然后执行步骤⑦‑4;如果当前编码单元的深度值为1或2,则当当前编码单元为当前层中的第1个或第2 个或第3个编码单元时,判定对当前编码单元的下一层所有编码单元不进行早期裁剪,然后执行步骤⑦‑4;而当当前编码单元为当前层中的第4个编码单元时,判断当前编码单元的深度值是否小于当前最大编码单元的深度遍历区间的最大值,如果是,则判定当前编码单元的下一层所有编码单元可以进行早期裁剪,然后执行步骤⑦‑3,否则,不作处理,然后执行步骤⑦‑5;如果当前编码单元的深度值为3,则不作处理,然后执行步骤⑦‑5;⑦‑3、比较当前编码单元的上一层编码单元的率失真代价,与当前层中的四个编码单元的率失真代价之和加上设定的判定阈值后得到的值,如果前者小于后者,则确定对当前编码单元的下一层编码单元进行早期裁剪,然后执行步骤⑦‑5,如果前者大于或等于后者,则确定对当前编码单元的下一层编码单元不进行早期裁剪,然后执行步骤⑦‑4;⑦‑4、判断当前编码单元的深度值是否小于当前最大编码单元的深度遍历区间的最大值,如果是,则将当前编码单元进一步分割为4个大小相同的下一层编码单元,然后将该下一层编码单元中当前待处理的编码单元作为当前编码单元,并将当前编码单元所在的层作为当前层,再返回步骤⑦‑2继续执行,否则,直接执行步骤⑦‑5;⑦‑5、当前编码单元编码过程结束,然后判断当前最大编码单元的深度遍历区间内的所有编码单元是否均处理完毕,如果是,则当前最大编码单元编码过程结束,然后执行步骤⑧,否则,再判断当前层中的四个编码单元是否均处理完毕,如果当前层中的四个编码单元均处理完毕,则将当前层的上一层编码单元中下一个待处理的编码单元作为当前编码单元,并将当前编码单元所在的层作为当前层,然后返回步骤⑦‑2继续执行,如果当前层中的四个编码单元未处理完毕,则将当前层中下一个待处理的编码单元作为当前编码单元,然后返回步骤⑦‑2继续执行;⑧将当前帧中下一个待编码的最大编码单元作为当前最大编码单元,然后返回步骤③继续执行,直至当前帧中的所有最大编码单元均编码完毕;⑨将高清视频中下一帧待处理的帧作为当前帧,然后返回步骤②继续执行,直至高清视频中的所有帧均处理完毕,至此完成了高清视频的快速编码。
地址 315211 浙江省宁波市江北区风华路818号