H264编码标准环路滤波原理

news2024/9/21 16:27:45

方块效应产生原因

  1. 原因 1:最重要的一个原因是基于块的帧内和帧间预测残差的 DCT 变换。变换系数的量化过程相对粗糙,因而反量化过程恢复的变换系数带有误差,会造成在图像块边界上的视觉不连续。
  2. 原因 2:其次原因自于运动补偿预测。运动补偿块可能是从不是同一帧的不同位置上的内插样点数据复制而来。因为运动补偿块的匹配不可能是绝对准确的,所以就会在复制块的边界上产生数据不连续。 当然,参考帧中存在的边界不连续也被复制到需要补偿的图像块内。

去块效果对比

  1. 去块滤波与不去块滤波的画面主观差异:a 是没有采用去块滤波的效果,b 是采用去块滤波的效果。
    在这里插入图片描述

H264编码标准环路滤波原理

边界分析

  1. 4x4 方块的误差分析
    • 当对残差用方块变换进行编码时,方块边界比内部的编码误差大。对这个现象的合理解释是内部点的重建是对周围点进行加权平均得到。而边界点所用到的加权平均点较少,所以重建效果较差。 这个误差分布不均匀的后果是需要方块边界滤波以提高图像客观质量。
  2. 自适应边界级滤波器
    • 边界强度 Bs 决定去方块滤波器选择滤波参数,控制去块效应的程度,对所有 4x4 的亮度边界,边界强度的参数值在0~4 之间,具体的取值与边界的性质有关,如下表,从上往下进行判断,符合什么条件就将 bs 赋值相应的值;
      在这里插入图片描述
    • Bs 决定对边界的滤波强度,当为 4 时用特定最强的滤波模式,当为 0 时不需要进行滤波,1~3 时用普通滤波模式,Bs 值影响滤波器对样点的最大修正程度。Bs 值的下降趋势说明最强的方块效应主要来自于帧内预测模式及对预测残差编码,而在较小程度上与图像的运动补偿有关。
    • 色度块边界滤波的 Bs 值不另外单独计算,而是从相应亮度块边界的 Bs 值复制而来。
  3. 自适应样点级滤波器
    • 在去方块滤波中,非常重要的是要区分图像中的真实边界和由 DCT 变换系数量化而造成的假边界。为了保持图像的逼真度,应该尽量滤除假边界以不致被看出的同时保持图像真实边界不被滤波。
    • 为了区分真边界和假边界,需要分析每个要被滤波的边界两边的采样值;如下图,定义两个 4x4 块中一条直线上样点为p3、p2、p1、p0、q1、q2、q3;实际的图像边界在 p0 和 q0 之间;
      在这里插入图片描述
    • 为了区分真假边界,定义一对与量化相关的参数,用来检测图像内容,如下公式,只有都满足时,直线上的样点才进行滤波:
      在这里插入图片描述
    • 两个参数根据边界两边的平均量化参数查表得到,公式如下,其中 QP取值 0~51,OffsetA和 OffsetB 是在编码器中选择的偏移值。
      在这里插入图片描述
    • 两个参数的满足如下经验和查表:
      在这里插入图片描述
      在这里插入图片描述
  4. 自适应片级滤波器:在片级上,编码器可以通过选择偏移(OffsetA和 OffsetB )来调整滤波器中的一对与量化相关的参数,偏移值在片头语法中传输,应用于上面的查表。

滤波过程

  1. 滤波是基于宏块进行的,先对垂直边界进行水平滤波,然后对水平边界进行垂直滤波;两个方向滤波后再进行后面的宏块滤波,按照 raster 扫描方式顺序滤波。
  2. 如下,滤波顺序为:16x16 亮度 a-b-c-d-e-f-g-h;8x8 色度 i-j-k-l。
    在这里插入图片描述
  3. 边界强度 Bs 为 1~3 的滤波运算:
    在这里插入图片描述
  4. 限幅:
    在这里插入图片描述
    在这里插入图片描述
  5. 边界强度 Bs 为 4 的滤波:
    • 帧内编码时,同一图像区域编码倾向采用 16x16 的亮度预测模式,会在宏块边界引起小幅度的方块效应,由于马赫带效应(Mach band effect),很小的强度差在视觉上也会引起陡峭的阶梯感觉,为了消除这么效应,需要在图像内容平滑的两个宏块边界采用较强的滤波器;
    • 对亮度滤波,根据图像内容选择较强的 4 拍或 5 拍滤波器,还是较弱的 3 拍滤波器;4 拍 或 5 拍滤波器对边界两边的边界点及两个内部点进行修正,而 3 拍滤波器仅改变边界点。只有下面的跨边界差异的约束条件成立才使用较强的滤波器:
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1951169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程

