專利名稱:用于執(zhí)行運(yùn)動(dòng)估計(jì)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例一般地涉及編碼系統(tǒng)。更特定地,本發(fā)明涉及在運(yùn)動(dòng)補(bǔ)償編碼器 中所采用的運(yùn)動(dòng)估計(jì)方法。
背景技術(shù):
對(duì)于更低比特速率和更高視頻質(zhì)量的需求要求帶寬的有效使用。為了實(shí)現(xiàn)這些目 標(biāo),運(yùn)動(dòng)圖像專家組(MPEG)創(chuàng)建了 IS0/IEC國際標(biāo)準(zhǔn)11172(1991)(通常稱作MPEG-I格 式)和13818 (1995)(通常稱作MPEG-2格式),其全部?jī)?nèi)容通過引用并入這里。雖然這些編 碼標(biāo)準(zhǔn)非常有效,但是已經(jīng)開發(fā)了新的和改進(jìn)的編碼標(biāo)準(zhǔn),例如H. 264/MPEG-4AVC。H. 264/MPEG-4 AVC是一種通過利用各種編碼工具來實(shí)現(xiàn)數(shù)據(jù)壓縮的新的視頻編 碼標(biāo)準(zhǔn),所述編碼工具諸如空間和時(shí)間預(yù)測(cè)、轉(zhuǎn)換和量化、熵編碼等。與其它現(xiàn)有的視頻編 碼標(biāo)準(zhǔn)不同,H. 264支持幀編碼、字段編碼以及圖片自適應(yīng)幀和字段編碼。雖然H. 264是強(qiáng) 大的視頻壓縮標(biāo)準(zhǔn),但是在例如實(shí)時(shí)應(yīng)用的特定應(yīng)用中使用H. 264類的視頻編碼器可能是 非常富有挑戰(zhàn)性的。
發(fā)明內(nèi)容
在一個(gè)實(shí)施例中,本發(fā)明公開了一種系統(tǒng)和方法,用于執(zhí)行與例如遵循H. 264/ MPEG-4 AVC編碼器的編碼器相關(guān)聯(lián)的運(yùn)動(dòng)估計(jì)。例如,所述方法在至少一個(gè)參考圖片的搜 索區(qū)域中選擇用于當(dāng)前塊選擇運(yùn)動(dòng)矢量定心。所述方法計(jì)算用于從所述搜索區(qū)域得到的多 個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)的匹配成本,并且基于與所述多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)相 關(guān)聯(lián)的匹配成本向主編碼回路輸出所述多個(gè)候選運(yùn)動(dòng)矢量中的至少一個(gè)。
因此,可以通過參考實(shí)施例來獲得以上簡(jiǎn)要概括的本發(fā)明的更為具體的描述的以 其能夠詳細(xì)理解本發(fā)明以上所引用的特征的方式,一些實(shí)施例在附圖中進(jìn)行圖示。然而,應(yīng) 當(dāng)注意,附圖僅圖示了本發(fā)明的典型實(shí)施例,并且因此不被認(rèn)為是對(duì)本發(fā)明的范圍的限制, 因?yàn)楸景l(fā)明可以允許其它等效的實(shí)施例。圖1圖示了本發(fā)明的說明性運(yùn)動(dòng)補(bǔ)償編碼器的概況;圖2圖示了說明性搜索區(qū)域;圖3圖示了另一說明性搜索區(qū)域;圖4圖示了相對(duì)于當(dāng)前塊的相鄰塊的位置的一個(gè)說明性實(shí)施例;圖5圖示了相對(duì)于當(dāng)前塊對(duì)的相鄰塊的位置的另一個(gè)說明性實(shí)施例;圖6圖示了差運(yùn)動(dòng)矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的一個(gè)說明性實(shí) 施例;圖7圖示了差運(yùn)動(dòng)矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的另一個(gè)說明性 實(shí)施例;
圖8圖示了差運(yùn)動(dòng)矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的另一個(gè)說明性 實(shí)施例;圖9圖示了差運(yùn)動(dòng)矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的另一個(gè)說明性 實(shí)施例;圖10圖示了本發(fā)明一個(gè)實(shí)施例中的用于執(zhí)行運(yùn)動(dòng)估計(jì)的方法;以及圖11圖示了使用通用計(jì)算機(jī)實(shí)現(xiàn)的本發(fā)明。為了促進(jìn)理解,已經(jīng)在可能處使用了相同的附圖標(biāo)記以指示各圖共用的相同元
ο
具體實(shí)施例方式應(yīng)當(dāng)注意,雖然在H.264/MPEG-4 AVC的上下文中對(duì)本發(fā)明進(jìn)行了描述,但是本發(fā) 明并不局限于此。也就是說,運(yùn)動(dòng)補(bǔ)償編碼器可以是遵循H. 264/MPEG-4 AVC的編碼器或者 是遵循能夠采用本運(yùn)動(dòng)估計(jì)方案的任何其它壓縮標(biāo)準(zhǔn)的編碼器。圖1描繪了本發(fā)明的示例性運(yùn)動(dòng)補(bǔ)償編碼器100的框圖。在本發(fā)明的一個(gè)實(shí)施例 中,裝置100是編碼器或更復(fù)雜的運(yùn)動(dòng)補(bǔ)償編碼系統(tǒng)的一部分。裝置100可以包括時(shí)間或空 間預(yù)測(cè)模塊140 (例如,包括可變塊運(yùn)動(dòng)估計(jì)模塊和運(yùn)動(dòng)補(bǔ)償模塊)、速率控制模塊130、例 如基于離散余弦變換(DCT)模塊的變換模塊160、量化(Q)模塊170、上下文自適應(yīng)可變長 度編碼(CAVLC)模塊或上下文自適應(yīng)二進(jìn)制算術(shù)編碼模塊(CABAC) 180、緩沖器(BUF) 190、 反量化(Q—1)模塊175、反DCT(DCT)變換模塊165、減法器115、加法器155、去塊模塊151 和參考緩沖器150。雖然裝置100包括多個(gè)模塊,但是本領(lǐng)域技術(shù)人員將會(huì)意識(shí)到,不要求 各個(gè)模塊所執(zhí)行的功能被分隔成如圖1中所示的分立模塊中。例如,包括時(shí)間或空間預(yù)測(cè) 模塊140、反量化模塊175和反DCT模塊165的模塊集合通常被長作“嵌入式解碼器”。圖1圖示了根據(jù)MPEG標(biāo)準(zhǔn)的被數(shù)字化并且表示為亮度以及兩個(gè)色差信號(hào)(Y,Cr, Cb)的路徑110上的輸入視頻圖像(圖像序列)。這些信號(hào)能夠進(jìn)一步被分為多個(gè)層(序 列、圖片組、圖片、條帶和塊),使得每個(gè)圖片(幀)由具有不同大小的多個(gè)塊來表示。將圖 片分為塊單元提高了辨別兩個(gè)連續(xù)圖片之間的改變的能力,并且提高了通過低幅度變換系 數(shù)的估計(jì)的圖像壓縮。數(shù)字化的信號(hào)可以可選地經(jīng)歷諸如格式轉(zhuǎn)換的處理來選擇適當(dāng)?shù)拇?口、分辨率和輸入格式。路徑110上的輸入視頻圖像被接收到時(shí)間或空間預(yù)測(cè)模塊140中,以供執(zhí)行空間 預(yù)測(cè)并且估計(jì)用于時(shí)間預(yù)測(cè)的運(yùn)動(dòng)矢量。在一個(gè)實(shí)施例中,時(shí)間或空間預(yù)測(cè)模塊140包括 可變塊運(yùn)動(dòng)估計(jì)模塊和運(yùn)動(dòng)補(bǔ)償模塊。來自可變塊運(yùn)動(dòng)估計(jì)模塊的運(yùn)動(dòng)矢量由運(yùn)動(dòng)補(bǔ)償模 塊來接收以供提高樣本值預(yù)測(cè)的效率。運(yùn)動(dòng)補(bǔ)償涉及預(yù)測(cè),該預(yù)測(cè)使用運(yùn)動(dòng)矢量來將偏移 提供到包含用于形成預(yù)測(cè)誤差的先前解碼的樣本值的過去和/或未來的參考幀中。也就是 說,時(shí)間或空間預(yù)測(cè)模塊140使用先前解碼的幀和運(yùn)動(dòng)矢量來構(gòu)成當(dāng)前幀的估計(jì)。時(shí)間或空間預(yù)測(cè)模塊140還可以執(zhí)行空間預(yù)測(cè)處理,例如,定向空間預(yù)測(cè)(DSP)。 定向空間預(yù)測(cè)可以被實(shí)現(xiàn)用于幀內(nèi)編碼、用于推斷當(dāng)前圖片的先前解碼部分的邊緣并且將 其應(yīng)用在幀內(nèi)編碼的圖片的區(qū)域中。這提高了預(yù)測(cè)信號(hào)的質(zhì)量,并且還允許從沒有使用幀 內(nèi)編碼的相鄰區(qū)域進(jìn)行預(yù)測(cè)。此外,在執(zhí)行對(duì)給定塊的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)之前,必須選擇編碼模式。在編碼模式判定
6方面,MPEG提供了多種不同的編碼模式。通常,這些編碼模式被分組為兩個(gè)大類,幀間模式 編碼和幀內(nèi)模式編碼。幀內(nèi)模式編碼涉及使用僅來自塊或圖片的信息來對(duì)所述塊或圖片進(jìn) 行編碼。相反,幀間模式編碼涉及使用來自自身以及在不同時(shí)間出現(xiàn)的塊和圖片的信息來 對(duì)塊和圖片進(jìn)行編碼。一旦選擇了編碼模式,時(shí)間或空間預(yù)測(cè)模塊140就基于過去和/或未來的參考圖 片在塊的內(nèi)容的路徑152上生成運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)(預(yù)測(cè)圖像)。在當(dāng)前塊中經(jīng)由減法器115 從在路徑110上的視頻圖像中減去路徑152上的該運(yùn)動(dòng)補(bǔ)償預(yù)測(cè),以在路徑153上形成誤 差信號(hào)或預(yù)測(cè)殘差信號(hào)。預(yù)測(cè)殘差信號(hào)的形成有效地移除了輸入視頻圖像中的冗余信息。 也就是說,作為經(jīng)由傳輸信道來傳送實(shí)際視頻圖像的代替,僅傳送生成視頻圖像的預(yù)測(cè)以 及這些預(yù)測(cè)的誤差所需的信息,由此顯著減少了需要傳送的數(shù)據(jù)量。為了進(jìn)一步降低比特 速率,將路徑153上的預(yù)測(cè)殘差信號(hào)傳遞到變換模塊160以供進(jìn)行編碼。變換模塊160然后應(yīng)用變換,例如,基于DCT的變換。雖然H. 264/MPEG-4 AVC中 的變換仍然是基于DCT的,但是與其它現(xiàn)有視頻編碼標(biāo)準(zhǔn)相比,存在一些重要差異。首先, 變換是整數(shù)變換,也就是說,所有運(yùn)算都以整數(shù)算術(shù)來執(zhí)行。第二,完整地指定反變換。因 此,在編碼器和解碼器之間不存在失配。第三,變換不需要乘法,僅需要加法和移位運(yùn)算。第 四,作為完整變換的一部分的縮放乘法被集成到量化器中,減少乘法的總數(shù)目。特定地,在H. 264/MPEG-4 AVC中,將變換應(yīng)用于4x4塊,其中應(yīng)用可分離整數(shù)變 換。將另外的2x2變換應(yīng)用于每個(gè)色度分量的四個(gè)DC系數(shù)。得到的變換系數(shù)由量化模塊170來接收,在量化模塊170處對(duì)變換系數(shù)進(jìn)行量化。 H. 264/MPEG-4 AVC使用標(biāo)量量化。為每個(gè)宏塊選擇52個(gè)量化器或者量化參數(shù)(QP)中的一 個(gè)。然后,在反量化器模塊175和反DCT模塊165中解碼該得到的量化的變換系數(shù),以 恢復(fù)將存儲(chǔ)在參考緩沖器150中的參考幀(多個(gè))或圖片(多個(gè))。在H. 264/MPEG-4 AVC 中,還采用環(huán)路去塊(in-loopdeblocking)濾波器151來使得塊效應(yīng)最小化。來自量化模塊170的得到的量化變換的系數(shù)還經(jīng)由信號(hào)連接171由上下文自適應(yīng) 可變長度編碼模塊(CAVLC)模塊或上下文自適應(yīng)的二進(jìn)制算術(shù)編碼模塊(CABAC)180來接 收,其中,使用例如“zig-zag(Z字形)”順序的特定掃描模式來對(duì)量化系數(shù)的二維塊進(jìn)行掃 描,以將其轉(zhuǎn)換為量化變換的系數(shù)的一維串。在CAVLC中,根據(jù)已經(jīng)傳送的句法元素對(duì)用于 各種句法元素的VLC表進(jìn)行切換。由于VLC表被設(shè)計(jì)成匹配相應(yīng)的有條件統(tǒng)計(jì),所以與僅 使用一個(gè)VLC表的方法相比,熵編碼的性能有所提高。替代地,能夠采用CABAC。CABAC通過下述來實(shí)現(xiàn)良好壓縮a)根據(jù)元素的上下文 為每個(gè)句法元素選擇多個(gè)模型,b)基于局部統(tǒng)計(jì)采用概率估計(jì),以及c)使用算術(shù)編碼。將數(shù)據(jù)流接收到“先進(jìn)先出”(FIFO)緩沖器190中。使用不同圖片類型和可變長 度編碼的結(jié)果是進(jìn)入FIFO的整體比特速率是可變的。也就是說,用于對(duì)每個(gè)幀進(jìn)行編碼的 比特?cái)?shù)目可以有所不同。在涉及固定速率信道的應(yīng)用中,F(xiàn)IFO緩沖器用于將編碼器輸出與 用于平滑比特速率的信道相匹配。由此,F(xiàn)IFO緩沖器190的輸出信號(hào)是輸入視頻圖像110 的壓縮表示,其中,它被發(fā)送到路徑195上的電信信道或者存儲(chǔ)介質(zhì)。速率控制模塊130用于監(jiān)視和調(diào)整進(jìn)入FIFO緩沖器190的數(shù)據(jù)流的比特速率, 用于防止數(shù)據(jù)流傳輸之后在(接收器或目標(biāo)存儲(chǔ)設(shè)備內(nèi)的,未示出)解碼器側(cè)的上溢
7(overflow)或下溢(underflow)。假設(shè)固定速率將信道將以恒定速率的比特放入解碼器內(nèi) 的輸入緩沖器中。在通過圖片速率確定的規(guī)則間隔,解碼器即刻從其輸入緩沖器中移除用 于下一圖片的所有比特。如果輸入緩沖器中的比特過少,即,沒有接收到用于下一圖片的所 有比特,則輸出緩沖器下溢導(dǎo)致錯(cuò)誤。另一方面,如果輸入緩沖器中的比特過多,即,在圖像 開始之間超出了輸入緩沖器的容量,則輸入緩沖器上溢導(dǎo)致上溢錯(cuò)誤。因此,速率控制模塊 130的任務(wù)在于監(jiān)視緩沖器190的狀態(tài),以控制編碼器所生成的比特?cái)?shù)目,由此防止上溢狀 況和下溢狀況。速率控制算法在影響圖像質(zhì)量和壓縮效率方面起到重要作用。以上所描述的編碼器可以被稱作包含主編碼回路。換句話說,主編碼回路中的各 個(gè)模塊將能夠共同地將輸入像素編碼為編碼比特。應(yīng)當(dāng)注意,主編碼回路的多種變化形式 可以適用于本發(fā)明,并且本發(fā)明不限于主編碼回路的特定實(shí)施方式。在一個(gè)實(shí)施例中,本發(fā)明公開了一種處理模塊135,例如,整像素運(yùn)動(dòng)估計(jì)(FPME) 模塊135。應(yīng)當(dāng)注意,運(yùn)動(dòng)估計(jì)過程由于其復(fù)雜性而在編碼器中需要大量的計(jì)算周期。如此 一來,對(duì)于例如實(shí)時(shí)應(yīng)用的特定應(yīng)用而言,運(yùn)動(dòng)估計(jì)過程可能成為瓶頸。在一個(gè)實(shí)施例中,本發(fā)明通過將運(yùn)動(dòng)估計(jì)過程劃分為兩個(gè)部分,例如,整像素運(yùn)動(dòng) 估計(jì)和改進(jìn)(refinement)運(yùn)動(dòng)估計(jì),來對(duì)運(yùn)動(dòng)估計(jì)過程進(jìn)行優(yōu)化。例如,在第一部分中,在 獨(dú)立于主編碼回路進(jìn)行操作的預(yù)處理模塊中實(shí)現(xiàn)預(yù)處理模塊135中的整像素運(yùn)動(dòng)估計(jì)過 程。換句話說,在不從主編碼回路接收與所編碼的當(dāng)前圖片相關(guān)的輸入的情況下,執(zhí)行整像 素運(yùn)動(dòng)估計(jì)過程。在一個(gè)實(shí)施例中,整像素運(yùn)動(dòng)估計(jì)過程在沒有來自主編碼回路的任何反 饋的情況下從先驗(yàn)信息,例如,從半水平分辨率的原始視頻序列確定用于圖片的每個(gè)當(dāng)前 塊的一個(gè)或多個(gè)候選運(yùn)動(dòng)矢量。例如,整像素運(yùn)動(dòng)估計(jì)過程沒有接收到與相對(duì)于進(jìn)行編碼 的當(dāng)前圖片的當(dāng)前塊的相鄰塊相關(guān)的實(shí)際編碼信息。然而,如以下所討論的,整像素運(yùn)動(dòng)估 計(jì)過程可以使用先前編碼的圖片的編碼信息。在第二部分中,主編碼回路的時(shí)間或空間預(yù)測(cè)模塊140采用改進(jìn)運(yùn)動(dòng)估計(jì)過程。 例如,從整像素運(yùn)動(dòng)估計(jì)過程接收到的用于每個(gè)當(dāng)前塊(例如,當(dāng)前宏塊)的一個(gè)或多個(gè)候 選運(yùn)動(dòng)矢量用于選擇用于當(dāng)前塊的最終運(yùn)動(dòng)矢量。換句話說,改進(jìn)運(yùn)動(dòng)估計(jì)過程例如以全 分辨率來使用重構(gòu)視頻輸出以最小化漂移來改進(jìn)來自整像素運(yùn)動(dòng)估計(jì)過程的最佳候選運(yùn) 動(dòng)矢量(多個(gè))。應(yīng)當(dāng)注意,能夠采用任何類型的改進(jìn)運(yùn)動(dòng)估計(jì)過程。本發(fā)明的一個(gè)方面在 于,在主編碼回路外操作的外部整像素運(yùn)動(dòng)估計(jì)過程能夠?yàn)橐幋a的當(dāng)前塊快速地提供一 個(gè)或多個(gè)候選運(yùn)動(dòng)矢量。使用一個(gè)或多個(gè)候選運(yùn)動(dòng)矢量,改進(jìn)運(yùn)動(dòng)估計(jì)過程能夠擴(kuò)展計(jì)算 周期以更好地確定用于當(dāng)前塊的最終運(yùn)動(dòng)矢量,即,一個(gè)或多個(gè)候選運(yùn)動(dòng)矢量由改進(jìn)運(yùn)動(dòng) 估計(jì)過程來用作開始點(diǎn)。在操作中,編碼器通過計(jì)算與運(yùn)動(dòng)矢量和預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV)之間的差相關(guān)的 DMV成本來對(duì)用于當(dāng)前塊的運(yùn)動(dòng)矢量進(jìn)行編碼。由于運(yùn)動(dòng)矢量和PMV之間的差在大小上常 常小于運(yùn)動(dòng)矢量本身,所以這是被編碼和傳送以提高編碼效率的差。該差被稱作差運(yùn)動(dòng)矢 量(DMV)。為了選擇運(yùn)動(dòng)矢量,編碼器可以在運(yùn)動(dòng)估計(jì)過程中使用塊匹配技術(shù)。例如,塊匹配 過程可以將候選塊與當(dāng)前塊進(jìn)行比較,并且基于成本量度來計(jì)算匹配成本。應(yīng)當(dāng)注意,鑒于 H. 264標(biāo)準(zhǔn),成本量度是非規(guī)范的,這意味著允許H. 264類的編碼器以任何方式對(duì)成本量度 進(jìn)行調(diào)整。例如,H. 264類的編碼器可以利用如下的說明匹配質(zhì)量和估計(jì)的比特成本二者的基于拉格朗日的成本量度J = SAD+λ Il MV-PMV ||等式 1其中,J為成本量度,SAD是當(dāng)前塊和預(yù)測(cè)塊之間的絕對(duì)差之和,λ是常數(shù),例如拉 格朗日乘數(shù),Il · Il是范數(shù)函數(shù),MV是運(yùn)動(dòng)矢量,并且PMV是預(yù)測(cè)的運(yùn)動(dòng)矢量。應(yīng)當(dāng)注意, DMV = MV-PMV。在一個(gè)實(shí)施例中,等式1的成本量度J被如下修改Jfpme = 2*SAD麗+ λ ‘ (selen (MVx' -PMVx' )-selen (MVy' -PMVy'))等式 2其中,Jfpme是例如運(yùn)動(dòng)估計(jì)模塊135所采用的整像素運(yùn)動(dòng)估計(jì)的成本量度,SADhhe 是當(dāng)前塊和預(yù)測(cè)的塊之間在HHR水平的絕對(duì)差之和,λ'是常數(shù),例如,拉格朗日乘數(shù),其 中DMV成本計(jì)算函數(shù)selen是輸出如在編碼的H. 264比特流中表示的比特中的運(yùn)動(dòng)矢量 分量的長度的函數(shù),MV' x和MV’ y分別是運(yùn)動(dòng)矢量候選的水平和垂直分量,并且PMV’ x和 PMV’ y分別是估計(jì)預(yù)測(cè)的運(yùn)動(dòng)矢量的水平和垂直分量。應(yīng)當(dāng)注意,HHR代表半水平分辨 率,例如,對(duì)于每個(gè)塊而言,僅使用一半的水平像素。如此一來,SAD-乘以常數(shù)2。此外, selen (MV' -PMV')表示基于MV候選和PMV估計(jì)之間的差的大小所估計(jì)的比特?cái)?shù)目。在一 個(gè)實(shí)施例中,等式2的成本量度J由運(yùn)動(dòng)估計(jì)模塊135所采用。由于諸如λ'和PMV’的參 數(shù)都是估計(jì)值,而不是從主編碼回路所推導(dǎo)出的實(shí)際參數(shù),所以能夠針對(duì)候選運(yùn)動(dòng)矢量MV’ 計(jì)算等式2的成本量度J。如此一來,給定搜索區(qū)域,運(yùn)動(dòng)估計(jì)模塊135能夠快速地應(yīng)用任 何塊匹配技術(shù),并且通過在所有候選運(yùn)動(dòng)矢量MV’上最小化J而使用等式2來計(jì)算一個(gè)或 多個(gè)候選運(yùn)動(dòng)矢量。在一個(gè)實(shí)施例中,本發(fā)明的FPME可以采用MV定心(centering)的多種不同方法。 搜索區(qū)域設(shè)置用于運(yùn)動(dòng)估計(jì)的工作邊界,并且由用于參考圖片的大小和中心位置來限定。 在一個(gè)實(shí)施例中,F(xiàn)PME對(duì)所有分割類型(即,1MB內(nèi)16x16,、兩個(gè)16x8、兩個(gè)8x16、四個(gè)8x8) 采用相同的搜索區(qū)域配置(例如,相同的中心位置),使得能夠?qū)λ蟹指铑愋屯瑫r(shí)執(zhí)行搜 索操作,例如,成本計(jì)算。替代地,F(xiàn)PME可以針對(duì)不同的分割類型采用不同搜索區(qū)域配置。 MV定心將影響FPME性能。也就是說,不良的MV定心方法需要通過使用較大的搜索區(qū)域進(jìn) 行補(bǔ)償以保持相同的搜索質(zhì)量。在一個(gè)實(shí)施例中,用于FPME的MV定心方法將參考圖片中的搜索區(qū)域的中心與當(dāng) 前圖片中的當(dāng)前宏塊(MB)的左上位置放置在一起,如圖2中所示。特定地,圖2圖示了搜 索區(qū)域200,其中,該搜索區(qū)域的中心被示為與當(dāng)前宏塊210的左上位置放置在一起。在替代實(shí)施例中,用于FPME的MV定心方法在遠(yuǎn)離當(dāng)前圖片中的當(dāng)前宏塊(MB) 的左上位置距離SACV(搜索區(qū)域中心矢量)處放置搜索區(qū)域的參考圖片中的中心,如圖3 中所示。特定地,圖3圖示了搜索區(qū)域300,其中,該搜索區(qū)域的中心被示為遠(yuǎn)離當(dāng)前宏塊 (MB) 310的左上位置。在一個(gè)實(shí)施例中,SACV 305是計(jì)算機(jī)為來自當(dāng)前塊310的相鄰塊的 運(yùn)動(dòng)矢量的中間值的矢量(例如,16xl6MV的在最低到最高的幅度排名中的中間數(shù)值)。例 如,圖4圖示了具有左鄰塊A 320、頂鄰塊B 330、右上相鄰塊C 340和左上相鄰塊D 350的 當(dāng)前塊310。在一個(gè)實(shí)施例中,SACV被確定為來自相鄰塊A、B和的16xl6MV的中間值。在 一個(gè)替代實(shí)施例中,如果相鄰塊C不可用,則相鄰塊D可以替代相鄰C。應(yīng)當(dāng)注意,為了使 FPME獨(dú)立于主編碼回路,相鄰宏塊的MV是FPME所確定的MV而不是來自主編碼回路的改進(jìn) 運(yùn)動(dòng)估計(jì)過程所生成的最終MV。
在替代實(shí)施例中,用于FPME的MV定心方法在遠(yuǎn)離當(dāng)前圖片中的具有頂MB 510a 和底MB 510b的當(dāng)前宏塊對(duì)510的中心的共用矢量的距離處放置參考圖片中的搜索區(qū)域的 中心。換句話說,SACV(搜索區(qū)域中心矢量)遠(yuǎn)離當(dāng)前圖片中的當(dāng)前宏塊(MB)對(duì)510的中 心位置,如圖5中所示。在一個(gè)實(shí)施例中,SACV是從共用矢量計(jì)算的矢量,所述共用矢量是 指來自當(dāng)前圖片中的當(dāng)前MB對(duì)510的頂MB 510a的相鄰塊A 520的右側(cè)8xl6MV。再一次, 應(yīng)當(dāng)注意,為了使FPME獨(dú)立于主編碼回路,相鄰宏塊的MV是FPME所確定的MV,而不是來自 主編碼回路的改進(jìn)運(yùn)動(dòng)估計(jì)過程所生成的最終MV。如以上所討論的,基于當(dāng)前塊的最終MV和PMV之間的差來執(zhí)行差運(yùn)動(dòng)矢量(DMV) 成本計(jì)算。因?yàn)镠. 264類的編碼器通過對(duì)MV關(guān)于PMV在比特上的差進(jìn)行編碼來編碼用于 當(dāng)前塊的MV,所以需要DMV。不幸的是,由于DMV的計(jì)算需要了解真實(shí)的MV(在比特流中編 碼的最終MV),所以運(yùn)動(dòng)估計(jì)過程然后必須等待編碼器完成所有相鄰塊的模式判定。該方法 產(chǎn)生了大量的延遲并且可能對(duì)于例如實(shí)時(shí)應(yīng)用的一些應(yīng)用是不實(shí)際的。在一個(gè)實(shí)施例中,本發(fā)明采用在主編碼回路外的模塊135中的FPME。FPME不具有 關(guān)于相鄰塊的真實(shí)MV的任何信息。換句話說,該FPME采用近似的PMV’。如此一來,F(xiàn)PME 所執(zhí)行的DMV成本計(jì)算僅是與編碼用于當(dāng)前塊的MV相關(guān)聯(lián)的多個(gè)比特的估計(jì)。因此,提高 DMV成本計(jì)算的估計(jì)的準(zhǔn)確度還將轉(zhuǎn)化為編碼器的處理速度和編碼效率的提高。在一個(gè)實(shí)施例中,可以以多種不同方式來近似或設(shè)置PMV’。概言之,以如下三種不 同方法來設(shè)置用于DMV成本計(jì)算的PMV ’ 1)左鄰元素(PMVL)-在DMV成本計(jì)算中使用的PMV來自當(dāng)前宏塊的左鄰元素(例 如,圖4中的宏塊A);2)頂鄰元素(PMVT)-在DMV成本計(jì)算中使用的PMV來自當(dāng)前宏塊的頂鄰元素(例 如,圖4中的宏塊B);3)三個(gè)相鄰塊(PMV3)-在DMV成本計(jì)算中使用的PMV是當(dāng)前宏塊的左鄰元素(例 如,圖4中的宏塊A)、上鄰元素(例如,圖4中的宏塊B)和右上鄰元素(例如,圖4中的宏 塊C)或左上鄰元素(例如,圖4中的宏塊D)的MV中的中間值。如此一來,如果宏塊C不 可用,則能夠使用宏塊D。在一個(gè)實(shí)施例中,在DMV成本計(jì)算中使用的PMV從相鄰塊的8x8MV中得到。本發(fā) 明允許當(dāng)前塊具有任何分割。圖6-圖9中圖示了各種類型的分割。圖6圖示了在用于當(dāng)前塊610的16x16分割的差運(yùn)動(dòng)矢量計(jì)算中所使用的預(yù)測(cè) 的運(yùn)動(dòng)矢量的位置的一個(gè)說明性實(shí)施例。在PMVL方法下,PMV’將從相鄰塊A 620的子塊 Al 622的MV得到。在PMVT方法下,PMV’將從相鄰塊B 630的子塊Bl 632的MV得到。在 PMV3方法下,PMV’將從三個(gè)MV的中間值得到相鄰塊A 620的子塊Al 622的MV、相鄰塊 B 630的子塊Bl 632的MV以及相鄰塊C 640的子塊Cl 642的MV (或者如果相鄰塊C 640 不可用,則為相鄰塊D 650的子塊Dl 652的MV)。圖7圖示了在用于具有頂塊712和底塊714的當(dāng)前塊710的16x8分割的差運(yùn)動(dòng) 矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的一個(gè)說明性實(shí)施例。在用于頂塊712的PMVL 方法下,PMV’將從相鄰塊A 720的子塊Al 722的MV得到。在用于底塊714的PMVL方法 下,PMV,將從相鄰塊A 720的子塊A2 724的MV得到。在用于頂塊712的PMVT方法下,PMV’將從相鄰塊B 730的子塊Bl 732的MV得到。在用于底塊714的PMVT方法下,PMV’將從相鄰塊B 730的子塊B1 732的MV得到。在用于頂塊712的PMV3方法下,PMV,將從三個(gè)MV的中間值得到相鄰塊A 720 的子塊A1 722的MV、相鄰塊B 730的子塊B1 732的MV以及相鄰塊C 740的子塊C 742的 MV(或者如果相鄰塊C 740不可用,則為相鄰塊D 750的子塊D 752的MV)。在用于底塊 714的PMV3方法下,PMV’將從三個(gè)MV的中間值得到相鄰塊A 720的子塊A1 722的MV、 相鄰塊A 720的子塊A2 724的MV以及相鄰塊B 730的子塊B1 732的MV。圖8圖示了在用于具有左塊812和右塊814的當(dāng)前塊810的8x16分割的差運(yùn)動(dòng) 矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的一個(gè)說明性實(shí)施例。在用于左塊812的PMVL 方法下,PMV’將從相鄰塊A 820的子塊A1 822的MV得到。在用于右塊814的PMVL方法 下,PMV’將從相鄰塊A 820的子塊A1 822的MV得到。在用于左塊812的PMVT方法下,PMV,將從相鄰塊B 830的子塊B1 832的MV得 到。在用于右塊814的PMVT方法下,PMV,將從相鄰塊B 830的子塊B2 834的MV得到。在用于左塊812的PMV3方法下,PMV,將從三個(gè)MV的中間值得到相鄰塊A 820 的子塊A1 822的MV、相鄰塊B 830的子塊B1 832的MV以及相鄰塊C 840的子塊C 842的 MV (或者如果相鄰塊C 840不可用,則為相鄰塊D 850的子塊D 852的MV)。在用于右塊 814的PMV3方法下,PMV’將從三個(gè)MV的中間值得到相鄰塊B 830的子塊B1 832的MV、 相鄰塊B 830的子塊B2 834的MV以及相鄰塊C 840的子塊C 842的MV。圖9圖示了在用于具有左上塊912、右上塊914、左下塊916和右下塊918的當(dāng)前 塊910的8x8分割的差運(yùn)動(dòng)矢量計(jì)算中所使用的預(yù)測(cè)的運(yùn)動(dòng)矢量的位置的一個(gè)說明性實(shí)施 例。在用于左上塊912的PMVL方法下,PMV’將從相鄰塊A 920的子塊A1 922的MV得到。 在用于右上塊914的PMVL方法下,PMV’將從相鄰塊A 920的子塊A1 922的MV得到。在 用于左下塊916的PMVL方法下,PMV,將從相鄰塊A920的子塊A2 924的MV得到。在用于 右下塊918的PMVL方法下,PMV,將從相鄰塊A 920的子塊A2 924的MV得到。在用于左上塊912的PMVT方法下,PMV,將從相鄰塊B 930的子塊B1 932的MV得 到。在用于右上塊914的PMVT方法下,PMV,將從相鄰塊B 930的子塊B2 934的MV得到。 在用于左下塊916的PMVT方法下,PMV’將從相鄰塊B 930的子塊B1 932的MV得到。在 用于右下塊914的PMVT方法下,PMV,將從相鄰塊B 930的子塊B2 934的MV得到。在用于左上塊912的PMV3方法下,PMV,將從三個(gè)MV的中間值得到相鄰塊A 920 的子塊A1 922的MV、相鄰塊B 930的子塊B1 932的MV以及相鄰塊C 940的子塊C 942的 MV (或者如果相鄰塊C 940不可用,則為相鄰塊D 950的子塊D 952的MV)。在用于右上塊 914的PMV3方法下,PMV’將從三個(gè)MV的中間值得到相鄰塊B 930的子塊B1 932的MV、相 鄰塊B 930的子塊B2 934的MV以及相鄰塊C940的子塊C 942的MV。在用于左下塊916 的PMV3方法下,PMV’將從三個(gè)MV的中間值得到相鄰塊A 920的子塊A1 922的MV、相鄰 塊A 920的子塊A2 924的MV以及相鄰塊B 930的子塊B1 932的MV。在用于右下塊918 的PMV3方法下,PMV’將從三個(gè)MV的中間值得到相鄰塊A 920的子塊A1 922的MV、相鄰 塊A 920的子塊A2924的MV以及相鄰塊C 940的子塊C 942的MV。應(yīng)當(dāng)注意,對(duì)于以上所討論的方法的任何一個(gè)而言,如果塊A、B、C或D的任何一個(gè) 都不存在,則該方法可以將不存在的相鄰元素的MV設(shè)置為零。應(yīng)當(dāng)注意,在不接收來自主 編碼回路的任何信息的情況下,PMV'近似中所需的所有信息都從FPME過程的局部信息得到。 如以上所討論的,λ是成本量度中的拉格朗日乘數(shù)。λ可以如下定義其中,QP'是估計(jì)的量化參數(shù)。應(yīng)當(dāng)注意,在固定比特速率的編碼應(yīng)用中,因?yàn)樵谧鳛橹骶幋a回路的一部分的速 率控制過程中確定QP,所以量化參數(shù)(QP)信息不可用于FPME過程。如此一來,本發(fā)明在其 成本量度中使用近似的QP’。在一個(gè)實(shí)施例中,本發(fā)明依賴于過去的QP信息來近似當(dāng)前QP。例如,可以通過增 加更新頻率(例如,每MB、每條帶等)或者增加在QP近似中使用的信息量使得來自最近編 碼的相同類型圖片中的所有MB的QP的平均值更為準(zhǔn)確。在一個(gè)實(shí)施例中,QP近似可以使 用以編碼順序相距M個(gè)圖片的N個(gè)圖片的QP的權(quán)重平均值。FPME過程對(duì)來自在時(shí)間距離 上更加接近編碼圖片的圖片的QP平均值指定較大的權(quán)重。圖10圖示了在本發(fā)明的一個(gè)實(shí)施例中的用于執(zhí)行運(yùn)動(dòng)估計(jì)的方法1000。例如,方 法1000能夠由運(yùn)動(dòng)估計(jì)模塊135來執(zhí)行。方法1000在步驟1005中開始并且前進(jìn)到步驟1010。在步驟1010中,方法1000
選擇搜索區(qū)域和用于當(dāng)前塊的運(yùn)動(dòng)矢量定心。例如,能夠采用如上所討論的三種運(yùn)動(dòng)矢量 定心方法中的一種。在步驟1020中,方法1000在搜索區(qū)域中執(zhí)行用于當(dāng)前塊的塊匹配,并且計(jì)算用于 每個(gè)候選運(yùn)動(dòng)矢量的匹配成本(例如,成本量度)。例如,如以上所討論的,在該步驟中能夠 使用等式2。在步驟1030中,方法1000基于計(jì)算的用于每個(gè)候選運(yùn)動(dòng)矢量的匹配成本來輸出 至少一個(gè)候選矢量。例如,能夠由方法1000輸出與具有最低匹配成本的搜索區(qū)域中的匹配 塊相關(guān)聯(lián)的候選運(yùn)動(dòng)矢量。例如,F(xiàn)PME能夠?qū)⒑蜻x運(yùn)動(dòng)矢量轉(zhuǎn)發(fā)到主編碼回路的時(shí)間或空 間預(yù)測(cè)模塊140。應(yīng)當(dāng)注意,本發(fā)明不限于僅為每個(gè)當(dāng)前塊提供單個(gè)候選運(yùn)動(dòng)矢量。根據(jù)實(shí) 施方式,能夠提供一個(gè)或多個(gè)候選運(yùn)動(dòng)矢量,例如,具有最低匹配成本的兩個(gè)候選運(yùn)動(dòng)矢量等。在步驟1040中,方法1000查詢是否存在要編碼的下一個(gè)當(dāng)前塊。如果肯定回答 了該查詢,則方法1000返回步驟1010,并且針對(duì)下一個(gè)當(dāng)前塊再次重復(fù)該過程。如果否定 回答了該查詢,則方法1000在步驟1045中結(jié)束。應(yīng)當(dāng)注意,雖然沒有特別指定,但是方法1000的一個(gè)或多個(gè)步驟可以包括如特定 應(yīng)用所要求的存儲(chǔ)、顯示和/或輸出步驟。換句話說,所述方法中所討論的任何數(shù)據(jù)、記錄、 字段和/或中間結(jié)果都可以如特定應(yīng)用所要求的被存儲(chǔ)、顯示和/或輸出到另一設(shè)備。此 外,引用確定操作或涉及判定的圖10中的步驟或塊并不必需要求所述確定操作的兩個(gè)分 支都被實(shí)踐。換句話說,所述確定操作的分支的一個(gè)可以被視為可選步驟。圖11是利用通用計(jì)算機(jī)實(shí)現(xiàn)的本編碼系統(tǒng)的框圖。在一個(gè)實(shí)施例中,編碼系統(tǒng) 1100使用通用計(jì)算機(jī)或任何其它硬件等價(jià)物來實(shí)現(xiàn)。更特定地,編碼系統(tǒng)1100包括處理器 (CPU) 1110、例如隨機(jī)存取存儲(chǔ)器(RAM)和/或只讀存儲(chǔ)器(ROM)的存儲(chǔ)器1120、采用該外 部FPME方法的編碼器1122以及各種輸入/輸出設(shè)備1130(例如,存儲(chǔ)設(shè)備,包括但不限于,磁帶驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器或致密盤驅(qū)動(dòng)器、接收器、發(fā)射器、揚(yáng)聲器、顯示器、輸 出端口、用戶輸入設(shè)備(諸如,鍵盤、小鍵盤、鼠標(biāo)等)或者用于捕捉話音命令的麥克風(fēng))。應(yīng)當(dāng)理解,編碼器1122能夠被實(shí)施為通過通信信道耦合到CPUl 110的物理設(shè)備或 子系統(tǒng)。替代地,編碼器1122能夠由一個(gè)或多個(gè)軟件應(yīng)用程序來表示(或者甚至由軟件和 硬件的組合來表示,例如,使用應(yīng)用特定集成電路(ASIC)),其中,軟件從存儲(chǔ)介質(zhì)(例如, 磁或光驅(qū)動(dòng)器或者卡帶)加載,并且由CPU在計(jì)算機(jī)的存儲(chǔ)器1120中進(jìn)行操作。如此一來, 本發(fā)明的編碼器1122 (包括關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)和編碼器內(nèi)所采用的方法)能夠存儲(chǔ)在計(jì)算機(jī) 可讀介質(zhì)或載體上,例如,RAM存儲(chǔ)器、磁或光驅(qū)動(dòng)器或者卡帶等。雖然以上內(nèi)容針對(duì)本發(fā)明的實(shí)施例,但是在不背離本發(fā)明的基本范圍的情況下, 可以設(shè)想本發(fā)明的其它另外的實(shí)施例,并且其范圍由以下權(quán)利要求所確定。
權(quán)利要求
一種用于執(zhí)行運(yùn)動(dòng)估計(jì)的方法,包括在至少一個(gè)參考圖片的搜索區(qū)域中選擇用于當(dāng)前塊的運(yùn)動(dòng)矢量定心;計(jì)算用于從所述搜索區(qū)域得到的多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)的匹配成本;以及基于與所述多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)相關(guān)聯(lián)的所述匹配成本來向主編碼回路輸出所述多個(gè)候選運(yùn)動(dòng)矢量中的至少一個(gè)。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述選擇運(yùn)動(dòng)矢量定心包括將所述搜索區(qū)域的 中心與所述當(dāng)前塊的左上位置放置在一起。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述選擇運(yùn)動(dòng)矢量定心包括在遠(yuǎn)離所述當(dāng)前 塊的左上位置的距離處放置所述搜索區(qū)域的中心,其中,所述距離從搜索區(qū)域中心矢量 (SACV)得到。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述SACV是計(jì)算為來自所述當(dāng)前塊的多個(gè)相鄰 塊的運(yùn)動(dòng)矢量的中間值的矢量。
5.根據(jù)權(quán)利要求3所述的方法,其中,所述當(dāng)前塊是具有頂塊和底塊的當(dāng)前塊對(duì),并且 其中,所述SACV是從共用矢量所計(jì)算的矢量,所述共用矢量是指來自所述當(dāng)前塊對(duì)的所述 頂塊的相鄰塊的運(yùn)動(dòng)矢量。
6.根據(jù)權(quán)利要求1所述的方法,其中,所述計(jì)算所述匹配成本包括估計(jì)預(yù)測(cè)的運(yùn)動(dòng)矢 量(PMV,)。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’)包括使 用從所述當(dāng)前塊的左鄰塊選擇的運(yùn)動(dòng)矢量。
8.根據(jù)權(quán)利要求6所述的方法,其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’)包括使 用從所述當(dāng)前塊的頂鄰塊選擇的運(yùn)動(dòng)矢量。
9.根據(jù)權(quán)利要求6所述的方法,其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’)包括選 擇從所述當(dāng)前塊的多個(gè)相鄰塊選擇的多個(gè)運(yùn)動(dòng)矢量的中間值。
10.根據(jù)權(quán)利要求6所述的方法,其中,所述當(dāng)前塊具有分割類型,所述分割類型包括 下述中的至少一個(gè)16x16分割、16x8分割、8x16分割或8x8分割。
11.根據(jù)權(quán)利要求1所述的方法,其中,所述計(jì)算所述匹配成本包括估計(jì)拉格朗日乘 數(shù),其中,使用來自至少一個(gè)先前編碼的圖片的多個(gè)宏塊的量化參數(shù)信息來估計(jì)所述拉格 朗日乘數(shù)。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述至少一個(gè)先前編碼的圖片包括遠(yuǎn)離所述 當(dāng)前塊的當(dāng)前圖片M個(gè)圖片的N個(gè)先前編碼的圖片。
13.一種計(jì)算機(jī)可讀載體,所述計(jì)算機(jī)可讀載體具有存儲(chǔ)在其上的多個(gè)指令,所述多個(gè) 指令包括當(dāng)由處理器執(zhí)行時(shí)使得所述處理器執(zhí)行用于執(zhí)行運(yùn)動(dòng)估計(jì)的方法的步驟的指令, 所述步驟包括在至少一個(gè)參考圖片的搜索區(qū)域中選擇用于當(dāng)前塊的運(yùn)動(dòng)矢量定心;計(jì)算用于從所述搜索區(qū)域得到的多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)的匹配成本;以及基于與所述多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)相關(guān)聯(lián)的所述匹配成本來向主編碼回路輸 出所述多個(gè)候選運(yùn)動(dòng)矢量中的至少一個(gè)。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀載體,其中,所述選擇運(yùn)動(dòng)矢量定心包括將所 述搜索區(qū)域的中心與所述當(dāng)前塊的左上位置放置在一起。
15.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀載體,其中,所述選擇運(yùn)動(dòng)矢量定心包括在遠(yuǎn) 離所述當(dāng)前塊的左上位置的距離處放置所述搜索區(qū)域的中心,其中,所述距離從搜索區(qū)域 中心矢量(SACV)得到。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)可讀載體,其中,所述SACV是被計(jì)算為來自所述當(dāng) 前塊的多個(gè)相鄰塊的運(yùn)動(dòng)矢量的中間值的矢量。
17.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)可讀載體,其中,所述當(dāng)前塊是具有頂塊和底塊的 當(dāng)前塊對(duì),并且其中,所述SACV是從共用矢量計(jì)算的矢量,所述共用矢量是指來自所述當(dāng) 前塊對(duì)的所述頂塊的相鄰塊的運(yùn)動(dòng)矢量。
18.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)可讀載體,其中,所述計(jì)算所述匹配成本包括估計(jì) 預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’ )。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀載體,其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量 (PMV’ )包括下述中的至少一個(gè)使用從所述當(dāng)前塊的左鄰塊選擇的運(yùn)動(dòng)矢量、使用從所述 當(dāng)前塊的頂鄰塊選擇的運(yùn)動(dòng)矢量,或者選擇從所述當(dāng)前塊的多個(gè)相鄰塊選擇的多個(gè)運(yùn)動(dòng)矢 量的中間值。
20.—種編碼系統(tǒng),包括編碼器,所述編碼器具有主編碼回路;以及運(yùn)動(dòng)估計(jì)模塊,所述運(yùn)動(dòng)估計(jì)模塊被耦合到所述編碼器,其中,所述運(yùn)動(dòng)估計(jì)模塊在至 少一個(gè)參考圖片的搜索區(qū)域中選擇用于當(dāng)前塊的運(yùn)動(dòng)矢量定心,其中,所述運(yùn)動(dòng)估計(jì)模塊 計(jì)算用于從所述搜索區(qū)域得到的多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)的匹配成本,并且其中,所 述運(yùn)動(dòng)估計(jì)模塊基于與所述多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)相關(guān)聯(lián)的所述匹配成本來向主 編碼回路輸出所述多個(gè)候選運(yùn)動(dòng)矢量中的至少一個(gè)。
21.根據(jù)權(quán)利要求20所述的編碼系統(tǒng),其中,所述選擇所述運(yùn)動(dòng)矢量定心包括將所述 搜索區(qū)域的中心與所述當(dāng)前塊的左上位置放置在一起。
22.根據(jù)權(quán)利要求20所述的編碼系統(tǒng),其中,所述選擇所述運(yùn)動(dòng)矢量定心包括在遠(yuǎn)離 所述當(dāng)前塊的左上位置的距離處放置所述搜索區(qū)域的中心,其中,所述距離從搜索區(qū)域中 心矢量(SACV)得到。
23.根據(jù)權(quán)利要求22所述的編碼系統(tǒng),其中,所述SACV是被計(jì)算為來自所述當(dāng)前塊的 多個(gè)相鄰塊的運(yùn)動(dòng)矢量的中間值的矢量。
24.根據(jù)權(quán)利要求22所述的編碼系統(tǒng),其中,所述當(dāng)前塊是具有頂塊和底塊的當(dāng)前塊 對(duì),并且其中,所述SACV是從共用矢量計(jì)算的矢量,所述共用矢量是指來自所述當(dāng)前塊對(duì) 的所述頂塊的相鄰塊的運(yùn)動(dòng)矢量。
25.根據(jù)權(quán)利要求20所述的編碼系統(tǒng),其中,所述計(jì)算所述匹配成本包括估計(jì)預(yù)測(cè)的 運(yùn)動(dòng)矢量(PMV’ )。
26.根據(jù)權(quán)利要求25所述的編碼系統(tǒng),其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’)包 括使用從所述當(dāng)前塊的左鄰塊選擇的運(yùn)動(dòng)矢量。
27.根據(jù)權(quán)利要求25所述的編碼系統(tǒng),其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’)包 括使用從所述當(dāng)前塊的頂鄰塊選擇的運(yùn)動(dòng)矢量。
28.根據(jù)權(quán)利要求25所述的編碼系統(tǒng),其中,所述估計(jì)所述預(yù)測(cè)的運(yùn)動(dòng)矢量(PMV’)包 括選擇從所述當(dāng)前塊的多個(gè)相鄰塊所選擇的多個(gè)運(yùn)動(dòng)矢量的中間值。
29.根據(jù)權(quán)利要求25所述的編碼系統(tǒng),其中,所述當(dāng)前塊具有分割類型,所述分割類型 包括下述中的至少一個(gè)16xl6分割、16x8分割、8x16分割或8x8分割。
30.根據(jù)權(quán)利要求20所述的編碼系統(tǒng),其中,所述計(jì)算所述匹配成本包括估計(jì)拉格朗 日乘數(shù),其中,使用來自至少一個(gè)先前編碼的圖片的多個(gè)宏塊的量化參數(shù)信息來估計(jì)所述 拉格朗日乘數(shù)。
全文摘要
本發(fā)明公開了一種系統(tǒng)和方法,用于執(zhí)行與編碼器相關(guān)聯(lián)的運(yùn)動(dòng)估計(jì),該編碼器例如遵循H.264/MPEG-4AVC的編碼器。例如,該方法在至少一個(gè)參考圖片的搜索區(qū)域中選擇用于當(dāng)前塊的運(yùn)動(dòng)矢量定心。該方法計(jì)算用于從該搜索區(qū)域得到的多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)的匹配成本,并且基于與多個(gè)候選運(yùn)動(dòng)矢量中的每一個(gè)相關(guān)聯(lián)的匹配成本向主編碼回路輸出多個(gè)候選運(yùn)動(dòng)矢量中的至少一個(gè)。
文檔編號(hào)H04B1/66GK101889405SQ200880116385
公開日2010年11月17日 申請(qǐng)日期2008年10月29日 優(yōu)先權(quán)日2007年11月15日
發(fā)明者克里特·帕努索波內(nèi), 參查爾·查特吉, 王利民, 羅伯特·O·艾弗里格, 阿杰伊·K·盧特拉 申請(qǐng)人:通用儀表公司