專利名稱:有效率的預(yù)測模式選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻,且更確切地說,涉及用于譯碼數(shù)字視頻數(shù)據(jù)的技術(shù)。
背景技術(shù):
已開發(fā)出許多視頻編碼及解碼技術(shù)以用于編碼及解碼數(shù)字視頻數(shù)據(jù)。舉例來說, 動畫專家組(Moving Picture Experts Group, MPEG)已開發(fā)出包括 MPEG-1、MPEG-2 及 MPEG-4的若干技術(shù)。其它實(shí)例包括國際電信聯(lián)盟(International Telecommunication Union, ITU) -T H. 263 標(biāo)準(zhǔn),以及 ITU-T H. 264 標(biāo)準(zhǔn)及其對等者 IS0/IEC MPEG-4 第 10 部分 (即,高級視頻譯碼(Advanced Video Coding, AVC)) 0這些視頻標(biāo)準(zhǔn)通過以壓縮方式來編碼數(shù)據(jù)以減少數(shù)據(jù)的量而支持視頻數(shù)據(jù)的有效率發(fā)射及存儲。視頻壓縮可涉及空間及/或時間預(yù)測以減少在視頻序列中固有的冗余。幀內(nèi)譯碼(intra-coding)使用空間預(yù)測以減少同一視頻幀內(nèi)的視頻塊的空間冗余。幀間譯碼 (inter-coding)使用時間預(yù)測以減少逐次視頻幀中的視頻塊之間的時間冗余。對于幀間譯碼,視頻編碼器執(zhí)行運(yùn)動估計(jì)以產(chǎn)生指示視頻塊相對于一個或一個以上參考幀中的對應(yīng)預(yù)測視頻塊的位移的運(yùn)動向量。源裝置可使用上述視頻編碼技術(shù)中的一者來編碼數(shù)字視頻數(shù)據(jù)。源裝置將經(jīng)編碼視頻數(shù)據(jù)存檔及/或經(jīng)由發(fā)射信道而將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的裝置。發(fā)射信道可利用有線及/或無線通信媒體。目的裝置接收經(jīng)編碼視頻數(shù)據(jù)且解碼所接收視頻數(shù)據(jù)以恢復(fù)原始數(shù)字視頻數(shù)據(jù)以供播放。許多裝置包括編碼器及解碼器兩者,編碼器及解碼器可組合成所謂的編解碼器。
發(fā)明內(nèi)容
總地來說,本發(fā)明描述用于有效率地選擇用以根據(jù)至少兩個參考經(jīng)譯碼單元預(yù)測視頻數(shù)據(jù)的第三經(jīng)譯碼單元(其可被稱為預(yù)測性經(jīng)譯碼單元)的預(yù)測模式的技術(shù)。參考經(jīng)譯碼單元指代先前已經(jīng)譯碼且提供用以預(yù)測預(yù)測性經(jīng)譯碼單元的基礎(chǔ)的經(jīng)譯碼單元。值得注意的是,這些參考經(jīng)譯碼單元可在時間上駐留于預(yù)測性經(jīng)譯碼單元之前或之后。通常,視頻編碼器實(shí)施所述技術(shù)以通過減少為選擇預(yù)測模式所需要的預(yù)測性譯碼遍(coding pass) 的數(shù)目來改進(jìn)譯碼效率。由于所述技術(shù)可減少為選擇適當(dāng)預(yù)測模式所必要的譯碼遍(其通??杀环Q為計(jì)算操作)的數(shù)目,所以所述技術(shù)也可促進(jìn)有效率的功率消耗。換句話說,視頻編碼器可從多種預(yù)測模式中智能地預(yù)選擇一預(yù)測模式而不必實(shí)施所述預(yù)測模式中的每一者,且接著對每一預(yù)測的結(jié)果執(zhí)行比較分析以選擇多種預(yù)測模式中的一最適當(dāng)預(yù)測模式。更確切地說,視頻編碼器可實(shí)施本發(fā)明的技術(shù)以有效率地選擇用以預(yù)測被稱為B 幀的特定類型的預(yù)測性經(jīng)譯碼單元的視頻數(shù)據(jù)單元的運(yùn)動補(bǔ)償雙向預(yù)測模式。作為一個實(shí)例,在ITU-T H. 264標(biāo)準(zhǔn)及其對等者ISO/IEC MPEG-4第10部分(即,高級視頻譯碼(AVC) 標(biāo)準(zhǔn))內(nèi),定義三種運(yùn)動補(bǔ)償雙向預(yù)測模式以用于預(yù)測B幀的視頻數(shù)據(jù)單元。這些雙向預(yù)測模式中的每一者根據(jù)至少兩個參考視頻數(shù)據(jù)單元預(yù)測B幀的視頻數(shù)據(jù)單元,其中參考視頻數(shù)據(jù)單元中的每一者包括于在視頻數(shù)據(jù)中在時間上出現(xiàn)于B幀之前或之后的單獨(dú)或不同參考經(jīng)譯碼單元(例如,I幀或P幀)內(nèi)。 第一模式被稱為默認(rèn)加權(quán)預(yù)測模式,其將默認(rèn)或已知權(quán)重施加于參考塊中的每一者以(例如)平均化參考視頻單元的像素值且借此預(yù)測B幀的預(yù)測性視頻數(shù)據(jù)單元。第二模式被稱為顯式加權(quán)預(yù)測模式,其中權(quán)重是通過視頻編碼器進(jìn)行顯式地定義且用以修整預(yù)測性視頻數(shù)據(jù)單元的預(yù)測。第三模式被稱為隱式加權(quán)預(yù)測模式,其中權(quán)重是通過視頻編碼器經(jīng)由分別分析參考經(jīng)譯碼單元或參考經(jīng)譯碼單元的參考視頻數(shù)據(jù)單元進(jìn)行隱式地確定以預(yù)測預(yù)測性經(jīng)譯碼單元。視頻編碼器可根據(jù)本發(fā)明的技術(shù)而僅有效率地執(zhí)行這三種預(yù)測模式中的兩者以僅產(chǎn)生第三經(jīng)譯碼單元的兩種版本,而非執(zhí)行這些預(yù)測模式中的所有三者以產(chǎn)生三種版本。結(jié)果,視頻編碼器可僅需要分析兩種版本而非三種版本以確定兩種版本中的哪一者更適當(dāng)?shù)乇硎疽曨l數(shù)據(jù)的對應(yīng)部分。在此方面,視頻編碼器可減少計(jì)算操作(例如,預(yù)測譯碼遍)的數(shù)目,同時還促進(jìn)有效率的功率消耗。在一個方面中,提供一種編碼視頻數(shù)據(jù)的方法,所述方法包含接收視頻數(shù)據(jù)的第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,其中第一經(jīng)譯碼單元及第二經(jīng)譯碼單元中的每一者各自包含相應(yīng)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元;執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本,其中兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于預(yù)測性經(jīng)譯碼單元之前或之后;及計(jì)算預(yù)測性視頻數(shù)據(jù)單元的第一版本的偏移值。所述方法進(jìn)一步包含基于經(jīng)計(jì)算偏移值而選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式;執(zhí)行選定模式以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測預(yù)測性視頻數(shù)據(jù)單元的第二版本;及將預(yù)測性視頻數(shù)據(jù)單元編碼為第一版本或第二版本。在另一方面中,提供一種編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻編碼器,視頻編碼器包括存儲器,其存儲第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,其中第一參考經(jīng)譯碼單元包括第一參考視頻數(shù)據(jù)單元且第二參考經(jīng)譯碼單元包括第二參考視頻數(shù)據(jù)單元;及運(yùn)動補(bǔ)償單元。運(yùn)動補(bǔ)償單元進(jìn)行以下動作執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本,其中兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于預(yù)測性經(jīng)譯碼單元之前或之后;計(jì)算預(yù)測性視頻數(shù)據(jù)單元的第一版本的偏移值;基于經(jīng)計(jì)算偏移值而選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式;執(zhí)行選定模式以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測預(yù)測性視頻數(shù)據(jù)單元的第二版本;及將預(yù)測性視頻數(shù)據(jù)單元編碼為第一版本或第二版本。在另一方面中,提供一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含用于編碼視頻數(shù)據(jù)的裝置。用于編碼視頻數(shù)據(jù)的裝置包括用于存儲視頻數(shù)據(jù)的第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元的裝置,其中第一參考經(jīng)譯碼單元包括第一參考視頻數(shù)據(jù)單元且第二參考經(jīng)譯碼單元包括第二參考視頻數(shù)據(jù)單元;及用于執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本的裝置,其中兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于預(yù)測性經(jīng)譯碼單元之前或之后。用于編碼視頻數(shù)據(jù)的裝置包括用于計(jì)算預(yù)測性視頻數(shù)據(jù)單元的第一版本的偏移值的裝置;用于基于經(jīng)計(jì)算偏移值而執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測而非此兩者以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測預(yù)測性視頻數(shù)據(jù)單元的第二版本的裝置;及用于將預(yù)測性視頻數(shù)據(jù)單元編碼為第一版本或第二版本的裝置。在另一方面中,提供一種計(jì)算機(jī)可讀媒體,其包含用于使可編程處理器進(jìn)行以下動作的指令接收視頻數(shù)據(jù)的第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,其中第一經(jīng)譯碼單元及第二經(jīng)譯碼單元中的每一者各自包含相應(yīng)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元;執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本,其中兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于預(yù)測性經(jīng)譯碼單元之前或之后;計(jì)算預(yù)測性視頻數(shù)據(jù)單元的第一版本的偏移值;基于經(jīng)計(jì)算偏移值而選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式; 執(zhí)行選定模式以根據(jù)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測預(yù)測性視頻數(shù)據(jù)單元的第二版本;及將預(yù)測性視頻數(shù)據(jù)單元編碼為第一版本或第二版本。在下文的隨附圖式及描述中闡述本發(fā)明的一個或一個以上實(shí)施例的細(xì)節(jié)。本發(fā)明的其它特征、目標(biāo)及優(yōu)點(diǎn)將通過所述描述及圖式以及通過權(quán)利要求書變得顯而易見。
圖1為說明可實(shí)施本發(fā)明的技術(shù)的示范性視頻編碼及解碼系統(tǒng)的框圖。圖2為說明可執(zhí)行符合本發(fā)明的偏移技術(shù)的視頻編碼器的實(shí)例的框圖。圖3為更詳細(xì)地說明圖2所示的運(yùn)動補(bǔ)償單元的實(shí)例的框圖。圖4為說明視頻編碼器在執(zhí)行本發(fā)明中所描述的技術(shù)時的實(shí)例操作的流程圖。圖5為更詳細(xì)地說明視頻編碼器在執(zhí)行本發(fā)明中所描述的技術(shù)時的實(shí)例操作的流程圖。圖6為說明經(jīng)譯碼單元的實(shí)例時間次序序列的圖解。
具體實(shí)施例方式大體來說,本發(fā)明描述用于有效率地選擇用以根據(jù)至少兩個參考經(jīng)譯碼單元預(yù)測視頻數(shù)據(jù)的第三經(jīng)譯碼單元(其可被稱為預(yù)測性經(jīng)譯碼單元)的預(yù)測模式的技術(shù)。參考經(jīng)譯碼單元指代先前已經(jīng)譯碼且提供用以預(yù)測第三經(jīng)譯碼單元的基礎(chǔ)的經(jīng)譯碼單元。值得注意的是,這些參考經(jīng)譯碼單元可在時間上駐留于第三經(jīng)譯碼單元之前或之后。通常,視頻編碼器實(shí)施所述技術(shù)以通過減少選擇預(yù)測模式所需要的預(yù)測性譯碼遍的數(shù)目來改進(jìn)譯碼效率。由于所述技術(shù)可減少選擇最佳或更適當(dāng)預(yù)測模式所必要的譯碼遍(其通常可被稱為計(jì)算操作)的數(shù)目,所以所述技術(shù)還可促進(jìn)有效率的功率消耗。換句話說,視頻編碼器可從多種預(yù)測模式中智能地預(yù)選擇一預(yù)測模式而不必實(shí)施所述預(yù)測模式中的每一者,且接著對每一預(yù)測的結(jié)果執(zhí)行比較分析以選擇最適當(dāng)?shù)念A(yù)測模式。更確切地說,視頻編碼器可實(shí)施本發(fā)明的技術(shù)以有效率地選擇用以預(yù)測被稱為B 幀的特定類型的預(yù)測性經(jīng)譯碼單元的視頻數(shù)據(jù)單元的運(yùn)動補(bǔ)償雙向預(yù)測模式。作為一個實(shí)例,在ITU-T H. 264標(biāo)準(zhǔn)及其對等者ISO/IEC MPEG-4第10部分(即,高級視頻譯碼(AVC) 標(biāo)準(zhǔn))內(nèi),定義三種運(yùn)動補(bǔ)償雙向預(yù)測模式以用于預(yù)測B幀的視頻數(shù)據(jù)單元。這些雙向預(yù)測模式中的每一者根據(jù)至少兩個參考視頻數(shù)據(jù)單元預(yù)測B幀的視頻數(shù)據(jù)單元,其中參考視頻數(shù)據(jù)單元中的每一者包括于在時間上出現(xiàn)于B幀之前或之后的單獨(dú)或不同參考經(jīng)譯碼單元(例如,I幀或P幀)內(nèi)。 第一模式被稱為默認(rèn)加權(quán)預(yù)測模式,其將默認(rèn)或已知權(quán)重施加于參考塊中的每一者以(例如)平均化參考視頻單元的像素值且借此預(yù)測B幀的預(yù)測性視頻數(shù)據(jù)單元。第二模式被稱為顯式加權(quán)預(yù)測模式,其中權(quán)重是通過視頻編碼器進(jìn)行顯式地定義。第三模式被稱為隱式加權(quán)預(yù)測模式,其中權(quán)重是通過視頻編碼器經(jīng)由分別分析參考經(jīng)譯碼單元或參考經(jīng)譯碼單元的參考視頻數(shù)據(jù)單元進(jìn)行隱式地確定以預(yù)測預(yù)測性經(jīng)譯碼單元。關(guān)于顯式加權(quán)預(yù)測模式,視頻編碼器顯式地編碼權(quán)重,因此,名稱為“顯式”加權(quán)預(yù)測。關(guān)于隱式加權(quán)預(yù)測模式,視頻編碼器并不顯式地編碼權(quán)重,相反,解碼器利用與由視頻編碼器所使用的權(quán)重確定算法相同的權(quán)重確定算法來確定權(quán)重。換句話說,視頻編碼器隱式地編碼權(quán)重,且要求解碼器執(zhí)行額外操作以確定相同權(quán)重,而非顯式地編碼權(quán)重且借此使解碼器減輕必須執(zhí)行這些額外操作。視頻編碼器可根據(jù)本發(fā)明的技術(shù)而僅有效率地執(zhí)行這三種預(yù)測模式中的兩者以僅產(chǎn)生第三經(jīng)譯碼單元的兩種版本,而非執(zhí)行這些預(yù)測模式中的所有三者以產(chǎn)生三種版本。結(jié)果,視頻編碼器可僅需要分析兩種版本而非三種版本以確定兩種版本中的哪一者更適當(dāng)?shù)乇硎疽曨l數(shù)據(jù)的對應(yīng)部分。在此方面,視頻編碼器可減少計(jì)算操作(例如,預(yù)測譯碼遍)的數(shù)目,同時還促進(jìn)有效率的功率消耗。圖1為說明可實(shí)施本發(fā)明的技術(shù)的一個示范性視頻編碼及解碼系統(tǒng)10的框圖。如圖1所示,系統(tǒng)10包括經(jīng)由通信信道15而將經(jīng)編碼視頻發(fā)射到目的裝置16的源裝置12。 源裝置12及目的裝置16可包含各種各樣的裝置中的任一者。在一些狀況下,源裝置12及目的裝置16包含無線通信裝置,例如,無線手持機(jī)(所謂的蜂窩式或衛(wèi)星無線電電話),或可經(jīng)由通信信道15而傳達(dá)視頻信息的任何無線裝置(在所述狀況下,通信信道15是無線的)。然而,涉及預(yù)測經(jīng)譯碼單元的預(yù)測算法或模式的有效率選擇的本發(fā)明的技術(shù)未必限于無線應(yīng)用或設(shè)定。在圖1的實(shí)例中,源裝置12可包括視頻源20、視頻編碼器22、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)23及發(fā)射器24。目的裝置16可包括接收器26、調(diào)制解調(diào)器27、視頻解碼器28 及顯示裝置30。根據(jù)本發(fā)明,源裝置12的視頻編碼器22可經(jīng)配置以應(yīng)用本發(fā)明的有效率選擇技術(shù)中的一者或一者以上以作為視頻編碼過程的一部分。圖1的所說明系統(tǒng)10僅是示范性的。本發(fā)明的有效率選擇技術(shù)可通過支持運(yùn)動補(bǔ)償預(yù)測的任何編碼裝置執(zhí)行。源裝置12及目的裝置16僅為這些譯碼裝置的實(shí)例,其中源裝置12產(chǎn)生用于發(fā)射到目的裝置16的經(jīng)譯碼視頻數(shù)據(jù)。裝置12、16可用大體上對稱方式而操作,使得裝置12、16中的每一者包括視頻編碼及解碼組件。因此,系統(tǒng)10可支持視頻裝置12、16之間的單向或雙向視頻發(fā)射(例如)以用于視頻流式傳輸、視頻播放、視頻廣播或視頻電話。源裝置12的視頻源20可包括例如攝像機(jī)的視頻捕捉裝置(video capture device)、含有先前捕捉的視頻的視頻檔案(video archive),或來自視頻內(nèi)容提供者的視頻饋送(video feed)。作為另一替代例,視頻源20可產(chǎn)生作為 源視頻的基于計(jì)算機(jī)圖形的數(shù)據(jù),或?qū)崨r轉(zhuǎn)播視頻、經(jīng)存檔視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些狀況下,如果視頻源20為攝像機(jī),則源裝置12及目的裝置16可形成所謂的相機(jī)電話或視頻電話。在每一狀況下,經(jīng)捕捉視頻、經(jīng)預(yù)捕捉視頻或計(jì)算機(jī)產(chǎn)生的視頻均可通過視頻編碼器22編碼。經(jīng)編碼視頻信息可接著通過調(diào)制解調(diào)器23根據(jù)通信標(biāo)準(zhǔn)(例如,碼分多址(CDMA)或另一通信標(biāo)準(zhǔn))進(jìn)行調(diào)制,且經(jīng)由發(fā)射器24而發(fā)射到目的裝置16。調(diào)制解調(diào)器23可包括各種混頻器、濾波器、放大器或經(jīng)設(shè)計(jì)以用于信號調(diào)制的其它組件。發(fā)射器24可包括經(jīng)設(shè)計(jì)以用于發(fā)射數(shù)據(jù)的電路,包括放大器、濾波器及一個或一個以上天線。目的裝置16的接收器26經(jīng)由信道15而接收信息,且調(diào)制解調(diào)器27解調(diào)所述信息。同樣,視頻編碼過程可實(shí)施本文中所描述的技術(shù)中的一者或一者以上以在運(yùn)動補(bǔ)償期間有效率地預(yù)測經(jīng)譯碼單元。經(jīng)由信道15而傳達(dá)的信息可包括由視頻編碼器22定義的信息,其也由視頻解碼器28使用。顯示裝置30向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包含各種顯示裝置中的任一者,例如,陰極射線管、液晶顯示器(IXD)、等離子顯示器、有機(jī)發(fā)光二極管 (OLED)顯示器或另一類型的顯示裝置。在圖1的實(shí)例中,通信信道15可包含任何無線或有線通信媒體,例如,射頻(RF) 頻譜或一個或一個以上物理傳輸線,或無線媒體與有線媒體的任何組合。通信信道15可形成例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或全球網(wǎng)(例如,包含一個或一個以上網(wǎng)絡(luò)的互連的因特網(wǎng))的基于包的網(wǎng)絡(luò)的一部分。通信信道15大體上表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的裝置16的任何合適通信媒體或不同通信媒體的集合。通信信道15可包括可用于促進(jìn)從源裝置12到目的裝置16的通信的路由器、交換器、基站或任何其它設(shè)備。視頻編碼器22及視頻解碼器28可根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如,ITU-T H. 264標(biāo)準(zhǔn), 或者被描述為MPEG-4第10部分(高級視頻譯碼(AVC))而操作。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。盡管圖1中未展示,但在一些方面中,視頻編碼器22及視頻解碼器 28可各自與音頻編碼器及解碼器集成,且可包括適當(dāng)MUX-DEMUX單元或其它硬件及軟件, 以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻及視頻兩者的編碼。如果適用,MUX-DEMUX單元可遵照ITU H. 223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(user datagram protocol,UDP) 的其它協(xié)議。ITU-T H. 264/MPEG-4 (AVC)標(biāo)準(zhǔn)是由 ITU-T 視頻譯碼專家組(Video Coding Experts Group, VCEG)連同IS0/IEC動畫專家組(MPEG)制定以作為被稱為聯(lián)合視頻小組 (Joint Video Team, JVT)的集體伙伴關(guān)系的產(chǎn)品。在一些方面中,本發(fā)明中所描述的技術(shù)可應(yīng)用于大體上遵照H. 264標(biāo)準(zhǔn)的裝置。H. 264標(biāo)準(zhǔn)是由ITU-T研究組描述于ITU-T推薦標(biāo)準(zhǔn)H. 264 (用于通用視聽服務(wù)的高級視頻譯碼(Advanced Video Coding for generic audiovisual services))中且日期為2005年3月,其在本文中可被稱為H. 264標(biāo)準(zhǔn)或 H. 264規(guī)范或H. 264/AVC標(biāo)準(zhǔn)或規(guī)范。聯(lián)合視頻小組(JVT)繼續(xù)致力于對H. 264/MPEG-4AVC 的擴(kuò)展。最近,在ITU-T的各種網(wǎng)絡(luò)論壇(例如,關(guān)鍵技術(shù)領(lǐng)域(Key Technologies Area, KTA)網(wǎng)絡(luò)論壇)中已開始致力于推進(jìn)H. 264/MPEG-4AVC標(biāo)準(zhǔn)。KTA網(wǎng)絡(luò)論壇在某種程度上探求展現(xiàn)比通過H. 264/AVC標(biāo)準(zhǔn)所展現(xiàn)的譯碼效率高的譯碼效率的譯碼技術(shù)。本發(fā)明中所描述的技術(shù)可提供比在H. 264/AVC標(biāo)準(zhǔn)中所提供的預(yù)測模式選擇更有效率的預(yù)測模式選擇。最近,KTA網(wǎng)絡(luò)論壇接收到在各種方面中詳述這些技術(shù)的文檔,所述文檔是由拉赫爾·潘切爾(Rahul Panchal)及馬莎·卡茲威茲(Marta Karczewicz)提交,編號為 VCEG-AJ25,名為“簡化JMKTA 2. O軟件的實(shí)驗(yàn)結(jié)果(Experimental Results on Simplified JMKTA 2. O Software),,(其是于2008年10月8日到10日期間在加利福尼亞州圣地亞哥市舉行的第36次會議上提出),其全文以引用的方式并入本文中。視頻編碼器22及視頻解碼器28可各 自實(shí)施為一個或一個以上微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、 固件或其任何組合。視頻編碼器22及視頻解碼器28中的每一者可包括于一個或一個以上編碼器或解碼器中,其中的任一者可集成為相應(yīng)移動裝置、用戶裝置、廣播裝置、服務(wù)器等中的組合式編碼器/解碼器(CODEC)的一部分。一視頻序列通常包括一系列視頻幀。視頻編碼器22對各個視頻幀內(nèi)的視頻塊進(jìn)行操作,以便編碼視頻數(shù)據(jù)。視頻塊可具有固定或變化的大小,且可根據(jù)規(guī)定譯碼標(biāo)準(zhǔn)而在大小上不同。每一視頻幀包括一系列片斷(slice)。每一片斷可包括一系列宏塊,其可排列為子塊。作為一實(shí)例,ITU-T 11.264標(biāo)準(zhǔn)支持例如用于亮度分量的16\16、8\8或4\4及用于色度分量的8X8的各種塊大小的幀內(nèi)預(yù)測,以及例如用于亮度分量的16X16、16X8、 8X16、8X8、8X4、4X8及4X4及用于色度分量的對應(yīng)經(jīng)按比例縮放的各種塊大小的幀間預(yù)測。視頻塊可包含像素?cái)?shù)據(jù)的塊,或變換系數(shù)的塊,例如,在例如離散余弦變換或概念上類似的變換過程的變換過程之后。較小視頻塊可提供較好分辨率,且可用于包括高等級的細(xì)節(jié)的視頻幀的位置。一般來說,可將宏塊及各種子塊視為視頻塊。另外,可將一片斷視為一系列視頻塊,例如,宏塊及/或子塊。每一片斷可為視頻幀的可獨(dú)立解碼單元?;蛘?,幀自身可為可解碼單元,或可將幀的其它部分定義為可解碼單元。術(shù)語“經(jīng)譯碼單元”指代視頻幀的任何可獨(dú)立解碼單元,例如,整個幀、幀的片斷、圖片組(GOP),或根據(jù)所使用的譯碼技術(shù)而定義的另一可獨(dú)立解碼單元。在基于幀間的預(yù)測性譯碼(其包括內(nèi)插及用以有效率地選擇用以預(yù)測經(jīng)譯碼單元的預(yù)測算法或模式的本發(fā)明的技術(shù))之后,且在任何變換(例如,H. 264/AVC中所使用的 4X4或8X8整數(shù)變換或離散余弦變換或DCT)之后,可執(zhí)行量化。量化通常指代系數(shù)經(jīng)量化以可能減少用以表示所述系數(shù)的數(shù)據(jù)的量的過程。量化過程可減少與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,可在量化期間將16位值下舍入成15位值。在量化之后, 可(例如)根據(jù)內(nèi)容自適應(yīng)可變長度譯碼(content adaptive variable length coding, CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(context adaptive binary arithmetic coding, CABAC)或另一熵譯碼方法來執(zhí)行熵譯碼。根據(jù)本發(fā)明的技術(shù),視頻編碼器22可選擇視頻數(shù)據(jù)的至少兩個不同參考經(jīng)譯碼單元。這兩個經(jīng)譯碼單元可包含第一幀及不同于第一幀的第二幀?;蛘?,視頻編碼器22可選擇第一參考幀的第一參考視頻數(shù)據(jù)單元(例如,宏塊或任何其它大小的視頻數(shù)據(jù)單元) 及第二參考幀的第二參考視頻數(shù)據(jù)單元。出于說明的目的,在下文關(guān)于視頻塊及幀來描述本發(fā)明的技術(shù)。然而,所述技術(shù)可大體上應(yīng)用于整個經(jīng)譯碼單元或應(yīng)用于其若干部分(例如,經(jīng)譯碼單元的視頻數(shù)據(jù)單元)。在一些方面中,視頻編碼器22可存儲第一參考幀集合(其可被統(tǒng)稱為列表零(0))及第二參考幀集合(其可被統(tǒng)稱為列表一(1)),其中所述集合中的每一者包括不同于另一集合的參考幀的參考幀。視頻編碼器22可從列表0中選擇一個或一個以上參考幀及從列表1中選擇一個或一個以上參考幀。在此方面,視頻編碼器22可接收視頻數(shù)據(jù)的至少兩個不同參考幀。在選擇參考幀之后,視頻編碼器22可執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)至少兩個參考視頻塊預(yù)測視頻數(shù)據(jù)的預(yù)測性幀的預(yù)測性視頻塊的第一版本,所述至少兩個參考視頻塊各自選自至少兩個不同參考幀中的不同一者。值得注意的是,兩個參考幀在時間上遠(yuǎn)離預(yù)測性幀。同樣,至少兩個參考視頻塊在時間上遠(yuǎn)離預(yù)測性視頻塊。換句話說,第一參考幀集合中的參考幀(及選自這些參考幀的參考視頻塊)可包含按時間依序地或在時間上出現(xiàn)于預(yù)測性幀之前或之后或出現(xiàn)于預(yù)測性幀之前及之后的參考幀。同樣,第二參考幀集合中的參考幀(及選自這些參考幀的參考視頻塊)可包含按時間依序地或在時間上出現(xiàn)于預(yù)測性幀之前或之后或出現(xiàn)于預(yù)測性幀之前及之后的幀。視頻編碼器22可因此從列表0中選擇在時間上出現(xiàn)于預(yù)測性幀之前或之后的第一參考幀及從列表1中選擇在時間上出現(xiàn)于預(yù)測性幀之前或之后的第二參考幀。根據(jù)這兩個選定單元所預(yù)測的預(yù)測性幀通常被稱為雙向幀或雙向圖片(簡稱為B幀或B圖片),因?yàn)轭A(yù)測性幀是從兩個時間方向(例如,出現(xiàn)于預(yù)測性幀之前及之后的兩個參考單元)予以預(yù)測。雖然由于此原因而被稱為“B幀”,但在各種方面中,B幀也可根據(jù)出現(xiàn)于B幀以前的兩個參考幀予以預(yù)測,或者,根據(jù)出現(xiàn)于B幀之后的兩個參考幀予以預(yù)測。通常,B幀是以此方式基于逐個塊予以預(yù)測,且視頻編碼器22可從第一參考幀中選擇第一參考視頻塊及從第二參考幀中選擇第二視頻塊。為了選擇這些塊,視頻編碼器22 可將第一塊及第二塊識別為最好地匹配預(yù)測性視頻塊或展現(xiàn)類似于預(yù)測性視頻塊的像素值的像素值的塊。視頻編碼器22可接著執(zhí)行默認(rèn)加權(quán)預(yù)測以分別根據(jù)第一參考幀的第一參考視頻塊及第二參考幀的第二參考視頻塊預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第一版本。為了執(zhí)行默認(rèn)加權(quán)預(yù)測,視頻編碼器22可使第一參考視頻塊乘以第一權(quán)重以確定第一加權(quán)視頻塊,且使第二參考視頻塊乘以第二權(quán)重以確定第二加權(quán)視頻塊。視頻編碼器22可緊接著使第一加權(quán)視頻塊與第二加權(quán)視頻塊相加以產(chǎn)生總加權(quán)視頻塊。視頻編碼器22可根據(jù)默認(rèn)加權(quán)預(yù)測算法通過使總加權(quán)視頻塊除以經(jīng)選擇以用于預(yù)測預(yù)測性視頻塊的第一版本的參考視頻塊的數(shù)目(其在此例子中為二,例如,第一參考視頻塊及第二參考視頻塊)來預(yù)測預(yù)測性視頻塊的第一版本。通常,第一權(quán)重與第二權(quán)重彼此相等,例如, 第一權(quán)重等于0. 5或50%且第二權(quán)重等于0. 5或50%。對于兩個以上權(quán)重,所述權(quán)重可僅彼此大致相等,例如,第一權(quán)重等于33. 33%,第二權(quán)重等于33. 33%,且第三權(quán)重等于 33. 34%。由于權(quán)重通常不變化,所以此形式的加權(quán)預(yù)測可被稱為直接、默認(rèn)或相等加權(quán)的預(yù)測。在使用默認(rèn)加權(quán)預(yù)測算法來計(jì)算、確定或以其它方式預(yù)測預(yù)測性視頻塊的第一版本之后,視頻編碼器22可計(jì)算預(yù)測性視頻塊的偏移值。此偏移值可包含DC偏移或任何其它偏移值。在上述偏移中,“DC”指代在電學(xué)意義上從給定直流的偏移,但后來已適于供在電學(xué)上下文以外的各種各樣的上下文使用。在視頻編碼的上下文中,可通過視頻編碼器22首先平均化參考視頻塊中的一者的像素值的亮度分量來計(jì)算DC偏移。視頻編碼器22可緊接著平均化預(yù)測性視頻塊的像素值的亮度分量。這些經(jīng)計(jì)算值中的每一者可包含DC值。視頻編碼器22可接著通過使DC 值彼此相減來計(jì)算DC偏移。在此方面,DC值可分別包含參考視頻塊及預(yù)測性視頻塊中的一者的平均亮度。此平均值類似于在電學(xué)上下文中的DC電壓。這兩個平均DC值之間的差可因此包含從標(biāo)準(zhǔn)DC值的偏移,非常像在電學(xué)上下文中的DC偏移表示從標(biāo)準(zhǔn)或平均DC值的偏移,因此,名稱為“DC偏移”。在任何情況下,視頻編碼器22均可接著執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測以預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第二版本。為了確定將執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測中的哪一者,視頻編碼器22可將經(jīng)計(jì)算DC偏移與閾值比較,且基于此比較而執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測。舉例來說,視頻編碼器22可將經(jīng)計(jì)算DC偏移與閾值(其通常為零 (0))比較。視頻編碼器22可替代地首先確定經(jīng)計(jì)算DC偏移的絕對值,且將DC偏移的此絕對值與閾值(其同樣通??稍O(shè)定為零(0))比較。基于比較,視頻編碼器22可接著執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測以預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第二版本?!半[式”加權(quán)預(yù)測或“顯式”加權(quán)預(yù)測指代在預(yù)測預(yù)測性幀時所使用的兩個或兩個以上權(quán)重(例如)在經(jīng)譯碼單元內(nèi)編碼或未在經(jīng)譯碼單元內(nèi)編碼的預(yù)測形式。對于隱式加權(quán)預(yù)測,權(quán)重未經(jīng)編碼且因此在預(yù)測性視頻塊中可為隱式的。視頻解碼器26可接著在確定預(yù)測性視頻塊是使用隱式加權(quán)預(yù)測予以預(yù)測后,即刻經(jīng)由分析第一參考視頻塊及第二參考視頻塊或在一些例子中分析第一參考幀及第二參考幀而導(dǎo)出權(quán)重。在顯式加權(quán)預(yù)測中,視頻編碼器22可在預(yù)測性視頻塊內(nèi)或在一些例子中在預(yù)測性幀內(nèi)顯式地譯碼在預(yù)測預(yù)測性視頻幀時所使用的權(quán)重。顯式加權(quán)預(yù)測可在選擇權(quán)重時向視頻編碼器22提供更多寬容度 (latitude),且結(jié)果,可使視頻編碼器22能夠修整預(yù)測性幀(例如,B幀)的預(yù)測以適合視頻數(shù)據(jù)的特定上下文或形式。作為基于權(quán)重而執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測的實(shí)例,當(dāng)經(jīng)計(jì)算DC偏移值的絕對值超過閾值時,視頻編碼器22可執(zhí)行顯式加權(quán)預(yù)測以預(yù)測預(yù)測性視頻塊的第二版本。然而,當(dāng)經(jīng)計(jì)算DC偏移值的絕對值不超過閾值(S卩,小于或等于閾值)時,視頻編碼器 22可執(zhí)行隱式加權(quán)預(yù)測以預(yù)測預(yù)測性視頻塊的第二版本。以此方式,視頻編碼器22可基于經(jīng)計(jì)算偏移值而執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測而非此兩者以預(yù)測預(yù)測性視頻塊的第二版本。在預(yù)測預(yù)測性視頻塊的第二版本后,視頻編碼器22即刻將預(yù)測性視頻塊編碼為第一版本或第二版本。在一些例子中,視頻編碼器22可執(zhí)行預(yù)測性視頻塊的第一版本及第二版本的成本分析(例如,速率-失真(rate-distortion,R-D)成本分析),以便選擇第一版本及第二版本中更適當(dāng)?shù)鼐幋a視頻數(shù)據(jù)的對應(yīng)部分的版本。同樣,視頻編碼器22通過執(zhí)行默認(rèn)加權(quán)預(yù)測來編碼視頻塊的第一版本,且通過執(zhí)行顯式加權(quán)預(yù)測或隱式加權(quán)預(yù)測而非此兩者來編碼預(yù)測性視頻塊的第二版本。視頻編碼器22可選擇第一版本及第二版本中與最低成本相關(guān)聯(lián)的版本。在任何情況下,視頻編碼器22均在經(jīng)譯碼位流內(nèi)將預(yù)測性視頻塊編碼為第一版本或第二版本。源裝置12的發(fā)射器24可將經(jīng)譯碼位流發(fā)射到目的裝置16的接收器26。在目的裝置16中, 視頻解碼器28接收經(jīng)譯碼位流且解碼經(jīng)譯碼位流以重構(gòu)視頻序列。以此方式,視頻編碼器22可實(shí)施本發(fā)明中所描述的技術(shù)以更有效率地在多種預(yù)測算法或模式之間進(jìn)行選擇,而不實(shí)際地通過執(zhí)行預(yù)測算法中的每一者來產(chǎn)生預(yù)測性視頻塊的版本。如上文所描述,視頻編碼器22可首先執(zhí)行默認(rèn)加權(quán)預(yù)測,且緊接著執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測而非此兩者。因此,視頻編碼器22僅執(zhí)行三種形式或類型的預(yù)測中的兩者(默認(rèn)加權(quán)預(yù)測,及顯式加權(quán)預(yù)測或隱式加權(quán)預(yù)測而非此兩者),而非執(zhí)行所有三者。在此方面,視頻編碼器22可更有效率地在三種或三種以上預(yù)測模式之間進(jìn)行選擇,而不必執(zhí)行三種或三種以上預(yù)測模式中的每一者。同樣如上文所描述,視頻編碼器22可基于針對B幀的預(yù)測性視頻塊的第一版本所計(jì)算的偏移而在執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測之間進(jìn)行選擇以預(yù)測B幀的預(yù)測性視頻塊的第二版本。雖然在本發(fā)明中關(guān)于偏移進(jìn)行描述,但通常視頻編碼器22可存取或可確定的任何特性均可由視頻編碼器22使用,以作為用于在執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測之間進(jìn)行選擇的基礎(chǔ)。圖2為說明可執(zhí)行符合本發(fā)明的偏移技術(shù)的視頻編碼器50的實(shí)例的框圖。視頻編碼器50可對應(yīng)于裝置20的視頻編碼器22或不同裝置的視頻編碼器。視頻編碼器50可執(zhí)行視頻幀內(nèi)的塊的幀內(nèi)譯碼及幀間譯碼,但為了說明的簡易性起見而在圖2中未展示幀內(nèi)譯碼組件。幀內(nèi)譯碼依賴空間預(yù)測以減少或移除給定視頻幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴時間預(yù)測以減少或移除視頻序列的相鄰幀內(nèi)的視頻中的時間冗余。幀內(nèi)模式(I 模式)可指代基于空間的壓縮模式,且例如預(yù)測(P模式)或雙向(B模式)的幀間模式可指代基于時間的壓縮模式。本發(fā)明的技術(shù)應(yīng)用于幀間譯碼期間,且因此,為了說明的簡單性及簡易性起見而在圖2中未說明例如空間預(yù)測單元的幀內(nèi)譯碼單元。如圖2所示,視頻編碼器50接收視頻幀內(nèi)的待編碼的當(dāng)前視頻塊。在圖2的實(shí)例中,視頻編碼器50包括運(yùn)動估計(jì)單元32、運(yùn)動補(bǔ)償單元35、參考幀存儲裝置34、加法器48、 變換單元38、量化單元40及熵譯碼單元46。為了視頻塊重構(gòu),視頻編碼器50還包括逆量化單元42、逆變換單元44及加法器51。視頻編碼器50還可包括解塊濾波器(deblocking filter)(未圖示)以對塊邊界進(jìn)行濾波以從經(jīng)重構(gòu)視頻中移除塊效應(yīng)假影(blockiness artifact) 0必要時,解塊濾波器通常將對加法器51的輸出進(jìn)行濾波。在編碼過程期間,視頻編碼器50接收待譯碼的視頻塊,且運(yùn)動估計(jì)單元32及運(yùn)動補(bǔ)償單元35執(zhí)行幀間預(yù)測性譯碼。運(yùn)動估計(jì)單元32與運(yùn)動補(bǔ)償單元35可高度集成,但出于概念上的目的而分開予以說明。通常認(rèn)為運(yùn)動估計(jì)是產(chǎn)生估計(jì)視頻塊的運(yùn)動的運(yùn)動向量的過程。舉例來說,運(yùn)動向量可指示預(yù)測性幀(或其它經(jīng)譯碼單元)內(nèi)的預(yù)測性塊相對于在當(dāng)前幀(或其它經(jīng)譯碼單元)內(nèi)經(jīng)譯碼的當(dāng)前塊的位移。通常認(rèn)為運(yùn)動補(bǔ)償是基于通過運(yùn)動估計(jì)所確定的運(yùn)動向量而提取或產(chǎn)生預(yù)測性塊的過程。同樣,運(yùn)動估計(jì)單元32與運(yùn)動補(bǔ)償單元35可在功能上集成。出于示范的目的,本發(fā)明中所描述的技術(shù)經(jīng)描述為由運(yùn)動補(bǔ)償單元35執(zhí)行。運(yùn)動估計(jì)單元32通過將待譯碼的視頻塊與一個或一個以上預(yù)測性經(jīng)譯碼單元 (例如,依據(jù)時間或在時間上的先前及/或未來幀)的視頻塊比較來選擇待譯碼的視頻塊的適當(dāng)運(yùn)動向量。作為一實(shí)例,運(yùn)動估計(jì)單元32可用許多方式來選擇B幀的運(yùn)動向量。在一種方式中,運(yùn)動估計(jì)單元32可從第一幀集合(被稱為列表0)中選擇先前或未來幀,且僅使用來自列表0的此先前或未來幀來確定運(yùn)動向量?;蛘撸\(yùn)動估計(jì)單元32可從第二幀集合(被稱為列表1)中選擇先前或未來幀,且僅使用來自列表1的此先前或未來幀來確定運(yùn)動向量。在又一方式中,運(yùn)動估計(jì)單元32可從列表0中選擇第一幀及從列表1中選擇第二
17幀,且從列表0的第一幀及列表1的第二幀中選擇一個或一個以上運(yùn)動向量。如上文所提及,此預(yù)測形式可被稱為雙向預(yù)測性運(yùn)動估計(jì)(bi-predictive motion estimation)??蓪?shí)施本發(fā)明的技術(shù),以便有效率地選擇運(yùn)動補(bǔ)償雙向預(yù)測模式。根據(jù)H. 264/AVC標(biāo)準(zhǔn),可使用三種運(yùn)動補(bǔ)償雙向預(yù)測性算法或模式來預(yù)測B幀或其若干部分,例如,B幀的視頻塊、宏塊或任何其它離散及/或相連部分。第一運(yùn)動補(bǔ)償雙向預(yù)測性算法或模式(其通常被稱為默認(rèn)加權(quán)預(yù)測)可涉及將大致相等權(quán)重施加于列表0 的第一幀及列表1的第二幀的每一經(jīng)識別視頻塊。接著將第一幀的加權(quán)塊與第二幀的加權(quán)塊加在一起且除以用以預(yù)測B幀的幀的總數(shù)目(例如,在此例子中為二)。通常,此除法是通過將1加到第一幀的加權(quán)塊與第二幀的加權(quán)塊的相加量(addition)且接著將結(jié)果向右移位一個位而實(shí)現(xiàn)。第二運(yùn)動補(bǔ)償雙向預(yù)測性算法或模式(其通常被稱為顯式加權(quán)預(yù)測)可涉及確定第一幀及第二幀的每一經(jīng)識別視頻塊的權(quán)重,且接著執(zhí)行類似于上文關(guān)于默認(rèn)加權(quán)預(yù)測算法所描述的乘法及加法的用以產(chǎn)生加權(quán)塊的權(quán)重的乘法及加法。然而,關(guān)于顯式加權(quán)預(yù)測, 可在將第一加權(quán)塊與第二加權(quán)塊的總和向右移位一個或其它數(shù)目以前加上額外的一個或一個以上舍入值或偏移,以確保除以用以預(yù)測第三經(jīng)譯碼單元或B幀的幀的總數(shù)目的適當(dāng)除法。第三運(yùn)動補(bǔ)償雙向預(yù)測性算法或模式(其通常被稱為隱式加權(quán)預(yù)測)可涉及根據(jù)設(shè)定算法而確定每一經(jīng)識別塊的權(quán)重,所述算法可(例如)分析第一塊及第二塊中的每一者以確定第一權(quán)重及第二權(quán)重。一旦經(jīng)確定,此算法便可施加或以其它方式使第一塊及第二塊乘以相應(yīng)確定的第一權(quán)重及第二權(quán)重以產(chǎn)生第一加權(quán)塊及第二加權(quán)塊。在確定加權(quán)塊之后,所述算法可緊接著將所述加權(quán)塊加在一起,且在將總和移位一值以前又加上舍入值或偏移,此確保除以用以預(yù)測B幀的幀的總數(shù)目的除法。運(yùn)動補(bǔ)償單元35可實(shí)施這些運(yùn)動補(bǔ)償雙向預(yù)測性算法中的每一者以產(chǎn)生代表B 幀的雙向預(yù)測性塊的預(yù)測性數(shù)據(jù)。舉例來說,運(yùn)動補(bǔ)償單元32可根據(jù)以下方程式(1)來實(shí)施默認(rèn)加權(quán)預(yù)測pred(i, j) = (pred0(i, j)+predl(i, j)+l) >> 1(1)。pred(i,j)指代代表在預(yù)測性幀(例如,B幀)的第i行及第j列中的視頻塊的預(yù)測性數(shù)據(jù)。pred0(i,j)指代代表在第一參考幀的第i行及第j列中的視頻塊的數(shù)據(jù),其中第一參考幀是選自列表0。predl(i,j)指代代表在第二參考幀的第i行及第j列中的視頻塊的數(shù)據(jù),其中第一參考幀是選自列表1。由于權(quán)重相等或大致相等,所以在方程式(1)中加上一且向右移位( >> )一個位會有效地使pred0(i,j)+predl(i, j)的總和除以二,例如,用以預(yù)測B幀的預(yù)測性視頻塊的幀或視頻塊的總數(shù)目。運(yùn)動補(bǔ)償單元35可根據(jù)以下方程式(2)來實(shí)施第二運(yùn)動補(bǔ)償雙向預(yù)測性算法或顯式加權(quán)預(yù)測pred(i, j) = (predO (i,j) *w0+predl (i,j) *wl+2r) >> (r+1) + ((ol+o2+l) >> 1) (2)。同樣,precKi,j)、pred0(i,j)及predl(i,j)中的每一者指代上文關(guān)于方程式(1) 所描述的相同參考視頻塊。由于權(quán)重經(jīng)確定且可能不大致相等,所以方程式(2)包括用乘法施加于相應(yīng)predO (i,j)及predia,j)的權(quán)重w0及wl?!皉”變量可表示經(jīng)選擇以確保權(quán)重wO及wl產(chǎn)生整數(shù)的整數(shù)。變量ol及o2各自表示舍入偏移,其中方程式(2)經(jīng)由使舍入偏移加上一且接著向右移位一(1)而提供舍入偏移ol及o2的平均值。還可在加上舍入偏移的平均值以前移位塊的加權(quán)總和,以確保除以用以預(yù)測B幀的預(yù)測性視頻塊的參考視頻幀的總數(shù)目的適當(dāng)除法。運(yùn)動補(bǔ)償單元35可根據(jù)以下方程式(3)來實(shí)施第三運(yùn)動補(bǔ)償雙向預(yù)測性算法或隱式加權(quán)預(yù)測pred(i, j) = (predO (i, j) *wO+predl (i, j) *wl+32) >>6 (3)。同樣,pred(i,j)、predO(i,j)及predl(i,j)中的每一者指代上文關(guān)于方程式(1) 及(2)所描述的相同參考視頻塊。由于權(quán)重經(jīng)確定且可能不大致相等,所以方程式(3)包括用乘法施加于相應(yīng)predO(i,j)及predl(i,j)的權(quán)重wO及wl。值“32”可包含用以確保權(quán)重wO及wl為整數(shù)的靜態(tài)舍入偏移,且向右移位(>>)六(6)可表示在給定為32的舍入偏移的情況下有效地使總加權(quán)塊的總和除以用以預(yù)測B幀的預(yù)測性視頻塊的幀的總數(shù)目的除法。根據(jù)本發(fā)明的技術(shù),運(yùn)動估計(jì)單元32可選擇用以確定B幀的運(yùn)動向量的至少兩個幀。確切地說,如上文所描述,參考幀存儲裝置34可包含存儲器以存儲被稱為列表O的視頻數(shù)據(jù)的第一參考幀集合及被稱為列表1的視頻數(shù)據(jù)的第二參考幀集合。列表1及列表O 中的參考幀可各自包含I幀或P幀。運(yùn)動估計(jì)單元32可存取參考幀存儲裝置34且從列表 O中選擇一個或一個以上參考幀及從列表1中選擇一個或一個以上參考幀。以此方式,在一個方面中,運(yùn)動估計(jì)單元32可選擇視頻數(shù)據(jù)的至少兩個經(jīng)譯碼單元(例如,幀)。運(yùn)動估計(jì)單元32可接著確定預(yù)測性B幀的第一塊的運(yùn)動向量。運(yùn)動估計(jì)單元32 可識別至少兩個參考幀中的第一者中對應(yīng)于B幀的預(yù)測性塊的第一對應(yīng)塊,及至少兩個參考幀中的第二者中對應(yīng)于B幀的預(yù)測性塊的第二對應(yīng)塊。通常,第一幀及第二幀分別在時間上遠(yuǎn)離第三B幀。通常,第一參考幀駐留于在B幀以前或之前的視頻序列中,而第二參考幀駐留于在B幀之后的視頻序列中。然而,在一些例子中,第一參考幀及第二參考幀兩者均可駐留或出現(xiàn)于在B幀之前或之后的不同時間。在任何情況下,運(yùn)動估計(jì)單元32均可接著基于來自第一參考幀的第一參考塊及來自第二參考幀的第二參考塊而計(jì)算運(yùn)動向量,第一參考塊及第二參考塊兩者均是相對于預(yù)測性B幀的第三預(yù)測性塊確定。一旦運(yùn)動估計(jì)單元32已選擇待譯碼的視頻塊的運(yùn)動向量,運(yùn)動補(bǔ)償單元35便產(chǎn)生與這些運(yùn)動向量相關(guān)聯(lián)的預(yù)測性視頻塊。運(yùn)動補(bǔ)償單元35可根據(jù)如上述方程式(1)所表示的默認(rèn)加權(quán)預(yù)測性算法而產(chǎn)生B幀的預(yù)測性視頻塊的第一版本。為了進(jìn)行此操作,運(yùn)動補(bǔ)償單元35可從參考幀存儲裝置34中檢索方程式(1)所規(guī)定的各種參考塊,且實(shí)施方程式(1)以產(chǎn)生代表B幀的預(yù)測性視頻塊的預(yù)測性數(shù)據(jù)。緊接著,運(yùn)動補(bǔ)償單元35可計(jì)算 B幀的預(yù)測性視頻塊的第一版本的上述DC偏移值或另一偏移值。在一個實(shí)例中,運(yùn)動補(bǔ)償單元35可計(jì)算分別與用以預(yù)測預(yù)測性視頻塊的第一參考幀及第二參考幀的參考視頻塊的每一整數(shù)及次整數(shù)像素位置相關(guān)聯(lián)的第一度量(例如, 均值)集合。運(yùn)動補(bǔ)償單元35還可計(jì)算分別與預(yù)測性視頻塊的每一整數(shù)及次整數(shù)像素位置相關(guān)聯(lián)的第二度量(例如,均值或亮度值及/或色度值的總和之間的差)集合。運(yùn)動補(bǔ)償單元35接著基于第一度量集合及第二度量集合而計(jì)算偏移值。運(yùn)動補(bǔ)償單元35可(例如)將第一 DC偏移計(jì)算為針對第一參考視頻塊及預(yù)測性視頻塊所計(jì)算的均值之間的差。運(yùn)動補(bǔ)償單元35可緊接著將第二 DC偏移計(jì)算為針對第二參考視頻塊及預(yù)測性視頻塊所計(jì)算的均值之間的差。運(yùn)動補(bǔ)償單元35可接著計(jì)算這些第一 DC偏移及第二 DC偏移的平均值以產(chǎn)生平均DC偏移。偏移值可包含可反映對應(yīng)視頻塊的像素值的向上或向下偏離的絕對值或帶正負(fù)號的值,其同樣可能對于指示在視頻編碼中所遇到的場景改變或閃光非常有用。換句話說,第一度量集合可包含對應(yīng)于在給定經(jīng)譯碼單元的視頻塊的每一整數(shù)及次整數(shù)像素位置處像素值的均值的均值集合。第二度量集合可包含對應(yīng)于在用以預(yù)測在所述經(jīng)譯碼單元中正被譯碼的當(dāng)前塊的預(yù)測性塊的每一整數(shù)及次整數(shù)像素位置處像素值的均值的均值集合。多個偏移值可包含第一均值集合與第二均值集合之間的差。每一宏塊位置可由單個像素(例如,相應(yīng)宏塊的左上角中的相應(yīng)像素)定義。然而,每一宏塊可定義促成第一均值集合中的特定均值的十六個像素值。當(dāng)然,也可針對其它大小的視頻塊計(jì)算這些偏移值。通常,任何給定位置的偏移均可被計(jì)算為當(dāng)前幀(或其它經(jīng)譯碼單元)中具有對應(yīng)于所述像素位置或次像素位置的運(yùn)動向量精確度的所有像素的均值與對應(yīng)于所述像素位置或次像素位置的預(yù)測性數(shù)據(jù)的經(jīng)內(nèi)插值的均值之間的差。因此,對于預(yù)測性數(shù)據(jù)的每一相應(yīng)整數(shù)、經(jīng)內(nèi)插位置或經(jīng)外推位置,可將每一相應(yīng)偏移視為經(jīng)譯碼單元的像素相對于預(yù)測性數(shù)據(jù)的平均差。運(yùn)動補(bǔ)償單元35可關(guān)于亮度塊、色度塊或此兩者來計(jì)算偏移值??舍槍εc每一類型的視頻塊(例如,亮度塊及色度塊)相關(guān)聯(lián)的每一整數(shù)及次整數(shù)像素位置而定義不同偏移。此外,可將不同偏移指派給每一特定大小的每一塊、每一塊的分區(qū)或次分區(qū)。在計(jì)算偏移值之后,運(yùn)動補(bǔ)償單元35可將各個偏移值中的每一者或平均偏移值與閾值比較。閾值可由視頻編碼器50的用戶計(jì)劃性地設(shè)定或由視頻編碼器50的硬件設(shè)計(jì)者靜態(tài)地設(shè)定。在一些例子中,運(yùn)動補(bǔ)償單元35可基于第一經(jīng)譯碼單元、第二經(jīng)譯碼單元及第三經(jīng)譯碼單元中的一者或一者以上的各種塊的某種分析而自動地(例如,無需任何用戶監(jiān)督或輸入)設(shè)定閾值。在此方面,運(yùn)動補(bǔ)償單元35可在執(zhí)行比較時自動地調(diào)適或修整閾值。然而,通常,設(shè)計(jì)者或用戶將閾值計(jì)劃性地設(shè)定為零(0)?;诖吮容^,運(yùn)動補(bǔ)償單元35可分別根據(jù)(例如)方程式(2)或(3)中的任一者而執(zhí)行顯式加權(quán)預(yù)測或隱式加權(quán)預(yù)測,以預(yù)測B幀的第三塊的第二版本。舉例來說,當(dāng)經(jīng)計(jì)算偏移值或在一些例子中經(jīng)計(jì)算偏移值的絕對值超過閾值時, 運(yùn)動補(bǔ)償單元35可根據(jù)方程式(2)而執(zhí)行顯式加權(quán)預(yù)測以預(yù)測預(yù)測性塊的第二版本。運(yùn)動補(bǔ)償單元35可將默認(rèn)權(quán)重(例如,在默認(rèn)加權(quán)預(yù)測期間所使用的權(quán)重)用于權(quán)重wO及 wl以預(yù)測B幀的第三或預(yù)測性塊。此外,在執(zhí)行顯式加權(quán)預(yù)測時,運(yùn)動補(bǔ)償單元35可在一些方面中使用經(jīng)計(jì)算偏移。當(dāng)經(jīng)計(jì)算偏移值或在一些例子中經(jīng)計(jì)算偏移值的絕對值不超過(即,小于或等于)閾值時,運(yùn)動補(bǔ)償單元35可根據(jù)方程式(3)而執(zhí)行隱式加權(quán)預(yù)測以預(yù)測B幀的預(yù)測性視頻塊的第二版本。如上文關(guān)于默認(rèn)加權(quán)預(yù)測所描述,運(yùn)動補(bǔ)償單元35可從參考幀存儲裝置34中檢索由方程式(2)或(3)所規(guī)定的各種參考塊?;蛘?,運(yùn)動補(bǔ)償單元35可在首先檢索各種參考視頻塊以根據(jù)默認(rèn)加權(quán)預(yù)測算法(例如,如上文的方程式(1)所表示)而計(jì)算預(yù)測性視頻塊的第一版本之后本地高速緩存或以其它方式維持或存儲這些參考視頻塊。
不管B幀的預(yù)測性視頻塊的第二版本是根據(jù)顯式加權(quán)預(yù)測還是根據(jù)隱式加權(quán)預(yù)測予以預(yù)測,運(yùn)動補(bǔ)償單元35均將通過執(zhí)行默認(rèn)加權(quán)預(yù)測所預(yù)測的預(yù)測性視頻塊的第一版本與通過執(zhí)行顯式加權(quán)預(yù)測或隱式加權(quán)預(yù)測所預(yù)測的預(yù)測性視頻塊的第二版本彼此比較,且選擇更適當(dāng)?shù)乇硎疽曨l的對應(yīng)部分的版本。為了執(zhí)行此比較,運(yùn)動補(bǔ)償單元35可對第一版本及第二版本執(zhí)行速率-失真(R-D)分析。如上文所描述,R-D分析可涉及計(jì)算版本中的每一者的成本且選擇第一版本及第二版本中計(jì)算出較低成本所針對的版本。此R-D 分析通常平衡速率與失真,或更清楚地說,平衡在編碼預(yù)測性視頻塊的第一版本及第二版本時所使用的數(shù)據(jù)的量相對于某一量化質(zhì)量等級(例如,失真等級或失真量)。作為一實(shí)例,運(yùn)動補(bǔ)償單元35可根據(jù)提供拉格朗日(Langrangian)成本函數(shù)的以下方程式(4)而使R-D分析基于針對第一版本及第二版本中的每一者所計(jì)算的成本Fc = d+ ( λ(4)。F。包含代表成本函數(shù)的變量。字母“d”包含代表通過分別將第一版本及第二版本與視頻的對應(yīng)部分比較所計(jì)算的第一失真值或第二失真值的變量。運(yùn)動補(bǔ)償單元35通常將第一失真及第二失真計(jì)算或測量為均方差,以便使峰值信噪比(PSNR)最大化。蘭姆達(dá) (Lamda)或“ λ °”包含代表拉格朗日乘數(shù)的變量,其為表示針對特定質(zhì)量等級的位成本與質(zhì)量之間的關(guān)系的值。字母“R”包含代表編碼視頻的位速率的變量。運(yùn)動補(bǔ)償單元35可因此計(jì)算預(yù)測性視頻塊的相應(yīng)第一版本及第二版本的第一失真值及第二失真值,且存儲定義拉格朗日乘數(shù)及位速率兩者的值的數(shù)據(jù)。對于第一版本及第二版本中的每一者,運(yùn)動補(bǔ)償單元35可根據(jù)方程式(4)而確定成本且將這些第一成本及第二成本彼此比較。運(yùn)動補(bǔ)償單元35接著基于第一成本與第二成本的比較而選擇第一版本及第二版本中的一者。在一些方面中,運(yùn)動補(bǔ)償單元35選擇第一版本及第二版本中確定出較低成本所針對的版本。如果運(yùn)動補(bǔ)償單元35選擇通過顯式加權(quán)預(yù)測算法所預(yù)測的第二版本,則運(yùn)動補(bǔ)償單元35可將DC偏移值施加于原始預(yù)測性視頻塊以產(chǎn)生偏移預(yù)測性視頻塊,且基于偏移預(yù)測性視頻塊而編碼經(jīng)譯碼單元的視頻塊。通過根據(jù)預(yù)測性塊的像素位置(整數(shù)位置或多個可能次整數(shù)像素位置中的一者)而以基于位置的方式將偏移加到預(yù)測性塊的像素值,預(yù)測性塊可更類似于經(jīng)譯碼的塊,此可改進(jìn)譯碼效率。此外,由于偏移值是針對不同像素位置而不同地定義,所以這些偏移值可提供實(shí)現(xiàn)與不同類型的內(nèi)插相關(guān)聯(lián)的數(shù)據(jù)的譯碼當(dāng)中的分段的能力。然而,如果運(yùn)動補(bǔ)償單元35選擇第一版本或通過隱式加權(quán)預(yù)測所預(yù)測的第二版本,則運(yùn)動補(bǔ)償單元35可在不加上經(jīng)計(jì)算偏移值的情況下編碼塊。以此方式,運(yùn)動補(bǔ)償單元35可產(chǎn)生代表B幀的第三或預(yù)測性視頻塊的預(yù)測性數(shù)據(jù)。視頻編碼器50接著通過從經(jīng)譯碼的原始視頻塊減去預(yù)測數(shù)據(jù)來形成殘余視頻塊。加法器48表示執(zhí)行此減法運(yùn)算的組件。變換單元38將例如離散余弦變換(DCT)或概念上類似的變換的變換應(yīng)用于殘余塊,從而產(chǎn)生包含殘余變換塊系數(shù)的視頻塊。舉例來說, 變換單元38可執(zhí)行其它變換,例如,通過H. 264標(biāo)準(zhǔn)所定義的變換,其概念上類似于DCT。 也可使用子波變換、整數(shù)變換、子帶變換或其它類型的變換。在任何狀況下,變換單元38均將變換應(yīng)用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。變換可將殘余信息從像素域轉(zhuǎn)換為頻域。量化單元40將殘余變換系數(shù)量化以進(jìn)一步減小位速率。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,可在量化期間將16位值下舍入成15位值。另外,量化單元40還可在第二版本是通過顯式加權(quán)預(yù)測予以預(yù)測的狀況下使不同偏移量化, 以將所要數(shù)目的位分配給不同偏移的相應(yīng)整數(shù)部分及分?jǐn)?shù)部分。確切地說,量化單元可針對偏移值中的每一者將第一數(shù)目的位指派給給定偏移值的整數(shù)部分,且將第二數(shù)目的位指派給給定偏移值的分?jǐn)?shù)部分,其中位的第一數(shù)目及第二數(shù)目是基于整數(shù)部分的量值確定。 熵譯碼單元46可與編碼第二數(shù)目的位不同地編碼第一數(shù)目的位。在量化之后,熵譯碼單元46對經(jīng)量化變換系數(shù)進(jìn)行熵譯碼。舉例來說,熵譯碼單元46可執(zhí)行內(nèi)容自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)或另一熵譯碼方法。在熵譯碼單元46進(jìn)行的熵譯碼之后,可將經(jīng)編碼視頻發(fā)射到另一裝置或加以存檔以用于稍后發(fā)射或檢索。經(jīng)譯碼位流可包括經(jīng)熵譯碼的殘余塊、這些塊的運(yùn)動向量,及包括識別在經(jīng)譯碼單元內(nèi)的不同整數(shù)及次整數(shù)像素位置處的多個不同偏移的偏移值的其它語法。逆量化單元42及逆變換單元44分別應(yīng)用逆量化及逆變換,以在像素域中重構(gòu)殘余塊,例如,用于以上文所描述的方式而稍后用作參考塊。求和器51將經(jīng)重構(gòu)殘余塊加到運(yùn)動補(bǔ)償單元35所產(chǎn)生的運(yùn)動補(bǔ)償預(yù)測塊,以產(chǎn)生經(jīng)重構(gòu)視頻塊以用于存儲于參考幀存儲裝置34中。經(jīng)重構(gòu)視頻塊可由運(yùn)動估計(jì)單元32及運(yùn)動補(bǔ)償單元35使用以作為用以對后續(xù)視頻幀中的塊進(jìn)行幀間編碼的參考塊。以此方式,視頻編碼器50可實(shí)施本發(fā)明的技術(shù)以有效率地在三種運(yùn)動補(bǔ)償雙向預(yù)測性算法之間進(jìn)行選擇。所述選擇是有效的,以致運(yùn)動補(bǔ)償單元35僅執(zhí)行三種運(yùn)動補(bǔ)償雙向預(yù)測性算法中的兩者而非執(zhí)行所有三者,且接著選擇三種所得版本中更適當(dāng)?shù)乇硎疽曨l數(shù)據(jù)的版本。所述技術(shù)因此不僅通過消除所述算法中的至少一者的執(zhí)行來促進(jìn)更有效率的選擇,而且還消除額外R-D分析成本函數(shù)計(jì)算,因?yàn)閮H第一版本及第二版本為此分析的主題。在此方面,可由視頻編碼器50實(shí)施所述技術(shù)以更有效率地在三種運(yùn)動補(bǔ)償雙向預(yù)測性算法之間進(jìn)行選擇。圖3為更詳細(xì)地說明圖2的運(yùn)動補(bǔ)償單元35的實(shí)例的框圖。如圖3的實(shí)例中所展示,運(yùn)動補(bǔ)償單元35耦合到參考幀存儲裝置34,參考幀存儲裝置34將上述第一經(jīng)譯碼單元或參考幀集合及第二經(jīng)譯碼單元或參考幀集合存儲為列表0 52A及列表1 52B。運(yùn)動補(bǔ)償單元35可首先從參考幀存儲裝置34中檢索至少兩個參考幀。通常,運(yùn)動補(bǔ)償單元35從列表0 52A中檢索至少一個幀及從列表1 52A中檢索至少一個幀。列表0 52A及列表152B 中的這些幀可在本發(fā)明中分別被稱為第一參考幀及第二參考幀。通常,運(yùn)動補(bǔ)償單元35檢索運(yùn)動估計(jì)單元32所指示的第一參考幀及第二參考幀。如圖3中進(jìn)一步展示,運(yùn)動補(bǔ)償單元35包括默認(rèn)預(yù)測模塊54、偏移計(jì)算模塊56、 比較器58、顯式預(yù)測模塊60、隱式預(yù)測模塊62及速率-失真(R-D)分析模塊64( "R-D分析模塊64”)。默認(rèn)預(yù)測模塊54可表示實(shí)施上文關(guān)于方程式(1)所描述的默認(rèn)加權(quán)預(yù)測算法的硬件及/或軟件模塊。偏移計(jì)算模塊56可表示以上文所描述的方式來計(jì)算例如DC偏移值的偏移值的硬件及/或軟件模塊。比較器58可表示將偏移值與閾值(其在圖3中展示為閾值66)比較的硬件及/ 或軟件模塊。顯式預(yù)測模塊60可表示實(shí)施上文關(guān)于方程式(2)所描述的顯式加權(quán)預(yù)測算法的硬件及/或軟件模塊。隱式預(yù)測模塊62可表示實(shí)施上文關(guān)于方程式(3)所描述的隱式加權(quán)預(yù)測算法的硬件及/或軟件模塊。R-D分析模塊64可表示實(shí)施上文所描述的R-D分析的硬件及/或軟件模塊。R-D分析模塊64可實(shí)施例如方程式(4)所表示的成本函數(shù)的成本函數(shù)68,且使用成本函數(shù)68來計(jì)算成本70A及70B( “成本70”)。R-D分析可使所述分析基于這些成本70。雖然在圖3中展示為包含各種模塊54到64,但這些模塊54到64是出于示范的目的而提供。可將模塊54到64中的一者或一者以上實(shí)施為運(yùn)動補(bǔ)償單元35內(nèi)的集成模塊。 或者,運(yùn)動補(bǔ)償單元35可通常包含在處理器上執(zhí)行的軟件或計(jì)算機(jī)程序。在此狀況下,各種模塊可因此表示較大軟件程序的軟件模塊或組件。軟件程序可包含可由處理器執(zhí)行且使處理器執(zhí)行本發(fā)明中所描述的技術(shù)的多個指令。在任何情況下,在檢索或以其它方式接收第一參考幀及第二參考幀之后,運(yùn)動補(bǔ)償單元35均可調(diào)用或以其它方式使默認(rèn)預(yù)測模塊54根據(jù)上述方程式(1)而產(chǎn)生代表B幀 (或更一般化地,預(yù)測性幀)的預(yù)測性視頻塊的第一版本的預(yù)測性數(shù)據(jù)。默認(rèn)預(yù)測模塊54 可將此第一版本輸出到偏移計(jì)算模塊56,偏移計(jì)算模塊56可用上文所描述的方式來計(jì)算偏移值。即,偏移計(jì)算模塊56可基于第一版本與第一參考幀及第二參考幀內(nèi)的原始視頻數(shù)據(jù)或?qū)?yīng)塊之間的比較而計(jì)算偏移值。在一些例子中,偏移計(jì)算模塊56可確定偏移值的絕對值且輸出呈此絕對值形式的這些偏移值。偏移計(jì)算模塊56可將這些偏移值轉(zhuǎn)發(fā)到比較器58,比較器58可將偏移值與閾值66比較。閾值66可經(jīng)計(jì)劃性地設(shè)定、自動地設(shè)定或靜態(tài)地設(shè)定。通常,將閾值66設(shè)定為值零(0)。基于比較,比較器58可將激活代碼發(fā)出到顯式預(yù)測模塊60及隱式預(yù)測模塊62兩者。激活代碼可激活顯式預(yù)測模塊60及隱式預(yù)測模塊62中的一者或另一者而非此兩者。 如上述實(shí)例中所描述,當(dāng)偏移值中的一者或一者以上超過閾值66時,比較器58可產(chǎn)生及發(fā)射激活顯式預(yù)測模塊60而非隱式預(yù)測模塊62的激活代碼。當(dāng)偏移值中的一者或一者以上不超過閾值66時,比較器58可產(chǎn)生及發(fā)射激活隱式預(yù)測模塊62而非顯式預(yù)測模塊60的激活代碼?;诩せ畲a,顯式預(yù)測模塊60或隱式預(yù)測模塊62產(chǎn)生預(yù)測性幀的預(yù)測性視頻塊的第二版本。顯式預(yù)測模塊60或隱式預(yù)測模塊62中經(jīng)激活的模塊可將此第二版本發(fā)射到R-D分析模塊64。雖然關(guān)于激活代碼進(jìn)行描述,但顯式預(yù)測模塊60或隱式預(yù)測模塊62 的激活可用任何數(shù)目種方式發(fā)生。在一些實(shí)施例中,顯式預(yù)測模塊60及隱式預(yù)測模塊62 兩者均可產(chǎn)生預(yù)測性視頻塊的不同版本。在這些實(shí)施例中,多路復(fù)用器或其它選擇邏輯可基于激活代碼而從這些不同版本中選擇第二版本,且將選定版本或第二版本發(fā)射到R-D分析模塊64。不管如何獲得或確定第二版本,R-D分析模塊64均可在某一點(diǎn)處還接收同一預(yù)測性視頻塊的第一版本。R-D分析模塊64可用上文所描述的方式來確定第一版本及第二版本的第一失真值72A及第二失真值72B( “失真72A”及“失真72B”)。R-D分析模塊64還可存儲或以其它方式維持蘭姆達(dá)值74 ( “蘭姆達(dá)74”)及位速率值76 ( “速率76”)。R-D分析模塊64可提供失真值72A、72B( “失真值72”)中的適當(dāng)失真值、蘭姆達(dá)值74及位速率值76以作為對成本函數(shù)68的輸入,成本函數(shù)68輸出與第一版本相關(guān)聯(lián)的成本值70A。R-D 分析模塊64可同樣提供失真值72中的適當(dāng)失真值、蘭姆達(dá)值74及位速率值76以作為對成本函數(shù)68的輸入,成本函數(shù)68輸出與第二版本相關(guān)聯(lián)的成本值70B。
R-D分析模塊76可接著將成本70彼此比較以確定成本70中哪一者低于另一者。 R-D分析模塊76可接著輸出計(jì)算出成本70中的較低成本所針對的預(yù)測性視頻塊的第一版本或第二版本。R-D分析模塊76可輸出第一版本及第二版本中此較低成本的版本以作為代表預(yù)測性視頻塊的預(yù)測性數(shù)據(jù)。在一些例子中,如上文所描述,R-D分析模塊64輸出顯式預(yù)測模塊60所預(yù)測的第二版本及偏移計(jì)算模塊56所計(jì)算的偏移值以作為預(yù)測性數(shù)據(jù)。由于僅必須對第三經(jīng)譯碼單元的兩種版本而非三種版本執(zhí)行R-D分析,所以運(yùn)動補(bǔ)償單元35可更有效率地編碼預(yù)測性視頻塊。此效率可指代計(jì)算效率,其還可轉(zhuǎn)化為更有效率的功率消耗。盡管上文關(guān)于預(yù)測性視頻塊進(jìn)行描述,但所述技術(shù)可應(yīng)用于幀的任何其它部分 (例如,片斷)以及整個幀。如上文關(guān)于方程式(1)到(3)所提及,proj、projO及projl 變量指代相應(yīng)參考幀的特定塊。所述技術(shù)可應(yīng)用于選自所述幀的作為所述幀的所有塊的代表的特定塊,且視所選擇的版本而定,運(yùn)動補(bǔ)償單元35可應(yīng)用與關(guān)于選定參考塊所確定的預(yù)測性算法相同的預(yù)測性算法以編碼整個預(yù)測性幀?;蛘撸A(yù)測性幀的每一個別塊可經(jīng)受本發(fā)明中所描述的技術(shù)以針對給定預(yù)測性幀中的每一預(yù)測性塊有效率地選擇一預(yù)測模式。 在其它方面中,所述技術(shù)可用上文所描述的兩種方式中的任一者而在片斷等級下應(yīng)用。因此,不應(yīng)將本發(fā)明中為了執(zhí)行上文所描述的預(yù)測算法中的特定預(yù)測算法而參考預(yù)測性視頻塊視為限制性的。相反,對預(yù)測性視頻塊的參考可大體上包括前述實(shí)例中的任一者以及未在本發(fā)明中明確地描述但通過本發(fā)明容易被理解或外推的實(shí)例。圖4為說明視頻編碼器在執(zhí)行本發(fā)明中所描述的技術(shù)時的實(shí)例操作的流程圖。雖然關(guān)于圖2的特定視頻編碼器50且更確切地說為視頻編碼器50的特定組件(例如,圖3 的運(yùn)動補(bǔ)償單元35)進(jìn)行描述,但所述技術(shù)可通過上文關(guān)于圖1所提及的任何裝置以硬件及/或軟件進(jìn)行實(shí)施。首先,運(yùn)動補(bǔ)償單元35且更確切地說為默認(rèn)預(yù)測模塊54 (例如)根據(jù)上述方程式(1)而執(zhí)行默認(rèn)加權(quán)預(yù)測,以從相應(yīng)第一參考幀及第二參考幀的第一參考視頻塊及第二參考視頻塊產(chǎn)生B幀的預(yù)測性視頻塊的第一版本(78)。如上文所描述,運(yùn)動補(bǔ)償單元35可從參考幀存儲裝置34中檢索完整的第一參考幀及第二參考幀或僅檢索第一參考視頻塊及第二參考視頻塊。默認(rèn)預(yù)測模塊54可接著將第一版本傳遞到偏移計(jì)算模塊56, 偏移計(jì)算模塊56可計(jì)算一個或一個以上偏移值(例如,呈絕對值形式的平均DC偏移值) (80)。偏移計(jì)算模塊56可接著將這一個或一個以上DC偏移值轉(zhuǎn)發(fā)到比較器58。比較器58可將這一個或一個以上DC偏移值與閾值66比較(82)?;诒容^,比較器58可發(fā)出激活信號以激活顯式預(yù)測模塊60或隱式預(yù)測模塊62中的任一者而非此兩者。 在圖4所示的實(shí)例操作中,比較器58可在確定DC偏移值超過閾值66 ( “是” 82)后即刻通過激活信號來激活顯式預(yù)測模塊60。然而,在確定DC偏移不超過閾值66 ( “否”82)后,比較器58即刻可通過激活信號來激活隱式預(yù)測模塊62。在DC偏移值超過閾值66且比較器58發(fā)出激活信號以激活顯式預(yù)測模塊60的例子中,顯式預(yù)測模塊60 (例如)根據(jù)上述方程式(2)而執(zhí)行顯式加權(quán)預(yù)測,以如上文所描述根據(jù)第一參考視頻塊及第二參考視頻塊產(chǎn)生預(yù)測視頻塊的第二版本(84)。在DC偏移值不超過閾值66且比較器58發(fā)出激活信號以激活隱式預(yù)測模塊62的例子中,隱式預(yù)測模塊 62 (例如)根據(jù)上述方程式(3)而執(zhí)行隱式加權(quán)預(yù)測,以如上文所描述根據(jù)第一參考視頻塊及第二參考視頻塊產(chǎn)生預(yù)測視頻塊的第二版本(86)。不管顯式預(yù)測模塊60或隱式預(yù)測模塊62中哪一者產(chǎn)生第二版本,模塊60、62中相應(yīng)經(jīng)激活的模塊均將第二版本傳遞到R-D分析模塊64。R-D分析模塊64還如上文所描述接收預(yù)測性視頻塊的第一版本且選擇第一版本及第二版本中的更適當(dāng)版本(88)。S卩,R-D分析模塊64可(例如)根據(jù)上述方程式(4) 而執(zhí)行上文所描述的R-D分析,以分別產(chǎn)生第一版本及第二版本中的每一者的成本70A及 70B,且選擇第一版本及第二版本中與成本70A、70B中的最低成本相關(guān)聯(lián)的版本。對于給定位速率,此選定版本“更適當(dāng)?shù)亍北硎绢A(yù)測視頻數(shù)據(jù)所對應(yīng)的原始視頻數(shù)據(jù)。運(yùn)動補(bǔ)償單元 35可接著輸出此選定版本,視頻編碼器22可繼續(xù)將其編碼為預(yù)測性B幀的預(yù)測性視頻塊。在一個方面中,當(dāng)經(jīng)計(jì)算DC偏移值的絕對值超過閾值時,運(yùn)動補(bǔ)償單元35可根據(jù)上述方程式(4)而執(zhí)行R-D分析,以在通過默認(rèn)加權(quán)預(yù)測所產(chǎn)生的預(yù)測性視頻塊的第一版本與通過使用默認(rèn)權(quán)重的顯式加權(quán)預(yù)測所產(chǎn)生的同一預(yù)測性視頻塊的第二版本之間進(jìn)行選擇。換句話說,運(yùn)動補(bǔ)償單元35可在顯式地編碼默認(rèn)權(quán)重或不顯式地編碼默認(rèn)權(quán)重之間進(jìn)行選擇。如上文所提出,此選擇的發(fā)生是因?yàn)楫?dāng)執(zhí)行顯式加權(quán)預(yù)測時,運(yùn)動補(bǔ)償單元35 還可編碼經(jīng)計(jì)算DC偏移值。然而,當(dāng)經(jīng)計(jì)算DC偏移的絕對值不超過閾值時,運(yùn)動補(bǔ)償單元35可根據(jù)上述方程式(4)而執(zhí)行R-D分析,以在通過默認(rèn)加權(quán)預(yù)測所產(chǎn)生的預(yù)測性視頻塊的第一版本與通過使用隱式確定權(quán)重的隱式加權(quán)預(yù)測所產(chǎn)生的同一預(yù)測性視頻塊的第二版本之間進(jìn)行選擇。 在此方面,運(yùn)動補(bǔ)償單元35可確定DC偏移不是編碼所必要的,且因此在第一版本與第二版本之間進(jìn)行選擇。由于將此經(jīng)計(jì)算DC偏移與閾值比較,所以換句話說,運(yùn)動補(bǔ)償單元35可在執(zhí)行隱式加權(quán)預(yù)測與顯式加權(quán)預(yù)測之間進(jìn)行選擇、執(zhí)行隱式加權(quán)預(yù)測及顯式加權(quán)預(yù)測中的選定加權(quán)預(yù)測而不執(zhí)行隱式加權(quán)預(yù)測及顯式加權(quán)預(yù)測中的未選定加權(quán)預(yù)測以產(chǎn)生第二版本,且將預(yù)測性視頻塊編碼為第一版本或第二版本。圖5為更詳細(xì)地說明視頻編碼器在執(zhí)行本發(fā)明中所描述的技術(shù)時的實(shí)例操作的流程圖。同樣,雖然關(guān)于圖2的特定視頻編碼器50且更確切地說為視頻編碼器50的特定組件(例如,圖3的運(yùn)動補(bǔ)償單元35)進(jìn)行描述,但所述技術(shù)可通過上文關(guān)于圖1所提及的任何裝置以硬件及/或軟件進(jìn)行實(shí)施。首先,如上文所描述,運(yùn)動補(bǔ)償單元35從參考幀存儲裝置34接收兩個參考視頻數(shù)據(jù)單元(例如,參考視頻塊)(100)。或者,運(yùn)動補(bǔ)償單元35可接收各自包括兩個參考視頻數(shù)據(jù)單元中的一者的兩個參考經(jīng)譯碼單元(例如,參考幀)。默認(rèn)預(yù)測模塊54可用上文 (例如)關(guān)于方程式(1)所描述的方式使用參考視頻塊來執(zhí)行默認(rèn)加權(quán)預(yù)測,以根據(jù)兩個 (例如,第一及第二)參考視頻塊產(chǎn)生預(yù)測性視頻數(shù)據(jù)單元(例如,預(yù)測性視頻塊)的第一版本(102、104)。在產(chǎn)生第一版本之后,默認(rèn)預(yù)測模塊54可將第一版本輸出到偏移計(jì)算模塊56。偏移計(jì)算模塊56可同樣用上文所描述的方式來計(jì)算預(yù)測性視頻塊的第一版本的偏移值(例如,上文所描述的DC偏移值)(106)。偏移計(jì)算模塊56可接著將偏移值輸出到比較器58,比較器58繼續(xù)將偏移值與閾值66比較(108)。如果根據(jù)經(jīng)計(jì)算偏移值所導(dǎo)出的一個或一個以上、平均值、可能全部或任何其它度量超過閾值66 (“是” 110),則比較器58可產(chǎn)生及輸出激活顯式預(yù)測模塊60而非隱式預(yù)測模塊62的激活代碼。如果根據(jù)經(jīng)計(jì)算偏移值所導(dǎo)出的一個或一個以上、平均值、均值、可能全部或任何度量不超過閾值66(“否” 110),則比較器58可產(chǎn)生及輸出激活隱式預(yù)測模塊62而非顯式預(yù)測模塊60的激活代碼。如果激活顯式預(yù)測模塊60,則顯式預(yù)測模塊60用上文關(guān)于(例如)方程式(2)所描述的方式使用兩個參考視頻塊來執(zhí)行顯式加權(quán)預(yù)測,以根據(jù)兩個參考視頻塊預(yù)測或產(chǎn)生預(yù)測性視頻數(shù)據(jù)單元(例如,預(yù)測性視頻塊)的第二版本(112、116)。然而,如果激活隱式預(yù)測模塊62,則隱式預(yù)測模塊52用上文關(guān)于(例如)方程式(3)所描述的方式使用參考視頻塊來執(zhí)行隱式加權(quán)預(yù)測,以根據(jù)參考視頻塊預(yù)測或產(chǎn)生預(yù)測性視頻塊的第二版本(114、 116)。不管哪一模塊產(chǎn)生預(yù)測性視頻塊的第二版本,顯式預(yù)測模塊60或隱式預(yù)測模塊62 均將第二版本輸出到R-D分析模塊64。R-D分析模塊64還可接收預(yù)測性視頻塊的第一版本且可用上文關(guān)于(例如)方程式(4)所描述的方式來執(zhí)行R-D分析以確定第一成本及第二成本72(118)。R-D分析模塊64可接著選擇成本72中的較低成本(120)。R-D分析模塊64可在選擇成本72中的較低成本時選擇與成本72中的較低成本相關(guān)聯(lián)的第一版本或第二版本中的任一者,且將與成本72中的較低成本相關(guān)聯(lián)的此版本編碼為第三經(jīng)譯碼單元(122)。圖6為說明經(jīng)譯碼單元124A到124E的實(shí)例時間排序序列的圖解。即,經(jīng)譯碼單元124A按時間出現(xiàn)于經(jīng)譯碼單元124B之前,經(jīng)譯碼單元124B按時間出現(xiàn)于經(jīng)譯碼單元 124C之前,經(jīng)譯碼單元124C按時間出現(xiàn)于經(jīng)譯碼單元124D之前,經(jīng)譯碼單元124D按時間又出現(xiàn)于經(jīng)譯碼單元124E之前。雖然經(jīng)譯碼單元124A到124E( “經(jīng)譯碼單元124”)按時間出現(xiàn)于彼此之前,但經(jīng)譯碼單元124中的一者或一者以上可在經(jīng)譯碼單元124中的另一者之前經(jīng)編碼。舉例來說,經(jīng)譯碼單元124A及124E各自表示與經(jīng)譯碼單元124中的每隔一個經(jīng)譯碼單元獨(dú)立地經(jīng)譯碼的I幀(因此,I幀中的“I”),而經(jīng)譯碼單元124B及124D各自表示根據(jù)經(jīng)譯碼單元124中的至少一個其它經(jīng)譯碼單元預(yù)測性地經(jīng)編碼的P幀(因此, P幀中的“P”)。因此,即使I幀124E出現(xiàn)于P幀124D之后,I幀124E也可按時間在P幀 124D之前經(jīng)譯碼,因?yàn)镮幀124E的編碼可能不取決于另一幀(其可能經(jīng)編碼或可能仍未經(jīng)編碼)。在任何情況下,經(jīng)譯碼單元124C均可表示根據(jù)上文所描述的三種運(yùn)動補(bǔ)償雙向預(yù)測算法中的一者所編碼的B幀(因此,B幀中的“B”)。如圖3所示,B幀124C的視頻數(shù)據(jù)單元126可根據(jù)按時間的先前幀的一部分或視頻數(shù)據(jù)單元(例如,P幀124B的視頻數(shù)據(jù)單元128)及按時間的后續(xù)或未來幀的一部分或視頻數(shù)據(jù)單元(例如,P幀124D的視頻數(shù)據(jù)單元130)兩者予以預(yù)測。雖然描述為根據(jù)按時間的第一先前幀124B及按時間的第二后續(xù)幀124D予以雙向地預(yù)測,但視頻數(shù)據(jù)單元104可根據(jù)兩個后續(xù)經(jīng)譯碼單元124或兩個先前經(jīng)譯碼單元124予以雙向地預(yù)測。視頻數(shù)據(jù)單元126、128及130可各自表示對應(yīng)視頻塊, 例如,宏塊或任何大小的任何其它視頻塊。對應(yīng)視頻塊可包含一對視頻塊,其彼此類似之處在于每一塊定義(作為一個實(shí)例)均值在設(shè)定或自適應(yīng)容差內(nèi)的像素?cái)?shù)據(jù)。此外,雖然展示為根據(jù)兩個直接相鄰幀124B及124D予以雙向地預(yù)測,但視頻數(shù)據(jù)單元126可根據(jù)不與B 幀124C相鄰的幀(例如,經(jīng)譯碼單元124A及經(jīng)譯碼單元124E)予以雙向地預(yù)測。在此方面,所述技術(shù)不應(yīng)限于本發(fā)明中所提供的實(shí)例。運(yùn)動估計(jì)單元32可定位對應(yīng)于視頻數(shù)據(jù)單元126的這些部分或視頻數(shù)據(jù)單元128 及130,且為了說明性目的起見,確定運(yùn)動向量132A及132B( “運(yùn)動向量132”)。運(yùn)動補(bǔ)償單元35可通過存取參考幀存儲裝置34且檢索P幀124B及124D(“P幀124”)來接收這些視頻數(shù)據(jù)單元128及130或直接從運(yùn)動估計(jì)單元32接收這些視頻數(shù)據(jù)單元128及130。值得注意的是,P幀124中的一者可包含來自被稱為列表052A的幀集合的幀,而P幀124中的另一者可包含來自被稱為列表152B的幀集合的幀。運(yùn)動補(bǔ)償單元35可接著實(shí)施本發(fā)明中所描述的技術(shù),以有效率地選擇通過使用部分128及130來僅執(zhí)行可能三種運(yùn)動補(bǔ)償雙向預(yù)測算法中的兩者所產(chǎn)生的視頻數(shù)據(jù)單元 126的兩種版本中的一者。在此實(shí)例中,所述技術(shù)是應(yīng)用于預(yù)測經(jīng)譯碼單元或B幀124C的一部分或視頻數(shù)據(jù)單元(例如,宏塊或任何其它大小的視頻塊)。無論是應(yīng)用于一部分(例如,視頻數(shù)據(jù)單元126)還是應(yīng)用于整個經(jīng)譯碼單元(例如,經(jīng)譯碼單元124C),所述技術(shù)均可有效率地在兩種版本而非三種版本之間進(jìn)行選擇??捎糜布?、軟件、固件或其任何組合來實(shí)施本文中所描述的技術(shù)。被描述為模塊、 單元或組件的任何特征可共同地實(shí)施于集成邏輯裝置中或分開實(shí)施為離散但可交互操作的邏輯裝置。在一些狀況下,各種特征可實(shí)施為集成電路裝置,例如,集成電路芯片或芯片組。如果是用軟件實(shí)施,則可至少部分地通過包含在經(jīng)執(zhí)行時使處理器執(zhí)行上述方法中的一者或一者以上的指令的計(jì)算機(jī)可讀媒體來實(shí)現(xiàn)所述技術(shù)。計(jì)算機(jī)可讀媒體可形成可包括封裝材料的計(jì)算機(jī)程序產(chǎn)品的一部分。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)數(shù)據(jù)存儲媒體,例如,隨機(jī)存取存儲器(RAM)、同步動態(tài)隨機(jī)存取存儲器 (SDRAM)、只讀存儲器(ROM)、非易失性隨機(jī)存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、快閃存儲器、磁性或光學(xué)數(shù)據(jù)存儲媒體等。另外或或者,可至少部分通過計(jì)算機(jī)可讀通信媒體來實(shí)現(xiàn)所述技術(shù),計(jì)算機(jī)可讀通信媒體載運(yùn)或傳達(dá)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的代碼且可通過計(jì)算機(jī)存取、讀取及/或執(zhí)行。代碼或指令可通過一個或一個以上處理器執(zhí)行,例如,一個或一個以上DSP、通用微處理器、ASIC、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。因此,如本文中所使用的術(shù)語“處理器”可指代上述結(jié)構(gòu)或適于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于專用軟件模塊或硬件模塊內(nèi)。本發(fā)明還預(yù)期包括用以實(shí)施本發(fā)明中所描述的技術(shù)中的一者或一者以上的電路的各種集成電路裝置中的任一者。此電路可提供于單個集成電路芯片中或提供于所謂的芯片組中的多個可交互操作的集成電路芯片中。這些集成電路裝置可用于各種應(yīng)用中,所述應(yīng)用中的一些可包括在無線通信裝置(例如,移動電話手持機(jī))中的使用。已描述本發(fā)明的各種實(shí)施例。這些及其它實(shí)施例是在所附權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種編碼視頻數(shù)據(jù)的方法,所述方法包含接收所述視頻數(shù)據(jù)的第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元中的每一者各自包含相應(yīng)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元;執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本,其中所述兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前或之后; 計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本的偏移值; 基于所述經(jīng)計(jì)算偏移值而選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式; 執(zhí)行所述選定模式以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的第二版本;將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
2.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含 計(jì)算所述偏移值的絕對值;以及將所述偏移值的所述絕對值與閾值比較,其中選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式包含基于所述比較而選擇所述隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本。
3.根據(jù)權(quán)利要求2所述的方法,其中執(zhí)行所述選定模式包含當(dāng)所述偏移值的所述絕對值超過所述閾值時,執(zhí)行顯式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本;以及當(dāng)所述偏移值的所述絕對值不超過所述閾值時,執(zhí)行隱式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本。
4.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含確定是所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本還是所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本更適當(dāng)?shù)鼐幋a所述視頻數(shù)據(jù),其中將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本包含基于所述確定而將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
5.根據(jù)權(quán)利要求4所述的方法,其中確定是所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本還是所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本更適當(dāng)?shù)鼐幋a所述視頻數(shù)據(jù)包含將所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本中的每一者與所述視頻數(shù)據(jù)的對應(yīng)部分比較以確定第一失真值及第二失真值,其中所述第一失真值及第二失真值各自分別指示通過所述第一版本及第二版本所引入的失真量;基于所述相應(yīng)第一失真值及第二失真值而計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本的第一成本及第二成本;比較所述第一成本與第二成本以確定所述成本中哪一者較低;以及基于所述比較而選擇所述第一版本或所述第二版本。
6.根據(jù)權(quán)利要求5所述的方法,其中計(jì)算所述第一成本及所述第二成本包含根據(jù)以下成本函數(shù)計(jì)算所述第一成本及第二成本中的每一者Fc = d+U。*R),其中F。包含代表所述成本函數(shù)的變量,d包含代表所述第一失真值或所述第二失真值的變量,λ。包含代表拉格朗日函數(shù)的變量,且R包含代表編碼所述視頻數(shù)據(jù)的位速率的變量。
7.根據(jù)權(quán)利要求1所述的方法,其中所述第一參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前,其中所述第二參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之后,其中所述預(yù)測性經(jīng)譯碼單元包含雙向預(yù)測幀(B幀),且其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元各自包含獨(dú)立譯碼幀(I幀)、預(yù)測幀(P 幀)或另一 B幀中的一者。
8.根據(jù)權(quán)利要求1所述的方法,其中接收所述第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元包含接收包括第一參考視頻塊的第一參考幀及包括第二參考視頻塊的第二參考幀,其中執(zhí)行所述默認(rèn)加權(quán)預(yù)測包含執(zhí)行所述默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第一版本,其中所述第一參考幀及第二參考幀按時間出現(xiàn)于所述預(yù)測性視頻幀之前或之后,其中計(jì)算所述偏移值包含計(jì)算所述預(yù)測性幀的所述預(yù)測性視頻塊的所述第一版本的所述偏移值,其中基于所述經(jīng)計(jì)算偏移值而選擇所述隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式包含基于所述經(jīng)計(jì)算偏移值而選擇所述隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式,其中執(zhí)行所述選定模式包含執(zhí)行所述選定模式以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測所述預(yù)測性幀的所述預(yù)測性視頻塊的第二版本,且其中編碼所述預(yù)測性視頻數(shù)據(jù)單元包含將所述預(yù)測性幀的所述預(yù)測性視頻塊編碼為所述第一版本或所述第二版本。
9.根據(jù)權(quán)利要求1所述的方法,其中編碼所述預(yù)測性視頻數(shù)據(jù)單元包含當(dāng)所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本包含使用所述顯式加權(quán)預(yù)測所預(yù)測的所述第二版本時,將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本及除了所述第二版本以外的所述偏移值。
10.根據(jù)權(quán)利要求1所述的方法,其中通過視頻編碼器或視頻編碼器/解碼器(CODEC) 執(zhí)行所述方法。
11.一種編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻編碼器,所述視頻編碼器包括存儲器,其存儲第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,其中所述第一參考經(jīng)譯碼單元包括第一參考視頻數(shù)據(jù)單元且所述第二參考經(jīng)譯碼單元包括第二參考視頻數(shù)據(jù)單元;以及運(yùn)動補(bǔ)償單元,其執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本, 其中所述兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前或之后;計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本的偏移值;基于所述經(jīng)計(jì)算偏移值而選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式;執(zhí)行所述選定模式以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的第二版本;及將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述運(yùn)動補(bǔ)償單元包含偏移計(jì)算模塊,其計(jì)算所述偏移值的絕對值;以及比較器,其將所述偏移值的所述絕對值與閾值比較,其中所述運(yùn)動補(bǔ)償單元基于所述比較而選擇所述隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述運(yùn)動補(bǔ)償單元包含顯式預(yù)測模塊,其在所述偏移值的所述絕對值超過所述閾值時執(zhí)行顯式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本;以及隱式預(yù)測模塊,其在所述偏移值的所述絕對值不超過所述閾值時執(zhí)行隱式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本。
14.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述運(yùn)動補(bǔ)償單元包括分析模塊,所述分析模塊確定是所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本還是所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本更適當(dāng)?shù)鼐幋a所述視頻數(shù)據(jù),其中所述運(yùn)動補(bǔ)償單元基于所述確定而將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
15.根據(jù)權(quán)利要求14所述的設(shè)備,其中所述分析模塊包含速率-失真(R-D)分析模塊, 所述R-D分析模塊進(jìn)行以下動作將所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本中的每一者與所述視頻數(shù)據(jù)的對應(yīng)部分比較以確定第一失真值及第二失真值,其中所述第一失真值及第二失真值各自分別指示通過所述第一版本及第二版本所引入的失真量;基于所述相應(yīng)第一失真值及第二失真值而計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本的第一成本及第二成本;比較所述第一成本與第二成本以確定所述成本中哪一者較低;及基于所述比較而選擇所述第一版本或所述第二版本。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中所述R-D分析模塊根據(jù)以下成本函數(shù)計(jì)算所述第一成本及第二成本中的每一者Fc = d+U。*R),其中F。包含代表所述成本函數(shù)的變量,d包含代表所述第一失真值或所述第二失真值的變量,λ。包含代表拉格朗日函數(shù)的變量,且R包含代表編碼所述視頻數(shù)據(jù)的位速率的變量。
17.根據(jù)權(quán)利要求11所述的設(shè)備,其中第一參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前,其中第二參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之后,其中所述預(yù)測性經(jīng)譯碼單元包含雙向預(yù)測幀(B幀),且其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元各自包含獨(dú)立譯碼幀(I幀)、預(yù)測幀(P 幀)或另一 B幀中的一者。
18.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元分別包含第一參考幀及第二參考幀,其中所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元分別包含來自所述第一參考幀的第一參考視頻塊及來自所述第二參考幀的第二參考視頻塊,其中所述運(yùn)動補(bǔ)償單元包括默認(rèn)預(yù)測模塊,其執(zhí)行所述默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第一版本,其中所述第一參考幀及第二參考幀按時間出現(xiàn)于所述預(yù)測性視頻幀之前或之后;偏移計(jì)算模塊,其計(jì)算所述預(yù)測性幀的所述預(yù)測性視頻塊的所述第一版本的所述偏移值;隱式預(yù)測模塊,其實(shí)施所述隱式加權(quán)預(yù)測;以及顯式預(yù)測模塊,其實(shí)施所述顯式加權(quán)預(yù)測,其中基于所述經(jīng)計(jì)算偏移值,所述隱式預(yù)測模塊或顯式預(yù)測模塊執(zhí)行所述隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測所述預(yù)測性幀的所述預(yù)測性視頻塊的第二版本,且其中所述運(yùn)動補(bǔ)償單元將所述預(yù)測性幀的所述預(yù)測性視頻塊編碼為所述第一版本或所述第二版本。
19.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述運(yùn)動補(bǔ)償單元進(jìn)一步在所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本包含使用所述顯式加權(quán)預(yù)測所預(yù)測的所述第二版本時將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本及除了所述第二版本以外的所述偏移值。
20.根據(jù)權(quán)利要求11所述的設(shè)備,其中設(shè)備包含視頻編碼器硬件或視頻編碼器/解碼器(CODEC)硬件。
21.一種編碼視頻數(shù)據(jù)的裝置,所述裝置包含用于編碼視頻數(shù)據(jù)的裝置,其中所述用于編碼視頻數(shù)據(jù)的裝置包括 用于存儲所述視頻數(shù)據(jù)的第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元的裝置,其中所述第一參考經(jīng)譯碼單元包括第一參考視頻數(shù)據(jù)單元且所述第二參考經(jīng)譯碼單元包括第二參考視頻數(shù)據(jù)單元;用于執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本的裝置,其中所述兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前或之后; 用于計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本的偏移值的裝置; 用于基于所述經(jīng)計(jì)算偏移值而執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測而非此兩者以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的第二版本的裝置;以及用于將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本的裝置。
22.根據(jù)權(quán)利要求21所述的裝置,其中所述用于計(jì)算的裝置進(jìn)一步包含 用于計(jì)算所述偏移值的絕對值的裝置;以及用于將所述偏移值的所述絕對值與閾值比較的裝置,其中所述用于執(zhí)行所述隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測的裝置基于所述比較而執(zhí)行所述隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本。
23.根據(jù)權(quán)利要求22所述的裝置,其中所述用于執(zhí)行所述隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測的裝置包含用于在所述偏移值的所述絕對值超過所述閾值時執(zhí)行所述顯式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本的裝置;以及用于在所述偏移值的所述絕對值不超過所述閾值時執(zhí)行所述隱式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本的裝置。
24.根據(jù)權(quán)利要求21所述的裝置,其進(jìn)一步包含用于確定是所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本還是所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本更適當(dāng)?shù)鼐幋a所述視頻數(shù)據(jù)的裝置,其中所述用于將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本的裝置基于所述確定而將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
25.根據(jù)權(quán)利要求24所述的裝置,其中所述用于確定是所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本還是所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本更適當(dāng)?shù)鼐幋a所述視頻數(shù)據(jù)的裝置包含用于將所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本中的每一者與所述視頻數(shù)據(jù)的對應(yīng)部分比較以確定第一失真值及第二失真值的裝置,其中所述第一失真值及第二失真值各自分別指示通過所述第一版本及第二版本所引入的失真量;用于基于所述相應(yīng)第一失真值及第二失真值而計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本的第一成本及第二成本的裝置;用于比較所述第一成本與第二成本以確定所述成本中哪一者較低的裝置;以及用于基于所述比較而選擇所述第一版本或所述第二版本的裝置。
26.根據(jù)權(quán)利要求25所述的裝置,其中所述用于計(jì)算所述第一成本及所述第二成本的裝置根據(jù)以下成本函數(shù)計(jì)算所述第一成本及第二成本中的每一者Fc = d+U。*R),其中F。包含代表所述成本函數(shù)的變量,d包含代表所述第一失真值或所述第二失真值的變量,λ。包含代表拉格朗日函數(shù)的變量,且R包含代表編碼所述視頻數(shù)據(jù)的位速率的變量。
27.根據(jù)權(quán)利要求21所述的裝置,其中所述第一參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前, 其中所述第二參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之后, 其中所述預(yù)測性經(jīng)譯碼單元包含雙向預(yù)測幀(B幀),且其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元各自包含獨(dú)立譯碼幀(I幀)、預(yù)測幀(P 幀)或另一 B幀中的一者。
28.根據(jù)權(quán)利要求21所述的裝置,其中所述用于存儲所述第一參考經(jīng)譯碼單元及第二不同參考經(jīng)譯碼單元的裝置存儲包括第一參考視頻塊的第一參考幀及包括第二參考視頻塊的第二參考幀,其中所述用于執(zhí)行所述默認(rèn)加權(quán)預(yù)測的裝置執(zhí)行所述默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第一版本,其中所述第一參考幀及第二參考幀按時間出現(xiàn)于所述預(yù)測性視頻幀之前或之后,其中所述用于計(jì)算所述偏移值的裝置計(jì)算所述預(yù)測性幀的所述預(yù)測性視頻塊的所述第一版本的所述偏移值,其中所述用于基于所述經(jīng)計(jì)算偏移值而執(zhí)行所述隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測的裝置基于所述經(jīng)計(jì)算偏移值而執(zhí)行所述隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測所述預(yù)測性幀的所述預(yù)測性視頻塊的第二版本,且其中所述用于編碼所述預(yù)測性視頻數(shù)據(jù)單元的裝置將所述預(yù)測性幀的所述預(yù)測性視頻塊編碼為所述第一版本或所述第二版本。
29.根據(jù)權(quán)利要求21所述的裝置,其中所述用于編碼所述預(yù)測性視頻數(shù)據(jù)單元的裝置在所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本包含使用所述顯式加權(quán)預(yù)測所預(yù)測的所述第二版本時將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本及除了所述第二版本以外的所述偏移值。
30.根據(jù)權(quán)利要求21所述的裝置,其中所述裝置是通過視頻編碼器硬件或視頻編碼器 /解碼器(CODEC)硬件執(zhí)行。
31.一種計(jì)算機(jī)可讀媒體,其包含用于使可編程處理器進(jìn)行以下動作的指令接收視頻數(shù)據(jù)的第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元中的每一者各自包含相應(yīng)第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元;執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述視頻數(shù)據(jù)的預(yù)測性經(jīng)譯碼單元的預(yù)測性視頻數(shù)據(jù)單元的第一版本,其中所述兩個參考經(jīng)譯碼單元中的每一者在時間上出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前或之后; 計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本的偏移值; 基于所述經(jīng)計(jì)算偏移值而選擇隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式; 執(zhí)行所述選定模式以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的第二版本;以及將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
32.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀媒體,其中所述指令進(jìn)一步使所述可編程處理器計(jì)算所述偏移值的絕對值;將所述偏移值的所述絕對值與閾值比較;以及基于所述比較而選擇所述隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式。
33.根據(jù)權(quán)利要求32所述的計(jì)算機(jī)可讀媒體,其中所述指令使所述可編程處理器當(dāng)所述偏移值的所述絕對值超過所述閾值時,執(zhí)行所述顯式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本;以及當(dāng)所述偏移值的所述絕對值不超過所述閾值時,執(zhí)行所述隱式加權(quán)預(yù)測以根據(jù)所述參考視頻數(shù)據(jù)單元預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本。
34.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀媒體,其中所述指令使所述可編程處理器確定是所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本還是所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本更適當(dāng)?shù)鼐幋a所述視頻數(shù)據(jù),其中所述指令使所述可編程處理器基于所述確定而將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或所述第二版本。
35.根據(jù)權(quán)利要求34所述的計(jì)算機(jī)可讀媒體,其中所述指令使所述可編程處理器將所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本中的每一者與所述視頻數(shù)據(jù)的對應(yīng)部分比較以確定第一失真值及第二失真值,其中所述第一失真值及第二失真值各自分別指示通過所述第一版本及第二版本所引入的失真量;基于所述相應(yīng)第一失真值及第二失真值而計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本及第二版本的第一成本及第二成本;比較所述第一成本與第二成本以確定所述成本中哪一者較低;以及基于所述比較而選擇所述第一版本或所述第二版本。
36.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀媒體,其中所述指令使所述可編程處理器根據(jù)以下成本函數(shù)而計(jì)算所述第一成本及第二成本中的每一者Fc = d+U。*R),其中F。包含代表所述成本函數(shù)的變量,d包含代表所述第一失真值或所述第二失真值的變量,λ。包含代表拉格朗日函數(shù)的變量,且R包含代表編碼所述視頻數(shù)據(jù)的位速率的變量。
37.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀媒體,其中所述第一參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之前, 其中所述第二參考經(jīng)譯碼單元按時間出現(xiàn)于所述預(yù)測性經(jīng)譯碼單元之后, 其中所述預(yù)測性經(jīng)譯碼單元包含雙向預(yù)測幀(B幀),且其中所述第一經(jīng)譯碼單元及第二經(jīng)譯碼單元各自包含獨(dú)立譯碼幀(I幀)、預(yù)測幀(P 幀)或另一 B幀中的一者。
38.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀媒體,其中所述指令使所述可編程處理器 接收包括第一參考視頻塊的第一參考幀及包括第二參考視頻塊的第二參考幀; 執(zhí)行所述默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測預(yù)測性幀的預(yù)測性視頻塊的第一版本,其中所述第一參考幀及第二參考幀按時間出現(xiàn)于所述預(yù)測性視頻幀之前或之后;計(jì)算所述預(yù)測性幀的所述預(yù)測性視頻塊的所述第一版本的所述偏移值; 基于所述經(jīng)計(jì)算偏移值而選擇所述隱式加權(quán)預(yù)測模式或顯式加權(quán)預(yù)測模式; 執(zhí)行所述選定模式以根據(jù)所述第一參考視頻塊及第二參考視頻塊預(yù)測所述預(yù)測性幀的所述預(yù)測性視頻塊的第二版本;以及將所述預(yù)測性幀的所述預(yù)測性視頻塊編碼為所述第一版本或所述第二版本。
39.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀媒體,其中所述指令使所述可編程處理器在所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本包含使用所述顯式加權(quán)預(yù)測所預(yù)測的所述第二版本時將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述預(yù)測性視頻數(shù)據(jù)單元的所述第二版本及除了所述第二版本以外的所述偏移值。
全文摘要
總地來說,本發(fā)明描述用于有效率地選擇用以根據(jù)參考視頻數(shù)據(jù)預(yù)測預(yù)測性視頻數(shù)據(jù)的預(yù)測模式的技術(shù)。確切地說,一種設(shè)備可包括存儲器,所述存儲器至少存儲第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元,所述第一參考經(jīng)譯碼單元及第二參考經(jīng)譯碼單元各自分別包括第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元。所述設(shè)備可進(jìn)一步包含運(yùn)動補(bǔ)償單元,所述運(yùn)動補(bǔ)償單元執(zhí)行默認(rèn)加權(quán)預(yù)測以根據(jù)所述第一參考視頻數(shù)據(jù)單元及第二參考視頻數(shù)據(jù)單元預(yù)測預(yù)測性視頻數(shù)據(jù)單元的第一版本,且計(jì)算所述預(yù)測性視頻數(shù)據(jù)單元的所述第一版本的偏移值。所述運(yùn)動補(bǔ)償單元可接著基于所述經(jīng)計(jì)算偏移值而執(zhí)行隱式加權(quán)預(yù)測或顯式加權(quán)預(yù)測以預(yù)測所述預(yù)測性視頻數(shù)據(jù)單元的第二版本,且將所述預(yù)測性視頻數(shù)據(jù)單元編碼為所述第一版本或第二版本。
文檔編號H04N7/26GK102172027SQ200980139697
公開日2011年8月31日 申請日期2009年10月6日 優(yōu)先權(quán)日2008年10月6日
發(fā)明者拉胡爾·潘查爾, 馬爾塔·卡切維奇 申請人:高通股份有限公司