新闻中心

EEPW首页>手机与无线通信>设计应用> 基于DM642的网络视频系统的设计与实现

基于DM642的网络视频系统的设计与实现

作者: 时间:2012-06-11 来源:网络 收藏

2.2 图像的获取及视频端口驱动
本系统中,原始图像帧是由摄像机获取的,编码后进入的视频端口(VP)。对于的VP口,TI提供了一个两层设备驱动模型:类/微驱动模型(Class/Mini Driver),其中Class Driver(上层驱动)用于连接应用程序和下层驱动,Mini Driver(下层驱动)靠近底层硬件。在此基础上,应用程序可以复用绝大部分相似设备的驱动程序,从而提高驱动程序的开发效率。根据VP口的特点,Class Driver又可分为FVIDCl ass Driver和GIO Class Driver,FVID Class Driver更接近应用程序,提供一些特别适用于图像的API函数,而GIO ClassDriver则提供与Mini Driver进行通信的API函数。在视频采集过程中,使用硬件中断对视频数据进行控制和传输,在中断服务程序中,根据视频端口内部FIFO的状态通过EDMA完成视频数据的读入。
系统用于编码支持的视频标准有PAL、NTSC和SECAM制式。PHILIPS的图像解码芯片SAA7115支持6路复合模拟视频或3路S端子信号输入,支持多种格式的数字RGB和YUV视频信号输出。输入的模拟视频信号经过SAA7115H采样后转化为YUV 4:2:2格式的数字视频,分辨率为720x480(可根据需要进行设置,通过I2C总线对SAA7115H进行参数设定)。这是第一次采样过程。为了方便调用TI提供的JPEG算法库,还要对图像信号进行二次采样,将其转换为YUV 4:2:0格式。转换完成以后,将指向所得图像在内存区位置的指针通过SCOM消息传递给下一个任务,即编码。
2.3 图像的压缩编码
原始图像的数据量非常大,而传输的带宽有限,为了提高图像的传输速率,有必要对原始图像进行压缩编码处理。这一模块就是要将YUV 4:2:0格式的图像压缩成JPEG格式的图像。JPEG是一种被大量应用程序支持且非常流行的静态图像压缩标准,用户可以直接通过标准网页浏览器解压并查看JPEG格式的图像。在NTSC模式下(每秒30帧图像),把每一秒中连续的图像看作是独立的30帧静态图,作为动态JPEG(MJPEG)来进行编码。用户可自定义JPEG压缩的压缩级别,这将决定图像的压缩程度,并会直接决定所产生图像的质量。JPEG编码流程如图3所示。

本文引用地址://m.amcfsurvey.com/article/154677.htm

e.JPG


Data reformat:将原始扫描图像分割成一系列8x8大小的图像块,同时这个步骤还将象素的灰度进行平移,动态范围由(0~255)转化为(-127~128),以消除信号偏移量的影响。
DCT:对上一步得到的每个8x8图像块进行2D离散余弦变换,并输出其频谱。由于DCT是一种可分离变化,因此可把它作为两次8点1D离散余弦变换来
DC encode:对离散余弦变换后得到的直流分量(DC)系数进行量化和Huffman编码(变长编码)。
Quantization and RLE:对非零交流分量(AC)系数进行量化,并对其进行行程长度编码。
AC VLC:对上一步的输出结果再进行变长编码,并且构造图像的熵编码块。
Byte stuff:在JPEG标准中,一个或多个控制码以后面的0xFF来标记。在字节0xFF后面加上0x00则表示该0xFF是数据的一部分而非控制字。Byte stuff给熵编码块里的所有OxFF的后面插入0x00。



评论


相关推荐

技术专区

关闭