基于NiosII的嵌入式网络视频监控系统设计
基于NiosII的嵌入式标清高清视觉检测系统的设计

基于NiosII的嵌入式标清高清视觉检测系统的设计一、引言随着计算机技术的发展,嵌入式视觉的应用越来越广泛,已广泛应用于机器人视觉系统、医疗设备、军事监控等领域。
而视觉检测系统作为其中的一项功能强大的检测方式,已广泛应用于生产和质量控制领域。
本文将介绍一种基于NiosII的嵌入式标清高清视觉检测系统的设计。
二、系统组成该系统主要由以下四个组成部分构成。
1.图像采集模块图像采集模块采集需要检测的物体图像,并将其传输到图像处理模块进行下一步处理。
在该系统中,采用了模拟信号采集的方式,即将采集的模拟信号经过模数转换后传输给处理模块。
2.图像处理模块图像处理模块接收图像采集模块传输的图像信号,并对其进行处理。
该模块主要实现图像滤波、分割、特征提取等处理方法,以得到需要的检测结果。
3.控制模块控制模块实现系统的整体控制和管理功能,包括图像采集模块和图像处理模块的启动停止、图像采集参数设置、图像处理算法设置等。
4.显示模块显示模块将处理后的图像信息显示到计算机屏幕上,并可通过计算机进行人机交互操作。
三、系统设计1.硬件设计硬件设计主要包括外部信号输入、ADC转换、FIFO缓存等。
(1)外部信号输入系统采用BNC接口实现外部信号输入。
BNC信号输入端口连接到视频信号源,系统通过BNC信号输入端口获得待检测物体的图像。
(2)ADC转换该系统采用了高速ADC芯片AD9984A进行图像采集,并实现了一个16位的AD采样器。
ADC芯片将BNC接口的模拟信号采样,并将其转换成数字信号传输到嵌入式平台。
(3)FIFO缓存对于大数据传输的应用场景,为了降低处理模块与采集模块之间数据传输的压力,本系统在设计中采用了FIFO缓存进行存储。
即通过FIFO缓存将接收到的图像数据存储下来后,再分批次地传输到图像处理模块进行处理。
2.软件设计系统软件设计中,NiosII处理器作为主控芯片,运行Linux操作系统。
软件设计主要包括驱动程序设计、图像处理算法设计等。
基于NIOSII的嵌入式网络接口设计

3 2006211201收到,2007201205改回33康文轩,男,1980年生,硕士研究生,研究方向:嵌入式开发。
文章编号:100325850(2007)022*******基于N I OS II 的嵌入式网络接口设计D esign of Em bedded Network I n terface ba sed on N I OS II康文轩 李 斌 屈 巍 鲍广喜(沈阳理工大学信息学院 沈阳 110168)【摘 要】阐述了基于N I O S II 软核处理器和以太网控制芯片R TL 8019A S 的网络接口设计。
简要介绍了基于FPGA 的SO PC (System O n P rogramm ab le Ch i p ,简称可编程片上系统)技术,给出了网络接口的软硬件的设计和实现。
此设计增强了系统的灵活性,并且结构简单适应于不同应用领域对接入网络的需求。
【关键词】N I O S II ,网络接口,FPGA ,SO PC中图分类号:T P 393文献标识码:AABSTRACT T h is paper expounds the netw o rk interface design of N I O S II soft co re p rocesso r and E thernet R T l 8019A S ,and gives a si m p le introducti on to FPGA -based SO PC techno logy ,and designs and i m p lem ents the netw o rk interfaces of softw are and hard 2w are ,w h ich enhances the feasibility of the system and is ted to the requirem ent of access netw o rk in different areas because of its si m p le structure .KEYWOR D S N I O S II ,netw o rk interface ,FPGA ,SO PC1 SO PC 技术与嵌入式软核处理器N I O S IISO PC 是一种基于FPGA 的可编程SOC (SystemO n a Ch i p )。
基于嵌入式的无线视频监控系统研究

