一種視頻編碼變換量化方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種視頻編碼變換量化方法和裝置,解決了現(xiàn)有技術(shù)視頻編碼變換量化流程的運(yùn)算效率降低的問題。該視頻編碼變換量化方法包括:對(duì)矩陣數(shù)據(jù)進(jìn)行正變換處理;其中,所述正變換處理包括水平正變換步驟和垂直正變換步驟;對(duì)所述矩陣數(shù)據(jù)進(jìn)行量化處理和反量化處理;對(duì)所述矩陣數(shù)據(jù)進(jìn)行反變換處理;其中,所述反變換處理包括水平反變換步驟和垂直反變換步驟;其中,進(jìn)一步包括:所述正變換處理中后執(zhí)行的變換步驟為水平正變換步驟,所述反變換處理中先執(zhí)行的變換步驟為水平反變換步驟;或,所述正變換處理中后執(zhí)行的變換步驟為垂直正變換步驟,所述反變換處理中先執(zhí)行的變換步驟為垂直反變換步驟。
【專利說明】一種視頻編碼變換量化方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)字圖像處理領(lǐng)域,特別涉及一種視頻編碼變換量化方法和裝置。 技術(shù)背景
[0002] 圖1所示為現(xiàn)有技術(shù)所提供的視頻編碼變換量化方法的流程示意圖。如圖1所示, 該視頻編碼變換量化方法包括變換1、量化2、反量化3和反變換4四個(gè)依次進(jìn)行的步驟。其 中的變換1是先對(duì)矩陣數(shù)據(jù)進(jìn)行水平變換11,再進(jìn)行垂直變換12 ;反變換4步驟也是先對(duì) 矩陣數(shù)據(jù)進(jìn)行水平變換41,再進(jìn)行垂直變換42。這樣變換1和反變換4中的變換步驟可表 示為:Y=TX(XXTt)。其中X表示輸入矩陣,T為變換矩陣,Y表示結(jié)果矩陣。上式中的變 換步驟其實(shí)為兩個(gè)步驟,第一步先完成Z=XXTt (水平變換),第二步再進(jìn)行Y=TXZ(垂 直變換)。根據(jù)矩陣乘法運(yùn)算的規(guī)則,當(dāng)要實(shí)現(xiàn)一個(gè)AXB的矩陣運(yùn)算時(shí),需要由A矩陣的行 向量與B矩陣的列向量進(jìn)行乘加得到計(jì)算結(jié)果。因此由于第二步垂直變換中的Z的每一列 都包含著Z的所有行的一個(gè)數(shù),該第二步垂直變換必須得到第一步水平變換全部完成后才 成啟動(dòng)。同理,當(dāng)要對(duì)X矩陣先實(shí)現(xiàn)一個(gè)垂直變換時(shí),再進(jìn)行一個(gè)水平變換時(shí),必須在該垂 直變換結(jié)束后才能開始進(jìn)行該水平變換。
[0003] 這樣圖1中反量化3后進(jìn)行的水平變換41就必須要在量化2步驟前的垂直變換 12完成后才能開始進(jìn)行,水平變換41和垂直變換12無法并行運(yùn)算,從而降低了整個(gè)視頻編 碼變換量化流程的運(yùn)算效率。
【發(fā)明內(nèi)容】
[0004] 有鑒于此,本發(fā)明實(shí)施例提供一種新的視頻編碼變換量化方法和裝置,解決了現(xiàn) 有技術(shù)中反量化后的反變換步驟與量化前的變換步驟不能并行進(jìn)行,導(dǎo)致整個(gè)視頻編碼變 換量化流程的運(yùn)算效率降低的問題。
[0005] 本發(fā)明實(shí)施例提供了一種視頻編碼變換量化方法,包括:對(duì)矩陣數(shù)據(jù)進(jìn)行正變換 處理;其中,所述正變換處理包括水平正變換步驟和垂直正變換步驟;對(duì)所述矩陣數(shù)據(jù)進(jìn) 行量化處理和反量化處理;對(duì)所述矩陣數(shù)據(jù)進(jìn)行反變換處理;其中,所述反變換處理包括 水平反變換步驟和垂直反變換步驟;其中,進(jìn)一步包括:
[0006] 所述正變換處理中后執(zhí)行的變換步驟為水平正變換步驟,所述反變換處理中先執(zhí) 行的變換步驟為水平反變換步驟;或,
[0007] 所述正變換處理中后執(zhí)行的變換步驟為垂直正變換步驟,所述反變換處理中先執(zhí) 行的變換步驟為垂直反變換步驟。
[0008] 本發(fā)明實(shí)施例提供的一種視頻編碼變換量化裝置,包括:水平正變換模塊,配置為 對(duì)矩陣數(shù)據(jù)進(jìn)行水平正變換處理;
[0009] 垂直正變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行垂直正變換處理;
[0010] 量化模塊,配置為對(duì)所述矩陣數(shù)據(jù)進(jìn)行量化處理;
[0011] 反量化模塊,配置為對(duì)所述矩陣數(shù)據(jù)進(jìn)行反量化處理;
[0012] 水平反變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行水平反變換處理;
[0013] 垂直反變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行垂直反變換處理;
[0014] 其中,所述水平正變換模塊、垂直正變換模塊、量化模塊、反量化模塊、垂直反變換 模塊和水平反變換模塊依次連接;或,
[0015] 所述垂直正變換模塊、水平正變換模塊、量化模塊、反量化模塊、水平反變換模塊 和垂直反變換模塊依次連接。
[0016] 利用本發(fā)明實(shí)施例所提供的視頻編碼變換量化方法和裝置,反量化后進(jìn)行的變換 步驟不用在量化前的變換步驟完成后才開始進(jìn)行,由于二者同為水平變換或垂直變換,因 而可以同步的逐行或逐列進(jìn)行,從而提高了整個(gè)視頻編碼變換量化流程的運(yùn)算效率,實(shí)現(xiàn) 了流水化運(yùn)算。
【專利附圖】
【附圖說明】
[0017] 圖1所示為現(xiàn)有技術(shù)所提供的視頻編碼變換量化方法的流程示意圖。
[0018] 圖2所示為本發(fā)明一實(shí)施例所提供的視頻編碼變換量化方法的流程示意圖。
[0019] 圖3所示為本發(fā)明一實(shí)施例所提供的視頻編碼變換量化方法的原理示意圖。
[0020] 圖4所示為本發(fā)明一實(shí)施例所提供的視頻編碼變換量化裝置的結(jié)構(gòu)示意圖。
[0021] 圖5所示為本發(fā)明一實(shí)施例所提供的視頻編碼變換量化裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023] 圖2所示為本發(fā)明一實(shí)施例所提供的視頻編碼變換量化方法的流程示意圖。如圖 2所示,該視頻編碼變換量化方法包括:
[0024] 步驟201 :對(duì)矩陣數(shù)據(jù)進(jìn)正變換處理;其中,所述正變換處理包括水平變換步驟和 垂直變換步驟。其中后執(zhí)行的正變換步驟為水平正變換時(shí),步驟204中先執(zhí)行的反變換步 驟為水平反變換;或,其中后執(zhí)行的正變換步驟為垂直正變換時(shí),步驟204中先執(zhí)行的反變 換步驟為垂直反變換。
[0025] 步驟202 :對(duì)所述矩陣數(shù)據(jù)進(jìn)行量化處理。
[0026] 步驟203 :對(duì)所述矩陣數(shù)據(jù)進(jìn)行反量化處理。
[0027] 步驟204 :對(duì)所述矩陣數(shù)據(jù)進(jìn)行反變換處理;其中,所述反變換處理包括水平變換 步驟和垂直變換步驟。如前所述,其中先執(zhí)行的反變換步驟為水平反變換時(shí),步驟201中后 執(zhí)行的正變換步驟為水平正變換;或,其中先執(zhí)行的反變換步驟為垂直反變換時(shí),步驟201 中后執(zhí)行的正變換步驟為垂直正變換。
[0028] 圖3所示為本發(fā)明一實(shí)施例所提供的視頻編碼變換量化方法的原理示意圖。其中 的標(biāo)號(hào)為1?4的方塊代表4X4矩陣數(shù)據(jù)的行編號(hào),標(biāo)號(hào)為1?8的方塊8X8矩陣數(shù)據(jù) 的行編號(hào),A?M各分別代表一級(jí)運(yùn)算。步驟201的正變換后執(zhí)行的變換步驟與步驟204的 反變換中先執(zhí)行的變換步驟同為垂直變換步驟,這樣步驟201中的垂直變換完成一行數(shù)據(jù) 的計(jì)算后,該行數(shù)據(jù)經(jīng)過量化和反量化后即可開始步驟204中的垂直變換。
[0029] 具體而言,以圖3中4X4矩陣數(shù)據(jù)的變換量化過程為例,在A級(jí)運(yùn)算中只能對(duì)編 號(hào)為1的行進(jìn)行水平正變換;在B級(jí)運(yùn)算中,在對(duì)編號(hào)為1的行進(jìn)行垂直正變換的同時(shí),還 可對(duì)編號(hào)為2的行進(jìn)行水平正變換;以此類推至E級(jí)運(yùn)算中,可以在對(duì)1進(jìn)行垂直反變換的 同時(shí),還可分別對(duì)編號(hào)為2?3的行進(jìn)行相應(yīng)的運(yùn)算步驟,而不用等到編號(hào)為4的行進(jìn)行完 反量化后再對(duì)1進(jìn)行反變換,從而使矩陣數(shù)據(jù)每一行的變換量化可流水線并行運(yùn)算。這樣 4X4矩陣數(shù)據(jù)僅需9級(jí)(A?I)運(yùn)算即可完成整個(gè)變換量化過程,8X8矩陣數(shù)據(jù)僅需13 級(jí)(A?M)運(yùn)算即可完成整個(gè)變換量化過程。
[0030] 同理,當(dāng)步驟201后執(zhí)行的變換步驟與步驟204中先執(zhí)行的變換步驟同為水平變 換步驟時(shí),矩陣數(shù)據(jù)每一行的變換量化也可流水線并行運(yùn)算。
[0031] 在本發(fā)明一實(shí)施例中,水平正變換步驟、垂直正變換步驟、水平反變換步驟和垂直 反變換步驟為離散余弦變換。
[0032] 在本發(fā)明一實(shí)施例中,變換處理、反變換處理、量化處理和反量化處理遵循SVAC 視頻編碼標(biāo)準(zhǔn)。
[0033] 在實(shí)際的視頻編碼中,需要進(jìn)行變換量化處理的矩陣數(shù)據(jù)為4X4或8X8的矩陣 塊。下面以步驟201中后執(zhí)行的正變換步驟為水平正變換,同時(shí)步驟204中先執(zhí)行的反變 換步驟為水平反變換為例,以4X4矩陣數(shù)據(jù)的變換量化過程為例進(jìn)行更為詳細(xì)說明。
[0034] 當(dāng)矩陣數(shù)據(jù)為4X4矩陣塊T4時(shí),正變換處理中對(duì)矩陣數(shù)據(jù)的垂直正變換可表示 為:K' = S4XT4 ;其中S4為4x4正變換矩陣,K'表示垂直正變換后的中間結(jié)果。則正變換 處理中對(duì)矩陣K'進(jìn)行的水平正變換可表示為:K=K'XS4T;其中,S4TSS4的轉(zhuǎn)置矩陣, K表示正變換后的4X4矩陣塊。
[0035] 此時(shí),為了控制矩陣中元素?cái)?shù)據(jù)的大小,還需要將正變換后的4X4矩陣塊中的元 素進(jìn)行移位操作,轉(zhuǎn)換為變換系數(shù)樣點(diǎn)矩陣,轉(zhuǎn)換計(jì)算過程可表示為:cij= (kij+2)>>2, (i,j= 0…3);其中kij為K矩陣的元素,CoeffMatrix[i,j]為變換系數(shù)樣點(diǎn)矩陣 CoeffMatrix的元素;>>2 (向右移位2)即可實(shí)現(xiàn)對(duì)4x4矩陣塊中的元素除4的效果,"+2" 則是為使除結(jié)果實(shí)現(xiàn)四舍五入而加上的一個(gè)修正值,以提高計(jì)算精度。
[0036] 本領(lǐng)域技術(shù)人員可以理解,根據(jù)矩陣數(shù)據(jù)為4X4矩陣還是8X8矩陣,水平變換和 垂直變換中移位操作的移位數(shù)和為了實(shí)現(xiàn)四舍五入加上的修正值有所不同,而具體的移位 數(shù)和修正值均由SVAC編碼標(biāo)準(zhǔn)而定,本發(fā)明對(duì)此不做限定。
[0037] 然后,由該變換系數(shù)樣點(diǎn)矩陣CoeffMatrix得到量化系數(shù)矩陣QuantCoeffMatrix 的量化過程(步驟202)可通過如下算法實(shí)現(xiàn):
[0038]
【權(quán)利要求】
1. 一種視頻編碼變換量化方法,包括:對(duì)矩陣數(shù)據(jù)進(jìn)行正變換處理;其中,所述正變換 處理包括水平正變換步驟和垂直正變換步驟;對(duì)所述矩陣數(shù)據(jù)進(jìn)行量化處理和反量化處 理;對(duì)所述矩陣數(shù)據(jù)進(jìn)行反變換處理;其中,所述反變換處理包括水平反變換步驟和垂直 反變換步驟;其特征在于,進(jìn)一步包括: 所述正變換處理中后執(zhí)行的變換步驟為水平正變換步驟,所述反變換處理中先執(zhí)行的 變換步驟為水平反變換步驟;或, 所述正變換處理中后執(zhí)行的變換步驟為垂直正變換步驟,所述反變換處理中先執(zhí)行的 變換步驟為垂直反變換步驟。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述水平正變換步驟、垂直正變換步驟、 水平反變換步驟和垂直反變換步驟為離散余弦變換。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述正變換處理、反變換處理、量化處理 和反量化處理遵循SVAC視頻編碼標(biāo)準(zhǔn)。
4. 根據(jù)權(quán)利要求1或3所述的方法,其特征在于,對(duì)矩陣數(shù)據(jù)進(jìn)行正變換處理包括: 對(duì)經(jīng)過正變換處理的所述矩陣數(shù)據(jù)中的每個(gè)元素進(jìn)行移位處理;其中移位處理的移位 數(shù)根據(jù)SVAC視頻編碼標(biāo)準(zhǔn)而定;和/或, 對(duì)所述矩陣數(shù)據(jù)進(jìn)行反變換處理包括: 對(duì)經(jīng)過反變換處理的所述矩陣數(shù)據(jù)中的每個(gè)元素進(jìn)行移位處理;其中移位處理的移位 數(shù)根據(jù)SVAC視頻編碼標(biāo)準(zhǔn)而定。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,在對(duì)經(jīng)過正變換處理和/或反變換處理的 所述矩陣數(shù)據(jù)中的每個(gè)元素進(jìn)行移位處理之前,所述方法進(jìn)一步包括: 為經(jīng)過正變換處理和/或反變換處理的所述矩陣數(shù)據(jù)中的每個(gè)元素加上一個(gè)修正值; 所述修正值為2的N次方,N為移位數(shù)減一。
6. 根據(jù)權(quán)利要求1或3所述的方法,其特征在于,對(duì)所述矩陣數(shù)據(jù)進(jìn)行量化處理包括: 判斷對(duì)當(dāng)前宏塊的操作是否為幀內(nèi)操作; 根據(jù)SVAC視頻編碼標(biāo)準(zhǔn)給所述矩陣數(shù)據(jù)中的每個(gè)元素加上一個(gè)補(bǔ)償系數(shù);其中,幀內(nèi) 操作的補(bǔ)償系數(shù)的值大于非幀內(nèi)操作補(bǔ)充系數(shù)的值。
7. -種視頻編碼變換量化裝置,包括: 水平正變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行水平正變換處理; 垂直正變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行垂直正變換處理; 量化模塊,配置為對(duì)所述矩陣數(shù)據(jù)進(jìn)行量化處理; 反量化模塊,配置為對(duì)所述矩陣數(shù)據(jù)進(jìn)行反量化處理; 水平反變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行水平反變換處理; 垂直反變換模塊,配置為對(duì)矩陣數(shù)據(jù)進(jìn)行垂直反變換處理; 其特征在于,所述水平正變換模塊、垂直正變換模塊、量化模塊、反量化模塊、垂直反變 換模塊和水平反變換模塊依次連接;或, 所述垂直正變換模塊、水平正變換模塊、量化模塊、反量化模塊、水平反變換模塊和垂 直反變換模塊依次連接。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,依次連接的所述垂直正變換模塊、量化模 塊、反量化模塊和垂直反變換模塊集成在一個(gè)聯(lián)合運(yùn)算模塊中;或, 依次連接的所述水平正變換模塊、量化模塊、反量化模塊和水平反變換模塊集成在一 個(gè)聯(lián)合運(yùn)算模塊中。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,進(jìn)一步包括控制模塊;所述控制模塊分別 與所述水平正變換模塊、聯(lián)合運(yùn)算模塊和水平反變換模塊連接;或, 所述控制模塊分別與所述垂直正變換模塊、聯(lián)合運(yùn)算模塊和垂直反變換模塊連接。
10. 根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,進(jìn)一步包括存儲(chǔ)模塊,配置為存儲(chǔ)所 述水平正變換模塊和所述垂直反變換模塊的計(jì)算結(jié)果;或, 配置為存儲(chǔ)所述垂直正變換模塊和所述水平反變換模塊的計(jì)算結(jié)果。
【文檔編號(hào)】H04N19/625GK104519366SQ201410733845
【公開日】2015年4月15日 申請(qǐng)日期:2014年12月4日 優(yōu)先權(quán)日:2014年12月4日
【發(fā)明者】陳小橋, 鐘俊華 申請(qǐng)人:廣東中星電子有限公司