本發(fā)明涉及一種用于對(duì)機(jī)動(dòng)車的音頻處理進(jìn)行時(shí)序安排(scheduling)的方法,以及一種相關(guān)的操作系統(tǒng)。
對(duì)于包括非常豐富和多樣的音頻架構(gòu)的機(jī)動(dòng)車,本發(fā)明是特別有利的應(yīng)用。
背景技術(shù):
機(jī)動(dòng)車集成了越來(lái)越多的不同來(lái)源的以及用于不同外圍設(shè)備的音頻流。例如,機(jī)動(dòng)車可以包括用于處理和讀取來(lái)自cd播放器、mp3播放器、汽車收音機(jī)、集成gps和藍(lán)牙輸入的音頻流的裝置。這些音頻流可以通過(guò)兩個(gè)前置揚(yáng)聲器、中央單元、兩個(gè)后置揚(yáng)聲器和/或駕駛員使用的免提套件播放。
數(shù)字信號(hào)處理器以常規(guī)方式實(shí)現(xiàn),來(lái)處理不同的音頻流。數(shù)字信號(hào)處理器(文獻(xiàn)中也稱為dsp)是經(jīng)過(guò)優(yōu)化的微處理器,其盡可能快地運(yùn)行應(yīng)用,以對(duì)信號(hào)進(jìn)行數(shù)字處理(濾波、信號(hào)提取等)。
由于開(kāi)放式系統(tǒng)的出現(xiàn)、處理器性能的提高以及這些處理器的虛擬化容量的增大,一些音頻處理操作在車輛的主處理器上執(zhí)行。例如,機(jī)動(dòng)車通常包括專用處理器,其用于對(duì)管理機(jī)動(dòng)車的重要功能的機(jī)動(dòng)車總線(can)進(jìn)行管理,并能夠模擬數(shù)字信號(hào)處理器的用途。
由一個(gè)或多個(gè)數(shù)字信號(hào)處理器以物理方式執(zhí)行的音頻處理操作,之后通過(guò)模擬這個(gè)先前的音頻處理操作在主處理器上以單元功能的形式編程音頻處理操作。每個(gè)單元功能包括至少一個(gè)輸入或至少一個(gè)輸出和由主時(shí)鐘產(chǎn)生的采樣頻率?!爸鲿r(shí)鐘”表示允許產(chǎn)生一個(gè)或多個(gè)采樣頻率的低級(jí)硬件時(shí)鐘(在文獻(xiàn)中也稱為硬件)。主處理器還連接到多個(gè)輸入和輸出,其中每個(gè)輸入/輸出包括一個(gè)幀尺寸和一個(gè)由主時(shí)鐘產(chǎn)生的采樣頻率。
根據(jù)特定時(shí)序安排的輸入或輸出的要求,通過(guò)主處理器實(shí)現(xiàn)這些單元功能。時(shí)序安排理論是運(yùn)籌學(xué)的一個(gè)分支,其重點(diǎn)是計(jì)算執(zhí)行任務(wù)的最佳日期。為此,通常需要同時(shí)分配執(zhí)行這些任務(wù)所需的資源。時(shí)序安排問(wèn)題可被認(rèn)為是規(guī)劃子問(wèn)題(sub-problem),在規(guī)劃子問(wèn)題中必須確定執(zhí)行規(guī)劃的任務(wù)。
因此,在現(xiàn)有技術(shù)的系統(tǒng)中,是根據(jù)機(jī)動(dòng)車的音頻架構(gòu)的輸入或輸出要求,來(lái)對(duì)處理器的任務(wù)的進(jìn)行時(shí)序安排。當(dāng)一個(gè)輸入到達(dá)時(shí),它同時(shí)由主處理器和數(shù)字信號(hào)處理器進(jìn)行處理。
然而,對(duì)單元功能的這種時(shí)序安排無(wú)法對(duì)通常相對(duì)于彼此延遲的輸入音頻流進(jìn)行有效處理。例如,當(dāng)激活藍(lán)牙以對(duì)駕駛員發(fā)出語(yǔ)音呼叫并且同時(shí)處理其他音頻流時(shí),由于音頻流出現(xiàn)的時(shí)差和不同輸入的主時(shí)鐘之間的差異,一些音頻流會(huì)被延遲。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在克服現(xiàn)有技術(shù)的缺點(diǎn),通過(guò)提出根據(jù)對(duì)所有輸入/輸出都被使用的特別不利情況的模擬來(lái)對(duì)驅(qū)動(dòng)機(jī)動(dòng)車的音頻處理進(jìn)行時(shí)序安排的一種方法。
為此,根據(jù)第一方面,本發(fā)明涉及一種用于對(duì)機(jī)動(dòng)車的音頻處理進(jìn)行時(shí)序安排的方法,所述音頻處理包括由微處理器實(shí)現(xiàn)的多個(gè)單元功能,每個(gè)單元功能包括至少一個(gè)輸入或至少一個(gè)輸出和一個(gè)由主時(shí)鐘產(chǎn)生的采樣頻率、以及多個(gè)輸入和輸出,每個(gè)輸入/輸出包括一個(gè)幀尺寸和一個(gè)由主時(shí)鐘產(chǎn)生的采樣頻率,所述方法包括以下步驟:將單元功能集合為同步域,單元功能的主時(shí)鐘是同步的;計(jì)算與所需時(shí)間相對(duì)應(yīng)的最長(zhǎng)處理時(shí)間,一方面,該時(shí)間為當(dāng)按次序生成輸入/輸出時(shí),通過(guò)單元功能來(lái)處理輸入的所有幀所需,另一方面,該時(shí)間為使得單元功能返回到其初始狀態(tài)所需;以及根據(jù)最長(zhǎng)處理時(shí)間確定對(duì)每個(gè)同步域的單元功能的時(shí)序安排。
本發(fā)明有效地減少了延遲,從而提高了系統(tǒng)的響應(yīng)性,并能夠遵守由包括法國(guó)在內(nèi)的某些國(guó)家實(shí)施的響應(yīng)標(biāo)準(zhǔn)。本發(fā)明還減少了音頻系統(tǒng)的開(kāi)發(fā)時(shí)間和安裝時(shí)間。
根據(jù)一個(gè)實(shí)施方式,該方法還包括通過(guò)異步采樣頻率轉(zhuǎn)換器互連同步域的一個(gè)步驟。
根據(jù)一個(gè)實(shí)施方式,僅存儲(chǔ)對(duì)輸入/輸出的時(shí)序安排。由于對(duì)輸入/輸出的時(shí)序安排和分配給每個(gè)單元功能的相對(duì)優(yōu)先級(jí),對(duì)單元功能的時(shí)序安排以唯一且可再現(xiàn)的方式獲得。因此,相較于與通過(guò)輸入/輸出的出現(xiàn)生成的描述圖,本發(fā)明提供了由服務(wù)控制的描述圖。
根據(jù)一個(gè)實(shí)施方式,描述圖被存儲(chǔ)在可重新配置的文件中。因此,在結(jié)構(gòu)修改和更新方面,車輛的音頻架構(gòu)更為靈活。
根據(jù)第二方面,本發(fā)明涉及一種包括一個(gè)框架的操作系統(tǒng),該框架包括一種裝置,用于將單元功能集合為同步域,所述單元功能的主時(shí)鐘是同步的;計(jì)算與所需時(shí)間相對(duì)應(yīng)的最長(zhǎng)處理時(shí)間,一方面,所需時(shí)間為當(dāng)按次序生成輸入/輸出時(shí)通過(guò)單元功能來(lái)處理輸入幀所需,另一方面,所需時(shí)間為使得單元功能返回到初始狀態(tài)所需;以及根據(jù)最長(zhǎng)處理時(shí)間,確定對(duì)每個(gè)同步域的單元功能的時(shí)序安排。
根據(jù)一個(gè)實(shí)施方式,該系統(tǒng)包括一個(gè)文件,其包含對(duì)單元功能的時(shí)序安排的描述圖;一個(gè)服務(wù),能夠根據(jù)輸入和輸出解釋所述描述圖;以及結(jié)構(gòu)組件,由所述服務(wù)控制并且能夠執(zhí)行音頻處理操作。
根據(jù)一個(gè)實(shí)施方式,系統(tǒng)包括在系統(tǒng)啟動(dòng)期間提前啟動(dòng)所述服務(wù)的裝置。該實(shí)施方式提高了音頻系統(tǒng)在啟動(dòng)過(guò)程中的響應(yīng)性。
附圖說(shuō)明
參照附圖,借助于下面給出的僅出于說(shuō)明性目的的本發(fā)明實(shí)施方式的描述,可以更好地理解本發(fā)明,其中:
圖1所示為根據(jù)本發(fā)明的一個(gè)實(shí)施方式的實(shí)現(xiàn)的時(shí)序安排方法的操作系統(tǒng)的結(jié)構(gòu)示意圖;
圖2所示為圖1中示出的軟件框架的結(jié)構(gòu)示意圖;
圖3所示為根據(jù)本發(fā)明的一個(gè)實(shí)施方式的時(shí)序安排方法的示意圖。
具體實(shí)施方式
圖1至圖3所示為用于對(duì)機(jī)動(dòng)車的音頻處理進(jìn)行時(shí)序安排的方法10,所述機(jī)動(dòng)車包括以單元功能32的形式集成到操作系統(tǒng)12中的多個(gè)音頻功能。本發(fā)明可以安裝在所有增強(qiáng)型操作系統(tǒng)上,如linux或android。例如,操作系統(tǒng)12可以在arm(注冊(cè)商標(biāo))或cortex(注冊(cè)商標(biāo))處理器上運(yùn)行。操作系統(tǒng)12包括應(yīng)用級(jí)14,然后是多媒體應(yīng)用子級(jí)15,最后是集成根據(jù)本發(fā)明的音頻處理的音頻處理子級(jí)16。
該音頻處理子級(jí)16包括對(duì)一組結(jié)構(gòu)組件29進(jìn)行集合的框架19。在計(jì)算機(jī)編程中,框架是一套結(jié)構(gòu)軟件組件,該結(jié)構(gòu)軟件組件用于創(chuàng)建全部或部分軟件包(架構(gòu))的基礎(chǔ)和概要。該框架19在圖2中由服務(wù)20(文獻(xiàn)中通常稱為“守護(hù)進(jìn)程”)表示,所述服務(wù)20將控制信號(hào)26發(fā)送到結(jié)構(gòu)組件29。服務(wù)20經(jīng)由控制服務(wù)25由操作系統(tǒng)12控制,并且其行為由描述圖22表示。
結(jié)構(gòu)組件29處理應(yīng)用23的數(shù)據(jù),直到將它們發(fā)送到音頻外圍設(shè)備24以播放這些數(shù)據(jù)。結(jié)構(gòu)組件29包括兩個(gè)輸入/輸出模塊30、35。輸入信號(hào)可以來(lái)自藍(lán)牙外圍設(shè)備、家庭自動(dòng)播放器模塊、多媒體音樂(lè)播放器、麥克風(fēng)、cd播放器或dvd播放器等。輸出信號(hào)可以被發(fā)送到連接藍(lán)牙的外圍設(shè)備、一個(gè)或多個(gè)揚(yáng)聲器、或連接到高分辨率多媒體接口的外圍設(shè)備等。其輸入及其輸出具有幀尺寸和采樣頻率,這些幀尺寸和采樣頻率可能不同。此外,每個(gè)輸入/輸出的采樣頻率由主時(shí)鐘產(chǎn)生,采樣頻率在多個(gè)輸入/輸出之間可能不同?!爸鲿r(shí)鐘”表示低級(jí)硬件時(shí)鐘(或文獻(xiàn)中的硬件)。
結(jié)構(gòu)組件29還包括軟件和/或硬件頻率變換器31。音頻處理操作由車輛內(nèi)部的單元功能32和/或聲音空間化功能33和/或集成高級(jí)音頻效果的功能34來(lái)執(zhí)行。功能32、33通常在音頻處理鏈的高級(jí)階段起作用,而單元功能32在音頻處理鏈的開(kāi)始處就起作用。單元功能32將高度多樣化的處理操作(例如放大器、濾波器、多路復(fù)用器、多路解復(fù)用器、分頻器、均衡器、限幅器等)集合,。因此其功能在結(jié)構(gòu)上是高度異構(gòu)的,因?yàn)橐恍┬枰粋€(gè)輸入信號(hào)并提供一個(gè)輸出信號(hào),而另一些則需要兩個(gè)輸入信號(hào)并提供一個(gè)輸出信號(hào),而其他需要一個(gè)輸入信號(hào)并提供兩個(gè)輸出信號(hào)。此外,其功能使用不同的輸入幀尺寸、輸出幀尺寸和不同的采樣頻率。每個(gè)結(jié)構(gòu)組件29的采樣頻率進(jìn)一步由主時(shí)鐘產(chǎn)生,該采樣頻率在多個(gè)結(jié)構(gòu)組件29之間可能不同。
圖3所示的本發(fā)明的時(shí)序安排方法10,其根據(jù)實(shí)施的結(jié)構(gòu)組件29的特征來(lái)定義描述圖22。時(shí)序安排理論是運(yùn)籌學(xué)的一個(gè)分支,其重點(diǎn)是計(jì)算執(zhí)行任務(wù)的最佳日期。為此,通常需要同時(shí)分配執(zhí)行這些任務(wù)所需的資源。時(shí)序安排問(wèn)題可被認(rèn)為是必須確定計(jì)劃任務(wù)的執(zhí)行的規(guī)劃子問(wèn)題。
時(shí)序安排方法10包括第一步驟,第一步驟包括將單元功能32、同步的主時(shí)鐘集合40至同步域ds。通常存在兩個(gè)或三個(gè)同步域,但是可能根據(jù)安裝的單元功能32而變化。第二步驟包括計(jì)算42最長(zhǎng)處理時(shí)間tm。對(duì)于這一步驟,對(duì)于輸入/輸出是按次序生成的理想情況,模擬30、35的輸入/輸出活動(dòng)。根據(jù)每個(gè)輸入/輸出的采樣頻率和幀尺寸確定輸入/輸出的處理時(shí)間。執(zhí)行輸入/輸出的處理直到達(dá)到最長(zhǎng)處理時(shí)間tm,使得單元功能32返回到其初始狀態(tài)。
隨后的步驟包括根據(jù)最長(zhǎng)處理時(shí)間tm,確定44對(duì)每個(gè)同步域ds的單元功能32的時(shí)序安排of。對(duì)同步域的單元功能的時(shí)序安排是唯一的,并且總是可重現(xiàn)的。其通過(guò)以下元素的共存獲得:在時(shí)間tm中輸入/輸出的次序;賦予每個(gè)單元功能32的相對(duì)優(yōu)先級(jí);單元功能32的輸入數(shù)據(jù)的可用性;以及移除單元功能32的輸出數(shù)據(jù)的設(shè)備。輸入的可用性狀態(tài)和移除輸出數(shù)據(jù)的設(shè)備的狀態(tài)是周期性的,使得所有單元功能具有相同的初始狀態(tài)。這個(gè)周期是時(shí)間tm的倍數(shù)。
接下來(lái)的步驟包括通過(guò)異步采樣頻率轉(zhuǎn)換器(文獻(xiàn)中的asrc)互連46同步域ds。最終步驟包括存儲(chǔ)48對(duì)輸入/輸出的時(shí)序安排of和單元功能32之間的相對(duì)優(yōu)先級(jí),使得時(shí)序安排可以控制服務(wù)20的動(dòng)作。描述圖22優(yōu)選地存儲(chǔ)在可重新配置的文件中。例如,描述圖22可以用可擴(kuò)展標(biāo)記語(yǔ)言(xml)文件進(jìn)行編碼。如果用戶在時(shí)序安排方法10的實(shí)施期間下載未知的新應(yīng)用,或者如果用戶對(duì)機(jī)動(dòng)車的音頻架構(gòu)進(jìn)行結(jié)構(gòu)修改,則描述圖22可能會(huì)被重新定義。
因此,相較于通過(guò)輸入/輸出的出現(xiàn)生成的描述圖,本發(fā)明提供了由該服務(wù)20控制的描述圖22。本發(fā)明有效地減少并控制了延遲,從而提高了系統(tǒng)的響應(yīng)性,并能夠遵守由包括法國(guó)在內(nèi)的某些國(guó)家實(shí)施的響應(yīng)標(biāo)準(zhǔn)。由于圖形的某些部分的優(yōu)先級(jí)高于其他部分,因此這些部分可能受益于最小的延遲。本發(fā)明還減少了音頻系統(tǒng)的開(kāi)發(fā)時(shí)間和安裝時(shí)間。因此,在結(jié)構(gòu)修改和更新方面,車輛的音頻架構(gòu)更為靈活。時(shí)序安排是周期性的(n*tm),一個(gè)周期結(jié)束時(shí),系統(tǒng)返回到與所有輸入/輸出和所有單元功能32的初始狀態(tài)相同的狀態(tài)。因此,通過(guò)確保時(shí)序安排在時(shí)序安排周期中不會(huì)引起阻塞,可以確保不會(huì)發(fā)生阻塞并能獲得實(shí)時(shí)系統(tǒng)。此外,操作系統(tǒng)12可以包括一個(gè)裝置,其用于在操作系統(tǒng)12啟動(dòng)期間提前啟動(dòng)服務(wù)20,從而提高音頻系統(tǒng)的響應(yīng)性。