基于嵌入式的无线视频监控系统研究随着科技的不断发展,无线视频监控系统在安防领域中扮演着越来越重要的角色。
基于嵌入式的无线视频监控系统是一种新兴的技术,它将嵌入式系统与无线通信技术相结合,能够实现远程监控、实时视频传输和智能分析等功能。
本文将围绕这一主题展开研究。
首先,本文将介绍基于嵌入式的无线视频监控系统的基本原理和工作方式。
该系统由摄像头、嵌入式处理器、无线通信模块和监控中心等组成。
摄像头负责采集视频图像,嵌入式处理器负责对图像进行处理和分析,无线通信模块负责将处理后的数据传输至监控中心。
其次,本文将讨论基于嵌入式的无线视频监控系统在安防领域中的应用。
该系统可以广泛应用于公共场所、企事业单位和居民小区等地方。
通过无线视频监控系统,可以实现对目标区域的实时监控,及时发现和处理各类安全事件。
同时,系统还具备智能分析功能,可以通过图像识别、运动检测等算法,对异常事件进行自动报警和警戒。
进一步,本文将探讨基于嵌入式的无线视频监控系统面临的挑战和解决方案。
由于监控系统需要长时间运行,对嵌入式处理器和无线通信模块的性能和功耗有较高要求。
为了解决这一问题,研究人员可以采用低功耗的嵌入式处理器,优化算法和数据传输方式,以提高系统的效能和可靠性。
最后,本文将总结基于嵌入式的无线视频监控系统的研究成果和未来发展方向。
目前,基于嵌入式的无线视频监控系统已经取得了一定的研究成果,并在实际应用中取得了良好的效果。
未来,研究人员可以进一步改进系统的性能和功能,推动无线视频监控系统在安防领域的应用普及,并结合人工智能等新技术,实现更加智能化、自动化的安防监控。
综上所述,基于嵌入式的无线视频监控系统是一项具有广阔前景的研究课题。
通过对系统原理、应用、挑战和未来发展方向的探讨,可以更好地推动该技术的发展和应用。
相信在不久的将来,基于嵌入式的无线视频监控系统将在安防领域中发挥越来越重要的作用。
基于NiosⅡ的数字视频系统设计

司生产 的一款 高集成度 的高分辨率 (4 ×4 0 逐 行/ 60 8) 隔行 扫描 C S数 字彩 色/ 白视频 摄像 芯片 。其 数 字视 频 MO 黑 端 口支持 6 C C 2; 0Hz r b4: 2的 1 / 位 格式 ,V端 口 Y 68 Z 输 出格 式 , G R B原 始数 据 1 / 6 8位 输 出格 式和 C I 6 1 CR 0/
在单个可编程器件 内实现整个系统 , 即在一个芯 片中实现
用户定义 的系统 , 它通常 包括 片 内存储 器 、 外设 和微处 理 器 。2 0 年 , ea 布了第 一代 Ni 处 理 器。第一 代 0 0 Ah r 发 o s Ni 嵌 入式 处理器性能高 达 5 P , o s OMIS 采用 1 位指令集 , 6 1/ 2位数 据通道 , 63 5级流水线技术 , 可在一个时钟周 期 内
统运行 时代码 和图像数据的存储 。
◆ 摄像 头 O 6 0图 像 传 感 芯 片 , O i i o V7 2 是 mnV s n公 i
FG P A系列的 N ol嵌 入式处理器 。它与 20 isI 0 0年上 市的
原产 品 No 相比 , i s 处理 器性能最大提高 3 , P 内核部 倍 CU 分 的面积最 大可缩小 1 2 is 处理器系列包括 了 3种 / 。No l I
件 开发 成 本 和硬 件 实现 风 险 , 有 灵 活 性 、 具 高效 性 和 低 成 本 的特 点 。
关 键词
Nol 嵌 入 式 处 理 器 S P 可编 程 片上 系统 数 字视 频 系统 i I s oC
内核 ; 快速内核 ( isIf 、 济 内核 ( i l e 和标 准 内 N ol ) 经 / No I ) s/
基于Nios_的移动视频监控系统设计

