專利名稱:活動圖像編碼裝置和方法以及活動圖像解碼裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及活動圖像編碼裝置、活動圖像解碼裝置、活動圖像編碼方法、活動圖像解碼方法、活動圖像編碼程序以及活動圖像解碼程序。
背景技術(shù):
傳統(tǒng)的活動圖像編碼系統(tǒng)的一個例子是根據(jù)H.264/AVC編碼系統(tǒng)的活動圖像編碼裝置和活動圖像解碼裝置(對照ISO/IEC MPEG和ITU-VCEG的聯(lián)合視頻組(JVT),“Editor’s Proposed Draft Text Modifications for Joint VideoSpecification(ITU-T Rec.H.264|ISO/IEC 14496-10 AVC),Geneva修改草案37”)。這種系統(tǒng)用于通過運動補償幀間預(yù)測來減少存在于時間方向上的冗余,并且還通過正交變換減少留在空間方向上的冗余,由此,實現(xiàn)活動圖像(輸入視頻信號)的信息壓縮。
因為上述系統(tǒng)中的運動補償幀間預(yù)測(下文稱作“INTER預(yù)測方式”)允許為檢測運動矢量而準(zhǔn)備多個參考幀圖像,所以存在編碼目標(biāo)區(qū)域周圍的事先被編碼的區(qū)域的運動矢量是利用彼此各不相同的各自的參考幀圖像而進(jìn)行運動補償?shù)那闆r。
為了計算用于編碼目標(biāo)區(qū)域的被預(yù)測的運動矢量(不考慮哪個參考幀圖像是用于為目標(biāo)區(qū)域周圍的事先被編碼的區(qū)域的運動矢量的運動補償)那些運動矢量的值都被比較,并且采用其中值作為用于編碼目標(biāo)區(qū)域的運動矢量估計。
發(fā)明內(nèi)容
然而,在這種周圍被編碼的區(qū)域是利用與編碼目標(biāo)區(qū)域的參考幀圖像不同的參考幀圖像進(jìn)行運動補償?shù)那闆r下,將其中值用作被預(yù)測的運動矢量會帶來一個問題由于參考幀的不同而使得被預(yù)測的運動矢量大大地不同于實際的運動矢量,而這個問題導(dǎo)致降低了編碼中信息壓縮的效率。與此同時,還引起另一個問題,解碼中信息壓縮的效率同時也降低了。
為了解決上述問題,實現(xiàn)了本發(fā)明,并且本發(fā)明的目的是,提供能夠增加編碼和解碼中信息壓縮的效率的活動圖像編碼裝置、活動圖像解碼裝置、活動圖像編碼方法、活動圖像解碼方法、活動圖像編碼程序以及活動圖像解碼程序。
按照本發(fā)明的活動圖像編碼裝置是用于將包括幀圖像信號的時間序列的活動圖像信號中的作為編碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,參照與作為編碼目標(biāo)的幀圖像不同的多個幀圖像檢測用于相應(yīng)目標(biāo)區(qū)域的運動矢量,并且由此根據(jù)運動補償執(zhí)行編碼的活動圖像編碼裝置,該活動圖像編碼裝置包括運動矢量預(yù)測裝置,用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
按照本發(fā)明的活動圖像編碼方法是用于將包括幀圖像信號的時間序列的活動圖像信號中的作為編碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,參照與作為編碼目標(biāo)的幀圖像不同的多個幀圖像檢測用于相應(yīng)目標(biāo)區(qū)域的運動矢量,并且由此根據(jù)運動補償執(zhí)行編碼的活動圖像編碼方法,該活動圖像編碼方法包括運動矢量預(yù)測步驟,其中運動矢量預(yù)測裝置執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
按照本發(fā)明的活動圖像編碼程序是用于使計算機執(zhí)行編碼處理的活動圖像編碼程序,該編碼處理用于將包括幀圖像信號的時間序列的活動圖像信號中的編碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,參照與作為編碼目標(biāo)的幀圖像不同的多個幀圖像檢測用于相應(yīng)目標(biāo)區(qū)域的運動矢量,并且由此根據(jù)運動補償執(zhí)行編碼,其中使計算機實現(xiàn)運動矢量預(yù)測裝置的功能,該運動矢量預(yù)測裝置用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
按照本發(fā)明的活動圖像編碼裝置、活動圖像編碼方法和活動圖像編碼程序,運動矢量預(yù)測裝置根據(jù)針對檢測目標(biāo)區(qū)域的運動矢量而參考的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值對相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正,并且根據(jù)相鄰區(qū)域的運動矢量對最佳預(yù)測運動矢量進(jìn)行預(yù)測;因此,被預(yù)測的運動矢量是在考慮了運動的時間連續(xù)性而得以確定的,由此可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值。
在本發(fā)明的活動圖像編碼裝置中,更可取地,運動矢量預(yù)測裝置根據(jù)相鄰參考幀圖像、目標(biāo)參考幀圖像和目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對相鄰區(qū)域的各運動矢量進(jìn)行縮放,并且根據(jù)相鄰區(qū)域的被校正的運動矢量確定最佳預(yù)測運動矢量。按照這種方式,運動矢量預(yù)測裝置根據(jù)針對檢測目標(biāo)區(qū)域的運動矢量而參考的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值對相鄰區(qū)域的各運動矢量進(jìn)行縮放來進(jìn)行校正,并且之后,根據(jù)相鄰區(qū)域的被校正的運動矢量確定最佳預(yù)測運動矢量,由此可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值。
在本發(fā)明的活動圖像編碼裝置中,更可取地,運動矢量預(yù)測裝置根據(jù)相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量,并且根據(jù)被確定為最佳預(yù)測運動矢量的相鄰區(qū)域的運動矢量的相鄰參考幀圖像、目標(biāo)參考幀圖像以及目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對最佳預(yù)測運動矢量進(jìn)行縮放。在這種情況下,運動矢量預(yù)測裝置首先根據(jù)相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量,之后根據(jù)針對檢測目標(biāo)區(qū)域的運動矢量而參考的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值對被確定的最佳預(yù)測運動矢量進(jìn)行縮放來進(jìn)行校正;因此,可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值,并且還可以減少用于運動矢量預(yù)測的處理時間。
按照本發(fā)明的活動圖像解碼裝置是用于將包括幀圖像信號的時間序列的活動圖像信號中的解碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,并且利用被預(yù)測的運動矢量與參照與作為解碼目標(biāo)的幀圖像不同的多個幀圖像檢測的相應(yīng)目標(biāo)區(qū)域的運動矢量之間的差值信息,以便根據(jù)運動補償執(zhí)行解碼的活動圖像解碼裝置,該活動圖像解碼裝置包括運動矢量預(yù)測裝置,用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
按照本發(fā)明的活動圖像解碼方法是用于將包括幀圖像信號的時間序列的活動圖像信號中的解碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,并且利用被預(yù)測的運動矢量與參照與作為解碼目標(biāo)的幀圖像不同的多個幀圖像檢測的相應(yīng)目標(biāo)區(qū)域的運動矢量之間的差值信息,以便根據(jù)運動補償執(zhí)行解碼的活動圖像解碼方法,該活動圖像解碼方法包括運動矢量預(yù)測步驟,其中運動矢量預(yù)測裝置用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
按照本發(fā)明的活動圖像解碼程序是用于使計算機執(zhí)行解碼處理的活動圖像解碼程序,該解碼處理用于將包括幀圖像信號的時間序列的活動圖像信號中的解碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,并且利用被預(yù)測的運動矢量與參照與作為解碼目標(biāo)的幀力像不同的多個幀圖像檢測的相應(yīng)目標(biāo)區(qū)域的運動矢量之間的差值信息,以便根據(jù)運動補償執(zhí)行解碼,其中使計算機實現(xiàn)運動矢量預(yù)測裝置的功能,該運動矢量預(yù)測裝置用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
按照本發(fā)明的活動圖像解碼裝置、活動圖像解碼方法和活動圖像解碼程序,運動矢量預(yù)測裝置根據(jù)針對檢測目標(biāo)區(qū)域的運動矢量而參考的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值對相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正,并且根據(jù)相鄰區(qū)域的運動矢量對最佳預(yù)測運動矢量進(jìn)行預(yù)測;因此,被預(yù)測的運動矢量是在考慮了運動的時間連續(xù)性而得以確定的,由此可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值。
在本發(fā)明的活動圖像解碼裝置中,更可取地,運動矢量預(yù)測裝置根據(jù)相鄰參考幀圖像、目標(biāo)參考幀圖像和目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對相鄰區(qū)域的各運動矢量進(jìn)行縮放,并且根據(jù)相鄰區(qū)域的被校正的運動矢量確定最佳預(yù)測運動矢量。按照這種方式,運動矢量預(yù)測裝置根據(jù)涉及用于檢測目標(biāo)區(qū)域的運動矢量的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值對相鄰區(qū)域的各運動矢量進(jìn)行縮放來進(jìn)行校正,并且之后,根據(jù)相鄰區(qū)域的被校正的運動矢量確定最佳預(yù)測運動矢量,由此可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值。
在本發(fā)明的活動圖像解碼裝置中,更可取地,運動矢量預(yù)測裝置根據(jù)相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量,并且根據(jù)被確定為最佳預(yù)測運動矢量的相鄰區(qū)域的運動矢量的相鄰參考幀圖像、目標(biāo)參考幀圖像以及目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對最佳預(yù)測運動矢量進(jìn)行縮放。在這種情況下,運動矢量預(yù)測裝置根據(jù)相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量,之后根據(jù)針對檢測目標(biāo)區(qū)域的運動矢量而參考的幀圖像與編碼目標(biāo)的幀圖像之間的時間差值對被確定的最佳預(yù)測運動矢量進(jìn)行縮放來進(jìn)行校正;由此,可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值,并且還可以減少用于運動矢量預(yù)測的處理時間。
圖1是按照本發(fā)明的實施例示出活動圖像編碼裝置的例子的原理圖。
圖2是圖1中所示運動檢測部分的結(jié)構(gòu)圖。
圖3是按照本發(fā)明的實施例示出活動圖像解碼裝置的例子的原理圖。
圖4是圖3中所示運動矢量還原部分的結(jié)構(gòu)圖。
圖5是示意性地示出編碼目標(biāo)塊和相鄰塊的示意圖。
圖6是按照第一實施例示出運動矢量預(yù)測部分的操作的流程圖。
圖7是示出在時域內(nèi)編碼目標(biāo)塊和相鄰塊的運動矢量的示意圖。
圖8是按照第二實施例示出運動矢量預(yù)測部分的操作的流程圖。
圖9是示出為運動矢量的預(yù)測而被劃分的塊的例子的示意圖。
圖10是按照本發(fā)明的實施例示出活動圖像編碼程序的示意圖。
圖11是按照本發(fā)明的實施例示出活動圖像解碼程序的示意圖。
具體實施例方式
下面將參照附圖描述按照本發(fā)明的實施例的活動圖像編碼裝置和活動圖像解碼裝置。這些附圖中,相同的元件都用相同的參考標(biāo)記表示,而不做重復(fù)的說明。
第一實施例圖1是按照本實施例示出活動圖像編碼裝置的例子的原理圖,并且圖3是按照本實施例示出活動圖像解碼裝置的例子的原理圖。
(活動圖像編碼裝置的結(jié)構(gòu))首先將利用圖1描述按照本發(fā)明的活動圖像編碼裝置10。下面描述的活動圖像編碼裝置10是根據(jù)H.264/AVC編碼系統(tǒng)的編碼裝置。
此處,作為活動圖像信號被提供給活動圖像編碼裝置10中的輸入視頻信號(活動圖像信號)包括幀圖像的時間序列(temporal series)。幀圖像信號是指該輸入視頻信號中的幀圖像單元的信號。作為編碼目標(biāo)的幀圖像信號下面將稱為“當(dāng)前幀”。當(dāng)前幀被劃分為按照16像素×16行的正方形區(qū)域的宏塊,并且下面的編碼處理和解碼處理將在宏塊單元中執(zhí)行。
H.264/AVC編碼系統(tǒng)中,為各個宏塊準(zhǔn)備了下述預(yù)測方式多個“INTER預(yù)測方式”,用于參照多個時間上不同于幀圖像信號的事先被編碼的幀圖像信號(參考幀圖像信號)檢測運動矢量,并且據(jù)此執(zhí)行運動補償幀間預(yù)測;以及多個“INTRA預(yù)測方式”,用于利用在相同的圖像空間上被事先編碼的鄰近宏塊的像素值執(zhí)行空間預(yù)測。按照“INTER預(yù)測方式”,運動檢測、運動預(yù)測和運動補償過程中的每一個都是針對通過進(jìn)一步將宏塊分割為任意區(qū)域(例如8像素×16行)(下面將進(jìn)行詳細(xì)描述)的各個塊來進(jìn)行的?;顒訄D像編碼裝置10被配置為,按照輸入視頻信號的局部特性,在宏塊單元中的預(yù)測方式之間進(jìn)行轉(zhuǎn)換,并且執(zhí)行有效的信息壓縮。
活動圖像編碼裝置10由如圖1中所示的以下功能部件構(gòu)成;輸入部分101,運動檢測器102,運動補償器103,幀存儲器104,空間預(yù)測器105,轉(zhuǎn)換器(switch)106,減法器107,正交變換器108,量化器109,可變長度編碼器110,去量化器111,反向正交變換器112以及加法器113。各個部件將在下面進(jìn)行描述。
輸入部分101是,用于從外部接收輸入視頻信號121作為活動圖像,然后將其分解為幀圖像信號,并且將幀圖像信號122和123分別提供給減法器107和運動檢測器102的部分。
幀存儲器104是用于存儲事先被編碼的幀圖像信號的部分。
運動檢測器102是用于執(zhí)行預(yù)測方式的選擇和運動矢量的檢測的部分。尤其是,在選擇“INTER預(yù)測方式”的情況下,運動檢測器102利用參考幀圖像信號124執(zhí)行搜索,以在預(yù)先被存儲在幀存儲器中的多個事先被編碼的幀圖像中的預(yù)定搜索范圍內(nèi),搜索與當(dāng)前幀中的圖像信號模式(pattern)相類似的圖像信號模式。然后,檢測運動矢量,該運動矢量是兩個圖像信號模式之間的空間位移。運動檢測器102向可變長度編碼器110提供包含運動矢量差值、表示用于運動矢量的檢測的參考幀圖像信號的參考幀號(reference frame number)以及被選擇的預(yù)測方式的信號125,其中該運動矢量差值是被檢測的運動矢量和最佳預(yù)測運動矢量(運動矢量估計)之間的差值信息,所述最佳預(yù)測運動矢量是根據(jù)事先被編碼的相鄰塊的運動矢量進(jìn)行計算得到的。同時,運動檢測器102向運動補償器103提供包含被選擇的預(yù)測方式、該運動矢量以及該參考幀號的信號126。
運動補償器103使用由運動檢測器102提供的運動矢量,以便參照由幀存儲器104中的參考幀號表示的幀的被編碼的圖像信號(參考幀圖像信號)生成每個塊的預(yù)測的圖像信號127,然后,將信號127提供給轉(zhuǎn)換器106。
另一方面,在選擇“INTRA預(yù)測方式”的情況下,運動檢測器102將被選擇的預(yù)測方式128提供給空間預(yù)測器105。在這種情況下,運動檢測器102不會把作為有關(guān)時間運動信息的運動矢量差值和參考幀號提供給可變長度編碼器110,因為空間預(yù)測是利用在相同的圖像空間中事先被編碼的鄰近塊的像素值來進(jìn)行的。
接收到被選擇的預(yù)測方式128之后,參照事先被編碼的鄰近塊的圖像信號(參考幀圖像信號129),空間預(yù)測器105生成預(yù)測的圖像信號130,并且將信號130提供給轉(zhuǎn)換器106。
轉(zhuǎn)換器106按照從運動檢測器102中接收的預(yù)測方式131選擇預(yù)測的圖像信號127或者預(yù)測的圖像信號130,然后,將被選擇的預(yù)測的圖像信號132提供給減法器107。
接收到預(yù)測的圖像信號132之后,減法器107生成幀圖像信號122與預(yù)測的圖像信號132之間的差值(預(yù)測殘留信號133),并將信號133提供給正交變換器108。
正交變換器108對由減法器107提供的預(yù)測殘留信號133執(zhí)行正交變換,以生成正交變換系數(shù)134,然后,將該系數(shù)134提供給量化器109。
接收到系數(shù)134之后,量化器109對由正交變換器108提供的正交變換系數(shù)134進(jìn)行量化,以生成被量化的正交變換系數(shù)135,然后,將它們提供給可變長度編碼器110和去量化器111。
然后,可變長度編碼器110根據(jù)由量化器109傳送的被量化的正交變換系數(shù)135,并根據(jù)傳送自運動檢測器102的預(yù)測方式、運動矢量差值以及參考幀號執(zhí)行熵編碼,以便將它們多路復(fù)用在壓縮流136上,然后,將壓縮流136傳送到外部。
去量化器111對從量化器109發(fā)送來的被量化的正交變換系數(shù)135執(zhí)行去量化,以生成正交變換系數(shù)137,然后,將系數(shù)137提供給反向正交變換器112。
然后,反向正交變換器112對從去量化器111發(fā)送來的正交變換系數(shù)137執(zhí)行反向正交變換,以便生成預(yù)測殘留信號138,然后,將信號138提供給加法器113。
加法器113將從反向正交變換器112發(fā)送來的預(yù)測殘留信號138和從轉(zhuǎn)換器106發(fā)送來的預(yù)測的圖像信號132進(jìn)行相加,以便生成幀圖像信號139,然后,將信號139提供給幀存儲器104。該幀圖像信號139被存儲在幀存儲器104中,以用作隨后進(jìn)行的編碼處理中的參考幀圖像信號。由于被包括在參考幀圖像信號中,所以有關(guān)運動矢量和參考幀號的信息也同時進(jìn)行存儲。
接著,參照圖2詳細(xì)描述活動圖像編碼裝置10中的運動檢測器102。圖2是圖1中的運動檢測器的結(jié)構(gòu)圖。
運動檢測器102由圖2中所示的以下功能部件組成預(yù)測方式確定器201、參考幀確定器202、運動矢量檢測器203、運動矢量預(yù)測器(運動矢量預(yù)測裝置)204以及運動矢量差值計算器205。
首先,根據(jù)輸入幀圖像信號123和參考幀圖像信號124,預(yù)測方式確定器201確定“INTER預(yù)測方式”還是“INTRA預(yù)測方式”被用作編碼方式,該編碼方式用于作為編碼目標(biāo)的預(yù)定塊,以便確定預(yù)測方式。當(dāng)選擇“INTRA預(yù)測方式”時,預(yù)測方式確定器201輸出預(yù)測方式131,并且結(jié)束處理。當(dāng)選擇“INTER預(yù)測方式”時,預(yù)測方式確定器201輸出預(yù)測方式131,并且同時向參考幀確定器202提供包含幀圖像信號、參考幀圖像信號以及預(yù)測方式的信號210。
根據(jù)輸入幀圖像信號、參考幀圖像信號以及預(yù)測方式,參考幀確定器202確定參考幀,該參考幀用于作為編碼目標(biāo)的預(yù)定塊的運動矢量的檢測和預(yù)測,并且向運動矢量檢測器203提供包含幀圖像信號、參考幀圖像信號、預(yù)測方式以及參考幀號的信號211。同時,參考幀確定器202向運動矢量預(yù)測器204提供信號212,該信號212包含參考幀圖像信號、預(yù)測方式以及參考幀號。
根據(jù)輸入幀圖像信號、參考幀圖像信號、預(yù)測方式以及參考幀號,運動矢量檢測器203從以參考幀圖像信號中的參考幀號表示的圖像信號中搜索與當(dāng)前幀中的圖像信號模式相類似的圖像信號模式。然后,運動矢量檢測器203檢測運動矢量,該運動矢量是兩個圖像信號模式之間的空間位移,并且向運動矢量差值計算器205提供信號213,該信號213包含運動矢量、預(yù)測方式以及參考幀號。它還輸出信號126,該信號126包含將用于運動補償?shù)倪\動矢量、預(yù)測方式以及參考幀號。
利用被包含在參考幀圖像信號中的與編碼目標(biāo)的預(yù)定塊相鄰的事先被編碼的塊的運動矢量和參考幀號,以及利用編碼目標(biāo)的預(yù)定塊的預(yù)測方式和參考幀號,運動矢量預(yù)測器204計算作為編碼目標(biāo)的預(yù)定塊的運動矢量估計。為了計算運動矢量估計,運動矢量預(yù)測器204根據(jù)針對檢測作為編碼目標(biāo)的預(yù)定塊(將在后面進(jìn)行詳細(xì)描述)的運動矢量而參考的幀圖像(目標(biāo)參考幀圖像),對與作為編碼目標(biāo)的預(yù)定塊相鄰的塊的運動矢量進(jìn)行縮放來進(jìn)行校正。該縮放是根據(jù)針對檢測相鄰塊的運動矢量而參考的幀圖像(相鄰參考幀圖像)、目標(biāo)參考幀圖像以及作為編碼目標(biāo)(目標(biāo)幀圖像)的幀圖像之間的時間關(guān)系而執(zhí)行的。此處,相鄰參考幀圖像、目標(biāo)參考幀圖像以及目標(biāo)幀圖像之間的時間關(guān)系表示這些幀圖像或者這些幀圖像的時間信息之間相對的時間差值。運動矢量預(yù)測器204向運動矢量差值計算器205提供信號215,該信號215包含已計算的運動矢量估計、預(yù)測方式以及參考幀號。
運動矢量差值計算器205計算運動矢量差值,該運動矢量差值是通過從輸入運動矢量中減去運動矢量估計而獲得的值,并且輸出信號125,該信號125包含將被執(zhí)行可變長度編碼的預(yù)測方式、參考幀號以及運動矢量差值。
(活動圖像解碼裝置的結(jié)構(gòu))
下面利用圖3描述按照本發(fā)明的活動圖像解碼裝置30。下面所述的活動圖像解碼裝置30如活動圖像編碼裝置10一樣,是根據(jù)H.264/AVC編碼系統(tǒng)的。
活動圖像解碼裝置30具有把來自活動圖像編碼裝置10的壓縮流136用作輸入信號以便將其解碼為輸入視頻信號的功能。
活動圖像解碼裝置30由圖3所示的以下功能部件構(gòu)成可變長度解碼器301、運動矢量還原部分302、運動補償器303、幀存儲器304、空間預(yù)測器305、轉(zhuǎn)換器306、去量化器307、反向正交變換器308以及加法器309。各個部件將在下面進(jìn)行描述。
可變長度解碼器301接收壓縮流136,然后檢測表示各幀的頭部的同步字,之后還原塊單元中的預(yù)測方式和被量化的正交變換系數(shù)。在預(yù)測方式是“INTER預(yù)測方式”的情況下,它還執(zhí)行運動矢量差值和參考幀號的解碼。可變長度解碼器301向運動矢量還原部分302提供信號321,該信號321包含已還原的預(yù)測方式、運動矢量差值以及參考幀號??勺冮L度解碼器301將已還原的被量化的正交變換系數(shù)322提供給去量化器307。可變長度解碼器301將已還原的預(yù)測方式326提供給轉(zhuǎn)換器306和空間預(yù)測器305。
在預(yù)測方式是“INTER預(yù)測方式”的情況下,通過使用由可變長度解碼器301傳送的運動矢量差值和根據(jù)事先被解碼的相鄰塊的運動矢量計算的運動矢量估計,運動矢量還原部分302還原運動矢量。然后,它向運動補償器303提供信號323,該信號323包含已還原的運動矢量、預(yù)測方式以及參考幀號。
然后,根據(jù)運動矢量、預(yù)測方式以及參考幀號,運動補償器303使用來自幀存儲器304的參考幀信號324,以便生成預(yù)測的圖像信號325,然后,將信號325提供給轉(zhuǎn)換器306。幀存儲器304存儲事先被解碼的幀圖像信號。
在預(yù)測方式326是“INTRA預(yù)測方式”的情況下,空間預(yù)測器305參照事先被解碼的鄰近塊的圖像信號(參考幀圖像信號327),生成預(yù)測的圖像信號328,然后,將信號328提供給轉(zhuǎn)換器306。
然后,轉(zhuǎn)換器306按照從可變長度解碼器301發(fā)送來的預(yù)測方式326,選擇預(yù)測的圖像信號325或者預(yù)測的圖像信號328,并且將被選擇的那個作為預(yù)測的圖像信號329提供給加法器309。
另一方面,去量化器307對從可變長度解碼器301發(fā)送來的被量化的正交變換系數(shù)322進(jìn)行去量化,以便還原正交變換系數(shù)330,并且將它們提供給反向正交變換器308。
反向正交變換器308執(zhí)行對正交變換系數(shù)330的反向正交變換,以便還原預(yù)測殘留信號331。
然后,加法器309將從轉(zhuǎn)換器306發(fā)送來的預(yù)測的圖像信號329和從反向正交變換器308發(fā)送來的預(yù)測殘留信號331相加,以便還原幀圖像信號332。
最后,幀圖像信號332在預(yù)定的顯示時間被輸出到顯示設(shè)備(未示出)上,以便再現(xiàn)輸入視頻信號(活動圖像信號)121。
幀圖像信號332被作為參考幀圖像信號存儲在幀存儲器304中,以便將來用于隨后的解碼處理。此處,幀圖像信號332具有與活動圖像編碼裝置10中相同數(shù)量的幀圖像信號139相同的值。由于包括在參考幀圖像信號中,所以有關(guān)運動矢量和參考幀號的信息也同時進(jìn)行存儲。
下面將參照圖4詳細(xì)描述活動圖像解碼裝置30中的運動矢量還原部分302。圖4是圖3中運動矢量還原部分的結(jié)構(gòu)圖。
首先,運動矢量預(yù)測器401提取與作為解碼目標(biāo)的預(yù)定塊相鄰的事先被解碼的塊的運動矢量和參考幀號,它們被包括在輸入?yún)⒖紟瑘D像信號324中。然后,利用被包括在輸入信號321中的解碼目標(biāo)的預(yù)定塊的預(yù)測方式和參考幀號,運動矢量預(yù)測器401計算用于作為解碼目標(biāo)的預(yù)定塊的運動矢量估計。為了計算運動矢量估計,根據(jù)針對檢測解碼目標(biāo)的預(yù)定塊的運動矢量(將在后面進(jìn)行詳細(xì)描述)的幀圖像(目標(biāo)參考幀圖像),運動矢量預(yù)測器對用于與作為解碼目標(biāo)的預(yù)定塊相鄰的塊的運動矢量進(jìn)行縮放來進(jìn)行校正。該縮放是根據(jù)針對檢測相鄰塊的運動矢量而參考的幀圖像(相鄰參考幀圖像)、目標(biāo)參考幀圖像以及解碼目標(biāo)的幀圖像(目標(biāo)幀圖像)之間的時間關(guān)系而執(zhí)行的。此處,相鄰參考幀圖像、目標(biāo)參考幀圖像以及目標(biāo)幀圖像之間的時間關(guān)系表示這些幀圖像之間相對的時間差值或者這些幀圖像的時間信息。之后,運動矢量預(yù)測器401向運動矢量加法器402提供信號421,該信號421包含預(yù)測方式、參考幀號以及被計算的運動矢量估計。
運動矢量加法器402根據(jù)輸入運動矢量估計、預(yù)測方式、運動矢量差值以及參考幀號,還原運動矢量。然后,運動矢量加法器402輸出信號323,該信號323包含將被用于運動補償?shù)倪\動矢量、預(yù)測方式以及參考幀號。
(最佳預(yù)測運動矢量的計算)
現(xiàn)在,將更詳細(xì)地進(jìn)一步描述最佳預(yù)測運動矢量的計算,該計算在活動圖像編碼裝置10的運動檢測器102中和活動圖像解碼裝置30的運動矢量還原部分302中執(zhí)行。
活動圖像編碼裝置10的運動檢測器102中的運動矢量預(yù)測器204計算最佳預(yù)測運動矢量(運動矢量估計),最佳預(yù)測運動矢量將被用于根據(jù)作為編碼目標(biāo)的塊中所檢測的運動矢量計算差值。最終被活動圖像編碼裝置10作為壓縮流136進(jìn)行傳送的信息是通過編碼運動矢量差值獲得的,其中該運動矢量差值是通過從運動矢量估計減去運動矢量得到的。因此,最佳預(yù)測運動矢量越接近實際運動矢量,編碼的效率越高。
活動矢量解碼裝置30的運動矢量還原部分302中的運動矢量預(yù)測器401根據(jù)參考幀圖像信號計算運動矢量估計。被計算的運動矢量估計被加到被傳送的運動矢量差值上,以便用于還原運動矢量。因此,正如活動圖像編碼裝置10中的情況,最佳預(yù)測運動矢量越接近實際運動矢量,解碼的效率越高。
因為由運動矢量預(yù)測器204進(jìn)行的運動矢量估計的計算是與由運動矢量預(yù)測器401進(jìn)行的運動矢量估計的計算相類似的處理,所以下面只描述運動矢量預(yù)測器204的操作。
圖5是示意性地示出作為編碼目標(biāo)的塊和相鄰塊的示意圖。圖5中,在作為編碼目標(biāo)的塊用E表示的情況下,塊A表示包括在塊E中最左上像素的緊左面的像素的塊,塊B表示包括在塊E中最左上像素的緊上面的像素的塊,以及塊C表示包括僅在塊E中最右上像素的緊上面并且是右面的像素的塊。還有,塊D表示包括在塊E中最左上像素的緊上面并且是左面的像素的塊。
首先,在塊C位于該圖像的外面的情況下,運動矢量預(yù)測器204假設(shè),塊C的運動矢量和參考幀號等于塊D的。
在塊B和塊C都位于該圖像的外面的情況下,假設(shè)塊B和塊C的運動矢量和參考幀號都等于塊A的。
根據(jù)以上假設(shè),運動矢量預(yù)測器204能夠確??偸谴嬖谂c作為編碼目標(biāo)的塊E相鄰的塊A、塊B和塊C的運動矢量和參考幀號,然后,執(zhí)行運動矢量估計的計算。
圖6是示出由運動矢量預(yù)測器204計算運動矢量估計的操作的流程圖。
首先,運動矢量預(yù)測器204參考,包括在參考幀圖像信號中的,與作為編碼目標(biāo)的預(yù)定塊(E)相鄰的塊(A、B和C)的運動矢量和參考幀圖像號(步驟S01)。
然后,運動矢量預(yù)測器確定相鄰塊(A、B、C)的參考幀圖像號中是否只有一個等于塊(E)的參考幀圖像號(步驟S02)。當(dāng)相鄰塊(A、B、C)的參考幀圖像號中只有一個等于塊(E)的參考幀圖像號時(步驟S02是),運動矢量預(yù)測器204確定具有與塊(E)編號相等的參考幀圖像號的塊的運動矢量的值,作為用于塊(E)的運動矢量估計(步驟S03)。當(dāng)不是相鄰塊(A、B、C)的參考幀圖像號中只有一個等于塊(E)的參考幀圖像號時(步驟S02否),該處理轉(zhuǎn)到步驟S04。
隨后,運動矢量預(yù)測器204確定各相鄰塊(A、B或C)是否是利用與用于塊(E)的運動矢量檢測的參考幀圖像號相同的參考幀圖像而進(jìn)行補償?shù)囊粋€運動(步驟S04)。當(dāng)被這樣檢測的相鄰塊(A、B、C)的參考幀圖像與用于塊(E)的運動矢量檢測的參考幀圖像不相同時(步驟S04否),相鄰塊(A、B、C)的運動矢量的值都被縮放,以便滿足與用于編碼目標(biāo)塊(E)的參考幀相同的條件(步驟S05)。
這種縮放方法將根據(jù)圖7進(jìn)行描述。圖7是示出在時域上編碼目標(biāo)塊和相鄰塊的運動矢量的示意圖。如圖7中所示,根據(jù)從當(dāng)前幀(目標(biāo)幀圖像)701(時間t0)到編碼目標(biāo)塊(E)(目標(biāo)參考幀圖像)的參考幀702的時間距離(t0-te),對與被檢測的作為編碼目標(biāo)的預(yù)定塊相鄰的塊(A、B、C)的運動矢量751a、751b和751c的長度進(jìn)行修正。特別地,假如編碼目標(biāo)塊(E)的參考幀702是時間te上的一個參考幀,相鄰塊A的運動矢量751a則具有分量(MVxA、MVyA),并且其參考幀(相鄰參考幀圖像)703a是時間ta上的一個參考幀;根據(jù)編碼目標(biāo)塊(E)的參考幀702而被縮放的運動矢量(MVxA′、MVyA′)是按照下面的公式(1)和(2)而被確定的。
MVxA′=MVxA·(t0-te)/(t0-ta) (1)MVyA′=MVyA·(t0-te)/(t0-ta) (2)在這種情況下,相鄰塊(A、B、C)不必是利用過去的參考幀圖像進(jìn)行運動補償?shù)?,但可以是利用將來?(t0-ta)<0)參考幀圖像進(jìn)行運動補償?shù)摹?br>
參見圖6,另一方面當(dāng)檢測到的相鄰塊(A、B、C)的參考幀與用于檢測塊(E)的運動矢量的參考幀相同時(步驟S04是)將塊(A、B、C)的運動矢量的值看作已經(jīng)被縮放,并且它們被原樣使用(步驟S06)。
然后,確定對于所有相鄰塊(A、B、C)的運動矢量是否都已完成該縮放(步驟S07)。當(dāng)不是所有相鄰塊(A、B、C)的運動矢量都已完成該縮放時(步驟S07否),重復(fù)從步驟S04開始的處理。
當(dāng)所有相鄰塊(A、B、C)的運動矢量都已完成該縮放時(步驟S07是),根據(jù)相鄰塊(A、B、C)的運動矢量計算中值,以便確定最佳預(yù)測運動矢量(步驟S08),其中相鄰塊(A、B、C)的運動矢量是根據(jù)用于編碼目標(biāo)塊(E)的運動矢量檢測的參考幀702進(jìn)行縮放的。通過將三個相鄰塊(A、B、C)關(guān)于其每個X、Y分量的縮放的運動矢量(MVxA′、MVyA′)、(MVxB′、MVyB′)和(MVxC′、MVyC′)進(jìn)行比較,并且采用分量之間的中間(第二最大)值作為運動矢量估計,計算該中值。例如,在(MVxA′、MVyA′)=(3,-5)、(MVxB′、MVyB′)=(-1,4)以及(MVxC′、MVyC′)=(2,6)的情況下,運動矢量估計(PMVxE、PMVyE)被確定為包括x分量的中間(第二最大)值和y分量的中間(第二最大)值。
當(dāng)編碼目標(biāo)塊的運動矢量以這種方式利用相鄰塊的運動矢量的中值進(jìn)行預(yù)測時,根據(jù)編碼目標(biāo)塊和它周圍的塊之間的空間相關(guān)性,最佳預(yù)測運動矢量被認(rèn)為是變得離編碼目標(biāo)塊的實際運動矢量相對較近。這種方法稱為中值預(yù)測。
下面描述使計算機實現(xiàn)上述活動圖像編碼裝置10的功能的活動圖像編碼程序910和使計算機實現(xiàn)上述活動圖像解碼裝置30的功能的活動圖像解碼程序930。圖10和圖11是分別示出活動圖像編碼程序910和活動圖像解碼程序930的結(jié)構(gòu)的示意圖。
如圖10中所示,活動圖像編碼程序910具有用于總體控制處理的主模塊911、輸入模塊912、運動檢測模塊913、運動補償模塊914、空間預(yù)測模塊915、轉(zhuǎn)換模塊916、減法模塊917、正交變換模塊918、量化模塊919、可變長度編碼模塊920、去量化模塊921、反向正交變換模塊922以及加法模塊923。通過輸入模塊912、運動檢測模塊913、運動補償模塊914、空間預(yù)測模塊915、轉(zhuǎn)換模塊916、減法模塊917、正交變換模塊918、量化模塊919、可變長度編碼模塊920、去量化模塊921、反向正交變換模塊922以及加法模塊923使得計算機實現(xiàn)的功能分別與前述輸入部分101、運動檢測器102、運動補償器103、空間預(yù)測器105、轉(zhuǎn)換器106、減法器107、正交變換器108、量化器109、可變長度編碼器110、去量化器111、反向正交變換器112以及加法器113的功能大致相同。
如圖11中所示,活動圖像解碼程序930具有用于總體控制處理的主模塊931、可變長度解碼模塊932、運動矢量還原模塊933、運動補償模塊934、空間預(yù)測模塊935、轉(zhuǎn)換模塊936、去量化模塊937、反向正交變換模塊938以及加法模塊939。通過可變長度解碼模塊932、運動矢量還原模塊933、運動補償模塊934、空間預(yù)測模塊935、轉(zhuǎn)換模塊936、去量化模塊937、反向正交變換模塊938以及加法模塊939使得計算機實現(xiàn)的功能分別與前述可變長度解碼器301、運動矢量還原部分302、運動補償器303、空間預(yù)測器305、轉(zhuǎn)換器306、去量化器307、反向正交變換器308以及加法器309的功能大致相同。
在上述第一實施例的活動圖像編碼裝置10和活動圖像解碼裝置30中,運動矢量預(yù)測器204和401根據(jù)針對檢測目標(biāo)塊的運動矢量而參考的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值,對各個相鄰塊的運動矢量進(jìn)行縮放來進(jìn)行校正,并且之后,根據(jù)已校正的相鄰塊的運動矢量預(yù)測最佳預(yù)測運動矢量;因此,最佳預(yù)測運動矢量是考慮到運動的時間連續(xù)性而被確定,借此,可以進(jìn)一步減少目標(biāo)塊的實際運動矢量與最佳預(yù)測運動矢量之間的差值。
第二實施例下面將描述本發(fā)明的第二實施例。因為本實施例中的活動圖像編碼裝置和活動圖像解碼裝置的基本結(jié)構(gòu)與第一實施例中的活動圖像編碼裝置和活動圖像解碼裝置的結(jié)構(gòu)大致相同,所以這些部件將用相同的參考標(biāo)記表示,而不對其進(jìn)行說明,并且下面將只描述與第一實施例的不同之處。
第二實施例中的活動圖像編碼裝置和活動圖像解碼裝置與第一實施例中的活動圖像編碼裝置10和活動圖像解碼裝置30之間的區(qū)別,在于與運動矢量估計的計算有關(guān)的部分。下面描述的是,區(qū)別于第一實施例的運動圖像編碼裝置10的運動檢測器102中和運動圖像解碼裝置30的運動矢量還原部分302中所執(zhí)行的被估計的運動矢量的計算。
因為由運動矢量預(yù)測器401進(jìn)行的運動矢量估計的計算是與由運動矢量預(yù)測器204進(jìn)行的運動矢量估計的計算相類似的處理,所以下面將只描述運動矢量預(yù)測器204的操作。
在本實施例中由運動矢量預(yù)測器204進(jìn)行的運動矢量估計的計算中,運動矢量預(yù)測器204不執(zhí)行用于根據(jù)目標(biāo)參考幀對各相鄰塊的運動矢量進(jìn)行預(yù)先縮放并根據(jù)該縮放之后的運動矢量確定最佳預(yù)測運動矢量的處理。而是運動矢量預(yù)測器204首先根據(jù)縮放之前各相鄰塊的運動矢量,確定將用于運動矢量的預(yù)測的最佳運動矢量,然后進(jìn)行校正以根據(jù)目標(biāo)參考幀對被確定運動矢量的被估計值進(jìn)行縮放,從而獲得運動矢量估計。圖8是由本實施例中的運動矢量預(yù)測器204計算運動矢量估計的的操作的流程圖。
首先,運動矢量預(yù)測器204參考包括在參考幀圖像信號中的與作為編碼目標(biāo)的預(yù)定塊(E)相鄰的塊(A、B和C)的運動矢量和參考幀圖像號(步驟S201)。
然后,運動矢量預(yù)測器204確定相鄰塊(A、B、C)的參考幀號中是否只有一個等于塊(E)的參考幀號(步驟S202)。當(dāng)相鄰塊(A、B、C)的參考幀號中只有一個等于塊(E)的參考幀號時(步驟S202是),具有相等參考幀號的相鄰塊的運動矢量的值被確定為塊(E)的運動矢量估計(步驟S203)。當(dāng)相鄰塊(A、B、C)的參考幀號中不是只有一個等于塊(E)的參考幀號的情況時(步驟S202否),該處理被轉(zhuǎn)到步驟S204。
隨后,根據(jù)各個相鄰塊(A、B、C)的運動矢量,運動矢量預(yù)測器204選擇一個最佳運動矢量作為運動矢量估計(步驟S204),而不是根據(jù)用于檢測編碼目標(biāo)塊(E)的運動矢量的參考幀(目標(biāo)參考幀圖像)執(zhí)行縮放。選擇一個最佳運動矢量作為運動矢量估計的方法可以是,如實施例1中所述,用于關(guān)于每個X、Y分量從與編碼目標(biāo)塊(E)相鄰的塊(A、B、C)的運動矢量中選擇中值的方法。
運動矢量選擇之后,確定被選作對于編碼目標(biāo)塊(E)的運動矢量估計是最佳的x、y分量的各運動矢量是否是利用與用于檢測塊(E)的運動矢量的參考幀圖像號相同的參考幀圖像進(jìn)行運動補償?shù)倪\動矢量(步驟S205)。當(dāng)被選擇的各運動矢量不都是利用與用于檢測編碼目標(biāo)塊(E)的運動矢量的參考幀圖像相同的參考幀圖像進(jìn)行運動補償?shù)倪\動矢量時(步驟205否),該運動矢量的x或y分量的長度就被縮放,以便滿足與用于編碼目標(biāo)塊(E)的參考幀相同的條件(步驟S206)。該縮放方法是,如實施例1中所述,根據(jù)從當(dāng)前幀(目標(biāo)幀圖像)到編碼目標(biāo)塊的參考幀(目標(biāo)參考幀圖像)的時間距離,修改相鄰塊的被選擇的運動矢量的長度,并且采用其x分量或者y分量作為運動矢量估計。
另一方面,當(dāng)被選擇的各運動矢量都是利用與用于檢測編碼目標(biāo)塊(E)的運動矢量的參考幀圖像相同的參考幀圖像進(jìn)行運動補償?shù)倪\動矢量時(步驟205是),被選擇的運動矢量的x分量或y分量被原樣確定為運動矢量估計(步驟S207)。
在上述第二實施例的活動圖像編碼裝置10和活動圖像解碼裝置30中,運動矢量預(yù)測器204和401首先根據(jù)相鄰塊的運動矢量確定最佳預(yù)測運動矢量,之后進(jìn)行校正,以便根據(jù)針對檢測目標(biāo)塊的運動矢量而參考的幀圖像與作為編碼目標(biāo)的幀圖像之間的時間差值,對被確定的最佳預(yù)測運動矢量進(jìn)行縮放,由此可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與最佳預(yù)測運動矢量之間的差值,同時,還可以減少用于對運動矢量進(jìn)行預(yù)測的處理時間。
在上述第一和第二實施例的活動圖像編碼裝置10和活動圖像解碼裝置30中,該中值是從縮放之前或縮放之后的相鄰塊的運動矢量中選擇出的,并且被確定為運動矢量估計,但是這也可以按照下面描述的方式進(jìn)行修改,以確定運動矢量估計。
即,第一實施例中,在縮放之后各個運動矢量的x分量都滿足條件1|MVxA′-MVxB′|<|MVxB′-MVxC′|的情況下,確定PMVxE=MVxA′。在不滿足上述條件1的情況下,確定PMVxE=MVxB′。同樣,在縮放之后各個運動矢量的y分量都滿足條件2|MVyA′-MVyB′|<|MVyB′-MVyC′|的情況下,確定PMVyE=MVyA′。在不滿足上述條件2的情況下,確定PMVyE=MVyB′。在第二實施例中,在縮放之前各個運動矢量的x分量都滿足條件1|MVxA-MVxB|<|MVxB-MVxC|的情況下,確定PMVxE=MVxA。在不滿足上述條件1的情況下,確定PMVxE=MVxB。同樣,在縮放之前各個運動矢量的y分量都滿足條件2|MVyA-MVyB|<|MVyB-MVyC|的情況下,確定PMVyE=MVyA。在不滿足上述條件2的情況下,確定PMVyE=MVyB。此后,對被確定的運動矢量估計進(jìn)行縮放。
而且,運動矢量估計還可以通過下面所述的方法確定。即,按照作為編碼目標(biāo)的預(yù)定塊的分割方法或類似的方法唯一確定將被用于運動矢量的估計的塊的位置,并且總是選擇該塊的運動矢量。圖9A和9B是示出用于預(yù)測運動矢量的被分割的塊的例子的示意圖。在圖9A的例子中,在預(yù)測方式是一種將編碼目標(biāo)塊E分割為兩個16像素×8行的區(qū)域的方式的情況下,塊B的運動矢量被確定為用于上部區(qū)域的運動矢量估計,而塊A的運動矢量用于下部區(qū)域。在圖9B的例子中,在預(yù)測方式是一種將塊E分割為兩個8像素×16行的區(qū)域的方式的情況下,塊A的運動矢量被確定為用于左邊區(qū)域的運動矢量估計,而塊C的運動矢量用于右邊區(qū)域。按照以上各種預(yù)測方式被選擇用于分割區(qū)域的運動矢量的位置僅僅是例子,并且任何位置上的運動矢量都可能被確定為用于編碼目標(biāo)塊的運動矢量估計。
上述第一和第二實施例中的活動圖像編碼裝置10和活動圖像解碼裝置30都是使用相鄰塊(A、B、C)的運動矢量確定編碼目標(biāo)塊(E)的運動矢量估計,如圖5中所示,但如某些場合所需要的,可能需要修改相鄰塊的數(shù)量及其相對于塊(E)的位置。
在本發(fā)明的活動圖像編碼裝置和活動圖像解碼裝置中,如上所述,運動矢量預(yù)測裝置根據(jù)針對檢測目標(biāo)區(qū)域的運動矢量而參考的幀圖像與編碼目標(biāo)的幀圖像之間的時間差值進(jìn)行校正,以對相鄰區(qū)域的運動矢量進(jìn)行縮放,并且根據(jù)相鄰區(qū)域的運動矢量,對最佳預(yù)測運動矢量進(jìn)行預(yù)測;因此,被預(yù)測的運動矢量是考慮了運動的時間連續(xù)性而確定的,由此,可以進(jìn)一步減少目標(biāo)區(qū)域的實際運動矢量與被預(yù)測的運動矢量之間的差值。由此,本發(fā)明成功地提供了能夠增加編碼和解碼中信息壓縮的效率的活動圖像編碼裝置和活動圖像解碼裝置。
權(quán)利要求
1.一種活動圖像編碼裝置,用于將包括幀圖像信號的時間序列的活動圖像信號中的作為編碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,參照與作為編碼目標(biāo)的幀圖像不同的多個幀圖像檢測用于相應(yīng)目標(biāo)區(qū)域的運動矢量,并且由此根據(jù)運動補償執(zhí)行編碼,該活動圖像編碼裝置包括運動矢量預(yù)測裝置,用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;以及根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
2.按照權(quán)利要求1的活動圖像編碼裝置,其中運動矢量預(yù)測裝置根據(jù)相鄰參考幀圖像、目標(biāo)參考幀圖像和目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對相鄰區(qū)域的各運動矢量進(jìn)行縮放,并且根據(jù)相鄰區(qū)域的被校正的運動矢量確定最佳預(yù)測運動矢量。
3.按照權(quán)利要求1的活動圖像編碼裝置,其中運動矢量預(yù)測裝置根據(jù)相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量,并且根據(jù)被確定為最佳預(yù)測運動矢量的相鄰區(qū)域的運動矢量的相鄰參考幀圖像、目標(biāo)參考幀圖像以及目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對最佳預(yù)測運動矢量進(jìn)行縮放。
4.一種活動圖像解碼裝置,用于將包括幀圖像信號的時間序列的活動圖像信號中的作為解碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,并且利用被預(yù)測的運動矢量與參照與作為解碼目標(biāo)的幀圖像不同的多個幀圖像檢測的相應(yīng)目標(biāo)區(qū)域的運動矢量之間的差值信息,以便根據(jù)運動補償執(zhí)行解碼,該活動圖像解碼裝置包括運動矢量預(yù)測裝置,用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;以及根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
5.按照權(quán)利要求4的活動圖像解碼裝置,其中運動矢量預(yù)測裝置根據(jù)相鄰參考幀圖像、目標(biāo)參考幀圖像和目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對相鄰區(qū)域的各運動矢量進(jìn)行縮放,并且根據(jù)相鄰區(qū)域的被校正的運動矢量確定最佳預(yù)測運動矢量。
6.按照權(quán)利要求4的活動圖像解碼裝置,其中運動矢量預(yù)測裝置根據(jù)相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量,并且根據(jù)被確定為最佳預(yù)測運動矢量的相鄰區(qū)域的運動矢量的相鄰參考幀圖像、目標(biāo)參考幀圖像以及目標(biāo)幀圖像之間的時間關(guān)系或者根據(jù)其時間信息進(jìn)行校正,以基于目標(biāo)參考幀圖像對最佳預(yù)測運動矢量進(jìn)行縮放。
7.一種活動圖像編碼方法,用于將包括幀圖像信號的時間序列的活動圖像信號中的作為編碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,參照與作為編碼目標(biāo)的幀圖像不同的多個幀圖像檢測用于相應(yīng)目標(biāo)區(qū)域的運動矢量,并且由此根據(jù)運動補償執(zhí)行編碼,該活動圖像編碼方法包括運動矢量預(yù)測步驟,其中運動矢量預(yù)測裝置執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;以及根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
8.一種活動圖像解碼方法,用于將包括幀圖像信號的時間序列的活動圖像信號中的作為解碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,并且利用被預(yù)測的運動矢量與參照與作為解碼目標(biāo)的幀圖像不同的多個幀圖像檢測的相應(yīng)目標(biāo)區(qū)域的運動矢量之間的差值信息,以便根據(jù)運動補償執(zhí)行解碼,該活動圖像解碼方法包括運動矢量預(yù)測步驟,其中運動矢量預(yù)測裝置用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;以及根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
9.一種活動圖像編碼程序,用于使計算機執(zhí)行編碼處理,該編碼處理用于將包括幀圖像信號的時間序列的活動圖像信號中的作為編碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,參照與作為編碼目標(biāo)的幀圖像不同的多個幀圖像檢測用于相應(yīng)目標(biāo)區(qū)域的運動矢量,并且由此根據(jù)運動補償執(zhí)行編碼,其中使計算機實現(xiàn)運動矢量預(yù)測裝置的功能,該運動矢量預(yù)測裝置用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;以及根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
10.一種活動圖像解碼程序,用于使計算機執(zhí)行解碼處理,該解碼處理用于將包括幀圖像信號的時間序列的活動圖像信號中的作為解碼目標(biāo)的幀圖像劃分為多個目標(biāo)區(qū)域,并且利用被預(yù)測的運動矢量與參照與作為解碼目標(biāo)的幀圖像不同的多個幀圖像檢測的相應(yīng)目標(biāo)區(qū)域的運動矢量之間的差值信息,以便根據(jù)運動補償執(zhí)行解碼,其中使計算機實現(xiàn)運動矢量預(yù)測裝置的功能,該運動矢量預(yù)測裝置用于執(zhí)行根據(jù)針對檢測與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量而參考的相鄰參考幀圖像、針對檢測目標(biāo)區(qū)域的運動矢量而參考的目標(biāo)參考幀圖像以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像對與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量進(jìn)行縮放來進(jìn)行校正;以及根據(jù)與目標(biāo)區(qū)域相鄰的相鄰區(qū)域的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
全文摘要
本發(fā)明的目的是,增加編碼和解碼中信息壓縮的效率。本發(fā)明的活動圖像編碼裝置(10)具有運動矢量預(yù)測部分,用于執(zhí)行根據(jù)針對檢測與編碼目標(biāo)塊相鄰的相鄰塊的運動矢量而參考的相鄰參考幀圖像(703a、703b和703c)、針對檢測目標(biāo)塊的運動矢量而參考的目標(biāo)參考幀圖像(702)以及作為編碼目標(biāo)的幀圖像的目標(biāo)幀圖像(701)之間的時間關(guān)系,或者根據(jù)其時間信息,基于目標(biāo)參考幀圖像(702)對相鄰塊的運動矢量(751a、751b和751c)進(jìn)行縮放來進(jìn)行校正;并且,根據(jù)相鄰塊的運動矢量確定最佳預(yù)測運動矢量;以及由此預(yù)測校正之后的最佳預(yù)測運動矢量。
文檔編號H04N7/32GK1592421SQ200410076620
公開日2005年3月9日 申請日期2004年5月8日 優(yōu)先權(quán)日2003年5月7日
發(fā)明者加藤禎篤, 文仲丞, 安達(dá)悟 申請人:株式會社Ntt都科摩