欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于多層視頻譯碼的POC值設計的制作方法

文檔序號:11532867閱讀:421來源:國知局
用于多層視頻譯碼的POC值設計的制造方法與工藝

本申請案主張2013年11月19日申請的第61/906,373號美國臨時申請案的權益,所述申請案特此以全文引用的方式并入本文中。

本發(fā)明涉及視頻譯碼。



背景技術:

數字視頻能力可并入到多種多樣的裝置中,包含數字電視、數字直播系統(tǒng)、無線廣播系統(tǒng)、個人數字助理(pda)、膝上型或桌上型計算機、平板計算機、電子書閱讀器、數碼相機、數字記錄裝置、數字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話(所謂的“智能電話”)、視頻電話會議裝置、視頻串流裝置等。數字視頻裝置實施視頻譯碼技術,例如由mpeg-2、mpeg-4、itu-th.263、itu-th.264/mpeg-4第10部分高級視頻譯碼(avc)定義的標準、目前正在開發(fā)的高效視頻譯碼(hevc)標準以及此類標準的擴展中所描述的視頻譯碼技術。視頻裝置可通過實施此類視頻譯碼技術來更高效地發(fā)射、接收、編碼、解碼和/或存儲數字視頻信息。

視頻譯碼技術包含空間(圖片內)預測和/或時間(圖片間)預測以減少或去除視頻序列中固有的冗余。對于基于塊的視頻譯碼,視頻切片(即,視頻幀或視頻幀的一部分)可分割成視頻塊,視頻塊還可被稱作樹塊、譯碼單元(cu)和/或譯碼節(jié)點。使用關于同一圖片中的相鄰塊中的參考樣本的空間預測來編碼圖片的經幀內譯碼(i)切片中的視頻塊。圖片的經幀間譯碼(p或b)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預測或相對于其它參考圖片中的參考樣本的時間預測。圖片可被稱作幀,且參考圖片可被稱作參考幀。

空間或時間預測產生待譯碼塊的預測性塊。殘差數據表示待譯碼原始塊與預測性塊的間的像素差。根據指向形成預測性塊的參考樣本塊的運動向量和指示經譯碼塊與預測性塊之間的差的殘差數據來編碼經幀間譯碼塊。根據幀內譯碼模式和殘差數據來編碼經幀內譯碼塊。為了進一步壓縮,可將殘差數據從像素域變換到變換域,從而產生殘差變換系數,可接著量化所述殘差變換系數??蓲呙枰婚_始按二維陣列排列的經量化變換系數,以便產生變換系數的一維向量,且可應用熵譯碼來實現(xiàn)更多壓縮。



技術實現(xiàn)要素:

一般來說,本發(fā)明描述用于多層視頻譯碼中的改進的圖片次序計數(poc)信令和導出的技術。明確地說,本發(fā)明描述了可改進容錯性并為缺失-并置-圖片情形提供支持的poc信令和導出設計,在所述情形中,在一個存取單元中,一個層中存在irap圖片,但另一層中完全無圖片。當譯碼單層視頻數據或多層視頻數據時,可使用這些技術。一般來說,這些技術包含發(fā)信號通知poc復位周期識別符,其指示其中出現(xiàn)切片的poc復位周期。如下文更詳細地論述,視頻譯碼器可經配置以在首次獲得具有新poc復位周期識別符的切片后即刻執(zhí)行poc值復位。視頻譯碼器可經配置以每poc復位周期執(zhí)行poc值復位(例如,poc復位周期中的圖片,以及與包含當前存儲在經解碼圖片緩沖器中的新poc復位周期識別符的圖片相同的層中的圖片的poc值復位)一次。以此方式,如果poc錨圖片丟失或損毀或根本不存在,那么仍可恢復同一層中的后續(xù)圖片的poc值,且因此可正確地識別參考圖片,且可以正確次序輸出圖片。

在一個實例中,一種解碼視頻數據的方法包含:通過視頻解碼器來解碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中所述poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;以及通過視頻解碼器使經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。

在另一實例中,一種編碼視頻數據的方法包含:通過視頻編碼器來編碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中所述poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;以及通過所述視頻編碼器來使所述經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。

在另一實例中,一種用于譯碼視頻數據的裝置包含:存儲器,其包括經解碼圖片緩沖器(dpb),其經配置以存儲視頻數據;以及視頻譯碼器,其經配置以:譯碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中所述poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;且使經譯碼圖片的poc值以及所述層中當前存儲在dpb中的一或多個圖片的poc值的至少一部分復位。

在另一實例中,一種用于譯碼視頻數據的裝置包含:用于譯碼表示圖片次序計數(poc)復位周期識別符的值的裝置,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中所述poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;以及用于使經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位的裝置。

在另一實例中,一種上面存儲有指令的計算機可讀存儲媒體,所述指令在被執(zhí)行時,致使用于譯碼視頻數據的裝置的處理器譯碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中所述poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;且使所述經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。

附圖和以下描述中陳述一或多個實例的細節(jié)。其它特征、目標和優(yōu)點將從所述描述和圖式以及權利要求書而顯而易見。

附圖說明

圖1是說明根據本發(fā)明的技術的可利用用于譯碼poc值信息的技術的實例視頻編碼和解碼系統(tǒng)的框圖。

圖2是說明根據本發(fā)明的技術的可實施用于譯碼poc值信息的技術的視頻編碼器的實例的框圖。

圖3是說明根據本發(fā)明的技術的可實施用于譯碼poc值信息的技術的視頻解碼器的實例的框圖。

圖4是說明根據本發(fā)明的技術的用于編碼指示切片的poc復位周期的數據的實例方法的流程圖。

圖5是說明根據本發(fā)明的技術的用于解碼指示切片的poc復位周期的數據的實例方法的流程圖。

具體實施方式

一般來說,本發(fā)明描述用于視頻譯碼的圖片次序計數(poc)值設計,其可有益于多層視頻譯碼。本發(fā)明描述對多層視頻譯碼中的poc值的信令和導出的各種設計改進。本發(fā)明的技術還可應用于單層視頻譯碼。

poc值通常用以識別圖片,且用以控制經解碼圖片以正確次序輸出。舉例來說,當相對于參考圖片對當前圖片的塊進行幀間預測時,可使用所述參考圖片的poc值來識別所述參考圖片。更明確地說,將包含于參考圖片列表中的poc值參考圖片可在參數集中發(fā)信號通知,例如在序列參數集(sps)、圖片參數集合(pps)和/或對應于所述塊的切片標頭中。以此方式,視頻編碼器可通過發(fā)信號通知對應于參考圖片列表中的參考圖片的位置的指向參考圖片列表中的索引來識別參考圖片,且視頻解碼器可通過構建參考圖片列表(基于poc值)并使用參考索引來識別參考圖片列表中的參考圖片的位置,來識別參考圖片。

視頻譯碼標準包含itu-th.261、iso/iecmpeg-1視覺、itu-th.262或iso/iecmpeg-2視覺、itu-th.263、iso/iecmpeg-4視覺和itu-th.264(也被稱為iso/iecmpeg-4avc),包含其可縮放視頻譯碼(svc)和多視圖視頻譯碼(mvc)擴展。近來,新的視頻譯碼標準(即高效視頻譯碼(hevc))的設計已由itu-t視頻譯碼專家組(vceg)和iso/iec動畫專家組(mpeg)的視頻譯碼聯(lián)合合作小組(jct-vc)定案。最新的hevc草案說明書(且下文中被稱作hevcwd)可從http://phenix.int-evry.fr/jct/doc_end_user/documents/15_geneva/wg11/jctvc-o1003-v1.zip獲得。hevc的多視圖擴展(即mv-hevc)也正由jct-3v開發(fā)。下文中被稱作mv-hevcwd6的最新mv-hevc工作草案(wd)可從http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/6_geneva/wg11/jct3v-f1004-v3.zip獲得。被稱為shvc的對hevc的可縮放擴展也正由jct-vc開發(fā)。hevc的一個最近工作草案(wd)(下文中被稱作shvcwd4)可從http://phenix.int-evry.fr/jct/doc_end_user/documents/15_geneva/wg11/jctvc-o1008-v1.zip獲得。

特定經譯碼圖片的由picordercntval表示的poc值表示所述圖片相對于同一經譯碼視頻序列中的其它圖片在圖片輸出過程中的相對次序。poc值包含最低有效位(lsb)和最高有效位(msb);poc是通過串接msb與lsb來獲得的。lsb可在切片標頭中發(fā)信號通知,且解碼器可基于當前圖片的nal單元類型以及解碼次序中不是nal單元類型隨機存取跳過前沿(rasl)或隨機存取可解碼前沿(radl)或不是子層非參考圖片但具有等于0的temporal_id值的先前圖片的msb和lsb,來計算msb。具有等于0的temporalid和等于當前圖片的nuh_layer_id的nuh_layer_id且不是rasl圖片、radl圖片或子層非參考圖片的此類圖片在下文中將被稱作poc錨圖片。

當當前圖片是具有等于值1的norasloutputflag的irap圖片,或作為位流的第一圖片的cra圖片時,推斷pocmsb的值將等于0。在多層位流(例如具有一個以上層的shvc或mv-hevc位流)中,可存在其中一個或一個以上圖片是irap圖片且一或多個圖片是非irap圖片的存取單元;此類au被稱作非對準irapau。當解碼含有非對準irapau的位流時,基于發(fā)信號通知的poclsb值為所述圖片導出的poc通常很可能將違反存取單元中的所有圖片應具有相同的picordercntval值的位流要求。

在mv-hevcwd5中,可使用旗標poc_reset_flag來使圖片的poc復位,使得即使在位流中存在非對準irapau時,也將調整當前圖片以及dpb中的圖片的picordercntval的值,使得au中的所有圖片的poc相同。

陳等人在2014年4月4日申請的“可包含非對準irap圖片的多層位流的跨層poc對準(cross-layerpocalignmentformulti-layerbitstreamsthatmayincludenon-alignedirappictures)”第14/245,115號美國專利申請案描述實現(xiàn)poc復位的另一方法,其使用兩個旗標:poc_msb_reset_flag和poc_lsb_reset_flag。前者旗標使picordercntval的msb復位,且后者旗標使picordercntval的lsb復位。這兩個旗標都在切片標頭中發(fā)信號通知。

2013年10月14日申請的第61/890,868號美國臨時申請案提出含有當包含pocmsb或poc復位指示的圖片丟失時用于恢復正確poc值的信息的sei消息。

可在http://phenix.int-evry.fr/jct/doc_end_user/documents/15_geneva/wg11/jctvc-o0275-v3.zip獲得的文獻jctvc-o0275v3以及可在http://phenix.int-evry.fr/jct/doc_end_user/documents/15_geneva/wg11/jctvc-o0176-v3.zip獲得的jctvc-o0176v3提出用于在多層視頻譯碼中發(fā)信號通知和導出poc值的某一其它方法。

現(xiàn)有的poc設計,即,現(xiàn)有的用于在多層視頻譯碼中發(fā)信號通知和導出poc值的方法可遇到以下問題:在一些方法中,特定層的圖片的poc導出取決于來自較低層的圖片的信息,例如由nal單元類型指示的圖片類型。因此,如果此較低層圖片丟失,那么無法正確地導出一些圖片(例如特定層的圖片)的poc值。在缺乏本發(fā)明的技術的情況下,將不支持例如其中一個存取單元在一個層中包含irap圖片但針對另一層完全無圖片的那些情況(被稱作缺失-并置-圖片情形)的使用情況。一些方法在明確指定一些sei消息的poc相關持久性范圍或一些sei消息語法元素的poc相關語義時有問題。

