基于ADSP-BF532的嵌入式网络视频服务器的设计

发布者:心愿成真最新更新时间:2009-08-11 来源: 电子技术应用关键字:嵌入式视频服务器  ADSP-BF532  视频编码  网络通讯 手机看文章 扫描二维码
随时随地手机看文章

  目前,视音频技术在各项工作和生活领域中得到了广泛应用,还为人们提出了高效的传输平台以及接入和处理手段。多媒体监控系统以其能够实时、形象、真实地反映被监控对象的特性而逐渐成为现代化管理、检测、控制的重要技术手段之一。而网络视频技术的一个主要热点就是嵌入数字视频监控系统。在基本嵌入式远程视频监控系统的研究中,国外起步较早,并处于领先水平,已经有成熟的嵌入式网络视频服务产品,采用MPEG或者小波压缩方法,其性能普遍比较好,但价格昂贵。国内在这方面的研究还处于刚刚起步的阶段,随着数字技术的发展,图像数据压缩编码技术及标准的改进,芯片成本的不断下降,从事研究的单位也就越来越多。本系统利用美国ADI公司2004年4月最新推出的ADSP-BF532 DSPCPU芯片实现嵌入式网络视频服务器,将其用于构建高可靠性的视频监控系统。ADSP-BF532摒除了基于传统架构的传统DSP和RISC控制器不能满足视频应用的广泛性、灵活性以及标准的多样性的缺隐,利用ADI公司采用的全新的MSA架构技术,充分满足了实时多媒体数字信号处理的要求。本文研究的嵌入式网络视频服务器的设计方案,与传统的多媒体监控系统相比,具有何种小、成本低、稳定性高和实时性好等特点,有很强的实际应用价值。

