HEVC环路后处理核心介绍

news2024/10/7 8:28:52

介绍

为什么需要环路后处理技术

hevc采用基于快的混合编码框架,方块效应、振铃效应、颜色偏差、图像模糊等失真效应依旧存在,为了降低此类失真影响,需要进行环路滤波技术;

采用的技术

去方块滤波DF,为了降低块效应;

像素自适应补偿SAO,为了改善振铃效应;

经过滤波的重构像素为后续像素的参考使用,更有利于参考,进一步减少预测残差,提升主观质量;
在这里插入图片描述

去方块滤波

造成块效应的原因

各个块的变换量化编码过程相互独立,量化误差导致相邻块的边界不连续;

运动补偿预测中,相邻块的预测值可能来自不同图像的不同位置,导致预测残差信号在块的边界产生数值不连续;

时域预测技术使得参考图像中存在的边界不连续也会传递给后续编码图像;

hevc中去方块滤波技术优势技术点

亮度和色度均对8x8的块边界进行处理,且对色度仅当边界两侧至少有一个块采用帧内预测模式时,该边界才需要滤波,降低滤波次数;

每行像素边界两边最多修正3个像素值,使得8x8的块边界空间独立,可并行;

可以先处理垂直边界,再水平边界,而非h264的水平垂直穿插进行,使CTB解码顺序更加灵活;

关掉去方块滤波技术,同样质量带来1.83%~4.19%的比特率增加;

hevc去方块滤波技术

针对所有PU和TU中的8x8的块边界处理;

两个环节:滤波决策、滤波操作
■ 滤波决策得到边界的滤波强度及滤波参数;
● 三个步骤:获取边界强度、滤波开关决策、滤波强弱选择;
● 获取边界强度是根据边界块的编码参数初步判定边界是否需要滤波以及滤波参数;BS(Boundary Strength) = 0、1、2;
● 滤波开关决策进一步对视频内容进行分析,根据边界两侧块内像素的变化以及量化参数;人眼的空间掩盖效应,图像的平坦区域的不连续块边界更容易被观察到;
● 滤波强弱选择根据视频内容 (块边界及块内部像素值的变化)及编码参数 (量化参数)进一步判断边界是否需要滤波以及选择合适的滤波强度,因为边界的不连续也可能是视频自身内容所致。
■ 滤波操作根据滤波强度和参数对像素进行修正;

有自适应能力,针对不同视频内容以及不同编码参数具有自适应能力;

虽然以8x8的边界,实际是分成两部分独立进行处理,垂直边界以8x4为基本单位,水平边界以4x8为基本单位;

当BS=2时,色度分量需要进行滤波操作;

● 实现方法
○ 因滤波顺序可以有多种形式:以CTB为基本单位,按raster扫描(光栅扫描)处理、以整幅图划分成不重叠的8x8的块、以CU为基本单位,按Z扫描;
○ 整体遵循整幅图像先水平滤波、再垂直滤波,仅对8x8的块边界处理的原则;
○ Z扫描:(不同于zigzag扫描):对于任何一个边长为偶数的正方形来说,都先扫描左上角,再是右上角,然后是左下角,最后是右下角,如下图的数字增大顺序所示:
■ 在HEVC中CU采用的是递归划分的方式,Z字形扫描顺序保证了对于不同分割都能按照相同的遍历顺序进行寻址,有利于程序中的递归实现。
在这里插入图片描述在这里插入图片描述
○ zigzag扫描:
在这里插入图片描述
○ raster扫描:即从左到右,从上到下
在这里插入图片描述

SAO

h265采用基于块的DCT变换,并在频域对变换系数量化,因此对于图像的强边缘,由于高频交流系数的量化失真,解码后会在边缘周围产生波纹现象,就叫做振铃效应;根本原因就是高频信息的丢失;
在这里插入图片描述
样点自适应补偿技术SAO从像素域入手降低振铃效应,对重构曲线中出现的波峰像素添加负值进行补偿,波谷添加正直进行补偿;

