Pre 接下来直接看x265中对CTU块的编码,从对一个CTU的编码开始,CTU的四叉树划分,PU的划分,sad值计算,然后选择最佳匹配块,我将尽可能把我的理解以正确的方式写出来,欢迎大家批评指正。 HEVC学习笔记系列目录 我的x265的版本(hg log查看到的): changeset
more ...
Pre HEVC学习笔记系列目录 视频压缩时,先分割为若干个小的图像组(Group Of Pictures,GOP),每个GOP又被划分为多个片(Slice),一幅图像可以被分割为一个或者多个Slice,每个slice由一个或多个片段(Slice Segement,SS)组成,一个SS在编码时,先被分割为相同大小的树形结构单元(Coding Tree Unit,CTU),每个CTU包括一个亮度属性编码块(Coding Tree Block,CTB)和两个色差CTB,
more ...
Pre HEVC仅仅是一个标准,而落实到代码上,官方给出了HM,截止目前(2015.8.27)为止,版本已经到了16.6。 HEVC官网 HM移植到Arm平台 而x265则是民间的实现,而且支持多线程,速度比HM快很多,但是也忽略了HEVC的一些标准细节。 官网:x265.org docs:
more ...
Pre 之前的博客CUDA锁页内存和零复制只是简单介绍了下零复制内存,并没有详细说明,这里参考《CUDA并行程序设计-GPU编程指南》这本书再详细说明下。 零复制(Zero Copy)(零拷贝内存) 零复制是一种特殊形式的内存映射,它允许你将主机内存直接映射到GPU内存空间上。因此,当你对GPU上的内存解引用时,如果它是基于GPU的,那么你就获得了全局内存的高速带宽(180GB/s)。如果GP
more ...
Pre 最近在做关于HEVC的的东西,现在使用的是x265,一个开源的编码项目。 本文只介绍一些我用到的,会逐渐补充。 最好的方式是查询官方的手册。也不是很长。 在阅读x265代码的时候要注意,它的代码和HM的代码有比较大的区别,很多算法实验也有非常精巧的方法。让我大开眼界,建议一定先搞懂算法原理,然后看一下HM里面的实现,再看x265的代码,一定要花时间磨。磨代码的过程很重要。 移植到Arm ~~#
more ...
Pre 这是邮件与官方人员交流后他们做的一个临时的补丁,仅针对4445版本,可以在hm目录下,使用 svn up -r 4445 回退到4445版本,当前,前提是你是通过svn下载的hm。 Environment 平台:Ubuntu arm 开发板的官网链接 https://developer.nvidia.com/jetson-tk1
more ...