安徽省高校省级自然科学研究计划项目(编号:KJ2008A35Z C );安徽省巢湖学院科研资助项目(编号:XLZ -200701)。
修改稿收到日期:2008-06-19。
第一作者韩云,男,1980年生,2007年毕业于江苏大学计算机应用技术专业,获硕士学位,助教;主要从事嵌入式系统和视频编解码的研究。
基于N i os Ⅱ的移动视频监控系统设计D e s i gn o f M o b il e Vi deo M o n ito ri ng Sys tem B a se d o n N i o s II韩 云 郑尚志(巢湖学院计算机系,安徽巢湖 238000)摘 要:为了提高视频监控的效率、满足移动视频的需要,提出了以N ios Ⅱ为核心、采用GPRS 传输的无线移动视频监控系统。
构建以N ios Ⅱ为中心的处理器模块,设计MPEG -4视频编码器IP,融合多传感器,实现具有远程实时报警、视频监控、实时控制的移动视频监控系统。
此系统可应用于汽车报警、家庭防盗、远程视频监控等诸多领域。
关键词:移动视频监控 GPRS N i os Ⅱ 远程实时报警 FPG A MPEG -4中图分类号:TP39118 文献标志码:AAbstract:In order to i m p r ove the efficiency of video monit oring and meet the needs of mobile video,the wireless mobile video monitoring sys 2tem with N ios Ⅱas the core and GPRS for data trans m ission is stated .The p r ocessing module with N ios Ⅱas kernel is structured and the MPEG -4video encoder IP are designed,and a range of sens ors are integrated .The functions of the mobile monit oring system include remote real 2ti m e alar m,video monitoring,and real 2ti m e contr ol .The system can be used in aut omobiles πalar m,domestic alar m,and various remote video monitoring .Keywords:Mobile video monitoring GPRS N ios Ⅱ Real 2ti m e remote alar m FPG A MPEG -40 引言目前,视频监控已得到了广泛的应用。
网络视频监控系统中双Nios Ⅱ架构的设计与实现

b t e h d a Us r n lz d Mo e v r h s e ilis o o t r e i n n b g n r e we n t e u l CP a e a a y e . r o e ,t e p c a te f s fwa e d sg a d de ug i g a e
网络 视频 监控 系统 中双 Nis I 构 的设 计 与 实 现 o 架 I
张 玲 ,夏 博 ,何 伟
( 庆大学 通信工程学院,重庆 403) 重 00 0
摘 要 :采用 双 No 架构 的可编程 片上 系统(ytm O rga m beC i,S P ) i I sI Ss nPorm a l hp O C 的设 计方 e 法 ,进 行 了系统规 划 ,分析 了 S P O C定 制、 内存芯 片共 享、数据搬 移 、通信 与互斥 的实现 ,介 绍 了 软件设 计调试 的特 点 。工 程应用 表 明 ,双软 核 良好地 实现 了并 行处理 与 协 同工 作 ,成 倍地 提 高 了
1 引言
随着科 学技术 的发展 与公共 安全 保 障需求 的提高 , 网络 视频监 控 系统在工业 生产与 日常生 活 中的应用 越来越 广泛 。 采用 嵌入式 图像服 务器实 时获 取现场 图像并通 过 网络进行 传送 , 同时 自动对 视频 中满足 条件 的动态 目标进 行识别 ,多个 P C机 客户 端可进 行动 态远程访 问 ,接 收编码 图像 数据 与 目标识别 结果 ,解 码恢 复 图像 以供 观察 , 并 在异 常情况发生 时启 动报警设 备提 醒监控 人员 , 可较 大地 减轻监 控人员 的劳动强 度 ,克服 可能 的人 为失 误 , 是 较 为优秀 的网络视 频监控 系统 解决方 案 。 j 系统 中最为关 键部 分是 嵌入 式 图像服务 器 , 选用 A t a 司基 于现场可 编程 门阵列 (il Po rmmal G t lr公 e Fed rga be a e Ar y F G ) 3 r , P A 的 2位软核 处理 器 Nis I a o 及其独 特 的 S P I O C设计 方案 , 有高度 集成 、可重配 置 与性 价 比 良好等 具 优 点【。但 由于 图像 服务 器 同时承担 着 图像 采集 、动态 目标识 别 、图像 编码 和网络服务 的任 务 ,且必 须保证 实时 2 】 性 ,对 C U的处理 能力要 求非 常高 ,因此本 文采用 NisI 的多处 理器 技术 ,提出双 NisI架 构 S P P o I o I O C系统的
基于NiosⅡ片上可编程系统(SOPC)实现的雷达监控系统

