欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于視頻譯碼的自適應(yīng)運(yùn)動(dòng)向量分辨率信令的制作方法

文檔序號(hào):11852786閱讀:212來(lái)源:國(guó)知局
用于視頻譯碼的自適應(yīng)運(yùn)動(dòng)向量分辨率信令的制作方法與工藝

2014年1月9日申請(qǐng)的第61/925,633號(hào)美國(guó)臨時(shí)申請(qǐng)案,

2014年3月17日申請(qǐng)的第61/954,457號(hào)美國(guó)臨時(shí)申請(qǐng)案,及

2014年10月16日申請(qǐng)的第62/064,761號(hào)美國(guó)臨時(shí)申請(qǐng)案,

其以全文引用的方式并入本文中。

技術(shù)領(lǐng)域

本發(fā)明涉及視頻譯碼,并且更確切地說(shuō)涉及幀間預(yù)測(cè)視頻譯碼。



背景技術(shù):

數(shù)字視頻能力可并入到多種多樣的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無(wú)線電電話、視頻電話會(huì)議裝置和類似者。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù)(例如,由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高級(jí)視頻譯碼(AVC)界定的標(biāo)準(zhǔn)及此類標(biāo)準(zhǔn)的擴(kuò)展中所描述的視頻壓縮技術(shù)),以更有效率地發(fā)射及接收數(shù)字視頻信息。

視頻壓縮技術(shù)執(zhí)行空間預(yù)測(cè)和/或時(shí)間預(yù)測(cè)以減少或移除視頻序列中固有的冗余。對(duì)于基于塊的視頻譯碼來(lái)說(shuō),可將視頻幀或切片分割為多個(gè)宏塊。可進(jìn)一步分割每一宏塊。使用相對(duì)于相鄰宏塊的空間預(yù)測(cè)來(lái)編碼經(jīng)幀內(nèi)譯碼(I)幀或切片中的宏塊。經(jīng)幀間譯碼(P或B)幀或切片中的宏塊可使用相對(duì)于同一幀或切片中的相鄰宏塊的空間預(yù)測(cè)或相對(duì)于其它參考幀的時(shí)間預(yù)測(cè)。



技術(shù)實(shí)現(xiàn)要素:

一般來(lái)說(shuō),本發(fā)明描述用于自適應(yīng)地選擇用于編碼視頻數(shù)據(jù)塊的運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度及用于通過(guò)視頻解碼器確定視頻編碼器為所述塊中的每一者選擇的同一運(yùn)動(dòng)向量精度的技術(shù)。

在一個(gè)實(shí)例中,一種解碼經(jīng)編碼視頻數(shù)據(jù)的方法包含確定第一塊的譯碼模式是合并模式;確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度;建構(gòu)第一塊分合并候選者列表,其中所述合并候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者;選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼所述第一塊;舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量;及使用所述整數(shù)像素精度運(yùn)動(dòng)向量定位所述第一塊的參考?jí)K。

在另一實(shí)例中,一種編碼視頻數(shù)據(jù)的方法包含:確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度;建構(gòu)所述第一塊的合并候選者列表,其中所述合并候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者;選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以編碼所述第一塊;為使用合并模式譯碼所述第一塊,舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量;及使用所述整數(shù)像素精度運(yùn)動(dòng)向量定位所述第一塊的參考?jí)K。

在另一實(shí)例中,一種用于視頻解碼的裝置包含經(jīng)配置以存儲(chǔ)視頻數(shù)據(jù)的存儲(chǔ)器及視頻解碼器,視頻解碼器包括一或多個(gè)處理器,其經(jīng)配置以:確定第一塊的譯碼模式是合并模式;確定所述第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度;構(gòu)建所述第一塊的合并候選者列表,其中所述合并候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者;選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼所述第一塊;舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量;及使用所述整數(shù)像素精度運(yùn)動(dòng)向量定位所述第一塊的參考?jí)K。

在另一實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體存儲(chǔ)指令,所述指令在由一或多個(gè)處理器執(zhí)行時(shí)致使所述一或多個(gè)處理器:確定第一塊的譯碼模式是合并模式;確定所述第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度;構(gòu)建所述第一塊的合并候選者列表,其中所述合并候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者;選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼所述第一塊;舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量;及使用所述整數(shù)像素精度運(yùn)動(dòng)向量定位所述第一塊的參考?jí)K。

在另一實(shí)例中,一種用于解碼經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包含:用于確定第一塊的譯碼模式是合并模式的裝置;用于確定所述第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度的裝置;用于構(gòu)建所述第一塊的合并候選者列表的裝置,其中所述合并候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者;用于選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼所述第一塊的裝置;用于舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量的裝置;及用于使用所述整數(shù)像素精度運(yùn)動(dòng)向量定位所述第一塊的參考?jí)K的裝置。

附圖及以下描述中陳述一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)和優(yōu)點(diǎn)將從所述描述和圖式以及權(quán)利要求書而顯而易見(jiàn)。

附圖說(shuō)明

圖1是說(shuō)明可利用用于支持自適應(yīng)運(yùn)動(dòng)向量分辨率的本發(fā)明的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。

圖2為說(shuō)明可實(shí)施用于支持自適應(yīng)運(yùn)動(dòng)向量分辨率的視頻編碼器的實(shí)例的框圖。

圖3是圖解說(shuō)明對(duì)經(jīng)編碼視頻序列進(jìn)行解碼的視頻解碼器的實(shí)例的框圖。

圖4是說(shuō)明全像素位置的分?jǐn)?shù)像素位置的概念圖。

圖5A到5C是說(shuō)明對(duì)應(yīng)色度及明度像素位置的概念圖。

圖6是用于解碼器側(cè)運(yùn)動(dòng)向量導(dǎo)出(DMVD)的實(shí)例L狀模板匹配的圖解說(shuō)明。

圖7是說(shuō)明實(shí)例基于鏡的雙向MV導(dǎo)出的概念圖。

圖8是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行編碼的實(shí)例方法的流程圖。

圖9是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行解碼的實(shí)例方法的流程圖。

圖10是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖11是說(shuō)明譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖12是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖13是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖14是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖15是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖16是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

圖17是說(shuō)明用于譯碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。

具體實(shí)施方式

一般來(lái)說(shuō),本發(fā)明描述用于自適應(yīng)地選擇用于編碼視頻數(shù)據(jù)塊的運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度及用于通過(guò)視頻解碼器確定視頻編碼器為所述塊中的每一者選擇的同一運(yùn)動(dòng)向量精度的技術(shù)。根據(jù)一些技術(shù),視頻解碼器可在沒(méi)有經(jīng)編碼視頻位流中的顯式信令的情況下導(dǎo)出由視頻編碼器選擇的運(yùn)動(dòng)向量精度。根據(jù)其它技術(shù)技術(shù),視頻編碼器可在經(jīng)編碼視頻位流中發(fā)信號(hào)通知選定的運(yùn)動(dòng)向量精度。本發(fā)明的技術(shù)可包含(例如)在整數(shù)像素精度與不同水平的子整數(shù)像素精度(有時(shí)被稱作分?jǐn)?shù)像素精度)之間自適應(yīng)地選擇。例如,所述技術(shù)可包含在用于編碼視頻數(shù)據(jù)塊的運(yùn)動(dòng)向量的整數(shù)像素精度與四分之一像素精度或八分之一像素精度之間自適應(yīng)地選擇。本發(fā)明中的術(shù)語(yǔ)“八分之一像素”既定是指像素的八分之一(1/8)的精度,例如,以下各者中的一者:全像素位置(0/8)、像素的八分之一(1/8)、像素的八分之二(2/8,也稱為像素的四分之一)、像素的八分之三(3/8)、像素的八分之四(4/8,也稱為像素的二分之一及像素的四分之二)、像素的八分之五(5/8)、像素的八分之六(6/8,也稱為像素的四分之三),或像素的八分之七(7/8)。

常規(guī)的H.264及H.265編碼器及解碼器支持具有四分之一像素精度的運(yùn)動(dòng)向量。然而,此類像素精度既不發(fā)信號(hào)通知也不導(dǎo)出,而是固定的。在一些情況下,八分之一像素精度可提供優(yōu)于四分之一像素精度或整數(shù)像素精度的某些優(yōu)點(diǎn)。然而,將每個(gè)運(yùn)動(dòng)向量編碼到八分之一像素精度可需要太多的譯碼位,其可超過(guò)原本由八分之一像素精度運(yùn)動(dòng)向量提供的益處。對(duì)于某個(gè)類型的視頻內(nèi)容,在完全沒(méi)有內(nèi)插的情況下(換句話說(shuō),僅使用整數(shù)像素精度)來(lái)譯碼運(yùn)動(dòng)向量可為優(yōu)選的。

屏幕內(nèi)容(例如由計(jì)算機(jī)產(chǎn)生的內(nèi)容)通常涉及全部具有確切相同的像素值接著是像素值中的急劇改變的一連串像素。例如,在白色背景上包含藍(lán)色文本的屏幕內(nèi)容中,形成藍(lán)色字母的像素可全部具有同一像素值,而白色背景也全部具有同一像素值,白色像素值可顯著不同于藍(lán)色像素值。相比之下,相機(jī)所獲取的內(nèi)容通常包含歸因于運(yùn)動(dòng)、陰影、照明改變及其它自然現(xiàn)象而引起的像素值中的緩慢改變。因?yàn)槠聊粌?nèi)容及相機(jī)所獲取的內(nèi)容通常具有不同特性,所以對(duì)一個(gè)有效的譯碼工具可不一定對(duì)另一個(gè)有效。作為一個(gè)實(shí)例,用于幀間預(yù)測(cè)編碼的子像素內(nèi)插可提高相機(jī)內(nèi)容的譯碼,但相關(guān)聯(lián)的復(fù)雜度及信令開(kāi)銷可實(shí)際上降低了譯碼質(zhì)量及/或屏幕內(nèi)容的帶寬效率。

本發(fā)明的技術(shù)包含基于(例如)被譯碼的視頻的內(nèi)容而自適應(yīng)地確定運(yùn)動(dòng)向量精度。在一些實(shí)例中,本發(fā)明的技術(shù)包含通過(guò)編碼器導(dǎo)出被譯碼的視頻內(nèi)容的適當(dāng)?shù)倪\(yùn)動(dòng)向量精度。使用同一導(dǎo)出技術(shù),視頻解碼器還可在不接收指示運(yùn)動(dòng)向量精度的語(yǔ)法元素的情況下確定使用什么運(yùn)動(dòng)向量精度編碼所述視頻數(shù)據(jù)。在其它實(shí)例中,視頻編碼器可在經(jīng)編碼視頻位流中發(fā)信號(hào)通知由視頻編碼器選擇的運(yùn)動(dòng)向量精度。

自適應(yīng)地選擇運(yùn)動(dòng)向量精度可通過(guò)使得能夠?qū)⑤^高的精度運(yùn)動(dòng)向量(例如1/4或1/8精度運(yùn)動(dòng)向量)用于視頻內(nèi)容而提高整體視頻譯碼質(zhì)量,此類較高精度運(yùn)動(dòng)向量在所述視頻內(nèi)容中的使用會(huì)通過(guò)例如產(chǎn)生更好的速率-失真權(quán)衡而提高視頻譯碼質(zhì)量。自適應(yīng)地選擇運(yùn)動(dòng)向量精度還可通過(guò)使得能夠使用較低精度運(yùn)動(dòng)向量(例如整數(shù)精度)用于視頻內(nèi)容而提高整體視頻譯碼質(zhì)量,在所述視頻內(nèi)容中使用較高精度運(yùn)動(dòng)向量不會(huì)提高或甚至惡化視頻譯碼質(zhì)量。

可參考視頻譯碼器來(lái)描述本發(fā)明中的各種技術(shù),其既定為可指代視頻編碼器或視頻解碼器的通用術(shù)語(yǔ)。除非以其它方式明確陳述,否則不應(yīng)假定相對(duì)于視頻編碼器或視頻解碼器描述的技術(shù)不可由視頻編碼器或視頻解碼器中的另一者來(lái)執(zhí)行。舉例來(lái)說(shuō),在許多情況下,視頻解碼器執(zhí)行與視頻編碼器相同或有時(shí)互逆的譯碼技術(shù),以便解碼經(jīng)編碼視頻數(shù)據(jù)。在許多情況下,視頻編碼器還包含視頻解碼環(huán),且因此視頻編碼器執(zhí)行視頻解碼作為編碼視頻數(shù)據(jù)的一部分。因此,除非另外說(shuō)明,否則本發(fā)明中相對(duì)于視頻解碼器所描述的技術(shù)還可由視頻編碼器執(zhí)行,且反之亦然。

本發(fā)明還可使用例如當(dāng)前層當(dāng)前塊、當(dāng)前圖片、當(dāng)前切片等術(shù)語(yǔ)。在本發(fā)明的上下文中,術(shù)語(yǔ)當(dāng)前既定識(shí)別當(dāng)前正譯碼的層、塊、圖片、切片等,例如與先前經(jīng)譯碼層、塊、圖片和切片或待譯碼塊、圖片和切片相反。

圖1是說(shuō)明可利用用于支持自適應(yīng)運(yùn)動(dòng)向量分辨率的本發(fā)明的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10包含經(jīng)由通信信道16將經(jīng)編碼視頻傳輸?shù)侥康牡匮b置14的源裝置12。源裝置12及目的地裝置14可包括廣泛范圍的裝置中的任一者。在一些情況下,源裝置12及目的地裝置14可包括無(wú)線通信裝置,例如無(wú)線手持機(jī)、所謂的蜂窩式或衛(wèi)星無(wú)線電電話,或可經(jīng)由通信信道16傳送視頻信息的任何無(wú)線裝置,在所述情況下,通信信道16為無(wú)線的。然而,一般涉及用于支持運(yùn)動(dòng)向量的自適應(yīng)子像素精度的本發(fā)明的技術(shù)不一定受限于無(wú)線應(yīng)用或環(huán)境。舉例來(lái)說(shuō),這些技術(shù)可應(yīng)用于空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、因特網(wǎng)視頻傳輸、編碼到存儲(chǔ)媒體上的經(jīng)編碼數(shù)字視頻,或其它情形。因此,通信信道16可包括適合于傳輸經(jīng)編碼視頻數(shù)據(jù)的無(wú)線或有線媒體的任何組合。

