基于S3C2440的H264软编解码器实现

合集下载

基于S3C2440A和MJPG-Streamer嵌入式网络视频监控系统的设计

基于S3C2440A和MJPG-Streamer嵌入式网络视频监控系统的设计

摘要:本文将嵌入式技术与网络技术融合到视频监控系统,提出了基于S3C2440A和MJPG-Streamer的嵌入式网络视频监控系统,通过测试表明视频图像显示效果较好,运行稳定、可靠。

关键词:S3C2440A USB摄像头MJPG-Streamer v4l21概述随着科学技术的高速发展,视频监控系统已经进入到人们生活的各个方面,将嵌入式技术与网络技术融合到视频监控系统,弥补了以前传统视频监控系统存在体积过于庞大、布线复杂、价格高等不足,在图像处理与传输方面都有很好的应用,具有重要的社会和应用价值[1]。

2总体设计本文提出的视频监控系统以ARM9的S3C2440A 作为主控芯片,配合Linux操作系统,通过USB与摄像头连接,搭建了MJPG-Streamer流媒体视频服务器,完成视频数据的采集、压缩及网络传输到远程客户端[2],远程客户端通过软件进行查看,从而实现视频监控。

3系统硬件设计本系统的核心板采用Samsung公司生产的S3C2440微处理芯片,该芯片基于ARM920T内核,主频高达400MHz,内置了USB控制器,本系统的USB摄像头采用具有视频压缩编码的ZC0301P芯片[3]。

系统硬件框图如图1所示。

DM9000EP网卡互联网SDRAMFlashJTAG 电源及复位电路S3C2440处理器USB接口RS232串口PCUSB摄像头图1系统硬件结构框图4系统软件设计4.1Linux内核配置编译要使USB摄像头能正常工作,Linux需要加载该功能模块,可以有两种方式:一种是把相应模块编译进内核;另一种是编译成模块,生成对应的.o文件,可以动态加载[2]。

本文采用第一种方式,直接编译进内核,USB摄像头随内核启动就能正常工作了。

在PC机的Linux系统下,进入linux-2.6.30.4内核目录,输入make menuconfig,进入到Linux内核配置菜单,由于本文选择ZC0301P系列的USB摄像头,具体操作如下:Device Drivers目录---><*>Multimedia sup-port--->[*]Video capture adapters--->[*]V4LU SB devices---><*>USB ZC0301[P]Image Processor and Control Chip support。

基于S3C2440的H_264软编解码器实现

基于S3C2440的H_264软编解码器实现

基于S3C2440的H.264软编解码器实现何 勋,周 鹰,王亚非(电子科技大学光电信息学院 四川成都 610054)摘 要:H.264编解码器的软件实现是嵌入式应用领域的热门研究课题。

在此介绍以S3C2440为硬件平台,在L inux 开发环境下实现基于H.264的x 264编码、ffmpeg 解码以及ffplay 解码播放的移植过程和方法。

实验结果表明,在qcif 分辨率下,可以获得近实时的解码和播放。

最后针对视频流进行实时编解码和播放的要求,提出对编解码优化的方案。

关键词:S3C2440;H.264;视频流;编解码;嵌入式开发中图分类号:T P311 文献标识码:A 文章编号:1004-373X(2010)06-038-02Implementation of H.264S oftware Encoder/Decoder Based on S 3C 2440H E Xun,ZH OU Y ing ,W AN G Y afei(Schoo l of Opto el ect roni c Informat ion,University of Elect ro nic Science and T echno logy o f China,Cheng du,610054,Chi na)Abstract :N ow aday s,the so ftw are realization o f H.264enco der /decoder is the hotspot of the embedded applicatio n r e -search.I mplementation of H.264enco ding and decoding in the L inux sy stem baded on S3C2440is int roduced.T he encoding co de is based o n x 264,and the deco ding co de on ffmpeg codec,and play on ffplay co dec.T he ex per iment al results sho w that at the r esolution of qcif,the near rea-l time decoding and playing can be ga ined.A imm ing at rea-l t ime video decoding and play ing based on the v ideo streaming ,the optimization of codec o pt ions is given.Keywords :S3C2440;H.264;v ideo st reaming;enco der/deco der ;embedded dev elo pment收稿日期:2009-10-280 引 言由国际电信联合会ITU 视频编码专家组V CEG (Video Co ding Ex pert Gro up)和国际化标准组织运动图像专家组M PEG (M otion Picture Expert Group)共同组成的联合视频组JVT (Joint Video Team)联合制定的H.264视频压缩标准,凭借相对其他标准较高的压缩效率和优秀的图像质量,已经成为目前最流行的视频处理协议,具有广阔的前景和巨大的应用价值。

嵌入式Linux下基于FFmpeg的视频硬件编解码

嵌入式Linux下基于FFmpeg的视频硬件编解码

嵌入式Linux下基于FFmpeg的视频硬件编解码引言目前,智能手机、PDA和平板电脑等越来越多的嵌入式设备支持高清视频采集和播放功能,高清视频的采集或播放功能正广泛用于游戏设备、监控设备、视频会议设备和数字网络电视等嵌入式系统中。

