一种高清视频快速编码方法

文档序号:7773171阅读:243来源:国知局
一种高清视频快速编码方法
【专利摘要】本发明公开了一种高清视频快速编码方法,其将整个过程分为离线训练阶段和阈值在线使用阶段,在离线训练阶段,获取每类视频序列中尺寸大小为64×64的编码单元的统一的最优分割阈值、尺寸大小为32×32的编码单元的统一的最优分割阈值以及尺寸大小为16×16的编码单元的统一的最优分割阈值;在阈值在线使用阶段,根据最优分割阈值与待处理的HEVC高清视频中尺寸大小分别为64×64、32×32、16×16的编码单元的率失真代价值,确定待处理的HEVC高清视频中尺寸大小分别为64×64、32×32、16×16的编码单元是否需要继续分割,这种方式能够在率失真性能损失较小的情况下,节省大量编码时间,即在保证解码后视频客观质量的前提下,能够有效地减少编码时间。
【专利说明】一种高清视频快速编码方法
【技术领域】
[0001]本发明涉及一种视频信号的处理方法,尤其是涉及一种高清视频快速编码方法。【背景技术】
[0002]随着人们对视频质量和高清以及超高清数字视频需求的越来越大,2010年国际电信联盟视频编码专家组(ITU-T Video Coding Experts Group,VCEG)和国际化标准组织及国际电工委员会运动图像专家组(IS0/IEC Moving Picture Experts Group,MPEG)成立了视频编码联合专家组(Joint Collaborative Team on Video Coding)研究下一代高效视频编码(High Efficiency Video Coding Standard, HEVC)标准。HEVC 标准是继 H.264/AVC视频编码标准之后,新一代的视频编码标准,其主要目标是在相同视频内容质量的条件下,节省50%左右的码率, 并且解决H.264/MPEG-4AVC标准中存在的两个基本问题:高分辨率和并行处理结构问题。
[0003]HEVC仍然采用和H.264/AVC类似的混合编码体系结构,但是HEVC中进行了大量的技术创新,如基于大尺寸四叉树编码单元的分割和残差编码结构、多角度帧内预测技术、高精度运动补偿技术等等。由于HEVC采用了基于四叉树的4层的递归编码结构,最大编码单元(Coding Unit, CU)到最小编码单元的大小分别是64X64,32X32,16X16和8X8,且HEVC中的编码单元仍然采用率失真优化模型,编码单元使用了 35种帧内预测模式,因此HEVC标准中每个最佳编码单元的组成需要经过85次率失真优化模型的计算,相比于
H.264/AVC中16X 16、8X8两种编码宏块和9种帧内预测模式,HEVC中的大尺寸四叉树编码单元和多角度帧内预测技术带来了大量的计算复杂度和时间复杂度。

【发明内容】