在圖1的實(shí)例中,源裝置12包括視頻源18、視頻編碼器20、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)22和發(fā)射器24。目的地裝置14包含接收器26、調(diào)制解調(diào)器28、視頻解碼器30及顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應(yīng)用用于支持運(yùn)動(dòng)向量的自適應(yīng)子像素精度的技術(shù)。在其它實(shí)例中,源裝置和目的地裝置可包括其它組件或布置。舉例來(lái)說(shuō),源裝置12可從外部視頻源18(例如外部相機(jī))接收視頻數(shù)據(jù)。同樣,目的地裝置14可與外部顯示裝置介接,而非包含集成式顯示裝置。

圖1的圖解說(shuō)明的系統(tǒng)10只是一個(gè)實(shí)例。用于支持運(yùn)動(dòng)向量的自適應(yīng)子像素精度的技術(shù)可由任何數(shù)字視頻編碼和/或解碼裝置執(zhí)行。盡管本發(fā)明的技術(shù)一般通過(guò)視頻編碼裝置來(lái)執(zhí)行,但是所述技術(shù)還可通過(guò)視頻編碼器/解碼器(通常被稱作“CODEC”)來(lái)執(zhí)行。此外,本發(fā)明的技術(shù)還可由視頻預(yù)處理器執(zhí)行。源裝置12及目的地裝置14僅為源裝置12產(chǎn)生經(jīng)譯碼視頻數(shù)據(jù)以用于發(fā)射到目的地裝置14的所述譯碼裝置的實(shí)例。在一些實(shí)例中,裝置12、14可以大體上對(duì)稱的方式操作,使得裝置12、14中的每一者包含視頻編碼及解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻傳輸以例如用于視頻流式傳輸、視頻回放、視頻廣播或視頻電話。

源裝置12的視頻源18可包括視頻俘獲裝置,例如攝像機(jī)、視頻檔案(包含先前俘獲的視頻)和/或從視頻內(nèi)容提供者的視頻饋送。作為另一替代方案,視頻源18可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù)作為源視頻,或?qū)崨r視頻、經(jīng)存檔視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18為視頻攝像機(jī),那么源裝置12和目的地裝置14可形成所謂的攝像機(jī)電話或視頻電話。然而,如上文所提及,本發(fā)明中所描述的技術(shù)可大體上適用于視頻譯碼,且可應(yīng)用于無(wú)線和/或有線應(yīng)用。在每一情況下,可由視頻編碼器20對(duì)所俘獲、預(yù)先俘獲或計(jì)算機(jī)產(chǎn)生的視頻進(jìn)行編碼。經(jīng)編碼視頻信息可接著由調(diào)制解調(diào)器22根據(jù)通信標(biāo)準(zhǔn)進(jìn)行調(diào)制,且經(jīng)由發(fā)射器24發(fā)射到目的地裝置14。調(diào)制解調(diào)器22可包含各種混頻器、濾波器、放大器或其它經(jīng)設(shè)計(jì)用于信號(hào)調(diào)制的組件。發(fā)射器24可包含設(shè)計(jì)成用于傳輸數(shù)據(jù)的電路,包含放大器、濾波器及一或多個(gè)天線。

目的地裝置14的接收器26經(jīng)由信道16接收信息,并且調(diào)制解調(diào)器28對(duì)所述信息進(jìn)行解調(diào)。同樣,視頻編碼過(guò)程可實(shí)施本文中描述的用于支持運(yùn)動(dòng)向量的自適應(yīng)子像素精度的技術(shù)中的一或多者。在信道16上傳送的信息可包含由視頻編碼器20界定的語(yǔ)法信息,所述語(yǔ)法信息還由視頻解碼器30使用,所述語(yǔ)法元素包含描述宏塊及其它經(jīng)譯碼單元(例如,圖片群組(GOP))的特性及/或處理的語(yǔ)法元素。顯示裝置32將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示裝置中的任一者,例如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。

在圖1的實(shí)例中,通信信道16可包括任何無(wú)線或有線通信媒體,例如射頻(RF)頻譜或一或多個(gè)物理傳輸線,或無(wú)線與有線媒體的任何組合。通信頻道16可形成基于包的網(wǎng)絡(luò)(例如局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。通信信道16大體上表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的地裝置14的任何合適的通信媒體或不同通信媒體的集合,包含有線或無(wú)線媒體的任何合適的組合。通信信道16可包含路由器、交換器、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任何其它裝備。

視頻編碼器20及視頻解碼器30可根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如ITU-T H.264標(biāo)準(zhǔn),替代地稱作MPEG-4,第10部分,高級(jí)視頻譯碼(AVC))操作。但是,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。其它實(shí)例包含MPEG-2及ITU-T H.263。盡管在圖1中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當(dāng)?shù)腗UX-DEMUX單元或其它硬件和軟件以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。如果適用,則MUX-DEMUX單元可符合ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等其它協(xié)議。

ITU-T H.264/MPEG-4(AVC)標(biāo)準(zhǔn)是作為被稱為聯(lián)合視頻小組(JVT)的集體合作伙伴的產(chǎn)品而由ITU-T視頻譯碼專家組(VCEG)連同ISO/IEC移動(dòng)圖片專家組(MPEG)制定。在一些方面中,本發(fā)明中描述的技術(shù)可應(yīng)用到大體符合H.264標(biāo)準(zhǔn)的裝置。ITU-T研究組在2005年3月在ITU-T推薦H.264“用于通用音視頻服務(wù)的高級(jí)視頻譯碼(Advanced Video Coding for generic audiovisual services)”中描述了H.264標(biāo)準(zhǔn),其在本文中可被稱作H.264標(biāo)準(zhǔn)或H.264規(guī)范或H.264/AVC標(biāo)準(zhǔn)或規(guī)范。聯(lián)合視頻組(JVT)不斷致力于H.264/AVC的擴(kuò)展,并且開(kāi)發(fā)新的標(biāo)準(zhǔn),例如,針對(duì)HEVC。

視頻編碼器20和視頻解碼器30各自可實(shí)施為多種合適的編碼器和解碼器電路中的任一者,例如一或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、離散邏輯、軟件、硬件固件或其任何組合。視頻編碼器20及視頻解碼器30中的每一者可包含于一或多個(gè)編碼器或解碼器中,其中的任一者可集成為相應(yīng)相機(jī)、計(jì)算機(jī)、移動(dòng)裝置、訂戶裝置、廣播裝置、機(jī)頂盒、服務(wù)器或其類似者中的組合式編碼器/解碼器(編解碼器)的部分。

視頻序列通常包含一系列視頻幀。圖片群組(GOP)一般來(lái)說(shuō)包括一系列一或多個(gè)視頻幀。GOP可包含GOP的標(biāo)頭、GOP的一或多個(gè)幀的標(biāo)頭或其它地方中的語(yǔ)法數(shù)據(jù),其描述GOP中包括的幀的數(shù)目。每一幀可包含描述相應(yīng)幀的編碼模式的幀語(yǔ)法數(shù)據(jù)。視頻編碼器20通常對(duì)個(gè)別視頻幀內(nèi)的視頻塊進(jìn)行操作以便編碼視頻數(shù)據(jù)。視頻塊可對(duì)應(yīng)于宏塊或宏塊的分區(qū)。視頻塊可具有固定或變化的大小,并且根據(jù)指定譯碼標(biāo)準(zhǔn)可在大小上有所不同。每一視頻幀可包含多個(gè)切片。每一切片可包含多個(gè)宏塊,宏塊可布置成分區(qū)(還稱為子塊)。

作為一實(shí)例,ITU-T H.264標(biāo)準(zhǔn)支持各種塊大小的幀內(nèi)預(yù)測(cè)(例如用于明度分量的16乘16、8乘8或4乘4及用于色度分量的8×8),以及各種塊大小的幀間預(yù)測(cè),例如用于明度分量的16×16、16×8、8×16、8×8、8×4、4×8及4×4及用于色度分量的對(duì)應(yīng)縮放大小。在本發(fā)明中,“N×N”及“N乘N”可互換使用來(lái)指在垂直及水平尺寸方面的塊的像素尺寸,例如,16×16像素或16乘16像素。大體來(lái)說(shuō),16×16塊將在垂直方向上具有16個(gè)像素(y=16),且在水平方向上具有16個(gè)像素(x=16)。同樣,N×N塊總體上在垂直方向上具有N個(gè)像素,并且在水平方向上具有N個(gè)像素,其中N表示非負(fù)整數(shù)值。塊中的像素可布置成行和列。此外,塊未必需要在水平方向上與在豎直方向上具有相同數(shù)目個(gè)像素。舉例來(lái)說(shuō),塊可包括N×M個(gè)像素,其中M未必等于N。

小于16乘16的塊大小可被稱為16乘16宏塊的分區(qū)。視頻塊可包括像素域中的像素?cái)?shù)據(jù)塊或變換域中的變換系數(shù)塊(例如在將例如離散余弦變換(DCT)、整數(shù)變換、小波變換或在概念上類似的變換等變換應(yīng)用到表示經(jīng)譯碼視頻塊與預(yù)測(cè)性視頻塊之間的像素差的殘差視頻塊數(shù)據(jù)之后)。在一些情況下,視頻塊可包括變換域中的經(jīng)量化變換系數(shù)塊。

較小視頻塊可提供更佳分辨率,且可用于視頻幀的包含高等級(jí)細(xì)節(jié)的位置。一般來(lái)說(shuō),可認(rèn)為宏塊及有時(shí)稱為子塊的各種分區(qū)是視頻塊。此外,可將切片視為多個(gè)視頻塊,例如宏塊及/或子塊。每一切片可為視頻幀的可獨(dú)立解碼的單元。或者,幀本身可為可解碼單元,或幀的其它部分可被界定為可解碼單元。術(shù)語(yǔ)“經(jīng)譯碼單元”可指視頻幀的任何可獨(dú)立解碼的單元,例如完整幀、幀的切片、圖片群組(GOP)(還稱為序列),或根據(jù)適用譯碼技術(shù)界定的另一可獨(dú)立解碼的單元。

被稱作高效率視頻譯碼(HEVC)的新視頻譯碼標(biāo)準(zhǔn)最近已經(jīng)定案。當(dāng)前正在努力開(kāi)發(fā)HEVC的各種擴(kuò)展,包含被稱作屏幕內(nèi)容譯碼擴(kuò)展的擴(kuò)展。所述HEVC標(biāo)準(zhǔn)化工作是基于稱為HEVC測(cè)試模型(HM)的視頻譯碼裝置的模型。HM假設(shè)視頻譯碼裝置優(yōu)于根據(jù)(例如)ITU-T H.264/AVC的裝置的若干種能力。舉例來(lái)說(shuō),H.264提供九種幀內(nèi)預(yù)測(cè)編碼模式,而HM提供多達(dá)三十三種幀內(nèi)預(yù)測(cè)編碼模式。

HM將視頻數(shù)據(jù)塊稱為譯碼單元(CU)。位流內(nèi)的語(yǔ)法數(shù)據(jù)可界定最大譯碼單元(LCU),其為在像素?cái)?shù)目方面的最大譯碼單元。一般來(lái)說(shuō),除了CU并不具有大小相異以外,CU具有類似于H.264的宏塊的目的。因此,CU可分裂成數(shù)個(gè)子CU。一般來(lái)說(shuō),本發(fā)明中提到CU可指圖片的最大譯碼單元或LCU的子CU。LCU可分裂成若干子CU,且每一子CU可分裂成若干子CU。位流的語(yǔ)法數(shù)據(jù)可界定LCU可以分裂的最大次數(shù),其被稱作CU深度。因此,位流還可界定最小譯碼單元(SCU)。本發(fā)明還使用術(shù)語(yǔ)“塊”來(lái)指代CU、PU或TU中的任一者。此外,在本發(fā)明參看涉及譯碼單元或CU的實(shí)例的情況下,應(yīng)理解,可相對(duì)于替代譯碼單元的宏塊提供其它實(shí)例。

LCU可與四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)。一般來(lái)說(shuō),四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)包含每個(gè)CU一個(gè)節(jié)點(diǎn),其中根節(jié)點(diǎn)對(duì)應(yīng)于LCU。如果CU分裂成四個(gè)子CU,那么對(duì)應(yīng)于CU的節(jié)點(diǎn)包含四個(gè)葉節(jié)點(diǎn),其中的每一者對(duì)應(yīng)于所述子CU中的一者。四分樹(shù)數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可提供用于對(duì)應(yīng)CU的語(yǔ)法數(shù)據(jù)。舉例來(lái)說(shuō),四叉樹(shù)中的節(jié)點(diǎn)可包含分裂旗標(biāo),其表明對(duì)應(yīng)于所述節(jié)點(diǎn)的所述CU是否分裂成子CU。用于CU的語(yǔ)法元素可以遞歸地來(lái)界定,且可以取決于CU是否分裂成數(shù)個(gè)子CU。

