自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 HM代码阅读5:快速大范围运动估计函数xTZSearch()与xTZ8PointDiaMondSearch()

上一次讲过了全搜索的做法,主要用于第二次对cost较大的参考图像列表的对应MV做一定范围内的全搜索减小cost。这次主要讲在第一次做ME时的快速搜索算法,HM中采用TZSearch进行大范围内的ME。HM中提供的算法如下:一般是采用Diamond搜索,也就是菱形搜索,在进搜索函数之前需要找到左、上、右上的MV,来判断是不是邻居MV更适合做ME的起始点(这里书本中没有详细写明,要注意)Void TEncSearch::xPatternSearchFast( const TComDataCU* const

2021-09-06 19:16:57 525

原创 HM代码阅读4:运动估计函数Void TEncSearch::xMotionEstimation()和全搜索Void TEncSearch::xPatternSearch()

HEVC中的运动估计采用的方法:1、小范围内全搜索(主要用于B帧,第二次遍历计算出较小cost的MV)2、大范围内菱形搜索(TZSearch),本文暂不涉及运动估计的具体过程,只梳理该函数内的处理过程,后续会进入PatternSearch中去详细解释运动估计的全过程。/*基于当前最优MVP做运动估计:Input:1、当前CU2、当前原始图像的Yuv数据(对应CU大小)3、当前PU的索引4、参考图像列表5、当前参考帧最优MVP(cMvPred[iRefList][iRefIdxTemp])

2021-08-30 22:11:09 365

原创 HM代码阅读3:AMVP候选填充函数Void TComDataCU::fillMvpCand ()

AMVP候选理论回顾根据图像中块与块的相关性计算,针对当前块,空域上与其相关性最强的块的位置如下图所示:时域上相关性的最强的块如下图所示:HM中该MVP填充流程如下:计算得到当前PU左上、左下、右上的4x4块的索引值.将ZScan转换成Raster来找更好计算位置预先判断当前PU左方的CU能不能获取,不能获取的话 isScaledFlagLX=false依次找无需缩放的A0、A1。根据当前参考帧以及所选块参考帧来确定,若两个参考帧相同,则就无需缩放。如果无需缩放的MVP找不到,则寻找可以缩

2021-08-24 19:06:17 279

原创 HM代码阅读2:AMVP预测函数Void TEncSearch::xEstimateMvPredAMVP()

AMVP预测函数:根据AMVP候选准则为该帧建立MVP候选列表,调用pcCU->fillMvpCand( uiPartIdx, uiPartAddr, eRefPicList, iRefIdx, pcAMVPInfo ) 填充候选列表(下一篇介绍该函数)构建好候选列表后,按以下流程选择最优MVP:将最优MVP索引置为0,最优MVP赋给中间变量cBestMv。进行RDcost计算得到当前Cost,利用当前Cost与最小Cost相比较,若当前Cost更小,则交换Cost值,同时将最佳MVP类TCo

2021-08-24 18:25:12 186

原创 HM代码阅读1: 帧间预测函数Void TEncSearch::predInterSearch()

AMVP理论知识简单回顾(含GPB)MVP主要是为了给当前PU提供一个运动矢量的预测,可加快ME的计算速度以及提升准确性。并且在后续编码中也只用编码MVD,减少了传输bit数。HM中获取每个参考图像列表最佳MVP的流程:遍历refPicList0中的每一帧,为每一帧创建AMVP候选。RDO选出最优MVP。根据最优MVP进行运动估计,得到当前最优的MV。根据MV再次比较AMVP候选中哪一个MVP最优,获取最优MVP存入cMVPred中,还需存储最优MVP在当前候选列表中的索引,将计算得到的bit数

2021-08-23 19:35:02 440

原创 Youtube扒视频+ffmpeg批量将 png图像转换为avi、MP4以及将avi、MP4转换为单帧图像

Youtube扒视频+ffmpeg批量将 png图像转换为avi、MP4以及将avi、MP4转换为单帧图像最近有科研需求,需要去youtube上扒视频来制作数据集,遇到了如何将avi及mp4转换为png 以及 将png图像转换为视频的操作。选择的工具为ffmpeg,由于需要超大量的转换过程,因此还学习了一下如何写bat命令批量处理。将如何youtube扒视频、批量转换的代码分享给大家,希望能用上Youtube扒视频。Python有一个库叫Pytube,该库用来扒视频非常的方便。可直接用pip安

2021-07-09 18:14:52 1118 2

原创 HM代码阅读0:Win10下安装HM16.23,编码一个视频,main函数阅读

HEVC理论知识的学习告了一段落了,说实话脑子里还是嗡嗡的,剩下的部分就一边阅读代码一边掌握吧。1. HM16.23安装首先需要安装Cmake,参考以下博客,照步骤安装即可https://blog.csdn.net/u011231598/article/details/80338941目前HM最新版本已经不需要SVN了,下载安装步骤如下:1、 https://vcgit.hhi.fraunhofer.de/jct-vc/HM/-/tags 点入Release,下载source code

2021-04-18 19:45:59 952 4

原创 HEVC帧间预测流程梳理

HEVC帧间预测流程前言:最近在琢磨hevc理论知识,看着那本书绕过去绕过来咋也没把流程想通,去找了师兄说耽误他一分钟,结果叭叭叭了六小时哈哈哈哈。 最后还是感谢师兄给我解答问题,我写这篇文章主要是为了帮自己梳理一次帧间预测的流程(防止自己以后忘记了)。那么首先要明确几个基本概念:运动矢量(MV):运动矢量是指当前块相较于自己的参考帧某个块所移动的距离大小, 分别是(Δx,Δy) (注:MV是单指运动的距离大小,并不包括其参考帧索引。)运动数据(Motion Parameters):运动数据包含运

2021-03-11 16:55:27 1065 2

空空如也

空空如也

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

TA关注的人

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