一种视频编码带宽的优化电路及其优化方法与流程

文档序号:19536581发布日期:2019-12-27 15:57阅读:178来源:国知局
一种视频编码带宽的优化电路及其优化方法与流程

本发明属于视频编码技术领域,特别是涉及一种视频编码带宽的优化电路及其优化方法。



背景技术:

新一代视频编码标准,已经广泛应用在各种视频编码场景。巨大的带宽需求将是更大尺寸分辨率编码和视频实时性的瓶颈。现阶段主要有三种方法来减小视频编码的带宽:

一是优化搜索算法,减少搜索所需要的点。例如4ss四步搜索算法和tz测试区域搜索算法能有效减少90%的搜索点。但是这种方法仅适合于利用中央处理器或者dsp数字信号处理专用芯片的软编码方式。

二是在me运动估计计算过程中,增加片上数据存储空间,尽量减少重复读取ddr双倍速率同步动态随机存储器数据,但是在1080p或者4k的应用中,存储图像行数据在电路设计中的成本非常大。

三是采用帧压缩方法,这种方法将存入ddr双倍速率同步动态随机存储器的数据进行压缩,减少ddr双倍速率同步动态随机存储器读写的数据量。

其中,帧压缩算法中主要有三种:一是基于小波变换的方法,此方法需要大量的计算资源,不适合于低延时和低功耗的应用场景。二是下采样压缩方法,此方法由于参考帧的信息损失导致psnr峰值信噪比降低。三是采用差分脉冲编码,此方法大大减少了图像的空间冗余从而得到较好的压缩率;帧压缩算法和视频编码有很强的关联性,目前很多提出的算法将帧压缩和视频编码独立开,仅仅关注于帧压缩的压缩率。

现提供一种视频编码带宽的优化电路及其优化方法,根据整数运动估计、分数运动估计和运动补偿不同的数据精度和带宽需求,将像素数据分成两个部分,有损压缩数据给整数运动估计做运动搜索,无损压缩给分数运动估计和运动补偿使用。



技术实现要素:

本发明的目的在于提供一种视频编码带宽的优化电路及其优化方法,通过将像素数据分成两个部分,根据整数运动估计、分数运动估计和运动补偿不同的数据精度和带宽需求,有损压缩数据给整数运动估计做运动搜索,无损压缩给分数运动估计和运动补偿使用。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种视频编码带宽的优化方法,包括以下步骤:

ss01:预测编码之前通过图像分块模块将参考帧(视频编码中上一帧的重建帧作为下一帧的参考帧)分成若干个64×64大小的图像块,每个64×64图像块独立压缩;

ss02:图像分块模块对步骤ss01中获得的图像块进行滤波输出,并将滤波输出后的重建图像按照64×64的图像块存入乒乓缓存,每个64×64图像块包括64×64的亮度块和两个32×32的色度块,将64×64图像块的各个分量分成8×8的图像块,后面的压缩处理是按照8x8的数据单元处理,所以64x64图像块中的各个分量都要分成8x8的数据单元;

ss03:通过截尾编码模块从兵乓缓存中读入一个8×8的图像块,原始8位像素值右移1位,截断的1位存入双倍速率同步动态随机存储器中;将截断后的7位进行预测编码后,把残差传输至双倍速率同步动态随机存储器,预测编码时按照光栅扫描顺序先编码y分量,再编码cb分量,最后编码cr分量,y:亮度,cb、cr:色度;截尾编码模块可以做初步压缩,截断后的7位传输至块内预测模块去掉空间冗余信息后进行第二次压缩;

ss04:截断后的图像数据根据编码器帧内预测模块的判决结果选择最优的块内预测方式,减少图像空间冗余,提要压缩效率,得到8×8的残差矩阵;所述预测方式为八种;

ss05:通过霍夫曼编码和解码模块对8×8的残差矩阵进行离散余弦变换,得到离散余弦变换结果w,变换公式为:

其中,x为8×8矩阵数据;