[0004]本发明所要解决的技术问题是提供一种高清视频快速编码方法,其在保证解码后视频客观质量的前提下,能够有效地减少高清视频所需要的编码时间。
[0005]本发明解决上述技术问题所采用的技术方案为:一种高清视频快速编码方法,其特征在于包括以下步骤:
[0006]①从HEVC高清视频的至少N’种类型的标准测试序列中,分别任意选出N个视频序列,将所选出的所有视频序列构成一个训练集,该训练集包含N’ XN个视频序列,其中,3 ^ N' ^ 6, N ^ I ;
[0007]②首先,确定训练集中的每个视频序列中尺寸大小分别为64X 64、32 X 32、16 X 16的编码单元的分割状态;然后,统计训练集中的每个视频序列中尺寸大小分别为64X64、32X32U6X 16的编码单元的深度值、率失真代价值、下一层四个编码单元的率失真代价值之和、分割状态;接着,将训练集中属于同一类的所有视频序列中尺寸大小分别为64X64、32 X 32、16 X 16的编码单元的统计数据存储于一个文件中,共有N’个文件,将存储第i类的所有视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的统计数据的文件记为Fi,其中,1≤i≤N’ ;[0008]③根据步骤②中存储于每个文件中的统计数据,获取每类视频序列中尺寸大小为64X64的编码单元的统一的最优分割阈值、每类视频序列中尺寸大小为32X32的编码单元的统一的最优分割阈值以及每类视频序列中尺寸大小为16X16的编码单元的统一的最优分割阈值;
[0009]④对待处理的HEVC高清视频中的每个尺寸大小为64X64的编码单元进行遍历编码,在遍历编码过程中,首先确定待处理的HEVC高清视频的类型;然后根据待处理的HEVC高清视频的类型,确定待处理的HEVC高清视频中尺寸大小分别为64X64、32X32、16X16的编码单元的最优分割阈值;接着根据待处理的HEVC高清视频中尺寸大小分别为64X64、32 X 32、16 X 16的编码单元的率失真代价值及对应的最优分割阈值,确定待处理的HEVC高清视频中尺寸大小分别为64X64、32X32、16X16的编码单元是否需要继续分割。
[0010]所述的步骤②的具体过程为:
[0011]②-1、将训练集中当前待处理的视频序列定义为当前视频序列;
[0012]②-2、对当前视频序列中的所有尺寸大小为64X64的编码单元进行如下处理:
[0013]②_2a、将当前待处理的尺寸大小为64X64的编码单元定义为当前编码单元;②-2b、根据当前编码单元的率失真代价值及当前编码单元的下一层四个编码单元的率失真代价值之和,确定当前编码单元的分割状态,如果当前编码单元的率失真代价值大于或等于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元继续分割,分割成四个尺寸大小为32X32的编码单元,并确定当前编码单元的分割状态为分割,然后执行步骤②-2c ;如果当前编码单元的率失真代价值小于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元不再继续分割,并确定当前编码单元的分割状态为不分割,然后执行步骤②-2c;②-2c、将下一个待处理的尺寸大小为64X64的编码单元作为当前编码单元,然后返回步骤②_2b继续执行,直至当前视频序列中的所有尺寸大小为64X64的编码单元处理完毕,再执行步骤②-3 ;
[0014]②_3、对当前视频序列中的所有尺寸大小为32X32的编码单元进行如下处理:
[0015]②_3a、将当前待处理的尺寸大小为32X32的编码单元定义为当前编码单元;②_3b、根据当前编码单元的率失真代价值及当前编码单元的下一层四个编码单元的率失真代价值之和,确定当前编码单元的分割状态,如果当前编码单元的率失真代价值大于或等于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元继续分割,分割成四个尺寸大小为16X16的编码单元,并确定当前编码单元的分割状态为分割,然后执行步骤②-3c ;如果当前编码单元的率失真代价值小于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元不再继续分割,并确定当前编码单元的分割状态为不分割,然后执行步骤②-3c -3c、将下一个待处理的尺寸大小为32X32的编码单元作为当前编码单元,然后返回步骤②_3b继续执行,直至当前视频序列中的所有尺寸大小为32X32的编码单元处理完毕,再执行步骤②-4 ;
[0016]②-4、对当前视频序列中的所有尺寸大小为16 X 16的编码单元进行如下处理:
[0017]②_4a、将当前待处理的尺寸大小为16X16的编码单元定义为当前编码单元;②_4b、根据当前编码单元的率失真代价值及当前编码单元的下一层四个编码单元的率失真代价值之和,确定当前编码单元的分割状态,如果当前编码单元的率失真代价值大于或等于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元继续分割,分割成四个尺寸大小为8X8的编码单元,并确定当前编码单元的分割状态为分割,然后执行步骤②-4c ;如果当前编码单元的率失真代价值小于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元不再继续分割,并确定当前编码单元的分割状态为不分割,然后执行步骤②-4c -4c、将下一个待处理的尺寸大小为16X16的编码单元作为当前编码单元,然后返回步骤②_4b继续执行,直至当前视频序列中的所有尺寸大小为16X16的编码单元处理完毕,再执行步骤②-5 ;
[0018]②-5、统计当前视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的深度值、率失真代价值、下一层四个编码单元的率失真代价值之和、分割状态;
[0019]②_6、将训练集中下一个待处理的视频序列作为当前视频序列,然后返回步骤②-2继续执行,直至训练集中的所有视频序列处理完毕,得到训练集中的每个视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的统计数据;
[0020]②-7、将训练集中属于同一类的所有视频序列中尺寸大小分别为64X64、32 X 32、16 X 16的编码单元的统计数据存储于一个文件中,共有N’个文件,将存储第i类的所有视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的统计数据的文件记为Fi,其中,I≤i≤N’。
[0021]所述的步骤③的具体过程为:
[0022]③-1、将存储第i类的所有视频序列中尺寸大小分别为64 X 64、32 X 32、16 X 16的编码单元的统计数据的文件Fi作为当前文件,其中,I ^ i ^ N';
[0023]③_2、从当前文件中找出所有尺寸大小为64X64的编码单元的率失真代价值中
的最小值和最大值,对应记为
【权利要求】
1.一种高清视频快速编码方法,其特征在于包括以下步骤: ①从HEVC高清视频的至少N’种类型的标准测试序列中,分别任意选出N个视频序列,将所选出的所有视频序列构成一个训练集,该训练集包含N’ XN个视频序列,其中,3 ≤ N' ≤ 6, N ≥ I ; ②首先,确定训练集中的每个视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的分割状态;然后,统计训练集中的每个视频序列中尺寸大小分别为64X64、32X32U6X 16的编码单元的深度值、率失真代价值、下一层四个编码单元的率失真代价值之和、分割状态;接着,将训练集中属于同一类的所有视频序列中尺寸大小分别为64X64、32 X 32、16 X 16的编码单元的统计数据存储于一个文件中,共有N’个文件,将存储第i类的所有视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的统计数据的文件记为Fi,其中,I ≤i ≤N’ ; ③根据步骤②中存储于每个文件中的统计数据,获取每类视频序列中尺寸大小为64X64的编码单元的统一的最优分割阈值、每类视频序列中尺寸大小为32X32的编码单元的统一的最优分割阈值以及每类视频序列中尺寸大小为16X16的编码单元的统一的最优分割阈值; ④对待处理的HEVC高清视频中的每个尺寸大小为64X64的编码单元进行遍历编码,在遍历编码过程中,首先确定待处理的HEVC高清视频的类型;然后根据待处理的HEVC高清视频的类型,确定待处理的HEVC高清视频中尺寸大小分别为64X64、32X32、16X16的编码单元的最优分割阈值;接着根据待处理的HEVC高清视频中尺寸大小分别为64X64、32 X 32、16 X 16的编码单元的率失真代价值及对应的最优分割阈值,确定待处理的HEVC高清视频中尺寸大小分别为64X64、32X32、16X16的编码单元是否需要继续分割。
2.根据权利要求1所述的一种高清视频快速编码方法,其特征在于所述的步骤②的具体过程为: ②-1、将训练集中当前待处理的视频序列定义为当前视频序列; ②_2、对当前视频序列中的所有尺寸大小为64X64的编码单元进行如下处理: ②-2a、将当前待处理的尺寸大小为64X64的编码单元定义为当前编码单元;@_2b、根据当前编码单元的率失真代价值及当前编码单元的下一层四个编码单元的率失真代价值之和,确定当前编码单元的分割状态,如果当前编码单元的率失真代价值大于或等于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元继续分割,分割成四个尺寸大小为32X32的编码单元,并确定当前编码单元的分割状态为分割,然后执行步骤②-2c ;如果当前编码单元的率失真代价值小于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元不再继续分割,并确定当前编码单元的分割状态为不分割,然后执行步骤②-2c -2c、将下一个待处理的尺寸大小为64X64的编码单元作为当前编码单元,然后返回步骤②_2b继续执行,直至当前视频序列中的所有尺寸大小为64X64的编码单元处理完毕,再执行步骤②-3 ; ②-3、对当前视频序列中的所有尺寸大小为32X32的编码单元进行如下处理: ②-3a、将当前待处理的尺寸大小为32X32的编码单元定义为当前编码单元;@_3b、根据当前编码单元的率失真代价值及当前编码单元的下一层四个编码单元的率失真代价值之和,确定当前编码单元的分割状态,如果当前编码单元的率失真代价值大于或等于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元继续分割,分割成四个尺寸大小为16X16的编码单元,并确定当前编码单元的分割状态为分割,然后执行步骤②-3c ;如果当前编码单元的率失真代价值小于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元不再继续分割,并确定当前编码单元的分割状态为不分割,然后执行步骤②-3c -3c、将下一个待处理的尺寸大小为32X32的编码单元作为当前编码单元,然后返回步骤②_3b继续执行,直至当前视频序列中的所有尺寸大小为32X32的编码单元处理完毕,再执行步骤②-4 ; ②-4、对当前视频序列中的所有尺寸大小为16X16的编码单元进行如下处理: ②-4a、将当前待处理的尺寸大小为16X16的编码单元定义为当前编码单元_4b、根据当前编码单元的率失真代价值及当前编码单元的下一层四个编码单元的率失真代价值之和,确定当前编码单元的分割状态,如果当前编码单元的率失真代价值大于或等于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元继续分割,分割成四个尺寸大小为8X8的编码单元,并确定当前编码单元的分割状态为分割,然后执行步骤②-4c ;如果当前编码单元的率失真代价值小于当前编码单元的下一层四个编码单元的率失真代价值之和,则确定当前编码单元不再继续分割,并确定当前编码单元的分割状态为不分割,然后执行步骤②-4c -4c、将下一个待处理的尺寸大小为16X16的编码单元作为当前编码单元,然后返回步骤②_4b继续执行,直至当前视频序列中的所有尺寸大小为16X16的编码单元处理完毕,再执行步骤②-5 ; ②-5、统计当前视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的深度值、率失真代价值、下一层四个编码单元的率失真代价值之和、分割状态; ②_6、将训练集中下一个待处理的视频序列作为当前视频序列,然后返回步骤②-2继续执行,直至训练集中的所有视频序列处理完毕,得到训练集中的每个视频序列中尺寸大小分别为64X64、32X32、16X16的编码单元的统计数据; ②-7、将训练集中属于同一类的所有视频序列中尺寸大小分别为64X 64、32 X 32、16X16的编码单元的统计数据存储于一个文件中,共有N’个文件,将存储第i类的所有视频序列中尺寸大小分别为64X64、32X 32、16X16的编码单元的统计数据的文件记为Fi,其中,I < i < N,。
3.根据权利要求1或2所述的一种高清视频快速编码方法,其特征在于所述的步骤③的具体过程为: ③-1、将存储第i类的所有视频序列中尺寸大小分别为64X 64、32 X 32、16 X 16的编码单元的统计数据的文件Fi作为当前文件,其中,I < i SN’ ; ③-2、从当前文件中找出所有尺寸大小为64X64的编码单元的率失真代价值中的最小值和最大值,对应记为
4.根据权利要求3所述的一种高清视频快速编码方法,其特征在于所述的步骤④中确定待处理的HEVC高清视频中尺寸大小分别为64X64、32X32、16X16的编码单元是否需要继续分割的过程为: .④-1、对待处理的HEVC高清视频中的所有尺寸大小为64X64的编码单元进行如下处理: . ④-la、将当前待处理的尺寸大小为64X64的编码单元定义为当前编码单元;@_lb、根据当前编码单元的率失真代价值及尺寸大小为64X64的编码单元的最优分割阈值,确定当前编码单元是否需要继续分割,如果当前编码单元的率失真代价值大于尺寸大小为.64X64的编码单元的最优分割阈值,则确定当前编码单元继续分割,分割成四个尺寸大小为32X32的编码单元,然后执行步骤④-1c ;如果当前编码单元的率失真代价值小于或等于尺寸大小为64X64的编码单元的最优分割阈值,则确定当前编码单元不再继续分割,然后执行步骤④-1c -lc、将下一个待处理的尺寸大小为64X64的编码单元作为当前编码单元,然后返回步骤④-1b继续执行,直至待处理的HEVC高清视频中的所有尺寸大小为64X64的编码单元处理完毕,再执行步骤④-2 ; ④_2、对待处理的HEVC高清视频中的所有尺寸大小为32X32的编码单元进行如下处理: ④-2a、将当前待处理的尺寸大小为32X32的编码单元定义为当前编码单元;@_2b、根据当前编码单元的率失真代价值及尺寸大小为32X32的编码单元的最优分割阈值,确定当前编码单元是否需要继续分割,如果当前编码单元的率失真代价值大于尺寸大小为32X32的编码单元的最优分割阈值,则确定当前编码单元继续分割,分割成四个尺寸大小为16X16的编码单元,然后执行步骤④-2c ;如果当前编码单元的率失真代价值小于或等于尺寸大小为32X32的编码单元的最优分割阈值,则确定当前编码单元不再继续分割,然后执行步骤④-2c -2c、将下一个待处理的尺寸大小为32X32的编码单元作为当前编码单元,然后返回步骤④_2b继续执行,直至待处理的HEVC高清视频中的所有尺寸大小为32X32的编码单元处理完毕,再执行步骤④-3 ; ④_3、对待处理的HEVC高清视频中的所有尺寸大小为16 X 16的编码单元进行如下处理: ④-3a、将当前待处理 的尺寸大小为16X16的编码单元定义为当前编码单元;@_3b、根据当前编码单元的率失真代价值及尺寸大小为16X16的编码单元的最优分割阈值,确定当前编码单元是否需要继续分割,如果当前编码单元的率失真代价值大于尺寸大小为16X16的编码单元的最优分割阈值,则确定当前编码单元继续分割,分割成四个尺寸大小为8X8的编码单元,然后执行步骤④-3c ;如果当前编码单元的率失真代价值小于或等于尺寸大小为16X16的编码单元的最优分割阈值,则确定当前编码单元不再继续分割,然后执行步骤④-3c -3c、将下一个待处理的尺寸大小为16X16的编码单元作为当前编码单元,然后返回步骤④_3b继续执行,直至待处理的HEVC高清视频中的所有尺寸大小为16X16的编码单元处理完毕。
【文档编号】H04N19/50GK103533354SQ201310469971
【公开日】2014年1月22日 申请日期:2013年10月10日 优先权日:2013年10月10日
【发明者】陈芬, 李晓波, 彭宗举, 蒋刚毅, 郁梅 申请人:宁波大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1