
HM
文章平均质量分 71
慢慢积累不怕寂寞
耐下心来,不要觉得学习无聊,游戏确实好玩,可是学习一样好玩
展开
-
HEVC函数入门(1)——HM编码器的基本结构
首先说明这篇主要是记录用(意思是里面很多是我自己的理解,我也是刚入门的新手,肯定有许多不正确的地方,还请轻喷),使用的是HM 16.3 VS2015 当然如果有新手不太懂的话也可以看看。 本文主要参照http://blog.youkuaiyun.com/shaqoneal/article/details/36398707int main(int argc, char* argv[]){ TAppEncT原创 2017-06-18 13:52:30 · 1964 阅读 · 5 评论 -
HEVC函数入门(2)——帧内编码一个CU
这里依然整理自http://blog.youkuaiyun.com/shaqoneal/article/details/37500715 且阅读CU这部分主要对我而言是为了QP。另外一个方向是Tile不要迷失啦!!! 提醒我自己看http://blog.youkuaiyun.com/leixiaohua1020/article/details/46483721?locationNum=15&fps=1 在一个comp原创 2017-06-18 15:27:25 · 2212 阅读 · 0 评论 -
HEVC函数入门(17)——编码一个CU
本文转载整理自http://blog.youkuaiyun.com/NB_vol_1/article/details/51152578,做了一些微调,这里也感谢这位博主的这篇博客,让我对CU的编码有了更深入的了解。 注意事项 1、帧间预测分为两种:merge模式(skip模式是一种特殊的merge模式)和AMVP模式(即普通的帧间预测模式); 2、merge模式只支持2Nx2N的划分。 3、 帧内预测只原创 2017-08-01 22:55:44 · 2742 阅读 · 3 评论 -
HEVC函数入门(12)——量化参数及码率控制
本文整理自: http://blog.youkuaiyun.com/nb_vol_1/article/details/55096464 和http://blog.youkuaiyun.com/nb_vol_1/article/details/51191935 http://blog.youkuaiyun.com/nb_vol_1/article/details/56022073 使用我是用的HM16.3版本,来看一下以前只是粗原创 2017-07-25 20:02:19 · 1819 阅读 · 0 评论 -
HEVC函数入门(13)——HEVC中容易混淆的类和结构
前面一段时间有点荒废了。另外,写的东西有用的不多 ,这里开始写帧间编码相关的部分,首先这部分是参考大神http://blog.youkuaiyun.com/NB_vol_1/article/category/6179825的博客来写的。废话不多说,开始正题吧: TcomPic 是图片类,它包含TComPicSym(图像符号类)和TComPicYuv(yuv数据类:包括原始数据,预测数据、残差数据)Tvide转载 2017-07-27 17:21:01 · 878 阅读 · 0 评论 -
HEVC函数入门(11)——HM软件手册software-manual (cfg文件——帧内预测篇)
首先在HM-16.3中找到cfg文件夹,其中是很多配置文件,首先从帧内预测开始,下载BasketballDrill_832x480_50.yuv这个测试序列,然后,从cfg文件夹中找到它的配置文件BasketballDrill.cfg,以及encoder_intra_main.cfg ,第一个配置文件主要是输出文件和编码多少帧,第二个才是实际编码中的参数,所以打开第二个配置文件。同时打开操作手册。、原创 2017-07-19 11:11:32 · 2166 阅读 · 0 评论 -
HEVC函数入门(18)——帧间预测的原理
首先推荐大家看一下:http://blog.youkuaiyun.com/qq_21747841/article/details/75671087 和http://blog.youkuaiyun.com/qq_21747841/article/details/76560245 当前的文章主要参考并整理自:http://blog.youkuaiyun.com/nb_vol_1/article/details/51152785 只修原创 2017-08-21 14:45:56 · 995 阅读 · 0 评论 -
HEVC函数入门(19)——帧间编码AMVP
本文整理自http://blog.youkuaiyun.com/NB_vol_1/article/details/51162391 简介 和 predInterSearch主要的工作是ME(运动估计)和MC(运动补偿)。 函数中有一个bTestNormalMC变量,它表示是否进行正常的MC过程,正常的MC过程就是进行ME再进行MC。 正常的MC流程是,遍历所有的参考帧,进行ME(运动原创 2017-08-21 17:06:59 · 2153 阅读 · 0 评论 -
HEVC函数入门(20)——预测MV的获取
突然发现自己这个系列起的名字函数入门怪怪的,不是很对,但是现在更改也不方便啦,其实很少涉及HEVC真正的函数,应该是HM中的函数,懒癌犯了,下面接着参考http://blog.youkuaiyun.com/NB_vol_1/article/details/51162846来看一下MV的获取吧。 xEstimateMvPredAMVP的工作流程 首先注意:AMVP模式的入口函数是xCheckRDCostInt原创 2017-08-22 17:35:23 · 2294 阅读 · 3 评论 -
HEVC函数入门(21)——帧间预测之Merge
这个内容我没有新的理解和收获,就不再写一遍了,所以对其感兴趣的请参考: http://blog.youkuaiyun.com/NB_vol_1/article/details/51163625转载 2017-08-22 17:40:30 · 1749 阅读 · 0 评论 -
HEVC函数入门(22)——变换&量化
本文只是简单的梳理,没有新的贡献,当需要用到变化量化时可根据本文迅速找到相关的文章。 关于变换,可以回顾下我原来的博文:http://blog.youkuaiyun.com/qq_21747841/article/details/73551511 当时对HEVC的理解远远不如现在,所以,再参考大神的博文: http://blog.youkuaiyun.com/NB_vol_1/article/details/5119原创 2017-08-23 13:43:15 · 3998 阅读 · 1 评论 -
HEVC函数入门(16)——Slice编码
本文转载整理自:http://blog.youkuaiyun.com/NB_vol_1/article/details/51152578 这篇文章很多东西还没搞懂,所以先转载放在这。 入口函数TEncSlice::compressSlice 这个函数主要是设置一些参数和初始化一些东西,然后对片中的每一个LCU调用initCU(初始化CU)和compressCU(对CU编码)和encodeCU(对CU进行熵转载 2017-08-01 22:05:07 · 2362 阅读 · 0 评论 -
HM的下载简单配置
看到的文章里有关于HM配置的文章,但不是非常具体,刚开始我看的时候非常困扰,这里我总结一下HM的下载。 首先是SVN:https://tortoisesvn.net/downloads.html SVN是下载HM的工具 然后打开HM的下载页面:https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/找到一个比较新的版本,我是下载的HM1原创 2017-06-13 17:25:07 · 2124 阅读 · 3 评论 -
HEVC函数入门(4)——指针,帧内预测,滤波
在http://blog.youkuaiyun.com/shaqoneal/article/details/38963083这篇博客中讲到了获取参考数据的指针 ,指向的是当前块的参考数据,但是在我的16.3版本中有所不同。 原博两篇的题目分别为HEVC参考软件HM中Intra预测参考像素的获取与管理和帧内预测参考数据的获取和滤波处理 感觉一部分是通过边界来预测当前PU内像素值,而另一个部分是获取边界值。恩原创 2017-06-19 17:54:04 · 1180 阅读 · 1 评论 -
HEVC函数入门(3)——参数命名及帧内预测
前面看了几个函数,里面参数极其复杂,是不是眼花了,下面将整理一下CJL大神博客的部分内容。 http://blog.youkuaiyun.com/hevc_cjl/article/details/8170646 以及今天要看的帧内预测各种模式的实现 http://blog.youkuaiyun.com/shaqoneal/article/details/38225189 (1)类的命名: 一般来说,一个头文件只包原创 2017-06-19 13:37:48 · 1312 阅读 · 0 评论 -
HEVC函数入门(5)——帧内预测参考数据滤波及总结
这里接着上一篇博客,并且稍微做下总结吧 首先是上篇讲到的滤波 依然是从http://blog.youkuaiyun.com/shaqoneal/article/details/39378973参考的 在帧内预测的过程中,获取临近的Prediction Unit的边缘数据作为当前PU的参考数据。数据获取完成后,并不一定会直接使用这些数据进行预测,而可能会先将这些预测数据进行一次滤波操作。帧内参考像素的滤波原创 2017-06-20 16:49:41 · 1219 阅读 · 0 评论 -
HEVC函数入门(6)——帧内预测-详细概念和HM16.3实现(上)
前面已经讲过了帧内预测的原理,但是只是讲了一下方向DC以及平面预测的概念,对其中的细节没有细讲,这里,整理http://blog.youkuaiyun.com/shaqoneal/article/details/44749057这篇博文来看看具体概念。 (1)角度预测 HEVC中的角度预测方法用于高效地对图像和视频的不同方向性结构进行建模的方法。该方法所选择的预测方向经过设计,可以达到对典型视频内容的编码效原创 2017-06-21 16:14:18 · 1577 阅读 · 1 评论 -
HEVC函数入门(7)——帧内预测-详细概念和HM16.3实现(下)
首先说明本文引自:http://blog.youkuaiyun.com/shaqoneal/article/details/44759561 这里我看的就没有上一篇那么懂了,所以很多地方都只是单纯的复制,另外也有一些个人的理解 (1)亮度帧内预测模式的预测 HEVC对每种PU大小共支持总计33种角度模式,外加上DC和平面模式。由于支持的模式更多,类似于H.264的单一最可能模式在HEVC中效率不高。HEV原创 2017-06-21 16:35:47 · 3144 阅读 · 0 评论 -
HEVC函数入门(10)——HM软件手册software-manual(GOP,RPS,POC)
前面讲到找tile相关的函数,结果发现调用来调用去,搞的都迷糊了。所以这里来使用HM自带的软件手册software-manual来查找相关的内容。这里建议大家对一些测试视频进行压缩,然后对应的在软件手册中找参数的含义,我直接来看软件手册也是没办法,因为目的只有tile,这里软件手册是在HM中的doc文件夹中,有很多文档,有空的话都点开看看也可以。下面一部分内容将围绕软件手册的内容来讲。首先是GOP的原创 2017-07-10 16:44:39 · 3073 阅读 · 1 评论 -
HEVC函数入门(9)——tile相关
前面八篇博客主要整理自殷汶杰大神的博客,主要是为了了解函数的作用及其调用关系,下面呢,为了实现我想要的将图像tile的目标,有必要去找和tile有关的资料原创 2017-06-26 12:07:50 · 2088 阅读 · 3 评论 -
HEVC函数入门(8)——变换的实现
前面我们讲的都是预测,下面开始变换的实现。 本文参考http://blog.youkuaiyun.com/shaqoneal/article/details/44856469 1、HM中Intra模式的主要实现逻辑 以Intra的亮度模式为例。主要实现代码实现于TEncSearch::estIntraPredQT方法中。TEncSearch::estIntraPredQT实现时,首先获取当前CU的分割子块原创 2017-06-21 17:54:50 · 1956 阅读 · 0 评论 -
HEVC函数入门(14)——建议先看:整个编码流程以及相关的函数
这篇文章本来要放在前面的,但是我看到的晚,然后发现很有用,就转载一下吧。 转自:http://blog.youkuaiyun.com/nb_vol_1/article/details/51144828该作者也是转载,但是没有找到原地址。在此表示对这篇文章作者的感谢。 整个流程可以从compressGOP函数开始着手: 1、compressGOP对一整个图像组(GOP)进行编码,主要是遍历GOP中每转载 2017-07-30 19:51:03 · 3318 阅读 · 1 评论 -
HEVC函数入门(15)——重要变量以及CU索引
本文整理自:1:http://blog.youkuaiyun.com/nb_vol_1/article/details/51145006 2:http://blog.youkuaiyun.com/NB_vol_1/article/details/71187426 首先感谢大神授权可以整理转载,后面会接着读大神的博客,所以后面一段时间里文章基本也是整理自这位大神。 1、TComDataCU。TComDataCU:LC原创 2017-07-30 20:55:46 · 3485 阅读 · 1 评论 -
HEVC函数入门(24)——比特流
NB_vol_1的博文在比特流之前讲了去方块滤波和SAO,这个部分我打算放到后面,这里先看一下比特流。本文整理自http://blog.youkuaiyun.com/nb_vol_1/article/details/55057213 在讲比特流之前先了解下VCL和NAL,HEVC编码分成两个层次,高层处理编码具体细节的被称为VCL(视频编码层)、底层处理比特流的被称为NAL(网络适配层)。预测编码、变换、量原创 2017-08-24 15:10:26 · 3007 阅读 · 2 评论