Adobe Flash Screen Video bit stream format(SVC1)的引见

Adobe Flash Screen Video bit stream format(SVC1)的介绍1.Adobe Flash Screen Video bit stream format

Adobe Flash Screen Video bit stream format(SVC1)的介绍

1.Adobe Flash Screen Video bit stream format的简要介绍

?

Adobe在flash 7版本中引入了针对桌面屏幕的codec的格式,这种Screen Video是一种简单的无损序列bmp格式的视频,它是用于计算机屏幕抓屏发送格式。在这种桌面视频格式的pixel data是用ZLIB标准进行压缩的,C++和Java都提供了这种ZLIB基础类库的支持。

?

这种codec的格式,由于是无损的,因此用ZLIB压缩以后的数据量仍然很大,其实在商业应用中,很少用到这种codec,因为它的压缩比实在是太小了。这种codec也被称为Screen Video V1 bitstream format。

?

2.Block format(块的格式)

在Screen Video bit stream V1 format中,它是把屏幕按照最小的block大小进行分块,然后下一帧数据和上一帧数据进行比较,把每一块变化的部分用ZLIB进行压缩,没有变化的部分不参与数据的传输和压缩。这种格式的定义,在屏幕变化不大的情况下,是非常高效和有意义。

?

在一个screen video序列中每帧数据被格式化成一系列的块,专业术语称为block。这些block形成了图片的网格。对于一个key frame(关键帧),每个block都会发送出去。对于一个比较帧,专业术语称为interframe,一个或者多个block,可能会没有包含数据,这表明这个bitmap区域代表与上一个关键帧比较数据没有变化。

?

Blocks有高和宽,它们大小通常是16的倍数,最小为16,最大为256.Block的高不需要跟block的宽匹配。block的尺寸应该不会有变化除非是关键帧。Block是按照顺序存放的-从屏幕的左下角到到屏幕的右上角排成行。

下图是120*180的屏幕图片block的分布和排列,block size基准是32*32,屏幕按照32*32进行分块,因此分成了如下图的12个序列:
Adobe Flash Screen Video bit stream format(SVC1)的引见