IPTV编码器的设计与实现

上传人:mar****e6 文档编号:183726714 上传时间:2023-01-31 格式:DOCX 页数:25 大小:411.04KB
收藏 版权申诉 举报 下载
IPTV编码器的设计与实现_第1页
第1页 / 共25页
IPTV编码器的设计与实现_第2页
第2页 / 共25页
IPTV编码器的设计与实现_第3页
第3页 / 共25页
资源描述:

《IPTV编码器的设计与实现》由会员分享,可在线阅读,更多相关《IPTV编码器的设计与实现(25页珍藏版)》请在装配图网上搜索。

1、1. 刖言IPTV编码器是一种用于广播或者电视转播项目的专业音视频数据处理设备,由音视频压 缩编解码器芯片、输入输出通道、网络接口、音视频接口、串行接口控制、协议接口控制、 系统软件管理等构成,通过串行接口控制摄像头和麦克风录制音频和视频信号,并对其进行 编码,完成声音图像数据的采集和复原等。IPTV编码器输出的主要是基于MPEG-4或H.264 的图像数据以及音频数据。目前国际上主流的IPTV编码器是针对媒体传输和IPTV解决方案的第四代实时MPEG-4 AVC/H.264编码器。它们大多采用MPEG-4 AVC/H.264压缩技术,这基本是标清广播采集、分 配和IPTV应用的理想选择。它们

2、能以不到2Mbps的码流传输全分辨率最高质量的视频oMPEG-4 编码技术在宽带接入日益普及的环境下,在网上观看、下载电影成为很多用户非常熟悉的应 用。压缩电影的背后是MPEG-4技术,而MPEG-4背后有一条不平凡的发展道路。运动图像专家组这个名称对很多人来说还很陌生,但提到它的英文简称MPEG(Moving Picture Experts Group),便几乎是尽人皆知了。MPEG是隶属于ISO/IEC的一个专家工作组, 主要负责为数字音视频编码算法开发和制定标准。MPEG组织始建于1988年,并于1992年制 定出MPEG0-1标准,它能将视频数据压缩成1-2Mpbs的标准数据流,工业产

3、品VCD机和MP3 播放器都是以该标准为基础衍生出来的。随后的1994年,该组织制定出MPEG-2标准,它是 为了获得更高的分辨率(720*486)、提供广播级视频和CD品质的音频而产生的高质量音视频 编码标准,传输速率在3-10Mbps,它也是数字电视、DVB和DVD所遵循的压缩标准。随着研究工作的深入发展,ISO又公布了 “超低比特率活动图像和语音压缩标准”,排序 MPEG-4。1998年10月批准第一版,1994年4月又公布了第二版及其校验模型(VM)。MPEG-4 正式编号是ISO/IEC国际标准14496,它是一种新型的多媒体标准。与前标准一个重要区别 就在于,它是一个基于对象的视频

4、编码压缩标准,它所定义的码率控制的目标就是获得在给 定码率下的最优质量,它为互联网上传输高质量的多媒体视频提供了很好的技术平台。2. 总体方案设计随着视频技术和MPEG4应用领域更加广泛,国内对IPTV编解码器研究探索也将步入更高 层次的阶段,从应用现状和市场需求的角度来看,对MPEG4编解码器的研究和开发更是重点。 目前实现IPTV编码器的方式主要有三种,分别是纯硬件方式、软件方式和基于DSP的方式, 三种方式各有特点。2.1各方案论证(1)纯硬件方式纯硬件方式就是使用专用集成芯片来实现视频编码,随着VLSI(超大规模集成电路)技 术的发展,各大VLSI厂商相继推出了各种高性能的视频图像处理

5、专用芯片,如Philips公司 的Trimedia系列、IBM公司的MPEG S系列等。这种方式将视频压缩算法固化在芯片中,特 点是开发周期短,压缩率高,运算速度快,图像质量和系统实时性较好,缺点是一旦视频编 码方案固定,则系统升级与更新比较困难,而且专用芯片造价比较高,通用性差,不易推广。(2)软件方式软件方式就是利用PC机通过基于计算机操作系统的软件来实现视频编码,虽然比较容易 实现软件的升级,但系统性能受PC机处理器运算能力所限,最大缺陷为速度慢,实时处理视 频信号不容易实现,其主要是用于前期仿真,验证算法的正确性。(3)基于DSP的方式基于高速DSP实现视频编码是应用最多的一种方法。利

6、用DSP的高速信号处理能力,使 用软件实现的算法在其上运行时可以大大缩短执行时间,获得高压缩率,同时由于数字视频 的标准广泛,产品的更新要求更多,采用DSP做产品将更加具有优势,当进行软件升级或使 用新的编码标准的时候,只需要对代码进行修改和调整DSP的配置就可以实现。该方案易升 级,应用灵活,通用性强,具有更加实际的产品发展前景。随着DSP向高速、低功耗、多媒 体化、多处理器的方向发展,使得用DSP实现视频编码更加方便,图像质量也更好。我的设计主要是通过对MPEG4编码标准原理和算法进行深入分析,以MPEG4的公开参考 源代码XVID-1.1.0为基础,对基于PC的软件代码进行调整,结合DS