未分裂的CU(例如對(duì)應(yīng)于四叉樹(shù)數(shù)據(jù)結(jié)構(gòu)中的葉節(jié)點(diǎn))可包含一或多個(gè)預(yù)測(cè)單元(PU)。一般來(lái)說(shuō),PU表示對(duì)應(yīng)CU的全部或一部分,且包含用于檢索PU的參考樣本的數(shù)據(jù)。例如,當(dāng)PU經(jīng)幀內(nèi)模式編碼時(shí),PU可以包含描述PU的幀內(nèi)預(yù)測(cè)模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)PU經(jīng)幀間模式編碼時(shí),PU可以包含界定PU的運(yùn)動(dòng)向量的數(shù)據(jù)。界定運(yùn)動(dòng)向量的數(shù)據(jù)可描述(例如)運(yùn)動(dòng)向量的水平分量、運(yùn)動(dòng)向量的垂直分量、運(yùn)動(dòng)向量的分辨率(例如,整數(shù)像素精度、四分之一像素精度、八分之一像素精度)、運(yùn)動(dòng)向量指向的參考幀,及/或運(yùn)動(dòng)向量的參考列表(例如,列表0或列表1)。舉例來(lái)說(shuō),界定PU的CU的數(shù)據(jù)還可描述將CU分割為一或多個(gè)PU。分割模式可在CU未經(jīng)譯碼、經(jīng)幀內(nèi)預(yù)測(cè)模式編碼還是經(jīng)幀間預(yù)測(cè)模式編碼之間有所不同。

具有一或多個(gè)PU的CU還可包含一或多個(gè)變換單元(TU)。在使用PU的預(yù)測(cè)之后,視頻編碼器可計(jì)算用于對(duì)應(yīng)于PU的CU的部分的殘差值。所述殘差值可以被變換、量化和掃描。TU不一定限于PU的大小。因而,TU可以相同CU的更大或更小的對(duì)應(yīng)PU。在一些實(shí)例中,TU的最大大小可對(duì)應(yīng)于包含TU的CU的大小。

根據(jù)本發(fā)明的技術(shù),視頻編碼器20可使用具有不同子整數(shù)像素精度的運(yùn)動(dòng)向量的一或多個(gè)PU對(duì)CU進(jìn)行幀間模式編碼。例如,視頻編碼器20可基于經(jīng)編碼的視頻數(shù)據(jù)的內(nèi)容而在使用具有整數(shù)像素精度或分?jǐn)?shù)(例如四分之一或八分之一)像素精度的運(yùn)動(dòng)向量之間進(jìn)行選擇。根據(jù)本發(fā)明的一些技術(shù),視頻編碼器20可不需要產(chǎn)生PU的運(yùn)動(dòng)向量的子像素精度的指示以用于包含在經(jīng)編碼視頻數(shù)據(jù)的位流中。而是,視頻解碼器30可使用由視頻編碼器20使用的同一導(dǎo)出技術(shù)導(dǎo)出所述運(yùn)動(dòng)向量精度。根據(jù)本發(fā)明的其它技術(shù),視頻編碼器20可在經(jīng)編碼視頻數(shù)據(jù)的位流中包含視頻解碼器30可用來(lái)確定選定運(yùn)動(dòng)向量精度的一或多個(gè)語(yǔ)法元素。

為了計(jì)算子整數(shù)像素位置的值,視頻編碼器20可包含多種內(nèi)插濾波器。例如,雙線性內(nèi)插可用于計(jì)算子整數(shù)像素位置的值。視頻編碼器20可經(jīng)配置以相對(duì)于PU的明度數(shù)據(jù)執(zhí)行運(yùn)動(dòng)搜索以使用所述PU的明度數(shù)據(jù)計(jì)算運(yùn)動(dòng)向量。視頻編碼器20接著可再使用所述運(yùn)動(dòng)向量編碼所述PU的色度數(shù)據(jù)。通常,色度數(shù)據(jù)具有比對(duì)應(yīng)的明度數(shù)據(jù)更低的分辨率(例如,明度數(shù)據(jù)的分辨率的四分之一)。因此,色度數(shù)據(jù)的運(yùn)動(dòng)向量可具有比明度數(shù)據(jù)更高的精度。例如,明度數(shù)據(jù)的四分之一像素精度運(yùn)動(dòng)向量可具有色度數(shù)據(jù)的八分之一像素精度。類似地,明度數(shù)據(jù)的八分之一像素精度運(yùn)動(dòng)向量可具有色度數(shù)據(jù)的十六分之一像素精度。

在進(jìn)行幀內(nèi)預(yù)測(cè)性或幀間預(yù)測(cè)性譯碼以產(chǎn)生預(yù)測(cè)性數(shù)據(jù)及殘差數(shù)據(jù)之后,且在進(jìn)行任何變換(例如,用于H.264/AVC中的4×4或8×8整數(shù)變換,或離散余弦變換DCT)以產(chǎn)生變換系數(shù)之后,可執(zhí)行變換系數(shù)的量化。量化一般是指其中將變換系數(shù)量化以有可能減少用以表示系數(shù)的數(shù)據(jù)量的過(guò)程。量化過(guò)程可以減少與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。例如,n位值可在量化期間被下舍入到m位值,其中n大于m。

在量化之后,可以例如根據(jù)上下文自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)或另一熵譯碼方法來(lái)執(zhí)行對(duì)經(jīng)量化數(shù)據(jù)的熵譯碼。被配置成用于熵譯碼的處理單元或另一處理單元可執(zhí)行其它處理功能,例如經(jīng)量化系數(shù)的零延行長(zhǎng)度譯碼及/或語(yǔ)法信息的產(chǎn)生,例如經(jīng)譯碼塊模式(CBP)值、宏塊類型、譯碼模式、LCU大小或類似者。

目的地裝置14的視頻解碼器30可經(jīng)配置以執(zhí)行與本發(fā)明的視頻編碼器20的技術(shù)中的任一者或全部類似且一般對(duì)稱的技術(shù)。例如,視頻解碼器30可經(jīng)配置以接收界定在其中編碼CU的PU的運(yùn)動(dòng)向量的子像素精度的指示的上下文的信息。視頻編碼器20可提供且視頻解碼器30可接收包含CU及PU的LCU的四叉樹(shù)中的上下文信息。所述上下文信息可對(duì)應(yīng)于CU及/或PU的大小信息,例如,CU的深度、PU的大小及/或PU的類型。視頻解碼器30可使用所述上下文信息解碼運(yùn)動(dòng)向量的子像素精度的指示,例如,以確定所述運(yùn)動(dòng)向量是具有四分之一像素精度還是八分之一像素精度。例如,視頻解碼器30可使用上下文信息執(zhí)行反向熵譯碼過(guò)程以對(duì)運(yùn)動(dòng)向量的子像素精度的指示進(jìn)行熵解碼。

視頻編碼器20和視頻解碼器30各自可實(shí)施為合適的多種合適的編碼器或解碼器電路中的任一者,例如一或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、離散邏輯電路、軟件、硬件、固件或其任何組合。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為組合視頻編碼器/解碼器(CODEC)的部分。包含視頻編碼器20及/或視頻解碼器30的設(shè)備可包括集成電路、微處理器及/或無(wú)線通信裝置,例如蜂窩式電話。

圖2是說(shuō)明可實(shí)施用于支持自適應(yīng)運(yùn)動(dòng)向量分辨率的技術(shù)的視頻編碼器20的實(shí)例的框圖。視頻編碼器20可執(zhí)行視頻幀內(nèi)的塊(包含LCU、CU及PU)的幀內(nèi)及幀間預(yù)測(cè),且計(jì)算可被編碼為TU的殘差值。幀內(nèi)譯碼依賴于空間預(yù)測(cè)以減少或移除給定視頻幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)以減少或移除視頻序列的鄰近幀內(nèi)的視頻中的時(shí)間冗余。幀內(nèi)模式(I模式)可指若干基于空間的壓縮模式及幀間模式中的任一者,例如單向預(yù)測(cè)(P模式)或雙向預(yù)測(cè)(B模式)可指若干基于時(shí)間的壓縮模式中的任一者。運(yùn)動(dòng)估計(jì)單元42及運(yùn)動(dòng)補(bǔ)償單元44可執(zhí)行幀間預(yù)測(cè)譯碼,而幀內(nèi)預(yù)測(cè)單元46可執(zhí)行幀內(nèi)預(yù)測(cè)譯碼。

如圖2中所示,視頻編碼器20接收待編碼視頻幀內(nèi)的當(dāng)前視頻塊。在圖2的實(shí)例中,視頻編碼器20包含視頻數(shù)據(jù)存儲(chǔ)器38、運(yùn)動(dòng)補(bǔ)償單元44、運(yùn)動(dòng)估計(jì)單元42、幀內(nèi)預(yù)測(cè)單元46、經(jīng)解碼圖片緩沖器64、求和器50、變換單元52、量化單元54和熵編碼單元56。為了視頻塊重構(gòu),視頻編碼器20還包含反量化單元58、反變換單元60,及求和器62。還可包含解塊濾波器(圖2中未圖示)以便對(duì)塊邊界進(jìn)行濾波,以從經(jīng)重構(gòu)視頻移除成塊性假影。在需要時(shí),解塊濾波器通常將對(duì)求和器62的輸出進(jìn)行濾波。

視頻數(shù)據(jù)存儲(chǔ)器38可存儲(chǔ)待由視頻編碼器20的組件編碼的視頻數(shù)據(jù)。存儲(chǔ)在視頻數(shù)據(jù)存儲(chǔ)器38中的視頻數(shù)據(jù)可例如從視頻源18獲得。經(jīng)解碼圖片緩沖器64可為存儲(chǔ)供視頻編碼器20例如在幀內(nèi)或幀間譯碼模式中編碼視頻數(shù)據(jù)的參考視頻數(shù)據(jù)的參考圖片存儲(chǔ)器。視頻數(shù)據(jù)存儲(chǔ)器38及經(jīng)解碼圖片緩沖器64可通過(guò)多種存儲(chǔ)器裝置中的任一者形成,例如動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻性RAM(RRAM)或其它類型的存儲(chǔ)器裝置??捎上嗤拇鎯?chǔ)器裝置或單獨(dú)的存儲(chǔ)器裝置提供視頻數(shù)據(jù)存儲(chǔ)器38及經(jīng)解碼圖片緩沖器64。在各種實(shí)例中,視頻數(shù)據(jù)存儲(chǔ)器38可與視頻編碼器20的其它組件在芯片上,或相對(duì)于那些組件在芯片外。

在編碼過(guò)程期間,視頻編碼器20接收待譯碼的視頻幀或切片??蓪蚯衅瑒澐殖啥鄠€(gè)視頻塊(例如,LCU)。運(yùn)動(dòng)估計(jì)單元42及運(yùn)動(dòng)補(bǔ)償單元44可相對(duì)于一或多個(gè)參考幀中的一或多個(gè)塊執(zhí)行所接收視頻塊的幀間預(yù)測(cè)性譯碼以提供時(shí)間壓縮。幀內(nèi)預(yù)測(cè)處理單元46可相對(duì)于在與待譯碼的塊相同的幀或切片中的一或多個(gè)相鄰塊執(zhí)行對(duì)所接收視頻塊的幀內(nèi)預(yù)測(cè)譯碼,以提供空間壓縮。

模式選擇單元40可基于誤差結(jié)果而選擇譯碼模式中的一者(幀內(nèi)或幀間),且將所得的經(jīng)幀內(nèi)或經(jīng)幀間譯碼塊提供到求和器50以產(chǎn)生殘差塊數(shù)據(jù)且提供到求和器62以重構(gòu)經(jīng)編碼塊以用作參考幀。在模式選擇單元40選擇塊的幀間模式編碼時(shí),分辨率選擇單元48可選擇塊的運(yùn)動(dòng)向量的分辨率。例如,分辨率選擇單元48可選擇塊的運(yùn)動(dòng)向量的八分之一像素精度或四分之一像素精度。

作為實(shí)例,分辨率選擇單元48可經(jīng)配置以比較使用四分之一像素精度運(yùn)動(dòng)向量編碼塊及使用八分之一像素精度運(yùn)動(dòng)向量編碼塊之間的誤差差異。運(yùn)動(dòng)估計(jì)單元42可經(jīng)配置以在第一譯碼回合中使用一或多個(gè)四分之一像素精度運(yùn)動(dòng)向量編碼塊且在第二譯碼回合中使用一或多個(gè)八分之一像素精度運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)單元42可進(jìn)一步在第三編碼回合中使用塊的一或多個(gè)四分之一像素精度運(yùn)動(dòng)向量與一或多個(gè)八分之一像素精度運(yùn)動(dòng)向量的多種組合。分辨率選擇單元48可計(jì)算可針對(duì)塊的每一編碼回合計(jì)算速率-失真值且計(jì)算速率-失真值之間的差異。

在差異超過(guò)閾值時(shí),分辨率選擇單元48可選擇八分之一像素精度運(yùn)動(dòng)向量以用于編碼所述塊。分辨率選擇單元48還可評(píng)估速率-失真信息、分析位預(yù)算及/或分析其它因素以在幀間模式預(yù)測(cè)過(guò)程期間在編碼塊時(shí)確定是使用運(yùn)動(dòng)向量的八分之一像素精度還是四分之一像素精度。在針對(duì)將被幀間模式編碼的塊選擇八分之一像素精度或四分之一像素精度之后,模式選擇單元40或運(yùn)動(dòng)估計(jì)可將指示運(yùn)動(dòng)向量的選定精度的消息(例如,信號(hào))發(fā)送到運(yùn)動(dòng)估計(jì)單元42。

