HDRVivid视频解码后处理的方法及解码器技术

技术编号:36530800 阅读:87 留言:0更新日期:2023-02-01 16:13
本发明专利技术公开了一种HDRVivid视频解码后处理的方法及解码器,其中方法包括以下步骤:将待后处理的YUV数据划分为N个Slice,N根据设备能力及图像大小设置;创建并申请输出帧V210存储内存块;将GPU资源抽象成不同的能力类型,包括H2D拷贝,CU通用计算和D2H拷贝;创建独立的线程模块进行HDRVivid映射曲线参数参生成计算;申请H2D拷贝能力资源,执行YUV数据从内存拷贝至显存操作;从曲线参数生成模块获取当前帧的HDRVivid曲线参数生成结果;申请CU通用计算能力资源,执行Vivid后处理核心计算流程;申请D2H拷贝能力,执行V210数据从显存拷贝至指定内存操作;对同一帧视频的多个Slice执行同步SDI输出处理。步SDI输出处理。步SDI输出处理。

【技术实现步骤摘要】
HDR Vivid视频解码后处理的方法及解码器


[0001]本专利技术属于音视频编解码
,具体涉及一种HDRVivid视频解码后处理的方法及解码器

技术介绍

[0002]在高动态范围(High

Dynamic Range,HDR)Vivid超高清端到端系统中,需要有参考解码器对输出码流进行监看,用以监控HDR Vivid码流实际终端播放效果。HDR Vivid码流的播放监看区别于传统的专业解码器在于,解码器需要根据目标显示屏幕的亮度范围,对解码后的图像进行HDR Vivid后处理,才能正确显示HDR Vivid码流的实际终端播放效果。
[0003]一般情况下节目制作端的码流可以通过HDR Vivid认证的终端播放终端播放作为参考显示效果,但是由于每个终端屏幕只有一种屏幕参数,只能模拟显示一种屏幕显示效果,无法覆盖海量的终端。另一方面,前端监看设备作为参考解码器,需要有比较高的播放处理还原度和显示精度,需要排除各个可能引起显示误差的环节,由于屏幕和设备个体差异,无法保证播放终端当前效果是否和原始HDR Vivid的后处理效果一致。最后,HDR Vivid后处理是一种图像色调映射技术,需要根据码流中的元数据,实时对每帧图像进行色调映射处理,计算量较大,尤其在4K/8K超高清应用中,一些终端无法实现实时播放。
[0004]本专利技术实现了一种HDR Vivid解码后处理方法与装置,该专利技术基于CPU+GPU混合架构,对解码流程和HDR Vivid后处理流程进行充分优化和模块并行化拆分,实现了HDR Vivid码流效果的高精度还原,通过合理的设备硬件配置,实现超高清4K/8K HDR Vivid后处理实时播放监看,通过输入不同的目标屏幕参数,可以实现各类屏幕的参考后处理显示效果的监看,填补了行业空白,并推动HDRVivid标准的普及和降低开发验证成本。

技术实现思路

