




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9.分析过程原始字节系列荷载(RBSP)的比特值作为这个过程的输入。这个过程的输出是语法元素的值。在subclause7.3的语法表里列出的某个语法元素用ue(v),me(v),te(v)(参见subclause9.1),ce(v)(参见subclause9.2)或ae(v)(参见subclause9.3)描述时,这个过程将被调用。9.1 Parsing process for Exp-Golomb codes在subclause7.3的语法表里列出的某个语法元素用ue(v),me(v),se(v)或者te(v)描述时,这个过程将被调用。对于subclause7.3.4和.7.3.5中的语法元素,只有在熵码模式标志为0的时候才调用这个过程。 原始字节系列荷载(RBSP)的比特值作为这个过程的输入。 这个过程的输出是语法元素的值。Exp-Golomb编码的语法元素码为ue(v),me(v)或者se(v)。语法元素用te(v)编码的是精简了的Exp-Golomb编码。这些语法元素的分析过程开始时先读取比特流最近位置的比特值包括第一个非0比特,同时计算值为0的主要比特的数目。这个处理过程等效于:leadingZeroBits = -1;for( b = 0; !b; leadingZeroBits+ )b = read_bits( 1 )可变值codeNum按下式赋值:codeNum = 2leadingZeroBits 1 + read_bits( leadingZeroBits )read_bits( leadingZeroBits )的返回值可以理解为具有最高有效位的无符号数的二进制表示。表9-1用分离字符串的方式(分为前缀和后缀)说明了Exp-Golomb码的字符结构。前缀就是上面计算leadingZeroBits的伪代码中分列的比特位,在表9-1中宗列中用0或1表示。后缀就是计算codeNum中分列的比特位,在表9-1中用xi(希腊第十四个字母)表示,其中i的范围为0leadingZeroBits1。每个xi只能取值0或者1。表9-1 带前缀和后缀的比特字符串和codeNum范围的分配Bit string formRange of codeNum 10 0 1 x01-2 0 0 1 x1 x03-6 0 0 0 1 x2 x1 x07-14 0 0 0 0 1 x3 x2 x1 x015-300 0 0 0 0 1 x4 x3 x2 x1 x031-62Table 91图示比特字符串和codeNum值Table 01 Exp-Golomb比特字符串和codeNum显形式表示Bit stringcodeNum100 1 010 1 120 0 1 0 030 0 1 0 140 0 1 1 050 0 1 1 160 0 0 1 0 0 070 0 0 1 0 0 180 0 0 1 0 1 09依照表示符,一个语法元素得值由以下各项决定。如果语法元素用ue(v)编码,它的值救等于codeNum。如果语法元素用se(v)编码,它的值就是调用subclause9.1.1里的无符号Exp-Golomb码映射进程以codeNum为输入值的结果。如果语法元素用me(v)编码,它的值就是调用subclause9.1.2里的码图映射进程以codeNum为输入值的结果。另外(如果语法元素用te(v)编码),语法元素的范围应该首先确定。这个范围可能从0到x,x大于或者等于1,并且x的值由一下几项决定:如果x大于1,codeNum和语法元素值应该和用ue(v)编码的语法元素用同样的方式计算。否则(即x等于1),codeNum(和语法元素值一样)的分析过程相当于:b = read_bits( 1 )codeNum = !b9.1.1 有符号Exp-Golomb码的映射过程这个过程的输入为9.1章节中说明指定的codeNum。这个过程的输出是编码为se(v)的语法元素的值。CodeNum的赋值规则见表9-3。表9-3 对有符号Exp-Golomb 码的语法元素se(v)的codeNum的复制codeNumsyntax element value0011213242k(1)k+1 Ceil( k2 )9.1.2 叠层编码的映射过程这个过程的输入为9.1章节中说明指定的codeNum。这个过程的输出是编码为me(v)的语法元素coded_block_pattern的值。表9-4给除了当宏预测模块为Intra_4x4或者Inter时coded_block_pattern对codeNum的赋值。表9-4 宏预测模块中coded_block_pattern对codeNum的赋值codeNumcoded_block_patternIntra_4x4Inter0470131162151302423452786293273038759111010131211141512394713437144511154613161614173618591910312012352119372221422326442428332535342637362742402844392914330245314463281733171834182035202436241937621389263922284025234132274233294334304436229.2 系数可变标准的内容自适应变长编码(CAVLC)分析过程当子章节7.3.5.3.1中分析语法元素描述符为ce(v)或者entropy_coding_mode_flag值为0时,这个过程被调用。这个过程的输入是slice data 比特流,非零变系数标准中的一个最大值maxNumCoeff,变系数标准当前模块luma块指针luma4x4BlkIdx或chroma块指针chroma4x4BlkIdx。这个过程输出coefflevel列表。包含变系数标准中luma块指针luma4x4BlkIdx或chroma块指针chroma4x4BlkIdx。分析过程按下述步骤进行:1所以coefflevel列表中的可变系数包括从0到maxNumcoeff1所以指针设为0。2非零可变系数标准数TotalCoeff和最后一个可变系数TarilingOnes由coeff_token(参看子章节9.2.1)给出。如下步骤。如果非零可变系数标准数TotalCoeff等于0,coeffLevel列表包含0值返回。不再进行下一步操作。 否则,下列步骤将被执行。a非零可变系数标准值由trailing_ones_sign_flag, level_prefix,和level_suffix给出(参看9.2.2章节)。b非零可变系数标准前运行的零可变系数标准由total_zeros和run_before(参看9.2.3章节)。c等级和转向信息组合可在coefflevel列表中看出(参看9.2.4章节)。9.2.1Parsing process for total number of transform coefficient levels and trailing ones这个过程的输入是slice data 比特流,非零变系数标准中的一个最大值maxNumCoeff,变系数标准当前模块luma块指针luma4x4BlkIdx或chroma块指针chroma4x4BlkIdx。这个过程输出TotalCoeff(coeff_token)TrailingOnes(coeff_token)。语法元素coeff_token的解码可以用表9-5中最右边五列的五层视频编码中的一个。每层视频编码都指定一个TotalCoeff(coeff_token) 和 TrailingOnes(coeff_token)作为coeff_token的代码。视频层编码选择决定于nC的选择。nC由一下规则确定。-如果CAVLC分析过程被ChromaDCLevel调用,nC设置为1。-否则,应用以下规则。-CAVLC分析过程被Intra16x16DCLevel调用时,luma4x4BlkIdx设置为0。-变量blkA和blkB由以下规则决定。-如果CALVC分析过程被Intra16x16DCLevel, Intra16x16ACLevel, 或者 LumaLevel调用,则子章节6.4.7.3中提到的处理进程将以luma4x4BlkIdx作为输入,将输出分配到mbAddrA, mbAddrB, luma4x4BlkIdxA, 和luma4x4BlkIdxB。mbAddrAluma4x4BlkIdxA 定义的4x4的luma块赋值给blkA,mbAddrBluma4x4BlkIdxB定义的4x4的luma模块赋值给blkB。-否则(CAVLC分析过程被ChromaACLevel调用),章节6.4.7.4中提到的处理进程将以chroma4x4BlkIdx为输入,将输出赋值到mbAddrA,mbAddrB,chroma4x4BlkIdxA和chroma4x4BlkIdxB。mbAddrAiCbCrchroma4x4BlkIdxA 定义的4x4chroma块赋值给blkA,mbAddrBiCbCrluma4x4BlkIdxB定义的4x4chroma块赋值给blkB。-用nA和nB作为非零变系数标准(由TotalCoeff(coeff_token)给定)数,分别在变系数标准块blkA和blkB中定位于左边和顶部。-用N替换A和B,则mbAddrN,blkN和nN应用以下规则。-如果下列任何条件为真,nN设置为0。-mbAddrN非空。-当前宏模块用Intra预测模块编码,constrained_intra_pred_flag等于1,而且mbAddrN用预测编码,slice data分割应用(包括nal_unit_type的范围要在2和4之间)。-The macroblock mbAddrN has mb_type equal to P_Skip or B_Skip-宏模块mbAddrN里mb_type等于P_Skip或者B_Skip- CodedBlockPatternLuma 或者CodedBlockPatternChroma为0导致所有邻近模块blkN的AC剩余变系数为0。-否则,如果mbAddrN是I_PCM宏模块,nN设置为16。-否则,nN将设置为邻近模块blkN的TotalCoeff(coeff_token)值。注意-nA和nB的值由TotalCoeff(coeff_token)决定,不包含Intra 16x16宏模块中的DC可变系数和chroma块中的DC可变系数,因为这些是独立编码的。当顶层模块或左边属于Intra 16x16宏块或是一个chroma块,nA和nB就是非零AC可变系数。注意处理Intra16x16DCLevel时,nA和nB的值决定于邻近4x4模块的非零可变系数而不是决定于邻近16x16模块。-如果给定了nA和nB值,变量nC将由下决定。-如果mbAddrA和mbAddrB可变,则变量nC设置为(nAnB1)1。 -否则,nC设置为nAnB。包括Coeff_token编码产生的TotalCoeff(coeff_token)值应该在0至maxNumCoeff的范围内。表95 coeff_token到TotalCoeff( coeff_token) and TrailingOnes(coeff_token)的映射关系TrailingOnes(coeff_token)TotalCoeff(coeff_token)0 = nC 22 = nC 44 = nC 88 = nCnC = = -10011111110000 1101010001 010010 110011 110000 000001 1111011011100000 011020000 01110001 110010 110001 000001 00120001 000011 10111 10001 010001 102200101111010001 10001030000 0011 10000 1110010 000010 000000 11130000 01100010 100110 00010 010000 011230000 1010010 010111 00010 100000 010330001 1010111000010 110001 01040000 0001 110000 01110001 1110011 000000 10140000 0011 00001 100101 00011 010000 0011240000 01010001 010101 10011 100000 0010340000 11010010110011 110000 000050000 0000 1110000 01000001 0110100 00-150000 0001 100000 1100100 00100 01-250000 0010 10000 1010100 10100 10-350000 1000011 010100100 11-060000 0000 0111 10000 0011 10001 0010101 00-160000 0000 1100000 01100011 100101 01-260000 0001 010000 01010011 010101 10-360000 01000010 0010010101 11-070000 0000 0101 10000 0001 1110001 0000110 00-170000 0000 0111 00000 0011 00010 100110 01-270000 0000 1010000 0010 10010 010110 10-370000 0010 00001 0010000110 11-080000 0000 0100 00000 0001 0110000 11110111 00-180000 0000 0101 00000 0001 1100001 1100111 01-280000 0000 0110 10000 0001 1010001 1010111 10-380000 0001 000000 1000110 10111 11-090000 0000 0011 110000 0000 11110000 10111000 00-190000 0000 0011 100000 0001 0100000 11101000 01-290000 0000 0100 10000 0001 0010001 0101000 10-390000 0000 1000000 0010 00011 001000 11-0100000 0000 0010 110000 0000 10110000 0111 11001 00-1100000 0000 0010 100000 0000 11100000 10101001 01-2100000 0000 0011 010000 0000 11010000 11011001 10-3100000 0000 0110 00000 0001 1000001 1001001 11-0110000 0000 0001 1110000 0000 10000000 0101 11010 00-1110000 0000 0001 1100000 0000 10100000 0111 01010 01-2110000 0000 0010 010000 0000 10010000 10011010 10-3110000 0000 0011 000000 0001 0000000 11001010 11-0120000 0000 0001 0110000 0000 0111 10000 0100 01011 00-1120000 0000 0001 0100000 0000 0111 00000 0101 01011 01-2120000 0000 0001 1010000 0000 0110 10000 0110 11011 10-3120000 0000 0010 000000 0000 11000000 10001011 11-0130000 0000 0000 11110000 0000 0101 10000 0011 011100 00-1130000 0000 0000 0010000 0000 0101 00000 0011 11100 01-2130000 0000 0001 0010000 0000 0100 10000 0100 11100 10-3130000 0000 0001 1000000 0000 0110 00000 0110 01100 11-0140000 0000 0000 10110000 0000 0011 10000 0010 011101 00-1140000 0000 0000 11100000 0000 0010 110000 0011 001101 01-2140000 0000 0000 11010000 0000 0011 00000 0010 111101 10-3140000 0000 0001 0000000 0000 0100 00000 0010 101101 11-0150000 0000 0000 01110000 0000 0010 010000 0001 011110 00-1150000 0000 0000 10100000 0000 0010 000000 0010 001110 01-2150000 0000 0000 10010000 0000 0010 100000 0001 111110 10-3150000 0000 0000 11000000 0000 0000 10000 0001 101110 11-9.2.2 标准信息处理这个过程的输入是slice data 比特流,非零变系数标准中TotalCoeff和尾部可变系数标准TrailingOnes。 这个过程输出是一个包含可变系数标准的标准名列表。指针i初始化为0,然后通过下列步骤重复应用TrailingOnes进程对尾部可变系数标准进行解码:- 一个1位比特的语法元素trailing_ones_sign_flag用以下方式解码求值。- 如果trailing_ones_sign_flag等于0,则leveli值增加1。- 否则(trailing_ones_sign_flag等于1),则leveli值减1。- 指针i的值逐一增加。接下来尾部可变系数标准的解码,其可变后缀长度初始化如下。- 如果TotalCoeff(coeff_token)大于10且TrailingOnes(coeff_token)小于3,后缀长度设置为1。- 否则,(如果TotalCoeff(coeff_token)的值小于或者等于10,或者TrailingOnes(coeff_token)等于3),后缀长度设置为0。接着反复用( TotalCoeff(coeff_token) TrailingOnes(coeff_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年台州市黄岩区卫健系统公开招聘卫技人员26人考前自测高频考点模拟试题及参考答案详解1套
- 合作致辞发言稿
- 2025年阜阳临泉县陶老乡村干部招聘5人模拟试卷附答案详解(模拟题)
- 2025年甘肃庆阳环县事业单位引进高层次和急需紧缺人才(第二批)模拟试卷及一套完整答案详解
- 2025年浙江杭州市时代小学招聘校医1人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年鹤壁市山城区城市管理局招聘看护人员30人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025年甘肃人力委托招聘中石油酒泉加油站加油员考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年福建省福州市电子集团有限公司招聘30人考前自测高频考点模拟试题及答案详解(有一套)
- 2025年城市交通规划与智慧物流发展报告
- 2025年机械制造企业服务化转型中的服务产品组合优化报告
- 盛世华章迎国庆+天涯此时共中秋-2025-2026学年高二上学期庆国庆·迎中秋主题班会主题班会
- 2026年邮政储蓄银行秋季校园招聘考试参考试题及答案解析
- 顺丰员工安全培训内容课件
- 2002版干部履历表(贵州省)
- DL∕T 1396-2014 水电建设项目文件收集与档案整 理规范
- 行路难课件8省公开课一等奖新名师比赛一等奖课件
- 不忘初心混声四部合唱谱孟卫东编
- 防欺凌隐患排查和矛盾化解记录表
- 建设单位给施工单位的通知函范本
- 附件1建设工程项目超限判定表
- 食品安全自身检查记录表
评论
0/150
提交评论