这些功能的实现建立在高性能视频硬件编解码技术基础之上。

本文阐述了基于FFmpeg的H.264视频硬件编解码在S3C6410处理器上的实现方法,为数字娱乐、视频监控和视频通信系统开发过程中的高清视频硬件编解码的实现提供参考。

FFmpeg[1]是一个开源免费跨平台的视频和音频流方案,属于自由软件。

它包含非常先进的音频/视频编解码库libavcodec,提供了录制、转换以及流化音视频的完整解决方案。

FFmpeg 支持MPEG4、FLV等40多种编码,以及AVI、ASF等90多种解码。

目前国内较为流行的播放器暴风影音和国外较为流行的Mplayer在音频/视频编解码方面都用到了FFmpeg。

S3C6410[2]是三星公司推出的应用处理器芯片,基于ARM11架构,主频最高可达800 MHz。

它具有多媒体硬件加速功能,其中包括大于30 fps的MPEG4 SP、H.264/263 BP和VC1(WMV9)多种视频硬件编解码,可用于手机、平板电脑和游戏机等手持移动设备和其他高性能嵌入式设备。

国产手机魅族M8的处理器使用的就是S3C6410。

虽然FFmpeg提供了简单的应用程序编程接口(API),可以很方便地实现多种格式的视频软件编解码[3],但是软件编解码在处理复杂视频编解码(如H.264)时无法运用到处理速度不快、内存空间不多的嵌入式环境中。

为了在资源有限的嵌入式环境下使用FFmpeg实现复杂视频编解码,下面在分析FFmpeg视频编码流程和S3C6410处理器视频编解码方法的基础上,阐述嵌入式Linux操作系统下基于FFmpeg的H.264硬件编解码在S3C6410处理器上的实现方法。

基于S3C6410和Linux的H.264编码器的实现与优化

基于S3C6410和Linux的H.264编码器的实现与优化

基于S3C6410和Linux的H.264编码器的实现与优化康维新;郑威威;杨文斌;王伞【摘要】针对目前嵌入式数字视频的实际需求,设计并实现了一种编码效率高、实时性好的嵌入式H.264编码器;该编码器基于S3C6410处理器,采用嵌入式Linux 操作系统,经过对比选择x264编码方案;然后针对嵌入式系统的特点提出了一种新的判定优化效果的方案,并在此基础上进行优化,最后基于优化因子对编码器的性能进行测试;结果表明:优化后帧率提高都在79%以上,并且PSNR值降低不到2.3%,优化因子均值达34.11,可见帧率得到很大提高且PSNR值无明显降低,优化效果良好,实现了实时编码.%Aiming at actual need of present embedded digital video, the paper designes and implements a highly coding efficiency and real ?time embedded H. 264 encoder. The encoder based on S3C6410 processor, uses Embedded Linux operating system , and x264 coding scheme is chosen by comparison. And then according to the characteristics of the embedded system a new method to judge the effect of this optimization is proposed, on this basis the encoder is optimized , in the end the encoder's performance is tested based on the above method. Results showed that after optimization frame rate increase 79% or more and PSNR lower less than 2. 3% , the optimization factors is 34. 11, we can see the frame rates are greatly improved in the same time the PSNR is no obvious change, the effects of the optimization is well, the real time encoding is implemented.【期刊名称】《计算机测量与控制》【年(卷),期】2012(020)008【总页数】3页(P2220-2222)【关键词】H.264编码器;S3C6410;帧率;PSNR【作者】康维新;郑威威;杨文斌;王伞【作者单位】哈尔滨工程大学信息与通信工程学院,哈尔滨 150001;哈尔滨工程大学信息与通信工程学院,哈尔滨 150001;哈尔滨工程大学信息与通信工程学院,哈尔滨 150001;哈尔滨工程大学信息与通信工程学院,哈尔滨 150001【正文语种】中文【中图分类】TP368.20 引言H.264,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG),和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组提出的高度压缩数字视频编解器标准[1]。

基于S3C2440处理器的嵌入式视频

基于S3C2440处理器的嵌入式视频

基于S3C2440处理器的嵌入式视频
随着通信网络技术的迅速发展,基于网络的高质量视频传输已逐步取代传统的文字语音交互模式,成为当今数字通信的主要研究领域之一。

而随着嵌入式操作系统和集成电路设计水平的不断提高,嵌入式技术与通信网络以及多媒体技术的融合将成为未来数字视频通信领域的主流发展趋势。

一直以来,针对网络传输实时视频对嵌入式软硬件都有较高要求。

本文利用基于ARM920T内核的S3C2440嵌入式微处理器,采用压缩比更高的H.264视频压缩标准和开源嵌入式Linux系统,设计了一款基于嵌入式视频服务器的远程实时视频采集系统。

1 采集系统平台搭建
1.1 系统硬件平台。

基于S3C2440网络视频采集系统的设计与实现

基于S3C2440网络视频采集系统的设计与实现

基于S3C2440网络视频采集系统的设计与实现摘要:针对目前工业控制、通信网络、生活小区等领域广泛运用到网络视频监控,对基于ARM-Linux的网络视频采集系统的设计方案和实现方法进行了深入研究。

