当前位置:文档之家› 基于stm32的软件音频解码库libmad移植手册

基于stm32的软件音频解码库libmad移植手册

基于stm32的软件音频解码库libmad移植手册
基于stm32的软件音频解码库libmad移植手册

mad资料

libmad音频解码库分析 2008-07-25 11:46 MAD(libmad)是一个开源的高精度MPEG音频解码库,支持MPEG-1标准。libmad提供24-bit的PCM输出,完全定点计算,非常适合在没有浮点支持的嵌入式硬件平台上使用。使用libmad提供的一系列API可以实现MP3文件的解码。 “mad.h”头文件定义了libmad的数据结构及API函数[15]。 表4 libmad中的主要数据结构 MAD通过回调函数机制来实现解码,每个回调函数会返回一个枚举类型mad_flow,通过mad_flow可以控制解码的过程。在未经处理的情况下,MAD一般输出32bit,以little endian格式存放在mad_fixed_t中的数据。但是大多数的声卡并不能支持输出高达32bit精度的数据,因而还必须对mad_fixed_t进行量化,圆滑处理以及抖动,使到采样信号降到16bit精度。MAD负责的只是解码的过程,它工作过程是:从外部获取输入,逐帧解码,在解码的过程中返回信息,然后得到解码结果。开发人员要手动设置输入输出。 编程实现解码的方法为:初始化mad_decoder,里面包含了指向输入、输出、滤波、错误和消息回调函数的指针。通过mad_decoder_init()实现初始化[16]。 struct mad_decoder decoder; struct my_playbuf playbuf; //设置数据缓冲区 mad_decoder_init(&decoder,&playbuf,input_func,header_func,/*filter*/0 , output_func, /*error*/ 0, /* message */ 0); 在这个初始化函数里面,回调输入函数指向了input_func,处理帧头信息的函数指向了header_func,而输出函数则为output_func。其它的滤波,错误和信息函数没有设置,置0。 接着,MAD进入了一个解码的循环过程:

奋斗STM32开发板Tiny NRF24L01转USB虚拟串口例程手册

奋斗版 STM32 开发板例程手册———NRF24L01+转 USB 虚拟串口实验
https://www.doczj.com/doc/4315778689.html,
NRF24L01+转 USB 虚拟串口实验
实验平台:奋斗版STM32开发板Tiny 实验内容:板子通过USB加电后,先向串口1输出一串测试数据,然后USB被PC识 别出来,虚拟出一个串口号给这个USB设备,此时可以通过在PC端的串口助手类 软件选择该串口号。进入串口软件界面,可以通过软件无线收发一帧长度最长 为32字节的数据。该例程可以和V3及MINI板的NRF24L01 UCGUI例程配合使用。
预先需要掌握的知识 2.4G通信模块NRF24L01 1. 产品特性
2.4GHz 全球开放ISM 频段,最大0dBm 发射功率,免许可证使用 支持六路通道的数据接收 低工作电压:1.9 1.9~3.6V 低电压工作 高速率:2Mbps,由于空中传输时间很短,极大的降低了无线传输中的碰撞现象(软件设置1Mbps或者2Mbps的空中传输速率) 多频点:125 频点,满足多点通信和跳频通信需要 超小型:内置2.4GHz天线,体积小巧,15x29mm(包括天线) 低功耗:当工作在应答模式通信时,快速的空中传输及启动时间,极大的降低了电流消耗。 低应用成本:NRF24L01 集成了所有与RF协议相关的高速信号处理部分,比如:自动重发丢失数据包和自动产生应答信号等, NRF24L01的SPI接口可以利用单片机的硬件SPI口连接或用单片机I/O口进行模拟,内部有FIFO可以与各种高低速微处理器接口, 便于使用低成本单片机。 便于开发:由于链路层完全集成在模块上,非常便于开发。 自动重发功能,自动检测和重发丢失的数据包,重发时间及重发次数可软件控制 自动存储未收到应答信号的数据包 自动应答功能,在收到有效数据后,模块自动发送应答信号,无须另行编程 载波检测—固定频率检测 内置硬件CRC 检错和点对多点通信地址控制 数据包传输错误计数器及载波检测功能可用于跳频设置 可同时设置六路接收通道地址,可有选择性的打开接收通道 标准插针Dip2.54MM 间距接口,便于嵌入式应用
2.基本电气特性
淘宝店铺:https://www.doczj.com/doc/4315778689.html,
1

音频的编解码