SAO以CTB为基本单位,选择合适的分类起讲重建像素划分类别,对不同类别像素使用不同的补偿值;

包括两大类补偿形式:边界补偿EO、边带补偿BO,还有参数融合技术;

边界补偿

比较当前像素值域相邻像素值的大小对当前像素进行归类,对同类像素补偿相同数值;

4种模式:水平、垂直、135度、45度,在任意一种模式下,将重构像素归为5个不同种类,不属于前4种的都归为第5种,90%的补偿值,其符号与种类相匹配;
在这里插入图片描述

边带补偿

根据像素强度值进行归类,将像素范围等分32条边带;

在一定的像素区域内,像素值的波动范围很小,h265规定一个CTB只能选择4条连续的边带;

SAO参数融合

本CTB的SAO参数直接使用相邻块的SAO参数,只需要标识采用哪个相邻块的SAO参数即可;

想使用参数融合,一个CTU的亮度、色度分量必须同时使用左相邻块的补偿参数,或者同时使用自身上相邻块的补偿参数,否则采用非参数融合;

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

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

相关文章

ADC和DAC的工作原理及其区别

ADC和DAC的工作原理及其区别 ADC和DAC都是用于模拟信号与数字信号之间的转换器。 ADC,即模数转换器,是将连续的模拟信号转换为数字信号的电路。其输入为模拟信号,输出为数字信号。ADC的主要组成部分是模拟信号采样模块、模拟信号处理模块、模…

生态系统服务(InVEST模型)土壤保持、水源涵养、氮磷输出、生态保护、生物多样性、碳固

白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作;重点围绕生物多样性、生态系统服务与价值等,构建生物地球化学模型和评价指标体系,为城市、区域和自然保护区的可持续…

sqlserver中动态sql语句应用

前言 一、使用exec 1.用拼接方法 二、使用sp_executesql 1.用拼接方法 2.传参的方法 总结 前言 例如:列表查询条件不固定,根据前端传过来的参数,这时需要根据查询条件后台动态生成SQL语句 一、使用exec exec适用于字符串拼接的方式&#xf…

mac安装python

接上集,我们已经安装了Homebrew 那么在 macOS 上安装 Python 有多种方法,以下是其中两种常用方法: 1:使用 Homebrew 安装 Python Homebrew 是 macOS 上的包管理器,可以方便地安装和管理各种软件包。如果您已经安装了…

美国E8267C是德(KEYSIGHT) E8267D 20G/44G矢量信号发生器

Agilent E8267C、Keysight E8267D、 PSG 矢量信号发生器,高达 44 GHz ​Keysight E8267D (Agilent) PSG 矢量信号发生器是业界首款 I/Q 调制高达 44 GHz 的集成微波矢量信号发生器。它具有先进的宽带内部基带发生器,能够灵活地播放任意波形或生成复杂的…

在Windows11上模拟运行Linux命令的几种方式

在 Windows 上运行 Linux 命令的软件有很多,以下是其中几个比较常用的: Cygwin Cygwin 是一个为 Windows 提供类 Unix 环境的开源软件,它包含了大量的 Unix 工具和命令,可以在 Windows 上运行 Linux 命令。 安装命令 winget i…

【Java 继承】了解Java类的继承的特点,继承的关系,继承的使用,到底什么是继承?

博主:_LJaXi Or 東方幻想郷 专栏: Java | 从入门到入坟 Java 继承 继承的特点 \ 介绍 ❓特点 ♊ 继承的使用方式 🔞避免重复方法 子类访问父类的成员变量 🈲子类访问父类的成员变量(直接访问)访问父类与子类…

MapReduce实战案例(3)

案例三: MR实战之TOPN(自定义GroupingComparator) 项目准备 需求测试数据 有如下订单数据 订单id商品id成交金额Order_0000001Pdt_01222.8Order_0000001Pdt_0525.8Order_0000002Pdt_03522.8Order_0000002Pdt_04122.4Order_0000002Pdt_05722.4Order_0000003Pdt_01222.8 现在…

