当前位置: 博才范文网 > 常用书信 >

学习报告学习报告学习报告学习报告

| 浏览量:

H264 Scalable Video Coding 学习报告

- by shane, 2009-9-25

1. Scalable Video Coding – 可分级视频编码

- 为什么需要可分级视频编码技术(SVC)

实际应用中,存在不同的网络和不同的用户终端,各种情况下对视频质量的需求不一样。例如,在利用网络传输视频信息时,由于网络带宽限制了数据传输,因此要求当网络带宽较小的时候,只传输基本的视频信号,并根据实际网络的状况决定是否传输增强的视频信息,使视频的质量得到加强。

在这样的背景下,利用可分级视频编码技术实现一次性编码产生具有不同帧率、分辨率的视频压缩码流,然后根据不同网络带宽、不同的显示屏幕和终端解码能力选择需要传输的视频信息量,以此实现视频质量的自适应调整。

- 可分级视频编码(SVC)是什么

为了能够实现从单一码流中解码得到不同帧率(时间可分级)、分辨率(空间可分级)和图像质量(SNR 可分级)的视频数据的编码技术。

H.264 SVC 以H.264 AVC 视频编解码器标准为基础,利用了 AVC 编解码器的各种高效算法工具,在编码产生的编码视频时间上(帧率)、空间上(分辨率)可扩展,并且是在视频质量方面可扩展的,可产生不同帧速率、分辨率或质量等级的解码视频。

2. H264 Scalable Video Coding Extension

H.264 SVC(H.264 可分级编码)作为 H.264 标准的一个扩展最初由 JVT 在 2004 年开始制定,并于 2007 年 7 月获得 ITU 批准。

H264 可分级视频编码是 H264/AVC 标准的扩展 (Annex G , 2007),它是以 H264/AVC 标准为基础,通过各种编码工具,形成分层编码(multi-layer coding)方式,以提供时间(Temporal)上,空间(Spatial)上和图像质量(Quality)上的可调整特性,可产生不同帧率、图像分辨率或图像质量等级的解码视频。

- H264 SVC 结构

H264 可分级视频编码采用分层编码方式实现,由一个基本层(Base Layer)和多个增强层

(Enhancement Layer)组成,增强层依赖基本层的数据来解码。其中,基本层(base layer)编码了基本的视频信息,实现了最低图像分辨率、帧率,并且基本层的编码是兼容H264/AVC编码标准的,能够采用H264/AVC 解码器进行解码。

H264 SVC 以不同分辨率的图像为基础形成分层结构(inter-layer prediction),并在此基础上每一层用 Hierarchical B-picture 来实现 Temporal Scalablity,用 MGS 编码来实现 Quility Scalability (SNR Scalability)

每一层内的编码都使用了H264/AVC 中帧内和帧间预测编码工具,而相邻层之间使用了 SVC

独有的层间预测编码工具。

EL(Enhancement Layer)的参考,可以是来源于同一层的其他帧,也可以是低层上采样的帧。但是不可以是更高层的帧,那样的话丢弃高层的 nalu 会导致低层无法解码。

- Temporal Scalablity – 时间可分级编码工具

利用 Hierarchical B-picture(层次化B帧)实现时间可分级,使每一层具有不同的帧率。

(note: MTCF 由于复杂性最终没有被 SVC 标准采用)

在原始的 JSVM 設計中,採用了 MCTF 來達到 Temporal Scalability 與產生更高解析度的加強層,但是在標準的制訂過程中,是否要使用 MCTF 這種 Lifting 的架構一直飽受爭議,雖然要達到解碼端的畫面完美重建勢必無法關閉 Lifting 架構中的Updating Stage,但是如果不關閉Updating Stage 在低位元率的時候,反而會因為量化誤差而使兩兩畫面間的畫質差異過大,且 Lifting 架構屬於Open Loop 的編碼架構,會發生飄移誤差的問題,再加上使用 MCTF的編碼架構會使得編碼複雜度大大的提高。在諸多考量下,後來放棄了納入 MCTF 的編碼架構,僅只保留 Hierarchical B pictures 的編碼方式來達成Temporal Scalability,但嚴格來說 Hierarchical B pictures 的編碼方式也是一個模仿 MCTF 的編碼架構。

Hierarchical B-picture 的概念来自于传统的 B picture 编码方式,但与之不同的是,在

Hierarchical B-picture 中产生的 B picture 可以被其他 B picture 参考

分层预测结构

每一层对应不同的帧率:

0

