1.4 ASIC与可编程芯片
主流的视频编码算法MPEG-4/H.264标准协议给出的只是一个框架或码流的语义,而对于如何实现编码器或解码器并没有统一的规定或标准。因此科学研究或工程应用中出现了形形色色基于不同平台或编程语言的编码器及解码器。从实现平台或可升级等特点来分,主要有专用芯片型和可编程型两种。
1.4.1 ASIC的特点
专用的视频编解码芯片是芯片制造商预先把编码系统用固化的专用硬件加以实现,保证上电即工作。开发用户只需对芯片作整体简单的初始化或对电阻电容的工作电压或电流的配置,输入视频,输出码流,因此编码芯片对开发者来说是黑盒子。基于ASIC芯片的视频编解码系统的开发周期短,系统相对较稳定,易快速的批量生产。但是,系统不可升级,无论是功能增加升级或不稳定因素解除,其均无能为力。MPEG-4编码芯片有VW2010, H.264编码芯片有富士通的MB86H51,华为海思的Hi351x,美信MG2580/3500等。另外,芯片除了实现编解码外,还内嵌了ARM等处理器以侧重运行操作系统,如Hi351x、MG3500等芯片。
1.4.2 可编程芯片
基于可编程芯片的视频系统,指开发者利用高级或低级开发语言,根据视频算法功能开发出来的视频产品。通用的CPU(Intel/AMD)、GPU、DSP、FPGA等均为可编程芯片,跨平台的C语言或类似语言等基本都能基于这些芯片进行算法开发。个人电脑PC的CPU功能强大,VC/VB等高级开发软件允许用户充分发挥个人的聪明才智,开发底层的数据处理算法或高层的人机用户应用程序。针对图像图形处理的GPU,强大的流水处理、单指令多数据SIMD操作、图像专用处理模块等极大增强了用户的图像开发能力。数字媒体的信号处理平台DSP以其独特的资源和功能配置结构,有针对性的数字媒体处理芯片等为开发者提供了便利而又强大的开发资源。数字媒体可编程处理器的最大特点是开发者能够掌握知识产权,易维护升级、功能定制。同时,独有的视频处理功能显著增加一般视频编码系统的附加值,形成自己特色的视频处理产品。
本书关注的用于视频编解码的可编程芯片主要为Intel的通用CPU和德州仪器TI公司的数字媒体处理器DM系列。通用CPU采取普通的C语言实现算法框架,多媒体汇编指令MMX/SSE等实现核心模块;TI DSP的数字媒体DM系列同样采用C语言框架和汇编优化核心模块的实现方式。基于通用CPU平台运用“VC++2005”实现MPEG-4/H.264视频编解码,基于TI的“C64x、C64x+”的DSP核设计和优化主流视频编解码。