Cbp解析方法及其装置的制作方法

文档序号:7810260阅读:486来源:国知局
专利名称:Cbp解析方法及其装置的制作方法
技术领域
本发明涉及视频处理领域,特别涉及RealVideo9的CBP解析。
背景技术
RealVideo9与标准H.263以及MPEG-4相似,同属基于预测变换的混合编码架构,在编码过程中分为4个主要部分:(I)将每帧视频分成像素块;(2)帧内预测,削减空间冗余;(3)通过运动估计和运动补偿进行帧间预侧,削减时间冗余;(4)通过对原始块和对应的预测块之间差别形成的残差块进行变换、量化和熵编码,进一步削减空间冗余。RealVide09增加了很多新的编码技术,大大提高了编码效率。但其高性能是以其编解码的复杂度的提高为代价的,编解码算法的复杂度直接影响到开发基于RealVideo9视频解码方案的效率。目前,RealVideo9的 CBP (Coded Block Pattern,编码块模式)有 24 比特,分别代表了 16个亮度的4 (像素)x4 (像素)块和8个色度的4 (像素)x4 (像素)块的编码情况,解析较复杂。在视频解码过程中所有视频码流都要经过CBP的解析运算,因此在整个混合编解码系统中它具有举足轻重的地位。下面对CBP编码基本原理进行具体说明。一个宏块的CBP共有24比特,分别代表了一个宏块的16个亮度4x4块和8个色度4x4块是否为零。如

