硬件视频编码器在预处理流程中的时域滤波方法、装置及计算机程序产品与流程
本发明涉及视频编码与硬件加速,具体而言,涉及一种硬件视频编码器在预处理流程中的时域滤波方法、装置及计算机程序产品。
背景技术:
1、硬件视频编码器是针对视频数据处理而设计的专用器件,相比纯软件视频编码器,其具备更高效的视频处理性能。在视频会议、直播推流、在线游戏等对实时性要求严苛的场景中,这类硬件能够以更高的处理速率和更低的传输延迟完成视频编解码任务,同时还能有效降低设备功耗,兼顾高性能与节能需求。目前,为了提高视频压缩效率,视频编码通常会采用帧间预测,即让高时间层的帧参考低时间层的帧,从而减少时间冗余。如果在视频编码之前先进行预处理去除噪声,那么帧间预测的效率将大幅提升。
2、运动补偿时域滤波是一种通过充分利用相邻帧之间的相关信息进行运动估计、插值、运动补偿和滤波,对低时间层的帧起到去除噪声作用的预处理技术。该技术已逐渐被引入到各种软件视频编码器中。然而,对于硬件视频编码器而言,引入运动补偿时域滤波存在多种实现路径,各类路径均面临各自的限制。
3、现有技术中,存在一类采用通用处理器以软件方式实现运动补偿时域滤波的方案。该类方案中,运动补偿时域滤波算法由中央处理器执行,滤波后的图像数据再传递给硬件视频编码核进行编码。由于运动补偿时域滤波涉及的数据量与运算量庞大,软件实现的处理速度会明显慢于硬件视频编码核的处理速度。为了匹配硬件的编码速度,常常需要减小运动搜索的范围或选择计算量更小的插值与滤波方式,导致滤波结果不理想。同时,通用处理器执行运动补偿时域滤波算法的功耗也相对较高。
4、现有技术中,还存在一类将运动补偿时域滤波以独立硬件模块形式实现并与硬件视频编码核连接的方案。该类方案中,运动补偿时域滤波所需的各个功能单元均以独立硬件模块的形式实现,包括独立的下采样模块、运动搜索模块与插值模块等。由于这些功能模块需要单独设计与实现,硬件面积开销较大,增加了整体硬件成本。
5、因此,需要一种低面积开销且输入信息充分的运动补偿时域滤波硬件实现方案。
技术实现思路
1、为解决上述现有技术中存在的技术问题,本发明提供了一种硬件视频编码器在预处理流程中的时域滤波(motion compensation temporal filter,mctf)方法,包括:获取待滤波的当前帧;复用硬件视频编码器中的粗运动估计模块、精细化优化运动估计模块和分数级运动估计模块,对待滤波的当前帧执行运动补偿时域滤波所需的下采样和运动搜索;复用硬件视频编码器中的率失真优化模块,对待滤波的当前帧执行运动补偿时域滤波所需的插值和运动补偿;对待滤波的当前帧执行滤波处理,获得滤波帧;将滤波帧存入动态随机存取存储器,以作为编码输入帧。
2、现有技术中,硬件视频编码器引入运动补偿时域滤波时,软件实现方式处理速度受限且功耗较高,独立硬件模块方式面积开销较大,而简化设计的独立方案可利用的输入信息有限。本发明通过复用硬件视频编码器中已有的粗运动估计模块、精细化优化运动估计模块、分数级运动估计模块和率失真优化模块,分别承担运动补偿时域滤波所需的下采样、运动搜索、插值和运动补偿功能,运动补偿时域滤波所需面积开销最大的工具均已包含在复用模块中,由此大幅减少了实现运动补偿时域滤波所需的硬件面积开销,同时由于复用了完整的编码模块,能够获取到更丰富的编码信息用于提升滤波性能,从而以低面积开销且输入信息充分的方式实现了运动补偿时域滤波的硬件化。
3、可选地,对待滤波的当前帧执行滤波处理,获得滤波帧,包括:获取待滤波的当前帧中当前编码块的原始像素、插值后的最优帧间预测像素、块划分结果和量化参数;基于原始像素、插值后的最优帧间预测像素、块划分结果和量化参数,采用双边滤波对待滤波的当前帧执行滤波处理,得到滤波后像素;将滤波后像素作为滤波帧存入动态随机存取存储器。由此,滤波处理能够充分利用编码块级别的原始像素、最优帧间预测像素、块划分结果和量化参数等多维编码信息,提升了滤波效果,增强了编码质量。
4、可选地,对待滤波的当前帧中8x8、16x16和32x32三种大小的编码块均执行运动预测与率失真优化判决,将最优块划分对应的预测块作为滤波处理的输入;率失真优化判决中的变换采用离散余弦变换、离散正弦变换或哈达玛变换。由此,通过多种块大小的运动预测与率失真优化判决获得最优块划分结果,避免了固定块大小导致的滤波效果不佳问题,进一步提升了滤波效果。
5、可选地,将帧序列组织为每4帧一组的图像组,组内帧类型按i-b-i-i排布,其中i帧为完整帧,i帧无需执行滤波处理,b帧为双向参考帧,b帧需被执行滤波处理以使得每4帧执行1次时域滤波方法,图像组支持所有gop长度为4的倍数的随机访问图像组;在编码步骤前执行帧类型判断,当当前帧为b帧时从动态随机存取存储器获取滤波帧作为编码输入帧,否则从原始图像数据获取原始帧。由此,通过i-b-i-i图像组架构明确了i帧与b帧的滤波语义,使得每4帧执行1次时域滤波,并能够与所有gop长度为4的倍数的随机访问图像组契合,保证了时域滤波与编码步骤之间的帧类型对齐。
6、可选地,在时域滤波方法启动时先统计2帧无效帧,使时域滤波方法处理的帧的帧索引与编码步骤的帧索引建立偏移量为2帧的偏移关系;当编码步骤在帧索引n位置插入帧内帧时,在时域滤波方法处理的帧的对应位置插入完整帧,对应位置根据偏移关系确定为时域滤波方法处理的帧的帧索引n+2的位置。由此,通过统计2帧无效帧建立了时域滤波方法处理的帧与编码步骤的帧之间的索引偏移关系,在编码步骤插入帧内帧刷新图像组时,时域滤波方法能够在对应位置插入完整帧以实现对齐,保证图像组刷新后接入新的i-b-i-i图像组,提升了帧结构的稳定性与鲁棒性。
7、可选地,在动态随机存取存储器中保留至少一帧共享空间;当时域滤波方法完成滤波将滤波帧存储进共享空间后,时域滤波方法拉起完成滤波信号并暂停执行滤波;编码步骤接收到完成滤波信号后拉低该信号并开始工作,当被滤波帧编码完成后拉起滤波图像编码完成信号并停止工作;时域滤波方法读取到滤波图像编码完成信号后拉低该信号并开始下一帧滤波。由此,通过完成滤波信号与滤波图像编码完成信号的双信号握手机制,实现了时域滤波方法与编码步骤之间的同步,保证了滤波帧数据在共享空间中的稳定传输。
8、可选地,获取待滤波的当前帧的原始像素;对原始像素先执行离散余弦变换或离散正弦变换,然后依次执行量化、反量化和反变换,获得重建像素;基于原始像素与重建像素之差,计算率失真值;将率失真值用于时域滤波方法的滤波强度优化,以确定滤波处理的滤波强度。现有技术中,常规的运动补偿时域滤波由于没有变换量化模块,率失真值只能通过原始像素直接与预测像素相减获得,无法反映变换与量化失真对滤波效果的影响。本发明中,由于复用了完整的率失真优化模块,率失真值基于原始像素减去经过变换、量化、反量化、反变换后的重建像素计算获得,综合反映了变换与量化失真产生的影响,由此能够对每个编码块的滤波强度做出更优的选择,提升了滤波效果。
9、可选地,当编码步骤的率失真优化完成且下一帧为滤波帧时,预切换粗运动估计模块、精细化优化运动估计模块和分数级运动估计模块的输入数据源至运动补偿时域滤波参考帧。由此,通过预切换机制在编码步骤的率失真优化完成且下一帧为滤波帧时提前切换模块输入数据源,消除了流水线气泡,避免了滤波帧等待模块释放的时隙冲突,提升了硬件复用效率。
10、可选地,获取率失真优化模块计算的率失真值与编码步骤的量化参数;基于率失真值与量化参数,计算双边滤波参数,双边滤波参数包括空间域滤波参数与容差域滤波参数,空间域滤波参数与容差域滤波参数基于率失真值与量化参数通过闭式函数计算。现有技术中,双边滤波参数通常采用固定设置或离线查表方式确定,滤波强度对内容适配性较差。本发明中,双边滤波参数基于率失真值与量化参数通过闭式函数计算,使得滤波强度能够按当前帧的率失真状态自适应确定,提升了滤波效果与内容适配性。
11、可选地,统计率失真值的均值与方差;基于率失真值的均值与方差,计算双边滤波参数。由此,通过统计率失真值的均值与方差,抑制了单点率失真值受离群值影响的问题,使得双边滤波参数的计算更加鲁棒。
12、可选地,对率失真值与量化参数执行乘法与除法,并查询预存储的平方根查找表获得平方根结果,乘法与除法为16位定点运算,双边滤波参数的输出为10位定点数。由此,通过16位定点运算与平方根查找表实现了双边滤波参数的硬件计算,避免了浮点运算的高实现成本,使得解析映射在硬件上可行,降低了实现成本。
13、可选地,将帧类型信息物理编码于动态随机存取存储器的地址空间;动态随机存取存储器包括第一存储区和第二存储区,第一存储区存储原始帧,第二存储区存储滤波帧;编码步骤的取数源由地址高位自动路由,当当前帧索引的低2位为00时地址高位指向第二存储区,否则指向第一存储区。现有技术中,常规单缓冲动态随机存取存储器不区分原始帧与滤波帧,取数需额外取数控制逻辑区分帧类型,导致控制复杂度与面积开销增加。本发明中,帧类型信息经地址空间物理编码,取数源由地址高位自动路由至对应存储区,无需额外取数控制逻辑,降低了控制复杂度与面积开销。
14、可选地,配置n个信用令牌;每完成一帧滤波,消耗1个信用令牌;编码步骤每消费一帧,返还1个信用令牌;当信用令牌计数为0时,暂停时域滤波;当信用令牌计数为n时,暂停编码步骤;信用令牌数n=2,信用令牌计数位宽为2bit;帧计数器位宽为16bit。现有技术中,时域滤波流程与编码步骤双流程共享动态随机存取存储器,无流控机制时滤波侧供数速率与编码侧消费速率失配可导致缓冲区溢出或数据冲突。本发明中,通过信用令牌机制实现了时域滤波与编码步骤之间的双向流控,避免了缓冲区溢出与数据冲突,且双向暂停无需额外握手信号。
15、可选地,获取待滤波的当前帧对应的量化误差能量和频域分布;根据量化误差能量和频域分布确定滤波处理的滤波强度;以滤波强度对待滤波的当前帧执行滤波处理;量化误差能量位宽为16bit。现有技术中,运动补偿时域滤波的滤波强度固定或粗略调整,量化误差大处欠滤波导致噪声残留,量化误差小处过滤波导致纹理细节模糊。本发明中,按量化误差能量与频域分布联合自适应确定滤波强度,量化误差大且平坦区域强滤波去除噪声,量化误差小或纹理丰富区域弱滤波或旁路保留纹理细节,由此提升了滤波效果。
16、可选地,所述粗运动估计模块、精细化优化运动估计模块和分数级运动估计模块可替换为所述硬件视频编码器中现有的帧间预测模块,以执行所述下采样和运动搜索。
17、可选地,所述滤波处理可采用双边滤波以外的滤波方式,包括但不限于高斯滤波、中值滤波或维纳滤波,以对所述待滤波的当前帧执行滤波处理。
18、本发明还提供了一种硬件视频编码器,包括:粗运动估计模块、精细化优化运动估计模块和分数级运动估计模块,用于对待滤波的当前帧执行运动补偿时域滤波所需的下采样和运动搜索;率失真优化模块,用于对待滤波的当前帧执行运动补偿时域滤波所需的插值和运动补偿;滤波处理模块,用于对待滤波的当前帧执行滤波处理,获得滤波帧;动态随机存取存储器,用于存储滤波帧,以作为编码输入帧。
19、现有技术中,硬件视频编码器引入运动补偿时域滤波时,软件实现方式处理速度受限且功耗较高,独立硬件模块方式面积开销较大,且依赖外部存储器与独立计算单元导致数据搬运开销大、模块利用率低。本发明通过复用硬件视频编码器中已有的粗运动估计模块、精细化优化运动估计模块、分数级运动估计模块和率失真优化模块,分别承担运动补偿时域滤波所需的下采样、运动搜索、插值和运动补偿功能,仅需新增滤波处理模块即可实现运动补偿时域滤波,由此降低了数据搬运开销,提升了模块复用率,大幅减少了硬件面积开销。
20、可选地,滤波处理模块还用于:获取待滤波的当前帧中当前编码块的原始像素、插值后的最优帧间预测像素、块划分结果和量化参数;基于原始像素、插值后的最优帧间预测像素、块划分结果和量化参数,采用双边滤波对待滤波的当前帧执行滤波处理,得到滤波后像素;将滤波后像素作为滤波帧存入动态随机存取存储器。由此,滤波处理模块能够充分利用编码块级别的多维编码信息执行双边滤波,提升了滤波帧与编码质量的匹配度。
21、可选地,动态随机存取存储器包括第一存储区和第二存储区,第一存储区存储原始帧,第二存储区存储滤波帧;帧类型信息物理编码于动态随机存取存储器的地址空间;编码步骤的取数源由地址高位自动路由,当当前帧索引的低2位为00时地址高位指向第二存储区,否则指向第一存储区。由此,帧类型信息经地址空间物理编码,取数源由地址高位自动路由至对应存储区,简化了路由机制,降低了管理开销。
22、可选地,还包括信用令牌计数单元,信用令牌计数单元用于:配置n个信用令牌;每完成一帧滤波,消耗1个信用令牌;编码步骤每消费一帧,返还1个信用令牌;当信用令牌计数为0时,暂停时域滤波;当信用令牌计数为n时,暂停编码步骤;信用令牌数n=2,信用令牌计数位宽为2bit;帧计数器位宽为16bit。由此,通过信用令牌计数单元实现了时域滤波与编码步骤之间的双向流控,避免了速率失配导致的数据积压或模块空转。
23、此外,本发明还提供了一种计算机程序产品或一种计算机可读存储介质,其具有计算机程序。计算机程序被处理器执行时实现上述时域滤波方法的步骤。
24、综上所述,本发明通过复用硬件视频编码器中已有的粗运动估计模块、精细化优化运动估计模块、分数级运动估计模块和率失真优化模块实现运动补偿时域滤波所需的下采样、运动搜索、插值和运动补偿功能,仅需新增滤波处理模块即可完成运动补偿时域滤波,大幅降低了硬件面积开销;同时,由于复用了完整的编码模块,能够获取到块划分结果、量化参数、率失真值等丰富的编码信息,并进一步通过率失真值驱动双边滤波参数自适应计算、量化误差能量与频域分布联合确定滤波强度等方式提升滤波性能;此外,通过i-b-i-i图像组架构、帧索引偏移对齐、双信号握手、地址空间物理编码与信用令牌流控等机制,保证了时域滤波流程与编码步骤之间高效稳定的交互与数据传输。由此,本发明以低面积开销且输入信息充分的方式实现了运动补偿时域滤波的硬件化,有效解决了现有技术中存在的技术问题。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com