文档章节

H.263:视频编码和解码(Video Coding and Decoding - CODEC rk)

AK_47
 AK_47
发布于 2014/07/09 17:41
字数 1658
阅读 44
收藏 0

H.263 由 ITU 定义,支持用于视频会议和视频电话应用程序的视频压缩(解码)。H.263 基于 H.261 编码,并且为在最低带宽为 20K 到 24Kbit/sec 上传输的视频流而开发。作为一种一般规则,H.263 只需 H.261 一半的带宽即可达到与 H.261 相同的视频质量,所以在很大程度上 H.263 取代了 H.261。H.263 使用 RTP 传输视频流。

H.263 的编码算法和 H.261 中的类似,但它在 H.261 的基础上有了提高和改变,从而增强了性能和错误恢复能力。H.263 中运动补偿采用的是半像素精度,而在 H.261 中采用的是全像素精度和环路过滤。数据流中分层结构的某些部分是可选的,如此视频编译码就可以被配置成有较低的数据率或较好的错误恢复能力。目前有四种能够提高性能的可选协商选项:无限制运动矢量、基于语法的算术编码、先进预测和前后帧预测,这类似于 MPEG,叫做 P-B 帧。

H.263 支持五种分辨率。除了 H.261 支持的 QCIF 和 CIF 外,还有 SQCIF、4CIF 和 16CIF。

SQCIF 的分辨率大约是 QCIF 的一半,而 4CIF 和 16CIF 的分辨率分别是 CIF 的 4 倍和 16 倍。支持 4CIF 和 16CIF 意味着视频编码器可以与其它具有较高比特率的视频编码标准相抗衡,如 MPEG 标准。

H.261 与 H.263 编码算法的不同点列表如下:

图画格式 象素亮度 线条亮度 H.261是否支持 H.263是否支持 非压缩比特率(Mbits/s)
10 frames/s 30 frames/s
灰色 彩色 灰色 彩色
SQCIF 128 96   1.0 1.5 3.0 4.4
QCIF 176 144 2.0 3.0 6.1 9.1
CIF 352 288 可选 可选 8.1 12.2 24.3 36.5
4CIF 704 576   可选 32.4 48.7 97.3 146.0
16CIF 1408 1152   可选 129.8 194.6 389.3 583.9

协议结构

H.263 有效载荷头定义了三种格式(模式 A、模式 B 和模式 C)。在模式 A 中,在实际压缩 H.263 视频比特流之前存在4字节的 H.263 有效载荷头。这样允许在 GOB 边界有分段。在模式 B 中,使用的是8字节的 H.263 有效载荷头,且每个数据包从 MB 边界开始,没有 PB 帧选项。最后,模式 C 中使用的是12字节的 H.263 有效载荷头,采用 PB 帧选项支持在 MB 边界的帧分段。

模式 A 中的头格式如下所示:

1 2 5 8 11 12 13 14 15 16 bit
F P SBIT EBIT SRC I U S A R
R (cont.) DBQ TRB TR
  • F ― 标志位,表示有效载荷头的模式,具有以下几个值:
    0 ― 模式 A;
    1 ― 模式 B 或模式 C,取决于 P 位。
  • P ― P 指定可选的 PB 帧模式。
  • SBIT ― 起始位,指定最重要位(在第一个数据字节中忽略)的编号。
  • EBIT ― 结束位,指定最不重要位(在最后一个数据字节中忽略)的编号。
  • SRC ― 源格式(在 H.263 标准中 PTYPE 的位6、7和8压缩比特流)表示当前图片解析。
  • I ― 图片编码类型(在 H.263 标准中 PTYPE 的位9压缩比特流)。
  • U ― 在当前图片头中,如果无限制运动向量选项值为1,那么该值设置为1(在 H.263 标准中 PTYPE 的位10压缩比特流),否则该值为0。
  • S ― 在当前图片头中,如果基于语法的算法编码选项值为1,那么该值设置为1(在 H.263 标准中 PTYPE 的位11压缩比特流),否则该值为0。
  • A ― 在当前图片头中,如果高级预测选项值为1,那么该值设置为1(在 H.263 标准中 PTYPE 的位12压缩比特流),否则该值为0。
  • R ― 预留,值为0。
  • DBQ ― 用于计算量化值的差分量化参数,当使用 PB 帧选项时,B 帧的量化值基于 P 帧的量化值。该值需要与 H.263 标准压缩比特流中的 DBQUANT 相同。如果不是采用的 PB 帧选项,则该值为0。
  • TRB ― 该字段是作为 H.263 标准压缩比特流中 B 帧的暂时参考。如果不是采用的 PB 帧选项,则该值为0。
  • TR ― 该字段是作为 H.263 标准压缩比特流中 P 帧的暂时参考。如果不是采用的 PB 帧选项,则该值为0。

模式 B 中的头格式如下所示:

