http://blog.sina.com.cn/assiduity[订阅][手机订阅]
个人资料
分类
    内容读取中…
友情链接
狗窝的BLOG

402博客

研学论坛

中国学术交流园地

音乐播放器
评论
读取中...
访客
读取中...
公告
Email:binbin10000@126.com
博文
换了个新地址(2008-06-04 07:44)
换了个新地址http://blog.sina.com.cn/yongjin126,敬请关注。

How time flys.转眼间研究生生活即将结束了,回首这段生活,感觉不太满意,学得东西不多。现在已进入最后阶段了,争取在10月前完成论文全部工作,后面可以好好找工作,并早点去上班了。

当年考研时觉得既然都考研了,六级考不考无所谓了,看来我错了,六级还得考,有点郁闷,现在继续六级进行时。

printf格式控制符的完整格式

m.n  l或h  格式字符
下面对组成格式说明的各项加以说明:
①%:表示格式说明的起始符号,不可缺少。
②-:有-表示左对齐输出,如省略表示右对齐输出。
③0:有0表示指定空位填0,如省略表示指定空位不填。
④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。
⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。
格式字符
格式字符用以指定输出项的数据类型和输出格式。
①d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
%ld:输出长整型数据。
②o格式:以无符号八进制形式输出整数。对长整型可以用'%lo'格式输出。同样也可以指定字段宽度用“%mo”格式输出。
例:
   main()
   { int a = -1;
     printf('%d, %o', a, a);
   }
  运行结果:-1,177777
  程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为(177777)8。
③x格式:以无符号十六进制形式输出整数。对长整型可以用'%lx'格式输出。同样也可以指定字段宽度用'%mx'格式输出。
④u格式:以无符号十进制形式输出整数。对长整型可以用'%lu'格式输出。同样也可以指定字段宽度用“%mu”格式输出。
⑤c格式:输出一个字符。
⑥s格式:用来输出一个串。有几中用法
%s:例如:printf('%s', 'CHINA')输出'CHINA'字符串(不包括双引号)。
%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。
%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。
⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。 
%-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。
⑧e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。
⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。

关于printf函数的进一步说明:
如果想输出字符'%',则应该在“格式控制”字符串中用连续两个%表示,如:
printf('%f%%', 1.0/3);
输出0.333333%。

对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.
对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位.

#################### 拾遗  #################################
对于m.n的格式还可以用如下方法表示(例)
char ch[20];
printf('%*.*s\n',m,n,ch);
前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。

PCB布线技巧(2007-07-12 11:12)

1、电源、地线的处理

既使在整个PCB板中的布线完成得都很好,但由于电源、地线的考虑不周到而引起的干扰,会使产品的性能下降,有时甚至影响到产品的成功率。所以对电源、地线的布线要认真对待,把电源、地线所产生的噪音干扰降到最低限度,以保证产品的质量。对每个从事电子产品设计的工程人员来说都明白地线与电源线之间噪音所产生的原因,现只对降低式抑制噪音作以表述:众所周知的是在电源、地线之间加上去藕电容。尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最精细宽度可达0.05~0.07mm,电源线为1.2~2.5 mm。对数字电路的PCB可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地不能这样使用) 用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。或是做成多层板,电源,地线各占用一层。

2、数字电路与模拟电路的共地处理

现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整人PCB对外界只有一个结点,所以必须在PCB内部进行处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的它们之间互不相连,只是在PCB与外界连接的接口处(如插头等)。数字地与模拟地有一点短接,请注意,只有一个连接点。也有在PCB上不共地的,这由系统设计来决定。

3、信号线布在电(地)层上

在多层印制板布线时,由于在信号线层没有布完的线剩下已经不多,再多加层数就会造成浪费也会给生产增加一定的工作量,成本也相应增加了,为解决这个矛盾,可以考虑在电(地)层上进行布线。首先应考虑用电源层,其次才是地层。因为最好是保留地层的完整性。

4、大面积导体中连接腿的处理

