專利名稱:帶有運(yùn)動預(yù)測段的圖像編碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及編碼,特別是用于無線傳輸?shù)脑匆曨l編碼。
無線傳輸以相對較低的傳輸速率和較高的差錯率為特征。對于傳輸速率,我們把速率值低于100kbit/s(千比特/秒)稱為低速率,例如14kbit/s的GSM(全球通)信道。我們把大于10-6,或大于10-4的差錯率稱為高差錯率。
ITU-T H263+標(biāo)準(zhǔn)對于視頻源編碼提供了解決方案。該標(biāo)準(zhǔn)由一個強(qiáng)制的公共部分及一個任選的附錄集合所構(gòu)成,附錄集合可以在標(biāo)準(zhǔn)的公共部分之外被啟動。標(biāo)準(zhǔn)沒有指明所獲得的圖像的質(zhì)量,也沒有指明在給定環(huán)境中要應(yīng)用的附錄組合,特別是對于無線傳輸。該附錄集合的啟動由于低可用傳輸率和高差錯率而導(dǎo)致系統(tǒng)難于用于無線傳輸。
標(biāo)準(zhǔn)H.263+的公共部分提出了帶有預(yù)測的塊編碼。我們在一個圖象序列中區(qū)別完整發(fā)送的圖像—類型“I”的圖像,沒有被完整地傳輸?shù)珡囊粋€前面的圖像被預(yù)測—類型“P”的圖像-以及沒有被完整地傳輸?shù)珡那耙粋€和后一個圖像被預(yù)測。對于一個圖像,其中定義了塊或由多個塊構(gòu)成的宏塊,典型的是6個塊,其中4個亮度2個色度,編碼使用下列步驟-估算每一圖像塊或大決的運(yùn)動;-相對于一個參考圖像進(jìn)行運(yùn)動補(bǔ)償預(yù)測;-編碼用于傳輸,典型的是通過壓縮編碼(包括DCT(“Discrete Cosine Transform(離散余弦變換)”),量化,及VLC編碼(“Variable Length Coding(可變長度編碼)”))。
解碼使用相反的步驟以重構(gòu)每一幅圖像。
在該標(biāo)準(zhǔn)中,附錄R-Independent Segment decoding mode或獨(dú)立段解碼模式—建議對于運(yùn)動估算處理使用視頻圖像段(“videopicture segments”),它由一個塊集合組成;運(yùn)動估算在每一個段中被獨(dú)立地執(zhí)行。在此情況下,對于解碼,一個段的限制被處理作圖像限制,還包括超出這些限制的運(yùn)動圖像向量的處理。這些超出限制的運(yùn)動圖像在附錄可選模式D,F(xiàn),J或O不存在時而被禁止。如果我們使用沒有限制的附錄D的運(yùn)動向量模式(“Unrestricted motionvector mode”),視頻圖像當(dāng)前段的邊界被外推以構(gòu)成段區(qū)域之外像素的預(yù)測。
標(biāo)準(zhǔn)的附錄D在標(biāo)準(zhǔn)的公共部分所提出的原理中建議一個例外,即運(yùn)動向量被限制以使得它所參照的所有象素都處于圖像編碼區(qū)內(nèi)。更特殊地,該名稱為“Unrestricted Motion Vector Mode”(非限制運(yùn)動向量模式)的附錄建議,運(yùn)動向量可以指向圖像之外。當(dāng)一個由運(yùn)動向量所參考的像素在編碼圖像表面之外時,我們在其位置使用一個邊緣象素。邊緣像素的值通過將運(yùn)動向量限制在與編碼圖像表面內(nèi)部一個完整像素相對應(yīng)的位置而被獲得。運(yùn)動向量的限制在一個像素的基礎(chǔ)上被執(zhí)行,并且對于運(yùn)動象素的每一個分量被分別地應(yīng)用。
其他的附錄建議,運(yùn)動向量能夠穿過一幅圖像或一幅圖像段的邊界。這是附錄F(“Advanced Prediction Mode”高級預(yù)測模式),J(“Deblocking filter mode”分塊的過濾模式),O(“temporal,SNR and Spatial Scalability”,時間標(biāo)度,信噪比或空間標(biāo)度)的情況。
發(fā)明提出了一個在低速率及高差錯率傳輸問題的解決方案。在該上文中特別提出了塊編碼及運(yùn)動向量限制的效果問題。該問題在低速率及高差錯率傳輸中以特別尖銳的方式被提出,所出現(xiàn)的差錯很難通過重新傳輸或編碼校正器來校正,其原因是它所產(chǎn)生的延遲。另外,低速率不能通過一個更小的差錯數(shù)目來被補(bǔ)償。
該問題對于宏塊以特殊的方式被提出,宏塊位于一個段的右側(cè)和上邊緣上;這導(dǎo)致預(yù)先編碼的應(yīng)用,特別是在宏塊的掃描方向上實(shí)際上通常是從左到右的掃描圖像并且從高到低,用于運(yùn)動向量的確定。
另外,在附錄R中所建議的由段編碼的效果之一是限制了傳輸差錯的影響。從這點(diǎn)看,附錄R被特別嚴(yán)格的應(yīng)用在低速率的傳輸情況中,并且它與用于一運(yùn)動向量可以出自段范圍的低速率傳輸情況的附錄R所提出的建議相反。
因此發(fā)明提出了一種用于在低速率和高誤差率的信道上傳輸?shù)膱D像編碼方法,在該方法中,圖像被分離成由宏塊構(gòu)成的多個段,并且通過運(yùn)動估算來進(jìn)行編碼,其特征在于對于一個段的邊緣上的一個宏塊,至少一個運(yùn)動估算向量可以伸展到相鄰的段中。
在一個實(shí)施例中,對于一個段的邊緣上的一個宏塊,一個運(yùn)動估算向量可以伸展到相鄰段的一個相鄰宏塊中。
最好地,用于運(yùn)動向量估算的圖像掃描從左到后及從高到低地被執(zhí)行,并且對于相鄰于一個段上邊緣的宏塊,一個運(yùn)動估算向量可以伸展到一個相鄰的段中。
如果圖像掃描對于運(yùn)動向量的估算是從左到右及從高到低地被執(zhí)行,對于鄰近一個段右邊緣的宏塊,運(yùn)動估算向量最好能夠伸展到相鄰的一個段中。
在一個實(shí)施例中,每個段由兩行宏塊構(gòu)成。
當(dāng)誤差率大于10-6或大于10-4,或當(dāng)傳輸速率小于100kb/s時,發(fā)明特別適用。
發(fā)明還提出一種將該編碼方法投入應(yīng)用的編碼器。它還提供了一個在低速率及高誤差率的信道上的包括一該編碼器的傳輸系統(tǒng)。
發(fā)明其它的特征和優(yōu)點(diǎn)將通過根據(jù)發(fā)明實(shí)施例的描述而顯現(xiàn)出來,實(shí)施例僅是作為一個例子并參照附圖給出,附圖示出了-
圖1,在一幅圖像中一個視頻圖像段可能的定義的簡示;-圖2,一根據(jù)發(fā)明的編碼器的簡示。
發(fā)明被用于運(yùn)動向量編碼的傳輸系統(tǒng);更準(zhǔn)確地它特別適用于低速率及高差錯率的系統(tǒng)—這些術(shù)語在上面被定義。在圖像段對于運(yùn)動向量估算被確定的情況下,對于定義圖象邊緣的塊或宏塊,發(fā)明提出接受運(yùn)動向量在相鄰段上溢出邊界。
圖1示出了在一幅圖像中一個視頻圖像段的可能的定義。在例子中,圖像是一個QCIF圖像并且每個段由兩行宏塊構(gòu)成,及由一個同步所限制。每個宏塊由4個亮度塊和2個色度塊構(gòu)成,每個塊本身由一個8像素乘8象素的正方形構(gòu)成。同步不僅被用于分割段,而且還能夠使得解碼器在某一段上出現(xiàn)傳輸差錯時找到同步。段的分割避免了差錯在所有圖像上蔓延。
在例子中,每個段由兩行宏塊構(gòu)成,MBi,它們被記作GOBi,該縮寫是英文中“塊組”的縮寫。每行由11宏塊構(gòu)成,并且圖象被切割成9個塊組,也就是說一個176乘144個亮度像素的圖像對應(yīng)4個和半個段。如圖所示的那樣,每個段由一個同步分隔相鄰的段。
根據(jù)在上面討論過的標(biāo)準(zhǔn)H263+的附錄R,運(yùn)動向量的估算在段的內(nèi)部執(zhí)行。該解決方案具有限制差錯蔓延的優(yōu)點(diǎn),每個段與相鄰段獨(dú)立地被編碼。該解決方案是令人滿意的,但限于在低速率及高誤差率的傳輸中。
對于一個段的邊緣的宏塊的運(yùn)動向量估算,發(fā)明提出放松該限制。更特別的,在運(yùn)動向量估算通過從左到右并且從高到低掃描圖像來執(zhí)行的情況下,對于形成每一段上邊緣和右邊緣的宏塊就提出了運(yùn)動估算的問題。實(shí)際上,對于運(yùn)動估算,我們使用處于左面,上面以及當(dāng)前像素的上、右的像素;在段內(nèi)部的估算對于位于段左面或段下面邊緣上的宏塊(對于那些多于兩行宏塊的段)是以正確的方式被執(zhí)行的。然而,對于位于段的上邊緣或段的右邊緣上的宏塊,運(yùn)動向量的限制提出了問題。發(fā)明提出,在相鄰段的相鄰宏塊之一中可以具有一個端部。
在圖示的例子中,我們考慮由塊GOB4和GOB5的行構(gòu)成的段。該段通過一個在圖中記作Sync4的同步在其上面部分被限制,通過圖上標(biāo)記為Sync5的一個同步在其下面部分被限制。我們考慮宏塊GOB4的行的宏塊MBx。該宏塊是段的邊緣宏塊之一。因此對于該宏塊的像素或塊的運(yùn)動向量估算,發(fā)明提出不僅使用段的其它宏塊,而且在必要時使用宏塊GOB2和GOB3行的構(gòu)成段的宏塊。更特殊的,最好唯一地使用相鄰的宏塊,挾句話說行GOB3的宏塊,或更特殊地,行GOB3的宏塊MBx-1,MBx和MBx+1。
圖1示出了行jloW,它分割了宏塊GOB2和GOB3的行,以及線jhigh,它分割了宏塊GOB5和GOB6的行。在該情況下,對于段上邊緣的一個宏塊的運(yùn)動估算,也就是說對于行GOB4的一個宏塊,我們可以使用在行jlow和行jhigh之間的宏塊。行jlow和同步Sync4之間的距離是15個像素。
發(fā)明特別應(yīng)用于位于一個段右側(cè)上的宏塊,這總是在圖像掃描從左到右從高到低的情況下。在該情況下,如果不允許運(yùn)動向量穿過段的上邊緣,它將有水平伸展的趨勢,這將有產(chǎn)生圖像輸出的效果。發(fā)明可以避免該問題。因此最好將發(fā)明應(yīng)用于位于段上面和右面的宏塊,在圖1的例子中是由行GOB4和GOB5構(gòu)成的段的塊行GOB4的宏塊MB10。
對于低速率和高誤差率的傳輸,發(fā)明能夠避免由于運(yùn)動估算在一個段上的限制所產(chǎn)生差錯。它改善了重構(gòu)圖像的質(zhì)量,并且不會在低速率及高誤差率的傳輸中所碰到的限制上產(chǎn)生干擾,即傳輸速度,編碼器或解碼器的復(fù)雜性及存儲容量。然而在運(yùn)動向量估算被限制的情況下,發(fā)明具有附錄R的優(yōu)點(diǎn),也就是說它能夠限制誤差的比率。
在前面的描述中,我們沒有明確參考圖像是什么;它可以以公知的方式被選擇,并且可以簡單地是如同圖2的編碼器例子中的圖像。
圖2簡要地示出了一種將發(fā)明投入應(yīng)用的編碼器的例子。視頻圖像被應(yīng)用于編碼系統(tǒng)的輸入,它一方面到運(yùn)動圖像估算器2,另一方面到減法器4的輸入。運(yùn)動估算其提供了一個相對于前一圖象的圖象塊,或該圖像的宏塊,的運(yùn)動估算;如同在標(biāo)準(zhǔn)中提到的,我們可以使用8×8像素的塊,以及6個塊構(gòu)成的宏塊,其中4個亮度塊及兩個色度塊。
根據(jù)發(fā)明,運(yùn)動估算器使用如同附錄R中所提到的圖像段。因此運(yùn)動向量在段內(nèi)被估算。然而,如同前面所解釋的那樣,至少對于邊緣塊,估算器使用可以超出段的運(yùn)動向量。
塊的運(yùn)動向量與運(yùn)動補(bǔ)償6一起被傳送到預(yù)測器中。該預(yù)測器也接收一個用于估算的基圖像的輸入,它可以具有一個參考圖像存儲器8。帶有運(yùn)動補(bǔ)償?shù)念A(yù)測相對于參考圖像被執(zhí)行。
從參考圖像和運(yùn)動向量,帶有運(yùn)動補(bǔ)償?shù)念A(yù)測器提供一個估算的圖像,它一方面被應(yīng)用于減法器4的減法輸入端,另一方面被應(yīng)用于加法器10的輸入端。
這樣,減法器4接收輸入的視頻圖像和一個來自容納在基圖像存儲器中的參考圖像所估算的圖像。估算圖像相對于作用在輸入上的視頻圖像上的差被應(yīng)用于一個帶有壓縮的編碼器12上,典型的是一個數(shù)字余弦轉(zhuǎn)換編碼器。接下來我們進(jìn)行量化14,最好具有一個可變量化步長。量化器14的輸出一方面應(yīng)用于一個變長編碼器16,另一方面被應(yīng)用于一個量化反向器18,它進(jìn)行量化反向操作。在量化反向器18的輸出上,我們應(yīng)用編碼器12的轉(zhuǎn)換反向20。在編碼反向器20的輸出上,我們找到輸入圖像和估算圖像之間的不同,例如它在一個相關(guān)的解碼系統(tǒng)中,在出現(xiàn)傳輸差錯時,在接收之后被構(gòu)成。該不同被應(yīng)用于加法器10的輸入端。這樣,加法器10在其朝向參考圖像存儲器的輸出上提供了一個圖像,該圖像可以在解碼系統(tǒng)接收后被獲得,--在必要的情況下是在傳輸差錯引起的擾動之后。
變長編碼器接收編碼器14的輸出,以及運(yùn)動估算器2的輸出,換句話說是輸入圖像和估算圖像之間的不同及運(yùn)動向量。VLC編碼器的輸出在信道上傳輸之前被應(yīng)用于一個視頻緩沖22;當(dāng)然,在傳輸之前,我們可以將視頻信號與音頻信號或其它信號進(jìn)行多路復(fù)用,這本身是公知的并且并不影響發(fā)明的功能。對于一個可變量化步長,在緩沖中的信息量化可以控制量化步長,如同在圖2上通過一個連接緩沖22和量化器14的箭頭所示。
相對于現(xiàn)有技術(shù)的編碼器,發(fā)明編碼器的不同在于運(yùn)動估算器還考慮了當(dāng)前段之外的宏塊,例如相鄰宏塊行中的宏塊。我們將注意到,用于解碼編碼器所提供的信號的解碼器與背景技術(shù)中的解碼器沒有不同。
當(dāng)然,本發(fā)明并不限于所描述和展示的實(shí)施例和實(shí)施模式,它還有眾多的所屬技術(shù)領(lǐng)域的技術(shù)人員可以預(yù)知的應(yīng)用。很清楚,前面給出的宏塊或段的定義僅是一個例子,并且發(fā)明也可以用于圖像中其它段的定義,或其它塊及宏塊的定義。我們還可以適用于將圖像切成垂直的段,在該情況下,掃描方向應(yīng)該完全按照發(fā)明所應(yīng)用的宏塊來改變。
權(quán)利要求
1.一種用于在低速率和高誤差率的信道上傳輸?shù)膱D像編碼方法,在該方法中,圖像被分離成由宏塊構(gòu)成的多個段,并且通過運(yùn)動估算來進(jìn)行編碼,其特征在于對于一個段的邊緣上的一個宏塊,至少一個運(yùn)動估算向量可以伸展到相鄰的段中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于對于一個段的邊緣上的一個宏決,一個運(yùn)動估算向量可以伸展到相鄰段的一個相鄰宏塊中。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于用于運(yùn)動向量估算的圖像掃描從左到右及從高到低地被執(zhí)行,并且對于相鄰于一個段上邊緣的宏塊,一個運(yùn)動估算向量可以伸展到一個相鄰的段中。
4.根據(jù)權(quán)利要求1,2或3所述的方法,其特征在于用于運(yùn)動向量估算的圖像掃描從左到后及從高到低地被執(zhí)行,并且對于相鄰于一個段右邊緣的宏塊,一個運(yùn)動估算向量可以伸展到一個相鄰的段中。
5.根據(jù)權(quán)利要求1到4之一所述的方法,其特征在于每個段由兩條宏塊的線構(gòu)成。
6.根據(jù)權(quán)利要求1到5之一所述的方法,其特征在于誤差率大于10-6,甚至大于10-4。
7.根據(jù)權(quán)利要求1到6之一所述的方法,其特征在于傳輸速率小于100kb/s。
8.一種將權(quán)利要求1到7之一的方法投入應(yīng)用的編碼器。
9.一種包括權(quán)利要求8的編碼器的在低速率和高誤差率的信道上的傳輸系統(tǒng)。
全文摘要
本發(fā)明涉及一種用于在低速率和高誤差率的信道上傳輸?shù)膱D像編碼方法。圖像被分割成多個由宏塊構(gòu)成的段,并且方法通過運(yùn)動估算進(jìn)行編碼。根據(jù)發(fā)明,對于一個段的邊緣上的一個宏塊,至少一個運(yùn)動估算向量可以伸展到相鄰的段中。這對于運(yùn)動向量估算掃描是從左到右及從高到低的情況中位于段的上面和右面的像素具有特別的好處。該解決方案通過限制編碼誤差擴(kuò)散只是作用在以段來分割圖象的一個分割中來避免由段內(nèi)運(yùn)動向量估算所產(chǎn)生的誤差。
文檔編號H03M7/36GK1336769SQ0111933
公開日2002年2月20日 申請日期2001年5月30日 優(yōu)先權(quán)日2000年5月30日
發(fā)明者納丁·阿薩福 申請人:阿爾卡塔爾公司