HEVC环路后处理核心介绍

news/2025/2/13 3:04:26/

介绍

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

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.ppmy.cn/news/106031.html

相关文章

IO多路复用详解

文章目录 基本概念select系统调用详解select函数定义select的底层原理select的优缺点 poll系统调用详解poll函数定义调用poll的底层原理poll的优缺点 epoll系统调用详解epoll相关的函数定义epoll的底层原理epoll的优缺点 ET vs LT基本概念epoll_ctl模式设置 应用场景基于IO多路…

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

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

【回顾经典AI神作】卷积神经网络CNN架构系列:LeNet,AlexNet,VGG,GoogLeNet,ResNet

卷积神经网络(CNN或ConvNet)是一种特殊的多层神经网络,旨在以最少的预处理直接从像素图像中识别视觉模式。ImageNet项目是一个大型视觉数据库,设计用于视觉对象识别软件研究。ImageNet 项目举办年度软件竞赛,即 ImageNet 大规模视觉识别挑战赛 (ILSVRC),软件程序竞相正…

多云环境中的微服务应用安全挑战

随着越来越多的组织将云策略扩展到私有云、公共云、本地数据中心和边缘站点,将多云作为数字转型倡议的一部分,新的安全挑战不断涌现,必须在安全倡议的每个阶段加以考虑。 在云中操作具有多个优势,任何组织,无论是公共…

【爬虫+数据清洗+可视化】用Python分析“淄博烧烤“的评论数据

一、背景介绍 您好,我是马哥python说 ,一枚10年程序猿。 自从2023.3月以来,"淄博烧烤"现象持续占领热搜流量,体现了后疫情时代众多网友对人间烟火气的美好向往,本现象级事件存在一定的数据分析实践意义。 …

删除排序数组的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums [1,1,2…

DDD 聚合根

在DDD中,聚合根是一种实体,它代表了一个聚合(Aggregate)的根节点。一个聚合是一组相关联的领域对象的集合,这些对象一起形成了一个有机的整体。聚合根是聚合内部的一个特殊实体,通过它我们可以访问和操作整…

Mongodb 为什么提起处理JSON 就是MOGNODB 的,因为我没得选

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…