音频编码解码基本概念介绍 对数字音频信息的压缩主要是依据音频信息自身的相关性以及人耳对音频信息的听觉冗余度。音频信息在编码技术中通常分成两类来处理,分别是语音和音乐,各自采用的技术有差异。 语音编码技术又分为三类:波形编码、参数编码以及混合编码。 波形编码:波形编码是在时域上进行处理,力图使重建的语音波形保持原始语音信号的形状,它将语音信号作为一般的波形信号来处理,具有适应能力强、话音质量好等优点,缺点是压缩比偏低。该类编码的技术主要有非线性量化技术、时域自适应差分编码和量化技术。非线性量化技术利用语音信号小幅度出现的概率大而大幅度出现的概率小的特点,通过为小信号分配小的量化阶,为大信号分配大的量阶来减少总量化误差。我们最常用的G.711标准用的就是这个技术。自适应差分编码是利用过去的语音来预测当前的语音,只对它们的差进行编码,从而大大减少了编码数据的动态范围,节省了码率。自适应量化技术是根据量化数据的动态范围来动态调整量阶,使得量阶与量化数据相匹配。G.726标准中应用了这两项技术,G.722标准把语音分成高低两个子带,然后在每个子带中分别应用这两项技术。 参数编码:广泛应用于军事领域。利用语音信息产生的数学模型,提取语音信号的特征参量,并按照模型参数重构音频信号。它只能收敛到模型约束的最好质量上,力图使重建语音信号具有尽可能高的可懂性,而重建信号的波形与原始语音信号的波形相比可能会有相当大的差别。这种编码技术的优点是压缩比高,但重建音频信号的质量较差,自然度低,适用于窄带信道的语音通讯,如军事通讯、航空通讯等。美国的军方标准LPC-10,就是从语音信号中提取出来反射系数、增益、基音周期、清/浊音标志等参数进行编码的。MPEG-4标准中的HVXC声码器用的也是参数编码技术,当它在无声信号片段时,激励信号与在CELP时相似,都是通过一个码本索引和通过幅度信息描述;在发声信号片段时则应用了谐波综合,它是将基音和谐音的正弦振荡按照传输的基频进行综合。 混合编码:将上述两种编码方法结合起来,采用混合编码的方法,可以在较低的数码率上得到较高的音质。它的特点是它工作在非常低的比特率(4~16 kbps)。混合编码器采用合成分析技术。

NP1380视频、音频、图片处理扩展专用增强工具

文件下载地址 NP1380media.rar 点击进入115下载 测:在我机子(V1.5.7)十分正常,有问题请跟帖报告 通俗说明: 安装方法,下载上面的东西,解压,得到两个文件,全部放卡里,要放在根目录,然后安装那个ipk,完了。 然后看AVI视频就有特别的功能了 在扩展应用里有mpg123的播放器图标 在资源管理里看大图不会被缩小 正规说明: 声明: 1、最好结合Hack补丁使用,你实在不想安装Hack也行…… 2、此工具在V1.5.7版本的系统使用正常 3、此工具不会生成卸载、不能卸载、不准你卸载,安装后要想还原只能重新升级 4、安装此个后,不能再安装其他会修改文件关联的ipk,否则会完全失效

5、此工具不适合经常换卡的用户使用 6、此工具仅适合纯种NP1380使用!!!!!!! NP1300、NP1500、NP2150和切换成NP1380系统的机子都不可用不可用 特点:使用完全不需要自己输入命令,就这么双击文件打开即可 安装: 0、储存卡需保留至少100MB的空间用于存放文件,本地磁盘需保留至少2MB的空间用于存放文件 1、下载上面的压缩包 2、解压,得到NP1380media.ipk和media两个文件,其中media的大小为100MB 整 3、把这两个文件复制到卡的根目录 4、在机子安装那个ipk文件,然后此ipk文件可以删除,但media必须保留在卡的根目录 提示: 1、安装了Hack2.0+测试版的用户,用前,先删除本地磁盘的local文件夹再安装,安装好后会又有个local文件夹,不过体积减小了很多,大小不过2MB 2、安装后嫌因修正比例而导致视屏播放不全屏的人,执行 rm /.mplayer/config即可,但AVI视屏播放不会有改变 3、播放视频,不会那么快开始播放,耐心等几秒

tcpmp播放器介绍。

