接触H265时间不是很长,看了一些东西,但是一直没有时间静下心来整理。H265的学习主要是参考万帅、杨付正的《新一代高效视频编码 H265/HEVC 原理、标准与实现》移书,这本书对H265有详细易懂的讲解,作为入门教材真心觉得不错。这里会先把前期看的东西记录下来,后续会不断的补充。HEVC学习系列的文章也算是对自己学习H265做的笔记吧。

H265/HEVC仍旧沿用了H264的混合编码框架,但是在变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块中都引入了新的编码技术。H265/HEVC的编码框架如图:

在编码流程上依次为  分块---->预测---->变换---->量化---->熵编码

1. 帧内预测

主要是去除图像空间相关性。与H264相比,H265/HEVC支持更多的帧内预测模式,H264亮度4X4块支持9种方向,8X8块支持9种方向,16X16支持4中方向,色度支持4种方向;H265/HEVC所有尺寸编码块,亮度支持多达35种预测方向,测度也支持5种预测方向。

2. 帧间预测

主要是去除图像的时间相关性。与H264相同,H265/HEVC可以采用单向和双向的参考图像来进行预测,也有类似H264的B帧结构。但是H265在H264的基础上增加了插值的抽头系数个数,改变抽头系数值以及增加运动矢量预测值得候选个数,最终减少预测残差。H265增加了运动矢量预测值候选的个数,而相应的H264预测值则只有一个。

3. 变换量化

主要是对参差数据进行变换量化,从而去除频域相关性,对数据进行有损压缩。变换编码将图像从时域信号变换至频域,能量集中在低频区域。原理上两者是属于相互独立的过程,但是在H265/HEVC中两个过程结合在一起了,减少了计算复杂度。

4. 样点自适应补偿

简称SAO,处于去方块滤波之后,通过解析去方块滤波后图像的统计特性,为像素增加相应的偏移值,一定程度上可以消弱振铃效应。位于Deblock之后,做法是通过对重建图像的分类,对每一类图像像素值加减一个偏移。

除了上面提到的采样点自适应补偿、不同角度的帧内预测模式H265/HEVC还有很多新的技术,包括基于四叉树的灵活块分割结构(RQT)、内部位深度扩展(IBDI).

HEVC学习之一编码框架的更多相关文章

  1. [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知

    [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知 目录 [源码解析] 深度学习分布式训练框架 horovod (15) --- 广播 & 通知 0 ...

  2. Java并发包源码学习之AQS框架(四)AbstractQueuedSynchronizer源码分析

    经过前面几篇文章的铺垫,今天我们终于要看看AQS的庐山真面目了,建议第一次看AbstractQueuedSynchronizer 类源码的朋友可以先看下我前面几篇文章: <Java并发包源码学习 ...

  3. Java并发包源码学习之AQS框架(三)LockSupport和interrupt

    接着上一篇文章今天我们来介绍下LockSupport和Java中线程的中断(interrupt). 其实除了LockSupport,Java之初就有Object对象的wait和notify方法可以实现 ...

  4. Java并发包源码学习之AQS框架(一)概述

    AQS其实就是java.util.concurrent.locks.AbstractQueuedSynchronizer这个类. 阅读Java的并发包源码你会发现这个类是整个java.util.con ...

  5. Yaf零基础学习总结2-Yaf框架的安装

    接着上一篇文章<Yaf零基础学习总结1-Yaf框架简介>我们对Yaf框架有那么一个大概的了解了,但是对于程序员来说,那些文字都是表面的,他们最想的就是开始敲代码了.当然这也是学习Yaf框架 ...

  6. golang学习之beego框架配合easyui实现增删改查及图片上传

    golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...

  7. (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

    特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

  8. java web 学习笔记 编码问题总结

       java web 学习笔记 编码问题总结 1.非form表单中提交的中文参数---------------------------传递给Servlet服务器时,默认以iso-8859-1解码 ...

  9. 对比深度学习十大框架:TensorFlow 并非最好?

    http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow ...

随机推荐

  1. jquery input 下拉框(模拟select控件)焦点事件

    本章主要讲解如何实现select下拉列表可输入效果 ps:input提供输入,然后用ul去模拟一个select下拉列表效果即可,关键在于点击div之外的地方隐藏ul,下面是html基本结构: < ...

  2. android studio对于错误拼写/不识别的英文单词,给予波浪提示

    使用自己的名字当Tag.却发现有个非常不用好的提示.波浪,我浪个你妹. Typo:In word ‘miyuehu’ less...(Ctrl+F1) spellchecker inspection ...

  3. 输入输出流(IO)

    输入输出流(IO)文件(File)java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等), ...

  4. html页面元素事件丢失

    前段时间做网站包括最近用mvc做oa都发现这个奇怪现象,就是页面加载完毕后页面元素事件(比如按钮点击.复选框change)一切正常,但是当执行查询或者其他操作后页面事件丢失.具体原因暂没有时间分析,现 ...

  5. socket reuse

    int k   =   1;    if( SUCCESS != m_socketServer.setSockOptSocket( SO_REUSEADDR, (char*)&k, sizeo ...

  6. 自己瞎捣腾的Win7下Linux安装之路-----图例篇

    写在前面 网上很多这方面的教程,我也是参考他们的文章和一些书籍才弄成功.没啥创新性,只为记录下来,以供自已理解和以后复习. 所谓工欲善其事,必先利其器.俺想学习Linux,当然是要先装一个Linux( ...

  7. 前端学习 第四弹: HTML(一)

    前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...

  8. (转)LINUX测试环境部署Redis(四)

    安装配置Redis 第一部分:安装redis  希望将redis安装到此目录 1 /usr/local/redis 希望将安装包下载到此目录 1 /usr/local/src 那么安装过程指令如下: ...

  9. zendstuido10 配置spket插件

    必备:Zend Studio.Spket Plugin.sdk.jsb3.百度 安装过程中出现了两种错误,导致最后安装spket时报错,一种是提示“The file "F:\study\to ...

  10. 【SharePoint学习笔记】第2章 SharePoint Windows PowerShell 指南

    快速了解Windows PowerShell     从SharePoint 2010开始支持PowerShell,仍支持stsadm.exe工具:     可以调用.NET对象.COM对象.exe文 ...