数字视频处理课件 3.1-3.2_第1页
数字视频处理课件 3.1-3.2_第2页
数字视频处理课件 3.1-3.2_第3页
数字视频处理课件 3.1-3.2_第4页
数字视频处理课件 3.1-3.2_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章视频压缩编码基本原理,3.1视频压缩编码概述,3.1.1视频压缩编码的必要性,未经过压缩的原始视频的码率:720p高清电视(30fps,4:2:0):12807203081.5316.41Mbps1080p高清电视(60fps,4:2:2):1920108060821.85Gbps100分钟的720p高清电视节目(30fps,4:2:0)大小可达约231.74GB,3.1.2视频压缩编码的可能性,信息之所以能进行压缩,是因为信息本身通常存在冗余量在数据存储或传输时,通过选择优化的信源编码方案,消除了冗余,也就达到了数据压缩目的,信源/信道,信源就是信息的来源,可以是人、机器、自然界的物体等等。信源发出信息的时候,一般以某种讯息的方式表现出来,可以是符号,如文字、语言等,也可以是信号,如图像、声响等等信道就是信息传递的通道,是将信号进行传输、存储和处理的媒介。信道的关键问题是它的容量大小,要求以最大的速率传送最大的信息量,信源编码/信道编码,为了减少信源输出符号序列中的冗余度、提高符号的平均信息量,对信源输出的符号序列所施行的变换称为信源编码对输入信息进行编码,优化信息和压缩信息并且打成符合标准的数据包信道编码是为了对抗信道中的噪音和衰减,通过增加冗余,如校验码等,来提高抗干扰能力以及纠错能力,信息熵,信息是个很抽象的概念,我们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少,直到1948年,香农提出了“信息熵”(Entropy)的概念,才解决了对信息的量化度量问题信息熵是用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以,信息熵也可以说是系统有序化程度的一个度量,时间冗余,在视频序列中,前后两帧图像(时间间隔很短)之间具有较大的相关性,表现出帧与帧之间的重复,因而存在时间冗余这是视频信号中所经常包含的冗余,空间冗余,在同一幅图像中,规则物体和规则背景(所谓规则是指表面颜色分布是有序的、而不是完全杂乱无章的)的表面物理特征具有相关性,这些相关性的光成像结构在数字化图像中就表现为数据冗余同一帧图像中相邻的像素之间具有很强的相关性,知识冗余,有许多图像的理解与图像所表现内容的基础知识(先验或背景知识)有相当大的相关性,从这种知识出发可以归纳出图像的某种规律性变化,这类冗余称为知识冗余。知识冗余的一个典型例子是对人像的理解,比如,鼻子上方有眼睛,鼻子又在嘴的上方等,结构冗余,有些图像从大面积上或整体上看存在着重复出现的相同或相近的纹理结构,例如布纹图像和草席图像,被称为结构冗余,其它冗余,信息熵冗余(统计冗余、编码冗余):调整编码(coding)方式可以减少码字的数据量,即编码的效率视觉冗余:人类的视觉系统实际上只在一定程度上对图像的变化产生敏感,即图像数据中存在着大量人类视觉觉察不到的细节,3.1.3无损压缩与有损压缩,无损压缩可完全恢复数据而不引入失真。由于整个编解码过程中,信源信息的熵始终保持不变,因此无损压缩又被称为熵保持编码,无损压缩的编码效率受信息的熵限制,压缩率通常在2至5倍。无损编码包括:变换编码、游程编码、算术编码等,无损压缩与有损压缩,有损压缩则是利用人眼视觉特性(HVS:HumanVisionSystem),对人眼不敏感的某些图像细节信息进行压缩甚至忽略不编码,因此在解码恢复的过程时,不能完全恢复数据的全部信息,引入了失真,但是对于图像的最终接收者(人眼)而言,获得的信息的变化不大(即无大的视觉失真),同时获得较大的压缩率(10到200倍),无损压缩与有损压缩,在常用的视频编码应用中,有损编码是与无损编码进行混合编码,3.1.4视频压缩编码的目标,视频信号由于信息量巨大,存储空间要求高、传输网络带宽要求高,需要将视频信号在传送前先进行压缩编码,即进行视频源压缩编码,然后在网络上进行传送或者存储,以便节省传送带宽和存储空间视频压缩编码的基本目标要求:1)必须压缩在一定的带宽内,即视频编码器应具有足够的压缩比,视频压缩编码的目标,2)视频信号压缩之后,应保持一定的视频质量如果不问质量,一味地压缩,虽然压缩比很高,但压缩后严重失真,显然达不到要求;反之,如只讲质量,压缩比太小,也不符合要求3)在以上两个要求下,视频编码器的实现应力求简单、易实现、成本低、可靠性高,这也是基本的要求,3.1.5视频压缩编码技术概述,从上世纪80年代开始逐渐形成了混合视频编码(Hybridvideocoding/encoding)技术,并成为之后一系列视频编码标准的基础框架,视频压缩编码技术概述,视频编码方法与采用的信源模型有关如果采用“一幅图像由许多像素构成”的信源模型,这种信源模型的参数就是每个像素的亮度和色度的幅度值。对这些参数进行压缩编码技术称为基于波形的编码如果采用一个分量有几个物体构成的信源模型,这种信源模型的参数就是各个物体的形状、纹理和运动。对这些参数进行压缩编码的技术被称为基于内容的编码,视频压缩编码技术概述,由此可见,根据采用信源模型,视频编码可以分为两大类,基于波形的编码和基于内容的编码它们利用不同的压缩编码(Encoding)方法,得到相应的量化前的参数;再对这些参数进行量化;最后,进行无损熵编码进一步提高效率解码(Decoding)则为编码的逆过程,视频编码分块,为减少编码的复杂性,使视频编码操作易于执行,首先把一幅图像分成固定大小的宏块(Macroblock,MB),以亮度为基准,通常为1616块(每块16行,每行16个像素)在宏块中可以进一步分块,例如88块(每块8行,每行8个像素)、168块、44块等等,然后对块进行压缩编码处理色度按照采样或子采样格式对应计算,视频编码分块,一个宏块通常由6个块组成(4:2:0子采样),8x8blocks,macroblock,Y,Cb,Cr,基于内容的编码,基于块的编码易于操作,但由于人为地把一幅图像划分成许多固定大小的块,当包含边界的块属于不同物体时,它们分别具有不同的运动,便不能用同一个运动矢量表示该边界块的运动状态。如果强制划分成固定大小的块,这种边界块必然会产生高的预测误差和失真,严重影响了压缩编码信号的质量,基于内容的编码,于是产生了基于内容的编码技术。这时先把视频帧分成对应于不同物体的区域,然后对其编码即对不同物体的形状、运动和纹理进行编码。在最简单情况下,利用二维轮廓描述物体的形状;利用运动矢量描述其运动状态;而纹理则用颜色的波形进行描述,视频冗余的压缩手段,空间冗余:帧内编码时间冗余:帧间编码视觉冗余:变换编码、量化信息熵冗余:熵编码,3.1.6视频质量,对压缩后的视频质量估计是一件困难的工作大体上,可分为主观视频质量评定和客观视频质量评定两种估计方法,主观质量,由于个人的视觉系统(HVS)不尽相同,对视频内容的熟悉程度也不一样为了减少主观随意性,在对视频进行主观评定前,选若干名专家和“非专家”作为评分委员,共同利用五项或七项评分法对同一种视频进行质量评定最后按加权平均法则对该压缩后的视频质量进行主观评定,主观评价分数标准,主观质量测试系统,测试方法可用随机次序请评委观察比较原始图像和压缩编码的图像,国际上称为DSCOS的测试系统其中A为原始图像,B为编码解码后的图像,以任意的A、B次序让评委打分评定,客观质量,主观的视频质量评分更接近人的真实视觉感受,但需耗费人力和时间,成本较高客观质量的测定方法速度快、易实行,但往往不会太符合人眼的视觉感受,只能说大体上的质量。客观质量测定方法应致力于改进其测试标准和测试方法,使其符合人的视觉感受,客观质量,最常用的测试标准是峰值信号与噪声之比(PSNR):PSNR(dB)=10log10(2n-1)/MSE)其中MSE(meansquareerror)为原始和编解码后图像之间的均方误差,(2n-1)为图像中最大可能信号值的平方,n表示每个像素的比特数,客观质量,客观质量,一般讲,PSNR愈高视频质量愈高;反之亦然但实际上有时并非如此图(4)的PSNR为27.7dB,其主观评定可能比图(2)、(3)的高,但客观质量PSNR却低于图(2)、(3)的30.6dB和28.3dB这是因为图(4)中的脸部更清晰,只是背景模糊,而人眼对脸部往往更敏感更重视,第三章视频压缩编码基本原理,3.1视频压缩编码概述3.2预测编码,3.2.1预测编码的基本概念,预测法是最简单和实用的视频压缩编码方法,这时压缩编码后传输的并不是像素本身的取样幅值,而是该取样的预测值和实际值之差为什么取像素预测值与实际值之差作为传输的信号?,3.2.2帧内预测编码,大量统计表明,同一幅图像的邻近像素之间有着相关性,或者说这些像素值相似,邻近像素之间发生突变或“很不相似”概率很小可以利用这些性质进行视频压缩编码,帧内预测编码,例如,同一帧内邻近像素,当前像素为X,其左邻近像素为A,上邻近像素为B,上左邻近像素为C。显然与X之间的距离近的像素,如A和B与X的相关性强,愈远相关性愈弱,如C、D、E、F等像素,帧内预测编码,以P作为预测值,按与X的距离不同给以不同的权值,把这些像素的加权和作为X的预测值,与实际值相减,得到差值q。由于临近像素之间相关性强,q值非常小,达到压缩编码目的,帧内预测编码,若预测器中参与预测的像素与当前像素在同一帧,则为帧内预测编码帧内预测通常利用本行和上一行的相邻像素来预测当前像素,线性预测,设tn时刻之前的样本值X1,X2,Xn-1与预测值之间呈现某种函数形式最简单的线性关系(线性预测),线性预测,不同预测值,线性预测方案,若当前像素X用同一扫描行中最邻近的X1像素来预测,即取X的预测值为X1,这称为前值预测若用X的同一扫描行的前几个已知像素值如X1,X5.等来预测X,则称为一维预测若用X的同一行和同一帧的前几行若干个已知像素如X1,X5,X2,X3,X4.等来作预测值,则称为二维预测,帧内预测编码,接收端把差值q与预测值(事先已定义好,比当前X早到达接收端的像素,如)相加,恢复原始值X。归纳如下:编码端:XA=q解码端:qA=X,3.2.3帧间预测编码,据测得,对缓慢变化的256级亮度值的视频序列,帧间差超过阈值3的像素不到一帧总像素的4%对剧烈变化的256级亮度值的视频序列,帧间差超过阈值6的像素平均只占一帧总像素的7.5%说明什么?,帧间差异,运动估计(运动搜索)/运动补偿,如何减小帧差和更精确预测当前像素是提高帧间压缩编码效率的关键之处运动估计(MotionEstimation,ME,或称运动搜索):对运动物体的位移作出估计。即对运动物体从前一帧到当前帧位移的方向和像素数做出估计(求出最优的运动矢量)运动补偿(MotionCompensation,MC):根据求出的运动矢量,找到当前帧的像素的相应位置,从而得到当前帧像素的预测值,运动估计,帧间预测编码过程,(1)对于当前编码帧的当前宏块,在该帧的前一帧(参考帧)中寻找与该宏块有最优匹配的图像块(运动估计),帧间预测编码过程,(2)如果找到这样的最优匹配块,则:计算当前块的像素值与参考帧中最优匹配块的像素值之间的差值预测残差(误差)计算当前块与参考块在水平(x)和垂直(y)两个方向上的距离运动矢量然后只需对当前块的运动矢量和预测残差进行编码传输(3)如果找不到最优匹配块,则必须进行帧内编码,帧间预测编码过程,(4)按照宏块次序,重复上述过程,直至当前编码帧中所有宏块全部处理完毕,运动估计,运动估计是去除时间冗余最基础有效的方法,也是各类视频编码算法所普遍采用的一项核心算法运动估计的优劣直接决定编码效率和重构视频质量:运动估计(运动搜索)越准确,预测残差越小,编码效率越高,在相同码率(bitrate)下的解码视频就具有更好的图像质量,运动估计,运动估计的计算复杂度一般占到编码器的50%以上,为保证视频编码的实时性,运动估计应当具有尽可能低的计算复杂度如何提高运动估计算法的性能,使运动估计更快速、精确和健壮受到广泛关注,3.2.4运动表示法,由于在成像的场景中一般有多个物体作不同的运动,如果直接按照不同类型的运动将图像分割成复杂的区域是比较困难的最直接和不受约束的方法是在每个像素都指定运动矢量,这就是所谓基于像素表示法。这种表示法是对任何类型图像都是适用的,但是它需要估计大量的未知量,并且它的解时常在物理上是不正确,除非在估计过程中施加适当的物理约束。这在具体实现时是不可能的,通常采用基于块的物体运动表示法,帧间运动矢量分布图(像素级),3.2.4.1基于块的运动表示法,一般对于包含多个运动物体的景物,实际中普遍采用的方法是把一个图像帧分成多个块,使得在每个区域中的运动可以很好地用一个参数化模型表征,这被称为块匹配法,即将图像分成若干个MN块(如1616宏块等),为每一个块寻找一个最优的运动矢量MV和进行运动补偿,实现帧间预测编码,基于块的运动表示法,设前一帧搜索区为(M+2Wx,N+2Wy),当前帧块与前一帧块之间的位移为d(i,j),基于块的运动表示法,在4:2:0子采样格式时,宏块中的每个色度分块(Cb和Cr)尺寸宽高都是其对应亮度分块的一半色度块的分割方法和亮度块同样,只是尺寸上宽高都是亮度块一半(如亮度块是816块尺寸大小,那么色度块就是48,如亮度块尺寸为84,那么色度块便是42等等)。每个色度块的运动矢量的水平和垂直坐标都是亮度块的一半,3.2.4.2亚像素位置的插值(interpolation),帧间编码宏块中的每个分割区域(宏块或块)都是根据参考帧中的同尺寸的区域进行预测,它们之间的位置(位移)关系用运动矢量(motionvector)来表示由于自然物体运动的连续性,相邻两帧之间的宏块或块的运动矢量不是以整像素为基本单位的,可能真正的运动位移量是以1/4像素或者甚至1/8像素等亚像素作为单位的,亚像素位置的插值,计算得到亚像素位置的像素值的过程就称为插值(interpolation),亚像素位置的插值,图中给出了一个视频序列分别采用1/2像素精度、1/4像素精度和1/8像素精度时编码效率的情况,亚像素位置的插值,可以看到1/4像素精度相对于1/2像素精度的编码效率有很明显的提高,但是1/8像素精度相对于1/4像素精度的编码效率除了在高码率情况下并没有明显的提高,而且1/8像素的插值公式更为复杂,因此在H.264的制定过程中1/8像素精度的运动矢量模型逐渐被取消而只采用了1/4像素精度的运动矢量模型,3.2.5匹配准则,一个块的匹配误差(最常用的一种)为:JBlock(MV)SAD(s,c(MV)MOTIONR(MV-MVp)其中s是当前编码块的原始像素值,c是用于进行运动补偿的参考块的像素值,MV为块的运动矢量,MOTION为拉格朗日常数,MVp为预测运动矢量,R(MV-MVp)代表了编码运动矢量可能耗费的比特数,x、y为块内的像素坐标,3.2.6运动搜索(运动估计)算法,全局搜索法(穷尽搜索法)快速搜索法分级搜索范围算法,3.2.6.1全局搜索算法,为当前帧的一个给定块确定最优运动矢量的全局搜索算法方法是:在一个预先定义的搜索区域内,把它与参考帧中所有的候选块进行比较,并且寻找具有最小匹配误差的一个。这两个块之间的位移就是所估计的运动矢量MV,这样做带来的结果必然导致极大的计算量,全局搜索算法,全局搜索算法,估计的精度是由搜索的步长决定的,步长是相邻两个候选块在水平或者垂直方向上的距离。通常,沿着两个方向使用相同的步长。在最简单的情况下,步长是一个整数像素,称为整像素精度搜索,3.2.6.2快速搜索算法,快速搜索算法和全局搜索算法相比,虽然可能只能得到次最佳的匹配结果,但在减少运算量方面效果显著,3.2.6.2.1二维对数搜索法,这种算法的基本思路是采用大菱形搜索模式和小菱形搜索模式从相应于零位移的位置(零点)开始搜索,每一步试验菱形排列的五个搜索点。下一步,把中心移到前一步找到的最佳匹配点并重复菱形搜索。当最佳匹配点是中心点或是在最大搜索区域的边界上时,就减小搜索步长(菱形的半径)。否则步长保持不变,二维对数搜索法,当步长减小到一个像素时就到达了最后一步,并且在这最后一

温馨提示

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

评论

0/150

提交评论