本發(fā)明中所描述的poc值設計包含各個方面,其中的任一者或全部可單獨或以任何組合實施。本發(fā)明的技術可克服上文所論述問題中的一或多者。在一個實例中,視頻譯碼器(例如視頻編碼器和視頻解碼器)可譯碼(編碼或解碼)例如視頻數據切片的poc復位周期識別符。poc復位周期識別符可形成切片的切片段標頭的一部分,以識別所述切片所對應的poc復位周期。

本發(fā)明的某些技術是基于有時當前切片(或包含當前切片的當前圖片)的poc值可能不是可確定的認識,因為具有參考poc值(即,為導出當前切片或當前圖片的poc值充當參考的poc值)的圖片丟失或因為其它原因而未接收到。舉例來說,存取單元可包含基礎層圖片的圖片的數據,但可不包含增強層圖片的數據(例如歸因于丟失或省略)。這可導致不可正確地確定的poc值。因此,視頻譯碼器可每poc復位周期執(zhí)行poc值復位至多一次,這可允許視頻解碼器確定poc值,即使在接收到包含基礎層的圖片的數據但不包含增強層的圖片的數據的存取單元之后也是如此。一般來說,poc值復位可包含:確定poc復位周期的錨poc值的值;以及至少部分地基于所述錨poc值,調整同一層中且當前存儲在經解碼圖片緩沖器(dpb)中的圖片的poc值。以此方式,即使再無法確定實際錨poc值(例如歸因于丟失或其它錯誤)時,也可確定poc復位周期的poc值,且恰當地參考dpb中的先前經解碼圖片的poc值,其可用作參考圖片來解碼后續(xù)圖片。poc復位可僅包含使poc值的最高有效位(msb)復位,或poc值的全復位(包含使msb和最低有效位(lsb)兩者復位)。

本發(fā)明的技術還可支持其中存取單元(即,包含特定時刻的所有網絡抽象層(nal)單元的數據單元)針對一個層包含數據但針對另一層不包含數據的技術。舉例來說,不同的視頻數據層可具有不同的幀速率,例如出于時間可縮放性的目的。存取單元具有其數據的層的圖片可為幀內隨機存取點(irap)圖片,并因此充當所述層的poc錨圖片。通常,希望poc值在若干層之間對準。因此,本發(fā)明的技術可用于保持poc值在視頻譯碼層之間的對準,即使圖片不是在每一層處在每一時刻均提供也是如此。

舉例來說,視頻譯碼器可經配置以每poc復位周期執(zhí)行poc復位至多一次。多個圖片可屬于同一poc復位周期。此外,多個圖片可指示poc值將在poc復位周期期間復位。然而,并非響應于指示poc值的每一圖片將復位而使poc值復位,視頻譯碼器可經配置以確定poc值在poc復位周期期間是否已復位(例如由于poc復位周期的先前圖片指示poc值將復位)。接著,僅當poc值在對應的poc復位周期內尚未復位時,視頻譯碼器才可使poc值復位。

此外,視頻譯碼器可經配置以譯碼切片段標頭中的poclsb值。當更新與經解碼圖片緩沖器(dpb)中的切片相同的層中的圖片的poc值且用于導出當前圖片的pocmsb值時,視頻譯碼器可使用此poclsb值。poc錨圖片可具有poc復位類型值,其指示poc錨圖片的poc值將完全復位,或僅poc錨圖片的poc值的msb將復位。視頻譯碼器可將poc錨圖片的lsbpoc值設定為等于切片段標頭中發(fā)信號通知的poclsb值。poc錨圖片可對應于包含所述切片的poc復位周期的第一圖片。視頻譯碼器還可使dpb中的其它圖片的poc值遞減poclsb值。

視頻譯碼器還可經配置以譯碼切片段標頭中的兩位指示(例如poc_reset_idc語法元素的值),以指示包含所述切片的圖片的poc復位類型。所述指示可指示poc復位類型不是poc復位,僅使poc值的msb值復位,使poc值的msb和lsb值兩者復位(還被稱作全復位),或發(fā)信號通知額外信息以指示復位類型,其中額外信息可指示是將執(zhí)行全復位還是僅msb復位,以及poclsb值,如上文所論述。視頻譯碼器可配置有poc錨圖片(poc復位周期的開頭處的那些圖片)必須具有指示全復位、msb復位的poc復位類型或發(fā)信號通知額外信息的限制。視頻譯碼器可譯碼同一poc復位周期的具有指示發(fā)信號通知額外信息的poc復位類型的多個圖片,這可改進容錯性或提供對缺失-并置-圖片情形的支持。以此方式,視頻譯碼器可經配置以基于poc復位類型(例如表示poc復位類型的語法元素的值)執(zhí)行poc復位(例如全復位或僅msb復位)。

此外,視頻譯碼器可經配置以譯碼參數集(例如pps或sps)中的指示,其指示poc復位信息是否在對應的切片段標頭中發(fā)信號通知。舉例來說,當pps中的slice_segment_header_extension_present_flag語法元素等于1時,pps可包含此指示,所述指示的所述值可指示切片段標頭是否將包含poc復位信息(例如poc復位周期識別符和/或poc復位類型指示符)。

圖1是說明根據本發(fā)明的技術的可利用用于譯碼poc值信息的技術的實例視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10包含源裝置12,其提供稍后將由目的地裝置14解碼的經編碼的視頻數據。明確地說,源裝置12經由計算機可讀媒體16將視頻數據提供到目的地裝置14。源裝置12及目的地裝置14可包括多種多樣的裝置中的任一者,包含桌上型計算機、筆記本型(即,膝上型)計算機、平板計算機、機頂盒、電話手持機(例如所謂的“智能”電話)、所謂的“智能”平板計算機、電視機、相機、顯示裝置、數字媒體播放器、視頻游戲控制臺、視頻流式傳輸裝置或類似者。在一些情況下,可裝備源裝置12和目的地裝置14以用于無線通信。

目的地裝置14可經由計算機可讀媒體16接收待解碼的經編碼視頻數據。計算機可讀媒體16可包括能夠將經編碼的視頻數據從源裝置12移動到目的地裝置14的任一類型的媒體或裝置。在一個實例中,計算機可讀媒體16可包括通信媒體以使源裝置12能夠實時地將經編碼的視頻數據直接發(fā)射到目的地裝置14??筛鶕ㄐ艠藴?例如,無線通信協(xié)議)調制經編碼的視頻數據,并將其發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(rf)頻譜或一或多個物理傳輸線。通信媒體可形成基于包的網絡(例如,局域網、廣域網或全球網絡,例如因特網)的部分。通信媒體可包含路由器、交換器、基站或任何其它可用于促進從源裝置12到目的地裝置14的通信的設備。

在一些實例中,經編碼數據可從輸出接口22輸出到存儲裝置。類似地,經編碼數據可由輸入接口從存儲裝置存取。存儲裝置可包含多種分布式或本地存取的數據存儲媒體中的任一者,例如硬盤驅動器、藍光光盤、dvd、cd-rom、快閃存儲器、易失性或非易失性存儲器或任何其它用于存儲經編碼的視頻數據的合適數字存儲媒體。在另一實例中,存儲裝置可對應于可存儲由源裝置12產生的經編碼視頻的文件服務器或另一中間存儲裝置。目的地裝置14可從存儲裝置經由流式傳輸或下載來存取所存儲的視頻數據。文件服務器可為任何類型的能夠存儲經編碼的視頻數據且將經編碼的視頻數據發(fā)射到目的地裝置14的服務器。實例文件服務器包含網絡服務器(例如,用于網站)、ftp服務器、網絡附接式存儲(nas)裝置或本地磁盤驅動器。目的地裝置14可通過任何標準數據連接(包含因特網連接)來存取經編碼視頻數據。這可包含無線通道(例如,wi-fi連接)、有線連接(例如,dsl、電纜調制解調器等),或適合于存取存儲在文件服務器上的經編碼視頻數據的兩者的組合。經編碼視頻數據從存儲裝置的發(fā)射可為流式傳輸發(fā)射、下載發(fā)射或其組合。

本發(fā)明的技術未必限于無線應用或設定。所述技術可應用于視頻譯碼以支持多種多媒體應用中的任一者,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、因特網流式視頻發(fā)射(例如,經由http的動態(tài)自適應流式傳輸(dash))、編碼到數據存儲媒體上的數字視頻、存儲在數據存儲媒體上的數字視頻的解碼或其它應用。在一些實例中,系統(tǒng)10可經配置以支持單向或雙向視頻傳輸,以支持例如視頻流式傳輸、視頻重放、視頻廣播和/或視頻電話等應用。

在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。根據本發(fā)明,源裝置12的視頻編碼器20可經配置以應用根據本發(fā)明的技術的用于譯碼poc值信息的技術。在其它實例中,源裝置和目的地裝置可包括其它組件或布置。舉例來說,源裝置12可從外部視頻源18(例如外部相機)接收視頻數據。同樣,目的地裝置14可與外部顯示裝置介接,而非包含集成式顯示裝置。

圖1所說明的系統(tǒng)10僅為一個實例。根據本發(fā)明的技術的用于譯碼poc值信息的技術可由任何數字視頻編碼和/或解碼裝置執(zhí)行。盡管本發(fā)明的技術一般由視頻編碼裝置來執(zhí)行,但是所述技術也可由視頻編碼器/解碼器(通常被稱作“編碼解碼器”)來執(zhí)行。此外,本發(fā)明的技術還可由視頻預處理器執(zhí)行。源裝置12和目的地裝置14僅為源裝置12產生經譯碼視頻數據以供發(fā)射到目的地裝置14的此類譯碼裝置的實例。在一些實例中,裝置12、14可以大體上對稱的方式操作,使得裝置12、14中的每一者包含視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻傳播以例如用于視頻流式傳輸、視頻重放、視頻廣播或視頻電話。

源裝置12的視頻源18可包含視頻捕獲裝置,例如攝像機、含有先前所捕獲視頻的視頻存檔和/或用于接收來自視頻內容提供者的視頻的視頻饋送接口。作為另一替代方案,視頻源18可產生基于計算機圖形的數據作為源視頻,或實況視頻、所存檔視頻與計算機產生的視頻的組合。在一些情況下,如果視頻源18是視頻攝像機,那么源裝置12和目的地裝置14可形成所謂的攝像機電話或視頻電話。然而,如上文所提到,本發(fā)明中所描述的技術可大體上適用于視頻譯碼,且可應用于無線和/或有線應用。在每一情況下,所俘獲、預先俘獲或計算機產生的視頻可由視頻編碼器20編碼。經編碼視頻信息可接著由輸出接口22輸出到計算機可讀媒體16上。

計算機可讀媒體16可包含瞬時媒體,例如無線廣播或有線網絡發(fā)射,或存儲媒體(即,非暫時性存儲媒體),例如硬盤、快閃驅動器、壓縮光盤、數字視頻光盤、藍光光盤或其它計算機可讀媒體。在一些實例中,網絡服務器(未圖示)可從源裝置12接收經編碼視頻數據,并且(例如)經由網絡傳輸將經編碼視頻數據提供到目的地裝置14。類似地,媒體生產設施(例如,光盤沖壓設施)的計算裝置可從源裝置12接收經編碼的視頻數據,且生產含有經編碼的視頻數據的光盤。因此,在各種實例中,計算機可讀媒體16可以理解為包含各種形式的一或多個計算機可讀媒體。

