專(zhuān)利名稱(chēng):Cbp解析方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻處理領(lǐng)域,特別涉及RealVideo9的CBP解析。
背景技術(shù):
RealVideo9與標(biāo)準(zhǔn)H.263以及MPEG-4相似,同屬基于預(yù)測(cè)變換的混合編碼架構(gòu),在編碼過(guò)程中分為4個(gè)主要部分:(I)將每幀視頻分成像素塊;(2)幀內(nèi)預(yù)測(cè),削減空間冗余;(3)通過(guò)運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償進(jìn)行幀間預(yù)側(cè),削減時(shí)間冗余;(4)通過(guò)對(duì)原始?jí)K和對(duì)應(yīng)的預(yù)測(cè)塊之間差別形成的殘差塊進(jìn)行變換、量化和熵編碼,進(jìn)一步削減空間冗余。RealVide09增加了很多新的編碼技術(shù),大大提高了編碼效率。但其高性能是以其編解碼的復(fù)雜度的提高為代價(jià)的,編解碼算法的復(fù)雜度直接影響到開(kāi)發(fā)基于RealVideo9視頻解碼方案的效率。目前,RealVideo9的 CBP (Coded Block Pattern,編碼塊模式)有 24 比特,分別代表了 16個(gè)亮度的4 (像素)x4 (像素)塊和8個(gè)色度的4 (像素)x4 (像素)塊的編碼情況,解析較復(fù)雜。在視頻解碼過(guò)程中所有視頻碼流都要經(jīng)過(guò)CBP的解析運(yùn)算,因此在整個(gè)混合編解碼系統(tǒng)中它具有舉足輕重的地位。下面對(duì)CBP編碼基本原理進(jìn)行具體說(shuō)明。一個(gè)宏塊的CBP共有24比特,分別代表了一個(gè)宏塊的16個(gè)亮度4x4塊和8個(gè)色度4x4塊是否為零。如
圖1所示,CBP由低位到高位依次為B0-B23。其中B0-B15分別對(duì)應(yīng)16個(gè)4x4的亮度塊(可理解為:B0-B15為16個(gè)表示亮度的CBP值),B6_B23分別對(duì)應(yīng)8個(gè)4x4的色度塊(可理解為:B6-B23為8個(gè)表示色度的CBP值)。編碼時(shí)CBP主要分為三個(gè)部分:Cbp_dsc、8x8_dsc 和 CR。Cbp_dsc、8x8_dsc 和 CR 均稱(chēng)為句法兀素。其中,Cbp_dsc采用了 Canonic Huffman編碼的方式,從整體上描述了宏塊中8x8的亮度塊和8x8的色度塊是否為零,主要包含分量如圖2所示。各分量意義如表1、表2所示。其中,Y0,Yl, Y2,Y3分別描述了一個(gè)亮度8x8塊是否為零(如表I所示),CO, Cl,C2,C3分別描述了 2個(gè)色度4x4塊是否為零(如表2所示)。
權(quán)利要求
1.一種CBP解析方法,其特征在于,包含以下步驟: 解析句法元素Cbp_dsc ; 將解析到的所述Cbp_dsc與OxF進(jìn)行與操作,如果所述與操作的結(jié)果為零,則直接得到表示亮度的CBP值均為O的亮度CBP解析結(jié)果;如果所述與操作的結(jié)果不為零,則進(jìn)行亮度CBP的解析,得到亮度CBP解析結(jié)果; 將解析到的所述Cbp_dsc右移4位,如果右移4位后的Cbp_dsc為零,則直接得到表示色度的CBP值均為O的色度CBP解析結(jié)果;如果右移4位后的Cbp_dsc不為零,則進(jìn)行色度CBP的解析,得到色度CBP解析結(jié)果。
2.根據(jù)權(quán)利要求1所述的CBP解析方法,其特征在于,所述進(jìn)行亮度CBP的解析的步驟中,包含以下子步驟: 查找預(yù)先存儲(chǔ)的非零亮度塊個(gè)數(shù)碼表,得到非零的亮度8x8塊的個(gè)數(shù);其中,所述非零亮度塊個(gè)數(shù)碼表中索引 為η的元素的值,表示Cbp_dsc&0xF為η時(shí)非零的亮度8x8塊的個(gè)數(shù),所述非零亮度塊個(gè)數(shù)碼表中的第I個(gè)元素的索引為零; 以查找到的非零的亮度8x8塊的個(gè)數(shù)為循環(huán)次數(shù),根據(jù)8X8_dsc的編碼公式依次解析得到每個(gè)亮度8x8塊所包含的4個(gè)表示亮度的CBP值。
3.根據(jù)權(quán)利要求2所述的CBP解析方法,其特征在于,所述非零亮度塊個(gè)數(shù)碼表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.根據(jù)權(quán)利要求2所述的CBP解析方法,其特征在于,所述進(jìn)行亮度CBP的解析的步驟中,還包含以下子步驟: 在所述依次解析得到每個(gè)亮度8x8塊所包含的4個(gè)表示亮度的CBP值的過(guò)程中,在每次解析到一個(gè)亮度8x8塊所包含的4個(gè)表示亮度的CBP值時(shí),查找預(yù)先存儲(chǔ)的亮度8x8塊位置判斷碼表,得到當(dāng)前解析到的4個(gè)表示亮度的CBP值的存儲(chǔ)位置; 其中,所述亮度8x8塊位置判斷碼表中索引為η的元素的值,表示((Cbp_dsC&0xF)<< 2) +i為η時(shí)當(dāng)前解析的亮度8x8塊和存儲(chǔ)該亮度8x8塊所包含的4個(gè)表示亮度的CBP值的起始位置,所述亮度8x8塊位置判斷碼表中的第I個(gè)元素的索引為零,i為循環(huán)計(jì)數(shù)值,O^ i <所述循環(huán)次數(shù)。
5.根據(jù)權(quán)利要求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.根據(jù)權(quán)利要求1所述的CBP解析方法,其特征在于,所述進(jìn)行色度CBP的解析的步驟中,包含以下子步驟: 查找預(yù)先存儲(chǔ)的碼流讀取比特?cái)?shù)碼表,得到C0、C1、C2、C3中為I的個(gè)數(shù),其中,C0、C1、C2、C3均包含2個(gè)處于不同色度8x8塊中的表示色度的CBP值,所述碼流讀取比特?cái)?shù)碼表中索引為η的元素的值,表示(Cbp_dsc>>4)為11時(shí)0)、(:1、02工3中為I的個(gè)數(shù)t,所述碼流讀取比特?cái)?shù)碼表中的第I個(gè)元素的索引為零; 如果所述t為零,則直接查找預(yù)先存儲(chǔ)的色度CBP值碼表,得到包含在C0、C1、C2、C3中的8個(gè)表示色度的CBP值;如果所述t不為零,則從碼流中讀取t比特?cái)?shù)據(jù)后,再查找預(yù)先存儲(chǔ)的色度CBP值碼表,得到包含在CO、Cl、C2、C3中的8個(gè)表示色度的CBP值; 其中,所述色度CBP值碼表中索引為η的元素的值,表示色度CBP的索引偏移量與所述t比特?cái)?shù)據(jù)的值之和為η時(shí),所述8個(gè)表示色度的CBP值;所述色度CBP值碼表中的第I個(gè)元素的索引為零,所述色度CBP的索引偏移量通過(guò)查找預(yù)先存儲(chǔ)的色度CBP偏移碼表得到,該色度CBP偏移碼表中索引為η的元素的值,表示(Cbp_dsc >> 4)為η時(shí)的色度CBP的索引偏移量,所述色度CBP偏移碼表中的第I個(gè)元素的索引為零?!?br>
7.根據(jù)權(quán)利要求6所述的CBP解析方法,其特征在于,所述碼流讀取比特?cái)?shù)碼表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.根據(jù)權(quán)利要求6所述的CBP解析方法,其特征在于,所述色度CBP值碼表中的每個(gè)元素由8個(gè)比特表示;在所述查找色度CBP值碼表得到8個(gè)表示色度的CBP值后,還執(zhí)行以下步驟: 將查找到的8個(gè)表示色度的CBP值左移16位。
9.根據(jù)權(quán)利要求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.根據(jù)權(quán)利要求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進(jìn)行與操作的結(jié)果為零時(shí),直接得到表示亮度的CBP值均為O的亮度CBP解析結(jié)果;在所述與操作的結(jié)果不為零時(shí),進(jìn)行亮度CBP的解析,得到亮度CBP解析結(jié)果; 右移模塊,用于將所述Cbp_dsc解析模塊解析到的所述Cbp_dsc右移4位; 色度解析模塊,用于在右移4位后的Cbp_dsc為零時(shí),直接得到表示色度的CBP值均為O的色度CBP解析結(jié)果;在右移4位后的Cbp_dsc不為零時(shí),進(jìn)行色度CBP的解析,得到色度CBP解析結(jié)果。
12.根據(jù)權(quán)利要求11所述的CBP解析裝置,其特征在于,所述亮度解析模塊包含以下子模塊: 非零亮度塊個(gè)數(shù)查找子模塊,用于查找預(yù)先存儲(chǔ)的非零亮度塊個(gè)數(shù)碼表,得到非零的亮度8x8塊的個(gè)數(shù);其中,所述非零亮度塊個(gè)數(shù)碼表中索引為η的元素的值,表示Cbp_dsc&OxF為η時(shí)非零的亮度8x8塊的個(gè)數(shù),所述非零亮度塊個(gè)數(shù)碼表中的第I個(gè)元素的索引為零; 亮度CBP值解析子模塊,用于以查找到的非零的亮度8x8塊的個(gè)數(shù)為循環(huán)次數(shù),根據(jù)8x8_dsc的編碼公式依次解析得到每個(gè)亮度8x8塊所包含的4個(gè)表示亮度的CBP值。
13.根據(jù)權(quán)利要求12所述的CBP解析裝置,其特征在于,所述亮度CBP值解析子模塊還用于在所述依次解析得到每個(gè)亮度8x8塊所包含的4個(gè)表示亮度的CBP值的過(guò)程中,在每次解析到一個(gè)亮度8x8塊所包含的4個(gè)表示亮度的CBP值時(shí),查找預(yù)先存儲(chǔ)的亮度8x8塊位置判斷碼表,得到當(dāng)前解析到的4個(gè)表示亮度的CBP值的存儲(chǔ)位置; 其中,所述亮度8x8塊位置判斷碼表中索引為η的元素的值,表示((Cbp_dsC&0xF)<< 2) +i為η時(shí)當(dāng)前解析的亮度8x8塊和存儲(chǔ)該亮度8x8塊所包含的4個(gè)表示亮度的CBP值的起始位置,所述亮度8x8塊位置判斷碼表中的第I個(gè)元素的索引為零,O ( i <所述循環(huán)次數(shù)。
14.根據(jù)權(quán)利要求11所述的CBP解析裝置,其特征在于,所述色度解析模塊包含以下子模塊: 比特?cái)?shù)查找子模塊,用于查找預(yù)先存儲(chǔ)的碼流讀取比特?cái)?shù)碼表,得到CO、Cl、C2、C3中為I的個(gè)數(shù),其中,C0、C1、C2、C3均包含2個(gè)處于不同色度8x8塊中的表示色度的CBP值,所述碼流讀取比特?cái)?shù)碼表中索引為η的元素的值,表示(0^_(1%>>4)為11時(shí)0)、(:1、〇2、C3中為I的個(gè)數(shù)t,所述碼流讀取比特?cái)?shù)碼表中的第I個(gè)元素的索引為零; 色度CBP值解析子模塊,用于在所述t為零時(shí),直接查找預(yù)先存儲(chǔ)的色度CBP值碼表,得到包含在CO、Cl、C2、C3中的8個(gè)表示色度的CBP值;在所述t不為零時(shí),從碼流中讀取t比特?cái)?shù)據(jù)后,查找預(yù)先存儲(chǔ)的色度CBP值碼表,得到包含在C0、C1、C2、C3中的8個(gè)表示色度的CBP值; 其中,所述色度CBP值碼表中索引為η的元素的值,表示色度CBP的索引偏移量與所述t比特?cái)?shù)據(jù)的值之和為η時(shí),所述8個(gè)表示色度的CBP值;所述色度CBP值碼表中的第I個(gè)元素的索引為零,所述色度CBP的索引偏移量通過(guò)查找預(yù)先存儲(chǔ)的色度CBP偏移碼表得到,該色度CBP偏移碼表中索引為η的元素的值,表示(Cbp_dsc >> 4)為η時(shí)的色度CBP的索引偏移量,所述色度CBP偏移碼表中的第I個(gè)元素的索引為零。
15.根據(jù)權(quán)利要求14所述的CBP解析裝置,其特征在于,所述色度CBP值碼表中的每個(gè)元素由8個(gè)比特表示; 所述色度CBP值解析子模塊還用于將查找到的所述8個(gè)表示色度的CBP值,左移16位。
全文摘要
本發(fā)明涉及視頻處理領(lǐng)域,公開(kāi)了一種CBP解析方法及其裝置。本發(fā)明中,在解析出首個(gè)句法元素Cbp_dsc的值后,將解析到的Cbp_dsc與0xF進(jìn)行與操作,如果與操作的結(jié)果為零則直接得到表示亮度的16個(gè)CBP值(B0-B15)均為0的亮度CBP解析結(jié)果;將解析到的所述Cbp_dsc右移4位,如果右移4位后的Cbp_dsc為零,則直接判定表示色度的8個(gè)CBP值(B16-B23)均為0的色度CBP解析結(jié)果,以提高CBP解析效率。進(jìn)一步地,可通過(guò)查表的方式一次獲取后面多個(gè)句法元素的信息,然后再通過(guò)查詢(xún)?cè)O(shè)計(jì)的碼表一次解析出多比特的CBP信息,減少判斷控制信息,提高解析效率。
文檔編號(hào)H04N7/26GK103188489SQ20111045601
公開(kāi)日2013年7月3日 申請(qǐng)日期2011年12月30日 優(yōu)先權(quán)日2011年12月30日
發(fā)明者楊長(zhǎng)平, 陳小敬, 龔煒煒 申請(qǐng)人:聯(lián)芯科技有限公司