基于流水线架构的深度图像帧内预测的编码电路及其编码方法与流程

文档序号:16467422发布日期:2019-01-02 22:51阅读:164来源:国知局
基于流水线架构的深度图像帧内预测的编码电路及其编码方法与流程

本发明属于视频编解码技术的帧内预测编码技术领域,具体的说是一种应用于视频编解码中深度图像帧内预测的基于流水线架构的编码方法及编码电路。



背景技术:

随着科学技术的不断发展,信息技术和计算机互联网分别在不同程度改变了人们的日常的生活。如今,人们获取信息的主要来源于多媒体信息,而多媒体信息却以视频为核心。3d视频由于相比普通2d视频能够提供给用户场景真实和自然再现的效果而备受工业界和学术界的重视,成为视频研究的领域的热点之一。

相比于普通的2d视频,3d包含着更为巨大的数据量。3d视频相对于2d视频还需要保存深度信息,这给视频数据的传输和保存都带来了一定的难度。在3d视频的深度图像的帧内预测中,相比于普通2d视频的planar、dc、角度预测三大预测技术,加入了dmm深度建模模式,dmm能够更好的保留深度图像的边缘信息,但与此同时,导致了编码复杂度剧增。在保证合成视点质量的同时,如何降低dmm的高复杂度预测算法成了一个重要的研究方向。dmm深度建模模式中又分为dmm-1、dmm-4两种模式。在现有技术中,针对dmm深度建模模式的硬件电路设计还不是很多,gustavosanchez等人在2016integratedcircuits&systemsdesign发表的“energy-awarelight-weightdmm-1patternsdecoderswithefficientlystoragein3d-hevc”中所述电路,是目前少数实现了的dmm-1模式编码电路。因此,对3d视频进行有效的压缩编码就显示十分重要。



技术实现要素:

本发明为克服现有技术存在的不足之处,提出一种基于流水线架构的深度图像帧内预测的编码电路及其编码方法,以期能减少硬件资源,实现有限资源情况下的编码功能。

为达到上述发明目的,本发明采用如下技术方案:

本发明一种基于流水线架构的深度图像帧内预测的编码电路,记任一深度图像内的4n×4n区域的像素值为原始块ru;其中n为正整数,其特点是所述编码电路包括:像素和计算子模块、区域均值计算子模块、赋值子模块、sad计算子模块和比较子模块;

所述像素和计算子模块接收原始块ru及其在当前周期对应的分割模式,并根据在当前周期的分割模式计算在当前周期的原始块ru中区域“1”的像素值之和region1_sum和区域“0”的像素值之和region0_sum,同时统计在当前周期的所述区域“1”的像素点个数region1_pixel和区域“0”的像素点个数region0_pixel;

所述区域均值计算子模块根据当前周期的所述区域“1”的像素值之和region1_sum与像素点个数region1_pixel以及所述区域“0”的像素值之和region0_sum与像素点个数region0_pixel,计算在当前周期的所述区域“1”的均值region1_ave和区域“0”的均值region0_ave;同时,所述像素和计算子模块接收原始块ru及其在下一周期对应的分割模式并进行处理;

所述赋值子模块根据当前周期的所述区域“1”的均值和所述区域“0”的均值在所述当前周期的分割模式上的分布,得到在当前周期的区域“1”的预测块region1_pre和区域“0”的预测块region0_pre,从而在当前周期的构成预测块pu;

所述sad计算子模块根据所述原始块ru减去当前周期的预测块pu得到在当前周期的残差深度块du;然后将在当前周期的残差深度块du的每个像素点处的像素值取绝对值并相加,从而得到在当前周期的残差深度块的sad值;

所述比较子模块对当前周期的残差深度块du的sad值与上一周期的残差深度块的sad值进行比较,保留较小的残差深度块的sad值并作为当前周期的残差深度块的sad值并存储相应的残差深度块du,若不存在上一周期的残差深度块的sad值,则直接保留当前周期的残差深度块du及其sad值。

本发明一种基于流水线架构的深度图像帧内预测的编码方法的特点是按如下步骤进行:

步骤1、记任一深度图像内的4n×4n区域的像素值为原始块ru,其中n为正整数;

步骤2、定义当前周期为t,并初始化t=1;

