参考链接:
1. 块效应
(1)概念:
块效应是指视频经编码处理再解码显示的图像相比未经处理的图像常常出现小块边界处明显不连续的现象,看上去就像图片被划分成了一个个大小不一的豆腐块,在图像内容相对单一的区域(例如大块的天空)时尤其明显。
(2)产生原因:
①编码残差时,对其进行基于块的DCT变换,割裂了块与块之间的相关性。
②对DCT变换结果,即在频域进行量化处理(有损压缩),反量化、反变换后,即时域的重建像素块边缘就会出现明显的跳变,看起来就像有明显的划分块边界。
③ 帧间预测的参考块可能取自不连续的区域,导致块边界存在不连续的现象。
(3) 解决方案:
引入环路后处理,对反变换反量化后的结果进行去方块滤波处理,即常说的deblock算法(采用混合编码框架的视频编解码,从H264开始采用),针对边界处两边的四个点做自适应平滑滤波,可明显减少块效应。
2. 振铃效应
(1)概念:
振铃效应是指输出图像的灰度剧烈变化处产生的震荡,就好像钟被敲击后产生的空气震荡,具体见图。
图像处理中,对一幅图像进行滤波处理,若选用的频域滤波器具有陡峭的变化,则会使滤波图像产生“振铃”。
(2)产生原因:
视频编码中是由DCT变换引起的。详细解释参见振铃效应。
(3)解决方案:
引入环路后处理,对反变换反量化后的结果进行样点自适应补偿,即H265中引入的SAO算法,将重建像素按照边界情况或者值的大小进行分类,进行边界补偿或边带补偿。
3. 呼吸效应
(1)概念:
呼吸效应是指视频中I帧和P/B帧切换时的图像质量差别较大,其中I帧图像清晰、主观感受较好,而P/B帧则相对模糊、主观感受较差。
在低码率(主要通过降低P/B帧的码率来实现目的)的视频监控场景下,呼吸效应尤其明显。
更正:有种说法是因为IDR帧较大,为了减少瞬时网络冲击造成丢帧及增大延时,应用中会通过增大IDR帧的QP来降低IDR帧大小,同时会降低IDR帧质量引起呼吸效应。跟前面的说法不一致,暂以此为准。(此种说法已阐明了形成呼吸效应的原因,下不赘述。)
(2)产生原因:
① I帧通常也为IDR帧(关键帧),采用帧内预测(消除空间冗余)进行编码,是其后所有参考帧的基础,因此量化参数QP一般设得较低,图像质量较高,码率也较大。毫不夸张地说,IDR帧凭一己之力决定了两个IDR帧之间的视频质量。
② P/B帧同时采用帧内预测和帧间预测进行编码,通常帧间预测(消除时间冗余)占比较高。GOP结构中绝大多数都是P/B帧,重要性比IDR帧低,为了有效降低码率,可忽略一些不重要的细节,将量化参数QP设得较大。因此P/B帧的图像质量一般要比I帧差。
(3)解决方案:
产生的原因和码控机制有关,觉得I帧比P/B帧更重要,给前者设置了更小的QP。解铃还须系铃人,解决也需要从码控算法入手,比如将CBR(固定码率)码控算法改成CQP(固定QP)码控算法,可在一定程度上缓解呼吸效应。或者采用更为精准的基于内容的编码,突出重点内容,弱化非重点内容,达到既能降低码率,又能保证图像质量的目的。
4. 拖尾效应
(1)概念:
拖尾效应是指动态画面似乎不连贯,运动不够流畅,运动影像后面总有一部分拖尾的现象。
(2)产生原因:
拍摄快速运动的对象时,画面帧率不足造成的。
(3)解决方案:
① 适当控制画面中的运动情况。
② 提高帧率。