“.屏幕内容视频编码”的版本间的差异

来自中国大百科全书多媒体方向
跳转至: 导航搜索
第22行: 第22行:
  
 
     在目前的HEVC-SCC标准中,IBC在预测单元(Prediction, PU)级执行,可以被当作一种帧间PU模式,且将当前的编码帧作为长期参考帧用来进行预测。当一幅图像帧完全解码之后,可以将其重建的图像加到解码图像缓冲区中作为短期参考帧使用,这部分和HEVC version 1中的过程一致。对于IBC模式,由于其预测块来自于当前图像,为了避免其余模块对IBC产生影响,需人为地对IBC模式做出如下限制:(1) 预测块和当前块不能重叠,避免由没经过重建的像素点预测当前块。(2) 预测块和当前编码CU必须来自同一个slice和tile,否则会影响并行处理的能力。(3) 预测块需限制在图1所示的区域中,目的是为了避免影响波前并行能力。(4) 块矢量的精度为整数级。
 
     在目前的HEVC-SCC标准中,IBC在预测单元(Prediction, PU)级执行,可以被当作一种帧间PU模式,且将当前的编码帧作为长期参考帧用来进行预测。当一幅图像帧完全解码之后,可以将其重建的图像加到解码图像缓冲区中作为短期参考帧使用,这部分和HEVC version 1中的过程一致。对于IBC模式,由于其预测块来自于当前图像,为了避免其余模块对IBC产生影响,需人为地对IBC模式做出如下限制:(1) 预测块和当前块不能重叠,避免由没经过重建的像素点预测当前块。(2) 预测块和当前编码CU必须来自同一个slice和tile,否则会影响并行处理的能力。(3) 预测块需限制在图1所示的区域中,目的是为了避免影响波前并行能力。(4) 块矢量的精度为整数级。
 +
 +
[[文件:Screen_Vedio_Code_1.png|600px|center]]
 
   
 
   
图1 IBC搜索范围(灰色部分)
+
                                                                图1 IBC搜索范围(灰色部分)
  
 
     2) 调色板模式(Palette Mode)。调色板模式是利用CU内部的样本只含有几种典型的颜色组成的特性进行编码,相比较传统的预测变换编码,调色板模式只需要传输颜色样本的索引。 CU级的调色板编码模式最初在HEVC-RExt标准中被提出,经过发展完善,最终被HEVC-SCC标准采纳[15]。调色板指的是CU内部较为集中分布的颜色集,对于CU里的每一个样本,把对应的颜色索引写入码流。解码端利用调色板表和对应的索引值重建CU内的每个样本值。如果样本颜色不在调色板范围内,把该样本归为escape类,在这种情况下,不仅要编码escape索引,escape样本的量化值也需要编码(图2)。调色板表的每一个元素通常包含三个通道(RGB或者YCbCr)信息,对于4:2:0或者4:2:2信号格式,如果当前的样本没有色度成分,仅用第一个通道信息重建像素点。因此,调色板编码模式通常分为两个部分:1) 编码颜色表,和 2) 编码CU内部样本对应的索引值。
 
     2) 调色板模式(Palette Mode)。调色板模式是利用CU内部的样本只含有几种典型的颜色组成的特性进行编码,相比较传统的预测变换编码,调色板模式只需要传输颜色样本的索引。 CU级的调色板编码模式最初在HEVC-RExt标准中被提出,经过发展完善,最终被HEVC-SCC标准采纳[15]。调色板指的是CU内部较为集中分布的颜色集,对于CU里的每一个样本,把对应的颜色索引写入码流。解码端利用调色板表和对应的索引值重建CU内的每个样本值。如果样本颜色不在调色板范围内,把该样本归为escape类,在这种情况下,不仅要编码escape索引,escape样本的量化值也需要编码(图2)。调色板表的每一个元素通常包含三个通道(RGB或者YCbCr)信息,对于4:2:0或者4:2:2信号格式,如果当前的样本没有色度成分,仅用第一个通道信息重建像素点。因此,调色板编码模式通常分为两个部分:1) 编码颜色表,和 2) 编码CU内部样本对应的索引值。
