專利名稱:代碼轉(zhuǎn)換器和代碼轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及代碼轉(zhuǎn)換器和代碼轉(zhuǎn)換方法,尤其涉及在代碼轉(zhuǎn)換模式中用于判定模式和運(yùn)動(dòng)矢量的代碼轉(zhuǎn)換器和代碼轉(zhuǎn)換模式中判定運(yùn)動(dòng)矢量的方法。
背景技術(shù):
運(yùn)動(dòng)圖象信號(hào)具有非常大的數(shù)據(jù)量,因此在壓縮編碼運(yùn)動(dòng)圖象信號(hào)并變換運(yùn)動(dòng)圖象信號(hào)為比特流后,發(fā)送或記錄數(shù)據(jù)。作為一種壓縮編碼方法,通常使用國際標(biāo)準(zhǔn)化組織(ISO)11172運(yùn)動(dòng)圖象專家組(MPEG)方法。
圖1是常規(guī)代碼轉(zhuǎn)換器的框圖。參照?qǐng)D1,常規(guī)代碼轉(zhuǎn)換器包括VLD(可變長(zhǎng)度解碼器)101、IQ(反量化器)103a和103b、IDCT(反離散余弦變換器)105a和105b、加法器107a和107b、MC(運(yùn)動(dòng)補(bǔ)償器)109a和109b、減法器111、DCT(離散余弦變換器)113、量化器115、VLC(可變長(zhǎng)度編碼器)117、和運(yùn)動(dòng)矢量信息變換器119。
VLD 101通過標(biāo)記常產(chǎn)生的數(shù)據(jù)為短符號(hào)和不常產(chǎn)生的數(shù)據(jù)為相對(duì)長(zhǎng)符號(hào),以減少整個(gè)數(shù)據(jù)流量。作為一個(gè)圖象,VLD 101減少了僅由DCT系數(shù)構(gòu)成的圖象中相當(dāng)多的比特量。VLD 101執(zhí)行霍夫曼(Huffman)編碼以便進(jìn)一步減少比特量。
IQ 103a反量化由VLD 101編碼的DCT系數(shù)。IQ 103a將反量化的DCT系數(shù)發(fā)送到IDCT 105a。IDCT 105a將通過反DCT變換反量化的DCT系數(shù)得到的估算誤差信號(hào)提供到加法器107a。加法器107a將輸入到加法器107a的估算誤差信號(hào)和由MC 109a提供的MC估算誤差信號(hào)相加?!浪恪馕吨?jì)算幀和字段之間的象素?cái)?shù)據(jù)差。換言之,搜索當(dāng)前幀和字段中具有最佳匹配數(shù)據(jù)的宏塊和先前幀和字段中的宏塊,并且對(duì)宏塊的搜索的運(yùn)動(dòng)方向由運(yùn)動(dòng)矢量檢測(cè)。
從輸入運(yùn)動(dòng)矢量來說,MC 109a通過編碼的次序從先前幀或多個(gè)先前幀估算運(yùn)動(dòng)補(bǔ)償,并發(fā)送MC估算信號(hào)到加法器107a。加法器107a相加輸入估算誤差信號(hào)和MC估算誤差信號(hào),并經(jīng)整數(shù)換算器110發(fā)送相加的信號(hào)到減法器111。減法器111從換算的估算誤差信號(hào)中減去第二MC估算信號(hào),并提供結(jié)果估算誤差信號(hào)作為到DCT 113的輸入。DCT 113DCT變換輸入估算誤差信號(hào),并將得到的DCT系數(shù)提供到量化器115。量化器115量化輸入的DCT系數(shù)。量化器115將量化的DCT系數(shù)提供到VLC 117并同時(shí)到IQ103b。IQ 103b反量化輸入的DCT系數(shù)。IQ 103b將反量化的DCT系數(shù)提供到IDCT 105b。IDCT 105b反DCT變換輸入的DCT系數(shù),并提供估算誤差信號(hào)作為到加法器107b的輸入。加法器107b相加輸入的估算誤差信號(hào)和估算信號(hào),并將得到的信號(hào)提供到MC 109b。從輸入的運(yùn)動(dòng)矢量來說,MC 109b通過編碼的次序從前幀或多個(gè)前幀估算運(yùn)動(dòng)補(bǔ)償。即,MC 109b計(jì)算相對(duì)于各連續(xù)輸入圖象的輸入運(yùn)動(dòng)矢量,即各個(gè)幀,并根據(jù)計(jì)算的運(yùn)動(dòng)矢量估算運(yùn)動(dòng)補(bǔ)償。編碼的次序意味著由MC 109b處理的輸入圖象信號(hào)的次序。MC 109b將得到的估算信號(hào)提供到減法器111,并同時(shí)到加法器107b。VLC 117可變長(zhǎng)度編碼輸入圖象編碼類型、運(yùn)動(dòng)矢量、和量化的DCT系數(shù),并輸出得到的比特流。運(yùn)動(dòng)矢量信息發(fā)送器119變換由VLD 101提供的值(運(yùn)動(dòng)矢量信息)為由編碼器可用的適當(dāng)形式。
但是,常規(guī)代碼轉(zhuǎn)換器僅支持2N倍數(shù)或整數(shù)倍數(shù)的換算比例來重新使用來自輸入比特流的運(yùn)動(dòng)矢量。因此,因?yàn)榘磮D2所示常規(guī)代碼轉(zhuǎn)換器無法考慮非整數(shù)倍數(shù)的換算,所以存在常規(guī)代碼轉(zhuǎn)換器不適合支持各種解的代碼轉(zhuǎn)換器的應(yīng)用的缺點(diǎn)。另外,如圖3所示,常規(guī)代碼轉(zhuǎn)換器僅考慮在運(yùn)動(dòng)估算中的運(yùn)動(dòng)矢量,以減少計(jì)算的復(fù)雜性,但不能考慮對(duì)判定宏塊模式的計(jì)算要求,因此常規(guī)代碼轉(zhuǎn)換器的應(yīng)用受到限制。
發(fā)明內(nèi)容
本發(fā)明已克服上述現(xiàn)有技術(shù)的問題。因此,本發(fā)明的目的是提供一種改進(jìn)的代碼轉(zhuǎn)換器和代碼轉(zhuǎn)換方法,該方法換算類似運(yùn)動(dòng)圖象專家組MPEG-2的塊單元中具有運(yùn)動(dòng)估算的輸入比特流,并根據(jù)考慮運(yùn)動(dòng)矢量和宏塊模式的確定結(jié)果,以減少計(jì)算要求,并且保持圖象質(zhì)量不降低。
本發(fā)明的另外的目的和優(yōu)點(diǎn)將在如下的說明書部分描述,并且從說明書中可以看出,或通過本發(fā)明的實(shí)踐可以學(xué)習(xí)到。
本發(fā)明的上述和/或其它目的是通過一種代碼轉(zhuǎn)換器實(shí)現(xiàn)的,該代碼轉(zhuǎn)換器包括模式判定單元,根據(jù)與輸入的宏塊中的參考幀重疊的宏塊的區(qū)和重疊宏塊的模式判定輸出比特流的宏塊模式;和運(yùn)動(dòng)矢量判定單元,根據(jù)與重疊相關(guān)的各宏塊的運(yùn)動(dòng)矢量判定輸出宏塊的參考運(yùn)動(dòng)矢量。
模式判定單元將重疊的各宏塊區(qū)與對(duì)應(yīng)于各自重疊宏塊的加權(quán)值相乘,并判定輸出宏塊的模式為幀內(nèi)(intra),在這種情況下通過將各區(qū)與加權(quán)值相乘獲得的結(jié)果之和的幀內(nèi)比例超過一個(gè)預(yù)定值,并且加權(quán)值是重疊宏塊區(qū)與對(duì)應(yīng)輸入宏塊的整個(gè)區(qū)的比。
模式判定單元包括運(yùn)動(dòng)類型判定單元,該單元根據(jù)輸入宏塊的運(yùn)動(dòng)類型判定輸出宏塊的運(yùn)動(dòng)類型。運(yùn)動(dòng)類型判定單元判定輸出宏塊的運(yùn)動(dòng)類型為字段,在該字段中重疊宏塊的運(yùn)動(dòng)類型都是字段的并且對(duì)應(yīng)于相應(yīng)字段的運(yùn)動(dòng)矢量的值都是相同的。
運(yùn)動(dòng)矢量判定單元根據(jù)與各輸入宏塊中的參考幀重疊的宏塊區(qū)和運(yùn)動(dòng)矢量的比,通過如下數(shù)學(xué)表達(dá)式判定輸出宏塊的參考運(yùn)動(dòng)矢量BMVi=Σm=0MMVmwm×sf]]>其中BMVi是輸出宏塊的第I參考運(yùn)動(dòng)矢量,i=0、1、...、MB-水平尺寸×MB_垂直尺寸-1,MVm是與重疊宏塊相關(guān)的第m運(yùn)動(dòng)矢量,Wm是相對(duì)于第m運(yùn)動(dòng)矢量的加權(quán)值,sf(0<sf<1)是用于判定輸出比特流的圖象的尺寸的值,及MB是重疊宏塊的區(qū)。
如果輸出宏塊的運(yùn)動(dòng)類型被判定為字段,運(yùn)動(dòng)矢量判定單元給偶數(shù)字段運(yùn)動(dòng)矢量加+1(象素單元),其中輸出宏塊的偶數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的奇數(shù)字段運(yùn)動(dòng)矢量。
如果輸出宏塊的運(yùn)動(dòng)類型被判定為字段,運(yùn)動(dòng)矢量判定單元從重疊的奇數(shù)字段運(yùn)動(dòng)矢量中減-1(象素單元),其中輸出宏塊的奇數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的偶數(shù)字段運(yùn)動(dòng)矢量。
本發(fā)明的上述和其它目的還通過提供一種代碼轉(zhuǎn)換方法實(shí)現(xiàn),其包括根據(jù)各輸入宏塊中的與參考幀重疊的宏塊區(qū)和重疊宏塊的模式,判定輸出比特流的宏塊模式;和根據(jù)與重疊宏塊相關(guān)的運(yùn)動(dòng)矢量,判定輸出宏塊的參考運(yùn)動(dòng)矢量。
通過下面結(jié)合示例性地示出一例的附圖進(jìn)行的描述,本發(fā)明的上述和其他目的和特點(diǎn)將會(huì)變得更加清楚,其中圖1是常規(guī)代碼轉(zhuǎn)換器的框圖;圖2A是表示根據(jù)其中換算非整數(shù)倍的圖1的代碼轉(zhuǎn)換器的代碼轉(zhuǎn)換的問題的圖;圖2B是表示根據(jù)常規(guī)方法的另一個(gè)代碼轉(zhuǎn)換的問題;圖3是用于解釋使用在本發(fā)明的描述中的術(shù)語的圖;圖4是示意性表示根據(jù)本發(fā)明的代碼轉(zhuǎn)換器的圖;圖5是表示用圖4的代碼轉(zhuǎn)換器執(zhí)行運(yùn)動(dòng)估算的框圖;圖6是表示利用圖5的代碼轉(zhuǎn)換器的代碼轉(zhuǎn)換方法的流程圖;圖7A到7D是表示補(bǔ)償宏塊的運(yùn)動(dòng)矢量的例子的圖;圖8表示相對(duì)于換算的足球圖象的結(jié)果Y單元的平均PSNR;及圖9是表示根據(jù)本發(fā)明的方法和常規(guī)重復(fù)編碼或代碼轉(zhuǎn)換方法的平均峰值信號(hào)對(duì)噪聲比的比較結(jié)果。
具體實(shí)施例方式
現(xiàn)詳細(xì)描述附圖中所示的本發(fā)明的實(shí)施例,圖中全部相同標(biāo)號(hào)指示相同的部件。
在本發(fā)明中,利用相鄰幀(字段)之間的相關(guān),運(yùn)動(dòng)估算獲得相鄰幀(字段)之間的象素?cái)?shù)據(jù)差。即,通過比較當(dāng)前幀與先前幀,搜索對(duì)應(yīng)于當(dāng)前幀的預(yù)定宏塊的先前幀的宏塊,檢測(cè)搜索的先前幀的宏塊的運(yùn)動(dòng)矢量并根據(jù)這些檢測(cè)的運(yùn)動(dòng)矢量估算下一幀的宏塊的運(yùn)動(dòng),運(yùn)動(dòng)估算估算下一幀的宏塊的運(yùn)動(dòng)。在這里使用的參考幀是指與當(dāng)前幀進(jìn)行比較的先前幀。
現(xiàn)參照?qǐng)D3,原始分辨率的參考幀150具有一些相關(guān)的非換算宏塊B1到B16。當(dāng)前輸入幀的換算宏塊155由疊加在正方形B1到B16上的虛線表示。對(duì)應(yīng)于非換算宏塊的至少一部分的換算宏塊155的區(qū)域被認(rèn)為重疊非換算宏塊。因此,換算的宏塊155完全重疊在非換算宏塊B6、B7、B10和B11上,并且部分重疊在非換算宏塊B1、B2、B3、B4、B5、B8、B9、B12、B13、B14、B15和B16上。
圖4是表示根據(jù)本發(fā)明的代碼轉(zhuǎn)換器的示意圖。圖5是描述用圖4的代碼轉(zhuǎn)換器執(zhí)行運(yùn)動(dòng)估算的框圖。
參照?qǐng)D4和5,代碼轉(zhuǎn)換器包括VLD 201、IQ 203a和203b、IDCT 205a和205b、加法器207a和207b、MC 209a和209b、換算單元210、減法器211、DCT 213、量化器215、VLC217、和BMV(基本運(yùn)動(dòng)矢量)219。VLD 201、IQ 203a和203b、IDCT 205a和205b、加法器207a和207b、MC 209a和209b、減法器211、DCT 213、量化器215、VLC217的結(jié)構(gòu)和操作是分別與對(duì)應(yīng)的常規(guī)VLD 101、IQ 103a和103b、IDCT 105a和105b、加法器107a和107b、MC 109a和109b、減法器111、DCT 113、量化器115、VLC 117的結(jié)構(gòu)和操作相同,因此上述部件的結(jié)構(gòu)和操作將不再重復(fù)了。
根據(jù)本發(fā)明的代碼轉(zhuǎn)換器中,如圖5所示,換算單元210包括模式判定單元501、運(yùn)動(dòng)類型判定單元501a、換算器502a、運(yùn)動(dòng)矢量判定單元503、圖象質(zhì)量?jī)?yōu)選模式選擇單元505、和運(yùn)動(dòng)矢量補(bǔ)償單元507。
模式判定單元501根據(jù)與參考幀的非換算宏塊相重疊的換算宏塊的區(qū)域和重疊宏塊的模式,判定輸出比特流的宏塊的模式。此刻,宏塊的模式是指比特流中圖象信號(hào)輸入的模式,即,幀內(nèi)編碼模式、預(yù)測(cè)編碼模式、和雙向預(yù)測(cè)編碼模式。另外,宏塊的模式包括當(dāng)運(yùn)動(dòng)矢量估算為幀矢量或者字段矢量時(shí),是否有圖象信號(hào)輸入,和如果輸入圖象是幀矢量,該字段是頂(top)字段還是底(bottom)字段的信息。
模式判定單元501將重疊宏塊的區(qū)域和對(duì)應(yīng)的重疊宏塊的加權(quán)值相乘。當(dāng)從相乘的結(jié)果值之和中幀內(nèi)的比例高于預(yù)定值(例如,在0.5換算的情況下幀內(nèi)的比例大于25%)時(shí),模式判定單元501判定輸出宏塊的模式為幀內(nèi)編碼模式。這里,加權(quán)值為各非換算宏塊對(duì)應(yīng)的區(qū)與參考幀的換算宏塊的整個(gè)區(qū)之比。
運(yùn)動(dòng)類型判定單元501a根據(jù)輸入宏塊的運(yùn)動(dòng)類型,判定輸出宏塊的運(yùn)動(dòng)類型。運(yùn)動(dòng)類型判定單元501a判定輸出宏塊的運(yùn)動(dòng)類型為字段,其中各重疊宏塊的運(yùn)動(dòng)類型所有都是字段并且對(duì)應(yīng)于相應(yīng)字段的運(yùn)動(dòng)矢量的值是相同的。
運(yùn)動(dòng)矢量判定單元503根據(jù)相對(duì)于重疊宏塊的運(yùn)動(dòng)矢量,判定輸出宏塊的參考運(yùn)動(dòng)矢量。圖象質(zhì)量?jī)?yōu)選模式選擇單元505從用戶接收?qǐng)D象質(zhì)量?jī)?yōu)選命令。在圖象質(zhì)量?jī)?yōu)選命令是通過圖象質(zhì)量?jī)?yōu)選模式選擇單元505發(fā)送的情況下,運(yùn)動(dòng)矢量補(bǔ)償單元507根據(jù)判定的參考運(yùn)動(dòng)矢量補(bǔ)償輸出宏塊的運(yùn)動(dòng)矢量。判定的運(yùn)動(dòng)矢量被發(fā)送到運(yùn)動(dòng)矢量補(bǔ)償單元507。運(yùn)動(dòng)矢量補(bǔ)償單元507通過運(yùn)動(dòng)矢量判定單元503接收判定的運(yùn)動(dòng)矢量并執(zhí)行±2或±1搜索(象素單元)和半象素單元的細(xì)化。
換算器502換算輸入圖象。即,換算器502在尺寸上將解碼圖象信號(hào)改變?yōu)橐蟮谋壤MV 219從輸入比特流的宏塊中檢測(cè)參考運(yùn)動(dòng)矢量并提供參考運(yùn)動(dòng)矢量到MC 209a和209b和VLC 217。由BMV 219檢測(cè)的參考運(yùn)動(dòng)矢量被用作由MC 209b和VLC 217執(zhí)行信號(hào)處理的參考點(diǎn)。
圖6是表示根據(jù)圖5的代碼轉(zhuǎn)換方法的流程圖。參照?qǐng)D6將描述根據(jù)本發(fā)明的代碼轉(zhuǎn)換器的操作。
當(dāng)輸入比特流要進(jìn)行代碼轉(zhuǎn)換時(shí),模式判定單元501將輸入比特流的換算的宏塊與非換算的宏塊進(jìn)行比較,并根據(jù)各自重疊宏塊區(qū)和各自重疊宏塊模式,判定輸出比特流的宏塊模式。見圖3及其有關(guān)重疊宏塊術(shù)語的含義的描述。這里,模式判定單元501將各自重疊宏塊區(qū)與對(duì)應(yīng)于重疊宏塊的加權(quán)值相乘(S601)。參照?qǐng)D3,對(duì)應(yīng)于重疊宏塊的加權(quán)值意味著對(duì)應(yīng)于由虛線指示的區(qū)域155內(nèi)每個(gè)宏塊的加權(quán)值。模式判定單元501相加相乘的結(jié)果,并當(dāng)相乘的結(jié)果值之和中幀內(nèi)的比例大于預(yù)定閾值時(shí)判定輸出宏塊的模式為幀內(nèi)(S603)。輸出宏塊可能有幀內(nèi)模式或幀間(inter)模式。結(jié)果值之和中幀內(nèi)的比例是指對(duì)現(xiàn)存于圖3的區(qū)域155中重疊宏塊的幀內(nèi)的比例。當(dāng)相乘的結(jié)果值之和中幀內(nèi)的比例低于預(yù)定值時(shí),模式判定單元501判定輸出宏塊的模式為幀間(S603)。此時(shí),加權(quán)值意味著每個(gè)重疊宏塊的區(qū)域相對(duì)于輸入宏塊的整個(gè)區(qū)的比率。通過如下數(shù)學(xué)表達(dá)式(1)、(2)和(3)可以得到加權(quán)值。
S=宏塊的寬度×宏塊的高度 ...(1)S=Σm=0MSm···(2)]]>W=Σm=0MWm=Σm=0MSmS=1···(3)]]>其中,‘S’是宏塊的區(qū)域,‘Sm’是重疊宏塊的區(qū)域,‘M’是換算宏塊的數(shù),‘Wm’是對(duì)應(yīng)于重疊宏塊的區(qū)域的加權(quán)值,和‘W’是加權(quán)值之和。
運(yùn)動(dòng)類型判定單元501a根據(jù)輸入比特流的宏塊的運(yùn)動(dòng)類型判定輸出宏塊的運(yùn)動(dòng)類型(S605)。這里,當(dāng)與輸入比特流的參考幀相重疊的宏塊的運(yùn)動(dòng)類型是字段模式并且對(duì)應(yīng)于各字段的每個(gè)的運(yùn)動(dòng)矢量值都相同時(shí),運(yùn)動(dòng)類型判定單元501a實(shí)現(xiàn)判定輸出宏塊的運(yùn)動(dòng)類型為字段。另外,除了利用上述方法將宏塊的運(yùn)動(dòng)類型判定為字段的情況下,運(yùn)動(dòng)類型判定單元501a判定輸出宏塊的運(yùn)動(dòng)類型為幀。
運(yùn)動(dòng)矢量判定單元503根據(jù)相對(duì)于重疊的宏塊的運(yùn)動(dòng)矢量,判定輸出宏塊的參考運(yùn)動(dòng)矢量。運(yùn)動(dòng)矢量判定單元503根據(jù)區(qū)域和各輸入宏塊中與參考幀重疊的相應(yīng)宏塊的運(yùn)動(dòng)矢量的比,通過數(shù)學(xué)表達(dá)式(4)判定輸出宏塊的參考運(yùn)動(dòng)矢量。BMVi=Σm=0MMVmwm×sf···(4)]]>其中,‘BMVi’是輸出宏塊的第i參考運(yùn)動(dòng)矢量,‘i’是0、1、...、MB水平尺寸×MB垂直尺寸-1;MVm是與重疊宏塊相關(guān)的第m運(yùn)動(dòng)矢量;Wm是相對(duì)于第m運(yùn)動(dòng)矢量的加權(quán)值;‘sf(0<sf<1)是用于判定輸出比特流的圖象尺寸的值的值;和MB是重疊宏塊的區(qū)。
圖象質(zhì)量?jī)?yōu)選模式選擇單元505從用戶接收?qǐng)D象質(zhì)量?jī)?yōu)選命令。其中圖象質(zhì)量?jī)?yōu)選命令是通過圖象質(zhì)量?jī)?yōu)選模式選擇單元505發(fā)送的(S600),運(yùn)動(dòng)矢量補(bǔ)償單元507根據(jù)判定的參考運(yùn)動(dòng)矢量補(bǔ)償輸出宏塊的運(yùn)動(dòng)矢量(S611)。在這種情況下,運(yùn)動(dòng)矢量補(bǔ)償單元507根據(jù)由運(yùn)動(dòng)矢量判定單元501判定的參考運(yùn)動(dòng)矢量,通過數(shù)學(xué)表達(dá)式(5a)和(5b)計(jì)算補(bǔ)償輸出宏塊的運(yùn)動(dòng)矢量的運(yùn)動(dòng)矢量初始值。
init_mvx=BMV[r][s]
/2 ...(5a)init_mvy=BMV[r][s][1]/2 ...(5b)
表1BMV[r][s][t]中各指數(shù)的含義表達(dá)式(5a)中,‘init_mvx’是運(yùn)動(dòng)矢量初始值的x值,和表達(dá)式(5b)中,‘init_mvy’是運(yùn)動(dòng)矢量初始值的y值,和‘BMV’是參考運(yùn)動(dòng)矢量。
因?yàn)檫\(yùn)動(dòng)矢量是半象素單元,當(dāng)參考運(yùn)動(dòng)矢量用2除時(shí),運(yùn)動(dòng)矢量初始值是象素。在這種情況下,運(yùn)動(dòng)矢量初始值意味著滿足數(shù)學(xué)表達(dá)式(6a)、(6b)、(6c)和(6d)的條件的運(yùn)動(dòng)搜索區(qū)的中心值。
sx=sy=2(±2或±1像素) ...(6a)sx+init_mvx>sxdec,sx=sxdec-init_mvx ...(6b)sy+init_mvy>sydec,sy=sydec-init_mvy ...(6c)sxdec init_mvx,sydec init_mvy ...(6d)其中‘sx’‘sy’是編碼中的運(yùn)動(dòng)矢量搜索區(qū),‘sxdec’和‘sydec’是來自輸入到解碼器的比特流的‘f_code[s][t]’的判定值。在這種情況下,‘f_code’是在‘MPEG-1’和‘MPEG-2’中定義的參數(shù),‘f_code’的值在‘MPEG-1’下具有1到7的范圍,和在‘MPEG-2’下具有1到9的范圍。
在隔行視頻中,有時(shí),當(dāng)前判定的宏塊模式和輸出和在對(duì)應(yīng)區(qū)中輸入宏塊的運(yùn)動(dòng)矢量的運(yùn)動(dòng)矢量的信息不一致。為克服上述現(xiàn)象,運(yùn)動(dòng)矢量判定單元503補(bǔ)償輸出運(yùn)動(dòng)矢量。補(bǔ)償宏塊運(yùn)動(dòng)矢量的方法以例子的方式表示在圖7A到7D中。圖7A到7D的右側(cè)表示宏塊的每個(gè)字段,并且左側(cè)表示參考幀的每個(gè)字段。例如,當(dāng)判定輸出宏塊的運(yùn)動(dòng)類型是字段時(shí),在輸出宏塊的偶數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的奇數(shù)字段運(yùn)動(dòng)矢量的情況下,運(yùn)動(dòng)矢量判定單元503給輸出宏塊的偶數(shù)字段運(yùn)動(dòng)矢量加+2(半象素單元)(圖7B)。另外,當(dāng)判定輸出宏塊的運(yùn)動(dòng)類型是字段時(shí),在輸出宏塊的奇數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的偶數(shù)字段運(yùn)動(dòng)矢量的情況下,運(yùn)動(dòng)矢量判定單元503給輸出宏塊的奇數(shù)字段運(yùn)動(dòng)矢量加-2(半象素單元)(圖7C)。這里,+2和-2值是由參考幀的偶數(shù)/奇數(shù)字段和輸出宏塊的奇數(shù)/偶數(shù)字段之間的總相位差值設(shè)定的。補(bǔ)償?shù)倪\(yùn)動(dòng)矢量被發(fā)送到運(yùn)動(dòng)矢量補(bǔ)償單元507。在運(yùn)動(dòng)矢量補(bǔ)償單元507接收由運(yùn)動(dòng)矢量判定單元503補(bǔ)償?shù)倪\(yùn)動(dòng)矢量后,運(yùn)動(dòng)矢量補(bǔ)償單元507執(zhí)行±2或±1搜索(象素單元)或半象素單元細(xì)化。運(yùn)動(dòng)矢量補(bǔ)償單元507可以執(zhí)行與運(yùn)動(dòng)矢量補(bǔ)償單元507利用較寬的搜索區(qū)的執(zhí)行細(xì)化程度一樣的更精確的細(xì)化。
除了根據(jù)參考幀的偶數(shù)字段輸出宏塊的奇數(shù)字段,或根據(jù)參考幀的奇數(shù)字段輸出宏塊的偶數(shù)字段外,不需要由運(yùn)動(dòng)矢量判定單元503補(bǔ)償。在0.5換算處理的情況下,尚未被換算處理的輸入宏塊的幀運(yùn)動(dòng)矢量可以利用數(shù)學(xué)表達(dá)式(7)計(jì)算。
dec_MV
[s][t]=(dec_MV
[s][t]+dec_MV[1][s][t])/2+0.5 ...(7)其中dec_MV是未被換算的運(yùn)動(dòng)矢量。當(dāng)輸入圖象質(zhì)量?jī)?yōu)選命令時(shí),由于運(yùn)動(dòng)矢量判定單元501通過數(shù)學(xué)表達(dá)式(7)替代數(shù)學(xué)表達(dá)式(4)計(jì)算的值,運(yùn)動(dòng)矢量判定單元501可以計(jì)算最后參考運(yùn)動(dòng)矢量。
在基于塊的運(yùn)動(dòng)估算中,數(shù)學(xué)表達(dá)式(8a)和(8b)用于計(jì)算第k宏塊的運(yùn)動(dòng)矢量(MVx、MVy)。
(MVx,MVy)=arg min(m,n)∈S SADk(m,n) ...(8a)SADk(m,n)=Σi=015Σj=015|Fij-Fi+m,j+nR|···(8b)]]>
其中m和n分別是運(yùn)動(dòng)矢量的水平分量和垂直分量,運(yùn)動(dòng)矢量(MVx、MVy)的值在搜索區(qū)S內(nèi),F(xiàn)ij是i行和j列的亮度值,F(xiàn)Ri+m,j+n是參考幀/字段的亮度值,和SAD是絕對(duì)差之和。
當(dāng)運(yùn)動(dòng)矢量的搜索區(qū)在水平方向是±sx并在垂直方向是±sy、并且數(shù)學(xué)表達(dá)式8a和8b是代價(jià)函數(shù)時(shí),一個(gè)宏塊的運(yùn)動(dòng)計(jì)算要求是(2sx+1)×(2sy+1)。
根據(jù)本發(fā)明的代碼轉(zhuǎn)換器,在輸入比特流是隔行視頻和幀圖象時(shí),判定一幀/字段中宏塊的模式需要的值不需要像常規(guī)計(jì)算方法那樣,對(duì)所有參考幀和當(dāng)前幀、參考幀的偶數(shù)字段和當(dāng)前幀、參考幀的奇數(shù)字段和當(dāng)前幀、參考幀的偶數(shù)字段和當(dāng)前幀的奇數(shù)字段以及參考幀的奇數(shù)字段和當(dāng)前幀的偶數(shù)字段進(jìn)行計(jì)算。換言之,根據(jù)本發(fā)明的代碼轉(zhuǎn)換器不必須重復(fù)計(jì)算處理來判定宏塊的模式和運(yùn)動(dòng)矢量,并且計(jì)算要求明顯地減少。
表1表1表示根據(jù)參考區(qū)對(duì)計(jì)算運(yùn)動(dòng)矢量的計(jì)算要求,其中h是圖象的水平尺寸,v是圖象的垂直尺寸。
常規(guī)“全搜索”方法的水平sx和垂直sy和本發(fā)明的水平sx′和垂直sy′的搜索區(qū)的關(guān)系是sx=axsx′和sy=aysy′,其中ax和ay是常數(shù)。要求的獲得運(yùn)動(dòng)矢量的計(jì)算量可以按數(shù)學(xué)表達(dá)式(9)表示。
(2sx+1)×(2sy+1)×h×v+4×1/2×(2sx+1)×(2sy+1)×h×v ...(9)
重排數(shù)學(xué)表達(dá)式(9)得到數(shù)學(xué)表達(dá)式(10),3×(2sx+1)×(2sy+1)×h×v ...(10)為識(shí)別常規(guī)“全搜索”方法要求的計(jì)算量與本發(fā)明要求的計(jì)算量之間的差別,可以假設(shè)sx=sy并且sx由axsx′替代。然后,給出3×(4axsx′2)作為按“全搜索”方法的計(jì)算要求。即,作為最高階項(xiàng)從表達(dá)式10得到3×(4axsx′2)被認(rèn)為是有效值。另一方面,本發(fā)明的代碼轉(zhuǎn)換器的計(jì)算要求變?yōu)?4sx′2),其作為最高階項(xiàng)根據(jù)表達(dá)式8從(2sx+1)×(2sy+1)的計(jì)算要求得到,被認(rèn)為是有效值。
為了比較本發(fā)明和常規(guī)方法的能力,使用一般用于圖象處理的乒乓球(450幀)、移動(dòng)(mobile)和日歷(135幀)、和足球(60幀)的CCIR 6 MPEG-2測(cè)試圖象標(biāo)準(zhǔn)。乒乓球圖象用于估算較簡(jiǎn)單的運(yùn)動(dòng),移動(dòng)的和日歷用于估算復(fù)雜的運(yùn)動(dòng),并且足球用于估算快速的運(yùn)動(dòng)。圖象被編碼為704×480象素幀圖象和6Mbps MPEG-2比特流。表2和3表示重新編碼模式方法、全搜索模式方法和根據(jù)本發(fā)明的快速模式方法的比較數(shù)據(jù)。表2表示對(duì)運(yùn)動(dòng)估算要求的CPU時(shí)間(秒)并且表3表示PSNR(峰信號(hào)對(duì)噪聲比)。包含模式和全搜索MV方法的結(jié)果來比較宏塊的模式判定和常規(guī)重新-編碼方法。通過用于重新-編碼方法的全搜索方法計(jì)算運(yùn)動(dòng)矢量。
表2
表3圖8是表示相對(duì)于足球圖象的以分貝為單元的平均PSNR的表。比較對(duì)于重新編碼方法、快速模式(本發(fā)明)方法和重新使用方法的每種的0.75、0.5和0.375換算的值。表示出對(duì)各種換算的每種的不同值。一組對(duì)于每種換算的差值比較快速模式方法和重新編碼方法,和另一組對(duì)于每種換算的差值比較每種換算的重新使用方法和重新編碼方法。相對(duì)于已用0.75、0.5和0.375換算率換算的足球圖象結(jié)果的Y單元確定表示在圖8的PSNR值,并且從6Mbps代碼轉(zhuǎn)換為1.5Mbps。Y單元表示用作MPEG方法中的一個(gè)參數(shù)的亮度。另外,在圖9表示出本發(fā)明的方法與常規(guī)重新編碼方法之間的平均PSNR的比較結(jié)果。
如上所述,按照本發(fā)明的代碼轉(zhuǎn)換器,可以編碼幾乎和輸入幀相同的圖象質(zhì)量并且與常規(guī)運(yùn)動(dòng)估算方法相比顯著地減少計(jì)算要求。
本發(fā)明不限于上述實(shí)施例,在不脫離本發(fā)明范圍的情況下,可以進(jìn)行各種變形和修改。
權(quán)利要求
1.一種代碼轉(zhuǎn)換器,包括模式判定單元,該單元根據(jù)與參考幀的非換算宏塊重疊的當(dāng)前輸入幀的換算宏塊區(qū)域和重疊宏塊的模式判定輸出比特流的宏塊的模式;及運(yùn)動(dòng)矢量判定單元,該單元根據(jù)重疊宏塊的運(yùn)動(dòng)矢量判定輸出宏塊的參考運(yùn)動(dòng)矢量。
2.如權(quán)利要求1所述的代碼轉(zhuǎn)換器,其中模式判定單元將各重疊宏塊的區(qū)域與對(duì)應(yīng)的各自重疊宏塊的相應(yīng)加權(quán)值相乘,并當(dāng)各相乘值之和大于預(yù)定值時(shí),判定輸出宏塊的模式為幀內(nèi);其中相應(yīng)加權(quán)值是相應(yīng)重疊宏塊的區(qū)域與換算的宏塊整個(gè)區(qū)域之比。
3.如權(quán)利要求2所述的代碼轉(zhuǎn)換器,其中,模式判定單元包括運(yùn)動(dòng)類型判定單元,該單元根據(jù)輸入宏塊的運(yùn)動(dòng)類型判定輸出宏塊的運(yùn)動(dòng)類型。
4.如權(quán)利要求3所述的代碼轉(zhuǎn)換器,其中,當(dāng)重疊宏塊的運(yùn)動(dòng)類型都是字段并且對(duì)應(yīng)于相應(yīng)各字段的運(yùn)動(dòng)矢量值都相同時(shí),運(yùn)動(dòng)類型判定單元判定輸出宏塊的運(yùn)動(dòng)類型為字段。
5.如權(quán)利要求4所述的代碼轉(zhuǎn)換器,其中,運(yùn)動(dòng)矢量判定單元通過以下數(shù)學(xué)表達(dá)式判定輸出宏塊的參考運(yùn)動(dòng)矢量BMVi=Σm=0MMVmwm×sf]]>其中‘BMVi’是輸出宏塊的第i參考運(yùn)動(dòng)矢量,i=0、1、...、MB_水平尺寸×MB_垂直尺寸-1,‘MVm’是與重疊宏塊相關(guān)的第m運(yùn)動(dòng)矢量,‘sf’(0<sf<1)是用于判定輸出比特流的圖象的尺寸的值,‘Wm’是相對(duì)于第m運(yùn)動(dòng)矢量的加權(quán)值,及‘MB’是重疊宏塊的區(qū)。
6.如權(quán)利要求5所述的代碼轉(zhuǎn)換器,還包括圖象質(zhì)量?jī)?yōu)選模式選擇單元,該單元接收?qǐng)D象質(zhì)量?jī)?yōu)選命令;及運(yùn)動(dòng)矢量補(bǔ)償單元,當(dāng)接收到圖象質(zhì)量?jī)?yōu)選命令時(shí),該單元根據(jù)判定的參考運(yùn)動(dòng)矢量補(bǔ)償輸出宏塊的運(yùn)動(dòng)矢量。
7.如權(quán)利要求6所述的代碼轉(zhuǎn)換器,其中,在輸出宏塊的運(yùn)動(dòng)類型判定為字段的情況下,當(dāng)輸出宏塊的偶數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的奇數(shù)字段運(yùn)動(dòng)矢量時(shí),運(yùn)動(dòng)矢量補(bǔ)償單元相將預(yù)定值加到偶數(shù)字段運(yùn)動(dòng)矢量上。
8.如權(quán)利要求6所述的代碼轉(zhuǎn)換器,其中,在輸出宏塊的運(yùn)動(dòng)類型判定為字段的情況下,當(dāng)輸出宏塊的奇數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的偶數(shù)字段運(yùn)動(dòng)矢量時(shí),運(yùn)動(dòng)矢量補(bǔ)償單元從奇數(shù)字段運(yùn)動(dòng)矢量中減預(yù)定值。
9.一種代碼轉(zhuǎn)換方法,包括根據(jù)與參考幀的非換算宏塊重疊的當(dāng)前輸入幀的換算宏塊區(qū)和重疊宏塊的模式判定輸出比特流的宏塊模式;及根據(jù)重疊宏塊的運(yùn)動(dòng)矢量判定輸出宏塊的參考運(yùn)動(dòng)矢量。
10.如權(quán)利要求9的方法,其中判定模式包括將各重疊宏塊的相應(yīng)區(qū)乘以對(duì)應(yīng)于相應(yīng)重疊宏塊的加權(quán)值,其中各相乘的結(jié)果值之和中幀內(nèi)的比例大于預(yù)定值;判定輸出宏塊的模式為幀內(nèi);及加權(quán)值是重疊宏塊相應(yīng)區(qū)與輸入宏塊的整個(gè)區(qū)之比。
11.如權(quán)利要求10所述的代碼轉(zhuǎn)換方法,其中,模式判定還包括根據(jù)輸入宏塊的運(yùn)動(dòng)類型判定輸出宏塊的運(yùn)動(dòng)類型。
12.如權(quán)利要求11所述的代碼轉(zhuǎn)換方法,其中,在運(yùn)動(dòng)類型的判定中,在重疊宏塊的運(yùn)動(dòng)類型都是字段并且對(duì)應(yīng)各自字段的運(yùn)動(dòng)矢量的值都相同的情況下,輸出宏塊的運(yùn)動(dòng)類型判定為字段。
13.如權(quán)利要求12所述的代碼轉(zhuǎn)換方法,其中,在運(yùn)動(dòng)矢量的判定中,輸出宏塊的參考運(yùn)動(dòng)矢量是根據(jù)在各輸入宏塊中與參考幀重疊的宏塊的區(qū)的比和運(yùn)動(dòng)矢量由如下數(shù)學(xué)表達(dá)式判定的BMVi=Σm=0MMVmwm×sf]]>其中BMVi是輸出宏塊的第i參考運(yùn)動(dòng)矢量,i=0、1、...、MB_水平尺寸×MB_垂直尺寸-1,MVm是與重疊宏塊相關(guān)的第m運(yùn)動(dòng)矢量,sf(0<sf<1)是用于判定輸出比特流的圖象的尺寸的值,及MB是重疊宏塊的區(qū)。
14.如權(quán)利要求13所述的方法,還包括接收?qǐng)D象質(zhì)量?jī)?yōu)選命令;及在接收到圖象質(zhì)量?jī)?yōu)選命令的情況下,根據(jù)判定的參考運(yùn)動(dòng)矢量補(bǔ)償輸出宏塊的運(yùn)動(dòng)矢量。
15.如權(quán)利要求14所述的方法,其中,在運(yùn)動(dòng)矢量的補(bǔ)償中,在輸出宏塊的運(yùn)動(dòng)類型判定為字段的情況下,當(dāng)輸出宏塊的偶數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的奇數(shù)字段運(yùn)動(dòng)矢量時(shí),將預(yù)定值相加到偶數(shù)字段運(yùn)動(dòng)矢量上。
16.如權(quán)利要求14的代碼轉(zhuǎn)換方法,其中,在運(yùn)動(dòng)矢量補(bǔ)償中,在輸出宏塊的運(yùn)動(dòng)類型判定為字段的情況下,當(dāng)輸出宏塊的奇數(shù)字段運(yùn)動(dòng)矢量是根據(jù)參考幀的偶數(shù)字段運(yùn)動(dòng)矢量時(shí),從奇數(shù)字段運(yùn)動(dòng)矢量中減預(yù)定值。
全文摘要
一種不降低圖象質(zhì)量減少計(jì)算要求的代碼轉(zhuǎn)換器和代碼轉(zhuǎn)換方法。模式判定單元根據(jù)與參考幀的非換算宏塊重疊的換算宏塊區(qū)域和重疊宏塊的模式判定換算的輸出宏塊的模式。運(yùn)動(dòng)矢量判定單元根據(jù)相對(duì)應(yīng)重疊宏塊的運(yùn)動(dòng)矢量判定輸出宏塊的參考運(yùn)動(dòng)矢量。圖象質(zhì)量?jī)?yōu)選模式選擇單元接收用戶的圖象質(zhì)量?jī)?yōu)選命令。運(yùn)動(dòng)矢量補(bǔ)償單元根據(jù)判定的參考運(yùn)動(dòng)矢量和圖象質(zhì)量?jī)?yōu)選命令補(bǔ)償輸出宏塊的運(yùn)動(dòng)矢量。
文檔編號(hào)H04N7/26GK1430419SQ02154250
公開日2003年7月16日 申請(qǐng)日期2002年12月18日 優(yōu)先權(quán)日2001年12月18日
發(fā)明者金泰希, 崔炳善 申請(qǐng)人:三星電子株式會(huì)社