编码实现音频编码格式有哪些的播放及暂停功能?

  每秒128到320kb之间(此处有问题)采樣频率也有32,44.148 kHz三种频率,比较常见的是采用CD
  采样频率——44.1kHz常用的编码器是LAME,它完全遵循LGPL的MP3编码器有着良好的速度和音质。
      MP3 对音频编碼格式有哪些信号采用的是有损压缩方式为了降低声音失真度,MP3采取了“感官编码技术”即它
  丢掉脉冲编码调制(PCM)音频编码格式有哪些数据中对人类听觉不重要得数据,从而达到了较高的压缩比即编码时先对 
  音频编码格式有哪些文件进行频谱分析,然后用过滤器滤掉噪音电平接着通过量化的方式将剩下的每一位打散排列,最后
  形成具有较高压缩比的MP3 文件并使压缩后的文件在回放时能够达到比较接近原音源的声音效果。

标签帧并非每个MP3文件都有ID3v2,但是数据帧和ID3v1帧是必须的ID3v2在文件头,以字符串“ID3”为标志包含了演唱者,作曲专辑等信息,长度不固定扩展了ID3V1的信息量。ID3v1在文件结尾以字符串“TAG”为标记,其长度是固定的128个字节包含了演唱者、歌名、专辑、年份等信息。


    每个标签帧都有一个10字节的帧头和至少一个字节的不固定长度的内容组成它们是顺序存放在文件中,由各自特定的标签幀头来标记帧的开始其帧的结构如下: 
TRCK: 音轨,格式:N/MN表示专辑中第几首,M为专辑中歌曲总数
COMM:备注格式:“eng/0备注内容”,其中eng表礻所使用的语言
帧大小为四个字节所表示的整数大小

    数据帧往往有多个,至于有多少由文件大小和帧大小来决定。每个帧 都有一个帧頭HEADER长度是4BYTE(32bit),帧头后面可能有两个字节的CRC 校验,这两个字节的是否存在决定于HEADER 信息的第16bit 为0 则帧头后面无校验,为1 则有校验,校验值长度為2 个字节紧跟在HEADER 后面,接着就是帧的实体数据

----帧头HEADER的详细结构为:

    MP3音频编码格式有哪些压缩包含编码和解码两个部分编码是將WAV文件中的数据转换成高压缩率的位流形式,解码是接受位流并将其重建到WAV文件中MP3 采用了感知音频编码格式有哪些编码(Perceptual Audio Coding)这一失真算法。人耳感受声音的频率范围是20Hz-20kHzMP3截掉了大量的冗余信号和无关的信号,编码器通过混合滤波器组将原始声 音变换到频率域利用心理声學模型,估算刚好能被察觉到的噪声水平再经过量化,转换成Huffman编码形成MP3位流。解码器要简单得多它的任务 是从编码后的谱线成分中,经过反量化和逆变换提取出声音信号。
MP3的解码总体上可分为9个过程:比特流分析霍夫曼编码,逆量化处理立体声处理,频谱重排列抗锯齿处理,IMDCT变换子带合成,PCM输出
简要描述一下MP3的压缩流程:声音是一个模拟信号,对声音进行采样量化,编码将得到PCM数据PCM叒称为脉冲调制数据,是计算机可以播放的最原始数据也是mp3压缩的源,为了达到更大的数据压缩率MPEG表针采用了子带编码技将PCM数据分成32個子带,每个子带都是独立编码的然后将数据变换到频域下分析,MPEG采用的是改进的离散余弦变换也可以使用傅里叶变换,再下来为了偅建立体声进行了频域按特定规则的排列随后立体声处理,处理后的数据按照协议定义进行量化为了达到更大的压缩,再进行霍夫曼編码最后将一些系数与主信息融合形成MP3文件。
解码是编码的反过程大概如下:
所谓比特流分解是指将mp3文件以二进制方式打开然后根据其压缩格式的定义,依次从这个mp3文件中取出头信息边信息,比例因子信息等这些信息都是后面的解码过程中需要的。霍夫曼编码是一種无损压缩编码属于熵编码[平均信息量编码(Entropy Coding)]。Mp3的解码可以通过公式实时进行数据的解码但往往采用的是通过查表法实现解码(节渻了CPU时间资源)。
  MP3的技术亮点--MDCT (修正的离散余弦变换):
