DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 370|回复: 0
打印 上一主题 下一主题

基于ARM的MPEG

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 15:27:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


  随着科技的飞速发展,消费类电子,通信,电视电影广播与计算机技术紧密结合起来。而数字化信息,尤其是数字化视频信息,具有数据量大,存储传输困难的特点,是制约人类获得信息的主要瓶颈。这种形势对数字视频记录设备的研制提出了新的要求:大批量的应用要求降低监控记录设备成本,多样的应用环境、分散、孤立的监控点要求监控记录设备尽可能一体化、小型化、独立、便携、低功耗、供电方便、性能可靠。针对这些新问题和新要求,作者设计实现了一种基于嵌入式系统和MPEG-4编码标准的数字录像机,系统集成度高、体积小、功耗低、独立、便携,适合大量的各类视频监控和记录应用。
  1 系统框架及原理说明
  本系统选用的主要模块是低功耗ARM9系列微处理器EP9315和专业视频压缩编码处理芯片IME6400,周围外部设备有SAA7118 A/D数模转换芯片,RAM芯片,ROM芯片,网络模块和电源模块。系统电路原理图如图1所示。整个电路采用5V电源供电,系统启动后,外部输入的视频和音频信号分别经过视频数模转换模块和音频模块进行解码,随后通过IIC总线送入IME6400视频处理芯片生成MPEG-4视频音频复合数据流,系统控制芯片EP9315从IME6400的HOST总线将数据流取出存放到硬盘中,并且控制与外部设备的通信。



  图1:系统总体框图
  2     MPEG-4标准
  2.1 MPEG-4压缩算法的基本原理
  MPEG-4视频压缩算法采用了基于对象的处理方案,对视频图像中的每个目标进行单独处理,能够在保证图像质量的情况下,极大的降低码率。在相同的图像质量下,MPEG-4的输出码流可以比MPEG-2降低一半。正因为如此,MPEG-4压缩算法已得到了广泛的应用。MPEG-4中视频对象(VO)可能是场景中的某一物体、某个区域、也可能是计算机产生的二维、三维图形等。VO的选定依赖于具体的应用和系统所处的环境:在要求超低比特率的情况下,VO可以是一个矩形帧,与以前的MPEG-1、H.263标准兼容;对于基于内容的应用,每一个VO有三类信息描述:运动信息、形状编码、纹理编码。MPEG-4的编码结构中,首先是从原始视频流中分割出VO,之后由编码控制机制为不同的VO及相应的3种类型的信息分配码率,然后是各个VO独立编码,最后将各VO的码流复合成一个位流。解码过程是编码的逆过程。编码的图2所示:




  2.2 MPEG-4码流的形成
  如图3所示,MPEG-4压缩算法将一幅图象分为多个对象,这些对象按不同的层,每个层又分为不同的平面按顺序变换为视频码流。它的基本视频流格式如图3所示。每个视频对象分为多个视频对象层,每个视频对象层形成一个基本流,这一基本流类似与MPEG-2中的GOP。每个基本流都有自己的视频对象序列头,不同的视频对象序列头可以分别按不同的顺序传送,这就极大地提高了MPEG-4传送流的灵活性。



  图3 MPEG-4视频码流的基本构成
  3 硬件设计
  3.1 控制模块设计
  系统控制模块选用CIRRUS LOGIC公司的EP9315A微处理器,此处理器是基于ARM920T内核,高性能,低功耗,32位CPU,自带MMU,16k指令cache和16k数据cache和Maverick Crunch数学协处理器;主频200MHz,系统总线100MHz;所支持的操作系统包括WINCE , Linux【1】。为了便于设计和调试,硬件设计上采用核心板加底板的模块化设计方法,在核心板上集成了基于EP9315的最小系统,通过底板来扩展外部功能。在核心板上主要配置了64MB的NAND Flash 和64MB的SDRAM及提供RTC时钟和工作时钟的晶体,并将其丰富的外设接口资源引出。在底板上扩展出USB主机接口、以太网口、UART接口、IDE接口等,以实现与外部设备间的数据传输和通信。
  EP9315支持硬盘的挂载,可以通过外部IDE接口将视频数据直接存入硬盘,但在开发初期采用通过与PC机服务器网络挂载方式,将记录数据通过网络协议存入PC机硬盘中,便于回放和调试。IME6400的HOST接口映射到处理器的第6个Memory Bank中,将EP9315的nGCS3片选管脚直接连接IME6400的nCS,地址线ADD[1:5]通过总线驱动芯片后与HOST接口的HA[0:4]相连【2】,同时将IME6400异步模式下的中断管脚GPIO0与EP9315的中断管脚FPGIO1相连。


  3.2 视频音频编解码模块设计
  视频A/D芯片选用Philips公司的高性能可编程解码芯片SAA7118,该芯片支持多种输入模式,具有抗混叠滤波、自动钳位、自动增益变换、亮度、对比度、饱和度调整等功能,其工作时钟为24.576MHz。通过设定SAA7118的内部的配置寄存器93H[6]为1使能其HOST端口,实现与IME6400的无缝连接。音频A/D芯片采用BURR-BROWN公司的PCM1800,它对模拟音频进行高信噪比20bit数字采样,生成PCM数字音频流。
  压缩编码采用INTIME公司的MPEG-4编码芯片IME6400。该芯片是一款高性能的单片多通道MPEG-4数字压缩编码芯片,它支持多种编码模式和比特率控制,并提供了丰富的外围硬件接口。IME6400总线具有四种工作模式,通过mode管脚定义,在这里mode[1:0]设定为11,即异步工作模式。在这种模式下,当IME6400将GPIO0管脚置低电平时,FIFO缓冲区中存满NFIFOSIZE=1k大小的输出数据流,外部接口在得到GPIO0下降沿电平后便可以从IME6400的HOST接口寄存器Encodedstream中读取数据流。GPIO0管脚直接与EP9315的中断管脚FGPIO相连,在处理器获取下降沿信号后便中断当前操作,从IME6400读取数据。在读取完毕后,EP9315要向IME6400的HOST总线寄存器USER4发送一个不同值,通知IME6400数据读取完成。随后IME6400可以在FIFO中装载新的压缩数据流以保证EP9315的继续读取【3】。
  4 软件设计
  Linux系统具有稳定、高效、易定制、易裁减、开放源码等优点,因此本系统选用嵌入式Linux作为操作系统,在芯片中植入Linux系统作为视频记录的应用环境。编写Linux环境下的硬件设备接口程序主要分两个部分:硬件设备驱动程序和应用程序,驱动程序需要在视频录像前加载到Linux内核中,然后运行记录程序,本系统采用的动态加载驱动的方式。在前面说过用网络挂载硬盘来记录视频可以便于测试视频录像质量和调试软硬件,具体的操作是:在PC服务器上用nfs协议共享一个硬盘空间作为记录硬盘,然后通过minicom串口通信定义EP9315启动时首先通过网络挂载记录硬盘,
                                
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-2 01:23 , 耗时 0.319091 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表