1

9

lay 0

0

2

1

10

9

lay 1

0

3 2

1

11 10

14

9

lay 2

Full-frame-rate: 0 4 3 5 2 7 6 8 1 12 11 13 10 15 14 16 9 lay 3

Picture 0/9 – Key Frame, coded by I/P frame

Qulity Scalability(MGS)也使用了 Key Frame

- Spatial Scalability – 空间可分级编码工具

利用 down/up sampling filter(上/下采用滤波)、inter-layer prediction(层间预测)实现时间可分级,使每一层具有不同的图像分辨率。

由于低层是由高层通过下采样得到的,因此在相同的时域分辨率情况下,每一个高层帧都有与之相对应的低层帧,两者之间存在着显而易见的相关性,我们称之为层间冗余。显然,为了获得更高的压缩效率,有必要通过各种层间预测技术来消除层间冗余,这也是空域可伸缩性技术的关键所在。设计层间预测算法的目的是尽可能利用基本层的信息提高增强层的编码效率。

几个相关语法元素

? base mode flag:指明一种宏块类型。1 表示当前宏块(enhancement layer 中)只编码残差信息,帧内编码模式或运动相关信息都有相应的参考层中块推导出来。EL 中的宏块无论 inter 还是 intra 都可以 base mode flag=1。

? motion prediction flag: 作用于宏块中每个 partition 的 reference list,指明 reference index、motion vector prediction 是否由 reference layer 中相应的块推导出来。

? residual prediction flag:只要当前宏块是 inter,无论base mode flag 是否为 1,都可以采用下述第三种 inter-layer prediction:inter-layer residual prediction。

H264 SVC 提供三种层间预测(inter-layer prediction):

- inter-layer intra prediction

base mode flag 为 1,且相应的 reference layer 中的 8x8 块是帧内编码,参考层中的 4x4块(4 个)被重构,经过去块滤波操作后上采样得到预测信号。亮度上采样采用的是 4-tap 的 FIR 滤波器,色度上采样采用的是 bilinear 滤波器。而后,ehencement layer 传送残差系数,经反变换后加到预测信号上。

在 upsampling 之前,需要对 reference layer 的重构信息进行去块滤波(deblocking)。为了保证 sigle loop 的解码,需要避免在 reference layer 进行 motion compensation,即

Constrained Inter-layer Intra-prediction。

- inter-layer motion prediction

全县大体可分为四大自然地理区域:温热盆坝地带,温暖地带,冷凉高山地带,低热河谷地带。由于复杂的气候条件, 多类型的生态环境,相应产生了丰富多样的生物资源。全县林业用地面积 229.3 万亩,占全县土地面积的69.75%,森林覆盖率 65.5%。天然林多属针叶林和阔叶林或阔、针叶混交林。针叶林以松为主,华山松次之,常绿阔叶林树种以高山栲、元江栲、黄栎为主。

  服务规范中应规定对顾客接待要“服务热情周到”,使用文明语言,商品介绍要真实准确“品种齐全”,货真价实,保持良好的购物环境,“发挥专业技术优势,”提供专业服务及时交货,减少顾客等待时间“提供保质保量”、“售后服务”,圆满解决顾客投诉等 5 配镜师要以身作则,严格要求执行国家配装标准,制作合格的眼镜。研究所应对现有研究员的相关资料进行登记备案并明确规定其部门归属和岗位职责。对还没有相关从业资格的人员,督促其准备考试取得相应资格,并且监督未取得从业资格的人员不得从事相关证券业务。大市场的零售业务,一般经营品种众多,总体上类似商场,只不过不 是一个经营者,而是众多经营者各自为政,在业态上是比较落后的一种。

 而且大市场所经营的产品,很大一部分与仓储式超市和大型综合超市重合, 它的市场份额将面临着后者强有力的挤压。科学研究和技术服务业行业新技术场景使得行业用户获得更好的体验。技术加持使得行业的服务效果和产品受到用户的青睐。新技术比如云计算,大数据,人工智能的出现给行业标准化问题提供了全新的思考空间,通过新技术加入到行业生产和服务过程中,科学研究和技术服务业能够更好的解决行业痛点和问题,保障行业服务效果,实现行业效率和用户体验的双重提升。科学研究和技术服务业行业随着行业消费主体年轻化,行业贷款等金融需求增加。3.6 对试戴及验光前接待的顾客,都算作共同顾客。但配镜顾问对任何顾客都应热情主动接待,耐心讲解,不能因为是共同顾客而怠慢顾客,对试戴期间的顾客应建议其充分试戴好光度后再进行挑选。如顾客非常满意该配镜顾问的服务,指定选择该配镜顾问配镜,则此顾客由该配镜顾问接2、日光浴场:修天然沙滩浴场 10 亩。3、接待配套用房:新建 6 亩配套用房及 1 亩相关配套设施,主要包括 500 平方米接待大厅、1000 平方米餐厅、1000 平方米特色产品交易厅及 1500 平方米住宿区域,并配套修建 2 公里道路,占地18 亩。4、休闲餐饮园:修建原生态休闲餐饮园 15 亩。

