公開了一種用于將視頻編碼為比特流的方法和裝置。還公開了相應(yīng)的解碼方法和裝置。至少一些實(shí)施例進(jìn)一步涉及視頻壓縮方案中的幀間編碼塊的雙預(yù)測(bi-prediction)。
背景技術(shù):
1、一個(gè)或多個(gè)實(shí)現(xiàn)方式的技術(shù)領(lǐng)域主要涉及視頻壓縮。為了實(shí)現(xiàn)高壓縮效率,圖像和視頻編碼方案通常采用預(yù)測和變換以利用視頻內(nèi)容中的空間和時(shí)間冗余。通常,幀內(nèi)或幀間預(yù)測用于利用幀內(nèi)或幀間相關(guān)性,然后對原始?jí)K與預(yù)測塊之間的差(其通常被表示為預(yù)測誤差或預(yù)測殘差)進(jìn)行變換、量化和熵編碼。為了重構(gòu)所述視頻,通過與所述熵編碼、量化、變換和預(yù)測相對應(yīng)的逆處理來對所述壓縮數(shù)據(jù)進(jìn)行解碼。在hevc視頻壓縮標(biāo)準(zhǔn)(也稱為推薦itu-th.265)中,幀間預(yù)測中使用的雙預(yù)測過程包括對2個(gè)單向預(yù)測信號(hào)求平均。圖1示出了hevc中的雙預(yù)測過程。如圖1所示,2個(gè)單向預(yù)測的平均是以比輸入比特深度或內(nèi)部比特深度更高的精度進(jìn)行的。雙預(yù)測公式如方程式1所示,其中偏移(offset)和移位(shift)用于將最終預(yù)測值(predictor)歸一化到輸入比特深度:
2、pbidir=(pl0+pl1+offset)>>shift???方程式1
3、由于在中間級(jí)中沒有舍入,hevc內(nèi)插濾波器允許某些實(shí)現(xiàn)方式優(yōu)化。
4、視頻壓縮技術(shù)的最新補(bǔ)充包括各種工業(yè)標(biāo)準(zhǔn)、各種版本的參考軟件和/或文檔,例如由jvet(聯(lián)合視頻探索團(tuán)隊(duì))組開發(fā)的聯(lián)合探索模型(jem)和后來的vtm(通用視頻編碼(vvc)測試模型)。目標(biāo)是對現(xiàn)有hevc(高效視頻編碼)標(biāo)準(zhǔn)做進(jìn)一步改進(jìn)。例如,在視頻編解碼器的更新近的方法中,多個(gè)權(quán)重被用于對2個(gè)單向預(yù)測進(jìn)行平均以獲得雙向預(yù)測。通常,所使用的權(quán)重是{-1/4,5/4},{3/8,5/8}或{1/2,1/2}({1/2,1/2}是在hevc中實(shí)現(xiàn)的權(quán)重),并且所述雙預(yù)測公式如方程式2中那樣被修改。對于整個(gè)塊只使用一個(gè)權(quán)重。
5、pbidir=((1-w1)*pl0+w1*pl1+offset)>>shift???方程式2
6、在視頻編解碼器的另一方法中,在合并模式中使用三角形預(yù)測。圖2示出了將編碼單元cu分割成兩個(gè)三角形預(yù)測單元。如圖2中所示,在沿著對角線邊緣的對角線或逆對角線方向上,將cu分割成兩個(gè)三角形預(yù)測單元pu0和pu1。cu中的每一三角形預(yù)測單元是使用其自身的運(yùn)動(dòng)向量和從合并候選列表導(dǎo)出的參考幀索引而被幀間預(yù)測的。在此上下文中,將自適應(yīng)加權(quán)過程應(yīng)用于所述兩個(gè)三角形預(yù)測單元之間的對角線或逆對角線邊緣,以導(dǎo)出整個(gè)cu的最終預(yù)測。圖3示出了對所述兩個(gè)三角形預(yù)測單元之間的對角線邊緣的加權(quán)過程。所述三角形預(yù)測單元模式僅應(yīng)用于跳過或合并模式中的cu。當(dāng)將所述三角形預(yù)測單元模式應(yīng)用于所述cu時(shí),用信號(hào)發(fā)送指示一將所述cu分割成兩個(gè)三角形預(yù)測單元的方向的索引以及所述兩個(gè)三角形預(yù)測單元的運(yùn)動(dòng)向量。對于兩個(gè)預(yù)測單元,可導(dǎo)出具有5個(gè)單向預(yù)測值的公共列表,檢查與經(jīng)典合并過程中相同的空間和時(shí)間位置,但是僅使用單向向量。如果沒有足夠的候選,則不將冗余運(yùn)動(dòng)向量添加到所述列表中,并且在所述列表的末尾添加零運(yùn)動(dòng)向量。對于給定的預(yù)測單元,運(yùn)動(dòng)向量預(yù)測值的數(shù)量是5,對于每個(gè)對角線,測試20個(gè)組合(5*4=20,相同的運(yùn)動(dòng)向量預(yù)測值不能用于兩個(gè)pu)。所述索引的范圍從0到39,并且參見表2,使用該查找表來從所述索引中導(dǎo)出每個(gè)pu的分割方向和運(yùn)動(dòng)向量。給定三元組的第一元素給出了對角線方向,第二和第三元素分別給出了pu0和pu1的預(yù)測值索引。索引語法如表1所示。
7、
8、表1:三角形分區(qū)和對應(yīng)的合并索引語法
9、
10、表2:用于確定對角線方向和預(yù)測值的查找表
11、圖4示出了根據(jù)特定壓縮方案的用于三角形分區(qū)的子塊運(yùn)動(dòng)向量存儲(chǔ)。在一種實(shí)現(xiàn)方式中,為每個(gè)4×4子塊存儲(chǔ)運(yùn)動(dòng)向量。當(dāng)三角形分區(qū)用于cu時(shí),用于每一分區(qū)的運(yùn)動(dòng)向量以相同方式針對每一子塊而被存儲(chǔ),但對于邊緣上的子塊,僅存儲(chǔ)來自一個(gè)pu的運(yùn)動(dòng)向量,如圖4中所示。
12、幀間編碼塊的雙預(yù)測與三角形分區(qū)的組合引發(fā)實(shí)施問題。因此,需要一種用于雙預(yù)測的較少計(jì)算的方法。因此,揭示若干實(shí)施例以改進(jìn)關(guān)于幀間編碼塊的雙預(yù)測。
技術(shù)實(shí)現(xiàn)思路
1、根據(jù)本公開的一方面,公開了一種用于對圖片進(jìn)行編碼的方法。此方法包括:使用第一參考圖片獲得所述圖片的塊的第一預(yù)測值;使用第二參考圖片獲得所述圖片的所述塊的第二預(yù)測值;使用所述第一預(yù)測值及所述第二預(yù)測值來形成用于雙預(yù)測幀間預(yù)測中的所述圖片的所述塊的第三預(yù)測值,其中所述第三預(yù)測值是作為所述第一預(yù)測值與所述第二預(yù)測值的加權(quán)平均值而被獲得的;并且其中所述第三預(yù)測值的樣本通過將第一權(quán)重應(yīng)用于所述第一預(yù)測值的樣本并且通過將第二權(quán)重應(yīng)用于所述第二預(yù)測值的樣本來獲得;所述第三預(yù)測值的所述樣本、所述第一預(yù)測值的所述樣本和所述第二預(yù)測值的所述樣本共享所述塊中的相同位置;并且第一權(quán)重和第二權(quán)重取決于所述樣本在所述塊中的所述位置。
2、根據(jù)本公開的另一方面,公開了一種用于對圖片進(jìn)行編碼的裝置。用于使用第一參考圖片獲得所述圖片的塊的第一預(yù)測值的裝置;用于使用第二參考圖片獲得所述圖片的所述塊的第二預(yù)測值的裝置;用于使用所述第一預(yù)測值及所述第二預(yù)測值在雙預(yù)測幀間預(yù)測中形成所述圖片的所述塊的第三預(yù)測值的裝置,其中所述第三預(yù)測值是作為所述第一預(yù)測值與所述第二預(yù)測值的加權(quán)平均值而被獲得的;并且其中所述第三預(yù)測值的樣本通過將第一權(quán)重應(yīng)用于所述第一預(yù)測值的樣本并且通過將第二權(quán)重應(yīng)用于所述第二預(yù)測值的樣本來獲得;所述第三預(yù)測值的所述樣本、所述第一預(yù)測值的所述樣本和所述第二預(yù)測值的所述樣本共享所述塊中的相同位置;并且第一權(quán)重和第二權(quán)重取決于所述樣本在所述塊中的所述位置。.
3、根據(jù)本公開的一方面,提供了一種用于對圖片進(jìn)行編碼的裝置,該裝置包括處理器和耦合到處理器的至少一個(gè)存儲(chǔ)器,該處理器被配置為實(shí)現(xiàn)所述編碼方法的任何變型。
4、根據(jù)本公開的另一方面,公開了一種用于對視頻進(jìn)行解碼的方法。該方法包括:在比特流中接收經(jīng)編碼的視頻數(shù)據(jù),且針對運(yùn)動(dòng)補(bǔ)償,使用第一參考圖片獲得所述圖片的塊的第一預(yù)測值;使用第二參考圖片獲得所述圖片的所述塊的第二預(yù)測值;使用所述第一預(yù)測值及所述第二預(yù)測值來形成用于雙預(yù)測幀間預(yù)測中的所述圖片的所述塊的第三預(yù)測值,其中所述第三預(yù)測值是作為所述第一預(yù)測值與所述第二預(yù)測值的加權(quán)平均值而被獲得的;并且其中所述第三預(yù)測值的樣本通過將第一權(quán)重應(yīng)用于所述第一預(yù)測值的樣本并且通過將第二權(quán)重應(yīng)用于所述第二預(yù)測值的樣本來獲得;所述第三預(yù)測值的所述樣本、所述第一預(yù)測值的所述樣本和所述第二預(yù)測值的所述樣本共享所述塊中的相同位置;并且其中第一權(quán)重和第二權(quán)重取決于所述樣本在所述塊中的所述位置。
5、根據(jù)本公開的另一方面,公開了一種用于對視頻進(jìn)行解碼的裝置。此裝置包括:用于在比特流中接收經(jīng)編碼的視頻數(shù)據(jù)的裝置和用于處理運(yùn)動(dòng)補(bǔ)償?shù)难b置,所述用于處理運(yùn)動(dòng)補(bǔ)償?shù)难b置進(jìn)一步包括用于使用第一參考圖片獲得圖片的塊的第一預(yù)測值的裝置;用于使用第二參考圖片獲得所述圖片的所述塊的第二預(yù)測值的裝置;用于使用所述第一預(yù)測值及所述第二預(yù)測值在雙預(yù)測幀間預(yù)測中形成所述圖片的所述塊的第三預(yù)測值的裝置,其中所述第三預(yù)測值是作為所述第一預(yù)測值與所述第二預(yù)測值的加權(quán)平均值而被獲得;其中所述第三預(yù)測值的樣本通過將第一權(quán)重應(yīng)用于所述第一預(yù)測值的樣本并且通過將第二權(quán)重應(yīng)用于所述第二預(yù)測值的樣本來獲得;所述第三預(yù)測值的所述樣本、所述第一預(yù)測值的所述樣本和所述第二預(yù)測值的所述樣本共享所述塊中的相同位置;并且其中第一權(quán)重和第二權(quán)重取決于所述樣本在所述塊中的所述位置。
6、根據(jù)本公開的一方面,提供了一種用于解碼視頻的裝置,該裝置包括處理器和耦合到處理器的至少一個(gè)存儲(chǔ)器,該處理器被配置為在比特流中接收所編碼的視頻數(shù)據(jù)并且實(shí)現(xiàn)所述解碼方法的任何變型。
7、本公開還提供了一種信號(hào),該信號(hào)包括根據(jù)前述說明中的任一項(xiàng)的方法或裝置生成的視頻數(shù)據(jù)。本發(fā)明實(shí)施例還提供了一種包括指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),所述指令使計(jì)算機(jī)執(zhí)行所描述的方法。
8、本公開還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有根據(jù)上述方法生成的比特流。本公開還提供了一種用于發(fā)送根據(jù)上述方法生成的比特流的方法和裝置。
9、以上給出了本主題的簡化概述,以便提供對本主題實(shí)施例的一些方面的基本理解。本概述不是對本主題的詳盡綜述。其并非旨在標(biāo)識(shí)各實(shí)施例的關(guān)鍵/重要元素或描繪本主題的范圍。其唯一目的是以簡化形式呈現(xiàn)本主題的一些概念,作為稍后呈現(xiàn)的更詳細(xì)描述的序言。
10、從以下參照附圖進(jìn)行的對說明性實(shí)施例的詳細(xì)描述中,本公開的附加特征和優(yōu)點(diǎn)將變得顯而易見