本发明专利技术公开一种基于片源分析的SAO编码方法及系统。本发明专利技术方法通过对编码片源的分析,获取当前片段的SAO模块控制参数值,根据SAO模块控制参数值,确定当前帧编码时是否开启SAO模块,从而自适应调整常规的SAO编码方法,在提升率失真性能同时,减少编码时间。
【技术实现步骤摘要】
本专利技术涉及视频编解码领域,尤其涉及一种基于片源分析的SA0编码方法及系 统。
技术介绍
SAO(Sampleadaptiveoffset,自适应样点补偿)是HEVC(HighEfficiency VideoCoding,高效率视频编码)中新增加的技术,其性价比远远超过H264的去块滤波 和ALF(AdaptiveLoopFilter,ALF)。常规的SA0编码方法是两层控制模式,即在编码参 数控制整体视频序列的SA0模块开关,然后在编码单元通过SA0-RD0(Rate-Distortion Optimization,率失真优化)控制各个单元的SA0开关和对应的SA0模式。如果编码参数 层SA0设置不合理,则会带来计算量的上升或者是率失真性能的下降。
技术实现思路
本专利技术实施例的目的在于提出一种基于片源分析的SA0编码方法,旨在解决现有 技术SA0编码方法中如果编码参数层SA0设置不合理,则会带来计算量的上升或者是率失 真性能的下降问题。 本专利技术实施例是这样实现的,一种基于片源分析的SA0编码方法,所述方法包括 以下步骤: StepO:计算当前压缩率; Stepl:选择当前帧身"的分析帧; Step2 :对当前帧进行图片信息分析,获取当前片段的SA0模块控制参数值; Step3 :按编码顺序对当前帧、当前帧的分析帧及位于当前帧、当前帧的分析帧之 间的所有图像帧进行编码,每编码完一帧,则令累加变量coded_num=coded_num+l; Step4:如果当前序列还有未编码的图像帧,则按编码顺序将当前序列还有未编码 的第一个图像帧设置为当前帧,然后进入Step5;否则,结束; Step5 :如果累加变量coded_num>T,贝丨】进入Step3 ;否则,令coded_num= 0,然后 进入步骤Step1 ; 其中,T表示周期常量。 本专利技术实施例的另一目的在于提出一种基于片源分析的SA0编码系统,所述系统 包括: 当前压缩率计算模块,用于计算当前压缩率; 当前帧分析帧选择模块,用于选择当前帧的分析帧; SA0模块控制参数值获取装置,用于对当前帧进行图片信息分析,获取当前片段的 SA0模块控制参数值; 编码模块,用于按编码顺序对当前帧、当前帧的分析帧及位于当前帧、当前帧的 分析帧之间的所有图像帧进行编码,每编码完一帧,则令累加变量coded_num=coded_num+1; 第一判断模块,用于判断是否当前序列还有未编码的图像帧,若是,则进入当前帧 设置模块,否则,结束; 当前帧设置模块,用于按编码顺序将当前序列还有未编码的第一个图像帧设置为 当前帧; 第二判断模块,用于是否满足累加变量C〇ded_nUm>T,若是,则进入编码模块;否 则进入累加变量初始化模块;其中,T表示周期常量; 累加变量初始化模块,用于设置coded_num= 0,然后进入当前帧分析帧选择模 块。 本专利技术的有益效果 本专利技术提出一种基于片源分析的SA0编码方法及系统。本专利技术方法通过对编码片 源的分析,获取当前片段的SA0模块控制参数值,根据SA0模块控制参数值,确定当前帧编 码时是否开启SA0模块,从而自适应调整常规的SA0编码方法,在提升率失真性能同时,减 少编码时间。【附图说明】 图1是本专利技术优选实施例一种基于片源分析的SA0编码方法流程图; 图2是图1中步骤Step2包含的方法流程图; 图3是图2中步骤Step21包含的方法流程图; 图4是本专利技术优选实施例一种基于片源分析的SA0编码系统结构图; 图5是图4中SA0模块控制参数值获取装置的结构图; 图6是图5中复杂度参数计算模块的结构图。【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对 本专利技术进行进一步详细说明,为了便于说明,仅示出了与本专利技术实施例相关的部分。应当理 解,此处所描写的具体实施例,仅仅用于解释本专利技术,并不用以限制本专利技术。 本专利技术提出一种基于片源分析的SA0编码方法及系统。本专利技术方法通过对编码片 源的分析,获取当前片段的SA0模块控制参数值,根据SA0模块控制参数值,确定当前帧编 码时是否开启SA0模块,从而自适应调整常规的SA0编码方法,在提升率失真性能同时,减 少编码时间。 实施例一 图1是本专利技术优选实施例一种基于片源分析的SA0编码方法流程图;所述方法包 括以下步骤: StepO:计算当前压缩率。Com=bitrate/ (fps*width*height)〇 其中,Com表示当前压缩率;width、height分别表示当前序列的宽度、高度分辨 率;fps表示当前序列的采样帧率。 St印1 :选择当前帧户的分析帧。 其中,表示当前帧,t表示当前帧的播放序号,c〇de(t)表示当前帧的编 码序号;,表示当前帧的分析帧,记为para_frame,当前帧的分析帧为辅助确定 当前待编码帧特性,而选取的辅助帧;refp表示当前帧的分析帧的播放序号,code(refp) 表不当前帧的分析帧的编码序号;constl表不第一阈值常量,一般0〈constl〈2。 Step2 :对当前帧进行图片信息分析,获取当前片段的SA0模块控制参数值。 图2是步骤St印2包含的方法流程图(包括步骤St印21-st印22); St印21 :计算当前帧的复杂度参数。 图3是步骤St印21包含的方法流程图(包括步骤St印211-St印212); Step211 :将当前帧及当前帧的分析帧划分为NXN的块,计算每一个块的复杂度 参数。 vark=std(y(i,j)_yp(i,j) |y(i,j)G131〇〇1^且yJi,j)Gblockpk), KN<Nmax; 其中,N_、N_分别表示编码单元的最大尺寸、最小尺寸(文中所指尺寸是对应单 元的一维尺寸,即如果Nmax= 64表示此时最大编码单元即为64x64的块);std(变量IMt;)表 示对满足条件的所有变量求均方差;y(i,j)、yp(i,j)分别表示当前帧、当前帧的分析帧的 亮度信息第i行第j列的像素值;bl〇ckk、bl〇ckPl^v别表示当前帧、当前帧的分析帧的第k 个块;k表示块的位置序号;vark表示第k个块的复杂度参数。 St印212 :求取当前帧的复杂度参数。 var=mean(vark) 其中,mean(变a )表示对变量求均值;var表示当前帧的复杂度参数。 Step22 :如果var/const2+const3〈Com,则令sao_enable= 1 ;否则,sao_enable =0〇 其中,const2、const3 表不第二、第三阈值常量,一般 100〈const2〈1000, -〇? 01〈co nst3〈0. 03 ;sao_enable表示当前编码片段SA0模块控制参数值, 其值等于1表示开启SA0模块,其值等于0表示关闭SA0模块。St印3 :按编码顺 序对当前帧、当前帧的分析帧及位于当前帧、当前帧的分析帧之间的所有图像帧进行编码, 每编码完一帧,则coded__num=coded-num+1; 其中,编码时根据SA0模块控制参数值,确定当前帧编码时是否开启SA0模块。 coded_num表示累加变量,其初始值为0。 St本文档来自技高网...
【技术保护点】
一种基于片源分析的SAO编码方法,其特征在于,所述方法包括以下步骤:Step0:计算当前压缩率;Step1:选择当前帧的分析帧;Step2:对当前帧进行图片信息分析,获取当前片段的SAO模块控制参数值;Step3:按编码顺序对当前帧、当前帧的分析帧及位于当前帧、当前帧的分析帧之间的所有图像帧进行编码,每编码完一帧,则令累加变量coded_num=coded_num+1;Step4:如果当前序列还有未编码的图像帧,则按编码顺序将当前序列还有未编码的第一个图像帧设置为当前帧,然后进入Step5;否则,结束;Step5:如果累加变量coded_num>T,则进入Step3;否则,令coded_num=0,然后进入步骤Step1;其中,T表示周期常量。
【技术特征摘要】
【专利技术属性】
技术研发人员:舒倩,
申请(专利权)人:深圳市云宙多媒体技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。