第29行: 第31行:
 
     由于大部分屏幕内容只含有有限的几种颜色,因此当前CU的调色板内的元素可以从相邻CU的调色板元素进行预测,从而减少调色板元素之间的冗余信息(图3)。对于预测调色板的每个元素,设置一个标志位,说明该元素是否在当前调色板被重用。而这些标志位通过游长编码传输。对于编码调色板中的索引,首先需要一个标志位指示当前CU中是否有escape索引,然后通过水平扫描和垂直扫描两种方式(图4)编码CU中的索引。因为屏幕内容通常含有平坦区域,区域内的样本值相同或基本相同,所以游程编码是个很好的选择;另外,实验发现连续行或列的索引有可能是相同的。根据以上索引的特性,每个调色板中的索引可以通过以下两种模式编码: COPY_INDEX_MODE和COPY_ABOVE_MODE。在COPY_INDEX_MODE中,需要编码当前索引和连续与当前索引相同的索引数目。在COPY_ABOVE_MODE中,当前调色板索引的值直接从上一行复制得到。
 
     由于大部分屏幕内容只含有有限的几种颜色,因此当前CU的调色板内的元素可以从相邻CU的调色板元素进行预测,从而减少调色板元素之间的冗余信息(图3)。对于预测调色板的每个元素,设置一个标志位,说明该元素是否在当前调色板被重用。而这些标志位通过游长编码传输。对于编码调色板中的索引,首先需要一个标志位指示当前CU中是否有escape索引,然后通过水平扫描和垂直扫描两种方式(图4)编码CU中的索引。因为屏幕内容通常含有平坦区域,区域内的样本值相同或基本相同,所以游程编码是个很好的选择;另外,实验发现连续行或列的索引有可能是相同的。根据以上索引的特性,每个调色板中的索引可以通过以下两种模式编码: COPY_INDEX_MODE和COPY_ABOVE_MODE。在COPY_INDEX_MODE中,需要编码当前索引和连续与当前索引相同的索引数目。在COPY_ABOVE_MODE中,当前调色板索引的值直接从上一行复制得到。
 
   
 
   
图2 调色板模式举例(调色板大小为4)
+
[[文件:Screen_Vedio_Code_2.png|600px|center]]
 +
 
 +
                                                            图2 调色板模式举例(调色板大小为4)
 +
 
 +
[[文件:Screen_Vedio_Code_3.png|600px|center]]
 
   
 
   
图3 调色板生成过程
+
                                                                  图3 调色板生成过程
 +
 
 +
[[文件:Screen_Vedio_Code_4.png|600px|center]]
 
   
 
   
图4 调色板索引的水平扫描和垂直扫描编码方式
+
                                                          图4 调色板索引的水平扫描和垂直扫描编码方式
  
 
     3) ACT。许多屏幕内容是由RGB颜色空间组成。通常情况下,对于含有RGB颜色空间的图像块,不同颜色通道之间具有很强的相关性,因此,颜色空间转换对于去除颜色间的相关性是十分有效的。然而,有些屏幕内容含有饱和的色调,不同颜色通道之间没有很强的相关性,对于这些屏幕内容,直接编码RGB内容可能会更有效果。为了考虑屏幕内容的不同特性,研究人员提出了RGB到YCoCg颜色空间之间的转换方程[16],实验表明这种转换是十分有效的。
 
     3) ACT。许多屏幕内容是由RGB颜色空间组成。通常情况下,对于含有RGB颜色空间的图像块,不同颜色通道之间具有很强的相关性,因此,颜色空间转换对于去除颜色间的相关性是十分有效的。然而,有些屏幕内容含有饱和的色调,不同颜色通道之间没有很强的相关性,对于这些屏幕内容,直接编码RGB内容可能会更有效果。为了考虑屏幕内容的不同特性,研究人员提出了RGB到YCoCg颜色空间之间的转换方程[16],实验表明这种转换是十分有效的。

