一种基于片源分析的sao编码方法及系统的制作方法

文档序号:9330953阅读:622来源:国知局
一种基于片源分析的sao编码方法及系统的制作方法
【技术领域】
[0001] 本发明涉及视频编解码领域,尤其涉及一种基于片源分析的SA0编码方法及系 统。
【背景技术】
[0002] SAO(Sampleadaptiveoffset,自适应样点补偿)是HEVC(HighEfficiency VideoCoding,高效率视频编码)中新增加的技术,其性价比远远超过H264的去块滤波 和ALF(AdaptiveLoopFilter,ALF)。常规的SA0编码方法是两层控制模式,即在编码参 数控制整体视频序列的SA0模块开关,然后在编码单元通过SA0-RD0(Rate-Distortion Optimization,率失真优化)控制各个单元的SA0开关和对应的SA0模式。如果编码参数 层SA0设置不合理,则会带来计算量的上升或者是率失真性能的下降。

【发明内容】

[0003] 本发明实施例的目的在于提出一种基于片源分析的SA0编码方法,旨在解决现有 技术SA0编码方法中如果编码参数层SA0设置不合理,则会带来计算量的上升或者是率失 真性能的下降问题。
[0004] 本发明实施例是这样实现的,一种基于片源分析的SA0编码方法,所述方法包括 以下步骤:
[0005] StepO:计算当前压缩率;
[0006] Stepl:选择当前帧身"的分析帧;
[0007] Step2 :对当前帧进行图片信息分析,获取当前片段的SA0模块控制参数值;
[0008] Step3 :按编码顺序对当前帧、当前帧的分析帧及位于当前帧、当前帧的分析帧之 间的所有图像帧进行编码,每编码完一帧,则令累加变量coded_num=coded_num+l;
[0009] Step4:如果当前序列还有未编码的图像帧,则按编码顺序将当前序列还有未编码 的第一个图像帧设置为当前帧,然后进入Step5;否则,结束;
[0010] Step5 :如果累加变量coded_num>T,贝丨】进入Step3 ;否则,令coded_num= 0,然后 进入步骤Step1 ;
[0011] 其中,T表示周期常量。
[0012] 本发明实施例的另一目的在于提出一种基于片源分析的SA0编码系统,所述系统 包括:
[0013] 当前压缩率计算模块,用于计算当前压缩率;
[0014] 当前帧分析帧选择模块,用于选择当前帧的分析帧;
[0015] SA0模块控制参数值获取装置,用于对当前帧进行图片信息分析,获取当前片段的 SA0模块控制参数值;
[0016] 编码模块,用于按编码顺序对当前帧、当前帧的分析帧及位于当前帧、当前帧的 分析帧之间的所有图像帧进行编码,每编码完一帧,则令累加变量coded_num=coded_num+1;
[0017] 第一判断模块,用于判断是否当前序列还有未编码的图像帧,若是,则进入当前帧 设置模块,否则,结束;
[0018] 当前帧设置模块,用于按编码顺序将当前序列还有未编码的第一个图像帧设置为 当前帧;
[0019] 第二判断模块,用于是否满足累加变量C〇ded_nUm>T,若是,则进入编码模块;否 则进入累加变量初始化模块;其中,T表示周期常量;
[0020] 累加变量初始化模块,用于设置coded_num= 0,然后进入当前帧分析帧选择模 块。
[0021] 本发明的有益效果
[0022] 本发明提出一种基于片源分析的SA0编码方法及系统。本发明方法通过对编码片 源的分析,获取当前片段的SA0模块控制参数值,根据SA0模块控制参数值,确定当前帧编 码时是否开启SA0模块,从而自适应调整常规的SA0编码方法,在提升率失真性能同时,减 少编码时间。
【附图说明】
[0023] 图1是本发明优选实施例一种基于片源分析的SA0编码方法流程图;
[0024] 图2是图1中步骤Step2包含的方法流程图;
[0025] 图3是图2中步骤Step21包含的方法流程图;
[0026] 图4是本发明优选实施例一种基于片源分析的SA0编码系统结构图;
[0027] 图5是图4中SA0模块控制参数值获取装置的结构图;
[0028] 图6是图5中复杂度参数计算模块的结构图。
【具体实施方式】
[0029] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对 本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理 解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
[0030] 本发明提出一种基于片源分析的SA0编码方法及系统。本发明方法通过对编码片 源的分析,获取当前片段的SA0模块控制参数值,根据SA0模块控制参数值,确定当前帧编 码时是否开启SA0模块,从而自适应调整常规的SA0编码方法,在提升率失真性能同时,减 少编码时间。
[0031] 实施例一
[0032] 图1是本发明优选实施例一种基于片源分析的SA0编码方法流程图;所述方法包 括以下步骤:
[0033] StepO:计算当前压缩率。
[0034]Com=bitrate/ (fps*width*height)〇
[0035] 其中,Com表示当前压缩率;width、height分别表示当前序列的宽度、高度分辨 率;fps表示当前序列的采样帧率。
[0036] St印1 :选择当前帧户的分析帧。
[0037]
[0038] 其中,表示当前帧,t表示当前帧的播放序号,c〇de(t)表示当前帧的编 码序号;,表示当前帧的分析帧,记为para_frame,当前帧的分析帧为辅助确定 当前待编码帧特性,而选取的辅助帧;refp表示当前帧的分析帧的播放序号,code(refp) 表不当前帧的分析帧的编码序号;constl表不第一阈值常量,一般0〈constl〈2。
[0039] Step2 :对当前帧进行图片信息分析,获取当前片段的SA0模块控制参数值。
[0040] 图2是步骤St印2包含的方法流程图(包括步骤St印21-st印22);
[0041] St印21 :计算当前帧的复杂度参数。
[0042] 图3是步骤St印21包含的方法流程图(包括步骤St印211-St印212);
[0043] Step211 :将当前帧及当前帧的分析帧划分为NXN的块,计算每一个块的复杂度 参数。
[0044] vark=std(y(i,j)_yp(i,j) |y(i,j)G131〇〇1^且yJi,j)Gblockpk), KN<Nmax;
[0045] 其中,N_、N_分别表示编码单元的最大尺寸、最小尺寸(文中所指尺寸是对应单 元的一维尺寸,即如果Nmax= 64表示此时最大编码单元即为64x64的块);std(变量IMt;)表 示对满足条件的所有变量求均方差;y(i,j)、yp(i,j)分别表示当前帧、当前帧的分析帧的 亮度信息第i行第j列的像素值;bl〇ckk、bl〇ckPl^v别表示当前帧、当前帧的分析帧的第k 个块;k表示块的位置序号;vark表示第k个块的复杂度参数。
[0046] St印212 :求取当前帧的复杂度参数。
[0047] var=mean(vark)
[0048] 其中,mean(变a )表示对变量求均值;var表示当前帧的复杂度参数。
[0049] Step22 :如果var/const2+const3〈Com,则令sao_enable= 1 ;否则,sao_enable =0〇
[0050] 其中,const2、const3 表不第二、第三阈值常量,一般 100〈const2〈1000, -〇? 01〈co nst3〈0. 03 ;sao_enable表示当前编码片段SA0模块控制参数值,
[0051] 其值等于1表示开启SA0模块,其值等于0表示关闭SA0模块。St印3 :按编码顺 序对当前帧、当前帧的分析帧及位于当前帧、当前帧的分析帧之间的所有图像帧进行编码, 每编码完一帧,则coded__num=coded-num+1;
[0052] 其中,编码时根据SA0模块控制参数值,确定当前帧编码时是否开启SA0模块。 coded_num表示累加变量,其初始值为0。
[0053] Step4:如果当前序列还有未编码的图像帧,则按编码顺序将当前序列还有未编码 的第一个图像帧设置为当前帧,然后进入Step5 ;否则,结束。
[0054] Step5 :如果coded_num>T,则进入Step3 ;否则,coded_num= 0,然后进入步骤 Stepl〇
[0055] 其中,T表不;周期常量,一般T>refp。
[0056]实施例二
[0057]图4是本发明优选实施例一种基于片源分析的SA0编码系统结构图;所述系统包 括:
[0058] 当前压缩率计算模块,用于计算当前压缩率;
[0059]Com=bitrate/ (fps*width*height)〇
[0060] 其中,Com表示当前压缩率;width、height分别表示当前序列的宽度、高度分辨 率;fps表示当前序列的采样帧率。
[0061] 当前帧分析帧选择模块,用于选择当前帧的分析帧;
[0062]
[0063] 其中,表示当前帧,t表示当前帧的播放序号,code⑴表示当前帧的编 码序号;.力胃表示当前帧的分析帧,记为para_frame,当前帧的分析帧为辅助确定 当前待编码帧特性,而选取的辅助帧;refp表示当前帧的分析帧的播放序号,code(refp) 表不当前帧的分析帧的编码序号;constl表不第一阈值常量,一般0〈constl〈2。
[0064] SA0模块控制参数值获取装置,用于对当前帧进行图片信息分析,获取当前片段的 SA0模块控制参数值;
[0065] 编码模块,用于按编码顺序对当前帧、当前帧的分析帧及位于当前帧、当前帧的分 析帧之间的所有图像帧进行编码,每编码完一帧,则令coded_n
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1