目的地裝置14的輸入接口28從計算機可讀媒體16接收信息。計算機可讀媒體16的信息可包含由視頻編碼器20定義的語法信息,所述語法信息還供視頻解碼器30使用,所述語法信息包含描述塊和其它經譯碼單元(例如,gop)的特性和/或處理的語法元素。顯示裝置32將經解碼視頻數據顯示給用戶,且可包括多種顯示裝置中的任一者,例如陰極射線管(crt)、液晶顯示器(lcd)、等離子顯示器、有機發(fā)光二極管(oled)顯示器或另一類型的顯示裝置。

視頻編碼器20和視頻解碼器30可根據一種視頻譯碼標準(例如目前正在開發(fā)的高效視頻譯碼(hevc)標準)來操作,且可符合hevc測試模型(hm)?;蛘撸曨l編碼器20和視頻解碼器30可根據其它專有或業(yè)界標準來操作,所述標準例如是itu-th.264標準,也被稱為mpeg-4,第10部分,高級視頻譯碼(avc),或此類標準的擴展。然而,本發(fā)明的技術不限于任何特定譯碼標準。視頻譯碼標準的其它實例包含mpeg-2和itu-th.263。盡管圖1中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可分別各自與音頻編碼器和解碼器集成,并且可包含適當的多路復用器-多路分用器(mux-demux)單元或其它硬件和軟件,以處置對共同數據流或單獨數據流中的音頻和視頻兩者的編碼。如果適用,那么多路復用器-多路分用器單元可符合ituh.223多路復用器協(xié)議,或例如用戶數據報協(xié)議(udp)等其它協(xié)議。

itu-th.264/mpeg-4(avc)標準是作為被稱為聯(lián)合視頻小組(jvt)的集體聯(lián)盟的產品而由itu-t視頻譯碼專家組(vceg)連同iso/iec移動圖片專家組(mpeg)制定。在一些方面中,本發(fā)明中描述的技術可應用于大體符合h.264標準的裝置。h.264標準描述于itu-t研究組的日期為2005年3月的“itu-t推薦h.264,用于通用視聽服務的高級視頻譯碼”(itu-trecommendationh.264,advancedvideocodingforgenericaudiovisualservices)中,其在本文中可稱為h.264標準或h.264規(guī)范或h.264/avc標準或規(guī)范。聯(lián)合視頻小組(jvt)繼續(xù)致力于對h.264/mpeg-4avc的擴展。

視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器電路中的任一者,例如一個或一個以上微處理器、數字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、離散邏輯、軟件、硬件固件或其任何組合。當部分地用軟件實施所述技術時,裝置可將用于所述軟件的指令存儲在合適的非暫時性計算機可讀媒體中且使用一或多個處理器用硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應裝置中的組合式編碼器/解碼器(codec)的部分。

jct-vc正在致力于開發(fā)hevc標準。hevc標準化努力是基于被稱作hevc測試模型(hm)的視頻譯碼裝置的演進模型。hm假設視頻譯碼裝置根據例如itu-th.264/avc相對于現(xiàn)有裝置的幾個額外能力。舉例來說,雖然h.264提供了九個幀內預測編碼模式,但hm可提供多達三十三個幀內預測編碼模式。

一般來說,hm的工作模型描述視頻幀或圖片可分成包含亮度和色度樣本兩者的一連串樹塊或最大譯碼單元(lcu)。位流內的語法數據可定義lcu的大小,lcu是就像素數目來說的最大譯碼單元)。切片包含按譯碼次序的若干連續(xù)樹塊。視頻幀或圖片可被分割成一或多個切片。每一樹塊可根據四叉樹分裂成若干譯碼單元(cu)。一般來說,四叉樹數據結構每cu包含一個節(jié)點,其中根節(jié)點對應于所述樹塊。如果一個cu分裂成四個子cu,那么對應于cu的節(jié)點包含四個葉節(jié)點,其中的每一者對應于所述子cu中的一者。

四叉樹數據結構的每一節(jié)點可提供用于對應cu的語法數據。舉例來說,四叉樹中的節(jié)點可包含分裂旗標,其指示對應于所述節(jié)點的所述cu是否分裂成若干子cu。用于cu的語法元素可遞歸地來定義,且可取決于cu是否分裂成數個子cu。如果cu不進一步分裂,那么將其稱為葉cu。在本發(fā)明中,葉cu的四個子cu也將被稱作葉cu,即使不存在原始葉cu的明確分裂時也是如此。舉例來說,如果16x16大小的cu不進一步分裂,那么這四個8x8子cu將也被稱作葉cu,雖然16x16cu從未分裂。

cu具有與h.264標準的宏塊類似的目的,除了cu不具有大小區(qū)別。舉例來說,樹塊可分裂成四個子節(jié)點(也稱為子cu),且每一子節(jié)點又可為父節(jié)點且可分裂成另外四個子節(jié)點。最終的未經分裂子節(jié)點(被稱作四叉樹的葉節(jié)點)包括譯碼節(jié)點,還被稱作葉cu。與經譯碼位流相關聯(lián)的語法數據可定義樹塊可分裂的最大次數,被稱作最大cu深度,且還可定義譯碼節(jié)點的最小大小。因此,位流還可定義最小譯碼單元(scu)。本發(fā)明使用術語“塊”來指hevc的上下文中的cu、pu或tu中的任一者,或者其它標準的上下文中的類似數據結構(例如,其在h.264/avc中的宏塊和子塊)。

cu包含譯碼節(jié)點和與所述譯碼節(jié)點相關聯(lián)的預測單元(pu)和變換單元(tu)。cu的大小對應于譯碼節(jié)點的大小,并且形狀必須是正方形。cu的大小可介于8×8個像素至多達具有最大64×64個像素或更大的樹塊大小的范圍內。每一cu可含有一或多個pu和一或多個tu。舉例來說,與cu相關聯(lián)的語法數據可描述cu分割成一或多個pu。分割模式可在cu被跳過或經直接模式編碼、經幀內預測模式編碼或經幀間預測模式編碼之間有所不同。pu可以分割成非正方形形狀。舉例來說,與cu相關聯(lián)的語法數據還可描述根據四叉樹將cu分割成一或多個tu。atu可為正方形或非正方形(例如,矩形)形狀。

hevc標準允許根據tu的變換,tu可針對不同cu而有所不同。tu的大小通常是基于針對經分割lcu定義的給定cu內的pu的大小而確定,但是情況可能并不總是如此。tu通常與pu大小相同或小于pu。在一些實例中,對應于cu的殘差樣本可使用被稱為“殘差四叉樹”(rqt)的四叉樹結構細分成較小單元。rqt的葉節(jié)點可被稱為變換單元(tu)??勺儞Q與tu相關聯(lián)的像素差值以產生變換系數,所述變換系數可經量化。

葉cu可包含一或多個預測單元(pu)。一般來說,pu表示對應于相對應的cu的全部或一部分的空間區(qū)域,并且可包含用于檢索pu的參考樣本的數據。此外,pu包含與預測有關的數據。舉例來說,當pu經幀內模式編碼時,用于pu的數據可包含在殘差四分樹(rqt)中,殘差四分樹可包含描述用于對應于pu的tu的幀內預測模式的數據。作為另一實例,當pu經幀間模式編碼時,pu可包含定義pu的一或多個運動向量的數據。界定pu的運動向量的數據可描述(例如)運動向量的水平分量、運動向量的垂直分量、運動向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運動向量所指向的參考圖片,和/或運動向量的參考圖片列表(例如,列表0、列表1或列表c)。

經幀間預測pu(更明確地說pu對應于的cu的經幀間預測部分)的運動信息可包含參考圖片列表識別符和對應于參考圖片在參考圖片列表中的位置的參考索引。視頻編碼器20(例如)可構建參考圖片列表(包含對原先構建的參考圖片列表作出的任何修改),且在參考圖片列表中的參考圖片當中執(zhí)行運動搜索,以識別接近匹配的塊(例如基于絕對差總和(sad)度量,或相似度量),還被稱作參考塊。為了發(fā)信號通知參考塊的位置,視頻編碼器20可編碼所述pu的參考圖片列表識別符和參考索引。此外,視頻編碼器20可編碼表示待包含于參考圖片列表中的參考圖片的數據,例如通過在切片標頭中和/或參數集(例如圖片參數集合或序列參數集)中發(fā)信號通知表示參考圖片的poc值的數據。

視頻編碼器20和視頻解碼器30可通常經配置以根據視頻譯碼標準或對視頻譯碼標準的擴展(例如mv-hevc或shvc)來操作。出于實例的目的,下文相對于mv-hevc來描述本發(fā)明的技術,但應理解,這些技術可適用于其它視頻譯碼標準或擴展,例如shvc。

poc復位周期可如下定義,例如在mv-hevc的子條款f.3中:

f.3.1圖片次序計數(poc)復位周期:層內按解碼次序的全部具有大于0的poc_reset_idc和相同poc_reset_period_id值的圖片的序列。

或者,以上定義中的短語“在層內”可省略,例如如下:

f.3.2圖片次序計數(poc)復位周期:按解碼次序的全部具有大于0的poc_reset_idc和相同的poc_reset_period_id值的圖片的序列。

在一個實例中,mv-hevc(或另一適用標準或標準擴展)可要求poc復位周期中的圖片在層內按解碼次序連續(xù)。然而,允許這些圖片與同一層中具有等于0的poc_reset_idc的圖片交錯可增加靈活性,且允許使用相同開銷來實現(xiàn)對群集包丟失的較好容錯性。

視頻編碼器20可將切片指派給相應poc的復位周期。每一poc復位周期可包含一或多個切片。因此,當poc值針對poc復位周期而復位(包含使在譯碼次序中在poc復位周期之前的參考圖片的poc值復位)時,視頻編碼器20可基于復位的poc值來發(fā)信號通知將包含于參考圖片列表中的參考圖片的poc值。

一般來說,當執(zhí)行poc復位時,視頻編碼器20和視頻解碼器30分別使poc錨圖片和當前存儲在經解碼圖片緩沖器(dpb)中的其它圖片的poc值復位。接著,視頻編碼器20和視頻解碼器30可分別基于poc錨圖片的經復位的poc值確定poc復位周期中的其它圖片的poc值。在一些實例中,視頻編碼器20和視頻解碼器30分別可執(zhí)行poc錨圖片的poc復位,即在poc錨圖片的譯碼期間。

根據本發(fā)明的技術,可基于在切片段標頭中發(fā)信號通知的poc復位周期識別符來指定層特定poc復位周期。就是說,視頻編碼器20和視頻解碼器30可分別譯碼表示切片段標頭中的poc復位周期識別符的數據。屬于包含至少一個irap圖片的存取單元的每一非irap圖片可為含有非irap圖片的層中的poc復位周期的開頭。就是說,視頻編碼器20可將含有至少一個irap圖片的存取單元的非irap圖片的poc復位類型設定為指示所述非irap圖片是新poc復位周期的開頭。此外,視頻編碼器20可基于poc復位類型來執(zhí)行poc復位。在此存取單元中,每一圖片將為含有所述圖片的層中的poc復位周期的開頭。poc復位,僅pocmsb或pocmsb和poclsb兩者,以及dpb中的同一層圖片的poc值的更新可僅對每一poc復位周期內的第一圖片適用。