6 具有 OCR 功能的顶级 PDF 图像转 Word 转换器

如果您在 PDF 图像中找到一些有用的信息并想转换为 Word 格式以供进一步使用,您将需要一个具有OCR 功能的 PDF 图像转 Word 转换器,该转换器旨在识别 PDF 图像中的文本并将其制作出来可编辑。 将 PDF 图像转换为 Word 并不容易,因为我们需要…

高压放大器工作原理(高压放大器怎么用的)

高压放大器是一种能够将低电平信号放大到足够高的电平,以便用于驱动大功率负载或处理高电压信号的电子设备。它广泛应用于各种电子设备中,例如音频放大器、射频放大器、电力电子设备等。下面我们将详细介绍高压放大器的工作原理以及使用方法。 高压放大器…

一分钟:GTP鼓谱导出转换MIDI格式教程

const loadPromise self.osmd.load("/resource/test");loadPromise.then(function () {self.osmd.render();});作为一名鼓手,我深知鼓谱转换MIDI格式的重要性,但是找了好久,一直没有找到一个好用的工具。 直到我发现了GTP鼓谱转换…

下载YouTube视频的一种方法

文章目录 工具名称下载方法使用方法1.只下载音频2.下载音频转换成mp3(加上-x –audio-format参数)3.下载视频(带音频)ID:22 | EXT:mp4 | 1280*720 下载的数据集:YouCook2 工具名称 yt-dlp 下载…

doxygen使用: 跨平台方式让markdown文件包含另一个文件

文章目录 1. 目的和问题2. 解决思路2.1 FILTER_PATTERNS 选项2.2 基于 Python 的 FILTER_PATTERNS 选项2.3 sledcpp.py 脚本 3. 完整工程3.1 目录结构3.2 hello.h 文件内容3.3 CHANGELOG.md 文件内容3.4 generate_doxyfile.py 文件内容3.5 docs/root.md3.6 docs/changelog.md3.…

Redis 事务详细介绍

事务 注意:Redis单条命令是保证原子性的;但是事务不保证原子性! Redis事务没有隔离级别的概念,所有的命令在事务中,并没有直接被执行,只有发起执行命令时才执行 Redis事务本质:一组命令的集合&…

API接口对接的流程和注意的事项

API接口对接是将两个应用程序或系统连接并进行数据交换的过程。在进行API接口对接时,需要确保两个系统具有相同的协议和格式,并且数据传输过程中不会出现错误或数据丢失。下面是API接口对接的流程和注意事项: 流程: 1.确认数据格…

【多目标优化算法】多目标蚱蜢优化算法(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Linux——进程退出

目录 一.进程退出时有三种选择: 1.1 echo $?命令: 功能: 打印距离现在最近一次执行某进程的退出码 例2代码: 例3: 例4代码: 1.3 进程运行过程中可能会出现的错误种类: 二.总结&#xff…

神经网络学习小记录73——Pytorch CA(Coordinate attention)注意力机制的解析与代码详解

神经网络学习小记录73——Pytorch CA(Coordinate attention)注意力机制的解析与代码详解 学习前言代码下载CA注意力机制的概念与实现注意力机制的应用 学习前言 CA注意力机制是最近提出的一种注意力机制,全面关注特征层的空间信息和通道信息…

Unity随手问题记录(持续更新~~)

目录 1.将摄像机定位到模型实际中心点前边(防止有些模型中心点和实际模型中心位置偏移很大的情况) 2.获取当鼠标在RawImage上时,鼠标位置对应的图像坐标(简单粗暴方式) 3.设置脚本运行顺序 4.当plugins底下出现dll文件识别不到的情况&#xf…

LeetCode 1110. Delete Nodes And Return Forest【二叉树,DFS,哈希表】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…