全县大体可分为四大自然地理区域:温热盆坝地带,温暖地带,冷凉高山地带,低热河谷地带。由于复杂的气候条件, 多类型的生态环境,相应产生了丰富多样的生物资源。全县林业用地面积 229.3 万亩,占全县土地面积的69.75%,森林覆盖率 65.5%。天然林多属针叶林和阔叶林或阔、针叶混交林。针叶林以松为主,华山松次之,常绿阔叶林树种以高山栲、元江栲、黄栎为主。

  服务规范中应规定对顾客接待要“服务热情周到”,使用文明语言,商品介绍要真实准确“品种齐全”,货真价实,保持良好的购物环境,“发挥专业技术优势,”提供专业服务及时交货,减少顾客等待时间“提供保质保量”、“售后服务”,圆满解决顾客投诉等 5 配镜师要以身作则,严格要求执行国家配装标准,制作合格的眼镜。研究所应对现有研究员的相关资料进行登记备案并明确规定其部门归属和岗位职责。对还没有相关从业资格的人员,督促其准备考试取得相应资格,并且监督未取得从业资格的人员不得从事相关证券业务。大市场的零售业务,一般经营品种众多,总体上类似商场,只不过不 是一个经营者,而是众多经营者各自为政,在业态上是比较落后的一种。

 而且大市场所经营的产品,很大一部分与仓储式超市和大型综合超市重合, 它的市场份额将面临着后者强有力的挤压。科学研究和技术服务业行业新技术场景使得行业用户获得更好的体验。技术加持使得行业的服务效果和产品受到用户的青睐。新技术比如云计算,大数据,人工智能的出现给行业标准化问题提供了全新的思考空间,通过新技术加入到行业生产和服务过程中,科学研究和技术服务业能够更好的解决行业痛点和问题,保障行业服务效果,实现行业效率和用户体验的双重提升。科学研究和技术服务业行业随着行业消费主体年轻化,行业贷款等金融需求增加。3.6 对试戴及验光前接待的顾客,都算作共同顾客。但配镜顾问对任何顾客都应热情主动接待,耐心讲解,不能因为是共同顾客而怠慢顾客,对试戴期间的顾客应建议其充分试戴好光度后再进行挑选。如顾客非常满意该配镜顾问的服务,指定选择该配镜顾问配镜,则此顾客由该配镜顾问接2、日光浴场:修天然沙滩浴场 10 亩。3、接待配套用房:新建 6 亩配套用房及 1 亩相关配套设施,主要包括 500 平方米接待大厅、1000 平方米餐厅、1000 平方米特色产品交易厅及 1500 平方米住宿区域,并配套修建 2 公里道路,占地18 亩。4、休闲餐饮园:修建原生态休闲餐饮园 15 亩。

base mode flag 为 1,且相应的参考层中的 8x8 块是帧间编码,Block partition 信息、 reference index、motion vectors 由 reference layer 中相应的 8x8 块推导出来。此时 block partition 信息由 reference layer 中相应的 8x8 块的partition 信息上采样得到,同时得到与 partition 相应的 reference index、motion vectors(需要先被 scale)。

base mode flag 为 0 时,还可以有一种对 motion 的 interlayer prediction,开关为 motion prediction flag:

- motion prediction flag 为 1,则与此 reference list 相关的 reference index、motion vector prediciton 由 reference layer 中相应的块推导出来。这里与 base mode flag 为 1 时有点区别,这里只是 MVP 由 reference layer 推导出来,所以 EL 还要传送 MVD。别忘了 motion vectors 需要被 scale。

- motion prediction flag 为 0,传统的帧间宏块:运动矢量的预测与 h.264 标准相

同。

- inter-layer residual prediction

在 enhencement layer 中的 inter-coded 宏块,无论是采用 base mode flag 还是传统的帧间宏块,都可以采用这一方式。