視頻編碼器20可在視頻解碼器30可用來導出包含具有切片段標頭的切片的層中的圖片的poc值的切片段標頭中發(fā)信號通知poclsb值。在切片段標頭中發(fā)信號通知的poclsb值可用于導出增量poc值,其用于更新dpb中的同一層圖片的poc值,且還用于導出當前圖片的poc值的pocmsb。在當前圖片具有發(fā)信號通知的此poclsb值時,且在位流中存在與所述當前圖片相關聯(lián)的poc錨圖片時,所述poc錨圖片具有全poc復位或pocmsb復位的指示。為當前圖片發(fā)信號通知的此lsb值等于poc錨圖片的poclsb值,poc錨圖片也是poc復位周期的作為當前圖片的第一圖片。

視頻編碼器20和視頻解碼器30分別可譯碼切片段標頭的兩位指示語法元素,其指示具有切片段標頭的切片的poc復位的類型。對于不具有poc值或pocmsb值復位的圖片的此指示,視頻編碼器20和視頻解碼器30可分別譯碼值0。對于僅具有pocmsb復位的圖片的此指示,視頻編碼器20和視頻解碼器30可分別譯碼值1。對于具有全poc復位的圖片的此指示,視頻編碼器20和視頻解碼器30可分別譯碼值2。對于具有全poc復位或pocmsb復位且具有發(fā)信號通知的額外信息的圖片的此指示,視頻編碼器20和視頻解碼器30可分別譯碼值3。視頻編碼器20和視頻解碼器30可分別配置有對于兩位指示具有值1或2的圖片必定是poc復位周期的開頭的限制。或者,在一些實例中,對于兩位指示具有值3的圖片也可為poc復位周期的開頭。視頻編碼器20和視頻解碼器30可分別配置有屬于poc復位周期但不是poc復位周期中的第一圖片的圖片對于兩位指示必定具有值3的限制。

通過作為poc復位周期的開頭的對于兩位指示具有值3的圖片來支持其中一個存取單元在一個層中包含irap圖片但對于另一層完全無圖片的使用情況。換句話說,通過提供如對于兩位指示由值3指示的額外信令信息,視頻編碼器20和視頻解碼器30分別可譯碼包含在一個層中具有irap圖片且在另一層中不具有圖片的至少一個存取單元的視頻數據。

本發(fā)明的技術可增強容錯性。舉例來說,可通過具有按解碼次序在圖片之后且對于兩位指示指派值3的一或多個同一層圖片,來克服poc復位周期的開頭處的圖片的丟失。額外信息可包含開始poc復位周期的poc錨圖片的poclsb值。因此,可應用用于支持缺失-并置-圖片情形的相同過程來解決容錯性問題。

下表是根據本發(fā)明的技術的切片段標頭的語法的實例??上鄬τ诶鏼v-hevc的切片語法標頭來修改所述切片語法標頭。在下文的實例語法表和語義中,使用斜體字來表示對mv-hevc的添加,且使用前面帶“去除”的加括號文本(例如[去除:“去除文本”])來表示從mv-hevc的刪除。此外,關于“要求”的陳述應理解為形成標準或標準擴展的文本的一部分,而不是出于本發(fā)明的技術的目的的要求。

或者,可使用不同數目的位(例如譯碼為u(14))來發(fā)信號通知poc_reset_period_id。

當存在時,切片片段標頭語法元素slice_pic_parameter_set_id、pic_output_flag、no_output_of_prior_pics_flag、slice_pic_order_cnt_lsb、short_term_ref_pic_set_sps_flag、short_term_ref_pic_set_idx、num_long_term_sps、num_long_term_pics、slice_temporal_mvp_enabled_flag、discardable_flag、cross_layer_bla_flag、inter_layer_pred_enabled_flag、num_inter_layer_ref_pics_minus1、poc_reset_idc、poc_reset_period_id、full_poc_reset_flag和poc_lsb_val的值在經譯碼圖片的所有切片段標頭中將相同。當存在時,對于i的每一可能值,切片段標頭語法元素lt_idx_sps[i]、poc_lsb_lt[i]、used_by_curr_pic_lt_flag[i]、delta_poc_msb_present_flag[i]、delta_poc_msb_cycle_lt[i]和inter_layer_pred_layer_idc[i]的值在經譯碼圖片的所有切片段標頭中將相同。

[去除:“等于1的poc_reset_flag指定為當前圖片導出的圖片次序計數等于0。等于0的poc_reset_flag指定為當前圖片導出的圖片次序計數可或可不等于0。當不存在時,推斷poc_reset_flag的值等于0。

注-當poc_reset_flag在基礎層圖片中等于1時,取決于應用了子條款8.3.1或子條款f.8.3.1的解碼過程,不同地導出picordercntval。此外,當具有等于1的poc_reset_flag的基礎層圖片根據子條款8.3.1或f.8.3.1為prevtid0pic時,在子條款8.3.1和f.8.3.1中不同地導出變量prevpicordercntlsb。為了避免在子條款8.3.1或f.8.3.1中的一者中不當地更新picordercntmsb,當prevtid0pic是具有等于1的poc_reset_flag的基礎層圖片,且以下條件中的任一者對于用子條款8.3.1或f.8.3.1中的一者導出的prevpicordercntlsb為真時,prevtid0pic的pic_order_cnt_lsb的值將使得相同條件對于用子條款8.3.1或f.8.3.1中的另一者導出的prevpicordercntlsb也為真:

-(slice_pic_order_cnt_lsb<prevpicordercntlsb)&&((prevpicordercntlsb-slice_pic_order_cnt_lsb)>=(maxpicordercntlsb/2))

-(slice_pic_order_cnt_lsb>prevpicordercntlsb)&&((slice_pic_order_cnt_lsb-prevpicordercntlsb)>(maxpicordercntlsb/2))”]。

slice_segment_header_extension_length指定切片段標頭擴展數據以字節(jié)為單位的長度,不包含用于發(fā)信號通知slice_segment_header_extension_length本身的位。如果poc_reset_info_present_flag等于0,那么slice_segment_header_extension_length的值將在0到256的范圍內,包含0和256。否則,當poc_reset_idc小于3時,slice_segment_header_extension_length的值將在1到256的范圍內,包含1和256,且當poc_reset_idc等于3時,在1+ceil((log2_max_pic_order_cnt_lsb_minus4+5)/8)到256的范圍內。

poc_reset_idc等于0指定當前圖片的圖片次序計數值的最高有效位和最低有效位均不復位。poc_reset_idc等于1指定僅可復位當前圖片的圖片次序計數值的最高有效位。poc_reset_idc等于2指定當前圖片的圖片次序計數的最高有效位和最低有效位均不復位。poc_reset_idc等于3指定可復位當前圖片的圖片次序計數值的僅最高有效位或最高有效位和最低有效位兩者,且發(fā)信號通知額外圖片次序計數信息。當不存在時,推斷poc_reset_poc的值等于0。

這是以下約束適用的位流一致性的要求:

-對于rasl圖片、radl圖片、子層非參考圖片或具有大于0的temporalid的圖片,poc_reset_idc的值將不等于1或2。

-當存取單元中的圖片的poc_reset_idc的值等于1時,存取單元中的所有圖片的poc_reset_idc的值將等于1。(或者,可寫入此元素:當存在時,存取單元中的所有圖片的poc_reset_idc的值將相同)。

-當存取單元中的圖片的poc_reset_idc的值等于2時,存取單元中的所有圖片的poc_reset_idc的值將等于2。(或者,可全部忽略此元素)

-當存取單元中的一個圖片是具有nal_unit_type的特定值的irap圖片,且相同存取單元中存在具有nal_unit_type的不同值的至少一個其它圖片,對于存取單元中的所有圖片,poc_reset_idc的值將等于1或2。

-當存取單元中具有等于0的nuh_layer_id的圖片是idr圖片且同一存取單元中存在至少一個非idr圖片時,對于存取單元中的所有圖片,poc_reset_idc的值將等于1。

-當存取單元中具有等于0的nuh_layer_id的圖片不是idr圖片時,對于存取單元中的任一圖片,poc_reset_idc的值將不等于1。

poc_reset_period_id識別poc復位周期。同一層中將不存在按解碼次序連續(xù)的具有等于1或2的poc_reset_period_id和poc_reset_idc的相同值的兩個圖片。

注-層中的多個圖片具有相同的poc_reset_period_id值且具有等于1或2的poc_reset_idc不受禁止,除非此類圖片出現(xiàn)在按解碼次序的兩個連續(xù)存取單元中。為了使這兩個圖片出現(xiàn)在位流中的可能性最小化(歸因于圖片損失、位流提取、搜尋或拼接操作),編碼器應針對每一poc復位周期將poc_reset_period_id的值設定為隨機值(經受以上指定的約束)。

在一些實例中,在以上的“注”之后,可另外插入以下內容:

這是以下約束適用的位流一致性的要求:

-當相同poc復位周期中存在具有等于1和3的poc_reset_idc的圖片時,所述poc復位周期中具有相等3的poc_reset_idc的所有圖片按解碼次序將在具有等于1的poc_reset_idc的圖片之后。

-當同一poc復位周期中存在具有等于2和3的poc_reset_idc的圖片時,所述poc復位周期中具有相等3的poc_reset_idc的所有圖片按解碼次序中將在具有等于2的poc_reset_idc的圖片之后。

當同一層中按解碼次序的先前圖片并不屬于同一poc復位周期時,等于1的full_poc_reset_flag指定當前圖片的圖片次序計數值的最高有效位和最低有效位兩者復位。當同一層中按解碼次序的先前圖片不屬于同一poc重設周期時,等于0的full_poc_reset_flag指定復位當前圖片的圖片次序計數值的僅最高有效位。

poc_lsb_val指定可用以導出當當前圖片的圖片次序計數的值。poc_lsb_val語法元素的長度是log2_max_pic_order_cnt_lsb_minus4+4個位。

位流一致性的要求是:當poc_reset_idc等于3時,且位流中存在位于與當前圖片相同的層中、具有等于1或2的poc_reset_idc且屬于同一poc復位周期的按解碼次序的先前圖片pica時,pica將為按解碼次序在與當前圖片相同的層中;不是rasl圖片、radl圖片或子層非參考圖片;且具有等于0的temporalid的先前圖片相同的圖片,且當前圖片的poc_lsb_val的值將等于pica的slice_pic_order_cnt_lsb的值。

變量numrsvbits和bytesinslicesegmthdrext是如下導出的:

slice_segment_header_extension_reserved_bits可具有任何值。slice_segment_header_extension_reserved_bits語法元素的長度等于numrsvbits個位。解碼器將忽略slice_segment_header_extension_reserved_bits的值。其值并不影響解碼器對本說明書的此版本中指定的簡檔的符合性。

視頻解碼器30可執(zhí)行用于開始存取單元中的第一圖片的解碼的以下解碼過程:

將pocresetflag的值設定成0。

將變量deltapocval設定成0。

對于從0到63(包含0和63)的i的所有值,將變量updatesubdpbflag[i]設定成等于0。

視頻解碼器30可執(zhí)行用于結束存取單元中的最后一個圖片的解碼的以下解碼過程:

如果pocresetflag等于1,那么以下適用:

-對于從0到63(包含0和63)的i的所有值,如果updatesubdpbflag[i]等于0,那么在dpb中且具有等于i的nuh_layer_id的每一圖片的picordercntval遞減deltapocval。