摘
要 介 绍 了一种基 于 N oI 嵌 入 式处理 器 实 现 的 雷达 监控 系统 , 详细 说 明 了其 可 编 程 is I 并
信系统 、 储 电路 以及普 通 数 字 系统 等 , 单一 F G 存 在 P A中实 现 , 得 所设 计 的电 路 系统 在 其 规模 、 使 可靠
性 、 积、 体 功耗 、 能 、 能指标 、 市周期 、 发成本 、 品维护及 硬 件升级 等 多方 面实现 最优 化 ; 功 性 上 开 产 由于 同
( 国科 学 院 电子 学 研 究 所 六 室 ,北 京 10 8 ) 中 0 0 0
( 09年 3月 4 日收 稿 ;2 0 20 0 9年 5月 1 日收 修 改 稿 ) 8
Xi D H, n .mpe naino a a ntrn n o tol gss m b sdO h OP fNo P J . e Qi w I l me tt f d r o r mo i iga dcnrln yt ae HteS C o i l C U[ ] o i e sI
统 的性 能 , 同时也增 加 了各分 机 系统 的集成度 和复 杂性 , 也使 整机 的人工 操控 和状 态监 测变 得 十分复 杂
和 困难 . 雷达 监控 系统就 是为 了实 现整 个雷达 系统 操作 的 自动 化 和设 备状 态 的 自动监 测而设 置 的. 统 传 的雷达监 控系统 主要 采用 主控 计算 机 + 片 机 +C L 单 P D+片外 R M 的结 构 , 常将 主 控 计算 机 称 为 上 A 通 位 机 , 片机 、 P D和片 外 R M 组 成 的系 统称 为下 位 机 . 单 CL A 随着 雷 达 系 统性 能及 复 杂 度 的提 高 , 要 雷 需 达监 控系 统监测 的状 态量 和输 出 的控制 量也 随之 增 多 , 位 机需 要 多 块 单 片机 +C L 下 P D+片 外 R M 结 A 构 的 P B板 , C 以提 供更 多 的接 口、 存储 资源来 满足 雷达 系统不 断增加 的监控 需 求 , 这样 难 免 会 降低 监控
基于NIOSII嵌入式处理器的公路视频监控图像的显示控制