7、P的硬件和指令结构特 性,在以TI公司的TMS320DM642 DSP为核心的硬件平台上实现了 MPEG4视频编码器,并通过软件优化等方法,使编码器基本满足实时性要求。2.2方案比较通过对上述三种方案的分别论述可知:纯硬件方式实现容易,并且各方面参数都能到达 理想值,但是其方案一旦固定就无法更改,因此系统的升级和更新困难,而且芯片造价高, 性价比较低,这就给产品的推广造成了阻碍;方案二阐明了软件方式的优缺点,虽然比较容 易实现升级,但其运算速度慢,一般仅用于前期的仿真处理。方案三是基于DSP的方式,它 不仅能高速的处理信号,而且具有良好的兼容性,软件更新和使用新的编码标准时易实现, 具有更多实

8、际产品的发展前景。2.3方案选择我的设计意义在于通过基于DSP的MPEG4编码器的研究,全面剖析了 MPEG标准的核心算 法,总结讨论了基于DSP的软件开发和优化方法,尤其是在视频编码器方面,可作为今后对 MPEG4编码算法改进和研究其它视频标准编码器在DSP平台上实现的基础和借鉴。本课题的 研究成果可应用于实现脱离计算机独立工作的脱机图像处理系统,使MPEG4的应用更加灵活 方便,可以将MPEG4应用于更加多样化的领域和不同的工作环境。而且鉴于目前市场上专用 视频编码芯片价格昂贵,本方案可以大大降低实现MPEG4应用的成本,与同类产品相比将具 有较强的市场竞争力。近年来,随着网络和多媒体技术

9、的发展,视频信息通信的重要性和需求急剧增长,而其 中的关键就在于视频压缩编码技术的应用。ITU和ISO制订的这一系列视频编码标准,都在 原来的技术上不断地完善和升级,从而极大地推动了视频多媒体技术的实用化和产业化。 MPEG4是一种可应用于通信、广播和计算机等诸多领域的通用视频编码标准,它基于对象的 编码方式可以使图像主观质量、交互性更好,同时具有很好的容错性和时间、空间伸屈性, 具有适应各种带宽的强大能力,能够使视频数据在多媒体环境中对视频目标进行高效存储、 传输和操纵。MPEG4已经在数字电视、视频会议、实时多媒体监控、低比特率下的移动多媒 体通信、Internet上的视频流与可视游戏、D

10、VD上的交互多媒体应用、电视点播等方面有了 广泛的应用,目前是视频压缩编码应用的主流,从而成为国内外视频编码研究和应用的热点。 同其他IPTV编码标准相比,MPEG4的特点和所支持的新功能主要表现在以下三个方面:(1) 基于内容的交互性(Content-based Interactivity)a. MPEG4最大的特点是基于内容、基于对象进行编码,支持无须编码就可进行基于内容 的操作与比特率编辑,而不是像MPEG1、MPEG2基于视频帧的编码。例如:使用者可在图像或 比特流中选择一具体的对象(例如图像中的某个人、建筑物等等),随后改变它的某些特性。 这些对象可以使单声道、立体声和多声道音频,二

11、维和三维或者单目、立体或多目视频、计 算机图形、动画、文字等。对每一个对象的编码形成一个对象码流层,该码流中包含着对象 的形状、位置、纹理以及其他方面的属性等。对一幅图像编码所形成的码流就由一系列这样 的对象层码流所构成。用户可以直接对“对象层”进行存取操作,也可以自行选择场景中的 物体的解码质量。b. 支持自然与合成数据的混合编码,提供将自然视频图像同合成数据(如文本、图形等) 有效结合的方式,包括混合编码以及同步,同时支持交互性操作。c. 增强的时间域,随机存取。提供有效的随机存取方式,在有限的时间间隔内,可按帧 或任意形状的对象,对音频、视频序列进行随机存取。例如以一序列中的某个音、视频

12、对象 为目标进行“快进”搜索。(2) 高压缩率(Compression)a. 提高编码效率。在可比拟速率下,MPEG4提供的主观视频质量要好于已有的或是其它 在制定中的标准。一般的说,MPEG4的理论压缩倍数高达100倍。这一功能可望在迅速发展 的移动通信网中获得应用,但值得注意的是,提高编码效率不是MPEG4唯一的主要目标。b. 对多个并发数据流编码。MPEG4将提供对一景物的有效多视角编码,加上多伴音声道 编码及有效的视听同步。在立体视频应用方面,MPEG4将利用对同一景物的多视点观察所造 成的信息冗余。MPEG4的这一功能在足够的观察视点条件下,将有效地描述三维自然景物。(3) 通用存取

13、(Universal Access)a.错误易发环境中的鲁棒性和纠错性。MPEG4将提高抗误码能力,尤其是在易发生严重 错误的环境下的低比特率应用中(移动通信链路)实现安全的低码率编码和传输。它采用3 个策略来达到此目的:再同步(resynchroniaztion)、数据恢复(data recovery)、错误隐 藏(error concealment)。再同步工具在检测到误码时重新再解码器和码流间建立同步点, 前一个同步点和新建立的同步点间的码流就是发生误码的数据;数据恢复是通过标准中提供 的一种可逆变一一长编码技术来恢复两个同步点之间的数据;错误隐藏通过空间的纹理相关 性和视频前后帧的相关

