数字电视插播系统的设计与实现

2013-06-29 01:37吴林煌杨秀芝云桂桂
电视技术 2013年4期
关键词:插播码流黑屏

吴林煌,杨秀芝,云桂桂,邹 涛

(福州大学 福建省数字电视工程研究中心,福建 福州 350002)

责任编辑:薛 京

数字电视作为当代信息技术发展的重要产物,已经全面进入大众的生活领域,人们对电视节目的内容要求越来越高,对电视节目的编辑也变得越来越重要。其中,电视节目的无缝插播是研究重点。传统的节目插播都是将原来的节目解码后,进行像素点的替换,然后再重新编码发送,这样就造成原有节目信息的丢失,而且效率比较低下。

本文提供了一种数字电视节目插播替换的方法,可以将一路数字电视传输流中的一套或多套节目替换为另一数字电视传输流中的一套或几套节目,并使替换之后的数字电视传输流保持原来的各种标识符,具有结构简单、硬件设备少、成本低、速度快等优点。该方法采用滑动优先级复用调度策略,在替换过程中仅过滤掉不需要的节目,同时将替换的节目、需要保留的节目以及各种服务信息通过复用调度的方式,重新合成为多节目传输流。

1 无缝插播系统的黑屏现象分析

数字电视无缝插播系统是用一路TS流中的某一套节目或者广告去插播另一路TS中的任意一套节目或者广告。由于其工作在AVS标准的系统层,TS流中各套节目的时间基点允许不相同,并且TS流的抗误码性能高,因此本文所设计的数字电视无缝插播系统是基于TS流格式[1]。本节首先分析切换时出现马赛克或黑屏的3个原因,再针对这些原因提出解决方法。

1.1 切换时马赛克或黑屏现象分析

通常情况下在节目或者广告进行插播的过程中偶尔会出现黑屏或马赛克现象,其根本原因是解码器在解码时出错[2],主要原因有3个:1)由于两路AVS传送流的时间基准可能不同,直接进行节目切换会导致节目参考时钟PCR不连续;2)由于切换点的选择不准确,导致解码的重要参数时间标记(DTS)和显示时间标记(PTS)出现不连续;3)视频信息量比较多,为其开辟的缓冲区不够大,出现溢出现象[3]。

1.2 实现无缝拼接的措施

1.2.1 PCR调整

在AVS标准中,通过在TS流中加入PCR来确保编解码端时钟的同步。但由于两路TS流的时间基准点可能不同,这就导致PCR不连续。通过寻找拼接点前被替换节目的最后一个TS包的PCR和拼接点后替换节目中的首个TS包的PCR,再根据AVS标准中的PCR公式进行计算从而求出偏移量。把源节目TS包的PCR,DTS和PTS都附加上偏移量就可保证PCR连续[4]。

1.2.2 无缝拼接点的选择

AVS标准的视频层规定了3种帧类型:I帧(独立编码帧)、P帧(预测编码帧)和B帧(双向预测编码帧)。可以作为参考帧的只有I帧和P帧,而B帧不能作为参考帧。所以在进行节目替换或者广告插播时,应该进行检测使替换源的节目以I帧开始。同时由于解码器在解码后对帧进行重排,因此被替换的视频流的图像组必须完整通过,才能正确显示替换之前的图像,否则将产生马赛克现象。所以无缝拼接点的选择必须以被替换视频流的B帧结束和替换视频流的I帧开始。

1.2.3 缓冲区控制和码率调整

由于两个节目TS流的码率和结构不同,为了保证缓冲区不发生上溢出和下溢出,在不改变两个连续PCR间差值的条件下,通过插入或者剔除部分空包来实现码率的有效控制,从而避免视频缓冲区溢出[5]。

2 数字电视插播系统的设计

2.1 数字电视插播系统的总体结构