基于NIOS II嵌入式处理器的公路视频监控图像的显示控制摘要:随着公路视频监控的广泛应用,对于视频监控设备的性能也呈现出了越来越高的要求。
半导体技术以及计算机软硬件技术的飞速发展,使得图像的显示的控制技术也表现出越来越多的方式。
本文介绍了一种基于nios ii软核处理器实现对公路视频监控图像显示控制的新方法。
在设计中利用fpga的altera的sopc builder 定制nios ii软核处理器及其与显示功能相关的“软”硬件模块来协同实现显示控制的软硬件设计。
利用sopc技术,将nios ii cpu 和lcd控制器放在同一片fpga中,解决了通常情况下必须使用lcd 控制专用芯片才能解决lcd显示的问题。
关键词:视频监控 lcd fpga sopc技术软核处理器 avalon流模式nios ii嵌入式处理器是基于pld的处理器,它实现了把可编程逻辑的固有的优势集成到嵌入处理器的开发流程中,一旦定义了处理器之后,设计者就“具备”了体系结构,可放心使用。
因为pld和嵌入处理器随即就可以开始设计软件原型。
cpu周边的专用硬件逻辑可以慢慢地集成进去,在每个阶段软件都能够进行测试,解决遇到的问题。
另外,软件组可以对结构方面提出一些建议,改善代码效率和/或处理器性能,这些软件/硬件权衡可以在硬件设计过程中间完成。
因此,将nios ii嵌入式处理技术应用到公路视频监控图像的显示控制,会简化硬件设计,提高系统运行的稳定性。
本文采用dma数据传输方式实现lcd实时图像显示控制方式。
在流模式lcd控制器和sdram之间建立一条dma传送通道,让硬件来完成像素信息的自动读取,而nios ii处理器仅通过操作sdram中相应的区块就能实现lcd图像的更新。
下面是一般显示系统的结构和avalon流模式控制器的结构的对比。
1、视频监控显示设备的系统组成系统是由fpga、显示缓存ram、程序执行ram及显示屏lcd组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
产品设计与实现20086一、引言二、嵌入式网络视频监控系统现状传统的嵌入式网络视频监控产品主要存在处理和传输大量图像数据时速度较慢、图像数据占用存储空间过大、实时更新性较差、结构复杂、成本过高等问题。
笔者基于NiosII设计了一种低成本、采用H.264编码的嵌入式网络视频监控系统。
该系统充分利用FPGA的并行设计结构,对视频数据采用高压缩比的H.264标准编码,能很好地满足视频监控的实时性要求。
嵌入式网络视频监控系统主要分为PC嵌入式和非PC嵌入式两种。
其区别主要在于视频监控服务器。
PC嵌入式采用工控PC硬件架构,运行嵌入式操作系统,操作系统和应用程序固化在Flash上,以保证操作系统和应用程序的运行稳定性;非PC嵌入式采用专用硬件架构,成本低、效率高、可扩展能力强,成为视频监控系统的主流产品。
其实现方案分为以下3种:它运行嵌入式操作系统,利用嵌入式微处理器强大的控制能力和外围扩展能力,对各类底层硬件的操作可利用驱动程序来完成,上层的应用程序只需调用相应的API来实现。
其缺点在于MCU的处理能力有限,如果在实现任务调度、同步等系统控制功能的同时,一并完成复杂的视频压缩算法,实时性将非常恶劣,这就需要采用专门的视频编码芯片完成视频压缩算法,为此,两个模块之间的同步、逻辑转换会出现问题,通常还需要外加可编程逻辑器件(CPLD)或FPGA来解决,其复杂度、体积和功耗都大大增加。
DSP芯片的高速计算能力可实现实时,高效的,高质量的复杂视频压缩算法,其优点是体积小,算法改进容易,但实现任务调度、同步等系统控制功能,需要占用大量的资源,网络通信协议栈能够使用的运算资源、内存资源都受到很大的限制,而缺乏操作系统也给网络协议栈的实现带来困难。
为此,通常的解决办法是完成一个精简的TCP/IP,实现一些必需的协议,例如ICMP,ARP,IP,UDP等协议的子集,满足一般数据传输的要求。
它将MCU和DSP/ASIC集成到一个芯片中,使视频压缩功能既有强大管理与控制能力,又有超强的数字信号处理能力,解决了MCU与DSP/ASIC的同步和逻辑转换问题。
此方案在减小设备体积的同时亦减小了系统功耗,将成为主流发展方向。
SoPC是Altera提出的一种灵活、高效的片上系统[1-2][3-4]1、嵌入式微处理器MCU+ASIC方案2、DSP+FPGA方案3、SoC统集成方案基于NiosII 的嵌入式网络视频监控系统设计裴建茹李伟重庆大学通信工程学院,重庆,400030【摘要】【关键词】为了解决传统嵌入式网络视频监控系统处理和传输大量图像数据时速度较慢、结构复杂和成本过高的问题,设计了一种低成本嵌入式网络视频监控系统,采用FPGA的NiosII双CPU架构,自定义硬件模块实现H.264视频数据压缩编码,能很好地满足视频监控系统实时性要求。
嵌入式网络视频监控NiosII处理器H.264标准帧内预测外接SDRAM芯片AlteraCycloneIIEP2C35视频编码图像数据SDRAM输入输出视频采集控制器网络接口模块模块Mutex通信模块(C/OS-II)NiosIINiosII32bitH.264硬件32bit软核处理器编码模块软核处理器图像CPU1TristateCPU2数据Bridge缓存外设SRAM外设接口接口模块Flash模块接口外接Flash芯片产品设计与实现20086设计方案,其实质是SoC,常采用大容量FPGA作为载体,在一片FPGA中实现NIOS软核微处理器,也可嵌入ARM等硬核处理器,使FPGA具有嵌入式系统的可编程能力。
因此,SoPC平台既拥有微处理器系统丰富的软件资源和出色人机交互能力,又具备FPGA系统的快速硬件逻辑特性,实现了软件系统和硬件系统的互补。
本系统的嵌入式视频监控服务器采用此方案设计。
嵌入式视频监控服务器是整个网络视频监控系统的关键部分,主要由视频采集、NiosII处理器系统、网络传输控制和人机交互外设组成,如图1所示。
设计中选用Altera公司的CycloneIIEP2C35F672C6作为系统的核心芯片,DE2开发板为开发平台,将视频采集、NiosII处理器、网络传输控制与人机交互外设的接口模块均集成到一个SoPC系统。
其中,NiosII处理器系统要承担图像采集控制、图像的H.264压缩编码、网络服务等多项任务。
为保证实时性:一方面,依据NiosII的多处理器技术,采用双NiosII架构,在一块FPGA芯片中设计两个CPU来分担任务,CPU间通过共享特定资源的方式进行信息交互,从而实现协同工作与并行处理;另一方面,在充分分析H.264软件算法运行时间后,采用自定义模块对H.264编码器关键算法进行硬件加速。
摄像头采集到的PAL制模拟图像数据从DE2开发板的视频输入接口输入,经模数转换芯片ADV7181得到ITU-RBT.656格式的数字图像信号,并将其送入FPGA芯片。
为实时获取图像数据,设计了图像采集模块用于数字图像数据提取并通过Avalon总线将数据按顺序存放到作为图像缓存的SRAM中。
如图2所示,CycloneII芯片的片内存储量为483840bit,而一帧图像大小为1228800bit,故不能用片内RAM缓存整帧图像,为此,笔者使用两个320byte的双口RAM作为行缓存进行乒乓切换,数据提取子模块将采集到的当前行写入其中行缓存A时,总线接口子模块将行缓存B中的数据通过Avalon总线写入到SRAM中,在采集下一行时则把图像行写入行缓存B,同时将行缓存A中的数据通过总线进行传送。
Slave1从端口用于CPU1对采集模块进行使能与配置,用于启动采集模块和通知图像数据存放地址,并在当前帧采集完成时产生中断信号通知CPU1进行数据拷贝,此时采集模块进入等待状态,当启动信号再次有效时进行下一帧图像的采集;master1主端口用于将行缓存中的数据按其在图像中的位置通过总线存放到SRAM的指定地址,使用主端口在没有CPU干预的情况下自动存放采集到的图像。
为提高系统运行效率,笔者在嵌入式视频监控服务器中设计了两个软核处理器:CPU1分担图像采集、图像数据的H.264压缩编码;CPU2运行嵌入式实时操作系统C/OS-II并支持TCP/IP协议族,完成将编码数据组成网络发送帧的任务,同时负责接收网络客户端远程访问,对其进行有效管理。
由于CPU1与CPU2是同时运行的,双核架构实质上是为嵌入式视频监控服务器加入了一条深度为二级的流水线,使得图像处理与网络服务两大任务组同时进行。
如果处理一帧图像,图像处理任务组完成时间为T,网络服务任务组完成时间为T,采用传统单核系统架构时,全流程完成时间为T+T,而采用双核架构,全流程完成时间缩短为max(T,T)。
在资源分配方面:CPU1拥有独立总线AvalonFabric1,CPU2则拥有独立总线AvalonFabric2,仅被其中一个CPU访问的模块须连接到该CPU配属的总线上,共享模块应当与两条总线都相连;另外,系统采用一块SDRAM芯片作为内存,为实现双核共享同一三、嵌入式视频监控服务器设计μ1、视频采集模块2、NiosII双核架构121212图1嵌入式视频监控服务器SoPC结构图2视频采集模块结构功能示意图行缓存A行缓存B写路选器行缓存数据写出子模块CCIR-656视频数据使能信号从端口数据提取同步信号slave1配置数据子模块地址产生子模块写地址信号图你数据选路控制信号图像数据主端口行缓存master1读路选器同步信号产品设计与实现20086块内存芯片,将存储器分为两个相对独立的内存空间,分别配置给两个CPU使用,以减少成本与电路复杂度。
为综合实时性、成本与实现难度等因素,设计中仅采用了帧内预测方式,编码器包括帧内预测模块,变换量化模块(包括反变换与反量化)和CAVLC熵编码模块。
处理时以宏块(16×16)为单位,对亮度和色度块分别进行帧内预测、变换和量化,然后进行CAVLC熵编码,图像的亮色比为Y∶U∶V=4∶2∶0。
从表1可以看出,用硬件实现1帧图像压缩编码约15ms,较PC机实现有很大提高,而且硬件模块占用资源不到50%,性价比较高。
由于帧内预测硬件模块较软件实现对系统性能提高较大,这里重点分析帧内预测模块硬件结构。
整个模块分为接口、亮度预测、色度预测、SATD预测模式选择和图像重构等模块,如图3所示。
根据H.264帧内预测算法,帧内预测模块采用非率失真优化模式,通过接口模块从SDRAM中读入1Mbyte数据,在亮度和色度预测模块进行预测后送入SATD模块进行预测模式选择,输出预测残差及最佳预测模式,同时将预测结果与经过反DCT变换和反量化后的残差值相加,经重构模块补偿重构后写回SDRAM。
接口模块的4个RAM用于存放读入的原始图像和用于预测的参考图像数据:RAM0存放亮度预测像素,深度32,地址015/1631分别存放上、左侧的预测参考像素;RAM1存放当前宏块亮度原始值,深度为256;RAM2存放色度预测参考像素,深度32,地址07存放上侧Cb预测参考像素,地址815存放左侧Cb预测参考像素,地址1623存放上侧Cr预测参考像素,地址2431存放左侧Cr预测参考像素;RAM3存放当前宏块色度原始值,深度为128。
亮度预测模块可并行计算各宏块在所有模式下的预测值,针对帧内9种4×4预测模式下需n,n,…,n时钟周期,针对4种16×16预测模式需m,m,m,m个时钟周期,则此宏块进行所有模式预测所需时间最大为max[16×max(n,n,,n),max(m,m,…,m)],软件实现13种预测模式时间提高很多。
色度预测模块结构基本和亮度预测相同,采用4个模块并行计算色度8×8预测值。
同一个宏块的色度预测和亮度预测是并行执行的,根据色度要处理的数据比亮度少一半,在后面的整数变换中采用先处理色度,再处理亮度的方法,使得流水更加紧凑,减少等待时间,提高整个模块的运行速度。
帧内预测中代价函数计算是另一软件耗时的部分,其核心是Hadamard变换,SATD模块设计中采用流水线操作,在某些时刻段可实现两级流水,并通过多次例化一个组合逻辑子模块来降低硬件开销。
图4为其波形图。
从图4分析,对于4×4块,SATD模块从RAM每隔1个时钟周期读取第一排4个原始像素aa,8个时钟周期读完16个像素值,从第3个周期开始流水,分别在第3,5,7,9周期,通过例化蝶形变换子单元计算出16组临时变量,寄存在16组临时寄存器中,从第10个周期开始,每周期取用4路临时寄存器的值,仍通过例化同一个蝶形变换子模块进行第二次蝶形变换,分别在第1013个周期,计算蝶形变换的同时经过组合逻辑来各计算4路像素的绝对值之和,然后分别在第1114个周期时将输出和进行累加,然后得到最后的SATD结果。