residual prediction flag 为 1,则 reference layer 中相应的 8x8 块的残差经过 bilinear 上

采样,作为 enhencement layer 宏块的残差预测,enhencement layer 中传送“残差的残差”。

需要注意的是这里的上采样不要跨越 reference layer 的变换块边界,否则会降低视觉效果,具体的处理办法是对边界进行重复外拓。

目前的 JSVM 是一個多次執行的程式,為了要達到 Spatial Scalability 的目的,在每次開始執行編碼器之前,需要一個額外的程式將原始的視訊內容調整到所要的解析度大小。例如,原始的視訊畫面大小為 4CIF 大小的畫面,如果要增加對畫面大小 CIF 與 QCIF 的支援的話,在 JSVM 裡面提供了一個名為 DownConvert 的程式讓我們可以將原始畫面轉換到任意的畫面

解析度大小。事實上,DownConvert 只不過是一個傳統的 Spatial domain 的轉碼器,這個程序被稱為 Spatial Decimation。當完成畫面轉換之後,每個解析度大小的畫面將各自被送進獨自的編碼程序中。

- Quility Scalability (SNR Scalability) – 图像质量可分级

一般是通过越来越小的量化步长来进行量化而进行的

CGS

MGS (SVC 中采用)

MGS 需要考虑的是压缩效率和 drift 效应的折中,H264 SVC 中是通过引入key picture 达到较好的效果。

 Key picture 即时域最基本层的图像。这些 key picture 的重构是通过 base quality layer 实现的。因此 higher quality layer 的丢弃造成的 drift 仅仅只能作用在当前 key picture 到下一个 key picture 之间,实现了对 drift 效应限制。与此不同,时域扩展层的图像则是通过参考层的最高可用 quality 运动补偿得到的,从而提升了压缩效率。要实现压缩效率和 drift 效应的最佳折中,可以通过调整 GOP size 或者 hierarchy 的阶数。

FGS

要達到能夠調整畫質的條件,是每一層都使用?同的?化Δ?(Quantization parameter),想要高的畫質,就選用較低的?化Δ?,反之亦然。SVC 提供種可調整畫質的方法,一種是 Coarse Grain Scalability(CGS),它採用與空間可調性相同的技術。另一方面,在預估過後的殘?值使用?似 MPEG-4 精細可調的位元層編碼(FGS Bit-plane Coding)做壓縮,使得每個解析?層都有一定的畫質可調範圍。FGS 的技術與以前 MPEG-4 或是 MPEG-2 ?同的地方是,它可以動態調整是要由強化層(enhancement layer)或是基本層作為預測的Δ考,這樣可以兼顧編碼效?,以及考慮到?是強化層的資?被砍掉時,?會有太大的預測錯誤產生。

在文中出现的“参考帧”这个名词时,都是特指 inter-frame prediction 的参考,即 P,B的参考, 而不是 inter-layer prediction 的参考。

1. 认识 MGS 结构

理解 MGS 结构,先要理解下面这个图(fig.8 in Overview of the Scalable Video Coding Extension of the H.264/AVC Standard),该图描述了在 SNR 分级时,inter prediction可能的几种选择:

(a)Base layer only,非常简单,所有的 inter prediction 全都是在 SNR BL 层完成。这样做的缺点就是编码的效率会不好。因为所有的参考帧都是 SNR BL,也就是最不“清楚”的图像。参考帧品质差,那么残差就会大,进而编出的 bit 会多。

(b)Enhancement layer only,克服了(a)的缺点,所有参考帧都用最“清楚”的图像,那么编码效率最好。这种结构仍然有问题,一旦解码端只收到了 SNR BL,而 SNR EL 都丢失了。那么很显然会造成解码出问题,并且这种问题会一直传播下去直到下一个 IDR,即 drift 效应。

(c)Two-loop,很自然可以想到用这种结构来克服(a)和(b)的问题。但很明显这样的结构仍然会有 drift 效应。

(d)Key picture,SVC 标准使用的方法,实际是一种 a)和(b)的折中方案。key picture 就是 temporal id 为 0 的 access unit(图中用条纹标明)。对 key picture 而言,它们只能 采用 SNR BL 层来实现 inter prediction,这和图(a)是完全一致的;而 non key picture,则一概使用最“清楚”的图像作为参考帧,这个图(b)是完全一样的。

简单分析一下,编码效率角度来看由于大部分图像都是使用最“清楚”的图像作参考,因此编码效率较好;drift 控制角度来看任何由于 SNR EL 的丢弃造成的错误都不可能转播到下一个 key picture 之后,因此也不错。