在大面积的接地(电)中,常用元器件的腿与其连接,对连接腿的处理需要进行综合的考虑,就电气性能而言,元件腿的焊盘与铜面满接为好,但对元件的焊接装配就存在一些不良隐患如:①焊接需要大功率加热器。②容易造成虚焊点。所以兼顾电气性能与工艺需要,做成十字花焊盘,称之为热隔离(heat shield)俗称热焊盘(Thermal),这样,可使在焊接时因截面过分散热而产生虚焊点的可能性大大减少。多层板的接电(地)层腿的处理相同。

5、布线中网络系统的作用

在许多CAD系统中,布线是依据网络系统决定的。网格过密,通路虽然有所增加,但步进太小,图场的数据量过大,这必然对设备的存贮空间有更高的要求,同时也对象计算机类电子产品的运算速度有极大的影响。而有些通路是无效的,如被元件腿的焊盘占用的或被安装孔、定们孔所占用的等。网格过疏,通路太少对布通率的影响极大。所以要有一个疏密
合理的网格系统来支持布线的进行。标准元器件两腿之间的距离为0.1英寸(2.54mm),所以网格系统的基础一般就定为0.1英寸 (2.54 mm)或小于0.1英寸的整倍数,如:0.05英寸、0.025英寸、0.02英寸等。