14、性对错误的图像区域进行隐藏。b.基于内容的尺度可变性。内容尺度可变性给图像中的各个对象分配优先级,对重要性 不同的对象在从视频码流解码时用不同的时间或空间分辨率表示。MPEG4提供了两种基本分 级工具,即时域分级和空域分级,可实现时间、空间的尺度可变性,此外还支持时域和空域 的混合分级。每一种分级编码都至少有两层,低层称为基本层(b ase-layer),高层称为增强 层(enhancement-layer)。基本层提供了视频序列的基本信息,增强层提供了视频序列更高 的分辨率和细节。基于内容的尺度可变性是MPEG4的核心,因为图像中所含对象的目录相应 的优先级确定后,其他的基于内容的功能就比较

15、容易实现了。对甚低比特率应用,可伸缩性 是一个关键的因素,它提供了自适应使用可用资源的能力,可以最有效的利用有限资源。3. IPTV的编码标准长期以来,基于像素的第一代编码技术一直是图像编码的主流方法。它从消除图像数据 的时间、空间相关冗余出发,编码实体是像素或像素块,以显示器件为图像/视频系统的最后 环节,没有考虑人眼视觉特性对编码图像的影响。20世纪80年代初人们就认识到这种基于 数据统计的编码技术的不足,特别是在低速率视频编码时有严重的局限性。20世纪80年代中后期,相关学科的迅速发展和新兴学科的不断出现为视频编码的发展 注入了新的活力,同时关于人类的视觉生理、心理特性的研究成果也拓展了

16、人们的视野。 M.Kunt于1985年提出了利用人眼视觉特性的第二代图像编码的思想。图像编码中的对象不 再是像素或像素块,而是考虑到人眼是图像/视频信号的最终接受者,根据人类视觉对图像轮 廓纹理较为敏感的特点将图像数据进行分割,即按图像内容来划分编码区域。基于内容的第 二代编码技术是视频编码的新一代技术,是目前视频编码研究中最为活跃的一个领域。ISO/IEC下的运动图像专家组(MPEG)对MPEG4标准的讨论最早开始于1991年,其初衷 是为了研究满足视频会议、可视电话等极低比特率应用的编码方案,并定名为音视频对象的 编码技术。但是由于传统的基于像素分块的DCT变换和运动补偿技术的第一代编码方

17、法已达 到了视频压缩的极限,同时为了满足当今世界越来越多的视听信息要求以数字形式进行相应 的变换而产生的种种新的需求,适应多媒体数据压缩技术的发展趋势,1994年7月的Grimstad MPEG会议上,MPEG4的目标发生了根本的变化,转而致力于成为可以适应各种传输码率的通 用标准,为多媒体的数据压缩提供一个更为广阔的平台,它更多定义的是一种格式和框架, 而不再是具体的算法,为实际开发者提供自由的开发空间,实际应用中可根据要求的不同来 现场配置解码器。MPEG4编码系统是完全开放的,可以随时加入各种新的算法模块。同时, MPEG4提供了一个包含各种工具和算法的工具箱,给出各种任意形状可是对象的

18、高效表达式, 可用于各种图像和视频的高效压缩。在此背景下,MPEG工作组于1999年推出了 MPEG4标准 的第一版,并于2000年初正式成为国际标准(ISO/IEC14496),之后陆续有第二版的制订和 增补工作。MPEG4标准的主要特征是基于对象(object-based)的编码。所谓的对象就是在一个场 景中能够访问和操纵的实体,具体到一幅图像中,对象就是能表征有含义的实体的一组区域。 对象的划分可以根据其独特的纹理、运动、形状、模型和高层语义为依据,语音、图像、视频等都可以作为单独的对象,也可以集成为更高级的对象场景。MPEG4除了采用变换编 码、运动估计与运动补偿、量化、熵编码等第一代

19、视频编码核心技术外,采用基于对象的编 码理念,即在压缩之前将每个场景定义成一幅背景图和一个或者多个前景音视频对象,然后 对背景和前景分别进行编码,再经过复用传输到接收端,然后再对背景和前景分别解码,从 而组成需要的音视频。随着网络、有线和无线通信系统的迅猛发展,多媒体网络技术的日趋 成熟与完善,交互式计算机和交互性电视技术普遍应用,以及视频、音频数据综合服务等应 用的发展,通过应用MPEG4视频编码技术基于对象的特点,人们对多媒体信息特别是视频信 息的应用可以从单纯的播放转向基于内容的访问和操作,从对多媒体信息被动的接受方式转 向自由操作多媒体信息。从MPEG4编码技术特点来看,其应用前景将是

20、非常广阔的。MPEG4标准必将广泛应用于 数字电视、动态图像、万维网(WWW)、实时多媒体监控、低比特率下的移动多媒体通信、内 容存储和检索多媒体系统、Internet或Internet上的视频流与可视游戏、基于面部表情模 拟的虚拟会议、DVD上的交互多媒体应用、基于计算机网络的可视化合作实验室场景应用、 演播电视等。3.1 IPTV编码模块的介绍3.1.1 IPTV编码技术模块DMIF(Delivery Multimedia Integrtion Framework)主要解决交互网络中、广播环境下 以及磁盘中多媒体应用的操作问题,通过传输多路合成比特信息,建立客户端和服务器端的 连接和传输。

