自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 H.266/VVC相关技术学习笔记6:ISP(Intra Sub-Partitions)技术发展历程和技术细节

目前在VTM5.0中接收的ISP技术的中文名就是帧内子块划分技术这项技术是HHI最早提出的,经历了三次标准的发展才形成现在的ISP一、K次会议的LIP最早是在K次会议上提出的,提案号是K0049,当时的ISP技术被称为LIP( Line-based Intra Prediction)基于线性划分的帧内预测。基于线的帧内预测(LIP)可以将亮度预测块划分为一维分区或行。因此,可以将W×H(其...

2019-05-31 00:05:35 2960 15

原创 写代码和写文章一定不能犯的错误!!!!!

今天想要把之前加了我详细备注的VTM5.0的代码想和另一部分的代码注释用beyondcompare合并到一起,结过手残点错给全部删除了,我真的是心态有点爆炸,暂时还没找到恢复的办法。。。辛辛苦苦写的代码的注释全没了。这里用我血的教训告诫大家,不管是写文章还是写代码时候一定要养成随手备份的习惯,真的有时候意外会让人崩溃的!!!!关于VTM5.0的所有代码注释详解我会在后面重新总结好后给大家发出来...

2019-05-28 23:17:38 449

原创 H.266/VVC相关技术学习笔记5:视频编码中的码率控制的原理和目的

很多学习视频编码的同学一定接触过码率控制这么一个学术名词今天就给大家简单通俗的介绍一下关于码率控制的相关理论和其在视频编码中的作用一般视频压缩技术中,为了提高压缩效率,常见的视频压缩技术(如MPEG , H.264,H.265 )都采用了变长编码,所以一个视频序列经过压缩编码之后所得到的码流是变速率的,即每帧编码所用的比特数是不相等的。图 1 所示为用MPEG-4 编码器和固定量化步长 30 ...

2019-05-26 15:31:03 3488

原创 H.266/VVC相关技术学习笔记4:HEVC和VVC中块划分的差别

关于H.265/HEVC和H.266/VVC中的块划分的区别:一、HEVC中首先需要将一个图像固定划分为多个CTU。① CTU的尺寸固定划分为64×64,一个CTU由一个亮度CTB和两个色度CTB,再加上相应的语法元素组成。② CTU可以通过四叉树的方式向下划分为一个个小的CU,一个CU由一个亮度CB和两个色度CB再加上相应的语法元素组成。③ CTU划分的CU最大尺寸是64×64(即整个C...

2019-05-25 19:00:27 4208 3

原创 C++学习笔记:函数的参数传递---引用形参

函数的引用形参只在C++语言中有,C语言是没有的之前我将了关于函数的非引用形参C++学习笔记:函数的参数传递之非引用形参,非引用形参即为复制形参,非引用形参是不能改变实际传入的实参的值,除非是用指针形参。关于什么是变量的引用,之前的博客我也讲过C++学习笔记:变量的引用而今天学习的引用形参是可以直接改变实际实参的值。如下例子#include<iostream>#includ...

2019-05-20 23:55:15 1547

原创 C++学习笔记:变量的引用

对于习惯使用C语言的同学们,在看到c++中出现的&符号,因为在C语言中这个符号表示了取地址符,因此就会出现困惑,但是在C++中它却有着不同的用途, C++中称之为引用。今天给大家一个关于引用的清晰明了的认识。一、什么是变量的引用?:引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;例如:int b...

2019-05-20 22:26:08 1790

原创 AVS之HPM3.2代码学习笔记1:TSCPM技术的原理和代码实现

最近实验室要跟进AVS会议了,我先看了一下和VVC中相同的技术,帧内预测中的CCLM,在AVS中名字换成了TSCPM,可能是因为专利的冲突,因此才换名字的。实则换汤不换药~AVS是国内的数字音视频编解码技术标准工作组参照国际视频标准会议H.266/VVC目前AVS的参考软件是HPM3.2版本,TSCPM是其中帧内色度预测模式的一种,和VVC的最新参考软件版本VTM5.0中的CCLM一模一样,...

2019-05-20 21:24:30 3075 24

原创 H.266/VVC代码学习笔记1:VTM5.0的下载和安装简单而实用的教程

今年的五月初,H.266/VVC的新一代的参考软件--VTM5.0终于发布了那么有些刚接触会议的同学可能还不会这个参考软件的配置过程,那么今天我就详细来讲一下VTM5.0的配置教程,对于之前版本的VTM也可参照同样的方法进行配置

2019-05-19 12:46:01 6585 16

原创 H.266/VVC代码学习笔记4:带你深入解析VTM5.0中的最新技术ALWIP

ALWIP技术全称是Affine linear weighted intra prediction该技术是HHI在N次会议上提出的,在目前新发布的VTM5.0软件中已经更新。该技术的核心就是训练矩阵,通过当前的亮度预测块的相邻采样点首先进行平均操作减少采样点数目,构成一个向量然后通过该向量和视频序列集去训练出一个参数矩阵,通过该矩阵和相邻采样点向量相乘得到一个部分预测值的散点阵列,最后通过双线...

2019-05-18 21:47:21 2189 4

原创 H.266/VVC代码学习笔记2 :深入解析帧内色度预测模式的编码方式及其代码详解

之前的博客中我详细的讲解了关于视频编码中熵编码部分的具体的技术细节H.266/VVC中的熵编码CABAC内容史上超详解!!(基础进阶必看系列)今天就来具体的讲一下在帧内色度预测模式中的熵编码具体是怎么编码的。一、VTM2.0中的帧内色度模式的编码1.编码端的Rdcost:按照下表的顺序对这6种模式进行Rdcost检测; modeList[ 0 ] = PLANAR_IDX; ...

2019-05-18 13:54:12 2442

原创 C++学习笔记:函数的参数传递之非引用形参

非信用形参包括:1)普通形参①非const形参②const形参2)指针形参①非const指针形参②const指针形参一、下面的例子说明了非引用形参的传参实例!#include<iostream>#include<string>#include<stdlib.h>#include<vector>using namespace s...