6、设计规则检查(DRC

布线设计完成后,需认真检查布线设计是否符合设计者所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查有如下几个方面:线与线,线与元件焊盘,线与贯通孔,元件焊盘与贯通孔,贯通孔与贯通孔之间的距离是否合理,是否满足生产要求。电源线和地线的宽度是否合适,电源与地线之间是否紧耦合(低的波阻抗)?在PCB中是否还有能让地线加宽的地方。对于关键的信号线是否采取了最佳措施,如长度最短,加保护线,输入线及输出线被明显地分开。模拟电路和数字电路部分,是否有各自独立的地线。后加在PCB中的图形(如图标、注标)是否会造成信号短路。对一些不理想的线形进行修改。在PCB上是否加有工艺线?阻焊是否符合生产工艺的要求,阻焊尺寸是否合适,字符标志是否压在器件焊盘上,以免影响电装质量。多层板中的电源地层的外框边缘是否缩小,如电源地层的铜箔露出板外,则容易造成短路。

7、过孔(via)的设计

过孔(via)是多层PCB的重要组成部分之一,钻孔的费用通常占PCB制板费用的30%到40%。简单的说来,PCB上的每一个孔都可以称之为过孔。从作用上看,过孔可以分成两类:一是用作各层间的电气连接;二是用作器件的固定或定位。如果从工艺制程上来说,过孔一般又分为三类,即盲孔(blind via)、埋孔(buried via)和通孔 (through via)。

盲孔位于印刷线路板的顶层和底层表面,具有一定深度,用于表层线路和下面的内层线路的连接,孔的深度通常不超过一定的比率(孔径)。埋孔是指位于印刷线路板内层的连接孔,它不会延伸到线路板的表面。上述两类孔都位于线路板的内层,层压前利用通孔成型工艺完成,在过孔形成过程中可能还会重叠做好几个内层。第三种称为通孔,这种孔穿过整个线路板,可用于实现内部互连或作为元件的安装定位孔。由于通孔在工艺上更易于实现,成本较低,所以绝大部分印刷电路板中均使用它,而不用另外两种过孔。以下所说的过孔,没有特殊说明的,均作为通孔考虑。

一、从设计的角度来看,一个过孔主要由两个部分组成,一是中间的钻孔(drill hole),二是钻孔周围的焊盘区。这两部分的尺寸大小决定了过孔的大小。很显然,在高速,高密度的PCB设计时,设计者总是希望过孔越小越好,这样板上可以留有更多的布线空间,此外,过孔越小,其自身的寄生电容也越小,更适合用于高速电路。但孔尺寸的减小同时带来了成本的增加,而且过孔的尺寸不可能无限制的减小,它受到钻孔(drill)和电镀(plating)等工艺技术的限制:孔越小,钻孔需花费的时间越长,也越容易偏离中心位置;且当孔的深度超过钻孔直径的6倍时,就无法保证孔壁能均匀镀铜。比如,现在正常的一块6层PCB板的厚度(通孔深度)为50Mil左右,所以PCB厂家能提供的钻孔直径最小只能达到8Mil。

二、过孔的寄生电容过孔本身存在着对地的寄生电容,如果已知过孔在铺地层上的隔离孔直径为D2,过孔焊盘的直径为D1,PCB板的厚度为T,板基材介电常数为ε,则过孔的寄生电容大小近似于: C=1.41εTD1/(D2-D1) 过孔的寄生电容会给电路造成的主要影响是延长了信号的上升时间,降低了电路的速度。举例来说,对于一块厚度为50Mil的PCB板,如果使用内径为10Mil,焊盘直径为20Mil的过孔,焊盘与地铺铜区的距离为32Mil,则我们可以通过上面的公式近似算出过孔的寄生电容大致是:C=1.41x4.4x0.050x0.020/(0.032-0.020)=0.517pF,这部分电容引起的上升时间变化量为:T10-90=2.2C(Z0/2)=2.2x0.517x(55/2)=31.28ps 。从这些数值可以看出,尽管单个过孔的寄生电容引起的上升延变缓的效用不是很明显,但是如果走线中多次使用过孔进行层间的切换,设计者还是要慎重考虑的。

三、过孔的寄生电感同样,过孔存在寄生电容的同时也存在着寄生电感,在高速数字电路的设计中,过孔的寄生电感带来的危害往往大于寄生电容的影响。它的寄生串联电感会削弱旁路电容的贡献,减弱整个电源系统的滤波效用。我们可以用下面的公式来简单地计算一个过孔近似的寄生电感: L=5.08h[ln(4h/d)+1]其中L指过孔的电感,h是过孔的长度,d是中心钻孔的直径。从式中可以看出,过孔的直径对电感的影响较小,而对电感影响最大的是过孔的长度。仍然采用上面的例子,可以计算出过孔的电感为:L=5.08x0.050[ln(4x0.050/0.010)+1]=1.015nH 。如果信号的上升时间是1ns,那么其等效阻抗大小为:XL=πL/T10-90=3.19Ω。这样的阻抗在有高频电流的通过已经不能够被忽略,特别要注意,旁路电容在连接电源层和地层的时候需要通过两个过孔,这样过孔的寄生电感就会成倍增加。

四、高速PCB中的过孔设计通过上面对过孔寄生特性的分析,我们可以看到,在高速PCB设计中,看似简单的过孔往往也会给电路的设计带来很大的负面效应。为了减小过孔的寄生效应带来的不利影响,在设计中可以尽量做到:

 1、从成本和信号质量两方面考虑,选择合理尺寸的过孔大小。比如对6-10层的内存模块PCB设计来说,选用10/20Mil(钻孔/焊盘)的过孔较好,对于一些高密度的小尺寸的板子,也可以尝试使用8/18Mil的过孔。目前技术条件下,很难使用更小尺寸的过孔了。对于电源或地线的过孔则可以考虑使用较大尺寸,以减小阻抗。

2、上面讨论的两个公式可以得出,使用较薄的PCB板有利于减小过孔的两种寄生参数。

3、PCB板上的信号走线尽量不换层,也就是说尽量不要使用不必要的过孔。

4、电源和地的管脚要就近打过孔,过孔和管脚之间的引线越短越好,因为它们会导致电感的增加。同时电源和地的引线要尽可能粗,以减少阻抗。

5、在信号换层的过孔附近放置一些接地的过孔,以便为信号提供最近的回路。甚至可以在PCB板上大量放置一些多余的接地过孔。当然,在设计时还需要灵活多变。前面讨论的过孔模型是每层均有焊盘的情况,也有的时候,我们可以将某些层的焊盘减小甚至去掉。特别是在过孔密度非常大的情况下,可能会导致在铺铜层形成一个隔断回路的断槽,解决这样的问题除了移动过孔的位置,我们还可以考虑将过孔在该铺铜层的焊盘尺寸减小。

参考:百度知道

AVS标准(2007-07-09 22:42)

关于“数字音视频编解码技术标准工作组”

  数字音视频编解码技术标准工作组由国家信息产业部科学技术司于2002年6月批准成立。工作组的任务是:面向我国的信息产业需求,联合国内企业和科研机构,制(修)订数字音视频的压缩、解压缩、处理和表示等共性技术标准,为数字音视频设备与系统提供高效经济的编解码技术,服务于高分辨率数字广播、高密度激光数字存储媒体、无线宽带多媒体通讯、互联网宽带流媒体等重大信息产业应用。
标准工作简况与进展
  AVS是我国具备自主知识产权的第二代信源编码标准。顾名思义,“信源”是信息的“源头”,信源编码技术解决的重点问题是数字音视频海量数据(即初始数据、信源)的编码压缩问题,故也称数字音视频编解码技术。显而易见,它是其后数字信息传输、存储、播放等环节的前提,因此是数字音视频产业的共性基础标准。
  国际上音视频编解码标准主要两大系列:ISO/IEC JTC1制定的MPEG系列标准;ITU针对多媒体通信制定的H.26x系列视频编码标准和G.7系列音频编码标准。1994年由MPEG和ITU合作制定的MPEG-2是第一代音视频编解码标准的代表,也是目前国际上最为通行的音视频标准。
  经过十年多演变,音视频编码技术本身和产业应用背景都发生了明显变化,后起之秀辈出。目前音视频产业可以选择的信源编码标准有四个:MPEG-2、MPEG-4、MPEG-4 AVC(简称AVC,也称JVT、H.264)、AVS。从制订者分,前三个标准是由MPEG专家组完成的,第四个是我国自主制定的。从发展阶段分,MPEG-2是第一代信源标准,其余三个为第二代标准。从主要技术指标——编码效率比较:MPEG-4是MPEG-2的1.4倍,AVS和AVC相当,都是MPEG-2两倍以上。
  可以推测,由于技术陈旧需要更新及收费较高等原因,MPEG-2即将退出历史舞台。MPEG-4出台的新专利许可政策被认为过于苛刻令人无法接受,导致被众多运营商围攻,陷入无法推广产业化的泥沼而无力自拔,前途未卜。而AVS是基于我国创新技术和部分公开技术的自主标准,编码效率比MPEG-2高2-3倍,与AVC相当,而且技术方案简洁,芯片实现复杂度低,达到了第二代标准的最高水平;而且,AVS通过简洁的一站式许可政策,解决了AVC专利许可问题死结,是开放式制订的国家、国际标准,易于推广;此外,AVC仅是一个视频编码标准,而AVS是一套包含系统、视频、音频、媒体版权管理在内的完整标准体系,为数字音视频产业提供更全面的解决方案。综上所述,AVS可称第二代信源标准的上选。
  AVS标准是《信息技术 先进音视频编码》系列标准的简称,AVS标准包括系统、视频、音频、数字版权管理等四个主要技术标准和一致性测试等支撑标准。在2003年12月18-19日举行第7次会议上,工作组完成了AVS标准的第一部分(系统)和第二部分(视频)的草案最终稿(FCD),和报批稿配套的验证软件也已完成。2004年12月29日,全国信息技术标准化技术委员会组织评审并通过了AVS标准视频草案。2005年1月,AVS工作组将草案报送信息产业部。3月30日,信产部初审认可,标准草案视频部分进入公示期。2004年度第一季度(第8次全体会议)正式开始“数字版权管理与保护”标准的制定,目前已近尾声。2005年初(第12次全体会议)完成了第三部分(音频)草案。
  2005年4月30日,AVS标准视频部分通过公示,在标准道路上迈出决定性一步。2006年2月22日,国家标准化管理委员会颁布通知:《信息技术 先进音视频编码》第二部分视频于2006年3月1日起开始实施。AVS视频部分正式成为国家标准,成为震动业内外的一件大事,国家和各部委领导纷纷发来贺信和题词,对AVS的工作给予了高度评价,并鼓励工作组再接再厉,再创辉煌。接下来,标准其他部分将继续开展工作,陆续进入标准报批和审核程序。

编码标准-H.264(2007-07-09 22:37)
H.264是ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像编码专家组(MPEG)的联合视频组(JVT)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10部分。2002年6月JVT第5次会议通过了H.264的FCD板。H.264的压缩率比MPEG-2高2~3倍,1Mb/s速率的图像效果接近MPEG-2中DVD的图像质量,是目前手机电视中最为理想的信源压缩编码标准。

  H.264是DPCM加变换编码的混合编码模式。它不用众多的选项,获得比H.263++好得多的压缩性能;增强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用范围较宽,以满足不同速率、不同解析度及不同传输(存储)场合的需求;它的基本系统是开放的。

  在技术上,H.264标准中有多个亮点,如:统一的VLC符号编码;高精度、多模式的位移估计;基于4×4块的整数变换;分层的编码语法等。这些使得H.264算法具有很高的编码效率,在相同的重建图像质量下,能够比H.263降低50%左右的码率。H.264的码流结构网络适应性强,增强了差错恢复能力,能够很好地适应IP和无线网络应用。

H.264的特点

  H.264在编码框架上还是沿用以往的MC-DCT结构,即运动补偿加变换编码的混合结构,因而保留了先前标准的一些特点,如不受限制的运动矢量、对运动矢量的中值预测等。然而,由于它采用了以下技术,因而在性能上有了很大的提高。

  帧内预测

  对I帧的编码是利用空间相关性而非时间相关性而实现的。以前的标准只利用了一个宏块内部的相关性,而忽视了宏块之间的相关性,所以编码后的数据量较大。为了进一步利用空间相关性,H.264引入了帧内预测以提高压缩效率。简单地说,帧内预测编码就是用周围邻近的象素值来预测当前的象素值,然后对预测误差进行编码。这种预测是基于块的,对于亮度分量,块的大小可以在16×16和4×4之间选择,16×16块有4种预测模式,4×4块有9种预测模式;对于色度分量,预测是对整个8×8块进行的,有4种预测模式。除了DC预测外,其他每种预测模式对应不同方向上的预测。

  帧间预测

  与以往的标准一样,H.264使用运动估计和运动补偿来消除时间冗余,但是,它又具有不同的特点。

  (1)预测时所用块的大小可变

  由于基于块的运动模型假设块内的所有象素都做了相同的平移,在运动比较剧烈时或者在运动物体的边缘处,这一假设会与实际出入较大,从而导致较大的预测误差,这时减小块的大小可以使假设在小的块中依然成立。另外,小的块所造成的块效应相对也小,一般来说小的块可以提高预测的效果。

    为此,H.264一共采用了7种方式对一个宏块进行分割,每种方式下块的大小和形状都不相同,这就使编码器可以根据图像的内容选择最好的预测模式。

  与仅使用16×16块进行预测相比,使用不同大小和形状的块可以使码率降低15%以上。

  (2)更精细的预测精度

    在H.264中,亮度分量的运动矢量使用1/4象素精度。色度分量的运动矢量由亮度运动矢量导出,由于色度分量的分辨率是亮度分量的一半(对4∶2∶0),所以其运动矢量精度将为1/8。也就是说,一个单位的色度分量的运动矢量所代表的位移仅为色度分量取样点间距离的1/8。

如此精细的预测精度,较之整数精度可以使码率降低20%以上。

  (3)多参考帧

  H.264支持多参考帧预测,即可以有多于一个(最多5个)在当前帧之前解码的帧作为参考帧,产生对当前帧的预测。这适用于视频序列中含有周期性运动的情况。采用这一技术,可以改善运动估计的性能,提高H.264解码器的错误恢复能力;但是,也增加了缓存的容量,加大了编解码器的复杂性。不过,正如前面提到的,H.264的提出是基于半导体技术的飞速发展,因此这两个负担在不久的将来会变得微不足道。较之只使用一个参考帧,使用5个参考帧可以使码率降低5~10%。

  (4)去块效应滤波器

  它的作用是消除经反量化和反变换后重建图像中由于预测误差产生的块效应,即块边缘处的象素值跳变,从而改善图像的主观质量,并减小预测误差。H.264中的去块效应滤波器还能够根据图像内容做出判断,只对由于块效应产生的象素值跳变进行平滑,而对图像中物体边缘处的象素值不连续给予保留,以免造成边缘模糊。与以往的去块效应滤波器同的是,经过滤波后的图像将根据需要放在缓存中用于帧间预测,而不是仅仅在输出重建图像时用来改善主观质量。也就是说,该滤波器位于解码环中而非解码环的输出外,因而又称作环滤波器。须要注意:对于帧内预测,使用的是未经过滤波的重建图像。

  整数变换

  H.264对帧内或帧间预测的残差进行DCT编码。为了降低浮点运算带来的硬件设计复杂性,更重要的是,避免舍入误差造成的编码器和解码器之间不匹配的问题,新标准对DCT的定义做了修改,使得变换仅用整数加减法和移位操作即可实现,这样在不考虑量化影响的情况下,解码端的输出可以准确地恢复编码端的输入。当然,这样做的代价是压缩性能略微下降。此外,该变换是针对4×4块进行的,这也有助于减小块效应。

  为了进一步利用图像的空间相关性,在对色度分量的预测残差和16×16帧内预测的预测残差进行上述整数DCT之后,标准还将每个4×4变换系数块中的DC系数组成2×2或4×4大小的块,进一步做哈达玛(Hadamard)变换。

  熵编码

  对于Slice层以上的数据,H.264采用Exp-Golomb码,这是一种没有自适应能力的VLC。而对于Slice层(含)以下的数据,如果是残差,H.264有两种熵编码方式:基于上下文的自适应变长码(CAVLC)和基于上下文的自适应二进制算术编码(CABAC);如果不是残差,H.264采用Exp-Golomb码或CABAC编码,视编码器的设置而定。

  (1)CAVLC

  VLC的基本思想就是对出现频率高的符号使用较短的码字,而对出现频率低的符号采用较长的码字。这样可以使得平均码长最小。

  在CAVLC中,H.264采用若干VLC码表,不同的码表对应不同的概率模型。编码器能够根据上下文,如周围块的非零系数或系数的绝对值大小,在这些码表中自动地选择,尽可能地与当前数据的概率模型匹配,从而实现上下文自适应的功能。

  (2)CABAC

  算术编码是一种高效的熵编码方案,其每个符号所对应的码长被认为是分数。由于对每一个符号的编码都与以前编码的结果有关,所以它考虑的是信源符号序列整体的概率特性,而不是单个符号的概率特性,从而能够更大程度地逼近信源的极限熵,降低码率。

  为了绕开算术编码中无限精度小数的表示问题及对信源符号概率进行估计,现代的算术编码多以有限状态机的方式实现,H.264的CABAC便是一个例子。在CABAC中,每编码一个二进制符号,编码器就会自动调整对信源概率模型(用一个“状态”来表示)的估计,随后的二进制符号就在这个新的概率模型基础上进行编码。这样的编码器不需要信源统计特性的先验知识,而是在编码过程中自适应地估计。显然,与CAVLC编码中预先设定好若干概率模型的方法相比,CABAC有更大的灵活性,可以获得更好的编码性能—码率降低大约10%。

SP Slice

  SP Slice的主要目的是用于不同码流的切换,也可用于码流的随机访问、快进/快退和错误恢复。这里所说的不同码流,是指在不同比特率限制下对同一信源进行编码所产生的码流。设切换前传输码流中最后一帧为Al,切换后的目标码流第一帧为B2(假设是P帧),由于B2的参考帧不存在,直接切换显然会导致严重失真,而且这种失真会向后传递。一种简单的解决方法就是传输帧内编码的B2,但是一般I帧的数据量很大,这种方法会造成传输码率陡然增大。根据前面的假设,由于是对同一信源进行编码,尽管比特率不同,但切换前后的两帧必然有相当大的相关性,所以编码器可以将Al作为B2的参考帧,对B2进行帧间预测,预测误差就是SP Slice,然后通过传递SP Slice完成码流的切换。与常规P帧不同的是,生成SP Slice所进行的预测是在Al和B2的变换域中进行的。SP Slice要求切换后B2的图像应和直接传送目标码流时一样。显然,如果切换的目标是毫不相关的另一码流,SP Slice就不适用了。

  灵活的宏块排序

  灵活的宏块排序(FMO),是指将一幅图像中的宏块分成几个组,分别独立编码,某一个组中的宏块不一定是在常规扫描顺序下前后连续,而可能是随机地分散在图像中各个不同的位置。这样,在传输时,如果发生错误,某个组中的某些宏块不能正确解码时,解码器仍然可以根据图像的空间相关性,依靠其周围正确译码的象素,对其进行恢复。

    H.264的应用场合相当广泛,包括可视电话(固定或移动)、实时视频会议系统、视频监控系统及因特网视频传输、多媒体信息存储等。

关于实习(2007-07-07 15:11)
  一直以来都打算,研究生一年级结束就出去找个公司实习。前些日子终于有个好机会。华为的一个子公司华为海思半导体招实习硕士生,我就给他们发了一个Email,很快他们就通知我去面试。我很想去实习,所以也很看重这次机会,一连杀过四关,终于我通过了所有的笔试、面试。我想这下可去深圳逛逛了。没想到,最让人忽略的地方往往是致命的,我的导师不准我去(现在都是导师负责制,导师说不能去,就没办法去)。
  我真是恼火啊,想他奶奶的什么破研究生我不上了,我就去实习。可海思的人说,我们要与你的导师签一个协议,如果你的导师不配合的这个不好办。晕。只有老实的再待一年再说吧。
电平转换总结(2007-06-23 23:20)
1. 常用的电平转换方案
(1) 晶体管+上拉电阻法
    就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。
(2) OC/OD 器件+上拉电阻法
    跟 1) 类似。适用于器件输出刚好为 OC/OD 的场合。