基于ADSP-BF532的嵌入式网络视频服务器的研究与实现

  1 嵌入式网络视频服务器的原理

  嵌入式视频服务器是一种提供网络视频传输和共享的嵌入式设备。它采用嵌入式一体化结构,以面向实时处理的软件平台,集成了多通道视频、网络传输等多种功能,将视频和音频信号进行采集、压缩、复合后转换为网络IP包,采用合适的网络协议实现了视频和音频压缩数据流的实时网络传输,使得用户无论身在何处都能通过网络获得指定现场的实时图像和声音信息。此外,通过视频服务器内置的一个嵌入式网络服务器,还能实现对视频服务器的远程配置和其他附属设备的远程控制与状态获取。

  由于把视频压缩和网络功能集中到一个体积很小的设备内,可以直接连入局域网,达到即插即看,省掉多种复杂的电缆,安装方便(仅需要设置一个IP地址)。用户也无需安装任何硬件设备,仅用浏览器即可观看,也可以在上端主机编制控制程序,通过人机界面进行浏览。

  2 系统的硬件设计

  基于ADSP-BF532的嵌入式网络视频服务器的主要硬件功能模块为:视频输入模块、核心的ADSP-BF532CPU、视频输出模块、外部存储块、仿真调试接口(JTAG)模块以及电源模块。

  图1为该系统组成结构图,具体设计如下:系统前端视频采集由ADV7183实现,视频数据采集格式为YUV422Planar,采集的数据经过ADSP-BF532的PPI接口直接存储在SDRAM里,ADV7183在自己的时钟控制下通过PPI接口自动向SDRAM单元送数据,当采集完一场数据时DMA产生中断,在DMA的中断服务程序里根据实际设定情况完成视频处理;音频采集由AD1836以及外围相应的电路来实现,音频采集格式为单声道,8000Samples/s,每个采样用16Bits量化,采集的数据经过ADSP-BF532的PPI接口直接存储在SDRAM里,当设定存放音频采集数据的缓存器满时DMA产生中断,在DMA的中断服务程序里根据实际设定情况处理音频数据;ADSP-BF532一方面把采集来的视频音频数据经SPI接口送入MPC860进行处理,通过MPC860的MII接口与物理网络相连接,然后送到PC机上供实时监看和监听;一方面实时处理采集的音视频数据,压缩编码元成后的数据送到PC机,并存入硬盘。系统配置JTAG接口,运用于调试阶段。本文主要研究嵌入式视频服务器中的视频数据的处理,对于音频数据不予介绍。

  3 系统的软件设计与优化

  系统在Blackfin系列的软件开发环境Visual DSP++ 3.1下实现,主要分为视频外设编程、视频编码编程、视频传输编程以及系统优化部分。

  3.1 系统外设软件设计

  视频输入设备ADV7183:ADSP-BF532通过I2C总线配置ADV7183采集图像的亮度、对比度、色度和饱和度等。ADV7183的内部控制寄存器访问通过I2C总线接口完成。

  基于ADSP-BF532的嵌入式网络视频服务器的研究与实现

  视频输入PPI接口:半双工形式,最大16位数据传输,输入时采用二维DMA方法,每采集一帧图像进行一次处理。二维DMA程序如下:

  本程序采用标准的ITU-656接收模式,接收视频数据字节流:

  X_COUNT=360;Y_COUNT=288;

  X_MODIFY=4;Y_MODIY=4;

  按以上设置执行二维DMA后,从首地址开始的内存数据排列:

  0,4,8,…… 356

  360,360+4,360+8,…… 360+356

  2×360,2×360+4,2×360+8 …… 2×360+356

  …… …… …… …… ……

  284×360,284×360+4,284×360+8,……284×360+356

  视频输出UART接口:利用ADSP-BF532提供的UART口,加快调试过程。

  串行SPI和网络接口设备MPC860的编程:利用SPI接口,将ADSP-BF532作为传输数据的主设备,MPC800作为从设备,将数据传送给MPC860处理,接收视频数据并提供网络接口。其中网口、SPI接口接收数据的流程如图2所示。

  3.2 视频编码

  考虑到压缩效率和码率,视频服务器的核心采用了MPEG-4 Simple Profile标准进行视频压缩编码。只进行帧内编码(I帧)和帧间预测编码(P帧),而不进行双向预测编码(B帧),适合矩形视频对象(Video Object)编码。

  其中的核心算法有DCT和IDCT,它采用2D 8×8DCT,并且采用循环缓冲,充分利用了Blackfin DSP的优势,减少了循环体内部的指令执行数;MPEG-4采用两种方法确定量化步长,一是采用TM5速率控制方式,二是采用MPEG-4中定义的速率控制模型,它们都是通过码流速率大小以及图像质量的要求来改变量化系数。MPEG-4的直流系数量化采用非线性量化方式,交流系数既可以选择H.263量化也可以使用MPEG量化,这里采用H.263模式。

[page]

  运动预测使用条块SAD(当前的图像与预测图像的绝对差值和)最小搜索出最匹配的宏块,而且Blackfin DSP提供了一条视频专用指令SAA,大大提高了速度;最后用边界填充(PADDING)减少在宏块边界上的运动误差。

  3.3 视频网络传输的实现

  经过视频采集、压缩后的视频数据通过网络进行传输,其传输层用TCP传输协议传输信息包很小的操作控制命令,用UDP传输协议传输视频图像数据。因为TCP这种传统的连接协议必须要求数据无误地顺序传输到客户端的应用层,可以利用TCP传输协议传输网络监控中的控制命令,信号服务器和客户端正确接收到操作命令。UDP传输协议没有提供网络流量控制和数据包丢失、出错处理,在高级压缩算法如MPEG-4采用了帧间压缩的方法,数据包丢失可能影响到连续几帧视频图像。所以,基于UDP传输协议的应用程序必须靠设计解决可靠性问题。