視頻編碼器20和視頻解碼器30可分別譯碼包含于pps中的指示,用于控制poc復位信息在對應于pps的圖片的切片的切片段標頭中的存在。舉例來說,pps可包含slice_segment_header_extension_present_flag語法元素。在slice_segment_header_extension_present_flag等于1的條件下,poc復位信息可存在于對應于pps的圖片的切片中。一般來說,當圖片的切片包含具有與pps的識別符的值相等的值的pps識別符語法元素時,可將圖片稱為對應于pps。

下表提供pps的語法的一個實例。本實例表示pps的經修改語法,以執(zhí)行本發(fā)明的技術。在表中以斜體字且以pps的語法元素的語義來顯示所添加的相對于mv-hevc的標的物。因此,視頻編碼器20和視頻解碼器30分別可根據以下語法和語義來譯碼pps:

等于0的pps_extension_flag指定無pps_extension_data_flag語法元素存在于ppsrbsp語法結構中。當slice_segment_header_extension_present_flag等于0時,pps_extension_flag在遵守本說明書的此版本的位流中將等于0,保留pps_extension_flag的值1,用于由itu-t|iso/iec未來使用,且解碼器將忽略ppsnal單元中在pps_extension_flag的值1后的所有數據。

等于0的poc_reset_info_present_flag指定語法元素poc_reset_idc不存在于參考pps的切片的切片段標頭中。等于1的poc_reset_info_present_flag指定語法元素poc_reset_idc存在于參考pps的切片的切片段標頭中。

等于0的pps_extension2_flag指定無pps_extension_data_flag語法元素存在于ppsrbsp語法結構中。pps_extension2_flag在符合本說明書的此版本的位流中將等于0。保留pps_extension2_flag的值1以供itu-t|iso/iec未來使用。解碼器將忽略ppsnal單元中在pps_extension2_flag的值1后的所有數據。

可將數學函數的以下定義添加到mv-hevc,例如添加到mv-hevc的子條款5.8:

視頻解碼器30可對poc值執(zhí)行以下解碼過程??稍趍v-hevc的經修改版本或對視頻譯碼標準的其它擴展中描述此過程。下文相對于mv-hevc來展示變化,其中使用[去除:“”]來展示表示添加和刪除的斜體文本。

此過程的輸出為picordercntval,當前圖片的圖片次序計數。使用圖片次序計數來識別圖片,以用于在合并模式和運動向量預測中導出運動參數,且用于解碼器一致性檢查(參看mv-hevc的子條款c.5)。每一經譯碼圖片與一圖片次序計數變量(標示為picordercntval)相關聯(lián)。

[去除:“如果firstpicinlayerdecodedflag[nuh_layer_id]等于0或當前圖片是具有等于1的norasloutputflag的irap圖片,那么將變量picordercntmsb設定成等于0。[ed.(mh):當增強層中的第一圖片處于按解碼次序在具有等于1的noclrasoutputflag的初始irap存取單元之后且按輸出次序在其之前的存取單元中時,增強層中的第一圖片的picordercntval不同于同一存取單元中的基礎層圖片的picordercntval。][ed.(mh):等于0的picordercntmsb的此導出強加以下約束:至多達最高層的逐層啟動必須在0到maxpicorderlsb-1(包含0和maxpicorderlsb-1)的poc范圍內發(fā)生。]否則,如下導出picordercntmsb:

將變量prevpicordercntlsb設定為等于prevpicordercnt[nuh_layer_id]&(maxpicordercntlsb-1)。

將變量prevpicordercntmsb設定為等于prevpicordercnt[nuh_layer_id]-prevpicordercntlsb.

如下導出picordercntmsb:

如下導出picordercntval:

picordercntval=picordercntmsb+slice_pic_order_cnt_lsb(f-24)

當poc_reset_flag等于1時,以下步驟以所列次序應用:

在dpb中且與當前圖片屬于同一層的每一圖片的picordercntval遞減picordercntval。

prevpicordercnt[nuh_layer_id]遞減picordercntval。

將picordercntval設定為等于0。

當當前圖片不是rasl圖片、radl圖片或子層非參考圖片,且當前圖片具有等于0的temporalid時,將prevpicordercnt[nuh_layer_id]設定為等于picordercntval”]。

如果firstpicinlayerdecodedflag[nuh_layer_id]等于1,poc_reset_idc大于0,且當前圖片是poc復位周期中按解碼次序的第一圖片,那么以下適用:(或者,此元素可寫為:如果firstpicinlayerdecodedflag[nuh_layer_id]等于1且poc_reset_idc大于0,或firstpicinlayerdecodedflag[nuh_layer_id]等于1且poc_reset_idc等于3且當前圖片包含于poc復位周期中按解碼次序的第一圖片存取單元中,且所述poc復位周期中不存在具有等于1或2的poc_reset_idc的圖片,那么以下適用:)

-如下導出變量pocmsbdelta和poclsbdelta:

-在dpb中且屬于與當前圖像相同的層的每一圖片的picordercntval遞減pocmsbdelta+poclsbdelta。

在一些實例中,可另外執(zhí)行以下三個步驟:

-pocresetflag=1

-deltapocval=pocmsbdelta+poclsbdelta

-updatesubdpbflag[nuh_layer_id]=1

-如下導出當前圖片的picordercntval:

-如下導出prevpicordercnt[nuh_layer_id]的值:

-如果當前圖像不是rasl圖片、radl圖片或子層非參考圖片,且當前圖片具有等于0的temporalid,那么將prevpicordercnt[nuh_layer_id]設定成等于picordercntval。

-否則,當poc_reset_idc等于3時,設定prevpicordercnt[nuh_layer_id]等于full_poc_reset_flag?0:poc_lsb_val。

否則,以下適用:

-如下導出當前圖片的picordercntval:

-如下導出prevpicordercnt[nuh_layer_id]的值:

-如果當前圖像不是rasl圖片、radl圖片或子層非參考圖片,且當前圖片具有等于0的temporalid,那么將prevpicordercnt[nuh_layer_id]設定成等于picordercntval。

-否則,當firstpicinlayerdecodedflag[nuh_layer_id]等于0且poc_reset_idc等于3時,設定prevpicordercnt[nuh_layer_id]等于full_poc_reset_flag?0:poc_lsb_val。

根據mv-hevc,picordercntval的值將在-231到231-1(包含-231和231-1)的范圍內。同樣地,根據mv-hevc,在一個cvs中,同一層中的任何兩個經譯碼圖片的picordercntval值將不相同。

如下指定函數picordercnt(picx):

picordercnt(picx)=圖片picx的picordercntval(f-25)

如下指定函數diffpicordercnt(pica,picb):

diffpicordercnt(pica,picb)=picordercnt(pica)-picordercnt(picb)(f-26)

根據mv-hevc,位流將不含有產生用于解碼過程中的不在-215到215-1(包含-215和215-1)的范圍內的diffpicordercnt(pica,picb)的值的數據。

注意-令x為當前圖片且y和z為同一序列中的兩個其它圖片,當diffpicordercnt(x,y)和diffpicordercnt(x,z)為正或兩者都為負時,y和z被視為在從x的相同輸出次序方向上。

根據mv-hevc,以下sei消息具有poc相關持續(xù)范圍:

·恢復點sei消息

·漸進細化段開始sei消息

在一些實例中,可進一步將此sei消息的持續(xù)范圍的結束限制為按解碼次序早于下一圖片,其在與同所述sei消息相關聯(lián)的圖片相同的層中,且更新圖片在dpb中的圖片次序計數值。或者,提出將此sei消息的持續(xù)范圍的結束進一步限制為按解碼次序早于下一圖片,其在與同sei消息相關聯(lián)的圖片相同的層中,具有等于1的poc_msb_reset_flag,且對于所述圖片,同一層中按解碼次序的前一圖片具有等于0的poc_msb_reset_flag。在此情況下,可進一步添加限制,使得當對于其中實際需要pocmsb復位的圖片pica之后的圖片集合,將poc_msb_reset_flag設定成1時,所述圖片集合按解碼次序必須緊接在pica之后,且按解碼次序必須連續(xù)。

具有一或多個pu的葉cu還可包含一或多個變換單元(tu)。變換單元可使用rqt(也稱為tu四叉樹結構)來指定,如上文所論述。舉例來說,分裂旗標可指示葉cu是否分裂成四個變換單元。接著,每一變換單元可進一步分裂成更多個子tu。當tu未進一步分裂時,其可被稱作葉tu。通常,對于幀內譯碼,屬于一葉cu的所有葉tu共享相同的幀內預測模式。也就是說,通常應用相同的幀內預測模式來計算葉cu的所有tu的預測值。對于幀內譯碼,視頻編碼器可使用幀內預測模式將每一葉tu的殘差值計算為cu的對應于tu的部分與原始塊之間的差。tu不一定限于pu的大小。因此,tu可大于或小于pu。對于幀內譯碼,pu可與相同cu的對應葉tu并置。在一些實例中,葉tu的最大大小可對應于對應的葉cu的大小。

此外,葉cu的tu還可與相應的四叉樹數據結構(被稱作殘差四叉樹(rqt))相關聯(lián)。就是說,葉cu可包含指示葉cu如何分割成tu的四叉樹。tu四叉樹的根節(jié)點一般對應于葉cu,而cu四叉樹的根節(jié)點一般對應于樹塊(或lcu)。未經分裂的rqt的tu被稱作葉tu。一般來說,除非另外提到,否則本發(fā)明分別使用術語cu和tu來指葉cu和葉tu。

視頻序列通常包含一系列視頻幀或圖片。圖片群組(gop)一般包括一系列一或多個視頻圖片。gop可包含gop的標頭、圖片中的一者或一者以上的標頭或其它地方中的語法數據,其描述gop中包含的圖片的數目。圖片的每一切片可包含描述用于相應切片的編碼模式的切片語法數據。視頻編碼器20通常對個別視頻切片內的視頻塊進行操作以便對視頻數據進行編碼。視頻塊可與cu內的譯碼節(jié)點相對應。視頻塊可具有固定或變化的大小,并且根據指定譯碼標準可在大小上有所不同。

作為實例,hm支持各種pu大小的預測。假設特定cu的大小為2n×2n,那么hm支持2n×2n或n×n的pu大小的幀內預測,以及2n×2n、2n×n、n×2n或n×n的對稱pu大小的幀間預測。hm還支持用于在2n×nu、2n×nd、nl×2n和nr×2n的pu大小下的幀間預測的不對稱分割。在不對稱分割中,不分割cu的一個方向,但是將另一方向分割成25%和75%。cu的對應于25%分區(qū)的部分由“n”后面接著“上”、“下”、“左”或“右”的指示來指示。因此,例如,“2n×nu”是指經水平分割的2n×2ncu,其中頂部為2n×0.5npu,而底部為2n×1.5npu。

在本發(fā)明中,“nxn”與“n乘n”可互換使用以指依據垂直尺寸和水平尺寸的視頻塊的像素尺寸,例如,16x16像素或16乘16像素。一般來說,16x16塊將在垂直方向上具有16個像素(y=16),且在水平方向上具有16個像素(x=16)。同樣,nxn塊通常在垂直方向上具有n個像素,并且在水平方向上具有n個像素,其中n表示非負整數值。塊中的像素可布置成行和列。此外,塊未必需要在水平方向上與在豎直方向上具有相同數目個像素。舉例來說,塊可包括nxm個像素,其中m未必等于n。

