资料介绍
ICS 35. 040 L 71
中 华 人 民 共 和 国 国 家 标 准
GB/T 20090.5—2012
信息技术 先进音视频编码
第 5 部分 :参考软件
Information technology—Advanced coding ofaudio and video—
Part5:Referencesoftware
2012-12-31发布 2013-06-01实施
中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会
发
布
GB/T 20090.5—2012
目 次
前言 Ⅲ
引言 Ⅳ
1 范围 1
2 规范性引用文件 1
3 缩略语 1
4 视频参考软件 1
附录 A (资料性附录) 编码软件 2
附录 B (资料性附录) 视频参考软件使用详细说明 3
Ⅰ
GB/T 20090.5—2012
前 言
GB/T 20090《信息技术 先进音视频编码》分为以下 9个部分 :
— 第 1部分 :系统 ;
— 第 2部分 :视频 ;
— 第 3部分 :音频 ;
— 第 4部分 :符合性测试 ;
— 第 5部分 :参考软件 ;
— 第 6部分 :数字媒体版权管理 ;
— 第 7部分 :移动视频 ;
— 第 8部分 :在 IP 网络上传输 AVS;
— 第 9部分 :AVS文件格式 。
本部分为 GB/T 20090的第 5部分 。
本部分按照 GB/T 1. 1—2009给出的规则起草 。
本部分由中华人民共和国工业和信息化部提出 。
本部分由全国信息技术标准化技术委员会(SAC/TC28)归 口 。
本部分起草单位 : 中国科学院计算技术研究所 、清华大学 、浙江大学 、华中科技大学 、北京工业大学 、中山大学 、华为技术有限公司 、上海广电(集团)有限公司中央研究院 、上海龙晶微电子有限公司 、北京长信嘉信息技术有限公司 、中国电子技术标准化研究所 。
本部分主要起草人 : 高文 、黄铁军 、吴枫 、何芸 、虞露 、梁凡 、赵海武 、马思伟 、吕岩 、李国平 、张志明 、沈燕飞 、周敏华 、贾云卫 、郭红星 、熊联欢 、王强 、王智鸣 、陈建文 、娄剑 、张凯 、张莉 、赵德斌 、娄东升 。
Ⅲ
GB/T 20090.5—2012
Ⅳ
引
言
GB/T 20090 的 第 1、第 2、第 3 等 部 分 定 义 了 系 统 和 音 视 频 信 息 的 编 码 表 示 , 而 本 部 分 包 含 了GB/T 20090第 2、第 3 等部分所定义的工具集的模拟软件 。该软件由在标准的制定过程中的一系列验证模型演变而来 。 因为一个工具的接受与加入到参考软件中会存在一个延迟 , 因此 GB/T 20090 的其他部分所定义的工具可能没有包含在该参考软件中 。
当编码软件存在时 ,需要注意的是这些编码器仅仅支持规定性语法元素所产生的码流 。这些编码器的性能并不能作为衡量质量和计算复杂度优化程度的标准 。 同时 ,编码端的工具并没有在本部分给出定义 。
本部分 目 前 仅 针 对 GB/T 20090. 2—2006, 定 义 了 满 足 GB/T 20090. 2—2006 规 定 要 求 的 参 考软件 。
本部分给出的内容包括以下 3个类别 :
a) 基本流解码软件在 第 4 章 中 给 出 定 义 。 本 软 件 接 收 符 合 GB/T 20090. 2—2006 的 编 码 基 本流 ,然后解 码 这 些 码 流 而 产 生 和 该 基 本 流 关 联 的 媒 体 格 式 , 即 视 频 。 虽 然 本 参 考 软 件 是GB/T 20090的规定性部分 ,但值得注意的是本软件中所采用的实现技术并不认为是规定性的 — 因为不同的实现方式也可以产生同样的结果— 整个参考软件之所以被认为是规定性的 ,是因为它可以正确地实现 GB/T 20090. 2—2006中所描述的解码过程 。
b) 基本流编码软件在附录 A 中给出定义 。该软件根据相应的媒体格式(视频)产生基本流 , 即视频基本流 。该软件编码器提供了一种方法 ,用以获得符合 GB/T 20090. 2—2006规定语法的基本流 。本部分没有规定编码技术 , 同时本部分提供的这些编码软件的质量和复杂度也是未经优化的 。
c) 参考软件的详细使用说明在附录 B 中给出定义 。 软件可以根据附录指明的配置方式产生符合不同编码条件的码流 。
GB/T 20090.5—2012
信息技术 先进音视频编码
第 5 部分 :参考软件
1 范围
GB/T 20090的本部分规定了满足 GB/T 20090. 2规定要求的参考软件 。这是因为任何符合标准的软件的实现 ,包括采用同一符合标准的编码比特流以及相同的文件输出格式 ,都会输出相同的文件 。符合 GB/T 20090. 2 的 实 现 不 一 定 严 格 遵 循 参 考 软 件 的 算 法 或 者 编 程 技 术 。 解 码 软 件 不 能 超 出GB/T 20090. 2 的技术描述文本 。
本部分适用于数字电视广播 、交互式存储媒体 、直播卫星视频业务 、多媒体邮件 、分组网络的多媒体业务 、实时通信业务 、远程视频监控等应用系统的参考软件实现 。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的 。凡是注 日期的引用文件 ,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件 ,其最新版本(包括所有的修改单)适用于本文件 。
GB/T 20090. 2—2006 信息技术 先进音视频编码 第 2部分 :视频
3 缩略语
下列缩略语适用于本文件 。
CBR:恒定比特率(ConstantBitRate)
VBR:可变比特率(Variable BitRate)
4 视频参考软件
本部分给出的参考软件是按照 GB/T 20090. 2—2006的要求而编制的 。
本部分所给出的文件位置是相对于参考软件根目录而言 。
位置 说明
ldecod/src 本软件使用 C语言
1
GB/T 20090.5—2012
附 录 A (资料性附录)编 码 软 件
A. 1 视频编码器
位置 说明
lencod/src 本软件使用 C语言
2
GB/T 20090.5—2012
附 录 B
(资料性附录)
视频参考软件使用详细说明
B. 1 软件的编译
B. 1. 1 在 Windows环境下使用 VisualStudio6. 0 编译
软件包中提供 VC6. 0 工作区文件 :rm. dsw,其中包含如下两个工程 :
lencod参考软件编码器 。
ldecod参考软件解码器 。
可以选择所需要的工程在 Debug 或 Release模式下进行编译 ,生成的二进制执行文件位于“Bin”目录下 。
B. 1. 2 在 Unix环境下使用 gcc编译
编译编码器时 ,进入 lencod 目录 ,输入 make。
编译解码器时 ,进入 ldecod 目录 ,输入 make。
生成的二进制执行文件位于“Bin”目录下 。
B. 2 编码器使用说明
本章对 RM参考软件提供一个详细的使用说明 。
= =
B. 2. 1 编码器语法格式
lencod [-fconfig. cfg] {[-pEncParam1 EncValue1] . . . [-pEncParamM EncValueM]}
[-fconfig. cfg]
使用 config. cfg作为配置参数输入文件 。
{[-pEncParam1= EncValue1] . . . [-pEncParamM= EncValueM]}
重新设定配置参数 EncParamN 的值为 EncValueN ,该值将取代配置参数输入文件中的原有置 。N ∈ {1… M} 。
在 B. 2. 3 中将给出配置参数的详细说明 。
B. 2. 2 编码器的输出信息
编码器运行时 ,会向标准输出流(默认为屏幕)上打印已经完成编码各帧的统计信息 ;编码全部完成后 ,还会打印总结信息 。一个典型的编码器输出结果如下 :
3
GB/T 20090.5—2012
Parsing Configfile bin/encoder. cfg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InputYUV file
: D:/video/sequences/football_cif_30. yuv
OutputAVS bitstream
: test. avs
OutputYUV file
: test_rec. yuv
Outputlog file
: log. dat
Outputstatistics file
: stat. dat
-----------------------------------------------------------------------------------------------------------
Frame Bit/pic QP SnrY SnrU SnrV Time(ms) FRM/FLD IntraMBs Sequence Header
0(I)
201096 28 39. 042342. 704743. 1665 610
FRM
3(P)
111968 2838. 212542. 495243. 2607 938
FRM
113
1(B)
58848 2837. 655242. 730843. 2848 1421
FRM
2(B)
65080 2837. 622942. 596643. 2803 1422
FRM
6(P)
126280 2838. 258442. 479943. 2244 1266
FRM
140
4(B)
73592 2837. 657142. 571843. 3330 1422
FRM
5(B)
76280 2837. 572742. 405643. 3606 1438
FRM
Freq. for encoded bitstream : 10
Hadamard transform : Used
Image format : 352x288
Error robustness : Off
Search range : 32
No of ref. frames used in P pred : 2
No of ref. frames used in B pred : 2
Total encoding time for theseq. : 8. 517 sec
Sequence type : IBBPBBP (QP: I28,P 28,B 28)
Entropy coding method : VLC
RD-optimized mode decision : used
------------------Average data allframes -------------------------------------------------------
SNR Y(dB) : 38. 00
SNR U(dB) : 42. 57
SNR V(dB) : 43. 27
Totalbits : 713144 (I201096,P 238248,B 273800)
Bitrate (kbit/s) @ 30. 00 Hz : 3056. 33
Bits to avoidStartcode Emulation : 0
Bits for parameter sets : 0
ExitRM 5 encoder ver5. 2j
4
GB/T 20090.5—2012
各帧统计信息说明如表 B. 1。
表 B. 1 各帧统计信息说明
名称
格式
说明
Frame
%3d(Type)
该帧在输入视频序列中的序号及编码类型
Bit/pic
%8d
该帧分配的比特数
QP
%4d
该帧的 QP值
SnrY
%7. 4f
亮度的 PSNR值
SnrU
%7. 4f
色度 U分量的 PSNR值
SnrV
%7. 4f
色度 V分量的 PSNR值
Time(ms)
%5d
该帧总的编码时间
Frm/Fld
FLD|FRM
图像编码方式(帧或场)
IntraMBs
%3d
按 Intra方式编码的宏块个数
B. 2. 3 编码器配置参数
配置参数可以在配置参数输入文件中给定 ,也可以由-p命令指定 ,参见 B. 2. 1。
B. 2. 3. 1 文件输入输出参数
B. 2. 3. 1. 1 InputFile
类别 :文本 。
描述 :输入的视频序列文件名 。
说明 : 目前软件只支持单一格式的视频序列文件 ,也就是说 ,所有帧和 YUV 分量必须位于同一个文件 。
示例 :
lencod. exe-p InputFile= "d:/seq/football_ 176x144_ 15. yuv"
B. 2. 3. 1. 2 InputHeaderLength
类别 :正整数 。
描述 : 以字节为单位表明输入视频序列文件的文件头长度 。
说明 :对大多数视频序列文件来说此值为 0。
B. 2. 3. 1. 3 FramesToBeEncoded
类别 :正整数 。
描述 :定义需要编码的 I帧与 P 帧总数 。
说明 :如果使用了 B 帧 ,则 FrameToBeEncoded 的计算公式如下 :
示例 1:IPPP编码模式 ,总共编 10帧 。
FramesToBeEncoded = int((总的编码帧数 -1)/( NumberBFrames+ 1 )) + 1。
= =
lencod. exe-p FramesToBeEncoded 10 -p NumberBFrames 0
5
GB/T 20090.5—2012
示例 2:IBBP编码模式 ,总共编 10帧 。
= = =
lencod. exe-p FramesToBeEncoded 4 -pFrameSkip 2 -p NumberBFrames 2
B. 2. 3. 1. 4 SourceWidth,SourceHeight
类别 :正整数 。
描述 :定义了视频序列一帧图像亮度以像素为单位的宽度与高度 。
B. 2. 3. 1. 5 TraceFile
类别 :文本 。
描述 :指定 Trace文件的文件名 。
说明 :Trace文件记录编码过程中的信息 ,用于调试 。
B. 2. 3. 1. 6 ReconFile
类别 :文本 。
描述 :制定重建图像视频序列文件的文件名 。
B. 2. 3. 1. 7 OutputFile
类别 :文本 。
描述 :指定输出的 AVS码流文件的文件名 。
示例 :
lencod. exe-p InputFile= " d:/seq/football_ 176x144_ 15. yuv " -p
OutputFile= ”football. avs”
B. 2. 3. 1. 8 FrameRate
类别 :正整数 。
描述 :指定输 入 视 频 序 列 的 帧 率 。 参 考 软 件 支 持 8 种 帧 率 , 它 们 与 FrameRate 的 对 应 关 系 见表 B. 2。
表 B. 2 FrameRate与帧率的对应关系
FrameRate
帧率(帧/s)
1
24000/1001
2
24
3
25
4
30 000/1001
5
30
6
50
7
60 000/1001
8
60
6
GB/T 20090.5—2012
B. 2. 3. 1. 9 ChromaFormat
类别 :整数 。
2 为 4 ∶ 2 ∶ 2模式 。
描述 :指定输入视频序列的亮度色度格式 。ChromaFormat= 1 为 4 ∶ 2 ∶ 0 模式;ChromaFormat=
说明 :参考软件目前仅支持 4 ∶ 2 ∶ 0模式 。
B. 2. 3. 2 编码器控制参数
B. 2. 3. 2. 1 ProfileID
类别 :整数 。
描述 :定义编码器所使用档次 ,32为基准档次 。
说明 : 目前参考软件仅支持基准档次 。
B. 2. 3. 2. 2 LevelID
类别 :整数 。
描述 :定义编码器所使用级别 ,LevelID与级别的对应关系见表 B. 3。
表 B. 3 LevelID 与级别的对应关系
LevelID
档次
16
2. 0
32
4. 0
34
4. 2
64
6. 0
66
6. 2
B. 2. 3. 2. 3 IntraPeriod
类别 :整数 。
描述 :定义 I帧出现的周期 ,B 帧不计 。若其值为 0,则除第一帧外不出现 I帧 。
示例 :编码此结构的码流 :IBBPBBIBBPBBI。
= = = =
lencod. exe-p FramesToBeEncoded 5 -pFrameSkip 2 -p NumberBFrames 2 -pIntraPeriod 2
B. 2. 3. 2. 4 VECPeriod
类别 :整数 。
描述 :定义 video editcode出现的周期 , 以 IntraPeriod 为单位 ,也就是说,video edit code只在 I帧
前面出现 。如果 VECPeriod=0,则 video editcode 不出现 。参见 B. 2. 3. 2. 5。
B. 2. 3. 2. 5 SeqHeaderPeriod
类别 :整数 。
描述 :定义序列头出现的周期 , 以 IntraPeriod为单位 。也就是说 ,序列头只在 I帧前面出现 。如果
7
GB/T 20090.5—2012
示例 :编码此结构的码流(h)IBBPBBIBBPBB(h)I, (h)为序列头 。
说明 : I(S)n(e)traP(qH)eeriod(aderP)0(ri)o时(d)e(0)q,H(则)de(列)rP(头)eiod必须为 0(在第一个 I)帧。前面出现 。
= = = = =
lencod. exe-p FramesToBeEncoded 5 -pFrameSkip 2 -p NumberBFrames 2 -pIntraPeriod 2 -p SeqHeaderPeriod 2
B. 2. 3. 2. 6 QPFirstFrame
类别 :整数 。
描述 :指定所有 I条带中所用 QP值 。
说明 :此值范围为[0,63] 。
B. 2. 3. 2. 7 QPRemainingFrame
类别 :整数 。
描述 :指定所有 P条带中所用 QP值 。
说明 :此值范围为[0,63] 。
B. 2. 3. 2. 8 QPBPicture
类别 :整数 。
描述 :指定所有 B条带中所用 QP值 。
说明 :此值范围为[0,63] 。
B. 2. 3. 2. 9 UseHadamard
类别 :整数 。
描述 :指定在运动估计中亚像素搜索时是否使用 Hadmard 变换 。 UseHadamard= 0 则不使用 ,否则使用 。
B. 2. 3. 2. 10 SearchRange
类别 :整数 。
描述 :指定运动估计中的搜索范围 。
B. 2. 3. 2. 11 NumberReferenceFrames
类别 :正整数 。
描述 :参考帧的个数 ,用于 B条带和 P条带 。
说明 :此值的范围为[1,2] 。
B. 2. 3. 2. 12 InterSearch16× 16,InterSearch16× 8,InterSearch8× 16,InterSearch8× 8
类别 :整数 。
描述 :是否使用 16×16,16×8,8×16,8× 8 的宏块划分模式 。为 1则使用 ,为 0则不使用 。
B. 2. 3. 2. 13 FrameSkip
类别 :整数 。
描述 :指定相邻两个 I帧或 P 帧之间从输入视频序列中跳过的帧数 。此值为 0 则输入视频序列的各帧顺序被编码为 I帧或 P 帧 。参见 B. 2. 3. 1. 3及 B. 2. 3. 2. 14。
8
GB/T 20090.5—2012
说明 :此值不小于 NumberBFrames。
示例 :每隔一帧编码一帧 。
= =
lencod. exe-p FramesToBeEncoded 5 -pFrameSkip 1
B. 2. 3. 2. 14 NumberBFrames
类别 :整数 。
描述 :指定相邻两个 I帧或 P 帧之间插入 B 帧的个数 。参见 B. 2. 3. 1. 3及 B. 2. 3. 2. 13。此值为 0则不存在 B 帧 。
说明 :此值不大于 FrameSkip。
B. 2. 3. 2. 15 RDOptimization
类别 :整数 。
描述 :指定是否采用 RDO 编码优化 。此值不为 0采用 RDO,否则不采用 。
B. 2. 3. 2. 16 LoopFilterDisable
类别 :整数 。
描述 :指定是否关闭环路滤波 。此值为 0使用环路滤波 ,否则关闭环路滤波 。
B. 2. 3. 2. 17 LoopFilterParameter
类别 :整数 。
描述 :指定是否使用默认环路滤波参数 。此值为 0使用默认环路滤波参数 ,否则应明确给定环路滤波参数 ,参见 B. 2. 3. 2. 18。
B. 2. 3. 2. 18 LoopFilterAlphaOffset,LoopFilterBetaOffset
类别 :整数 。
描述 :给定环路滤波参数 , 即标准中的 alpha_c_offset和 beta_offset语法元素 。
说明 :要求 LoopFilterParameter不为 0。
B. 2. 3. 2. 19 NumberOfRowsInSlice
类别 :整数 。
描述 :指定每个条带包含的宏块行数 。为 0则一个条带就是一帧 。
说明 :此值不能超过一个编码图像的最大宏块行数 。
B. 2. 3. 2. 20 WeightEnable
类别 :整数 。
描述 :指定是否使用加权预测 。此值为 1使用加权预测 ,否则不用 。
相关推荐
- GB/T 20139.1-2016 电气绝缘系统 已确定等级的电气绝缘系统(EIS)组分调整的热评定 第1部分:散绕绕组EIS
- GB/T 41515-2022 涂布机术语
- GB/T 37243-2019 危险化学品生产装置和储存设施外部安全防护距离确定方法
- GB/T 27050.2-2006 合格评定 供方的符合性声明 第2部分:支持性文件
- GB/T 5621-2008 凿岩机械与气动工具 性能试验方法
- GB/Z 41305.1-2022 环境条件 电子设备振动和冲击 第1部分:动力学数据的验证过程
- GB 55037-2022 建筑防火通用规范
- GB/T 41749-2022 热轧型钢表面质量一般要求
- GB∕T 40383-2021 商品级双辊铸轧热轧碳素钢薄钢板及钢带
- GB/T 32533-2016 高强钢焊条