源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 加入课程 我们先看下加入课程 1.是否登录 2.课程是否存在 3.是否已经存在 4.添加 首先实现逻辑 def get_student_course(db: Session, course: int…

4.Jmeter接口性能测试

性能测试的指标: 多:并发量(用户数-系统用户数-影响到磁盘、在线用户数、并发用户数) 系统用户数:软件系统注册的用户总数(要注意初始化环境) 在线用户数:某段视角内访问用户数,这些用户只是咋先,不一定同时做某一件事情。(初始化环境(warm up热机:让…

DL/T645、IEC104转BACnet网关实现实时数据采集

BA102网关是钡铼技术专为实现电力协议DL/T645、IEC104与楼宇自控协议BACnet相互转化而研发的。它下行采集支持Modbus RTU、Modbus TCP、DL/T645、IEC104等协议,上行转发则支持BACnet IP和BACnet MS/TP协议,从而实现了电力协议与楼宇自控协议之间的相互转…

CJS与ESM:CJS

模块化方案 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至…

【算法】分布式共识Paxos

一、引言 在分布式系统中,一致性是至关重要的一个问题。Paxos算法是由莱斯利兰伯特(Leslie Lamport)在1990年提出的一种解决分布式系统中一致性问题的算法。 二、算法原理 Paxos算法的目标是让一个分布式系统中的多个节点就某个值达成一致。算…

LoRaWAN设备的两种入网方式(ABP和OTAA)

目录 一、OTAA 1、名词解释 2、入网流程 二、ABP 三、两种入网方式的比较 一、OTAA 1、名词解释 (1)AppEUI:64位(8字节)的唯一标识符,用于标识特定的应用程序或组织(如果用的是chirpstac…

Linux的yum源安装MySQL5.7

linux的yum源安装MySQL5.7 一、MySQL 1、简介 MySQL 是一种流行的关系型数据库管理系统(RDBMS),由瑞典公司 MySQL AB 开发,后来被 Oracle Corporation 收购。它是一个开源软件,提供了高效、稳定和可靠的数据管理解决…

VLAN与三层交换机

文章目录 VLAN的功能与优势VANE优势基于端口划分 VLAN的优先级最低,是最常用的VLAN划分方式。 VLAN的范围![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f3f61b8a05ac46a5be263b38816db79f.png)VLAN的帧格式交换网络中的链路类型 交换机的链路类型端口类…

笔试编程算法题笔记(三 C++代码)

1.kotori和n皇后 题意简单来说就是,在一个无穷大的棋盘上,不断插入k个皇后,皇后们如果在 同一行,同一列,在一个45主对角线 在一个135副对角线上,就可以互相攻击。 我们需要判断在第i个皇后插入后&#xff…

Codeforces 903 div3 A-F

A 题目分析 数据范围很小&#xff0c;暴力枚举即可&#xff0c;然后给字符串x的长度设置一个上限&#xff0c;我设了50&#xff0c;因为n*m<25&#xff0c;多一倍够用了 C代码 #include<iostream> using namespace std; void solve(){int n,m;string x,s;cin>>…

视频怎么加密?常见的四种视频加密方法和软件

视频加密是一种重要的技术手段&#xff0c;用于保护视频内容不被未经授权的用户获取、复制、修改或传播。在加密过程中&#xff0c;安企神软件作为一种专业的加密工具&#xff0c;可以发挥重要作用。 以下将详细介绍如何使用安企神软件对视频进行加密&#xff0c;并探讨视频加密…

VUE3学习第三篇:报错记录

1、在我整理好前端代码框架后&#xff0c;而且也启动好了对应的后台服务&#xff0c;访问页面&#xff0c;正常。 2、报错ReferenceError: defineModel is not defined 学到这里报错了 在vue网站的演练场&#xff0c;使用没问题 但是在我自己的代码里就出问题了 3、watchEffec…

等级保护测评解决方案

什么是等级保护测评&#xff1f; 网络安全等级保护是指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护&#xff0c;对信息系统中使用的信息安全产品实行按等级管理&#xff0c;对信息系统中发生的信息安全…

【NPU 系列专栏 3 -- NVIDIA 的 H100 和 H200 的算力介绍】

请阅读【嵌入式及芯片开发学必备专栏】 文章目录 NVIDIA H100 和 H200 的算力NVIDIA H100 芯片的算力NVIDIA H100 算力参数NVIDIA H100 举例 NVIDIA H200 芯片的算力NVIDIA H200 算力参数 H200 的内存和带宽提升H200 推理吞吐量提高H200 性能提升NVIDIA H200 举例Summary NVIDI…

DLMS/COSEM中公开密钥算法的使用_椭圆曲线加密法

1.概述 椭圆曲线密码涉及有限域上的椭圆曲线上的算术运算。椭圆曲线可以定义在任何数字域上(实数、整数、复数)&#xff0c;但在密码学中&#xff0c;椭圆曲线最常用于有限素数域。 素数域上的椭圆曲线由一组实数(x, y)组成&#xff0c;满足以下等式: 方程的所有解的集合构成…

C 语言动态链表

线性结构->顺序存储->动态链表 一、理论部分 从起源中理解事物&#xff0c;就是从本质上理解事物。 -杜勒鲁奇 动态链表是通过结点&#xff08;Node&#xff09;的集合来非连续地存储数据&#xff0c;结点之间通过指针相互连接。 动态链表本身就是一种动态分配内存的…

【C++】C++应用案例-翻转数组

翻转数组&#xff0c;就是要把数组中元素的顺序全部反过来。比如一个数组{1,2,3,4,5,6,7,8}&#xff0c;翻转之后就是{8,7,6,5,4,3,2,1}。 &#xff08;1&#xff09;另外创建数组&#xff0c;反向填入元素 数组是将元素按照顺序依次存放的&#xff0c;长度固定。所以如果想要…

全网最详细Gradio教程系列5——Gradio Client: javascript

全网最详细Gradio教程系列5——Gradio Client: javascript 前言本篇摘要5. Gradio Client的三种使用方式5.2 使用Gradio JavaScript Client5.2.1 安装1. npm方式2. CDN方式3. 在线运行环境&#xff1a;PLAYCODE 5.2.2 连接到Gradio程序1. 通过URL或SpaceID连接2. 辅助&#xff…

RuoYi-Vue-Plus (多数据源注解使用、【手动、拦截器】切换数据源)

接上文多数据源配置&#xff1a; RuoYi-Vue-Plus (多数据源配置)-CSDN博客 一、功能演示 代码生成菜单页面&#xff0c; 展示数据源切换 查询主库 查询从库 二、前端传参切换数据源 页面路径&#xff1a; src/views/tool/gen/index.vue 搜索框如下&#xff1a;下面4发送请求时…