数字视频编解码技术(精选8篇)
数字视频编解码技术 篇1
引言
近年来, 我国音视频产业发展迅猛, 已成为全世界音视频产品生产和销售第一大国。音视频产业已成为国民经济与社会发展的重要产业, 是电子信息产业的三大组成部分之一。未来几年, 将是中国音视频产业加快自主研发、发展核心技术, 赶超世界先进水平的重要时期。在数字音视频产业中, 视频数据的编码压缩技术是整个产业依赖的共性技术, 是音视频产业进入数字时代的关键技术, 因而成为近20年来数字电视以及整个数字视频领域国际竞争的热点。
1 数字视频编解码技术标准
1.1 MPEG标准
ISO/IEC JTC1/SC29/WG11运动图像专家组提出了MPEG系列标准, 主要有MPEG-1、MPEG-2、MPEG-4三大标准。
MPEG-1标准是用于数字存储媒体, 总比特率1.5 Mb/s以下的运动图像及其声音信号的国际编码标准。M P E G-1标准目前主要应用于V C D制作和M P 3格式 (M P E G-1的音频第三层) 。
MPEG-2标准是目前消费类电子视频设备中使用较广泛的视频编码标准。在数字存储媒体上, 应用于DVD/SVCD;在数字电视广播 (包括地面、有线和直接卫星广播) 上, SDTV和HDTV均选用MPEG-2视频标准。
M P E G-4标准是目前学术界比较关注的视频编解码标准之一。在应用上, M P E G-4企图涵盖从低码率 (视频64 kb/s) 到高码率 (50 kb/s甚至更高) 的各种应用;在技术上, 提出了面向对象编码的概念。M P E G-4的档次大致可以分为两组, 第一组包括SP (simple profile) 和ASP (advanced simple profile) , 其技术框架沿袭了传统的以宏块为单位的压缩框架;第二组包括其他的档次 (core profile、main profile等) , 其中包括面向对象的压缩技术、技术框架和传统的标准有很大的不同。2 0 0 0年左右, I T U的视频编码专家组 (V C E G) 制定的H.2 6 4标准在沿袭传统技术框架的同时压缩效率超过了M P E G-4A S P。经过协商, 两个标准化组织决定成立联合视频编码工作组J V T, 共同制定下一代视频压缩标准, 新标准在I T U系统中仍然使用H.2 6 4, 在I S O中被作为M P E G-4的第10部分。
1.2 H.26x标准
H.261标准是ITU的视频编码专家组提出的基于ISDN的视讯电话与视频会议的视频压缩标准。目前, 随着视频编码标准各方面性能的不断提高, 除了在一些视频会议系统和网络视频中为了向后兼容还支持H.261外, 用H.2 6 1的产品越来越少。
H.263标准是H.261的增强版, 在编码算法上做一些改进和完善, 提高了性能和纠错能力。H.263效能比H.261高出很多。目前还应用于视频会议系统和网络视频。
H.2 6 4标准是目前基于传统技术框架的压缩效率最高的视频编码标准, 应用前景非常广阔。
H.265是ITU-T VCEG正在规划中的视频编码标准, 其目标是更高的压缩效率, 更好的网络适应性。
2 知识产权现状
2.1 专利情况
标准在推动技术进步和相关产品发展的同时也涉及大量专利。表1是典型国际视频标准涉及的国家/地区及其专利数量。
注: (1) 数据截至2010年3月31日; (2) () 中的是目前尚在专利保护期的专利数。
从表1可见, 已有专利中美国和日本是最主要的专利技术申请国。很多国外公司利用在该领域上的技术优势, 申请了大量专利 (包括很多非核心专利) , 例如H.264/AVC标准中涉及到了日本松下公司在2 7个国家/地区申请的377项专利。在我国, 专利申请数量排在前几位的也都是国外的公司, 最多的是韩国三星、其次是松下和飞利浦。从表2中可看出随着数字音视频编解码技术的不断进步, 涉及到我国专利的数量大幅上升, 意味着中国企业要采用以上国际标准需被授权的专利越来越多。我国高校 (如清华大学) 、科研机构 (如中科院计算所) 和公司 (如华为) 加紧研究、通过集体创新, 也有不少相关的专利。
2.2 专利许可情况
很多国外跨国巨头公司利用先进的技术优势组成专利联盟, 联盟内各专利权人运用交叉许可的方式, 组建专利池统一对外进行专利许可, 使专利池成为打击不拥有专利的产品竞争者的工具, 从而达到垄断市场、牟取巨额利润的目的, 阻碍了产业发展, 损害了消费者的利益。这是全球范围内知识产权和标准领域面临的一个严峻挑战。目前在数字音视频编解码技术领域影响较大的M P E G L A维护的系列专利池 (M P E G-2、M P E G-4、H.2 6 4) 就存在这类问题。表2是国际视频标准许可费用收费模式和收费费率比较。
注:此对照表仅为参考方便, 具体条款和数额以相应组织的法律文件为准
根据MPEG LA宣布的MPEG-4、H.2 6 4/AVC的专利许可政策, 需要缴纳专利费的厂商有两种类型:编解码产品制造商和视频节目运营商。对于中国的数字音视频产业来说, 可以说是一种巨大的压力和负担。更危险的是MPEG LA的专利池远未包含标准所有的必要专利, 一些国外知名公司已经宣称将单独收费。同时, 标准将直接影响芯片、软件、整机和媒体文化产业运营整个产业链条。要培育健康的、能够良性发展的数字化音视频产业, 掌握自主知识产权、实施标准战略势在必行。
3 产业发展分析
3.1 发展状况
近年来, 我国数字音视频产业发展迅猛, 产业规模逐渐壮大, 数字化已成为了音视频产业发展的总趋势。
广播电视行业是我国音视频产业的第一大分类行业。2003年, 我国全面启动了数字有线电视的转换。截至2009年第四季度, 中国有线数字电视已达到6 348万户, 有线数字电视改造工作到2 0 0 9年第四季度已逐步的落实到位, 各地运营商在一定程度上加快了数字化进程。预计到2 0 1 1年我国有线数字电视用户将达到1.147亿, 将基本实现有线电视全数字化。
互联网电视 (IPTV) 作为“三网融合”的主要载体之一, 产业发展迅猛, 从2003年的不足两万户, 到2009年初已经超过了300万户, 上海已经成为全国首个IPTV用户超百万的城市。据统计, 国内IPTV用户数呈稳步上升趋势, 到2010年底中国IPTV用户预计将超过1 000万户。
数字音视频产业是各种新技术聚集的领域, 涉及大量关键核心技术, 我国在核心技术掌握上不足, 需要加紧研究。我国音视频产业发展不仅仅受制于相关技术, 还受到相关行业发展政策、宽带接入技术、内容服务商等的影响。今年, 国务院总理温家宝主持召开国务院常务会议, 决定加快推进电信网、广播电视网和互联网三网融合, 明确了“三网融合”的时间表, 提出了阶段性目标。同时, 具有自主知识产权视频编解码技术标准产业化进程需加速, 产业成熟度还需提高。广电部门、电信部门已在大力推动自主视频标准的应用, 促进了数字音视频产业化不断深入。
3.2 产业发展展望
我国将继续大力发展数字化广播电视网, 相关视频技术向高清、全高清发展, 音频技术趋向于环绕立体声, 实现视听内容的全部数字化。网络电视产业将蓬勃发展, 将有效运用宽带有线电视网、互联网向家庭用户提供包括数字电视在内的多种交互式服务。数字电视和网络电视市场规模巨大, 成为“三网融合”、“三电一体”的主要载体之一。
数字电影产业将加速发展, 其中3 D电影产业的兴起, 形成电影业的第三次革命。随着3 D立体显示研究不断深入, 多视点编码算法等技术的不断成熟, 3D投影技术和3D电视的研究也将快速实现产业化和商业化。
安防监控、手机电视、移动电视、视频通信等新兴产业均将成为数字音视频产业发展的重要力量, 形成巨大市场。
4 工作建议
(1) 大力促进自主知识产权标准的产业化
建议在互联网视频应用、数字电视、直播卫星、安保监控等诸多领域中, 鼓励采用自主知识产权标准, 建议国家相关部门进一步加大政策、资金和市场等方面的支持力度, 特别是针对服务提供商推出切实有力的鼓励措施 (例如采用自主知识标准给予补贴或税收优惠) 。只要服务提供商愿意采用自主标准, 自然会有更多有实力的国内外企业参与, 很快就会形成成熟的数字音视频产业链。
(2) 加强专利政策对企业的保护、鼓励作用
不论是企业还是科研院所, 如看不到核心技术能够给他们带来显著的收益, 就不会愿意在科研 (特别是基础技术研究) 方面进行投入。因此, 如何让企业和科研院所能够通过专利或者核心技术获得应有的收益, 加强专利政策对企业的保护、鼓励作用, 是政府制定政策时需要考虑的核心问题。
摘要:介绍了国外数字视频编解码技术标准现状:MPEG-1、MPEG-2、MPEG-4三大标准和H.26x标准, 分析了标准涉及的知识产权中的专利和专利许可情况, 并根据当前产业需求提出了发展建议。
关键词:数字视频编解码技术,标准,产业应用
数字视频编解码技术 篇2
打 印 版 推 荐 给 同 仁 发 送 查 询
无线应用的视频编解码器具有一些不同的功能要求,其视频编解码过程通常包括视频预处理、实际的视频编码与解码以及视频后处理三个阶段,所支持的视频标准、算法和视频结构都具有一些特殊性。本文以OMAP5910为例介绍了无线应用中的视频编码与解码功能,并图解分析了编解码器的结构组成。
无线应用中的视频编解码器需要符合第三代伙伴项目(3GPP)组织规定的多媒体电话低码率编解码器的标准,包括3G TS26.110、3G TS26.111以及3G TR26.911。本文以TI OMAP5910为例分析无线视频编解码器(编码器与解码器)的功能要求,包括为转换到编码器识别的输入格式而对采集数据的预处理,以及为转换到LCD显示屏要求格式的数据后处理。
3GPP规定的基本编解码器要求支持H.263标准,而 MPEG-4简单可视类(Simple Visual Profile)则定义为可选。已实现的视频编解码器支持以下视频格式:SQCIF(128×96)、QCIF(176×144)、简单类1级(Simple Profile Level 1)、CIF(352×288)简单类2级、码率为64kbps的简单类1级和码率为128kbps的简单类2级。
视频编解码器功能
视频编码器要求YUV4:2:0格式的视频输入,因此可能根据应用需要进行视频输入的预处理,即对YUV4:2:2隔行扫描(例如从摄像机)到YUV 4:2:0非隔行扫描转换,仅抽取但不过滤UV分。对视频解码器而言,还需要进行后处理,以将解码的YUV 4:2:0数据转换为RGB进行显示,包括:YUV 4:2:0到RGB转换;16位或12位RGB显示格式;0到90度旋转,实现横向或纵向显示。此外,视频编解码器通常还要求具有以下功能和特性:
1.支持MPEG-4简单类 0、1 与 2 级;
2.兼容H.263与 MPEG-4 编解码标准;
3.MPEG-4视频解码器支持的可选项有:AC/DC预测、可逆可变长度编码(RVLC)、再同步标志(RM)、数据分割(DP)、错误隐藏专利技术、支持每个宏块4个运动矢量(4MV)、自由运动补偿、解码VOS层;
4.MPEG-4视频编码器选项有:RVLC、RM、DP、支持每个宏块4个运动矢量(4MV)、报头扩展码、支持编码期间码率改变、支持编码期间编码帧率改变、插入或不插入可视对象序列起始码;
5.支持编码期间序列中插入I帧;
6.支持编码器自适应帧内刷新(AIR);
7.支持多编解码器,可用相同代码运行多个编解码器实例。视频结构
红绿蓝(RGB)是计算机显示的基色,OMAP5910支持的色深可编程至高达每像素16位,即
RGB565(红色5位,绿色6位,蓝色5位)。
在DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案是YCbCr,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。人的肉眼对视频的Y分量更敏感,因此在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化。主要的子采样格式有YCbCr 4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4。
4:2:0表示每4个像素有4个亮度分量,2个色度分量(YYYYCbCr),仅采样奇数扫描线,是便携式视频设备(MPEG-4)以及电视会议(H.263)最常用格式;4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),是DVD、数字电视、HDTV 以及其它消费类视频设备的最常用格式;4:4:4表示全像素点阵(YYYYCbCrCbCrCbCrCbCr),用于高质量视频应用、演播室以及专业视频产品。
在OMAP5910设计中,为显示解码视频,后处理需要计算与YCbCr对应的RGB值。后处理引擎通过以下方程式的计算得出经过伽马校正的RGB信息:
R = Y + 1.371(Cr – 128)
G = Y – 0.698(Cr – 128)– 0.336(Cb – 128)
B = Y + 1.732(Cb – 128)
详细内容请参见测试代码的技术规范(需要签订不泄密协议),该规范论述了MPEG-4编码器与解码器的预处理与后处理的具体实现。
视频编解码器
图1为一个移植到OMAP5910上的视频编码器结构简图,图中主要功能部分的作用分别为:
预处理:如果需要的话,预处理模块可将输入视频格式转换为YUV 4:2:0;
离散余弦变换(DCT):DCT变换对每个输入块进行空间变换,输出一个8x8 水平和垂直频率系数的矩阵;
量化:利用心理视觉(psychovisual)特性来消除无关紧要的DCT系数、高频系数;
逆量化(IQ):通过量化后的DCT乘以量化表计算出逆量化矩阵;
逆离散余弦变换(IDCT):IDCT还原输入块。由于量化的缘故,还原的值与原始数据之间可能会有误差;
运动估计(ME):ME使用搜索位置点较少、像素也较少的方案来生成指示运动影像方向的运动矢量;
运动补偿(MC):运动补偿块通过去除帧间的冗余从而增加压缩比;
可变长度编码(VLC):无损VLC编码通过将出现次数较多的符号用较短代码发送,出现次数较少的代码用较长代码发送,利用这样的方法来降低码率;
速率控制:通过更改量化规则控制码率,例如通过使每个DCT系数采用较少的位来降低码率;
错误隐藏:由TI开发的专利错误隐藏技术。
图2所示为视频解码器,该解码器符合MPEG-4以及H.263标准,能够进行H.263与MPEG-4码流的解码,并且自动检测报头以确定采用何种解码方法(H.263或MPEG-4),阴影部分模块为两种解码器共用部分。图2中部分的功能模块与前面叙述相同,其它功能模块的作用分别为:
1.解码器 确定码流类型(MPEG-4或H.263);
2.MPEG-4 RM 有嵌入同步标志的视频流;
3.MPEG4 DP 有数据分割的视频流;
4.H263 获得H.263码流并将其输入到适当模块中;
5.ACDC 仅适用于MPEG-4解码器,预计AC系数;
6.RVLD 仅适用于MPEG-4解码器,当码流用可逆可变长度技术编码时可实现RVLD;
7.VLD 适用于H.263与MPEG-4解码器。
作者:Thanh Tran
数字视频编解码技术 篇3
1 数字电视编码的概念
编码,是通过特定比特的二进制码来表示量化成功后的值,每一个二进制数都有它独特对应的二进制的值,按照一定次序排列后就能得到由二进制的符号组成的数字信号流。
信息发生的来源就是信源,信源就是提供信息的对象。信源是个复杂的概念,有很多对象可以成为信源,我们更多在意的是信源发出的信息内容和信息的载体或者形式。对信源进行编码的过程就是对信息数据进行压缩的过程,将信源发出的信号按照一定的次序进行排列,这样可以保障信息传输的真实性和安全性。在允许一定失真的情况下,信源输出可以以最小数量的比特来进行系统的描述成独立分布的输出形式。
将模拟信号进行数字化处理,是现代成像技术主要采用的方法,但是单一简单的数字化处理还不能满足直接进行运输和存储的条件,还需要进行各种处理后才能进行运输和存储。这些处理的方式包括信源编码和信道编码,信源编码主要是为了提高传输效率,信道编码主要是为了保障传输过程中数据信息的安全性。目前,我国采用的压缩标准是国际通用的MPEG-2 视频压缩标准和音频数码率压缩标准。
二进制数字信号是由最基础的模拟信号经过一定处理过程后才得到的量化编码,这其中不仅包含着取样的过程,还包含着量化的过程。在这种精密处理之后得到的就是脉冲编码调制信号,彩色全电视可以直接识别脉冲编码调制信号,被称作是全电视信号编码。分量编码就指的是在色差方面的编码,也就是更加针对图像元素的亮度。另外,数据压缩编码技术可以根据压缩后是否可以保持原来的模样分成有损压缩和无损压缩,有损压缩会造成图像元素的一定程度的失真,是极少部分专业人员才能感受的到的失真现象。数字电视编码器的内部框架
数字电视编码器是一种压缩编码编织器,将模拟的电视信号就行压缩并输出实时TS流(见图1),适用于很多需要实时传送或者转播的设备。
信源编解码技术主要利用了图像元素的空间相关性和时间相关性的两个特点,这项技术去除了多余复杂和重复啰嗦的信息,只保留了数量极少的部分关联性不大的数据信息进行出传输,大大节省了传输过程中所需要的带宽和频率,而接收到的这些关联性不大的数据信息被按照一定的解码算法进行,就能更高效地实现原始图像的生成并可以保障原图像的质量。
2 信源编解码技术在数字电视中的应用
信源编解码技术在数字电视中得应用主要是通过信源编码和信道编码两种重要的编码技术来实现的,这两种技术都采用了相同的技术原理,信源编码的重点在于更好地压缩图片和保存文档内容,而信道编码顾名思义,主要解决的问题是信号的传输问题。图片的信号量大且信号的传输形式比较复杂。因此,只有进行压缩,才能在数字电视中进行迅速的信号的传输。删除掉信号中多余的重复或者啰嗦内容,也就是与信息联系性差的内容。
2.1 空间上
组成一幅图片的图像元素有很多,甚至有的图片的图像元素多达十几万个,因此有图像元素就有可能有很大的相似性,这种现象多存在于两个相邻的图像元素之间。在这种情况下,图像元素在传输的时候就会有很多相同数据的传送,这就是空间上存在着的多余的重复或者啰嗦内容。采用信源编码技术,去掉数字电视图片传输中多余的重复的数据信息,就可以尽可能地加快数据的传输速率。
2.2 时间上
数字电视在时间上也会出现多余的重复现象。在很多情况下每一帧的图片信息的数据差别都很小,这一点与空间相同,尤其是相邻的图片的信息和内容基本上都是有很大共同点的,相隔越远的图片,相同点就越少,每一帧的图片都是根据前一帧图片的信息而改变的,也就是说,每一帧图片的变化都是可以估量的。
2.3 统计上
数字电视的图像和声音的信号数据中肯定是有着一定的规律的,尤其是再对其进行数字规划之后,图像元素是可以估计或者预测出来的,根据几个相邻的图像元素,信源编码技术就可以分许出未知的图像元素。根据前面所述的时间上和空间上的相关性预测,大大减小了未知信号出现错误的概率。可以主要采用信源编码技术中的统计编码的方法,加以长码和短码分别使用在概率大和概率小的误差信号上,这样一来就可以去除掉信号上的多余的重复信息。
2.4 知觉上
人类的听觉能力总还是有限的,总有着对于图像和声音感受不到或者不敏感的部分,知觉上的多余的信号是指这些人类分辨力难以达到的图像或者声音的信号,人类并不会察觉的这部分图像和声音的失真,就算是这些图像和声音消失了,也不会影响整体的感觉。
2.5 数字电视的信源解码
信源解码也是一个消去信息数据中多余重复的内容,只不过是通过压缩的形式,可以有效地实现信源码率和信道容量之间的配合,保障了数据在传输过程中的完整性。而编解码的目的就是对错误的编码进行纠错从而提高其稳定性和自卫能力。信道编码的过程是在原数据码流中加插一些码元,从而达到在接收端进行判错和纠错的目的。
2.6 数字电视的复用技术
信号及数据经过信源编码后,进入到多路复用中与数字音频信号多路复用的环节中,最后进入信道编码器进行识别。传统的模拟信号电视没有复用系统,声音和图片的信息都是进行不同道路的传送的。在数字电视中就有了新的改变,增加了复合的环节。将视频、图片和声音经过数据比特流的共同编之后,形成单路串行的比特流,最终传送给信道编码进行最后的调制。而接收端与复合环节的机理刚好相反,他将电视信号数据信号进行整合处理之后,使这些数据更容易扩展和被分级。
3 结语
数字电视信号通过信源编解码技术进行压缩并且去掉了很大一部分冗余,大大加快数据的抗干扰能力和传播速度。
摘要:信源编解码技术在数字电视中有着极其重要的作用,它将数据进行压缩,避免其冗余的增加,为信号的传输带来了更多便捷,在一定程度上防止了外界因素对数据信号的干扰。本文从数据电视编码的概念和内部框架的分析出发,重点论证信源编解码技术在数字电视中的应用。
关键词:信源编解码技术,数字电视,信号
参考文献
[1]利静荣.数字电视信源编解码技术.中国有线电视,2011(7).
数字视频编解码技术 篇4
随着计算机技术的不断发展, 现在的计算机已进入多核时代, 市场上几乎已成多核处理器的天下。然而遗憾的是, 当前绝大多数应用的软件还是基于单核模式的, 在多核平台上性能不但没有提升, 反而由于多核附带的开销造成性能下降。对于这样的问题, 由于目前还没有一个普适化的解决方法和统一的规范或标准, 短时间内要将多核处理器的性能发挥出来是很困难的。对此英特尔推出了一套将已有的单核程序改造为多核程序的工具, 即Parallel Studio。它可以在其它多核化工具支持下对串行程序中的可并行化部分进行线程的并行化重构, 提升多核处理器平台的效能。有着广泛的市场和经济价值。
英特尔并行化分析工具 (Parallel Studio) 旨在为基于Microsoft Visual Studio的C与C++程序开发各阶段提供简单、高效的Parallel Studio工具, 显著提高应用程序在英特尔多核处理器上的性能。英特尔 Parallel Studio由英特尔 Parallel Composer、英特尔 Parallel Inspector以及英特尔 Parallel Amplifier三部分组成, 每一款都具有强大的功能, 既可各自独立使用, 也可一起使用, 可快速满足开发人员的并行程序开发需求, Ampli-fier 用于程序的热点和并行化性的分析、Inspector用于线程和内存信息的分析、 Composer用于并行化程序的调试, 其中最常用的就是Amplifier, 本文下面的测试信息也主要来自于Amplifier。由于Parallel Studio可以选择集成在Visual Studio IDE中, 因此建议用Visual Studio中编译程序, 并直接用Parallel Studio进行分析。
英特尔线程构建模块 (TBB) 是一个屡获殊荣的 C++ 模板库, 它可将线程提取到任务创建可靠、可移植且可扩展的并行应用程序。 使用TBB 执行基于任务的并行应用程序, 有助于提高开发人员开发在多核平台上运行的可扩展软件的工作效率。 相比本地线程和线程封装器 (wrapper) 等其他线程化方法, TBB 是执行并行应用程序最高效的方式, 能够充分释放多核平台的性能。
为了更为直观地展现parallel studio进行并行化优化的过程, 在这里我们以h.263视频编解码算法的并行化优化为例。
2h.263串行编解码算法的分析 (测试平台:CPU: Intel E4400 1.8Ghz 内存:2G)
2.1h.263算法的瓶颈
对h.263实现的远程视频会议系统, 用英特尔并行化分析工具进行并行化分析的结果如图1所示。其中, Dct/Idct为离散余弦变换/反离散余弦变换、QuantAndFindCBP为量化并归零、CountBitsCoeff和CountBitsMB为变长编码、Dequant为反量化。从图1中CPU占用时间的百分比可以看出上面所提到的部分, 是最耗时的。
2.2h.263串行算法的CPU负载分析
用英特尔并行化分析工具进行负载分析的结果, 如图2所示。从图中可以看出, 算法的CPU平均使用率仅为1.29, 注意这里的线程数目为16而不是为1的原因是该系统为多线程, 各个线程并发的执行。
综上可得, 在串行算法中, 影响程序效率与负载的主要原因为离散余弦变换与反离散余弦变换、量化与反量化、变长编码等。
3h.263算法并行化优化
3.1 英特尔线程构建模块的实现机制
英特尔线程构建模块 (tbb) , 主要是针对大规模的数据运算并且数据的运算没有因果关系, 对于输入输出较多的程序块并行化的效果不明显。其次, tbb针对的是任务的并行化, 而不是像其他并行化工具针对数据, 因此程序员只需要向tbb提交任务, tbb便会根据系统进行并行化。
tbb是C++的一种模板库, 通过重写部分关键函数来实现。首先, 通过blocked_range<T>来定义一维的迭代空间 (能够实现并行化的空间) , 同样也有blocked_range2d、blocked_range3d来定义二维及三维的迭代空间。第二, 设置方法operator () 迭代循环体, 即设置具体并行化要执行的操作或是调用其他函数。第三, 重载parallel_for (blocked_range<T> (start, end) , grainsize) 函数来实现迭代空间上并行化, 其中start、end分别为迭代空间的起始索引, 在这里需要重点指出grainsize, 也称为粒度, 这个参数用来指定分配给处理器的迭代空间大小, 如果迭代区间的容量大于grainsize, 那么parallel_for将把这个迭代区间划分为独立调度的子区间, 因此grainsize的大小对并行化的结果有影响。虽然grainsize很重要, 但其最优值并没有一个固定值, 在这里提出一个方法来寻找一个较优的粒度值, 首先, 得到待并行的程序在单核运行时间, 然后将并行化程序的粒度初始化为10000, 然后再逐步减少粒度值并记录程序记录时间, 当并行化程序运行时间较单核最少时, 即得到了较优的粒度值。但是, 上面的方法过于繁琐, 因此可以使用默认值anto_partitioner。最后, 通过任务调度器 (scheduler_init) , 来给tbb分配任务进行并行化。
tbb实现并行化的原因在于任务密取, 例如双核CPU, 它拥有两个硬件线程 (同时有两个线程并行化执行) , 当tbb分配任务时, 它首先会将整个任务分配给一个硬件线程, 如果某时第二个硬件线程空闲, 则第二个硬件线程会“窃取”第一个tbb任务线程的一般任务进行处理, 就这样一层一层地密取, 最终使多个任务能够并行化完成。
3.2h.263算法的并行化实现
通过对tbb特点的分析, 可知tbb对大规模的数据且数据之间无因果关系部分的并行化有非常好的效果。如图1所示, 通过Parallel studio对串行程序的分析结果可知离散余弦变换/反离散余弦变换、量化和反量化、变长编码是程序的运行瓶颈, 同时通过对这部分的代码研究, 发现这些函数的数据是相互独立的, 没有前后之间的数据关联, 对于一帧图像的处理, 即把图像分解成许许多多的小块进行处理, 因此它满足大规模的数据处理且数据之间没有因果关系的条件, 因此可以采用tbb对其进行并行化优化。
并行化改造过程:通过对编解码的代码分析, 有两种并行化思路, 第一种, 对离散余弦变换/反离散余弦变换、量化和反量化、变长编码等具体的函数内部的循环等运行瓶颈部分进行改造;第二种, 通过分析一帧图像的编解码过程, 对函数调用过程进行并行化, 即对一帧图像的各个小块进行离散余弦变换/反离散余弦变换、量化和反量化、变长编码的并行处理。对于第一种方法而言, 虽然对于单个的函数内部而言, 其并行化的效果非常明显, 但由于各个函数的调用次数会非常的多, 因此串并行系统环境的转换的时间开销将大大超过并行化程序效率提高的时间, 因此采用这样的方法, 将会使得程序的效率反而大大降低, 并没有达到并行化的效果。而第二种方法, 程序并行化并不拘泥对某个函数的并行化, 而是对一帧图像的各个小块的处理进行并行化, 即对一帧函数处理过程中的函数调用过程进行并行化, 这样使得并行化的模块数相对第一种方法更少, 使得串并行系统环境的转换的时间较少, 再通过程序的并行执行, 这样使得并行化的效率提升大于串并行转换的时间, 最终使得程序的效率大大提高, 其代码如图3、图4所示。
在这里的operator () 是并行化的核心, 它是包含在class类parallelCodeIntra
H263中的一个方法, 完成的是对单个迭代空间任务的定义, 该空间完全与串行程序相同, 为了保证并行化程序的结果与串行程序完全一样。如代码所示, 对于单个的迭代空间, 其调用的函数大体为离散余弦变换/反离散余弦变换、量化和反量化、变长编码, 与串行程序的处理顺序一样, 因此使得一帧图像的各个小块的处理过程与串行程序完全一样。而parallel_for完成的是在迭代空间上的并行化执行, 即将一帧采集的图像, 按照粒度的大小分为各个小块, 然后对各个小块并行化的按照operator () 所定义的操作进行并行化的处理, 使得各个小块的处理是并行化执行的。从程序代码中可以看到程序首先定义了一个parallelCodeIntraH263对象, 然后初始化对象参数, 最后, 通过函数parallel_for (blocked_range<int> (start, end, 1000) , test) 并行化执行, 其中blocked_range<int>用于确定整数类型的迭代区间, start与end来表示区间的上下界, 1000为粒度, 即最小的迭代空间大小, test为parallelCodeIntraH263对象, 表示各个迭代空间上的操作。
另外该视频会议的其他部分, 如初始化设置、通信传输等部分也有类似部分, 其方法相似在这里就不做讨论。
4h.263算法并行化后性能分析
4.1 并行化程序各部分的运行情况及负载
为了更为直观的展示h.263并行优化后的结果, 在这里我们通过优化后的程序运行不同的时间得到的结果, 以及与传统串行程序的对比得出有关结论。如图5、6所示, 程序并行化后的运行结果, 在第三项的直方图CPU使用率中, 可以看出并行化的离散余弦变换/反离散余弦变换、量化/反量化、变长编码的CPU的使用均为Over (由于无法给出彩图, 所以不易观察出来, 请见谅) , 表示CPU在执行这部分时, 是非常充分的利用CPU的硬件线程的。通过图6, 可以看到CPU的平均使用率已经达到了1.60, 相比于前面提到的串行程序的1.29, 其提高了约24%;所开的线程数为267, 而串行程序仅有16, 其相差了16.5倍。
4.2 并行化程序性能的高级分析
我们分别对并行化后的程序, 运行10s、30s、60s, 分析程序运行时间对并行化优化的影响程度。在这里我们对CPU的平均使用率及线程的创建数进行统计, 如图7、图8所示。从图7可以看出随着程序运行时间的增加, 即程序处理的数据规模越来越庞大, CPU的使用率却反而越来越逼近2 (双核CPU的最优值) , 这就再一次说明了tbb对于大规模数据处理的并行化是非常有效的, 另外, 从图8可以看出, 随着问题规模的不断变大, tbb也相应的开启了更多的线程来实现并行化, 可以看出tbb对程序的优化是实时性的, 这样就使得程序员不在关注于每个线程开启和释放, 只需要关注分配给tbb的任务。
通过对程序进行并行化改造后, 程序会把每一帧图像, 分成若干迭代空间, 然后对各个迭代空间开不同的线程进行运算, 因此对于编解码算法而言, 对于一帧图像而言, 通过parallel_for () 将一帧图像的数据, 按照粒度大小分解成独立的迭代空间, 而对于每一个迭代空间, 都会开启一个线程来完成对迭代空间的运算。对于硬件而言, 系统会根据硬件线程 (等于CPU核心数) 动态来密取任务, 即当硬件线程一旦出现空闲时, 它就会密取其他硬件线程的任务, 并在当前空闲硬件线程开启新的线程来执行任务, 就通过这样使得各个硬件线程一直处于忙碌状态, 再加上迭代空间的并行化执行, 因此这个过程中产生的线程数目会非常的多, 同时也使得程序效率大大提高。而串行程序的线程这所以为16, 这是由于测试环境为双核系统, 因此操作系统来执行程序时, 采用了多线程的方式并发的执行。采用tbb进行程序的并行化, 不仅能够把规模较大的问题分解成为能够并行执行的迭代空间进行并行运算, 而且通过硬件线程的不断密取任务, 使得CPU负载尽可能均衡, 使得并行化程度更高, 程序效率的提升更明显。
摘要:随着计算机技术的不断发展, 人们对多媒体技术的实时性有了更高的要求, 特别是视频编解码的时间效率。另外, 随着多核CPU及相关技术的不断普及, 使得原有非并行化程序的性能的不足显现了出来, 因此对传统程序的并行化迫在眉睫。本文以目前较流行的视频编解码算法h.263为例, 通过一个具体的视频会议系统, 分析传统串行编解码算法的性能, 通过英特尔Parallel studio并行化分析工具, 找到算法的运行瓶颈, 然后用英特尔线程构建模块对编解码算法进行并行化优化, 取得了良好的效果。
关键词:并行化,英特尔线程构建模块,英特尔并行化分析工具
参考文献
[1]James Reinders, Alexander Stepanov.Intel Threading Buiding Blocks编程指南.北京:机械工业出版社, 2009-01.100-156
[2]侯俊杰.深入浅出MFC第二版.武汉:华中科技大学出版社, 2001-01.120-160
[3]Jeff Prosise.MFC Windows程序设计.北京:清华大学出版社, 2007-05.200-240
[4]Rachard Gerber, Kevin B.Smith, Aart J.C.Bik, Xinmin Tian软件优化技术.北京:电子工业出版社, 2007-04.5-45
基于压缩感知理论的视频编解码器 篇5
关键词:压缩感知,视频编码,编码器,解码器
1 引言
现有的视频压缩编码标准是基于传统的香农采样定理。在该定理要求下,信号的采样率必须大于信号带宽的2倍,才能实现信号的准确重构。因此,要实现视频图像的准确重构所需要的样本数较多。此外,视频编码过程中,图像变换后大部分的系数被舍弃,造成了数据和系统资源的浪费。近年来出现的压缩感知(Compressive Sensing,CS)理论指出,在已知信号具有稀疏性或可压缩性的前提下,用于重构的样本数可以远远低于传统的香农采样定理下的样本数[1,2,3,4]。由于视频图像通常在某些变换域上具有可压缩性,而且视频残差图像具有较强的稀疏性,所以CS理论在视频编码中有着良好的应用前景[5,6,7,8]。
2 压缩感知理论和传统的编解码核心技术
2.1 压缩感知理论
压缩感知理论下,信号若具有稀疏性或可压缩性,则可通过少量的测量样本进行重构。假定实的离散信号x[n],n=1,2,…,N,在N×N的稀疏基Ψ=[ψ1,ψ2,…,ψN]下具有稀疏性,即
式中:系数α仅有K垲N个元素非零,其余N-K个元素为零或接近于零。
在上述稀疏条件的假设下,对该信号进行采样或测量,设测量矩阵用M×N(K
将式(1)代入式(2)可得,
由于M垲N,所以方程组是欠定方程组,从测量样本y重构信号x的过程是病态的,但是如果测量矩阵Φ和稀疏矩阵Ψ能满足RIP[1,2,3,4]或者两者非相关时,则可实现精确的重构。一种常用的算法是基于l1极小范数求解系数α
再将稀疏系数α代入式(1)即可重构原信号。
2.2 视频编解码核心技术
传统的视频编解码器是基于宏块操作的,编码模式包括帧内模式和帧间模式。下面以H.264为例,简单分析传统视频编解码的核心技术[9]。
H.264的编码器如图1所示。在帧内模式下,当前宏块的像素的预测是基于对帧内已经编码并解码重构后的宏块进行的。将当前宏块与参考宏块求残差后进行变换,再将得到的系数中少数重要部分保留,并对其幅度和位置进行量化、熵编码。在帧间模式下,当前宏块的预测块是基于对参考帧进行运动估计和补偿得到,再将当前帧和预测帧的宏块求残差,最后对残差进行量化、熵编码,得到编码码流用于传输或存储。由于编码器中需要参考帧,所以编码器内包含了部分解码器。
H.264的解码器如图2所示,整个解码的过程是编码的逆过程。接收的码流先经过熵解码、逆量化、逆变换得到残差图像,再加上根据帧内编码或帧间编码的参数得到的预测图像即为重构的图像。
从上述过程看,传统的编码过程复杂,解码简单,对编码端的要求更为严格。编码过程中,图像变换后的系数大部分被抛弃,造成数据和内存资源的浪费。
3 基于压缩感知理论的编解码器
结合上节中的压缩感知理论和传统的视频编解码核心技术,本节将设计一种基于压缩感知理论的视频编解码器。
3.1 基于压缩感知理论的编码器
基于压缩感知理论的编码原理如图3所示。编码前,先将视频序列分成图像组。编码时,如果当前帧采用帧内编码(记为I帧),则它的编码方法是直接对该帧进行预处理和编码测量,其中,预处理过程是个可选的步骤;如果当前帧采用帧间编码(记为P帧),编码方法是用前面解码重构帧作为参考帧,并与当前帧求残差,再对残差进行预处理和编码测量。由于残差图像的稀疏性更强,所需的测量样本数可以更少。两种模式下得到的编码测量值再经量化、熵编码便可得到编码码流。和传统的视频编码器一样,编码器内有个局部的解码器,目的是得到用于帧间编码的参考帧。
和传统的视频编码器相比,存在以下几个不同点:1)传统方式下是以块作为处理单元的,而基于压缩感知理论的编码器是对整幅图像进行处理的;2)传统方式下所需的图像样本数远远大于压缩感知理论下的情况;3)基于压缩感知编码中的测量过程是将高维信号投影到低维空间的一个非自适应过程,事实上,它可对应于传统方式下的采样和变换过程,由于得到的每个测量值包含了传统方式下的所有样本的部分信息,所以它能避免传统方式下因丢弃高频分量而带来图像细节丢失的现象;4)传统方式下的帧间编码需进行运动估计和补偿,而基于压缩感知的帧间编码不需这些过程,有利于降低运算的复杂度。
3.2 基于压缩感知理论的解码器
基于压缩感知理论的解码原理如图4所示。解码时,接收的码流先进行熵解码、反量化后,用求欠定线性方程组解的方法(即求解表达式(3))进行重构,接着进行后处理。得到的如果是I帧图像,则该图像即是重构图像;如果是P帧,则该图像是残差图像,此时需要将帧存储内保存的参考图像与残差图像通过加法器相加,进一步得到重构图像。两种模式下的重构图像需送入帧存储,作为后面帧的参考帧。
基于压缩感知理论的解码器与传统解码器的主要区别在于,传统解码过程是编码的逆过程,解码器相对简单,编码器较为复杂,而基于压缩感知理论的解码不再是编码的逆过程,而是一个求欠定线性方程组解的过程,相对于编码器来说,解码器较为复杂。这种情况有利于环境恶劣或条件较为严格时的编码测量。
总之,基于压缩感知理论的视频编解码器结构比传统的更简单,且编码达到的压缩比和解码重构图像的质量都较高。
4 实验结果及分析
为了验证基于CS理论的视频编码器的有效性,对两组视频序列进行处理,考虑不同I帧采样数N与P帧采样数N1组合下的视频重构质量。编码测量过程中的稀疏基采用Daubechies 9/7小波基,测量矩阵选用32×32的随机扰动分块Hadamard矩阵[10]。重构算法采用GPSR算法[11]。由于量化(反量化)和熵编码(熵解码)技术在传统的视频编解码技术中非常成熟,所以实验中没有加以考虑。
对第一组尺寸为176×144像素的“carphone”视频序列进行处理时,连续的12帧被分成3组,每组4帧。每组的第一帧进行I帧编码,而组内的其余帧采用P帧编码方式,参考帧选用当前帧的前面已解码重构的帧。当I帧的测量样本数N由10 000增至25 000,P帧的测量样本数N1由1 000增至25 000时,重构视频图像的平均PSNR随N和N1的变化如图5所示。实验结果表明,当I帧测量样本数N较大时,重构的视频图像的平均PSNR较高,此时,即使P帧测量样本数N1增加很大,平均PSNR的改善很小。原因是帧间编码的残差图像的稀疏性很强,在压缩感知理论下,很少的测量值已经足够得到一定质量的重构图像。但是,如果当I帧测量样本数N较小,即使P帧的测量样本数N1很高,重构的视频图像的平均PSNR仍是很低,这是由于I帧的重构误差扩散所造成的。
图6a为视频源序列中的第7帧图像。当N为10 000且N1为100时,整个视频的压缩率为9.8,平均PSNR为26.26 dB。当N仍为10 000而N1为10 000时,视频压缩率为2.5,平均PSNR为26.88 dB。在这两种情况下,第7帧图像的重构情况分别如图6b,6c所示。当N变为25 000,N1为100时,视频压缩率变为4,平均PSNR为32.48 dB;N不变,N1改为10 000时,视频压缩率为1.8,平均PSNR为33.83 dB。这两种情况下的第7帧图像重构情况分别如图6e,6f所示。由此可见,测量样本数和视频的平均PSNR之间可以根据实际需要进行合理的折中,以达到合理的压缩率和重构质量的平衡。例如设置N为15 000,N1为100,视频压缩率可以达到6.6,而平均PSNR接近30 dB。此时,第7帧重构如图6d所示。
第二组实验中,连续的80帧视频序列“salesman”被分成8组,每组10帧。每组的第一帧进行I帧编码,组内的其余帧采用P帧编码方式,参考帧选用当前帧的前面已解码重构的帧。当I帧的采样数N从10 000到65 000进行变化,对每种I帧的情况,P帧的采样数N1从5 000到65 000变化。各种情况下,重构视频图像的平均PSNR随N和N1的变化如图7所示。
图8a为视频源序列中的第31帧图像。当N为10 000且N1为1 000时,视频压缩率为34.5,平均PSNR为19.6 dB。当N仍为10 000而N1为10 000时,视频压缩率降为6.6,平均PSNR为19.81 dB。在这两种情况下,第31帧的重构情况分别如图8b,8c所示。当N变为60 000,N1为1 000时,视频压缩率为9.5,平均PSNR为27.65 dB;N不变,N1改为10 000时,视频压缩率为4.4,平均PSNR为28.77 dB。这两种情况下的第31帧重构情况分别如图8e,8f所示。若考虑测量样本数和重构质量之间的平衡,设置N为30 000,N1为1 000,那么压缩率可以达到16.8,而平均PSNR能够高于24 dB。此时,重构的图像如图8d所示。
5 小结
结合压缩感知理论和传统的视频编解码技术,笔者提出了一种结构较为简单的基于压缩感知理论的视频编解码器。该编解码器充分利用了视频图像的相邻帧间的残差具有较强的稀疏性的特点,在样本数很少的情况下,仍取得了较高的压缩比和较好的图像重构效果。实验验证时采用的是对视频图像固定分组形式,若采用根据图像稀疏度变化情况自适应地分组形式,效果将会更好。
参考文献
[1]CANDES E,ROMBERG J,TAO T.Robust uncertainty principles:Exact signal reconstruction from highly incomplete frequency information[J].IEEE Trans.Inform.Theory,2006,52(2):489-509.
[2]DONOHO D.Compressed sensing[J].IEEE Trans.Inform.Theory,2006,52(4):1289-1306.
[3]BARANIUK R G.Compressive sensing[J].IEEE Signal ProcessingMagazine,2007,24(7):118-121.
[4]喻玲娟,谢晓春.压缩感知理论简介[J].电视技术,2008,32(12):16-18.
[5]DUARTE M,DAVENPORT M,TAKHAR D,et al.Single-pixel imaging via compressive sampling[J].IEEE Signal Processing Magazine,2008,25(2):83-91.
[6]STANKOVIC V,STANKOVIC L,CHENG S.Compressive video sampling[C/OL]//Proceedings of the European Signal Processing Conf.,Lausanne,Switzerland,2008[2009-11-02].http://www.eurasip.org/Proceedings/Eusipco/Eusipco2008/papers/1569099804.pdf.
[7]MARCIA R,WILLETT R.Compressive coded aperture video reconstruction[C/OL]//Proceedings of the European Signal Processing Conf.,Lausanne,Switzerland,2008[2009-11-02].http://www.ee.duke.edu/~willett/papers/MarciaEUSIPCO2008.pdf.
[8]PARK J Y,WAKIN M B.A multiscale framework for compressive sensing of video[C/OL]//Proceedings of Picture Coding Symposium,Chicago,Illinois,2009[2009-11-12].http://inside.mines.edu/~mwakin/papers/jyp-mbw-videocs-pcs2009.pdf.
[9]WIEGAND T,SULLIVAN G J,BJONTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circ.Syst.Video Technol.,2003,13(7):560-576.
[10]GAN L,DO T T,TRAN T D.Fast compressive imaging using scrambled block Hadamard ensemble[C/OL]//Proceedings of the European Signal Processing Conf.,Lausanne,Switzerland,2008[200911-11].http://www.eurasip.org/Proceedings/Eusipco/Eusipco2008/papers/1569104824.pdf.
数字视频编解码技术 篇6
基于互联网的数字视频产业前景看好,而3G的规模部署,也会推动移动视频通信成为现实。但数字化后的视频图像具有数据海量性,给图像的存储和传输造成较大的困难。数字视频压缩编码技术是解决这一问题的关键技术[1]。H.264 以其良好的网络适应性和高编码压缩效率,灵活的语法配置,在视频处理领域比以往的视频编码标准更加适合视频处理的发展方向,更加适合不同应用环境的对象。H.264充分考虑了多媒体通信对视频编解码的各种要求,有着多个技术闪光点,在保留运动补偿和变换编码技术的基础上,加入了诸如类离散余弦整数变换(DCT)[2]、基于内容的自适应可变长编码(CAVLC)、基于上下文的自适应二进制算术编码(CABAC),以及高精度、多模式的运动估计等新技术,进一步提高了编码算法的压缩效率和图像回放质量[3]。在肉眼主观感受相同的情况下,H.264 较之H.263的编码效率提高了50%左右[4,5]。
利用高性能数字信号处理器(DSP)来实现 H.264 实时编码器是一种快速有效的方法,有助于 H.264 视频标准的迅速推广和应用,也指明了视频图像压缩领域最新的研究方向。
1 H.264编码的关键技术
1.1 基于灵活分割宏块(MB)的运动矢量估计和补偿以及增加变换的压缩效果
H.264根据宏块的编码特性采用亮度块直流变换,色度块直流变换与普通差值变换相结合的方法。在运动估计时,H.264信源编码采用基于4×4块的整数变换[6],可以灵活地选择块的大小[7,8]。而其他标准处理的像素块大小均为16×16或者8×8。H.264以可变大小的块来适应不同应用环境和要求,采用16×16,16 ×8,8×16,8×8四种模式;当划分为8×8模式时,又可进一步采用8×4,4×8,4×4三种子宏块划分模式进一步划分,如图1所示。根据需要由不同尺寸的宏块来执行,采用整数变换既可以使运动物体的划分更加精确,不可以减小运动物体边缘的衔接误差,处理好需要更多运动细节的场合,即以引入更小运动补偿块可以提高一般和特殊情况下的预测质量,它可以提高主观视觉效果,同时又减小了变换过程中的计算量。实验表明,应用7种不同大小和形状的块可以比单一利用16×16块进行的编码提高15%以上的压缩率[9]。
1.2 支持1/4像素或1/8像素精度的运动估值
运动估计与补偿算法是目前视频压缩技术中最为关键的部分,影响着编码的速度、质量和码率,其编码的复杂度也是整个编码系统中最高的。
在H.264中通过6阶FIR滤波器的内插获得1/2像素位置的预测值。当获得1/2像素值后,通过取整数像素位置和1/2像素位置像素值均值的方式获得1/4像素位置的值。在高码率情况下,提供1/8像素精度的运动估计。采用高精度运动估计会进一步减小帧间预测误差,减少经变换和量化后的非0比特数,提高了编码效率。利用1/4像素空间精度可以比原有的一个像素精度(整数精度)预测提高20%的编码效率[9]。
1.3 多参考帧预测
参考帧是帧间预测编码,也就是运动补偿的基础,根据它与待预测帧之间的位置关系,可分为前向参考帧和后向参考帧。
以往的编解码技术在对P帧图像进行帧间预测时,只允许以参考前一帧图像进行编码,即以前一个I图像或P图像为参考帧,在对B图像进行预测时,只允许参考前后帧图像进行编码,即以前后两个I图像或P图像为参考图像。H.264则打破了这些限制,允许在从当前帧的前几帧中选择一帧作为参考帧图像,对宏块进行运动预测,当选用多参考帧模式时,编码器从几个参考帧中选择一个效果最好的参考帧,达到最佳的预测效果,参考帧图像甚至可以是采用双向预测编码方式的图像,大幅度降低了预测误差。另外,帧间编码部分还引入了SP帧,用于有效地实现编码率环境下的切换,可用于随机、快速播放过程,比单参考帧的方法节省5%~10%的传码率[10],并且有利于比特流的错误恢复、解码恢复更高图像质量。因此,多参考帧预测对周期性运动和背景切换能够提供更好的预测效果。
1.4 消除块效应适应性滤波器
基于分块处理的变换编码算法,忽略了物体边缘的连续性,在低码率情况下,容易出现方块效应。为消除在预测和变换过程中引入的块效应,H.264对此采用了消除块效应适应性滤波器,对宏块边缘进行平滑,有效改进图像的主观质量[11]。但与以往标准不同的是,H.264的消除块效应滤波器位于运动估计循环内部,可以利用消除块效应以后的图像去预测其他图像的运动,即滤波后宏块用于运动估计,以产生更小的帧差进行编码,进一步提高预测精度。
1.5 增强的熵编码
以往标准的熵编码采用变长的哈夫曼编码,码表统一,不能适应变换多端的视频内容,影响编码效率。根据视频内容的不同,H.264利用较短的码字来代表出现高频率的符号,可进一步去除码流中的冗余,提供两种熵编码,即上下文自适应二进制算术编码(CABAC)和基于内容的自适应可变长编码(CAVLC),CABAC的编码效率更高,也更复杂,在相同图像质量下,使用CABAC编码电视信号可降低10%左右(10%~15%)的码率,后者具有较强抗误码能力。
2 H.264的视频编解码的DSP平台实现
在数字图像处理中,要完成大量的数字信号处理工作,特别是对于H.264这样的新一代视频压缩编码标准。就其Baseline而言,其解码复杂度是同等情况下H.263的2倍,而编码复杂度更是H.263的3倍,解决这种高运算量问题,很大程度上依赖于高速DSP技术,而且采用半导体制造工艺生产的DSP处理器可以有更低的功耗。因此为图像的实时压缩处理搭建了一个合理的DSP硬件平台。
TI公司生产的DM64X系列芯片具有超高主频、很强的并行处理能力和信号处理功能,是实现H.264编解码的理想平台。
TI公司生产的642系列是一款专门面向多媒体应用的专用DSP,该DSP时钟频率高达600 MHz,8个并行运算单元,处理能力达4 800 MIPS。它是在C64X的基础上,增加了很多外围设备和接口。可见,DM642是一个强大的多媒体处理器,是构成多媒体通信系统的良好平台。它丰富的外围接口使得它近乎是一个多媒体嵌入式系统的单芯片硬件平台;它的完全可编程性,又使它能够兼容正在发展的各种多媒体信号处理标准,构成通用的软件平台。
该系统主要是为了对模拟视频图像(PAL制式)进行采集,之后对其进行压缩,然后把压缩后的数据通过扩频的方式发送到接收端,在接收端接收码流后由DSP进行解压缩,之后再由DSP负责图像的显示,存储等。所以总体设计方案必须包括视频的输入/输出、网络等接口。设计图如图2所示。
在发送端,视频输出由视频A/D芯片先转换为数字视频信号,然后输入到DM642的视频端口2,由DM642进行图像采集,并把图像数据送入SDRAM中,同时DM642对视频图像进行实时压缩,并把压缩后的数据通过McBSP发送到信道编码部分,完成发送端的工作。在接收端,接收由信道译码部分送来的压缩图像数据,然后由DM642完成图像的实时解压,并把解压后的数据送到SDRAM中,然后把解压后的图像数据送入视频端口0,再由视频端口0把数据送入视频D/A,完成视频的实时显示。图2中音频/视频接口作为扩展,10/100 Mb/s的以太网卡以及USB控制器外设主要是为了方便接收端直接把数字视频信号传送到计算机或者终端各处,供电及复位电路完成对电路板的供电及复位功能。
3 H.264的视频编解码的DSP优化
将H.264编码器移植到DM642图像处理平台上,由于H.264的核心算法不仅在代码结构上需要改进,而且在具体的核心算法上也需要做较大的改动,因此整个系统的编码速度非常令人不满意,达不到实时应用的要求,因此需要从各个方面对该系统进行优化,将编码的时间减少下去。首先去除了编码器中的冗余代码,然后优化工作分三步:在PC机上实现H.264算法并进行优化;PC机H.264代码的DSP化,可以在DSP上实现H.264的编解码算法,但是,这样实现的算法运行效率很低,因为所有的代码都是由C语言编写,并没有完全利用DSP的各种性能,所以必须结合DSP本身的特点,对其进一步优化,才能实现H.264视频解码器算法对视频图像的实时处理,即要H.264的DSP算法优化。对于DSP代码的优化共分为三个层次: 项目级优化、C程序级优化、汇编程序级优化。
4 结 语
数字视频编解码技术 篇7
随着通信技术的不断发展,在通信网络中传输视频业务变得越来越重要。而众所周知,视频业务的特点是本身具备很大的数据量,从而在传输过程中需要很大的带宽。与此同时,由于视频业务本身具有相当大的冗余性,人们设计出各种各样的压缩办法,在视频传输之前进行大规模的压缩,现有的方法是采用MPEG系列或者H26x系列压缩方案,将视频的序列采用预测编码和变换编码的方法进行压缩,然后将其进行信道编码而发送。这类方法在现有一些传输条件较好的网络中取得了巨大的成功。
但是这种类似MPEG和H26x方案在无线网络中传输效果并不好,究其原因,根本上是因为无线信道本身的高误码率以及误码的随机性,带宽有限等特点决定了上述编码方案并不符合无线信道本身的特性,具体来说可以分为以下两个方面:首先预测编码和变换编码的方案使得编码出来的视频帧之间具有很大的依赖性,具体来说就是假设有一关键帧在传输过程中丢失,那么后续以前一帧为参考的帧都无法正确解码,这样的话会造成严重的乱码效应。其次,在视频编码的过程中,编码出来的数据它们代表的意义是不一样的,也就是有一部分数据的重要性要比另一部分高很多,例如运动矢量数据就比纹理数据要重要很多,当在无线信道上随机丢包的环境下,如果恰好丢的是运动矢量数据,那么在恢复的时候就很难恢复出可以辨别的一帧图像出来。而当丢失的是纹理数据时,可以通过一定的算法来弥补这种丢失带来的影响。
随着人们对于视频在无线信道上传输问题的研究不断深入,各种各样的方法也被不断的提出,其中比较典型的有以下几种:一种是编码端的改进方案,表现为在视频编码的过程中加入固定的刷新帧,以及将编码出来的码流再进行多描述编码等方案。还有一种方案是解码段的差错掩盖技术,它试图利用压缩后视频数据之间的相关性来进行高难度的恢复。
从上述方案可以看出,这些方案能从某种程度上改善一些视频传输的效果,但是它们并不能从源头上解决了视频在无线环境中传输所存在的硬伤,即由于视频本身所采用压缩方案的限制。这促使我们从源头上来寻找针对于视频在无线环境中所需的编解码方法。
压缩感知是近几年信号处理理论的重大突破,它打破了传统的奈奎斯特采样定理对于采样点数目的限制,采用一种数学投影的方法对信号进行整体的测量,从而能够达到以较少的采样值来进行原始信号的恢复的效果,目前这一理论已经大量用于信号处理与通信的实践中,对于视频信号,由于其本身的特点,本文将压缩感知的方法融入进现有的视频编码框架。
1 压缩感知与视频编解码模型
1.1 压缩感知介绍
压缩感知[1,2]是一种能够以低于奈奎斯特速率对信号进行采样且能保证其正确恢复的理论。但这个理论的前提是信号在某个域里面必须是稀疏的,也就是说它具备可压缩的特性。
假设有这样一个信号x以及它的成员x[n],n=1,2…N,它可以被看作是N×1列的一个向量,假设x在某一域里有一个基础的基:ψ=[ψ1|ψ2|…ψn],则x可以表示为:
undefined
其中,α是一个N×1的权重系数,其中有K个α向量系数不为零,而N—K个为零或者非常小,那么就说x在ψ域是可压缩的或者是稀疏的。
在这种稀疏域的条件下,对x信号进行测量,通过与一个M×N的测量矩阵ϕ相乘,采样出来的测量值是一个M×1的y向量,它是由y=ϕx算出来的,将上面的(1)代进去,于是Y可以被写成y=ϕψα,其中ϕ是一个M×N的矩阵。
y=ϕx=ϕψα=ϕα (2)
因为M≤N,所以式(2)表面上看起来上述方程是个病态方程,但是当ϕ和ψ能够满足不相关的性质的时候,是有可能对上述信号进行精确的恢复的。而确实存在着一些通用的测量矩阵,比如高斯矩阵,博努力矩阵等,它们与其他任何矩阵都满足不相关的特性。所以恢复原始信号等价于解决一下一个最优化问题:
undefined
通常求解上述问题有OMP,GPSR[5]算法等等。
1.2 视频编码模型
对于一帧YUV视频数据来说,只取它的Y分量所构成的部分进行处理,为了满足CS理论的要求,将视频数据变换进小波域,以增加它的稀疏程度。对于帧内编码而言,对其整体进行压缩感知处理,利用SRM方法[3,4](结构化随机投影),对一帧视频,首先将其一维化,然后将其进行随机置乱,随后将其整形为N×1的一维矢量,然后根据需要,将其必要的整形,从而进行测量,最近再随机抽取其中的M个采样值即可。具体在本文的模型中,可以表示为如下公式:
y=H32x (4)
其中,y表示测量后所得到的相关数据,而x表示相应的原始数据。
对于帧间编码[6,7],必须采用相应的办法降低冗余度,现有的运用的最普遍方法是运动估计与运动补偿,对于每一次当前即将要编码的帧,都对于前一帧进行运动估计和补偿,然后将当前帧与补偿所得到的帧进行相减,得到相应的残差,在这个残差矩阵里面,一定会存在相应数量的零值,这正好满足了的压缩感知的先决条件,为了取得更好的恢复效果, 本文对残差矩阵再次进行小波域的变换,进一步增加其稀疏程度,将变换后的数据进行压缩感知后会得到一系列无结构的数据。接着进行相应的均匀量化和等长二进制编码。编码器的结构如图1所示。
1.3 视频解码模型
如果在解码端能够正确收到相应的比特,由于是均匀量化和编码的,所以对收到的数据首先进行一定的预处理,比如说是识别相应的每一帧的起始位置以及识别相应的运动信息和纹理信息等等工作,然后进行相应的反比特解码和反量化,最后针对是I帧还是P帧,做相应的处理。本文使用GPSR算法进行反复迭代运算,对于I帧,解码则为相应的原始图像,对于前向P帧,得到的仅仅还是残差,于是本文运用运动信息结合前一帧的图像进行补偿,最后与残差帧做相应的运算,解码器的结构如图2所示。
1.4 帧内与帧间采样率
与现有的编码方式一样,仍然沿用帧内帧间的编码思路,而且同样采用运动估计与运动补偿的方案进行残差的获取,对于I帧,由于其本身的稀疏度有限,并且其对于P帧的参考作用,将其采样率相对于P帧来说取高一些,而对于P帧,考虑其稀疏度较大的特点,本文为了提高压缩率,将其采样率降低一些。
2 无线信道上视频传输
视频序列经过压缩感知编码处理后,形成的是一些无结构的数据,并且这些数据之间不存在相关性特点。在无线信道上进行信息的传递存在着随机性的误码特点[8,9],会遇到偶然性的比特反转,也有可能会碰到一串联的联系比特错误。对于视频数据的传输,如果采用现有的MPEG与H26X系列的编码方案,由于编码出来的数据有运动信息和纹理信息,而纹理信息里面又分低频和高频的部分,对于这些不同类型的数据而言,它们对于视频解码端的重要性的贡献是不一样的,这样不同重要性的数据在无线的随机信道上传输产生的误码后产生的效果是不可预知的。
当采用压缩感知的方法进行视频的压缩以后,对于纹理信息来说得到的是一组无结构无相应物理对应关系的数据,收到一帧图像解码后的质量仅仅取决于收到数据量的多少。也就是说,数据之间的重要性是完全平等的。任意相同数量的数据的丢失对于整个一帧视频来说是平均的分担到整个一帧视频上去的。
3 实验仿真数据
3.1 视频编解码实验
首先固定帧内抽样率为0.4帧间抽样率为0.2,对5种不同类型的视频序列进行编码和恢复,这5类视频序列分别为352×288的cif格式“akiyo”,“susan”,“forman”,“mobile”,“football”,它们从纹理和运动来说都是从简单到复杂依次递增的。本文使用的稀疏算子是daubechies9/7小波,测量算子是32×32的哈达吗矩阵。在重建算法的选择上使用的是GPSR算法。至于后续的均匀量化和等长编码是线性的,在此不做考虑。在每次实验中,选取的GOP为一组7帧视频,而在帧间编码的过程中,每次待编码的帧都选取它前一恢复出来的帧作为参考。
从图3可以看出,对于纹理信息相对简单的帧来说,在相同采样率的情况下,它们恢复出来的图像质量较高。而对于运动信息来说,如果视频序列运动越剧烈,那相同条件下恢复的效果越差。另外从图像质量下降的程度看,这种编码方式存在一定的误差累积效应,如果前一帧恢复的质量不佳,那势必会对后一帧的运动估计与运动补偿产生很大影响。所以从这一点可以看出,对于参考帧而言,其采用压缩感知的重建方案与运动估计与补偿并不是最佳的组合方案。
图4的实验中,采用 carphone作为测试序列,主要进行采样点的数量对于视频序列的恢复质量影响的测试,对于I帧的编码测量数分别取值N=10000,15000,20000,25000。并分别对于某一固定的N值分别改变P帧N1的采样数N1=1000,5000,10000,15000,20000,25000。实验结果证明,在同一视频序列中,关键的I帧编码的质量好坏对于整个视频的恢复具有举足轻重的作用。而编码质量又与采样点数的多少基本一一对应。同时对于固定的I帧编码质量,P帧的采样点数的多少对于视频帧间也具备一一对应的关系,但是其影响程度远远小于I 帧的采样情况。
3.2 无线视频传输实验
在图5中,将352×288的forman视频序列一共10帧进行编码,其GOP长度为5,I帧的抽样率为0.5,P帧参差的抽样率为0.3,将顺序经过均匀量化和等长编码,最后将其放置到误码率不同的无线信道上进行传输,同时视频序列运用MPEG2的编码器进行类似的编码及传输,得到了一系列视频恢复的数据如图5所示。
从图5中可以看出,在误码率很低的情况下,现有的编码方式的解码效果甚至比CS编解码要好,这是因为MPEG2编解码中,运动估计与运动补偿和后续的DCT编码以及哈夫曼编码等对于没有经过损伤的视频数据来说确实具有非常好的解码效果,而CS编解码器因为运动估计和补偿与后续的压缩测量之间存在着一定的配合偏差,所以得不到很好的效果。但当信道的误码率达到10-3甚至更高的时候,由于压缩感知出来的数据的无结构性,所以随机误码对于视频质量的下降是比较平缓的,也就是说对于任一丢失的信息,它们对于图像质量的影响是均匀的。而采用MPEG2的时候,由于丢失的数据的不确定性,得到的每一帧的图像效果变化很大,而且随着误码率的提高,很可能得到一些无法辨别的视频帧,这种情况会导致视频无法观看。而与其对应的CS编解码收到的视频流虽然质量也随之下降,但在误码率非常高的情况下仍能勉强收看。
4 结束语
介绍了一种新的视频编解码的方案,将压缩感知的新方法运用到视频处理中来,它不仅简化了视频编码的过程,而且通过后续的均匀量化和等长编码使得编码后出现的视频流呈现出一种非常好的特性——很适合于无线信道的传输,即当无线信道的误码率比较大的时候,它仍然能够得到勉强能够观看的视频。在以后的工作中,将重点研究压缩感知应用于视频编码中与其它经典压缩方法的结合程度,试图使帧间编码变得更有效率,同时研究能够提高解码效率和节约存储空间的方法,再次,会考虑将压缩感知应用于现有的无线视频传输中所形成的新的体系的问题。
摘要:压缩感知是近几年信号处理理论的重大突破,它打破了传统的奈奎斯特采样定理的限制,采用一种数学投影的方法对信号进行整体的测量,从而能够以较少的采样值来进行原始信号的恢复。将压缩感知应用于视频编解码中,并结合均匀量化和编码将出来的码流在无线信道中传输,进而得到了比现有编码方法好的特性,即收到的视频质量随着无线信道误码率增大的而呈均匀的下降。
关键词:压缩感知,视频编解码,鲁棒传输
参考文献
[1]David Donoho.Compressed sensing[J]IEEE Trans.On InformationTheory,April 2006 Emmanuel,2006,52(4):1289-1306.
[2]Candes.Compressive sampling[Z]Int.Congress of Mathematics,Madrid,Spain,2006(3):1433-1452.
[3]Wakin M,Laska J,Duarte M,et al.Compressive imaging for videorepresentation and coding[C]//Proc.Picture Coding Symposium(PCS),April 2006.
[4]Lu Gan,Thong Do,Trac Tran.Fast compressive imaging using scram-bled block Hadamard ensemble[Z].Proceedings of EUSIPCO-2008.
[5]Figueiredo MA T,Nowak R D,Wright S J.Gradient Projection forSparse Reconstruction:Application to Compressed Sensing and Oth-er Inverse Problems[J].IEEE Journal of Selected Topics in SignalProcessing,2007,1(4):586?598.
[6]Stankovic V,Stankovic L,Cheng S.Compressive Video Sampling[C]//Proc.of the European Signal Processing Conf.(EUSIP-CO),Lausanne,Switzerland,August 2008.
[7]Park J,Wakin M.A Multiscale Framework for Compressive Sensingof Video[C]//Proc.of the Picture Coding Symposium(PCS),Chicago,Illinois,May 2009.
[8]Xie Xiaochun,Yu Lingjuan.A New Video Codec Based on Com-pressed Sensing[Z].978-1-4244-4131-0/09/,2009 IEEE.
数字视频编解码技术 篇8
MPEG-4标准[1]自问世以来已得到广泛应用,并得到许多厂商的支持。随着数码摄像机、无线视频终端等嵌入式设备的普及,MPEG-4视频编解码器在嵌入式系统将有更广泛的应用。用DSP实现嵌入式系统具有开发周期短、灵活性强的优点[2],因此用DSP实现MPEG-4视频编解码器成为研究的热点。
本文采用MPEG-4简单视频框架(Simple Visua Profile)实现MPEG-4的软件验证,利用DM642处理器进行MPEG-4视频编解码算法的移植和优化改进。
2 硬件系统
图1是整个硬件框架图,摄像头实时采集并输出模拟图像,经过SAA7115芯片解码出数字信号,TMS320DM642(后简称DM642)将此信号编解码处理,解码后由DM642通过EDMA将数据送到片外SDRAM中,最后经芯片SAA7105编码后送到电视机显示。
图1中的DM642是TI公司C64x系列的DSP,基于C64x内核,具有64个32位通用寄存器,可工作在600MHz时钟速率下,最高可达到4 800 MI/s(兆指令每秒)。采用了超长指令字结构以及数据总线和地址总线分开的哈佛结构,加上8个独立计算功能单元,可实现多指令的并行执行。DM642采用2级缓存结构L1(32 Kbyte)和L2(256 Kbyte),L1只能作为高速缓存,L2是一个统一的程序/数据空间,在此系统中,将L2配置成Cache和SRAM混合使用,L2的一半空间(128 Kbyte)作为IS-RAM,即片上内存,一半作为二级Cache使用。
3 软件系统
3.1 DSP处理的软件流程
图2是MPEG-4编解码程序被移植进DSP后的整个系统的软件流程图。
利用摄像头采集模拟图像,并转化为YUV4∶2∶2的数字图像;色度重采样将YUV4∶2∶2图像重采样为YUV4∶20图像;编码模块将一帧YUV4∶2∶0图像编码成较小的位流,存放到缓存中;解码模块从缓存中读取位流,解码出相应的YUV4∶2∶0图像,存放到片外SDRAM中;色度反向重采样模块将解码模块输出的YUV4∶2∶0图像转化为YUV4:2:2图像,最后经过数模转换送到电视机中显示。
3.2 编解码模块的移植
要实现整个系统,首先要将MPEG-4编解码模块移到集成开发环境CCS中,并在整个DM642平台上完好运行,然后优化。移植要注意以下3个问题:
1)DM642的评估板配有许多包含采集和显示模块的程序,可以将编解码模块直接嵌入其中,不必编写初始化函数。由于采集模块输出YUV4∶2∶2图像,而编码模块处理YUV4∶2∶0图像,因此要图像重采样。直接利用DAT_copy函数取出YUV4∶2∶2图像色度分量的偶数行和所有的亮度行,存储到3个数组Y,U和V中,供编码模块直接处理。重采样程序如下:
其中YUV4∶2∶2图像位于cap Frame Buf结构体的frame.y1,frame.cb1和frame.cr1指向的空间中,Lines代表Y分量的行数,Pixels代表Y分量每行的像素数,数组Y,U和V中存放YUV4∶2∶0图像。
同理,解码模块利用DAT_copy函数取出输出的YUV4∶2∶0图像的所有亮度行数据,将色度数据1行存储为2行,得到YUV4∶2∶2图像。
2)编解码模块移植后,在cdb文件中设置堆栈区stacks的值为32 000和heap的值为0x01000000,保证了编解码所需的堆栈和动态存储空间,可实现视频的连续采集、编解码和显示。
3.3 编解码算法优化
3.3.1 原C程序算法优化
鉴于DM642的处理能力和达到实时性的要求,采用MPEG-4简单框架编码算法,同时对程序中的数据类型进行更改,能用8位实现就不要采用16位数据,以节省空间,提供并行处理效率。
3.3.2 内存分配
DSP对片上内存ISRAM的访问速度比片外内存快得多,将CPU频繁访问的程序和数据放在片上缓存中,可增强Cache的访问效率[3]。在本系统中,ISRAM中开辟的此类专用空间大小为6 Kbyte左右,远小于128 Kbyte。同时要注意片上内存的空间复用:如预测宏块、重建宏块存储区复用;残差宏块和当前宏块存储区复用。将当前编码帧、当前重建帧和参考帧数据以及插值后的半像素图像放到片外SDRAM。
3.3.3 EDMA数据搬移
DM642支持EDMA功能,TI提供了专门的DAT模块函数来实现EDMA功能。在编解码模块中涉及片内外数据搬移时尽量采用DAT_copy函数,可与CPU并行工作且执行效率高。
对内存分配中提到的当前宏块和参考帧数据采用乒乓缓存结构,如图3所示,CPU在处理PING缓存中的数据时,利用DAT_copy函数将片外SDRAM中的下一宏块和相应的参考帧数据搬移到PONG缓存中,实现ED-MA与CPU的并行工作,节省了CPU等待时间,提高了编码效率。
3.3.4 软件流水设计
PC中开发的C代码不考虑软件流水的情况,所以程序中有不少影响软件流水的因素。如果能更改这些因素,使DSP更好地并行流水处理[4],可大大提高循环代码的效率。
1)设置编译选项
实现软件流水,必须使用正确的编译选项,选用-o2选项打开软件流水优化模式。
2)减少判断、跳转语句
条件判断会产生条件跳转,严重影响代码的并行性及流水,因此要尽量减少循环中的条件判断。将判断和跳转语句放到循环体的外面,可解决这个问题。
3)多重循环的展开
软件流水只针对一个循环进行优化,所以多重循环必须展开。将残差块加上运动补偿后的块形成重建块程序中的内层循环展开后,只剩有一层循环,编译器就可对循环代码实现流水处理,提高运行的并行性。
4)线性汇编
为了提高代码的整体性能,必须对关键代码段(特别是循环代码)进行线性汇编改写。线性汇编语言是C64x系列DSP特有的语言,其指令系统与标准汇编语言的相同,但它有自己的汇编优化器。在8×8块的量化程序中,进行线性汇编语言改写,选择合适的汇编指令并尽量分布在不同的处理单元中,可提高并行工作效率,有利于流水。
5)内联函数
有些C代码不易用汇编指令代替,可用内联函数替换,能达到与汇编指令相类似的性能。在半像素插值函数中,采用了内联函数_shrmb实现4 byte的右移功能,利用_avgu4函数对2个4 byte对应的4 byte同时求和求平均,得到半像素点的值。
经过以上各项流水优化措施后,大大提高了运行效率,优化结果如表1所示。
3.3.5 使用TI库函数
C64x系列DSP提供了许多图像处理方面的库函数[5],这些库函数经过TI的精心优化,其性能有很大的提高。对摄像头实时采集的720×480图像进行编解码处理后,图像帧率为0.5 f/s(帧/秒),调用库函数IMG_fdct_8×8,IMG_idct_8×8和IMG_sad_16×16后,帧率达到3.5 f/s,运行效率明显提高。
3.4 整体优化后的最终性能
将PC机上的编解码程序简单移植到ICETEK-DM642-PCI评估板上,仅仅使用有关库函数进行优化,摄像头实时采集720×480图像,量化参数为8,搜索窗口为16×16。采用以上优化措施后,运行结果如表2所示。
从表2的数据可以看出,帧率提高了9倍以上,信噪比虽然有所降低,但是由于帧率提高并达到实时要求,视频效果比原来更好。
4 小结
介绍了MPEG-4编解码器实现的硬件平台和软件设计流程,详细说明了将PC机上的MPEG-4编解码算法移植到DM642上的方法和注意事项,根据DM642芯片的特性和编解码程序的特点进行了优化,通过整个硬件系统的验证,达到25 f/s以上的实时性要求,说明DM642能满足视频编解码应用的实时性要求。
摘要:简要介绍了基于TMS320DM642的MPEG-4视频编解码器的硬件系统结构和软件任务流程,并重点阐述了MPEG-4视频编解码模块在DM642平台上的移植和优化。实验结果表明,移植和优化后可以实现视频的实时处理,并能保持较高的图像质量和压缩效率。
关键词:TMS320DM642,MPEG-4,移植,优化,流水线,并行效率
参考文献
[1]张益贞,刘滔.Visual C++实现MPEG-4/JPEG编解码技术[M].北京:人民邮电出版社,2002.
[2]周霖.DSP信号处理技术的应用[M].北京:国防工业出版社,2004.
[3]TI.Driver example on the DM642EVM[EB/OL].[2008-11-15].http://focus.ti.com.cn/cn/lit/an/spra932a/spra932a.pdf.
[4]TI.TMS320C6000optimizing C/C++compiler user's guide[EB/OL].[2008-11-15].http://ftp.akaedu.org/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6%E8%AE%BE%E8%AE%A1%E8%B5%84%E6%BA%90_Hardware/%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BE%AE%E5%A4%84%E7%90%86%E5%99%A8_CPU/dsp/ti/Doc6xx/spru187g.pdf.