HEVC变换编码介绍

news2024/9/22 7:24:37

介绍

● 图像变换编码是指将以空间域中像素形式描述的图像转化至变换域,以变换系数的形式加以表示;

● 图像都含有较多平坦区域和内容变化缓慢的区域,适当的变换可使图像能量在空间域的分散分布转为在变换域的相对集中分布,实现去除空间冗余目的,结合量化、“Z”扫描、熵编码等技术,实现对图像信息的有效压缩;

● 去相关性能最优的是K-L变换;

● DCT变换与输入信号无关,且实现快速,性能接近K-L变换,是构成主流混合视频编码框架的一项基本技术;

DCT变换

● 傅立叶变换表明,任何信号都可以表示多个不同的振幅和频率的正弦波或余弦波的叠加;

● 数学上一共有8类DCT变换,2类DCT应用最广泛,尤其在图像、视频编码领域;

● k=0,变换后值正比于输入信号的平均值,称为信号的“直流”(Direct Current,DC)分量;k>0,称为信号的“交流”(Alternate Current AC)分量;

● 整数DCT
○ 解决舍入误差、编解码失配问题,且运行速度大为提高;

h265中整数DCT

● 采用了4种不同的尺寸,4x4、8x8、16x16、32x32;

● 高分辨率视频在相同大小的区域内包含了更多的像素,因此像素间的相关性变得更强,采用更大的尺寸变换能够提高压缩性能;

● h265中整数DCT更接近传统的浮点DCT,4x4变换时整数化放大128倍,保留了更多的精度;

● h265不同大小的变换形式较为统一,主要由于整数化DCT矩阵时,不同大小的矩阵放大倍数不同,且满足一定规律,利用这特征,设计出具有统一形式的快速蝶形算法;

DST变换

● 采用正弦函数作为基函数,该分解称为正弦变换DST;

● 数学上DST变换也8类,h265中采用的是第7类;

h265中整数DST

● h265标准规定,在帧内4x4模式亮度分量残差编码中使用4x4整数DST,其余一律使用整数DCT;

● 帧内预测特征:距离预测像素越远,预测残差幅度越大,DST基函数能够很好的适应这特征;

● 可以使帧内编码性能提升0.8%,编码复杂度基本保持不变;

变换结构

● 变换单元TU是h265中变换、量化与熵编码的基本单位;

● CU可以以四叉树的形式划分TU;
在这里插入图片描述

● PU和TU直接由CU划分得到,因此PU和TU没有直接确定的关系;

● 一个PU可以能包含多个TU,一个TU也可能跨越多个PU,但二者都必须小于CU;

哈达玛变换

● 沃尔什-哈达玛(walsh- Hadamard transform WHT)是广义傅立叶变换的一种;

● Hadamard变换及其矩阵性质:
○ 矩阵所有元素都是±1、特征值也只包含±1、
○ 矩阵为正交、对称矩阵
○ 矩阵奇数行偶对称、偶数行奇对称
○ 满足帕斯瓦卡(parseval)定理,即变换前后能量守恒;

● 与DCT变换相比,仅含有加减法运算,且递归形式快速实现,此外正向变换与反向变换具有相同的形式,算法复杂度较低,容易实现;

● 在h264中,Hadamard变换用于亮度分量帧内16x16模式DC系数以及色度分量DC系数的变换,达到进一步去除相关性的目的;

● 在h265中,与友熵编码是以TU为单位(一个TU仅包含一个DC系数),且较大TU的使用同样具有去除相关性的作用,标准里未使用hadamard变换;

● 在图像、视频处理领域,Hadamard变换常用于计算残差信号的SATD(Sum of Absolute Transformed Difference),即将残差信号进行Hadamard变换后再求各元素绝对值之和;

● h265的官方指定代码HM在亚像素运动搜索过程中也使用了SATD;

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

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

相关文章

推出“百亿生态”,拼多多“极限左移”

文 | 螳螂观察 作者 | 陈小江 任何一个成功穿越周期的企业,都有一个共同的特点——在发展顺利的时候,主动跳出“舒适圈”,进而跳出一般企业“起始、成长、成熟、衰退”的发展周期,为企业发展画出漂亮的S型增长曲线。 日前&…

DC1通关

环境自己百度装好。 我的一台kali,一台DC都是52网段 1.nmap 扫一扫52网段 确定是143,然后针对143进行扫描 80开放,进去。 老熟人了 Drupal,直接msf开打 试了几个,use2直接getshell了 看看权限 尝试SUID提权 进入sh…

零基础如何入门网络安全?

要学习网络安全,其实自学是有局限的,没有设备和网络环境,除了web渗透,其他很多方面,只能在培训班实战环境里才合适,比如路由交换技术、安全设备、学会怎么架构和配置一个企业网络安全只架构。 还要学习系统…

chatgpt赋能Python-python中导入numpy

介绍 在Python编程领域中,NumPy是一个非常常用的库,它提供了高性能的多维数组对象和许多用于操作这些数组的函数。在科学计算、数据分析和机器学习等领域中,NumPy是必不可少的工具。 本文将详细介绍如何在Python中导入NumPy库,并…

opencv初步了解

https://www.bilibili.com/video/BV1PV411774y?p2&vd_sourcee7d12c9f66ab8294c87125a95510dac9 这里写目录标题 下载计算机眼中的图像视频gray cv2.cvColor(frame, cv.COLOR_BGR2GRAY) ROI边界填充数值计算图像融合 下载 pip install input cv2 cv2.__version__下载一些…

