專利名稱:多任務控制設備和音樂數據再現(xiàn)設備的制作方法
技術領域:
本發(fā)明涉及一種多任務控制設備和音樂數據再現(xiàn)設備,該多任務控制設備可以使處理器同時執(zhí)行多個任務。
背景技術:
近年來,開發(fā)出程序控制系統(tǒng)的通用數字信號處理器(DSP),它可以對例如音頻和視頻數據執(zhí)行高速(例如285MIPS)壓縮處理,并可以用于廣泛種類的設備,例如調制解調器、CD、MD、DVC和DVD設備以及數字蜂窩電話和移動AV設備。集成這種處理器的計算機設備例如蜂窩電話通過使該處理器執(zhí)行用于呼叫的程序來實現(xiàn)電話呼叫功能。但是,目前用戶對于蜂窩電話附加功能的需求逐漸增加,這些附加功能包括例如音樂記錄和/或再現(xiàn)設備、TV接收機、甚至可以同時記錄音樂、觀看TV和在接到電話時應答電話的設備。因此,通過實現(xiàn)能夠很容易地擴展和修改功能從而實現(xiàn)多種功能的多任務控制設備,使這種類型的計算機變得具有多功能性已經越來越成為趨勢。
該多任務控制設備使強大的處理器同時處理三個任務,例如用于記錄和/或再現(xiàn)音樂的任務、用于接收TV的任務和用于電話呼叫的任務。通過在處理器上運行的實時OS提供的功能,可以實現(xiàn)這些任務,該實時OS可以是例如控制任務的啟動和停止的任務管理單元。
通過這種方式,為了滿足同時記錄和/或再現(xiàn)音樂、觀看TV和打電話的需要,假設處理TV接收任務和電話呼叫任務的處理器的負荷分別為150MIPS和100MIPS,則該處理器用于記錄和/或再現(xiàn)音樂的多余容量應當為35MIPS。
這就是傳統(tǒng)上為了避免處理器容量不足,需要創(chuàng)造具有最小數目的命令以記錄和/或再現(xiàn)音樂的任務,以便將負荷控制在大約30MIPS的范圍內,從而可以在該處理器的處理容量限制范圍內同時進行記錄和/或再現(xiàn)音樂、接收TV和打電話。
這里有一種音頻編碼系統(tǒng),作為傳統(tǒng)技術,它將數字音頻信號分為多個頻帶從而在各頻帶內對其編碼(見日本專利申請No.2000-78018,第1頁,圖1)。該音頻編碼系統(tǒng)包括多個比特分配裝置,用于通過產生用于各分割后頻帶的比特分配信息,從而利用不同的處理量執(zhí)行比特分配,其中通過在多個裝置之間進行切換而根據外部控制信息執(zhí)行比特分配,從而可以使用這些裝置中的預定一個進行比特分配,用于編碼數字音頻信號。利用該系統(tǒng),不考慮計算機中的CPU處理容量和其他應用程序在CPU中的占用率,就可以實現(xiàn)產生實時、不受干擾的高質量的編碼后數據。
但是,即使在多任務控制設備或其中采用了該多任務控制設備的音樂數據再現(xiàn)設備中,也很少有機會同時執(zhí)行三個動作,即記錄和/或再現(xiàn)音樂、觀看TV和打電話。實際上僅有記錄和/或再現(xiàn)音樂這個單一功能是經常使用的。當僅使用這個功能,例如記錄和/或再現(xiàn)音樂時,處理器中僅有用于處理該音樂記錄和/或再現(xiàn)任務的30MIPS的負荷。換句話說,該處理器在其容量范圍內使用良好,還有255MIPS的處理容量未使用。
另外,對音頻信號編碼和解碼的可量測性(scalable)也很高。例如,如果處理器僅承受30MIPS的低負荷或很少數目的用于編碼和解碼的指令,則聲音質量也很低,而如果處理器承受200MIPS的高負荷或大量數目的編碼指令,則聲音質量將與原始聲音的質量一樣高。
因此,就存在這樣的問題,由于處理器的高容量并沒有完全使用,而導致在處理器負荷較低的同時聲音質量也較低。
為了解決這個問題,很容易理解應當通過增加用于記錄和/或再現(xiàn)音樂任務所需的指令數目從而使處理器處理記錄和/或再現(xiàn)音樂任務的負荷達到200MIPS,來充分利用處理器的容量,從而提高聲音質量。
但是,在這種情況下,如果在記錄和/或再現(xiàn)音樂期間用戶需要觀看TV或打電話,則負荷將超出處理容量且處理器將受損。
這種情況的發(fā)生與任務類型無關,應當考慮多余容量/質量之間的平衡。
上述專利申請中公開的音頻編碼方法是在CPU的處理容量是蜂窩電話中處理器的處理容量大幾十或幾百倍的情況,因此上述問題似乎很難發(fā)生。另一方面,如果沒有其它選擇而只能使用其容量為計算機所使用的CPU的幾十或幾百分之一的處理器時,即使能夠將其處理容量提高一些,上述問題也還會顯得很嚴重。
本發(fā)明基于目前存在的問題,因此本發(fā)明的目的是提供一種多任務控制設備和音樂數據再現(xiàn)設備,它們可以利用相對較低的處理容量,改進質量并避免處理器容量不足。
發(fā)明內容
為了解決上述問題,本發(fā)明的多任務控制設備為用于使處理器同時執(zhí)行多個任務的多任務控制設備,所述多個任務包括具有多個操作模式的第一任務,該多任務控制設備包括判斷單元,用于判斷是否應當啟動第一任務;和模式控制單元,用于當判斷單元判斷應當啟動第一任務時,使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中第一任務具有在處理器容量限制范圍內可以實現(xiàn)的功能。特別是,該第一任務是用于再現(xiàn)數字音頻信號的任務,該功能是控制聲音質量的功能,當判斷單元判斷應當啟動第一任務時,該模式控制單元使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中第一任務在處理器容量限制范圍內以最高聲音質量再現(xiàn)該信號。
因此,如果處理器具有額外的容量,則對第一任務功能的選擇范圍會增大,而如果處理器沒有額外的容量則這種選擇范圍會很小。因此,模式控制單元可以使處理器按照一種操作模式執(zhí)行第一任務,在該操作模式中第一任務具有在處理器的處理容量限制范圍內可以實現(xiàn)的最高功能,因此不論這些任務同時發(fā)生的情況如何,都可以保證避免處理器容量不足,同時提高再現(xiàn)的聲音的質量。
這里,該功能是在處理器容量限制范圍內可實現(xiàn)的最高功能,該模式控制單元可以使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中該第一任務具有最高功能。而且,隨著處理器上的負荷變得更大,該功能也變得更高,當判斷單元判斷應當啟動第一任務時,模式控制單元可使處理器按照多個操作模式中的所述一個執(zhí)行第一任務,在該操作模式中第一任務以處理器容量限制范圍內的最大負荷操作。另外,隨著處理器執(zhí)行的指令數目變多,該功能也變得更高,當判斷單元判斷應當啟動第一任務時,模式控制單元可使處理器按照多個操作模式中的所述一個執(zhí)行第一任務,在該操作模式中第一任務根據處理器容量限制范圍內的最多數目指令操作。另外,該功能是用于在處理器容量限制范圍內控制最高聲音質量的濾波器功能,當判斷單元判斷應當啟動第一任務時,模式控制單元可以使處理器按照多個操作模式中的所述一個執(zhí)行第一任務,其中該第一任務在處理器容量限制范圍內使用最大數目的抽頭(tap)來操作。
模式控制單元可包括狀態(tài)變化檢測單元,用于檢測將由處理器執(zhí)行的多個任務中的各任務的狀態(tài)變化;指定單元,用于指定將在狀態(tài)變化后啟動多個任務中的至少一個;和操作模式確定單元,用于如果在由指定單元所指定的多個任務中的至少一個中包括第一任務,則為該第一任務確定多個操作模式中的一個。因此,當多個任務發(fā)生狀態(tài)變化時,可以在適當的定時確定第一任務的操作模式。
在這種情況下,操作模式確定單元具有一操作模式設定表,在該表中將指定單元所指定的多個任務中的至少一個與將在狀態(tài)變化后啟動的第一任務的操作模式相聯(lián)系起來,且操作模式確定單元可以根據該操作模式設定表來確定第一任務的操作模式。而且,操作模式確定單元具有操作模式設定表,在該表中將指定單元所指定的多個任務的數目與將在狀態(tài)變化后啟動的第一任務的操作模式相聯(lián)系起來,且操作模式確定單元可以根據該操作模式設定表來確定第一任務的操作模式。因此,可以很容易地確定第一任務的操作模式。
另外,操作模式確定單元包括負荷計算單元,用于計算可以分配來執(zhí)行第一任務的負荷,該第一任務將在狀態(tài)變化之后被啟動;和比較單元,用于對負荷計算單元所計算出的負荷和按照多個操作模式中的相應一個執(zhí)行第一任務所需的負荷進行比較,然后操作模式確定單元可以根據比較單元的比較結果來確定第一任務的操作模式。在這種情況下,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中相應一個任務的啟動請求;和啟動禁止單元,用于如果負荷計算單元所計算出的負荷小于為第一任務的具有最低功能的操作模式設定的閾值時,當在第一任務執(zhí)行期間啟動請求接收單元接收到至少一個其他任務的啟動請求時,禁止啟動除第一任務以外的至少一個其他任務。因此,可以確保按照具有最低功能的操作模式實時連續(xù)處理第一任務,從而可以避免聲音的非連續(xù)再現(xiàn)。而且,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中相應一個任務的啟動請求;和啟動禁止單元,用于當在第一任務執(zhí)行期間啟動請求接收單元接收到所述至少一個其他任務的啟動請求時,禁止啟動除第一任務以外的至少一個其他任務。因此,可以避免第一任務的操作模式變化,從而可以連續(xù)地以恒定聲音質量進行聲音再現(xiàn)處理。
另外,操作模式確定單元還包括指令數目計算單元,用于計算可分配用于第一任務的執(zhí)行的指令的數目,該第一任務將在狀態(tài)變化后被啟動;和比較單元,用于將指令數目計算單元所計算出的指令數目和按照多個操作模式中的相應一個執(zhí)行第一任務所需的指令數目進行比較,然后操作模式確定單元可以根據比較單元的比較結果來確定第一任務的操作模式。在這種情況下,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中所述相應一任務的啟動請求;和禁止單元,用于如果指令數目計算單元所計算出的指令數目小于為第一任務的具有最低功能的操作模式設定的閾值時,當在第一任務執(zhí)行期間啟動請求接收單元接收到除第一任務以外的至少一個其他任務的啟動請求時,禁止啟動所述至少一個其他任務。因此,可以確保按照具有最低功能的操作模式實時連續(xù)處理第一任務,從而可以避免聲音的非連續(xù)再現(xiàn)。而且,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中所述一相應任務的啟動請求;和禁止單元,用于當在第一任務執(zhí)行期間啟動請求接收單元接收到除第一任務以外的至少一個其他任務的啟動請求時,禁止啟動所述第一任務以外的至少一個其他任務。因此,可以避免第一任務的操作模式變化,從而可以連續(xù)地以恒定聲音質量進行聲音再現(xiàn)處理。
另外,模式控制單元可以為第一任務設定一參數,并使處理器按照對應該參數的操作模式執(zhí)行第一任務,該參數與操作模式確定單元所確定的操作模式相聯(lián)系。因此,通過設定參數的簡單處理可以很容易地轉換第一任務的操作模式,因此可以改變負荷和指令的數目。
另外,為了解決上述問題,本發(fā)明的音樂數據再現(xiàn)設備是包括多任務控制設備的音樂數據再現(xiàn)設備,該多任務控制設備用于使處理器同時執(zhí)行包括具有多種操作模式的音樂再現(xiàn)任務的多個任務,其中該多任務控制設備包括判斷單元,用于判斷音樂再現(xiàn)任務是否被啟動;和模式控制單元,用于當判斷單元判斷應當啟動第一任務時,使處理器按照多個操作模式中的一個執(zhí)行音樂再現(xiàn)任務,在該操作模式中音樂再現(xiàn)任務在處理器容量限制范圍內以最高聲音質量再現(xiàn)音樂。具體說,該音樂數據再現(xiàn)設備具有便攜性,除了音樂再現(xiàn)任務以外,處理器同時執(zhí)行的至少一個其他任務可以是觀看TV、瀏覽、接發(fā)電子郵件和電話呼叫中的一個。因此,例如蜂窩電話等具有高便攜性的設備可以用作為高質量音樂數據再現(xiàn)設備,與TV觀看、瀏覽、接發(fā)電子郵件和電話呼叫同時使用。
如上所述,根據本發(fā)明,當存在足夠的操作資源時,可以執(zhí)行高質量音頻信號處理,即使沒有多余的操作資源,也可以減少所使用的操作資源,并在處理器處理容量限制范圍內以最高聲音質量執(zhí)行處理。因此本發(fā)明的實際價值非常高。
注意,本發(fā)明也可實現(xiàn)為多任務控制方法或程序,該方法包括由多任務控制設備中所包括的所有單元執(zhí)行的步驟,該程序用于使計算機起到這些單元的作用。另外,當然該程序也可通過例如DVD等記錄介質和例如互聯(lián)網等傳輸媒介廣泛傳播。
作為關于本申請技術背景的其他信息,將2002年6月20日申請的日本專利申請No.2002-180629參考結合在本文中。
本發(fā)明的這些和其他目的、優(yōu)點和特征將從下面結合附圖的說明變得明顯,這些附圖示出了本發(fā)明的特定實施例。在這些附圖中圖1示出根據本發(fā)明第一實施例的多任務控制設備1a的結構的方塊圖;圖2示出處理器10上的負荷和如圖1所示的第一任務101a的操作模式A-C中聲音質量之間的關系;圖3示出如圖1所示的操作模式設定表31a的詳細結構;圖4A示出處理器的處理容量和如圖1所示的第一任務101a的操作模式A之間的關系;圖4B示出處理器的處理容量和如圖1所示的第一任務101a的操作模式B之間的關系;圖4C示出處理器的處理容量和如圖1所示的第一任務101a的操作模式C之間的關系;圖5示出多任務控制設備1a的操作;圖6示出根據一個任務變化而導致的負荷變化;圖7示出根據多個任務變化而導致的負荷變化;圖8示出根據多個任務變化而導致的負荷變化;圖9示出根據本發(fā)明第二實施例的多任務控制設備1b的結構;圖10示出如圖9所示的操作模式確定表的詳細結構;圖11示出蜂窩電話的外部結構的例子,其中在該蜂窩電話中實現(xiàn)了如圖9所示的多任務控制設備;圖12是示出任務管理單元20b和模式設定單元30b執(zhí)行的任務啟動和停止處理的詳細情況的流程圖;圖13是示出如圖12所示的音樂再現(xiàn)任務啟動控制處理(S30)的子程序的流程圖;圖14是示出如圖12所示的其他任務啟動控制處理(S40)的子程序的流程圖;圖15是示出如圖12所示的其他任務停止控制處理(S80)的子程序的流程圖;圖16示出在同時允許模式中,根據多個任務的變化而導致的負荷變化;圖17A示出蜂窩電話上的屏幕顯示的例子,特別示出了在執(zhí)行音樂再現(xiàn)任務同時的顯示例子;
圖17B示出蜂窩電話上的屏幕顯示的例子,特別示出了在同時執(zhí)行音樂再現(xiàn)任務和TV觀看時的顯示例子;圖17C示出蜂窩電話上的屏幕顯示的例子,特別示出了在同時執(zhí)行音樂再現(xiàn)任務、TV觀看以及瀏覽時的顯示例子;圖17D示出蜂窩電話上的屏幕顯示的例子,特別示出了在同時執(zhí)行音樂再現(xiàn)任務、TV觀看和瀏覽時,在接收觀看一視頻電郵的請求時的顯示例子;圖18示出在同時禁止模式下,根據多個任務的變化而導致的負荷變化;圖19示出操作模式設定表的其他詳細結構。
具體實施例方式
下面將結合
本發(fā)明的多個實施例的多任務控制設備。
(第一實施例)圖1示出根據本發(fā)明第一實施例的多任務控制設備1a的整體結構的方塊圖。
例如,該多任務控制設備1a使處理器10處理多個(本圖中為3個)任務(包括第一任務101a、第二任務102a和第三任務103a),用于使蜂窩電話多功能化。該多任務控制設備1a包括任務管理單元20a和模式設定單元30a,并由在實時OS中結合的多個功能來實現(xiàn),該實時OS在處理器10上運行。
處理器10處理的第一任務101a是用于實現(xiàn)第一功能(例如,音樂記錄(音頻信號編碼))的一個程序,并且根據聲音質量的三個級別,即高、中和低,而具有三個操作模式(操作模式A、操作模式B和操作模式C)。根據ISO/IEC 13818-7高級音頻編碼的標準(下稱“AAC”),這些級別由用于編碼音頻信號(例如音質(psychoacoustic)模型,TNS(時域噪聲成形)、預測、M/S(中/側)立體聲、AAC量化/編碼)的工具的算法來確定,這些音頻信號根據模式設定單元30a所確定的參數的值而變化。在操作模式A中,處理器10上的負荷大于操作模式B或C,從而改進了聲音質量。特別是,由于實現(xiàn)更高聲音質量的算法是按照操作模式A、B、C的順序來使用的,因此按照該順序所需要的操作量增大(指令數目越多),則處理器10上的負荷增大,從而按照該順序可以再現(xiàn)更高質量的聲音。
更詳細的說,當參數值為“1”時,第一任務101a執(zhí)行操作模式A,用于在處理器10上施加200MIPS的負荷N11。在該操作模式A中,第一任務101a產生用于再現(xiàn)頂級質量聲音的壓縮后音頻數據,該頂級質量聲音幾乎與原始聲音一樣。當參數值為“2”時,第一任務101a執(zhí)行操作模式B,用于在處理器10上施加50MIPS的負荷N12。在該操作模式B中,第一任務101a產生用于再現(xiàn)中級質量聲音的壓縮后音頻數據,該中級質量聲音次于在操作模式A中再現(xiàn)的聲音。當參數值為“3”時,第一任務101a執(zhí)行操作模式C,用于在處理器10上施加30MIPS的負荷N13。在該操作模式C中,第一任務101a產生用于再現(xiàn)低級質量聲音的壓縮后音頻數據,該低級質量聲音次于在操作模式B中再現(xiàn)的聲音。
第二任務102a是用于通過在處理器10上施加例如每單位時間150MIPS的負荷N2來實現(xiàn)第二功能(例如TV接收,即視頻解碼(Vdec)和音頻解碼(Adec))的程序。
該第三任務103a是用于通過在處理器10上施加例如每單位時間100MIPS的負荷N3來實現(xiàn)第三功能(例如電話呼叫(語音和回音消除))的程序。
處理器10是具有以每單位時間285MIPS=Nmax的速率處理第一至第三任務101a-103a中的一個或他們中的兩個或更多個結合的容量的處理器。
該任務管理單元20a管理任務101a-103a中每一個的啟動和停止。詳細的說,該任務管理單元20a包括表示任務狀態(tài)的狀態(tài)碼、包括各任務的頭地址的任務控制塊(TCB)、中斷處理時的標志和寄存器保存區(qū)、分配器和計劃器。當事件發(fā)生,操作用于記錄音樂的按鈕,操作用于觀看TV的按鈕或在打電話時操作摘機按鈕,或事件結束時,任務管理單元20a指定下一將要啟動或停止的任務,根據該指定檢測處理器10將要處理的任務的狀態(tài)變化,然后通知模式設定單元30a這些檢測到的任務狀態(tài)變化,或按照利用TCB的計劃啟動或停止各任務101a-103a。
在從任務管理單元20a接收到任務狀態(tài)變化的通知,即這些任務的計劃啟動或停止時,如果第一任務101a包括在所計劃的任務中,則具有操作模式設定表31a的模式設定單元30a參照操作模式設定表31a,根據其他任務是否將與第一任務101a同時執(zhí)行,來確定第一任務101a的操作模式,并根據所確定的操作模式設定第一任務101a的參數。
圖2示出處理器10上單位時間的負荷和如圖1所示的第一任務101a的操作模式A-C中的聲音質量之間的關系。
AAC具有可量測結構,因此即使僅使用編碼后音頻信號的比特流的一部分,也可以再現(xiàn)聲音,在AAC中,通過將多個不同算法,即所有工具合并,可以使用像專業(yè)級編碼器一樣的用于實現(xiàn)頂級質量的算法,或者通過省略一部分這些工具(例如預測工具)或簡化這些工具,可以使用比專業(yè)級編碼器質量較低的算法,例如SD播放器,或比SD播放器質量更低的算法,例如CD播放器。
例如,對于高質量音頻編碼,執(zhí)行稱為音質模型的處理,從而改進聽覺聲音質量(見AAC),該模型用于模擬人類聽力的掩蔽效應。但是,用于執(zhí)行編碼處理所需的指令數目非常大,其中該編碼處理用于獲取與原始聲音質量幾乎相同的再現(xiàn)后聲音,因此執(zhí)行這種編碼處理需要大量的負荷。相反,如果將該處理簡化,則聲音質量會根據簡化程度而逐漸降低,同時指令數目也會急劇減少,因此該處理所需的負荷也大量降低。在這種情況下,在完全考慮音質模型時,用于執(zhí)行可獲取與原始聲音幾乎相同的再現(xiàn)后聲音的編碼處理的程序就是操作模式A。用于執(zhí)行該第一任務的簡化后處理的模式就是操作模式B,用于執(zhí)行該任務的進一步簡化后處理的模式就是操作模式C。
另外,對于高質量音頻編碼,為了將壓縮失真抑制到人類聽力可能忽略的程度,可以重復改變或修改用于壓縮的編碼參數(見AAC)。該處理也需要大量的負荷。另一方面,如果將該處理簡化,則聲音質量會根據簡化級別逐漸降低,同時負荷也大大減小。在這種情況下,用于多次重復變化或修改編碼參數的模式就是操作模式A,用于執(zhí)行進一步簡化后處理的模式就是操作模式A和B。
詳細地說,對于操作模式A的程序,需要考慮聽覺特性,例如頻率分量的可變最小可聽級別(稱為響度級特性)、掩蔽特性、以及對絕對時間偏差或相位滯后的不靈敏度。例如,通過根據音頻信號級別來改變?yōu)V波器特性,可以改變較低和較高頻帶中的增加水平的程度,或者通過根據音頻信號級別(幅度)沿頻率軸上以Bark標度表示的掩蔽特性(即,掩蔽特性,其中掩蔽范圍的低頻部分縮小而高頻部分加寬)的線對音頻信號進行卷積并掩蔽音頻信號附近的較低級別的信號,可以降低量化噪聲。相似的,對于操作模式B的程序,通過例如使掩蔽特性的范圍在較低和較高頻帶內都相同,可以使單位時間的負荷比操作模式A極大地降低。另外,對于操作模式C的程序,通過不考慮音頻信號的級別而利用相同的濾波器特性建立較低和較高頻帶內的級別,可以使單位時間的負荷比操作模式B稍微降低。
圖3示出操作模式設定表31a的詳細結構;圖4A-4C示出對于第一任務101a,處理器的處理容量和操作模式A-C之間的關系。特別是,圖4A示出僅有第一任務101a啟動的情況,圖4B示出第一任務101a和第二任務102a同時啟動的情況,圖4C示出第一任務101a、第二任務102a和第三任務103a同時啟動的情況。
圖3中的操作模式設定表31a示出將要執(zhí)行的任務和將要執(zhí)行的第一任務101a的操作模式之間的關系。在該圖中,“○”表示任務啟動,“×”表示任務停止,和“—”表示沒有為第一任務101a設定操作模式。在圖中還示出第一任務101a沒有啟動的情況。
該操作模式設定表31a示出當從任務管理單元20a接收到僅有第一任務101a啟動的通知時,模式設定單元30a為第一任務101a設定具有最高負荷(例如單位時間的負荷N11為300IMPS)的操作模式A。設定操作模式A的原因如下。如果處理器10的處理容量Nmax=285MIPS由圖4A中的方框表示,則可以將處理器10的所有容量分配給第一任務101a的處理。在這種情況下,由于操作模式A-C都在處理器10的處理容量的限制范圍內,則可以設定操作模式A-C中任何一個,但是操作模式A中的聲音質量在它們中間最高。因此,設定對第一任務101a執(zhí)行具有最高質量的操作模式A。換句話說,在處理器10不超出其容量的限制范圍內,設定執(zhí)行具有最高質量的操作模式A。
而且,該操作模式設定表31a示出當從任務管理單元20a接收到第二任務102a(150MIPS)和第一任務101a同時啟動的通知時,模式設定單元30a為第一任務101a設定具有比操作模式A負荷更低的操作模式B(50MIPS)。設定操作模式A的原因如下。如圖4B所示,用于處理第二任務102a的負荷占處理器10處理容量中的N2=150MIPS,并可將135MIPS分配處理第一任務101a。因此可以在處理器10不超過容量的限制范圍內,設定操作模式B和C中任何一個,但是操作模式B的聲音質量要優(yōu)于模式C。因此,設定對第一任務101a執(zhí)行操作模式B。換句話說,在處理器10不超過其容量的限制范圍內,設定執(zhí)行具有最高質量的操作模式B。
注意,在該操作模式設定表31a中,當從任務管理單元20a接收到第三任務103a(100MIPS)和第一任務101a同時啟動的通知時,根據與在第二任務102a(150MIPS)和第一任務101a同時啟動的情況中相同的原因,模式設定單元30a為第一任務101a設定操作模式B(50MIPS)。
另外,該操作模式設定表31a示出當從任務管理單元20a接收到第一、第二和第三任務101a、102a和103a同時啟動的通知時,模式設定單元30a為第一任務101a設定操作模式C(例如單位時間的負荷N13為30MIPS)。由于在處理器10不超出容量限制的范圍內僅能執(zhí)行模式C,因此設定操作模式C。換句話說,在處理器10不超出容量限制的范圍內,設定執(zhí)行具有最高質量的操作模式C。
圖5示出多任務控制設備1a的操作流程圖。
當檢測到由于事件發(fā)生而導致的任務狀態(tài)變化,例如新任務啟動和任務停止時(S11),任務管理單元20a指定狀態(tài)變化后將要啟動的任務(S12)。然后,任務管理單元20a根據該指定通知模式設定單元30a下面將要執(zhí)行的任務。
在接收到該通知時,如果該任務包括第一任務101a,則模式設定單元30a利用操作模式設定表31a確定該第一任務101a的操作模式,并設定對應為該第一任務101a所確定的操作模式的參數(S13)。在為第一任務101a設定參數之后,任務管理單元20a通過分時使處理器10執(zhí)行這些任務(S14)。
通過重復這些處理(S11-S14),該多任務控制設備1a可以通過分時同時處理第一至第三任務101a-103a,從而使處理器10在處理器10不超出容量的限制范圍內,以頂級質量操作模式執(zhí)行第一任務101a,同時改進處理器10的操作效率。
圖6示出在僅有第一任務101a啟動的情況下,任務狀態(tài)轉換和處理器10上的負荷轉換之間的關系。
在圖6所示的時間T1之前,沒有任務啟動。在這種狀態(tài)下,如果任務管理單元20a在時間T1僅啟動第一任務101a,則模式設定單元30a為第一任務101a設定參數“1”,從而使處理器10按照操作模式A執(zhí)行該第一任務。此時,處理器10上的負荷為N11=200MIPS,從而可以獲得頂級質量的聲音。換句話說,由于負荷正處于處理器10的容量限制范圍內,因此所有的容量都可以被分配給進行第一任務101a的處理,因此模式設定大院30a指令處理器按照作為高質量編碼模式的操作模式A執(zhí)行第一任務101a。
如上所述,在傳統(tǒng)技術中處理器10上僅有30MIPS的負荷用于再現(xiàn)低質量聲音,而在第一實施例中按照操作模式A處理第一任務101a從而在處理器10上有超過200MIPS的負荷,因此處理器10的操作效率急劇增加,從而可以實現(xiàn)再現(xiàn)頂級質量的聲音。
圖7示出在已經啟動第二任務102a之后又啟動第一任務101a的情況下,任務狀態(tài)轉換與處理器10上的負荷轉換之間的關系。
如果任務管理單元20a在如圖7所示的時間T2僅啟動第二任務102a,則處理器10上的負荷為該第二任務102a所需的N2=150MIPS。然后,如果任務管理單元20a還在時間T3啟動第一任務101a,則由于處理第二任務102a需要150MIPS的負荷,因此可以分配給第一任務101a的處理量為(Nmax-N2)=135MIPS。圖3所示的操作模式設定表31a示出為第一任務101a指定的操作模式B(50MIPS)。因此,模式設定單元30a確定操作模式B并為第一任務101a設定參數“2”,從而使處理器10按照操作模式B執(zhí)行該任務。在這種情況下,在處理器10中加入了第一任務101a的操作模式B所需的負荷N12。換句話說,由于此時的處理器10不像圖7所示情況那樣具有那么多的多余容量,因此設定具有不超過處理器10的容量限制范圍的最高質量的操作模式B。因此,處理器10上的操作負荷為(N2+N12)=200MIPS。
因此,如上所述在傳統(tǒng)技術中,處理器上的負荷僅為30MIPS+150MIPS=180MIPS,而在第一實施例中負荷大量增加,從而使處理器10的操作效率增加,因此可以得到比以前更高質量的聲音。
圖8示出在已經啟動第一任務101a之后進一步啟動第二和第三任務102a和103a的情況下,任務狀態(tài)轉換和處理器10上負荷轉換之間的關系。
在圖8所示的時間T4之前,沒有任務啟動。在這種狀態(tài)下,如果任務管理單元20a在時間T4啟動第一任務101a,則由于第二和第三任務102a和103a還沒有啟動,因此模式設定單元30a為第一任務101a設定操作模式A。此時,處理器10上的負荷為N11=200MIPS。換句話說,由于該負荷正好在處理器10的容量范圍內,因此模式設定單元30a指令第一任務101a按照作為高質量編碼模式的操作模式A進行編碼。
然后,假設任務管理單元20a還在時間T5啟動第二任務102a。在這種情況下,處理器10中加入了第二任務102a所需的操作負荷N2=150MIPS。在這種情況下,如果第一任務101a保持操作模式A,則處理器10上將存在350MIPS的過多負荷,這會導致處理器10容量降低。因此,模式設定單元30a參照操作模式設定表31a確定用于第一任務101a的操作模式B(50MIPS)。因此,處理器10上的總負荷為(N12+N2)=200MIPS。換句話說,由于此時的處理器10不具有像指定操作模式A時那么多的多余容量,因此模式設定單元30a指令第一任務101a按照操作模式B進行編碼,該操作模式B具有在處理器10不超過容量限制范圍內的最高質量和最高編碼速度。
然后,假設任務管理單元20a在時間T6啟動第三任務103a。在這種情況下,處理器10中加入了第三任務103a所需的操作負荷N3=100MIPS。如果保持第一任務101a的操作模式B,則處理器10上的負荷變?yōu)?00MIPS,這會導致處理器10超出其容量。
因此,模式設定單元30a參照操作模式設定表31a為第一任務101a設定操作模式C(30MIPS)。因此,處理器10上的總負荷為(N13+N2+N3)=280MIPS。
換句話說,由于此時的處理器10不具有像指定操作模式B時那么多的多余容量,因此模式設定單元30a指令第一任務101a按照操作模式C進行編碼,該操作模式C具有在處理器10不超過容量限制范圍內的最高質量和最高編碼速度。
然后,假設任務管理單元20a在時間T7停止第三任務103a(電話呼叫)。在這種情況下,由于僅有第一和第二任務101a和102a在進行,因此模式設定單元30a參照操作模式設定表31a為第一任務101a設定操作模式B。換句話說,由于處理器10的操作負荷中還有多余容量,因此模式設定單元30a指令第一任務101a按照作為最高質量編碼模式的操作模式B進行編碼,在該操作模式B下,處理器10不會超出容量限制范圍。因此,處理器10上的操作負荷為(N12+N2)=200MIPS。
然后,假設任務管理單元20a在時間T8停止第二任務102a。在這種情況下,由于僅有第一任務101a進行,因此模式設定單元30a為第一任務101a設定操作模式A。換句話說,由于處理器10的操作負荷中還有多余容量,因此模式設定單元30a指令第一任務101a按照作為最高質量編碼模式的操作模式A進行編碼。這樣,處理器10上的操作負荷為N11=200MIPS。
如上所述,根據本發(fā)明第一實施例,預先為第一任務101a準備了多個操作模式,這些操作模式可以在處理器10上放置單位時間內對應高、中和低質量聲音的不同負荷值,模式設定單元30a重新為第一任務101a設定操作模式,從而當任務管理單元20a中的第一和第二任務101a和102a的狀態(tài)改變時,即這些任務分別啟動或停止時,在處理器10不超過其容量限制范圍內放置最高負荷。特別是,當由于同時進行多個任務而使處理器10上的處理負荷很大時,就降低第一任務的處理負荷。因此,只要第一任務101a正在進行,則處理器10上的單位時間內的負荷不會超過處理器10的處理容量Nmax。換句話說,如果總的負荷減小而且還存在多余容量可以接受更多負荷,則可以為第一任務101a分配大量的處理資源,從而實現(xiàn)高性能的功能。因此,在處理器10的容量限制范圍內,可以為第一任務101a設定具有最高負荷的操作模式,這樣就可能完全利用處理器10的處理容量,從而增加處理器10的操作效率。
在第一實施例中,已經說明了在三個任務同時發(fā)生的情況中的操作,但是根據該第一實施例,還可以將本發(fā)明應用于兩個、或四個或更多任務同時發(fā)生的情況。特別是,根據這些任務的同時的狀態(tài),可以為第一任務切換多個操作模式,這些操作模式具有用于處理所需的在單位時間內不同負荷值。用于判斷用于第一任務的操作模式的切換的指標是除了第一任務以外的正在進行的任務的負荷總量。如果即使在負荷總量存在的情況下處理器中還有很多多余容量,則在該處理器的大量多余容量范圍內為第一任務分配最大負荷,以便進行高性能處理,如果在負荷總量存在的情況下處理器中沒有大量多余容量,則在該處理器較少容量限制范圍內為第一任務分配最大負荷,從而實現(xiàn)高速處理。
在第一實施例中,模式設定單元30a利用操作模式設定表31a為第一任務101a確定操作模式,但是在不使用操作模式設定表31a的情況下,應當在狀態(tài)變化之后才指定可分配給第一任務101a的處理量,從而為第一任務確定操作模式,以便在處理器10不超出容量限制范圍內在處理器10上實現(xiàn)最高負荷。
在第一實施例中,使用除了第一任務以外的正在進行任務的負荷總數作為判斷第一任務的多個操作模式的切換的指標,但是也可以使用用于處理除了第一任務以外的多個正在運行任務所需的操作量的總和,或形成除了第一任務以外的多個正在運行任務的程序中所包括的指令的總數目。
也可以使用除了第一任務以外的多個運行任務的數目。在這種情況下,可以按照操作模式A對應其他運行任務數目為“0”,操作模式B對應“1”以及操作模式C對應“2”的方式,來確定和設定操作模式。這樣很容易就可以確定和設定操作模式。
在第一實施例中,第一任務101a可以使用三種操作模式,但是也可以使用兩種、或四種或更多操作模式。
在第一實施例中,多種具有不同負荷值的操作模式僅可用于第一任務101a,但是他們也可用于包括第二任務102a的其他任務。在這種情況下,作為判斷操作模式切換的指標,也可以使用在狀態(tài)變化之后同時發(fā)生的任務的數目。
在第一實施例中,第一任務101a包括一種用于根據參數改變操作模式的程序。但是,多個第一任務可包括相同類別中對應不同功能的多個程序,從而當判斷應當啟動這些第一任務中的一個時,可以從這些第一任務中為處理器選擇一個對應處理器的處理容量限制范圍內的最高功能的任務。特別是,假設當在同一各類中已經有三個程序,例如用于DVD設備等的專業(yè)用途編碼器(200MIPS)、用于SD播放器等的編碼器或SD自動唱片點唱機(50MIPS)、用于便攜式CD播放器等的編碼器或CD ripper(30MIPS)時,第一任務為以下三個程序專業(yè)用途編碼器(200MIPS)、SD自動唱片點唱機(50MIPS)和CD ripper(30MIPS)。當判斷應當啟動這些第一任務中的一個時,可以從專業(yè)用途編碼器(200MIPS)、SD自動唱片點唱機(50MIPS)和CD ripper(30MIPS)中為處理器選擇一個任務,該任務對應處理器的處理容量限制范圍內的最高功能。
在這種情況下,不需要創(chuàng)建新的用于根據參數改變操作模式的程序,可以再次使用現(xiàn)有的軟件,從而可以推進現(xiàn)存資源的再次使用。
另外,在第一實施例中,本發(fā)明應用于第一任務為音頻信號編碼的情況,但是它也可應用于音頻信號再現(xiàn)。例如,本發(fā)明可應用于音頻信號再現(xiàn)中的虛擬環(huán)繞功能。該虛擬環(huán)繞功能可以通過具有多個抽頭的數字濾波器來實現(xiàn)。為了這個目的,如果程序形成從而例如對應操作模式A使抽頭數目(FIR濾波器系數的數目)為8192(2的13次冪),對應操作模式B為128(2的7次冪),對應操作模式C為32(2的5次冪)時,當同時發(fā)生的任務數目很少時,應當設定操作模式A來實現(xiàn)更多的負荷,從而可以最大化用于擴大聲場的虛擬環(huán)繞效應。相反,當同時發(fā)生的任務數目很多時,如果按照操作模式B和C的次序設定,則虛擬環(huán)繞效應會逐步減弱。
(第二實施例)圖9示出根據本發(fā)明第二實施例的多任務控制設備1b的整體結構的方框圖。注意與第一實施例中多任務控制設備1a的那些部件相對應的部件也分配了相同的數字,并且省略了對他們的說明。
多任務控制設備1b與第一實施例中的多任務控制設備1a具有基本相似的結構。例如,多任務控制設備1b使處理器10處理用于使電話多功能化的多個(圖中為四個)任務(第一任務101b、第二任務102b、第三任務103b和第四任務104b),該多任務控制設備1b包括任務管理單元20b和模式設定單元30b,并通過集成在處理器10上所運行的實時OS中的多個功能實現(xiàn)。
第一實施例中的該多任務控制設備1a可以同時執(zhí)行第一任務101a和其他任務102a和103a,并且根據模式設定單元30a中的操作模式設定表31a來設定第一任務101a的操作模式。相反,第二實施例中的多任務控制設備1b可以根據用戶配置來禁止或允許第一任務101b和其他多任務(第二任務102b、第三任務103b和第四任務104b)同時發(fā)生,并且根據任務管理單元20b中的操作模式確定表22可以確定第一任務101b的操作模式。這是與第一實施例顯著不同的地方。注意下面可以將用于禁止第一任務101b與第二-第四任務102b-104b同時發(fā)生的模式稱為“同時發(fā)生禁止模式”,并將用于允許同時發(fā)生的模式稱為“同時發(fā)生允許模式”。
該任務管理單元20b包括用于存儲指示用戶所設定的同時發(fā)生模式的標志(同時發(fā)生禁止模式合同時發(fā)生允許模式)的標志存儲單元21,和用于確定第一任務101b的操作模式等的操作模式確定表22。如果在該標志存儲單元21中所存儲的標志指示同時發(fā)生禁止模式,則當在啟動第一任務101b之后請求啟動其他任務時,任務管理單元20b將禁止啟動其他任務。相似地,如果標志指示同時發(fā)生允許模式,則當請求改變當前任務的狀態(tài),例如啟動或停止它,且將要啟動的任務包括第一任務101b時,任務管理單元20b根據第一任務101b和其他任務是否同時發(fā)生,參照操作模式確定表22來確定第一任務101b的操作模式,并通知模式設定單元30b所確定的操作模式。或者,當如果啟動所請求的其他任務時運行第一任務101b的處理量下降為小于預定的閾值,則任務管理單元20b禁止所請求的其他任務啟動。
模式設定單元30b為第一任務101b設定與任務管理單元20b所通知的操作模式相對應的參數,從而根據該參數執(zhí)行操作模式。
圖10示出如圖9所示的操作模式確定表22的結構的例子。
如圖中所示,該操作模式確定表22包括用于存儲處理器10的處理容量的記錄221,用于存儲第一任務101b至第四任務104b的負荷值的記錄222-225,以及用于存儲指示執(zhí)行第一任務101b所最少需要處理量的閾值的記錄226。
處理器10所處理的第一任務101b是一個用于執(zhí)行第一功能(音樂再現(xiàn))的程序,它對音頻信號解碼并根據模式設定單元30b所設定的參數值來改變虛擬環(huán)繞再現(xiàn)所使用的數字濾波器的抽頭數目。根據濾波器抽頭數目可以確定用于第一任務101b的操作模式,即用于再現(xiàn)高、中或低級別聲音的操作模式A、操作模式B或操作模式C。特別地,操作模式A是用于在解碼后使用具有8192個抽頭的數字濾波器執(zhí)行虛擬環(huán)繞再現(xiàn)的程序,它使處理器10的負荷為250MIPS。操作模式B是用于在解碼后使用具有128個抽頭的數字濾波器執(zhí)行虛擬環(huán)繞再現(xiàn)的程序,它使處理器10的負荷為200MIPS。操作模式C是用于使用具有32個抽頭的數字濾波器執(zhí)行虛擬環(huán)繞再現(xiàn)的程序,它使處理器10的負荷為150MIPS。
第二任務102b是用于解碼數字衛(wèi)星廣播的視頻并在監(jiān)視器(用于TV觀看)上顯示的程序,它使處理器10的負荷為50MIPS。該第三任務103b是用于通過互聯(lián)網連接所需的服務器從而觀看(瀏覽)上傳到該服務器上的信息的程序,它使處理器10的負荷為50MIPS。第四任務104b是用于觀看通過互聯(lián)網等接收到的視頻電郵的程序,它使處理器10上的負荷為50MIPS。
可以將允許音頻數據實時解碼的值(140MIPS)設定作為用于連續(xù)地再現(xiàn)聲音的閾值。
圖11示出蜂窩電話的外部結構的例子,其中使用了圖9所示的多任務控制設備1b。
如該圖中所示,蜂窩電話ex115包括天線ex201,用于在圖中未示出的蜂窩站和衛(wèi)星之間發(fā)射和接收射頻電波;操作單元ex204,包括安裝在本體上并由用戶操作的多個操作鍵;照相機ex203,包括可以攝制運動和靜態(tài)圖像的CCD照相機等;顯示器ex202,包括用于顯示由照相機ex203所攝制的圖像、通過天線ex201接收到的TV視頻等的液晶顯示器;語音輸入單元ex205,包括用于輸入語音的麥克風;語音輸出單元ex208,包括用于再現(xiàn)語音的多個揚聲器;針插連接器ex209,用于將耳機和外部揚聲器連接;插槽ex206,用于插入記錄介質ex207等。
這里,記錄介質ex207為塑料殼體例如包含閃存元件的SD卡、一種EEPROM(電可擦除可編程只讀存儲器),該EEPROM為電可重復寫入和可擦除的非易失性存儲器,可以保存動態(tài)或靜止圖像的數據、接收到的電郵的數據、編碼后的音頻數據或解碼后的音頻數據等。
多任務控制單元1b中所包括的任務管理單元20b和模式設定單元30b可以由在蜂窩電話ex115的本體中結合的處理器、處理器所執(zhí)行的多任務OS、用于存儲應用程序的ROM(例如用于MPEG編碼器/解碼器的軟件、瀏覽器軟件和電郵軟件)、用于提供運行OS或應用程序或用于臨時存儲指示用戶所設定的同時發(fā)生允許/禁止的標志和操作模式確定表22的工作區(qū)域的存儲器來實現(xiàn)。
下面,將說明多任務控制設備1b中所包括的任務管理單元20b和模式設定單元30b的操作。
圖12示出由任務管理單元20b和模式設定單元30b執(zhí)行的任務啟動和停止處理的詳細流程圖。
該任務啟動和停止處理是以預定的時間間隔來執(zhí)行的。
在該處理中,任務管理單元20b首先判斷是否接收到任務啟動請求(S10)。當接收到任務啟動請求時(S10中為是),該任務管理單元20b判斷該任務是否是音樂再現(xiàn)任務(S20)。如果它是音樂再現(xiàn)任務(S20中為是),則任務管理單元20b與模式設定單元30b一起執(zhí)行音樂再現(xiàn)任務啟動控制處理(S30),從而結束該任務啟動和停止處理。如果任務不是音樂再現(xiàn)任務(S20中為否),則任務管理單元20b與模式設定單元30b一起執(zhí)行其他任務啟動控制處理(S40)從而結束該任務啟動和結束處理。
在其他方面,如果沒有接收到任務啟動請求(S10中為否),則任務管理單元20b判斷是否接收到任務停止請求(S50)。如果接收到了任務停止請求(S50中為是),任務管理單元20b判斷該任務是否為音樂再現(xiàn)任務(S60)。如果它是音樂再現(xiàn)任務(S60中為是),則任務管理單元20b停止音樂再現(xiàn)任務(S70)從而結束該任務啟動和停止處理。如果該任務不是音樂再現(xiàn)任務(S60中為否),則任務管理單元20b與模式設定單元30b一起執(zhí)行其他任務停止控制處理(S80)從而結束任務啟動和停止處理。
如果沒有接收到任務停止請求(S50中為否),則任務管理單元20b結束該任務啟動和停止處理。
圖13示出如圖12所示的音樂再現(xiàn)任務啟動控制處理(S30)的子程序的流程圖。
在該音樂再現(xiàn)任務啟動控制處理中,任務管理單元20b首先判斷是否存在另一個正在運行的任務(S301)。如果沒有其他任務正在運行(S310中為是),則任務管理單元20b為音樂再現(xiàn)任務確定操作模式“A”(高質量)(S302),從而使模式設定單元30b選擇操作模式A。然后模式管理單元20b參照標志存儲單元21判斷是否設定了同時發(fā)生禁止模式(S303)。如果設定了同時發(fā)生禁止模式(S303中為是),則任務管理單元20b按照同時發(fā)生禁止模式(操作模式“A”)啟動音樂再現(xiàn)任務(S304),從而返回主程序。如果沒有設定同時發(fā)生禁止模式(S303中為否),即如果設定了同時發(fā)生允許模式,則任務管理單元20b按照同時發(fā)生允許模式啟動音樂再現(xiàn)任務(S305)從而返回主程序。
另一方面,如果存在其他正在運行的任務(S301為否),則任務管理單元20b通過從處理器10的處理容量中減去其他任務的處理量來計算可分配給音樂再現(xiàn)任務的處理量(可分配的處理量)(S306),并判斷計算出的可分配處理量是否為閾值或更大(S307)。如果它為閾值或更大(S307中為是),則任務管理單元20b根據可分配的處理量來確定音樂再現(xiàn)任務的操作模式“B”或“C”(中或低質量)(S308),從而使模式設定單元30b選擇操作模式B或C。下面說明怎樣確定操作模式。如果可分配的處理量為操作模式B的處理量或更多,則任務管理單元20b確定操作模式B,如果可分配處理量小于操作模式B的處理量,則確定操作模式C。在確定操作模式之后,任務管理單元20b判斷是否設定了同時發(fā)生禁止模式(S309)。如果設定了同時發(fā)生禁止模式(S309中為是),則任務管理單元20b按照同時發(fā)生禁止模式(操作模式“B”或“C”)啟動音樂再現(xiàn)任務(S310),從而返回主程序。如果沒有設定同時發(fā)生禁止模式(S309中為否),則任務管理單元20b按照同時發(fā)生允許模式(操作模式“B”或“C”)啟動音樂再現(xiàn)任務(S311)從而返回主程序。
另一方面,如果可分配處理量不是閾值或更多,即小于閾值(S307中為否),則任務管理單元20b禁止音樂再現(xiàn)任務的啟動(S312)從而返回主程序。這就是為什么即使在音樂再現(xiàn)任務啟動的情況下也不能執(zhí)行實時解碼的原因,因此音樂的再現(xiàn)是非連續(xù)的。
圖14示出如圖12所示的其他任務啟動控制處理(S40)的子程序的流程圖。
當接收到其他任務啟動請求時,任務管理單元20b首先判斷音樂再現(xiàn)任務是否正在進行(S401)。如果判斷結果為音樂再現(xiàn)任務正在進行(S401中為是),則任務管理單元20b判斷該音樂再現(xiàn)任務是否按照同時發(fā)生禁止模式運行(S402)。如果它按照同時發(fā)生禁止模式運行(S402中為是),它就禁止所請求的其他任務的啟動(S403)從而返回主程序。該處理不改變用于運行該音樂再現(xiàn)任務的操作模式。這樣,音樂再現(xiàn)就會繼續(xù)進行直到穩(wěn)定聲音質量結束為止。
另一方面,如果音樂再現(xiàn)任務不是按照同時發(fā)生禁止模式運行的,即它是按照同時允許模式運行的(S402中為否),則該任務管理單元20b根據操作模式確定表22計算當啟動了所請求的其他任務時可分配給音樂再現(xiàn)任務的處理量(可分配處理量)(S404),并判斷所計算的可分配的處理量是否小于閾值(S405)。如果它小于閾值(S405中為是),則任務管理單元20b禁止啟動所請求的其他任務,從而返回主程序。該處理可以確??煞峙浣o音樂再現(xiàn)任務的處理量總是閾值或更大。因此,可以連續(xù)地再現(xiàn)音樂。另一方面,如果可分配的量不小于閾值,即它為閾值或更大(S405中為否),則任務管理單元20b根據在步驟S404中計算出的可分配處理量來確定音樂再現(xiàn)任務的操作模式“B”或“C”,并且模式設定單元30b將操作模式轉換為“B”或“C”(S407)。特別是,按照下面方式轉換操作模式。如果可分配處理量為操作模式B的處理量或更多,則它轉換為操作模式B,如果可分配處理量小于操作模式B的處理量,則它轉換為操作模式C。在這種情況下,操作模式轉換為較低負載的操作模式,因此聲音質量也變差。在操作模式轉換之后,任務管理單元20b允許啟動所請求的其他任務(S408)從而返回主程序。因此,可以分時執(zhí)行音樂再現(xiàn)任務和所請求的其他任務。
另一方面,如果沒有啟動音樂再現(xiàn)任務(S401中為否),該任務管理單元20b可以允許啟動所請求的其他任務(S409),從而返回主程序。因此,可以執(zhí)行所請求的其他任務。
圖15示出如圖12所示的其他任務停止控制處理(S80)的子程序的流程圖。
當接收到其他任務停止請求時,任務管理單元20b首先停止其他任務(S801)并判斷音樂再現(xiàn)任務是否正在運行(S802)。如果它沒有正在運行(S802中為否),則處理返回到主程序。
如果音樂再現(xiàn)任務正在運行(S802中為是),則任務管理單元20b判斷音樂再現(xiàn)任務是否按照同時發(fā)生禁止模式運行(S803)。如果這些任務是按照同時發(fā)生禁止模式運行(S803中為是),則處理返回到主程序。換句話說,該處理在沒有將多余處理容量分配給音樂再現(xiàn)任務的情況下返回到主程序。因此,用于運行音樂再現(xiàn)任務的操作模式沒有改變,從而可以在沒有改變音樂質量的情況下連續(xù)再現(xiàn)音樂。
另一方面,如果任務沒有按照同時發(fā)生禁止模式運行(S803中為否),即它按照同時發(fā)生允許模式運行,則任務管理單元20b計算可分配給音樂再現(xiàn)任務的處理量(可分配的處理量)(S804)并確定音樂再現(xiàn)任務的操作模式“A”或“B”,并且模式設定單元30b將操作模式轉換為“B”或“C”(S805),然后處理返回到主程序。詳細的說,操作模式按照下面方式轉換。如果可分配的處理量為操作模式A的處理量或更多,則操作模式轉換為“A”,如果它小于操作模式A的處理量,則操作模式轉換為“B”。在這種情況下,由于操作模式轉換為具有較大負荷的操作模式,因此聲音質量提高。
圖16示出在同時發(fā)生允許模式下,負荷根據任務的轉換狀態(tài)而轉換。特別是,圖16示出在按照同時發(fā)生允許模式啟動音樂再現(xiàn)任務之后順序啟動其他任務的情況下,任務狀態(tài)的轉換和處理器10上的負荷轉換之間的關系。
在如圖16所示的時間T10之前沒有啟動任務。在這種狀態(tài)下,當任務管理單元20b在時間T10啟動了音樂再現(xiàn)任務時,還沒有啟動其他任務。這樣,模式設定單元30b為音樂再現(xiàn)任務設定操作模式A,這樣處理器上的負荷為250MIPS。換句話說,由于處理器10具有多余容量從而可以接收更多的負荷,因此可以為音樂再現(xiàn)任務設定用于按照高質量虛擬環(huán)繞模式再現(xiàn)音樂的參數。當僅是這樣執(zhí)行音樂再現(xiàn)任務時,則如圖17A所示,在蜂窩電話的屏幕上顯示操作模式“A”、再現(xiàn)的音樂的名稱、演唱者等。
然后,假設任務管理單元20b在時間T11啟動其他任務(例如觀看TV)。在這種情況下,處理器10上另外增加了觀看TV所需的50MIPS的操作負荷。如果音樂再現(xiàn)任務保持操作模式A,則處理器10上的負荷為300MIPS,該負荷過大從而導致處理器10超出了它的容量。因此任務管理單元20b參照操作模式確定表22確定操作模式“B”(200MIPS),并使處理器10按照操作模式B執(zhí)行音樂再現(xiàn)任務。因此,處理器10上的總負荷為250MIPS。換句話說,由于處理器10中沒有多余容量可以接受在僅有操作模式A的情況下的負荷,因此任務管理單元20b使模式設定單元30為音樂再現(xiàn)任務設定參數,從而按照處理器10容量限制范圍內的最高質量操作模式,即中級質量虛擬環(huán)繞模式來再現(xiàn)音樂。當音樂再現(xiàn)任務和觀看TV同時運行時,如圖17B所示,在屏幕上顯示操作模式“B”以及棒球比賽的TV廣播。
然后,假設任務管理單元20b在時間T12啟動另一個任務(例如,瀏覽)。在這種情況下,處理器10上另外增加了瀏覽所需的50MIPS的操作負荷。如果音樂再現(xiàn)任務保持操作模式B,則處理器10上的負荷為300MIPS,該負荷導致處理器10超出了它的容量。因此任務管理單元20b參照操作模式確定表22確定操作模式“C”(150MIPS),并使處理器10按照操作模式C執(zhí)行音樂再現(xiàn)任務。因此,處理器10上的總負荷為250MIPS。換句話說,任務管理單元20b使模式設定單元30為音樂再現(xiàn)任務設定參數,從而按照處理器10容量限制范圍內的最高質量操作模式,即低質量虛擬環(huán)繞模式來再現(xiàn)音樂。當音樂再現(xiàn)任務、觀看TV和瀏覽同時運行時,如圖17C所示,在屏幕上顯示操作模式“C”和棒球比賽的TV廣播以及通過瀏覽而獲得的信息。
然后,假設任務管理單元20b在時間T13接收到另一個其他任務(例如觀看視頻電郵)啟動的請求。在這種情況下,處理器10上另外增加了觀看電郵所需的50MIPS的操作負荷。如果操作模式進一步從“C”下降,則負荷將小于閾值,這將導致音樂再現(xiàn)不連續(xù)。因此,任務管理單元20b禁止觀看視頻電郵。這樣,將使音樂再現(xiàn)任務保持為操作模式“C”,從而可以連續(xù)的再現(xiàn)聲音。換句話說,如果在音樂再現(xiàn)任務、觀看TV以及瀏覽同時運行的同時,當接收到觀看視頻電郵的請求時禁止該啟動,則如圖17D所示,在屏幕上顯示禁止原因等。
然后,假設任務管理單元20b在時間T14停止瀏覽任務。在這種情況下,由于僅啟動了音樂再現(xiàn)任務和觀看TV,因此任務管理單元20b參照操作模式確定表22確定操作模式“B”(200MIPS),并使處理器10按照操作模式B執(zhí)行音樂再現(xiàn)任務。
然后,假設任務管理單元20b在時間T15啟動觀看視頻電郵。在這種情況下,處理器10上另外增加了觀看視頻電郵所需的50MIPS的操作負荷。因此,任務管理單元20b參照操作模式確定表22確定操作模式“C”(150MIPS),并使處理器10按照操作模式C執(zhí)行音樂再現(xiàn)任務。
然后,假設任務管理單元20b在時間T16停止觀看視頻電郵。在這種情況下,由于僅啟動了音樂再現(xiàn)任務和觀看TV,因此任務管理單元20b參照操作模式確定表22確定操作模式“B”(200MIPS),并使處理器10按照操作模式B執(zhí)行音樂再現(xiàn)任務。
然后,假設任務管理單元20b在時間T17停止觀看TV。在這種情況下,由于僅啟動了音樂再現(xiàn)任務,因此任務管理單元20b使處理器10按照操作模式A執(zhí)行音樂再現(xiàn)任務。換句話說,由于處理器0中還有多余容量來接受該負荷,因此任務管理單元20b使模式設定單元30為音樂再現(xiàn)任務設定參數,從而按照高質量虛擬環(huán)繞模式再現(xiàn)音樂。
然后,假設任務管理單元20b在時間T18停止了音樂再現(xiàn)任務。在這種情況下,由于沒有任何任務被處理,因此任務管理單元20b使模式設定單元30b停止為音樂再現(xiàn)任務設定操作模式,從而停止所有任務。換句話說,處理器10上的負荷變?yōu)椤?”(空載),從而處理器10上的操作負荷為“0”MIPS。
圖18示出在同時發(fā)生禁止模式下,當啟動音樂再現(xiàn)任務之后請求啟動其他任務時,任務狀態(tài)轉換和處理器10上的負荷轉換之間的關系。
在圖18所示的時間T20之前,沒有啟動任務。在該狀態(tài)下,如果在時間T20啟動了音樂再現(xiàn)任務,則由于沒有啟動其他任務,因此任務管理單元20b使處理器10按照操作模式A執(zhí)行音樂再現(xiàn)任務。在這種情況下,由于處理器10具有多余容量可以接受負荷,因此任務管理單元20b使模式設定單元30b為音樂再現(xiàn)任務設定用于按照高質量虛擬環(huán)繞模式再現(xiàn)音樂的參數。
然后,假設任務管理單元20b接收到其他任務(例如,觀看TV)的啟動請求。在這種情況下,由于音樂再現(xiàn)任務是按照同時發(fā)生禁止模式運行的,因此任務管理單元20b禁止啟動觀看TV。因此,沒有其他任務與音樂再現(xiàn)任務同時啟動。而且,模式設定單元30b維持音樂再現(xiàn)任務的操作模式“A”。因此,聲音質量也會保持不變。
然后,假設任務管理單元20b在時間T22停止音樂再現(xiàn)任務。在這種情況下,由于沒有任何任務需要處理,因此任務管理單元20b指令模式設定單元30b停止為音樂再現(xiàn)任務設定操作模式,從而停止所有任務。換句話說,在這種情況下處理器10上的負荷為“0”(空載),因此處理器10上的操作負荷為“0”MIPS。
如上所述,根據第二實施例,準備了多個操作模式,在這些操作模式中處理器10上單位時間的負荷彼此不同,從而可以再現(xiàn)高、中和低質量聲音。在同時發(fā)生允許模式下,任務管理單元20b為音樂再現(xiàn)任務重新設置操作模式,從而在每次隨著其他任務啟動和停止而導致狀態(tài)變化時,都可以保持為處理器容量限制范圍內的最大負荷。換句話說,如果同時運行多個任務且處理器上的處理負荷很重,則音樂再現(xiàn)任務的處理負荷將下降到閾值限制以內或更多。因此,只要音樂再現(xiàn)任務正在運行,則處理器10上的單位時間的負荷就不會超過處理器10的處理容量Nmbx。總的來說,總負荷可以降低,且如果還有多余負荷,就可以在將大量處理資源分配給音樂再現(xiàn)任務的同時實現(xiàn)多功能。因此,由于在處理器容量限制范圍內可以為音樂再現(xiàn)模式設定具有最高負荷的操作模式,因此就可能最大化的利用處理器的處理容量,即更有效地使用處理器。另外,如果音樂再現(xiàn)任務的處理量小于閾值,則禁止啟動其他任務從而將音樂再現(xiàn)任務的處理負荷減小到閾值限制范圍內或更多,從而可以連續(xù)地再現(xiàn)聲音。
另外,在同時禁止模式下,當在啟動音樂再現(xiàn)任務之后接收到其他任務啟動請求時,任務管理單元20b禁止其他任務啟動,從而保持再現(xiàn)的聲音質量不變,直到其結束為止。
注意,在第二實施例中,任務管理單元20b根據操作模式確定表22為第一任務101b確定操作模式,但是它也可以根據如圖19所示的操作模式設定表31b來為第一任務101b確定操作模式。就像圖3所示的操作模式設定表31a一樣,在該操作模式設定表31b中,“○”表示任務啟動狀態(tài),“×”表示任務停止狀態(tài),和“—”表示沒有為第一任務101b設定操作模式,“△”表示啟動被禁止。圖19示出第一任務101沒有啟動的情況。根據操作模式設定表31b也可以很容易地確定第一任務101b的操作模式。
該操作模式設定表31b可以在模式設定單元30b中被提供。在這種情況下,任務管理單元20b通知模式設定單元30b同時發(fā)生允許模式下的多個目標任務的狀態(tài)變化,例如計劃的啟動和該任務的停止。如果將要啟動的多個任務中包括第一任務101b,則模式設定單元30b參照操作模式設定表31b并根據除第一任務101b以外是否還要同時啟動其他多個任務,來為第一任務101b確定操作模式,并設定對應于所確定操作模式的第一任務101b的參數?;蛘?,當如果任務管理單元20b啟動了所請求的其他任務則正在運行的第一任務101b的處理量小于閾值時,模式設定單元30b通知任務管理單元禁止啟動所請求的其他任務,并在接收到該通知時,任務管理單元20b可以禁止啟動所請求的其他任務。
工業(yè)實用性本發(fā)明不僅可廣泛應用于數字蜂窩電話和移動AV設備中多個任務同時實時執(zhí)行的情況,還可應用于裝備有相對低處理容量處理器的計算機設備中,例如調制解調器設備、CD設備、MD設備、DVC設備和DVD設備。
權利要求
1.一種用于使處理器同時執(zhí)行多個任務的多任務控制設備,所述多個任務包括具有多個操作模式的第一任務,該多任務控制設備包括判斷單元,用于判斷是否應當啟動第一任務;和模式控制單元,用于當判斷單元判斷應當啟動第一任務時,使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中第一任務具有在處理器容量限制內可以實現(xiàn)的功能。
2.如權利要求1所述的多任務控制設備,其中該第一任務是用于再現(xiàn)數字音頻信號的任務,該功能是控制聲音質量的功能,當判斷單元判斷應當啟動第一任務時,該模式控制單元使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中第一任務在處理器容量限制范圍內以最高聲音質量再現(xiàn)該信號。
3.如權利要求1所述的多任務控制設備,其中該功能是在處理器容量限制范圍內可實現(xiàn)的最高功能,該模式控制單元可以使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中該第一任務具有最高功能。
4.如權利要求3所述的多任務控制設備,其中隨著處理器上的負荷變得更大,該功能也變得更高,當判斷單元判斷應當啟動第一任務時,模式控制單元使處理器按照多個操作模式中的所述一個執(zhí)行該第一任務,在該操作模式中第一任務以處理器容量限制范圍內的最大負荷操作。
5.如權利要求3所述的多任務控制設備,其中隨著處理器執(zhí)行的指令數目變多,該功能也變得更高,當判斷單元判斷應當啟動第一任務時,模式控制單元使處理器按照多個操作模式中的所述一個執(zhí)行該第一任務,在該操作模式中第一任務根據處理器容量限制范圍內的最大數目指令操作。
6.如權利要求1所述的多任務控制設備,其中該功能是用于在處理器容量限制范圍內控制最高聲音質量的濾波器功能,當判斷單元判斷應當啟動第一任務時,模式控制單元可以使處理器按照多個操作模式中的所述一個執(zhí)行第一任務,在該操作模式中該第一任務在處理器容量限制范圍內使用最大數目的抽頭來操作。
7.如權利要求1所述的多任務控制設備,其中模式控制單元可包括狀態(tài)變化檢測單元,用于檢測將由處理器執(zhí)行的多個任務中的相應一個的狀態(tài)變化;指定單元,用于指定將在狀態(tài)變化后啟動的多個任務中的至少一個;和操作模式確定單元,用于如果在由指定單元所指定的多個任務中的所述至少一個中包括第一任務,則為該第一任務確定多個操作模式中的一個。
8.如權利要求7所述的多任務控制設備,其中操作模式確定單元具有操作模式設定表,在該表中將指定單元所指定的多個任務中的至少一個與將在狀態(tài)變化后啟動的第一任務的操作模式相聯(lián)系起來,操作模式確定單元根據該操作模式設定表來確定第一任務的所述操作模式。
9.如權利要求7所述的多任務控制設備,其中操作模式確定單元具有操作模式設定表,在該表中將指定單元所指定的多個任務的數目與將在狀態(tài)變化后啟動的第一任務的操作模式相聯(lián)系起來,操作模式確定單元根據該操作模式設定表來確定第一任務的操作模式。
10.如權利要求7所述的多任務控制設備,其中操作模式確定單元包括負荷計算單元,用于計算可以分配用于執(zhí)行第一任務的負荷,該第一任務將在狀態(tài)變化之后被啟動;和比較單元,用于對負荷計算單元所計算出的負荷和按照多個操作模式中的相應一個執(zhí)行第一任務所需的負荷進行比較,操作模式確定單元可以根據比較單元的比較結果來確定第一任務的操作模式。
11.如權利要求10所述的多任務控制設備,其中,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中相應一個的啟動請求;和啟動禁止單元,用于如果負荷計算單元所計算出的負荷小于為第一任務的具有最低功能的操作模式設定的閾值時,當在第一任務執(zhí)行期間啟動請求接收單元接收到除第一任務以外的至少一個其他任務的啟動請求時,禁止啟動所述至少一個其他任務。
12.如權利要求10所述的多任務控制設備,其中,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中相應一個的啟動請求;和啟動禁止單元,用于當在第一任務執(zhí)行期間啟動請求接收單元接收到除第一任務以外的至少一個其他任務的啟動請求時,禁止啟動所述至少一個其他任務。
13.如權利要求7所述的多任務控制設備,其中,操作模式確定單元還包括指令數目計算單元,用于計算可分配用于第一任務的執(zhí)行的指令的數目,該第一任務將在狀態(tài)變化后被啟動;和比較單元,用于將指令數目計算單元所計算出的指令數目和按照多個操作模式中的相應一個執(zhí)行第一任務所需的指令數目進行比較,操作模式確定單元可以根據比較單元的比較結果來確定第一任務的操作模式。
14.如權利要求13所述的多任務控制設備,其中,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中相應一個的啟動請求;和禁止單元,用于如果指令數目計算單元所計算出的指令數目小于為第一任務的具有最低功能的操作模式設定的閾值時,當在第一任務執(zhí)行期間啟動請求接收單元接收到除第一任務以外的至少一個其他任務的啟動請求時,禁止啟動所述至少一個其他任務。
15.如權利要求13所述的多任務控制設備,其中,操作模式確定單元還包括啟動請求接收單元,用于接收多個任務中相應一個的啟動請求;和禁止單元,用于當在第一任務執(zhí)行期間啟動請求接收單元接收到除第一任務以外的至少一個其他任務的啟動請求時,禁止啟動所述至少一個其他任務。
16.如權利要求7所述的多任務控制設備,其中,模式控制單元為第一任務設定參數,并使處理器按照對應該參數的操作模式執(zhí)行第一任務,該參數與操作模式確定單元所確定的操作模式相聯(lián)系。
17.一種程序,用于使計算機具有使處理器同時執(zhí)行多個任務的多任務控制設備的功能,所述多個任務包括具有多個操作模式的第一任務,其中該多任務控制設備包括判斷單元,用于判斷是否應當啟動第一任務;和模式控制單元,用于當判斷單元判斷應當啟動第一任務時,使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中第一任務具有在處理器容量限制內可以實現(xiàn)的功能。
18.一種用于使處理器同時執(zhí)行多個任務的多任務控制方法,所述多個任務包括具有多個操作模式的第一任務,其中該多任務控制方法包括判斷步驟,用于判斷是否應當啟動第一任務;和模式控制步驟,用于當在判斷步驟中判斷應當啟動第一任務時,使處理器按照多個操作模式中的一種執(zhí)行第一任務,在該操作模式中第一任務具有在處理器容量限制內可以實現(xiàn)的功能。
19.一種音樂數據再現(xiàn)設備,包括多任務控制設備,用于使處理器同時執(zhí)行包括具有多種操作模式的音樂再現(xiàn)任務的多個任務,其中該多任務控制設備包括判斷單元,用于判斷音樂再現(xiàn)任務是否被啟動;和模式控制單元,用于當判斷單元判斷應當啟動音樂再現(xiàn)任務時,使處理器按照多個操作模式中的一個執(zhí)行音樂再現(xiàn)任務,在該操作模式中音樂再現(xiàn)任務在處理器容量限制范圍內以最高聲音質量再現(xiàn)音樂。
20.如權利要求19所述的音樂數據再現(xiàn)設備,其中該音樂數據再現(xiàn)設備具有便攜性,除了音樂再現(xiàn)任務以外,處理器可同時執(zhí)行的至少一個其他任務可以是觀看TV、瀏覽、接發(fā)電子郵件和電話呼叫中的一個。
全文摘要
一種用于使處理器(10)同時執(zhí)行包括具有多個操作模式A-C的第一任務(101b)的多個任務,該多任務控制設備包括任務管理設備(20b)和模式設定單元(30b),該任務管理設備(20b)用于判斷是否應當啟動第一任務(101b),該模式設定單元(30b)用于當任務管理單元(20b)判斷應當啟動第一任務(101b)時,使處理器(10)按照一個操作模式執(zhí)行第一任務(101b),在該操作模式中第一任務(101b)具有在處理器(10)的處理容量限制范圍內可實現(xiàn)的最高功能。
文檔編號G06F9/48GK1647044SQ0380896
公開日2005年7月27日 申請日期2003年3月3日 優(yōu)先權日2002年6月20日
發(fā)明者宮阪修二, 石川智一 申請人:松下電器產業(yè)株式會社