“二位教授,咱们就从最核心的地方说,—图像压缩。”
他在黑板上画了一个框图。
“传统的图像传输,是把每一帧画面的所有像素都传过去,这个方法简单,但数据量太大。”
“以咱们现在的硬件条件,根本做不了,所以我换了一个思路不传所有的像素,只传变化的部分。”
他在框图旁边写下几个字:帧间差分。
“原理很简单,无人机在飞行过程中,大部分背景是静止的,山不动,路不动,建筑物也不动,真正在变化的,是画面中的运动目标,比如车辆、人员,或者咱们农用无人机要检测的病虫害区域。”
他画了两幅简图,一幅是前一帧,一幅是当前帧。
“我们用帧缓存把上一帧存起来,然后把当前帧和上一帧做逐像素的减法。”
“变化大的地方,说明有运动目标,变化小的地方,说明是静止背景。然后我们只传输变化大的那一部分像素,静止背景不传,这样一来,数据量至少可以减少百分之六十以上。”
陈先进是懂行的,刚听了两句就马上反应过来。
“林厂长,有一说一,这个思路很有意思!但你们怎么判断变化大和变化小的阈值?阈值设高了,小目标会漏掉;阈值设低了,噪声会被当成目标传过来,浪费带宽。”
林默笑了笑,这个问题问得很专业。
“陈教授这个问题问到点子上了。我们的做法是采用自适应阈值,根据画面整体的噪声水平动态调整。”
“画面干净的时候阈值设低一点,保留更多细节,画面雪花多的时候阈值抬高一点,优先保证稳定性。”
他在黑板上又写下一个公式:“具体算法是这样的,阈值t=k*σ,其中σ是背景噪声的标准差,k是经验系数,我们目前用的是1.5到2.5之间,这个值是通过大量实测数据拟合出来的,能够很好地平衡灵敏度和误报率。”
袁祥辉点了点头:“自适应阈值,这个方案可行,那降采样呢?你们是不是也用了?”
林默在框图上又加了一个模块,“对的,在帧间差分之前,我们先做降采样。”
“原始图像的分辨率我们不做限制,但在进入差分环节之前,我们把四个像素合并成一个,分辨率降低到原来的四分之一。”
“这样做有两个好处,一是数据量进一步减少,二是对噪声有抑制作用,因为四个像素的平均值比单个像素更稳定。”
陈先进忍不住插嘴:“降采样会损失细节,你们怎么补偿?”
林默转过身来,面对着他:“不补偿,陈教授,我们要想清楚一个问题,无人机图传的目的是什么?”
“不是拍电影,不是搞艺术摄影,而是获取关键的信息,我们不需要看清一个人的五官,只需要知道那里有一个人,不需要看清车牌号,只需要知道那里有一辆车。在这个前提下,牺牲一部分细节换取更远的传输距离和更低的延迟,是划算的。”
陈先进沉默了,他在思考林默的话。
“林默继续说,“当然了降采样之后,我们还要做一步处理,动态范围压缩,原始的图像信号动态范围很大,亮的地方很亮,暗的地方很暗,直接传输的话,量化误差会很大。”
“我们用一种简单的对数压缩,把高亮部分和低暗部分的细节都保留下来。虽然画质会损失一些,但关键信息不会丢。”
袁祥辉继续开口,问了一个很技术的问题:“林厂长,你们的帧缓存用的是多大容量?读写速度跟得上吗?”
林默拿起粉笔,在黑板上画了一个简单的电路图:“
我们用的是两帧缓存,乒乓结构。一帧在写入的时候,另一帧在读出差分数据,缓存的容量是256k字节,用的是静态ram,访问速度150纳秒,完全够用。”
“主控芯片我们用的是z80a,主频4兆赫兹,专门做图像处理,z80的指令集做这种像素级的运算效率不高,但我们把核心算法用汇编优化了。”
“一个像素的处理时间控制在5微秒以内,一帧320x240的图像,处理时间大约0.4秒,加上无线传输的0.3-0.5秒,总延迟控制在1秒左右。”
“最远距离3公里时,因为信号衰减导致重传增加,延迟会上升到2.5秒。”
陈先进听到这里,整个人都靠在了椅背上,长长地呼出一口气。
“林厂长,我服了,我下我明白了。”
他说这句话的时候,语气格外真诚,“你们用最土的办法,解决了最尖端的问题,帧间差分加降采样,听起来简单,但没有深厚的理论功底和丰富的实践经验,根本做不出来。”
“我是搞信号处理的,我知道这里面有多少坑,你们能在这么短的时间内趟出一条路来,不容易,真不容易。”
“真的是太厉害了!”
“我为之前的傲慢向您道歉。”
说着,陈先进就要弯腰鞠躬。
林默紧紧扶住,说着使不得使不得。
“陈教授,都是技术交流,互通有无。”
袁祥辉在旁边笑呵呵地看着自己这位老友。
来的时候你还说人家可能是像素块,现在服了呀?
……
一番技术交流下来,已经是下午两点多,两位教授起身告辞,袁祥辉整理好笔记本,准备出门。
他一转身,发现陈先进还坐在椅子上没动。
“老陈?走了,一会儿不是还要一个会要开吗?”袁祥辉喊了一声。
陈先进抬起头,看了看手表,又看了看桌上的图纸和黑板上的公式,犹豫了一下
“老袁,要不……你先回去?我想在林厂长这儿再待两天,好好研究研究他们的算法。”
袁祥辉愣住了。
他瞪着陈先进,哭笑不得。
“老陈啊老陈。”
袁祥辉指着陈先进摇着头,语气里带着啼笑皆非的意味。
“来的时候你跟我说,曙光厂这地方能做出来什么好东西?我就算信林厂长,你也不信。”
“到了厂门口,你连口水都不肯喝,非要先看东西,现在倒好,看完了,让你走你不走了!”
陈先进难得地露出了一丝尴尬,但很快就被学术热情盖过了:“老袁,你不懂,林厂长这个算法虽然听着简单,但我能感觉到里面有很深的东西。”
“那个自适应阈值的设定方法、那个动态范围压缩的参数选择,还有那个帧存乒乓结构的时序设计……每一个点都可以写一篇论文。”
“我得好好研究研究,回去之后也能指导我的研究生。”
袁祥辉哭笑不得地看了林默一眼,林默也笑着摊了摊手。
“行行行,你留下来,我先回去。”袁祥辉拍了拍陈先进的肩膀,“我可告诉你,别给人林厂长添乱。”
“怎么会呢!”陈先进已经站起来,走到黑板前,掏出笔记本,开始抄写上面的公式。
袁祥辉摇了摇头,转身走出会议室。
经过林默身边的时候,他小声说了一句话,声音里带着由衷的佩服:
“林厂长,你是真厉害,我这个老伙计,搞了一辈子科研,从来不服人,今天他算是彻底服气了。”_l