一種量化轉(zhuǎn)換參數(shù)處理方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明提供用于視頻編碼、視頻解碼及圖像處理的量化轉(zhuǎn)換參數(shù)處理的方法及裝置,一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括:接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù),其中,該轉(zhuǎn)換塊包括M個(gè)量化轉(zhuǎn)換參數(shù),M為第一正整數(shù),且該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊;且在該轉(zhuǎn)換塊的剩余的量化轉(zhuǎn)換參數(shù)被接收之前,應(yīng)用符號(hào)位隱藏處理至該轉(zhuǎn)換塊的N個(gè)量化轉(zhuǎn)換參數(shù),其中,N是第二正整數(shù),其小于M,且除了候選量化轉(zhuǎn)換參數(shù),符號(hào)位隱藏處理包括為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí)本發(fā)明的方法及裝置可以減少存儲(chǔ)需求及或增加平行處理能力。
【專(zhuān)利說(shuō)明】一種量化轉(zhuǎn)換參數(shù)處理方法及裝置
[0001]交叉引用
[0002]本發(fā)明要求于2012年11月13日申請(qǐng),名稱(chēng)為:“HEVC符號(hào)數(shù)據(jù)隱藏處理”的美國(guó)臨時(shí)申請(qǐng)N0.61/725,678的優(yōu)先權(quán)。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及視頻編碼或者圖像處理。特別地,本發(fā)明涉及與符號(hào)數(shù)據(jù)隱藏(符號(hào)位隱藏)的視頻編碼或圖像處理技術(shù)。
【背景技術(shù)】
[0004]為傳輸和儲(chǔ)存的壓縮數(shù)字視頻信號(hào)和圖像被廣泛采用在多個(gè)視頻編碼或者圖像處理的系統(tǒng)和應(yīng)用中,其中包括H.264/MPEG-4 AVC及HEVC (High Efficiency VideoCoding)。多種技術(shù)被開(kāi)發(fā)以提高數(shù)據(jù)壓縮和編碼的表現(xiàn),其中包括轉(zhuǎn)換的采用,如離散余弦變換(Discrete Cosine Transform,DCT))。這些技術(shù)可幫助將視頻信號(hào)或者圖像數(shù)據(jù)轉(zhuǎn)換成參數(shù),以更有效的表示該書(shū)品內(nèi)容和圖像內(nèi)容。
[0005]在HEVC中,一新的編碼工具被稱(chēng)之為符號(hào)數(shù)據(jù)隱藏(sign data hiding)或者符號(hào)位隱藏(本發(fā)明稱(chēng)之為SBH),被使用以進(jìn)一步提高視頻編碼的壓縮表現(xiàn)。SBH能通過(guò)有選擇的編碼一 4x4塊的第一非零量化轉(zhuǎn)換參數(shù)(quantized transform coefficient, QTC)的符號(hào)位獲得。若一 4x4塊存在至少兩個(gè)非零QTC,且該第一非零QTC與該最后一非零QTC之間的距離大于一預(yù)設(shè)閾值,在編碼器端隱藏該第一非零QTC的符號(hào)位。當(dāng)在解碼器端,該被隱藏的符號(hào)位可以由該4x4塊所有QTC波幅總合的奇偶檢查推斷得知。。在這種情況下,有必要選擇性地補(bǔ)償該被隱藏的符號(hào)位,否則校驗(yàn)事無(wú)法指示該第一非零QTC的正確符號(hào)位。在編碼器端可以通過(guò)選擇一 QTC作為一修正值QTC且修正該QTC值至一大于或者小于之前QTC值的相鄰值來(lái)實(shí)現(xiàn)??蛇x擇接近量化間隔邊界的QTC波幅用于補(bǔ)償。通過(guò)給編碼器自由選擇具有最低率失真成本的QTC波幅作為補(bǔ)償,SBH能以較低的成本實(shí)施。
[0006]為了簡(jiǎn)化系統(tǒng)復(fù)雜度及提高平行實(shí)施的能力,一視頻幀一般被分割成多個(gè)塊以進(jìn)行視頻轉(zhuǎn)換及數(shù)據(jù)編碼。舉例來(lái)說(shuō),因?yàn)檩敵瞿鼙贿M(jìn)一步分割成更小的編碼塊以進(jìn)行數(shù)據(jù)補(bǔ)償,一 8x8塊能被用于轉(zhuǎn)換。該QTC的掃描順序涉及該幀內(nèi)預(yù)測(cè)的預(yù)測(cè)方向。因此,該掃描順序可為對(duì)角線(xiàn)、垂直及水平方向。在轉(zhuǎn)換及量化處理流程后,SBH基于4x4塊處理編碼視頻數(shù)據(jù)且以對(duì)角線(xiàn)方向掃描多個(gè)QTC。對(duì)于一 8x8轉(zhuǎn)換塊內(nèi)的多個(gè)QTC,在處理SBH時(shí),該轉(zhuǎn)換塊110被分割成四個(gè)4x4掃描塊120。如圖1的箭頭所示,在每一 4x4掃描塊內(nèi)和4x4掃描塊之間,SBH以對(duì)角線(xiàn)掃描該轉(zhuǎn)換塊110的多個(gè)QTC。圖2揭示了一 8x8轉(zhuǎn)換塊210內(nèi)多個(gè)QTC的范例。該8x8轉(zhuǎn)換塊210被分割成四個(gè)4x4掃描塊,其中被SBH處理時(shí),掃描塊220為第一子塊,掃描塊230為最后一子塊。以陰影立方體顯示的非零多個(gè)QTC,如QTC240,及以空白方塊表示零多個(gè)QTC,如QTC250,且使用DC來(lái)表示該掃描塊230的DC (directcurrent)位置,即直流值的位置。通常就是矩陣?yán)?0,0)的位置。以8x8DCT transform來(lái)說(shuō):每一個(gè)64像素的區(qū)塊都要經(jīng)過(guò)一個(gè)稱(chēng)為離散余弦轉(zhuǎn)換(discrete cosine transform ;DCT)的轉(zhuǎn)換過(guò)程。做轉(zhuǎn)換后,根據(jù)公式,T (O,O)的值是其他值的平均值,這叫作直流值(DCvalue)。其余的T(m,n)值稱(chēng)作交流值(AC value),代表像素值的變化。當(dāng)SBH處理一轉(zhuǎn)換
塊內(nèi)的一掃描塊的多個(gè)QTC,這些多個(gè)QTC以一掃描順序被排列成--維陣列,如圖3所示,
在該掃描塊中,QTC310為一 DC位置,QTC320是一第一非零QTC,QTC330是最后一非零QTC。如圖4所示,SBH處理也可自該轉(zhuǎn)換塊的最后子塊的最后一非零QTC掃描至該第一子塊的第一 QTC (DC位置)。當(dāng)該SBH處理啟用,一掃描塊被處理以識(shí)別其是否是一轉(zhuǎn)換塊的最后子塊。如該掃描塊為該最后子塊,該處理自該最后非零QTC開(kāi)始選擇一修正值QTC被修正。否則該處理自最后QTC開(kāi)始選擇一修正值QTC被修正。
[0007]雖然符號(hào)數(shù)據(jù)隱藏處理能提高編碼增益,但其也帶來(lái)了編碼復(fù)雜度的增加和存儲(chǔ)需求的增加。
[0008]如圖5所示,傳統(tǒng)的視頻編碼技術(shù)或者無(wú)SBH的HEVC,視頻數(shù)據(jù)依次被進(jìn)行轉(zhuǎn)換(transformation,T)、量化(quantization,Q)、逆量化(inverse quantization,IQ)、逆轉(zhuǎn)換(inverse transformation, IT)處理。該SBH處理以一掃描順序評(píng)估該量化轉(zhuǎn)換參數(shù),且依據(jù)該評(píng)估結(jié)果決定是否隱藏該第一非零QTC的符號(hào)位。通過(guò)調(diào)整自?huà)呙桧樞蛑械谝环橇鉗TC至最后QTC中選擇出來(lái)一 QTC的值以實(shí)現(xiàn)隱藏該第一非零QTC的符號(hào)位。轉(zhuǎn)換處理和SBH處理之間的不同處理順序及不同塊大小會(huì)增加編碼復(fù)雜性及SBH的存儲(chǔ)需求。作為視頻壓縮,視頻數(shù)據(jù)被轉(zhuǎn)成多種轉(zhuǎn)換塊大小,如8χ8、16χ16、32χ32。如圖6所示,該SBH基于4x4塊處理多個(gè)QTC。該轉(zhuǎn)換處理的輸出為逐行或者逐列,且量化輸出也是如此。因此,用于SBH的多個(gè)QTC需要被存儲(chǔ),因?yàn)镾BH是對(duì)角地處理該多個(gè)QTC。這樣的設(shè)計(jì)需要額外的需求來(lái)存儲(chǔ)該多個(gè)QTC陣列。且該存儲(chǔ)器的成本隨著轉(zhuǎn)換塊大小增加直到全尺寸轉(zhuǎn)換塊(full transform block, TB)的存儲(chǔ)成本。舉例來(lái)說(shuō),8x8塊內(nèi)的轉(zhuǎn)換輸出以圖7A箭頭所示的逐行方式或者以圖7B所示的逐列方式。如圖8A至SC所示,為了 SBH處理,一 8x8轉(zhuǎn)換塊的多個(gè)QTC被分成四個(gè)參數(shù)組(coefficient groups, CGs),分別以數(shù)字0、1、2及3標(biāo)記。如圖8A所示,該參數(shù)組可以是四個(gè)4x4的塊以對(duì)角線(xiàn)方式排列;可以如圖SB所示,2x8的塊以水平地排列;也可以如圖8C所示,8x2的塊垂直地排列。在SBH處理中,多個(gè)QTC的處理是基于一 4x4參數(shù)組。如圖1的箭頭所示,一個(gè)4x4塊內(nèi)的掃描順序與4x4塊之間的掃描順序都是對(duì)角線(xiàn)型的。圖9A及圖9B揭示了基于一 16x16轉(zhuǎn)換塊的另一范例。在這個(gè)范例中,當(dāng)每一轉(zhuǎn)換塊的的多個(gè)QTC被劃分成16個(gè)參數(shù)組以進(jìn)行SBH處理時(shí),該轉(zhuǎn)換塊的輸出仍然逐行或者逐列的方式。該16個(gè)參數(shù)組由數(shù)字O至數(shù)字15的掃描順序是如圖9A的箭頭所示的對(duì)角線(xiàn),且每一參數(shù)組內(nèi)QTC的掃描順序或者參數(shù)組之間QTC的掃描順序如圖9B的箭頭所示。掃描該多個(gè)QTC也可以依據(jù)與圖9B箭頭相反的方向,自參數(shù)組15掃描至參數(shù)組O。依據(jù)傳統(tǒng)的包含SBH處理的HEVC,該QTC陣列被存儲(chǔ)直至存儲(chǔ)轉(zhuǎn)換塊的全部多個(gè)QTC,以劃分該多個(gè)QTC至參數(shù)組進(jìn)行掃描。當(dāng)該轉(zhuǎn)換塊為大尺寸,如采用16x16或者32x32,則轉(zhuǎn)換緩存或者量化轉(zhuǎn)換參數(shù)陣列的成本增加。此外,為了補(bǔ)償SBH,每一 QTC位置內(nèi)符號(hào)位隱藏補(bǔ)償處理的成本和量化失真被計(jì)算。因此,量化轉(zhuǎn)換參數(shù)陣列的緩存需求增加且符號(hào)位隱藏成本增加。
[0009]因?yàn)镾BH處理循序掃描該多個(gè)QTC及計(jì)算修正一轉(zhuǎn)換塊的多個(gè)QTC的成本,該視頻編碼的關(guān)鍵路線(xiàn)的延遲顯著增加,且整體吞吐量受限。
[0010]本發(fā)明的動(dòng)機(jī)是:為了減少在編碼端計(jì)算和存儲(chǔ)成本,且提高編碼器的表現(xiàn),需要開(kāi)發(fā)一種與SBH相關(guān)的新的視頻編碼或者圖像處理方法以減少存儲(chǔ)需求及或增加平行處理能力。
【發(fā)明內(nèi)容】
[0011]本發(fā)明揭示了用于視頻編碼、視頻解碼及圖像處理的處理量化轉(zhuǎn)換參數(shù)的方法及裝置,以解決上述問(wèn)題。
[0012]依據(jù)本發(fā)明的一實(shí)施例,一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括:接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù),其中,該轉(zhuǎn)換塊包括M個(gè)量化轉(zhuǎn)換參數(shù),M為第一正整數(shù),且該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊;且在該轉(zhuǎn)換塊的剩余的量化轉(zhuǎn)換參數(shù)被接收之前,應(yīng)用符號(hào)位隱藏處理至該轉(zhuǎn)換塊的N個(gè)量化轉(zhuǎn)換參數(shù),其中,N是第二正整數(shù),其小于M,且除了候選量化轉(zhuǎn)換參數(shù),符號(hào)位隱藏處理包括為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí)。該符號(hào)位隱藏處理進(jìn)一步包括在該掃描塊的選定范圍用一修正值修改修正值量化轉(zhuǎn)換參數(shù),如果該修改該修正值量化轉(zhuǎn)換參數(shù)的步驟被啟用,取決于該奇偶檢查的結(jié)果。該修正值對(duì)應(yīng)于+1或-1。依據(jù)最小成本函數(shù),該修正值量化轉(zhuǎn)換參數(shù)被識(shí)別,其中由于修正值與相應(yīng)的量化轉(zhuǎn)換參數(shù)有關(guān),該成本函數(shù)與量化失真有關(guān)。該符號(hào)位隱藏處理包括檢查掃描塊的第一非零量化轉(zhuǎn)換參數(shù)與最后非零量化轉(zhuǎn)換參數(shù)之間的距離,以決定是否啟用該修改修正值量化轉(zhuǎn)換參數(shù)的步驟。該量化轉(zhuǎn)化參數(shù)的選定范圍可相應(yīng)于掃描塊任意選定的二量化轉(zhuǎn)換參數(shù)之間的范圍或者掃描塊的連續(xù)8個(gè)量化轉(zhuǎn)換參數(shù)。當(dāng)計(jì)算成本函數(shù),該掃描塊的第一零值量化轉(zhuǎn)換參數(shù)的第一成本函數(shù)及第一非零量化轉(zhuǎn)換參數(shù)的第二成本函數(shù)不同,或者該掃描塊的第一分區(qū)的第二零值量化轉(zhuǎn)換參數(shù)的第三成本函數(shù)與第二分區(qū)的第三零值量化轉(zhuǎn)換參數(shù)的第四成本函數(shù)不同。該符號(hào)位隱藏處理包括同時(shí)計(jì)算該掃描塊的第一量化轉(zhuǎn)換參數(shù)和第二量化轉(zhuǎn)化參數(shù)的成本函數(shù)。該符號(hào)位隱藏處理包括同時(shí)處理第一量化轉(zhuǎn)換參數(shù)和第二量化轉(zhuǎn)換參數(shù),其中該第一量化轉(zhuǎn)換參數(shù)和該第二量化轉(zhuǎn)換參數(shù)分屬于不同的掃描塊。
[0013]依據(jù)本發(fā)明的另一實(shí)施例,一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括:接收轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù),其中該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊;根據(jù)奇偶檢查的結(jié)果,識(shí)別該掃描塊的量化轉(zhuǎn)換參數(shù)的選定范圍內(nèi)的修正值量化轉(zhuǎn)換參數(shù),其中,在量化轉(zhuǎn)換參數(shù)的選定范圍中,該修正值量化轉(zhuǎn)換參數(shù)包含最小的成本函數(shù),且由于修正值與相應(yīng)的量化轉(zhuǎn)換參數(shù)有關(guān),該成本函數(shù)與量化失真相關(guān),且其中該掃描塊的與第一量化轉(zhuǎn)換參數(shù)有關(guān)的第一成本函數(shù)和與該掃描塊有關(guān)的第二量化轉(zhuǎn)換參數(shù)的第二成本函數(shù)被同時(shí)決定;根據(jù)奇偶檢查的結(jié)果,相應(yīng)于最小成本函數(shù),使用一修正值修改該修正值量化轉(zhuǎn)換函數(shù);及除了候選量化轉(zhuǎn)換參數(shù),為該掃描塊的每一非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí).該修正值對(duì)應(yīng)于+1或-1。當(dāng)計(jì)算成本函數(shù)第一掃描塊內(nèi)的與第三量化轉(zhuǎn)換參數(shù)相關(guān)的第三成本函數(shù)和第二掃描塊內(nèi)的與第四量化轉(zhuǎn)換參數(shù)相關(guān)的第四成本函數(shù)被同時(shí)決定。在該掃描塊內(nèi)的所有零值量化轉(zhuǎn)換參數(shù)使用同一成本函數(shù)。
[0014]依據(jù)本發(fā)明的一實(shí)施例,一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括接收與轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù)相關(guān)的視頻數(shù)據(jù),其中,該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊;基于該量化轉(zhuǎn)換參數(shù)的最低有效位應(yīng)用奇偶檢查;及依據(jù)奇偶檢查的結(jié)果應(yīng)用符號(hào)位隱藏處理至每一修正值量化轉(zhuǎn)換參數(shù)。該奇偶檢查對(duì)應(yīng)于在該掃描塊的所有量化轉(zhuǎn)換參數(shù)的最低有效位或者該掃描塊的所有非零量化轉(zhuǎn)換參數(shù)的最低有效位上執(zhí)行異或操作。該奇偶檢查對(duì)應(yīng)于在該掃描塊的所有量化轉(zhuǎn)換參數(shù)的最低有效位或者該掃描塊的所有非零量化轉(zhuǎn)換參數(shù)的最低有效位上執(zhí)行求和操作,且對(duì)該求和操作的結(jié)果執(zhí)行除2操作。在視頻解碼器中,若該奇偶檢查的結(jié)果指示候選量化轉(zhuǎn)換參數(shù)的符號(hào)位被隱藏,該符號(hào)位隱藏補(bǔ)償處理對(duì)應(yīng)于改變?cè)摵蜻x量化轉(zhuǎn)換參數(shù)至一負(fù)值。在視頻編碼器中,該符號(hào)位隱藏補(bǔ)償處理對(duì)應(yīng)于用修正值+1或-1修改該修正值量化轉(zhuǎn)換參數(shù)。
[0015]一種用于視頻編碼器或者圖像處理器中處理量化轉(zhuǎn)換參數(shù)的裝置,該裝置包括一個(gè)或多個(gè)電路,其中該一個(gè)或多個(gè)電路被配置為:一模塊,被配置為接收轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù),其中該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊;一模塊,被配置為除了候選量化轉(zhuǎn)換參數(shù),為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí);一模塊,被配置為根據(jù)奇偶檢查的結(jié)果,識(shí)別該掃描塊的量化轉(zhuǎn)換參數(shù)的選定范圍內(nèi)的修正值量化轉(zhuǎn)換參數(shù),其中,在量化轉(zhuǎn)換參數(shù)的選定范圍中,該修正值量化轉(zhuǎn)換參數(shù)包含最小的成本函數(shù),且該成本函數(shù)與量化失真相關(guān),,且其中該掃描塊的與第一量化轉(zhuǎn)換參數(shù)有關(guān)的第一成本函數(shù)和與該掃描塊有關(guān)的第二量化轉(zhuǎn)換參數(shù)的第二成本函數(shù)被同時(shí)決定;一模塊,被配置為根據(jù)奇偶檢查的結(jié)果,相應(yīng)于最小成本函數(shù),使用一修正值修改該修正值量化轉(zhuǎn)換函數(shù)。
[0016]一種用于視頻編碼器或者圖像處理器中處理量化轉(zhuǎn)換參數(shù)的裝置,該裝置包括一個(gè)或多個(gè)電路,其中該一個(gè)或多個(gè)電路被配置為:一模塊,被配置為接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù),其中,該轉(zhuǎn)換塊包括M個(gè)量化轉(zhuǎn)換參數(shù),M為第一正整數(shù),且該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊;及一模塊,被配置為在該轉(zhuǎn)換塊的剩余的量化轉(zhuǎn)換參數(shù)被接收之前,應(yīng)用符號(hào)位隱藏處理至該轉(zhuǎn)換塊的N個(gè)量化轉(zhuǎn)換參數(shù),N是小于M的第二正整數(shù),且該符號(hào)位隱藏處理包括:一模塊,被配置為除了候選量化轉(zhuǎn)換參數(shù),符號(hào)位隱藏處理包括為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí);及一模塊,被配置為根據(jù)奇偶檢查的結(jié)果修改該掃描塊的量化轉(zhuǎn)換參數(shù)的選定范圍內(nèi)的修正值量化轉(zhuǎn)換參數(shù),其中,若該修改該修正值量化轉(zhuǎn)換參數(shù)被執(zhí)行,該修正值量化轉(zhuǎn)換參數(shù)被執(zhí)行。
[0017]一種用于視頻編碼器、視頻解碼器及圖像處理器的處理量化轉(zhuǎn)換參數(shù)的裝置,該裝置包括一個(gè)或多個(gè)電路,其中該一個(gè)或多個(gè)電路被配置為一模塊,被配置為接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù),其中該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊;一模塊,被配置為基于該量化轉(zhuǎn)換塊的最低有效位在該掃描塊上應(yīng)用奇偶檢查;及一模塊,被配置為依據(jù)該奇偶檢查的結(jié)果,應(yīng)用符號(hào)位隱藏補(bǔ)償處理至修正值量化轉(zhuǎn)換參數(shù)。
[0018]本發(fā)明的主要精神是同步對(duì)各掃描塊內(nèi)的QTC或者各掃描塊之間的QTC實(shí)現(xiàn)同步處理,還有對(duì)選定范圍內(nèi)的QTC進(jìn)行SBH處理,而非對(duì)所有QTC都接收完成之后才進(jìn)行SBH處理;再者,通過(guò)QTC的最低有效位來(lái)進(jìn)行奇偶檢查;這樣一來(lái),即可實(shí)現(xiàn)減少存儲(chǔ)需求及或降低計(jì)算復(fù)雜度的效果。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0019]圖1為依據(jù)本發(fā)明一實(shí)施例的影像擷取裝置的示意圖。
[0020]圖2為8x8轉(zhuǎn)換塊被進(jìn)行SBH處理的范例。
[0021 ] 圖3依據(jù)掃描順序,QTC被排列成一維陣列的范例。
[0022]圖4決定為SBH補(bǔ)償決定修正值QTC的開(kāi)始點(diǎn)的流程圖。[0023]圖5傳統(tǒng)的視頻編碼技術(shù)或者無(wú)SBH的HEVC的處理流程。
[0024]圖6為具有SBH的HEVC的處理流程。
[0025]圖7A為8x8塊內(nèi)的QTC的逐行轉(zhuǎn)換輸出方式。
[0026]圖7B為8x8塊內(nèi)的QTC的逐列轉(zhuǎn)換輸出方式。
[0027]圖8A揭示四個(gè)參數(shù)組以對(duì)角線(xiàn)排列。
[0028]圖8B揭示四個(gè)參數(shù)組垂直排列。
[0029]圖8C揭示四個(gè)參數(shù)組水平排列。
[0030]圖9A揭示一 16x16轉(zhuǎn)換塊的16個(gè)參數(shù)組的掃描順序。
[0031]圖9B揭示圖9A內(nèi)的16x16轉(zhuǎn)換塊的每一參數(shù)的掃描順序。
[0032]圖1OA至圖1OC揭示了傳統(tǒng)的SBH應(yīng)用在HEVC草案規(guī)范的語(yǔ)法設(shè)計(jì)。
[0033]圖11揭示了為SBH補(bǔ)償確定將被修該的修正值QTC的示例性編碼流程。
[0034]圖12揭示了代碼片段為每一 4x4掃描塊進(jìn)行符號(hào)位隱藏評(píng)估的范例
[0035]圖13A揭示了 計(jì)算每一 QTC量化失真的代碼片段的范例.[0036]圖13B表示計(jì)算另一 QTC位置上SBH補(bǔ)償?shù)某杀炯八褜づc最小成本函數(shù)相關(guān)的最佳成本位置的范例性代碼片段。
[0037]圖14揭示了 SBH處理的語(yǔ)法設(shè)計(jì)的范例。
[0038]圖15 —掃描塊的一位QTC陣列的范例。
[0039]圖16揭示了基于不同選擇范圍的補(bǔ)償方法的范例。
[0040]圖17A揭示一 8x8轉(zhuǎn)換塊的輸出。
[0041]圖17B揭示了依據(jù)本發(fā)明的實(shí)施例,SBH被同時(shí)應(yīng)用至一 8x8轉(zhuǎn)換塊的多個(gè)掃描塊。
[0042]圖18A揭示一 16x16轉(zhuǎn)換塊的輸出。
[0043]圖18B揭示了依據(jù)本發(fā)明的實(shí)施例,SBH被同時(shí)應(yīng)用至一 16x16轉(zhuǎn)換塊的多個(gè)掃描塊
[0044]圖19揭示了依據(jù)本發(fā)明的具有SBH的視頻編碼的流程圖。
[0045]
[0046]圖20揭示了配合本發(fā)明的一實(shí)施方式為一視頻編碼器使用SBH處理量化轉(zhuǎn)換參數(shù)的示例性流程圖。
[0047]圖21依據(jù)本發(fā)明另一實(shí)施例為一視頻編碼器使用SBH處理量化轉(zhuǎn)換參數(shù)的示例性流程圖。
[0048]圖22依據(jù)本發(fā)明另一實(shí)施例為一視頻解碼器使用SBH處理量化轉(zhuǎn)換參數(shù)的示例性流程圖。
【具體實(shí)施方式】
[0049]為了提高表現(xiàn),依據(jù)本發(fā)明的實(shí)施方式改善傳統(tǒng)的包含SBH處理的HEVC以實(shí)現(xiàn)平行SBH處理。依據(jù)本發(fā)明的實(shí)施方式也改善了傳統(tǒng)的包含SBH處理的HEVC以減少存儲(chǔ)需求。此外,依據(jù)本發(fā)明的SBH處理也可以被用于圖像或者圖片的處理。
[0050]圖10A、圖1OB及圖1OC揭示了傳統(tǒng)的SBH應(yīng)用在HEVC草案規(guī)范(JCTVC_J1003_d7.doc)的語(yǔ)法設(shè)計(jì)。參數(shù)significant_coeff_flag[xC] [yC]被用于編碼將被處理的QTC的有效位。代碼塊1012的代碼段被用于解碼參數(shù)significant_coeff_flag[xC] [yC]。代碼塊1011內(nèi)的參數(shù)IastScanPos指示最后掃描位置,且η是一個(gè)自O(shè)至15或者自O(shè)至IastScanPos的范圍。代碼塊1010及代碼塊1011內(nèi)的參數(shù)IastSubBlock表示一轉(zhuǎn)換塊的被掃描的最后子塊。當(dāng)該被處理的QTC不等于0,且當(dāng)該當(dāng)前QTC不是一掃描塊內(nèi)的第一QTC 或者一給定標(biāo)識(shí) inferSigCoeffFlag 未被設(shè)置,“significant_coeff_flag[xC] [yC] ”為1,否則為O。在一 8x8轉(zhuǎn)換塊內(nèi)使用SBH,該轉(zhuǎn)換塊被劃分成4個(gè)4x4掃描塊。每一掃描塊包含16個(gè)QTC位置。如圖2所示,當(dāng)該掃描塊為該最后掃描塊(IastSubBlock) 230,該最后掃描位置(IastScanPos))是該最后非零QTC260,否則該最后掃描位置是一掃描塊的最后QTC。如圖1OB所示的代碼塊1020的語(yǔ)法設(shè)計(jì)被用于決定是否啟用符號(hào)位隱藏。當(dāng)該第一非零QTC (或該第一有效掃描位置firstSigScanPos)與該最后非零QTC (或該最后有效掃描位置IastSigScanPos)之間的距離大于閾值3時(shí),該SBH處理被啟用。對(duì)于每一4x4掃描塊,除了候選QTC,為代碼塊1030內(nèi)的每一非零QTC,編碼一符號(hào)標(biāo)識(shí)coeff_sign_flag[n]。代碼塊1031內(nèi)所示的可變參數(shù)sumAbsLevel表示被用于奇偶檢查的絕對(duì)值的總和。代碼塊1032內(nèi)的可變參數(shù)TransCoeffLevel表示一非零QTC的值。代碼塊1033內(nèi)的參數(shù)sumAbsLevel%2決定該奇偶檢查的結(jié)果。當(dāng)代碼塊1033內(nèi)的條件被滿(mǎn)足,代碼塊1034內(nèi)的負(fù)符號(hào)被用于恢復(fù)該第一非零QTC的隱藏位。
[0051]圖11揭示了為SBH補(bǔ)償確定將被修該的修正值QTC的示例性編碼流程。除了隱藏候選QTC的符號(hào)位,該SBH處理進(jìn)一步包括SBH評(píng)估1110及依據(jù)最小成本公式確定一修正值QTC。不管何種轉(zhuǎn)換尺寸被應(yīng)用,該SBH處理被應(yīng)用至大小為每一 4x4掃描塊。對(duì)于每
一4x4掃描塊,該SBH評(píng)估涉及四個(gè)步驟以確定是否啟用該SBH處理。多個(gè)QTC被處理以依據(jù)步驟1111的掃描順序?qū)ふ以摰谝环橇鉗TC的位置,且然后被處理以依據(jù)步驟1112的掃描順序?qū)ふ易詈蠓橇鉗TC的位置。在步驟1113,該第一非零QTC及該最后非零QTC之間的距離被計(jì)算為distance__zeM。在步驟1114內(nèi),通過(guò)比較該distance__zeM與一預(yù)設(shè)閾值,若該distanCe___。相對(duì)于預(yù)設(shè)閾值大,決定這個(gè)塊內(nèi)的第一個(gè)非零位在編碼器內(nèi)是否可以被跳過(guò),否貝1J,當(dāng)該distance__zeM小于或等于該預(yù)設(shè)閾值,該當(dāng)前4x4掃描塊內(nèi)的SBH評(píng)估結(jié)束° In sign bit hiding process 1120, when is larger than the pre-def inedthreshold, the current 4x4 scan block is processed to determine whether the 4x4scan block is the last scan block of the transform block in step 1121.在符號(hào)位隱藏處理1120中,當(dāng)distance__zeM大于該預(yù)設(shè)閾值,在步驟1121,該當(dāng)前4x4掃描塊被處理以決定該4x4掃描塊是轉(zhuǎn)換塊的最后掃描塊。步驟1121被用于決定(decide)每一掃描塊裁定(determining)將被修正的修正值QTC的起始點(diǎn)。如果該4x4掃描塊是該轉(zhuǎn)換塊的最后掃描塊,決定該修正值QTC被修改自最后非零QTC開(kāi)始。若該4x4掃描塊不是最后掃描塊,則決定該修正值QTC被修正自該4x4掃描塊的最后QTC開(kāi)始。在步驟1124中,多個(gè)QTC被處理以決定是否該修正值QTC為該4x4掃描塊的第一非零QTC。如果該修正值QTC不是該第一非零QTC,該修正值QTC的成本與該最佳結(jié)果進(jìn)行比較,該最佳結(jié)果為存儲(chǔ)在步驟1125中的當(dāng)前最小成本 。當(dāng)該修正值QTC的成本小于該最佳結(jié)果,該修正值QTC被用于作為步驟1126中SBH補(bǔ)償?shù)淖罴呀Y(jié)果,該步驟1125中的最佳結(jié)果被更新且將被處理的該修正值QTC將被移至步驟1127的下一位置(參數(shù)位置=1 )。否則,若該修正值QTC的成本非小于該最佳結(jié)果,將被處理的該修正值QTC直接移至下一位置。當(dāng)該修正值QTC為該第一非零QTC,在步驟1128中,該修正值被檢查其絕對(duì)值是否等于I。如果該第一非零QTC的絕對(duì)值不等于1,該第一非零QTC的成本與該步驟1125中的最佳結(jié)果進(jìn)行比較以決定是否使用該第一非零QTC作為最佳結(jié)果。如果該第一非零QTC的絕對(duì)值等于1,將被處理的該位置直接被移至步驟1127中的下一位置,跳過(guò)與最佳結(jié)果比較的步驟。步驟1129被用于決定下一位置是否有其它多個(gè)QTC。如果其指示下一位置包含其它多個(gè)QTC,下一位置的該下一QTC作為下一修正值QTC自步驟1124再次被處理。如果該步驟1129的結(jié)果表示沒(méi)有其它QTC,該4x4掃描塊內(nèi)的符號(hào)位隱藏處理結(jié)束。
[0052]圖12揭示了正式的HEVC編碼器項(xiàng)目的代碼片段為每一 4x4掃描塊進(jìn)行符號(hào)位隱藏評(píng)估的范例。代碼塊1211被用于尋找該最后非零QTC的位置,且該代碼塊1212被用于尋找該第一非零QTC的位置。兩個(gè)條件被用于決定是否為SBH啟用補(bǔ)償。在代碼塊1214內(nèi)由代碼“l(fā)astNZpos-firstNZpo>=threshold”計(jì)算的該第一條件為是否該第一非零位置和該最后非零位置之間的距離大于或者等于一閾值。在代碼塊1214內(nèi),該最后非零位置及該第一非零位置分別用變量“l(fā)astNZpos”及“firstNZpos”表示。在代碼塊1213內(nèi)被決定的該第二條件是決定與SBH補(bǔ)償相關(guān)的子第一非零位置QTC至最后非零位置QTC的絕對(duì)值總和(在代碼塊1213內(nèi)用absSum表示)的奇偶檢查。當(dāng)該距離達(dá)到SBH閾值,且該絕對(duì)值為一奇數(shù),這兩個(gè)補(bǔ)償條件滿(mǎn)足,則為SBH啟用補(bǔ)償。
[0053]在SBH處理中,每一 QTC的量化失真被計(jì)算及存儲(chǔ)以用于SBH補(bǔ)償。圖13A揭示了計(jì)算每一 QTC量化失真的代碼片段的范例,在代碼塊110中,參數(shù)deltaU[uiBl0ckP0S]表示在有變量uiBlockPos表示的位置上的一 QTC的量化失真。圖13B表示計(jì)算另一QTC位置上SBH補(bǔ)償?shù)某杀炯八褜づc最小成本函數(shù)相關(guān)的最佳成本位置的示范性代碼片段。在圖13B所示的代碼片段中,在代碼塊1320pQCOef[blkpOS] !=0的計(jì)算及在代碼塊1321pQCoef [blkpos]==0的計(jì)算被用于確定每一 QTC是零,還是非零,然后決定是否采用不同的與量化失真相關(guān)的成 本函數(shù)。在一 4x4掃描塊內(nèi)的所有多個(gè)QTC位于兩個(gè)分區(qū)。該第一分區(qū)為零值分區(qū)在一維QTC陣列中位于第一非零QTC之前,且第二分區(qū)為該4x4掃描塊自第一非零QTC至該最后非零QTC分區(qū),但不包括該最后非零QTC本身。計(jì)算結(jié)果“n〈fistNZP0sInCG”被用于確定是否該零值QTC是在該第一分區(qū)還是在第二分區(qū)?;谝籕TC的分區(qū)信息,表示為curCost的當(dāng)前零值QTC的成本函數(shù)在代碼塊1322中被決定。在該成本函數(shù)被決定后,在代碼塊1323中的代碼被用于選擇QTC被修正以進(jìn)行補(bǔ)償。該參數(shù)“minPos”被用于指示具有最小成本“minCostlnc”的QTC位置,且該被選擇的QTC將用一修正值,如+1或者-1被修正。
[0054]為了提高平行處理能力及降低存儲(chǔ)需求,依據(jù)本發(fā)明的實(shí)施例揭示了在視頻編碼器或者視頻解碼其中使用SBH處理量化轉(zhuǎn)換參數(shù)的方法及裝置。依據(jù)本發(fā)明的一實(shí)施方式,在一轉(zhuǎn)換塊的所有QTC被接收之前,部分轉(zhuǎn)換塊的QTC被進(jìn)行SBH處理。因?yàn)樵揝BH處理掃描多個(gè)QTC,無(wú)需整個(gè)轉(zhuǎn)換塊可用,則用于HEVC測(cè)試模型(HM)引用程序中的編碼算法需要被完善。依據(jù)本發(fā)明的另一實(shí)施例,該多個(gè)QTC被平行處理。舉例來(lái)說(shuō),零值QTC及非零QTC可以同時(shí)被處理以計(jì)算成本函數(shù)。多個(gè)掃描塊可同時(shí)被處理以計(jì)算成本函數(shù)且在多個(gè)掃描塊的所有多個(gè)QTC被接收之前,每一掃描塊的部分QTC可以被同時(shí)處理。依據(jù)本發(fā)明的實(shí)施例,小于整個(gè)掃描塊的幾種修正值QTC的選擇范圍被使用。依據(jù)本發(fā)明的一實(shí)施例,通過(guò)簡(jiǎn)化奇偶產(chǎn)生及奇偶檢查,多個(gè)參數(shù)的關(guān)鍵路徑可以被減少。[0055]依據(jù)本發(fā)明的一實(shí)施例,當(dāng)一掃描塊的第一非零QTC至最后非零QTC的數(shù)字大于或者等于一給定符號(hào)位隱藏閾值(given sign bit hiding threshold, TSIG), SBH處理被啟用以隱藏該候選QTC的符號(hào)位。該候選QTC可為該掃描塊的第一非零QTC。換句話(huà)來(lái)說(shuō),該候選QTC的第一符號(hào)位無(wú)需被編碼。圖14揭示了比較距離與TSIG的語(yǔ)法設(shè)計(jì)的范例。對(duì)于每一非零QTC —控制標(biāo)識(shí)coeff_sign_flag[n]被編碼,除了該候選QTC,其中該候選QTC的符號(hào)位由其它QTC的奇偶檢查中推斷得出。為了匹配該QTC位階總和的校驗(yàn)位,因此在解碼器端該非零QTC的第一符號(hào)位可以被準(zhǔn)確地推導(dǎo)得出。如圖15所示的范例,一量化殘差塊的QTC陣列包含N個(gè)QTC自第一非零QTC至最后非零QTC,其中,該第一非零QTC為+3且該最后非零QTC為+1。在這個(gè)范例中,N個(gè)QTC也被用做QTC的選擇范圍以搜尋一具有最小成本函數(shù)的修正值QTC以進(jìn)行SBH補(bǔ)償。若TSIG為3且該第一非零QTC與該最后非零QTC之間的距離為8,大于該預(yù)設(shè)的TSIG,則SBH處理被啟用且該候選QTC的符號(hào)位被隱藏。如果該第一非零QTC為該候選QTC,SBH處理為該第一非零QTC “+3”隱藏該第一符號(hào)位“+”。因?yàn)樵摰谝环橇鉗TC的符號(hào)位為+,則該掃描塊的所有非零多個(gè)QTC的絕對(duì)值的和應(yīng)該為一偶數(shù)值。然而,在本范例中,該絕對(duì)值為9并不匹配該候選QTC的符號(hào)位,因此,該SBH補(bǔ)償被啟用。具有最小補(bǔ)償成本的修正值QTC通過(guò)在SBH處理中為奇偶檢查的一修正值被修正。在這個(gè)范例中,如果補(bǔ)償?shù)淖罴呀Y(jié)果為“+2”,QTC “+2”使用一修正值被修正。如果一修正值對(duì)應(yīng)于“+I”或“-1”,QTC “+2”被修正為“+3”還是“+I”取決于哪一個(gè)具有更低的SBH補(bǔ)償成本。如果該修正值對(duì)應(yīng)于“+3”或“_3”,QTC “+2”被修正為“+5”還是“-1”取決于哪一個(gè)具有更低的SBH補(bǔ)償成本。
[0056]依據(jù)本發(fā)明,用于搜尋一具有最小成本函數(shù)的修正值QTC以進(jìn)行SBH補(bǔ)償?shù)暮蜻x修正值QTC的范圍也可以被修正。因此,候選修正值QTC的成本被計(jì)算且在一相較于整個(gè)掃描塊更小的范圍被比較,且具有最小成本的該修正值可以被修正,因此與該候選QTC的符號(hào)位匹配的該掃描塊的所有QTC的絕對(duì)值總和或者所有非零QTC的絕對(duì)值總和的校驗(yàn)位在編碼端隱藏且在解碼器端被推導(dǎo)得出。依據(jù)本發(fā)明,取代使用一個(gè)掃描塊中的所有QTC,基于不同的更小選擇范圍的QTC被使用。圖16揭示了基于不同選擇范圍的補(bǔ)償方法的范例。對(duì)于掃描順序中的一 QTC線(xiàn)1610,方法A基于自第一非零QTC1620至最后QTC1650的范圍。方法B和C僅基于一個(gè)QTC,該一個(gè)QTC分別為該最后非零QTC1630及該最后QTC1650。方法D和E基于固定尺寸的范圍,如一具有8個(gè)連續(xù)QTC的預(yù)設(shè)范圍。在方法D中該范圍結(jié)束于該最后QTC1650的位置,在方法E中該范圍結(jié)束于在該最后非零QTC1630后的QTC1640的位置。方法F基于的范圍是自最后非零QTC至最后QTC,且方法G基于的范圍是自第一非零QTC至最后非零QTC。在每一個(gè)被選擇的范圍中,每一 QTC的成本函數(shù)被計(jì)算和被比較。一具有最小成本函數(shù)的修正值QTC被修正,因此該QTC位階(level)(或者振幅)的總和的校驗(yàn)位匹配該被隱藏的符號(hào)位。
[0057]圖17A及圖17B揭示了依據(jù)本發(fā)明的實(shí)施例,SBH被同時(shí)應(yīng)用至一 8x8轉(zhuǎn)換塊的多個(gè)掃描塊。該轉(zhuǎn)換塊包含視頻數(shù)據(jù)或者圖像數(shù)據(jù)。如圖17A所示,在此范例中,該轉(zhuǎn)換塊的輸出需要8個(gè)周期。如圖17B所示,該8個(gè)周期依序以周期T0,Tl, T2, T3, T4, T5, T6及T7表示。其中,零值QTC用空白方塊表示,非零QTC用陰影塊表示,且每一掃描塊的每一直流值位置表示為一 DC。依據(jù)本發(fā)明的一實(shí)施例,零值及非零QTC可以同時(shí)被處理以計(jì)算成本函數(shù),如QTC通過(guò)每一個(gè)虛線(xiàn)所示。作為一范例,在第四個(gè)周期T3后,兩個(gè)4x4掃描塊的QTC可用,且被首先處理,無(wú)需等待剩余的掃描塊可用。依據(jù)本發(fā)明的另一實(shí)施例,其中QTC被平行處理,每一周期內(nèi)的零值或者非零QTC可以被同時(shí)處理以計(jì)算成本函數(shù),其中多個(gè)掃描塊也可以被同時(shí)處理。舉例來(lái)說(shuō),在周期TO內(nèi)的零值或者非零值QTC同時(shí)被處理,且該掃描塊1710和1720被同時(shí)處理而無(wú)需等待該掃描塊1710和1720中的所有QTC均被接收。掃描塊1730及1740中的QTC也可以被同時(shí)處理。非零QTC1742是原始掃描塊1740中的最后非零QTC。為了成本函數(shù)計(jì)算,非零QTC1741是通過(guò)韌件或者軟件被處理的第一非零 QTC。
[0058]圖18A及圖18B揭示了依據(jù)本發(fā)明的另一實(shí)施例,基于視頻數(shù)據(jù)或者圖像數(shù)據(jù)的一 16x16轉(zhuǎn)換塊。與圖17A及圖17B類(lèi)似,圖18A所示的16x16轉(zhuǎn)換塊的輸出需要16個(gè)周期。如圖18B所示,該16個(gè)周期依序以周期TO至T15表示。其中,零值QTC用空白方塊表示,非零QTC用陰影塊表示,且每一掃描塊的每一直流位置表示為一 DC。依據(jù)本發(fā)明的實(shí)施例,當(dāng)一周期的QTC到達(dá),在同一周期內(nèi)的零值及非零QTC可以被同時(shí)處理。由周期TO至T3形成的四個(gè)掃描塊1810至1840可以第一個(gè)被處理無(wú)需等待該轉(zhuǎn)換塊的其它掃描塊可用。每一周期內(nèi)的零值及非零QTC可以被同時(shí)處理,且該四個(gè)掃描塊1810至1840內(nèi)的QTC可以被同時(shí)處理。
[0059]圖19揭示了依據(jù)本發(fā)明的具有SBH的視頻編碼的流程圖。轉(zhuǎn)換模塊1910處理視頻數(shù)據(jù)且逐行或者逐列輸出量化轉(zhuǎn)換參數(shù)。然后該量化轉(zhuǎn)換參數(shù)或者量化轉(zhuǎn)換參數(shù)陣列被量化模塊1920進(jìn)行處理。QTC陣列被劃分成4x4掃描塊,且被4x4塊處理模塊1930進(jìn)行處理以決定是否為每一掃描塊啟用SBH及SBH補(bǔ)償。當(dāng)一 16x16轉(zhuǎn)換塊被處理且QTC陣列由16個(gè)周期提供,每一 16x4參數(shù)組的QTC被劃分成4個(gè)掃描塊。通過(guò)成本函數(shù)計(jì)算模塊1940計(jì)算每一 QTC位置的量化失真及與量化失真相關(guān)的SBH補(bǔ)償?shù)某杀竞瘮?shù)。該成本函數(shù)陣列及4x4塊處理記過(guò)被提供至SBH補(bǔ)償模塊1950。當(dāng)該SBH被啟用取決于奇偶檢查的結(jié)果,SBH補(bǔ)償?shù)某杀竞瘮?shù)被比較且在一選擇范圍內(nèi)的具有最小成本函數(shù)的修正值QTC被修改。依據(jù)本發(fā)明的一實(shí)施例,相較于傳統(tǒng)SBH處理,四倍的SBH平行處理可以實(shí)現(xiàn)支持4x4,2x8,or8x2參數(shù)組。圖19的處理也可以被用于圖像和圖像的處理,其中通過(guò)轉(zhuǎn)換模塊1910處理的數(shù)據(jù)來(lái)源于一圖像或者圖片。
[0060]本發(fā)明還揭示了為每一掃描塊搜尋SBH補(bǔ)償?shù)淖钚〕杀竞瘮?shù)的方法。依據(jù)一實(shí)施例,當(dāng)整個(gè)掃描塊的所有QTC被接收,QTC檢查開(kāi)始以搜尋最小的成本函數(shù)。每一 QTC首先被確定其是否是零值或者非零。基于這個(gè)結(jié)果,該成本函數(shù)被選擇,取決于該QTC是否是零值或者非零。對(duì)于零值QTC,一成本函數(shù)被選擇自其它函數(shù)基于是否該QTC在第一分區(qū)(該第一非零QTC之前)還是該第二分區(qū)(自該第一非零QTC值最后QTC)。在計(jì)算與該量化失真的相關(guān)的SBH補(bǔ)償?shù)某杀竞瘮?shù)后,搜尋SBH的最小成本函數(shù)可以使用一平行結(jié)構(gòu)被實(shí)施依據(jù)一實(shí)施例,搜尋成本函數(shù)最小的修正值QTC基于在一掃描塊的所有QTC中進(jìn)行平行搜尋。在每一 QTC位置的該SBH補(bǔ)償?shù)某杀竞瘮?shù)同時(shí)兩兩相比較然后,每一比較組中SBH補(bǔ)償更小的成本函數(shù)也可以以平行方式進(jìn)行比較這種平行比較在找到該掃描塊中的最小成本函數(shù)時(shí)停止。依據(jù)另一實(shí)施例,在一掃描塊的所有QTC都可用之前,該掃描塊的成行或者成列的QTC可以被同時(shí)處理。該行或者列的每一 QTC首先被確定是否是零值或者非零,然后基于該結(jié)果相應(yīng)的成本函數(shù)被使用。對(duì)于零值QTC,每一零值QTC被進(jìn)一步檢查其是在第一分區(qū)還是第二分區(qū),最后被確定是否使用相同或者不同的成本函數(shù)進(jìn)行計(jì)算。在每一 QTC位置的SBH補(bǔ)償?shù)某杀竞瘮?shù)被計(jì)算后,一掃描塊的一行或者一列的成本函數(shù)被進(jìn)行兩兩比較以同時(shí)找出每一對(duì)的最小成本函數(shù),然后每一對(duì)的最小成本函數(shù)又被平行的進(jìn)行兩兩比較直至找出該掃描行或者掃描列中的最小成本函數(shù)。該第一行或者第一列的最小成本函數(shù)被存儲(chǔ)在一注冊(cè)表內(nèi)。其它行或者列的成本最小成本函數(shù)與該注冊(cè)表內(nèi)已存儲(chǔ)的最小成本函數(shù)進(jìn)行比較,更小的成本函數(shù)被用于更新注冊(cè)表內(nèi)已存儲(chǔ)的最小成本函數(shù)在所有行或者列被處理完成,該注冊(cè)表將包含該掃描塊的最小成本函數(shù)。在此實(shí)施例中,為了 SBH處理,該非零QTC信息如該掃描塊的非零QTC信息的地圖被存儲(chǔ)。
[0061]在發(fā)明中,還揭示了具有SBH的視頻編碼的奇偶檢查。依據(jù)本發(fā)明的一實(shí)施例,該奇偶檢查被應(yīng)用至一掃描塊的QTC的最小有效位(Least significant bits, LSBs)以確定是否進(jìn)行SBH補(bǔ)償操作。取代了計(jì)算一掃描塊的QTC的所有絕對(duì)值的總和,用于奇偶檢查的該絕對(duì)值的總和計(jì)算如下:
[0062]sumAbsLevel= Σ [coeff_value]
[0063]parity=sumAbsLevel%2.[0064]在一掃描塊中僅QTC的絕對(duì)值的最低有效位被計(jì)算一確定是否進(jìn)行SBH補(bǔ)償。
[0065]該奇偶檢查檢查由以下公式產(chǎn)生:
[0066]Parity=abs_coef_value[0]_bit_0X0R abs_coef_value[l]_bit_0X0R...[0067]abs_coef_value[15]_bit_0
[0068]其中,abs_coef_value[0]_bit_0為QTC在一掃描位置0的絕對(duì)值的位元0,
[0069]abs_coef_value [l]_bit_0為QTC在一掃描位置I的絕對(duì)值的位元O。進(jìn)一步簡(jiǎn)化計(jì)算,依據(jù)本發(fā)明的一實(shí)施例,僅非零QTC被用于計(jì)算奇偶。因此,僅一個(gè)掃描塊的所有非零QTC的LSB被用于計(jì)算奇偶檢查的絕對(duì)值的總和。當(dāng)在解碼器端該奇偶檢查指示候選量化轉(zhuǎn)換參數(shù)的符號(hào)位被隱藏時(shí),該SBH補(bǔ)償操作進(jìn)一步包括確定該候選QTC的符號(hào)位為負(fù)值。當(dāng)執(zhí)行圖像解碼時(shí),一掃描塊的第一非零QTC為候選QTC。當(dāng)執(zhí)行圖像編碼時(shí),該SBH補(bǔ)償操作進(jìn)一步包括使用“+I”或者“-1”修正一選擇的修正值QTC。該已選擇的修正值QTC是一掃描塊已選的QTC范圍內(nèi)包含進(jìn)行SBH補(bǔ)償?shù)淖钚〕杀竞瘮?shù)的QTC。
[0070]圖20揭示了配合本發(fā)明的一實(shí)施方式為一視頻編碼器使用SBH處理量化轉(zhuǎn)換參數(shù)的示例性流程圖。依據(jù)一實(shí)施方式,在步驟2010,一轉(zhuǎn)換塊的一個(gè)或多個(gè)量化轉(zhuǎn)換參數(shù)(QTC)被接收。這些QTC可來(lái)源于一媒體或者以處理器。該轉(zhuǎn)換塊包含M (M表示轉(zhuǎn)換塊的QTC的數(shù)量)個(gè)QTC,該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊。該QTC可存儲(chǔ)在系統(tǒng)的媒質(zhì)中以便進(jìn)行下一步處理。為了減少存儲(chǔ)需求,如步驟2020所示,在該轉(zhuǎn)換塊的剩余QTC被接收之前對(duì)N個(gè)QTC應(yīng)用SBH處理,其中N為一小于M的正數(shù)。該SBH處理包括為該掃描塊的每一非零QTC編碼一符號(hào)標(biāo)識(shí),除了該候選QTC。多個(gè)QTC of the scan block.該SBH處理可以進(jìn)一步包括在該掃描塊的已選擇范圍的QTC中修正一修正值QTC,該修正取決于對(duì)該掃描塊的所有QTC或者所有非零QTC執(zhí)行奇偶檢查的結(jié)果。該SBH處理還可以包括檢查該掃描塊的第一非零QTC與該最后非零QTC之間的距離以決定是否用一修正值修正該修正值QTC。該修正值可以是+1或者-1。為了實(shí)現(xiàn)SBH補(bǔ)償?shù)淖钚〕杀?,依?jù)已選擇范圍內(nèi)的最小成本函數(shù)識(shí)別該修正值QTC。由于修正值與相應(yīng)的QTC相關(guān),則該成本函數(shù)與量化失真相關(guān)。該修正值QTC的選定范圍與圖16中描述的方法A至G中的一范圍相關(guān),或者是該掃描塊的其它選定范圍。[0071]圖21揭示了配合本發(fā)明的一實(shí)施例,為一視頻編碼器處理量化轉(zhuǎn)換參數(shù)和修正一 QTC的示范性流程圖。如之前的描述,當(dāng)SBH處理被啟用,一候選QTC的符號(hào)位被隱藏。對(duì)于與候選QTC相關(guān)的奇偶檢查,一修正值QTC可被修正以補(bǔ)償該被隱藏的符號(hào)位。該最佳補(bǔ)償結(jié)果是以最小成本函數(shù)修正一修正值QTC。依據(jù)一實(shí)施例,步驟2110中,一轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù)自一煤質(zhì)或者處理器中被接收。該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊。該掃描塊的一選定范圍內(nèi)具有最小成本函數(shù)的一修正值QTC被識(shí)別,取決于奇偶檢查的結(jié)果。由于該修正值與相應(yīng)的QTC相關(guān),該成本函數(shù)與該量化失真有關(guān)。在該掃描塊內(nèi)與該第一 QTC有關(guān)的該第一成本函數(shù)及該掃描塊內(nèi)與該第二 QTC有關(guān)的第二成本函數(shù)可以被同時(shí)決定。在步驟2130中,相應(yīng)于最小成本函數(shù),該修正值QTC被一值修正取決于QTC奇偶檢查的結(jié)果。然后,在步驟2140中,除了該候選QTC,該掃描塊內(nèi)的每一非零QTC的符號(hào)標(biāo)識(shí)被編碼。
[0072]圖22揭示了配合本發(fā)明的一實(shí)施例,為一視頻解碼器處理量化轉(zhuǎn)換參數(shù)及QTC的奇偶檢查的示范性流程圖。如之前的描述,該候選QTC由與其它QTC相關(guān)的奇偶檢查推斷得出。依據(jù)本發(fā)明的一實(shí)施例,揭露了一中奇偶檢查方法以提高視頻解碼器的表現(xiàn),為配合SBH處理器的視頻解碼器進(jìn)行平行處理,以減少多個(gè)參數(shù)的關(guān)鍵路徑。依據(jù)該實(shí)施例,在步驟2210中,一轉(zhuǎn)換塊的與QTC有關(guān)的視頻數(shù)據(jù)接收自一媒質(zhì)或者一處理器,其中該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊。在步驟2220,基于該QTC的最低有效位,對(duì)該掃描塊的QTC應(yīng)用奇偶檢查。該奇偶檢查可相應(yīng)于在該掃描塊的所有QTC的最低有效位或該掃描塊的所有非零QTC上執(zhí)行異或處理。該奇偶檢查也可相應(yīng)在該掃描塊的所有QTC的最低有效位或者該掃描塊的所有非零QTC的最低有效位執(zhí)行求和操作,且在該求和結(jié)果上執(zhí)行除以2的操作。在步驟2230,對(duì)于奇偶檢查,依據(jù)該奇偶檢查的結(jié)果應(yīng)用SBH補(bǔ)償處理至該候選QTC。若該奇偶檢查的結(jié)果指示該候選QTC的符號(hào)位被隱藏,在視頻解碼器端的SBH補(bǔ)償處理對(duì)應(yīng)于改變?cè)摵蜻xQTC至一負(fù)值。該SBH補(bǔ)償處理在該視頻編碼器端對(duì)應(yīng)于用一修正值,如:+1或-1,修改該候選QTC。
[0073]圖20至圖22所示的為用于說(shuō)明上述處理的流程圖的范例。圖20及圖21所示的流程圖可以被用于圖像處理。本領(lǐng)域的一般技術(shù)人員在不脫離本發(fā)明的發(fā)明思想下,能夠重新排列或者組合或者分割上述步驟以實(shí)施本發(fā)明。
[0074]本領(lǐng)域的一般技術(shù)人員依據(jù)上述描述可以執(zhí)行本發(fā)明,本領(lǐng)域的一般技術(shù)人員也可以依據(jù)本發(fā)明的對(duì)上述實(shí)施方式進(jìn)行變形修改,或者依據(jù)本發(fā)明所定義的通用思想來(lái)實(shí)施其它實(shí)施方式,然而本發(fā)明提供的上述實(shí)施例并非用于限制本發(fā)明,而是揭示了一個(gè)包含本發(fā)明所揭示的總的發(fā)明思想的更廣的范圍。為了使本領(lǐng)域一般技術(shù)人員能夠依據(jù)本發(fā)明提供的詳細(xì)實(shí)施方式能夠更好的理解本發(fā)明的總的發(fā)明思想。
[0075]上述依據(jù)本發(fā)明的實(shí)施方式可通過(guò)多種硬件、軟件碼或上述結(jié)合實(shí)現(xiàn)。舉例來(lái)說(shuō),本發(fā)明的一實(shí)施例可為電路集成到視頻壓縮芯片,或者程序碼集成到視頻壓縮系統(tǒng),以進(jìn)行相應(yīng)處理。該DRAM記憶體可以為圖像或者視頻壓縮芯片的外部記憶體或者這些芯片的內(nèi)部記憶體,或者其它形式的記憶體,如FPGA(field programmable gate array)內(nèi)部記憶體。本發(fā)明的一實(shí)施例也可為集成在程序碼在圖像或者視頻壓縮/解壓縮軟件上執(zhí)行在CPU、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)以進(jìn)行相應(yīng)處理。本發(fā)明還可包含一系列功能,并由電腦處理器、數(shù)字信號(hào)處理器、微處理器、現(xiàn)場(chǎng)可編程門(mén)陣列(FieldProgrammable Gate Array7FPGA)執(zhí)行。通過(guò)執(zhí)行定義本發(fā)明實(shí)施例的機(jī)器可讀軟件碼或韌件碼,上述處理器可根據(jù)本發(fā)明執(zhí)行特定任務(wù)。軟件碼或韌件碼可在不同程序語(yǔ)言和不同格式或方式中進(jìn)行。軟件碼可編譯成不同的目標(biāo)平臺(tái)。不過(guò),不同的編碼格式、方式和軟件碼語(yǔ)言,以及與本發(fā)明有關(guān)的使碼執(zhí)行任務(wù)的其它方法均符合本發(fā)明的精神,落入本發(fā)明的保護(hù)范圍。
[0076]以上所述僅為本發(fā)明之較佳實(shí)施例,并非對(duì)本發(fā)明的權(quán)利要求的限制,凡依本發(fā)明權(quán)利要求范圍所做之均等變化與修飾,皆應(yīng)屬本發(fā)明之涵蓋范圍。
【權(quán)利要求】
1.一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括: 接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù),其中,該轉(zhuǎn)換塊包括M個(gè)量化轉(zhuǎn)換參數(shù),M為第一正整數(shù),且該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊;且 在該轉(zhuǎn)換塊的剩余的量化轉(zhuǎn)換參數(shù)被接收之前,應(yīng)用符號(hào)位隱藏處理至該轉(zhuǎn)換塊的N個(gè)量化轉(zhuǎn)換參數(shù),其中,N是第二正整數(shù),其小于M,且除了候選量化轉(zhuǎn)換參數(shù),符號(hào)位隱藏處理包括為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí)。
2.如權(quán)利要求1所述的方法,其特征在于,該符號(hào)位隱藏處理進(jìn)一步包括在該掃描塊的選定范圍用一修正值修改修正值量化轉(zhuǎn)換參數(shù),如果該修改該修正值量化轉(zhuǎn)換參數(shù)的步驟被啟用,取決于該奇偶檢查的結(jié)果。
3.如權(quán)利要求2所述的方法,其特征在于,該修正值對(duì)應(yīng)于+1或-1。
4.如權(quán)利要求2所述的方法,其特征在于,依據(jù)最小成本函數(shù),該修正值量化轉(zhuǎn)換參數(shù)被識(shí)別,其中該成本函數(shù)與量化失真有關(guān)。
5.如權(quán)利要求2所述的方法,其特征在于,該符號(hào)位隱藏處理包括檢查掃描塊的第一非零量化轉(zhuǎn)換參數(shù)與最后非零量化轉(zhuǎn)換參數(shù)之間的距離,以決定是否啟用該修改修正值量化轉(zhuǎn)換參數(shù)的步驟。
6.如權(quán)利要求2所 述的方法,其特征在于,該量化轉(zhuǎn)化參數(shù)的選定范圍可相應(yīng)于掃描塊任意選定的二量化轉(zhuǎn)換參數(shù)之間的范圍或者掃描塊的連續(xù)8個(gè)量化轉(zhuǎn)換參數(shù)。
7.如權(quán)利要求2所述的方法,其特征在于,該掃描塊的第一零值量化轉(zhuǎn)換參數(shù)的第一成本函數(shù)及第一非零量化轉(zhuǎn)換參數(shù)的第二成本函數(shù)不同,或者該掃描塊的第一分區(qū)的第二零值量化轉(zhuǎn)換參數(shù)的第三成本函數(shù)與第二分區(qū)的第三零值量化轉(zhuǎn)換參數(shù)的第四成本函數(shù)不同。
8.如權(quán)利要求2所述的方法,其特征在于,該符號(hào)位隱藏處理包括同時(shí)計(jì)算該掃描塊的第一量化轉(zhuǎn)換參數(shù)和第二量化轉(zhuǎn)化參數(shù)的成本函數(shù)。
9.如權(quán)利要求2所述的方法,其特征在于,該符號(hào)位隱藏處理包括同時(shí)處理第一量化轉(zhuǎn)換參數(shù)和第二量化轉(zhuǎn)換參數(shù),其中該第一量化轉(zhuǎn)換參數(shù)和該第二量化轉(zhuǎn)換參數(shù)分屬于不同的掃描塊。
10.一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括: 接收轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù),其中該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊; 根據(jù)奇偶檢查的結(jié)果,識(shí)別該掃描塊的量化轉(zhuǎn)換參數(shù)的選定范圍內(nèi)的修正值量化轉(zhuǎn)換參數(shù),其中,在量化轉(zhuǎn)換參數(shù)的選定范圍中,該修正值量化轉(zhuǎn)換參數(shù)包含最小的成本函數(shù),且該成本函數(shù)與量化失真相關(guān),且其中該掃描塊的與第一量化轉(zhuǎn)換參數(shù)有關(guān)的第一成本函數(shù)和與該掃描塊有關(guān)的第二量化轉(zhuǎn)換參數(shù)的第二成本函數(shù)被同時(shí)決定; 根據(jù)奇偶檢查的結(jié)果,相應(yīng)于最小成本函數(shù),使用一修正值修改該修正值量化轉(zhuǎn)換函數(shù);及 除了候選量化轉(zhuǎn)換參數(shù),為該掃描塊的每一非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí)。
11.如權(quán)利要求10所述的方法,其特征在于,第一掃描塊內(nèi)的與第三量化轉(zhuǎn)換參數(shù)相關(guān)的第三成本函數(shù)和第二掃描塊內(nèi)的與第四量化轉(zhuǎn)換參數(shù)相關(guān)的第四成本函數(shù)被同時(shí)決定。
12.如權(quán)利要求11所述的方法,其特征在于,該修正值對(duì)應(yīng)于+1或-1。
13.如權(quán)利要求10所述的方法,其特征在于,在該掃描塊內(nèi)的所有零值量化轉(zhuǎn)換參數(shù)使用同一成本函數(shù)。
14.一種處理量化轉(zhuǎn)換參數(shù)的方法,該方法用于視頻編碼器或者圖像處理器,該方法包括: 接收與轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù)相關(guān)的視頻數(shù)據(jù),其中,該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊; 基于該量化轉(zhuǎn)換參數(shù)的最低有效位應(yīng)用奇偶檢查;及 依據(jù)奇偶檢查的結(jié)果應(yīng)用符號(hào)位隱藏補(bǔ)償處理至每一修正值量化轉(zhuǎn)換參數(shù)。
15.如權(quán)利要求14所述的方法,其特征在于,該奇偶檢查對(duì)應(yīng)于在該掃描塊的所有量化轉(zhuǎn)換參數(shù)的最低有效位或者該掃描塊的所有非零量化轉(zhuǎn)換參數(shù)的最低有效位上執(zhí)行異或操作。
16.如權(quán)利要求14所述的方法,其特征在于,該奇偶檢查對(duì)應(yīng)于在該掃描塊的所有量化轉(zhuǎn)換參數(shù)的最低有效位或者該掃描塊的所有非零量化轉(zhuǎn)換參數(shù)的最低有效位上執(zhí)行求和操作,且對(duì)該求和操作的結(jié)果執(zhí)行除2操作。
17.如權(quán)利要求14所述的方法,其特征在于,在視頻解碼器中,若該奇偶檢查的結(jié)果指示候選量化轉(zhuǎn)換參數(shù)的符號(hào)位被隱藏,該符號(hào)位隱藏補(bǔ)償處理對(duì)應(yīng)于改變?cè)摵蜻x量化轉(zhuǎn)換參數(shù)至一負(fù)值。
18.如權(quán)利要求14所述的方法,其特征在于,在視頻編碼器中,該符號(hào)位隱藏補(bǔ)償處理對(duì)應(yīng)于用修正值+1或-1修改該修正值量化轉(zhuǎn)換參數(shù)。
19.一種用于視頻編碼器或者圖像處理器中處理量化轉(zhuǎn)換參數(shù)的裝置,該裝置包括: 一用于接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù)的模塊,其中,該轉(zhuǎn)換塊包括M個(gè)量化轉(zhuǎn)換參數(shù),M為第一正整數(shù),且該轉(zhuǎn)換塊被劃分成一個(gè)或者多個(gè)掃描塊;及 一用于在該轉(zhuǎn)換塊的剩余的量化轉(zhuǎn)換參數(shù)被接收之前,應(yīng)用符號(hào)位隱藏處理至該轉(zhuǎn)換塊的N個(gè)量化轉(zhuǎn)換參數(shù)的模塊,N是小于M的第二正整數(shù),且該符號(hào)位隱藏處理包括: 一用于為除了候選量化轉(zhuǎn)換參數(shù),為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí)的模塊;及 一用于若該修改該修正值量化轉(zhuǎn)換參數(shù)被執(zhí)行,根據(jù)奇偶檢查的結(jié)果修改該掃描塊的量化轉(zhuǎn)換參數(shù)的選定范圍內(nèi)的修正值量化轉(zhuǎn)換參數(shù)的符號(hào)位隱藏補(bǔ)償模塊。
20.一種用于視頻編碼器或者圖像處理器中處理量化轉(zhuǎn)換參數(shù)的裝置,該裝置包括: 一用于接收轉(zhuǎn)換塊的量化轉(zhuǎn)換參數(shù)的模塊,其中該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊; 一用于為除了候選量化轉(zhuǎn)換參數(shù),為該掃描塊的每一個(gè)非零量化轉(zhuǎn)換參數(shù)編碼符號(hào)標(biāo)識(shí)的模塊; 一用于根據(jù)奇偶檢查的結(jié)果,識(shí)別該掃描塊的量化轉(zhuǎn)換參數(shù)的選定范圍內(nèi)的修正值量化轉(zhuǎn)換參數(shù)的成本函數(shù)計(jì)算模塊,其中,在量化轉(zhuǎn)換參數(shù)的選定范圍中,該修正值量化轉(zhuǎn)換參數(shù)包含最小的成本函數(shù),且該成本函數(shù)與量化失真相關(guān),且其中該掃描塊的與第一量化轉(zhuǎn)換參數(shù)有關(guān)的第一成本函數(shù)和與該掃描塊有關(guān)的第二量化轉(zhuǎn)換參數(shù)的第二成本函數(shù)被同時(shí)決定; 一用于根據(jù)奇偶檢查的結(jié)果,相應(yīng)于最小成本函數(shù),使用一修正值修改該修正值量化轉(zhuǎn)換函數(shù)的模塊。
21.一種用于視頻編碼器、視頻解碼器及圖像處理器的處理量化轉(zhuǎn)換參數(shù)的裝置,該裝置包括: 一用于接收轉(zhuǎn)換塊的一個(gè)或者多個(gè)量化轉(zhuǎn)換參數(shù)的模塊,其中該轉(zhuǎn)換塊被劃分成一個(gè)或多個(gè)掃描塊; 一用于基于該量化轉(zhuǎn)換塊的最低有效位在該掃描塊上應(yīng)用奇偶檢查的模塊;及一用于依據(jù)該奇偶檢查的結(jié)果,應(yīng)用符號(hào)位隱藏補(bǔ)償處理至修正值量化轉(zhuǎn)換參數(shù)的符號(hào)位隱藏補(bǔ)償模塊。
【文檔編號(hào)】H04N19/129GK103813167SQ201310562523
【公開(kāi)日】2014年5月21日 申請(qǐng)日期:2013年11月13日 優(yōu)先權(quán)日:2012年11月13日
【發(fā)明者】李坤儐, 林亭安, 吳東興 申請(qǐng)人:聯(lián)發(fā)科技股份有限公司