在使用cu的pu進行幀內預測性或幀間預測性譯碼之后,視頻編碼器20可計算用于cu的tu的殘差數據。pu可包括描述在空間域(還稱為像素域)中產生預測性像素數據的方法或模式的語法數據,并且tu可包括在對殘差視頻數據應用了變換(例如離散余弦變換(dct)、整數變換、小波變換或概念上類似的變換)變換域中的系數。殘差數據可對應于未經編碼圖片的像素與對應于pu的預測值之間的像素差。視頻編碼器20可形成包含用于cu的殘差數據的tu,并且接著變換tu以產生用于cu的變換系數。

在進行用于產生變換系數的任何變換之后,視頻編碼器20可執(zhí)行變換系數的量化。量化通常指代對變換系數進行量化以可能減少用以表示所述系數的數據的量從而提供進一步壓縮的過程。量化過程可減少與系數中的一些或全部相關聯(lián)的位深度。舉例來說,n位值可在量化期間被下舍入到m位值,其中n大于m。

在量化之后,視頻編碼器可掃描變換系數,從包含經量化變換系數的二維矩陣產生一維向量。掃描可經設計以將較高能量(并且因此較低頻率)的系數放置在陣列的前面,并且將較低能量(并且因此較高頻率)的系數放置在陣列的后面。在一些實例中,視頻編碼器20可利用預定義的掃描次序來掃描經量化的變換系數以產生可被熵編碼的串行化向量。在其它實例中,視頻編碼器20可執(zhí)行自適應掃描。在掃描經量化變換系數以形成一維向量之后,視頻編碼器20可例如根據上下文自適應可變長度譯碼(cavlc)、上下文自適應二進制算術譯碼(cabac)、基于語法的上下文自適應二進制算術譯碼(sbac)、概率區(qū)間分割熵(pipe)譯碼或另一熵編碼方法熵編碼一維向量。視頻編碼器20還可熵編碼與經編碼視頻數據相關聯(lián)的語法元素以供視頻解碼器30在解碼視頻數據時使用。

為了執(zhí)行cabac,視頻編碼器20可向待發(fā)射的符號指派上下文模型內的上下文。上下文可涉及(例如)符號的相鄰值是否為非零。為了執(zhí)行cavlc,視頻編碼器20可選擇用于待發(fā)射的符號的可變長度碼。vlc中的碼字可經構造以使得相對較短的代碼對應于較有可能的符號,而較長的代碼對應于不太可能符號。以此方式,使用vlc可例如實現(xiàn)優(yōu)于針對待發(fā)射的每一符號使用等長度碼字的位節(jié)省。概率確定可基于指派給符號的上下文。

視頻編碼器20可例如在幀標頭、塊標頭、切片標頭或gop標頭中進一步將例如基于塊的語法數據、基于幀的語法數據和基于gop的語法數據等語法數據發(fā)送到視頻解碼器30。gop語法數據可描述相應gop中的幀的數目,且?guī)Z法數據可指示用以對對應幀進行編碼的編碼/預測模式。

視頻編碼器20和視頻解碼器30各自可實施為多種合適的編碼器或解碼器電路中的任一者,例如一或多個微處理器、數字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、離散邏輯電路、軟件、硬件、固件或其任何組合。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為組合式視頻編碼器/解碼器(codec)的部分。包含視頻編碼器20和/或視頻解碼器30的裝置可包括集成電路、微處理器和/或無線通信裝置(例如,蜂窩式電話)。

以此方式,視頻編碼器20和視頻解碼器30分別表示視頻譯碼器的實例,其經配置以:譯碼表示圖片次序計數(poc)復位周期識別符的值的視頻譯碼器的實例,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;且使所述經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。

圖2是說明根據本發(fā)明的技術的可實施用于譯碼poc值信息的技術的視頻編碼器20的實例的框圖。視頻編碼器20可執(zhí)行視頻切片內的視頻塊的幀內和幀間譯碼。幀內譯碼依靠空間預測來減少或去除給定視頻幀或圖片內的視頻中的空間冗余。幀間譯碼依靠時間預測來減少或移除視頻序列的鄰近幀或圖片內的視頻中的時間冗余。幀內模式(i模式)可指代若干基于空間的譯碼模式中的任一者。例如單向預測(p模式)或雙向預測(b模式)等幀間模式可指代若干基于時間的譯碼模式中的任一者。

如圖2中所展示,視頻編碼器20接收待編碼的視頻幀內的當前視頻塊。在圖2的實例中,視頻編碼器20包含模式選擇單元40、參考圖片存儲器64、求和器50、變換處理單元52、量化單元54和熵編碼單元56。模式選擇單元40又包含運動補償單元44、運動估計單元42、幀內預測單元46和分割單元48。為了視頻塊重構,視頻編碼器20還包含逆量化單元58、逆變換單元60和求和器62。還可包含去塊濾波器(圖2中未圖示)以便對塊邊界進行濾波,以從經重構視頻去除成塊性假影。在需要時,去塊濾波器將通常對求和器62的輸出進行濾波。除了去塊濾波器外,還可使用額外濾波器(回路中或回路后)。為簡潔起見未圖示此些濾波器,但是必要時,此些濾波器可對求和器50的輸出進行濾波(作為環(huán)路內濾波器)。

在編碼過程期間,視頻編碼器20接收待譯碼的視頻幀或切片。所述幀或切片可劃分成多個視頻塊。運動估計單元42和運動補償單元44可相對于一或多個參考幀中的一或多個塊執(zhí)行所接收視頻塊的幀間預測性譯碼以提供時間預測。幀內預測單元46可替代地相對于與待譯碼塊相同的幀或切片中的一或多個相鄰塊執(zhí)行對所接收的視頻塊的幀內預測性譯碼以提供空間預測。視頻編碼器20可執(zhí)行多個譯碼遍次,例如,以針對每一視頻數據塊選擇適當的譯碼模式。

此外,分割單元48可基于前述譯碼遍次中的前述劃分方案的評估將視頻數據塊分割成若干子塊。舉例來說,分割單元48可起初將幀或切片分割成lcu,并且基于速率失真分析(例如,速率失真優(yōu)化)將lcu中的每一者分割成子cu。模式選擇單元40可進一步產生指示將lcu分割成子cu的四叉樹數據結構。四叉樹的葉節(jié)點cu可包含一或多個pu和一或多個tu。

模式選擇單元40可基于誤差結果選擇譯碼模式中的一者(幀內或幀間),且將所得的經幀內譯碼或經幀間譯碼塊提供到求和器50以便產生殘差塊數據,且提供到求和器62以重建經編碼塊用作參考幀。模式選擇單元40還將語法元素(例如,運動向量、幀內模式指示符、分割信息和其它此類語法信息)提供給熵編碼單元56。

運動估計單元42和運動補償單元44可高度集成,但出于概念的目的分別加以說明。由運動估計單元42執(zhí)行的運動估計是產生運動向量的過程,所述過程估計視頻塊的運動。舉例來說,運動向量可指示當前視頻幀或圖片內的視頻塊的pu相對于參考圖片(或其它經譯碼單元)內的預測性塊相對于當前圖片(或其它經譯碼單元)內正被譯碼的當前塊的位移。預測性塊是被發(fā)現(xiàn)在像素差方面與待譯碼塊緊密匹配的塊,像素差可通過絕對差總和(sad)、平方差總和(ssd)或其它差度量來確定。

運動估計單元42通過比較pu的位置與參考圖片的預測性塊的位置來計算用于經幀間譯碼切片中的視頻塊的pu的運動向量。參考圖片可選自第一參考圖片列表(列表0)或第二參考圖片列表(列表1),其中的每一個識別存儲在參考幀存儲器64中的一個或多個參考圖片。運動估計單元42向熵編碼單元56和運動補償單元44發(fā)送計算出的運動向量。

由運動補償單元44執(zhí)行的運動補償可涉及基于由運動估計單元42確定的運動向量來取或產生預測性塊。并且,在一些實例中,運動估計單元42與運動補償單元44可在功能上集成。在接收到當前視頻塊的pu的運動向量后,運動補償單元44可即刻在參考圖片列表中的一者中定位所述運動向量指向的預測塊。求和器50通過從正被編碼的當前視頻塊的像素值減去預測性塊的像素值從而形成像素差值來形成殘差視頻塊,如下文所論述。一般來說,運動估計單元42相對于亮度分量執(zhí)行運動估計,并且運動補償單元44對于色度分量和亮度分量兩者使用基于亮度分量計算的運動向量。模式選擇單元40還可產生與視頻塊和視頻切片相關聯(lián)的語法元素以供視頻解碼器30在解碼視頻切片的視頻塊時使用。

運動估計單元42檢索存儲在參考圖片存儲器64的經解碼圖片緩沖器(dpb)中的參考圖片。模式選擇單元40可確定哪些參考圖片將用以編碼圖片、圖片的切片和/或圖片序列。視頻編碼器20可編碼用以編碼所述圖片、切片或序列的參考圖片的圖片次序計數(poc)值。視頻編碼器20可編碼指示將包含于切片標頭和/或參數集(例如圖片參數集(pps)和/或序列參數集(sps))中的參考圖片列表中的參考圖片的poc值。

以此方式,視頻解碼器(例如視頻解碼器30)可通過包含切片標頭和/或參數集中所指示的參考圖片來再現(xiàn)參考圖片列表。此外,在使用運動估計單元42所產生的運動向量來編碼塊之后,視頻編碼器20可編碼所述塊的運動信息,其中所述運動信息可包含表示所述運動向量的數據、參考圖片列表的識別符,以及識別所述參考圖片列表中的參考圖片的參考索引。

在一些實例中,視頻編碼器20可計算存儲在參考圖片存儲器64中的參考圖片的子整數像素位置的值。舉例來說,視頻編碼器20可內插參考圖片的四分之一像素位置、八分之一像素位置或其它分數像素位置的值。因此,運動估計單元42可相對于全像素位置和分數像素位置執(zhí)行運動搜索,并且輸出具有分數像素精度的運動向量。

根據本發(fā)明的技術,視頻編碼器20還可形成poc復位周期,并編碼圖片的切片的poc復位周期識別符的值,以將所述切片指派給相應的poc復位周期。視頻編碼器20可在每一視頻數據層內將切片個別地指派給poc復位周期。此外,視頻編碼器20可確定切片的poc復位類型,且編碼所述切片的poc復位類型的指示的值(例如兩位值)。

如相對于圖1所論述,視頻編碼器20可根據適用視頻譯碼標準所建立的限制來配置。舉例來說,視頻編碼器20可確保每一poc復位周期中的第一圖片具有指示poc值將完全或部分復位的poc復位類型。此外,在一些實例中,視頻編碼器20可編碼指示poclsb值的額外信息,其可指示poc復位周期的poc錨圖片的poclsb值。

視頻編碼器20還可基于poc錨圖片的復位,使參考圖片存儲器64的dpb中且與切片poc錨圖片相同的層中的參考圖片的poc值遞減。因此,當編碼切片標頭和/或參數集中的poc值以指示將包含于參考圖片列表中的參考圖片時,視頻編碼器20可使用遞減的poc值。視頻編碼器20使dpb中的圖片的poc值遞減的量可為poc錨圖片遞減的相同量。poc錨圖片的poc復位可僅限于使pocmsb復位或使poc錨圖片的全poc值復位。

