电视卡
基于地面高清机顶盒的PVR系统设计与开发
2006年8月18日,国家标准化管理委员会正式发布了我国具有自主知识产权的《数字电视地面广播传输系统帧结构、信道编码和调制》标准(简称“中国数字电视地面传输标准”)。该标准支持高清晰度电视(HDTV)、标准清晰度电视(SDTV)和多媒体数据广播(MMDB)等多种业务,满足大范围固定覆盖和移动接收的需要。地面高清数字广播系统于2008年7月投入使用,已成功进行了北京奥运会的全程直播,并将直播2010年上海世博会。针对地面高清市场的各类产品及技术应运而生,而PVR功能则是相关产品技术中的难点和亮点。
1 硬件架构
本系统基于Sigma Designs公司的EM8622平台进行开发,使用主频为202MHz的ARM7中央处理器、128MBDDR内存、以及8MB FLAsH芯片,配合上海高清HD2910国际融合芯片,可以支持地面高清数字信号以及标清模拟信号的兼容播放与无损录制,同时配合时钟板和地面广播信号配套EPG,可以实现电视节目的定时录制、自动开机预约录制以及断电续录功能。硬件框架图如下图1所示:
如图,射频信号由天线接收后送至HD2910TUNER(调谐器)板解调为MPEG2格式的TS(Transport Stream)流,经RISC架构的2D图形引擎处理后传输至DEMUX(解复用)芯片,经解复用后分为APES流(打包的音频基本码流)和VPES流(打包的视频基本码流)。此时根据录制模式的不同,数据的走向也不同,具体分类如下:
(1)只播模式:通道1开,通道2、通道3关。APES/VPES流输送到DECODER(解码芯片)解码后生成音/视频数据,分别进行音/视频输出。
(2)只录模式:通道2开,通道1、通道3关。为了保证录制文件码率的稳定,将APES/VPES流经过PCI总线送至系统缓存,缓冲3至5s后再经PCI总线分别保存为音/视频硬盘文件。
(3)边播边录模式:通道1、通道2开,通道3关。打开通道1,APES/VPES流经DECODER解码后输出至音/视频终端,同时打开通道2,将PES流数据经系统缓存后保存至硬盘。
(4)录像播放模式:通道3开,通道1、通道2关。打开硬盘音视频文件,将数据送到系统缓存,然后经过音视频同步处理后再传输到DECODER,最后进行相应的音/视频输出。
(5)时移播放模式:通道2、通道3开,通道1关。时移播放即指通过硬盘的缓存能力,用户可以像操作本地文件一样暂停当前播放的电视节目,过任意时间后继续播放,或者随时回放已播精彩镜头。在这种模式下,系统先将APES/VPES流经系统缓存后保存为硬盘音/视频文件,然后根据用户需要可以随时将硬盘文件音/视频解码并输出。
(6)预约录制模式:与边播边录模式类似,不同之处在于利用EPG和时钟板定时唤醒系统进行节目的录制。
2 软件结构
本系统采用sigma Designs公司提供的配套软件开发包(SDK),主要分为两个部分:Armutils开发包与EM8623L开发包。
Armutils开发包主要包含uClinux内核、文件系统、编译工具、编译环境等与ARM芯片相关的软件。使用Armutils开发包来生成PVR机顶盒的运行内核,以及机顶盒应用程序的编译与调试环境。
EM8620L开发包主要包含Envision EM8623L开发板的相关驱动,启动引导程序(Boot Loader),以及名为DCC(Decoding Chain Control)的用户接口,用户程序可通过DCC库的调用实现对底层硬件的访问,PVR机顶盒应用程序的开发都是基于这些接口与驱动之上的。图2简单描述了解决方案提出的软件开发层次结构。
3 关键实现技术
3.1 音、视频同步技术
电视信号录制产生的音、视频数据各自以PES包的形式存储在硬盘上,当它们被读出并且被解码播放时,随之就会产生音频和视频之间的同步问题。
数字电视广播的MPEG-2数字码流中包括两种时间信息:用于机顶盒本地系统时钟与广播系统前端时钟同步的节目时钟参考(Program Clock Reference,PCR),位于TS包的首部;以及用于音视频同步的展现时间戳/解码时间戳(Presentation Time stamp/Decoding Timestamp,PTS/DTS),位于PES包的首部。在本PVR系统中,由于音、视频数据是以PES包的格式被存储到硬盘的,所以PCR并没有被存储;而另外一方面,在播放已录节目时,音、视频数据是实时从硬盘中读出的,读取数据和播放数据都同属于PVR系统内部的操作,所以并不存在系统间时钟同步的问题,因此,在PVR系统的回放操作中不用考虑PCR。所以在录像回放过程中,只能利用PTS/DTS来维持音频与视频的同步。播放录像时,帧速率(FrameRate)决定了视频数据的解码速率,所以可以将视频PTS作为基准,将音频PTS与之相比较,以此调整音频解码的速率,从而达到使音频与视频同步的目的,具体采用的方法如下:
(1)视频数据被传送到解码单元的视频缓冲区的过程中,对它进行解析,记录其中的PTS,并构建视频PTS表;
(2)对于音频数据,也同样构建音频PTS表;
(3)在解码过程中将视频PTS作为基准,修正解码单元中由系统时钟驱动的SCR(系统时钟参考)计数器的值;
(4)根据音频缓冲区指针的位置,在音频PTS表中查找相应的PTS值,将此值与SCR计数器的值相比较,作为调整音频解码速率的依据,从而控制音频解码器解码动作,实现音频数据跟随视频数据的同步。
3.2 缓存技术
如图2所示,经过前端解调得到的TS流经由2D图像引擎处理后进入DEMUX模块。DEMUX模块是一个集成在主控芯片中的特殊微处理器,主要任务是进行TS流的分析和解复用。由于硬盘的传输速率有限,因此为了减少磁盘读写次数,系统在内存中开辟一块缓冲区用以缓冲音、视频数据,当缓冲区数值达到门限时,将其存储数据写入硬盘。写数据与写硬盘两个操作采用并行的线程来执行,线程间通过信号进行同步。
而在录像文件的回放过程中,从硬盘中读出的音、视频PES文件分别放入音、视频缓冲区中,系统不断检测缓冲区数据大小,如果数据小于门限值,则通知数据传输线程把新数据送入。
录像文件的记录方式包括两种。正常录制的文件大小随着录制时长的增长而增加,直到节目录制完成或者硬盘空间耗尽为止。而在时移录制模式下,录像文件大小固定,它包括了写指针和读指针。在开始时移录制时,写指针开始往后移动,画面静止在开始录制的时刻。当回复收看时,读指针与写指针同步向后移动,写指针在节目结束时停止移动,而读指针自然在与写指针重合时停止移动。需要指出的是,由于时移录制并不以录制文件并回放为目的,所以播放过的节目即被丢弃,因此该文件是一个循环文件,写指针与读指针在到达文件末尾时跳回文件开头。由于硬盘空间所限,循环文件大小即为最大时移录制时长,超过该时长则时移模式失效。
通过缓存技术的使用,系统大幅度减少了硬盘I/O次数,提高了系统效率,同时也达到了保护硬盘的效果。同时,缓存技术和音、视频同步技术相结合,实现了电视节目的回放以及时移播放,真正体现了数字化PVR的强大人机交互功能。
全部0条评论
快来发表一下你的评论吧 !