io之io模型

写在前面 本文一起看下常见的io模型。 1:基础知识 同步异步,阻塞阻塞,区别如下: 同步异步:描述的通信模式,即结果如果是主动的获取则是同步,处理结果是被动的接收则是异步 阻塞非阻塞:描述的…

网页提交文件无法打开问题解决办法(以学习通为例)

时长会碰到这样的情况,日常实训课在机房写实训作业时,将未完成的作业先暂存先在学习通里,但后续在登陆学习通时发现未提交的附件打不开了,经过翻阅之前web的相关资料,总结出了这样的解决办法,供各位参考。 …

时间基础概念及Linux中的时间函数

时间基础概念及Linux中的时间函数 时间相关概念GMT 时间UTC 时间时区 Time Zone夏令时 DST本地时间 localtime Linux 系统中的时间时钟基础概念系统节拍数 jiffiesLinux系统查看时间及配置时区获取时间函数获取 当前时间 time()获取 当前时间(微秒) gett…

Qt Quick系列(5)—键盘输入

🚀作者:CAccept 🎂专栏:Qt Quick 文章目录 前言代码示例单一按键组合按键 前言 本篇将介绍如何处理Qt Quick中的键盘输入。键盘输入在现代应用程序中扮演着重要角色,无论是快捷键还是文本输入都离不开它。通过本篇教…

(2021,FastGAN)用于高保真 few-shot 图像合成的更快、更稳定的 GAN 训练

Towards faster and stabilized gan training for high-fidelity few-shot image synthesis 公众号:EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 跳跃层通道激励 3.2 自监督判别器 4. 实验 4.1 图像合成性能 4.2 更多分析与应用 5. 结论 参…

JL-8D/4X1 定时限电流继电器 用于输变电线路中 JOSEF约瑟

名称:定时限电流继电器型号:JL-8D/4X1触点容量250V5A功率消耗<5W返回系数0.90.97整定范围0.039.9A;0.130A辅助电源24220VDC/AC 系列型号: JL-8D/3X1定时限电流继电器;JL-8D/3X2定时限电流继电器; JL-8D/4X1定时限电流继电器&am…

【发电厂 HDLN-1-2Z 不带辅助电源电流继电器 导轨安装 JOSEF约瑟】

品牌:上海约瑟,名称:不带辅助电源电流继电器,型号:HDLN-1-2Z-2,触点容量:250V5A,整定范围:2-99.9A;特点:精度高,整定范围宽,动作快&am…

看完这篇 教你玩转渗透测试靶机vulnhub—DarkHole2

Vulnhub靶机DarkHole渗透测试详解 Vulnhub靶机介绍:Vulnhub靶机下载:Vulnhub靶机安装:Vulnhub靶机漏洞详解:①:信息收集:②:Git信息泄露:③:SQL注入:④&#…

APP出海的现状与挑战​

随着国内移动互联网市场的饱和,越来越多的国内APP开发者和企业将目光投向了海外市场,寻求新的增长机会。根据艾瑞咨询的数据,2020年上半年,全球APP下载量达到715亿次,用户总支出达到501亿美元,其中中国出海…

Pytorch基本概念和使用方法

目录 1 Adam及优化器optimizer(Adam、SGD等)是如何选用的? 1)Momentum 2)RMSProp 3)Adam 2 Pytorch的使用以及Pytorch在以后学习工作中的应用场景。 1)Pytorch的使用 2)应用场…

vue methods 互相调用的方法

methods是一个内置的函数,主要用于两个组件之间的数据传递,也就是调用方法。下面给大家介绍一个在 vue中互相调用的方法,在使用过程中可以参考一下。 methods实现了两个组件之间数据的传递,我们先来看一下 Methods是如何实现数据传…

统计软件与数据分析Lesson17----利用pytorch构建LSTM预测股票收益率详细教程

利用pytorch构建LSTM预测股票收益率详细教程 1. 整体实现思路2.代码编写2.1 step1:导入所需的库2.2 step2: 读取数据、构建训练样本2.3 step3: 定义部分辅助函数2.4 step4:LSTM模型构建2.5 step5:模型训练2.6 step6:模型预测和评估 3. 小结 1. 整体实现思路 step1:导入所需的库…

对抗样本攻击

目录 一、对抗样本攻击的基本原理 1.1 什么是对抗样本攻击和对抗样本 1.2 对抗样本攻击的基本思路 1.3 对抗样本攻击的分类 1.3.1 按攻击效果分类 1.3.2 按攻击者能力分类 1.3.3 按攻击环境分类 1.4 对抗扰动的衡量 二、对抗样本攻击方法 一、对抗样本攻击的基本原理 …

华为OD机试真题B卷 Java 实现【最少交换次数】,附详细解题思路

一、题目描述 给出数字K&#xff0c;请输出所有小于K的整数组合到一起的最小交换次数。 组合一起是指满足条件的数字相邻&#xff0c;不要求相邻后在数组中的位置。 取值范围&#xff1a; -100 < K < 100 -100 < 数组中的数值 < 100 二、输入描述 第一行输入…

网络安全合规-ISO 27001(一)

实施ISO27001认证的步骤 在长期实践过程中&#xff0c;总结创新了一套高效可行的ISO27001/ISMS项目实施的规范流程。 一、现状调研分析&#xff1a;我方派咨询师去企业了解基本情况&#xff1b;本阶段主要是前期的准备和计划工作&#xff0c;包括明确评估目标&#xff0c;确定…