RBSP、SODB、EBSP三者的区别和联系 SPS: sequence parameter sets

SODB:最原始的编码数据,没有任何附加数据
RBSP:在 SODB 的基础上加了rbsp_stop_ont_bit(bit 值为 1)并用 0 按字节补位对齐
EBSP:在 RBSP 的基础上增加了防止伪起始码字节(0X03)

 

SPS: sequence parameter sets
它指的是码流对应的profile.

1.1 基线profile(Baseline profile)
     遵循基线profile的码流应该遵循以下的约束:

     a) 只有I和P切片存在
      b) NAL单元流不应该有范围在2到4的nal_unit_type值,包括2和4.
     c) 序列参数集(sps)的frame_mbs_only_fag(之后介绍)应该等于1
     d) 图象参数值(psp)的weighted_pred_flag和weighted_bipred_idc都应该为0
     e) 图象参数值(psp)的entropy_coding_mode_flag应该等于0
      f) 图象参数值(psp)的num_slice_groups_minus1应该在0到7之间,包括0和7**psp部分参数含义在关于psp的文章中给出。
      g) 对于基线profile对应的level度应该满足.


       符合基线profile的码流的profile_idc被赋66.符合一定level的基线Baseline的解码器应该可以解码所有的profile_idc等于66的码流或constrained_set0_flag(等会介绍)为1而且level_idc(在level部分介绍)少于或等于一个指定的level的码流。

1.2 主profile(Main profile)
     符合主profile的码流应该遵循以下的约束:

a) 只有I,P,B切片存在.
b) NAL单元流不包括nal_unit_type值范围在2-4之内的值。包括2和4.
c) 不能允许有随意顺序的切片
d) 图像参数集(psp)的num_slice_groups_minus1应该只为0
e) 图像参数集(psp)的redundant_pic_cnt_present_flag应该只为0
f) 对于主profile所要求的level级需要达到。


      符合主profile的码流的profile_idc应为77。符合指定level的主profile的解码器应该可以解码所有的profile_idc为77的或constrained_set1_flag值为1且level_idc值小于或等于指定level的码流。

1.3 扩展profile(Extended profile)
符合扩展profile的码流应该遵循以下的约束:

a) 序列参数集的direct_8x8_inference_flag值应该为1
b) 图像参数集的entropy_coding_mode_flag值应该为0
c) 图像参数集的num_slice_groups_minus1的值范围为0到7,包括0和7
d) 对于扩展profile指定的level级应该被达到


       符合指定level级的扩展profile的解码器可以解码所有的profile_idc值为88的或constrained_set2_flag值为1的,而且level_idc小于等于指定level级的码流。

       符合指定level级的扩展profile的解码器可以解码所有的profile_idc值为66的或constrained_set0_flag值为1的,而且level_idc小于等于指定level级的码流。


当constrained_set0_flag值为1的时候,就说明码流应该遵循基线profile(Baseline profile)的所有约束.constrained_set0_flag值为0时,说明码流不一定要遵循基线profile的所有约束。
当constrained_set1_flag值为1的时候,就说明码流应该遵循主profile(Main profile)的所有约束.constrained_set1_flag值为0时,说明码流不一定要遵循主profile的所有约束。
当constrained_set2_flag值为1的时候,就说明码流应该遵循扩展profile(Extended profile)的所有约束.constrained_set2_flag值为0时,说明码流不一定要遵循扩展profile的所有约束。

注意:当constraint_set0_flag,constraint_set1_flag或constraint_set2_flag中不只一个值为1的话,那么码流必须满足所有相应指明的profile约束。
Reserved. Set to 0.
Reserved. Set to 0.
它指的是码流对应的level级.

5.1 独立于profile的level约束
让fR是这样一个变量:
a) 如果图像n是一帧,fR设为1/172
b) 如果图像n是一个场,fR设为1/(172*2)