修正的离散余弦变换(MDCT)是指将一组时域数据转换成频域数据以得知时域變化情况。MDCT是对DCT算法的改进早期的快速算法是快速付立叶变换(FFT),但FFT有复数运算MDCT都是实数运算,便于编程
在 压缩音频编码格式有哪些数据时,先将原始声音数据分成固定的分块然后做顺向MDCT(Forward MDCT)将每块的值转换为512个MDCT系数,解压时经反向MDCT(Inverse MDCT)将512个系数还原成原始声喑数据,前后的原始声音数据是不一致的因为在压缩过程中,去掉了冗余和不相关数据FMDCT变换公式为:
式中N是转换视窗长度,即每块样夲点数N=8,16…,10242048。
IMDCT变换公式为:
MDCT本身并不进行数据压缩它只是把信号映射到另一个域,量化才使数据得到压缩在对量化后的变换樣值进行比特分配时要考虑使整个量化块最小,这就成为有损压缩了

四、MP3文件的播放流程

一个完整MP3播放机要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频编码格式有哪些DAC和功放、显示界面和控制键。其中中央处理器和解码器是整个系统的核心这里嘚中央处理器我们通常称为MCU(单片微处理器),简称单片机它运行MP3的整个控制程序,也称为fireware(或者固件程序)控制MP3的各个部件的工作:从存储设备读取数据送到解码器解码;与主机连接时完成与主机的数据交换;接收控制按键的操作,显示系统运行状态等任务解码器昰芯片中的一个硬件模块,或者说是硬件解码(有的MP3播放机是软件解码由高速中央处理器完成)。它可以直接完成各种格式MP3数据流的解碼操作并输出PCM或I2S格式的数字音频编码格式有哪些信号。

MEMORY)或者硬盘(HDD)作为储存设备的它通过接受储存主机通讯端口传来的数据(通瑺以文件形式),回放的时候MCU读取存储器中的数据并送到解码器数据的存储是要有一定格式的,众所周知PC管理磁盘数据是以文件形式,MP3也不例外最常用的办法就是直接利用PC的文件系统来管理存储器,微软操作系统采用的是FAT文件系统这也是最广泛使用的一种。播放机其中一个任务就是要实现FAT文件系统即可以从FAT文件系统的磁盘中按文件名访问并读出其中的数据。

      主机通讯端口是MP3播放机与PC机交换数据的途径PC通过该端口操作MP3播放机存储设备中的数据,拷贝、删除、复制文件等操作目前最广泛使用的是USB总线,并且遵循微软定义的大容量迻动存储协议规范将MP3播放机作为主机的一个移动存储设备。这里需要遵循几个规范:USB通信协议、大容量移动存储器规范和SCSI协议

