H266/VVC量化编码技术概述

量化

量化: 是将信号的连续取值(或大量可能的离散取值)映射为有限多个离散幅值的过程,实现信号取值多对一的映射。在视频编码中,残差信号经过变换之后,变换系数往往具有较大的动态范围。因此,对变换系数进行量化可以有效的减少信号取值空间,进而获得更好的压缩效果。
量化是失真的根本原因: 由于一对多映射机制,量化过程不可避免地会引入失真,这也是视频编码中产生失真的根本原因。

标量量化器(Scalar Quantizer,SQ): 非常基本的量化方法,它是将一个幅度连续的信号映射成若干个离散的符号。
在这里插入图片描述
均匀标量量化器: 是一种非常简单的标量量化器,将输入值域划分成等距的区间,每个区间对应的输出值(重建值)为该区间的中点。区间的长度称为量化步长(Quantization Step)。
Lloyd-Max 量化器: 最优标量量化器。
熵编码量化器: 最优量化器应在对熵的约束下使失真最小。

矢量量化器(Vector Quantizer,VQ):矢量量化的输入为矢量,是多对一的量化,即两个或两个以上的幅度对应一个量化结果。矢量量化可以看作是标量量化的延伸。其基本思想就是若干个标量数据组构成一个矢量,然后在矢量空间进行整体量化,用码书中与输入矢量最匹配的码字索引代替输入矢量进行传输域存储。
网格编码量化(Trellis Coded Quantization,TCQ):很好的结合了标量量化和矢量量化的优点,复杂度低并且具有优良的性能。

H266量化

标量量化

反量化的公式: cl = li.Qstep
量化参数(Quantization Parameter,QP): 实际应用中,不会直接编码量化步长,而是用一个整数值即量化参数来表示所选的量化步长。在H266中量化参数QP的取值范围为 -6.(bitdepth - 8) ~ 63

QP 与 Qstep 关系: QP 每增加1,Qstep大约增大12.25%;QP每增加6,Qstep大约增大1倍。
在这里插入图片描述

率失真优化量化

率失真优化量化(Rate-Distiortion Optimized Quantization,RDOQ): 思想是将量化过程同率失真优化RDO准则相结合。对于一个变换系数,给出多个可选的量化值,利用RDO准则从中选择一个最优的量化值。

依赖量化

依赖量化(Dependent Quantization,DQ): 其利用了变换系数间的相关性,当前变换系数的量化值依赖前一个变换系数的量化值,使得变换系数经量化后在N维向量空间更紧密。这意味着对于固定大小的变换块,该方法减小了输入向量(量化前的块)和重建向量(反量化得到的块)之间的误差,即减小了量化带来的失真。

量化参数

QG(Quantization Group,QG):H266沿用H265的QG概念,QG为CTB内的一块矩形区域,为一个划分子树包含的CU,同一个QG内的所有CU共享一个QP,不同的QG可以使用不同的QP。

量化矩阵

量化矩阵: H266的变换量化过程如下图。量化矩阵作用于比例缩放,其大小与TU相同。在比例缩放过程中,变换后的DCT(或DST)系数将与量化矩阵对应位置的系数相除,所得到的结果作为量化模块的输入。
在这里插入图片描述
H266规定了2x2、4x4和8x8共三种大小的默认量化矩阵,并规定16x16、32x32、64x64的量化矩阵可由8x8量化矩阵通过上采样得到。
在这里插入图片描述
此外还有自定义量化矩阵,根据不同的应用场合自行觉醒量化矩阵各元素的值。自定义量化矩阵由APS参数集承载。

参考

JVET输出文档: https://www.itu.int/wftp3/av-arch/jvet-site/
书籍: 新一代通用视频编码H266/VVC:原理、标准与实现[万帅 霍俊彦 马彦卓 杨付正/著]

备注

本系列博客主要是对《新一代通用视频编码H266/VVC:原理、标准与实现》的学习笔记。

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

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

相关文章

中央集成式架构量产时代,openVOC方案将引发软件开发模式变革

2024年,中央计算区域控制架构正式进入规模化量产周期,汽车智能化正式迈入2.0时代,产业生态、应用创新、开发模式都将迎来巨大变革。 同时,随着ChatGPT引发的AIGC领域的爆发式增长,人工智能技术掀起全球万亿级信息化应…

右键菜单“以notepad++打开”,在windows文件管理器中

notepad 添加到文件管理器的右键菜单中 找到安装包,重新安装一般即可。 这里有最新版:地址 密码:f0f1 方法 在安装的时候勾选 “Context Menu Entry” 即可 Notepad的右击打开文件功能 默认已勾选 其作用是添加右键快捷键。即,对于任何…

Android---Kotlin 学习013

互操作性和可空性 Java 世界里所有对象都可能是 null,而 kotlin 里面不能随便给一个变量赋空值的。所有,kotlin 取调用 java 的代码就很容易出现返回一个 null,而 Kotlin 的接收对象不能为空,你不能想当然地认为 java 的返回值就…

鸿蒙APP的代码规范

鸿蒙APP的代码规范是为了确保代码质量、可读性和可维护性而定义的一系列规则和标准。以下是一些建议的鸿蒙APP代码规范,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1. 代码风格: 采用…

OpenCV-Python(21):轮廓特征及周长、面积凸包检测和形状近似