TCPMP(The Core Pocket Media Player),这是一个应用于智能设备上的开源媒体播放软件。 TCPMP是一个功能强大开放式的开源多媒体播放器,播放器主要由核心框架模块(common工程)和解码器分离器插件组成。 TCPMP的插件非常多,联合几个最常用的插件(ffmpeg、splitter)来说明,其中interface 插件实现TCPMP的界面,由于他和媒体播放没有什么关系,这部分可以完全被替换掉,替换成自己的界面。 ffmpeg工程是系统主要的音视频解码模块,ffmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。ffmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,A VI、MPEG、OGG、Matroska、ASF等90多种解码。很多开源播放器都用到了ffmpeg。但是ffmpeg程序解码效率不是很高,系统仅仅使用了FFmpeg的部分解码功能。ffmpeg主目录下主要有libavcodec、libavformat和libavutil等子目录。其中libavcodec 用于存放各个encode/decode模块,libavformat用于存放muxer/demuxer模块,libavutil用于存放内存操作等常用模块。本系统的媒体文件分离器有单独的splitter模块完成所以不需要libavformat子目录。ffmpeg目录下libavcodec、libavutil保留子目录。 libmad工程用于MP3文件解码,该工程包含两个功能模块,一个负责解析MP3文件格式,包括MPEG1音频文件 (MP1,MP2,MP3,MPA),读取每一帧音频数据;另一个负责解码MPEG1音频数据,解码代码在libmad子目录中。 libmad是一个开源的高精度 MPEG1音频解码库,支持 MPEG-1 (Layer I, Layer II 和 LayerIII,也就是 MP3)。libmad提供 24-bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝大部分该库的数据结构和 API 等。libmad是用的fixed-integer,通过整数模拟小数计算的,精度只能保证到小数点后第9位(大于0的最小值 0.00000000372529),虽然解码精度会有损失,但是极大提高了解码效率,特别是在嵌入式设备上也可以实现高码率MP3文件的解码。 splitter工程用于解析多种音视频文件格式。可以解析的文件格式包括:ASF媒体文件,视频文件 (A VI,DIVX),Windows波形文件 (W A V,RMP),MPEG电影文件 (MPEG,MPG,MPV),MPEG4文件 (MP4,3GP,M4A,M4B,K3G)。以上格式可以被解析但是数据编码不一定能正确解码,需要依赖系统的解码器。 common工程是核心模块,是一个开放的集数据输入、转换、音/视频解码、信号输出等功能为一体的完整的多媒体播放框架。这个框架自身不包含任何的Decode和Split功能,这些功能由插件实现,核心模块以一个树状结构管理所有的功能模块和插件模块,实现数据Render功能,对输入、转换、输出流程的控制,接受播放过程中的操作和对事件进行处理,同时也实现系统运行中经常使用的一些共用函数,比如解码过程中经常使用的逆离散余弦变换,内存操作,界面中需要使用的多语言字符处理等。common工程的主目录下主要有:blit、dyncode、overlay、pcm、softidct、win32、zlib等子目录。其中blit和overlay存放是视频信号渲染模块,pcm存放PCM音频信号转换模块,softidct存放逆离散余弦变换函数,win32存放内存操作等常用模块,dyncode这个目录的代码比较晦涩,存放的是程序运行是动态生成代码模块,针对不同的CPU指令集,PCM数据数据声道和采样率不同,视频渲染数据格式和色深等不同情况动态生成不同的优化代码(这段代码非常精彩,不能不让人佩服TCPMP 作者的高超水平)。核心模块有一个上下文对象context,该对象在初始化函数 bool_t Context_Init(……)中候创建了一个该对象实例。该对象实例记录管理各个功能模块,

数字音视频编解码技术标准工作组

数字音视频编解码技术标准工作组 A VS Mxxxx: 201X年XX月 来源: 包括作者、单位名称等与创作者相关的信息 标题: 状态: 描述文件的版本或其他需要说明的信息,例如视频提案、DRM信息等 ___________________________________________________ 正文 中国数字音视频编解码技术标准工作组 会员提案专利披露与许可承诺表 根据《中国数字音视频编解码技术标准工作组知识产权政策》第十四、十五、十六条等相关规定,A VS会员在向工作组各专题组提交技术提案时应填写本《会员提案专利披露与许可承诺表》,作为该提案的必要组成部分同时提交。 专题组名称:音频□视频□系统□DRM□ 提案A VS文档编号:_ 提案日期:________ 提案标题: 提案会员名称:_ 提案代表姓名(印刷体):Email: 提案代表通讯地址:邮编 电话:______ __ 传真:__ ______________________ 提案会员应当通过选中表A或者通过选中并填写表B相关部分完成此表。表C可以自愿填写。下列表格均可根据实际需要增加表格行。 表A: 提案会员在其实际知晓的范围内已获知本提案不涉及提案会员和他人的专利、专利申请和专利计划。□ 表B-1: 在中华人民共和国已获得授权的专利和/或已公开的专利申请□ 如果本提案中包含提案会员或其关联者在中华人民共和国已获得授权的专利和/或已公开的专利申请,提案会员应当填写下表: 表B-2: 在中华人民共和国未公开的专利申请□ 如果提案会员的缺省许可义务不是RAND-RF或者POOL,当提案会员或其关联者有与此提案相关的未公

基于晶心科技Andes平台的MP3移植

基于晶心科技Andes平台的MP3移植 晶心科技 (Andes)作为亚洲首家原创性32位微处理器IP与系统芯片开发平台的设计公司,面向32位市场推出了Andes Core N9,N10,N12三个系列低功耗高性价比的32位处理器软硬核IP。基于各系列处理器,晶心科技针对不同音频应用提供了多种解决方案。其中包括将多种音频格式的编、解码器(开源),例如MP3、AAC、WMA、G729等移植到Andes平台上。并且利用nds32(基于Andes Core)架构的优势和针对音频效能的扩展指令集,以及算法上的改进,对这些编解码器做了进一步的优化,使其不仅占用的空间较小而且具备了较高的运行性能。本文以MP3解码器为例,介绍如何将madplay移植到Andes平台,以及晶心科技基于N903A处理器提供的MP3解决方案。 1.MP3简介 MPEG-1 Audio Layer3(简称MP3)是一种有损音频编码方式,它利用掩蔽效应(一种心理声学模型),将脉冲编码调制(Pulse Code Modulation)音频数据中人耳听觉系统无法察觉的那部分数据去掉,使得MP3能够在音质丢失很小的情况下把音乐文件压缩到很小的程度(1:10 甚至1:12 的压缩率)。因为其体积小、音质高的特点,MP3已经成为当今最为流行的音频格式。madplay是目前使用较为广泛的一种MP3的解码器,下面将详细介绍如何使用Andes提供的AndeSight集成开发工具将madplay移植到Andes平台。 2.环境及软件介绍 2.1系统环境: Linux:Fedora 8。 2.2开发环境: AndeSight v1.4。 AndeSight是晶心科技提供的一种基于nds32架构开发嵌入式工程的图形化的集成开发环境。主要由AndeSight IDE, AndESLive和nds32工具集3个部分组成。 AndeSight IDE为工程师提供了各种友好的界面,包括对嵌入式工程做编辑,编译,运行,调试或者评测等等操作。 AndESLive提供了基于nds32架构的仿真器和一种图形化的虚拟SoC构建模型,它与AndeSight IDE相结合为用户提供了一个虚拟的硬件平台。这个虚拟评估平台提供Andes自行定义ISA的多组系列32位CPU IP以及各种外围设备IP,并且支持用户自定义IP模型。 AndESLive配合AndeSight IDE不仅使得SoC设计者能在计划初期就开始软件设计、侦错、最优化等工作,并对系统架构及功能进行检验,而且使硬件工程师和软件工程师具有一样的能力去制作和修改他们各自的系统模型,可以有效的控制NRE(NonRecurring Engineering)成本,让软件工程师在拿到硬件原型之前,即可以进行软件的开发和优化。 nds32工具集提供了一套在Andes平台上开发嵌入式应用程序所需要的标准工具,例如编译器、调试器、链接器等等。 2.3交叉编译器: nds32le-linux-gcc。