運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44可高度集成,但出于概念的目的分別加以說(shuō)明。運(yùn)動(dòng)估計(jì)為產(chǎn)生估計(jì)視頻塊的運(yùn)動(dòng)的運(yùn)動(dòng)向量的過(guò)程。舉例來(lái)說(shuō),運(yùn)動(dòng)向量可指示預(yù)測(cè)性參考幀內(nèi)的預(yù)測(cè)性塊(或其它經(jīng)譯碼單元)相對(duì)于當(dāng)前幀內(nèi)的正被譯碼的當(dāng)前塊(或其它經(jīng)譯碼單元)的位移。預(yù)測(cè)性塊是被發(fā)現(xiàn)在像素差方面與待譯碼塊緊密匹配的塊,像素差可通過(guò)絕對(duì)差總和(SAD)、平方差總和(SSD)或其它差度量來(lái)確定。運(yùn)動(dòng)向量還可指示宏塊的分區(qū)的位移。運(yùn)動(dòng)補(bǔ)償可涉及基于通過(guò)運(yùn)動(dòng)估計(jì)確定的運(yùn)動(dòng)向量提取或產(chǎn)生預(yù)測(cè)性塊。此外,在一些實(shí)例中,運(yùn)動(dòng)估計(jì)單元42與運(yùn)動(dòng)補(bǔ)償單元44可以在功能上集成。

運(yùn)動(dòng)估計(jì)單元42通過(guò)將視頻塊與經(jīng)解碼圖片緩沖器64中的參考幀的視頻塊比較來(lái)計(jì)算經(jīng)幀間譯碼幀的視頻塊的運(yùn)動(dòng)向量。運(yùn)動(dòng)補(bǔ)償單元44還可內(nèi)插參考幀(例如I幀或P幀)的子整數(shù)像素。作為一實(shí)例,ITU H.264標(biāo)準(zhǔn)描述兩個(gè)列表:列表0,其包含具有比正被編碼的當(dāng)前幀早的顯示次序的參考幀;及列表1,其包含具有比正被編碼的當(dāng)前幀晚的顯示次序的參考幀。因此,可根據(jù)這些列表來(lái)組織存儲(chǔ)在經(jīng)解碼圖片緩沖器64中的數(shù)據(jù)。

根據(jù)本發(fā)明的技術(shù),運(yùn)動(dòng)補(bǔ)償單元44可經(jīng)配置以在CU的明度數(shù)據(jù)的運(yùn)動(dòng)向量具有八分之一像素精度時(shí)內(nèi)插所述CU的色度數(shù)據(jù)的十六分之一像素位置的值。為了內(nèi)插色度數(shù)據(jù)的十六分之一像素位置的值,運(yùn)動(dòng)補(bǔ)償單元44可利用雙線性內(nèi)插。因此,求和器50可相對(duì)于參考?jí)K的十六分之一像素位置的雙線性經(jīng)內(nèi)插值而計(jì)算所述CU的色度數(shù)據(jù)的殘差。以此方式,視頻編碼器20可使用雙線性內(nèi)插計(jì)算由運(yùn)動(dòng)向量識(shí)別的參考?jí)K的色度數(shù)據(jù)的十六分之一像素位置的值,且在使用具有明度數(shù)據(jù)的八分之一像素精度的運(yùn)動(dòng)向量編碼譯碼單元的明度數(shù)據(jù)時(shí),基于參考?jí)K的雙線性經(jīng)內(nèi)插值而編碼譯碼單元的色度數(shù)據(jù)。

運(yùn)動(dòng)估計(jì)單元42將來(lái)自經(jīng)解碼圖片緩沖器64的一或多個(gè)參考幀的塊與當(dāng)前幀(例如,P幀或B幀)的待編碼塊進(jìn)行比較。在經(jīng)解碼圖片緩沖器64中的參考幀包含子整數(shù)像素的值時(shí),由運(yùn)動(dòng)估計(jì)單元42計(jì)算的運(yùn)動(dòng)向量可指參考幀的子整數(shù)像素位置。如果沒(méi)有子整數(shù)像素位置的值存儲(chǔ)在經(jīng)解碼圖片緩沖器64中,那么運(yùn)動(dòng)估計(jì)單元42及/或運(yùn)動(dòng)補(bǔ)償單元44還可經(jīng)配置以計(jì)算存儲(chǔ)在經(jīng)解碼圖片緩沖器64中的參考幀的子整數(shù)像素位置的值。運(yùn)動(dòng)估計(jì)單元42將所計(jì)算的運(yùn)動(dòng)向量發(fā)送到熵編碼單元56及運(yùn)動(dòng)補(bǔ)償單元44。由運(yùn)動(dòng)向量識(shí)別的參考幀塊可被稱為預(yù)測(cè)塊。

視頻編碼器20的運(yùn)動(dòng)估計(jì)單元42、運(yùn)動(dòng)補(bǔ)償單元44、模式選擇單元40或另一單元還可發(fā)信號(hào)通知用于編碼塊的運(yùn)動(dòng)向量的四分之一像素精度或八分之一像素精度的使用。例如,運(yùn)動(dòng)估計(jì)單元42可將運(yùn)動(dòng)向量的子整數(shù)像素精度的指示發(fā)送到熵編碼單元56。運(yùn)動(dòng)估計(jì)單元42還可將與對(duì)應(yīng)于運(yùn)動(dòng)向量的PU的大小信息相關(guān)的上下文信息提供給熵編碼單元56,其中所述大小信息可包含包含PU的CU的深度、PU的大小及/或PU的類型中的任一者或全部。

運(yùn)動(dòng)補(bǔ)償單元44可基于預(yù)測(cè)塊而計(jì)算預(yù)測(cè)數(shù)據(jù)。視頻編碼器20通過(guò)從正譯碼的原始視頻塊減去來(lái)自運(yùn)動(dòng)補(bǔ)償單元44的預(yù)測(cè)數(shù)據(jù)而形成殘差視頻塊。求和器50表示執(zhí)行此減法運(yùn)算的一或多個(gè)組件。變換單元52將例如離散余弦變換(DCT)或概念上類似的變換的變換應(yīng)用于殘差塊,從而產(chǎn)生包括殘差變換系數(shù)值的視頻塊。

變換單元52可執(zhí)行其它變換,例如通過(guò)H.264標(biāo)準(zhǔn)界定的變換,其概念上類似于DCT。也可使用子波變換、整數(shù)變換、子帶變換或其它類型的變換。在任何情況下,變換單元52向殘差塊應(yīng)用所述變換,從而產(chǎn)生殘差變換系數(shù)的塊。所述變換可將殘差信息從像素值域轉(zhuǎn)換到變換域(例如,頻域)。量化單元54對(duì)殘差變換系數(shù)進(jìn)行量化以進(jìn)一步降低位速率。量化過(guò)程可以減少與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度??梢酝ㄟ^(guò)調(diào)整量化參數(shù)來(lái)修改量化程度。

在量化之后,熵編碼單元56對(duì)經(jīng)量化的變換系數(shù)進(jìn)行熵譯碼。舉例來(lái)說(shuō),熵編碼單元56可執(zhí)行內(nèi)容CAVLC、CABAC或另一熵譯碼技術(shù)。在熵編碼單元56的熵譯碼之后,可將經(jīng)編碼視頻發(fā)射到另一裝置,或?qū)⑺鲆曨l存檔用于稍后發(fā)射或檢索。在上下文自適應(yīng)二進(jìn)制算術(shù)譯碼的情況下,上下文可基于相鄰宏塊。

在一些情況下,熵編碼單元56或視頻編碼器20的另一單元可經(jīng)配置以執(zhí)行除了熵譯碼之外的其它譯碼功能。舉例來(lái)說(shuō),熵編碼單元56可經(jīng)配置以確定用于宏塊和分區(qū)的CBP值。而且,在一些情況下,熵編碼單元56可以對(duì)一個(gè)宏塊或其分區(qū)中的系數(shù)執(zhí)行延行長(zhǎng)度譯碼。明確地說(shuō),熵編碼單元56可以應(yīng)用Z形掃描或其它掃描圖案來(lái)掃描宏塊或分區(qū)中的變換系數(shù)并且對(duì)成串的零進(jìn)行編碼以用于進(jìn)一步壓縮。熵編碼單元56還可用適當(dāng)語(yǔ)法元素建構(gòu)標(biāo)頭信息以用于在經(jīng)編碼視頻位流中發(fā)射。

根據(jù)本發(fā)明的技術(shù),在其中發(fā)信號(hào)通知而非導(dǎo)出子像素精度的實(shí)例中,熵編碼單元56可經(jīng)配置以編碼運(yùn)動(dòng)向量的子像素精度的指示(例如)以指示運(yùn)動(dòng)向量是具有整數(shù)像素精度還是子像素精度,例如四分之一像素精度或八分之一像素精度(或其它子像素精度,在各種實(shí)例中)。熵編碼單元56可使用CABAC編碼指示。此外,熵編碼單元56可使用上下文信息執(zhí)行CABAC以編碼指示對(duì)應(yīng)于運(yùn)動(dòng)向量的PU的大小信息的指示,其中所述大小信息可包含包含PU的CU的深度、PU的大小及/或PU的類型中的任一者或全部。

視頻編碼器20可預(yù)測(cè)性地發(fā)信號(hào)通知運(yùn)動(dòng)向量??捎梢曨l編碼器20實(shí)施的預(yù)測(cè)性信令技術(shù)的兩個(gè)實(shí)例包含高級(jí)運(yùn)動(dòng)向量預(yù)測(cè)(AMVP)及合并模式信令。在AMVP中,視頻編碼器20和視頻解碼器30兩者基于從已經(jīng)譯碼的塊確定的運(yùn)動(dòng)向量而匯編候選者列表。視頻編碼器20隨后發(fā)信號(hào)通知到候選者列表中的索引以識(shí)別運(yùn)動(dòng)向量預(yù)測(cè)符(MVP)且發(fā)信號(hào)通知運(yùn)動(dòng)向量差(MVD)。視頻解碼器30例如使用等于MVP+MVD的運(yùn)動(dòng)向量使用由MVD修改的MVP對(duì)塊進(jìn)行幀間預(yù)測(cè)。

在合并模式中,視頻編碼器20和視頻解碼器30兩者基于已經(jīng)譯碼的塊而匯編候選者列表,且視頻編碼器20發(fā)信號(hào)通知候選者列表中的候選者中的一者的索引。在合并模式中,視頻解碼器30使用發(fā)信號(hào)通知的候選者的運(yùn)動(dòng)向量及參考圖片索引對(duì)當(dāng)前塊進(jìn)行幀間預(yù)測(cè)。在AMVP及合并模式兩者中,視頻編碼器20和視頻解碼器30利用同一列表建構(gòu)技術(shù),使得視頻編碼器20在確定如何編碼塊時(shí)使用的列表與視頻解碼器30在確定如何解碼所述塊時(shí)使用的列表匹配。

反量化單元58及反變換單元60分別應(yīng)用反量化及反變換以在像素域中重構(gòu)殘差塊(例如)以供稍后用作參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元44可通過(guò)將殘差塊添加到經(jīng)解碼圖片緩沖器64的幀中的一者的預(yù)測(cè)塊而計(jì)算參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元44還可將一或多個(gè)內(nèi)插濾波器應(yīng)用于經(jīng)重構(gòu)殘差塊以計(jì)算子整數(shù)像素值來(lái)用于運(yùn)動(dòng)估計(jì)。求和器62將經(jīng)重構(gòu)殘差塊添加到由運(yùn)動(dòng)補(bǔ)償單元44產(chǎn)生的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)塊以產(chǎn)生經(jīng)重構(gòu)視頻塊以用于存儲(chǔ)在經(jīng)解碼圖片緩沖器64中。所述經(jīng)重構(gòu)視頻塊可由運(yùn)動(dòng)估計(jì)單元42及運(yùn)動(dòng)補(bǔ)償單元44用作參考?jí)K以對(duì)后續(xù)視頻幀中的塊進(jìn)行幀間譯碼。

圖3是說(shuō)明解碼經(jīng)編碼視頻序列的視頻解碼器30的實(shí)例的框圖。在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元70、運(yùn)動(dòng)補(bǔ)償單元72、幀內(nèi)預(yù)測(cè)單元74、反量化單元76、反變換單元78、經(jīng)解碼圖片緩沖器82及求和器80。視頻解碼器30在一些實(shí)例中可執(zhí)行一般與相對(duì)于視頻編碼器20(圖2)描述的編碼回合互逆的解碼回合。運(yùn)動(dòng)補(bǔ)償單元72可基于從熵解碼單元70接收的運(yùn)動(dòng)向量而產(chǎn)生預(yù)測(cè)數(shù)據(jù)。

視頻數(shù)據(jù)存儲(chǔ)器68可存儲(chǔ)待由視頻解碼器30的組件解碼的視頻數(shù)據(jù),例如經(jīng)編碼視頻位流。存儲(chǔ)于視頻數(shù)據(jù)存儲(chǔ)器68中的視頻數(shù)據(jù)可例如從計(jì)算機(jī)可讀媒體16(例如,從本地視頻源,例如相機(jī))經(jīng)由視頻數(shù)據(jù)的有線或無(wú)線網(wǎng)絡(luò)通信或通過(guò)存取物理數(shù)據(jù)存儲(chǔ)媒體而獲得。視頻數(shù)據(jù)存儲(chǔ)器68可形成存儲(chǔ)來(lái)自經(jīng)編碼視頻位流的經(jīng)編碼視頻數(shù)據(jù)的經(jīng)譯碼圖片緩沖器(CPB)。經(jīng)解碼圖片緩沖器82可為存儲(chǔ)供視頻解碼器30用于例如在幀內(nèi)或幀間譯碼模式中解碼視頻數(shù)據(jù)的參考視頻數(shù)據(jù)的參考圖片存儲(chǔ)器。視頻數(shù)據(jù)存儲(chǔ)器68及經(jīng)解碼圖片緩沖器82可由多種存儲(chǔ)器裝置中的任一者形成,例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻性RAM(RRAM)或其它類型的存儲(chǔ)器裝置。視頻數(shù)據(jù)存儲(chǔ)器68與經(jīng)解碼圖片緩沖器82可由同一存儲(chǔ)器裝置或單獨(dú)存儲(chǔ)器裝置提供。在各種實(shí)例中,視頻數(shù)據(jù)存儲(chǔ)器68與視頻解碼器30的其它組件一起在芯片上,或相對(duì)于那些組件在芯片外。

