位置:51电子网 » 技术资料 » D S P

基于DSP的实时MPEG-4编码的软件优化设计

发布时间:2007/8/23 0:00:00 访问次数:487

    摘要:结合开发工具TMS320C6201EVM板的结构和特点,阐述了在实现MPEG-4实时视频编码中,对算法的软件优化所做的工作。

    关键词:TMS320C6201 MPEG-4 优化 并行处理

TMS320C6201芯片是TI公司新推出的并行处理的数字信号处理器。它的最高处理能力高达1600MIPS,即16亿万次每秒定点运算,是目前市场上所有的DSP芯片中速度较快、处理功能较强的DSP处理器。其应用前景十分广泛。本文利用C6201开发工具EVM(模拟评估)板,用软件实现实时MPEG-4编码。详细探讨了MPEG-4视频编码中的关键模块,并针对TMS320C6000的物理指令结构,对软件优化的特殊处理做了较深入的研究。

1 开发工具的介绍

笔者采用的评估工具是TI公司的C6XEVM[2]。它的结构如图1所示。

C6XEVM除核心DSP之外,还提供了如下工具:一个64K×32bit、133MHz的z同步脉冲静态随机存取存储器(SBSRAM);两个1M×32bit、100MHz的同步动态RAM(SDRAM);内含基于PCI或外部XDS510支持的JTAG仿真;支持采样速率为5.5kHz~48kHz的立体声16位音频边界码;1.8V/2.5V直流电压3.3V直流电单板转换电压调整器;模拟5V直流电压的单板线电压调整器;3个LED指示器(电压,2个自定义指示)等。

SBSRAM映射到DSP的CE0存储空间,把它用于程序自举。通常SBSRAM都工作在133MHz。当采用全速接口时,CPU时钟就等于SBSRAM的时钟;当采用半速接口时,SBSRAM的速度是CPU时钟速度的一半。

EVM提供的两个1M×32bit的字存储区间的SDRAM,每一个存储空间包含两512×2banks×16位的器件。它们映射到DSP的CE2和CE3存储空间,每一个空间使用16Mbit的地址空间。SDRAM通常是CPU时钟速度的一半。

EVM提供的异步存储连接器允许给子板附加一个存储区间或者存储映射区间。扩展存储的界面被映射到DSP的4M异步CE1存储空间的低3M空间。CE1中扩展空间的地址从0x100000~12FFFFF,在MAP0和MAP1方式下为0x1400000~16FFFFF,CE1的最上面的1M字节可分配给板上外围。CE1存储空间的这种分配方式容许了板上器件和扩展器件的共存。

2 MPEG-4视频编码

MPEG-4编码是基于VOP的编码[3]。所谓VOP是指视频目标平面,即视频对象VO在某一时间的存在。VOP编码器的结构框图如图2所示。

编码器主要由两部分组成:一是形状编码器;另一个是传统的运动估计和补偿及纹理VOP编码器。VOP可采用帧内编码(Intera-VOP,简称I-VOP)和帧间预测编码(Inter-VOP)。帧间预测编码又可以分为前向因果预测编码(P-VOP)和前后向非因果编码(B-VOP)。帧间预测编码消除了视频信息的时间冗余。对于VOP的编码,首先将各个VOP从上到下分成16×16大小的宏块(MB)。具体的形状、运动和纹理编码基于MB进行,所以一个MB的信息是形状、运动、纹理(Shape-Motion-Texture)的总和。进行MB编码时,再把它分成4个8×8块(Block)的亮度Y分量,和2个8×8块的色度Cr和Cb分量分别进行编码。然后对6个Block分别进行8×8DCT二维变换、量化和Huffman编码。

进行测试使用的图像是QCIF格式(176×144象素),图像数据从主机读入。通过CCS测得其各个模块所消耗的时间周期比率如下:

其各个部分占总运算量的比例分别为:

