论文部分内容阅读
DVB(Digital Video Broadcasting)体系的应用在世界范围内发展非常迅速,以PC机为接收终端,实现基于HFC网络的DVB-C数据的接收与播放系统,可以为PC机用户提供高速的数据接收方案。本论文对基于PC机的DVB-C数据接收与播放系统进行了深入的研究,其主要内容包括DVB-C数据接收器驱动的实现、桥接器、MPEG-2传输流解析器和音频视觉效果Filter的设计与实现。DVB-C数据接收器驱动部分利用USB通用开发包提供的类库和配置文件进行编码实现。即通过设置CyUSB.inf文件来与USB设备的底层通信驱动CyUSB.sys相匹配,进而封装CyAPI.lib静态库来与底层驱动进行数据交互的接口实现。桥接器的设计采用DirectShow技术,实现了一个“推模式”下的SourceFilter。在该桥接器中通过DVB-C数据接收器采集传输流,并通过“推送”算法将获取的传输流以“合适”的速率送入通用的媒体播放器——Windows Media Player或者Media Player Classic中进行实时在线的软播放。音视频解析器的设计兼容了桥接器对数据推送的速率,在该解析器中通过“解析音视频基本流”算法来识别出每一个流的格式、每一帧数据,并对这些数据重新打包成一个个数据Sample,再通过“音频PTS的获取”算法给这些Sample打上正确的“DirectShow”时间戳,最后在相应的输出Pin上进行发送。音视频效果Filter内部通过获取解码后的PCM格式数据,并利用缓冲管理器对这些数据进行重新分组,然后对分组后的数据进行FFT变换将时域信号变换到频域之中,同时对变换后的数据作数学处理后得到其功率值,最后利用API画图函数对这些功率值进行了实时的特殊效果显示。测试表明,DVB-C数据接收器对数据的采集、源滤波器对数据的“推送”、解析器对数据的分离、音频Filter的效果显示等处理过程均同步于服务器端的数据发送速率,且该系统运行稳定,达到了预期的设计要求。论文工作解决了基于PC机的DVB-C数据接收和实时处理问题,对拓展有线电视数据业务提供了一种很好的途径。