熵解碼單元70可例如從視頻數(shù)據(jù)存儲(chǔ)器68檢索經(jīng)編碼位流。所述經(jīng)編碼位流可包含經(jīng)熵譯碼視頻數(shù)據(jù)。熵解碼單元70可解碼經(jīng)熵譯碼視頻數(shù)據(jù),且運(yùn)動(dòng)補(bǔ)償單元72可從經(jīng)熵解碼的視頻數(shù)據(jù)確定運(yùn)動(dòng)信息,包含運(yùn)動(dòng)向量、運(yùn)動(dòng)向量精度、參考圖片列表索引及其它運(yùn)動(dòng)信息。運(yùn)動(dòng)補(bǔ)償單元72可例如通過(guò)執(zhí)行上文描述的AMVP及合并模式技術(shù)而確定此信息。

運(yùn)動(dòng)補(bǔ)償單元72可使用位流中接收的運(yùn)動(dòng)向量來(lái)識(shí)別經(jīng)解碼圖片緩沖器82中的參考幀中的預(yù)測(cè)塊。幀內(nèi)預(yù)測(cè)單元74可使用位流中接收的幀內(nèi)預(yù)測(cè)模式從空間上鄰近的塊形成預(yù)測(cè)塊。反量化單元76反量化(即,解量化)位流中提供且由熵解碼單元70解碼的經(jīng)量化塊系數(shù)。反量化過(guò)程可包含例如由H.264解碼標(biāo)準(zhǔn)界定的常規(guī)過(guò)程。反量化過(guò)程還可包含使用由視頻編碼器20針對(duì)每一宏塊計(jì)算的量化參數(shù)QPY確定量化程度且同樣確定應(yīng)該應(yīng)用的反量化程度。

反變換單元58將反變換(例如,反DCT、反整數(shù)變換或概念上類似的反變換過(guò)程)應(yīng)用于變換系數(shù)以便產(chǎn)生像素域中的殘差塊。運(yùn)動(dòng)補(bǔ)償單元72產(chǎn)生經(jīng)運(yùn)動(dòng)補(bǔ)償塊,有可能基于內(nèi)插濾波器執(zhí)行內(nèi)插。用于將用于以子像素精度進(jìn)行運(yùn)動(dòng)估計(jì)的內(nèi)插濾波器的識(shí)別符可包含在語(yǔ)法元素中。運(yùn)動(dòng)補(bǔ)償單元72可使用由視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插濾波器來(lái)計(jì)算參考?jí)K的子整數(shù)像素彈內(nèi)插值。運(yùn)動(dòng)補(bǔ)償單元72可根據(jù)所接收的語(yǔ)法信息而確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來(lái)產(chǎn)生預(yù)測(cè)性塊。根據(jù)本發(fā)明的技術(shù),運(yùn)動(dòng)補(bǔ)償單元72可在運(yùn)動(dòng)向量具有明度數(shù)據(jù)的八分之一像素精度時(shí)內(nèi)插參考?jí)K的色度數(shù)據(jù)的十六分之一像素位置的值。例如,運(yùn)動(dòng)補(bǔ)償單元72可使用雙線性內(nèi)插來(lái)內(nèi)插參考?jí)K的十六分之一像素位置的值。

運(yùn)動(dòng)補(bǔ)償單元72使用一些語(yǔ)法信息確定用于編碼經(jīng)編碼視頻序列的幀及/或切片的LCU及CU的大小,描述經(jīng)編碼視頻序列的幀的每一宏塊如何被分割的分割信息、指示每一分區(qū)如何被編碼的模式、每一幀間編碼CU的一或多個(gè)參考幀(及參考幀列表)及用以解碼經(jīng)編碼視頻序列的其它信息。

求和器80將殘差塊與由運(yùn)動(dòng)補(bǔ)償單元72或幀內(nèi)預(yù)測(cè)單元產(chǎn)生的對(duì)應(yīng)預(yù)測(cè)性塊求和以形成經(jīng)解碼塊。視需要,還可應(yīng)用解塊濾波器以對(duì)經(jīng)解碼塊進(jìn)行濾波,以便移除成塊假影。隨后將經(jīng)解碼視頻塊存儲(chǔ)在經(jīng)解碼圖片緩沖器82中,其提供用于后續(xù)運(yùn)動(dòng)補(bǔ)償?shù)膮⒖級(jí)K且還產(chǎn)生經(jīng)解碼視頻用于呈現(xiàn)于顯示裝置(例如圖1的顯示裝置32)上。

圖4是說(shuō)明全像素位置的分?jǐn)?shù)像素位置的概念圖。具體來(lái)說(shuō),圖4說(shuō)明全像素(pel)100的分?jǐn)?shù)像素位置。全像素100對(duì)應(yīng)于二分之一像素位置102A到102C(二分之一pel 102)、四分之一像素位置104A到104L(四分之一pel 104),及八分之一像素位置106A到106AV(八分之一pel 106)。

圖4說(shuō)明使用虛線輪廓指示可任選地包含這些位置的塊的八分之一像素位置106。也就是說(shuō),如果運(yùn)動(dòng)向量具有八分之一像素精度,那么運(yùn)動(dòng)向量可指向全像素位置100、二分之一像素位置102、四分之一像素位置104或八分之一像素位置106中的任一者。然而,如果運(yùn)動(dòng)向量具有四分之一像素精度,那么運(yùn)動(dòng)向量可指向全像素位置100、二分之一像素位置102、或四分之一像素位置104中的任一者,但將不指向八分之一像素位置106。應(yīng)進(jìn)一步理解,在其它實(shí)例中,可使用其它精度,例如,十六分之一像素精度、三十二分之一像素精度或類似者。

全像素位置100處的像素的值可包含在對(duì)應(yīng)的參考幀中。也就是說(shuō),全像素位置100處的像素的值一般對(duì)應(yīng)于參考幀中的像素的實(shí)際值,例如,在顯示參考幀時(shí)最終渲染及顯示的值。可使用自適應(yīng)內(nèi)插濾波器或固定內(nèi)插濾波器(例如,各種數(shù)目的“分接頭”(系數(shù))的濾波器,例如各種維納濾波器、雙線性濾波器或其它濾波器)來(lái)內(nèi)插二分之一像素位置102、四分之一像素位置104及八分之一像素位置106(統(tǒng)稱為分?jǐn)?shù)像素位置)的值。一般來(lái)說(shuō),可從一或多個(gè)相鄰像素內(nèi)插分?jǐn)?shù)像素位置的值,其對(duì)應(yīng)于相鄰全像素位置或先前確定的分?jǐn)?shù)像素位置的值。

根據(jù)本發(fā)明的技術(shù),例如視頻編碼器20等視頻編碼器可自適應(yīng)地例如在整數(shù)像素精度或分?jǐn)?shù)像素精度(例如八分之一像素精度及四分之一像素精度)之間選擇運(yùn)動(dòng)向量的精度。視頻編碼器20可針對(duì)每一運(yùn)動(dòng)向量、每一CU、每一LCU、每一切片、每一幀、每一GOP或視頻數(shù)據(jù)的其它經(jīng)譯碼單元做出此選擇。在視頻編碼器20選擇運(yùn)動(dòng)向量的四分之一像素精度時(shí),所述運(yùn)動(dòng)向量可指全像素位置100、二分之一像素位置102或四分之一像素位置104中的任一者。在視頻編碼器20選擇運(yùn)動(dòng)向量的八分之一像素精度時(shí),所述運(yùn)動(dòng)向量可指全像素位置100、二分之一像素位置102、四分之一像素位置104、或八分之一像素位置106中的任一者。

圖5A到5C是說(shuō)明對(duì)應(yīng)的色度及明度像素位置的概念圖。圖5A到5C還說(shuō)明針對(duì)明度數(shù)據(jù)計(jì)算的運(yùn)動(dòng)向量如何可再用于色度數(shù)據(jù)。作為初步事項(xiàng),圖5A到5C說(shuō)明像素位置的部分行。應(yīng)理解,實(shí)際上,全像素位置可具有相關(guān)聯(lián)的分?jǐn)?shù)像素位置的矩形網(wǎng)格,例如圖4中說(shuō)明的矩形網(wǎng)格。圖5A到5C的實(shí)例既定說(shuō)明本發(fā)明中所描述的概念,且不打算是分?jǐn)?shù)色度像素位置與分?jǐn)?shù)明度像素位置之間的對(duì)應(yīng)關(guān)系的詳盡列表。

圖5A到5C說(shuō)明明度塊的像素位置,包含全明度像素位置110、二分之一明度像素位置116、四分之一像素位置112及八分之一明度像素位置114A、114B。圖5A到5C還說(shuō)明色度塊的對(duì)應(yīng)像素位置,包含全色度像素位置120、四分之一色度像素位置122、八分之一色度像素位置124及十六分之一色度像素位置126A、126B。在此實(shí)例中,全色度像素120對(duì)應(yīng)于全明度像素110。此外,在此實(shí)例中,相對(duì)于明度塊水平地及垂直地將色度塊下取樣兩倍。因此,四分之一色度像素122對(duì)應(yīng)于二分之一明度像素116。類似地,八分之一色度像素124對(duì)應(yīng)于四分之一明度像素112,十六分之一色度像素126A對(duì)應(yīng)于八分之一明度像素114A,且十六分之一色度像素126B對(duì)應(yīng)于八分之一明度像素114B。

在例如H.264/AVC、HEVC及可能H.264及HEVC的后繼編解碼器等高級(jí)視頻編解碼器中,可增加發(fā)信號(hào)通知運(yùn)動(dòng)向量的位成本。為了降低此位成本,可使用解碼器側(cè)MV導(dǎo)出(DMVD)。在S.坎普及M.維恩的“用于基于塊的視頻譯碼的解碼器側(cè)運(yùn)動(dòng)向量導(dǎo)出(Decoder-side motion vector derivation for block-based video coding)”(IEEE視頻技術(shù)電路與系統(tǒng)匯刊(IEEE Transactions on Circuits and Systems for Video Technology),第22卷,第1732頁(yè)到第1745頁(yè),2012年12月)中,基于L狀模板匹配提出了DMVD。

圖6是DMVD的實(shí)例L狀模板匹配的圖解說(shuō)明。在圖6的實(shí)例中,使用模板匹配對(duì)當(dāng)前圖片134的當(dāng)前塊132進(jìn)行幀間預(yù)測(cè)。模板136界定覆蓋當(dāng)前塊132的已經(jīng)解碼的相鄰塊的形狀。視頻解碼器(例如,視頻解碼器30)可例如首先將包含在由模板136覆蓋的已經(jīng)解碼的相鄰塊中的像素值與包含在由位于同一地點(diǎn)的模板138(其覆蓋位于參考圖片140的參考圖片中的塊)覆蓋的已經(jīng)解碼的相鄰塊中的像素值進(jìn)行比較。視頻解碼器接著可將模板移動(dòng)到參考圖片中的其它位置且將由所述模板覆蓋的像素值與包含在由模板136覆蓋的已經(jīng)解碼的相鄰塊中的像素值進(jìn)行比較。

基于這些多個(gè)比較,視頻解碼器可確定最佳匹配,例如在圖6的實(shí)例中展示的最佳匹配142。視頻解碼器接著可確定最佳匹配與位于同一地點(diǎn)的模板之間的移位。此移位(例如圖6中的移位144)對(duì)應(yīng)于用于預(yù)測(cè)當(dāng)前塊132的運(yùn)動(dòng)向量。

如圖6中所說(shuō)明,當(dāng)在DMVD模式中譯碼塊時(shí),通過(guò)視頻解碼器30檢索所述塊的MV,這與直接向視頻解碼器30發(fā)信號(hào)通知形成對(duì)比。通過(guò)模板匹配導(dǎo)致最小失真的MV被選擇為塊的最終MV。為保持高譯碼效率,解碼器30可需要一定數(shù)目的模板匹配以將候選運(yùn)動(dòng)向量選擇為用以解碼當(dāng)前塊的MV,其可增加解碼復(fù)雜度。

為了降低DMVD中的解碼復(fù)雜度,Y.-J.仇、L.徐、W.張、H.蔣的“用于HEVC的解碼器側(cè)運(yùn)動(dòng)估計(jì)及威納濾波器(DECODER-SIDE MOTION ESTIMATION AND WIENER FILTER FOR HEVC)”(2013VCIP研討會(huì),馬來(lái)西亞,2013年11月17日到20日)中提出基于鏡的雙向MV導(dǎo)出方法。

圖7是說(shuō)明基于實(shí)例鏡的雙向MV導(dǎo)出的概念圖。如圖7中所說(shuō)明,可通過(guò)在解碼器側(cè)處以分?jǐn)?shù)樣本準(zhǔn)確度圍繞搜索中心的中心對(duì)稱運(yùn)動(dòng)估計(jì)而應(yīng)用基于鏡的雙向MV導(dǎo)出。搜索窗的大小/位置可預(yù)先界定且在位流中發(fā)信號(hào)通知。在圖7中,dMV是添加到PMV0且從PMV1減去以產(chǎn)生MV對(duì)(MV0及MV1)的偏移??蓹z查搜索窗內(nèi)部的dMV的全部值且L0參考?jí)K與L1參考?jí)K之間的絕對(duì)差總和(SAD)可用作中心對(duì)稱運(yùn)動(dòng)估計(jì)的測(cè)量值。具有最小SAD的MV對(duì)可被選擇為塊的最終MV。