2. 概念 reference base picture

出发点明确了以后,再看 SVC 标准是如何实现这样的MGS 结构的。首先看标准上的一个概念 reference base picture:

G.3.46 reference base picture:A reference picture that is obtained by decoding a base quality layer representation with the nal_ref_idc syntax element not equal to 0 and the store_ref_base_pic_flag syntax element equal to 1 of an access unit and all layer presentations of the access unit that are referred to by inter-layer prediction of the base quality layer representation. A reference base picture is

not an output of the decoding process, but the samples of a reference base picture may be used for inter prediction in the decoding process of subsequent pictures in decoding order. Reference base picture is a collective term for a reference base field or a reference base frame.

简单说,就是 QId 等于 0 的参考图像。它可能并不是最终的输出图像(因为最终的输出图像可能是 SNR BL + SNR EL),但它在整个解码的过程中,会在某些场合下作为参考帧。结合下面的一个例子来理解

QId = 1: I1 b B1 b P1 ...

QId = 0: I0 b B0 b P0 ... (example-1)

哪些 picture 是 reference base picture?很明显按照 reference base picture 的定义 I0、 P0、B0 都是,I1、P1、B1 不是(QId 不为 0),b 也不是(不是参考帧)。也很容易理解,我们最后需要输出的图像是SNR BL + EL 的最“清楚”图像,所以 I0,P0,B0 并不会被输出。但是它们有可能会被用作参考。什么时候用作参考?这时候就和 MGS key picture 有关系了。结合上面的图(d),可以看到解码 P0 的时候 I0 是要被当作参考帧的。这就是 reference base picture 的含义。

3. 语法元素 store_ref_base_pic_flag

更进一步说,key picture 中 reference base picture 会充当参考帧的角色,尽管不会最 终输出,它们仍需要被存入DPB 中;而non key picture(e(e(例如B0)的reference base picture,它在整个解码的过程中并不会充当参考,因此不应该被放入 DPB 中占用多余资源。那么这

里引入标准中的一个语法元素 store_ref_base_pic_flag:

store_ref_base_pic_flag equal to 1 specifies that, when the value of dependency_id as specified in the NAL unit header is equal to the maximum value of dependency_id for the VCL NAL units of the current access unit, an additional representation of the coded picture that may or may not be identical to the decoded picture is marked as "used for reference". This additional representation is also referred to as reference base picture and may be used for inter prediction of following pictures in decoding order, but it is not output.

简单说,这个语法元素就是指定当前 nalu 包含的reference base picture 是不是要被存入 DPB 中用作将来的参考。再观察可以发现,store_ref_base_pic_flag 这个语法元素一般情况下只会在 Qid=0 的 NALU 中。

 那么回到上面的例子, 显然对于 I0 和 P0 , store_ref_base_pic_flag 应该为 1;B0 的 store_ref_base_pic_flag 应该为 0。

4. 语法元素 use_ref_base_pic_flag

接下来我们再看另一个语法元素 use_ref_base_pic_flag:

use_ref_base_pic_flag equal to 1 specifies that reference base pictures are used as reference pictures for the inter prediction process. use_ref_base_pic_flag equal to 0 specifies that decoded pictures are used as reference pictures during the inter prediction process.

该语法元素属于 nal_unit_header_svc_extenstion,它的作用就是表明当前的 nalu 使用什

么作为参考。需要注意的是对于 Dependency ID 相同的 nalu,use_ref_base_pic_flag 都得是相同的。再拿一个例子来说明

QId = 1: I1 B1 P1 ...

QId = 0: I0 B0 P0 ... (example-2)

假设解码端现在 BL 和 EL 都能收到。当解码 P0 时,P0 有两个参考帧可以选用,1) I0,即 reference base picture;2) I0+I1,即 decoded picture。如果我们使用的是 MGS,那么 P0 显然是 key picture,它必须使用 I0 做参考。因此此时 P0 的 use_ref_base_pic_flag就应该是 1。遵循标准,P1 的 use_ref_base_pic_flag 也是 1。

