自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 VVC/VTM:变换量化——变换Transform

Transform 1.更大的变换尺寸&舍弃高频变换系数 在VTM中,允许变换的最大尺寸为64x64(原来只应用于1080p和4K)。对于长或宽等于64的大尺寸变换块,直接舍弃高频变换系数,仅保留低频变换系数。例如,对于长x宽为MxN的块,若M等于64,则只保留左边的32列,若N等于64,...

2019-05-13 15:35:21

阅读数 385

评论数 0

原创 VVC/VTM:代码学习——alfFilter()函数

25个ALF滤波器的系数存储在Slice级别,所以,先解析Slice级别的滤波器参数(filter coefficient),解析滤波器参数的主体函数为void HLSyntaxReader::alfFilter() 关键点包括 alfLumaCoeffDeltaPredictionFlag :...

2019-05-13 09:21:47

阅读数 124

评论数 0

原创 VVC/VTM:VTM运行编解码参数配置

根据下面的博文下载VVC参考软件:https://blog.csdn.net/baidu_28446365/article/details/80308724 其中cfg文件夹中包含如下内容 其中蓝色框中的分别为AI、LDP、LDB、RA模式下的配置文件,主要对不同情况下的运行参数进行规定(包括工...

2019-05-12 19:52:46

阅读数 710

评论数 9

原创 VVC/VTM:代码学习——环路滤波ALF详细过程

Adaptive Loop Filter (ALF) ALF在代码实现过程主要分为以下几个部分 1. 1、

2019-05-12 16:38:31

阅读数 611

评论数 0

原创 C++预备知识

泛型编程:为不同类型的数据创建可实现同一种功能的函数。Typedef?? IDE:集成开发环境,包含用于创建项目的菜单选项(VS),提供对项目进行编辑、编译、链接、项目管理调试等功能的环境。 UNIX编译链接:CC a.C→a.o→a.out。 Linux编译链接:g++ a.C→a.o→a...

2019-05-11 15:40:32

阅读数 53

评论数 0

原创 VVC/VTM:代码学习——量化的实现(普通量化和Dependent scalar Quantization)

VVC中引进了Dependent Scalar Quantization(依赖性的标量量化),所以代码中有三种量化函数,本文分为普通量化、率失真优化量化RDOQ和Dependent Quantization(简称DQ)

2019-05-07 19:34:41

阅读数 439

评论数 0

原创 Markdown如何空格和空行

空格 输入  空行 输入   注意句末分号

2019-05-05 09:14:51

阅读数 1432

评论数 0

原创 VVC/VTM:代码学习——三角划分模式TPM