图1所示,CBP由低位到高位依次为B0-B23。其中B0-B15分别对应16个4x4的亮度块(可理解为:B0-B15为16个表示亮度的CBP值),B6_B23分别对应8个4x4的色度块(可理解为:B6-B23为8个表示色度的CBP值)。编码时CBP主要分为三个部分:Cbp_dsc、8x8_dsc 和 CR。Cbp_dsc、8x8_dsc 和 CR 均称为句法兀素。其中,Cbp_dsc采用了 Canonic Huffman编码的方式,从整体上描述了宏块中8x8的亮度块和8x8的色度块是否为零,主要包含分量如图2所示。各分量意义如表1、表2所示。其中,Y0,Yl, Y2,Y3分别描述了一个亮度8x8块是否为零(如表I所示),CO, Cl,C2,C3分别描述了 2个色度4x4块是否为零(如表2所示)。
权利要求
1.一种CBP解析方法,其特征在于,包含以下步骤: 解析句法元素Cbp_dsc ; 将解析到的所述Cbp_dsc与OxF进行与操作,如果所述与操作的结果为零,则直接得到表示亮度的CBP值均为O的亮度CBP解析结果;如果所述与操作的结果不为零,则进行亮度CBP的解析,得到亮度CBP解析结果; 将解析到的所述Cbp_dsc右移4位,如果右移4位后的Cbp_dsc为零,则直接得到表示色度的CBP值均为O的色度CBP解析结果;如果右移4位后的Cbp_dsc不为零,则进行色度CBP的解析,得到色度CBP解析结果。
2.根据权利要求1所述的CBP解析方法,其特征在于,所述进行亮度CBP的解析的步骤中,包含以下子步骤: 查找预先存储的非零亮度块个数码表,得到非零的亮度8x8块的个数;其中,所述非零亮度块个数码表中索引 为η的元素的值,表示Cbp_dsc&0xF为η时非零的亮度8x8块的个数,所述非零亮度块个数码表中的第I个元素的索引为零; 以查找到的非零的亮度8x8块的个数为循环次数,根据8X8_dsc的编码公式依次解析得到每个亮度8x8块所包含的4个表示亮度的CBP值。
3.根据权利要求2所述的CBP解析方法,其特征在于,所述非零亮度块个数码表intcbp_luma_huf_num[16]为:int cbp_luma_huf_num[16] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4}。
4.根据权利要求2所述的CBP解析方法,其特征在于,所述进行亮度CBP的解析的步骤中,还包含以下子步骤: 在所述依次解析得到每个亮度8x8块所包含的4个表示亮度的CBP值的过程中,在每次解析到一个亮度8x8块所包含的4个表示亮度的CBP值时,查找预先存储的亮度8x8块位置判断码表,得到当前解析到的4个表示亮度的CBP值的存储位置; 其中,所述亮度8x8块位置判断码表中索引为η的元素的值,表示((Cbp_dsC&0xF)<< 2) +i为η时当前解析的亮度8x8块和存储该亮度8x8块所包含的4个表示亮度的CBP值的起始位置,所述亮度8x8块位置判断码表中的第I个元素的索引为零,i为循环计数值,O^ i <所述循环次数。
5.根据权利要求4所述的CBP解析方法,其特征在于,所述亮度8x8块位置判断码表int cbp_luma_huf_leftshift[64]为:int cbp_luma_huf_leftshift[64] = {0,0,0,0,10,0,0,0,8,0,0,0,8,10,O,O, 2,0,0,0,2,10,0,0,2,8,0,0,2,8,10,0, 0,0,0,0,0,10,0,0,0,8,0,0,0,8,10,0, 0,2,0,0,0,2,10,0,0,2,8,0,0,2,8,10, }o
6.根据权利要求1所述的CBP解析方法,其特征在于,所述进行色度CBP的解析的步骤中,包含以下子步骤: 查找预先存储的码流读取比特数码表,得到C0、C1、C2、C3中为I的个数,其中,C0、C1、C2、C3均包含2个处于不同色度8x8块中的表示色度的CBP值,所述码流读取比特数码表中索引为η的元素的值,表示(Cbp_dsc>>4)为11时0)、(:1、02工3中为I的个数t,所述码流读取比特数码表中的第I个元素的索引为零; 如果所述t为零,则直接查找预先存储的色度CBP值码表,得到包含在C0、C1、C2、C3中的8个表示色度的CBP值;如果所述t不为零,则从码流中读取t比特数据后,再查找预先存储的色度CBP值码表,得到包含在CO、Cl、C2、C3中的8个表示色度的CBP值; 其中,所述色度CBP值码表中索引为η的元素的值,表示色度CBP的索引偏移量与所述t比特数据的值之和为η时,所述8个表示色度的CBP值;所述色度CBP值码表中的第I个元素的索引为零,所述色度CBP的索引偏移量通过查找预先存储的色度CBP偏移码表得到,该色度CBP偏移码表中索引为η的元素的值,表示(Cbp_dsc >> 4)为η时的色度CBP的索引偏移量,所述色度CBP偏移码表中的第I个元素的索引为零。·
7.根据权利要求6所述的CBP解析方法,其特征在于,所述码流读取比特数码表intChromaCBP_Num [81]为:int ChromaCBP_Num[81] = {O,1,O,1,2,1,O,1,O,1,2,1,2,3,2,1,2,1,O,1, 0,1,2,1,0,1,0,1,2,1,2,3,2,1,2,1,2,3,2,3, 4,3,2,3,2,1,2,1,2,3,2,1,2,1,0,1,0,1,2,1, 0,1,0,1,2,1,2,3,2,1,2,1,0,1,0,1,2,1,0,1,0 1
8.根据权利要求6所述的CBP解析方法,其特征在于,所述色度CBP值码表中的每个元素由8个比特表示;在所述查找色度CBP值码表得到8个表示色度的CBP值后,还执行以下步骤: 将查找到的8个表示色度的CBP值左移16位。
9.根据权利要求8所述的CBP解析方法,其特征在于,所述色度CBP值码表intChromaCBP[256]为:int ChromaCBP[256] = {·0,0x80,0x8,0x88,0x40,0x4,OxCO,0x48,0x84,OxC,0xC8,0x8C,0x44,·0xC4,0x4C,OxCC,0x20,0x2,OxAO,0x28,0x82,OxA,0xA8,0x8A,0x60,·0x24,0x42,0x6,OxEO,0x68,0xA4,0x2C,0xC2,0x4A,0x86,OxE,0xE8,·OxAC,OxCA,0x8E,0x64,0x46,0xE4,0x6C,0xC6,0x4E,OxEC,OxCE,0x22,·0xA2,0x2A,OxAA,0x62,0x26,0xE2,0x6A,0xA6,0x2E,OxEA,OxAE,·0x66,0xE6,0x6E,OxEE,0x10,0x1,0x90,0x18,0x81,0x9,0x98,0x89,0x50,·0x14,0x41,0x5,0xD0,0x58,0x94,OxlC,OxCl,0x49,0x85,OxD,0xD8,0x9C,·0xC9,0x8D,0x54,0x45,0xD4,0x5C,0xC5,0x4D,OxDC,OxCD,0x30,0x12,·0x21,0x3,0xB0,0x38,0x92,OxlA,OxAl,0x29,0x83,OxB,0xB8,0x9A,·0xA9,0x8B,0x70,0x34,0x52,0x16,0x61,0x25,0x43,0x7,0xF0,0x78,0xB4,·0x3C,0xD2,0x5A,0x96,OxlE,OxEl,0x69,0xA5,0x2D,0xC3,0x4B,0x87,·OxF,0xF8,OxBC,OxDA,0x9E,0xE9,OxAD,OxCB,0x8F,0x74,0x56,0x65,·0x47,0xF4,0x7C,0xD6,0x5E,0xE5,0x6D,0xC7,0x4F,OxFC,OxDE,OxED,·OxCF,0x32,0x23,0xB2,0x3A,0xA3,0x2B,OxBA,OxAB,0x72,0x36,0x63,·0x27,0xF2,0x7A,0xB6,0x3E,0xE3,0x6B,0xA7,0x2F,OxFA,OxBE,OxEB,·OxAF,0x76,0x67,0xF6,0x7E,0xE7,0x6F,OxFE,OxEF,0x11,0x91,0x19,0x99,0x51,0x15,OxD1,0x59,0x95,OxID,0xD9,0x9D,0x55,0xD5,0x5D,OxDD,0x31,0x13,OxBl,0x39,0x93,OxlB,0xB9,0x9B,0x71,0x35,0x53,0x17,OxFl,0x79,0xB5,0x3D,0xD3,0x5B,0x97,OxlF,0xF9,OxBD,OxDB,0x9F,0x75,0x57,0xF5,0x7D,0xD7,0x5F,OxFD,OxDF,0x33,0xB3,0x3B,OxBB,0x73,0x37,0xF3,0x7B,0xB7,0x3F,OxFB,OxBF,0x77,0xF7,0x7F,0xFF }o
10.根据权利要求6 所述的CBP解析方法,其特征在于,所述色度CBP偏移码表intChromaCBP_indexoffset[81]为:int ChromaCBP_indexoffset[81] = {0,1,3,4,6,10,12,13,15,16,18,22,24,28,36,40,42,46,48,49,51,52,54,58,60,61,63,64,66,70,72,76,84,88,90,94,96,100,108,112,120,136,144,148,156,160,162,166,168,172,180,184,186,190,192,193,195,196,198,202,204,205,207,208,210,214,216,220,228,232,234,238,240,241,243,244,246,250,252,253,255}。
11.一种CBP解析装置,其特征在于,包含: Cbp_dsc解析模块,用于解析句法元素Cbp_dsc ; 亮度解析模块,用于在所述Cbp_dsc解析模块解析到的所述Cbp_dsc与OxF进行与操作的结果为零时,直接得到表示亮度的CBP值均为O的亮度CBP解析结果;在所述与操作的结果不为零时,进行亮度CBP的解析,得到亮度CBP解析结果; 右移模块,用于将所述Cbp_dsc解析模块解析到的所述Cbp_dsc右移4位; 色度解析模块,用于在右移4位后的Cbp_dsc为零时,直接得到表示色度的CBP值均为O的色度CBP解析结果;在右移4位后的Cbp_dsc不为零时,进行色度CBP的解析,得到色度CBP解析结果。
12.根据权利要求11所述的CBP解析装置,其特征在于,所述亮度解析模块包含以下子模块: 非零亮度块个数查找子模块,用于查找预先存储的非零亮度块个数码表,得到非零的亮度8x8块的个数;其中,所述非零亮度块个数码表中索引为η的元素的值,表示Cbp_dsc&OxF为η时非零的亮度8x8块的个数,所述非零亮度块个数码表中的第I个元素的索引为零; 亮度CBP值解析子模块,用于以查找到的非零的亮度8x8块的个数为循环次数,根据8x8_dsc的编码公式依次解析得到每个亮度8x8块所包含的4个表示亮度的CBP值。
13.根据权利要求12所述的CBP解析装置,其特征在于,所述亮度CBP值解析子模块还用于在所述依次解析得到每个亮度8x8块所包含的4个表示亮度的CBP值的过程中,在每次解析到一个亮度8x8块所包含的4个表示亮度的CBP值时,查找预先存储的亮度8x8块位置判断码表,得到当前解析到的4个表示亮度的CBP值的存储位置; 其中,所述亮度8x8块位置判断码表中索引为η的元素的值,表示((Cbp_dsC&0xF)<< 2) +i为η时当前解析的亮度8x8块和存储该亮度8x8块所包含的4个表示亮度的CBP值的起始位置,所述亮度8x8块位置判断码表中的第I个元素的索引为零,O ( i <所述循环次数。
14.根据权利要求11所述的CBP解析装置,其特征在于,所述色度解析模块包含以下子模块: 比特数查找子模块,用于查找预先存储的码流读取比特数码表,得到CO、Cl、C2、C3中为I的个数,其中,C0、C1、C2、C3均包含2个处于不同色度8x8块中的表示色度的CBP值,所述码流读取比特数码表中索引为η的元素的值,表示(0^_(1%>>4)为11时0)、(:1、〇2、C3中为I的个数t,所述码流读取比特数码表中的第I个元素的索引为零; 色度CBP值解析子模块,用于在所述t为零时,直接查找预先存储的色度CBP值码表,得到包含在CO、Cl、C2、C3中的8个表示色度的CBP值;在所述t不为零时,从码流中读取t比特数据后,查找预先存储的色度CBP值码表,得到包含在C0、C1、C2、C3中的8个表示色度的CBP值; 其中,所述色度CBP值码表中索引为η的元素的值,表示色度CBP的索引偏移量与所述t比特数据的值之和为η时,所述8个表示色度的CBP值;所述色度CBP值码表中的第I个元素的索引为零,所述色度CBP的索引偏移量通过查找预先存储的色度CBP偏移码表得到,该色度CBP偏移码表中索引为η的元素的值,表示(Cbp_dsc >> 4)为η时的色度CBP的索引偏移量,所述色度CBP偏移码表中的第I个元素的索引为零。
15.根据权利要求14所述的CBP解析装置,其特征在于,所述色度CBP值码表中的每个元素由8个比特表示; 所述色度CBP值解析子模块还用于将查找到的所述8个表示色度的CBP值,左移16位。
全文摘要
本发明涉及视频处理领域,公开了一种CBP解析方法及其装置。本发明中,在解析出首个句法元素Cbp_dsc的值后,将解析到的Cbp_dsc与0xF进行与操作,如果与操作的结果为零则直接得到表示亮度的16个CBP值(B0-B15)均为0的亮度CBP解析结果;将解析到的所述Cbp_dsc右移4位,如果右移4位后的Cbp_dsc为零,则直接判定表示色度的8个CBP值(B16-B23)均为0的色度CBP解析结果,以提高CBP解析效率。进一步地,可通过查表的方式一次获取后面多个句法元素的信息,然后再通过查询设计的码表一次解析出多比特的CBP信息,减少判断控制信息,提高解析效率。
文档编号H04N7/26GK103188489SQ20111045601
公开日2013年7月3日 申请日期2011年12月30日 优先权日2011年12月30日
发明者杨长平, 陈小敬, 龚炜炜 申请人:联芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1