您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 第二讲-视频压缩基础
视频压缩基础王荣刚北京大学深圳研究生院数字媒体研究中心2015.09.23内容提要为何要进行视频压缩?为何视频能被压缩?如何进行视频压缩?如何评价视频压缩性能?2内容提要为何要进行视频压缩?为何视频能被压缩?如何进行视频压缩?如何评价视频压缩性能?3数字视频数据量庞大4问题超高清视频的数据量有多大?3840x2160x12x30~3Gbps典型网络传输带宽?5网络传输带宽有限典型视频服务网络传输带宽有线电视:HDTV,8-20Mbps地面电视:SDTV,4-6Mbps互联网:512kbps-4Mbps移动网:10kbps-500kbps6视频压缩比10~100倍,超高清视频压缩比?7思考随着网络传输带宽的不断提升,视频压缩是否还有价值?8内容提要为何要进行视频压缩?为何视频能被压缩?如何进行视频压缩?如何评价视频压缩性能?9空域冗余相邻像素存在相似性在局部区域中所有点的光强和色彩以及饱和度都是非常相近的,这种空间连贯性就称为空间相关或空间冗余同一图像内存在重复纹理10时域冗余相邻图像间存在很大相似性?序列图像中的相邻帧往往包含相同或类似的背景和运动物体,只不过运动物体所在的空间位置略有不同。这种相邻帧间数据的高度相关性就称为时间冗余。11视觉冗余人眼的视觉系统HVS并不完美,对图像场的敏感性是非均匀和非线性的,例如对某些失真并不敏感,察觉不到图像的某些细微变化,这些细微变化信息即使丢失,人眼也感受不到,因此由量化误差引起的图像变化在一定范围内就不能为人眼所察觉。而在记录原始的图像数据时,通常假定视觉系统是线性的和均匀的,对视觉敏感和不敏感的部分同等对待,这样就产生了比理想编码更多的数据,这就是视觉冗余12统计冗余信息熵冗余也称为编码冗余,由信息论可知,为表示图像数据的一个像素点,只要按其信息熵的大小分配相应比特数即可。而对于实际图像数据的每个像素,在图象获取时很难得到它的信息熵,因此一般是对每个像素采用相同的比特数来表示,这样就必然存在冗余,这种冗余称为信息熵冗余。假设一幅4色图像,各个象素级出现的概率和编码如下:第一种编码为定长编码,平均每个像素需要用2个比特来表示。第二种编码是变长编码,平均每个像素需要的比特数为:13内容提要为何要进行视频压缩?为何视频能被压缩?如何进行视频压缩?如何评价视频压缩性能?14视频编解码系统原始序列:rawvideosequence编码器:encoder码流:bitstream解码器:decoder解码序列:decodedvideosequence15编码器码流0110…解码器原始序列解码序列VideoCodec视频压缩的基本思想按照压缩后是否存在失真,将压缩算法分为无损压缩:压缩比不高,2-5倍有损压缩:压缩比可调通过有效的方法去除原始视频序列中存在的:空间冗余时间冗余统计冗余视觉冗余16主流的视频压缩技术预测变换量化熵编码环内滤波17预测技术原始值=预测值+残差一般地,残差的信息量原始值的信息量,如果在解码端预测值能够通过某种方法估计到,那么只需要编码残差信息,就可在解码端恢复原始值,从而达到了压缩的目的预测值越准确,压缩率越高18residual-=预测值原始值预测残差如何得到预测值?利用是视频的时空域相关性空域相关如果知道与当前像素相邻的像素的值,就可以大致估计当前像素的值时域相关如果知道和当前图像相邻的图像,就可以用来估计当前图像中每个像素的值如何知道相邻像素或相邻图像的值?19对于任意一个像素点,在编码端相邻像素很容易得到,解码端如何得到?20空域预测按照特定顺序解码,在解码当先像素之前,如果相邻像素已经解码完,那么就可用来预测当前像素的值!一副图像被分成若干块,以块为单位做编解码,严格按照某种次序编码和解码21Decodedpixels问题对于某个像素点,编码端和解码端得到的预测值一样吗?如果不一样会有什么后果?22误差累计效应f1=f0+e1,f1’=f0’+e1’d1=f1–f1’f2=f1+e2,f2’=f1’+e2’d2=f2-f2’=d1+(e2-e2’)d3=d2+(e3–e3’)=d1+(e2-e2’)+(e3–e3’)…dN=dN-1+(eN–eN’)=d1+(e2–e2’)+…+(eN–eN’)23如何避免误差累积?编解码的预测值完全一致!如何做到完全一致?编码的过程中不断解码!24时域预测编码端很容易得到相邻图像,但解码端如何得到呢?同样的,在编码当前图像之前先解码相邻图像图像按照一定顺序编码和解码25编码解码residual-=DecodedFrame1DecodedFrame1问题当编码某个图像块时,即可以用空域预测方法得到其预测值,也可以用时域预测法得到,到底应该用哪种方法预测呢?26DecodedFrame1一些基本概念VideosequenceGOPPictureSliceMacroblockBlock27总结用于生成预测值的图像块和图像分别叫作参考块和参考图像在编码某个图像块之前,它的参考图像和参考块需要先被解码,用解码后的像素值作为参考像素值28变换技术29为什么要变换?变换后,系数的值更集中,便于做压缩,例如:同时在频率域上对图像块进行了分解,便于应用人眼对高频分量不敏感的视觉冗余特性30一个自然图像的变换31总结通过数学变换矩阵将图像块变换为另外一种表达形式,方便做压缩Y=X*T,X:图像块T:变换矩阵Y:变换后的图像块表达如果T可逆,则X=T-1*Y,在解码端可以恢复图像块XT可以有多种形式,不同的T,就产生了不同的变换方法:DCT,KLT,Hadamard,…32量化量化是降低数据表示精度的过程,通过量化可以减少需要编码的数据量,达到压缩数据的目的例如:x’=(x/q)*q但是,量化会引起失真如果能利用人眼的视觉冗余特性,进行合理量化,使失真对人眼视觉的影响尽量小33量化步长对码率和失真的影响34像素域量化和频率域量化实验:输入x=[100110120130140150160170]做一维DCT:y=[381.8377,-64.4232,0.0,-6.7345,0.0,-2.0090,0.0,-0.5070]分别用6,20,100为量化步长做像素域量化和频域量化量化步长为6时35当量化步长为20时36当量化步长为100时37总结量化步长控制着码率和失真的平衡频域量化的性能好于像素域38熵编码统计冗余的消除主要通过熵编码来实现。利用信源的信息熵进行码率压缩的编码方式称为熵编码基本思想:为出现概率大的符号分配短码字,为出现概率小的符号分配长码字,从而达到总体平均码字最短。编码对象概率分布越不均匀,熵编码的效率越高两种基本方法哈夫曼编码:每个值分配一个码字,每个值至少要用一个比特表示算术编码:用一个浮点数代表一串值39哈夫曼编码实例40算术编码举例Inputsequence“1321”Termination:Encodethelowerend(0.7712)tosignaltheend.41问题如何算术解码?42总结不管是哪种熵编码方法,基础都是概率模型,即编码对象的概率分布为了提高压缩效率,应尽量使概率分布不均匀,例如变换,条件概率等应该根据概率模型选择合适的熵编码方法43环内滤波由于在解码端只能用解码图像作为参考,进行时空域预测,因此预测性能和解码图像质量密切相关分块DCT和量化会引入块效应,降低解码图像质量和预测效率对解码图像进行滤波有助于消除块效应,提高预测效率44滤波前滤波后视频编码框架45解码框架46内容提要为何要进行视频压缩?为何视频能被压缩?如何进行视频压缩?如何评价视频压缩性能?47码率在视频实时播放过程中,平均每秒消耗的比特数码率如何算?编码比特数/播放时长对于固定帧率:编码比特数/(总帧数/帧率)bps48失真解码图像相对于原始图像的差异主要是由于量化引起的49客观失真度量客观质量的评价算法有均方差(MeanSquareError,MSE),信噪比(SignalNoiseRatio,SNR),峰值信噪比(PeakSignalNoiseRatio,PSNR)等,其中最常用的是PSNR。PSNR的数学表达式为:其中,MSE表示原始图像和解码图像像素间的均方差,n为表示图像像素值所用的比特数,通常n=8。PSNR的单位是分贝(dB)。当解码图像的PSNR值较高时表示其客观质量较高,相反,PSNR值较低时表示其客观质量较低当PSNR=0时,表示失真为零PSNR值的高低并不能完全表示图像实际质量的高低,图像的主观质量才能最好地体现人的视觉对图像的真实感受50主观失真度量(MOS:平均意见得分)主观质量评价是让观测者根据事先规定的评价尺度或凭借自己的经验,对测试视频按视觉效果进行质量判断,并给出质量分数,然后对所有观测者给出的分数进行加权平均,所得数值即为待测信号的主观质量评价结果。51Meanopinionscore(MOS)MOSQualityImpairment5ExcellentImperceptible4GoodPerceptiblebutnotannoying3FairSlightlyannoying2PoorAnnoying1BadVeryannoying视频压缩性能评价在相同的码率条件下,失真越小,压缩性能越好或在失真相当的条件下,码率越低,压缩性能越好52/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式/通用格式PSNRBitRate(kbit/s)Lovebird1AnchorStereoModeEStereoMode率失真曲线总结视频冗余去除冗余的方法预测变换和量化熵编码环内处理视频编码框架压缩性能评价53作业二用我发给大家的视频压缩软件,编码一个QCIF的测试序列,验证编码和解码过程的正确性。一周后交54
本文标题:第二讲-视频压缩基础
链接地址:https://www.777doc.com/doc-4552689 .html