设计了以上位机PC、下位机TQ2440开发板以及USB摄像头为主体的硬件体系结构,硬件系统的核心单元是ARM(S3C2440)。

软件系统以嵌入式Linux操作系统为基础,将网络传输与视频采集相结合,通过视频服务器(MJPG-streamer)观测远端的实时情况,从而实现网络视频的采集。

在本文的最后,提出了该系统加入WiFi模块改进的可能性,对相关领域的研究具有一定的参考价值。

关键词:嵌入式;Linux系统;视频采集;ARM;S3C2440中图分类号:TP277 文献标识码:A 文章编号:1009-3044(2014)06-1314-03Design and Implementation of Network Video Capture System Based on S3C2440LI Jia-lin,LIU Yong-chun(College of Automation and Electronic Information,Sichuan University of Science & Engineering,Zigong 643000,China)Abstract:For the current industrial control ,communication networks,living quarters and other fields are widely applied to video surveillance network ,based on ARM-Linux network video capture system design and implementation methods for in-depth study. Design the hardware architecture composed of upper machine PC,the lower machine TQ2440 development board and USB camera,the core unit of the hardware system is ARM (S3C2440). Software system based on embedded Linux operating system,the network transmission and video capture combining real-time observation of the situation via remote video server (MJPG-streamer),in order to achieve network video collection . In the last article,and proposed system by adding the possibility of improving WiFi module,the research of relevant field has certain reference value.Key words:Embedded ;Linux systems ;Video capture ;ARM;S3C2440随着步入21世纪信息时代的发展,电子技术和网络已经深入都人们生活得各个领域,尤其是以―信息采集及处理‖为核心的视频采集系统。

【硕士论文】基于嵌入式系统的H.264解码器研究与实现

【硕士论文】基于嵌入式系统的H.264解码器研究与实现

第一章绪论第一章绪论1.1选题背景本文的研究内容来源于视频监控领域中对视频解码接收终端开发的需求,主要研究新一代视频编解码技术、ARMf31以及嵌入式系统实现技术,满足视频通信、远程监控等应用的需要。

图1.1给出了本项目系统的结构框图。

视频捕获设备采集到的视频信号首先传送给基于DM642DsP芯片的硬视频编码系统,编码后的数据流通过以太网接口传送到局域网内。

基于ARM的嵌入式H.264解码系统通过网络接受数据,然后进行解码和显示。

本论文的工作主要涉及解码部分,同时也对网络传输,嵌入式硬件平台和嵌入式Ij曲x系统研究与开发。

圈1.1H.264视频通信系统框图谈到与视频通信相关的编码标准,人们自然会想到H.26l和H.263这两个目前广泛使用的国际标准。

目前常见的视频通信终端设备大都基于H.263m.2611标准,而本论文所涉及的H.264是继H.263之后的下一代编码标准,其编码效率要明显高于现有的编码标准。

当然,编码效率的提高是以增加系统的复杂性为代价。

软件仿真的结果表明:H.264的复杂程度也明显高于现有的视频编码国际标准。

随着对H.264算法研究不断深入,芯片运算速度日新月异性使其在通信,数字电视及互联网中应用将越来越广泛。

本项目的另外一顼重要的研究内容就是研究H.26铂}码器的优化,使其能在通用的嵌入式系统下运行并实现。

1.2H.264视频编码标准随着社会的不断发展,视听领域里发生了一系列巨大的变化,会议电视、VCD、数字电视以及高清晰度电视∞州等新技术和新系统正迅速走进我们的生活a与箜三章H.264/AVc视频编码标准分析图2.4H.264多模式图像分块其中画面中的细节部分采用更小的分快模式,平坦部分则采用大的分块,这样图像的细节部分不会产生大的块效应。

这种多模式的灵活和细致的划分,更切合实际运动物体的形状,大大提高了运动估计的精度程度,相比16×16的块尺寸预测方法,可以节省15%左右的码率,同时可以获得较为明显的主观质量的提高,更好的符合人眼的可识别特性,在一定的程度上减弱块效应的产生。

基于ARMLinux的图像采集与解码的实现