基于ADSP-BF532的嵌入式网络视频服务器的研究与实现

  上端软件提供友好的用户界面,用Visual C++6.0实现,根据用户的需求,通过网络从远程终端接收视频数据,包括MPEG-4的解码过程、网络传输控制和网络命令编码等。有两种编写方式,第一种需要专门写一个服务器/客户端软件来发送和接收视频图像数据;第二种可以采用服务器/浏览器模式,即将客户端软件做成控件,嵌入到网页中,做成基于WEB的数字视频服务器。本文采用第一种方式。

  网络通讯模块采用组播技术,提高程序的效率。系统IP网络数据通信流程图如图3所示。本文为实现组播服务特别写了一个类Cmulticast,它是专门为视频传输而封装的类,用于服务器和客户机两端。下面对此类的公共访问函数进行介绍。

  class CMulticast :publicCobject

  {

  public:

  void Close(); //关闭创建的套接字

  BOOL IsConnect();

  Static Void Unintilize();//Winsock终止

  Static Void Initilize(); //从指定组的指定端口读取数据

  Int Send(char* lpData,int size)//向目的地址发送消息

  BOOL Create(Cstring lpstrAddr,unsigned short port,HWND HWND);//创建和绑发送或接收套接字并把该套接字加入组插组,并设置了消息回调机制

  CMulticast();

  Virtual ~CMulticast()

  Public:

  HWND m_hWnd; //用于消息传递的窗口句柄

  SOCKET m_hWnd; //用于消息传递的窗口句柄

  SOCKET m_hSocket;//发送或接收用套接字

  BOOL m_bConnected;//是否已经加入到一个组

  SOCKADDR_IN addr;//发送套接字地址SOCKADDR_IN srcaddr; //接收或发送的目址

  }

  3.3 系统级优化

  Blackfin软件开发平台的编译系统支持ANSI C以及C++编译,其系统还提供了大量的多媒体操作指令。在针对系统软件开发时,可以根据硬件的特点研究和开发调试过程中的经验,对代码的编译和具体任务的处理进行优化。以及针对要缩短显示模块代码执行时间而进行上端软件的设计优化。

  4 实验结果

  在该实验的基础上,经过对ADV7183采集的视频序列(帧率为30fps,CIF格式)进行测试,结果表明:(1)DSP可通过SPI接口实时传输视频图像编码数据,数据不丢失,不出错;(2)在对MPEG-4视频压缩编码测试时重建图像质量保真度接近1;(3)在局域网上作模拟实验,可以实时传输CIF尺寸视频图像,传输延迟控制在0.5s以内;(4)UART接口能够完成本地视频输出。基于ADSP-BF532的嵌入式网络视频服务器的设计方案是可行的,但是某些技术指标仍然无法胜任实际的应用场合,需要进一步提高视频压缩的测试结果,增加大容量的硬盘存储系统来存储视频数据。

关键字:嵌入式视频服务器  ADSP-BF532  视频编码  网络通讯 引用地址:基于ADSP-BF532的嵌入式网络视频服务器的设计

上一篇:无线基站和远程射频前端设计CPRI v4.1 IP
下一篇:基于DSP和DDS技术的气体浓度检测系统

推荐阅读最新更新时间:2024-05-02 20:51

Socionext携最新解决方案亮相2019杭州云栖大会
SoC 设计与应用技术领导厂商Socionext Inc.(以下“公司”)将以“新时代,新视界”为主题,携多款最新解决方案亮相于9月25-27日举行的2019杭州云栖大会。 杭州云栖大会前身为阿里云开发者大会,经过10年的发展云栖大会规模逐年扩大,目前已成为全球开发者领域的重大科技盛会。基于和阿里巴巴的深切合作,Socionext很高兴能参展2019杭州云栖大会,本次展台位展示方案将围绕广播级8K直播方案、4K/HEVC低延迟编码器解决方案、基于云服务器的视频编码解决方案和视频AI分析四大应用领域展开,展示其在市场领先的视频编解码技术。 8K实时直播解决方案:此前Socionext 8K视频编解码技术频频亮相于业内多场直播
[嵌入式]
Socionext携最新解决方案亮相2019杭州云栖大会
基于ADSP-BF533的数字通信信号发生器设计与实现
  0 引言   在通信对抗的研究中,要想模拟出真实数字通信信号场景,数字通信信号发生器是不可或缺的仪器。而市面上的通信信号发生器价格十分昂贵,功能也比较简单。而且这类通信信号发生器的输出码元不可控,信噪比及干信比也不能动态调节,因此无法模拟多种调制类型通信信号的混合环境,用作通信对抗系统的性能测试信号源极为不便。所以开展高精度通信信号及噪声干扰波形的重构方法研究工作,具有重要的理论意义和实用价值。   1 ADSP-BF533芯片简介   ADSP-BF533是Blackfin系列的中高性能产品,专门针对多媒体(特别是视频处理)和通信方面的各种应用。其内部包含2个乘/累加器(MAC),2个40位的ALU,4个视频ALU和1