现在来看解码 B0,根据 MGS 的结构,B0 应该采用 I0+I1 和 P0+P1,即 decoded pictures 来 当 作 参 考 , 因 此 B0 的 use_ref_base_pic_flag 应 该 是 0 。

 同 样 道 理 , B1 的 use_ref_base_pic_flag 也是0。下面来说明一下use_ref_base_pic_flag 等于0,即decoded pictures 来当作参考的具体含义。在上面的例子 examp1e-2 里我们假设了 BL 和 EL 都在解码端收到了,那如果 EL 丢掉了呢?再看此时的 B0 解码,它会使用仅有的 I0,P0 来当作参考帧来解码。这就是“decoded pictures”的含义。显然这样解码的 B0、B1 会有错误,但是这里的 drift 效应不会扩散到 P0 之后。

这里有个额外的话题,我们可以发现对于 I picture,它们的 use_ref_base_pic_flag 是没 有意义的,因为它们不需要任何参考帧。那为什么这个语法元素还要出现在 I NALU 中增加

1 bit 的冗余呢?原因我想可能是这样的:前面已经说过 use_ref_base_pic_flag 是 nal_unit_header_svc_extenstion 的一个语法元素。在 SVC 码流在传输的过程中网络中会有一些 adapting 节点,用来做 bitstream extracting。它们会 parse 每个 nalu 的 header,然后判断哪些NALU 要被丢掉。这样的节点通常要处理大量的数据包,因此我们希望 adapting的实现最简单经济。因此显然一致的 nalu header 结构是最适合的。如果对 I nalu 去掉这个语法元素,那么 adapting 节点还要多一个额外的判断。

5. 实例

到这里基本上 MGS 的结构和标准的实现方法已经介绍完了。下面给出一个例子:以下是从编码 trace 文件中取出的结果:

Structure:

PictureDTQuse_ref_base_pic_flagstore_ref_base_pic_flagI00001(无意义)1I10011(无意义)无I2

Picture

DTQ

use_ref_base_pic_flag

store_ref_base_pic_flag

I0

000

1(无意义)

1

I1

001

1(无意义)

I2

002

1(无意义)

P0

000

1

1

P1

001

1

P2

002

1

B0

010

0

0

B1

011

0

B2

012

0

- Bitstream 结构与 Extractor

在傳統的可調適性視訊編碼中,例如 MPEG-4 FGS,編碼器會分別產生一個基礎層與加強層的 Bitstream。如果我們可以得知目前的網路頻寬變化,只要切割加強層的資訊到目前可用的頻寬大小就可以達到位元率的調適,可是這樣的調適只在於 SNR Scalability,如果要改變畫面大小或畫面更新率時就會遇到不少問題要處理,但是在目前的 Scalable Extension of H.264/AVC 中引入了「Layer」的概念,Bitstream 是由許多的 Layer 所組成,每個 Layer 有可能是 Temporal Layer、Spatial Layer 或 SNR Layer。而當發生網路變化或者是在不同用戶播放裝置的環境中,Extractor 則去抽取對應的Layer 來因應各種可能的變化,例如,偵測到目前網路頻寬是 256K,且用戶端播放裝置要 CIF 大小的畫面,且畫面更新率為 15 的時候,則 Extractor 只要讀取 Bitstream 中每個 NAL Unit 的標頭,然後挑出屬於 CIF 大小的畫面,且畫面更新率為 15 的 Layer 出來,然後看是否仍然低於要求的頻寬要求,如果是則加入更多的 SNR Layer 來滿足頻寬大小。

SVC 是 为 了 在 比 特 流 级 别 上 实 现 可 伸 缩 性 , 为 了 这 个 目 的 , SVC 增 加 了 nal_unit_header_svc_extension,其中包含了 D( Spatial 层次号 ), Q( quality 层次号 )以及 T( Temporal 层次号 )及其他有用信息,用于方便Bit-stream 的提取。

In order to attach SVC related information to non-SVC NAL units, prefix_nal_unit_rbsp are

introduced.

- Access Unit of H264 SVC

在 H.264/AVC 中,Access Unit 是一个很好理解的概念,就是若干 NAL unit 的组合(包括 VCL NALU 和相关的 non-VCL NAL unit)能解出一副完整图像,就认为是一个 access unit,标准中给出的定义为:

access unit: A set of NAL units always containing exactly one primary coded picture. In addition to the primary coded picture, an access unit may also contain one or more redundant coded pictures, one auxiliary coded picture, or other NAL units not containing slices or slice data partitions of a coded picture. The decoding of an access unit always results in a decoded picture.

然而当进入 H.264/SVC 时代,由于多个不同 layer 的存在使得 nalu 的组合更为复杂,这个概念变得不好理解起来。而标准对此却没有相应的说明(至少目前对 JVT-x201 观察没有发现)。这篇笔记的目的就是总结对 SVC 中 access uni 概念的理解。