分析显示,运动估计和运动补偿模块及纹理编码模块是MPEG-4实现的最主要的瓶颈。所以在程序优化上所做的工作主要是基于这两个模块进行。

    摘要:结合开发工具TMS320C6201EVM板的结构和特点,阐述了在实现MPEG-4实时视频编码中,对算法的软件优化所做的工作。

    关键词:TMS320C6201 MPEG-4 优化 并行处理

TMS320C6201芯片是TI公司新推出的并行处理的数字信号处理器。它的最高处理能力高达1600MIPS,即16亿万次每秒定点运算,是目前市场上所有的DSP芯片中速度较快、处理功能较强的DSP处理器。其应用前景十分广泛。本文利用C6201开发工具EVM(模拟评估)板,用软件实现实时MPEG-4编码。详细探讨了MPEG-4视频编码中的关键模块,并针对TMS320C6000的物理指令结构,对软件优化的特殊处理做了较深入的研究。

1 开发工具的介绍

笔者采用的评估工具是TI公司的C6XEVM[2]。它的结构如图1所示。

C6XEVM除核心DSP之外,还提供了如下工具:一个64K×32bit、133MHz的z同步脉冲静态随机存取存储器(SBSRAM);两个1M×32bit、100MHz的同步动态RAM(SDRAM);内含基于PCI或外部XDS510支持的JTAG仿真;支持采样速率为5.5kHz~48kHz的立体声16位音频边界码;1.8V/2.5V直流电压3.3V直流电单板转换电压调整器;模拟5V直流电压的单板线电压调整器;3个LED指示器(电压,2个自定义指示)等。

SBSRAM映射到DSP的CE0存储空间,把它用于程序自举。通常SBSRAM都工作在133MHz。当采用全速接口时,CPU时钟就等于SBSRAM的时钟;当采用半速接口时,SBSRAM的速度是CPU时钟速度的一半。

EVM提供的两个1M×32bit的字存储区间的SDRAM,每一个存储空间包含两512×2banks×16位的器件。它们映射到DSP的CE2和CE3存储空间,每一个空间使用16Mbit的地址空间。SDRAM通常是CPU时钟速度的一半。

EVM提供的异步存储连接器允许给子板附加一个存储区间或者存储映射区间。扩展存储的界面被映射到DSP的4M异步CE1存储空间的低3M空间。CE1中扩展空间的地址从0x100000~12FFFFF,在MAP0和MAP1方式下为0x1400000~16FFFFF,CE1的最上面的1M字节可分配给板上外围。CE1存储空间的这种分配方式容许了板上器件和扩展器件的共存。

2 MPEG-4视频编码

MPEG-4编码是基于VOP的编码[3]。所谓VOP是指视频目标平面,即视频对象VO在某一时间的存在。VOP编码器的结构框图如图2所示。

编码器主要由两部分组成:一是形状编码器;另一个是传统的运动估计和补偿及纹理VOP编码器。VOP可采用帧内编码(Intera-VOP,简称I-VOP)和帧间预测编码(Inter-VOP)。帧间预测编码又可以分为前向因果预测编码(P-VOP)和前后向非因果编码(B-VOP)。帧间预测编码消除了视频信息的时间冗余。对于VOP的编码,首先将各个VOP从上到下分成16×16大小的宏块(MB)。具体的形状、运动和纹理编码基于MB进行,所以一个MB的信息是形状、运动、纹理(Shape-Motion-Texture)的总和。进行MB编码时,再把它分成4个8×8块(Block)的亮度Y分量,和2个8×8块的色度Cr和Cb分量分别进行编码。然后对6个Block分别进行8×8DCT二维变换、量化和Huffman编码。

进行测试使用的图像是QCIF格式(176×144象素),图像数据从主机读入。通过CCS测得其各个模块所消耗的时间周期比率如下:

其各个部分占总运算量的比例分别为:

分析显示,运动估计和运动补偿模块及纹理编码模块是MPEG-4实现的最主要的瓶颈。所以在程序优化上所做的工作主要是基于这两个模块进行。

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!