a为离散余弦变换系数;a′为a的转置矩阵,n根据需要对离散余弦变换系数乘上的增益;

ss06:通过霍夫曼编码和解码模块对离散余弦变换系数进行量化、熵编码后输出码流;根据压缩级别选择量化级别,做离散余弦变换不会对数据进行压缩,量化才可以达到压缩目的,压缩级别越高,压缩后的高频信息丢弃就越多,为了编码速度跟上匹配重建图像的输出,所述霍夫曼编码和解码模块使用了快速离散余弦变换和并行编解码方式,霍夫曼编码不会成为编码器性能的瓶颈;

ss07:得到的码流存入双倍速率同步动态随机存储器中;

ss08:通过霍夫曼编码和解码模块对残差进行解码后加上移出的1位数据,重建出8×8的图像块。

进一步地,所述步骤ss05中离散余弦变换系数a为:

其中,

其中,i为离散余弦变换矩阵的行序号,i=0、1、2、…、7;

其中,j为离散余弦变换矩阵的列序号,j=0、1、2、…、7;

其中,round表示对数据进行四舍五入。

进一步地,所述步骤ss04中得到8×8的预测残差矩阵的方法为:

s01:原点像素保留原值;

s02:第一行和第一列采用水平预测或垂直预测;

s03:其他像素选择八种预测方式中的最优值;

其中,八种预测方式计算后的预测结果像素值与当前输入值之间差值最小的值为最优值。

进一步地,所述的八种预测方式的计算方法分别为:

预测方式1的计算公式为:c0=r1;

预测方式2的计算公式为:c1=r3;

预测方式3的计算公式为:c2=(r1+r2)/2;

预测方式4的计算公式为:c3=(r3+r4)/2;

预测方式5的计算公式为:c4=(r1+r4)/2;

预测方式6的计算公式为:c5=(r3+r3)/2;

预测方式7的计算公式为:c6=((r1+r2)/2+r3)/2;

预测方式8的计算公式为:c7=((r1+r2)/2+(r3+r4)/2)/2;

其中,r1、r2、r3、r4为像素点的值,c为预测结果像素值。

进一步地,所述步骤ss05中n取值越大,则原数据与离散余弦变换恢复后数据之间的误差越小;当n小于9时,原数据与离散余弦变换恢复后数据之间的误差大于1;当n大于或等于9时,原数据与离散余弦变换恢复后数据之间的误差保持在±1;其中:

当n=9时,

进一步地,所述步骤ss06中通过霍夫曼编码和解码模块对离散余弦变换系数进行熵编码之前,将离散余弦变换后的数据按照zig-zag扫描顺序将二维8×8数据转成一维数据,再进行编码。

进一步地,所述步骤ss07中码流存入双倍速率同步动态随机存储器中的方法为:每个图像块编码结束,根据当前图像块在码流中的起始地址和编码长度,计算出下一单元的起始地址,存入双倍速率同步动态随机存储器中;下一单元的起始地址的计算方法为:addr_next=起始地址+编码长度。

一种视频编码带宽的优化电路,所述的电路包括图像分块模块、截尾编码模块、末位补齐解码模块、块内预测模块、霍夫曼编码和解码模块、内存管理模块。

进一步地,所述图像分块模块用于对参考帧进行分块处理;所述截尾编码模块、末位补齐解码模块用于对分块处理后的图像数据进行预测编码、初步压缩、补齐解码;所述块内预测模块包括八种预测方式,截断后的图像数据根据编码器帧内预测模式的判决结果,选用最佳的预测方式,减少图像空间冗余,提要压缩效率;所述霍夫曼编码和解码模块用于将8×8的残差矩阵做离散余弦变换、量化和熵编码;所述内存管理模块用于处理截尾移出数据、残差数据和图像块地址表数据空间的地址管理以及地址表的更新。

本发明具有以下有益效果:

