專利名稱:無(wú)漂移代碼轉(zhuǎn)換器和相關(guān)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于對(duì)輸入的編碼信號(hào)進(jìn)行代碼轉(zhuǎn)換的方法,包括以下步驟-譯碼所述輸入的編碼信號(hào),得出譯碼的量化的信號(hào),-去量化所述譯碼的量化的信號(hào),得出去量化的信號(hào),-重新量化被補(bǔ)償?shù)男盘?hào),得出重新量化的信號(hào),-重新編碼所述重新量化的信號(hào),得出重新編碼的信號(hào),-補(bǔ)償由所述重新量化步驟在重新編碼的信號(hào)中引入的漂移,所述補(bǔ)償步驟在所述去量化和重新量化步驟之間執(zhí)行。
本發(fā)明也涉及用于實(shí)行所述方法的代碼轉(zhuǎn)換器。
本發(fā)明可用來(lái)把具有給定的比特速率的經(jīng)過(guò)MPEG壓縮的信號(hào)代碼轉(zhuǎn)換成另一個(gè)具有較低的比特速率的經(jīng)過(guò)MPEG壓縮的信號(hào)。
相關(guān)技術(shù)代碼轉(zhuǎn)換器可以把具有給定的比特速率的壓縮的信號(hào)變換成另一個(gè)具有較低的比特速率的壓縮的信號(hào)。基本上,被使用于這樣的目的的代碼轉(zhuǎn)換器包含級(jí)聯(lián)的譯碼器和編碼器。這種組合相當(dāng)復(fù)雜,以及這種復(fù)雜性可被大大地減小。在視頻信號(hào)的具體情形下,必須考慮某些其它方面。編碼的視頻信號(hào)包含一系列編碼的幀,其中每個(gè)幀再被劃分成二維的宏塊陣列,每個(gè)宏塊由多個(gè)塊組成。一個(gè)幀可以存在于作為象素域的空間域中,以及在頻率域或變換域中被傳輸,它是由該幀在空間域中的離散余弦變換(DCT)而產(chǎn)生的。此外,任何的幀可被分成兩個(gè)區(qū)由幀的奇數(shù)行形成的頂部區(qū)和由幀的偶數(shù)行形成的底部區(qū)。宏塊可以以兩種不同的格式被輸送交織格式(此后稱為幀格式),和去交織格式(此后稱為區(qū)格式)。在幀格式下,宏塊包括交替地來(lái)自兩個(gè)區(qū)的行,以及宏塊的每個(gè)DCT塊由來(lái)自兩個(gè)區(qū)的數(shù)據(jù)形成。在區(qū)格式下,宏塊包括來(lái)自兩個(gè)區(qū)的行,以及宏塊的每個(gè)DCT塊僅由來(lái)自兩個(gè)區(qū)中的一個(gè)區(qū)的數(shù)據(jù)形成。
用于實(shí)現(xiàn)諸如在引言中描述的代碼轉(zhuǎn)換的方法的一種可能的代碼轉(zhuǎn)換器,是由Assuncao等在IEEE Trans.On CSVT,vol.8,No.8(December 1998)中提出的。這篇論文揭示了一種具體的MPEG-2視頻信號(hào)專用的代碼轉(zhuǎn)換器。按照現(xiàn)有技術(shù)的代碼轉(zhuǎn)換器1,如
圖1所示,包括譯碼部分和以后的帶有運(yùn)動(dòng)補(bǔ)償?shù)木幋a部分。譯碼部分包括可變長(zhǎng)度譯碼器VLD和去量化器IQ1。編碼部分包括量化器Q2,漂移補(bǔ)償環(huán)DCL和可變長(zhǎng)度編碼器VLC。由Q2進(jìn)行的量化引入誤差宏塊E,或每個(gè)譯碼的宏塊F被量化到代碼轉(zhuǎn)換器1的代碼轉(zhuǎn)換路徑時(shí)的漂移。這個(gè)誤差宏塊E在漂移補(bǔ)償環(huán)DCL中被按照如下方式得出。誤差宏塊E在抽頭加法器S2的輸出端處作為在一個(gè)被提供到Q2的要被量化的被補(bǔ)償?shù)暮陦K與一個(gè)從去量化器IQ2發(fā)出的去量化的宏塊之間的差值而被得出。這個(gè)誤差宏塊E可以以幀格式或以區(qū)格式被提供。在后一種情況下,宏塊在區(qū)/幀轉(zhuǎn)換器f/T中被轉(zhuǎn)換成幀格式。所述誤差宏塊然后以幀格式被存儲(chǔ)在存儲(chǔ)器單元MEM,而所有其它的誤差宏塊相應(yīng)于同一個(gè)幀。因此,整個(gè)幀的誤差宏塊被存儲(chǔ)在存儲(chǔ)器單元MEM中,先前發(fā)送的幀的誤差宏塊也是如此。所有這些存儲(chǔ)的宏塊可供在MC-DCT單元中譯碼的宏塊F的運(yùn)動(dòng)補(bǔ)償用于預(yù)測(cè)的參考。最后得出譯碼的宏塊F的預(yù)測(cè)宏塊,以及在抽頭加法器S1中將它附加到譯碼的宏塊F上,結(jié)果形成補(bǔ)償?shù)淖g碼的宏塊,以便傳送到Q2去進(jìn)行量化。
現(xiàn)有技術(shù)描述的代碼轉(zhuǎn)換器包括專門地對(duì)具有幀格式的宏塊執(zhí)行運(yùn)動(dòng)補(bǔ)償?shù)钠蒲a(bǔ)償環(huán)。代碼轉(zhuǎn)換器包括與運(yùn)動(dòng)補(bǔ)償單元分開的、位于存儲(chǔ)器單元的上游處的區(qū)/幀轉(zhuǎn)換器,這樣,宏塊可以以幀格式被存儲(chǔ)。在這種代碼轉(zhuǎn)換器中實(shí)行的代碼轉(zhuǎn)換的方法涉及許多費(fèi)時(shí)的和導(dǎo)致復(fù)雜的硬件設(shè)施的獨(dú)立操作。
發(fā)明概要本發(fā)明的目的是提供一種代碼轉(zhuǎn)換方法,它包含節(jié)省時(shí)間的、少量的操作,以及能使用于實(shí)行這種方法的代碼轉(zhuǎn)換器的硬件設(shè)施簡(jiǎn)單。
按照本發(fā)明,諸如引言中描述的代碼轉(zhuǎn)換方法的漂移補(bǔ)償步驟至少包括以下接連的步驟-得出相應(yīng)于所述漂移的誤差信號(hào),-通過(guò)基于誤差信號(hào)的、和適合于誤差信號(hào)和預(yù)測(cè)信號(hào)的交織或非交織傳輸模式的同時(shí)進(jìn)行的運(yùn)動(dòng)補(bǔ)償和區(qū)/幀轉(zhuǎn)換,得出所述譯碼信號(hào)的預(yù)測(cè)信號(hào),-從譯碼信號(hào)中減去得出的所述預(yù)測(cè)信號(hào),從而得到要被重新量化的補(bǔ)償信號(hào)。
按照本發(fā)明的方法的漂移補(bǔ)償包括與區(qū)/幀轉(zhuǎn)換相組合的運(yùn)動(dòng)補(bǔ)償。這里提到的區(qū)/幀轉(zhuǎn)換操作涉及從區(qū)格式到幀格式的轉(zhuǎn)換和從幀格式到區(qū)格式的轉(zhuǎn)換。事實(shí)上,由量化所產(chǎn)生的誤差宏塊以它被提供的格式被存儲(chǔ),不必事先轉(zhuǎn)換成幀格式或區(qū)格式。運(yùn)動(dòng)補(bǔ)償操作可以針對(duì)區(qū)格式的宏塊或針對(duì)幀格式的宏塊不加區(qū)別地執(zhí)行。同樣地,運(yùn)動(dòng)補(bǔ)償操作可以不加區(qū)別地提供區(qū)格式的宏塊或幀格式的宏塊。此外,運(yùn)動(dòng)補(bǔ)償步驟根據(jù)被存儲(chǔ)在存儲(chǔ)器單元中的幀來(lái)執(zhí)行,這些宏塊或者以幀格式或者以區(qū)格式被存儲(chǔ)。因此,區(qū)/幀轉(zhuǎn)換操作與運(yùn)動(dòng)補(bǔ)償同時(shí)被執(zhí)行,取決于輸入和輸出的宏塊是需要區(qū)格式還是幀格式。組合的運(yùn)動(dòng)補(bǔ)償和區(qū)/幀轉(zhuǎn)換步驟可被考慮為一個(gè)自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟。
所以,與現(xiàn)有技術(shù)相比較,本發(fā)明的優(yōu)點(diǎn)是操作數(shù)量的減小,從而是費(fèi)用的減小。本發(fā)明中涉及的操作是被組合起來(lái)的,因此,按照本發(fā)明的方法的硬件設(shè)施被簡(jiǎn)化。
在本發(fā)明的實(shí)施例中,自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟是在變換域中針對(duì)幀來(lái)實(shí)行的。在變換域中對(duì)于幀的代碼轉(zhuǎn)換的優(yōu)點(diǎn)是使得所需的存儲(chǔ)器較少。
而且,本發(fā)明也涉及用于實(shí)現(xiàn)按照本發(fā)明的方法的代碼轉(zhuǎn)換器。
附圖簡(jiǎn)述現(xiàn)在,參照以下描述的和結(jié)合附圖考慮的實(shí)施例來(lái)說(shuō)明本發(fā)明的具體方面,其中圖1是用于實(shí)行按照現(xiàn)有技術(shù)的方法的代碼轉(zhuǎn)換器,圖2是用于實(shí)行按照本發(fā)明的方法的代碼轉(zhuǎn)換器,圖3顯示參照先前的圖象來(lái)對(duì)當(dāng)前的圖象的宏塊進(jìn)行預(yù)測(cè),圖4顯示亮度塊預(yù)測(cè)的推導(dǎo),圖5給出16×16去交織矩陣,圖6顯示色度塊預(yù)測(cè)的推導(dǎo),圖7顯示色度分量的垂直預(yù)測(cè)。
發(fā)明詳細(xì)描述圖2顯示用于實(shí)現(xiàn)按照本發(fā)明的方法的代碼轉(zhuǎn)換器1的實(shí)施例。代碼轉(zhuǎn)換器1用來(lái)把第一比特速率R1的數(shù)字視頻比特流轉(zhuǎn)換成第二比特速率R2的數(shù)字視頻比特流。可變長(zhǎng)度譯碼器VLD首先譯碼第一比特速率R1的編碼的比特流。譯碼器VLD的輸出比特流包含在頻域上被傳輸?shù)饺チ炕鱅Q1的一系列n個(gè)譯碼的量化的宏塊。去量化器IQ1對(duì)于從VLD單元接收的每個(gè)量化的宏塊提供一個(gè)譯碼的宏塊Fi(i=1...n)。VLD單元連同去量化器IQ1一起構(gòu)成代碼轉(zhuǎn)換器1的譯碼部分。
代碼轉(zhuǎn)換器1還包括一個(gè)用來(lái)把接收的比特速率R1的比特流轉(zhuǎn)換成比特速率R2的比特流的編碼部分。為此,代碼轉(zhuǎn)換器1包括用于重新量化接收的從IQ1發(fā)出的、去量化的和譯碼的比特流的量化器Q2。如上所述,漂移被引入到代碼轉(zhuǎn)換器的重新量化步驟。實(shí)際上,量化器Q2把誤差宏塊Ei或漂移引入到代碼轉(zhuǎn)換器1的代碼轉(zhuǎn)換路徑中。這個(gè)誤差宏塊Ei在漂移補(bǔ)償環(huán)DCL中被如下地導(dǎo)出和被補(bǔ)償。在環(huán)路DCL中,任何被Q2量化的宏塊在下一個(gè)步驟中被去量化器IQ2去量化,IQ2的量化步驟是與量化器Q2使用的量化步驟相同的。誤差宏塊Ei在抽頭加法器S2的輸出端作為在從IQ2發(fā)出的宏塊與初始被提供給Q2的宏塊之間的差值而被得出的。在視頻編碼時(shí),任何宏塊可以按照幀內(nèi)模式不參考另一個(gè)圖象而進(jìn)行編碼,或可以按照幀間模式參照先前的或未來(lái)的幀而被編碼。屬于I幀的宏塊按照幀內(nèi)模式被編碼。屬于P幀的宏塊可以參照先前的I或P幀被編碼。屬于B幀的宏塊可以參照先前的I或P幀和參照下一個(gè)I或P幀被編碼。P宏塊或B宏塊沿著代碼轉(zhuǎn)換路徑作為與一組被用作參考的幀有關(guān)的余量而被發(fā)送。這樣,當(dāng)P宏塊或B宏塊由代碼轉(zhuǎn)換器的譯碼級(jí)提供時(shí),所提供的數(shù)據(jù)涉及到先前的或未來(lái)的參考宏塊。而且,被Q2量化的任何宏塊要經(jīng)受到先前提到的漂移,結(jié)果,用作為參考的任何宏塊在量化后被稍微修改,因而除非進(jìn)行補(bǔ)償,否則將傳播誤差。為了校正這里引入的漂移,以參考的名義被輸送到其它宏塊的任何宏塊必須在DCP環(huán)路中根據(jù)錯(cuò)誤的宏塊進(jìn)行運(yùn)動(dòng)補(bǔ)償,以使得漂移不被傳播。
這樣,當(dāng)宏塊F1由去量化器IQ1提供給量化器Q2時(shí),在抽頭加法器S2中得出在去量化期間由Q2引入的誤差宏塊。在本實(shí)施例中,宏塊F1可以幀格式或以區(qū)格式不加區(qū)別地被提供,僅取決于原先的比特流沿著代碼轉(zhuǎn)換路徑被輸送的方式。誤差宏塊E1因此以與宏塊F1被輸送的格式相同的格式被送出。誤差宏塊E1然后被存儲(chǔ)在存儲(chǔ)器單元MEM中。同時(shí),運(yùn)動(dòng)補(bǔ)償在AMC單元中被執(zhí)行。按照本發(fā)明,運(yùn)動(dòng)補(bǔ)償操作在頻域中與區(qū)/幀轉(zhuǎn)換相組合。這些同時(shí)的運(yùn)動(dòng)補(bǔ)償和區(qū)/幀轉(zhuǎn)換此后被稱為自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟。它導(dǎo)致在AMC單元的輸出端處產(chǎn)生的譯碼的宏塊F1的預(yù)測(cè)宏塊P1。在自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟中的區(qū)/幀轉(zhuǎn)換是可任選的,它取決于AMC單元的輸出或輸入所需要的傳輸格式。實(shí)際上,運(yùn)動(dòng)補(bǔ)償首先根據(jù)先前被存儲(chǔ)在存儲(chǔ)器單元MEM中的幀來(lái)進(jìn)行,以及按照本發(fā)明,這些幀的宏塊可以以幀格式或區(qū)格式進(jìn)行存儲(chǔ)。此外,預(yù)測(cè)宏塊P1可以預(yù)期以幀格式或以區(qū)格式出現(xiàn)。運(yùn)動(dòng)補(bǔ)償步驟也根據(jù)在這里未提到的先前編碼期間得出的、從VLD單元接收的運(yùn)動(dòng)矢量MV來(lái)進(jìn)行。這樣,按照本發(fā)明的代碼轉(zhuǎn)換的方法的自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟是可以自適應(yīng)于任何類型的宏塊格式的。在下面的段落中將詳細(xì)描述這種自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟。
宏塊F1的預(yù)測(cè)宏塊P1最后在AMC單元的輸出端以想要的格式得出。這個(gè)預(yù)測(cè)宏塊P1在抽頭加法器S1中被從宏塊F1減去,這樣,補(bǔ)償?shù)暮陦KF1-P1可被發(fā)送到量化器Q2。在由Q2量化后,補(bǔ)償?shù)暮陦K被發(fā)送到可變長(zhǎng)度編碼器(即圖2上的VLC單元)以用于重新編碼。
如上所述,以參考名義被輸送到其它宏塊的任何宏塊需要進(jìn)行運(yùn)動(dòng)補(bǔ)償,以使得在用作為參考的宏塊中由Q2的量化引入的誤差不傳播。因此,屬于I幀的宏塊不需要被補(bǔ)償,可以直接從去量化器IQ1傳送到量化器Q2,以及傳送到VLC單元,以用于進(jìn)一步編碼。然而,由量化步驟Q2引入的、相應(yīng)的誤差宏塊被存儲(chǔ)在存儲(chǔ)器單元MEM。在本發(fā)明的實(shí)施例中,在AMC單元對(duì)屬于P幀和由IQ1提供的宏塊執(zhí)行的自適應(yīng)運(yùn)動(dòng)補(bǔ)償只使用過(guò)去的參考圖象。因此,只有相應(yīng)于過(guò)去的參考圖象的宏塊的誤差宏塊需要被存儲(chǔ)在存儲(chǔ)器單元MEM,以用于這樣的宏塊的預(yù)測(cè)。
對(duì)由IQ1提供的、并且屬于B幀的宏塊的預(yù)測(cè)傳統(tǒng)上需要分別相應(yīng)于先前的I或P圖象的宏塊和下一個(gè)I或P圖象的宏塊的誤差宏塊。在本發(fā)明的實(shí)施例中,屬于先前的I或P幀的誤差宏塊的貢獻(xiàn)被設(shè)置為零,因此只有相應(yīng)于未來(lái)的I或P幀的誤差宏塊需要被存儲(chǔ)在存儲(chǔ)器MEM中。給定這個(gè)假設(shè)后,存儲(chǔ)器單元MEM的尺寸可以減小,因?yàn)橹挥袉蝹€(gè)幀的誤差宏塊需要被存儲(chǔ)。
在以上提到的自適應(yīng)運(yùn)動(dòng)補(bǔ)償步驟中作出的預(yù)測(cè)可以通過(guò)許多不同的方式得出。實(shí)際上,預(yù)測(cè)宏塊可以根據(jù)具有幀格式或區(qū)格式的宏塊從幀預(yù)測(cè)或從區(qū)預(yù)測(cè)得出。
現(xiàn)在將說(shuō)明基本的運(yùn)動(dòng)補(bǔ)償處理過(guò)程,在本發(fā)明的實(shí)施例中,將說(shuō)明這種運(yùn)動(dòng)補(bǔ)償如何與可能的區(qū)/幀轉(zhuǎn)換相組合。在本發(fā)明的實(shí)施例中,幀具有4:2:0 DCT格式,每個(gè)幀的被劃分成二維的DCT宏塊陣列,每個(gè)宏塊包含一個(gè)U-色度8×8DCT塊、一個(gè)V-色度8×8DCT塊、和四個(gè)亮度8×8DCT塊。圖3顯示屬于當(dāng)前的圖象5的宏塊M。運(yùn)動(dòng)補(bǔ)償處理過(guò)程的目的是得到預(yù)測(cè)宏塊P(M),即宏塊M的預(yù)測(cè)。一個(gè)先前的圖象4(其相應(yīng)的誤差宏塊被存儲(chǔ)在存儲(chǔ)器單元MEM中)被用作為圖象參考,以便進(jìn)行對(duì)宏塊M的預(yù)測(cè)。在象素域中,宏塊R是根據(jù)一個(gè)與M有關(guān)以及與參考圖象4的坐標(biāo)(Vx,Vy)有關(guān)的運(yùn)動(dòng)矢量MV,通過(guò)變換而得出的。在本發(fā)明的實(shí)施例中,運(yùn)動(dòng)矢量MV是由譯碼器VLD給出的。宏塊R被用作為塊參考,以便得到宏塊P(M)的色度塊和亮度塊的分量。宏塊R跨立在四個(gè)宏塊M1,M2,M3,M4上,所以這四個(gè)宏塊被用作為預(yù)測(cè)宏塊M的參考。為了得出P(M),必須根據(jù)四個(gè)宏塊M1,M2,M3,M4的各自的色度塊和亮度塊來(lái)對(duì)色度數(shù)據(jù)和亮度數(shù)據(jù)執(zhí)行運(yùn)動(dòng)補(bǔ)償。
圖4上顯示亮度數(shù)據(jù)的運(yùn)動(dòng)補(bǔ)償。它表示了帶有它們各自的四個(gè)亮度8×8 DCT塊Aj,Bj,Cj,Dj(j=1...4)的四個(gè)參考宏塊M1,M2,M3,M4。亮度數(shù)據(jù)的運(yùn)動(dòng)補(bǔ)償步驟包括可導(dǎo)致產(chǎn)生六個(gè)亮度8×8DCT塊J1,J2,J3,K1,K2和K3的垂直運(yùn)動(dòng)補(bǔ)償,后面跟隨可導(dǎo)致產(chǎn)生四個(gè)亮度8×8 DCT塊L1,L2,L3和L4的水平運(yùn)動(dòng)補(bǔ)償。J1,J2,J3,K1,K2,K3,L1,L2,L3和L4被計(jì)算為如下L1L2L3L4=J1J2J3K1K2K3H1(dx)t0H2(dx)tH1(dx)t0H2(dx)t----(1)]]>以及對(duì)于i=1,2,3 -其中在半象素中的(dx,dy)是從四個(gè)宏塊區(qū)域{M1,M2,M3,M4}的左上角的宏塊參考R的運(yùn)動(dòng)(0<dx<32;0<dy<32),-其中H1(dx)和H2(dx)是8×8水平預(yù)測(cè)矩陣,它們的系數(shù)依賴于dx的數(shù)值和相應(yīng)于水平運(yùn)動(dòng)補(bǔ)償。H1(dx)t和H2(dx)t是它們各自的轉(zhuǎn)置矩陣。
-其中XA,XB,YA,YB是8×8垂直預(yù)測(cè)矩陣,它們的系數(shù)依賴于dy的數(shù)值。它們的元素也依賴于宏塊P(M)的預(yù)期的格式和塊Ai與Bi的格式。
-其中XC,XD,YC,YD是8×8垂直預(yù)測(cè)矩陣,它們的系數(shù)依賴于dy的數(shù)值和相應(yīng)于垂直運(yùn)動(dòng)補(bǔ)償。它們的元素也依賴于宏塊P(M)的預(yù)期的格式和塊Ci與Di的格式。
這些矩陣的元素可以事先針對(duì)所有可能的參量(預(yù)測(cè)模式、DCT格式和運(yùn)動(dòng)矢量(dx,dy))被計(jì)算。由于發(fā)現(xiàn)許多矩陣是相同的,每個(gè)矩陣的單次出現(xiàn)被存儲(chǔ)和被加下標(biāo)。矩陣從查找表中被檢索,該查找表以參量的函數(shù)的形式來(lái)提供該矩陣。
必須進(jìn)行預(yù)測(cè)模式的選擇,以使得公式(1)和(2)的矩陣可以只需進(jìn)行一次計(jì)算。在本發(fā)明的實(shí)施例中,所選擇的預(yù)測(cè)模式是幀預(yù)測(cè)。我們引入圖5上給出的矩陣Γ16,Γ16是16×16去交織矩陣,用于把空間域中以區(qū)格式的幀轉(zhuǎn)換成空間域中以幀格式的幀。Γt16是Γ16的轉(zhuǎn)置矩陣。矩陣△(r,c)(0<r<8,0<c<8)也被定義為8×8離散余弦變換矩陣 矩陣SN(k)也被定義為N×N矩陣-如果k是偶數(shù)和正的,則具有在第(k/2)條上對(duì)角線上的1,
-如果k是偶數(shù)和負(fù)的,則具有在第(-k/2)條下對(duì)角線上的1,-其它情況時(shí),它等于(SN(k-1)+SN(k+1))/2)。
因此,在本發(fā)明的實(shí)施例中,對(duì)于亮度分量的水平運(yùn)動(dòng)補(bǔ)償,選擇幀預(yù)測(cè)模式,它給出以下的水平預(yù)測(cè)矩陣H1(dx)和H2(dx)H1(dx)=116round(16ΔS8(dx)Δt)]]>H2(dx)=116round(16ΔS8(dx-16)Δt)----(3)]]>同樣地,在本發(fā)明的實(shí)施例中,對(duì)于亮度分量的垂直運(yùn)動(dòng)補(bǔ)償,選擇同樣的任意幀預(yù)測(cè)模式,它給出以下的垂直預(yù)測(cè)矩陣XA(dy),YA(dy),XB(dy),YB(dy),XC(dy),YC(dy),XD(dy),YD(dy) 附著在矩陣Γ16和Γt16上的、公式組(4)中的下標(biāo)[1],[2],[3]表示相應(yīng)的矩陣是否應(yīng)當(dāng)被歸并到公式中。下標(biāo)[1]表示如果要被預(yù)測(cè)的宏塊M具有幀格式,則在兩個(gè)公式組(4)中要考慮矩陣Γ16,否則不考慮它。同樣地,下標(biāo)[2]表示如果塊Ai和Bi處在區(qū)格式,則矩陣Γt16被歸并到第一式。下標(biāo)[3]表示如果塊Ci和Di處在區(qū)格式,則矩陣Γt16被歸并到第二式。
幀預(yù)測(cè)模式的選擇絕不是本發(fā)明的限制,以及頂部區(qū)或底部區(qū)預(yù)測(cè)模式可被選擇和將會(huì)導(dǎo)致不同的補(bǔ)償矩陣。在本發(fā)明的實(shí)施例中,對(duì)于亮度分量提出的運(yùn)動(dòng)補(bǔ)償步驟可應(yīng)用于任何宏塊,而不管它的格式如何?,F(xiàn)在對(duì)于色度分量的運(yùn)動(dòng)補(bǔ)償給出類似的計(jì)算。
圖6上顯示色度數(shù)據(jù)的運(yùn)動(dòng)補(bǔ)償。在本發(fā)明的本實(shí)施例中,被使用于色度塊預(yù)測(cè)的運(yùn)動(dòng)矢量是與前面被使用于亮度塊預(yù)測(cè)的運(yùn)動(dòng)矢量相同的。然而,它按照色度格式被換算,在4∶2∶0格式中水平和垂直分量都被除以2,因?yàn)樯确至吭诿芏壬鲜橇炼确至康囊话?。這個(gè)運(yùn)動(dòng)矢量在某種意義上可以稍微不同。四個(gè)參考宏塊M1,M2,M3,M4具有它們各自的色度8×8DCT塊EK(k=1,2,3,4)。由于在換算運(yùn)動(dòng)矢量的Vx和Vy分量時(shí)的舍入誤差,圖6上的宏塊M1,M2,M3,M4不一定與圖4上的宏塊M1,M2,M3,M4相同。按照本發(fā)明的運(yùn)動(dòng)補(bǔ)償步驟首先包括可導(dǎo)致產(chǎn)生兩個(gè)色度8×8DCT塊X1,X2的垂直運(yùn)動(dòng)補(bǔ)償,后面跟隨可導(dǎo)致產(chǎn)生預(yù)測(cè)宏塊P(M)的一個(gè)色度8×8DCT塊Z的水平運(yùn)動(dòng)補(bǔ)償。Z,X1和X2被計(jì)算為如下 -其中在半象素中的(dx’,dy’)是從四個(gè)宏塊區(qū)域{M1.M2,M3,M4}的左上角的宏塊參考R的運(yùn)動(dòng)(dx’=dx/2;dy’=dy/2)。H1(dx’),H2(dx’),H1(dx’)t和H2(dx’)t是與亮度分量計(jì)算時(shí)相同的。
-其中VA(dy’)和VB(dy’)相應(yīng)于垂直運(yùn)動(dòng)補(bǔ)償,是8×8垂直預(yù)測(cè)矩陣,它們的系數(shù)依賴于dy’的數(shù)值。
對(duì)于色度分量的垂直運(yùn)動(dòng)補(bǔ)償,選擇相同的預(yù)測(cè)模式,這給出以下的、任意選擇的垂直預(yù)測(cè)矩陣VA(dy’)和VB(dy’)VA(dy′)=116round(16ΔS8(dy′)Δt)]]>VB(dy′)=116round(16ΔS8(dy′-16)Δt)----(6)]]>圖7上給出在方程組(5)中執(zhí)行的色度分量的垂直預(yù)測(cè)的計(jì)算的一部分的圖。它顯示宏塊M1和M2具有它們各自的、從E1和E2的逆離散余弦變換得出的8×8象素塊IDCT(E1)和IDCT(E2)。它也顯示宏塊R的一部分(圖上的畫陰影線部分)。垂直預(yù)測(cè)計(jì)算導(dǎo)致產(chǎn)生宏塊X1。在本例中,dx=4和dy=6。8×8DCT塊X1的陰影線部分是通過(guò)由圖7上的DCT亮度塊E1,E2的陰影線部分的函數(shù)116round(16...)]]>的舍入而得到。
這些提出的預(yù)測(cè)矩陣VA(dy’),VB(dy’),XA(dy),YA(dy),XB(dy),YB(dy),XC(dy),YC(dy),XD(dy),YD(dy),決不表示對(duì)本發(fā)明的限制。實(shí)際上,數(shù)學(xué)平均函數(shù)116round(16...)]]>是任意選擇的,以及可以使用其它的預(yù)測(cè)函數(shù),這取決于所需要的得出的分量的精度。在本發(fā)明的本實(shí)施例中,選擇了幀預(yù)測(cè)模式并且任意地選擇給定的預(yù)測(cè)矩陣。在基于區(qū)的預(yù)測(cè)的情況下,就得出不同的矩陣?;趨^(qū)的預(yù)測(cè)包括對(duì)于給定的宏塊的不同數(shù)值的兩個(gè)運(yùn)動(dòng)矢量第一運(yùn)動(dòng)矢量表示在被使用于宏塊的頂部區(qū)的預(yù)測(cè)的參考圖象中的宏塊,以及第二運(yùn)動(dòng)矢量表示在被使用于宏塊的底部區(qū)的預(yù)測(cè)的參考圖象中的宏塊。宏塊本身的預(yù)測(cè)是兩個(gè)區(qū)的預(yù)測(cè)的總和。這導(dǎo)致產(chǎn)生另兩組預(yù)測(cè)矩陣用于根據(jù)第一運(yùn)動(dòng)矢量的頂部區(qū)的預(yù)測(cè)的一組預(yù)測(cè)矩陣、和用于根據(jù)第二運(yùn)動(dòng)矢量的底部區(qū)的預(yù)測(cè)的一組預(yù)測(cè)矩陣。而且,考慮到每個(gè)區(qū)可以從頂部區(qū)或從底部區(qū)被預(yù)測(cè),從每組預(yù)測(cè)矩陣可導(dǎo)致產(chǎn)生更多的替換方案。
權(quán)利要求
1.用于對(duì)輸入的編碼信號(hào)進(jìn)行代碼轉(zhuǎn)換的方法,包括以下步驟-譯碼所述輸入的編碼信號(hào),得出譯碼的量化的信號(hào),-去量化所述譯碼的量化的信號(hào),得出去量化的信號(hào),-重新量化被補(bǔ)償?shù)男盘?hào),得出重新量化的信號(hào),-重新編碼所述重新量化的信號(hào),得出重新編碼的信號(hào),-補(bǔ)償由所述重新量化步驟在重新編碼的信號(hào)中引入的漂移,所述補(bǔ)償步驟在所述去量化和重新量化步驟之間執(zhí)行,其中所述漂移補(bǔ)償步驟至少包括以下接連的步驟-得出相應(yīng)于所述漂移的誤差信號(hào),-通過(guò)基于誤差信號(hào)的、和適合于誤差信號(hào)和預(yù)測(cè)信號(hào)的交織或非交織傳輸模式的同時(shí)進(jìn)行的運(yùn)動(dòng)補(bǔ)償和區(qū)/幀轉(zhuǎn)換,得出所述譯碼信號(hào)的預(yù)測(cè)信號(hào),-從譯碼信號(hào)中減去所得出的所述預(yù)測(cè)信號(hào),從而得到要被重新量化的補(bǔ)償信號(hào)。
2.如權(quán)利要求1的對(duì)輸入的編碼信號(hào)進(jìn)行代碼轉(zhuǎn)換的方法,其特征在于,其中所述輸入的編碼信號(hào)包括被劃分成空間上非重疊的在頻域上編碼的宏塊的接連的視頻幀,所述預(yù)測(cè)信號(hào)是預(yù)測(cè)宏塊,以及這個(gè)預(yù)測(cè)宏塊的導(dǎo)出只是針對(duì)先前按照幀間模式編碼的宏塊而執(zhí)行的。
3.如權(quán)利要求1的對(duì)輸入的編碼信號(hào)進(jìn)行代碼轉(zhuǎn)換的方法,其特征在于,其中所述輸入的編碼信號(hào)包括被劃分成空間上非重疊的在頻域上編碼的宏塊的接連的視頻幀,所述預(yù)測(cè)信號(hào)是預(yù)測(cè)宏塊,以及屬于B幀的宏塊的預(yù)測(cè)宏塊的導(dǎo)出只是根據(jù)未來(lái)幀的誤差宏塊而執(zhí)行的。
4.代碼轉(zhuǎn)換器,具有-譯碼器,用于譯碼輸入的編碼信號(hào)和提供譯碼的量化的信號(hào),-去量化器,用于去量化被譯碼的量化的信號(hào)和提供被譯碼的信號(hào),-量化器,用于重新量化被補(bǔ)償?shù)男盘?hào)和提供重新量化的信號(hào),-編碼器,用于重新編碼所述重新量化的信號(hào)和提供重新編碼的信號(hào),-補(bǔ)償裝置,用于補(bǔ)償由所述量化器補(bǔ)償在重新編碼的信號(hào)中引入的漂移,所述補(bǔ)償裝置在去量化器和量化器之間引入補(bǔ)償,其中所述用于補(bǔ)償漂移的裝置包括-用于得出相應(yīng)于所述漂移的誤差信號(hào)的單元,-用于通過(guò)基于誤差信號(hào)的、和適合于誤差信號(hào)和預(yù)測(cè)信號(hào)的交織或非交織傳輸模式的同時(shí)進(jìn)行的運(yùn)動(dòng)補(bǔ)償和區(qū)/幀轉(zhuǎn)換從而得出所述譯碼信號(hào)的預(yù)測(cè)信號(hào)的單元,-加法器,用于從所述譯碼信號(hào)中減去所得出的預(yù)測(cè)信號(hào),從而得到補(bǔ)償?shù)男盘?hào)。
全文摘要
本發(fā)明涉及代碼轉(zhuǎn)換器,它包括漂移補(bǔ)償環(huán)(DCL),用于補(bǔ)償由量化操作(Q2)在代碼轉(zhuǎn)換路徑中引入的漂移信號(hào)(Ei)。這個(gè)漂移補(bǔ)償環(huán)對(duì)于從先前的去量化(IQ1)發(fā)出的信號(hào)(F1)執(zhí)行運(yùn)動(dòng)補(bǔ)償,從而得到預(yù)測(cè)信號(hào)(P1)。運(yùn)動(dòng)補(bǔ)償是根據(jù)被存儲(chǔ)在存儲(chǔ)器單元(MEM)中的漂移信號(hào)進(jìn)行的。漂移信號(hào)和預(yù)測(cè)信號(hào)可以以交織的或去交織的結(jié)構(gòu)形式被輸送。按照本發(fā)明,AMC單元利用所述漂移和預(yù)測(cè)信號(hào)的去交織的或交織的結(jié)構(gòu)來(lái)適應(yīng)運(yùn)動(dòng)補(bǔ)償操作。
文檔編號(hào)H04N7/32GK1322444SQ00802018
公開日2001年11月14日 申請(qǐng)日期2000年7月13日 優(yōu)先權(quán)日1999年7月20日
發(fā)明者A·莫雷爾 申請(qǐng)人:皇家菲利浦電子有限公司