目前很多地方有数字电视的信号播出,而且大部分城市在数字电视转换过程中采取了机顶盒方式,机顶盒方式虽然可以接收数字电视信号,但是在机顶盒把接收来的数字电视信号输出给电视机时,又将其转换成了模拟信号,这样无形中损失了图像质量。而且用户在操作时不是很方便:需要用连接线连接机顶盒和电视机、同时需要两个遥控器等。数模一体电视机很好的解决了这个问题,一台电视机既可以接收传统的模拟电视信号,也可以接收最新播出的数字电视信号。但是早期的数模一体电视机是把接收数字电视的模块放在普通的逐行电视中,此种实现方式几乎和机顶盒方式效果一样,只是外表看起来是一个整体。而现在的方案基本上是单芯片方案,即数字电视解码处理和模拟通道信号处理在同一个芯片中实现。数字电视信号被解码后直接在芯片内部进行Scaler(缩放)等处理后输出,最大限度地保证了图像质量不受损失,真正满足了用户的需求,将成为市场的最佳选择。
数字电视与模拟电视不同之处还在于数字电视可以加密,这样运营商就可以很方便的控制着用户,而不担心欠费现象。用户要想接收数字电视需得到运营商的许可,即CA(条件接收),这也是运营商想大力推广数字电视的根本原因。运营商给每个电视或机顶盒分配一个CA卡(俗称小卡),里面有用户识别等信息,小卡是装在大卡里面的,大卡里面有数字电视信号加密的有关信息,负责和电视机里面相关的接口芯片通讯把数字电视信号解出来。大卡和电视机相连的接口有PCMCIA、UTI等。
PCMCIA接口已经成熟并且颁布了行业标准,也是国际上通用的一种接口标准。一般的机顶盒上并没有看到大卡,这是因为机顶盒生产商是和运营商联合推广市场的,数字电视的加密算法已经确定,机顶盒生产商就可以把大卡做在机顶盒里面了。而电视机生产商是把电视机直接卖给用户的,不同于机顶盒的操作模式,为了适应不同的CA要求,本方案采取了机卡分离方式,即把CA大卡和整机分离开来,电视机上留有PCMCIA接口,对于不同CA的运营商配置相应的大卡即可,非常灵活方便,机卡分离也是数字电视的发展趋势。
数模一体机的系统
TI公司发布的最新一款集成HDTV解码和视频处理的一体化SoC芯片TVP9000,主要针对的就是数模一体电视机的市场。与其他芯片厂家提供的方案相比,其集成度较高,成熟度较佳,图像解码模块成熟,成本较低,具有很强的市场竞争力。本方案就是以TVP9000为核心的数模一体电视机的解决方案,可广泛应用于CRT电视、平板电视、背投电视等。TVP9000集成了162MHZ的ARM926EJ CPU,HDTV-MPEG2解码,图像处理,Scaler(缩放)等模块,功能强大。
本方案能够接收数字的电视信号(支持高清HDTV及标清SDTV)和模拟电视信号,数字电视部分符合DVB-C标准,接收16-256QAM制式信号;多路输入接口:其中三路AV输入、一路S端子输入、一路AV输出、一路分量(YPbPr/YCbCr)输入、一路RGB输入、一路HDMI输入;支持多种信号格式如:480I、480P、576I、576P、720P、1080I、1080P及VGA、SVGA、XGA等信号格式;能够通过RGB接口实现本地软件升级和更新,方便售后服务;满足MPEG1/MPEG2 layers1、2 音频解码;SPDIF光纤和左右声道音频同时输出;标准电子节目单(EPG)功能;支持NVOD(准视频点播);支持基于DVB-C-CI 接口标准的付费电视节目服务。
如图1所示,模拟电视信号由模拟高频头输入经过LA75520中频解调输出视频和音频,视频信号送到TVP5147进行处理;音频信号送到NJW1185 进行处理。各路AV输入的视频和YCbCr信号一起送到TVP5147和电视视频信号作切换后进行A/D变换、彩色解码后转换成ITU.656格式的信号送给TVP9000,如果当前输入是模拟电视信号和AV时,TVP5147同时输出一个复合视频信号作为监视用。HDMI信号送到TDA9970A变换成数字的RGB信号;模拟RGB信号、YpbPr信号送到TDA9970A作切换、A/D转换处理和HDMI信号再切换一次后进行格式变换,以双ITU.656的信号格式送到TVP9000和TVP5147送来的信号作切换。当选择TVP5147送来的信号时,要对信号进行去隔行(Deinterlace)、图象增强、缩放(Scaler)等处理;当选择TDA9970A输入的信号时,要对信号进行图象增强、缩放等处理。YCbCr和YpbPr共用一个输入端子,自动识别格式后选择正确的输入通道。
图1 整机硬件系统框图
数字电视信号由数字高频头输入,经过信道解调后输出加密的TS流信号送给T90FJR,T90FJR把加密的TS流信号通过PCMCIA接口送到大卡,大卡对加密的TS流信号解密后再进行二次加密通过PCMCIA接口和T90FJR再送到TVP9000,TVP9000对二次加密的TS流信号进行解密,然后进行数字解码、缩放处理后输出视频信号,其中第二次解密的算法由大卡向TVP9000提供。为什么要进行二次加密的原因是防止出现透明的TS流而被非法拷贝,从而有效的保证了节目的版权。
HDMI声音由HDMI接口芯片TDA9970A输出到TVP9000 和数字电视的声音切换后输出到CS4344,同时输出一路数字音频信号SPDIF供外接的声音功放使用。CS4344把输入的数字声音信号数模转换后送给NJW1185 和送来的模拟电视声音、各路AV的声音信号切换、经过高音、低音、平衡、环绕声效果处理后送给功率放大器。如果当前输入是模拟电视信号和AV、RGB、YCbCr/YpbPr时,NJM1185 同时输出声音信号作为监视用。
软件架构
随着软件在整个电视产品中扮演着越来越重的角色,数字电视的发展趋势导致编写电视软件的复杂程度和工作量都比以往有了相当大的提高,已经不是个人能编写和完成的了。现阶段电视生产厂商的电视软件开发,无论是平台还是系统架构都是基于方案提供商提供,芯片供应商的千差万别导致开发的平台的不可重用性。每个供应商都有自己的一套系统架构,这就造成在每遇到一个新的平台情况下,以前平台的功能和相关代码基本上没有可以重复利用的地方,都需要重新学习和编写新平台下的各种电视功能和功能逻辑,这种无法重利用以前的劳动成果是一种对开发的浪费,尤其在数字电视软件工作量急剧提升的情况下。
本方案的软件的特点是基于方案提供商提供的软件基础上再开发一个中间层软件,本中间层通过封装和重新架构底层电视功能函数和操作系统函数形成一个完整的数字电视上层框架。在尽可能的情况下,能够最快的移植到相关的电视环境中,并使模块能够最大化的复用到其他电视方案。设计并实现OSD库以及和底层的相关接口,模块化数据存储的定义以及和底层的相关接口,编写电视的声音,图像,搜台,信道切换等各种基本功能模块以及和底层驱动的中间层封装。软件代码具有独立性,耦合度低,具有通用性,经简单修改接口函数即可移植到其他的数模一体机平台上。具有自己独立的GUI库和行为架构将大大节省GUI的开发周期和开发复杂度,软件工程师在技术积累的基础上可以重复利用以前GUI的资源,兼容性和稳定性都将有很大的提高。电视行为控制的上层封装相当于拥有自己的SDK平台,基于此SDK平台的修改和扩展可以逐步形成自己的平台技术积累。模块用C语言开发,使用标准的ANSI C语言库,GUI库使用C++语言开发,中间层是在底层库的基础上实现图像,声音,搜台,功能,节目管理等电视基本功能和逻辑。
该方案的软件是基于LINUX UC0S的平台,是具有多线程,多任务管理的操作系统。平台基本可以分为三层:固件,API层,应用软件层。固件和API层由TI公司提供,用于底层的驱动和TVP9000解复用。在此基础上进行应用软件层的开发,主要是提供一些和用户接口的功能部分,用户菜单主要分为以下5个部分,分别是图像,声音,搜台,频道管理和服务菜单,其中服务菜单是在数字电视下才有的,TVP9000的软件框架如图2。
图2 TVP9000的软件构架
图3 软件结构
本方案的软件结构如图3示,中间层包含了以下几个层:
*模块管理层,模块可以控制一个菜单,或者多个菜单,比如图像模块,声音模块。理论上模块管理器可以管理的模块是无限多的,不过基于链表的效率而言,推荐的模块数目不要超过50个,一般电视机而言不会有超过50个模块的。每个模块都有自己特定的功能,比如图像,声音,搜台等模块。
*事件转换层,将底层的不同的事件都经过事件转换层转换为中间层可识别的事件,比如将遥控码事件转化为中间层的key事件。
*功能抽象层,将底层基于硬件功能的部分都抽象为中间层标准的API函数,客户按照相应的功能填写这些函数。
*存储、公共变量层,存储(如E2PROM,FLASH)和公共变量的管理和接口层。
*主动任务层,用于作为实时检测,和定时功能实现的模块。