欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    常见视频编码格式与RGB、YUV视频存储格式.docx

    • 资源ID:5281821       资源大小:225.98KB        全文页数:22页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    常见视频编码格式与RGB、YUV视频存储格式.docx

    TCC8900 VPU 分析常见视频编解码格式及RGB和YUV存储格式预研、常见视频编解码格式1视频文件类别常言道:物以类聚,人以群分。视频文件也不例外,细细算起来,视频文件 可以分成两大类:其一是影像文件,比如说常见的VCD便是一例。其二是流式 视频文件,这是随着国际互联网的发展而诞生的后起视频之秀,比如说在线实况 转播,就是构架在流式视频技术之上的。1.1影像格式日常生活中接触较多的VCD、多媒体CD光盘中的动画这些都是影像文 件。影像文件不仅包含了大量图像信息,同时还容纳大量音频信息。所以,影像 文件的“身材”往往不可小觑。1) AVI格式2) MOV格式3) MPEG/MPG/DAT 格式1.2流式视频格式目前,很多视频数据要求通过Internet来进行实时传输,前面我们曾提及到, 视频文件的体积往往比较大,而现有的网络带宽却往往比较“狭窄”,千军万马 要过独木桥,其结果当然可想而知。客观因素限制了视频数据的实时传输和实时 播放,于是一种新型的流式视频(Streaming Video)格式应运而生了。这种流式视 频采用一种“边传边播”的方法,即先从服务器上下载一部分视频文件,形成视 频流缓冲区后实时播放,同时继续下载,为接下来的播放做好准备。这种“边传 边播”的方法避免了用户必须等待整个文件从Internet上全部下载完毕才能观看 的缺点。到目前为止,Internet上使用较多的流式视频格式主要是以下三种:1) RM(Real Media)格式RM格式是RealNetworks公司开发的一种新型流式视频文件格式,它麾下共 有三员大将:RealAudio、RealVideo 和 RealFlash。RealAudio 用来传输接近 CD 音 质的音频数据,RealVideo用来传输连续视频数据,而RealFlash则是RealNetworks 公司与Macromedia公司新近合作推出的一种高压缩比的动画格式。RealMedia 可以根据网络数据传输速率的不同制定了不同的压缩比率,从而实现在低速率的 广域网上进行影像数据的实时传送和实时播放。这里我们主要介绍RealVideo, 它除了可以以普通的视频文件形式播放之外,还可以与RealServer服务器相配合, 首先由RealEncoder负责将已有的视频文件实时转换成RealMedia格式,RealServer则负责广播RealMedia视频文件。在数据传输过程中可以边下载边由RealPlayer播放视频影像,而不必像大多数视频文件那样,必须先下载然后才能 播放。目前,Internet上已有不少网站利用RealVideo技术进行重大事件的实况 转播。2) MOV 文件格式(QuickTime)MOV也可以作为一种流文件格式。QuickTime能够通过Internet提供实时的 数字化信息流、工作流与文件回放功能,为了适应这一网络多媒体应用,QuickTime为多种流行的浏览器软件提供了相应的QuickTime Viewer插件(Plug -in),能够在浏览器中实现多媒体数据的实时回放。该插件的“快速启动(Fast Start)”功能,可以令用户几乎能在发出请求的同时便收看到第一帧视频画面, 而且,该插件可以在视频数据下载的同时就开始播放视频图像,用户不需要等到 全部下载完毕就能进行欣赏。此外,QuickTime还提供了自动速率选择功能,当 用户通过调用插件来播放QuickTime多媒体文件时,能够自己选择不同的连接速 率下载并播放影像,当然,不同的速率对应着不同的图像质量。此外,QuickTime 还采用了一种称为QuickTime VR的虚拟现实(VR,Virtual Reality)技术,用户只 需通过鼠标或键盘,就可以观察某一地点周围360度的景象,或者从空间任何角 度观察某一物体。3) ASF(Advanced Streaming Format)格式Microsoft 公司推出的 Advanced Streaming Format (ASF,高级流格式),也是 一个在Internet上实时传播多媒体的技术标准,Microsoft公司的野心很大,希图 用ASF取代QuickTime之类的技术标准°ASF的主要优点包括:本地或网络回放、 可扩充的媒体类型、部件下载、以及扩展性等。ASF应用的主要部件是NetShow 服务器和NetShow播放器。有独立的编码器将媒体信息编译成ASF流,然后发 送到NetShow服务器,再由NetShow服务器将ASF流发送给网络上的所有 NetShow播放器,从而实现单路广播或多路广播。这和Real系统的实时转播则 是大同小异。2常见的视频的编码及封装格式2.1常见视频编码格式常见的编码格式有 H.264、H.263、MPEG-1、MPEG-2、MPEG、4、Sorenson Spark、 VC-1、JPEG、RV、DivX、On2 True Motion VP6。对于高清视频来说,主流的编 码技术目前主要有 MPEG-2、DivX、XVID、H264/AVC、VC-1、RMVB 和 WMV-HD 等 等。其中,H264/AVC、VC-1、MPEG-2是蓝光(Blu-ray Disc)所选择的编码格 式,也是目前最流行的高清视频编码格式。另外就是高清视频的封装格式,封装 格式和编码格式是互相区别的,许多人会把它们混淆。下图为常见编码格式的logo:图1.1常见编码格式logo1)H264/X264/AVC 编码格式绝大多数视听玩家对于H264编码都不会感到陌生,H264编码的身世显赫, 是ITU-T(国际电信联盟视频编码专家组)与ISO/IEC(国际标准化组织动态图 像专家组)合作组成的JVT(联合视频组)推动的新一代数字视频编码标准,也 称为MPEG-4/AVC编码。H264编码依托雄厚的背景,在技术上独树一帜,大幅 领先于其它编码算法。X264编码,是H264编码的一个开源分支,它符合H264标准,其功能在 于编码,而不作为解码器使用,X264编码最大的特点在于注重实用,它在不明 显降低编码性能的前提下,努力降低编码的计算复杂度,X264对于H264编码 中的一些复杂编码特性做了折衷处理,其压缩视频体积小于XVID(MPEG-4)编 码视频,以小体积、高画质的特点得到了广泛认可。2)H.263编码格式H.263是国际电联ITU-T的一个标准草案,是为低码流通信而设计的。 但实际上这个标准可用在很宽的码流范围,而非只用于低码流应用,它在 许多应用中可以认为被用于取代 H.261。H.263的编码算法与H.261 一样, 但做了一些改善和改变,以提高性能和纠错能力。1998年IUT-T推出的H.263 +是H.263建议的第2版,它提供了 12个新 的可协商模式和其他特征,进一步提高了压缩编码性能。如H.263只有5种视频源格式,H.263 +允许使用更多的源格式,图像时钟频率也有多种选 择,拓宽应用范围;另一重要的改进是可扩展性,它允许多显示率、多速 率及多分辨率,增强了视频信息在易误码、易丢包异构网络环境下的传输。 另外,H.263 +对H.263中的不受限运动矢量模式进行了改进,加上12个新增的可选模式,不仅提高了编码性能,而且增强了应用的灵活性。H.263己经基本上取代了 H.2613)MPEG-1编码格式MPEG-1是MPEG组织制定的第一个视频和音频有损压缩标准。视频压缩算法 于1990年定义完成。1992年底,MPEG-1正式被批准成为国际标准。MPEG-1是 为CD光碟介质定制的的视频和音频压缩格式。一张70分钟的CD光碟传输速率 大约在1.4Mbps。而MPEG-1采用了块方式的运动补偿、离散馀弦变换(DCT)、 量化等技术,并为1.2Mbps传输速率进行了优化。MPEG-1随后被Video CD采用 作为核心技术。MPEG-1的输出质量大约和传统录像机VCR,信号质量相当,这也 许是Video CD在发达国家未获成功的原因。4)MPEG-2编码格式MPEG-2 编码标)隹是由 MPEG (Moving Picture Experts Group)工作组发布 的视频与音频压缩国际标准o MPEG-2编码于1994年发布,常用于广播信号(卫 星电视、有线电视)的视频和音频编码,经过后期不断修改,不仅成为DVD的 核心技术,还应用于HDTV高清电视传输。5)MPEG-4编码格式MPEG4于1998年11月公布,原预计1999年1月投入使用的国际标准MPEG4 不仅是针对一定比特率下的视频、音频编码,更加注重多媒体系统的交互性和灵 活性。MPEG-4标隹主要应用于视像电话(Video Phone),视像电子邮件(Video Email)和电子新闻(Electronic News)等,其传输速率要求较低,在 4800-64000bits/sec之间,分辨率为176X144。MPEG-4利用很窄的带宽,通过 帧重建技术,压缩和传输数据,以求以最少的数据获得最佳的图像质量。6)Sorensen Spark 编码格式Sorenson编解码器可以指三个专有的视频编解码器:Sorenson视频, Sorenson 视频 3 或 Sorenson Spark。Sorenson 视频也被称为 Sorenson 视频编 解码器,Sorenson视频量化或SVQ。Sorenson Spark也被称为H.263或 FLV1Sorenson (而且有时误为Flash视频(FLV),这是以Adobe Flash容器格 式名称命名)。这两种编解码器的设计由Sorenson媒体公司。Sorenson视频是用在苹果的QuickTime和Sorenson Spark在用在Adobe Flash容器中。7)VC-1编码格式WMV (Windows Media Video)作为经久不衰的一种视频编码,一直在不断改 进,2003年,微软基于WMV第九版(WMV9 )编码技术,正式提出了 VC-1编码 标隹,并于2006年正式成为国际标隹。VC-1编码作为较晚推出的高清编码算 法,自然吸收了 MPEG-2与H264编码的优点,其压缩比介于MPEG2和H264之 间,编解码复杂性仅有H264的一半,即压缩时间更短、解码计算更小,在微软 的大力推动下,VC-1编码已经得到了 BD蓝光光盘、电影及电视学会 (SMPTE) 的支持。近几年来,为了更好的推广WMV9/VC-1编码标隹,微软不遗余力的建立了 WMV-HD高清资源站点,大量发布采用VC-1编码压制的720P、1080P宣传片及 演示片(WMV-HD视频格式),试图营造声势,吸引用户关注。不过,中庸的技 术(与H264相比无明显编码优势)、封闭的平台(限于Windows系统)、后 发的劣势(2006年通过成为国际标隹)仍然给微软VC-1编码的应用前景带来 了较大的不确定性。JPEG 是 Joint Photographic Experts Group (联合图像专家小组)的缩 写。JPEG的压缩方式通常是破坏性资料压缩(lossy compression),意即在压 缩过程中图像的品质会遭受到可见的破坏,有一种以JPEG为基础的标准 Progressive JPEG是采用无失真的压缩方式,但Progressive JPEG并没有受到 广泛的支援。9)RV编码格式RealVideo格式文件包括后缀名为RA、RM、RAM、RMVB的四种视频格式。Real Video是一种高压缩比的视频格式,可以使用任何一种常用于多媒体及Web上制 作视频的方法来创建RealVideo文件。例如Premiere、VideoShop以及 AfterEffects等,对于文件的播放可用realplayer和暴风影音播放。10)DivX编码格式DivX格式,这是由MPEG-4衍生出的另一种视频编码(压缩)标准,也即我们 通常所说的DVDrip格式,它采用了 MPEG4的压缩算法同时又综合了 MPEG-4与 MP3各方面的技术,说白了就是使用DivX压缩技术对DVD盘片的视频图像进行 高质量压缩,同时用MP3或AC3对音频进行压缩,然后再将视频与音频合成并加 上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD并且体积只有DVD 的数分之一。这种编码对机器的要求也不高,所以DivX视频编码技术可以说是 一种对DVD造成威胁最大的新生视频压缩格式,号称DVD杀手或DVD终结者。11)On2 TrueMotion VP6 编码格式On2 TrueMotion VP6是主要的移动视频标准,他采用了 Adobe Flash Lite 3的一些标准,数以百计的网络门户,用户自己制作的内容,以及社交网络普遍 采用基于Flash的VP6格式。2.2视频的封装格式封装格式其实是一个“容器”,它不同于编码格式,封装就相当于捆绑打包, 将已经编码好的视频文件和音轨文件打包在一起,并按照一定规则建立排序和索 引,便于播放器或播放软件来索引播放。常见的封装格式有MKV、AVI、MOV、TS、 PS等等,高清媒体文件的后缀名(扩展文件名)一般都是媒体的封装格式。(1)MOV格式:MOV多见于Apple QuickTime网站上的电影预告片。MOV类 似于RMVB,过于封闭自守,民间制作组没有人会用这个不方便的形式。(2)AVI格式:AVI封装是微软在上世纪90年代初创立的封装标准,是 当时为对抗QuickTime的MOV格式而推出的,因为当时还没有流式播放需要, AVI的将索引布置在打包文件的尾部,这就使得AVI封装不能做到流式播放(流 媒体)°AVI封装只能支持有限的几种视频音频编码形式,且AVI不能支持音频 的VBR动态比特率编码。(3)TS格式:TS(Transport Stream)是一种比较先进的封装形式,蓝光 原盘中,就采用了 TS封装°TS封装支持几乎所有编码的高清视频和音轨文件。 PS (Program Stream)封装的技术基本和TS相同,但PS封装和AVI 一样, 都不是流媒体,不能够支持流式播放,PS封装使用在原先的HDDVD中。在高清 标准下,MPEG-2编码的视频文件主要采用TS封装格式。(4)MKV格式:MKV(Matroska)是一种新兴的多媒体封装格式,可以将各 类视频编码、16条或以上不同格式的音频和语言不同的字幕封装在一个文件内, 它具有开放源代码、音视频编码丰富、网络亲和性好等优势,已经得到众多视频 压制组和玩家的支持,正逐渐成为高清视频的主流视频格式。H264编码与X264 编码目前大多采用MKV封装格式。3视频的播放组件及调用流程视频文件的解码过程如下依次需要用到的组件有“分离器”、“解码器”、 “渲染器”,它们统称为“滤镜”。3.1 分离器(Splitter)要正确地播放多媒体文件,播放器首先要正确地调用分离器,把视频流和(或) 音频流正确地分离出来,然后交给解码器进行解码,这就是分离器的使命。上文 中说到有不少的封装格式,每一种封装格式都必须有相对应一种分离器,才能正 确的把视频和音频分离出来以供解码器解码。常用的分离器有:> Gabest MPEG Splitter (Media Player Classic 作者编写的分离器)、> KMP Splitter (KMPlayer 原配的分离器)> Haili Media Splitter这三种分离器能够支持较多的封装格式,其它的分离器还有> Moonlight-Elecard MPEG2 Demultiplexer (月光分离器)、> nVIDIA Transport Demux (nVIDIA 公司的分离器,配合 PureVideo 使用)、_> CyberLink Demux (PowerDVD 软件中的分离器)3.2 解码器(Decoder)解码器在整个视频的播放中占据了最主要的位置,它的作用是对由分离器分 离出来的音频流和视频流分别进行解码。解码器又分为视频解码器和音频解码器。常见的视频解码器有:1)MPEG-2视频解码器> InterVideo Video Decoder (WinDVD 的解码器)> CyberLink DTV Video/SP Filter> CyberLink Video/SP Filter (PowerDVD 的解码器)> Moonlight-Elecard MPEG2 Video Decoder> nVIDIA Video Decoder(nVIDIA PureVideo 的解码器)> Sonic CinemasterVideo、 Gabest Video Decoder2)H264/X264/AVC视频解码器> CyberLink H.264/AVC Decoder (PowerDVD 的解码器)、> CoreAVC DirectShow Video Decoder> Moonlight H264 Video Decoder> ffdshow MPEG-4 Video Decoder3)VC-1视频解码器CyberLink VC-1 Deocder (PowerDVD 的解码器)、Media Player Classic Video Decoder、WMVideo Decoder DMO (微软的解码器)等等。常见的音频解码器有:> CyberLink Audio Decoder (PowerDVD 的解码器)> AC3 Filter> InterVideo Audio Decoder> nVIDIA Audio Decoder3.3 渲染器(Renderer)渲染器与解码器一样,分为视频渲染器和音频渲染器,解码后的视频数据经 过视频渲染器的渲染后呈现到显示设备上,解码后的音频经过音频渲染器的渲染 后从声卡输出。渲染在视频播放的过程中是很重要的,因为它会影响到视频最终 的效果,不同的渲染器有不同的技术特性,对电脑的配置(主要是CPU和显卡) 的要求也不一样。视频渲染器主要有以下几种:1)旧式视频渲染器(Video Renderer):这种是最原始的渲染器,它接收到来自解码器解码后的数据流,在显示设备 上显示。这种渲染器基本上不能调用到显卡硬件特性,全靠CPU来完成渲染任 务。2)覆盖合成器(Overlay Mixer):覆盖合成器能够将若干路视频流合并输出到显示设备上,并且它能够很好地 调用显卡硬件的拉伸,颜色空间变换等硬件功能,以减少对CPU资源的占用率。 视频覆盖的画面质量事实上取决于显卡硬件。通常在使用覆盖合成器的时候无法 直接对正在播放的视频截图。3) VMR 渲染器(Video Mixing Renderer)VMR对覆盖合成器进行了改进,它是基于DirectX的视频渲染器,能够支 持16路的视频流混合。VMR根据DirectX版本的不同,可以分为VMR7和 VMR9,其中 VMR7 基于 DirectDraw7(2D),而 VMR9 基于 Direct3D9(3D), VMR9可以支持视频特效(Video Effects)和视频变换(Video Transitions)。 VMR根据渲染模式的不同又分为“窗口化”(Windowed)、“无窗口” (Windowless)、“ 未渲染 ”(Renderless)模式。4) EVR 增强型视频渲染器(Enhanced Video Renderer)微软在Windows Vista系统就开始引入的新视频渲染器,当然也包含在新 的操作系统Windows 7中。它与VMR最大的区别就是能够支持DXVA 2.0。二、RGB和YUV视频存储格式视频数据,图像数据在存储中的存储格式主要有RGB和YUV。RGB是多媒体 数据进行数据存储采用的主流格式;YUV格式所需存储空间一般是RGB格式存 储空间的一半,所以YUV格式主要用于多媒体数据传输中。1 RGB视频存储格式1.1 RGB概述计算机彩色显示器显示色彩的原理与彩色电视机一样,都是采用R (Red)、 G (Green)、B (Blue)相加混色的原理:通过发射出三种不同强度的电子束,使 屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。这种色彩的表示方法称为 RGB色彩空间表示。根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混 合而成。F = r R + g G + b B 其中,r、g、b分别为三基色参与混合的系数。当三基色分量都为0 (最弱) 时混合为黑色光;而当三基色分量都为k (最强)时混合为白色光。调整r、g、 b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光。1.2常见的RGB格式RGB的GUID (globally unique ident全f|e唯一标识符)格式描述描述如下表 所示:表2.1 RGB的GUID描述RGB的GUID描述符描述符说明MEDIASUBTYPE_RGB1 2每个像素用1位表示,需要调色板MEDIASUBTYPE_RGB4每个像素用4位表示,需要调色板16MEDIASUBTYPE_RGB8256每个像素用8位表示,需要调色板MEDIASUBTYPE_RGB565每个像素用16位表示,RGB分量分别使用5位、6 位、5位MEDIASUBTYPE_RGB555每个像素用16位表示,RGB分量都使用5位(剩 下的1位不用)MEDIASUBTYPE_RGB24每个像素用24位表示,RGB分量各使用8位MEDIASUBTYPE_RGB32每个像素用32位表示,RGB分量各使用8位(剩 下的8位不用)MEDIASUBTYPE_ARGB32每个像素用32位表示,RGB分量各使用8位(剩 下的8位用于表示Alpha通道值)1.3各种RGB格式介绍RGB1、RGB4、RGB8都是调色板类型的RGB格式,在描述这些媒体类型的格 式细节时,通常会在BITMAPINFOHEADER数据结构后面跟着一个调色板(定义一 系列颜色)。它们的图像数据并不是真正的颜色值,而是当前像素颜色值在调色 板中的索引。1)RGB1以RGB1(2色位图)为例,比如它的调色板中定义的两种颜色值依次为 0x000000 (黑色)和0XFFFFFF (白色),那么图像数据001101010111(每个像 素用1位表示)表示对应各像素的颜色为:黑黑白白黑白黑白黑白白白2)RGB565RGB565使用16位表示一个像素,这16位中的5位用于R,6位用于G,5 位用于B。程序中通常使用一个字(WORD,一个字等于两个字节)来操作一个 像素。当读出一个像素后,这个字的各个位意义如下:高字节低字节R R R R R G G G G G G B B B B B可以组合使用屏蔽字和移位操作来得到RGB各分量的值:#define RGB565_MASK_RED 0xF800#define RGB565_MASK_GREEN 0X07E0#define RGB565_MASK_BLUE 0X001FR = (wPixel & RGB565_MASK_RED) >> 11; / 取值范围 0-31G = (wPixel & RGB565_MASK_GREEN) >> 5; / 取值范围 0-63B = wPixel & RGB565_MASK_BLUE; / 取值范围 0-313)RGB555RGB555是另一种16位的RGB格式,RGB分量都用5位表示(剩下的1位不 用)。使用一个字读出一个像素后,这个字的各个位意义如下:高字节低字节X R R R R G G G G G B B B B B (X表示不用,可以忽略)可以组合使用屏蔽字和移位操作来得到RGB各分量的值:#define RGB555_MASK_RED 0x7C00#define RGB555_MASK_GREEN 0X03E0#define RGB555_MASK_BLUE 0X001FR = (wPixel & RGB555_MASK_RED) >> 10; / 取值范围 0-31G = (wPixel & RGB555_MASK_GREEN) >> 5; / 取值范围 0-31B = wPixel & RGB555_MASK_BLUE; / 取值范围 0-314)RGB24RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。 注意在内存中RGB各分量的排列顺序为:BGR BGR BGR。通常可以使用 RGBTRIPLE数据结构来操作一个像素,它的定义为:typedef struct tagRGBTRIPLE BYTE rgbtBlue; / 蓝色分量BYTE rgbtGreen; / 绿色分量BYTE rgbtRed; / 红色分量 RGBTRIPLE;5)RGB32RGB32使用32位来表示一个像素,RGB分量各用去8位,剩下的8位用作 Alpha通道或者不用。(ARGB32就是带Alpha通道的RGB32。)注意在内存中RGB 各分量的排列顺序为:BGRA BGRA BGRA。通常可以使用RGBQUAD数据结构来 操作一个像素,它的定义为:typedef struct tagRGBQUAD BYTE rgbBlue; / 蓝色分量BYTE rgbGreen; / 绿色分量BYTE rgbRed; / 红色分量BYTE rgbReserved; /保留字节(用作Alpha通道或忽略) RGBQUAD;2YUV视频存储格式2.1 YUV概述在现代彩色电视系统中,通常采用三管彩色摄像机或彩色CCD摄像机进行摄 像,然后把摄得的彩色图像信号经分色、分别放大校正后得到RGB,再经过矩 阵变换电路得到亮度信号Y和两个色差信号RY (即U)、BY (即V),最后发 送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表 示方法就是所谓的YUV色彩空间表示。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。 如果只有Y信号分量而没有U、V分量,那么这样表示的图像就是黑白灰度图像。 彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的 兼容问题,使黑白电视机也能接收彩色电视信号。本文讲述的格式全部使用每个像素位置8位的方式来编码Y频道(也称为 灯光频道),并使用每样例8位的方式来编码每个U或V色度样例。但是, 大多数YUV格式平均使用的每像素位数都少于24位,这是因为它们包含的U 和V样例比Y样例要少。注在本文中,U 一词相当于Cb, V 一词相当于Cr。2.2常见YUV的格式在 DirectShow 中,常见的 YUV 格式有 YUY2、YUYV、YVYU、UYVY、AYUV、 Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420 等。作为视 频媒体类型的辅助说明类型(Subtype),它们对应的GUID(Globally Unique Identifier)如下表所示。表2.2 YUV的GUID描述YUV的GUID描述符描述符说明MEDIASUBTYPE_YUY2 YUY2以4:2:2方式打包MEDIASUBTYPE_YUYV YUYV实际格式与YUY2相同MEDIASUBTYPE_YVYU YVYU以4:2:2方式打包MEDIASUBTYPE_UYVY UYVY以4:2:2方式打包MEDIASUBTYPE_AYUV AYUVAlpha通道的4:4:4 YUV格式MEDIASUBTYPE_Y41P Y41P以4:1:1方式打包MEDIASUBTYPE_Y411 Y411实际格式与Y41P相同MEDIASUBTYPE_Y211 Y211MEDIASUBTYPE_IF09 IF09 格 式MEDIASUBTYPE_IYUV IYUV 格式MEDIASUBTYPE_YV12 YV12 格式MEDIASUBTYPE_YVU9 YVU9 格式2.3 YUV主要采样格式主要的采样格式有 YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1 和 YCbCr 4:4:4。其 中YCbCr 4:1:1比较常用,其含义为:每个点保存一个8bit的亮度值(也就是Y 值),每2x2个点保存一个Cr和Cb值,图像在肉眼中的感觉不会起太大的变 化。所以,原来用RGB(R,G,B都是8bit unsigned)模型,1个点需要8x3=24 bits,若4:4:4按采样后,YUV仍各占8bit。按4:1:1采样后,而现在一个点平均 仅需要8+(8/4)+(8/4)=12bits。这样就把图像的数据压缩了一半。YUV的优点之一是,色度频道的采样率可比Y频道低,同时不会明显降低 视觉质量。有一种表示法可用来描述U和V与Y的采样频率比例,这个表示 法称为A:B:C表示法: 4:4:4:表示色度频道没有下采样。 4:2:2:表示2:1的水平下采样,没有垂直下采样。对于每两个U样例或 V样例,每个扫描行都包含四个Y样例。 4:2:0:表示2:1的水平下采样,2:1的垂直下采样。 4:1:1:表示4:1的水平下采样,没有垂直下采样。对于每个U样例或V样例,每个扫描行都包含四个Y样例。2.3.1YUV采样格式图示1) YUV 4:4:4 采样下图显示了 4:4:4图片中使用的采样网格。灯光样例用叉来表示,色度样例 则用圈表示。区凶区区凶0000图2.1 YUV 4:4:4样例位置2) YUV 4:2:2 采样4:2:2采样的这种主要形式在ITU-R Recommendation BT.601中进行了定义。 图2.1显示了此标准定义的采样网格。区X凶X凶X凶X0 X X0 X 0 X图2. 2 YUV 4:2:2样例位置3) YUV 4:2:0 采样4:2:0采样有两种常见的变化形式。其中一种形式用于MPEG-2视频,另一 种形式用于 MPEG-1 以及 ITU-T recommendations H.261 和 H.263。图 2.3 显示 了 MPEG-1方案中使用的采样网格,图2.4显示了 MPEG-2方案中使用的采样 网格。图23 YUV 4:2:0样例位置(MPEG-1方案)图24 YUV 4:2:0样例位置(MPEG-2方案)与MPEG-1方案相比,在MPEG-2方案与为4:2:2和4:4:4格式定义的采 样网格之间进行转换更简单一些。因此,在Windows中首选MPEG-2方案,应 该考虑将其作为4:2:0格式的默认转换方案。2.3.2YUV存储方式本文讲述推荐用于视频呈现的8位YUV格式。这些格式可以分为几个类别: 4:4:4格式,每像素32位 4:2:2格式,每像素16位 4:2:0格式,每像素16位 4:2:0格式,每像素12位首先,理解下列概念,这样才能理解接下来的内容:表面原点:对于本文讲述的YUV格式,原点(0,0)总是位于表面的左上 角。跨距:表面的跨距,有时也称为间距,指的是表面的宽度,以字节数表示。 对于一个表面原点位于左上角的表面来说,跨距总是正数。对齐:表面的对齐是根据图形显示驱动程序的不同而定的。表面始终应该 DWORD对齐,就是说,表面中的各个行肯定都是从32位(DWORD)边 界开始的。对齐可以大于32位,但具体取决于硬件的需求。打包格式与平面格式:YUV格式可以分为打包格式和平面格式。在打包 格式中,Y、U和V组件存储在一个数组中。像素被组织到了一些巨像 素组中,巨像素组的布局取决于格式。在平面格式中,Y、U和V组件 作为三个单独的平面进行存储。1) 4:4:4格式,每像素32位推荐一个4:4:4格式,FOURCC码为AYUV。这是一个打包格式,其中每个像素都被编码为四个连续字节,其组织顺序如下所示。图2.5 AYUV内存布局标记了 A的字节包含alpha的值。2) 4:2:2格式,每像素16位支持两个4:2:2格式,FOURCC码如下:. YUY2. UYVY两个都是打包格式,其中每个巨像素都是编码为四个连续字节的两个像素。 这样会使得色度水平下采样乘以系数2。> YUY2在YUY2格式中,数据可被视为一个不带正负号的char值组成的数组,其 中第一个字节包含第一个Y样例,第二个字节包含第一个U (Cb)样例,第三个 字节包含第二个Y样例,第四个字节包含第一个V (Cr)样例,如图2.6所示。图26 YUY2内存布局如果该图像被看作由两个little-endian WORD值组成的数组,则第一个 WORD在最低有效位(LSB)中包含Y0,在最高有效位(MSB)中包含U。第二 个WORD在LSB中包含Y1,在 MSB中包含 V。YUY2 是用于 Microsoft DirectX® Video Acceleration (DirectX VA)的首选 4:2:2 像素格式。预期它会成为支持4:2:2视频的DirectX VA加速器的中期要求。> UYVY此格式与YUY2相同,只是字节顺序是与之相反的一就是说,色度字节和 灯光字节是翻转的(图7)。如果该图像被看作由两个little-endian WORD值组 成的数组,则第一个WORD在LSB中包含U,在 MSB中包含Y0,第二个WORD 在LSB中包含 V,在 MSB中包含Y1。图2.7 UYVY内存布局3) 4:2:0格式,每像素16位推荐两个4:2:0每像素16位格式,FOURCC码如下:. IMC1. IMC3两个FOURCC码都是平面格式。色度频道在水平方向和垂直方向上都要以系数 2来进行再次采样。> IMC1所有Y样例都会作为不带正负号的char值组成的数组首先显示在内存中。 后面跟着所有V (Cr)样例,然后是所有U (Cb)样例。V和U平面与Y平面具 有相同的跨距,从而生成 如图2.8所示的内存的未使用区域。Increasing rmenwreactireaaes图2.8 IMC1内存布局IMC3此格式与IMC1相同,只是U和V平面进行了交换:increasing manwnfattlresaes»Y0Y10¥34)图9. IMC3内存布局4:2:0格式,每像素12位推荐四个4:2:0每像素12位格式,FOURCC码如下:. IMC2. IMC4. YV12. NV12在所有这些格式中,色度频道在水平方向和垂直方向上都要以系数2来进 行再次采样。> IMC2此格式与IMC1相同,只是V (Cr)和U (Cb)行在半跨距

    注意事项

    本文(常见视频编码格式与RGB、YUV视频存储格式.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开