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