首页 > 其他分享 >HEVC的量化和变换

HEVC的量化和变换

时间:2023-10-11 10:57:18浏览次数:36  
标签:编码 HEVC 变换 标量 量化 DCT

HEVC的变换和量化大体上和H.264/AVC相似,但增加了多处改进,提高了本部分的编码效率。在变换方面的改进主要体现在三方面,一是变换块(TB)的尺寸可变范围扩大,二是整数DCT的精度提高,三是引进了4X4 的离散正弦变换。

一. 离散余弦变换与正弦变换

1. 2维DCT矩阵

2. 2维DST矩阵

3. 量化与量化失真

在视频图像压缩中,在变换后面还有两个压缩数据量的关键步骤,一个是量化,另一个是熵编码。它们都是对被处理数据的另一种表示方式。

  • 量化把原数据分为不同的区间,每个区间的多个数值只用一个标号来代表,显然标号的个数要远小于数据的个数,数据量得到压缩。由于标号和数据之间失去了一一对应的关系,因而量化是一种有损信息压缩方式。
  • 熵编码按照数据的不同结构,用新的更紧凑的方式来标记,由于标记和原数据之间是一一对应的,因而熵编码是一种无损信息压缩方式。这里主要讨论量化操作。

在图像数据的量化操作中,由于丢弃(忽略)了相当一部分对人眼视觉贡献不大的数据而达到压缩的要求,它是不可逆操作,不可能通过反量化来获得量化前的数据,因而会损失一部分信息。常见量化的方法可以分为两类,一类是标量量化(Scalable Quantization,SQ),另一类是矢量量化(Vector Quantization,VQ)。

  • 标量量化是将图像中样点的取值范围划分成若干区间,每个区间仅用一个数值(标量)“代表”其中所有可能的取值。每个样点的量化取值是一个标量并且独立于其他样点的取值。
  • 矢量量化是将图像的每n个像素看成一个 n 维矢量,将每个n维取值空间划分为若干个子空间,每个子空间用一个 n 维“代表”矢量来表示该子空间所有的矢量取值。由于矢量量化利用了多个像素之间的关联,一般说来,其压缩率要高于标量量化,代价是计算复杂度要高于标量量化。

目前广泛使用的视频编码标准中,量化环节都是采用标量量化。

4. h.264的变换与量化

 

 

 

量化时对实际DCT输出W进行处理。量化步长对于量化系数。

5. HEVC残差的整数变换

和 H264/AVC 类似,HEVC 采用了对预测残差进行近似的整数离散余弦变换(DCT)但为适应较大的编码单元而进行了改进,在一个编码单元(CU)内进行变换运算时,共有4种大小的对称DCT变换尺寸:32X32、16X16、8X8和44。每一种大小的DCT变换都有一个相对应的同样大小的整数变换系数矩阵。大块的变换能够提供更好的能量集中效果,并能在量化后保存更多的图像细节,但是却带来更多的振铃效应。因此,根据当前块像素数据的特性,自适应的选择变换块大小可以得到更好的效果。
HEVC的变换运算的顺序和H264/AVC 不同变换时首先进行列运算,然后再进行行运算HEVC的整数变换的基矢量具有相同的能量,不需要对它们进行调整或补偿,而且对 DCT的近似性要比H264/AVC好。

 

在帧内预测时,当前块的预测参考为紧邻该块左边和上边的已编码块的数据。像素间的相关性是随距离增大而减小的,因此预测块越是左边和上边的像素的预测越是准确,预测误差越小。也就是沿着编码块水平方向向右,预测误差逐渐增大:沿着垂直方向向下,预测误差也逐渐增大。这样的预测误差数据的分布和 DCT 的余弦基函数并不符合,因为余弦函数的特点是起始值最大,而后逐渐减小。而这一数据分布特点正好和离散正弦变换(DST)的正弦基函数比较一致,在起始处最小,然后逐渐增大。根据变换编码的特点,变换基函数和信号的相似程度越高,其乐缩率越大,因此HEVC 对内预测4X4亮度残差TB 的所有的模式都采用可分离整数近似离散正弦变换(DST),以利于图像压缩率的提高。

 

标签:编码,HEVC,变换,标量,量化,DCT
From: https://www.cnblogs.com/jhzj/p/17756520.html

