音视频编解码与处理
文章平均质量分 64
quanben
安能摧眉折腰事双嘎,使我不得开心颜。
展开
-
JPEG2000的Kakadu源代码浅析之一:文件首部
JPEG2000是新一代的静态图像压缩格式,它可能将取代现行的JPEG最终应用于网络和媒体,甚至一些对图像质量和(或)码率要求很高的场合。正在进行中的Motion-JPEG2000项目将支持运动图像,它将以其高端特性应用于数字电影业务,但是从目前看Motion-JPEG2000是一种基于JPEG2000帧内压缩而无帧间编码的格式,所以对JPEG2000的了解就非常重要。JPEG2000目前的资原创 2005-03-06 15:29:00 · 6012 阅读 · 3 评论 -
H.264笔记之三——环路内滤波
H.264环路内滤波顾名思义在编码侧开启后解码部分必须跟随开启,因此是该视频编码方案的不可分割的组成部分。 以下整理了Baseline情形下环路滤波的四种情形: All cases that may exist for Baseline Bs = 4: either is intra, MB edge Bs = 3: either is intra, blo原创 2008-09-08 11:21:00 · 2531 阅读 · 0 评论 -
Video profiles commonly used in low-bitrate circumstances
The following parameters are only for recommendation.These parameters always slip off my mind.Video chatting(QCIF)MPEG-4 Simple Profile, Level 0 (1object allowed at maximum). (up to 4-object a原创 2008-10-07 10:44:00 · 642 阅读 · 0 评论 -
OpenMAX大意(一~三)
解析以OpenMAX非Tunneled为例,从应用线程开始。一、应用线程基本流程1. OMX_Init()2. 获取句柄,组件转到Loaded状态 OMX_GetHandle(out handle, in componentName, in appData, in callbacks); 其中callbacks结构包括三个回调函数指针(作用后文介绍): 1) EventHan原创 2008-10-07 13:49:00 · 4033 阅读 · 0 评论 -
FFMPEG和H.264相关开发笔记
解码应用过程:1. 用以下过程应用H264解码器main(){ AVFrame pic; dsputil_static_init(); // 跟踪了很深才发现的,如果不调用,内部算法数据都没初始化 AVCodecContext *pAVCtx = avcodec_alloc_context(); // 创建解码context,返回创建后指针 avcodec_原创 2009-08-01 19:19:00 · 6045 阅读 · 3 评论 -
信号处理,想到就写
从一个实际的小问题出发,回顾一些基础的知识点:平稳噪声x[n]激励系统h[n],输出y[n]能量需要和x[n]一致,系统的形式: AH(z) = -------------------------- 1 - sum(i=1:m, a[i]h[i])求A。 1. 首先看系统的响应:平稳随机过程x通过LSI系统h的输出。原创 2009-09-29 15:40:00 · 709 阅读 · 0 评论 -
Android之NDK开发再探
通过SDK/NDK构建的基于本地功能的程序能够比较方便地迁移到实际的运行平台上。一般对于SDK-eclipxe创建的JAVA应用程序,可以将整个工程目录复制到文件系统源码的development/samples之下,和SDK的一些例程放在一起,虽然不是最符合规范,但比较方便,基本不需要对mk文件进行任何配置和改变。对于本地程序,NDK开发环境只提供了一些基本的C/C++库的支持,因此只适合原创 2010-03-09 09:43:00 · 1299 阅读 · 0 评论 -
Quake III中的一段小代码
一段Quake III浮点优化代码的简要分析。原创 2010-10-08 12:44:00 · 1030 阅读 · 0 评论 -
Android之NDK开发初探
总的来说ANDROID的NDK远不及其应用开发的SDK完善(虽然经过一番不算复杂的折腾发现NDK用起来很方便),而且它本身也不推荐使用这种做法,至少目前也不将此作为重点。但是某些中间层面系统测试(主要如多媒体和OpenGL ES的测试和演示等)必须通过本地代码实现,因此NDK应当是必由之路。 最近尝试了一下,目前将JNI部分基本理顺(而后续则需要链接相关的ANDROID本地库,如OpenCore原创 2010-02-02 12:57:00 · 4892 阅读 · 2 评论 -
Words in Memory of Steve Jobs
Steve Jobs passed away just a few hours ago, and this is really a saddening news. One thought that comes to my mind is the consequence of th原创 2011-10-06 18:38:45 · 1595 阅读 · 4 评论 -
博客主站转移声明
从即日起,本人技术博客主站将转移到blogger(google提供),并除了部分翻译文章和特殊需要外,将主要以英语撰写。该新主站的文章部分将以链接形式映射到此处。该博客位置如下,欢迎访问。http://lincolnyutech.blogspot.com.au/原创 2012-05-06 15:06:54 · 944 阅读 · 0 评论 -
H.264笔记之一
H.264标准写得比较繁复,所以考虑在浏览完Whitepaper之后就开始研读X264代码。X264代码风格还是比较清晰简洁的。根据对标准的理解,Picture Order Count在Slice解码的一开始就被提及:I0 B1 B2 P3 B4 B5 P6I0 P3 B1 B2 P6 B4 B5于是I0的POC是0,P3的POC是3,B1是1……为了支持H264复杂的帧存机制原创 2007-07-24 14:00:00 · 5941 阅读 · 2 评论 -
Simple Error Code Generation
The need of error code generation is growing in the field of communication. Both the imitation of real situation and the feasibility of the implementation are in the consideration. The simple Markov m原创 2008-08-03 13:52:00 · 655 阅读 · 1 评论 -
Image Flattener
The code is to smooth out the JPEG artifacts on some digitized maps in order to facilitate the PNG compression. I finally decided to use some flood-style algorithm the result of which is somewhat sati原创 2008-04-16 23:55:00 · 819 阅读 · 0 评论 -
JPEG2000的Kakadu源代码浅析之二:码流参数
JPEG2000的很多参数都与图像的预处理和分割有关。一般的彩色图像都具有三个分量,例如RGB,或者YUV等。在进行主要的图像分割之前,现要将原始图像信号去直流(所谓DC层进)并进行分量变换(主要是将RGB变换为YCbCr)。这里仅对彩色图像的一个分量或者黑白图像进行讨论。 第一个重要概念是参考网格(reference grid)。这相当于JPEG2000图像的基本坐标系。而图像区域相当原创 2005-03-06 15:33:00 · 4738 阅读 · 1 评论 -
JPEG2000的Kakadu源代码浅析之三:码流解码(一)
本章内容可能要涉及一些信号和图像处理的知识,我将尽可能用较为正式的表述,具体内容可以参考相关书籍。JPEG2000信号与信息处理的一些基础知识也可以参考我的笔记:http://lincoln.yu.googlepages.com/sgnotes.zip 码流解码过程从main函数中的kdu_codestream codestream的构造声明处开始。随即完成对输入流的绑定,和codest原创 2005-03-06 15:40:00 · 5482 阅读 · 2 评论 -
JPEG2000的Kakadu源代码浅析之五:码流解码(三)
在kd_block_decoder::decode(kdu_block *block)中,JPEG2000的EBCOT关键解码步骤得以实施。对于一个[:num_rows*num_cols:]码块,又以4行为单位划分成多个条带(stripe),于是条带总数为[:(num_rows+3)/4:]。 一些主要的变量: [:num_cols:],[:num_rows:]:当前有效码块(block)原创 2006-04-30 10:11:00 · 2466 阅读 · 3 评论 -
JPEG2000的Kakadu源代码浅析之四:码流解码(二)
解码过程的最关键部分由与kdu_decoder类一一对应的实体类kd_decoder对象完成。每个kd_decoder对应一个分量的一个子带(subband)。在kd_decoder构造的时候,主要工作是从字带对象band中获取关于码块的信息: nominal_block_size——码块大小 first_block_size——实际(在子带中的)首码块大小 block_indices—原创 2006-04-29 12:15:00 · 3750 阅读 · 0 评论 -
H.264笔记之二——宏块结构
这里主要有一下几个过程:1. 初始化h->stat.frame,即全部清零。2. 写条带头:x264_slice_header_write,即把刚才x264_slice_header_init设置的一些参数写入。3. 如果是CABAC编码,则初始化CABAC。有关CABAC在后续相关章节讨论。4. 遍历一帧中的所有宏块,这是编码的主要部分:for( mb_xy = h->sh.i_first_mb原创 2007-07-24 15:39:00 · 4824 阅读 · 0 评论 -
SVC笔记之一
本笔记参考Advance in Scalable Video Coding[1]。 在PPT介绍可伸缩编码原理部分,有一张编码系统框图不是很直观(相对于它上面那幅): 需要做一些说明。假设当前帧是fn,则前一帧为fn-1,相应的运动补偿分别为rn和rn-1,高精度量化通道为qH,低精度量化通道为qL。于是高精度量化的环路的方程是dH,n(fn) = qH(fn - rn-1(dH,n-原创 2007-05-21 20:38:00 · 1108 阅读 · 0 评论 -
SVC笔记之二
对于PDF提出的纠正漂移的三种方法,其第一种是在残差支路上添加补偿。可以证明,高精度环路方程变为:dH,n(fn) = qH(fn - rn-1(dH,n-1(fn-1)) + D) + rn-1(dH,n-1(fn-1)),而低精度环路方程为:dL,n(fn) = qL(fn - rn-1(dH,n-1(fn-1)) + D) + rn-1(dL,n-1(fn-1)),于是可以通过D调原创 2007-05-28 23:19:00 · 954 阅读 · 0 评论 -
H.264笔记之三——帧内预测
本章讨论的代码主要位于common/predict.c中。x264_macroblock_cache_load函数在每个宏块解码之前初始化某些状态,在x264_slice_write函数的宏块处理循环中被调用。i_mb_xy: 当前宏块的索引i_mb_4x4: 当前宏块中第一个4x4块的索引i_mb_8x8: 当前宏块中第一个8x8块的索引i_top_y: 上方宏块的y索引i_top_原创 2007-08-27 11:04:00 · 4152 阅读 · 2 评论 -
Principle of Rate Control Algorithm TMN5
The core of TMN5 is the virtual buffer, the size of which is specified by r = alpha * bits_per_frame, where alpha is the multiple, typically 2. The larger value of alpha provides larger dynamical rang原创 2008-02-03 23:55:00 · 1029 阅读 · 1 评论 -
Issue List on T264
1. Interpolation (likely bug), detected and corrected.2. Deblocking (bug/incompatiblity), detected and verified. Solutions recommended: replacement by X264, JM, P264, ...原创 2008-04-04 16:58:00 · 641 阅读 · 0 评论 -
A Technical Comparison between PDF and DJVU
Item PDF DJVU原创 2008-01-15 21:27:00 · 738 阅读 · 1 评论 -
一段写坏掉的快速DCT实现
想当然了,用递归实现DCT,没想到DCT有4个分支需要递归下去,这样的规模非但无法快速实现,反而由于本身时间复杂度没有多大减少加上递归开销等等比慢速实现往往还慢。这个代码片段将由于清洁需要从QSharp中删除而保留在这里,对其分析将在代码之后有空时进行。过两天想想是不是能用动态规划或备忘录来改进这个算法。/// /// Type-IV DCT implemented using rec原创 2013-03-26 08:36:31 · 2427 阅读 · 0 评论