21、传输接口层在MPEG4中使用DMIF传输基本流,面向应用将网络实现的细节包装。 DMIF使用服务和会话的概念,通过信道处理媒体基本流。对信道的处理是由DMIF所产生的 信道标识决定的,即告诉用户在哪儿能得到所需的信息。使用复接器将几路同步的基本流通 过一个信道进行传输,因此MPEG4系统处理媒体流,而DMIF处理传输,它不需要知道媒体流 的特性。对客户与服务器之间的控制是通过DMIF应用接口(DAI)。实际上,DMIF相当于OSI 的会话层的功能,DAI表示会话服务存取点。传输接口层对媒体不透明,而对传输是透明的。3.1.2 AV对象编码模块MPEG4引入一个关键的概念:AV对象。MPEG4技

22、术是对运动图像中的内容进行编码,其 具体的编码对象就是图像中的音频和视频,术语称为“AV对象”。为了支持基于对象的交互, 系统将图像视为由若干个AV对象组成的场景,AV对象变成了系统编码、存取和传输的最小 单位,也是用户所能操纵的最小单位。AV对象是听觉,视觉或者视听内容的表示单元。其中 最基本的单元是原始AV对象,它可以使自然的或合成的声音、图像。原始AV对象又可以进 一步组成符合AV对象。整个MPEG4是围绕如何高效编码AV对象,如何有效组织和传输AV对 象而编制的。因此,AV对象的编码是MPEG4的核心编码技术。AV对象的提出,使多媒体通信 具有高度的交互能力和很高的编码效率。3.1.3

23、 VOP视频编码模块为实现基于视频对象的编码,MPEG4引入了视频对象面VOP(Video Object Plane)的概 念。MPEG4假定输入视频序列的每帧都被分割成了一系列的形状不规则的图像区域,即VOP, 每个区域由感兴趣的特定图像或视频内容构成,不再局限于MPEG1和MPEG2所必须要求的矩 形形状。由任意形状的VOP图像区域所构成的输入视频,其帧与帧之间的VOP的形状和位置 又可以不同,而一系列连续的属于同一场景同一物理对象的VOP构成了视频对象(VO),同一 视频对象的VOP序列的形状、运动和纹理信息被编码传输,或者编码为一个隔离的视频对象 层 VOL (Video Object

24、 Layer)o构成VOP的信息包括纹理信息、运动信息和形状信息。对运动信息和纹理信息的编码, MPEG4沿袭了 MPEG1和MPEG2中的技术,在保持图像质量的条件下可以达到很高的压缩比。 算法采用基于宏块(Micro block)的带运动补偿的预测编码以减少时间冗余度,预测误差则 进一步采用DCT(离散余弦变换)压缩以消除空间冗余度,最后再使用变长编码法(如Huffman 编码)产生最后的代码。而形状的表示有2种方法。自然的视频场景中,VOP可按照一定的 语义通过分割视频对象产生,在该情况下,形状是二进制(binary),0表示在对象内部,1 表示在对象外部。而在混合的场景中,形状被表示为

25、8bit component (又称灰度形状),以 用于组合。MPEG4定义了 3种主要的VOP类型;帧内编码VOP(I-VOP)、预测编码VOP(P-VOP) 和双向预测编码VOP(B-VOP)。对于I-VOP,它的编码不需要参照其他图像,是独立的。它是 编码序列中的解码的开始点,以它作为起始点的其它类型的视频对象平面的解码需用它作为 参照,它的编码效率较低。P-VOP的编码采用相对于上一个I-VOP或P-VOP带运动补偿的预 测编码,它的编码效率要优先于I-VOP。B-VOP的编码效率是最高的,它的编码不仅要参照前 面的VOP,而且还要参照后续的VOP,但它本身不能作为其他VOP编码时的参

26、与。VOP编码后的信息形成视频对象层被传输。其帧结构如图2.1所示:3.2 MPEG4的视频图像模块的介绍视频被描述为一组连续的画面,每幅画面称为一帧,即视频序列由帧组成,而每帧画面 可看作是二维的像素阵列。颜色空间(Color Space)是指用来表示亮度和颜色的方法。在静 态图像处理技术中,一般使用RGB颜色空间表示图像,即每一像素采样点的颜色三个分量表 示的:红(R)、绿(G)、蓝(B);而基于人类视觉系统的特性,在视频编码中一般采用YCbCr 颜色空间,YCbCr空间是指用亮度、色度分开来表示图像信息,每一彩色像素是用另三个分 量表示的:亮度分量(Y)以及两个色差分量(Cr,Cb)。我

27、们可以利用两个空间的联系进行 空间转换,两个空间相互转化的线性变换矩形阵因不同制式而有多种,以下是ITU-RBT.709 标准推荐:Y=0.7154G+0.0721B+0.2125RCb=-0.386G+0.500B+0.115RCr=-0.454G-0.046B+0.500R进行两个彩色空间的转换是基于人类视觉系统的特性:在RGB空间中,亮度和色度都被 同等重要地表现出来,R、G、B三个信号有一个发生了变化,则总的图像的颜色就会发生变 化,人眼很容易察觉这种变化的;然而人眼对Y、Cr、Cb三个信号的变化是有不同反应的, 人类视觉系统对亮度的敏感度远远大于对色度的敏感度,这样就可以更多地考虑亮

