这种通过硬件解码的处理图像方式既能按比例缩小视频尺寸又能节省CPU的占用率,能很好的适应电视系统在手机等小屏幕视窗的数码产品的需求,具有广大的市场应用前景。
随着模拟信号数字化的不断发展,模拟电视数字化也被广泛的应用于数字多媒体终端。尤其是监控设备及新兴的手机电视终端等,对于视频的画面比例、清晰度、CPU占用率等方面的要求,更加促使人们研究如何将视频以最少的资源占用率实现最佳的编码、传输、解码及播放。模拟视频信号解码既是视频应用的重要部分,又是后级数字信号处理的基础。国际电信联盟组织提出了将模拟视频信号转换成数字信号的标准ITU2R BT. 601,而ITU2RBT. 656是数据传输接口,可以说是BT. 601的一个传输方式。因此,如何将经BT. 656 编码的模拟信号进行最为有效地恢复原始图像并且最大程度地节省CPU占用空间,是视频解码" title="视频解码">视频解码技术的关键。
1 系统分析
视频解码是指从来自外界信号源的数据流中过滤去其他数据,将一帧完整的有效数据提取出来传送给播放器播放的过程。它既是视频应用的重要部分,也是上位机进行数据处理的基础。系统采用硬件解码方式,将已编码好的外界信号源经一系列处理后最终还原出原始视频图像,实现视频解码功能。它由外界信号源(如DVD等) 、数据解码模块、数据缓存模块、数据传输模块、显示模块(播放器)及控制模块等部分组成。其系统框图如1所示:
图1 电视系统框图
数字视频的信号源是在模拟视频信号的基础上经过取样、量化和编码形成的,不同的空间垂直分辨率,会有不同的空间水平分辨率。经BT. 656编码的数据由信号源发出后经数据解码模块的筛选,将有效数据放入数据缓存FIFO模块,然后DMA传输模块按照一定格式将处理好的有效数据传输至上位机的缓存(内存空间) ,等数据达到一帧时,上位机便将一帧数据进行奇偶穿插放进数据缓存FIFO,最后播放器将一帧数据复原为原始图像呈现在显示器上进行播放。
2 BT. 656的编码原理
目前世界上有PAL、NTSC、SECAM三种不同制式的模拟电视系统,而这些制式之间不能直接互通。
因此,国际电信联盟无线电通信部门通过了ITU2RBT. 601分量数字系统建议。ITU2R BT. 601是“演播室数字电视" title="数字电视">数字电视编码参数”标准,而ITU2R BT. 656则是ITU2R BT. 601附件A中的数字接口标准,用于主要数字视频设备(包括芯片)之间采用27 MHz/ s并口或243Mbit/ s串行接口的数字传输接口标准。包括对525行和625行接口都通用的信号格式、比特并行接口特性和比特串行接口特性。该接口为在单一信号源与单一终点之间提供单向互连。一帧数据分别包含525行或者625行,对于每一行数据信号编码成8 bit (或10bit)的形式,包括视频信号、时基信号、辅助信号三个分量。数据的归属由时基信号区分,时基信号包括SAV和EAV,分别表示数据行的开始和结束,由16进制的FF 00 00 XY组成4 byte数据。其中FF 00 00为SAV和EAV的数据标志位, XY为时基信号的信息位,相应的编码格式如表1所示:
表1 时基信号编码格式
XY的最高位bit7为固定数据1; F = 0表示偶数场, F =1表示奇数场; V =0表示该行为有效视频数据,V =1表示该行无有效视频数据; H = 0表示为SAV信号,H =1表示为EAV信号; P3~P0为保护信号,由F、V、H信号计算生成; P3 =V异或H; P2 = F异或H; P1 =F异或V; P0 = F异或V异或H。当时基信号的V =0时,表明该行为视频数据;当V =1时,表明该行为辅助数据(当无辅助数据时,为消隐,一般为10、80交替出现)。将625行(PAL制式)和525行(NTSC制式)电视系统的一帧数据经解码和奇偶穿插后播放器才能把图像正确地显示出来。根据时基信号SAV和EAV的变化,过滤去非有效数据,将偶数场有效数据和奇数场有效数据提取出来放入上位机缓存。而上位机只需将接收到的视频纯有效数据进行穿插后放进播放器前端的FIFO,即可实现视频播放。
3 硬件解码及等比例缩小的设计实现
3. 1 硬件解码设计
常见的电视制式有PAL、NTSC、SECAM,为了实现数字化处理,必须进行A /D转换,其转换后的格式通常为ITU2R BT656标准的数字视频信号,但是此时的视频信号包括同步信号和消隐信号,还无法进行处理。
为了真正实现可处理的有效视频数据,将Y, Cb, Cr准确的分离出来,要对ITU2R BT656视频流进行解码,同时待有效视频流处理完毕后,再将Y, Cb, Cr和同步信号、消隐信号复合,译码。对此,视频解码在视频处理中极其重要。视频解码根据有效数据提取的方式的不同,可以分为硬件解码和软件解码。软件解码与计算机结合紧密,虽有处理相对方便灵活的优点,但由于需要处理的数据量相当大, CPU占用率相应较高。而硬件解码能很大程度上节省CPU占用率,但一帧数据需要800多kbyte,如果要在硬件上完成奇偶穿插后传输给上位机几乎不可能,因此需要上位机对一帧数据进行穿插处理。相应的525行和625行电视系统的一帧数据的编码格式图2所示:
图2 BT. 656的525 /60和625 /50两种帧数据格式。
根据编码协议里时基信号SAV 和EAV中XY信息位F、V 的变化情况,可以确定每一帧数据的第一行( 525行系统FV 由10跳变为11, 625系统FV由11跳变为01) ,此时可标记为一帧数据的帧头,同时设置一个计数器,每判断到一次EAV,计数器加1,计数满一帧格式所需的行数时将帧尾的标记告诉上位机,然后计数器清零等待新的一帧数据的开始。通常情况下数据是一帧一帧连续传输的,进行循环上一次的操作。因此上位机可根据接收到经硬件处理过的数据,可直接得到每一帧有效数据,只需完成判断到帧头时将数据放入内存,判断到帧尾时,将一帧数据进行穿插后传给播放器播放。经计算,一帧数据大概需要800多kB的容量,因此,上位机1M的内存空间已满足用于对一帧数据的处理。
3. 2 按比例缩小设计
为达到视频等比例缩小目的,在对有效数据进行筛选的时候必须严格依照数据编码的格式进行筛选,例如: PAL 制式(一帧625行)有效数据共有576行,每行720个象素,故图像格式为720 ×576。
现在要生成640 ×480 的图像格式,则每行需过滤80个象素,每帧需过滤96行,即每一行前后各过滤40个,奇数域前后各24 行,偶数域前后各24 行。如图3所示。
如果要生成的图像格式要求小于原来的一半,则需采用每隔一行过滤一行、每隔一个象素过滤一个象素的方式以保证缩小后的图像仍能最大限度地与原始图像保持一致。因此,根据这种方式可生成所需要的任何大小比例的图像。
图3 处理前和处理后的帧数据结构。
3. 3 实验结果
在实际测试中,采用VHS TO DVD播放器播放时,BT. 656数据格式电视系统软件解码的CPU 占用率在一台内存为1G, CPU为P4. 0的PC系统上为33 %~40 % ,而同条件下硬件解码的CPU占用率仅为3 % ~9 % ,效果取得了令人满意的效果。
其CPU占用率效果对比图如图4和图5所示。
图4 软件解码CPU占用率。
图5 硬件解码CPU占用率。
在试验中按2∶1比例缩小的画面清晰度仍然较高,缩小后的图像最大限度地保持了原始图像的效果,但数据采样量变为原来的一半,以下分别为原始图像和按2∶1比例缩小后的图像效果比较如图6和图7所示。
图6 原始图片效果。
图7 按2∶1缩小后的图片效果。
4 结束语
本文提出了针对BT. 656的电视视频系统的硬件解码的方案,难点在于硬件内部对视频数据进行准确地筛选出播放器所需要显示的有效数据,过滤其他数据。此方案优点在于能大幅度降低视频处理器的工作量,同时可以配置硬件完成对视频数据的按比例缩小功能,可满足手机电视等小屏幕视窗数码产品的需求。