2019-05-12 14:33:40 1655

原创 C++学习笔记:函数匹配(重载确定)

所谓函数匹配,就是去从一个函数重载集合中调用一个想要调用的重载函数,这种调用有三种可能性:①C++在重载集中找到了所要调用的重载函数,既形参相匹配的那个函数②C++没有找到形参相匹配的函数,这时C++会报错③C++找到了多个相匹配的重载函数,这时C++也会报错,称之为二义性错误下面通过一个小例子讲解一下重载确定的三个步骤:1)候选函数(和所调用的函数的函数命名相同的那些函数就是候选函数...

2019-05-12 11:59:51 1903

原创 C++学习笔记:函数的重载与作用域

之前我讲了函数的重载相关的知识C++学习笔记:函数的重载今天将以下关于重载的作用域一般情况下,每一个版本的函数重载都应该在同一个作用域中声明但是有种情况是:如果其中一个函数的声明做了一个局部的声明,那么这种情况就叫做‘函数屏蔽’,而不是函数的重载!!在讲函数屏蔽(函数隐藏)之前,我们先来看一下变量屏蔽如下例所示:#include<iostream>#include<...

2019-05-11 23:28:10 2721

原创 C++学习笔记:函数的重载

函数的重载只在C++语言中有,C语言是没有的!!一、所谓的函数的重载就是:出现在相同作用域的两个函数,名字相同,但形参不同。重载函数的好处是:不用费心给每一个函数起名字在调用的时候C++会智能地分辨各个函数的形参的不同void show(int x)//形参是int{ cout << x << endl;}void show(vector<int&g...

2019-05-11 21:08:24 1446

原创 C++学习笔记:类的构造函数

之前我讲了一下关于类的成员函数相关的内容C++学习笔记:类的成员函数的声明与定义今天学习的类的构造函数是一种特殊的成员函数!构造函数是用于给类的数据成员进行初始化的!类的构造函数定义和声明的时候需要注意的几点是:①构造函数的名字必须和类的名字一模一样②构造函数没有任何返回值③构造函数的内部可以是空的,但是必须使用初始化列表为所需要初始化的类数据成员进行初始化。当所需要进行初始化的成员...

2019-05-11 18:16:07 1374

原创 C++学习笔记:类的成员函数的声明与定义

今天学习一下类的成员函数,首先讲一下常规的类外的函数写在类的外部的函数叫做全局函数,不属于任何的类。如果写在类的里面就叫做类的成员函数int sum(int x, int y)//写在类的外部{ return x + y;}class Sales_item{public: std::string isbn;//书号 unsigned units_sold;//数量 do...

2019-05-11 16:07:40 10723

原创 H.266/VVC代码学习笔记3:带你解析VTM5.0中CCLM的代码实现细节

昨天VVC新的参考软件VTM5.0正式发布啦,其中对于CCLM部分的改动还是挺大的。接下来我来详细讲讲改动的地方,并且讲一下具体的代码实现细节,希望对大家理解有所帮助~首先,VTM4.0中的CCLM是通过对所有的相邻参考像素去搜寻一个亮度最小点和一个亮度最大点,通过这两个点去拟合线性模型。如今的VTM5.0中的CCLM现在只从相邻参考像素中总共找四个点或者两个点,如果是四个点的情况,则先进行排...

2019-05-07 21:50:52 2545

原创 Leetcode刷题笔记: 66. 加一

题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...

2019-05-06 22:03:04 1563

原创 H.266/VVC相关技术学习笔记3:帧内色度预测模式中的DM模式及其在N次会议上相关的提案总结

之前对于DM这一块跟进了一下,也学习了N次会议关于DM技术的相关改进今天就顺便把DM的技术详细总结一下,并N次会议提出的提案的技术细节和大家分享一下所谓DM(derived mode)模式就是通过某一个色度预测块所对应的亮度块所选中的预测模式去预测当前的色度块。一、DM预测模式的流程对于色度块来说,其帧内预测方向与两个条件相关:1、该色度块对应的中心亮度块预测方向,亮度块位置如下图所示;...

2019-05-06 21:29:51 2212

原创 H.266/VVC相关技术学习笔记2:N次会议有关MPM列表的所有提案大汇总

在N次会议开会之前先预先看了一下所有上传的有关MPM列表的提案,今天抽出时间把之前总结的内容再重新梳理一遍一、N0134 Simplification of MPM derivation单位:ETRI (Electronics and Telecommunications Research Institute)Title:CE3: Simplification of MPM derivati...

2019-05-06 21:02:51 2386 1

原创 H.266/VVC相关技术学习笔记1:多模型CCLM(跨分量间线性模型预测)的发展历程+MMLM技术实现细节详解!!!

之前详细地学习了关于MMLM的发展历程以及实现的细节,最近有空我来总结一下,希望对大家有所帮助~多模型CCLM全称是:Multi-model Based Cross-component Linear Model Chroma Intra-prediction for Video Coding(MM-CCLM),简称MMLM。最早提出MMLM是LG在H.266/VVC的JEM版本上的,那时候的单...

2019-05-06 20:29:07 4202

原创 C++学习笔记:类的定义

类可以说是C++的精髓所在!首先学习如何定义一个类:一个类的内部可以有成员也可以没有成员,当然啦,没有成员的类没有什么用处1.类的成员成员分数据成员和函数成员每个成员共有三种类型的区分,被称之为“访问标号”:private、public、protected一般定义的时候,数据成员被定义为私有的,函数成员定义成公有的。protected在继承的时候会用到。如果没有写标号,就默认是私有的成员...

2019-05-04 18:04:03 1753

原创 C++学习笔记:switch语句

switch语句在多个判断条件的时候可以代替if语句下面举个例子来展示两者的区别和各自的优势if语句的实现int main(){ int i; cout << "请输入今天是星期几:"; cin >> i; if(i==1) cout << "今天是星期1"<<endl; else if(i==2) cout <&lt...

2019-05-04 17:07:16 2275

原创 Leetcode刷题笔记: 26. 删除排序数组中的重复项

这道题刚开始我被绕进去了,其实很简单。在系统学了有序向量的唯一化操作后思路就很清晰了,之前对于有序向量的唯一化操作有过详细的讲解,这里我直接给出链接数据结构学习笔记:有序向量的唯一化(去重复)操作下面是这道题的代码实现(C++实现):执行用时 : 32 ms, 在Remove Duplicates from Sorted Array的C++提交中击败了96.72% 的用户内存消耗 : 10....

2019-05-04 16:12:04 1717

原创 数据结构学习笔记:有序向量的唯一化(去重复)操作

有序性及其甄别有序向量的唯一化(去重复)操作int nuiquify()(低效率版)我们来分析一下上述低效算法的复杂度接下来学习一下高效率的有序向量的唯一化(去重复)操作!!!...

2019-05-04 15:30:25 1923

原创 数据结构学习笔记:无序向量常用的操作算法

向量的元素访问向量的插入算法:insert(r,e)r位置上插入一个元素e向量的区间删除算法:remove(lo,hi)删除lo到hi地址之间的所有元素向量的查找算法:find(e,lo,hi),逆向的逐个从hi向lo遍历其间所有元素,查找是否有和元素e相等的元素,最终返回的是查找到的元素的位置;如果到lo还没有找到相等的元素,则查找失败向量的单元素删除算法:remove(r)删除...

2019-05-04 15:06:17 1890

原创 数据结构学习笔记:向量之可扩充向量

静态空间管理以及其不足:动态空间管理:扩充算法的实现:下面来看看其他扩充的策略:1.容量递增策略:1.容量加倍策略(指数级别):递增策略和加倍策略的对比如下:可以看出加倍策略在牺牲一定量空间复杂度的代价下换取了大量时间复杂度的增益,这样是值得的平均复杂度VS分摊复杂度...

2019-05-04 13:48:22 1903

原创 数据结构学习笔记:向量的构造和析构

一个模板类的构造:基于复制的类模板的构造:

2019-05-04 12:07:48 1633

原创 H.266/VVC代码学习笔记5:VTM4.0中的熵编码CABAC部分的详细解析

1 CABAC工作流程1.1 算术编码工作流程与变长编码不同,算术编码的本质是为整个输入序列分配一个码字,而不是给每个字符分别指定码字,因此平均意义上可以为单个字符分配码长小于1的码字,所以算数编码可以给出接近最优的编码结果。算术编码的基本原理是:根据信源不同符号的概率把[0,1)区间划分为互不重叠的子区间,子区间的宽度恰好是各符号序列的概率,这样信源发出的不同符...

2019-05-03 15:40:54 5525 4

图像工程(处理)课件.zip

这是有关图像工程的课件,是西安电子科技大学研究生上课用的课件,不过对图像处理有兴趣的同学可以下载下来学习一下,课件前两章都是绪论我就没上传,直接从第三章干货开始

2019-07-14

VVCSoftware_VTM-VTM-5.0.zip

2019年五月初旬新发布的VVC的参考软件--VTM5.0,其中新添加了帧内帧间预测的新技术,改动较大,还有滤波的一些技术,同时也取消和禁用了一些技术以降低复杂度和保证统一性,让代码看起来更漂亮,这应该是VVC标准发展的尾声了,希望大家能够下载下来多多学习

2019-05-18

cmake-3.11.2-win64-x64.rar

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

2019-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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