在編碼切片的poc復位信息之前,視頻編碼器20可確定poc復位信息對于所述切片是否為必需。舉例來說,如果包含所述切片的圖片是i圖片,視頻編碼器20可確定poc復位信息不是必需的。如果確定poc復位信息不是必需的,那么視頻編碼器20可避免編碼poc復位信息。此外,視頻編碼器20可基于所述確定來編碼圖片的pps,其指示是否在包含于圖片中的切片的切片段標頭中編碼poc復位信息。

作為如上文所描述由運動估計單元42和運動補償單元44執(zhí)行的幀間預測的替代方案,幀內預測單元46可對當前塊進行幀內預測。具體來說,幀內預測單元46可確定用于對當前塊進行編碼的幀內預測模式。在一些實例中,幀內預測單元46可(例如)在單獨的編碼編次期間使用各種幀內預測模式來編碼當前塊,并且?guī)瑑阮A測單元46(或在一些實例中為模式選擇單元40)可從受測模式中選擇適當的幀內預測模式來使用。

舉例來說,幀內預測單元46可使用速率-失真分析來計算針對各種受測幀內預測模式的速率-失真值,且從所述受測模式當中選擇具有最好速率失真特性的幀內預測模式。速率失真分析一般確定經編碼塊與經編碼以產生所述經編碼塊的原始的未經編碼塊之間的失真(或誤差)的量,以及用于產生經編碼塊的位速率(也就是說,位的數目)。幀內預測單元46可根據用于各種經編碼塊的失真和速率計算比率,以確定哪個幀內預測模式對于所述塊展現(xiàn)最佳速率失真值。

在選擇用于塊的幀內預測模式后,幀內預測單元46可將指示用于塊的選定幀內預測模式的信息提供到熵編碼單元56。熵編碼單元56可編碼指示選定幀內預測模式的信息。視頻編碼器20在所發(fā)射的位流中可包含配置數據,其可包含多個幀內預測模式索引表和多個經修改的幀內預測模式索引表(也稱為碼字映射表),對用于各種塊的上下文進行編碼的定義,以及對最可能幀內預測模式、幀內預測模式索引表和經修改的幀內預測模式索引表的指示以用于所述上下文中的每一者。

視頻編碼器20通過從正譯碼原始視頻塊減去來自模式選擇單元40的預測數據來形成殘差視頻塊。求和器50表示執(zhí)行此減法運算的一或多個組件。變換處理單元52將例如離散余弦變換(dct)或概念上類似的變換等變換應用于殘差塊,從而產生包括殘差變換系數值的視頻塊。變換處理單元52可執(zhí)行概念上類似于dct的其它變換。也可使用小波變換、整數變換、子帶變換或其它類型的變換。在任何情況下,變換處理單元52將所述變換應用于殘差塊,從而產生殘差變換系數塊。所述變換可將殘差信息從像素值域轉換到變換域(例如,頻域)。

變換處理單元52可將所得變換系數發(fā)送到量化單元54。量化單元54對變換系數進行量化以進一步降低位速率。量化過程可減少與系數中的一些或全部相關聯(lián)的位深度。可通過調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執(zhí)行對包含經量化變換系數的矩陣的掃描?;蛘?,熵編碼單元56可執(zhí)行所述掃描。

在量化之后,熵編碼單元56對經量化的變換系數進行熵譯碼。舉例來說,熵編碼單元256可執(zhí)行上下文自適應可變長度譯碼(cavlc)、上下文自適應二進制算術譯碼(cabac)、基于語法的上下文自適應二進制算術譯碼(sbac)、概率區(qū)間分割熵(pipe)譯碼或另一熵譯碼技術。在基于上下文的熵譯碼的情況下,上下文可以基于相鄰塊。在由熵編碼單元56進行熵譯碼之后,可將經編碼位流發(fā)射到另一裝置(例如,視頻解碼器30),或者將所述經編碼位流存檔以用于稍后發(fā)射或檢索。

逆量化單元58和逆變換單元60分別應用逆量化和逆變換來在像素域中重構殘差塊,(例如)以供稍后用作參考塊。運動補償單元44可通過將殘差塊添加到參考圖片存儲器64的幀中的一者的預測性塊來計算參考塊。運動補償單元44還可將一或多個內插濾波器應用于經重構的殘差塊來計算用于在運動估計中使用的子整數像素值。求和器62將經重構的殘差塊添加到由運動補償單元44產生的經運動補償的預測塊,以產生經重建構的視頻塊以供存儲在參考圖片存儲器64中。經重構的視頻塊可由運動估計單元42和運動補償單元44用作參考塊以對后續(xù)視頻幀中的塊進行幀間譯碼。

以此方式,圖2的視頻編碼器20表示視頻編碼器的實例,其經配置以:編碼表示圖片次序計數(poc)復位周期識別符的值的數據的視頻編碼器的實例,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中所述poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;使經譯碼圖片的poc值和所述層的當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。

視頻編碼器20進一步表示,其經配置以:建構包含一或多個參考圖片的參考圖片列表;使用所述參考圖片中的一者來編碼切片的塊;編碼所述塊的運動信息,其中所述運動信息包含參考圖片列表的識別符以及指向參考圖片列表中的對應于所述參考圖片中的所述一者的參考索引;以及編碼表示包含于參考圖片列表中的參考圖片的一或多個poc值。

圖3是說明根據本發(fā)明的技術的可實施用于譯碼poc值信息的技術的視頻解碼器30的實例的框圖。在圖3的實例中,視頻解碼器30包含熵解碼單元70、運動補償單元72、幀內預測單元74、逆量化單元76、逆變換單元78、參考圖片存儲器82和求和器80。在一些實例中,視頻解碼器30可執(zhí)行總體上與相對于視頻編碼器20(圖2)描述的編碼遍次互逆的解碼遍次。運動補償單元72可基于從熵解碼單元70接收的運動向量產生預測數據,而幀內預測單元74可基于從熵解碼單元70接收的幀內預測模式指示符產生預測數據。

在解碼過程期間,視頻解碼器30從視頻編碼器20接收表示經編碼視頻切片的視頻塊和相關聯(lián)的語法元素的經編碼視頻位流。視頻解碼器30的熵解碼單元70對位流進行熵解碼以產生經量化系數、運動向量或幀內預測模式指示符和其它語法元素。熵解碼單元70將運動向量和其它語法元素轉發(fā)到運動補償單元72。視頻解碼器30可在視頻切片層級和/或視頻塊層級接收語法元素。

當將視頻切片譯碼為經幀內譯碼(i)切片時,幀內預測單元74可基于發(fā)信號通知的幀內預測模式以及來自當前幀或圖片的先前經解碼塊的數據產生用于當前視頻切片的視頻塊的預測數據。當將視頻幀譯碼為經幀間譯碼(即,b、p或gpb)切片時,運動補償單元72基于從熵解碼單元70接收到的運動向量和其它語法元素產生用于當前視頻切片的視頻塊的預測性塊。預測性塊可從參考圖片列表中的一者內的參考圖片中的一者產生。視頻解碼器30可基于存儲在參考圖片存儲器82的經解碼圖片緩沖器(dpb)中的參考圖片使用默認建構技術來建構參考幀列表,列表0和列表1。

更明確地說,視頻解碼器30可解碼含有指示的圖片參數集合(pps),所述指示用于指示對應于pps的圖片的切片是否包含圖片次序計數(poc)復位信息。假定所述切片包含poc復位信息,視頻解碼器30可解碼包含poc復位信息的所述圖片的切片的切片段標頭。poc復位信息可包含poc復位周期識別符和poc復位類型。

poc復位周期識別符可指示所述切片所對應于的poc復位周期。視頻解碼器30可每poc復位周期使對應視頻編碼層中的圖片的poc值復位一次。以此方式,不管是否恰當地接收到poc復位周期的所有圖片還是poc復位周期的某一圖片是否丟失(例如歸因于數據訛用或數據丟失),視頻解碼器30均將恰當地復位poc值。

poc復位類型可指示包含所述切片的圖片的poc值完全復位還是僅poc值的msb復位。此外,poc復位類型可指示將不執(zhí)行poc復位,或發(fā)信號通知額外信息。如果poc復位類型指示發(fā)信號通知額外信息,那么視頻解碼器30可解碼額外信息,其可指示poclsb值以及poc值是完全復位還是僅msb復位。以此方式,視頻解碼器30可基于poc復位類型來執(zhí)行poc復位。視頻解碼器30可使存儲在dpb中且在同一層中的圖片的poc值遞減額外信息的poclsb值。

在執(zhí)行poc復位之后,視頻解碼器30可解碼將包含于參考圖片列表中的參考圖片的poc值。視頻解碼器30可解碼切片段標頭中和/或來自參數集(例如pps或sps)的這些poc值。視頻解碼器30接著可建構包含經解碼poc值所識別的參考圖片的參考圖片列表。

在建構切片的參考圖片列表之后,視頻解碼器30可解碼所述切片的塊。運動補償單元72通過剖析運動向量和其它語法元素來確定用于當前視頻切片的視頻塊的預測信息,并且使用所述預測信息來產生用于正被解碼的當前視頻塊的預測性塊。舉例來說,運動補償單元72使用所述所接收的語法元素中的一些來確定用以譯碼視頻切片的視頻塊的預測模式(例如幀內或幀間預測)、幀間預測切片類型(例如b切片、p切片或gpb切片)、所述切片的每一經幀間編碼視頻塊的運動向量、所述切片的每一經幀間譯碼視頻塊的幀間預測狀態(tài),以及用以解碼當前視頻切片中的視頻塊的其它信息。經幀間預測的塊的運動信息可包含參考圖片列表識別符和參考索引,以識別所述參考圖片列表中將用于預測所述塊的參考圖片。

運動補償單元72還可基于內插濾波器執(zhí)行內插。運動補償單元72可以使用如視頻編碼器20在視頻塊的編碼期間使用的內插濾波器來計算參考塊的子整數像素的經內插值。在此情況下,運動補償單元72可根據接收到的語法元素來確定由視頻編碼器20使用的內插濾波器,并使用所述內插濾波器來產生預測性塊。

逆量化單元76使在位流中提供且由熵解碼單元70解碼的經量化變換系數逆量化,即去量化。逆量化過程可包含使用由視頻解碼器30針對視頻切片中的每一視頻塊計算的量化參數qpy來確定應應用的量化程度和同樣的逆量化程度。

逆變換處理單元78將逆變換(例如,逆dct、逆整數變換或概念上類似的逆變換過程)應用于變換系數以便產生像素域中的殘差塊。

在運動補償單元72基于運動向量和其它語法元素產生當前視頻塊的預測性塊后,視頻解碼器30通過對來自逆變換處理單元78的殘差塊與由運動補償單元72產生的對應預測性塊進行求和來形成經解碼的視頻塊。求和器80表示執(zhí)行此求和運算的一或多個組件。視需要,還可應用去塊濾波器來對經解碼塊進行濾波,以便去除成塊假影。還可使用其它環(huán)路濾波器(在譯碼環(huán)路中或在譯碼環(huán)路之后)來使像素轉變平滑或者以其它方式改進視頻質量。接著將給定幀或圖片中的經解碼視頻塊存儲在參考圖片存儲器82中,參考圖片存儲器82存儲用于后續(xù)運動補償的參考圖片。參考圖片存儲器82還存儲經解碼視頻以用于稍后呈現(xiàn)在顯示裝置(例如,圖1的顯示裝置32)上。

以此方式,圖3的視頻解碼器30表示視頻解碼器的實例,其經配置以:解碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;使所述經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。

