專利名稱:圖像處理設(shè)備和方法、記錄媒體和程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理設(shè)備和方法、記錄媒體和程序。更具體地,本發(fā)明涉及用于在逐個像素的基礎(chǔ)上精確地計算運動矢量以及用于根據(jù)在基于所計算的運動矢量而產(chǎn)生的像素中出現(xiàn)的誤差量來切換產(chǎn)生像素的方法的圖像處理設(shè)備和方法、記錄媒體和程序。
背景技術(shù):
用于基于現(xiàn)有圖像的像素來產(chǎn)生新像素以轉(zhuǎn)換圖像的分辨率或場頻率的技術(shù)正變得很常見。
在一個用于產(chǎn)生運動圖像的像素的已知方法中,使用了運動矢量。運動矢量指示在運動圖像等中暫時具有相同像素值的像素的運動的方向和距離。
圖1示出了根據(jù)現(xiàn)有技術(shù)的圖像處理設(shè)備1的結(jié)構(gòu),該圖像處理設(shè)備使用運動矢量來轉(zhuǎn)換掃描行的數(shù)量。
圖像處理設(shè)備1包括圖像存儲器11-1和11-2、塊運動矢量檢測器12和圖像合成器13。圖像處理設(shè)備1接收隔行圖像信號的輸入,轉(zhuǎn)換輸入數(shù)據(jù)的掃描行的數(shù)量和輸出結(jié)果數(shù)據(jù),其中所述隔行圖像信號是經(jīng)由從例如電視(TV)調(diào)諧器或數(shù)字通用光盤(DVD)播放器(未示出)提供的視頻源獲得的,并由模數(shù)(AD)轉(zhuǎn)換器進行了數(shù)字化。
圖像存儲器11-1和11-2的每一個存儲與一個場相對應(yīng)的輸入場數(shù)據(jù),并且以與一個場相對應(yīng)的延遲輸出該場數(shù)據(jù)。因此,圖像存儲器11-1給圖像合成器13提供相對于當(dāng)前場延遲了一場的延遲場數(shù)據(jù)。圖像存儲器11-2提供被進一步延遲一場的在前延遲場數(shù)據(jù)。因此,圖像存儲器11-2給塊運動矢量檢測器12和圖像合成器13提供總共被延遲了兩場的場數(shù)據(jù)(即,在前延遲場數(shù)據(jù))。
塊運動矢量檢測器12獲得當(dāng)前場數(shù)據(jù)和從圖像存儲器11-2提供的在前延遲場數(shù)據(jù),基于兩個場的這些場數(shù)據(jù)之間的相關(guān)性來檢測運動矢量。更具體地,例如,塊運動矢量檢測器12通過塊匹配,在逐個塊的基礎(chǔ)上檢測運動矢量。在塊匹配過程中,例如,在當(dāng)前場中設(shè)置包括預(yù)定數(shù)量的像素的參考塊,并且在在前延遲場中設(shè)置具有與參考塊相同大小的搜索塊。然后,在在前延遲場中順序移動搜索塊的同時,順序提取搜索塊中的像素,并使用在每個位置的搜索塊來計算在參考塊和搜索塊中相應(yīng)位置處的像素之間的差值的絕對值的和。然后,基于最小化了差值的絕對值的和的、參考塊和搜索塊的位置關(guān)系,來計算運動矢量。
圖像合成器13獲得當(dāng)前場數(shù)據(jù)、分別從圖像存儲器11-1和11-2提供的延遲場數(shù)據(jù)和在前延遲場數(shù)據(jù)、以及從塊運動矢量檢測器12提供的塊運動矢量,基于這些個信息合成圖像,轉(zhuǎn)換掃描行的數(shù)量,并將結(jié)果數(shù)據(jù)輸出給隨后的階段。
下面,將描述圖1中示出的圖像處理設(shè)備的操作。
首先,圖像存儲器11-1存儲第一場數(shù)據(jù)。在下一定時,圖像存儲器11-1給圖像存儲器11-2和圖像合成器13提供在其中存儲的場數(shù)據(jù)作為延遲場數(shù)據(jù)。在再下一定時,圖像存儲器11-1給圖像存儲器11-2和圖像合成器13提供在其中存儲的延遲場數(shù)據(jù)。此外,圖像存儲器11-2給塊運動矢量檢測器12和圖像合成器13提供在其中存儲的在前延遲場數(shù)據(jù)。
此時,塊運動矢量檢測器12通過使用當(dāng)前場數(shù)據(jù)和在前延遲場數(shù)據(jù)進行塊匹配,在逐塊的基礎(chǔ)上計算運動矢量,并給圖像合成器13提供運動矢量。
圖像合成器13通過使用當(dāng)前場數(shù)據(jù)和在前延遲場數(shù)據(jù)的像素進行場間內(nèi)插來產(chǎn)生像素,所使用的像素與如下的運動矢量穿過當(dāng)前場和在前延遲場的點相對應(yīng),該運動矢量經(jīng)過必須為被提供給圖像合成器13的延遲場的逐行圖像而新近產(chǎn)生的掃描行上的像素,從而將隔行延遲場圖像轉(zhuǎn)換成逐行圖像,并輸出該逐行圖像。
此外,例如,根據(jù)在公開號為第5-219529號的日本未審專利申請中公開的技術(shù),通過檢測色差信號的運動以及亮度信號的運動來檢測運動矢量,從而可以精確地檢測運動矢量。
然而,根據(jù)使用塊匹配來檢測運動矢量的方法,當(dāng)塊大小較大時,檢測運動矢量的精度下降,但是即使當(dāng)選擇小于確定值的塊大小時,檢測運動矢量的精度也不會改善。此外,在塊匹配過程中,當(dāng)塊大小較小時,計算量變得很大,導(dǎo)致了過度的計算成本。
此外,為了滿足提高檢測運動矢量的精度和減低計算成本以實現(xiàn)實時處理的不兼容要求,基于具有預(yù)定大小的單個塊來計算運動矢量。因此,當(dāng)具有兩個或多個運動矢量的像素存在于要在其中檢測運動矢量的搜索塊中時,在包括通過內(nèi)插產(chǎn)生的像素的圖像中,可能在逐塊的基礎(chǔ)上出現(xiàn)失真,可能在通過內(nèi)插產(chǎn)生的像素和周圍像素之間出現(xiàn)不匹配,或者由于在逐塊的基礎(chǔ)上使用相同的運動矢量而明顯降低空間分辨率。
發(fā)明內(nèi)容
考慮到上述情況而做出本發(fā)明,并且本發(fā)明的一個目的是在逐個像素的基礎(chǔ)上精確計算運動矢量——特別是在基于運動矢量的運動補償圖像處理中,以及獲得通過內(nèi)插產(chǎn)生的像素中誤差出現(xiàn)程度以切換通過內(nèi)插產(chǎn)生像素的方法,從而降低計算成本,并且通過抑制由基于塊的內(nèi)插造成的圖像失真或通過內(nèi)插產(chǎn)生的像素和周圍像素之間的不匹配,來改善圖像質(zhì)量。
根據(jù)本發(fā)明的第一圖像處理設(shè)備包括塊運動矢量檢測器,用于通過塊匹配,來檢測包括主體像素(subject pixel)的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算器,用于基于由塊運動矢量檢測器檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇器,用于選擇使由差值計算器計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生器,用于基于由像素運動矢量選擇器選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
圖像處理設(shè)備還可以包括輔助信息產(chǎn)生器,用于為第一場上的像素和第二場上的像素產(chǎn)生各個輔助信息。在此情況下,像素運動矢量選擇器選擇如下的塊運動矢量之一作為主體像素的像素運動矢量,該塊運動矢量之一使第一場上的像素的輔助信息和第二場上的像素的輔助信息彼此相符,并且使由差值計算器計算的差值最小化。
在該圖像處理設(shè)備中,各個輔助信息可以是表示各個像素的邊緣方向的碼。
圖像處理設(shè)備還可以包括像素運動矢量計算器,用于在第一場上的像素的輔助信息和第二場上的像素的輔助信息彼此不相符時,通過根據(jù)主體像素和多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量。
根據(jù)本發(fā)明的第一圖像處理方法包括塊運動矢量檢測步驟,通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算步驟,基于在塊運動矢量檢測步驟中檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇步驟,選擇使在差值計算步驟中計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生步驟,基于在像素運動矢量選擇步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第一記錄媒體具有記錄在其上的計算機可讀程序,其包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;差值計算控制步驟,控制基于在塊運動矢量檢測控制步驟中檢測的每個塊運動矢量,對第一場上的像素和第二場上的像素的像素值之差的計算,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇控制步驟,控制選擇使在差值計算控制步驟中計算的差值最小化的塊運動矢量之一來作為主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量選擇控制步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第一程序使計算機執(zhí)行如下過程,包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;差值計算控制步驟,控制基于在塊運動矢量檢測控制步驟中檢測的每個塊運動矢量,對第一場上的像素和第二場上的像素的像素值之差的計算,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇控制步驟,控制選擇使在差值計算控制步驟中計算的差值最小化的塊運動矢量之一來作為主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量選擇控制步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二圖像處理設(shè)備包括塊運動矢量檢測器,用于通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;像素運動矢量計算器,用于通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生器,用于基于由像素運動矢量計算器計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二圖像處理方法包括塊運動矢量檢測步驟,通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;像素運動矢量計算步驟,通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生步驟,基于在像素運動矢量計算步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二記錄媒體具有記錄在其上的計算機可讀程序,其包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;像素運動矢量計算控制步驟,控制通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量計算控制步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二程序使計算機執(zhí)行如下過程,包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;像素運動矢量計算控制步驟,控制通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量計算控制步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第一圖像處理設(shè)備和方法、記錄媒體和程序,通過塊匹配來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;基于所檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;選擇使所計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;以及基于所選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二圖像處理設(shè)備和方法、記錄媒體和程序,通過塊匹配來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;以及基于所計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的圖像處理設(shè)備可以是用于執(zhí)行圖像處理的獨立設(shè)備或者塊。
根據(jù)本法明,降低了計算成本,并且可以抑制由于基于塊的內(nèi)插而產(chǎn)生的圖像失真或通過內(nèi)插產(chǎn)生的像素和周圍像素之間的不匹配,從而用來改善圖像質(zhì)量。
圖1是示出根據(jù)現(xiàn)有技術(shù)的圖像處理設(shè)備的結(jié)構(gòu)的框圖;圖2是示出根據(jù)本發(fā)明實施例的圖像處理設(shè)備的結(jié)構(gòu)的框圖;圖3是示出圖1中示出的像素運動矢量檢測器的結(jié)構(gòu)的框圖;圖4是由圖1中示出的圖像處理設(shè)備執(zhí)行的圖像處理的流程圖;圖5是圖4中示出的步驟S2中的運動補償處理的流程圖;圖6是用于解釋主體塊和相鄰塊的圖;圖7是用于解釋塊大小的圖;圖8是用于解釋主體塊和相鄰塊的塊運動矢量的圖;圖9是用于解釋包括所產(chǎn)生的像素的所產(chǎn)生的場的圖;圖10是用于解釋用于計算差值的像素的圖;圖11是圖4中示出的步驟S3中的條件檢驗處理的流程圖;圖12是圖4中示出的步驟S4中的選擇處理的流程圖;圖13是示出了處理前的圖像的例子的圖;圖14是示出了通過根據(jù)現(xiàn)有技術(shù)的方法轉(zhuǎn)換圖13中示出的圖像的分辨率的例子的圖;圖15是示出了通過根據(jù)本實施例的方法轉(zhuǎn)換圖13中示出的圖像的分辨率的例子的圖;圖16是示出了像素運動矢量檢測器的另一結(jié)構(gòu)的圖;圖17是由包括圖16中示出的像素運動矢量檢測器的圖像處理設(shè)備執(zhí)行的圖像處理的流程圖;圖18是圖17中示出的步驟S72中的附加信息檢測處理的流程圖;圖19是用于解釋用作附加信息的、表示邊緣方向的碼的圖;圖20是用于解釋用作附加信息的、表示邊緣方向的碼的圖;
圖21是圖17中示出的步驟S73中的運動補償處理的流程圖;圖22是圖17中示出的步驟S74中的條件檢驗處理的流程圖;圖23是示出了像素運動矢量檢測器的另一結(jié)構(gòu)的圖;圖24是由包括圖23中示出的像素運動矢量檢測器的圖像處理設(shè)備執(zhí)行的圖像處理的流程圖;圖25是示出了塊運動矢量的另一例子的圖;圖26是圖24中示出的步驟S152中的運動矢量平滑處理的流程圖;圖27是用于解釋運動矢量平滑處理的圖;圖28是示出了像素運動矢量檢測器的另一結(jié)構(gòu)的圖;圖29是由圖28中示出的像素運動矢量檢測器執(zhí)行的條件檢驗處理的流程圖;圖30是圖29中示出的步驟S207中的運動矢量平滑處理的流程圖;圖31是由圖28中示出的像素運動矢量檢測器執(zhí)行的選擇處理的流程圖;和圖32是用于解釋記錄媒體的圖。
具體實施例方式
根據(jù)本發(fā)明的第一圖像處理設(shè)備包括塊運動矢量檢測器(例如,圖2中示出的塊運動矢量檢測器12),用于通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算器(例如,圖3中示出的運動補償器36),用于基于由塊運動矢量檢測器檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇器(例如,圖3中示出的條件檢驗器37),用于選擇使由差值計算器計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生器(例如,圖2中示出的圖像合成器22),用于基于由像素運動矢量選擇器選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
圖像處理設(shè)備還可以包括輔助信息產(chǎn)生器(例如,圖16中示出的當(dāng)前場附加信息檢測器51),用于為第一場上的像素和第二場上的像素產(chǎn)生各個輔助信息。在此情況下,像素運動矢量選擇器選擇如下的塊運動矢量之一作為主體像素的像素運動矢量,上述塊運動矢量之一使第一場上的像素的該條輔助信息和第二場上的像素的該條輔助信息彼此相符并且使由差值計算器計算的差值最小化。
圖像處理設(shè)備還可以包括像素運動矢量計算器(例如,圖27中示出的運動矢量平滑濾波器82),用于在第一場上的像素的該條輔助信息和第二場上的像素的該條輔助信息彼此不相符時,通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,從而計算主體像素的像素運動矢量。
根據(jù)本發(fā)明的第一圖像處理方法包括塊運動矢量檢測步驟(例如,圖4中示出的流程圖中的步驟S1),通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算步驟(例如,圖5中示出的流程圖中的步驟S13至S17),基于在塊運動矢量檢測步驟中檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇步驟(例如,圖4中示出的流程圖中的步驟S4),選擇使在差值計算步驟中計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生步驟(例如,圖4中示出的流程圖中的步驟S5),基于在像素運動矢量選擇步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二圖像處理設(shè)備包括塊運動矢量檢測器(例如,圖2中示出的塊運動矢量檢測器12),用于通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;像素運動矢量計算器(例如,圖23中示出的運動矢量平滑濾波器71),用于通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,計算主體像素的像素運動矢量;和像素產(chǎn)生器(例如,圖2中示出的圖像合成器22),用于基于由像素運動矢量計算器計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
根據(jù)本發(fā)明的第二圖像處理方法包括塊運動矢量檢測步驟(例如,圖25中示出的流程圖中的步驟S151),通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;像素運動矢量計算步驟(例如,圖25中示出的流程圖中的步驟S152),通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,計算主體像素的像素運動矢量;和像素產(chǎn)生步驟(例如,圖25中示出的流程圖中的步驟S153),基于在像素運動矢量計算步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
記錄媒體和程序的對應(yīng)關(guān)系與圖像處理方法的對應(yīng)關(guān)系相同,因而省略對其的描述。
圖2是示出根據(jù)本發(fā)明實施例的圖像處理設(shè)備20的結(jié)構(gòu)的圖。在圖2中示出的圖像處理設(shè)備20的結(jié)構(gòu)中,用相同的標號指示與圖1中示出的圖像處理設(shè)備1的結(jié)構(gòu)中的各部分相對應(yīng)的部分,并恰當(dāng)?shù)厥÷詫ζ涞拿枋觥?br>
像素運動矢量檢測器21基于作為輸入數(shù)據(jù)的當(dāng)前場數(shù)據(jù)、從圖像存儲器11-2提供的在前延遲場數(shù)據(jù)和從塊運動矢量檢測器12提供的塊運動矢量,產(chǎn)生各個像素的運動矢量,并給圖像合成器22提供像素運動矢量。
圖像合成器22基于作為輸入數(shù)據(jù)的當(dāng)前場數(shù)據(jù)、從圖像存儲器11-1提供的延遲場數(shù)據(jù)、從圖像存儲器11-2提供的在前延遲場數(shù)據(jù)和從像素運動矢量檢測器21提供的像素運動矢量,通過組合當(dāng)前場和在前延遲場來產(chǎn)生新場,并將新場輸出到處于隨后階段的設(shè)備中。
圖像合成器22輸出包括所產(chǎn)生的新場的數(shù)據(jù)。例如,在轉(zhuǎn)換掃描行的數(shù)量的處理中,圖像合成器22將輸入的隔行圖像轉(zhuǎn)換成逐行圖像并輸出逐行圖像,或者轉(zhuǎn)換分辨率或場頻率。處于隨后階段的設(shè)備指的是,例如,另一圖像處理設(shè)備、諸如電視接收機的圖像顯示設(shè)備,或諸如磁帶錄像機(VTR)的圖像記錄設(shè)備。
下面,將參照圖3詳細描述像素運動矢量檢測器21的結(jié)構(gòu)。
塊運動矢量存儲器31存儲從塊運動矢量檢測器12提供的塊運動矢量,并將包括主體塊的運動矢量和相鄰塊的運動矢量的多個運動矢量同時提供給運動補償器36。主體像素指的是要被處理的像素,并且主體塊指的是由包括要被處理的主體像素的多個像素構(gòu)成的塊。
當(dāng)前場數(shù)據(jù)預(yù)處理器32通過,例如,低通濾波器(LPF)來實現(xiàn)。當(dāng)前場數(shù)據(jù)預(yù)處理器32執(zhí)行用于消除噪聲對輸入到其中的當(dāng)前場數(shù)據(jù)的影響的預(yù)處理,并將從中消除了噪聲的預(yù)處理后的當(dāng)前場數(shù)據(jù)提供給當(dāng)前場數(shù)據(jù)緩沖器33。當(dāng)前場數(shù)據(jù)預(yù)處理器32不限于LPF,并且,例如,可以通過中值濾波器來實現(xiàn)?;蛘?,省略當(dāng)前場數(shù)據(jù)預(yù)處理器32,從而不執(zhí)行預(yù)處理。
當(dāng)前場數(shù)據(jù)緩沖器33存儲從當(dāng)前場數(shù)據(jù)預(yù)處理器32提供的預(yù)處理后的當(dāng)前場數(shù)據(jù)。例如,通過具有足夠保持處理所需的當(dāng)前場數(shù)據(jù)量的容量的存儲器來實現(xiàn)當(dāng)前場數(shù)據(jù)緩沖器33。當(dāng)前場數(shù)據(jù)緩沖器33響應(yīng)于來自運動補償器36的請求,隨機訪問該存儲器,并將讀取的數(shù)據(jù)提供給運動補償器36。
與當(dāng)前場數(shù)據(jù)預(yù)處理器32類似,通過例如LPF來實現(xiàn)在前延遲場數(shù)據(jù)預(yù)處理器34。在前延遲場數(shù)據(jù)預(yù)處理器34執(zhí)行用于消除噪聲對從圖像存儲器11-2提供的在前延遲場數(shù)據(jù)的影響的預(yù)處理,并將結(jié)果作為預(yù)處理后的在前延遲場數(shù)據(jù)提供給在前延遲場數(shù)據(jù)緩沖器35。
與當(dāng)前場數(shù)據(jù)緩沖器33類似,通過例如存儲器來實現(xiàn)在前延遲場數(shù)據(jù)緩沖器35。在前延遲場數(shù)據(jù)緩沖器35存儲從在前延遲場數(shù)據(jù)預(yù)處理器34提供的在前延遲場數(shù)據(jù)。在前延遲場數(shù)據(jù)緩沖器35響應(yīng)于來自運動補償器36的請求,隨機訪問該存儲器,并將讀取的在前延遲場數(shù)據(jù)提供給運動補償器36。
運動補償器36執(zhí)行運動補償處理。更具體地,運動補償器36從塊運動矢量存儲器31中讀取主體塊和多個相鄰塊的塊運動矢量。然后,對于每個運動矢量,運動補償器36計算在時間上先于和后于包括主體像素的場的在前延遲場和當(dāng)前場的像素的像素值之差,所述像素對應(yīng)于當(dāng)運動矢量經(jīng)過主體像素時位于該運動矢量開始和結(jié)束處的在前延遲場和當(dāng)前場上的點,并且將該差值作為運動矢量的差值數(shù)據(jù)輸出到條件檢驗器37。此時,運動補償器36還將與該差值數(shù)據(jù)相關(guān)的運動矢量提供給條件檢驗器37。
條件檢驗器37執(zhí)行條件檢驗處理。更具體地,條件檢驗器37選擇針對各個運動矢量計算的多個差值數(shù)據(jù)中最小的差值數(shù)據(jù),并將用于識別與最小的差值數(shù)據(jù)相關(guān)的運動矢量的選擇信號以及與該差值數(shù)據(jù)相關(guān)的運動矢量一起提供給像素矢量選擇器38。
像素矢量選擇器38執(zhí)行選擇處理。更具體地,像素矢量選擇器38基于從條件檢驗器37提供的選擇信號,選擇使差值數(shù)據(jù)最小化的塊運動矢量作為主體像素的像素運動矢量,并將該塊運動矢量輸出給圖像合成器22。
下面,將參照圖4中的流程圖描述由圖2中示出的圖像處理設(shè)備20執(zhí)行的圖像處理。
在步驟S1,塊運動矢量檢測器12基于輸入到其中的當(dāng)前場數(shù)據(jù)和從圖像存儲器11-2提供的在前延遲場數(shù)據(jù),通過塊匹配獲得各個塊的塊運動矢量,并將該塊運動矢量輸出到像素運動矢量檢測器21。用于檢測塊運動矢量的方法與根據(jù)相關(guān)技術(shù)的基于塊匹配的方法相同,從而省略對其的描述。
在步驟S2,像素運動矢量檢測器21的運動補償器36執(zhí)行運動補償處理,將處理所使用的塊運動矢量和相關(guān)的差值數(shù)據(jù)輸出到條件檢驗器37。
現(xiàn)在,將參照圖5中的流程圖描述由運動補償器36執(zhí)行的運動補償處理。
在步驟S11,運動補償器36將用于對處理的迭代次數(shù)進行計數(shù)的計數(shù)器y(未示出)初始化為0。在步驟S12,運動補償器36將用于對處理的迭代次數(shù)進行計數(shù)的計數(shù)器x(未示出)初始化為0。
在步驟S13,運動補償器36從當(dāng)前場數(shù)據(jù)緩沖器33讀取由當(dāng)前場數(shù)據(jù)預(yù)處理器32預(yù)處理的當(dāng)前場數(shù)據(jù),并從在前延遲場數(shù)據(jù)緩沖器35讀取由在前延遲場數(shù)據(jù)預(yù)處理器34預(yù)處理的在前延遲場數(shù)據(jù)。此外,運動補償器36基于包括主體塊并且包括與主體塊相鄰的多個塊的塊A至E中的塊A的塊運動矢量,獲得當(dāng)前場上的像素a_pr和在前延遲場上的像素a_de的像素值,并且還計算像素值之間的差值a_diff,將差值a_diff與用于計算的塊運動矢量a相關(guān)地輸出到條件檢驗器37,其中,圖5中要產(chǎn)生的主體像素(x,y)屬于所述主體塊,像素a_pr和像素a_de被用來產(chǎn)生主體像素(x,y)。在下面的描述中,包括主體像素的塊將被稱為主體塊,與主體塊相鄰的塊將被稱為相鄰塊,而包括主體像素的場將被稱為產(chǎn)生場。
更具體地,例如,當(dāng)包括主體像素的產(chǎn)生場的大小是xsize×ysize并且主體塊是如圖6所示的塊C(用黑色指示)時,相鄰塊是A、B、D和E四個塊(圖6中加陰影線的塊)。各個塊的大小是相同的,例如,如圖7所示的step_x×step_y。例如,主體塊和相鄰塊——即塊A至E——的塊運動矢量分別是如圖8所示的運動矢量a至e。
產(chǎn)生場暫時存在于在前延遲場和當(dāng)前場之間。假設(shè)在前延遲場和當(dāng)前場之間的距離是1,當(dāng)?shù)疆?dāng)前場的距離是α?xí)r,到在前延遲場的距離是(1-α),如圖9所示。
例如,當(dāng)塊A的塊運動矢量a是(Xa,Ya)時,用于產(chǎn)生主體像素(x,y)的當(dāng)前場上的像素a_pr和在前延遲場上的像素a_de分別是當(dāng)前場上坐標(x+α×Xa,y+α×Ya)處的像素和在前延遲場上坐標(x-(1-α)×Xa,y-(1-α)×Ya)處的像素,如圖10所示。
因此,當(dāng)塊運動矢量a是(Xa,Ya)時,運動補償器36計算當(dāng)前場上坐標(x+α×Xa,y+α×Ya)處的像素和在前延遲場上坐標(x-(1-α)×Xa,y-(1-α)×Ya)處的像素的像素值之間的差值a_diff,并將該差值a_diff與用于計算的塊運動矢量a相關(guān)地提供給條件檢驗器37。
也就是,運動補償器36計算在塊運動矢量a經(jīng)過產(chǎn)生場上的主體像素(x,y)時,在前延遲場上在位于圖10所示的塊運動矢量a開始處的點處的像素和當(dāng)前場上在位于圖10所示的塊運動矢量a終止處的點處的像素的像素值之間的差值,作為差值a_diff。
在步驟S14,類似于步驟S13,運動補償器36基于塊B的塊運動矢量b,計算用于產(chǎn)生主體像素(x,y)的、當(dāng)前場上的像素b_pr和在前延遲場上的像素b_de的像素值,還計算這些像素值之間的差值b_diff,并且將差值b_diff與用于計算的運動矢量b相關(guān)地輸出到條件檢驗器37。
在步驟S15,類似于步驟S13,運動補償器36基于塊C的塊運動矢量c,計算用于產(chǎn)生主體像素(x,y)的、當(dāng)前場上的像素c_pr和在前延遲場上的像素c_de的像素值,還計算這些像素值之間的差值c_diff,并且將差值c_diff與用于計算的運動矢量c相關(guān)地輸出到條件檢驗器37。
在步驟S16,類似于步驟S13,運動補償器36基于塊D的塊運動矢量d,計算用于產(chǎn)生主體像素(x,y)的、當(dāng)前場上的像素d_pr和在前延遲場上的像素d_de的像素值,還計算這些像素值之間的差值d_diff,并且將差值d_diff與用于計算的運動矢量d相關(guān)地輸出到條件檢驗器37。
在步驟S17,類似于步驟S13,運動補償器36基于塊E的塊運動矢量e,計算用于產(chǎn)生主體像素(x,y)的、當(dāng)前場上的像素e_pr和在前延遲場上的像素e_de的像素值,還計算這些像素值之間的差值e_diff,并且將差值e_diff與用于計算的運動矢量e相關(guān)地輸出到條件檢驗器37。
在步驟S18,運動補償器36確定計數(shù)器x的值是否是與關(guān)于水平方向的場的大小相對應(yīng)的xsize。當(dāng)確定計數(shù)器x的值不是xsize時,在步驟S19,運動補償器36將計數(shù)器x的值加1。然后該過程返回到步驟S13。
當(dāng)在步驟S18確定計數(shù)器x的值是xsize時,在步驟S20,運動補償器36確定計數(shù)器y的值是否是與關(guān)于垂直方向的場的大小相對應(yīng)的ysize。當(dāng)確定計數(shù)器y的值不是ysize時,在步驟S21,運動補償器36將計數(shù)器y的值加1。然后該過程返回到步驟S12,并重復(fù)隨后的步驟。
當(dāng)在步驟S20確定計數(shù)器y的值是ysize時,退出該過程。
也就是,對產(chǎn)生場上的每個像素重復(fù)步驟S13至S17,以計算產(chǎn)生場所屬的塊和相鄰塊的塊運動矢量的、在前延遲場上位于開始點處和當(dāng)前場上位于終止點處的像素值之間的差值a_diff至e_diff,并將差值a_diff至e_diff與用于計算的塊運動矢量相關(guān)地提供給條件檢驗器37。重復(fù)該過程,直到在步驟S18至S21確定該過程已經(jīng)對產(chǎn)生場上的所有像素執(zhí)行了該過程步驟。
現(xiàn)在,描述返回到圖4中示出的流程圖。
在步驟S4中執(zhí)行運動補償處理之后,在步驟S5,條件檢驗器37執(zhí)行條件檢驗處理,針對每個像素,給像素矢量選擇器38提供用于選擇用作像素運動矢量候選的塊運動矢量a至e之一的信號。
現(xiàn)在,將參照圖11所示的流程圖描述由條件檢驗器37執(zhí)行的條件檢驗處理。
在步驟S31,條件檢驗器37比較從運動補償器36提供的差值b_diff和d_diff,以確定差值b_diff是否小于差值d_diff。也就是,條件檢驗器37比較與主體塊水平相鄰的塊的差值b_diff和d_diff的大小。
當(dāng)在步驟S31確定差值b_diff小于差值d_diff時,在步驟S32,條件檢驗器37將差值b_diff設(shè)置為水平差值h_diff(即,h_diff=b_diff),并將運動矢量b設(shè)置為代表水平相鄰塊的運動矢量h(即,h=b)。
另一方面,當(dāng)在步驟S31確定差值b_diff不小于差值d_diff時,在步驟S33,條件檢驗器37將差值d_diff設(shè)置為水平差值h_diff(即,h_diff=d_diff),并將運動矢量d設(shè)置為代表水平相鄰塊的運動矢量h(即,h=d)。
在步驟S34,條件檢驗器37比較從運動補償器36提供的差值a_diff和e_diff,以確定差值a_diff是否小于差值e_diff。也就是,條件檢驗器37比較與主體塊垂直相鄰的塊的差值a_diff和e_diff的大小。
當(dāng)在步驟S34確定差值a_diff小于差值e_diff時,在步驟S35,條件檢驗器37將差值a_diff設(shè)置為垂直差值v_diff(即,v_diff=a_diff),并將運動矢量a設(shè)置為代表垂直相鄰塊的運動矢量v(即,v=a)。
另一方面,當(dāng)在步驟S34確定差值a_diff不小于差值e_diff時,在步驟S36,條件檢驗器37將差值e_diff設(shè)置為垂直差值v_diff(即,v_diff=e_diff),并將運動矢量e設(shè)置為代表垂直相鄰塊的運動矢量v(即,v=e)。
在步驟S37,條件檢驗器37確定差值c_diff是否小于預(yù)定閾值th。當(dāng)確定差值c_diff小于預(yù)定閾值th時,在步驟S38,條件檢驗器37將塊運動矢量c與選擇信號PSEL一起提供給像素矢量選擇器38,所述選擇信號PSEL具有指示已經(jīng)選擇了差值c_diff的值C。
另一方面,當(dāng)在步驟S37確定差值c_diff不小于閾值th時,在步驟S39,條件檢驗器37確定差值h_diff是否小于差值v_diff。當(dāng)確定差值h_diff小于差值v_diff時,該過程前進到步驟S40。
在步驟S40,條件檢驗器37確定差值h_diff是否小于預(yù)定閾值th。當(dāng)確定差值h_diff小于預(yù)定閾值th時,在步驟S41,條件檢驗器37將塊運動矢量h與選擇信號PSEL一起提供給像素矢量選擇器38,所述選擇信號PSEL具有指示已經(jīng)選擇了差值h_diff的值H。另一方面,當(dāng)在步驟S40確定差值h_diff不小于預(yù)定閾值th時,過程前進到步驟S38。
當(dāng)在步驟S39確定差值h_diff不小于差值v_diff時,在步驟S42,條件檢驗器37確定差值v_diff是否小于預(yù)定閾值th。當(dāng)確定差值v_diff小于預(yù)定閾值th時,在步驟S43,條件檢驗器37將塊運動矢量v與選擇信號PSEL一起提供給像素矢量選擇器38,所述選擇信號PSEL具有指示已經(jīng)選擇了差值v_diff的值V。另一方面,當(dāng)在步驟S42確定差值v_diff不小于預(yù)定閾值th時,過程前進到步驟S38。
也就是,通過步驟S31至S33,選擇主體塊和與主體塊水平相鄰的塊之間的差值中的較小差值作為水平差值,并且通過步驟S34至S36,選擇主體塊和與主體塊垂直相鄰的塊之間的差值中的較小差值作為垂直差值。
當(dāng)在步驟S37確定與主體塊相關(guān)的差值小于預(yù)定閾值th時,在步驟S38,將具有指示已經(jīng)選擇了差值c_diff的值C的選擇信號提供給像素矢量選擇器38。另一方面,當(dāng)在步驟S37確定與主體塊相關(guān)的差值不小于預(yù)定閾值th時,在步驟S39,選擇水平差值h_diff和垂直差值v_diff中的較小差值。當(dāng)在步驟S40和S42確定水平差值h_diff和垂直差值v_diff小于預(yù)定閾值th時,在步驟S41和S43,將具有分別指示已經(jīng)選擇了差值h_diff和v_diff的值H和V的選擇信號PSEL提供給像素矢量選擇器38。另一方面,當(dāng)在步驟S40和S42確定差值h_diff和v_diff不小于預(yù)定閾值th時,在步驟S38,將具有指示已經(jīng)選擇了差值c_diff的值C的選擇信號提供給像素矢量選擇器38。
因此,在差值a_diff至e_diff中,當(dāng)差值c_diff小于預(yù)定閾值th時,將選擇信號PSEL=C提供給像素矢量選擇器38。當(dāng)差值c_diff不小于預(yù)定閾值th時,將選擇信號PSEL=H或V提供給像素矢量選擇器38,上述選擇信號PSEL=H或V指示差值a_diff、b_diff、d_diff和e_diff中最小的且小于預(yù)定閾值th的差值。當(dāng)沒有差值小于預(yù)定閾值th時,將選擇信號PSEL=C提供給像素矢量選擇器38。
下面,將參照圖12中的流程圖描述由像素矢量選擇器38執(zhí)行的選擇處理。
在步驟S61,像素矢量選擇器38確定選擇信號PSEL是否具有值C。當(dāng)確定選擇信號PSEL具有值C時,在步驟S62,像素矢量選擇器38將塊運動矢量c設(shè)置為主體像素(x,y)的像素運動矢量,并將該像素運動矢量與該像素的位置信息一起輸出到圖像合成器22。
另一方面,當(dāng)在步驟S61確定選擇信號PSEL不具有值C時,在步驟S63,像素矢量選擇器38確定選擇信號是否具有值H。當(dāng)確定選擇信號具有值H時,在步驟S64,像素矢量選擇器38將塊運動矢量h(即,塊運動矢量b或d)設(shè)置為主體像素(x,y)的像素運動矢量,并將該像素運動矢量與該像素的位置信息一起輸出到圖像合成器22。
另一方面,當(dāng)在步驟S63確定選擇信號PSEL不具有值H時,即,當(dāng)確定選擇信號具有值V時,在步驟S65,像素矢量選擇器38將塊運動矢量v(即,塊運動矢量a或e)設(shè)置為主體像素(x,y)的像素運動矢量,并將該像素運動矢量與該像素的位置信息一起輸出到圖像合成器22。
通過上述過程,根據(jù)選擇信號來選擇像素運動矢量。
現(xiàn)在,描述返回到圖4中示出的流程圖。
在步驟S5,圖像合成器13基于像素運動矢量的信息,組合當(dāng)前場數(shù)據(jù)、延遲場數(shù)據(jù)和在前延遲場數(shù)據(jù),輸出已經(jīng)轉(zhuǎn)換了分辨率的圖像數(shù)據(jù)。例如,如圖10所示,當(dāng)產(chǎn)生場上的主體像素的像素運動矢量是塊運動矢量a時,對于產(chǎn)生場上的主體像素使用相關(guān)的像素運動矢量a,圖像合成器13使用當(dāng)像素運動矢量a經(jīng)過主體像素時位于像素運動矢量a開始和終止處的在前延遲場上的點和當(dāng)前場上的點處的像素的像素值,例如,通過采用像素值的平均值執(zhí)行場間內(nèi)插來產(chǎn)生像素,并按需要組合該結(jié)果與延遲場數(shù)據(jù)以產(chǎn)生圖像,并輸出該圖像。
通過上述過程,要產(chǎn)生的像素所屬的塊和相鄰塊的塊運動矢量被看作是要產(chǎn)生的像素的像素運動矢量的候選,并且通過將塊運動矢量用作候選,使實際用于場間內(nèi)插的像素的像素值之間的差值最小化的塊運動矢量之一——即,使通過場間內(nèi)插產(chǎn)生的新像素與用于場間內(nèi)插的像素最大程度相關(guān)的塊運動矢量之一——被選擇作為像素運動矢量。因此,使用像素運動矢量通過場間內(nèi)插產(chǎn)生的每個像素與周圍像素具有高相關(guān)性,從而與使用塊運動矢量的情況相比,形成了更自然的圖像。
此外,例如,在圖13中由白色框指示的區(qū)域的圖像的情況下,根據(jù)前述的相關(guān)技術(shù)的處理,由于在逐塊的基礎(chǔ)上選擇運動矢量,所以即使在一個像素和與塊相對應(yīng)的區(qū)域中的其它像素不同地進行運動(在圖13中,背景是靜止的,而人的肩膀是運動的)時,相同的運動矢量也被用于整個塊。因此,如圖14所示,在逐塊的基礎(chǔ)上使用在相應(yīng)位置上的當(dāng)前場和在前延遲場上的像素,從而,例如,階梯狀的粗糙表面(shaggy)可能出現(xiàn)在包括要產(chǎn)生的像素的圖像上。圖14和15用密度示出了關(guān)于水平方向的各個像素的運動矢量的大小。在圖14中,在用白色框指示的塊中示出了數(shù)值,該數(shù)值代表關(guān)于水平方向的各個塊中的像素的塊運動矢量的大小。在該例子中,主體塊具有值+12,較高的相鄰塊具有值0,較低的相鄰塊具有值+13,左邊的相鄰塊具有值-1,而右邊的相鄰塊具有值+12。如圖14中所示,盡管有運動像素存在的區(qū)域和沒有運動像素存在的區(qū)域共存于主體塊中,但是將相同的運動矢量應(yīng)用于整個主體塊。
相反,通過根據(jù)本實施例的處理,在逐個像素的基礎(chǔ)上選擇運動矢量,并且由于選擇運動矢量,使得使用周圍塊的塊運動矢量中使用于內(nèi)插的像素的像素值之間的差值最小化的運動矢量來產(chǎn)生像素,所以與周圍像素的相關(guān)性較高。例如,對于圖15中用白色框指示的主體塊中的有運動像素存在的區(qū)域和沒有運動像素存在的區(qū)域之間的邊界,為各個區(qū)域選擇不同的運動矢量。這用來實現(xiàn)所產(chǎn)生的像素的逼真度。
場被分成具有不同相位的兩種場,即,前場和后場。在前場中,像素存在于從最高的水平掃描行開始的每隔一行的行上,同時像素不存在于其它行上。在后場中,像素存在于從第二高的水平掃描行開始的每隔一行的行上,同時像素不存在于其它行上。也就是,像素所在的行在前場和后場之間相差一行。因此,在該例子中,當(dāng)前場和在前延遲場具有相同相位,同時延遲場具有與當(dāng)前場和在前延遲場不同的相位,其中像素排列移位了一行。
因此,當(dāng)將圖9中所示的α選擇為1/2時,產(chǎn)生場是延遲場本身。在此情況下,基于當(dāng)前場上和在前延遲場上的像素的信息,在延遲場上不存在像素的行上產(chǎn)生像素,并將所產(chǎn)生的像素與延遲場數(shù)據(jù)組合,從而將隔行圖像轉(zhuǎn)換成逐行圖像。
上述描述是在如下例子的情況下做出的其中除了主體塊的塊運動矢量之外,還將與主體塊水平和垂直相鄰的相鄰塊的塊運動矢量用作像素運動矢量的候選。然而,可以使用其他位置的相鄰塊,并且相鄰塊的數(shù)量不限于4個。例如,可以使用還包括主體塊之上左右對角處的塊和主體塊之下左右對角處的塊的8個相鄰塊。同時,可以將具有相同相位的不同場上的塊用作相鄰塊。例如,可以使用與主體塊相對應(yīng)的位置上的、具有與產(chǎn)生場相同相位并且在產(chǎn)生場之前和之后的塊,即,先于產(chǎn)生場兩場的場以及后于產(chǎn)生場兩場的場。
在圖3中所示的像素運動矢量檢測器21的情況下,根據(jù)上述的方法,當(dāng)使用多個塊運動矢量作為候選在逐個像素的基礎(chǔ)上獲得運動矢量時,例如,在包括類似形狀的重復(fù)或包括復(fù)雜形狀的圖像中,為了使用于場間內(nèi)插的像素的像素值之差小,即,為了使開始和終止于具有高相關(guān)性的像素的運動矢量被選擇作為像素運動矢量,可能會不正確地檢測像素運動矢量。當(dāng)將不正確的像素運動矢量用于場間內(nèi)插時,在包括通過內(nèi)插產(chǎn)生的像素的圖像中可能出現(xiàn)空間或時間的不連續(xù)性,這造成了圖像質(zhì)量的惡化。
因此,當(dāng)主體塊和相鄰塊的運動矢量被看作是像素運動矢量的候選并且選擇這些運動矢量之一時,除了與運動矢量相關(guān)且用于場間內(nèi)插的像素的像素值之差外,還可以使用基于附加信息的選擇條件,以提高選擇像素運動矢量的精確性。
圖16示出了像素運動矢量檢測器21的結(jié)構(gòu)。圖16示出的像素運動矢量檢測器21將主體塊和相鄰塊的塊運動矢量用作像素運動矢量的候選。當(dāng)選擇塊運動矢量之一時,除了與運動矢量相關(guān)且用于場間內(nèi)插的像素的像素值之差外,像素運動矢量檢測器21使用基于附加信息的選擇條件,從而可以更精確地選擇像素運動矢量。在圖16中,用相同的標號指示與圖3中所示的像素運動矢量檢測器21的各部分相對應(yīng)的部分,并恰當(dāng)?shù)厥÷詫ζ涞拿枋觥?br>
圖16示出的像素運動矢量檢測器21與圖3示出的像素運動矢量檢測器21的不同之處在于提供了當(dāng)前場附加信息檢測器51、當(dāng)前場附加信息緩沖器52、在前延遲場附加信息檢測器53和在前延遲場附加信息緩沖器54,并且還在于提供了運動補償器55和條件檢驗器56來代替運動補償器36和條件檢驗器37。
當(dāng)前場附加信息檢測器51獲得當(dāng)前場數(shù)據(jù),并根據(jù)預(yù)定的過程,計算代表每個像素的2維邊緣方向的碼,作為附加信息。當(dāng)前場附加信息檢測器51可以使用當(dāng)前場數(shù)據(jù)本身來計算代表每個像素的2維邊緣的方向的碼,如圖16所示?;蛘撸?dāng)前場附加信息檢測器51還可以使用由當(dāng)前場數(shù)據(jù)預(yù)處理器32預(yù)處理后的當(dāng)前場數(shù)據(jù),來計算代表每個像素的2維邊緣的方向的碼。
當(dāng)前場附加信息緩沖器52獲得并存儲從當(dāng)前場附加信息檢測器51提供的附加信息。響應(yīng)于來自運動補償器55的請求,當(dāng)前場附加信息緩沖器52給運動補償器55提供數(shù)據(jù)。
在前延遲場附加信息檢測器53獲得在前延遲場數(shù)據(jù),并根據(jù)預(yù)定的過程,計算代表每個像素的2維邊緣的方向的碼,作為附加信息。在前延遲場附加信息檢測器53還可以使用在前延遲場數(shù)據(jù)本身來計算代表每個像素的2維邊緣方向的碼,如圖16所示?;蛘?,在前延遲場附加信息檢測器53還可以使用由在前延遲場數(shù)據(jù)預(yù)處理器34預(yù)處理后的在前延遲場數(shù)據(jù),來計算代表每個像素的2維邊緣的方向的碼。
在前延遲場附加信息緩沖器54獲得并存儲從在前延遲場附加信息檢測器53提供的信息。響應(yīng)于來自運動補償器55的請求,在前延遲場附加信息緩沖器54給運動補償器55提供數(shù)據(jù)。
運動補償器55執(zhí)行與運動補償器36所執(zhí)行的基本相同的運動補償過程。除了給條件檢驗器56提供差值數(shù)據(jù)和塊運動矢量外,運動補償器55基于從當(dāng)前場附加信息緩沖器52獲得的附加信息和從在前延遲場附加信息緩沖器54獲得的附加信息,針對用作候選的每個塊運動矢量來比較用于場間內(nèi)插的像素的附加信息,并將比較結(jié)果輸出給條件檢驗器56。
條件檢驗器56執(zhí)行條件檢驗處理,以便考慮比較結(jié)果和差值數(shù)據(jù)而確定用于識別如下運動矢量的選擇信號,該運動矢量使差值小并且使比較結(jié)果指示匹配,將選擇信號和與差值數(shù)據(jù)相關(guān)的運動矢量提供給像素矢量選擇器38。
下面,將參照圖17中示出的流程圖描述由包括圖16中示出的像素運動矢量檢測器21的圖像處理設(shè)備20執(zhí)行的圖像處理。圖17中示出的步驟S71、S75和S76對應(yīng)于參照圖4中示出的流程圖描述的步驟S1、S4和S5,從而省略對其的描述。
在步驟S72,每個當(dāng)前場附加信息檢測器51和在前延遲場附加信息檢測器53執(zhí)行附加信息檢測處理,以便計算代表當(dāng)前場數(shù)據(jù)和在前延遲場數(shù)據(jù)中各個像素的邊緣方向的碼,并在當(dāng)前場附加信息緩沖器52和在前延遲場附加信息緩沖器54中存儲該碼。
現(xiàn)在,將參照圖18中示出的流程圖描述由當(dāng)前場附加信息檢測器51執(zhí)行的附加信息檢測處理。
在步驟S81,當(dāng)前場附加信息檢測器51計算代表當(dāng)前場上每個像素的水平邊緣存在或不存在的水平邊緣碼EH。例如,當(dāng)主體像素是如圖19所示的像素D(x,y)時,當(dāng)前場附加信息檢測器51計算主體像素和像素D(x-1,y)的像素值之差(D(x,y)-D(x-1,y)),作為水平邊緣碼EH,如圖19所見,像素D(x-1,y)在主體像素的左邊相鄰。
在步驟S82,當(dāng)前場附加信息檢測器51計算代表當(dāng)前場上每個像素的垂直邊緣存在或不存在的垂直邊緣碼EV。例如,當(dāng)主體像素是如圖19所示的像素D(x,y)時,當(dāng)前場附加信息檢測器51計算主體像素和像素D(x,y-1)的像素值之差(D(x,y)-D(x,y-1)),作為垂直邊緣碼EV,如圖19所見,像素D(x,y-1)在主體像素的上方相鄰。在圖19中,假設(shè)水平坐標值向右方增加,而垂直坐標值向下方增加。
在步驟S83,當(dāng)前場附加信息檢測器51基于水平邊緣碼EH和垂直邊緣碼EV的每個值是否為正、零或負,根據(jù)預(yù)定的表確定代表當(dāng)前場上每個像素的邊緣方向的碼,并在當(dāng)前場附加信息緩沖器52中與代表像素位置的信息相關(guān)地存儲代表邊緣方向的碼。
定義邊緣方向的碼的表是,例如,如圖20所示。該表基于水平邊緣碼EH和垂直邊緣碼EV的每個值是否為正、零或負,而定義邊緣方向。因此,當(dāng)使用圖20中所示的表時,當(dāng)水平邊緣碼EH和垂直邊緣碼EV都為零時,當(dāng)前場附加信息檢測器51確定沒有邊緣存在,從而選擇具有值0的碼。當(dāng)水平邊緣碼EH和垂直邊緣碼EV都為負時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的左上對角,從而選擇具有值1的碼。當(dāng)水平邊緣碼EH為零和垂直邊緣碼EV為負時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的上方,從而選擇具有值2的碼。當(dāng)水平邊緣碼EH為正和垂直邊緣碼EV為負時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的右上對角,從而選擇具有值3的碼。當(dāng)水平邊緣碼EH為正和垂直邊緣碼EV為零時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的右方,從而選擇具有值4的碼。當(dāng)水平邊緣碼EH和垂直邊緣碼EV都為正時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的右下對角,從而選擇具有值5的碼。當(dāng)水平邊緣碼EH為零和垂直邊緣碼EV為正時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的下方,從而選擇具有值6的碼。當(dāng)水平邊緣碼EH為負和垂直邊緣碼EV為正時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的左下對角,從而選擇具有值7的碼。當(dāng)水平邊緣碼EH為負和垂直邊緣碼EV為零時,當(dāng)前場附加信息檢測器51確定邊緣存在于主體像素的左方,從而選擇具有值8的碼。
通過上述過程,可以將基于當(dāng)前場數(shù)據(jù)的每個像素和相鄰像素的像素值的大小關(guān)系的代表邊緣存在的可能性的信息,作為代表邊緣方向的碼附加到每個像素上。雖然上面已經(jīng)描述了由當(dāng)前場附加信息檢測器51執(zhí)行的附加信息檢測處理,但是在前延遲場附加信息檢測器53也通過類似過程從在前延遲場中檢測附加信息,從而省略對該過程的描述。
現(xiàn)在,描述返回到圖17中示出的流程圖。
在步驟S72執(zhí)行附加信息檢測處理之后,在步驟S73,運動補償器55執(zhí)行運動補償處理,從而向條件檢驗器56輸出差值數(shù)據(jù)和比較結(jié)果。
現(xiàn)在,將參照圖21中示出的流程圖描述由運動補償器55執(zhí)行的運動補償處理。圖21中示出的流程圖中的步驟S101至S103、S105、S107、S109和S111以及S113至S116對應(yīng)于參照圖5描述的步驟S11至S21,從而省略對其的描述。
在步驟S104,運動補償器55比較代表像素a_pr和像素a_de的邊緣方向的碼,將比較結(jié)果code_a輸出到條件檢驗器56。更具體地,運動補償器55比較代表像素a_pr和像素a_de的邊緣方向的碼,并在這些碼匹配時將比較結(jié)果code_a=1輸出到條件檢驗器56,而在這些碼不匹配時輸出比較結(jié)果code_a=0。
在步驟S106,運動補償器55比較代表像素b_pr和像素b_de的邊緣方向的碼,將比較結(jié)果code_b輸出到條件檢驗器56。更具體地,運動補償器55比較代表像素b_pr和像素b_de的邊緣方向的碼,并在這些碼匹配時將比較結(jié)果code_b=1輸出到條件檢驗器56,而在這些碼不匹配時輸出比較結(jié)果code_b=0。
在步驟S108,運動補償器55比較代表像素c_pr和像素c_de的邊緣方向的碼,將比較結(jié)果code_c輸出到條件檢驗器56。更具體地,運動補償器55比較代表像素c_pr和像素c_de的邊緣方向的碼,并在這些碼匹配時將比較結(jié)果code_c=1輸出到條件檢驗器56,而在這些碼不匹配時輸出比較結(jié)果code_c=0。
在步驟S110,運動補償器55比較代表像素d_pr和像素d_de的邊緣方向的碼,將比較結(jié)果code_d輸出到條件檢驗器56。更具體地,運動補償器55比較代表像素d_pr和像素d_de的邊緣方向的碼,并在這些碼匹配時將比較結(jié)果code_d=1輸出到條件檢驗器56,而在這些碼不匹配時輸出比較結(jié)果code_d=0。
在步驟S112,運動補償器55比較代表像素e_pr和像素e_de的邊緣方向的碼,將比較結(jié)果code_e輸出到條件檢驗器56。更具體地,運動補償器55比較代表像素e_pr和像素e_de的邊緣方向的碼,并在這些碼匹配時將比較結(jié)果code_e=1輸出到條件檢驗器56,而在這些碼不匹配時輸出比較結(jié)果code_e=0。
通過上述過程,運動補償器55將代表用于針對各相關(guān)塊運動矢量進行幀間內(nèi)插的像素之間的邊緣方向的碼的比較結(jié)果,與作為候選的主體塊和相鄰塊的每個塊運動矢量的差值數(shù)據(jù)一起,輸出給條件檢驗器56。
現(xiàn)在,描述返回到圖17中示出的流程圖。
在步驟74,條件檢驗器56執(zhí)行條件檢驗處理。
現(xiàn)在將參照圖22中示出的流程圖描述由條件檢驗器56執(zhí)行的條件檢驗處理。
在步驟S131,條件檢驗器56按升序?qū)Σ钪礱_diff、b_diff、d_diff、和e_diff排序。在下面的描述中,假設(shè)將差值排序為按升序的a_diff、b_diff、d_diff、和e_diff。然而,應(yīng)該明白順序不限于該順序。
在步驟S132,條件檢驗器56從在步驟S131排序的a_diff、b_diff、d_diff、和e_diff中選擇最小的差值。在此情況下,選擇差值a_diff。
在步驟S133,條件檢驗器56確定所選擇的差值是否是a_diff或e_diff,即與主體塊垂直相鄰的塊之一相關(guān)的差值。在此情況下,確定所選擇的差值是差值a_diff,并且該過程前進到步驟S134。
在步驟S134,條件檢驗器56將所選擇的值,即差值a_diff或e_diff,設(shè)置為垂直差值v_diff(即,v_diff=a_diff或e_diff),將與該差值相關(guān)的運動矢量a或e設(shè)置為垂直相鄰塊的代表運動矢量v(即,v=a或e),并將與該差值相關(guān)的比較結(jié)果code_a或code_e設(shè)置為比較結(jié)果code_v(即,code_v=code_a或code_e)。在此情況下,由于選擇了差值a_diff,所以將差值a_diff設(shè)置為垂直差值v_diff,將運動矢量a設(shè)置為垂直相鄰塊的代表運動矢量v,并將比較結(jié)果code_a設(shè)置為比較結(jié)果code_v。
另一方面,當(dāng)在步驟S133確定沒有選擇差值a_diff或e_diff時,在步驟S135,條件檢驗器56將所選擇的值,即差值b_diff或d_diff,設(shè)置為水平差值h_diff(即,h_diff=b_diff或d_diff),將與該差值相關(guān)的運動矢量b或d設(shè)置為水平相鄰塊的代表運動矢量h(即,h=b或d),并將與該差值相關(guān)的比較結(jié)果code_b或code_d設(shè)置為比較結(jié)果code_h(即,code_h=code_b或code_d)。
在步驟S136,條件檢驗器56確定差值c_diff是否小于預(yù)定閾值th且比較結(jié)果code_c是否為1。當(dāng)差值c_diff小于預(yù)定閾值th且比較結(jié)果code_c為1時,在步驟S137,條件檢驗器56將塊運動矢量c與具有指示已經(jīng)選擇了差值c_diff的值C的選擇信號PSEL一起提供給像素矢量選擇器38。也就是,當(dāng)主體塊的差值c_diff小于預(yù)定閾值th且比較結(jié)果code_c為1時(即,當(dāng)與塊運動矢量c經(jīng)過主體像素時位于塊運動矢量c開始和終止處的、在前延遲場和當(dāng)前場上的點相對應(yīng)的像素之間,邊緣方向重合時),選擇主體塊的塊運動矢量c。
當(dāng)在步驟S137確定差值c_diff不小于預(yù)定閾值th或比較結(jié)果code_c不為1時,在步驟S138,條件檢驗器56確定所選擇的差值是否為h_diff。在此情況下,差值v_diff是差值a_diff,而不是差值h_diff,從而過程前進到步驟S142。
在步驟S142,條件檢驗器56確定差值v_diff是否小于預(yù)定閾值th。當(dāng)差值v_diff小于預(yù)定閾值th時,在步驟S143,條件檢驗器56確定code_v是否為1。當(dāng)確定code_v為1時,在步驟S144,條件檢驗器56將塊運動矢量v與具有指示已經(jīng)選擇了差值v_diff的值V的選擇信號PSEL一起提供給像素矢量選擇器38。當(dāng)在步驟S142確定差值v_diff不小于預(yù)定閾值th時,過程前進到步驟S137。
當(dāng)在步驟S138確定所選擇的差值是差值h_diff時,在步驟S139,條件檢驗器56確定差值h_diff是否小于預(yù)定閾值th。當(dāng)確定差值h_diff小于預(yù)定閾值th時,在步驟S140,條件檢驗器56確定code_h是否為1。當(dāng)確定code_h為1時,在步驟S141,條件檢驗器56將塊運動矢量h與具有指示已經(jīng)選擇了差值h_diff的值H的選擇信號PSEL一起提供給像素矢量選擇器38。當(dāng)在步驟S139確定差值h_diff不小于預(yù)定閾值th時,過程前進到步驟S137。
當(dāng)在步驟S140確定code_h不為1時或當(dāng)在步驟S143確定code_v不為1時,在步驟S145,條件檢驗器56確定是否剩余兩個或更多的候選塊運動矢量。在此情況下,剩余與差值a_diff、b_diff、d_diff和e_diff相關(guān)的4個塊運動矢量a、b、d和e,從而確定剩余了兩個或更多的候選,并且過程前進到步驟S146。
在步驟S146,條件檢驗器56從候選中除去與目前最小的差值相關(guān)的運動矢量,并且過程返回到步驟S132。在此情況下,由于差值a_diff是最小的,所以從候選中除去相關(guān)的運動矢量a。
在步驟S132,由于已經(jīng)從候選中除去了運動矢量a,所以選擇在差值a_diff之后最小的差值b_diff,并重復(fù)隨后的步驟。然后,依次執(zhí)行在步驟S132至S136、S138至S140、S142、S143、S145和S146,從而除去候選運動矢量b。然后,在步驟S132選擇差值d_diff,并重復(fù)隨后的步驟。
然后,依次執(zhí)行步驟S132至S136、S138至S140、S142、S143和S145,從而在步驟S145確定沒有剩余兩個或更多的候選。然后,過程前進到步驟S137。
也就是,當(dāng)主體塊的差值c_diff小于預(yù)定閾值th且比較結(jié)果code_c為1時,條件檢驗器56輸出選擇信號PSEL=C。當(dāng)主體塊的差值c_diff小于預(yù)定閾值th且比較結(jié)果code_c不為1時,條件檢驗器56輸出選擇信號PSEL=H或V,該選擇信號PSEL=H或V與具有比較結(jié)果1且是最小的差值a_diff、b_diff、d_diff和e_diff之一相對應(yīng)。當(dāng)主體塊的差值c_diff小于預(yù)定閾值th、比較結(jié)果不為1且沒有其他候選的比較結(jié)果為1時,條件檢驗器56輸出選擇信號PSEL=C。
因此,除了與塊運動矢量經(jīng)過主體像素時位于作為像素運動矢量候選的每個塊運動矢量開始和終止處的、在前延遲場和當(dāng)前場上的點相對應(yīng)的像素的像素值之差外,在從作為候選的主體塊和相鄰塊的塊運動矢量中選擇最佳的塊運動矢量作為像素運動矢量時,還考慮像素的邊緣方向是否匹配。因此,即使在包括精致形狀或重復(fù)形狀的圖像中,也可以在逐個像素的基礎(chǔ)上精確地確定運動矢量。
在上述例子中,除了與塊運動矢量經(jīng)過主體像素時位于作為像素運動矢量候選的每個塊運動矢量開始和終止處的、在前延遲場和當(dāng)前場上的點相對應(yīng)的像素的像素值之差外,在從作為候選的主體塊和相鄰塊的塊運動矢量中選擇最佳的塊運動矢量作為像素運動矢量時,考慮像素的邊緣方向是否匹配。然而,根據(jù)上述方法,限制了可以被選為像素運動矢量的運動矢量。因此,盡管可能降低在諸如分辨率轉(zhuǎn)換或隔行圖像到逐行圖像的轉(zhuǎn)換等的圖像處理中產(chǎn)生不逼真像素的可能性,但是在諸如場頻率轉(zhuǎn)換或幀數(shù)量轉(zhuǎn)換等產(chǎn)生最初不存在的場的圖像處理的情況下,運動矢量的精確性直接反映在所產(chǎn)生的圖像上。這可能在不能精確檢測某些運動矢量時阻止了場的精確產(chǎn)生。
為了避免這種情況,可以通過根據(jù)與主體像素的各個距離使主體像素周圍的候選運動矢量平滑,而基于與周圍圖像的相關(guān)性來計算每個像素的運動矢量。
圖23示出了像素運動矢量檢測器21的結(jié)構(gòu),該像素運動矢量檢測器21通過根據(jù)與主體像素的各個距離使主體像素周圍的候選運動矢量平滑,來計算每個像素的運動矢量,從而基于與周圍圖像的相關(guān)性來產(chǎn)生像素。用相同的標號指示與圖3或圖16中所示的像素運動矢量檢測器21的各部分相對應(yīng)的圖23中所示的像素運動矢量檢測器21的部分,并恰當(dāng)?shù)厥÷詫ζ涞拿枋觥?br>
圖23中所示的像素運動矢量檢測器21包括塊運動矢量存儲器31和運動矢量平滑濾波器71。
運動矢量平滑濾波器71將主體塊和相鄰塊的各個塊運動矢量假設(shè)為具有位于各個塊中心處的開始點的矢量(不必必須是中心,也可以是用作參考位置的其他位置)。對于產(chǎn)生場上的每個像素,運動矢量平滑濾波器71采用根據(jù)與塊運動矢量的各個開始位置的距離而被乘以系數(shù)的相鄰塊的塊運動矢量的線性組合,來平滑與主體像素相鄰的塊的塊運動矢量,并產(chǎn)生像素運動矢量,將該像素運動矢量輸出給圖像合成器22。
下面,將參照圖24中示出的流程圖描述由包括圖23中示出的像素運動矢量檢測器21的圖像處理設(shè)備20執(zhí)行的圖像處理。圖24中示出的流程圖的步驟S151和S153對應(yīng)于圖4中示出的流程圖的步驟S1和S5,從而省略對其的描述。此外,為了便于描述,假設(shè)如圖25所示來選擇主體塊和相鄰塊。也就是,主體塊是塊E,而相鄰塊是A至D和F至I,且這些塊A至I的各塊運動矢量分別用a至i表示。
在步驟S152,運動矢量平滑濾波器71讀取在塊運動矢量存儲器31中存儲的運動矢量,并執(zhí)行運動矢量平滑處理。
現(xiàn)在,將參照圖26中示出的流程圖描述由運動矢量平滑濾波器71執(zhí)行的運動矢量平滑處理。
在步驟S161,運動矢量平滑濾波器71選擇其中還沒有計算各個像素的像素運動矢量的塊來作為主體塊,并從塊運動矢量存儲器31中讀取與相鄰塊A至I相關(guān)的塊運動矢量a至i。例如,在這里假設(shè)主體塊和相鄰塊是如圖27中所示的3塊×3塊,并且每個塊的大小是step_x×step_y。如圖27中所見,主體塊——即塊E——的左上角用作原點,且x方向水平向右延伸,而y方向垂直向下延伸。在圖27中,在各個塊的中心處的黑點指示各個塊的中心位置。在計算主體塊中各個像素的像素運動矢量的情況下描述該過程。
在步驟S162,運動矢量平滑濾波器71初始化計數(shù)器y(未示出)。在步驟S163,運動矢量平滑濾波器71初始化計數(shù)器x(未示出)。
在步驟S164,運動矢量平滑濾波器71確定計數(shù)器y的值是否小于step_y/2。當(dāng)確定計數(shù)器y的值小于step_y/2時,即當(dāng)主體像素(x,y)存在于主體塊的垂直中心之上時,在步驟S165,運動矢量平滑濾波器71計算下列等式(1)vv0=b×(step_y/2-y)+e×(step_y/2+y)(1)其中b和e分別指示塊運動矢量b和e。也就是,在等式(1)中,塊運動矢量b和e的線性組合vv0是使用與主體像素與塊B和E的各個中心之間的垂直距離相適應(yīng)的加權(quán)系數(shù)來計算的。
在步驟S166,運動矢量平滑濾波器71確定計數(shù)器x的值是否小于step_x/2。當(dāng)確定計數(shù)器x的值小于step_x/2時,即當(dāng)主體像素存在于主體塊的水平中心的左側(cè)時,在步驟S167,運動矢量平滑濾波器71計算下列等式(2)vv1=a×(step_y/2-y)+d×(step_y/2+y)(2)其中a和d分別指示塊運動矢量a和d。也就是,在等式(2)中,塊運動矢量a和d的線性組合vv1是使用與主體像素與塊A和D的各個中心之間的垂直距離相適應(yīng)的加權(quán)系數(shù)來計算的。
在步驟S168,運動矢量平滑濾波器71計算下列等式(3)pv(x,y)=vv1×(step_x/2-x)+vv0×(step_x/2+x)(3)
也就是,在等式(3)中,使用與主體像素與塊E和D的各個中心之間的水平距離(等于主體像素與塊A和B的各個中心之間的距離)相適應(yīng)的加權(quán)系數(shù),來計算塊運動矢量vv0和vv1的線性組合,作為主體像素的像素運動矢量pv(x,y)。在此情況下,使用與根據(jù)主體像素與塊A和B的各個中心之間的水平距離相適應(yīng)的加權(quán)系數(shù),來計算塊運動矢量b和e的線性組合vv0與塊運動矢量a和d的線性組合vv1的線性組合。
因此,當(dāng)主體像素存在于主體塊的左上部分中時,通過步驟S165、S167和S168,使用與該像素與塊A、B、D和E的各個中心之間的距離相適應(yīng)的加權(quán)系數(shù),將每個像素的像素運動矢量計算為矢量a、b、d和e的線性組合。
當(dāng)在步驟S164確定計數(shù)器y的值不小于step_y/2時,即當(dāng)主體像素存于主體塊的垂直中心之下時,在步驟S171,運動矢量平滑濾波器71計算下列等式(4)vv0=e×(step_y×3/2-y)+h×(step_y/2+y)(4)其中e和h分別指示塊運動矢量e和h。也就是,在等式(4)中,塊運動矢量e和h的線性組合vv0是使用與主體像素與塊E和H的各個中心之間的距離相適應(yīng)的加權(quán)系數(shù)來計算的。
在步驟S172,運動矢量平滑濾波器71確定計數(shù)器x的值是否小于step_x/2。當(dāng)確定計數(shù)器x的值小于step_x/2時,即當(dāng)主體像素存在于主體塊的水平中心的左側(cè)時,在步驟S173,運動矢量平滑濾波器71計算下列等式(5),然后前進到步驟S168vv1=d×(step_y×3/2-y)+g×(step_y/2+y)(5)其中d和g分別指示塊運動矢量d和g。也就是,在等式(5)中,塊運動矢量d和g的線性組合vv1是使用與主體像素與塊D和G的各個中心之間的垂直距離相適應(yīng)的加權(quán)系數(shù)來計算的。
因此,當(dāng)主體像素存在于主體塊的左下部分中時,通過步驟S171、S173和S168,使用與該像素與塊D、E、G和H的各個中心之間的距離相適應(yīng)的加權(quán)系數(shù),將每個像素的像素運動矢量計算為矢量d、e、g和h的線性組合。
當(dāng)在步驟S166確定計數(shù)器x的值不小于step_x/2時,即當(dāng)主體像素存在于主體塊的水平中心的右側(cè)時,在步驟S176,運動矢量平滑濾波器71計算下列等式(6)
vv1=c×(step_y/2-y)+f×(step_y/2+y)(6)其中c和f分別指示塊運動矢量c和f。也就是,在等式(6)中,塊運動矢量c和f的線性組合vv1是使用與主體像素與塊C和F的各個中心之間的垂直距離相適應(yīng)的加權(quán)系數(shù)來計算的。
在步驟S175,運動矢量平滑濾波器71計算下列等式(7)pv(x,y)=vv0×(step_x×3/2-x)+vv1×(step_x/2+x)(7)也就是,在等式(7)中,根據(jù)主體像素與塊B和C的各個中心之間的水平距離(等于主體像素和塊E和F的各個中心之間的水平距離),計算塊運動矢量vv0和vv1的線性組合,來作為主體像素的像素運動矢量pv(x,y)。
因此,當(dāng)主體像素存在于主體塊的右上部分中時,通過步驟S165、S176和S175,使用與該像素與塊B、C、E和F的各個中心之間的距離相適應(yīng)的加權(quán)系數(shù),將每個像素的像素運動矢量計算為矢量b、c、e和f的線性組合。
當(dāng)在步驟S172確定計數(shù)器x的值不小于step_x/2時,即當(dāng)主體像素存在于主體塊的水平中心的右側(cè)時,在步驟S174,運動矢量平滑濾波器71計算下列等式(8),并且該過程前進到步驟S175vv1=f×(step_y×3/2-y)+i×(step_y/2+y)(8)其中f和i分別指示塊運動矢量f和i。也就是,在等式(8)中,塊運動矢量f和i的線性組合vv1是使用與主體像素與塊F和I的各個中心之間的垂直距離相適應(yīng)的加權(quán)系數(shù)來計算的。
因此,當(dāng)主體像素存在于主體塊的右下部分中時,通過步驟S171、S174和S175,根據(jù)該像素與塊E、F、H和I的各個中心之間的距離,將每個像素的像素運動矢量計算為帶有加權(quán)值的矢量e、f、h和i的線性組合。
在步驟S169,確定計算器x的值是否是與場圖像的水平大小相對應(yīng)的xsize。當(dāng)確定計算器x的值不是xsize時,該過程前進到步驟S170,在該步驟中運動矢量平滑濾波器71將計算器x加1。然后,該過程返回到步驟S164。
另一方面,當(dāng)在步驟S169確定計算器x的值是xsize時,即當(dāng)確定已經(jīng)計算了主體塊的一條水平行上的各個像素的像素運動矢量時,該過程前進到步驟S177,在該步驟中,運動矢量平滑濾波器71確定計算器y的值是否是與場圖像的垂直大小相對應(yīng)的ysize。當(dāng)確定計算器y的值不是ysize時,在步驟S178,運動矢量平滑濾波器71將計算器y加1。然后,該過程返回到步驟S163。
另一方面,當(dāng)在步驟S177確定計算器y的值是ysize時,即當(dāng)確定已經(jīng)為塊中的所有像素計算了像素運動矢量時,在步驟S179,運動矢量平滑濾波器71確定是否已經(jīng)為所有塊計算了像素運動矢量。當(dāng)確定還沒有為所有塊完成該過程時,該過程返回到步驟S161,并且重復(fù)隨后的步驟。當(dāng)在步驟S177確定已經(jīng)為所有塊完成該過程時,退出該過程。
利用上述過程,通過計算乘以系數(shù)的運動矢量的線性組合——該系數(shù)與主體塊右上部分中的每個像素與上方、右上對角和向右相鄰的塊的各個中心之間的距離相適應(yīng),來平滑主體塊及這些相鄰塊的運動矢量,從而確定主體塊右上部分中的每個像素的像素運動矢量。通過計算乘以系數(shù)的運動矢量的線性組合——該系數(shù)與主體塊右下部分中的每個像素與下方、右下對角和向右相鄰的塊的各個中心之間的距離相適應(yīng),來平滑主體塊及這些塊的運動矢量,從而確定主體塊右下部分中的每個像素的像素運動矢量。通過計算乘以系數(shù)的運動矢量的線性組合——該系數(shù)與主體塊左上部分中的每個像素與上方、左上對角和向左相鄰的塊的各個中心之間的距離相適應(yīng),來平滑主體塊及這些塊的運動矢量,從而確定主體塊左上部分中的每個像素的像素運動矢量。通過計算乘以系數(shù)的運動矢量的線性組合——該系數(shù)與主體塊左下部分中的每個像素與下方、左下對角和向左相鄰的塊的各個中心之間的距離相適應(yīng),來平滑主體塊及這些塊的運動矢量,從而確定主體塊左下部分中的每個像素的像素運動矢量。
因此,通過根據(jù)各個距離來組合空間分布的塊運動矢量,來產(chǎn)生像素運動矢量。因此,可以在降低計算成本的同時,以較少的檢測誤差產(chǎn)生像素運動矢量。
雖然在上述例子中組合了4個塊的塊運動矢量來產(chǎn)生單個像素運動矢量,但是可以計算被乘以與距離相適應(yīng)的系數(shù)的、更多個塊的塊運動矢量的線性組合。
雖然在上述例子中組合同一場中的塊運動矢量,但是可以使用除包括主體塊的場之外的場中的塊運動矢量。例如,可以計算內(nèi)乘以與場間隔相適應(yīng)的系數(shù)的、在包括主體塊的場以及先于和后于該場2場的場中位于相應(yīng)位置處的塊的塊運動矢量的線性組合。
此外,可以組合圖3或圖16中示出的像素運動矢量檢測器21的結(jié)構(gòu)和圖23中示出的像素運動矢量檢測器21的結(jié)構(gòu)。在此情況下,例如,當(dāng)在圖22中示出的流程圖中的步驟S145中用盡了作為候選的塊運動矢量而不能選擇出像素運動矢量時,通過平滑來計算像素運動矢量。
圖28示出了通過組合圖16中示出的像素運動矢量檢測器21的結(jié)構(gòu)和圖23中示出的像素運動矢量檢測器21的結(jié)構(gòu)而實現(xiàn)的像素運動矢量檢測器21的結(jié)構(gòu)。
圖28中示出的像素運動矢量檢測器21的結(jié)構(gòu)基本上與圖16中示出的像素運動矢量檢測器21的結(jié)構(gòu)相同。然而,還提供了運動矢量平滑濾波器82,并且提供了條件檢驗器81和像素矢量選擇器83,來代替條件檢驗器56和像素矢量選擇器57。條件檢驗器81基本上與條件檢驗器56相同。然而,當(dāng)用盡了作為候選的塊運動矢量而不能選擇像素運動矢量時,針對像素運動矢量而激活運動矢量平滑濾波器82。運動矢量平滑濾波器82基本上與運動矢量平滑濾波器71相同。像素矢量選擇器83基本上與像素矢量選擇器57相同。然而,當(dāng)選擇像素運動矢量時,允許像素矢量選擇器83選擇由運動矢量平滑濾波器82平滑后的運動矢量。
除了條件檢驗處理和選擇處理之外,由包括圖28中示出的像素運動矢量檢測器21的圖像處理設(shè)備執(zhí)行的圖像處理與圖4中示出的流程圖中的圖像處理相同。因此,將僅僅參照圖29至31中示出的流程圖描述由圖28示出的像素運動矢量檢測器21執(zhí)行的條件檢驗處理和選擇處理。圖29中示出的流程圖中的步驟S191至S206對應(yīng)于圖22中示出的流程圖中的步驟S131至S146,從而省略對其的描述。
在步驟S207,運動矢量平滑濾波器82基于從條件檢驗器81接收的指令,執(zhí)行運動矢量平滑處理。
圖30中示出的流程圖示出了由運動矢量平滑濾波器82執(zhí)行的運動矢量平滑處理。圖30中示出的流程圖中的步驟S221至S231對應(yīng)于圖26中示出的流程圖中的步驟S161和S164至S175,從而省略對其的描述。
下面,參照圖31中示出的流程圖描述由圖28中示出的像素運動矢量檢測器21執(zhí)行的選擇處理。圖31中示出的流程圖中的步驟S251至S254和S256對應(yīng)于圖12中示出的流程圖中的步驟S61至S65,從而省略對其的描述。
在步驟S255,像素矢量選擇器83確定選擇信號PSEL是否具有值V。當(dāng)確定選擇信號PSEL具有值V時,過程前進到步驟S256。另一方面,當(dāng)在步驟S255確定選擇信號PSEL不具有值V時,在步驟S257,像素矢量選擇器83選擇從運動矢量平滑濾波器82提供的運動矢量來作為像素運動矢量。
通過上述過程,當(dāng)用盡了作為候選的塊運動矢量而不能夠選擇出像素運動矢量時,通過平滑來計算像素運動矢量,從而可以更穩(wěn)定地獲得像素運動矢量。
上述的一系列處理可以通過硬件或軟件來執(zhí)行。當(dāng)通過軟件來執(zhí)行一系列處理時,構(gòu)成該軟件的程序被安裝在嵌入專用硬件中的計算機上,或從記錄媒體安裝到允許通過安裝在其上的各種程序執(zhí)行各種功能的通用個人計算機等中。
圖32示出了根據(jù)本發(fā)明實施例的個人計算機的結(jié)構(gòu),其中用軟件實現(xiàn)圖2中示出的圖像處理設(shè)備20的電結(jié)構(gòu)。該個人計算機的中央處理單元(CPU)501控制個人計算機的全部操作。一旦經(jīng)總線504和輸入/輸出接口505從包括例如鍵盤和鼠標的輸入單元506接收由用戶輸入的命令,CPU 501執(zhí)行在只讀存儲器(ROM)502中存儲的相應(yīng)程序?;蛘?,CPU 501將從與驅(qū)動器510相連的磁盤521、光盤522、磁光盤523、或半導(dǎo)體存儲器524中讀取的并被安裝在存儲單元508中的程序裝入到隨機存取存儲器(RAM)503中,并執(zhí)行該程序。因此,用軟件實現(xiàn)圖2中示出的圖像處理設(shè)備20的功能。此外,CPU 501控制通信單元509與外部設(shè)備通信和交換數(shù)據(jù)。
程序可以被記錄在與計算機獨立分發(fā)以便給用戶提供程序的記錄媒體上,例如,諸如如圖32中所示的磁盤521(例如,軟盤)、光盤522(例如,光盤只讀存儲器(CD-ROM)或數(shù)字通用盤(DVD))、磁光盤523(例如,迷你盤(MD))或半導(dǎo)體存儲器524等的封裝媒體?;蛘?,載有程序的記錄媒體可以是ROM 502或包括在存儲單元508中的硬盤,它們被包括在計算機中提供給用戶。
不必必須按所述次序來順序地執(zhí)行根據(jù)記錄在記錄媒體上的程序而執(zhí)行的步驟,并且所述步驟可以包括并行或單獨執(zhí)行的步驟。
權(quán)利要求
1.一種圖像處理設(shè)備,包括塊運動矢量檢測裝置,用于通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算裝置,用于基于由塊運動矢量檢測裝置檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇裝置,用于選擇使由差值計算裝置計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生裝置,用于基于由像素運動矢量選擇裝置選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
2.如權(quán)利要求1所述的圖像處理設(shè)備,還包括輔助信息產(chǎn)生裝置,用于為第一場上的像素和第二場上的像素產(chǎn)生各個輔助信息,其中,像素運動矢量選擇裝置選擇如下的塊運動矢量之一作為主體像素的像素運動矢量,該塊運動矢量之一使第一場上的像素的輔助信息和第二場上的像素的輔助信息彼此相符,并且使由差值計算裝置計算的差值最小化。
3.如權(quán)利要求2所述的圖像處理設(shè)備,其中,各個輔助信息是表示各個像素的邊緣方向的碼。
4.如權(quán)利要求2所述的圖像處理設(shè)備,還包括像素運動矢量計算裝置,用于在第一場上的像素的輔助信息和第二場上的像素的輔助信息彼此不相符時,通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量。
5.一種圖像處理方法,包括塊運動矢量檢測步驟,通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算步驟,基于在塊運動矢量檢測步驟中檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇步驟,選擇使在差值計算步驟中計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生步驟,基于在像素運動矢量選擇步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
6.一種記錄媒體,其上記錄有計算機可讀程序,包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;差值計算控制步驟,控制基于在塊運動矢量檢測控制步驟中檢測的每個塊運動矢量,對第一場上的像素和第二場上的像素的像素值之差的計算,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇控制步驟,控制選擇使在差值計算控制步驟中計算的差值最小化的塊運動矢量之一,來作為主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量選擇控制步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
7.一種用于使計算機執(zhí)行處理的程序,包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;差值計算控制步驟,控制基于在塊運動矢量檢測控制步驟中檢測的每個塊運動矢量,對第一場上的像素和第二場上的像素的像素值之差的計算,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇控制步驟,控制選擇使在差值計算控制步驟中計算的差值最小化的塊運動矢量之一,來作為主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量選擇控制步驟中選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
8.一種圖像處理設(shè)備,包括塊運動矢量檢測裝置,用于通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;像素運動矢量計算裝置,用于通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生裝置,用于基于由像素運動矢量計算裝置計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
9.一種圖像處理方法,包括塊運動矢量檢測步驟,通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;像素運動矢量計算步驟,通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生步驟,基于在像素運動矢量計算步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
10.一種記錄媒體,其上記錄有計算機可讀程序,包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;像素運動矢量計算控制步驟,控制通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量計算控制步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
11.一種用于使計算機執(zhí)行處理的程序,包括塊運動矢量檢測控制步驟,控制通過塊匹配對包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量的檢測;像素運動矢量計算控制步驟,控制通過根據(jù)主體像素與多個塊的各個參考位置之間的距離來使多個塊的塊運動矢量平滑,來計算主體像素的像素運動矢量;和像素產(chǎn)生控制步驟,控制基于在像素運動矢量計算控制步驟中計算的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
12.一種圖像處理設(shè)備,包括塊運動矢量檢測單元,用于通過塊匹配,來檢測包括主體像素的塊和與包括主體像素的塊相鄰的多個塊的各個塊運動矢量;差值計算單元,用于基于由塊運動矢量檢測單元檢測的每個塊運動矢量,計算第一場上的像素和第二場上的像素的像素值之差,上述這些像素被用來產(chǎn)生主體像素;像素運動矢量選擇單元,用于選擇使由差值計算單元計算的差值最小化的塊運動矢量之一,作為主體像素的像素運動矢量;和像素產(chǎn)生單元,用于基于由像素運動矢量選擇單元選擇的像素運動矢量,使用第一場上的像素和第二場上的像素來產(chǎn)生主體像素。
全文摘要
對于包括主體像素的主體塊和與該主體塊垂直和水平相鄰的四個相鄰塊,將這些塊的各個運動矢量看作是主體像素的像素運動矢量的候選。將塊運動矢量實際應(yīng)用于主體像素,并選擇使用于場間內(nèi)插的像素的像素值之差最小化的運動矢量之一,作為該主體像素的像素運動矢量。
文檔編號G06T13/00GK1678021SQ20051005953
公開日2005年10月5日 申請日期2005年3月29日 優(yōu)先權(quán)日2004年3月29日
發(fā)明者青山幸治, 西堀一彥, 澤維爾·米歇爾, 黑川益義 申請人:索尼株式會社