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

AVS-M实时编码器的设计与实现

发布时间:2008/5/27 0:00:00 访问次数:706

        

    

    

    来源:电子系统设计 作者:琪 钮月忠avs-m是avs标准的第7部分——一款专门为移动通讯环境而设计的视频编解码标准。本项目的目的是要验证avs-m在应用环境中的性能表现,借此证明该标准的实用价值,为其在国内的产业化过程作贡献。移动通讯终端具有带宽低,误码率高和计算能力弱等特点,目前主要以mpeg-4 sp为视频编解码的标准,今后国际上可能的升级方案有h.264和vc-1等。本项目通过在相同测试环境下对比avs-m与h.264标准的实际性能表现来证明avs-m标准的实用价值。为了贴近真实的使用环境,本项目实现的编码器需要实现实时音视频采集、实时编码、实时通过以太网以mpeg2 ts流的形式输出码流的功能。

    

    vlc与x264是两款遵循gpl标准发布的开源软件,其中vlc是一个流媒体平台,支持插件功能;x264是一款h.264编码库,并针对x86平台进行了优化。为了尽快取得验证结果,本项目采用vlc和x264项目为设计的出发点。vlc以插件的形式实现了实时音视频采集,h.264编码,mpeg2 ts流复用和以太网输出等功能,恰好契合本项目的总体需求;avs-m标准起源于于h.264标准,两者结构类似、功能相同,以h.264为基础开发avs-m标准能加快开发进度,并且采用同一代码树也能更好的比较avs-m与h.264标准的实际性能差异。为了更符合实际的使用环境,本项目采用aac+作为音频的编码标准。vlc本身并不支持aac+的编码功能,而只支持其解码功能,在此采用3gpp工程的26410-700作为aac+标准的实现,通过插件的方式来实现aac+音频编码功能。

    

    vlc不但支持音视频数据的采集、编码、复用和以太网发送功能,而且还支持码流的以太网接收、解复用、解码和播放功能。为了验证编码器的实际编码效果,本项目也采用vlc作为码流的接收端,通过实时观看播放的效果来评判编码器的性能表现。支持avs-m解码功能的vlc为另一项目的开发成果,在本文不作详细描述。

    

    编码器

    

    音频和视频编码都是计算密集型的操作,如果要实时编码就需要一个强劲的运算平台,这里采用一台dell poweredge 2950 服务器作用编码器的硬件基础。poweredge 2950配置有一颗intel xeon 5160 (woodcrest) 3.0ghz双核cpu、1gb ddr2内存、sata ii 硬盘、内置双broadcom bcm5708c netxtreme ii gige千兆以太网控制器,并具有两条pci-x扩展插槽以扩充外设接口功能。操作系统选用red hat enterprise linux 4 (32bit)操作系统。

    

    poweredge 2950本身不具有音视频采集接口,需要通过相应的采集卡扩展。这里采用一块osprey 230采集卡作为实时音视频采集接口,它采用pci-x接口形式,支持pal/ntsc/secam视频标准,能实时采集一路标清视频及双声道的音频。以太网输出采用poweredge 2950内置的千兆以太网接口。编码器的整体框图如下图所示:

    

    

    整个编码了流程为:pal/ntsc/secam的视频信号通过composite或s-video接口,音频通过双声道音频接口进入osprey 230 采集卡;osprey 230由video4linux2与oss驱动程序来驱动,vlc通过这两个接口控制采集卡,实时读取音视频数据,并分别将音视频数据送到avs-m编码器与aac+编码器进行编码;编码后生成的码流送到mpeg2 ts 复用器进行复用;复用后的ts流通过以太网接口以udp单播或组播的方式发送出去。

    

    1 编码库

    

    开发支持avs-m标准的编码库是本项目的重点,根据avs-m标准与h.264标准的异同对x264编码库进行修改,修改的原则是在不改变原先h.264编码功能的前提下增加avs-m编码功能。为了同时支持上述两个标准,在此采用运行时开关的方法使得编码库既支持h.264标准又支持avs-m标准,并且两者可以动态地切换。如下是在开发过程中涉及的两个标准的不同部分。

    a)nal层

    

    

    avs-m和h.264类似,码流的基本单元都是nal,每个nal可以包含序列头、图像头和条带等多种语法结构。不同之处是h.264中为了避免与起始码混淆,当nal内部出现0x000001时,要在0x01之前插入一个0x03。所以我们在实现avs-m时,要把这个插入0x03的模块删除。

    

    

&nbs

        

    

    

    来源:电子系统设计 作者:琪 钮月忠avs-m是avs标准的第7部分——一款专门为移动通讯环境而设计的视频编解码标准。本项目的目的是要验证avs-m在应用环境中的性能表现,借此证明该标准的实用价值,为其在国内的产业化过程作贡献。移动通讯终端具有带宽低,误码率高和计算能力弱等特点,目前主要以mpeg-4 sp为视频编解码的标准,今后国际上可能的升级方案有h.264和vc-1等。本项目通过在相同测试环境下对比avs-m与h.264标准的实际性能表现来证明avs-m标准的实用价值。为了贴近真实的使用环境,本项目实现的编码器需要实现实时音视频采集、实时编码、实时通过以太网以mpeg2 ts流的形式输出码流的功能。

    

    vlc与x264是两款遵循gpl标准发布的开源软件,其中vlc是一个流媒体平台,支持插件功能;x264是一款h.264编码库,并针对x86平台进行了优化。为了尽快取得验证结果,本项目采用vlc和x264项目为设计的出发点。vlc以插件的形式实现了实时音视频采集,h.264编码,mpeg2 ts流复用和以太网输出等功能,恰好契合本项目的总体需求;avs-m标准起源于于h.264标准,两者结构类似、功能相同,以h.264为基础开发avs-m标准能加快开发进度,并且采用同一代码树也能更好的比较avs-m与h.264标准的实际性能差异。为了更符合实际的使用环境,本项目采用aac+作为音频的编码标准。vlc本身并不支持aac+的编码功能,而只支持其解码功能,在此采用3gpp工程的26410-700作为aac+标准的实现,通过插件的方式来实现aac+音频编码功能。

    

    vlc不但支持音视频数据的采集、编码、复用和以太网发送功能,而且还支持码流的以太网接收、解复用、解码和播放功能。为了验证编码器的实际编码效果,本项目也采用vlc作为码流的接收端,通过实时观看播放的效果来评判编码器的性能表现。支持avs-m解码功能的vlc为另一项目的开发成果,在本文不作详细描述。

    

    编码器

    

    音频和视频编码都是计算密集型的操作,如果要实时编码就需要一个强劲的运算平台,这里采用一台dell poweredge 2950 服务器作用编码器的硬件基础。poweredge 2950配置有一颗intel xeon 5160 (woodcrest) 3.0ghz双核cpu、1gb ddr2内存、sata ii 硬盘、内置双broadcom bcm5708c netxtreme ii gige千兆以太网控制器,并具有两条pci-x扩展插槽以扩充外设接口功能。操作系统选用red hat enterprise linux 4 (32bit)操作系统。

    

    poweredge 2950本身不具有音视频采集接口,需要通过相应的采集卡扩展。这里采用一块osprey 230采集卡作为实时音视频采集接口,它采用pci-x接口形式,支持pal/ntsc/secam视频标准,能实时采集一路标清视频及双声道的音频。以太网输出采用poweredge 2950内置的千兆以太网接口。编码器的整体框图如下图所示:

    

    

    整个编码了流程为:pal/ntsc/secam的视频信号通过composite或s-video接口,音频通过双声道音频接口进入osprey 230 采集卡;osprey 230由video4linux2与oss驱动程序来驱动,vlc通过这两个接口控制采集卡,实时读取音视频数据,并分别将音视频数据送到avs-m编码器与aac+编码器进行编码;编码后生成的码流送到mpeg2 ts 复用器进行复用;复用后的ts流通过以太网接口以udp单播或组播的方式发送出去。

    

    1 编码库

    

    开发支持avs-m标准的编码库是本项目的重点,根据avs-m标准与h.264标准的异同对x264编码库进行修改,修改的原则是在不改变原先h.264编码功能的前提下增加avs-m编码功能。为了同时支持上述两个标准,在此采用运行时开关的方法使得编码库既支持h.264标准又支持avs-m标准,并且两者可以动态地切换。如下是在开发过程中涉及的两个标准的不同部分。

    a)nal层

    

    

    avs-m和h.264类似,码流的基本单元都是nal,每个nal可以包含序列头、图像头和条带等多种语法结构。不同之处是h.264中为了避免与起始码混淆,当nal内部出现0x000001时,要在0x01之前插入一个0x03。所以我们在实现avs-m时,要把这个插入0x03的模块删除。

    

    

&nbs

相关IC型号

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!