(3) 74xHCT系列芯片升压 (3.3V→5V)
    凡是输入与 5V TTL 电平兼容的 5V CMOS 器件都可以用作 3.3V→5V 电平转换。
    ——这是由于 3.3V CMOS 的电平刚好和5V TTL电平兼容(巧合),而 CMOS 的输出电平总是接近电源电平的。
    廉价的选择如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那个字母 T 就表示 TTL 兼容)。
(4) 超限输入降压法 (5V→3.3V, 3.3V→1.8V, ...)
    凡是允许输入电平超过电源的逻辑器件,都可以用作降低电平。
    这里的'超限'是指超过电源,许多较古老的器件都不允许输入电压超过电源,但越来越多的新器件取消了这个限制 (改变了输入级保护电路)。
    例如,74AHC/VHC 系列芯片,其 datasheets 明确注明'输入电压范围为0~5.5V',如果采用 3.3V 供电,就可以实现 5V→3.3V 电平转换。     
(5) 专用电平转换芯片
    最著名的就是 164245,不仅可以用作升压/降压,而且允许两边电源不同步。这是最通用的电平转换方案,但是也是很昂贵的 (俺前不久买还是¥45/片,虽是零售,也贵的吓人),因此若非必要,最好用前两个方案。
(6) 电阻分压法
    最简单的降低电平的方法。5V电平,经1.6k+3.3k电阻分压,就是3.3V。