数字电视插播系统主要包括以下几个部分:ASI输入输出接口模块、前端输入检测和中间处理模块、Nios II处理器模块、液晶显示和按键输入。总体结构如图1所示。前端输入检测模块对ASI接口输入的TS码流进行分析处理,将提取的码流信息送给中间处理模块,中间处理模块提取出替换源、被替换源PID值等相关信息,此时默认将被替换源和默认的第一路替换源的PID值传输给Nios II处理器,Nios II将其值传给液晶屏进行显示。如果需要选择替换源,通过按键模块进行选择,Nios II将检测到的按键输入值传递给Nios II处理器,Nios II处理器再将这个替换源路数的值传递给中间处理模块,中间处理模块对码流替换后通过ASI接口输出。

图1 系统设计结构框图

2.2 硬件平台

根据数字电视插播系统的要求,设计了一个硬件平台。该平台具有多种外设接口,适用于基于FPGA嵌入IP软核的系统开发。硬件平台的总体结构如图2所示。

图2 硬件平台的总体结构

该硬件平台的主芯片选用Altera公司Stratix II系列的芯片EP2S90F1020C4[6];ASI接口电路的ASI接收和发送芯片选用CYPRESS半导体公司推出的一种用于点对点之间高速串行数据通信的接收芯片CY7B933和发送芯CY7B923[7];10/100 Mbit/s以太网控制器选择LAN91C111芯片[8],便于计算机通过网络对系统进行监测和控制;支持JTAG和AS两种配置模式。

2.3 数字电视插播系统的软件设计

系统的软件开发工具为Altera公司的Quartus II软件,该软件集成多种仿真测试工具,可以与SOPC Builder和Nios II IDE一起协同开发[9]。

2.3.1 FPGA逻辑设计

数字电视插播系统中的前端输入检测和中间处理模块是系统核心,用FPGA内部的逻辑和存储资源来实现。具体模块连接如图3所示。

1)串行接口输入模块,主要完成对输入信号的格式转换。与两组输入相对应,分别将来自于ASI输入接口的ASI格式数据转换成8位并行格式。ASI_IN1为替换源的码流输入,ASI_IN2为被替换源的码流输入。

2)FPGA模块包含多个子模块,下面做进一步论述。

(1)码流同步模块:它将串行接口模块输入的信号进行同步及失步判别,找出码流的同步头字节,并将同步后的TS流合成为188或204个字节的包,以利于后续模块的处理。

(2)节目匹配检测模块:接收同步后的替换源码流和被替换源码流,对替换和待替换节目标识符进行匹配,主要有PMT_PID,VIDEO_PID,AUDIO_PID,PCR_PID等标识符的匹配。匹配过程中需要进行该路信息PSI信息的解析及提取,以获得该路的节目信息。

图3 节目插播系统FPGA设计部分系统框图

(3)PCR调整模块:传输系统必须是恒定延时系统,解码端才能解码正确。在进行插播时,PCR位置可能会随TS的变化而变化,因此必须对PCR进行校正。该模块一旦检测到输入的TS包当中有PCR时,就启动备用的某个计数器对系统时钟进行计数直到该PCR域的最后一个字节离开系统时,PCR补偿模块根据选用的计数器对PCR值进行相应补偿。

(4)图像组头检测模块:因为无缝拼接点的选择必须以被替换视频流的B帧结束和替换视频流的I帧开始,所以该模块负责检测图像组头(即I帧的开始)。只有检测到图像组头,才进行TS包的替换操作。

(5)节目过滤模块:它接收被替换源的码流,同时接收节目匹配检测模块的匹配信息。当有匹配节目存在并需要替换时,该模块就将指定的待替换节目的数据包丢弃,其他与替换无关的数据包存入数据缓冲器FIFO2中。当没有需要替换的节目时,该模块不对输入的码流进行处理。

(6)服务信息生成模块:根据现行节目信息,重新生成新的服务描述表,使其名称与替换的节目名称一致。重新生成的数据送入数据缓冲FIFO3中。

(7)数据缓冲模块:暂存经过处理后的数据,为后续的数据调度提供缓冲。当其满188 byte字节时,即输出一个半满信号供数据调度模块进行判断。

(8)数据调度模块:调度策略采用滑动优先级的方式,对于同时有几个半满信号输入的情况,优先级高的先调度,而优先级根据调度的顺序进行轮转,即刚调度过的优先级变为最低,这样能够保证各路码流被均匀调度。该模块的调度速率根据输入码流的速率来确定。