1、本发明通过帧压缩设计方法实现带宽优化,对整数运动估计、分数运动估计和运动补偿不同的数据和带宽需求采用不同的数据压缩策略,达到更好的效果;针对整数运动估计、分数运动估计和运动补偿不同的数据精度和带宽需求,将像素数据分成两个部分,有损压缩数据给整数运动估计做运动搜索,无损压缩给分数运动估计和运动补偿使用,满足视频编码的低带宽的需求。

2、通过大量的视频序列测试结果表明,本发明无损压缩(无位宽截断)能达到45%的压缩率,1bit截断的有损压缩能达到30%的压缩率;

以1080p、搜索范围(-128,127)的视频序列为例,双倍速率同步动态随机存储器读带宽有效减少20%,双倍速率同步动态随机存储器写带宽减少54%,而读带宽占了整个带宽的83%,综合结果带宽降低了25%。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的系统框图;

图2为本发明中截尾编码模块、末位补齐解码模块工作示意图;

图3为本发明中块内预测模块工作示意图;

图4为本发明中y分量图像分块示意图;

图5为本发明中cb/cr分量图像分块示意图;

图6为本发明中编码流程示意图;

图7为本发明中解码流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1-7所示,本发明为一种视频编码带宽的优化方法,包括以下步骤:

ss01:预测编码之前通过图像分块模块将参考帧(视频编码中上一帧的重建帧作为下一帧的参考帧)分成若干个64×64大小的图像块,每个64×64图像块独立压缩;

ss02:图像分块模块对步骤ss01中获得的图像块进行滤波输出,并将滤波输出后的重建图像按照64×64的图像块存入乒乓缓存,每个64×64图像块包括64×64的亮度块和两个32×32的色度块,将64×64图像块的各个分量分成8×8的图像块,后面的压缩处理是按照8x8的数据单元处理,所以64x64图像块中的各个分量都要分成8x8的数据单元;

ss03:通过截尾编码模块从兵乓缓存中读入一个8×8的图像块,原始8位像素值右移1位,截断的1位存入双倍速率同步动态随机存储器中;将截断后的7位进行预测编码后,把残差传输至双倍速率同步动态随机存储器,预测编码时按照光栅扫描顺序先编码y分量,再编码cb分量,最后编码cr分量,y:亮度,cb、cr:色度;截尾编码模块可以做初步压缩,截断后的7位传输至块内预测模块去掉空间冗余信息后进行第二次压缩;

ss04:截断后的图像数据根据编码器帧内预测模块的判决结果为参考、根据残差选择最优的块内预测方式,帧内预测模块如图1中上半部分框内所示,位于视频编码器内部,和本发明是两套并行的模块,利用帧内预测模块的处理结果为参考,减少图像空间冗余,提要压缩效率,得到8×8的残差矩阵;预测方式为八种;

ss05:通过霍夫曼编码和解码模块对8×8的残差矩阵进行离散余弦变换,得到离散余弦变换结果w,变换公式为:

其中,x为8×8矩阵数据;

a为离散余弦变换系数;a′为a的转置矩阵,n根据需要对离散余弦变换系数乘上的增益;

ss06:通过霍夫曼编码和解码模块对离散余弦变换系数进行量化、熵编码后输出码流;根据压缩级别选择量化级别,做离散余弦变换不会对数据进行压缩,量化才可以达到压缩目的,压缩级别越高,压缩后的高频信息丢弃就越多,为了编码速度跟上匹配重建图像的输出,霍夫曼编码和解码模块使用了快速离散余弦变换和并行编解码方式,霍夫曼编码不会成为编码器性能的瓶颈;

ss07:得到的码流存入双倍速率同步动态随机存储器中;

ss08:通过霍夫曼编码和解码模块对残差进行解码后加上移出的1位数据,重建出8×8的图像块。

其中,步骤ss05中离散余弦变换系数a为:

其中,

其中,i为离散余弦变换矩阵的行序号,i=0、1、2、…、7;

其中,j为离散余弦变换矩阵的列序号,j=0、1、2、…、7;

其中,round表示对数据进行四舍五入。

其中,步骤ss04中得到8×8的预测残差矩阵的方法为:

s01:原点像素保留原值;