視頻解碼器30進一步表示視頻解碼器的實例,其經配置以:解碼表示將包含于參考圖片列表中的參考圖片的一或多個poc值;至少部分地基于經解碼的一或多個poc值來建構所述參考圖片列表;解碼所述切片的塊的運動信息,其中所述運動信息包含參考圖片列表的識別符以及指向所述參考圖片列表中的參考索引;以及使用對應于所述參考圖片列表中的所述參考索引的參考圖片中的一者來解碼所述塊。

圖4是說明根據本發(fā)明的技術的用于編碼指示切片的poc復位周期的數據的實例方法的流程圖。另外,圖4的方法包含編碼當前塊。當前塊可包括當前cu或當前cu的一部分。盡管相對于視頻編碼器20(圖1和2)來描述,但應理解,其它裝置可經配置以執(zhí)行類似于圖4的方法的方法。

在此實例中,視頻編碼器20最初使與包含當前塊的當前切片位于同一層中且當前在經解碼圖片緩沖器(dpb)中的參考圖片的poc值復位(150)。視頻編碼器20接著形成包含所述參考圖片中的至少一些的參考圖片列表(152)。視頻編碼器20進一步發(fā)信號通知包含于參考圖片列表中的參考圖片的poc值(154)。舉例來說,視頻編碼器20可編碼參數集(例如sps或pps)中和/或切片的切片標頭中的參考圖片的poc值(或poc值的部分,例如poclsb值)。一些參考圖片(例如長期參考圖片)可在參數集中發(fā)信號通知,而其它參考圖片(例如短期參考圖片)可在切片標頭中發(fā)信號通知。

應理解,形成參考圖片列表和發(fā)信號通知哪些圖片包含于參考圖片列表中的步驟可經由若干不同編碼遍次執(zhí)行多次,以便確定為例如當前切片塊得出最佳速率失真特性的所述組參考圖片。就是說,視頻編碼器20可基于當前切片中的所有塊的特性且不僅基于單個塊的個別特性,來選擇包含于參考圖片列表中的所述組參考圖片。

視頻編碼器20接著可將當前切片指派給poc復位周期(156)。舉例來說,如果當前切片形成錨圖片的一部分,那么視頻編碼器20可發(fā)信號通知當前切片形成具有不同于先前poc復位周期識別符的poc復位周期識別符的新poc復位周期的開頭?;蛘?,如果當前切片并不形成錨圖片的一部分,那么視頻編碼器20可發(fā)信號通知形成現(xiàn)有poc復位周期的一部分的當前切片。

視頻編碼器20接著可預測當前切片的當前塊(158)。舉例來說,視頻編碼器20可計算用于當前塊的一或多個預測單元(pu)。更明確地說,運動估計單元42可例如基于sad、ssd、mad、msd或其它錯誤計算度量來執(zhí)行運動搜索以在參考圖片列表的參考圖片中尋找當前塊,以識別用作參考塊的匹配塊。運動估計單元42可基于所述運動搜索產生當前塊的運動向量。視頻編碼器20接著可編碼所述塊的運動信息(160),其可包含運動向量的運動向量差值、參考圖片列表識別符和參考索引,其一起識別所述參考塊。

視頻編碼器20接著可計算當前塊的殘差塊,例如以產生變換單元(tu)(162)。為了計算殘差塊,視頻編碼器20可計算原始的未經譯碼的塊與當前塊的經預測塊之間的差。視頻編碼器20可接著變換且量化殘差塊的系數(164)。接下來,視頻編碼器20可掃描殘差塊的經量化變換系數(166)。在掃描期間,或在掃描以后,視頻編碼器20可對所述系數進行熵編碼(168)。舉例來說,視頻編碼器20可使用cavlc或cabac對系數進行編碼。視頻編碼器20接著可輸出所述塊的經熵譯碼數據(170)。

以此方式,圖4的方法表示一種方法的實例,其包含:通過視頻編碼器來編碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據與視頻數據層的經譯碼圖片相關聯(lián),且其中poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;通過所述視頻編碼器來使經譯碼圖片的poc值以及所述層中當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)的一或多個圖片的poc值的至少一部分復位。在此實例中,所述方法進一步包含:建構包含一或多個參考圖片的參考圖片列表;使用所述參考圖片中的一者來編碼切片的塊;編碼所述塊的運動信息,其中所述運動信息包含參考圖片列表的識別符以及指向參考圖片列表中的對應于所述參考圖片中的所述一者的參考索引;以及編碼表示包含于參考圖片列表中的參考圖片的一或多個poc值。

圖5是說明根據本發(fā)明的技術的用于解碼指示切片的poc復位周期的數據的實例方法的流程圖。另外,圖4的方法包含編碼當前塊。當前塊可包括當前cu或當前cu的一部分。盡管關于視頻解碼器30(圖1和3)進行描述,但應理解,其它裝置可經配置以執(zhí)行與圖5的方法類似的方法。

最初,視頻解碼器30例如從當前切片的切片段標頭解碼當前切片的poc復位周期識別符(200)。視頻解碼器30可進一步解碼poc復位類型指示符。圖5的方法是基于poc復位周期識別符指示當前切片是新poc復位周期的一部分的假定?;谒銮衅切聀oc復位周期的一部分,視頻解碼器30使dpb中也是與當前切片相同的層的一部分的參考圖片的poc值復位(202)。視頻解碼器30接著例如切片段標頭和/或參數集(例如pps或sps)解碼將包含于參考圖片列表中的參考圖片的poc值(204)。視頻解碼器30接著形成參考圖片列表(206)。

接下來,視頻解碼器30解碼當前塊的運動信息(208)。所述運動信息可包含(例如)參考圖片列表識別符和指向參考圖片列表中的參考索引。視頻解碼器30接著例如通過使用幀間預測模式計算當前塊的經預測塊來預測當前塊(200)。更明確地說,視頻解碼器30使用參考圖片列表識別符來識別將使用哪一參考圖片列表,且使用參考索引來識別參考圖片列表中的參考索引。視頻解碼器30接著解碼當前塊的運動向量,且識別所識別參考圖片中的參考塊。

視頻解碼器30還可接收當前塊的經熵譯碼數據,例如對應于當前塊的殘差塊的系數的經熵譯碼數據(212)。視頻解碼器30可對經熵譯碼數據進行熵解碼以再現(xiàn)殘差塊的系數(214)。視頻解碼器30可接著逆掃描經再現(xiàn)系數(216)以創(chuàng)建經量化變換系數塊。就是說,使用逆掃描,視頻解碼器30將一維向量轉換為二維矩陣。視頻解碼器30接著可逆量化且逆變換所述系數以產生殘差塊(218)。視頻解碼器30可最終通過組合經預測塊與殘差塊來對當前塊進行解碼(220)。

以此方式,圖5的方法表示一種方法的實例,其包含:通過視頻解碼器來解碼表示圖片次序計數(poc)復位周期識別符的值的數據,其中所述數據是視頻數據層的經譯碼圖片,且其中poc復位周期識別符的值指示包含所述經譯碼圖片的poc復位周期;以及通過所述視頻解碼器來使所述經譯碼圖片的poc值以及所述層的當前存儲在視頻解碼器的經解碼圖片緩沖器(dpb)中的一或多個圖片的poc值的至少一部分復位。此實例中的所述方法進一步包含:解碼表示將包含于參考圖片列表中的參考圖片的一或多個poc值;至少部分地基于所述經解碼的一或多個poc值來構建參考圖片列表;解碼所述切片的塊的運動信息,其中所述運動信息包含參考圖片列表的識別符以及指向所述參考圖片列表中的參考索引;以及使用對應于參考圖片列表中的參考索引的參考圖片中的一者來解碼所述塊。

將認識到,取決于實例,本文中所描述的技術中的任一者的某些動作或事件可以不同序列執(zhí)行、可添加、合并或全部省略(例如,實踐所述技術并不需要所有的所描述動作或事件)。此外,在某些實例中,可同時(例如,經由多線程處理、中斷處理或多個處理器)而非循序地執(zhí)行動作或事件。

在一或多個實例中,所描述的功能可用硬件、軟件、固件或其任何組合來實施。如果以軟件實施,那么所述功能可作為一或多個指令或代碼在計算機可讀媒體上存儲或傳輸,并且由基于硬件的處理單元來執(zhí)行。計算機可讀媒體可包含計算機可讀存儲媒體,其對應于有形媒體,例如數據存儲媒體,或包含促進將計算機程序從一處傳送到另一處的任何媒體(例如,根據一種通信協(xié)議)的通信媒體。以此方式,計算機可讀媒體大體上可對應于(1)非暫時形的有形計算機可讀存儲媒體,或(2)通信媒體,例如信號或載波。數據存儲媒體可為可由一或多個計算機或一個或多個處理器存取以檢索用于實施本發(fā)明中描述的技術的指令、代碼及/或數據結構的任何可用媒體。計算機程序產品可包含計算機可讀媒體。

作為實例而非限制,此類計算機可讀存儲媒體可包括ram、rom、eeprom、cd-rom或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用來存儲指令或數據結構的形式的期望程序代碼并且可由計算機存取的任何其它媒體。并且,可恰當地將任何連接稱作計算機可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數字訂戶線(dsl)或例如紅外線、無線電和微波等無線技術從網站、服務器或其它遠程源傳輸指令,那么同軸纜線、光纖纜線、雙絞線、dsl或例如紅外線、無線電和微波等無線技術包含在媒體的定義中。然而,應理解,所述計算機可讀存儲媒體和數據存儲媒體并不包含連接、載波、信號或其它暫時性媒體,而是實際上針對非暫時性的有形存儲媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(cd)、激光光盤、光學光盤、數字多功能光盤(dvd)、軟性磁盤和藍光光盤,其中磁盤通常以磁性方式再現(xiàn)數據,而光盤利用激光以光學方式再現(xiàn)數據。以上各項的組合也應包括在計算機可讀媒體的范圍內。

指令可由一或多個處理器執(zhí)行,所述一或多個處理器例如為一或多個數字信號處理器(dsp)、通用微處理器、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、或其它等效的集成或離散邏輯電路。因此,如本文中所使用的術語“處理器”可指代上述結構或適合于實施本文中所描述的技術的任何其它結構中的任一者。另外,在一些方面中,本文中所描述的功能性可在經配置以用于編碼和解碼的專用硬件和/或軟件模塊內提供,或者并入在組合編解碼器中。并且,可將所述技術完全實施于一或多個電路或邏輯元件中。

本發(fā)明的技術可在各種各樣的裝置或設備中實施,包含無線手持機、集成電路(ic)或一組ic(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強調經配置以執(zhí)行所揭示的技術的裝置的功能方面,但未必需要通過不同硬件單元實現(xiàn)。實際上,如上文所描述,各種單元可結合合適的軟件和/或固件組合在編碼解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。

已描述了各種實例。這些和其它實例在所附權利要求書的范圍內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
合江县| 班玛县| 德化县| 黄石市| 临潭县| 安西县| 闻喜县| 永清县| 莱阳市| 武平县| 襄城县| 仁布县| 涿州市| 邵武市| 淮阳县| 宣汉县| 呈贡县| 德江县| 商南县| 桃园市| 渝中区| 宣武区| 突泉县| 贞丰县| 泰兴市| 吕梁市| 汝南县| 兴业县| 北京市| 海盐县| 永靖县| 佛冈县| 金沙县| 仲巴县| 德昌县| 万州区| 乐东| 新干县| 黄骅市| 建始县| 乌拉特前旗|