專利名稱:使用時(shí)間上受約束的空間依存性進(jìn)行視頻解碼的制作方法
技術(shù)領(lǐng)域:
本公開涉及視頻編碼,尤其涉及用于經(jīng)編碼視頻的感興趣區(qū)(ROI)處理。背景可在廣泛范圍的設(shè)備中提供數(shù)字視頻能力,這些設(shè)備包括數(shù)字電視、數(shù)字直接廣播系統(tǒng)、無(wú)線廣播系統(tǒng)、個(gè)人數(shù)字助理(PAD)、膝上型計(jì)算機(jī)或臺(tái)式計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄設(shè)備、視頻游戲設(shè)備、視頻游戲控制臺(tái)、蜂窩或衛(wèi)星無(wú)線電電話、及類似物。數(shù)字視頻設(shè)備實(shí)現(xiàn)諸如在各種標(biāo)準(zhǔn)中描述的視頻壓縮技術(shù),這些標(biāo)準(zhǔn)包括MPEG-2、MPEG-4、或高級(jí)視頻編碼(AVC)第10部分的ITU-T H. ^4/MPEG-4。視頻壓縮技術(shù)可執(zhí)行空間預(yù)測(cè)和時(shí)間預(yù)測(cè)以降低冗余,并且更具效率地傳達(dá)數(shù)字視頻。感興趣區(qū)(ROI)處理可涉及與其他區(qū)劃不同地記錄或編碼視頻幀的一個(gè)或多個(gè)所選區(qū)劃。作為示例,可以用比其他非ROI區(qū)劃更高的質(zhì)量來優(yōu)先地編碼ROI。采用對(duì)ROI 的優(yōu)先編碼,相比于非ROI區(qū)域,用戶可以更清楚地觀看R0I。作為另一示例,可以在視頻記錄時(shí)執(zhí)行縮放平搖以增強(qiáng)所記錄視頻場(chǎng)景內(nèi)ROI的可視性或質(zhì)量。在任一情形中,ROI在視頻記錄或編碼階段被建立并隨后在解碼和顯示給定視頻幀之際被觀看。概述—般而言,本公開描述約束經(jīng)編碼視頻塊的空間依存性的時(shí)間傳播以支持視頻幀中的局部化解碼的視頻編碼技術(shù)??臻g依存性在一系列參考幀上的時(shí)間傳播可能影響解碼器在幀內(nèi)執(zhí)行局部化解碼的能力。例如,對(duì)視頻幀的ROI的局部化解碼可要求駐留在該ROI 之外的經(jīng)解碼參考?jí)K的可用性。通過約束空間依存性的時(shí)間傳播,視頻編碼器可減少或消除解碼器訪問ROI之外的經(jīng)解碼參考?jí)K的需要。該技術(shù)可跟蹤已被編碼的個(gè)體視頻塊的時(shí)間空間依存性值。經(jīng)編碼視頻塊可用作對(duì)幀中要編碼的其他視頻塊進(jìn)行預(yù)測(cè)編碼的候選參考?jí)K。在編碼當(dāng)前視頻塊時(shí),編碼器標(biāo)識(shí)一組候選參考?jí)K并且確定這些候選參考?jí)K的時(shí)間空間依存性值是否超過時(shí)間空間依存性限制。若如此,則編碼器可強(qiáng)制當(dāng)前視頻塊被幀內(nèi)編碼而不是幀間編碼,由此限制空間依存性的時(shí)間范圍并支持局部化的僅ROI解碼。本公開還提供了用于解碼視頻塊的技術(shù)。基于用戶或應(yīng)用的ROI選擇,視頻解碼器可從先前幀訪問ROI內(nèi)的經(jīng)解碼塊。在一個(gè)示例中,通過在所有視頻編解碼器 ("codecs")都支持的用戶數(shù)據(jù)字段中嵌入塊位置查找表,解碼器可隨機(jī)地訪問塊以用于解碼。在一個(gè)示例中,本公開提供了一種確定視頻編碼器中的編碼模式的方法,包括確定用于對(duì)視頻幀中的當(dāng)前塊進(jìn)行幀間編碼的候選參考視頻塊的時(shí)間空間依存性值。該方法還包括將時(shí)間空間依存性值與閾值作比較。該方法還包括基于該比較來選擇用于當(dāng)前塊的編碼模式。在另一示例中,本公開提供了一種視頻編碼設(shè)備,該視頻編碼設(shè)備包括存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備存儲(chǔ)用于對(duì)視頻幀中的當(dāng)前塊進(jìn)行編碼的候選參考?jí)K的時(shí)間空間依存性值;以及視頻編碼器,該視頻編碼器確定候選參考視頻塊的時(shí)間空間依存性值、將該時(shí)間空間依存性值與閾值相比較、并基于該比較來選擇用于當(dāng)前塊的編碼模式。在一附加示例中,本公開提供了一種其上編碼有指令的計(jì)算機(jī)可讀介質(zhì),該指令在執(zhí)行時(shí)致使視頻編碼器內(nèi)的處理器確定用于對(duì)視頻幀中的當(dāng)前塊進(jìn)行幀間編碼的候選參考視頻塊的時(shí)間空間依存性值。該計(jì)算機(jī)可讀介質(zhì)還包括致使處理器將該時(shí)間空間依存性值與閾值相比較的指令。該計(jì)算機(jī)可讀介質(zhì)還包括致使處理器基于該比較來選擇用于當(dāng)前塊的編碼模式的指令。在另一個(gè)示例中,本公開提供了一種視頻編碼設(shè)備,該視頻編碼設(shè)備包括用于確定用于對(duì)視頻幀中的當(dāng)前塊進(jìn)行幀間編碼的候選參考視頻塊的時(shí)間空間依存性值的裝置。 該編碼器還包括用于將時(shí)間空間依存性值與閾值作比較的裝置。該編碼器還包括用于基于該比較來選擇用于當(dāng)前塊的編碼模式的裝置。在一附加示例中,本公開提供了一種在視頻解碼器中執(zhí)行的方法。該方法包括接收定義視頻幀的感興趣區(qū)(ROI)的數(shù)據(jù),接收該ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性值(TSD),以及至少部分地基于該TSD值來解碼該ROI中的視頻塊。在另一示例中,本公開提供了一種視頻解碼器,該視頻解碼器包括選擇視頻幀的感興趣區(qū)(ROI)的ROI選擇單元,接收該ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性值的單元,以及至少部分地基于該TSD值來解碼該ROI中的視頻塊的單元。在一附加示例中,本公開提供了一種計(jì)算機(jī)可讀介質(zhì),其包括編碼在該計(jì)算機(jī)可讀介質(zhì)上的指令,該指令在執(zhí)行時(shí)致使視頻解碼器內(nèi)的處理器接收定義視頻幀的感興趣區(qū) (ROI)的數(shù)據(jù),接收該ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性(TSD)值,以及至少部分地基于該TSD值來解碼該ROI中的視頻塊。在另一示例中,本公開提供了一種視頻解碼器,該視頻解碼器包括用于接收定義視頻幀的感興趣區(qū)(ROI)的數(shù)據(jù)的裝置,用于接收該ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性(TSD)值的裝置,以及用于至少部分地基于該TSD值來解碼該ROI中的視頻塊的裝置。在附圖及以下說明中闡述一個(gè)或更多個(gè)示例的詳情。其它特征、目的、以及優(yōu)點(diǎn)將可從此說明和附圖、以及所附權(quán)利要求書中顯見。附圖簡(jiǎn)述
圖1是解說視頻編碼和解碼系統(tǒng)的框圖。圖2是解說根據(jù)本公開的示例性視頻編碼器的框圖。圖3是解說根據(jù)本公開的示例性視頻解碼器的框圖。圖4是解說根據(jù)本公開的示例性預(yù)測(cè)單元的框圖。圖5是解說視頻編碼中空間依存性的時(shí)間傳播的圖示。圖6是解說視頻解碼中空間依存性的時(shí)間要求的圖示。
圖7是解說視頻解碼中空間依存性的時(shí)間要求與幀內(nèi)空間依存性相組合的圖示。圖8A是解說具有無(wú)約束依存性范圍的視頻幀的比較示圖和具有約束依存性范圍的視頻幀的示圖的圖示。圖8B是圖8A被修改以包括周期性幀內(nèi)編碼的圖示。圖9是解說用于根據(jù)本公開時(shí)間上約束空間依存性的示例性視頻編碼器架構(gòu)和操作的圖示。圖10是解說根據(jù)本公開的編碼模式確定方法的流程圖。圖11是解說根據(jù)本公開的另一編碼模式確定方法的流程圖。圖12是解說感興趣區(qū)(ROI)、在ROI外部的可能需要解碼的第一區(qū)域、和第一區(qū)域外部的可能也需要解碼的第二區(qū)域的概念圖。圖13是解說根據(jù)本公開的解碼方法的流程圖。圖14是解說一種為解碼所選ROI區(qū)域確定附加ROI余量的方法的流程圖,該方法將支持平搖、縮放、和翻轉(zhuǎn)。詳細(xì)描述對(duì)視頻編碼的感興趣區(qū)(ROI)定義通常在視頻記錄時(shí)發(fā)生,諸如在視頻錄像機(jī)中。例如,用戶可在視頻場(chǎng)景內(nèi)縮放或平搖以記錄場(chǎng)景中ROI的視頻。所記錄的視頻隨后被編碼以便存儲(chǔ)和/或傳送以用于解碼和回放。視頻回放通常忠實(shí)地再現(xiàn)所記錄的視頻, 從而在不同的觀眾和同一視頻的不同觀看當(dāng)中提供一致的觀看體驗(yàn)。換言之,觀看體驗(yàn)被假定對(duì)于每個(gè)觀眾是基本相同的?!掠^看對(duì)于許多應(yīng)用可能是可以接受的,諸如在設(shè)備的顯示能力緊密匹配視頻傳輸或存儲(chǔ)的帶寬、以及視頻幀的分辨率或大小時(shí)。然而,在一些情形中,可能希望準(zhǔn)許觀眾在解碼器側(cè)定義ROI以用于視頻回放。例如,觀眾可能希望在解碼器側(cè)局部地定義ROI以獲得經(jīng)編碼視頻所捕捉的場(chǎng)景的唯一或不同視圖,例如通過在該視頻場(chǎng)景內(nèi)縮放或平搖。局部化解碼以支持解碼器側(cè)ROI定義可能對(duì)于任何設(shè)備一般都是所希望的,但是對(duì)于具有有限的帶寬、處理或顯示能力(諸如大小和分辨率)的設(shè)備是特別所希望的。示例包括具有較小的顯示屏、有限的處理資源和/或有限的帶寬連接(諸如無(wú)線連接)的移動(dòng)手持式設(shè)備。在精簡(jiǎn)的顯示能力下,移動(dòng)設(shè)備的用戶可能不大有興趣觀看整個(gè)捕捉到的場(chǎng)景,而可能更有興趣觀看所捕捉場(chǎng)景的放大部分。對(duì)于諸如觀看文本或靜止圖像等靜態(tài)內(nèi)容而言,ROI縮放和平搖可能是容易實(shí)現(xiàn)的。例如,觸摸屏設(shè)備可允許用戶使用手指移動(dòng)在ROI上進(jìn)行放大。也可使用其他定點(diǎn)設(shè)備來實(shí)現(xiàn)類似結(jié)果。在靜態(tài)內(nèi)容下,ROI縮放和平搖可以通過簡(jiǎn)單地選擇并操控該靜止圖像的一部分被呈現(xiàn)在顯示器上來實(shí)現(xiàn)。在此情形中,設(shè)備存儲(chǔ)器典型地存儲(chǔ)整個(gè)圖像幀,從而使ROI縮放和平搖簡(jiǎn)單易行。對(duì)于諸如視頻之類的動(dòng)態(tài)內(nèi)容,對(duì)經(jīng)預(yù)測(cè)編碼幀的視頻塊進(jìn)行解碼要求訪問先前被解碼的幀中的參考?jí)K。典型的視頻編碼器假定每個(gè)幀的解碼將是對(duì)整個(gè)幀執(zhí)行的,從而所有可能的參考?jí)K(例如,宏塊)將可用于解碼之后的幀。結(jié)果,編碼器和解碼器沒有被配置成支持僅解碼幀的一部分的僅ROI解碼技術(shù)。如果僅解碼幀的ROI部分,那么解碼將來的幀所必需的參考?jí)K可能不可用,因?yàn)樗鼈儾⑽幢唤獯a。由于對(duì)先前幀中位于ROI之外并因而未被解碼的參考?jí)K的時(shí)間空間依存性,可能無(wú)法解碼將來幀中的一些塊?;蛘?,為了支持對(duì)更后幀中ROI塊的解碼,可能需要解碼先前幀中的非ROI塊,即使這些非ROI塊不被顯示,這會(huì)是低效且不合需要的。一般而言,本公開描述約束經(jīng)編碼視頻塊的空間依存性的時(shí)間傳播以支持視頻幀中的局部化解碼的視頻編碼技術(shù)。該技術(shù)可跟蹤已被解碼的個(gè)體視頻塊的時(shí)間空間依存性值。用于預(yù)測(cè)編碼的一系列參考幀上空間依存性的時(shí)間傳播可破壞解碼器在幀中執(zhí)行局部化解碼(例如用于僅ROI解碼)的能力。如貫穿本公開是使用的,候選塊的時(shí)間空間依存性是指先前視頻幀中候選視頻塊所依存的視頻塊的數(shù)目。在編碼當(dāng)前視頻塊時(shí),視頻編碼器可標(biāo)識(shí)一組候選參考?jí)K并且確定這些候選參考?jí)K的時(shí)間空間值是否超過時(shí)間空間依存性限制。若如此,則視頻編碼器可強(qiáng)制當(dāng)前視頻塊被幀內(nèi)編碼而不是幀間編碼,由此限制空間依存性的時(shí)間范圍。時(shí)間空間依存性限制作為實(shí)現(xiàn)參數(shù)可以是固定的或可變的,以平衡視頻質(zhì)量和編碼效率。視頻編碼器確保解碼該塊將不需要位于超出解碼器側(cè)所定義的ROI之外預(yù)定范圍的參考?jí)K。以此方式,視頻編碼器可保持個(gè)體塊的空間依存性恰當(dāng)?shù)鼐植炕员闶惯B續(xù)解碼恰當(dāng)?shù)鼐植炕D1是解說視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所示,系統(tǒng)10可包括源設(shè)備12,該源設(shè)備12經(jīng)由通信信道16向目的設(shè)備14傳送經(jīng)編碼視頻。源設(shè)備12可包括視頻源18、視頻編碼器20、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)22、和發(fā)射機(jī)M。在一些示例中, 源設(shè)備12可被認(rèn)為是視頻編碼設(shè)備。在一些方面,發(fā)射機(jī)M可以是無(wú)線發(fā)射機(jī)。目的設(shè)備14可包括接收機(jī)沈、調(diào)制解調(diào)器觀、視頻解碼器30、和視頻顯示設(shè)備32。在一些示例中, 目的設(shè)備可被認(rèn)為是視頻解碼設(shè)備。在一些方面,接收機(jī)沈可以是無(wú)線接收機(jī),諸如無(wú)線通信設(shè)備手持機(jī)中的無(wú)線接收機(jī)。根據(jù)本公開,源設(shè)備12的視頻編碼器20可被配置成按視頻幀的順序來逐幀地跟蹤將要編碼的視頻幀的每個(gè)塊的空間依存性。視頻編碼器20可在必要時(shí)強(qiáng)制對(duì)塊進(jìn)行幀內(nèi)編碼以保持空間依存性的時(shí)間傳播被約束到局部區(qū)劃,并且由此在視頻解碼器30被配置成支持局部化、僅ROI解碼的情況下支持該塊的可解碼性。所解說的系統(tǒng)10僅是示例性的。在一些方面,本公開的這些技術(shù)可以由支持幀間編碼和幀內(nèi)編碼技術(shù)的任何編碼設(shè)備來執(zhí)行。源設(shè)備12僅是此類編碼設(shè)備的一個(gè)示例。在其他方面,本公開中所描述的技術(shù)可以由解碼設(shè)備來執(zhí)行。例如,解碼設(shè)備可被配置成支持視頻幀的局部化解碼例如以用于僅ROI解碼。根據(jù)本公開并且如在下文更詳細(xì)地描述的,視頻編碼器20可存儲(chǔ)被編碼的視頻幀的每個(gè)塊的時(shí)間空間依存性。作為示例,視頻編碼器20可保持指示幀中的每個(gè)塊用于幀間編碼所依賴的幀的數(shù)目的信息。時(shí)間空間依存性信息可以數(shù)據(jù)庫(kù)、查找表、鏈表、散列表、 樹、二叉樹、或任何其他類型的數(shù)據(jù)結(jié)構(gòu)的形式被存儲(chǔ)在諸如存儲(chǔ)器之類的存儲(chǔ)設(shè)備中。在先前幀中的塊可用作要編碼的當(dāng)前塊的幀間編碼的參考或“預(yù)測(cè)”塊的意義上,該當(dāng)前塊可依存于該先前幀中的該塊。在當(dāng)前塊的空間范圍內(nèi)的數(shù)個(gè)塊可以是用作預(yù)測(cè)塊的候選的意義上,此依存性可以是空間的。在一些情形中,當(dāng)使用多個(gè)參考幀時(shí),例如在H. 264編碼的情形中,當(dāng)前塊可能依存于多個(gè)可能參考幀之一中的塊。幀是以時(shí)間順序呈現(xiàn)的。對(duì)于幀間編碼,當(dāng)前幀(例如幀N)中要被編碼的當(dāng)前塊可以在空間上依存于一個(gè)或多個(gè)先前幀(例如,幀Ν-1、Ν-2、Ν-3、Ν-4等)中的第一參考?jí)K。 而該第一參考?jí)K又可以在空間上依存于不同幀中的第二參考?jí)K,另一幀中的該第二參考?jí)K又可以在空間上依存于再一幀中的第三參考?jí)K,等等??臻g依存性的時(shí)間傳播是當(dāng)前幀與用于對(duì)編碼該當(dāng)前塊所需要的任何參考?jí)K進(jìn)行幀間編碼的最早幀之間的時(shí)間范圍的函數(shù)。 作為示例,如果幀N中的經(jīng)編碼塊依存于幀N-I中的參考?jí)K進(jìn)行幀間編碼,幀N-I中的該參考?jí)K依存于幀N-2中的另一參考?jí)K進(jìn)行幀間編碼,但是幀N-2中的該參考?jí)K是幀內(nèi)編碼的, 則幀N中的該塊的時(shí)間空間依存性值為2。因此,先前視頻幀中候選參考視頻塊所依存的塊的數(shù)目定義時(shí)間空間依存性值。 在判斷是使用幀間編碼模式還是幀內(nèi)編碼模式來編碼塊時(shí),視頻編碼器20可查詢數(shù)據(jù)庫(kù)并將一組候選參考?jí)K中每個(gè)候選參考?jí)K的時(shí)間空間依存性值與閾值作比較。候選參考?jí)K可以是先前經(jīng)編碼幀中在空間上駐留在要編碼的塊的運(yùn)動(dòng)估計(jì)搜索范圍內(nèi)的塊。如果所有候選參考?jí)K的時(shí)間空間依存性值都超過該閾值,則視頻編碼器20選擇幀內(nèi)編碼作為當(dāng)前塊的編碼模式,由此限制當(dāng)前塊的空間依存性的時(shí)間傳播。如果至少一個(gè)塊的時(shí)間空間依存性值不超過該閾值,則視頻編碼器20不強(qiáng)制幀內(nèi)編碼,并且基于諸如幀內(nèi)刷新(IR)率、 運(yùn)動(dòng)補(bǔ)償所指示的編碼失真、和/或可用編碼比特率之類的其他因素來對(duì)該塊作出模式?jīng)Q策。一般而言,源設(shè)備12生成用于傳送給目的設(shè)備14的經(jīng)編碼視頻數(shù)據(jù)。然而,在一些情形中,設(shè)備12、14可以按基本上對(duì)稱的方式工作。例如,設(shè)備12、14中的每個(gè)設(shè)備可包括視頻編碼和解碼組件。因此,系統(tǒng)10可以支持視頻設(shè)備12、14之間例如對(duì)視頻流送、視頻回放、視頻廣播、或視頻電話的單向或雙向視頻傳送。在其他情形中,視頻設(shè)備14可被配置成簡(jiǎn)單地接收視頻廣播或視頻流送,或者要么支持視頻回放。源設(shè)備12的視頻源18可包括視頻捕捉設(shè)備(諸如攝像機(jī))、包含先前捕捉到的視頻的視頻存檔、或者來自視頻內(nèi)容供應(yīng)商的視頻饋送。作為另一個(gè)替換方案,視頻源18可以生成基于計(jì)算機(jī)圖形的數(shù)據(jù)作為源視頻,或者現(xiàn)場(chǎng)視頻、存檔視頻與計(jì)算機(jī)生成的視頻的組合。在一些情形中,如果視頻源18包括攝像機(jī),那么源設(shè)備12和目的設(shè)備14可以構(gòu)成所謂的相機(jī)電話或視頻電話。在每一情形中,所捕捉的、預(yù)先捕捉的、或者計(jì)算機(jī)生成的視頻可被視頻編碼器20編碼。在其他情形中,源設(shè)備12可以是視頻流送或視頻廣播設(shè)備。 經(jīng)編碼視頻可由調(diào)制解調(diào)器22根據(jù)諸如碼分多址(CDMA)之類的通信標(biāo)準(zhǔn)或另一通信標(biāo)準(zhǔn)或技術(shù)進(jìn)行調(diào)制,并經(jīng)由發(fā)射機(jī)M傳送給目的設(shè)備14。目的設(shè)備14的接收機(jī)經(jīng)由信道16接收信息,并且調(diào)制解調(diào)器觀解調(diào)收到的信息。像編碼過程一樣,視頻解碼器30執(zhí)行的解碼過程使用本公開的技術(shù)以支持改善的數(shù)據(jù)壓縮水平。解碼器30可支持對(duì)接收自源設(shè)備12的視頻數(shù)據(jù)的局部化、僅ROI解碼。該局部化、僅ROI解碼可通過編碼器20對(duì)空間依存性的時(shí)間傳播所施加的約束來支持。目的設(shè)備14可接受定義期望ROI的用戶輸入,并隨后指示視頻解碼器30執(zhí)行對(duì)與該ROI對(duì)應(yīng)的塊的局部化解碼。解碼器30可避免解碼在該ROI之外的塊,并且可丟棄對(duì)應(yīng)這些塊的數(shù)據(jù)。顯示設(shè)備32向用戶顯示經(jīng)解碼視頻數(shù)據(jù)并可包括各種顯示設(shè)備中的任何一種,諸如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器、或其他類型的顯示設(shè)備。在圖1的示例中,通信信道16可包括任何無(wú)線或有線通信介質(zhì),諸如射頻(RF)頻譜或者一條或更多條物理傳輸線,或者無(wú)線和有線介質(zhì)的任何組合。通信信道16可以構(gòu)成基于分組的網(wǎng)絡(luò)的一部分,諸如局域網(wǎng)、廣域網(wǎng)或者諸如因特網(wǎng)之類的全球網(wǎng)絡(luò)。通信信道16 —般表示用于從源設(shè)備12向目的設(shè)備14傳送視頻數(shù)據(jù)的任何適宜的通信介質(zhì)或者不同通信介質(zhì)的集合。視頻編碼器20和視頻解碼器30可根據(jù)各種視頻壓縮標(biāo)準(zhǔn)來操作,這些標(biāo)準(zhǔn)包括 ITU-T H. 264標(biāo)準(zhǔn)(替換地稱之為MPEG-4,第10部分,高級(jí)視頻編碼(AVC))、以及由運(yùn)動(dòng)圖像專家組(MPEG)所定義的MPEG-l、MPGE-2和MPEG-4中的那些標(biāo)準(zhǔn)、ITU-T H. 263標(biāo)準(zhǔn)、運(yùn)動(dòng)圖像和電視工程師協(xié)會(huì)(SMPTE) 421M視頻CODEC標(biāo)準(zhǔn)(常稱之為“VC-1,,)、由音頻視頻編碼標(biāo)準(zhǔn)中國(guó)工作組(常稱之為“AVS”)定義的標(biāo)準(zhǔn)、以及由標(biāo)準(zhǔn)團(tuán)體定義或由組織開發(fā)的作為專有標(biāo)準(zhǔn)的任何其他視頻編碼標(biāo)準(zhǔn)。盡管未在圖1中示出,但是在一些方面,視頻編碼器20和視頻解碼器30可以分別整合有音頻編碼器和解碼器,并且可包括恰適的MUX-DEMUX (復(fù)用-分用)單元或其他硬件和軟件以處置共同數(shù)據(jù)流或分開數(shù)據(jù)流中的音頻和視頻兩者的編碼。若適用,則MUX-DEMUX 單元可遵循ITU H. 223復(fù)用器協(xié)議、或者諸如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)之類的其他協(xié)議。ITU H. ^4/MPEG-4第10部分AVC標(biāo)準(zhǔn)是由ITU-T視頻編碼專家組(VCEG)與ISO/ IEC運(yùn)動(dòng)圖像專家組(MPEG) —起制定的作為被稱為聯(lián)合視頻小組(JVT)的集體伙伴的產(chǎn)物。在一些方面,本公開中所描述的技術(shù)可被應(yīng)用于一般遵循H. 264標(biāo)準(zhǔn)的設(shè)備。在由 ITU-T研究組于2005年3月作出的ITU-T推薦H.沈4“用于一般視聽服務(wù)的高級(jí)視頻編碼” 中描述H. 264標(biāo)準(zhǔn),其在本文中可被稱為H. 264標(biāo)準(zhǔn)或H. 264規(guī)范、或者H. 264/AVC標(biāo)準(zhǔn)或規(guī)范。聯(lián)合視頻小組(JVT)繼續(xù)從事HJ64/AVC的擴(kuò)展。視頻編碼器20和視頻解碼器30各自可被實(shí)現(xiàn)為一個(gè)或更多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、分立邏輯、軟件、硬件、 固件或其任何組合。視頻編碼器20和視頻解碼器30中的每一者可被納入一個(gè)或多個(gè)編碼器或解碼器,該一個(gè)或多個(gè)編碼器或解碼器中的任何一者可被整合為各個(gè)數(shù)字視頻設(shè)備 (諸如移動(dòng)設(shè)備、訂戶設(shè)備、廣播設(shè)備、服務(wù)器或類似物)中的組合編碼器/解碼器(CODEC) 的一部分。視頻序列包括一系列視頻幀。在一些情形中,視頻序列可被安排成圖像群(GOP)。 視頻編碼器20對(duì)個(gè)體視頻幀內(nèi)的視頻塊操作以編碼視頻數(shù)據(jù)。這些視頻塊可以具有固定的或變化的大小,并且可以根據(jù)指定的編碼標(biāo)準(zhǔn)而大小不同。每個(gè)視頻幀可包括一系列片斷。每個(gè)片斷可包括一系列宏塊,這些宏塊可被安排成甚至更小的塊。宏塊典型地是指16x16的數(shù)據(jù)塊。ITU-T !1.264標(biāo)準(zhǔn)支持各種塊大小(諸如針對(duì)亮度分量的16116、8訪或4x4和針對(duì)色度分量的8x8)的幀內(nèi)預(yù)測(cè),以及支持各種塊大小(諸如針對(duì)亮度分量的 16xl6、16x8、8xl6、8x8、8x4、4x8和虹4以及針對(duì)色度分量的相應(yīng)經(jīng)縮放大小)的幀間預(yù)測(cè)。在本公開中,術(shù)語(yǔ)視頻塊可指視頻幀中的像素塊,并且可以是宏塊、或者是更小或更大的塊。圖2是解說視頻編碼器20的示例的框圖,視頻編碼器20包括執(zhí)行本公開的技術(shù)以基于將被用于對(duì)當(dāng)前視頻塊進(jìn)行編碼的候選參考?jí)K的時(shí)間空間依存性(TSD)值來選擇編碼模式(即,幀內(nèi)還是幀間)的預(yù)測(cè)單元42。對(duì)于每個(gè)要編碼的視頻塊,視頻編碼器20 確定候選視頻塊的TSD。即,對(duì)于視頻幀的每個(gè)塊,編碼器維持一個(gè)或多個(gè)先前視頻幀中候選參考視頻塊所依存的一個(gè)或多個(gè)視頻塊的時(shí)間空間依存性值。編碼器可將此依存性維持在例如TSD存儲(chǔ)設(shè)備中。
如圖2中所示,視頻編碼器20接收視頻幀內(nèi)要被編碼的當(dāng)前視頻塊40。在圖2的示例中,視頻編碼器20包括預(yù)測(cè)單元42、參考幀存儲(chǔ)44、時(shí)間空間依存性(TSD)存儲(chǔ)設(shè)備 45、塊變換單元46、量化單元48、逆量化單元50、逆變換單元52、以及熵編碼單元M。還可以包括用于對(duì)塊邊界進(jìn)行濾波以移除區(qū)塊偽像的解塊濾波器(未示出)。視頻編碼器20還包括加法器56和加法器58。對(duì)于幀間編碼,預(yù)測(cè)單元42將要編碼的當(dāng)前視頻塊40與一個(gè)或多個(gè)視頻參考幀中的各種候選參考?jí)K相比較。對(duì)于幀內(nèi)編碼,預(yù)測(cè)單元42從同一經(jīng)編碼幀的已經(jīng)編碼的鄰近視頻塊來預(yù)測(cè)要編碼的視頻塊。所預(yù)測(cè)數(shù)據(jù)可從參考幀存儲(chǔ)44中取出,參考幀存儲(chǔ)44 可包括任何類型的存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)設(shè)備以存儲(chǔ)從先前經(jīng)編碼的塊重構(gòu)出的視頻塊。預(yù)測(cè)單元42可生成預(yù)測(cè)模式和運(yùn)動(dòng)向量,運(yùn)動(dòng)向量包括可被用于標(biāo)識(shí)用來編碼當(dāng)前視頻塊的預(yù)測(cè)塊的語(yǔ)法元素。對(duì)于幀內(nèi)編碼,預(yù)測(cè)單元42可包括空間預(yù)測(cè)單元。對(duì)于幀間編碼,預(yù)測(cè)單元42可包括如下文關(guān)于圖4更加詳細(xì)地示出和描述的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償單元。預(yù)測(cè)單元42進(jìn)一步包括模式選擇單元(未在圖2中示出)。預(yù)測(cè)單元42的模式選擇單元選擇在幀級(jí)別或塊級(jí)別上進(jìn)行幀間編碼或幀內(nèi)編碼。下文參照?qǐng)D4更詳細(xì)地描述并且與本公開的技術(shù)相一致的,模式選擇單元可在用于編碼當(dāng)前塊的所有候選參考?jí)K的時(shí)間空間依存性值都超過閾值的情況下選擇幀內(nèi)編碼來編碼當(dāng)前塊,并且可在這些塊的時(shí)間空間依存性值不超過該閾值的情況下根據(jù)如下所述的其他因素選擇幀間編碼對(duì)塊進(jìn)行編碼。或者,不將所有候選參考?jí)K的TSD值與閾值作比較,而是可以將每個(gè)候選參考?jí)K的TSD 值與將由于該當(dāng)前塊的幀間編碼而產(chǎn)生的一個(gè)附加依存性相加并隨后可將該總和與該閾值作比較。然而,在一些情形中,即使在時(shí)間空間依存性的基礎(chǔ)將選擇幀間編碼,但是模式選擇單元可能基于諸如頂率、失真或可用比特率等其他考慮而選擇幀內(nèi)編碼。視頻編碼器20通過從正在編碼的原始(當(dāng)前)視頻塊扣除由預(yù)測(cè)單元42產(chǎn)生的預(yù)測(cè)塊來形成殘差視頻塊。該預(yù)測(cè)塊是事實(shí)上被選擇用于當(dāng)前塊的幀間編碼的候選參考?jí)K。在假定滿足時(shí)間空間依存性限制的情況下,該預(yù)測(cè)塊可被選擇為與要編碼的塊匹配最緊密的候選參考?jí)K。加法器58表示執(zhí)行此扣除操作的單元或模塊。塊變換單元46向該殘差塊應(yīng)用諸如離散余弦變換(DCT)或概念上相類似的變換之類的變換,以產(chǎn)生包括殘差變換塊系數(shù)的視頻塊。例如,塊變換單元46可執(zhí)行H. 264標(biāo)準(zhǔn)所定義的在概念上與DCT相類似的其他變換。量化單元48量化這些殘差變換系數(shù)以進(jìn)一步降低比特率。量化單元48例如可限制用于編碼每個(gè)系數(shù)的比特?cái)?shù)目。在量化之后,掃描單元(未示出)將經(jīng)量化的系數(shù)塊從二維表示掃描成一維向量。隨后,在此掃描過程之后,熵編碼單元M根據(jù)諸如CAVLC或CABAC 之類的熵編碼方法來編碼經(jīng)量化的變換系數(shù)以進(jìn)一步壓縮數(shù)據(jù)。在由熵編碼單元M進(jìn)行熵編碼之后,經(jīng)編碼視頻可被傳送至另一設(shè)備或被存檔以用于之后傳送或檢索。逆量化單元50和逆變換單元52分別應(yīng)用逆量化和逆變換以在像素域中重構(gòu)殘差塊。加法器56將重構(gòu)出的殘差塊添加至由預(yù)測(cè)單元42產(chǎn)生的預(yù)測(cè)塊以產(chǎn)生重構(gòu)出的視頻塊供存儲(chǔ)在參考幀存儲(chǔ)44中。若希望的話,重構(gòu)出的視頻塊還可以經(jīng)過解塊濾波器單元(未示出),然后再存儲(chǔ)在參考幀存儲(chǔ)44中。重構(gòu)出的視頻塊可被預(yù)測(cè)單元 42用作參考?jí)K以對(duì)后續(xù)視頻幀中的塊進(jìn)行幀間編碼或?qū)ν唤?jīng)編碼單元內(nèi)的未來鄰近塊進(jìn)行幀內(nèi)編碼。
圖3是解說視頻解碼器30的示例的框圖,視頻解碼器30解碼以本文描述的方式編碼的視頻序列。視頻解碼器30包括熵解碼單元60,其執(zhí)行由圖2的熵編碼單元M所執(zhí)行的編碼的反解碼功能。視頻解碼器30還包括ROI選擇單元63。ROI選擇單元63基于用戶輸入或應(yīng)用命令來定義ROI并集中解碼特定區(qū)劃。未被定義在ROI內(nèi)的幀部分不被解碼。 若要執(zhí)行縮放功能,為了填充設(shè)備的顯示,可使用通過內(nèi)插的分辨率向上縮放。此類向上縮放可以在解碼之后在像素域內(nèi)實(shí)現(xiàn)。視頻解碼器30可以對(duì)視頻幀內(nèi)的諸塊執(zhí)行幀內(nèi)解碼和幀間解碼。在圖3的示例中,視頻解碼器30還包括預(yù)測(cè)單元62、逆量化單元64、逆變換單元66和參考幀存儲(chǔ)68。視頻解碼器30還包括加法器70??扇芜x地,視頻解碼器30還可包括對(duì)加法器70的輸出進(jìn)行濾波的解塊濾波器72。對(duì)于幀內(nèi)編碼,預(yù)測(cè)單元62可包括空間預(yù)測(cè)單元,而對(duì)于幀間編碼,預(yù)測(cè)單元62 可包括運(yùn)動(dòng)補(bǔ)償單元。逆量化單元64執(zhí)行逆量化,而逆變換單元66執(zhí)行逆變換以將視頻塊的系數(shù)改回到像素域。加法器70將來自單元62的預(yù)測(cè)塊與來自逆變換單元66的重構(gòu)出的殘差塊相組合以生成重構(gòu)出的塊,該塊被存儲(chǔ)在參考幀存儲(chǔ)68中。若希望的話,重構(gòu)出的視頻塊還可以經(jīng)過解塊濾波器單元72,然后再存儲(chǔ)在參考幀存儲(chǔ)68中。經(jīng)解碼視頻從參考幀存儲(chǔ)68被輸出,并且還可被反饋到預(yù)測(cè)單元62以用于后續(xù)預(yù)測(cè)。使用本公開中描述的技術(shù),進(jìn)入視頻解碼器30的經(jīng)編碼視頻被構(gòu)造成空間依存性的時(shí)間傳播可受到約束。因此,視頻解碼器30可以使用先前解碼的ROI塊以連續(xù)解碼模式操作而不需要退出編碼環(huán)并解碼沒有其他用途只是為了解碼具有大時(shí)間空間依存性的塊的非ROI塊。盡管視頻解碼器可以退出編碼環(huán)并解碼存儲(chǔ)在參考幀存儲(chǔ)內(nèi)的某些非ROI 塊,但是這沒有連續(xù)解碼模式那樣高效。圖4是解說預(yù)測(cè)單元42的示例的框圖。如圖4中所示,預(yù)測(cè)單元42包括幀間編碼器(INTER)80、幀內(nèi)編碼器(INTRA)82、和模式選擇單元84。從幀間編碼器80或幀內(nèi)編碼器82獲得幀間或幀內(nèi)預(yù)測(cè)幀(“預(yù)測(cè)幀”)。幀間編碼器80例如根據(jù)MPEG-4或H. 264 壓縮方法執(zhí)行對(duì)傳入幀而的幀間編碼。如圖4中所示,幀間編碼器80包括運(yùn)動(dòng)估計(jì)(ME) 單元86和運(yùn)動(dòng)補(bǔ)償(MC)單元88以支持傳入幀1 相對(duì)于先前經(jīng)編碼幀F(xiàn)' n_l、或先前經(jīng)編碼幀F(xiàn)' n-2, F' n-3....F' η-χ的標(biāo)準(zhǔn)幀間編碼。尤其,通過源于一個(gè)或多個(gè)先前幀 F' η-χ的經(jīng)運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)形成幀間預(yù)測(cè)。先前幀F(xiàn)' n-2,F' n-3...F' η-χ可先前被編碼并被重構(gòu)以產(chǎn)生F' η-1。幀內(nèi)編碼器82執(zhí)行對(duì)傳入視頻幀1 的幀內(nèi)編碼以產(chǎn)生幀內(nèi)預(yù)測(cè)。幀內(nèi)預(yù)測(cè)是從當(dāng)前幀而當(dāng)中先前已經(jīng)被編碼、被解碼并被重構(gòu)以形成重構(gòu)出的幀F(xiàn)' η的樣本形成的。在視頻編碼器20正操作在幀內(nèi)模式中時(shí),得到的幀內(nèi)預(yù)測(cè)被應(yīng)用到圖2中所示的加法器58。 幀內(nèi)編碼器82可執(zhí)行幀內(nèi)編碼以生成I幀、或者P幀內(nèi)經(jīng)幀內(nèi)編碼選擇的視頻塊以支持幀內(nèi)刷新(IR)。模式選擇單元84例如在逐幀或逐塊的基礎(chǔ)上選擇性地在幀間編碼和幀內(nèi)編碼間切換。尤其,模式選擇單元84在幀級(jí)別或塊級(jí)別上選擇幀間編碼器80或幀內(nèi)編碼器82的輸出。以此方式,模式選擇單元84確定應(yīng)用至圖2的加法器58的預(yù)測(cè)塊將是幀間編碼的還是幀內(nèi)編碼的。模式選擇單元84可使用一個(gè)或多個(gè)因素來判斷對(duì)塊使用幀內(nèi)編碼還是幀間編碼。例如,模式選擇單元84可基于編碼的可用比特率、信道損耗概率、失真(D)和幀內(nèi)刷新 (IR)率來作出模式?jīng)Q策。另外,根據(jù)本公開,模式選擇單元84可使用時(shí)間空間依存性(TSD)值。相比于幀間編碼模式,幀內(nèi)編碼模式需要編碼明顯更多的信息、以及因而要編碼更多的比特。幀內(nèi)編碼幀的傳輸由此導(dǎo)致較大的比特率尖峰。不對(duì)整個(gè)幀進(jìn)行幀內(nèi)編碼而是代之以將整個(gè)幀的幀內(nèi)編碼分布在若干幀上可能是可期望的。即,通過僅對(duì)當(dāng)前幀的一些塊進(jìn)行幀內(nèi)編碼并隨后對(duì)后續(xù)幀中的其余塊進(jìn)行幀內(nèi)編碼,可以降低峰均比特率。這樣, 模式選擇單元84可在進(jìn)行編碼決策時(shí)將所期望的比特率和可用帶寬考慮在內(nèi)。除了編碼比特率之外,在一些示例中,模式選擇單元84還可使用信道損耗的概率來作出編碼決策。所估計(jì)的信道損耗概率對(duì)當(dāng)前幀在經(jīng)過信道16傳送時(shí)將被丟棄的可能性進(jìn)行量化。隨著信道損耗可能性的增大,可能更希望對(duì)幀或塊進(jìn)行幀內(nèi)編碼。此外,模式選擇單元84還可使用幀內(nèi)刷新(IR)率來作出編碼決策。為了限制信道感生的差錯(cuò)從一個(gè)幀傳播到另一幀,視頻編碼器典型地應(yīng)用頂技術(shù)。根據(jù)頂技術(shù),預(yù)測(cè)幀內(nèi)的塊被選擇性地幀內(nèi)編碼而不是幀間編碼。經(jīng)幀內(nèi)編碼的塊可以改善差錯(cuò)彈性,但是要求增加必須傳送的比特的數(shù)目。因此,頂率在差錯(cuò)彈性和帶寬效率兩方面影響編碼性能。頂率一般確定將被幀內(nèi)刷新的塊的數(shù)目,并且可在幀級(jí)別或塊級(jí)別上應(yīng)用。頂率可基于視頻內(nèi)容、或視頻內(nèi)容與信道條件的組合來確定。例如,頂率可基于衡量所估計(jì)的信道損耗概率、當(dāng)前幀與另一幀之間的幀-幀變化、以及當(dāng)前幀的紋理信息的組合度量來確定。一般而言,若頂率指示應(yīng)對(duì)塊進(jìn)行幀內(nèi)編碼,則模式選擇單元84可選擇幀內(nèi)編碼模式而無(wú)需評(píng)價(jià)其他因素。如上所提及的,模式選擇單元84可基于失真演算來作出編碼模式?jīng)Q策。失真是指原始?jí)K與預(yù)測(cè)塊之間的誤差。若對(duì)塊進(jìn)行幀間編碼導(dǎo)致超過失真閾值的失真程度,則模式選擇單元84可決定使用幀內(nèi)編碼來對(duì)該塊進(jìn)行編碼。失真閾值是所期望的圖像質(zhì)量的函數(shù)。根據(jù)本公開,可被模式選擇單元84用來進(jìn)行編碼決策的另一因素是可用于對(duì)當(dāng)前視頻塊進(jìn)行幀間編碼的候選參考?jí)K的時(shí)間空間依存性(TSD)值。候選視頻塊的時(shí)間空間依存性值可被模式選擇單元84用來判斷使用幀間編碼技術(shù)還是幀內(nèi)編碼技術(shù)來對(duì)塊進(jìn)行編碼。可在例如模式選擇單元84可訪問的數(shù)據(jù)庫(kù)中跟蹤視頻塊的空間依存性的時(shí)間傳播 (下文參照?qǐng)D5-7詳細(xì)解釋)。模式選擇單元將每個(gè)候選視頻塊的時(shí)間空間依存性值與依存性閾值85相比較,并根據(jù)該比較結(jié)果可判斷對(duì)當(dāng)前塊使用幀內(nèi)編碼。依存性閾值85可被存儲(chǔ)在與模式選擇單元84處在通信中的時(shí)間空間依存性閾值存儲(chǔ)器中。應(yīng)注意,即使模式選擇單元84基于依存性閾值判斷不對(duì)當(dāng)前塊使用幀內(nèi)編碼,模式選擇單元84也可能基于諸如頂率、編碼比特率、失真、和信道損耗概率等其他因素而選擇對(duì)當(dāng)前塊使用幀內(nèi)編碼。圖5是解說視頻編碼中空間依存性的時(shí)間傳播的圖示。圖5解說具有個(gè)塊的大小并被編碼為單個(gè)片斷的示例視頻幀。當(dāng)前視頻幀的任何塊都可被用作對(duì)下一幀中的相同位置上(即,同處一處)或直接毗鄰的位置上的塊進(jìn)行預(yù)測(cè)編碼的參考?jí)K。例如,幀N 描繪了單個(gè)經(jīng)編碼塊、或即中心塊100。幀N中的經(jīng)編碼的中心塊100可被用于預(yù)測(cè)在102 處示出的幀N+1中3x3 = 9個(gè)直接毗鄰和同處一處的塊中的任何塊。隨后,幀N+1中的這 9個(gè)塊可被用于預(yù)測(cè)在104示出的幀N+2中的另一組直接毗鄰的塊和同處一處的塊,從而得到已基于幀N中的塊100被編碼的切5 = 25個(gè)塊的群。類似地,在104所示的幀N+2中的這25個(gè)塊可被用于預(yù)測(cè)在106所示的幀N+3中的另一組直接毗鄰和同處一處的塊,從而得到7x7 = 49個(gè)塊的群。然后,在106所示的幀N+3中的這49個(gè)塊可被用于預(yù)測(cè)在108 示出的幀N+4中的另一組直接毗鄰的塊,從而得到已基于幀N中的塊100被編碼的虹9 = 81個(gè)塊的群。圖5因此示出了在視頻編碼時(shí)空間(即,同一幀中的毗鄰塊)依存性的時(shí)間 (即,在多個(gè)幀上的)傳播。圖5中所解說的在視頻編碼過程中視頻塊的空間依存性的時(shí)間或幀間傳播對(duì)視頻解碼器施加了要求。具體而言,視頻解碼器被要求有以往的幀可用以便解碼當(dāng)前幀。這在圖6中示出。圖6是解說視頻解碼中空間依存性的時(shí)間要求的圖示。圖6實(shí)質(zhì)上是圖5 的逆過程。如圖6中所示,解碼幀N的中心塊100可能要求先前幀N-I中所示的3x3 = 9 個(gè)塊中的任意塊可為解碼器所用。為了可為解碼器所用,先前幀N-I中的這9個(gè)塊可能要求幀N-2中的切5 = 25個(gè)塊中的任意塊也可為解碼器所用。并且,幀N-3中的這25個(gè)塊可能要求幀N-3中的7x7 = 49個(gè)塊中的任意塊也可為解碼器所用。最后,幀N-3中的這49 個(gè)塊可能要求幀N-4中的9x9 = 81個(gè)塊中的任意塊也可為解碼器所用。因此,根據(jù)考慮毗鄰塊的運(yùn)動(dòng)估計(jì)搜索范圍,幀N-3中的塊形成幀N-2中的塊的可能候選參考?jí)K,幀N-2中的塊形成幀N-I中的塊的可能候選參考?jí)K,以及幀N-I中的塊形成幀N中的塊的可能候選參考?jí)K。視頻塊的空間依存性的幀間傳播的問題還可能因?yàn)檫@些塊的任何幀內(nèi)空間依存性而進(jìn)一步復(fù)雜化,如圖7中所示。圖7是解說在視頻解碼中圖6中所示的空間依存性的時(shí)間要求與幀內(nèi)空間依存性相組合的圖示。圖7示出與幀N中的中心塊100直接毗鄰的8 個(gè)塊中的任何塊也可被用于預(yù)測(cè)解碼。中心塊100因此可使用同一幀中直接毗鄰的塊(幀內(nèi)空間依存性)或使用先前幀中直接毗鄰或同處一處的塊(幀間空間依存性)來解碼。然而實(shí)際上由于塊編碼的順序的原因,不可能所有8個(gè)塊都將被用于解碼。圖5-7解說從經(jīng)編碼視頻來解碼連貫的幀上的一些塊無(wú)法通過在逐幀的基礎(chǔ)上單單解碼這些塊而簡(jiǎn)單地發(fā)生。即,不可能連續(xù)地解碼使用現(xiàn)有編碼方法的當(dāng)前幀的僅一部分。而是,為了解碼當(dāng)前幀的僅一部分,解碼器一般將需要有在時(shí)間上一些幀之前的整個(gè)幀可用。本公開的一個(gè)示例技術(shù)可通過為視頻編碼器提供跟蹤每個(gè)經(jīng)編碼視頻塊的依存性并約束該依存性的能力來降低空間依存性的時(shí)間傳播的效應(yīng)。圖8A是解說如常規(guī)編碼技術(shù)中的具有無(wú)約束依存性范圍的視頻幀的比較示圖和如本公開的一個(gè)示例中的具有約束依存性范圍的視頻幀的示圖的圖示。圖8A使用連貫幀上的三種空間依存性范圍傳播速率(分別為線性、迅猛、以及適度)的三種不同情形(左、中、和右)來解說在時(shí)間上受約束的空間依存性的概念。下端和上端的示圖集皆示出以宏塊(MB)數(shù)目計(jì)的依存性范圍關(guān)于幀號(hào)如何變化。在每一幅示圖中,幀號(hào)1始于幀內(nèi)編碼的MB。這樣,所有依存性被復(fù)位以使得幀1中的所有塊不依存于任何先前幀。上端的示圖集示出在無(wú)約束的依存性范圍的情況下,時(shí)間空間依存性的擴(kuò)展最終分別由幀號(hào)6、4和12到達(dá)幀邊緣。下端示圖集描繪無(wú)論何時(shí)只要需要保持空間依存性被約束在預(yù)定范圍內(nèi)那么就使用幀內(nèi)編碼。在下端示圖集的左邊情形中,到幀號(hào)4就已達(dá)到約束依存性范圍。因此,執(zhí)行幀內(nèi)編碼由此復(fù)位依存性范圍,如幀5中所見的。在下端示圖集的中間情形中,在幀1、3、5、7、8和11執(zhí)行幀內(nèi)編碼。由于在此示例中強(qiáng)制如此頻繁地執(zhí)行幀內(nèi)編碼,依存性甚至沒有被允許傳播到約束依存性范圍,如以MB數(shù)目計(jì)的依存性范圍最終從未達(dá)到約束依存性范圍所示的。應(yīng)該清楚,較嚴(yán)厲的依存性約束導(dǎo)致較多的幀內(nèi)編碼,由此降低了視頻編碼的效率。應(yīng)注意,由于ROI的大小可能是未知的,所以有必要選擇基于各種因素的固定或可變的預(yù)定范圍、或TSD值,例如,這些因素諸如有目的設(shè)備上的顯示器設(shè)備的大小、編碼器的期望效率、以及可允許的圖像質(zhì)量降級(jí)的量。圖8B與圖8A的示圖類似,描繪了連貫幀上的三種空間依存性范圍傳播速率(分別為線性、迅猛、以及適度)的三種不同情形(左、中、和右)。上端和下端的示圖集皆示出以宏塊(MB)數(shù)目計(jì)的依存性范圍關(guān)于幀號(hào)如何變化。在每一幅示圖中,幀號(hào)1始于幀內(nèi)編碼的MB。這樣,如圖8A中那樣,所有依存性被復(fù)位。然而,在圖8B中,上端的示圖已被修改以包括傳統(tǒng)視頻編碼器典型要求的周期性幀內(nèi)編碼。例如,圖8B中的上端示圖集中的左邊示圖示出在幀6和11執(zhí)行幀內(nèi)編碼,由此防止時(shí)間空間依存性擴(kuò)展到幀邊緣,但是仍導(dǎo)致了相比于如下端示圖集中的左邊示圖所示的使用本公開所描述技術(shù)而具有更高的、以MB 數(shù)目計(jì)的依存性范圍的幀。上端示圖集中的中間示圖示出在迅猛速率的情況下,時(shí)間空間依存性的擴(kuò)展最終在執(zhí)行幀內(nèi)編碼之前在幀4和5達(dá)到幀邊緣并且隨后在再次執(zhí)行幀內(nèi)編碼之前在幀9和10再次達(dá)到幀邊緣。相比于對(duì)塊進(jìn)行周期性幀內(nèi)編碼的視頻編碼,取決于視頻內(nèi)容,用于約束空間依存性的附加幀內(nèi)編碼的成本不會(huì)過多。圖9是概念性地解說用于根據(jù)本公開在時(shí)間上約束空間依存性的示例性視頻編碼器架構(gòu)和操作的圖示。圖9解說視頻編碼器20在時(shí)間上約束空間依存性的示例功能性。 對(duì)于所有要被編碼的MB,視頻編碼器20的MB編碼環(huán)對(duì)用于預(yù)測(cè)的候選MB執(zhí)行依存性檢查。換言之,對(duì)于每個(gè)要編碼的視頻塊,視頻編碼器20確定候選視頻塊的時(shí)間空間依存性。 編碼器維持一個(gè)或多個(gè)先前視頻幀中候選視頻塊所依存的一個(gè)或多個(gè)視頻塊的時(shí)間空間依存性值。MB編碼環(huán)通過訪問MB時(shí)間空間依存性(TSD)數(shù)據(jù)庫(kù)來執(zhí)行依存性檢查。如上所提及的,時(shí)間空間依存性可以數(shù)據(jù)庫(kù)、查找表、鏈表、散列表、樹、二叉樹、或任何其他類型的數(shù)據(jù)結(jié)構(gòu)的形式被安排在諸如存儲(chǔ)器之類的存儲(chǔ)設(shè)備中。數(shù)據(jù)庫(kù)查找候選MB并檢查其各自的依存性。先前視頻幀中幀N中的候選視頻塊所依存的視頻塊的數(shù)目定義時(shí)間空間依存性值。盡管當(dāng)前視頻塊僅依存于一個(gè)候選塊,但該候選塊依存于另一個(gè)塊,而該另一個(gè)塊可能依存于其他塊,以此類推。數(shù)據(jù)庫(kù)返回不超過依存性范圍約束的合格MB。然后,MB編碼環(huán)判斷是否執(zhí)行幀間編碼或幀內(nèi)編碼、依存性搜索等等。最后,MB編碼環(huán)更新MB TSD數(shù)據(jù)庫(kù)。即,用所有被編碼的MB的新TSD值更新TSD數(shù)據(jù)庫(kù),從而在該MB之后被考慮作為另一 MB的候選參考MB的情況下允許編碼器檢索該MB的TSD值。應(yīng)注意,盡管圖9參照宏塊 (MB),但是本文描述并參照?qǐng)D9的技術(shù)可被用于一般視頻塊而不限于結(jié)合宏塊使用。僅出于解釋目的而非限制,圖9圖形地描繪了被考慮作為幀N中的塊的候選參考?jí)K的幀N-I中的塊200在數(shù)據(jù)庫(kù)45中被記錄為依存于在210所示的兩個(gè)塊。例如,這兩個(gè)塊210中的第一個(gè)可以來自N-2幀,并且這兩個(gè)塊210中的第二個(gè)可以來自N-3幀。類似地,N-I幀的塊202可以僅依存于在212所示的一個(gè)塊,其可能來自N-2幀。并且,塊204可能如圖9中所示的由于在214沒有與其相關(guān)聯(lián)的塊而沒有任何依存性。作為又一示例,塊 206可依存于在216所示的3個(gè)塊。例如,這三個(gè)塊可以來自先前經(jīng)解碼的幀N-2、N-3、和 N-4。以此方式,可被用于對(duì)當(dāng)前幀進(jìn)行幀間編碼的每個(gè)候選參考?jí)K的依存性被編碼器20保持在數(shù)據(jù)庫(kù)45中或者通過某個(gè)數(shù)據(jù)結(jié)構(gòu)、陣列、記錄集合等來保持。并且,基于先前視頻幀中候選視頻塊所依存的視頻塊的數(shù)目,可以演算出時(shí)間空間依存性值。仍參照?qǐng)D9,視頻編碼器20將候選塊的時(shí)間空間依存性值與時(shí)間空間依存性閾值相比較。具體地,視頻編碼器30可針對(duì)當(dāng)前塊而訪問數(shù)據(jù)庫(kù)45、檢索一個(gè)或多個(gè)候選塊的依存性、并將候選塊的依存性與時(shí)間空間依存性閾值相比較。例如,時(shí)間空間依存性閾值可已被預(yù)定為2。所以,若候選塊依存于兩個(gè)以上先前幀中的塊,則該候選塊的時(shí)間空間依存性過高,因?yàn)橐呀?jīng)超過了閾值2?;诖吮容^,編碼器20選擇對(duì)當(dāng)前視頻塊進(jìn)行幀內(nèi)編碼。 然而若未選擇幀內(nèi)編碼,則編碼器20使用“正?!本幋a模式?jīng)Q策。即,編碼器基于頂率、失真、編碼比特率、以及信道損耗概率來判斷是否對(duì)當(dāng)前塊進(jìn)行幀內(nèi)編碼。若合格的MB超過了依存性范圍或閾值,則編碼器考慮幀內(nèi)編碼。若合格的MB不超過依存性范圍或閾值,則時(shí)間空間依存性足夠低到服從于其他因素而對(duì)塊使用幀間編碼技術(shù)。下文直接描述了比較和選擇的示例。圖9的時(shí)間空間依存性數(shù)據(jù)庫(kù)指示塊200依存于兩個(gè)先前幀中的塊,塊202依存于一個(gè)先前幀中的塊,塊204沒有依存性,而塊206依存于三個(gè)先前幀中的塊。若時(shí)間空間依存性閾值為2,則候選塊200、202、和204具有低于閾值的依存性并因此可被用于編碼當(dāng)前塊。然而,塊206具有超過閾值的依存性并因此將不被用于編碼當(dāng)前塊。由于一些候選塊即塊200、202、和204不超過閾值,則編碼器將不會(huì)強(qiáng)制對(duì)當(dāng)前塊進(jìn)行幀內(nèi)編碼。相反,服從于其他因素,當(dāng)前塊可以被幀間編碼。一旦執(zhí)行了對(duì)幀N中的當(dāng)前塊的編碼,數(shù)據(jù)庫(kù)45中的時(shí)間空間依存性值被更新以使得可使用前述技術(shù)來對(duì)幀N+1進(jìn)行編碼。例如,若使用了幀間編碼,則在TSD數(shù)據(jù)庫(kù)45 中更新剛剛被編碼的塊的TSD值。在一些情形中,可能需要在TSD數(shù)據(jù)庫(kù)45中為剛剛編碼的塊創(chuàng)建條目——若先前沒有這樣的記錄存在。然而若強(qiáng)制對(duì)該塊幀內(nèi)編碼,則剛剛被編碼的該塊的依存性可被復(fù)位到0值,或者根據(jù)需要可被復(fù)位到某個(gè)其他值,以便反映它不再依存于先前幀中的塊。應(yīng)注意,在數(shù)據(jù)庫(kù)中塊的默認(rèn)時(shí)間空間依存性值為零。因此,當(dāng)編碼器最初開始產(chǎn)生時(shí)間空間依存性歷史時(shí),所有的塊都以0值開始。自該初始化狀態(tài)起,數(shù)據(jù)庫(kù)累積數(shù)據(jù)并產(chǎn)生幀中每個(gè)塊的歷史。時(shí)間空間依存性閾值可基于若干因素,例如包括目的設(shè)備上的顯示器設(shè)備的大小、編碼器的期望效率、以及可允許的圖像質(zhì)量降級(jí)的量。另外在一些示例中,閾值可以是預(yù)定的固定值。例如,可以預(yù)定沒有視頻塊將具有大于3的時(shí)間空間依存性。或者在至少一個(gè)示例中,閾值可以是可變的、或可調(diào)的,而不是固定值。例如,通過選取可調(diào)閾值,編碼器可針對(duì)ROI的高紋理區(qū)域(諸如臉部)將閾值調(diào)整到較低,并且可針對(duì)ROI的低紋理區(qū)域(像背景中的墻)將閾值調(diào)整到較高。以此方式, 一般對(duì)觀眾而言更有興趣的高紋理區(qū)域可具有比低紋理區(qū)域更高的視頻質(zhì)量。一般而言, 空間依存性范圍越大,視頻編碼的效率將越高。但是,對(duì)源自較大空間依存性的較寬空間區(qū)域的解碼可能導(dǎo)致較慢的平搖支持。因此,取決于不同視頻應(yīng)用的要求而允許閾值可變而非固定,可允許在視頻質(zhì)量和編碼效率之間進(jìn)行優(yōu)化。在上例中,視頻質(zhì)量和編碼效率間的平衡通過以較高視頻質(zhì)量編碼較高紋理區(qū)域以及以較低視頻質(zhì)量編碼低紋理區(qū)域來達(dá)成。如上所提及的,圖4的模式選擇單元84使用頂率來確定使用幀間編碼還是幀內(nèi)編碼來對(duì)塊進(jìn)行編碼。頂率一般確定將被幀內(nèi)刷新的塊的數(shù)目,并且可在幀級(jí)別或塊級(jí)別上應(yīng)用。頂率可基于視頻內(nèi)容、或視頻內(nèi)容與信道條件的組合來確定。本公開的至少一個(gè)示例技術(shù)將上述技術(shù)與頂率相組合以提高效率。例如,在試圖編碼幀N中的當(dāng)前塊“A”時(shí), 視頻編碼器可基于先前幀N-I中候選塊“B”的過大的時(shí)間空間依存性而判定塊“A”應(yīng)被幀內(nèi)編碼?,F(xiàn)在,在下一幀N+1中,可設(shè)置頂率以使得塊“A”將再次被幀內(nèi)編碼。清楚的是, 在一些實(shí)例中,如果塊“A”在先前幀中被幀內(nèi)編碼,則對(duì)幀N+1中的塊“A”進(jìn)行幀內(nèi)刷新可能是效率較低的。因此,可能希望基于是否先前已由于時(shí)間空間依存性約束而對(duì)塊進(jìn)行了幀內(nèi)編碼來調(diào)整頂率。在一些示例中,頂率控制單元也可與時(shí)間空間依存性數(shù)據(jù)庫(kù)處于通信中以使得可基于依存性來調(diào)整頂率控制。在至少一個(gè)示例中,模式選擇單元84可向頂率控制機(jī)構(gòu)提供反饋以使得若由于依存性約束原因而對(duì)塊進(jìn)行了幀內(nèi)編碼則可相應(yīng)地調(diào)整IR率。圖10是解說根據(jù)本公開的編碼模式確定方法的流程圖。在圖10的示例中,視頻編碼器確定視頻幀中一個(gè)或多個(gè)候選視頻塊的時(shí)間空間依存性040)。時(shí)間空間依存性定義先前視頻幀中候選視頻塊所依存的視頻塊的數(shù)目。并且,先前視頻幀中候選視頻塊所依存的視頻塊的數(shù)目定義時(shí)間空間依存性值。例如,幀N-I的候選塊可依存于幀N-2中的視頻塊,并且該視頻塊可依存于幀N-3中的視頻塊,該視頻塊可依存于幀N-4中的視頻塊。因此,候選塊具有為3的時(shí)間空間依存性值。隨后,視頻編碼器20將時(shí)間空間依存性值與時(shí)間空間依存性閾值相比較(M2)。例如,若時(shí)間空間依存性閾值是固定值2,則上例中候選塊的時(shí)間空間依存性將超過閾值。然后,視頻編碼器基于該比較選擇用于當(dāng)前視頻塊的編碼模式044)。若時(shí)間空間依存性值超過閾值,則視頻編碼器強(qiáng)制該當(dāng)前塊被幀內(nèi)編碼。若時(shí)間空間依存性不超過該閾值,則視頻編碼器不強(qiáng)制幀內(nèi)編碼,并且基于諸如幀內(nèi)刷新(IR) 率、運(yùn)動(dòng)補(bǔ)償所指示的編碼失真、和/或可用編碼比特率之類的其他因素來對(duì)該塊作出模式?jīng)Q策。圖11是解說根據(jù)本公開的另一編碼模式確定方法的流程圖。在圖11中的示例中, 設(shè)置塊的時(shí)間空間依存性閾值050)。視頻編碼器隨后選擇當(dāng)前幀中用于編碼的塊052)。 視頻編碼器訪問時(shí)間空間依存性存儲(chǔ)設(shè)備45Q54)并在存儲(chǔ)設(shè)備45中查詢一個(gè)或多個(gè)候選塊的依存性056)。時(shí)間空間依存性值被返回給視頻編碼器058)。視頻編碼器將返回的時(shí)間空間依存性與時(shí)間空間依存性閾值相比較(沈0)。若時(shí)間空間依存性超過該閾值則編碼器強(qiáng)制對(duì)該當(dāng)前塊進(jìn)行幀內(nèi)編碼(26 。然后,存儲(chǔ)設(shè)備45中的塊依存性被復(fù)位,并且在一些示例中,修改頂率064),并且視頻編碼器準(zhǔn)備選擇新的用于編碼的塊052)。若時(shí)間空間依存性不超過該閾值,則視頻編碼器不強(qiáng)制幀內(nèi)編碼,而是基于諸如幀內(nèi)刷新(IR) 率、運(yùn)動(dòng)補(bǔ)償所指示的編碼失真、和/或可用編碼比特率之類的其他因素來對(duì)該塊作出模式?jīng)Q策066)。然后,數(shù)據(jù)庫(kù)中的依存性被更新以反映基于先前幀中的塊對(duì)該塊進(jìn)行了編碼 (268)并且視頻編碼器準(zhǔn)備選擇新的用于編碼的塊052)。使用上述技術(shù),連續(xù)執(zhí)行局部化ROI視頻解碼是可能的,因?yàn)镽OI中的塊僅要求從先前幀有超出該ROI的預(yù)定范圍內(nèi)的經(jīng)解碼塊可用。并且,通過在所有視頻編解碼器都支持的用戶數(shù)據(jù)字段中嵌入塊位置查找表可以進(jìn)行對(duì)用于解碼和顯示的塊的隨機(jī)訪問。再次參照?qǐng)D3并且如上所提及的,ROI選擇單元63基于用戶輸入或應(yīng)用命令來定義ROI并集中解碼特定區(qū)劃。在一些示例中,未被定義在ROI內(nèi)的幀部分不被解碼。通過不解碼非ROI部分,解碼器30可以實(shí)質(zhì)性地減少解碼和呈現(xiàn)經(jīng)解碼的視頻所需要的處理量。ROI選擇單元63向預(yù)測(cè)單元62輸出定義ROI選擇區(qū)域的數(shù)據(jù)。選擇區(qū)域可以由用戶輸入來定義。用戶可使用指示筆、觸摸屏、大小可調(diào)的矩形、數(shù)字指示等等來定義該選擇區(qū)域。預(yù)測(cè)單元62需要該ROI選擇區(qū)域以便開始解碼該ROI內(nèi)的塊。僅出于概念性用途,目的設(shè)備14的顯示設(shè)備32可具有mxm幀的大小,并且用戶可使用諸如觸摸屏之類的ROI選擇單元63選擇R0I。作為示例,所選擇的ROI可具有ηχη的大小,其中η小于m。盡管出于解說目的而描述了方形R0I,但是ROI可以是矩形的或者具有例如由指示筆定義的不規(guī)則形狀。定義該ηχη區(qū)域的數(shù)據(jù)從ROI選擇單元63被輸出到預(yù)測(cè)單元62。預(yù)測(cè)單元62隨后知道為了產(chǎn)生ROI所必需解碼的確切的塊。然而,由于上述并且在圖6中所示的空間依存性的時(shí)間傳播,解碼器30不可能僅僅簡(jiǎn)單地解碼ROI內(nèi)的塊。而是,解碼器30必須解碼ROI之外的附加塊。再次參照?qǐng)D6, 若出于解說目的假定ROI是3x3 = 9個(gè)塊的區(qū)劃,則解碼幀N的中心塊100可能要求先前幀N-I中所示的3x3 = 9個(gè)塊中的任何塊都為解碼器可用。為了可為解碼器所用,先前幀 N-I中的這9個(gè)塊可能要求幀Ν-2中的切5 = 25個(gè)塊中的任何塊也可為解碼器所用,因?yàn)榉挠谶\(yùn)動(dòng)搜索結(jié)果,這些塊可能用作這3x3 = 9個(gè)塊中的任何塊的參考?jí)K。并且,幀Ν-2 中的這25個(gè)塊可能要求幀Ν-3中的7x7 = 49個(gè)塊中的任意塊也可為解碼器所用。最后, 幀Ν-3中的這49個(gè)塊可能要求幀Ν-4中的虹9 = 81個(gè)塊中的任意塊也可為解碼器所用。繼續(xù)上例,若ROI是圖6中的幀N-I中所示的3x3區(qū)域,則解碼器可能需要幀Ν_2 中的切5 = 25個(gè)塊中的任意塊也可為解碼器所用。并且,幀Ν-3中的這25個(gè)塊可能要求幀Ν-3中的7x7 = 49個(gè)塊中的任意塊也可為解碼器所用,以此類推。為了讓解碼器判定相比于ROI需要解碼多大的視頻區(qū)域,解碼器尤其是預(yù)測(cè)單元62必須知道在編碼過程期間實(shí)施的時(shí)間空間依存性(TSD)值。編碼期間實(shí)施的TSD值可以在整個(gè)幀上、在個(gè)體的片斷上、或者在個(gè)體的宏塊上執(zhí)行。因此,幀可以有被指派給該幀的諸部分(例如,片斷或MB)的多個(gè)TSD值。在一個(gè)示例中,編碼期間實(shí)施的TSD值可作為經(jīng)編碼視頻比特流內(nèi)的頭部中的數(shù)據(jù)被傳送,并被預(yù)測(cè)單元62所接收。TSD值可以一個(gè)或更多個(gè)頭部語(yǔ)法元素的形式來傳送。在一些示例中, TSD值可以形成幀頭部的部分。在其他示例中,TSD值可以形成片斷頭部的部分。在一些示例中,TSD值可以形成塊頭部(例如,宏塊頭部)的部分。在其他示例中,個(gè)體宏塊的TSD值可形成片斷或幀頭部的部分。在一些示例中,在視頻比特流中傳送的TSD值可以是幀或片斷的最大時(shí)間空間依存性范圍。例如,若視頻幀中的每個(gè)塊的依存性范圍有所不同,則所傳送的TSD值可以是最大依存性范圍。作為具體示例,若視頻幀中的所有塊具有為2、3、或4的依存性,則在比特流的頭部中傳送的TSD值將為4。傳送最大時(shí)間空間依存性值確保解碼器將解碼先前幀中足夠數(shù)目的塊以使得有足夠數(shù)目的參考?jí)K可用于解碼后續(xù)視頻幀中的塊。在其他示例中,在視頻比特流中傳送的TSD值可以是實(shí)際依存性值。在上例中,預(yù)測(cè)單元62將接收塊頭部中的信息,該信息指示第一塊具有依存性2、第二塊具有依存性3、 第三塊具有依存性4、第四塊具有依存性3,諸如此類。在又一示例中,若編碼器具有在片斷級(jí)上的約束時(shí)間空間依存性,則可傳送每個(gè)片斷的實(shí)際依存性范圍。例如,若幀有3個(gè)片斷,其中片斷1具有TSD值2、片斷2具有TSD值3、而片斷3具有TSD值4,則預(yù)測(cè)單元62將接收分開的片斷頭部中關(guān)于所有三個(gè)片斷的 TSD值信息。一旦預(yù)測(cè)單元62接收定義ROI選擇區(qū)域的數(shù)據(jù)以及TSD值,就可開始生成預(yù)測(cè)塊。作為具體示例,若ROI選擇區(qū)域?yàn)?x3區(qū)域并且傳送的TSD值是值為3的最大時(shí)間空間依存性范圍,預(yù)測(cè)單元62將確定7x7經(jīng)解碼區(qū)域是向用戶呈現(xiàn)該3x3R0I所需的最小區(qū)域。 再次,作為視頻幀的比該ROI大的部分的此7x7區(qū)域是由時(shí)間空間依存性值定義的。預(yù)測(cè)單元62隨后可訪問參考幀存儲(chǔ)68并確定哪些參考幀應(yīng)被用于預(yù)測(cè)。在上例中,若用戶沒有在平搖或縮放即若該ROI在幀與幀之間是相對(duì)靜態(tài)的,則該最小的7x7經(jīng)解碼區(qū)域是足夠的。然而,若僅該最小區(qū)域正在被解碼且用戶正在平搖或縮放,則在向用戶呈現(xiàn)圖像時(shí)可能會(huì)有延遲,直至足夠區(qū)劃的參考?jí)K被解碼并變?yōu)榭捎?。因此,可能期望解碼器解碼比TSD值定義的最小區(qū)域大、但是仍小于整個(gè)視頻幀的區(qū)域。例如,若用戶正在平搖,則解碼器可解碼7x8區(qū)域以便有足夠的經(jīng)解碼塊可用。即,可解碼延伸超過向用戶呈現(xiàn)所期望的ROI所需的最小區(qū)域以及該ROI兩者的附加ROI余量。一般而言,縮放可指放大或縮小以擴(kuò)大或收縮幀內(nèi)的R0I。平搖可指在幀內(nèi)水平地左移或右移、或者垂直地上移或下移。除了選擇ROI之外,解碼器30可包括一個(gè)或多個(gè)后處理單元以例如通過像素內(nèi)插或抽取來對(duì)經(jīng)解碼視頻中的像素?cái)?shù)據(jù)進(jìn)行按比例縮放以支持縮放??筛鶕?jù)每幀可允許的最大變化(即,縮放或平搖變化)來選擇附加的ROI余量。 每幀可允許的最大變化可被設(shè)置為對(duì)用戶的平搖或縮放能力的約束。例如,用戶可被約束成他或她僅可以每幀χ個(gè)宏塊、或連貫的幀之間χ個(gè)宏塊的最大速率進(jìn)行左平搖或右平搖。 基于此約束,解碼器可能必須解碼幀N-2中7x8的宏塊區(qū)域即帶有附加的經(jīng)解碼塊余量以便跟上用戶的平搖。在其他示例中,解碼器可能必須解碼幀N-2中的7x9的宏塊區(qū)域,因?yàn)榻獯a器可能未辨識(shí)用戶將在什么方向上平搖。類似地,關(guān)于上平搖或下平搖、或翻轉(zhuǎn),解碼器可能必須解碼幀N-2中8x7的宏塊區(qū)域即帶有附加的經(jīng)解碼塊余量以便跟上用戶的翻轉(zhuǎn)。在其他示例中,解碼器可能必須解碼幀N-2中的9x7的宏塊區(qū)域,因?yàn)榻獯a器可能未辨識(shí)用戶將在什么方向上翻轉(zhuǎn)。在一些示例中,附加ROI余量可以與每幀可允許的最大變化線性相關(guān)。例如,若允許每幀一個(gè)宏塊的最大平搖變化,則應(yīng)被解碼以支持左、右、上或下平搖的宏塊余量應(yīng)加上整個(gè)經(jīng)解碼的宏塊區(qū)劃周圍的一個(gè)經(jīng)解碼宏塊的邊沿。對(duì)于幀N中的 3x3宏塊ROI,在知道給定TSD值要求幀N-2中7x7的經(jīng)解碼宏塊區(qū)劃的情況下,用以支持每幀不大于一個(gè)宏塊的平搖或縮放的一個(gè)宏塊的附加余量可能要求幀N-2中9x9的經(jīng)解碼區(qū)劃。在其他示例中,附加ROI余量可以按非線性關(guān)系與每幀可允許的最大變化相關(guān)。圖12是解說感興趣區(qū)(ROI)、在ROI外部的可能需要解碼的第一區(qū)域、和第一區(qū)域外部的可能也需要解碼的第二區(qū)域的概念圖。圖12解說3x3R0I區(qū)域300、包括該3x3R0I 區(qū)域300的基于TSD值需要用以解碼該3x3區(qū)域300的7x7區(qū)域310、以及延伸超過該最小 7x7區(qū)域310并且包括該7x7區(qū)域310和3x3區(qū)域300的附加ROI余量320。該ROI余量被示為9x9塊,但無(wú)需是方形的。并且,取決于每幀可允許的最大變化,ROI余量可以更大。 如上所提及的,若用戶定義3x3R0I區(qū)域300,則由于空間依存性的時(shí)間傳播可能需要解碼更大的區(qū)域310。若經(jīng)編碼比特流包括指示幀的最大TSD值為2的頭部,則解碼該3x3R0I 區(qū)域300所需的最小區(qū)域?yàn)?x7區(qū)域310。然而,由于用戶可能平搖或縮放,則可能希望有附加的ROI余量320以使得在用戶平搖或縮放時(shí)解碼器能提早對(duì)塊進(jìn)行解碼。
應(yīng)再次注意,3x3R0I區(qū)域僅用于概念目的,并且ROI中MB的數(shù)目一般要更大。此外,通過后處理中的內(nèi)插,小ROI區(qū)域可與放大或像素縮放一致地被向上縮放至填充整個(gè)屏幕或屏幕的相當(dāng)部分。還應(yīng)注意,若編碼器已經(jīng)在片斷級(jí)別上約束了時(shí)間空間依存性范圍,則ROI區(qū)域 300、包括該3x3R0I區(qū)域300的區(qū)域310、以及附加ROI余量320可在片斷邊界上變化。例如,考慮被劃分成3個(gè)水平片斷的幀以及在片斷1和2之間延伸的R0I。若片斷1具有TSD 值2且片斷2具有TSD值3,則需要用以解碼該3x3區(qū)域的最終區(qū)域不是像圖12中那樣的方形。解碼位于片斷1中的ROI部分所需的區(qū)域?qū)⑿∮诮獯a位于片斷2中的ROI部分所需的區(qū)域,因?yàn)槠瑪?的TSD值小于片斷2的TSD值。對(duì)與片斷邊界相交迭的ROI的解碼是通過如上所提及地在片斷頭部中傳送TSD值來達(dá)成的。當(dāng)在宏塊級(jí)上實(shí)施TSD值時(shí)遇到與上文關(guān)于片斷所描述的問題相似的問題。然而,用相似的方式,通過如上所提及地在宏塊頭部中傳送TSD值來達(dá)成對(duì)ROI的解碼。在一些示例中,可通過將固定余量加到基于TSD值需要被解碼的區(qū)域上來確定每幀可允許的最大變化。以此方式,基于TSD值需要被解碼的區(qū)域和附加ROI余量可以獨(dú)立確定。當(dāng)用戶試圖以比每幀可允許的最大變化更快的速率平搖或縮放時(shí),目的設(shè)備14的顯示器設(shè)備32可向用戶顯示指示用戶已經(jīng)超過可允許的最大變化的消息?;蛘咴谝恍┦纠校康脑O(shè)備14可生成指示已經(jīng)超過可允許的最大變化值的可聽信號(hào)?;蛘咴谝恍┦纠?,用戶接口可以不對(duì)該請(qǐng)求進(jìn)行響應(yīng)。因此,可以防止用戶以比最大速率快的速率進(jìn)行平搖或縮放。用戶可以僅被允許以與可允許的最大變化相一致的給定速率來平搖或縮放。例如,若用戶用指示筆點(diǎn)擊箭頭,則該箭頭僅以每幀一個(gè)宏塊的最大速率進(jìn)行響應(yīng)。應(yīng)注意, 平搖或縮放的分辨率可以小于一個(gè)宏塊。例如,每次箭頭點(diǎn)擊可導(dǎo)致每次點(diǎn)擊一次1/4或 1/2個(gè)宏塊的移動(dòng)。在其他示例中,若用戶在平搖或縮放時(shí)超過每幀可允許的最大變化限制,顯示器設(shè)備32在塊還未被解碼的區(qū)域中顯示空白像素區(qū)劃。例如,若用戶正以大于該最大限制的速率快速向左平搖,則顯示器設(shè)備32可沿顯示器設(shè)備32的左側(cè)顯示空白像素區(qū)劃。一旦用戶停止平搖或開始以慢于該最大限制的速率平搖,則解碼器可解碼并隨后顯示這些空白像素所定義的塊。在一些示例中,若用戶超過每幀可允許的最大變化限制,則解碼器在更新顯示器設(shè)備32時(shí)強(qiáng)加延遲。例如,若用戶試圖以超過每幀可允許的最大變化限制的速率進(jìn)行縮放,則解碼器可繼續(xù)解碼和顯示就在縮放前該用戶正在觀看的ROI所選區(qū)域中的塊。然后, 一旦解碼器已經(jīng)解碼了該縮放所定義的新ROI所選區(qū)域中的塊,解碼器可顯示該新解碼的圖像。以此方式,用戶可繼續(xù)觀看第一 ROI中的視頻,但是在顯示經(jīng)縮放的第二 ROI之前將不得不等待一些幀直至解碼器解碼了該經(jīng)縮放的ROI中的塊。圖13是解說根據(jù)本公開的解碼方法的流程圖。解碼器30經(jīng)由ROI選擇單元63 接收定義感興趣區(qū)(ROI)的數(shù)據(jù)000)。解碼器30還經(jīng)由經(jīng)編碼視頻比特流中的頭部接收 ROI中的至少一個(gè)塊的時(shí)間空間依存性(TSD)值(410)。解碼器30隨后基于定義ROI的數(shù)據(jù)和TSD值來解碼ROI中的視頻塊(420)。應(yīng)注意,若要執(zhí)行縮放或平搖功能,為了填充設(shè)備的顯示器,可使用通過內(nèi)插的分辨率向上縮放。此類向上縮放可以在后處理操作期間解碼之后在像素域內(nèi)實(shí)現(xiàn)。
使用上述解碼技術(shù)可降低功耗、減少計(jì)算、并降低等待時(shí)間,因?yàn)閮H解碼產(chǎn)生ROI 所必需的塊而不是幀中的所有塊。圖14是解說一種為解碼所選ROI區(qū)域確定附加ROI余量的方法的流程圖,該方法將支持平搖、縮放、和翻轉(zhuǎn)。確定ROI的邊界(500)。例如,用戶可能已使用指示筆選擇了 ROI區(qū)域。僅出于概念性目的,ROI選擇單元可確定用戶為ROI選擇了 3x3區(qū)域,所以ROI 的邊界為3x3。解碼器隨后基于TSD值確定ROI區(qū)域之外需要被解碼的第一余量,并將該第一余量加到ROI邊界上(510)。再次,例如,若TSD值為3,則解碼器可能需要解碼包括該 3x3R0I區(qū)域的7x7區(qū)域。這樣,解碼器在每個(gè)方向上往3x3R0I區(qū)域添加2個(gè)MB的第一余量。隨后,解碼器確定為了支持用戶平搖、縮放和翻轉(zhuǎn)而需要被解碼的第一余量之外的第二余量(520)。例如,若基于為3的TSD值為了支持3x3R0I區(qū)域,解碼器需要解碼7x7區(qū)域, 則解碼器將第二余量加到第一余量上以確定延伸超過7x7區(qū)域的附加ROI余量。被添加到第一余量的第二余量例如可導(dǎo)致為了既支持解碼3x3R0I又支持平搖、縮放、翻轉(zhuǎn)而需要解碼的9x9區(qū)域。再次,該3x3區(qū)域僅是出于概念性目的的;ROI —般將更大。本公開中描述的技術(shù)可允許在ROI內(nèi)連續(xù)的局部化視頻解碼。通過局部化視頻編碼,觀眾可被準(zhǔn)許從解碼器側(cè)定義和操控R0I,從而為同一視頻內(nèi)容的每個(gè)觀看提供唯一的視頻觀看體驗(yàn)。在一些方面,本公開中描述的技術(shù)還可通過準(zhǔn)許用僅ROI解碼而非全幀解碼進(jìn)行ROI觀看來降低功耗,尤其是對(duì)于手持式設(shè)備而言。本公開所描述的技術(shù)還可通過允許觀眾僅顯示視頻內(nèi)容中該觀眾感興趣的那部分來提供對(duì)顯示器窗口的更好的利用。在其他方面,本公開中描述的技術(shù)還可允許原本將超過設(shè)備的處理和顯示能力的對(duì)視頻內(nèi)容的ROI觀看。本公開中描述的技術(shù)還可允許視頻捕捉窗口與觀看窗口之間的基本去耦合。 在一些方面,本公開中描述的技術(shù)還可允許在視頻回放期間從解碼側(cè)進(jìn)行正常僅在視頻編碼前在視頻捕捉期間才有可能的ROI視頻縮放和平搖。 上文描述的技術(shù)可基本上將視頻捕捉窗口與觀看窗口去耦合。即,觀眾可以不被約束以與捕捉視頻方式的相同方式在顯示器設(shè)備的觀看窗口中觀看視頻內(nèi)容。例如,在兩個(gè)人對(duì)話的場(chǎng)景中,觀眾可選取僅在一個(gè)人身上放大。以此方式,顯示器上的觀看窗口已經(jīng)被與視頻捕捉窗口去耦合。此外,觀眾可在視頻回放期間縮放和平搖R0I,而這傳統(tǒng)上僅在視頻捕捉期間才是可能的。本文中所描述的技術(shù)可以在硬件、軟件、固件、或其任何組合中實(shí)現(xiàn)。若以軟件實(shí)現(xiàn),則這些技術(shù)可部分地通過包括程序代碼的計(jì)算機(jī)可讀介質(zhì)來實(shí)現(xiàn),程序代碼包含編碼在計(jì)算機(jī)可讀介質(zhì)上的指令,這些指令在執(zhí)行時(shí)致使處理器執(zhí)行上述方法中的一個(gè)或多個(gè)方法。在此情形中,計(jì)算機(jī)可讀介質(zhì)可以包括諸如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)之類的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、閃存、磁或光數(shù)據(jù)存儲(chǔ)介質(zhì)、等等。該程序代碼可以由一個(gè)或更多個(gè)處理器執(zhí)行,諸如一個(gè)或更多個(gè)數(shù)字信號(hào)處理器 (DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)、或者其他等效的集成或分立邏輯電路系統(tǒng)。在一些示例中,本公開中描述的功能性可被提供于配置用于自動(dòng)對(duì)象分段的專用軟件模塊或硬件單元內(nèi)、或納入自動(dòng)對(duì)象分段系統(tǒng)中。
權(quán)利要求
1.一種在視頻解碼器中執(zhí)行的方法,所述方法包括接收定義視頻幀的感興趣區(qū)(ROI)的數(shù)據(jù);接收所述ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性(TSD)值;以及至少部分地基于所述TSD值來解碼所述ROI中的視頻塊。
2.如權(quán)利要求1所述的方法,其特征在于,所述時(shí)間空間依存性值定義先前經(jīng)編碼視頻幀中當(dāng)前經(jīng)編碼視頻塊所依存的視頻塊的數(shù)目。
3.如權(quán)利要求1所述的方法,其特征在于,接收時(shí)間空間依存性值進(jìn)一步包括在幀頭部、片斷頭部、或宏塊頭部的至少之一中接收經(jīng)編碼視頻比特流中的時(shí)間空間依存性值。
4.如權(quán)利要求1所述的方法,其特征在于,所述時(shí)間空間依存性值是整個(gè)視頻幀的最大依存性值。
5.如權(quán)利要求1所述的方法,其特征在于,所述時(shí)間空間依存性值是片斷或宏塊的實(shí)際依存性值。
6.如權(quán)利要求1所述的方法,其特征在于,解碼所述ROI進(jìn)一步包括解碼所述視頻幀的大于所述ROI的部分。
7.如權(quán)利要求6所述的方法,其特征在于,所述視頻幀的大于所述ROI的所述部分是由所述時(shí)間空間依存性值定義的。
8.如權(quán)利要求7所述的方法,其特征在于,還包括解碼ROI余量,其中所述ROI余量延伸超過所述ROI以及由所述時(shí)間空間依存性值定義的、所述視頻幀的大于所述ROI的所述部分這兩者,并且其中所述ROI余量小于整個(gè)視頻幀。
9.如權(quán)利要求8所述的方法,其特征在于,還包括設(shè)置每幀可允許的最大變化,所述每幀可允許的最大變化限制用戶可改變所述ROI的速率。
10.如權(quán)利要求9所述的方法,其特征在于,所述ROI余量是根據(jù)所述每幀可允許的最大變化來選擇的。
11.如權(quán)利要求1所述的方法,其特征在于,解碼所述ROI包括僅解碼所述視頻幀的一部分。
12.一種視頻解碼器,包括感興趣區(qū)(ROI)選擇單元,其選擇視頻幀的ROI ;接收所述ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性值的單元;以及至少部分地基于所述TSD值來解碼所述ROI中的視頻塊的單元。
13.如權(quán)利要求12所述的解碼器,其特征在于,所述時(shí)間空間依存性值定義先前經(jīng)編碼視頻幀中當(dāng)前經(jīng)編碼視頻塊所依存的視頻塊的數(shù)目。
14.如權(quán)利要求12所述的解碼器,其特征在于,所述單元在幀頭部、片斷頭部、或宏塊頭部的至少之一中接收經(jīng)編碼視頻比特流中的所述時(shí)間空間依存性值。
15.如權(quán)利要求12所述的解碼器,其特征在于,所述時(shí)間空間依存性值是整個(gè)視頻幀的最大依存性值。
16.如權(quán)利要求12所述的解碼器,其特征在于,所述時(shí)間空間依存性值是片斷或宏塊的實(shí)際依存性值。
17.如權(quán)利要求12所述的解碼器,其特征在于,所述解碼器解碼所述ROI。
18.如權(quán)利要求17所述的解碼器,其特征在于,所述解碼器解碼所述視頻幀的大于所述ROI的部分。
19.如權(quán)利要求18所述的解碼器,其特征在于,所述視頻幀的大于所述ROI的所述部分是由所述時(shí)間空間依存性值定義的。
20.如權(quán)利要求19所述的解碼器,其特征在于,所述解碼器解碼ROI余量,其中所述 ROI余量延伸超過所述ROI以及由所述時(shí)間空間依存性值定義的、所述視頻幀的大于所述 ROI的所述部分這兩者,并且其中所述ROI余量小于整個(gè)視頻幀。
21.如權(quán)利要求20所述的解碼器,其特征在于,所述ROI余量是根據(jù)每幀可允許的最大變化來選擇的,且其中所述每幀可允許的最大變化限制用戶可改變所述ROI的速率。
22.如權(quán)利要求12所述的解碼器,其特征在于,所述解碼器僅解碼所述視頻幀的一部分。
23.如權(quán)利要求12所述的解碼器,其特征在于,還包括無(wú)線通信設(shè)備。
24.如權(quán)利要求12所述的解碼器,其特征在于,還包括集成電路設(shè)備。
25.一種計(jì)算機(jī)可讀介質(zhì),其包括編碼在所述計(jì)算機(jī)可讀介質(zhì)上的指令,所述指令在執(zhí)行時(shí)致使視頻解碼器內(nèi)的處理器接收定義視頻幀的感興趣區(qū)(ROI)的數(shù)據(jù); 接收所述ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性值(TSD);以及至少部分地基于所述TSD值來解碼所述ROI中的視頻塊。
26.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述時(shí)間空間依存性值定義先前經(jīng)編碼視頻幀中當(dāng)前經(jīng)編碼視頻塊所依存的視頻塊的數(shù)目。
27.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,接收時(shí)間空間依存性值進(jìn)一步包括在幀頭部、片斷頭部、或宏塊頭部的至少之一中接收經(jīng)編碼視頻比特流中的時(shí)間空間依存性值。
28.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述時(shí)間空間依存性值是整個(gè)視頻幀的最大依存性值。
29.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述時(shí)間空間依存性值是片斷或宏塊的實(shí)際依存性值。
30.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,解碼所述ROI進(jìn)一步包括解碼所述視頻幀的大于所述ROI的部分。
31.如權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述視頻幀的大于所述ROI的所述部分是由所述時(shí)間空間依存性值定義的。
32.如權(quán)利要求31所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括致使所述處理器解碼 ROI余量的指令,其中所述ROI余量延伸超過所述ROI以及由所述時(shí)間空間依存性值定義的、所述視頻幀的大于所述ROI的所述部分這兩者,并且其中所述ROI余量小于整個(gè)視頻幀。
33.如權(quán)利要求32所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括致使所述處理器設(shè)置每幀可允許的最大變化的指令,所述每幀可允許的最大變化限制用戶可改變所述ROI的速率。
34.如權(quán)利要求33所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述ROI余量是根據(jù)所述每幀所允許的最大變化來選擇的。
35.如權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,解碼所述ROI包括僅解碼所述視頻幀的一部分。
36.一種視頻解碼器,包括用于接收定義視頻幀的感興趣區(qū)(ROI)的數(shù)據(jù)的裝置;用于接收所述ROI中的至少一個(gè)視頻塊的時(shí)間空間依存性(TSD)值的裝置;以及用于至少部分地基于所述TSD值來解碼所述ROI中的視頻塊的裝置。
37.如權(quán)利要求36所述的解碼器,其特征在于,所述時(shí)間空間依存性值定義先前經(jīng)編碼視頻幀中當(dāng)前經(jīng)編碼視頻塊所依存的視頻塊的數(shù)目。
38.如權(quán)利要求36所述的解碼器,其特征在于,所述用于接收時(shí)間空間依存性值的裝置進(jìn)一步包括在幀頭部、片斷頭部、或宏塊頭部的至少之一中接收經(jīng)編碼視頻比特流中的時(shí)間空間依存性值。
39.如權(quán)利要求36所述的解碼器,其特征在于,所述時(shí)間空間依存性值是整個(gè)視頻幀的最大依存性值。
40.如權(quán)利要求36所述的解碼器,其特征在于,所述時(shí)間空間依存性值是片斷或宏塊的實(shí)際依存性值。
41.如權(quán)利要求36所述的解碼器,其特征在于,所述用于解碼所述ROI的裝置進(jìn)一步包括用于解碼所述視頻幀的大于所述ROI的部分的裝置。
42.如權(quán)利要求41所述的解碼器,其特征在于,所述視頻幀的大于所述ROI的所述部分是由所述時(shí)間空間依存性值定義的。
43.如權(quán)利要求42所述的解碼器,其特征在于,還包括用于解碼ROI余量的裝置,其中所述ROI余量延伸超過所述ROI以及由所述時(shí)間空間依存性值定義的、所述視頻幀的大于所述ROI的所述部分這兩者,并且其中所述ROI余量小于整個(gè)視頻幀。
44.如權(quán)利要求43所述的解碼器,其特征在于,還包括用于設(shè)置每幀所允許的最大變化的裝置,所述每幀所允許的最大變化限制用戶可改變所述ROI的速率。
45.如權(quán)利要求44所述的解碼器,其特征在于,所述ROI余量是根據(jù)所述每幀所允許的最大變化來選擇的。
46.如權(quán)利要求43所述的解碼器,其特征在于,所述用于解碼所述ROI的裝置包括用于僅解碼所述視頻幀的一部分的裝置。
全文摘要
本公開描述了用于感興趣區(qū)(ROI)編碼的技術(shù)。根據(jù)本文描述的技術(shù),編碼設(shè)備可確定用于對(duì)視頻幀中的當(dāng)前塊進(jìn)行幀間編碼的候選參考視頻塊的時(shí)間空間依存性值。該編碼設(shè)備可將該時(shí)間空間依存性值與閾值相比較并基于該比較來選擇用于當(dāng)前塊的編碼模式。解碼設(shè)備可接收定義ROI的數(shù)據(jù)以及時(shí)間空間依存性值,并至少部分地基于該時(shí)間空間依存性值來解碼該ROI中的視頻塊。以此方式,本公開的技術(shù)可允許視頻內(nèi)容觀眾具有選擇ROI進(jìn)行觀看的能力。
文檔編號(hào)H04N7/26GK102422641SQ201080020906
公開日2012年4月18日 申請(qǐng)日期2010年5月7日 優(yōu)先權(quán)日2009年5月7日
發(fā)明者C-Y·滕, M-c·蔡, Y·葉 申請(qǐng)人:高通股份有限公司