[0005]本专利技术要解决的技术问题是提供一种HDR Vivid视频解码后处理的方法及解码器,可以实现较低成本的8K超高清HDR Vivid后处理实时解码监看。
[0006]为解决上述技术问题,本专利技术采用如下的技术方案:
[0007]本专利技术实施例一方面提供一种HDR Vivid视频解码后处理的方法,包括以下步骤:
[0008]将待后处理的YUV数据划分为N个Slice,N根据设备能力及图像大小设置;
[0009]创建并申请输出帧V210存储内存块;
[0010]将GPU资源抽象成不同的能力类型,包括H2D拷贝,CU通用计算和D2H拷贝,所述H2D拷贝用于YUV数据从内存拷贝到显存;所述CU通用计算用于Vivid后处理计算;所述D2H拷贝用于V210数据从显存拷贝到内存;为每种能力建立一个计算能力资源池,分别建立一个空闲资源列表及一个已使用资源列表,形成一个总的GPU能力资源池,外部通过申请空闲资源执行相应操作,否则等待资源释放;
[0011]创建独立的线程模块进行HDR Vivid映射曲线参数参生成计算;
[0012]申请H2D拷贝能力资源,执行YUV数据从内存拷贝至显存操作;
[0013]从曲线参数生成模块获取当前帧的HDR Vivid曲线参数生成结果。
[0014]申请CU通用计算能力资源,执行Vivid后处理核心计算流程;
[0015]申请D2H拷贝能力,执行V210数据从显存拷贝至指定内存操作;
[0016]对同一帧视频的多个Slice执行同步SDI输出处理。
[0017]优选地,Slice的划分通过计算获取每个Slice的每个YUV分量的首地址及大小实现。
[0018]优选地,Slice的划分通过计算获取每个Slice的每个YUV分量的首地址及大小实现包括:
[0019]在初始化的时候根据图像大小和YUV色彩空间格式,计算每个YUV分量数据总大小Y_len,U_len和V_len,根据总大小计算每个分量的Slice分块大小Y_chunk=Y_len/N,U_chuk=U_len/N,V_chunk=V_len/N,保存以上数据;在每帧图像处理前,获取Y、U、V分量的首地址,根据每个分量的首地址和初始化计算的Slice分块大小,计算得到每个YUV分量每个Slice的首地址和分块大小。
[0020]优选地,V210为packed存储格式,一帧图像通过一整块连续内存表示,通过创建V210数据块的首地址和图像大小,计算出每个Slice目标首地址。
[0021]优选地,所述外部通过申请空闲资源执行相应操作,否则等待资源释放包括:应用调度层对于图像的每个Slice,串行依次执行H2D拷贝,Vivid后处理计算和D2H拷贝三个子计算过程,每执行一个过程,便从相应的GPU空闲资源队列获取计算资源进行处理,同时将空闲队列的计算资源移入已使用资源队列,如果空闲队列空则等待已使用资源释放回空闲队列再执行上述操作,每个Slice的子计算过程完成后,再把相应的计算资源释放回空闲队列;对于每个Slice内部,三个子计算步骤串行执行,多个Slice间则并行执行,共享计算资源。
[0022]优选地,所述创建独立的线程模块进行HDR Vivid映射曲线参数参生成计算包括:
[0023]创建一个独立的线程模块,在视频码流解析过程把相应元数据解析完后交给所述线程模块处理,所述线程模块计算得到HDR Vivid映射曲线参数,并把输出结果根据帧序号进行存储,最后在HDR Vivid后处理计算过程从该线程模块获取当前帧的曲线参数计算结果,实现包括曲线计算过程和视频解码、图像格式转换及电光转换过程的异步并行执行。
[0024]本专利技术实施例又一方面提供一种解码器,用于执行上述任一的HDR Vivid视频解码后处理方法,基于服务器CPU和GPU的混合架构实现。
[0025]优选地,将待后处理的YUV数据划分为N个Slice;创建并申请输出帧V210存储内存块;创建独立的线程模块进行HDR Vivid映射曲线参数参生成计算;对同一帧视频的多个Slice执行同步SDI输出处理在CPU中进行。
[0026]优选地,将GPU资源抽象成不同的能力类型,包括H2D拷贝,CU通用计算和D2H拷贝,所述H2D拷贝用于YUV数据从内存拷贝到显存;所述CU通用计算用于Vivid后处理计算;所述D2H拷贝用于V210数据从显存拷贝到内存;为每种能力建立一个计算能力资源池,分别建立一个空闲资源列表及一个已使用资源列表,形成一个总的GPU能力资源池,外部通过申请空闲资源执行相应操作,否则等待资源释放;申请H2D拷贝能力资源,执行YUV数据从内存拷贝至显存操作;从曲线参数生成模块获取当前帧的HDR Vivid曲线参数生成结果;申请CU通用
计算能力资源,执行Vivid后处理核心计算流程;申请D2H拷贝能力,执行V210数据从显存拷贝至指定内存操作由GPU完成。
[0027]采用本专利技术具有如下的有益效果:本专利技术通过CPU+多GPU异构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种HDR Vivid视频解码后处理的方法,其特征在于,包括以下步骤:将待后处理的YUV数据划分为N个Slice,N根据设备能力及图像大小设置;创建并申请输出帧V210存储内存块;将GPU资源抽象成不同的能力类型,包括H2D拷贝,CU通用计算和D2H拷贝,所述H2D拷贝用于YUV数据从内存拷贝到显存;所述CU通用计算用于Vivid后处理计算;所述D2H拷贝用于V210数据从显存拷贝到内存;为每种能力建立一个计算能力资源池,分别建立一个空闲资源列表及一个已使用资源列表,形成一个总的GPU能力资源池,外部通过申请空闲资源执行相应操作,否则等待资源释放;创建独立的线程模块进行HDR Vivid映射曲线参数参生成计算;申请H2D拷贝能力资源,执行YUV数据从内存拷贝至显存操作;从曲线参数生成模块获取当前帧的HDR Vivid曲线参数生成结果;申请CU通用计算能力资源,执行Vivid后处理核心计算流程;申请D2H拷贝能力,执行V210数据从显存拷贝至指定内存操作;对同一帧视频的多个Slice执行同步SDI输出处理。2.如权利要求1所述的HDR Vivid视频解码后处理的方法,其特征在于,Slice的划分通过计算获取每个Slice的每个YUV分量的首地址及大小实现。3.如权利要求2所述的HDR Vivid视频解码后处理的方法,其特征在于,Slice的划分通过计算获取每个Slice的每个YUV分量的首地址及大小实现包括:在初始化的时候根据图像大小和YUV色彩空间格式,计算每个YUV分量数据总大小Y_len,U_len和V_len,根据总大小计算每个分量的Slice分块大小Y_chunk=Y_len/N,U_chuk=U_len/N,V_chunk=V_len/N,保存以上数据;在每帧图像处理前,获取Y、U、V分量的首地址,根据每个分量的首地址和初始化计算的Slice分块大小,计算得到每个YUV分量每个Slice的首地址和分块大小。4.如权利要求3所述的HDR Vivid视频解码后处理的方法,其特征在于,V210为packed存储格式,一帧图像通过一整块连续内存表示,通过创建V210数据块的首地址和图像大小,计算出每个Slice目标首地址。5.如权利要求1所述的HDR Vivid视频解码后处理的方法,其特征在于,所述外部通过申请空闲资源执行相应操作,否则等待资源释放包括...

【专利技术属性】
技术研发人员:石小明许国忠韩继涛
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1