基于ARMLinux的图像采集与解码的实现
在建立好的 ARMLinux 平台上,根据图中的软件流程,来 获取视频数据,进行相关处理后,最终在 LCD 上显示并通过 网络传输。软件流程如图 2 所示。
解码、显示图像、传输
获取视频图像数据
USB 驱动支持摄像头
ARMLinux 操作系统
硬件平台
图 2 软件流程 1.2.1 ARMLinux 下的 USB 驱动
收稿日期:2008-03-18 E-mail:vbgsf@ 作者简介:龚圣峰 (1984-),男,江苏人,硕士研究生,研究方向为嵌入式系统及应用; 张曦煌 (1962-),男,湖南人,副教授,研究方向为 嵌入式系统及网格计算。
1398 2009,30 (6)
计算机工程与设计 Computer Engineering and Design
USB 摄像头采集图像数据是基于 Video4Linux 的 (简称 V4L)。V4L 是关于视频设备的内核驱动,特别为相关的应用 系 统 的 编 写 提 供 一 系 列 接 口 函 数[5],在 上 节 中 已 经 介 绍 了 在 编 译内核的时候将它编译进内核。
在程序中,首先定义一个视频设备的数据结构,里边的数 据 成 员 是 对 视 频 设 备 和 图 像 属 性 的 描 述 ,数 据 结 构 如 下 :
Implementation of image capturing and decompressing based on ARMlinux system
GONG Sheng-feng, ZHANG Xi-huang (School of Information Technology, Jiangnan University, Wuxi 214122, China)
ARMLinux 内核中带有支持 OV511 和 zc301 这两种芯片 的 USB 驱动,这两款芯片分别由美国 OV 公司生产和中国中 星 微 公 司 生 产 ,在 市 场 上 较 为 流 行 。 而 考 虑 到 中 星 微 在 国 内 市场普及率,文中选用了以 zc301 为芯片的 USB 摄像头。Zc301 是一个转换芯片,用于将数字摄像转换到 USB 接口,在它的 内部含有图像压缩引擎、FIFO 和数字摄像芯片等一系列接口。 这样通过它来采集视频数据,然后通过 USB 接口传输出去, 交给 ARMLinux 系统去处理。为了方便加载驱动,采用静态 编译的方法将驱动编译进 ARMLinux 内核。在进行 make menuconfig 操作时,将 Multimedia devices 菜单中的选项 Video for Linux 选上,这样内核就配 置了为获取视频 的设备提供接 口 的 Video4Linux;同时在 USB Support 菜 单中选中 USB Multimedia devices 和 USB SPCA5XX Sunplus Vimicro Sonix Cameras 这两个选项,这样就在内核中加 入了对以 zc301 为芯片 的 USB 摄 像头的驱动支持 。z [3-4] c301 的驱动模 块只支持输出 原 始 JPEG 格式。 1.2.2 定 义 视 频 设 备 的 数据 结 构

基于S3C2440A的网络流媒体播放终端设计

基于S3C2440A的网络流媒体播放终端设计

K FG 8 9 2 0 。这 样 ¥ C 40 就 和 外 部 的 时 钟 电 路 及 问 D 90 3 24 A M 00内部存储器 。本设计 中 D 90 ¥C 40 M 00与 3 24A处 S R M, o l h和 N n ls D A Nr a Fs adFah存储设备组成 sC 40 理器的连接如图 2所示。 3 24 A
嵌 入式流媒 体播 放 终端 网络接 口部 分 是必 不 可 少 的, 该播放终端 可以通过有线 的以太 网卡 D 00或 U B M90 S
D 90 是 D V C M 公 司 生 产 的 一 款 1/0 M 00 E IO 0 10
集成 有 I 。 频 编解码 接 口、 C s音 L D接 E、 D A 内存 控 Wii lS R M F 无线 网卡访问网络。 制器 、 a dFah控制 器 、 S N n l s U B控 制器 、 D A C及触 摸屏 接 口等 。工作 主 频 一 般 为 4 0MH , 高 可 达 5 3MH 。 ( bt S ) 0 z最 3 z M i ・ 快速以太 网卡控制芯 片, 它实现 了以太 网媒
【 关键词】嵌入式技术; 流媒体; 040 ¥ 24 A 3 【 中图分类号】T 998 N 1.2
【 文献标识码】B
De i n o t r S r a Pl y ng Te mi lBa e l¥ sg fNe wo k t e m a i r a s d Oi 3C2 0 44 A
系统 硬 件 如 图 1所 示。¥ C 40 3 24 A为 系 统处 理 器 ,
Байду номын сангаас
S R M使用两片三星公 司的 K S 662构 成 了 3 DA 4 5 13 2位数 据 宽度 的存 储 系统 , 映射 到 ¥ C 40 并 3 24 A的 B N 6上。 AK N r l h采 用 E 2L 10 B 接在 ¥ C 40 o a Fs N9V 6A , 3 24 A的 B N 0 A K

基于ARM处理器S3C2410的视频播放器的实现

基于ARM处理器S3C2410的视频播放器的实现

基于ARM处理器S3C2410的视频播放器的实现
胡忠义;胡荣强
【期刊名称】《电子元器件应用》
【年(卷),期】2009(11)3
【摘要】基于ARM体系的RISC设计思想,给出了基于ARM处理器的H.264视频播放器的设计方案,该设计方案的硬件平台采用DMC-S3C2410-P型开发板,软件平台的核心则是嵌入式Linux操作系统.系统的测试结果表明,利用文中方法设计的视频播放器可以对H.264视频文件进行顺利播放.
【总页数】4页(P10-13)
【作者】胡忠义;胡荣强
【作者单位】武汉理工大学自动化学院,湖北,武汉,430070;武汉理工大学自动化学院,湖北,武汉,430070
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于 FFmpeg 的 AVS 视频播放器设计与实现 [J], 刘嘉;柳英飞
2.基于Android的AVS2视频播放器的设计与实现 [J], 闫闵;胡鑫;李元琪;冉睿;何糠;李恒
3.基于FFmpeg和SDL的多路视频播放器设计与实现 [J], 刘文华
4.基于Android的高清视频播放器的设计与实现 [J], 白冰;陈绍茹
5.基于树莓派的高清视频播放器的设计与实现 [J], 顾艳华;王闯
因版权原因,仅展示原文概要,查看原文内容请购买。

