去方块滤波技术简述

原创 2007年09月23日 08:56:00

去方块滤波技术简述

      ——基于H.264

1、引入去方块滤波技术的动机:消除方块效应

方块效应的产生:a、基于块的帧内和帧间预测残差的DCT变换,其量化过程相对粗糙,因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的视觉不连续;

                                b、运动补偿预测造成的复制块边界上数据不连续。

 

2H.264标准中使用的去方块滤波器:环路滤波器

3H.264去方块滤波器的自适应特性

   3.1、片级,全局滤波强度能根据视频序列个体的特征进行调节

   程序体现:

code_a_picture()

{

        …………

        if (input->rdopt == 2 && (img->type != B_SLICE))

           for (j = 0; j < input->NoOfDecoders; j++)

              DeblockFrame (img, decs->decY_best[j], NULL);

 

       DeblockFrame (img, enc_picture->imgY, enc_picture->imgUV);

       …………

}

 

3.2、图像块边界级,滤波强度依赖于边界两边图像块的帧间/帧内预测、运动矢量差别及变换量化是否为对残差编码

强度bS的定义与判断:标准文档8.7.2.1规定了bS=4,3,2,1,0时各图像块需要满足的条件

程序体现:调用DeblockMb( img, imgY, imgUV, i )下的子函数GetStrength()

注:色度块边界滤波的bS值不另外单独计算,而是从相应亮度块边界的bS值复制而成。

 

3.3、图像样点级,样点值及与量化参数相关的阈值可以决定是否对每个样点进行滤波

    标准文档8.7.2.2部分.

程序体现:调用DeblockMb( img, imgY, imgUV, i )下的子函数EdgeLoop()

4、具体滤波过程

        可参阅标准文档8.7.2.3-8.7.2.4部分

  程序实现:调用DeblockMb( img, imgY, imgUV, i )下的子函数EdgeLoop()

 

5、相关程序中比较重要的变量,结构

   注:程序中比较重要的变量,结构,已经在相对应的源文件loopFilter.c中进行了注释

 

6、阅读后的感受

   标准对去块滤波的强度划分相对比较细致,代码的实现也很巧妙。去块滤波技术,对图像的主观质量有着一定的改善。通过该部分的学习,为我们更加有效的设计基于HVS的滤波器,提供了一定的参考。  

 

7、主要参考学习资料

[1]标准文档;

[2] 新一代视频压缩编码标准——H.264/AVC  毕厚杰;

[3]JM86校验模型。

 

HM编码器代码阅读(26)——去方块滤波

去方块滤波 主函数:TComLoopFilter::loopFilterPic     1、水平边界滤波         遍历图像中的每一个CU,对每一个CU中的PU或者TU的水平边界进行滤波(CU可...
  • NB_vol_1
  • NB_vol_1
  • 2017年02月12日 17:40
  • 738

HEVC去方块滤波原理以及代码流程

代码版本:HM-16.2+SCM-3.0rc1 时间: 2015/5/17 作者: LB环路滤波以及SAO在代码中的大概流程如下图所示: 下面分别对去方块滤波和SAO的原理和相关代码作分析。...
  • linpengbin
  • linpengbin
  • 2015年08月26日 17:02
  • 1394

HEVC/H.265理论知识(7)——环路滤波

一、环路滤波的目的是为了提高视频质量,降低去方块效应和振铃效应。 二、环路滤波可以分成两大步骤: 1、去方块滤波 2、SAO(像素自适应补偿) 三、去方块滤波介绍 1、方块效...
  • NB_vol_1
  • NB_vol_1
  • 2016年11月22日 17:25
  • 1421

HM中去方块滤波的禁用方法

有时候我们想禁用掉HM的去方块滤波,测试下去方块滤波的效果,很容易就想到要修改配置文件,根据注释,容易找到:        LoopFilterDisable             : 1    ...
  • HEVC_CJL
  • HEVC_CJL
  • 2013年08月13日 17:47
  • 3203

HEVC学习(三十三) —— 去方块滤波之四

本文考察Boundary Strength (BS)的获取过程: Void TComLoopFilter::xGetBoundaryStrengthSingle ( TComDataCU* pcCU...
  • HEVC_CJL
  • HEVC_CJL
  • 2013年01月25日 16:03
  • 4231

去方块滤波(转载)

自:http://www.go-gddq.com/html/DSP/2011-02/556860.htm 引言   在已有的基于块的视频编解码系统中,当码率较低时都存在方块效应,新的视频编码标...
  • sogarme
  • sogarme
  • 2014年02月26日 19:17
  • 1338

HEVC学习(三十) —— 去方块滤波之一

去方块滤波的详细过程可参看draft 8.7.1 to 8.7.2 。      在compressGOP中可以找到下面一段代码,这里就是调用去方块滤波的地方 //-- Loop fi...
  • HEVC_CJL
  • HEVC_CJL
  • 2013年01月24日 21:37
  • 7557

OpenCV之图像滤波简述

图像的空间域和频域构成了描述图像的两种方式,前者对应图像中不同灰度的分布,后者则用于描述图像灰度变化的频率。那么从空间域来看,图像滤波就是去除图像中的噪声,提取感兴趣的部分;而在频域中,滤波的作用是增...
  • qq_23968185
  • qq_23968185
  • 2016年08月27日 21:40
  • 470

将模糊技术用于灰度变换和空间滤波

一、模糊技术   先举例说一下模糊集合,以人为例,如果把一群人分为男人和女人,那么有个很清晰的划分,从性别角度讲,一群人就是“干脆”集合;而如果把这群人分成年轻人和非年轻人,界限就是很模糊的,比如三...
  • shishc
  • shishc
  • 2013年08月29日 16:00
  • 1252

Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法

1 什么是ajax   ajax是一种用来改善用户体验的技术,其本质是利用浏览器提供的一个对象(XMLHttpRequest,也可称之为ajax对象) 向服务器发送异步请求;服务器返回部分数据(不是...
  • g6uqwseseo
  • g6uqwseseo
  • 2017年05月24日 09:38
  • 191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:去方块滤波技术简述
举报原因:
原因补充:

(最多只允许输入30个字)