信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

释放双眼,带上耳机,听听看~!

  • 信息技术 先进音视频编码 第4部分:符合性测试 GB/T 20090.4-2012

    中华人民共和国国家标准

    信息技术先进音视频编码第4部分:符合性测试

    Informationtechnology-AdvancedcodingofaudioandVideo-Part4:Conformancetesting

    GB/T20090.4-2012

    发布日期:2012年12月31日

    实施日期:2013年6月1日

    中华人民共和国国家质量监督检验检疫总局

         中国国家标准化管理委员会              发布

    前言

        GB/T20090《信息技术  先进音视频编码》分为以下9个部分:

        ——第1部分:系统;

        ——第2部分:视频;

        ——第3部分:音频;

        ——第4部分:符合性测试;

        ——第5部分:参考软件;

        ——第6部分:数字媒体版权管理;

        ——第7部分:移动视频;

        ——第8部分:在IP网络上传输AVS;

        ——第9部分:AVS文件格式。

        本部分为GB/T20090的第4部分。

        本部分按照GB/T1.1-2009给出的规则起草。

        本部分由中华人民共和国工业和信息化部提出。

        本部分由全国信息技术标准化技术委员会(SAC/TC28)归口。

        本部分由中国科学院计算技术研究所、中国电子技术标准化研究院、天津大学、上海龙晶微电子有限公司、清华大学、浙江大学、上海广电(集团)有限公司中央研究院、成都康特电子高新科技公司、宏景微电子有限公司、美国博通、海思半导体有限公司、松下电器研究开发(中国)有限公司、北京三星通信技术研究院、上海大学、展讯通信(上海)有限公司、香港应用科技研究院有限公司负责起草。

        本部分主要起草人:娄东升、高麟鹏、李华、张淑芳、王智鸣、韩军、赵海武、陈建文、张吉、杨志杰、郑俊浩、邹强、郑萧桢、刘达、易峰、熊君君、林宗顺、郑嘉雯。

    引言

        GB/T20090的第1、第2、第3等部分定义了多路复用结构和音视频信息的编码表示,而且这几个部分具有很大的灵活性,可应用于不同的应用环境。这种灵活性可以通过编码比特流中各种特性参数的定义获得,如音频采样率、图像大小、帧频、比特率等参数。

        本部分作为GB/T20090.4的第一版本,仅针对已经发布的GB/T20090.2,定义了如何测试验证编码比特流和解码器是否满足GB/T20090.2-2006所规定的要求。测试可用于多种目的,例如:

        ——编码器的生产者和用户可以用来验证编码器是否编码出符合标准的编码比特流。

        ——解码器的生产者和用户可以用来验证解码器是否满足GB/T20090.2-2006等部分所规定的要求,是否具有所声称的性能。

  • 1 范 围

    1  

        GB/T20090的本部分给出了应用系统符合GB/T20090.2-2006的测试过程和测试要求。

        本部分适用于应用系统的符合性测试。

  • 2 规范性引用文件

    2  规范性引用文件

        下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

        GB/T20090.2-2006  信息技术  先进音视频编码  第2部分:视频

  • 3 术语和定义

    3  术语和定义

        GB/T20090.2-2006界定的以及下列术语和定义适用于本文件。

    3.1

        符合性测试  conformancetesting

        用于判断编码器输出的编码比特流以及解码器是否符合GB/T20090.2-2006的测试。

    3.2

        符合性编码比特流  conformancecodedbitstream

        用于测试解码器是否符合GB/T20090.2-2006的编码比特流,该编码比特流应完全符合GB/T20090.2-2006语法规则。本部分中的测试比特流即为符合性编码比特流。

    3.3  

        参考解码器  referencedecoder

        已知的符合GB/T20090.2-2006的解码器,用来和被测解码器做比较。可以使用GB/T20090.5给出的参考软件作为参考解码器。

    3.4

        被测解码器  measureddecoder

        一个解码器,要通过符合性测试来判断其是否符合GB/T20090.2-2006。

    3.5  

        合法解码器  coincidentdecoder

        通过符合性测试后,被判断为符合GB/T20090.2-2006的解码器。

    3.6

        兼容解码器  compatibledecoder

        分为后向兼容解码器和前向兼容解码器,后向兼容解码器指按旧的编码标准所设计的解码器,其可以对新的编码标准的全部或部分编码比特流进行解码;前向兼容解码器指按新的编码标准所设计的解码器,其可以对旧的编码标准的全部或部分编码比特流进行解码。

    3.7

        后向兼容  backwardcompatibility

        如果按旧的编码标准所设计的解码器可以对新的编码标准的全部或部分编码比特流进行解码,则新的编码标准后向兼容旧的编码标准。

    3.8

        前向兼容  forwardcompatibility

        如果按新的编码标准所设计的解码器可以对旧的编码标准的全部或部分编码比特流进行解码,则新的编码标准前向兼容旧的编码标准。

    3.9

        色度格式  chrominanceformat

        宏块中色度块数目的定义。GB/T20090.2-2006目前仅支持4:2:0和4:2:2色度格式。

    3.10

        编码比特流  codedbitstream

        本部分第一版本中编码比特流即指视频编码比特流,是符合GB/T20090.2-2006中所定义的语法规则的比特流序列。

    3.11

        (编码)参数  (coding)parameters

        在本部分中参数即指编码参数,其是GB/T20090.2-2006的语法内可以在一个数值范围内取值的变量。

        注:本部分中的(编码)参数也包括只能在两个值中取一个值的标志位或指示符。

    3.12

        比特流验证器  bitstreamverifier

        测试和验证编码比特流是否满足GB/T22090.2-2006中规定的全部要求的程序和过程。

  • 4 缩略语

    4  缩略语

        下列缩略语适用于本文件。

        BBV:比特流缓冲验证器  (BitstreamBufferVerifier)

        CBR:恒定比特率    (ConstantBitRate)

        MB:宏块  (Macroblock)

        VBR:可变比特率  (VariableBitRate)

        VLC:变长编码  (VariableLengthCoding)

        VLD:变长解码  (VariableLengthDecoding)

        MCP:运动补偿预测器  (MotionCompensatedPredictor)

  • 5 视 频

    5  

    5.1  概述

        在本章中,除了特别的声明,以下各项用于实用目的:

        “编码比特流”和“比特流”都指GB/T20090.2-2006视频编码比特流。

        “解码器”指GB/T20090.2-2006视频解码器,即GB/T20090.2-2006中解码过程的具体实现。视频解码器并不包括显示处理,其不在本部分规范范围之内。

    5.2  编码比特流和解码器符合性的定义

    5.2.1  编码比特流符合性定义

        一个声称符合GB/T20090.2-2006的编码比特流就是实现了GB/T20090.2-2006规定的编码比特流。即实现并符合GB/T20090.2-2006所定义的通用语法的所有要求和限制,同时包括GB/T20090.2-2006的附录B中为编码比特流所规定的档次和级别(profile/level)所确定的限制。

        5.3定义了编码比特流符合性的标准测试过程,只有成功通过该标准测试过程的编码比特流,才可以说其是符合GB/T20090.2-2006的比特流。

    5.2.2  解码器符合性定义

        声称符合GB/T20090.2-2006的视频解码器就是能够解析GB/T20090.2-2006编码比特流的解码器。即对GB/T20090.2-2006语法规则能唯一正确解释的解码器,应能实现GB/T20090.2-2006中规定的解码处理,并能够满足GB/T20090.2-2006定义的档次和级别组合的一般要求,能够解码档次和级别组合中允许的各种选项和参数的编码比特流,这些选项和参数范围在GB/T20090.2-2006的附录B中定义。

        5.4定义了解码器的符合性测试,5.4.2定义了部分符合性编码比特流;至少能够成功解码这些符合性编码比特流的解码器,才可以说其是GB/T20090.2-2006的合法解码器。

    5.2.3  与档次和级别相关的要求和限制

        由于GB/T20090.2-2006只有基准档次(Jizhunprofile)一个档次,因此GB/T20090.2-2006合法解码器应能解码GB/T20090.2-2006的附录B中的所有档次和级别组合要求的符合性编码比特流。

    5.2.4  编码器的要求与介绍

        本部分不专门讨论编码器。如果一个编码器所产生的编码比特流的语法和语义符合GB/T20090.2-2006视频部分所规定的要求,就称此编码器为符合GB/T20090.2-2006的编码器。其应符合如下要求:

        a)  所产生的编码比特流符合GB/T20090.2-2006所规定的语法规范;

        b)  所产生的编码比特流符合GB/T20090.2-2006所规定的数值精度要求;

        c)  所产生的编码比特流符合GB/T20090.2-2006的附录B所规定的档次和级别要求。

    5.2.5  兼容性及保留扩展的相关要求

        在GB/T20090.2-2006中规定了一些“保留”语法元素值和“保留位”,“保留”语法元素值不应出现在符合GB/T20090.2-2006的编码比特流中,而“保留位”应被解码处理忽略。

        因此GB/T20090.2-2006的合法解码器应能处理(即忽略)“保留位”,而对于“保留”语法元素则可以不处理,但GB/T20090的本部分推荐被测解码器能够处理“保留”语法元素值。即被测解码器若不能处理“保留”语法元素值,则只能说明其兼容性较差,而并不能说明其不符合GB/T20090.2-2006。

    5.3  编码比特流的符合性测试

    5.3.1  概述

        GB/T20090.2-2006规定了大量的参数,一些参数被规定为特定的值,另一些参数只规定了一个范围,这些参数被直接或者间接地编码到了编码比特流中。

        为了检查编码比特流的正确性,有必要分析整个比特流,并抽取出全部语法参数并分析这些参数值是否符合GB/T20090.2-2006中的规定。这就要求使用比特流验证器,GB/T20090.5中的参考解码器即可以作为一个比特流验证器。

        比特流验证器可以检查比特流是否满足GB/T20090.2-2006中所规定的要求,符合GB/T20090.2-2006的编码比特流应通过以下标准测试:当经过比特流验证器处理后,比特流不应引起比特流验证器的任何错误或非一致性消息。这些测试应该仅仅用于在传送过程中没有错误的比特流。

        成功通过比特流验证器测试的编码比特流,可以说是符合GB/T20090.2-2006规定的所有要求。

        有必要进行附加测试来更全面地检查编码比特流是否符合GB/T20090.2-2006中规定的所有要求。这些补充测试可以使用GB/T20090.5参考解码器之外的其他比特流验证器来验证,以便实现更全面的测试。

        另外,GB/T20090.2-2006视频解码器对编码比特流也有一定的限制:

        a)  序列的IPB结构,解码器只支持一部分IPB结构,例如,其最多只能处理连续的两个B帧;

        b)  支持比特率是固定(CBR)或者可变(VBR)的编码比特流;

        c)  在编码比特流中不应出现BlockDistance为零的情况。

    5.3.2  起始码的测试

        起始码是一组特定的比特串。在编码比特流中,除起始码外的任何情况下都不应出现这些比特串。

        起始码由起始码前缀和起始码值构成。起始码前缀是比特串‘000000000000000000000001’(0x000001)。所有的起始码都应字节对齐。起始码值是一个8比特整数,用来表示起始码的类型。对编码比特流中起始码的要求如表1所示。

    表1  编码比特流中起始码测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.3  序列头的测试

        对编码比特流中序列头中的参数的要求如表2所示。

    表2  编码比特流中序列头中的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.4  用户和扩展数据的测试

        对编码比特流中用户和扩展数据的参数的要求如表3所示。

    表3  编码比特流中用户和扩展数据的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.5  Ⅰ图像头的测试

        对编码比特流中Ⅰ图像头中的参数的要求如表4所示。

    表4  编码比特流中Ⅰ图像头中的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.6  PB图像头的测试

        对编码比特流中PB图像头中的参数的要求如表5所示。

    表5  码比特流中PB图像头中的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.7  条带的测试

        对编码比特流中条带的参数的要求如表6所示。

    表6  编码比特流中条带的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.8  宏块的测试

        对编码比特流中宏块的参数的要求如表7所示,另外,宏块编码后的比特数应满足GB/T20090.2-2006的附录B中表B.3的要求,即,对于4:2:0图像格式,宏块编码后最大比特数为3200;对于4:2:2图像格式,宏块编码后最大比特数为4224。

    表7  编码比特流中宏块的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.3.9  块的测试

        对编码比特流中块的参数的要求如表8所示。

    表8  编码比特流中块的参数测试要求

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    5.4  解码器的符合性测试

    5.4.1  概述

        解码器的能力规定了解码器所能解码的编码比特流。GB/T20090.2-2006解码器符合性测试就是测试解码器能否正确解码符合GB/T20090.2-2006语法规范的编码比特流。

        有两种解码器测试类型:静态测试和动态测试。

        静态测试要求测试重建样本,目的在于测试解码处理的算术精度。本部分说明当解码输出重建样本时,如何完成这种测试。由于GB/T20090.2-2006中的IDCT变换为整数变换,因此,当两个解码器从编码比特流中解码出一幅编码图像时,且所用参考帧相同,被测解码器与参考解码器产生的重建样本应完全相同。如果被测解码器重建的样本与参考解码器重建的样本不同,则该被测解码器不是合法解码器。

        动态测试通过检查:

        a)  所有的重建样本都输出给显示处理;

        b)  被测解码器重建样本输出给显示处理的定时与GB/T20090.2-2006的规定一致。

        从而验证解码器缓冲区在使用合适的比特传送速率时不会发生上溢或下溢。被测解码器应将所有编码帧的重建样本输出给显示处理。例如,如果被测解码器不能输出一些重建的B帧或不能输出一个整帧给显示处理,则该被测解码器不是合法解码器。本标准没有规定显示处理的实际输出。

        这些测试是解码器符合GB/T20090.2-2006符合性的必要条件但不是充分条件。因此,鼓励产生更多符合GB/T20090.2-2006规范的编码比特流,使通过符合性测试的合法解码器能得到更充分的公认。

        另外,本部分推荐被测解码器能够处理含有“保留”语法元素值等的非法编码比特流。

    5.4.2  符合性编码比特流的描述

        本部分描述了一组编码比特流,以用于解码器的符合性测试。这些测试并不能包含所有的解码器符合性要求,但可以通过这些编码比特流测试大多数基本解码器要求。

        这些编码比特流主要从以下几个方面来测试解码器是否符合GB/T20090.2-2006的规定:

        a)  一般性静态测试

        编码比特流中包含GB/T20090.2-2006规范中所有可能的参数。

        b)  存储带宽的动态测试

        编码比特流中包括的所有宏块是单向或双向预测。对亮度块有1/4的插补精度。

        c)  VLC解码的静态测试

        编码比特流中包含VLC码表中所有可能的情况。

        d)  位和符号分布的动态测试(含兼容性测试)

        编码比特流中包含位或符号的很不规则的分布。

        e)  跳过宏块的测试

        编码比特流中包含各种情形的跳过宏块。

        f)  加权预测的测试

        编码比特流中使用了加权预测。

        g)  最大跳帧数目的测试

        编码比特流中包含至少126个跳帧。

        h)  视频编辑码和随机访问的测试

        编码比特流中包含视频编辑码(VEC)及随机访问点。

        i)  填充比特的测试

        编码比特流中包含  stuffing_bit和stuffing_byte。

        j)  emulation_bit的测试

        编码比特流中包含emulation_bit。

        k)  其他常规测试

        其他一些常规性的测试。

    5.4.2.1  一般性静态测试

    5.4.2.1.1  测试比特流#1

        说明:一种具有在场和帧图中出现所有宏块类型和子块类型的编码比特流。

        对象:宏块及子块类型的解码。

        目的:检查解码器对语法分析树中的所有宏块类型和子块类型的处理情况。

    5.4.2.1.2  测试比特流#2

        说明:一种编码比特流,其每个条带只包含一行宏块,而且不包含跳过宏块。亮度采样率和比特率使用档次和级别组合所允许的最大值。

        对象:变长码解码(VLD)和语法解析器。

        目的:检查解码器对具有非常短的条带的编码比特流的处理。对于面向微处理器的设计,当处理条带和宏块头时会有很大的系统开销。

    5.4.2.1.3  测试比特流#3

        说明:一种编码比特流,其具有下面参数值的不同组合,连续的编码B帧、P帧、I帧的可变数目。理想的情况是该编码比特流包含所有可能的合法组合方式,从画面到画面对应有下面不同的参数值。

        time_code_flag

        low_delay

        loop_filter_disable

        loop_filter_parameter_flag

        picture_coding_type

        top_field_first

        repeat_first_field

        picture_structure

        progressive_frame

        对象:解码与控制。

        目的:检查解码器对各种编码模式(如:输入序列是逐行或隔行的,编码是帧或场模式,使用去块效应滤波等上述参数值的组合)的处理能力。

    5.4.2.1.4  测试比特流#4

        说明:编码比特流中所有帧间编码宏块都没有非零变换系数。用于亮度和色度预测的重建运动矢量,在水平和垂直方向都采用所有可能的1/4像素,半像素和全像素组合方式,这些组合用于帧、场和帧场自适应的预测模式。

        对象:运动补偿预测器(MCP)。

        目的:检查解码器在所有帧间编码模式下实现全精度的运动补偿。本测试不涉及解码器的其他功能如逆变换,逆量化和不匹配控制。对于所有预测宏块,被测解码器的重建样本应与参考解码器的重建样本相同。

    5.4.2.1.5  测试比特流#5

        说明:具有跳过图像的低延迟序列。亮度采样率和比特率是档次和级别组合所允许的最大值。

        对象:控制器。

        目的:检测解码器对低延迟解码的能力,使解码器能识别和处理跳过图像和BBV模型的缓冲下溢。

    5.4.2.1.6  测试比特流#6

        说明:该测试比特流已从测试规范中删除。

    5.4.2.1.7  测试比特流#7

        说明:编码比特流中宏块的变换系数经反量化后最大(—8192和8191),最大幅值组合使反量化引起最大饱和的编码比特流。

        对象:逆量化。

        目的:测试解码器能正确实现逆量化饱和的处理。

    5.4.2.1.8  测试比特流#8

        说明:产生大的正采样域系数f[y][x](如255)加上大的预测值p[y][x](如255),或大的负采样域系数f[y][x](如—255)加上小的预测值p[y][x](如0)的编码比特流。

        对象:逆变换的输出f[y][x]与预测值p[y][x]之和,结果饱和值范围[0,255]。

        目的:测试解码器正确实现逆变换的输出f[y][x]与预测值p[y][x]之和,结果饱和值范围[0,255]。

    5.4.2.1.9  测试比特流#9

        说明:具有零字节填充的编码比特流:

        在编码比特流的前半部分:在合法的位置上,至少有0.9*BBS的零位填充。

        在编码比特流的后半部分:每幅图像的合法位置有R/P到0.9*R/P的零位填充(R=编码比特流的最大比特率,1/P=连续图象时间间隔)。

        对象:解析器丢弃填充数据。

        目的:测试解码器最坏情况下(几乎是BBV全部填充)丢弃填充数据的能力。

    5.4.2.1.10  测试比特流#10

        说明:具有档次和级别组合中所允许的最大运动矢量和运动矢量差值的帧的编码比特流。对于场编码图像,其最大的运动矢量为帧编码最大运动矢量的1/21。

        对象:运动矢量的重建,补偿,控制。

        目的:当运动矢量非常大时,检测解码器能够合理实现运动补偿。

    5.4.2.1.11  测试比特流#11

        说明:所有帧间编码图像只包含帧间预测模式,且保证所有运动矢量使得插值计算最复杂,见GB/T20090.2-2006图19中点i、f、q、k,亮度采样率和比特率取档次和级别组合中所允许的最大值。

        对象:各种精度插值的计算。

        目的:检测解码器处理最复杂插值计算的能力。

    5.4.2.1.12  测试比特流#12

        说明:包含多个这样的宏块的编码比特流,该宏块编码后的比特数达到或者接近GB/T20090.2-2006的表B.3中所限定的宏块编码后最大比特数。

        对象:大宏块的重建。

        目的:测试解码器处理编码数据特别大的宏块的能力。

    5.4.2.1.13  测试比特流#13

        说明:该编码比特流包含Islice,Pslice,Bslice。每个slice的所有宏块应遍历所有可能的非零值mb_qP_delta(-32-31),或遍历所有可能的非零值量化参数,并保证所有的量化参数在正确范围内。

        对象:检查当mb_qP_delta为非零时,各种slice的重建。

        目的:测试解码器处理非零的mb_qP_delta的能力。

    5.4.2.2  存储器带宽动态测试

    5.4.2.2.1  测试比特流#14

        说明:在IBBP序列中,其中B帧宏块类型均为双向预测的B_8×8,P帧宏块类型均为P_8×8,其水平方向的运动补偿块地址应跨越burstborder。(burstborder是指两个16bytes之间的边界)。同时要求亮度采样率和比特率是档次和级别组合中所允许的最大值。对所有亮度和色度块,垂直和水平方向上采用1/4像素插值。该编码比特流应覆盖帧编码和场编码的所有组合(如前帧后场、前场后帧、前帧后帧、前场后场)。

        对象:存储带宽测试(memorybandwidth)。

        目的:检查解码器对预测带宽最大情况的正确处理能力。

    5.4.2.2.2  测试比特流#15

        说明:一个编码比特流其某些B帧编码的图像大小为在框架与级别所允许的最大bbv_buffer_size,VLC尽可能地使用长码字(通过escape),亮度采样率和比特率使用档次和级别组合所允许的最大值。

        对象:BBV_buffer。

        目的:检查解码器在这种情况下的工作状态。在几个小的编码图象后一个大的B帧编码图象可能使解码器失去控制。

    5.4.2.2.3  测试比特流#16

        说明:一个编码比特流中其连续的编码图像序列的比特率变化很大(变大或者变小)。

        对象:BBV_buffer。

        目的:检查解码器对比特率大幅变化时的处理能力。

    5.4.2.2.4  测试比特流#17

        说明:该测试比特流已从测试规范中删除。

    5.4.2.3  VLC解码静态测试

        测试比特流#18

        说明:编码比特流中包含所有符合标准规范的VLC符号。

        对象:语法解析器。

        目的:测试解码器能否正确处理所有可能的VLC符号及表。

    5.4.2.4  位和符号分布的动态测试

        测试比特流#19

        说明:编码比特流中包含有“保留”语法元素值和“保留位”的编码比特流(至少应包含类型为“保留”的起始码值、含义为“保留”的视频扩展标号,及某些合法的“保留位”)。

        对象:解析器(解码器处理某些“保留”语法元素值和“保留位”的能力)。

        目的:测试解码器实现正确分析和处理某些“保留”语法元素值和“保留位”的能力(保证未来扩展前向兼容的数据),如解码器能够丢弃“保留”的起始码值或视频扩展标号及其后续所有数据直到下一个起始码,解码器能够丢弃视频扩展数据保留字节(reserved_extension_data_byte)等。

    5.4.2.5  跳过宏块的测试

        测试比特流#20

        说明:编码比特流中包含有P帧和B帧跳过宏块类型的编码比特流。

        对象:解析器(skip模式)。

        目的:测试解码器能正确处理GB/T20090.2-2006所规定的跳过宏块语法及数据,在产生的编码比特流中应该包括多个slice中各种跳过宏块的位置排列关系,例如在一个slice中可包含不连续的多个跳过宏块,或连续多个跳过宏块,或整个slice全部由跳过宏块组成。

    5.4.2.6  加权预测的测试

        测试比特流#21

        说明:包含有加权预测的编码比特流。

        对象:加权预测的解码。

        目的:分析解码器能否正确处理GB/T20090.2-2006中所规定的加权预测,在产生的编码比特流中有多个P、B帧的slice内有weighting_predictionMB,在一个slice中可包含不连续的多个weighting-predictionMB,或连续多个weighting_predictionMB,或整个slice全部由weighting_predictionMB组成。同时包含加权预测参数设置为最大或最小的情况。

    5.4.2.7  跳帧数目测试

        测试比特流#22

        说明:一个编码比特流,其连续两个解码帧之间被跳过的帧数、相邻的两个非双向帧间解码图像间被跳过的帧数和B帧数之和应遍历GB/T20090.2-2006中允许的所有值。

        对象:解码器(跳帧的实现)。

        目的:分析解码器是否可以正确处理GB/T20090.2-2006所规定的跳帧数目。

    5.4.2.8  视频编辑码的测试

        测试比特流#23

        说明:包含视频编辑码(VEC)和随机访问点的编码比特流。

        对象:解码器(视频编辑和随机访问)。

        目的:分析解码器是否可以正确处理GB/T20090.2-2006所规定的视频编辑和随机访问功能,在产生的编码比特流中含有视频编辑码、随机访问点,解码器应该根据视频编辑码做出相应的操作。

    5.4.2.9  填充比特的测试

        测试比特流#24

        说明:包含stuffing_bit和stuffing_byte的编码比特流。

        对象:解析器。

        目的:测试解码器能正确处理stuffing数据,准确判断slice的起始。要求stuffing_bit组成的stuffingpattern应当至少覆盖0b1000_0000,0bxxxx_xxx1,0bxxxx_1000三种情况,即stuffing_bit出现在不同的比特位置。

    5.4.2.10  emulation_bit的测试

        测试比特流#25

        说明:包含emulation_bit的编码比特流。

        对象:解析器。

        目的:测试解码器能正确进行de-emulation处理,避免伪起始码仿真。要求emulation_bit尽可能出现在不同语法层次,即图像头、条带头、宏块、子块级。

    5.4.2.11  其他常规测试

        测试比特流#26

        说明:在B和P图中,VLC事件的平坦分布(固定符号率VLD的最坏情况),亮度采样率和比特率使用档次和级别组合所允许的最大值。

        功能:VLD。

        目的:检查解码器不依赖统计上的少量符号而满足实时性要求的能力。

    5.4.3  解码器符合性测试的过程

    5.4.3.1  解码器的静态测试

        视频解码器的静态测试需要测试重构的样本的正确性和精确性。

        根据GB/T20090.2-2006的附录B中的表B.4、表B.5和表B.6各个级别下图像格式的限制,在基准档次下,对2.0或4.0或6.0级别以4:2:0格式对解码器进行测试(如图1),而对4.2或6.2级别以4:2:2格式进行测试(如图2)。图1和图2如下所示:

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    图1  2.0或4.0或6.0级别下解码器测试方案

    信息技术先进音视频编码第4部分:符合性测试 GB/T20090.4-2012

    图2  4.2或6.2级别下解码器测试方案

        因为GB/T20090.2-2006采用精确的整数变换,故被测解码器解码输出的数据应和参考解码器解码输出的数据完全一致。

    5.4.3.2  动态测试的实现

        对于完整的解码系统,包括一个系统解码器,一个视频解码器和一个显示处理,动态测试一般来说较容易。它可能记录显示处理的输出、检查场和帧的显示顺序和定时的正确性。但是由于显示处理不包括在GB/T20090.2-2006标准范围内,有时尽管视频解码器是合法的但显示输出却发生了错误,此时视频解码器应存储其输出,以便执行动态测试。

        特别是场和帧的顺序和定时应该正确,场的奇偶应精确,如果场和帧重复编码,也要求解码处理的输出是重复的。

        注:首先输出的隔行扫描帧的第一场,如果top_field_first等于0则说明是底场。

  • 参考文献

    参考文献

        [1]  GB/T20090.5-2012  信息技术  先进音视频编码  第5部分:参考软件

        [2]  ISO/IEC13818-4:2004  Informationtechnology-Genericcodingofmovingpicturesandassociatedaudioinformation-Part4:Conformancetesting

        [3]  ISO/IEC14496-4:2004  Informationtechnology-Codingofaudio-visualobjects-Part4:Contormancetesting

给TA打赏
共{{data.count}}人
人已打赏
电气专业

雷电电磁脉冲的防护第4部分:现有建筑物内设备的防护 GB/T19271.4-2005

2021-8-14 1:38:53

电气专业

声学声压法测定电力电容器单元的声功率级和指向特性 GB/T32524.2-2016

2021-8-14 2:58:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索