專利名稱:面向瘦終端的多視頻流顯示方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種面向瘦終端的視頻流顯示方法,尤其涉及一種面向瘦終端的多視頻流顯示方法與系統(tǒng)。
背景技術(shù):
目前,面向瘦終端的多視頻流顯示技術(shù)一般平均分配瘦終端的中央處理器帶寬。在通常情況下,各視頻流具有相同的處理效果。無法對(duì)較為重要的視頻流進(jìn)行優(yōu)先優(yōu)化處理。目前的多視頻流系統(tǒng),比如一個(gè)顯示屏上顯示9幅或16幅顯示場(chǎng)景,則每幅顯示場(chǎng)景每秒鐘顯示的幀率是相同的,也就是每秒鐘顯示相同個(gè)數(shù)的顯示畫面,每幅顯示場(chǎng)景的畫面清晰度也是一樣的。這樣,如果對(duì)于一些重要顯示場(chǎng)景,希望增加每秒鐘的顯示畫面的個(gè)數(shù),或是提高其清晰度是做不到的。
發(fā)明內(nèi)容
針對(duì)上述現(xiàn)有面向瘦終端的多視頻流顯示方法所存在的問題和不足,本發(fā)明的目的是提供一種可根據(jù)需要對(duì)各視頻流分配不同CPU帶寬的面向瘦終端的多視頻流顯示方法與系統(tǒng)。
本發(fā)明是這樣實(shí)現(xiàn)的一種面向瘦終端的多視頻流顯示方法,包括以下步驟,1)、按需要對(duì)各視頻分配CPU的帶寬;2)、設(shè)置視頻處理進(jìn)程與操作系統(tǒng)內(nèi)核進(jìn)行信息交換的共享內(nèi)存,所述視頻處理進(jìn)程把處理效果的參數(shù)輸入到所述共享內(nèi)存,所述操作系統(tǒng)讀取所述輸入?yún)?shù),與各視頻的理論參數(shù)進(jìn)行比較,計(jì)算其誤差;3)、根據(jù)誤差值進(jìn)行遺傳計(jì)算,進(jìn)化出針對(duì)當(dāng)前視頻輸出具有最佳調(diào)節(jié)效果的染色體,并利用該染色體中的基因組合與參數(shù)誤差及誤差變化率進(jìn)行模糊推理,根據(jù)模糊規(guī)則得到一組模糊量,對(duì)該一組模糊量進(jìn)行去模糊處理,得到精確的PID的控制參數(shù),再結(jié)合參數(shù)誤差進(jìn)行CPU帶寬調(diào)節(jié)量的計(jì)算;4)、操作系統(tǒng)根據(jù)上述CPU帶寬調(diào)節(jié)量重新分配各視頻的CPU帶寬。
進(jìn)一步地,所述遺傳計(jì)算的算法為穩(wěn)態(tài)遺傳算法。
進(jìn)一步地,所述CPU帶寬分配具體為修改操作系統(tǒng)的定時(shí)器,并以時(shí)間片為單位,修改對(duì)各視頻的處理時(shí)間。
進(jìn)一步地,所述CPU帶寬分配具體為,以一路視頻流為基準(zhǔn),以初始比例值對(duì)其他各視頻流進(jìn)行相應(yīng)調(diào)節(jié)。
進(jìn)一步地,所述處理效果參數(shù)具體為幀數(shù)/秒、MPEG-4的解碼通道數(shù)、小波變換的解碼層數(shù)。
一種面向瘦終端的多視頻流顯示系統(tǒng),包括有CPU、內(nèi)存,其特征在于,該系統(tǒng)還包括遺傳生成器、模糊控制器、比例——積分——微分控制器和視頻流輸出參數(shù)誤差過濾器,所述遺傳生成器用于計(jì)算對(duì)當(dāng)前視頻輸出具有最佳調(diào)節(jié)效果的染色體中的基因組合,并將該基因組合輸出至所述模糊控制器;所述模糊控制器用于模糊計(jì)算精確的PID的控制參數(shù),并將PID的控制參數(shù)輸出至所述比例——積分——微分控制器;所述比例——積分——微分控制器用于計(jì)算各視頻的CPU帶寬調(diào)節(jié)量,并將該調(diào)節(jié)量輸出至進(jìn)程調(diào)度器;所述參數(shù)誤差過濾器用于過濾各視頻實(shí)際輸出值和理論輸出值的誤差,并將該誤差傳輸給所述遺傳生成器、模糊控制器和比例——積分——微分控制器;所述遺傳生成器與所述模糊控制器連接,所述模糊控制器與所述比例——積分——微分控制器連接,所述比例——積分——微分控制器與所述進(jìn)程調(diào)度器連接,所述CPU的視頻輸出通過所述視頻流輸出參數(shù)誤差過濾器分別與所述遺傳生成器、模糊控制器、比例——積分——微分控制器連接。
進(jìn)一步地,所述模糊控制器具體包括模糊輸入模塊、模糊推理模塊和去模糊輸出模塊。
由于瘦終端的處理能力有限,所以本發(fā)明根據(jù)各視頻的重要程度,對(duì)其輸出預(yù)先設(shè)定權(quán)重比例,并按該比例分擔(dān)CPU的資源帶寬欠額。比如對(duì)于四路視頻輸出流可以按1∶2∶3∶4的比例分擔(dān)CPU的資源帶寬欠額進(jìn)行輸出。這樣可以使重要的視頻流得到較多的CPU處理資源,得到更好的視頻處理效果,如輸出更多的視頻幀數(shù)/秒、更清晰的圖象等,而改變了通常情況下各視頻流無論重要與否處理效果均相同的情況。
本發(fā)明能根據(jù)任務(wù)對(duì)CPU帶寬的個(gè)性化需求,并同時(shí)考慮開放的分時(shí)系統(tǒng)中CPU占用率的不確定動(dòng)態(tài)變化特性,動(dòng)態(tài)地分配CPU帶寬;并設(shè)置遺傳生成器、模糊控制器和比例——積分——微分控制器對(duì)CPU輸出的視頻流各參數(shù)進(jìn)行監(jiān)控,以校正CPU的處理誤差,使CPU對(duì)各視頻任務(wù)集的處理效果始終處于最佳狀態(tài)。本發(fā)明具有以下優(yōu)點(diǎn)調(diào)度器結(jié)構(gòu)兼容傳統(tǒng)的分時(shí)調(diào)度結(jié)構(gòu);能根據(jù)分時(shí)調(diào)度負(fù)載不確定動(dòng)態(tài)變化,滿足特殊任務(wù)的CPU帶寬分配需求,而動(dòng)態(tài)調(diào)節(jié)CPU帶寬;系統(tǒng)具有良好的靜態(tài)、動(dòng)態(tài)特性,以及較好的魯棒性;所引入的額外調(diào)度計(jì)算費(fèi)用較小。
下面結(jié)合附圖,對(duì)本發(fā)明做出詳細(xì)描述。
圖1為本發(fā)明結(jié)構(gòu)示意圖;圖2為本發(fā)明的eq′dj和Δeq′dj的函數(shù)示意圖;圖3為本發(fā)明的xαd,xβd和xγd隸屬函數(shù)示意圖;圖4為本發(fā)明的兩染色體的雜交過程示意圖;圖5為本發(fā)明的染色體上的基因變異示意圖。
具體實(shí)施例方式
如圖1所示,本發(fā)明包括CPU、內(nèi)存、遺傳生成器、模糊控制器、比例——積分——微分控制器和視頻流輸出參數(shù)誤差過濾器,遺傳生成器與模糊控制器連接,模糊控制器與比例——積分——微分控制器連接,比例——積分——微分控制器與CPU的進(jìn)程調(diào)度器連接,CPU的視頻輸出通過視頻流輸出參數(shù)誤差過濾器分別與遺傳生成器、模糊控制器、比例——積分——微分控制器連接。
本發(fā)明進(jìn)程調(diào)度操作系統(tǒng)的調(diào)度性能取決于比例——積分——微分(PID)控制器的性能,的性能又取決于模糊規(guī)則質(zhì)量的好壞,本發(fā)明使用穩(wěn)態(tài)遺傳算法Genetic Algorithm(GA)來自動(dòng)化的求解一組近似最優(yōu)的模糊控制器的模糊規(guī)則。
本發(fā)明把CPU的工作時(shí)間劃分為一個(gè)又一個(gè)的時(shí)間段,在每個(gè)時(shí)間段,每個(gè)進(jìn)程被分配予一定的時(shí)間片。在每個(gè)時(shí)間段開始的時(shí)候,每個(gè)進(jìn)程的時(shí)間片的多少被首先計(jì)算出來。這個(gè)時(shí)間的數(shù)值就是此時(shí)間段里被賦予此進(jìn)程的最大的CPU工作的時(shí)間。在同一個(gè)時(shí)間段內(nèi),每個(gè)進(jìn)程可以被調(diào)度器調(diào)度多次,每被調(diào)度一次,進(jìn)程獲得一個(gè)時(shí)間片的CPU的工作時(shí)間,并且,其進(jìn)程的時(shí)間片值被減1,直到進(jìn)程的時(shí)間片數(shù)值為0,在此時(shí)間段內(nèi),此進(jìn)程則會(huì)失去被調(diào)度的機(jī)會(huì)。當(dāng)所有可執(zhí)行進(jìn)程的時(shí)間片值都為0時(shí),這個(gè)時(shí)間段也就結(jié)束了。調(diào)度器此時(shí)會(huì)重新計(jì)算所有進(jìn)程的新的時(shí)間片的數(shù)值,一個(gè)新的時(shí)間段也就開始了。本發(fā)明通過對(duì)不同的視頻輸出要求為各視頻分配不同的處理時(shí)間片,以滿足重要視頻的高要求輸出。
在某時(shí)刻j,可運(yùn)行進(jìn)程被劃分為2個(gè)子集QNj與QWj。這里QNj={Pαj| 0 ≤α≤U-1,j≥0},a為進(jìn)程下標(biāo),U為進(jìn)程個(gè)數(shù),它表示按照傳統(tǒng)的分時(shí)任務(wù)調(diào)度的可執(zhí)行進(jìn)程集合。QWj={Pbj| 0≤b≤V-1,j≥0},b為進(jìn)程下標(biāo),v為進(jìn)程個(gè)數(shù),它表示按照PID進(jìn)程調(diào)度操作系統(tǒng)的調(diào)度算法中閉環(huán)調(diào)度的進(jìn)程集合。在PID進(jìn)程調(diào)度操作系統(tǒng)的調(diào)度算法中,把QWj劃分為L(zhǎng)(L是根據(jù)需要的正整數(shù))個(gè)進(jìn)程等級(jí)隊(duì)列QCdj,也就是說,QWj=QC0jUQC1jU...UQCdjU...UQC(L-1)j,0≤d≤L-1,j≥0。這些進(jìn)程等級(jí)隊(duì)列按照不同的服務(wù)與響應(yīng)延時(shí)請(qǐng)求被系統(tǒng)調(diào)度。
為了描述PID進(jìn)程調(diào)度操作系統(tǒng)的調(diào)度算法,本發(fā)明記進(jìn)程Pij的時(shí)間片為tsij。當(dāng)一個(gè)新的時(shí)鐘中斷產(chǎn)生時(shí),或當(dāng)進(jìn)程放棄CPU時(shí),j被增1,也即j=j(luò)+1;在時(shí)刻j,調(diào)度器更新前當(dāng)前進(jìn)程Pcj的時(shí)間片tscj=tsc(j-1)-1;然后,調(diào)度器開始為當(dāng)前時(shí)間片根據(jù)權(quán)重swij選擇一個(gè)當(dāng)前進(jìn)程,事實(shí)上swij是調(diào)度器選擇當(dāng)前進(jìn)程的標(biāo)準(zhǔn),其被定義為, 這里, tqdj是進(jìn)程等級(jí)隊(duì)列d的時(shí)間片;為了計(jì)算tqdj,在閉環(huán)進(jìn)程調(diào)度回路中,本發(fā)明使用了PID控制器。PID控制器是在工業(yè)控制系統(tǒng)中廣泛使用的一種反饋控制器;它是一種超前-滯后控制器的特例; 定義swij的目的是允許在{Pbj|Pbj∈QWj}和{Paj|Paj∈QNj}里的進(jìn)程能以一種均勻的方式得到CPU處理器的處理資源。在運(yùn)行隊(duì)列中擁有最大權(quán)重的進(jìn)程即被選擇為當(dāng)前時(shí)間片的運(yùn)行進(jìn)程。如果多個(gè)進(jìn)程擁有相等的最大權(quán)重,在運(yùn)行隊(duì)列中最靠前的進(jìn)程被選為當(dāng)前進(jìn)程。如果此時(shí)需要發(fā)生進(jìn)程切換,上一個(gè)時(shí)間片的當(dāng)前進(jìn)程被放入運(yùn)行隊(duì)列的尾部。
當(dāng)一個(gè)時(shí)間段開始的時(shí)候,所有進(jìn)程的時(shí)間片按式 重新進(jìn)行計(jì)算。
本發(fā)明在PID進(jìn)程調(diào)度操作系統(tǒng)的調(diào)度算法使用PID控制器主要有2個(gè)原因。首先,系統(tǒng)的輸出不僅僅依靠于當(dāng)前的系統(tǒng)輸入,而且還依靠于當(dāng)前時(shí)間點(diǎn)以前的系統(tǒng)輸入,PID控制器可以有效的處理這種輸入輸出的系統(tǒng)依賴性。其次,PID控制器可以對(duì)一個(gè)大致的系統(tǒng)模型進(jìn)行有效的處理。對(duì)于PID進(jìn)程調(diào)度操作系統(tǒng)所面對(duì)的計(jì)算環(huán)境,這一點(diǎn)是相當(dāng)重要的。系統(tǒng)內(nèi)部和系統(tǒng)外部都面臨著大量的不確定因素,這就使得建立一個(gè)精確的系統(tǒng)模型是相當(dāng)困難的。
為了使用PID控制器對(duì)進(jìn)程調(diào)度構(gòu)成閉環(huán)進(jìn)程調(diào)度,首先必須對(duì)服務(wù)進(jìn)程的調(diào)度誤差進(jìn)行計(jì)算。為了計(jì)算服務(wù)進(jìn)程的調(diào)度誤差,可以對(duì)每個(gè)調(diào)度等級(jí)隊(duì)列中j個(gè)服務(wù)進(jìn)程進(jìn)行響應(yīng)延時(shí)采樣。把這j個(gè)服務(wù)進(jìn)程的響應(yīng)延時(shí)采樣值通過一個(gè)數(shù)字濾波器,得到一個(gè)當(dāng)前情況下,此服務(wù)進(jìn)程隊(duì)列的響應(yīng)延時(shí)值qadj。那么,對(duì)于各服務(wù)進(jìn)程等級(jí)隊(duì)列響應(yīng)延時(shí)的目標(biāo)值Tdj,0≤d<L,按下式計(jì)算各服務(wù)進(jìn)程等級(jí)隊(duì)列的時(shí)間片tqdj=tqd(j-e)+CPd×eqdj+CId×∫g=j-zg=jeqdgdg+CDd×Δeqdje×jiffynew;]]>eqdj=qadj-Tdj;Δeqdj=eqdj-eqd(j-e);這里,CPd、CId與CDd是PID控制器的比例、積分與微分項(xiàng)系數(shù)。它們的數(shù)值由模糊控制器給定。在等式(5)中,z是積分窗口寬度,e是當(dāng)前時(shí)間片計(jì)算與上一次時(shí)間片計(jì)算的時(shí)鐘滴答的次數(shù)。此時(shí),需要按上述fwij計(jì)算式計(jì)算權(quán)重系數(shù)fwij即 在是述PID進(jìn)程調(diào)度的模糊算法中,為了確定PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)CPd、CId與CDd,本使用模糊算法計(jì)算之。
在PID進(jìn)程調(diào)度的模糊算法中,為了確定PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)CPd、CId與CDd,應(yīng)當(dāng)首先清楚任何目標(biāo)或系統(tǒng)的變化都有可能引起它們的變化。為了解決此問題,本發(fā)明使用了一套模糊規(guī)則,使用模糊規(guī)則的好處在于即便是知道輸入與輸出的大致變化,也能夠較好地給出PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)CPd、CId與CDd的數(shù)值。更進(jìn)一步說,使用模糊推理,在同一時(shí)刻,可以考慮多個(gè)模糊規(guī)則。這一點(diǎn)對(duì)于本發(fā)明在高度復(fù)雜與動(dòng)態(tài)的計(jì)算環(huán)境中處理不同的甚至相互矛盾的情況是相當(dāng)重要的。
當(dāng)模糊算法需要決定下一個(gè)時(shí)間片時(shí),模糊控制器需要根據(jù)實(shí)際響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)的誤差及實(shí)際響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)的誤差的變換率,決定PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)CPd、CId與CDd,模糊控制器中模糊規(guī)則的表達(dá)因此需要有2個(gè)輸入變量和3個(gè)輸出變量。
模糊控制器的2個(gè)輸入變量為實(shí)際響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)的相對(duì)誤差及實(shí)際響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)的相對(duì)的誤差變換率;記為eq′dj和Δeq′dj。eq′dj和Δeq′dj是根據(jù)實(shí)際響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)的誤差eqdj及實(shí)際響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)的誤差變換率Δeqdj求得的,其中,eq′dj=eqdjTdj;]]>Δeq′dj=ΔeqdjTdj.]]>對(duì)于eqdj和Δeqdj,上述已給出了其計(jì)算式。
eqdj的范圍[eqdjmin,eqdjmax]取決于進(jìn)程的實(shí)際測(cè)量的響應(yīng)延時(shí)和進(jìn)程的目標(biāo)響應(yīng)延時(shí)之間的偏差范圍。Δeqdj的范圍[Δeqdjmin,Δeqdjmax]取決于當(dāng)前時(shí)間點(diǎn)進(jìn)程的響應(yīng)延時(shí)誤差和上一時(shí)間點(diǎn)進(jìn)程的響應(yīng)延時(shí)誤差之間的偏差范圍。理論上,eqdjmin和Δeqdjmin可以是0,eqdjmax和Δeqdjmax可以是一個(gè)很大的數(shù)值。既然不同的進(jìn)程等級(jí)隊(duì)列有不同的響應(yīng)延時(shí)要求,eqdjmax和Δeqdjmax可能因?yàn)檫M(jìn)程等級(jí)隊(duì)列的不同而不同。為了設(shè)計(jì)一個(gè)各進(jìn)程等級(jí)隊(duì)列通用的模糊進(jìn)程調(diào)度控制器,本發(fā)明按上述算式來計(jì)算eq′dj和Δeq′dj,來取代eqdj和Δeqdj。這里,eq′dj為相對(duì)誤差,Δeq′dj為相對(duì)誤差增量。eq′dj和Δeq′dj的坐標(biāo)軸取值范圍可以是[-∞,+∞]。但是對(duì)于不同的進(jìn)程隊(duì)列,一個(gè)大致的eq′dj和Δeq′dj的值,即可代表一個(gè)大致的控制情況。
模糊控制器的輸出變量是xαd,xβd和xγd。它們是CPd、CId與CDd相應(yīng)倍數(shù)的倒數(shù)。具體有 這里,Bd是針對(duì)每一個(gè)進(jìn)程等級(jí)隊(duì)列的PID控制器的放大倍數(shù)的恒量。使用Bd的目的是使xαd,xβd和xγd標(biāo)準(zhǔn)化到范圍[1,9]。
如圖2所示,eq′dj和Δeq′dj的值的范圍被映射到在eq′dj和Δeq′dj定義域內(nèi)的一套模糊集上。這些模糊集被標(biāo)以以下邏輯量負(fù)大(LN),負(fù)小(SN),正小(SP),與正大(LP)。這些邏輯量的意義由這些模糊集的特定的隸屬函數(shù)決定。這些隸屬函數(shù)由eq′dj和Δeq′dj定義域上的一些梯形函數(shù)定義。這些梯形函數(shù)所定義的隸屬函數(shù)如下圖所示?;谶@些函數(shù),就可以得到不同數(shù)值下eq′dj和Δeq′dj的對(duì)不同模糊集合的不同隸屬度。
如圖所示的模糊集eq′dj和Δeq′dj的隸屬函數(shù),把負(fù)大的核心范圍定義在(-∞,-15%),負(fù)小的核心范圍定義在[-5%,0],正小的核心范圍定義在
正大的核心范圍定義在[15%,+∞]。這些核心之間的范圍就被定義為它們之間的邊界,它們對(duì)邊界的占有具有相同的寬度。
之所以把模糊集eq′dj和Δeq′dj按圖所示的隸屬函數(shù)來定義它們的隸屬度,是因?yàn)樵赑ID進(jìn)程調(diào)度操作系統(tǒng)的進(jìn)程調(diào)度中采取了兩種不同的調(diào)度情況。一種是實(shí)際測(cè)量的響應(yīng)延時(shí)和目標(biāo)響應(yīng)延時(shí)較為接近的情況,它們基本上被負(fù)小SN和正小SP所覆蓋,并且,偏差大約在5%以內(nèi)。另一種情況是實(shí)際測(cè)量的進(jìn)程響應(yīng)延時(shí)和目標(biāo)進(jìn)程響應(yīng)延時(shí)相差較大的情況,它們基本上被負(fù)大LN和正大LP所覆蓋,并且,偏差一般在15%以外。
PID進(jìn)程調(diào)度操作系統(tǒng)的模糊控制器的前件是eq′dj和Δeq′dj,與之相對(duì)應(yīng)的后件是xαd,xβd和xγd,這里,xαd,xβd和xγd是CPd、CId與CDd相應(yīng)倍數(shù)的倒數(shù);CPd、CId與CDd是PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)。對(duì)于PID進(jìn)程調(diào)度操作系統(tǒng)中所使用的PID控制器,xαd,xβd和xγd這3個(gè)系數(shù)所取值的定義域?yàn)閇1,9]。
如圖3所示,模糊集xαd,xβd和xγd的取值為邏輯量小小SS(small small),中小MS(medium small),大小LS(large small),小中SM(small medium),中中MM(mediummedium),大中LM(large medium),小大SL(small large),中大ML(medium large)和大大LL(large large)。由邏輯量標(biāo)識(shí)的各模糊集合xαd,xβd和xγd的隸屬函數(shù)由xαd,xβd和xγd定義域上的一些梯形函數(shù)和三角函數(shù)構(gòu)成。
和eq′dj和Δeq′dj不同,xαd,xβd和xγd在定義域上被劃分為9個(gè)模糊集合,而不是象eq′dj和Δeq′dj那樣被劃分為4個(gè)模糊集合。這樣的話,各xαd,xβd和xγd的模糊集合相對(duì)較小,其優(yōu)點(diǎn)是可以得到比較準(zhǔn)確的PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)。雖然模糊集合的個(gè)數(shù)相對(duì)多了,但是由于采用了遺傳算法來確定最好的模糊規(guī)則(也就是根據(jù)模糊規(guī)則中前件中進(jìn)程響應(yīng)延時(shí)的誤差等級(jí)和響應(yīng)延時(shí)誤差增量的等級(jí)來確定xαd,xβd和xγd的值),因此無需人為的干預(yù)與考慮因?yàn)槟:系膫€(gè)數(shù)相對(duì)多了而帶來的模糊規(guī)則的增多。
如前所述在PID進(jìn)程調(diào)度操作系統(tǒng)中,已經(jīng)假定有L個(gè)進(jìn)程等級(jí)隊(duì)列,并且每個(gè)進(jìn)程等級(jí)隊(duì)列的特征由eq′dj和Δeq′dj來描述。eq′dj和Δeq′dj可以由eq′dj=eqdjTdj]]>和Δeq′dj=ΔeqdjTdj]]>分別定義。既然eq′dj和Δeq′dj可以取4個(gè)不同的模糊值LN、SN、SP和LP,如果想要覆蓋所有的情況的話,則需要總共(4×4)L個(gè)模糊規(guī)則。因?yàn)槊恳粋€(gè)進(jìn)程等級(jí)隊(duì)列需要一組PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)CPd、CId與CDd,因此對(duì)于每個(gè)模糊規(guī)則,需要L套PID控制器的比例項(xiàng)、積分項(xiàng)和微分項(xiàng)的控制系數(shù)CPd、CId與CDd。綜上所述,在PID進(jìn)程調(diào)度操作系統(tǒng)的模糊控制器中,一共需要解出3×L×(4×4)L個(gè)參數(shù)。假定R=4×4,則問題的解可以表述如下ky=1CP01CI01CD0...1CPL-11CIL-11CDL-1]]>=α0β0γ0...αL-1βL-1γL-1]]>=α01β01γ01...α(L-1)1β(L-1)1γ(L-1)1α02β02γ02...α(L-1)2β(L-1)2γ(L-1)2...........................α0RLβ0RLγ0RL...α(L-1)RLβ(L-1)RLγ(L-1)RL]]>再結(jié)合 式,可得出下式
ky=1CP01CI01CD0...1CPL-11CIL-11CDL-1]]>=xα0xβ0xγ0...xα(L-1)xβ(L-1)xγ(L-1)]]>B000...0000B00...00000B0...000...B1...................BL-2...000...BL-100000...0BL-10000...00BL-1]]>=α01β01γ01...α(L-1)1β(L-1)1γ(L-1)1α02β02γ02...α(L-1)2β(L-1)2γ(L-1)2...........................α0RLβ0RLγ0RL...α(L-1)RLβ(L-1)RLγ(L-1)RL]]>=xα01xβ01xγ01...xα(L-1)1xβ(L-1)1xγ(L-1)1xα02xβ02xγ02...xα(L-1)2xβ(L-1)2xγ(L-1)2...........................xα0RLxβ0RLxγ0RL...xα(L-1)RLxβ(L-1)RLxγ(L-1)RL]]>B000...0000B00...00000B0...000...B1...................BL-2...000...BL-100000...0BL-10000...00BL-1]]>這樣,本發(fā)明的模糊規(guī)則的形式表述如下
IF eq′1j=EQ1AND Δeq′1j=EQ2AND eq′2j=EQ3AND Δeq′2j=EQ4AND......AND eq′Lj=EQ2L-1AND Δeq′Lj=EQ2LTHEN xα1u=X1AND xβ1u=X2AND xγ1u=X3AND xα2u=X4AND xβ2u=X5AND xγ2u=X6AND......AND xαLu=X3L-2ANDxβLu=X3L-1ANDxγLu=X3L這里,EQ1,EQ2,EQ3,EQ4......EQ2L-1,EQ2L和X1,X2,X3,X4,X5,X6......X3L-2,X3L-1,X3L是相應(yīng)eq′dj、Δdq′dj、xαd、xβd和xγd定義域中的任一模糊集合。
既然每一條模糊規(guī)則都可以看成是一組模糊輸入與一組模糊輸出隱含的模糊關(guān)系的定義,本發(fā)明用邏輯關(guān)系圖的形式來表述這種模糊關(guān)系。簡(jiǎn)單的模糊關(guān)系如下表所示
表中的任一項(xiàng)均是一組輸入的模糊變量和一組輸出的模糊變量的關(guān)聯(lián),這樣根據(jù)輸入的模糊變量在其定義域上的各種輸入,就可推導(dǎo)出合適的模糊輸出變量xαdu、xβdu和xγdu。
本發(fā)明利用穩(wěn)態(tài)遺傳算法求解PID進(jìn)程調(diào)度操作系統(tǒng)中模糊控制器的模糊規(guī)則。
而在遺傳算法的進(jìn)化過程中,一般典型的遺傳算法會(huì)使用整體覆蓋的技術(shù),用子代替換所有的父代。為了避免父代中較好個(gè)體的丟失,本發(fā)明使用穩(wěn)態(tài)遺傳算法Steady-State GA(SSGA)來求解PID進(jìn)程調(diào)度操作系統(tǒng)中模糊控制器的模糊規(guī)則。在穩(wěn)態(tài)遺傳算法SSGA中,當(dāng)新的個(gè)體產(chǎn)生時(shí),僅用它取替換父代中最不適合的個(gè)體。
如前述所描述的,要確定RL條規(guī)則中的3×L×(4×4)L個(gè)參數(shù),如下矩陣式所示xα01xβ01xγ01...xα(L-1)1xβ(L-1)1xγ(L-1)1xα02xβ02xγ02...xα(L-1)2xβ(L-1)2xγ(L-1)2...........................xα0RLxβ0RLxγ0RL...xα(L-1)RLxβ(L-1)RLxγ(L-1)RL]]>為了使用穩(wěn)態(tài)遺傳算法Steady-State GA(SSGA)來求解PID進(jìn)程調(diào)度操作系統(tǒng)中模糊控制器的模糊規(guī)則,把矩陣式中的各參數(shù)編排成染色體。
由于在一次模糊推理中,不止一個(gè)模糊規(guī)則被觸發(fā),所以這些模糊規(guī)則不能簡(jiǎn)單的孤立的被評(píng)價(jià)。也就是說,不能僅僅在一條染色體中編排一個(gè)模糊控制器的模糊規(guī)則,而是要把整個(gè)模糊規(guī)則集體編入一條染色體。也就是說,根據(jù)上述矩陣,每條染色體中應(yīng)該有3×L×(4×4)L個(gè)基因?;虻木幣虐凑站仃囍袇?shù)從左到右,從上到下的順序?;谝陨峡紤],描述矩陣中的模糊關(guān)系的染色體如下表所示
假定人群中總共有C條染色體,每條染色體的適應(yīng)度為ftq,1≤q≤C。在復(fù)制后代的過程中,設(shè)每條染色體被選中進(jìn)行復(fù)制過程的概率為psq,psq的計(jì)算按照給染色體的適應(yīng)度的數(shù)值,依賭輪盤概率的計(jì)算公式進(jìn)行,如下式psq=ftqΣq=1q=Cftq,1≤q≤C]]>如圖4所示,在雜交過程中,對(duì)于兩條選中的染色體,基因的交換使用均衡雜交的方式。均衡雜交的雜交概率為pc。也就是說在每條染色體上的每個(gè)基因都有機(jī)會(huì)被選擇來與另一條染色體的相對(duì)應(yīng)位置的基因進(jìn)行雜交。每條染色體上的每個(gè)基因被選擇來與另一條染色體的相對(duì)應(yīng)位置的基因進(jìn)行雜交的概率是pc。如圖所示,本發(fā)明給出了一個(gè)染色體上的基因被選擇來與另一條染色體的相對(duì)應(yīng)位置的基因進(jìn)行雜交的例子。圖中,標(biāo)記叉號(hào)“X”的位置即為被選中進(jìn)行雜交的基因位置。
在雜交過程之后,在2個(gè)新產(chǎn)生的染色體中的基因需要按照變異概率pm被進(jìn)行變異處理。變異過程對(duì)這2個(gè)新產(chǎn)生的染色體中的所有基因進(jìn)行處理變異過程掃描這2個(gè)新產(chǎn)生的染色體中的所有基因來決定它們是否被選擇來進(jìn)行變異操作。如果一個(gè)基因位置被選擇來進(jìn)行基因變異操作,一個(gè)在[1,9]間的隨機(jī)值將被產(chǎn)生來取代原來這一染色體此位置上的基因值。如圖5所示,本發(fā)明給出了一個(gè)染色體上的基因被選擇來進(jìn)行基因變異的例子。圖中,標(biāo)記叉號(hào)“X”的位置即為被選中進(jìn)行變異的基因位置。
如前所述,本發(fā)明使用穩(wěn)態(tài)遺傳算法SSGA來求解PID進(jìn)程調(diào)度操作系統(tǒng)中模糊控制器的模糊規(guī)則的最優(yōu)解或準(zhǔn)最優(yōu)解 考慮到系統(tǒng)中有L個(gè)進(jìn)程等級(jí)隊(duì)列,所以,本質(zhì)上此問題是尋找參數(shù)解ky,使得ky是L維問題空間中的最優(yōu)解。但是,不可能使用這L維問題空間的每一個(gè)點(diǎn)來決定某個(gè)解kyq,q≥1的適應(yīng)度ftq,q≥1。所以在整個(gè)問題空間中,選擇S個(gè)隨機(jī)點(diǎn)。通過對(duì)這S個(gè)隨機(jī)點(diǎn)的測(cè)評(píng)給出某個(gè)解ktq,q≥1的適應(yīng)度ftq,q≥1。不過這樣可能會(huì)帶來的結(jié)果是該某個(gè)解kyq,q≥1的適應(yīng)度ftq,q≥1在其真實(shí)值附近的波動(dòng)。根據(jù)實(shí)驗(yàn),某個(gè)解kyq,q≥1的適應(yīng)度ftq,q≥1在其真實(shí)值附近的波動(dòng)將會(huì)影響遺傳算法(GA)的進(jìn)化過程。也就是說,遺傳算法(GA)的進(jìn)化過程中容易過早的到達(dá)局部最優(yōu)點(diǎn)。本發(fā)明把L維問題空間劃分為S個(gè)問題子空間,通過對(duì)該S個(gè)問題子空間上的測(cè)評(píng)給出某個(gè)解kyq,q≥1的適應(yīng)度ftq,q≥1。對(duì)于這樣的一個(gè)子空間h,本發(fā)明首先解出子空間的中心點(diǎn),在子空間的中心點(diǎn)處,給出針對(duì)于這個(gè)子空間h的某個(gè)解kyq,q≥1的適應(yīng)度ftqh,q≥1,1≤h≤S。因此有ftq=Σh=1h=SftqhS,]]>這里,ftqh的值又依賴于ftqhd,ftqhd是進(jìn)程等級(jí)隊(duì)列d在問題子空間h里對(duì)某個(gè)解kyq,q≥1的適應(yīng)度。因此,又有ftqh=Σd=0d=L-1ftqhdL;]]>因?yàn)?,本發(fā)明不能僅僅依靠一個(gè)時(shí)間點(diǎn)j給出的測(cè)評(píng)值來評(píng)價(jià)某個(gè)解kyq,q≥1對(duì)進(jìn)程等級(jí)隊(duì)列d在問題子空間h的適應(yīng)度ftqhd。這是因?yàn)樵撃硞€(gè)解kyq,q≥1在某個(gè)時(shí)間間j給出的系統(tǒng)調(diào)節(jié)可能會(huì)給系統(tǒng)在后續(xù)時(shí)間點(diǎn)帶來不穩(wěn)定的調(diào)節(jié)效果。應(yīng)當(dāng)考慮每一個(gè)時(shí)間點(diǎn)v∈[j,j+Z]。也就是ftqhd=Σv=jv=j+Z-1ftqhdvZ;]]>這里ftqhdv是解kyq,q≥1在子問題空間h對(duì)進(jìn)程等級(jí)隊(duì)列d在時(shí)間點(diǎn)v的適應(yīng)度的值。簡(jiǎn)單地取ftqhdv=|eqqhdv|A,]]>式中A是放大系數(shù)衡量。eqqhdv是染色體q在子空間h里的響應(yīng)延時(shí)誤差eqdj。根據(jù)式ftqh=Σd=0d=L-1ftqhdL,]]>ftqhd=Σv=jv=j+Z-1ftqhdvZ,]]>ftqhdv=|eqqhdv|A]]>可知,ftq=1A×Σh=1h=SΣd=0d=L-1Σv=jv=j+Z-1|eqqhdv|S×L×Z;]]>因?yàn)椋诜€(wěn)態(tài)遺傳算法的求解過程中,按慣例,適應(yīng)度函數(shù)值ftq是時(shí)間的增函數(shù),因此ftq最終按下式計(jì)算ftq=(1A×Σh=1h=SΣd=0d=L-1Σv=jv=j+Z-1|eqqhdv|S×L×Z)-1]]>本發(fā)明根據(jù)誤差值進(jìn)行遺傳計(jì)算,進(jìn)化出針對(duì)當(dāng)前視頻輸出具有最佳調(diào)節(jié)效果的染色體,并利用該染色體中的基因組合與參數(shù)誤差及誤差變化率進(jìn)行模糊推理,根據(jù)模糊規(guī)則得到一組模糊量,對(duì)該一組模糊量進(jìn)行去模糊處理,得到精確的PID的控制參數(shù),再結(jié)合參數(shù)誤差進(jìn)行CPU帶寬調(diào)節(jié)量的計(jì)算;操作系統(tǒng)根據(jù)上述CPU帶寬調(diào)節(jié)量重新分配各視頻的CPU帶寬。本發(fā)明可對(duì)各視頻動(dòng)態(tài)調(diào)整,以保證CPU對(duì)各視頻處理要求的精度。
權(quán)利要求
1.一種面向瘦終端的多視頻流顯示方法,包括以下步驟,1)、按需要對(duì)各視頻分配CPU的帶寬;2)、設(shè)置視頻處理進(jìn)程與操作系統(tǒng)內(nèi)核進(jìn)行信息交換的共享內(nèi)存,所述視頻處理進(jìn)程把處理效果的參數(shù)輸入到所述共享內(nèi)存,所述操作系統(tǒng)讀取所述輸入?yún)?shù),與各視頻的理論參數(shù)進(jìn)行比較,計(jì)算其誤差;3)、根據(jù)誤差值進(jìn)行遺傳計(jì)算,進(jìn)化出針對(duì)當(dāng)前視頻輸出具有最佳調(diào)節(jié)效果的染色體,并利用該染色體中的基因組合與參數(shù)誤差及誤差變化率進(jìn)行模糊推理,根據(jù)模糊規(guī)則得到一組模糊量,對(duì)該一組模糊量進(jìn)行去模糊處理,得到精確的PID的控制參數(shù),再結(jié)合參數(shù)誤差進(jìn)行CPU帶寬調(diào)節(jié)量的計(jì)算;4)、操作系統(tǒng)根據(jù)上述CPU帶寬調(diào)節(jié)量重新分配各視頻的CPU帶寬。
2.如權(quán)利要求1所述的面向瘦終端的多視頻流顯示方法,其特征在于,所述遺傳計(jì)算的算法為穩(wěn)態(tài)遺傳算法。
3.如權(quán)利要求1所述的面向瘦終端的多視頻流顯示方法,其特征在于,所述CPU帶寬分配具體為修改操作系統(tǒng)的定時(shí)器,并以時(shí)間片為單位,修改對(duì)各視頻的處理時(shí)間。
4.如權(quán)利要求1或3所述的面向瘦終端的多視頻流顯示方法,其特征在于,所述CPU帶寬分配具體為,以一路視頻流為基準(zhǔn),以初始比例值對(duì)其他各視頻流進(jìn)行相應(yīng)調(diào)節(jié)。
5.如權(quán)利要求1所述的面向瘦終端的多視頻流顯示方法,其特征在于,所述處理效果參數(shù)具體為幀數(shù)/秒、MPEG-4的解碼通道數(shù)、小波變換的解碼層數(shù)。
6.一種面向瘦終端的多視頻流顯示系統(tǒng),包括有CPU、內(nèi)存,其特征在于,該系統(tǒng)還包括遺傳生成器、模糊控制器、比例——積分——微分控制器和視頻流輸出參數(shù)誤差過濾器,所述遺傳生成器用于計(jì)算對(duì)當(dāng)前視頻輸出具有最佳調(diào)節(jié)效果的染色體中的基因組合,并將該基因組合輸出至所述模糊控制器;所述模糊控制器用于模糊計(jì)算精確的PID的控制參數(shù),并將PID的控制參數(shù)輸出至所述比例——積分——微分控制器;所述比例——積分——微分控制器用于計(jì)算各視頻的CPU帶寬調(diào)節(jié)量,并將該調(diào)節(jié)量輸出至進(jìn)程調(diào)度器;所述參數(shù)誤差過濾器用于過濾各視頻實(shí)際輸出值和理論輸出值的誤差,并將該誤差傳輸給所述遺傳生成器、模糊控制器和比例——積分——微分控制器;所述遺傳生成器與所述模糊控制器連接,所述模糊控制器與所述比例——積分——微分控制器連接,所述比例——積分——微分控制器與所述進(jìn)程調(diào)度器連接,所述CPU的視頻輸出通過所述視頻流輸出參數(shù)誤差過濾器分別與所述遺傳生成器、模糊控制器、比例——積分——微分控制器連接。
7.如權(quán)利要求6所述的面向瘦終端的多視頻流顯示系統(tǒng),其特征在于,所述模糊控制器具體包括模糊輸入模塊、模糊推理模塊和去模糊輸出模塊。
全文摘要
本發(fā)明公開了一種面向瘦終端的多視頻流顯示方法,包括以下步驟,按需要對(duì)各視頻分配CPU的帶寬;設(shè)置視頻處理進(jìn)程與操作系統(tǒng)內(nèi)核進(jìn)行信息交換的共享內(nèi)存,所述視頻處理進(jìn)程把處理效果的參數(shù)輸入到所述共享內(nèi)存,所述操作系統(tǒng)讀取所述輸入?yún)?shù),與各視頻的理論參數(shù)進(jìn)行比較,計(jì)算其誤差;根據(jù)誤差值進(jìn)行遺傳計(jì)算,進(jìn)化出針對(duì)當(dāng)前視頻輸出具有最佳調(diào)節(jié)效果的染色體,并利用該染色體中的基因組合與參數(shù)誤差及誤差變化率進(jìn)行模糊推理,根據(jù)模糊規(guī)則得到一組模糊量,對(duì)該一組模糊量進(jìn)行去模糊處理,得到精確的PID的控制參數(shù),再結(jié)合參數(shù)誤差進(jìn)行CPU帶寬調(diào)節(jié)量的計(jì)算;操作系統(tǒng)根據(jù)上述CPU帶寬調(diào)節(jié)量重新分配各視頻的CPU帶寬。
文檔編號(hào)H04N7/12GK1595976SQ20041000925
公開日2005年3月16日 申請(qǐng)日期2004年6月25日 優(yōu)先權(quán)日2004年6月25日
發(fā)明者童立靖 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所