2016年10月9日 (日) 10:55的版本

   屏幕内容编码  Screen Content Coding(SCC)  是针对屏幕视频内容的特性而设计的视频编码标准,是高效视频编码标准(High Efficiency Video Coding, HEVC)的扩展版本,由国际电信联盟电信标准化部门(International Telecommunication Union-Telecommunication Standardization Sector, ITU-T)的视频编码专家组(Video Coding Experts Group, VCEG)和国际标准化组织(International Organization for Standardization, ISO)/国际电工委员会(International Electrotechnical Commission, IEC)的运动图像专家组(MPEG)成立的视频编码联合组(Joint Collaborative Team on Video Coding, JCT-VC)制订,HEVC-SCC的目的是有效提高屏幕内容的压缩效率[1]。屏幕内容除了包含传统的相机拍摄内容,还存在大量的静止或运动图表、文字和动画等电脑生成的内容。
   背景  2013年1月,JCT-VC完成了HEVC的第一版(HEVC version 1)[2],与H.264/AVC[3]相比,HEVC在保证相同视频质量的前提下,视频流的码率减少50%。但是,HEVC和H.264/AVC主要是用来压缩相机拍摄的内容。而最近一些新兴的视频应用,例如无线显示器、平板电脑、汽车显示器和屏幕共享等,所展示的不仅仅是传统相机拍摄的内容,还包括大量的静止或运动的计算机图表和文字等屏幕内容[4]。与相机拍摄内容相比,屏幕内容通常没有传感器噪声、并且包含大量的平坦区域、重复部分、高饱和度或者有限的颜色。编码屏幕内容视频最初是采用HEVC或H.264/AVC标准,这些标准在制订的过程中并没有考虑屏幕内容的特性。因此,在HEVC的基础上,研究针对屏幕内容特性的编码标准尤为重要。
    2014年1月,MPEG小组在HEVC的基础上,发布了编码屏幕内容的需求[4],由此提出了屏幕内容的三种形式:1) 混合内容;2) 运动的文本和图表;3) 动画。在2014年3月的JCT-VC会议上,对一些核心提案,例如:帧内宏块拷贝(Intra-block Coping, IBC)技术、颜色交叉预测(Cross-Component Prediction, CCP)技术和自适应颜色空间转换(Adaptive Color Transforms, ACTs)技术等,进行了实验测试。 根据实验测试的结果,在2014年7月JCT-VC发布了HEVC-SCC 草案文本1[5]。
   基本内容  HEVC-SCC 是在HEVC version 1 和 HEVC-RExt [6]的基础上制订的。因此,HEVC-SCC继承了HEVC version 1和HEVC-RExt标准的编码结构和工具。与此同时,HEVC-SCC还保持了与HEVC version 1和HEVC-RExt标准的兼容性,例如HEVC-SCC的解码器能够解码HEVC version 1产生的码流,并且其解码得到视频与HEVC version 1解码得到的视频内容完全一致。因此,在介绍HEVC-SCC内容之前,首先简单介绍HEVC version 1和HEVC-RExt中与屏幕内容有关的技术。
 
   HEVC version 1  HEVC version 1仍然采用了传统的混合编码结构。在标准发布之后,相关标准的进一步工作仍然在继续。而后续的实验表明残差变换技术并不总能提升屏幕内容的编码效率,这是因为大多数屏幕内容包含了大量的不规则边缘,经过预测之后得到的残差信息已十分稀疏,而现有的变换技术有可能破坏残差的稀疏性,导致编码效率的降低。因此,HEVC version 1支持省略基于4×4的残差变换技术[7]。实验表明,这样简单的设计能够有效地提升屏幕内容的编码效率。
 
   HEVC-RExt  因为大部分的屏幕内容是基于4:4:4的信号格式,所以HEVC-RExt在HEVC version 1的基础上支持非4:2:0的信号格式,例如:4:4:4和4:2:2,更高的比特深度(最高到16位)。相比HEVC version 1, HEVC-RExt还采用了一些技术进一步提升屏幕内容的编码性能,包括:
   1) 更加完善的transform skip模式。HEVC-RExt支持所有变换单元大小的transform skip模式,而更加灵活的transform skip模式能够进一步提升屏幕内容的编码性能[8]。
   
   2) 支持残差差分脉冲编码调制(Residual Differential Pulse Code Modulation, RDPCM)。即使经过帧内预测之后,残差信号仍然具有一定的冗余信息,而RDPCM技术能够通过相邻的残差预测当前的残差。在HEVC-RExt标准里,RDPCM首先被用于帧内无损编码[9],然后被拓展到帧内有损编码[10]和帧间编码[11],并且RDPCM只适用于采用transform skip模式的宏块。
   3) 颜色交叉预测(CCP)。CCP[12]主要是用来研究不同颜色通道之间的相关性。例如,通过第一个颜色通道的残差乘以一个缩放因子来预测第二以及第三个颜色通道的残差。尽管这样的设计使得颜色通道之间仍然存在一定程度的相关性,但实验表明当编码的视频是RGB颜色空间时,CCP能够有效提升编码效率。而很多屏幕内容都是由RGB颜色空间组成,因此,CCP技术能够显著提升屏幕内容的编码效率。
   HEVC-SCC 与HEVC version 1和HEVC RExt编码标准不同,HEVC-SCC标准中增加的编码技术主要是用来提升屏幕内容的编码效率。在HEVC version 1和HEVC RExt的基础上,HEVC-SCC增加的主要编码技术包括:
   1) IBC模式  IBC模式类似于帧间预测模式,不同点为IBC模式的预测块是由当前图像内的重建像素点组成的。IBC模式最初是在H.264/AVC的背景下提出的[13],然而对不同的序列,编码增益差别很大,主要是因为测试序列都是由相机拍摄,不具备屏幕内容视频的特性。在HEVC-SCC设计的早期阶段,IBC模式只在编码单元(Coding Unit, CU)级执行,然后通过块向量指出预测块的位置。由于帧间模式和IBC模式都需要块向量,因此可以把IBC模式和帧间模式进行统一[14]。
   在目前的HEVC-SCC标准中,IBC在预测单元(Prediction, PU)级执行,可以被当作一种帧间PU模式,且将当前的编码帧作为长期参考帧用来进行预测。当一幅图像帧完全解码之后,可以将其重建的图像加到解码图像缓冲区中作为短期参考帧使用,这部分和HEVC version 1中的过程一致。对于IBC模式,由于其预测块来自于当前图像,为了避免其余模块对IBC产生影响,需人为地对IBC模式做出如下限制:(1) 预测块和当前块不能重叠,避免由没经过重建的像素点预测当前块。(2) 预测块和当前编码CU必须来自同一个slice和tile,否则会影响并行处理的能力。(3) 预测块需限制在图1所示的区域中,目的是为了避免影响波前并行能力。(4) 块矢量的精度为整数级。