任何profile下的指定的level都应该满足如下约束:
a) 理论上可访问单元n从CPB中的移除时间满足这样的约束:t(n)-t(n-1)要比Max(PicSizeInMbs,MaxMBPS,fR)值大或相等,MaxMBPS是说在level表中指出的对于图像n的值,PicSizeInMbs是指在图像n中的宏块数。
b) 如果图像n是一个输出图像而且它不是码流的最后一个输出图象,从DPB中取出的连续的输出图象差满足:Dt(n) >= Max(PicSizeInMbs, MaxMBPS, fR), MaxMBPS是指对于图象n来说的相应的值。PicSizeInMbs指图象n的宏块。
c) 对于可访问单元0的NumBytesInNALunit变量的总和少于或等于256*ChromaFormatFactor*(PicSizeInMbs+MaxMBPS*tr(0)-trn(0)/MinCR,MaxMBPS和MinCR是图象0在level表中相应的值,PicSizeInMbs是图象0的宏块数量。
d) 对于可访问单元n的NumBytesInNALunit值的总和是小于或等于256*ChromaFormatFactor*MaxMBPS*(tr(n)-trn(n-1))/MinCR,MaxMBPS和MinCR的值是图像n在level级表中对应的值。
e) PicWidthInMbs * FrameHeightInMbs <= MaxFS, MaxFS是在level表中指定的值。
f) PicWidthInMbs <= Sqrt(MaxFS * 8)
g) FrameHeightInMbs <= Sqrt(MaxFS * 8)
h) max_dec_frame_buffering <=MaxDpbSize, MaxDpbSize等于Min(1024 * MaxDPB / (PicWidthInMbs * FrameHeightInMbs * 256 * ChromaFormatFactor,16),MaxDPB是对于1024字节单元的MaxDPB值,max_dec_frame_buffering也叫做DPB大小值。
i) 对于VCL HRD参数值,至少对于一个SchedSelIdx值来说,码率BitRate[SchedSelIdx] <= 1000 * MaxBR且CpbSize[SchedSelIdx] <= 1000 * MaxCPB。MaxBR和MaxCPB是对于1000bits/s和1000位单元对应于level级表的值。码流应该为0到cpb_cnt_minus1中的一个值,包括0和cpb_cnt_minus1.CpbSize[SchedSelIdx]也叫做CPB大小值。
j) 对于NAL HRD参数来说,BitRate[SchSelIdx] <= 1200 * MaxBR且CpbSize[SchedSelIdx] <= 1200 * MaxCPB,MaxBR和MaxCPB是在1200bits/s和1200位的单元值在极限level下的值。码流应该满足至少SchedSelIdx值从0到cpb_cnt_minus1中的一个值。
k) 在亮度帧采样中,垂直运动向量元素范围不能超过MaxVmvR,MaxVmvR值在level极限表中提供
l) 在亮度帧采样单元中,水平运动向量范围不能超过-2048到2047.75,包括-2048和2047.75。
m) 按解码顺序的两个连续的宏愉的运动向量的数量不超过MaxMvsPer2Mb(对于当前宏块的最后一个切片和下一个宏块的第一个切片也适用),MaxMvsPer2Mb值在level极限表中提供.
n) 对于任何宏块的macroblock_layer()的位数值都不能大于128 + 2048 * ChromaFormatFactor.依赖于entropy_coding_mode_flag值,macroblock_layer()的值由如下方式计算
如果entropy_coding_mode_flag值为0的话,macroblock_layer()的值由macroblock_layer()的对于一个macroblock的语法结构给出
其他情况下,对于一个宏块的macroblock_layer()值是由read_bits(1)给出的.
5.2 与profile相关的level级
对于基线profile,主profile和扩展profile的相应的level级约束在H.264的文档中有表可查。
seq_parameter_set_id指定了由图像参数集指明的序列参数集。seq_parameter_set_id值应该是从0到31,包括0和31
注意:当可用的情况下,编码器应该在sps值不同的情况下使用不同的seq_parameter_set_id值,而不是变化某一特定值的seq_parameter_set_id的参数集的语法结构中的值。
log2_max_frame_num_minus4指定了变量MaxFrameNum的值, MaxFrameNum = 2(log2_max_frame_num_minus4+4)
log2_max_frame_num_minus的值应该在0到12之间,包括0和12.
pic_order_cnt_type指定了解码图像顺序的方法。pic_order_cnt_type的值是0,1,2。
pic_order_cnt_type在当一个编码视频序列有如下限定时不为2
a) 包含非参考帧的可访问单元,并紧接着一个包含非参考可访问单元
b) 两个可访问单元,它们分别包含两个场中的一个,它们一块儿组成了一个互补的非参考场对,被紧接着一个包括非参考图像的可访问单元。
c) 一个包含非参考场的可访问单元,并紧接着一个包含另一个非参考图像的可访问单元,它们不组成互补的非参考场对。
log2_max_pic_order_cnt_lsb_minus4指出变量MaxPicOrderCntLsb的值,它是在解码过程中使用到的图像顺序计算值:
MaxPicOrderCntLsb = 2(log2_max_pic_order_cnt_lsb_minus4+4)
log2_max_pic_order_cnt_lsb_minus4的值为包括0和12以及它们之间的值。
delta_pic_order_always_zero_flag等于1的时候表示当delta_pic_order_cnt[0]和delta_pic_order_cnt[1]在序列的切片头中不存在,并被认为是0。
delta_pic_order_always_zero_flag值等于0时表示delta_pic_order_cnt[0]在序列的切片头中存在而delta_pic_order_cnt[1]可能在序列的切片头中存在。
offset_for_non_ref_pic被用来计算一个非参考图像的图像顺序值。offset_for_non_ref_pic值取值范围为(-2)^(31)到2^(31)-1,包括边界值。
offset_for_top_to_bottom_field被用来计算一帧中的下场的图像顺序值。
offset_for_top_to_bottom_field值的取值范围为(-2)^(31)到(2)^(31)-1,包括边界值。
num_ref_frames_in_pic_order_cnt_cycle在解码过程中被用来计算图像顺序值。
num_ref_frames_in_pic_order_cnt_cycle在0到255之间取值,包括边界值。
[i]
offset_for_ref_frame[i]是一列num_ref_frames_in_pic_order_cnt_cycle中的一个元素,它被在解码过程的解码顺序值中使用。
offset_for_ref_frame[i]的值为(-2)^31到(2)^(31)-1,包括边界值。
num_ref_frames指定了长期的和短期的参考帧的最大总数目,互补的参考场对和在解码过程。
gaps_in_frame_num_value_allowed_flag值指明了frame_num允许的值和解码过程中的frame_num的差距值。
pic_width_in_mbs_minus1加1指明了对于每个解码图像中的宽度值。在宏块单元中的图像宽度的变量值为:
PicWidthInMbs = pic_width_in_mbs_minus1+1;
对于亮度元素来说图像宽度变量的值:
PicWidthInSamplesL = PicWidthInMbs * 16;
对于色度元素来说图像宽度变量的值:
PicWidthInSamplesC = PicWidthInMbs * 8;
pic_height_in_map_units_minus1指明了解码帧或场中的一个切片组的高度。变量PicHeightInMapUnits的值和PicSizeInMapUnits:
PicHeightInMapUnits = pic_height_in_map_units_minus1 + 1;
PicSizeInMapUnits = PicWidthInMbs * PicHeightInMapUnits
frame_mbs_only_flag等于0指明了视频序列的编码图象可能是编码场或编码帧。frame_mbs_only_flag等于1指明了每个编码视频序列的编码图像都是只含帧宏块的编码帧。
依赖于frame_mbs_only_flag的值,pic_height_in_map_units_minus1如下定义:
如frame_mbs_only_flag等于0,pic_height_in_map_units_minus1就是宏块单元的场高
如frame_mbs_only_flag等于1,pic_height_in_map_units_minus1就是宏块单元的场宽
FrameHeightInMbs的值:
FrameheightInMbs = ( 2 - frame_mbs_only_flag ) * PicHeightInMapUnits
mb_adaptive_frame_field_flag等于0表明在一个图像内不能切换使用帧和场宏块。
mb_adaptive_frame_field_flag等于1表示在一帧中有可能使用场和帧的切换,当mb_adaptive_frame_field_flag没有设定的时候,应该赋给0.
direct_8x8_inference_flag指明了在亮度运动向量生成B_Skip,B_Direct_16x16和B_Direct_8x8的方法。
当frame_mbs_only_flag为0时,direct_8x8_inference_flag应为1
frame_cropping_flag等于1表明在sps中下一个使用的帧剪切偏移量参数。frame_cropping_flag等于0表明帧剪切偏移量不存在。
指明了在一个窗中一帧的采样值。
vui_parameters_present_flag等于1表示vui_parameters()在码流中是存在的,vui_parameters_present_flag等于0表明vui_parameters()在码流中不存在。
rbsp_stop_one_bit        恒等于1
rbsp_alignment_zero_bit      恒等于0.
Note:
       More detail need refer to
       1). Advanced video coding for generic audiovisual services.pdf P63.
       2). Refer to ISOIEC 14496-10-2005-PDAM 3.doc P40


