中文字幕无码日韩视频无码三区

標記視頻序列中具有斷鏈圖片的參考圖片的制作方法

文檔序號:7792646閱(yue)讀:240來源(yuan):國知局
標記視頻序列中具有斷鏈圖片的參考圖片的制作方法
【專利摘要】本發明揭示用于處理視頻數據的系統、方法和裝置。一些實例確定當前圖片為斷鏈存取BLA圖片。這些實例還可將圖片存儲緩沖器中的參考圖片標記為不用于參考。在一些實例中,可在解碼所述BLA圖片之前進行此操作。
【專利說明】標記視頻序列中具有斷鏈圖片的參考圖片
[0001]本申請案主張以下各者的權益:
[0002]2012年5月4日申請的第61/643,100號美國臨時申請案,
[0003]2012年4月20日申請的第61/636,566號美國臨時申請案,以及
[0004]2012年7月2日申請的第61/667,371號美國臨時申請案,
[0005]所述臨時申請案中的每一者的全部內容以引用的方式并入本文中。

【技術領域】
[0006]本發明大體上涉及處理視頻數據,且更明確地說,涉及視頻序列中的隨機存取點(RAP)圖片的譯碼。

【背景技術】
[0007]數字視頻能力可并入到廣泛范圍的裝置中,所述裝置包含數字電視、數字直播系統、無線廣播系統、個人數字助理(PDAs)、膝上型或桌上型計算機、平板計算機、電子書閱讀器、數碼相機、數字記錄裝置、數字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛星無線電電話、所謂的“智能電話”、視頻電話會議裝置、視頻流式傳輸裝置、轉碼器、路由器或其它網絡裝置,及其類似者。數字視頻裝置實施視頻壓縮技術,例如,由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)所定義的標準、目前正在開發的高效率視頻譯碼(HEVC)標準及這些標準的擴展中所描述的視頻壓縮技術。視頻裝置通過實施這些視頻壓縮技術可以更有效地發射、接收、編碼、解碼和/或存儲數字視頻信息。
[0008]視頻壓縮技術執行空間(圖片內)預測和/或時間(圖片間)預測來減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼來說,視頻切片(即,視頻幀或視頻幀的一部分)可分割成視頻塊,視頻塊還可被稱作樹塊、譯碼樹單元(CTU)、譯碼單元(CU)和/或譯碼節點。使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測對圖片的經幀內譯碼(I)切片中的視頻塊進行編碼。圖片的經幀間譯碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測,或相對于其它圖片中的參考樣本的時間預測。圖片可被稱為幀,且參考圖片可被稱為參考幀。視頻序列還可被稱作位流。
[0009]空間或時間預測產生用于待譯碼塊的預測性塊。殘余數據表示待譯碼原始塊與預測性塊之間的像素差。經幀間譯碼塊是根據指向形成預測性塊的參考樣本塊的運動向量及指示經譯碼塊與預測性塊之間的差的殘余數據編碼的。經幀內譯碼塊是根據幀內譯碼模式及殘余數據編碼的。為了進一步壓縮,可將殘余數據從像素域變換到變換域,從而產生殘余變換系數,接著可對殘余變換系數進行量化。可掃描起初用二維陣列布置的經量化變換系數,以便產生變換系數的一維向量,且可應用熵譯碼以實現更多的壓縮。


【發明內容】

[0010]本發明涉及用于譯碼經譯碼視頻序列中的隨機存取點(RAP)圖片的技術。在一些實例中,當待解碼的當前RAP圖片為例如斷鏈清潔隨機存取(CRA)圖片或斷鏈存取圖片(BLA圖片)等斷鏈RAP圖片時,語法元素指示經解碼圖片緩沖器中按解碼次序在所述BLA圖片之前的圖片將不被輸出。所述語法元素可提供于所述BLA圖片的切片標頭中的靠前位置且在所述BLA圖片中的每一切片的任何經熵譯碼切片標頭參數之前。在其它實例中,當待解碼的當前RAP圖片為BLA圖片時,將經解碼圖片緩沖器中的所有參考圖片標記為不用于參考。
[0011]在一個實例中,本發明描述一種解碼視頻數據的方法,所述方法包含確定當前圖片為斷鏈存取(BLA)圖片,以及在解碼所述BLA圖片之前將圖片存儲緩沖器中的參考圖片標記為不用于參考。
[0012]在另一實例中,本發明描述一種用于解碼視頻數據的裝置,所述裝置包含處理器,所述處理器經配置以確定當前圖片為斷鏈存取(BLA)圖片,且在解碼所述BLA圖片之前將參考圖片標記為不用于參考。
[0013]在另一實例中,本發明描述一種用于解碼視頻數據的裝置,所述裝置包含用于確定當前圖片為斷鏈存取(BLA)圖片的裝置,以及用于在解碼所述BLA圖片之前將參考圖片標記為不用于參考的裝置。
[0014]在另一實例中,本發明描述一種電腦可讀儲存媒體。所述計算機可讀存儲媒體具有存儲于其上的指令,所述指令在執行時致使裝置的一個或多個處理器確定當前圖片為斷鏈存取(BLA)圖片,且在解碼所述BLA圖片之前將參考圖片標記為不用于參考。
[0015]隨附圖式及以下描述中陳述一個或一個以上實例的細節。其它特征、目標和優點將從所述描述和圖式以及權利要求書而顯而易見。

【專利附圖】

【附圖說明】
[0016]圖1是說明可利用本發明中描述的技術的實例視頻編碼和解碼系統的實例的框圖。
[0017]圖2是說明可實施本發明中描述的技術的實例視頻編碼器的框圖。
[0018]圖3是說明可實施本發明中描述的技術的實例視頻解碼器的框圖。
[0019]圖4是說明形成用于傳達視頻數據的網絡的部分的一組實例裝置的框圖。
[0020]圖5是說明根據本發明中描述的技術的包含RAP圖片的實例視頻序列的圖。
[0021]圖6是說明根據本發明中描述的一或多個實例的用于譯碼RAP圖片的實例方法的流程圖。
[0022]圖7是說明根據本發明中描述的一或多個實例的用于譯碼RAP圖片的實例方法的流程圖。
[0023]圖8是說明根據本發明中描述的一或多個實例的用于譯碼RAP圖片的實例方法的流程圖。
[0024]圖9是說明根據本發明中描述的一或多個實例的用于解碼切片的實例方法的流程圖。
[0025]圖10是說明根據本發明中描述的一或多個實例的用于編碼切片的實例方法的流程圖。

