本發(fā)明涉及視頻編解碼系統(tǒng)。特別地,本發(fā)明涉及通過(guò)使用模板匹配來(lái)減少與運(yùn)動(dòng)矢量預(yù)測(cè)器(motion?vector?predictor,mvp)的mv差(mv?difference,mvd)相關(guān)的信令開(kāi)銷。
背景技術(shù):
1、通用視頻編碼(vvc)是由itu-t視頻編碼專家組(vceg)的聯(lián)合視頻專家組(jvet)和iso/iec運(yùn)動(dòng)圖像專家組(mpeg)共同制定的最新國(guó)際視頻編解碼標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)已作為iso標(biāo)準(zhǔn)發(fā)布:iso/iec?23090-3:2021,信息技術(shù)-沉浸式媒體的編碼表示-第3部分:通用視頻編碼,2021年2月發(fā)布。vvc是在其前身hevc(high?efficiency?video?coding)基礎(chǔ)上,通過(guò)添加更多的編解碼工具來(lái)提高編解碼效率,還可以處理各種類型的視頻源,包括3維(3d)視頻信號(hào)。
2、圖1a說(shuō)明了包含循環(huán)處理的示例性自適應(yīng)幀間/幀內(nèi)視頻編碼系統(tǒng)。對(duì)于幀內(nèi)預(yù)測(cè),預(yù)測(cè)數(shù)據(jù)是根據(jù)當(dāng)前圖片中先前編碼的視頻數(shù)據(jù)導(dǎo)出的。對(duì)于幀間預(yù)測(cè)112,在編碼器側(cè)執(zhí)行運(yùn)動(dòng)估計(jì)(me)并且基于me的結(jié)果執(zhí)行運(yùn)動(dòng)補(bǔ)償(mc)以提供從其他畫(huà)面和運(yùn)動(dòng)數(shù)據(jù)導(dǎo)出的預(yù)測(cè)數(shù)據(jù)。開(kāi)關(guān)114選擇幀內(nèi)預(yù)測(cè)110或幀間預(yù)測(cè)112并且所選擇的預(yù)測(cè)數(shù)據(jù)被提供給加法器116以形成預(yù)測(cè)誤差,也稱為殘差。預(yù)測(cè)誤差然后由變換(t)118和隨后的量化(q)120處理。變換和量化的殘差然后由熵編碼器122編碼以包括在對(duì)應(yīng)于壓縮視頻數(shù)據(jù)的視頻比特流中。與變換系數(shù)相關(guān)聯(lián)的比特流然后與輔助信息(例如與幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè)相關(guān)聯(lián)的運(yùn)動(dòng)和編碼模式)以及其他信息(例如與應(yīng)用于底層圖像區(qū)域的環(huán)路濾波器相關(guān)聯(lián)的參數(shù))一起打包。與幀內(nèi)預(yù)測(cè)110、幀間預(yù)測(cè)112和環(huán)內(nèi)濾波器130相關(guān)聯(lián)的輔助信息被提供給熵編碼器122,如圖1a所示。當(dāng)使用幀間預(yù)測(cè)模式時(shí),也必須在編碼器端重建一個(gè)或多個(gè)參考圖片。因此,經(jīng)變換和量化的殘差由逆量化(iq)124和逆變換(it)126處理以恢復(fù)殘差。然后在重建(rec)128處將殘差加回到預(yù)測(cè)資料136以重建視頻資料。重建的視頻數(shù)據(jù)可以存儲(chǔ)在參考圖片緩沖器134中并用于預(yù)測(cè)其他幀。
3、如圖1a所示,輸入的視頻數(shù)據(jù)在編碼系統(tǒng)中經(jīng)過(guò)一系列處理。由于一系列處理,來(lái)自rec128的重建視頻數(shù)據(jù)可能會(huì)受到各種損害。因此,環(huán)路濾波器130經(jīng)常在重構(gòu)視頻數(shù)據(jù)被存儲(chǔ)在參考圖片緩沖器134中之前應(yīng)用于重構(gòu)視頻數(shù)據(jù)以提高視頻質(zhì)量。例如,可以使用去塊濾波器(df)、樣本自適應(yīng)偏移(sao)和自適應(yīng)環(huán)路濾波器(alf)。可能需要將環(huán)路濾波器信息合并到比特流中,以便解碼器可以正確地恢復(fù)所需的信息。因此,環(huán)路濾波器信息也被提供給熵編碼器122以合并到比特流中。在圖1a中,環(huán)路濾波器130在重構(gòu)樣本被存儲(chǔ)在參考圖片緩沖器134中之前被應(yīng)用于重構(gòu)視頻。圖1a中的系統(tǒng)旨在說(shuō)明典型視頻編碼器的示例性結(jié)構(gòu)。它可能對(duì)應(yīng)于高效視頻編碼(hevc)系統(tǒng)、vp8、vp9、h.264或vvc。
4、如圖1b所示,解碼器可以使用與編碼器相似或相同的功能塊,除了變換118和量化120之外,因?yàn)榻獯a器只需要逆量化124和逆變換126。代替熵編碼器122,解碼器使用熵解碼器140將視頻比特流解碼為量化的變換系數(shù)和所需的編碼信息(例如ilpf信息、幀內(nèi)預(yù)測(cè)信息和幀間預(yù)測(cè)信息)。解碼器側(cè)的幀內(nèi)預(yù)測(cè)150不需要執(zhí)行模式搜索。相反,解碼器僅需要根據(jù)從熵解碼器140接收的幀內(nèi)預(yù)測(cè)信息生成幀內(nèi)預(yù)測(cè)。此外,對(duì)于幀間預(yù)測(cè),解碼器僅需要根據(jù)從熵解碼器140接收的幀間預(yù)測(cè)信息執(zhí)行運(yùn)動(dòng)補(bǔ)償(mc?152)而無(wú)需運(yùn)動(dòng)估計(jì)。
5、根據(jù)vvc,類似于hevc,輸入圖片被劃分為稱為ctu(編碼樹(shù)單元)的非重迭方形塊區(qū)域。每個(gè)ctu都可以劃分為一個(gè)或多個(gè)較小尺寸的編碼單元(cu)。生成的cu分區(qū)可以是正方形或矩形。此外,vvc將ctu劃分為預(yù)測(cè)單元(pu),作為應(yīng)用預(yù)測(cè)過(guò)程的單元,例如幀間預(yù)測(cè)、幀內(nèi)預(yù)測(cè)等。
6、在視頻編碼中,用信號(hào)通知最終mv和mvp(mv預(yù)測(cè)器)之間的mvd(mv差)。系統(tǒng)可以使用更多mvd來(lái)提高編碼性能。然而,更多的mvd將需要更多的信令開(kāi)銷。在本發(fā)明中,模板匹配用于幫助減少與一個(gè)或多個(gè)mvp(mv預(yù)測(cè)器)的mvd相關(guān)聯(lián)的信令開(kāi)銷。
技術(shù)實(shí)現(xiàn)思路
1、公開(kāi)了一種用于視頻編解碼的方法和裝置。根據(jù)該方法,在編碼器側(cè)接收與當(dāng)前塊相關(guān)聯(lián)的數(shù)據(jù)或者在解碼器側(cè)接收與要解碼的當(dāng)前塊相關(guān)聯(lián)的已編碼數(shù)據(jù)。使用單向預(yù)測(cè)或雙向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編碼。確定當(dāng)前塊的第一運(yùn)動(dòng)矢量預(yù)測(cè)子(mvp)和第二mvp中的至少一個(gè)?;谄ヅ涑杀緩闹辽僖唤M預(yù)定義的mvd候選集合中確定與第一mvp相關(guān)聯(lián)的第一mvd(mv差)和與第二mvp相關(guān)聯(lián)的第二mvd中的至少一個(gè)。匹配成本的導(dǎo)出取決于當(dāng)前塊是使用單向預(yù)測(cè)還是雙向預(yù)測(cè)進(jìn)行編解碼。如果使用單向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編碼,則在當(dāng)前塊的一個(gè)或多個(gè)相鄰樣本與多個(gè)預(yù)測(cè)樣本之間確定每個(gè)匹配成本,其中一個(gè)或多個(gè)預(yù)測(cè)成本來(lái)自由單向預(yù)測(cè)候選mv指向的每個(gè)參考?jí)K的一個(gè)或多個(gè)相應(yīng)相鄰樣本。其中單向預(yù)測(cè)候選mv是基于所述至少一個(gè)預(yù)定義mvd候選集合中的候選以及第一mvp和第二mvp之一的預(yù)測(cè)候選mv。如果使用雙向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,則在當(dāng)前塊的一個(gè)或多個(gè)相鄰樣本與一個(gè)或多個(gè)預(yù)測(cè)樣本之間確定每個(gè)匹配成本。其中一個(gè)或多個(gè)預(yù)測(cè)樣本來(lái)自由雙向預(yù)測(cè)候選mv指向的每個(gè)參考?jí)K的一個(gè)或多個(gè)相應(yīng)相鄰樣本,其中雙向預(yù)測(cè)候選mv是基于至少第一mvp、第二mvp和所述至少一個(gè)預(yù)定義mvd候選集合中的候選的預(yù)測(cè)候選mv。通過(guò)使用包括與第一mvp和第一mvd相關(guān)聯(lián)的第一最終mv以及與第二mvp和第二mvd相關(guān)聯(lián)的第二最終mv中的至少一個(gè)的運(yùn)動(dòng)信息來(lái)對(duì)當(dāng)前塊進(jìn)行編碼或解碼。
2、在一個(gè)實(shí)施例中,響應(yīng)于使用單向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,選擇實(shí)現(xiàn)最小匹配成本的單向預(yù)測(cè)候選mv來(lái)導(dǎo)出第一最終mv和第二最終mv中的至少一個(gè)。
3、在一個(gè)實(shí)施例中,響應(yīng)于使用雙向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,選擇實(shí)現(xiàn)最小匹配成本的雙向預(yù)測(cè)候選mv來(lái)導(dǎo)出第一最終mv和第二最終mv中的至少一個(gè)。
4、在一個(gè)實(shí)施例中,響應(yīng)于使用單向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,所述至少一組預(yù)定義的mvd候選集合僅對(duì)應(yīng)于一組預(yù)定義的mvd候選集合,用于導(dǎo)出列表0或列表1中的單向預(yù)測(cè)候選mv。
5、在一個(gè)實(shí)施例中,響應(yīng)于使用雙向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,所述至少一組預(yù)定義mvd候選者僅對(duì)應(yīng)于用于推導(dǎo)雙向預(yù)測(cè)候選者mv的一組預(yù)定義mvd候選者。
6、在一個(gè)實(shí)施例中,響應(yīng)于使用雙向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,所述至少一組預(yù)定義mvd候選集合對(duì)應(yīng)于兩個(gè)單獨(dú)的預(yù)定義mvd候選集合,分別用于推導(dǎo)雙向預(yù)測(cè)mv中的列表0mv和雙向預(yù)測(cè)候選mv中的列表1mv。
7、在一個(gè)實(shí)施例中,響應(yīng)于使用單向預(yù)測(cè)或雙向預(yù)測(cè)對(duì)當(dāng)前塊進(jìn)行編解碼,從初始mvd導(dǎo)出所述至少一組預(yù)定義mvd候選集合中的一個(gè)或多個(gè)候選。
8、在一個(gè)實(shí)施例中,用信號(hào)發(fā)送或解析列表0或列表1的初始mvd。在另一實(shí)施例中,所述至少一組預(yù)定義mvd候選包括基于初始mvd的一個(gè)或多個(gè)符號(hào)、初始mvd的一個(gè)或多個(gè)值或兩者確定的一個(gè)或多個(gè)候選成員。在一種實(shí)施方式中,初始mvd的所述一個(gè)或多個(gè)符號(hào)對(duì)應(yīng)于加號(hào)和減號(hào)。另一實(shí)施例中,初始mvd的所述一個(gè)或多個(gè)值對(duì)應(yīng)于k*(初始mvd)或0,并且其中k對(duì)應(yīng)于n或1/n,并且n是正整數(shù)。在另一實(shí)施例中,初始mvd的所述一個(gè)或多個(gè)值對(duì)應(yīng)于(初始mvd)±b,并且其中b對(duì)應(yīng)于整數(shù)或分?jǐn)?shù)。
9、在一個(gè)實(shí)施例中,所述至少一組預(yù)定義mvd候選包括基于初始mvd的一個(gè)或多個(gè)符號(hào)確定的一個(gè)或多個(gè)候選成員,并且其中目標(biāo)mvd候選的符號(hào)根據(jù)所述至少一個(gè)預(yù)定義mvd候選集合并且基于匹配成本來(lái)定義。在一個(gè)實(shí)施例中,目標(biāo)mvd候選值的值是預(yù)定義的。在另一實(shí)施例中,用信號(hào)發(fā)送或解析目標(biāo)mvd候選的值。在又一實(shí)施例中,在塊級(jí)別、sps級(jí)別、pps級(jí)別、aps級(jí)別、ph級(jí)別、sh級(jí)別或其組合處用信號(hào)發(fā)送或解析與目標(biāo)mvd候選的值有關(guān)的一個(gè)或多個(gè)語(yǔ)法。
10、在一個(gè)實(shí)施例中,匹配成本對(duì)應(yīng)于當(dāng)前塊的所述一個(gè)或多個(gè)相鄰樣本與每個(gè)參考?jí)K的一個(gè)或多個(gè)相應(yīng)相鄰樣本之間的失真。并且其中使用包括satd、sad、mse或sse的一個(gè)或多個(gè)度量來(lái)測(cè)量失真。