專利名稱:運(yùn)動(dòng)圖像處理系統(tǒng)、編碼設(shè)備和解碼設(shè)備的制作方法
技術(shù)領(lǐng)域:
本文討論的實(shí)施例涉及一種運(yùn)動(dòng)圖像處理系統(tǒng),該運(yùn)動(dòng)圖像處理系統(tǒng)
包括編碼設(shè)備,其執(zhí)行輸入隔行(interlace)運(yùn)動(dòng)圖像的要處理幀的幀 間預(yù)測(cè),生成通過(guò)編碼獲得的經(jīng)編碼的運(yùn)動(dòng)圖像數(shù)據(jù),并將生成的經(jīng)編碼 的運(yùn)動(dòng)圖像數(shù)據(jù)發(fā)送到解碼設(shè)備;以及解碼設(shè)備,其對(duì)接收自編碼設(shè)備的 經(jīng)編碼的運(yùn)動(dòng)圖像數(shù)據(jù)進(jìn)行解碼,并獲得原始的隔行運(yùn)動(dòng)圖像。
背景技術(shù):
在傳統(tǒng)上,已廣泛使用運(yùn)動(dòng)圖像處理系統(tǒng),該運(yùn)動(dòng)圖像處理系統(tǒng)包括 對(duì)輸入運(yùn)動(dòng)圖像進(jìn)行編碼的編碼設(shè)備,以及接收由編碼設(shè)備編碼的數(shù)據(jù)并 對(duì)接收到的數(shù)據(jù)進(jìn)行解碼的解碼設(shè)備。在該運(yùn)動(dòng)圖像處理系統(tǒng)中發(fā)送和接 收的運(yùn)動(dòng)圖像的信息量非常大,而且,將該信息存儲(chǔ)到介質(zhì)中和通過(guò)直接 使用運(yùn)動(dòng)圖像數(shù)據(jù)而在網(wǎng)絡(luò)中發(fā)送該信息是非常昂貴的。因此,在傳統(tǒng)上 已廣泛進(jìn)行使用可逆或不可逆系統(tǒng)執(zhí)行運(yùn)動(dòng)圖像的壓縮編碼的技術(shù)開發(fā) 和標(biāo)準(zhǔn)化。它們的代表性示例為由運(yùn)動(dòng)圖像專家組(MPEG)標(biāo)準(zhǔn)化的 MPEG國(guó)1、 MPEG-2、 MPEG國(guó)4和MPEG-4 AVC/H.264。
這些標(biāo)準(zhǔn)采用幀間運(yùn)動(dòng)預(yù)測(cè)編碼。在該幀間運(yùn)動(dòng)預(yù)測(cè)編碼中,檢測(cè)具 有幀之間高相關(guān)性的部分,并且對(duì)幀之間的位置差(運(yùn)動(dòng)矢量)以及幀之 間的像素值差(預(yù)測(cè)誤差)進(jìn)行編碼。通常,運(yùn)動(dòng)圖像在幀之間具有高相 關(guān)性,并因此具有比原始像素值的像素差值更小的像素差值。因此,可以 實(shí)現(xiàn)高壓縮效率。
這些標(biāo)準(zhǔn)(除MPEG-1外)采用幀間預(yù)測(cè)編碼,在幀間預(yù)測(cè)編碼中, 運(yùn)動(dòng)圖像對(duì)應(yīng)于隔行格式。具體地i兌,這些標(biāo)準(zhǔn)采用幀預(yù)測(cè)和場(chǎng)預(yù)測(cè)的動(dòng) 態(tài)選擇。在幀預(yù)測(cè)的情況下,作為處理單元的宏塊和參考幀二者都具有幀 結(jié)構(gòu)(其中,偶數(shù)場(chǎng)和奇數(shù)場(chǎng)在每一行交替出現(xiàn))。另一方面,在場(chǎng)預(yù)測(cè) 的情況下,作為處理單元的宏塊和參考幀二者都僅具有場(chǎng)結(jié)構(gòu)(奇數(shù)場(chǎng)和 偶數(shù)場(chǎng)之一 )。
接下來(lái)說(shuō)明隔行格式、幀預(yù)測(cè)和場(chǎng)預(yù)測(cè)。隔行格式的運(yùn)動(dòng)圖像是用于交替繪制一組奇數(shù)行的場(chǎng)(頂部場(chǎng))和一組偶數(shù)行的場(chǎng)(底部場(chǎng))的格式
的運(yùn)動(dòng)圖像,如圖8A所示。如圖8B所示的頂部場(chǎng)和底部場(chǎng)的交替繪制 被稱為幀。
幀預(yù)測(cè)表示通過(guò)參考與要處理的幀不同的一個(gè)時(shí)間(例如,兩個(gè)幀之 前)的幀上的、與要處理的幀的要處理的宏塊對(duì)應(yīng)的預(yù)測(cè)像素,對(duì)要處理 的宏塊與預(yù)測(cè)像素之間的差分(誤差)圖像進(jìn)行的編碼,如圖9A所示。 具體地i兌,如圖9B所示,利用通過(guò)參考參考幀計(jì)算出的差分和用于估計(jì) 圖像的運(yùn)動(dòng)量的運(yùn)動(dòng)矢量,對(duì)要處理的幀的要處理的每一宏塊進(jìn)行編碼。
場(chǎng)預(yù)測(cè)表示通過(guò)參考與要處理的場(chǎng)不同的一個(gè)時(shí)間(例如,兩個(gè)場(chǎng)之 前)的場(chǎng)上的、與要處理的場(chǎng)的要處理的宏塊對(duì)應(yīng)的預(yù)測(cè)像素,對(duì)要處理 的宏塊與預(yù)測(cè)像素之間的差分(誤差)圖像進(jìn)行的編碼,如圖IOA所示。 具體地說(shuō),如圖10B所示,利用通過(guò)參考參考場(chǎng)計(jì)算出的差分和用于估 計(jì)圖像的運(yùn)動(dòng)量的運(yùn)動(dòng)矢量,對(duì)要處理的場(chǎng)的要處理的每一宏塊進(jìn)行編 碼。
如上所述以宏塊為單元進(jìn)行幀預(yù)測(cè)和場(chǎng)預(yù)測(cè)的自適應(yīng)切換的各種技 術(shù)被公開(見日本公開專利公布第05-91500號(hào))。近來(lái),經(jīng)常使用MPEG-4 AVC/H.264中采用的被稱為宏塊自適應(yīng)幀場(chǎng)(MBAFF)的編碼方法。根 據(jù)該方法,如圖11A所示,在同一幀內(nèi),在垂直方向上連續(xù)的兩個(gè)宏塊 (稱為宏塊對(duì))被設(shè)置為編碼單元。針對(duì)每一宏塊對(duì),選擇兩個(gè)幀預(yù)測(cè)宏 塊,或選擇兩個(gè)場(chǎng)預(yù)測(cè)宏塊( 一個(gè)頂部場(chǎng)宏塊和一個(gè)底部場(chǎng)宏塊)。
這種MBAFF使得可以以宏塊為單元將幀圖像內(nèi)的宏塊的運(yùn)動(dòng)預(yù)測(cè) 系統(tǒng)改變?yōu)閹A(yù)測(cè)或者場(chǎng)預(yù)測(cè)。幀預(yù)測(cè)適合于接近靜態(tài)圖像的圖像,而場(chǎng) 預(yù)測(cè)適合于具有較大運(yùn)動(dòng)的圖像的編碼。通常,圖像既包括靜態(tài)部分又包 括動(dòng)態(tài)部分。因此,通過(guò)以宏塊為單元切換預(yù)測(cè)系統(tǒng)能夠改進(jìn)編碼效率, 如圖11B所示。
然而,根據(jù)上述傳統(tǒng)技術(shù),由于不能預(yù)測(cè)同一幀中所限定的場(chǎng),所以 運(yùn)動(dòng)預(yù)測(cè)效率差。具體地說(shuō),才艮據(jù)運(yùn)動(dòng)預(yù)測(cè)編碼系統(tǒng),作為幀間/場(chǎng)間預(yù) 測(cè)編碼的原則,參考畫面需要毫無(wú)例外地在要處理的畫面之前被進(jìn)行編碼 和本地解碼。此外,通過(guò)將高相關(guān)性的畫面設(shè)置為預(yù)測(cè)畫面,能夠改進(jìn)預(yù) 測(cè)效率。該相關(guān)性與要處理的畫面和參考畫面之間的時(shí)間間隔成反比。因 此,優(yōu)選是盡可能參考時(shí)間接近的幀或場(chǎng)。
在由MBAFF系統(tǒng)進(jìn)行處理的情況下,基于以上原則,幀預(yù)測(cè)宏塊對(duì)參考時(shí)間接近的幀(例如在前或在后的幀;或者在編碼順序上領(lǐng)先的幀)。 基于以上原則,在場(chǎng)預(yù)測(cè)宏塊對(duì)中,屬于時(shí)間上領(lǐng)先的場(chǎng)的宏塊類似地參 考在前或在后的場(chǎng)(在編碼順序上領(lǐng)先的場(chǎng))。當(dāng)場(chǎng)預(yù)測(cè)宏塊對(duì)中屬于時(shí) 間上較后的場(chǎng)的其余宏塊能夠參考同一幀內(nèi)在時(shí)間上領(lǐng)先的場(chǎng)時(shí),能夠改
進(jìn)預(yù)測(cè)效率。然而,根據(jù)傳統(tǒng)MBAFF系統(tǒng),宏塊對(duì)的處理順序是從屏幕 的左上到右下,如圖11C所示。屏幕內(nèi)在處理順序上領(lǐng)先的位置處的宏 塊不能參考在處理順序上處于后面位置的像素。因此,屬于時(shí)間上較后的 場(chǎng)的宏塊不能參考同一幀內(nèi)在時(shí)間上領(lǐng)先的場(chǎng)。結(jié)果,運(yùn)動(dòng)預(yù)測(cè)的效率差。
發(fā)明內(nèi)容
本發(fā)明的目的在于至少部分地解決傳統(tǒng)技術(shù)中的問題。
根據(jù)實(shí)施例的一個(gè)方面,運(yùn)動(dòng)圖像處理系統(tǒng)包括編碼設(shè)備和解碼設(shè) 備。編碼設(shè)備包括預(yù)測(cè)編碼確定單元,其通過(guò)搜索要處理的運(yùn)動(dòng)圖像幀 的運(yùn)動(dòng)來(lái)估計(jì)運(yùn)動(dòng)矢量,并且基于估計(jì)的運(yùn)動(dòng)矢量,確定對(duì)要處理幀的每 一宏塊是執(zhí)行幀預(yù)測(cè)編碼還是執(zhí)行場(chǎng)預(yù)測(cè)編碼;第一編碼單元,其通過(guò)由 預(yù)測(cè)編碼確定單元確定的編碼方法對(duì)宏塊進(jìn)行編碼;第二編碼單元,當(dāng)由 預(yù)測(cè)編碼確定單元確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),笫二編碼單元通過(guò)使 用由第一編碼單元編碼的同一幀內(nèi)的第一場(chǎng)的宏塊作為參考圖傳-之一,對(duì) 同一幀內(nèi)的第二場(chǎng)執(zhí)行場(chǎng)預(yù)測(cè)編碼;以及編碼數(shù)據(jù)發(fā)送單元,其通過(guò)把要 處理的運(yùn)動(dòng)圖<象幀的、由第一編碼單元和第二編碼單元編碼的每一宏塊的 編碼方法添加為編碼信息來(lái)進(jìn)行發(fā)送。解碼設(shè)備包括編碼確定單元,其 接收由編碼設(shè)備編碼的運(yùn)動(dòng)圖像幀和編碼信息,并確定要處理的幀的每一 宏塊是通過(guò)幀預(yù)測(cè)被進(jìn)行了編碼還是通過(guò)場(chǎng)預(yù)測(cè)被進(jìn)行了編碼;第一解碼 單元,其通過(guò)與由編碼確定單元確定的編碼方法對(duì)應(yīng)的解碼方法對(duì)經(jīng)編碼 的宏塊進(jìn)行解碼;第二解碼單元,當(dāng)由編碼確定單元確定的編碼方法是場(chǎng) 預(yù)測(cè)編碼時(shí),第二解碼單元通過(guò)使用由第一解碼單元解碼的同一幀內(nèi)的第 一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)的宏塊執(zhí)行場(chǎng)預(yù)測(cè)解 碼。
本發(fā)明(實(shí)施例)的其它目的和優(yōu)點(diǎn)將在接下來(lái)的描述中被部分地闡 述,并且根據(jù)描述將部分地變得容易理解,或者可以通過(guò)本發(fā)明的實(shí)踐知 悉。本發(fā)明的目的和優(yōu)點(diǎn)將通過(guò)權(quán)利要求中具體指出的元素和組合來(lái)實(shí)現(xiàn) 和獲得。應(yīng)理解,前面的概述和以下的詳細(xì)描述兩者都是示例性和解釋性的, 而并非限制要求保護(hù)的本發(fā)明。
圖1A是用于說(shuō)明根據(jù)實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)的特性的示意圖; 圖1B是用于說(shuō)明根據(jù)該實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)的特性的示意
圖2是根據(jù)該實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)中的編碼設(shè)備的配置的框
圖3是由編碼設(shè)備生成的經(jīng)編碼的運(yùn)動(dòng)圖像數(shù)據(jù)的示例;
圖4是根據(jù)實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)中的解碼設(shè)備的配置的框圖5是根據(jù)實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)中的幀處理的流程圖6是根據(jù)實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)中的宏塊處理順序確定處理 的流艱圖7A是執(zhí)行編碼程序的計(jì)算機(jī)系統(tǒng)的示例;
圖7B是執(zhí)行解碼程序的計(jì)算機(jī)系統(tǒng)的示例;
圖8A是用于說(shuō)明根據(jù)傳統(tǒng)技術(shù)的幀結(jié)構(gòu)和場(chǎng)結(jié)構(gòu)的示意圖8B是用于說(shuō)明根據(jù)傳統(tǒng)技術(shù)的幀結(jié)構(gòu)和場(chǎng)結(jié)構(gòu)的另一示意圖9A是用于說(shuō)明根據(jù)傳統(tǒng)技術(shù)的幀預(yù)測(cè)的示意圖9B是用于說(shuō)明根據(jù)傳統(tǒng)技術(shù)的幀預(yù)測(cè)的另一示意圖IOA是用于說(shuō)明根據(jù)傳統(tǒng)技術(shù)的場(chǎng)預(yù)測(cè)的示意圖IOB是用于說(shuō)明根據(jù)傳統(tǒng)技術(shù)的場(chǎng)預(yù)測(cè)的另一示意圖11A是用于說(shuō)明MBAFF的示意圖11B是用于i兌明MBAFF的另 一示意圖11C是用于說(shuō)明MBAFF的又一示意圖。
具體實(shí)施例方式
以下將參照附圖詳細(xì)說(shuō)明根據(jù)本發(fā)明的運(yùn)動(dòng)圖像處理系統(tǒng)、編碼設(shè)備、編碼方法、編碼程序、解碼設(shè)備、解碼方法和解碼程序的示例性實(shí)施 例。以下依次說(shuō)明根據(jù)本發(fā)明第 一實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)的概述和特
征以及運(yùn)動(dòng)圖像處理系統(tǒng)的配置和處理i5^呈。最后說(shuō)明對(duì)第一實(shí)施例的各 種修改。
在第一實(shí)施例中,說(shuō)明是基于以下假設(shè)進(jìn)行的,即,在幀內(nèi)頂部場(chǎng)在 時(shí)間上領(lǐng)先而底部場(chǎng)在時(shí)間上較后。當(dāng)?shù)撞繄?chǎng)在時(shí)間上領(lǐng)先時(shí),可以通過(guò) 將頂部場(chǎng)和底部場(chǎng)相互替換來(lái)讀取頂部場(chǎng)和底部場(chǎng)。在MPEG-2中,也 可以以宏塊為單元在幀預(yù)測(cè)與場(chǎng)預(yù)測(cè)之間切換運(yùn)動(dòng)預(yù)測(cè)系統(tǒng)。然而,與 MPEG-2不同的是,MPEG-4 AVC/H.264的MBAFF通it把場(chǎng)預(yù)測(cè)時(shí)的 預(yù)測(cè)單元設(shè)置為宏塊大小(16x16 ),通過(guò)使用幀內(nèi)垂直相鄰的被稱為宏塊 對(duì)的兩個(gè)宏塊單元執(zhí)行處理,來(lái)改進(jìn)編碼效率。另一方面,MPEG-2使用 的大小為16x8。
首先參照?qǐng)D1A和圖1B說(shuō)明根據(jù)第一實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)的 概述和特性。圖1A和圖1B是用于說(shuō)明運(yùn)動(dòng)圖像處理系統(tǒng)的示意圖。
在第一實(shí)施例中,對(duì)運(yùn)動(dòng)圖像處理系統(tǒng)進(jìn)行說(shuō)明,在該運(yùn)動(dòng)圖像處理 系統(tǒng)中,發(fā)送具有輸入經(jīng)編碼運(yùn)動(dòng)圖像的比特流的編碼設(shè)備與對(duì)接收自編 碼設(shè)備的比特流進(jìn)行解碼的解碼設(shè)4^彼此連接,使得這些設(shè)備可以通過(guò)網(wǎng) 絡(luò)彼此通信。
如上所述,該運(yùn)動(dòng)圖像處理系統(tǒng)具有以下概要操作發(fā)送具有輸入經(jīng) 編碼運(yùn)動(dòng)圖像的比特流,并且通過(guò)從編碼設(shè)備接收比特流,對(duì)該比特流進(jìn) 行解碼。具體地說(shuō),該運(yùn)動(dòng)圖像處理系統(tǒng)具有以下主要特性在對(duì)場(chǎng)間運(yùn) 動(dòng)圖像進(jìn)行編碼時(shí)改進(jìn)圖像質(zhì)量。
具體地說(shuō),如圖1A所示,在從左上到右下方向?qū)陦K對(duì)(如幀內(nèi)垂 直相鄰的兩個(gè)宏塊單元)進(jìn)行編碼時(shí),代表要通過(guò)幀預(yù)測(cè)來(lái)進(jìn)行編碼的宏 塊對(duì)的幀預(yù)測(cè)宏塊對(duì)被以正常方式進(jìn)行編碼,而代表要通過(guò)場(chǎng)預(yù)測(cè)來(lái)進(jìn)行 編碼的宏塊對(duì)的場(chǎng)預(yù)測(cè)宏塊對(duì)被進(jìn)行編碼,使得首先只有頂部場(chǎng)宏塊被進(jìn) 行編碼。當(dāng)在一個(gè)幀內(nèi)從屏幕的左上到右下方向執(zhí)行編碼之后,對(duì)于場(chǎng)預(yù) 測(cè)宏塊的剩余底部場(chǎng)宏塊,每一底部場(chǎng)宏塊所對(duì)應(yīng)的頂部場(chǎng)宏塊被作為參 考圖像之一進(jìn)行編碼,如圖1B所示。
此后,解碼i更^^接收經(jīng)如上所述編碼的比特流,并且以與編碼處理方 法類似的方式,在一個(gè)幀中從屏幕的左上到右下方向?qū)A(yù)測(cè)宏塊和場(chǎng)預(yù) 測(cè)宏塊的頂部場(chǎng)宏塊中的每一個(gè)首先進(jìn)行解碼。此后,對(duì)于場(chǎng)預(yù)測(cè)宏塊的剩余底部場(chǎng)宏塊,解碼設(shè)備將每一底部場(chǎng)宏塊所對(duì)應(yīng)的頂部場(chǎng)宏塊作為參
考圖像之一進(jìn)行解碼。
通過(guò)執(zhí)行以上處理,屏幕內(nèi)在處理順序上領(lǐng)先的位置處的宏塊可以參 考在處理順序上處于后面位置的像素。也就是說(shuō),可以通過(guò)將同一幀內(nèi)在 時(shí)間上領(lǐng)先的場(chǎng)作為參考場(chǎng)來(lái)執(zhí)行場(chǎng)預(yù)測(cè),從而改進(jìn)運(yùn)動(dòng)預(yù)測(cè)的效率。結(jié) 果,根據(jù)第 一 實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)可以在對(duì)場(chǎng)間運(yùn)動(dòng)圖像進(jìn)行編碼 時(shí)改進(jìn)圖像質(zhì)量。
接下來(lái)參照?qǐng)D2至圖4說(shuō)明圖1A和圖1B描述的運(yùn)動(dòng)圖像處理系統(tǒng) 的配置。該運(yùn)動(dòng)圖像處理系統(tǒng)包括編碼設(shè)備和解碼設(shè)備,并且對(duì)每一設(shè)備 的配置予以詳細(xì)說(shuō)明。
首先,參照?qǐng)D2說(shuō)明運(yùn)動(dòng)圖像處理系統(tǒng)中的編碼設(shè)備的配置。圖2 是根據(jù)第 一 實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)中的編碼設(shè)備的配置的框圖。
該編碼設(shè)備包括幀存儲(chǔ)器10、減法器11、 DCT/Q 12、速率控制 13、 VLC 14、 IQ/IDCT 15、加法器16、幀存儲(chǔ)器17、去塊濾波器18、 MC內(nèi)部預(yù)測(cè)19、 ME 20和順序控制21。
幀存儲(chǔ)器10臨時(shí)存儲(chǔ)輸入運(yùn)動(dòng)圖像。例如,幀存儲(chǔ)器10臨時(shí)存儲(chǔ)從 外部網(wǎng)絡(luò)和外部設(shè)備(例如,存儲(chǔ)設(shè)備,如光盤(CD)或硬盤驅(qū)動(dòng)器 (HDD))輸入的運(yùn)動(dòng)圖像的每一幀。
減法器11計(jì)算預(yù)測(cè)圖像與輸入運(yùn)動(dòng)圖像中要編碼的宏塊之間的差, 并且生成預(yù)測(cè)誤差圖像。具體地說(shuō),減法器11分別連接到幀存儲(chǔ)器10、 MC內(nèi)部預(yù)測(cè)19和DCT/Q 12。減法器11通過(guò)計(jì)算由MC內(nèi)部預(yù)測(cè)19 (稍后描述)生成的預(yù)測(cè)圖像與輸入運(yùn)動(dòng)圖像(作為幀存儲(chǔ)器10中存儲(chǔ) 的一個(gè)幀)中要編碼的宏塊之間的差來(lái)生成預(yù)測(cè)誤差圖像。減法器ll將 生成的預(yù)測(cè)誤差圖^^出到DCT/Q 12。
DCT/Q 12對(duì)預(yù)測(cè)誤差圖像執(zhí)行離散余弦變換(DCT)計(jì)算和量化。 具體地說(shuō),DCT/Q 12分別連接到速率控制13、 VLC 14和IQ/IDCT 15。 DCT/Q 12利用從速率控制13 (稍后描述)輸入的量化值,針對(duì)從減法器 11輸入的預(yù)測(cè)誤差圖4象執(zhí)行DCT計(jì)算和量化,并且將計(jì)算結(jié)果分別輸出 到VLC 14和IQ/IDCT 15。
速率控制13是速率控制單元,并且,具體地說(shuō),速率控制13根據(jù)輸 入運(yùn)動(dòng)圖像(作為幀存儲(chǔ)器10中存儲(chǔ)的一個(gè)幀)確定編碼之后的比特?cái)?shù) 量,以及用于控制圖像質(zhì)量、將被用于由DCT/Q 12執(zhí)行的量化的量化值。速率控制13將確定的量化值輸出到DCT/Q 12。
VLC 14是可變長(zhǎng)度編碼單元。具體地說(shuō),VLC 14對(duì)經(jīng)過(guò)DCT計(jì)算 和量化的預(yù)測(cè)誤差圖像執(zhí)行可逆編碼,如游程/幅值轉(zhuǎn)換(run/level conversion),并生成經(jīng)編碼的運(yùn)動(dòng)圖像。例如,VLC 14對(duì)經(jīng)過(guò)由DCT/Q 12執(zhí)行的DCT計(jì)算和量化的預(yù)測(cè)誤差圖像執(zhí)行可逆編碼,如游程/幅值 轉(zhuǎn)換,并生成經(jīng)編碼的運(yùn)動(dòng)圖傳教據(jù)。VLC14將生成的經(jīng)編碼的運(yùn)動(dòng)圖 ^!t據(jù)作為比特流發(fā)送到解碼設(shè)備,如圖3所示。圖3是由編碼設(shè)備生成 的經(jīng)編碼的運(yùn)動(dòng)圖像數(shù)據(jù)的示例。
以下說(shuō)明圖3所示的經(jīng)編碼的運(yùn)動(dòng)圖傳教據(jù)。在圖3中,附圖標(biāo)記 200表示序列參數(shù)集(SPS),序列參數(shù)集描述多個(gè)畫面(序列)共同的參 數(shù),例如屏幕大小和畫面類型(例如幀、場(chǎng)和MBAFF)。附圖標(biāo)記201 表示畫面^集(PPS),畫面^lt集描述用于每一畫面的編碼模式,例 如熵編碼模式。附圖標(biāo)記202表示分段(slice)。 一個(gè)畫面(幀或場(chǎng))包括 一個(gè)或多個(gè)場(chǎng)。附圖標(biāo)記203表示MBAFF標(biāo)記,MBAFF標(biāo)記描述是否 以MBAFF模式對(duì)該序列內(nèi)的幀進(jìn)行編碼。在MPEG-4 AVC/H.264中, 該MBAFF標(biāo)記對(duì)應(yīng)于mb_adaptive_frame_field_flag (宏塊自適應(yīng)幀場(chǎng) 標(biāo)記)。附圖標(biāo)記204表示分立MB順序標(biāo)記(separate MB order flag, SMOF ),其描述是否以MBAFF模式在同 一幀內(nèi)執(zhí)行場(chǎng)間參考。當(dāng)分立 MB順序標(biāo)記說(shuō)明不執(zhí)行場(chǎng)間參考時(shí),it^示執(zhí)行與MPEG-4 AVC/H.264 的MBAFF編碼相同的MBAFF編碼。
附圖標(biāo)記205表示分段頭,其中,分段頭描述參考幀列表等等。附圖 標(biāo)記206表示標(biāo)識(shí)是通過(guò)幀模式對(duì)宏塊對(duì)進(jìn)行了編碼還是通過(guò)場(chǎng)模式對(duì) 宏塊對(duì)進(jìn)行了編碼的標(biāo)記。在MPEG-4 AVC/H.264中,該標(biāo)記對(duì)應(yīng)于 mb_field_decoding_flag (宏塊場(chǎng)解碼標(biāo)記)。附圖標(biāo)記207表示幀宏塊對(duì) 的宏塊的數(shù)據(jù)或場(chǎng)宏塊對(duì)的頂部場(chǎng)宏塊的數(shù)據(jù)。該數(shù)據(jù)描述編碼模式(內(nèi) 部/相互間)、參考幀標(biāo)識(shí)符、運(yùn)動(dòng)矢量、量化系數(shù)、量化DCT系數(shù)等等。 附圖標(biāo)記208表示指示"前一半"處理部分與"后一半"處理部分之間的 邊界的標(biāo)記,將通過(guò)以下描述的流程對(duì)其進(jìn)行說(shuō)明。附圖標(biāo)記209表示場(chǎng) 宏塊對(duì)的底部場(chǎng)宏塊的數(shù)據(jù),并且該lt據(jù)描述編碼模式(內(nèi)部/相互間)、 參考幀標(biāo)識(shí)符、運(yùn)動(dòng)矢量、量化系數(shù)、量化DCT系數(shù)等等。
參照?qǐng)D2, IQ/IDCT 15是連接到DCT/Q 12和加法器16的逆量化單 元/逆離lt余弦變換(IDCT )單元。IQ/IDCT 15對(duì)經(jīng)過(guò)DCT計(jì)算和量化 的預(yù)測(cè)誤差圖像執(zhí)行逆量化和IDCT計(jì)算。加法器16連接到IQ/IDCT 15和幀存儲(chǔ)器17,將稍后描述的MC內(nèi)部預(yù)測(cè)19所輸入的內(nèi)部預(yù)測(cè)圖4象或 相互間預(yù)測(cè)圖像加到經(jīng)過(guò)逆量化和IDCT計(jì)算的預(yù)測(cè)誤差圖像上,生成本 地經(jīng)解碼的圖像,并且將生成的本地經(jīng)解碼的圖像存儲(chǔ)到幀存儲(chǔ)器17中。
幀存儲(chǔ)器17是存儲(chǔ)本地經(jīng)解碼的圖像的幀存儲(chǔ)器。具體地說(shuō),幀存 儲(chǔ)器17連接到加法器16、去塊濾波器18、 MC內(nèi)部預(yù)測(cè)19和ME 20。 幀存儲(chǔ)器17接收由加法器16生成和輸入的本地經(jīng)解碼的圖像,并且存儲(chǔ) 所述接收到的本地經(jīng)解碼的圖像。
去塊濾波器18是通過(guò)將低通濾波器(去塊濾波器)應(yīng)用于本地經(jīng)解 碼的圖像的宏塊邊界而去除幀存儲(chǔ)器17中存儲(chǔ)的本地經(jīng)解碼的圖像中的 塊失真的去塊濾波器。
MC內(nèi)部預(yù)測(cè)19根據(jù)幀存儲(chǔ)器17中存儲(chǔ)的本地經(jīng)解碼的圖像生成預(yù) 測(cè)圖像。具體地說(shuō),MC內(nèi)部預(yù)測(cè)19連接到減法器11、幀存儲(chǔ)器17和 ME 20。在對(duì)宏塊進(jìn)行內(nèi)部編碼時(shí),MC內(nèi)部預(yù)測(cè)19根據(jù)幀存儲(chǔ)器17中 積累的同一幀內(nèi)已編碼且本地解碼的像素生成內(nèi)部預(yù)測(cè)圖像。在對(duì)宏塊進(jìn) 行相互間編碼時(shí),MC內(nèi)部預(yù)測(cè)19根據(jù)幀存儲(chǔ)器17中積累的參考幀/場(chǎng) 并且根據(jù)由ME 20估計(jì)和輸入的運(yùn)動(dòng)矢量生成相互間預(yù)測(cè)圖像。
ME20估計(jì)運(yùn)動(dòng)矢量。具體地說(shuō),ME20連接到幀存儲(chǔ)器10、幀存 儲(chǔ)器17、 MC內(nèi)部預(yù)測(cè)19和順序控制21。 ME 20在要處理且積累在幀存 儲(chǔ)器10中的幀或場(chǎng)與經(jīng)編碼和本地解碼并積累在幀存儲(chǔ)器17中的幀或場(chǎng) 之間執(zhí)行運(yùn)動(dòng)矢量估計(jì),并且計(jì)算運(yùn)動(dòng)矢量。ME 20于是將計(jì)算出的運(yùn)動(dòng) 矢量輸出到MC內(nèi)部預(yù)測(cè)19和順序控制21。
順序控制21確定宏塊處理順序,并且具體地說(shuō),順序控制21連接到 幀存儲(chǔ)器17和ME 20。順序控制21基于由ME 20執(zhí)行的運(yùn)動(dòng)矢量估計(jì) 的結(jié)果,確定是要使用幀還是場(chǎng)對(duì)每一宏塊對(duì)進(jìn)行預(yù)測(cè)編碼。順序控制 21還確定圖像中的處理順序和宏塊地址。順序控制21將每一處理順序的 宏塊的宏塊地址通知給幀存儲(chǔ)器10和幀存儲(chǔ)器17。順序控制21的詳細(xì) 處理基于處理流程予以i兌明。
接下來(lái)參照?qǐng)D4說(shuō)明運(yùn)動(dòng)圖像處理系統(tǒng)中的解碼設(shè)備的配置。圖4 是根據(jù)第 一 實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)中的解碼設(shè)備的配置的框圖。
該解碼設(shè)備包括VLD 50、 IQ/IDCT 51、加法器52、幀存儲(chǔ)器53、 去塊濾波器54、MC內(nèi)部預(yù)測(cè)55和順序控制56。 VLD 50連接到IQ/IDCT 51、 MC內(nèi)部預(yù)測(cè)55和順序控制56。解碼設(shè)備是可變長(zhǎng)度解碼單元,該可變長(zhǎng)度解碼單元對(duì)接收自編碼設(shè)備的經(jīng)編碼的運(yùn)動(dòng)圖像(見圖3)執(zhí)行 可逆解碼(例如游程/幅值轉(zhuǎn)換),并且生成經(jīng)過(guò)DCT計(jì)算和量化的預(yù)測(cè) 誤差圖像。VLD 50由經(jīng)編碼的運(yùn)動(dòng)圖像獲得每一宏塊對(duì)的類型(幀或場(chǎng))。
IQ/IDCT 51是連接到VLD 50和加法器52的逆量化單元/IDCT (逆 離散余弦變換)單元。具體地說(shuō),IQ/IDCT 51對(duì)由VLD 50生成并輸入 的經(jīng)過(guò)DCT計(jì)算和量化的預(yù)測(cè)誤差圖像執(zhí)行逆量化和IDCT計(jì)算。加法 器52連接到幀存儲(chǔ)器53和MC內(nèi)部預(yù)測(cè)55。加法器52通過(guò)將由稍后描
50生成并輸入的經(jīng)過(guò)逆量化和IDCT計(jì)算的預(yù)測(cè)誤差圖像上,生成經(jīng)解 碼的圖像。加法器52將生成的經(jīng)解碼的圖像存儲(chǔ)到幀存儲(chǔ)器53中。
幀存儲(chǔ)器53是存儲(chǔ)生成的經(jīng)解碼的圖像的幀存儲(chǔ)器。具體地說(shuō),幀 存儲(chǔ)器53連接到加法器52、去塊濾波器54、 MC內(nèi)部預(yù)測(cè)55和順序控 制56。幀存儲(chǔ)器53接收和存儲(chǔ)由加法器52生成并輸入的經(jīng)解碼的圖像。 去塊濾波器54是通過(guò)將低通濾波器(去塊濾波器)應(yīng)用于經(jīng)解碼的圖《象 的宏塊邊界而去除幀存儲(chǔ)器53中存儲(chǔ)的經(jīng)解碼的圖像中的塊失真的去塊 濾波器。
MC內(nèi)部預(yù)測(cè)55根據(jù)幀存儲(chǔ)器53中存儲(chǔ)的經(jīng)解碼的圖像生成預(yù)測(cè)圖 像。具體地說(shuō),MC內(nèi)部預(yù)測(cè)55連接到VLD 50、加法器52和幀存儲(chǔ)器 53。在對(duì)宏塊進(jìn)行內(nèi)部解碼時(shí),MC內(nèi)部預(yù)測(cè)55根據(jù)幀存儲(chǔ)器53中積累 的同一幀內(nèi)已解碼的像素生成內(nèi)部預(yù)測(cè)圖像。在對(duì)宏塊進(jìn)行相互間解碼 時(shí),MC內(nèi)部預(yù)測(cè)55根據(jù)幀存儲(chǔ)器53中積累的參考幀/場(chǎng)以及根據(jù)由VLD 50解碼的運(yùn)動(dòng)矢量生成相互間預(yù)測(cè)圖像。MC內(nèi)部預(yù)測(cè)55將生成的內(nèi)部 預(yù)測(cè)圖#^相互間預(yù)測(cè)圖#^出到加法器52。
順序控制56確定宏塊處理順序,并且具體地說(shuō),順序控制56連接到 VLD 50和幀存儲(chǔ)器53。順序控制56根據(jù)由VLD 50解碼的宏塊對(duì)的類 型確定圖# 中的處理順序和宏塊地址。順序控制56將每一處理順序的宏 塊的宏塊地址通知給幀存儲(chǔ)器53。
接下來(lái)參照?qǐng)D5和圖6說(shuō)明由運(yùn)動(dòng)圖像處理系統(tǒng)執(zhí)行的處理。以下說(shuō) 明根據(jù)第一實(shí)施例的運(yùn)動(dòng)圖像處理系統(tǒng)的幀處理和宏塊處理順序確定處 理。編碼設(shè)備和解碼設(shè)備的基本不同之處僅在于是執(zhí)行編碼還是執(zhí)行解 碼,而它們的一般處理流程是相同的。因此,在此說(shuō)明編碼設(shè)備。
參照?qǐng)D5說(shuō)明運(yùn)動(dòng)圖像處理系統(tǒng)中的幀處理的流程。圖5是根據(jù)第一
13實(shí)施例的運(yùn)動(dòng)圖〗象處理系統(tǒng)中的幀處理的流程圖。
如圖5所示,當(dāng)輸入圖像(步驟S100中為"是")時(shí),編碼設(shè)^L行 初始化以生成參考幀/場(chǎng)的列表(步驟S101 )。
,編碼設(shè),估計(jì)處理幀與參考幀/,之間,4運(yùn)動(dòng)矢量( 驟81(|2)。具體
編碼i殳備執(zhí)行對(duì)所有幀宏塊對(duì)和所有頂部場(chǎng)宏塊進(jìn)行編碼的"前一 半,,處理(步驟S103 )。具體地說(shuō),編碼設(shè)備將通過(guò)對(duì)所有幀宏塊對(duì)和所 有頂部場(chǎng)宏塊進(jìn)行編碼而生成的可變長(zhǎng)度編碼的圖像和本地經(jīng)解碼的圖 像寫到幀存儲(chǔ)器17中。
針對(duì)所有剩余底部場(chǎng)宏塊,編碼設(shè)備通過(guò)使用每一底部場(chǎng)宏塊所對(duì)應(yīng) 的頂部場(chǎng)宏塊作為參考圖像之一執(zhí)行編碼處理("后一半"處理),生成經(jīng) 編碼的運(yùn)動(dòng)圖像(步驟S104)。此后,編碼設(shè)^^吏用去塊濾波器作為應(yīng)用 于宏塊的邊界的低通濾波器,對(duì)生成的經(jīng)編碼的運(yùn)動(dòng)圖像執(zhí)行去塊濾波器 處理(步驟S105),并且將處理后的經(jīng)編碼的運(yùn)動(dòng)圖《象發(fā)送到解碼設(shè)備。 在H.264中,用于幀與場(chǎng)之間的預(yù)測(cè)的圖像是在去塊濾波器被應(yīng)用于該圖 像之后的圖像。然而,在第一實(shí)施例中,僅在從同一幀內(nèi)的底部場(chǎng)到頂部 場(chǎng)進(jìn)行參考時(shí),用于幀與場(chǎng)之間的預(yù)測(cè)的圖像是在去塊濾波器被應(yīng)用于該 圖像之前的圖像。
以下簡(jiǎn)要說(shuō)明解碼設(shè)備中的解碼處理。解碼設(shè)備不執(zhí)行圖5中步驟 S102的處理。具體地說(shuō),在步驟SIOI,在接收到經(jīng)編碼的運(yùn)動(dòng)圖像數(shù)據(jù) 時(shí),解碼設(shè)備從經(jīng)編碼的運(yùn)動(dòng)圖像中提取幀預(yù)測(cè)和場(chǎng)預(yù)測(cè)的信息。在步驟 S103,解碼i殳^l行對(duì)所有幀宏塊對(duì)和所有頂部場(chǎng)宏塊的解碼處理。在步 驟S104,解碼設(shè)備將經(jīng)解碼的圖像寫入幀存儲(chǔ)器53中。此后,解碼設(shè)備 使用去塊濾波器執(zhí)行去塊濾波器處理。在結(jié)束"前一半"和"后一半"的 編碼和解碼之后,在完成對(duì)整個(gè)幀的編碼和解碼之后,解碼i殳a行去塊
濾波器處理。
參照?qǐng)D6說(shuō)明運(yùn)動(dòng)圖像處理系統(tǒng)中的宏塊處理順序確定處理的流程。 圖6 ^^艮據(jù)第一實(shí)施例的運(yùn)動(dòng)圖#>處理系統(tǒng)中的宏塊處理順序確定處理 的流程圖。步驟S201至步驟S206的處理在幀編碼或解碼處理的"前一半" 中執(zhí)行。步驟S206至步驟S210的處理在幀編碼或解碼處理的"后一半" 中執(zhí)行。確定每一宏塊是通過(guò)幀預(yù)測(cè)還是通過(guò)場(chǎng)預(yù)測(cè)被進(jìn)行編碼的方法在 稍后描述,并且因此這里將省略其詳細(xì);兌明。如圖6所示,編碼設(shè)備(在解碼處理的情況下是"解碼i殳備",并且 這在下文中相似地采用)初始化pair_count、 mb—count、 mb2—count (步 驟S200)。具體地說(shuō),pair—count、 mb_count、 mb2_count分別表示處理 宏塊的積累數(shù)量、經(jīng)編碼(一或解碼)的宏塊的積累l^量、以及要在"后一 半"中通過(guò)掛起該處理而被進(jìn)行編碼的宏塊的積累數(shù)量。
編碼設(shè)^l行確定第pair—count宏塊對(duì)是幀預(yù)測(cè)還是場(chǎng)預(yù)測(cè)的分支 處理(步驟S201 )。 MBjair(num)表示第num宏塊對(duì)的預(yù)測(cè)類型。
當(dāng)?shù)趐air—count宏塊對(duì)是幀預(yù)測(cè)時(shí)(步驟S201為"是"),編碼設(shè)備 生成用于處理i宏塊的信息(步驟S202 ),并且生成用于處理下宏塊的信 息(步驟S203 )。 SEND_Frame(num, x, y)表示向幀存儲(chǔ)器10和幀存儲(chǔ)器 17 (幀存儲(chǔ)器53用于解碼處理)通知第num幀預(yù)測(cè)宏塊的、在屏幕內(nèi) 的地址是(x, y)。 MB一WIDTH表示幀內(nèi)橫向方向上的宏塊的數(shù)量。
此后,當(dāng)?shù)趐air—count宏塊對(duì)是場(chǎng)預(yù)測(cè)時(shí)(步驟S201為"否"),編 碼設(shè)備生成處理頂部場(chǎng)宏塊所需的信息(步驟S204)。 SEND_Field(num, x, y)表示向幀存儲(chǔ)器10和幀存儲(chǔ)器17(幀存儲(chǔ)器53用于解碼^h理)通知 第num場(chǎng)預(yù)測(cè)宏塊的、在屏幕內(nèi)的地址是(x,y)。
編碼設(shè)備生成處理底部場(chǎng)宏塊所需的信息(步驟S205 )。在步驟S205, 當(dāng)?shù)趐air一count宏塊對(duì)是場(chǎng)預(yù)測(cè)時(shí),該信息在處理頂部場(chǎng)宏塊對(duì)時(shí)生成。 SAVE(num x, y)表示將第 num場(chǎng)預(yù)領(lǐng)'J底部宏塊的、在屏幕內(nèi)的地址(x, y) 存儲(chǔ)到順序控制21 (順序控制56用于解碼處理)內(nèi)的存儲(chǔ)器區(qū)域中。
此后,編碼設(shè)備確定在幀編碼(或解碼)的"前一半"中是否仍然存 在要處理的宏塊(步驟S206)。 MB一HEIGHT表示幀內(nèi)垂直方向上塊的 數(shù)量。
當(dāng)在"前一半"中沒有要處理的宏塊時(shí)(步驟S206為"是"),編碼 設(shè)備執(zhí)行幀編碼(或解碼)的"后一半"之前的初始化(步驟S207)。 NUM一MB2表示在"前一半"中被暫停處理且在"后一半,,中被執(zhí)行編 碼(或解碼)的底部場(chǎng)宏塊的總數(shù)。
編碼設(shè)備獲得在"后一半"的第mb2_count處被執(zhí)行編碼(或解碼) 的底部場(chǎng)宏塊的地址信息(步驟S208 )。該處理中的RESTORE(num, &x, &7)表示在順序控制21 (順序控制56用于解碼處理)內(nèi)的存儲(chǔ)器區(qū)域查 詢第num場(chǎng)預(yù)測(cè)底部場(chǎng)宏塊的、在屏幕內(nèi)的地址,并且存儲(chǔ)(&X,&y)的 查詢的結(jié)果。此后,編碼設(shè)備通知在第mb2_count時(shí)間被編碼(或解碼)的底部 場(chǎng)宏塊的地址信息(步驟S209 ),并且確定是否仍存在在幀編碼(或解碼) 的"后一半,,中^L行處理的底部場(chǎng)宏塊(步驟S210 )。當(dāng)在"后一半" 中不存在要處理的底部場(chǎng)宏塊時(shí),處理結(jié)束。
根據(jù)MPEG-4 AVC/H.264,可以從多個(gè)幀場(chǎng)當(dāng)中以宏塊為單元選擇 用于運(yùn)動(dòng)預(yù)測(cè)的幀和場(chǎng)。可以按分段為單元選擇的幀和場(chǎng)的列表被稱為參 考幀列表。以宏塊為單元的選擇信息被稱為參考幀標(biāo)識(shí)符。
當(dāng)SMOF關(guān)閉時(shí),使用MPEG-4 AVC/H.264自身的參考幀列表 (RefPicListO[,RefPicListl[)。另一方面,當(dāng)SMOF打開時(shí),在"前
一半"處理時(shí)間,RefPicListO[和RefPicListl[自身是列出參考幀的。在 "后一半"處理時(shí)間,作為前向參考幀列表的RefPicListO[被更新。具
體地說(shuō),參考幀的參考值被輸入第一條目。原始列表被逐一移到后續(xù)條目。
在底部場(chǎng)宏塊中,通過(guò)將前向參考索引設(shè)置為"0",在同一幀內(nèi)參考 場(chǎng)可以被"沒置為頂部場(chǎng)。當(dāng)前向參考索引祐i更置成非"0"時(shí),可以參考 其它幀內(nèi)的場(chǎng)。
下面說(shuō)明場(chǎng)和幀確定處理,即確定是要通過(guò)場(chǎng)預(yù)測(cè)被還是要通過(guò)幀預(yù) 測(cè)對(duì)宏塊對(duì)進(jìn)行編碼。在本示例中,處理幀是B畫面(參考兩個(gè)方向)。 在P畫面的情況下(參考前向方向),排除后向運(yùn)動(dòng)矢量。
在這種情形下,在步驟S101和步驟S102的處理中估計(jì)處理幀的運(yùn) 動(dòng)矢量。此時(shí),在每一宏塊對(duì)中計(jì)算以下值。對(duì)于從多個(gè)可參考幀和場(chǎng)當(dāng) 中選捧要參考的幀和場(chǎng)的方法,以及對(duì)于從參考幀和場(chǎng)以及處理幀當(dāng)中估
計(jì)優(yōu)化運(yùn)動(dòng)矢量的方法,采用通常^f吏用的已知方法。
計(jì)算下列值在幀預(yù)測(cè)時(shí)間處上宏塊和下宏塊的前向參考幀索引 (refldxLO_Frame_Upper, refldxLO_Frame_Lower);在幀預(yù)測(cè)時(shí)間處上 宏塊和下宏塊的后向參考k索"(refldxLl_Frame—Upper, refldxLl—Frame—Lower);在幀預(yù)測(cè)時(shí)間處上宏塊和下宏塊的前向運(yùn)動(dòng)矢 量(mvLO_Frame_Upper, mvLO_Frame_Lower);在幀預(yù)測(cè)時(shí)間處上宏塊 和下宏塊的后向運(yùn)動(dòng)矢量(mvLl Frame Upper, mvLl—Frame一Lower); 在幀預(yù)測(cè)時(shí)間處上宏塊和下宏塊^I運(yùn)動(dòng)^測(cè)誤差(差分絕對(duì)i的總和) (cost_Frame—Upper, cost_Frame—Lower);在場(chǎng)預(yù)測(cè)時(shí)間處頂部場(chǎng)宏塊 和底部場(chǎng)宏塊的前向參考幀索引 (refldxLO一Fidd一Top, refldxLO Field Bottom);在場(chǎng)預(yù)測(cè)時(shí)間處頂部場(chǎng)宏塊和底部場(chǎng)宏^的后向參考幀索引(refldxLl_Field_Top, refldxLl_Field_Bottom);在場(chǎng)預(yù)測(cè) 時(shí)間處頂部場(chǎng)宏塊和底、場(chǎng)宏塊的前向運(yùn)動(dòng)矢f ( mvLO一Field一Top, mvLO_Field_Bottom);在場(chǎng)預(yù)測(cè)時(shí)間處頂部場(chǎng)宏塊和底部場(chǎng)宏塊"后向 運(yùn)動(dòng)矢量(mvLl_Field—Top, mvLl—Field—Bottom);在場(chǎng)預(yù)測(cè)時(shí)間處頂部 場(chǎng)宏塊和底部場(chǎng)宏k的運(yùn)動(dòng)^測(cè)誤差(差分絕對(duì)值的總和) (costFieldTop, cost_Field_Bottom )。
當(dāng)滿足條件"(cost Frame Upper + cost—Frame一Lower) <= (cost_Field_Top + cost—Field—Bottom),,時(shí),在幀結(jié)構(gòu)^設(shè)置處理宏塊對(duì)。 否則,在場(chǎng)結(jié)構(gòu)中設(shè)f處理宏塊對(duì)。
如上所述,根據(jù)笫一實(shí)施例,通過(guò)搜索運(yùn)動(dòng),編碼設(shè)備估計(jì)要處理的 運(yùn)動(dòng)圖像幀的運(yùn)動(dòng)矢量?;诠烙?jì)的運(yùn)動(dòng)矢量,編碼設(shè)備確定對(duì)要處理的 幀的每一宏塊是執(zhí)行幀預(yù)測(cè)編碼還是執(zhí)行場(chǎng)預(yù)測(cè)編碼。編碼設(shè)備通過(guò)確定 的編碼方法對(duì)每一宏塊進(jìn)行編碼。當(dāng)確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),編 碼設(shè)^^吏用同一經(jīng)編碼的幀內(nèi)的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一 幀內(nèi)的第二場(chǎng)執(zhí)行場(chǎng)間預(yù)測(cè)編碼。編碼設(shè)備將要處理的經(jīng)編碼的運(yùn)動(dòng)圖像 幀中的每一宏塊的編碼方法添加為編碼信息,并JL義送所添加的信息。解 碼設(shè)備接收編碼信息以及由編碼設(shè)備編碼的經(jīng)編碼的運(yùn)動(dòng)圖像幀,并且確 定要處理幀的每一宏塊是通過(guò)幀預(yù)測(cè)被進(jìn)行了編碼還是通過(guò)場(chǎng)預(yù)測(cè)被進(jìn) 行了編碼。解碼i殳備通過(guò)與確定的編碼方法對(duì)應(yīng)的解碼方法對(duì)經(jīng)編碼的宏 塊進(jìn)行解碼。當(dāng)確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),解碼設(shè)備使用同一經(jīng)解 碼的幀內(nèi)的第一場(chǎng)的宏塊作為參考圖《象之一,對(duì)同一幀內(nèi)的第二場(chǎng)的宏塊 執(zhí)行場(chǎng)預(yù)測(cè)解碼。因此,屏幕內(nèi)在處理順序上領(lǐng)先的位置處的宏塊可以參 考在處理順序上在最后位置處的像素。也就是說(shuō),可以使用同一幀內(nèi)在時(shí) 間上領(lǐng)先的場(chǎng)作為參考場(chǎng)執(zhí)行場(chǎng)預(yù)測(cè),從而改進(jìn)運(yùn)動(dòng)預(yù)測(cè)的效率。結(jié)果, 可以改進(jìn)執(zhí)行場(chǎng)間運(yùn)動(dòng)圖l象編碼時(shí)的圖像質(zhì)量。
盡管在上文說(shuō)明了本發(fā)明的第一實(shí)施例,但是本發(fā)明還可以通過(guò)除了 第一實(shí)施例之外的各種不同實(shí)施例來(lái)執(zhí)行。下面基于以下三種分類來(lái)說(shuō)明 本發(fā)明的另一實(shí)施例編碼方法;系統(tǒng)配置等等;以及程序。
首先,將說(shuō)明編碼方法。在以上實(shí)施例中,說(shuō)明了在幀內(nèi)頂部場(chǎng)在時(shí) 間上領(lǐng)先而底部場(chǎng)在時(shí)間上落后。然而,本發(fā)明不限于此。當(dāng)?shù)撞繄?chǎng)在時(shí) 間上領(lǐng)先時(shí),可交換地讀取頂部場(chǎng)和底部場(chǎng)。
接下來(lái),將說(shuō)明系統(tǒng)配置等等。在附圖中描述的各個(gè)設(shè)備的各個(gè)構(gòu)成 元件在功能上是概念性的,并且在物理上,相同配置并非總是必須的。也就是說(shuō),根據(jù)各種負(fù)載和使用狀態(tài),各設(shè)備的a和集成的具員式并不 限于所描述的模式,并且其全部或部分在功能上或物理上能夠^t或者被
集成在任何單元中。此外,可以通過(guò)中央處理單元(CPU)或者由CPU
分析和執(zhí)行的程序來(lái)實(shí)現(xiàn)由各個(gè)設(shè)備執(zhí)行的各個(gè)處理功能中的全部處理 功能或任何部分處理功能,或者可以通過(guò)連線邏輯被實(shí)現(xiàn)為硬件。
在實(shí)施例中所說(shuō)明的各個(gè)處理當(dāng)中,被說(shuō)明為自動(dòng)執(zhí)行的處理(例如 圖像輸入處理)中的全部或部分處理可以被手動(dòng)執(zhí)行。除非另有說(shuō)明,可 以任意改變包括說(shuō)明書和附圖所描述的處理過(guò)程、控制過(guò)程、具體名稱以 及各種數(shù)據(jù)和M的信息。
此夕卜,將說(shuō)明程序。通過(guò)使用個(gè)人計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)(例如工作站)
執(zhí)行預(yù)先準(zhǔn)備的程序,可以執(zhí)行第一實(shí)施例中說(shuō)明的各種類型的處理。執(zhí) 行具有與第一實(shí)施例的功能類似的功能的程序的計(jì)算機(jī)系統(tǒng)在下面被說(shuō)
明為另一實(shí)施例。
首先說(shuō)明執(zhí)行編碼程序的計(jì)算機(jī)系統(tǒng)的示例。圖7A是執(zhí)行編碼程序 的計(jì)算機(jī)系統(tǒng)的示例。如圖7A所示,計(jì)算機(jī)系統(tǒng)100包括隨MM儲(chǔ) 器(RAM) 101、硬盤驅(qū)動(dòng)器(HDD) 102、只讀存儲(chǔ)器(ROM) 103以 及CPU 104。 ROM 103預(yù)先存儲(chǔ)呈現(xiàn)出與第一實(shí)施例的功能類似的功能 的程序。也就是說(shuō),如圖7A所示,ROM 103預(yù)先存儲(chǔ)預(yù)測(cè)編碼確定程 序103a、第一編碼程序103b、第二編碼程序103c、以及經(jīng)編碼數(shù)據(jù)發(fā)送 程序103d。
CPU 104讀取這些程序103a至103c,并且執(zhí)行這些程序,使得這些 程序變?yōu)轭A(yù)測(cè)編碼確定處理104a、第一編碼處理104b、第二編碼處理 104c、以及經(jīng)編碼數(shù)據(jù)發(fā)送處理104d,如圖7A所示。預(yù)測(cè)編碼確定處理 104a與圖2中描述的順序控制21對(duì)應(yīng)。類似地,第一編碼處理104b、第 二編碼處理104c、經(jīng)編碼數(shù)據(jù)發(fā)送程序103d與VLC 14對(duì)應(yīng)。HDD 102 存儲(chǔ)輸入運(yùn)動(dòng)圖像和本地經(jīng)解碼的圖像。
上述程序103a至103d并非一定要求被存儲(chǔ)在ROM 103中。這些程 序可以被預(yù)先存儲(chǔ)在插入到計(jì)算機(jī)系統(tǒng)100中的"便攜式物理介質(zhì)"(例 如軟盤(FD)、光盤ROM ( CD-ROM)、磁光(MO)盤、數(shù)字多功能盤 (DVD)、規(guī)盤、或集成電路(IC)卡)、被提供在計(jì)算機(jī)系統(tǒng)100內(nèi) 部或外部的"固定物理介質(zhì)"(例如HDD)、以及經(jīng)由公共線路、因特網(wǎng)、 局域網(wǎng)(LAN)以及廣域網(wǎng)(WAN)連接到計(jì)算機(jī)系統(tǒng)100的"其它計(jì) 算機(jī)系統(tǒng)"中。計(jì)算機(jī)系統(tǒng)100可以從這些介質(zhì)或系統(tǒng)讀取這些程序,并且執(zhí)行這些程序。
接下來(lái)說(shuō)明執(zhí)行解碼程序的計(jì)算機(jī)系統(tǒng)的示例。圖7B是執(zhí)行解碼程 序的計(jì)算機(jī)系統(tǒng)的示例。如圖7B所示,計(jì)算機(jī)系統(tǒng)200包括RAM201、 HDD 202、 ROM 203和CPU 204。 ROM 203預(yù)先存儲(chǔ)呈現(xiàn)出與第一實(shí)施 例的功能類似的功能的程序。也就是說(shuō),如圖7B所示,ROM203預(yù)先存 儲(chǔ)編碼確定程序203a、第一解碼程序203b、第二解碼程序203c。
CPU204讀:^序203a至203d,并且執(zhí)行這些程序,4吏得這些程序 變?yōu)榫幋a確定處理204a、第一解碼處理204b、以及第二解碼處理204c, 如圖7B所示。編碼確定處理204a與圖4中描述的順序控制56對(duì)應(yīng)。類 似地,第一解碼處理204b和第二解碼處理204c與圖4中描述的IQ/IDCT 51和加法器52對(duì)應(yīng)。HDD 202存儲(chǔ)生成的經(jīng)解碼的圖像等等。
上述程序203a至203d并非一定要求^L存儲(chǔ)在ROM 203中。這些程 序可以預(yù)先被存儲(chǔ)在插入到計(jì)算機(jī)系統(tǒng)200中的"便攜式物理介質(zhì)"(例 如FD、 CD-ROM、 MO盤、DVD、光磁盤、或IC卡)、被提供在計(jì)算機(jī) 系統(tǒng)200內(nèi)部或外部的"固定物理介質(zhì)"(例如HDD )以及經(jīng)由公共線路、 因特網(wǎng)、LAN和WAN連接到計(jì)算機(jī)系統(tǒng)200的"其它計(jì)算機(jī)系統(tǒng)"中。 計(jì)算機(jī)系統(tǒng)200可以從這些介質(zhì)或系統(tǒng)讀取這些程序,并且執(zhí)行這些程 序。
根據(jù)本發(fā)明,可以改進(jìn)運(yùn)動(dòng)預(yù)測(cè)的效率。
本文記載的所有示例和條件語(yǔ)言旨在用于教導(dǎo)性目的以幫助讀者理 解由發(fā)明人貢獻(xiàn)出以促ii^領(lǐng)域的發(fā)明和構(gòu)思,并且應(yīng)當(dāng)被理解為不受限 于這樣的具體記載的示例和條件,說(shuō)明書中這樣的示例的組織也不與本發(fā) 明的優(yōu)勢(shì)和劣勢(shì)的示出有關(guān)。雖然已經(jīng)詳細(xì)描述了本發(fā)明的實(shí)施例,但是 應(yīng)當(dāng)理解,在不脫離本發(fā)明精神和范圍的情況下,可以對(duì)其進(jìn)行各種改變、 替代和改動(dòng)。
19
權(quán)利要求
1.一種運(yùn)動(dòng)圖像處理系統(tǒng),包括編碼設(shè)備和解碼設(shè)備,所述編碼設(shè)備包括預(yù)測(cè)編碼確定單元,其通過(guò)搜索要處理的運(yùn)動(dòng)圖像幀的運(yùn)動(dòng)來(lái)估計(jì)運(yùn)動(dòng)矢量,并且基于所估計(jì)的運(yùn)動(dòng)矢量確定對(duì)所述要處理的幀的每一宏塊是執(zhí)行幀預(yù)測(cè)編碼還是執(zhí)行場(chǎng)預(yù)測(cè)編碼,第一編碼單元,其通過(guò)由所述預(yù)測(cè)編碼確定單元確定的編碼方法對(duì)宏塊進(jìn)行編碼,第二編碼單元,當(dāng)由所述預(yù)測(cè)編碼確定單元確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),所述第二編碼單元通過(guò)使用由所述第一編碼單元編碼的同一幀內(nèi)的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)執(zhí)行場(chǎng)預(yù)測(cè)編碼,編碼數(shù)據(jù)發(fā)送單元,其通過(guò)把要處理的運(yùn)動(dòng)圖像幀的、由所述第一編碼單元和所述第二編碼單元編碼的每一宏塊的編碼方法添加為編碼信息來(lái)進(jìn)行發(fā)送;并且所述解碼設(shè)備包括編碼確定單元,其接收編碼信息和由所述編碼設(shè)備編碼的運(yùn)動(dòng)圖像幀,并且確定所述要處理的幀的每一宏塊是通過(guò)幀預(yù)測(cè)被進(jìn)行了編碼還是通過(guò)場(chǎng)預(yù)測(cè)被進(jìn)行了編碼,第一解碼單元,其通過(guò)與由所述編碼確定單元確定的編碼方法對(duì)應(yīng)的解碼方法對(duì)經(jīng)編碼的宏塊進(jìn)行解碼,第二解碼單元,當(dāng)由所述編碼確定單元確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),所述第二解碼單元通過(guò)使用由所述第一解碼單元解碼的同一幀內(nèi)的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)的宏塊執(zhí)行場(chǎng)預(yù)測(cè)解碼。
2. —種編碼設(shè)備,包括預(yù)測(cè)編碼確定單元,其通過(guò)搜索要處理的運(yùn)動(dòng)圖像幀的運(yùn)動(dòng)來(lái)估計(jì)運(yùn) 動(dòng)矢量,并且基于所估計(jì)的運(yùn)動(dòng)矢量確定對(duì)所述要處理的幀的每一宏塊是 執(zhí)行幀預(yù)測(cè)編碼還是執(zhí)行場(chǎng)預(yù)測(cè)編碼;第 一編碼單元,其通過(guò)由所述預(yù)測(cè)編碼確定單元確定的編碼方法對(duì)宏塊進(jìn)行編碼;第二編碼單元,當(dāng)由所述預(yù)測(cè)編碼確定單元確定的編碼方法是場(chǎng)預(yù)測(cè) 編碼時(shí),所述第二編碼單元通過(guò)使用由所述第一編碼單元編碼的同一幀內(nèi) 的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)執(zhí)行場(chǎng)預(yù)測(cè)編 碼;編碼數(shù)據(jù)發(fā)送單元,其通過(guò)把要處理的運(yùn)動(dòng)圖像幀的、由所述第一編 碼單元和所述第二編碼單元編碼的每一宏塊的編碼方法添加為編碼信息 來(lái)進(jìn)行發(fā)送。
3. —種解碼i殳備,包括編碼確定單元,其接收經(jīng)編碼的運(yùn)動(dòng)圖像幀和表示編碼方法的編碼信 息,并且確定要處理的幀的每一宏塊是通過(guò)幀預(yù)測(cè)被進(jìn)行了編碼還是通過(guò) 場(chǎng)預(yù)測(cè)被進(jìn)行了編碼;第一解碼單元,其通過(guò)與由所述編碼確定單元確定的編碼方法對(duì)應(yīng)的 解碼方法對(duì)經(jīng)編碼的宏塊進(jìn)行解碼;第二解碼單元,當(dāng)由所述編碼確定單元確定的編碼方法是場(chǎng)預(yù)測(cè)編碼 時(shí),所述第二解碼單元通過(guò)使用由所述第 一解碼單元解碼的同 一幀內(nèi)的第 一場(chǎng)的宏塊作為參考圖《象之一,對(duì)同一幀內(nèi)的第二場(chǎng)的宏塊執(zhí)行場(chǎng)預(yù)測(cè)解 碼。
4. 一種編碼方法,包括通過(guò)搜索要處理的運(yùn)動(dòng)圖像幀的運(yùn)動(dòng)來(lái)估計(jì)運(yùn)動(dòng)矢量;基于所估計(jì)的運(yùn)動(dòng)矢量確定對(duì)要處理的幀的每一宏塊是執(zhí)行幀預(yù)測(cè) 編碼還是執(zhí)行場(chǎng)預(yù)測(cè)編碼;通過(guò)由所述確定所確定的編碼方法對(duì)宏塊進(jìn)行編碼;當(dāng)由所述確定所確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),通過(guò)使用同一經(jīng)編 碼的幀內(nèi)的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)執(zhí)行場(chǎng) 預(yù)測(cè)編碼;和通過(guò)把要處理的經(jīng)編碼的運(yùn)動(dòng)圖像幀的每一宏塊的編碼方法添加為 編碼信息來(lái)進(jìn)行發(fā)送。
5. —種解碼方法,包括接收經(jīng)編碼的運(yùn)動(dòng)圖像幀和表示編碼方法的編碼信息;確定要處理的幀的每一宏塊是通過(guò)幀預(yù)測(cè)被進(jìn)行了編碼還是通過(guò)場(chǎng)預(yù)測(cè)被進(jìn)行了編碼;通過(guò)與由所述確定所確定的編碼方法對(duì)應(yīng)的解碼方法對(duì)經(jīng)編碼的宏 塊進(jìn)行解碼;和當(dāng)由所述確定所確定的編碼方法是場(chǎng)預(yù)測(cè)編碼時(shí),通過(guò)4吏用同一經(jīng)解 碼的幀內(nèi)的第一場(chǎng)的宏塊作為參考圖4象之一,對(duì)同一幀內(nèi)的第二場(chǎng)的宏塊 執(zhí)行場(chǎng)預(yù)測(cè)解碼。
全文摘要
運(yùn)動(dòng)圖像處理系統(tǒng)、編碼設(shè)備和解碼設(shè)備。編碼設(shè)備基于所確定的編碼方法對(duì)宏塊進(jìn)行編碼。當(dāng)確定為場(chǎng)預(yù)測(cè)編碼時(shí),編碼設(shè)備通過(guò)使用同一經(jīng)編碼的幀內(nèi)的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)執(zhí)行場(chǎng)間預(yù)測(cè)編碼。解碼設(shè)備接收經(jīng)編碼的運(yùn)動(dòng)圖像幀和編碼信息,并且確定要處理的幀的每一宏塊是通過(guò)幀預(yù)測(cè)被進(jìn)行了編碼還是通過(guò)場(chǎng)預(yù)測(cè)被進(jìn)行了編碼。解碼設(shè)備基于所確定的編碼方法對(duì)宏塊進(jìn)行解碼。當(dāng)確定為場(chǎng)預(yù)測(cè)編碼時(shí),解碼設(shè)備通過(guò)使用同一經(jīng)解碼的幀內(nèi)的第一場(chǎng)的宏塊作為參考圖像之一,對(duì)同一幀內(nèi)的第二場(chǎng)的宏塊執(zhí)行場(chǎng)預(yù)測(cè)解碼。
文檔編號(hào)H04N7/26GK101557521SQ20091013124
公開日2009年10月14日 申請(qǐng)日期2009年4月10日 優(yōu)先權(quán)日2008年4月11日
發(fā)明者數(shù)井君彥 申請(qǐng)人:富士通株式會(huì)社