本發(fā)明涉及信息技術,尤其涉及一種信息處理方法及裝置、終端。
背景技術:
在終端如手機、計算機上播放的視頻文件都是經(jīng)過壓縮的,因為這樣有利于節(jié)約存儲空間;那么在播放過程,就需要進行一個反向的解壓縮過程。在以前這項工作都是由中央處理器(CPU)來完成的,對于普通分辨率的視頻文件,絕大多數(shù)的CPU都可以勝任;但是發(fā)展到高清視頻(1080i/p)之后,數(shù)據(jù)解壓縮的工作量比以前翻了數(shù)倍,這讓很多處理器叫苦不迭,其中i是interlace(隔行),p是progressive(逐行)。
現(xiàn)有技術中:為了滿足不同平臺對音視頻編碼格式的不同需求,一般終端都采用軟解碼(通過CPU)進行統(tǒng)一解碼,以屏蔽差異。但是,軟解需要依賴于CPU運算,變相加大CPU負擔,耗電也會增加很多。對于某些終端來說,播放高清視頻時畫面會卡,以至于跳幀(就跟看幻燈片一樣),聲音也是斷斷續(xù)續(xù)的;同時整機功耗增加,風扇也開始“呼呼”作響。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明實施例為解決現(xiàn)有技術中存在的至少一個問題而提供一種信息處理方法及裝置、終端,能夠降低終端中CPU和存儲器的功耗,減少因軟解碼導致的誤碼率、花屏、延遲等情況的發(fā)生。
本發(fā)明實施例的技術方案是這樣實現(xiàn)的:
第一方面,本發(fā)明實施例提供一種信息處理方法,所述方法包括:
獲取待解碼的多媒體文件;
判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;
如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀??;
調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;
播放所述解碼后的多媒體文件。
第二方面,本發(fā)明實施例提供一種信息處理裝置,所述裝置包括獲取單元、判斷單元、寫入單元、調用單元和播放單元,其中:
所述獲取單元,用于獲取待解碼的多媒體文件;
所述判斷單元,用于判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;
所述寫入單元,用于如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀?。?/p>
所述調用單元,用于調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;
所述播放單元,用于播放所述解碼后的多媒體文件。
第三方面,本發(fā)明實施例提供一種終端,所述終端包括處理器和硬解碼芯片,其中所述處理器,用于獲取待解碼的多媒體文件;判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀??;調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;播放所述解碼后的多媒體文件;
所述硬解碼芯片用于從所述共享區(qū)域讀取并解碼所述待解碼的文件。
本發(fā)明實施例提供一種信息處理方法及裝置、終端,其中,獲取待解碼的多媒體文件;判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀??;調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;播放所述解碼后的多媒體文件;如此,能夠降低終端中CPU和存儲器的功耗,減少因軟解碼導致的誤碼率、花屏、延遲等情況的發(fā)生。
附圖說明
圖1-1為實現(xiàn)本發(fā)明各個實施例的一個可選的移動終端100的硬件結構示意圖;
圖1-2為如圖1-1所示的移動終端100的無線通信系統(tǒng)示意圖;
圖1-3為本發(fā)明實施例信息處理方法的實現(xiàn)流程示意圖一;
圖2為本發(fā)明實施例信息處理方法的實現(xiàn)流程示意圖二;
圖3為本發(fā)明實施例信息處理裝置的組成結構示意圖;
圖4為本發(fā)明實施例終端的組成結構示意圖。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明的技術方案,并不用于限定本發(fā)明的保護范圍。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,“模塊”與“部件”可以混合地使用。
移動終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、個人數(shù)字助理(PDA)、平板電腦(PAD)、便攜式多媒體播放器(PMP)、導航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。下面,假設終端是移動終端。然而,本領域技術人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構造也能夠應用于固定類型的終端。
圖1-1為實現(xiàn)本發(fā)明各個實施例的移動終端100的硬件結構示意,如圖1-1所示,移動終端100可以包括無線通信單元110、音頻/視頻(A/V)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1-1示出了具有各種組件的移動終端100,但是應理解的是,并不要求實施所有示出的組件。可以替代地實施更多或更少的組件。將在下面詳細描述移動終端100的元件。
無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統(tǒng)或網(wǎng)絡之間的無線電通信。例如,無線通信單元110可以包括廣播接收模塊111、移動通信模塊112、無線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個。
廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務器接收廣播信號和/或廣播相關信息。經(jīng)由廣播接收模塊111接收的廣播信號和/或廣播相關信息可以存儲在存儲器160(或者其它類型的存儲介質)中。
移動通信模塊112將無線電信號發(fā)送到基站(例如,接入點、節(jié)點B等等)、外部終端以及服務器中的至少一個和/或從其接收無線電信號。
無線互聯(lián)網(wǎng)模塊113支持移動終端100的無線互聯(lián)網(wǎng)接入。無線互聯(lián)網(wǎng)模塊113可以內部或外部地耦接到終端。
短程通信模塊114是用于支持短程通信的模塊。短程通信技術的一些示例包括藍牙TM、射頻識別(RFID)、紅外數(shù)據(jù)協(xié)會(IrDA)、超寬帶(UWB)、紫蜂TM等等。
位置信息模塊115是用于檢查或獲取移動終端100的位置信息的模塊。位置信息模塊115的典型示例是全球定位系統(tǒng)(GPS)模塊115。
A/V輸入單元120用于接收音頻或視頻信號。A/V輸入單元120可以包括相機121和麥克風122,相機121對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進行處理。處理后的圖像幀可以顯示在顯示單元151上。經(jīng)相機121處理后的圖像幀可以存儲在存儲器160(或其它存儲介質)中或者經(jīng)由無線通信單元110進行發(fā)送,可以根據(jù)移動終端100的構造提供兩個或更多相機121。麥克風122可以在電話通話模式、記錄模式、語音識別模式等等運行模式中經(jīng)由麥克風接收聲音(音頻數(shù)據(jù)),并且能夠將這樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語音)數(shù)據(jù)可以在電話通話模式的情況下轉換為可經(jīng)由移動通信模塊112發(fā)送到移動通信基站的格式輸出。麥克風122可以實施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號的過程中產(chǎn)生的噪聲或者干擾。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端100的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。
感測單元140檢測移動終端100的當前狀態(tài),(例如,移動終端100的打開或關閉狀態(tài))、移動終端100的位置、用戶對于移動終端100的接觸(即,觸摸輸入)的有無、移動終端100的取向、移動終端100的加速或減速移動和方向等等,并且生成用于控制移動終端100的操作的命令或信號。例如,當移動終端100實施為滑動型移動電話時,感測單元140可以感測該滑動型電話是打開還是關閉。另外,感測單元140能夠檢測電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口(典型示例是通用串行總線USB端口)、用于連接具有用戶識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。用戶識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括客戶識別模塊(SIM)、通用客戶識別模塊(USIM)等等。
接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內的一個或多個元件或者可以用于在移動終端100和外部裝置之間傳輸數(shù)據(jù)。
另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端100的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端100是否準確地安裝在底座上的信號。
輸出單元150被構造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報單元153等等。
顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關的用戶界面(UI)或圖形用戶界面(GUI)。當移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關功能的UI或GUI等等。
同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏時,顯示單元151可以用作輸入裝置和輸出裝置;音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。警報單元153可以提供輸出以將事件的發(fā)生通知給移動終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲已經(jīng)輸出或將要輸出的數(shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質,而且,移動終端100可以與通過網(wǎng)絡連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡存儲裝置協(xié)作。
控制器180通??刂埔苿咏K端100的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關的控制和處理。另外,控制器180可以包括用于再現(xiàn)或回放多媒體數(shù)據(jù)的多媒體模塊181,多媒體模塊181可以構造在控制器180內,或者可以構造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內部電力并且提供操作各元件和組件所需的適當?shù)碾娏Α?/p>
這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
至此,已經(jīng)按照其功能描述了移動終端100。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端100等等的各種類型的移動終端100中的滑動型移動終端100作為示例。因此,本發(fā)明能夠應用于任何類型的移動終端100,并且不限于滑動型移動終端100。
如圖1-1中所示的移動終端100可以被構造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作。
現(xiàn)在將參考圖1-2描述其中根據(jù)本發(fā)明的移動終端100能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)和通用移動通信系統(tǒng)(UMTS)(特別地,長期演進(LTE))、全球移動通信系統(tǒng)(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統(tǒng),但是這樣的教導同樣適用于其它類型的系統(tǒng)。
參考圖1-2,CDMA無線通信系統(tǒng)可以包括多個移動終端100、多個基站(BS)270、基站控制器(BSC)275和移動交換中心(MSC)280。MSC 280被構造為與公共電話交換網(wǎng)絡(PSTN)290形成接口。MSC 280還被構造為與可以經(jīng)由回程線路耦接到基站270的BSC 275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來構造,所述接口包括例如E1/T1、ATM、IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖1-2中所示的系統(tǒng)可以包括多個BSC 2750。
每個BS 270可以服務一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠離BS 270?;蛘?,每個分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個BS 270可以被構造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25MHz,5MHz等等)。
分區(qū)與頻率分配的交叉可以被稱為CDMA信道。BS 270也可以被稱為基站收發(fā)器子系統(tǒng)(BTS)或者其它等效術語。在這樣的情況下,術語“基站”可以用于籠統(tǒng)地表示單個BSC 275和至少一個BS 270。基站也可以被稱為“蜂窩站”?;蛘?,特定BS 270的各分區(qū)可以被稱為多個蜂窩站。
如圖1-2中所示,廣播發(fā)射器(BT)295將廣播信號發(fā)送給在系統(tǒng)內操作的移動終端100。如圖1-1中所示的廣播接收模塊111被設置在移動終端100處以接收由BT295發(fā)送的廣播信號。在圖1-2中,示出了幾個衛(wèi)星300,例如可以采用全球定位系統(tǒng)(GPS)衛(wèi)星300。衛(wèi)星300幫助定位多個移動終端100中的至少一個。
在圖1-2中,描繪了多個衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1-1中所示的GPS模塊115通常被構造為與衛(wèi)星300配合以獲得想要的定位信息。替代GPS跟蹤技術或者在GPS跟蹤技術之外,可以使用可以跟蹤移動終端100的位置的其它技術。另外,至少一個GPS衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星DMB傳輸。
作為無線通信系統(tǒng)的一個典型操作,BS 270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定BS 270內進行處理。獲得的數(shù)據(jù)被轉發(fā)給相關的BSC 275。BSC提供通話資源分配和包括BS 270之間的軟切換過程的協(xié)調的移動管理功能。BSC275還將接收到的數(shù)據(jù)路由到MSC 280,其提供用于與PSTN 290形成接口的額外的路由服務。類似地,PSTN 290與MSC 280形成接口,MSC與BSC 275形成接口,并且BSC 275相應地控制BS 270以將正向鏈路信號發(fā)送到移動終端100。
移動終端中無線通信單元110的移動通信模塊112基于移動終端內置的接入移動通信網(wǎng)絡(如2G/3G/4G等移動通信網(wǎng)絡)的必要數(shù)據(jù)(包括用戶識別信息和鑒權信息)接入移動通信網(wǎng)絡為移動終端用戶的網(wǎng)頁瀏覽、網(wǎng)絡多媒體播放等業(yè)務傳輸移動通信數(shù)據(jù)(包括上行的移動通信數(shù)據(jù)和下行的移動通信數(shù)據(jù))。
無線通信單元110的無線互聯(lián)網(wǎng)模塊113通過運行無線熱點的相關協(xié)議功能而實現(xiàn)無線熱點的功能,無線熱點支持多個移動終端(移動終端之外的任意移動終端)接入,通過復用移動通信模塊112與移動通信網(wǎng)絡之間的移動通信連接為移動終端用戶的網(wǎng)頁瀏覽、網(wǎng)絡多媒體播放等業(yè)務傳輸移動通信數(shù)據(jù)(包括上行的移動通信數(shù)據(jù)和下行的移動通信數(shù)據(jù)),由于移動終端實質上是復用移動終端與通信網(wǎng)絡之間的移動通信連接傳輸移動通信數(shù)據(jù)的,因此移動終端消耗的移動通信數(shù)據(jù)的流量由通信網(wǎng)絡側的計費實體計入移動終端的通信資費,從而消耗移動終端簽約使用的通信資費中包括的移動通信數(shù)據(jù)的數(shù)據(jù)流量。
基于上述移動終端100硬件結構以及通信系統(tǒng),提出本發(fā)明方法各個實施例。
下面結合附圖和具體實施例對本發(fā)明的技術方案進一步詳細闡述。
隨著技術的發(fā)展,工程師們發(fā)現(xiàn)硬解碼部件要比CPU更適合這類大數(shù)據(jù)量的、低難度的重復工作。視頻解碼工作從處理器那里分離出來,交給硬解碼部件去做,這就叫做“硬解碼”;與之對應的,以前那種純粹依靠CPU來解碼的方式則是“軟解碼”。因此,音視頻解碼包括硬解碼和軟解碼,其中,對于用戶而言,硬解碼,就是用終端自帶的播放器播放,而軟解碼,就是采用終端安裝的第三方播放器來播放。
對于終端來講,軟解碼是在顯卡本身不支持或者部分不支持硬件解碼的前提下,將解壓高清編碼的任務交給CPU,這是基于硬件配置本身達不到硬解壓要求的前提下,屬于一個折中的辦法;由此可見,軟解碼需要依賴于CPU運算,變相加大CPU負擔,耗電也會增加很多。對于某些終端來說,播放高清視頻時畫面會卡,以至于跳幀(就跟看幻燈片一樣),聲音也是斷斷續(xù)續(xù)的;同時整機功耗增加,風扇也開始“呼呼”作響。
硬解碼,又稱為硬件解碼,對于終端來講,是將原來全部交由CPU來處理的視頻數(shù)據(jù)的一部分交由GPU來做,而GPU的并行運算能力要遠遠高于CPU,這樣可以大大的降低對CPU的負載,CPU的占用率較低了之后就可以同時運行一些其他的程序。由此可見,硬解碼就是調用終端上的解碼硬件來解碼,以減少中央處理器(CPU)運算,從而在播放的過程中對CPU等硬件要求也相對降低。例如,對于某些終端來說,播放高清視頻時畫面會卡得跳幀(就跟看幻燈片一樣),聲音也是斷斷續(xù)續(xù)的;但解碼工作交給顯卡后,CPU就可以解放出來做更多的事情,與此同時還降低了整機功耗,風扇也不至于“呼呼”作響。
現(xiàn)有技術中:為了滿足不同平臺對音視頻編碼格式的不同需求,一般終端都采用軟解碼(通過CPU)進行統(tǒng)一解碼,以屏蔽差異。但是,軟解需要依賴于CPU運算,變相加大CPU負擔,耗電也會增加很多。對于某些終端來說,播放高清視頻時畫面會卡,以至于跳幀(就跟看幻燈片一樣),聲音也是斷斷續(xù)續(xù)的;同時整機功耗增加,風扇也開始“呼呼”作響。
為了解決前述的技術問題,本發(fā)明實施例提供一種信息處理方法,該應用于終端,該信息處理方法所實現(xiàn)的功能可以通過終端中的處理器調用程序代碼來實現(xiàn),當然程序代碼可以保存在計算機存儲介質中,可見,該終端至少包括處理器和存儲介質。
圖1-3為本發(fā)明實施例信息處理方法的實現(xiàn)流程示意圖一,如圖1-3所示,該信息處理方法包括:
步驟S101,獲取待解碼的多媒體文件;
這里,所述多媒體文件包括視頻文件、音頻文件等文件。
這里,所述終端在具體實施例的過程中可以為各種類型的具有信息處理能力的計算設備,例如所述計算設備可以包括手機、平板電腦、臺式機、個人數(shù)字助理、導航儀、數(shù)字電話、視頻電話、電視機等。
這里,終端如手機、計算機上播放的多媒體文件都是經(jīng)過壓縮的,因為這樣有利于節(jié)約存儲空間;因此,無論是在終端本地存放的視頻還是在線的視頻,都需要解碼才能播放,那么需要解碼的視頻即為待解碼的多媒體文件。
這里,本發(fā)明各實施例所提供的技術方案在實現(xiàn)的過程中可以一個獨立的軟件程序例如音視頻播放應用,也可以是軟件程序中的一個獨立的模塊,具體采用何種方式,本領域的技術人員根據(jù)實際情況進行確定。如果本實施例以音視頻播放應用來實現(xiàn),那么音視頻播放應用可以從操作系統(tǒng)獲取到終端是否支持硬解碼,以及所支持的硬解碼的類型。
步驟S102,判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;
步驟S103,如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀?。?/p>
步驟S104,調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;
這里,調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,實際是讓終端執(zhí)行硬解碼的過程。
這里,所述硬解碼芯片包括圖像硬解碼芯片和音頻硬解碼芯片,其中圖像硬解碼芯包括DSP、GPU等;音頻硬解碼芯片包括音頻壓縮解壓縮編解碼器(CODEC,支持視頻和音頻壓縮(CO)與解壓縮(DEC)的編解碼器)、DSP等。
這里,步驟S103中的所述共享區(qū)域可以是預先就分配好的,即共享區(qū)域的地址(物理地址或邏輯地址)是預先已知的;當然,共享區(qū)域也可以是即時請求的,即當確定有待解碼的多媒體文件的時候,那么就在存儲器上申請一塊存儲區(qū)域,用于存儲待解碼的多媒體文件,這塊存儲區(qū)域即為共享區(qū)域,這里共享區(qū)域的含義是用于本實施例對應的軟件程序和硬解碼芯片共享。當共享區(qū)域是即時請求的時候,所述步驟S104,所述調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,包括:
步驟S1041,獲取所述共享區(qū)域的地址,將所述共享區(qū)域的地址攜帶與所述請求消息中;
步驟S1042,向所述硬解碼芯片發(fā)送請求消息,所述請求消息用于請求所述硬解碼芯片對存儲于共享區(qū)域的待解碼的多媒體文件進行解碼。
步驟S105,播放所述解碼后的多媒體文件。
步驟S106,如果所述判斷結果表明所述終端不支持對多媒體文件進行硬解碼,則對所述待解碼的多媒體文件采用軟解碼進行解碼,得到解碼后的多媒體文件。
這里,軟解碼:即通過軟件讓CPU來對視頻進行解碼處理;而硬解碼:指不借助于CPU,而通過專用的硬解碼芯片來獨立完成視頻解碼任務。例如VCD/DVD解壓卡、視頻壓縮卡以單獨硬件的形式存在,也都屬于硬解碼硬件;隨著科技的發(fā)展,硬件都是集成的即為硬解碼芯片,甚至有些硬解碼芯片已經(jīng)被整合到顯卡、圖像處理器(GPU)、數(shù)字信號處理(Digital Signal Processing,DSP)芯片的內部,而且目前的主流顯卡(集顯)都能夠支持硬解碼技術。硬解碼的一個重要特點是解碼程序寫入或固化在硬解碼芯片如DSP芯片上;軟件解碼是將解碼程序調入內存中用CPU解壓,因此,硬解碼因為不占用或很少占用系統(tǒng)資源,效果比較好。
本發(fā)明實施例中,所述從所述硬解碼芯片獲取解碼后的視頻文件,包括:
接收所述硬解碼芯片發(fā)送的解碼后的視頻文件;或者,
從所述共享區(qū)域獲取解碼后的視頻文件,所述解碼后的視頻文件由所述硬解碼芯片解碼完成后存儲至所述共享區(qū)域。
本發(fā)明實施例中,獲取待解碼的視頻文件;判斷終端是否支持對視頻文件進行硬解碼,得到判斷結果;如果所述判斷結果表明所述終端支持對視頻文件進行硬解碼,則將所述待解碼的視頻文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀??;調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的視頻文件;播放所述解碼后的視頻文件;如此,能夠降低終端中CPU和存儲器的功耗,減少因軟解碼導致的誤碼率、花屏、延遲等情況的發(fā)生。
基于前述的實施例,本發(fā)明實施例再提供一種信息處理方法,以視頻文件為例進行說明,圖2為本發(fā)明實施例信息處理方法的實現(xiàn)流程示意圖二,如圖2所示,該方法包括:
步驟S201,終端的處理器獲取待解碼的視頻文件;
步驟S202,終端的處理器判斷終端是否支持對視頻文件進行硬解碼,得到判斷結果;
步驟S203,如果所述判斷結果表明所述終端支持對視頻文件進行硬解碼,則終端的處理器向存儲器中的控制器發(fā)送申請消息,所述申請消息用于申請一塊作為共享區(qū)域的存儲區(qū)域;
步驟S204,終端上存儲器中的控制器接收到申請消息后,分配存儲區(qū)域,并將所述存儲區(qū)域的地址攜帶于通知消息中,最后向處理器發(fā)送通知消息,所述通知消息用于告知申請的共享區(qū)域的地址。
步驟S205,終端的處理器接收通知消息,解析所述通知消息,得到共享區(qū)域的地址;
步驟S206,處理器根據(jù)所述共享區(qū)域的地址將所述待解碼的視頻文件寫入共享區(qū)域;
這里,所述共享區(qū)域能夠被硬解碼芯片進行讀取;
步驟S207,處理器獲取所述共享區(qū)域的地址,將所述共享區(qū)域的地址攜帶于所述請求消息中;
步驟S208,處理器向所述硬解碼芯片發(fā)送請求消息,所述請求消息用于請求所述硬解碼芯片對存儲于共享區(qū)域的待解碼的視頻文件進行解碼。
步驟S209,終端上的硬解碼芯片接收處理器發(fā)送的請求消息,解析所述請求消息,得到所述共享區(qū)域的地址;
步驟S210,硬解碼芯片根據(jù)所述共享區(qū)域的地址從所述共享區(qū)域上讀取待解碼的視頻文件;
步驟S211,硬解碼芯片對所述待解碼的視頻文件進行解碼,得到解碼后的視頻文件。
步驟S212,硬解碼芯片根據(jù)共享區(qū)域的地址將解碼后的視頻文件寫入所述共享區(qū)域。
這里,在本發(fā)明的其他實施例中,所述硬解碼芯片還可以將解碼后的視頻文件直接發(fā)送給處理器(應用程序)。
步驟S213,硬解碼芯片向處理器發(fā)送響應消息,所述響應消息用于通知所述待解碼的視頻文件已經(jīng)被解碼完成,并且存儲至所述共享區(qū)域;
步驟S214,接收所述硬解碼芯片的響應消息,響應所述響應消息,根據(jù)所述共享區(qū)域的地址從所述共享區(qū)域讀取所述解碼后的視頻文件。
步驟S215,播放所述解碼后的視頻文件。
從以上可以看出,本發(fā)明實施例中,先軟件(音視頻播放應用不包括視頻通信、音頻通信)判斷終端是否支持硬解碼;然后軟件調用硬解碼芯片進行硬解碼;在實施的過程中,軟件申請共享存儲空間,通知硬件從該存儲空間中讀取待解碼數(shù)據(jù),對待解碼數(shù)據(jù)進行解碼;最后,硬解碼芯片解碼完畢之后,硬件將解碼后數(shù)據(jù)發(fā)送給軟件;或者通知軟件從共享存儲區(qū)域取出解碼后的視頻文件。如此,本發(fā)明實施例提供的技術方案,能夠降低CPU、存儲器的功耗,并減少因軟解碼導致的誤碼率、花屏、延遲等情況的發(fā)生。
在上述的額實施例中,所述判斷終端是否支持對視頻文件進行硬解碼,得到判斷結果,包括:
步驟A1,判斷所述終端是否具有圖像解碼硬件和音頻解碼硬件,得到判斷結果;
步驟A2,如果有,則所述判斷結果表明所述終端支持對所述待解碼的視頻進行硬解碼,反之,所述判斷結果表明所述終端不支持對所述待解碼的視頻進行硬解碼。
這里,所述判斷所述終端是否具有圖像解碼硬件和音頻解碼硬件,包括:
步驟A11,獲取所述終端的硬件列表和預設的關鍵詞集合,所述關鍵詞集合中的關鍵詞包括圖像解碼硬件的標識信息和音頻解碼硬件的標識信息;
這里,所述標識信息包括關鍵字、名稱、設備編碼等信息。所述硬件列表用于表明所述終端上安裝的硬件的列表,該列表中包括硬件的屬性信息,例如,硬件的名稱、編碼等;例如以手機為例進行說明,如果一個手機包括連個麥克、一個CPU和一個GPU,那么硬件列表中就應該體現(xiàn)這個四個硬件,自然地列表中包括這四個硬件的屬性信息。
這里,所述方法還包括:更新所述關鍵詞集合,其中更新所述關鍵詞集合可以是在更新軟件版本的時候更新,也可以是終端周期性地或非周期性主動地向服務器發(fā)送更新請求,然后根據(jù)服務器發(fā)送的更新響應來獲取最新的關鍵詞集合,或者終端被動地接收服務器向終端發(fā)送的更新消息,然后根據(jù)更新消息來獲取最新的關鍵詞集合。
步驟A12,將所述預設的關鍵字集合中每一關鍵詞匹配所述硬件列表,得到匹配結果;
步驟A13,如果所述匹配結果表明所述硬件列表中匹配有對應的關鍵詞,則表明所述判斷結果表明所述終端具有圖像解碼硬件或音頻解碼硬件;
步驟A14,如果所述匹配結果表明所述硬件列表中每一匹配的關鍵詞,則表明所述判斷結果表明所述終端不具有圖像解碼硬件和音頻解碼硬件。
基于前述的實施例,本發(fā)明實施例提供一種信息處理裝置,該裝置所包括的各單元,以及各單元所包括的各模塊,都可以通過終端中的處理器來實現(xiàn),當然也可通過具體的邏輯電路實現(xiàn);在具體實施例的過程中,處理器可以為中央處理器(CPU)、微處理器(MPU)、數(shù)字信號處理器(DSP)或現(xiàn)場可編程門陣列(FPGA)等。
圖3為本發(fā)明實施例信息處理裝置的組成結構示意圖,如圖3所示,該信息處理裝置300包括獲取單元301、判斷單元302、寫入單元303、調用單元304和播放單元305,其中:
所述獲取單元,用于獲取待解碼的多媒體文件;
所述判斷單元,用于判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;
所述寫入單元,用于如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀??;
所述調用單元,用于調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;
所述播放單元,用于播放所述解碼后的多媒體文件。
在本發(fā)明的其他實施例中,所述獲取單元,用于接收所述硬解碼芯片發(fā)送的解碼后的多媒體文件;或者,
所述獲取單元,用于從所述共享區(qū)域獲取解碼后的多媒體文件,所述解碼后的多媒體文件由所述硬解碼芯片解碼完成后存儲至所述共享區(qū)域。
在本發(fā)明的其他實施例中,所述獲取單元包括接收模塊和讀取模塊,其中:
所述接收模塊,用于接收所述硬解碼芯片的響應消息,所述響應消息用于通知所述待解碼的多媒體文件已經(jīng)被解碼完成,并且存儲至所述共享區(qū)域;
所述讀取模塊,用于響應所述響應消息,從所述共享區(qū)域讀取所述解碼后的多媒體文件。
在本發(fā)明的其他實施例中,所述調用單元包括第一獲取模塊和發(fā)送模塊,其中:
所述第一獲取模塊,用于獲取所述共享區(qū)域的地址,將所述共享區(qū)域的地址攜帶與所述請求消息中;
所述發(fā)送模塊,用于向所述硬解碼芯片發(fā)送請求消息,所述請求消息用于請求所述硬解碼芯片對存儲于共享區(qū)域的待解碼的多媒體文件進行解碼。
在本發(fā)明的其他實施例中,所述裝置還包括:解碼單元,用于如果所述判斷結果表明所述終端不支持對多媒體文件進行硬解碼,則對所述待解碼的多媒體文件采用軟解碼進行解碼,得到解碼后的多媒體文件。
在本發(fā)明的其他實施例中,所述判斷單元用于判斷所述終端是否具有圖像解碼硬件和音頻解碼硬件;如果有,則所述判斷結果表明所述終端支持對所述待解碼的視頻進行硬解碼,反之,所述判斷結果表明所述終端不支持對所述待解碼的視頻進行硬解碼。
在本發(fā)明的其他實施例中,所述判斷單元包括第二獲取模塊和匹配模塊,其中:
所述第二獲取模塊,用于獲取所述終端的硬件列表和預設的關鍵詞集合,所述關鍵詞集合中的關鍵詞包括圖像解碼硬件的標識信息和音頻解碼硬件的標識信息;
所述匹配模塊,用于將所述預設的關鍵字集合中每一關鍵詞匹配所述硬件列表,得到匹配結果;
如果所述匹配結果表明所述硬件列表中匹配有對應的關鍵詞,則表明所述判斷結果表明所述終端具有圖像解碼硬件或音頻解碼硬件;
如果所述匹配結果表明所述硬件列表中每一匹配的關鍵詞,則表明所述判斷結果表明所述終端不具有圖像解碼硬件和音頻解碼硬件。
這里需要指出的是:以上裝置實施例的描述,與上述方法實施例的描述是類似的,具有同方法實施例相似的有益效果,因此不做贅述。對于本發(fā)明裝置實施例中未披露的技術細節(jié),請參照本發(fā)明方法實施例的描述而理解,為節(jié)約篇幅,因此不再贅述。
基于前述的實施例,本發(fā)明實施例再提供一種終端,圖4為本發(fā)明實施例終端的組成結構示意圖,如圖4所示,該終端400包括處理器401和硬解碼芯片402,其中所述處理器,用于獲取待解碼的多媒體文件;判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果;如果所述判斷結果表明所述終端支持對多媒體文件進行硬解碼,則將所述待解碼的多媒體文件寫入共享區(qū)域,所述共享區(qū)域能夠被硬解碼芯片進行讀取;調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,從所述硬解碼芯片獲取解碼后的多媒體文件;播放所述解碼后的多媒體文件;
所述硬解碼芯片用于從所述共享區(qū)域讀取并解碼所述待解碼的文件。
在本發(fā)明的其他實施例中,所述從所述硬解碼芯片獲取解碼后的多媒體文件,包括:接收所述硬解碼芯片發(fā)送的解碼后的多媒體文件;或者,從所述共享區(qū)域獲取解碼后的多媒體文件,所述解碼后的多媒體文件由所述硬解碼芯片解碼完成后存儲至所述共享區(qū)域。
在本發(fā)明的其他實施例中,所述從所述共享區(qū)域獲取解碼后的多媒體文件,包括:接收所述硬解碼芯片的響應消息,所述響應消息用于通知所述待解碼的多媒體文件已經(jīng)被解碼完成,并且存儲至所述共享區(qū)域;響應所述響應消息,從所述共享區(qū)域讀取所述解碼后的多媒體文件。
在本發(fā)明的其他實施例中,所述調用所述硬解碼芯片從所述共享區(qū)域讀取并解碼所述待解碼的文件,包括:
獲取所述共享區(qū)域的地址,將所述共享區(qū)域的地址攜帶與所述請求消息中;
向所述硬解碼芯片發(fā)送請求消息,所述請求消息用于請求所述硬解碼芯片對存儲于共享區(qū)域的待解碼的多媒體文件進行解碼。
在本發(fā)明的其他實施例中,所述方法還包括:
如果所述判斷結果表明所述終端不支持對多媒體文件進行硬解碼,則對所述待解碼的多媒體文件采用軟解碼進行解碼,得到解碼后的多媒體文件。
在本發(fā)明的其他實施例中,所述判斷終端是否支持對多媒體文件進行硬解碼,得到判斷結果,包括:
判斷所述終端是否具有圖像解碼硬件和音頻解碼硬件;
如果有,則所述判斷結果表明所述終端支持對所述待解碼的視頻進行硬解碼,反之,所述判斷結果表明所述終端不支持對所述待解碼的視頻進行硬解碼。
在本發(fā)明的其他實施例中,所述判斷所述終端是否具有圖像解碼硬件和音頻解碼硬件,包括:
獲取所述終端的硬件列表和預設的關鍵詞集合,所述關鍵詞集合中的關鍵詞包括圖像解碼硬件的標識信息和音頻解碼硬件的標識信息;
將所述預設的關鍵字集合中每一關鍵詞匹配所述硬件列表,得到匹配結果;
如果所述匹配結果表明所述硬件列表中匹配有對應的關鍵詞,則表明所述判斷結果表明所述終端具有圖像解碼硬件或音頻解碼硬件;
如果所述匹配結果表明所述硬件列表中每一匹配的關鍵詞,則表明所述判斷結果表明所述終端不具有圖像解碼硬件和音頻解碼硬件。
這里需要指出的是:以上終端實施例項的描述,與上述方法描述是類似的,具有同方法實施例相同的有益效果,因此不做贅述。對于本發(fā)明終端實施例中未披露的技術細節(jié),本領域的技術人員請參照本發(fā)明方法實施例的描述而理解,為節(jié)約篇幅,這里不再贅述。
應理解,說明書通篇中提到的“一個實施例”或“一實施例”意味著與實施例有關的特定特征、結構或特性包括在本發(fā)明的至少一個實施例中。因此,在整個說明書各處出現(xiàn)的“在一個實施例中”或“在一實施例中”未必一定指相同的實施例。此外,這些特定的特征、結構或特性可以任意適合的方式結合在一個或多個實施例中。應理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內在邏輯確定,而不應對本發(fā)明實施例的實施過程構成任何限定。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
在本申請所提供的幾個實施例中,應該理解到,所揭露的設備和方法,可以通過其它的方式實現(xiàn)。以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元;既可以位于一個地方,也可以分布到多個網(wǎng)絡單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:移動存儲設備、只讀存儲器(Read Only Memory,ROM)、磁碟或者光盤等各種可以存儲程序代碼的介質。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明實施例的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機、服務器、或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質包括:移動存儲設備、ROM、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。