论文部分内容阅读
数字电视是电视产业发展的必然趋势。数字电视系统以全数字的方法对视频和音频信息进行编码,传送到数字电视接收机,由接收机进行解码以还原图像和声音。其中,视频信息的解码和显示直接影响到画面质量,是一个重要研究课题。对视频信息解码和显示的平台包括硬件及操作系统两个方面。在硬件方面,最有代表性的两类方案分别采用“ARM+DSP”和专用解码芯片。前者缺点是成本高,后者缺点是通用性差。MIPS核CPU的成本低、通用性好,因此本文采用我国生产的一款MIPS核CPU作为硬件的主控芯片;在操作系统方面,国内常用μC/OS-Ⅱ、μCLinux、WinCE等。μC/OS-Ⅱ比μCLinux和WinCE移植简单、裁剪方便,并且是微内核操作系统,其内存管理算法避免了内存碎片的产生,这使得利用较少的资源做视频解码成为了可能。因此本文选用μC/OS-Ⅱ。本文主要内容是:采用以MIPS核CPU作为主芯片的硬件架构,给出了移植μC/OS-Ⅱ以适应该MIPS核CPU的方法,修改了μC/OS-Ⅱ中和编译器相关的数据类型以正确编译、修改了和CPU相关的宏定义以控制中断等。针对TS(传输流)非加密信息,以C语言的形式分别定义了TS分组数据包的结构体、数据包头信息结构体、PES(打包的基本流)结构体等。使用了链表以记录所需频道的数据包识别符信息,给出从TS中解析ES(基本流)数据的实现方法。分别阐述了如何对ES数据进行可变长度解码、反扫描、反量化、逆离散余弦变换等以最终得到图像数据的方法,其中使用了逻辑运算代替算术运算以提高程序执行速度。给出了上述过程的流程图和部分代码。最后总结了当前视频信息解码中存在的不足,对今后要做的后续工作提出一些建议。