CN103051896B - 一种基于模式跳过的视频编码方法和系统 - Google Patents
一种基于模式跳过的视频编码方法和系统 Download PDFInfo
- Publication number
- CN103051896B CN103051896B CN201210545887.3A CN201210545887A CN103051896B CN 103051896 B CN103051896 B CN 103051896B CN 201210545887 A CN201210545887 A CN 201210545887A CN 103051896 B CN103051896 B CN 103051896B
- Authority
- CN
- China
- Prior art keywords
- coding
- submodule
- depth
- coding unit
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于模式跳过的视频编码方法,包括以下步骤:读取视频序列,其包括N帧图像,设置编码帧数计数器i=1,对第i帧进行编码,判断是否有i<N,如果是则设置i=i+1,并对下一帧进行编码,否则过程结束。由于本发明跳过了不可能被采用的帧间InterNx2N或Inter2NxN预测模式的计算,所以节省了编码的时间,同时,由于利用了前一帧同一位置的编码信息来判断是否跳过帧间的InterNx2N和Inter2NxN预测模式,所以只会在很不可能选择该模式的情况下跳过。
Description
技术领域
本发明属于视频编解码领域,更具体地,涉及一种基于模式跳过的视频编码方法和系统。
背景技术
现在,人们对高质量和高清晰度的视频内容的需求日益增多,视频编码的标准也向着高压缩比和支持高清视频的方向发展。ITU-T视频图像专家组和ISO/IEC移动图像专家组联合组建了联合视频编码小组(JointCollaborative Team on Video Coding,简称JCT-VC)来研究下一代视频编码标准,即高效视频编码(High Efficient Video Coding,简称HEVC)。主要针对分辨率从320x240到7680x4320的视频压缩,编码性能与H.264/AVC的高级档次编码(High Profile)相比较,提高一倍的效率。
然而,现有的HEVC编码方法存在一些缺点:其预测模式相当多,虽然增加了预测的精度,但是却也增加了编码的复杂度。其帧间预测模式就有Inter2Nx2N、InterNx2N、Inter2NxN、InterNxN模式以及跳过模式,而其中的InterNx2N和Inter2NxN模式被采用的概率非常低,但是仍然与其他预测模式有着同等的复杂度。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于模式跳过的视频编码方法,其能够提前跳过帧间InterNx2N和Inter2NxN模式的计算,降低编码的复杂度。
为实现上述目的,本发明提供了一种基于模式提前跳过的视频编码方法,包括以下步骤:
(1)读取视频序列,其包括N帧图像;
(2)设置编码帧数计数器i=1;
(3)对第i帧进行编码,具体包括以下子步骤:
(3-1)将第i帧划分成X个最大编码单元,其大小为64x64,其中X为正整数;
(3-2)设置最大编码单元计数器j=1;
(3-3)设置编码深度计数器k=0;
(3-4)判断第i帧的类型是关键帧(I帧)还是非关键帧(P帧),如果是关键帧,则转入步骤(3-14),如果是非关键帧,则转入步骤(3-5);
(3-5)对深度为k的编码单元进行跳过模式和Inter2Nx2N、InterNxN模式的预测,以得到各种模式的代价;
(3-6)对深度为k的编码单元,获取其同位编码单元的最大编码深度y,并判断是否存在y≧k,若存在则进入步骤(3-7);否则跳到步骤(3-13);
(3-7)判断是否存在y=k,若存在则进入步骤(3-8);否则跳到步骤(3-9);
(3-8)判断该同位编码单元的预测模式PredMode是Inter2NxN、InterNx2N或者其它,如果为Inter2NxN,则跳到步骤(3-11),如果为InterNx2N,则跳到步骤(3-12),如果是其它则跳到步骤(3-13);
(3-9)获取该同位编码单元的四个子编码单元的最大编码深度z0、z1、z2、z3,并判断z0、z1、z2、z3是否均等于y+1,若是则进入步骤(3-10);否则跳到步骤(3-14);
(3-10)判断同位编码单元为左右结构还是上下结构,如果是左右结构且非上下结构,则跳到步骤(3-12),如果是上下结构且非左右结构,则跳到步骤(3-11),否则,跳到步骤(3-13);
(3-11)对深度为k的编码单元进行Inter2NxN模式的预测,以得到该模式的代价,跳到步骤(3-14);
(3-12)对深度为k的编码单元进行InterNx2N模式的预测,以得到该模式的代价,跳到步骤(3-14);
(3-13)对深度为k的编码单元进行Inter2NxN和InterNx2N模式的预测,以得到各种模式的代价;
(3-14)对深度为k的编码单元,进行帧内Intra2Nx2N和IntraNxN模式的预测,以得到各种模式的代价;
(3-15)比较上述所有模式的代价,并从中选择代价最小的模式作为最佳预测模式,并保存该最佳模式的编码信息;
(3-16)判断编码深度k是否小于最大编码深度3,如果小于,则设置k=k+1,并返回步骤(3-4)进行下一深度的编码,否则转入步骤(3-17);
(3-17)判断是否有j<X,如果是则设置j=j+1,并返回步骤(3-3)进行下一个最大编码单元的编码,否则转入步骤(4);
(4)判断是否有i<N,如果是则设置i=i+1,并返回步骤(3)对下一帧进行编码,否则过程结束。
获取最大编码深度具体为,在前一帧图像编码完成以后,同位编码单元的编码深度会存储在一个数组中,其存储的是每个4x4大小的小块的编码深度,从数组中即可找到最大的编码深度。
获取同位编码单元的预测模式具体为,在前一帧图像编码完成以后,同位编码单元的预测模式会存储在一个数组中,其存储的是每个4x4大小的小块的预测模式,取编码单元内的任何一个4x4大小的小块的预测模式即是该编码单元的预测模式。
编码信息包括编码深度、预测模式和预测信息。
预设的最大编码深度为3。
通过本发明所构思的以上技术方案,与现有技术相比,本方法具有以下的有益效果:
(1)降低了编码的复杂度,由于在步骤(3-8)至(3-10)中提前跳过了不可能被采用的帧间InterNx2N或Inter2NxN预测模式的计算,所以节省了编码的时间。
(2)降低复杂的同时保证了编码性能的不下降,因为在步骤(3-6)至(3-10)中利用了前一帧同一位置的编码信息来判断是否跳过帧间的InterNx2N和Inter2NxN预测模式,所以只会在很不可能选择该模式的情况下跳过。
本发明的另一目的在于提供一种基于模式跳过的视频编码系统,其能够提前跳过帧间InterNx2N和Inter2NxN模式的计算,降低编码的复杂度。
为实现上述目的,本发明提供了一种基于模式跳过的视频编码系统,包括读取模块、计数器设置模块、编码模块和判断模块,读取模块用于读取视频序列,其包括N帧图像,计数器设置模块用于设置编码帧数计数器i=1,编码模块用于对第i帧进行编码,判断模块用于判断是否有i<N,如果是则设置i=i+1,并返回编码模块对下一帧进行编码,否则过程结束,编码模块包括划分子模块、第一设置子模块、第二设置子模块、第一判断子模块、第一预测子模块、第二判断子模块、第三判断子模块、第四判断子模块、第五判断子模块、第六判断子模块、第二预测子模块、第三预测子模块、第四预测子模块、第五预测子模块、第一比较子模块、第七判断子模块、第八判断子模块,划分子模块用于将第i帧划分成X个最大编码单元,其大小为64x64,其中X为正整数,第一设置子模块用于设置最大编码单元计数器j=1,第二设置子模块用于设置编码深度计数器k=0,第一判断子模块用于判断第i帧的类型是关键帧还是非关键帧,如果是关键帧,则转入第五预测子模块,如果是非关键帧,则转入第一预测子模块,第一预测子模块用于对深度为k的编码单元进行跳过模式和Inter2Nx2N、InterNxN模式的预测,以得到各种模式的代价,第二判断子模块用于对深度为k的编码单元,获取其同位编码单元的最大编码深度y,并判断是否存在k≦1且y>k,若存在则进入第三判断子模块,否则跳到第四预测子模块,第三判断子模块用判断是否存在y=k,若存在则进入第四判断子模块用;否则跳到第五判断子模块,第四判断子模块用于判断该同位编码单元的预测模式PredMode是Inter2NxN、InterNx2N或者其它,如果为Inter2NxN,则跳到第二预测子模块,如果为InterNx2N,则跳到第三预测子模块,如果是其它则跳到第四预测子模块,第五判断子模块用于获取该同位编码单元的四个子编码单元的最大编码深度z0、z1、z2、z3,并判断z0、z1、z2、z3是否均等于y+1,若是则进入第六判断子模块;否则跳到第五预测子模块,第六判断子模块用于判断同位编码单元为左右结构还是上下结构,如果是左右结构且非上下结构,则跳到步骤第三预测子模块,如果是上下结构且非左右结构,则跳到第二预测子模块,否则,跳到第四预测子模块,第二预测子模块用于对深度为k的编码单元进行Inter2NxN模式的预测,以得到该模式的代价,跳到第五预测子模块,第三预测子模块用于对深度为k的编码单元进行InterNx2N模式的预测,以得到该模式的代价,跳到第五预测子模块,第四预测子模块用于对深度为k的编码单元进行Inter2NxN和InterNx2N模式的预测,以得到各种模式的代价,第五预测子模块用于对深度为k的编码单元,进行帧内Intra2Nx2N和IntraNxN模式的预测,以得到各种模式的代价,第一比较子模块用于比较上述所有模式的代价,并从中选择代价最小的模式作为最佳预测模式,并保存该最佳模式的编码信息,第七判断子模块用于判断编码深度k是否小于最大编码深度3,如果小于,则设置k=k+1,并返回第一判断子模块进行下一深度的编码,否则转入第八判断子模块,第八判断子模块用于判断是否有j<X,如果是则设置j=j+1,并返回第二设置子模块进行下一个最大编码单元的编码,否则转入判断模块。
编码信息包括编码深度、预测模式和预测信息。
预设的最大编码深度为3。
通过本发明所构思的以上技术方案,与现有技术相比,本系统具有以下的有益效果:
(1)降低了编码的复杂度,由于第四判断子模块、第五判断子模块、第六判断子模块提前跳过了不可能被采用的帧间InterNx2N或Inter2NxN预测模式的计算,所以节省了编码的时间。
(2)降低复杂的同时保证了编码性能的不下降,因为第二判断子模块、第三判断子模块、第四判断子模块、第五判断子模块、第六判断子模块利用了前一帧同一位置的编码信息来判断是否跳过帧间的InterNx2N和Inter2NxN预测模式,所以只会在很不可能选择该模式的情况下跳过。
附图说明
图1为四种典型预测单元的划分形式。
图2为一个64x64的最大编码单元最终的划分结构及其对应的四叉树。
图3为本发明基于模式跳过的视频编码方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下首先对本发明的技术术语进行解释和说明。
编码单元:Coding Uint,简称CU,视频编码的最基本单元,每个编码单元的大小可以是2Nx2N,其中N可为32、16、8、4。最大编码单元可以使用四叉树分割技术,递归划分成为众多大小不一的小编码单元。
预测单元:Prediction Unit,简称PU,是携带进行预测时所需相关信息的基本单元。预测单元与编码单元的关系是,一个编码单元可以包含一个或多个预测单元。图1给出了在编码单元确定情形下的几种预测单元的划分形式,
四叉树分割:英文为Quadtree division,从最大编码单元(大小64x64)开始,可以向下依次划分成四个更小的编码单元,直到划分成最小的编码单元为止(大小8x8)。四叉树最大可以有四个深度0、1、2、3,其对应的编码单元大小为64x64、32x32、16x16、8x8。图2表示了一个最大编码单元(64x64)最终的划分结构,对应的四叉树有四个深度,根表示最大的64x64的编码单元,叶子节点表示了一个预测单元。
编码深度:Depth of Coding Tree,四叉树的某一深度,编码深度0、1、2、3,其对应的编码单元大小为64x64、32x32、16x16、8x8。
关键帧:又名I帧,使用帧内预测模式进行预测的帧
非关键帧:又名P帧,使用帧间预测和帧内预测模式进行预测的帧
帧内预测模式:Intra Prediction,只使用本帧的像素信息的预测模式,包括Intra2Nx2N和IntraNxN模式,Intra2Nx2N即是将一个2Nx2N编码单元作为一个预测单元进行帧内预测,IntraNxN即是将一个2Nx2N编码单元划分成四个NxN的预测单元进行帧内预测。如图1的第一幅和第四幅图所示。
帧间预测模式:Inter Prediction,使用前面某一帧作为参考帧的预测模式,包括Inter2Nx2N、InterNx2N、Inter2NxN、InterNxN四种模式,对应的划分方法如图1。
跳过模式:Skip Mode,没有残差系数的预测单元,其运动参数(运动矢量、参考帧索引)可以从相邻的帧间预测模式的预测单元获得。
模式的代价:每种预测模式都可以通过代价函数算出一个编码所需的代价,代价最小的模式作为最佳预测模式。进行模式选择的代价函数为
Jmode=SSE+λmode*Bmode
其中SSE(英文为Sum of Square Error)表示两个同样大小块的均方误差和,Bmode代表了该模式的编码所需的比特数,λmode为系数,λmode的值与量化参数Qp成指数关系,当Qp为32时,λmode的值为360.15632358170024。
量化参数:Quantization Parameter,简称Qp,量化参数表示了图像压缩的质量,其值越小表示量化越精细,图像的质量就越高,其值越大表示量化越粗糙,图像的质量就越低。Qp的范围可以从0-51。
同位编码单元:英文是Collocated Coding Unit,对当前帧中一个大小为2Nx2N的编码单元,其同位编码单元为前一帧中相同位置的同样大小的编码单元。
左右结构:对于一个编码单元,如果其最终分割成四个子编码单元,如果左边两个子编码单元的预测模式相同或右边两个子编码单元的预测模式相同,则称该编码单元为左右结构。
上下结构:对于一个编码单元,如果其最终分割成四个子编码单元,如果上边两个子编码单元的预测模式相同或下边两个子编码单元的预测模式相同,则称该编码单元为上下结构。一个编码单元可以同时是左右结构和上下结构。
如图3所示,本发明基于模式跳过的视频编码方法包括以下步骤:
如图1所示,本发明基于模式提前跳过的视频编码方法包括以下步骤:
(1)读取视频序列,其包括N帧图像;
(2)设置编码帧数计数器i=1;
(3)对第i帧进行编码,具体包括以下子步骤:
(3-1)将第i帧划分成X个最大编码单元,其大小为64x64,其中X为正整数;
(3-2)设置最大编码单元计数器j=1;
(3-3)设置编码深度计数器k=0;
(3-4)判断第i帧的类型是关键帧(I帧)还是非关键帧(P帧),如果是关键帧,则转入步骤(3-14),如果是非关键帧,则转入步骤(3-5);
(3-5)对深度为k的编码单元进行跳过模式和Inter2Nx2N、InterNxN模式的预测,以得到各种模式的代价;
(3-6)对深度为k的编码单元,获取其同位编码单元的最大编码深度y,并判断是否存在y≧k,若存在则进入步骤(3-7);否则跳到步骤(3-13);
最大编码深度的具体获取方法:在前一帧图像编码完成以后,同位编码单元的编码深度会存储在一个数组中,其存储的是每个4x4大小的小块的编码深度,从数组中即可找到最大的编码深度。
(3-7)判断是否存在y=k,若存在则进入步骤(3-8);否则跳到步骤(3-9);
(3-8)判断该同位编码单元的预测模式PredMode是Inter2NxN、InterNx2N或者其它,如果为Inter2NxN,则跳到步骤(3-11),如果为InterNx2N,则跳到步骤(3-12),如果是其它则跳到步骤(3-13);
同位编码单元的预测模式具体获取方法:在前一帧图像编码完成以后,同位编码单元的预测模式会存储在一个数组中,其存储的是每个4x4大小的小块的预测模式,取编码单元内的任何一个4x4大小的小块的预测模式即是该编码单元的预测模式。
(3-9)获取该同位编码单元的四个子编码单元的最大编码深度z0、z1、z2、z3,并判断z0、z1、z2、z3是否均等于y+1,若是则进入步骤(3-10);否则跳到步骤(3-14);
(3-10)判断同位编码单元为左右结构还是上下结构,如果是左右结构且非上下结构,则跳到步骤(3-12),如果是上下结构且非左右结构,则跳到步骤(3-11),否则,跳到步骤(3-13);
(3-11)对深度为k的编码单元进行Inter2NxN模式的预测,以得到该模式的代价,跳到步骤(3-14);
(3-12)对深度为k的编码单元进行InterNx2N模式的预测,以得到该模式的代价,跳到步骤(3-14);
(3-13)对深度为k的编码单元进行Inter2NxN和InterNx2N模式的预测,以得到各种模式的代价;
(3-14)对深度为k的编码单元,进行帧内Intra2Nx2N和IntraNxN模式的预测,以得到各种模式的代价;
(3-15)比较上述所有模式的代价,并从中选择代价最小的模式作为最佳预测模式,并保存该最佳模式的编码信息,包括编码深度、预测模式、预测信息;
(3-16)判断编码深度k是否小于最大编码深度3,如果小于,则设置k=k+1,并返回步骤(3-4)进行下一深度的编码,否则转入步骤(3-17);
(3-17)判断是否有j<X,如果是则设置j=j+1,并返回步骤(3-3)进行下一个最大编码单元的编码,否则转入步骤(4);
(4)判断是否有i<N,如果是则设置i=i+1,并返回步骤(3)对下一帧进行编码,否则过程结束。
本发明基于模式跳过的视频编码系统包括读取模块、计数器设置模块、编码模块、判断模块。
读取模块用于读取视频序列,其包括N帧图像。
计数器设置模块用于设置编码帧数计数器i=1。
编码模块用于对第i帧进行编码。
判断模块用于判断是否有i<N,如果是则设置i=i+1,并返回编码模块对下一帧进行编码,否则过程结束。
编码模块包括划分子模块、第一设置子模块、第二设置子模块、第一判断子模块、第一预测子模块、第二判断子模块、第三判断子模块、第四判断子模块、第五判断子模块、第六判断子模块、第二预测子模块、第三预测子模块、第四预测子模块、第五预测子模块、第一比较子模块、第七判断子模块、第八判断子模块。
划分子模块用于将第i帧划分成X个最大编码单元,其大小为64x64,其中X为正整数。
第一设置子模块用于设置最大编码单元计数器j=1。
第二设置子模块用于设置编码深度计数器k=0。
第一判断子模块用于判断第i帧的类型是关键帧还是非关键帧,如果是关键帧,则转入第五预测子模块,如果是非关键帧,则转入第一预测子模块。
第一预测子模块用于对深度为k的编码单元进行跳过模式和Inter2Nx2N、InterNxN模式的预测,以得到各种模式的代价。
第二判断子模块用于对深度为k的编码单元,获取其同位编码单元的最大编码深度y,并判断是否存在k≦1且y>k,若存在则进入第三判断子模块,否则跳到第四预测子模块。
第三判断子模块用判断是否存在y=k,若存在则进入第四判断子模块用。否则跳到第五判断子模块。
第四判断子模块用于判断该同位编码单元的预测模式PredMode是Inter2NxN、InterNx2N或者其它,如果为Inter2NxN,则跳到第二预测子模块,如果为InterNx2N,则跳到第三预测子模块,如果是其它则跳到第四预测子模块。
第五判断子模块用于获取该同位编码单元的四个子编码单元的最大编码深度z0、z1、z2、z3,并判断z0、z1、z2、z3是否均等于y+1,若是则进入第六判断子模块。否则跳到第五预测子模块。
第六判断子模块用于判断同位编码单元为左右结构还是上下结构,如果是左右结构且非上下结构,则跳到步骤第三预测子模块,如果是上下结构且非左右结构,则跳到第二预测子模块,否则,跳到第四预测子模块。
第二预测子模块用于对深度为k的编码单元进行Inter2NxN模式的预测,以得到该模式的代价,跳到第五预测子模块。
第三预测子模块用于对深度为k的编码单元进行InterNx2N模式的预测,以得到该模式的代价,跳到第五预测子模块。
第四预测子模块用于对深度为k的编码单元进行Inter2NxN和InterNx2N模式的预测,以得到各种模式的代价。
第五预测子模块用于对深度为k的编码单元,进行帧内Intra2Nx2N和IntraNxN模式的预测,以得到各种模式的代价。
第一比较子模块用于比较上述所有模式的代价,并从中选择代价最小的模式作为最佳预测模式,并保存该最佳模式的编码信息。
第七判断子模块用于判断编码深度k是否小于最大编码深度3,如果小于,则设置k=k+1,并返回第一判断子模块进行下一深度的编码,否则转入第八判断子模块。
第八判断子模块用于判断是否有j<X,如果是则设置j=j+1,并返回第二设置子模块进行下一个最大编码单元的编码,否则转入判断模块。
实例
为了验证本发明方法的可行性和有效性,在真实环境下验证本发明方法。实验测试条件为Windows 7操作系统,2.8GHz主频的CPU,2G内存。测试序列如表1
表1 测试序列
序列 | 尺寸 | 编码帧数 | QP |
BasketballPass | 416x240 | 100 | 32 |
vidyo3 | 1280x720 | 100 | 32 |
测试的代码为,Reference为HEVC编码方法,Tested为本文基于模式跳过的视频编码方法。用这两种代码分别对各个测试序列按照表1的条件进行编码,编码的结果如下表2:
表2 基于模式跳过的视频编码方法的测试结果
经过测试对比表明,与HEVC对比,本发明可以在保证编码性能不变的条件下(码率略有增加且PSNR没有下降),可以降低6%-16%的复杂度。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于模式提前跳过的视频编码方法,其特征在于,包括以下步骤:
(1)读取视频序列,其包括N帧图像;
(2)设置编码帧数计数器i=1;
(3)对第i帧进行编码,具体包括以下子步骤:
(3-1)将第i帧划分成X个最大编码单元,其大小为64x64,其中X为正整数;
(3-2)设置最大编码单元计数器j=1;
(3-3)设置编码深度计数器k=0;
(3-4)判断第i帧的类型是关键帧还是非关键帧,如果是关键帧,则转入步骤(3-14),如果是非关键帧,则转入步骤(3-5);
(3-5)对深度为k的编码单元进行跳过模式和Inter2Nx2N、InterNxN模式的预测,以得到各种模式的代价;
(3-6)对深度为k的编码单元,获取其同位编码单元的最大编码深度y,并判断是否存在y≥k,若存在则进入步骤(3-7);否则跳到步骤(3-13);
(3-7)判断是否存在y=k,若存在则进入步骤(3-8);否则跳到步骤(3-9);
(3-8)判断该同位编码单元的预测模式PredMode是Inter2NxN、InterNx2N或者其它,如果为Inter2NxN,则跳到步骤(3-11),如果为InterNx2N,则跳到步骤(3-12),如果是其它则跳到步骤(3-13);
(3-9)获取该同位编码单元的四个子编码单元的最大编码深度z0、z1、z2、z3,并判断z0、z1、z2、z3是否均等于y+1,若是则进入步骤(3-10);否则跳到步骤(3-14);
(3-10)判断同位编码单元为左右结构还是上下结构,如果是左右结构且非上下结构,则跳到步骤(3-12),如果是上下结构且非左右结构,则跳到步骤(3-11),否则,跳到步骤(3-13);
(3-11)对深度为k的编码单元进行Inter2NxN模式的预测,以得到该模式的代价,跳到步骤(3-14);
(3-12)对深度为k的编码单元进行InterNx2N模式的预测,以得到该模式的代价,跳到步骤(3-14);
(3-13)对深度为k的编码单元进行Inter2NxN和InterNx2N模式的预测,以得到各种模式的代价;
(3-14)对深度为k的编码单元,进行帧内Intra2Nx2N和IntraNxN模式的预测,以得到各种模式的代价;
(3-15)比较上述所有模式的代价,并从中选择代价最小的模式作为最佳预测模式,并保存该最佳模式的编码信息;
(3-16)判断编码深度k是否小于最大编码深度3,如果小于,则设置k=k+1,并返回步骤(3-4)进行下一深度的编码,否则转入步骤(3-17);
(3-17)判断是否有j<X,如果是则设置j=j+1,并返回步骤(3-3)进行下一个最大编码单元的编码,否则转入步骤(4);
(4)判断是否有i<N,如果是则设置i=i+1,并返回步骤(3)对下一帧进行编码,否则过程结束。
2.根据权利要求1所述的视频编码方法,其特征在于,获取最大编码深度具体为,在前一帧图像编码完成以后,同位编码单元的编码深度会存储在一个数组中,其存储的是每个4x4大小的小块的编码深度,从数组中即可找到最大的编码深度。
3.根据权利要求1所述的视频编码方法,其特征在于,获取同位编码单元的预测模式具体为,在前一帧图像编码完成以后,同位编码单元的预测模式会存储在一个数组中,其存储的是每个4x4大小的小块的预测模式,取编码单元内的任何一个4x4大小的小块的预测模式即是该编码单元的预测模式。
4.根据权利要求1所述的视频编码方法,其特征在于,编码信息包括编码深度、预测模式和预测信息。
5.一种基于模式跳过的视频编码系统,其特征在于,
包括读取模块、计数器设置模块、编码模块和判断模块;
读取模块用于读取视频序列,其包括N帧图像;
计数器设置模块用于设置编码帧数计数器i=1;
编码模块用于对第i帧进行编码;
判断模块用于判断是否有i<N,如果是则设置i=i+1,并返回编码模块对下一帧进行编码,否则过程结束;
编码模块包括划分子模块、第一设置子模块、第二设置子模块、第一判断子模块、第一预测子模块、第二判断子模块、第三判断子模块、第四判断子模块、第五判断子模块、第六判断子模块、第二预测子模块、第三预测子模块、第四预测子模块、第五预测子模块、第一比较子模块、第七判断子模块、第八判断子模块;
划分子模块用于将第i帧划分成X个最大编码单元,其大小为64x64,其中X为正整数;
第一设置子模块用于设置最大编码单元计数器j=1;
第二设置子模块用于设置编码深度计数器k=0;
第一判断子模块用于判断第i帧的类型是关键帧还是非关键帧,如果是关键帧,则转入第五预测子模块,如果是非关键帧,则转入第一预测子模块;
第一预测子模块用于对深度为k的编码单元进行跳过模式和Inter2Nx2N、InterNxN模式的预测,以得到各种模式的代价;
第二判断子模块用于对深度为k的编码单元,获取其同位编码单元的最大编码深度y,并判断是否存在k≤1且y>k,若存在则进入第三判断子模块,否则跳到第四预测子模块;
第三判断子模块用判断是否存在y=k,若存在则进入第四判断子模块用;否则跳到第五判断子模块;
第四判断子模块用于判断该同位编码单元的预测模式PredMode是Inter2NxN、InterNx2N或者其它,如果为Inter2NxN,则跳到第二预测子模块,如果为InterNx2N,则跳到第三预测子模块,如果是其它则跳到第四预测子模块;
第五判断子模块用于获取该同位编码单元的四个子编码单元的最大编码深度z0、z1、z2、z3,并判断z0、z1、z2、z3是否均等于y+1,若是则进入第六判断子模块;否则跳到第五预测子模块;
第六判断子模块用于判断同位编码单元为左右结构还是上下结构,如果是左右结构且非上下结构,则跳到步骤第三预测子模块,如果是上下结构且非左右结构,则跳到第二预测子模块,否则,跳到第四预测子模块;
第二预测子模块用于对深度为k的编码单元进行Inter2NxN模式的预测,以得到该模式的代价,跳到第五预测子模块;
第三预测子模块用于对深度为k的编码单元进行InterNx2N模式的预测,以得到该模式的代价,跳到第五预测子模块;
第四预测子模块用于对深度为k的编码单元进行Inter2NxN和InterNx2N模式的预测,以得到各种模式的代价;
第五预测子模块用于对深度为k的编码单元,进行帧内Intra2Nx2N和IntraNxN模式的预测,以得到各种模式的代价;
第一比较子模块用于比较上述所有模式的代价,并从中选择代价最小的模式作为最佳预测模式,并保存该最佳模式的编码信息;
第七判断子模块用于判断编码深度k是否小于最大编码深度3,如果小于,则设置k=k+1,并返回第一判断子模块进行下一深度的编码,否则转入第八判断子模块;
第八判断子模块用于判断是否有j<X,如果是则设置j=j+1,并返回第二设置子模块进行下一个最大编码单元的编码,否则转入判断模块。
6.根据权利要求5所述的视频编码系统,其特征在于,编码信息包括编码深度、预测模式和预测信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210545887.3A CN103051896B (zh) | 2012-12-14 | 2012-12-14 | 一种基于模式跳过的视频编码方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210545887.3A CN103051896B (zh) | 2012-12-14 | 2012-12-14 | 一种基于模式跳过的视频编码方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103051896A CN103051896A (zh) | 2013-04-17 |
CN103051896B true CN103051896B (zh) | 2015-05-20 |
Family
ID=48064381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210545887.3A Active CN103051896B (zh) | 2012-12-14 | 2012-12-14 | 一种基于模式跳过的视频编码方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051896B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602017B (zh) | 2014-06-10 | 2017-12-26 | 腾讯科技(北京)有限公司 | 视频编码器、方法和装置及其帧间模式选择方法和装置 |
CN104539970B (zh) * | 2014-12-21 | 2017-12-15 | 北京工业大学 | 一种3d‑hevc帧间编码合并模式快速决策方法 |
CN108012152B (zh) * | 2017-12-07 | 2021-04-13 | 杭州当虹科技股份有限公司 | 一种快速的hevc编码方法 |
CN110351557A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 视频编码中一种快速帧间预测编码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1736103A (zh) * | 2003-01-10 | 2006-02-15 | 汤姆森许可贸易公司 | 帧间编码的快速模式判定 |
CN101448159A (zh) * | 2009-01-08 | 2009-06-03 | 北京航空航天大学 | 一种基于率失真代价和模式频率的快速帧间模式选择方法 |
KR20100016689A (ko) * | 2008-08-05 | 2010-02-16 | 연세대학교 산학협력단 | H.264 인코딩 시 고속 인터 모드 결정 방법 |
-
2012
- 2012-12-14 CN CN201210545887.3A patent/CN103051896B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1736103A (zh) * | 2003-01-10 | 2006-02-15 | 汤姆森许可贸易公司 | 帧间编码的快速模式判定 |
KR20100016689A (ko) * | 2008-08-05 | 2010-02-16 | 연세대학교 산학협력단 | H.264 인코딩 시 고속 인터 모드 결정 방법 |
CN101448159A (zh) * | 2009-01-08 | 2009-06-03 | 北京航空航天大学 | 一种基于率失真代价和模式频率的快速帧间模式选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103051896A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103067704B (zh) | 一种基于编码单元层次提前跳过的视频编码方法和系统 | |
CN102474613B (zh) | 考虑具有分层结构的编码单元的扫描顺序来对视频进行编码和解码的方法和设备 | |
CN104506863B (zh) | 用于对运动矢量进行解码的设备 | |
CN102656890B (zh) | 用于视频编码的方法和设备 | |
CN102972028B (zh) | 新的帧内预测模式 | |
CN102939752B (zh) | 通过基于树结构的数据单元执行环路滤波来对视频进行编解码的方法和设备 | |
CN102934432B (zh) | 用于通过使用变换索引对视频进行编码的方法和设备、用于通过使用变换索引对视频进行解码的方法和设备 | |
CN102835111B (zh) | 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备 | |
CN110313180A (zh) | 用于编码和解码运动信息的方法和装置 | |
CN103348651A (zh) | 具有降低复杂性的变换单元分割的方法及装置 | |
CN102812706A (zh) | 用于视频编码和解码的隐式自适应运动向量预测值选择的方法和装置 | |
CN106412585A (zh) | 内部预测模式编码的方法 | |
CN104584549A (zh) | 用于视频编码的方法和装置 | |
CN103314586A (zh) | 错误恢复改进的视频编码和解码 | |
CN102934434A (zh) | 时间运动矢量预测的方法与装置 | |
CN104796720A (zh) | 对视频进行解码的方法和设备 | |
CN101953166A (zh) | 被划分为像素块的图像或图像序列的编码和解码 | |
CN102484699B (zh) | 对图像进行编码和解码的方法、用于编码和解码的对应装置 | |
CN107707912A (zh) | 动图像编码装置以及动图像编码方法 | |
CN101375593A (zh) | 处理多视图视频 | |
CN103188496A (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN103596004A (zh) | Hevc中基于数学统计和分类训练的帧内预测方法及装置 | |
CN103051896B (zh) | 一种基于模式跳过的视频编码方法和系统 | |
CN103596003B (zh) | 高性能视频编码的帧间预测快速模式选择方法 | |
CN102215392B (zh) | 用于估计像素值的帧内预测方法或装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |