專利名稱:動(dòng)畫專家群層與伺服層之間的軟件通訊的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種軟件通訊,尤其是一種介于動(dòng)畫專家群層與伺服層之間的軟件通訊。
背景技術(shù):
今日,不同形式的光盤儲(chǔ)存了大量的動(dòng)畫,如激光視盤(VCD,VideoCompact Disc)與數(shù)字視訊光盤(DVD,Digital Versatile Disc)等。傳統(tǒng)的多媒體光盤播放過程牽涉兩個(gè)主要步驟,首先是自光盤中讀取數(shù)據(jù),接著對此數(shù)據(jù)進(jìn)行譯碼。讀取數(shù)據(jù)的部分通常是由一伺服芯片所控制,于數(shù)據(jù)讀出后,同時(shí)運(yùn)用一譯碼芯片進(jìn)行運(yùn)算而產(chǎn)生聲音與影像的輸出。
請參考圖1所示,其是為一傳統(tǒng)播放架構(gòu)100之一方塊示意圖。此播放架構(gòu)100包含眾所周知之一先進(jìn)科技接取(ATA,Advanced TechnologyAttachment)總線110、連接至此先進(jìn)科技接取總線110之一伺服芯片120與一動(dòng)畫專家群(MPEG,Motion Picture Expert Group)譯碼芯片130。作為一光盤讀取器140的控制者,伺服芯片120根據(jù)所接收的先進(jìn)科技接取程序接口格式(ATAPI)的命令,并以光盤上的數(shù)據(jù)作為響應(yīng)。直接附接于此伺服芯片120之一伺服緩沖區(qū)125是作為此光盤之一數(shù)據(jù)緩沖區(qū)。于此播放架構(gòu)100下,動(dòng)畫專家群譯碼芯片130亦連接至此先進(jìn)科技接取總線110。同樣地,直接附接于此動(dòng)畫專家群譯碼芯片130之一動(dòng)畫專家群緩沖區(qū)135亦作為一數(shù)據(jù)緩沖區(qū)。
請參考圖2所示,其是為根據(jù)圖1的架構(gòu)100之一范例流程圖。于步驟210中,此動(dòng)畫專家群譯碼芯片130透過先進(jìn)科技接取總線110發(fā)出一數(shù)據(jù)要求命令至伺服芯片120。接著,于步驟220,此伺服芯片120即命令光盤讀取器140讀取所需的數(shù)據(jù)。自此光盤上讀取的數(shù)據(jù)于步驟230時(shí)被存放于伺服緩沖區(qū)125中。然后于步驟240中,所要求的數(shù)據(jù)是透過先進(jìn)科技接取總線110被復(fù)制至動(dòng)畫專家群緩沖區(qū)135中。最后,此動(dòng)畫專家群譯碼芯片130于步驟250對位于動(dòng)畫專家群緩沖區(qū)135中的數(shù)據(jù)進(jìn)行譯碼,并且產(chǎn)生影音輸出。
于大多數(shù)的情況下,因?yàn)闀?huì)有其它裝置分享先進(jìn)科技接取總線110,故數(shù)據(jù)區(qū)塊的傳遞可能因搶用資源之故而被延遲。此外,因數(shù)據(jù)區(qū)塊于同一時(shí)間內(nèi)存在于兩個(gè)不同地方,例如分別位于伺服緩沖區(qū)125與動(dòng)畫專家群緩沖區(qū)135中,使得復(fù)制數(shù)據(jù)的過程浪費(fèi)時(shí)間與內(nèi)存空間。再者,由于先進(jìn)科技接取總線110的傳輸率是與伺服緩沖區(qū)125和動(dòng)畫專家群緩沖區(qū)135不同,故于實(shí)作中可能更需加入額外的先進(jìn)先出(FIFO,F(xiàn)irst-InFirst-Out)隊(duì)列電路。
再者,若伺服緩沖區(qū)125的大小與所要求的數(shù)據(jù)區(qū)塊相等,此伺服芯片120必需于讀取數(shù)據(jù)前先等待前一筆數(shù)據(jù)復(fù)制完畢。據(jù)此,即代表讀取數(shù)據(jù)與復(fù)制數(shù)據(jù)不能同時(shí)進(jìn)行,換言之,整個(gè)流程無法被管線化(pipelined)。所以當(dāng)發(fā)生讀取錯(cuò)誤或此先進(jìn)科技接取總線110忙碌時(shí),此光盤播放程序?qū)?huì)停滯一段期間。
綜上所述,亟需一種軟件通訊架構(gòu)解決上述問題以增進(jìn)光盤播放產(chǎn)業(yè)的競爭力。
發(fā)明內(nèi)容
鑒于上述的發(fā)明背景,為了符合產(chǎn)業(yè)上的需求,本發(fā)明目的是提供一種動(dòng)畫專家群層與伺服層之間的軟件通訊,用以解決上述傳統(tǒng)播放架構(gòu)未能達(dá)成的標(biāo)的。
本發(fā)明較佳實(shí)施例是提供一種多層(multiple-tier)架構(gòu),其中包含一動(dòng)畫專家群應(yīng)用程序、復(fù)數(shù)個(gè)信息隊(duì)列與一伺服軟件。由此伺服軟件所控制之一光盤讀取器是用以讀取光盤所載信息,上述的伺服軟件與動(dòng)畫專家群應(yīng)用程序共享至少一數(shù)據(jù)緩沖區(qū),以作為讀出數(shù)據(jù)之一內(nèi)存空間。于本發(fā)明較佳實(shí)施例中,動(dòng)畫專家群應(yīng)用程序是透過復(fù)數(shù)個(gè)信息隊(duì)列的橋接,用以接收由伺服軟件而來的信息并進(jìn)行播放。
在本發(fā)明較佳實(shí)施例中,當(dāng)需要光盤所載信息時(shí),上述動(dòng)畫專家群應(yīng)用程序發(fā)出一數(shù)據(jù)要求信息至此復(fù)數(shù)個(gè)信息隊(duì)列之一。接著,此信息隊(duì)列進(jìn)行排序,并且為此伺服軟件依序接收。依據(jù)此數(shù)據(jù)要求信息的指示,上述的伺服軟件控制此光盤讀取器以讀取光盤所載信息,并且將其儲(chǔ)存于上述的數(shù)據(jù)緩沖區(qū)。于此伺服軟件發(fā)出一響應(yīng)信息至另一信息隊(duì)列后,此響應(yīng)信息亦經(jīng)過排序后由動(dòng)畫專家群應(yīng)用程序所接收。此動(dòng)畫專家群應(yīng)用程序于解譯此響應(yīng)信息后,可于上述的數(shù)據(jù)緩沖區(qū)中獲得所需的數(shù)據(jù)。
本發(fā)明另一較佳實(shí)施例是提供一種多層(multiple-tier)架構(gòu),其中包含一應(yīng)用程序?qū)?、一中介層與一伺服層。于應(yīng)用程序?qū)又校患虞d管理者以至少替一顯示引擎與一檔案系統(tǒng)發(fā)出數(shù)據(jù)要求命令信息。上述的中介層包含至少一命令隊(duì)列與一完成隊(duì)列等兩個(gè)信息隊(duì)列,此命令隊(duì)列與完成隊(duì)列可為簡單的先進(jìn)先出隊(duì)列,或可為某種形式的優(yōu)先隊(duì)列。由此伺服層所包含之一伺服軟件是用以控制一光盤讀取器以讀取光盤所載信息。上述的伺服層與應(yīng)用程序?qū)庸蚕碇辽僖粩?shù)據(jù)緩沖區(qū)以作為讀出數(shù)據(jù)之一內(nèi)存空間。上述的復(fù)數(shù)個(gè)信息隊(duì)列則作為上述的應(yīng)用程序?qū)优c伺服層的橋接通訊。
于上述的本發(fā)明另一較佳實(shí)施例中,當(dāng)需要光盤所載信息時(shí),上述的顯示引擎或檔案系統(tǒng)將首先通知此加載管理者。據(jù)此,這些資料要求將由此加載管理者先進(jìn)行處理、標(biāo)示優(yōu)先級與排程。接著,此加載管理者將會(huì)發(fā)出一命令信息至上述中介層的命令隊(duì)列。于其后的步驟中,此命令信息將會(huì)配送至上述伺服軟件。依據(jù)此命令信息的指示,伺服軟件將控制此光盤讀取器讀取光盤所載信息,并且將其儲(chǔ)存于上述的數(shù)據(jù)緩沖區(qū)。接著,伺服軟件發(fā)出一完成信息至上述完成隊(duì)列,以表示光盤所載數(shù)據(jù)已經(jīng)被讀出并且存入數(shù)據(jù)緩沖區(qū)。此完成信息將由此加載管理者先接收,進(jìn)而配送至此相關(guān)資料要求的來源。一旦顯示引擎或檔案系統(tǒng)接收此完成信息后,即可于數(shù)據(jù)緩沖區(qū)中獲得所需的數(shù)據(jù)。
本發(fā)明利用多任務(wù)或軟件層同時(shí)共享的至少一數(shù)據(jù)緩沖區(qū),以節(jié)省于先前技術(shù)中復(fù)制數(shù)據(jù)所消耗的時(shí)間與內(nèi)存空間。此外,本發(fā)明亦利用一信息隊(duì)列中介層作為應(yīng)用程序?qū)优c伺服層之間的通訊橋接方式。由于信息隊(duì)列中介層可充任管線作業(yè)(pipeline)的角色,令前后兩端的應(yīng)用程序?qū)优c伺服層可同時(shí)提出數(shù)據(jù)要求信息與其相對應(yīng)的響應(yīng)信息。而由于數(shù)據(jù)緩沖區(qū)的大小可超過數(shù)據(jù)要求信息所要求的數(shù)據(jù)量,故數(shù)據(jù)緩沖區(qū)可劃分內(nèi)存空間以同時(shí)容納多筆光盤數(shù)據(jù);當(dāng)然,本發(fā)明亦可以具有復(fù)數(shù)個(gè)資料緩沖區(qū),用以同時(shí)分別儲(chǔ)存多筆光盤數(shù)據(jù)。據(jù)此,本發(fā)明所提供的軟件架構(gòu)可增進(jìn)整體數(shù)據(jù)傳輸?shù)男?。另外,除了信息?duì)列中介層之外,應(yīng)用程序?qū)优c伺服層亦可以管線作業(yè)方式處理。再者,由于本發(fā)明若實(shí)作于具有多執(zhí)行緒的操作系統(tǒng)中,則各層亦可以多執(zhí)行緒的方式達(dá)成平行處理數(shù)據(jù)的效果。例如,動(dòng)畫專家群層可同時(shí)發(fā)出數(shù)據(jù)要求信息、提取響應(yīng)信息以及自數(shù)據(jù)緩沖區(qū)中獲得所需的數(shù)據(jù)。據(jù)此,于某一時(shí)刻下,動(dòng)畫專家群層與伺服層均處于忙碌狀態(tài)中,而不像先前技術(shù)的伺服芯片與動(dòng)畫專家群譯碼芯片需等待對方完成動(dòng)作而閑置。最后,本發(fā)明所提供的架構(gòu)相當(dāng)適合作為一整合式的多媒體播放芯片系統(tǒng)。
圖1是為一傳統(tǒng)播放架構(gòu)之一方塊示意圖;圖2是為根據(jù)圖1的架構(gòu)之一范例流程示意圖;圖3是為根據(jù)本發(fā)明一實(shí)施例之一軟件架構(gòu)之一方塊示意圖;圖4是為圖3的實(shí)施例之一流程示意圖;圖5是為根據(jù)本發(fā)明另一實(shí)施例之一軟件架構(gòu)之一方塊示意圖;圖6是為圖5的軟件架構(gòu)之一流程示意圖;以及圖7是為根據(jù)本發(fā)明另一實(shí)施例之一軟件架構(gòu)之一方塊示意圖。
主要組件符號(hào)說明
100傳統(tǒng)播放架構(gòu)110先進(jìn)科技接取總線120伺服芯片125伺服緩沖區(qū)130動(dòng)畫專家群譯碼芯片135動(dòng)畫專家群緩沖區(qū)140光盤讀取器210~250傳統(tǒng)播放流程300軟件架構(gòu)310動(dòng)畫專家群應(yīng)用程序320復(fù)數(shù)個(gè)信息隊(duì)列330伺服軟件340光盤讀取器350數(shù)據(jù)緩沖區(qū)410~480本發(fā)明一實(shí)施例的流程500軟件架構(gòu)510加載管理者512顯示引擎514檔案系統(tǒng)520命令隊(duì)列525完成隊(duì)列530伺服軟件540光盤讀取器550數(shù)據(jù)緩沖區(qū)604~640本發(fā)明的另一實(shí)施例的流程700軟件架構(gòu)710動(dòng)畫專家群應(yīng)用程序720復(fù)數(shù)對信息隊(duì)列
721命令隊(duì)列722完成隊(duì)列730伺服軟件740光盤讀取器750復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)具體實(shí)施方式
本發(fā)明在此所探討的方向?yàn)橐环N介于動(dòng)畫專家群層與伺服層之間的軟件通訊。為了能徹底地了解本發(fā)明,將在下列的描述中提出詳盡的步驟及其組成。顯然地,本發(fā)明的施行并未限定于軟件通訊的技藝者所熟習(xí)的特殊細(xì)節(jié)。本發(fā)明的較佳實(shí)施例會(huì)詳細(xì)描述如下,然而除了這些詳細(xì)描述之外,本發(fā)明還可以廣泛地施行在其它的實(shí)施例中,且本發(fā)明的范圍不受限定,以的后的專利范圍為準(zhǔn)。
請參考圖3所示,其是為根據(jù)本發(fā)明一實(shí)施例之一軟件架構(gòu)300之一方塊示意圖。此軟件架構(gòu)300是為一多層(multiple-tier)架構(gòu),其中包含一動(dòng)畫專家群層、一中介層與一伺服層,于此軟件架構(gòu)300中,至少包含屬于動(dòng)畫專家群層之一動(dòng)畫專家群應(yīng)用程序310。此動(dòng)畫專家群應(yīng)用程序310可為一電影播放程序,或可為一軟件管理者,其可同時(shí)處理來自不同軟件間的多個(gè)動(dòng)畫專家群數(shù)據(jù)需求。
如圖3所示,中介層包含復(fù)數(shù)個(gè)信息隊(duì)列320以接收來自動(dòng)畫專家群層與伺服層的信息。同樣地,動(dòng)畫專家群層與伺服層亦可取得此復(fù)數(shù)個(gè)信息隊(duì)列320的信息。此外,復(fù)數(shù)個(gè)信息隊(duì)列320可為簡單的先進(jìn)先出隊(duì)列,或可為某種形式的優(yōu)先隊(duì)列(priority queue)。當(dāng)為簡單的先進(jìn)先出隊(duì)列時(shí),于隊(duì)列中的信息是以其接收時(shí)間作為優(yōu)先排序的依據(jù);當(dāng)為某一形式的優(yōu)先隊(duì)列時(shí),信息的優(yōu)先級可于信息內(nèi)部標(biāo)示。于此實(shí)施例中,復(fù)數(shù)個(gè)信息隊(duì)列320可為動(dòng)畫專家群層、伺服層或其它軟件所訂閱(subscribed)。當(dāng)接收信息后,此信息隊(duì)列320將會(huì)通知其訂閱者。因?yàn)樾畔㈥?duì)列軟件已廣為計(jì)算機(jī)科學(xué)界所習(xí)知,故不再討論那些可應(yīng)用于本發(fā)明的相關(guān)信息軟件。
如圖3所示,伺服層包含至少一伺服軟件330,其控制至少一光盤讀取器340,通過由此光盤讀取器340,伺服軟件330可讀取光盤所載信息。伺服軟件330與動(dòng)畫專家群應(yīng)用程序310共享至少一數(shù)據(jù)緩沖區(qū)350的內(nèi)存空間。此外,復(fù)數(shù)個(gè)信息隊(duì)列320亦可分享此數(shù)據(jù)緩沖區(qū)350作為信息的儲(chǔ)存區(qū)。于本發(fā)明中,數(shù)據(jù)緩沖區(qū)350的實(shí)際組成可為一連續(xù)的內(nèi)存區(qū)塊,或可為不連續(xù)的內(nèi)存區(qū)塊而以邏輯上的串聯(lián)形成。事實(shí)上,僅需上述的伺服軟件330、動(dòng)畫專家群應(yīng)用程序310與復(fù)數(shù)個(gè)信息隊(duì)列320可存取此數(shù)據(jù)緩沖區(qū)350的內(nèi)容即可,本發(fā)明并不限定數(shù)據(jù)緩沖區(qū)350的個(gè)數(shù)。
于本實(shí)施例之一范例中,此軟件架構(gòu)300可實(shí)作于一多任務(wù)實(shí)時(shí)操作系統(tǒng)中,于此種操作系統(tǒng)中,每一層可實(shí)作為可同時(shí)執(zhí)行的至少一工作(task)或一工作群組。于本實(shí)施例的另一范例中,此軟件架構(gòu)300可實(shí)作于一個(gè)具有多執(zhí)行緒的操作系統(tǒng)中,每一層可實(shí)作為可同時(shí)執(zhí)行的至少一執(zhí)行緒或一執(zhí)行緒群組。
請參考圖4所示,其是為圖3實(shí)施例的流程示意圖。首先,于步驟410時(shí),由動(dòng)畫專家群應(yīng)用程序310發(fā)出之一數(shù)據(jù)要求信息送往此復(fù)數(shù)個(gè)信息隊(duì)列320之一。于步驟420,接到此數(shù)據(jù)要求信息后,此信息隊(duì)列320將根據(jù)此信息的接收時(shí)間或其標(biāo)示的優(yōu)先度進(jìn)行排序,亦即其排序的方式將視此信息隊(duì)列320的形式而訂。接著于步驟430,此數(shù)據(jù)要求信息將為信息訂閱者提取,亦即為伺服軟件330所提取。同樣地,無論此信息隊(duì)列320是使用提取(polling)或推送(pushing)機(jī)制實(shí)作,皆可適用于本發(fā)明。于接獲此數(shù)據(jù)要求信息后,伺服軟件330將于步驟440中,依據(jù)此數(shù)據(jù)要求信息的指示讀取光盤所載信息,并且將其儲(chǔ)存于數(shù)據(jù)緩沖區(qū)350中。再者,此數(shù)據(jù)要求信息可包含于數(shù)據(jù)緩沖區(qū)350中預(yù)先配置好的空間信息、光盤上的相關(guān)區(qū)塊、讀取的重試次數(shù)以及其它關(guān)于步驟440中有用的參數(shù)值。換言之,本發(fā)明并不限制此數(shù)據(jù)要求信息的內(nèi)容。
如圖4所示,于讀取和儲(chǔ)存數(shù)據(jù)后,伺服軟件330將于步驟450中發(fā)出一響應(yīng)信息至此復(fù)數(shù)個(gè)信息隊(duì)列320之一。如同上述的數(shù)據(jù)要求信息,本發(fā)明不限制此響應(yīng)信息的內(nèi)容,其可包含所讀取數(shù)據(jù)于數(shù)據(jù)緩沖區(qū)350的儲(chǔ)存位置、讀取數(shù)據(jù)的長度或任何對動(dòng)畫專家群應(yīng)用程序310有幫助的其它參數(shù)。接著,于步驟460中,此響應(yīng)信息亦由信息隊(duì)列320根據(jù)其接收時(shí)間或優(yōu)先度標(biāo)示進(jìn)行排序。于其后的步驟470中,動(dòng)畫專家群應(yīng)用程序310由此信息隊(duì)列320提取此響應(yīng)信息。最后,此動(dòng)畫專家群應(yīng)用程序310于解譯此響應(yīng)信息后,可于數(shù)據(jù)緩沖區(qū)350中獲得所需的數(shù)據(jù)。
于本發(fā)明較佳實(shí)施例中,由于復(fù)數(shù)個(gè)信息隊(duì)列320可充任管線作業(yè)(pipeline)的角色,令前后兩端的動(dòng)畫專家群層與伺服層可同時(shí)提出數(shù)據(jù)要求信息與其相對應(yīng)的響應(yīng)信息;再者,由于數(shù)據(jù)緩沖區(qū)350的大小可超過數(shù)據(jù)要求信息所要求的數(shù)據(jù)量,故數(shù)據(jù)緩沖區(qū)350可同時(shí)容納多筆光盤數(shù)據(jù);當(dāng)然,本發(fā)明亦可以具有復(fù)數(shù)個(gè)資料緩沖區(qū),用以同時(shí)分別儲(chǔ)存多筆光盤數(shù)據(jù)。因此,本發(fā)明所提供的軟件架構(gòu)300可透過管線作業(yè)的方式來達(dá)成平行處理數(shù)據(jù)的效果,進(jìn)而增進(jìn)整體數(shù)據(jù)傳輸?shù)男?。由于本發(fā)明若實(shí)作于具有多執(zhí)行緒的操作系統(tǒng)中,則各層亦可以多執(zhí)行緒的方式達(dá)成平行處理數(shù)據(jù)的效果。例如,動(dòng)畫專家群層可同時(shí)發(fā)出數(shù)據(jù)要求信息、提取響應(yīng)信息以及自數(shù)據(jù)緩沖區(qū)350中獲得所需的數(shù)據(jù)。據(jù)此,于某一時(shí)刻下,動(dòng)畫專家群層與伺服層均處于工作狀態(tài)中,而不像先前技術(shù)的伺服芯片120與動(dòng)畫專家群譯碼芯片130需等待對方完成動(dòng)作而閑置。
請參考圖5所示,其是為根據(jù)本發(fā)明另一實(shí)施例之一軟件架構(gòu)500的方塊示意圖。如同圖3的實(shí)施例,此軟件架構(gòu)500亦包含一應(yīng)用程序?qū)?、一中介層與一伺服層。于此實(shí)施例中,應(yīng)用程序?qū)影患虞d管理者510、一顯示引擎512與一檔案系統(tǒng)514,其中,顯示引擎512是為顯示光盤所載多媒體內(nèi)容之一多媒體播放程序。為顯示光盤所載的多媒體內(nèi)容,顯示引擎512可包含動(dòng)畫專家群與/或其它壓縮與解壓縮功能,檔案系統(tǒng)514亦可用于處理光盤所載的某些信息。除卻顯示引擎512與檔案系統(tǒng)514外,其它應(yīng)用程序可能亦需要光盤所載的信息,加載管理者510是提供一軟件網(wǎng)關(guān)以管理所有對光盤信息的要求,由顯示引擎512與檔案系統(tǒng)514所發(fā)出的需求,會(huì)經(jīng)過此加載管理者510進(jìn)行排序、包裝與排程。
如圖5所示,中介層包含復(fù)數(shù)個(gè)信息隊(duì)列以接收來自應(yīng)用程序?qū)优c伺服層的信息。同樣地,應(yīng)用程序?qū)优c伺服層亦可取得此復(fù)數(shù)個(gè)信息隊(duì)列的信息。于此實(shí)施例中,中介層包含一命令隊(duì)列520與一完成隊(duì)列525,此命令隊(duì)列520與完成隊(duì)列525可為簡單的先進(jìn)先出隊(duì)列,或可為某種形式的優(yōu)先隊(duì)列(priority queue)。因?yàn)樯鲜龅男畔㈥?duì)列軟件已廣為計(jì)算機(jī)科學(xué)界的現(xiàn)有技術(shù),故不再討論那些可應(yīng)用于本發(fā)明的相關(guān)信息軟件。
如圖5所示,上述的伺服層包含至少一伺服軟件530,其控制至少一光盤讀取器540,通過由此光盤讀取器540,伺服軟件530可讀取光盤所載信息。伺服軟件530與顯示引擎512和檔案系統(tǒng)514共享一數(shù)據(jù)緩沖區(qū)550的內(nèi)存空間。此外,復(fù)數(shù)個(gè)信息隊(duì)列520與525亦可分享此數(shù)據(jù)緩沖區(qū)550作為信息的儲(chǔ)存區(qū)。
于本實(shí)施例之一范例中,此軟件架構(gòu)500可實(shí)作于一多任務(wù)實(shí)時(shí)操作系統(tǒng)中,于此種操作系統(tǒng)中,每一層可實(shí)作為可同時(shí)執(zhí)行的至少一工作或一工作群組。于本實(shí)施例的另一范例中,此軟件架構(gòu)500可實(shí)作于一個(gè)具有多執(zhí)行緒的操作系統(tǒng)中,每一層可實(shí)作為同時(shí)執(zhí)行的至少一執(zhí)行緒或一執(zhí)行緒群組。
請參考圖6所示,其是為圖5軟件架構(gòu)500的一流程示意圖。首先于步驟604,此加載管理者510由顯示引擎512或檔案系統(tǒng)514接收一數(shù)據(jù)要求,于此步驟中,上述的加載管理者510可對此數(shù)據(jù)要求進(jìn)行優(yōu)先度排序、排程、轉(zhuǎn)換與/或任何計(jì)算,以于次一步驟608中發(fā)出一命令信息。接著,于步驟608中,由加載管理者510發(fā)出之一命令信息送入命令隊(duì)列520。于步驟612中,命令隊(duì)列520中的所有命令信息將根據(jù)其接收時(shí)間或其它優(yōu)先度排序的方式進(jìn)行排序。伺服軟件530將于步驟616接收此命令信息。根據(jù)此命令信息的指示,于步驟620時(shí),伺服軟件530讀取光盤所載信息,并且將其儲(chǔ)放于上述數(shù)據(jù)緩沖區(qū)550的某處。其中,命令信息可包含此數(shù)據(jù)緩沖區(qū)550的預(yù)先配置空間的指針、光盤的區(qū)塊、讀取的重試次數(shù)或任何可幫助后續(xù)步驟640的其它參數(shù)。換言之,本發(fā)明無意限定此命令信息的內(nèi)容。
如圖6所示,于讀取數(shù)據(jù)和儲(chǔ)存后,伺服軟件530將于步驟624發(fā)出一完成信息至上述完成隊(duì)列525,同樣的,本發(fā)明無意限定此完成信息的內(nèi)容,其可能包含此數(shù)據(jù)緩沖區(qū)550的儲(chǔ)存空間、讀取信息的長度或其它可幫助上述顯示引擎512或檔案系統(tǒng)514接收數(shù)據(jù)的參數(shù)。接著進(jìn)行步驟628,完成隊(duì)列525將根據(jù)其接收時(shí)間或其它優(yōu)先度排序的方式進(jìn)行排序。隨后進(jìn)行步驟632,此載入管理者510由完成隊(duì)列525中取得此完成信息。于步驟636中,此載入管理者510必需將此完成信息傳送至發(fā)出命令信息的來源。換言之,此完成信息將傳送至顯示引擎512或檔案系統(tǒng)514。最后,步驟640中,顯示引擎512或檔案系統(tǒng)514解譯此完成信息后,即可自此數(shù)據(jù)緩沖區(qū)550取得所要求的數(shù)據(jù)。
于本發(fā)明中,由于命令隊(duì)列520與完成隊(duì)列525可充任管線作業(yè)(pipeline)的角色,令前后兩端的加載管理者510與伺服層可同時(shí)提出數(shù)據(jù)要求信息與其相對應(yīng)的響應(yīng)信息;再者,由于數(shù)據(jù)緩沖區(qū)550的大小可超過數(shù)據(jù)要求信息所要求的數(shù)據(jù)量,故數(shù)據(jù)緩沖區(qū)550可同時(shí)容納多筆光盤數(shù)據(jù);當(dāng)然,本發(fā)明亦可以具有復(fù)數(shù)個(gè)資料緩沖區(qū),用以同時(shí)分別儲(chǔ)存多筆光盤數(shù)據(jù)。因此,本發(fā)明所提供的軟件架構(gòu)500可增進(jìn)整體數(shù)據(jù)傳輸?shù)男?。再者,由于本發(fā)明若實(shí)作于具有多執(zhí)行緒的操作系統(tǒng)中,則各層亦可以多執(zhí)行緒的方式達(dá)成平行處理數(shù)據(jù)的效果。例如,動(dòng)畫專家群層可同時(shí)發(fā)出數(shù)據(jù)要求信息、提取響應(yīng)信息以及自數(shù)據(jù)緩沖區(qū)550中獲得所需的數(shù)據(jù)。據(jù)此,于某一時(shí)刻下,動(dòng)畫專家群層與伺服層均處于工作狀態(tài)中,而不像先前技術(shù)的伺服芯片120與動(dòng)畫專家群譯碼芯片130需等待對方完成動(dòng)作而閑置。
請參考圖7所示,其是為根據(jù)本發(fā)明另一實(shí)施例之一軟件架構(gòu)700之一方塊示意圖。此軟件架構(gòu)700類似圖3標(biāo)出的軟件架構(gòu)300,其中包含一動(dòng)畫專家群層、一中介層與一伺服層。于此軟件架構(gòu)700,包含屬于動(dòng)畫專家群層的至少一動(dòng)畫專家群應(yīng)用程序710;其中介層包含復(fù)數(shù)對信息隊(duì)列720以接收來自動(dòng)畫專家群層與伺服層的信息,每對信息隊(duì)列720包含一命令隊(duì)列721與一完成隊(duì)列722;其伺服層包含至少一伺服軟件730,其控制至少一光盤讀取器740,通過由此光盤讀取器740,伺服軟件730可讀取光盤所載信息。伺服軟件730與動(dòng)畫專家群應(yīng)用程序710共享復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)750的內(nèi)存空間。此外,復(fù)數(shù)對信息隊(duì)列720亦可分享此復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)750作為信息的儲(chǔ)存區(qū)。
于本實(shí)施例之一范例中,此復(fù)數(shù)對信息隊(duì)列720與上述的復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)750具有一對應(yīng)關(guān)系;亦即每一對命令隊(duì)列721與完成隊(duì)列722對應(yīng)至復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)750其中之一個(gè)數(shù)據(jù)緩沖區(qū)750。
此外,于本實(shí)施例之一范例中,此軟件架構(gòu)700可實(shí)作于一多任務(wù)實(shí)時(shí)操作系統(tǒng)中,于此種操作系統(tǒng)中,每一層可實(shí)作為可同時(shí)執(zhí)行的至少一工作或一工作群組。于本實(shí)施例的另一范例中,此軟件架構(gòu)700可實(shí)作于一個(gè)具有多執(zhí)行緒的操作系統(tǒng)中,每一層可實(shí)作為同時(shí)執(zhí)行的至少一執(zhí)行緒或一執(zhí)行緒群組。
于某一時(shí)刻下,此動(dòng)畫專家群應(yīng)用程序710送出復(fù)數(shù)個(gè)數(shù)據(jù)要求信息至復(fù)數(shù)對信息隊(duì)列720的復(fù)數(shù)個(gè)命令隊(duì)列721。于此同時(shí),伺服軟件730同時(shí)自復(fù)數(shù)個(gè)命令隊(duì)列721接收先前由動(dòng)畫專家群應(yīng)用程序710所送出的復(fù)數(shù)個(gè)數(shù)據(jù)要求信息,并且自光盤讀取器740讀取所要求的復(fù)數(shù)筆信息,接著將此復(fù)數(shù)筆信息存入與上述復(fù)數(shù)個(gè)命令隊(duì)列721相對應(yīng)的復(fù)數(shù)個(gè)緩沖區(qū)750,最后再送出包含對應(yīng)至復(fù)數(shù)個(gè)數(shù)據(jù)要求信息的復(fù)數(shù)個(gè)響應(yīng)信息至該復(fù)數(shù)對信息隊(duì)列720的該復(fù)數(shù)個(gè)完成隊(duì)列722。而此動(dòng)畫專家群應(yīng)用程序710于送出復(fù)數(shù)個(gè)數(shù)據(jù)要求信息的同時(shí)接收復(fù)數(shù)個(gè)響應(yīng)信息,并因應(yīng)該復(fù)數(shù)個(gè)響應(yīng)信息讀取該復(fù)數(shù)個(gè)數(shù)據(jù)要求信息所要求的該復(fù)數(shù)筆信息。
上述僅為本發(fā)明的較佳實(shí)施例而已,并非用以限定本發(fā)明的申請專利范圍;凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在下述申請專利范圍內(nèi)。
權(quán)利要求
1.一種應(yīng)用于多媒體光盤播放系統(tǒng)的動(dòng)畫專家群伺服系統(tǒng),其特征在于,包含復(fù)數(shù)個(gè)信息隊(duì)列,其中更包含一第一隊(duì)列與一第二隊(duì)列;一動(dòng)畫專家群模塊,用以送出一數(shù)據(jù)要求信息至該第一隊(duì)列并且自該第二隊(duì)列接收相對于該數(shù)據(jù)要求信息之一響應(yīng)信息;以及一伺服模塊,用以自該第一隊(duì)列接收該數(shù)據(jù)要求信息,并自該伺服模塊所控制之一光盤讀取器所負(fù)載之一光盤讀取該數(shù)據(jù)要求信息所要求之一要求信息,以及送出對應(yīng)該數(shù)據(jù)要求信息的該響應(yīng)信息至該第二隊(duì)列。
2.如權(quán)利要求1的動(dòng)畫專家群伺服系統(tǒng),其特征在于,更包含可由該伺服模塊與該動(dòng)畫專家群模塊所共同存取之一數(shù)據(jù)緩沖區(qū)。
3.如權(quán)利要求2的動(dòng)畫專家群伺服系統(tǒng),其特征在于,所述該伺服模塊是將所讀取的該要求信息儲(chǔ)放于該數(shù)據(jù)緩沖區(qū),該動(dòng)畫專家群模塊是因應(yīng)于該響應(yīng)信息以于該數(shù)據(jù)緩沖區(qū)讀取該要求信息。
4.如權(quán)利要求2的動(dòng)畫專家群伺服系統(tǒng),其特征在于,所述該復(fù)數(shù)個(gè)信息隊(duì)列、該動(dòng)畫專家群模塊、該伺服模塊是分別由可同時(shí)執(zhí)行的執(zhí)行緒所構(gòu)筑。
5.一種應(yīng)用于多媒體光盤播放系統(tǒng)的數(shù)據(jù)通訊系統(tǒng),其特征在于,所述該數(shù)據(jù)通訊系統(tǒng)包含一命令隊(duì)列;一完成隊(duì)列;一加載管理者,用以自一要求模塊接收一數(shù)據(jù)要求信息、根據(jù)該數(shù)據(jù)要求信息送出一命令信息至該命令隊(duì)列以及自該完成隊(duì)列提取相對應(yīng)于該命令信息之一完成信息;一伺服模塊,用以自該命令隊(duì)列接收該命令信息、自該伺服模塊控制之一光盤讀取器所負(fù)載之一光盤讀取該命令信息所要求之一要求信息,與送出包含對應(yīng)該命令信息的該完成信息至該完成隊(duì)列;以及一數(shù)據(jù)緩沖區(qū),用以儲(chǔ)存該伺服模塊所讀取的復(fù)數(shù)筆該要求信息,以及該加載管理者因應(yīng)該完成信息可由該數(shù)據(jù)緩沖區(qū)讀取該復(fù)數(shù)筆要求信息。
6.如權(quán)利要求5的數(shù)據(jù)通訊系統(tǒng),其特征在于,所述該要求模塊包含選自下列群組的集合管理該光盤的檔案數(shù)據(jù)之一檔案系統(tǒng);以及顯示該光盤所載的動(dòng)畫專家群數(shù)據(jù)之一顯示引擎。
7.如權(quán)利要求5的數(shù)據(jù)通訊系統(tǒng),其特征在于,所述該伺服模塊與該要求模塊可共同存取該數(shù)據(jù)緩沖區(qū)。
8.一種應(yīng)用于多媒體光盤播放系統(tǒng)的動(dòng)畫專家群與伺服裝置之間的數(shù)據(jù)通訊方法,其特征在于,所述該數(shù)據(jù)通訊方法包含提供復(fù)數(shù)對信息隊(duì)列,其中每一該復(fù)數(shù)對信息隊(duì)列皆包含一命令隊(duì)列與一完成隊(duì)列;一動(dòng)畫專家群模塊送出復(fù)數(shù)個(gè)數(shù)據(jù)要求信息至該復(fù)數(shù)對信息隊(duì)列的該復(fù)數(shù)個(gè)命令隊(duì)列;一伺服模塊自該復(fù)數(shù)個(gè)命令隊(duì)列接收該復(fù)數(shù)個(gè)數(shù)據(jù)要求信息、用以自一光盤讀取器所負(fù)載之一光盤讀取該復(fù)數(shù)個(gè)數(shù)據(jù)要求信息所要求的復(fù)數(shù)筆信息,并且送出對應(yīng)該復(fù)數(shù)個(gè)數(shù)據(jù)要求信息的復(fù)數(shù)個(gè)響應(yīng)信息至該復(fù)數(shù)對信息隊(duì)列的該復(fù)數(shù)個(gè)完成隊(duì)列;以及該動(dòng)畫專家群模塊于送出另外復(fù)數(shù)個(gè)數(shù)據(jù)要求信息的同時(shí),接收該復(fù)數(shù)個(gè)響應(yīng)信息,并因應(yīng)該復(fù)數(shù)個(gè)響應(yīng)信息讀取該復(fù)數(shù)個(gè)數(shù)據(jù)要求信息所要求的該復(fù)數(shù)筆信息。
9.如權(quán)利要求8的數(shù)據(jù)通訊方法,其特征在于,所述該動(dòng)畫專家群模塊與該伺服模塊是分別由可同時(shí)執(zhí)行的執(zhí)行緒所構(gòu)筑。
10.如權(quán)利要求8的數(shù)據(jù)通訊方法,其特征在于,更包含該伺服模塊將該復(fù)數(shù)個(gè)數(shù)據(jù)要求信息所要求的該復(fù)數(shù)筆信息儲(chǔ)放于復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)的步驟,其中該復(fù)數(shù)個(gè)數(shù)據(jù)緩沖區(qū)可由該伺服模塊與該動(dòng)畫專家群模塊所共同存取。
全文摘要
本發(fā)明是提供一種多層(multiple-tier)架構(gòu),包含一動(dòng)畫專家群應(yīng)用程序、復(fù)數(shù)個(gè)信息隊(duì)列與一伺服軟件。伺服軟件控制一光盤讀取器用以讀取光盤所載信息,且伺服軟件與動(dòng)畫專家群應(yīng)用程序共享至少一數(shù)據(jù)緩沖區(qū)以作為讀出數(shù)據(jù)之一內(nèi)存空間。于本發(fā)明較佳實(shí)施例中,動(dòng)畫專家群應(yīng)用程序是透過復(fù)數(shù)個(gè)信息隊(duì)列的橋接,用以接收由伺服軟件而來的信息并進(jìn)行播放。
文檔編號(hào)G06F12/00GK1749979SQ20051009150
公開日2006年3月22日 申請日期2005年8月18日 優(yōu)先權(quán)日2004年8月18日
發(fā)明者李鴻佳, 簡國棟, 沈志承, 黃振銘, 巫震偉, 王祥安 申請人:威盛電子股份有限公司