导师留了个“小任务”,用wifi实现屏幕共享,而且要求不能涉及有PC上的编程,即实现一个硬件,留有与主屏和副屏视频接口,如VGA或HDMI,视频的编解码和无线传输皆在该硬件上实现。
接任务时,知识储备不够,尚不清楚视频编解码是怎么一回事,认为就是数据捕获和wifi模块的硬件结合,再外加网络编程。研一的课程有一门《视频编码技术》,讲到视频这样的大数据量的传输必须用到编解码,因为传输带宽有限,必须压缩数据。
了解一点后,我大概算了一下,以1920*1080分辨率,30fps,24位色,带宽竟高达 1920*1080*30*24 = 1.39Gbps,而从网上查到单天线wifi物理极限速率为150Mbps。所以,对于视频的无线传输和带宽较小的有线传输必须先对其编码,以一定的压缩率传输,然后再从接收端解码,恢复原始图像。
于是,这一个“小任务”从来就没小过!单单一个视频编解码就够呛。跟导师商量后,决定不用软便码实现,转而用硬编码,而硬编码最终也走上了一条不归路——不用市面上的编码芯片,用FPGA实现H.264/AVC硬件编解码器。。。
《视频编码技术》刚开始学,不懂的还很多,网上值得参考的资料也不多,慢慢学,摸着石头过河吧。
略作记录,待后求证。