3)串行接口输出模块,接收来自数据调度模块输出的数据,完成格式转换。本设计采用一个专用集成电路CY7B923,它将并行的码流数据转换为270 Mbit/s的串行数据,再通过输出耦合驱动电路完成ASI信号的驱动及耦合输出。

2.3.2 Nios II软件设计

本文的Nios II软件采用中断的方式。首先进行初始化设置,当检测到复位信号时则进行复位,否则进入下一步,此时默认将替换源与第一路被替换源的PID号显示在液晶屏上,如selection有输入,则把计数器自加1,此时中间处理系统把下一套节目的PID号传递过来,若有enter信号,则开始替换并在液晶屏上显示,若替换成功则传回一个success信号,并在液晶屏上显示替换成功。Nios II软件设计流程如图4所示。

图4 软件设计流程图

3 系统测试

用实际的电视节目进行系统测试,其实物连接如图5所示。首先用卫星天线接收来自卫星的电视信号,通过卫星接收机将其转换成符合AVS标准的TS流,一路送到FPGA开发板作为被替换源进行节目替换,另一路送到复用器中产生单节目替换源,并将其输出到被替换源的输入端口,经无缝插播系统处理之后的输出码流送到QAM调制器,调制后的数据经机顶盒解调后送到电视机播放。

测试时设置机顶盒解调信号的频点为283 MHz,调制方式为QAM256,将硬件设备按上述方式进行连接,得到单节目替换源只有中央6套少儿频套;另一路被替换源包含中央1套、中央6套、中央13套等8套节目。本次测试将少儿频套替换成新闻频套,通过电视机播放观察结果。在进行节目替换的过程中,节目无缝拼接没有出现马赛克和黑屏现象,由此可以证明本系统设计合理,切实可用,完成了数字电视节目的无缝插播。图5中电视播放的是替换前的新闻频道,图6所示的是替换后在同一频道播放少儿节目。

4 总结

本文是基于系统层的无缝拼接,主要在系统层对两个传输流进行处理,不经过解复用、解码、编码和重新复用的过程。通过选择合适的拼接点、调整PSI信息、调整时间信息等手段在系统层实现无缝拼接,运算量小,能快速完成;同时对视频基本层没做处理,能保证质量无损,消除了黑屏和马赛克现象,实现了数字电视节目无缝插播。

[1]王立.TS流复用解复用及DSM-CC特技播放研究[D].天津:天津大学,2004.

[2]谢志华,邹道文,汪胜前.一种新的数字电视TS流无缝拼接处理技术[J].广播与电视技术,2006(2):78-80.

[3]刘运锋.基于FPGA的多功能视频服务器设计与实现[D].武汉:华中科技大学,2006.

[4]崔巍,李煜,秦文.MPEG-2 TS无缝拼接技术的研究与实现[J].电视技术,2004,28(10):65-67.

[5]刘昱,李桂苓.MPEG-2视频流的拼接[J].有线电视技术,2002(10):8-9.

[6]Altera corporation.Stratix II Device Handbook[EB/OL].[2012-10-10].http://www.altera.com.cn/literature/lit-s2gx.jsp.

[7]CY7B923/CY7B933:HOTLink Transmitter/Receiver[EB/OL].[2012-10-10].http://www.cypress.com/?rid=13675.

[8]LAN91C111 Rev.B Datasheet[EB/OL].[2012-10-10].http://www.icfull.com/LAN_datasheet/LAN91C111-NC.html.

[9]霍梅梅,吴剑钟,蔡建平.Quartus II图形仿真用于计算机组成原理实验教学[J].科技创新导报,2010(24):157-157.

猜你喜欢
插播码流黑屏
数字电视TS码流协议简要分析
音频信号插播、错播和停播自动报警系统项目建设
“擂”耳
某电动汽车组合仪表黑屏故障的排除
萌女巫与魔法猫
TS数字流流动字幕插播系统的应用
一种比较ASN.1码流差异的方法
基于梯度的CCSDS压缩码流控制算法研究
IRD对TS流的处理
黑屏了