奋斗版STM32开发板Mini板硬件说明书

奋斗版STM32开发板Mini板的硬件说明 1. 供电电路: AMS1117-3.3输入+5V,提供3.3V的固定电压输出,为了降低电磁干扰,C1-C5为CPU 提供BANK电源(VCC:P50、P75、P100、P28、P11 GND:P49、P74、P99、P27、P10)滤波。CPU的模拟输入电源供电脚VDDA(P22)通过L1 22uH的电感与+3.3V VDD电压连接,CPU的模拟地VSSA(P19)及VREF-(P20)通过R1 0欧电阻与GND连接。VREF+(P21)采用VDDA(P22)电源基准。 为RTC的备份电源采用V1 3.3V锂离子片状电池。 2. 启动方式设置: Boot1—Boot0(P37,P94): x0: 内部程序存储区启动01:系统存储区启动(为异步通信ISP编程方式) 在此将BOOT1始终设置为0, BOOT0为可变的状态,在正常模式下将其置为0,在ISP 编程时将其置为1。用JP1跳线块设置,开路为ISP模式,短路为正常运行模式。 3. 时钟源电路: 外部晶体/陶瓷谐振器(HSE)(P12、P13):B1:8MHz晶体谐振器,C8,C9谐振电容选择10P。系统的时钟经过PLL模块将时钟提高到72MHz。 低速外部时钟源(LSE)(P8、P9):B2: 32.768KHz晶体谐振器。C10,C11谐振电容选择

10P。注意:根据ST公司的推荐, B2要采用电容负载为6P的晶振,否则有可能会出现停振的现象。 4. SPI存储电路: D2 AT45DB161(2M Bytes)CPU采用SPI1端口PA7-SPI1-MOSI(P32)、PA6-SPI1-MISO (P31)、PA5-SPI1-SCK(P30)、PA4-SPI1-NSS(P29)控制读写访问, SPI1地址:0x4000 3800 - 0x4000 3BFF 5. 显示及触摸接口模块: 显示器采用2.4” TFT320X240LCD(控制器ILI9325), 采用CPU的FSMC功能,LCD片选CS采用FSMC_NE1(P88),FSMC_A16(P58)作为LCD的RS选择,FSMC_nWE(P86)作为LCD的/WR, FSMC_nOE(P85)作为LCD的/RD, LCD的RESET脚用CPU的PE1(P98)(LCD-RST),FSMC_D0---FSMC_D15和LCD的D1-D8 D10-D17相互连接,触摸屏接口采用SPI1接口,片选为PB7-SPI1-CS3,由于LCD背光采用恒流源芯片PT4101控制,采用了PWM控制信号控制背光的明暗, PWM信号由PD13-LIGHT-PWM来控制。触摸电路的中断申请线由PB6-7846-INT接收。 LCD寄存器地址为:0x6000 0000, LCD数据区地址:0x6002 0000。

视音频编解码技术及应用

工科类 信息工程学院本科论文 题目:视音频编解码技术及应用 别系:信息工程学院 专业:信息工程 届次: 2012届 学号: 2012041183 姓名:焦杰 指导教师:杨宇老师 2014年9月28日

视音频编解码技术及应用 (——视音频编解码技术及应用 焦杰 【摘要】首先分析了在各个不同的历史阶段为满足不同的需求而提出的各种音频编解码器,讨论了最常见编解码器的特征和性能。然后考虑了它们对当前和未来移动通信需求的适应性,比较了各种音频编解码器的性能。最后给出了一些音频编解码器在移动通信系统中的应用。 【关键词】音频编解码器;增强的高效高级音频编码;增强的自适应多码率宽带音频编码;可变速率多模式宽带音频编码;谱带恢复。 1 引言 当今,各种各样的音频编解码器广泛应用于Et常生活中。选择哪种编解码器通常取决于以下因素:音频素材的内容类型、可用通信速率和收听场合对音质的要求。可能影响编解码器选择的其它因素,还包括标准化情形、专利费和市场品牌。尽管MP3格式已获得了很大的成功,但它不适合于移动设备。近来,效率较高的编解码器(如AAC和AMR)已被提出,并为适应移动的音频应用而不断改进。 笔者将通过揭示音频编码和解码的技术原理、标准化情形以及涉及可用技术和市场需求的编解码器的适应性来评估最常见的音频编解码器,同时也考虑到移动通信领域在硬件和软件上的发展状况,分析现有和将来的音频应用,以阐明对移动音频的需求和期待。 2 音频编解码器的历史背景 音频编解码器的简短历史可追溯到20世纪80年代中期,德国Fraunhofer 研究所首先开始从事高质量、低码率的音频编码研究。他们的项目作为面向市场的尤里卡(Eureka)研究计划(EU一147)的一个部分得到了欧盟的财政资助。1989

(完整)流媒体传输协议及音视频编解码技术

1.1音视频编解码技术 1.1.1 MPEG4 MPEG全称是Moving Pictures Experts Group,它是“动态图象专家组”的英文缩写,该专家组成立于1988年,致力于运动图像及其伴音的压缩编码标准化工作,原先他们打算开发MPEG1、MPEG2、MPEG3和MPEG4四个版本,以适用于不同带宽和数字影像质量的要求。 目前,MPEG1技术被广泛的应用于VCD,而MPEG2标准则用于广播电视和DVD等。MPEG3最初是为HDTV开发的编码和压缩标准,但由于MPEG2的出色性能表现,MPEG3只能是死于襁褓了。MPEG4于1999年初正式成为国际标准。它是一个适用于低传输速率应用的方案。与MPEG1和MPEG2相比,MPEG4更加注重多媒体系统的交互性和灵活性MPEG1、MPEG2技术当初制定时,它们定位的标准均为高层媒体表示与结构,但随着计算机软件及网络技术的快速发展,MPEG1、MPEG2技术的弊端就显示出来了:交互性及灵活性较低,压缩的多媒体文件体积过于庞大,难以实现网络的实时传播。而MPEG4技术的标准是对运动图像中的内容进行编码,其具体的编码对象就是图像中的音频和视频,术语称为“AV对象”,而连续的AV对象组合在一起又可以形成AV场景。因此,MPEG4标准就是围绕着AV对象的编码、存储、传输和组合而制定的,高效率地编码、组织、存储、传输AV 对象是MPEG4标准的基本内容。 在视频编码方面,MPEG4支持对自然和合成的视觉对象的编码。(合成的视觉对象包括2D、3D动画和人面部表情动画等)。在音频编码上,MPEG4可以在一组编码工具支持下,对语音、音乐等自然声音对象和具有回响、空间方位感的合成声音对象进行音频编码。 由于MPEG4只处理图像帧与帧之间有差异的元素,而舍弃相同的元素,因此大大减少了合成多媒体文件的体积。应用MPEG4技术的影音文件最显著特点就是压缩率高且成像清晰,一般来说,一小时的影像可以被压缩为350M左右的数据,而一部高清晰度的DVD电影, 可以压缩成两张甚至一张650M CD光碟来存储。对广大的“平民”计算机用户来说,这就意味着, 您不需要购置DVD-ROM就可以欣赏近似DVD质量的高品质影像。而且采用MPEG4编码技术的影片,对机器硬件配置的要求非常之低,300MHZ 以上CPU,64M的内存和一个8M显存的显卡就可以流畅的播放。在播放软件方面,它要求也非常宽松,你只需要安装一个500K左右的MPEG4 编码驱动后,用WINDOWS 自带的媒体播放器就可以流畅的播放了 AV对象(AVO,Audio Visual Object)是MPEG-4为支持基于内容编码而提出的重要概念。对象是指在一个场景中能够访问和操纵的实体,对象的划分可根据其独特的纹理、运动、形状、模型和高层语义为依据。在MPEG-4中所见的音视频已不再是过去MPEG-1、MPEG-2中图像帧的概念,而是一个个视听场景(AV场景),这些不同的AV场景由不同的AV对象组成。AV对象是听觉、视觉、或者视听内容的表示单元,其基本单位是原始AV对象,它可以是自然的或合成的声音、图像。原始AV对象具有高效编码、高效存储与传输以及可交互性的特性,它又可进一步组成复合AV对象。因此MPEG-4标准的基本内容就是对AV对象进行高效编码、组织、存储与传输。AV对象的提出,使多媒体通信具有高度交互及高效编码的能力,AV对象编码就是MPEG-4的核心编码技术。 MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用 1.1.2 H264 H.264是由ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)联合组建的联合视频组(JVT:joint video team)提出的一个新的数字视频编码标准,

各种音视频编解码学习详解 h264