步骤3、根据原始块ru及其在当前周期t对应的分割模式,计算在当前周期t的原始块ru中区域“1”的像素值之和region1_sum和区域“0”的像素值之和region0_sum,同时统计在当前周期t的所述区域“1”的像素点个数region1_pixel和区域“0”的像素点个数region0_pixel;

步骤4、根据当前周期t的所述区域“1”的像素值之和region1_sum与像素点个数region1_pixel以及所述区域“0”的像素值之和region0_sum与像素点个数region0_pixel,计算在当前周期的所述区域“1”的均值region1_ave和区域“0”的均值region0_ave;同时执行步骤5;

步骤5、将t+1赋值给t,并返回步骤3执行;同时执行步骤6;

步骤6、根据当前周期t的区域“1”的均值和所述区域“0”的均值在所述当前周期t的分割模式上的分布,得到在当前周期t的区域“1”的预测块region1_pre和区域“0”的预测块region0_pre,从而在当前周期t的构成预测块pu;

步骤7、将t+1赋值给t,并返回步骤5执行;同时执行步骤8;

步骤8、根据所述原始块ru与在当前周期t的预测块pu,并计算所述原始块ru在当前周期t的sad值,再将原始块ru在每个像素点处的像素值分别减去在当前周期t对应的预测块pu在每个像素点的值,从而得到在当前周期t的残差深度块du;

步骤9、将t+1赋值给t,并返回步骤7执行;同时执行步骤10;

步骤10、将在当前周期t的残差深度块的每个像素点处的深度值取绝对值并相加,从而得到在当前周期t的残差深度块的sad值;

步骤11、将t+1赋值给t,并返回步骤9执行;同时执行步骤12;

步骤12、判断当前周期t≥6是否成立,若成立,则将当前周期t的残差深度块的sad值与上一周期t-1的残差深度块的sad值进行比较,保留较小的残差深度块的sad值并作为当前周期t的残差深度块的sad值并存储相应的残差深度块du,否则,直接保留当前周期t的残差深度块du及其对应的sad值。

与现有技术相比,本发明的有益技术效果体现在:

1、本发明提出了一种基于3d-hevc中深度图的帧内预测dmm-1模式的流水线帧内预测编码电路,包括了像素和计算子模块、区域均值计算子模块、赋值子模块、sad计算子模块和比较子模块,减少了硬件资源使用、提升了速率,从而提升了整个视频编码电路的性能。

2、本发明的每个模块同一周期重复运行,使得运算的时间大大减少,提高了运算的效率与速度,硬件资源得到了极大了利用,相比于串行电路提升了电路的性能。

3、本发明的每一个模块独立运行,但是它们又作为一个整体处理大量数据,充分了发挥了每一个模块的性能与整体的关系,提高了资源利用率与运算速率。

4、流水线思想早已经出现,对于应用流水线到具体的电路设计中任然是不小的困难,本发明实现了流水线架构的电路,对于这种思想的理解充分而且深刻,并且提升了流水线的发展,促进了整个数字电路行业发展。

附图说明

图1为现有技术中原始块ru的像素值示意图;

图2为本发明流水线框架结构图;

图3为本发明流水线工作示意图;

图4为本发明分割方式示意图;

图5为本发明不同分割模式对应的预测块;

图6为本发明的搜索失真代价值图;

图7为原始图与最佳预测图相减得到的残差图;

图8为本发明电路与sanchez的发明电路参数及效率比较;

具体实施方式

本实施例中,如图1所示;记任一深度图像内的4n×4n区域的像素值为原始块ru,其中n为正整数,在此n取1;各像素值的大小如图分布;一种基于流水线架构的深度图像帧内预测的编码电路包括:像素和计算子模块、区域均值计算子模块、赋值子模块、sad计算子模块和比较子模块,如图2所示;

像素和计算子模块接收原始块ru及其在当前周期对应的分割模式,分割模式如图4所示;这里仅举例了3种;并根据在当前周期的分割模式计算在当前周期的原始块ru中区域“1”的像素值之和region1_sum为和区域“0”的像素值之和region0_sum,同时统计在当前周期的区域“1”的像素点个数region1_pixel和区域“0”的像素点个数region0_pixel;