對(duì)于自適應(yīng)運(yùn)動(dòng)向量分辨率,子像素運(yùn)動(dòng)補(bǔ)償可一般比整數(shù)像素運(yùn)動(dòng)補(bǔ)償有效得多。然而,對(duì)于某個(gè)內(nèi)容,例如具有特高頻的紋理或屏幕內(nèi)容,子像素運(yùn)動(dòng)補(bǔ)償可不具有更好的性能或在一些情況下甚至具有更差的性能。在此些情況下,僅具有擁有整數(shù)像素精度的MV可更好。

如L.郭、P.尹、Y.鄭、X.陸、Q.徐、J.Solé的“具有隱式信令的自適應(yīng)運(yùn)動(dòng)向量分辨率(Adaptive motion vector resolution with implicit signaling)”(ICIP 2010:2057-2060)中所描述,基于經(jīng)重構(gòu)殘差而提出自適應(yīng)MV分辨率。在經(jīng)重構(gòu)殘差塊的方差高于閾值時(shí),使用四分之一像素運(yùn)動(dòng)向量精度。另外,二分之一像素運(yùn)動(dòng)向量精度適用。如J.安、X.李、X.郭、S.雷的“漸進(jìn)MV分辨率(Progressive MV Resolution)”(JCTVC-F125,意大利托里諾,2011年7月)中所描述,基于發(fā)信號(hào)通知的MV差的量值而自適應(yīng)地確定MV分辨率。如Y.周、B.李、J.徐、G.J.沙利文、B.林的“對(duì)屏幕內(nèi)容譯碼的運(yùn)動(dòng)向量分辨率控制(Motion Vector Resolution Control for Screen Content Coding)”(JCTVC-P0277,美國(guó)圣何塞,2014年1月)中所描述,在切片層級(jí)處發(fā)信號(hào)通知運(yùn)動(dòng)向量精度信息。

迄今,尚未證實(shí)解碼器側(cè)運(yùn)動(dòng)向量精度導(dǎo)出方法非常有效,尤其對(duì)于屏幕內(nèi)容譯碼。另外,尚未證實(shí)單一解碼器側(cè)運(yùn)動(dòng)向量精度導(dǎo)出方法對(duì)全部類型的內(nèi)容都有效,包含相機(jī)獲取的內(nèi)容、屏幕內(nèi)容及其它類型的內(nèi)容。另外,到目前為止已經(jīng)證實(shí)自適應(yīng)運(yùn)動(dòng)向量精度方法對(duì)屏幕內(nèi)容譯碼并非有效。

在一些實(shí)例中,實(shí)施本發(fā)明中所描述的技術(shù),提出用于屏幕內(nèi)容的解碼器側(cè)運(yùn)動(dòng)向量精度導(dǎo)出方法。在此實(shí)例中,運(yùn)動(dòng)向量精度可取決于解碼器側(cè)處的模板匹配的結(jié)果。在整數(shù)像素位置的模板匹配結(jié)果及其相鄰子像素位置的模板匹配結(jié)果非常不同時(shí),相關(guān)區(qū)可被看作是屏幕內(nèi)容且應(yīng)該使用具有整數(shù)像素精度的MV。另外,使用子像素運(yùn)動(dòng)向量精度。為界定“非常不同”,可使用一或多個(gè)固定或自適應(yīng)閾值。

視頻解碼器30可例如通過(guò)基于模板匹配確定運(yùn)動(dòng)向量精度而解碼視頻數(shù)據(jù)。在此實(shí)例中,視頻解碼器30可針對(duì)被譯碼的當(dāng)前塊識(shí)別已經(jīng)譯碼的相鄰塊的整數(shù)像素位置,且基于整數(shù)像素位置的位置,應(yīng)用模板以確定多個(gè)整數(shù)像素位置。視頻解碼器30還可將模板應(yīng)用于多個(gè)子像素位置以確定多個(gè)子像素位置。所述模板可例如界定形狀,且視頻解碼器30可將所述模板應(yīng)用于視頻數(shù)據(jù)以通過(guò)基于相對(duì)于當(dāng)前塊的形狀的位置定位多個(gè)整數(shù)像素位置而確定所述多個(gè)整數(shù)像素位置。類似地,視頻解碼器30可將所述模板應(yīng)用于視頻數(shù)據(jù)以通過(guò)基于相對(duì)于當(dāng)前塊的形狀的位置定位多個(gè)子像素像素位置而確定所述多個(gè)子像素位置。

視頻解碼器30可將多個(gè)整數(shù)像素位置的一或多個(gè)像素值與多個(gè)子像素位置的一或多個(gè)像素值進(jìn)行比較,且基于所述比較而確定運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度。視頻解碼器30可使用所述運(yùn)動(dòng)向量解碼當(dāng)前塊。視頻解碼器30可例如使用合并模式、AMVP模式或某個(gè)其它此類模式確定所述運(yùn)動(dòng)向量。

視頻解碼器30可通過(guò)將多個(gè)整數(shù)像素位置的一或多個(gè)像素值與多個(gè)子像素位置的一或多個(gè)像素值進(jìn)行比較以確定對(duì)應(yīng)于多個(gè)整數(shù)像素位置的一或多個(gè)像素值與多個(gè)子像素位置的一或多個(gè)像素值之間的像素值中的差的量的差值而確定運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度。響應(yīng)于所述差值大于閾值,視頻解碼器30確定運(yùn)動(dòng)向量精度是整數(shù)像素精度。響應(yīng)于所述差值小于閾值,視頻解碼器30可確定運(yùn)動(dòng)向量精度是子像素精度。所述閾值可為固定值、自適應(yīng)值或某個(gè)其它類型的值。為了將多個(gè)整數(shù)像素位置的一或多個(gè)像素值與多個(gè)子像素位置的一或多個(gè)像素值進(jìn)行比較,視頻解碼器30可例如確定多個(gè)整數(shù)像素位置的一或多個(gè)像素值與多個(gè)子像素位置的一或多個(gè)像素值之間的絕對(duì)差總和。

根據(jù)本發(fā)明的其它技術(shù),運(yùn)動(dòng)向量精度可取決于空間相鄰塊、時(shí)間相鄰塊或這兩者的性質(zhì)(例如銳度、梯度或是否跳過(guò)變換)??稍诮獯a器側(cè)處導(dǎo)出運(yùn)動(dòng)向量精度信息?;蛘呋蛄硗?,運(yùn)動(dòng)向量精度可取決于空間相鄰塊、時(shí)間相鄰塊或這兩者的運(yùn)動(dòng)向量精度。

視頻解碼器30可例如基于相鄰塊性質(zhì)而確定運(yùn)動(dòng)向量精度。相鄰塊可例如包含至少一個(gè)空間相鄰塊及/或至少一個(gè)時(shí)間相鄰塊。對(duì)于被譯碼非當(dāng)前塊,視頻解碼器30可定位一或多個(gè)相鄰塊且確定所述一或多個(gè)相鄰塊的特性。所述特性可例如是以下各者中的一或多者:一或多個(gè)相鄰塊的銳度、一或多個(gè)相鄰塊的梯度(如果一或多個(gè)相鄰塊在跳過(guò)模式中經(jīng)譯碼)及/或一或多個(gè)相鄰塊的運(yùn)動(dòng)向量精度?;谝换蚨鄠€(gè)相鄰塊的特性,視頻解碼器30可確定運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度且使用所述運(yùn)動(dòng)向量解碼當(dāng)前塊。視頻解碼器30可例如在不發(fā)信號(hào)通知(例如基于上下文)的情況下確定要確定哪一或哪些特性、可始終確定固定特性,或可接收要確定哪一或哪些特性的指示。

在本發(fā)明的另一實(shí)例技術(shù)中,可在位流中發(fā)信號(hào)通知關(guān)于使用解碼器側(cè)運(yùn)動(dòng)向量精度方法的指示符。例如,可直接在位流中發(fā)信號(hào)通知或從位流中經(jīng)譯碼的其它信息(例如切片類型及時(shí)間層級(jí))導(dǎo)出所述指示符。

視頻解碼器30可例如在經(jīng)編碼視頻位流中接收運(yùn)動(dòng)向量精度信令類型的指示,且基于所述運(yùn)動(dòng)向量精度信令類型,確定視頻數(shù)據(jù)塊的運(yùn)動(dòng)向量精度。視頻解碼器30可使用所述所確定的運(yùn)動(dòng)向量精度的運(yùn)動(dòng)向量定位所述視頻數(shù)據(jù)塊的參考?jí)K。運(yùn)動(dòng)向量精度信令類型可例如為以下各者中的一者:(1)如上文所描述的模板匹配類型,(2)如上文所描述的基于相鄰塊特性的類型,或(3)如將在下文更詳細(xì)地描述的直接信令類型。

視頻解碼器30可例如在切片標(biāo)頭、SPS、PPS中或在某個(gè)其它層級(jí)處接收指示。所述指示可例如為切片類型。換句話說(shuō),視頻解碼器30可確定特定切片的切片類型且基于所述切片類型,可確定用于解碼所述切片的塊的運(yùn)動(dòng)向量精度。所述指示可例如為切片的時(shí)間層級(jí)。換句話說(shuō),視頻解碼器30可確定切片的時(shí)間層級(jí)且基于所述切片的時(shí)間層級(jí)而確定用于解碼所述切片的塊的運(yùn)動(dòng)向量精度。

在另一實(shí)例中,可在位流中例如在最大譯碼單元LCU層級(jí)CU層級(jí)或PU層級(jí)處發(fā)信號(hào)通知運(yùn)動(dòng)向量精度信息。換句話說(shuō),視頻編碼器20可產(chǎn)生一或多個(gè)語(yǔ)法元素以用于包含在經(jīng)編碼視頻數(shù)據(jù)的位流中,且視頻解碼器30可解析那些語(yǔ)法元素以確定特定視頻數(shù)據(jù)塊的運(yùn)動(dòng)向量精度。在指示CU具有整數(shù)精度MV時(shí),此CU內(nèi)部的全部PU都具有整數(shù)運(yùn)動(dòng)向量精度。

在實(shí)例中,對(duì)于合并/跳過(guò)模式,視頻解碼器30可僅在執(zhí)行運(yùn)動(dòng)補(bǔ)償時(shí)將運(yùn)動(dòng)向量舍入到整數(shù)精度??杀4嫖瓷崛氲腗V以用于稍后塊的MV預(yù)測(cè)。例如,視頻解碼器30可確定第一塊的譯碼模式是合并模式或跳過(guò)模式且確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度。視頻解碼器30可建構(gòu)第一塊的包含至少一個(gè)分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者的合并候選者列表。視頻解碼器30可選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼第一塊且舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量。視頻解碼器30可使用所述整數(shù)像素精度運(yùn)動(dòng)向量定位所述第一塊的參考?jí)K。

對(duì)于第二塊(例如,基于第一塊的信息而譯碼的塊),視頻解碼器30可將整數(shù)精度運(yùn)動(dòng)向量候選者添加到第二塊的候選者列表(例如,合并候選者列表一AMVP候選者列表)。然而,在其它實(shí)例中,視頻解碼器30可將分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者添加到第二塊的候選者列表。

對(duì)于非合并/跳過(guò)幀間模式,可將MV預(yù)測(cè)符舍入到整數(shù)精度,且可以整數(shù)精度發(fā)信號(hào)通知MVD,使得可保存經(jīng)舍入的MV以用于稍后塊MV預(yù)測(cè)。替代地或另外,可保存舍入之前的MV以用于稍后的塊MV預(yù)測(cè)。在實(shí)例中,對(duì)于此情況,可僅針對(duì)運(yùn)動(dòng)補(bǔ)償執(zhí)行所述舍入。替代地或另外,經(jīng)舍入的MV可在運(yùn)動(dòng)補(bǔ)償中使用且可保存用于稍后的塊MV預(yù)測(cè)。

例如,視頻解碼器30可確定第一塊的譯碼模式不是合并模式且確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度。視頻解碼器30可確定第一塊的分?jǐn)?shù)精度MVP且舍入所述分?jǐn)?shù)精度MVP以確定第一塊的整數(shù)像素精度MVP。視頻解碼器30可確定是整數(shù)像素精度的第一塊的MVD。視頻解碼器30可基于整數(shù)像素精度MVP及所述分?jǐn)?shù)精度MVD而確定整數(shù)像素精度運(yùn)動(dòng)向量。視頻解碼器30可使用整數(shù)像素精度運(yùn)動(dòng)向量來(lái)定位第一塊的參考?jí)K。

視頻解碼器30可例如通過(guò)建構(gòu)第一塊的AMVP候選者列表而確定第一塊的分?jǐn)?shù)精度MVP。AMVP候選者列表可包含分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者。視頻解碼器30可選擇分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以作為第一塊的分?jǐn)?shù)精度MVP。視頻解碼器30可將分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者添加到將使用第一塊的信息預(yù)測(cè)的第二塊的候選者列表。

或者或另外,在實(shí)例中,可發(fā)信號(hào)通知MVD精度信息,且在一些實(shí)例中可始終使用子像素精度MV??稍贚CU層級(jí)處、CU層級(jí)處或PU層級(jí)處發(fā)信號(hào)通知精度。在一個(gè)實(shí)例中,在指示PU(或CU)具有整數(shù)精度MVD時(shí),PU(或此CU內(nèi)部的全部PU)可具有整數(shù)MVD精度。對(duì)于經(jīng)AMVP譯碼的PU,PU的MVD可具有整數(shù)像素精度,而所述PU的所預(yù)測(cè)的MV及MV可具有子像素精度。因此,將整數(shù)精度MVD添加到子像素精度MVP會(huì)產(chǎn)生子像素運(yùn)動(dòng)向量。

