利索能及
我要发布
收藏
专利号: 2022104471376
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-01-15
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种实现LCEVC视频编码优化的方法,其特征在于:包括以下步骤:S1:对于给定的输入视频,采用基于Modifiedcubic插值信息的分块下采样方法获取最优的下采样输出;

S2:将步骤S1中所述的基于Modifiedcubic插值信息的分块下采样方法嵌入到LCEVC编码器中,对LCEVC中各个模块分别统计耗时并进行耗时分析,通过耗时分析结果设计一种基于CPU‑GPU异构平台的LCEVC编码器框架;所述步骤S2具体包括以下步骤:S21:将步骤S1中所述基于Modifiedcubic插值信息的分块下采样方法嵌入到LCEVC编码器中;

S22:选取一组视频序列,对LCEVC编码器在多核CPU上进行多次串行运行测试,求平均数得到每一帧的平均消耗时间,从而得到LCEVC编码器各个模块的耗时占比;

S23:通过步骤S22中LCEVC编码器各个模块的耗时占比,设计一种基于CPU‑GPU异构平台的LCEVC编码器框架,CPU和GPU之间的通信采用复制数据的方式实现,CPU负责处理的部分包括:

1)负责读取图像数据,负责将输入视频序列和基本编码器生成的Y、U、V分量数据读入到CPU内存中,并将数据复制后传递到GPU的显存中;

2)负责读取编码配置文件;

3)负责输出基本编码器的编码视频、输出重建视频序列、输出码流,负责重建视频PSNR的计算以及GPU线程的调度;

对于数据相关性比较低的模块,根据各个模块不同的算法处理过程设计相应的并行优化算法;

S3:根据S2中基于CPU‑GPU异构平台的LCEVC编码器框架对LCEVC标准中的上采样、改进后的下采样、变换与量化、反变换与反量化、熵编码模块进行并行优化设计,在PC端实现实时低复杂度增强视频编码;所述步骤S3具体包括:S31:对上采样模块并行化处理;采用GPU对上采样插值进行并行实现;上采样并行化具体实现方法如下:S311:将需要上采样的图像从CPU内存中复制到GPU的全局内存中,并将插值系数矩阵复制到常量内存中;

S312:对输入的图像上下边界进行填充,将填充后的图像平均分成64个块,块的高度为U_PicHeight/8,宽度为U_PicWidth/8,其中U_PicHeight和U_PicWidth分别表示待插值视频图像的宽度和长度,然后将图像按照分块分别读入到共享内存中;

S313:分配线程块和线程,分配的block数为8,thread数为8;

S314:每个线程读取共享内存中所需要的像素值,并从常量内存中读取插值系数进行插值运算,经过cudaDeviceSynchronize()函数同步后,将每个块的插值结果保存到全局内存中;

S315:最后将GPU全局内存中的上采样结果复制给CPU内存以供后续数据处理使用;

S32:将下采样的输入图像分为8×8的块进行并行处理;在GPU中,分配的block数为Pic_Height/8,thread数为Pic_Width/8,其中Pic_Height和Pic_Width分别表示下采样输入图像的高和宽;

S33:对变换与量化模块进行并行化处理;LCEVC提供两种变换方式,2×2的变换或者4×4的变换;在并行优化之前,对LCEVC中的变换方式采用蝶形变换;2×2的变换公式改写为如下形式:LCEVC中变换过程的输入数据是预测残差,对于2×2变换或者4×4变换,变换后会将变换系数解析成层;

对于4×4的变换,首先将残差数据分为4×4的块,然后每个块根据变换矩阵进行蝶形变换,最后将变换系数的数据解析为层;变换后采用并行计算对量化模块进行优化;GPU中分配的block数为4,thread数为4;4×4变换在GPU上实现的具体步骤包括:

1)把残差数据从CPU中复制到GPU的全局内存中,然后将原始图像分成4×4的块;

2)分配block和thread数目,block数为4,thread数为4;

3)每个线程根据分配的线程号来读取全局内存中块的数据信息,然后对各个块做蝶形变换,将得到的变换系数解析为层;处理数据的过程中,使用_syncthreads()函数进行同步;量化过程的输入是变换系数,量化过程的输入数据为Tin[layer][y][x],对于4×4的变换来说,layer为16,采取完全并行的方式进行量化优化;

S34:对反变换、反量化的并行优化方式与S33相同;

S35:对熵编码模块中的游程编码和哈夫曼编码并行处理;步骤S35中,以L‑1层的U1和V1为基准,将layer中较大的数据块分割为和W/16×H/16相同大小的数据,分配的block数为16个,分配的thread数目为30个,使用一个thread处理一个W/16×H/16大小的数据块,基于GPU的熵编码并行优化的具体实现方法为:

1)从CPU内存中将需要量化的输出数据复制传递给GPU的全局内存;

2)将熵编码输入的数据按照W/16×H/16大小的数据块分块读入共享存储器;

3)每个线程从共享储存器中读取所需要的数据进行游程编码和哈夫曼编码,使用cudaDeviceSynchronize()函数等待所有线程都处理完成,将编码数据按序传入全局内存中;

通过GPU并行计算得到熵编码结果,将熵编码数据复制传递给CPU的内存,在写入二进制码流文件时直接使用熵编码输出数据;

S36:在PC端的GPU平台上实现S31到S35中的并行优化算法,进而实现对LCEVC编码器的加速,实现实时的低复杂度增强视频编码。

2.根据权利要求1所述的实现LCEVC视频编码优化的方法,其特征在于:所述步骤S1中,设输入视频序列为Y,下采样后的图像为X,通过基于Modifiedcubic插值信息的分块下采样*方法求得最优的下采样输出X,具体包括以下步骤:

S11:设Y'为X插值后的图像,H为插值系数,Φ为插值系数和对应的像素值的乘积组成的矩阵,X最优解的闭式解为:* T ‑1 T

X=(HH) [H(Y‑Φ)]

T ‑1 T T ‑1

其中(HH) 是(HH)的逆矩阵,(HH) 为满秩矩阵;

对Y采用8×8分块进行处理;

*

S12:将所有的4×4最优的下采样块X按照分块顺序合并在一起即为最终的下采样图像的输出结果。