相关文章

  • HEVC的编码结构
    一.h.264的编码结构从编码原理看,H.264/AVC采用的是混合编码方式。从编码层次结构看,H.264/AVC采用的是分块式编码结构,将图像划分为若干宏块,主要编码操作针对宏块进行。宏块向下可以划分为多个更小的块或子块。向上可由若干宏块组成一个条,一帧图像则由数量不等的条组成。若干图像......
  • 三维模型3DTile格式轻量化的跨平台兼容性问题分析
    三维模型3DTile格式轻量化的跨平台兼容性问题分析 三维模型3DTile格式是一种开放的、高效的和互操作的空间信息数据格式。然而,它作为一种新兴的技术,其在轻量化与跨平台兼容性方面存在着一些问题。首先,由于3DTile格式主要针对大型三维场景进行设计,其文件数量巨大,数据密度高,导......
  • 计算机图形:三维几何变换
    目录三维平移点的平移对象的平移三维旋转三维坐标轴旋转一般三维旋转绕平行于坐标轴的轴旋转绕任意轴旋转三维缩放相当于原点的缩放相对于任意点的缩放三维复合变换OpenGL矩阵栈三维几何变换,是在二维基础上扩展z坐标得到。三维位置齐次坐标表示为4元列向量。任意三维变换序列,可通......
  • 三维模型3DTile格式轻量化的纹理压缩和质量关系分析
    三维模型3DTile格式轻量化的纹理压缩和质量关系分析 在三维模型的3DTile格式轻量化处理中,纹理压缩是一个重要环节。但是,纹理压缩和模型质量之间存在明显的关系需要权衡。以下是纹理压缩和模型质量关系的详细分析:1、压缩率与纹理质量:一般来说,高度压缩的纹理可以大大减小文件大......
  • 如何开发量化交易软件
    量化交易软件是利用程序来实现交易决策的方式软件,它能帮助交易者实现短期内的大量交易,通过觉得和优化实现高效率的盈利,下面就是关于开发量化策略的一些软件需求建议。1.确定交易目标和策略先明确好量化的目标策略,交易目标,盈利点,控制风险,资产配置,交易策略。按照市场的指定规则来交......
  • 自动量化交易系统程序
    自动量化交易系统软件是一种基于电脑和手机的策略交易管理软件,它能通过数据的分析得出一些交易的数据,根据历史的数据得出相关的交易策略。这种利用各种的历史数据去实现交易的软件,就是量化交易系统软件。还有其他的类型的交易量,新闻,其他的相关信息。它的目的是通过识别有利可图的商......
  • 量化交易系统搭建步骤
    量化交易系统搭建步骤:1.明确投资策略:在搭建量化交易软件之前先确定好投资者的策略,交易参数,还有明确交易品种,投资策略类型,风险把控,控制方法等。2.选择量化交易的开发语言:选择编程的语言,实现量化交易策略,常用的有Python、C++、php等语言。3.开发交易算法:基于投资者的设置策略,开始......
  • 交易所量化交易系统开发成熟技术
    现在的量化交易软件已经成为了交易者的必备工具,因为有了工具才会方便各种的相关操作。这一列的交易软件系统是通过各种的自动化的交易执行的相关策略,帮助交易员分析复杂的市场环境,运用成熟的分析技术进行交易。开发量化交易软件的语言有php,C#,Python,Java等。这些语言能够处理大量的......
  • 量化交易软件开发
    量化交易软件是利用一种数据模型进行交易的方式,通过计算机程序实现自动的交易,量化交易软件实现这一目标是关键词工具,开发和维护也是成为交易领域的重要途径。在开发量化交易软件时,开发人员需要考虑多种的因素,例如市场的数据,交易模型,风险控制,策略优化等。还需要各种的编程语言,构建......
  • 量化交易系统软件是怎么赚钱的
    量化交易系统软件的原理是通过复杂的算法和统计模型计算进行交易的,利用软件赚钱利润。这些软件能快速的分析出大量的数据,包括历史数据,往期数据,其他数据等,软件是发现隐藏在市场趋势的盈利点,预测未来的价格波动变化点。量化交易软件是利用高速计算的算法,在毫秒之间分析得出决策,比人......