s02:第一行和第一列采用水平预测或垂直预测;

s03:其他像素选择八种预测方式中的最优值;

其中,八种预测方式计算后的预测结果像素值与当前输入值之间差值最小的值为最优值。

块内预测模块如图3所示,其中,块内预测模块中的八种预测方式的计算方法分别为:

预测方式1的计算公式为:c0=r1;

预测方式2的计算公式为:c1=r3;

预测方式3的计算公式为:c2=(r1+r2)/2;

预测方式4的计算公式为:c3=(r3+r4)/2;

预测方式5的计算公式为:c4=(r1+r4)/2;

预测方式6的计算公式为:c5=(r3+r3)/2;

预测方式7的计算公式为:c6=((r1+r2)/2+r3)/2;

预测方式8的计算公式为:c7=((r1+r2)/2+(r3+r4)/2)/2;

其中,r1、r2、r3、r4为像素点的值,c为预测结果像素值。

其中,步骤ss05中n取值越大,则原数据与离散余弦变换恢复后数据之间的误差越小;当n小于9时,原数据与离散余弦变换恢复后数据之间的误差大于1;当n大于或等于9时,原数据与离散余弦变换恢复后数据之间的误差保持在±1;其中:

当n=9时,

其中,步骤ss06中通过霍夫曼编码和解码模块对离散余弦变换系数进行熵编码之前,将离散余弦变换后的数据按照zig-zag扫描顺序将二维8×8数据转成一维数据,再进行编码。

其中,步骤ss07中码流存入双倍速率同步动态随机存储器中的方法为:每个图像块编码结束,根据当前图像块在码流中的起始地址和编码长度,计算出下一单元的起始地址,存入双倍速率同步动态随机存储器中;下一单元的起始地址的计算方法为:addr_next=起始地址+编码长度。

一种视频编码带宽的优化电路,电路包括图像分块模块、截尾编码模块、末位补齐解码模块、块内预测模块、霍夫曼编码和解码模块、内存管理模块。其中,图像分块模块用于对参考帧进行分块处理;截尾编码模块、末位补齐解码模块用于对分块处理后的图像数据进行预测编码、初步压缩、补齐解码;块内预测模块包括八种预测方式,截断后的图像数据根据编码器帧内预测模式的判决结果,选用最佳的预测方式,减少图像空间冗余,提要压缩效率;霍夫曼编码和解码模块用于将8×8的残差矩阵做离散余弦变换、量化和熵编码;内存管理模块用于处理截尾移出数据、残差数据和图像块地址表数据空间的地址管理以及地址表的更新。

一种视频编码带宽的优化电路及其优化方法,通过帧压缩设计方法实现带宽优化,对整数运动估计、分数运动估计和运动补偿不同的数据和带宽需求采用不同的数据压缩策略,达到更好的效果;针对整数运动估计、分数运动估计和运动补偿不同的数据精度和带宽需求,将像素数据分成两个部分,有损压缩数据给整数运动估计做运动搜索,无损压缩给分数运动估计和运动补偿使用,满足视频编码的低带宽的需求。

一种视频编码带宽的优化电路及其优化方法,利用了视频编码器中运动搜索的特性,编码器中整数运动估计模块对带宽的需求是最大的,而使用7位的像素进行运动搜索对视频质量的影响很小,即使压缩1位对带宽利用的提升都非常显著;利用了图像相邻像素极大相关性,截掉1位后的像素值获得更小的动态范围变化,进行预测后得到更多的零,有效提高霍夫曼编码的压缩率,压缩率定义为压缩后的数据大小/源数据大小。

通过大量的视频序列测试结果表明,本发明无损压缩(无位宽截断)能达到45%的压缩率,1bit截断的有损压缩能达到30%的压缩率;以1080p、搜索范围(-128,127)的视频序列为例,双倍速率同步动态随机存储器读带宽有效减少20%,双倍速率同步动态随机存储器写带宽减少54%,而读带宽占了整个带宽的83%,综合结果带宽降低了25%。

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

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