Screen Vedio Code 1.png
                                                               图1 IBC搜索范围(灰色部分)
   2) 调色板模式(Palette Mode)。调色板模式是利用CU内部的样本只含有几种典型的颜色组成的特性进行编码,相比较传统的预测变换编码,调色板模式只需要传输颜色样本的索引。 CU级的调色板编码模式最初在HEVC-RExt标准中被提出,经过发展完善,最终被HEVC-SCC标准采纳[15]。调色板指的是CU内部较为集中分布的颜色集,对于CU里的每一个样本,把对应的颜色索引写入码流。解码端利用调色板表和对应的索引值重建CU内的每个样本值。如果样本颜色不在调色板范围内,把该样本归为escape类,在这种情况下,不仅要编码escape索引,escape样本的量化值也需要编码(图2)。调色板表的每一个元素通常包含三个通道(RGB或者YCbCr)信息,对于4:2:0或者4:2:2信号格式,如果当前的样本没有色度成分,仅用第一个通道信息重建像素点。因此,调色板编码模式通常分为两个部分:1) 编码颜色表,和 2) 编码CU内部样本对应的索引值。
   由于大部分屏幕内容只含有有限的几种颜色,因此当前CU的调色板内的元素可以从相邻CU的调色板元素进行预测,从而减少调色板元素之间的冗余信息(图3)。对于预测调色板的每个元素,设置一个标志位,说明该元素是否在当前调色板被重用。而这些标志位通过游长编码传输。对于编码调色板中的索引,首先需要一个标志位指示当前CU中是否有escape索引,然后通过水平扫描和垂直扫描两种方式(图4)编码CU中的索引。因为屏幕内容通常含有平坦区域,区域内的样本值相同或基本相同,所以游程编码是个很好的选择;另外,实验发现连续行或列的索引有可能是相同的。根据以上索引的特性,每个调色板中的索引可以通过以下两种模式编码: COPY_INDEX_MODE和COPY_ABOVE_MODE。在COPY_INDEX_MODE中,需要编码当前索引和连续与当前索引相同的索引数目。在COPY_ABOVE_MODE中,当前调色板索引的值直接从上一行复制得到。

Screen Vedio Code 2.png
                                                            图2 调色板模式举例(调色板大小为4)
Screen Vedio Code 3.png
                                                                 图3 调色板生成过程
