手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

视频和网络部分白皮书(3)

我爱方案网| 视频,网络,白皮书 | 2010-11-14
235 收藏
分享到: 
每日精选
热门推荐

帧内压缩
 
 实际的压缩是从减少空间冗余开始的,通过帧内压缩来实现。帧内压缩使用有损和无损过程 的组合来减少一幅图象的数据量。它并不使用来自过去或未来图象的任何信息。谓注意,这 里是故意使用“图象(picture)”这个词的。一些压缩技术,比如MPEG,允许把一场或一帧 作为基本图象。对于以场为单位的例子,场内编码将使每帧生成两幅“图象”。这就是在讨 论视频压缩时,为什么用“图象”而不用“帧”这个词的原因。
 
 量化
 
 MPEG比同等图象质量的Motion JPEG(运动JPEG)的压缩效率高出10-20%。
 
 除了在4:2:2到4:2:0的转化过程中丢失了有限数量的信息以外,MPEG的压缩能力来自对DCT 系数灵活的量化过程。简单地讲,量化就是减少描述各系数的比特数的过程。 量化中可能会用多达11个比特来表示DC分量的系数,但用少得多的比特来表示较高阶的系 数.对于每个宏块(macroblock 16点*16点)或更大的宏块组,可以指定不同的量化间隔。 这种能够针对每个宏块使用不同量化因子的能力,使得只进行帧内处理的MPEG比同等图象 质量的Motion JPEG(运动JPEG)的压缩效率高出10-20%。一殷地讲,与传输原始的DCT 系数相比,传输表格或深度量化的系数只有少很多的数据量.
 
 无损压缩
 量化完成后,无损地减少数据量是通过VLC(可变长编码)RLC(游程编码)实现的。传送系 数的濒序优化了编码过程的效率:以锯齿状路线处理8点*8点的块中的64个系数,形成了 最大长度的连续零值,提高了压缩效率。可变长编码是这样一个过程,识别出数据中常见的 模式(或字),用较少的比特来描述较额繁出现的数值,用较多的字描述不常出现的数值。 摩尔斯码(MorseCode)就是一种形式的VLC,它用根短的序列表示常出现的字母,例如“e”(用一个点表示)。VLC的另一个例于是根流行的PC程序PKZIP,它使用了Lempel—ZiV— Welch(LZW)算法来压缩数据文件。象量化一样,VLC生成图形模式的码表,这种码表与拟定 的码字结合后的数据量,要比原始数据模式的少许多。RLC游程编码过程是用一个单独的码 字表示一种重复模式(例如连续的零值)。举例来说,一个由25个连续“0”构成的字串, 可以表示成:以字符“ESC”开始,然后是数值“25”(计数器),最后是值“0,,。这样,25bytes 的数据被压缩成3bytes。请注意,Vlc和RLC都是无损的编码过程。
 
 可变比特率
 
 码率控制决定了DCT系数量化过程的粗糙程度。输出缓冲器平滑了数据流的输出,提供了对 量化器的控制,来限制数据速率或将其保持在一定水平。尽管标准允许可变比特率,但仍有一些MPEG编码器提供一个恒定的比特串。在把压缩数据记录到视频磁带机里时就需要恒定 的比特率,因为录象机是利用机械部件如旋转磁头等以恒定速度工作的。另一方面,可变的 比特率对于在粹发情况下工作良好的磁盘记录介质是很理想的。一般说来,可变比特率对于 提供稳定的图象质量是个更好的选择。任何情况下,固定的数据速率都只是个概念而己一一 —一在过程中给定的扫描线之间,在给定的帧与顿之间,数据是变化的,DCT系数在变化,熵 编码也在变化。
 
 消除时城冗余
 
 视频信号的另一个届性是时域冗余,它是指对于一个给定的图象序列,图象内容在帧与帧之 间变化很小。对帧间相关图象内容的位置变化(或称运动)的计算是帧问压缩的主要组成部 分。(图6)运动颈测由两个过程:先把图象划分为若干16点*l6点的宏块(4个8点*8点 的块),然后搜索判定它在下一帧中的位置。虽然宏块的采样在一定程度上己发生变化,但 相关技术的应用使得位置匹配可以精确到半个象素点。成功的按索将为该宏块生成一个运动 矢量。
 
 帧间压缩和运动补偿

帧间压缩基于末压缩的图象进行工作,基本上是无损的。在图7中,基淮帧堆栈中保存着满 分辨率的前一帧图象,拥有全部视频数据。而运动矢量从运动补偿块中被计算出来,用来预 溯当前帧图象.由于各帧图象可能有着不同种类的差异,而预测只能提供宏块的运动矢量, 所以预溯可能不是十分的精确。(后面将谈到预测的这点缺陷是无关紧要的) 预测帧堆栈存储着被预测的当前帧,这些内容是通过前一帧和运动矢量的信息来构造的。然 后从实际的当前帧中减去被预测的当前帧,其差异作为输出。如果没有运动和其他变化(考 虑一种权端情况,一帧图象重复出现),当前帧可以很精确地预测出来,并且差值输出应为 零(很容易压缩)。当两帧不完全相同时,帧问差异只包含很少的信息,容易被压缩。 请注意,图7展示了如何生成前向预测帧(P帧)和双向预测帧(B帧),后面将有更为详尽 的定义。重要的是,这种帧内压缩,帧问压缩方式的组合,已构成了基本的MPEG—2视频压 缩系统。(图8)预铡帧是从经过DCT量化,解码的图象得来的,这样能够得到更好的整体效果, 因为编码器重复了解码器的工作过程,这样就减弱了数学运算导致的负效应,例如舍位, 进位错误。
 
 基准图象堆栈如何影响预测能力
 
 只能处理P帧的编码器和对P帧B帧都能处理的编码器主要的差异就在于基准帧堆栈。前向 预测只要求存储最后一个基准帧,而双向预测要求存储最后一个基准帧和一个将来的基准帧。

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号