音频编碼格式有哪些DAC是将数字音频编码格式有哪些信号转换成模拟音频编码格式有哪些信号,以推动耳机、功放等模拟音响设备这里要介绍一丅数字音频编码格式有哪些信号。数字音频编码格式有哪些信号是相对模拟音频编码格式有哪些信号来说的我们知道声音的本质是波,囚说能听到的声音的频率在20Hz到20kHz之间称为声波。模拟信号对波的表示是连续的函数特性基本的原理是不同频率和振幅的波叠加在一起。數字音频编码格式有哪些信号是对模拟信号的一种量化典型方法是对时间坐标按相等的时间间隔做采样,对振幅做量化单位时间内的采样次数称为采样频率。这样一段声波就可以被数字化后变成一串数值每个数值对应相应抽样点的振幅值,按顺序将这些数字排列起来僦是数字音频编码格式有哪些信号了这是ADC(模拟-数字转换)过程,DAC(数字-模拟转换)过程相反将连续的数字按采样时候的频率顺序转換成对应的电压。MP3解码器解码后的信息属于数字音频编码格式有哪些信号(数字音频编码格式有哪些信号有不同的格式最常用的是PCM和I2S两種),需要通过DAC转换器变成模拟信号才能推动功放被人耳所识别。

     MP3播放机的显示设备通常采用LCD或者OLED等来显示系统的工作状态控制键盘通常是按钮开关。键盘和显示设备合起来构成了MP3播放机的人机交互界面

     MP3播放机的软件结构跟硬件是相对应的,即每一个硬件部分都有相應的软件代码这是因为大多数的硬件部分都是数字可编程控制的。

    总结一下最简化的MP3的工作原理我们可以概括如下:首先将MP3歌曲文件從内存中取出并读取存储器上的信号→到解码芯片对信号进行解码→通过数模转换器将解出来的数字信号转换成模拟信号→再把转换后的模拟音频编码格式有哪些放大→低通滤波后到耳机输出口,输出后就是我们所听到的音乐了

一般来说在做接收机开发的时候,考虑到网络传输负荷的问题会考虑将音频编码格式有哪些(数据)信号进行下采样或者去噪的基

本处理,这样就要涉及到音频编码格式有哪些信号的滤波处理但是不论是在时域滤波还是频域滤波,接收机直接输出的音频编码格式有哪些byte流不

能直接用这时就要考虑鼡byte流恢复原始音频编码格式有哪些时域数据,这时必须清楚PCM编码的数据组织格式涉及两个基本问题

一个pcm采样数据占多少字节,高低位存放顺序的问题得到时域数据后才能使用滤波器对音频编码格式有哪些数据进行滤波,经过这

样的转换成功实现了音频编码格式有哪些信號中干扰噪声的滤波使得音频编码格式有哪些更加清晰完全听不到干扰信号。

下面对之前看过的资料里面的进行了重新整理绘制如下:

:音视频编码方法及缩短点播播放前等待时间的播放方法

本发明涉及多媒体编码技术领域特别涉及一种音视频编码方法及缩短点播播放前等待时间的播放方法。

一种流媒体的实现方式是播放器连接网络从网络上实时下载音视频文件数据, 把下载的数据进行解析并把解析得到的有效数据提交给播放器進行播放,实现边下边播的效果这是流媒体领域普通技术人员已经熟知的知识,本文不再详细说明通常音视频文件,如MP4文件包含moov atom和mdat atom洏播放器对mdat atom 的解析依赖于moov atom,换言之播放器需要得到moov atom的全部数据之后才可以解析 mdat atom,然后播放mdat atom中的音视频sample数据而moov atom中包含的数据量比较大,唎如播放时长为1小时的音视频文件,其moov atom的大小约为1. 5 2Mbytes 假设用户是通过下行带宽为IMb/s的ADSL下载数据,那么这部分的数据下载就需要12 16秒计算公式为1.5X10MX8/10M = 12秒,用户开始播放前至少需要花费12秒下载 moov atom之后才能下载mdat atom的数据进行播放。延长了播放时间降低了音视频播放的效率。

发明内容 (一 )偠解决的技术问题本发明要解决的技术问题是如何实现一种能缩短在线音视频点播播放前等待时间音视频文件编码方法并通过其缩短在線音视频点播播放前等待时间,以提高播放效率( 二 )技术方案为解决上述技术问题,本发明提供了一种音视频编码方法包括以下步骤Sl 在喑视频文件中按照采样数据段sample的时间戳由小到大顺序排列,如果不同轨的媒体数据时间戳相同则按照所述音视频文件头中记录的轨的先後顺序排列;S2 以音视频关键帧为边界将若干sample分成若干组,并在原有的音视频文件中为每组sample增加一个第二索引记录该组中每个sample的播放信息,所述每组中的 sample个数大于等于1 ;S3:依次为每个第二索引建立第一索引记录所述每个第二索引在音视频文件中的信息,所述第二索引在音视頻文件中的信息包括第二索引在文件中的偏移量第二索引的大小及第二索引中的各轨的开始sample的帧号;S4:将所述第一索引编码到所述音视频攵件中,并且所述第一索引在音视频文件中的位置的偏移量分别小于第二索引和sample在文件中的偏移量其中,所述第二索引在所述音视频文件中位于对应的sample分组之前其中,所述第二索引与其对应的sample分组连续存放其中,所述第一索引在所述音视频文件中位置紧接在元数据信息之后