28、度信号, 而对色差信号采用一些处理方法以提高压缩比,比如即使经过亚采样或直接丢弃一部分数据 等处理,但人眼对恢复时转换到RGB空间后的图像的变化任然是不易察觉的。经过从RGB到YCrCb的变换后,图像中比较重要的信息,也就是对人类视觉影响比较大 的信息都集中在Y矩阵中,而CrCb矩阵中的图像信息比较小,因此,为了节约比特数,可以 不用对整个的CrCb矩阵进行编码,首先对CrCb矩阵进行一下采样,使得CrCb图像的长度宽 度都为原来的一半,这样就得到MPEG4视频编码中使用的4:2:0采样的YUV图像格式,即每 采样四个亮度信号值(Y),就同时采样2个色度信号值(Cr和Cb),表示色度元素(Cb

29、U, CrV)在垂直方向和水平方向上均是亮度元素(Y)比例的一半。对标准的码流进行解码 之后得到也是4:2:0的YUV矩阵,当然显示时还需要对这个矩阵上进行采样,使得YCrCb矩 阵都为原始图像大小,然后再变换到RGB颜色空间进行显示。图3.2 4:2:0格式的亮度和色度位置关系MPEG4定义的5种标准化的图像格式如下:Sub-QCIF(128*96):亚四分之一的公共中间格式QCIF(176*144):四分之一的公共中间格式CIF(352*288):公共中间格式4CIF(704*576):四倍公共中间格式16CIF(1408*1152):十六倍公共中间格式3.3 IPTV编码的设计过程对于静

30、止的图像,MPEG4采用零树小波算法编码,并提供高压缩比,同时有多达11及的 空间分辨率和质量可伸缩性;对于运动视频对象,MPEG4的编码框图如图2.3所示。从图上 可以看出,基于对象的编码任然采用的是传统的预测编码、运动补偿、DCT变换构成的混合 编码方式,这是由于混合编码方法具有良好的压缩性能。虽然是使用与以前制订的标准相似的编码技术,但前者是基于帧的,而MPEG4是基于对象的。图3.3 MPEG4视频编码框图MPEG4中基于对象的视频编码可分3步进行:(1)从原始视频流中采用全自动、半自动、人工等方法分割出视频对象。(2)对输入的任意形状的VOP序列,用基于块的混合编码技术编码。处理顺序

31、是先I-VOP(帧内VOP),后P-VOP (预测VOP)和B-VOP(双向预测VOP),大致过程是:在对VOP的形状 信息编码后,取得任意形状VOP的采样,每个VOP用宏块栅格划分成不相交的宏块,每个宏 块含有4个8*8像素块进行运动估计和补偿以及纹理编码。已编码的VOP帧保存在帧中,运 动矢量在当前VOP帧和已编码VOP帧之间计算。对将被编码的块和宏块,计算它们的运动补 偿预测误差。运动补偿预测后的I-VOP及误差用8*8块DCT变换,并进行DCT系数的量化, 然后是行程编码和熵编码。(3)每个视频对象的形状、运动纹理信息复合成VOL比特流,各视频对象视频流复合 成统一的码流输出。还有两点

32、值得注意:一是编码时,不同视频对象的运动、形状、纹理信 息应分配不同的码字;二是对于极低码率(小于64Kb/s)的应用,需用方块滤波器进行相应 处理。MPEG4视频码流语法的分层数据结构从上到下大致分为:视觉对象序列VS(Visual ObjectSequence),视觉对象 VO (Visual Object),视频对象层 VOL(Video Object Layer),视频对 象平面组GOV(Group of VOP),视频对象平面VOP (Video Object Plane),其中视频对象包 括:视频数据、静态纹理数据、2D网格数据、人脸活动参数数据等,这些结构化数据称为对 象,它是用

33、户可以访问和处理的实体。VS对应于一段完整的视频场景,包含一个或多个VO 的集合,VO对应于场景中具体的人或者是其它的物体,VO码流中包括的纹理、形状和运动信 息层构成了 VOL,VOL是VO在时间或空间上的分级描述,用于实现分级编码,一个VO可以由 一个或多个VOL组成,在MPEG4的码流中GOV是可选的,多个VOL组成GOV,用于实现比特 流的随机存取。4. IPTV编码算法的软件实现IPTV是一个开放的框架标准,并没有规定具体的算法和程序,用户可根据需要自行开发 代码,本设计主要参考了 Xvid-1.1.0开放源码来实现MPEG4编码器,实现了 MPEG4视频编码 的简单级别框架。4.1

34、 Xvid视频编码技术Xvid代码用C语言编写,是当前最为流行的实现MPEG4的方案之一,该编码器以原始视 频图像序列(YUV文件)为输入数据,编码生成符合MPEG4标准的压缩视频数据流。Xvid是OpenDivx的延续,出于应用的考虑,Xvid和Divx 一样,都没有实现MPEG4所有 的功能和内容,这点不同于MPEG4校验模型。它是目前基于整帧编码的MPEG4编码器中表现 非常出众的一个,具有以下几特点:(1)多种编码模式除了最原始单重固定码流压缩(1-pass CBR)之外,Xvid提供了包括:单重质量模式动 态码流压缩、单重量化模式动态码流压缩、包括外部控制和内部控制的两种双重(2-p

35、ass) 动态码流压缩模式。由此,Xvid是目前MPEG4编码内核中可选模式最多的。其中特别是双重 动态码流压缩模式,通过检测画面运动幅度,以最优化的方式曲线分配画面量化幅度,使视 频图像可以在占用空间和画面质量之间获得最佳的平衡。而单重量化模式动态码流压缩,可 以高速地一次性生成可控画面细节的动态码流视频文件,在较少的压缩时间代价之下,可以 获得较稳定的画面细节质量。(2)量化方式选择和范围控制Xvid不仅提供了标准的MPEG量化方式,还特地提供了更适合低码流压缩的H.263量化 方式。并且Xvid还可以再双重运算(2-pass)时,根据对画面信息的综合分析,动态的决定 某段场景的画面量化方

