音视频之-Mp4格式

mp4(文件格式)

简介

  MP4是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的 动态图像专家组Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通过,第二版在1999年12月通过。MPEG-4格式的主要用途在于网上流、光盘、语音发送(视频电话),以及电视广播。

  MPEG-4包含了MPEG-1MPEG-2的绝大部份功能及其他格式的长处,并加入及扩充对虚拟现实模型语言(VRML , VirtualReality Modeling Language)的支持,面向对象的合成档案(包括音效,视讯及VRML对象),以及数字版权管理(DRM)及其他互动功能。而MPEG-4MPEG-2更先进的其中一个特点,就是不再使用宏区块做影像分析,而是以影像上个体为变化记录,因此尽管影像变化速度很快、码率不足时,也不会出现方块画面。

MPEG-4的特点

  • (1)对于不同的对象可采用不同的编码算法,从而进一步提高压缩效率;
  • (2)对象各自相对独立,提高了多媒体数据的可重用性;
  • (3)允许用户对单个的对象操作,提供前所未有的交互性;
  • (4)允许在不同的对象之间灵活分配码率,对重要的对象可分配较多的字节,对次要的对象可分配较少的字节,从而能在低码率下获得较好的效果;
  • (5)可以方便的集成自然音视频对象和合成音视频对象。

MPEG-4标准构成

  MPEG-4码流主要包括基本码流和系统流,基本码流包括音视频和场景描述的编码流表示,每个基本码流只包含一种数据类型,并通过各自的解码器解码。系统流则指定了根据编码视听信息和相关场景描述信息产生交互方式的方法,并描述其交互通信系统。

系统

  MPEG-4系统把音视频对象及其组合复用成一个场景,提供与场景互相作用的工具,使用户具有交互能力。MPEG-4的数据在3个层中进行传输,这3层分别是压缩层、同步层和传输层。其中,压缩层是执行媒体解码的系统组件,接收从同步层传来的压缩数据,并完成解码操作。同步层负责各个压缩媒体的同步和缓冲,一方面接收来自传输层的同步层数据包(SL),从流中提取同步数据,为以后的同步解码和基本流解码的合成做准备;另一方面,实现压缩的数据流和同步信息封装层的同步数据包,并将它们传输到传输层。传输层完成各种传输协议的描述,使用DMIF应用接口,通过接口定义数据流的传输接口,并定义信道建立和断开的信号。

微信截图_20210922131225.png

音频

  与MPEG-1、MPEG-2相比,MPEG-4不仅支持自然声音(如语音和音乐),还支持合成声音(如MIDI)。MPEG-4音频部分将音频的合成编码和自然声音的编码相结合,并支持音频的对象特征。

  MPEG-4研究比较了现有的各种音频编码算法,支持 2~64kbit/s的自然声音编码。如8kHz采样频率的 2~4kbit/s 的语音编码,以及8kHz或16kHz采样频率 4~16kbit/s 的语音编码,一般采用参数编码;而 6~24kbit/s 的语音编码,一般采用码激励线性预测(CELP,CodeExcitedLinearPredictive)编码技术;而16kbit/s以上码率的编码.则采用视频变换编码技术。这些技术实质上借鉴了G723、G728以及MPEG-1和MPEG-2等。图2给出了MPEG-4音频支持 2~64kbit/s 信道语音编码范围。

  MPEG-4引入两个有力的编码技术:文本到语音编码(TTS,Text-to-Speech)和乐谱驱动合成语音编码。事实上,合成语音编码技术是一种基于知识库的参数编码技术。乐谱驱动合成技术中,解码器由一种特殊的合成语言—结构化音频管弦乐团语言(SAQL,StructuredAudioOrchestraLanguage)驱动。“管弦乐团”由不同“乐器”组成,解码器不具有某“乐器”时,MPEG-4还允许解码器从编码器下载该“乐器”以恢复合成声音。

微信截图_20210922131330.png

视频

  MPEG-4支持对自然和合成视觉对象的编码。合成视觉对象包括2D、3D动画和人面部表情动画等。对于静止图像,MPEG-4采用零树小波算法,以提高压缩比,同时还提供多达11级的空间分辨率和质量的可伸缩性。对于运动视频对象的编码,MPEG-4的编码结构如图3所示,包括形状编码、运动补偿和文理编码。其中的主要技术是运动估计补偿、DCT变换和混合的DPCM等。

微信截图_20210922131400.png

应用

  由于MPEG-4是一个公开的平台,各公司、机构均可以根据MPEG-4标准开发不同的制式,因此市场上出现了很多基于MPEG-4技术的视讯格式,例如WMV 9、Quick Time、DivX、Xvid等。MPEG-4大部份功能都留待开发者决定采用是否。这意味着整个格式的功能不一定被某个程序所完全函括。因此,这个格式有所谓配置(profile)及级别(level),定义了MPEG-4应用于不同平台时的功能集合。