1 2 5 8 11 16 bit
F P SBIT EBIT SRC QUANT
GOBN MBR R
I U S A HMV1 VMV1 HMV2 VMV2
  • 关于 F、P、SBIT、EBIT、SRC、I、U、S 和 A 各定义请参照模式 A。
  • QUANT ― 在数据包起始进行编码的第一个 MB 的量化值。如果数据包以 GOB 头开始,那么该值设置为0。
  • GOBN ― 数据包起始处的 GOB 编号。不同的解析中 GOB 编号不同。
  • MBA ― 数据包中第一个 MB 的 GOB 内的地址,按照扫描顺序从0开始计数。例如任意 GOB 中的第三个 MB 设置为 MBA = 2。
  • R ― 预留,值为0。
  • HMV1、VMV1 ― 为数据包中的第一个 MB 设置的水平和垂直运动向量预测。如果有某四个运动向量能为当前 MB 提供高级预测选项功能时,那么这些向量就是 MB 中的1号块的运动向量预测。
  • HMV2、VMV2 ― 为数据包中第一个 MB 的3号块提供的水平和垂直运动向量预测。如果有某四个运动向量能为当前 MB 提供高级预测选项功能时,需要该字段,这是因为 MB 中的3号块需要不同于 MB 中其它块的运动向量预测。当 MB 只具有一个运动向量时,不需要使用这两个字段。

模式 C 中的头格式如下所示:

1 2 5 8 11 16bit
F P SBIT EBIT SRC QUANT
GOBN MBR R
I U S A HMV1 VMV1 HMV2 VMV2
RR
RR(c) DBR TRB TR

关于 F、P、SBIT、EBIT、SRC、I、U、S、A、DBQ、TRB 和 TR 各定义请参照模式 A。关于 QUANT、GOBN、MBA、HMV1、VMV1、HMV2 和 VNV2 各定义请参照模式 B。

RR ― 预留,设置为0(19 bit)。

相关协议:RTPRTSPH.245H.323H.225H.261

组织来源:H.263 是一种 ITU-T(http://www.itu.int/ITU-T/)标准。

 

相关链接:
http://www.javvin.com/protocol/rfc2190.pdf: RTP Payload Format for H.263 Video Streams
http://www.h323forum.org/papers/ : H.323 papers and documents

© 著作权归作者所有

AK_47
粉丝 16
博文 533
码字总数 569998
作品 0
嘉定
程序员
私信 提问
音视频基础知识

> H.265/HEVC H.265/HEVC的编码架构大致上和H.264/AVC的架构相似,主要也包含,帧内预测(intra prediction)、帧间预测(inter prediction)、转换 (transform)、量化(quantization)、去区块滤波...

shareus
2017/12/01
0
0
视频编码方案之间的比较(HEVC,H.264,MPEG2等)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/12237177 Jens-Rainer Ohm等人在文献《Comparison of the Coding Efficiency...

雷霄骅
2013/10/02
0
0
学习FFmpeg API – 解码视频

ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料。可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快,有些API已经...

霄霄月月
2012/05/08
23.5K
32
Android支持的媒体格式

本文译自:http://developer.android.com/guide/appendix/media-formats.html#recommendations 本文介绍媒体的编解码器、容器和Android平台所支持的网络协议。 作为一个应用程序的开发者,你...

长平狐
2012/10/16
276
0
马思伟:视频领域是个海洋,可以游泳、冲浪、潜水和远航

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/81351584 6月,在北京大学理科2号楼一间办公室内见到了北京大学信息科学...

livevideostack
2018/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

360常用小工具分享 独立版 360驱动网卡版

有些朋友为了修复断网或者修复LSP,都会选择去下载360,用完再删除有些麻烦。所以自己收集了18个实用小工具独立版本方便坛友使用。只做分享,不喜勿喷。 360驱动网卡版:链接: https://pan.b...

xiaogg
21分钟前
8
0
批量删除表中某字段

select * from information_schema.columns where table_schema='erp-zyjsgx-v2' and column_name='manageflag'; alter table jz_xiangmudj drop column manageflag;......

glen_xu
23分钟前
3
0
JavaScript面试题总结系列(八)

8. JavaScript - this对象 this对象 this总是指向函数的直接调用者(而非间接调用者) 如果有new关键字,this指向new出来的那个对象 在事件中,this指向触发这个事件的对象,特殊的是,IE中的...

张森ZS
26分钟前
3
0
Apache Camel Spring Boot

Camel应用初始化 Apache Camel 采用的是组件化的设计思想,通过Camel Component对接第三方的应用,Camel核心模块会扫描classpath 加载这些Camel Component。 Camel应用在启动的过程中,需要将...

WillemJiang
27分钟前
4
0
数据管理必看!Kendo UI for jQuery过滤器状态保持

Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery、Kendo UI for Angular、Kendo UI Support for React和Kendo UI Support for Vue四个控件。Kendo UI for jQue......

FILA6666
40分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部