一种基于无人机的自适应视频编码方法
- 国知局
- 2024-09-05 14:21:36
本发明涉及无人机视频编码相关,尤其是指一种基于无人机的自适应视频编码方法。
背景技术:
1、无人机(unnamed aerial vehicle,uav)作为一种新型低空飞行器,在军用和民用等多个领域的重要性与日俱增。视频编码在无人机视频侦察分析中发挥了关键作用,实时的视频采集与编码能够让指挥人员及时获取战场中的情报信息。通过研发高可靠低时延的视频编码算法,可以有效提升无人机的作战效能。
2、视频文件的体积不断增大,然而无线传输的带宽资源十分有限,机载嵌入式系统的存储空间也相对不足,因此需要对视频进行编码压缩以减少冗余信息,从而实现视频的高效存储和传输。然而目前针对无人机侦察视频领域的码率控制技术研究较少,主流的hevc/h.265编码方法应用在无人机航拍场景时存在一些局限,包括:
3、(1)无人机的视频数据在传输过程中会受到存储和带宽的限制,而视频压缩会导致视频质量的下降,如何在二者之间达成平衡需要进一步解决。
4、(2)无人机在常态侦查时,采集的大量视频实质上是冗余或无用信息,尤其是在执行空对空或空对地侦察任务时,目标物体往往仅占画面中的微小比例,而背景占据了绝大部分视觉区域。传统编码算法采用统一的参数处理整个视频片段,缺乏针对不同场景、区域和内容的编码优化,导致有限的带宽资源可能因非关键区域的过度分配而产生浪费。
5、李家璇[1]提出了一种基于目标检测算法的视频压缩方法,通过目标检测算法对采集画面进行检测,采用变步长的策略控制图像中不同区域的码率,进而调节图像质量。然而,该策略依赖于预先定义的大、中、小步长参数,这种设定方式较为粗放,难以细腻地适应内容变化,导致视频质量波动明显,连续性不佳。特别是针对无人机动态拍摄场景,此方法容易引发瞬时画面停滞现象,影响观看流畅度。
6、发明目的
7、针对上述问题,本发明以h.265/hevc编码控制标准为研究对象,提出了一种基于无人机的自适应视频编码方法(adaptive coding control based on object detection,acc-od),相较于变步长的策略,采用公式计算法,将视频图像分为若干层级,并通过各层级对应的公式确定图像中不同区域的码率,从而进一步减少视频文件体积,并提升无线带宽资源的利用率,改善视频编码系统的性能。
技术实现思路
1、为了实现上述目的,本发明采用以下技术方案:
2、本发明提供的一种基于无人机的自适应视频编码方法,通过视觉注意力机制设计了基于感兴趣区域(region of interest,roi)视频编码策略,通过目标检测模型提取图像中roi特征,然后根据roi特征计算编码权重因子,利用权重因子和roi特征的公式逐级计算frame层、roi层和cu层的目标比特及量化参数,实现对图像质量的精细化控制。具体主要包括以下步骤:
3、(1)选择适用于无人机航拍场景的目标检测模型,将目标检测模型移植到无人机机载系统,运行检测模型,通过目标检测功能获取视频中的感兴趣区域。
4、(2)设计并运行基于目标检测的编码控制功能模块,针对视频图像中感兴趣区域,结合人类视觉注意力机制,采用相应的视频编码策略,即基于roi的视频编码策略。
5、(3)构建并运行自适应的视频编码控制模型,该模型能够根据不同场景和目标动态地调整视频编码参数,以解决固定信源参数编码导致带宽资源利用率低的问题。
6、(4)运行自适应编码模型中的分层控制算法,执行帧级(frame)编码控制,根据目标检测的结果分别计算每帧图像的目标比特以及量化参数。
7、(5)在得到的frame级目标比特的结果后,进一步细化编码控制层级,对检测出的感兴趣区域(roi)进行差异化编码,计算一帧图像中roi和nroi的目标比特和量化参数,以优先保证关键信息的清晰度和完整性。
8、(6)在得到的roi级目标比特的结果后,通过自适应编码模型在编码单元(cu)层面进行细化控制,针对每个编码单元灵活分配比特资源,并计算cu级的量化参数,通过各级的目标比特和量化参数得到相应的编码控制参数,以最大化视频编码的效率和画质表现。
9、进一步的,所述步骤(1)包括:
10、(1.1)根据无人机的硬件系统,选择适用于航拍检测的yolov3目标检测模型。
11、(1.2)采用nwpu数据集对目标检测模型进行训练,并将目标检测模型移植到机载硬件系统中,配置并运行yolov3目标检测模型,导入精选后的含飞机、汽车和船舶的测试数据集,验证系统的目标检测能力。
12、进一步的,所述步骤(1.2)包括:
13、第1步:设置参数,包括nnie内核id、画面帧地址和最大roi数,初始化硬件单元,包括设置工作时钟频率和运行模式。
14、第2步:加载yolov3模型,将yolov3目标检测模型加载到系统硬件单元中,初始化模型参数,配置网络推理参数,包括输入和输出图像帧的大小、模型输入数据的预处理和后处理方式、推理的批处理大小等。
15、第3步:读取视频画面帧,与主线程中的视频预处理模块进行线程间通信,获取该模块地址空间中的视频画面帧副本,执行神经网络推理任务,将输入数据传递给硬件加速器。
16、第4步:获取检测结果,对硬件单元返回的推理结果进行后处理,以获取最终的预测或输出,并将检测的目标物体转换为区域大小和坐标等参数。
17、进一步的,所述步骤(2)包括:
18、(2.1)采用h.265/hevc编码标准。
19、(2.2)由于无人机航拍在军事领域应用时,视频中感兴趣区域(region ofinterest,roi)往往是需要关注的目标,如车辆、船舶和飞机等,此类目标与人类的视觉关注基本一致,所以根据视觉注意机制以及目标检测的结果,确定基于感兴趣区域的视频编码策略。
20、(2.3)根据感兴趣区域视频编码策略,在无人机系统中开发基于目标检测的视频编码功能模块。
21、进一步的,所述步骤(2.3)包括:
22、第1步:系统执行主线程,然后创建目标检测线程,通过yolov3模型识别图像中的感兴趣区域,获取目标位置及大小等信息,并转换为roi特征参数。
23、第2步:系统创建码率失真优化线程,接收码流管理与发送模块中缓存的前序帧,计算前序帧的码率和失真度,从而推理后序帧中的目标码率和量化参数。
24、第3步:编码控制模块通过分析roi特征及约束条件,从而确定视频的编码参数。
25、第4步:最后将编码参数传入编码模块,对当前视频进行编码压缩。
26、进一步的,所述步骤(3)包括:
27、(3.1)构建自适应编码控制模型,综合目标检测模块生成的roi特征,以及码率失真优化线程生成的约束条件,建立分层控制模型,通过对视频序列按照gop、frame、roi和cu进行编码划分,逐级分配目标比特,计算量化参数。
28、(3.2)实现码率失真优化,通过分层结构、宏块划分和roi特征构造码率失真函数,对不同尺度的编码单元进行编码参数优化,以找到码率与失真的平衡。
29、进一步的,所述步骤(3.1)包括:
30、第1步:检测图像中感兴趣目标生成roi特征参数,在内存中申请前序图像作为参考,划分当前图像的编码宏块。
31、第2步:获取当前图像组(group of picture,gop)分配的目标比特,通过h.265/hevc标准的帧间预测功能确定当前frame的目标比特,根据roi特征将frame划分为roi和nroi,利用设定的权重因子为两部分区域分配目标比特,确定编码宏块及cu的目标比特,再通过码率失真优化函数计算qp,对于包含roi信息的cu需要较小的qp,从而减小编码输出的失真。
32、第3步:将目标比特和量化参数发送给编码模块,完成编码后更新当前图像的实际编码参数,作为下一帧图像的编码参考,按照上述流程循环处理gop中每一帧图像。
33、进一步的,所述步骤(3.2)包括:
34、第1步:获取视频序列,计算码率失真函数,评估编码速率与图像失真度。
35、第2步:根据码率失真优化函数的解,为gop、frame和cu分配目标比特。gop是视频编码的最大处理单元,由编码顺序相同的一组图像构成,gop的目标比特rtar=ravgpic×ngop。(ravgpic为gop中每一幅图像的平均比特,ngop为gop中图像的总数)
36、第3步:根据gop中图像的分配权重,分配各帧的目标比特,需参考roi特征分配frame级目标比特,通过r-λ模型(领域公知,λ为码率失真曲线的斜率),确定码率r和量化参数qp。
37、第4步:确定当前图像的比特总数后,根据roi特征分配图像中感兴趣区域和背景区域的目标比特,通过r-λ模型优化调整roi的码率r和量化参数qp。
38、第5步:cu级编码应保证包含roi内容量化后的失真最小,cu是视频编码的基本处理单元,根据当前cu所占权值分配目标比特,确定码率r和量化参数qp。
39、第6步:调整输出各层级的码率r和量化参数qp,同时作为后序帧的评估参考。
40、进一步的,所述步骤(4)包括:
41、(4.1)frame级目标比特分配:在实现frame级编码控制之前,需要对每组gop的帧序列进行划分。gop的总目标比特数的计算公式如下:
42、bg=(μ/fps+((μ/fps)×ncoded-rcoded)/sw)×ng (1)
43、式中,bg为当前gop的总比特数,μ为信道速率,fps为帧率,ncoded为视频序列中已经编码的画面帧数,rcoded为视频中已编码帧的实际比特数,ng为一个gop中所包含的画面帧数,sw为滑动窗口的尺寸,用于平滑比特波动。
44、frame级目标比特分配根据gop的目标比特数为每幅图像分配相应的目标比特。第i帧(i∈[1,ng])的目标比特数bfi的表达式如下所示:
45、
46、式中,θ1可依据失真情况和roi权重进行取值,k表示第i帧在gop中的权重因子,κ1表示roi在第i帧中的权重因子,权重因子的表达式如下所示:
47、
48、κ1=1.25×(sroi/spic)1/2 (4)
49、表示第i帧图像相对于gop中所有图像的权重,sroi表示一副图像中roi区域大小,spic表示一副图像的大小。
50、(4.2)frame级量化参数确定:拉格朗日因子λ的表达式如下所示:
51、
52、式中,α和β是与视频内容特性有关的模型参数,量化参数qp和lnλ之间存在的关系表达式如下所示:
53、qp=4.2005lnλ+13.7122 (6)
54、因此,可以通过编码单元的目标比特逐级推导量化参数,具体步骤如下:
55、第1步,根据编码单元的目标比特数计算对应的λ值。
56、第2步,通过λ和量化参数的关系确定编码单元的qp。
57、第i帧的比特数为bf(i),所包含的像素总数为npixels,可以得出每个像素的平均比特数为bpp=bf(i)/npixels,图像对应的拉格朗日因子为λf(i)=α·(bpp)β,其中α和β是第i-1帧编码完成后的更新值,将λf(i)代入qp计算公式,则可得到第i帧的qp。为了保证视频流的平稳度,本发明设计方法规定相邻两图像间的qp差值不超过10。
58、进一步的,所述步骤(5)包括:
59、(5.1)roi级目标比特分配:通过宏块(coding tree unit,ctu)划分确定第i帧中各宏块的目标比特,宏块的尺寸应小于roi,依据roi坐标、大小和数量,结合所涵盖的宏块确定目标比特,表达式如下所示:
60、
61、式中,tctu(j)为第j个ctu相对第i帧中所有ctu的权重,设定tctu(j)为与第i帧所属同一gop且相邻的帧中对应位置ctu的mad平方,可通过时域预测获得。hf(i)为第i帧所属同一gop的所有已编码帧头信息实际比特的平均值。roi和nroi的初始比特数和可以通过roi和nroi区域分别包含的宏块ctu比特数可以得到,其表达式如下所示:
62、
63、
64、根据初始比特数和可得到roi的目标比特,其表达式如下所示:
65、
66、
67、式中,η为率失真平衡确定的补偿值,θ2可以取典型的0.8,可以根据对感兴趣区域的关注程度以及需要适应的带宽资源情况确定。
68、根据本发明设计的方法,可以设定编码优先级,将roi分为core-roi和edge-roi,core-roi将会分配更大权重的比特数,其表达式如下所示:
69、
70、式中,θ3取典型的0.3,可做动态调整,rc,roi为已实际编码roi的比特数,θ为码率失真优化的补偿比特数,sroi(k)为roi区域的大小。
71、(5.2)roi级量化参数确定:roi级量化参数的计算过程与frame级相似,首先将第k个roi的比特数broi(k)代入λ公式,计算得到λroi(k),再将λroi(k)代入qp公式得到第k个roi的qp,规定相邻两roi间的qp差值不超过5。每编码完一个roi后,需要对α和β进行更新。
72、进一步的,所述步骤(6)包括:
73、(6.1)cu级目标比特分配:cu由宏块ctu进一步划分而来,它是h.265中最小的编码单元。更新后的ctu目标比特可以分为三种类型:core-roi、edge-roi和non-roi。cu同样可以分为这三种类型,对于包含core-roi信息的cu,则需要较小的qp(即较小的量化步长),以便减小编码输出的失真,因此,在编码每个cu时需制定适当的qp调整策略以满足码率与失真之间的平衡。在cu级别上,比特分配取决于ctu的比特数和该宏块下的cu的不同权重。cu的比特分配计算公式如下所示:
74、
75、式中,bctu(j)为当前cu所属的ctu更新后目标比特,rc,cu为当前ctu中已实际编码的cu比特数,tc(k)为当前cu在其ctu中所占的权重,计算方式为当前编码单元p与上一个编码单元p′的mad的平方,n为cu的像素数。
76、(6.2)cu级量化参数确定:本发明将宏块的尺寸划分为cu大小。通过ctu的目标比特计算各cu的初始比特、λ和qp,再将各cu的qp值映射到宏块上,使用码率失真优化模型评估第i-1帧中相邻cu的失真度,并计算优化后所需补充比特数δ,最后得到更新后的目标比特、λ和qp。规定同一类型cu的差异值qpsame不超过2,不同类型cu的差异值δqpdiff不超过3,表达式如下所示:
77、qpsame-δqpsame≤qpcur≤qpsame+δqpsame (14)
78、qpdiff-δqpdiff≤qpcur≤qpdiff+δqpdiff (15)
79、发明效果
80、编码后的视频质量通常采用峰值信噪比(peak signal to noise ratio,psnr)指标作为评价度量,psnr越大,图像就越清晰。假设原始图像为s,待评价图像为r,那么用psnr评价图像质量的计算公式如下所示:
81、
82、其中mse为两个图像之间的均方误差(mean square error,mse),公式表示如下:
83、
84、将psnr推广到自适应视频编码算法中,公式表示如下:
85、
86、式中,mser与msenr分别表示包含roi区域和non-roi区域cu的均方误差。系统α为协调因子(默认值为0.6),以分配更多的评价权重给roi区域。gop大小可通过提出的自适应方法动态确定,qp的调整策略依据自适应方法中的r-λ模型制定,先分配当前帧的比特数与qp,再根据帧内的ctu结构单元属性特征调整qp的大小。在本发明的仿真实验中,对比了hm16.0传统模型中的编码控制策略,选用了四个hevc视频序列进行验证,可以从uav123的官方网站下载。测试后的psnr曲线如图10所示。(acc-od表示本发明所提出的方法,hm16.9表示传统的编码控制方法)
87、如图10所示,分析仿真实验数据后可以得出以下结论:
88、(1)本发明所设计的方法能够根据针对不同场景、区域和内容进行编码优化,有效地提升视频中感兴趣区域的清晰度。相较于hm16.9传统编码模型,在视频质量评价指标psnr上平均提升了0.67db。
89、(2)本发明所设计的方法在维持较高压缩率的同时,有效改善编码后的整体视频质量,即在压缩效率与视频质量之间实现了更好的平衡。结合数据分析可知,相较于hm16.9模型,对aircraft视频序列进行编码,平均psnr提升0.88db,如图10(a)所示;对car视频序列进行编码,psnr提升1.17db,因为视频包含更多的汽车画面,所以整体视频质量提升更明显,如图10(b)所示;对boat视频序列进行编码,psnr提升0.52db,如图10(c)所示;对building视频序列进行编码,psnr提升0.11db,如图10(d)所示。
90、(3)本发明所设计的方法能够根据目标检测结果动态地调整编码策略,目标检测功能与自适应编码控制功能协同性良好。
91、二、编码速率与失真性能
92、关于roi编码模式下编码速率与失真性能的评价指标主要包括bjontegaarddelta bit rate(bd-br)和bd-psnr。其中,bd-br表示在同样的客观质量下,两种方法的码率节省情况,bd-br越大,则占用的带宽资源就越多;bd-psnr表示在给定的码率下,两种方法的psnr-y的差异,bd-psnr越大,则图像的失真度就越低。本发明对rd曲线展开分析,bd-br表示两种方法的rd曲线上画一条水平线,而bd-psnr表示两种方法的rd曲线画一条垂直线。在本节实验中,选择三类测试视频序列,涉及不同的分辨率、帧内和帧间预测等视频参数,如表1所示。
93、表1三类测试视频序列
94、
95、
96、对三类视频序列进行对比实验,计算5次评价指标,取平均值作为最终结果,将acc-od算法与hm16.9模型取得的结果作差,所得出的计算结果如表3-4所示。
97、表2acc-od相对于hm16.9模型的r-d性能分析结果
98、
99、根据表2的统计结果,可以得出如下结论:
100、(1)本发明提出的方法在保证视频质量的前提下,有效提升了带宽资源的利用率。相较于hm16.9传统编码模型,失真度指标bd-psnr取得平均0.83db的改善,同时带宽资源指标bd-br取得19.71%的节约。虽然hm16.9模型具备对背景区域实施适应性压缩的能力,然而本发明提出的方法通过目标检测实现更精确的区域划分,进一步地减少了背景区域的比特分配,并将节省的部分带宽资源重新导向至目标区域,即在目标物体视觉保真的同时,提升了背景画面的编码效率,从而降低了所需传输的比特总量。
101、(2)本发明设计的方法提升了编码速率与失真性能。结合数据分析可知,三类视频测试序列,bd-psnr指标平均改善了0.52db、1.06db和0.92db,bd-br指标平均节约了22.96%、19.17%和16.99%。
102、以上实验结果说明acc-od在工程实现中有一定意义,运行acc-od算法后有效地增强了视频中目标区域的视觉清晰度,并在编码速率与失真性能之间取得了一种均衡状态,实现了对带宽资源的有效节约,验证了该方法在优化编码效率和提升传输质量方面的可行性。
本文地址:https://www.jishuxx.com/zhuanli/20240905/285990.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表