主体函数为xCheckRDCostMergeTriangle2Nx2N(),进行三角划分模式预测 void EncCu::xCheckRDCostMergeTriangle2Nx2N( CodingStructure *&tempCS, CodingStructure *&best...

2019-04-26 10:20:01

阅读数 312

评论数 0

原创 VVC/VTM:环路滤波——Adaptive Loop Filter (ALF)

文章目录Adaptive Loop Filter (ALF)1.滤波形状(Filter shape)2.块分类(Block classification)3.滤波系数的几何变换(Geometric transformations of filter coefficients)4.滤波参数signa...

2019-04-25 16:06:11

阅读数 893

评论数 0

原创 VVC/VTM:变换量化——Quantization

HEVC中,根据8bit信号的取值范围,量化参数QP取值为0~51,为了向解码端传输量化参数,编码器会首先在PPS中传输一个起始的QP,然后再在条和CU层传送增量QP值。而在VTM中,QP取值范围扩展到0 ~ 63(相应的,init_qp_minus26的取值范围变为-(26+QpBdOffset...

2019-04-21 11:19:22

阅读数 394

评论数 0

原创 VVC/VTM:环路滤波——Luma mapping with chroma scaling (LMCS)

LMCS,位于环路滤波前,主要由两部分组成:1)基于自适应分段线性模型的亮度环路映射;2)基于亮度分量的色度残差伸缩。下图显示了解码端的LMCS框架,淡蓝色着色框为在映射区进行的步骤,包括反变换反量化、亮度帧内预测和亮度重建过程。非着色框为在非映射区进行的步骤,包括解码、ALF、SAO、运动补偿、...

2019-04-21 11:18:28

阅读数 263

评论数 0

原创 VVC/VTM:帧间预测——Triangle partition mode(TPM)

Triangle partition mode(TPM) 帧间预测中的三角划分模式,即将CU块划分为两个均等的三角形,并分别从周边继承运动信息。

2019-04-21 11:08:13

阅读数 253

评论数 0

原创 VVC/VTM:代码学习——CIIP详细过程

位于函数void EncCu::xCheckRDCostMerge2Nx2N()中 if (isIntrainterEnabled) { int numTestIntraMode = 4; // prepare for Intra b...

2019-04-21 11:02:12

阅读数 199

评论数 0

原创 VVC/VTM:帧间预测——Combined inter and intra prediction (CIIP)

Combined inter and intra prediction (CIIP) CIIP,顾名思义,就是说对编码块进行帧间预测Pred_inter和帧内预测Pred_intra,将两个预测块加权组合得到最终预测块。 当CU用Merge模式进行编码,且至少有64个亮度样点时(W...

2019-04-21 10:44:36

阅读数 291

评论数 0

原创 VVC/VTM:帧间预测—DMVR与FRUC中BM的区别

因为前面学习过了FRUC和DMVR,记录博客链接分别如下 H266/JEM:帧间预测——Frame-Rate Up Conversion (FRUC) VVC/VTM:帧间预测——Decoder side motion vector refinement (DMVR) 发现DMVR和FRUC中的B...

2019-04-20 20:24:03

阅读数 224

评论数 0

原创 H266/JEM:帧间预测——Decoder side motion vector refinement (DMVR)

双向预测:编解码器首先根据两个MV(list0中的MV0和list1中的MV1)从两个不同的参考帧中获取两个预测块Pred0和Pred1,然后将两者进行加权得到当前CU的预测块。 DMVR:在DMVR中,双向预测中的两个MV(MV0和MV1)通过双向模板匹配(bilateral template...

2019-04-20 18:02:32

阅读数 174

评论数 0

原创 VVC/VTM:帧间预测——Decoder side motion vector refinement (DMVR)

Decoder side motion vector refinement (DMVR) 在第13次Marrakech会议之后被写入标准(初次出现在JVET-M1002文档中) 为了增加merge模式中MV的准确度,VTM4.0中采用了一种基于解码端MV refinement的双边匹配(b...

2019-04-15 15:49:48

阅读数 345

评论数 3

原创 H266/JEM:帧间预测——Frame-Rate Up Conversion (FRUC)

文章目录Frame-Rate Up Conversion (FRUC)1、基本原理1.1、双向匹配(Bilateral matching,BM)1.2、模板匹配(Template matching,TM)2、具体过程2.1、CU级MV候选列表2.2、Sub-CU级MV候选列表2.3、插值MV场的生...

2019-04-15 09:50:51

阅读数 186

评论数 0

原创 VVC/VTM:如何查找每次会议接收的提案

1、会议记录网址:https://www.itu.int/wftp3/av-arch/jvet-site/,里面有每次会议相关的记录,包括每个提案的大概内容、提案的讨论发言以及是否被接受,还有工作组会议报告等等。 2、找到对应会议的分支; 3、进入到对应会议分支,里面有很多个会议记录文档,是一直...

2019-04-14 12:14:45

阅读数 237

评论数 0

原创 C++:高精度运行时间测量

1、常规测量 #include <ctime>//需包含的头文件 long ibegin = 0; double iend = 0.0; ibegin = clock(); //运行代码块 iend += (double)(clock() - ibegin) / CLOCKS_...

2019-04-14 09:38:56

阅读数 336

评论数 0

转载 CCF推荐国际学术会议

转载于http://www.cnblogs.com/guolei/p/3576366.html 类别如下计算机系统与高性能计算,计算机网络,网络与信息安全,软件工程,系统软件与程序设计语言,数据库、数据挖掘与内容检索,计算机科学理论,计算机图形学与多媒体,人工智能与模式识别,人机交互与普适计算,前...

2019-04-12 10:19:55

阅读数 385

评论数 0

转载 “电脑播放暂停后再播放声音突然增大”的解决办法

转载于https://www.jb51.net/diannaojichu/543552.html 很多朋友用电脑看视频暂停后再播放声音变很大,遇到这种情况怎么办呢? 打开"声音"——“扬声器”右键——属性——增强— 勾选禁用所有声音效果。 ...

2019-04-10 10:49:10

阅读数 680

评论数 0

原创 C++:迭代器Iterator详解

介绍 用处:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间非连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。 定义:迭代器是一种检查容器内元素并遍历元素的数据类型,提供了对一个容器中对象的访问方法(每种容器类型都定义了自己的迭代器类型,如vector...

2019-04-09 09:57:18

阅读数 670

评论数 0

转载 C++:各个容器中迭代器的用法

迭代器(Iterator)详解见博客:C++:迭代器Iterator详解 以下内容转载自https://blog.csdn.net/qq_23100787/article/details/51388163 下面列举了些例子说明各个容器的用法: 1、Vector #include <i...

2019-04-09 09:56:52

阅读数 181

评论数 0

转载 C++:模板详解(函数模板+类模板)

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。 每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector 。可...

2019-04-08 15:17:48

阅读数 74

评论数 0

转载 C++:异常处理基本语法——throw和 try...catch

转载于http://c.biancheng.net/view/422.html C++ 通过 throw 语句和 try…catch 语句实现对异常的处理。 throw 语句的语法如下:throw 表达式; 该语句拋出一个异常。异常是一个表达式,其值的类型可以是基本类型,也可以是类。...

2019-04-08 14:38:37

阅读数 243

评论数 1

原创 C++:标准错误流Cerr

大家平时用到的输出有三个:cout、cerr、clog。 cout:写到标准输出的ostream对象; cerr:输出到标准错误的ostream对象,通常用来输出警告和错误信息给程序的使用者; clog:也是输出标准错误流(和cerr是一样的),用于产生程序执行的一般信息,很少用到。 区别 ...

2019-04-08 14:37:51

阅读数 640

评论数 0

原创 C++:重定向输入输出freopen

重定向输入输出可以把原本只是输出在控制台的字符,输出到你指定的路径文件中(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入)重定向函数可以在任何时候开启、关闭。 函数名:freopen 以指定模式重新指定到另一个文件。模式用于指定新文件的访问方式。 ...

2019-04-08 14:37:13

阅读数 133

评论数 0

原创 C++:容器类Vector——动态数组

动态数组 #include <iostream> int main() { // 1. initialize vector<int> v0; vector<int> v1(5, 0); // 2. make a c...

2019-04-07 11:01:11

阅读数 205

评论数 0

原创 C++:标准模板库STL

C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数(提供了一组表示容器、迭代器、函数对象和算法的模板),这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。 容器:一个与数组类似的单元,可以存储若干值。STL容器是同质的,即存储...

2019-04-07 11:00:32

阅读数 52

评论数 0

转载 如何去除Clover广告

在Clover.exe所在文件夹中新建文件绿化.bat 双击运行。 绿化.bat @ECHO OFF&PUSHD %~DP0 &TITLE 绿化 mode con cols=36 lines=20 >NUL 2>&1 REG.exe query "H...

2019-04-01 09:29:11

阅读数 3071

评论数 0

原创 “word另存为PDF时,参考文献的上标都变为正常文本“的解决办法

word中的域链接可以是任何形式,因此上标也OK。 PDF中的域链接只能是正常文本。 所以WORD另存为PDF时参考文献的上标都变为正常文本(但是可以直接点击跳转),解决办法是需要取消域链接。 Ctrl+A,全选文本 按下“CTRL+SHIFT+F9”,解除域链接 另存为PDF。...

2019-03-31 19:12:19

阅读数 2292

评论数 0

原创 cmder 添加到右键菜单,提示"拒绝访问, ShellMenu, line494...."解决办法

以管理员身份运行cmd 切换到cmd.exe所在文件夹 输入Cmder.exe /REGISTER ALL

2019-03-30 10:35:33

阅读数 1411

评论数 0

原创 VVC/VTM:帧间预测—Extended merge prediction

扩展的Merge模式 VTM中的Merge模式在HEVC的基础上进行了扩展。现有的候选列表构建方式如下 Spatial MVP from spatial neighbour CUs Temporal MVP from collocated CUs History-based MVP...

2019-03-27 20:17:18

阅读数 179

评论数 0

原创 VVC/VTM:帧内预测——Intra Sub-Partitions (ISP)

Intra Sub-Partitions (ISP) 根据块的大小将帧内的亮度预测块垂直或水平的划分为2或4个子区域。下图显示了两种可能性的例子。

2019-03-27 20:07:16

阅读数 389

评论数 0

原创 VVC/VTM:第14次会议接收提案汇总

JVET-N0671:Support of 4:4:4 and 4:2:2 chroma formats in VVC 为了支持4:4:4 和 4:2:2 格式对CCLM和Affine进行修改。 JVET-N0266 test 2:CE2-related: Disabling bi-p...

2019-03-27 10:55:49

阅读数 385

评论数 0

原创 VVC/VTM:JVET-N0671—Support of 4:4:4 and 4:2:2 chroma formats in VVC

JVET-N0671: Support of 4:4:4 and 4:2:2 chroma formats in VVC 主要对VTM标准软件和VVC标准文档进行修改,以便支持YUV4:4:4, RGB4:4:4, and YUV4:2:2格式(现有的VTM仅仅支持420格式)。因此,主要的...

2019-03-27 10:01:07

阅读数 124

评论数 0

原创 VVC/VTM:虚拟流水数据单元(VPDUs)

Virtual pipeline data units (VPDUs) 定义为图像中的非重叠单元。硬件解码过程中,连续的VPDU由多个流水线并行处理。 VPDU大小与大多数流水线中的缓冲区大小大致成比例,因此其尺寸不能太大。一般设置为变换块TB的大小。 VTM4.0中VPDU大小被设置为64x...

2019-03-26 20:28:21

阅读数 138

评论数 0

原创 C++:自动存储、静态存储和动态存储

自动存储 函数内部定义的变量 静态存储 整个程序执行期间都存在的变量,分为两种,一种是函数外部定义的变量,另一种是static 动态存储 使用new和delete运算符操作的内存,更具有灵活性。 ...

2019-03-26 16:30:34

阅读数 165

评论数 0

原创 C++:堆、栈和内存泄露

自动存储、静态存储和动态存储的区别 栈 自动存储的变量通常存储在栈中,后进先出。 堆 使用new创建的内存空间通常被称为自由存储空间或堆,管理了一个内存池,该内存池与用于静态变量和自动变量的内存是分开的。 内存泄露 如果使用new运算符在自由存储空间(或堆)上创建变...

2019-03-26 16:26:51

阅读数 127

评论数 0

提示
确定要删除当前文章?
取消 删除