在“System and Transport Interface of SVC,Ye-Kui Wang,”这篇 paper 中有这样一段说明:In this paper seven logical entities are described that may consist of more than one NAL unit:

1. layer representation:对于一幅图像,具有相同 dependency_id 和 quality_id

的所有 coded slices 的组合。

2. dependency representation:对于一幅图像,具有相同 dependency_id 的所有 coded slices 组合。

3. access unit:对于一幅图像,所有的 dependency representation 再加上相关的 non-VCL NAL units。

4. scalable layer:具有相同 dependency_id、quality_id 和 temporal_id 的所有

layer representation 的组合。

5. dependency layer:具有相同 dependency_id 的 scalable layer 组合。

6. base layer:dependency_id、quality_id 都为 0 的 layer representation。

7. coded video sequence:不多说

首先需要理解,前三个概念(representation 和 access unit)都是针对某一原始图像而言的;后三个概念都是多个图像集合(layer)的概念。因此对 access unit 可以有下图说明,这里表达的是一幅原始图像在 SVC 编码中的呈现关系:

这里再举一个例子,使用 jsvm 依照下图的方式编码:

一共有几个 access unit 呢?依照上面的理解,显然共有 9 个,褐色、绿色、蓝色代表的 5 个是由两个 dependency representation 构成的 access unit,红色的 4 个则是由一个 dependency representation 构成的 access unit。当然这里没有画出与之相关的一些 non-VCL NAL unit,实际编码中是有的,比如第一帧时有 SPS、PPS、 SEI,后续每帧相应的 Prefix、SEI 等。可以通过 jsvm 编码过程的信息来验证,如下图:

到这里,SVC 中的 access unit 的概念已经基本弄清楚了。

3. H264 SVC spec 及参考代码情况

目前,我们手头上有 H264 SVC spec(2007)的电子版,且为草案,没有发现有正式版的 H264 SVC spec。

- 目前关于H264 SVC 方面的参考代码比较少,主要的就是JVSM

- 开源软件中有发现一个项目是关于H264 SVC 的 – Open SVC

- 初步来看,这些参考代码的复杂度都比较高,且可读性也很差,从中获取有用信息可能要花费较多时间

由于H264 SVC 是在H264/AVC 基础上发展起来的,具有较高的复杂度,所以除了H264 本身编解码复杂度之外,还额外包括了 H264 SVC 特有的层间预测编解码复杂度,因此在实现上存在一定的难度。

4. H264 SVC 中增加的语法(24 个)

- 除了增加的语法,其他语法和 H264/AVC 相同

1. NAL unit header SVC extension (3 字节)

SVC 是为了在比特流级别上实现可伸缩性, 为了这个目的, SVC 增加了 nal_unit_header_svc_extension,其中包含了 D( Spatial 层次号 ), Q( quality 层次号 )以及 T( Temporal 层次号 )及其他有用信息,用于方便Bit-stream 的提取

2. Subset sequence parameter set RBSP

3. Sequence parameter set SVC extension

4. Prefix NAL unit RBSP

In order to attach SVC related information to non-SVC NAL units, prefix_nal_unit_rbsp are introduced.

5. Slice layer in scalable extension RBSP

6. Slice header in scalable extension

7. Decoded reference base picture marking

8. Slice data in scalable extension

9. Macroblock layer in scalable extension

10. Macroblock prediction in scalable extension

11. Sub-macroblock prediction in scalable extension

12. Scalability information SEI message

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24. SVC VUI parameters extension

