- 博客(194)
- 资源 (19)
- 收藏
- 关注
原创 【HEVC学习与研究】44、HEVC量化系数的解析——反量化过程
【同其他模块一样,HEVC标准文档中只实现了反量化过程,量化过程交由编码器实现。这样可使得编码器采用如自适应量化AQ、率失真优化量化RDOQ等更优的量化方法。这里首先简要记录标准文档的实现,然后再在参考代码中寻找对应的实现。具体可参见标准文档8.6.3】1、输入与输出数据反量化过程的输入数据主要有:①(xTbY,yTbY):当前亮度TB的左上顶点相对于整帧左上顶点的相对位置坐标;
2015-04-08 17:35:55 4738 1
原创 【HEVC学习与研究】43、HEVC变换编码的实现
【变换和量化是整个视频编码技术系列中理论性和研究性较强的一部分,本文暂时不去研究变换的原理、推导过程等,只是调试一下在参考代码中对预测残差进行变换的实现过程。变换的原理在未来会作为一个研究方向进行探讨。】1、HM中Intra模式的主要实现逻辑以Intra的亮度模式为例。主要实现代码实现于TEncSearch::estIntraPredQT方法中。TEncSearch::estIntraPr
2015-04-05 22:47:57 4040
原创 【HEVC学习与研究】42、HEVC帧内编码的原理和实现(下)
4、编码帧内预测模式大量增加可选择的预测模式可以提供更高的编码效率,同时要求编码预测模式有更加高效的方法降低更多模式带来的负担。与H.264采用一个最可能模式不同的是,对于亮度分量,三个最可能模式用于预测实际的帧内预测模式。同时,也考虑了三个最可能模式中的冗余信息,重复的模式会使用其他模式进行替换。对于亮度分量,HEVC采用了同亮度分量相同的预测模式。在编码亮度和色度帧内预测模式时,各个语法元
2015-04-01 10:24:49 6145
原创 【HEVC学习与研究】41、HEVC帧内编码的原理和实现(中)
3、像素块的帧内预测为了有效地预测多种不同种类的内容,HEVC支持多种不同的预测方法。角度预测可以模拟多种不同方向的结构,而平面和DC模式适用于平滑和渐变区域。同样对于任何角度预测模式都不能很好地适应的复杂纹理的像素块,DC和平面模式还可以用于在这种情况下生成一种不带有高频信息的“通用”预测块。此外,对于DC和某些角度预测模式,帧内编码还包括一些滤波后处理操作用于在块的边界提升像素之间的连
2015-03-30 17:01:46 4005
原创 【HEVC学习与研究】40、X265的下载和编译
【因工作需要,开始研究一下X265的基本使用方法。由于对HEVC的算法、概念的完全理解尚需时日,因此暂时只是考虑一下如何对x265进行下载、编译和测试方法,内部代码的实现未来再进行研究。】1、下载版本控制软件TortoiseHg下载地址:http://tortoisehg.bitbucket.org/download/index.html。安装过程可能会出现error code:2502、
2015-03-25 23:10:37 3295 1
原创 【HEVC学习与研究】39、HEVC帧内编码的原理和实现(上)
【前面N篇博文都讲了一些HEVC帧内预测的代码结构和简单的方法,但是尚未对整体的算法和实现做一个比较完整的描述。本篇借助参考文献《High Efficiency Video Coding (HEVC) -- Algorithms and Architectures》的相关章节的阅读笔记,对HEVC的帧内预测算法做一个比较完整的阐述。】【摘要】:HEVC的帧内预测的架构分为三个步骤:①构建参
2015-03-24 22:52:54 3773
原创 【操作系统】3、存储管理
计算机的工作方式可以归结为两种基本能力,即存储程序和自动地执行程序,前者靠存储器实现,后者靠CPU实现。计算机的工作原理即不断地从内存 中取出一条条指令放在CPU中运行。在此过程中,操作系统需要对程序的文件在内存中的保存方式进行管理,主要方法如下:1、单道程序存储管理该方法是最简单的一种存储管理方法,也是其他更复杂的方法的基础。单道程序存储管理的基本思路是将整个程序划分为两部分,即系统区和
2015-03-01 22:53:05 1544
原创 《Effective Objective-C 2.0》1、熟悉Objective-C
该系列是《Effective Objective-C 2.0——编写高质量iOS与OS X代码的52个有效方法》的读书笔记。第一条:了解Objective-C语言的起源同C++类似,Objective-C也是C语言进行面相对象化的扩展。二者存在一个根本性的区别:C++是一种基于函数调用的语言,运行时执行的代码由编译器决定。某个对象试图调用哪一个函数将在编译过程中确定好。只有在实
2015-02-21 20:15:57 964
原创 【COM原理和应用】3、COM的实现
1、进程内组件和进程外组件使用dll实现组件程序,则客户长须在调用组件程序的服务时,需要将dll装进自身的进程,所以客户程序和组件运行于同一进程空间,此类组件称为进程内组件。使用exe程序的组件,在被调用时自身具有进程空间,因此客户程序和组件运行在不同的进程空间,此类组件称之为进程外组件。1.1、进程内组件在客户程序与组件简历链接之后,客户程序可以得到直接指向组件接口虚函数表的接口指针
2015-02-05 22:05:53 1013
原创 【操作系统】2、进程管理与死锁
1、进程所谓进程,可以认为是一个程序及其正在运行的过程。相对来说,程序是一个静态的概念,而进程是一个动态的概念,更加强调程序运行的过程和状态。一般一个进程至少要包含几个内容,即程序代码、程序处理的数据、CPU寄存器的值、堆和栈以及进程所占用的系统资源。进程的概念所以和程序相区分,关键在于进程具有三个特性,即动态性、独立性和并发性。所谓动态性,指的是进程表示动态执行的程序,每时每刻进程的状态
2015-02-03 22:06:24 1053
原创 【COM原理和应用】1、COM原理和概述
【我们知道,Directshow整体上是构建在COM之上的,也可以认为是COM在视频、流媒体领域的一种特定的应用和封装。如果只是为了开发High level的directshow应用,COM方面的只是其实并非必须;但如果涉及到filter层的自定义开发,那么研究COM的概念和基本原理是很有必要的。现在开始我们将试图学习COM的内容,以求更深入地理解Directshow的知识。】1、COM的起源
2015-01-31 18:36:51 1349 1
原创 【操作系统】1、操作系统概述
1、操作系统的概念当前的计算机以及智能手机等设备,没有操作系统是不现实的事情。包括PC机上常见的Windows、Mac OS X和Linux,手机上的iOS和Android都是拥有巨大影响力的操作系统的典范。操作系统的根本作用有两个,其一是管理计算机系统的各个部件使之能正常运转,其二是给上层应用软件提供编程和运行的接口。2、操作系统的硬件环境作为计算机系统的最底层,硬件与操作系统的关系
2015-01-22 22:33:31 1094
原创 【汇编语言/底层开发】10、CALL和RET指令
CALL和RET指令常常用来实现子程序的设计。这两个指令同jmp、loop、jcxz等指令同属于转移指令。1、ret和retf转移指令的主要功能就是修改CS和IP或者只修改IP的内容。其中ret利用栈中的数据修改IP的内容,从而实现近转移;而retf则通过使用栈中的数据同时修改CS和IP的值,实现远转移。ret指令的作用相当于:pop IPretf指令的作用相当于:pop
2015-01-12 22:11:44 1449
原创 【汇编语言/底层开发】9、转移指令的原理
可以修改IP或者同时修改CS和IP的指令统称为转移指令。转移指令控制CPU执行内存中某处的代码,其作用相当于C语言中的GOTO。1、操作符Offset;2、jmp指令:jmp为无条件跳转指令,可以修改IP或同时修改CS和IP。
2015-01-07 22:38:44 1206
原创 【汇编语言/底层开发】8、数据处理的两个基本问题
标题中所指的两个基本问题是:(1)处理的数据在什么地方?(2)要处理的数据有多长?要使得计算机正常工作,这两个问题必须给予说明,否则无法工作。1、bx, si, di, bp这四个寄存器用于内存寻址的规则有:(1)在8086中只有这四个寄存器可以用于[]中进行内存单元寻址。也就是说,指令: mov ax, [bx]是正确的,而mov ax, [cx]是错误的。(2)在[]寻址中,这
2014-12-30 23:15:27 957
原创 【iOS7的一些总结】15、单例设计模式
1、基本概念所谓单例,即某一个类始终只能返回一个实例,也可以理解为类本身就是一个实例。单例类通常适合作为某些保存全局应用信息的全局对象,以及部分耗费大量系统资源的重量级对象。通过这种模式可以更简洁地涉及代码,或者提高应用的性能。常用的单例类有NSFileManager、NSUserDefault等。2、创建单例涉及模式的基本步骤(1)创建单例对象的静态实例,初始化为nil;
2014-12-11 21:40:42 896
原创 【汇编语言/底层开发】7、更灵活的定位内存地址方法
1、[bx+idata]通常情况下,我们使用ds和[bx]指定内存中的一个内存单元。而[bx+idata]所表示的是一种更加灵活的方式来定位内存地址,其表示的是段地址为DS,偏移地址为(bx)+idata的内存位置。通常idata为一个常量,表示一个固定的地址偏移量。如下面几条指令实际上
2014-12-08 21:18:49 1178
原创 【HEVC学习与研究】38、HEVC编码过程中的块分割结构
【本文主要分为前后两部分,前半部分基本是Vivienne Sze、Madhukar BudagaviGary和J. Sullivan所编著的《High Efficiency Video Coding (HEVC) ——Algorithms and Architectures》的第三章前半部分的笔记,后半部分是在HM-10.0中对Intra预测时块分割相应的代码研究。】0、摘要在基于块结构的
2014-12-03 22:12:43 9934 6
原创 【汇编语言/底层开发】6、程序中包含多个segment
众所周知的是,我们所开发的应用程序需依赖于操作系统运行,因此应用程序所使用的内存空间必须是安全的,不能与操作系统和其他应用程序相重合。因此,应用程序所需要的空间应当通过操作系统申请
2014-11-30 17:48:44 2632
原创 【iOS7的一些总结】12、使用UIView的一种有效方法
在一个典型的MVC结构中,Model部分负责保存目标数据,View部分主要负责实现数据的界面以及将数据显示出来,二者在Controller的操作下协同工作。在iOS应用中,View的实现主要由UIView及其派生类实现,主要由UILabel、UIImageView等等类来显示不同的信息。这里展示一个demo来说明个人对UIView同数据交互的一种观点,个人意见仅供参考,欢迎讨论。1、首先建
2014-09-23 22:30:35 1617
DirectShow调用手动Lav Filter建立Filter Graph播放视频
2014-03-14
斯坦福大学ios7开发课程demo程序5——第8课程序
2013-12-05
斯坦福大学ios7开发课程demo程序4——第6课导航控制器
2013-11-22
FFMPEG2.1播放H.265视频的demo
2013-11-18
斯坦福大学ios7开发课程demo程序1
2013-11-10
[iOS5开发基础教程].(Beginning.iOS.5.Development.Exploring.the.iOS.SDK).
2012-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人