Cdu---漏-衬底电容
Cgd---栅-源电容
Cgs---漏-源电容
Ciss---栅短路共源输入电容
Coss---栅短路共源输出电容
Crss---栅短路共源反向传输电容
D---占空比(占空系数,外电路参数)
di/dt---电流上升率(外电路参数)
dv/dt---电压上升率(外电路参数)
ID---漏极电流(直流)
IDM---漏极脉冲电流
ID(on)---通态漏极电流
IDQ---静态漏极电流(射频功率管)
IDS---漏源电流
IDSM---最大漏源电流
IDSS---栅-源短路时,漏极电流
IDS(sat)---沟道饱和电流(漏源饱和电流)
IG---栅极电流(直流)
IGF---正向栅电流
IGR---反向栅电流
IGDO---源极开路时,截止栅电流
IGSO---漏极开路时,截止栅电流
IGM---栅极脉冲电流
IGP---栅极峰值电流
IF---二极管正向电流
IGSS---漏极短路时截止栅电流
IDSS1---对管第一管漏源饱和电流
IDSS2---对管第二管漏源饱和电流
Iu---衬底电流
Ipr---电流脉冲峰值(外电路参数)
gfs---正向跨导
Gp---功率增益
Gps---共源极中和高频功率增益
GpG---共栅极中和
最近看了几篇文章,小结一下:
(1)视频编码是否有必要?
随着硬件处理速度,存储容量的快速增强,以及带宽成本变低,是否有必要继续视频编码?用户无限的需求是要求技术不断进步的主要因素。用户将期望更高的分辩率、帧率,更多的频道,以及立体的、任意视角的三维视频等。
(2)压缩效率还有多大的空间?如果只基于现在的traditional block-based
motion-compensated transform architecture?
H.264/AVC对编码的自由处理,可以容许更多研究工作。应该说有空间。而且根据“70原则”,只要70种不同研究工作,都对编码效率产生1%的改进的话,就可以改进总体效果的70%。And,10%
of a lot is still a lot.
(3)新functionality对性能的提高起到了多大作用?
在分析电子电路功能和技术参数时,一般把电子元器件分为无源器件和有源器件两大类。
1.
无源器件的简单定义
如果电子元器件工作时,其内部没有任何形式的电源,则这种器件叫做无源器件。
从电路性质上看,无源器件有两个基本特点:
(1)
自身或消耗电能,或把电能转变为不同形式的其他能量。
(2)
只需输入信号,不需要外加电源就能正常工作。
2.
有源器件的基本定义
如果电子元器件工作时,其内部有电源存在,则这种器件叫做有源器件。
从
首先,还是要弄清楚编解码的流程,看白皮书就知道了,另外
H.264 综述类的文章和别人的学位论文一般也会讲到;其次,弄清楚代码的各个函数实现的功能,这个可以看看 JM
代码里各个函数前面的函数说明;最后,弄清楚标准各个章节讲的什么内容:这里只说重要的。第三章是名词解释,第四章是缩略语,第五章是一些计算方式和运算符号的说明,第六章是与
H.264 相关的一些视频基础知识和 H.264 中用到的一些过程推导,第七章是 NALU
及其以下语法结构的语法和语义(如果要知道码流结构就要看这一章了),第八章是详细说明解码过程中某一个模块的功能怎么完成,第九章是熵编码,附录
A 是关于 profile 和 level 的具体规定,附录 B 是关于如何从字节流中解析 NALU(标准没有说明如何在 RTP
流中解析 NALU)。
有了上面的基本知识,下面我们来结合对码流解析来讲讲怎么读标准:
1、如果是字节流的码流当然就首先要对字节流进行解析,这就要看附录 B 了;如果是 RTP 格式的码流,那首先就要按 RFC3984
来解析了(标准没有规定 RTP 格式码流的解析过
encode_one_frame ()
从这个函数开始才开始真正进入编码阶段,在次之前都是做的一些准备工作,但是这个函数不是核心函数,这个函数的主要功能是通过调用其他的函数对一帧数据进行编码,每调用该函数一次,处理完一帧数据。
刚进入encode_one_frame
(),前面几个函数如put_buffer_frame();CalculateFrameNumber(); init_frame
();等都比较简单。
frame_picture (frame_pic)函数是encode_one_frame
()这个函数中的主要函数!完成一帧数据的编码是通过这个函数来实现的。下面来看看这个函数具体做了那些事情。
进入函数,首先为要编码的图像申请空间并进行初始化,比较简单,没什么好说的。看看这个函数code_a_picture(frame);看函数名就知道它是这个函数中的最重要的函数。继续跟踪下去,看看code_a_picture(frame)这个函数的内容。进入这个函数体,
直接看FmoInit()这个函数,这个函数与片组相关,确定宏块到片组的映射关系。主要
if (frame_mbs_only_flag == 1)
{
非 MBAFF 帧(即普通帧)
}
else if (mb_adaptive_frame_field_flag == 1)
{
if (field_pic_flag == 1)
{
场
}
else
{
MBAFF 帧
}
}
else // (mb_adaptive_frame_field_flag != 1)
{
if (field_pic_flag == 1)
{
场
}
else
{
非 MBAFF 帧(即普通帧)
}
}
注:以上语法元素在参数集及片头中有定义
编码过程:
假设有一个4*4数据块
{
0, 3, -1, 0,
0, -1, 1, 0,
1, 0, 0, 0,
0, 0, 0, 0
}
数据重排列:0,3,0,1,-1,-1,0,1,0……
1) 初始值设定:
非零系数的数目(TotalCoeffs) = 5;
拖尾系数的数目(TrailingOnes)= 3;
最后一个非零系数前零的数目(Total_zeros) = 3;
变量NC=1;
(说明:NC值的确定:色度的直流系数NC=-1;其他系数类型NC值是根据当前块左边4*4块的非零系数数目(NA)当前块上面4*4块的非零系数数目(NB)求得的,见毕厚杰书P120表6.10)
suffixLength = 0;
i = TotalCoeffs = 5;
2) 编码coeff_token:
查标准(BS ISO/IEC 14496-10:2003)Table 9-5,可得:
If (TotalCoeffs == 5 && TrailingOnes == 3 && 0
<= NC < 2)
coeff_token = 0000 100;
Code = 0000 100;
3) 编码所有TrailingOnes的符号:
逆序编码,三个拖尾系数的符号依次是+(0),-(1),-(1);
即:
TrailingOne sign[i--] = 0;
Trailin
帧内解码时,在解码端,首先通过当前宏块左边、上边已经解码完成的宏块使用当前宏块的预测模式(预测模式计算过程请参见我的论文《H.264数字视频差错控制技术的研究》,在群FTP“本群原创资料”目录中)得到当前宏块的像素预测值。然后通过对码流进行解码得到当前宏块的像素残差。最后将残差和预测值加在一起就得到重构的像素值。如果当前宏块的左边或者右边的宏块不存在(即当前宏块为图像边界上的宏块),那么其预测值全部为128。
帧间解码时,在解码端,首先对码流进行解码得到当前宏块的参考帧,然后通过当前宏块周围宏块计算运动矢量预测值(具体方法见毕厚杰书99页,标准中也有,但我一时不知道在什么地方了)。然后通过对码流进行解码得到当前宏块的运动矢量残差。将运动矢量残差与运动矢量预测值相加得到实际的运动矢量。然后通过对码流进行解码得到当前宏块的像素残差(如果当前宏块有像素残差的话)。然后通过参考帧与上面计算得到的MV计算出当前宏块的像素预测值。再将像素预测值与像素残差相加就得到当前宏块的重构。
【说明】:
1、以上过程为 JM86 的解
I
帧编码的基本流程为:
(1) 进行帧内预测,决定所采用的帧内预测模式。
(2) 像素值减去预测值,得到残差。
(3) 对残差进行变换和量化。
(4) 变长编码和算术编码。
(5) 重构图像并滤波,得到的图像作为其它帧的参考帧。
P 帧和 B 帧编码的基本流程为:
(1) 进行运动估计,计算采用帧间编码模式的率失真函数(节)值。P 帧
只参考前面的帧,B 帧可参考后面的帧。
(2) 进行帧内预测,选取率失真函数值最小的帧内模式与帧间模式比较,确定
采用哪种编码模式。
(3) 计算实际值和预测值的差值。
(4) 对残差进行变换和量化。
(5) 熵编码,如果是帧间编码模式,编码运动矢量
人类获取的信息中70%来自于视觉,视频信息在多媒体信息中占有重要地位;同时视频数据冗余度最大,经压缩处理后的视频质量高低是决定多媒体服务质量的关键因素。因此数字视频技术是多媒体应用的核心技术,对视频编码的研究已成为信息技术领域的热门话题。
传统压缩编码建立在仙农信息论基础之上的,以经典集合论为工具,用概率统计模型来描述信源,其压缩思想基于数据统计,因此只能去除数据冗余,属于低层压缩编码的范畴。
伴随着视频编码相关学科及新兴学科的迅速发展,新一代数据压缩技术不断诞生并日益成熟,其编码思想由像素块或基于内容(content-based)。它突破了仙农信息论框架的束缚,充分考虑了人眼视觉特性及信源特性,通过去除内容冗余来实现数据压缩。下面主要讲与之相关的四种编码体系:块编码(H.261、Mpeg2、H.263、H.264、AVS、VC1等)、对象编码(Mpeg4)、小波编码、分布式编码。
块编