各种音视频编解码学习详解h264 ,mpeg4 ,aac 等所有音视频格式 编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以豆丁上看不出所以然,从wiki上查。中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫―天下维客‖。wiki的中文还是很不错的,但是阅读后建议再阅读英文。 我对媒体codec做了一些整理和总结,资料来源于wiki,小部分来源于网络博客的收集。网友资料我们将给出来源。如果资料已经转手几趟就没办法,雁过留声,我们只能给出某个轨迹。 基本概念 编解码 编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒体等应用中。 容器 很多多媒体数据流需要同时包含音频数据和视频数据,这时通常会加入一些用于音频和视频数据同步的元数据,例如字幕。这三种数据流可能会被不同的程序,进程或者硬件处理,但是当它们传输或者存储的时候,这三种数据通常是被封装在一起的。通常这种封装是通过视频文件格式来实现的,例如常见的*.mpg, *.avi, *.mov, *.mp4, *.rm, *.ogg or *.tta. 这些格式中有些只能使用某些编解码器,而更多可以以容器的方式使用各种编解码器。 FourCC全称Four-Character Codes,是由4个字符(4 bytes)组成,是一种独立标示视频数据流格式的四字节,在wav、a vi档案之中会有一段FourCC来描述这个AVI档案,是利用何种codec来编码的。因此wav、avi大量存在等于―IDP3‖的FourCC。 视频是现在电脑中多媒体系统中的重要一环。为了适应储存视频的需要,人们设定了不同的视频文件格式来把视频和音频放在一个文件中,以方便同时回放。视频档实际上都是一个容器里面包裹着不同的轨道,使用的容器的格式关系到视频档的可扩展性。 参数介绍 采样率 采样率(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数叫作采样周期或采样时间,它是采样之间的时间间隔。注意不要将采样率与比特率(bit rate,亦称―位速率‖)相混淆。

金龙STM32F207开发板用户手册

1.概述 金龙STM32开发板用户手册芯片描述 -ARM32-bit Cortex-M3CPU -120MHz maximum frequency,150DMIPS/1.25DMIPS/MHz -Memory protection unit Memories -Up to1Mbyte of Flash memory -Up to128+4Kbytes of SRAM -Flexible static memory controller (supports Compact Flash,SRAM,PSRAM,NOR,NAND memories) -LCD parallel interface,8080/6800modes Clock,reset and supply management -1.8to3.6V application supply and I/Os -POR,PDR,PVD and BOR -4to25MHz crystal oscillator -Internal16MHz factory-trimmed RC -32kHz oscillator for RTC with calibration -Internal32kHz RC with calibration Low power -Sleep,Stop and Standby modes -VBAT supply for RTC, C32bit backup registers 20 optional4KB backup SRAM C12-bit,0.5us A/D converters 3 -up to24channels -up to6MSPS in triple interleaved mode C12-bit D/A converters 2 General-purpose DMA -16-stream DMA controller centralized FIFOs and burst support Up to17timers -Up to twelve16-bit and two32-bit timers Debug mode -Serial wire debug(SWD)&JTAG interfaces -Cortex-M3Embedded Trace Macrocell Up to140fast I/O ports with interrupt capability -51/82/114/140I/Os,all5V-tolerant Up to15communication interfaces C I2C interfaces(SMBus/PMBus) -Up to3 -Up to6USARTs(7.5Mbit/s,ISO7816interface,LIN,IrDA,modem control)

音频编解码介绍

音频编解码原理介绍 一.为什么要进行音频编解码 二.音频编解码原理 三.几种基本音频编解码介绍 一、为什么要进行音频编解码 随着人们对多媒体图像和声音的要求越来越高,在高清晰数字电视(HDTV)和数字电影中不仅应有高质量的图像,也应当具有CD质量的立体声。因为用数字方法记录声音比用模拟方法记录声音具有更强的优势,例如传输时抗噪声能力强、增加音频动态范围、多次翻录没有信号衰减等。但是数字声音最大的缺陷是记录的数据量大,表现在两个方面:其一是在传输过程中,传输数字声音需要占用很宽的传输带宽;其二是在存储过程中,需要占用大量的存储空间。所以在数字音频中需要采用数字音频压缩技术,对音频数据进行压缩。 二、音频编解码原理 每张CD光盘重放双声道立体声信号可达74分钟。VCD视盘机要同时重放声音和图像,图像信号数据需要压缩,其伴音信号数据也要压缩,否则伴音信号难于存储到VCD光盘中。 一、伴音压缩编码原理 伴音信号的结构较图像信号简单一些。伴音信号的压缩方法与图像信号压缩技术有相似性,也要从伴音信号中剔除冗余信息。人耳朵对音频信号的听觉灵敏度有规律性,对于不同频段或不同声压级的伴音有其特殊的敏感特性。在伴音数据压缩过程中,主要应用了听觉阈值及掩蔽效应等听觉心理特性。 1、阈值和掩蔽效应 (1) 阈值特性 人耳朵对不同频率的声音具有不同的听觉灵敏度,对低频段(例如100Hz以下)和超高频段(例如16KHZ以上)的听觉灵敏度较低,而在1K-5KHZ的中音频段时,听觉灵敏度明显提高。通常,将这种现象称为人耳的阈值特性。若将这种听觉特性用曲线表示出来,就称为人耳的阈值特性曲线,阈值特性曲线反映该特性的数值界限。将曲线界限以下的声音舍弃掉,对人耳的实际听音效果没有影响,这些声音属于冗余信息。 在伴音压缩编码过程中,应当将阈值曲线以上的可听频段的声音信号保留住,它是可听频段的主要成分,而那些听觉不灵敏的频段信号不易被察觉。应当保留强大的信号,忽略舍弃弱小的信号。经过这样处理的声音,人耳在听觉上几乎察觉不到其失真。在实际伴音压缩编码过程中,也要对不同频段的声音数据进行量化处理。可对人耳不敏感频段采用较粗的量化步长进行量化,可舍弃一些次要信息;而对人耳敏感频段则采用较细小的量化步长,使用较多的码位来传送。 (2)掩蔽效应 掩蔽效应是人耳的另一个重要生理特征。如果在一段较窄的频段上存在两种声音信号,当一个强度大于另一个时,则人耳的听觉阈值将提高,人耳朵可以听到大音量的声音信号,而其附近频率小音量的声音信号却听不到,好像是小音量信号被大音量信号掩蔽掉了。由于其它声音信号存在而听不到本声音存在的现象,称为掩蔽效应。 根据人耳的掩蔽特性,可将大音量附近的小音量信号舍弃掉,对实际听音效果不会发生影响。既使保留这些小音量信号,人耳也听不到它们的存在,它属于伴音信号中的冗余信息。舍弃掉这些信号,可以进一步压缩伴音数据总量。

基于SDL的音乐播放器

基于SDL的mp3播放器 SDL虽然本身提供播放音乐都功能但是不好用,SDL_mixer为SDL提供了快捷的音乐播放功能。但是SDL_mixer本身只能播放wav格式的音乐,并不能播放mp3,为了能完美支持mp3,需要为SDL_mixer 提供mp3的解码库, Mp3的解码库有很多中,可以用smpeg,libmad,用播放音乐的效果上来说本文注重讲解libmad。 首先为SDL_mixer安装libmad解码库,下载好libmad后直接./configure make make install,然后配置SDL_mixer的Makefile文件,要去掉默认的smpeg,换成libmad,可以用如下命令设置 ./configure --enable-music-mp3-mad-gpl --enable-music-mp3=no 然后make make install . SDL_mixer的libmad解码库就安装成功了。 /* 这是一个mp3播放器的源码,是基于SDL图形库,SDL_gfx,SDL_mixer以及libmad解码库, linux 编译方法gcc player.c -o player -I/SDL头文件所在的目录-L/SDL的图形库所在的目录 -lSDL -lSDL_gfx -lSDL_mixer write by douyuan888 2013-7-5 */ #include "SDL/SDL.h" #include "SDL/SDL_mixer.h" #include "math.h" #include "string.h" #include "SDL/SDL_gfxPrimitives.h" void Init()//初始化音视频 { if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO)== -1) { printf("SDL_INIT fault !\n"); exit(-1); } } SDL_Surface *Creat_Screen(int w,int h)//创建一个屏幕 { return SDL_SetVideoMode(w ,h , 0 ,SDL_SWSURFACE ); }

STM32F429开发板用户手册

STM32F429开发板用户手册 介绍 STM32F429(32F429IDISCOVERY)开发板可以帮助你去学习高性能STM32F4系列,并去开发你自己的应用。它包含了一个STM32F429ZIT6和一个嵌入ST-LINK/V2调试接口,2.4吋TFTLCD,64MbitsSDRAM,ST微机电陀螺仪,按键和USB OTG接口。

1约定 下表提供了一些约定惯例,目前的文档可能会用到。

2快速入门 STM32F429开发板是一种廉价且易于上手的开发套件,可以让使用者快速评估和开始STM32F4的开发工作。 在安装和使用产品以前,请接收评估产品许可协议。 2.1启动 跟随以下顺序来设置STM32F429开发板并开始开发应用: 1、确认跳线JP3和CN4被设置为“on”(开发模式) 2、连接STM32F429Discovery开发板CN1到PC,使用USB电缆(type A/mini-B),开发板上电。 3、屏幕上以下应用可用: 时钟日历和游戏 视频播放器和图片浏览器(播放浏览USB大容量存储器上的视频和图片)性能显示器(观察CPU负载和图形测试) 系统信息 4、演示软件,也像其他软件例程,运行你用来开发STM32F4。 5、从例程开始开发你自己的应用吧。 2.2系统要求 ?Windows PC(XP,Vista,7) ?USB type A to mini-B cable 2.3支持STM32F429开发板的开发工具 ?Altium:TASKING?VX-Toolset ?Atollic:TrueSTUDIO ?IAR:EWARM ?Keil?:MDK-ARM 2.4订购码 要订购STM32F429Discovery kit,请使用STM32F429I-DISCO订购码。 3特性 STM32F429Discovery开发板提供一下特性: ?S TM32F429ZIT6具有2MB闪存,256KB的RAM,LQFP144封装。 ?板载ST-LINK/V2,带有选择模式跳线,可以作为独立的ST-LINK/V2使用。 ?板电源:通过USB总线或外部3V或5V电源。 ?L3GD20:ST微机电动作传感器,3轴数字输出陀螺仪 ?TFT LCD,2.4寸,262K色RGB,240*230分辨率 ?SDRAM64Mbits(1Mbit x16-bit x4-bank),包含自动刷新模式和节能模式 ?六个LED: LD1(红绿):USB通信 LD2(红):3.3V电源 两个用户LED LD3(绿),LD4红 两个USBOTG LED:LD5(绿)VBUS和LD6OC(过流) ?两个按键(user and reset)

数字音视频编解码技术标准工作组知识产权政策

数字音视频编解码技术标准工作组知识产权政策

————————————————————————————————作者:————————————————————————————————日期:

数字音视频编解码技术标准工作组知识产权政策 (2004年9月12日第十次工作会议通过实施) (2008年3月29日第二十四次工作会议修订) 第一章、总则 第一条本知识产权政策文件(“知识产权政策”)规定了中国数字音视频编解码技术标准工作组(“工作组”)的与制订A VS技术标准的整个过程及其所产生的标准文 档相关的知识产权的管理规则。 第二条通过签署A VS会员协议,会员书面承诺该会员及其关联者及其工作组成员同意并遵守本知识产权政策的条款。 第三条本知识产权政策是A VS会员协议的必要组成部分,并通过引用纳入会员协议。 第二章、定义 第四条对于在本知识产权政策中使用并且在A VS章程、A VS会员协议和A VS章程细则中已有定义的词语,其含义应遵从有关文件中的定义。以下词语在本知识产 权政策中定义为以下含义: 1、“符合部分”仅指有关产品或服务中实施并符合最终A VS 标准的所有相关规范性要求的特定部分,这些规范性要求应当 在最终A VS标准中明确公开,并且其目的是为了使产品或服 务能够实现该最终AVS标准所定义的解码、编码、发送数字 媒体或识别和实施权利管理。 2、“必要权利要求”是指根据授权或公布专利的所在国法律, 被最终A VS标准的符合部分不可避免地侵权的该专利中的某 一权利要求,且仅限于该权利要求。 专利的某一权利要求被不可避免地侵权,是指该侵权不可能在 实施最终A VS标准时通过采用另一个技术上可行的不侵权的 实施方式予以避免。 必要权利要求不包括,并且许可也不适用于:(1)不符合上文 规定的其他权利要求,即使该权利要求包含在同一件专利中; (2)在最终的A VS标准文档中引用或以参考方式包括在内的 其他标准中涉及的权利要求;(3)制造或使用符合最终AVS 标准文档的任何产品、服务及其部分时可能必要,但没有明确 地在该标准文档中描述的实现技术。 3、“专利”是指许可方或其关联者拥有的或者在无需向非关联 第三方付费的情况下有权许可的,在任何国家授权的任何专 利、可执行的发明证书、授权的实用新型、或公布提请异议的 任何可执行的专利申请或实用新型申请,但不包括外观设计专 利和外观设计登记。 4、“规范性参考文件”是指并非由工作组制定而是通过引用包

音频编解码技术的延时问题

SBC编解码器在A2DP协议里是必不可少的。由于是将信号以帧的形式填充到蓝牙数据包中,其整体延迟时间比较高,主要归于以下几个因素: 1.编解码器延迟:每个音频编解码器在将数据进行编码、解码并发出去之前会造成一定的内部延迟。传统的编解码器已检测到高达50ms的编解码器延迟。 2.传输延迟:A2DP传输层采用数据包结构。工程师在使用基于SBC或感知的帧填充数据包时,有两个方案选择:其一是将一个帧放入大型蓝牙数据包中(图1);其二是将一个帧分解成两个蓝牙数据包(图2)。采用第一个方案会降低数据传输的稳健性,而在第二个方案中,解码器只有在接收到两个蓝牙数据包以后才能对分解帧进行解码,因此将大大增加传输延迟时间。 图1

图2 apt-X是CSR 公司专有的一种编码格式,压缩率4:1(约352 kbit/s),号称可以达到CD 音质。由于是专有格式,必须要求播放设备与接受设备均采用CSR的蓝牙模块才行。 特点:无缓冲,低延迟,如果出现数据包损失的话,几乎无需重传数据。apt-X不同于SBC,它采用无框架结构。解码过程中,aptX编解码器无需等待便可高效地对蓝牙数据包进行填充,也就是说,一旦它接收到数据包便即刻启动解码过程,无需等待(图3)。此外,aptX采用固定压缩率算法,可在传输过程中始终提供相同的比特率,从而保证每个配备aptX的产品输出相同的音质。 aptX具备的一系列独特特性在提供专业的音频性能及稳健性的同时,还可保证40ms的编解码延迟。 图3 关于解码方式的一个比喻: 我们可以想象一个四车道的高速公路经过一座只有单车道的桥。使用aptX技术相当于桥头上的收费站将四车道上的车流处理(或编码)成单车道队列,使其能够穿桥而过。然后,在桥尾有另一个收费站将单车道车流又处理(或解码)回四车道。 SBC、AAC 和MP3技术的这些收费站,会限制通过车辆所允许携带的汽油量,这样每辆车都必须将超出限量的汽油放掉。当他们通过桥另一端的收费站后,虽然汽油也许不会全部用完,但肯定比来时要少很多。此外,一旦您过了桥,之前放掉的汽油不会再还给您。换句话说,您永远失去了这些汽油。对重现音频这一事件来说,相当于上述几种解码方法使用更具破坏性的压缩技术来处理音频数据,使其能通过蓝牙传输,这意味着它们将扔掉自认为不重要的音频元素,仅重现有限的音频带宽。 SBC与aptX差别: 与SBC(Sub-Band Codec子带编解码)技术相比,aptX的优势比较明显: 在频率响应方面,aptX可以在整个频率范围内真实还原音频,SBC则会随着频率的增高,信号渐弱,从而导致失真显著。

相关主题
文本预览
相关文档 最新文档