基于S3C2440嵌入式的视频采集终端设计

基于S3C2440嵌入式的视频采集终端设计

基于S3C2440嵌入式的视频采集终端设计摘要:ARM-Linux嵌入式系统具有通用的软硬件结构,本文通过ARM920T较强的处理能力与可移植的linux系统结合,设计一款移动视频采集终端。

论文首先介绍基于嵌入式linux系统的S3C2440硬件平台和在平台上进行开发所需要的软件环境,接着论述如何在该平台上实现视频信息的采集以及压缩处理,最后实现视频的LCD显示。

关键词ARM嵌入式;linux设备驱动;视频采集;LCD显示随着信息技术的迅猛发展,信息技术与嵌入式技术在国民生活各个领域的广泛应用,嵌入式系统的广泛使用和数字视频处理理论研究的发展,使利用嵌入式系统实现远程视频采集、压缩、LCD视频实时显示已成为可能。

为了实现这一些应用,实现视频数据的实时采集、压缩和显示,本文在基于嵌入式Linux 系统平台上,利用Video4Linux内核应用编程接口函数实现了单帧图像和视频连续帧的采集,将采集的视频数据采用H26.4压缩技术,最后将视频信息通过LCD显示出来。

1.系统硬件平台设计本文采用的硬件平台是基于Samsung公司的处理器S3C2440A,其硬件功能图如图1所示,S3C2440A采用处理器核心ARM920T是由Advanced RISC Machines (ARM)公司设计的16/32 位RISC 处理器,实现了MMU,AMBA 总线和哈佛结构高速缓冲体系结构。

ARM920T内核资源丰富,具有独立的16KB指令Cache和16KB 数据Cache、SDRAM控制和片选逻辑、LCD控制器、4通道DMA、3通道UART、2通道SPI、1通道IIC、1通道IIS、AC’97编解码器接口、8通道10位ADC和触摸屏接口、摄像头接口(最大支持4096*4096像素输入;2048*2048像素输入压缩)、4通道PWM定时器和1通道内部定时器,CPU主屏400MHz。

同时,S3C2440A进行了相关配置的扩展,平台扩展了128M的NAND Flash和4M的Nor Flash,引出了一图1 基于linux系统的S3C2440A系统平台硬件框图个USB Device接口和一个HOST USB接口,能够实现USB接口的无线网卡、鼠标键盘、蓝牙、摄像头等设备的挂接。

基于ARM和LINUX的嵌入式H.264AVC软解码器的研究与实现.

基于ARM和LINUX的嵌入式H.264AVC软解码器的研究与实现.

基于ARM和LINUX的嵌入式H.264/AVC软解码器的
研究与实现
近些年来,依托计算机技术、通信技术和网络技术的发展,集音频、视频、图像、文字、数据为一体的多媒体信息,使越来越多的人开始通过互联网享受到网上生活、远程医疗、远程通讯的乐趣,缩短了时区和地域的距离。

在这之中,数字电视(包括HDTV)、DVD压缩与存储、视频会议和以多媒体应用为主要特点的3G都是研究热点,也是多媒体技术的一个发展方向和趋势。

H.264/AVC作为新一代的视频编解码标准,采用了成熟的技术,在追求更高的编码效率和简洁的表达形式同时,也提供了非常好的视频质量,是当前最高效的视频压缩方法。

相对于其他视频编码标准来看,H.264/AVC具有更广阔的前景。

可以期待在不久的将来H.264/AVC技术将被广泛的应用到视讯产业的各个领域。

为了最低成本的在移动设备上实现多媒体技术,就需要将H.264/AVC软件解码器移植嵌入式系统上,随着嵌入式系统的功能越来越复杂和强大,采用嵌入式操作系统就成了一个必然的选择。

LINUX操作系统凭借其免费性,高可靠性,携带源代码,强大的网络功能等特性越来越受到人们的青睐。

本论文首先概要介绍了视频编码原理,简述了H.264/AVC标准的编解码流程,详细介绍了H.264/AVC使用的几种关键技术。

然后进行了嵌入式环境的设计和搭建,接着将H.264/AVC软件解码器移植到嵌入式设备中并对其性能进行评估,在发现性能的不足之处后对其进行了优化,最后介绍了将解码后的视频显示到LCD上的方法。

G_729语音编解码优化研究及在S3C2440上的实现

G_729语音编解码优化研究及在S3C2440上的实现

Computer Knowledge and Technology电脑知识与技术本栏目责任编辑:唐一东第8卷第4期(2012年2月)G.729语音编解码优化研究及在S3C2440上的实现王耿,张永杰(湖北工业大学电气与电子工程学院,湖北武汉430068)摘要:该文分析了G.729在ARM上实时实现存在的困难和相应的关键技术,详细论述了G.729编解码算法在ARM上实现所采用的优化技术,并针对S3C2440芯片的硬件结构和编译系统特点,设计了一套运行在该芯片上的G.729语音编解码器。