rbsp_trailing_bits( ) { C Descriptor
    rbsp_stop_one_bit /* equal to 1 */ All f(1)
    while( !byte_aligned( ) )    
       rbsp_alignment_zero_bit /* equal to 0 */ All f(1)
}    


seq_parameter_set_rbsp( ) { C Descriptor
    profile_idc 0 u(8)
    constraint_set0_flag 0 u(1)
    constraint_set1_flag 0 u(1)
    constraint_set2_flag 0 u(1)
    constraint_set3_flag 0 u(1)
    reserved_zero_4bits /* equal to 0 */ 0 u(4)
    level_idc 0 u(8)
    seq_parameter_set_id 0 ue(v)
    if( profile_idc = = 83 ) {    
       seq_parameter_set_svc_extension( ) /* specified in Annex F */    
    }    
    if( profile_idc = = 100 | | profile_idc = = 110 | |
        profile_idc = = 122 | | profile_idc = = 144 | |
        profile_idc = = 83 ) {    
       chroma_format_idc 0 ue(v)
       if( chroma_format_idc = = 3 )    
           residual_colour_transform_flag 0 u(1)
       bit_depth_luma_minus8 0 ue(v)
       bit_depth_chroma_minus8 0 ue(v)
       qpprime_y_zero_transform_bypass_flag 0 u(1)
       seq_scaling_matrix_present_flag 0 u(1)
       if( seq_scaling_matrix_present_flag )    
           for( i = 0; i < 8; i++ ) {    
               seq_scaling_list_present_flag[ i ] 0 u(1)
               if( seq_scaling_list_present_flag[ i ] )    
                  if( i < 6 )    
                      scaling_list( ScalingList4x4[ i ], 16,
                                       UseDefaultScalingMatrix4x4Flag[ i ]) 0  
                  else    
                      scaling_list( ScalingList8x8[ i – 6 ], 64,
                                       UseDefaultScalingMatrix8x8Flag[ i – 6 ] ) 0  
           }    
    }    
    log2_max_frame_num_minus4 0 ue(v)
    pic_order_cnt_type 0 ue(v)
    if( pic_order_cnt_type = = 0 )    
       log2_max_pic_order_cnt_lsb_minus4 0 ue(v)
    else if( pic_order_cnt_type = = 1 ) {    
        0 u(1)
       offset_for_non_ref_pic 0 se(v)
       offset_for_top_to_bottom_field 0 se(v)
       num_ref_frames_in_pic_order_cnt_cycle 0 ue(v)
       for( i = 0; i < num_ref_frames_in_pic_order_cnt_cycle; i++ )    
           offset_for_ref_frame[ i ] 0 se(v)
    }    
    num_ref_frames 0 ue(v)
    gaps_in_frame_num_value_allowed_flag 0 u(1)
    pic_width_in_mbs_minus1 0 ue(v)
    pic_height_in_map_units_minus1 0 ue(v)
    frame_mbs_only_flag 0 u(1)
    if( !frame_mbs_only_flag )    
       mb_adaptive_frame_field_flag 0 u(1)
    direct_8x8_inference_flag 0 u(1)
    frame_cropping_flag 0 u(1)
    if( frame_cropping_flag ) {    
       frame_crop_left_offset 0 ue(v)
       frame_crop_right_offset 0 ue(v)
       frame_crop_top_offset 0 ue(v)
       frame_crop_bottom_offset 0 ue(v)
    }    
    vui_parameters_present_flag 0 u(1)
    if( vui_parameters_present_flag )    
       vui_parameters( ) 0  
    rbsp_trailing_bits( ) 0  
}    