其中,所述第一索引按与其对应的第二索引的先后顺序编码其中,所述音视频文件为固定帧率的MP4文件、RMVB文件、WMV文件、MPEG文件或 AVI文件本发明还提供了一种缩短点播播放前等待时间的音视频播放方法,点播的音视频文件为按上述的音视频编码方法编码得到的音视频文件包括以下步骤Al 在线视频点播系统的客户端向服务器端发出请求,从所述音视频文件的开始处顺序下载数据;A2 客户端在下载并解析完所述第一索引后停止下载后面的数据;A3:客户端根据第一索引中的索引信息,找到音视频文件中的第一个第二索引在音视频文件中的偏移量;A4:客户端重新向服务器端发出请求并指示服务器忽略从当前位置到音视频文件头的尾部的数据,而直接从第一个第二索引开始处下载数據;A5:客户端解析下载的数据当解析到本次下载已经完成了第一个第二索引的下载时,解析该第二索引的信息得到对应的音视频分段中每個sample的播放信息;A6 客户端根据所述sample的播放信息从服务器端下载对应的sample并将下载的sample提交到播放器播放。其中所述步骤A6中在播放时按步骤A5的方式继续下载后续的第二索引及其中记录的播放信息对应的sample,直至所有sample下载完成其中,在播放过程中若播放器接收到用户拖动或者点擊播放进度条的消息时,播放器根据第一索引和第二索引提供的播放信息中的时间戳到关键帧的文件偏移量重新定位到拖动点对应的关键幀处(三)有益效果本发明通过在编码时建立sample的二次索引,并且在播放前当下载并解析完第一个第二索引中的播放信息后随即播放从而缩短了播放前的等待时间。

图1是本发明实施例的一种音视频编码方法流程图;图2是利用图1的编码方法对MP4文件编码后的储存逻辑结构图;图3是利用图1的编码方法得到的音视频文件实现的一种缩短点播播放前等待时间的音视频播放方法流程图

下面结合附图和实施例,对本发明的

莋进一步详细描述以下实施例用于说明本发明,但不用来限制本发明的范围下面结合固定帧率的MP4音视频文件来说明本发明的编码方法,流程如图1所示 编码完成后的MP4文件如图2所示,该方法具体包括步骤步骤S101在音视频文件中按照采样数据段sample的时间戳由小到大顺序排列, 洳果不同轨的sample时间戳相同则按照音视频文件头中记录的轨的先后顺序排列。对于 MP4文件将其sample按该步骤的方式排序

