專利名稱:控制方法以及串流服務(wù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種串流服務(wù)的系統(tǒng)與方法,特別是有關(guān)于一種多任務(wù)系統(tǒng)以及調(diào)整其服務(wù)效能的方法。
背景技術(shù):
隨著科技的進(jìn)步,移動(dòng)電話具有越來越多的功能。例如,除了撥電話或接電話之外,移動(dòng)電話可以做為多媒體播放器、相機(jī)、編輯器,甚至可以作為網(wǎng)頁瀏覽器。具有多種應(yīng)用程序的移動(dòng)電話通常會利用多任務(wù)處理核心來處理這些各式各樣的功能。
由于移動(dòng)電話的系統(tǒng)資源(例如計(jì)算空間)通常很有限,因此為了使很多功能可以同時(shí)執(zhí)行,多任務(wù)處理核心必須對每個(gè)工作排定優(yōu)先權(quán)順序。實(shí)時(shí)性的多媒體串流服務(wù)通常比其它工作具有較高的優(yōu)先權(quán)順序。當(dāng)多任務(wù)手持裝置(handheld device)傳送多媒體串流至網(wǎng)絡(luò)時(shí),實(shí)時(shí)多媒體串流服務(wù)會根據(jù)網(wǎng)絡(luò)頻寬來調(diào)整傳輸位速率。例如,當(dāng)網(wǎng)絡(luò)頻寬不穩(wěn)定時(shí),實(shí)時(shí)多媒體串流服務(wù)會通過降低傳輸位速率來維持服務(wù)品質(zhì)(quality of service,QoS)。若具有足夠且穩(wěn)定的網(wǎng)絡(luò)頻寬,實(shí)時(shí)多媒體串流服務(wù)會增加傳輸位速率,以提供較好的多媒體服務(wù)品質(zhì),其代價(jià)是會增加此工作的處理時(shí)間。因此,可能使較低優(yōu)先權(quán)的工作被延遲過久甚至無法執(zhí)行。
圖1顯示一般多任務(wù)系統(tǒng)的時(shí)序圖。假設(shè)多任務(wù)系統(tǒng)必須執(zhí)行第一工作以及第二工作,其中第一工作為實(shí)時(shí)工作且必須在M個(gè)時(shí)間周期(time period)內(nèi)完成。第二工作不是實(shí)時(shí)工作并且具有較長的工作持續(xù)時(shí)間。一般來說,多任務(wù)系統(tǒng)是通過不同的執(zhí)行緒(thread)來執(zhí)行第一工作與第二工作,并給予其優(yōu)先權(quán),使實(shí)時(shí)性的工作能保證在一定的時(shí)間周期內(nèi)完成。圖1顯示四個(gè)執(zhí)行緒A、B、C以及D,其優(yōu)先權(quán)順序?yàn)锳>B>C>D。執(zhí)行緒A代表每M個(gè)時(shí)間周期執(zhí)行一次的中斷服務(wù)程序(interrupt service routine,ISR),可用來控制執(zhí)行緒B與C的工作分配。在此實(shí)施例中將執(zhí)行緒A、B與C視為第一工作,而將具有最低優(yōu)先權(quán)順序的執(zhí)行緒D視為第二工作。由于在圖1中第一工作是使用無限制的資源,因此會影響第二工作的執(zhí)行。例如,在時(shí)間尺標(biāo)示為2M至3M之間,僅剩下少部分的處理時(shí)間來執(zhí)行第二工作。當(dāng)?shù)谝还ぷ鳛閬碓?通道編碼且第二工作為非實(shí)時(shí)工作(例如檔案傳輸)時(shí),類似的情況會更加的嚴(yán)重。
圖2顯示進(jìn)行多任務(wù)的多任務(wù)串流服務(wù)系統(tǒng)的時(shí)序圖。圖中的執(zhí)行緒A、B與C被視為第一工作,且具有較低優(yōu)先權(quán)的執(zhí)行緒D被視為第二工作。在此實(shí)施例中的第一工作為來源/通道編碼處理。必須使用所有的執(zhí)行緒A、B與C才可在M個(gè)時(shí)間周期內(nèi)完成第一工作。在時(shí)間尺標(biāo)示為0至M期間,多任務(wù)系統(tǒng)是根據(jù)多媒體來源內(nèi)容來分配初始編碼位速率。由于不同的應(yīng)用程序具有不同的初始編碼位速度,因此在此不說明實(shí)際的值。第一工作會在M個(gè)時(shí)間周期內(nèi)完成,而剩余的時(shí)間則用來執(zhí)行執(zhí)行緒D。第一工作在M個(gè)時(shí)間周期內(nèi)完成表示其滿足第一工作的實(shí)時(shí)限制。因此在時(shí)間尺標(biāo)示為M至2M期間的編碼位速率會增加,以改善終端用戶的品質(zhì)。由于第一工作會在時(shí)間尺標(biāo)示為2M時(shí)完成,因此在時(shí)間尺標(biāo)示為2M至3M期間的編碼位速率會更增加。在時(shí)間尺標(biāo)示為3M至4M期間,由于第一工作沒有在前一個(gè)M時(shí)間周期完成,因此編碼位速率會大過于實(shí)時(shí)的需求。因此,在時(shí)間尺標(biāo)示為3M至4M之間的編碼位速率會降低。若網(wǎng)絡(luò)品質(zhì)穩(wěn)定的話,編碼位速率會維持在當(dāng)執(zhí)行緒A、B與C占據(jù)所有可用的時(shí)間,即M個(gè)時(shí)間周期時(shí)的數(shù)值。圖2顯示多任務(wù)串流服務(wù)的處理時(shí)間與串流位速率成正比,執(zhí)行緒A、B與C會占用所有的處理時(shí)間并且會延遲具有較低優(yōu)先權(quán)的工作,例如在時(shí)間尺標(biāo)示為M之后執(zhí)行緒D并沒有分配到處理時(shí)間。
對具有有限處理器計(jì)算能力的多任務(wù)系統(tǒng)來說(例如手機(jī)或PDA),當(dāng)外部播放裝置通過有線或無線通道(例如藍(lán)牙、GPRS、Wi-Fi)來播放多媒體檔案時(shí),降低具有低優(yōu)先權(quán)執(zhí)行緒的服務(wù)品質(zhì)會延遲人機(jī)接口的更新、凍結(jié)影像解碼畫框等不具實(shí)時(shí)性的工作。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種使具有高優(yōu)先權(quán)順序的工作禮讓處理時(shí)間的方法,以維持具有低優(yōu)先權(quán)順序的工作的服務(wù)品質(zhì)。
本發(fā)明提供一種串流服務(wù)系統(tǒng),用以在M時(shí)間單位內(nèi)執(zhí)行第一與第二工作。串流服務(wù)系統(tǒng)包括處理器,用來比較第一工作與第二工作的優(yōu)先權(quán)順序,并且執(zhí)行第一工作第一持續(xù)時(shí)間,其中第一工作的優(yōu)先權(quán)順序大于第二工作的優(yōu)先權(quán)順序,在經(jīng)過第一持續(xù)時(shí)間后中止第一工作的執(zhí)行,并且執(zhí)行第二工作第二持續(xù)時(shí)間。
再者,本發(fā)明提供一種在M時(shí)間單位內(nèi)執(zhí)行第一與第二工作的方法。首先,比較第一工作與第二工作的優(yōu)先權(quán)順序。若第一工作的優(yōu)先權(quán)順序大于第二工作的優(yōu)先權(quán)順序,則執(zhí)行第一工作第一持續(xù)時(shí)間。在經(jīng)過第一持續(xù)時(shí)間后中止第一工作的執(zhí)行,并且執(zhí)行第二工作第二持續(xù)時(shí)間。在一些實(shí)施例中,第一持續(xù)時(shí)間與第二持續(xù)時(shí)間之間的比例為常數(shù)。在其它實(shí)施例中第一持續(xù)時(shí)間與參數(shù)成正比,而第二持續(xù)時(shí)間為N時(shí)間單位。若第一與第二工作可以在M時(shí)間單位內(nèi)完成,則增加參數(shù),其中N小于M,反之則降低參數(shù)。
圖1顯示傳統(tǒng)多任務(wù)系統(tǒng)的時(shí)序圖。
圖2顯示傳統(tǒng)具有延緩低優(yōu)先權(quán)工作的多任務(wù)系統(tǒng)的時(shí)序圖。
圖3顯示用來在M時(shí)間單位內(nèi)執(zhí)行第一與第二工作的串流服務(wù)系統(tǒng)。
圖4顯示用來在M時(shí)間單位內(nèi)執(zhí)行第一與第二工作的方法流程圖。
圖5顯示參數(shù)、第一以及第二工作的時(shí)序圖。
附圖標(biāo)號30~串流服務(wù)系統(tǒng)302~處理器304~網(wǎng)絡(luò)具體實(shí)施方式
為讓本發(fā)明的上述和其它目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉出較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下實(shí)施例圖3顯示在M時(shí)間單位內(nèi)執(zhí)行第一與第二工作的串流服務(wù)系統(tǒng)。串流服務(wù)系統(tǒng)30包括處理器302。處理器302通過處理第一工作產(chǎn)生第一數(shù)據(jù)并且以傳輸速率將第一數(shù)據(jù)傳送至網(wǎng)絡(luò)304。第一工作的處理時(shí)間正比于參數(shù)。當(dāng)?shù)谝还ぷ骺梢詧?zhí)行時(shí),處理器302會將第一工作暫停N時(shí)間單位,此時(shí)處理器302可執(zhí)行第二工作。處理器302會在N時(shí)間單位后執(zhí)行第一工作。處理器302會根據(jù)網(wǎng)絡(luò)頻寬以及第一工作的處理時(shí)間來調(diào)整參數(shù)。在一些實(shí)施例中,第一工作為多媒體來源編碼以及通道編碼,且參數(shù)為編碼位速率或是編碼品質(zhì)。例如,第一工作可以為MPEG編碼、卷積碼編碼(convolutionalencoding)或是里德所羅門編碼(Reed-Solomon encoding)處理。MPEG編碼器的編碼品質(zhì)正比于反相的壓縮率。通道編碼器的編碼位速率代表增加至原始數(shù)據(jù)的冗余位的數(shù)量。增加越多的冗余位對原始數(shù)據(jù)的防護(hù)越精密,如此一來也會增加編碼數(shù)據(jù)的尺寸。系統(tǒng)30將來源數(shù)據(jù)編碼并且將編碼數(shù)據(jù)傳送至網(wǎng)絡(luò)。增加編碼品質(zhì)或是通道編碼位速率將使得編碼數(shù)據(jù)對通道噪聲有更強(qiáng)固的防護(hù)能力,因此接收編碼數(shù)據(jù)的終端用戶可成功的將編碼數(shù)據(jù)解碼。具有較大編碼速率的數(shù)據(jù)尺寸相對的也比較大并且需要更多的處理時(shí)間。因此,只要第一工作可以在M時(shí)間單位內(nèi)完成(也就是多媒體可以實(shí)時(shí)播放),處理器302便可增加參數(shù)。否則,處理器302會降低參數(shù)。在一些例子中,當(dāng)網(wǎng)絡(luò)頻寬小于編碼速率時(shí)會降低參數(shù),如此編碼數(shù)據(jù)才可以順暢的傳送至網(wǎng)絡(luò)。在一些實(shí)施例中,第二工作可以為人機(jī)接口、影像解碼、檔案傳輸或是其它非實(shí)時(shí)性的工作。在這些實(shí)施例的串流服務(wù)系統(tǒng)中是維持這些非實(shí)時(shí)性工作的服務(wù)品質(zhì)。
圖4顯示根據(jù)本發(fā)明另一實(shí)施例所述的在M時(shí)間單位內(nèi)執(zhí)行第一與第二工作的方法流程圖40。在步驟S401中比較第一工作與第二工作的優(yōu)先權(quán)順序。若第一工作的優(yōu)先權(quán)順序大于第二工作的優(yōu)先權(quán)順序,則第一工作在步驟402中執(zhí)行第一持續(xù)時(shí)間。第一工作的執(zhí)行在經(jīng)過第一持續(xù)時(shí)間后中止,且第二工作在步驟S403中執(zhí)行第二持續(xù)時(shí)間。在一些實(shí)施例中,第一持續(xù)時(shí)間與第二持續(xù)時(shí)間之間的比例為常數(shù)。在其它實(shí)施例中,第一持續(xù)時(shí)間正比于參數(shù),且第二持續(xù)時(shí)間為N時(shí)間單位。若第一與第二工作可以在M時(shí)間單位內(nèi)完成,則參數(shù)會增加,其中N為小于M的數(shù)目,反之參數(shù)會降低。
圖5顯示參數(shù)、用來說明流程圖40的第一與第二工作以及串流服務(wù)裝置30的時(shí)序圖。從0至M時(shí)間單位是用來初始第一工作的參數(shù)。由于第一工作在M時(shí)間單位前完成,因此在M至2M時(shí)間單位期間第一工作的參數(shù)會增加。第一工作的參數(shù)可以為編碼位速率、編碼品質(zhì)等。增加參數(shù)可提升接收端的播放品質(zhì)。在2M至3M時(shí)間單位的持續(xù)期間,控制器會搜尋第一工作在前一M時(shí)間單位內(nèi)未完成的封包(代表目前的編碼位速率太高,且網(wǎng)絡(luò)頻寬或系統(tǒng)計(jì)算能力無法滿足實(shí)時(shí)需求),因此會降低編碼位速率并且將其回復(fù)為先前的設(shè)定。在時(shí)間單位3M至4M期間,控制器尋找在M時(shí)間單位內(nèi)完成的封包(代表可滿足實(shí)時(shí)效能),因而再次微調(diào)編碼位速率以提升品質(zhì)。在4M時(shí)間單位之后,若網(wǎng)絡(luò)品質(zhì)穩(wěn)定則可以為持參數(shù)。
較高的編碼位速率會導(dǎo)致較好的品質(zhì)。當(dāng)網(wǎng)絡(luò)頻寬或服務(wù)器計(jì)算能力無法滿足編碼位速率的需求,則接收端的使用者無法享受實(shí)時(shí)多媒體服務(wù)。因此通道編碼器通常需要控制器根據(jù)網(wǎng)絡(luò)狀態(tài)或系統(tǒng)流量來調(diào)整來源編碼的輸出位速率,使其符合播放品質(zhì)以及實(shí)時(shí)限制。當(dāng)網(wǎng)絡(luò)品質(zhì)不好或是服務(wù)器計(jì)算能力不足時(shí),降低編碼位速率可以降低對網(wǎng)絡(luò)頻寬以及編碼器的處理時(shí)間的需求。因此,必須維持播放端的實(shí)時(shí)限制以達(dá)到播放品質(zhì)。當(dāng)網(wǎng)絡(luò)品質(zhì)穩(wěn)定且服務(wù)器的計(jì)算能力足夠時(shí),在提供較好的播放品質(zhì)的同時(shí),編碼位速率會增加以符合實(shí)時(shí)限制。
本發(fā)明雖以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明的范圍,任何熟習(xí)此項(xiàng)技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求所界定者為準(zhǔn)。
權(quán)利要求
1.一種控制方法,用來控制一第一工作與一第二工作在一系統(tǒng)上的執(zhí)行,其特征是,該控制方法包括比較上述第一工作與第二工作的優(yōu)先權(quán)順序;執(zhí)行上述第一工作一第一持續(xù)時(shí)間,其中上述第一工作的優(yōu)先權(quán)順序大于上述第二工作的優(yōu)先權(quán)順序;以及在上述第一持續(xù)期間后中止上述第一工作的執(zhí)行,并且執(zhí)行上述第二工作一第二持續(xù)時(shí)間。
2.如權(quán)利要求1所述的控制方法,其特征是,上述第一持續(xù)時(shí)間與第二持續(xù)時(shí)間之間的比例為一常數(shù)。
3.如權(quán)利要求1所述的控制方法,其特征是,上述第一與第二工作必須在M時(shí)間單位內(nèi)執(zhí)行,且上述第一持續(xù)時(shí)間與一參數(shù)成正比,上述方法還包括當(dāng)上述第一工作在M時(shí)間單位內(nèi)完成時(shí),增加上述參數(shù)。
4.如權(quán)利要求3所述的控制方法,其特征是,該控制方法還包括當(dāng)上述第一工作無法在M時(shí)間單位內(nèi)完成時(shí)降低上述參數(shù)。
5.如權(quán)利要求3所述的控制方法,其特征是,該控制方法還包括初始上述參數(shù),使得上述第一與第二工作在M時(shí)間單位內(nèi)完成。
6.如權(quán)利要求1所述的控制方法,其特征是,上述第一工作是通過至少兩個(gè)執(zhí)行緒而實(shí)現(xiàn),包括一第一與一第二執(zhí)行緒,上述第一執(zhí)行緒為每M時(shí)間單位執(zhí)行一次的一中斷服務(wù)程序,且上述第二執(zhí)行緒是接著于上述第一執(zhí)行緒后執(zhí)行。
7.如權(quán)利要求6所述的控制方法,其特征是,上述第一工作為一實(shí)時(shí)工作,且上述第二執(zhí)行緒為來源編碼以及通道編碼。
8.如權(quán)利要求7所述的控制方法,其特征是,上述第二工作為一人機(jī)接口、影像解碼或是檔案傳輸。
9.一種串流服務(wù)系統(tǒng),用來在M時(shí)間單位內(nèi)執(zhí)行一第一與一第二工作,包括一處理器,用來比較上述第一工作與第二工作的優(yōu)先權(quán)順序,執(zhí)行上述第一工作一第一持續(xù)時(shí)間,其特征是,上述第一工作的優(yōu)先權(quán)順序大于上述第二工作的優(yōu)先權(quán)順序,且在上述第一持續(xù)時(shí)間后中止上述第一工作的執(zhí)行并且執(zhí)行上述第二工作一第二持續(xù)時(shí)間。
10.如權(quán)利要求9所述的串流服務(wù)系統(tǒng),其特征是,上述第一持續(xù)時(shí)間正比于一參數(shù)。
11.如權(quán)利要求9所述的串流服務(wù)系統(tǒng),其特征是,當(dāng)上述第一工作與第二工作在M時(shí)間單位內(nèi)完成時(shí),上述處理器增加上述參數(shù),并且當(dāng)上述第一與第二工作無法在M時(shí)間單位內(nèi)完成時(shí),上述處理器增加降低上述參數(shù)。
12.如權(quán)利要求11所述的串流服務(wù)系統(tǒng),其特征是,上述第一處理器為一來源編碼器以及一通道編碼器。
13.如權(quán)利要求12所述的串流服務(wù)系統(tǒng),其特征是,上述參數(shù)為一來源編碼速率或是一通道編碼速率。
14.如權(quán)利要求9所述的串流服務(wù)系統(tǒng),其特征是,上述第二工作為人機(jī)接口、影像解碼或是檔案傳輸。
全文摘要
本發(fā)明提供一種在以優(yōu)先權(quán)強(qiáng)取排程的多任務(wù)實(shí)時(shí)操作系統(tǒng)內(nèi),執(zhí)行高工作負(fù)載的實(shí)時(shí)串流服務(wù)時(shí),仍然保證其它低優(yōu)先權(quán)工作時(shí)間的方法,包括動(dòng)態(tài)調(diào)整串流傳輸率/品質(zhì)及適時(shí)禮讓低優(yōu)先權(quán)工作。本發(fā)明提供一種控制方法,用來控制一第一工作與一第二工作在一系統(tǒng)上的執(zhí)行,該方法包括比較上述第一工作與第二工作的優(yōu)先權(quán)順序;執(zhí)行上述第一工作一第一持續(xù)時(shí)間,其中上述第一工作的優(yōu)先權(quán)順序大于上述第二工作的優(yōu)先權(quán)順序;以及在上述第一持續(xù)期間后中止上述第一工作的執(zhí)行,并且執(zhí)行上述第二工作一第二持續(xù)時(shí)間。
文檔編號H04L12/16GK101043295SQ20071008941
公開日2007年9月26日 申請日期2007年3月22日 優(yōu)先權(quán)日2006年3月22日
發(fā)明者洪國賢, 林煜翔 申請人:聯(lián)發(fā)科技股份有限公司