本發(fā)明通常涉及數(shù)字視頻信號處理,尤其涉及用于對視頻樣本的變換塊進(jìn)行編碼和解碼的方法、設(shè)備和系統(tǒng)。本發(fā)明還涉及包括記錄有用于對視頻樣本的變換塊進(jìn)行編碼和解碼的計算機(jī)程序的計算機(jī)可讀介質(zhì)的計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、當(dāng)前存在包括用于傳輸和存儲視頻數(shù)據(jù)的應(yīng)用的許多視頻編碼用的應(yīng)用。還開發(fā)了許多視頻編碼標(biāo)準(zhǔn)并且其它視頻編碼標(biāo)準(zhǔn)當(dāng)前正在開發(fā)中。視頻編碼標(biāo)準(zhǔn)化的最新進(jìn)展已導(dǎo)致形成被稱為“聯(lián)合視頻專家組”(jvet)的組。該聯(lián)合視頻專家組(jvet)包括:還已知為“視頻編碼專家組”(vceg)的國際電信聯(lián)盟(itu)的電信標(biāo)準(zhǔn)化部門(itu-t)的研究組16、問題6(sg16/q6)的成員;以及還已知為“運動圖片專家組”(mpeg)的iso/iec?jtc1/sc29/wg11的成員。
2、聯(lián)合視頻專家組(jvet)發(fā)布了提案征集(cfp),并在美國圣地亞哥市舉行的第10次會議上對答復(fù)進(jìn)行了分析。所提交的答復(fù)表明,視頻壓縮能力明顯優(yōu)于當(dāng)前最先進(jìn)的視頻壓縮標(biāo)準(zhǔn)(即,“高效率視頻編碼”(hevc))的視頻壓縮能力。基于該優(yōu)異表現(xiàn),決定開始用以開發(fā)命名為“通用視頻編碼”(vvc)的新視頻壓縮標(biāo)準(zhǔn)的項目。預(yù)計vvc將特別是隨著視頻格式的能力的增加(例如,具有更高的分辨率和更高的幀頻)解決針對甚至更高的壓縮性能的持續(xù)需求、以及解決針對通過wan的服務(wù)提供(其中,帶寬成本相對較高)的日益增長的市場需求。同時,vvc必須可在當(dāng)代硅工藝中實現(xiàn),并且在所實現(xiàn)的性能與實現(xiàn)成本之間(例如,在硅面積、cpu處理器負(fù)荷、內(nèi)存利用率和帶寬方面)提供可接受的折衷。
3、視頻數(shù)據(jù)包括各自包括一個或多個顏色通道的圖像數(shù)據(jù)的幀序列。通常,需要一個主要顏色通道和兩個次要顏色通道。主要顏色通道通常被稱為“亮度”通道,并且(一個或多個)次要顏色通道通常被稱為“色度”通道。盡管視頻數(shù)據(jù)通常在rgb(紅-綠-藍(lán))顏色空間中顯示,但該顏色空間在三個相應(yīng)分量之間具有高度相關(guān)性。編碼器或解碼器所看到的視頻數(shù)據(jù)表示通常使用諸如ycbcr等的顏色空間。ycbcr將發(fā)光度(根據(jù)變換方程映射到“亮度”)集中在y(主要)通道中,并且將色度集中在cb和cr(次要)通道中。此外,可以以與亮度通道相比更低的速率(例如,在水平方向上為一半且在垂直方向上為一半(被稱為“4:2:0色度格式”))對cb和cr通道進(jìn)行空間采樣。
4、vvc標(biāo)準(zhǔn)是一種“基于塊”的編解碼器,其中,幀首先被分割成稱為“編碼樹單位”(ctu)的正方形區(qū)域陣列。ctu通常占據(jù)相對大的區(qū)域,諸如128×128個亮度樣本等。然而,各幀的右和底邊緣的ctu的區(qū)域可能較小。與各ctu相關(guān)聯(lián)的是“編碼樹”,其定義了將ctu的區(qū)域分解為一組區(qū)域,也稱為“編碼單位”(cu)。按特定順序處理cu以進(jìn)行編碼或解碼。由于編碼樹和4:2:0色度格式的使用,幀中的給定區(qū)域與跨顏色通道的同位置塊的集合相關(guān)聯(lián)。亮度塊的尺寸為寬度×高度,而對于各色度塊,色度塊的尺寸為寬度/2×高度/2。給定區(qū)域的同位置塊的集合通常稱為“單位”,例如上述cu以及“預(yù)測單位”(pu)和“轉(zhuǎn)換單位”(tu)。
5、盡管針對相同區(qū)域,色度塊與亮度塊的尺寸不同,但是給定“單位”的大小通常就單位的亮度塊的尺寸而言來描述。各個塊通常由與這些塊相關(guān)聯(lián)的單位的類型來識別。例如,“編碼塊”(cb),“變換塊”(tb)和預(yù)測塊(pb)是針對一個顏色通道的塊并且分別與cu、tu和pu相關(guān)聯(lián)。盡管在“單位”和“塊”之間有上述區(qū)別,但是術(shù)語“塊”可以用作針對將操作應(yīng)用于所有顏色通道的幀的區(qū)域(area)或區(qū)(region)的通用術(shù)語。
6、對于各cu,生成幀數(shù)據(jù)的相應(yīng)區(qū)域的內(nèi)容(樣本值)的預(yù)測(pu)(“預(yù)測單位”)。此外,形成了在編碼器的輸入處看到的預(yù)測與區(qū)域內(nèi)容之間的差(或在空間域中的“殘差”)的表示。各顏色通道的差可以被變換編碼為殘差系數(shù)的序列,從而形成給定cu的一個或多個tu。所應(yīng)用的變換可以是應(yīng)用于殘差值的各個塊的離散余弦變換(dct)或其它變換。該主要變換是分開應(yīng)用的,即分兩遍進(jìn)行二維變換。首先通過對塊中的各行樣本應(yīng)用一維變換來對塊進(jìn)行變換。然后,通過對部分結(jié)果的各列應(yīng)用一維變換來對部分結(jié)果進(jìn)行變換,以產(chǎn)生基本上對殘差樣本進(jìn)行去相關(guān)的變換系數(shù)的最終塊。vvc標(biāo)準(zhǔn)支持各種大小的變換,包括矩形塊(各邊尺寸為2的冪次方)的變換。量化變換系數(shù)以用于將熵編碼在位流中。
7、vvc標(biāo)準(zhǔn)的實現(xiàn)通常使用流水線將處理分割成階段序列。各個階段同步地操作,并且在輸出完全處理(即,編碼或解碼)的塊之前,將部分處理的塊從一個階段傳遞到下一階段。需要在流水線架構(gòu)的上下文中有效處理變換后的塊,以避免vvc標(biāo)準(zhǔn)的實施成本過高。在存儲器消耗方面和在處理“最壞情況”所需的功能模塊方面這兩者,就流水線階段完成所需的速度和各階段處理的數(shù)據(jù)的大小這兩者而言,都需要過高的實施成本。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是基本上克服或至少改善現(xiàn)有布置的一個或多個缺點。
2、根據(jù)本發(fā)明的一個方面,提供一種從位流中解碼圖像幀中的編碼單位的方法,所述方法包括:
3、從所述位流確定所述編碼單位的大小;
4、將所述圖像幀分割成多個大小相等的處理區(qū)域,各個大小相等的處理區(qū)域是在對所述位流進(jìn)行解碼的流水線的單個階段期間被處理的塊;
5、在所述編碼單位與所確定的處理區(qū)域之間的邊界重疊的情況下,從多個變換大小中選擇用于所述編碼單位的變換大小,該變換大小被選擇以適配在所述編碼單位內(nèi)并且大小與所述處理區(qū)域不同;以及
6、通過對所述編碼單位中的各個變換單位的殘差系數(shù)應(yīng)用逆變換來對所述編碼單位進(jìn)行解碼,所述變換單位中的各個變換單位具有所選擇的變換大小。
7、根據(jù)本發(fā)明的另一方面,提供一種非暫時性計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)程序,以實現(xiàn)從位流中解碼圖像幀中的編碼單位的方法,所述程序包括:
8、用于從所述位流確定所述編碼單位的大小的代碼;
9、用于將所述圖像幀分割成多個大小相等的處理區(qū)域的代碼,各個大小相等的處理區(qū)域是在對所述位流進(jìn)行解碼的流水線的單個階段期間被處理的塊;
10、用于在所述編碼單位與所確定的處理區(qū)域之間的邊界重疊的情況下、從多個變換大小中選擇用于所述編碼單位的變換大小的代碼,該變換大小被選擇以適配在所述編碼單位內(nèi)并且大小與所述處理區(qū)域不同;以及
11、用于通過對所述編碼單位中的各個變換單位的殘差系數(shù)應(yīng)用逆變換來對所述編碼單位進(jìn)行解碼的代碼,所述變換單位中的各個變換單位具有所選擇的變換大小。
12、根據(jù)本發(fā)明的又一方面,提供一種系統(tǒng),包括:
13、存儲器;以及
14、處理器,其中,所述處理器被配置為執(zhí)行所述存儲器上所存儲的代碼,以實現(xiàn)從位流中解碼圖像幀中的編碼單位的方法,所述方法包括:
15、從所述位流確定所述編碼單位的大?。?/p>
16、將所述圖像幀分割成多個大小相等的處理區(qū)域,各個大小相等的處理區(qū)域是在對所述位流進(jìn)行解碼的流水線的單個階段期間被處理的塊;
17、在所述編碼單位與所確定的處理區(qū)域之間的邊界重疊的情況下,從多個變換大小中選擇用于所述編碼單位的變換大小,該變換大小被選擇以適配在所述編碼單位內(nèi)并且大小與所述處理區(qū)域不同;以及
18、通過對所述編碼單位中的各個變換單位的殘差系數(shù)應(yīng)用逆變換來對所述編碼單位進(jìn)行解碼,所述變換單位中的各個變換單位具有所選擇的變換大小。
19、根據(jù)本發(fā)明的又一方面,提供一種視頻解碼器,其被配置為:
20、從位流接收圖像幀;
21、從所述位流確定編碼單位的大??;
22、將所述圖像幀分割成多個大小相等的處理區(qū)域,各個大小相等的處理區(qū)域是在對所述位流進(jìn)行解碼的流水線的單個階段期間被處理的塊;
23、在所述編碼單位與所確定的處理區(qū)域之間的邊界重疊的情況下,從多個變換大小中選擇用于所述編碼單位的變換大小,該變換大小被選擇以適配在所述編碼單位內(nèi)并且大小與所述處理區(qū)域不同;以及
24、通過對所述編碼單位中的各個變換單位的殘差系數(shù)應(yīng)用逆變換來對所述編碼單位進(jìn)行解碼,所述變換單位中的各個變換單位具有所選擇的變換大小。
25、根據(jù)本發(fā)明的又一方面,提供一種從位流中解碼圖像幀中的編碼單位的方法,所述方法包括:
26、從所述位流確定所述編碼單位的大?。?/p>
27、將所述圖像幀分割成多個大小相等的處理區(qū)域,各個大小相等的處理區(qū)域小于最大可用編碼單位大?。?/p>
28、從候選運動矢量列表中選擇與所述編碼單位相對應(yīng)的運動矢量,選擇所述運動矢量包括:(i)在所述編碼單位大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對合并索引進(jìn)行解碼,或者(ii)在所述編碼單位不大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對跳過標(biāo)志進(jìn)行解碼以解碼所述合并索引;以及
29、根據(jù)針對所述編碼單位的所選擇的運動矢量對所述編碼單位進(jìn)行解碼。
30、根據(jù)本發(fā)明的又一方面,提供一種非暫時性計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)程序,以實現(xiàn)用于從位流中解碼圖像幀中的編碼單位的方法,所述程序包括:
31、用于從所述位流確定所述編碼單位的大小的代碼;
32、用于將所述圖像幀分割成多個大小相等的處理區(qū)域的代碼,各個大小相等的處理區(qū)域小于最大可用編碼單位大??;
33、用于從候選運動矢量列表中選擇與所述編碼單位相對應(yīng)的運動矢量的代碼,選擇所述運動矢量包括:(i)在所述編碼單位大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對合并索引進(jìn)行解碼,或者(ii)在所述編碼單位不大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對跳過標(biāo)志進(jìn)行解碼以解碼所述合并索引;以及
34、用于根據(jù)針對所述編碼單位的所選擇的運動矢量對所述編碼單位進(jìn)行解碼的代碼。
35、根據(jù)本發(fā)明的又一方面,提供一種系統(tǒng),包括:
36、存儲器;以及
37、處理器,其中,所述處理器被配置為執(zhí)行所述存儲器上所存儲的代碼以實現(xiàn)從位流中解碼圖像幀中的編碼單位的方法,所述方法包括:
38、從所述位流確定所述編碼單位的大?。?/p>
39、將所述圖像幀分割成多個大小相等的處理區(qū)域,各個大小相等的處理區(qū)域小于最大可用編碼單位大??;
40、從候選運動矢量列表中選擇與所述編碼單位相對應(yīng)的運動矢量,選擇所述運動矢量包括:(i)在所述編碼單位大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對合并索引進(jìn)行解碼,或者(ii)在所述編碼單位不大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對跳過標(biāo)志進(jìn)行解碼以解碼所述合并索引;以及
41、根據(jù)針對所述編碼單位的所選擇的運動矢量對所述編碼單位進(jìn)行解碼。
42、根據(jù)本發(fā)明的又一方面,提供一種視頻解碼器,其被配置為:
43、從位流中接收圖像幀;
44、從所述位流確定編碼單位的大??;
45、將所述圖像幀分割成多個大小相等的處理區(qū)域,各個大小相等的處理區(qū)域小于最大可用編碼單位大小;
46、從候選運動矢量列表中選擇與所述編碼單位相對應(yīng)的運動矢量,選擇所述運動矢量包括:(i)在所述編碼單位大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對合并索引進(jìn)行解碼,或者(ii)在所述編碼單位不大于或等于所確定的處理區(qū)域其中之一的大小的情況下,對跳過標(biāo)志進(jìn)行解碼以解碼所述合并索引;以及
47、根據(jù)針對所述編碼單位的所選擇的運動矢量對所述編碼單位進(jìn)行解碼。
48、還公開了其它方面。