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