專利名稱:用于執(zhí)行編解碼資源管理的方法以及相關(guān)處理電路的制作方法
技術(shù)領域:
本發(fā)明有關(guān)于不同編解碼資源(coding resource)的控制架構(gòu),且特別有關(guān)于用于執(zhí)行編解碼資源管理的方法以及相關(guān)處理電路。
背景技術(shù):
依據(jù)相關(guān)技術(shù),當需要常用電子裝置執(zhí)行數(shù)據(jù)編解碼(例如,數(shù)據(jù)編碼及/或數(shù)據(jù)解碼)時,典型地,常用電子裝置僅利用一種編解碼資源獲取編解碼結(jié)果(例如,編碼結(jié)果及/或解碼結(jié)果)。舉例來說,常用電子裝置僅利用一種特定硬件資源(例如編碼器/解碼器),而非處理程序模塊的處理器獲取編碼/解碼結(jié)果。在另一個范例中,常用電子裝置僅利用處理程序模塊(例如編碼模塊/解碼模塊)的處理器,而非特定硬件資源,來獲取編碼/解碼結(jié)果。
請注意,典型地,常用電子裝置是否應該利用硬件資源或執(zhí)行程序模塊的處理器獲取編碼/解碼結(jié)果是在常用電子裝置的設計階段(design phase)決定的。然而,用戶使用常用電子裝置的時候可能發(fā)生一些問題。舉例來說,利用硬件資源并不總能以最佳的性能得到編碼/解碼結(jié)果,從而使得在不同的情況下以不同的性能得到編碼/解碼結(jié)果。作為結(jié)果,由于在設計階段已經(jīng)決定了應當使用哪種編解碼資源(例如,硬件資源,或執(zhí)行程序模塊的處理器)獲取編解碼結(jié)果(例如上述編碼/解碼結(jié)果),并且不能改變這種決定,常用電子裝置很難保證能夠取得最佳整體性能。從而,需要對實施不同編解碼資源的控制體系的方法進行改善。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種用于執(zhí)行編解碼資源管理的方法以及相關(guān)處理電路,以解決上述問題。本發(fā)明實施例提供一種方法,用于執(zhí)行編解碼資源管理,其中方法應用于處理電路。方法包含關(guān)于特定編解碼操作,從硬件模塊及程序模塊中選擇特定模塊;以及利用特定模塊執(zhí)行特定編解碼操作。更具體來說,從硬件模塊及程序模塊中選擇特定模塊的步驟更包含基于特定編解碼操作的至少一特性、默認設置及/或用戶設置從硬件模塊及程序豐吳塊中選擇特定I吳塊。本發(fā)明實施例另提供一種處理電路,包含至少一硬件模塊及資源管理器。當需要時,至少一硬件模塊執(zhí)行至少一編解碼操作。此外,資源管理器執(zhí)行編解碼資源管理,其中關(guān)于特定編解碼操作,該資源管理器從該硬件模塊及程序模塊中選擇特定模塊。此外,處理電路利用該特定模塊執(zhí)行該特定編解碼操作。更具體來說,資源管理器基于特定編解碼操作的至少一特性、默認設置及/或用戶設置從硬件模塊及程序模塊中選擇特定模塊。本領域技術(shù)人員閱讀完下述在不同圖形和繪圖中展示的較佳實施例的詳細說明后,將非常容易理解本發(fā)明的上述目的和其他目的。
圖IA是依據(jù)本發(fā)明第一實施例的耦接于儲存裝置,例如存儲器的處理電路的示意圖。圖IB是依據(jù)本發(fā)明實施例的圖IA中的處理電路中某些程序模塊的示意圖。圖2是依據(jù)本發(fā)明實施例用于執(zhí)行編解碼資源管理的方法的流程圖。圖3是依據(jù)本發(fā)明實施例的圖2所示方法實施細節(jié)的示意圖。圖4是依據(jù)本發(fā)明第二實施例的耦接于儲存裝置,例如上述存儲器的處理電路的示意圖。
具體實施方式
在說明書及權(quán)利要求書當中使用了某些詞匯來指稱特定的組件。所屬領域中的技術(shù)人員應可理解,制造商可能會用不同的名詞來稱呼同樣的組件。本說明書及權(quán)利要求書并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的基準。在通篇說明書及權(quán)利要求書當中所提及的「包含」是開放式的用語,故應解釋成「包含但不限定于」。另外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接于第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或透過其它裝置或連接手段間接地電氣連接至第二裝置。請參考圖1A,其展示依據(jù)本發(fā)明第一實施例的耦接于儲存裝置(例如存儲器10)的處理電路100的示意圖,其中存儲器10儲存至少一個程序模塊15(例如至少一個編碼程序)。舉例來說,存儲器10可以是只讀存儲器(read only memory,簡稱為ROM),例如電可擦除可編程ROM (electrically erasable programmable ROM,簡稱為 EEPR0M),而上述至少一個編解碼程序可包含編碼程序及/或解碼程序。處理電路100包含資源管理器(resourcemanager)(例如處理器110)、至少一個硬件模塊(例如硬件模塊120)以及緩沖器130,其中硬件模塊120可包含編碼器及/或解碼器,例如編碼器120E及解碼器120D。在本實施例中,上述資源管理器是處理器110,用于控制處理電路100的操作。但其僅用作說明的目的,并非是本發(fā)明的限制。依據(jù)本實施例的變形,上述資源管理器可以是獨立元件,而不是處理器,用來控制本實施例中的處理電路的操作。在本實施例中,上述資源管理器(例如處理器110)執(zhí)行編解碼資源管理,而當需要時,上述至少一個硬件模塊(例如硬件模塊120)執(zhí)行至少一個編解碼操作,其中緩沖器130用于緩沖數(shù)據(jù)(例如一個或多個編解碼操作的數(shù)據(jù))。此外,關(guān)于特定編解碼操作,資源管理器(例如,本實施例中的處理器110)可以從硬件模塊120及程序模塊15中選擇特定模塊。從而,處理電路100利用特定模塊,也就是說,被資源管理器所選取的特定模塊,執(zhí)行特定編解碼操作。請注意,處理電路100可以從處理電路100之外的上述儲存裝置(例如,存儲器10)獲取程序模塊15。但其僅用作說明的目的,并非是本發(fā)明的限制。依據(jù)本實施例的變形,處理電路100可以包含存儲程序模塊15的存儲器。舉例來說,本變形中存儲程序模塊15的存儲器可以是ROM (例如EEPR0M)。圖IB是依據(jù)本發(fā)明實施例的圖IA中的處理電路100中某些程序模塊的示意圖。在本實施例中,上述至少一個程序模塊15包含非編解碼(non-coding)程序模塊150及多個編解碼程序模塊151、152、……、等等,其中多個編解碼程序模塊151、152、……、等可包含至少一個編碼程序及/或至少一個解碼程序。舉例來說,多個編解碼程序模塊151、152、……、等中的至少一部分(例如,編解碼程序模塊151、152、……、等中的一部分或全部)中的每一個可以包含編碼程序及解碼程序。更具體地說,如圖IB所示,編解碼程序模塊151包含編碼程序151E及解碼程序151D,而編解碼程序模塊152包含編碼程序152E及解碼程序152D,等等。在實踐中,處理器110可以裝載并執(zhí)行非編解碼程序模塊150,以控制處理電路100的操作。當需要時,處理器110可以裝載并執(zhí)行一個或多個編解碼程序模塊151、152、……、等,以執(zhí)行一個或多個編解碼操作?;谏鲜黾軜?gòu),處理電路100可以動態(tài)選擇程序模塊15 (更具體來說,多個編解碼程序模塊151、152、……、等中一個)或硬件模塊120,以便以最佳性能執(zhí)行編解碼操作。圖2將進一步說明實施細節(jié)。圖2是依據(jù)本發(fā)明一實施例用于執(zhí)行編解碼資源管理的方法910的流程圖。圖2中所示的方法910可用于圖IA中所示的處理電路100。該方法詳述如下
在步驟912中,關(guān)于特定編解碼操作(例如上述的編解碼操作),上述資源管理器(例如,本實施例中的處理器110)從硬件模塊120及程序模塊15中選擇特定模塊。更具體來說,基于特定編解碼操作的至少一個特性,資源管理器能夠從硬件模塊120及程序模塊15中選擇特定模塊。舉例來說,特定編解碼操作可以是雜亂編解碼算法(hash codingalgorithm)(例如加密Hash算法(Secure Hash Algorithm,簡稱為SHA)、報文摘要算法
5 (Message-Digest algorithm,簡稱為MD5)、......、等等)之一或類似算法的操作。在
另一范例中,特定編解碼操作可以是對稱加密標準(symmetric encryption standards)(例如高級加密標準(Advanced Encryption Standard,簡稱為AES)、數(shù)據(jù)加密標準(DataEncryption Standard,簡稱為DES)、......、等等)之一或類似算法的操作。在步驟914中,處理電路100利用特定模塊(亦即在步驟912中由資源管理器所選擇的特定模塊)執(zhí)行特定編解碼操作。舉例來說,在程序模塊15被選為特定模塊的情況下,處理電路100利用執(zhí)行程序模塊15的處理器110 (更具體來說,執(zhí)行多個編解碼程序模塊151、152、……、等之一的處理器110)執(zhí)行特定編解碼操作。在另一個范例中,在硬件模塊120被選為特定模塊的情況下,處理電路100利用硬件模塊120執(zhí)行特定編解碼操作。依據(jù)本實施例,上述至少一特性可包含至少一個估計結(jié)果,其中處理電路100利用硬件模塊120及程序模塊15分別執(zhí)行估計操作,以獲得至少一個估計結(jié)果,更具體的說,獲得分別對應于硬件模塊120及程序模塊15的估計結(jié)果。舉例來說,上述估計操作可以在圖3所示的流程920中實施,其中流程920詳述如下在步驟922中,處理電路100利用硬件模塊120及程序模塊15分別執(zhí)行估計操作。舉例來說,估計操作可類似于特定編解碼操作。在另一范例中,在估計操作中僅利用部分步驟914所涉及的數(shù)據(jù)。在步驟924中,上述資源管理器(例如,本實施例中的處理器110)決定是否將硬件模塊120 (或程序模塊15)選為特定模塊。更具體來說,上述資源管理器可比較分別對應于硬件模塊120及程序模塊15的估計結(jié)果(例如,利用硬件模塊120的估計時間及利用程序模塊15的估計時間),并據(jù)此從硬件模塊120及程序模塊15中選擇特定模塊。當決定選擇硬件模塊120作為特定模塊時,進入步驟926-1 ;否則,進入步驟926-2。
在步驟926-1中,處理電路100利用硬件模塊120執(zhí)行特定編解碼操作。在步驟926-2中,處理電路100利用程序模塊15執(zhí)行特定編解碼操作?;谏鲜隽鞒?20,處理電路100可達到獲取(或計算)特定編解碼操作的編碼/解碼結(jié)果的最佳性能。其僅用作說明的目的,并非是本發(fā)明的限制。依據(jù)本實施例的變形,流程920并非必需的。更具體來說,上述至少一個特性可包含特定編解碼操作的分類,其中處理電路100可儲存表示特定編解碼操作分類的分類信息。舉例來說,本變形中的處理電路100可以將分類信息儲存入緩沖器130或處理電路100的某些寄存器中,而上述資源管理器可以依此從硬件模塊120及程序模塊15中選擇特定模塊。依據(jù)本實施例的其他變形,基于默認設置(default setting)及/或用戶設置,資源管理器能夠從硬件模塊120及程序模塊15中選擇特定模塊。在實踐中,默認設置及/或用戶設置可以負載代表上述特定編解碼操作的至少一個特性的信息。依據(jù)一實施例(例如上述變形之一),基于用于不同類型編解碼操作的默認設置 及/或用戶設置,資源管理器可以決定是否僅需要單命令(single command)完成特定編解碼操作。當決定僅需單命令完成特定編解碼操作時,資源管理器選擇硬件模塊120作為特定模塊;否則,資源管理器選擇程序模塊15 (更具體來說,編解碼程序模塊151、152、……、等之一)作為特定模塊。舉例來說,在特定編解碼操作是上述雜亂編解碼算法(例如SHA、MD5、……、等)之一或類似算法的操作的情況下,當特定編解碼操作被用于處理中的整個數(shù)據(jù)時,意即僅需單指令來完成特定編解碼操作,由實驗結(jié)果可以推出,利用硬件模塊120可以比利用程序模塊15獲得更好的性能。相反地,在特定編解碼操作是上述雜亂編解碼算法(例如SHA、
MD5、......、等)之一或類似算法的操作的情況下,當特定編解碼操作逐漸(piece by piece)
用于處理中的數(shù)據(jù)時,意即需要多個指令來完成特定編解碼操作,由實驗結(jié)果可以推出,利用程序模塊15可以比利用硬件模塊120獲得更好的性能。在另一個范例中,在特定編解碼操作是上述對稱加密標準(例如AES、DES、……、等)之一或類似算法的操作的情況下,當特定編解碼操作被用于處理中的整個數(shù)據(jù)時(例如,對應于密碼塊鏈接(Cipher Block Chaining,簡稱為CBC)編解碼模式的特定編解碼操作),意即僅需單指令用于完成特定編解碼操作,由實驗結(jié)果可以推出,利用硬件模塊120可以比利用程序模塊15獲得更好的性能。相反地,在特定編解碼操作是上述對稱加密標準(例如AES、DES、……、等)之一或類似算法的操作的情況下,當特定編解碼操作逐漸用于處理中的數(shù)據(jù)時(例如,對應于電子代碼塊(Electronic Code Block,簡稱為ECB)編解碼模式的特定編解碼操作),意即需要多個指令用于完成特定編解碼操作,由實驗結(jié)果可以推出,利用程序模塊15可以比利用硬件模塊120獲得更好的性能。依據(jù)本實施例的變形,基于用于上述不同類型的編解碼操作的默認設置及/或用戶設置,資源管理器能夠決定用于完成特定編解碼操作的命令的數(shù)量是否達到預設值(例如,大于I的自然數(shù))。當決定用于完成特定編解碼操作的命令的數(shù)量達到預設值時,資源管理器選擇程序模塊15(更具體來說,編解碼程序模塊151、152、……、等之一)作為特定模塊;否則,資源管理器選擇硬件模塊120作為特定模塊。為簡潔起見,這里不再詳述。圖4是依據(jù)本發(fā)明第二實施例耦接于儲存裝置(例如上述存儲器10)的處理電路200的示意圖。第一實施例及第二實施例的區(qū)別如下。
如圖4所示,上述處理器110被處理器210取代,而上述資源管理器由獨立元件實施,也就是說,資源管理器200R,而非處理器210控制處理電路200的操作。具體來說,資源管理器200R執(zhí)行圖2中所示的步驟912。更具體來說,關(guān)于上述特定編解碼操作,資源管理器200R從硬件模塊120及程序模塊15中選擇上述特定模塊。從而,處理電路200利用由資源管理器200R選擇的特定模塊執(zhí)行特定編解碼操作。舉例來說,在程序模塊15被選為特定模塊的情況下,處理電路200利用執(zhí)行程序模塊15 (更具體來說,編解碼程序模塊151、152、……、等之一)的處理器210執(zhí)行特定編解碼操作。在另一范例中,在硬件模塊120被選為特定模塊的情況下,處理電路200利用硬件模塊120執(zhí)行特定編解碼操作。為簡潔起見,這里不再詳述。請注意,處理電路200可以從處理電路200之外的上述儲存裝置(例如,存儲器10)獲取程序模塊15。但其僅用作說明的目的,并非是本發(fā)明的限制。依據(jù)本實施例的變形,處理電路200可以包含存儲程序模塊15的存儲器。舉例來說,本變形中存儲程序模塊15的存儲器可以是ROM (例如EEPR0M)。 本發(fā)明的一個優(yōu)點為,當電子裝置(例如手機、個人數(shù)字助理(personal digitalassistant,簡稱為PDA)、娛樂裝置、光學儲存裝置、……、等)需要執(zhí)行數(shù)據(jù)編解碼(例如,數(shù)據(jù)編碼及/或解碼)時,只要電子裝置配置有以上所揭示的實施例/變形中的處理電路中的任意一種,電子裝置的性能就能被優(yōu)化。對比于背景技術(shù),只要電子裝置配置有以上所揭示的實施例/變形中的處理電路中的任意一種,由于可以根據(jù)實際情況動態(tài)決定使用哪種編解碼資源(例如硬件模塊或執(zhí)行程序模塊的處理器)獲取編解碼結(jié)果(例如編碼/解碼結(jié)果),不能得到電子裝置的最佳整體性能的問題將不復存在。以上所述僅為本發(fā)明的較佳實施例,本領域相關(guān)的技術(shù)人員依據(jù)本發(fā)明的精神所做的等效變化與修改,都應當涵蓋在權(quán)利要求書內(nèi)。
權(quán)利要求
1.一種方法,用于執(zhí)行編解碼資源管理,該方法應用于處理電路,該方法包含 關(guān)于特定編解碼操作,從硬件模塊及程序模塊中選擇特定模塊;以及 利用該特定模塊執(zhí)行該特定編解碼操作。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,從該硬件模塊及該程序模塊中選擇該特定模塊的步驟更包含 基于該特定編解碼操作的至少一特性,從該硬件模塊及該程序模塊中選擇該特定模塊。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,該至少一特性包含至少一估計結(jié)果;并且該方法更包含 利用該硬件模塊及該程序模塊分別執(zhí)行多個估計操作,以獲得該至少一估計結(jié)果。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,該至少一特性包含該特定編解碼操作的分類;并且該方法更包含 儲存分類信息,其中該分類信息代表該特定編解碼操作的分類。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,從該硬件模塊及該程序模塊中選擇該特定模塊的步驟更包含 決定是否僅需單一指令完成該特定編解碼操作;以及 當決定僅需該單一指令完成該特定編解碼操作時,選擇該硬件模塊作為該特定模塊。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,從該硬件模塊及該程序模塊中選擇該特定模塊的步驟更包含 決定用于完成該特定編解碼操作的多個指令的數(shù)量是否達到預設值;以及當決定用于完成該特定編解碼操作的該多個指令的該數(shù)量達到該預設值時,選擇該程序模塊作為該特定模塊。
7.根據(jù)權(quán)利要求I所述的方法,其特征在于,該硬件模塊包含編碼器及/或解碼器。
8.根據(jù)權(quán)利要求I所述的方法,其特征在于,該程序模塊包含編碼程序及/或解碼程序。
9.根據(jù)權(quán)利要求I所述的方法,其特征在于,在該程序模塊被選為該特定模塊的情況下,利用該特定模塊執(zhí)行該特定編解碼操作的步驟更包含 利用執(zhí)行該程序模塊的處理器執(zhí)行該特定編解碼操作。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,該處理器控制該處理電路的多個操作。
11.一種處理電路,包含 至少一硬件模塊,當需要時,執(zhí)行至少一編解碼操作;以及 資源管理器,執(zhí)行編解碼資源管理,其中關(guān)于特定編解碼操作,該資源管理器從該硬件模塊及程序模塊中選擇特定模塊; 其中該處理電路利用該特定模塊執(zhí)行該特定編解碼操作。
12.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,基于該特定編解碼操作的至少一特性,該資源管理器從該硬件模塊及該程序模塊中選擇該特定模塊。
13.根據(jù)權(quán)利要求12所述的處理電路,其特征在于,該至少一特性包含至少一估計結(jié)果;以及該處理電路利用該硬件模塊及該程序模塊分別執(zhí)行多個估計操作,以獲得該至少一估計結(jié)果。
14.根據(jù)權(quán)利要求12所述的處理電路,其特征在于,該至少一特性包含該特定編解碼操作的分類;并且該處理電路儲存分類信息,其中該分類信息代表該特定編解碼操作的分類。
15.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,該資源管理器決定是否僅需單一指令完成該特定編解碼操作;以及當決定僅需該單一指令完成該特定編解碼操作時,該資源管理器選擇該硬件模塊作為該特定模塊。
16.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,該資源管理器決定用于完成該特定編解碼操作的多個指令的數(shù)量是否達到預設值;以及當決定用于完 成該特定編解碼操作的該多個指令的該數(shù)量達到該預設值時,該資源管理器選擇該程序模塊作為該特定模塊。
17.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,該硬件模塊包含編碼器及/或解碼器。
18.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,該程序模塊包含編碼程序及/或解碼程序。
19.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,該資源管理器是用于控制該處理電路的多個操作的處理器;以及在該程序模塊被選為該特定模塊的情況下,該處理電路利用執(zhí)行該程序模塊的該處理器執(zhí)行該特定編解碼操作。
20.根據(jù)權(quán)利要求11所述的處理電路,更包含 處理器,控制該處理電路的多個操作; 其中在該程序模塊被選為該特定模塊的情況下,該處理電路利用執(zhí)行該程序模塊的該處理器執(zhí)行該特定編解碼操作。
21.根據(jù)權(quán)利要求11所述的處理電路,其特征在于,該處理電路從該處理電路之外的儲存裝置中獲取該程序模塊。
22.根據(jù)權(quán)利要求11所述的處理電路,更包含 存儲器,儲存該程序模塊。
全文摘要
本發(fā)明提供一種用于執(zhí)行編解碼資源管理的方法,其中方法應用于處理電路。方法包含關(guān)于特定編解碼操作,從硬件模塊及程序模塊中選擇特定模塊;以及利用特定模塊執(zhí)行特定編解碼操作。更具體來說,從硬件模塊及程序模塊中選擇特定模塊的步驟更包含基于特定編解碼操作的至少一特性、默認設置及/或用戶設置從硬件模塊及程序模塊中選擇特定模塊。本發(fā)明也提供一種相關(guān)處理電路。
文檔編號G06F9/06GK102906690SQ201080005659
公開日2013年1月30日 申請日期2010年9月19日 優(yōu)先權(quán)日2010年9月19日
發(fā)明者陳川 申請人:聯(lián)發(fā)科技(新加坡)私人有限公司