專(zhuān)利名稱(chēng):移動(dòng)矢量測(cè)量方法及記錄媒體、移動(dòng)檢測(cè)裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動(dòng)矢量計(jì)算方法,適于利用軟件處理進(jìn)行對(duì)應(yīng)于例如MPEG(移動(dòng)圖像專(zhuān)家組)2的方法的編碼處理。本發(fā)明還涉及其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體。
MPEG2作為一種對(duì)圖像的高效壓縮方法是公知的。在MPEG2方法中,利用移動(dòng)補(bǔ)償預(yù)測(cè)編碼方法和DCT(離散余弦變換)方法對(duì)視頻信號(hào)進(jìn)行壓縮和編碼。
在MPEG2方法中,發(fā)送三種類(lèi)型的圖像,它們是I(內(nèi))圖像、P(預(yù)測(cè))圖像和B(雙向預(yù)測(cè))圖像。對(duì)于I圖像,用相同幀的象素進(jìn)行DCT編碼處理。對(duì)于P圖像,參照I圖像或已編碼的圖像,利用移動(dòng)補(bǔ)償預(yù)測(cè)處理進(jìn)行DCT編碼處理。對(duì)于B圖像,參照I圖像或B圖像前后的P圖像,利用移動(dòng)預(yù)測(cè)處理進(jìn)行DCT編碼處理。
對(duì)于P圖像或B圖像,可以對(duì)每個(gè)宏塊進(jìn)行內(nèi)編碼處理。換句話說(shuō),利用內(nèi)編碼處理可以對(duì)該圖像進(jìn)行有效的壓縮。因此,在這種情況下,進(jìn)行內(nèi)編碼處理。
圖1是傳統(tǒng)MPEG2編碼器的結(jié)構(gòu)的例子框圖。參照?qǐng)D1,把分量數(shù)字視頻信號(hào)提供給輸入端101。分量數(shù)字視頻信號(hào)由亮度信號(hào)Y和色差信號(hào)Cb和Cr組成。把輸入端101的數(shù)字視頻信號(hào)通過(guò)移動(dòng)矢量檢測(cè)電路103提供給幀存儲(chǔ)器102。幀存儲(chǔ)器102臨時(shí)存儲(chǔ)該數(shù)字視頻信號(hào)。幀存儲(chǔ)器102的存儲(chǔ)容量至少足以存儲(chǔ)當(dāng)前圖像、前一參照?qǐng)D像和后一參照?qǐng)D像這三幀圖像。
移動(dòng)矢量檢測(cè)電路103利用幀存儲(chǔ)器102中存儲(chǔ)的數(shù)據(jù)獲得參照?qǐng)D像與當(dāng)前圖像之間的移動(dòng)矢量。為每個(gè)宏塊獲得移動(dòng)矢量MV。每個(gè)宏塊由例如(16×16)象素組成。把獲得的移動(dòng)矢量MV提供給可變長(zhǎng)度碼編碼電路108和移動(dòng)補(bǔ)償電路115。移動(dòng)矢量檢測(cè)電路103把偏差(residual)的信息e提供給檢測(cè)設(shè)置電路104。該偏差信息e是借助于移動(dòng)矢量檢測(cè)電路103與移動(dòng)矢量MV一起獲得的。
把幀存儲(chǔ)器102的輸出信號(hào)通過(guò)移動(dòng)矢量檢測(cè)電路103提供給開(kāi)關(guān)電路105的端子105A。此外,把幀存儲(chǔ)器102的輸出信號(hào)提供給減法電路106和減法電電路107的輸出信號(hào)提供給開(kāi)關(guān)電路105的端子105C。
開(kāi)關(guān)電路105對(duì)應(yīng)于從模式設(shè)置電路104接收到的模式設(shè)置信號(hào)改變編碼模式。換句話說(shuō),在幀內(nèi)編碼模式時(shí),開(kāi)關(guān)電路105選擇端子105A。在前向預(yù)測(cè)編碼模式時(shí),開(kāi)關(guān)電路105選擇端子105B。在雙向預(yù)測(cè)編碼模式時(shí),開(kāi)關(guān)電路105選擇端子105C。
當(dāng)發(fā)送I圖像時(shí),進(jìn)行幀內(nèi)預(yù)測(cè)編碼處理。此時(shí),開(kāi)關(guān)電路105選擇端子105A。幀存儲(chǔ)器102輸出當(dāng)前幀圖像數(shù)據(jù)。把當(dāng)前幀圖像數(shù)據(jù)通過(guò)開(kāi)關(guān)電路105提供給DCT電路106。
例如,DCT電路106把時(shí)間域的每個(gè)(8×8)像素塊的視頻信號(hào)轉(zhuǎn)換成頻率域的頻譜數(shù)據(jù)。對(duì)頻譜數(shù)據(jù)進(jìn)行鋸齒掃描,從低頻分量向高頻分量讀取(即從DC分量開(kāi)始)。把DCT電路106的輸出信號(hào)提供給量化電路107。
相應(yīng)于從發(fā)送緩沖器109接收的輸出比特率的信息對(duì)量化電路107設(shè)置量化比例。量化電路107相應(yīng)于量化比例對(duì)從DCT電路106接收到的頻譜數(shù)據(jù)進(jìn)行量化。因此,可以使輸出比特流的比特率保持恒定。
把量化電路107的輸出信號(hào)提供給可變長(zhǎng)度碼編碼電路108和反量化電路110。可變長(zhǎng)度編碼電路108對(duì)(從量化電路107接收到的)頻譜數(shù)據(jù)、移動(dòng)矢量、量化尺度和預(yù)測(cè)模式以可變長(zhǎng)度碼進(jìn)行編碼。
可變長(zhǎng)度碼編碼電路108輸出已編碼的比特流。把已編碼的比特流暫時(shí)存儲(chǔ)到發(fā)送緩沖器109中。對(duì)應(yīng)于所需要的比特率,從發(fā)送緩沖器109中讀取數(shù)據(jù)流。
如上所述,把量化電路107的輸出信號(hào)提供給反量化電路110。把反量化電路110的輸出信號(hào)提供給IDCT電路112。在I圖像的情況下,利用同一幀的像素進(jìn)行DCT處理。因此,反量化電路110和IDCT電路112形成原始圖像。把一幅圖像的數(shù)字視頻數(shù)據(jù)通過(guò)加法電路113提供給圖像幀存儲(chǔ)器114。把存儲(chǔ)在存儲(chǔ)器114內(nèi)的數(shù)據(jù)用作下一P圖像或B圖像的參照幀數(shù)據(jù)。
當(dāng)發(fā)送P圖像時(shí),用參照幀進(jìn)行前向預(yù)測(cè)編碼處理。此時(shí),開(kāi)關(guān)電路105選擇端子105B。幀存儲(chǔ)器102輸出當(dāng)前幀的數(shù)字視頻信號(hào)。把幀存儲(chǔ)器102的輸出信號(hào)提供給減法電路108。
幀存儲(chǔ)器114存儲(chǔ)參照幀的數(shù)據(jù)。移動(dòng)補(bǔ)償電路115補(bǔ)償該參照幀數(shù)據(jù)的移動(dòng),并把得到的數(shù)據(jù)提供給減法電路106。減法電路106獲得當(dāng)前幀數(shù)據(jù)與已經(jīng)過(guò)移動(dòng)補(bǔ)償?shù)膮⒄諑瑪?shù)據(jù)之間的差值。把該差值數(shù)據(jù)通過(guò)開(kāi)關(guān)電路105提供給DCT電路106。
DCT電路106對(duì)差值數(shù)據(jù)進(jìn)行DCT處理。即,DCT電路106把差值數(shù)據(jù)變換成頻譜數(shù)據(jù)。把DCT電路106的輸出信號(hào)提供給量化電路107。量化電路107對(duì)從DCT電路106接收到的頻譜數(shù)據(jù)進(jìn)行量化。
把量化電路107的輸出信號(hào)提供給可變長(zhǎng)度碼編碼電路108和反量化電路110??勺冮L(zhǎng)度碼編碼電路108對(duì)(從量化電路107接收到的)頻譜數(shù)據(jù)、移動(dòng)矢量、量化尺度和預(yù)測(cè)模式用可變長(zhǎng)度碼進(jìn)行編碼。
可變長(zhǎng)度碼編碼電路108輸出已編碼的比特流。已編碼的比特流暫時(shí)存儲(chǔ)在發(fā)送緩沖器109中。對(duì)應(yīng)于所需要的比特率,從傳送緩沖器109中讀取數(shù)據(jù)流。從輸出端111獲得該數(shù)據(jù)流。
把量化電路107的輸出信號(hào)提供給反量化電路110。把反量化電路110的輸出信號(hào)提供給IDCT電路112。在P圖像的情況下,對(duì)參照幀的數(shù)據(jù)與當(dāng)前圖像的數(shù)據(jù)之間的差值進(jìn)行DCT處理。因此,量化電路110和IDCT電路112獲得參照幀數(shù)據(jù)與當(dāng)前圖像數(shù)據(jù)之間的差值。把該差值數(shù)據(jù)提供給加法電路113。
幀存儲(chǔ)器114把參照?qǐng)D像數(shù)據(jù)通過(guò)移動(dòng)補(bǔ)償電路115提供給加法電路113。加法電路113把差值數(shù)據(jù)加到參照?qǐng)D像數(shù)據(jù)上。把加法電路113的輸出信號(hào)作為下一參照幀的數(shù)據(jù)存儲(chǔ)到幀存儲(chǔ)器114中。
當(dāng)發(fā)送B圖像時(shí),用前一參照幀和后一參照幀,進(jìn)行雙向預(yù)測(cè)編碼處理。在這種情況下,開(kāi)關(guān)電路105選擇端子105C。幀存儲(chǔ)器102輸出當(dāng)前幀的數(shù)字視頻信號(hào)。把幀存儲(chǔ)器102的輸出信號(hào)提供給減法電路107。
幀存儲(chǔ)器114存儲(chǔ)前一參照幀的數(shù)據(jù)和后一參照幀的數(shù)據(jù)。移動(dòng)補(bǔ)償電路115對(duì)兩個(gè)參照幀的數(shù)據(jù)進(jìn)行移動(dòng)補(bǔ)償。把移動(dòng)補(bǔ)償電路115的輸出信號(hào)提供給減法電路107。減法電路107獲得當(dāng)前幀的數(shù)據(jù)、前一參照幀的數(shù)據(jù)與已經(jīng)過(guò)移動(dòng)補(bǔ)償?shù)暮笠粎⒄諑臄?shù)據(jù)之間的差值。把該差值數(shù)據(jù)通過(guò)開(kāi)關(guān)電路105提供給DCT電路106。
DCT電路106對(duì)該差值數(shù)據(jù)進(jìn)行DCT處理。換句話說(shuō),DCT電路106把該差值數(shù)據(jù)變換成頻譜數(shù)據(jù)。把DCT電路106的輸出信號(hào)提供給量化電路107。量化電路107對(duì)從DCT電路106接收到的頻譜數(shù)據(jù)進(jìn)行量化。
把量化電路107的輸出信號(hào)提供給可變長(zhǎng)度碼編碼電路和反量化電路110。可變長(zhǎng)度碼編碼電路108對(duì)(從量化電路107接收到的)頻譜數(shù)據(jù)、移動(dòng)矢量、量化比例和預(yù)測(cè)模式用可變長(zhǎng)度碼進(jìn)行編碼。
可變長(zhǎng)度碼編碼電路108輸出已編碼的比特流。比特流暫時(shí)存儲(chǔ)在發(fā)送緩沖器109中。發(fā)送緩沖器109讀出對(duì)應(yīng)于所需要的比特率的數(shù)據(jù)流。從輸出端111獲得該數(shù)據(jù)流。
近年來(lái),由于CPU(中央處理單元)的處理速度變得很快,大存儲(chǔ)容量的存儲(chǔ)器也變得便宜,所以可以用軟件來(lái)進(jìn)行上述的MPEG2編碼。
然而,在MPEG2編碼處理時(shí),需要計(jì)算移動(dòng)矢量的處理。由塊匹配過(guò)程來(lái)獲得移動(dòng)矢量。換句話說(shuō),從參照幀中取得與從要處理的當(dāng)前幀分割成的塊同樣大小和同樣原點(diǎn)的塊。當(dāng)在預(yù)定的搜索區(qū)域內(nèi)移動(dòng)參照幀的塊時(shí),獲得參照幀的塊的像素與當(dāng)前幀的相關(guān)塊的像素之間的差值的絕對(duì)值之和,作為偏差。獲得偏差最小的參照幀的塊。由于塊匹配處理需要許多計(jì)算步驟,所以用軟件難以進(jìn)行MPEG2編碼處理。
換句話說(shuō),當(dāng)獲得如圖2所示的當(dāng)前幀401的塊CBLK的移動(dòng)矢量時(shí),在對(duì)應(yīng)于塊CBLK的參照幀402的塊RBLK周邊上定義搜索區(qū)域SA,作為原點(diǎn)。從搜索區(qū)域SA取出參照幀的塊RBLK。獲得參照塊RBLK的(16×16)像素與當(dāng)前塊CBLK的(16×16)像素之間的差值。獲得這些差值的絕對(duì)值之和作為偏差。在預(yù)定搜索區(qū)域SA內(nèi)移動(dòng)參照幀402的聲RBLK。在搜索區(qū)域SA的塊RBLK的每個(gè)位置上,獲得塊RBLK的像素與當(dāng)前幀401的塊CBLK的像素之間的差值。獲得這些差值的絕對(duì)值的和,作為偏差。比較獲得的和。把偏差最小的塊當(dāng)作匹配塊。利用該匹配塊獲得移動(dòng)矢量。
為了利用塊匹配過(guò)程檢測(cè)移動(dòng)矢量,當(dāng)每個(gè)塊由(16×16)像素組成時(shí),為了獲得像素的差值,需要進(jìn)行16×16=256次減法運(yùn)算。為了獲得這些差值的絕對(duì)值的和,需要進(jìn)行256次加法運(yùn)算。
當(dāng)借助于在預(yù)定搜索區(qū)域內(nèi)以一個(gè)像素步卡移動(dòng)參照塊來(lái)檢測(cè)移動(dòng)矢量時(shí),應(yīng)當(dāng)獲得偏差的次數(shù)對(duì)應(yīng)于搜索區(qū)域中的像素?cái)?shù)。因此,當(dāng)在預(yù)定搜索區(qū)域中以一個(gè)像素步卡移動(dòng)一個(gè)塊來(lái)獲得偏差,并用具有最小偏差的塊的位置檢測(cè)移動(dòng)矢量時(shí),計(jì)算步驟量變得極其巨大。因此,難以用軟件進(jìn)行MPEG2編碼。
為了高速搜索移動(dòng)矢量,可以考慮兩種方案。作為第一種方案,每當(dāng)進(jìn)行塊匹配處理時(shí),減少計(jì)算步驟量。作為第二種方案,減少搜索區(qū)域中塊匹配處理的次數(shù)。
作為第一種方案的一個(gè)例子,當(dāng)計(jì)算參照幀的塊的像素與當(dāng)前幀的相關(guān)塊的像素之間的差值的絕對(duì)值的和時(shí),把該和與預(yù)定閾值進(jìn)行比較。當(dāng)該和大于預(yù)定閾值時(shí),終止處理。
由于移動(dòng)矢量是通過(guò)獲得參照幀的塊的像素與當(dāng)前幀的相關(guān)塊的像素之間的差值的絕對(duì)值的和的最小值來(lái)獲得的,因此,當(dāng)該和超過(guò)預(yù)定閾值時(shí),該和不會(huì)成為最小值。因此,繼續(xù)進(jìn)行該處理是毫無(wú)意義的。因而,當(dāng)該和大于預(yù)定閾值時(shí),就中斷該處理。結(jié)果,可以減少計(jì)算步數(shù),高速檢測(cè)移動(dòng)矢量。
然而,在這種情況下,難以指定這樣一個(gè)閾值。當(dāng)該閾值太小時(shí),在所有點(diǎn)上都將中斷該處理。因此,不能正確檢測(cè)到移動(dòng)矢量。相反,當(dāng)該閾值太大時(shí),由于不中斷處理,所以沒(méi)有改善處理效率。
為了減少塊匹配處理的計(jì)算步數(shù),有一種變稀參照幀的像素和當(dāng)前幀的像素的方法是格子化(checkerwise)。在這種情況下,計(jì)算這些差值的絕對(duì)值的和的計(jì)算步數(shù)可以減半。
然而,當(dāng)把這些塊變稀成格子時(shí),由于像素?cái)?shù)據(jù)的連續(xù)性丟失,所以不能使用MMX指令。由于MMX指令可以使多個(gè)連續(xù)數(shù)據(jù)片在同一時(shí)刻能夠處理,所以近年來(lái)的個(gè)人計(jì)算機(jī)都裝備有能處理MMX功能的CPU。由于塊匹配處理獲得了像素之間差值的絕對(duì)值之和,所以用MMX指令可以高速地進(jìn)行塊匹配處理。然而,當(dāng)把塊的像素變稀成格子時(shí),由于丟失了像素?cái)?shù)據(jù)的連續(xù)性,所以不能使用MMX指令。因此,即使塊的像素變稀成格子,從而減少塊匹配處理的次數(shù),也不能顯著地縮短處理時(shí)間。對(duì)于傳統(tǒng)的對(duì)移動(dòng)圖像的圖像數(shù)據(jù)進(jìn)行編碼的移動(dòng)圖像編碼裝置,對(duì)每個(gè)(8×8)像素的塊可以進(jìn)行移動(dòng)補(bǔ)償幀間預(yù)測(cè)處理和DCT(離散余弦變換)組合的混合編碼處理。
移動(dòng)圖像編碼裝置檢測(cè)相鄰幀間的移動(dòng)矢量,用檢測(cè)到的移動(dòng)矢量移動(dòng)補(bǔ)償移動(dòng)圖像,以減少編碼數(shù)據(jù)量。
傳統(tǒng)移動(dòng)圖像編碼裝置以各種方式檢測(cè)圖像的移動(dòng)。當(dāng)檢測(cè)到圖像移動(dòng)時(shí),有時(shí)比較相鄰幀相關(guān)位置上的宏塊。當(dāng)比較宏塊時(shí),圖像的移動(dòng)方向是未知的。因此,用亮度值的較小差值對(duì)宏塊搜索相鄰幀的相關(guān)位置周?chē)念A(yù)定區(qū)域。
當(dāng)拍攝移動(dòng)圖像的攝像機(jī)固定在一預(yù)定位置上,而目標(biāo)正在移動(dòng)時(shí),目標(biāo)的移動(dòng)方向在整個(gè)圖像的每個(gè)位置上都是變化的。因此,搜索起始點(diǎn)周?chē)暮陦K。當(dāng)目標(biāo)的移動(dòng)較大時(shí),它可能偏離搜索區(qū)域。在這種情況下,進(jìn)行幀內(nèi)編碼處理而不用幀間編碼處理。
在傳統(tǒng)的移動(dòng)圖像編碼裝置中,已提出了一種分層搜索方法,來(lái)減少檢測(cè)圖像移動(dòng)的計(jì)算步數(shù)。在這種方法中,檢測(cè)圖像的移動(dòng),用多個(gè)宏塊來(lái)檢測(cè)一個(gè)移動(dòng)矢量。為了獲得每個(gè)宏塊的移動(dòng)矢量,使用多個(gè)宏塊的移動(dòng)矢量。
然而,在這種移動(dòng)圖像編碼裝置中,在預(yù)定區(qū)域內(nèi)搜索宏塊,以檢測(cè)差值較小的宏塊。因此,當(dāng)處理一個(gè)移動(dòng)較大的目標(biāo)時(shí),必須加大搜索區(qū)域。因此,檢測(cè)圖像移動(dòng)所必需的處理時(shí)間指數(shù)增長(zhǎng)。
在這種移動(dòng)圖像編碼裝置中,當(dāng)目標(biāo)的移動(dòng)較大時(shí),(對(duì)同一幀的宏塊)進(jìn)行幀內(nèi)編碼處理,而不(對(duì)多個(gè)幀的宏塊)進(jìn)行幀間編碼處理。在這種情況下,當(dāng)拍攝的圖像的移動(dòng)超出預(yù)定搜索區(qū)域時(shí),如果對(duì)所有宏塊進(jìn)行幀內(nèi)編碼處理,則就增加了計(jì)算步數(shù)。因此,裝置的負(fù)荷變大。這種狀況發(fā)生在如果整個(gè)圖像移動(dòng)超出了搜索區(qū)域而目標(biāo)是拍攝全景的情況下。
在獲得多個(gè)宏塊的移動(dòng)矢量的移動(dòng)圖像編碼裝置中,當(dāng)圖像移動(dòng)幅度較大而超出屏幕時(shí),不能檢測(cè)到移動(dòng)矢量。因此,不能檢測(cè)到多個(gè)宏塊的移動(dòng)矢量。
圖3示出了一種傳統(tǒng)的移動(dòng)圖像編碼裝置的結(jié)構(gòu)的例子,它用移動(dòng)補(bǔ)償幀間預(yù)測(cè)處理與DCT(離散余弦變換)處理組合的混合編碼處理對(duì)移動(dòng)圖像的圖像數(shù)據(jù)進(jìn)行編碼。
在圖3中,把輸入MB(宏塊)信號(hào)S11提供給端子501。把移動(dòng)矢量信號(hào)MV作為宏塊MB一個(gè)接一個(gè)地提供給端子502。輸入MB信號(hào)S511和移動(dòng)矢量信號(hào)MV提供給移動(dòng)補(bǔ)償電路503。
移動(dòng)補(bǔ)償電路503有一個(gè)內(nèi)部圖像存儲(chǔ)器。從對(duì)應(yīng)于移動(dòng)矢量信號(hào)MV的圖像存儲(chǔ)器中一個(gè)接一個(gè)地讀取預(yù)測(cè)圖像信號(hào)(下文稱(chēng)作預(yù)測(cè)MB信號(hào)),作為宏塊MB。移動(dòng)補(bǔ)償電路503輸出信號(hào)S512,該信號(hào)就是從移動(dòng)矢量信號(hào)MV獲得的預(yù)測(cè)MB信號(hào)。
計(jì)算裝置504一個(gè)一個(gè)地把加信號(hào)的輸入MB信號(hào)S511與作為減信號(hào)的宏塊MB的信號(hào)S512相加。因此,計(jì)算裝置504計(jì)算得到輸入MB信號(hào)與信號(hào)S512之間的差值,輸出該差值作為預(yù)測(cè)偏差MB信號(hào)S513。
把該預(yù)測(cè)偏差MB信號(hào)S513提供給DCT電路505。DCT電路505對(duì)預(yù)測(cè)偏差MB信號(hào)S513的每個(gè)(8×8)像素的塊進(jìn)行兩維DCT處理,并輸出DCT系數(shù)。把DCT系數(shù)提供給量化電路506。
量化電路506量化對(duì)應(yīng)于從端子507接收到的量化比例mQ的DCT系數(shù)、從移動(dòng)補(bǔ)償電路503接收到的預(yù)測(cè)MB信號(hào)的絕對(duì)值之差以及絕對(duì)值和平均值之差,并輸出偏差信號(hào),作為量化信號(hào)。
把從量化電路506接收到的量化信號(hào)和對(duì)與其對(duì)應(yīng)的移動(dòng)矢量MV提供給可變長(zhǎng)度碼編碼(VLC)電路508??勺冮L(zhǎng)度碼編碼電路508用對(duì)應(yīng)于MPEG語(yǔ)法的可變長(zhǎng)度碼對(duì)量化信號(hào)和移動(dòng)矢量MV進(jìn)行編碼。
把可變長(zhǎng)度碼編碼電路508的輸出信號(hào)提供給緩沖存儲(chǔ)器509。緩沖存儲(chǔ)器509平滑短時(shí)間內(nèi)產(chǎn)生的從可變長(zhǎng)度碼編碼電路508接收到的數(shù)據(jù)的比特?cái)?shù)的波動(dòng),并以所要的比特率輸出編碼比特流。端子501輸出從緩沖存儲(chǔ)器509接收到的編碼比特流。
把從量化電路506接收到的量化信號(hào)和量化比例提供給反量化電路511。反量化電路511對(duì)應(yīng)于量化比例對(duì)量化信號(hào)進(jìn)行反量化。把反量化電路511的輸出信號(hào)提供給反DCT電路512。反DCT電路512對(duì)從反量化電路511接收到的信號(hào)進(jìn)行反DCT處理,把得到的信號(hào)輸出給計(jì)算裝置513,作為預(yù)測(cè)偏差MB信號(hào)S515。
計(jì)算裝置513也接收提供給計(jì)算裝置504的預(yù)測(cè)MB信號(hào)S512。計(jì)算裝置513把預(yù)測(cè)偏差MB信號(hào)S515與預(yù)測(cè)MB信號(hào)S512相加,輸出局部編碼圖像信號(hào)。該圖像信號(hào)與接收方(解碼方)的輸出信號(hào)相同。
傳統(tǒng)移動(dòng)圖像編碼裝置對(duì)從端子501接收到的所有圖像都進(jìn)行DCT處理和量化處理。這種移動(dòng)圖像編碼裝置在對(duì)圖像數(shù)據(jù)進(jìn)行DCT處理和量化處理以及完成DCT系數(shù)的所有計(jì)算步驟之后確定要編碼的圖像的每個(gè)宏塊的DCT系數(shù)是否出現(xiàn)。
然而,由于這種移動(dòng)圖像編碼裝置即使它們的DCT系數(shù)最終變?yōu)椤?”,也要對(duì)所有宏塊進(jìn)行計(jì)算步驟,所以所有不必要的計(jì)算步驟也進(jìn)行了。
此外,由于傳統(tǒng)移動(dòng)圖像編碼裝置僅在進(jìn)行了所有計(jì)算步驟之后確定宏塊的所有DCT系數(shù)是否為“0”,所以必須進(jìn)行所有的計(jì)算步驟。
本發(fā)明就是根據(jù)上述的觀點(diǎn)作出的。
本發(fā)明的第一目的是為了減少檢測(cè)移動(dòng)矢量的塊匹配處理的計(jì)算步數(shù),以高速度檢測(cè)它。
本發(fā)明的第二目的是提供一種移動(dòng)矢量計(jì)算方法和其上記錄有其程序的記錄媒體,該移動(dòng)矢量計(jì)算方法可以使預(yù)定搜索區(qū)域內(nèi)的塊匹配處理的次數(shù)減少,以提高處理速率,并有效地使用MMX指令。
本發(fā)明的第三目的是提供一種移動(dòng)檢測(cè)裝置和移動(dòng)檢測(cè)方法,它可以檢測(cè)在整個(gè)屏幕上大幅度移動(dòng)的圖像的移動(dòng)矢量。
本發(fā)明的第四目的是提供一種圖像編碼裝置和圖像編碼方法,它可以縮短DCT系數(shù)最終為“0”的圖像的編碼處理時(shí)間。
本發(fā)明的第一個(gè)方面是移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)正交變換參照?qǐng)D像塊的像素?cái)?shù)據(jù)和當(dāng)前圖像塊的像素?cái)?shù)據(jù);以及(e)獲得參照?qǐng)D像塊的正交變換數(shù)據(jù)與當(dāng)前圖像的每個(gè)塊的正交變換數(shù)據(jù)之間的偏差。
本發(fā)明的第二方面是一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)正交變換參照?qǐng)D像塊的像素?cái)?shù)據(jù)和當(dāng)前圖像塊的像素?cái)?shù)據(jù);以及(e)獲得參照?qǐng)D像塊的正交變換數(shù)據(jù)與當(dāng)前圖像的每個(gè)塊的正交變換數(shù)據(jù)之間的偏差。
本發(fā)明的第三方面是一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像的塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)在計(jì)算參照?qǐng)D像塊的像素與當(dāng)前圖像塊的像素之間的偏差時(shí),把獲得的偏差與預(yù)定閾值進(jìn)行比較;(e)當(dāng)該偏差大于預(yù)定閾值時(shí),停止計(jì)算移動(dòng)矢量;以及(f)對(duì)應(yīng)于圖像特征設(shè)置預(yù)定閾值的初始值。
本發(fā)明的第四方面是一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)在計(jì)算參照?qǐng)D像塊的像素與當(dāng)前圖像塊的像素之間的偏差時(shí),把獲得的偏差與預(yù)定閾值進(jìn)行比較;(e)當(dāng)該偏差大于預(yù)定閾值時(shí),停止計(jì)算移動(dòng)矢量;以及(f)對(duì)應(yīng)于圖像特征設(shè)置預(yù)定閾值的初始值。
本發(fā)明的第五方面是一種移動(dòng)檢測(cè)裝置,包含取出裝置,從圖像中取出多個(gè)宏塊;第一移動(dòng)檢測(cè)裝置,檢測(cè)所述取出裝置取出的多個(gè)宏塊的每個(gè)塊的移動(dòng)矢量;移動(dòng)計(jì)算裝置,用所述第一活動(dòng)檢測(cè)裝置檢測(cè)到的各宏塊的移動(dòng)矢量計(jì)算整個(gè)圖像的移動(dòng)矢量;以及第二移動(dòng)檢測(cè)裝置,用所述活動(dòng)計(jì)算裝置計(jì)算得到的移動(dòng)矢量計(jì)算每個(gè)宏塊的移動(dòng)矢量。
本發(fā)明的第六方面是一種活動(dòng)檢測(cè)方法,包含下列步驟(a)從圖像中取出多個(gè)宏塊;(b)檢測(cè)取出的多個(gè)宏塊的每個(gè)塊的移動(dòng)矢量;(c)用檢測(cè)到的各宏塊的移動(dòng)矢量計(jì)算整個(gè)圖像的移動(dòng)矢量;以及(d)用計(jì)算得到的移動(dòng)矢量計(jì)算每個(gè)宏塊的移動(dòng)矢量。
本發(fā)明的第七方面是一種圖像編碼裝置,包含移動(dòng)檢測(cè)裝置,檢測(cè)輸入圖像數(shù)據(jù)的預(yù)定像素塊的移動(dòng)矢量,產(chǎn)生移動(dòng)偏差信息;判斷裝置,把從所述移動(dòng)檢測(cè)裝置接收到的移動(dòng)偏差信息與一預(yù)定值進(jìn)行比較,產(chǎn)生判斷結(jié)果;圖像數(shù)據(jù)處理裝置,對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)定的處理,該預(yù)定處理是編碼處理所需要的;編碼裝置,對(duì)圖像數(shù)據(jù)進(jìn)行編碼;以及控制裝置,對(duì)應(yīng)于所述判斷裝置的判斷結(jié)果,跳過(guò)所述圖像數(shù)據(jù)處理裝置進(jìn)行的預(yù)定處理,使所述編碼裝置進(jìn)行所述編碼處理。
本發(fā)明的第八方面是一種圖像編碼方法,包含下列步驟(a)檢測(cè)輸入圖像數(shù)據(jù)的預(yù)定像素塊的移動(dòng)矢量,產(chǎn)生移動(dòng)偏差信息;(b)把移動(dòng)偏差信息與一預(yù)定值進(jìn)行比較,產(chǎn)生判斷結(jié)果;(c)對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)定的處理,該預(yù)定處理是編碼處理所需要的;以及(d)對(duì)應(yīng)于確定結(jié)果,跳過(guò)預(yù)定處理,使對(duì)圖像數(shù)據(jù)進(jìn)行編碼處理。
本發(fā)明的第九方面是一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)該參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)同時(shí)取出當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);(e)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中;以及(f)該從存儲(chǔ)器中讀出當(dāng)前圖像塊的像素和參照?qǐng)D像塊的像素,作為連續(xù)數(shù)據(jù),以獲得偏差。
本發(fā)明的第十方面是一種其上記錄了移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算方法使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)同時(shí)取出當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);(e)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中;以及(f)從存儲(chǔ)器中讀出當(dāng)前圖像塊的像素和參照?qǐng)D像塊的像素,作為連續(xù)數(shù)據(jù),以獲得偏差。
本發(fā)明的第十一方面是一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算粗略移動(dòng)矢量;(d)當(dāng)在步驟(c)獲深的粗略移動(dòng)矢量的附近中移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(e)根據(jù)參照?qǐng)D像檢測(cè)偏差最小的塊,以檢測(cè)精細(xì)移動(dòng)矢量;(f)把當(dāng)前圖像的像素與參照?qǐng)D像的像素存儲(chǔ)到第一存儲(chǔ)器中;(g)同時(shí)取出當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);以及(h)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到第二存儲(chǔ)器中,其中步驟(c)是利用存儲(chǔ)在第二存儲(chǔ)器中的作為連續(xù)數(shù)據(jù)的當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素進(jìn)行的,步驟(e)是利用存儲(chǔ)在第一存儲(chǔ)器中的當(dāng)前圖像的像素和參照?qǐng)D像的像素進(jìn)行的。
本發(fā)明的第十二方面是一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算粗略移動(dòng)矢量;(d)當(dāng)在步驟(c)獲得的粗略移動(dòng)矢量的附近中移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(e)根據(jù)參照?qǐng)D像檢測(cè)偏差最小的塊,以檢測(cè)精細(xì)移動(dòng)矢量;(f)把當(dāng)前圖像的像素與參照?qǐng)D像的像素存儲(chǔ)到第一存儲(chǔ)器中;(g)同時(shí)取出當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);以及(h)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到第二存儲(chǔ)器中,其中步驟(c)是利用存儲(chǔ)在第二存儲(chǔ)器中的作為連續(xù)數(shù)據(jù)的當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素進(jìn)行的,步驟(e)是利用存儲(chǔ)在第一存儲(chǔ)器中的當(dāng)前圖像的像素和參照?qǐng)D像的像素進(jìn)行的。
本發(fā)明的第十三方面是一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;以及(d)把參照?qǐng)D像塊的外形像素與當(dāng)前圖像塊的外形像素比較,獲得它們之間的偏差。
本發(fā)明的第十四方面是一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;以及(d)把參照?qǐng)D像塊的外形像素與當(dāng)前圖像塊的外形像素比較,獲得它們之間的偏差。
本發(fā)明的這些和其它目的、特征和優(yōu)點(diǎn)通過(guò)下面如附圖所示的最佳實(shí)施例的詳細(xì)描述將變得更明顯。
圖1是傳統(tǒng)MPEG2編碼器的結(jié)構(gòu)框圖;圖2是解釋塊匹配處理的示意圖;圖3是傳統(tǒng)移動(dòng)圖像編碼裝置的結(jié)構(gòu)示意圖;圖4是根據(jù)本發(fā)明數(shù)據(jù)處理裝置的結(jié)構(gòu)的例子框圖5是解釋MPEG2編碼處理的流程圖;圖6是解釋根據(jù)本發(fā)明在移動(dòng)矢量計(jì)算過(guò)程中當(dāng)前幀的塊的處理的示意圖;圖7是解釋根據(jù)本發(fā)明在移動(dòng)矢量計(jì)算過(guò)程中當(dāng)前幀的塊的處理的示意圖;圖8是解釋根據(jù)本發(fā)明在移動(dòng)矢量計(jì)算過(guò)程中當(dāng)前幀的塊的處理的示意圖;圖9是解釋鋸齒掃描處理的示意圖;圖10是解釋根據(jù)本發(fā)明在移動(dòng)矢量計(jì)算過(guò)程中參照幀的塊的處理的示意圖;圖11是解釋根據(jù)本發(fā)明在移動(dòng)矢量計(jì)算過(guò)程中參照幀的塊的處理的示意圖;圖12是解釋根據(jù)本發(fā)明在移動(dòng)矢量計(jì)算過(guò)程中參照幀的塊的處理的示意圖;圖13確定是進(jìn)行幀內(nèi)編碼處理還是幀間編碼處理的函數(shù)曲線圖;圖14確定是進(jìn)行幀內(nèi)編碼處理還是幀間編碼處理的函數(shù)曲線圖;圖15是解釋根據(jù)本發(fā)明的移動(dòng)矢量計(jì)算處理的流程圖;圖16是解釋根據(jù)本發(fā)明的移動(dòng)矢量計(jì)算處理的流程圖;圖17是解釋格子化變稀處理的示意圖;圖18A、18B和18C是解釋格子化數(shù)據(jù)作為連續(xù)數(shù)據(jù)的布置的示意圖;圖19A和19B是解釋根據(jù)本發(fā)明的MPEG2編碼器的編碼處理的示意圖;圖20是解釋根據(jù)本發(fā)明的MPEG2編碼器的編碼處理的存儲(chǔ)器結(jié)構(gòu)的示意圖;圖21是解釋根據(jù)本發(fā)明的MPEG2編碼器的編碼處理的時(shí)序圖;圖22是解釋根據(jù)本發(fā)明的MPEG2編碼器的移動(dòng)矢量計(jì)算處理的流程圖;圖23解釋根據(jù)本發(fā)明的MPEG2編碼器的移動(dòng)矢量計(jì)算處理的流程圖;圖24是解釋根據(jù)本發(fā)明的MPEG2編碼器的移動(dòng)矢量計(jì)算處理的流程圖;圖25是解釋本發(fā)明一個(gè)實(shí)施例的示意圖;圖26是解釋本發(fā)明一個(gè)實(shí)施例的流程圖;圖27是根據(jù)本發(fā)明圖像編碼裝置的結(jié)構(gòu)例子的框圖;圖28是解釋圖像編碼裝置的全程矢量檢測(cè)部分中所用的宏塊提取處理的示意圖;圖29是解釋把一幅圖像分割成多個(gè)區(qū)域,并獲得全程矢量的處理的示意圖,該處理通過(guò)圖像編碼裝置的全程矢量檢測(cè)部分來(lái)進(jìn)行;圖30是解釋圖像編碼裝置的移動(dòng)檢測(cè)處理的流程圖;圖31是根據(jù)本發(fā)明圖像編碼裝置的結(jié)構(gòu)框圖;圖32是解釋根據(jù)本發(fā)明的圖像編碼裝置的編碼處理的流程圖。
下面參照附圖描述本發(fā)明的實(shí)施例。圖4是一個(gè)示意圖,示出按照本發(fā)明的第一個(gè)實(shí)施例數(shù)據(jù)處理裝置的結(jié)構(gòu)。
參照?qǐng)D4,標(biāo)號(hào)1是一個(gè)CPU(中央處理單元)。標(biāo)號(hào)2是ROM(只讀存儲(chǔ)器)。標(biāo)號(hào)3是RAM(隨機(jī)存儲(chǔ)器)。該CPU1、ROM2和RAM3連到處理器總線4。
CPU1可以是如具有MMX功能的處理器。MMX功能允許高速完成運(yùn)動(dòng)圖形的重演過(guò)程,圖形的編輯過(guò)程,聲音合成過(guò)程等等。借助于使用SIMD(SingleInsturction Multiple Data-單指令多數(shù)據(jù))技術(shù)的MMX指令,可以在同一時(shí)刻對(duì)連續(xù)的數(shù)據(jù)完成同樣的過(guò)程。
ROM2儲(chǔ)存自舉程序。RAM3是作為工作區(qū)的主要存儲(chǔ)器。RAM的推薦容量是例如64MB或更多。
CPU1連到橋接線路5。該橋接線路5連到處理器總線4。該橋接線路5連到PCI(外圍組件互連)總線6。橋接線路5連接CPU1,處理器總線4和PCI總線6。
PCI總線6連到一個(gè)IDE(Integrated Device Electronics-綜合設(shè)備電子)控制器7,一個(gè)SCSI(Small Compnter System Interface-小型計(jì)算機(jī)系統(tǒng)接口)控制器8,一個(gè)圓形加速器9和一個(gè)IEEE(電子電氣工程協(xié)會(huì))1394控制器10。
IDE控制器7連到如硬盤(pán)或光盤(pán)(CD)驅(qū)動(dòng)器那樣的存儲(chǔ)設(shè)備11。SCSI控制器8連到如硬盤(pán)或光盤(pán)驅(qū)動(dòng)器那樣的存儲(chǔ)設(shè)備12。SCSI控制器也連到如圖象掃描儀那樣的外圍單元和一個(gè)存儲(chǔ)設(shè)備。圖形加速器連到顯示器13。IEEE1394控制器10連到如數(shù)字VCR(Video Cassette Recorder-視頻盒式記錄器)那樣的數(shù)字聲頻視頻單元。
PCI總線6通過(guò)橋接線路14連到ISA(Industrial Standard Architecture-工業(yè)標(biāo)準(zhǔn)構(gòu)架)總線15。橋接線路14連到PCI總線6和ISA總線15。ISA總線15連到一個(gè)輸入設(shè)備控制器16,一個(gè)軟盤(pán)控制器17,一個(gè)并門(mén)控制器18和一個(gè)RS232C控制器19。
輸入設(shè)備控制器18連到如鍵盤(pán)和鼠標(biāo)那樣的輸入設(shè)備20。軟盤(pán)控制器17連到軟盤(pán)驅(qū)動(dòng)器21。打印機(jī)或類(lèi)似設(shè)備能連接到并門(mén)控制器18。調(diào)制解調(diào)器或類(lèi)似設(shè)備所連接到RS232C控制器19。
在初始狀態(tài),起動(dòng)存儲(chǔ)在ROM2中的自舉程序以完成初始設(shè)置。然后訪問(wèn)存儲(chǔ)設(shè)備11或12。讀出存在存儲(chǔ)設(shè)備11或12中的操作系統(tǒng)。操作系統(tǒng)駐留在作為主存儲(chǔ)器的RAM3。隨后起動(dòng)操作系統(tǒng)。在操作系統(tǒng)的控制下執(zhí)行各種處理過(guò)程。
在該例中使用PCI總線和ISA總線。然而,按照本發(fā)明能使用USB(UniversalSerial Bus-通用串行總線)。鍵盤(pán)、鼠標(biāo)或類(lèi)似設(shè)備所接到USB上。
當(dāng)圖4所示的數(shù)據(jù)處理裝置完成MPEG2編碼過(guò)程時(shí),執(zhí)行完成MPEG2編碼過(guò)程的應(yīng)用程序。該應(yīng)用程序作為執(zhí)行程序儲(chǔ)存在如IDE硬盤(pán)的存儲(chǔ)設(shè)備11或如SCSI硬盤(pán)的存儲(chǔ)設(shè)備12。當(dāng)執(zhí)行該應(yīng)用程序時(shí),它被讀入到RAM3,繼而由CPU執(zhí)行。
該完成MPEG2編碼過(guò)程的應(yīng)用程序可以預(yù)裝在如IDE硬盤(pán)的存儲(chǔ)設(shè)備11或如SCSI硬盤(pán)的存儲(chǔ)設(shè)備12。另外,CD-ROM(光盤(pán))或軟盤(pán)可按可執(zhí)行格式或壓縮格式提供用于完成MPEG2編碼過(guò)程的應(yīng)用程序。用戶(hù)可以將伴存在CD-ROM或軟盤(pán)上的程序安裝到如IDE硬盤(pán)的存儲(chǔ)設(shè)備11或如SCSI硬盤(pán)的存儲(chǔ)設(shè)備12。作為另一種方法,該應(yīng)用程序可以通過(guò)通信線下載。
當(dāng)執(zhí)行完成MPEG2編碼過(guò)程的應(yīng)用程序時(shí),按預(yù)測(cè)方式對(duì)數(shù)字視頻數(shù)據(jù)完成運(yùn)動(dòng)向量計(jì)算過(guò)程,DCT計(jì)算過(guò)程,量化過(guò)程和可變長(zhǎng)度碼編碼過(guò)程。該數(shù)字視頻數(shù)據(jù)按MPEG2方式壓縮。在這一方面,RAM3被用作工作區(qū)域。借助于CPU1的功能完成對(duì)那些過(guò)程的計(jì)算操作。數(shù)字視頻數(shù)據(jù)從外部數(shù)字VCR或連接到IEEE1394控制器10的類(lèi)似設(shè)備輸入。輸出數(shù)據(jù)記錄在硬盤(pán)驅(qū)動(dòng)器或連接到SCSI控制器8或IDE控制器7的類(lèi)似設(shè)備中。
圖5是一個(gè)流程圖,示出該程序的MPEG2編碼過(guò)程。
如圖5所示,輸入多幀的數(shù)字視頻數(shù)據(jù)。該數(shù)字視頻數(shù)據(jù)被緩存至RAM3中(步驟S1)。借助一個(gè)塊匹配過(guò)程計(jì)算運(yùn)動(dòng)向量(步驟S2)。在塊匹配處理中可以使用輪廓(Contour)的塊像素。
判斷該預(yù)測(cè)方式是否為I圖像,P圖像或B圖像(步驟S3)。若在步驟S3中判斷,預(yù)測(cè)模式是I圖像,對(duì)同一幀的每個(gè)(8×8)像素的塊完成DCT過(guò)程(步驟S4)。所獲得的系數(shù)數(shù)據(jù)被量化(步驟S5)且然后用可變碼編碼(步驟S6)。該結(jié)果數(shù)據(jù)作為參考圖像數(shù)據(jù)存入RAM3(步驟S7)。
若在步驟S3中判斷,預(yù)測(cè)模式是P圖像,從RAM3中讀出提前(forward)參照?qǐng)D像的數(shù)據(jù)(步驟S8)。該參照?qǐng)D像是對(duì)應(yīng)于在步驟S2計(jì)算的運(yùn)動(dòng)向量的運(yùn)動(dòng)補(bǔ)償(motion-compensated)(步驟S9)。因此,得到當(dāng)前圖形的數(shù)據(jù)與具有運(yùn)動(dòng)補(bǔ)償?shù)膮⒄請(qǐng)D像的數(shù)據(jù)之間的差(步驟S10)。獲得的數(shù)據(jù)量化(步驟S11)且用可變長(zhǎng)碼編碼(步驟S12)。結(jié)果數(shù)據(jù)作為參照?qǐng)D像數(shù)據(jù)存入RAM3(步驟S13)。
若在步驟S3中判斷,預(yù)測(cè)模式是B圖像,從RAM3中讀出雙向參照?qǐng)D像數(shù)據(jù)(步驟S14)。相應(yīng)于在步驟S2中計(jì)算的運(yùn)動(dòng)向量,參照?qǐng)D像是運(yùn)動(dòng)補(bǔ)償?shù)?步驟S15)。得到當(dāng)前圖形的數(shù)據(jù)與具有運(yùn)動(dòng)補(bǔ)償?shù)膮⒄請(qǐng)D像的數(shù)據(jù)之間的差。對(duì)于當(dāng)前圖形的數(shù)據(jù)與參照?qǐng)D像的數(shù)據(jù)之間的差完成DCT過(guò)程(步驟S16)。獲得的數(shù)據(jù)被量化(步驟S17)且用可變長(zhǎng)碼編碼(步驟S18)。
在圖5的步驟S2計(jì)算的運(yùn)動(dòng)向量以如下方式完成。從參照中提取出大小和原點(diǎn)與待處理的當(dāng)前幀中分割出的塊相同的塊。當(dāng)參照幀的塊在一個(gè)預(yù)定的搜索區(qū)域運(yùn)動(dòng)時(shí),參照幀的塊的像素與當(dāng)前幀的相應(yīng)塊的像素的差值的絕對(duì)值之和作為一個(gè)偏差值(Residual)而得到。獲得具有最小偏差值的參照幀的塊。該塊匹配過(guò)程需要許多計(jì)算步驟。
因此,按本發(fā)明,塊匹配過(guò)程是借助于塊的正交轉(zhuǎn)換數(shù)據(jù)和比較塊來(lái)完成。作為正交轉(zhuǎn)換過(guò)程的一個(gè)例子使用哈達(dá)瑪特轉(zhuǎn)換方法。
換言之,如圖6所示,獲得當(dāng)前幀的(16×16)像素的塊CBLK的數(shù)據(jù)電CD1、CD2,…,和CD256。如圖7所示,當(dāng)前幀的(16×16)像素的塊CBLK被分割成4個(gè)塊TBLK_C1到TBLK_C4,每個(gè)由(8×8)像素組成。如圖8所示,4個(gè)塊TBLK_C1到TBLK_C4被正交地轉(zhuǎn)換到譜數(shù)據(jù)片TCD1-1到TCD-64,TCD2-1到TCD2-64,TCD3-1到TCD3-64,和TCD4-1到TCD-64。4塊TBLK_C1到TBLK_C4的數(shù)據(jù)電借助地圖9中所示的鋸齒形掃描方法以較低空間頻率數(shù)據(jù)片(Lower spatial frequency data pieces)的次序獲得。
類(lèi)似地如圖10所示,獲得一個(gè)參照幀的(16×16)像素的塊RBLK的數(shù)據(jù)片RD1,RD2,…和RD245。如圖11所示,該參照幀被分成4塊TBLK1到TBLK_R4。如圖12所示,4塊被正交地轉(zhuǎn)換成譜數(shù)據(jù)TRD1-1到TRD1-64,TRD2-1到TRD2-64,TRD3-1到TRD3-64和TRD4-1到TRD4-64。4塊TBLK_R1到TBLK_R4的數(shù)據(jù)片借助于如圖9所示的鋸齒形掃描方法以較低空間頻率數(shù)據(jù)片的次序獲得。
當(dāng)正交轉(zhuǎn)換視頻信號(hào)時(shí),能量集中于低頻數(shù)據(jù)。因此,高頻數(shù)據(jù)幾乎不存在。結(jié)果,當(dāng)4塊TBLK_C4到TBLK_C4的數(shù)據(jù)片借助于鋸齒形掃描方法獲得時(shí),數(shù)據(jù)片的數(shù)目限于預(yù)定的值。在本例中,獲得的數(shù)據(jù)片的值限于10。然而,按照本發(fā)明所獲得的數(shù)據(jù)片的數(shù)據(jù)可以是其他值。類(lèi)似地,當(dāng)該參照幀的4塊TBLK_R1到TBLK_R4的數(shù)據(jù)片借助于鋸齒形掃描獲得時(shí),所獲得的數(shù)據(jù)片的數(shù)目限于預(yù)定值。在本例中,所獲得的數(shù)據(jù)片的數(shù)目限止。
換言之,例如從當(dāng)前幀的4塊TBLK_C1到TBLK_C4獲得10個(gè)數(shù)據(jù)片(用圖8中的黑點(diǎn)標(biāo)出)。類(lèi)似地,例如從該參照幀的4塊TBLK_R1到TBLK_R4獲得10個(gè)數(shù)據(jù)電(用圖12中的黑點(diǎn)標(biāo)出)。從該當(dāng)前幀的4塊TBLK_C1到TBLK_C4獲得的數(shù)據(jù)片和從該參照幀的4塊TBLK_R1到TBLK_R4獲得的數(shù)據(jù)片之間的差的絕對(duì)值之和作為偏差值得到。
在塊匹配過(guò)程中,因?yàn)橐粔K的數(shù)據(jù)被正交地轉(zhuǎn)換且數(shù)據(jù)片的數(shù)目限于預(yù)定值,計(jì)算步驟能大大地減少。因此計(jì)算速度得到改善。
換言之,如上所述1塊分成4塊。4塊被正交的轉(zhuǎn)換(例如用哈達(dá)馬特轉(zhuǎn)換方法)。每個(gè)正交轉(zhuǎn)換塊的數(shù)據(jù)片的數(shù)目限于10。在此條件下完成塊匹配過(guò)程。在此情況下,因?yàn)閿?shù)據(jù)片的數(shù)限于10且1塊分成4塊,在塊匹配過(guò)程中為獲得偏差值的計(jì)算步數(shù)是40。相反,當(dāng)塊匹配過(guò)程用(16×16)像素組成的塊來(lái)完成,計(jì)算步數(shù)變成16×16=256。因此,當(dāng)用正交轉(zhuǎn)換的一塊獲得偏差值時(shí),計(jì)算步數(shù)能大大減少。
在這種情況,需使用如哈達(dá)馬特轉(zhuǎn)換方法那樣的正交轉(zhuǎn)換方法。然而,哈達(dá)馬特方法能用簡(jiǎn)單的如加、減那樣的算術(shù)運(yùn)算來(lái)完成。因此,計(jì)算步驟不會(huì)大大地增加。
在MPEG2編碼過(guò)程中,當(dāng)前幀的圖形用作下一個(gè)參照幀的圖形。因此,當(dāng)前幀的一個(gè)圖形的塊的正交轉(zhuǎn)換數(shù)據(jù)被儲(chǔ)存時(shí),已能用作為一個(gè)參照幀的數(shù)據(jù)。
當(dāng)搜索運(yùn)動(dòng)向量時(shí),搜索區(qū)相互交疊。在交疊區(qū)需要同樣的正交轉(zhuǎn)換數(shù)據(jù)。因此,對(duì)于一個(gè)參照幀的塊,儲(chǔ)存逐個(gè)像素移動(dòng)的正交轉(zhuǎn)換數(shù)據(jù)。在這種情況,當(dāng)搜索區(qū)交疊時(shí),該儲(chǔ)存的數(shù)據(jù)能被使用。
在上述例子中,作為正交轉(zhuǎn)換方法使用哈達(dá)馬特轉(zhuǎn)換方法。然而,按照本發(fā)明,能使用例如DCT轉(zhuǎn)換方法或FFT(快速付里葉變換)。
在上述例子中,一個(gè)(16×16)像素的塊分成4塊,每個(gè)由(8×8)像素組成。該4個(gè)分割的塊被正交地轉(zhuǎn)換。另外,一個(gè)(16×16)像素的塊可以直接被正交的韃換。然而,當(dāng)1塊分成4塊且4塊被正交的轉(zhuǎn)換時(shí),轉(zhuǎn)換算法變得簡(jiǎn)單。此外,能使用通用的正交轉(zhuǎn)換線路和算法。
下面將描述本發(fā)明的第二個(gè)實(shí)施例。按照第二個(gè)實(shí)施例,在塊匹配計(jì)算循環(huán)中間,當(dāng)前幀的一個(gè)塊的像素與參照幀的相應(yīng)塊的像素之際的差的絕對(duì)值之和與一個(gè)預(yù)定的閾值進(jìn)行比較。當(dāng)該和等于或大于預(yù)定的閾值,過(guò)程終止。因此,計(jì)算步數(shù)能減少。結(jié)果,運(yùn)動(dòng)向量能被快速地檢測(cè)。
閾值是按照平均離散絕對(duì)值(mean discrete absolute values-MAD)之和以及在原點(diǎn)的偏差A(yù)D(0,0)指定的。于是,因?yàn)殚撝凳莿?dòng)態(tài)地指定的,該過(guò)程能有效地完成。
在P圖像和B圖像的情況,幀內(nèi)(intra-frame)編碼過(guò)程可以對(duì)每個(gè)宏塊完成(在圖5中,為簡(jiǎn)單起見(jiàn)在P圖像和B圖像情況,幀間(inter-frame)編碼過(guò)程用一個(gè)參照幀來(lái)完成)。換言之,該幀間編碼過(guò)程能比幀內(nèi)編碼過(guò)程更有效地壓縮圖形。然而,在包含許多DC組件或有大運(yùn)動(dòng)(即,當(dāng)前幀的一塊的像素和參照幀的相應(yīng)塊的像素之間差值的絕對(duì)值之和是大的)的圖形的情況,幀內(nèi)編碼過(guò)程能比幀間編碼過(guò)程更有效地壓縮圖形。當(dāng)幀內(nèi)編碼過(guò)程被完成時(shí),因?yàn)椴恍枰\(yùn)動(dòng)向量計(jì)算過(guò)程,運(yùn)動(dòng)向量的不精確是可允許的。
若當(dāng)前幀的一個(gè)塊的像素與一個(gè)參照幀的相應(yīng)塊的像素的差的絕對(duì)值之和等于或大于該預(yù)定的閾值,該過(guò)程終止。然而,若對(duì)閾值指定一個(gè)大的值,過(guò)程在中間終止的概率變得很高。相反,若對(duì)閾值指定一個(gè)小的值,運(yùn)動(dòng)向量被檢測(cè)到不精確的概率變得很高。然而,當(dāng)幀內(nèi)編碼過(guò)程被完成,因?yàn)椴恍枰\(yùn)動(dòng)向量計(jì)算過(guò)程,運(yùn)動(dòng)向量的不精確是可以允許的。因此,當(dāng)在幀內(nèi)編碼過(guò)程中獲得的偏差值用作閾值時(shí),該過(guò)程的效率得到改善。
當(dāng)P圖像和B圖像被編碼時(shí),幀內(nèi)編碼過(guò)程按照該MAD的值和被檢測(cè)運(yùn)動(dòng)向量的偏差值A(chǔ)D(X,Y)來(lái)完成。
MAD是一個(gè)幀的像素的值與平均值之差的絕對(duì)值之和。MAD如下式獲得MAD=Σx=116Σy=116|Pixel(x,y)-AVE_BLOCK|]]>AVE_BLOCK=Σx=116Σy=116Pixel(x,y)256]]>MAD表示圖形的一個(gè)塊的圖案的復(fù)雜性。因此,當(dāng)一個(gè)圖案是簡(jiǎn)單時(shí),MAD的值是小的。相反,當(dāng)一個(gè)圖案復(fù)雜時(shí),MAD的值是大的。
因此,使用圖13示出的函數(shù)可確定應(yīng)該完成幀內(nèi)編碼過(guò)程還是幀間編碼過(guò)程。在圖13中,水平軸表示在一個(gè)運(yùn)動(dòng)向量位置上偏差A(yù)D(X,Y)的值而垂直軸表示MAD值。在圖13中,當(dāng)MAD值和運(yùn)動(dòng)向量位置上的偏差(X,Y)的值均在AR1區(qū)域中,完成幀內(nèi)編碼過(guò)程。當(dāng)它們均在AR2區(qū)域中,完成幀間編碼過(guò)程。當(dāng)MAD值小時(shí),因?yàn)楫?dāng)前塊的圖案簡(jiǎn)單,此函數(shù)表示完成幀內(nèi)編碼過(guò)程。當(dāng)在運(yùn)動(dòng)向量位置上偏差A(yù)D(X,Y)的值小,此函數(shù)表示完成幀間編碼過(guò)程而不是幀內(nèi)編碼過(guò)程。
在塊匹配過(guò)程中間,當(dāng)前幀的一塊的像素與一個(gè)參照幀的相應(yīng)塊的像素的差的絕對(duì)值之和與預(yù)定的閾值進(jìn)行比較。當(dāng)其和等于或大于該閾值,過(guò)程終止。此外,對(duì)應(yīng)于圖13和圖14中示出的,MAD值和在原點(diǎn)偏差A(yù)D(0,0)的值的函數(shù)確定完成幀內(nèi)編碼過(guò)程或幀間編碼過(guò)程。另外,還確定是否完成運(yùn)動(dòng)補(bǔ)償。作為確定的結(jié)果,指定閾值的初始值。因此,一個(gè)運(yùn)動(dòng)向量被有效地計(jì)算。圖15是表示那樣過(guò)程的流程圖。
因?yàn)樵趬K匹配過(guò)程中初始指定的閾值不總是小的,當(dāng)開(kāi)始檢測(cè)到運(yùn)動(dòng)向量時(shí),該閾值是用MAD的值和在原點(diǎn)的偏差A(yù)D(0,0)的值得到的。在對(duì)同一塊的下一個(gè)塊匹配過(guò)程中,使用初始閾值或得到的不論多小的和值。因此,該過(guò)程能有效地完成。
在圖15中,開(kāi)始設(shè)置一個(gè)參照幀的一個(gè)塊的搜索區(qū)域(步驟S21)。然后得到MAD的值(步驟S22)。得到在原點(diǎn)的差A(yù)D(0,0)的值(步驟S23)。對(duì)應(yīng)于MAD的值和在原點(diǎn)的偏差A(yù)D(0,0)的值,設(shè)置ADmin的初始值(步驟S24)。
ADmin的值表示已得到偏差的最小值。ADmin的初始值成為當(dāng)前幀的一個(gè)塊的像素與參照幀的相應(yīng)塊的像素之間差值的絕對(duì)值之和的閾值的初始值。根據(jù)按照?qǐng)D13和14的函數(shù)確定的完成幀內(nèi)編碼過(guò)程或完成幀間編碼過(guò)程以及是否完成運(yùn)動(dòng)補(bǔ)償過(guò)程,ADmin的值動(dòng)態(tài)地設(shè)置。
在步驟S24設(shè)置ADmin的初值以后,選搜索區(qū)的右上位置用于第一個(gè)塊匹配過(guò)程(步驟S25)。對(duì)于在初始位置的塊,完成塊匹配過(guò)程(步驟S26)。
在塊匹配過(guò)程中間,當(dāng)前幀的一個(gè)塊的像素和參照幀的相應(yīng)塊的像素之間的差值的絕對(duì)值之和與預(yù)定的閾值相比較。當(dāng)其和等于或大于該閾值時(shí)過(guò)程終止。在初始完成塊匹配過(guò)程時(shí),在步驟S24得到的ADmin的初始值用作為閾值。圖16是表示該塊匹配過(guò)程的流程圖。
參照?qǐng)D16,在塊匹配過(guò)程(步驟S26)中初始設(shè)置像素位置(步驟S41)。初始設(shè)置偏差A(yù)D的值(步驟S42)。用參照幀的像素和當(dāng)前幀的像素之間的差的絕對(duì)值之和得到一個(gè)偏差(步驟S43)。在塊區(qū)域過(guò)程的中間,判斷參照幀的像素和當(dāng)前幀的像素之間差值的絕對(duì)值之和是否超過(guò)ADmin的值(步驟S44)。當(dāng)在S44步驟判斷的結(jié)果是肯定的(即,該和超過(guò)ADmin的值)。塊匹配過(guò)程終止。流程回到主程序。當(dāng)在步驟S44判斷的結(jié)果是否定的(即,該和不超ADmin的的值),則判斷該塊匹配過(guò)程是否已對(duì)所有的像素做過(guò)(步驟S45)。若在步驟S45判斷的結(jié)果是否定的(即,該塊匹配過(guò)程尚未對(duì)所有的像素做過(guò)),則流程返回到步驟S43。在步驟S43,繼續(xù)計(jì)算參照幀的像素和當(dāng)前幀的像素之間差的絕對(duì)值之和。若在步驟S45的判斷結(jié)果是肯定(即,該塊匹配過(guò)程已經(jīng)對(duì)所有像素完成),該塊匹配過(guò)程終止。然后,流程回到主程序。
如上所述,在塊匹配過(guò)程中步驟S44判斷AD的值是超過(guò)ADmin的值。若步驟44的判斷結(jié)果是肯定(即,AD的值超過(guò)ADmin的值),流程回到主程序。因此,ADmin的值變成閾值。在塊匹配過(guò)程的中間,當(dāng)前幀的一個(gè)塊的像素和參照幀的相應(yīng)塊的像素之間的差的絕對(duì)值之和與該閾值進(jìn)行比較。當(dāng)該和超過(guò)預(yù)定的閾值,塊匹配過(guò)程終止。因此,計(jì)算步驟減少。結(jié)果,運(yùn)動(dòng)向量能高速地被檢測(cè)。
此外,相應(yīng)于MAD的值和原點(diǎn)的偏差A(yù)D(0,0)的值設(shè)置用作初始閾值的ADmin的值。若一個(gè)偏差值表示,完成幀內(nèi)編碼過(guò)程,因?yàn)椴恍枰\(yùn)動(dòng)向量,該運(yùn)動(dòng)向量的不精確性是允許的。因?yàn)樵撻撝凳沁\(yùn)態(tài)變化的,當(dāng)一個(gè)偏差超過(guò)一個(gè)值,在該值上不需要運(yùn)動(dòng)向量,則塊匹配過(guò)程終止的概率變得很高。于是計(jì)算步數(shù)進(jìn)一步減少。
在圖15中,在塊匹配過(guò)程中獲得的AD的值與已經(jīng)得到的最小值A(chǔ)Dmin比較(步驟S27)。若在步驟S27判斷的結(jié)果是肯定(即,AD的值小于最小值A(chǔ)Dmin),當(dāng)前的和AD用作最小值A(chǔ)Dmin的(步驟S28)。AD的值作為運(yùn)動(dòng)向量MV被記錄(步驟S29)。然后處理下一塊(步驟S30)。然后判斷是否最后的塊已被處理(步驟S31)。若在步驟S31的判斷結(jié)果是否定(即,最后的塊尚未被處理),流程返回到步驟S26。在步驟S26對(duì)下一個(gè)塊完成塊匹配過(guò)程。
如圖16所示,在塊匹配過(guò)程中間,當(dāng)前幀的一個(gè)塊的像素和參照幀的相應(yīng)塊的像素之間差的絕對(duì)值之和與預(yù)定的閾值進(jìn)行比較。若該和等于或大于該預(yù)定閾值,該過(guò)程終止。該ADmin的值用作閾值。
在步驟S27中,在塊匹配過(guò)程中獲得的AD的值與已經(jīng)得到的ADmin的值進(jìn)行比較。當(dāng)在步驟S27判斷的結(jié)果是肯定(即,該AD的值小于當(dāng)明的最小值A(chǔ)Dmin),則該AD值成為ADmin的值。因此,若得到的AD的值大于ADmin的值,下一個(gè)閾值與初始閾值相同。若AD的值小于ADmin的值,下一個(gè)閾值成為AD的最小值。因?yàn)樵趫D16示出的塊匹配過(guò)程中,若偏差超過(guò)ADmin的值,過(guò)程終止。
然后,從步驟S26到步驟S31之間的循環(huán)重復(fù)進(jìn)行。獲得當(dāng)前幀的一個(gè)塊的像素與參照幀的相應(yīng)塊的像素之間差值的絕對(duì)值之和的最小值。在步驟S31中判斷,是否最后的塊已被處理。若在步驟S31的判斷結(jié)果是肯定(即,最后塊已被處理),則該最小值A(chǔ)Dmin成為運(yùn)動(dòng)向量MV。該結(jié)果被儲(chǔ)存(步驟S32)。
在上述例子中,閾值的初始值是對(duì)應(yīng)MAD的值和在原點(diǎn)的偏差A(yù)D(X,Y)訴值指定的。然后,按照本發(fā)明,可以對(duì)應(yīng)MAD的值和在原點(diǎn)的偏差A(yù)D(X,Y)中的一個(gè)來(lái)指定閾值。
如圖17所示,在本發(fā)明的第三實(shí)施例中,塊匹配過(guò)程是借助于參照幀的一個(gè)塊的格子化變稀像素和當(dāng)前幀的相應(yīng)塊的像素完成的。
參照?qǐng)D17,參照幀的塊31由(16×16)像素組成。從塊31的格子化得到(8×16)的像素。類(lèi)似地,當(dāng)前幀32由(16×16)像素組成。從塊32的格子化得到(8×16)的像素。
這里,格子化的當(dāng)前幀和參考幀的像素作為連續(xù)的數(shù)據(jù)存入存儲(chǔ)器(RAM3的一個(gè)預(yù)定區(qū)),使塊匹配過(guò)程能用MMX指令有效地完成。
換言之,如圖18A所示當(dāng)前幀的像素和參照幀的像素被格子化。如圖18B所示,變稀的格子化的像素重新安排成連續(xù)的數(shù)據(jù)。如圖18C所示,變稀格子化的像素存入存儲(chǔ)器的連續(xù)地址中。
當(dāng)參照幀的像素與當(dāng)前幀的像素作為連續(xù)數(shù)據(jù)存入存儲(chǔ)器時(shí),因?yàn)閴K匹配過(guò)程用MMX指令完成,該過(guò)程高速地完成。
當(dāng)變稀格子化的當(dāng)前幀的像素和參照幀的像素作為連續(xù)數(shù)據(jù)存入存儲(chǔ)器時(shí),因?yàn)橥瑫r(shí)搜索2個(gè)像素,很容易完成對(duì)數(shù)搜索過(guò)程,其中MMX指令也適用。
在對(duì)數(shù)搜索過(guò)程中,最小偏差的點(diǎn)在搜索區(qū)粗略地搜索。然后,圍繞粗略搜索點(diǎn)再精細(xì)地搜索最小偏差的點(diǎn)。
當(dāng)格子化的當(dāng)前幀的像素和參照幀的像素作為連續(xù)數(shù)據(jù)存入存儲(chǔ)器時(shí),對(duì)數(shù)搜索過(guò)程以下面方式完成。
準(zhǔn)備2個(gè)存儲(chǔ)器,第一個(gè)存儲(chǔ)器儲(chǔ)存當(dāng)前幀的所有像素和參照幀的所有像素,第二個(gè)存儲(chǔ)器(或存儲(chǔ)區(qū))儲(chǔ)存已格子化作為連續(xù)數(shù)據(jù)的當(dāng)前幀的像素與參照幀的像素。使用第二存儲(chǔ)器,在兩個(gè)像素步卡粗略地搜索運(yùn)動(dòng)向量。在粗略檢測(cè)運(yùn)動(dòng)向量以后,使用第一個(gè)存儲(chǔ)在已得到的點(diǎn)像素附近用像素精細(xì)地搜索運(yùn)動(dòng)向量。這樣能精確地檢測(cè)運(yùn)動(dòng)向量。
如圖19A所示,每幀的圖形數(shù)據(jù)片,例如F1,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5,F(xiàn)6,F(xiàn)7等等被輸入。輸入圖形數(shù)據(jù)片地,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5,F(xiàn)6,F(xiàn)7等等以I,B,B,P,B,B和P圖像的次序編碼成MPEG2的圖形數(shù)據(jù)片P1,P2,P3,P4,P5,P6,P7等等。
如圖20所示,在這樣為了得到運(yùn)動(dòng)向量的編碼過(guò)程中,工作區(qū)域RAM3具有存儲(chǔ)區(qū)21A到21F和存儲(chǔ)區(qū)22A到22C。存儲(chǔ)區(qū)21A到21F伴存一個(gè)幀的所有像素。存儲(chǔ)區(qū)22A到22C儲(chǔ)存已格子化作為連續(xù)數(shù)據(jù)的一個(gè)幀的像素。
當(dāng)圖形數(shù)據(jù)片F(xiàn)1,F(xiàn)2,F(xiàn)3等如圖21所示那樣地輸入時(shí),每幀的圖形數(shù)據(jù)電被存入存儲(chǔ)區(qū)21A到21F。此外,從圖形數(shù)據(jù)片逐個(gè)格子化得到像素。最終的像素安排到連續(xù)地址并作為圖形數(shù)據(jù)片f1,f2,f3等存入存儲(chǔ)區(qū)22A到22C。
換言之,在時(shí)間點(diǎn)T1,圖形數(shù)據(jù)片F(xiàn)1存入存儲(chǔ)區(qū)21A。在時(shí)間點(diǎn)T2,圖形數(shù)據(jù)片F(xiàn)2存入存儲(chǔ)區(qū)21B。在時(shí)間點(diǎn)T3,圖形數(shù)據(jù)片F(xiàn)3存入存儲(chǔ)區(qū)21C。在時(shí)間點(diǎn)T4,圖形數(shù)據(jù)片F(xiàn)4存入存儲(chǔ)區(qū)21D。
在時(shí)間點(diǎn)T4,從圖形數(shù)據(jù)片F(xiàn)1逐個(gè)格子化得到像素。該圖形數(shù)據(jù)片f1安排到連續(xù)地址中存入存儲(chǔ)區(qū)22A。從圖形數(shù)據(jù)片F(xiàn)4逐個(gè)格子化得到像素。該圖形數(shù)據(jù)片安排到連續(xù)地址存入存儲(chǔ)區(qū)22B。
在時(shí)間點(diǎn)T5,圖形數(shù)據(jù)電存入存儲(chǔ)區(qū)21E。從圖形數(shù)據(jù)片F(xiàn)2逐個(gè)格子化得到像素。該圖形數(shù)據(jù)片安排到連續(xù)地址中存入存儲(chǔ)區(qū)22C。
在時(shí)間點(diǎn)T6,圖形數(shù)據(jù)片F(xiàn)6存入存儲(chǔ)區(qū)21F。從圖形數(shù)據(jù)片F(xiàn)3逐個(gè)格子化得到像素。該數(shù)形數(shù)據(jù)片f3安排到連續(xù)地址中存入存儲(chǔ)區(qū)22C。
在時(shí)間點(diǎn)T7,圖形數(shù)據(jù)片F(xiàn)7存入存儲(chǔ)區(qū)21A。從圖形數(shù)據(jù)F7逐個(gè)格子化得到像素。該圖形數(shù)據(jù)片f7安排到連續(xù)地址中存入存儲(chǔ)區(qū)22A。
如圖21所示,每幀的圖形數(shù)據(jù)片被存入存儲(chǔ)區(qū)21A到21F。此外,從圖形數(shù)據(jù)片逐個(gè)格子化得到像素。圖形數(shù)據(jù)片安排到連續(xù)地址中存入存儲(chǔ)區(qū)22A到22C。
用儲(chǔ)存在存儲(chǔ)區(qū)21A到21F的圖形數(shù)據(jù)片F(xiàn)1,F(xiàn)2,F(xiàn)3等和儲(chǔ)存在存儲(chǔ)區(qū)22A到22C的圖形數(shù)據(jù)片f1,f2,f3等就得到了運(yùn)動(dòng)向量。一個(gè)運(yùn)動(dòng)向量以2個(gè)像素步卡在預(yù)合的搜索區(qū)中搜索。一個(gè)運(yùn)動(dòng)向量在搜索點(diǎn)附近逐個(gè)像素地進(jìn)行搜索。換言之,運(yùn)動(dòng)向量借助于對(duì)數(shù)搜索過(guò)程獲得。
因?yàn)閳D形數(shù)據(jù)片P1是I圖像,它能從時(shí)間點(diǎn)T1到時(shí)間T3編碼。
在時(shí)間點(diǎn)T4,作為P圖像的圖形數(shù)據(jù)片P4被編碼。得到圖形數(shù)據(jù)P4的運(yùn)動(dòng)向量。對(duì)此圖形數(shù)據(jù)片P4,圖形數(shù)據(jù)片F(xiàn)1被用作參照幀,圖形數(shù)據(jù)片F(xiàn)4被用作當(dāng)前幀。在此情況,在粗略搜索過(guò)程中(以2個(gè)像素步卡),使用作為參照幀的塊存在存儲(chǔ)區(qū)22A的圖形數(shù)據(jù)片f1。作為當(dāng)前幀的塊使用儲(chǔ)存在存儲(chǔ)區(qū)22B的圖形數(shù)據(jù)片F(xiàn)4。在精細(xì)搜索過(guò)程中(以1個(gè)像素步卡),作為參照幀的塊使用存在存儲(chǔ)區(qū)21A的圖形數(shù)據(jù)片F(xiàn)1。作為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)21D中的圖形數(shù)據(jù)片F(xiàn)4。
在時(shí)間點(diǎn)T5,作為B圖像的圖形數(shù)據(jù)片P2被編碼。得到圖形數(shù)據(jù)片P2的運(yùn)動(dòng)向量。對(duì)圖形數(shù)據(jù)片P2,作為參照幀使用圖形數(shù)據(jù)片F(xiàn)1和F4。作為當(dāng)前幀,使用圖形數(shù)據(jù)片F(xiàn)2。在此情況,在粗略搜索過(guò)程中(以2個(gè)像素步卡),使用儲(chǔ)存在存儲(chǔ)區(qū)22A的圖形數(shù)據(jù)片f1和儲(chǔ)存在存儲(chǔ)區(qū)22B的圖形數(shù)據(jù)片f4。使為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)22C的圖形數(shù)據(jù)片f2。在精細(xì)搜索過(guò)程中(以1個(gè)像素步卡),作為參照幀的塊使用儲(chǔ)存在存儲(chǔ)區(qū)21A的圖形數(shù)據(jù)片F(xiàn)1和儲(chǔ)存在存儲(chǔ)區(qū)21D的圖形數(shù)據(jù)片F(xiàn)4。作為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)21B的圖形數(shù)據(jù)片F(xiàn)2。
在時(shí)間點(diǎn)T6,作為B圖像的圖形數(shù)據(jù)片P3被編碼。得到圖P3的運(yùn)動(dòng)向量。對(duì)圖形數(shù)據(jù)片P3,作為參照幀使用圖形數(shù)據(jù)片F(xiàn)1和F4。作為當(dāng)前幀,使用圖形數(shù)據(jù)片F(xiàn)3。與此情況下,在粗略搜索過(guò)程中,(以2個(gè)像素步卡),作為參照幀的塊使用儲(chǔ)存在存儲(chǔ)區(qū)22A的圖形數(shù)據(jù)片f1和儲(chǔ)存在存儲(chǔ)區(qū)22B的圖形數(shù)據(jù)片f4。作為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)22C的圖形數(shù)據(jù)片f3。在精細(xì)搜索過(guò)程中(以1個(gè)像素步卡),作為參照幀的塊使用儲(chǔ)存在存儲(chǔ)區(qū)21A的圖形數(shù)據(jù)片F(xiàn)1和儲(chǔ)存在存儲(chǔ)區(qū)21D的圖形數(shù)據(jù)F4。作為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)21C的圖形數(shù)據(jù)片F(xiàn)3。
在時(shí)間點(diǎn)T7,編碼作為P圖像的圖形數(shù)據(jù)片P7。得到圖P7的運(yùn)動(dòng)向量。對(duì)于圖形數(shù)據(jù)片P7,作為一個(gè)參照幀使用圖形數(shù)據(jù)片F(xiàn)4。作為當(dāng)前幀使用圖形數(shù)據(jù)片F(xiàn)7。在此情況下,在粗略搜索過(guò)程中(以2個(gè)像素步卡),作為參照幀的塊使用儲(chǔ)存在存儲(chǔ)區(qū)22B的圖形數(shù)據(jù)片f4。作為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)22A的圖形數(shù)據(jù)片f7。在精細(xì)搜索過(guò)程中(以1個(gè)像素步卡)作為參照幀的塊使用儲(chǔ)存在存儲(chǔ)區(qū)21D的圖形數(shù)據(jù)區(qū)f4。作為當(dāng)前幀的塊,使用儲(chǔ)存在存儲(chǔ)區(qū)21A的圖形數(shù)據(jù)片F(xiàn)7。
下面,類(lèi)似地在時(shí)間點(diǎn)T8,得到作為B圖像的圖形數(shù)據(jù)片P5的運(yùn)動(dòng)向量。在時(shí)間點(diǎn)T9,得到作為B圖像的圖形數(shù)據(jù)片P6的運(yùn)動(dòng)向量。
圖22是一個(gè)流程圖,表示用于計(jì)算運(yùn)動(dòng)向量的對(duì)數(shù)搜索過(guò)程。在圖22中儲(chǔ)存輸入圖形數(shù)據(jù)。從參照幀與當(dāng)前幀逐個(gè)格子化地抽出像素。變細(xì)格子化的像素作為連續(xù)的數(shù)據(jù)被排列到及儲(chǔ)存(步驟S121)。
以后,判斷是否所以圖形的塊已被處理(步驟S122)。
若在步驟S122的判斷結(jié)果是否定(即,該圖形的所有塊尚未被處理),而該塊在一個(gè)預(yù)定搜索區(qū)以2個(gè)像素步卡運(yùn)動(dòng),搜索一個(gè)運(yùn)動(dòng)向量(步驟S123)。
在檢測(cè)到一個(gè)運(yùn)動(dòng)向量以后,當(dāng)該塊在檢測(cè)到的運(yùn)動(dòng)向量附近逐個(gè)像素地運(yùn)動(dòng)時(shí),搜索到一個(gè)運(yùn)動(dòng)向量(步驟S124)。
檢測(cè)到的結(jié)果被儲(chǔ)存(步驟S125)。然后,處理下一個(gè)塊(步驟S126)。然后,流程回到步驟S122。若在步驟S122的判斷結(jié)果是否定(即所有塊尚未被處理),相似的過(guò)程重復(fù)。于是,得到下一個(gè)塊的運(yùn)動(dòng)向量。在得到圖形的最后塊的運(yùn)動(dòng)向量之后,因?yàn)樵诓襟ES122的判斷結(jié)果是肯定,處理完成。
圖23是一個(gè)流程圖,表示在圖22中的步驟S123的粗略搜索過(guò)程(在2個(gè)像素步卡)。在精略搜索過(guò)程中(在2個(gè)像素步卡),當(dāng)前幀的像素和參照幀的像素被格子化地抽出。被抽出的像素作為連續(xù)的數(shù)據(jù)存入存儲(chǔ)器。
在圖23中設(shè)置搜索區(qū)的起始點(diǎn)(步驟S131)。垂直搜索起始位置復(fù)位到上端(步驟S132)。在垂直方向判斷是否檢測(cè)到下端(步驟S133)。若在步驟S133的判斷結(jié)果是否定(即,尚未檢測(cè)到下端)則水平位置復(fù)位到左端(步驟S134)。
然后,判斷是否檢測(cè)到搜索區(qū)的右端(步驟S135)。若在步驟135的判斷結(jié)果是否定(即,尚未檢測(cè)到搜索區(qū)的右端),則對(duì)格子化(8×16)像素的塊完成塊匹配過(guò)程且得到一個(gè)偏差值(步驟136)。
在這里,判斷該偏差A(yù)D的值是否小于已得到的最小值A(chǔ)Dmin(步驟S137)。若在步驟S137的判斷結(jié)果是肯定(即,該偏差A(yù)D的值小于最小值A(chǔ)Dmin),則該偏差A(yù)D的值成為最小值A(chǔ)Dmin。此外,該運(yùn)動(dòng)向量VT是當(dāng)前位置(步驟S138)。然后,移動(dòng)2個(gè)像素的水平位置(步驟S139)。當(dāng)前幀的像素和參照幀的像素被格子化的抽出,且作為連續(xù)數(shù)據(jù)存入存儲(chǔ)器。因此,當(dāng)水平位置移動(dòng)2個(gè)像素,在存儲(chǔ)器中地址只移動(dòng)1個(gè)位置。
若在步驟S137的判斷結(jié)果是否定(即,該偏差A(yù)D的值不小于最小值A(chǔ)Dmin),則流程進(jìn)行步驟S139。在步驟S139,水平位置移動(dòng)2個(gè)像素。然后流程返回到步驟S135。
在步驟S135判斷是否檢測(cè)到搜索區(qū)的右端。若在步驟S135的判斷結(jié)果是否定(即,搜索區(qū)的右端尚未檢測(cè)到),則類(lèi)似的步驟重復(fù)。于是,當(dāng)該塊移動(dòng)到右邊,得到偏差。最小偏差作為最A(yù)Dmin儲(chǔ)存。
若在步驟S135的判斷結(jié)果是肯定(即,已經(jīng)檢測(cè)到搜索區(qū)的右端),則該塊垂直移動(dòng)2個(gè)像素(步驟S140)。然后,流程回到步驟S133。完成相似的過(guò)程。
若在步驟S133的判斷結(jié)果是肯定(即,已檢測(cè)到搜索區(qū)的低端),則該結(jié)果作為運(yùn)動(dòng)向量MV被儲(chǔ)存(步驟S141)。該運(yùn)動(dòng)向量MV成為精細(xì)搜索過(guò)程的一個(gè)參考點(diǎn)。
圖24是一張流程圖,表示在圖22中步驟S24的精細(xì)搜索過(guò)程。在精細(xì)搜索過(guò)程中,使用儲(chǔ)存當(dāng)前幀的所有像素和參照幀的所有像素的存儲(chǔ)器。
在圖24中,起點(diǎn)被設(shè)置在圖23中步驟S141獲得的參考點(diǎn)的左上方(步驟S151)。垂直搜索起始位置復(fù)位到上端(步驟S152)。然后,判斷是否已經(jīng)檢測(cè)到搜索區(qū)的下端(步驟S153)。若在步驟S153的判斷結(jié)果是否定(即,尚未檢測(cè)到下端),則水平位置復(fù)位到左端(步驟S154)。
然后,判斷是否已檢測(cè)到搜索區(qū)的右端(步驟S155)。若在步驟S155的判斷結(jié)果是否定(即,尚未檢測(cè)到搜索區(qū)的右端),則對(duì)一個(gè)(16×16)像素的塊完成塊匹配過(guò)程且得到一個(gè)偏差(步驟156)。
然后,判斷該偏差A(yù)D的值是否小于已獲得的最小值A(chǔ)Dmin(步驟S157)。若步驟S157的判斷結(jié)果是肯定(即,該偏差的值小于最小值A(chǔ)Dmin),則偏差A(yù)D的值成為最小值A(chǔ)Dmin(步驟S158)。該運(yùn)動(dòng)向量MV是當(dāng)明位置。水平位置移動(dòng)1個(gè)像素(步驟S159)。
若在步驟S157判斷的結(jié)果是否定(即,偏差A(yù)D的值不小于最小值A(chǔ)Dmin),則流程進(jìn)到步驟S159。在步驟S159,水平位置移動(dòng)1個(gè)像素。然后,流程回到步驟S155。
在步驟S155,判斷是否已檢測(cè)到搜索區(qū)的右端。若在步驟S155的判斷結(jié)果是否定(即,尚未檢測(cè)到搜索區(qū)的右端),類(lèi)似的過(guò)程重復(fù)執(zhí)行。于是,當(dāng)該塊從搜索區(qū)的左邊運(yùn)動(dòng)到右邊,得到偏差值。已獲得的最小偏差作為最小值A(chǔ)Dmin儲(chǔ)存。
若在步驟S155判斷的結(jié)果是肯定(即,已檢測(cè)到搜索區(qū)的右端),該塊在垂直方向移動(dòng)1個(gè)像素(步驟要60)。然后,流程返回到S153,完成相似的過(guò)程。
若在步驟S153的判斷結(jié)果是肯定(即,已檢測(cè)到搜索區(qū)的下端),則得到運(yùn)動(dòng)向量VM,且過(guò)程完成。
在上述例子中,參照幀的像素和當(dāng)前端的像素被格子化的抽出。但是,按照本發(fā)明,變稀的步驟與變稀的方法不限于上述例子中所述的那樣。
在上述例子中,當(dāng)完成對(duì)數(shù)搜索過(guò)程時(shí),在粗略搜索過(guò)程中儲(chǔ)存對(duì)每個(gè)樣本變稀的像素的存儲(chǔ)器中,地址對(duì)每個(gè)位置移動(dòng),以便在2個(gè)像素步卡搜索一個(gè)運(yùn)動(dòng)向量。另外,借助于在一個(gè)時(shí)刻移動(dòng)2個(gè)位置的地址,能在一個(gè)時(shí)刻完成4個(gè)像素的搜索過(guò)程。類(lèi)似地,借助于在一個(gè)時(shí)刻移動(dòng)3個(gè)位置的地址,能在一個(gè)時(shí)刻完成6個(gè)像素的搜索過(guò)程。在上述例子中,對(duì)數(shù)搜索過(guò)程在一個(gè)時(shí)刻以2個(gè)像素步卡完成粗略搜索過(guò)程而以1個(gè)像素步卡完成精細(xì)搜索過(guò)程。另外,對(duì)數(shù)搜索過(guò)程能以多個(gè)階段完成。
按照本發(fā)明,參照幀的像素和當(dāng)前幀的像素被格子化變稀,來(lái)完成塊匹配過(guò)程。在這里,當(dāng)前幀的像素和參照幀的像素作為連續(xù)數(shù)據(jù)存入存儲(chǔ)器中。因此,在完成快匹配過(guò)程時(shí),因?yàn)槟苡行У厥褂肕MX指令,過(guò)程能高速地完成。
此外,應(yīng)準(zhǔn)備儲(chǔ)存當(dāng)前幀的像素和參照幀的像素的第一存儲(chǔ)器和儲(chǔ)存格子化變稀的當(dāng)前幀的像素和參照幀像素的第二存儲(chǔ)器。使用第二存儲(chǔ)器以2個(gè)像素步卡完成粗略搜索過(guò)程。在這種情況,因?yàn)橐驯蛔兿「褡踊漠?dāng)前幀的像素和參照幀的像素作為連續(xù)數(shù)據(jù)儲(chǔ)存在第二存儲(chǔ)器中,當(dāng)該參照幀的塊在第二存儲(chǔ)器中對(duì)每個(gè)位置移動(dòng)時(shí),以2個(gè)像素步卡搜索運(yùn)動(dòng)向量。在以2個(gè)像素步卡的粗略搜索過(guò)程中獲得運(yùn)動(dòng)向量以后,使用第一存儲(chǔ)器在粗略搜索過(guò)程中得到的點(diǎn)附近以1個(gè)像素步卡完成精細(xì)搜索過(guò)程。
因此,當(dāng)已格子化的當(dāng)前幀的像素和參照幀的像素作為連續(xù)數(shù)據(jù)儲(chǔ)存,因?yàn)橐?個(gè)像素步卡搜索運(yùn)動(dòng)向量,對(duì)數(shù)搜索過(guò)程能容易地完成,且適用MMX指令。
如圖5的步驟S2,借助于塊匹配過(guò)程完成運(yùn)動(dòng)向計(jì)算過(guò)程。在塊匹配過(guò)程中,借助于塊匹配過(guò)程獲得運(yùn)動(dòng)向量。換言之,與從當(dāng)前幀劃分待處理的塊有相同尺寸及相同原點(diǎn)的塊從一個(gè)參照幀中抽出。當(dāng)該參照幀的塊在預(yù)定搜索區(qū)移動(dòng)時(shí),得到該參照幀的塊的像素和當(dāng)前幀的塊的像素的差的絕對(duì)值之和,以此作為偏差。得到具有最小偏差的該參照幀的塊。傳統(tǒng)地,偏差是作為當(dāng)前幀的塊的像素和參照幀的像素的差的絕對(duì)值之和。但是,因?yàn)橛?jì)算步驟巨大,運(yùn)動(dòng)向量的計(jì)算不能以高速完成。
因此,按照本發(fā)明的第四個(gè)實(shí)施例,借助于計(jì)算當(dāng)前幀的塊的外形的像素與參照幀的相應(yīng)塊的外形的像素的差的絕對(duì)值之和得到偏差。
換言之,在圖25中,參照幀的一個(gè)塊由(16×16)像素組成。類(lèi)似地,當(dāng)前幀的一個(gè)塊由(16×16)像素組成。該參照幀的每個(gè)像素的值用P(Hr,Vr)標(biāo)記。類(lèi)似地當(dāng)前幀的每個(gè)像素的值用P(Hc,Vc)標(biāo)記。得到該參照幀的塊的上外形像素P(Hr,Vr)到P(Hr+15,Vr)與當(dāng)前幀的相應(yīng)塊的上外形像素P(Hc,Vc)到P(Hc+15,Vc)之差的絕對(duì)值之和作為偏差。得到該參照幀的塊的右外形像素P(Hr,Vr+1)到P(Hr,Vr+14)與當(dāng)前幀的相應(yīng)塊的外形像素P(Hc,Vc+1)到P(Hc,Vc+14)之差的絕對(duì)值之和作為偏差。計(jì)算該參照幀的塊的右外形像素P(Hr+15,Vr+1)到P(Hr+15,Vr+14)與當(dāng)前幀的相應(yīng)塊的右外形像素P(Hc+15,Vr+1)之差的絕對(duì)值之和作為偏差。得到該參照幀的塊的下外形象P(Hr,Vr+15)到P(Hr+15,Vr+15)與當(dāng)前幀的相應(yīng)塊的下外形像素P(Hc,Vc+15)到P(Hc+15,Vr+15)之差的絕對(duì)值之和作為外形。
圖26是示出用于得到當(dāng)前幀的塊的輪廓像素和參照幀相關(guān)塊的輪廓像素之間差值的絕對(duì)值的總和的處理,以便得到一個(gè)偏差。
參照?qǐng)D26,累積值A(chǔ)D的值初始化為“0”(步驟S221)。此后,對(duì)當(dāng)前幀的像素的水平位置Hc和垂直位置Vc,以及參照幀像素的水平位置Hr和垂直位置Vr初始化(步驟S222)。偏移O初始化為“0”(步驟S223)。
得到參照幀的像素P(Hr+O,Vr)的值與當(dāng)前幀的像素P(Hc+O,Vc)的值之間差值的絕對(duì)值,作為累積值A(chǔ)D(步驟S224)。此后,偏移O增加(S225)。此后,確定偏移O是否小于16(步驟S226)。當(dāng)在步驟S226確定結(jié)果是Yes(即偏移O小于16)時(shí),流程返回步驟S224。
在從步驟S224到步驟S226的循環(huán)中,得到參照幀的塊的上輪廓像素P(Hr,Vr)到P(Hr+15,Vr)與當(dāng)前幀相關(guān)塊的上輪廓像素P(Hc,Vc)到P(Hc+15,Vc)之間的差值的絕對(duì)值的總和。
換句話說(shuō),由于偏移O在步驟S223初始化為“0”,故參照幀塊的左上像素P(Hr,Vr)的值與當(dāng)前幀相關(guān)塊的左上像素P(Hc,Vc)的值之間的差值的絕對(duì)值,作為累積值A(chǔ)D。
此后,在步驟S225增加了偏移O。由此,得到參照幀的塊的像素P(Hr+1,Vr)的值與當(dāng)前幀相關(guān)的塊的像素P(Hc+1,Vc)的值之間的差值的絕對(duì)值,并加到累積值A(chǔ)D。循環(huán)中的步驟重復(fù),直到偏移O為“15”。然后,得到參照幀的塊的上輪廓像素P(Hr,Vr)到P(Hr+15,Vr)的上輪廓像素和當(dāng)前幀相關(guān)的塊的上輪廓像素P(Hc,Vc)到P(Hc+15,Vc)之間的差值絕對(duì)值的總和。
由此,在從步驟S224到S226的循環(huán)中,得到當(dāng)前幀的塊的上輪廓像素與參照幀相關(guān)塊的上輪廓像素之間差值絕對(duì)值的總和。此后在步驟S226確定偏移O是否是“16”。當(dāng)在步驟S226確定的結(jié)果是No(即偏移O是“16”)時(shí),由于已經(jīng)檢測(cè)到塊的右端,故偏移O初始化為“1”。(在步驟S227)。
此后得到參照幀的塊的像素P(Hr,Vr+O)的值與當(dāng)前幀的相關(guān)塊的像素P(Hc,Vc+O)的值之間的差值。得到參照幀塊的像素P(Hr+15,Vr+O)的值與當(dāng)前幀相關(guān)塊的像素P(Hc+15,Vc+O)的值之間的差值。得到這些絕對(duì)值的總和,作為累積值A(chǔ)D(在步驟S228)。此后,偏移O增加(在步驟S229)。此后,確定偏移O是否小于“15”(步驟S230)。當(dāng)在步驟S230確定的結(jié)果是Yes(即偏移O小于“15”)時(shí),流程返回步驟S228。
在從步驟S228到S230的循環(huán)中,得到參照幀的塊的左輪廓像素P(Hr,Vr+1)到P(Hr,Vr+14)與當(dāng)前幀相關(guān)塊的左輪廓像素P(Hc,Vc+1)到P(Hc,Vc+14)的左輪廓像素之間的差值絕對(duì)值的總和。另外,得到參照幀的塊的右輪廓像素P(Hr+15,Vr+1)與當(dāng)前幀相關(guān)塊右輪廓像素P(Hc+15,Vc+1)到P(Hc+15,Vc+14)之間的差值絕對(duì)值的總和。
此后在步驟S230確定偏移O是否是“15”。當(dāng)在步驟S230確定是No(即偏移O是“15”)時(shí),由于已經(jīng)檢測(cè)到塊的下端,故偏移O初始化為“0”(步驟S231)。
下面,得到參照幀的塊的像素P(Hr+O,Vr+15)與當(dāng)前幀相關(guān)塊的像素P(Hc+O,Vc+15)之間的差值絕對(duì)值,作為累積值A(chǔ)D(在步驟S232)。此后,偏移O增加(在步驟S233)。此后確定偏移O是否小于“16”。當(dāng)在步驟S234確定的結(jié)果是Yes(即偏移O小于“16”)時(shí),流程返回步驟S232。
在從步驟S232到S234的循環(huán)中,得到參照幀的塊的下輪廓像素P(Hr,Vr+15)到P(Hr+15,Vr+15)與當(dāng)前幀相關(guān)塊的下輪廓像素P(Hc,Vc+15)到P(Hc+15,Vc+15)之間的差值絕對(duì)值的總和。當(dāng)在步驟S234確定的結(jié)果是No(即偏移O是“16”)時(shí),由于已經(jīng)檢測(cè)到塊右端,故過(guò)程結(jié)束。
在從步驟S224到S226的循環(huán)中,得到當(dāng)前幀塊的上輪廓像素與參照幀相關(guān)塊的上輪廓像素之間的差值絕對(duì)值的總和。在從步驟S228到S230的循環(huán)中,得到當(dāng)前幀的塊左輪廓像素與參照幀相關(guān)塊左輪廓像素之間差值絕對(duì)值的總和。另外,得到當(dāng)前幀的塊右輪廓像素與參照幀相關(guān)塊右輪廓像素之間差值絕對(duì)值的總和。在從步驟S232到S234的循環(huán)中,得到當(dāng)前幀的塊下輪廓像素與參照幀相關(guān)塊下輪廓像素之間的差值絕對(duì)值的總和。由此,得到當(dāng)前幀的塊四側(cè)輪廓像素與參照幀相關(guān)塊四側(cè)輪廓像素之間差值絕對(duì)值的總和。
由此,當(dāng)?shù)玫疆?dāng)前幀塊的輪廓像素與參照幀相關(guān)塊輪廓像素之間的差值絕對(duì)值的總和時(shí),得到偏差的計(jì)算步驟的數(shù)量可以大大減小。結(jié)果,可以高速地執(zhí)行塊匹配處理。換句話說(shuō),當(dāng)塊的尺寸是(16×16)像素時(shí),為了計(jì)算一個(gè)塊的所有像素,需要256次減法。相比之下,為了計(jì)算輪廓像素,只需要60次減法。另外,由于不使輪廓像素變稀,可以以一個(gè)像素的精度得到移動(dòng)矢量。
下面,將描述根據(jù)本發(fā)明的第五實(shí)施例的圖像編碼設(shè)備。
圖27示出根據(jù)本發(fā)明的第五實(shí)施例的圖像編碼設(shè)備401的結(jié)構(gòu)。參照?qǐng)D27,圖像編碼設(shè)備(由401標(biāo)記)具有幀緩沖器202、移動(dòng)檢測(cè)部分203、偏差信息產(chǎn)生部分204、全程矢量檢測(cè)部分205以及控制部分206。圖像數(shù)據(jù)輸入到幀緩沖器202。移動(dòng)檢測(cè)部分203檢測(cè)儲(chǔ)存在幀緩沖器202中的圖像數(shù)據(jù)的移動(dòng)分量。偏差信息產(chǎn)生部分204產(chǎn)生移動(dòng)偏差信息AD。全程矢量檢測(cè)部分205檢測(cè)整個(gè)圖片的移動(dòng)矢量??刂撇糠?06將用于編碼處理的參數(shù)等輸出到設(shè)備的各個(gè)部分。
幀緩沖器202從外部設(shè)備輸入圖像數(shù)據(jù),并一幀一幀地存儲(chǔ)圖像數(shù)據(jù)。幀緩沖器202在控制部分206控制下,按預(yù)定的時(shí)序?qū)D像數(shù)據(jù)輸出到移動(dòng)檢測(cè)部分203、偏差信息產(chǎn)生部分204、全程矢量檢測(cè)部分205和計(jì)算部分207。
全程矢量檢測(cè)部分205取樣圖像數(shù)據(jù)(從幀緩沖器202接收到),作為多個(gè)宏偏差,并檢測(cè)整個(gè)宏塊的移動(dòng)矢量。換句話說(shuō),由于全程矢量檢測(cè)部分205得到所有宏塊的移動(dòng)矢量,全程矢量檢測(cè)部分205得到整個(gè)圖像的移動(dòng)矢量(即全程矢量),并將檢測(cè)到的全程矢量提供給移動(dòng)檢測(cè)部分203。
實(shí)際上,如圖28所示,全程矢量檢測(cè)部分205在一個(gè)圖片的不同位置抽取多個(gè)宏塊,并檢測(cè)抽取的宏塊的一個(gè)移動(dòng)矢量。在這一點(diǎn)上,全程矢量檢測(cè)部分205將每一個(gè)抽取的宏塊的移動(dòng)矢量提供給評(píng)價(jià)函數(shù),以得到全程矢量。全程矢量檢測(cè)部分205將一函數(shù)表示式用作評(píng)價(jià)函數(shù),該表達(dá)式計(jì)算抽取的宏塊的移動(dòng)矢量的平均值,以得到全程矢量。
或者,全程矢量檢測(cè)部分205可以檢測(cè)多個(gè)相鄰的宏塊,以得到全程矢量。換句話說(shuō),全程矢量檢測(cè)部分205可以得到,具有每一個(gè)(16×16)像素的宏塊的或每一個(gè)例如(32×32)像素的小區(qū)域的全程矢量。
作為另一個(gè)方法,如圖29所示,全程矢量檢測(cè)部分205可以得到區(qū)域A、B和C的全程矢量,一個(gè)屏幕就被垂直地分為區(qū)域A、B和C。由此,當(dāng)區(qū)域A是山的圖片(它已經(jīng)攝像為遠(yuǎn)距離圖片),而區(qū)域C是花的圖片(它已經(jīng)被攝像為近距離圖片),并且區(qū)域A和C區(qū)域已經(jīng)攝全景,即使一個(gè)屏幕具有兩個(gè)相互移動(dòng)的圖片,可以得到用于各個(gè)區(qū)域的全程矢量。每一個(gè)區(qū)域可以相互重疊。
移動(dòng)檢測(cè)部分203檢測(cè)存儲(chǔ)在幀緩沖器202中的圖像數(shù)據(jù)的每一個(gè)宏塊(由16×16像素構(gòu)成)的移動(dòng)矢量MV。移動(dòng)檢測(cè)部分203將參照幀的宏塊與從幀緩沖器202讀出的宏塊模式匹配,并檢測(cè)移動(dòng)矢量MV。移動(dòng)檢測(cè)部分203將檢測(cè)到的移動(dòng)矢量MV提供給偏差信息產(chǎn)生部分204以及控制部分206。在這一點(diǎn),移動(dòng)檢測(cè)部分203由從全程矢量檢測(cè)部分205接收到的全程矢量產(chǎn)生移動(dòng)矢量MV。換句話說(shuō),當(dāng)移動(dòng)檢測(cè)部分203模式匹配在預(yù)定搜索區(qū)域中的每一個(gè)宏塊時(shí),移動(dòng)檢測(cè)部分203用全程矢量的偏移改變搜索區(qū)域中的每一個(gè)宏塊,并得到移動(dòng)矢量MV。移動(dòng)檢測(cè)部分203改變搜索區(qū)域相應(yīng)于全程移動(dòng)矢量的中心位置,以模式匹配每一個(gè)宏塊。
偏差信息產(chǎn)生部分204從移動(dòng)檢測(cè)部分203接收到移動(dòng)矢量MV。另外,偏差信息產(chǎn)生部分204從幀緩沖器202接收到圖像數(shù)據(jù)的每一個(gè)宏塊。使用移動(dòng)矢量MV和圖像數(shù)據(jù),偏差信息產(chǎn)生部分204得到移動(dòng)分量之間差值絕對(duì)值的總和,作為偏差信息AD,并將該偏差信息AD提供給控制部分206。
控制部分206用從移動(dòng)檢測(cè)部分203接收到的移動(dòng)矢量MV,以及從偏差信息產(chǎn)生部分204接收到的移動(dòng)偏差信息AD,為編碼處理確定宏塊的類(lèi)型??刂撇糠?06相應(yīng)于例如圖像類(lèi)型,確定當(dāng)前宏塊是否是中間宏塊(inter-macro block)或是內(nèi)部宏塊(intra-macro block)。中間宏塊是由移動(dòng)矢量MV進(jìn)行移動(dòng)補(bǔ)償,并使用偏差編碼的宏塊。相比之下,內(nèi)部宏塊是單純編碼而無(wú)移動(dòng)分量的宏塊。
控制部分206產(chǎn)生控制信息,使開(kāi)關(guān)217和218相應(yīng)于確定的宏塊類(lèi)型運(yùn)行。另外,控制部分206將從移動(dòng)檢測(cè)部分203接收到的移動(dòng)矢量MV提供給移動(dòng)位移補(bǔ)償部分216。
圖象編碼設(shè)備201還具有計(jì)算部分207、DCT處理部分208、量化處理部分209、可變長(zhǎng)度代碼編碼部分210和緩沖器211。計(jì)算部分207從幀緩沖器202接收?qǐng)D像信號(hào)。DCT處理部分208為圖像數(shù)據(jù)完成DCT(離散余弦變換)處理。量化處理部分209對(duì)從DCT處理部分208接收到的DCT系數(shù)進(jìn)行量化??勺冮L(zhǎng)度代碼編碼部分210用可變長(zhǎng)度代碼壓縮從量化處理部分209接收到的DCT系數(shù)。緩沖器211存儲(chǔ)從可變長(zhǎng)度代碼編碼部分210接收到的圖像數(shù)據(jù)。
DCT處理部分208為從計(jì)算部分207接收到的圖像數(shù)據(jù)的每一個(gè)(8×8)像素的宏塊執(zhí)行二維DCT處理。DT處理部分208將DCT系數(shù)提供給量化處理部分209。
量化處理部分209用相應(yīng)于每一個(gè)宏塊的量化比例對(duì)從DCT處理部分208接收到的DCT系數(shù)量化。量化處理部分209將量化的DCT系數(shù)提供給可變長(zhǎng)度代碼編碼部分210和反量化處理部分212。
可變長(zhǎng)度代碼編碼部分210從量化處理部分209接收到DCT系數(shù),并從控制部分206接收到移動(dòng)矢量MV。有了這樣的信息,可變長(zhǎng)度代碼編碼部分210執(zhí)行編碼處理。可變長(zhǎng)度代碼編碼部分210用相應(yīng)于MPEG語(yǔ)法的可變長(zhǎng)度代碼執(zhí)行編碼處理,并執(zhí)行標(biāo)題處理、代碼產(chǎn)生處理等,以產(chǎn)生圖像數(shù)據(jù)??勺冮L(zhǎng)度代碼編碼部分210將編碼的圖像數(shù)據(jù)提供給緩沖器211。
緩沖器211存儲(chǔ)從可變長(zhǎng)度代碼編碼部分210接收到的圖像數(shù)據(jù),并在控制部分206的控制下,在預(yù)定時(shí)間以比特流輸出圖像數(shù)據(jù)。
另外,圖像編碼設(shè)備201還具有反量化處理部分212、反DCT處理部分213、計(jì)算單位214、緩沖器215和移動(dòng)補(bǔ)償部分216。反量化處理部分212對(duì)量化處理部分209接收到的DCT系數(shù)反量化。反的DCT處理部分213對(duì)從反量化處理部分212接收到的DCT系數(shù)反向執(zhí)行DCT處理。計(jì)算單元214從反DCT處理部分213接收?qǐng)D像數(shù)據(jù)。緩沖器215存儲(chǔ)圖像數(shù)據(jù)。移動(dòng)補(bǔ)償部分216對(duì)從緩沖器215接收到的圖像數(shù)據(jù)進(jìn)行移動(dòng)補(bǔ)償。
反量化處理部分212對(duì)從量化處理部分209接收到的DCT系數(shù)反量化。反量化處理部分212用量化比例對(duì)從量化處理部分209接收到的數(shù)據(jù)反量化,并將得到的DCT系數(shù)提供給反DCT處理部分213。
反DCT處理部分213對(duì)從反量化處理部分212接收到的DCT系數(shù)反執(zhí)行DCT處理,并將得到的DCT系數(shù)提供給計(jì)算單位214。計(jì)算單位214接收已經(jīng)在反DCT處理部分213中處理過(guò)的圖像數(shù)據(jù)。另外,計(jì)算單位214通過(guò)開(kāi)關(guān)217接收?qǐng)D像數(shù)據(jù)(已經(jīng)過(guò)移動(dòng)補(bǔ)償)。計(jì)算單位214將移動(dòng)補(bǔ)償部分的圖像數(shù)據(jù)和從反的DCT處理部分213接收到的圖像數(shù)據(jù)相加,并將最終數(shù)據(jù)提供給緩沖器215。
緩沖器215從計(jì)算單位214接收?qǐng)D像數(shù)據(jù)的每一個(gè)宏塊,并存儲(chǔ)圖像數(shù)據(jù)。當(dāng)移動(dòng)補(bǔ)償部分216移動(dòng)補(bǔ)償圖象數(shù)據(jù)時(shí),從緩沖器215讀出預(yù)測(cè)的圖像數(shù)據(jù)。
移動(dòng)補(bǔ)償部分216相應(yīng)于移動(dòng)矢量MV從緩沖器215讀出預(yù)測(cè)圖像數(shù)據(jù)的每一個(gè)宏塊。
當(dāng)圖像編碼設(shè)備201產(chǎn)生I(內(nèi)部)圖像時(shí),處在幀緩沖器202中的圖像數(shù)據(jù)的每一個(gè)宏塊通過(guò)計(jì)算單位207,提供給DCT處理部分208和量化處理部分209。DCT處理部分208為圖像數(shù)據(jù)的每一個(gè)宏塊執(zhí)行DCT處理。量化處理部分209對(duì)從DCT處理部分208接收到的圖像數(shù)據(jù)量化??勺冮L(zhǎng)度代碼編碼部分210用可變長(zhǎng)度代碼對(duì)從量化處理部分209接收到的圖像數(shù)據(jù)編碼,并通過(guò)緩沖器211,以比特流輸出得到的數(shù)據(jù)。得到的已經(jīng)由量化處理部分209和可變長(zhǎng)度代碼編碼部分210處理過(guò)的信號(hào)通過(guò)反量化處理部分212和反DCT處理部分213復(fù)原成圖像數(shù)據(jù),并暫時(shí)存儲(chǔ)到緩沖器215。
當(dāng)圖像編碼設(shè)備201產(chǎn)生P(預(yù)測(cè))圖像時(shí),移動(dòng)檢測(cè)部分203檢測(cè)存儲(chǔ)在幀緩沖器202中的圖像數(shù)據(jù)的移動(dòng)分量,以產(chǎn)生移動(dòng)矢量MV。另外,偏差信息產(chǎn)生部分204產(chǎn)生偏差信息AD。移動(dòng)矢量MV通過(guò)控制部分206提供給移動(dòng)補(bǔ)償部分216。移動(dòng)補(bǔ)償部分216對(duì)存儲(chǔ)在緩沖器215內(nèi)的圖像數(shù)據(jù)移動(dòng)補(bǔ)償(當(dāng)產(chǎn)生I圖像時(shí),圖像數(shù)據(jù)存儲(chǔ)在緩沖器215內(nèi))。這樣,移動(dòng)補(bǔ)償部分216產(chǎn)生了預(yù)測(cè)數(shù)據(jù)。移動(dòng)補(bǔ)償216對(duì)每一個(gè)宏塊進(jìn)行移動(dòng)補(bǔ)償。開(kāi)關(guān)217和218相應(yīng)于從控制部分206接收到的開(kāi)關(guān)控制信號(hào)關(guān)閉。計(jì)算單位207從存儲(chǔ)在幀緩沖器202中的圖像數(shù)據(jù)中減去從移動(dòng)補(bǔ)償216接收到的預(yù)測(cè)圖像數(shù)據(jù)。DCT處理部分208和量化處理部分209執(zhí)行上述處理??勺冮L(zhǎng)度代碼編碼部分210對(duì)圖像數(shù)據(jù)編碼,并通過(guò)緩沖器211以比特流輸出得到的數(shù)據(jù)。
當(dāng)圖像編碼設(shè)備201產(chǎn)生B圖像象(雙向預(yù)測(cè))時(shí),移動(dòng)補(bǔ)償部分216對(duì)存儲(chǔ)在緩沖器215的以前幀的圖像數(shù)據(jù)以及下一幀的圖像數(shù)據(jù)進(jìn)行移動(dòng)補(bǔ)償,以產(chǎn)生預(yù)定圖像數(shù)據(jù)。計(jì)算單位207從存儲(chǔ)在幀緩沖器202中的圖像數(shù)據(jù)減去預(yù)測(cè)圖像數(shù)據(jù)。DCT處理部分208和量化處理部分209執(zhí)行上述處理。可變長(zhǎng)度代碼編碼部分210用可變長(zhǎng)度代碼對(duì)從計(jì)算單位207接收到的數(shù)據(jù)編碼,并通過(guò)緩沖器211以比特流輸出得到的數(shù)據(jù)。
圖30是示出用于檢測(cè)移動(dòng)矢量MV的處理的流程圖。該處理由圖像編碼設(shè)備201執(zhí)行。
參照?qǐng)D30,在步驟S301,將一幀的圖像數(shù)據(jù)輸入到幀緩沖器202。在圖30所示的處理中,在步驟S302到S304,檢測(cè)全程矢量。在步驟S305,移動(dòng)檢測(cè)部分203產(chǎn)生每一個(gè)宏塊的移動(dòng)矢量MV。
在步驟S302,全程矢量檢測(cè)部分205輸入存儲(chǔ)在幀緩沖器202中的每一個(gè)幀的圖像數(shù)據(jù),并從圖像數(shù)據(jù)中抽取多個(gè)宏塊,如圖28所示。在步驟S302,如圖29所示,一個(gè)屏幕另一分為多個(gè)區(qū)域,并可以從那里抽取多個(gè)宏塊。
在步驟303,全程矢量檢測(cè)部分205檢測(cè)在步驟S302檢測(cè)的每一個(gè)宏塊的移動(dòng)矢量。
在步驟S304,全程矢量檢測(cè)部分205將每一個(gè)宏塊的移動(dòng)矢量應(yīng)用到評(píng)價(jià)函數(shù),以產(chǎn)生全程矢量。全程矢量檢測(cè)部分205計(jì)算宏塊的移動(dòng)矢量的平均值客,并產(chǎn)生全程矢量。
在步驟S305,移動(dòng)檢測(cè)部分203接收每一個(gè)圖像數(shù)據(jù)的宏塊,用在步驟S304檢測(cè)的全程矢量模式匹配每一個(gè)宏塊,并檢測(cè)每一個(gè)宏塊的移動(dòng)矢量。在這一點(diǎn),移動(dòng)檢測(cè)部分203相應(yīng)于全程矢量變化搜索區(qū)域的中心位置,并模式匹配每一個(gè)宏塊。
在步驟S306,移動(dòng)檢測(cè)部分203相應(yīng)于步驟S305得到的檢測(cè)的結(jié)果,檢測(cè)每一個(gè)宏塊的移動(dòng)矢量MV,并將每一個(gè)宏塊的移動(dòng)矢量VM提供給偏差信息產(chǎn)生部分204和控制部分206。
在圖像編碼設(shè)備201中,在移動(dòng)檢測(cè)部分203產(chǎn)生每一個(gè)宏塊的移動(dòng)矢量MV前,全程矢量檢測(cè)部分205檢測(cè)全程矢量,它表示整個(gè)圖像的一個(gè)移動(dòng)矢量。這樣,移動(dòng)檢測(cè)部分203不需要檢測(cè)廣泛區(qū)域中每一個(gè)宏塊的移動(dòng)矢量MV。結(jié)果,用于檢測(cè)移動(dòng)矢量MV的處理可以通過(guò)較少的計(jì)算步數(shù)執(zhí)行。換句話說(shuō),在圖像編碼設(shè)備201中,即使移動(dòng)的圖像攝全景,也不必使全程矢量檢測(cè)部分205得到整個(gè)圖像的全程矢量,以及檢測(cè)廣泛區(qū)域中每一個(gè)宏塊的移動(dòng)矢量。
另外,使用圖像編碼設(shè)備201,即使一個(gè)圖像在整個(gè)屏幕上高速移動(dòng),每一個(gè)宏塊的移動(dòng)矢量被容易的檢測(cè)。
另外,使用圖像編碼設(shè)備201,由于一個(gè)屏幕被分為多個(gè)區(qū)域,故全程矢量檢測(cè)部分5計(jì)算每一個(gè)區(qū)域的全程矢量。由此,即使圖像大幅度地在屏幕上移動(dòng),則移動(dòng)矢量MV可以有效地被檢測(cè)。
下面,將描述本發(fā)明的第六實(shí)施例。
圖31是塊圖,示出根據(jù)本發(fā)明的第六實(shí)施例的圖像編碼設(shè)備的結(jié)構(gòu)。
圖31示出根據(jù)本發(fā)明的第六實(shí)施例的圖像編碼設(shè)備的結(jié)構(gòu)。參照?qǐng)D31,圖像編碼設(shè)備(標(biāo)記為301)具有幀緩沖器302、移動(dòng)檢測(cè)部分303、偏差信息產(chǎn)生部分304以及控制部分305。圖像數(shù)據(jù)輸入到幀緩沖器302。移動(dòng)檢測(cè)部分303檢測(cè)存儲(chǔ)在幀緩沖器302內(nèi)的圖像數(shù)據(jù)的移動(dòng)分量。偏差信息產(chǎn)生部分304產(chǎn)生移動(dòng)偏差信息AD??刂撇糠?06將用于編碼處理的參數(shù)等送到設(shè)備的各個(gè)部分。
幀緩沖器302輸入來(lái)自外部設(shè)備的圖像數(shù)據(jù),并一幀一幀地存儲(chǔ)圖像數(shù)據(jù)。幀緩沖器302在控制部分305的控制下,在預(yù)定時(shí)間將圖像數(shù)據(jù)輸出到移動(dòng)檢測(cè)部分303、偏差信息產(chǎn)生部分304和計(jì)算部分307。
移動(dòng)檢測(cè)部分303檢測(cè)存儲(chǔ)在幀緩沖器302的圖像數(shù)據(jù)的每一個(gè)宏塊(由16×16像素構(gòu)成)的移動(dòng)矢量MV。移動(dòng)檢測(cè)部分303模式匹配參照幀的宏塊和從幀緩沖器302讀出的宏塊,并檢測(cè)移動(dòng)矢量MV。移動(dòng)檢測(cè)部分303將檢測(cè)到的移動(dòng)矢量MV提供給偏差信息產(chǎn)生部分34和控制部分305。
偏差信息產(chǎn)生部分304從移動(dòng)檢測(cè)部分303接收移動(dòng)矢量MV。另外,偏差信息產(chǎn)生部分304從幀緩沖器302接收?qǐng)D像數(shù)據(jù)的每一個(gè)宏塊。有了移動(dòng)矢量MV和圖像數(shù)據(jù),偏差信息產(chǎn)生部分304產(chǎn)生移動(dòng)分量之間差值絕對(duì)值的總和,作為偏差信息AD,并將偏差信息AD提供給控制部分305和跳轉(zhuǎn)控制部分310。
控制部分305用從移動(dòng)檢測(cè)部分303接收到的移動(dòng)矢量MV和從偏差信息產(chǎn)生部分304接收到的移動(dòng)偏差信息AD為編碼處理確定宏塊類(lèi)型??刂撇糠?05相應(yīng)于例如圖像類(lèi)型,確定當(dāng)前宏塊是否是中間宏塊或內(nèi)部宏塊。中間宏塊是用移動(dòng)矢量MV移動(dòng)補(bǔ)償,并并用偏差編碼的宏塊。相比之下,內(nèi)部宏塊是沒(méi)有移動(dòng)分量的單純編碼的宏塊。
控制部分305產(chǎn)生控制信息,相應(yīng)于確定的宏塊類(lèi)型,使開(kāi)關(guān)317和318工作。另外,控制部分305將從移動(dòng)檢測(cè)部分303接收到的移動(dòng)矢量MV提供給移動(dòng)補(bǔ)償部分316。
圖像編碼設(shè)備301還具有計(jì)算部分306、DCT處理部分307、量化處理部分308、可變長(zhǎng)度代碼編碼部分309、上述的跳轉(zhuǎn)控制部分310、和緩沖器311。計(jì)算部分306從幀緩沖器302接收?qǐng)D像信號(hào)。DCT處理部分307為圖像數(shù)據(jù)執(zhí)行DCT(離散余弦變換)處理。量化處理部分308對(duì)從DCT處理部分307接收到的DCT系數(shù)量化。可變長(zhǎng)度代碼編碼部分309用可變長(zhǎng)度代碼壓縮從量化處理部分308接收到的DCT系數(shù)。跳轉(zhuǎn)控制部分310控制DCT處理部分307,量化處理部分308、可變長(zhǎng)度代碼編碼部分309等等。緩沖器311存儲(chǔ)已經(jīng)編碼的圖像數(shù)據(jù)。
DCT處理部分307對(duì)從計(jì)算部分306接收到的圖像數(shù)據(jù)的每一個(gè)(8×8)像素的宏塊執(zhí)行二維DCT處理。DCT處理部分307將DCT系數(shù)提供給量化處理部分308。
量化處理部分308用相應(yīng)于每一個(gè)宏塊變化的量化比例對(duì)從DCT處理部分307接收到的DCT系數(shù)量化。量化處理部分308將量化的DCT系數(shù)提供給可變長(zhǎng)度代碼編碼部分309和反量化處理部分312。除了量化處理,量化處理部分308產(chǎn)生CBP(編碼的塊模式)。當(dāng)量化處理部分308產(chǎn)生CBP時(shí),它將表示CBP的信息提供給可變長(zhǎng)度代碼編碼部分309。
跳轉(zhuǎn)控制部分310產(chǎn)生跳轉(zhuǎn)控制信號(hào),使DCT處理部分307和量化處理部分308相應(yīng)于從偏差信息產(chǎn)生部分304接收到的移動(dòng)偏差信息,跳過(guò)DCT處理,以及量化處理。跳轉(zhuǎn)控制部分310從移動(dòng)檢測(cè)部分303接收移動(dòng)偏差信息AD,用移動(dòng)偏差信息AD預(yù)測(cè)CBP的值,并相應(yīng)于CBP的值,將DCT系數(shù)設(shè)置為“0”。當(dāng)跳轉(zhuǎn)控制部分310將DCT系數(shù)設(shè)置為“0”時(shí),跳轉(zhuǎn)控制部分310將跳轉(zhuǎn)控制信號(hào)提供給移動(dòng)補(bǔ)償部分316、DCT處理部分307、量化處理部分308以及可變長(zhǎng)度代碼編碼部分309。由此,當(dāng)跳轉(zhuǎn)控制部分310將CBP的值(即DCT系數(shù))設(shè)置為“0”時(shí),使這個(gè)部分跳過(guò)它們的處理。
當(dāng)跳轉(zhuǎn)控制部分310將DCT系數(shù)設(shè)置為“0”時(shí),跳轉(zhuǎn)控制部分310將從偏差信息產(chǎn)生部分304接收到的移動(dòng)偏差信息AD與預(yù)定值比較。預(yù)定值由例如使用者設(shè)計(jì)。換句話說(shuō),當(dāng)移動(dòng)偏差信息AD小于預(yù)定值時(shí),跳轉(zhuǎn)控制部分310確定CBP的值小,并將跳轉(zhuǎn)控制信號(hào)(用“0”替代DCT系數(shù))提供給上述部分。相比之下,當(dāng)移動(dòng)偏差信息AD不小于預(yù)定值時(shí),跳轉(zhuǎn)控制部分310不產(chǎn)生跳轉(zhuǎn)控制信號(hào)。
或者,跳轉(zhuǎn)控制部分310可以用在編碼處理中得到的信息確定預(yù)定值(該信息是諸如可變長(zhǎng)度代碼編碼部分309的可變長(zhǎng)度代碼編碼處理的比特率以及量化處理部分308的量化處理的量化比例),并將預(yù)定值與移動(dòng)偏差信息AD比較。在這一點(diǎn),跳轉(zhuǎn)控制部分310為每一個(gè)宏塊的移動(dòng)偏差信息與預(yù)定值比較,并相應(yīng)于比較結(jié)果產(chǎn)生跳轉(zhuǎn)控制信號(hào)。
作為另一個(gè)方法,跳轉(zhuǎn)控制部分310可以使用每一個(gè)宏塊的移動(dòng)偏差信息AD的平均值MAD來(lái)替代移動(dòng)偏差信息。在這種情況下,平均值MAD由移動(dòng)補(bǔ)償部分316產(chǎn)生。跳轉(zhuǎn)控制部分310從移動(dòng)補(bǔ)償部分316接收平均值MAD,并相應(yīng)于平均值MAD,將DCT系數(shù)設(shè)置為“0”。跳轉(zhuǎn)控制部分310的詳細(xì)的工作將在下面描述。
可變長(zhǎng)度代碼編碼部分309從量化處理部分308接收DCT系數(shù),并從控制部分305接收移動(dòng)矢量MV。有了這樣的信息,可變長(zhǎng)度代碼編碼部分309完成編碼處理??勺冮L(zhǎng)度代碼編碼部分309用相應(yīng)于MPEG語(yǔ)法的可變長(zhǎng)度代碼執(zhí)行編碼處理,并執(zhí)行標(biāo)題處理、代碼產(chǎn)生處理等,以產(chǎn)生圖像數(shù)據(jù)??勺冮L(zhǎng)度代碼編碼部分309將編碼的圖像數(shù)據(jù)提供給緩沖器311。
可變長(zhǎng)度代碼編碼部分309從量化處理部分308接收信息,該信息表示CBP的值為“0”。當(dāng)沒(méi)有移動(dòng)矢量MV時(shí),可變長(zhǎng)度代碼編碼部分309可以相應(yīng)于宏塊類(lèi)型跳過(guò)宏塊。
緩沖器311存儲(chǔ)從可變長(zhǎng)度代碼編碼部分309接收到的圖像數(shù)據(jù),并在控制部分305的控制下以在預(yù)定時(shí)間以比特流輸出圖像數(shù)據(jù)。
另外,圖像編碼設(shè)備301還包含反量化處理部分312、反DCT處理部分313、計(jì)算單位314、緩沖器315和移動(dòng)補(bǔ)償部分316。反量化處理部分312對(duì)從量化處理部分308接收到的DCT系數(shù)進(jìn)行反量化。反DCT處理部分313對(duì)從反量化處理部分312接收到的DCT系數(shù)反執(zhí)行DCT處理。計(jì)算單位314從反DCT處理部分313接收?qǐng)D像數(shù)據(jù)。緩沖器315存儲(chǔ)圖像數(shù)據(jù)。移動(dòng)補(bǔ)償部分316對(duì)從緩沖器315接收到的圖像數(shù)據(jù)進(jìn)行移動(dòng)補(bǔ)償。
反量化處理部分312對(duì)從量化處理部分308接收的DCT系數(shù)反量化。反量化處理部分312用量化比例對(duì)從量化處理部分308接收到的數(shù)據(jù)反量化,并將得到的DCT系數(shù)提供給反DCT處理部分313。
反DCT處理部分313對(duì)從反量化處理部分接收的DCT系數(shù)反向執(zhí)行DCT處理,并將得到的DCT系數(shù)提供給計(jì)算單位314。計(jì)算單位314接收已經(jīng)在反DCT處理部分313中處理過(guò)的圖像數(shù)據(jù)。另外,計(jì)算單位314通過(guò)開(kāi)關(guān)317接收?qǐng)D像數(shù)據(jù)(已經(jīng)被移動(dòng)補(bǔ)償)。計(jì)算單位314對(duì)移動(dòng)補(bǔ)償?shù)膱D像數(shù)據(jù)和從反DCT處理部分313接收的圖像數(shù)據(jù)相加,并將得到的數(shù)據(jù)提供給緩沖器315。
緩沖器315從計(jì)算單位314接收?qǐng)D像數(shù)據(jù),并存儲(chǔ)圖像數(shù)據(jù)。當(dāng)移動(dòng)補(bǔ)償部分316移動(dòng)補(bǔ)償圖像數(shù)據(jù)時(shí),從緩沖器315讀出預(yù)測(cè)的圖像數(shù)據(jù)。
移動(dòng)補(bǔ)償部分316相應(yīng)于移動(dòng)矢量MV從緩沖器315讀出預(yù)測(cè)的圖像數(shù)據(jù)的每個(gè)宏塊。移動(dòng)補(bǔ)償316將從控制部分305接收到的移動(dòng)矢量MV提供給相應(yīng)于預(yù)測(cè)圖像數(shù)據(jù)的計(jì)算部分306。
當(dāng)圖像編碼設(shè)備301產(chǎn)生I(內(nèi)部)圖像時(shí),存儲(chǔ)在幀緩沖器302中的圖像數(shù)據(jù)的每一個(gè)宏塊通過(guò)計(jì)算單位306,提供給DCT處理部分307,以及量化處理部分308。該DCT處理部分307對(duì)圖象數(shù)的每個(gè)宏塊執(zhí)行DCT處理。量化處理部分308使從DCT處理部分307接收到的圖像數(shù)據(jù)量化??勺冮L(zhǎng)度代碼編碼部分309使用可變長(zhǎng)度代碼對(duì)從量化處理部分308接收到的圖像數(shù)據(jù)編碼,并通過(guò)緩沖器311以比特流輸出得到的數(shù)據(jù)。由量化處理部分308和可變長(zhǎng)度代碼編碼部分309處理的結(jié)果信號(hào)通過(guò)反量化處理部分312和反DCT處理部分313復(fù)原成圖像數(shù)據(jù),并暫時(shí)存儲(chǔ)到緩沖器315。
當(dāng)圖像編碼設(shè)備301產(chǎn)生P(預(yù)測(cè))圖像時(shí),移動(dòng)檢測(cè)部分303檢測(cè)存儲(chǔ)在幀緩沖器中的圖像數(shù)據(jù)的移動(dòng)分量,以便產(chǎn)生移動(dòng)矢量MV。另外,偏差信息產(chǎn)生部分304產(chǎn)生偏差信息AD。移動(dòng)矢量MV通過(guò)控制部分305提供給移動(dòng)補(bǔ)償部分316。移動(dòng)補(bǔ)償部分316對(duì)存儲(chǔ)在緩沖器315內(nèi)的圖像數(shù)據(jù)進(jìn)行移動(dòng)補(bǔ)償(當(dāng)產(chǎn)生I圖像時(shí),該圖像數(shù)據(jù)存儲(chǔ)到緩沖器315)。由此,移動(dòng)補(bǔ)償部分316產(chǎn)生預(yù)測(cè)數(shù)據(jù)。移動(dòng)補(bǔ)償部分316對(duì)每一個(gè)宏塊進(jìn)行移動(dòng)補(bǔ)償。開(kāi)關(guān)317和318相應(yīng)于從控制部分305接收到的開(kāi)關(guān)控制信號(hào)關(guān)閉。計(jì)算單位306從存儲(chǔ)在幀緩沖器302中的圖像數(shù)據(jù)減去從移動(dòng)補(bǔ)償部分316接收到的預(yù)測(cè)圖像數(shù)據(jù)。DCT處理部分307和量化處理部分308執(zhí)行上述處理??勺冮L(zhǎng)度代碼編碼部分309編碼圖像數(shù)據(jù),并通過(guò)緩沖器311以比特流輸出得到的數(shù)據(jù)。
當(dāng)圖像編碼設(shè)備301產(chǎn)生B(雙向預(yù)測(cè))圖像時(shí),移動(dòng)補(bǔ)償316對(duì)存儲(chǔ)在緩沖器315中的以前的幀的圖像數(shù)據(jù)和下一個(gè)幀的圖像數(shù)據(jù)進(jìn)行移動(dòng)補(bǔ)償,以產(chǎn)生預(yù)測(cè)圖像數(shù)據(jù)。計(jì)算單位306從存儲(chǔ)在幀緩沖器302中的圖像數(shù)據(jù)減去預(yù)測(cè)圖像數(shù)據(jù)。DCT處理部分307和量化處理部分308執(zhí)行上述處理??勺冮L(zhǎng)度代碼編碼部分309用可變長(zhǎng)度代碼對(duì)從計(jì)算單位306接收到的數(shù)據(jù)編碼,并通過(guò)緩沖器311以比特流輸出得到的數(shù)據(jù)。
圖32是圖像編碼設(shè)備301的編碼處理的流程圖。在圖32所示的流程圖中,從存儲(chǔ)在幀緩沖器302中的圖像數(shù)據(jù)檢測(cè)移動(dòng)矢量MV。相應(yīng)于檢測(cè)到的移動(dòng)矢量MV產(chǎn)生P圖像或B圖像。
在步驟S401,一幀圖象數(shù)據(jù)輸入到幀緩沖器302。
在步驟S402,移動(dòng)檢測(cè)部分303檢測(cè)存儲(chǔ)在幀緩沖器302中的圖像數(shù)據(jù),并檢測(cè)移動(dòng)、作為移動(dòng)矢量MV。偏差信息產(chǎn)生部分304由移動(dòng)矢量MV產(chǎn)生移動(dòng)偏差信息AD。移動(dòng)矢量MV和移動(dòng)偏差信息AD分別被提供給控制部分305和跳轉(zhuǎn)控制部分310。
在步驟S403,跳轉(zhuǎn)控制部分310比較從偏差信息產(chǎn)生部分304接收的移動(dòng)偏差信息AD和預(yù)定值。當(dāng)在步驟S403確定的結(jié)果是No(即移動(dòng)偏差信息AD大于預(yù)定值)時(shí),流程進(jìn)到步驟S404。相反,當(dāng)在步驟S403確定的結(jié)果是Yes(即,移動(dòng)偏差信息AD不大于預(yù)定值)時(shí),流程進(jìn)到步驟S407。
在步驟S404,預(yù)測(cè)圖像數(shù)據(jù)根據(jù)從控制部分305接收到的移動(dòng)矢量MV產(chǎn)生,并提供給計(jì)算部分306。相應(yīng)于計(jì)算單位306的計(jì)算結(jié)果,移動(dòng)補(bǔ)償部分316補(bǔ)償圖像數(shù)據(jù)的移動(dòng)。
在步驟S405,計(jì)算單位306從由幀緩沖器及02接收到的圖像數(shù)據(jù)減去在步驟S404經(jīng)過(guò)移動(dòng)補(bǔ)償?shù)念A(yù)測(cè)圖像數(shù)據(jù)。DCT處理部分307對(duì)從計(jì)算單位306接收到的圖像數(shù)據(jù)執(zhí)行DCT處理。
在步驟S406,量化處理部分308對(duì)由DCT處理部分307在步驟S405產(chǎn)生的DCT系數(shù)量化。
相比之下,當(dāng)在步驟S403確定的結(jié)果是Yes(即,移動(dòng)偏差信息AD不大于預(yù)定值)時(shí),流程進(jìn)到步驟S407。在步驟S407,跳轉(zhuǎn)控制部分301產(chǎn)生跳轉(zhuǎn)控制信號(hào),使DCT處理部分307、量化處理部分308、可變長(zhǎng)度代碼編碼部分309以及移動(dòng)補(bǔ)償部分316跳過(guò)它們的處理,并將跳轉(zhuǎn)控制信號(hào)提供給這些部分。換句話說(shuō),存儲(chǔ)在緩沖器315中的圖像數(shù)據(jù)提供給可變長(zhǎng)度代碼編碼部分309。
在步驟S408,可變長(zhǎng)度代碼編碼部分309確定CBP的值是否是“0”。當(dāng)“0”已經(jīng)在步驟S407設(shè)置為DCT系數(shù)時(shí),可變長(zhǎng)度代碼編碼部分309確定CBP的值是“0”。
在步驟S409,可變長(zhǎng)度代碼編碼部分309執(zhí)行例如標(biāo)題處理以及可變長(zhǎng)度代碼產(chǎn)生處理,并通過(guò)緩沖器311以比特流輸出編碼的圖像數(shù)據(jù)。在步驟S408確定其CBP值為“0”的宏塊是由標(biāo)題、MB增加、CBP、矢量等構(gòu)成,而不是(16×16)像素?cái)?shù)據(jù)。換句話說(shuō),當(dāng)檢測(cè)到其CBP值為“0”的宏塊時(shí),宏塊輸出與預(yù)測(cè)圖像一樣的圖象。
在在圖像編碼設(shè)備301的處理(見(jiàn)圖32)中,比較預(yù)定值和移動(dòng)偏差信息AD,以確定DCT系數(shù)是否為“0”。或者,替代預(yù)定值,可以根據(jù)含有從量化處理部分308接收到的量化比例、存儲(chǔ)在緩沖器315中的圖像數(shù)據(jù)的獲得值、比特率等等的相應(yīng)的評(píng)價(jià)函數(shù),確定DCT系數(shù)是否是“0”。
由于圖像編碼設(shè)備301具有跳轉(zhuǎn)控制部分310,它相應(yīng)于移動(dòng)偏差信息AD與預(yù)定值比較的結(jié)果,跳過(guò)移動(dòng)補(bǔ)償處理、DCT處理以及量化處理,對(duì)DCT系數(shù)最后為“0”的圖像數(shù)據(jù)的編碼處理所必需的處理時(shí)間可以縮短。
另外,根據(jù)圖像編碼設(shè)備301,在實(shí)時(shí)編碼器中對(duì)DCT處理和量化處理等的處理時(shí)間是不嚴(yán)格的。由此,圖像編碼設(shè)備301可以容易地設(shè)計(jì),并且可以減小其電耗。
另外,根據(jù)圖像編碼設(shè)備301,即使編碼處理是由軟件執(zhí)行的,也可以減小例如CPU(中央處理器)的處理的負(fù)載。
根據(jù)本發(fā)明,當(dāng)獲得移動(dòng)矢量時(shí),參照幀的塊和當(dāng)前幀塊正交地轉(zhuǎn)換為頻率數(shù)據(jù)。當(dāng)將圖像數(shù)據(jù)轉(zhuǎn)換為頻率數(shù)據(jù),并獲得參照幀的塊和當(dāng)前幀的塊之間的偏差時(shí),大大減小了計(jì)算步數(shù)。由此,可以高速地執(zhí)行處理。結(jié)果,可以由軟件有效執(zhí)行處理。
根據(jù)本發(fā)明,在塊匹配計(jì)算的循環(huán)中,將當(dāng)前幀的塊的像素與參照幀相關(guān)塊的像素之間的差值絕對(duì)值的總和與預(yù)定的閾值比較。當(dāng)總和超過(guò)閾值時(shí),處理停止。由此,由于減小了計(jì)算步數(shù),移動(dòng)矢量可以高速搜索。
可以相應(yīng)于不連續(xù)的絕對(duì)值(MAD)的和值與在原點(diǎn)的偏差A(yù)D(0,0)設(shè)置閾值的初始值。在閾值相應(yīng)于總和MAD和在原點(diǎn)的偏差A(yù)D(0,0)設(shè)置閾值時(shí),當(dāng)中間幀編碼處理執(zhí)行時(shí),可以可靠地檢測(cè)移動(dòng)矢量。相比之下,當(dāng)執(zhí)行內(nèi)部幀編碼處理時(shí),處理停止。由此,可以有效執(zhí)行塊匹配處理。
另外,當(dāng)?shù)谝淮嗡岩苿?dòng)矢量時(shí),使用相應(yīng)于總和MAD和在原點(diǎn)的偏差A(yù)D(0,0)得到的閾值。作為對(duì)相同的塊在第二次執(zhí)行的塊匹配處理的閾值,使用開(kāi)始的閾值或檢測(cè)的總和中小的那個(gè)。換句話說(shuō),由于使用到該時(shí)為止得到的作為小值的閾值,故可以有效檢測(cè)移動(dòng)矢量。
如上所述,根據(jù)本發(fā)明的移動(dòng)檢測(cè)設(shè)備和預(yù)定檢測(cè)方法,從圖像抽取多個(gè)宏塊。檢測(cè)被抽取的宏塊的移動(dòng)矢量。有了檢測(cè)的移動(dòng)矢量,計(jì)算整個(gè)圖像的移動(dòng)矢量。有了整個(gè)圖像的移動(dòng)矢量,計(jì)算每一個(gè)宏塊的移動(dòng)矢量。由此,在計(jì)算每一個(gè)宏塊的移動(dòng)矢量前,能得到整個(gè)圖像的移動(dòng)矢量。結(jié)果,根據(jù)本發(fā)明的移動(dòng)檢測(cè)設(shè)備和移動(dòng)檢測(cè)方法,在整個(gè)屏幕上大幅度移動(dòng)的圖像移動(dòng)矢量可以被容易地檢測(cè)。另外,可以大大減小圖像移動(dòng)處理的步驟。
如上所述,根據(jù)本發(fā)明的圖像編碼設(shè)備和圖像編碼方法,檢測(cè)圖像數(shù)據(jù)的像素塊的移動(dòng)矢量,并且由此產(chǎn)生的移動(dòng)偏差信息。將移動(dòng)偏差信息與預(yù)定值比較。對(duì)圖像數(shù)據(jù)執(zhí)行編碼處理必需的預(yù)定處理。相應(yīng)于預(yù)定的結(jié)果,跳過(guò)數(shù)據(jù)處理裝置的預(yù)定處理。對(duì)于DCT系數(shù)最終為“0”的圖像的編碼處理的處理時(shí)間能夠縮短。
根據(jù)本發(fā)明,當(dāng)由塊匹配處理得到移動(dòng)矢量時(shí),用參照幀的塊的輪廓像素與當(dāng)前幀的相關(guān)塊的輪廓像素之間差值絕對(duì)值的總和得到偏差。由此減小計(jì)算步數(shù)。結(jié)果,可以高速地執(zhí)行處理。由于得到參照幀的塊的所有輪廓像素與當(dāng)前幀相關(guān)塊的所有輪廓像素之間的差值絕對(duì)值的總和,故可以精確檢測(cè)移動(dòng)矢量。
雖然已經(jīng)根據(jù)本發(fā)明的最佳實(shí)施例示出了本發(fā)明,但熟悉本領(lǐng)域的人可以知道,在不背離本發(fā)明的主旨和范圍的條件下,可以有上述和各種其它形式和細(xì)節(jié)上的變化、省略和添加。
權(quán)利要求
1.一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像的塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)正交變換參照?qǐng)D像塊的像素?cái)?shù)據(jù)和當(dāng)前圖像塊的像素?cái)?shù)據(jù);以及(e)獲得參照?qǐng)D像塊的正交變換數(shù)據(jù)與當(dāng)前圖像的每個(gè)塊的正交變換數(shù)據(jù)之間的偏差。
2.如權(quán)利要求1所述的移動(dòng)矢量計(jì)算方法,其特征在于,步驟(d)是利用哈達(dá)瑪特變換方法進(jìn)行的。
3.如權(quán)利要求1所述的移動(dòng)矢量計(jì)算方法,其特征在于,還包含下列步驟把參照?qǐng)D像的每個(gè)塊和當(dāng)前圖像的塊分割成多個(gè)塊;以及正交變換每個(gè)分割的塊。
4.一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)正交變換參照?qǐng)D像塊的像素?cái)?shù)據(jù)和當(dāng)前圖像塊的像素?cái)?shù)據(jù);以及(e)獲得參照?qǐng)D像塊的正交變換數(shù)據(jù)與當(dāng)前圖像的每個(gè)塊的正交變換數(shù)據(jù)之間的偏差。
5.如權(quán)利要求4所述的記錄媒體,其特征在于,步驟(d)是利用哈達(dá)瑪特變換方法進(jìn)行的。
6.如權(quán)利要求4所述的記錄媒體,其特征在于,還包含下列步驟把參照?qǐng)D像的每個(gè)塊和當(dāng)前圖像的塊分割成多個(gè)塊;以及正交變換每個(gè)分割的塊。
7.一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)在計(jì)算參照?qǐng)D像塊的像素與當(dāng)前圖像塊的像素之間的偏差時(shí),把獲得的偏差與預(yù)定閾值進(jìn)行比較;(e)當(dāng)該偏差大于預(yù)定閾值時(shí),停止計(jì)算移動(dòng)矢量;以及(f)對(duì)應(yīng)于圖像特征設(shè)置預(yù)定閾值的初始值。
8.如權(quán)利要求7所述的移動(dòng)矢量計(jì)算方法,其特征在于,對(duì)應(yīng)于同一圖像的像素值與其像素平均值之間的差值的絕對(duì)值之和設(shè)置預(yù)定閾值的初始值。
9.如權(quán)利要求7所述的移動(dòng)矢量計(jì)算方法,其特征在于,對(duì)應(yīng)于在原點(diǎn)的偏差設(shè)置預(yù)定閾值的初始值。
10.如權(quán)利要求7所述的移動(dòng)矢量計(jì)算方法,其特征在于,對(duì)應(yīng)于同一圖像的像素值與其像素的平均值之間的差值的絕值之和以及原點(diǎn)上的偏差設(shè)置預(yù)定閾值的初始值。
11.如權(quán)利要求7所述的移動(dòng)矢量計(jì)算方法,其特征在于,預(yù)定閾值是至此獲得的偏差的最小值。
12.一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)在計(jì)算參照?qǐng)D像塊的像素與當(dāng)前圖像塊的像素之間的偏差時(shí),把獲得的偏差與預(yù)定閾值進(jìn)行比較;(e)當(dāng)該偏差大于預(yù)定閾值時(shí),停止計(jì)算移動(dòng)矢量;以及(f)對(duì)應(yīng)于圖像特征設(shè)置預(yù)定閾值的初始值。
13.如權(quán)利要求12所述的記錄媒體其特征在于,對(duì)應(yīng)于同一圖像的像素值與其像素平均值之間的差值的絕對(duì)值之和設(shè)置預(yù)定閾值的初始值。
14.如權(quán)利要求12所述的記錄媒體,其特征在于,對(duì)應(yīng)于原點(diǎn)的偏差設(shè)置預(yù)定閾值的初始值。
15.如權(quán)利要求12所述的記錄媒體,其特征在于,對(duì)應(yīng)于同一圖像的像素值與其像素的平均值之間的差值的絕值之和以及原點(diǎn)上的偏差設(shè)置預(yù)定閾值的初始值。
16.如權(quán)利要求12所述的記錄媒體,其特征在于,預(yù)定閾值是至此獲得的偏差的最小值。
17.一種移動(dòng)檢測(cè)裝置,包含取出裝置,從圖像中取出多個(gè)宏塊;第一移動(dòng)檢測(cè)裝置,檢測(cè)所述取出裝置取出的多個(gè)宏塊的每個(gè)塊的移動(dòng)矢量;移動(dòng)計(jì)算裝置,用所述第一活動(dòng)檢測(cè)裝置檢測(cè)到的各宏塊的移動(dòng)矢量計(jì)算整個(gè)圖像的移動(dòng)矢量;以及第二移動(dòng)檢測(cè)裝置,用所述活動(dòng)計(jì)算裝置計(jì)算得到的移動(dòng)矢量計(jì)算每個(gè)宏塊的移動(dòng)矢量。
18.如權(quán)利要求17所述的移動(dòng)檢測(cè)裝置,其特征在于,所述取出裝置取出多個(gè)相鄰宏塊。
19.如權(quán)利要求17所述的移動(dòng)檢測(cè)裝置,其特征在于,所述取出裝置從分割整個(gè)圖像得到的每個(gè)區(qū)域中取出多個(gè)宏塊。
20.一種活動(dòng)檢測(cè)方法,包含下列步驟(a)從圖像中取出多個(gè)宏塊;(b)檢測(cè)取出的多個(gè)宏塊的每個(gè)塊的移動(dòng)矢量;(c)用檢測(cè)到的各宏塊的移動(dòng)矢量計(jì)算整個(gè)圖像的移動(dòng)矢量;以及(d)用計(jì)算得到的移動(dòng)矢量計(jì)算每個(gè)宏塊的移動(dòng)矢量。
21.如權(quán)利要求20所述的移動(dòng)檢測(cè)方法,其特征在于,步驟(a)通過(guò)取出多個(gè)相鄰宏塊進(jìn)行。
22.如權(quán)利要求20所述的移動(dòng)檢測(cè)方法,其特征在于,步驟(a)通過(guò)從分割整個(gè)圖像得到的每個(gè)區(qū)域中取出多個(gè)宏塊來(lái)進(jìn)行。
23.一種圖像編碼裝置,包含移動(dòng)檢測(cè)裝置,檢測(cè)輸入圖像數(shù)據(jù)的預(yù)定像素塊的移動(dòng)矢量,產(chǎn)生移動(dòng)偏差信息;確定裝置,把從所述移動(dòng)檢測(cè)裝置接收到的移動(dòng)偏差信息與一預(yù)定值進(jìn)行比較,產(chǎn)生確定結(jié)果;圖像數(shù)據(jù)處理裝置,用于對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)定的處理,該預(yù)定處理是編碼處理所需要的;編碼裝置,用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼;以及控制裝置,對(duì)應(yīng)于所述確定裝置的確定結(jié)果,跳過(guò)所述圖像數(shù)據(jù)處理裝置進(jìn)行的預(yù)定處理,使所述編碼裝置進(jìn)行所述編碼處理。
24.如權(quán)利要求23所述的圖像編碼裝置,其特征在于,所述移動(dòng)檢測(cè)裝置計(jì)算每個(gè)像素塊的平均離散偏差;所述確定裝置把平均離散偏差與預(yù)定值比較。
25.如權(quán)利要求23所述的圖像編碼裝置,其特征在于,還包含值確定裝置,用在編碼處理時(shí)獲得的信息確定預(yù)定值,所述確定裝置用所述值確定裝置確定的預(yù)定值產(chǎn)生確定結(jié)果。
26.一種圖像編碼方法,包含下列步驟(a)檢測(cè)輸入圖像數(shù)據(jù)的預(yù)定像素塊的移動(dòng)矢量,產(chǎn)生移動(dòng)偏差信息;(b)把移動(dòng)偏差信息與一預(yù)定值進(jìn)行比較,產(chǎn)生確定結(jié)果;(c)對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)定的處理,該預(yù)定處理是編碼處理所需要的;以及(d)對(duì)應(yīng)于確定結(jié)果,跳過(guò)預(yù)定處理,使對(duì)圖像數(shù)據(jù)進(jìn)行編碼處理。
27.如權(quán)利要求26所述的圖像編碼方法,其特征在于,所述步驟(a)通過(guò)計(jì)算每個(gè)像素塊的平均離散偏差來(lái)進(jìn)行;步驟(b)通過(guò)把平均離散偏差與預(yù)定值比較來(lái)進(jìn)行。
28.如權(quán)利要求26所述的圖像編碼方法裝置,其特征在于,還包含用在編碼處理時(shí)獲得的信息確定預(yù)定值,步驟(b)通過(guò)用已確定的預(yù)定值產(chǎn)生確定結(jié)果來(lái)完成。
29.一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)同時(shí)取出當(dāng)前圖像的N個(gè)像素和此時(shí)的參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);(e)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中;以及(f)從存儲(chǔ)器中讀出當(dāng)前圖像塊的像素和參照?qǐng)D像塊的像素,作為連續(xù)數(shù)據(jù),獲得偏差。
30.如權(quán)利要求29所述的矢量計(jì)算方法,其特征在于,用一指令來(lái)計(jì)算偏差,使在一時(shí)刻處理多個(gè)連續(xù)數(shù)據(jù)片。
31.如權(quán)利要求29所述的矢量計(jì)算方法,其特征在于,當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素是以格子化方式同時(shí)取出。
32.一種其上記錄了移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算方法使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照?qǐng)D象的塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)同時(shí)取出當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);(e)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中;以及(f)從存儲(chǔ)器中讀出當(dāng)前圖像塊的像素和參照?qǐng)D像塊的像素,作為連續(xù)數(shù)據(jù),獲得偏差。
33.如權(quán)利要求32所述的記錄媒體,其特征在于,用一指令來(lái)計(jì)算偏差,使在一時(shí)刻處理多個(gè)連續(xù)數(shù)據(jù)片。
34.如權(quán)利要求32所述的記錄媒體,其特征在于,當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素是以格子化方式同時(shí)取出。
35.一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算略粗移動(dòng)矢量;(d)當(dāng)在步驟(c)獲提和粗略移動(dòng)矢量的附近中移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(e)根據(jù)參照?qǐng)D像檢測(cè)偏差最小的塊,以檢測(cè)精細(xì)移動(dòng)矢量;(f)把當(dāng)前圖像的像素與參照?qǐng)D像的像素存儲(chǔ)到第一存儲(chǔ)器中;(g)同時(shí)取出當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);以及(h)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到第二存儲(chǔ)器中,其中步驟(c)是利用存儲(chǔ)在第二存儲(chǔ)器中的作為連續(xù)數(shù)據(jù)的當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素進(jìn)行的,步驟(e)是利用存儲(chǔ)在第一存儲(chǔ)器中的當(dāng)前圖像的像素和參照?qǐng)D像的像素進(jìn)行的。
36.如權(quán)利要求35所述的移動(dòng)矢量計(jì)算方法,其特征在于,用一指令來(lái)計(jì)算偏差,使在一時(shí)刻處理多個(gè)連續(xù)數(shù)據(jù)片。
37.如權(quán)利要求35所述的移動(dòng)矢量計(jì)算方法,其特征在于,當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素是以格子化方式同時(shí)取出。
38.一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算粗略移動(dòng)矢量;(d)當(dāng)在步驟(c)獲得的粗略移動(dòng)矢量的附近中移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(e)根據(jù)參照?qǐng)D像檢測(cè)偏差最小的塊,以檢測(cè)精細(xì)移動(dòng)矢量;(f)把當(dāng)前圖像的像素與參照?qǐng)D像的像素存儲(chǔ)到第一存儲(chǔ)器中;(g)取出當(dāng)前圖像的N個(gè)像素和此時(shí)的參照?qǐng)D像的N個(gè)像素,其中N為整數(shù);以及(h)把當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素作為連續(xù)數(shù)據(jù)存儲(chǔ)到第二存儲(chǔ)器中,其中步驟(c)是利用存儲(chǔ)在第二存儲(chǔ)器中的作為連續(xù)數(shù)據(jù)的當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素進(jìn)行的,步驟(e)是利用存儲(chǔ)在第一存儲(chǔ)器中的當(dāng)前圖像的像素和參照?qǐng)D像的像素進(jìn)行的。
39.如權(quán)利要求38所述的記錄媒體,其特征在于,用一指令來(lái)計(jì)算偏差,使在一時(shí)刻處理多個(gè)連續(xù)數(shù)據(jù)片。
40.如權(quán)利要求38所述的記錄媒體,其特征在于,當(dāng)前圖像的N個(gè)像素和參照?qǐng)D像的N個(gè)像素是以格子化方式同時(shí)取出。
41.一種移動(dòng)矢量計(jì)算方法,包含下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;以及(d)把參照?qǐng)D像塊的輪廓像素與當(dāng)前圖像塊的輪廓像素比較,獲得它們之間的偏差。
42.如權(quán)利要求41所述的移動(dòng)矢量計(jì)算方法,其特征在于,步驟(d)包括下列步驟以水平掃描方向,累計(jì)當(dāng)前圖像塊的上輪廓像素與參照?qǐng)D像塊的上輪廓像素之間的差值的絕對(duì)值,以獲得它們之和;以垂直掃描方向累計(jì)當(dāng)前圖像塊的左輪廓素與參照?qǐng)D像塊的左輪廓像素之間的差值的絕對(duì)值,以獲得它們之和;以垂直掃描方向累計(jì)當(dāng)前圖像塊的右輪廓素與參照?qǐng)D像塊的右輪廓像素之間的差值的絕對(duì)值,以獲得它們之和;以及以水平掃描方向累計(jì)當(dāng)前圖像塊的下輪廓素與參照?qǐng)D像塊的下輪廓像素之間的差值的絕對(duì)值,以獲得它們之和。
43.一種其上記錄有移動(dòng)矢量計(jì)算程序的記錄媒體,該移動(dòng)矢量計(jì)算程序使具有該記錄媒體的系統(tǒng)進(jìn)行下列步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;以及(d)把參照?qǐng)D像塊的輪廓像素與當(dāng)前圖像塊的輪廓像素比較,獲得它們之間的偏差。
44.如權(quán)利要求43所述的記錄媒體,其特征在于,步驟(d)包括下列步驟以水平掃描方向,累計(jì)當(dāng)前圖像塊的上輪廓像素與參照?qǐng)D像塊的上輪廓像素之間的差值的絕對(duì)值,以獲得它們之和;以垂直掃描方向累計(jì)當(dāng)前圖像塊的左輪廓素與參照?qǐng)D像塊的左輪廓像素之間的差值的絕對(duì)值,以獲得它們之和;以垂直掃描方向累計(jì)當(dāng)前圖像塊的右輪廓素與參照?qǐng)D像塊的右輪廓像素之間的差值的絕對(duì)值,以獲得它們之和;以及以水平掃描方向累計(jì)當(dāng)前圖像塊的下輪廓素與參照?qǐng)D像塊的下輪廓像素之間的差值的絕對(duì)值,以獲得它們之和。
全文摘要
本發(fā)明揭示了一種移動(dòng)矢量計(jì)算方法,它包含步驟(a)對(duì)應(yīng)于要處理的當(dāng)前圖像的一個(gè)塊從參照?qǐng)D像中取出一個(gè)塊,該參照塊的大小與當(dāng)前圖像塊的大小一致,參照?qǐng)D像塊的原點(diǎn)與當(dāng)前圖像塊的原點(diǎn)匹配;(b)當(dāng)在預(yù)定搜索區(qū)域內(nèi)移動(dòng)參照?qǐng)D像塊時(shí),獲得當(dāng)前圖像塊與參照?qǐng)D像塊之間的偏差;(c)從參照?qǐng)D像中檢測(cè)偏差最小的塊,以計(jì)算移動(dòng)矢量;(d)正交變換參照?qǐng)D像塊的像素?cái)?shù)據(jù)和當(dāng)前圖像塊的像素?cái)?shù)據(jù);以及(e)獲得參照?qǐng)D像塊的正交變換數(shù)據(jù)與當(dāng)前圖像的每個(gè)塊的正交變換數(shù)據(jù)之間的偏差。
文檔編號(hào)H03M7/30GK1243393SQ9911039
公開(kāi)日2000年2月2日 申請(qǐng)日期1999年7月15日 優(yōu)先權(quán)日1999年7月15日
發(fā)明者安藤裕司, 安田弘幸 申請(qǐng)人:索尼株式會(huì)社