例如,視頻解碼器30可確定第一塊的MVD精度是整數(shù)像素精度。視頻解碼器30可建構(gòu)第一塊的MVP的包含至少一個(gè)分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者的候選者列表(例如,及AMVP候選者列表)。視頻解碼器30可從所述候選者列表選擇分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者且基于所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者及整數(shù)像素精度MVD而確定分?jǐn)?shù)像素精度運(yùn)動(dòng)向量。視頻解碼器30可使用所述分?jǐn)?shù)像素精度運(yùn)動(dòng)向量來(lái)定位第一塊的參考?jí)K。

在另一實(shí)例中,運(yùn)動(dòng)向量精度旗標(biāo)可部分應(yīng)用于LCU或CU。例如,CU整數(shù)精度旗標(biāo)不應(yīng)用于使用預(yù)先界定的譯碼模式(例如,合并及跳過(guò))或使用預(yù)先界定的分區(qū)(例如,非2N×2N分區(qū))或使用特殊譯碼工具(例如,變換跳過(guò)或無(wú)殘差)譯碼的其PU。

例如,視頻解碼器30可確定視頻數(shù)據(jù)的默認(rèn)運(yùn)動(dòng)向量精度,且響應(yīng)于視頻數(shù)據(jù)的PU在特殊模式中被譯碼,使用默認(rèn)運(yùn)動(dòng)向量精度的運(yùn)動(dòng)向量而定位所述PU的參考?jí)K。所述特殊模式可例如為跳過(guò)模式、2N×2N合并模式、合并模式、變換跳過(guò)模式或不對(duì)稱分割模式中的一或多者。響應(yīng)于使用除特殊模式之外的模式譯碼視頻數(shù)據(jù)的第二PU,視頻解碼器30可確定視頻數(shù)據(jù)的第二PU的發(fā)信號(hào)通知的運(yùn)動(dòng)向量精度且使用發(fā)信號(hào)通知的運(yùn)動(dòng)向量精度的運(yùn)動(dòng)向量而定位第二PU的參考?jí)K。視頻解碼器30可確定視頻數(shù)據(jù)的CU的不同于所述默認(rèn)運(yùn)動(dòng)向量精度的發(fā)信號(hào)通知的運(yùn)動(dòng)向量精度。CU可例如包含PU及/或第二PU。在一個(gè)實(shí)例中,所述發(fā)信號(hào)通知的運(yùn)動(dòng)向量精度可為整數(shù)像素精度,而所述默認(rèn)運(yùn)動(dòng)向量精度是分?jǐn)?shù)運(yùn)動(dòng)向量精度。在其它實(shí)例中,所述默認(rèn)運(yùn)動(dòng)向量精度可為分?jǐn)?shù)運(yùn)動(dòng)向量精度。

在實(shí)例中,可僅針對(duì)具有非零MVD的PU或CU發(fā)信號(hào)通知MV/MVD精度信息。在不發(fā)信號(hào)通知MV/MVD精度信息時(shí),子像素MV可以用于PU或CU??稍赑U或CU的MVD之后發(fā)信號(hào)通知MV/MVD精度信息。等于零的MVD可用于指MVD的垂直分量及MVD的水平分量?jī)烧叨嫉扔?。

例如,對(duì)于當(dāng)前視頻數(shù)據(jù)塊,視頻解碼器30可接收MVD值,且響應(yīng)于MVD值等于零,確定當(dāng)前塊的運(yùn)動(dòng)向量具有子像素運(yùn)動(dòng)向量精度。MVD值等于零可指示MVD值的x分量及MVD值的y分量?jī)烧叨嫉扔诹恪?duì)于視頻數(shù)據(jù)的第二當(dāng)前塊,視頻解碼器30可接收第二MVD值,且響應(yīng)于所述第二MVD值是非零值,接收第二當(dāng)前塊的第二運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度的指示。視頻解碼器30可在參考圖片中使用第二運(yùn)動(dòng)向量定位第二當(dāng)前塊的參考?jí)K。對(duì)于第二當(dāng)前塊,視頻解碼器30可在接收第二MVD值之后接收運(yùn)動(dòng)向量精度的指示。

在PU層級(jí)處發(fā)信號(hào)通知MV/MVD精度信息時(shí),如果以下條件中的一或多者(例如,任一者)為真,則可不發(fā)信號(hào)通知MV/MVD精度信息:(1)使用合并/跳過(guò)模式譯碼PU,(2)使用AMVP模式譯碼PU,且PU的每一預(yù)測(cè)方向上的MVD等于零,或(3)或者或另外,如果一個(gè)CU可共同含有經(jīng)幀內(nèi)譯碼的PU及經(jīng)幀間譯碼的PU(這在HEVC中不允許),且在PU經(jīng)幀內(nèi)譯碼時(shí),跳過(guò)PU層級(jí)處的MV/MVD精度信息的信令。

視頻解碼器30可例如針對(duì)第一視頻數(shù)據(jù)塊(例如,第一PU)接收第一運(yùn)動(dòng)向量精度信息。響應(yīng)于第二視頻數(shù)據(jù)塊滿足條件,視頻解碼器30可確定第二運(yùn)動(dòng)向量信息以對(duì)應(yīng)于默認(rèn)精度。在一個(gè)實(shí)例中,所述條件可為第二塊使用合并模式或跳過(guò)模式被譯碼。在另一實(shí)例中,所述條件可為第二塊使用AMVP模式被譯碼且第二塊的每一預(yù)測(cè)方向的MVD等于零。所述默認(rèn)精度可在一些實(shí)例中例如為分?jǐn)?shù)精度或在其它實(shí)例中為整數(shù)精度。所述第一和第二運(yùn)動(dòng)向量精度信息可例如為運(yùn)動(dòng)向量精度或MVD精度中的一者或兩者。

在CU層級(jí)處發(fā)信號(hào)通知MV/MVD精度信息時(shí),如果以下條件中的一者(及可能一或多者)對(duì)于所有PU為真,則可不發(fā)信號(hào)通知MV/MVD精度信息:(1)PU經(jīng)幀內(nèi)譯碼,(2)PU使用合并/跳過(guò)模式被譯碼,或(3)PU使用AMVP模式被譯碼,且PU的每一預(yù)測(cè)方向上的MVD等于零?;蛘呋蛄硗?,在不發(fā)信號(hào)通知運(yùn)動(dòng)向量精度信息時(shí),例如整數(shù)運(yùn)動(dòng)向量精度等默認(rèn)運(yùn)動(dòng)向量精度可以用于PU或CU。

視頻解碼器30可例如針對(duì)視頻數(shù)據(jù)的第一CU接收第一運(yùn)動(dòng)向量精度信息且響應(yīng)于視頻數(shù)據(jù)的第二CU滿足條件,確定第二運(yùn)動(dòng)向量信息以對(duì)應(yīng)于默認(rèn)精度。所述條件可例如為CU內(nèi)的所有PU都經(jīng)幀內(nèi)譯碼,CU內(nèi)的所有PU都使用合并模式或跳過(guò)模式被譯碼,CU內(nèi)的所有PU都使用AMVP被譯碼且所有PU的每一方向的MVD都等于零。所述默認(rèn)精度可例如為分?jǐn)?shù)精度或可沒(méi)有精度。例如,如果塊經(jīng)幀內(nèi)預(yù)測(cè),那么塊不具有相關(guān)聯(lián)的運(yùn)動(dòng)向量且因此不具有相關(guān)聯(lián)的運(yùn)動(dòng)向量精度。所述第一和第二運(yùn)動(dòng)向量精度信息可例如包含運(yùn)動(dòng)向量精度或MVD精度中的一者或兩者。

在當(dāng)前經(jīng)AMVP譯碼的PU被發(fā)信號(hào)通知/導(dǎo)出為具有整數(shù)像素運(yùn)動(dòng)向量精度時(shí),可將來(lái)自空間相鄰塊、時(shí)間相鄰塊或這兩者的一或多個(gè)(且在一些實(shí)例中,所有)MV候選者舍入到整數(shù)像素精度,之后在AMVP列表的產(chǎn)生過(guò)程中修剪。在整數(shù)像素MV被發(fā)信號(hào)通知/導(dǎo)出為用于當(dāng)前經(jīng)合并、跳過(guò)譯碼的CU/PU或這兩者時(shí),可將來(lái)自空間時(shí)間相鄰塊、時(shí)間相鄰塊或這兩者的一或多個(gè)(且在一些實(shí)例中,所有)MV候選者舍入到整數(shù)像素精度,之后在合并列表的產(chǎn)生過(guò)程中修剪。

例如,視頻解碼器30可識(shí)別一或多個(gè)運(yùn)動(dòng)向量候選者以用于包含在塊的候選者列表(例如,合并候選者列表或AMVP候選者列表)中。所述一或多個(gè)運(yùn)動(dòng)向量候選者可例如包含一或多個(gè)空間相鄰候選者及/或一或多個(gè)時(shí)間相鄰候選者。所述一或多個(gè)運(yùn)動(dòng)向量候選者可包含至少一個(gè)分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者。響應(yīng)于塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度,視頻解碼器30可舍入一個(gè)或運(yùn)動(dòng)向量候選者以確定一或多個(gè)整數(shù)精度運(yùn)動(dòng)向量候選者。視頻解碼器30可對(duì)所述一或多個(gè)整數(shù)精度運(yùn)動(dòng)向量候選者執(zhí)行修剪操作。

在實(shí)例中,運(yùn)動(dòng)向量精度旗標(biāo)可被使用或有條件地被用作其它語(yǔ)法元素的CABAC上下文。也就是說(shuō),取決于運(yùn)動(dòng)向量精度旗標(biāo),不同上下文模型可用于譯碼某些語(yǔ)法元素。在一個(gè)實(shí)例中,在譯碼例如PU等塊的AMVP候選者索引時(shí),PU或相關(guān)聯(lián)的CU或空間相鄰塊或時(shí)間相鄰塊的運(yùn)動(dòng)向量精度旗標(biāo)用作CABAC譯碼上下文?;蛘呋蛄硗?,在一些實(shí)例中,在運(yùn)動(dòng)向量精度旗標(biāo)指示整數(shù)像素運(yùn)動(dòng)向量精度時(shí),可將等于0的AMVP候選者索引的初始化概率設(shè)定為接近1。或者或另外,在一些情況下,例如僅在B切片中,或僅在切片處于某一時(shí)間層級(jí)時(shí),或在量化參數(shù)大于預(yù)定義閾值時(shí),運(yùn)動(dòng)向量精度旗標(biāo)可用作其它語(yǔ)法元素例如AMVP候選者索引)的CABAC上下文。

這些實(shí)例中的一或多者可經(jīng)組合。例如,實(shí)際上,所述實(shí)例的任何部分的任何組合可用作新實(shí)例。另外,下文論述以上實(shí)例的子實(shí)例。

一些實(shí)例涉及屏幕內(nèi)容的解碼器側(cè)運(yùn)動(dòng)向量精度導(dǎo)出。在一個(gè)實(shí)例中,可使用經(jīng)重構(gòu)樣本上的L狀或其它形狀模板匹配。運(yùn)動(dòng)向量精度可基于整數(shù)像素位置的模板匹配結(jié)果(例如SAD)與其相鄰子像素位置的匹配結(jié)果之間的差異。例如,在整數(shù)像素位置的匹配結(jié)果低得多時(shí),整數(shù)像素精度適用。否則,子像素精度適用。為界定“低得多”,可使用閾值。實(shí)際上,可使用固定閾值、自適應(yīng)閾值或這兩者。對(duì)于自適應(yīng)閾值,可在位流中發(fā)信號(hào)通知或基于其它信息(例如塊類型,QP在位流中發(fā)信號(hào)通知的QP)而導(dǎo)出自適應(yīng)閾值。另外,還可界定“高得多”的閾值。因此,在整數(shù)位置的匹配結(jié)果減去相鄰子像素位置的匹配結(jié)果高于“高得多”閾值時(shí),可使用四分之一像素精度。在匹配差異在“低得多”與“高得多”的閾值之間時(shí),可使用二分之一像素精度。替代地或另外,可在以上實(shí)例中替代地使用其它模板匹配方法,例如基于鏡的雙向模板匹配。

在另一實(shí)例中,可基于空間或時(shí)間相鄰塊的特性(例如,梯度、銳度或是否針對(duì)所述塊跳過(guò)變換)在解碼器側(cè)處導(dǎo)出運(yùn)動(dòng)向量精度信息??稍谖涣髦邪l(fā)信號(hào)通知、從所述位流導(dǎo)出閾值信息,或這兩者。

一些實(shí)例涉及指示符信令。為自適應(yīng)地配合不同內(nèi)容,可使用解碼器側(cè)運(yùn)動(dòng)向量精度導(dǎo)出(DMPD)的不同方法的組合。為指示哪一或哪些方法在使用中,可在位流中發(fā)信號(hào)通知指示符。在一個(gè)實(shí)例中,可在切片層級(jí)處或上方發(fā)信號(hào)通知指示符以顯式地告知解碼器將使用哪一或哪些DMPD方法。在另一實(shí)例中,在位流中發(fā)信號(hào)通知一些DMPD方法的使用,同時(shí)基于位流中的其它信息(例如,切片類型及切片的時(shí)間層級(jí))導(dǎo)出其它DMPD方法的使用。

