自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

慢慢积累

菜鸟一只,多多包涵

  • 博客(317)
  • 资源 (20)
  • 收藏
  • 关注

原创 HEVC代码学习0:HM使用+码流分析教程

第一次面对如此浩大的工程代码,真的不知如何下手。拜读HEVC_CJL大神的博客,受益匪浅。以下将记录个人学习过程,有不对的地方请谅解指正,十分感谢。更新·2016.10.10:对HM使用方法进行了描述。·2018.01.23:对原HM使用方法进行了较大更新,增加了HM下载和码流分析部分。·2018.03.05:增加HM常见问题及解决方法。·2018.03.28:增加针对编...

2020-09-21 11:08:35 38271 148

原创 HEVC代码学习41:解码器代码整体学习

最近看了一些解码端的代码,为了方便阅读,写个总结梳理一下思路,之后会不断补充。这里借用雷神的图: decmain.cppHM解码器入口是TAppDecoder的decmain.cpp,调用了四个入口函数cTAppDecTop.create()(创建解码器),cTAppDecTop.parseCfg( argc, argv )(分析配置信息),cTAppDecTop.decode()(...

2018-05-15 10:15:55 2178 1

原创 H.266代码学习:变换部分总结

最近看了一段时间的JEM的变换部分了,先来总结一些,一来梳理一下思路,加深理解,二来列个提纲,方便大家阅读。变换是指对当前块减去帧内/帧间预测生成的预测块得到的残差进行变换编码,使能量更多的集中于左上角,从而来降低空间冗余。变换之后会进行量化,而后会进行熵编码。变换的上层入口变换的对象是残差信息,残差是当前块减预测块得到的。预测分为帧内/帧间两种。由于JEM引入了KLT变换技术,根...

2018-03-16 11:43:40 1947 5

原创 H.266 JEM相对于HEVC HM的改进

参考文献:JEM algorithm description editing目前JEM最新版本为JEM7.0,相对于HEVC的改进如下:1.块结构: 四叉树+二叉树块结构,支持更大CTU(最大可为256x256,CTC为128x128)——http://blog.csdn.net/lin453701006/article/details/527537242.帧内预测 65个帧内预测...

2017-12-18 11:47:26 5360 1

原创 基于ERP特性的自适应QP

在之前对投影格式的分析中已经反复提到了,ERP存在与纬度相关的横向拉伸,越向两极拉伸越严重。基于这个特性,可以对编码进行相关的优化。在JEVT F会议提案中出现了自适应QP的方法,获得了不错的效果。JVET F会议中出现了三种基于ERP特性的自适应QP,提案号分别为F0038、F0049和F0072,其中F0038和F0049相似,而且效果要远优于F0072,下面就两者进行简单介绍。F0038和F0

2017-11-30 15:57:38 2297 56

原创 从球域采样分布分析360质量评估

360视频在实际显示时,需要由2D平面投影到球面,最终呈现给观众的是球形视频,因此,直接评估2D平面视频是不准确的,于是引入了WS-PSNR、S-PSNR和CPP-PSNR。之前的学习中,都是从球面到平面变换公式中进行分析的,下面就来从球域采样分布,来更加直观的理解一下目前主要投影格式ERP和CMP质量评估中存在的问题。在360lib中,直接给出了ERP的2D平面坐标系(u, v)到球面坐标系(ϕ,

2017-10-25 16:57:58 1056

原创 360视频质量评估标准:WS-PSNR,S-PSNR,CPP-PSNR

为了符合当前的视频编码标准,360视频采集后需要投影为2D图像进行编码,而观看时需要将2D图像投影为球形视频,实际用户看到的是球形视频。考虑球形视频的特点,会存在关注区域的问题,直接使用PSNR对2D图像进行评估是不准确的。目前360Lib中,采纳了WS-PSNR,S-PSNR,CPP-PSNR作为360视频的客观质量评估标准,其中S-PSNR分为S-PSNR-I和S-PSNR-NN。首先来看下36

2017-09-27 10:16:18 6099 6

原创 HEVC代码学习18:运动估计和运动补偿总结

经过了这段时间对帧间预测部分代码的学习,算是大体上了解了其工作原理。只看理论不看代码,体会不深刻,在看了代码后,有了一种恍然大悟的感觉,很多算法实现和看原理时理解的不一样。下面来整理一下之前写的博客,总结一下运动估计和运动补偿具体的代码实现思路,主要谈一下代码处理的思路,运动估计运动估计实际就是当前块在参考图像中搜索找到匹配块的处理过程。在实际代码中入口函数是xMotionEstima...

2017-06-25 10:29:00 11445 15

原创 HEVC帧间预测

经过一个月奋斗,终于7门考试考完了,继续来学习HEVC。 之前由于并没有用到帧间预测的东西,没有对帧间预测进行学习,现在来具体学习一下。帧间预测是利用视频时间域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。目前主要采用基于块的运动补偿技术,原理是为当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块,即运动估计。用于预测的图像称为参考图像,参考块到当前像

2017-01-12 10:54:05 17364 2

原创 VTM测试结果与官方anchor对不上

最近测了一下VTM9.0的性能,AI和LP和官方anchor对的上,LB和RA死活对不上,反复检查了好几遍参数没发现问题,最后从同事了解到,测试使用编译平台不一样,浮点数存在精度区别。我使用的是windows+vs2017的平台,而官方提供的是linux+gcc的数据。于是重新用linux测试,数据果然对上了。...

2020-09-15 09:59:27 1251 5

原创 HEVC量化死区

最近才接触到量化死区,来学习一下这个技术。

2019-11-25 10:33:25 2186 3

原创 HEVC和VVC中的量化矩阵

量化矩阵技术早在JPEG就已经使用,视频编码标准也早就支持了,下面来看下HEVC和VVC中量化矩阵技术。量化矩阵下文缩写为QM。HEVCHEVC中支持两种类型的QM:默认QM和自定义QM。默认QM如下,其中8x8 intra QM使用的是JPEG在1999年基于HVS模型生成的QM,通过线性变换得到8x8 inter QM。16x16和32x32 QM是通过对8x8 QM上采样得到。这部分在...

2019-11-20 10:40:03 2246

原创 HEVC代码学习43:默认量化矩阵

量化矩阵的原理是对应不同位置的系数使用不同的量化系步长进行量化,人眼对高频不敏感,可以对低频分量进行小步长量化,对高频分量进行小步长量化,在保证主观质量的情况下,提高压缩效率。HEVC支持量化矩阵,但是默认不启用。HEVC的量化矩阵与TU大小相同,分为4x4,8x8,16x16,32x32 4种尺寸。HEVC可以使用来ing中国量化矩阵...

2019-10-31 10:20:13 3097

原创 HEVC实现无损压缩

使用HM是可以实现无损压缩的,只需要开启Transform Quantizer Bypass(TQB)。方法很简单,命令行输入增加–TransquantBypassEnable 和–CUTransquantBypassFlagForce即可。尝试了下结果如图,序列为BasketballDrive_1920x1080,YUV大小为1.45G,AI配置下编码bin大小为676M。只是为了用无损压...

2019-09-25 19:20:58 4732 3

原创 YOLOv3视频检测及检测结果保存(傻瓜式,不改代码,适用于将YOLOv3做黑盒使用的同学)

YOLOv3 windows下载、配置方法,推荐阅读https://blog.csdn.net/baidu_36669549/article/details/79798587,介绍很详细,对于直接拿YOLOv3用的同学完全足够,这里不再赘述。不知道为啥,网上现成资料基本都是要改代码才能实现检测视频和检测信息的保存。本人只是要拿来用,对YOLOv3完全不用去了解,当黑盒用,因此下面介绍的是纯傻瓜式...

2019-09-25 10:48:27 11283 19

原创 HEVC码流bin文件封装为mp4

在网上找了一大圈,找到了两篇靠谱的博客,尤其推荐第二个,科普处理流程,讲解很清楚。1.http://cadenwu.blog.chinaunix.net/uid-20554957-id-5746317.html2.http://www.ziliaoku8.com/index.php/archives/66实际做法很简单,使用MP4Box就可以完成。MP4Box下载地址:https://gp...

2019-09-24 21:03:23 6444 3

转载 转:HEVC、AV1、VVC:如何理解2019年的编解码器世界(干货!)

LiveVideoStack又出干货,建议持续关注。ps:我和LiveVideoStack真的没半毛钱关系,只是觉得文章很赞转的。 版权声明:本文为博主原创文章,遵循...

2019-09-17 21:32:05 7052

原创 AVS3参考软件HPM找不到win10 SDK解决方法

生成HPM时报错:上网搜了都是让装对应版本的win10 SDK,实际不需要,只需要重定向即可:该方法确认可用,不知道是否适用于其他找不到win10 SDK的情况。...

2019-09-05 09:39:40 836 2

原创 视频编码标准小八卦

最近看了H.264/AVC FRExt介绍H.264/MPEG4-AVC Fidelity Range Extensions: Tools, Profiles, Performance, and Application Areas时,看了下视频编码标准的发展历程,发现了一个蛮有趣的问题,感觉自己在不出正业,还是想写一篇杂文分享下。介绍中有一句话引起了我的兴趣:这里说的H.264是和H.262...

2019-09-02 20:27:07 762

原创 视频编码中常用的二值化方法

在视频编码中,在算术编码之前,要对需要传输的符号进行二值化,今天就来学习一下常用的二值化方法。常见的二值化编码算法有:一元码、截断一元码、截断莱斯二值化,K阶指数哥伦布编码,定长编码。一元码参考:https://en.wikipedia.org/wiki/Unary_coding一元码是一种十分简单的二值化方法。对于非负整数N,其一元码表示为N个1加1个0。例如N=5,一元码表示为11...

2019-08-28 16:23:11 2670 2

转载 转:MPEG中面向沉浸式视觉体验的标准化活动(虞露)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...

2019-08-20 18:06:09 1599 2

原创 VTM4.0变换编码跟进

VTM4.0变换编码加入了5项新技术:• JVET-M0140 Sub-block Transform (SBT) for inter blocks• JVET-M0297: skipping high frequency coefficients in wide/high blocks• JVET-M0303: implicit MTS• JVET-M0464: UniMTS• JVE...

2019-04-03 20:58:29 1101 7

原创 JVET提案学习方法

跟了两年多的266提案了,从一开始的mpeg转到JVET,今天来对JVET提案的学习方法吧。JVET提案系统:http://phenix.int-evry.fr/jvet/之前有整理过一些常用网址https://blog.csdn.net/lin453701006/article/details/70858499JVET网站很简洁,个人相当喜欢,而且提案完全开放,不需要注册账号。All m...

2019-03-31 10:56:41 6129 1

原创 VTM4.0 DC模式

我又回来了,好久没更博客了吧,没事来写下前段时间看的东西吧。DC模式很简单,理论很简单,就是用邻近像素块的均值填充当前预测块,具体不做介绍了。这里介绍下VTM中DC的改进历程。这里只介绍主要种子提案,下面给出DC相关提案号。JVET-J0020 Description of SDR video coding technology proposal by Panasonic (Panasoni...

2019-03-26 16:14:45 1142 1

原创 屏蔽百家号 -(baijiahao)

快过年了,回家了,发个非技术博客吧。最近被百家号恶心到不行,搜了下屏蔽方法,在家懒得翻墙用谷歌,又懒得装插件设置屏蔽,找到了一个简单有效的方法,直接在搜索内容后边加 -(baijiahao),效果还不错,清爽多了。...

2019-01-27 23:23:32 49810 16

原创 VTM3.0色度帧内候选模式列表

今天来详细看下色度帧内候选模式列表,函数是getIntraChromaCandModes,代码部分很简单。MDMSVTM中使用的是HM色度候选模式,MDMS在CE中,估计是因为复杂度的问题,目前还没有采用。在L0139中给出了一个简单的复杂度分析,性能上使用MDMS相比VTM在AI下的Y BD-rate估计为-0.2%,UV估计约-1%(个人根据提案数据估计,没有具体测过)。下图是MDMS...

2018-12-24 16:14:09 1101 8

原创 H.266/VVC已采纳技术

之前总结过H.266 JEM相对于H.265/HEVC的改进,JEM可以看做H.265到H.266的过度阶段参考软件,把很多有效果的算法都收纳进去了,与目前的H.266/VVC是存在很大不同的。目前H.266/VVC已经进入到了正式的标准化阶段,参考软件改用了BMS/VTM,从3.0开始,只对VTM进行更新。以下是截止L次澳门会议H.266/VVC已采纳技术(详见L1002):• Intra...

2018-12-23 10:11:06 4431 3

原创 VTM3.0变换编码跟进

之前BMS2.0变换编码跟进总结了BMS/VTM2.0的变换编码,从3.0开始,参考软件不再使用BMS版本,只有VTM版本更新。相比VTM2.0,VTM3.0变换编码变化不大,主要采纳了三份提案,代码改动很小,性能基本没有变化,主要是修复bug和统一化。1.帧内MTS传输变换核index时,不再检测非零系数个数。——JVET L0059 SamsungVTM2.0中,帧内亮度块使用多核变换情...

2018-12-16 18:57:13 1019 9

原创 VTM3.0代码学习:estIntraPredChromaQT函数

之前VTM3.0色度帧内预测跟进中学习了VTM3.0的色度帧内预测过程,今天来看下具体函数estIntraPredChromaQT。VTM3.0色度帧内预测分成两个阶段:1.粗选:按DC、Ver、Hor、LM_L、LM_T进行预测,按SATD排序,去掉两个SATD最大的模式。2.细选:粗选剩下三个模式和Planar、LM、DM(共六种)进行RD检测选最优。其中当DM借用的亮度角度模式与前四种...

2018-12-13 15:21:42 877 1

原创 VTM3.0代码学习:predIntraAng函数

今天来学习一下帧内预测函数predIntraAng,用于生成帧内预测图像。输入参数: const ComponentID compId //In 颜色分量 PelBuf &piPred //In/Out 预测图像 const PredictionUnit &pu //In 当前PU const bool useFilteredPredSamples ...

2018-11-21 11:36:13 1322

原创 VTM3.0色度帧内预测跟进

VTM2.0先来回顾一下VTM2.0色度帧内预测。在VTM2.0中,色度帧内预测会按Plannar、Ver、Hor、DC、LM、DM(共六种)顺序进行预测,RD检测最优。其中当DM借用的亮度角度模式与前四种模式相同时,会将DM换为角度66模式。VTM3.0相比VTM2.0,由于加入了MDLM(详见L0338),色度帧内预测有所变化。在VTM3.0中,加入了MDLM,即LM增加了L...

2018-11-19 11:24:07 807 10

原创 BMS/VTM代码学习:xCompressCU

找工作基本结束,收心回来看266了,从xCompressCU开始吧。在初学者阶段写过HEVC代码学习11:xCompressCU函数,当时实际看的一知半解,作为参考吧。BMS/VTM中xCompressCU代码精简了很多,看起来容易多了,主要流程为:1.初始化:设置可用模式、上下文模型等。2.尝试帧间、帧内各种可用预测模式,当遍历完所有可用模式后,调用xCheckModeSplit进行划分,...

2018-09-26 15:48:15 3730 6

原创 BMS2.0变换编码跟进

BMS2.0中,变换编码采纳了多核变换和二次变换。在draft中提到,采纳的多核变换只使用DCT2,DCT8,DST7三种变换核,没有给出具体的算法细节,现在来从代码中大概看下变换部分的内容。代码和JEM变动不大,JEM代码分析可见H.266代码学习:transformNxN函数和JEM一样,变换编码入口函数名称保持为transformNxN,变换尺寸JEM中就已经不是NxN了,换成tra...

2018-09-16 17:50:15 562

原创 VTM2.0算法跟进

7月份JVET卢布尔雅那会议上确定了VTM2.0版本,来跟进下采纳的技术:JVET-K1002采纳的技术有: • Intra prediction – 67 intra mode with wide angles mode extension(宽角度模式是针对矩形块提出的) – Position dependent intra prediction combination (...

2018-09-13 22:44:00 1269 2

原创 LeetCode 64:最小路径和

题目思路当前点值为grid[i][j],则到达该点最小路径总和:dis[i][j] = min(dis[i][j-1],dis[i-1][j]) + grid[i][j]第一列最小路径总和为:dis[i][j] = dis[i][j-1] + grid[i][j]第一行最小路径总和为:dis[i][j] = dis[i-1][j] + grid[i][j]。从左上到右下遍历...

2018-08-23 22:07:20 369

原创 LeetCode 349,350:两个数组的交集

题目思路leetcode把该题放在了二分查找类别底下,被误导了,一开始思路是从nums1中找nums2的值,由于两个数组存在重复数,实际使用直接遍历查找十分简单。首先将两个数组排序,各自从nums1和nums2的第一个元素开始,如果相同,将该元素放入输出数组;如果nums1元素大,nums2向后找;如果nums2元素大,nums1向后找,直到有一个数组被遍历。其中将相同元素数组...

2018-08-22 11:43:22 845 2

原创 LeetCode 35,704:搜索插入位置和二分查找

LeetCode 35:搜索插入位置 LeetCode 704:二分查找 两题都是最基本的二分查找问题,两题一起来做。题目LeetCode 35:搜索插入位置 LeetCode 704:二分查找 思路两题都是最基本的二分法问题,区别是不存在时的返回方式。704比较容易,只需要返回-1,而35需要返回插入位置,两者最后的特殊情况处理不同。代码LeetC...

2018-08-21 21:13:00 433

原创 LeetCode 542:01矩阵

题目思路方法1,笨方法,首先想到的是,把0的位置先找出来存起来,然后对非零位置找离最近0的距离,这样算复杂度很高。方法2,找邻域,确定与0的距离。第一次循环,遍历所有点,如果当前点为0,跳过;否则,找其邻域4个点是否有0,如果有,跳过;如果没有,将该点的值+1;第二次循环,如果当前点小于等于1,跳过;否则,找其邻域4个点是否有1,如果有,跳过;如果没有,将该点的值+1;...

2018-08-20 22:44:27 2256

原创 C++学习21:操作符sizeof学习

sizeof是一个操作符,用于计算一个变量或类型的大小(以字节为单位)。1.sizeof操作在编译阶段进行最直观的验证方式为:int num[10];int a[sizeof(num)];C++中一般是不能使用变量作为一个数组的长度的,必须使用常量。这里不会报错,这是因为sizeof(num)在编译阶段已经完成计算。2.sizeof计算类型或变量大小sizeof可...

2018-08-20 18:24:42 419 4

原创 LeetCode 338:比特位计数

题目思路考点就是统计1的个数,直接想到的就是n&(n-1),需要遍历所有的数字进行统计,复杂度较高。在看了别人的做法以后,改了版本2。规律为: 1.首先考虑数字表示所需的二进制位数,每两个数所需位数相同,比如0和1需要1位,2和3需要2位……每一对数包含一个奇数一个偶数,奇数中包含的1的个数比偶数多1。 2.对于偶数和它右移1位的数字包含1的个数相同。公式:re...

2018-08-20 09:39:27 1151

YUViewSetup.msi

YUView is a QT based, cross-platform YUV player with an advanced analytic toolset.

2019-11-26

H.266变换编码ppt

本人组内交流做的ppt,分享一下,简单介绍了H.266/FVC中使用的新技术。

2018-01-22

图像变换ppt

国防科大的一个图像变换课件,讲述了一些常见的图像变换方法,简单详细

2018-01-18

360Lib-2.0.1

360Lib是JVET设计的一个360视频投影格式转换和质量评估的工具,可以与HM或JEM整合用于360视频编码。

2017-10-16

360Lib官方手册

360Lib是JVET提供的360视频工具。该文件为360Lib的官方手册。

2017-10-16

360Lib-HM16.14整合版本

360Lib是JVET提供的360视频工具,与HM或JEM整合可直接用于360视频编解码。该版本为360Lib-HM16.14整合版本,可直接使用。

2017-10-16

HM代码介绍

很不错的一个HM介绍,分析了主要函数的功能

2017-07-05

HM-16.6-JEM-6.0

H.266的参考软件,基于HM修改

2017-05-11

相机参数(DERS、VSRS)

DERS6.1中提取的相机参数,主要用于DERS和VSRS。

2017-04-25

西电研究生工程优化课件

2016年秋西电研究生工程优化课件,PDF。

2017-04-21

立体匹配概述

很好的立体匹配的概述,总结的很全面。

2017-03-09

YUV420下采样代码

用来对YUV420下采样代码

2017-02-21

深度估计软件DERS6.1

深度估计公共测试软件,相比DERS5.1增加了对16bit深度图的支持,并且支持2视点深度估计。

2017-02-21

2014西电宽带无线通信试题答案

2017-01-08

2015.1西电宽带无线通信试题答案

2017-01-08

基于opencv的直方图计算与显示

基于opencv的直方图计算与显示

2016-10-19

基于opencv的引导滤波器

基于opencv的引导滤波器

2016-10-17

基于opencv模板匹配的人脸识别

基于opencv模板匹配的人脸识别

2016-10-17

双边滤波器和引导滤波器

双边滤波器和引导滤波器理论介绍

2016-10-09

空空如也

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

TA关注的人

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