Workshop of Wenjie.Yin

滴水虽微渐盈大器

  • 博客(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

原创 【COM原理和应用】2、COM对象和接口

1、COM对象在客户程序与组件交互的过程中,COM组件将以COM对象形式封装的实体提供给客户程序。

2015-02-04 17:56:45 1382

原创 【操作系统】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

原创 使用Git进行版本控制:(2)在OS X系统上开始使用Git代码仓储

了解了基本的Git概念之后,现在我们开始讲Git应用到实际的工作中来。

2014-11-22 21:20:57 1617

原创 【汇编语言/底层开发】5、[BX]和loop指令

在之前编写的汇编代码中,我们经常使用到[0]、[1]等标志,

2014-11-18 16:37:12 1102

原创 【iOS7的一些总结】14、Block的概念和应用

我们知道,不同对象之间通信的方法比较常用的有

2014-11-09 21:38:48 1108

原创 【iOS7的一些总结】13、UIScrollView的概念和基本使用方法

在iOS应用中,使用UIView类来显示一个视图

2014-10-31 22:09:42 1026

原创 【汇编语言/底层开发】4、使用masm编译、链接汇编源文件

0、准备工作:由于现在我们的操作系统通常都是win7或者win8,所以

2014-10-27 21:35:47 2843

原创 使用Git进行版本控制:(1)Git是什么&为什么使用Git?

在前面的某篇博文中,我们简要介绍了如何使用Xcode进行简单的

2014-10-26 22:00:40 1183

原创 【汇编语言/底层开发】3、通过寄存器进行内存访问

上篇叙述了8086CPU的通用寄存器和代码寄存器的一些东西

2014-10-15 10:56:07 1283

原创 【HEVC学习与研究】37、HM编码器的基本结构2:帧内编码部分的代码骨架

第31篇博文大体介绍了

2014-10-09 17:52:45 5220 8

原创 视频文件格式分析(1):avi格式

近日某网盘对用户保存其中

2014-10-06 13:05:59 2734 2

原创 视频应用开发中常用的几个结构体

在视频应用的开发中,经常会使用到两个结构体VIDEOINFOHEADER2

2014-09-29 11:19:48 1532

原创 【iOS7的一些总结】12、使用UIView的一种有效方法

在一个典型的MVC结构中,Model部分负责保存目标数据,View部分主要负责实现数据的界面以及将数据显示出来,二者在Controller的操作下协同工作。在iOS应用中,View的实现主要由UIView及其派生类实现,主要由UILabel、UIImageView等等类来显示不同的信息。这里展示一个demo来说明个人对UIView同数据交互的一种观点,个人意见仅供参考,欢迎讨论。1、首先建

2014-09-23 22:30:35 1617

原创 【HEVC学习与研究】36、对帧内预测参考数据进行滤波处理

在帧内预测的过程中,获取临近的Prediction

2014-09-21 21:50:49 3365

原创 【HEVC学习与研究】35、帧内预测参考数据的获取和滤波处理

帧内预测的参考像素值的获取在标准wendan

2014-09-11 23:32:23 3136 2

原创 【HEVC学习与研究】34、HEVC参考软件HM中Intra预测参考像素的获取与管理

Comming soon。。。

2014-08-31 20:46:40 4291 2

原创 使用Eclipse对FFMpeg进行调试

在研究代码的过程中,调试运行是一种

2014-08-23 22:46:31 1467

原创 在Ubuntu下编译FFMPEG

在之前,我们成功地使用mingw+msys在windows平台下

2014-08-14 22:01:29 1054

原创 虚拟机软件VMWare Workstation安装Ubuntu

现在很多与视频相关的开源软件都是

2014-08-10 21:00:34 1262

原创 【HEVC学习与研究】33、编码一个CU(帧内部分)2:帧内预测各种模式的实现

HEVC中一共定义了35中帧内编码预测模式,编号

2014-07-28 18:11:28 5485 2

原创 【汇编语言/底层开发】2、CPU的寄存器

寄存器是CPU中用于高速存取暂存数据的存储部件,

2014-07-25 16:28:24 1309

原创 【iOS7的一些总结】11、iOS中的事件

1、原理

2014-07-15 21:16:55 1145

YUV视频序列播放器

用于播放视频解码器输出的YUV视频序列

2016-11-26

UIScrollView应用demo

使用UIScrollView实现一个简单的模拟相册应用

2014-10-31

UIView数据交互demo

本demo说明了一种高效的、简洁的而且易于重用扩展的MVC设计模式的实现,利用UIView同Controller进行数据交互来说明。

2014-09-23

LavPlayer播放器demo

使用MFC+LAV Filter实现简易视频播放器demo。需要提前将lavfilter组建注册到注册表。

2014-03-19

DirectShow调用手动Lav Filter建立Filter Graph播放视频

使用DirectShow,调用Lav Filter的组件播放视频。需要额外下载lavfilter组件并注册才能正常使用。

2014-03-14

DirectShow播放视频文件的命令行简单实现

采用DirectShow播放某个视频文件,文件路径由代码指定

2014-02-10

IOS7视图控制器之间数据传递的demo2

IOS7视图控制器之间数据传递的demo2,使用storyboard的方式实现两个视图控制器之间字符串的传递。

2014-01-04

IOS7视图控制器之间数据传递的demo1

IOS7视图控制器之间数据传递的demo1,使用手写UI的方式实现两个视图控制器之间字符串的传递。

2014-01-04

斯坦福大学ios7开发课程demo程序6——第九课程序

对之前的demo——attributor即文本格式分析器的自动布局操作。

2013-12-05

斯坦福大学ios7开发课程demo程序5——第8课程序

斯坦福大学2013秋季课程ios7开发的第8课和第九课前半节课的demo,实现了彩色方块的动态动画效果和手势识别操作。实现了满行消除的动画效果和拖动控制方块位置。

2013-12-05

斯坦福大学ios7开发课程demo程序4——第6课导航控制器

斯坦福大学ios7课程第六课“Polymorphism with controllers, UINavigation, UITabbar”的demo,实现文字格式的分析功能;

2013-11-22

FFMPEG2.1播放H.265视频的demo

ffmpeg2.1已经可以支持H.265/HEVC格式的视频,这个demo利用ffmpeg2.1的库开发了一个HEVC视频的建议播放器,在vs2010下可编译通过。

2013-11-18

斯坦福大学ios7开发课程demo程序3

斯坦福大学ios7课程第五课的demo,实现了UITextView、NSNotification以及视图控制器生命周期的相关操作。

2013-11-14

算数编码引擎demo

基本的算数编码的引擎,通俗易懂,可用于帮助理解视频编码中CABAC算法的原理。

2013-11-14

斯坦福大学ios7开发课程demo程序2

第三课“Objective-c”的demo,12张卡牌的游戏的实现。

2013-11-10

斯坦福大学ios7开发课程demo程序1

2013年秋季斯坦福大学计算机系课程:"Developing iOS 7 App for iPhone and iPad"示例程序。第一、二课

2013-11-10

[iOS5开发基础教程].(Beginning.iOS.5.Development.Exploring.the.iOS.SDK).

不可多得的苹果IOS5开发基础教程,叙述极为详尽,语言简练,同当前xcode版本兼容。初学者和进阶者的不二选择。

2012-04-29

《Visual C++面向对象与可视化程序设计》PPT课件

黄维通编著,国家精品课程配套教材,清华大学计算机基础教育课程系列教材

2011-02-26

高质量C++编程指南

c++编程指导,对初学者和进阶者都很有帮助

2010-10-19

空空如也

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

TA关注的人

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