36、式,有利于网络媒体文件传播中空间与画质的平衡。除了量化方式选 择,Xvid还提供了强大的对压缩过程中的量化幅度的范围控制,用户可以选定压缩时允许使 用的量化幅度范围。例如设定一个量化的上限,就可以避免可能出现的画质大幅下降的情况。(3)运动侦测和曲线平衡分配Xvid可以对画面逐帧进行运动侦测,以及对全片段的运动侦测结果进行分析后,重新以曲线平衡分配每一帧的量化幅度。这样,需要高码率的运动画面可以分配更多空间、更高的 码率、更低的量化幅度来保持画面的细节;而对于不包含太多运动信息的静态画面,则消减 分配预算。(4)动态关键帧距动态关键帧距是另一个Xvid所具有的,在空间和画面之间获得最大平衡的技

37、术。我们知 道在视频压缩中不是每一帧都记录着全部的画面信息,事实上只有关键帧(I帧)记录着完 整的画面信息,而后续的?帧(P-Frame)仅仅是记录下与之前一帧的差值。如果关键帧之间 的画面变化很大,则会浪费宝贵的空间在P-Frame上;而加入把变化很大的那一帧记录在关 键帧里,那么由于后续的帧不再有更大的变化,就可以节省P帧所需的空间。因此,根据画 面镜头切换和运动幅度来变换关键帧的位置,有利于画面质量的提高。如上所述,Xvid在改善图像质量和增强编码效率两方面下了很大的功夫。但以某些实际 应用领域来说,图像质量并不要求要达到DVD的效果,这样我们可以考虑以牺牲图像质量为 代价,去掉Xvid

38、的某些功能,如GMC (全局运动估计)、RVLC等,可减少运算量,降低复杂 度,来换取编码速率的提高。另外,Xvid是针对PC机的X86芯片应用而是用标准C语言设计开发的,可以在VC+6.0 中运行调试,但对DSP嵌入式视频编码器系统移植还需要进行大量的分析和修改,如删除所 有PC机上的汇编(MMX、SSE指令)优化代码及其他非ANSI C编写的函数,因为这些指令和 函数无法在DSP系统中使用。XVID代码实现的MPEG4编码器,读入YUV格式的原始视频数据, 以原始视频数据中的每一帧作为一个视频对象,首先判断是I帧还是P帧,I帧需要对整帧 图像数据进行编码存储,P帧则进行运动估计和补偿,只编

39、码当前帧与参与帧之间的图像残 差和运动矢量。每帧数据都被分为16*16宏块,每个宏块又分为6个8*8子块:4个亮度块, 2个色差块,然后在宏块和子块的基础上进行DCT、量化、VLC编码。4.2 IPTV编码系统流程对一段视频序列进行编码,主要流程包括三个部分:(1) 初始化内存分配:调用int enc_create(xvid enc_create_t*create)对所有视频结构分配空间 并进行初始化。返回XVID_ERR_MEMORY表示分配空间失败,将pParam-handle赋值为NULL。 设置编码器参数:编码开始时,首先定义一些编码器的参数,如视频数据的宽度和高度、原 始数据的文件名

40、、帧率、编码后的文件名、比特率等一系列参数。设置enc_opt为 ENC_OPT_INIT,输入参数结构体指针指向ENC_PARAM结构,输入参数结构体指针为空,编码器根据编码参数结构体中设置的参数,ENC_PARAM结构体中主要的参数:输入图像宽度(x_dim)输入图像高度(y_dim)编码图像序列的帧率(framerate)目标比特率(bitrate)关键帧最大间隔(max_key_interval)量化器的最大量化参数(max_quantizer)量化器的最小量化参数(min_quantizer)运动估计的搜索范围(search_range)源数据文件名(Source Name)编码文件