区域均值计算子模块根据当前周期的区域“1”的像素值之和region1_sum与像素点个数region1_pixel以及区域“0”的像素值之和region0_sum与像素点个数region0_pixel,计算在当前周期的区域“1”的均值region1_ave和区域“0”的均值region0_ave;举例的三种就是均值为46、90、46、76、57、79;同时,像素和计算子模块接收原始块ru及其在下一周期对应的分割模式并进行处理;

赋值子模块根据当前周期的区域“1”的均值和区域“0”的均值在当前周期的分割模式上的分布,得到在当前周期的区域“1”的预测块region1_pre和区域“0”的预测块region0_pre,从而在当前周期的构成预测块pu,如图5所示;

sad计算子模块根据原始块ru减去当前周期的预测块pu得到在当前周期的残差深度块du;然后将在当前周期的残差深度块du的每个像素点处的像素值取绝对值并相加,从而得到在当前周期的残差深度块的sad值,如图6所示;

比较子模块对当前周期的残差深度块du的sad值与上一周期的残差深度块的sad值进行比较,保留较小的残差深度块的sad值并作为当前周期的残差深度块的sad值并存储相应的残差深度块du,若不存在上一周期的残差深度块的sad值,则直接保留当前周期的残差深度块du及其sad值,du如图7所示,整体流水线步骤如图3所示。

本实施例中,一种基于流水线架构的深度图像帧内预测的编码方法是按如下步骤进行:

步骤1、记任一深度图像内的4n×4n区域的像素值为原始块ru,其中n为正整数1;

每个点的像素值如图所示;

步骤2、定义当前周期为t,并初始化t=1;

步骤3、根据原始块ru及其在当前周期t对应的分割模式,原始块ru如图1所示,分割模式如图4所示;这里仅举例了3种;计算在当前周期t的原始块ru中区域“1”的像素值之和region1_sum和区域“0”的像素值之和region0_sum,同时统计在当前周期t的区域“1”的像素点个数region1_pixel和区域“0”的像素点个数region0_pixel;

步骤4、根据当前周期t的区域“1”的像素值之和region1_sum与像素点个数region1_pixel以及区域“0”的像素值之和region0_sum与像素点个数region0_pixel,计算在当前周期的区域“1”的均值region1_ave和区域“0”的均值region0_ave;同时执行步骤5;

步骤5、将t+1赋值给t,并返回步骤3执行;同时执行步骤6;

步骤6、根据当前周期t的区域“1”的均值和区域“0”的均值在当前周期t的分割模式上的分布,得到在当前周期t的区域“1”的预测块region1_pre和区域“0”的预测块region0_pre,从而在当前周期t的构成预测块pu,如图5所示;

步骤7、将t+1赋值给t,并返回步骤5执行;同时执行步骤8;

步骤8、根据原始块ru与在当前周期t的预测块pu,并计算原始块ru在当前周期t的sad值,再将原始块ru在每个像素点处的像素值分别减去在当前周期t对应的预测块pu在每个像素点的值,从而得到在当前周期t的残差深度块du,如图7所示;

步骤9、将t+1赋值给t,并返回步骤7执行;同时执行步骤10;

步骤10、将在当前周期t的残差深度块的每个像素点处的深度值取绝对值并相加,从而得到在当前周期t的残差深度块的sad值;

步骤11、将t+1赋值给t,并返回步骤9执行;同时执行步骤12;

步骤12、判断当前周期t≥6是否成立,若成立,则将当前周期t的残差深度块的sad值与上一周期t-1的残差深度块的sad值进行比较,保留较小的残差深度块的sad值并作为当前周期t的残差深度块的sad值并存储相应的残差深度块du,否则,直接保留当前周期t的残差深度块du及其对应的sad值。

实施例:

本发明针对4×4的深度图像进行帧内预测编码方法的基于fpga的电路设计,采用veriloghdl进行行为级描述,基于xilinxxc6vlx760fpga开发板使用ise软件进行仿真和综合,本发明使用如图1所示的深度图像块进行测试,相比于gustavosanchez等人在2016integratedcircuits&systemsdesign发表的“energy-awarelight-weightdmm-1patternsdecoderswithefficientlystoragein3d-hevc”中电路,如图8所示,本发明电路预测周期最低仅为传统编码时间的69.06%,平均而言,本发明电路预测周期大约为传统编码电路编码时间的69.49%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1