CN109862355B - 一种多层次帧内预算模式选择方法 - Google Patents
一种多层次帧内预算模式选择方法 Download PDFInfo
- Publication number
- CN109862355B CN109862355B CN201910218759.XA CN201910218759A CN109862355B CN 109862355 B CN109862355 B CN 109862355B CN 201910218759 A CN201910218759 A CN 201910218759A CN 109862355 B CN109862355 B CN 109862355B
- Authority
- CN
- China
- Prior art keywords
- mode
- value
- layer
- decision module
- modes
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种多层次帧内预算模式选择方法,属于图像处理技术领域,包括在FPGA中建立第一层决策模块、第二层决策模块和第三层决策模块,解决了采用多层预测模型对图片进行帧内预算的技术问题,利用当前层的评审值和距离单位为参考,来决定下一层的模式。
Description
技术领域
本发明属于图像处理技术领域,特别涉及一种多层次帧内预算模式选择方法。
背景技术
进入数字时代之后,数字视频紧随着IT技术的浪潮,获得了非常迅速的发展。追求更高的清晰度,是数字视频技术领域从未停止的步伐。如今,各式各样的视频应用已经渗透到人类社会的各个领域,可以说,视频应用是现代人类社会运转的重要组成部分。
预测编码是视频编码中的核心技术之一。对于视频信号来说,一幅图像内相临近像素之间有着较强的空间相关性,相邻图像之间也有很强的时间相关性。因而,先进的视频编码往往采用帧内预测和帧间预测的方式,使用图像内已编码像素预测临近像素,或利用已编码图像预测待编图像,从而有效去除视频空域和时域的相关性。视频编解码器对预测后的残差而不是原始像素值进行变换、量化、熵编码,由此大幅提高编码效率。
帧内预测编码是指利用视频空间域的相关性,使用当前图像已编码的像素预测当前像素,进行下一步编码处理。帧内预测技术是消除视频空间冗余的主要技术之一,尤其当帧间预测被限制使用时,帧内预测是保证视频压缩效率的主要手段。对于同一块预测块来讲,可以将其分为不同的大小分块的集合并使用不同的预测方向。
如图1所示为H.265中使用的35种帧内预测方式,对于同一预测边缘,使用不同的预测方向,得到的预测结果也有不同。因而针对一块预测块,需要搜索出最合理的分块和预测方向。现有的通用方案是遍历所有的分块和所有的预测方向,这样的搜索方案最全面,但是相对的计算复杂度高。
发明内容
本发明的目的是提供一种多层次帧内预算模式选择方法,解决了采用多层预测模型对图片进行帧内预算的技术问题。
为实现上述目的,本发明采用以下技术方案:
一种多层次帧内预算模式选择方法,包括以下步骤:
步骤1:在FPGA中建立第一层决策模块、第二层决策模块和第三层决策模块;
步骤2:第一层决策模块接收预测所需要的图片的边界数据和原始像素;边界数据采用H.265中使用的35种帧内预测模式输入,第一层决策模块只处理35种帧内预测模式中的第2模式、第10模式、第18模式、第26模式和第34模式,并分别获取第2模式、第10模式、第18模式、第26模式和第34模式下的5个预测结果;
第一层决策模块将这5个预测结果分别与原始像素进行差值的绝对值之和的计算,得到5个差值结果;
步骤3:第一层决策模块筛选出5个差值结果中的最小结果,设定该最小结果为min_mode,第一层决策模块根据min_mode的值做出如下判定:
计算特殊角度模式(2,10,18,26,34)的预测值,得到对应的差值的绝对值之和,设定该对应的差值的绝对值之和为SADi,其中i=2,10,18,26,34;
当min_mode的值对应第2模式时,设定向第二层发送的4个模式选择为第4模式、第6模式、第8模式和第12模式;
当min_mode的值对应第10模式时,x取值SAD2,y取值SAD10,z取值SAD18,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,其中abs代表绝对值,则向第二层发送的4个模式选择为第6模式、第8模式、第12模式和第14模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第二层发送的4个模式选择为第4模式、第6模式、第8模式和第12模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第二层发送的4个模式选择为第8模式、第12模式、第14模式和第16模式;
当min_mode的值对应第18模式时,x取值SAD10,y取值SAD18,z取值SAD26,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,则向第二层发送的4个模式选择为第14模式、第16模式、第20模式和第22模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第二层发送的4个模式选择为第12模式、第14模式、第16模式和第20模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第二层发送的4个模式选择为第16模式、第20模式、第22模式和第24模式;
当min_mode的值对应第26模式时,x取值SAD18,y取值SAD26,z取值SAD34,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,则向第二层发送的4个模式选择为第22模式、第24模式、第28模式和第30模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第三层发送的4个模式选择为第20模式、第22模式、第24模式和第28模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第三层发送的4个模式选择为第24模式、第28模式、第30模式和第32模式;
当min_mode的值对应第34模式时,设定向第三层发送的4个模式选择为第24模式、第28模式、第30模式和第32模式;
步骤4:第二层决策模块对第一层决策模块传送来的4个模式分别进行预测,得出4个预测数据,第二层决策模块将分别将这4个预测数据与原始像素进行差值的绝对值之和的计算,并筛选出最小的差值,设定该最小的差值为min_mode2,第二次决策模块向第三层决策模块发送min_mode2;
步骤S5:第三层决策模块分别按DC方块边缘帧内预测方法和PLANAR方块边缘帧内预测方法进行计算,得出DC预测结果和PLANAR预测结果,第三层决策模块筛选出min_mode2、DC预测结果和PLANAR预测结果中的最小值,作为最终结果输出。
优选的,在执行步骤S5时,如果min_mode2对应第2模式,则第三层决策模块为第3模式;如果min_mode2对应第34模式,则第三层决策模块为第33模式;否则,记比min_mode2小中模式值最大的模式差值为m,比min_mode2大中模式值最小的模式差值为n,即离min_mode2最近的一大一小两个模式;当m>n,第三层决策模块的模式为min_mode2+1,否则第三层决策模块的模式为min_mode2–1。
优选的,在执行步骤4时,第二层决策模块对第一层决策模块传送来的4个模式分别进行预测时,采用通用角度方块边缘帧内预测方法进行预测。
本发明所述的一种多层次帧内预算模式选择方法,解决了采用多层预测模型对图片进行帧内预算的技术问题,利用当前层的评审值和距离单位为参考,来决定下一层的模式,传统方案中需要进行遍历的搜索,需要进行35次预算和差值求和,本发明只需要进行12次预算和差值求和,降低了算法的复杂度。
附图说明
图1是H.265中使用的35种帧内预测方式的示意图;
图2是本发明流程图。
具体实施方式
如图2所示的一种多层次帧内预算模式选择方法,包括以下步骤:
步骤1:在FPGA中建立第一层决策模块、第二层决策模块和第三层决策模块;
步骤2:第一层决策模块接收预测所需要的图片的边界数据和原始像素;边界数据采用H.265中使用的35种帧内预测模式输入,第一层决策模块只处理35种帧内预测模式中的第2模式、第10模式、第18模式、第26模式和第34模式,并分别获取第2模式、第10模式、第18模式、第26模式和第34模式下的5个预测结果;
第一层决策模块将这5个预测结果分别与原始像素进行差值的绝对值之和的计算,得到5个差值结果;
步骤3:第一层决策模块筛选出5个差值结果中的最小结果,设定该最小结果为min_mode,第一层决策模块根据min_mode的值做出如下判定:
计算特殊角度模式(2,10,18,26,34)的预测值,得到对应的差值的绝对值之和,设定该对应的差值的绝对值之和为SADi,其中i=2,10,18,26,34;
当min_mode的值对应第2模式时,设定向第二层发送的4个模式选择为第4模式、第6模式、第8模式和第12模式;
当min_mode的值对应第10模式时,x取值SAD2,y取值SAD10,z取值SAD18,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,其中abs代表绝对值,则向第二层发送的4个模式选择为第6模式、第8模式、第12模式和第14模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第二层发送的4个模式选择为第4模式、第6模式、第8模式和第12模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第二层发送的4个模式选择为第8模式、第12模式、第14模式和第16模式;
当min_mode的值对应第18模式时,x取值SAD10,y取值SAD18,z取值SAD26,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,则向第二层发送的4个模式选择为第14模式、第16模式、第20模式和第22模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第二层发送的4个模式选择为第12模式、第14模式、第16模式和第20模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第二层发送的4个模式选择为第16模式、第20模式、第22模式和第24模式;
当min_mode的值对应第26模式时,x取值SAD18,y取值SAD26,z取值SAD34,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,则向第二层发送的4个模式选择为第22模式、第24模式、第28模式和第30模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第三层发送的4个模式选择为第20模式、第22模式、第24模式和第28模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第三层发送的4个模式选择为第24模式、第28模式、第30模式和第32模式;
当min_mode的值对应第34模式时,设定向第三层发送的4个模式选择为第24模式、第28模式、第30模式和第32模式;
步骤4:第二层决策模块对第一层决策模块传送来的4个模式分别进行预测,得出4个预测数据,第二层决策模块将分别将这4个预测数据与原始像素进行差值的绝对值之和的计算,并筛选出最小的差值,设定该最小的差值为min_mode2,第二次决策模块向第三层决策模块发送min_mode2;
步骤S5:第三层决策模块分别按DC方块边缘帧内预测方法和PLANAR方块边缘帧内预测方法进行计算,得出DC预测结果和PLANAR预测结果,第三层决策模块筛选出min_mode2、DC预测结果和PLANAR预测结果中的最小值,作为最终结果输出。
优选的,在执行步骤S5时,如果min_mode2对应第2模式,则第三层决策模块为第3模式;如果min_mode2对应第34模式,则第三层决策模块为第33模式;否则,记比min_mode2小中模式值最大的模式差值为m,比min_mode2大中模式值最小的模式差值为n,即离min_mode2最近的一大一小两个模式;当m>n,第三层决策模块的模式为min_mode2+1,否则第三层决策模块的模式为min_mode2–1。
优选的,在执行步骤4时,第二层决策模块对第一层决策模块传送来的4个模式分别进行预测时,采用通用角度方块边缘帧内预测方法进行预测。
通用角度方块边缘帧内预测方法包括以下步骤:
步骤A1:在FPGA中建立帧内预测通用角度模块,帧内预测通用角度模块的输入端口包括border端口、pred_mode端口、boundary_filter端口和valid_in端口,border端口用于接收预测所用的边界信息,pred_mode端口用于接收预测的角度模式,角度模式的取值为2~34,boundary_filter端口用于接收是否需要进行边缘滤波的信号:boundary_filter端口为0,则不需要边缘滤波,boundary_filter端口为1,则需要边缘滤波,valid_in端口用于接收输入是否有效的信号;
帧内预测通用角度模块的输出端口包括predSample端口和valid_out端口,predSample端口用于输出预测结果,valid_out端口用于输出结果是否有效的信号;
步骤A2:在FPGA中建立ref_ram存储器,根据以下公式计算出角度模式和预测结果之间的预测关系表:
y=b>0?(a*x1+b*x2+16)>>5:x1;其中,a=32–iFact;b=iFact;x1=ref_ram<<(shift+1);x2=ref_ram<<shift;
shift=iIdx+nTbs;如果iIdx为负数,nTbs为预测块的大小;
iFact和iIdx是H.265文档中的术语,故不详细叙述;ref_ram中的数据是根据H.265的标准算法,依据预测模式的不同,取得的;
步骤A3:将一帧图片输入到FPGA中,FPGA在帧内预测通用角度模块中对图片进行帧内预测,具体步骤如下:
步骤S1:帧内预测通用角度模块通过border端口和pred_mode端口从FPGA中获取图片的预测所用的边界信息和预测角度模式;
步骤S2:根据pred_mode端口输入的角度模式的值,查找iIdx_rom表,得出shift参数;
iIdx_rom是一个rom,里面的初始化文件是用matlab生成的,对应的取出来的值就是所述shift;
步骤S3:根据pred_mode端口输入的角度模式的值,从iFact_rom中查表得出iFact参数;
iFact_rom是一个rom,里面的初始化文件是用matlab生成的,对应的取出来的值就是所述iFact;
步骤S4:计算ref=ref_ram<<shift、iFact和iFact的取反加一的值,并根据步骤A2提供的公式进行计算,同时进行边界滤波的结果计算;
步骤S5:根据boundary_filter的取值决定是否进行边缘滤波,并输出预测结果。
优选的,在执行步骤S2时,如果查找预测关系表的结果中会出现负数下标,则将原有的下标看作起始的零点。
优选的,在执行步骤S2时,如果shift参数为负数,则shift=iIdx+8。
本发明所述的一种多层次帧内预算模式选择方法,解决了采用多层预测模型对图片进行帧内预算的技术问题,利用当前层的评审值和距离单位为参考,来决定下一层的模式,传统方案中需要进行遍历的搜索,需要进行35次预算和差值求和,本发明只需要进行12次预算和差值求和,降低了算法的复杂度。
Claims (3)
1.一种多层次帧内预算模式选择方法,其特征在于:包括以下步骤:
步骤1:在FPGA中建立第一层决策模块、第二层决策模块和第三层决策模块;
步骤2:第一层决策模块接收预测所需要的图片的边界数据和原始像素;边界数据采用H.265中使用的35种帧内预测模式输入,第一层决策模块只处理35种帧内预测模式中的第2模式、第10模式、第18模式、第26模式和第34模式,并分别获取第2模式、第10模式、第18模式、第26模式和第34模式下的5个预测结果;
第一层决策模块将这5个预测结果分别与原始像素进行差值的绝对值之和的计算,得到5个差值结果;
步骤3:第一层决策模块筛选出5个差值结果中的最小结果,设定该最小结果为min_mode,第一层决策模块根据min_mode的值做出如下判定:
计算特殊角度模式(2,10,18,26,34)的预测值,得到对应的差值的绝对值之和,设定该对应的差值的绝对值之和为SADi,其中i=2,10,18,26,34;
其中N为当前预测块的大小,pred代表预测的像素值,org代表原始的像素值,x和y代表像素的坐标;
当min_mode的值对应第2模式时,设定向第二层发送的4个模式选择为第4模式、第6模式、第8模式和第12模式;
当min_mode的值对应第10模式时,x取值SAD2,y取值SAD10,z取值SAD18,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,其中abs代表绝对值,则向第二层发送的4个模式选择为第6模式、第8模式、第12模式和第14模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第二层发送的4个模式选择为第4模式、第6模式、第8模式和第12模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第二层发送的4个模式选择为第8模式、第12模式、第14模式和第16模式;
当min_mode的值对应第18模式时,x取值SAD10,y取值SAD18,z取值SAD26,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,则向第二层发送的4个模式选择为第14模式、第16模式、第20模式和第22模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第二层发送的4个模式选择为第12模式、第14模式、第16模式和第20模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第二层发送的4个模式选择为第16模式、第20模式、第22模式和第24模式;
当min_mode的值对应第26模式时,x取值SAD18,y取值SAD26,z取值SAD34,设定thr为偏移阈值,如果abs(x-z)<thr×(x+z-2y)÷16,则向第二层发送的4个模式选择为第22模式、第24模式、第28模式和第30模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x<z时,向第三层发送的4个模式选择为第20模式、第22模式、第24模式和第28模式;
如果abs(x-z)≥thr×(x+z-2y)÷16,且x≥z时,向第三层发送的4个模式选择为第24模式、第28模式、第30模式和第32模式;
当min_mode的值对应第34模式时,设定向第三层发送的4个模式选择为第24模式、第28模式、第30模式和第32模式;
步骤4:第二层决策模块对第一层决策模块传送来的4个模式分别进行预测,得出4个预测数据,第二层决策模块将分别将这4个预测数据与原始像素进行差值的绝对值之和的计算,并筛选出最小的差值,设定该最小的差值为min_mode2,第二次决策模块向第三层决策模块发送min_mode2;
步骤S5:第三层决策模块分别按DC方块边缘帧内预测方法和PLANAR方块边缘帧内预测方法进行计算,得出DC预测结果和PLANAR预测结果,第三层决策模块筛选出min_mode2、DC预测结果和PLANAR预测结果中的最小值,作为最终结果输出。
2.如权利要求1所述的一种多层次帧内预算模式选择方法,其特征在于:在执行步骤S5时,如果min_mode2对应第2模式,则第三层决策模块为第3模式;如果min_mode2对应第34模式,则第三层决策模块为第33模式;否则,记比min_mode2小中模式值最大的模式差值为m,比min_mode2大中模式值最小的模式差值为n,即离min_mode2最近的一大一小两个模式;当m>n,第三层决策模块的模式为min_mode2+1,否则第三层决策模块的模式为min_mode2–1。
3.如权利要求1所述的一种多层次帧内预算模式选择方法,其特征在于:在执行步骤4时,第二层决策模块对第一层决策模块传送来的4个模式分别进行预测时,采用通用角度方块边缘帧内预测方法进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910218759.XA CN109862355B (zh) | 2019-03-21 | 2019-03-21 | 一种多层次帧内预算模式选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910218759.XA CN109862355B (zh) | 2019-03-21 | 2019-03-21 | 一种多层次帧内预算模式选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109862355A CN109862355A (zh) | 2019-06-07 |
CN109862355B true CN109862355B (zh) | 2022-07-15 |
Family
ID=66901576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910218759.XA Active CN109862355B (zh) | 2019-03-21 | 2019-03-21 | 一种多层次帧内预算模式选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109862355B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087427A (zh) * | 2006-06-06 | 2007-12-12 | 北京大学深圳研究生院 | 一种h.264标准的帧内预测模式选择方法 |
CN102790878A (zh) * | 2011-12-07 | 2012-11-21 | 北京邮电大学 | 一种视频编码的编码模式选择方法及装置 |
CN104052994A (zh) * | 2014-04-14 | 2014-09-17 | 嘉兴职业技术学院 | 分级自适应的hevc帧内预测模式快速决策方法 |
-
2019
- 2019-03-21 CN CN201910218759.XA patent/CN109862355B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101087427A (zh) * | 2006-06-06 | 2007-12-12 | 北京大学深圳研究生院 | 一种h.264标准的帧内预测模式选择方法 |
CN102790878A (zh) * | 2011-12-07 | 2012-11-21 | 北京邮电大学 | 一种视频编码的编码模式选择方法及装置 |
CN104052994A (zh) * | 2014-04-14 | 2014-09-17 | 嘉兴职业技术学院 | 分级自适应的hevc帧内预测模式快速决策方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109862355A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020169102A1 (en) | Parameter derivation for intra prediction | |
WO2020094059A1 (en) | Complexity reduction in parameter derivation for intra prediction | |
CN111355956B (zh) | 一种hevc帧内编码中基于深度学习的率失真优化快速决策系统及其方法 | |
US8995778B2 (en) | Method and apparatus for encoding/decoding high resolution images | |
KR101058448B1 (ko) | 비디오 인코딩 | |
JP5054826B2 (ja) | 時空間的複雑度を用いた符号化モード決定方法及び装置 | |
RU2533649C1 (ru) | Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений | |
CN117793373A (zh) | 机器学习视频处理系统和方法 | |
CN113853794A (zh) | 用于多个工具的互相排斥设定 | |
EP2846544A1 (en) | Method and apparatus for encoding multi-view images, and method and apparatus for decoding multi-view images | |
CN111373749B (zh) | 视频编码和解码中的低复杂度双向帧内预测的方法和装置 | |
CN103957415B (zh) | 基于屏幕内容视频的cu分割方法和装置 | |
RU2628259C1 (ru) | Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений | |
WO2020035064A1 (en) | Shared candidate list | |
CN104853192B (zh) | 预测模式选择方法及装置 | |
CN111479110B (zh) | 针对h.266/vvc的快速仿射运动估计方法 | |
CN101888546A (zh) | 一种运动估计的方法及装置 | |
WO2020192717A1 (en) | Parameter derivation for inter prediction | |
CN109862355B (zh) | 一种多层次帧内预算模式选择方法 | |
WO2012010023A1 (zh) | 图像运动估计方法和装置 | |
Gao et al. | A novel integer-pixel motion estimation algorithm based on quadratic prediction | |
Paul | Efficient video coding using optimal compression plane and background modelling | |
Ma et al. | A fast background model based surveillance video coding in HEVC | |
JP4571069B2 (ja) | 動画像符号化装置 | |
CN109302605B (zh) | 基于多核处理器的图像编码方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |