AAC MDCT

AAC采用MDCT进行时频变换。

在编码端,以block为单位取出N个sample,乘以合适的window function后再进行MDCT.N通常为2048,256.

每个输入到MDCT的sample block与前一个block有50%的overlap。

假设有3个1024的frame(A,B,C),那第一个进行MDCT的input sample block为(A,B),第二个进行MDCT的input sample block为(B,C).两个input sample block overlap的部分为frame B,即50%的overlap.

关于input sample block在spec中描述如下:

MDCT计算出频谱系数X(i,k)公式如下:

不同的window sequence, N的取值如下:

对于long_sequence,overlap后的2048个sample进行MDCT,输出为1024个频谱系数。

window可以选择KBD或者sine:

在进行MDCT时,可能会遇得到window switch的情况,

时间: 2024-08-29 08:10:41

AAC MDCT的相关文章

使用ffmpeg转码pcm至aac格式

准备工作 去官网下载源码自己编译所需要的库,或者直接从官网下载已经编写好的库,由于本例是Window平台下的开发,而官网已经有了编译好的库,所以直接下载编译所需要的库文件即可.下载地址:需要下载两个压缩包,Dev版本和Shared版本,其中Dev版本是头文件和lib库文件,Shared是包含运行所需要的dll文件. 下载完成后,需要把这些头文件.静态库.动态链接库引入到我们的工程里面,不过在Windows下面,头文件除了要用到FFMPEG提供的,还要使用另外三个文件:inttypes.h,std

使用iOS自带AAC编码器

AAC(Advanced Audio Coding),中文名:高级音频编码,出现于1997年,基于MPEG-2的音频编码技术.由Fraunhofer IIS.杜比实验室.AT&T.Sony等公司共同开发,目的是取代MP3格式.2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC. iOS平台支持AAC编码器,主要使用AudioToolbox中的AudioConverter API.之所以做AAC编码

(原)从mp4,flv文件中解析出h264和aac,送解码器解码失败

转载请注明出处:http://www.cnblogs.com/lihaiping/p/5285166.html 今天在做本地文件解码测试,发现从mp4,flv文件中读出来的帧数据,h264和aac帧直接送解码器解码,发现解码失败,但文件放在pc上用ffplay和vlc却都能播放,而且这个测试的视频文件是用ffmpeg.exe进行转码出来的,所以应该不存在解码不了的问题,那问题在哪呢? 百度了下,网上有人说mp4文件里面封装的h264有两种格式:h264和avc1: 而这两种格式的差别是: AVC

最简单的基于FFMPEG的音频编码器(PCM编码为AAC)

本文介绍一个最简单的基于FFMPEG的音频编码器.该编码器实现了PCM音频採样数据编码为AAC的压缩编码数据.编码器代码十分简单,可是每一行代码都非常重要.通过看本编码器的源码.能够了解FFMPEG音频编码的流程. 本程序使用最新版的类库(编译时间为2014.5.6).开发平台为VC2010.全部的配置都已经做好,仅仅须要执行就能够了. 流程(2014.9.29更新) 以下附一张使用FFmpeg编码音频的流程图. 使用该流程.不仅能够编码AAC的音频,并且能够编码MP3,MP2等等各种FFmpe

解密H264、AAC硬件解码的关键扩展数据处理

通过上一篇文章,我们用ffmpeg分离出一个多媒体容器中的音视频数据,但是很可能这些数据是不能被正确解码的.为什么呢?因为在解码这些数据之前,需要对解码器做一些配置,典型的就是目前流行的高清编码"黄金搭档"组合H264 + AAC的搭配.本文将讲述H264和AAC的关键解码配置参数的解析,如果没有这些配置信息,数据帧往往不完整,导致了解码器不能解码. H264的配置信息解析 前面我们知道,ffmpeg的avformat_find_stream_info函数可以取得音视频媒体多种,比如播

请问anroid怎么播放aac文件。

============问题描述============ 坑了个爹的,看了可以录AAC就跟人约束了用AAC的,现在发现可以录不可以放-不支持.. 求大神解答Android如何播放aac文件. ============解决方案1============ 引用 楼主 u013676055 的回复: 坑了个爹的,看了可以录AAC就跟人约束了用AAC的,现在发现可以录不可以放-不支持.. 求大神解答Android如何播放aac文件.

转载:AAC文件解析及解码

转自:http://blog.csdn.net/wlsfling/article/details/5876016 http://www.cnblogs.com/gaozehua/archive/2012/05/03/2479960.html OUTLINE: * AAC概述 * AAC规格简述 * AAC特点 * AAC音频文件解析 --ADIF&ADTS格式 --ADIF&ADTS头信息 --ADIF&ADTS数据信息 --AAC文件处理流程 * AAC解码流程 --技术解析 *

AAC ADTS流解析总结

这里列出Android里将aac编码器输出的音频帧加上ADTS头的代码: + int tmpFd; + tmpFd = ::open("/data/src.aac", O_WRONLY | O_APPEND ); + if ( tmpFd < 0 ) { +    LOGE("No dump decode file %s",strerror(errno)); + } + else + { +    unsigned char adts_hdr[7] = {0x

笔记- iphone手机音频AAC视频H264推流(一) iphone手机推流最佳方案

这几个月一直在做iphone手机音视频的东西,由于个人比较懒,所以一直没整理,现在闲的蛋疼,并且以后项目要搁置了,在这里记录一下我做的iphone手机推流的东西. 项目都是个人的调研与实验,可能很多不好或者不对的地方请多包涵. 1    功能概况 *  实现音视频的数据的采集 *  实现音视频数据的编码,视频编码成h264,音频编码成aac *  实现音视频数据的发布,将编码好的音视频数据传输到服务器 2 视频和音频编码方案 视频硬编码需要使用AVAssetWriter,但是他只支持直接将数据编