2. 轮廓特征 轮廓特征是指由轮廓形状和结构衍生出来的一些特征参数。这些特征参数可以用于图像识别、目标检测和形状分析等应用中。常见的轮廓特征包括: 面积:轮廓所包围的区域的面积。周长:轮廓的周长,即轮廓线的长度。弧长&…

防火墙什么用,软件防火墙与硬件防火墙有什么不一样

防火墙是一种网络安全技术,通过有机结合各类用于安全管理与筛选的软件和硬件设备,在计算机网络的内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息的安全性。 防火墙的作用的详细说明: 1.访问控制:防火…

06|调用模型:使用OpenAI API还是微调开源Llama2/ChatGLM?

06|调用模型:使用OpenAI API还是微调开源Llama2/ChatGLM? 让我们带着下面的问题来开始这一节课的学习。大语言模型,不止 ChatGPT 一种。调用 OpenAI 的 API,当然方便且高效,不过,如果我就是想用…

解决Java编译出现类名不匹配报错

当遇到Java编译错误时,很多时候都是由于类名与文件名不匹配导致的。在Java中,公共类的名称必须与其所在的文件名一致,包括大小写敏感。下面是我在编译第一个Java程序"HelloWorld"时遇到的问题和解决办法的记录。 问题描述 在终端…

HCIA-Datacom题库(自己整理分类的)——OSPF协议多选

ospf的hello报文功能是 邻居发现 同步路由器的LSDB 更新LSA信息 维持邻居关系 下列关于OSPF区域描述正确的是 在配置OSPF区域正确必须给路由器的loopback接配置IP地址 所有的网络都应在区域0中宣告 骨干区域的编号不能为2 区域的编号范围是从0.0.0.0到255.255.255.255…

第十二章 Sleuth分布式请求链路跟踪

Sleuth分布式请求链路跟踪 gitee:springcloud_study: springcloud:服务集群、注册中心、配置中心(热更新)、服务网关(校验、路由、负载均衡)、分布式缓存、分布式搜索、消息队列(异步通信)、数…

VisualStudio项目中多个同名文件处理

问题 在vs2019环境中,现在开发一个较大的C项目,它的源文件在多个文件夹中组织(在文件系统上)。在其中两个文件夹中,有几个同名的文件。如: .\ConsoleApplication1\JAMGEN_CONFIG_x4_test\firls.c .\ConsoleApplication1\NoiseCo…

YOLOv8训练自定义数据集和运行参数解读

1、YOLOv8深度学习环境搭建及安装 1.1. Yolov8介绍 设置操作类型 YOLOv8模型可用于各种任务,包括检测、分割和分类。这些任务的不同之处在于它们产生的输出类型和它们要解决的特定问题。 **检测:**检测任务涉及识别和定位图像或视频中感兴趣的对象或区域。YOLO模…

多模态大模型-CogVLm 论文阅读笔记

多模态大模型-CogVLm 论文阅读笔记 COGVLM: VISUAL EXPERT FOR LARGE LANGUAGEMODELS 论文地址 :https://arxiv.org/pdf/2311.03079.pdfcode地址 : https://github.com/THUDM/CogVLM时间 : 2023-11机构 : zhipuai,tsinghua关键词: visual language model效果:(2023…

一键访问多功能数据解决方案:如何轻松构建和管理APITable智能多维表格

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台,是一款面向 API 的智能多维表格。它将复杂的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一&am…

《数据库开发实践》之触发器

一、什么是触发器? 1.概念: 简单来说触发器就是一种特殊的存储过程,在数据库服务器触发事件的时候会自动执行其SQL语句集。 2.构成四要素: (1)名称:要符合标识符命名规则 (2&am…

[OCR]Python 3 下的文字识别CnOCR

目录 1 CnOCR 2 安装 3 实践 1 CnOCR CnOCR 是 Python 3 下的文字识别(Optical Character Recognition,简称OCR)工具包。 工具包支持简体中文、繁体中文(部分模型)、英文和数字的常见字符识别,支持竖…

基于Java+SpringBoot+vue实现图书借阅管理系统

基于JavaSpringBootvue实现图书借阅和销售商城一体化系统 🍅 作者主页 程序设计 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 文章目录 基于JavaSpringBootvue实现图书借阅和销售商城一体化…

elasticsearch-hadoop.jar 6.8版本编译异常

## 背景 重新编译 elasticsearch-hadoop 包; GitHub - elastic/elasticsearch-hadoop at 6.8 编译 7.17 版本时很正常,注意设置下环境变量就好,JAVA8_HOME/.... 编译 6.8 版本时(要求jdk8 / jdk9),出现…

腾讯云轻量服务器和云服务器CVM该怎么选?区别一览

腾讯云轻量服务器和云服务器CVM该怎么选?不差钱选云服务器CVM,追求性价比选择轻量应用服务器,轻量真优惠呀,活动 https://curl.qcloud.com/oRMoSucP 轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三…

Qt(二):使用udp发送与接收图片

使用Qt来通过UDP协议发送和接收图片可以分为几个步骤。以下是一个基本的指南: 发送图片准备图片数据:首先,你需要将图片转换为可以在网络上传输的数据格式。通常,这涉及到将图片转换为字节数组。设置UDP套接字:在Qt中…