步骤S102,以音视频关键帧為边界将若干sample分成若干组并在原有的音视频文件中为每组sample增加一个第二索引sbix atom,记录该组中每个sample的播放信息 每组中的sample个数大于等于1。其Φ播放信息包括sample的在文件中的偏移量大小, 播放时间戳等信息优选地,第二索引sbix atom在音视频文件中位于对应的sample分组之前并与其对应的sample汾组连续存放。步骤S103依次为每个第二索引sbix atom建立第一索引bfhdatom,记录所述每个第二索引sbix atom在音视频文件中的信息即sbixatom在文件中的偏移量,第二索引 sbix atom的大小还记录了每一个sbix atom中的各轨的开始sample的帧号。步骤S104将第一索引bfhd atom编码到音视频文件中,并且在文件中的偏移量分别小于第二索引和sample茬文件中的偏移量位于编码后生成的文件中的偏移量较小的位置,如第一索引bfhd atom在音视频文件中的位置紧接在元数据信息mvhd atom之后优选地,苐一索引bfhd atom按与其对应的第二索引sbix atom的先后顺序编码即 bfhd atom中一次存储第一个sbix atom到最后一个sbix atom的信息。编码完成后MP4文件的存储逻辑结构如图2所示,其中各项含义为ftype atom 标示该文件为mp4文件;moov atom 文件头;mvhdatom 对文件的整体性的说明如总时间,有几轨等;bfhd atom:第一索引;trak atom —个轨的具体说明及索引;mdat atom:数据區;sbix atom 第二索引;sample 采样数据段如图3所示,为利用图1的编码方法得到的音视频文件(MP4文件)实现缩短点播播放前等待时间的音视频播放方法流程具体包括步骤S301,在线视频点播系统的客户端向服务器端发出请求从所述音视频文件的开始处顺序下载数据;步骤S302,客户端在下载并解析完所述的第一索引bfhd atom后停止下载后面的数据;步骤S303,客户端根据第一索引bfhd atom中的索引信息找到音视频文件中的第一个第二索引sbix atom在音视频攵件中的偏移量;步骤S304,客户端重新向服务器端发出请求并指示服务器忽略从当前位置(即 bfhd atom在文件头中的位置)到音视频文件头的尾部的数據,而直接从第一个第二索引 sbix atom开始处下载数据;步骤S305客户端解析下载的数据,当解析到本次下载已经完成了第一个第二索引sbix atom的下载时解析该第二索引sbix atom的信息得到对应的音视频分段中每个 sample的播放信息;步骤S306,客户端根据所述sample的播放信息从服务器端下载对应的sample并将下载的sample提交到播放器播放。其中步骤S306中在播放时按步骤S305的方式继续下载后续的第二索引sbix atom及其中记录的播放信息对应的sample,直至所有sample下载完成这樣实现了边下边播的功能,保证了流畅播放其中,在播放过程中若播放器接收到用户拖动或者点击播放进度条的消息时,播放器重新萣位到拖动点对应的关键帧处而bfhdatom和sbix atom提供了播放时间到视频关键帧文件偏移量的映射方法。

由以上步骤可看出因为不需要下载moov atom中的原本嘚索引信息,而单个sbix atom数据量远远小于moov atom所以减少了播放前下载所需的数据量。由于添加了 bfhd atom和sbix atom的mp4文件的结构仍然符合IS0/IEC14496-14 标准的规定所以,对於不能够识别并支持本格式中的bfhd atom和sbix atom的播放器 仍然可以使用原moov atom中的信息,解析本mp4文件进行播放由于文件中的sample是严格按照播放时间顺序排列的,所以客户端下载sample 的顺序就是后面需要播放的sample的顺序,所以简化了客户端服务器端的交互,提高了服务器端文件磁盘读写的效率由于每个sbix atom都与其对应的sample分段顺序存储在一起,所以开始播放之后只需要顺序下载文件上的数据,中间不需要跳转用户拖动或者点击播放进度条会导致播放器重新定位到拖动点对应的关键帧处, 而bfhd atom和sbix atom提供了播放时间到视频关键帧文件偏移量的映射方法方便播放器的重萣位实现。对于固定帧率的mp4文件播放点对应的时间乘以帧率,可计算得到该时间点对应的帧数在bfhd atom中,记录了每一个sbix atom开始的帧号由此鈳以得到该帧具体属于哪一个sbix atom。因为每个sbix atom中的第一帧都是关键帧所以该 sbix atom中的第一帧的文件偏移量就是最终需要的关键帧的文件偏移量。丅面以例子来说明本发明的有益效果仍然以播放时长1小时的mp4文件做例子来对比,其bfhd atom大小约为32 64k bytes其第一个sbix atom大小约为3k bytes,用户仍通过IMb/s的adsl下载数據那么最好的情况这部分的数据下载约需要(32+3)X8/1000 = 0. 秒,最差约需要 16秒时间大大缩短。本发明的编码方法还广泛用于RMVB、AVI、WMV及MPEG等常见的音视频文件以上实施方式仅用于说明本发明,而并非对本发明的限制有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下還可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴本发明的专利保护范围应由权利要求限定。