【具體實施方式】
[0026]本發明描述與可用作例如隨機存取點或流調適點(例如時間層切換點)等的圖片有關的各種視頻譯碼設計。舉例來說,此類型的圖片可為用于調適位率、幀率或空間分辨率的切換點,其中的每一者將在本發明中大體稱為RAP圖片。在一些情況下,視頻編碼器或視頻解碼器可譯碼在視頻序列中在解碼次序上定位在RAP圖片之后但在輸出次序(即顯示次序)上定位在隨機存取點或流調適點之前的一或多個圖片。這些圖片可稱為前導圖片。前導圖片為在解碼次序上在RAP圖片之后但在輸出次序上先于RAP圖片的圖片。更具體來說,這些圖片可稱為RAP圖片的前導圖片。
[0027]清潔隨機存取(CRA)圖片為一種類型的RAP圖片。如果解碼從在視頻序列中定位在當前CRA圖片之前的瞬時解碼刷新(IDR)或CRA圖片開始,那么可正確地解碼當前CRA圖片的前導圖片。然而,在出現從當前CRA圖片的隨機存取時,CRA圖片的前導圖片無法被正確地解碼。這是因為前導圖片(即,在解碼次序上定位在當前CRA圖片之后但在輸出次序上在當前CRA圖片之前的圖片)可能指向不可用的先前圖片(例如,在解碼次序上在BLA圖片之前的圖片)中用于預測參考的塊。
[0028]明確地說,當隨機存取解碼從當前CRA圖片開始時,在解碼次序上駐留在當前CRA圖片之前的圖片不可用。因此,在此情況下,前導圖片不可解碼,且在隨機存取解碼在CRA圖片處開始時通常被丟棄。為防止錯誤從取決于解碼開始處而可能不可用的圖片傳播,在解碼次序及輸出次序兩者上都在CRA圖片之后的所有圖片不將在解碼次序或輸出次序上先于CRA圖片的任何圖片(其包含前導圖片)用作參考圖片。
[0029]對于前導圖片不可解碼(例如,當解碼從較靠前的RAP圖片開始時)的情況,CRA圖片可包含斷鏈旗標。此旗標指示CRA圖片的前導圖片不可解碼,例如因為參考圖片歸因于正解碼的位流的改變而不可有效地用于解碼前導圖片。此類CRA圖片可稱為斷鏈清潔隨機存取(BLC)圖片或斷鏈存取(BLA)圖片。
[0030]斷鏈可通常指的是位流中的位置,在該位置中,指示在解碼次序上的一些后續圖片可能歸因于產生位流時所執行的未指定操作而含有顯著視覺假影。替代使用斷鏈旗標或除使用斷鏈旗標之外,可使用BLC(或類似BLA)圖片來指示視頻序列中的斷鏈。BLA或BLC圖片可例如用于多種裝置中的任一者(例如服務器、媒體感知網絡元件(MANE),或視頻編輯器/剪接器)所進行的位流剪接。再次,可認為BLC圖片大體類似于BLA圖片,如HEVCWD9(見下文)中所描述。盡管術語稍有不同,但BLC或BLA圖片可大體指的是其前導圖片不可解碼的CRA或時間層存取(TLA)圖片,這些圖片例如在解碼從較靠前的RAP圖片開始時可能不可解碼。
[0031]在本發明的各種實例中,對于BLA或BLC圖片,認為前導圖片不可解碼,因為據了解,在解碼次序上在BLA或BLC圖片之前(例如,在剪接點之前)的參考圖片不可用。根據本發明的實例,為解碼當前BLA或BLC圖片,可將經解碼圖片緩沖器中的參考圖片標記為不用于由解碼器參考。明確地說,當待解碼的當前圖片為BLA或BLC圖片時,可將經解碼圖片緩沖器(DPB)中的參考圖片標記為不用于由解碼器參考。在另一實例中,對于BLA或BLC圖片的解碼,編碼器或其它裝置可產生且解碼器可接收例如旗標(例如n0_0utput_0f_pr1r_pics_flag)等語法元素,其指示可存儲在DPB中的在CRA圖片或BLA (或BLC)圖片之前的所有參考圖片將不被輸出。在一些實例中,此旗標或其它語法元素可由編碼器或其它裝置放置在BLA (或BLC)或CRA圖片的切片標頭中靠前處,例如在經熵解碼的元素之前,以使得所述旗標可更容易地解碼,且信息可在解碼過程中較早地可用或較之于視頻解碼器更易由其它實體存取。舉例來說,為使得功能較少的裝置(例如媒體感知網絡元件(MANE)可以存取信息而不需要熵解碼,no_output_of_pr1r_pics_flag可定位在切片標頭中較靠前位置中且先于經熵譯碼的切片標頭參數。
[0032]在另一實例中,譯碼器可處理經指派以指示何時BLA(或BLC)或CRA圖片具有和不具有前導圖片的NAL單元類型。注意,BLA圖片實質上類似于BLC圖片。一般來說,從BLC圖片到BLA圖片的改變是術語改變,但BLA圖片的處理還可包含添加本文所述的NAL單元類型。舉例來說,NAL單元類型可包含:NAL單元類型16,BLA_W_LP (具有前導圖片的BLA);NAL單元類型17,BLA_W_DLP (具有可解碼前導圖片但不具有不可解碼前導圖片的BLA);且包含NAL單元類型18,BLA_N_LP (不具有前導圖片的BLA)。在一些實例中,這些NAL單元類型可用以指示BLA圖片可包含可解碼和不可解碼前導圖片兩者、僅包含可解碼前導圖片,還是根本沒有前導圖片。當BLA圖片不具有不可解碼前導圖片時,所有相關聯前導圖片(如果存在)都可解碼。
[0033]正由ITU-T視頻譯碼專家組(VCEG)及IS0/IEC動畫專家組(MPEG)的視頻譯碼聯合合作小組(JCT-VC)開發的高效率視頻譯碼(HEVC)描述于各種工作草案中。HEVC標準的新近草案(被稱作“HEVC工作草案6”或“WD6”)描述于以下文件中:JCTVC-H1003,布洛斯(Bross)等人,“高效率視頻譯碼(HEVC)文本規范草案6 (High efficiency videocoding (HEVC) text specificat1n draft 6),,, ITU-T SG16 WP3 的視頻譯碼聯合小組(JCT-VC)和IS0/IEC JTC1/SC29/WG11,第8屆大會;美國加利福尼亞州圣何塞,2012年2 月 I 曰至 Ij 10 曰,從 2012年 5 月 4 曰起,可以從 http: //phenix.1nt-evry.fr/ ict/docend user/documents/8 San % 20.Tose/wgll/.TCTVC-H1003-v22.zip 下載,其全部內容以引用的方式并入本文中。HEVC的最新的工作草案(WD)(被稱為“HEVC WD9”)描述于布洛斯?ross)等人于2012年10月10日到19日在中國上海(Shanghai,CN)的ITU-TSG16 WP3和IS0/IEC JTC1/SC29/WG11的視頻譯碼聯合協作小組(JCT-VC)第11次會議中的文獻JCTVC-K1003vl3 “高效率視頻編碼(HEVC)文本規范草案9(High efficiencyvideo coding (HEVC) text specificat1n draft 9) ” 中,所述草案從 2012 年 12 月 27 日起可從 //phenix.1nt-evry.fr/ict/doc end user/documents/11 Shanghai/wgl I/TCTVC-K1003-V13.zip下載,所沭草案的全部內容以引用的方式并入本文中。在WD9中,用于指代斷鏈CRA圖片的BLC圖片術語已改變為BLA圖片術語。因此,在本發明中通常可互換地使用BLC與BLA術語來指代斷鏈CRA圖片。
[0034]其它實例視頻譯碼標準包含ITU-T H.261、IS0/IEC MPEG-lVisual, ITU-T H.262或 IS0/IEC MPEG-2Visual、ITU-T H.263、IS0/IEC MPEG_4Visual 及 ITU-T H.264(也稱為IS0/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)及多視圖視頻譯碼(MVC)擴展。
[0035]現將描述RAP圖片的各種方面。隨機存取一般是指對從不是位流中的第一經譯碼圖片的經譯碼圖片開始的視頻位流的解碼。在例如廣播和流式傳輸等許多視頻應用中可能需要對位流的隨機存取以例如使用戶在不同信道之間切換、跳轉到視頻的特定部分、支持位流剪接,或切換到不同位流以用于流調適(位率、幀率、空間分辨率,等)。視頻應用可將RAP圖片以規則間隔多次地和/或在所選位置插入至視頻位流中以允許此特征。
[0036]編碼器和解碼器可使用瞬時解碼器刷新(IDR)圖片用于隨機存取。然而,因為IDR圖片開始經譯碼視頻序列且始終清理經解碼圖片緩沖器(DPB),所以在解碼次序上在IDR之后的圖片無法使用在IDR圖片之前解碼的圖片作為參考圖片。因此,依賴于IDR圖片以用于隨機存取的位流可具有顯著較低的譯碼效率。為了提高譯碼效率,在開發HEVC標準時已引入清潔隨機存取(CRA)圖片的概念以允許在解碼次序上在CRA圖片之后但在輸出次序上先于CRA圖片的圖片使用在CRA圖片之前解碼的圖片作為參考圖片。因此,CRA圖片可作為視頻序列中的第一經解碼圖片用于隨機存取,或可解碼為已解碼較靠前RAP(例如IDR或CRA)圖片的視頻序列的部分。
[0037]在解碼次序上在CRA圖片之后但在輸出次序上先于CRA圖片的圖片被稱作CRA圖片的前導圖片。如果解碼從當前CRA圖片之前的RAP圖片開始,那么CRA圖片的前導圖片可被正確地解碼。然而,在出現從CRA圖片的隨機存取時,CRA圖片的前導圖片無法被正確地解碼。因此,如上文所論述,在HEVC過程中,這些前導圖片在CRA圖片的隨機存取解碼期間通常被丟棄。為防止錯誤從取決于解碼開始處而可能不可用的參考圖片傳播,在解碼次序及輸出次序兩者上在CRA圖片之后的所有圖片不應將在解碼次序或輸出次序上在CRA圖片前面的任何圖片(其包含前導圖片)用作參考圖片。
[0038]在具有恢復點SEI消息的H.264/AVC中支持隨機存取功能性。H.264/AVC解碼器實施方案可支持或可不支持所述功能性。在HEVC中,開始于CRA圖片的位流被視為相符位流。當位流開始于CRA圖片時,CRA圖片的前導圖片可能指不可用參考圖片,且因此無法被正確地解碼。然而,HEVC標準指定不輸出開始CRA圖片的前導圖片,因此得名用于CRA圖片的“清潔隨機存取”。為建立位流符合性要求,HEVC指定解碼過程以產生不可用于解碼非輸出前導圖片的參考圖片,即不輸出的前導圖片。然而,相符解碼器實施方案不需要遵循彼解碼過程,只要解碼器實施方案與從經譯碼視頻序列的開始執行解碼過程時相比可產生相同輸出即可。
[0039]在HEVC中,相符位流可能根本不含有IDR圖像,且因此可含有經寫碼視頻序列或經不完全寫碼視頻序列的子組。在HEVC WD6中,如下定義經譯碼視頻序列。
[0040]經譯碼視頻序列為存取單元序列,其包含在解碼次序上的IDR存取單元繼之以包含所有后續存取單元直到但不包含任何后續IDR存取單元的零個或零個以上非IDR存取單
J Li ο
[0041]“具有斷鏈的CRA圖片”的概念描述于沙利文(Sullivan等人)于2012年4月27日到 5 月 7 日在瑞士日內瓦(Geneva,CH)的 ITU-T SG16 WP3 和 IS0/IEC JTC1/SC29/WG11的視頻譯碼聯合協作小組(JCT-VC)第9次會議中的文獻JCTVC-10404“具有斷鏈的CRA圖片(CRA pictures with broken links) ”中,所述草案從 2012 年 12 月 27 日起可從 http: //phenix.1nt-evry.fr/ict/doc end user/documents/9 Geneva/wgll/.TCTVC-10404-vl.Me下載,所述草案的全部內容以引用的方式并入本文中。在一個實例中,與HEVC WD6中包含的CRA概念相比,在JCTVC-10404中提出另外允許不處于位流的開頭的CRA圖片具有不可解碼的前導圖片,就像開始位流的CRA圖片那樣。在HEVC WD6中,開始一位流的CRA圖片允許(在還稱為解碼次序的位流次序上)跟著歸因于缺少在解碼次序上在BLA圖片之前的參考圖片而無法解碼的前導圖片。然而,不允許在位流中間的CRA圖片具有此類不可解碼的前導圖片。在一個實例中,在JCTVC-10404中提出通過添加將指示此類不可解碼前導圖片的潛在存在的“斷鏈”旗標來移除此約束。
[0042]“斷鏈”旗標在JCTVC-10404中提議為在切片標頭中的CRA圖片的圖片層級信息或針對圖片層級信息在某一其它地方中。在包含調適參數集(APS)的實例中,“斷鏈”旗標可為APS的部分。然而,一些標準并未針對APS而提供。在旗標等于I時,將允許位流含有CRA圖片的由于缺少前面的參考圖片而不可解碼的前導圖片,即使位流開始于在位流次序上較靠前的IDR圖片或CRA圖片也如此。
[0043]對于“斷鏈”旗標等于I的CRA圖片,除允許具有如本文中所論述的不可解碼前導圖片之外,其圖片次序計數(POC)最高有效位(MSB)設定到O。此外,斷鏈旗標等于I的CRA圖片可包含:no_output_of_pr1r_pics_flag,其致使CRA圖片與IDR圖片以相同的方式表現;以及 random_access_pic_id,其致使 CRA 圖片與 HEVC WD6 中的 IDR 圖片的 idr_pic_id以相同方式表現。另外,當前idr_pic_id (如HEVC WD 6中)被重新命名為random_access_pic_id,且應使其約束適用于CRA圖片及IDR圖片兩者而非僅適用于IDR圖片。與IDR圖片一樣,具有等于I的broken_link_flag的CRA圖片可激活不同的序列參數集(SPS)、改變圖片大小等。
[0044]在一些實例中,在切片標頭或APS中用信號通知“斷鏈”旗標將需要將正常CRA圖片改變為所謂的斷鏈清潔隨機存取(BLC)圖片(在本發明中還稱為BLA圖片)的實體(例如,服務器、媒體感知網絡元件(MANE),或視頻編輯器/剪接器)。此實體通常將需要能夠對切片標頭和/或APS進行熵編碼和剖析以編碼斷鏈旗標。同樣,在需要時識別BLA或BLC圖片的實體(例如,服務器、MANE,或視頻編輯器)將需要能夠對切片標頭和/或APS進行熵解碼和剖析以找出所述旗標。
[0045]在一些實例中,可能不允許斷鏈CRA (BLA)圖片在參數集ID與有效SPS、PPS或APS相同的情況下激活序列參數集(SPS)、圖片參數集(PPS)或APS(在由所述圖片參考時)。然而,因為BLA圖片通常源自在解碼次序上與先前圖片不同的位流(例如,在位流剪接情況下),BLA或BLC圖片與先前圖片可使用不同SPS原始位序列有效負載(RBSP)、PPS RBSP和APS RBSP。因此,在一些實例中,可能BLA或BLC圖片與在解碼次序上在前的圖片可參考(直接或間接)SPS或PPS ID的相同值。另外,在一些實例中,圖片還可能參考APS ID的相同值。因此,在解碼中使用先前圖片的有效SPS、PPS或APS極可能致使BLA或BLC圖片以及隨后圖片(不僅僅是前導圖片)的解碼不正確。
[0046]在正常CRA 圖片中不包含 random_access_pic_id 和 no_output_of_pr1r_pics_flag語法元素的實例中,在需要時將正常CRA圖片改變為BLA或BLC圖片的實體(例如,月艮務器、媒體感知網絡元件(MANE),或視頻編輯器/剪接器)將需要能夠對切片標頭和/或APS進行熵編碼或解碼和剖析以編碼所述語法元素。
[0047]因為BLA或BLC圖片將通常來源于與在解碼次序上在前的圖片不同的位流,因此如果no_output_of_pr1r_pics_f lag等于O,那么經解碼圖片緩沖器可能溢位。結果,在解碼次序上在后的所有圖片可能被不正確的解碼或解碼器可能甚至崩潰。
[0048]當第一位流的一部分與第二位流的一部分(其中,第二位流的部分從CRA圖片(piCA)開始)剪接或級聯時,可能不將CRA圖片改變為BLA或BLC圖片。確切地說,在解碼從先前CRA圖片或IDR圖片或BLA或BLC圖片開始且CRA圖片picA的前導圖片的解碼質量可接受但不完美時(例如,當前導圖片中的一或多者的檢查和與經解碼圖片雜湊輔助增強信息(SEI)消息中用信號通知的檢查并不匹配時,如在HVEC WD6中)的情況下,有可能將PicA保持為CRA圖片。然而,此方法缺乏用以在位流中指示以上信息的機制。
[0049]為解決以上問題中的一些,在一實例中,替代使用旗標來指示CRA圖片具有斷鏈或指示斷鏈CRA(BLA)圖片,可使用相異的NAL單元類型(例如,保留在HEVC WD6中的等于2的NAL單元類型)。在此類實例中,由NAL單元提供的信息可在無需熵編碼或解碼的情況下使用。此方法可允許實體(例如,服務器、媒體感知網絡元件(MANE),或視頻編輯器/剪接器)在需要時將正常CRA圖片(對于正常CRA圖片,如果不是位流開始,那么所有相關聯的前導圖片必須可解碼(即,可正確地解碼))改變為BLA或BLC圖片。此還可準許實體(例如,服務器、MANE,或視頻編輯器)在需要時識別BLA或BLC圖片。
[0050]在一些實例中,替代允許BLC圖片激活不同SPS,需要BLC圖片激活SPS,即使由BLC圖片參考的SPS ID與用于在解碼次序上在前的圖片的有效SPS的SPS ID相同。此可間接地經由PPS (如在HEVC WD6中)或通過其它方法執行,例如,經由如JCTVC-10338中所描述的群組參數集間接地執行或直接地執行(例如,當SPS ID直接包含在切片標頭中時),或經由緩沖周期SEI消息而間接地執行。可能需要BLC圖片激活SPS,因為BLC圖片通常來自與在解碼次序上在前的圖片不同的位流。另外,通常應用具有相同或不同SPS ID的不同SPS RBSP。
[0051]BLC圖片還可用以激活PPS。即使由BLC圖片參考的PPS ID (經由如JCTVC-10338中所描述的群組參數集間接地,或直接地,例如當PPS ID直接包含在切片標頭中時,如在HEVC WD6中)與用于在解碼次序上在前的圖片的有效PPS的PPS ID相同也可能是此情況。這再次是因為BLC圖片通常來自與在解碼次序上在前的圖片不同的位流,且通常應用具有相同或不同PPS ID的不同PPS RBSP。
[0052]在一些實例中,還需要BLA或BLC圖片激活APS (如果其參考APS),即使由BLA或BLC圖片參考的APS ID與用于在解碼次序上在前的圖片的有效PPS的APS ID相同也是如此。這再次是因為BLA或BLC圖片通常來自與在解碼次序上在前的圖片不同的位流。另外,通常應用具有相同或不同APS ID的不同APS RBSP。
[0053]BLA或BLC圖片可視為特殊類型的CRA圖片,且可被定義為經譯碼圖片(對于其來說,NAL單元類型為用于BLC圖片的NAL單元類型(例如,保留在HEVC WD6中的等于2的NAL單元類型))。具有不同術語但具有類似效果的此定義可適用于BLA圖片,如HEVC WD9中所描述。用于非BLA CRA圖片(當其在位流和相關聯前導圖片開始處時)的相同解碼過程可應用于解碼BLA或BLC圖片和相關聯前導圖片,即使BLA或BLC圖片不為位流中的第一圖片也是如此。或者,可從CRA圖片排除BLA或BLC圖片,S卩,可不將BLA或BLC圖片視為CRA圖片。在這種情況下,用于CRA圖片(當其在位流和相關聯前導圖片開始處時)的相同解碼過程適用于解碼BLA或BLC圖片和相關聯前導圖片,即使BLA或BLC圖片不為位流中的第一圖片也是如此。在以下論述中,假定此替代方案適用。
[0054]在一些實例中,BLA或BLC存取單元可被定義為其中經譯碼的圖片為BLA或BLC圖片的存取單元。經譯碼視頻序列的定義可改變如下:在解碼次序上包含IDR存取單元或BLA或BLC存取單元繼之以包含所有后續存取單元直到但不包含任何后續IDR或BLA存取單元的零個或零個以上非IDR和非BLA存取單元。
[0055]替代如在JCTVC-10404中具有僅用于所有IDR圖片和BLA圖片的random_access_pic_id和no_output_of_pr1r_pics_flag,在另一方法中,兩個字段對于所有IDR圖片、BLA和所有CRA圖片始終存在。對于每一 CRA圖片,需要no_output_of_pr1r_pics_f lag等于O。在一些實例中,在需要時,可以更容易地使實體(例如,服務器、媒體感知網絡元件(MANE)或視頻編輯器/剪接器)將CRA圖片改變為BLA圖片。
[0056]在另一替代實例中,對于BLA圖片,可能需要no_output_of_pr1r_pics_flag等于I。或者,每一 BLA圖片不用信號通知no_output_of_pr1r_pics_flag,但圖片輸出行為與其具有等于I的no_output_of_pr1r_pics_flag的情況相同。作為另一替代,每一BLA圖片用信號通知no_output_of_pr1r_pics_flag,但圖片輸出行為與其具有等于I的no_output_of_pr1r_pics_f lag 的情況相同,而不管用信號通知的 no_output_of_pr1r_pics_flag的值是多少。
[0057]可例如在切片標頭中用信號通知用于BLA圖片的圖片次序計數(POC)最高有效位(MSB)值。如果其被用信號通知,那么在解碼過程中所述值將仍被視為等于0,而不管所述值如何。或者,在解碼過程中使用用信號通知的POC MSB值,但隨后剪接器需要檢查且可能改變所述值以與在解碼次序上較早的圖片的POC值一致。
[0058]當第一位流的一部分與第二位流的一部分(其中,第二位流的部分從CRA圖片(PicA)開始)剪接或級聯時,剪接器可將來自第一位流的圖片保持為CRA圖片。在一實例中,當解碼從在前的CRA圖片、IDR圖片或BLA圖片開始時,CRA圖片的前導圖片的解碼質量可接受但不完美。舉例來說,當前導圖片中的一或多者的檢查和與經解碼圖片雜湊SEI消息中用信號通知的檢查和(如在HVEC WD6中)不匹配時,解碼質量可接受。
[0059]可在位流中用信號通知以上信息的指示。所述信息可經由與來自第一位流的CRA圖片相關聯的指示用信號通知,例如,作為NAL單元標頭或切片標頭或所參考的APS中的旗標,或與來自第一位流的CRA圖片相關聯的SEI消息。所述旗標可稱為exact_match_flag。在一實例中,值I指示與來自第一位流的CRA圖片相關聯的每一前導圖片的檢查和匹配在經解碼圖片雜湊SEI消息中用信號通知的檢查和(如果存在)。值O指示與來自第一位流的CRA圖片相關聯的每一前導圖片的檢查和可或可不匹配在經解碼圖片雜湊SEI消息中用信號通知的檢查和(如果存在)。
[0060]用信號通知前導圖片和CRA圖片的前導圖片的存在的論述提供于JCTVC-10275中,可在下處獲得:
[0061]//Dhenix.1nt-evry.fr/ict/doc end user/documents/9 Geneva/wglI/TCTVC-10275-v2.zip ;及文獻 JCTVC-10277,可在下處獲得:
[0062]//rhenix.1nt-evry.fr/ict/doc end user/documents/9 Geneva/wglI/.TCTVC-10277-v3.zip,其論述了用信號通知前導圖片和CRA圖片的前導圖片的存在,其每一者的全部內容以引用的方式并入本文中。在一些實例中,關于用信號通知CRA圖片的前導圖片的存在的類似想法可適用于BLA或BLC圖片。
[0063]使用斷鏈RAP圖片(例如BLA或BLC圖片)可能存在一些問題。可提供各種改進以解決與例如BLA或BLC圖片等斷鏈RAP圖片和其它現有視頻隨機存取方法相關聯的此些問題。
[0064]—個問題是對于與CRA圖片相關聯的前導圖片僅定義一個NAL單元類型可能不夠充分,因為前導圖片還可能是時間層存取(TLA)圖片。因此,實施本文所述的系統和方法的編碼器和解碼器可能需要更多NAL單元類型來識別屬于還是TLA圖片的前導圖片的NAL單元和屬于不是TLA圖片的前導圖片的NAL單元。
[0065]作為另一問題,如果BLA或BLC圖片改變視頻序列中的圖片的空間分辨率,那么如在HEVC WD6中針對位流開始處的CRA圖片的前導圖片所指定的當前解碼過程無法直接應用于BLA或BLC圖片的前導圖片。在一些情況下,可能看起來空間分辨率對于當前圖片與當前圖片的參考圖片不同。作為另一問題,在HEVC WD6中指定的解碼過程中,語法元素slice_type可能不必要地出現于IDR、CRA和BLA或BLC圖片的切片的切片標頭中。
[0066]本發明大體描述用于RAP圖片和用于譯碼尤其是在視頻序列中的斷鏈RAP圖片(例如,BLA圖片)的各種技術。所述技術中的一些可解決上文所描述的問題中的一或多者,而所述技術中的一些可提供可適用于譯碼隨機存取圖片的額外特征。
[0067]在一些實例中,當待解碼的當前RAP圖片為例如斷鏈清潔隨機存取(CRA)圖片(BLA圖片)等斷鏈RAP圖片時,語法元素指示經解碼圖片緩沖器中在解碼次序上在所述BLA圖片之前的所有參考圖片將不被輸出。此語法元素可由編碼器編碼,且由解碼器解碼。而且,語法元素可提供于當前斷鏈RAP圖片的切片標頭中的靠前位置且在當前斷鏈RAP圖片中的每一切片的任何經熵譯碼切片標頭參數之前。在一些實例中,在經熵譯碼語法元素之前(例如在任何ue (V)元素之前)提供語法元素可準許功能較少的裝置在無需熵譯碼的情況下解釋所述語法元素。在其它實例中,當待解碼的當前RAP圖片為斷鏈RAP圖片時,將經解碼圖片緩沖器中的所有參考圖片標記為不用于參考。此特征可準許將標準解碼過程應用于BLA或BLC圖片的前導圖片,即使BLA或BLC圖片改變空間分辨率也是如此。本發明中描述這些和其它實例技術。
[0068]圖1是說明可利用本發明中所描述的技術的實例視頻編碼和解碼系統10的框圖。如圖1中所示,系統10包含源裝置12,源裝置12產生目的地裝置14稍后可解碼的經編碼視頻數據。源裝置12和目的地裝置14可包括多種多樣的裝置中的任一者,包含桌上型計算機、筆記型(即,膝上型)計算機、平板計算機、機頂盒、電話手持機(例如所謂的“智能”電話)、所謂的“智能”平板電腦、電視機、相機、顯示裝置、數字媒體播放器、視頻游戲控制臺、視頻串流裝置或類似者。在一些情況下,源裝置12和目的地裝置14可經裝備以用于無線通信。
[0069]在一些情況下,視頻編碼器20可編碼在隨機存取點或流調適點(例如,時間層切換點)之后的圖片。舉例來說,此可為用于調適位速率、幀速率或空間分辨率的切換點。這些圖片中的一或多者可為視頻序列中的CRA圖片的前導圖片。如果對視頻序列的解碼是從視頻序列中的當前CRA圖片之前的RAP圖片開始,那么解碼器可正確地解碼CRA圖片的前導圖片。然而,在出現從CRA圖片的隨機存取時,CRA圖片的前導圖片無法被正確地解碼。舉例來說,前導圖片可指向不可用的用于預測參考的塊。因此,前導圖片可能不可在視頻解碼器30處解碼。因此,目的地裝置14可通常在隨機存取解碼期間丟棄這些前導圖片。
[0070]在另一實例中,對于BLA或BLC圖片,編碼器20可編碼旗標,例如no_output_of_pr1r_pics_f lag (其可更準確地被稱作語法元素),使得不輸出DPB中的任何先前圖片。在一些實例中,此旗標或語法元素可在熵解碼之前處于切片標頭中靠前處,使得其可更容易地被解碼且所述信息在譯碼過程中較早地可用。舉例來說,由于例如不需要對ri0_0utput_of_pr1r_pics_flag進行熵解碼,使得較不復雜的裝置(例如MANE)可存取所述信息而不需要解碼器。作為說明,no_output_of_pr1r_pics旗標可呈現為非熵譯碼語法元素,例如,作為固定長度U(I)元素,而不是經熵譯碼語法元素,例如,可變長度ue (V)元素。例如緊接在first_slice_segment_in_pic旗標之后且在任何經熵譯碼語法元素之前可呈現no_output_of_pr1r_pics 方萁標。
[0071]在一個實例中,在(例如)使用存儲在參考圖片緩沖器中的圖片可產生不正確經解碼圖片時,視頻解碼器30可將這些圖片標記為不用于參考。舉例來說,在解碼次序或輸出次序上在BLA或BLC圖片前面的參考圖片可不能用于在解碼次序上在BLA或BLC圖片之后的前導圖片的參考。因此,響應于接收到在解碼次序或輸出次序上在BLA或BLC圖片前面的參考圖片可不能用于在解碼次序上在BLA或BLC圖片之后的前導圖片的參考,視頻解碼器30可將所述參考圖片標記為不用于參考。
[0072]在一實例中,視頻編碼器20可經配置以包含經指派以指示BLA或BLC圖片何時具有且不具有前導圖片的NAL單元類型。舉例來說,在一個標準中,包含NAL單元類型16,BLA_W_LP(具有前導圖片的BLA) ;17,BLA_W_DLP(具有可解碼前導圖片的BLA);;及18,BLA_N_LP (不具有前導圖片的BLA)。
[0073]在一實例中,視頻編碼器20可處理經指派以指示何時BLA圖片具有及不具有前導圖片的NAL單元類型。舉例來說,視頻編碼器20可根據多個不同網絡抽象層(NAL)單元類型中的一者來編碼圖片。所述多個NAL單元類型包含以下各者中的一或多者:(I)斷鏈存取(BLA)圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯前導圖片的BLA圖片;(2)BLA圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯的可解碼前導圖片的BLA圖片;及(3)BLA圖片的經譯碼切片,其中BLA圖片是在位流中不具有相關聯前導圖片的BLA圖片。
[0074]目的地裝置14可接收經編碼視頻數據。目的地裝置可經由鏈路16解碼所接收的數據。鏈路16可包括能夠將經編碼視頻數據從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在一個實例中,鏈路16可包括使源裝置12能夠實時地將經編碼視頻數據直接傳輸到目的地裝置14的通信媒體。可根據通信標準(諸如,無線通信協議)調制經編碼視頻數據,且將其發射至目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個物理傳輸線。通信媒體可能形成分組網絡(例如局域網、廣域網或全球網絡,例如因特網)的部分。通信媒體可包含路由器、交換器、基站或任何其它可以用于促進從源裝置12到目的地裝置14的通信的設備。
[0075]或者,可將經編碼資料從輸出接口 22輸出到存儲裝置34。類似地,可通過輸入接口從存儲裝置34存取經編碼數據。存儲裝置34可包含多種分布式或本地存取的數據存儲媒體中的任一者,例如硬盤驅動器、藍光光盤、DVD、CD-ROM、快閃存儲器、易失性或非易失性存儲器或用于存儲經編碼視頻數據的任何其它合適的數字存儲媒體。在另一實例中,存儲裝置34可對應于可保持由源裝置12產生的經編碼視頻的文件服務器或另一中間存儲裝置。目的地裝置14可從存儲裝置34經由流式傳輸或下載來存取所存儲的視頻數據。文件服務器可為能夠存儲經編碼視頻數據且將經編碼視頻數據發射到目的地裝置14的任何類型的服務器。實例文件服務器包含網絡服務器(例如,用于網站)、FTP服務器、網絡附接存儲(NAS)裝置及本地磁盤驅動器。目的地裝置14可以通過任何標準數據連接(包含因特網連接)來存取經編碼的視頻數據。這可包含適合于存取存儲于文件服務器上的經編碼的視頻數據的無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜調制解調器等)或兩者的組合。經編碼的視頻數據從存儲裝置34的發射可為流式發射、下載發射或兩者的組八口 ο
[0076]本發明的技術不必限于無線應用或設定。所述技術可應用于視頻譯碼以支持多種多媒體應用,例如空中電視廣播、有線電視發射、衛星電視發射、流式視頻傳輸(例如,經由因特網)、編碼視頻數據以存儲于數據存儲媒體上、解碼存儲于數據存儲媒體上的視頻數據,或其它應用。在一些實例中,系統10可經配置以支持單向或雙向視頻發射,以支持例如視頻串流、視頻回放、視頻廣播和/或視頻電話等應用。
[0077]在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口 22。在一些情況下,輸出接口 22可包含調制器/解調制器(調制解調器)及/或發射器。在源裝置12中,視頻源18可包含例如視頻俘獲裝置(例如攝像機)、包含先前俘獲的視頻的視頻存檔、用于從視頻內容提供者接收視頻的視頻饋入接口及/或用于產生計算機圖形數據作為源視頻的計算機圖形系統,或此類源的組合等源。作為一個實例,如果視頻源18是攝像機,那么源裝置12和目的地裝置14可以形成所謂的相機電話或視頻電話。然而,本發明中所描述的技術可大體上適用于視頻譯碼,且可應用于無線和/或有線應用。
[0078]可由視頻編碼器20編碼所俘獲視頻、預先俘獲的視頻或計算機產生的視頻。經編碼視頻數據可經由源裝置12的輸出接口 22直接發射到目的地裝置14。經編碼視頻數據還可(或替代地)存儲到存儲裝置34上以供稍后由目的地裝置14或其它裝置存取以用于解碼及/或回放。
[0079]目的地裝置14包含輸入接口 28、視頻解碼器30及顯示裝置32。在一些情況下,輸入接口 28可包含接收器及/或調制解調器。目的地裝置14的輸入接口 28經由鏈路16接收經編碼視頻數據。經由鏈路16傳達或在存儲裝置34上提供的經編碼視頻數據可包含由視頻編碼器20產生的多種語法元素以供由例如視頻解碼器30等視頻解碼器用于解碼視頻數據。此些語法元素可與在通信媒體上發射、存儲在存儲媒體上或存儲在文件服務器中的經編碼視頻數據包含在一起。
[0080]在一些實例中,目的地裝置14的視頻解碼器30可解碼在隨機存取點或流調適點(例如時間層切換點)之后的一或多個圖片。舉例來說,此可為用于調適位率、幀率(即,時間層切換點)或空間分辨率的切換點。這些圖片中的一或多者可為前導圖片。當發生從BLA或BLC圖片的隨機存取時,前導圖片無法正確地解碼。
[0081]在一實例中,為防止錯誤從取決于解碼開始處而可能不可用的參考圖片傳播,視頻解碼器30可不將在解碼次序及輸出次序兩者上先于BLA或BLC圖片的任何圖(其包含前導圖片)用作參考圖片。
[0082]在各種實例中,視頻解碼器30在解碼BLA或BLC圖片時可在解碼BLA圖片之前將DPB中的所有參考圖片標記為不用于參考。舉例來說,視頻解碼器30可將經解碼圖片緩沖器(DPB)中的參考圖片標記為不用于參考。
[0083]在另一實例中,編碼器20可在位流中包含且解碼器30可接收用于待解碼的BLA圖片的旗標或其它語法元素,例如no_output_of_pr1r_pics_flag。當等于I時,所述旗標指示DPB中的所有先前圖片都不輸出以用于顯示。明確地說,當no_output_of_pr1r_pics_flag等于I時,解碼器30清空經解碼圖片緩沖器中的所有圖片存儲緩沖器而不輸出其含有的圖片。在一些實例中,此旗標或語法元素可在熵解碼之前呈現于切片標頭中極靠前處,使得其可更容易地被解碼而不需要熵譯碼,且所述信息可在譯碼過程中較早地可用。舉例來說,由于例如不需要對no_output_of_pr1r_pics_flag進行熵解碼,使得較不復雜的裝置(例如MANE)可存取所述信息而不需要解碼器。
[0084]在另一實例中,視頻解碼器30可處理經指派以指示何時BLA或BLC圖片具有及不具有前導圖片的NAL單元類型。(再次,如上文所描述,BLA圖片在概念上與BLC圖片大體相同,相同之處在于BLA與BLC圖片表不斷鏈CRA圖片。)在一個實例中,視頻解碼器30可根據多個不同網絡抽象層(NAL)單元類型中的一者來解碼圖片。所述多個NAL單元類型包含以下各者中的一或多者:(I)斷鏈存取(BLA)圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯前導圖片的BLA圖片;(2)BLA圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯的可解碼前導圖片的BLA圖片;及(3)BLA圖片的經譯碼切片,其中BLA圖片是在位流中不具有相關聯前導圖片的BLA圖片。
[0085]在一些實例中,視頻解碼器30經配置以在其檢測到BLA NAL單元類型的情況下將所有參考圖片標記為不用于參考。如果解碼器30檢測到BLANAL單元類型,那么參考圖片不可有效地用于解碼BLA圖片或在解碼或輸出次序上在BLA圖片之后的任何圖片。
[0086]顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些實例中,目的地裝置14可包含集成顯示裝置,且還經配置以與外部顯示裝置介接。在其它實例中,目的地裝置14可為顯示裝置。一般來說,顯示裝置32將經解碼視頻數據顯示給用戶,且可包括多種顯示裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機發光二極管(OLED)顯示器或另一類型的顯示裝置。
[0087]視頻編碼器20和視頻解碼器30可根據視頻譯碼標準(例如目前正在開發的高效率視頻譯碼(HEVC)標準)來操作,且可符合HEVC測試模型(HM)。或者,視頻編碼器20和視頻解碼器30可以根據其它專有或業界標準來操作,所述標準例如是ITU-T H.264標準,也被稱為MPEG-4,第10部分,高級視頻譯碼(AVC),或此類標準的擴展。然而,本發明的技術不限于任何特定譯碼標準。視頻壓縮標準的其它實例包含MPEG-2和ITU-TH.263。
[0088]盡管圖1中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包含適當的多路復用器-多路分用器(MUX-DEMUX)單元或其它硬件及軟件,以處理對共同數據流或單獨數據流中的音頻與視頻兩者的編碼。在一些實例中,如果適用的話,多路復用器-多路分用器單元可以復合ITU H.223多路復用器協議,或例如用戶數據報協議(UDP)等其它協議。
[0089]視頻編碼器20和視頻解碼器30各自可實施為例如一或多個微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合等多種合適編碼器電路中的任一者。當部分地用軟件實施所述技術時,裝置可將用于所述軟件的指令存儲于合適的非暫時性計算機可讀媒體中且使用一或多個處理器用硬件執行所述指令以執行本發明的技術。視頻編碼器20及視頻解碼器30中的每一者可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應裝置中的組合編碼器/解碼器(編解碼器)的部分。
[0090]JCT-VC正在努力開發HEVC標準。所述HEVC標準化努力是基于被稱作HEVC測試模型(麗)的視頻譯碼裝置的進化的模型。HM假設視頻譯碼裝置根據例如ITU-TH.264/AVC相對于現存裝置的幾個額外能力。舉例來說,雖然H.264提供了九種幀內預測編碼模式,但是HM可提供多達三十三種幀內預測編碼模式。
[0091]總的來說,HM的工作模型描述視頻幀或圖片可以分成包含明度和色度樣本兩者的一連串樹塊或最大譯碼單元(LCU)。樹塊具有與H.264標準的宏塊類似的目的。切片包含譯碼次序的多個連續樹塊。視頻幀或圖片可以分割成一或多個切片。每一樹塊可以根據四叉樹分裂成譯碼單元(CU)。舉例來說,作為四叉樹的根節點的樹塊可分裂成四個子節點,且每一子節點又可為父節點且可分裂成另外四個子節點。最終的未分裂子節點(為四叉樹的葉節點)包括譯碼節點,即經譯碼視頻塊。與經譯碼位流相關聯的語法數據可界定樹塊可分裂的最大次數,且還可界定譯碼節點的最小大小。
[0092]CU包含譯碼節點和與所述譯碼節點相關聯的預測單元(PU)和變換單元(TU)。CU的大小對應于譯碼節點的大小并且形狀必須是正方形。CU的大小可以從8x8像素到具有最大64x64像素或更大的樹塊的大小變動。每一⑶可含有一或多個I3U及一或多個TU。舉例來說,與CU相關聯的語法數據可描述CU到一或多個I3U的分割。分割模式可以在CU被跳過或經直接模式編碼、幀內預測模式編碼或幀間預測模式編碼之間有區別。PU可以分割成非正方形形狀。舉例來說,與CU相關聯的語法數據還可描述CU根據四叉樹到一或多個TU的分割。TU可為正方形或非正方形形狀。
[0093]HEVC標準允許根據TU變換,TU可以針對不同⑶而有所不同。TU的大小通常是基于針對經分割LCU定義的給定CU內的PU的大小而確定,但是情況可能并不總是如此。TU通常與PU大小相同或小于HJ。在一些實例中,對應于⑶殘余樣本可以使用一種被稱為“殘余四叉樹”(RQT)的四叉樹結構細分成較小單元。RQT的葉節點可被稱為變換單元(TU)。可以變換與TU相關聯的像素差值以產生變換系數,所述變換系數可以經量化。
[0094]一般來說,PU包含與預測過程有關的數據。舉例來說,當經幀內模式編碼時,PU可包括描述的幀內預測模式的數據。作為另一實例,當PU經幀間模式編碼時,PU可包括界定PU的運動向量的數據。舉例來說,定義PU的運動向量的數據可以描述運動向量的水平分量、運動向量的垂直分量、運動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動向量指向的參考圖片和/或運動向量的參考圖片列表(例如,列表O、列表I或列表C)。
[0095]一般來說,TU用于變換及量化過程。具有一或多個的給定⑶還可包含一或多個變換單元(TU)。在預測之后,視頻編碼器20可計算對應于PU的殘余值。殘余值包括像素差值,所述像素差值可變換成變換系數、經量化且使用TU進行掃描以產生串行化變換系數用于熵譯碼。本發明通常使用術語“視頻塊”來指⑶的譯碼節點。在一些特定情況下,本發明還可使用術語“視頻塊”來指包含譯碼節點以及PU及TU的樹塊,即LCU或CU。
[0096]視頻序列通常包含一系列視頻幀或圖片。圖片群組(GOP) —般包括一系列一或多個視頻圖片。GOP可包含GOP的標頭、圖片中的一或多者的標頭或其它地方中的語法數據,其描述GOP中包含的圖片的數目。圖片的每一切片可包含切片語法數據,其描述用于相應切片的編碼模式。視頻編碼器20通常對各個視頻切片內的視頻塊進行操作以便編碼視頻數據。視頻塊可以對應于CU內的譯碼節點。視頻塊可以具有固定或變化的大小,并且根據指定譯碼標準可以有不同大小。
[0097]作為一實例,HM支持各種I3U大小的預測。假設特定⑶的大小是2Nx2N,則HM支持2Nx2N或NxN的PU大小的幀內預測,及2Nx2N、2NxN、Nx2N或NxN的對稱I3U大小的幀間預測。HM還支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的幀間預測的不對稱分割。在不對稱分割中,不分割⑶的一個方向,而另一方向分割成25 %及75 %。⑶的對應于25 %分區的部分由“η”繼之以“上方(U)”、“下方(D)”、“左側(L)”或“右側(R)”指示來指示。因而,舉例來說,“2NxnU”是指水平地分割的2Νχ2Ν⑶,其中上方有2ΝχΟ.5Ν PU,而下方有2Νχ1.5Ν PU。
[0098]在本發明中,“ΝχΝ”與“N乘N”可以互換使用來指代在垂直和水平尺寸方面的視頻塊的像素尺寸,例如,16x16像素或16乘16像素。一般來說,16x16塊將在垂直方向上具有16個像素(y = 16),并且在水平方向上具有16個像素(x = 16)。同樣,NxN塊總體上在垂直方向上具有N個像素,并且在水平方向上具有N個像素,其中N表示非負整數值。一塊中的像素可布置成若干行和若干列。此外,塊未必需要在水平方向與垂直方向上具有相同數目的像素。舉例來說,塊可包括NxM像素,其中M未必等于N。
[0099]在使用CU的PU的幀內預測性或幀間預測性譯碼之后,視頻編碼器20可以計算⑶的TU的殘余數據。可包括空間域(還稱為像素域)中的像素數據,且TU在將變換應用到殘余視頻數據之后可包括變換域中的系數,所述變換例如離散余弦變換(DCT)、整數變換、小波變換或概念上類似的變換。所述殘余數據可以對應于未編碼圖片的像素與對應于PU的預測值之間的像素差。視頻編碼器20可以形成包含用于CU的殘余數據的TU,并且接著變換TU以產生用于CU的變換系數。
[0100]在任何用于產生變換系數的變換之后,視頻編碼器20可以執行變換系數的量化。量化大體上是指變換系數經量化以可能減少用于表示系數的數據量從而提供進一步壓縮的過程。量化過程可減少與系數中的一些或全部相關聯的位深度。舉例來說,η位值可在量化期間被下舍入到m位值,其中η大于m。
[0101]在一些實例中,視頻編碼器20可以利用預定義掃描次序來掃描經量化變換系數以產生可被熵編碼的串行化向量。在其它實例中,視頻編碼器20可以執行自適應掃描。在掃描經量化變換系數以形成一維向量之后,視頻編碼器20可例如根據上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、基于語法的上下文自適應二進制算術譯碼(SBAC)、概率區間分割熵(PIPE)譯碼或另一熵編碼方法對所述一維向量進行熵編碼。視頻編碼器還20可對與經編碼的視頻數據相關聯的語法元素進行熵編碼以供視頻解碼器30在對視頻數據解碼時使用。
[0102]為了執行CABAC,視頻編碼器20可以向待發射的符號指派上下文模型內的一個上下文。舉例來說,所述上下文可以涉及符號的相鄰值是否為非零。為了執行CAVLC,視頻編碼器20可以選擇用于待發射的符號的可變長度碼。VLC中的碼字可經建構而使得相對短的代碼對應于更有可能的符號,而較長的代碼對應于不太可能的符號。以此方式,使用VLC可以舉例來說實現優于對待發射的每一符號使用等長碼字的位節省。概率確定可基于指派給符號的上下文。
[0103]圖2是說明可實施本發明中所描述的用于譯碼斷鏈RAP圖片的技術的實例視頻編碼器20的框圖。視頻編碼器20可以對視頻切片內的視頻塊執行幀內和幀間譯碼。幀內譯碼依賴于空間預測來減少或移除給定視頻幀或圖片內的視頻中的空間冗余。幀間譯碼依賴于時間預測來減少或移除視頻序列的鄰接幀或圖片內的視頻中的時間冗余。幀內模式(I模式)可以指若干基于空間壓縮模式中的任一者。例如單向預測(P模式)或雙向預測(B模式)等幀間模式可以指代若干基于時間的壓縮模式中的任一者。
[0104]在圖2的實例中,視頻編碼器20包含分割模塊35、預測模塊41、濾波器模塊63、參考圖片存儲器64、求和器50、變換模塊52、量化模塊54,及熵編碼模塊56。預測模塊41包含運動估計模塊42、運動補償模塊44,和幀內預測模塊46。為了視頻塊重構,視頻編碼器20還包括反量化模塊58、反變換模塊60和求和器62。濾波器模塊63既定表不一或多個環路濾波器,例如解塊濾波器、自適應環路濾波器(ALF)和樣本自適應偏移(SAO)濾波器。盡管濾波器模塊63在圖2中說明為環內濾波器,但在其它配置中,濾波器模塊63可實施為環后濾波器(post loop filter)。
[0105]如圖2中所說明,視頻編碼器20接收視頻數據,且分割模塊35可以將所述數據分割成視頻塊。此分割還可包含分割成切片、瓦片或其它較大單元,以及視頻塊分割(例如根據LCU及CU的四叉樹結構)。視頻編碼器20大體上說明編碼待編碼視頻切片內的視頻塊的組件。所述切片可以劃分成多個視頻塊(且可能劃分成被稱作瓦片的視頻塊集合)。預測模塊41可基于錯誤結果(例如,譯碼速率及失真等級)針對當前視頻塊選擇多種可能譯碼模式中的一者,例如多種巾貞內譯碼模式中的一者或多種巾貞間譯碼模式中的一者。預測模塊41可將所得經幀內或幀間譯碼塊提供到求和器50以產生殘余塊數據,且提供到求和器62以重建經編碼塊以用作參考圖片。
[0106]如上文所論述,在一些情況下,視頻編碼器20可編碼隨機存取點或流調適點(例如,時間層切換點),例如BLA或BLC圖片。舉例來說,所述編碼可發生在熵編碼模塊56內,所述熵編碼模塊56可執行熵編碼及非熵編碼兩者。這些圖片中的一或多者可為CRA圖片的前導圖片。如果解碼從當前CRA圖片之前的RAP圖片開始,那么CRA圖片的前導圖片可被正確地解碼。然而,在出現從CRA圖片的隨機存取時,CRA圖片的前導圖片無法被正確地解碼。舉例來說,前導圖片可指向不可用的用于預測參考的塊。因此,前導圖片可能不能在視頻解碼器30解碼。因此,通常在隨機存取解碼期間丟棄這些前導圖片。
[0107]在一實例中,視頻編碼器20可在切片標頭中提供旗標,例如no_output_of_pr1r_pics_flag或語法元素,使得不輸出DPB中的先前圖片中的任一者,即,在BLA或BLC圖片之前的圖片。在一些實例中,此旗標(或語法元素)可在熵編碼之前處于切片標頭中靠前處,使得其可例如在解碼器30處更容易地被解碼且所述信息可在譯碼過程中較早地可用。所述語法元素或旗標可由熵編碼模塊56 (其可執行非熵編碼)編碼在例如BLA或BLC圖片的切片標頭中。此對于例如MANE等中間裝置可為有用的,使得由語法元素或旗標提供的所述信息可以在不熵解碼的情況下可用于中間裝置,但其還可有助于解碼器在熵解碼之前存取此類信息。
[0108]舉例來說,視頻編碼器20 (例如,熵編碼模塊56)可包含語法元素,所述語法元素指示圖片存儲緩沖器被清空而不從圖片存儲緩沖器輸出任何圖片。所述語法元素在設定時可致使在解碼次序上在當前圖片之前且在解碼所述當前圖片時駐留在圖片存儲緩沖器中的圖片從圖片存儲緩沖器清空而不輸出。在一些實例中,所述語法元素可為多個語法元素中的一者。另外,所述多個語法元素可包含經熵譯碼切片標頭語法元素及非熵譯碼切片標頭語法元素。在一實例中,指示圖片存儲緩沖器被清空而不從圖片存儲緩沖器輸出任何圖片的語法元素在任何經熵譯碼切片標頭語法元素之前包含在切片標頭中,使得所述語法元素自身未被熵譯碼。
[0109]在一些實例中,所述語法元素可為no_output_of_pr1r_pics_f lag且no_output_of_pr1r_pics_flag 可包含于緊接在 first_slice_in_pic_flag 之后的切片標頭中。first_slice_in_pic_flag可為指示切片是否在解碼次序上是圖片的第一切片的旗標。
[0110]在一實例中,視頻編碼器20可經配置以包含經指派以指示BLA或BLC圖片何時具有且不具有前導圖片的NAL單元類型。舉例來說,在一個標準中,包含NAL單元類型16,BLA_W_LP(具有前導圖片的BLA) ;17,BLA_W_DLP(具有可解碼前導圖片的BLA);以及18,BLA_N_LP (不具有前導圖片的BLA)。這些NAL單元類型可由熵編碼模塊56 (其可執行非熵編碼)編碼。因此,基于NAL單元類型,解碼器可知曉BLA圖片何時具有前導圖片及前導圖片何時不可解碼,例如,在解碼從較靠前的RAP圖片開始時。因此,此信息可能用于確定前導圖片何時可被標記為不用于參考,其可觸發解碼器將經解碼圖片緩沖器中的參考圖片標記為不用于參考。
[0111]預測模塊41內的幀內預測模塊46可相對于與待譯碼當前塊在相同的幀或切片中的一或多個相鄰塊執行當前視頻塊的幀內預測性譯碼,以提供空間壓縮。預測模塊41內的運動估計模塊42及運動補償模塊44相對于一或多個參考圖片中的一或多個預測塊執行當前視頻塊的幀間預測性譯碼以提供時間壓縮。
[0112]運動估計模塊42可經配置以根據用于視頻序列的預定模式為視頻切片確定幀間預測模式。預定模式可將序列中的視頻切片標明為P切片、B切片或GPB切片。運動估計模塊42與運動補償模塊44可以高度集成,但出于概念目的分開加以說明。運動估計模塊42執行的運動估計是產生運動向量的過程,所述過程估計視頻塊的運動。舉例來說,運動向量可以指示當前視頻幀或圖片內的視頻塊的PU相對于參考圖片內的預測性塊的位移。
[0113]預測性塊是被發現在像素差方面與待譯碼視頻塊的密切匹配的塊,像素差可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異度量來確定。在一些實例中,視頻編碼器20可以計算存儲在參考圖片存儲器64中的參考圖片的子整數像素位置的值。舉例來說,視頻編碼器20可以內插四分之一像素位置、八分之一像素位置或參考圖片的其它分數像素位置的值。因此,運動估計模塊42可以相對于整數像素位置和分數像素位置執行運動搜索并且輸出具有分數像素精確度的運動向量。
[0114]運動估計模塊42通過比較PU的位置與參考圖片的預測性塊的位置來計算用于經幀間譯碼切片中的視頻塊的PU的運動向量。參考圖片可以選自第一參考圖片列表(列表O)或第二參考圖片列表(列表I),其中的每一者識別存儲在參考圖片存儲器64中的一個或一個以上參考圖片。運動估計模塊42將所計算的運動向量發送到熵編碼模塊56和運動補償模塊44。
[0115]由運動補償模塊44執行的運動補償可以涉及基于通過運動估計(可能執行對子像素精確度的內插)確定的運動向量取出或產生預測性塊。在接收到當前視頻塊的PU的運動向量后,運動補償1旲塊44即刻可以在參考圖片列表中的一者中定位所述運動向量指向的預測性塊。視頻編碼器20通過從正被譯碼的當前視頻塊的像素值減去預測性塊的像素值從而形成像素差值來形成殘余視頻塊。像素差值形成用于所述塊的殘余數據,并且可包含明度和色度差分量兩者。求和器50表示執行此減法運算的組件。運動補償模塊44還可產生與視頻塊和視頻切片相關聯的供視頻解碼器30在對視頻切片的視頻塊進行解碼時使用的語法元素。
[0116]幀內預測模塊46可對當前塊進行幀內預測,以作為對如上文所描述的由運動估計模塊42和運動補償模塊44執行的幀間預測的替代。明確地說,幀內預測模塊46可以確定用來對當前塊進行編碼的幀內預測模式。在一些實例中,幀內預測模塊46可以例如在分開的編碼編次期間使用各種幀內預測模式對當前塊進行編碼,并且幀內預測模塊46 (或在一些實例中為模式選擇模塊40)可以從所述測試模式中選擇適當幀內預測模式來使用。舉例來說,幀內預測模塊46可以使用速率失真分析計算用于各種經測試幀內預測模式的速率失真值,并且從所述經測試模式當中選擇具有最佳速率失真特性的幀內預測模式。速率失真分析總體上確定經編碼塊與經編碼以產生所述經編碼塊的原始未編碼塊之間的失真(或誤差)的量,以及用于產生經編碼塊的位速率(也就是說,位數目)。幀內預測模塊46可以根據用于各種經編碼塊的失真和速率計算比率,以確定哪個幀內預測模式對于所述塊展現最佳速率失真值。
[0117]在任何狀況下,在選擇用于塊的幀內預測模式之后,幀內預測模塊46可將指示用于塊的所選幀內預測模式的信息提供到熵編碼模塊56。熵編碼模塊56可根據本發明的技術編碼指示所選幀內預測模式的信息。視頻編碼器20可在所發射的位流中包含配置數據。所述位流可包含多個幀內預測模式索引表和多個經修改的幀內預測模式索引表(還稱為碼字映射表)、用于各種塊的編碼上下文的定義,以及用于上下文中的每一者的最可能幀內預測模式、幀內預測模式索引表和經修改的幀內預測模式索引表的指示。
[0118]在預測模塊41經由幀間預測或幀內預測產生用于當前視頻塊的預測性塊之后,視頻編碼器20通過從當前視頻塊減去所述預測性塊而形成殘余視頻塊。殘余塊中的殘余視頻數據可包含在一或多個TU中且應用到變換模塊52。變換模塊52使用例如離散余弦變換(DCT)或概念上類似的變換的變換將殘余視頻數據變換成殘余變換系數。變換模塊52可將殘余視頻數據從像素值域轉換到變換域,例如頻域。
[0119]變換模塊52可以將所得變換系數發送到量化模塊54。量化模塊54對殘余變換系數進行量化以進一步降低位速率。量化過程可減少與系數中的一些或全部相關聯的位深度。可通過調整量化參數來修改量化程度。在一些實例中,量化模塊54可以接著執行對包含經量化變換系數的矩陣的掃描。或者,熵編碼模塊56可以執行所述掃描。
[0120]在量化之后,熵編碼模塊56對經量化變換系數進行熵編碼。舉例來說,熵編碼模塊56可執行上下文自適應可變長度譯碼(CAVLC)、上下文自適應二進制算術譯碼(CABAC)、基于語法的上下文自適應二進制算術譯碼(SBAC)、概率區間分割熵(PIPE)譯碼或另一熵譯碼方法或技術。在熵編碼模塊56進行的熵編碼之后,可將經編碼位流發射到視頻解碼器30,或將經編碼位流存檔以供稍后發射或由視頻解碼器30檢索。熵編碼模塊56還可對正被編碼的當前視頻切片的運動向量和其它語法元素進行熵編碼。
[0121]反量化模塊58和反變換模塊60分別應用反量化和反變換以在像素域中重建構殘余塊以供稍后用作參考圖片的參考塊。運動補償模塊44可以通過將殘余塊添加到參考圖片列表中的一者內的參考圖片中的一者的預測性塊中來計算參考塊。運動補償模塊44還可將一或多個內插濾波器應用于所重建的殘余塊以計算子整數像素值用于運動估計。求和器62將經重建的殘余塊相加到由運動補償模塊44產生的運動補償預測塊以產生參考塊用于存儲在參考圖片存儲器64中。參考塊可由運動估計模塊42和運動補償模塊44用作參考塊以對后續視頻幀或圖片中的塊進行幀間預測。
[0122]圖2的視頻編碼器20表示經配置以編碼用以根據本發明的技術指示在解碼次序上在BLA圖片之前的參考圖片不可用作參考圖片的旗標或其它語法元素的視頻編碼器的實例。
[0123]圖3是說明可基于上文所描述的斷鏈RAP圖片實施針對流調適和剪接的增強支持所描述的技術的實例視頻解碼器30的框圖。在圖3的實例中,視頻解碼器30包含熵解碼模塊80、預測模塊81、反量化模塊86、反變換模塊88、求和器90、濾波器模塊91及參考圖片存儲器92。預測模塊81包含運動補償模塊82和幀內預測模塊84。在一些實例中,視頻解碼器30可執行與關于來自圖2的視頻編碼器20描述的編碼遍次大體上互逆的解碼遍次。
[0124]在解碼過程期間,視頻解碼器30從視頻編碼器20接收表示經編碼視頻切片的視頻塊和相關聯語法元素的經編碼視頻位流。視頻解碼器30可從網絡實體29接收經編碼視頻位流。網絡實體29可例如為服務器、媒體感知網絡元件(MANE)、視頻編輯器/剪接器,或經配置以實施上文所描述的技術中的一或多者的其它此類裝置。網絡實體39可包含或可不包含視頻編碼器20。如上文所描述,本發明中所描述的技術中的一些可在網絡29將經編碼經編碼視頻位流發射到視頻解碼器30之前由網絡實體29實施。在一些視頻解碼系統中,網絡實體29及視頻解碼器30可為單獨裝置的部分,而在其它情況下,關于網絡實體29描述的功能性可由包括視頻解碼器30的相同裝置執行。
[0125]如上文所論述,在一些實例中,視頻解碼器30可解碼例如BLA圖片等斷鏈RAP圖片,或在隨機存取點或流調適點(例如時間層切換點)之后的圖片,例如前導圖片。當發生從斷鏈RAP圖片的隨機存取時,前導圖片無法正確地解碼。
[0126]在一實例中,為防止錯誤從取決于解碼開始處而可能不可用的參考圖片傳播,視頻解碼器30可不將在解碼次序及輸出次序兩者上先于斷鏈RAP圖片的任何圖片(其包含前導圖片)用作參考圖片。舉例來說,預測模塊81可不將參考圖片存儲器92中存儲的在解碼次序或輸出次序上先于斷鏈RAP圖片的任何圖片(其包含前導圖片)用作參考圖片。
[0127]在各種實例中,視頻解碼器30在解碼BLA圖片之前可將DPB中的所有參考圖片標記為不用于參考。舉例來說,可執行熵和非熵解碼的熵解碼模塊80可將參考圖片存儲器92 (有時被稱作經解碼圖片緩沖器(DPB))中的參考圖片標記為不用于參考。視頻解碼器30 (例如熵解碼模塊80)可確定當前圖片為BLA或BLC圖片,且在解碼BLA或BLC圖片之前將圖片存儲緩沖器中的參考圖片標記為不用于參考。確定當前圖片為BLA或BLC圖片可包含確定當前圖片為CRA圖片以及確定當前圖片為RAP圖片。在當前圖片為CRA圖片和RAP圖片兩者時,當前CRA圖片為BLA圖片。在一些實例中,解碼器30的此確定可以基于圖片具有BLA NAL單元類型來進行。
[0128]在另一實例中,在解碼BLA圖片時,解碼器30可在經編碼位流中接收旗標或語法元素,例如no_output_of_pr1r_pics_flag,使得不輸出DPB中的先前圖片中的任一者。在一些實例中,此旗標可在熵解碼之前呈現在BLA圖片的切片的切片標頭中較靠前處,使得其可更容易地被解碼且所述信息在譯碼過程中較早地可用。所述旗標或語法元素可由熵解碼模塊80 (其可執行熵解碼及非熵解碼兩者)解碼。在熵編碼之前將旗標或其它語法元素放入切片標頭中靠前處可允許較不復雜的裝置(例如,MANE)存取所述信息而不需要熵解碼器,這是因為(例如)不需要將no_output_of_pr1r_pics_flag熵解碼。
[0129]在一實例中,視頻解碼器30可將語法元素(例如,no_output_of_pr1r_pics_flag)放置在位流中以供解碼器接收。所述語法元素可指示圖片存儲緩沖器被清空而不從圖片存儲緩沖器輸出任何圖片。所述語法元素在設定時可致使在解碼次序中在當前圖片之前且在解碼所述當前圖片時駐留在圖片存儲緩沖器中的圖片從圖片存儲緩沖器被清空而不輸出。在一些實例中,所述語法元素可為多個語法元素中的一者。另外,所述多個語法元素可包含一或多個經熵譯碼切片標頭語法元素及一或多個非熵譯碼切片標頭語法元素。在一實例中,指示圖片存儲緩沖器被清空而不從圖片存儲緩沖器輸出任何圖片的語法元素被包含于任何經熵譯碼切片標頭語法元素之前(例如,在任何ue (V)元素之前)的切片標頭中(例如,作為U(I)元素)。在一些實例中,所述語法元素可為no_output_of_pr1r_pics_flag 且 no_output_of_pr1r_pics_flag 可包含于切片標頭中,緊接在 first_slice_in_pic_flag之后且在任何經熵譯碼元素之前。first_slice_in_pic_flag可為指示切片是否在解碼次序中是圖片的第一切片的旗標。
[0130]在另一實例中,視頻解碼器30可處理經指派以指示何時BLA圖片具有及不具有前導圖片的NAL單元類型。視頻解碼器30可經配置以包含經指派以指示何時BLA圖片具有及不具有前導圖片的NAL單元類型。舉例來說,可執行熵解碼及非熵解碼的熵解碼模塊80可處理所述NAL單元類型。
[0131 ] 在一個實例中,視頻解碼器30 (例如,熵解碼模塊80)可根據多個不同的網絡抽象層(NAL)單元類型中的一者來解碼圖片。所述多個NAL單元類型包含以下各者中的一或多者:(1)斷鏈存取(BLA)圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯前導圖片的BLA圖片;(2)BLA圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯的可解碼前導圖片的BLA圖片;及(3)BLA圖片的經譯碼切片,其中BLA圖片是在位流中不具有相關聯前導圖片的BLA圖片。在一實例中,所述前導圖片包括在顯示次序中先于隨機存取圖片(RAP)但在解碼次序中在所述隨機存取圖片之后的圖片。
[0132]視頻解碼器30的熵解碼模塊80對位流進行熵解碼以產生經量化系數、運動向量和其它語法元素。熵解碼模塊80將運動向量及其它語法元素轉發到預測模塊81。視頻解碼器30可在視頻切片層級和/或視頻塊層級接收語法元素。
[0133]當視頻切片經譯碼為經幀內譯碼(I)切片時,預測模塊81的幀內預測模塊84可以基于發信號通知的幀內預測模式和來自當前幀或圖片的先前經解碼塊的數據產生用于當前視頻切片的視頻塊的預測數據。當視頻幀經譯碼為經幀間譯碼(即,B、P或GPB)切片時,預測模塊81的運動補償模塊82基于從熵解碼模塊80接收到的運動向量和其它語法元素產生用于當前視頻切片的視頻塊的預測參考塊。所述預測參考塊可從參考圖片列表中的一者內的參考圖片中的一者產生。視頻解碼器30可以基于存儲在參考圖片存儲器92中的參考圖片使用默認建構技術建構參考幀列表一列表O和列表I。
[0134]運動補償模塊82通過剖析運動向量及其它語法元素確定用于當前視頻切片的視頻塊的預測信息,且使用所述預測信息產生用于經解碼的當前視頻塊的預測參考塊。舉例來說,運動補償模塊82使用一些接收到的語法元素確定用于對視頻切片的視頻塊進行譯碼的預測模式(例如,幀內預測或幀間預測)、幀間預測切片類型(例如,B切片、P切片或GPB切片)、切片的參考圖片列表中的一者或一者以上的建構信息、切片的每一經幀間編碼的視頻塊的運動向量、切片的每一經幀間譯碼的視頻塊的幀間預測狀態和用以對當前視頻切片中的視頻塊進行解碼的其它信息。當DPB中的圖片被標記為不用于參考時,不存在參考圖片可用。因此,視頻解碼器30將不能夠參考用于幀間預測的先前參考圖片來解碼前導圖片。
[0135]運動補償模塊82還可基于內插濾波器執行內插。運動補償模塊82可使用由視頻編碼器20在視頻塊的編碼期間使用的內插濾波器來計算參考塊的子整數像素的內插值。在此情況下,運動補償模塊82可根據所接收的語法元素而確定由視頻編碼器20使用的內插濾波器且使用所述內插濾波器來產生預測參考塊。
[0136]反量化模塊86將在位流中提供且由熵解碼模塊80解碼的經量化變換系數反量化,即去量化。反量化過程可包含使用由視頻編碼器20針對視頻切片中的每一視頻塊計算的量化參數以確定應應用的量化程度及同樣確定應應用的反量化程度。反變換模塊88對變換系數應用反變換,例如反DCT、反整數變換或概念上類似的反變換過程,以便產生像素域中的殘余塊。
[0137]在運動補償模塊82基于運動向量和其它語法元素產生了當前視頻塊的預測性塊之后,視頻解碼器30通過將來自逆變換模塊88的殘余塊與運動補償模塊82產生的對應預測參考塊求和來形成經解碼視頻塊。求和器90表示可以執行此求和運算的組件。如果需要,還可使用環路濾波器(在譯碼環路中或在譯碼環路之后)來使像素轉變變平滑或者以其它方式改善視頻質量。濾波器模塊91既定表示一或多個環路濾波器,例如解塊濾波器、自適應環路濾波器(ALF)和樣本自適應偏移(SAO)濾波器。盡管濾波器模塊91在圖3中說明為環內濾波器,但在其它配置中,濾波器模塊91可實施為環后濾波器。接著將給定幀或圖片中的經解碼視頻塊存儲在參考圖片存儲器92中,參考圖片存儲器92存儲參考圖片用于后續運動補償。參考圖片存儲器92還存儲經解碼視頻用于以后在顯示裝置(例如圖1的顯示裝置32)上呈現。
[0138]以此方式,圖3的視頻解碼器30表示經配置以解碼根據本發明的技術譯碼的參數集ID的視頻解碼器的實例。
[0139]圖4是說明形成網絡100的部分的一組實例裝置的框圖。在此實例中,網絡10包含路由裝置104A、104B (路由裝置104)和轉碼裝置106。路由裝置104及轉碼裝置106既定表示可形成網絡100的部分的少數裝置。例如交換器、集線器、網關、防火墻、橋接器及其它此些裝置的其它網絡裝置也可包含在網絡100內。此外,可沿著服務器裝置102與客戶端裝置108之間的網絡路徑提供額外網絡裝置。在一些實例中,服務器裝置102可對應于源裝置12 (圖1),而客戶端裝置108可對應于目的地裝置14 (圖1)。
[0140]一般來說,路由裝置104實施一或多個路由協議以經由網絡100交換網絡數據。在一些實例中,路由裝置104可經配置以執行代理或快取存儲器操作。因此,在一些實例中,路由裝置104可被稱為代理裝置。一般來說,路由裝置104執行路由協議以經由網絡100發現路線。通過執行此些路由協議,路由裝置104B可發現從自身經由路由裝置104A到服務器裝置102的網絡路線。
[0141]可通過例如路由裝置104和轉碼裝置106等網絡裝置實施本發明的技術,并且可通過客戶端裝置108實施本發明的技術。以此方式,路由裝置104、轉碼裝置106和客戶端裝置108表示經配置以執行本發明的技術的裝置的實例。此外,圖1的裝置以及圖2中所說明的編碼器和圖3中所說明的解碼器也為可經配置以執行本發明的技術的示范性裝置。
[0142]舉例來說,服務器裝置102可包含編碼器以編碼在隨機存取點或流調適點(例如時間層切換點)或其它流調適點之后的一或多個圖片。舉例來說,此可為用于調適位率、幀率(即,時間層切換點)或空間分辨率的切換點。類似地,客戶端裝置108可解碼在隨機存取點或流調適點(例如,時間層切換點)之后的一或多個圖片。再次,此可為用于調適位率、幀率(即,時間層切換點)或空間分辨率的切換點。這些圖片中的一或多者可為前導圖片。當出現從BLA圖片的隨機存取時,前導圖片無法在客戶端裝置108處正確地解碼。
[0143]在一實例中,為防止錯誤從取決于解碼開始處而可能不可用的參考圖片傳播,客戶端裝置108可不將存儲在經解碼圖片緩沖器(DPB)中的在解碼次序及輸出次序兩者上先于BLA圖片的圖片(其包含前導圖片)用作參考圖片。
[0144]在各種實例中,客戶端裝置108可在解碼BLA圖片之前將DPB中的所有參考圖片標記為不用于參考。舉例來說,客戶端裝置108可將解碼圖片緩沖器(DPB)中的參考圖片標記為不用于參考。
[0145]在另一實例中,服務器裝置102、客戶端裝置108或兩者可在切片標頭中包含語法元素或旗標,且將所述旗標(例如no_output_of_pr1r_pics_flag)編碼于位流中,以使得DPB中的所有先前圖片都不由視頻解碼器30處理以解碼前導圖片或從DPB輸出以(例如)供呈現在監視器上。在一些實例中,此旗標可在熵解碼之前位于切片標頭中靠前處,使得其可更容易地被解碼且所述信息在譯碼過程中較早地可用。在一實例中,這些網絡元件裝置中的一者可在例如需要剪接或信道切換或流調適(例如時間層切換)時將CRA轉換為BLA。使得旗標可在不進行熵譯碼的情況下加以存取允許不能進行熵解碼的網絡元件存取所述旗標。
[0146]所述多個NAL單元類型包含以下各者中的一或多者:(I)斷鏈存取(BLA)圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯前導圖片的BLA圖片;(2)BLA圖片的經譯碼切片,其中BLA圖片是具有位流中的相關聯的可解碼前導圖片的BLA圖片;及(3)BLA圖片的經譯碼切片,其中BLA圖片是在位流中不具有相關聯前導圖片的BLA圖片。在一實例中,所述前導圖片包括在顯示次序上先于隨機存取圖片(RAP)但在解碼次序上在所述隨機存取圖片之后的圖片。
[0147]在各種實例中,構成網絡100的路由裝置104A、104B和轉碼裝置106還可對在隨機存取點或流調適點(例如時間層切換點)之后的圖片執行一些處理。舉例來說,此可為用于調適位率、幀率(即,時間層切換點)或空間分辨率的切換點。如上文所論述,這些圖片中的一或多者可為無法正確地解碼的前導圖片。
[0148]在一實例中,路由裝置104A、104B和轉碼裝置106中的一或多者可不將在解碼次序或輸出次序上先于CRA圖片的任何圖片(其包含前導圖片)用作參考圖片。在另一實例中,路由裝置104A、104B和轉碼裝置106中的一或多者可在解碼BLA圖片之前將DPB中的所有參考圖片標記為不用于參考。舉例來說,路由裝置104AU04B和轉碼裝置106中的一或多者可將經解碼圖片緩沖器(DPB)中的參考圖片標記為不用于參考。在另一實例中,路由裝置104AU04B和轉碼裝置106或流式傳輸服務器中的一或多者可使用旗標(例如no_output_of_pr1r_pics_flag)以使得DPB中的所有先前圖片都不輸出。另外,路由裝置104AU04B和轉碼裝置106可處理經指派以指示BLA圖片何時具有和不具有前導圖片的NAL單元類型。
[0149]圖5是說明根據本發明中描述的技術的實例的圖。圖5說明前導圖片可解碼與不可解碼時的情況的實例。前導圖片的可解碼性可基于預測性塊的位置。另外,前導圖片的可解碼性可基于當前CRA圖片為不是BLA圖片的CRA圖片還是當前CRA圖片為還是BLA圖片的CRA圖片。(BLA圖片為CRA圖片的子組。)
[0150]圖5的部分200說明呈解碼次序的一系列圖片。最初,例如視頻解碼器30(圖1和3)或客戶端裝置108(圖4)可將位置202處的RAP圖片解碼為視頻序列中的第一圖片。視頻解碼器30或客戶端裝置108可接著解碼位置204處的可充當參考圖片的圖片或圖片的部分。如圖5中所示,位置204在解碼次序上為參考圖片的可能位置。如果參考圖片位于位置204處,且位置206處的圖片為不是BLA圖片的CRA圖片,那么位置208處的前導圖片將可解碼。相反,如果參考圖片位于位置204處且位置206處的圖片為還是BLA圖片的CRA圖片,那么位置208處的前導圖片將不可解碼。(BLA圖片為CRA圖片的子組。)
[0151]如果位置202處的RAP圖片為RAP圖片(在此處,解碼開始)且位置206處的當前CRA圖片不是BLA圖片,那么如上文所描述,位置208處的前導圖片可解碼。相反,如果位置206處的當前CRA圖片為RAP,那么位置206處的當前CRA圖片還是BLA圖片,且位置208處的前導圖片不可解碼。這是因為位置204處的預測性塊不可用于為位置206處的當前CRA圖片的BLA圖片。因此,位置204處的預測性塊可(I)標記為不用于參考,且(2)no_output_of_pr1r_pics_flag可指示先前圖片(直到且包含位置208處的前導圖片)不應被輸出。
[0152]如圖5中所示,位置210在解碼次序上為參考圖片的另一可能位置。如果參考圖片位于位置210處,那么位置208處的前導圖片將可解碼。
[0153]圖5的部分212說明呈輸出次序的一系列圖片。最初,視頻解碼器30(圖1和3)或客戶端裝置108 (圖4) RAP圖片202。視頻解碼器30或客戶端裝置108可接著解碼可充當位置204處的預測性塊的圖片或圖片的部分。如圖5中所示,位置204在輸出次序上為預測性塊的可能位置。
[0154]在輸出次序上,可在位置206處的當前CRA圖片之前輸出前導圖片208,如圖5中所示。如圖5中所示,位置210在輸出次序上為預測性塊的另一可能位置。
[0155]圖6是說明根據本發明中描述的一或多個實例的用于譯碼RAP圖片的實例方法的流程圖。如圖6中所示,在一些實例中,視頻譯碼器(例如視頻編碼器20或視頻解碼器30)可譯碼視頻序列中的用于隨機存取點或流調適點(例如時間層切換點)的BLA圖片。舉例來說,此可為用于調適位速率、幀速率或空間分辨率的切換點。BLA圖片可包含一或多個前導圖片。當出現從BLA圖片的隨機存取時,前導圖片無法正確地解碼(例如,由解碼器30、MANE,或其它解碼裝置)。
[0156]在一實例中,為防止錯誤從取決于解碼開始處而可能不可用的參考圖片傳播,視頻解碼器可不將在解碼次序及輸出次序兩者上先BLA picture的任何圖(其包含前導圖片)用作參考圖片。
[0157]舉例來說,視頻解碼器30可接收并解碼語法元素,所述語法元素指示圖片存儲緩沖器被清空而不從圖片存儲緩沖器輸出任何圖片(600)。所述語法元素可由編碼器20或中間網絡元件包含在經編碼視頻位流中。視頻解碼器30可確定語法元素是否指示不應發生先前圖片的輸出,例如,視頻解碼器30可檢查語法元素(602)以確定其是否經設定,即等于I。當視頻解碼器30接收到經設定的語法元素時,視頻解碼器30可致使在解碼次序上在當前圖片之前且在解碼當前圖片時駐留在圖片存儲緩沖器中的圖片從圖片存儲緩沖器清空而不被輸出(604)。
[0158]在一些實例中,所述語法元素可為多個語法元素中的一者。另外,所述多個語法元素可包含經熵譯碼切片標頭語法元素及非熵譯碼切片標頭語法元素。在一實例中,語法元素可指示圖片存儲緩沖器為空的而不從經解碼圖片緩沖器輸出任何圖片,且在任何經熵譯碼切片標頭語法元素之前包含在切片標頭中。在另一實例中,語法元素可指示圖片存儲緩沖器中的數據應被忽略和/或重寫而不從圖片存儲緩沖器輸出任何圖片,且在任何經熵譯碼切片標頭語法元素之前包含在切片標頭中。在一些實例中,所述語法元素可為no_output_of_pr1r_pics_flag 且 no_output_of_pr1r_pics_flag 可包含于緊接在 first_slice_in_pic_flag之后的切片標頭中。first_slice_in_pic_flag可為指示切片是否在解碼次序中是圖片的第一切片的旗標。
[0159]圖7是說明根據本發明中所描述的一或多個實例的實例方法的流程圖。在所說明的實例中,視頻譯碼器可確定當前圖片為CRA圖片(700)。視頻譯碼器還可確定當前圖片為RAP圖片(702)。視頻譯碼器可確定當前圖片為BLA圖片(700)。在其它實例中,視頻譯碼器可使用NAL單元類型來確定當前圖片是否為BLA圖片。
[0160]在各種實例中,視頻譯碼器可在解碼BLA圖片之前將DPB中的所有參考圖片標記為不用于參考。舉例來說,視頻解碼器30可將參考圖片存儲器92 (有時被稱作經解碼圖片緩沖器(DPB))中的參考圖片標記為不用于參考。因此,所述圖片將不用于幀間譯碼,這將避免可能錯誤,且在一些實例中可解決空間調適問題。另外,通常這些圖片將不輸出到例如監視器或屏幕,可在所述監視器或屏幕處觀看圖片。
[0161]視頻解碼器30可確定當前圖片為BLA圖片,且在解碼BLA圖片之前將圖片存儲緩沖器中的參考圖片標記為不用于參考。在一實例中,標記圖片存儲緩沖器中的參考圖片可在BLA圖片包括不可解碼BLA圖片時發生,不可解碼BLA圖片在一些實例中可基于NAL單元類型加以確定。在一些實例中,(I)將DPB中的圖片標記為不用于參考,(2)使用例如no_output_of_pr1r_pics_flag等語法元素及(3)使用指示BLA圖片的NAL單元類型中的一或多者可獨立地或以任何組合來使用。
[0162]圖8為說明根據本發明中所描述之一或多個實例的實例方法之流程圖。視頻譯碼器可處理經指派以指示BLA圖片何時具有和不具有前導圖片的NAL單元類型。視頻譯碼器可經配置以包含經指派以指示何時BLA圖片具有及不具有前導圖片的NAL單元類型。舉例來說,在一個標準中,包含NAL單元類型16,BLA_W_LP (具有前導圖片的BLA) ;17,BLA_ff_DLP (具有可解碼前導圖片的BLA);以及18,BLA_N_LP (不具有前導圖片的BLA)。
[0163]在一個實例中,視頻譯碼器可根據包含以下各自中的一或多者的多個不同網絡抽象層(NAL)單元類型中的一者來譯碼圖片。舉例來說,視頻譯碼器可確定BLA圖片不具有相關聯的前導圖片(800),且使用指示BLA圖片為在位流中不具有相關聯前導圖片的BLA圖片的NAL單元類型來譯碼BLA圖片的經譯碼切片或整個BLA圖片(802)。視頻譯碼器可確定BLA圖片具有相關聯的可解碼前導圖片(804),且使用指示BLA圖片為在位流中具有相關聯的可解碼前導圖片的BLA圖片的NAL單元類型來譯碼經譯碼切片或整個BLA圖片(806)。視頻譯碼器確定BLA圖片具有相關聯的前導圖片(808),且可使用指示BLA圖片為在位流中具有相關聯前導圖片的BLA圖片的NAL單元類型來譯碼BLA圖片的經譯碼切片或整個BLA圖片(810)。在一實例中,如果視頻解碼器30檢測到BLANAL單元類型,那么視頻解碼器30可例如將DPB中的圖片標記為不用于參考。
[0164]在一些實例中,(I)將DPB中的圖片標記為不用于參考,⑵使用例如no_output_οf_pr1r_pics_fIag等語法元素及(3)使用指示BLA圖片的NAL單元類型中的一或多者可獨立地或以任何組合來使用。舉例來說,在一些情況下,可使用所有這三者。在其它實例中,可與將DPB中的圖片標記為不用于參考結合使用實例NAL單元類型。在另一實例中,可使用不輸出先前圖片語法元素與將圖片標記為不用于參考。在另一實例中,可使用不輸出先前圖片語法元素與NAL單元類型。
[0165]如本文所使用,BLC是指斷鏈清潔隨機存取,BLCL是指在位流中具有相關聯前導圖片的BLC圖片,且BLCNL是指在位流中不具有相關聯前導圖片的BLC圖片。如本文中所論述,BLC圖片通常與BLA圖片相同。CRA是指清潔隨機存取,CRAL是指在位流中具有相關聯前導圖片的CRA圖片,且CRANL是指在位流中不具有相關聯前導圖片的CRA圖片。IDR是指瞬時解碼刷新,LPR是指與隨機存取點圖片相關聯的前導圖片,NSP是指無甚特別(NothingSpecial Plain),RAP是指隨機存取點,且RPS是指參考圖片組。如本文所使用,TLA是指時間層存取,TLAL是指還是LRP圖片的TLA圖片,TLANL是指不是LRP圖片的TLA圖片。
[0166]BLA存取單元是指其中經譯碼圖片為BLA圖片的存取單元。BLC圖片為其中經譯碼切片的切片標頭包含RPS語法而RPS被導出為空而不使用所述RPS語法的RAP圖片。BLCL存取單元為其中經譯碼圖片為BLCL圖片的存取單元。BLCL圖片為其相關聯LPR圖片存在于位流中的BLA圖片。在一些實例中,BLCL存取單元可等效于BLA_W_DLP與BLA_W_LP的組合。BLCNL存取單元為其中經譯碼圖片為BLCNL圖片的存取單元。在一些實例中,BLCNL存取單元可等效于BLA_N_LP。BLCNL圖片為其相關聯LPR圖片不存在于位流中的BLA圖片。
[0167]在一實例中,CRA存取單元為其中經譯碼圖片為CRA圖片的存取單元。CRA圖片為其中經譯碼切片的切片標頭包含RPS語法且RPS語法用于導出RPS的RAP圖片。CRAL存取單元為其中經譯碼圖片為CRAL圖片的存取單元。CRAL圖片為其相關聯LPR圖片出現于位流中的CRA圖片。CRANL存取單元為其中經譯碼圖片為CRANL圖片的存取單元。CRANL圖片為其相關聯LPR圖片不存在于位流中的CRA圖片。
[0168]在一實例中,IDR存取單元為其中經譯碼圖片為IDR圖片的存取單元。IDR圖片為其中經譯碼切片的切片標頭不包含RPS語法且RPS被導出為空的RAP圖片。
[0169]在一實例中,如果在解碼次序上的所有先前存取單元都不存在,其條件是由經譯碼圖片參考的每一參數集和在解碼次序上的所有后續經譯碼圖片在其激活之后存在,那么IDR圖片和在解碼次序上的所有后續經譯碼圖片可正確地解碼。或者,在另一實例中,IDR圖片可如HEVC中所定義(添加先前圖片)。
[0170]在其它實例中,IDR圖片可如下定義(加上先前注意點):IDR圖片可為僅含有I切片的經譯碼圖片。另外,對于實例IDR圖片,在解碼次序上在IDR圖片之后的所有經譯碼圖片都不使用來自在解碼次序上先于IDR圖片的任何圖片的幀間預測。在一實例中,在解碼次序上先于IDR圖片的任何圖片在輸出次序上也先于IDR圖片。
[0171]前導圖片為不是RAP圖片且在解碼次序上在某一其它特定圖片之后且在輸出次序上先于所述特定圖片的經譯碼圖片。LPR圖片為與RAP圖片或RAP圖片的前導圖片相關聯的前導圖片。
[0172]圖片次序計數可為與每一經譯碼圖片相關聯的變量,且具有隨著在輸出次序上圖片位置的增加(相對于解碼次序上的先前RAP圖片)而增加的值。
[0173]在一實例中,RAP存取單元為其中經譯碼圖片為RAP圖片的存取單元。RAP圖片可為僅含有I切片的經譯碼圖片。對于RAP圖片,在解碼次序和輸出次序兩者上皆在RAP圖片之后的所有經譯碼圖片不使用來自在在解碼次序或輸出次序上先于RAP圖片的任何圖片的幀間預測。在解碼次序上先于RAP圖片的任何圖片的輸出應先于RAP圖片的輸出。如果在解碼次序上的所有先前存取單元都不存在,其條件是由經譯碼圖片參考的每一參數集和在解碼次序上的所有后續經譯碼圖片在其激活之后存在,那么RAP圖片和在解碼次序和輸出次序兩者上的所有后續經譯碼圖片可正確地解碼。
[0174]或者,可根據先前論述且如下定義RAP圖片。RAP圖片可為僅含有I切片且在解碼次序和輸出次序兩者上皆在RAP圖片之后的所有經譯碼圖片都不使用來自在解碼次序上或輸出次序上先于RAP圖片的任何圖片的幀間預測的經譯碼圖片。在解碼次序上先于RAP圖片的任何圖片在輸出次序也先于RAP圖片。
[0175]TLA存取單元為其中經譯碼圖片為TLA圖片的存取單元。TLA圖片為對于其來說,TLA圖片和所有經譯碼圖片具有大于或等于TLA圖片的temporal_id的temporal_id的經譯碼圖片。在解碼次序上在TLA圖片之后的TLA圖片不應使用來自temporal_id大于或等于在解碼次序上先于TLA圖片的TLA圖片的temporal_id的任何圖片的幀間預測。TLAL存取單元為其中經譯碼圖片為TLA圖片的存取單元。
[0176]在一些實例中,可定義以下相異VCL NAL單元類型。作為第一實例,可針對IDR圖片的經譯碼切片提供NAL單元類型(例如,nal_unit_type = 5)。對于用于此NAL單元類型,HEVC WD6中的IDR圖片概念適用。與其它類型的VCL NAL單元相比,此VCL NAL單元類型的唯一特征是在切片標頭中不包含參考圖片組(RPS)語法。
[0177]一些實例包含BLCNL圖片的經譯碼切片(在位流中不具有相關聯前導圖片的BLC圖片,例如nal_unit_type = 2)。與IDR圖片的經譯碼切片相比,BLCNL圖片的經譯碼切片在切片標頭中包含RPS語法,但RPS語法不用于RPS導出,而是將所有RPS子組導出為空。
[0178]一些實例包含BLCL圖片的經譯碼切片(在位流中具有相關聯前導圖片的BLC圖片,例如,nal_unit_type = 3)。與BLCNL圖片相比,在位流中存在與BLCL圖片相關聯的前導圖片。
[0179]一些實例包含CRANL圖片的經譯碼切片(在位流中不具有相關聯前導圖片的CRA,例如,nal_unit_type = 15)。與BLCNL圖片的經譯碼切片相比,CRANL圖片的經譯碼切片在切片標頭中包含RPS語法,且RPS語法用于RPS導出。
[0180]一些實例包含CRAL圖片的經譯碼切片(在位流中具有相關聯前導圖片的CRA圖片,例如,nal_unit_type = 4)。與CRANL圖片相比,在位流中存在與CRAL圖片相關聯的前導圖片。
[0181]一些實例包含TLANL圖片的經譯碼切片(不為LFR圖片的TLA圖片,例如,nal_unit_type = 16)。一些實例包含TLAL圖片的經譯碼切片(還為LPR圖片的TLA圖片,例如,nal_unit_type = 17)。一些實例包含NSP圖片的經譯碼切片(不為以上各者中任一者的無甚特別圖片,nal_unit_type = I)。
[0182]在解碼每一 BLC圖片(BLCL或BLCNL)圖片的切片數據之前,必須由解碼器30將經解碼圖片緩沖器(DPB)中的所有參考圖片標記為“不用于參考”,如上文所描述。僅在此操作完成后,才可由解碼器30將HEVC WD 6中當前針對在位流開始處的CRA圖片的前導圖片所指定的當前解碼過程直接應用于BLA圖片的前導圖片,而不管BLA圖片是否改變空間分辨率。
[0183]在不進行上述操作的情況下,如果BLA圖片不改變空間分辨率,那么如在HEVCWD6中當前針對位流開始處的CRA圖片的前導圖片所指定的當前解碼過程可以由解碼器30直接應用于BLA圖片的前導圖片。然而,如果BLA圖片改變空間分辨率,那么如在HEVC WD 6中當前針對位流開始處的CRA圖片的前導圖片所指定的當前解碼過程無法直接應用于BLA圖片的前導圖片,因為所述情境可顯得空間分辨率對于當前圖片與當前圖片的參考圖片不同。
[0184]確保DPB中的所有參考圖片在解碼每一 BLA圖片的切片數據之前都被標記為“不用于參考”的一種方式是將每一 BLA圖片的RPS導出為空,而不管切片標頭中用信號通知的RPS是否指示非空RPS。舉例來說,即使存在RPS,視頻解碼器30也可以對此進行越權控制,且在圖片為BLA圖片的情況下將RPS導出或處理為空。
[0185]實際上,如果切片標頭中用信號通知的RPS確實指示BLA圖片或CRA(CRAL或CRANL)圖片的空RPS,那么應該已經將圖片譯碼為IDR圖片。
[0186]在一些實例中,RAP圖片可定義為僅含有I切片的經譯碼圖片。對于RAP圖片,在解碼次序和輸出次序兩者上皆在RAP圖片之后的所有經譯碼圖片不使用來自在在解碼次序或輸出次序上先于RAP圖片的任何圖片的幀間預測。另外,在解碼次序上先于RAP圖片的任何圖片的輸出可先于RAP圖片的輸出。
[0187]為確保在解碼次序上先于RAP圖片的任何圖片的輸出應先于RAP圖片的輸出,一種方式是使視頻編碼器20在發射到例如視頻解碼器30的經譯碼位流中將n0_0utput_0f_pr1r_pics_flag設定為等于I,如上文所論述。在另一實例中,視頻解碼器30對于BLA圖片可推斷no_output_of_pr1r_pics_flag等于I (不管其值如何)。以此方式,允許BLA圖片處的剪接操作,其中在經剪接位流中,比BLA圖片靠前的圖片的POC值大于BLA圖片的POC值。明確地說,BLA圖片的POC值導出為等于其POC LSB (通過假定POC MSB等于O),以上情況可容易地發生。確保此情形的另一方式是確保在解碼次序上先于BLA圖片的圖片的輸出時間早于BLA圖片的輸出時間。
[0188]一些實例允許視頻編碼器20和/或位流剪接器確定使用本文所述的方式中的哪一者。因此,舉例來說,在一些實例中,視頻編碼器20可在BLA圖片的切片標頭中包含no_output_of_pr1r_pics_flag。在其它實例中,視頻編碼器20可包含指示存儲在視頻解碼器30處的緩沖器中的圖片是否可用于參考的NAL單元類型。因此,例如當使用此些圖片進行解碼將導致不正確地解碼圖片時,視頻解碼器30可將圖片標記為不用于參考。
[0189]為通過網絡元件實現CRA到BLA圖片的簡單重寫,除將no_output_of_pr1r_pics_flag置于CRA圖片的切片標頭中之外,還可將其盡可能靠前地包含在切片標頭中。此可在任何經熵譯碼切片標頭參數之前,例如在一些實例中緊接first_slice_in_pic_flag之后,如上文所論述。
[0190]在一實例中,兩個背靠背BLA圖片具有相同POC LSB,且只可能通過random_access_pic_id(或重新命名為rap_pic_id)來對其加以區分。因此,可能優選地使用固定長度碼用于rap_pic_id,并且還盡可能靠前地包含在切片標頭中,優選不在任何經熵譯碼切片標頭參數之后,例如,緊接 first_slice_in_pic_flag 和 no_output_of_pr1r_pics_flag(例如對于CRA圖片和BLA圖片兩者)之后。可用于圖片邊界檢測的其它切片標頭語法兀素(例如,pic_parameter_set_id 和 POC LSB (即,pic_order_cnt_lsb))可類似。
[0191]特定類型(例如,SPS)或所有類型的所有參數集可存在于位流的開始處,即包含在位流中的第一存取單元中。如果如此,那么可以方便地提取特定類型的所有參數集并且發送到帶外。舉例來說,譯碼器可在會期描述協議(SDP)中包含在會期協商期間使用的參數。因此,使編碼器在位流中包含特定類型或所有類型的所有參數集存在于位流的開始處的指示可為有益的。所述指示可包含在SEI消息、存取單元分隔符或參數集中。舉例來說,可對于SPS、圖片參數集(PPS)或調適參數集(APS)使用相異的NAL單元類型以指示所有SPS (或PPS或APS)存在于位流的開始處。
[0192]語法元素sliCe_type可基于NAL單元類型是否指示含有切片的圖片為IDR圖片、CRA圖片或BLA圖片而條件性地存在于切片標頭中。舉例來說,如果NAL單元類型指示含有切片的圖片為IDR圖片、CRA圖片或BLA圖片,那么slice_type不存在于切片標頭中。以其它方式,編碼器將slice_type插入切片標頭中。當不存在時,slice_type的值指示切片為I切片。
[0193]圖9是說明根據本發明中描述的一或多個實例的用于解碼切片的實例方法的流程圖。在一個實例中,視頻解碼器30可解碼視頻數據,包含接收用于視頻數據序列的待解碼的當前圖片的切片(900)。視頻解碼器30可在切片的切片標頭中接收至少一個經熵譯碼語法元素和至少一個非熵譯碼語法元素。非熵譯碼語法元素在切片標頭中可在經熵譯碼語法元素之前。另外,非熵譯碼語法元素可指示在解碼次序上在當前圖片之前的圖片是否從圖片存儲緩沖器清空而不被輸出(902)。在一個實例中,語法元素可為n0_0utput_0f_pr1r_pics_f lag。no_output_of_pr1r_pics_f lag 可設定到 “ I ” 以例如指示在解碼次序上在當前圖片之前的圖片何時從圖片存儲緩沖器清空而不被輸出。視頻解碼器30可基于非熵譯碼語法元素解碼所述切片(904)。
[0194]圖10是說明根據本發明中描述的一或多個實例的用于編碼切片的實例方法的流程圖。編碼器20可接收視頻數據。視頻編碼器20可編碼用于視頻數據序列的當前圖片的切片(1000)。
[0195]視頻編碼器20在切片的切片標頭中編碼至少一個經熵編碼語法元素和至少一個非熵譯碼語法元素,其中所述非經熵編碼語法元素在切片標頭中在經熵編碼語法元素之前,且指示在解碼次序上在當前圖片之前的圖片是否將從圖片存儲緩沖器清空而不被輸出(1002) ο 在一個實例中,語法兀素可為 no_output_of_pr1r_pics_flag。no_output_of_pr1r_pics_flag可設定到“I”以例如指示在解碼次序上在當前圖片之前的圖片何時從圖片存儲緩沖器清空而不被輸出。
[0196]在一或多個實例中,所描述功能可以硬件、軟件、固件或其任何組合來實施。如果以軟件實施,則所述功能可以作為一或多個指令或代碼在計算機可讀媒體上存儲或傳輸,并且由基于硬件的處理單元執行。計算機可讀媒體可包括計算機可讀存儲媒體,其對應于有形媒體,例如數據存儲媒體,或包括任何促進將計算機程序從一處傳送到另一處的媒體(例如,根據一種通信協議)的通信媒體。以此方式,計算機可讀媒體大體上可對應于(I)有形計算機可讀存儲媒體,其是非暫時性的,或(2)通信媒體,例如信號或載波。數據存儲媒體可為可由一或多個計算機或一個或多個處理器存取以檢索用于實施本發明中描述的技術的指令、代碼和/或數據結構的任何可用媒體。計算機程序產品可包含計算機可讀媒體。
[0197]在又其它實例中,本發明涵蓋包括存儲于其上的數據結構的電腦可讀媒體,其中所述數據結構包含符合本發明的經編碼位流。明確地說,數據結構可包含本文所述的NAL單元設計。
[0198]借助于實例而非限制,此類計算機可讀存儲媒體可包含RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或任何其它可用來存儲指令或數據結構的形式的所要程序代碼并且可由計算機存取的媒體。同樣,任何連接可恰當地稱為計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數字訂戶線(DSL)或例如紅外線、無線電及微波等無線技術從網站、服務器或其它遠程源傳輸軟件,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電及微波等無線技術包含于媒體的定義中。然而,應理解,所述計算機可讀存儲媒體和數據存儲媒體并不包括連接、載波、信號或其它暫時媒體,而是實際上針對于非暫時性有形存儲媒體。如本文中所使用,磁盤及光盤包含緊密光盤(CD)、激光光盤、光學光盤、數字多功能光盤(DVD)、軟磁盤及藍光光盤,其中磁盤通常磁性地再現數據,而光盤使用激光光學地在線數據。上文各者的組合也應包含在計算機可讀媒體的范圍內。
[0199]可由例如一或多個數字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個處理器來執行所述指令。因此,如本文中所使用的術語“處理器”可指上述結構或適合于實施本文中所描述的技術的任一其它結構中的任一者。另外,在一些方面中,本文所述的功能性可以在經配置用于編碼和解碼的專用硬件和/或軟件模塊內提供,或者并入在組合編解碼器中。并且,可將所述技術完全實施于一或多個電路或邏輯元件中。
[0200]本發明的技術可以在廣泛多種裝置或設備中實施,包括無線手持機、集成電路(IC)或一組IC(例如,芯片組)。本發明中描述各種組件、模塊或單元是為了強調,其經配置以執行所揭示的技術的裝置的功能方面,但未必需要通過不同硬件單元實現。實際上,如上文所描述,各種單元可以配合合適的軟件及/或固件組合在編解碼器硬件單元中,或通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
[0201]已描述了各種實例。這些及其它實例屬于所附權利要求書的范圍內。
【權利要求】
1.一種解碼視頻數據的方法,所述方法包括: 確定當前圖片為斷鏈存取BLA圖片;以及 在解碼所述BLA圖片之前將圖片存儲緩沖器中的參考圖片標記為不用于參考。
2.根據權利要求1所述的方法,其中確定當前圖片為BLA圖片進一步包括確定所述當前圖片為清潔隨機存取CRA圖片且確定所述當前圖片為隨機存取圖片RAP。
3.根據權利要求1所述的方法,其中確定所述當前圖片為BLA圖片是基于所述當前圖片的網絡抽象層NAL單元類型。
4.根據權利要求1所述的方法,其進一步包括在前導圖片包括不可解碼前導圖片時標記所述圖片存儲緩沖器中的所述參考圖片。
5.根據權利要求1所述的方法,其中所述圖片存儲緩沖器包含經解碼圖片緩沖器DPB。
6.根據權利要求1所述的方法其中解碼所述BLA圖片包括在解碼器中解碼所述BLA圖片。
7.根據權利要求1所述的方法,其中解碼所述BLA圖片包括在網絡元件中解碼所述BLA圖片。
8.根據權利要求7所述的方法,其中所述網絡元件為媒體感知網絡元件MANE。
9.根據權利要求7所述的方法,其中所述網絡元件為流式傳輸服務器。
10.根據權利要求7所述的方法,其中所述網絡元件為剪接器。
11.根據權利要求1所述的方法,其進一步包括在不使用標記為不用于參考的所述先前圖片的情況下解碼所述BLA圖片。
12.根據權利要求1所述的方法,其進一步包括接收用于視頻數據序列的待解碼的當前圖片的切片; 在所述切片的切片標頭中接收至少一個經熵譯碼語法元素和至少一個非熵譯碼語法元素,其中所述非熵譯碼語法元素在所述切片標頭中在所述經熵譯碼語法元素之前且指示在解碼次序上在所述當前圖片之前的圖片是否將從經解碼圖片緩沖器清空而不被輸出;以及 基于所述非熵譯碼語法元素解碼所述切片。
13.根據權利要求12所述的方法,其中所述非熵譯碼語法元素包括n0_0utput_0f_pr1r—pics_flag。
14.一種用于解碼視頻數據的裝置,所述裝置包括一個或多個處理器,所述一個或多個處理器經配置以進行以下操作: 確定當前圖片為斷鏈存取BLA圖片;以及 在解碼所述BLA圖片之前將圖片存儲緩沖器中的參考圖片標記為不用于參考。
15.根據權利要求14所述的裝置,其中所述一個或多個處理器經配置以在當前圖片為清潔隨機存取CRA圖片且所述當前圖片為隨機存取圖片RAP的情況下確定所述當前圖片為BLA圖片。
16.根據權利要求14所述的裝置,其中所述一個或多個處理器經配置以基于所述當前圖片的網絡抽象層NAL單元類型確定所述當前圖片為BLA圖片。
17.根據權利要求14所述的裝置,其中所述一或多個處理器經配置以在前導圖片包括不可解碼前導圖片時標記所述參考圖片。
18.根據權利要求14所述的裝置,其進一步包括所述圖片存儲緩沖器,其中所述圖片存儲緩沖器包含經解碼圖片緩沖器DPB。
19.根據權利要求18所述的裝置,其中所述裝置包括解碼器。
20.根據權利要求18所述的裝置,其中所述裝置包括網絡元件。
21.根據權利要求20所述的裝置,其中所述網絡元件包括媒體感知網絡元件MANE。
22.根據權利要求20所述的裝置,其中所述網絡元件包括流式傳輸服務器。
23.根據權利要求20所述的裝置,其中所述網絡元件包括剪接器。
24.根據權利要求14所述的裝置,其中所述處理器進一步經配置以在不使用標記為不用于參考的所述先前圖片的情況下解碼所述BLA圖片。
25.根據權利要求14所述的裝置,其中所述處理器進一步經配置以: 接收用于視頻數據序列的待解碼的當前圖片的切片; 在所述切片的切片標頭中接收至少一個經熵譯碼語法元素和至少一個非熵譯碼語法元素,其中所述非熵譯碼語法元素在所述切片標頭中在所述經熵譯碼語法元素之前且指示在解碼次序上在所述當前圖片之前的圖片是否將從經解碼圖片緩沖器清空而不被輸出;以及 基于所述非熵譯碼語法元素解碼所述切片。
26.根據權利要求25所述的裝置,其中所述非熵譯碼語法元素包括n0_0utput_0f_pr1r—pics_flag。
27.一種用于解碼視頻數據的裝置,所述裝置包括: 用于確定當前圖片為斷鏈存取BLA圖片的裝置;以及 用于在解碼所述BLA圖片之前將圖片存儲緩沖器中的參考圖片標記為不用于參考的>j-U ρ?α裝直。
28.根據權利要求27所述的裝置,其中所述用于確定當前圖片為BLA圖片的裝置進一步包括用于確定所述當前圖片為清潔隨機存取CRA圖片且確定所述當前圖片為隨機存取圖片RAP的裝置。
29.根據權利要求27所述的裝置,其中所述用于確定所述當前圖片包括BLA圖片的裝置包含用于基于網絡抽象層NAL單元類型確定所述當前圖片包括BLA圖片的裝置。
30.根據權利要求27所述的裝置,其中所述用于標記所述參考圖片的裝置包括用于在前導圖片包括不可解碼前導圖片時標記所述參考圖片的裝置。
31.根據權利要求27所述的裝置,其進一步包括所述圖片存儲緩沖器,其中所述圖片存儲緩沖器包括經解碼圖片緩沖器DPB。
32.—種其上存儲有指令的計算機可讀存儲媒體,所述指令在執行時致使裝置的一個或多個處理器進行以下操作: 確定當前圖片為斷鏈存取BLA圖片;以及 在解碼所述BLA圖片之前將參考圖片標記為不用于參考。
33.根據權利要求32所述的計算機可讀存儲媒體,其中所述致使一個或多個處理器確定當前圖片為BLA圖片的指令進一步包括致使所述一或多個處理器基于確定當前圖片為清潔隨機存取CRA圖片且確定所述當前圖片為隨機存取圖片RAP而確定所述當前圖片為BLA圖片的指令。
34.根據權利要求32所述的計算機可讀存儲媒體,其進一步包括致使所述一個或多個處理器基于網絡抽象層NAL單元類型確定所述當前圖片為BLA圖片的指令。
35.根據權利要求32所述的計算機可讀存儲媒體,其進一步包括致使所述一個或多個處理器在前導圖片包括不可解碼前導圖片時標記所述參考圖片的指令。
36.根據權利要求32所述的計算機可讀存儲媒體,其進一步包括致使所述一個或多個處理器將存儲器的一部分分配給形成經解碼圖片緩沖器DPB的部分的圖片存儲緩沖器。
37.根據權利要求32所述的計算機可讀存儲媒體,其進一步包括致使所述一個或多個處理器致使解碼器解碼所述BLA圖片的指令。
38.根據權利要求32所述的計算機可讀存儲媒體,其進一步包括致使所述一個或多個處理器致使網絡元件解碼所述BLA圖片的指令。
【文檔編號】H04N19/70GK104247430SQ201380020797
【公開日】2014年12月24日 申請日期:2013年4月11日 優先權日:2012年4月20日
【發明者】王益魁 申請人:高通股份有限公司
網友詢問(wen)留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1