本發(fā)明涉及視頻譯碼和壓縮的領(lǐng)域,包含單層視頻譯碼和多層視頻譯碼兩者。多層視頻譯碼可包含可縮放視頻譯碼、多視圖視頻譯碼、三維(3D)視頻譯碼等。
背景技術(shù):
數(shù)字視頻能力可并入到廣泛范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機(jī)、數(shù)字?jǐn)z像機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及其類似物。數(shù)字視頻裝置實施視頻壓縮技術(shù),例如描述于以下各者中的那些技術(shù):由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)定義的標(biāo)準(zhǔn)、高效率視頻譯碼(HEVC)標(biāo)準(zhǔn),及這些標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置可通過實施這些視頻譯碼技術(shù)而更有效率地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測及/或時間(圖片間)預(yù)測來減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼來說,視頻切片(例如,視頻幀、視頻幀的一部分等)可分割成視頻塊,視頻塊也可被稱作樹塊、譯碼單元(CU)及/或譯碼節(jié)點(diǎn)。使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測對圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊進(jìn)行編碼。圖片的經(jīng)幀間編碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測或相對于其它參考圖片中的參考樣本的時間預(yù)測。圖片可被稱為幀,且參考圖片可被稱為參考幀。
空間或時間預(yù)測產(chǎn)生待譯碼塊的預(yù)測性塊。殘余數(shù)據(jù)表示待譯碼原始塊與預(yù)測性塊的間的像素差。經(jīng)幀間譯碼塊是根據(jù)指向形成預(yù)測塊的參考樣本塊的運(yùn)動向量和指示經(jīng)譯碼塊與預(yù)測塊之間的差的殘余數(shù)據(jù)編碼的。根據(jù)幀內(nèi)譯碼模式和殘差數(shù)據(jù)來編碼經(jīng)幀內(nèi)譯碼塊。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),可接著量化所述殘余變換系數(shù)??蓲呙枳畛醪贾贸啥S陣列的經(jīng)量化變換系數(shù),以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵編碼以實現(xiàn)更多壓縮。
技術(shù)實現(xiàn)要素:
本公開的系統(tǒng)、方法及裝置各自具有若干創(chuàng)新方面,其中沒有單個方面單獨(dú)負(fù)責(zé)本文所揭示的合乎需要的屬性。在附圖及以下描述中闡述一或多個實例的細(xì)節(jié),其并不希望限制本文所述的發(fā)明性概念的完整范圍。其它特征、目標(biāo)和優(yōu)點(diǎn)將從所述描述和圖式以及權(quán)利要求書而顯而易見。
可縮放視頻譯碼(SVC)是指其中使用基礎(chǔ)層(BL)(有時被稱作參考層(RL))及一或多個可縮放增強(qiáng)層(EL)的視頻譯碼。在SVC中,基礎(chǔ)層可攜載具有基礎(chǔ)質(zhì)量水平的視頻數(shù)據(jù)。所述一或多個增強(qiáng)層可攜載額外的視頻數(shù)據(jù)以支持(例如)較高的空間、時間和/或信噪比(SNR)水平??上鄬τ谙惹熬幋a的層來定義增強(qiáng)層。舉例來說,底層可充當(dāng)BL,而頂層可充當(dāng)EL。中間層可充當(dāng)EL或RL,或兩者。舉例來說,中間層(例如,既不是最低層也不是最高層的層)可為中間層下方的層的EL,例如基礎(chǔ)層或任何介入的增強(qiáng)層,且同時充當(dāng)中間層上方的一或多個增強(qiáng)層的RL。類似地,在HEVC標(biāo)準(zhǔn)的多視圖或3D擴(kuò)展中,可存在多個視圖,且可利用一個視圖的信息對另一視圖的信息(例如,運(yùn)動估計、運(yùn)動向量預(yù)測和/或其它冗余)進(jìn)行譯碼(例如,編碼或解碼)。
根據(jù)某些方面的一種用于譯碼視頻信息的設(shè)備包含存儲器單元和處理器。所述存儲器單元經(jīng)配置以存儲與多個層相關(guān)聯(lián)的視頻信息。處理器經(jīng)配置以獲得與待譯碼的當(dāng)前存取單元(AU)相關(guān)聯(lián)的信息,所述當(dāng)前AU含有來自所述多個層中的一或多層的圖片。處理器經(jīng)進(jìn)一步配置以確定當(dāng)前AU是否包含含有幀內(nèi)隨機(jī)存取點(diǎn)(IRAP)圖片的第一層。處理器響應(yīng)于確定當(dāng)前AU包含(1)含有IRAP圖片的第一層和(2)不含有圖片或含有可丟棄圖片的第二層而另外經(jīng)配置以重置當(dāng)前AU處的第二層的圖片次序計數(shù)(POC)。
根據(jù)某些方面的一種用于譯碼視頻信息的設(shè)備包含存儲器單元和處理器。所述存儲器單元經(jīng)配置以存儲與多個層相關(guān)聯(lián)的視頻信息。處理器經(jīng)配置以獲得與待譯碼的當(dāng)前存取單元(AU)相關(guān)聯(lián)的信息,所述當(dāng)前AU含有來自所述多個層中的一或多層的圖片。所述處理器還經(jīng)配置以通過(1)僅重置圖片次序計數(shù)(POC)的最高有效位(MSB)或(2)重置所述POC的所述MSB和所述POC的最低有效位(LSB)兩者來重置包含于所述當(dāng)前AU中的層的所述POC。所述處理器經(jīng)進(jìn)一步配置以按解碼次序為所述當(dāng)前AU之后的一或多個AU中的圖片設(shè)定指示所述POC的重置是否為完全重置的第一旗標(biāo)的值。
附圖說明
圖1A是說明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實例視頻編碼和解碼系統(tǒng)的框圖。
圖1B是說明可執(zhí)行根據(jù)本發(fā)明中所描述的方面的技術(shù)的另一實例視頻編碼和解碼系統(tǒng)的框圖。
圖2A是說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻編碼器的實例的框圖。
圖2B是說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻編碼器的實例的框圖。
圖3A是說明可實施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的實例的框圖。
圖3B是說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻解碼器的實例的框圖。
圖4是說明不同層中的圖片的實例配置的框圖。
圖5是說明不同層中的圖片的實例配置的框圖。
圖6是說明不同層中的圖片的實例配置的框圖。
圖7是說明不同層中的圖片的實例配置的框圖。
圖8是說明根據(jù)本發(fā)明的一或多個方面的譯碼視頻信息的方法的流程圖。
圖9是說明根據(jù)本發(fā)明的一或多個方面的譯碼視頻信息的方法的流程圖。
具體實施方式
一般來說,本發(fā)明涉及在高級視頻編解碼器的上下文中的單層譯碼以及用于可縮放視頻譯碼的層間預(yù)測,例如HEVC(高效率視頻譯碼)。更確切地說,本發(fā)明涉及用于多層編解碼器的圖片次序計數(shù)(POC)重置的系統(tǒng)和方法。
在以下描述中,描述與某些實施例相關(guān)的H.264/高級視頻譯碼(AVC)技術(shù);也論述了HEVC標(biāo)準(zhǔn)和相關(guān)技術(shù)。雖然本文中在HEVC和/或H.264標(biāo)準(zhǔn)的上下文中描述某些實施例,但所屬領(lǐng)域的技術(shù)人員可了解,本文中所公開的系統(tǒng)和方法可適用于任何合適的視頻譯碼標(biāo)準(zhǔn)。舉例來說,本文中所公開的實施例可適用于以下標(biāo)準(zhǔn)中的一或多者:國際電信聯(lián)盟(ITU)電信標(biāo)準(zhǔn)分會(ITU-T)H.261、國際標(biāo)準(zhǔn)化組織(ISO)和國際電工委員會(IEC)(ISO/IEC)移動圖片專家組(MPEG)1(MPEG-1)Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也稱為ISO/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴(kuò)展。
在許多方面,HEVC通常遵循先前視頻譯碼標(biāo)準(zhǔn)的框架。HEVC中的預(yù)測單元不同于某些先前視頻譯碼標(biāo)準(zhǔn)中的預(yù)測單元(例如,宏塊)。實際上,在HEVC中不存在如在某些先前視頻譯碼標(biāo)準(zhǔn)中所理解的宏塊的概念。宏塊由基于四叉樹方案的分層結(jié)構(gòu)替換,所述分層結(jié)構(gòu)可提供高靈活性和其它可能益處。舉例來說,在HEVC方案內(nèi),定義三個類型的塊,例如譯碼單位(CU)、預(yù)測單元(PU)和變換單元(TU)。CU可指區(qū)分裂的基本單元??蓪U視為類似于宏塊的概念,但HEVC不限制CU的最大大小,且可允許遞歸分裂成四個大小相等的CU以改進(jìn)內(nèi)容適應(yīng)性。PU可被認(rèn)為是幀間/幀內(nèi)預(yù)測的基本單元,且單個PU可含有多個任意形狀分區(qū)以有效地譯碼不規(guī)則圖像樣式。TU可認(rèn)為是變換的基本單元。可獨(dú)立于PU界定TU;然而,TU的大小可限于TU屬于的CU的大小。此塊結(jié)構(gòu)分離為三個不同概念可允許根據(jù)單元的相應(yīng)作用來優(yōu)化每一單元,這可得到改善的譯碼效率。
僅出于說明的目的,用僅包含兩層(例如,比如基礎(chǔ)層等較低層,和比如增強(qiáng)層等較高層)視頻數(shù)據(jù)的實例來描述本文中揭示的某些實施例。視頻數(shù)據(jù)的“層”可通常指具有至少一個共同特性(例如,視圖、幀率、分辨率或類似者)的圖片序列。舉例來說,層可包含與多視圖視頻數(shù)據(jù)的特定視圖(例如,透視)相關(guān)聯(lián)的視頻數(shù)據(jù)。作為另一實例,層可包含與可縮放視頻數(shù)據(jù)的特定層相關(guān)聯(lián)的視頻數(shù)據(jù)。因此,本發(fā)明可互換地參考視頻數(shù)據(jù)的層和視圖。也就是說,視頻數(shù)據(jù)的視圖可被稱作視頻數(shù)據(jù)的層,且視頻數(shù)據(jù)的層可被稱作視頻數(shù)據(jù)的視圖。另外,多層編解碼器(其還被稱作多層視頻譯碼器或多層編碼器-解碼器)可共同指多視圖編解碼器或可縮放編解碼器(例如,經(jīng)配置以使用MV-HEVC、3D-HEVC、SHVC或另一多層譯碼技術(shù)編碼及/或解碼視頻數(shù)據(jù)的編解碼器)。視頻編碼和視頻解碼可通常被稱作視頻譯碼。應(yīng)理解,這些實例可適用于包含多個基礎(chǔ)層及/或增強(qiáng)層的配置。另外,為了易于解釋,參考某些實施例,以下公開內(nèi)容包含術(shù)語“幀”或“塊”。然而,這些術(shù)語不打算具有限制性。舉例來說,下文描述的技術(shù)可供任何合適的視頻單元(例如,塊(例如,CU、PU、TU、宏塊等)、切片、幀等)使用。
視頻譯碼標(biāo)準(zhǔn)
例如視頻圖像、TV圖像、靜態(tài)圖像或由錄像機(jī)或計算機(jī)產(chǎn)生的圖像等的數(shù)字圖像可由布置成水平及垂直線的像素或樣本構(gòu)成。單個圖像中的像素的數(shù)目通常有數(shù)萬個。每一像素通常含有明度和色度信息。在無壓縮的情況下,將從圖像編碼器傳達(dá)到圖像解碼器的信息的絕對量將使實時圖像發(fā)射變得不可能。為了減少待發(fā)射的信息的量,已開發(fā)出例如JPEG、MPEG及H.263標(biāo)準(zhǔn)等數(shù)個不同壓縮方法。
視頻譯碼標(biāo)準(zhǔn)包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和包含其SVC和MVC延伸的ITU-T H.264(也稱為ISO/IEC MPEG-4AVC)。
另外,存在一種新的視頻譯碼標(biāo)準(zhǔn),即高效率視頻譯碼(HEVC),其由ITU-T視頻譯碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)的視頻譯碼聯(lián)合合作小組(JCT-VC)開發(fā)。對HEVC草案10的完全引用為Bross等人的文件JCTVC-L1003,“高效視頻譯碼(HEVC)文本規(guī)范草案10(High Efficiency Video Coding(HEVC)Text Specification Draft 10)”,ITU-T SG16WP3與ISO/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合協(xié)作小組(JCT-VC),第12次會議:瑞士日內(nèi)瓦,2013年1月14日到2013年1月23日。對HEVC的多視圖擴(kuò)展(即,MV-HEVC)及對HEVC的可縮放擴(kuò)展(名為SHVC)也正分別由JCT-3V(3D視頻譯碼擴(kuò)展開發(fā)ITU-T/ISO/IEC聯(lián)合合作小組)及JCT-VC開發(fā)。
概述
poc_reset_idc語法元素可指示是否應(yīng)為圖片重置POC。poc_reset_idc語法元素可指示是否應(yīng)重置POC的最高有效位(MSB),或應(yīng)重置POC的MSB和最低有效位(LSB)兩者,或不重置任何一者。舉例來說,poc_reset_idc的值0指示并未重置POC。poc_reset_idc的值1指示應(yīng)重置POC MSB。poc_reset_idc的值2指示應(yīng)重置POC MSB和LSB兩者。poc_reset_idc的值3指示重置經(jīng)指示用于前一圖片。舉例來說,用于先前圖片的poc_reset_idc的值為1或2。可使用poc_reset_idc的值3,使得當(dāng)丟失其處應(yīng)重置POC之圖片時(例如,在解碼過程期間),可正確地重置后續(xù)圖片處的POC。
full_poc_reset_flag可指示為前一圖片的重置是否僅針對POC MSB,或針對POC MSB和LSB兩者。舉例來說,full_poc_reset_flag的值0指示僅應(yīng)重置MSB。full_poc_reset_flag的值1指示應(yīng)重置MSB和LSB兩者。full_poc_reset_flag旗標(biāo)可與poc_reset_idc結(jié)合使用。舉例來說,當(dāng)poc_reset_idc的值為3時,full_poc_reset_flag可指示前一圖片的POC重置是否僅針對MSB或針對MSB和LSB兩者。
在SHVC和MV-HEVC的早期版本(例如,SHVC Working Draft 6、MV-HEVC Working Draft 8等)中,(例如)關(guān)于poc_reset_idc應(yīng)用某些約束或限制。然而,當(dāng)不存在圖片時或當(dāng)圖片為可丟棄時,這些約束并未正確地重置POC。另外,在SHVC和MV-HEVC的早期版本中,基于同一POC重置周期中的POC重置AU的poc_reset_idc,對圖片的full_poc_reset_flag的值不存在限制。full_poc_reset_flag的不正確值可導(dǎo)致POC重置機(jī)制不恰當(dāng)?shù)毓ぷ鳌?/p>
為了解決這些和其它挑戰(zhàn),根據(jù)某些方面的技術(shù)在不存在圖片(例如,缺失或不存在)時或在圖片為可丟棄時重置POC。所述技術(shù)還基于poc_reset_idc的值對圖片的full_poc_reset_flag的值施加限制。以此方式,技術(shù)技術(shù)可確保正確地重置POC。
視頻譯碼系統(tǒng)
下文參考附圖更充分地描述新穎系統(tǒng)、設(shè)備及方法的各個方面。然而,本發(fā)明可以許多不同形式來體現(xiàn),且不應(yīng)將其解釋為限于貫穿本發(fā)明所呈現(xiàn)的任何特定結(jié)構(gòu)或功能。相反地,提供這些方面以使得本發(fā)明將透徹且完整,并且將向所屬領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍?;诒疚闹械慕淌?,所屬領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明的范圍既定涵蓋無論是獨(dú)立于本發(fā)明的任何其它方面而實施還是與之組合而實施的本文中所揭示的新穎系統(tǒng)、設(shè)備及方法的任何方面。舉例來說,可以使用本文中所闡述的任何數(shù)目個方面來實施設(shè)備或?qū)嵺`方法。另外,本發(fā)明的范圍既定涵蓋使用除本文中所闡述的本發(fā)明的各種方面之外的或不同于本文中所闡述的本發(fā)明的各種方面的其它結(jié)構(gòu)、功能性或結(jié)構(gòu)與功能性來實踐的此設(shè)備或方法。應(yīng)理解,可通過權(quán)利要求的一或多個要素來體現(xiàn)本文中所公開的任何方面。
盡管本文描述了特定方面,但這些方面的許多變化及排列落在本發(fā)明的范圍內(nèi)。盡管提及了優(yōu)選方面的一些益處及優(yōu)點(diǎn),但本發(fā)明的范疇不希望限于特定益處、用途或目標(biāo)。而是,本發(fā)明的方面既定廣泛地適用于不同無線技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)及發(fā)射協(xié)議,其中的一些是借助于實例而在圖中以及在優(yōu)選方面的以下描述中說明。具體實施方式和圖式僅說明本發(fā)明,而不是限制由所附權(quán)利要求書和其等效物界定的本發(fā)明的范圍。
附圖說明若干實例。由附圖中的參考標(biāo)號指示的元件對應(yīng)于在以下描述中由相同參考標(biāo)號指示的元件。在本發(fā)明中,具有以序數(shù)詞(例如,“第一”、“第二”、“第三”等)開始的名稱的元件不一定暗示所述元件具有特定次序。而是,這些序數(shù)詞僅用于指代相同或類似類型的不同元件。
圖1A是說明可利用根據(jù)本發(fā)明中描述的方面的技術(shù)的實例視頻譯碼系統(tǒng)10的框圖。如本文中所描述地使用,術(shù)語“視頻譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”可一般地指代視頻編碼和視頻解碼。除了視頻編碼器和視頻解碼器外,本申請案中描述的方面可擴(kuò)展到其它相關(guān)裝置,例如,轉(zhuǎn)碼器(例如,可解碼位流且重新編碼另一位流的裝置)及中間框(例如,可修改、變換及/或另外操縱位流的裝置)。
如圖1A中所展示,視頻譯碼系統(tǒng)10包含源裝置12,所述源裝置12產(chǎn)生稍后由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。在圖1A的實例中,源裝置12和目的地裝置14構(gòu)成獨(dú)立裝置。然而,應(yīng)注意,源裝置12和目的地裝置14可在相同裝置上或為相同裝置的一部分,如圖1B的實例中所展示。
再次參考圖1A,源裝置12和目的地裝置14可分別包括多種多樣的裝置中的任一者,包含臺式計算機(jī)、筆記本(例如,膝上型)計算機(jī)、平板計算機(jī)、機(jī)頂盒、例如所謂的“智能”電話的電話手持機(jī)、所謂的“智能”板、電視、攝像機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻流裝置或其類似者。在一些情況下,源裝置12和目的地裝置14可經(jīng)裝備以用于無線通信。
目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的任何類型的媒體或裝置。在圖1A的實例中,鏈路16可包括使得源裝置12能夠?qū)崟r將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的通信媒體。可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)調(diào)制經(jīng)編碼的視頻數(shù)據(jù),并將其發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個物理發(fā)射線。通信媒體可形成分組網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。通信媒體可包含路由器、交換機(jī)、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任一其它設(shè)備。
替代地,經(jīng)編碼數(shù)據(jù)可從輸出接口22輸出到任選的存儲裝置31。類似地,可通過(例如)目的地裝置14的輸入接口28從存儲裝置31存取經(jīng)編碼數(shù)據(jù)。存儲裝置31可包含多種分布式或本地存取數(shù)據(jù)存儲媒體中的任一者,例如硬盤驅(qū)動器、快閃存儲器、易失性或非易失性存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲媒體。在另一實例中,存儲裝置31可對應(yīng)于文件服務(wù)器或可保持源裝置12產(chǎn)生的經(jīng)編碼視頻的另一中間存儲裝置。目的地裝置14可經(jīng)由串流或下載從存儲裝置31存取所存儲的視頻數(shù)據(jù)。文件服務(wù)器可為任何類型的能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的服務(wù)器。實例文件服務(wù)器包含萬維網(wǎng)服務(wù)器(例如,用于網(wǎng)站)、文件發(fā)射協(xié)議(FTP)服務(wù)器、網(wǎng)絡(luò)連接存儲(NAS)裝置或本地磁盤驅(qū)動器。目的地裝置14可通過任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取經(jīng)編碼的視頻數(shù)據(jù)。此可包含無線信道(例如,無線局域網(wǎng)(WLAN)連接)、有線連接(例如,數(shù)字用戶線(DSL)、電纜調(diào)制解調(diào)器等)或適合于存取存儲在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲裝置31的發(fā)射可為流式發(fā)射發(fā)射、下載發(fā)射或兩者的組合。
本發(fā)明的技術(shù)不限于無線應(yīng)用或設(shè)置。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用中的任一者的視頻譯碼,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、例如經(jīng)由因特網(wǎng)的流視頻發(fā)射(例如,超文本傳送協(xié)議(HTTP)動態(tài)自適應(yīng)流式發(fā)射等)、用于存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射以支持例如視頻流式發(fā)射、視頻回放、視頻廣播及/或視頻電話等應(yīng)用。
在圖1A的實例中,源裝置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ī)電話”或“視頻電話”,如圖1B的實例中所說明。然而,本發(fā)明中所描述的技術(shù)一般來說可適用于視頻譯碼,且可應(yīng)用于無線和/或有線應(yīng)用。
可由視頻編碼器20對所捕獲、預(yù)捕獲或計算機(jī)產(chǎn)生的視頻進(jìn)行編碼??山?jīng)由源裝置12的輸出接口22將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14。還可(或替代地)將經(jīng)編碼視頻數(shù)據(jù)存儲到存儲裝置31上以用于稍后由目的地裝置14或其它裝置存取以供解碼和/或重放。圖1A和1B中說明的視頻編碼器20可包含圖2A中說明的視頻編碼器20、圖2B中說明的視頻編碼器23或本文中描述的任一其它視頻編碼器。
在圖1A的實例中,目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。在一些情況下,輸入接口28可包含接收器及/或調(diào)制解調(diào)器。目的地裝置14的輸入接口28可經(jīng)由鏈路16和/或從存儲裝置31接收經(jīng)編碼視頻數(shù)據(jù)。經(jīng)由鏈路16傳送或在存儲裝置31上提供的經(jīng)編碼視頻數(shù)據(jù)可包含由視頻編碼器20所產(chǎn)生的多種語法元素以供由例如視頻解碼器30等的視頻解碼器用于解碼視頻數(shù)據(jù)。此類語法元素可與在通信媒體上發(fā)射、存儲于存儲媒體上或存儲文件服務(wù)器的經(jīng)編碼視頻數(shù)據(jù)包含在一起。圖1A和1B中說明的視頻解碼器30可包括圖3A中說明的視頻解碼器30、圖3B中說明的視頻解碼器33或本文中描述的任一其它視頻解碼器。
顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些實例中,目的地裝置14可包含集成顯示裝置,且還可經(jīng)配置以與外部顯示裝置介接。在其它實例中,目的地裝置14可能是顯示裝置。一般來說,顯示裝置32將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
在相關(guān)方面中,圖1B展示實例視頻編碼和解碼系統(tǒng)10′,其中源裝置12和目的地裝置14在裝置11上或作為其一部分。裝置11可為電話手持機(jī),例如“智能”電話或類似者。裝置11可包含與源裝置12和目的地裝置14操作性通信的任選的控制器/處理器裝置13。圖1B的系統(tǒng)10′及其組件另外類似于圖1A的系統(tǒng)10及其組件。
視頻編碼器20和視頻解碼器30可根據(jù)例如HEVC等視頻壓縮標(biāo)準(zhǔn)操作,且可符合HEVC測試模型(HM)。替代地,視頻編碼器20和視頻解碼器30可根據(jù)其它專屬或業(yè)界標(biāo)準(zhǔn)或此類標(biāo)準(zhǔn)的擴(kuò)展來操作,所述標(biāo)準(zhǔn)例如ITU-T H.264標(biāo)準(zhǔn),或者被稱為MPEG-4第10部分AVC。但是,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實例包含MPEG-2和ITU-T H.263。
盡管圖1A和1B的實例中未展示,但視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當(dāng)?shù)亩嗦窂?fù)用器-多路分用器單元或其它硬件和軟件,以處置對共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。在一些實例中,如果適用的話,那么多路復(fù)用器-多路分用器單元可以符合ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(UDP)等其它協(xié)議。
視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器電路中的任一者,例如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分以軟件實施所述技術(shù)時,裝置可將用于所述軟件的指令存儲于合適非暫時性計算機(jī)可讀媒體中并使用一或多個處理器用硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者可以包含在一個或一個以上編碼器或解碼器中,所述編碼器或解碼器中的任一者可以集成為相應(yīng)裝置中的組合編碼器/解碼器(編解碼器)的一部分。
視頻譯碼過程
如上文簡要提及,視頻編碼器20編碼視頻數(shù)據(jù)。視頻數(shù)據(jù)可以包括一或多個圖片。圖片中的每一者為形成視頻的部分的靜態(tài)圖像。在一些情況下,圖片可被稱作視頻“幀”。當(dāng)視頻編碼器20編碼視頻數(shù)據(jù)時,視頻編碼器20可以產(chǎn)生位流。位流可包含形成視頻數(shù)據(jù)的經(jīng)譯碼表示的一連串位。位流可包含經(jīng)譯碼圖片和相關(guān)聯(lián)的數(shù)據(jù)。經(jīng)譯碼的圖片是圖片的經(jīng)譯碼的表示。
為了產(chǎn)生位流,視頻編碼器20可對視頻數(shù)據(jù)中的每一圖片執(zhí)行編碼操作。當(dāng)視頻編碼器20對圖片執(zhí)行編碼操作時,視頻編碼器20可產(chǎn)生一系列經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)。相關(guān)聯(lián)數(shù)據(jù)可包含視頻參數(shù)集(VPS)、序列參數(shù)集(SPS)、圖片參數(shù)集(PPS)、自適應(yīng)參數(shù)集(APS)和其它語法結(jié)構(gòu)。SPS可含有適用于圖片的零或更多序列的參數(shù)。PPS可含有適用于零或更多圖片的參數(shù)。APS可含有適用于零個或更多圖片的參數(shù)。APS中的參數(shù)可為比PPS中的參數(shù)更可能改變的參數(shù)。
為了產(chǎn)生經(jīng)譯碼圖片,視頻編碼器20可將圖片分割成大小相等的視頻塊。視頻塊可為樣本的二維陣列。視頻塊中的每一者與樹塊相關(guān)聯(lián)。在一些情況下,樹塊可被稱作最大譯碼單元(LCU)。HEVC的樹塊可廣泛類似于例如H.264/AVC等先前標(biāo)準(zhǔn)的宏塊。然而,樹塊不必限于特定大小,且可包含一或多個譯碼單元(CU)。視頻編碼器20可使用四叉樹分割來將樹塊的視頻塊分割成與CU相關(guān)聯(lián)的視頻塊(因此名稱為“樹塊”)。
在一些實例中,視頻編碼器20可將圖片分割成多個切片。切片中的每一者可包含整數(shù)數(shù)目個CU。在一些情況下,一個切片包括整數(shù)數(shù)目個樹塊。在其它情況下,切片的邊界可在樹塊內(nèi)。
作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。當(dāng)視頻編碼器20對切片執(zhí)行編碼操作時,視頻編碼器20可產(chǎn)生與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)。與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)可被稱為“經(jīng)譯碼切片”。
為產(chǎn)生經(jīng)譯碼切片,視頻編碼器20可對切片中的每一樹塊執(zhí)行編碼操作。當(dāng)視頻編碼器20對樹塊執(zhí)行編碼操作時,視頻編碼器20可產(chǎn)生經(jīng)譯碼樹塊。經(jīng)譯碼樹塊可包括表示樹塊的經(jīng)編碼型式的數(shù)據(jù)。
當(dāng)視頻編碼器20產(chǎn)生經(jīng)譯碼切片時,視頻編碼器20可根據(jù)光柵掃描次序?qū)η衅械臉鋲K執(zhí)行編碼操作(例如,編碼)。舉例來說,視頻編碼器20可按如下次序來對切片的樹塊進(jìn)行編碼:跨越切片中的樹塊的最頂行從左到右進(jìn)行,接著跨越樹塊的下一較低行從左到右進(jìn)行,以此類推,直到視頻編碼器20已對切片中的樹塊的每一者進(jìn)行了編碼為止。
作為根據(jù)光柵掃描次序編碼樹塊的結(jié)果,可已編碼在給定樹塊的上方和左邊的樹塊,但尚未編碼在給定樹塊的下方和右邊的樹塊。因此,當(dāng)對給定樹塊進(jìn)行編碼時,視頻編碼器20可能能夠存取通過對給定樹塊的上方和左邊的樹塊進(jìn)行編碼而產(chǎn)生的信息。然而,當(dāng)編碼給定樹塊時,視頻編碼器20可能不能夠存取通過編碼在給定樹塊的下方和右邊的樹塊而產(chǎn)生的信息。
為了產(chǎn)生經(jīng)譯碼樹塊,視頻編碼器20可對樹塊的視頻塊遞歸地執(zhí)行四叉樹分割以將視頻塊劃分為越來越小的視頻塊。較小視頻塊中的每一者可與不同CU相關(guān)聯(lián)。舉例來說,視頻編碼器20可將樹塊的視頻塊分割成四個大小相等的子塊、將所述子塊中的一或多者分割成四個大小相等的子子塊(sub-sub-block),以此類推。經(jīng)分割的CU可為其視頻塊被分割成與其它CU相關(guān)聯(lián)的視頻塊的CU。未分割CU可為其視頻塊未被分割成與其它CU相關(guān)聯(lián)的視頻塊的CU。
位流中的一或多個語法元素可指示視頻編碼器20可分割樹塊的視頻塊的最大次數(shù)。CU的視頻塊在形狀上可為正方形。CU的視頻塊的大小(例如,CU的大小)范圍可從8×8像素直至最大64×64像素或更大的樹塊的視頻塊大小(例如,樹塊的大小)。
視頻編碼器20可根據(jù)z掃描次序?qū)鋲K的每一CU執(zhí)行編碼運(yùn)算(例如編碼)。換句話說,視頻編碼器20可對左上CU、右上CU、左下CU和接著右下CU按所述次序進(jìn)行編碼。當(dāng)視頻編碼器20對經(jīng)分割的CU執(zhí)行編碼操作時,視頻編碼器20可根據(jù)z掃描次序?qū)εc經(jīng)分割的CU的視頻塊的子塊相關(guān)聯(lián)的CU進(jìn)行編碼。換句話說,視頻編碼器20可對與左上子塊相關(guān)聯(lián)的CU、與右上子塊相關(guān)聯(lián)的CU、與左下子塊相關(guān)聯(lián)的CU,且接著與右下子塊相關(guān)聯(lián)的CU按所述順序進(jìn)行編碼。
作為根據(jù)z掃描次序編碼樹塊的CU的結(jié)果,可已編碼在給定CU的上方、左上方、右上方、左邊的左下方的CU。尚未對給定CU的右下方的CU進(jìn)行編碼。因此,當(dāng)對給定CU進(jìn)行編碼時,視頻編碼器20可能能夠存取通過對與給定CU相鄰的一些CU進(jìn)行編碼而產(chǎn)生的信息。然而,當(dāng)編碼給定CU時,視頻編碼器20可能不能夠存取通過編碼鄰接給定CU的其它CU而產(chǎn)生的信息。
當(dāng)視頻編碼器20編碼未經(jīng)分割CU時,視頻編碼器20可產(chǎn)生所述CU的一或多個預(yù)測單元(PU)。CU的PU中的每一者可與CU的視頻塊內(nèi)的不同視頻塊相關(guān)聯(lián)。視頻編碼器20可產(chǎn)生用于CU的每一PU的經(jīng)預(yù)測視頻塊。PU的經(jīng)預(yù)測視頻塊可為樣本塊。視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生PU的經(jīng)預(yù)測視頻塊。
當(dāng)視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生PU的經(jīng)預(yù)測視頻塊時,視頻編碼器20可基于與PU相關(guān)聯(lián)的圖片的經(jīng)解碼樣本來產(chǎn)生PU的經(jīng)預(yù)測視頻塊。如果視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生CU的PU的經(jīng)預(yù)測視頻塊,那么CU為經(jīng)幀內(nèi)預(yù)測的CU。當(dāng)視頻編碼器20使用幀間預(yù)測來產(chǎn)生PU的經(jīng)預(yù)測視頻塊時,視頻編碼器20可基于不同于與PU相關(guān)聯(lián)的圖片的一或多個圖片的經(jīng)解碼樣本而產(chǎn)生PU的經(jīng)預(yù)測視頻塊。如果視頻編碼器20使用幀間預(yù)測來產(chǎn)生CU的PU的經(jīng)預(yù)測視頻塊,那么所述CU為經(jīng)幀間預(yù)測CU。
此外,當(dāng)視頻編碼器20使用幀間預(yù)測來產(chǎn)生PU的經(jīng)預(yù)測視頻塊時,視頻編碼器20可產(chǎn)生PU的運(yùn)動信息。PU的運(yùn)動信息可指示PU的一或多個參考塊。PU的每一參考塊可為參考圖片內(nèi)的視頻塊。參考圖片可為除與PU相關(guān)聯(lián)的圖片以外的圖片。在一些情況下,PU的參考塊也可被稱作PU的“參考樣本”。視頻編碼器20可基于PU的參考塊產(chǎn)生所述PU的預(yù)測視頻塊。
在視頻編碼器20產(chǎn)生CU的一或多個PU的經(jīng)預(yù)測視頻塊之后,視頻編碼器20可基于CU的PU的經(jīng)預(yù)測視頻塊而產(chǎn)生CU的殘余數(shù)據(jù)。CU的殘差數(shù)據(jù)可指示用于CU的PU的預(yù)測視頻塊中的樣本與CU的原始視頻塊之間的差。
此外,作為對未分割的CU執(zhí)行編碼操作的部分,視頻編碼器20可對CU的殘余數(shù)據(jù)執(zhí)行遞歸四叉樹分割以將CU的殘余數(shù)據(jù)分割成與CU的變換單元(TU)相關(guān)聯(lián)的一或多個殘余數(shù)據(jù)塊(例如,殘余視頻塊)。CU的每一TU可與不同殘差視頻塊相關(guān)聯(lián)。
視頻編碼器20可將一或多個變換應(yīng)用到與TU相關(guān)聯(lián)的殘余視頻塊以產(chǎn)生與TU相關(guān)聯(lián)的變換系數(shù)塊(例如,變換系數(shù)塊)。在概念上,變換系數(shù)塊可為變換系數(shù)的二維(2D)矩陣。
在產(chǎn)生變換系數(shù)塊之后,視頻編碼器20可對所述變換系數(shù)塊執(zhí)行量化處理。量化總體上是指對變換系數(shù)進(jìn)行量化以可能減少用以表示變換系數(shù)的數(shù)據(jù)的量從而提供進(jìn)一步壓縮的過程。量化過程可減少與變換系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。例如,可在量化期間將n位變換系數(shù)向下舍入到m位變換系數(shù),其中n大于m。
視頻編碼器20可使每一CU與量化參數(shù)(QP)值相關(guān)聯(lián)。與CU相關(guān)聯(lián)的QP值可確定視頻編碼器20如何對與CU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行量化。視頻編碼器20可通過調(diào)整與CU相關(guān)聯(lián)的QP值來調(diào)整應(yīng)用于與CU相關(guān)聯(lián)的變換系數(shù)塊的量化的程度。
在視頻編碼器20量化變換系數(shù)塊之后,視頻編碼器20可產(chǎn)生表示經(jīng)量化變換系數(shù)塊中的變換系數(shù)的語法元素集。視頻編碼器20可將例如上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)操作等熵編碼操作應(yīng)用于這些語法元素中的一些。也可使用例如上下文自適應(yīng)可變長度譯碼(CAVLC)、概率區(qū)間分割熵(PIPE)譯碼或其它二進(jìn)制算術(shù)譯碼的其它熵譯碼技術(shù)。
由視頻編碼器20產(chǎn)生的位流可包含一系列網(wǎng)絡(luò)抽象層(NAL)單元。所述NAL單元中的每一者可為含有NAL單元中的數(shù)據(jù)類型的指示及含有數(shù)據(jù)的字節(jié)的語法結(jié)構(gòu)。舉例來說,NAL單元可含有表示視頻參數(shù)集、序列參數(shù)集、圖片參數(shù)集、經(jīng)譯碼切片、補(bǔ)充增強(qiáng)信息(SEI)、存取單元分隔符、填充數(shù)據(jù)或另一類型的數(shù)據(jù)的數(shù)據(jù)。NAL單元中的數(shù)據(jù)可包含各種語法結(jié)構(gòu)。
視頻解碼器30可接收由視頻編碼器20產(chǎn)生的位流。位流可包含由視頻編碼器20編碼的視頻數(shù)據(jù)的經(jīng)譯碼表示。當(dāng)視頻解碼器30接收到位流時,視頻解碼器30可對位流執(zhí)行解析操作。當(dāng)視頻解碼器30執(zhí)行剖析操作時,視頻解碼器30可從位流提取語法元素。視頻解碼器30可基于從位流提取的語法元素而重建視頻數(shù)據(jù)的圖片?;谡Z法元素而重建視頻數(shù)據(jù)的過程一般可與由視頻編碼器20執(zhí)行以產(chǎn)生語法元素的過程互逆。
在視頻解碼器30提取與CU相關(guān)聯(lián)的語法元素之后,視頻解碼器30可基于所述語法元素產(chǎn)生用于CU的PU的經(jīng)預(yù)測視頻塊。另外,視頻解碼器30可對與CU的TU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行反量化。視頻解碼器30可對變換系數(shù)塊執(zhí)行反變換以重構(gòu)與CU的TU相關(guān)聯(lián)的殘差視頻塊。在產(chǎn)生經(jīng)預(yù)測視頻塊且重構(gòu)殘余視頻塊之后,視頻解碼器30可基于經(jīng)預(yù)測視頻塊及殘余視頻塊重構(gòu)CU的視頻塊。以此方式,視頻解碼器30可基于位流中的語法元素重建CU的視頻塊。
視頻編碼器
圖2A是說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的視頻編碼器20的實例的框圖。視頻編碼器20可經(jīng)配置以處理視頻幀的單層(例如,針對HEVC)。此外,視頻編碼器20可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部,包含(但不限于)上文和下文關(guān)于圖4和5更詳細(xì)地描述的推斷NoOutputOfPriorPicsFlag的方法和相關(guān)過程。作為一個實例,預(yù)測處理單元100可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。在另一實施例中,視頻編碼器20包含任選層間預(yù)測單元128,所述層間預(yù)測單元經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。在其它實施例中,層間預(yù)測可由預(yù)測處理單元100(例如,幀間預(yù)測單元121及/或幀內(nèi)預(yù)測單元126)執(zhí)行,在此情況下可省略層間預(yù)測單元128。然而,本發(fā)明的方面不限于此。在一些實例中,本發(fā)明中描述的技術(shù)可在視頻編碼器20的各種組件之間共享。在一些實例中,另外或替代地,處理器(未圖示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。
出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。圖2A中所描繪的實例是針對單層編解碼器。然而,如將關(guān)于圖2B進(jìn)一步描述,可復(fù)制視頻編碼器20中的一些或全部以用于多層編解碼器的處理。
視頻編碼器20可對視頻切片內(nèi)的視頻塊執(zhí)行幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測來減小或移除給定視頻幀或圖片內(nèi)的視頻的空間冗余。幀間譯碼依靠時間預(yù)測來減少或移除視頻序列的鄰近幀或圖片內(nèi)的視頻中的時間冗余。幀內(nèi)模式(I模式)可指代若干基于空間的譯碼模式中的任一者。例如單向預(yù)測(P模式)或雙向預(yù)測(B模式)等幀間模式可指代若干基于時間的譯碼模式中的任一者。
在圖2A的實例中,視頻編碼器20包含多個功能組件。視頻編碼器20的功能組件包含預(yù)測處理單元100、殘余產(chǎn)生單元102、變換處理單元104、量化單元106、反量化單元108、反變換單元110、重構(gòu)單元112、濾波器單元113、經(jīng)解碼圖片緩沖器114和熵編碼單元116。預(yù)測處理單元100包含幀間預(yù)測單元121、運(yùn)動估計單元122、運(yùn)動補(bǔ)償單元124、幀內(nèi)預(yù)測單元126及層間預(yù)測單元128。在其它實例中,視頻編碼器20可包含更多、更少或不同功能組件。此外,運(yùn)動估計單元122與運(yùn)動補(bǔ)償單元124可高度集成,但出于解釋的目的而在圖2A的實例中分開來表示。
視頻編碼器20可接收視頻數(shù)據(jù)。視頻編碼器20可從各種源接收視頻數(shù)據(jù)。舉例來說,視頻編碼器20可自視頻源18(例如,圖1A或1B中所展示)或另一源接收視頻數(shù)據(jù)。視頻數(shù)據(jù)可表示一系列圖片。為編碼視頻數(shù)據(jù),視頻編碼器20可對圖片中的每一者執(zhí)行編碼操作。作為對圖片執(zhí)行編碼操作的一部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。作為對切片執(zhí)行編碼操作的部分,視頻編碼器20可對切片中的樹塊執(zhí)行編碼操作。
作為對樹塊執(zhí)行編碼操作的部分,預(yù)測處理單元100可對樹塊的視頻塊執(zhí)行四叉樹分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一者可與不同CU相關(guān)聯(lián)。舉例來說,預(yù)測處理單元100可將樹塊的視頻塊分割成四個相等大小的子塊,將所述子塊中的一或多者分割成四個相等大小的子子塊,等等。
與CU相關(guān)聯(lián)的視頻塊的大小范圍可從8x8樣本高達(dá)最大64x64像素或更大的樹塊大小。在本發(fā)明中,“N×N”與“N乘N”可互換使用來指代在垂直和水平維度方面的視頻塊的樣本尺寸,例如,16×16個樣本或16乘16個樣本。一般來說,16x16視頻塊在垂直方向上具有16個樣本(y=16),且在水平方向上具有16個樣本(x=16)。同樣,NxN塊一般在垂直方向上具有N個樣本,且在水平方向上具有N個樣本,其中N表示非負(fù)整數(shù)值。
另外,作為對樹塊執(zhí)行編碼操作的部分,預(yù)測處理單元100可產(chǎn)生用于所述樹塊的階層式四叉樹數(shù)據(jù)結(jié)構(gòu)。例如,樹塊可對應(yīng)于四叉樹數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)。如果預(yù)測處理單元100將樹塊的視頻塊分割成四個子塊,那么根節(jié)點(diǎn)在四叉樹數(shù)據(jù)結(jié)構(gòu)中具有四個子級節(jié)點(diǎn)。所述子節(jié)點(diǎn)中的每一者對應(yīng)于與子塊中的一者相關(guān)聯(lián)的CU。如果預(yù)測處理單元100將子塊中的一者分割成四個子子塊,那么對應(yīng)于與子塊相關(guān)聯(lián)的CU的節(jié)點(diǎn)可具有四個子級節(jié)點(diǎn),其中的每一者對應(yīng)于與子子塊中的一者相關(guān)聯(lián)的CU。
四叉樹數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可含有用于對應(yīng)樹塊或CU的語法數(shù)據(jù)(例如,語法元素)。例如,四分樹中的節(jié)點(diǎn)可包含分裂旗標(biāo),其指示對應(yīng)于所述節(jié)點(diǎn)的CU的視頻塊是否被分割(例如,分裂)成四個子塊。用于CU的語法元素可遞歸地界定,且可取決于所述CU的視頻塊是否分裂成子塊。視頻塊未被分割的CU可對應(yīng)于四叉樹數(shù)據(jù)結(jié)構(gòu)中的葉節(jié)點(diǎn)。經(jīng)譯碼樹塊可包含基于對應(yīng)樹塊的四分樹數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。
視頻編碼器20可對樹塊的每一未經(jīng)分割的CU執(zhí)行編碼操作。當(dāng)視頻編碼器20對未經(jīng)分割的CU執(zhí)行編碼操作時,視頻編碼器20產(chǎn)生表示未經(jīng)分割的CU的經(jīng)編碼表示的數(shù)據(jù)。
作為對CU執(zhí)行編碼操作的部分,預(yù)測處理單元100可在CU的一或多個PU間分割CU的視頻塊。視頻編碼器20和視頻解碼器30可支持各種PU大小。假定特定CU的大小為2Nx2N,視頻編碼器20及視頻解碼器30可支持2Nx2N或NxN的PU大小,及2N×2N、2N×N、N×2N、N×N、2N×nU、nL×2N、nR×2N或類似的對稱PU大小的幀間預(yù)測。視頻編碼器20和視頻解碼器30還可支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不對稱分割。在一些實例中,預(yù)測處理單元100可執(zhí)行幾何分割以沿并不按直角與CU的視頻塊的側(cè)會合的邊界來在CU的PU間分割CU的視頻塊。
幀間預(yù)測單元121可對CU的每一PU執(zhí)行幀間預(yù)測。幀間預(yù)測可提供時間壓縮。為了對PU執(zhí)行幀間預(yù)測,運(yùn)動估計單元122可產(chǎn)生PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元124可基于運(yùn)動信息和除與CU相關(guān)聯(lián)的圖片(例如,參考圖片)以外的圖片的經(jīng)解碼樣本而產(chǎn)生PU的經(jīng)預(yù)測視頻塊。在本發(fā)明中,由運(yùn)動補(bǔ)償單元124產(chǎn)生的經(jīng)預(yù)測視頻塊可稱作經(jīng)幀間預(yù)測視頻塊。
切片可為I切片、P切片,或B切片。運(yùn)動估計單元122和運(yùn)動補(bǔ)償單元124可取決于PU處于I切片、P切片還是B切片中而對CU的PU執(zhí)行不同操作。在I切片中,所有PU都是經(jīng)幀內(nèi)預(yù)測。因此,如果PU在I切片中,那么運(yùn)動估計單元122及運(yùn)動補(bǔ)償單元124不對PU執(zhí)行幀間預(yù)測。
如果PU在P切片中,那么含有所述PU的圖片與被稱作“列表0”的參考圖片列表相關(guān)聯(lián)。列表0中的參考圖片中的每一者含有可用于其它圖片的幀間預(yù)測的樣本。當(dāng)運(yùn)動估計單元122關(guān)于P切片中的PU執(zhí)行運(yùn)動估計操作時,運(yùn)動估計單元122可搜索列表0中的參考圖片以找出PU的參考塊。PU的參考塊可為最緊密對應(yīng)于PU的視頻塊中的樣本的一組樣本,例如樣本塊。運(yùn)動估計單元122可使用多種度量來確定參考圖片中的一組樣本對應(yīng)于PU的視頻塊中的樣本的緊密程度。例如,運(yùn)動估計單元122可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異度量來確定參考圖片中的一組樣本對應(yīng)于PU的視頻塊中的樣本的接近程度。
在識別出P切片中的PU的參考塊之后,運(yùn)動估計單元122可產(chǎn)生指示列表0中含有參考塊的參考圖片的參考索引,以及指示PU與參考塊之間的空間位移的運(yùn)動向量。在各種實例中,運(yùn)動估計單元122可以不同精確度產(chǎn)生運(yùn)動向量。舉例來說,運(yùn)動估計單元122可以四分之一樣本精確度、八分之一樣本精確度或其它分?jǐn)?shù)樣本精確度產(chǎn)生運(yùn)動向量。在分?jǐn)?shù)樣本精確度的情況下,參考塊值可從參考圖片中的整數(shù)位置樣本值內(nèi)插。運(yùn)動估計單元122可將參考索引及運(yùn)動向量輸出為PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元124可基于由PU的運(yùn)動信息識別的參考塊而產(chǎn)生PU的經(jīng)預(yù)測視頻塊。
如果PU處于B切片中,那么含有PU的圖片可與被稱作“列表0”和“清單1”的兩個參考圖片列表相關(guān)聯(lián)。在一些實例中,含有B切片的圖片可與為列表0與列表1的組合的列表組合相關(guān)聯(lián)。
此外,如果PU在B切片中,那么運(yùn)動估計單元122可對PU執(zhí)行單向預(yù)測或雙向預(yù)測。當(dāng)運(yùn)動估計單元122對PU執(zhí)行單向預(yù)測時,運(yùn)動估計單元122可搜索列表0或列表1中的參考圖片以找出用于所述PU的參考塊。運(yùn)動估計單元122可隨后產(chǎn)生指示列表0或列表1中的含有參考塊的參考圖片的參考索引和指示PU與參考塊之間的空間位移的運(yùn)動向量。運(yùn)動估計單元122可輸出參考索引、預(yù)測方向指示符和運(yùn)動向量作為所述PU的運(yùn)動信息。預(yù)測方向指示符可指示參考索引指示列表0還是列表1中的參考圖片。運(yùn)動補(bǔ)償單元124可基于由PU的運(yùn)動信息指示的參考塊來產(chǎn)生PU的經(jīng)預(yù)測視頻塊。
當(dāng)運(yùn)動估計單元122針對PU執(zhí)行雙向預(yù)測時,運(yùn)動估計單元122可搜索列表0中的參考圖片以找到用于所述PU的參考塊,且還可搜索列表1中的參考圖片以找到用于所述PU的另一參考塊。運(yùn)動估計單元122可隨后產(chǎn)生指示列表0和列表1中的含有參考塊的參考圖片的參考索引和指示參考塊與PU之間的空間位移的運(yùn)動向量。運(yùn)動估計單元122可輸出PU的參考索引及運(yùn)動向量作為PU的運(yùn)動信息。運(yùn)動補(bǔ)償單元124可基于由PU的運(yùn)動信息指示的參考塊而產(chǎn)生PU的經(jīng)預(yù)測視頻塊。
在一些情況下,運(yùn)動估計單元122不將PU的運(yùn)動信息的完整集合輸出到熵編碼單元116。實際上,運(yùn)動估計單元122可參考另一PU的運(yùn)動信息用信號表示PU的運(yùn)動信息。舉例來說,運(yùn)動估計單元122可確定PU的運(yùn)動信息足夠類似于相鄰PU的運(yùn)動信息。在此實例中,運(yùn)動估計單元122可在與PU相關(guān)聯(lián)的語法結(jié)構(gòu)中指示一值,所述值向視頻解碼器30指示PU具有與相鄰PU相同的運(yùn)動信息。在另一實例中,運(yùn)動估計單元122可在與PU相關(guān)聯(lián)的語法結(jié)構(gòu)中識別相鄰PU和運(yùn)動向量差(MVD)。運(yùn)動向量差指示PU的運(yùn)動向量與所指示的相鄰PU的運(yùn)動向量之間的差。視頻解碼器30可使用所指示的相鄰PU的運(yùn)動向量和運(yùn)動向量差來確定PU的運(yùn)動向量。通過在用信號表示第二PU的運(yùn)動信息時參考第一PU的運(yùn)動信息,視頻編碼器20可能能夠使用較少位用信號表示第二PU的運(yùn)動信息。
如下文參考圖8至9進(jìn)一步論述,預(yù)測處理單元100可配置以通過執(zhí)行圖8至9中所說明的方法譯碼(例如,編碼或解碼)PU(或任何其它參考層和/或增強(qiáng)層框或視頻單元)舉例來說,幀間預(yù)測單元121(例如,經(jīng)由運(yùn)動估計單元122和/或運(yùn)動補(bǔ)償單元124)、幀內(nèi)預(yù)測單元126或?qū)娱g預(yù)測單元128可經(jīng)配置以一起或分開地執(zhí)行圖8至9中說明的方法。
作為對CU執(zhí)行編碼操作的部分,幀內(nèi)預(yù)測單元126可對CU的PU執(zhí)行幀內(nèi)預(yù)測。幀內(nèi)預(yù)測可提供空間壓縮。當(dāng)幀內(nèi)預(yù)測單元126對PU執(zhí)行幀內(nèi)預(yù)測時,幀內(nèi)預(yù)測單元126可基于同一圖片中的其它PU的經(jīng)解碼樣本來產(chǎn)生用于PU的預(yù)測數(shù)據(jù)。用于PU的預(yù)測數(shù)據(jù)可包含經(jīng)預(yù)測視頻塊和各種語法元素。幀內(nèi)預(yù)測單元126可對I切片、P切片和B切片中的PU執(zhí)行幀內(nèi)預(yù)測。
為了對PU執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測單元126可使用多個幀內(nèi)預(yù)測模式以產(chǎn)生用于PU的預(yù)測數(shù)據(jù)的多個集合。當(dāng)幀內(nèi)預(yù)測單元126使用幀內(nèi)預(yù)測模式來產(chǎn)生PU的預(yù)測數(shù)據(jù)的集合時,幀內(nèi)預(yù)測單元126可在與幀內(nèi)預(yù)測模式相關(guān)聯(lián)的方向和/或梯度上跨越PU的視頻塊從相鄰PU的視頻塊擴(kuò)展樣本。相鄰PU可在所述PU的上方、右上方、左上方或左側(cè),假定對于PU、CU和樹塊采用從左到右、從上到下的編碼次序。幀內(nèi)預(yù)測單元126可取決于PU的大小而使用各種數(shù)目個幀內(nèi)預(yù)測模式,例如33個定向幀內(nèi)預(yù)測模式。
預(yù)測處理單元100可從由運(yùn)動補(bǔ)償單元124針對PU產(chǎn)生的預(yù)測數(shù)據(jù)或由幀內(nèi)預(yù)測單元126針對PU產(chǎn)生的預(yù)測數(shù)據(jù)當(dāng)中選擇用于PU的預(yù)測數(shù)據(jù)。在一些實例中,預(yù)測處理單元100基于預(yù)測數(shù)據(jù)集合的速率/失真度量而選擇PU的預(yù)測數(shù)據(jù)。
如果預(yù)測處理單元100選擇由幀內(nèi)預(yù)測單元126產(chǎn)生的預(yù)測數(shù)據(jù),那么預(yù)測處理單元100可用信號表示用以產(chǎn)生用于PU的預(yù)測數(shù)據(jù)的幀內(nèi)預(yù)測模式,例如,選定幀內(nèi)預(yù)測模式。預(yù)測處理單元100可以各種方式用傳信所選幀內(nèi)預(yù)測模式。舉例來說,有可能所選幀內(nèi)預(yù)測模式與相鄰PU的幀內(nèi)預(yù)測模式相同。換句話說,相鄰PU的幀內(nèi)預(yù)測模式可為用于當(dāng)前PU的最可能模式。因此,預(yù)測處理單元100可產(chǎn)生用以指示選定幀內(nèi)預(yù)測模式與相鄰PU的幀內(nèi)預(yù)測模式相同的語法元素。
如上文所論述,視頻編碼器20可包含層間預(yù)測單元128。層間預(yù)測單元128經(jīng)配置以使用可用于SVC中的一或多個不同層(例如,基礎(chǔ)或參考層)預(yù)測當(dāng)前塊(例如,EL中的當(dāng)前塊)。此預(yù)測可稱作層間預(yù)測。層間預(yù)測單元128利用預(yù)測方法以減少層間冗余,進(jìn)而改進(jìn)譯碼效率且降低計算資源要求。層間預(yù)測的一些實例可包含層間幀內(nèi)預(yù)測、層間運(yùn)動預(yù)測及層間殘差預(yù)測。層間幀內(nèi)預(yù)測使用基礎(chǔ)層中的協(xié)同定位塊的重建來預(yù)測增強(qiáng)層中的當(dāng)前塊。層間運(yùn)動預(yù)測使用基礎(chǔ)層的運(yùn)動信息來預(yù)測增強(qiáng)層中的運(yùn)動信息。層間殘差預(yù)測使用基礎(chǔ)層的殘差來預(yù)測增強(qiáng)層的殘差。下文更詳細(xì)地論述層間預(yù)測方案中的每一者。
在預(yù)測處理單元100選擇用于CU的PU的預(yù)測數(shù)據(jù)之后,殘余產(chǎn)生單元102可通過從CU的視頻塊減去(例如,由減號指示)CU的PU的經(jīng)預(yù)測視頻塊而產(chǎn)生用于CU的殘余數(shù)據(jù)。CU的殘差數(shù)據(jù)可包含對應(yīng)于CU的視頻塊中的樣本的不同樣本分量的2D殘差視頻塊。舉例來說,殘差數(shù)據(jù)可包含對應(yīng)于CU的PU的經(jīng)預(yù)測視頻塊中的樣本的明度分量與CU的原始視頻塊中的樣本的明度分量之間的差的殘差視頻塊。另外,CU的殘余數(shù)據(jù)可包含對應(yīng)于CU的PU的預(yù)測視頻塊中的樣本的色度分量與CU的原始視頻塊中的樣本的色度分量之間的差的殘余視頻塊。
預(yù)測處理單元100可執(zhí)行四叉樹分割以將CU的殘余視頻塊分割成子塊。每一未經(jīng)劃分的殘余視頻塊可與CU的不同TU相關(guān)聯(lián)。與CU的TU相關(guān)聯(lián)的殘余視頻塊的大小及位置可基于或可不基于與CU的PU相關(guān)聯(lián)的視頻塊的大小及位置。被稱為“殘差四叉樹”(RQT)的四叉樹結(jié)構(gòu)可包含與殘差視頻塊中的每一者相關(guān)聯(lián)的節(jié)點(diǎn)。CU的TU可以對應(yīng)于RQT的葉節(jié)點(diǎn)。
變換處理單元104可通過將一或多個變換應(yīng)用于與CU的每一TU相關(guān)聯(lián)的殘余視頻塊而產(chǎn)生用于所述TU的一或多個變換系數(shù)塊。變換系數(shù)塊中的每一者可為變換系數(shù)的2D矩陣。變換處理單元104可將各種變換應(yīng)用于與TU相關(guān)聯(lián)的殘余視頻塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、方向性變換或概念上類似的變換應(yīng)用到與TU相關(guān)聯(lián)的殘余視頻塊。
在變換處理單元104產(chǎn)生與TU相關(guān)聯(lián)的變換系數(shù)塊之后,量化單元106可量化所述變換系數(shù)塊中的變換系數(shù)。量化單元106可基于與CU相關(guān)聯(lián)的QP值而對與CU的TU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行量化。
視頻編碼器20可以各種方式使QP值與CU相關(guān)聯(lián)。例如,視頻編碼器20可對與CU相關(guān)聯(lián)的樹塊執(zhí)行速率失真分析。在速率-失真分析中,視頻編碼器20可通過對樹塊執(zhí)行多次編碼操作而產(chǎn)生樹塊的多個經(jīng)譯碼表示。當(dāng)視頻編碼器20產(chǎn)生樹塊的不同經(jīng)編碼表示時,視頻編碼器20可使不同QP值與CU相關(guān)聯(lián)。當(dāng)給定QP值與具有最低位速率和失真度量的樹塊的經(jīng)譯碼表示中的CU相關(guān)聯(lián)時,視頻編碼器20可用信號表示給定QP值與CU相關(guān)聯(lián)。
反量化單元108和反變換單元110可分別將反量化及反變換應(yīng)用于變換系數(shù)塊以從變換系數(shù)塊重構(gòu)殘余視頻塊。重構(gòu)單元112可將經(jīng)重構(gòu)的殘余視頻塊添加到來自由預(yù)測處理單元100產(chǎn)生的一或多個預(yù)測視頻塊的對應(yīng)樣本,以產(chǎn)生與TU相關(guān)聯(lián)的經(jīng)重構(gòu)視頻塊。通過以此方式重構(gòu)用于CU的每一TU的視頻塊,視頻編碼器20可重構(gòu)CU的視頻塊。
在重構(gòu)單元112重構(gòu)CU的視頻塊之后,濾波器單元113可執(zhí)行解塊操作以減小與所述CU相關(guān)聯(lián)的視頻塊中的成塊假象。在執(zhí)行一或多個解塊操作之后,濾波器單元113可將CU的經(jīng)重構(gòu)視頻塊存儲在經(jīng)解碼圖片緩沖器114中。運(yùn)動估計單元122和運(yùn)動補(bǔ)償單元124可使用含有經(jīng)重構(gòu)視頻塊的參考圖片來對后續(xù)圖片的PU執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測單元126可使用經(jīng)解碼圖片緩沖器114中的經(jīng)重構(gòu)視頻塊對處于與CU相同圖片中的其它PU執(zhí)行幀內(nèi)預(yù)測。
熵編碼單元116可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來說,熵編碼單元116可從量化單元106接收變換系數(shù)塊且可從預(yù)測處理單元100接收語法元素。當(dāng)熵編碼單元116接收到數(shù)據(jù)時,熵編碼單元116可執(zhí)行一或多個熵編碼操作以產(chǎn)生經(jīng)熵編碼數(shù)據(jù)。舉例來說,視頻編碼器20可對數(shù)據(jù)執(zhí)行上下文自適應(yīng)可變長度譯碼(CAVLC)操作、CABAC操作、可變到可變(V2V)長度譯碼操作、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)操作、概率區(qū)間分割熵(PIPE)譯碼操作或另一類型的熵編碼操作。熵編碼單元116可輸出包含經(jīng)熵編碼數(shù)據(jù)的位流。
作為對數(shù)據(jù)執(zhí)行熵編碼操作的一部分,熵編碼單元116可選擇上下文模型。如果熵編碼單元116正執(zhí)行CABAC操作,那么上下文模型可指示特定二進(jìn)制數(shù)具有特定值的概率的估計。在CABAC的情況下,術(shù)語“二進(jìn)位”用以指語法元素的二進(jìn)制化版本的位。
多層視頻編碼器
圖2B為說明可實施根據(jù)本發(fā)明中所描述的方面的技術(shù)的多層視頻編碼器23(也被簡稱為視頻編碼器23)的實例的框圖。視頻編碼器23可經(jīng)配置以處理多層視頻幀,例如,用于SHVC及多視圖譯碼。此外,視頻編碼器23可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。
視頻編碼器23包括視頻編碼器20A和視頻編碼器20B,其中的每一者可經(jīng)配置為視頻編碼器20且可執(zhí)行上文關(guān)于視頻編碼器20所描述的功能。此外,如再使用參考數(shù)字所指示,視頻編碼器20A和20B可包含系統(tǒng)及子系統(tǒng)中的至少一些作為視頻編碼器20。盡管將視頻編碼器23說明為包含兩個視頻編碼器20A和20B,但視頻編碼器23不被如此限制,且可包含任何數(shù)目的視頻編碼器20層。在一些實施例中,視頻編碼器23可包括針對存取單元中的每一圖片或幀的視頻編碼器20。例如,包含五個圖片的存取單元可由包含五個編碼器層的視頻編碼器處理或編碼。在一些實施例中,視頻編碼器23可包括比存取單元中的幀更多的編碼器層。在一些此類情況下,當(dāng)處理一些存取單元時,一些視頻編碼器層可能不在作用中。
除了視頻編碼器20A及20B之外,視頻編碼器23可包含再取樣單元90。在一些情況下,再取樣單元90可對所接收的視頻幀的基礎(chǔ)層進(jìn)行上取樣,以例如創(chuàng)建增強(qiáng)層。再取樣單元90可對與幀的所接收的基礎(chǔ)層相關(guān)聯(lián)的特定信息上取樣,但不對其它信息上取樣。例如,再取樣單元90可對基礎(chǔ)層的空間大小或像素數(shù)目上取樣,但切片的數(shù)目或POC可保持恒定。在一些情況下,再取樣單元90可不處理所接收的視頻及/或可為任選的。舉例來說,在一些情況下,預(yù)測處理單元100可執(zhí)行上取樣。在一些實施例中,再取樣單元90經(jīng)配置以對層進(jìn)行上取樣且重新組織、重新界定、修改或調(diào)整一或多個切片以符合一組切片邊界規(guī)則及/或光柵掃描規(guī)則。雖然主要描述為對基礎(chǔ)層或存取單元中的較低層進(jìn)行上取樣,但在一些情況下,再取樣單元90可對層進(jìn)行下取樣。例如,如果在視頻的流式發(fā)射期間減小帶寬,那么可對幀進(jìn)行下取樣而不是上取樣。
再取樣單元90可經(jīng)配置以從較低層編碼器(例如,視頻編碼器20A)的經(jīng)解碼圖片緩沖器114接收圖片或幀(或與圖片相關(guān)聯(lián)的圖片信息)且對所述圖片(或所接收的圖片信息)進(jìn)行上取樣??山又鴮⑺鼋?jīng)上取樣圖片提供到較高層編碼器(例如,視頻編碼器20B)的預(yù)測處理單元100,所述較高層編碼器經(jīng)配置以編碼與較低層編碼器相同的存取單元中的圖片。在一些情況下,較高層編碼器為從較低層編碼器移除的一個層。在其它狀況下,在圖2B的層0視頻編碼器與層1編碼器之間可存在一或多個較高層編碼器。
在一些情況下,可省略或繞過再取樣單元90。在這些情況下,可直接或在至少不提供到再取樣單元90的情況下將來自視頻編碼器20A的經(jīng)解碼圖片緩沖器114的圖片提供到視頻編碼器20B的預(yù)測處理單元100。舉例來說,如果提供到視頻編碼器20B的視頻數(shù)據(jù)和來自視頻編碼器20A的經(jīng)解碼圖片緩沖器114的參考圖片具有相同的大小或分辨率,那么可將參考圖片提供到視頻編碼器20B而沒有任何再取樣。
在一些實施例中,視頻編碼器23使用下取樣單元94對將提供到較低層編碼器的視頻數(shù)據(jù)下取樣,之后將所述視頻數(shù)據(jù)提供到視頻編碼器20A。替代地,下取樣單元94可為能夠?qū)σ曨l數(shù)據(jù)上取樣或下取樣的再取樣單元90。在另外其它實施例中,可省略下取樣單元94。
如圖2B中所說明,視頻編碼器23可進(jìn)一步包括多路復(fù)用器98或多路復(fù)用器(mux)。多路復(fù)用器98可從視頻編碼器23輸出組合的位流??赏ㄟ^從視頻編碼器20A和20B中的每一者取得位流且交變在給定時間輸出哪一位流來創(chuàng)造組合的位流。雖然在一些情況下,可一次一個位地交替來自兩個(或在兩個以上視頻編碼器層的情況下更多)位流的位,但在許多情況下,不同地組合所述位流。舉例來說,可通過一次一個塊地交替所選位流來產(chǎn)生輸出位流。在另一實例中,可通過從視頻編碼器20A和20B中的每一者輸出非1:1比率的塊來產(chǎn)生輸出位流。舉例來說,可從視頻編碼器20B輸出用于從視頻編碼器20A輸出的每一塊的兩個塊。在一些實施例中,可預(yù)編程來自多路復(fù)用器98的輸出流。在其它實施例中,多路復(fù)用器98可基于從視頻編碼器23外部的系統(tǒng)(例如,從包含源裝置12的源裝置上的處理器)接收的控制信號而組合來自視頻編碼器20A、20B的位流。可基于來自視頻源18的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關(guān)聯(lián)的預(yù)訂(例如,付費(fèi)預(yù)訂與免費(fèi)預(yù)訂),或基于用于確定來自視頻編碼器23的所要分辨率輸出的任何其它因素來產(chǎn)生控制信號。
視頻解碼器
圖3A為說明可實施本發(fā)明中描述的方面的技術(shù)的視頻解碼器30的實例的框圖。視頻解碼器30可經(jīng)配置以處理視頻幀的單層(例如針對HEVC)。此外,視頻解碼器30可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部,包含(但不限于)上文和下文關(guān)于圖4和5更詳細(xì)地描述的推斷NoOutputOfPriorPicsFlag的方法和相關(guān)過程。作為一個實例,運(yùn)動補(bǔ)償單元162和/或幀內(nèi)預(yù)測單元164可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一者或全部。在一個實施例中,視頻解碼器30可任選地包含層間預(yù)測單元166,層間預(yù)測單元166經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一者或全部。在其它實施例中,層間預(yù)測可通過預(yù)測處理單元152(例如,運(yùn)動補(bǔ)償單元162和/或幀內(nèi)預(yù)測單元164)執(zhí)行,在此情況下可省去層間預(yù)測單元166。然而,本發(fā)明的方面不限于此。在一些實例中,本發(fā)明中描述的技術(shù)可在視頻解碼器30的各種組件之間共享。在一些實例中,另外或替代地,處理器(未圖示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。
出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻解碼器30。然而,本發(fā)明的技術(shù)可以適用于其它譯碼標(biāo)準(zhǔn)或方法。圖3A中所描繪的實例是針對單層編解碼器。然而,如將關(guān)于圖3B進(jìn)一步描述,可復(fù)制視頻編碼器30中的一些或全部以用于多層編解碼器的處理。
在圖3A的實例中,視頻解碼器30包含多個功能組件。視頻解碼器30的功能組件包含熵解碼單元150、預(yù)測處理單元152、反量化單元154、反變換單元156、重建單元158、濾波器單元159和經(jīng)解碼圖片緩沖器160。預(yù)測處理單元152包含運(yùn)動補(bǔ)償單元162、幀內(nèi)預(yù)測單元164和層間預(yù)測單元166。在一些實例中,視頻解碼器30可執(zhí)行一般與關(guān)于圖2A的視頻編碼器20描述的編碼遍次互逆的解碼遍次。在其它實例中,視頻解碼器30可包含較多、較少或不同的功能組件。
視頻解碼器30可接收包括經(jīng)編碼視頻數(shù)據(jù)的位流。所述位流可包含多個語法元素。當(dāng)視頻解碼器30接收到位流時,熵解碼單元150可對所述位流執(zhí)行剖析操作。對位流執(zhí)行剖析操作的結(jié)果是,熵解碼單元150可從所述位流提取語法元素。作為執(zhí)行剖析操作的一部分,熵解碼單元150可對位流中的經(jīng)熵編碼語法元素進(jìn)行熵解碼。預(yù)測處理單元152、反量化單元154、反變換處理單元156、重構(gòu)單元158及濾波器單元159可執(zhí)行重構(gòu)操作,重構(gòu)操作基于從位流提取的語法元素產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。
如上文所論述,位流可包括一系列NAL單元。位流的NAL單元可包含視頻參數(shù)集NAL單元、序列參數(shù)集NAL單元、圖片參數(shù)集NAL單元、SEI NAL單元等等。作為對位流執(zhí)行剖析操作的一部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從序列參數(shù)集NAL單元提取且熵解碼序列參數(shù)集、從圖片參數(shù)集NAL單元提取且熵解碼圖片參數(shù)集、從SEI NAL單元提取且熵解碼SEI數(shù)據(jù)等等。
此外,位流的NAL單元可包含經(jīng)譯碼切片NAL單元。作為對位流執(zhí)行剖析操作的部分,熵解碼單元150可執(zhí)行剖析操作,所述剖析操作從經(jīng)譯碼切片NAL單元提取且熵解碼經(jīng)譯碼切片。經(jīng)譯碼切片中的每一者可包含切片標(biāo)頭以及切片數(shù)據(jù)。切片標(biāo)頭可以含有關(guān)于切片的語法元素。切片標(biāo)頭中的語法元素可包含識別與含有所述切片的圖片相關(guān)聯(lián)的圖片參數(shù)集的語法元素。熵解碼單元150可對經(jīng)譯碼切片標(biāo)頭中的語法元素執(zhí)行熵解碼操作(例如,CABAC解碼操作),以恢復(fù)切片標(biāo)頭。
作為從經(jīng)譯碼切片NAL單元提取切片數(shù)據(jù)的部分,熵解碼單元150可執(zhí)行從切片數(shù)據(jù)中的經(jīng)譯碼CU提取語法元素的剖析操作。所提取的語法元素可包含與變換系數(shù)塊相關(guān)聯(lián)的語法元素。熵解碼單元150可接著對語法元素中的一些執(zhí)行CABAC解碼操作。
在熵解碼單元150對未分割的CU執(zhí)行剖析操作之后,視頻解碼器30可對未分割的CU執(zhí)行重構(gòu)操作。為了對未分割CU執(zhí)行重構(gòu)操作,視頻解碼器30可對CU的每一TU執(zhí)行重構(gòu)操作。通過對CU的每一TU執(zhí)行重構(gòu)操作,視頻解碼器30可重構(gòu)與CU相關(guān)聯(lián)的殘差視頻塊。
作為對TU執(zhí)行重構(gòu)操作的一部分,反量化單元154可對與TU相關(guān)聯(lián)的變換系數(shù)塊進(jìn)行反量化(例如,解量化)。反量化單元154可以類似于針對HEVC所提議或由H.264解碼標(biāo)準(zhǔn)定義的反量化過程的方式對變換系數(shù)塊進(jìn)行反量化。反量化單元154可使用由視頻編碼器20針對變換系數(shù)塊的CU計算的量化參數(shù)QP來確定量化程度,且同樣地,確定反量化單元154應(yīng)用的反量化的程度。
在反量化單元154對變換系數(shù)塊進(jìn)行反量化之后,反變換單元156可產(chǎn)生與變換系數(shù)塊相關(guān)聯(lián)的TU的殘余視頻塊。反變換單元156可將反變換應(yīng)用到變換系數(shù)塊以便產(chǎn)生所述TU的殘余視頻塊。舉例來說,反變換單元156可將反DCT、反整數(shù)變換、反卡忽南-拉維(Karhunen-Loeve)變換(KLT)、反旋轉(zhuǎn)變換、反定向變換或另一反變換應(yīng)用于變換系數(shù)塊。在一些實例中,反變換單元156可基于來自視頻編碼器20的信令而確定適用于變換系數(shù)塊的反變換。在這些實例中,反變換單元156可基于在用于與變換系數(shù)塊相關(guān)聯(lián)的樹塊的四叉樹的根節(jié)點(diǎn)處的用信號表示的變換來確定反變換。在其它實例中,反變換單元156可從例如塊大小、譯碼模式或類似者等一或多個譯碼特性推斷反變換。在一些實例中,反變換單元156可應(yīng)用級聯(lián)的反變換。
在一些實例中,運(yùn)動補(bǔ)償單元162可通過基于內(nèi)插濾波器執(zhí)行內(nèi)插而精煉PU的預(yù)測視頻塊。用于將用于以子樣本精確度進(jìn)行運(yùn)動補(bǔ)償?shù)膬?nèi)插濾波器的識別符可包含在語法元素中。運(yùn)動補(bǔ)償單元162可使用由視頻編碼器20在產(chǎn)生PU的經(jīng)預(yù)測視頻塊期間使用的相同內(nèi)插濾波器來計算參考塊的子整數(shù)樣本的內(nèi)插值。運(yùn)動補(bǔ)償單元162可根據(jù)接收到的語法信息確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來產(chǎn)生經(jīng)預(yù)測視頻塊。
如下文參考圖8至9進(jìn)一步論述,預(yù)測處理單元152可通過執(zhí)行圖8至9中所說明的方法來譯碼(例如,編碼或解碼)PU(或任何其它參考層和/或增強(qiáng)層塊或視頻單元)。舉例來說,運(yùn)動補(bǔ)償單元162、幀內(nèi)預(yù)測單元164或?qū)娱g預(yù)測單元166可經(jīng)配置以一起或分開地執(zhí)行圖8至9中說明的方法。
如果PU是使用幀內(nèi)預(yù)測編碼,那么幀內(nèi)預(yù)測單元164可執(zhí)行幀內(nèi)預(yù)測以產(chǎn)生用于PU的經(jīng)預(yù)測視頻塊。舉例來說,幀內(nèi)預(yù)測單元164可基于位流中的語法元素確定用于PU的幀內(nèi)預(yù)測模式。位流可包含幀內(nèi)預(yù)測模塊164可用以確定PU的幀內(nèi)預(yù)測模式的語法元素。
在一些情況下,語法元素可指示幀內(nèi)預(yù)測單元164將使用另一PU的幀內(nèi)預(yù)測模式來確定當(dāng)前PU的幀內(nèi)預(yù)測模式。舉例來說,可能有可能當(dāng)前PU的幀內(nèi)預(yù)測模式與相鄰PU的幀內(nèi)預(yù)測模式相同。換句話說,相鄰PU的幀內(nèi)預(yù)測模式可為用于當(dāng)前PU的最可能模式。因此,在此實例中,位流可包含小語法元素,所述小語法元素指示PU的幀內(nèi)預(yù)測模式與相鄰PU的幀內(nèi)預(yù)測模式相同。幀內(nèi)預(yù)測單元164可隨后使用幀內(nèi)預(yù)測模式基于在空間上相鄰的PU的視頻塊而產(chǎn)生用于PU的預(yù)測數(shù)據(jù)(例如,經(jīng)預(yù)測樣本)。
如上文所論述,視頻解碼器30還可包含層間預(yù)測單元166。層間預(yù)測單元166經(jīng)配置以使用可用于SVC(例如,基礎(chǔ)或參考層)中的一或多個不同層來預(yù)測當(dāng)前塊(例如,EL中的當(dāng)前塊)。此預(yù)測可稱作層間預(yù)測。層間預(yù)測單元166利用預(yù)測方法減少層間冗余,借此改進(jìn)譯碼效率且降低計算資源要求。層間預(yù)測的一些實例可包含層間幀內(nèi)預(yù)測、層間運(yùn)動預(yù)測及層間殘差預(yù)測。層間幀內(nèi)預(yù)測使用基礎(chǔ)層中的協(xié)同定位塊的重建來預(yù)測增強(qiáng)層中的當(dāng)前塊。層間運(yùn)動預(yù)測使用基礎(chǔ)層的運(yùn)動信息來預(yù)測增強(qiáng)層中的運(yùn)動信息。層間殘差預(yù)測使用基礎(chǔ)層的殘差來預(yù)測增強(qiáng)層的殘差。下文更詳細(xì)地論述層間預(yù)測方案中的每一者。
重建單元158可使用與CU的TU相關(guān)聯(lián)的殘余視頻塊以及CU的PU的經(jīng)預(yù)測測視頻塊(例如,幀內(nèi)預(yù)測數(shù)據(jù)或幀間預(yù)測數(shù)據(jù),如果適用)來重建CU的視頻塊。因此,視頻解碼器30可基于位流中的語法元素而產(chǎn)生經(jīng)預(yù)測視頻塊及殘余視頻塊,且可基于經(jīng)預(yù)測視頻塊及殘余視頻塊而產(chǎn)生視頻塊。
在重建單元158重建CU的視頻塊之后,濾波器單元159可執(zhí)行解塊操作以減少與CU相關(guān)聯(lián)的塊假象。在濾波器單元159執(zhí)行解塊操作以減少與CU相關(guān)聯(lián)的塊假影之后,視頻解碼器30可將CU的視頻塊存儲在經(jīng)解碼圖片緩沖器160中。經(jīng)解碼圖片緩沖器160可提供參考圖片以用于后續(xù)運(yùn)動補(bǔ)償、幀內(nèi)預(yù)測和在例如圖1A或1B的顯示裝置32等顯示裝置上的呈現(xiàn)。舉例來說,視頻解碼器30可基于經(jīng)解碼圖片緩沖器160中的視頻塊對其它CU的PU執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測操作。
多層解碼器
圖3B為說明可實施根據(jù)本發(fā)明中描述的方面的技術(shù)的多層視頻解碼器33(也被簡稱為視頻解碼器33)的實例的框圖。視頻解碼器33可經(jīng)配置以處理多層視頻幀(例如,用于SHVC及多視圖譯碼)。此外,視頻解碼器33可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。
視頻解碼器33包含視頻解碼器30A及視頻解碼器30B,其中的每一者可經(jīng)配置為視頻解碼器30且可執(zhí)行上文相對于視頻解碼器30所描述的功能。此外,如再使用參考數(shù)字所指示,視頻解碼器30A和30B可包含系統(tǒng)及子系統(tǒng)中的至少一些作為視頻解碼器30。盡管將視頻解碼器33說明為包含兩個視頻解碼器30A和30B,但視頻解碼器33不受此限制且可包含任何數(shù)目個視頻解碼器30層。在一些實施例中,視頻解碼器33可包含針對存取單元中的每一圖片或幀的視頻解碼器30。舉例來說,可由包含五個解碼器層的視頻解碼器處理或解碼包含五個圖片的存取單元。在一些實施例中,視頻解碼器33可包含比存取單元中的幀多的解碼器層。在一些此類情況下,當(dāng)處理一些存取單元時,一些視頻解碼器層可能無效。
除了視頻解碼器30A和30B之外,視頻解碼器33還可包含上取樣單元92。在一些實施例中,上取樣單元92可對所接收的視頻幀的基礎(chǔ)層進(jìn)行上取樣以產(chǎn)生將添加到用于幀或存取單元的參考圖片列表的增強(qiáng)型層。此增強(qiáng)層可存儲在經(jīng)解碼圖片緩沖器160中。在一些實施例中,上取樣單元92可包括關(guān)于圖2A的再取樣單元90所描述的實施例中的一些或全部。在一些實施例中,上取樣單元92經(jīng)配置以對層進(jìn)行上取樣且重新組織、重新界定、修改或調(diào)整一或多個切片以符合一組切片邊界規(guī)則和/或光柵掃描規(guī)則。在一些情況下,上取樣單元92可為經(jīng)配置以對所接收的視頻幀的層上取樣及/或下取樣的再取樣單元。
上取樣單元92可經(jīng)配置以從較低層解碼器(例如,視頻解碼器30A)的經(jīng)解碼圖片緩沖器160接收圖片或幀(或與圖片相關(guān)聯(lián)的圖片信息)并對所述圖片(或所接收的圖片信息)進(jìn)行上取樣。隨后可將此經(jīng)上取樣的圖片提供到較高層解碼器(例如,視頻解碼器30B)的預(yù)測處理單元152,所述較高層解碼器經(jīng)配置以解碼與較低層解碼器相同的存取單元中的圖片。在一些情況下,較高層解碼器為從較低層解碼器移除的一個層。在其它情況下,在圖3B的層0解碼器與層1解碼器之間可存在一或多個較高層解碼器。
在一些情況下,可省略或繞過上取樣單元92。在這些情況下,可直接或在至少不提供到上取樣單元92的情況下將來自視頻解碼器30A的經(jīng)解碼圖片緩沖器160的圖片提供到視頻解碼器30B的預(yù)測處理單元152。例如,如果提供到視頻解碼器30B的視頻數(shù)據(jù)及來自視頻解碼器30A的經(jīng)解碼圖片緩沖器160的參考圖片具有相同的大小或分辨率,那么可將參考圖片提供到視頻解碼器30B而不需要上取樣。另外,在一些實施例中,上取樣單元92可為經(jīng)配置以對從視頻解碼器30A的經(jīng)解碼圖片緩沖器160接收的參考圖片上取樣或下取樣的再取樣單元90。
如圖3B中所說明,視頻解碼器33可進(jìn)一步包括多路分用器99或多路分用器(demux)。多路分用器99可將經(jīng)編碼視頻位流分裂成多個位流,其中由多路分用器99輸出的每一位流被提供到不同的視頻解碼器30A和30B??赏ㄟ^接收位流來產(chǎn)生多個位流,且視頻解碼器30A和30B中的每一者在給定時間接收位流的一部分。雖然在一些情況下,可在視頻解碼器(例如,在圖3B的實例中的視頻解碼器30A及30B)中的每一者之間一次一個位地交替來自在多路分用器99處接收的位流的位,但在許多情況下,不同地劃分所述位流。舉例來說,可通過一次一個塊地交替哪一視頻解碼器接收位流而劃分所述位流。在另一實例中,可通過到視頻解碼器30A和30B中的每一者的塊的非1:1比率來劃分位流。舉例來說,可針對提供到視頻解碼器30A的每一塊將兩個塊提供到視頻解碼器30B。在一些實施例中,可預(yù)編程由多路分用器99對位流的劃分。在其它實施例中,多路分用器99可基于從視頻解碼器33外部的系統(tǒng)(例如,從包含目的地裝置14的目的地裝置上的處理器)接收的控制信號而劃分位流??苫趤碜暂斎虢涌?8的視頻的分辨率或位速率、基于鏈路16的帶寬、基于與用戶相關(guān)聯(lián)的預(yù)訂(例如,付費(fèi)預(yù)訂與免費(fèi)預(yù)訂)或基于用于確定可由視頻解碼器33獲得的分辨率的任何其它因素而產(chǎn)生控制信號。
幀內(nèi)隨機(jī)存取點(diǎn)(IRAP)圖片
一些視頻譯碼方案可提供貫穿位流的各種隨機(jī)存取點(diǎn),使得可從那些隨機(jī)存取點(diǎn)中的任一者開始解碼位流而無需解碼位流中的在那些隨機(jī)存取點(diǎn)之前的任何圖片。在這些視頻譯碼方案中,按輸出次序在隨機(jī)存取點(diǎn)之后的圖片(例如,包括在與提供隨機(jī)存取點(diǎn)的圖片相同的存取單元中的那些圖片)可被正確地解碼而無需使用在隨機(jī)存取點(diǎn)之前的任何圖片。舉例來說,即使位流的一部分在發(fā)射期間或在解碼期間丟失,解碼器仍可從下一個隨機(jī)存取點(diǎn)開始恢復(fù)解碼位流。對隨機(jī)存取的支持可促進(jìn)例如動態(tài)流式發(fā)射服務(wù)、搜尋操作、信道切換等。在一些情況下,按輸出次序跟在隨機(jī)存取點(diǎn)之后的圖片可使用前導(dǎo)圖片以用于解碼。前導(dǎo)圖片可指代跟在位流中隨機(jī)存取點(diǎn)之后的圖片且在隨機(jī)存取點(diǎn)之前輸出并顯示。
在一些譯碼方案中,被稱作IRAP圖片的圖片可提供此類隨機(jī)存取點(diǎn)。舉例來說,存取單元(“auA”)中所含有的增強(qiáng)層(“l(fā)ayerA”)中的隨機(jī)存取點(diǎn)(例如,由增強(qiáng)層IRAP圖片提供)可提供層特定隨機(jī)存取,使得對于layerA(例如,作為用于預(yù)測layerA的層的參考層)的具有存取單元(“auB”)(其在layerB中且按解碼次序在auA之前)中所含有的隨機(jī)存取點(diǎn)(或auA中所含有的隨機(jī)存取點(diǎn))的每一參考層(“l(fā)ayerB”),layerA中按輸出次序在auB之后的圖片(包含位于auB中的那些圖片)可正確地解碼而無需對layerA中在auB之前的任何圖片進(jìn)行解碼。舉例來說,當(dāng)解碼開始于auB,且layerB和auB中的圖片可解碼時,那么在auA中的層A中的圖片和在auA之后的layerA中的圖片為可解碼的。
IRAP圖片可使用幀內(nèi)預(yù)測譯碼(例如,無需參考同一層中的其它圖片而譯碼),且可包含(例如)瞬時解碼刷新(IDR)圖片、清潔隨機(jī)存取(CRA)圖片和斷鏈存取(BLA)圖片。當(dāng)位流中存在IDR圖片時,按解碼次序在IDR圖片之前的圖片不由按解碼次序跟在IDR圖片之后的圖片用于預(yù)測。當(dāng)在位流中存在CRA圖片時,跟隨CRA圖片的圖片可或可不將按解碼次序在CRA圖片之前的圖片用于預(yù)測。按解碼次序跟隨CRA圖片但使用按解碼次序在CRA圖片之前的圖片的那些圖片可被稱作隨機(jī)存取跳過前導(dǎo)(RASL)圖片。按解碼次序跟在IRAP圖片之后且按輸出次序在IRAP圖片之前的另一類型的圖片為隨機(jī)存取可解碼前置(RADL)圖片,其可不含有對按解碼次序在IRAP圖片之前的任何圖片的參考。如果在CRA圖片之前的圖片不可用,那么RASL圖片可由解碼器丟棄。RASL圖片可或可不存在于BLA圖片之后。當(dāng)RASL圖片存在于BLA圖片之后時,由于其參考圖片可為不可用,應(yīng)忽略和/或不對其進(jìn)行解碼。為IRAP圖片的含有基礎(chǔ)層圖片(例如,具有0的層ID值的圖片)存取單元(例如,包括與橫跨多層的同一輸出時間相關(guān)聯(lián)的經(jīng)譯碼圖片的圖片的群組)可被稱作IRAP存取單元。
IRAP圖片的跨層對齊
在例如SHVC和MV-HEVC的HEVC擴(kuò)展中,IRAP圖片可能不需要橫跨不同層對齊(例如,含于同一存取單元中)。舉例來說,如果需要對齊IRAP圖片,那么含有至少一個IRAP圖片的任一存取單元將僅含有IRAP圖片。另一方面,如果IRAP圖片不需要對齊,那么在單一存取單元中,一個圖片(例如,在第一層中)可為IRAP圖片,且另一圖片(例如,在第二層中)可為非IRAP圖片。在位流中具有這些非對齊IRAP圖片可提供一些優(yōu)點(diǎn)。舉例來說,在兩層位流中,如果在基礎(chǔ)層中存在比在增強(qiáng)層中多的IRAP圖片,那么在廣播及多播應(yīng)用中,可實現(xiàn)低調(diào)入延遲和高譯碼效率。
在一些視頻譯碼方案中,POC可用于跟蹤顯示經(jīng)解碼圖片的相對次序。每當(dāng)在位流中出現(xiàn)某些類型的圖片時,這些譯碼方案中的一些可致使POC值重置(例如,設(shè)定成零或設(shè)定成在位流中發(fā)信號通知的某一值)。舉例來說,可重置某些IRAP圖片的POC值,從而使按解碼次序在那些IRAP圖片之前的其它圖片的POC值也被重置。當(dāng)不需要跨越不同層對齊IRAP圖片時,其可能成問題。舉例來說,當(dāng)一個圖片(“picA”)是IRAP圖片且同一存取單元中的另一圖片(“picB”)不是IRAP圖片時,含有picA的層中的由于picA為IRAP圖片而重置的圖片(“picC”)的POC值可不同于含有picB的層中的未重置的圖片(“picD”)的POC值,其中picC和picD在同一存取單元中。此使picC及picD具有不同POC值,即使其屬于同一存取單元(例如,同一輸出時間)。因此,在此實例中,用于導(dǎo)出picC和picD的POC值的導(dǎo)出過程可經(jīng)修改以產(chǎn)生與POC值和存取單元的定義一致的POC值。
針對多層譯碼重置POC
poc_reset_idc語法元素可指示是否應(yīng)為圖片重置POC。poc_reset_idc語法元素可指示是否應(yīng)重置POC的MSB,或應(yīng)重置POC的MSB和LSB兩者,或不應(yīng)重置任何一者。舉例來說,poc_reset_idc的值0指示并未重置POC。poc_reset_idc的值1指示應(yīng)重置POC MSB。poc_reset_idc的值2指示應(yīng)重置POC MSB和LSB兩者。poc_reset_idc的值3指示重置經(jīng)指示用于前一圖片。舉例來說,用于先前圖片的poc_reset_idc的值為1或2。可使用poc_reset_idc的值3,使得當(dāng)丟失其處應(yīng)重置POC之圖片時(例如,在解碼過程期間),可正確地重置后續(xù)圖片處的POC。
full_poc_reset_flag可指示為前一圖片的重置是否僅針對POC MSB,或針對POC MSB和LSB兩者。舉例來說,full_poc_reset_flag的值0指示僅應(yīng)重置MSB。full_poc_reset_flag的值1指示應(yīng)重置MSB和LSB兩者。full_poc_reset_flag旗標(biāo)可與poc_reset_idc結(jié)合使用。舉例來說,當(dāng)poc_reset_idc的值為3時,full_poc_reset_flag可指示前一圖片的POC重置是否僅針對MSB或針對MSB和LSB兩者。
在SHVC和MV-HEVC的早期版本(例如,SHVC Working Draft 6、MV-HEVC Working Draft 8等)中,(例如)關(guān)于poc_reset_idc應(yīng)用某些約束或限制。然而,當(dāng)不存在圖片時或當(dāng)圖片為可丟棄時,這些約束并未正確地重置POC。下文進(jìn)一步詳細(xì)論述與這些限制相關(guān)的某些細(xì)節(jié)和與這些限制相關(guān)聯(lián)的問題,例如,在描述缺失或不存在圖片、可丟棄圖片及BLA和CRA圖片的混合的部分中。
另外,在SHVC和MV-HEVC的早期版本中,基于同一POC重置周期中的POC重置AU的poc_reset_idc,對圖片的full_poc_reset_flag的值不存在限制。full_poc_reset_flag的不正確值可導(dǎo)致POC重置機(jī)制不恰當(dāng)?shù)毓ぷ鳌O挛?例如,在描述full_poc_reset_flag的部分中)進(jìn)一步詳細(xì)論述與full_poc_reset_flag相關(guān)的特定細(xì)節(jié)。
為了解決這些和其它挑戰(zhàn),根據(jù)某些方面的技術(shù)在不存在圖片(例如,缺失或不存在)時或在圖片為可丟棄時重置POC。所述技術(shù)還基于poc_reset_idc的值對圖片的full_poc_reset_flag的值施加限制。以此方式,技術(shù)技術(shù)可確保正確地重置POC。舉例來說,當(dāng)poc_reset_idc等于1或2的圖片缺失時,可正確地重置POC。下文進(jìn)一步解釋與POC重置相關(guān)的某些細(xì)節(jié)。
缺失或不存在圖片
與poc_reset_idc的值相關(guān)的一些約束可如下。其可為以下約束適用的位流一致性的要求:
●對于隨機(jī)存取跳過前導(dǎo)(RASL)圖片、隨機(jī)存取可解碼前導(dǎo)(RADL)圖片、子層非參考圖片、或TemporalId大于0的圖片,或discardable_flag等于1的圖片,poc_reset_idc的值不應(yīng)等于1或2。TemporalID可指示層的時間子層的ID。
●AU中的所有圖片的poc_reset_idc的值應(yīng)相同。
●當(dāng)具有等于0的nuh_layer_id的AU中的圖片為具有特定nal_unit_type值的幀內(nèi)隨機(jī)存取點(diǎn)(IRAP)圖片且同一AU中存在具有不同nal_unit_type值的至少一個其它圖片時,AU中的所有圖片的poc_reset_idc的值應(yīng)等于1或2。
●當(dāng)存在(i)具有大于0的nuh_layer_id和(ii)為AU中具有特定nal_unit_type值的瞬時解碼器刷新(IDR)圖片的至少一個圖片且(iii)同一AU中存在具有不同nal_unit_type值的至少一個其它圖片時,AU中的所有圖片的poc_reset_idc值應(yīng)等于1或2。
●清潔隨機(jī)存取(CRA)或斷鏈存取(BLA)圖片的poc_reset_idc值應(yīng)小于3。
●當(dāng)AU中具有等于0的nuh_layer_id的圖片為IDR圖片且同一AU中存在至少一個非IDR圖片時,AU中的所有圖片的poc_reset_idc值應(yīng)等于2。
●當(dāng)AU中具有等于0的nuh_layer_id的圖片不是IDR圖片時,AU中的任何圖片的poc_reset_idc值不應(yīng)等于2。
關(guān)于上文所列約束,不涵蓋具有不針對所述層中的一些存在的圖片且具有至少一個層中的一個IRAP圖片的AU的案例。舉例來說,AU(例如,AU D)含有基礎(chǔ)層(BL)中的IDR圖片,但不含增強(qiáng)層(EL)中的圖片??蓪硬痪哂蠥U中的圖片的案例描述為AU具有缺失圖片、不存在圖片、非存在圖片等。層可不包含此特定AU中的圖片,或圖片可能已丟失(例如,在解碼過程期間)。在此類情形中,因為BL中的IDR圖片的POC必須等于0,所以應(yīng)重置POC。然而,增強(qiáng)層中的POC鏈繼續(xù)。在AU D處未能重置增強(qiáng)層圖片的POC可導(dǎo)致未跨層對齊后續(xù)AU中的圖片的經(jīng)導(dǎo)出POC。然而,針對poc_reset_idc的值的上文所列限制中的無一者可適用于此情形,且因此,AU D不要求POC重置。
在另一個實例中,AU(例如,AU D)含有EL中的IDR圖片,但不含BL中的圖片。類似地,在此類情形中,因為EL中的IDR圖片的POC MSB將重置為0,所以應(yīng)重置POC。然而,在現(xiàn)有方法的情況下,AU D不要求POC重置。
為了確保正確行為,針對上文所描述的兩個案例AU D可能需要POC重置。此外,緊接AU D的一或多個圖片及/或AU應(yīng)具有等于3的poc_reset_idc。由于這些改變,一旦那個層中存在圖片,就可針對不存在圖片的層進(jìn)行POC重置。
可能存在不必針對含有IRAP圖片以及缺失圖片的AU重重置POC的案例。圖4說明這類情況的實例。因為遺失圖片來自層2且那個層中不存在圖片,AU A不需要重置POC,直到確實重置POC的AU B為止。因為AU B之后的第二AU具有層2中的圖片,所以AU B需要重置POC,除非第二AU自身進(jìn)行POC重置(在此,假設(shè)第二AU不進(jìn)行所述動作)。AU C需要重置POC,這是因為除了其它層中的非IRAP之外其具有層0中的IDR。AU D不需要重置POC,這是因為AU具有跨層對齊IDR和無缺失圖片。最終,因為AU E之后的第二AU具有層2中的圖片,所以AU E需要重置POC,除非第二AU自身進(jìn)行POC重置(同樣,假設(shè)第二AU不進(jìn)行所述動作)。
可丟棄圖片
針對缺失圖片的上述問題可同樣適用于可丟棄圖片,所述可丟棄圖片在被丟棄之后將變?yōu)椴淮嬖趫D片。
當(dāng)IRAP圖片跨層對齊時,現(xiàn)有方法不需要POC重置。然而,不存在禁止將IRAP圖片旗標(biāo)為可丟棄圖片的限制。當(dāng)AU auA含有跨層對齊的IRAP圖片且IRAP圖片中的至少一者可丟棄時,如果auA中的可丟棄IRAP圖片如圖5的實例中所說明的經(jīng)移除,那么按解碼次序的后續(xù)AU中的圖片的POC導(dǎo)出可為不正確的。當(dāng)AU E中的EL IDR圖片經(jīng)丟棄時,AU F中的EL圖片的POC最高有效位(MSB)的值可經(jīng)導(dǎo)出等于先前錨圖片的POC MSB的值(例如,256)。此可導(dǎo)致針對AU F的BL和EL中的圖片導(dǎo)出的不同POC值。
BLA和CRA圖片的混合
在現(xiàn)有方法的情況下,當(dāng)AU中的圖片具有等于0的nuh_layer_id且是具有特定nal_unit_type值的IRAP圖片,且同一存取單元中存在具有不同nal_unit_type值的至少一個其它圖片時,將AU中的所有圖片的poc_reset_idc值設(shè)定成等于1或2。這表示如果2層位流中的AU含有BL中的CRA圖片和增強(qiáng)層中的BLA圖片,那么需要POC重置(僅重置POC MSB或重置POC MSB和最低有效位(LSB))。此類約束為不理想的,尤其對于某些使用案例。
圖6說明層向下切換和向上切換實例,其中層向上切換在含有跨層對齊的CRA圖片的AU(auA)處進(jìn)行。當(dāng)IRAP的nal_unit_type值跨層對齊時實際上不需要執(zhí)行POC重置,編碼器可不用信號發(fā)送auA的CRA圖片中的切片段標(biāo)頭延伸中的任何POC重置信息(例如,poc_reset_idc、poc_reset_period_id等)。然而,對于層向上切換,系統(tǒng)可將auA的EL圖片的NAL單元類型從CRA改變?yōu)锽LA。在此情況下,約束暗示:除了改變NAL單元類型之外,執(zhí)行向上切換操作的系統(tǒng)實體還需要修改auA中的圖片的切片段標(biāo)頭延伸以插入POC重置信息。強(qiáng)加于系統(tǒng)實體的此類額外負(fù)擔(dān)為不必要的,這是因為所說明的情形中不真正需要POC重置。這同樣適用于跨層對齊的CRA圖片處的拼接位流,其中僅將基礎(chǔ)層CRA圖片改變?yōu)锽LA圖片。
full_poc_reset_flag
當(dāng)poc_reset_idc等于3時,full_poc_reset_flag經(jīng)傳信以指示是否應(yīng)重置POC MSB和LSB兩者或是否僅應(yīng)重置POC MSB。full_poc_reset_flag的值可指示同一POC重置周期中的第一存取單元的poc_reset_idc的值。在一些實施例中,POC重置周期可指代按解碼次序的存取單元序列,開始于具有等于1或2的poc_reset_idc和特定poc_reset_period_id值的存取單元且包含具有相同poc_reset_period_id值或具有等于0的poc_reset_idc的所有存取單元。如果用信號發(fā)送full_poc_reset_flag的錯誤值,那么解碼器可將先前圖片的POC遞減錯誤值。下文所提供的圖7說明其中編碼器為full_poc_reset_flag分配不正確值的實例。由于AU E中的圖片的poc_reset_idc值為2,這意味著重置POC MSB和LSB兩者,full_poc_reset_flag(當(dāng)存在時,在按解碼次序接續(xù)AU E且屬于與AU E相同的POC重置周期的圖片中)的值必須為1以保證DeltaPocVal的正確值經(jīng)導(dǎo)出以遞減先前圖片的POC值。由于針對AU G中的層1圖片將full_poc_reset_flag的值不正確地用信號發(fā)送為0,用于遞減層1(按解碼次序在AU E之前)的圖片的POC的值為64而非102。先前圖片的不正確POC值可影響參考圖片選擇(RPS)導(dǎo)出過程,這是因為解碼器不能找出當(dāng)前圖片的正確參考圖片。在圖7所說明的實例中,在AU G的層1圖片的RPS導(dǎo)出期間,解碼器不能找出具有等于-1和-2的POC的參考圖片,且因此將這些參考圖片旗標(biāo)為“不可用于參考”。
重置POC和設(shè)定full_poc_reset_flag的值
為了使用用于多層編解碼器中的POC重置的現(xiàn)有方法解決上述問題,本發(fā)明在下文中描述改進(jìn)。在本發(fā)明中,下文描述的技術(shù)及方法可單獨(dú)或以任何組合方式使用。
根據(jù)本文中所描述的POC重置技術(shù)的一或多個方面,提供與poc_reset_idc值相關(guān)的約束的更新。因此,如果含有BL處的IRAP圖片或EL中的IDR圖片的AU auA中存在至少一個缺失圖片,那么AU中的所有圖片的poc_reset_idc的值應(yīng)等于1或2。
舉例來說,檢測AU auA的缺失圖片的一種方式如下:當(dāng)AU auA中的圖片的數(shù)值小于位流中的圖片的數(shù)值時,則可將AU auA指示或假定為具有缺失圖片。
在另一個實例中,當(dāng)在含有BL處的IRAP圖片或EL中的IDR圖片的AU auA的層layerIdA中存在至少一個缺失圖片且存在滿足以下各者中的至少一者的另一AU auB時,poc_reset_idc的值被限制為等于1或2:
●屬于與存取單元auA不同的POC重置周期;
●具有IRAP圖片,所述IRAP圖片具有等于0的nuh_layer_id和等于1的NoClrasOutputFlag;或
●按解碼次序為位流中的最后存取單元
且存在按解碼次序在auA之后且按解碼次序在AU auB之前的具有等于layerIdA的nuh_layer_id的圖片。
在另一個實例中,當(dāng)存取單元auA中不存在具有等于任何特定nuh_layer_id layerIdA值的nuh_layer的圖片,且存在按解碼次序在auA之后的具有等于layerIdA的nuh_layer_id的圖片picA并且以下條件為真時,那么AU auA可經(jīng)指示或假定為具有缺失圖片:
●使auB為按解碼次序在auA之后的第假設(shè)auB為按解碼次序在auA之后的第一AU,且當(dāng)存在時,屬于與存取單元auA不同的POC重置周期。假設(shè)auC為按解碼次序在auA之后的第一存取單元,且當(dāng)存在時具有IRAP圖片,所述IRAP圖片具有等于0的nuh_layer_id和等于1的NoClrasOutputFlag。假設(shè)auD為按解碼次序在auA之后的第一存取單元,且當(dāng)存在時在具有位流中的層中的每一者中的IRAP圖片。要么auB、auC和auD中的無一者存在于位流中,要么圖片picA按解碼次序在按解碼次序的auB(當(dāng)存在時)、auC(當(dāng)存在時)和auD(當(dāng)存在時)中的第一者之前。
根據(jù)本文中所描述的POC重置技術(shù)的一或多個方面,提供與poc_reset_idc值相關(guān)的約束的更新。因此,當(dāng)含有BL處的IRAP圖片或EL中的IDR圖片的AU中存在至少一個可丟棄圖片時,那么AU中的所有圖片的poc_reset_idc值應(yīng)等于1或2。
在另一個實例中,可添加約束,使得IRAP圖片不能具有等于1的discardable_flag。
在又一實例中,可添加約束,使得不允許IDR圖片具有等于1的discardable_flag但允許CRA和BLA圖片具有等于1的discardable_flag。
根據(jù)本文中所描述的POC重置技術(shù)的一或多個方面,可添加對poc_reset_idc的約束以確保:當(dāng)含有BL處的IRAP圖片或EL中的IDR圖片的存取單元auA中存在層layerA的遺失圖片或可丟棄圖片時,始于按解碼次序在auA之后的具有nuh_layer_id等于layerA的圖片的第一AU,直到按解碼次序在auA之后的第一AU為止,含有具有等于layerA的nuh_layer_id的圖片,所述圖片具有等于0的TemporalId且具有等于0的discardable_flag,(包含)poc_reset_idc的值應(yīng)等于3。
在另一個實例中,按解碼次序在auA之后且按解碼次序在按解碼次序在auA之后的第一AU之前的存取單元中含有的層layerA的圖片的poc_reset_idc應(yīng)等于3,所述存取單元含有具有等于layerA的nuh_layer_id的圖片,所述圖片具有等于0的TemporalId、具有等于0的discardable_flag且包含性地不為RASL、RADL或子層非參考圖片。子層非參考圖片(SLNR)可指代未由時間子層用作參考圖片的圖片。舉例來說,層可由通過時間ID(例如,TemporalId)指示的一或多個時間子層組成。如果不將在最高層中且在最高時間子層處的圖片用作同一層中的其它圖片的參考,那么所述圖片可經(jīng)移除而不會使位流變得不可解碼。在此情況下,圖片可類似于可丟棄圖片。
根據(jù)本文中所描述的POC重置技術(shù)的一或多個方面,可添加約束以確保圖片的full_poc_reset_flag值指示與當(dāng)前圖片在同一POC重置周期中的第一AU的poc_reset_idc的正確值。
根據(jù)本文中所描述的POC重置技術(shù)的一或多個方面,對poc_reset_idc的現(xiàn)有約束可經(jīng)修改以確保當(dāng)AU含有僅CRA或BLA圖片(但具有任何類型的BLA圖片)時,不需要POC重置(例如,poc_reset_idc不需要等于1或2)。
示例性實施例
可如以下實例中所展示而實施上述技術(shù)。在SHVC和MV-HEVC(例如,SHVC WD6和MV-HEVC WD 8)的早先版本的上下文中提供實例。向SHVC和MV-HEVC的較早版本的添加是以斜體字指示,且從SHVC和MV-HEVC的較早版本的刪除是以刪除線指示。
示例性實施例1
實施例1在AU中存在不存在圖片或可丟棄圖片時重置POC。舉例來說,被稱作absentPictureInAuFlag的變量可指示AU是含有不存在圖片抑或可丟棄圖片。如果同一POC重置周期中的第一AU具有特定層中的不存在圖片或可丟棄圖片,那么將按解碼次序的后續(xù)AU的poc_reset_idc值設(shè)定成3,開始于具有同一層中的圖片的AU且結(jié)束于包含性地具有同一層中的圖片、具有等于0的時間ID且不可丟棄的AU。另外,當(dāng)同一POC重置周期中的第一AU中的圖片的poc_reset_idc值等于1或2時,可將full_poc_reset_flag的值設(shè)定成poc_reset_idc的值減1。
舉例來說,當(dāng)層的圖片不存在于AU中或具有等于1的discardable_flag的圖片存在于AU中時,編碼器應(yīng)慎重地設(shè)定圖片的poc_reset_idc值,從而確保AU內(nèi)的圖片的經(jīng)導(dǎo)出POC值跨層對齊。在一些實施例中,在是否應(yīng)重置POC方面這類情況應(yīng)類似于與具有非跨層對齊IRAP圖片的AU而處理。
表1-示例性實施例1
示例性實施例2
這一實施例是基于實施例1,其中變量absentPictureInAuFlag的值的導(dǎo)出的區(qū)別如下:
表2-示例性實施例2
示例性實施例3
這一實施例是基于實施例1和2,其中的差異為對于IRAP圖片,discardable_flag的值不允許為1,且變量absentPictureInAuFlag的導(dǎo)出不考慮圖片的discardable_flag的值。下文展示片段標(biāo)頭語義關(guān)于實施例1的改變:
表3-示例性實施例3
示例性實施例4
這一實施例是基于實施例1,其中變量absentPictureInAuFlag的值的導(dǎo)出的區(qū)別如下:
表4-示例性實施例4
重置POC的方法
圖8是說明根據(jù)本發(fā)明的一或多個方面的譯碼視頻信息的方法的流程圖。所述方法涉及重置POC。取決于實施例,可由編碼器(例如,如圖2A、2B等中所展示的編碼器)、解碼器(例如,如圖3A、3B等中所展示的解碼器)或任何其它組件執(zhí)行過程800。關(guān)于圖3B中的解碼器33描述過程800的框,但可通過如上文所提及的其它組件(例如,編碼器)來執(zhí)行過程800。取決于實施例,解碼器33的層1視頻解碼器30B和/或解碼器33的層0解碼器30A可執(zhí)行過程800。另外,關(guān)于圖8所描述的所有實施例可單獨(dú)地或彼此組合地實施。上文(例如)關(guān)于圖4至7解釋與過程800相關(guān)的某些細(xì)節(jié)。
過程800在框801處開始。解碼器33可包含用于存儲與多個層相關(guān)聯(lián)的視頻信息的存儲器(例如,經(jīng)解碼的圖片緩沖器160)。解碼器33可獲得與待譯碼的當(dāng)前AU相關(guān)聯(lián)的信息。當(dāng)前AU可含有來自多個層中的一或多個層的圖片。
在框802處,解碼器33確定當(dāng)前AU是否包含含有IRAP圖片的第一層。
在框803處,解碼器33確定當(dāng)前AU是否包含不含有圖片或含有可丟棄圖片的第二層。
在框804處,解碼器33響應(yīng)于確定當(dāng)前AU包含(1)含有IRAP圖片的第一層及(2)不含有圖片或含有可丟棄圖片的第二層而重置當(dāng)前AU處的第二層的POC。在一些實施例中,解碼器33響應(yīng)于確定當(dāng)前AU包含(1)含有IRAP圖片的第一層及(2)不含圖片或含有可丟棄圖片的第二層而重置當(dāng)前AU處的第一層的POC。在一個實施例中,第一層為基礎(chǔ)層。在另一實施例中,第一層為增強(qiáng)層且IRAP圖片為IDR圖片。解碼器33可通過設(shè)定指示是否重置POC的第一語法元素的值來重置層的POC。在一個實施例中,第一語法元素為poc_reset_idc。
在某些實施例中,解碼器33響應(yīng)于針對按解碼次序在當(dāng)前AU之后的AU重置當(dāng)前AU處的第二層的POC而設(shè)定第一語法元素的值,以指示重置前一AU的第二層的POC。
在一些實施例中,解碼器33設(shè)定第一語法元素的值以指示針對按解碼次序在當(dāng)前AU之后的一或多個AU重置前一AU處的第二層的POC。一或多個后續(xù)AU可開始于含有與第二層具有相同層ID的第一圖片的第一AU,且結(jié)束于按解碼次序在第一AU之后的包含性地含有與第二層具有相同的層ID的第二圖片的第二AU。在一個實施例中,第二圖片具有等于0的時間ID且并非可丟棄圖片。另外,在某些實施例中,第二圖片并非RASL圖片,并非RADL圖片,或并非第二層的SLNR。
在某些實施例中,解碼器33為無線通信裝置,其進(jìn)一步包括接收器,所述接收器經(jīng)配置以根據(jù)至少一個無線電接入技術(shù)(RAT)接收視頻數(shù)據(jù),所述視頻數(shù)據(jù)包括與多個層相關(guān)聯(lián)的視頻信息;和發(fā)射器,其經(jīng)配置以根據(jù)至少一個RAT來操作。無線通信裝置可為蜂窩式電話,且所接收視頻數(shù)據(jù)可由接收器接收且可根據(jù)蜂窩通信標(biāo)準(zhǔn)來調(diào)制。
在一些實施例中,過程800可在包括以下各者的無線通信裝置上執(zhí)行:接收器,其經(jīng)配置以根據(jù)至少一個無線電接入技術(shù)(RAT)接收視頻數(shù)據(jù),所述視頻數(shù)據(jù)包括與多個層相關(guān)聯(lián)的視頻信息;發(fā)射器,其經(jīng)配置以根據(jù)至少一個RAT來操作;存儲器,其經(jīng)配置以存儲視頻數(shù)據(jù);及處理器,其經(jīng)配置以執(zhí)行處理存儲于存儲器中的視頻數(shù)據(jù)的指令。無線通信裝置可為蜂窩式電話,且所接收視頻數(shù)據(jù)可由接收器接收且可根據(jù)蜂窩通信標(biāo)準(zhǔn)來調(diào)制。
過程800在框805處結(jié)束。取決于實施例,在過程800中可添加和/或省略框,且取決于實施例,可以不同次序執(zhí)行過程800的框。
本發(fā)明中關(guān)于重置POC描述的任何特征及/或?qū)嵤├蓡为?dú)地或以其任何組合實施。舉例來說,結(jié)合圖1到7描述的任何特征和/或?qū)嵤├捅景l(fā)明的其它部分可以與結(jié)合圖8描述的任何特征和/或?qū)嵤├娜魏谓M合來實施,且反之亦然。
設(shè)定full_poc_reset_flag的方法
圖9是說明根據(jù)本發(fā)明的一或多個方面的譯碼視頻信息的方法的流程圖。方法涉及設(shè)定full_poc_reset_flag的值。取決于實施例,可由編碼器(例如,如圖2A、2B等中所展示的編碼器)、解碼器(例如,如圖3A、3B等中所展示的解碼器)或任何其它組件執(zhí)行過程900。關(guān)于圖3B中的解碼器33描述過程900的框,但可通過如上文所提及的其它組件(例如,編碼器)來執(zhí)行過程900。取決于實施例,解碼器33的層1視頻解碼器30B和/或解碼器33的層0解碼器30A可執(zhí)行過程900。另外,關(guān)于圖9所描述的所有實施例可單獨(dú)地或彼此組合地實施。上文(例如)關(guān)于圖4到7解釋與過程900相關(guān)的某些細(xì)節(jié)。
過程900在框901處開始。解碼器33可包含用于存儲與多個層相關(guān)聯(lián)的視頻信息的存儲器(例如,經(jīng)解碼的圖片緩沖器160)。解碼器33可獲得與待譯碼的當(dāng)前AU相關(guān)聯(lián)的信息。當(dāng)前AU可含有來自多個層中的一或多個層的圖片。
在框902處,解碼器33通過(1)僅重置POC的MSB或(2)重置POC的MSB和POC的LSB兩者來重置包含于當(dāng)前AU中的層的POC。舉例來說,重置當(dāng)前AU處的層的POC。
在框903處,對于按解碼次序在當(dāng)前AU之后的一或多個AU中的圖片,解碼器33設(shè)定指示POC的重置是否為完全重置的第一旗標(biāo)的值。在一個實施例中,當(dāng)通過(1)僅重置POC的MSB來重置POC時,將第一旗標(biāo)的值設(shè)定成等于0,且當(dāng)通過(2)重置POC的MSB和POC的LSB兩者來重置POC時,將第一旗標(biāo)的值設(shè)定成等于1。來自當(dāng)前AU中的一或多個層的圖片可具有相同POC重置周期。在一個實施例中,第一旗標(biāo)為full_poc_reset_flag。第一旗標(biāo)的值可對應(yīng)于指示是否重置POC的第二旗標(biāo)的值。在一個實施例中,第二旗標(biāo)為poc_reset_idc。
在一些實施例中,當(dāng)?shù)诙鞓?biāo)指示第二旗標(biāo)的值指示僅POC的所述MSB應(yīng)重置時,將第一旗標(biāo)的值設(shè)定成等于0,且其中當(dāng)?shù)诙鞓?biāo)指示POC的MSB和LSB兩者應(yīng)重置時,將第二旗標(biāo)的值設(shè)定成等于1。
在某些實施例中,解碼器33為無線通信裝置,其進(jìn)一步包括接收器,所述接收器經(jīng)配置以根據(jù)至少一個無線電接入技術(shù)(RAT)接收視頻數(shù)據(jù),所述視頻數(shù)據(jù)包括與多個層相關(guān)聯(lián)的視頻信息;和發(fā)射器,其經(jīng)配置以根據(jù)至少一個RAT來操作。無線通信裝置可為蜂窩式電話,且所接收視頻數(shù)據(jù)可由接收器接收且可根據(jù)蜂窩通信標(biāo)準(zhǔn)來調(diào)制。
在一些實施例中,過程900可在包括以下各者的無線通信裝置上執(zhí)行:接收器,其經(jīng)配置以根據(jù)至少一個無線電接入技術(shù)(RAT)接收視頻數(shù)據(jù),所述視頻數(shù)據(jù)包括與多個層相關(guān)聯(lián)的視頻信息;發(fā)射器,其經(jīng)配置以根據(jù)至少一個RAT來操作;存儲器,其經(jīng)配置以存儲視頻數(shù)據(jù);及處理器,其經(jīng)配置以執(zhí)行處理存儲于存儲器中的視頻數(shù)據(jù)的指令。無線通信裝置可為蜂窩式電話,且所接收視頻數(shù)據(jù)可由接收器接收且可根據(jù)蜂窩通信標(biāo)準(zhǔn)來調(diào)制。
過程900在框904處結(jié)束。取決于實施例,在過程900中可添加和/或省略框,且取決于實施例,可以不同次序執(zhí)行過程900的框。
本發(fā)明中關(guān)于設(shè)定full_poc_reset_flag的值描述的任何特征及/或?qū)嵤├蓡为?dú)地或以其任何組合實施。舉例來說,結(jié)合圖1到7描述的任何特征和/或?qū)嵤├捅景l(fā)明的其它部分可以與結(jié)合圖9描述的任何特征和/或?qū)嵤├娜魏谓M合來實施,且反之亦然。
可使用多種不同技術(shù)和技藝中的任一者來表示本文中所公開的信息和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在整個上文描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
結(jié)合本文揭示的實施例所描述的各種說明性邏輯塊、電路及算法步驟可實施為電子硬件、計算機(jī)軟件,或兩者的組合。為清晰地說明硬件與軟件的此可互換性,以上已大體就其功能性來描述了各種說明性組件、塊、模塊、電路和步驟。此功能性是實施為硬件還是軟件取決于特定應(yīng)用及施加于整個系統(tǒng)的設(shè)計約束。熟練的技術(shù)人員可針對每一特定應(yīng)用以不同方式來實施所描述的功能性,但這樣的實施方案決策不應(yīng)被解釋為會引起脫離本發(fā)明的范圍。
本文中所描述的技術(shù)可以硬件(例如,計算機(jī)硬件)、軟件、固件,或其任何組合實施。所述技術(shù)可實施于多種裝置中的任一者中,例如通用計算機(jī)、無線通信裝置手持機(jī)或集成電路裝置,其具有包含在無線通信裝置手持機(jī)及其它裝置中的應(yīng)用的多種用途。被描述為模塊或組件的任何特征可一起實施于集成邏輯裝置中或分開來實施為離散但可互操作的邏輯裝置。如果實施于軟件,那么可至少部分通過包括程序代碼的計算機(jī)可讀媒體(例如,計算機(jī)可讀數(shù)據(jù)存儲媒體)實現(xiàn)所述技術(shù),所述程序代碼包括當(dāng)經(jīng)執(zhí)行時執(zhí)行上文所描述的方法中的一或多者的指令。計算機(jī)可讀媒體可為非暫時性計算機(jī)可讀媒體。計算機(jī)可讀媒體可形成計算機(jī)程序產(chǎn)品的一部分,所述計算機(jī)程序產(chǎn)品可包含封裝材料。計算機(jī)可讀媒體可包括存儲器或數(shù)據(jù)存儲媒體,例如,隨機(jī)存取存儲器(RAM)(例如,同步動態(tài)隨機(jī)存取存儲器(SDRAM))、只讀存儲器(ROM)、非易失性隨機(jī)存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、閃存器、磁性或光學(xué)數(shù)據(jù)存儲媒體等等。另外或作為替代,所述技術(shù)可至少部分地由計算機(jī)可讀通信媒體來實現(xiàn),所述計算機(jī)可讀通信媒體以指令或數(shù)據(jù)結(jié)構(gòu)的形式載運(yùn)或傳達(dá)程序代碼且可由計算機(jī)存取、讀取和/或執(zhí)行(例如,傳播的信號或波)。
程序代碼可由處理器執(zhí)行,所述處理器可包含一或多個處理器,例如,一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路。此處理器可經(jīng)配置以執(zhí)行本發(fā)明中所描述的技術(shù)中的任一者。通用處理器可為微處理器;但在替代方案中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器還可實施為計算裝置的組合,例如,DSP與微處理器的組合、多個微處理器、一或多個微處理器結(jié)合DSP核心,或任何其它此類配置。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)中的任一者、上述結(jié)構(gòu)的任何組合,或適合于實施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)或設(shè)備。另外,在一些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼和解碼的專用軟件模塊或硬件模塊內(nèi)或并入組合的視頻編碼器-解碼器(CODEC)中。而且,所述技術(shù)可完全實施于一或多個電路或邏輯元件中。
本發(fā)明的技術(shù)可在各種各樣的裝置或設(shè)備中實施,包含無線手持機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所公開的技術(shù)的裝置的功能方面,但未必需要由不同硬件單元實現(xiàn)。實際上,如上文所描述,各種單元可以配合合適的軟件和/或固件組合在編解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
已經(jīng)描述本發(fā)明的各種實施例。這些及其它實施例在以下附權(quán)利要求書的范圍內(nèi)。