H264---FMO(flexible Macroblock Order灵活宏块顺序)→多片组 slice_group_map_type 帧&片组&片的关系

可以参考毕厚杰的《新一代视频压缩编码标准》

AVC(即H264的别名,后H264拓展SVC后习惯将没有SVC的H264称为AVC,而将SVC称为SVC)

H.264的分层结构和画面划分是和MPEG-2、MPEG-1不同的地方,也是预测图块可以小到4x4像素的基础

1、H.264/AVC(数据处理流程)的分层结构

(1)视像编码层(Video Coding Layer, 简称VCL),用于有效的表达视像内容,主要负责数据编码。
(2)网络抽象层(Network Abstraction Layer,简称NAL),用于按照一定格式,对视像编码层输出的数据进行打包和封装,并提供包头(header)等信息,以在不同速率的网络上传输或进行存储。
这两个层次,完成了从RGB/YUV像素数据输入,到编码并输出适应不同速率网络的H264码流的过程。
在这里插入图片描述

1、帧、片组、片、宏块的关系

MPEG-1和MPEG-2中:将一帧拆分为多个像片(每个像片16行)
H264中使用FMO拆分frame成若干像片

一、(不使用FMO)一帧图像默认只有一个片组,该片组包含整个图像的所有宏块(一般都是只有一个片组)。
故可以说 “图像(=片组)由若干片组合组成”
二、若使用FMO:
先把一个图像中的所有宏块划分成几个片组(每个片组都有一个组号,以相互区别),
然后把这些片组再各自划分成若干个片。
👇
图像由若干片组组成,片组由若干片组成,片包含宏块(片组中的宏块会划分成若干个片)

1、H.264对图像进行编解码时是以片为单位的
2、在一个片组中,每个片的 MB 都是按光栅扫描次序被编码的,
这个“光栅扫描顺序”并不是相对于整个图像来说的,而是在“片组内部”进行光栅扫描,不会扫描到当前片组之外的宏块。
3、在图像参数集中,并没有哪个元素显式地指明是否对当前图像使用FMO,但有一个元素隐含了这个信息,
num_slice_groups_minus1 = 0	不启用FMO	图像只有一个片组
				其他情况下	启用FMO		图像中有多个片组

FMO(Flexible Macroblock Ordering,灵活宏块次序)

图像扫描的顺序,是从左上角,一行行扫到右下角。而一帧图片由单个或多个像片组成,每个像片(slice)包含了一系列的宏块(MB),这些宏块的处理顺序,和扫描顺序一致,也即像片中的所有MB,均按照光栅扫描的次序被编码。故解码时,需

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值