具有幀緩沖壓縮的視頻處理器及其使用方法
【專利摘要】具有幀緩沖壓縮的視頻處理器及其使用方法,其中一種視頻處理裝置包括視頻處理單元,基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼的視頻信號。圖塊引擎包括圖塊累積模塊,將所述未壓縮的視頻幀數(shù)據(jù)累積到多個圖塊單元,其中所述多個圖塊單元的每一個包括多個視頻區(qū)段單元。圖塊壓縮/解壓縮模塊通過將所述多個視頻區(qū)段單元壓縮成多個壓縮的視頻區(qū)段單元,生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中,以及進一步地,通過取得所述多個壓縮的視頻區(qū)段單元,從所述壓縮視頻幀緩沖器中取得所述壓縮的視頻幀數(shù)據(jù),并通過解壓縮所述多個壓縮的視頻區(qū)段單元以生成未壓縮的視頻幀數(shù)據(jù)。
【專利說明】具有幀緩沖壓縮的視頻處理器及其使用方法
[0001]相關(guān)申請的交叉引用
[0002]本申請按照35U.S.C.119要求2013年I月22日提交的名稱為“VIDEO PROCESSORWITH FRAME BUFFER COMPRESSION AND METHODS FOR USE THEREWITH” 的申請?zhí)枮?61 /755,280的臨時申請的優(yōu)先權(quán),其全部內(nèi)容通過引用結(jié)合至此。
【技術(shù)領(lǐng)域】
[0003]本申請涉及在例如視頻編碼器、解碼器和轉(zhuǎn)碼器的設(shè)備中使用的編碼。
【背景技術(shù)】
[0004]對于現(xiàn)代視頻處理裝置,視頻編碼已成為重要的議題。魯棒(Robust)編碼算法允許視頻信號以減少的帶寬傳輸和存儲在較小的存儲器中。然而,這些編碼方法的準(zhǔn)確性面臨變得習(xí)慣于更高分辨率和更高圖像質(zhì)量的用戶的審閱。已經(jīng)為許多編碼方法制定了標(biāo)準(zhǔn),包括H.264標(biāo)準(zhǔn),也稱為MPEG-4、部分10或者高級視頻編碼(AVC)。雖然這一標(biāo)準(zhǔn)展示了許多強大的技術(shù),但還可能有進一步的改進來提高這些方法的執(zhí)行速度和性能。
[0005]在處理視頻的現(xiàn)代設(shè)備(例如視頻處理集成電路)中,存在許多視頻和圖像數(shù)據(jù)不得不存儲在裝置外部的存儲器中的實例。這通常發(fā)生在該視頻或圖像幀太大而不能存儲在該裝置本身內(nèi)的存儲器時。由于視頻或圖像幀的像素分辨率增加,這些視頻幀的處理所要求的存儲帶寬也增加。存儲帶寬可以是在設(shè)計這樣的視頻裝置時的一個考慮。
[0006]通過將這些系統(tǒng)與本發(fā)明比較,對于本領(lǐng)域普通技術(shù)人員來說,常見的和傳統(tǒng)的方法的其他局限和缺點將變得明顯。
【發(fā)明內(nèi)容】
[0007]根據(jù)本發(fā)明的一方面,提供一種視頻處理裝置,包括:視頻處理單元,其基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼視頻信號;圖塊引擎,包括:圖塊累積模塊,將未壓縮的視頻幀數(shù)據(jù)累積到多個圖塊單元中,其中,所述多個圖塊單元的每一個包括多個視頻區(qū)段單元,所述多個視頻區(qū)段單元的每一個包括來自視頻幀的相應(yīng)行的至少一部分的像素數(shù)據(jù);以及圖塊壓縮/解壓縮模塊,耦合至圖塊累積模塊,通過將所述多個視頻區(qū)段單元壓縮成多個壓縮的視頻區(qū)段單元來生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中,以及進一步地,通過取得所述多個壓縮的視頻區(qū)段單元來從所述壓縮視頻幀緩沖器中取得所述壓縮的視頻幀數(shù)據(jù),并通過解壓縮所述多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
[0008]視頻處理裝置可進一步包括:區(qū)段引擎,耦合至圖塊引擎和視頻幀緩沖器,包括定義對應(yīng)于所述壓縮視頻幀緩沖器的存儲地址范圍的至少一個寄存器。
[0009]視頻處理裝置可進一步包括:圖像處理單元,基于未壓縮的圖像幀數(shù)據(jù),處理視頻幀的至少一個圖像平面;以及其中,所述區(qū)段引擎進一步包括區(qū)段壓縮/解壓縮模塊,通過將未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,來生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器中,以及進一步地,通過取得多個壓縮的圖像區(qū)段單元來從所述壓縮圖像幀緩沖器中取得壓縮的圖像幀數(shù)據(jù),并通過解壓縮所述多個壓縮的圖像區(qū)段單元來生成未壓縮的圖像幀數(shù)據(jù)。
[0010]所述至少一個寄存器定義對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍。
[0011]當(dāng)對應(yīng)于來自所述圖像處理單元的寫命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,所述區(qū)段引擎可將寫命令識別為對應(yīng)于所述壓縮圖像幀緩沖器;以及當(dāng)對應(yīng)于來自所述圖像處理單元的讀命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,所述區(qū)段引擎可將讀命令識別為對應(yīng)于所述壓縮圖像幀緩沖器。
[0012]視頻處理裝置可進一步包括:顯示處理單元,其耦合至所述區(qū)段引擎,并基于未壓縮的視頻幀數(shù)據(jù)和未壓縮的圖像幀數(shù)據(jù)來處理視頻幀和視頻幀的至少一個圖像平面;其中,所述區(qū)段壓縮/解壓縮模塊通過取得多個壓縮的視頻區(qū)段單元來從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
[0013]所述區(qū)段引擎可進一步包括用于存儲未壓縮的圖像幀數(shù)據(jù)的高速緩存器;其中,當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些被存儲在所述高速緩存器中時,所述區(qū)段引擎通過從所述高速緩存器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些對來自所述圖像處理單元和所述顯示處理單元的請求進行響應(yīng);以及當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些沒有被存儲在所述高速緩存器中時,進一步從所述壓縮圖像幀緩沖器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些。
[0014]當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些被存儲在所述高速緩存器中時,所述區(qū)段引擎可通過從所述高速緩存器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些對來自所述顯示處理單元的請求進行響應(yīng),以及當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些沒有存儲在所述高速緩存器中時,通過取得相應(yīng)的壓縮的視頻區(qū)段單元、并解壓縮相應(yīng)的壓縮的視頻區(qū)段單元以生成未壓縮的視頻幀數(shù)據(jù)中被選擇的那些,來進一步從所述壓縮視頻幀緩沖器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些。
[0015]可基于解碼后的視頻信號生成處理后的視頻信號。
[0016]所述視頻處理單元可通過將解碼后的視頻信號重新編碼為處理后的視頻信號,來將視頻輸入信號轉(zhuǎn)碼成處理后的視頻信號。
[0017]根據(jù)本發(fā)明的一個方面,提出了一種將視頻輸入信號處理成處理后的視頻信號的方法,該方法包括:基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼后的視頻信號;將未壓縮的視頻幀數(shù)據(jù)累積到多個圖塊單元中,其中,所述多個圖塊單元中的每一個包括多個視頻區(qū)段單元,所述多個視頻區(qū)段單元的每一個包括來自視頻幀的相應(yīng)行的至少一部分的像素數(shù)據(jù);通過將所述多個視頻區(qū)段單元壓縮成多個壓縮的視頻區(qū)段單元,來生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中;以及通過取得多個壓縮的視頻區(qū)段單元來從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
[0018]所述方法可進一步包括:在寄存器中存儲對應(yīng)于所述壓縮視頻幀緩沖器的存儲地址范圍。[0019]所述方法可進一步包括:基于未壓縮的圖像幀數(shù)據(jù),處理視頻幀的至少一個圖像平面;通過將未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,來生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器中;通過取得多個壓縮的圖像區(qū)段單元來從所述壓縮圖像幀緩沖器中取得壓縮的圖像幀數(shù)據(jù),并通過解壓縮多個壓縮的圖像區(qū)段單元來生成未壓縮的圖像幀數(shù)據(jù)。
[0020]所述至少一個寄存器可定義對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍。
[0021]所述方法可進一步包括:當(dāng)對應(yīng)于寫命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,將所述寫命令識別為對應(yīng)于所述壓縮圖像幀緩沖器;以及當(dāng)對應(yīng)于讀命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,將所述讀命令識別為對應(yīng)于所述壓縮圖像幀緩沖器。
[0022]所述方法可進一步包括:基于未壓縮的視頻幀數(shù)據(jù)和未壓縮的圖像幀數(shù)據(jù),處理視頻幀和視頻幀的至少一個圖像平面;以及通過取得多個壓縮的視頻區(qū)段單元,從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
[0023]所述方法可進一步包括:將未壓縮的圖像幀數(shù)據(jù)存儲在高速緩存器中;當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些存儲在所述高速緩存器中時,從所述高速緩存器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些;以及當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些沒有存儲在所述高速緩存器中時,從所述壓縮圖像幀緩沖器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些。
[0024]所述方法可進一步包括:將未壓縮的視頻幀數(shù)據(jù)存儲在高速緩存器中;當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些被存儲在所述高速緩存器中時,從所述高速緩存器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些;以及當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些沒有存儲在所述高速緩存器中時,從所述壓縮視頻幀緩沖器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些。
[0025]根據(jù)本發(fā)明的一個方面,提供:視頻處理單元,基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼的視頻信號;數(shù)據(jù)對象壓縮/解壓縮模塊,耦合至所述視頻處理單元,通過將多個視頻數(shù)據(jù)對象壓縮成多個壓縮的視頻數(shù)據(jù)對象,生成壓縮的視頻幀數(shù)據(jù);將所述多個壓縮的視頻數(shù)據(jù)對象存儲在壓縮幀緩沖器中;通過識別出對應(yīng)于視頻幀數(shù)據(jù)的被選擇的部分的所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些視頻數(shù)據(jù)對象、取得所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些視頻數(shù)據(jù)對象以及解壓縮所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些視頻數(shù)據(jù)對象以生成未壓縮的視頻幀數(shù)據(jù),來從所述壓縮視頻幀緩沖器中取得視頻幀數(shù)據(jù)的被選擇的部分。
[0026]每個所述壓縮的視頻數(shù)據(jù)對象可以被存儲在所述壓縮幀緩沖器中的存儲器中的相應(yīng)預(yù)定義位置處的基準(zhǔn)存儲地址處。
[0027]所述數(shù)據(jù)對象壓縮/解壓縮模塊可為所述多個壓縮的視頻數(shù)據(jù)對象的每一個生成頭文件,該頭文件指示包含在其中的壓縮數(shù)據(jù)的尺寸。
[0028]所述數(shù)據(jù)對象壓縮/解壓縮模塊可為所述多個壓縮的視頻數(shù)據(jù)對象的每一個生成一個壓縮數(shù)據(jù)字段。
[0029]通過確定對應(yīng)于所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的基準(zhǔn)存儲地址、讀取對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象中所述被選擇的那些的每一個的頭文件以確定對應(yīng)于所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的壓縮數(shù)據(jù)的尺寸、以及基于相應(yīng)的基準(zhǔn)存儲地址和相應(yīng)的尺寸,取得對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的壓縮數(shù)據(jù)字段,所述數(shù)據(jù)對象壓縮/解壓縮模塊可取得所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些;。
[0030]所述多個視頻數(shù)據(jù)對象的第一子集通過無損壓縮方式被壓縮,所述多個視頻數(shù)據(jù)對象的第二子集通過有損壓縮方式被壓縮。
[0031]所述多個視頻數(shù)據(jù)對象的第一子集的相應(yīng)的一個將通過以下方式被壓縮:
[0032](a)壓縮所述多個視頻數(shù)據(jù)對象的所述相應(yīng)的一個;
[0033](b)將所述視頻數(shù)據(jù)對象的壓縮量與壓縮目標(biāo)進行比較;以及
[0034](C)當(dāng)所述視頻數(shù)據(jù)對象的壓縮量比所述壓縮目標(biāo)好時,將所述壓縮的視頻數(shù)據(jù)對象存儲在所述壓縮視頻幀緩沖器;以及
[0035]其中,所述多個視頻數(shù)據(jù)對象的第二子集的相應(yīng)的一個將通過以下方式被壓縮:
[0036](d)當(dāng)所述視頻數(shù)據(jù)對象的壓縮量比所述壓縮目標(biāo)差時,丟棄所述壓縮的視頻數(shù)據(jù)對象;
[0037](e)量化所述多個視頻數(shù)據(jù)對象的所述相應(yīng)的一個;以及
[0038](f)重復(fù)(a)-(e)直到所述視頻數(shù)據(jù)對象的壓縮量比所述壓縮目標(biāo)好。
[0039]所述多個視頻數(shù)據(jù)對象中的每一個可包括來自視頻幀的多個行的至少一部分的像素數(shù)據(jù)。
[0040]所述多個視頻數(shù)據(jù)對象的每一個可包括來自視頻幀的相應(yīng)行的至少一部分的像
素數(shù)據(jù)。
[0041]通過累積所述未壓縮的視頻幀數(shù)據(jù)至多個圖塊單元,所述數(shù)據(jù)對象壓縮/解壓縮模塊可為所述數(shù)據(jù)對象生成所述壓縮的視頻幀數(shù)據(jù),其中,所述多個圖塊單元中的一個包括所述多個視頻數(shù)據(jù)對象。
[0042]所述視頻處理裝置可進一步包括圖像處理單元,基于未壓縮的圖像幀數(shù)據(jù)處理所述視頻幀的至少一個圖像平面;以及,其中,通過將所述未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,所述數(shù)據(jù)對象壓縮/解壓縮模塊生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器,以及進一步通過取得所述多個壓縮的圖像區(qū)段單元來從所述壓縮圖像幀緩沖器中取得所述壓縮的圖像幀數(shù)據(jù),并通過解壓縮所述多個壓縮的圖像區(qū)段單元以生成未壓縮的圖像幀數(shù)據(jù)。
[0043]根據(jù)本發(fā)明的一個方面,提供一種將視頻輸入信號處理成處理的視頻信號的方法,該方法包括:根據(jù)視頻壓縮協(xié)議將所述視頻輸入信號解碼成解碼的視頻信號;通過將多個視頻數(shù)據(jù)對象壓縮成多個壓縮的視頻數(shù)據(jù)對象來生成壓縮的視頻幀數(shù)據(jù);以及,通過識別對應(yīng)于所述視頻幀數(shù)據(jù)中被選擇的部分的、多個壓縮的視頻數(shù)據(jù)對象中的被選擇的那些、取得所述多個壓縮的視頻數(shù)據(jù)對象中所選擇的那些、以及通過解壓縮所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些以生成未壓縮的視頻幀數(shù)據(jù),來從所述壓縮視頻幀緩沖器中取得視頻幀數(shù)據(jù)中被選擇的部分。
[0044]所述壓縮的視頻數(shù)據(jù)對象的每一個可被存儲在所述壓縮幀緩沖器中的存儲器中的相應(yīng)預(yù)定位置處的基準(zhǔn)存儲地址處;其中,所述壓縮的視頻數(shù)據(jù)對象的每一個包括頭文件,所述頭文件指示包含在其中的所述壓縮數(shù)據(jù)的尺寸;以及其中所述壓縮的視頻數(shù)據(jù)對象的每一個可包括壓縮數(shù)據(jù)字段。
[0045]取得所述多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些包括:確定對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的基準(zhǔn)存儲地址;讀取對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的頭文件,以確定對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的壓縮數(shù)據(jù)的尺寸;以及,基于相應(yīng)的基準(zhǔn)存儲地址和相應(yīng)的尺寸,取得對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象中被選擇的那些的每一個的壓縮數(shù)據(jù)字段。
[0046]所述多個視頻數(shù)據(jù)對象的第一子集通過無損壓縮方式被壓縮,以及所述多個視頻數(shù)據(jù)對象的第二子集通過有損壓縮方式被壓縮。
[0047]所述方法可進一步包括通過將所述未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器中;以及,通過取得所述多個壓縮的圖像區(qū)段單元,從所述壓縮圖像幀緩沖器中取得所述壓縮的圖像幀數(shù)據(jù),并通過解壓縮所述多個壓縮的圖像區(qū)段單元以生成未壓縮的圖像幀數(shù)據(jù)。
【專利附圖】
【附圖說明】
[0048]圖1-3表示根據(jù)本發(fā)明的實施例的各種視頻處理裝置的示意圖。
[0049]圖4表示根據(jù)本發(fā)明的一個實施例的視頻處理裝置125的框圖。
[0050]圖5表示根據(jù)本發(fā)明的一個實施例的視頻編碼器/解碼器102的框圖。
[0051]圖6表示根據(jù)本發(fā)明的一個實施例的視頻幀216的圖。
[0052]圖7表示根據(jù)本發(fā)明的一個實施例的示例性圖塊單元218的圖。
[0053]圖8表示根據(jù)本發(fā)明的一個實施例的存儲模塊202和處理模塊222的框圖。
[0054]圖9-14表示根據(jù)本發(fā)明的實施例的示例性讀和寫操作的框圖。
[0055]圖15表示根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)對象壓縮的框圖。
[0056]圖16表示根據(jù)本發(fā)明的一個實施例的壓縮數(shù)據(jù)對象264的示意圖。
[0057]圖17表示根據(jù)本發(fā)明的一個實施例的視頻處理裝置125'的框圖。
[0058]圖18表示根據(jù)本發(fā)明的一個實施例的區(qū)域識別信號生成器150的框圖。
[0059]圖19表示根據(jù)本發(fā)明的一個實施例的圖像310的圖。
[0060]圖20表示根據(jù)本發(fā)明的一個實施例的視頻存儲系統(tǒng)179的框圖。
[0061]圖21表不根據(jù)本發(fā)明的一個實施例的視頻分配系統(tǒng)375的框圖。
[0062]圖22表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0063]圖23表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0064]圖24表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0065]圖25表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0066]圖26表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0067]圖27表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0068]圖28表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0069]圖29表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0070]圖30表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0071]圖31表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。[0072]圖32表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
[0073]圖33表示根據(jù)本發(fā)明的一個實施例的方法的流程圖。
【具體實施方式】
[0074]圖1-3表示根據(jù)本發(fā)明的實施例的各種視頻處理裝置的示意圖。特別地,具有內(nèi)置數(shù)字視頻記錄器功能或獨立的數(shù)字視頻記錄器的機頂盒10、電視計算機20和便攜式計算機30圖示了包含視頻處理裝置125的電子設(shè)備,視頻處理裝置125包括本發(fā)明的一個或多個特征或功能。雖然圖示了這些特定的裝置,但視頻處理裝置125包括能夠根據(jù)結(jié)合附圖4-33和附加的權(quán)利要求描述的系統(tǒng)和方法進行編碼和/或解碼視頻內(nèi)容的任意裝置。
[0075]圖4表示根據(jù)本發(fā)明的一個實施例的視頻處理裝置125的框圖。特別地,視頻處理裝置125包括接收模塊100,例如電視接收機、有線電視接收機、衛(wèi)星廣播接收機、寬帶調(diào)制解調(diào)器、3G收發(fā)器或其他能夠接收接收的信號98和通過時分解復(fù)用、頻分解復(fù)用或其他解復(fù)用技術(shù)提取一個或多個視頻信號110的信息接收機或收發(fā)器。視頻編碼/解碼模塊102耦合至所述接收模塊100,以對應(yīng)于視頻顯示裝置104的格式編碼、解碼或轉(zhuǎn)碼所述視頻信號。
[0076]在本發(fā)明的一個實施例中,所述接收信號98是廣播視頻信號,例如高清電視信號、增強的高清電視信號、或其他經(jīng)由無線介質(zhì)直接或通過一個或多個衛(wèi)星或其他中繼站或通過有線網(wǎng)絡(luò)、光網(wǎng)絡(luò)或其他傳輸網(wǎng)絡(luò)傳輸?shù)膹V播視頻信號。另外,接收信號98從存儲的視頻文件生成,從例如磁帶、磁盤或光盤的記錄介質(zhì)回放,并且可包括包括通過公共或個人網(wǎng)絡(luò)(例如局域網(wǎng)、廣域網(wǎng)、城域網(wǎng)或因特網(wǎng))傳輸?shù)牧饕曨l信號或視頻下載信號。
[0077]視頻信號110和處理后的視頻信號112可以是按照一種編解碼標(biāo)準(zhǔn)格式化的數(shù)字視頻信號,該編解碼標(biāo)準(zhǔn)例如是H.264、MPEG-4部分10高級視頻編碼(AVC)VCl或其他數(shù)字格式,例如運動圖像專家組(MPEG)格式(例如MPEG1、MPEG2或MPEG4)、Quicktime格式、實時媒體格式、或視窗媒體視頻(WMV)或其他數(shù)字視頻格式,或者是標(biāo)準(zhǔn)的或者是專有的。特別地,一旦被解碼,視頻信號110有時被顯示器使用,有時也與一個或多個圖像平面混合并隨后輸出至電視;或者,視頻能被處理、縮放,與媒體數(shù)據(jù)、子標(biāo)題、字幕或圖像對象或菜單混合,和/或重壓縮到壓縮格式從而能夠重傳到遠(yuǎn)程裝置。
[0078]視頻顯示裝置104可包括電視、監(jiān)視器、計算機、手提沒備或其他直接或間接創(chuàng)建光圖像流的視頻顯示裝置,例如通過基于將處理后的視頻信號112解碼為流視頻信號的投影,或通過回放存儲的數(shù)字視頻文件。
[0079]視頻編碼器/解碼器102根據(jù)本發(fā)明操作,并特別包含結(jié)合隨后的圖5-33描述的多個可選的功能和特征。
[0080]圖5表示根據(jù)本發(fā)明的一個實施例的視頻編碼器/解碼器102的框圖。特別地,視頻編碼器/解碼器102根據(jù)H.264或H.265標(biāo)準(zhǔn)、MPEG-4標(biāo)準(zhǔn)、VC-1 (SMPTE標(biāo)準(zhǔn)421M)高清媒體接口(HDMI)或其他標(biāo)準(zhǔn)的許多功能和特征進行操作,以將視頻輸入信號110編碼、解碼或轉(zhuǎn)碼成處理后的視頻信號112。經(jīng)由信號接口 198接收視頻信號110和輸出視頻信號112。言號接口 198包括一個或多個裝置接口,其將視頻編碼器/解碼器102與主機的其他組件和/或其他外部設(shè)備進行接口,例如調(diào)制解調(diào)器、網(wǎng)絡(luò)接口、無線收發(fā)器、數(shù)據(jù)總線或其他能夠接收和/或輸出視頻信號110和處理后的視頻信號112的數(shù)字接口。[0081]視頻編碼器102包括處理模塊200,處理模塊包括一個或多個處理裝置,例如中央處理單元(CPU) 204、音頻處理單元(APU) 206、視頻處理單元(VPU) 208、圖像處理單元(GPU) 210和顯示處理單元(DPU)212。這些處理單元中的每一個可使用單個處理裝置或多個處理裝置來實現(xiàn)。這樣的處理裝置可以是微處理器、協(xié)處理器、微控制器、數(shù)字信號處理器、微計算機、中央處理單元、現(xiàn)場可編程門陣列、可編程邏輯裝置、狀態(tài)機、邏輯電路、模擬電路、數(shù)字電路和/或基于存儲在存儲器(例如存儲模塊202)中的操作指令處理信號(模擬和/或數(shù)字)的任意裝置。存儲模塊202可以是單個存儲設(shè)備或多個存儲設(shè)備。這樣的存儲設(shè)備包括硬盤裝置或其他盤驅(qū)動、只讀存儲器、隨機接入存儲器、易失性存儲器、非易失性存儲器、靜態(tài)存儲器、動態(tài)存儲器、快閃存儲器、高速緩存器和/或任意存儲數(shù)字信息的設(shè)備。注意,當(dāng)處理模塊經(jīng)由狀態(tài)機、模擬電路、數(shù)字電路和/或邏輯電路執(zhí)行其一個或多個其功能時,存儲相應(yīng)操作指令的存儲器可被嵌入或外接到包含所述狀態(tài)機、模擬電路、數(shù)字電路和/或邏輯電路的電路。
[0082]處理模塊200和存儲器模塊202經(jīng)由總線214耦合到信號接口 198,并可選地耦合到可以以硬件、軟件或固件實現(xiàn)的其他未具體示出的模塊。雖然示出了特定的總線結(jié)構(gòu),但根據(jù)本發(fā)明也可執(zhí)行采用在一個或多個模塊和/或附加總線之間直接相連的可替代結(jié)構(gòu)。
[0083]在操作中,處理模塊200編碼、解碼或轉(zhuǎn)碼視頻信號110以生成處理后的視頻信號112。該編碼、解碼和/或轉(zhuǎn)碼經(jīng)由存儲在存儲模塊202中的一個或多個壓縮幀緩沖器205操作。特別地,為了減少存儲帶寬,存儲模塊202提供一種結(jié)構(gòu)以壓縮存儲在存儲器中的視頻和/或圖像幀緩沖器所需要的數(shù)據(jù)。
[0084]在編碼、解碼 和/或轉(zhuǎn)碼的過程中可使用兩種類型的存儲對象。一種類型的存儲對象是可以順序數(shù)據(jù)對象為特性的“區(qū)段單元”(span unit)。在順序數(shù)據(jù)對象中,該處理本質(zhì)上是線性的,并且在一定的區(qū)段內(nèi)是一維的和連續(xù)的。第二種類型的存儲對象是“圖塊單元”(tilt unit),其以數(shù)據(jù)對象為特性,例如二維矩陣或被以二維方式處理的其他數(shù)據(jù)結(jié)構(gòu)。特別地,圖塊單元可具有相關(guān)性,或可包括在相同操作內(nèi)創(chuàng)建的多個區(qū)段單元。
[0085]下面將參見隨后的圖6-7說明區(qū)段單元和圖塊單元的示例實現(xiàn)。
[0086]圖6表示根據(jù)本發(fā)明的一個實施例的視頻幀216的示意圖。特別地,示出了視頻幀216,其包括具有二維像素陣列的圖像(幀或場)。視頻幀216被分成多個區(qū)段單元(SU),該多個區(qū)段單元被安排為二維矩陣或陣列。每個區(qū)段單元包括視頻幀216的一行像素數(shù)據(jù)的至少一部分。在示出的實施例中,視頻幀216的第一行像素數(shù)據(jù)包含在SU(1,I),SU(1,
2)……中,以及視頻幀216的第二行像素數(shù)據(jù)包含在SU (2,I),SU (2, 2)……中等。每個區(qū)段單元具有在編碼器/解碼器102初始化期間預(yù)定的尺寸。在操作中,每個SU被壓縮用于存儲在壓縮幀緩沖器中。SU的長度是被選擇以平衡增加壓縮算法效率的需要與最小化粒度損失的需要的、盡可能小的尺寸。注意,例如,當(dāng)多個壓縮幀緩沖器205與存儲模塊202 —起執(zhí)行時,可能存在一種或多種類型的SU。存儲在視頻幀緩沖器中的視頻SU可具有與存儲在圖像幀緩沖器中的圖像SU不同的長度。進一步,對應(yīng)于各不同類型的區(qū)段單元,基礎(chǔ)的壓縮方法也可不同。例如,圖像SU和視頻SU可被不同地壓縮,以存儲在它們各自的壓縮幀緩沖器中。
[0087]圖7表示根據(jù)本發(fā)明的一個實施例的示出了示例圖塊單元218的示意圖。在所示的示例中,圖塊單元(TU) 218由垂直排列的一系列SU構(gòu)成,以形成一個二維塊。TU的尺寸是在編碼器/解碼器102的初始化期間預(yù)先確定的尺寸。在示出的示例中,TU與SU具有相同的長度,但是,在其他實施例中也可以具有其他整數(shù)倍的SU長度。進一步地,所示出的TU的高度是整數(shù)個,即N個SU??蛇x擇TU的高度以優(yōu)化潛在視頻處理的處理要求。
[0088]圖8表不根據(jù)本發(fā)明的一個實施例的存儲模塊202和處理模塊200的框圖表不。特別地,處理模塊CPU204、APU206、VPU208、GPU210和DPU212經(jīng)由區(qū)段引擎230和包括用于存儲器240的讀通道和寫通道的內(nèi)部存儲總線220耦合至存儲器240。VPU208還耦合至圖塊引擎250。雖然示出了單個CPU204、APU206、VPU208、GPU210和DPU212,但可以通過類似的形式實現(xiàn)每一類型的多個處理單元。
[0089]視頻處理單元208根據(jù)視頻壓縮協(xié)議將視頻輸入信號,例如視頻信號110解碼成處理后的視頻信號112。VPU208基于以壓縮格式存儲在存儲器240的壓縮視頻幀緩沖器242中的未壓縮的視頻幀數(shù)據(jù)進行操作。圖塊引擎250包括圖塊累積模塊254,其將未壓縮的視頻幀數(shù)據(jù)累積至多個圖塊單元。圖塊壓縮/解壓縮模塊252通過將每個圖塊單元的視頻區(qū)段單元壓縮成壓縮的視頻區(qū)段單元,來生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器242中。圖塊壓縮/解壓縮模塊252通過取得相應(yīng)的壓縮的視頻區(qū)段單元來從壓縮視頻幀緩沖器242中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮所述壓縮的視頻區(qū)段單元以生成未壓縮的視頻幀數(shù)據(jù)。
[0090]區(qū)段引擎230包括定義對應(yīng)于所述壓縮視頻幀緩沖器和壓縮圖像幀緩沖器244的存儲地址的范圍的至少一個寄存器232。圖像處理單元210基于未壓縮的圖像幀數(shù)據(jù)處理視頻幀的一個或多個圖像平面。所述區(qū)段引擎進一步包括區(qū)段壓縮/解壓縮模塊234,其通過將所述未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元來生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器242中,以及進一步地,通過取得所述相應(yīng)的壓縮的圖像區(qū)段單元來從壓縮圖像幀緩沖器中取得壓縮的圖像幀數(shù)據(jù),并且通過解碼多個壓縮的圖像區(qū)段單元來生成未壓縮的圖像幀數(shù)據(jù)。區(qū)段引擎230能進行類似的壓縮和解壓縮視頻區(qū)段單元,除了由VPU208執(zhí)行的讀寫操作,其經(jīng)由圖塊引擎250避開區(qū)段引擎230的壓縮和解壓縮。區(qū)段引擎管理包括一組用于高速緩存區(qū)段單元的高速緩存器的高速緩存器236、管理一致性、以及為經(jīng)由高速緩存器的所有讀寫提供服務(wù)。
[0091]在操作中,每個范圍寄存器232定義每個壓縮幀緩沖器的存儲器240中的開始地址和長度。除了經(jīng)由圖塊引擎250來處理壓縮和解壓縮的略讀(bypass read)操作之外,具有范圍寄存器內(nèi)的地址的任意讀操作首先將被針對高速緩存器236進行檢查。如果區(qū)段單元數(shù)據(jù)被高速緩存,其可被立即處理。如果區(qū)段單元數(shù)據(jù)未在高速緩存器236中,在未壓縮的區(qū)段單元數(shù)據(jù)將被返回之前,壓縮的SU可從存儲器240中取得并被解壓縮。除了略寫(bypass write)操作,具有范圍寄存器內(nèi)的地址的任意寫操作將被累積到高速緩存器236的高速緩存器中,并由區(qū)段引擎管理。略讀和略寫操作被區(qū)段引擎230忽略,并直接被發(fā)送到存儲器240中。
[0092]可連同由VPU208解碼壓縮視頻流的示例來定義處理模塊200和存儲模塊202的操作。存儲器240中的范圍將被指定為壓縮的,并且該范圍足夠大,以能夠處理GPU210、VPU208和DPU212所要求的所有視頻和圖像緩沖器。這些壓縮緩沖器將被相應(yīng)的寄存器232指定。CPU204和APU206可選地處理未壓縮的數(shù)據(jù),因為與VPU208、GPU210和DPU212相比,它們在非常低的存儲帶寬要求上操作。出于這些目的,在存儲器240中可留出未壓縮音頻緩沖器246和未壓縮數(shù)據(jù)空間248。與未壓縮音頻緩沖器246和未壓縮數(shù)據(jù)空間248的存儲空間相對應(yīng)的讀寫地址可被直接傳遞到存儲器240。
[0093]VPU208解碼壓縮視頻流。解碼的YUV數(shù)據(jù)被寫入到外部存儲器。該數(shù)據(jù)將被累積到圖塊引擎250的圖塊累積模塊254中,該圖塊累積模塊254作為將數(shù)據(jù)組合到多個SU的區(qū)段中的高速緩存器。一旦區(qū)段被填充和壓縮,隨著一系列壓縮的SU寫在為每個壓縮的SU的輸出保留的存儲地址處,壓縮的TU可被直接寫出至主存儲器。當(dāng)僅被部分填充時,如果TU被清空(flush),可從壓縮視頻幀緩沖器242收集被要求填充整個TU的丟失數(shù)據(jù)。為了創(chuàng)建完整的TU,每個壓縮的SU將被讀入、被圖塊壓縮/解壓縮模塊252解壓縮,并被組合到TU的其他區(qū)段單元中。接著,隨著一系列壓縮的SU寫在為每個壓縮的SU的輸出保留的存儲地址處,重組的TU可被壓縮和寫出。如果需要圖像平面,每個圖像平面被GPU210創(chuàng)建,該GPU210提取要存儲在壓縮圖像幀緩沖器244中的每個元素。圖像幀緩存數(shù)據(jù)也被分成一系列壓縮的SU讀寫。將由區(qū)段引擎230經(jīng)由其高速緩存器236的緩沖器為這些從和到存儲器240的讀和寫提供服務(wù)。當(dāng)DPU212需要合成每個視頻和圖像平面以顯示時,所有讀取的數(shù)據(jù)將經(jīng)由區(qū)段引擎230解壓縮。
[0094]下面將結(jié)合圖9-14呈現(xiàn)存儲模塊202的讀寫操作的進一步示例。
[0095]圖9-14表示根據(jù)本發(fā)明的實施例的示例讀寫操作的框圖。如圖9所示,CPU204生成針對未壓縮數(shù)據(jù)248的讀寫命令。未壓縮寫數(shù)據(jù)302耦合至內(nèi)部存儲總線220。因為寫地址并不對應(yīng)于存儲器240的壓縮區(qū)域,未壓縮寫數(shù)據(jù)302直接傳遞至存儲器240到達(dá)對應(yīng)于未壓縮數(shù)據(jù)的存儲區(qū)域的寫地址。類似地,由于讀地址并不對應(yīng)于存儲器240的壓縮區(qū)域,未壓縮讀數(shù)據(jù)300穿過區(qū)段引擎230,直接從存儲器240傳遞到內(nèi)部存儲總線220以提供給CPU204。
[0096]如圖10所示,APU206生成針對未壓縮音頻數(shù)據(jù)246的讀寫命令。未壓縮寫數(shù)據(jù)306耦合至內(nèi)部存儲總線220。因為寫地址不對應(yīng)于存儲器240的壓縮區(qū)域,未壓縮寫數(shù)據(jù)306直接傳送到存儲器240到達(dá)對應(yīng)于未壓縮音頻緩沖器246的存儲空間的寫地址,并且未壓縮數(shù)據(jù)空間248可被直接傳遞到存儲器240。類似地,由于讀地址不對應(yīng)于存儲器240的壓縮區(qū)域,未壓縮讀數(shù)據(jù)304穿過區(qū)段引擎230,直接從存儲器240傳遞到內(nèi)部存儲總線220以提供給APU206。
[0097]如圖11所示,VPU208生成針對壓縮的視頻幀數(shù)據(jù)242的讀寫命令。未壓縮寫數(shù)據(jù)314被圖塊引擎350累積,并隨著一系列壓縮區(qū)段單元寫操作被輸出至內(nèi)部存儲總線220作為壓縮的寫數(shù)據(jù)316。壓縮的寫數(shù)據(jù)316是略過操作(bypass operation),其被直接傳遞到存儲器240到達(dá)為這些壓縮的區(qū)段單元保留的壓縮視頻幀數(shù)據(jù)242的存儲空間中。類似地,壓縮的讀數(shù)據(jù)310略過區(qū)段引擎230,直接從存儲器240穿過區(qū)段引擎230傳遞到內(nèi)部存儲總線220。圖塊引擎250解壓縮壓縮讀數(shù)據(jù)310以作為未壓縮讀數(shù)據(jù)312提供給VPU208。
[0098]如圖12所示,未壓縮的視頻幀數(shù)據(jù)320 (例如以解碼的YUV數(shù)據(jù)形式)被累積到圖塊引擎250的圖塊累積模塊254中,圖塊累積模塊254作為這些數(shù)據(jù)被組合到多個SU的未壓縮的區(qū)段322的高速緩存器。一旦區(qū)段被填充并被壓縮模塊256壓縮成壓縮的區(qū)段單元324,隨著一系列壓縮的SU寫入為每個壓縮的SU的輸出保留的存儲地址,壓縮的TU可經(jīng)由內(nèi)部存儲總線220被直接寫出到存儲器中。當(dāng)僅部分被填充時,如果TU被清空,從壓縮視頻幀緩沖器中收集填充整個TU所需的丟失數(shù)據(jù)。每個壓縮的SU326將被讀入、被圖塊解壓縮模塊258解壓縮、并被組合到TU的其他區(qū)段單元以創(chuàng)建完整的TU。接著,隨著一系列壓縮的SU寫入為每個壓縮的SU的輸出保留的存儲地址,重組的TU被壓縮和寫出。
[0099]如圖13所示,GPU204生成針對壓縮圖像幀緩沖器244的讀寫命令。未壓縮寫數(shù)據(jù)334耦合至內(nèi)部存儲總線220。由于寫地址對應(yīng)于存儲器240的壓縮區(qū)域,在存儲到存儲器之前,未壓縮寫數(shù)據(jù)334被區(qū)段引擎230高速緩存并壓縮以形成壓縮的寫數(shù)據(jù)336。類似地,由于讀地址對應(yīng)于存儲器240的壓縮區(qū)域,未壓縮的讀數(shù)據(jù)330從高速緩沖器236中取得或通過解壓縮從存儲器240中取得的壓縮的讀數(shù)據(jù)332來生成,并作為未壓縮的讀數(shù)據(jù)330經(jīng)由內(nèi)部存儲總線220提供給VPU204。
[0100]如圖14所示,DPU204生成針時壓縮圖像幀緩沖器244和壓縮視頻幀緩沖器242的讀寫命令。未壓縮的寫數(shù)據(jù)344耦合至內(nèi)部存儲總線220。由于寫地址對應(yīng)于存儲器240的壓縮區(qū)域,在被存儲到存儲器之前,未壓縮的寫數(shù)據(jù)344被區(qū)段引擎230高速緩存,并被壓縮以形成壓縮的寫數(shù)據(jù)346。類似地,由于讀地址對應(yīng)于存儲器240的壓縮區(qū)域,未壓縮的讀數(shù)據(jù)340從高速緩存器236中取得或者通過解壓縮從存儲器240中取得的壓縮的讀數(shù)據(jù)342來生成,并作為未壓縮的讀數(shù)據(jù)340經(jīng)由內(nèi)部存儲總線220提供給VPU204。
[0101]圖15表示根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)對象壓縮的框圖。特別地,示出了壓縮解壓縮模塊252或234執(zhí)行的數(shù)據(jù)壓縮和解壓縮的一個實施例。通常,將整個視頻參考幀或者圖像幀作為一個整體進行壓縮是不可行的,因為后續(xù)圖像處理可能僅需要該幀的一小部分。如之前所討論的,以提供到該幀數(shù)據(jù)的部分的隨機訪問能力的方式,更小的數(shù)據(jù)對象(例如區(qū)段單元)被壓縮成壓縮的數(shù)據(jù)對象(例如壓縮的區(qū)段單元)。
[0102]接著,如所示的,每個數(shù)據(jù)對象(D0)260分別被壓縮成相應(yīng)的壓縮數(shù)據(jù)對象(CDO) 2620如所示的,基于每個數(shù)據(jù)對象260的壓縮量,所述壓縮數(shù)據(jù)對象262可以是不同的尺寸。每個壓縮數(shù)據(jù)對象262被存儲在存儲器240的一部分中的預(yù)定位置,例如為壓縮數(shù)據(jù)或該類型的壓縮數(shù)據(jù)(視頻幀數(shù)據(jù),圖像幀數(shù)據(jù)等等)保留的地址范圍。特別地,每個壓縮數(shù)據(jù)對象262被存儲在存儲器中的相應(yīng)預(yù)定位置處的基礎(chǔ)存儲地址中。例如,數(shù)據(jù)對象(例如區(qū)段單元)在視頻幀或圖像幀中的位置可基于幀大小、分辨率等預(yù)先確定。每個數(shù)據(jù)對象260可與存儲器240的一部分中的基礎(chǔ)存儲地址相關(guān)聯(lián),該基礎(chǔ)存儲地址對應(yīng)于與特定數(shù)據(jù)對象260相對應(yīng)的壓縮數(shù)據(jù)對象262將要被存儲的位置。
[0103]圖16表示根據(jù)本發(fā)明的一個實施例的壓縮數(shù)據(jù)對象264的示意圖。如圖15所示出的,基于每個數(shù)據(jù)對象260的壓縮量,所述壓縮數(shù)據(jù)對象262可以是不同的尺寸。在操作中,壓縮解壓縮模塊252或234壓縮所述數(shù)據(jù)對象,生成指示每個壓縮數(shù)據(jù)對象262的壓縮數(shù)據(jù)的尺寸的頭文件266,并在壓縮數(shù)據(jù)字段268中存儲所述壓縮數(shù)據(jù)。
[0104]當(dāng)需要一個幀的區(qū)域時,解壓縮模塊首先識別對應(yīng)于所選擇的幀的部分的壓縮數(shù)據(jù)對象262中被選擇的那些。接著,通過確定每個壓縮數(shù)據(jù)對象262的相應(yīng)基礎(chǔ)存儲地址,壓縮解壓縮模塊252計算所需要的數(shù)據(jù)對象在存儲器中的位置。通過讀取相應(yīng)的頭文件266,壓縮解壓縮模塊252獲取每個壓縮數(shù)據(jù)對象262的正確尺寸,基于所述尺寸取得壓縮數(shù)據(jù)字段268,并解壓縮所述壓縮數(shù)據(jù)字段,以重新生成數(shù)據(jù)對象260,
[0105]應(yīng)當(dāng)注意的是,雖然之前結(jié)合所述區(qū)段單元的壓縮進行說明,但是在其他實施例中,壓縮解壓縮模塊252可直接壓縮圖塊單元,而不是單個壓縮區(qū)段單元。進一步地,可選地,不同的壓縮解壓縮模塊252或234針對對應(yīng)于例如壓縮視頻區(qū)段單元和壓縮圖像區(qū)段單元的不同數(shù)據(jù)對象可采用不同的壓縮方法。
[0106]在本發(fā)明的一個實施例中,為了更靈活地獲得特定的帶寬減少率,對幀數(shù)據(jù),例如視頻幀數(shù)據(jù),進行有損壓縮和無損壓縮的混合壓縮。可以理解的是,采用有損壓縮,則所存儲的幀將不同于原始幀。當(dāng)這些幀被顯示,或作為參考幀使用時,將存在不匹配。存儲帶寬效率的增加的代價是圖像質(zhì)量的下降。
[0107]在一個實施例中,壓縮目標(biāo)可被設(shè)置,并且只要對特定數(shù)據(jù)對象260所實現(xiàn)的實際壓縮滿足或超過所述壓縮目標(biāo),可采用無損壓縮。在無損壓縮不足以達(dá)到或超過所述壓縮目標(biāo)的情形下,可采用有損壓縮以達(dá)到或超過所述壓縮目標(biāo)。例如,壓縮/解壓縮模塊252或234可操作以使用無損方案來初始壓縮數(shù)據(jù)對象260。如果不能達(dá)到所述壓縮目標(biāo),數(shù)據(jù)對象260被再次量化和壓縮。這一處理被重復(fù),直到達(dá)到所述壓縮目標(biāo)。
[0108]結(jié)合下文,可描述每個數(shù)據(jù)對象260的壓縮,特別是有損/無損壓縮的選擇的處理:
[0109](a)壓縮該數(shù)據(jù)對象260;
[0110](b)將該數(shù)據(jù)對象260的壓縮量與壓縮目標(biāo)進行比較;
[0111](C)當(dāng)數(shù)據(jù)對象260的壓縮量比所述壓縮目標(biāo)好時,將該壓縮數(shù)據(jù)對象262存儲在壓縮視頻幀緩沖器中;
[0112](d)當(dāng)數(shù)據(jù)對象的壓縮量比所述壓縮目標(biāo)差時,丟棄該壓縮視頻數(shù)據(jù)對象260,并量化數(shù)據(jù)對象260 ;以及
[0113](e)重復(fù)步驟(a)-(d),直到數(shù)據(jù)對象260的壓縮量比所述壓縮目標(biāo)好。
[0114]如上所述,當(dāng)無損壓縮不足以達(dá)到所述壓縮目標(biāo)時,數(shù)據(jù)對象260被重復(fù)量化,直到該量化的數(shù)據(jù)對象的壓縮滿足或超過所述壓縮目標(biāo)。這導(dǎo)致這樣的數(shù)據(jù)幀壓縮,其中數(shù)據(jù)對象260的第一子集經(jīng)由無損壓縮方式被壓縮,數(shù)據(jù)對象260的第二子集經(jīng)由有損壓縮方式被壓縮一取決于所選擇的特定壓縮目標(biāo)和將被壓縮的幀數(shù)據(jù)上的每個特定數(shù)據(jù)對象260的可能的壓縮量。還應(yīng)當(dāng)注意的是,視頻幀可被劃分為區(qū)域,并采用這種方案針對不同的區(qū)域獲得不同的壓縮目標(biāo)。例如,與幀的周邊部分相比,屏幕的中心部分可采用較小壓縮目標(biāo)以保持保真度。另外,可識別視頻幀中的對應(yīng)于重要圖像的感興趣區(qū)域。與一個或多個感興趣區(qū)域之外的幀的部分相比,視頻幀中的一個或多個感興趣區(qū)域可采用較小壓縮目標(biāo)以保持保真度。
[0115]下面將結(jié)合隨后的圖17-19,進一步討論基于包括多個選擇性功能和特征的視頻幀中被識別的一個或多個區(qū)域的不同壓縮目標(biāo)的使用。
[0116]圖17表示根據(jù)本發(fā)明的一個實施例的視頻處理裝置125的框圖。特別地,示出了類似于視頻處理裝置125起作用的視頻處理裝置125',但是視頻編碼器/解碼器102'包括區(qū)域識別信號生成器150,用于識別視頻幀中的一個或多個感興趣區(qū)域?;谠搮^(qū)域識別信號,從多個可能的目標(biāo)值中選擇用于使壓縮合格的壓縮目標(biāo)。
[0117]如結(jié)合圖16所討論的,一個或多個感興趣區(qū)域之外的幀部分相比,視頻幀中的一個或多個感興趣區(qū)域采用較小壓縮目標(biāo)以保持保真度。特別地,選擇壓縮目標(biāo)以將第一壓縮目標(biāo)應(yīng)用于與感興趣區(qū)域?qū)?yīng)的數(shù)據(jù)對象以及將第二壓縮目標(biāo)應(yīng)用于不對應(yīng)于感興趣區(qū)域的數(shù)據(jù)對象,其中,與第一壓縮目標(biāo)相比,第二壓縮目標(biāo)要求更多的壓縮。例如,區(qū)域識別信號能夠識別對應(yīng)于視頻幀中的臉部的一個或多個區(qū)域,當(dāng)視頻處理裝置125'的用戶觀看時,該一個或多個區(qū)域受到更仔細(xì)的觀察。
[0118]在一個實施例中,為感興趣區(qū)域所選擇的壓縮目標(biāo)可以是微不足道的0%壓縮的目標(biāo)。這迫使壓縮/解壓縮模塊252或234接受任意的無損壓縮量,排除有損壓縮在這些區(qū)域內(nèi)應(yīng)用的可能性。在另一實施例中,在感興趣區(qū)域中采用非微不足道的但仍然較小的壓縮目標(biāo)。這將使壓縮決定在這些區(qū)域中傾向于接受無損壓縮,并進一步傾向于接受數(shù)據(jù)對象的較少的量化,這導(dǎo)致在采用有損壓縮時會造成較少的損失。
[0119]圖18表示根據(jù)本發(fā)明的一個實施例的區(qū)域識別信號生成器150的框圖。特別地,區(qū)域識別信號生成器150包括區(qū)域檢測模塊320,用于檢測在至少一個圖像中的檢測區(qū)域322,例如,該圖像可以是被壓縮以存儲在壓縮視頻幀緩沖器242中的視頻幀。在操作中,區(qū)域檢測模塊320可檢測可能要求更高圖像質(zhì)量的特殊圖案或其他感興趣區(qū)域的存在。這樣的圖案的一個示例是人臉或其他臉,但是,其他圖案包括符號、文本、重要圖像和能夠被類似地執(zhí)行的特定應(yīng)用圖案和其他圖案。區(qū)域識別信號生成器150可選地包括區(qū)域凈模塊324,例如通過形態(tài)學(xué)操作基于所述檢測區(qū)域322生成凈區(qū)域326。區(qū)域識別信號生成器150進一步包括區(qū)域生長模塊,其擴展所述凈區(qū)域326以生成識別包含感興趣圖案的區(qū)域的區(qū)域識別信號330。
[0120]例如,考慮圖像310包括人臉并且區(qū)域識別信號生成器150生成對應(yīng)于該人臉的區(qū)域的情況,區(qū)域檢測模塊320可基于對應(yīng)于面部特征(例如膚色)的像素色彩值的檢測生成檢測區(qū)域322。區(qū)域凈模塊可生成包含這些面部特征的更連續(xù)的區(qū)域,區(qū)域生長模塊可增長這些區(qū)域以包括周圍的頭發(fā)和其他圖像部分,從而確保整個臉部都被包含在區(qū)域識別信號330識別的區(qū)域中。編碼部分使用區(qū)域識別信號330來操作,以強調(diào)這些面部區(qū)域的質(zhì)量,而潛在地不強調(diào)圖像的其他區(qū)域。應(yīng)當(dāng)注意的是,對于對臉部給出更高的敏感度和洞察力的觀眾來說,整個圖像可具有更高的質(zhì)量。
[0121]圖19表示根據(jù)本發(fā)明的一個實施例的圖像310的示意圖。如所示的,區(qū)域識別信號生成器150已識別感興趣區(qū)域350,生成相應(yīng)的區(qū)域識別信號330,該區(qū)域識別信號330指示感興趣區(qū)域350的邊界或者包括感興趣區(qū)域350的特定數(shù)據(jù)對象260。
[0122]如結(jié)合圖16-18所討論的,與感興趣區(qū)域350之外的圖像310的部分相比,當(dāng)壓縮感興趣區(qū)域350的數(shù)據(jù)對象時,可采用較小壓縮目標(biāo)以保持保真度。特別地,選擇壓縮目標(biāo)以將第一壓縮目標(biāo)應(yīng)用于對應(yīng)感興趣區(qū)域的數(shù)據(jù)對象并且將第二壓縮目標(biāo)應(yīng)用于不對應(yīng)感興趣區(qū)域的數(shù)據(jù)對象,其中,與第一壓縮目標(biāo)相比,第二壓縮目標(biāo)要求更高的壓縮。
[0123]圖20表示根據(jù)本發(fā)明的一個實施例的視頻存儲系統(tǒng)179的框圖表示。特別地,裝置11是一個具有內(nèi)置的數(shù)字視頻錄象機功能的機頂盒、獨立的數(shù)字視頻錄象機、DVD錄像機/播放器或其他存儲處理后的視頻信號112以在視頻顯示器(例如電視12)上顯示的裝置。盡管視頻編碼器/解碼器102被示出結(jié)合在設(shè)備11中,它可以是一個獨立的裝置。在這一配置中,當(dāng)從存儲裝置中取得時,視頻編碼器/解碼器102可進一步將視頻信號110解碼成處理后的視頻信號112,以生成具有適合視頻顯示裝置12顯示的格式的視頻信號。雖然圖示了這些特定的裝置,但根據(jù)結(jié)合本文描述的本發(fā)明的特征和功能所描述的方法和系統(tǒng),視頻存儲系統(tǒng)179可以包括硬件驅(qū)動、快閃存儲裝置、計算機、DVD燒錄器或能夠生成、存儲、解碼和/或顯示處理后的視頻信號112的視頻內(nèi)容的任何其他裝置。
[0124]圖21表示根據(jù)本發(fā)明的一個實施例的視頻分發(fā)系統(tǒng)375的框圖。特別地,從第一視頻編碼器/解碼器102經(jīng)由傳輸路徑122將通過編碼或轉(zhuǎn)碼視頻信號110而創(chuàng)建的處理后的視頻信號111傳輸?shù)阶鳛榻獯a器工作的第二視頻編碼器/解碼器102。第二視頻編碼器/解碼器102解碼所述處理后的視頻信號111以顯示在例如電視10、計算機20或其他顯示設(shè)備的顯示設(shè)備上。
[0125]傳輸路徑122可包括根據(jù)無線局域網(wǎng)協(xié)議,例如80211協(xié)議、WIMAX協(xié)議、藍(lán)牙協(xié)議等操作的無線路徑。進一步地,傳輸路徑可包括根據(jù)有線協(xié)議(例如通用串行總線協(xié)議)、以太網(wǎng)協(xié)議或其他高速協(xié)議操作的有線路徑。
[0126]圖22表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-21描述的一個或多個特征和功能使用的一種方法。步驟400包括基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼的視頻信號。步驟402包括將所述未壓縮的視頻幀數(shù)據(jù)累積到多個圖塊單元,其中,所述多個圖塊單元中的每一個包括多個視頻區(qū)段單元,每個視頻區(qū)段單元包括來自視頻幀的相應(yīng)行的至少一部分的像素數(shù)據(jù)。步驟404包括通過將多個視頻區(qū)段單元壓縮成多個壓縮的視頻區(qū)段單元,生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中。步驟406包括通過取得所述多個壓縮的視頻區(qū)段單元,從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮所述多個壓縮的視頻區(qū)段單元以生成未壓縮的視頻幀數(shù)據(jù)。
[0127]圖23表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-22描述的一個或多個特征和功能使用的一種方法。步驟410包括存儲對應(yīng)于寄存器中的壓縮視頻幀緩沖器的存儲地址的范圍。
[0128]圖24表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-23描述的一個或多個特征和功能使用的一種方法。步驟420包括基于未壓縮的圖像幀數(shù)據(jù)處理所述視頻幀的至少一個圖像平面。步驟422包括通過將所述未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器中。步驟424包括通過取得所述多個壓縮的圖像區(qū)段單元,來從所述壓縮圖像幀緩沖器中取得壓縮的圖像幀數(shù)據(jù),并通過解壓縮所述多個壓縮的圖像區(qū)段單元來生成未壓縮的圖像幀數(shù)據(jù)。所述至少一個寄存器定義對應(yīng)于壓縮圖像幀緩沖器的存儲地址的范圍。
[0129]圖25表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-24描述的一個或多個特征和功能使用的一種方法。步驟430包括:當(dāng)對應(yīng)于寫命令的存儲地址落在對應(yīng)于壓縮圖像幀緩沖器的存儲地址的范圍內(nèi)時,將所述寫命令識別為對應(yīng)于壓縮圖像幀緩沖器。步驟432包括:當(dāng)對應(yīng)于讀命令的存儲地址落在對應(yīng)于壓縮圖像幀緩沖器的存儲地址的范圍內(nèi)時,將所述讀命令識別為對應(yīng)于壓縮圖像幀緩沖器。
[0130]圖26表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-25描述的一個或多個特征和功能使用的一種方法。步驟440包括基于未壓縮的視頻幀數(shù)據(jù)和未壓縮的圖像幀數(shù)據(jù),處理所述視頻幀和所述視頻幀的至少一個圖像平面。步驟442包括通過取得所述多個壓縮的視頻區(qū)段單元,從所述壓縮視頻幀緩沖器取得所述壓縮的視頻幀數(shù)據(jù),并通過解壓縮所述多個壓縮的視頻區(qū)段單元以生成未壓縮的視頻幀數(shù)據(jù)。
[0131]圖27表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-26描述的一個或多個特征和功能使用的一種方法。步驟450包括將未壓縮的圖像幀數(shù)據(jù)存儲在高速緩存器中。步驟452包括當(dāng)所述未壓縮的圖像幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)存儲在所述高速緩存器中時,從所述高速緩存器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)。步驟454包括當(dāng)所述未壓縮的圖像幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)沒有存儲在所述高速緩存器中時,從壓縮圖像幀緩沖器中取得所述未壓縮的圖像幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)。
[0132]圖28表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖表示。特別地,示出了結(jié)合如圖1-27描述的一個或多個特征和功能使用的一種方法。步驟460包括將未壓縮的視頻幀數(shù)據(jù)存儲在高速緩存器中。步驟462包括當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)存儲在所述高速緩存器中時,從所述高速緩存器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)。步驟464包括當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)未存儲在所述高速緩存器中時,從所述壓縮視頻幀緩沖器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些數(shù)據(jù)。
[0133]圖29表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-28描述的一個或多個特征和功能使用的一種方法。步驟470包括:基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼的視頻信號。步驟472包括:通過將多個視頻數(shù)據(jù)對象壓縮成多個壓縮的視頻數(shù)據(jù)對象,生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中,其中,所述多個視頻數(shù)據(jù)對象的第一子集經(jīng)由無損壓縮方式壓縮以及所述多個視頻數(shù)據(jù)對象的第二子集經(jīng)由有損壓縮方式壓縮。步驟474包括通過取得所述多個壓縮的視頻數(shù)據(jù)對象,從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù)。步驟476包括通過解壓縮所述多個壓縮的視頻數(shù)據(jù)對象,生成未壓縮的視頻幀數(shù)據(jù)。
[0134]在一個實施例中,多個視頻數(shù)據(jù)對象中的相應(yīng)一個包括來自視頻幀的多個行或視頻幀的一個相應(yīng)的行的至少一部分的像素數(shù)據(jù)。
[0135]圖30表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-29描述的一個或多個特征和功能使用的一種方法。步驟480包括壓縮多個視頻數(shù)據(jù)對象中的相應(yīng)的一個。步驟482包括將視頻數(shù)據(jù)對象的壓縮量與壓縮目標(biāo)進行比較。步驟484包括當(dāng)所述視頻數(shù)據(jù)對象的壓縮量比所述壓縮目標(biāo)好時,將所述壓縮的視頻數(shù)據(jù)對象存儲在壓縮視頻幀緩沖器中。步驟486包括當(dāng)視頻數(shù)據(jù)對象的壓縮量比所述壓縮目標(biāo)差時,丟棄壓縮的視頻數(shù)據(jù)對象。步驟488包括量化所述多個視頻數(shù)據(jù)對象中的所述相應(yīng)的一個。重復(fù)步驟480、482、486和488,直到所述多個視頻數(shù)據(jù)對象的所述相應(yīng)的一個的壓縮量比壓縮目標(biāo)好,并執(zhí)行步驟484?;谧R別所述視頻幀中的區(qū)域的區(qū)域識別信號,可從多個可能的目標(biāo)值中選擇所述壓縮目標(biāo)。
[0136]圖31表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-30描述的一個或多個特征和功能使用的一種方法。步驟490包括當(dāng)檢測到感興趣區(qū)域時,處理視頻幀以生成區(qū)域識別信號。
[0137]在一個實施例中,選擇所述壓縮目標(biāo),以將無損壓縮應(yīng)用于對應(yīng)感興趣區(qū)域的視頻數(shù)據(jù)對象。選擇所述壓縮目標(biāo),以將第一壓縮目標(biāo)應(yīng)用于對應(yīng)感興趣區(qū)域的視頻數(shù)據(jù)對象以及將第二壓縮目標(biāo)應(yīng)用于不對應(yīng)感興趣區(qū)域的視頻數(shù)據(jù)對象,并且其中,與第一壓縮目標(biāo)相比,第二壓縮目標(biāo)要求更多的壓縮。
[0138]圖32表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-31描述的一個或多個特征和功能使用的一種方法。步驟500包括基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼的視頻信號。步驟502包括:通過將多個視頻數(shù)據(jù)對象壓縮成多個壓縮的視頻數(shù)據(jù)對象,生成壓縮的視頻幀數(shù)據(jù)。步驟504包括將所述多個壓縮的視頻數(shù)據(jù)對象存儲在壓縮幀緩沖器中。步驟506包括:通過識別對應(yīng)于視頻幀數(shù)據(jù)的被選擇部分的多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象、取得所述多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象、以及解壓縮所述多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象以生成未壓縮的視頻幀數(shù)據(jù),來從所述壓縮視頻幀緩沖器中取得視頻幀數(shù)據(jù)的被選擇的部分。
[0139]在一個實施例中,所述壓縮視頻數(shù)據(jù)對象的每一個存儲在存儲器中的相應(yīng)預(yù)定位置的基礎(chǔ)存儲地址處的壓縮幀緩沖器中。所述多個視頻數(shù)據(jù)對象的每一個包括來自視頻幀的多個行或視頻幀的一個相應(yīng)行的至少一部分的像素數(shù)據(jù)。
[0140]圖33表示根據(jù)本發(fā)明的一個實施例的一種方法的流程圖。特別地,示出了結(jié)合如圖1-32描述的一個或多個特征和功能使用的一種方法。在一個實施例中,所述壓縮的視頻數(shù)據(jù)對象的每一個包括指示包含在其中的壓縮數(shù)據(jù)的尺寸的頭文件和壓縮數(shù)據(jù)字段。步驟510包括確定對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象的每一個的基礎(chǔ)存儲地址。步驟512包括讀取對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象的每一個的頭文件,以確定對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象的每一個的壓縮數(shù)據(jù)的尺寸。步驟514包括基于相應(yīng)的基礎(chǔ)存儲地址和相應(yīng)的尺寸,取得對應(yīng)于多個壓縮的視頻數(shù)據(jù)對象的被選擇的那些對象的每一個的壓縮數(shù)據(jù)字段。
[0141]如本文所使用的,術(shù)語“大體上”和“近似地”提供一種針對其相應(yīng)的項目和/或項目之間的相關(guān)性的工業(yè)上可接受的容差。這樣的工業(yè)上可接受的容差的范圍從小于百分之一到百分之五十,對應(yīng)但不限于組分值、集成電路處理變量、溫度變量、上升和下降的次數(shù)、和/或熱噪聲。這樣的項目之間的相關(guān)性的范圍從百分之幾的差別到巨大的差別。另如可在本文使用的, 術(shù)語“可操作地耦合到”、“耦合到”和/或“耦合”包括兩個項目之間的直接耦合和/或經(jīng)由一個中間項目的兩個項目之間的間接耦合(例如,項目包括但不限于組件、元素、電路和/或模塊),其中,對于間接耦合,中間項目不修改信號的信息,但可以調(diào)整其電流水平、電壓水平和/或功率水平。再如可在本文使用的,推斷耦合(即,一個元素通過推斷耦合到另一個元素)包括兩個項目之間的以和“耦合到”相同的方式的直接和間接耦合。更進一步地,如可在本文中使用的,術(shù)語“可操作于”或“可操作地耦合到”表示項目包括電源連接、輸入、輸出等中的一個或多個,以在激活時執(zhí)行一個或多個其相應(yīng)功能,并且進一步包括推斷耦合到一個或多個其他項目。另外如可在本文中使用的,術(shù)語“與……相關(guān)”包括直接和/或間接耦合多個獨立的項目和/或嵌入到另一個項目中的一個項目。如可在本文中使用的,術(shù)語“比……好”表示兩個或多個項目、信號等之間的比較提供一個想要的關(guān)系。例如,當(dāng)想要的關(guān)系是信號I具有比信號2大的幅值,則當(dāng)信號I的幅值大于信號2的幅值,或者信號2的幅值小于信號I的幅值時,獲得好的比較。
[0142]另如可在本文中所使用的,術(shù)語“處理模塊”、“處理電路”和/或“處理單元”可以是單個處理設(shè)備或多個處理設(shè)備。這樣的處理設(shè)備可以是微處理器、微控制器、數(shù)字信號處理器、微計算機、中央處理單元、現(xiàn)場可編程門陣列、可編程邏輯設(shè)備、狀態(tài)機、邏輯電路、模擬電路、數(shù)字電路和/或基于電路的硬編碼和/或操作指令處理信號(模擬和/或數(shù)字)的任意設(shè)備。處理模塊、模塊、處理電路和/或處理單元可以是,或進一步包括,存儲器和/或集成的存儲元件,其可以是單個的存儲設(shè)備、多個存儲設(shè)備、和/或另一個處理模塊、模塊、處理電路和/或處理單元的嵌入電路。這樣的存儲設(shè)備可以是只讀存儲器、隨機接入存儲器、易失性存儲器、非易失性存儲器、靜態(tài)存儲器、動態(tài)存儲器、快閃存儲器、高速緩存器、和/或任意存儲數(shù)字信息的設(shè)備。注意,如果處理模塊、模塊、處理電路和/或處理單元包括多于一個的處理設(shè)備,該處理設(shè)備將被集中放置(例如,經(jīng)由有線和/或無線總線結(jié)構(gòu)直接耦合到一起)或分散放置(例如,通過經(jīng)由局域網(wǎng)和/或廣域網(wǎng)的間接耦合的云計算)。進一步注意,如果處理模塊、模塊、處理電路和/或處理單元經(jīng)由狀態(tài)機、模擬電路、數(shù)字電路、和/或邏輯電路執(zhí)行一個或多個其功能,存儲相應(yīng)的操作指令的存儲器和/或存儲元件可以被內(nèi)嵌或外接到包括所述狀態(tài)機、模擬電路、數(shù)字電路、和/或邏輯電路的電路。還進一步注意,存儲元件可存儲,并且處理模塊、模塊、處理電路和/或處理單元執(zhí)行,對應(yīng)于在一個或多個圖中說明的步驟和/功能的至少一些的硬編碼和/或操作指令。這樣的存儲設(shè)備或存儲元件被包含在制成品中。
[0143]上文借助于描述特定功能及其關(guān)系的性能的方法步驟描述了本發(fā)明。為了方便描述,在本文中上述功能架構(gòu)模塊和方法步驟的邊界和順序被任意定義。只要合適地實現(xiàn)所述特定的功能和關(guān)系,可定義可替代的邊界和順序。任意這樣的可替代邊界和順序在本發(fā)明的范圍和精神之內(nèi)。進一步地,為了便于描述,這些功能架構(gòu)模塊的邊界可以被任意定義。只要某些重要的功能被合適地實現(xiàn),可替代的邊界可被定義。類似地,在本說明書中,也可任意地定義流程圖塊以描述某種重要的功能。在某種程度上,流程圖塊的邊界和順序可以別的方式被定義并仍然實現(xiàn)某種重要的功能。因此,功能架構(gòu)模塊和流程圖塊的這樣的可替代定義和順序在本發(fā)明的范圍和精神之內(nèi)。本領(lǐng)域普通技術(shù)人員將認(rèn)識到本說明書中的功能架構(gòu)模塊和其他描述的塊、模塊和組件可以如所描述的那樣實施,或由離散組件、特定應(yīng)用的集成電路、執(zhí)行合適軟件等的處理器或任意上述組合來實施。
[0144]也至少部分地根據(jù)一個或多個實施例描述了本發(fā)明。此處使用本說明書的實施例來描述本發(fā)明、其方面、其特征、其概念和/或其示例。體現(xiàn)本發(fā)明的裝置、制成品、機器和/或處理的物理實施例可包括參考本說明書所討論的一個或多個實施例描述的一個或多個方面、特征、概念、示例等。進一步地,從圖到圖,具體實施例可包含相同或相似地命名的功能、步驟、模塊等,其使用相同或不同的附圖標(biāo)記,從而這些功能、步驟、模塊等可以是相同或相似的功能、步驟、模塊等,也可以是不同的。
[0145]除非有相反的規(guī)定,本文所示出的圖像的任意一幅圖像中從元件發(fā)送、接收和/或兩個元件之間的信號可以是模擬的或數(shù)字的,連續(xù)時間的或離散時間的,以及單端的或差動的。例如,如果信號路徑被示為單端路徑,則其也表示差動信號路徑。類似地,如果一個信號路徑被示為差動信號路徑,則其也表示單端信號路徑。雖然本說明書描述了一個或多個特定的結(jié)構(gòu),但也可以同樣地實施使用一個或多個未明顯示出的數(shù)據(jù)總線、元件之間的直接連接、和/或本領(lǐng)域技術(shù)人員可知的其他元件之間的間接耦合的其他結(jié)構(gòu)。
[0146]在本發(fā)明的各種實施例的描述中使用了術(shù)語“單元”,也被稱為“模塊”。模塊包括處理模塊、功能塊、硬件、和/或存儲在存儲器中由處理設(shè)備執(zhí)行以實現(xiàn)本說明書所描述的一個或多個功能的軟件。注意,如果模塊經(jīng)由硬件實施,該硬件可獨立地操作和/或與軟件和/或固件共同操作。如本文所使用的,模塊包含一個或多個子模塊,每一個都可以是一個或多個模塊。
[0147]雖然本說明書明確地描述了本發(fā)明的各種功能和特征的特定組合,但這些特征和功能的其他組合同樣是可能的。本發(fā)明不限于本說明書所公開的特定實施例,并且明顯地包括這些其他組合。
【權(quán)利要求】
1.一種視頻處理裝置,包括: 視頻處理單元,其基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼視頻信號; 圖塊引擎,包括: 圖塊累積模塊,將未壓縮的視頻幀數(shù)據(jù)累積到多個圖塊單元中,其中,所述多個圖塊單元的每一個包括多個視頻區(qū)段單元,所述多個視頻區(qū)段單元的每一個包括來自視頻幀的相應(yīng)行的至少一部分的像素數(shù)據(jù);以及 圖塊壓縮/解壓縮模塊,耦合至圖塊累積模塊,通過將所述多個視頻區(qū)段單元壓縮成多個壓縮的視頻區(qū)段單元來生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中,以及進一步地,通過取得所述多個壓縮的視頻區(qū)段單元來從所述壓縮視頻幀緩沖器中取得所述壓縮的視頻幀數(shù)據(jù),并通過解壓縮所述多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
2.如權(quán)利要求1所述的視頻處理裝置,進一步包括: 區(qū)段引擎,耦合至圖塊引擎和視頻幀緩沖器,包括定義對應(yīng)于所述壓縮視頻幀緩沖器的存儲地址范圍的至少一個寄存器。
3.如權(quán)利要求2所述的視頻處理裝置,進一步包括: 圖像處理單元,基于未壓縮的圖像幀數(shù)據(jù),處理視頻幀的至少一個圖像平面;以及 其中,所述區(qū)段引擎進一步包括區(qū)段壓縮/解壓縮模塊,通過將未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,來生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器中,以及進一步地,通過取得多個壓縮的圖像區(qū)段單元來從所述壓縮圖像幀緩沖器中取得壓縮的圖像幀數(shù)據(jù),并通過解壓縮所述多個壓縮的圖像區(qū)段單元來生成未壓縮的圖像幀數(shù)據(jù)。
4.如權(quán)利要求3所述的視頻處理裝置,其中,所述至少一個寄存器定義對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍; 可選地,當(dāng)對應(yīng)于來自所述圖像處理單元的寫命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,所述區(qū)段引擎將寫命令識別為對應(yīng)于所述壓縮圖像幀緩沖器;以及 其中,當(dāng)對應(yīng)于來自所述圖像處理單元的讀命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,所述區(qū)段引擎將讀命令識別為對應(yīng)于所述壓縮圖像幀緩沖器。
5.如權(quán)利要求3或4所述的視頻處理裝置,進一步包括: 顯示處理單元,其耦合至所述區(qū)段引擎,并基于未壓縮的視頻幀數(shù)據(jù)和未壓縮的圖像幀數(shù)據(jù)來處理視頻幀和視頻幀的至少一個圖像平面; 其中,所述區(qū)段壓縮/解壓縮模塊通過取得多個壓縮的視頻區(qū)段單元來從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
6.如權(quán)利要求3至5中任意一項所述的視頻處理裝置,其中,所述區(qū)段引擎進一步包括用于存儲未壓縮的圖像幀數(shù)據(jù)的高速緩存器; 其中,當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些被存儲在所述高速緩存器中時,所述區(qū)段引擎通過從所述高速緩存速器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些對來自所述圖像處理單元和所述顯示處理單元的請求進行響應(yīng);以及當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些沒有被存儲在所述高速緩存器中時,進一步從所述壓縮圖像幀緩沖器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些。
7.如權(quán)利要求6所述的視頻處理裝置,其中,當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些被存儲在所述高速緩存器中時,所述區(qū)段引擎通過從所述高速緩存器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些對來自所述顯示處理單元的請求進行響應(yīng),以及當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些沒有存儲在所述高速緩存器中時,通過取得相應(yīng)的壓縮的視頻區(qū)段單元、并解壓縮相應(yīng)的壓縮的視頻區(qū)段單元以生成未壓縮的視頻幀數(shù)據(jù)中被選擇的那些,來進一步從所述壓縮視頻幀緩沖器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些。
8.如權(quán)利要求1-7中任意一項所述的視頻處理裝置,其中,包括以下的一個或多個: 基于解碼后的視頻信號生成處理后的視頻信號;以及 所述視頻處理單元通過將解碼后的視頻信號重新編碼為處理后的視頻信號,來將視頻輸入信號轉(zhuǎn)碼成處理后的視頻信號。
9.一種將視頻輸入信號處理成處理后的視頻信號的方法,該方法包括: 基于未壓縮的視頻幀數(shù)據(jù),根據(jù)視頻壓縮協(xié)議將視頻輸入信號解碼成解碼后的視頻信號; 將未壓縮的視頻幀數(shù)據(jù)累積到多個圖塊單元中,其中,所述多個圖塊單元中的每一個包括多個視頻區(qū)段單元,所述多個視頻區(qū)段單元的每一個包括來自視頻幀的相應(yīng)行的至少一部分的像素數(shù)據(jù); 通過將所述多個視頻區(qū)段單元壓縮成多個壓縮的視頻區(qū)段單元,來生成壓縮的視頻幀數(shù)據(jù)以存儲在壓縮視頻幀緩沖器中;以及 通過取得多個壓縮的視頻區(qū)段單元來從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
10.如權(quán)利要求9所述的方法,進一步包括: 在寄存器中存儲對應(yīng)于所述壓縮視頻幀緩沖器的存儲地址范圍。
11.如權(quán)利要求9或10所述的方法,進一步包括: 基于未壓縮的圖像幀數(shù)據(jù),處理視頻幀的至少一個圖像平面; 通過將未壓縮的圖像幀數(shù)據(jù)壓縮成多個壓縮的圖像區(qū)段單元,來生成壓縮的圖像幀數(shù)據(jù)以存儲在壓縮圖像幀緩沖器中; 通過取得多個壓縮的圖像區(qū)段單元來從所述壓縮圖像幀緩沖器中取得壓縮的圖像幀數(shù)據(jù),并通過解壓縮多個壓縮的圖像區(qū)段單元來生成未壓縮的圖像幀數(shù)據(jù)。
12.如權(quán)利要求11所述的方法,其中,所述至少一個寄存器定義時應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍。
13.如權(quán)利要求12所述的方法,進一步包括: 當(dāng)對應(yīng)于寫命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,將所述寫命令識別為對應(yīng)于所述壓縮圖像幀緩沖器;以及 當(dāng)對應(yīng)于讀命令的存儲地址落在對應(yīng)于所述壓縮圖像幀緩沖器的存儲地址范圍之內(nèi)時,將所述讀命令識別為對應(yīng)于所述壓縮圖像幀緩沖器。
14.如權(quán)利要求12或13所述的方法,進一步包括: 基于未壓縮的視頻幀數(shù)據(jù)和未壓縮的圖像幀數(shù)據(jù),處理視頻幀和視頻幀的至少一個圖像平面;以及 通過取得多個壓縮的視頻區(qū)段單元,從所述壓縮視頻幀緩沖器中取得壓縮的視頻幀數(shù)據(jù),并通過解壓縮多個壓縮的視頻區(qū)段單元來生成未壓縮的視頻幀數(shù)據(jù)。
15.如權(quán)利要求14所述的方法,進一步包括以下之一: 或者是將未壓縮的圖像幀數(shù)據(jù)存儲在高速緩存器中; 或者是當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些存儲在所述高速緩存器中時,從所述高速緩存器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些;以及 當(dāng)未壓縮的圖像幀數(shù)據(jù)中被選擇的那些沒有存儲在所述高速緩存器中時,從所述壓縮圖像幀緩沖器中取得未壓縮的圖像幀數(shù)據(jù)中被選擇的那些;或者 所述方法進一步包括: 將未壓縮的視頻幀數(shù)據(jù)存儲在高速緩存器中; 當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些被存儲在所述高速緩存器中時,從所述高速緩存器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些;以及 當(dāng)未壓縮的視頻幀數(shù)據(jù)中被選擇的那些沒有存儲在所述高速緩存器中時,從所述壓縮視頻幀緩沖器中取得未壓縮的視頻幀數(shù)據(jù)中被選擇的那些。
【文檔編號】H04N19/146GK103945223SQ201410102524
【公開日】2014年7月23日 申請日期:2014年1月22日 優(yōu)先權(quán)日:2013年1月22日
【發(fā)明者】I·萊克索諾, E·揚, E·鴻, 楊奇, 郭欣, 趙勗罡 申請人:Vixs系統(tǒng)公司