《运动图像的编码一幻灯片.ppt》由会员分享,可在线阅读,更多相关《运动图像的编码一幻灯片.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、运动图像的编码一第1页,共32页,编辑于2022年,星期三运动图像的特点运动图像本质上是连续的时间内连续的场景变化,我们眼睛看到的实际事物就满足这个要求。由于人眼的视觉特点,我们可以利用离散的时间点上一幅幅图像来表示,而让人产生同样的视觉效果。这一幅幅图像就是帧,就是时间离散化的结果。在一帧图像中,我们可以从空间上分割为一个个像素,用单个像素来替代原来的若干模拟点,这就是空间离散化的结果。我们对于运动图像,就利用时间离散化和空间离散化产生的相关性,来进行压缩编码第2页,共32页,编辑于2022年,星期三运动图像的冗余空间冗余:和静止图像的冗余情况一致时间冗余:人眼的视觉特点,25fps就可以认
2、为连续。帧间预测:利用相邻帧的时间相关性运动估值:对运动的物体,帧间的相关性降低,利用运动估值,可以减小预测的残差。第3页,共32页,编辑于2022年,星期三运动图像编码技术我们已经讲过了静止图像编码,运动图像既然是一幅幅静止图像在时间上的先后排列,因此可以简单的将每一幅静止图像编码组合起来,就形成了一个运动图像的编码。这样的码流还是很大,举例来说,一幅300*200的图像,用JPEG压缩后要20K Bytes。如果是30帧/秒的视频,则会产生600KB/s=4.8Mb/s的码流。这在网络传输中还是无法接收的带宽要求。为此,我们必须利用运动图像在时间轴上的相关性,利用预测编码的方法,而只传输余
3、量信号,就可以减小信号的动态范围,降低码率。进行准确预测的基础就是运动矢量估计,具体的编码方法就是帧间预测编码第4页,共32页,编辑于2022年,星期三运动矢量估计第5页,共32页,编辑于2022年,星期三块匹配方法(1)按一般想法,应将运动物体和静止背景分离,然后再对运动物理进行运动估计。如何分离?实际上,将图像分块,并认为每块内像素具有同样的运动矢量。在k帧中的一个块,在k-1帧中寻找最相似的子块,称为匹配块,进而得到运动矢量D当前帧中的子块前 一 帧中的最佳匹配子块前一帧中的搜索区域位移矢量第6页,共32页,编辑于2022年,星期三块匹配方法(2)搜索范围是有限的,设两帧间隔时间内,最大
4、的水平和垂直位移是 ,则搜索范围SR为如何判断两个子块是否匹配?如何搜索计算量最小?子块相似程度归一化的二维互相关函数,越大越相似。第7页,共32页,编辑于2022年,星期三块匹配方法(3)NCCF计算复杂,常用下面两个计算简单的值。帧间子块亮度的均方差值MSE帧间子块亮度的绝对值的均值MAD匹配准则的不同,对匹配精度影响不大,故常用没有乘除法的MAD作为实用的匹配准则。第8页,共32页,编辑于2022年,星期三匹配块的搜索全搜索:在整个搜索区域逐个像素移动,每次都要计算MAD。总的移动次数:快速搜索算法二维对数法三步法共轭方向法正交搜索法基于同一假设:当偏离最小误差方向时,判决函数单调上升。
5、即不存在局部最小值。第9页,共32页,编辑于2022年,星期三三步法每步对中心和8个临域点计算,而且临域点和中心点的距离,随着搜索步骤的增加而减小。右图搜索3步,最终的匹配点是(i+2,j+6)222112122221111113 3 33 33 3 3第10页,共32页,编辑于2022年,星期三共轭方向法首先延水平方向搜索,计算中心点与左右两点的判决值,找到最小点,并移动,直到中心点就是最小点。再延垂直方向进行搜索,直至找到最佳匹配点。91123445678第11页,共32页,编辑于2022年,星期三快速搜索算法比较搜索方法所需搜索点数所需搜索步骤图例最坏情况图例最坏情况二维对数法18215
6、7三步法252533共轭方向法1215912正交搜索法131366对全搜索,若 ,需要搜索点数Q=169,而快速算法的搜索点数见下表。由于很多DSP能并行运算,因此减小搜索步骤比减小搜索点数更重要,同一步的不同点的判决函数值可以并行计算。第12页,共32页,编辑于2022年,星期三像素递归法(1)先将图像中的运动部分与静止部分分开,然后在运动区域内每个像素上以迭代的方式计算位移量经位移后,相邻两帧图像差值DFD(Displaced Frame Difference)的平方通过迭代,得到最优的Di,使得DFD最小。一般迭代方向沿着负梯度方向。第13页,共32页,编辑于2022年,星期三像素递归法
7、(2)迭代法示意图DFD按什么范围计算?一个像素还是整个运动区域?按像素计算的DFD函数图,可能的问题按运动区域计算的函数图与可能的问题第14页,共32页,编辑于2022年,星期三两种方法的比较块匹配法不需要分离运动与静止区域一个块有一个运动矢量像素递归法需要分离运动与静止区域逐个像素,或者逐个独立运动的模块进行递归运动矢量估计更准确对于一般的运动图像,由于运动物体无规律,采用块匹配法更合适;而对于那种大面积背景不变,而只是单个或个别物体运动的运动图像,则更适合用像素递归法。第15页,共32页,编辑于2022年,星期三半像素搜索为了提高运动矢量的精度,引入半像素搜索。在原先搜索到最小MAD的位
8、置(i,j)上,再通过线形内插得到周围8个半像素点。再在这9个点中寻找最终的匹配点。(i,j)第16页,共32页,编辑于2022年,星期三具有运动补偿的帧间预测第17页,共32页,编辑于2022年,星期三前向预测(1)前向预测:用k-1帧来预测k帧。不直接传送当前帧像素,而是传送同一位置的当前帧像素与前一帧像素的差值。对运动物体,这个差值很大,预测没有起作用。如果已知运动物体的方向和速度,可从k-1帧的位置推出k帧中运动物体的位置,而背景而以k-1帧的背景代替。这种方法称为具有运动补偿的帧间预测。k-1帧k帧k-1帧k帧XX第18页,共32页,编辑于2022年,星期三前向预测(2)基本步骤将图
9、像分割为运动物理和静止背景,估计各运动物体的运动矢量。计算运动补偿后的预测值传送预测误差,运动矢量以及对运动物体和静止背景的分割的信息。事实上,将图像分割为静止区和不同的运动区域,是很困难的。一般来说,将图像分块,每块都作为一个物体估算运动矢量,接收端按上面的方法可以恢复该块数据。第19页,共32页,编辑于2022年,星期三前向预测(3)问题:若同一块中有两个不同的运动物体,则运动矢量必然不准确,导致预测误差增大。k-1与k帧中各子块的相互关系1234567891011121312734561389101112K-1帧K帧也可以使用像素递归法得到每个像素的位移矢量。但是运算复杂,而且对于大面积
10、的运动物体,像素递归法反而会由于噪声的存在,导致同一物体的运动矢量不一致。因此实用中,常选用块匹配算法。第20页,共32页,编辑于2022年,星期三后向预测与双向预测如果用k帧预测k-1帧的图像,称为后向预测为提高压缩比,往往需要用前后两帧来预测中间帧,称为双向预测。利用两个运动矢量和预测值,进一步降低预测误差。问题:会引入延时。K-1帧K帧K+1帧第21页,共32页,编辑于2022年,星期三具有运动补偿的帧间内插第22页,共32页,编辑于2022年,星期三帧间内插(1)在发送端每隔一段时间,丢掉一帧或几帧图像,在收端利用帧间相关性将丢掉的帧恢复,适用于低比特率传输,如可视电话。简单的接收帧重
11、复显示。这样动作会不连续。线形内插恢复丢失帧。ABC传送帧丢弃帧传送帧第23页,共32页,编辑于2022年,星期三帧间内插(2)ABk-帧i帧k帧当存在运动物体时,简单内插会引起图像模糊,必须加入运动补偿。相邻两帧比较,分为不变区域,变化区域变换区域又分为运动物体,由于运动而覆盖的背景以及新暴露的背景。这4块区域需要不同的处理方法。帧间内插要求运动矢量估计更准确,一般采用像素递归法。第24页,共32页,编辑于2022年,星期三运动图像编码系统典型的编码器框图速率控制的反馈编码速率的范围第25页,共32页,编辑于2022年,星期三典型的编码器框图DCT缓存熵编码QDQIDCT运动估值参考帧存储运
12、动补偿预测预处理+图像复杂度分析速率控制视频信号入运动矢量压缩码流编码器-第26页,共32页,编辑于2022年,星期三典型的解码器框图熵解码DQIDCT帧存储运动补偿+运动矢量视频信号压缩码流解码器第27页,共32页,编辑于2022年,星期三速度控制策略编码器产生的码流速率是变化的,为了适应恒定速率信道的要求,需要在编码器和信道之间设置一个缓存器。缓存器的充满程度与码流速率和信道速率的差值有关。为了防止缓存器的溢出或清空,需要利用反馈机制去控制量化器的量化间隔来稳定码流。一般来说,运动较大时,预测后余量信号动态范围较大,产生较多的码流,通过反馈,使得量化间隔变大,码率下降,但是图像质量也相应的
13、下降。因此我们看到同样的情况下,运动剧烈的视频质量,往往不如运动比较平稳的视频。第28页,共32页,编辑于2022年,星期三速度控制的反馈模型基本思想是:根据信道速率,为每帧图像规定好编码的比特数,称为目标比特分配;然后在编码中,通过调整量化间隔,使编码的实际比特数,接近其预分配值。目标比特分配:设Ti,Tp,Tb为三种帧的目标比特数,应和信道速率Rc匹配。若实际帧的编码比特为Si,Sp,Sb,实际数据速率为Rc。则将目标比特数更新为Tx=Sx*Rc/Rc。码率调整:量化间隔Q=Qmin+Buf/N,其中Qmin为量化间隔的下限,N为系数,Buf为缓冲器中数据量。Buf由下式更新:Buf+=S
14、B-NB。其中SB为实际的编码比特数,NB为目标比特数。第29页,共32页,编辑于2022年,星期三编码器码流的速度范围尽管从一段时间平均的来看,编码器通过速率控制使其输出码流的速率保持恒定,但是对每一帧图像而言,编码后的数据量并不相同。对于恒定速率信道而言,每个已编码帧的数据量的变动不应超过一定的范围。我们利用VBV(Video Buffer Verifier)模型来进行描述第30页,共32页,编辑于2022年,星期三VBV模型(1)VBV是一个假想的解码器,在解码器前有个容量为B的缓存器。右图表示随着时间的推移,缓存器中数据量的变化。其中tn表示帧的采样时刻,dn表示一帧图像的数据,Bn表
15、示缓存器中的剩余数据。0Bttn+1tnt1d1Bn+1BnB1dndn+1BFVBV-delay解码器B第31页,共32页,编辑于2022年,星期三VBV模型(2)若tn时刻剩余量为Bn,为了保证有足够数据提供给tn+1时刻作解码,要求Bn+Rc/fr=dn+1,其中fr为帧率若tn+1时刻取走的数据很少,缓存器也要有足够的空间容纳信道上数据的进入,即Bn+Rc/fr dn+1+Rc/fr=B综上,如果解码器开始取数据时,缓存器的数据量是BF,则(dn+1)max=BF+nRc/fr-di (dn+1)min=(dn+1)max+Rc/fr-B编码器应该稳定地工作在上面的范围内,同时Rc,B,VBV-delay等参数应在码流中传送到对端,以便解码器构建其缓存器。第32页,共32页,编辑于2022年,星期三