自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 预测块单元

在正式讨论HEVC的技术细节之前,有必要先建立好符合标准的实验平台,这对理解编解码的技术具有很大帮助。最方便,最有效,认可程度也最高的自然是JCT-VC工作组公布的参考代码HM系列了。这里,我们用最新预测块尺寸    HEVC放弃了当前各种编码标准中“宏块”的概念,而是采用了一种最大可达64×64,可以根据内容进一步分解为多种尺寸的结构。HEVC首先将树形编码单元(coding tre

2017-11-29 18:03:54 888

转载 NAL unit 的解码(一)

HEVC视频编码的数据输出都是以NAL为基本单位进行输出的,  NAL的前两个BYTE是NAL的头,这两个BYTE的数据存储了当前NAL的类型,以及LayerID和TID,这两个的作用现在还没有完全弄懂    还有就是NAL分为VCL和non-VCL两大类,VCL是指携带编码数据的数据流,而non-VCL则是控制数据流,其中一个携带编码数据的数据流VCL包含了一个slice segment的数据。...

2017-11-29 15:47:10 4511

转载 CU的划分、地址以及索引

CU的划分、地址以及索引    在看HM源码的时候,最蛋疼的一件事就是被CU的划分以及它们的地址搞懵。为了搞清楚,仔细研究了一下源码,有什么错误请指出。为了弄清楚这个问题,必须要对扫描顺序、深度等概念有所理解。扫描顺序    HEVC中对像素块的扫描方式有两种:Raster和Zscan    Raster扫

2017-11-29 12:49:27 2220

转载 CU划分

相信会有不少人对如何确定CU最终的划分有所困惑(包括我在内,刚开始接触时也不知道该怎么做),我觉得很大的一个原因就是CU是递归划分的,这就导致在寻找确定最佳分割位置时比较困难。 其实,解决问题的办法说难也不难,关键在于思路的转换,既然对于xCompressCU中是如何保存划分模式的觉得难以理解,何不跳出这个小圈子寻找新的方法呢? 我们可以从解码器的角度来考虑,因为最

2017-11-29 12:35:17 2176 2

转载 帧内预测:xPredIntraAng函数

xPredIntraAng函数// Function for deriving the angular Intra predictions /** Function for deriving the simplified angular intra predictions. * \param pSrc pointer to reconstructed sample array

2017-11-29 11:30:15 629

转载 HEVC帧内编码的原理和实现

HEVC帧内编码的原理和实现(上)【前面N篇博文都讲了一些HEVC帧内预测的代码结构和简单的方法,但是尚未对整体的算法和实现做一个比较完整的描述。本篇借助参考文献《High Efficiency Video Coding (HEVC) -- Algorithms and Architectures》的相关章节的阅读笔记,对HEVC的帧内预测算法做一个比较完整的阐述。】【

2017-11-27 15:56:57 5612 1

转载 YUV详解

原文地址:http://blog.csdn.net/searchsun/article/details/2443867YUV是指亮度参量和色度参量分开表示的像素格式,而这样分开的好处就是不但可以避免相互干扰,还可以降低色度的采样率而不会对图像质量影响太大。YUV是一个比较笼统地说法,针对它的具体排列方式,可以分为很多种具体的格式。转载一篇对yuv格式解释的比较清楚地文章,也可以直接参考微软

2017-11-24 16:49:05 304

转载 rgb、yuv、ycbcr

一、和rgb之间换算公式的差异yuvrgbY'= 0.299*R' + 0.587*G' + 0.114*B'U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y')R' = Y' + 1.140*V'

2017-11-24 16:00:19 184

转载 帧内预测:xPredIntraPlanar函数

xPredIntraPlanar/** Function for deriving planar intra prediction. * \param pSrc pointer to reconstructed sample array * \param srcStride the stride of the reconstructed sample array * \param rp

2017-11-24 14:52:52 455

原创 CSDN写博客基本技巧

第一:文字和图片直接复制粘贴既可。第二:代码(eg:.cpp)把工程中的代码直接复制到如下图所示,点击确认就好。注意:代码部分会呈现灰色,文字和图片部分是白色,注意区别。

2017-11-24 13:24:32 4369

转载 SAO为例浅析跟踪HM代码

HM的代码跟踪其实在我转载的一篇博客HEVC/H.265参考代码跟踪里就已经有很不错的介绍了,因此,我就不重复里面所说的了,而是对里面一些我觉得需要稍微补充下并且以另一个具体实例SAO即Sample Adaptive Offset的跟踪过程进行说明。由于只是一个跟踪说明,代码的具体细节就不去探究了,其实这也是一个方法,有些时候,你仅仅需要知道实现某个功能的代码在哪,而不需要知道它的实现细节,那

2017-11-24 13:20:15 2330

转载 HEVC/H.265参考代码跟踪

1.编码器程序从"TAppEncoder"工程中的encmain.cpp文件开始的,此文件中包含程序运行的入口函数"main",在main函数中主要做了编码器对象的创建、分析配置文件,初始化配置参数,和编码器最重要的功能"encode"。2.在"encode"函数中,主要实现了读取YUV文件的数据、初始化工具对象例如:GOPEncoder、SliceEncoder、CUEncder……。在

2017-11-24 13:18:17 479

转载 帧内预测:predIntraLumaAng函数+getPreditorPtr函数+xDCPredFiltering函数

帧内预测:predIntraLumaAng函数调用了getPredictorPtr获得指向参考样点首地址的指针,再根据帧内预测的模式调用xPredIntraPlanar进行Intra_Planar模式预测和调用xPredIntraAng进行Intra_DC、Intra_Angular模式预测,最后调用xDCPredFiltering对Intra_DC模式的边界进行平滑滤波处理。Void

2017-11-24 13:16:11 506

转载 帧内预测的主函数框架分析

Void TEncSearch::estIntraPredQT( TComDataCU* pcCU, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, TComYuv*

2017-11-24 11:54:48 375

转载 HM代码总结一

1.编码器程序从"TAppEncoder"工程中的encmain.cpp文件开始的,此文件中包含程序运行的入口函数"main",在main函数中主要做了编码器对象的创建、分析配置文件,初始化配置参数,和编码器最重要的功能"encode"。2.在"encode"函数中,主要实现了读取YUV文件的数据、初始化工具对象例如:GOPEncoder、SliceEncoder、CUEncder……。在

2017-11-24 11:45:39 488

原创 帧内预测-函数initAdiPattern

函数initAdiPattern(1)检测当前PU的相邻样点包括左上、上、右上、左、左下邻域样点值的可用性,或者说检查这些点是否存在;(2)参考样点的替换过程,主要实现的是JCTVC-J1003即draft 8.4.4.2.2的内容,主要由函数fillReferenceSamples来完成,这个在之前的文章已经讨论过了;(3)相邻样点即参考样点的平滑滤波uiWidth和

2017-11-24 11:22:30 459 1

原创 HM码流整理

HM学习TAppEncoder的函数调用关系图函数背景色函数在图中以方框的形式表现出来。不同的背景色标志了该函数不同的作用:白色背景的函数:不加区分的普通内部函数。黄色背景函数:滤波函数(Filter)。用于环路滤波,半像素插值,SSIM/PSNR的计算。绿色背景的函数:CU编码函数(Encode)。通过对残差的DCT变换、量化等方式对CU进行编码。紫色背景的函数:

2017-11-22 16:42:05 2277 2

转载 JM(264)基础知识整理

码率控制码率控制实际上是一种编码的优化算法,它用于实现对视频流码流大小的控制。那么它控制的目的是什么呢?我们可以试想一下,同样的视频编码格式,码流大,它包含的信息也就越多,那么对应的图像也就越清晰,反之亦然。目前常用的两种码流控制方式是VBR和CBR,VBR是动态比特率,CBR是固定比特率。那么他们是怎么来实现的呢?我们首先看视频编码的目的,它是为了在有限的带宽中传输尽可能清晰的视频,

2017-11-22 16:40:03 2825

转载 c++中“箭头(->)”和“点号(.)”操作符的区别(HM解析)

首先介绍一下C++中的结构。对于一个结构:[cpp] view plain copystruct MyStruct  {    int member_a;  };  如果有个变量MyStruct s,那么使用其中的成员元素时可以用:[cpp] view plain copy

2017-11-20 10:57:52 537

空空如也

空空如也

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

TA关注的人

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