红岗花园的电被掐了,实验室里一片漆黑。只有几台自带电池的笔记本电脑还亮着微弱的荧光,把几个人的脸照得惨白。
楼下的喧闹声透过窗户缝隙钻进来。那是电信局的人在剪线,铁钳咬合金属的声音,在寂静的夜里格外刺耳。
“别管外面。”
张汉玉把一张白纸拍在桌子上,借着屏幕的光,手里那支签字笔在纸上划出一道粗重的墨痕。
“只要核心算法没跑通,就算他们把光缆铺到我床头,这生意也做不成。”
陈志远教授坐在对面,头发乱得像个鸡窝。这位从鹏城大学被硬请来的数学系主任,此刻正对着满屏幕的乱码发愁。
“跑不通。”陈志远把眼镜摘下来,在那件满是粉笔灰的中山装上擦了擦,“帧间差分已经是极限了。只要画面剧烈运动,数据量瞬间就会冲破带宽阀值。除非你能把64K的电话线变成光纤,否则这就是个死胡同。”
苏晓月靠在机箱旁,手指还在键盘上机械地敲击。她已经三十个小时没合眼了。
“现在的压缩比是20:1。”苏晓月盯着屏幕上的数据,“要想在电话线上跑流畅视频,至少要做到50:1。这在数学上是不可能的。”
“数学上没有不可能。”
张汉玉拿起笔,在纸上画了一个正方形。
“陈教授,您是搞拓扑学的。如果我们不把图像看作一个个像素点,而是看作波呢?”
陈志远戴眼镜的手停在半空。
“你是说……傅里叶变换?”
“不。傅里叶变换计算量太大,现在的CPU跑不动。”张汉玉在正方形里画了几个波浪线,“用余弦。离散余弦变换(DCT)。”
他在纸上飞快地写下一串公式。
`F(u,v) = (1/4)C(u)C(v) ΣΣ f(x,y)cos[…]`
陈志远凑过来,盯着那个公式看了半分钟。
“把空间域转化成频率域……”陈志远喃喃自语,“把图像里的高频信号——也就是细节部分切掉,只保留低频的轮廓和色块。人眼对高频信号不敏感,根本看不出来。”
“对。”张汉玉笔尖不停,又画了三个方块,分别标上I、P、B。
“光切掉高频还不够。视频是连续的。前一秒我在举手,后一秒手举高了五厘米。背景没变,脸没变,衣服没变。为什么要重复传输这些没变的数据?”
他指着第一个方块I。
“这是关键帧。这一帧,我们完整传输。”
笔尖移向第二个方块P。
“这是预测帧。我们不传图像,只传‘运动向量’。告诉电脑,这块像素往上移动了五厘米。电脑自己去算。”
最后是方块B。
“这是双向预测。既看前面,也看后面。通过前后两帧来补全中间的画面。”
陈志远猛地站起来,膝盖撞在桌腿上,那一摞摇摇欲坠的书哗啦啦倒了一地。他顾不上扶,抓起那张纸,手在抖。
“运动补偿……把时间冗余也干掉……”
陈志远在狭窄的过道里来回踱步,鞋底摩擦着水泥地。
“天才。这是天才的想法。”他猛地转过身,盯着张汉玉,“这套理论一旦实现,压缩效率能提高三倍。不,五倍!”
“晓月。”张汉玉没有理会陈教授的激动,转头看向角落,“把之前的代码全删了。”
苏晓月愣了一下:“全删?”
“全删。那是垃圾。”张汉玉指了指陈志远手里的纸,“按这个架构重写。陈教授负责数学模型,你负责把模型变成汇编指令。我要在天亮之前看到Demo。”
“天亮?”苏晓月看了一眼窗外漆黑的夜空,“只有四个小时了。”
“四个小时够了。”张汉玉走到窗前,看着楼下那些还在忙碌的电信局工人。手电筒的光束在黑暗中乱晃。
“他们以为剪断了线就能困住
