專利名稱:運(yùn)動圖像編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及運(yùn)動圖像編碼系統(tǒng),尤其涉及一種使用長期參考圖像來提高編碼效率的運(yùn)動圖像編碼方法。
一旦檢測到場景變化,就可以改變其數(shù)字圖像編碼方法。例如,因?yàn)榘l(fā)生場景變化的圖像和前一場景的圖像之間的相似性非常低,所以對有場景變化的圖像以幀內(nèi)模式進(jìn)行編碼,即僅使用同一圖像內(nèi)的解碼樣本的預(yù)測來對圖像進(jìn)行編碼,而不使用幀間模式,即通過先前解碼的參考圖像的運(yùn)動補(bǔ)償來對圖像進(jìn)行編碼。
更詳細(xì)地,整幅圖像中發(fā)生了場景變化的圖像是以幀內(nèi)模式對全部塊進(jìn)行編碼的幀內(nèi)圖像。同時(shí),在某些區(qū)域發(fā)生了場景變化的圖像中,以幀內(nèi)模式對發(fā)生了場景變化的區(qū)域內(nèi)的全部塊進(jìn)行編碼。和幀間模式相比,這種幀內(nèi)模式會產(chǎn)生更多的比特,所以在低比特率的應(yīng)用中,頻繁發(fā)生場景變化的序列存在致命的問題。
通常,當(dāng)在運(yùn)動圖像編碼系統(tǒng)中使用B圖像時(shí),編碼順序與顯示順序不同。
圖1顯示了使用兩個(gè)B圖像時(shí)顯示各個(gè)圖像的顯示順序。如圖1所示,在即將顯示的圖像中,首先顯示幀內(nèi)圖像I。幀內(nèi)圖像I顯示后,隨后顯示兩個(gè)B圖像B1和B2。B圖像顯示后,顯示P圖像P3。如上所述,如此執(zhí)行下一步。換句話說,P圖像P3顯示后,顯示第四和第五B圖像B4和B5。隨后顯示P圖像P6。
然而,數(shù)字圖像的編碼順序并不與顯示順序相同。換句話說,要在B圖像之前,對P圖像進(jìn)行編碼。
圖2顯示了使用兩個(gè)B圖像時(shí)顯示各個(gè)圖像的編碼順序。如圖2所示,如果對幀內(nèi)圖像I進(jìn)行編碼,雖然B圖像B1和B2顯示在P圖像P3之前,但要在B圖像B1和B2之前對P圖像P3進(jìn)行編碼。此后,對P6、B4、B5、P9、B7、B8、P12、B10和B11按順序進(jìn)行編碼。
這里,B圖像有五種模式,即幀內(nèi)模式、前向模式、后向模式、雙向預(yù)測模式和直接模式。雙向預(yù)測模式有兩個(gè)參考圖像。該兩個(gè)參考圖像同時(shí)位于B圖像之前或之后,或其中之一位于B圖像之前,另一個(gè)位于B圖像之后。
尤其是,直接模式使用時(shí)間冗余來保持兩個(gè)相鄰圖像之間運(yùn)動的連續(xù)性。換句話說,在直接模式中,B圖像中的直接模式前向運(yùn)動矢量和后向運(yùn)動矢量源自于剛好位于B圖像之后的后續(xù)圖像中相同位置塊的運(yùn)動矢量。這種直接模式不需要諸如運(yùn)動信息的附加比特,從而可減小比特率。
這里,當(dāng)后續(xù)圖像中的相同位置塊有運(yùn)動矢量MV時(shí),利用圖像之間的時(shí)間距離來縮放運(yùn)動矢量MV,以獲得普通直接模式的前向運(yùn)動矢量MVf和后向運(yùn)動矢量MVb。換句話說,使用以下公式1和公式2來確定前向運(yùn)動矢量MVf和后向運(yùn)動矢量MVb。
公式1MVf=TRb*MVTRd]]>公式2MVb=(TRb-TRd)*MVTRd]]>其中,MV是后續(xù)圖像中的相同位置塊的運(yùn)動矢量,MVf是B圖像的直接模式前向運(yùn)動矢量,MVb是B圖像的直接模式后向運(yùn)動矢量,TRd是后續(xù)圖像和后續(xù)圖像中相同位置塊的運(yùn)動矢量所指的參考圖像之間的時(shí)間距離,TRb是B圖像和后續(xù)圖像中相同位置塊的運(yùn)動矢量所指的參考圖像之間的時(shí)間距離。
因此,直接模式是一種使用兩個(gè)運(yùn)動矢量MVf和MVb來獲得兩個(gè)運(yùn)動補(bǔ)償塊的編碼模式,并通過對兩個(gè)運(yùn)動補(bǔ)償塊進(jìn)行平均或插值計(jì)算來獲得預(yù)測塊。
因此,本發(fā)明的目的在于提供一種運(yùn)動圖像編碼方法,該方法能夠使用B圖像的長期參考圖像以直接模式來提高編碼效率。
本發(fā)明的另一個(gè)目的在于提供一種運(yùn)動圖像編碼方法,該方法對發(fā)生了場景變化的圖像使用幀間模式,以減少比特?cái)?shù)量。
本發(fā)明的其它優(yōu)點(diǎn)、目的和特征有一部分將在以下的說明書中進(jìn)行闡述,有一部分則對于本領(lǐng)域的技術(shù)人員經(jīng)過對以下內(nèi)容的檢驗(yàn)后會變得明了,或者通過本發(fā)明的實(shí)踐而體驗(yàn)到。所附的權(quán)利要求書具體指出了本發(fā)明的目的和優(yōu)點(diǎn)。
如這里所體現(xiàn)和廣泛描述的那樣,為達(dá)到本發(fā)明的上述目的和其它優(yōu)點(diǎn),根據(jù)本發(fā)明的目的,一種確定B圖像中的直接模式運(yùn)動矢量的方法包括以下步驟在使用直接模式對B圖像中各個(gè)塊進(jìn)行編碼時(shí),根據(jù)參考緩沖器的類型有差別地為B圖像確定直接模式運(yùn)動矢量,這里,參考緩沖器存儲著由指定圖像中的相同位置塊的運(yùn)動矢量所指的參考圖像。
優(yōu)選的,指定圖像是B圖像編碼時(shí)使用的短期參考圖像中的一個(gè)。
使用在指定圖像中的相同位置塊上所計(jì)算的參考圖像索引來確定參考圖像的類型。
該參考圖像索引存儲在系統(tǒng)緩沖器中。
當(dāng)在指定圖像中的相同位置塊上計(jì)算的運(yùn)動矢量指向一個(gè)長期參考圖像時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且B圖像的直接模式后向運(yùn)動矢量被確定為零。
在指定圖像中的相同位置塊上計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
當(dāng)在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量指向一個(gè)短期參考圖像時(shí),通過圖像之間的時(shí)間距離來對指定圖像中的相同位置塊的運(yùn)動矢量進(jìn)行縮放,以確定B圖像的直接模式運(yùn)動矢量。
在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
本發(fā)明的另一個(gè)方面,確定B圖像中的直接模式運(yùn)動矢量的方法包含以下步驟在使用直接模式對B圖像中各個(gè)塊進(jìn)行編碼時(shí),根據(jù)存儲指定圖像的參考緩沖器的類型來有差異地確定B圖像的直接模式運(yùn)動矢量。
該參考緩沖器包括長期參考緩沖器和短期參考緩沖器。
優(yōu)選的,指定圖像是短期參考圖像和長期參考圖像中的一個(gè)。
當(dāng)指定圖像存儲在長期參考緩沖器中時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,B圖像的直接模式后向運(yùn)動矢量被確定為零。
當(dāng)指定圖像存儲在短期參考緩沖器中時(shí),根據(jù)參考緩沖器的類型來有差異地確定B圖像的直接模式運(yùn)動矢量,這里,參考緩沖器存儲著指定圖像中的相同位置塊的運(yùn)動矢量所指的參考圖像。
使用在指定圖像中的相同位置塊上所計(jì)算的參考圖像索引來確定參考圖像的類型。
該參考圖像索引存儲在系統(tǒng)緩沖器中。
當(dāng)在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量指向長期參考圖像時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,B圖像的直接模式后向運(yùn)動矢量被確定為零。
在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
當(dāng)在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量指向短期參考圖像時(shí),通過圖像之間的時(shí)間距離來對指定圖像中的相同位置塊的運(yùn)動矢量進(jìn)行縮放,以確定B圖像的直接模式運(yùn)動矢量。
在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
本發(fā)明的另一個(gè)方面,以幀間模式對運(yùn)動圖像的P圖像進(jìn)行編碼的方法包含以下步驟(a)確定P圖像中是否發(fā)生了場景變化;以及(b)如果P圖像中發(fā)生了場景變化,則根據(jù)長期參考圖像來對P圖像進(jìn)行編碼。
優(yōu)選的,發(fā)生了場景變化的P圖像是場景切換圖像和局部場景變化圖像中的一個(gè)。
如果發(fā)生場景變化的P圖像是局部場景變化圖像,則使用長期參考圖像來對發(fā)生了場景變化的區(qū)域中包含的塊進(jìn)行編碼。
存儲長期參考圖像的長期參考緩沖器是用于存儲在預(yù)定時(shí)間前編碼的圖像的緩沖器。
如果發(fā)生場景變化的P圖像是局部場景變化圖像,則使用短期參考圖像來對沒有發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
存儲短期參考圖像的短期參考緩沖器是用于存儲在預(yù)定時(shí)間后編碼的圖像的緩沖器。
本發(fā)明的另一個(gè)方面,在運(yùn)動圖像編碼系統(tǒng)中對運(yùn)動圖像序列進(jìn)行編碼的方法包含以下步驟(a)確定在P圖像中是否發(fā)生了場景變化;(b)如果存在發(fā)生了場景變化的P圖像,則根據(jù)長期參考圖像以幀間模式對P圖像進(jìn)行編碼;(c)當(dāng)根據(jù)編碼順序使用直接模式對B圖像中的每個(gè)塊進(jìn)行編碼時(shí),確定存儲著指定圖像的參考緩沖器的類型;以及(d)根據(jù)參考緩沖器的類型來計(jì)算B圖像的直接模式運(yùn)動矢量,并以直接模式對B圖像進(jìn)行編碼。
在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
在步驟(d)中,當(dāng)指定圖像存儲在長期參考緩沖器中,B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,B圖像的直接模式后向運(yùn)動矢量被確定為零。
在步驟(d)中,當(dāng)指定圖像存儲在短期參考緩沖器中時(shí),根據(jù)參考緩沖器的類型來有差異地確定B圖像的直接模式運(yùn)動矢量,這里,參考緩沖器存儲著指定圖像中的相同位置塊的運(yùn)動矢量所指的參考圖像。
使用在指定圖像中的相同位置塊上所計(jì)算的參考圖像索引來確定參考圖像的類型。
該參考圖像索引存儲在系統(tǒng)緩沖器中。
當(dāng)指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量指向長期參考圖像時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,B圖像的直接模式后向運(yùn)動矢量被確定為零。
在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
當(dāng)在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量指向短期參考圖像時(shí),通過圖像之間的時(shí)間距離來對指定圖像中的相同位置塊的運(yùn)動矢量進(jìn)行縮放,以確定B圖像的直接模式運(yùn)動矢量。
在指定圖像中的相同位置塊上所計(jì)算的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
發(fā)生場景變化的P圖像是場景切換圖像和局部場景變化圖像中的一個(gè)。
如果發(fā)生場景變化的P圖像是局部場景變化圖像,則使用長期參考圖像來對發(fā)生場景變化的區(qū)域中包含的塊進(jìn)行編碼。
存儲長期參考圖像的長期參考緩沖器是用于存儲在預(yù)定時(shí)間之前編碼的圖像的緩沖器。
如果發(fā)生場景變化的P圖像是局部場景變化圖像,則使用短期參考圖像來對沒有發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
存儲短期參考圖像的短期參考緩沖器是用于存儲在預(yù)定時(shí)間之后編碼的圖像的緩沖器。
短期參考緩沖器由先入先出存儲器(FIFO)構(gòu)成。
用于B圖像直接模式編碼的指定圖像是B圖像編碼中使用的參考圖像中的一個(gè)。
可以理解,本發(fā)明的以上概述和以下的詳述都是示例性的和解釋性的,旨在幫助進(jìn)一步闡明如所附權(quán)利要求所限定的本發(fā)明。
圖2顯示了使用兩個(gè)B圖像時(shí)所顯示的每個(gè)圖像的編碼順序;;圖3A到圖3B是流程圖,顯示了根據(jù)本發(fā)明優(yōu)選實(shí)施例在運(yùn)動圖像編碼系統(tǒng)中對運(yùn)動圖像序列進(jìn)行編碼的方法;圖4顯示了根據(jù)本發(fā)明的優(yōu)選實(shí)施例對發(fā)生了場景變化的運(yùn)動圖像序列進(jìn)行編碼的方法;以及圖5顯示了根據(jù)本發(fā)明的優(yōu)選實(shí)施例以直接模式對B圖像進(jìn)行編碼的方法。
優(yōu)選實(shí)施例說明下文將詳細(xì)描述本發(fā)明的優(yōu)選實(shí)施例,其中的實(shí)例被顯示在附圖中。只要可能,用同一數(shù)字指代附圖相同或相似的部件。
首先,在描述本發(fā)明的優(yōu)選實(shí)施例之前作如下定義,在發(fā)生了場景變化的運(yùn)動圖像中,完全發(fā)生場景變化的圖像被定義為場景切換圖像,部分發(fā)生場景變化的圖像被定義為局部場景變化圖像。
圖3A和圖3B是流程圖,顯示了根據(jù)本發(fā)明優(yōu)選實(shí)施例的運(yùn)動圖像編碼系統(tǒng)中對運(yùn)動圖像序列進(jìn)行編碼的方法。如圖3A和圖3B所示,從運(yùn)動圖像序列中順序輸出圖像(S111)。
確定圖像的類型(S114)。換言之,確定所輸入的圖像是P圖像還是B圖像。這里,在本發(fā)明的優(yōu)選實(shí)施例中,假設(shè)已預(yù)先完成了對幀內(nèi)圖像的編碼。
如果圖像是P圖像,則確定P圖像中是否發(fā)生了場景變化(S117)。這里,將P圖像與緊接該P(yáng)圖像之前顯示的圖像(P圖像或B圖像)進(jìn)行比較,從而確定場景變化。
作為上述步驟S117的確定結(jié)果,如果P圖像中的場景完全發(fā)生變化,則該P(yáng)圖像是場景切換圖像。同時(shí),如果P圖像被確定為場景切換圖像,則根據(jù)長期參考圖像來執(zhí)行編碼(S120)。
如果P圖像不是場景切換圖像,則確定P圖像是否是局部場景變化圖像(S123)。
如果P圖像是局部場景變化圖像,則返回到步驟S120,根據(jù)長期參考圖像來對發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼(S126)。
根據(jù)短期參考圖像來對沒有發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼(S129,S132)。
這里,長期參考圖像是存儲在長期參考緩沖器中的圖像,短期參考圖像是存儲在短期參考緩沖器中的圖像。
短期參考緩沖器具有先入先出存儲器(FIFO),其中先輸入的圖像先輸出,相對較短時(shí)間之前編碼的圖像存儲在短期參考緩沖器中。
相對較長時(shí)間之前編碼的圖像存儲在長期參考緩沖器中。各個(gè)場景組的第一個(gè)圖像,即,幀內(nèi)圖像、場景切換圖像、局部場景變化圖像等等被存儲在長期參考緩沖器中。
如果長期參考緩沖器中沒有場景切換圖像或局部場景變化圖像,則可以另外存儲發(fā)生了場景變化的圖像。
因此,如圖4所示,在長期參考緩沖器中可以存儲場景組A1的第一個(gè)場景切換圖像,即幀內(nèi)圖像10,場景組B1的第一個(gè)場景切換圖像P50和第一個(gè)局部場景變化圖像P120。這里,場景組是一組相似的圖像。例如,假定有一個(gè)訪談節(jié)目,廣播員出現(xiàn),畫面A出現(xiàn),廣播員重新出現(xiàn),畫面重新出現(xiàn)。廣播員第一次出現(xiàn)的場景是場景組A,隨后出現(xiàn)畫面A的場景是場景組B。廣播員重新出現(xiàn)的場景是場景組A,以及畫面A重新出現(xiàn)的場景是場景組B。如上所述,當(dāng)發(fā)生場景變化時(shí),以幀間模式,而不是幀內(nèi)模式,來根據(jù)短期參考圖像或長期參考圖像對P圖像進(jìn)行編碼。這樣減少了比特的數(shù)量,提高了編碼效率。
用圖4來描述步驟S117到S132。如圖4所示,如果即將編碼的P圖像P200是屬于場景組B2的場景切換圖像,則不使用存儲在短期參考緩沖器中的短期參考圖像。其原因在于場景切換圖像P200是場景組B2的第一個(gè)圖像,且場景切換圖像P200的場景組不同于屬于場景組A2的短期參考圖像,諸如P199、P198、P197等等。所以場景切換圖像P200與屬于場景組A2的短期參考圖像的相似性被極大地減少了,由這些參考圖像不能獲得精確的編碼。
在該情況下,根據(jù)屬于和場景組B2一樣的場景組B1的其它參考圖像P50和P120,以幀間模式來對P圖像進(jìn)行編碼。
另一方面,如果P圖像P250中發(fā)生了部分場景變化,則根據(jù)兩種狀態(tài)來不同地執(zhí)行編碼。換言之,根據(jù)存儲在長期參考緩沖器中的長期參考圖像P250和P120,以幀間模式對發(fā)生了部分場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。根據(jù)P249、P248和P247等存儲在短期參考緩沖器中的短期參考圖像,以幀間模式對未發(fā)生部分場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
如上所述,對一個(gè)P圖進(jìn)行編碼后,輸入下一個(gè)圖像(S159)。如果相應(yīng)的圖像是B圖像,則測試五種預(yù)測模式(幀內(nèi)模式、前向模式、后向模式、雙向預(yù)測模式和直接模式),并選擇其中的一種作為最佳模式(S135,S138)。在本說明書中,將主要描述直接模式。
首先,讀取B圖像的一個(gè)塊(S141)。當(dāng)然,可隨后讀取其它塊。此后,檢查存儲著指定圖像的參考緩沖器的類型。
與顯示順序無關(guān),按照編碼順序,在B圖像之前的圖像中確定指定圖像。換言之,指定圖像是編碼B圖像所用的參考圖像中的一個(gè)。因此,指定圖像可能是短期參考圖像,也可以是長期參考圖像。在顯示順序上,短期參考圖像可以在B圖像之前或之后,且被存儲在短期參考緩沖器中。長期參考圖像被存儲在長期參考緩沖器中。如果指定圖像是長期參考圖像,則B圖像的直接模式前向運(yùn)動矢量是指定圖像中相同位置塊的運(yùn)動矢量。B圖像的直接模式后向運(yùn)動矢量被確定為零(S150)。然而,如果指定圖像是短期參考圖像,則讀取在指定圖像中相同位置塊上所計(jì)算的參考圖像索引和運(yùn)動矢量(S144)。上述參考圖像索引和運(yùn)動矢量是預(yù)先計(jì)算的,并被存儲在系統(tǒng)緩沖器中。根據(jù)參考圖像索引,確定指定圖像中相同位置塊的運(yùn)動矢量是否指向長期參考圖像(S147)。如上所述,該參考圖像被存儲在包含有短期參考緩沖器和長期參考緩沖器的參考緩沖器中。
如果指定圖像中相同位置塊的運(yùn)動矢量指向長期參考圖像,則使用以下表達(dá)式3和表達(dá)式4來對B圖像進(jìn)行編碼(S150)。
表達(dá)式3MVf=MV這里,MV是指定圖像中的相同位置塊的運(yùn)動矢量,MVf是B圖像的直接模式前向運(yùn)動矢量。
表達(dá)式4MVb=0這里,MV是指定圖像中的相同位置塊的運(yùn)動矢量,MVb是B圖像的直接模式后向運(yùn)動矢量。
換言之,如果指定圖像中相同位置塊的運(yùn)動矢量指向長期參考圖像,則B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且后向運(yùn)動矢量被確定為零。
如圖5所示,在步驟S150,如果指定圖像P200中的相同位置塊的運(yùn)動矢量指向長期參考圖像P50,則TRd和TRb在現(xiàn)有表達(dá)式1和表達(dá)式2中沒有意義。換言之,因?yàn)門Rd和TRb是時(shí)間距離,該時(shí)間距離包括了屬于場景組B2的指定圖像P200和屬于相同場景組B1的長期參考圖像P50之間的其它場景組A2,所以不能使用TRd和TRb來計(jì)算直接模式前向運(yùn)動矢量和后向運(yùn)動矢量。
參考圖5進(jìn)行更詳細(xì)的描述。當(dāng)向運(yùn)動圖像序列中插入兩幅B圖像,并對該B圖像進(jìn)行編碼時(shí),首先對編碼順序早于B1和B2的P圖像P200進(jìn)行編碼。因?yàn)镻圖像P200是發(fā)生場景變化的場景切換圖像,所以由存儲在長期參考緩沖器中的長期參考圖像P50,以幀間模式對P圖像P200進(jìn)行編碼。根據(jù)編碼順序,即將編碼的下一個(gè)圖像是B1圖像。因?yàn)锽1圖像屬于場景組A2,所以由屬于場景組A2的短期參考圖像,以前向模式,或者以兩個(gè)參考圖像都屬于場景組A2的雙向預(yù)測模式,來對大多數(shù)塊進(jìn)行編碼。然而,根據(jù)屬于另一個(gè)場景組B2的P圖像P200的幀內(nèi)模式、后向模式或預(yù)測模式,以及由P圖像P200中相同位置塊獲得直接模式運(yùn)動矢量的直接模式,可能無法用作B1圖像中的塊的編碼模式。
不同地是,因?yàn)橛糜贐2圖像直接模式運(yùn)動矢量的B2圖像和指定圖像P200屬于同一場景組B2,所以直接模式被選為用于B2圖像中的大多數(shù)塊的編碼模式。換句話說,在由屬于同一場景組B2的長期參考圖像P50,以幀間模式獲得指定圖像P200中每個(gè)塊的運(yùn)動矢量之后,根據(jù)指定圖像P200中的相同位置塊的運(yùn)動矢量來計(jì)算B2圖像中的直接模式運(yùn)動矢量。因?yàn)锽2圖像和指定圖像P200屬于場景組B2,所以長期參考圖像P50也屬于場景組B1,并且場景組B1和場景組B2之間的相似性非常高,所以直接模式可以被選為用作B2圖像中的大多數(shù)塊的編碼模式。因此,B2圖像的編碼效率得到提高。
另一方面,如果指定圖像中的相同位置塊的運(yùn)動矢量指向短期參考圖像,則使用現(xiàn)有表達(dá)式1和表達(dá)式2來對B圖像進(jìn)行編碼,因?yàn)榇鎯υ诙唐趨⒖季彌_器中的短期參考圖像與B圖像屬于同一場景組,并且在指定圖像和該短期參考圖像之間不存在其它場景組,所以使用與表示時(shí)間距離的TRd和TRb相關(guān)的現(xiàn)有表示式1和表示式2來確定直接模式前向運(yùn)動矢量和后向運(yùn)動矢量。
如果B圖像的一個(gè)塊被編碼,則讀取下一個(gè)B圖像中的塊且隨后進(jìn)行編碼(S156)。對B圖像中的所有塊執(zhí)行這種處理。在B圖像被編碼之后,下一個(gè)圖像被輸入并被編碼,從而實(shí)現(xiàn)了對運(yùn)動圖像的編碼(S159)。
如上所述,根據(jù)本發(fā)明的運(yùn)動圖像編碼方法,根據(jù)由指定圖像中的相同位置塊的運(yùn)動矢量所指的參考圖像來有差異地確定B圖像的直接模式前向運(yùn)動矢量和后向運(yùn)動矢量。當(dāng)對B圖像進(jìn)行編碼時(shí),主要使用直接模式作為編碼模式,以提高整體編碼效率。
根據(jù)本發(fā)明的運(yùn)動圖像編碼方法,使用來自長期參考圖像的運(yùn)動補(bǔ)償,以幀間模式對發(fā)生了場景變化的P圖像進(jìn)行編碼,從而減少了比特?cái)?shù)量,并提高了編碼效率。
對于本領(lǐng)域的技術(shù)人員,很顯然本發(fā)明可以有很多的替換、改進(jìn)和變化。在權(quán)利要求書中,裝置加功能的語句旨在涵蓋實(shí)現(xiàn)所述功能的結(jié)構(gòu),其不僅包括結(jié)構(gòu)的等同,也包括等同的結(jié)構(gòu)。
權(quán)利要求
1.一種確定B圖像中的直接模式運(yùn)動矢量的方法,該方法包含以下步驟在使用直接模式對B圖像中的各個(gè)塊進(jìn)行編碼時(shí),根據(jù)參考緩沖器的類型來不同地確定B圖像的直接模式運(yùn)動矢量,其中參考緩沖器存儲著指定圖像中相同位置塊的運(yùn)動矢量所指的參考圖像。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述指定圖像是B圖像編碼中使用的一個(gè)短期參考圖像。
3.根據(jù)權(quán)利要求1所述的方法,其中,使用在指定圖像中的相同位置塊上預(yù)先計(jì)算的參考圖像索引來確定參考圖像的類型。
4.根據(jù)權(quán)利要求3所述的方法,其中,參考圖像索引存儲在系統(tǒng)緩沖器中。
5.根據(jù)權(quán)利要求1所述的方法,其中,當(dāng)在指定圖像中的相同位置塊上計(jì)算的運(yùn)動矢量指向長期參考圖像時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且B圖像的直接模式后向運(yùn)動矢量被確定為零。
6.根據(jù)權(quán)利要求5所述的方法,其中,指定圖像中的相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
7.根據(jù)權(quán)利要求1所述的方法,其中,當(dāng)在指定圖像中的相同位置塊上計(jì)算的運(yùn)動矢量指向短期參考圖像時(shí),通過圖像之間的時(shí)間距離來對指定圖像中的相同位置塊的運(yùn)動矢量進(jìn)行縮放,以確定B圖像的直接模式運(yùn)動矢量。
8.根據(jù)權(quán)利要求7所述的方法,其中,指定圖像中的相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
9.一種確定B圖像中的直接模式運(yùn)動矢量的方法,該方法包含以下步驟在使用直接模式對B圖像中的各個(gè)塊進(jìn)行編碼時(shí),根據(jù)存儲指定圖像的參考緩沖器的類型來有差別地確定B圖像的直接模式運(yùn)動矢量。
10.根據(jù)權(quán)利要求9所述的方法,其中,參考緩沖器包括長期參考緩沖器和短期參考緩沖器。
11.根據(jù)權(quán)利要求9所述的方法,其中,指定圖像是短期參考圖像和長期參考圖像中的一個(gè)。
12.根據(jù)權(quán)利要求9所述的方法,其中,當(dāng)指定圖像存儲在長期參考緩沖器中時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且B圖像的直接模式后向運(yùn)動矢量被確定為零。
13.根據(jù)權(quán)利要求9所述的方法,其中,當(dāng)指定圖像存儲在短期參考緩沖器中時(shí),根據(jù)參考緩沖器的類型來有差別地確定B圖像的直接模式運(yùn)動矢量,其中參考緩沖器存儲著指定圖像中的相同位置塊的運(yùn)動矢量所指的參考圖像。
14.根據(jù)權(quán)利要求13所述的方法,其中,使用指定圖像中相同位置塊上預(yù)先計(jì)算的參考圖像索引來確定參考圖像的類型。
15.根據(jù)權(quán)利要求14所述的方法,其中,參考圖像索引被存儲在系統(tǒng)緩沖器中。
16.根據(jù)權(quán)利要求13所述的方法,其中,當(dāng)在指定圖像中的相同位置塊上計(jì)算的運(yùn)動矢量指向長期參考圖像時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且B圖像的直接模式后向運(yùn)動矢量被確定為零。
17.根據(jù)權(quán)利要求16所述的方法,其中,指定圖像中的相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
18.根據(jù)權(quán)利要求13所述的方法,其中,當(dāng)在指定圖像中相同位置塊上計(jì)算的運(yùn)動矢量指向短期參考圖像時(shí),根據(jù)圖像之間的時(shí)間距離來對指定圖像中相同位置塊的運(yùn)動矢量進(jìn)行縮放,以確定B圖像的直接模式運(yùn)動矢量。
19.根據(jù)權(quán)利要求18所述的方法,其中,指定圖像中的相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
20.一種以幀間模式對運(yùn)動圖像的P圖像進(jìn)行編碼的方法,該方法包含以下步驟(a)確定P圖像中是否發(fā)生了場景變化;以及(b)如果P圖像中發(fā)生了場景變化,則根據(jù)長期參考圖像對P圖像進(jìn)行編碼。
21.根據(jù)權(quán)利要求20所述的方法,其中,所述發(fā)生場景變化的P圖像是場景切換圖像和局部場景變化圖像中的一個(gè)。
22.根據(jù)權(quán)利要求20所述的方法,其中,如果發(fā)生場景變化的P圖像是局部場景變化圖像,則使用長期參考圖像來對發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
23.根據(jù)權(quán)利要求22所述的方法,其中,存儲長期參考圖像的長期參考緩沖器是用于存儲預(yù)定時(shí)間之前編碼的圖像的緩沖器。
24.根據(jù)權(quán)利要求20所述的方法,其中,如果發(fā)生了場景變化的P圖像是局部場景變化圖像,則使用短期參考圖像來對未發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
25.根據(jù)權(quán)利要求24所述的方法,其中,存儲短期參考圖像的短期參考緩沖器是用于存儲在預(yù)定時(shí)間之后編碼的圖像的緩沖器。
26.一種在運(yùn)動圖像編碼系統(tǒng)中對運(yùn)動圖像序列進(jìn)行編碼的方法,該方法包含以下步驟(a)確定在P圖像中是否發(fā)生了場景變化;(b)如果存在發(fā)生了場景變化的P圖像,則根據(jù)長期參考圖像,以幀間模式對P圖像進(jìn)行編碼;(c)當(dāng)根據(jù)編碼順序,使用直接模式對B圖像中的各個(gè)塊進(jìn)行編碼時(shí),確定存儲著指定圖像的參考緩沖器的類型;以及(d)根據(jù)參考緩沖器的類型來計(jì)算B圖像的直接模式運(yùn)動矢量,并以直接模式對B圖像進(jìn)行編碼。
27.根據(jù)權(quán)利要求26所述的方法,其中,指定圖像中的相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
28.根據(jù)權(quán)利要求26所述的方法,其中,在步驟(d)中,當(dāng)指定圖像被存儲在長期參考緩沖器時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且B圖像的直接模式后向運(yùn)動矢量被確定為零。
29.根據(jù)權(quán)利要求26所述的方法,其中,在步驟(d)中,當(dāng)指定圖像存儲在短期參考緩沖器中時(shí),根據(jù)參考緩沖器的類型來有差別地確定B圖像的直接模式運(yùn)動矢量,其中參考緩沖器存儲著指定圖像中相同位置塊的運(yùn)動矢量所指的參考圖像。
30.根據(jù)權(quán)利要求29所述的方法,其中,使用指定圖像中相同位置塊上預(yù)先計(jì)算的參考圖像索引來確定參考圖像的類型。
31.根據(jù)權(quán)利要求30所述的方法,其中,參考圖像索引被存儲在系統(tǒng)緩沖器中。
32.根據(jù)權(quán)利要求29所述的方法,其中,當(dāng)在指定圖像中的相同位置塊上計(jì)算的運(yùn)動矢量指向長期參考圖像時(shí),B圖像的直接模式前向運(yùn)動矢量是指定圖像中的相同位置塊的運(yùn)動矢量,并且B圖像的直接模式后向運(yùn)動矢量被確定為零。
33.根據(jù)權(quán)利要求32所述的方法,其中,指定圖像中的相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
34.根據(jù)權(quán)利要求29所述的方法,其中,當(dāng)指定圖像中相同位置塊上計(jì)算的運(yùn)動矢量指向短期參考圖像時(shí),根據(jù)圖像之間的時(shí)間距離來對指定圖像中相同位置塊的運(yùn)動矢量進(jìn)行縮放,以確定B圖像的直接模式運(yùn)動矢量。
35.根據(jù)權(quán)利要求34所述的方法,其中,指定圖像中相同位置塊的運(yùn)動矢量被存儲在系統(tǒng)緩沖器中。
36.根據(jù)權(quán)利要求26所述的方法,其中,所述發(fā)生場景變化的P圖像是場景切換圖像和局部場景變化圖像中的一個(gè)。
37.根據(jù)權(quán)利要求26所述的方法,其中,如果發(fā)生了場景變化的P圖像是局部場景變化圖像,則使用長期參考圖像來對發(fā)生了場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
38.根據(jù)權(quán)利要求37所述的方法,其中,存儲長期參考圖像的長期參考緩沖器是用于存儲在預(yù)定時(shí)間之前編碼的圖像的緩沖器。
39.根據(jù)權(quán)利要求26所述的方法,其中,如果發(fā)生了場景變化的P圖像是局部場景變化圖像,則使用短期參考圖像來對未發(fā)生場景變化的區(qū)域內(nèi)包含的塊進(jìn)行編碼。
40.根據(jù)權(quán)利要求39所述的方法,其中,存儲短期參考圖像的短期參考緩沖器是用于存儲在預(yù)定時(shí)間之后編碼的圖像的緩沖器。
41.根據(jù)權(quán)利要求39所述的方法,其中,短期參考緩沖器由先入先出存儲器(FIFO)構(gòu)成。
42.根據(jù)權(quán)利要求26所述的方法,其中,所述用于B圖像中直接模式編碼的指定圖像是一個(gè)B圖像編碼中使用的短期參考圖像。
全文摘要
本發(fā)明涉及一種運(yùn)動圖像編碼方法,該方法使用長期參考圖像,在B圖像中通過幀間模式和直接模式來提高運(yùn)動圖像編碼序列的編碼效率。在本發(fā)明中,根據(jù)場景變化,以幀間模式對P圖像進(jìn)行編碼。根據(jù)指定圖像中的相同位置塊的運(yùn)動矢量所指的參考圖像的類型,對直接模式運(yùn)動矢量進(jìn)行計(jì)算和編碼。
文檔編號H04N7/12GK1455598SQ0310144
公開日2003年11月12日 申請日期2003年1月9日 優(yōu)先權(quán)日2002年5月3日
發(fā)明者全炳文 申請人:Lg電子株式會社