办公及生活家具购置费指新建项目为保证初期正常生产、生活和管理所必 须的或改扩建项目需补充的办公、生活家具、用具等的购置费用。容包括:办 公室、会议室、资料档案室、阅览室、文化娱乐室、职工食堂、理发室、浴室、单身宿舍等家具、用具、器具的购置费用。研究所研究报告发布工作流程详见《研究所证券研究报告发布质量控制管理实施细则》、《研究所其他研究报告发布质量控制管理实施细则》、《研究所公司研究流程暂行实施细则》特殊贡献奖是旨在鼓励员工的出色业绩和持续努力而设立的奖项,目的在于对员工的优秀表现予以正向强化,以激励员工自觉地关心公司的发展,维护公司的形象。高层管理者不参与本公司的此奖项。特殊贡献奖包括总经理特别嘉奖、发展潜力奖、创新奖、优秀建议奖、伯乐奖等。第八条 风电场工程投资由设备购置费、建筑安装工程费、其他费用、基本预备费、涨价预备费和建设期利息组成。第九条 设备购置费指生产设备、消防设备、交通工具等购置费用。设备购置费容包括设备原价、运杂费、运输保险费、特大(重)件运输增加费和采购及保管费。桂林是我区旅游业的发源地和龙头,是全区接待海内外游客的基地和旅游创汇的基地,是创造旅游经营管理经验的基地和培养旅游人才的基地,是全国和世界著名的旅游城市。充分利用和发挥桂林的知名度及带动全区旅游业发展的辐射作用,将桂林的客源引到南宁、北海及其他城市,实现南北对接, 东西互联,使上的各旅游经济区、各旅游城市相互促进,共同发展,形成全区旅游业整体发展的格局和态势。楼宇自动控制系统管理平台将分散的、相互独立的系统,用相同的环境, 相同的软件界面进行集中监视。各级领导、物业管理部门以及管理员可以通过 自己的桌面计算机进行监视;他们可以看到整个建筑的各系统设备的运行情况, 监视环境温度度等参数,空调、电梯等设备的运行状态,建筑的用电、用水、 通风情况,以生动的图形方式和方便的人机界面展示你希望得到的各种信息。

 如温度的自动调节控制、冷冻机组开启台数的自动控制,设备故障报警的自动 接收,备用设备自动切换运行等。按管理者的需求,自动形成各种设备运行参 数报表,或随时变更设备运行参数(如启停时间、控制参数等)。根据广西旅游资源特点、交通现状和发展规划、客源市场分布情况,确定广西旅游产业开发的总体布局是,以桂林--柳州--南宁--北海/防城港旅游带为重点,逐步建成桂北、桂南、桂东、桂西四大旅游经济区。

办公及生活家具购置费指新建项目为保证初期正常生产、生活和管理所必 须的或改扩建项目需补充的办公、生活家具、用具等的购置费用。容包括:办 公室、会议室、资料档案室、阅览室、文化娱乐室、职工食堂、理发室、浴室、单身宿舍等家具、用具、器具的购置费用。研究所研究报告发布工作流程详见《研究所证券研究报告发布质量控制管理实施细则》、《研究所其他研究报告发布质量控制管理实施细则》、《研究所公司研究流程暂行实施细则》特殊贡献奖是旨在鼓励员工的出色业绩和持续努力而设立的奖项,目的在于对员工的优秀表现予以正向强化,以激励员工自觉地关心公司的发展,维护公司的形象。高层管理者不参与本公司的此奖项。特殊贡献奖包括总经理特别嘉奖、发展潜力奖、创新奖、优秀建议奖、伯乐奖等。第八条 风电场工程投资由设备购置费、建筑安装工程费、其他费用、基本预备费、涨价预备费和建设期利息组成。第九条 设备购置费指生产设备、消防设备、交通工具等购置费用。设备购置费容包括设备原价、运杂费、运输保险费、特大(重)件运输增加费和采购及保管费。桂林是我区旅游业的发源地和龙头,是全区接待海内外游客的基地和旅游创汇的基地,是创造旅游经营管理经验的基地和培养旅游人才的基地,是全国和世界著名的旅游城市。充分利用和发挥桂林的知名度及带动全区旅游业发展的辐射作用,将桂林的客源引到南宁、北海及其他城市,实现南北对接, 东西互联,使上的各旅游经济区、各旅游城市相互促进,共同发展,形成全区旅游业整体发展的格局和态势。楼宇自动控制系统管理平台将分散的、相互独立的系统,用相同的环境, 相同的软件界面进行集中监视。各级领导、物业管理部门以及管理员可以通过 自己的桌面计算机进行监视;他们可以看到整个建筑的各系统设备的运行情况, 监视环境温度度等参数,空调、电梯等设备的运行状态,建筑的用电、用水、 通风情况,以生动的图形方式和方便的人机界面展示你希望得到的各种信息。

 如温度的自动调节控制、冷冻机组开启台数的自动控制,设备故障报警的自动 接收,备用设备自动切换运行等。按管理者的需求,自动形成各种设备运行参 数报表,或随时变更设备运行参数(如启停时间、控制参数等)。根据广西旅游资源特点、交通现状和发展规划、客源市场分布情况,确定广西旅游产业开发的总体布局是,以桂林--柳州--南宁--北海/防城港旅游带为重点,逐步建成桂北、桂南、桂东、桂西四大旅游经济区。