1.本發(fā)明的至少一個實施方式總體上涉及一種用于圖片編碼(encoding)和解碼(decoding)的方法和設備,并且更具體地,涉及一種使用各種譯碼工具(例如,運動補償、局部光照補償、一般化雙向預測(generalized?bi-prediction)、重構后濾波器等)進行圖片編碼和解碼的方法和設備。
背景技術:
0、2.背景技術
1、為了實現高壓縮效率,圖像和視頻譯碼(coding)方案通常采用預測和變換以利用視頻內容中的空間和時間冗余。通常,幀內或幀間預測用于利用幀內或幀間幀相關性,然后對原始圖像塊與所預測的圖像塊之間的差(其通常被表示為預測誤差、預測殘差或預測值)進行變換、量化和熵編碼。在編碼期間,通常可能使用四叉樹分區(qū)而將原始圖像塊分區(qū)/劃分成子塊。為了重構所述視頻,通過與所述預測、變換、量化和熵譯碼對應的逆處理來解碼壓縮數據。
2、3.
技術實現要素:
3、根據至少一個實施例的一般方面,提出一種用于解碼視頻數據的方法,其包括:
4、–解碼當前塊的參數;
5、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所解碼的參數的給定條件得到了驗證;
6、–否則,為所述當前塊啟用所述譯碼工具;以及
7、–響應于所述譯碼工具,對所述當前塊進行解碼。
8、根據至少一個實施例的一般方面,提出一種用于編碼視頻數據的方法,其包括:
9、–獲得當前塊的參數;
10、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所獲得的參數的給定條件得到了驗證;
11、–否則,為所述當前塊啟用所述譯碼工具;以及
12、–響應于所述譯碼工具,對所述當前塊進行編碼。
13、根據至少一個實施例的一般方面,提出了一種解碼裝置,包括一個或多個處理器,所述一個或多個處理器被配置為執(zhí)行:
14、–解碼當前塊的參數;
15、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所解碼的參數的給定條件得到了驗證;
16、–否則,為所述當前塊啟用所述譯碼工具;以及
17、–響應于所述譯碼工具,對所述當前塊進行解碼。
18、根據至少一個實施例的一般方面,提出一種用于編碼視頻數據的方法,其包括:
19、–獲得當前塊的參數;
20、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所獲得的參數的給定條件得到了驗證;
21、–否則,為所述當前塊啟用所述譯碼工具;以及
22、–響應于所述譯碼工具,對所述當前塊進行編碼。
23、根據至少一個實施例的一般方面,提出了一種編碼裝置,包括一個或多個處理器,所述一個或多個處理器被配置為執(zhí)行:
24、–獲得當前塊的參數;
25、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所獲得的參數的給定條件得到了驗證;
26、–否則,為所述當前塊啟用所述譯碼工具;以及
27、–響應于所述譯碼工具,對所述當前塊進行編碼。
28、根據至少一個實施例的另一個一般方面,比特流被格式化為包括根據上述編碼方法生成的信號。
29、本發(fā)明實施例中的一者或多者還提供一種計算機可讀存儲介質,其上存儲有用于根據上述方法中的任意者的至少部分來編碼或解碼視頻數據的指令。一個或多個實施例還提供了一種計算機可讀存儲介質,其上存儲有根據上述編碼方法生成的比特流。一個或多個實施例還提供了一種用于發(fā)送或接收根據上述編碼方法產生的比特流的方法和裝置。一個或多個實施例還提供了一種計算機程序產品,其包括用于執(zhí)行上述任意方法的至少一部分的指令。
30、4.附圖的簡要說明
31、圖1a描繪了總的解碼流水線(pipeline),圖1b和圖1c描繪了其他總的解碼流水線,圖1d描繪了根據一個實施例的總的解碼流水線。
32、圖2示出了局部光照補償參數推導的原理;
33、圖3示出了重疊塊運動補償的原理;
34、圖4示出了幀間和幀內模式組合情況下的多假設預測的原理;
35、圖5示出了塊的非矩形分區(qū)和相關聯的obmc對角加權;
36、圖6描繪了根據一個實施例的解碼方法的流程圖;
37、圖7描繪了根據一個實施例的編碼方法的流程圖;
38、圖8描繪了根據各種實施例的解碼過程的流程圖;
39、圖9描繪了多假設預測過程的流程圖;
40、圖10描繪了根據一個實施例的多假設預測過程的流程圖;
41、圖11描繪了具有局部光照補償的運動補償預測過程的流程圖;
42、圖12描繪了根據一個實施例的具有局部光照補償的運動補償預測過程的流程圖;
43、圖13描繪了根據一個實施例的具有在解碼器側運動向量細化之前計算的局部光照補償的總解碼流水線;
44、圖14示出了多假設的原理;
45、圖15示出了根據實施例的視頻編碼器的框圖;
46、圖16示出了根據實施例的視頻解碼器的框圖;以及
47、圖17示出了其中實現了各個方面和實施例的系統(tǒng)的示例的框圖。
48、5.具體實施方式
49、在hevc譯碼中,圖片被分區(qū)成正方形形狀的ctu,其具有可配置的大小,通常為64×64。在其它視頻譯碼標準中,該大小可以是128×128或256×256。ctu是被分區(qū)為4個相等大小的正方形譯碼單元(cu)的四叉樹的根,即,所述大小在寬度和高度上為父塊大小的一半。四叉樹是其中父節(jié)點可以被分成四個子節(jié)點的樹,每個子節(jié)點可以變?yōu)榱硪槐环殖伤膫€子節(jié)點的父節(jié)點。在hevc中,譯碼塊(cb)含有對應于一個cu的一個顏色分量的樣本。它被分區(qū)成一個或多個預測塊(pb),并且形成分區(qū)成變換塊(tb)的四叉樹的根。對應于所述譯碼塊、預測塊和變換塊,譯碼單元(cu)包括預測單元(pu)和具有變換單元(tu)的樹結構集合,pu包括所有顏色分量的預測信息,并且tu包括每個顏色分量的殘差譯碼語法結構。亮度分量的cb、pb和tb的大小適用于相應的cu、pu和tu。
50、在近來的編碼系統(tǒng)中,ctu是分區(qū)成譯碼單元(cu)的譯碼樹的根。譯碼樹是其中父節(jié)點(通常對應于塊)可以被劃分成子節(jié)點(例如,劃分成2、3或4個子節(jié)點)的樹,其中的每一個可以成為用于另一劃分成子節(jié)點的父節(jié)點。除了四叉樹劃分模式之外,還定義了新的劃分模式(二叉樹對稱劃分模式、二叉樹非對稱劃分模式和三叉樹劃分模式),其增加了可能的劃分模式的總數。譯碼樹具有唯一的根節(jié)點,例如ctu。譯碼樹的葉子是樹的終止節(jié)點。譯碼樹的每個節(jié)點表示一塊,其可以被進一步分區(qū)成較小塊(也稱為子塊)。一旦確定ctu到cu的分區(qū),則編碼對應于譯碼樹的葉子的cu。將ctu分區(qū)成cu以及用于編碼每個cu(對應于譯碼樹的葉)的譯碼參數可以在編碼器側通過速率失真優(yōu)化過程來確定。
51、在本技術中,術語“塊”或“圖片塊”可以用于指代ctu、cu、pu、tu、cb、pb和tb中的任意者。另外,術語“塊”或“圖片塊”可用于指代如h.264/avc或其它視頻譯碼標準中指定的宏塊、分區(qū)和子塊,且更一般來說指代具有各種大小的樣本的陣列。
52、在本技術中,術語“重構”和“解碼”可以互換使用,術語“像素”和“樣本”可以互換使用,術語“圖像”、“圖片”和“幀”可以互換使用。通常,但不是必須的,術語“重構”在編碼器側使用,而“解碼”在解碼器側使用。
53、在本技術中,術語“啟用”和“使用”在它們應用于塊級別的譯碼工具的情況下可以互換使用。以相同的方式,“禁用”和“不使用”在它們應用于塊級別的譯碼工具的情況下可以互換地使用。
54、在本技術案中,術語“譯碼工具”和“譯碼過程”可互換使用。
55、在最近的編碼系統(tǒng)中,例如在通用視頻譯碼(vvc)的參考軟件(稱為vtm)中,解碼流水線包括若干級聯工具。圖1a中描繪了針對vvc的解碼流水線。解碼過程在譯碼單元(cu)級完成。cu包括c個正方形或矩形塊(例如,對于yuv或rgb色度格式,c=3)。在4:2:0格式中,在水平和垂直方向上以兩個的比率相對于亮度塊按比例縮小兩個色度塊。
56、“熵解碼”過程解析比特流并解碼語法元素,例如譯碼模式(例如幀間/幀內譯碼模式)和相關聯的參數(例如,幀內方向、幀間運動向量mv和參考索引)。
57、運動補償(mc)使用mc濾波器內插參考圖片中一個或兩個(在雙向預測的情況下)矩形塊(與當前cu相同大小)的樣本,其中位移等于參考圖片中相對于當前塊的位置的mv(mvx、mvy)。
58、局部光照補償(lic)旨在補償可能發(fā)生在預測塊與其在運動補償(mc)時間預測中使用的參考塊之間的光照變化。這通常使用線性ic模型(a,b)來完成:
59、sic=a*sref+b(等式1)
60、其中:sref是運動補償參考樣本值,而sic是預測樣本值。lic參數(a,b)是針對啟用了lic的每個塊而被計算的。
61、有幾種方法來計算所述lic參數(a,b)。在一種方法中,解碼器基于一些重構的圖片樣本(例如,基于定位在當前塊的左邊和/或頂部的重構樣本“y”和定位在運動補償塊的左邊和/或頂部的參考圖片樣本“x”,參見圖2a),計算lic參數。在另一方法中,基于定位在當前塊的左邊和/或頂部的重構樣本“y”和用于重構“y”的對應預測樣本“x”來計算所述lic參數(圖2b)。對于這兩種方法,可以在每個塊重構之后,計算和存儲所述lic參數。ic參數(a,b)使樣本“y”和“a.x+b”之間的差異(例如,最小二乘法)最小化:
62、
63、這兩種方法在下文中被稱為“傳統(tǒng)lic”。lic引入與相鄰cu的依賴性,因為其使用相鄰cu的重構樣本。因此,在可計算當前塊的lic參數且因此可重構當前塊之前,當前cu必須等待相鄰塊被完全重構(參見圖1a中的“反饋重構樣本(feedback?rec.sample)”)。
64、在雙向預測的情況下,lic的變型(稱為“bi-dir-ic”)直接從雙向預測中使用的兩個運動補償塊(塊0和塊1)導出ic參數(a0,b0)和(a1,b1)。其包括估計兩個參考圖片之間的亮度變化以導出當前塊的ic參數(a0,b0)和(a1,b1)。例如,計算運動補償塊1和運動補償塊0之間的lic的ic參數(a,b)。接下來,從值(a,b)和當前圖片、參考圖片0和參考圖片1的圖片順序計數(poc)中導出(a0,b0)和(a1,b1)。假設值a0、a1、b0、b1是當前幀和參考圖片之間的時間距離的線性函數。此變型的優(yōu)點是其不引入與相鄰cu的任何依賴性。
65、在雙向預測的情況下,雙向光流(bio)旨在使用光流的埃爾米特(hermite)插值來細化假定兩個參考圖片之間線性位移的每個樣本的運動。因此,將新的項添加到傳統(tǒng)的雙向預測:
66、
67、其中:
68、i0,i1是運動補償預測(塊0和塊1),
69、和是第i個參考的水平和垂直梯度(k={0,1}),
70、(vx,vy)是塊1和塊0之間的運動向量,
71、σ是時間差(poc1-poc0)。
72、在雙向預測的情況下,解碼器側運動向量細化(dmvr)旨在通過測試所解碼的mv值(mvinitial)周圍的一些位移來細化運動。測試候選的幾個mv對的集合(mvtested(l0),mvtested(l1))。如在bio中,所測試的mv值關于初始mv值對稱,即,(mvtested(l0)-mvinitial(l0)=mvtested(l1)-mvinitial(l1)),其中mvtested(l0)是針對列表l0測試的運動向量,mvtested(l1)是針對列表l1測試的運動向量。所選擇的mv對是使用例如平均去除的絕對差和(mrsad)而使差mc(ref0,mvtested(l0))-mc(ref1,mvtested(l1))最小化的mv對。
73、在雙向預測的情況下,計算兩個預測塊,并將它們一起平均(也稱為雙向預測平均)。在一般化雙向預測(gbi)的情況下,它們與加權和相組合如下:
74、pgbi=(((1<<gs)-gw1).p0+gw1.p1)>>gs(等式4)
75、其中p0,p1是運動補償預測(塊0和塊1)。
76、在vtm中,要使用的權重通過“gbi索引”而針對每個cu被編碼,所述“gbi索引”可取表1中所提及的值。
77、
78、表1.gbi索引的二進制化和相關聯的權重。
79、此后,權重對{1/2;1/2}將被稱為默認權重。
80、在圖1a中,在對每個單向運動補償預測進行雙向預測平均之前,應用lic過程。在一種變型中,如圖1b中所描繪的,在雙向預測平均(710)之后,應用lic過程(720)。
81、根據重疊塊運動補償(obmc)工具(此后稱為”obmc過程“),相鄰塊的運動被用于擴展對該相鄰塊的預測pn(n=a或l)并且利用當前塊預測pc來逐步執(zhí)行加權(圖3)。例如,設pa(x,y)表示上方塊的上方預測樣本(x={0,…w-1},y={0,..ha-1})。這些樣本通過底部的附加的b個行而被擴展:pa(x,y)(x={0,…w-1},y={ha,..ha+b-1},其是用與pa的其它預測樣本相同的過程(mc)和相同的運動信息而被計算的。假設用pc(x,y)表示當前預測pobmc樣本(x={0,…w-1},y={0,..hc-1}),然后當前塊的頂部b行樣本的預測最終被計算為:
82、pobmc(x,y)=wn(y).pa(x,y+b)+wc(y).pa(x,y)??(等式5)
83、基于從左側塊數據構建的pl(x,y)樣本,對左側b列的預測樣本應用相同的過程。
84、在相鄰塊n使用lic和/或bio進行其預測的情況下,還可以通過應用lic和bio來獲得附加pn樣本(以下稱為”obmc過程“)。
85、例如,對于pn和pc,從邊界向當前塊中心的典型逐步權重分別為wc(y)={1/4,1/8,1/16,1/32}和wn(y)={3/4,7/8,15/16,31/32}。
86、一般多假設概念包括如圖4上所描繪的在合并模式中執(zhí)行的幀間預測與幀內預測模式或與另一幀間模式(例如,單向預測amvp、跳過及合并)的組合。在合并模式中,構建合并候選(參考索引、運動值)列表且用信號發(fā)送標識一個候選的合并索引。然后,從由所述合并索引標識的候選,導出合并模式中的塊的運動信息,并將其用于運動補償預測。最終預測是關于合并索引的預測和由幀內預測模式生成的預測的加權平均,其中取決于該組合,應用不同的權重。在比特流中用信號發(fā)送所述幀內預測模式。在特定實施例中,在所有經典預測模式的子集(例如,子集大小等于4)中選擇所述幀內預測模式。當前塊被分成4個等面積區(qū)域。隨著區(qū)域遠離幀內參考樣本,權重逐步減小。如圖4和14的示例中所示,每個加權集(其被表示為(w_intrai,w_interi),其中i為1到4,并且(w_intra1,w_inter1)=(6,2),(w_intra2,w_inter2)=(5,3),(w_intra3,w_inter3)=(3,5),和(w_intra4,w_inter4)=(2,6))將被應用于相應的區(qū)域,用于幀內垂直方向預測。當選擇dc或平面模式或cu的寬或高小于4時,對整個cu應用相同的權重。
87、幾何(例如,三角形)模式允許在譯碼之前,將圖片分區(qū)成塊具有更多靈活性。這種分區(qū)的示例在圖5的頂部示出。如圖5的底部所示,通過對邊界(圖5的灰色區(qū)域)上的兩個預測值(predictor)執(zhí)行加權,可以獲得附加的譯碼性能。該加權處理可以與諸如gbi或lic的其它加權級聯,并且增加了實現的復雜性。
88、“重構后”濾波器(730)允許在cu環(huán)路重構中對當前cu的經重構樣本進行濾波,使得經濾波樣本可用于幀內預測或用于同一圖片(或同一切片或同一圖塊)中的后續(xù)cu的lic參數導出。而“其它后置濾波器”(740)(例如,解塊濾波器、sao濾波器或alf濾波器)在整個圖片(或切片或圖塊)已被重構之后對經重構的樣本進行濾波。“重構后”濾波器的示例是雙邊濾波器(j.strom等人,“ce14:reduced?latency,lut-free?bilateral?filter(ce14:縮短延時的無lut雙邊濾波器)”,文檔jvet-l0172,第12次會議:中國澳門,2018年10月3-12日)、hadamard濾波器(s.ikonen等人,non-ce:hadamard?transform?domain?filter(非ce:hadamard變換域濾波器)”,文檔jvet-m0468,第13次會議:marrachec,ma,2019年1月9-18日)或擴散濾波器(j.rash等人,“ce10:uniform?directional?diffusion?filters?forvideo?coding(ce10:用于視頻編碼的均勻定向擴散濾波器)”,文檔jvet-m0042,第13次會議:marrakech,ma,2019年1月9-18日)。
89、在一變型中,“重構后”濾波器僅應用于以幀間模式譯碼的cu,而不應用于以幀內或以組合的幀內和幀間預測譯碼的cu,如圖1c中所描繪。在另一變型中,“重構后”濾波器被應用于僅以幀內模式而不以幀間模式譯碼的cu?!爸貥嫼蟆睘V波器的應用可以以其它參數為條件,例如當前cu大小、qp值或分量類型(例如,如730中的虛線色度框所示,“重構后”濾波器不應用于色度分量)。
90、新的視頻編解碼器實現了更多數量的譯碼工具,這些譯碼工具可以被級聯以提高譯碼效率。在一些情況下,級聯相同性質的工具可能是起反作用的,即,降低譯碼效率,并且這也可能加重解碼過程的流水線的負擔。
91、至少一個實施例提出了協(xié)調不同譯碼工具之間的交互,并且通過確保合理的流水線復雜度來幫助在各種平臺上實現視頻編解碼器。至少一個實施例提出了應用一些規(guī)則和限制而不降低整體編解碼器性能。
92、至少一個實施例提出了減小流水線大小(處理級的數量)和由一些工具在“幀間”譯碼中引入的流水線依賴性,這可例如通過在它們的相互共同激活中添加限制來實現。
93、為了降低流水線依賴性,修改“幀間”解碼流水線。
94、圖6描述了根據一個實施例的解碼方法的流程圖。
95、參數被解碼用于當前塊的(s100)。在以下條件中的一者或多者得到驗證的情況下,禁用(s110)當前塊的譯碼工具(例如,lic):第一譯碼工具被用于所述當前塊(例如,gbi與不是默認權重的權重一起使用),以及關于所解碼的參數的給定條件(塊大小低于值)得到了驗證。否則,所述譯碼工具被啟用以用于所述當前塊??紤]所述譯碼工具是否被啟用來解碼所述當前塊(s120)。如果啟用了所述譯碼工具,則使用所述譯碼工具對當前塊進行解碼。否則,不使用所述譯碼工具來解碼所述當前塊。
96、圖7描繪根據一個實施例的編碼方法的流程圖。獲得當前塊的參數(s200)。在以下條件中的一者或多者得到驗證的情況下,禁用(s110)當前塊的譯碼工具(例如,lic):第一譯碼工具被用于所述當前塊(例如,gbi與不是默認權重的權重一起使用),并且關于所解碼的參數的給定條件(塊大小低于值)得到了驗證。否則,所述譯碼工具被啟用用于所述當前塊。考慮所述譯碼工具是否被啟用來編碼所述當前塊(s220)。如果啟用了所述譯碼工具,則使用所述譯碼工具對所述當前塊進行編碼。否則,不使用所述譯碼工具對所述當前塊進行編碼。
97、如圖8a到8c所示,可根據當前譯碼單元(cu)的一些性質和/或是否使用另一譯碼工具“x”(406、408)來調節(jié)譯碼工具的禁用。
98、在圖8a中,解碼cu參數(400)。在驗證了cu參數的條件的情況下(410),例如在所述cu大小低于一值的情況下,禁用譯碼工具/過程“y”(420)。
99、在圖8b中,解碼cu參數(400)。在第一譯碼工具“x”用于當前cu的情況下(406),那么應用所述第一譯碼工具(408)。在進一步驗證了cu參數的條件的情況下(410),例如,在cu大小低于一值的情況下,禁用第二譯碼工具/過程。否則,使用所述第二譯碼工具(420)。
100、在一變型中,在第一譯碼工具“x”用于當前cu的情況下(406),那么應用第一譯碼工具(408)且禁用第二譯碼工具“y”。在這個變型中,不檢查關于cu的條件。
101、在圖8c中,解碼cu參數(400)。在第一譯碼工具“x”用于當前cu(406)且關于cu參數的條件經驗證(410)的情況下,那么禁用第二譯碼工具“y”。否則,使用所述第二譯碼工具(420)。虛線表示譯碼工具“x”的應用由406來調節(jié)。
102、所述變型是從“條件(cu)”的表達以及工具“x”和“y”的過程順序(圖8-b或c)構建的。所述“條件(cu)”是從先前解碼的數據(400)導出的,并且可以是以下規(guī)則的組合:
103、–對于小塊(cu大小低于一值),禁用工具“x”,
104、–對于色度(cu分量是色度),禁用工具“x”,
105、–如果當前切片具有高于一值的時間標識符(tid),則禁用工具“x”,
106、–如果工具“x”需要來自位于另一ctu中或當前vpdu(虛擬流水線數據單元)外部的另一重構塊的信息(例如,重構樣本),則禁用該工具“x”。
107、減少多假設模式的流水線依賴性
108、圖9示出了在輸入比特深度或內部比特深度等于10比特的情況下以及在還使用雙向預測、bio和gbi的情況下,針對mh的vvc軟件幀間預測流水線過程。首先,應用運動補償來構建兩個參考塊預測(500)。結果存儲在n比特中,其中n>10(510),以在進一步的過程中保持更高的精度(例如,n=14比特),即,bio(520)和gbi加權(530)。接著,將樣本值存儲(例如,右移)(540)并裁剪(550)在內部比特深度(例如,10比特)中,使得隨后的mh過程(560)以內部比特深度(例如,10比特)執(zhí)行。
109、由于“多假設”(mh)使用附加的“幀內”或“幀間”預測計算,并將其與另一預測組合,如圖9所示,因此它增加了幀間流水線中的處理步驟的數量。人們可以通過以下限制中的一者或多者來減輕流水線。
110、在一個實施例中,在使用mh的情況下,lic對于一個或所有幀間模式被禁用。這意味著如果當前幀間模式是“合并”并且因為使用mh而禁用lic,則ic標志不被合并,而是被推斷為零。ic標志是為塊指示其是否使用lic的參數。
111、在一個實施例中,在如圖10所示使用mh的情況下,禁用幀間雙向預測。bio也被禁止(通過設計),因為它僅適用于雙向預測。
112、在一個實施例中,在使用mh的情況下,禁用三角形模式。實際上,你已經具有用于兩個三角形預測的加權過程,如圖5上所描繪。
113、此外,當以增加的比特深度精度將幀內預測添加到幀間預測時且在裁剪操作之前,可改進mh組合級。在圖10中,mh處理以n比特執(zhí)行。
114、降低lic的流水線依賴性:
115、圖11描繪了在輸入比特深度或內部比特深度等于10比特的情況下以及在使用雙向預測的情況下,用于lic的vvc軟件幀間預測流水線過程。首先,應用運動補償來構建兩個參考塊預測(600)。以內部比特深度精度(例如,10比特)存儲結果(610)。接下來,從先前存儲的數據估計或檢索lic參數,并且應用光照補償(670)。它包括加權加上偏移。接著,應用右移到內部比特深度(10比特)(640)和裁剪(650)。然后,在應用gbi權重(630)之前,將樣本變換為n比特精度(680)。
116、plic=(a.p+b)>>shiftlic(等式6)
117、其中:(a;b)是lic參數,
118、p是運動補償塊樣本,
119、shiftlc是右移,使得plic是10比特,
120、plic是利用lic的預測樣本。
121、接著,樣本值被存儲(例如,右移)(640)并被裁剪(650)在內部比特深度(例如10比特)中。
122、基本上,lic引入了與其它相鄰的重構塊的流水線依賴性,并在運動補償之后增加一個步驟以改變亮度,如圖11所示。這種依賴性可以通過使用一個或多個下列約束/限制來降低。
123、在一個實施例中,針對色度分量和/或小塊(cu大小低于一值),禁用lic。
124、在一個實施例中,針對色度分量和/或小塊(cu大小低于一值),禁用gbi(或將gbi權重設定為默認權重)。
125、由于lic的原理是對通過運動補償獲得的預測樣本進行加權,因此當權重不等于默認權重時,其與gbi具有一些相似性。
126、在一個實施例中,在gbi權重不是默認權重的情況下,在雙向預測中禁用lic。因此,如果gbi索引與默認值不同,則不對ic標志進行譯碼。在合并模式中,如果繼承了gbi索引,則如果gbi權重不是默認值,則ic標志被推斷為假。在變型中,如果繼承了ic標志并且其值為真,則推斷gbi權重是默認權重。在一種變型中,如果gbi權重不是默認的,則使用雙向ic(bi-dir-ic)代替?zhèn)鹘y(tǒng)lic。
127、在一個實施例中,在ic標志被譯碼并且ic標志為真的情況下,則不對gbi索引進行譯碼,并且將gbi權重推斷為默認權重。在一種變型中,在合并模式中,在繼承了ic標志并且其值為真的情況下,則將gbi權重推斷為默認權重。
128、語法的示例在表2中被提供。
129、
130、表2示例譯碼單元語法,其中以ic_flag值為條件對gbi索引進行譯碼
131、在一個實施例中,在gbi權重不是默認權重的情況下,即使當前cu在“合并”模式中被譯碼,ic標志也被譯碼。
132、在一個實施例中,在重構樣本“recn”屬于一個相鄰cu(稱為n)的情況下,lic被禁用,其中該相鄰cu已經用非默認gbi權重譯碼。
133、虛擬流水線數據單元(vpdu)被定義為圖片中的非重疊mxm-luma(l)/nxn-chroma(c)單元。在硬件解碼器中,連續(xù)的vpdu由多個流水線級同時處理。不同的級同時處理不同的vpdu。通常,vpdu是64×64亮度/32×32色度塊。必須驗證以下三個條件:
134、–對于包含一個或多個cu的每個vpdu,cu被完全包含在vpdu中。
135、–對于含有一個或一個以上vpdu的每一cu,所述vpdu被完全包含于所述cu中。
136、–cu的處理順序不應離開vpdu并在以后重新訪問它。
137、對于高速緩沖存儲器中的數據,利用lic引入的塊重構依賴性是可接受的,所述數據通常對應于一個ctu或對應于一個vpdu,該一個ctu或vpdu與用于解碼基本cu的硬件和/或實現存儲器高速緩存約束/限制有關,并且還與硬件可以一體化處理的最大樣本區(qū)域大小有關。
138、在一個實施例中,在用于導出lic參數的相鄰塊n的重構樣本“recn”在ctu或vpdu之外的情況下,lic被禁用。在一種變型中,可以使用lic,但是僅使用當前ctu或vpdu內的重構樣本。
139、在一個實施例中,在以下情況下:當前塊的譯碼模式是“合并”,合并索引指示鄰居n用于合并,該塊具有等于真的ic標志(ic參數被表示為icn),并且“recn”樣本在ctu或vpdu之外,則ic標志對于當前塊為真,并且重新使用icn(由相鄰塊n使用的lic參數)來構建當前塊的預測,而不是使用“recn”樣本來導出當前l(fā)ic參數。
140、在一個實施例中,lic以增加的精度被計算(670),即,設置shiftlic(等式6),使得樣本精度在lic過程之后是n比特,并且樣本僅在預測過程結束時被剪切,如圖12所示。
141、降低“重構后”濾波器的流水線依賴性:
142、在一個實施例中,lic過程和“重構后”濾波過程對于每個分量是互斥的(即,如果lic對于一個分量被啟用,則對于該分量禁用“重構后”濾波器)或者對于所有分量是互斥的(即,如果lic對于所有分量被啟用,則對于所有分量禁用“重構后”濾波器)。
143、如果“重構后”不應用于一個分量(例如,色度),那么如果lic針對當前cu被禁用(例如,lic標志為假),那么“重構后”可僅應用于其他分量(例如,亮度)。
144、例如,如果lic被啟用和/或被應用于當前cu(例如,lic標志為真、被推斷或被譯碼),則如圖1d中所描繪的,針對所有分量禁用重構后濾波。
145、在另一個示例中,如果lic過程可以按分量被啟用(例如,一個lic標志被推斷或譯碼用于亮度,另一個lic標志被推斷或譯碼用于色度),則如果lic標志對于一個分量被啟用,則對于該分量禁用所述“重構后”濾波過程。
146、減少用于obmc的流水線:
147、obmc對于小塊可能具有較低的譯碼效率,而當圖片中的小塊的數量很高時,每個樣本的平均處理量顯著增加。人們可以通過以下限制中的一者或多者來減輕流水線。
148、在一個實施例中,對于小塊(例如4×4),obmc被禁止(即,不被使用)。在一個實施例中,不執(zhí)行色度塊obmc。在一個實施例中,在當前塊使用lic的情況下,obmc被禁用(即,不被使用)。在一個實施方案中,lic不用于obmc過程。在一個實施方案中,bio不用于obmc過程。
149、減小用于bio的流水線:
150、在一個實施例中,如果gbi權重不是默認值,則bio被禁用。
151、bio和dmvr是兩種具有相同目的技術,即,細化mv。因此,在dmvr用于當前塊的情況下,bio被禁用,反之亦然(互斥)。
152、減小用于dmvr的流水線:
153、在現有技術中,lic通過dmvr而被禁用。實際上,啟用lic(包括針對每個要測試的mv的lic參數的計算)顯著地增加了計算量。已經提出在沒有l(wèi)ic的情況下執(zhí)行dmvr,并且在dmvr級之后,啟用lic過程,如圖1中所描繪的。然而,由于dmvr不包括lic,所以mv細化的準確性顯著降低。為了應對這種限制,提出利用mvinitial(在利用dmvr進行mv細化之前)執(zhí)行l(wèi)ic參數計算,并且不在dmvr處理中細化lic參數,即,不在dmvr過程中或之后計算lic參數,如圖13中所描繪的。
154、減小用于解塊濾波器的流水線:
155、在一個實施例中,如果在一個邊緣上應用obmc,則在該邊緣上降低dbf強度,和/或在該邊緣屬于一個啟用了lic或bio的塊的情況下,降低dbf強度。
156、本技術描述了多個方面,這其中包括工具、特征、實施例、模型、方法等。這些方面中的許多方面被描述為具有特異性,并且至少為了示出個體特性,通常以可能聽起來受限的方式來描述。然而,這是為了描述清楚的目的,并且不限制那些方面的應用或范圍。實際上,所有不同的方面可以組合和互換以提供另外的方面。此外,這些方面也可以與在較早的文檔中描述的方面組合和互換。
157、本技術中描述和預期的方面可以以許多不同的形式實現。以下圖15、16和17提供了一些實施例,但是可以設想其他實施例,并且對圖15、16和17的討論不限制實現的廣度。所述方面中的至少一個方面主要涉及視頻編碼和解碼,并且至少一個其它方面主要涉及傳送所生成或編碼的比特流。這些和其它方面可以被實現為方法、裝置、其上存儲有用于根據所描述的任何方法來編碼或解碼視頻數據的指令的計算機可讀存儲介質、和/或其上存儲有根據所描述的任何方法生成的比特流的計算機可讀存儲介質。
158、本文描述了各種方法,并且每種方法包括用于實現所描述的方法的一個或多個步驟或動作。除非所述方法的正確操作需要特定順序的步驟或動作,否則可修改或組合特定步驟和/或動作的順序和/或使用。
159、本技術中描述的各種方法和其它方面可用于修改模塊,例如,圖15和圖16所示的運動補償模塊(170,275)、運動細化模塊(190,290)、lic模塊(195,295)、多預測組合模塊(105,270)。此外,本發(fā)明不限于vvc或hevc,并且可應用于例如其它標準和提案(無論是預先存在的還是將來開發(fā)的)以及任何此類標準和提案(包括vvc和hevc)的擴展。除非另外指出或在技術上排除,本技術中描述的方面可以單獨或組合使用。
160、在本技術中使用各種數值。具體值是出于示例目的,并且所描述的方面不限于這些具體值。
161、圖15示出了編碼器100??梢栽O想該編碼器100的變型,但是為了清楚起見,下面描述編碼器100,而沒有描述所有預期的變型。
162、在被編碼之前,視頻序列可以經歷預編碼處理(101),例如,對輸入顏色圖片應用顏色變換(例如,從rgb?4:4:4到y(tǒng)cbcr?4:2:0的轉換),或者執(zhí)行輸入圖片分量的重新映射,以便獲得對壓縮更有彈性的信號分布(例如,使用所述顏色分量之一的直方圖均衡)。元數據可以與所述預處理相關聯,并且被附加到比特流。
163、在編碼器100中,如下所述,由編碼器元件對圖片進行編碼。以例如cu為單位分區(qū)(102)并處理要編碼的圖片。使用例如幀內或幀間模式來編碼每個單元。當以幀內模式對單元進行編碼時,其執(zhí)行幀內預測(160)。在幀間模式中,執(zhí)行執(zhí)行運動估計(175)、可能的運動細化(190)、運動補償(170)和可能的光照補償(195)。所述編碼器決定(105)使用幀內模式或幀間模式中的哪一者來對所述單元進行編碼,并且通過例如預測模式標志來指示所述幀內/幀間決定。所述編碼器還可以例如在mh模式或雙向預測模式中組合(105)若干預測。例如,通過從原始圖像塊中減去(110)預測塊來計算預測殘差。
164、然后,對所述預測殘差進行變換(125)和量化(130)。對所量化的變換系數以及運動向量和其它語法元素進行熵譯碼(145)以輸出比特流。所述編碼器可以跳過所述變換,并直接對未變換的殘差信號應用量化。所述編碼器可以繞過變換和量化這兩者,即,直接對所述殘差進行譯碼而不應用所述變換或量化處理。
165、所述編碼器對譯碼塊進行解碼,以提供用于進一步預測的參考。對所量化的變換系數進行解量化(140)和逆變換(150)以對預測殘差進行解碼。組合(155)所解碼的預測殘差和預測塊,重構圖像塊。環(huán)內濾波器(165)被應用于所重構的圖片,以執(zhí)行例如解塊/sao(樣本自適應偏移)濾波,從而減少編碼偽像。將所濾波的圖像存儲在參考圖片緩沖器(180)中。
166、圖16示出了視頻解碼器200的框圖。在解碼器200中,如下所述,由解碼器元件解碼比特流。視頻解碼器200通常執(zhí)行與如圖15中所描述的編碼過程互逆的解碼過程。所述編碼器100通常還執(zhí)行視頻解碼作為編碼視頻數據的一部分。
167、特別地,所述解碼器的輸入包括視頻比特流,其可以由視頻編碼器100生成。所述比特流首先被熵解碼(230)以獲得變換系數、運動向量和其它譯碼信息。圖片分區(qū)信息指示所述圖片如何被分區(qū)。所述解碼器因此可以根據所解碼的圖片分區(qū)信息來劃分(235)所述圖片。所述變換系數被解量化(240)和逆變換(250)以解碼所述預測殘差。將所解碼的預測殘差與預測塊進行組合(255),重構圖像塊。所述預測塊可以從幀內預測(260)或運動補償預測(即,幀間預測)(275)或者從若干預測的組合(270)(例如在mh模式或雙向模式中)獲得。運動補償預測可以在光照中進一步補償(295)。如所述編碼器那樣,解碼器還可包括被配置以細化(例如,使用dmvr或bio)所解碼的運動向量的模塊(290)。環(huán)內濾波器(265)被應用于所重構的圖像。將所濾波的圖像存儲在參考圖片緩沖器(280)中。
168、解碼后的圖片可以進一步經歷解碼后處理(285),例如,逆顏色變換(例如,從ycbcr?4:2:0到rgb?4:4:4的轉換)或執(zhí)行在預編碼處理(101)中執(zhí)行的所述重新映射過程的逆重新映射。所述解碼后處理可以使用在所述預編碼處理中導出并且在所述比特流中用信號發(fā)送的元數據。
169、圖17示出了其中實現了各個方面和實施例的系統(tǒng)的示例的框圖。系統(tǒng)1000可以被實現為包括以下描述的各種組件的設備,并且被配置為執(zhí)行本文中描述的一個或多個方面。此類設備的示例包括但不限于各種電子設備,諸如個人計算機、膝上型計算機、智能電話、平板計算機、數字多媒體機頂盒、數字電視接收機、個人視頻記錄系統(tǒng)、連接的家用電器和服務器。系統(tǒng)1000的元件可以單獨地或組合地被實現在單個集成電路(ic)、多個ic和/或分立組件中。例如,在至少一個實施例中,系統(tǒng)1000的處理和編碼器/解碼器元件分布在多個ic和/或分立組件上。在各種實施例中,所述系統(tǒng)1000經由例如通信總線或通過專用輸入和/或輸出端口而被通信地耦合到一個或多個其他系統(tǒng)或其他電子設備。在各種實施例中,所述系統(tǒng)1000被配置為實現本文中描述的一個或多個方面。
170、所述系統(tǒng)1000包括至少一個處理器1010,其被配置為執(zhí)行加載在其中的指令,以用于實現例如本文中描述的各個方面。處理器1010可以包括嵌入式存儲器、輸入輸出接口和本領域已知的各種其它電路。所述系統(tǒng)1000包括至少一個存儲器1020(例如,易失性存儲器設備和/或非易失性存儲器設備)。系統(tǒng)1000包括存儲設備1040,其可以包括非易失性存儲器和/或易失性存儲器,這其中包括但不限于電可擦除可編程只讀存儲器(eeprom)、只讀存儲器(rom)、可編程只讀存儲器(prom)、隨機存取存儲器(ram)、動態(tài)隨機存取存儲器(dram)、靜態(tài)隨機存取存儲器(sram)、閃存、磁盤驅動器和/或光盤驅動器。作為非限制性示例,所述存儲設備1040可以包括內部存儲設備、附接的存儲設備(包括可拆卸的存儲設備和不可拆卸的存儲設備)和/或網絡可訪問的存儲設備。
171、系統(tǒng)1000包括編碼器/解碼器模塊1030,其被配置為例如處理數據以提供所編碼的視頻或所解碼的視頻,并且所述編碼器/解碼器模塊1030可以包括其自己的處理器和存儲器。所述編碼器/解碼器模塊1030表示可包括在設備中以執(zhí)行編碼和/或解碼功能的模塊(一個或多個)。如已知的,設備可以包括所述編碼模塊和解碼模塊中的一個或兩個。另外,編碼器/解碼器模塊1030可實施為系統(tǒng)1000的單獨元件或可并入處理器1010內作為如所屬領域的技術人員已知的硬件與軟件的組合。
172、要加載到處理器1010或編碼器/解碼器1030上以執(zhí)行本文檔中描述的各個方面的程序代碼可以存儲在存儲設備1040中,并且隨后加載到存儲器1020上以供處理器1010執(zhí)行。根據各種實施例,處理器1010、存儲器1020、存儲設備1040和編碼器/解碼器模塊1030中的一者或多者可以在執(zhí)行本文中描述的過程期間存儲各種項中的一者或多者。這些存儲的項可以包括但不限于輸入視頻、所解碼的視頻或該解碼的視頻的部分、比特流、矩陣、變量以及來自方程式、公式、運算和運算邏輯的處理的中間或最終結果。
173、在一些實施例中,所述處理器1010和/或所述編碼器/解碼器模塊1030內的存儲器用于存儲指令,并且提供用于在編碼或解碼期間需要的處理的工作存儲器。然而,在其它實施例中,所述處理設備(例如,所述處理設備可為所述處理器1010或所述編碼器/解碼器模塊1030)外部的存儲器用于這些功能中的一者或多者。外部存儲器可以是存儲器1020和/或存儲設備1040,例如,動態(tài)易失性存儲器和/或非易失性閃存。在幾個實施例中,外部非易失性閃存用于存儲例如電視的操作系統(tǒng)。在至少一個實施例中,諸如ram的快速外部動態(tài)易失性存儲器被用作視頻譯碼和解碼操作的工作存儲器,諸如用于mpeg-2(mpeg是指運動圖像專家組,mpeg-2也被稱為iso/iec13818,并且13818-1也被稱為h.222,并且13818-2也被稱為h.262)、hevc(hevc是指高效視頻譯碼,也被稱為h.265和mpeg-h部分2)、或vvc(通用視頻譯碼,由聯合視頻團隊專家jvet開發(fā)的新標準)的工作存儲器。
174、如框1130中所示,可以通過各種輸入設備來提供對系統(tǒng)1000的元件的輸入。這樣的輸入設備包括但不限于:(i)接收例如由廣播者通過空中傳輸的射頻(rf)信號的rf部分,(ii)分量(comp)輸入端子(或一組分量輸入端子),(iii)通用串行總線(usb)輸入端子,和/或(iv)高清晰度多媒體接口(hdmi)輸入端子。圖10中未示出的其它示例包括合成視頻。
175、在各種實施例中,框1130的輸入設備具有本領域已知的相關聯的相應輸入處理元件。例如,所述rf部分可以與適合于以下的元件相關聯:(i)選擇期望頻率(也稱為選擇信號,或將信號頻帶限制到一頻帶),(ii)將所選擇的信號下變頻,(iii)再次將頻帶限制到較窄頻帶,以選擇(例如,)在某些實施例中可以稱為信道的信號頻帶,(iv)解調所述下變頻且頻帶限制的信號,(v)執(zhí)行糾錯,和(vi)解復用以選擇期望的數據分組流。各種實施例的rf部分包括一個或多個元件以執(zhí)行這些功能,例如,頻率選擇器、信號選擇器、限帶器、信道選擇器、濾波器、下變頻器、解調器、糾錯器和解復用器。所述rf部分可以包括執(zhí)行各種這些功能的調諧器,這些功能包括例如將所接收的信號下變頻到較低頻率(例如,中頻或近基帶頻率)或基帶。在一個機頂盒實施例中,所述rf部分及其相關的輸入處理元件接收通過有線(例如,電纜)介質發(fā)送的rf信號,并通過濾波、下變頻和再次濾波來執(zhí)行到期望頻帶的頻率選擇。各種實施例重新安排上述(和其它)元件的順序,移除這些元件中的一些,和/或添加執(zhí)行類似或不同功能的其它元件。添加元件可以包括在現有元件之間插入元件,例如插入放大器和模數轉換器。在各種實施例中,所述rf部分包括天線。
176、另外,usb和/或hdmi終端可以包括用于通過usb和/或hdmi連接將系統(tǒng)1000連接到其它電子設備的相應接口處理器。應當理解,輸入處理的各個方面(例如,,,所羅門糾錯)可以根據需要在例如單獨的輸入處理ic或處理器1010內實現。類似地,usb或hdmi接口處理的各方面可以根據需要在單獨的接口ic內或在處理器1010內實現。解調、糾錯和解復用的流被提供給各種處理元件,這其中包括例如處理器1010和編碼器/解碼器1030,其與存儲器和存儲元件結合操作以根據需要來處理所述數據流以便在輸出設備上呈現。
177、系統(tǒng)1000的各種元件可以設置在集成殼體內。在該集成殼體內,各種元件可以使用合適的連接布置(例如,本領域已知的內部總線,包括ic間(i2c)總線、布線和印刷電路板)互連并在其間傳輸數據。
178、所述系統(tǒng)1000包括通信接口1050,其使得能夠經由通信信道1060與其他設備通信。所述通信接口1050可以包括但不限于被配置為通過通信信道1060發(fā)送和接收數據的收發(fā)器。所述通信接口1050可以包括但不限于調制解調器或網卡,并且所述通信信道1060可以例如在有線和/或無線介質內實現。
179、在各種實施例中,使用無線網絡(例如,wi-fi網絡,例如ieee?802.11(ieee是指電氣和電子工程師協(xié)會)),將數據流式傳輸或以其他方式提供給所述系統(tǒng)1000。這些實施例的wi-fi信號通過適用于wi-fi通信的通信信道1060和通信接口1050來接收。這些實施例的通信信道1060通常連接到接入點或路由器,所述接入點或路由器提供對包括因特網的外部網絡的接入以允許流式傳輸應用和其它云上通信。其它實施例使用通過輸入框1130的hdmi連接來傳遞數據的機頂盒而向系統(tǒng)1000提供流式傳輸的數據。還有一些實施例使用輸入框1130的rf連接而向所述系統(tǒng)1000提供流式傳輸的數據。如上所述,各種實施例以非流式傳輸方式提供數據。另外,各種實施例使用除wi-fi之外的無線網絡,例如,蜂窩網絡或藍牙網絡。
180、所述系統(tǒng)1000可以向各種輸出設備(包括顯示器1100、揚聲器1110和其他外圍設備1120)提供輸出信號。各種實施例的顯示器1100包含以下中的一者或多者:例如觸摸屏顯示器、有機發(fā)光二極管(oled)顯示器、彎曲顯示器和/或可折疊顯示器。所述顯示器1100可以用于電視、平板電腦、膝上型計算機、蜂窩電話(移動電話)或其他設備。所述顯示器1100還可與其它組件集成(例如,如在智能電話中),或是單獨的(例如,用于膝上型計算機的外部監(jiān)視器)。在各實施例的各示例中,所述其它外圍設備1120包括以下中的一者或多者:獨立數字視頻盤(或數字多功能盤)(dvr,針對這兩項)、盤播放器、立體聲系統(tǒng)和/或光照系統(tǒng)。各種實施例使用一個或多個外圍設備1120,其基于系統(tǒng)1000的輸出來提供功能。例如,盤播放器執(zhí)行播放所述系統(tǒng)1000的輸出的功能。
181、在各種實施例中,使用信令(諸如,av.link(av.鏈路)、消費電子控制(cec)、或在有或沒有用戶干預的情況下實現設備到設備控制的其他通信協(xié)議)在系統(tǒng)1000和顯示器1100、揚聲器1110或其它外圍設備1120之間傳送控制信號。所述輸出設備可以經由通過相應接口1070、1080和1090的專用連接而通信地耦合到系統(tǒng)1000。作為替代,所述輸出設備可以使用通信信道1060經由通信接口1050連接到系統(tǒng)1000。所述顯示器1100和揚聲器1110可以與系統(tǒng)1000的其它組件一起集成在電子設備(例如,電視機)中的單個單元中。在各種實施例中,顯示接口1070包括顯示驅動器,例如定時控制器((t?con)芯片。
182、例如,如果輸入1130的rf部分是單獨機頂盒的一部分,則所述顯示器1100和揚聲器1110可以備選地與其它組件中的一者或多者分離。在所述顯示器1100和揚聲器1110是外部組件的各種實施例中,所述輸出信號可以經由專用輸出連接來提供,所述專用輸出連接例如包括hdmi端口、usb端口或comp輸出。
183、這些實施例可以由處理器1010或由硬件實現的計算機軟件或由硬件和軟件的組合來實現。作為非限制性示例,所述實施例可以由一個或多個集成電路實現。所述存儲器1020可以是適合于技術環(huán)境的任何類型,并且可以使用任何適當的數據存儲技術來實現,作為非限制性示例,諸如光學存儲器設備、磁存儲器設備、基于半導體的存儲器設備、固定存儲器和可移動存儲器。所述處理器1010可以是適合于技術環(huán)境的任何類型,并且作為非限制性示例,可以包含以下中的一者或多者:微處理器、通用計算機、專用計算機和基于多核架構的處理器。
184、各種實現方式涉及解碼。如本技術中所使用的,“解碼”可以包括例如對接收到的編碼序列執(zhí)行的全部或部分處理,以便產生適合于顯示的最終輸出。在各種實施例中,此類過程包括通常由解碼器執(zhí)行的過程中的一者或多者,例如熵解碼、逆量化、逆變換和差分解碼。在各種實施例中,這樣的過程還或替代地包括由本技術中描述的各種實現的解碼器執(zhí)行的過程,例如,運動和光照補償、運動細化和多預測組合。
185、作為進一步的示例,在一個實施例中,“解碼”僅指熵解碼,在另一實施例中,“解碼”僅指差分解碼,并且在另一實施例中,“解碼”指熵解碼和差分解碼的組合。短語“解碼過程”是旨在具體地指代操作的子集還是一般地指代更廣泛的解碼過程,這基于具體描述的上下文將是清楚的,并且相信是本領域技術人員所充分理解的。
186、各種實現涉及編碼。以與以上關于“解碼”的討論類似的方式,如在本技術中使用的“編碼”可以包括例如對輸入視頻序列執(zhí)行的以便產生編碼比特流的過程的全部或部分。在各種實施例中,此類過程包括通常由編碼器執(zhí)行的一個或多個過程,例如,分區(qū)、差分編碼、變換、量化和熵譯碼。在各種實施例中,這樣的過程還或替代地包括由本技術中描述的各種實現的編碼器執(zhí)行的過程,例如運動和光照補償、運動細化和多預測組合。
187、作為進一步的示例,在一個實施例中,“編碼”僅指熵編碼,在另一實施例中,“編碼”僅指差分編碼,而在另一實施例中,“編碼”指差分編碼和熵譯碼的組合。短語“編碼過程”的旨在具體地指代操作的子集還是一般地指代更廣泛的編碼過程,這將基于具體描述的上下文而變得清楚,并且相信是本領域技術人員所充分理解的。
188、注意,如本文所使用的語法元素(例如,ic-標志)是描述性術語。因此,它們不排除使用其它語法元素名稱。
189、當附圖被呈現為流程圖時,應當理解,它還提供了對應裝置的框圖。類似地,當附圖被呈現為框圖時,應當理解,它還提供了對應的方法/過程的流程圖。
190、各種實施例涉及速率失真優(yōu)化。特別地,在編碼過程期間,通??紤]速率和失真之間的平衡或折衷,通常給出計算復雜度的約束。所述速率失真優(yōu)化通常被公式化為最小化速率失真函數,該速率失真函數是速率和失真的加權和。存在不同的方法來解決速率失真優(yōu)化問題。例如,這些方法可以基于對所有編碼選項的廣泛測試,這其中包括所有考慮的模式或譯碼參數值,且對它們的譯碼成本和在譯碼和解碼之后的重構信號的相關失真進行完整評估。還可以使用更快的方法來節(jié)省編碼復雜度,特別是基于預測或預測殘差信號而不是重構信號來計算近似失真。還可以使用這兩種方法的混合,例如通過僅對一些可能的編碼選項使用近似失真,而對其他編碼選項使用完全失真。其它方法僅評估可能的編碼選項的子集。更一般地,許多方法采用各種技術中的任何一種來執(zhí)行所述優(yōu)化,但是該優(yōu)化不一定是對譯碼成本和相關失真這兩者的完整評估。
191、本文描述的實現方式和方面可以在例如方法或過程、裝置、軟件程序、數據流或信號中實現。即使僅在單一形式的實現的上下文中被討論(例如,僅作為方法而被討論),所討論的特征的實現也可以以其他形式(例如,裝置或程序)來實現。例如,可以以適當的硬件、軟件和固件來實現裝置。所述方法可以在例如處理器中實現,所述處理器通常指處理設備,這其中包括例如計算機、微處理器、集成電路或可編程邏輯設備。處理器還包括通信設備,例如計算機、蜂窩電話、便攜式/個人數字助理(“pda”)和便于終端用戶之間的信息通信的其他設備。
192、對“一個實施例”或“一實施例”或“一個實現方式”或“一實現方式”以及其它變化形式的提及意味著結合該實施例描述的特定特征、結構、特性等包含于至少一個實施例中。因此,在本技術中的各個地方出現的短語“在一個實施例中”或“在一實施例中”或“在一個實現方式中”或“在一實現方式中”以及任何其他變型的出現不一定都指同一實施例。
193、另外,本技術可以涉及“確定”各種信息。確定該信息可以包括例如以下一者或多者:估計該信息、計算該信息、預測該信息或從存儲器檢索該信息。
194、此外,本技術可以涉及“訪問”各種信息。訪問該信息可以包括例如以下一者或多者:接收該信息、檢索該信息(例如,從存儲器檢索該信息)、存儲該信息、移動該信息、復制該信息、計算該信息、確定該信息、預測該信息或估計該信息。
195、另外,本技術可以指“接收”各種信息。如同“訪問”一樣,接收旨在是廣義的術語。接收所述信息可以包括例如以下一者或多者:訪問該信息或(例如,從存儲器)檢索該信息。此外,在諸如存儲信息、處理信息、發(fā)送信息、移動信息、復制信息、擦除信息、計算信息、確定信息、預測信息或估計信息的操作期間,通常以一種方式或另一種方式涉及“接收”。
196、應當理解,例如在“a/b”、“a和/或b”以及“a和b中的至少一者”的情況下,使用以下“/”、“和/或”以及“中的至少一者”中的任意者旨在涵蓋僅對第一列出的選項(a)的選擇、或僅對第二列出的選項(b)的選擇、或對兩個選項(a和b)的選擇。作為進一步的示例,在“a、b和/或c”和“a、b和c中的至少一者”的情況下,這樣的措詞旨在包括僅選擇第一個列出的選項(a)、或者僅選擇第二個列出的選項(b)、或者僅選擇第三個列出的選項(c)、或者僅選擇第一個和第二個列出的選項(a和b)、或者僅選擇第一個和第三個列出的選項(a和c)、或者僅選擇第二個和第三個列出的選項(b和c)、或者選擇所有三個選項(a和b和c)。如本領域和相關領域的普通技術人員所清楚的,這可以擴展到所列的多個項目。
197、此外,如本文所使用的,詞語“信號”尤其是指向對應的解碼器指示某物。例如,在某些實施例中,編碼器用信號通知譯碼模式中的特定一個。這樣,在一實施例中,在編碼器側和解碼器側使用相同的參數。因此,例如,編碼器可以向解碼器發(fā)送(顯式地用信號發(fā)送)特定參數,使得解碼器可以使用該相同的特定參數。相反,如果解碼器已經具有所述特定參數以及其它參數,則可以使用信令而不進行發(fā)送(隱式地用信號發(fā)送),以簡單地允許解碼器知道并選擇所述特定參數。通過避免任何實際功能的傳輸,在各種實施例中實現了比特節(jié)省。應當理解,可以以各種方式來實現信令。例如,在各種實施例中,一個或多個語法元素、標志等被用于將信息用信號發(fā)送給對應的解碼器。雖然前述內容涉及詞語“信號”的動詞形式,但是詞語“信號”在本文中也可以用作名詞。
198、如對于本領域普通技術人員將顯而易見的,實現方式可以產生被格式化以攜帶例如可以被存儲或發(fā)送的信息的各種信號。該信息可以包括例如用于執(zhí)行方法的指令,或者由所描述的實現方式之一產生的數據。例如,信號可以被格式化以攜帶所描述的實施例的比特流。這種信號可以被格式化為例如電磁波(例如,使用頻譜的射頻部分)或基帶信號。所述格式化可以包括例如對數據流進行編碼并且利用所編碼的數據流對載波進行調制。所述信號攜帶的信息可以是例如模擬或數字信息。如已知的,所述信號可以通過各種不同的有線或無線鏈路來傳輸。所述信號可以存儲在處理器可讀介質上。
199、我們描述了多個實施例。這些實施例的特征可以單獨提供或以任何組合提供。此外,跨越各種權利要求類別和類型,實施例可以單獨或以任意組合包括以下特征、設備或方面中的一者或多者:
200、·tv、機頂盒、蜂窩電話、平板電腦或其他電子設備,其根據所描述的任何實施例執(zhí)行運動和光照補償、運動細化和多預測組合的適配。
201、·tv、機頂盒、蜂窩電話、平板電腦或其他電子設備,其根據所描述的任何實施例執(zhí)行運動和光照補償、運動細化和多預測組合的適配,并且顯示(例如,使用監(jiān)視器、屏幕或其他類型的顯示器)所得到的圖像。
202、·tv、機頂盒、蜂窩電話、平板電腦或其他電子設備,其調諧(例如,使用調諧器)信道以接收包括所編碼的圖像的信號,并且根據所描述的任何實施例執(zhí)行運動和光照補償、運動細化和多預測組合的適配。
203、·tv、機頂盒、蜂窩電話、平板電腦或其他電子設備,其通過空中接收(例如,使用天線)包括所編碼的圖像的信號,并且根據所描述的任何實施例執(zhí)行運動和光照補償、運動細化和多預測組合的適配。
204、根據至少一個實施例的一般方面,公開了一種解碼方法,包括:
205、–解碼當前塊的參數;
206、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所解碼的參數的給定條件得到了驗證;
207、–否則,為所述當前塊啟用所述譯碼工具;以及
208、–響應于所述譯碼工具,對所述當前塊進行解碼。
209、根據至少一個實施例的一般方面,公開了一種編碼方法,包括:
210、–獲得當前塊的參數;
211、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所解碼的參數的給定條件得到了驗證;
212、–否則,為所述當前塊啟用所述譯碼工具;以及
213、–響應于所述譯碼工具,對所述當前塊進行編碼。
214、根據至少一個實施例的一般方面,公開了一種解碼裝置,其包括一個或多個處理器,所述一個或多個處理器被配置為執(zhí)行:
215、–解碼當前塊的參數;
216、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所解碼的參數的給定條件得到了驗證;
217、–否則,為所述當前塊啟用所述譯碼工具;以及
218、–響應于所述譯碼工具,對所述當前塊進行解碼。
219、根據至少一個實施例的一般方面,公開了一種編碼裝置,其包括一個或多個處理器,所述一個或多個處理器被配置為執(zhí)行:
220、–獲得當前塊的參數;
221、–在以下條件中的一者或多者得到驗證的情況下,禁用針對所述當前塊的譯碼工具:第一譯碼工具被用于所述當前塊,以及關于所解碼的參數的給定條件得到了驗證;
222、–否則,為所述當前塊啟用所述譯碼工具;以及
223、–響應于所述譯碼工具,對所述當前塊進行編碼。
224、在一個實施例中,在以下條件中的一者或多者被驗證的情況下禁用用于所述當前塊的譯碼工具包括:在多假設譯碼模式被用于當前塊的情況下,禁用幀間雙向預測。
225、在一個實施例中,在以下條件中的一者或多者條件得到驗證的情況下禁用用于所述當前塊的譯碼工具包括:在多假設譯碼模式被用于當前塊的情況下,禁用局部光照補償。
226、在一個實施例中,在以下條件中的一者或多者得到驗證的情況下禁用所述當前塊的譯碼工具包括:在多假設譯碼模式被用于當前塊的情況下,禁用三角形分區(qū)。
227、在一個實施例中,在以下條件中的一者或多者得到驗證的情況下禁用針對所述當前塊的譯碼工具包括:針對小塊和色度分量中的一者或多者,禁用局部光照補償或obmc。
228、在一個實施例中,在以下條件中的一者或多者得到驗證的情況下禁用用于所述當前塊的譯碼工具包括:在一般化雙向預測權重不等于默認權重的情況下,禁用局部光照補償。
229、在一個實施例中,在以下條件中的一者或多者得到驗證的情況下禁用用于當前塊的譯碼工具包括:在針對所述當前塊啟用了局部光照補償的情況下,禁用一般化雙向預測(或將一般化雙向預測權重設定為默認權重)且不譯碼一般化雙向預測索引。
230、在一個實施例中,在以下條件中的一者或多者得到驗證的情況下禁用用于所述當前塊的譯碼工具包括:在由局部光照補償使用的所述當前塊的相鄰樣本屬于使用不等于默認權重的一般化雙向預測權重的塊的情況下,禁用局部光照補償。
231、在一個實施例中,在以下條件中的一者或多者得到驗證的情況下禁用所述當前塊的譯碼工具包括:在使用局部光照補償的情況下,禁用重疊塊運動補償。
232、在一個實施例中,在以下條件中的一個或多個條件得到驗證的情況下禁用針對所述當前塊的譯碼工具包括:在使用重疊塊運動補償的情況下,在權重不等于在重疊塊運動補償過程中的默認權重的情況下,禁用局部光照補償和/或一般化雙向預測。
技術實現思路