(7) 限流电阻法
    如果嫌上面的两个电阻太多,有时还可以只串联一个限流电阻。某些芯片虽然原则上不允许输入电平超过电源,但只要串联一个限流电阻,保证输入保护电流不超过极限(如 74HC 系列为 20mA),仍然是安全的。
(8) 无为而无不为法
    只要掌握了电平兼容的规律。某些场合,根本就不需要特别的转换。例如,电路中用到了某种 5V 逻辑器件,其输入是 3.3V 电平,只要在选择器件时选择输入为 TTL 兼容的,就不需要任何转换,这相当于隐含适用了方法3)。
(9) 比较器法
    算是凑数,有人提出用这个而已,还有什么运放法就太恶搞了。
2. 电平转换的'五要素'
(1) 电平兼容
    解决电平转换问题,最根本的就是要解决逻辑器件接口的电平兼容问题。而电平兼容原则就两条:
    VOH > VIH
    VOL < VIL
    再简单不过了!当然,考虑抗干扰能力,还必须有一定的噪声容限:
    |VOH-VIH| > VN+
    |VOL-VIL| > VN-
    其中,VN+和VN-表示正负噪声容限。
    只要掌握这个原则,熟悉各类器件的输入输出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正确利用器件输入特性的例子。
(2) 电源次序
    多电源系统必须注意的问题。某些器件不允许输入电平超过电源,如果没有电源时就加上输入,很可能损坏芯片。这种场合性能最好的办法可能就是方案(5)——164245。如果速度允许,方案(1)(7)也可以考虑。
