关于问号文章“理解H.264 SVC的MGS 之 结构篇”中的一点问题

在问号的该文章中,最后有一个配置文件的例子。

NumLayers               2          # Number of layers

LayerCfg                my_layer0.cfg # Layer configuration file

LayerCfg                my_layer1.cfg # Layer configuration file

为了对MGS进行2分层,此处把Main Configuration File中的NumLayers设置成2,其实是没有必要的,因为根据JSVMsoftwareManual中的参数说明:

NumLayers

Unsigned Int, default: 1

Specifies the number of layers. A layer represents a spatial layer or a coarse-grain SNR scalable layer (CGS). Note that the number temporal layers is specified by the parameter GOPSize, and that medium-grain SNR scalable layers (MGS) are specified by the parameter MgsVectorMode in the layer configuration files (a “layer” can contain several MGS layers). The parameter NumLayers shall be in the range of 1 to 8, inclusive. For each layer a layer configuration file shall be specified by using the parameter LayerCfg.

 

 

NumLayers是针对空间分层和CGS的,每个这样的Layer可以包括多个MGSlayers

 

MGS事实上是对DCT变换系数的分层。

但是奇怪的是softwareManual的例子中,也是这么写的。

 

关于MGS分层,可以参考softwareManual中“ 3.4 SNR scalability”的例子。

一点疑惑的自我解释:

不管是问号的配置文件例子或softwareManual中的例子,此处以softwareManual中的“Example 59”为例进行说明,

当配置如下的时候:

MGSVector0           4              # Specifies 0th position of the vector

MGSVector1           4              # Specifies 1st position of the vector

MGSVector2           8              # Specifies 2nd position of the vector

如果按照此配置进行编码后,再抽取子码流的时候,对于Q(质量)分层,一共是显示了4层,是不是可以这么理解:首先是所有的DCT系数都不获取作为SNR Layer0(说明不传递残差数据,解码仅仅按照预测值进行显示),然后加上前面4个系数作为SNR Layer1,以此类推。

 

use_ref_base_pic_flag  store_ref_base_pic_flag这两个都是用于MGS的语法元素。

 

你可能感兴趣的:(H.264/SVC,h.264,layer,scalability,vector,file,each)