相關(guān)申請的交叉引用
本中請要求2010年12月28日提交的、標(biāo)題為“PICTURE SEGMENTATION USING GENERALIZED SLICES”的美國臨時專利申請No.61/427,569和2011年12月23日提交的、標(biāo)題為“METHOD AND SYSTEM FOR SELECTIVELY BREAKING PREDICTION IN VIDEO CODING”的美國專利申請No.13/336,475的優(yōu)先權(quán),通過引用方式將以上每個申請的全部內(nèi)容并入本文中。
技術(shù)領(lǐng)域
本發(fā)明的實施例涉及視頻壓縮,并且更具體而言,涉及在視頻圖像的圖像段邊界處選擇性地使用預(yù)測和環(huán)內(nèi)濾波器機制。
背景技術(shù):
可以將數(shù)字視頻能力并入到范圍廣義的設(shè)備中,包括數(shù)字電視、數(shù)字直接廣播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型計算機或者桌上型計算機、攝像機、數(shù)字記錄設(shè)備、視頻游戲設(shè)備、視頻游戲控制器、蜂窩或衛(wèi)星無線電話等等。數(shù)字視頻設(shè)備可以實現(xiàn)視頻壓縮技術(shù),例如在類似MPEG-2、MPEG-4的標(biāo)準(zhǔn)中所描述的那些視頻壓縮技術(shù),其中,可以從位于瑞士CH-1211日內(nèi)瓦20,郵政信箱56,Voie-Creuse第一大道的國際標(biāo)準(zhǔn)組織(“ISO”)或www.iso.org或ITU-T H.264/MPEG-4第十部分,高級視頻編碼(“AVC”)獲得,從位于瑞士CH-1211日內(nèi)瓦20萬國宮廣場的國際電信聯(lián)盟(“ITU”)或www.itu.int獲得MPEG-2、MPEG-4標(biāo)準(zhǔn),通過引用方式將以上每個標(biāo)準(zhǔn)的全部內(nèi)容并入本文中,或者根據(jù)其它標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)規(guī)范實現(xiàn)視頻壓縮技術(shù),從而有效地編碼和/或解碼數(shù)字視頻信息。其它的壓縮技術(shù)仍然可能在將來被開發(fā)或者目前正處于開發(fā)中。例如,被稱為HEVC/H.265的新視頻壓縮標(biāo)準(zhǔn)正處于JCT-VC委員會的開發(fā)中。在由Wiegand等人于2011年3月所著的“WD3:Working Draft 3 of High-Efficiency Video Coding,JCTVC-E603”中闡釋了HEVC/H.265的工作草案被提出,“WD3:Working Draft 3 of High-Efficiency Video Coding,JCTVC-E603”在后文中稱為“WD3”并且通過引用方式被整體并入到本文中。
視頻編碼器可以接收未編碼的視頻信息,以便于處理成任何合適的格式,該格式可以是符合(可從位于瑞士CH-1211日內(nèi)瓦20萬國宮廣場的國際電信聯(lián)盟(“ITU”)或www.itu.int獲得的并且以引用的方式將其全部內(nèi)容并入本申請的)ITU-R BT601的數(shù)字格式或一些其它數(shù)字格式??梢詫⑽淳幋a視頻在空間上組織成布置在一個或多個二維矩陣中的像素值并且在時間上組織成一系列未編碼圖像,每個未編碼圖像包括一個或多個上述提到的二維像素值矩陣。此外,每個像素可以包括用于以數(shù)字格式表示色彩的大量獨立的分量。用于被輸入到視頻編碼器的未編碼視頻的一個通用格式針對具有四個像素的每個分組來說具有四個輝度樣本(其包括有關(guān)像素的亮度/光亮度或暗度的信息)和兩個色度樣本(其包括顏色信息(例如,YCrCb 4:2:0))。
視頻編碼器的一個功能是將未編碼圖像轉(zhuǎn)譯(更通?!稗D(zhuǎn)換”)為比特流、分組流、NAL單元流或其它合適的傳輸格式(在后文都被稱為“比特流”),其目的在于例如減少編碼到比特流中的冗余的數(shù)量,以因此增加傳輸速率,增加比特流的恢復(fù),從而抑制在傳輸期間可能發(fā)生的比特錯誤或分組擦除(統(tǒng)稱為差錯恢復(fù)),或其它專用的目標(biāo)。本發(fā)明的實施例提供冗余的去除或減少、差錯恢復(fù)的增加以及并行處理架構(gòu)中的視頻編碼器和/或相關(guān)聯(lián)的解碼器的實現(xiàn)中的至少一個。
視頻解碼器的一個功能在于接收由符合相同的視頻壓縮標(biāo)準(zhǔn)的視頻編碼器產(chǎn)生的比特流形式的編碼視頻作為它的輸入。視頻編碼器然后將接收到的編碼比特流轉(zhuǎn)譯(更通?!稗D(zhuǎn)換”)為可以被顯示、存儲或以其它方式處理的未編碼視頻信息。
可以使用硬件和/或軟件配置(包括硬件和軟件二者的組合)實現(xiàn)視頻編碼器和視頻解碼器。視頻編碼器和視頻解碼器中的任何一個或兩個的實現(xiàn)可以包括可編程的硬件組件例如(例如,個人計算機(PC)中找到的那些)通用中央處理器(CPU)、嵌入式處理器、圖形卡處理器、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)等等的使用。為了實現(xiàn)視頻編碼或解碼的至少一部分,可能需要指令,并且可以使用一個或多個非瞬態(tài)的計算機可讀介質(zhì)來存儲和分配那些指令。計算機可讀介質(zhì)選擇包括壓縮盤只讀存儲器(CD-ROM)、數(shù)字視頻盤只讀存儲器(DVD-ROM)、記憶棒、嵌入式ROM等等。
視頻壓縮和解壓縮指的是視頻編碼器和/或解碼器申執(zhí)行的特定操作。視頻解碼器可以執(zhí)行編碼操作的反向操作的全部或子集。除非另有說明,本文所描述的視頻編碼技術(shù)還旨在包括所描述的視頻編碼技術(shù)的反向操作(即相關(guān)的視頻解碼技術(shù))。
可以把未壓縮、數(shù)字表示的視頻看作樣本流,其中可以由視頻顯示器按掃描次序處理該樣本。在該樣本流中通常出現(xiàn)的一種類型的邊界是樣本流中的圖像之間的邊界。許多視頻壓縮標(biāo)準(zhǔn)識別該邊界,并且一般例如通過在每個未編碼圖像的開始處插入圖像報頭或其它的元數(shù)據(jù),在這些邊界處分割編碼比特流。在樣本流中可能出現(xiàn)的其它邊界包括片邊界和瓦片邊界,其可以出現(xiàn)在未編碼圖像內(nèi),如下所述。
視頻編碼中的預(yù)測可以發(fā)生在多個等級上。
一個等級在后文被稱作“熵編碼等級”,并且在該等級上的預(yù)測被稱作“編碼預(yù)測”。在該等級中,熵編碼符號的解碼可能需要成功地解碼先前的熵編碼符號。所有或幾乎所有的當(dāng)前壓縮標(biāo)準(zhǔn)都破壞圖像和片等級處的編碼預(yù)測。即,在檢測到比特流(或等同物)中的圖像或片報頭之后,熵編碼中使用的與熵編碼相關(guān)狀態(tài)被復(fù)位為初始化狀態(tài)。熵編碼預(yù)測的一個實例是ITU-T Rec.H.264中的CABAC狀態(tài)的復(fù)位。
此外,可能存在這樣一種編碼機制,其中該解碼機制未落入如上所述的與熵編碼相關(guān)的預(yù)測的普通理解內(nèi),但是其仍然涉及與比特流相關(guān)聯(lián)的重構(gòu)控制信息而不是像素值。作為一個實例,即使一些較舊的標(biāo)準(zhǔn)(例如,ITU-T Rec.H.261標(biāo)準(zhǔn))也允許相對于一個或多個先前編碼的運動向量編碼運動向量。塊組(GOB)、片或圖像報頭的檢測將該預(yù)測向量復(fù)位為(0,0)。
還存在跨越多幅圖像的預(yù)測機制。例如,運動補償可以將來自一幅或多幅參考圖像的(有可能已被運動補償?shù)?像素值用于預(yù)測。通過宏塊類型(或等同物)破壞該類型的預(yù)測。例如,幀內(nèi)宏塊通常不使用來自參考圖像的預(yù)測,然而幀間宏塊可能使用來自參考圖像的預(yù)測。在這個意義上說,幀內(nèi)片和幀間片僅僅是屬于那些不同宏塊類型的宏塊的累積。
還存在這樣一種預(yù)測等級,其中該預(yù)測等級包括基于在正在被編碼的圖像的重構(gòu)過程期間已經(jīng)被重構(gòu)的像素值的預(yù)測。一個實例是幀內(nèi)預(yù)測機制,例如,ITU-T Rec.H.263的附件I中描述的那個(類似的機制在其它視頻編碼標(biāo)準(zhǔn)中也是可用的)。
除了預(yù)測機制之外,幾個視頻編碼標(biāo)準(zhǔn)指定了用于執(zhí)行環(huán)內(nèi)濾波的濾波器。一個實例是ITU-T Rec.H.263的附件J中指定的環(huán)內(nèi)濾波器。
針對一些應(yīng)用,將正在被編碼的圖像分割成較小的數(shù)據(jù)塊可能是有利的,其中,該分割可以發(fā)生在編碼之前或編碼期間。下面描述可以受益于圖像分割的兩種使用情況。
第一種該使用情況涉及并行處理。在以前,標(biāo)清視頻(例如720x480或720x576個像素)是廣義的商業(yè)使用中的最大格式。最近,出現(xiàn)并且在各種各樣的應(yīng)用空間使用(高達1920x1080個像素的)HD格式以及4k(4096x2048個像素)、8k(8192x4096個像素)以及更大的格式。盡管近些年來可負擔(dān)的計算能力增加,但是由于與這些更新的或更大的格式中的一些格式相關(guān)聯(lián)的圖像尺寸非常大,所以調(diào)節(jié)并行處理的效率以編碼并且解碼過程通常是有利的。并行編碼和解碼可以例如發(fā)生在指令等級(例如使用SIMD)、在可以在不同階段上同時處理多個視頻編碼單元的流水線中或者在由獨立的計算引擎作為獨立的實體(例如多核通用處理器)來處理視頻編碼子單元的集合的大型結(jié)構(gòu)基礎(chǔ)上。并行處理的最后一個格式可能需要圖像分割。
第二種該使用情況涉及圖像分割以便創(chuàng)建適用于在分組網(wǎng)絡(luò)上的有效傳輸?shù)谋忍亓??;贗P或其他分組網(wǎng)絡(luò)協(xié)議來傳輸編碼視頻的編解碼器可能受到最大傳輸單元(“MTU”)尺寸約束的限制。對于編碼片尺寸而言,有時候包括編碼片的結(jié)果分組盡可能地接近MTU尺寸而不超過該尺寸是有利的,以便保持高的有效載荷/分組化開銷比率,同時避免被網(wǎng)絡(luò)分段(以及結(jié)果導(dǎo)致的更高的損失概率)。
MTU尺寸從一個網(wǎng)絡(luò)到另一個網(wǎng)絡(luò)網(wǎng)絡(luò)變化很大。可以例如由通常用于因特網(wǎng)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施的最小MTU尺寸設(shè)置許多因特網(wǎng)連接的MTU尺寸,其中,該最小MTU尺寸通常對應(yīng)于以太網(wǎng)中的極限并且可以大致為1500個字節(jié)。
編碼圖像中的比特的數(shù)量依賴于許多因素如源圖像的尺寸、希望的質(zhì)量、就預(yù)測適宜性而言的內(nèi)容復(fù)雜度、視頻編碼標(biāo)準(zhǔn)的編碼效率以及其他因素。然而,即使在適中的設(shè)置質(zhì)量和內(nèi)容復(fù)雜度上,對于HD分辨率以及更高分辨率的序列,平均編碼圖像的尺寸輕易地超過MTU尺寸。視頻會議編碼器可能例如需要大約2Mbit/sec,以編碼720p60視頻序列。這導(dǎo)致大致33000比特或4215字節(jié)的平均編碼圖像尺寸,這比因特網(wǎng)的MTU尺寸的1500個字節(jié)多相當(dāng)多。在更高的分辨率上,平均圖像尺寸增加到顯著高于因特網(wǎng)的MTU尺寸的值。假設(shè)與以上720p60中類似的壓縮比,60fps上的4096x2048(4k)視頻(4kp60)可能對于每個編碼視頻圖像需要大于300000個比特或25個MUT大小的分組。
在許多以前的視頻編碼標(biāo)準(zhǔn)(例如,直到和包括WD3)中,圖像段(或至少一種形式的圖像段)被稱作“片”。在下面的描述中,可以將用于破壞至少一種形式的圖像內(nèi)預(yù)測、環(huán)內(nèi)濾波或其它編碼機制的任何種類的(例如基于視頻編碼的)圖像分段可以通常稱作“片”。同樣地,諸如(從見以上用于H.264的ITU可得的)ITU.T Rec.H.261或ITU Rec.H.263中的塊組(“GOB”)、H.264或MPEG標(biāo)準(zhǔn)族中的片之類的結(jié)構(gòu)中的每一個結(jié)構(gòu)可以構(gòu)成遍及本文所使用的術(shù)語“片”。然而,RFC3984的分段單元或H.264的數(shù)據(jù)部分不能構(gòu)成遍及本文所使用的術(shù)語“片”,因為他們沒有破壞圖像內(nèi)的預(yù)測、環(huán)內(nèi)濾波或另一種編碼機制。
參考圖1,圖1示出了使用片的圖像分割的實例100。把圖像101分成兩個掃描次序片102、103。把片邊界示出為粗線104。第二片103的第一個宏塊105具有地址11。例如,當(dāng)使用H.264標(biāo)準(zhǔn)生成用于傳輸圖像101的對應(yīng)的比特流106時,比特流106可以包括一個或多個參數(shù)集107緊接著兩個片102、103的片報頭108、110和片數(shù)據(jù)109、111,其中該一個或多個參數(shù)集107不包括有關(guān)片邊界的信息,報頭。放大示出了第二片103的片報頭110。例如,由解碼器通過至少兩個因素的組合確定未編碼片103的尺寸。首先,片報頭110包括片103的第一宏塊105的地址。其次,例如通過檢測比特流中的新的片報頭來確定片的結(jié)尾,或在所述實例中,通過比特流112中的編碼圖像的結(jié)束(即,在宏塊24之后)來確定片的結(jié)束。第一宏塊和該片的結(jié)尾之間的所有宏塊構(gòu)成了該片。應(yīng)當(dāng)注意的是,掃描次序修改(例如,H.264的靈活的宏塊排序)可以通過創(chuàng)建間隙來改變片中的宏塊的數(shù)量。
在媒介未感知分割機制例如由路由層的IP提供的那些分割機制上使用片的一個優(yōu)點在于片通過破壞片之間的邊界處的特定類型的預(yù)測從而可至少在一定程度上獨立地解碼片(如下面更詳細地討論的)。因此一個片的丟失不必然地致使編碼圖像的其它片不可用或者不可解碼。根據(jù)分段機制的實現(xiàn),分段的丟失可能相反地致使許多其它分段不可用,因為貫穿本文使用的術(shù)語分段沒有破壞任何形式的預(yù)測。
WD4(從http://wftp3.itu.int/av-arch/jctvc-sit/2011_07_f_Forino/可獲得的、由B.Bross等人所著的“WD4:Working Draft 4 of High-Efficiency Video Coding”)是與開發(fā)中的與數(shù)字視頻編碼標(biāo)準(zhǔn)相關(guān)的草案規(guī)范,其可以被稱作高效視頻編碼(HEVC)或H.265。除了片之外,WD4還包括被稱作“瓦片(title)”的圖像分割機制。根據(jù)WD4,可以把源圖像分成被稱為瓦片的矩形單元,使得源圖像的每個像素是瓦片的一部分(其它約束條件還可以適用)。因此,瓦片是圖像的矩形部分。瓦片由高級語法結(jié)構(gòu)中可用的坐標(biāo)系確定瓦片邊界,該高級語法結(jié)構(gòu)在WD4中被稱作參數(shù)集。下面更詳細地描述瓦片。
在除了圖像間的預(yù)測的可能的之外,上述的圖像間的預(yù)測機制或編碼機制中的每一個可能被圖像報頭的解碼(或等同物,例如具有幀數(shù)與先前的片不同的片的解碼)破壞。是跨片邊界還是跨瓦片邊界破壞那些預(yù)測機制取決于視頻壓縮標(biāo)準(zhǔn)和使用的片類型。
在H.264中,可以相對于運動向量預(yù)測、幀內(nèi)預(yù)測、CA-VLC和CABAC狀態(tài)和H.264標(biāo)準(zhǔn)的其它方面,獨立地解碼片。僅允許圖像間的預(yù)測(包括通過運動補償?shù)钠吔缰獾南袼財?shù)據(jù)的輸入)。雖然該解碼獨立性增加差錯恢復(fù),但是不允許前述跨片邊界的預(yù)測降低編碼效率。
在H.263中,視頻編碼器在選擇通過使用片或具有非空GOB報頭的GOB來破壞哪些預(yù)測機制時具有較多的靈活性。例如,存在包括在圖像報頭中的比特,當(dāng)使用附件R時可選擇該比特,該比特向解碼器發(fā)信號通知跨片/GOB(具有非空報頭)邊界沒有發(fā)生任何預(yù)測??缇哂蟹强請箢^的GOB并且跨片邊界破壞特定(例如,運動向量機制),而不管附件R的狀態(tài)。由附件R控制其它預(yù)測機制。例如,如果未被設(shè)置該比特,則運動向量可以指向到與當(dāng)前參考圖像中的片/具有非空報頭的GOB共同位于的空間區(qū)域的外部,因此潛在地將用于運動補償?shù)臉颖局祻牟惶幱趨⒖紙D像中的片/GOB的幾何區(qū)域內(nèi)的區(qū)域“輸入”到當(dāng)前片。此外,除非附件R是活動的,否則環(huán)路濾波可以包括片/GOB外部的樣本值。類似地,圖像報頭中存在另一個啟用或禁用幀內(nèi)預(yù)測圖像報頭。
然而,在多數(shù)標(biāo)準(zhǔn)中,以至少一個圖像粒度上并且在一些情況中在序列粒度上做出破壞圖像預(yù)測的決定。換言之,使用H.263作為一個實例,在給定圖像中不能混合(分別)啟用或禁用去塊濾波器的片,也不可能在片等級是啟用/禁用幀內(nèi)預(yù)測。
如已經(jīng)描述的,圖像分割允許把圖像分成小于整幅圖像的空間區(qū)域。雖然用于圖像分割的大多數(shù)常用的應(yīng)用看起來與MTU尺寸匹配并且被并行化,但是圖像分割還可以用于許多其它的目的,包括使段的尺寸和形狀與內(nèi)容適應(yīng)的那些目的。感興趣區(qū)域的編碼是幾個實例中的一個。在該情況,當(dāng)應(yīng)用不同編碼工具(包括不同預(yù)測機制)時,圖像的特定部分可能比其它部分(在花費較低數(shù)量比特進行編碼而產(chǎn)生相似的視覺體驗的意義上)被更有效地編碼。例如,一些內(nèi)容可能受益于去塊濾波,并且不可能很好地響應(yīng)幀內(nèi)預(yù)測,然而相同圖像中的其它內(nèi)容無需去塊濾波可能被更好地編碼,但是能夠受益于幀內(nèi)預(yù)測。通過啟用去塊濾波和幀內(nèi)預(yù)測,可以最好地編碼第三內(nèi)容。當(dāng)圖像被分成瓦片時,所有這些內(nèi)容可以位于相同的圖像中,者例如發(fā)生在采訪情形或視頻會議中。
段邊界處的預(yù)測破壞的現(xiàn)存機制的一個缺點是預(yù)測破壞的啟用和/或禁用一般被硬編碼成現(xiàn)存的視頻編碼標(biāo)準(zhǔn),因此難以或不能例如基于編碼內(nèi)容的特性在段邊界處選擇性地破壞預(yù)測機制。
因此,需要一種基于每片單獨地或整體地啟用或禁用預(yù)測和環(huán)內(nèi)濾波機制的改進的方法和系統(tǒng)。因此,期望一種至少部分地解決以上或其它缺點的方案。
此外,需要基于每幅圖像(或圖像組、序列組等)單獨地或整體地啟用或禁用跨無報頭(或等同物)圖像段邊界(例如瓦片邊界)的預(yù)測機制和/或環(huán)內(nèi)濾波機制。因此,期望一種至少部分地解決以上或其它缺點的方案。
技術(shù)實現(xiàn)要素:
本發(fā)明的實施例提供用于編碼和/或解碼這樣一種視頻圖像的方法和系統(tǒng),其中在該視頻圖像中可以選擇性地啟用或禁用圖像段的多個預(yù)測和環(huán)內(nèi)濾波工具。
根據(jù)本發(fā)明的一個方案,編碼器可以對于一個或多個預(yù)測工具指示該工具可以取得來自當(dāng)前正在被處理的圖像段的外部的信息作為用于該圖像段中的處理的參考信息。編碼器可以提供用于單個預(yù)測工具(例如,熵預(yù)測、幀內(nèi)預(yù)測、運動補償預(yù)測、運動向量預(yù)測,在后文作預(yù)測工具)和/或單個濾波工具(例如,自適應(yīng)內(nèi)插濾波、自適應(yīng)環(huán)路濾波、去塊、濾波、樣本自適應(yīng)偏移,在后文作環(huán)路濾波工具)以及其它的該指示。可替換地,編碼器可以提供提供用于多個預(yù)定義工具或可以包括任何上述預(yù)測和環(huán)路濾波工具的預(yù)定義工具組以及其它的該指示。這樣做可以用于支持編碼器和解碼器的并行化以及特定應(yīng)用情況,例如軟持續(xù)呈現(xiàn)(在壓縮域中將編碼圖像拼接在一起)。
根據(jù)本發(fā)明的一個方案,當(dāng)使用無報頭圖像段(例如,瓦片)時,編碼器可以指示預(yù)測工具、環(huán)路濾波工具或多個預(yù)先定義的工具組,而不管該工具可能把跨水平的、垂直的或水平和垂直二者的瓦片邊界的信息用作參考信息。
作為一個實例,在H.264或HEVC的特定情況中,編碼器可以設(shè)置用于預(yù)測和環(huán)內(nèi)濾波工具的“編碼中斷指示”標(biāo)志的值,例如:片/瓦片邊界外部的幀內(nèi)預(yù)測參考樣本值;片/瓦片邊界外部(即,通過運動補償)的向量參考樣本值;片/瓦片邊界外部的CABAC狀態(tài)的使用;片/瓦片邊界外部的CA-VLC狀態(tài)的使用;片/瓦片邊界外部的PIPE或類似的V2V熵編碼狀態(tài)的使用(僅HEVC);以及環(huán)內(nèi)濾波器(如自適應(yīng)內(nèi)插濾波器、自適應(yīng)環(huán)路濾波器、去塊環(huán)路濾波器或樣本自適應(yīng)偏移)的片/瓦片邊界外部的狀態(tài)和樣本值的使用。
根據(jù)本發(fā)明的一個方案,不以標(biāo)志的形式而是通過其它數(shù)據(jù)結(jié)構(gòu)的操作指示編碼工具使用或其它啟用,例如在一些情況中“編碼中斷指示”整數(shù)可以將多個前述標(biāo)志或那些標(biāo)志的優(yōu)選的置換組合成單個符號。
根據(jù)本發(fā)明的一個方案,指向片邊界外部的運動向量的最大長度可以被編碼成整型的合適的熵編碼表示,因此不僅指示在長達由所使用的等級所允許的距離上不使用運動補償,而且指示所允許的最大值,這可以例如助于解碼器實現(xiàn)中的資源分配。
根據(jù)本發(fā)明的一個方案,可以將前述編碼中斷指示標(biāo)志或其它數(shù)據(jù)編碼中斷指示結(jié)構(gòu)中的至少一個存儲在片報頭、圖像報頭、參數(shù)集或等同物中。
根據(jù)本發(fā)明的一個方案,解碼器可以通過跨片/瓦片邊界而不是其它可能合適的邊界地破壞所指示的預(yù)測工具,對標(biāo)志或其它數(shù)據(jù)結(jié)構(gòu)的出現(xiàn)做出反應(yīng)。
在一個廣義的方案中,提供了一種用于解碼包括多個段的編碼視頻圖像的方法。對于編碼視頻圖像的不具有相關(guān)聯(lián)的段報頭的至少一個段,該方法可以包括:從編碼視頻圖像獲得將要被應(yīng)用于編碼視頻圖像的至少一個預(yù)測或環(huán)內(nèi)濾波操作的至少一個指示,并且響應(yīng)于該至少一個指示,控制至少一個預(yù)測或環(huán)內(nèi)濾波操作。在一些情況中,編碼視頻圖像可以包括至少兩個沒有相關(guān)聯(lián)的段報頭的兩段。
在另一個廣泛的方面中,提供了一種用于編碼包括多個段的視頻圖像的方法。該方法包括:對于視頻圖像的不具有相關(guān)聯(lián)的段報頭的至少一個段,獲得將要被應(yīng)用于不具有相關(guān)聯(lián)的段報頭的至少一段的至少一個預(yù)測或環(huán)內(nèi)濾波操作的至少一個指示;并且響應(yīng)于至少一個指示,在編碼視頻圖像期間控制至少一個預(yù)測或環(huán)內(nèi)濾波操作。在一些情況中,視頻圖像可以包括至少兩個沒有相關(guān)聯(lián)的段報頭的段。
在又另一個廣泛的方面中,提供了一種非瞬態(tài)的計算機可讀介質(zhì),其上存儲有計算機可執(zhí)行的指令,該指令用于規(guī)劃一個或多個處理器以執(zhí)行編碼包括多個段的視頻圖像的方法。該方法可以包括:對于編碼視頻圖像的不具有相關(guān)聯(lián)的段報頭的至少一個段,從編碼視頻圖像獲取將要被應(yīng)用于編碼視頻圖像的至少一個預(yù)測或環(huán)內(nèi)濾波操作的至少一個指示,且響應(yīng)于至少一個指示,控制至少一個預(yù)測或環(huán)內(nèi)濾波操作。在一些情況中,編碼視頻圖像可以包括至少兩個沒有相關(guān)聯(lián)的段報頭的段。
在又另一個廣泛的方面中,提供了一種非瞬態(tài)的計算機可讀介質(zhì),其上存儲有計算機可執(zhí)行的指令,該指令用于規(guī)劃一個或多個處理器以執(zhí)行編碼包括多個段的視頻圖像的方法。該方法可以包括:對于視頻圖像的不具有相關(guān)聯(lián)的段報頭的至少一個段,獲得將要被應(yīng)用于不具有相關(guān)聯(lián)的段報頭的至少一段的至少一個預(yù)測或環(huán)內(nèi)濾波操作的至少一個指示,且響應(yīng)于至少一個指示,在編碼視頻圖像期間控制至少一個預(yù)測或環(huán)內(nèi)濾波操作。在一些情況中,視頻圖像可以包括至少兩個沒有相關(guān)聯(lián)的段報頭的段。
在又另一個廣義的方案中,提供數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括被配置為執(zhí)行用于編碼包括多個段的視頻圖像的方法的處理器和加速器硬件中的至少一個。該方法可以包括:對于編碼視頻圖像的不具有相關(guān)聯(lián)的段報頭的至少一個段,從編碼視頻圖像獲得將要被應(yīng)用于編碼視頻圖像的至少一個預(yù)測或環(huán)內(nèi)濾波操作的至少一個指示,并且響應(yīng)于至少一個指示,從而控制至少一個預(yù)測或環(huán)內(nèi)濾波操作。在一些情況中,編碼視頻圖像可以包括至少兩個沒有相關(guān)聯(lián)的段報頭的段。
在又另一個廣義的方案中,提供數(shù)據(jù)處理系統(tǒng),該數(shù)據(jù)處理系統(tǒng)包括被配置為執(zhí)行用于編碼包括多個段的視頻圖像的方法的處理器和加速器硬件中的至少一個。該方法可以包括:對于視頻圖像的不具有相關(guān)聯(lián)的段報頭的至少一個段,獲得將要被應(yīng)用于不具有相關(guān)聯(lián)的段報頭的至少一段的至少一個預(yù)測或環(huán)內(nèi)濾波操作的至少一個指示,并且響應(yīng)于至少一個指示,從而在編碼視頻圖像期間控制至少一個預(yù)測或環(huán)內(nèi)濾波操作。在一些情況中,視頻圖像可以包括至少兩個沒有相關(guān)聯(lián)的段報頭的段。
在一些實施例中,根據(jù)以上方案中的任何一個方案,至少一個預(yù)測或環(huán)內(nèi)濾波操作可以包括熵預(yù)測、幀內(nèi)預(yù)測、運動向量預(yù)測、運動補償預(yù)測、自適應(yīng)環(huán)路濾波、自適應(yīng)內(nèi)插濾波、去塊濾波或樣本自適應(yīng)偏移中的至少一個。
在一些實施例中,根據(jù)以上方案中的任何一個方案,可以從至少一個組合指示獲得多個指示中的至少一個方案。
在一些實施例中,根據(jù)以上方案中的任何一個方案,至少一個指示可以被編碼為用于指示運動向量的最大長度的向量。
在一些實施例中,根據(jù)以上方案中的任何一個方案,可以將至少一個指示編碼到參數(shù)集中。
根據(jù)本發(fā)明的進一步方案,提供了一種裝置(例如,數(shù)據(jù)處理系統(tǒng))、一種用于改變該裝置的方法以及制品(例如,其上記錄和/或存儲有用于執(zhí)行本文描述的任何方法的程序指令的非瞬態(tài)的計算機可讀介質(zhì)或產(chǎn)品)。
附圖說明
本發(fā)明的實施例的各種特征和優(yōu)點將從結(jié)合附圖所進行的下文的詳細描述變得顯而易見,其中:
圖1是示出了根據(jù)本發(fā)明的一個實施例的具有掃描次序片的示例性圖像和表示編碼圖像的比特流的圖示;
圖2是示出了根據(jù)本發(fā)明的一個實施例的瓦片和片的圖示;
圖3是示出了根據(jù)本發(fā)明的一個實施例的編碼比特流的框圖;
圖4是示出了根據(jù)本發(fā)明的一個實施例的編碼比特流的框圖;
圖5是示出了根據(jù)本發(fā)明的一個實施例的編碼比特流的框圖;
圖6是示出了根據(jù)本發(fā)明的一個實施例的示例性解碼器的操作的流程圖;
圖7是示出了根據(jù)本發(fā)明的一個實施例當(dāng)解碼片時示例性解碼器的操作的流程圖;
圖8是示出了根據(jù)本發(fā)明的實施例的基于數(shù)據(jù)處理系統(tǒng)(例如,個人計算機(“PC”))實現(xiàn)的框圖;
應(yīng)當(dāng)注意的是,在整個附圖中,由相同的附圖標(biāo)記識別相同的特征。
具體實施方式
在下文中,闡述了細節(jié)以提供本發(fā)明的理解。在一些實例中,未詳細地描述或顯示特定的軟件、電路、結(jié)構(gòu)和方法,以免模糊本發(fā)明。在本文中使用術(shù)語“數(shù)據(jù)處理系統(tǒng)”來指代用于處理數(shù)據(jù)的任意機器,包括本文所述的計算機系統(tǒng)、無線設(shè)備和網(wǎng)絡(luò)配置??梢杂萌我庥嬎銠C編程語言來實現(xiàn)本發(fā)明的實施方式,只要數(shù)據(jù)處理系統(tǒng)的操作系統(tǒng)提供可以支持這些實施方式的要求的設(shè)施。也可以用硬件或用硬件和軟件的組合實現(xiàn)本發(fā)明的實施方式。
本發(fā)明的至少一些實施例涉及結(jié)合同視頻壓縮中的圖像分割,選擇性地破壞預(yù)測機制并且/或者選擇性地禁用環(huán)內(nèi)濾波機制。
下文使用術(shù)語如“段”或“圖像段”來指代比整個圖像更小的任何一個或多個宏塊或等同物(例如,WD4中的樹塊),并且在“段”或“圖像段”邊界處,破壞至少一種形式的預(yù)測并且/或者禁用至少一種形式的環(huán)內(nèi)濾波。如下所述的類H.264的片以及類WD4的瓦片)(其中tile_boundary_independence_idc等于1)是段的非限制性實例。
圖2示出了實例200,其中,圖像201被描繪為黑體實線的垂直分割的瓦片邊界204分成兩個瓦片202、203。瓦片可以在圖像201內(nèi)與片共存。例如,圖像201如同被瓦片邊界204分割成瓦片202、203一樣,同時被片邊界205分割成兩個片。如WD4中所述的瓦片(tile_boundary_independence_idc等于1)可以在一個或多個方案中概括另一種類型的被稱為列的圖像段,其中在于2011年12月23日提交的、題目為“METHOD AND SYSTEM FOR SELECTIVELY BREAKING PREDICTION IN VIDEO CODING”的美國專利申請NO.13/336,675中進一步描述了列,通過引用方式將其全部內(nèi)容并入本文中。
對應(yīng)于圖像201中的傳輸?shù)谋忍亓?06可以包括例如包括用于識別瓦片邊界204的瓦片邊界信息208的參數(shù)集207或其它高級語法元素。然而,比特流的除了參數(shù)集207之外的部分不包括關(guān)于瓦片邊界的任何信息。解碼器可以通過關(guān)聯(lián)當(dāng)前正在處理的宏塊的內(nèi)部狀態(tài)信息和從參數(shù)集207知道的瓦片尺寸的信息,識別編碼宏塊(還稱為最大編碼單元(LCU)或(WD4申的)樹塊)所屬于的瓦片。
瓦片和其它矩形圖像分割機制(例如,矩形片(ITU-T Rec.H.263的附件K的子模式))之間的一個區(qū)別在于瓦片(與矩形片不同)不需要報頭。在不包括報頭的情況下,可以改為在參數(shù)集中定義瓦片的物理尺寸。在一些情況(tile_boundary_independence_idc等于1)下,根據(jù)WD4的瓦片邊界中斷所有圖像內(nèi)的預(yù)測機制,但是允許參考參考圖像中的這樣一種樣本,其中該樣本跟與正在被執(zhí)行運動補償?shù)耐咂嚓P(guān)聯(lián)的樣本處于不同位置。此外,瓦片邊界不中斷包括去塊濾波器、樣本自適應(yīng)偏移濾波器和自適應(yīng)環(huán)路濾波器的環(huán)內(nèi)濾波。
然而,編碼器或解碼器使用瓦片破壞不同的預(yù)測機制集合也可能是方便的或期望的。例如,在極高分辨率的情況下,將視頻圖像分為受制于這樣一種要求的瓦片是有利的,其中在該要求中不允許運動向量指向瓦片邊界外部,并且/或者編碼器和解碼器將瓦片邊界視為圖像邊界(類似于H.263的附件R)或類似地,因此,例如,避免不僅跨瓦片邊界的運動補償而且避免環(huán)內(nèi)濾波。
在其它情況下,編碼器或解碼器能夠處理除了符號的熵編碼之外的全分辨率視頻編碼可能是方便的或期望的。該編碼器或解碼器可能例如包括基于樣本處理的專用信號處理硬件,但是在單核不能夠處理負載(已知在HEVC中特別是CABAC熵編碼的計算要求高)的情況下可以將通用多核CPU用于熵編碼和/或解碼。因此,為了支持該使用情況,可能需要在瓦片邊界處破壞熵編碼,然而其它圖像內(nèi)或圖像間的預(yù)測機制可能能夠跨片和/或瓦片邊界。
在其它情況中,編碼器或解碼器允許跨瓦片邊界的有限的處理器間協(xié)調(diào)可能是方便的或期望的。在該情況中,對像素值的參考是不可能的,然而在處理器之間的通信信道可獲得對控制信息(例如運動向量預(yù)測所必須的信息)的參考。在該情況中,幀內(nèi)預(yù)測是不可能的,但是可以使用運動向量預(yù)測。
可能存在這樣一種編碼工具,其中該編碼工具不直接地與預(yù)測相關(guān)但是仍然可以有利地跨片或瓦片邊界地中斷該編碼工具。例如,于2011年11月1日提交的、題目為“ADAPTIVE INTERPOLATION IN DIGITAL VIDEO CODING”的共同未決的美國專利申請No.13/286,828公開了自適應(yīng)內(nèi)插濾波器,其中編碼器可選擇該自適應(yīng)內(nèi)插濾波器屬性和系數(shù),其中通過引用方式將該申請的全部內(nèi)容并入本文中。限制將片外部的樣本用于內(nèi)插濾波是有利的。同樣地,WD4包括自適應(yīng)內(nèi)插濾波器,其中至少部分地從特定像素獲得該自適應(yīng)內(nèi)插濾波器的控制。限于僅在片或瓦片邊界內(nèi)的獲得像素是有利的。(與濾波器控制信息的獲得相反)將濾波本身僅限于片或瓦片邊界內(nèi)的像素也是有利的。WD4還包括其它環(huán)路濾波器,例如自適應(yīng)環(huán)路濾波器(與濾波所有樣本有關(guān))、去塊濾波器(與濾波塊邊界有關(guān))和被稱作自適應(yīng)樣本偏移的濾波機制。所有這些濾波器均可以共享與AIF相同的性能。例如,在如WD4中指定的自適應(yīng)環(huán)路濾波器的情況下,(可能獨立地)禁用到用于跨瓦片邊界地獲得濾波器抽頭的信息的通路并且禁用跨瓦片邊界自身的過濾是有利的。
可以由圖像(或更高)等級語法結(jié)構(gòu)(例如,當(dāng)使用WD4瓦片時的參數(shù)集)、由段報頭信息(例如,H.263附件K的矩形片)、由比特流中的段報頭的布置和編碼器/解碼器狀態(tài)的組合(例如,當(dāng)未使用靈活的宏塊排序時的H.264片)或兩個或更多個前述機制的組合(即,F(xiàn)MO定義片組,并且在片組內(nèi)通過比特流中片報頭布置(通過其地址識別片的第一宏塊)和片組內(nèi)的宏塊地址隱含的優(yōu)勢的組合定義圖像段,直到通過比特流解析或其它手段檢測到片的結(jié)尾為止)對段邊界進行定義。
現(xiàn)在描述允許預(yù)測工具選擇瓦片邊界的第一機制,緊接著是允許預(yù)測工具選擇片邊界的機制。最后,描述了兩個機制的互作用。
參考圖3中的實例300,圖3示出了包括參數(shù)集302和兩個編碼片304、305的編碼比特流301。編碼片304、305可以屬于一個或兩個編碼圖像。在WD4中,可以由具有LCU地址0的片報頭識別圖像邊界。參數(shù)集302可以包括瓦片控制信息303(例如瓦片邊界),并且在該實例中假設(shè)參數(shù)集302中的信息涉及兩個編碼片(即,片報頭中的參數(shù)集參考包括相同的索引)。在許多基于WD4和H.264系統(tǒng)中,參數(shù)集涉及數(shù)十、數(shù)百或更多片。
根據(jù)一個實施例,參數(shù)集302可以包括多個預(yù)測工具指示標(biāo)志(PTI)。例如,當(dāng)設(shè)置(即啟用)PTI時,可以允許跨段邊界的預(yù)測而不管哪個編碼或解碼工具與標(biāo)志相關(guān)聯(lián);否則當(dāng)PTI未被設(shè)置(即禁用)時,該預(yù)測可能被禁止。可以例如對于熵編碼預(yù)測306、幀內(nèi)預(yù)測307、運動向量預(yù)測308、運動補償預(yù)測309、自適應(yīng)環(huán)路濾波310、自適應(yīng)內(nèi)插濾波311、去塊濾波312、樣本自適應(yīng)偏移313以及有可能視頻編碼機制中定義的其它預(yù)測和環(huán)內(nèi)濾波工具,定義標(biāo)志。
對于涉及對該參數(shù)集進行參考的所有片和圖像的單獨的預(yù)測和環(huán)內(nèi)濾波機制包括PTI可能有助于使比特流適合于編碼和/或解碼環(huán)境如編碼器或解碼器的硬件架構(gòu)。由于標(biāo)志可能是可以應(yīng)用于許多片或圖像的參數(shù)集的一部分,所以與參數(shù)集中PTI的提供的利益相比,參數(shù)集中PTI的開銷可以忽略不計。
參考圖4中描繪的實例400,圖4示出了編碼比特流401,編碼比特流401包括參數(shù)集402和包括兩個片403、404的編碼圖像。每個片從報頭405、406開始。片報頭405被放大以示出其信息的部分。
根據(jù)實施例,片報頭405可以包括多個預(yù)測工具指示標(biāo)志(PTI)。例如,當(dāng)設(shè)置一個或多個PTI時,可以允許跨段邊界的預(yù)測和/或環(huán)內(nèi)濾波,而不管哪個編碼或解碼工具與標(biāo)志相關(guān)聯(lián);否則當(dāng)被設(shè)置(即禁用)PTI時,可以禁止該預(yù)測??梢詫τ诶珈仡A(yù)測407、幀內(nèi)預(yù)測408、運動向量預(yù)測409、運動補償預(yù)測410、自適應(yīng)環(huán)路濾波411、自適應(yīng)內(nèi)插濾波412、去塊濾波413、樣本自適應(yīng)偏移414以及有可能視頻編碼機制中定義的的其它預(yù)測和環(huán)內(nèi)濾波工具定義標(biāo)志。
對于涉及給定片的單獨的預(yù)測和環(huán)內(nèi)濾波機制包括PTI,可以有助于使比特流適應(yīng)內(nèi)容,因此提高編碼效率。
現(xiàn)在描述上述的兩個機制可以如何交互。
參考圖5中示出的實例500,圖5示出了包括參數(shù)集502和兩個片503、504的編碼比特流501,兩個片503、504中的每個片從對應(yīng)的片報頭505、506開始。
在507處被放大示出的參數(shù)集502包括例如瓦片控制信息508或與無報頭段邊界相關(guān)的其它信息,例如,該邊界能夠指示如圖2所示的垂直瓦片邊界204。此外,參數(shù)集502可能包括一個或多個PTI。這里示出了三個PTI,一個PTI與熵預(yù)測509相關(guān)聯(lián),一個PTI與幀內(nèi)預(yù)測510相關(guān)聯(lián)并且一個PTI與運動補償511相關(guān)聯(lián)。這些標(biāo)志可以控制瓦片邊界204處的解碼器預(yù)測??梢岳缬赏咂刂菩畔?08設(shè)置瓦片邊界204,使得圖像201被垂直分成兩個瓦片202、203。這里描述的機制還可以用于瓦片邊界的其它配置(包括垂直和水平邊界的組合)。
編碼圖像還可以例如包括兩個編碼片503、504,每個編碼片從對應(yīng)的片報頭505、506開始。如圖2所示,對應(yīng)于編碼片503、504的(未編碼)片可能例如分別包括宏塊地址1到14和15到24的空間區(qū)域。片報頭506被放大示出在512處,并且可能包括多個PTI。示出了兩個PTI,一個PTI與幀內(nèi)預(yù)測513相關(guān)聯(lián),另一個PTI與自適應(yīng)環(huán)路濾波(ALF)514相關(guān)聯(lián)。然而,應(yīng)當(dāng)注意的是,可能存在但不要求的參數(shù)集502或片報頭506的PTI之間的重疊。
根據(jù)實施例,參數(shù)集502的PTI 509、510、511控制由瓦片控制信息508定義的跨瓦片邊界204的預(yù)測和環(huán)內(nèi)濾波。
根據(jù)一個實施例,片報頭512的PTI 513、514控制跨片503、504之間的邊界的預(yù)測和環(huán)內(nèi)濾波。例如,片504的片邊界具有除了由虛線粗體片邊界線205標(biāo)記的圖像邊界之外的一個邊界。
因此,在實例200中,瓦片邊界中斷一些預(yù)測和環(huán)內(nèi)濾波機制(以便于允許圖像編碼分布在幾個處理器之間),同時在片報頭506的控制下在片邊界處選擇性地中斷其它預(yù)測和環(huán)內(nèi)濾波機制(因此通過破壞預(yù)測和環(huán)內(nèi)濾波機制來給出編碼器全控制,以便于針對編碼的內(nèi)容能夠選擇任何特定的預(yù)測和環(huán)內(nèi)濾波機制的組合,包括對給定的應(yīng)用或用途是期望的或方便的組合)。
如果涉及相同預(yù)測或環(huán)內(nèi)濾波機制的PTI出現(xiàn)在參數(shù)集502和片報頭506中,并且在對應(yīng)的瓦片和片邊界是對齊的情況下,則至少兩個解碼器反應(yīng)是可能的??梢酝ㄟ^配置文件/等級選擇,使得該選擇在標(biāo)志中被靜態(tài)地指定,或者基于基于參數(shù)集中的控制信息或其它高級語法內(nèi)容使得該選擇在標(biāo)志中被動態(tài)地指定。
一個選擇是參數(shù)集502中的PTI覆蓋片報頭506中抵觸的信息。該選擇可以具有使解碼器確定能夠向各個處理器或內(nèi)核分配段而無需實現(xiàn)用于允許在這些段之間共享信息的機制。
另一個選擇是片報頭508中的PTI覆蓋參數(shù)集502中抵觸的信息。該選擇可以在它的工具的選擇中允許更大的編碼器靈活性。其它的反應(yīng)也是可能的。
(如果優(yōu)化編碼標(biāo)志位于片報頭508或參數(shù)集502中,則)為了優(yōu)化編碼標(biāo)志,在一些情況中,指定下面的任何標(biāo)準(zhǔn)是有利的:
(1)如果指示了特定類和/或等級,則一些PTI可能不是參數(shù)集或片報頭的一部分,因為在該類和/或等級中,預(yù)測或環(huán)內(nèi)濾波工具是不可用的。
(2)如果例如在特定配置文件中確定無需或者甚至不希望用于獨立地接通/斷開這些單獨的PTI的靈活性,則將兩個或多個PTI“捆綁”成單個組合PTI。[93](3)在一些情況中,PTI可能最好不被編碼成布爾型(即,二進制)參數(shù)。例如,可以至少部分地由這樣一種運動向量的長度確定運動補償?shù)那闆r中對處理器間協(xié)調(diào)的需求,其中該運動向量指向由片或瓦片覆蓋的共置的空間區(qū)域外部。因此,在一個實施例中,PTI信息還可能被編碼成整數(shù)或其它非布爾型參數(shù),因此指示適當(dāng)預(yù)測值范圍,例如指向段邊界外部的運動向量的最大長度。
(4)在一些情況中,PTI值可能不需要在物理意義上出現(xiàn)在比特流中,因為可以從比特流的其它特性獲得它們的值。例如,片內(nèi)可能不需要包括與運動補償相關(guān)的PTI,因為根據(jù)由標(biāo)準(zhǔn)進行的設(shè)計,運動補償不可能發(fā)生在片內(nèi)。
現(xiàn)在描述根據(jù)實施例可能適用于PTI信息的前述任何配置的編碼器的操作。
參考圖6,在一個實施例中,編碼器可能根據(jù)流程圖600進行操作。在編碼視頻序列的第一片之前,編碼器可能確定(601)用于PTI的與序列相關(guān)的設(shè)置以及圖像序列中的視頻圖像的瓦片布局。該確定可以考慮編碼器的硬件架構(gòu)、解碼器的硬件架構(gòu)、由硬件架構(gòu)建議或指示的可能的瓦片布局、關(guān)于傳輸網(wǎng)絡(luò)(如果有的話)的知識,例如MTU的尺寸等等。在一些情況下,可能由編碼器在該確定中可以考慮的系統(tǒng)等級標(biāo)準(zhǔn)批準(zhǔn)PTI值。例如,未來的數(shù)字TV標(biāo)準(zhǔn)可設(shè)想需要將控制跨瓦片邊界的預(yù)測和環(huán)內(nèi)濾波的特定瓦片布局和特定PTI設(shè)置用于特定(更高)分辨率,以使得成本有效的多處理器/多內(nèi)核實現(xiàn)成為可能??赡軆H需要在序列等級上確定所有PTI的子集。
之前已經(jīng)描述了那些設(shè)置的幾個選擇。
在確定之后,編碼器可以(602)將與序列相關(guān)的PTI編碼到合適的高級語法結(jié)構(gòu)例如序列或圖像參數(shù)集、序列、GOP或圖像報頭中。編碼器還可以(通過視頻編碼標(biāo)準(zhǔn)的語法結(jié)構(gòu))選擇在該編碼期間不定義PTI。
與序列相關(guān)的PTI可以對于至少一個完整視頻圖像保持恒定(除非被基于片報頭的PTI被覆蓋,如稍后描述的),但是在許多情況下可以對于至少一個“序列”(視頻流中的兩個IDR圖像和領(lǐng)先的IDR圖像之間的所有圖像)并且可能在全視頻編碼會話期間保持恒定。例如,可以至少部分地由在會話期間不可能改變硬件限制來驅(qū)動與序列相關(guān)的PTI。自此以后為了方便起見假設(shè)該后一種的情況。
編碼器通過對片進行編碼來繼續(xù)。為了這樣做,編碼器可以確定(603)片等級PTI,其可以跟如已經(jīng)描述的與序列相關(guān)的PTI交互。片等級PTI可以被編碼成(604)片報頭的編碼的一部分。
然后可以根據(jù)正在應(yīng)用哪個編碼標(biāo)準(zhǔn)(例如,WD4或H.264),同時考慮跨如由PTI指示的片和瓦片邊界的預(yù)測和/或環(huán)內(nèi)濾波機制的破壞,編碼(605)該片。
對下一個片繼續(xù)(606)編碼。
現(xiàn)在描述根據(jù)實施例可適用于前述任何的PTI信息配置的解碼器的操作。
圖7是可用于本發(fā)明的一個實施例的解碼器的流程圖700。解碼器可能接收(701)來自比特流的NAL單元,并且確定NAL單元的類型。如果NAL單元類型用于指示參數(shù)集(702),則解碼器可能根據(jù)所采用的視頻編碼標(biāo)準(zhǔn)來執(zhí)行參數(shù)集解析和存儲(703)(其它高級語法結(jié)構(gòu)(例如,序列、GOP或圖像報頭)還可以用于該目的)。
如果NAL單元類型用于指示片數(shù)據(jù)(704)(未描述其它情況),則解碼器可能解析片報頭(705)并且然后根據(jù)其中編碼的信息如PTI信息進行響應(yīng)。例如,片報頭可能包括參數(shù)集參考,并且該參數(shù)可能被“激活”(706),如視頻編碼標(biāo)準(zhǔn)中所描述的,即指示了參考的參數(shù)集的值變得有效。由于PTI可能是參數(shù)集的一部分,通過該激活(706),PTI的值也可能變得有效。
片報頭還可能包括其本身的PTI,如已經(jīng)描述的,該PTI可能不同于參數(shù)集中包括的PTI。已經(jīng)描述了在編碼中片報頭中的PTI信息和編碼在參數(shù)集中的PTI信息之間如何進行裁決的選擇。例如,通過將基于片報頭的PTI(如果存在)與參數(shù)集報頭PTI(如果存在)關(guān)聯(lián),并且考慮在視頻編碼標(biāo)準(zhǔn)的其它部分中可能存在的任何限制條件(例如通過配置文件和等級做出的的PTI的限制和/或默認設(shè)置),解碼器可能確定(707)將要用于解碼主題片的最終PTI設(shè)置。應(yīng)當(dāng)注意的是,取決于參數(shù)集的PTI設(shè)置和片報頭的PTI設(shè)置(包括片邊界與瓦片邊界是對齊的特定情況),針對片的不同邊緣,PTI可能不同。
考慮最終PTI設(shè)置,解碼器可能使用跨如由被編碼到PTI中的信息指示的片或瓦片邊界的預(yù)測和/或環(huán)內(nèi)濾波技術(shù)來解碼(708)片。
對下一個NAL單元繼續(xù)(709)該過程。
圖7未示出除了片或參數(shù)集NAL單元之外的NAL單元的處理。
圖8是示出了根據(jù)本發(fā)明的實施方式基于數(shù)據(jù)處理系統(tǒng)(例如個人計算機(“PC”))800的實現(xiàn)的方框圖。到此時為止,為了方便起見,未詳細地將描述明確地與編碼器和/或解碼器的可能的物理實現(xiàn)相關(guān)。基于軟件和/或組件的組合的許多不同的物理實現(xiàn)是可能的。在一些實現(xiàn)中,在許多情況中由于與成本效率和/或功耗效率相關(guān)的原因,可以例如使用定制或門陣列集成電路實現(xiàn)視頻編碼器和/或解碼器。
另外,使用通用處理架構(gòu)(它的一個實例是數(shù)據(jù)處理系統(tǒng)800)的基于軟件的實現(xiàn)是可能的。例如通過使用個人計算機或類似的設(shè)備(例如機頂盒、膝上電腦、移動設(shè)備),如下所述該實現(xiàn)策略可以是可能的。如圖8申所示的,根據(jù)所述實施方式,可以用包括這樣一種指令的計算機可讀介質(zhì)801(例如CD-ROM、半導(dǎo)體ROM、記憶棒)的形式提供用于PC或類似的設(shè)備的編碼器和/或解碼器,其中,該指令被配置為允許處理器802單獨地或與加速器硬件(例如圖形處理器)803組合地結(jié)合耦合度處理器802和/或加速器硬件803的存儲器804來執(zhí)行編碼或解碼??梢詫⑻幚砥?02、存儲器804和加速器硬件803耦合到可用于向/從前述設(shè)備傳遞比特流和未壓縮視頻的總線805。依賴于實現(xiàn),可以將用于比特流和未壓縮視頻的輸入/輸出的外圍設(shè)備耦合到總線805??梢岳缃?jīng)過合適的接口如幀接收器807或USB鏈路808將照相機806依附到總線805以便未壓縮視頻的實時輸入。類似的接口可用于未壓縮視頻存儲設(shè)備如VTR??梢越?jīng)過顯示器設(shè)備如計算機監(jiān)視器或TV屏幕809輸出未壓縮視頻。DVD RW驅(qū)動器或等效物(例如CD-ROM、CD-RW藍光光盤、記憶棒)810可用于實現(xiàn)比特流的輸入和/或輸出。最后,為了在網(wǎng)絡(luò)812上的實時傳輸,網(wǎng)絡(luò)接口811可用于依賴于到網(wǎng)絡(luò)812的接入鏈路的容量以及網(wǎng)絡(luò)812自身來傳遞比特流和/或未壓縮視頻。
根據(jù)各種各樣的實施方式,可以由各自的軟件模塊實現(xiàn)上述方法。根據(jù)其他實施方式,可以由各自的硬件模塊實現(xiàn)上述方法。根據(jù)其他實施方式,可以軟件模塊與硬件模塊的組合實現(xiàn)上述方法。
雖然為了方便起見主要參考一種示例性方法來描述實施方式,但是上文參考數(shù)據(jù)處理系統(tǒng)800所討論的裝置可以根據(jù)所述實施方式被編程為使得所述方法能夠?qū)嵤?。此外,用于?shù)據(jù)處理系統(tǒng)800的制品如包括記錄在其上的程序指令的預(yù)記錄存儲介質(zhì)或其他類似的計算機可讀介質(zhì)或產(chǎn)品可以指導(dǎo)數(shù)據(jù)處理系統(tǒng)800助于所述方法的實現(xiàn)。將要理解,除了所述方法之外,該裝置和制品也全部落入所述實施方式的范圍之中。
具體而言,根據(jù)本發(fā)明的一個實施方式,可以將當(dāng)被執(zhí)行時導(dǎo)致由數(shù)據(jù)處理系統(tǒng)800執(zhí)行本文所述的方法的指令序列包括在數(shù)據(jù)載體產(chǎn)品中。該數(shù)據(jù)載體產(chǎn)品可以被加載到數(shù)據(jù)處理系統(tǒng)800中并且被數(shù)據(jù)處理系統(tǒng)800運行。另外,根據(jù)本發(fā)明的一個實施方式,可以將該當(dāng)被執(zhí)行時導(dǎo)致由數(shù)據(jù)處理系統(tǒng)800執(zhí)行本文所述的方法的指令序列包括在計算機程序或軟件產(chǎn)品中。該計算機程序或軟件產(chǎn)品可以被加載到數(shù)據(jù)處理系統(tǒng)800中并且被數(shù)據(jù)處理系統(tǒng)800運行。此外,根據(jù)本發(fā)明的一個實施方式,可以將當(dāng)被執(zhí)行時導(dǎo)致由數(shù)據(jù)處理系統(tǒng)800執(zhí)行本文所述的方法的指令序列包括在可以包括協(xié)處理器或存儲器的集成電路產(chǎn)品(例如硬件模塊或多個模塊)中。該集成電路產(chǎn)品可以被安裝到數(shù)據(jù)處理系統(tǒng)800中。
以上的實施例可以有助于一種用于選擇性地破壞視頻編碼中的預(yù)測和/或環(huán)內(nèi)濾波的改進的系統(tǒng)和方法,并且可以提供一個或多個優(yōu)點。例如,對于單獨的預(yù)測和環(huán)內(nèi)濾波機制包括這樣一種PTI可能有助于使比特流適合于編碼和/或解碼環(huán)境如編碼器或解碼器的硬件架構(gòu),其中該PTI涉及對該參數(shù)集進行參考的所有片和圖像。此外,對于單獨的預(yù)測和環(huán)內(nèi)濾波機包括涉及給定片的PTI可以有助于使比特流適應(yīng)內(nèi)容,因此提高編碼效率。
本文所述的發(fā)明的實施方式僅適用于示例。因此,可以對于這些實施方式做出對細節(jié)的各種各樣的變化和/或修改,全部該變化和/或修改都落入本發(fā)明的范圍中。