`
javasogo
  • 浏览: 1816084 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

编解码学习笔记(四):Mpeg系列——Mpeg 4

阅读更多

  在上次对MPEG-2的学习整理中,有一个疑惑,双声道理解,就是左右立体声,但是5.1声道是什么?我们经常看到杜比5.1声道的说法。“0.1”声道具体指什么?今天去wiki查了一下,相关内容也整理入我们的学习笔记。本文档资料来源:

5.1声道

  使用杜比数字技术下,最标准常用的是5.1声道设置,但杜比数字容许一系列不同声道的选择。全部可供选择的声道如下列所示:

  • 单声道(中央)
  • 双声道立体声(左、右),选择性地交叉应用杜比环回
  • 三声道立体声(左、中、右)
  • 双声道立体声加单环回(左、右、环回)
  • 三声道立体声加单环回(左、中、右、环回)
  • 四声道环回立体声(左前、右前、左后、右后)
  • 五声道环回立体声(左前、中、右前、左后、右后)

  以上所有这些设置可选择性地使用低频效果和杜比数字EX矩阵编码中加入附加后环绕声道。杜比编码技术是向下兼容的,很多杜比播放器/解码器均备有向下混音作用是发布不同声道至可供使用的扬声器。这包括一些功能例如声音数据通过前扬声器播放(如适用),和当中央扬声器不适用时发布中央频道至左或右扬声器。或当用户只有2.0喇叭时,杜比解码器能把多声道信号混音编码为 2.0立体声。

  在5.1, 7.1 或其他等文字中,'.1'指的是低频LFE声道。

  其实5.1声道就是使用5个喇叭和1个超低音扬声器来实现一种身临其境的音乐播放方式,它是由杜比公司开发的,所以叫做“杜比5.1声道”。在5.1声道系统里采用左(L)、中(C)、右(R)、左后(LS)、右后(RS)五个方向输出声音,使人产生犹如身临音乐厅的感觉。五个声道相互独立,其中“.1” 声道,则是一个专门设计的超低音声道。正是因为前后左右都有喇叭,所以就会产生被音乐包围的真实感。如右图所示。

MPEG-4

总体介绍

  MPEG-4是一套用于音频、视频信息的压缩编码标准, 由国际标准化组织(ISO) 和国际电工委员会(IEC)下属的“動態影像专家组”(Moving Picture Experts Group,即MPEG) 制定,第一版在1998年10月通過,第二版在1999年12月通過。MPEG-4格式的主要用途在於網上流媒体、光碟、 語音傳送(視訊電話),以及電視廣播。MPEG-4作为ISO/IEC 14496正式发布。ISO/IEC 14496-Coding of audio-visual object (AV对象编码)。

  为了应对网络传输等环境,传统的 MPEG-1/2 已经不能适应,所以促使了 MPEG-4 的诞生。 与MPEG-1和MPEG-2相比,MPEG-4的特点是其更适于交互AV服务以及远程监控。MPEG-4是第一个使你由被动变为主动(不再只是观看,允许你加入其中,即有交互性)的动态图像标准,它的另一个特点是其综合性。从根源上说,MPEG-4试图将自然物体与人造物体相溶合 (视觉效果意义上的)。MPEG-4的设计目标还有更广的适应性和更灵活的可扩展性。 MPEG-4 采用了一系列新技术,来满足在低带宽下传输较高视频质量的需求。DivX,XviD,MS MPEG4 都是采用的 MPEG-4 视频编码,除了在 DVDRip 上面的应用,3GPP 现在也接纳了 MPEG-4 作为视频编码方案。

  最初MPEG-4的主要目的是用于低比特率下的视频通信,但是作为一个多媒体的编码标准,它的范围最后得到了扩展。在技术方面MPEG-4允许不同的软件/硬件开发商创建多媒体对象来提供更好的适应性、灵活性,为数字电视,动态图像,互联网等业务提供更好的质量。   

  MPEG-4提供范围从每秒几k比特到每秒数十兆比特的,它具有下面功能:

  • 改善MPEG-2的编码效率
    • MPEG-4基于更高的编码效率。同已有的或即将形成的其它标准相比,在相同的比特率下,它基于更高的视觉听觉质量,这就使得在低带宽的信道上传送视频、音频成为可能。同时MPEG-4还能对同时发生的数据流进行编码。一个场景的多视角或多声道数据流可以高效、同步地合成为最终数据流。这可用于虚拟三维游戏、三维电影、飞行仿真练习等。
  • 提供混合媒体数据(视频,音频,语音)的编码能力
  • 差错容忍使得内容稳定传输。
    • 当在传输有误码或丢包现象时,MPEG4受到的影响很小,并且能迅速恢复。
  • 提供受众视听场景的互动能力,MPEG-4终端用户提供不同的对象支持各种互动要求。
    • MPEG-4提供了基于内容的多媒体数据访问工具,如索引、超级链接、上传、下载、删除等。利用这些工具,用户可以方便地从多媒体数据库中有选择地获取自己所需的与对象有关的内容,并提供了内容的操作和位流编辑功能,可应用于交互式家庭购物,淡入淡出的数字化效果等。MPEG-4提供了高效的自然或合成的多媒体数据编码方法。它可以把自然场景或对象组合起来成为合成的多媒体数据。
  • MPEG-4对传输数据网是透明的,它可以兼容各种网络。
    • MPEG-4提供了易出错环境的鲁棒性,来保证其在许多无线和有线网络以及存储介质中的应用,此外,MPEG-4还支持基于内容的的可分级性,即把内容、质量、复杂性分成许多小块来满足不同用户的不同需求,支持具有不同带宽,不同存储容量的传输信道和接收端。
    • 这些特点无疑会加速多媒体应用的发展,从中受益的应用领域有:因特网多媒体应用;广播电视;交互式视频游戏;实时可视通信;交互式存储媒体应用;演播室技术及电视后期制作;采用面部动画技术的虚拟会议;多媒体邮件;移动通信条件下的多媒体应用;远程视频监控;通过ATM网络等进行的远程数据库业务等。

MPEG-4视频编码核心思想

  在MPEG-4制定之前,MPEG-1、MPEG-2、H.261、H.263都是采用第一代压缩编码技术,着眼于图像信号的统计特性来设计编码器,属于波形编码的范畴。第一代压缩编码方案把视频序列按时间先后分为一系列帧,每一帧图像又分成宏块以进行运动补偿和编码,这种编码方案存在以下缺陷:

  • 将图像固定地分成相同大小的块,在高压缩比的情况下会出现严重的块效应,即马赛克效应;
  • 不能对图像内容进行访问、编辑和回放等操作;
  • 未充分利用人类视觉系统(HVS,Human Visual System)的特性。

  MPEG-4则代表了基于模型/对象的第二代压缩编码技术,它充分利用了人眼视觉特性,抓住了图像信息传输的本质,从轮廓、纹理思路出发,支持基于视觉内容的交互功能,这适应了多媒体信息的应用由播放型转向基于内容的访问、检索及操作的发展趋势。

  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实现基于内容交互的首要任务就是把视频/图像分割成不同对象或者把运动对象从背景中分离出来,然后针对不同对象采用相应编码方法,以实现高效压缩。因此视频对象提取即视频对象分割,是MPEG-4视频编码的关键技术,也是新一代视频编码的研究热点和难点。

  MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用。

MPEG-4各部分

  MPEG-4由一系列的子标准组成,被称为部,包括以下的部分。对于媒体编解码,重点关注Part2, Part 3, Part 10。

第一部(ISO/IEC 14496-1):系统

  描述视訊和音訊的同步以及混合方式(Multiplexing,简写为MUX)。定义了 MP4 容器格式, 支持类似 DVD 菜单这样的直观和互动特性等。

第二部(ISO/IEC 14496-2):视频

  定义了一个对各种视觉信息(包括视訊、静止纹理、计算机合成图形等等)的编解码器。对视訊部分来说,众多”Profiles”中很常用的一种是Advanced Simple Profile (ASP),例如XviD编码就 属于MPEG-4 Part 2。包括 3ivx, DivX4/Project Mayo, DivX 5, Envivio, ffmpeg/ffds, mpegable, Nero Digital, QuickTime, Sorenson, XviD 等常见的视频格式, 需要注意的是 Divx 3.11, MS MPEG-4, RV9/10, VP6, WMV9 并不属于标准的 MPEG-4 标准。

第三部(ISO/IEC 14496-3):音频

  定义了一个对各种音訊信号进行编码的编解码器的集合。包括高级音訊编码(Advanced Audio Coding,缩写为AAC) 的若干变形和其他一些音频/语音编码工具。即 AAC 音频标准, 包括 LC AAC, HE AAC 等, 支持 5.1 声道编码, 可以用更低的码率实现更好的效果 (相对于 MP3, OGG 等)

第四部(ISO/IEC 14496-4):一致性

  定义了对本标准其他的部分进行一致性测试的程序。

第五部(ISO/IEC 14496-5):参考软件

  提供了用于演示功能和说明本标准其他部分功能的软件。

第六部(ISO/IEC 14496-6):多媒体传输集成框架

  即DMIF:Delivery Multimedia Integration Framework

第七部(ISO/IEC 14496-7):优化的参考软件

  提供了对实现进行优化的例子(这裡的实现指的是第五部分)。

第八部(ISO/IEC 14496-8):在IP网络上传输

  定义了在IP网络上传输MPEG-4内容的方式。

第九部(ISO/IEC 14496-9):参考硬件

  提供了用于演示怎样在硬件上实现本标准其他部分功能的硬件设计方案。

第十部(ISO/IEC 14496-10):进阶视频编码,也即ITU H.264,常写为H.264/AVC

  或称高级视频编码(Advanced Video Coding,缩写为AVC):定义了一个视频编解码器(codec),AVC和XviD都属于MPEG-4编码,但由于AVC属于MPEG-4 Part 10,在技术特性上比属于MPEG-4 Part2的XviD要先进。另外从技术上讲,它和ITU-T H.264标准是一致的,故全称为MPEG-4 AVC/H.264。

第十一部(ISO/IEC 14496-11):场景描述和应用引擎

  可用于多种profile(包括2D和3D版本)的互交互媒体。修订了MPEG-4 Part 1:2001以及Part1的两个修订方案。它定义了应用引擎(交付,生命周期,格式,可下载Java字节代码应用程序的行为),二进制场景格式(BIFS:Binary Format for Scene),可扩展MPEG-4文本格式(一种使用XML描述MPEG-4多媒体内容的文本格式)系统level表述。也就是MPEG-4 Part21中的BIFS,XMT,MPEG-J。

第十二部(ISO/IEC 14496-12):基于ISO的媒体文件格式

  定义了一个存储媒体内容的文件格式。

第十三部(ISO/IEC 14496-13):IP

  知识产权管理和保护(IPMP for Intellectual Property Management and Protection)拓展。

第十四部(ISO/IEC 14496-14):MPEG-4文件格式

  定义了基于第十二部分的用于存储MPEG-4内容的視訊檔案格式。

第十五部(ISO/IEC 14496-15):AVC文件格式

  定义了基于第十二部分的用于存储第十部分的视频内容的文件格式。

第十六部(ISO/IEC 14496-16):动画框架扩展

  动画框架扩展(AFX : Animation Framework eXtension)。

第十七部(ISO/IEC 14496-17):同步文本字幕格式

  尚未完成-2005年1月达成”最终委员会草案”,FCD: Final Committee Draft。

第十八部(ISO/IEC 14496-18):字体压缩和流式传输(针对公开字体格式)。

第十九部(ISO/IEC 14496-19):综合用材质流(Synthesized Texture Stream)。

第二十部(ISO/IEC 14496-20):简单场景表示

  LASeR for Lightweight Scene Representation,尚未完成-2005年1月达成”最终委员会草案”,FCD for Final Committee Draft。

第二十一部(ISO/IEC 14496-21):用于描绘(Rendering)的MPEG-J拓展

  尚未完成-2005年1月达成“委员会草案”,CD for Committee Draft)。

Profile和Level

  MPEG-4提供大量的编码方式和丰富的设置。 和MPEG-2一样,应用一般不可能支持MPEG-4全集,通过profile和level来描述子集。这些子集,通过“profile”来表明解码器要求,为了避免计算的复杂,每个profile都有一个或者多个“level”。profile和level的有效组合使得编码生成器只需实现标准中所需的子集,同时保持与其他MPEG-4设备的互通。(解码支持范围通常比编码支持范围大),检查其他MPEG-4设备是否符合标准,即一致性测试。

  对于H.264/AVC(也就是MPEG-4 Part 4)提供下面的profile:

Feature support in particular profiles

Feature CBP BP XP MP HiP Hi10P Hi422P Hi444PP I and P slices B slices SI and SP slices Flexible macroblock ordering (FMO) Arbitrary slice ordering (ASO) Redundant slices (RS) Data partitioning Interlaced coding (PicAFF, MBAFF) Multiple reference frames In-loop deblocking filter CAVLC entropy coding CABAC entropy coding 8×8 vs. 4×4 transform adaptivity Quantization scaling matrices Separate Cb and Cr QP control Monochrome (4:0:0) Chroma formats Sample depths (bits) Separate color plane coding Predictive lossless coding
Yes Yes Yes Yes Yes Yes Yes Yes
No No Yes Yes Yes Yes Yes Yes
No No Yes No No No No No
No Yes Yes No No No No No
No Yes Yes No No No No No
No Yes Yes No No No No No
No No Yes No No No No No
No No Yes Yes Yes Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes
Yes Yes Yes Yes Yes Yes Yes Yes
No No No Yes Yes Yes Yes Yes
No No No No Yes Yes Yes Yes
No No No No Yes Yes Yes Yes
No No No No Yes Yes Yes Yes
No No No No Yes Yes Yes Yes
4:2:0 4:2:0 4:2:0 4:2:0 4:2:0 4:2:0 4:2:0/4:2:2 4:2:0/4:2:2/4:4:4
8 8 8 8 8 8 to 10 8 to 10 8 to 14
No No No No No No No Yes
No No No No No No No Yes

  level用来表明一个profile的解码器的性能要求的范围,例如最大图片分配了,帧频,比特率等等。对于解码器,一个指定的level要求可以对该level以及低于该level的码流进行解码。(A decoder that conforms to a given level is required to be capable of decoding all bitstreams that are encoded for that level and for all lower levels. 来源:http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC

Levels with maximum property values

Level Max macroblocks Max video bit rate (VCL) Examples for high resolution @
frame rate
(max stored frames) per second per frame BP, XP, MP
(kbit/s) HiP
(kbit/s) Hi10P
(kbit/s) Hi422P, Hi444PP
(kbit/s) 1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 5.1
1,485 99 64 80 192 256 128×96@30.9 (8)
176×144@15.0 (4)
1,485 99 128 160 384 512 128×96@30.9 (8)
176×144@15.0 (4)
3,000 396 192 240 576 768 176×144@30.3 (9)
320×240@10.0 (3)
352×288@7.5 (2)
6,000 396 384 480 1,152 1,536 320×240@20.0 (7)
352×288@15.2 (6)
11,880 396 768 960 2,304 3,072 320×240@36.0 (7)
352×288@30.0 (6)
11,880 396 2,000 2,500 6,000 8,000 320×240@36.0 (7)
352×288@30.0 (6)
19,800 792 4,000 5,000 12,000 16,000 352×480@30.0 (7)
352×576@25.0 (6)
20,250 1,620 4,000 5,000 12,000 16,000 352×480@30.7(10)
352×576@25.6 (7)
720×480@15.0 (6)
720×576@12.5 (5)
40,500 1,620 10,000 12,500 30,000 40,000 352×480@61.4 (12)
352×576@51.1 (10)
720×480@30.0 (6)
720×576@25.0 (5)
108,000 3,600 14,000 17,500 42,000 56,000 720×480@80.0 (13)
720×576@66.7 (11)
1280×720@30.0 (5)
216,000 5,120 20,000 25,000 60,000 80,000 1,280×720@60.0 (5)
1,280×1,024@42.2 (4)
245,760 8,192 20,000 25,000 60,000 80,000 1,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)
245,760 8,192 50,000 62,500 150,000 200,000 1,280×720@68.3 (9)
1,920×1,080@30.1 (4)
2,048×1,024@30.0 (4)
522,240 8,704 50,000 62,500 150,000 200,000 1,920×1,080@64.0 (4)
2,048×1,080@60.0 (4)
589,824 22,080 135,000 168,750 405,000 540,000 1,920×1,080@72.3 (13)
2,048×1,024@72.0 (13)
2,048×1,080@67.8 (12)
2,560×1,920@30.7 (5)
3,680×1,536@26.7 (5)
983,040 36,864 240,000 300,000 720,000 960,000 1,920×1,080@120.5 (16)
4,096×2,048@30.0 (5)
4,096×2,304@26.7 (5)

相关链接: 我的产业生态链和杂谈文章

分享到:
评论

相关推荐

    学习MPEG-2的笔记

    总结来说,学习MPEG-2,特别是TS流的处理,需要理解其系统结构、数据包格式,以及如何使用ffmpeg进行解码、同步和转码。通过分析ffmpeg的内部结构和工作流程,可以帮助我们更好地理解和利用这个强大的工具来处理MPEG...

    avs avs2 学习笔记

    AVS(Advanced Video Coding System,先进视频编码系统)是一系列由中国主导制定的数字音视频编解码技术标准,旨在提供高效、经济的编解码技术,服务于多种信息产业应用场景,如高分辨率数字广播、激光数字存储、...

    QT学习笔记-初识FFmpeg

    ### QT学习笔记-初识FFmpeg #### 一、FFmpeg简介 ##### 1.1 什么是FFmpeg FFmpeg是一套开源的计算机程序,它主要用于记录、转换数字音频、视频,并能将其转化为流的形式。FFmpeg采用了LGPL或GPL许可证,这使得它...

    Directshow(SDK)学习笔记-智慧的鱼(LeeQiang)

    智慧的鱼(LeeQiang)的学习笔记可能涵盖了这些主题,包括过滤器的创建、过滤图的构建、事件处理、解码器的使用以及如何解决常见的技术问题。 总的来说,Directshow(SDK)是一个功能强大的工具集,为开发者提供了...

    Directshow(SDK)学习笔记

    这个SDK主要用于多媒体数据的捕获、处理和回放,支持多种媒体格式,如Asf、Mpeg、Avi、Dv、Mp3、Wave等。DirectShow集成了DirectDraw和DirectSound技术,能够支持DVD播放、视频非线性编辑以及与数字摄像机的数据交换...

    avcodec_sample.rar_DEMO

    《使用AVCodec库进行本地文件编解码的DEMO详解》 在计算机编程领域,多媒体处理是一项重要且复杂的任务,涉及到音频和视频的编码与解码。FFmpeg是一个开源项目,提供了一套全面的工具和库,其中包括了avcodec库,...

    H.264 sequence parameter sets成员值含义学习笔记

    chroma_format_idc指定色度采样格式,常见的有4:2:0、4:2:2和4:4:4,分别对应不同的色彩精度。separate_colour_plane_flag表示色度平面是否独立于亮度平面存储,对于某些特定的应用场景,这能提供更高的灵活性。 ##...

    xvid的学习笔记,很详细

    Xvid是一种开源的视频编码器,它基于MPEG-4 Part 2标准,致力于提供高质量的视频压缩方案。在学习Xvid的过程中,了解其编码方式至关重要,尤其是两种主要的编码模式:Single Pass和Two-Pass。 ### 1. Single Pass...

    DirectShow 学习笔记< 一> -- 第一个程序 源代码

    本学习笔记将从创建第一个DirectShow程序开始,帮助你深入理解这一技术的核心概念和实现步骤。 DirectShow主要由两部分组成:Filter Graph(过滤器图)和Filters(过滤器)。Filter Graph是整个系统的核心,它负责...

    JM阅读笔记(学习H264)

    《JM阅读笔记(学习H264)》 在深入探讨H264编码技术之前,我们首先要明白H264的重要性。H264,全称是Advanced Video Coding(高级视频编码),是国际电信联盟(ITU-T)的VCEG(视频编码专家小组)与国际标准化组织...

    jm12.0阅读笔记

    【标题】"jm12.0阅读笔记"涉及的核心知识点主要围绕着H.264编码标准及其参考实现——JM(Joint Model)12.0版本。H.264,也称为AVC(Advanced Video Coding),是目前广泛应用的视频编码标准之一,广泛应用于高清...

    video

    在视频处理领域,源码可以用于理解和学习视频编解码算法,或者进行定制化开发,例如创建自己的视频编码库或播放器。"工具"可能指用于辅助视频处理的各种软件,比如FFmpeg,这是一个强大的开源命令行工具,可以用来...

    C++ 视频播放器源代码

    例如,视频解码通常涉及对MPEG、H.264、VP9等编码格式的解析,这需要使用到开源的解码库,如FFmpeg。音频解码则可能涉及到AAC、MP3等格式的处理。 `视频播放.txt`可能是关于播放器开发的一些文档或笔记,可能包含了...

    MP3解壓程序源代碼.rar_mp3

    4. **位流解析**:理解MP3文件的结构,包括同步字、帧头信息、声道数据等,是解码的第一步。 5. **解码库和API**:在实际开发中,开发者可能会使用如libmp3lame、FFmpeg这样的开源库,它们提供了预编译的解码函数和...

Global site tag (gtag.js) - Google Analytics