專利名稱:用于使用運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波的視頻編碼中的更新步驟的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明 一般涉及視頻編碼,并且特別涉及使用運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V 波的纟見頻編碼。
背景技術(shù):
數(shù)字視頻出于存儲(chǔ)和廣播的目的而被壓縮,使得經(jīng)過壓縮的結(jié) 果視頻可以存儲(chǔ)在較小的空間中。數(shù)字圖像序列,例如記錄在膠片上的普通運(yùn)動(dòng)圖像,包括靜態(tài) 圖像序列,并且運(yùn)動(dòng)的幻像是通過以相對(duì)快速的幀率一個(gè)接一個(gè)地顯示圖像而產(chǎn)生的,通常的幀率是15到30幀每秒。壓縮數(shù)字視頻 的普遍方法是利用這些連續(xù)圖像之間的冗余(也即,時(shí)間冗余)。 在給定時(shí)刻的典型視頻中,與 一 些運(yùn)動(dòng)物體結(jié)合有緩慢攝像機(jī)移動(dòng) 或者是沒有結(jié)合攝像機(jī)移動(dòng),并且連續(xù)的圖像具有相似的內(nèi)容。只 傳輸連續(xù)圖像之間的差異是有益的。被稱為預(yù)測誤差幀£ 的差異幀 是當(dāng)前幀/ 和參考幀P"之間的差異。預(yù)測誤差幀由下式給出其中"是幀號(hào),(3c,^代表像素坐標(biāo)。預(yù)測誤差幀也被稱為預(yù)測殘差幀。 在通常的視頻編解碼中,差異幀在傳輸之前被壓縮。壓縮是通過離 散余弦變換(DCT)和霍夫曼編碼或者類似方法實(shí)現(xiàn)的。由于待壓縮的視頻包含運(yùn)動(dòng),因此兩個(gè)連續(xù)圖像相減并不總是 得到最小的差異。例如,當(dāng)攝像機(jī)進(jìn)行搖攝時(shí),整個(gè)場景都在變化。 為了補(bǔ)償運(yùn)動(dòng),^C稱為運(yùn)動(dòng)向量的位移W""從辦",J^;波添加到前面 幀的坐標(biāo)中。預(yù)測誤差因而變?yōu)?<formula>formula see original document page 11</formula>在實(shí)踐中,視頻編解碼中的幀被劃分為塊,并且對(duì)于每個(gè)塊只 有一個(gè)運(yùn)動(dòng)向量被傳輸,使得同一運(yùn)動(dòng)向量用于一個(gè)塊中的所有像 素。為一幀中的每個(gè)塊找到最佳運(yùn)動(dòng)向量的過程稱為運(yùn)動(dòng)估計(jì)。一旦運(yùn)動(dòng)向量可用,計(jì)算<formula>formula see original document page 11</formula>的過程^皮稱為運(yùn)動(dòng)補(bǔ)償, 并且所計(jì)算的項(xiàng)<formula>formula see original document page 11</formula>被稱為運(yùn)動(dòng)補(bǔ)償預(yù)測。在上文描述的編碼機(jī)制中,參考幀A可以是之前編碼幀中的一 個(gè)。在這種情況下,P 在編碼器和解碼器處都是已知的。這種編碼 架構(gòu)稱為閉環(huán)。尸 也可以是原始幀中的一個(gè)。在這種情況下,編碼架構(gòu)被稱為 開環(huán)。由于原始幀只在編碼器處可用而在解碼器處不可用,所以在 利用開環(huán)架構(gòu)的預(yù)測過程中可能有漂移。漂移是指由于不同的幀被 用作參考而導(dǎo)致的編碼器和解碼器之間的預(yù)測尸> +血&W, y + 4>^,_y"的不匹配(或者說差異)。無論如何,開環(huán)架構(gòu)在視頻編碼中,特 別是可伸縮視頻編碼中越來越常用,這是因?yàn)殚_環(huán)架構(gòu)使得有可能 通過使用提升(lifting)步驟來獲得視頻的時(shí)域可伸縮表示,從而實(shí) 現(xiàn)運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波(也即,MCTF)。圖la和圖lb示出了使用提升步驟的MCTF的基本結(jié)構(gòu),其同 時(shí)示出了使用提升結(jié)構(gòu)的MCTF的分解過程和合成過程。在這些圖 中,In和In-1是原始的相鄰幀。提升包括兩個(gè)步驟預(yù)測步驟和更新步驟。它們?cè)趫Dla和圖lb 中分別被標(biāo)記為P和U。圖la是分解(分析)過程,圖lb是合成 (綜合)過程。分解過程中的輸出信號(hào)和合成過程中的輸入信號(hào)是H 和丄信號(hào)。//和丄信號(hào)由以下公式得到<formula>formula see original document page 11</formula>預(yù)測步驟P可被;現(xiàn)為運(yùn)動(dòng)補(bǔ)償。P的輸出,也即P(In),是運(yùn)動(dòng)補(bǔ)償 預(yù)測。在圖la中,II是基于來自幀In的預(yù)測的幀In+1的時(shí)域預(yù)測殘 差。//信號(hào)一般包含原始視頻信號(hào)的時(shí)域高頻分量。在更新步驟U 中,為了產(chǎn)生時(shí)域低頻分量L, //中的時(shí)域高頻分量被反饋到幀/ 。 出于這個(gè)原因,//和丄分別被稱為時(shí)域高頻帶信號(hào)和時(shí)域低頻帶信在圖lb中所示的合成過程中,重建幀/' 和/' + 7通過以下操作得到<formula>formula see original document page 12</formula>如果信號(hào)丄和//在圖la和圖lb所示的分解過程和合成過程之間保 持不變,則/' 和/:+/分別與/ 和/,,+/完全相同。在這種情況下,可 以利用這種提升步驟實(shí)現(xiàn)完美的重建。圖la和圖lb中所示的結(jié)構(gòu)也可以級(jí)聯(lián),使得視頻序列能夠被分 解為多個(gè)時(shí)域級(jí)別。如圖2所示,兩個(gè)級(jí)別的提升步驟被執(zhí)行。每 個(gè)分解級(jí)別處的時(shí)域低頻帶信號(hào)可以提供時(shí)域可伸縮性。在MCTF中,預(yù)測步驟實(shí)質(zhì)上是一般的運(yùn)動(dòng)補(bǔ)償過程,除非預(yù) 測步驟是基于開環(huán)結(jié)構(gòu)的。在這樣的過程中,針對(duì)當(dāng)前幀的補(bǔ)償預(yù) 測基于針對(duì)每個(gè)宏塊的最佳估計(jì)運(yùn)動(dòng)向量而產(chǎn)生。由于運(yùn)動(dòng)向量通 常具有亞像素(sub-pixel)精度,因此在運(yùn)動(dòng)補(bǔ)償中需要亞像素插值 (interpolation)。運(yùn)動(dòng)向量可以具有1/4像素的精度。在這種情況 下,像素插值的可能位置在圖3中示出。圖3示出了可能的被插值 降至四分之一像素的像素位置。在圖3中,A、 E、 U和Y指示原始 的整數(shù)像素位置,c、 k、 m、 o和w指示半像素位置。所有其它位置 是四分之一像素位置。通常,半像素位置處的值通過使用具有沖激響應(yīng)(1/32, -5/32, 20/32、 -5/32、 1/32)的6階(6-tap)濾波器來獲得。濾波器沿著適 合的水平方向和垂直方向在整數(shù)像素值上操作。為了簡化解碼器, 一般不使用6階濾波器來插值四分之一像素值。而是改為通過以如 下的方式對(duì)整數(shù)位置和與其相鄰的半像素位置求平均、并對(duì)兩個(gè)相 鄰的半像素位置求平均來得到四分之一位置 b=(A+c)/2, d=(c+E)/2, f=(A+k)/2, g=(c+k)/2, h=(c+ra)/2, i=(c+o)/2, j=(E+o)/2 3Kk+m)/2, n=(m+o)/2, p-(U+k)/2, q-{k+w)/2, r=(m+w)/2, s=(w+o)/2, HY+o)/2 v=(w+U)/2, x=(Y+w)/2運(yùn)動(dòng)預(yù)測的一個(gè)示例在圖4a中示出。在圖4a中,A代表幀/ 中的塊,Aw代表幀中具有相同位置的塊。假設(shè)A,被用以預(yù)測 幀中的塊并且如圖4所示,用于預(yù)測的運(yùn)動(dòng)向量是(Ax,A力。 依賴于運(yùn)動(dòng)向量(Ax,A力,A,可以如圖3所示一皮定位在^象素或者亞傳-素位置。如果A被定位在亞像素位置,那么在將A用作預(yù)測而從塊 ^+7中減去之前,需要插值A(chǔ)中的值。發(fā)明內(nèi)容本發(fā)明提供了在用于視頻編碼的MCTF中執(zhí)行更新步驟的有效 方法。根據(jù)預(yù)測殘差幀中的編碼塊來執(zhí)行更新操作。依賴于預(yù)測步驟 中的宏塊模式,編碼塊可以具有不同的大小。宏塊模式被用以規(guī)定 宏塊如何被分割為塊。例如,可以如選定的宏塊模式所規(guī)定的那樣 將宏塊分割為多個(gè)塊,塊的數(shù)目可以是一個(gè)或者多個(gè)。在更新步驟 中,預(yù)測步驟中所使用的運(yùn)動(dòng)向量的逆向被直接用作更新運(yùn)動(dòng)向量, 因而無需執(zhí)行運(yùn)動(dòng)向量推導(dǎo)過程。明顯偏離其相鄰運(yùn)動(dòng)向量的運(yùn)動(dòng)向量被視為不可靠的,并且在 更新步驟中被排除。自適應(yīng)濾波器用來插值用于更新操作的預(yù)測殘差塊。自適應(yīng)濾 波器是較短濾波器(例如,雙線性濾波器)和較長濾波器(例如,4 階FIR濾波器)的自適應(yīng)組合。較短濾波器和較長濾波器之間的切 換是基于相應(yīng)預(yù)測殘差塊的能量水平。如果能量水平高,則使用較 短濾波器來插值。否則使用較長濾波器。對(duì)于每個(gè)預(yù)測殘差塊,閾值被自適應(yīng)地確定,以^更在塊中的殘 差被用作更新信號(hào)之前限制其最大振幅。在確定闊值時(shí),可以使用 以下才幾制中的一個(gè)
- 一般而言,基于預(yù)測殘差塊的能量水平,能量水平越高, 所選擇的閾值變得越小。- 基于塊匹配因子,使用指示符來指示塊在預(yù)測步驟中的所述塊得到了良好匹配,則可以使用較高的閾值在更新 步驟中限制殘差塊的最大振幅。為了獲得塊匹配因子, 可以^使用以下方法中的一個(gè)。- 基于待更新的相應(yīng)塊的方差與預(yù)測殘差塊的能量水平的 比率,如果該比率高,則假設(shè)塊匹配相對(duì)良好。- 對(duì)待更新的塊執(zhí)行高通濾波操作。接著,將塊中每個(gè)經(jīng) 過濾波的像素的振幅(也即,絕對(duì)值)與相應(yīng)的預(yù)測殘差像素的振幅進(jìn)行比較。假設(shè)如果該塊在預(yù)測步驟中 得到了良好匹配,則預(yù)測殘差像素的振幅應(yīng)當(dāng)小于相應(yīng) 的經(jīng)過濾波的像素的振幅。塊中滿足上述假設(shè)的預(yù)測殘 差像素的百分比可用作塊匹配因子。因此,本發(fā)明的第 一方面是對(duì)具有多個(gè)視頻幀的視頻序列進(jìn)行 編碼和解碼的方法,其中基于宏塊模式來分割視頻幀中的像素的宏塊。所迷方法包括更新操作和預(yù)測操作,其中更新操作部分地基于 運(yùn)動(dòng)向量的逆向。本發(fā)明的第二方面是具有用于執(zhí)行上述編碼和解碼方法的多個(gè) 處理器的編碼模塊和解碼模塊。本發(fā)明的第三方面是具有如上所述的編碼模塊和/或解碼模塊的 電子設(shè)備,例如移動(dòng)終端。本發(fā)明的第四方面是具有用于存儲(chǔ)軟件應(yīng)用的存儲(chǔ)器的軟件應(yīng) 用產(chǎn)品,其中所述軟件應(yīng)用具有用以執(zhí)行上述編碼和/或解碼方法的 程序代碼。本發(fā)明提供了用于MCTF更新步驟的有效解決方案。它不僅簡 化了更新步驟插值過程,還省去了更新運(yùn)動(dòng)向量推導(dǎo)過程。通過自 適應(yīng)地確定閾值來限制預(yù)測殘差,這個(gè)方法不需要將閾值保存在比 特流中。
圖la示出了使用提升結(jié)構(gòu)的用于MCTF的分解過程。圖lb示出了使用提升結(jié)構(gòu)的用于MCTF的合成過程。圖2示出了使用提升結(jié)構(gòu)的用于MCTF的兩級(jí)分解過程。圖3示出了可能的被插值降至四分之一像素的像素位置。圖4a示出了預(yù)測步驟中所使用的運(yùn)動(dòng)向量和關(guān)聯(lián)塊的關(guān)系的示例。圖4b示出了更新步驟中所使用的運(yùn)動(dòng)向量和關(guān)聯(lián)塊的關(guān)系的示例。圖5示出了用于更新運(yùn)動(dòng)向量推導(dǎo)的一個(gè)過程。 圖6示出了更新步驟中所涉及的塊的位置與預(yù)測步驟中塊的位 置的局部像素差異。圖7是示出了 MCTF分解過程的框圖。 圖8是示出了 MCTF合成過程的框圖。 圖9示出了基于MCTF的編碼器的框圖。 圖10示出了基于MCTF的解碼器的框圖。圖11是示出了利用運(yùn)動(dòng)向量濾波器模塊的MCTF分解過程的框圖。圖12是示出了利用運(yùn)動(dòng)向量濾波器模塊的MCTF合成過程的框圖。圖13示出了基于預(yù)測殘差塊的能量水平在MCTF更新步驟中的 自適應(yīng)插值過程。圖14示出了基于預(yù)測殘差塊的能量水平對(duì)更新信號(hào)強(qiáng)度的自適 應(yīng)控制過程。圖15示出了基于塊匹配因子對(duì)更新信號(hào)強(qiáng)度的自適應(yīng)控制過程。圖16是根據(jù)本發(fā)明的 一 種實(shí)施方式用于說明編碼方法的 一 部分
的流程圖。圖1 7是根據(jù)本發(fā)明的 一 種實(shí)施方式用于說明解碼方法的 一 部分的流程圖。圖18是根據(jù)本發(fā)明的電子設(shè)備的框圖,該電子設(shè)備可以配備基 于MCTF的編碼模塊和解碼模塊中的一個(gè)或二者。
具體實(shí)施方式
用于運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波(MCTF)的分解過程和合成過程都可以 使用提升結(jié)構(gòu)。提升包括預(yù)測步驟和更新步驟。在更新步驟中,可以沿著預(yù)測步驟中所-使用的運(yùn)動(dòng)向量的逆向 將塊處的預(yù)測殘差添加到參考?jí)K中。如果運(yùn)動(dòng)向量是(Ax, A力(參 見圖4a),則其逆向可以表示為(-Ax,-Ay),它也可被一見為運(yùn)動(dòng)向量。 同樣地,更新步驟也包括運(yùn)動(dòng)補(bǔ)償過程。從預(yù)測步驟中獲得的預(yù)測 殘差幀可以考慮用作參考幀。預(yù)測步驟中那些運(yùn)動(dòng)向量的逆向被用 作更新步驟中的運(yùn)動(dòng)向量。利用這樣的參考幀和運(yùn)動(dòng)向量,便可以 構(gòu)建補(bǔ)償幀。補(bǔ)償幀繼而被添加到幀/ 中,以便消除幀/,,中的一些 時(shí)域高頻率。更新過程只在幀/ 中的整數(shù)像素上執(zhí)行。如果A位于亞像素位 置,則它的最接近的整數(shù)位置塊J 根據(jù)運(yùn)動(dòng)向量(-Ax,-A力被實(shí)際更 新。這在圖4b中示出。在這種情況下,塊^4 和J,"的位置之間存在 局部像素差異。根據(jù)運(yùn)動(dòng)向量(-Ax,-A力,在更新步驟中用于^;的參 考?jí)K(標(biāo)為5' +7)也不位于整數(shù)像素位置。然而,塊A+,和塊5,"+; 的位置之間也將存在相同的局部像素差異。出于這個(gè)原因,需要進(jìn) 行插值以便獲得塊SV/處的預(yù)測殘差。因此,只要運(yùn)動(dòng)向量(-Ax,-A力 在水平或者垂直方向不具有整數(shù)像素位移,在更新步驟中通常就需 要進(jìn)行插值。更新步驟可以在待更新的幀中 一 塊接一塊地執(zhí)行,塊的大小是 4x4。對(duì)于幀內(nèi)的每個(gè)4x4塊,可以通過如下方式得到用于更新該塊 的良好運(yùn)動(dòng)向量掃描所有在預(yù)測步驟中使用的運(yùn)動(dòng)向量,并選擇
具有當(dāng)前4x4塊的最大覆蓋率的運(yùn)動(dòng)向量。這在圖5中示出。在圖5 中,幀In被用以預(yù)測幀In,+7。如圖所示,塊A和塊An的參考?jí)K都覆 蓋了待更新的當(dāng)前4x4塊^的一些區(qū)域。在這個(gè)示例中,由于塊^ 的參考?jí)K具有更大的覆蓋面積,選中了塊A的運(yùn)動(dòng)向量,并且其逆 向被用作塊J的更新運(yùn)動(dòng)向量。這樣的過程被稱為^^適動(dòng)/^f推 ^3在,這樣得到的運(yùn)動(dòng)向量在此被稱為^者適動(dòng)47#。使用這種 方法, 一旦得到了用于整個(gè)幀的更新運(yùn)動(dòng)向量,就可以直接將預(yù)測 步驟中所使用的常規(guī)的基于塊的運(yùn)動(dòng)補(bǔ)償過程應(yīng)用于更新步驟中的 運(yùn)動(dòng)補(bǔ)償過程。在本發(fā)明的 一 種實(shí)施方式中,根據(jù)預(yù)測殘差幀中的編碼塊來執(zhí) 行更新操作。依賴于預(yù)測步驟中的宏塊模式,編碼塊可以具有不同 的大小,例如從4x4到16x16。如圖4a所示,在預(yù)測步驟中,幀In被用以預(yù)測幀In。當(dāng)在預(yù) 測步驟中減掉運(yùn)動(dòng)補(bǔ)償預(yù)測之后,幀In只包含預(yù)測殘差。在更新步 驟中,根據(jù)幀中的每個(gè)編碼塊來執(zhí)行更新操作。例如,當(dāng)塊An 將要在更新步驟中被處理時(shí),首先根據(jù)預(yù)測步驟中所使用的運(yùn)動(dòng)向 量(Ax, A力來定位在預(yù)測步驟中塊A+7的參考?jí)KA 。如果A位于亞像 素位置,則最接近的整數(shù)位置塊^;被實(shí)際更新。更新操作實(shí)質(zhì)上是 運(yùn)動(dòng)補(bǔ)償過程,其中預(yù)測步驟中所使用的運(yùn)動(dòng)向量的逆向一皮用作更 新運(yùn)動(dòng)向量。在圖4b所示的示例中,用于塊An的更新運(yùn)動(dòng)向量是 (—Ax,一Ay)。現(xiàn)在,塊An的位置和更新運(yùn)動(dòng)向量(-Ax,-A力都是可用的,在更 新步驟中用于塊^;的參考?jí)K也可以被定位。這在圖4b中示出。根 據(jù)運(yùn)動(dòng)向量(-Ax,-A力,塊A和塊的位置之間存在局部像素差異, 因此,更新步驟中用于J;的參考?jí)K的位置,或者說3, +7的位置, 應(yīng)當(dāng)是從塊的位置同樣偏移等量差異后的位置。這種情況將在 圖6中進(jìn)一步說明。在圖6中,實(shí)心點(diǎn)表示整數(shù)像素位置,空心點(diǎn) 表示亞像素位置。以虛線邊界指明的塊和以實(shí)線邊界指明的塊分別 被涉及在預(yù)測步驟和更新步驟中。塊A和塊J、之間位置的局部像
素差異是(AA,Av)。相應(yīng)地,塊^ +7和塊3, +/的位置之間具有等量的 局部像素差異。由于塊^' +7位于局部像素位置,因此塊^Vw處的預(yù) 測殘差首先根據(jù)相鄰的預(yù)測殘差來插值,而后被用來更新塊^ ' 處的像素??偠灾?,預(yù)測殘差幀中的每個(gè)編碼塊^ + 7都在以下過程中進(jìn)行處理1) 定位預(yù)測步驟中所使用的它的參考?jí)K爿 。2) 定位該參考?jí)K最接近的整數(shù)位置塊^' 。當(dāng)A具有整數(shù)像素 位置時(shí),A和爿;相同。3 )使用預(yù)測步驟中塊^+7的運(yùn)動(dòng)向量的逆向作為用于塊爿' 的 更新運(yùn)動(dòng)向量?;凇? 的位置和更新運(yùn)動(dòng)向量,定位用于 爿' 的相應(yīng)參考?jí)KS' +7的位置。 4)獲得塊^' +/處的預(yù)測殘差,并將其用來更新塊爿;。 根據(jù)本發(fā)明的一種實(shí)施方式,針對(duì)MCTF分解(或者分析)和 MCTF合成(或者綜合)的框圖分別在圖7和圖8中示出。與MCTF 模塊相結(jié)合的編碼器和解碼器的框圖分別在圖9和圖IO中示出。因 為不論是否使用MCTF技術(shù)都需要預(yù)測步驟運(yùn)動(dòng)補(bǔ)償過程,所以還 需要與MCTF相結(jié)合的用于更新步驟運(yùn)動(dòng)補(bǔ)償過程的附加模塊。圖 7和圖8中的符號(hào)反相器用來改變運(yùn)動(dòng)向量分量的符號(hào),以便獲得運(yùn) 動(dòng)向量的逆向。圖9根據(jù)本發(fā)明的一種實(shí)施方式示出了基于MCTF的編碼器的 框圖。MCTF分解模塊包括預(yù)測步驟和更新步驟兩者。這個(gè)模塊生 成預(yù)測殘差和包括塊分割、參考幀索引、運(yùn)動(dòng)向量等在內(nèi)的一些輔 助信息(side information )。預(yù)測殘差被轉(zhuǎn)換、量化并繼而被發(fā)送給 熵編碼模塊。輔助信息也被發(fā)送給熵編碼模塊。熵編碼模塊將所有 信息編碼到壓縮比特流中。編碼器還包括用于執(zhí)行MCTF分解過程 中各種步驟的軟件程序模塊。圖IO根據(jù)本發(fā)明一種實(shí)施方式示出了基于MCTF的解碼器的框 圖。通過熵解碼模塊,比特流被解壓縮,該比特流提供了預(yù)測殘差
和包括塊分割、參考幀索引、運(yùn)動(dòng)向量等在內(nèi)的輔助信息。預(yù)測殘差繼而被解量化、逆變換并被發(fā)送到MCTF合成才莫塊。通過MCTF 合成過程,視頻圖像被重建。解碼器還包括用于執(zhí)行MCTF合成過 程中各種步驟的軟件程序模塊。在上述過程中,待更新的像素沒有以4x4的塊來分組。作為替 代,它們根據(jù)精確的塊分割以及與該塊分割相關(guān)聯(lián)的運(yùn)動(dòng)向量來分組。從更新步驟中消除異常的或不可靠的運(yùn)動(dòng)向量為了改進(jìn)編碼性能并且進(jìn)一步簡化更新步驟操作,可以結(jié)合運(yùn)動(dòng)向量濾波過程以用于MCTF中的更新步驟。可以從更新操作中排 除與其相鄰運(yùn)動(dòng)向量差異過大的運(yùn)動(dòng)向量。有不同的運(yùn)動(dòng)向量濾波方式可以用于這一目的。 一種方式是檢 查預(yù)測殘差幀中每個(gè)編碼塊的差異運(yùn)動(dòng)向量。差異運(yùn)動(dòng)向量被定義 為當(dāng)前運(yùn)動(dòng)向量和當(dāng)前運(yùn)動(dòng)向量的預(yù)測之間的差異。當(dāng)前運(yùn)動(dòng)向量 的預(yù)測可以根據(jù)已經(jīng)被編碼的(或者被解碼的)相鄰編碼塊的運(yùn)動(dòng) 向量來進(jìn)行推斷。為了編碼效率,相應(yīng)的差異運(yùn)動(dòng)向量^f皮編碼到比 特流中。差異運(yùn)動(dòng)向量反映了當(dāng)前運(yùn)動(dòng)向量與其相鄰運(yùn)動(dòng)向量之間的差 異程度。因此,它可以直接被用在運(yùn)動(dòng)向量濾波過程中。例如,如果差異達(dá)到了某個(gè)閾值rwv,則排除該運(yùn)動(dòng)向量。假設(shè)當(dāng)前編碼塊的差異運(yùn)動(dòng)向量是(A《,A^),則可以在濾波過程中使用以下條件網(wǎng)+< r柳如果差異運(yùn)動(dòng)向量沒有滿足上面的條件,則從更新操作中排除相應(yīng) 的運(yùn)動(dòng)向量。應(yīng)當(dāng)指出,上述條件只是一個(gè)示例。還可以推導(dǎo)和使用其它條件。例如,條件可以是max(lz!4:i, k^l) <『,. 這里的max是返回一組給定值中最大值的操作。由于當(dāng)前運(yùn)動(dòng)向量的預(yù)測只是根據(jù)已經(jīng)被編碼的(或者被解碼 的)相鄰編碼塊的運(yùn)動(dòng)向量來推斷,因此檢查更多相鄰塊的運(yùn)動(dòng)向 量而不管它們相對(duì)于當(dāng)前塊的編碼順序也是可能的。為了執(zhí)行濾波, 一個(gè)示例是考慮當(dāng)前塊的上、下、左、右的四個(gè)相鄰塊。計(jì)算與這 四個(gè)相鄰塊關(guān)聯(lián)的四個(gè)運(yùn)動(dòng)向量的平均,并將其與當(dāng)前塊的運(yùn)動(dòng)向 量進(jìn)行比較。上文提到的條件被再次用來測量該平均運(yùn)動(dòng)向量與當(dāng) 前運(yùn)動(dòng)向量之間的差異。如果該差異達(dá)到了某個(gè)閾值,則從更新操 作中排除當(dāng)前運(yùn)動(dòng)向量。通過從更新步驟操作中移除一 些運(yùn)動(dòng)向量,這樣的濾波過程可 以進(jìn)一步降低更新步驟的計(jì)算復(fù)雜性。根據(jù)本發(fā)明的一種實(shí)施方式 利用運(yùn)動(dòng)向量濾波模塊的MCTF分解和合成過程分別在圖11和12 中示出。圖11是示出了根據(jù)本發(fā)明一種實(shí)施方式的MCTF分解過程的框 圖。該過程包括預(yù)測步驟和更新步驟。在圖11中,在預(yù)測步驟中使 用了運(yùn)動(dòng)估計(jì)模塊和預(yù)測步驟運(yùn)動(dòng)補(bǔ)償模塊。其它模塊在更新步驟 中使用。在更新步驟中也使用了來自運(yùn)動(dòng)估計(jì)模塊的運(yùn)動(dòng)向量,以 得到用于更新步驟的運(yùn)動(dòng)向量,這經(jīng)由運(yùn)動(dòng)向量濾波器在符號(hào)反相 器中實(shí)現(xiàn)。如圖所示,在預(yù)測步驟和更新步驟中都執(zhí)行了運(yùn)動(dòng)補(bǔ)償 過程。圖12是示出了根據(jù)本發(fā)明的一種實(shí)施方式的MCTF合成過程的 框圖?;谒邮盏牟⒈唤獯a的運(yùn)動(dòng)向量信息,經(jīng)由運(yùn)動(dòng)向量濾波 器在符號(hào)反相器中得到更新運(yùn)動(dòng)向量。然后,執(zhí)行與MCTF分解過 程中的運(yùn)動(dòng)補(bǔ)償過程相同的運(yùn)動(dòng)補(bǔ)償過程。與圖ll對(duì)比,可以看到 MCTF合成是MCTF分解的逆過程。特別地,更新才喿作包括運(yùn)動(dòng)補(bǔ) 償預(yù)測,該運(yùn)動(dòng)補(bǔ)償預(yù)測使用了所接收的預(yù)測殘差、宏塊模式以及 圖10和圖12中說明的所接收的運(yùn)動(dòng)向量的逆向。預(yù)測操作包括運(yùn) 動(dòng)補(bǔ)償預(yù)測,所述運(yùn)動(dòng)補(bǔ)償預(yù)測關(guān)于更新步驟的輸出、所接收的運(yùn) 動(dòng)向量以及宏塊模式。
基于預(yù)測殘差能量水平的用于更新步驟的自適應(yīng)插值本發(fā)明中,在用于更新操作的插值預(yù)測殘差塊中使用了自適應(yīng) 濾波器。自適應(yīng)濾波器是較短濾波器(例如,雙線性濾波器)和較長濾波器(例如,4階濾波器)的自適應(yīng)組合。較短濾波器和較長濾 波器之間的切換可以基于每個(gè)4x4塊的最終權(quán)重因子。最終權(quán)重因 子是根據(jù)塊的預(yù)測殘差能量水平以及更新運(yùn)動(dòng)向量的可靠性確定 的,其中所述更新運(yùn)動(dòng)向量是針對(duì)在具有輕微修改的更新過程中用于插值所采用的塊而導(dǎo)出的。能量估計(jì)和插值在整個(gè)編碼塊上執(zhí)行, 而不管編碼塊的大小。在較大的編碼塊上插值意味著較少的整體計(jì) 算,因?yàn)榭梢栽谠撨^程中共享更多的中間結(jié)果。可以用不同的方法來執(zhí)行能量估計(jì)。 一 種方法是將塊的平均平 方像素值用作能量水平。如果假設(shè)預(yù)測殘差塊的平均值是零,則塊 的平均平方像素值等價(jià)于該塊的方差。在本發(fā)明的一種實(shí)施方式中, 在對(duì)塊進(jìn)行插值時(shí),根據(jù)所計(jì)算的能量水平選擇來自濾波器集合中 的不同濾波器。能量水平較低的塊具有相對(duì)較小的預(yù)測殘差,這也 表明與這些塊相關(guān)聯(lián)的運(yùn)動(dòng)向量相對(duì)而言更為可靠。在選擇插值濾 波器時(shí),優(yōu)選地使用較長濾波器用于這些塊的插值,因?yàn)樗鼈儗?duì)于 保持編碼性能而言更加重要。然而,對(duì)于能量水平較高的塊,可以 使用較短濾波器。以圖6為例,為了更新塊乂;,需要對(duì)在塊3, +7處的預(yù)測殘差進(jìn) 行插值。為了選擇插值濾波器,計(jì)算塊Aw的預(yù)測殘差能量水平。 出于說明的目的,假設(shè)能量水平五被標(biāo)準(zhǔn)化并且處于
的范圍內(nèi)。 五的值越大,塊能量水平就越高。繼而將能量水平與預(yù)先確定的閾值z(mì);進(jìn)行比較。自適應(yīng)插值機(jī)制所依據(jù)的條件是如果五<2;,則較長 濾波器被用于塊^, +/處的插值。否則,使用較短濾波器。閾值re 例如可以通過測試而被確定。當(dāng)7;高時(shí),更多的塊是利用較長濾波器來插值。當(dāng)7;低時(shí),更通常使用較短濾波器。這種用于MCTF更 新步驟的自適應(yīng)插值的框圖在圖13中示出。
圖13根據(jù)本發(fā)明的一種實(shí)施方式示出了基于預(yù)測殘差能量水平的用于MCFT更新步驟的自適應(yīng)插值過程。如圖所示,能量水平從 塊能量估計(jì)模塊中獲得。插值濾波器選擇模塊基于能量水平做出濾 波器選擇決定。塊插值模塊使用選定的濾波器在預(yù)觀']殘差塊和更新 運(yùn)動(dòng)向量上執(zhí)行插值,其中所述更新運(yùn)動(dòng)向量是基于來自預(yù)測步驟 中的運(yùn)動(dòng)向量經(jīng)由運(yùn)動(dòng)向量濾波器從符號(hào)反相器后得到的。插值結(jié) 果繼而被用于更新步驟中的運(yùn)動(dòng)補(bǔ)償。用于控制更新信號(hào)強(qiáng)度的自適應(yīng)閾值本發(fā)明中,針對(duì)每個(gè)編碼塊自適應(yīng)地確定閾值,并將其用來限 制用于塊的更新信號(hào)的最大振幅。由于閾值在編碼過程中被自適應(yīng) 地確定,因此無需在編碼比特流中保存閾值。在圖6所示的示例中,假設(shè)塊5' +/處的插值預(yù)測殘差是t/"》, 其中(^,"代表坐標(biāo)并且("乂)£^ +1。假設(shè)針對(duì)該塊所確定的閾值是rw (rm〉o)。限制更新信號(hào)最大振幅的操作可以表示如下t/(V ) = rain(r," , max( -rw, Wi/ )))在上式中,max和min分別是返回一組給定值中最大值和最小值的 操作。存在不同的方式來確定用于每個(gè)編碼塊的閾值。 一種方式是基 于塊的能量水平確定閾值。由于塊的能量水平已經(jīng)在選擇插值濾波 器時(shí)被計(jì)算出來,所以在這個(gè)步驟中它可以被再次使用。如上所述,能量水平較低的塊具有相對(duì)較小的預(yù)測殘差,這也 表明與這些塊相關(guān)聯(lián)的運(yùn)動(dòng)向量相對(duì)而言更為可靠。在這種情況下, 應(yīng)該分配較高的閾值,使得該塊中的多數(shù)預(yù)測殘差值可直接用于更 新,而不被閾值蓋住。另一方面,對(duì)于能量水平較高的塊,由于塊 的運(yùn)動(dòng)向量可能是不可靠的,應(yīng)當(dāng)分配相對(duì)較低的閾值以避免引入 乓見覺偽像(artifact)。使閾值與預(yù)測殘差能量水平相關(guān)的一個(gè)示例可以給出如下 在上式中,五代表塊的預(yù)測殘差能量水平。如上文所述,假設(shè)五被標(biāo)準(zhǔn)化并且處于
的范圍內(nèi)。Q和Di是兩個(gè)常量,它們的值可以 通過測試而被確定。例如,在C尸16且D產(chǎn)4時(shí),發(fā)現(xiàn)的相應(yīng)閾值是 合適的且具有良好編碼性能。根據(jù)上式,塊的能量水平越高,使用 的閾值越低。這種對(duì)更新信號(hào)強(qiáng)度的自適應(yīng)控制過程的框圖在圖14 中示出。圖14示出了基于預(yù)測殘差能量水平的用于MCFT更新步驟的更 新信號(hào)強(qiáng)度的自適應(yīng)控制過程。在圖14中,插值濾波器選擇模塊根 據(jù)從塊能量估計(jì)模塊獲得的能量水平做出濾波器選擇決定。在塊插 值模塊中根據(jù)更新運(yùn)動(dòng)向量來執(zhí)行插值,其中所述更新運(yùn)動(dòng)向量是 使用通過運(yùn)動(dòng)向量濾波器濾波后的來自預(yù)測步驟中的運(yùn)動(dòng)向量從符 號(hào)反相器得到的。在通過振幅控制模塊控制了更新信號(hào)強(qiáng)度的振幅 之后,結(jié)果被用于運(yùn)動(dòng)補(bǔ)償。在本發(fā)明的另 一實(shí)施方式中,基于塊匹配因子自適應(yīng)地確定閾 值。塊匹配因子是指示符,其指明了塊在預(yù)測步驟中被匹配或者說 被預(yù)測的優(yōu)劣程度。如果塊得以良好匹配,則意味著相應(yīng)的運(yùn)動(dòng)向 量更為可靠。在這種情況下,可以在更新步驟中可以使用較高的閾 值。否則,應(yīng)當(dāng)使用較低的閾值。為了獲得塊匹配因子, 一種方法是檢查相應(yīng)的待更新塊的方差 和預(yù)測殘差塊的能量水平之間的比率。對(duì)于圖6中所示的示例,計(jì) 算塊6 +7的能量水平和塊^ ' 的方差。可以將方差值和能量水平的比 率用作塊匹配因子。如果該比率大,則可以假設(shè)預(yù)測步驟中的塊匹 配是相對(duì)良好的。預(yù)測殘差塊的能量水平為零的情況可以被排 除。獲得塊匹配因子的另 一種方法是在待更新的塊上執(zhí)行高通濾波 操作。接著,將塊中每個(gè)經(jīng)過濾波的像素的振幅(也即,絕對(duì)值) 與相應(yīng)的預(yù)測殘差像素的振幅進(jìn)行比較??梢约僭O(shè),如果塊在預(yù)測 步驟中得以良好匹配,則預(yù)測殘差像素的振幅應(yīng)當(dāng)小于相應(yīng)的經(jīng)過
濾波的像素的振幅。可以將塊中振幅小于相應(yīng)經(jīng)過濾波的像素的振 幅的預(yù)測殘差像素的百分比用作塊匹配因子。該百分比可以是指示 該塊在預(yù)測步驟中得以很好匹配的良好指示。高通濾波操作可以是一般的,并且不局限于一種方法。 一個(gè)示例是應(yīng)用如下的2維濾波器0-1/4 0 -1/41 -1/4 0-1/4 0另 一 示例是計(jì)算當(dāng)前像素和其四個(gè)最接近的相鄰像素之間的差 異。四個(gè)差異值中的最大差異可以作為針對(duì)當(dāng)前像素的高通濾波值。 除了上面兩個(gè)高通濾波器的示例之外,也可以使用其它高通濾波器。一旦得到了塊匹配因子,可以根據(jù)塊匹配因子得到閾值。假設(shè) 塊匹配因子是M并且它是一個(gè)在[O,l]范圍內(nèi)的標(biāo)準(zhǔn)化值。根據(jù)塊匹 配因子得出閾值的 一 個(gè)示例給出如下在上式中,C2和D2是兩個(gè)常量,它們的值可以通過測試確定。例如,C2二16且D尸4可能是合適的值。根據(jù)上式,如果塊得以良好匹配并 且M具有相對(duì)大的值,則4也具有相對(duì)大的值?;趬K匹配因子的更新信號(hào)強(qiáng)度的自適應(yīng)控制過程在圖15中示 出。圖15示出了基于塊匹配因子的用于MCFT更新步驟的更新信號(hào) 強(qiáng)度的自適應(yīng)控制過程。在圖15中,插值濾波器選擇模塊基于從塊 能量估計(jì)模塊中獲得的能量水平做出濾波器選擇決定。在塊插值模 塊中根據(jù)更新運(yùn)動(dòng)向量來執(zhí)行插值,其中更新運(yùn)動(dòng)向量是使用通過 運(yùn)動(dòng)向量濾波器濾波后的來自預(yù)測步驟中的運(yùn)動(dòng)向量從符號(hào)反相器 得到的。在通過振幅控制模塊控制了更新信號(hào)強(qiáng)度的振幅之后,結(jié) 果被用于運(yùn)動(dòng)補(bǔ)償。如圖15所示,從塊匹配因子產(chǎn)生器中獲得的塊 匹配因子也被用于控制更新信號(hào)強(qiáng)度。
總而言之,本發(fā)明提供了 一種用于執(zhí)行視頻編碼的運(yùn)動(dòng)補(bǔ)償時(shí) 域?yàn)V波中更新操作的方法、裝置以及軟件應(yīng)用產(chǎn)品。根據(jù)預(yù)測殘差幀中的編碼塊來執(zhí)行更新操作。依賴于預(yù)測步驟 中的宏塊模式,編碼塊可以具有不同的大小。在編碼中,該方法在圖16中說明。如圖16中的流程圖500所示,當(dāng)編碼模塊接收到表 示視頻幀的數(shù)字視頻序列的視頻數(shù)據(jù)時(shí),其在步驟510處開始選擇 宏塊模式,使得在步驟520處可以如選定的宏塊模式所規(guī)定的那樣 將視頻幀中的像素所形成的宏塊分割為許多塊。在步驟530,基于關(guān) 于參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù)測和運(yùn)動(dòng)向量,在塊上執(zhí)行預(yù)須'J操作, 以提供相應(yīng)的預(yù)測殘差塊。在步驟540,基于關(guān)于預(yù)測殘差塊和宏塊 模式的運(yùn)動(dòng)補(bǔ)償預(yù)測以及基于運(yùn)動(dòng)向量的逆向,更新視頻參考幀。 例如,使用在較短濾波器和較長濾波器之間自適應(yīng)選擇的插值濾波 器來插值預(yù)觀'j殘差塊的亞像素位置。插值濾波器的選擇可以部分地 基于塊中預(yù)測殘差的能量水平。此外,可以將更新信號(hào)的振幅限制 到根據(jù)塊的預(yù)測殘差能量水平和/或塊匹配因子來確定的閾值。如果 被預(yù)測塊的運(yùn)動(dòng)向量和相鄰塊的運(yùn)動(dòng)向量之間的差異大于閾值,則可以跳過更新#:作。在解碼中,該方法在圖17中說明。如圖17中的流程圖600所 示,當(dāng)解碼模塊接收到表示視頻幀的已編碼視頻序列的已編碼視頻 數(shù)據(jù)時(shí),其在步驟610處開始對(duì)宏塊模式解碼,使得在步驟620處 可以如選定的宏塊模式所規(guī)定的那樣將視頻幀中的像素所形成的宏 塊分割為許多塊。在步驟630,解碼模塊解碼塊的預(yù)測殘差和運(yùn)動(dòng)向 量。在步驟640,基于根據(jù)宏塊模式的關(guān)于塊的預(yù)測殘差的運(yùn)動(dòng)補(bǔ)償 預(yù)測以及運(yùn)動(dòng)向量的逆向,更新塊的參考幀。例如,可以使用在較 短濾波器和較長濾波器之間自適應(yīng)選擇的插值濾波器插值預(yù)須'J殘差 塊的亞像素位置。插值濾波器的選擇可以部分地基于塊中預(yù)須'殘差 的能量水平。此外,可以將更新信號(hào)的振幅限制到基于塊的預(yù)測殘 差的能量水平和/或塊匹配因子來確定的閾值。如果接收的當(dāng)前塊的 運(yùn)動(dòng)向量和相鄰塊的運(yùn)動(dòng)向量之間的差異大于閾值,則可以跳過這
個(gè)更新操作。在步驟650,基于關(guān)于已更新參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù) 測以及運(yùn)動(dòng)向量,在塊上執(zhí)行預(yù)測操作?,F(xiàn)在參考圖18。圖18示出了配備有圖9和圖IO中所示的MCTF 編碼模塊和MCTF解碼模塊中至少一個(gè)的電子設(shè)備。根據(jù)本發(fā)明的 一種實(shí)施方式,所述電子設(shè)備是移動(dòng)終端。圖18中所示的移動(dòng)設(shè)備 10支持蜂窩數(shù)據(jù)和語音通信。應(yīng)當(dāng)指出,本發(fā)明不局限于這種特定 的實(shí)施方式,這種特定的實(shí)施方式只代表多種不同實(shí)施方式中的一 種。移動(dòng)設(shè)備10包括控制移動(dòng)設(shè)備操作的(主)微處理器或微控制 器100以及與微處理器相關(guān)聯(lián)的組件。這些組件包括與顯示模塊135 連接的顯示控制器130,非易失性存儲(chǔ)器140,例如隨機(jī)訪問存儲(chǔ)器 (RAM)的易失性存儲(chǔ)器150,與麥克風(fēng)161、揚(yáng)聲器162和/或耳 機(jī)163連接的音頻輸入/輸出(I/O)接口 160,與鍵區(qū)175或鍵盤連 接的鍵區(qū)控制器170,任意輔助輸入/輸出(1/0)接口 200,以及短 距離通信接口 180。這樣的設(shè)備通常還包括其它設(shè)備子系統(tǒng),這些子 系統(tǒng)被一關(guān)殳地示為190。移動(dòng)設(shè)備10可以在語音網(wǎng)絡(luò)上通信,和/或同樣可以在數(shù)據(jù)網(wǎng)絡(luò) 上通信,所述數(shù)據(jù)網(wǎng)絡(luò)例如是任何公共陸地移動(dòng)網(wǎng)絡(luò)(PLMN),其 形式例如可以是數(shù)字蜂窩網(wǎng)絡(luò),特別是GSM (全球移動(dòng)通信系統(tǒng)) 或UMTS (通用移動(dòng)通信系統(tǒng))。語音和/或數(shù)據(jù)通信通常通過空中 接口操作,空中接口也即與其它組件(參見上文)協(xié)作的連接到基 站(BS )或節(jié)點(diǎn)B (未示出)的蜂窩通信接口子系統(tǒng),其中基站(BS ) 或節(jié)點(diǎn)B是蜂窩網(wǎng)絡(luò)基礎(chǔ)設(shè)施的無線接入網(wǎng)絡(luò)(RAN)的一部分。在圖18中被說明性描述的蜂窩通信接口子系統(tǒng)包括蜂窩接口 110、數(shù)字信號(hào)處理器(DSP) 120、接收機(jī)(RX) 121、發(fā)射機(jī)(TX) 122、以及一個(gè)或更多本地振蕩器(LO) 123,并且蜂窩通信接口子 系統(tǒng)支持與一個(gè)或更多公共陸地移動(dòng)網(wǎng)絡(luò)(PLMN)的通信。數(shù)字信 號(hào)處理器(DSP) 120將通信信號(hào)124發(fā)送給發(fā)射機(jī)(TX) 122,并 從接收機(jī)(RX) 121接收通信信號(hào)125。除了處理通信信號(hào)之外, 數(shù)字信號(hào)處理器120還向接收機(jī)提供控制信號(hào)126和向發(fā)射機(jī)提供 控制信號(hào)127。例如,除了分別對(duì)待發(fā)射的信號(hào)進(jìn)行調(diào)制和對(duì)所接收的信號(hào)進(jìn)行解調(diào)之外,應(yīng)用于接收機(jī)(RX) 121和發(fā)射機(jī)(TX) 122 中的通信信號(hào)上的增益水平也可以通過數(shù)字信號(hào)處理器(DSP) 120 中所實(shí)施的自動(dòng)增益控制算法進(jìn)行自適應(yīng)控制。為了提供對(duì)收發(fā)機(jī) 121/122的更復(fù)雜的控制,也可以在數(shù)字信號(hào)處理器(DSP) 120中 實(shí)施其它收發(fā)機(jī)控制算法。在移動(dòng)設(shè)備IO通過PLMN的通信在單一頻率或者一組相隔密集 的頻率上發(fā)生的情況下,那么單個(gè)本地振蕩器(LO) 123可以與發(fā) 射機(jī)(TX) 122和接收機(jī)(RX) 123結(jié)合使用??蛇x地,如果語音/ 數(shù)據(jù)通信所使用的頻率不同或者發(fā)射和接收所使用的頻率不同,則 可以使用多個(gè)本地振蕩器以產(chǎn)生多個(gè)相應(yīng)的頻率。盡管使用的是圖18中所描述的具有天線129或分集天線系統(tǒng) (未示出)的移動(dòng)設(shè)備10,但是也可以使用具有用于信號(hào)接收和發(fā) 射的單個(gè)天線結(jié)構(gòu)的移動(dòng)設(shè)備10。包括語音和數(shù)據(jù)信息在內(nèi)的信息 通過蜂窩接口 110與數(shù)字信號(hào)處理器(DSP) 120之間的數(shù)據(jù)鏈路在 兩者之間進(jìn)行雙向通信。蜂窩接口 110的詳細(xì)設(shè)計(jì),例如頻帶、組 件選擇、功率水平等,將依賴于移動(dòng)設(shè)備IO打算在其中操作的無線 網(wǎng)絡(luò)。在任何所需的網(wǎng)絡(luò)注冊(cè)或激活過程之后,移動(dòng)設(shè)備繼而可以在 無線網(wǎng)絡(luò)上發(fā)送和接收包括語音和數(shù)據(jù)信號(hào)在內(nèi)的通信信號(hào),其中 注冊(cè)或激活過程可能涉及在蜂窩網(wǎng)絡(luò)中注冊(cè)所需的用戶標(biāo)識(shí)模塊 (SIM )210。天線129從無線網(wǎng)絡(luò)接收的的信號(hào)被路由至接收機(jī)121, 接收機(jī)121提供諸如信號(hào)放大、頻率下轉(zhuǎn)換、濾波、信道選擇以及 模數(shù)轉(zhuǎn)換之類的操作。接收信號(hào)的模數(shù)轉(zhuǎn)換使得諸如數(shù)字解調(diào)和解 碼之類較為復(fù)雜的通信功能可以使用數(shù)字信號(hào)處理器(DSP) 120得 以執(zhí)行。通過類似的方式,要被發(fā)射給網(wǎng)絡(luò)的信號(hào)被數(shù)字信號(hào)處理 器(DSP) 120處理,例如包括調(diào)制和編碼,并繼而被提供給發(fā)射機(jī) 122以用于數(shù)模轉(zhuǎn)換、頻率上轉(zhuǎn)換、濾波、放大以及通過天線129 發(fā)射給無線網(wǎng)絡(luò)。
也可以被指定為設(shè)備平臺(tái)微處理器的微處理器/微控制器(^C)110管理移動(dòng)設(shè)備10的功能。處理器IIO所使用的操作系統(tǒng)軟件149 優(yōu)選地存儲(chǔ)在例如非易失性存儲(chǔ)器140之類的永久存儲(chǔ)器中,其中 非易失性存儲(chǔ)器140例如可以被實(shí)現(xiàn)為閃速存儲(chǔ)器、電池備份RAM、 任何其它非易失性存儲(chǔ)技術(shù)或者其任意組合。除了控制移動(dòng)設(shè)備10 的低級(jí)功能和(圖形)基本用戶接口功能的操作系統(tǒng)149之外,非 易失性存儲(chǔ)器140還包括多個(gè)高級(jí)軟件應(yīng)用程序或者模塊,例如語 音通信軟件應(yīng)用142、數(shù)據(jù)通信軟件應(yīng)用141、組織器模塊(未示出) 或者任何其它類型的軟件模塊(未示出)。這些模塊由處理器100 執(zhí)行并提供了移動(dòng)設(shè)備10的用戶與移動(dòng)設(shè)備10之間的高級(jí)接口。 該接口通常包括由顯示控制器130控制的顯示器135所提供的圖形 組件和通過鍵區(qū)控制器170連接到處理器IOO上的鍵區(qū)175、輔助輸 入/輸出(I/O)接口 200和/或短距離(SR)通信接口 180所提供的 輸入/輸出組件。輔助1/0接口 200特別地包括USB(通用串行總線) 接口 、串行接口 、 MMC(多媒體卡)接口以及相關(guān)的接口技術(shù)/標(biāo)準(zhǔn),信接口射頻(RF)低功率接口特別地包括WLAN (無線局域網(wǎng))和 藍(lán)牙通信技術(shù)或者IRDA (紅外數(shù)據(jù)訪問)接口 。這里所稱的RF低 功率接口技術(shù)應(yīng)纟皮特別地理解為包括IEEE 801.xx標(biāo)準(zhǔn)沖支術(shù),其說明 可以從國際電子電氣工程師協(xié)會(huì)處獲得。而且,輔助I/O接口 200 和短距離通信接口 180每一個(gè)都可以表示一個(gè)或多個(gè)的分別支持一 個(gè)或多個(gè)輸入/輸出接口技術(shù)和通信接口技術(shù)的接口。操作系統(tǒng)、特 定的設(shè)備軟件應(yīng)用或模塊、或者其一部分可以被臨時(shí)載入例如隨機(jī) 訪問存儲(chǔ)器(通?;贒RAM (直接隨機(jī)訪問存儲(chǔ)器)技術(shù)實(shí)現(xiàn)以 進(jìn)行更快的操作)的易失性存儲(chǔ)器150中。而且,在將所接收的通 信信號(hào)永久地寫入任何海量存儲(chǔ)器或非易失性存儲(chǔ)器140中的文件 系統(tǒng)中之前,也可以將所接收的通信信號(hào)臨時(shí)存儲(chǔ)到易失性存儲(chǔ)器 150中,其中海量存儲(chǔ)器優(yōu)選地通過輔助1/0接口可拆卸地連接以存 儲(chǔ)數(shù)據(jù)。應(yīng)當(dāng)理解,上述組件代表在此以蜂窩電話的形式被具體化 的傳統(tǒng)移動(dòng)設(shè)備10的典型組件。本發(fā)明不局限于這些特定的組件, 所描述的這些組件的實(shí)現(xiàn)僅僅是出于說明和完整的緣故。移動(dòng)設(shè)備10的一個(gè)示例性軟件應(yīng)用模塊是提供PDA功能性的 個(gè)人信息管理器應(yīng)用,其通常包括聯(lián)系人管理器、日歷、任務(wù)管理 器等。這樣的個(gè)人信息管理器由處理器100執(zhí)行,可以訪問移動(dòng)設(shè) 備10的組件,并可以與其它軟件應(yīng)用模塊交互。例如,與語音通信 軟件應(yīng)用的交互允許管理電話呼叫、語音郵件等,與數(shù)據(jù)通信軟件 應(yīng)用的交互支持管理SMS (短消息服務(wù))、MMS (多媒體服務(wù))、 電子郵件通信以及其它數(shù)據(jù)傳輸。非易失性存儲(chǔ)器140優(yōu)選地提供 文件系統(tǒng),用以促進(jìn)設(shè)備上數(shù)據(jù)項(xiàng)的永久存儲(chǔ),其中數(shù)據(jù)項(xiàng)包括多 個(gè)日歷條目、聯(lián)系人等。例如通過蜂窩接口、短距離通信接口或者 輔助I/O接口與網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信的能力支持通過這樣網(wǎng)絡(luò)所進(jìn)行 的上傳、下載和同步。應(yīng)用模塊141到149表示設(shè)備功能或者軟件應(yīng)用,它們被配置 成由處理器100執(zhí)行。在大多數(shù)已知的移動(dòng)設(shè)備中,單個(gè)處理器管 理和控制移動(dòng)設(shè)備的全部操作以及所有的設(shè)備功能和軟件應(yīng)用。這 種概念可應(yīng)用于現(xiàn)在的移動(dòng)設(shè)備。增強(qiáng)型多媒體功能性的實(shí)現(xiàn)例如 包括通過集成的或可拆卸連接的數(shù)字相機(jī)功能性實(shí)現(xiàn)的視頻流應(yīng)用 的再現(xiàn)、數(shù)字圖像的操作以及視頻序列的捕獲。所述實(shí)現(xiàn)還可以包 括具有復(fù)雜圖形和必要計(jì)算能力的游戲應(yīng)用。處理計(jì)算能力需求的 一種方式通過實(shí)現(xiàn)強(qiáng)大且通用的處理器核來解決提高計(jì)算能力的問 題,這種方式過去被沿用。另一種提供計(jì)算能力的方法是實(shí)現(xiàn)兩個(gè) 或者更多獨(dú)立的處理器核,這是本領(lǐng)域公知的方法學(xué)。本領(lǐng)域技術(shù) 人員可以立刻理解多個(gè)獨(dú)立處理器核的優(yōu)點(diǎn)。通用處理器被設(shè)計(jì)用 于執(zhí)行多種不同任務(wù),而沒有將不同任務(wù)的預(yù)選進(jìn)行專門化,而多 處理器配置可以包括一個(gè)或更多通用處理器,以及一個(gè)或更多適于 處理預(yù)定義任務(wù)集合的專門處理器。無論如何,在一個(gè)設(shè)備中,特 別是在例如移動(dòng)設(shè)備10的移動(dòng)設(shè)備中,實(shí)現(xiàn)多個(gè)處理器傳統(tǒng)上需要 對(duì)組件進(jìn)行完全且復(fù)雜的重新設(shè)計(jì)。
下面,本發(fā)明將提供這樣的概念,其支持將附加的處理器核簡 單地集成到已有處理設(shè)備的實(shí)現(xiàn)中,從而省略代價(jià)高昂的完全且復(fù)雜的重新設(shè)計(jì)。該創(chuàng)造性概念將參考系統(tǒng)芯片(SoC)設(shè)計(jì)來描述。系統(tǒng)芯片(SoC)的概念是將處理設(shè)備的至少眾多(或所有)組件集 成到單個(gè)高集成芯片中。這樣的系統(tǒng)芯片可以包含數(shù)字、模擬、混 合信號(hào),并經(jīng)常包含射頻功能,所有這些功能都在一個(gè)芯片上。典 型的處理設(shè)備包括多個(gè)執(zhí)行不同任務(wù)的集成電路。這些集成電路特別地可以包括微處理器、存儲(chǔ)器、通用異步接收機(jī)/發(fā)射機(jī)(UART)、 串行/并行端口、直接存儲(chǔ)器訪問(DMA)控制器等。通用異步接收 機(jī)/發(fā)射機(jī)(UART)在數(shù)據(jù)的并行比特和串行比特之間進(jìn)行轉(zhuǎn)換。 半導(dǎo)體技術(shù)近來的發(fā)展使超大規(guī)模集成電路(VLSI)所能支持的復(fù) 雜性顯著增長,這使其能夠?qū)⒈姸嘞到y(tǒng)組件集成到單個(gè)芯片中。參 考圖18,其中的一個(gè)或更多組件,例如控制器130和170、存儲(chǔ)器 組件150和140、以及一個(gè)或更多接口 200、 180和110可以與處理 器IOO—起集成到單個(gè)芯片中,最終形成系統(tǒng)芯片(SoC)。而且,設(shè)備10配備有根據(jù)本發(fā)明的創(chuàng)造性操作的用于視頻數(shù)據(jù) 可伸縮編碼的模塊105和可伸縮解碼的^f莫塊106。通過CPU 100,可 以獨(dú)立地使用所述模塊105、 106。然而,設(shè)備10適于分別才丸行一見頻 數(shù)據(jù)編碼或解碼。所述視頻數(shù)據(jù)可以借助于設(shè)備的通信模塊來接收, 或者它也可以存儲(chǔ)在設(shè)備10內(nèi)任何可想象的存儲(chǔ)裝置中。視頻數(shù)據(jù) 可以在設(shè)備10和通信網(wǎng)絡(luò)的其它電子設(shè)備之間以比特流來傳送。盡管本發(fā)明是相對(duì)于其一個(gè)或多個(gè)實(shí)施方式而被描述的,但本 領(lǐng)域技術(shù)人員可以理解,在不背離本發(fā)明范圍的前提下,本發(fā)明的 形式及其細(xì)節(jié)可以進(jìn)行上述的和各種其它的改變、省略或偏差。
權(quán)利要求
1.一種使用運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波對(duì)數(shù)字視頻序列進(jìn)行編碼以用于提供具有代表已編碼視頻序列的視頻數(shù)據(jù)的比特流的方法,所述數(shù)字視頻序列包括多個(gè)幀,其中每個(gè)幀包括可被劃分成多個(gè)宏塊中的像素的陣列,所述方法包括對(duì)于宏塊,選擇宏塊模式;基于所述宏塊模式將宏塊分割為多個(gè)塊;基于關(guān)于參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng)向量來在塊上執(zhí)行預(yù)測操作,以提供相應(yīng)的預(yù)測殘差塊;以及基于關(guān)于所述預(yù)測殘差塊和所述宏塊模式的運(yùn)動(dòng)補(bǔ)償預(yù)測,并且還基于所述運(yùn)動(dòng)向量的逆向,更新所述視頻參考幀。
2. 根據(jù)權(quán)利要求1中所述的方法,其中每個(gè)塊與一個(gè)運(yùn)動(dòng)向量 相關(guān)聯(lián),所述方法還包括將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊關(guān)聯(lián)的運(yùn)動(dòng) 向量進(jìn)行比較,以提供所述一個(gè)塊的差異向量;以及如果所述差異向量大于預(yù)定值,則跳過關(guān)于所述一個(gè)塊的所述更新。
3. 根據(jù)權(quán)利要求1中所述的方法,其中所述預(yù)測殘差塊形成預(yù) 測殘差幀,所述更新包括基于插值濾波器在預(yù)測殘差幀中插值所述預(yù)領(lǐng)'J殘差塊的亞像素位置。
4. 根據(jù)權(quán)利要求3中所述的方法,其中從至少包括較短濾波器 和較長濾波器的多個(gè)濾波器中自適應(yīng)地選擇所述插值濾波器。
5. 根據(jù)權(quán)利要求4中所述的方法,其中所述選擇至少部分地基 于所述塊中預(yù)測殘差的能量水平。
6. 根據(jù)權(quán)利要求1中所述的方法,還包括將所述更新中塊的預(yù)觀'J殘差的振幅限制到至少基于所述塊中預(yù)測殘差的能量水平而確定的閾值。
7. 根據(jù)權(quán)利要求1中所述的方法,還包括將所述更新中塊的預(yù)測殘差塊的振幅限制到至少基于所述塊的 塊匹配因子而確定的閾值。
8. —種對(duì)來自代表已編碼視頻序列的比特流中視頻數(shù)據(jù)的數(shù)字 視頻序列進(jìn)行解碼的方法,所述已編碼視頻序列包括多個(gè)幀,每個(gè) 帕包括像素陣列,其中每個(gè)幀中的像素可以被劃分為多個(gè)宏塊,所 述方法包括對(duì)于宏塊,獲得宏塊模式;基于所述宏塊模式將宏塊分割為多個(gè)塊; 解碼所述塊的運(yùn)動(dòng)向量和預(yù)須'j殘差;基于根據(jù)所述宏塊模式的關(guān)于所述塊的預(yù)測殘差的運(yùn)動(dòng)補(bǔ) 償預(yù)測以及運(yùn)動(dòng)向量的逆向,在所述塊的參考視頻幀上執(zhí)行更 新操作;以及在所述塊上執(zhí)行預(yù)測操作。
9. 根據(jù)權(quán)利要求8中所述的方法,其中每個(gè)塊與一個(gè)運(yùn)動(dòng)向量 相關(guān)if關(guān),所述方法還包括將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊關(guān)聯(lián)的運(yùn)動(dòng) 向量進(jìn)行比較,以提供所述一個(gè)塊的差異向量;以及如果所述差異向量大于預(yù)定值,則跳過關(guān)于所述一個(gè)塊的所述更新。
10. 根據(jù)權(quán)利要求8中所述的方法,其中所述預(yù)測殘差塊形成預(yù) 測殘差幀,所述更新還包4舌基于插值濾波器在預(yù)觀'J殘差幀中插值所述預(yù)觀'J殘差塊的亞像素位置。
11. 根據(jù)權(quán)利要求10中所述的方法,其中從至少包括較短濾波 器和較長濾波器的多個(gè)濾波器中自適應(yīng)地選擇所述插值濾波器。
12. 根據(jù)權(quán)利要求11中所述的方法,其中所述選擇至少部分地 基于所述塊中預(yù)測殘差的能量水平。
13. 根據(jù)權(quán)利要求8中所述的方法,還包括將所述更新中塊的預(yù)測殘差的振幅限制到至少基于所述塊中預(yù) 測殘差的能量水平而確定的閾值。
14. 根據(jù)權(quán)利要求8中所述的方法,還包括將所述更新中塊的預(yù)測殘差的振幅限制到至少基于所述塊的塊 匹配因子而確定的閾值。
15. —種用于使用運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波對(duì)數(shù)字視頻序列進(jìn)行編碼塊,所述數(shù)字視頻序列包括多個(gè)幀,其中每個(gè)幀包括可被劃分成多 個(gè)宏塊中的像素的陣列,所述編碼模塊包括模式?jīng)Q定模塊,被配置用于為宏塊選擇宏塊模式,以便基于所述 宏塊模式將宏塊分割為多個(gè)塊;預(yù)測模塊,用于基于關(guān)于參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng)向 量來在所述塊上執(zhí)行預(yù)測操作,以提供相應(yīng)的預(yù)測殘差塊;以及更新模塊,用于基于關(guān)于所述預(yù)測殘差塊和所述宏塊模式的運(yùn)動(dòng) 補(bǔ)償預(yù)測,并且還基于所述運(yùn)動(dòng)向量的逆向,更新所述視頻參考幀。
16. 根據(jù)權(quán)利要求15中所述的編碼模塊,其中每個(gè)塊與一個(gè)運(yùn) 動(dòng)向量相關(guān)聯(lián),所述編碼模塊還包括處理器,用于將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊 關(guān)聯(lián)的運(yùn)動(dòng)向量進(jìn)行比較以提供所述一個(gè)塊的差異向量;使得當(dāng)所 述差異向量大于預(yù)定值時(shí),所述更新模塊被配置為跳過關(guān)于所述一 個(gè)塊的所述更新。
17. 根據(jù)權(quán)利要求15中所述的編碼模塊,其中所述預(yù)測殘差塊 形成預(yù)測殘差幀,所述編碼模塊還包括插值濾波器模塊,用于基于插值濾波器在預(yù)測殘差幀中插值所述 預(yù)測殘差塊的亞像素位置。
18. 根據(jù)權(quán)利要求17中所述的編碼模塊,其中所述插值濾波器 從至少包括較短濾波器和較長濾波器的多個(gè)濾波器中自適應(yīng)地選擇。
19. 根據(jù)權(quán)利要求18中所述的編碼模塊,其中所述選擇至少部 分地基于所述塊中預(yù)測殘差的能量水平。
20. 根據(jù)權(quán)利要求15中所述的編碼模塊,還包括振幅控制模塊,用于將所述更新中塊的預(yù)測殘差的振幅限制到至 少基于所述塊中預(yù)測殘差的能量水平而確定的閾值。
21. 根據(jù)權(quán)利要求15中所述的編碼模塊,還包括振幅控制模塊,用于將所述更新中塊的預(yù)測殘差的振幅限制到至 少基于所述塊的塊匹配因子而確定的閾值。
22. —種用于對(duì)來自代表已編碼視頻序列的比特流中視頻數(shù)據(jù) 的數(shù)字視頻序列進(jìn)行解碼的解碼模塊,所述已編碼視頻序列包括多 個(gè)幀,每個(gè)幀包括像素陣列,其中每個(gè)幀中的像素可以被劃分為多 個(gè)宏塊,所述解碼模塊包括第一解碼子模塊,用于響應(yīng)于視頻數(shù)據(jù)而解碼宏塊模式,以便基 于所述宏塊模式將宏塊分割為多個(gè)塊;第二解碼子模塊,用于解碼所述塊的運(yùn)動(dòng)向量和預(yù)測殘差;更新模塊,用于基于根據(jù)所述宏塊模式的關(guān)于所述塊的預(yù)測殘差 的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng)向量的逆向,在所述塊的參考視頻幀上執(zhí) 行更新操作;以及運(yùn)動(dòng)向量,在所述塊上執(zhí)行預(yù)測操作。
23. 根據(jù)權(quán)利要求22中所述的解碼模塊,其中每個(gè)塊與一個(gè)運(yùn) 動(dòng)向量相關(guān)聯(lián),所述解碼模塊還包括處理器,用于將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊 關(guān)聯(lián)的運(yùn)動(dòng)向量進(jìn)行比較以提供所述一個(gè)塊的差異向量;使得當(dāng)所 述差異向量大于預(yù)定值時(shí),所述更新模塊被配置為跳過關(guān)于所述一 個(gè)塊的所述更新。
24. 根據(jù)權(quán)利要求22中所述的解碼模塊,其中所述預(yù)測殘差塊 形成預(yù)測殘差幀,所述解碼模塊還包括插值濾波器模塊,用于基于插值濾波器在預(yù)測殘差幀中插值所述 預(yù)觀"殘差塊的亞像素位置。
25. 根據(jù)權(quán)利要求24中所述的解碼模塊,其中所述插值濾波器 從至少包括較短濾波器和較長濾波器的多個(gè)濾波器中自適應(yīng)地選 擇。
26. 根據(jù)權(quán)利要求25中所述的解碼模塊,其中所述選擇至少部 分地基于所述塊中預(yù)測殘差的能量水平。
27. 根據(jù)權(quán)利要求22中所述的解碼模塊,還包括振幅控制模塊,用于將所述更新中塊的預(yù)測殘差的振幅限制到至 少基于所述塊中預(yù)測殘差的能量水平而確定的閾值。
28. 根據(jù)權(quán)利要求22中所述的解碼模塊,還包括振幅控制模塊,用于將所述更新中塊的預(yù)測殘差的振幅限制到至 少基于所述塊的塊匹配因子而確定的閾值。
29. —種軟件程序產(chǎn)品,包括具有軟件應(yīng)用的存儲(chǔ)介質(zhì),所述軟 件應(yīng)用用于使用運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波對(duì)數(shù)字視頻序列進(jìn)行編碼,以提列包括多個(gè)幀,其中每個(gè)幀包括可被劃分成多個(gè)宏塊的像素的陣列, 所述軟件應(yīng)用包括用于選擇宏塊模式的程序代碼;用于基于所述宏塊模式將宏塊分割為多個(gè)塊的程序代碼;用于基于關(guān)于參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng)向量來在塊上執(zhí)行預(yù)測操作以提供相應(yīng)的預(yù)測殘差塊的軟件代碼;以及用于基于關(guān)于所述預(yù)測殘差塊和所述宏塊模式的運(yùn)動(dòng)補(bǔ)償預(yù)測 并且還基于所述運(yùn)動(dòng)向量的逆向更新所述視頻參考幀的軟件代碼。
30. 根據(jù)權(quán)利要求29中所述的軟件應(yīng)用產(chǎn)品,其中每個(gè)塊與一 個(gè)運(yùn)動(dòng)向量相關(guān)聯(lián),所述軟件應(yīng)用產(chǎn)品還包括用于將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊關(guān)聯(lián)的 運(yùn)動(dòng)向量進(jìn)行比較以提供所述一個(gè)塊的差異向量并且在所述差異向量大于預(yù)定值時(shí)跳過關(guān)于所述一個(gè)塊的所述更新的程序代碼。
31. —種軟件應(yīng)用產(chǎn)品,包括具有軟件應(yīng)用的存儲(chǔ)介質(zhì),所述軟視頻序列進(jìn)行解碼,所述已編碼視頻序列包括多個(gè)幀,每個(gè)幀包括 像素陣列,其中每個(gè)幀中的像素可以被劃分為多個(gè)宏塊,所述軟件應(yīng)用包括用于針對(duì)宏塊從視頻數(shù)據(jù)中獲得宏塊模式的程序代碼; 用于基于所述宏塊模式將宏塊分割為多個(gè)塊的程序代碼; 用于解碼所述塊的運(yùn)動(dòng)向量和預(yù)測殘差的程序代碼; 用于基于根據(jù)所述宏塊模式的關(guān)于所述塊的預(yù)測殘差的運(yùn)動(dòng)補(bǔ)作的程序代碼;以及在所述塊上執(zhí)行預(yù)測操作的程序代碼。
32. 根據(jù)權(quán)利要求31中所述的軟件應(yīng)用產(chǎn)品,其中每個(gè)塊與一 個(gè)運(yùn)動(dòng)向量相關(guān)聯(lián),所述軟件應(yīng)用產(chǎn)品還包括用于將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊關(guān)聯(lián)的 運(yùn)動(dòng)向量進(jìn)行比較以提供所述一個(gè)塊的差異向量并且在所述差異向 量大于預(yù)定值時(shí)跳過關(guān)于所述一個(gè)塊的所述更新的程序代碼。
33. —種被配置用以獲取數(shù)字視頻序列的移動(dòng)終端,包括供具有代表已編碼視頻序列的視頻數(shù)據(jù)的比特流,所述數(shù)字視頻序 列包括多個(gè)幀,其中每個(gè)幀包括可被劃分成多個(gè)宏塊的像素的陣列, 所述編碼模塊包括模式?jīng)Q定模塊,被配置用于為宏塊選擇宏塊模式,以便基于所述宏塊模式將宏塊分割為多個(gè)塊;量,來在塊上執(zhí)行預(yù)測操作,以提供相應(yīng)的預(yù)測殘差塊;以及更新模塊,用于基于關(guān)于所述預(yù)測殘差塊和所述宏塊模式的運(yùn)動(dòng) 補(bǔ)償預(yù)測,并且還基于所述運(yùn)動(dòng)向量的逆向,更新所述—見頻參考幀。
34. 根據(jù)權(quán)利要求33中所述的移動(dòng)終端,還被配置用以接收代 表已編碼視頻序列的視頻數(shù)據(jù),所述移動(dòng)終端還包括解碼模塊,用于解碼來自視頻數(shù)據(jù)的已編碼視頻序列,所述已編碼視頻序列包括多個(gè)幀,每個(gè)幀包括像素陣列,其中每個(gè)幀中的像 素可以被劃分為多個(gè)宏塊,所述解碼模塊包括第一解碼子模塊,用于響應(yīng)于視頻數(shù)據(jù)而解碼宏塊模式,以便基 于所述宏塊模式將宏塊分割為多個(gè)塊;第二解碼子模塊,用于解碼所述塊的運(yùn)動(dòng)向量和預(yù)測殘差;更新模塊,用于基于根據(jù)所述宏塊模式的關(guān)于所述塊的預(yù)測殘差 的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng)向量的逆向,在所述塊的參考視頻幀上執(zhí) 行更新操作;以及預(yù)測模塊,用于基于關(guān)于已更新參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù)測以及 運(yùn)動(dòng)向量,在所述塊上執(zhí)行預(yù)測操作。
35. —種用于使用運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波對(duì)數(shù)字視頻序列進(jìn)行編碼 以用于提供具有代表已編碼視頻序列的視頻數(shù)據(jù)的比特流的編碼模 塊,所述數(shù)字視頻序列包括多個(gè)幀,其中每個(gè)幀包括可被劃分成多 個(gè)宏塊的像素的陣列,所述編碼模塊包括裝置,用于為宏塊選擇宏塊模式,以便基于所述宏塊模式將宏塊 分割為多個(gè)塊;在所述塊上執(zhí)行預(yù)測操作以提供相應(yīng)的預(yù)測殘差塊;以及裝置,用于基于關(guān)于所述預(yù)測殘差塊和所述宏塊模式的運(yùn)動(dòng)補(bǔ)償 預(yù)測并且還基于所述運(yùn)動(dòng)向量的逆向來更新所述視頻參考幀。
36. 根據(jù)權(quán)利要求35中所述的編碼模塊,其中每個(gè)塊與一個(gè)運(yùn) 動(dòng)向量相關(guān)聯(lián),所述編碼模塊還包括裝置,用于將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊關(guān) 聯(lián)的運(yùn)動(dòng)向量進(jìn)行比較以提供所述一個(gè)塊的差異向量;使得當(dāng)所述 差異向量大于預(yù)定值時(shí),所述更新模塊被配置為跳過關(guān)于所述一個(gè) 塊的所述更新。
37. —種用于對(duì)來自代表已編碼一見頻序列的比特流中視頻數(shù)據(jù)的 數(shù)字視頻序列進(jìn)行解碼的解碼模塊,所述已編碼視頻序列包括多個(gè) 幀,每個(gè)幀包括像素陣列,其中每個(gè)幀中的像素可以被劃分為多個(gè)宏塊,所述解碼模塊包括裝置,用于響應(yīng)于視頻數(shù)據(jù)而解碼宏塊模式以便基于所述宏塊模式將宏塊分割為多個(gè)塊;裝置,用于解碼所述塊的運(yùn)動(dòng)向量和預(yù)測殘差;裝置,用于基于根據(jù)所述宏塊模式的關(guān)于所述塊的預(yù)測殘差的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng)向量的逆向來在所述塊的參考視頻幀上執(zhí)行更新操作;以及裝置,用于基于關(guān)于已更新參考視頻幀的運(yùn)動(dòng)補(bǔ)償預(yù)測以及運(yùn)動(dòng) 向量來在所述塊上執(zhí)行預(yù)測操作。
38. 根據(jù)權(quán)利要求37中所述的解碼模塊,其中每個(gè)塊與一個(gè)運(yùn)動(dòng)向量相關(guān)聯(lián),所述解碼模塊還包括用于將與所述塊中的一個(gè)塊關(guān)聯(lián)的運(yùn)動(dòng)向量和與相鄰塊關(guān)聯(lián)的運(yùn)動(dòng)向量進(jìn)行比較以提供所述一個(gè)塊的差異向量的裝置;使得當(dāng)所 述差異向量大于預(yù)定值時(shí),所述更新模塊被配置為跳過關(guān)于所述一 個(gè)塊的所述更新。
全文摘要
本發(fā)明提供了在用于視頻編碼的運(yùn)動(dòng)補(bǔ)償時(shí)域?yàn)V波中執(zhí)行更新操作的方法和模塊。根據(jù)預(yù)測殘差幀中的編碼塊來執(zhí)行更新操作。依賴于預(yù)測步驟中的宏塊模式,編碼塊可以具有不同的大小。宏塊模式用以規(guī)定宏塊如何被分割為塊。在預(yù)測步驟中,運(yùn)動(dòng)向量的逆向被直接用作更新運(yùn)動(dòng)向量,因而無需執(zhí)行運(yùn)動(dòng)向量推導(dǎo)過程。明顯偏離其相鄰運(yùn)動(dòng)向量的運(yùn)動(dòng)向量被視為不可靠的并在更新步驟中被排除。自適應(yīng)濾波器被用來插值用于更新操作的預(yù)測殘差塊。自適應(yīng)濾波器是較短濾波器和較長濾波器的自適應(yīng)組合。
文檔編號(hào)H04N7/26GK101213842SQ200680023661
公開日2008年7月2日 申請(qǐng)日期2006年6月29日 優(yōu)先權(quán)日2005年6月29日
發(fā)明者J·里奇, M·卡克扎威克茲, 王祥林, 鮑亦亮 申請(qǐng)人:諾基亞公司