[测试测量]
基于ADSP-BF533的数字通信信号发生器设计与实现
视频音频编码介绍
音频技术是为了记录、存储和回放声学现象才发明的,所以先了解声学现象对学习数字音频是有很大帮助的。 音频编码 以 CD 音质来说,量化格式是 2 字节,采样率是 44100,声道数是 2,这些信息就描述了 CD 的音质。那么 CD 的数据采样率 =44100*16*2=1378.125kbps, 在 1 分钟的时间里 ,需要占用的存储空间=1378.125 * 60/8/1024=10.09MB。并不小。 压缩算法包括有损压缩和无损压缩。 常用的音频编码方式有以下几种: MP3,MPEG-1 or MPEG-2 Audio Layer III,是曾经非常流行的一种数字音频编码和有损压缩格式 , 它被设计来大幅降低音频数据量 。
[嵌入式]
ADI公司的ADSP-BF532在监控系统的应用
   低成本/功率处理器驱动大力公司的DVR监控系统   现在,监控摄像机随处可见。视频监控系统被普遍安装在银行、商业、零售出口、家庭、幼儿园、制造厂和运输(机场/海港/公交)系统中。监控摄像机也常常用在餐馆和饮食街中,帮助管理以保持适当的卫生,并确保按操作流程进行。近几年,视频压缩技术的进步已引起视频设备的成本降低。这使得数字视频对于很多应用(包括被普遍应用的安全监控系统)变得非常有吸引力。         浙江大立科技有限公司. (简称大立) 是专攻红外线摄像机、数字录像机(DVR)等产品的科学研究、生产和销售的厂商。该公司用于监控应用的、富有价格竞争力的DV系列嵌入式视频产品,以其先进技术和系统稳定性而闻名,畅销中国
[安防电子]
Socionext全新8K视频编码器 带来超高清视频新体验
SoC 设计与应用技术领导厂商Socionext Inc.(以下“公司”)宣布推出全新8K视频编码器“e8”,产品适用于8K视频直播系统,满足日益增长的超高清视频应用市场的需求。该产品预计于2019年9月正式向全球销售。 e8视频编码器内置有Socionext开发的广播级高性能多通道视频编码芯片MB86M31,支持8K/60p HEVC/H.265视频编码,并在IP网络环境下实现超高清视频直播。Socionext e8视频编码器还支持最高4:2:210bit视频素材拍摄,10bit视频可以记录丰富的色彩细节,为场外观众带来高度还原、富有临场感的视频直播享受。 图1:e8视频编码器 e8视频编码器拥有丰富的兼容性
[家用电子]
Socionext全新8K<font color='red'>视频</font><font color='red'>编码</font>器 带来超高清<font color='red'>视频</font>新体验
用数字信号处理器优化视频编码
高压缩比标准的各种特性为技术人员提供了广阔的空间,在复杂性、延迟以及其他约束实时性能的因素之间获得最佳平衡。 用数字 视频 编码进行视频压缩能够在尽可能降低视频容量的同时保持可接受的视频质量。但是,为便于传输和存储而降低大小的视频压缩可能会牺牲一些图像质量。此外,视频压缩还要求处理器具备较高性能,并且在设计中要支持丰富的功能,因为不同类型的视频应用在分辨率、带宽以及灵活性方面都有着不同的要求。具有更高灵活性的数字 信号处理 器( DSP )不仅能够充分满足上述需求,而且还可充分发挥高级视频压缩标准提供的丰富选项来帮助系统开发人员实现产品优化。 视频 编解码 (编解码器)算法的固有结构和复杂性促使我们必须采用优化方案。编码器非
[嵌入式]
用数字信号处理器优化<font color='red'>视频</font><font color='red'>编码</font>器
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved