在DM642上开发嵌入式的网络视频服务器
发布时间:2007/8/30 0:00:00 访问次数:422
目前的安防监控领域的主流产品是DVR(数字硬盘录像机),它的主要特点是适合监控点集中的局域监控应用。但是,随着对于远程分布式监控需求的增长,嵌入式网络视频服务器(以下简称视频服务器)以其可靠性高,组网方便等优点越来越受到安防领域厂商和客户的重视。
目前的安防监控领域的主流产品是DVR(数字硬盘录像机),它的主要特点是适合监控点集中的局域监控应用。但是,随着对于远程分布式监控需求的增长,嵌入式网络视频服务器(以下简称视频服务器)以其可靠性高,组网方便等优点越来越受到安防领域厂商和客户的重视。 上一篇:2003光纤光缆行业形式浅评
一、系统方案
视频服务器的解决方案有多种选择,但是市场产品的主流一般选择两种方案:(1)CPU+ASIC。该方案选择以ARM为核的CPU和专用媒体处理芯片搭建。优点是开发时间相对较短,但由于采用ASIC,灵活性较差,产品一旦定型,很难更改。(2)采用面向媒体处理的专用DSP。其开发时间不长,优点是由于算法是软件代码,所以可以不断对产品性能进行升级,重复开发成本较低。
TI公司的DM642是一款专门面向多媒体应用的专用DSP。该DSP时钟高达600MHz,8个并行运算单元,处理能力达4800MIPS.。为了面向多媒体应用,还集成了3个可配置的Video
Port、面向音频应用的McASP、10/100Mb/s的Ethernet
MAC等外设。本文将以DM642为例,简要讨论在开发视频服务器中的技术难点和可以采用的解决方法。
视频服务器最主要的功能是完成图像和声音的采集、压缩及传输的功能。附图是一般的原理框图:
二、核心技术
视频服务器用到的核心技术一般包括视频压缩算法,音频压缩算法,网络传输协议。目前市场上的主流技术主要是MPEG4或H26x视频压缩算法、AAC音频压缩算法、G.72x语音压缩算法(或AAC音频压缩算法),TCP/IP协议等。
对于这些核心算法,一般为TI的第三方公司掌握,如果使用需要支付较高的入门许可费和每个产品的License费用。鉴于此,一些有实力且有相关技术背景的公司选择自主研发。下面我们对视频压缩算法的开发中解决的一些主要问题进行介绍。
(a)开发平台的选择
TI公司提供DM642的EVM板,一般的开发厂商可以在其上进行算法的验证,但开发板价格较贵,另外在上面开发的程序跟实际应用毕竟有区别,移植工作会延长最终产品的发布时间。因此,建议有较强开发实力的公司可以直接进行视频服务器板卡的设计,直接以板卡作为平台进行算法的验证。我们采用这种方法不但省去了EVM板的购买,而且缩短了整个产品的开发周期。
(b)DM642片内内存有限
DM642有256KB的片内内存,对于直接处理图像数据还是很有限的。MPEG4算法一般至少要存储当前待编码帧数据和上一帧的重建帧数据,一帧YUV420格式CIF图像的数据约有150KB,256KB内存对于CIF图像就不够了。对于DM642,数据如果放在板卡上的片外内存中,数据的处理速度会大大降低,这是因为DSP对片外数据的运算慢得多。我们一般采取的方案是对图像以宏块为单位处理,只将运算时该宏块需要的数据导入片内,其它数据留在片外,这样的数据量就足够放在片内了。
(c)充分利用DM642的DMA通道
DSP直接访问内存会造成等待,浪费大量不必要的时钟周期。幸好DM642有强大的DMA能力,因此我们可以在处理当前宏块数据时,将下一个宏块的数据通过DMA倒入片内,当处理完当前宏块的时候,下一个宏块的数据就已经准备好了,这样可以极大提高DSP的利用率。但具体实现的时候需要对DMA启动的时机进行仔细的考虑,在数据访问不冲突的情况下尽量提前。
(d)充分利用Cache
DM642的片内内存可以有一部分配置成Cache,总的原则是将尽量多的关键数据分配在片内,Cache越大越好,对于不同的应用需要用不同的配置。最优配置需要在开发中根据经验和实际的测试结果进行选择。
(e)提高DM642的编码速度
TI的CCS编译器已进行了充分的优化,再加上DSP本身的强大处理能力,对于一般的处理算法,只要用标准C语言编写就可以达到应用的需求。但是对于视频服务器,一般有多路图像的输入,这时编码速度越快,就意味着可以处理更多路的输入图像,也就意味着更高的产品性价比。因此如何发挥DM642的最高性能是每一个开发厂商必须面对的问题。一般在编译程序时使用
?o3的优化级别,对于特别影响速度的地方,如运动估计、VLC编码等部分可以编写线性汇编程序,如果对于编译器优化的线性汇编程序不是很满意,还可以直接用手工编写并行汇编程序,这样可以达到最优的性能,但这样对于开发人员的要求很高。因此建议较简单的函数采用并行汇编,达到最优性能;对于较复杂的函数采用线性汇编,以便加快开发速度。
(f)eXpressDSP标准
由于DSP的灵活性,TI有众多的提供各种算法的第三方公司,但在每一个具体的应用中一般需要将多种算法集成在一起,由于各种算法对资源的需求不同,很容易发生冲突,因此TI制定了eXpressDSP标准。它定义了一套建议算法遵循的接口标准,符合eXpressDSP的算法易于重复使用。由于视频服务器的型号繁多,算法更新快,因此开发时,符合eXpressDSP标准尤其重要。
三、相关技术
解决了核心技术的问题就有了进行视频服务器开发的重要基础。但由于要满足用户的各种各样的需求,还需要解决很多相关技术。下面将选择一些较为重要的加以介绍。
一、系统方案
视频服务器的解决方案有多种选择,但是市场产品的主流一般选择两种方案:(1)CPU+ASIC。该方案选择以ARM为核的CPU和专用媒体处理芯片搭建。优点是开发时间相对较短,但由于采用ASIC,灵活性较差,产品一旦定型,很难更改。(2)采用面向媒体处理的专用DSP。其开发时间不长,优点是由于算法是软件代码,所以可以不断对产品性能进行升级,重复开发成本较低。
TI公司的DM642是一款专门面向多媒体应用的专用DSP。该DSP时钟高达600MHz,8个并行运算单元,处理能力达4800MIPS.。为了面向多媒体应用,还集成了3个可配置的Video
Port、面向音频应用的McASP、10/100Mb/s的Ethernet
MAC等外设。本文将以DM642为例,简要讨论在开发视频服务器中的技术难点和可以采用的解决方法。
视频服务器最主要的功能是完成图像和声音的采集、压缩及传输的功能。附图是一般的原理框图:
二、核心技术
视频服务器用到的核心技术一般包括视频压缩算法,音频压缩算法,网络传输协议。目前市场上的主流技术主要是MPEG4或H26x视频压缩算法、AAC音频压缩算法、G.72x语音压缩算法(或AAC音频压缩算法),TCP/IP协议等。
对于这些核心算法,一般为TI的第三方公司掌握,如果使用需要支付较高的入门许可费和每个产品的License费用。鉴于此,一些有实力且有相关技术背景的公司选择自主研发。下面我们对视频压缩算法的开发中解决的一些主要问题进行介绍。
(a)开发平台的选择
TI公司提供DM642的EVM板,一般的开发厂商可以在其上进行算法的验证,但开发板价格较贵,另外在上面开发的程序跟实际应用毕竟有区别,移植工作会延长最终产品的发布时间。因此,建议有较强开发实力的公司可以直接进行视频服务器板卡的设计,直接以板卡作为平台进行算法的验证。我们采用这种方法不但省去了EVM板的购买,而且缩短了整个产品的开发周期。
(b)DM642片内内存有限
DM642有256KB的片内内存,对于直接处理图像数据还是很有限的。MPEG4算法一般至少要存储当前待编码帧数据和上一帧的重建帧数据,一帧YUV420格式CIF图像的数据约有150KB,256KB内存对于CIF图像就不够了。对于DM642,数据如果放在板卡上的片外内存中,数据的处理速度会大大降低,这是因为DSP对片外数据的运算慢得多。我们一般采取的方案是对图像以宏块为单位处理,只将运算时该宏块需要的数据导入片内,其它数据留在片外,这样的数据量就足够放在片内了。
(c)充分利用DM642的DMA通道
DSP直接访问内存会造成等待,浪费大量不必要的时钟周期。幸好DM642有强大的DMA能力,因此我们可以在处理当前宏块数据时,将下一个宏块的数据通过DMA倒入片内,当处理完当前宏块的时候,下一个宏块的数据就已经准备好了,这样可以极大提高DSP的利用率。但具体实现的时候需要对DMA启动的时机进行仔细的考虑,在数据访问不冲突的情况下尽量提前。
(d)充分利用Cache
DM642的片内内存可以有一部分配置成Cache,总的原则是将尽量多的关键数据分配在片内,Cache越大越好,对于不同的应用需要用不同的配置。最优配置需要在开发中根据经验和实际的测试结果进行选择。
(e)提高DM642的编码速度
TI的CCS编译器已进行了充分的优化,再加上DSP本身的强大处理能力,对于一般的处理算法,只要用标准C语言编写就可以达到应用的需求。但是对于视频服务器,一般有多路图像的输入,这时编码速度越快,就意味着可以处理更多路的输入图像,也就意味着更高的产品性价比。因此如何发挥DM642的最高性能是每一个开发厂商必须面对的问题。一般在编译程序时使用
?o3的优化级别,对于特别影响速度的地方,如运动估计、VLC编码等部分可以编写线性汇编程序,如果对于编译器优化的线性汇编程序不是很满意,还可以直接用手工编写并行汇编程序,这样可以达到最优的性能,但这样对于开发人员的要求很高。因此建议较简单的函数采用并行汇编,达到最优性能;对于较复杂的函数采用线性汇编,以便加快开发速度。
(f)eXpressDSP标准
由于DSP的灵活性,TI有众多的提供各种算法的第三方公司,但在每一个具体的应用中一般需要将多种算法集成在一起,由于各种算法对资源的需求不同,很容易发生冲突,因此TI制定了eXpressDSP标准。它定义了一套建议算法遵循的接口标准,符合eXpressDSP的算法易于重复使用。由于视频服务器的型号繁多,算法更新快,因此开发时,符合eXpressDSP标准尤其重要。
三、相关技术
解决了核心技术的问题就有了进行视频服务器开发的重要基础。但由于要满足用户的各种各样的需求,还需要解决很多相关技术。下面将选择一些较为重要的加以介绍。
深圳服务热线:13692101218 13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)

深圳市碧威特网络技术有限公司
付款方式