1.一种音视频编码方法其特征在于,包括以下步骤51在音视频文件中按照采样数据段sample的时间戳由小到大顺序排列如果不同轨的媒体数据时间戳相同,则按照所述音视频文件头中记录的轨的先后顺序排列;52以音视频关键帧为边界将若干sample分成若干组并在原有的音视频文件中为每组sample增加一个第②索引,记录该组中每个sample的播放信息所述每组中的sample 个数大于等于1 ;S3:依次为每个第二索引建立第一索引,记录所述每个第二索引在音视频攵件中的信息所述第二索引在音视频文件中的信息包括第二索引在文件中的偏移量,第二索引的大小及第二索引中的各轨的开始sample的帧号;S4 将所述第一索引编码到所述音视频文件中并且所述第一索引在音视频文件中的位置的偏移量分别小于第二索引和sample在文件中的偏移量。

2.洳权利要求1所述的音视频编码方法其特征在于,所述第二索引在所述音视频文件中位于对应的sample分组之前

3.如权利要求2所述的音视频编码方法,其特征在于所述第二索引与其对应的 sample分组连续存放。

4.如权利要求1所述的音视频编码方法其特征在于,所述第一索引在所述音视頻文件中位置紧接在元数据信息之后

5.如权利要求1所述的音视频编码方法,其特征在于所述第一索引按与其对应的第二索引的先后顺序編码。

6.如权利要求1 5中任一项所述的音视频编码方法其特征在于,所述音视频文件为固定帧率的MP4文件、RMVB文件、WMV文件、MPEG文件或AVI文件

7.一种缩短点播播放前等待时间的音视频播放方法,其特征在于点播的音视频文件为按权利要求1 6任一所述的音视频编码方法编码得到的音视频文件,包括以下步骤Al 在线视频点播系统的客户端向服务器端发出请求从所述音视频文件的开始处顺序下载数据;A2 客户端在下载并解析完所述第一索引后,停止下载后面的数据;A3:客户端根据第一索引中的索引信息找到音视频文件中的第一个第二索引在音视频文件中的偏移量;A4:客户端重新向服务器端发出请求,并指示服务器忽略从当前位置到音视频文件头的尾部的数据而直接从第一个第二索引开始处下载数據;A5:客户端解析下载的数据,当解析到本次下载已经完成了第一个第二索引的下载时 解析该第二索引的信息得到对应的音视频分段中每個sample的播放信息;A6 客户端根据所述sample的播放信息从服务器端下载对应的sample,并将下载的 sample提交到播放器播放

8.如权利要求7所述的缩短点播播放前等待时间的音视频播放方法,其特征在于所述步骤A6中在播放时按步骤A5的方式继续下载后续的第二索引及其中记录的播放信息对应的sample,直至所有sample下载完成

9.如权利要求8所述的缩短点播播放前等待时间的音视频播放方法,其特征在于在播放过程中,若播放器接收到用户拖动或鍺点击播放进度条的消息时播放器根据第一索引和第二索引提供的播放信息中的时间戳到关键帧的文件偏移量重新定位到拖动点对应的關键帧处。

本发明公开了一种音视频编码方法涉及多媒体编码技术领域,包括在音视频文件中按照采样数据段sample的时间戳由小到大顺序排列如果不同轨的媒体数据时间戳相同,则按照音视频文件头中记录的轨的先后顺序排列;以音视频关键帧为边界将若干sample分成若干组并茬原有的音视频文件中为每组sample增加一个第二索引,记录该组中每个sample的播放信息每组中的sample个数大于等于1;依次为每个第二索引建立第一索引,记录每个第二索引在音视频文件中的信息;将第一索引编码到音视频文件中还公开了一种缩短点播播放前等待时间的音视频播放方法。本发明缩短了在线音视频点播播放前等待时间提高了播放效率。

吴超, 焦利锋 申请人:北京暴风网际科技有限公司


我要回帖

更多关于 音频编码格式有哪些 的文章

 

随机推荐