FLAc格式说明.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FLAc格式说明

FLAC 编码设置只对编码时间有较大影响而对解码影响不大;因为等级越高,编码器就会花越多的时间去寻找最佳的压缩算法,而解码器则根据给定的压缩算法直接解压。 FLAC简介 基本结构: 4byte 字符“flaC”:flac标志,用于识别flac数据流 STREAMINFO 文件信息描述块(metadata block):包含必须的信息(采样率、声道数…) 可选的其他描述信息块:(解码是可以不用识别) 一个以上的音频帧(frame) 编码的过程 Flac把未压缩的音频流划分为块(block),并独立压缩,压缩后的数据块形成数据帧(frame),把数据帧连接形成压缩后的flac数据流(stream) 分块(blocking) flac分块大小是可变的。分块大小应适当选择,太小影响压缩率(太多帧头信息),太大难以得到高效的压缩模型。一般44.1k线性采样,分块大小2~6k较合适(默认4096) 声道内解相关性? 立体声的左右声道数据之间有许多相关性,可以利用这种相关性压缩数据。Flac有四种方式表示声道数据。 独立模式:左右声道独立编码; Mid-side模式:转换表达式:mid = (left + right) / 2, side = left - right.。 Left-side:Left不变,s Right-side: 建模(modeling) 编码器尝试使用一个数学方法(近似)描述原始信号,这种描述信息一般来说比原始信息小得多,这些数学方法是编码器和解码器都已知的(flac现在有4个种类的预测方法,并可以加入更多方法)flac运行在各个块中使用不同的预测算法。大多时候不能完全精确的描述原始信息,此时还会剩下少量数据残渣(residual, residue, or error)。Flac有两种产生近似值的方法:1)为信号找个合适的多项式。2)简单线性预测(LPC)。前者更快但不精确。 数据残渣编码 对建模后剩余的数据进行编码,保证数据的无损。目前flac只使用一种编码方法。 帧 (framing)一个音频帧被一个帧头(frame header)和帧脚(frame footer)包围。帧头以同步字开始,包含了解码这帧的最小信息如采样率,采样位数等,同时包含了这帧里的分块数或采样数及一个8位CRC校验码。帧头可以用来进行再同步。帧尾包含一个16位CRC校验码。如果解码器检测到CRC错误将产生一个silent block。 定义 (block、subblock 指没有被编码的原始数据;frame、subframe指编码后的数据) Block:一组或多组跨所有声道的采样点(flac采样组数范围16~65535)。 Subblock:一个或多个单声道的采样点,一个Block包含几个声道就有几个subblock,同个block内subblock的采样点数相同。 Blocksize:一个block中任意subblock的采样点个数(与声道数无关)。 Frame:一个frame帧头加一个或多个Subframe Subframe:一个subframe帧头加某一声道上一个或多个编码后的采样点,一个frame中的所有subframe包含的采样点数一样。 (每次一个subblock被编码成一个subframe,多个subframe组成一个frame) Flac格式(format) Flac中所有数值都是整形,大端模式,除非特别指出,否则数值都是unsigned的。 一些概述: Flac比特流以“flaC”开始,接着是必须的metadata块(STREAMINFO),然后是其他可选的metadata块,接着是音频帧。 Flac做多可以支持到128类metadata,已经定义的包括下面几种: STREAMINFO:包含整个比特流的一些信息,如采样率、声道数、采样总数等。他一定是第一个metadata而且必须有。之后可以接其他metadata,这些metadata可以不用识别直接跳过。 APPLICATION:包含第三方应用软件信息,这个段里的32位识别码是flac维护组织提供的,是唯一的。 PADDING:没有意义的东西,主要用来后期添加其他metadata。 SEEKTABLE:保存快速定位点,一个点由18bytes组成(2k就可以精确到1%的定位),表里可以有任意多个定位点。 VORBIS_COMMENT:存储了一系列可读的“名/值”的键值对,使用UTF-8编码。这是flac唯一官方支持的标签段。 CUESHEET:存储用在cue sheet中的各种信息。可以用来划分音轨,在备份CD时十分有用。 PICTURE:保存相关图片,同时还有url、分辨率等信息,可以有不止一个picture block。 音频数据由一个或多个音频帧组成,每一帧包

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档