(3) 速度/频率
    某些转换方式影响工作速度,所以必须注意。像方案(1)(2)(6)(7),由于电阻的存在,通过电阻给负载电容充电,必然会影响信号跳沿速度。为了提高速度,就必须减小电阻,这又会造成功耗上升。这种场合方案(3)(4)是比较理想的。
(4) 输出驱动能力
    如果需要一定的电流驱动能力,方案(1)(2)(6)(7)就都成问题了。这一条跟上一条其实是一致的,因为速度问题的关键就是对负载电容的充电能力。
(5) 路数
    某些方案元器件较多,或者布线不方便,路数多了就成问题了。例如总线地址和数据的转换,显然应该用方案(3)(4),采用总线缓冲器芯片(245,541,16245...),或者用方案(5)。
(6) 成本&供货
    前面说的164245就存在这个问题。'五要素'冒出第6个,因为这是非技术因素,而且太根本了,以至于可以忽略
 两个人在一起的时间越长,日子越应该向一杯清水。
    如果你或你的心上人想要波澜壮阔的感情生活,想生活象电视剧一样丰富多采,想生活中的浪漫如同新出炉的大片一样层出不穷,那只能说,你的感情生活不会维系多长时间。
    波澜壮阔和丰富多采的剧情都是用一个又一个的矛盾来串连的,也就是说一个又一个的矛盾造就了生活中的起起伏伏。剧情中会出现一个又一个的误解、误会,会出现一个又一个的不和谐,一个又一个在不合适时间介入的人物,这样生活才会变得复杂与“丰富多采”。
    每一个浪漫的情节都伴随着精心的计划和意外的惊喜,同时也会消耗一定数量的金钱和大量的时间,可以说浪漫是由“钱+闲”组成的一个华丽的包袱。偶尔为之,精彩,经常为之的人除了大大的有钱,就是一个吃尽穿绝的败家之子。
    真正明白生活的人,我想,都会渴望上天赐给他一个平静生活。没有纷纷绕绕的嘈杂,细细品味起来,不是饮料的甜、不是茶的香、不是咖啡的苦、不是酒的辣,只是清水一样,淡淡的,没有什么味道,平平常常,但滋润我们的身体,为我们生存所必须,万种滋味尽数淡化其中。
    平静的生活才能长久,这个道理就象一根线,它的长度是一定的,把它放在桌上,你越是把它弄的有很多起伏,它的直线距离就越短,同时起伏越大,其可以起伏的次数就越少;反之,你把它放的越平,它的直线距离就越长。
    要长长的平直还是短短的起伏,这一切就在于你的选择。 