关键词:G.729;优化;S3C2440;语音编解码中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)04-0906-03G.729语音编解码算法是当前语音编解码算法中主流方案之一,该算法在中低速率语音信号传输上提供了较好的解决方案,并且在8kb/s速率下能具备比较好的语音编码质量,延迟时间相对更短,因此在通讯系统、多媒体设备终端等领域有着非常广泛的应用。

但是由于G.729语音编解码算法有较高的运算复杂度和较大的数据存储量,使得该算法要在硬件平台上实时实现或应用在实际当中会存在非常多的困难。

使用专用的语音压缩芯片价格较贵,而且在功能扩展、灵活的进行信号处理方面,使用专用芯片的设备会受到较大的限制,如果想新加入一些功能及算法是十分困难的。

实时实现G.729算法一般都是采用DSP平台,而采用DSP平台会使得系统成本增加,面积增大。

随着嵌入式系统的功能越来越强大,新的处理器已可达到在没有DSP核心的状态下,以软件方式实现语音处理功能,这样可以使产品的尺寸更小、更省电、价格更便宜,具有相当强的市场竞争力。

当然,要满足实时性的需求,我们需要对相对应的ARM平台做很多优化工作。

本文从三个层面即C语言、汇编和算法分别进行了优化研究,并针对S3C2440芯片的硬件结构和编译系统特点,设计了一套运行在该芯片上的G.729语音编解码器。

基于S3C2440的多格式媒体播放器的设计与实现

基于S3C2440的多格式媒体播放器的设计与实现

基于S3C2440的多格式媒体播放器的设计与实现
许雪梅;徐蔚钦;周文;黄帅
【期刊名称】《微计算机信息》
【年(卷),期】2010(0)26
【摘要】设计了一种嵌入式多格式媒体播放器.硬件系统采用三星公司ARM9系列的S3C2440芯片作为其核心,软件平台采用Linux操作系统,利用Mplayer编译的多种软件解码器,实现了一款可以播放各种常见格式的媒体播放器.该系统完成了播放的各项功能,具有很好的用户图形交互界面,为嵌入式ARM播放器的开发打下良好的基础.
【总页数】3页(P12-13,9)
【作者】许雪梅;徐蔚钦;周文;黄帅
【作者单位】410083,长沙,中南大涟物理科学与技术学院;410083,长沙,中南大涟物理科学与技术学院;410083,长沙,中南大涟物理科学与技术学院;410083,长沙,中南大涟物理科学与技术学院
【正文语种】中文
【中图分类】TP37
【相关文献】
1.基于S3C2440的VxWorks NandFlash启动设计与实现 [J], 贺翔;胡俊祥;戴钰
2.基于TCP的支持多格式实时编码的流媒体直播系统设计与实现 [J], 徐洋
3.基于电力公司的多格式文档智能信息检索系统的设计与实现 [J], 方跃胜;姚宏亮
4.基于S3C2440微处理器的无线数据采集系统的设计与实现 [J], 秦德仪
5.基于S3C2440媒体播放器的系统概述 [J], 白金海
因版权原因,仅展示原文概要,查看原文内容请购买。

G729AB语音编解码的研究及其在S3C2440上的实现

G729AB语音编解码的研究及其在S3C2440上的实现

W⑨6@@妇@晌响@0⑥⑨妒系统的主控芯片,用于实现编解码算法,ADl885在系统中用作模/数、数/模转换器,S3C2440A的AC97控制器通过AC一-Link的5个串行数字接口引脚与ADl885连接,分别为:(1)串行数据输入SDATA—IN,方向为输入;(2)串行数据输出SDATA—OUT,方向为输出;(3)帧同步发送信号SYNC;(4)位时钟信号BIT-CLK,一般为12.288MHz;(5)复位信号RESET,低电平有效。

SDATAINSDATAINBITCLKBITCLKSYNCSYNCSDATA—OUTSDATA0UTRESElr#RESET#S3C2440AADl885图2¥3C2440A与ADl885连接方式图系统工作时,先由ADl885以8kHz的采样率将传声器输入的模拟语音信号转换成标准的PCM数字信号,再经过SDATA—IN输入到S3C2440A的AC97控制器,由AC97控制器收集,用DMA将数据搬移并存入到数据缓冲区。

当采样的数据达到一个语音帧(10ms)时,即采用G.729AB进行编码处理。

由于笔者设计的系统仅是供研究用的实验平台,因此编码后的数据直接进行解码,解码后的语音数据再由DMA搬移到AC97,最后再经ADi885数,模转换后通过扬声器输出。

G..729AB的编码帧方式为10ms为一帧,在每125仙s采样一个8bit的语音数据,这样,对每80次采样经过编码的64Kb/s的PCM语音数据进行ACELP的压缩编码输出数字语音比特率为8Kb/s。

ADl885的比特时钟设定为12.288MHz,帧同步信号由控制器根据比特时钟提供为48kHz,串行数据在比特时钟的上升沿发送,接收端在时钟的下降沿采样数据。

