博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
帧、场编码的个人理解
阅读量:6464 次
发布时间:2019-06-23

本文共 755 字,大约阅读时间需要 2 分钟。

一、概述

原始视频帧(最原始的视频数据)根据编码的需要,以不同的方式进行扫描产生两种视频帧:连续或隔行视频帧,隔行视频帧包括顶场和底场,连续(遂行)扫描的视频帧与隔行扫描视频帧有着不同的特性和编码特征,产生了所谓的帧编码和场编码。一般情况下,遂行帧进行帧编码,隔行帧可在帧编码和场编码间选取。

帧、场的 临近行相关性并不相同。 帧的临近行相关性强,实践相关性弱,因为某行的临近行(下一行)要一场扫描完才能被扫描,因此在压缩静止图像或运动量不大的图像时采用帧编码方式。场的临近行时间相关性强,空间相关性差,因为场的一行扫描完毕,接着对场中下一行扫描,因此对运动量大的图像采用场编码方式,实际的视频图像有快有慢,有粗有细,应根据这个标准自适应选择帧/场编码方式。

 扫描格式

 

在帧编码中,参考为帧图像,采用帧运动补偿,两个场是联合编码,;在场编码中,参考为场图像,两个场是分别编码,采用场运动补偿。

二、视频序列帧、场编码方式

1.固定帧编码(全帧)----视频序列的全部帧始终采用帧编码方式。

2.固定场编码(全场)

视频序列中帧被分成两个场独立编码。编码规则:

1.       I帧可编码成两个I场或一个I场和一个P场,即II、IP.

2.       P帧可编码成两个P场或一个P场和一个B场,即PP、PB.

3.       B帧可编码成两个B场,即BB.

3.图像级帧、场自适应编码 (PAFF)

视频序列能被编码成一个帧或两个场,自适应选择原则是根据采用该种编码方式的每一帧的RD值。

4.宏块级帧、场自适应(MBAFF)

       为了进一步提高编码效率,采用了宏块级帧场自适应.,宏块级采用了宏块对(MBP)为基本编码单元(如图2所示)

 

 MBP格式

       H.264采用的MBAFF方案:

 H.264 MBAFF编码方案

在图像中运动比较大的地方采用场编码,运动比较小的地方采用帧编码,编码顺序例子如下:

 编码例子

你可能感兴趣的文章
oracle 数据泵 imp,IMP/EXP,数据泵,SQL*Loader ,rman,oracle数据库备份
查看>>
aix创建oracle用户和组,AIX平台的裸设备上创建Oracle表空间
查看>>
oracle数列的创建,Oracle实现fibonacci数列
查看>>
oracle字符中不包含字母,oracle中字母A或B是否包含在字符串中
查看>>
matlab 字体上标,Matlab的figure中输入上标、下标、特殊符号或字体 (转)
查看>>
linux 挂载 ftp iso,Linux下用curlftpfs挂载FTP服务器 [CentOS]
查看>>
cts测试linux指令skip,CTS测试命令详细
查看>>
linux 窗口居中,OpenGL设置窗口居中显示方法
查看>>
linux 连网vim安装,Ubuntu下安装Gvim及添加菜单项目[多图]
查看>>
c语言字符串getline,如何使用std :: getline()将文本文件读入C中的字符串数组?
查看>>
山科c语言考试题库,山科c语言考试重点.doc
查看>>
c语言实例 魔术师的猜牌术(1),C语言实例 魔术师的猜牌术(1)
查看>>
c语言 蛇形矩阵,蛇形矩阵输出是要怎么写代码,感觉没有眉目啊,大佬能说一下思想吗...
查看>>
国二考vb和c语言,全国计算机二级《VB》练习题及答案(2)
查看>>
[原创]需求工程思维导图
查看>>
CoreApiHtml.sql -2<-- (INVItemCt115h.sql ) Note: 223702.1
查看>>
MVC后台创建Json(List),前台接受并循环读取
查看>>
hdu 1072 Nightmare (广搜)
查看>>
还能再山寨点吗?——记发现的山寨网站经历
查看>>
ecshop将属性价格改为直接价格,而非加的价格
查看>>