一些實(shí)例涉及發(fā)信號(hào)通知自適應(yīng)運(yùn)動(dòng)向量精度。在此實(shí)例中,可例如在LCU、CU或PU層級(jí)處在位流中發(fā)信號(hào)通知運(yùn)動(dòng)向量精度。旗標(biāo)/值可用于指示運(yùn)動(dòng)向量精度,例如整數(shù)精度、二分之一像素精度、四分之一像素精度或其它精度。在針對(duì)一個(gè)塊或一個(gè)區(qū)/切片發(fā)信號(hào)通知運(yùn)動(dòng)向量精度時(shí),此塊/區(qū)/切片內(nèi)的所有較小塊可共享同一運(yùn)動(dòng)向量精度。此外,還可在發(fā)信號(hào)通知的精度中發(fā)信號(hào)通知MVD信息。在運(yùn)動(dòng)補(bǔ)償之前,可將MV(MV預(yù)測(cè)符+MVD)舍入到發(fā)信號(hào)通知的精度。所述舍入可朝向正無(wú)窮、負(fù)無(wú)窮、零,或無(wú)窮(負(fù)值舍入到負(fù)無(wú)窮,而正值舍入到正無(wú)窮)。替代地或另外,MV預(yù)測(cè)符可首先被舍入(如上文所提及)且隨后形成塊的MV。在運(yùn)動(dòng)補(bǔ)償之后,保存所述塊的MV以用于稍后塊的MV預(yù)測(cè)。在保存所述MV時(shí),可保存舍入的MV(例如)以在稍后用作隨后經(jīng)解碼的塊的合并候選者或AMVP候選者。替代地或另外,可保存未經(jīng)舍入的MV來(lái)替代舍入的運(yùn)動(dòng)向量,其可潛在地使運(yùn)動(dòng)字段更準(zhǔn)確。

在另一實(shí)例中,不針對(duì)跳過(guò)模式、2N×2N合并模式或這兩者發(fā)信號(hào)通知運(yùn)動(dòng)向量精度信息。在此實(shí)例中,可能還不針對(duì)合并的PU發(fā)信號(hào)通知運(yùn)動(dòng)向量精度信息?;蛘呋蛄硗?,在特殊譯碼模式(例如合并模式及跳過(guò)模式)中或使用特殊分區(qū)(例如不對(duì)稱分區(qū))或使用特殊變換深度或使用變換跳過(guò)譯碼的PU可保持默認(rèn)運(yùn)動(dòng)向量精度,例如四分之一像素,甚至在它們的CU層級(jí)處發(fā)信號(hào)通知整數(shù)精度MV時(shí)也如此?;蛘呋蛄硗?,其它經(jīng)譯碼信息(例如時(shí)間層級(jí)、QP、CU深度)也可視為特殊譯碼模式或特殊譯碼工具。

在使用CABAC對(duì)運(yùn)動(dòng)向量精度信息進(jìn)行熵譯碼時(shí),除空間相鄰塊/CU中的運(yùn)動(dòng)向量精度信息之外的上下文可用于節(jié)省線緩沖器,例如CU深度、PU分割、塊大小、時(shí)間層級(jí)等。

圖8是說(shuō)明根據(jù)本發(fā)明中所描述的技術(shù)的用于編碼視頻數(shù)據(jù)的實(shí)例方法的流程圖。將參考視頻編碼器(例如視頻編碼器20)描述圖8的技術(shù)。視頻編碼器20確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度(202)。視頻編碼器20建構(gòu)第一塊的合并候選者列表(204)。作為建構(gòu)所述合并候選者列表的部分,視頻編碼器20可將分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者添加到所述合并候選者列表。因此,所述合并候選者列表可包含分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者。視頻編碼器20選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以編碼第一塊(206)。為使用合并模式譯碼第一塊,視頻編碼器20舍入分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定第一塊的整數(shù)像素精度運(yùn)動(dòng)向量(208)。視頻編碼器20使用整數(shù)像素精度運(yùn)動(dòng)向量來(lái)定位第一塊的參考?jí)K(210)。視頻編碼器20基于所述參考?jí)K而編碼第一塊(212)。

圖9是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行解碼的實(shí)例方法的流程圖。將參考視頻解碼器(例如視頻解碼器30)描述圖9的技術(shù)。視頻解碼器30確定第一塊的譯碼模式是合并模式(220)。視頻解碼器30確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度(222)。視頻解碼器30建構(gòu)第一塊的合并候選者列表(224)。視頻解碼器30通過(guò)將分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者添加到所述合并候選者列表而建構(gòu)所述合并候選者列表。視頻解碼器30選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼第一塊(226)。響應(yīng)于選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量,視頻解碼器30舍入分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定第一塊的整數(shù)像素精度運(yùn)動(dòng)向量(228)。視頻解碼器30使用所述整數(shù)像素精度運(yùn)動(dòng)向量來(lái)定位第一塊的參考?jí)K(230)。視頻解碼器30基于所述參考?jí)K而解碼第一塊(232)。

圖10是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖10的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。對(duì)于當(dāng)前圖片中被譯碼的當(dāng)前塊,視頻解碼器30識(shí)別已經(jīng)譯碼的相鄰塊的整數(shù)像素位置(234)?;谒稣麛?shù)像素位置的位置,視頻解碼器30應(yīng)用模板以確定所述圖片中的多個(gè)整數(shù)像素位置(236)。視頻解碼器30將所述模板應(yīng)用于多個(gè)子像素位置以確定所述圖片中的多個(gè)子像素位置(238)。視頻解碼器30將所述多個(gè)整數(shù)像素位置的一或多個(gè)像素值與所述多個(gè)子像素位置的一或多個(gè)像素值進(jìn)行比較(240)?;谒霰容^,視頻解碼器30確定運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度(242)。視頻解碼器30使用具有所述所確定的運(yùn)動(dòng)向量精度的運(yùn)動(dòng)向量譯碼當(dāng)前塊(242)。

圖11是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖11的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。對(duì)于被譯碼的當(dāng)前塊,視頻解碼器30定位一或多個(gè)相鄰塊(246)。視頻解碼器30確定一或多個(gè)相鄰塊的特性(248)?;谒鲆换蚨鄠€(gè)相鄰塊的特性,視頻解碼器30確定運(yùn)動(dòng)向量的運(yùn)動(dòng)向量精度(250)。視頻解碼器30使用具有所述所確定的運(yùn)動(dòng)向量精度的運(yùn)動(dòng)向量譯碼當(dāng)前塊。

圖12是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖12的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。視頻解碼器30確定第一塊的譯碼模式是合并模式(254)。視頻解碼器30確定第一塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度(256)。視頻解碼器30建構(gòu)第一塊的合并候選者列表,其中所述合并候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者(258)。視頻解碼器30選擇所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以解碼第一塊(260)。視頻解碼器30舍入所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者以確定整數(shù)像素精度運(yùn)動(dòng)向量(262)。視頻解碼器30使用所述整數(shù)像素精度運(yùn)動(dòng)向量來(lái)定位第一塊的參考?jí)K。

圖13是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖13的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。對(duì)于當(dāng)前視頻數(shù)據(jù)塊,視頻解碼器30確定運(yùn)動(dòng)向量差值(266)。響應(yīng)于所述運(yùn)動(dòng)向量差值等于零,視頻解碼器30確定當(dāng)前塊的運(yùn)動(dòng)向量具有子像素運(yùn)動(dòng)向量精度(268)。

圖14是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖14的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。視頻解碼器30針對(duì)視頻數(shù)據(jù)確定默認(rèn)運(yùn)動(dòng)向量精度(270)。響應(yīng)于視頻數(shù)據(jù)的PU在特殊模式中被譯碼,視頻解碼器30使用默認(rèn)運(yùn)動(dòng)向量精度的運(yùn)動(dòng)向量定位PU的參考?jí)K(272)。

圖15是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖15的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。視頻解碼器30識(shí)別一或多個(gè)運(yùn)動(dòng)向量候選者以用于包含在塊的候選者列表中,其中所述一或多個(gè)運(yùn)動(dòng)向量候選者包括至少一個(gè)分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者(274)。響應(yīng)于塊的運(yùn)動(dòng)向量精度是整數(shù)像素精度,視頻解碼器30舍入一個(gè)或運(yùn)動(dòng)向量候選者以確定一或多個(gè)整數(shù)精度運(yùn)動(dòng)向量候選者(276)。在舍入所述一或多個(gè)運(yùn)動(dòng)向量候選者之后,視頻解碼器30對(duì)所述一或多個(gè)整數(shù)精度運(yùn)動(dòng)向量候選者執(zhí)行修剪操作(278)。

圖16是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖16的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。視頻解碼器30針對(duì)第一視頻數(shù)據(jù)塊及第二視頻數(shù)據(jù)塊確定默認(rèn)精度(280)。視頻解碼器30針對(duì)第一視頻數(shù)據(jù)塊確定第一運(yùn)動(dòng)向量精度信息(282)。響應(yīng)于第二視頻數(shù)據(jù)塊滿足條件,確定第二運(yùn)動(dòng)向量信息以對(duì)應(yīng)于所述默認(rèn)精度(284)。所述第一和第二塊可例如是第一和第二PU或第一和第二CU。

圖17是說(shuō)明用于根據(jù)本發(fā)明中描述的技術(shù)對(duì)視頻數(shù)據(jù)進(jìn)行譯碼的實(shí)例方法的流程圖。將參考視頻解碼器30描述圖17的技術(shù);然而,還可通過(guò)例如視頻編碼器20等視頻編碼器執(zhí)行許多所述技術(shù)。視頻解碼器30確定第一塊的運(yùn)動(dòng)向量差精度是整數(shù)像素精度(286)。視頻解碼器30建構(gòu)第一塊的運(yùn)動(dòng)向量預(yù)測(cè)符的候選者列表,其中所述候選者列表包括分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者(288)。視頻解碼器30從所述候選者列表選擇分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者(290)。視頻解碼器30基于所述分?jǐn)?shù)精度運(yùn)動(dòng)向量候選者及整數(shù)像素精度運(yùn)動(dòng)向量差而確定分?jǐn)?shù)像素精度運(yùn)動(dòng)向量(292)。視頻解碼器30使用分?jǐn)?shù)像素精度運(yùn)動(dòng)向量來(lái)定位第一塊的參考?jí)K(294)。

為了易于解釋,已經(jīng)單獨(dú)地呈現(xiàn)圖8到17的技術(shù),但預(yù)期所描述的技術(shù)可彼此結(jié)合使用。另外,預(yù)期一些技術(shù)的若干部分可與其它技術(shù)的若干部分組合使用。

在一或多個(gè)實(shí)例中,所描述的功能可用硬件、軟件、固件或其任何組合來(lái)實(shí)施。如果以軟件實(shí)施,那么所述功能可以作為一或多個(gè)指令或代碼在計(jì)算機(jī)可讀媒體上存儲(chǔ)或傳輸,并且由基于硬件的處理單元來(lái)執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲(chǔ)媒體,其對(duì)應(yīng)于有形媒體(例如,數(shù)據(jù)存儲(chǔ)媒體)或通信媒體,所述通信媒體包含促進(jìn)將計(jì)算機(jī)程序從一處傳送到另一處(例如,根據(jù)通信協(xié)議)的任何媒體。以此方式,計(jì)算機(jī)可讀媒體大體上可對(duì)應(yīng)于(1)非暫時(shí)形的有形計(jì)算機(jī)可讀存儲(chǔ)媒體,或(2)通信媒體,例如信號(hào)或載波。數(shù)據(jù)存儲(chǔ)媒體可為可由一或多個(gè)計(jì)算機(jī)或一個(gè)或多個(gè)處理器存取以檢索用于實(shí)施本發(fā)明中描述的技術(shù)的指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可以包含計(jì)算機(jī)可讀媒體。

借助于實(shí)例而非限制,此類計(jì)算機(jī)可讀存儲(chǔ)媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)裝置或其它磁性存儲(chǔ)裝置、快閃存儲(chǔ)器或可以用來(lái)存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望程序代碼并且可以由計(jì)算機(jī)存取的任何其它媒體。并且,可恰當(dāng)?shù)貙⑷魏芜B接稱作計(jì)算機(jī)可讀媒體。舉例來(lái)說(shuō),如果使用同軸纜線、光纖纜線、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無(wú)線電和微波等無(wú)線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,那么同軸纜線、光纖纜線、雙絞線、DSL或例如紅外線、無(wú)線電和微波等無(wú)線技術(shù)包含在媒體的定義中。但是,應(yīng)理解,所述計(jì)算機(jī)可讀存儲(chǔ)媒體和數(shù)據(jù)存儲(chǔ)媒體并不包含連接、載波、信號(hào)或其它瞬時(shí)媒體,而是實(shí)際上針對(duì)于非瞬時(shí)有形存儲(chǔ)媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤和藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤利用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述各者的組合也應(yīng)包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。

可由例如一或多個(gè)數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個(gè)處理器來(lái)執(zhí)行指令。因此,如本文中所使用的術(shù)語(yǔ)“處理器”可指代上述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可以在經(jīng)配置用于編碼和解碼的專用硬件和/或軟件模塊內(nèi)提供,或者并入在組合編解碼器中。并且,可將所述技術(shù)完全實(shí)施于一或多個(gè)電路或邏輯元件中。

本發(fā)明的技術(shù)可在廣泛多種的裝置或設(shè)備中實(shí)施,包含無(wú)線手持機(jī)、集成電路(IC)或IC集合(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的功能方面,但未必需要通過(guò)不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可以結(jié)合合適的軟件及/或固件組合在編碼解碼器硬件單元中,或者通過(guò)互操作硬件單元的集合來(lái)提供,所述硬件單元包含如上文所描述的一或多個(gè)處理器。

描述了各種實(shí)例。這些和其它實(shí)例屬于所附權(quán)利要求書的范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武安市| 留坝县| 固阳县| 兴和县| 宾川县| 绩溪县| 文安县| 利辛县| 溆浦县| 井研县| 林口县| 渭南市| 绵竹市| 五莲县| 正安县| 喀喇沁旗| 武陟县| 五家渠市| 巴塘县| 监利县| 同仁县| 万山特区| 荃湾区| 阿坝县| 巨野县| 大新县| SHOW| 包头市| 社旗县| 泸溪县| 大关县| 宜兰县| 齐河县| SHOW| 宣威市| 灵川县| 巫山县| 金门县| 固镇县| 黄浦区| 阆中市|