6结果及结论原始11’UG.729AB程序码,按照笔者所述的准则依次优化后,性能提升列于表1。

由表可见,C版本整体性能提升达72%以上。

表2为优化程序码大小比较表。

因为优化主要以缩短执行周期为目标,所以C语言版本的程序码略大于原始版本。

G.729语音编解码优化研究及在S3C2440上的实现

G.729语音编解码优化研究及在S3C2440上的实现

G.729语音编解码优化研究及在S3C2440上的实现
王耿;张永杰
【期刊名称】《电脑知识与技术:学术交流》
【年(卷),期】2012(008)002
【摘要】该文分析了G.729在ARM上实时实现存在的困难和相应的关键技术,详细论述了G.729编解码算法在ARM上实现所采用的优化技术,并针对
S3C2440芯片的硬件结构和编译系统特点,设计了一套运行在该芯片上的G.729语音编解码器。

【总页数】3页(P906-908)
【作者】王耿;张永杰
【作者单位】湖北工业大学电气与电子工程学院,湖北武汉430068
【正文语种】中文
【中图分类】TP311
【相关文献】
1.G.729语音编解码及其在DSP上的实现 [J], 李超;孙志刚
2.G.729AB语音编解码的研究及其在S3C2440上的实现 [J], 赵孔新;董娜;李司宇
3.G.729语音编解码算法实现方法研究及DSP实现 [J], 吴海涛;梁迎春;梁欣涛;谢
金宝;闫健
4.G.729语音编解码优化研究及在S3C2440上的实现 [J], 王耿; 张永杰
5.基于DSP的G.729语音编解码算法优化研究 [J], 王耿
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(School of Oploelectronic Information·University of Electronic Science and Technology of China.Chengdu.610054.China)
Abstract:Nowadays,the software realization of H.264 encoder/decoder is the hotspot of the embedded application re— search.Implementation of H.26r1 encoding and decoding in the Linux system baded on¥3C2440 is introduced.The encoding code is based on x264,and the decoding code on ffmpeg codec。and play on ffplay codec.The experimental results show that at the resolution of qcif,the near rea[一time decoding and playing can be gained.Aimming at real—time video decoding and pla— ying based on the video streaming.the optimization of codec options is given.
收稿日期:2009—10—28 38
万方数据
随着视频压缩技术的日益成熟,嵌入式视频监控成 为当今视频监控的主流。采用¥3C2440为硬件平台, 将Linux与H.264相结合,实现x264和ffmpeg的移 植,对实际嵌入式视频通信系统的设计开发,具有重要 意义和实用价值嘲。
1 系统架构
采用¥3C2440作为硬件平台,稳定运行在 400 MHz,64 MB片上SDRAM,可以满足大型软件内 存需要,64 MB NAND FLASH,用于存储文件系统镜 像,接口丰富,功能强大。以拥有免费性,高可靠性,携 带源代码,强大的网络功能等特性的Linux作为嵌入式 软件开发平台。
关键词:¥3C2440;H.264;视频流;编解码;嵌入式开发
中图分类号:TP311
文献标识码:A
文章编号:1004—373X(2010)06—038—02
Implementation of H.264 Software Encoder/Decoder Based on S3C:2440
HE Xun。ZHOU Ying,WANG Yafei
比如CISC结构的CPU,基本上所有的指令都能访 问内存,对内存的操作都可以通过一个指令直接完成。 而RISC结构的CPU对内存的操作大都是通过Load/ Stores来进行的,其对内存的算术操作不能在一个指令 周期内完成。通常通过Load将内存中的操作数取出, 送入寄存器,再修改寄存器的内容.最后再用Store将 寄存器的数据送回内存。RISC结构的内存操作方式, 决定了由CISC结构CPU上开发的软件不能直接成功 移植到RISC上面¨。。
目前,H.264的开源解码器软件主要有:德国HHI 研究所负责开发的H.264官方测试软件JM,由法国巴 黎中心学校的中心研究所的学生发起的,网上自由组织 联合开发的兼容264标准码流的编码器x264,以及中 国视频编码自由组织联合开发T264等。对比之下, x264注重实用,在不明显降低编码性能的前提下,努力 降低编码的重复计算复杂度,摒弃了H.264标准中 一些对编码性能贡献微小但计算复杂度极高的新特性 如多参考帧。
紧接着在shell脚本make,在make中会出现关于 cpu set t的错误,关于CPU set t的以下那段代 码是计算CPU内核数目的,所以将np一1(计算机是单 核)直接返回,而没有用它的计算,还可能会出现变量未 定义的情况,可以用extern来辅助定义和应用相关函 数得到解决。然后make install,就会得到目标平台处 理格式的二进制可执行文件x264,将其移植到开发板 上,具体参数说明可以键入“./x264一help”进行查看。
2 x264的移植
由于普通PC机的X86体系结构和ARM的体系 结构的差别,X86就是采用复杂指令架构计算机(Com— plex Instruction Set Computer,CISC)架构。在CISC
处理器中,程序的各条指令是按顺序串行执行的,每条 指令中的各个操作也是按顺序串行执行的。顺序执行 的优点是控制简单,但计算机各部分的利用率不高,执 行速度慢。arm结构采用的是精简指令集计算机(Re— duced Instruction Set Computer,RISC)架构,是一种执 行较少类型计算机指令的微处理器。他们有以下区别: RISC对存储器操作有限制,使控制简单化;而CISC机 器的存储器操作指令多,操作直接。RISC机器在一条 指令执行的适当地方可以响应中断;而CISC机器是在 一条指令执行结束后响应中断。RISC汇编语言程序 一般需要较大的内存空间,实现特殊功能时程序复杂, 不易设计;而CISC汇编语言程序编程相对简单,科学 计算及复杂操作的程序设计相对容易.效率较高。
4几组实验数据的对比
在S3C2440平台下,采用Linux内核2.6,用成功 移植的x264和ffmpeg以及ffplay,对标准序列做了以 下测试,如表1所示。
表1测试结果
从表1可以看出,在¥3C2440平台上编码速度比 较慢,解码速度能接近实时,相信进过优化,能达到一般 安全监控的要求。ARM上测试序列标准序列suzie— qcif.yuv播放效果如图1所示,测试电影中的1个片段 播放效果如图2所示。
然后交叉编译ffmpeg,注意的是要把x264加进 来,当Configure时要加入一enable—x264选项,具体参 数说明可键人“./configure—help”查看。
Configure后会出现在SDL support NO之后。编 辑脚本configure里面的sdl—check,找到:
SDL—CONFIG=“MYM{cross—prefix)sdl—con— fig”,修改为自己安装的目录,如笔者为/usr/local/ arm/3.4.1/bin/sdl—eonfig,紧接着make进行编译和 make install进行安装就能得到目标平台处理器格式的 二进制可执行文件ffplay和ffmpeg,将生成的ffplay和 ffmpeg移植到开发板上,同时将生成的库文件 libSDI。一1.2.SO.0和libx264.SO.56移植到ARM上 Linux系统的根目录lib下运行。
3 ffmpeg和ffplay的移植
由于ffplay需要SDI。库的支持,SDI.是一个跨平台 的多媒体库,以用于直接控制底层的多媒体硬件的接VI。
万方数据
首先交叉编译SDL,这里采用的版本为SDL一1.2.13。 键入“./configure—help”根据需要设置参数,然后
make和make install,看情况改变prefix目录和各种选 项。make install之后便在prefix目录下生成所需的动 态库和include头文件等。
DIS是数字信息技术和嵌入式技术在教育领域的 最新应用。分析了DIS系统的整体模型,给出了其主 体的一个具体实现。由于硬件上定义了统一的接口,软 件上引入了实时操作系统,系统的扩展性极强。创新性 地提出了传感器的无线连接方式,以方便实验。系统硬 件上基于ARM7平台,体积小,重量轻,功耗低,价格便 宜;软件上提供了图形用户界面,支持触摸操作,使用方 便,界面友好。系统集数据采集与分析显示于一体,可 独立使用,又可以方便地与计算机通信,性能优越,稳定 性好。可以预见,该设计在中小学实验教学领域将有广 泛的应IS在高中生物学实验中的应用初探[J].生物学通 报,2008,43(8):42—43.
[2]张晓伟.刘盼盼.ARM嵌入式系统设计原理与开发实例 [M].北京:电子工业出版社.2008.
[3]赖于树.ARM微处理器与应用开发[M].北京:电子工业出 版社,2007.
[4]周立功.ARM微控制器基础与实战[M].北京:北京航空航 天大学出版社,2003.
为了能够在PC机(CISC结构)上编译得到能在ARM 上(RISC结构)运行的二进制程序,要使用交叉编译工具链 来编译程序,这里选用arlTl—Linux—gcc 3.4.1。
笔者移植所选版本为x264一snapshot 20070920— 2245。将x264程序拷贝到PC机上的Linux系统,运 行x264所在目录下的configure脚本进行配置,输入 CC—arm—I。inux一./configure。会在当前目录生成 config.mak文件,修改该脚本,设置编码器和库文件安 装路径、目标系统类型(Linux或Windows)、指定编译 工具链和编译选项等。比如把CC=gcc,AS=yasm修 改为CC=arm—Linux—gcc.AS=arm—Linux—as等。
Keywords:¥3C2440;H.264;video streaming;encoder/decoder;embedded development
0引 言
由国际电信联合会ITU视频编码专家组VCEG (Video Coding Expert Group)和国际化标准组织运动 图像专家组MPEG(Motion Picture Expert Group)共 同组成的联合视频组JVT(Joint Video Team)联合制 定的H.264视频压缩标准,凭借相对其他标准较高的 压缩效率和优秀的图像质量,已经成为目前最流行的视 频处理协议,具有广阔的前景和巨大的应用价值。由于 H.264采用分层设计、多模式运动估计、改进的帧内预 测等技术,显著提高了预测精度,从而获得比其他标准 好得多的压缩性能¨]。然而H.264获得优越性能的代 价是大幅度增加计算复杂度。
相关文档
最新文档