Screen Vedio Code 4.png
                                                          图4 调色板索引的水平扫描和垂直扫描编码方式
   3) ACT。许多屏幕内容是由RGB颜色空间组成。通常情况下,对于含有RGB颜色空间的图像块,不同颜色通道之间具有很强的相关性,因此,颜色空间转换对于去除颜色间的相关性是十分有效的。然而,有些屏幕内容含有饱和的色调,不同颜色通道之间没有很强的相关性,对于这些屏幕内容,直接编码RGB内容可能会更有效果。为了考虑屏幕内容的不同特性,研究人员提出了RGB到YCoCg颜色空间之间的转换方程[16],实验表明这种转换是十分有效的。
                                      (1)
   4)自适应运动矢量分辨率(Adaptive Motion Vector Resolution, AMVR)。 由相机拍摄的视频内的对象运动和相机传感器内的样本位置并不是完全对准的。因此,在编码传统相机拍摄的视频时,不仅有整像素的运动估计,还包含亚像素的运动估计。而电脑生成的屏幕内容的运动能够和图像内样本的位置完全对准,因此,整像素的运动估计可能更有效,省去了传输运动矢量小数部分所需的比特,更能节省编码码率[17]。

参考文献

[1] J. Z. Xu, R. Joshi, and R. A. Cohen, “Overview of the emerging HEVC screen content coding extension,’’ IEEE Trans. Circuits Syst. Video Technol., vol. 26, no. 1, pp. 50-62, Jan. 2016.

[2] G. J. Sullivan, J.-R. Ohm, W.-J. Han, and T. Wiegand, “Overview of the High Efficiency Video Coding (HEVC) standard,’’ IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 12, pp. 1649-1668, Dec. 2012.

[3] T. Wiegand, G. J. Sullivan, G. Bjontegaard, and A. Luthra, “Overview of the H.264/AVC video coding standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 13, no. 7, pp. 560-576, Jul. 2003.

[4] H. Yu, K. McCann, R. Cohen, and P. Amon, Requirements for an extension of HEVC for coding of screen content, ISO/IEC JTC1/SC 29/WG 11, document MPEG2014/N14174, San Jose, CA, USA, Jan. 2014.

[5] R. Joshi and J. Xu, HEVC screen content coding draft text 1, document JCTVC-S1005, Sapporo, Japan, Jul. 2014.

[6] J. Boyce et al., Edition 2 draft text of High Efficiency Video Coding (HEVC), including format range (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions, document JCTVC-R1013, Sapporo, Japan, Jul. 2014.

[7] X. Peng, C. Lan, J. Xu, and G. J Sullivan, Inter transform skipping, document JCTVC-I0408, Stockholm, Sweden, Jul. 2012.

[8] X. Peng, J. Xu, L. Guo, J. Sole, and M. Karczewicz, Non-RCE2: Transform skip on large TUs, document JCTVC-N0288, Vienna, Austria, Jul. 2013.

[9] S. Lee, I.-K. Kim, and C. Kim, AHG7: Residual DPCM for HEVC lossless coding, document JCTVC-L0117, Geneva, Switzerland, Jan. 2013.

[10] R. Joshi, J. Sole, and M. Karczewicz, AHG8: Residual DPCM for visually lossless coding, document JCTVC-M0351, Incheon, Korea, Apr. 2013.

[11] M. Naccari, M. Mrak, A. Gabriellini, S. Blasi, and E. Izquierdo, Inter-prediction residual DPCM, Incheon, Korea, document JCTVC-M0442, Apr. 2013.

[12] T. Nguyen, A. Khairat, and D. Marpe, Non-RCE1/Non-RCE2/AHG5/AHG8: adaptive inter-plane prediction for RGB content, document JCTVC-M0230, Incheon, Korea, Apr. 2013.

[13] S.-L. Yu and C. Chrysafis, New intra prediction using intra-macroblock motion compensation, document JVT-C151R1, Fairfax, VA, USA, May 2002.

[14] B. Li and J. Xu, Non-SCCE1: unification of intra BC and inter modes, document JCTVC-R0100, Sapporo, Japan, Jul. 2014.

[15] P. Onno, X. Xiu, Y.-W. Huang, and R. Joshi, Suggested combined software and text for run-based palette mode, document JCTVC-M0348, Sapporo, Japan, Jul. 2014.

[16] H. S. Malvar, G. J. Sullivan, and S. Srinivasan, “Lifting-based reversible color transformations for image compression,” Optical Engineering+Applications (pp. 707307-707307). International Society for Optics and Photonics, 2008.

[17] B. Li, J. Xu, G. J. Sullivan, Y. Zhou, and B. Lin, Adaptive motion vector resolution for screen content, document JCTVC-S0085, Strasbourg, France, Oct. 2014.