男的朋友:半夜会找你打电话聊天到很晚。
男朋友:半夜看你还在网上会赶你下线(当然你可以拗个几分钟)。

男的朋友:他会找你出去玩,叫你放弃报告或翘(缺)课。
男朋友:他会催你快写作业,或者想要跟你讨论功课。

男的朋友:在你生病时,会讲好话关心你。
男朋友:在你生病时,他会关心到你很烦,而且逼你去看医生。

男的朋友:他会尽量说好话来讨好你,你会觉得他很棒。
男朋友:他所说的话,都是关心你的,但通常像是在命令你,你会觉得他干嘛这么做。

男的朋友:他什么事情都会配合你,只要你高兴。
男朋友:他会帮你辨别是非,但你会觉得他管太多。

男的朋友:他会说他要给你最大的幸福。
男朋友:他只能给你保证,你跟他在一起,他是最快乐的。

男的朋友:他不在意你的生活细节,即使你做错了什么他也不会给你指出来。
男朋友:他会注意你的一举一动,告诉你什么地方做错了,什么地方该如何做,该如何与别人交往。

男的朋友:他会帮你买宵夜,送宵夜,载你上下课。
男朋友:他会帮你买宵夜,不过他会提醒你,吃什么比较健康,他会载你上下课,不过要他有顺路,因为他不能为你而翘(缺)课。因为他翘(缺)课,他成绩便会不好,成绩不好不会有好工作,那你们将来日子怎么会好过,他会想的很多。

男的朋友:他不在意你去做什么,和什么人交往。
男朋友:他很在意你做什么,和什么人交往,特别是和别的男孩子交往。会告诫你不要和什人交往。