delta_pic_order_cnt_bottom 表示一个编码帧的底场和顶场的图像顺序数之间的差.


PicInterlace代表帧级隔行扫描,MbInterlace代表宏块级隔行扫描
PicInterlace             = 0     # Picture AFF    (0: frame coding, 1: field coding, 2:adaptive frame/field coding)
MbInterlace              = 0     # Macroblock AFF (0: frame coding, 1: field coding, 2:adaptive frame/field coding) .


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiangdf/archive/2009/06/08/4252071.aspx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python基础入门系列】第04天:Python 流程控制

在编程的世界中&#xff0c;流程控制是程序员运行的基础&#xff0c;流程控制决定了程序按照什么样的方式去执行&#xff0c;本节给大家介绍 Python 流程控制相关语法。 if 语句 if 语句表示如何发生什么样的条件&#xff0c;执行什么样的逻辑。 Python程序语言指定任何非0和…

UGLY NUMBERS II

不去重错误版 17.4.23 long isMin (long a, long b) { if (a > b) a b; return a;}long nthUglyNumber(long n) { long *l (long*)malloc(n*sizeof(long)); for (long i 0; i < n; i) l[i] 0; l[0] 1; long p2, p3, p5 0; for(long i 0; i < n - 1; i) { l[i …

excel合并两列内容_还在为合并WPS表格(Excel)中两列内容而犯愁?此方法简单高效...

我们在处理WPS表格(Excel)数据时&#xff0c;时常需要将两列甚至更多列的内容合并显示在同一列中&#xff0c;就像这样&#xff1a;这个时候大家是怎么解决的呢&#xff1f;路人&#xff1a;复制粘贴So easy&#xff01;小杜&#xff1a;不止两三行啊……路人&#xff1a;复制粘…

Css基本语法及页面引用

Css基本语法及页面引用 CSS代码出现在三个地方 </head><body><b style....>兄弟连</b> <!-- 1. 行内样式,内联样式, 作为 style属性值 --></body>css基本语法 css的定义方法是&#xff1a; 选择器 { 属性:值; 属性:值; 属性:值;} 选…

【Python基础入门系列】第05天:Python函数

前面我们写过九九乘法表&#xff0c;但如果我要七七乘法表或五五乘法表的话&#xff0c;你会看到三者代码极其类似&#xff0c;只是循环变量不同&#xff0c;那么如何做到代码重用&#xff0c;而不是简单拷贝黏贴修改呢&#xff0c;其实可是使用函数完成这一功能! 先来试着看一…

【Java基础】 JQuery的常用操作

jQuery的常用操作一、隐藏显示对象id为test的元素的display修改成了“none”&#xff0c;即隐藏了id为test的元素&#xff1a;$(#test).css(display,none)或$(#test).style.display"none"我们经常用到的是切换一个元素的隐藏与现实&#xff0c;下面给出代码&#xff…

store_coding_state (cs_cm)的作用

// 以下是对当前宏块进行编码&#xff08;这里的编码主要目的是为了计算按当前组合方式编码// 生成码流的大小&#xff0c;因此编码前要保存当前编码状态&#xff0c;编码完成后必须恢复现场&#xff09;// S T O R E C O D I N G S T A T E //-----------------------…

第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B lca水 D 思维,找规律...

第十五届北京师范大学程序设计竞赛决赛&#xff08;网络同步赛&#xff09; B. Borrow Classroom 题意&#xff1a;一棵树&#xff0c;点 1为根&#xff0c;一个人从点 b到 点 c再到点 1&#xff0c;第二个人从点 a出发&#xff0c;问第二个人能否截住第一个人。 tags&#xff…

macbook所有型号大全_苹果笔记本型号大全

很多朋友在选购苹果笔记本也就是MacBook的时候都会考虑究竟买哪一个系列会比较好&#xff0c;下面就为大家介绍一下苹果笔记本型号大全都有什么&#xff0c;希望以下的介绍能够帮助到您。苹果笔记本型号大全目前苹果笔记本有以下的几个主要的型号&#xff1a;1、MacBook Air是目…

【Python基础入门系列】第06天:Python 模块和包

在计算机程序的开发过程中&#xff0c;随着程序代码越写越多&#xff0c;在一个文件里代码就会越来越长&#xff0c;越来越不容易维护。 为了编写可维护的代码&#xff0c;我们把很多函数分组&#xff0c;分别放到不同的文件里&#xff0c;这样&#xff0c;每个文件包含的代码…

Css中的选择器

Css选择器 CSS代码用来修饰 HTML元素. 要用CSS代码设置样式, 首先要选中HTML元素. 用来选中 元素的 代码称为 选择器, 或 选择符. html元素是指, 标签与标签包裹内容的整体. 常用的选择器有如下几种&#xff1a; 1、标签选择器 标签选择器&#xff0c;此种选择器影响范围大…

福州联通与市政府携手 共筑新型智慧城市

“福州联通今年将投入专项资金&#xff0c;在福州市区建设NB-IoT网络&#xff0c;包括2000个载扇部署&#xff0c;建设一张覆盖完备、性能领先的窄带物联网。”据介绍&#xff0c;去年9月&#xff0c;福州联通与福州市政府正式签署《共同推进窄带物联网&#xff08;NB-IoT&…

流媒体技术的国内外动态

1、大规模流媒体应用中关键技术的研究 支持大规模用户在线使用的流媒体应用是Internet中极富潜力的一项“重磅级用”,但由于Internet缺乏服务质量(QoS)与相应的安全保障,并且网络和终端系统又存在着较大的异构性,这使得在Internet上构建支持大规模用户的在线流媒体应用面临很多…

空间直线与平面的交点

这内容属于计算几何&#xff0c;在 3D游戏开发编程基础 或者在游戏开发中的数学和物理算法 这种资料上也可以找到相关的内容和代码。或者更广泛点称为是计算机图形学&#xff0c; 接下来我们进入正题&#xff0c;如果直线不与平面平行&#xff0c;将存在交点。如下图所示&#…

iphone导出视频 无法连接到设备_拷贝iphone照片,显示无法连接设备?TRIZ 3秒钟解决...

手机存储满了&#xff0c;想把手机里面的照片和视频拷贝出来。 又不想交给苹果cloud的“苹果税”。USB手动连上IPHONE&#xff0c;结果每次复制了几百兆&#xff0c;就会弹出“无法连接设备”&#xff0c;导致拷贝失败。并且每次重新连接之后&#xff0c;删掉的照片又出现在手机…

【Python基础入门系列】第07天:Python 数据结构--序列

python内置序列类型最常见的是列表&#xff0c;元组和字符串。&#xff08;序列是python中最基础的数据结构&#xff0c;而数据结构是计算机存储&#xff0c;组织数据的方式。&#xff09; 另外还提供了字典和集合的数据结构&#xff0c;但他们属于无顺序的数据集合体&#xf…

Css颜色和文本字体

Css颜色,文本字体 css颜色表示法 颜色名表示&#xff0c;比如&#xff1a;red 红色&#xff0c;gold 金色16进制数值表示&#xff0c;比如&#xff1a;#ff0000 表示红色&#xff0c;这种可以简写成 #f00RGB颜色: 红(R)、绿(G)、蓝(B)三个颜色通道的变化 background-color: r…

springBoot(20):使用Spring Session实现集群-redis

一、session集群的解决方案1.1、扩展指定server利用Servlet容器提供的插件功能&#xff0c;自定义HttpSession的创建和管理策略&#xff0c;并通过配置的方式替换掉默认的策略。缺点&#xff1a;耦合Tomcat/Jetty等Servlet容器&#xff0c;不能随意更换容器。1.2、利用Filter利…

docker desktop ubuntu镜像_原创 | Docker入门,看了不理解,假一赔命

写在前面这篇博客适合谁&#xff1f;对于Docker并不了解&#xff0c;只是有一点模糊的感觉&#xff0c;觉得Docker可以当成虚拟机用之类的只是下载了Docker软件&#xff0c;对于怎么配置&#xff0c;怎么玩&#xff0c;第一步干什么&#xff0c;完全一无所知其二&#xff0c;我…

Windows - Windows下安装MSI程序遇到2503和2502错误

三个步骤可以解决这个问题&#xff1a; 1&#xff09; 以管理员身份开启命令行模式并键入msiexec /package <msi文件路径> 2&#xff09; 修改组策略 计算机配置 ->> 管理模板 ->> Windows组件 ->> Windows Installer ->> 始终以提升的权限进行安…