專利名稱:用于高效2d-3d呈現(xiàn)的視頻解碼器中的紋理壓縮的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及配置成輸出壓縮和非壓縮格式的視頻數(shù)據(jù)的視頻解碼器。許多當(dāng)今的圖形用戶界面(⑶I)涉及呈現(xiàn)視頻作為3D圖形場景的一部分。例如, 視頻回放設(shè)備可包含利用3D呈現(xiàn)圖形來創(chuàng)建3D圖形場景的GUI。用戶可在該GUI中導(dǎo)航以尋找存儲在該視頻回放設(shè)備上的視頻。當(dāng)用戶在該GUI中導(dǎo)航時,這些視頻可作為該3D 圖形場景內(nèi)的預(yù)覽剪輯來回放。為了在3D⑶I內(nèi)顯示視頻,首先解碼視頻幀,隨后視頻處理器使用已解碼視頻幀來呈現(xiàn)3D場景。視頻處理器隨后將該場景輸出到顯示器。目前,視頻解碼器以單種非壓縮格式(諸如YUV 4:2:0格式)來解碼視頻。已解碼視頻從視頻解碼器輸出到顯示處理器中。顯示處理器可覆蓋2D圖像(S卩,3D環(huán)境中的紋理)并隨后向顯示器輸出信號,這些圖像在顯示器中顯示。在某些情形中,顯示處理器先將視頻從YUV 4:2:0格式轉(zhuǎn)換成RGB 8:8:8格式,然后覆蓋紋理并呈現(xiàn)該視頻以在顯示設(shè)備上顯不。然而,為了在3D圖形場景中呈現(xiàn)視頻,以上模型是低效的。如上所述,視頻在傳統(tǒng)上以非壓縮的YUV 4:2:0格式從視頻解碼器輸入到顯示處理器的圖形流水線中。顯示處理器隨后必須將視頻幀轉(zhuǎn)換成壓縮格式,然后使用該壓縮格式通過覆蓋紋理來呈現(xiàn)3D GUI。 這導(dǎo)致用于將非壓縮視頻紋理加載到圖形流水線中所需的額外帶寬以及圖形流水線中用于將非壓縮紋理轉(zhuǎn)換成壓縮紋理的額外指令。用于減少圖形流水線中所需的帶寬和指令的先前解決方案已包括以將無需由顯示處理器進行轉(zhuǎn)換的壓縮格式離線地生成視頻的第二副本。然而,此類解決方案并沒有考慮在視頻顯示設(shè)備中對諸如來自以非壓縮格式向視頻顯示設(shè)備發(fā)送實況內(nèi)容的源的視頻的運行中顯示。此外,需要額外的外部處理和存儲器來存儲該視頻的附加格式。附圖簡述
圖1是解說用于編碼和解碼視頻信號的源設(shè)備和目的設(shè)備的框圖。圖2是其中合并了已解碼視頻的所呈現(xiàn)3D場景的實施例。圖3是用于壓縮視頻幀的過程的實施例的流程圖。圖4是使用通過圖3的過程解碼的視頻來呈現(xiàn)場景的過程的流程圖。圖5是圖1的視頻解碼器的實施例的框圖。詳細描述以下詳細描述針對某些具體實施例。然而,本文的教示可以眾多不同方式來應(yīng)用。 在本說明書中,參考了附圖,其中相同的部件貫穿始終被指定相同的標(biāo)號。一個實施例針對視頻解碼器,其被設(shè)計成以適合用于2D和3D圖形呈現(xiàn)兩者的格式輸出已解碼視頻。通過將視頻解碼成非壓縮和壓縮格式兩者,就能夠以正確格式將視頻幀發(fā)送給顯示處理器(其在一個實施例中可包括2D和3D圖形處理器)以減少顯示處理器在所呈現(xiàn)3D圖形用戶界面(GUI)中合并視頻所需的處理。
圖1是解說執(zhí)行本公開所描述的編碼技術(shù)的視頻編碼和解碼系統(tǒng)10的實施例的框圖。如圖1中所示,系統(tǒng)10包括源設(shè)備12,該源設(shè)備12經(jīng)由通信信道16向目的設(shè)備14 傳送經(jīng)編碼視頻數(shù)據(jù)。源設(shè)備12可包括視頻源18、視頻編碼器20和發(fā)射機22。源設(shè)備 12的視頻源18可包括視頻捕捉設(shè)備(諸如攝像機)、包含先前捕捉到的視頻的視頻存檔、 或者來自視頻內(nèi)容供應(yīng)商的視頻饋送。作為另一替換方案,視頻源18可以生成基于計算機圖形的數(shù)據(jù)作為源視頻,或者實況視頻與計算機生成的視頻的組合。在某些情形中,源設(shè)備 12可以是無線電話或視頻電話,在這種情形中,視頻源18可以是該電話上的攝像機。在每種情形中,捕捉到的、預(yù)先捕捉到的或者計算機生成的視頻可以由視頻編碼器20編碼以經(jīng)由發(fā)射機22和通信信道16從源設(shè)備12傳送給目的設(shè)備14。視頻編碼器20從視頻源18接收視頻數(shù)據(jù)。從視頻源18接收到的視頻數(shù)據(jù)可以是一系列視頻幀。視頻編碼器20將這一系列幀劃分成編碼單元并處理這些編碼單元以編碼這一系列視頻幀。編碼單元可以是例如整個幀或幀的部分(即,片斷)。因此,在某些實例中,幀可被劃分成片斷。視頻編碼器20將每個編碼單元劃分成像素塊(在本文中被稱為視頻塊或塊)并對個體編碼單元內(nèi)的視頻塊進行操作以編碼視頻數(shù)據(jù)。因此,編碼單元(例如,幀或片斷)可包含多個視頻塊。換言之,視頻序列可包括多個幀,幀可包括多個片斷,而片斷可包括多個視頻塊。視頻塊可以具有固定的或變化的大小,并且可以根據(jù)指定的編碼標(biāo)準(zhǔn)而大小不同。作為示例,國際電信聯(lián)盟標(biāo)準(zhǔn)化組(ITU-T)H. 264/MPEG-4第10部分,高級視頻編碼 (AVC)(下文稱為“H. 264/MPEG-4第10部分AVC”標(biāo)準(zhǔn))支持各種塊大小(諸如用于亮度分量的16xl6、8x8或4x4像素,以及用于色度分量的8x8像素)中的幀內(nèi)預(yù)測??稍诟鞣N塊大小(諸如用于亮度分量的16χ16、16χ8、8χ16、8χ8、8χ4、4χ8和4x4像素以及用于色度分量的相應(yīng)經(jīng)縮放大小)中執(zhí)行幀間預(yù)測。在H.沈4中,例如,16X16像素的每個視頻塊(常被稱為宏塊(MB))可被細分成較小大小的子塊且在子塊中進行幀內(nèi)或幀間預(yù)測。一般而言, MB和各種子塊可被認為是視頻塊。因此,MB可被認為是視頻塊,并且如果被劃分或細分,那么MB本身可被認為定義了視頻塊集合。對于每個視頻塊,視頻編碼器20為該塊選擇塊類型。塊類型可指示該塊是使用幀間預(yù)測還是幀內(nèi)預(yù)測來預(yù)測以及該塊的劃分大小。例如,H. 264/MPEG-4第10部分AVC標(biāo)準(zhǔn)支持數(shù)種幀間和幀內(nèi)預(yù)測塊類型,包括幀間16x16、幀間16x8、幀間8x16、幀間8x8、幀間 8x4、幀間虹4、幀內(nèi)16x16、幀內(nèi)8x8、和幀內(nèi)虹4。如下文詳細描述的,視頻編碼器20可以為要編碼的每個視頻塊選擇這些塊類型之一。視頻編碼器20還為每個視頻塊選擇預(yù)測模式。在幀內(nèi)編碼視頻塊的情形中,預(yù)測模式可確定使用一個或更多個先前編碼的視頻塊來預(yù)測當(dāng)前視頻塊的方式。在H. 264/ MPEG-4第10部分AVC標(biāo)準(zhǔn)中,例如,視頻編碼器20可以為每個幀內(nèi)4x4塊選擇9種可能的單向預(yù)測模式之一縱向預(yù)測模式、橫向預(yù)測模式、DC預(yù)測模式、對角向下/左預(yù)測模式、對角向下/右預(yù)測模式、縱向-向右預(yù)測模式、橫向-向下預(yù)測模式、縱向-向左預(yù)測模式和橫向-向上預(yù)測模式。類似的預(yù)測模式被用于預(yù)測每個幀內(nèi)8x8塊。對于幀內(nèi)16x16塊, 視頻編碼器20可選擇4種可能的單向模式之一縱向預(yù)測模式、橫向預(yù)測模式、DC預(yù)測模式、和平面預(yù)測模式。在某些實例中,視頻編碼器20可從預(yù)測模式集合中選擇預(yù)測模式,該預(yù)測模式集合不僅包括單向預(yù)測模式,而且還包括定義單向模式的組合的一種或更多種多向預(yù)測模式。例如,這一種或更多種多向預(yù)測模式可以是組合如下文更詳細地描述的兩種單向預(yù)測模式的雙向預(yù)測模式。在為視頻塊選擇預(yù)測模式之后,視頻編碼器20使用所選預(yù)測模式生成預(yù)測視頻塊。從原始視頻塊減去預(yù)測視頻塊以形成殘差塊。殘差塊包括對原始視頻塊的像素值與所生成預(yù)測塊的像素值之差進行量化的像素差值的集合。殘差塊可以二維塊格式(例如,像素差值的二維矩陣或陣列)來表示。繼生成殘差塊之后,視頻編碼器20可在編碼殘差塊之前對該塊執(zhí)行數(shù)種其他操作。視頻編碼器20可對像素值殘差塊應(yīng)用變換(諸如整數(shù)變換、DCT變換、方向變換或小波變換)以產(chǎn)生變換系數(shù)塊。變換系數(shù)可以是殘差塊的頻域表示。因此,視頻編碼器20將殘差像素值轉(zhuǎn)換成變換系數(shù)(也被稱為殘差變換系數(shù))。殘差變換系數(shù)可被稱為變換塊或系數(shù)塊。在應(yīng)用不可分離變換時,殘差變換系數(shù)可以是這些系數(shù)的一維表示,而在應(yīng)用可分離變換時,殘差變換系數(shù)可以是這些系數(shù)的二維表示。不可分離變換可包括不可分離的方向變換??煞蛛x變換可包括可分離的方向變換、DCT變換、整數(shù)變換、以及小波變換。繼變換之后,視頻編碼器20執(zhí)行量化以生成量化變換系數(shù)(也被稱為量化系數(shù)或量化殘差系數(shù))。量化系數(shù)也可以一維向量格式或二維塊格式來表示。量化一般是指對系數(shù)進行量化以便有可能減少用于表示這些系數(shù)的數(shù)據(jù)量的過程。量化過程可減少與某些或所有系數(shù)相關(guān)聯(lián)的比特深度。如本文中所使用的,術(shù)語“系數(shù)”可表示變換系數(shù)、量化系數(shù)或其他類型的系數(shù)。本公開的技術(shù)在某些實例中既可應(yīng)用于殘差像素值也可應(yīng)用于變換系數(shù)和量化變換系數(shù)。在使用可分離變換并且以二維塊格式來表示系數(shù)塊時,視頻編碼器20將這些系數(shù)從二維格式掃描成一維格式。換言之,視頻編碼器20可掃描來自二維塊的系數(shù)以將這些系數(shù)串行化為一維系數(shù)向量。根據(jù)本公開的一個方面,視頻編碼器20可基于所采集的統(tǒng)計來調(diào)整用于將系數(shù)塊轉(zhuǎn)換成一維的掃描次序。該統(tǒng)計可包括二維塊的每個位置的給定系數(shù)值為零或非零的可能性的指示,并且例如可包括與該二維塊的每個系數(shù)位置相關(guān)聯(lián)的計數(shù)、概率或其他統(tǒng)計度量。在某些實例中,可僅針對塊的系數(shù)位置子集采集統(tǒng)計。在評價掃描次序時,例如在特定數(shù)目的塊之后,可改變掃描次序以使得塊內(nèi)被確定為具有非零系數(shù)的概率較高的系數(shù)位置先于該塊內(nèi)被確定為具有非零系數(shù)的概率較低的系數(shù)位置被掃描。 這樣,初始掃描次序可被適配以便更高效地將非零系數(shù)編組在一維系數(shù)向量的開頭以及將零值系數(shù)編組在一維系數(shù)向量的末尾。這又可以減少在熵編碼上所用的比特數(shù)目,因為在該一維系數(shù)向量開頭的非零系數(shù)之間有較短的零串而在該一維系數(shù)向量末尾有較長的零串ο繼系數(shù)掃描之后,視頻編碼器20使用各種各樣的熵編碼方法(諸如上下文自適應(yīng)可變長度編碼(CAVLC)、上下文自適應(yīng)二進制算術(shù)編碼(CABAC)、行程編碼或諸如此類)中的任一種來編碼該編碼單元的每個視頻塊。源設(shè)備12經(jīng)由發(fā)射機22和信道16將經(jīng)編碼視頻數(shù)據(jù)傳送給目的設(shè)備14。通信信道16可包括任何無線或有線通信介質(zhì),諸如射頻(RF) 頻譜或者一條或更多條物理傳輸線,或者無線和有線介質(zhì)的任何組合。通信信道16可以構(gòu)成基于分組的網(wǎng)絡(luò)(諸如局域網(wǎng)、廣域網(wǎng)或者諸如因特網(wǎng)之類的全球網(wǎng)絡(luò))的一部分。通信信道16 —般表示用于從源設(shè)備12向目的設(shè)備14傳送經(jīng)編碼視頻數(shù)據(jù)的任何適宜的通信介質(zhì)或者不同通信介質(zhì)的集合。
目的設(shè)備14可包括接收機對、視頻解碼器沈、顯示處理器27、以及顯示設(shè)備28。 接收機M是接收視頻信號的一種裝置,其經(jīng)由信道16從源設(shè)備12接收經(jīng)編碼視頻比特流。視頻解碼器26應(yīng)用熵解碼來解碼該經(jīng)編碼視頻比特流以獲得經(jīng)編碼單元的經(jīng)編碼視頻塊的頭部信息、運動向量、以及量化殘差系數(shù)。如上所述,由源設(shè)備12編碼的量化殘差系數(shù)被編碼為一維向量。因此,視頻解碼器沈掃描經(jīng)編碼視頻塊的量化殘差系數(shù)以便將一維系數(shù)向量轉(zhuǎn)換成二維量化殘差系數(shù)塊。類似于視頻編碼器20,視頻解碼器沈可采集指示視頻塊中的給定系數(shù)位置為零或非零的可能性的統(tǒng)計并藉此以與在編碼過程中使用的方式相同的方式調(diào)整掃描次序。相應(yīng)地,可由視頻解碼器26應(yīng)用互易自適應(yīng)掃描次序以將串行化的量化變換系數(shù)的一維向量表示變回二維量化變換系數(shù)塊。視頻解碼器吏用已解碼頭部信息和已解碼殘差信息來重構(gòu)編碼單元的每個塊。具體而言,視頻解碼器26可生成當(dāng)前視頻塊的預(yù)測視頻塊并將該預(yù)測塊與相應(yīng)的殘差視頻塊組合以重構(gòu)每個視頻塊。應(yīng)注意,在某些實施例中,由視頻解碼器沈和視頻編碼器 20生成的預(yù)測塊是相同的。因此,通過將在經(jīng)編碼視頻比特流中傳送的殘差與預(yù)測塊相組合,視頻解碼器26生成與視頻編碼器20處生成的塊相同的重構(gòu)塊。視頻解碼器沈隨后可存儲構(gòu)成視頻幀的組合視頻塊。視頻解碼器26可以YUV格式和/或以下文實施例中描述的其他格式輸出已解碼視頻。已解碼視頻隨后被發(fā)送給顯示處理器27,其覆蓋紋理并呈現(xiàn)這些紋理和視頻以供在顯示設(shè)備觀上顯示。在某些實施例中,顯示處理器27可具有有限的2D圖形功能(例如,執(zhí)行簡單的2D覆蓋和融合的能力)。在其他實施例中,顯示處理器 27可包括2D和3D圖形處理器,并且可執(zhí)行更復(fù)雜的幾何變換。目的設(shè)備14可經(jīng)由顯示設(shè)備觀向用戶顯示重構(gòu)的視頻塊作為所呈現(xiàn)場景的一部分。顯示設(shè)備觀可包括各種各樣的顯示設(shè)備中的任一種,諸如陰極射線管(CRT)、液晶顯示器(IXD)、等離子顯示器、發(fā)光二極管(LED)顯示器、有機LED顯示器、或另一種類型的顯示單元。在某些情形中,源設(shè)備12和目的設(shè)備14可以基本上對稱的方式操作。例如,源設(shè)備12和目的設(shè)備14可各自包括視頻編碼和解碼組件。因此,系統(tǒng)10可支持設(shè)備12、14之間的單向或雙向視頻傳輸,例如用于視頻流送、視頻廣播、或視頻電話。包括視頻編碼和解碼組件的設(shè)備也可構(gòu)成常見的編碼、存檔和回放設(shè)備(諸如數(shù)字錄像器(DVR))的一部分。視頻編碼器20和視頻解碼器沈可根據(jù)各種各樣的視頻壓縮標(biāo)準(zhǔn)中的任一種來操作,諸如由運動圖像專家組(MPEG)在MPEG-I、MPEG-2和MPEG-4中定義的那些標(biāo)準(zhǔn)、ITU-T H. 263標(biāo)準(zhǔn)、電影電視工程師協(xié)會(SMPTE) 42IM視頻編解碼器標(biāo)準(zhǔn)(常被稱為“VC-1 ”)、由中國音視頻編解碼技術(shù)標(biāo)準(zhǔn)工作組(常被稱為“AVS”)定義的標(biāo)準(zhǔn)、以及由標(biāo)準(zhǔn)機構(gòu)定義或由組織開發(fā)作為專用標(biāo)準(zhǔn)的任何其他視頻編碼標(biāo)準(zhǔn)。盡管未在圖1中示出,但在某些方面, 視頻編碼器20和視頻解碼器沈可各自分別與音頻編碼器和解碼器集成,并且可包括恰適的MUX-DEMUX(復(fù)用-分用)單元、或其他硬件和軟件,以用于處理同一數(shù)據(jù)流或分開數(shù)據(jù)流中的音頻和視頻兩者的編碼。以此方式,源設(shè)備12和目的設(shè)備14可對多媒體數(shù)據(jù)進行操作。在適用的情況下,MUX-DEMUX單元可遵循ITU H. 223復(fù)用器協(xié)議、或其他協(xié)議(諸如用戶數(shù)據(jù)報協(xié)議(UDP))。在某些方面,對于視頻廣播,本公開中描述的技術(shù)可應(yīng)用于增強型H. 264視頻編碼,以用于在地面移動多媒體多播(TM3)系統(tǒng)中使用唯前向鏈路(FLO)空中接口規(guī)范“Forward Link Only Air Interface Specification for Terrestrial MobileMultimedia Multicast (用于地面移動多媒體多播的唯前向鏈路空中接口規(guī)范),2007年7 月公布為技術(shù)標(biāo)準(zhǔn)TIA-1099( “FLO規(guī)范”)”來遞送實時視頻服務(wù)。也就是說,通信信道16 可包括用于根據(jù)FLO規(guī)范等來廣播無線視頻信息的無線信息信道。FLO規(guī)范包括定義適用于FLO空中接口的比特流句法和語義以及解碼過程的示例。替換地,可根據(jù)其他標(biāo)準(zhǔn)(諸如DVB-H (手持數(shù)字視頻廣播)、ISDB-T (地面綜合業(yè)務(wù)數(shù)字廣播)、或DMB(數(shù)字媒體廣播))來廣播視頻。因此,源設(shè)備12可以是移動無線終端、視頻流送服務(wù)器、或視頻廣播服務(wù)器。然而,本公開中描述的技術(shù)不限于任何特定類型的廣播、多播或點對點系統(tǒng)。在廣播的情形中,源設(shè)備12可向多個目的設(shè)備廣播視頻數(shù)據(jù)的若干信道,其中每個目的設(shè)備可類似于圖1的目的設(shè)備14。因此,盡管圖1中示出了單個目的設(shè)備14,但對于視頻廣播應(yīng)用,源設(shè)備12將通常同時向許多目的設(shè)備廣播視頻內(nèi)容。在其他示例中,發(fā)射機22、通信信道16和接收機M可被配置成根據(jù)任何有線或無線通信系統(tǒng)一包括以太網(wǎng)、電話(例如,POTS)、電纜、電力線和光纖系統(tǒng)中的一種或更多種,和/或無線系統(tǒng)——包括碼分多址(CDMA或CDMA2000)通信系統(tǒng)、頻分多址(FDMA) 系統(tǒng)、正交頻分多址(OFDM)系統(tǒng)、時分多址(TDMA)系統(tǒng)(諸如GSM(全球移動通信系統(tǒng))、 GPRS (通用分組無線電業(yè)務(wù))、或EDGE (增強型數(shù)據(jù)GSM環(huán)境))、TETRA (地面集群無線電) 移動電話系統(tǒng)、寬帶碼分多址(WCDMA)系統(tǒng)、高數(shù)據(jù)率IxEV-DO(第一代唯演進數(shù)據(jù))或 IxEV-DO Gold 多播系統(tǒng)、IEEE 802. 18 系統(tǒng)、MediaFLO. TM.系統(tǒng)、DMB 系統(tǒng)、DVB-H 系統(tǒng)中的一種或更多種,或者用于兩個或更多個設(shè)備之間的數(shù)據(jù)通信的另一方案來通信。視頻編碼器20和視頻解碼器沈各自可被實現(xiàn)為一個或更多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、分立邏輯、軟件、硬件、 固件或其任何組合。視頻編碼器20和視頻解碼器沈中的每一者可被包括在一個或更多個編碼器或解碼器中,該一個或更多個編碼器或解碼器中的任何一者可被整合為各個移動設(shè)備、訂戶設(shè)備、廣播設(shè)備、服務(wù)器等中的組合編碼器/解碼器(CODEC)的一部分。另外,源設(shè)備12和目的設(shè)備14各自可以包括用于傳送和接收經(jīng)編碼視頻的恰適調(diào)制、解調(diào)、頻率轉(zhuǎn)換、濾波、和放大器組件,且在適用的情況下包括足以支持無線通信的射頻(RF)無線組件和天線。然而,為便于解說,在圖1中將此類組件概括為源設(shè)備12的發(fā)射機22和目的設(shè)備 14的接收機24。圖5是配置成以壓縮和非壓縮格式兩者輸出視頻數(shù)據(jù)的視頻解碼器沈的一個實施例。經(jīng)編碼比特流被饋送到系統(tǒng)500中。該比特流的各部分可對應(yīng)于不同的宏塊。此夕卜,這些宏塊中的若干宏塊可構(gòu)成單個視頻幀。對應(yīng)于給定宏塊的比特流部分在熵解碼單元502處被熵解碼以形成殘差塊。該殘差塊隨后在逆掃描單元504處被逆掃描,在逆量化單元506處被逆量化、以及在逆變換單元508處被逆變換。生成預(yù)測宏塊并在加法單元510 處相加。以上描述的預(yù)測宏塊可以是兩種類型的——幀內(nèi)和幀間??臻g補償單元516使用相鄰宏塊來生成幀內(nèi)預(yù)測宏塊。運動補償單元518使用存儲在參考幀存儲520 (其可包括存儲器)處的先前/將來幀來生成幀間預(yù)測宏塊。開關(guān)522可被切換成將幀內(nèi)或幀間預(yù)測宏塊中的任一者發(fā)送給加法單元510以生成輸出信號。所得的重構(gòu)宏塊隨后被發(fā)送給解塊濾波單元512,重構(gòu)宏塊在此被濾波。例如,宏塊邊緣可被濾波以防止可能在視覺上令人不喜的成塊偽像。所生成的輸出是原始像素集合,其為非壓縮格式輸出(例如,YUV 4:2:0格式或YUV 4:2:2格式的宏塊)。在一個實施例中,非壓縮輸出可以是大小為16x16的塊。非壓縮輸出可被存儲以用于重構(gòu)其他視頻幀。 對非壓縮輸出的修改可導(dǎo)致后來重構(gòu)的幀中有可見偽像。該原始像素輸出被發(fā)送給壓縮單元514,在此該原始像素輸出被轉(zhuǎn)換成適合在圖形流水線中使用的壓縮格式輸出。在一個實施例中,壓縮輸出可以是大小為4x4的塊單元。原始像素輸出還被發(fā)送給參考幀存儲520 并被存儲在參考幀存儲520中,其可用于生成預(yù)測宏塊。在一個實施例中,壓縮單元514執(zhí)行以下描述的過程300的步驟以生成壓縮格式輸出。對應(yīng)于已解碼壓縮宏塊的來自壓縮單元514的輸出被存儲在存儲器524中。隨著比特流被解碼,多個已解碼壓縮宏塊被存儲在存儲器5M中。當(dāng)對應(yīng)于給定視頻幀的所有宏塊都已被存儲在存儲器5M中時,存儲器524 包含壓縮視頻幀。在某些實施例中,該壓縮視頻幀隨后被讀入顯示處理器27的3D圖形流水線以用于呈現(xiàn)作為3D GUI或場景的一部分,這在下文描述。圖2是本公開的所呈現(xiàn)3D⑶I 200的快照的一個實施例。在該實施例中,視頻 202-216中的每一個或視頻202-216的任何子集可能正在該⑶I內(nèi)回放。此外,每個視頻可在該GUI內(nèi)相對于2D或3D平面移動,以使得該視頻在繼續(xù)播放的同時在該場景內(nèi)改變角度和位置。在一個實施例中,顯示處理器27支持能夠生成3D⑶I或場景的3D圖形流水線的處理。3D圖形流水線可包括用于將3D場景轉(zhuǎn)換成2D光柵圖像的軟件或固件。3D圖形流水線包括一系列階段,其中在該流水線開頭輸入用于生成3D圖像(例如,3D環(huán)境中的紋理) 的數(shù)據(jù)(例如,場景描述數(shù)據(jù),諸如幾何形狀、光照等)和圖像并在該流水線末尾輸出2D光柵圖像。該輸入在圖形流水線的每個階段被處理。一旦給定階段的處理完成,該輸入就移至下一階段,直至其到達該圖形流水線的末尾。在一個實施例中,該3D圖形流水線包括建模變換階段、逐頂點光照階段、觀察變換階段、投影變換階段、剪輯階段、光柵化階段、紋理化階段、以及顯示階段。顯示處理器27可被認為是3D圖形流水線的物理化身。在該實施例中,顯示處理器27在每個階段處理輸入。如關(guān)于圖5所討論的,視頻解碼器沈獲取對應(yīng)于視頻幀的比特流。視頻解碼器沈隨后將該比特流解碼成壓縮格式(例如,RGB 8:8:8)并存儲壓縮視頻幀以用在3D圖形流水線中。視頻幀從存儲移至3D圖形流水線。在其他實施例中,該壓縮格式的數(shù)據(jù)被直接發(fā)送給3D圖形流水線。覆蓋紋理并呈現(xiàn)3D場景,而無需流水線中的額外階段來將該視頻轉(zhuǎn)換成能夠在3D場景中呈現(xiàn)的格式。如以上討論的,顯示處理器27是3D圖形流水線的物理化身并且覆蓋紋理以及生成3D場景。顯示處理器27隨后光柵化該3D場景(即,將其轉(zhuǎn)換成2D像素集合)以用于在顯示設(shè)備觀上顯示。在某些實施例中,顯示處理器27可從視頻解碼器26接收壓縮格式和/或非壓縮格式的視頻幀。顯示處理器27隨后可呈現(xiàn)或者壓縮格式或者非壓縮格式以用于在顯示設(shè)備觀上顯示。在一個實施例中,視頻解碼器沈被配置成以與顯示處理器27用于壓縮紋理并使用那些紋理來呈現(xiàn)3D場景的格式相對應(yīng)的格式來輸出數(shù)據(jù)。顯示處理器27的不同實施例可利用一種或更多種不同的紋理壓縮方案。紋理壓縮方案減少了與在圖形流水線中加載紋理以制作場景相關(guān)聯(lián)的帶寬。一個示例是將RGB 8:8:8格式的M比特圖形壓縮成4比特圖形。紋理壓縮格式的一些示例為DXT、ATI和ETCl。這些壓縮技術(shù)利用塊截斷編碼(BTC)。 在BTC中,視頻幀被劃分成非交迭塊。這些塊中的每一塊隨后以固定壓縮比被壓縮。在各種壓縮格式之間變化的一個方面是它們針對不同的塊特性引入的畸變量。圖3是用于紋理壓縮的過程300的一個實施例。在步驟302,從存儲器讀取非壓縮格式的來自視頻幀的塊。在下一步驟304,對這些塊進行上采樣。此外,在步驟306,將這些塊的色彩空間從YCbCr轉(zhuǎn)換成RGB。在下一步驟308,將這些塊壓縮成紋理壓縮格式之一。 過程300的步驟由視頻解碼器沈執(zhí)行,且所得的壓縮視頻幀被發(fā)送給3D圖形流水線。圖4是接收經(jīng)編碼視頻幀并生成嵌入了該視頻的3D場景以用于在顯示設(shè)備觀上顯示的過程400的一個實施例。在步驟402,視頻解碼器沈接收經(jīng)編碼視頻幀。接下來,在步驟404,該視頻解碼器將視頻幀解碼成非壓縮和壓縮格式。在步驟404的一個替換性實施例中,視頻解碼器還如稍后在說明書第W042]段中描述的那樣對該視頻幀進行下采樣。在一些實施例中,視頻解碼器沈并發(fā)地(即,同時或在大約相同的時間)存儲該視頻的已解碼壓縮和已解碼非壓縮格式兩者。在一個實施例中,根據(jù)過程300生成該視頻幀的壓縮格式。在步驟406繼續(xù),將該壓縮視頻幀發(fā)送給圖形流水線。在下一步驟408,顯示處理器27 覆蓋紋理并生成3D場景,該3D場景合并了該壓縮視頻幀作為該3D場景內(nèi)的紋理。在另一步驟410,顯示處理器27基于在步驟408創(chuàng)建的3D場景生成適合用于在2D顯示設(shè)備28上顯示的輸出。在下一步驟412,在顯示設(shè)備28上顯示在步驟410生成的輸出。在某些實施例中,通過顯示處理器27呈現(xiàn)的視頻可經(jīng)歷非線性幾何變換。在此類實施例中,視頻幀的不同部分可能被亞采樣到不同程度。此類亞采樣可能導(dǎo)致不期望的可見偽像,諸如鋸齒狀邊緣。在某些實施例中,顯示處理器27可包括抗鋸齒濾波機制以減輕鋸齒偽像。在其他實施例中,視頻解碼器26可包括抗鋸齒濾波器和/或可被配置成執(zhí)行各種抗鋸齒技術(shù)。這些實施例可被配置成對非均勻地亞采樣的視頻幀進行操作。應(yīng)注意,在視頻呈現(xiàn)過程期間,視頻可以與其被解碼的分辨率不同的分辨率來呈現(xiàn),這是稱為下采樣的過程。下采樣器可與視頻解碼器交互以創(chuàng)建來自視頻解碼器的輔助輸出(例如,下采樣和壓縮視頻、下采樣和非壓縮視頻、以及非下采樣和壓縮視頻)。相應(yīng)地,存儲每個視頻幀所需的存儲器空間可通過對視頻幀進行下采樣來進一步減少。此外,應(yīng)注意,盡管本公開討論了在3D場景中插入單個視頻,但本領(lǐng)域技術(shù)人員將認識到,該系統(tǒng)還可被配置成呈現(xiàn)合并了多個視頻的3D場景。本公開中所描述的技術(shù)可在硬件、軟件、固件或其任何組合中實現(xiàn)。描述為單元或組件的任何特征可以一起實現(xiàn)在集成邏輯器件中或者單獨地實現(xiàn)為分立但可互操作的邏輯器件。如果在軟件中實現(xiàn),這些技術(shù)可至少部分地由包括指令的計算機可讀介質(zhì)來實現(xiàn), 這些指令在被執(zhí)行時執(zhí)行以上所描述的一種或更多種方法。計算機可讀介質(zhì)可構(gòu)成計算機程序產(chǎn)品的一部分,計算機程序產(chǎn)品可包括包裝材料。計算機可讀介質(zhì)可以包括隨機存取存儲器(RAM)(諸如同步動態(tài)隨機存取存儲器(SDRAM))、只讀存儲器(ROM)、非易失性隨機存取存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM)、閃存、磁或光數(shù)據(jù)存儲介質(zhì)、 等等。補充地或替換地,這些技術(shù)可以至少部分地由攜帶或傳達以指令或數(shù)據(jù)結(jié)構(gòu)形式的并且可由計算機訪問、讀取和/或執(zhí)行的代碼的計算機可讀通信介質(zhì)來實現(xiàn)。該代碼可以由一個或更多個處理器執(zhí)行,諸如一個或更多個數(shù)字信號處理器 (DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)、或者其他等效的集成或分立邏輯電路系統(tǒng)。相應(yīng)地,如本文中所使用的術(shù)語“處理器”可以指任何前述結(jié)構(gòu)或者任何其他適用于實現(xiàn)本文中所描述的技術(shù)的結(jié)構(gòu)。另外,在一些方面,本文中所描述的功能性可被設(shè)在配置成用于編碼和解碼的專用軟件單元或硬件單元內(nèi),或者被納入組合視頻編碼器-解碼器(CODEC)。將不同的特征描繪為單元旨在突出所解說設(shè)備的不同功能方面并且并非必然暗示此類單元必須由分開的硬件或軟件組件來實現(xiàn)。確切而言,與一個或更多個單元相關(guān)聯(lián)的功能性可集成在公共的或分開的硬件或軟件組件內(nèi)。
已描述了本公開的各種實施例。這些及其他實施例均落在所附權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種視頻解碼系統(tǒng),包括解碼器,其被配置成接收經(jīng)編碼視頻數(shù)據(jù)并將所述經(jīng)編碼視頻數(shù)據(jù)解碼成非壓縮格式和壓縮紋理格式;存儲器,其被配置成存儲所述非壓縮格式的數(shù)據(jù);以及顯示處理器,其被配置成接收所述壓縮紋理格式的數(shù)據(jù),并且被配置成利用所述壓縮紋理格式的數(shù)據(jù)和代表3D場景的輸出數(shù)據(jù)來構(gòu)造所述3D場景。
2.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,所述非壓縮格式是YUV4:2:0格式。
3.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,所述非壓縮格式是YUV4:2:2格式。
4.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,所述壓縮格式是RGB格式。
5.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,所述壓縮格式是DXT、ATI或ETCl 格式之一。
6.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,還包括配置成顯示所述3D場景的顯不器。
7.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,所述顯示處理器還被配置成呈現(xiàn)所述非壓縮格式的數(shù)據(jù)以用于顯示。
8.如權(quán)利要求7所述的視頻解碼系統(tǒng),其特征在于,所述顯示處理器還被配置成接收所述非壓縮格式的數(shù)據(jù)并基于所述非壓縮格式的數(shù)據(jù)或所述代表3D場景的數(shù)據(jù)選擇性地向顯示設(shè)備輸出圖像。
9.如權(quán)利要求1所述的視頻解碼系統(tǒng),其特征在于,還包括用于存儲所述壓縮格式的數(shù)據(jù)的存儲器。
10.一種解碼視頻的方法,包括 接收經(jīng)編碼視頻數(shù)據(jù);將所述經(jīng)編碼視頻數(shù)據(jù)解碼成非壓縮格式和壓縮格式; 存儲所述非壓縮格式的數(shù)據(jù);讀取所述壓縮格式的數(shù)據(jù)以用于呈現(xiàn)作為3D場景的一部分;以及輸出代表所述3D場景的數(shù)據(jù)。
11.如權(quán)利要求10所述的方法,其特征在于,所述經(jīng)編碼視頻數(shù)據(jù)代表2D視頻場景。
12.如權(quán)利要求10所述的方法,其特征在于,所述非壓縮格式是YUV4:2:0格式。
13.如權(quán)利要求10所述的方法,其特征在于,所述非壓縮格式是YUV4:2:2格式。
14.如權(quán)利要求10所述的方法,其特征在于,所述壓縮格式是RGB格式。
15.如權(quán)利要求10所述的方法,其特征在于,所述壓縮格式是DXT、ATI或ETCl格式之。
16.如權(quán)利要求10所述的方法,其特征在于,還包括呈現(xiàn)所述非壓縮格式的數(shù)據(jù)以用于顯示。
17.如權(quán)利要求17所述的方法,其特征在于,還包括基于所述非壓縮格式的數(shù)據(jù)或所述代表所述3D場景的數(shù)據(jù)選擇性地向顯示設(shè)備輸出圖像。
18.如權(quán)利要求10所述的方法,其特征在于,還包括存儲所述壓縮格式的數(shù)據(jù)。
19.一種視頻解碼器,包括 用于接收經(jīng)編碼視頻數(shù)據(jù)的裝置;用于將所述經(jīng)編碼視頻數(shù)據(jù)解碼成非壓縮格式和壓縮格式的裝置; 用于存儲所述非壓縮格式的數(shù)據(jù)的裝置;以及用于讀取所述壓縮格式的數(shù)據(jù)以用于呈現(xiàn)的裝置。
20.如權(quán)利要求19所述的視頻解碼器,其特征在于,所述用于接收的裝置包括解碼器, 所述用于解碼的裝置包括所述解碼器,所述用于存儲的裝置包括存儲器,以及所述用于讀取的裝置包括顯示處理器。
21.一種包括指令的計算機可讀介質(zhì),所述指令在被執(zhí)行時執(zhí)行一種方法,所述方法包括接收經(jīng)編碼視頻數(shù)據(jù);將所述經(jīng)編碼視頻數(shù)據(jù)解碼成非壓縮格式和壓縮格式; 存儲所述非壓縮格式的數(shù)據(jù);讀取所述壓縮格式的數(shù)據(jù)以用于呈現(xiàn)作為3D場景的一部分;以及輸出代表所述3D場景的數(shù)據(jù)。
全文摘要
在視頻解碼系統(tǒng)中,一種方法和系統(tǒng)用于將先前編碼的視頻幀解碼成壓縮和非壓縮格式。非壓縮格式幀可被進一步存儲并用于解碼附加的視頻幀。壓縮格式幀可被進一步存儲并被提供給顯示處理器以隨附加紋理一起呈現(xiàn)。
文檔編號H04N7/26GK102474604SQ201080030305
公開日2012年5月23日 申請日期2010年6月29日 優(yōu)先權(quán)日2009年6月30日
發(fā)明者R·C·納加拉杰, S·A·莫洛伊 申請人:高通股份有限公司