41、名(Target Name)(2) 编码视频帧循环读入每个视频帧,如果图像的高度不为16的倍数,进行图像扩充;调用unsigned int image_create(IMAGE *image,unsigned int edged_width,unsigned int edged_height) 将原始帧中的图像数据读到编码VOP的Y、U、V分量中;如果当前帧是编码的第一帧,还要 写入VO和VOL头信息。判断视频帧的类型,如果为i-vop,调用帧内编码函数;如果为P-VOP,调用帧间编码函 数。对每一帧进行编码:调用 int xvid_encore( Void *handle,int XVID_

42、ENC_ENCODE,xvid_enc_frame_t *paraml,xvid_enc_stats_t *param2)对视频帧进行编码。其中参数handle对应enc_create的返回状态;paraml表示视频帧 信息;param2对应已进行初始化的xvid_enc_create_t结构信息。设置enc opt为ENC OPT ENCODE,输入参数结构体指针指向结构体ENC_FRAME,输出参 数结构体指向ENC_RESULT结构。ENC_FRAME结构定义了三个参数,这三个参数分别为:输入代码的图像指针(*image)输出比特流的缓冲区指针(*bitstream)输出比特流的长度(l

43、ength)对每一帧图像进行编码之前,将原始图像数据存放到image指针指向缓冲区,为输出比 特流分配足够的空间并让bitsream指向该空间,开始编码。在主程序中用来实现编码时间的计算与输出的代码如下:Main()Static double msecond()(Clock_t clk;Clk = clock()Return(clk * 1000.0/CLOCKS_PER_SEC);Enctime = msecond() ; /编码开始时间M4v_size = enc_main(!result ? in_buffer:0, mp4_buffer, &key, &stats_type, &sta

44、ts_quant,&stats_length,sse) ; /对一帧图像进行编码Enctime = msecond() - enctime; 通过计算编码结束与开始时间之差得到编 码耗时Totalenctime += enctime; /通过对每一帧图像编码耗时累加得到编码总耗时Printf( Tot:enctime(ms)二%7.2f ” ,totalenctime) ; /输出编码总耗时5. IPTV编码器的系统调试5.1硬件调试本课题设计的MPEG4编码器硬件系统以TMS320DM642 DSP为核心,并配合以适当的外部 存储器SDRAM、Flash等外围设备,构成了 MPEG4编码算法

45、软件在DSP上开发、移植、调试、 运行实现的平台,该硬件平台主要实现以下功能:(1)实现原始视频数据的采集和预处理,转换视频数据格式。(2)对软件代码进行实时仿真调试,通过JTAG接口以及硬件仿真器与上位机连接,加 载测试程序并实时采集调试结果。(3)可以通过外部存储器暂存图像数据和固化系统启动时加载的软件程序。(4)具备PCI总线,可以通过开发相应软件利用PCI总线传输数据以及实现与上位机 的通信。本课题设计的MPEG4编码器硬件平台可以实现一路标准PAL或NTSC制式复合视频输 入/输出,具有16M SDRAM和4M FLASH以及标准JTAG接口设计,可方便实现仿真调试, 并具有实时时钟

46、RTC以及PCI总线接口。外围口TMS320DM642RTC实时时钟PCI总线EEFROMDSP 的 EMIF视频格式捋换龟路SDRAMFLASH图5.1基于DM642的MPEG4硬件平台结构框图5.2软件调试帧内编码的功能是实现VOP的内部纹理编码,它不借助于其他的参考帧,而是单独进行 编码。在做DCT变换前对块做预判断,如果为全零块,则直接转到VLC编码,并将全零信息 送到帧存储器中;如果不是则做DCT变换继续编码。量化后的数据信息分两路传送:一路继 续编码过程,通过zigzag扫描和VLC编码生成最终的编码码流;另一路送至反量化单元为重 建帧做准备,经过反量化、IDCT变换重建视频帧,存

47、入帧存储器,作为参考帧为以后的运动 估计做准备。量化后的数据在逻辑上分两路处理,而在实际中这两路是顺序执行的。帧间编码在运动估计和补偿的基础上进行,主要任务是编码运动矢量以及重构图像与补 偿图像之间的残差。同帧内编码不同,帧间编码需要借助参考帧的信息,编码流程首先在参 考帧与目标帧之间进行运动估计,通过块匹配算法在参考帧中寻找当前块的最佳匹配位置, 得到运动矢量,然后进行运动补偿,得到重构图像与补偿图像之间的残差,将两块之间的像 素差(残差)和位移差(运动矢量)作为编码的内容,对残差和运动矢量进行DCT变换、量 化、行程编码及VLC编码。帧间编码在运动估计前预判断零运动矢量,即如前面所讲在对应

48、宏块SAD小于所设阈值 的情况,这时待编码宏块与匹配块非常接近,可以用匹配块直接替代,无须再计算运动矢量 MV。6. 编码测试结果及分析Xvid实现的编码器采用命令行输入的方法确定初始编码的参数,主要包括:视频文件的 输入、压缩文件的输出、图像尺寸大小的输入(图像的高和宽)、编码码率的输入、关键帧间 隔的输入等。测试序列:本课程设计采用MPEG4标准测试序列foreman.qcif,news.qcif和suzie.qcif 对编码器进行测试。Foreman 序列,QCIF(176*144) 格式,彩色,400 帧;News 序列,QCIF(176*144) 格式,彩色,300 帧;Suzie

49、序列,QCIF(176*144) 格式,彩色,150 帧。实验硬件条件:P42.4GHz CPU、512M内存的PC机一台。实验软件条件:Microsoft Windowns 2000操作系统、VC+6.0、C语言。本次实验主要考察视频编码程序是否能正确执行,因而编码峰值信噪比(PSNR)和压缩 比是两个主要考察的指标,PSNR的计算方法在前面已经介绍,压缩比即图像压缩编码前后 数据量大小的比值,编码速率由于运行平台的不同而有很大不同,这里只作为参考数据,在 程序中已经设置了对PSNR值和编码帧率的计算与输出,其结果可以在CCS的显示窗口中读 取。实验结果如表5.1、5.2所示。表6.1 PC

50、机上标准测试序列编码结果分析测试序列PSNR(dB)帧率(fps)码率(kbps)Foreman43.95449.94300News45.09662.25300suzie46.29480.77300表6.2 PC机上标准测试序列编码压缩比测试序列原始数据大小(kb)压缩后大小(kb)压缩比码率(kbps)Foreman1450016408.84300News1113846424300suzie556931517.683007. 总结本文主要分析了 MPEG4视频图像压缩编码标准及其相关技术,讨论了 MPEG4编码器在 TMS320DM642 DSP上的实现方案和优化方法,实现了 MPEG4视频

51、编码的简单框架功能。实验 结果表明,本文所提出的系统设计方案具有较高的易实现性和实用性,所采用的代码优化方 法是有效的,性能测试获得了满意的效果。本人在课程设计中的主要工作总结如下:(1)仔细搜集、阅读了大量的相关书籍和资料,了解了视频编码技术的发展概况,比 较了常用的视频压缩算法,深入理解了 MPEG4编码标准的基本原理。(2)详细了解了 MPEG4标准的编码结构、功能特点和发展目标,并分析讨论了其中的 关键技术,如运动编码和纹理编码等,并对MPEG4编码标准中的关键算法进行深入分析,包 括运动估计与补偿、DCT变换、量化和可变长编码等,分析了其功能,并在PC机平台上对编 码算法进行了验证。

52、(3)了解了 TMS320DM642 DSP的硬件结构和特点,掌握了基于DSP的应用系统的开发 方法,设计了编码器硬件系统,并将MPEG4软件编码器移植到TMS320DM642系统中。(4)利用TI公司的C6000 DSP集成开发环境CCS进行仿真与测试,针对DM642的硬件 和指令结构,采用各种优化策略对程序代码进行改进与优化,以提高编码器性能。(5)通过对标准视频序列进行编码实验,评估了代码优化的效果,测试了编码器性能, 结果表明,在图像质量良好的同时,实现了实时编码的要求。但是由于时间以及个人知识水平有限的关系,本课题还存在许多不足,许多工作还有待 于进一步完善和改进:(1)MPEG4标

53、准有多个框架级别,本设计只实现了其简单框架功能,去掉了 B-VOP、全 局运动估计等一些较复杂的算法,这样的编码器方案还不能完全发挥MPEG4框架工具的优势, 在此基础上,我们还可进一步研究实现MPEG4高级实时框架算法,增加一些高级功能,提高 完善MPEG4编码器的性能。(2) TMS320DM642是一款功能十分强大的DSP,在本课题中只使用了其部分功能,对其 硬件资源的利用还不够充分,还没发挥出其内部的Cache缓存等特殊功能优势,我们还需对 DM642进行更加深入地了解和利用,这将会有效提高视频编码器的性能。(3) MPEG4视频编码算法中还存在可以进一步改进和完善的部分,如运动估计中

54、的搜 索算法、运动矢量的预测方法等,要不断研究和采用更先进的算法来替代、改进现有的技术;另外,还可以采用更多的针对DSP的优化方法,通过对优化策略的改进和深入,可以进一步 提高编码效率,改善画面质量。总之,通过本课题研究的进行,使我对视频压缩编码知识,尤其是对MPEG4标准有了较 全面和深入的了解,同时在DSP应用方面的也有了全新的认识,这将为我今后的学习和工作 打下了坚实的基础,使受益匪浅。8. 致谢本科生阶段的学习生活即将结束,值此论文撰写行将完成之际,谨向所有关心帮助过我 的人表小深深的谢意!本文的研究工作是在我的导师李斌教授的精心指导下完成的。首先我要感谢在我读书期 间李斌老师对我的关

55、心、支持和教导。从论文的选题到每一步研究工作的进展,李斌老师都 给予了我极大的关心和深刻的教诲,提出了许多宝贵建议,使得我能够顺利完成课题设计和 论文的撰写。在大家的关怀和指导下,我不仅在学术上有所收获,而且初步培养了独立研究、 分析、解决问题的能力,锻炼和积累了一定的实践能力。所有这些,都使我终生受益。本课 题的完成,和我的导师的悉心指导是分不开的。在此,我要向李斌老师表示崇高的敬意和诚 挚的谢意!最后,我还要感谢我们本小组的其他成员,我们小组是一个团结协作、积极进取、氛围 融洽的集体,我们积极协作,相互学习和鼓励,在良好的设计氛围中努力完成各项任务,这 为我课题的设计和论文的顺利完成长早了

56、重要的环境。在此衷心感谢本小组的成员,正是大 家的不断关心、支持和鼓励,才能使我顺利完成本设计。9. 参考文献1 胡国荣.数字视频压缩及其标准.北京广播学院出版社,19992 张春田,苏挺育,张静,数字图像压缩编码.清华大学出版社,20063 郭富平,周飞飞,博俊.MPEG标准视频压缩技术的应用和比较.中国电化教育,20054 傲行.基于DSP的实时视频压缩系统的开发.中国有线电视,2004(1): 55-565 詹慧静.MPEG-4编码特性剖析及应用研究.武汉理工大学学报,2005(6): 103-1066 贺贵明,蔡朝晖等.基于内容的视频编码与传输控制技术.武汉大学出版社,200510.附录

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!