轉(zhuǎn)碼任務(wù)分配方法及裝置的制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種轉(zhuǎn)碼任務(wù)分配方法及裝置,該方法包括:獲得待分配轉(zhuǎn)碼任務(wù);確定待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量;獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),其中,負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,而占用比為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重;根據(jù)待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),該選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài);將待分配轉(zhuǎn)碼任務(wù)分配至目標(biāo)轉(zhuǎn)碼機(jī),并更新目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。本發(fā)明方法及裝置以簡(jiǎn)單的方式實(shí)現(xiàn)了轉(zhuǎn)碼任務(wù)的有效分配,保證實(shí)時(shí)轉(zhuǎn)碼任務(wù)的時(shí)效性。
【專(zhuān)利說(shuō)明】
轉(zhuǎn)碼任務(wù)分配方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及視頻轉(zhuǎn)碼技術(shù)領(lǐng)域,更具體地,涉及一種轉(zhuǎn)碼任務(wù)分配方法、及能夠?qū)崿F(xiàn)該種轉(zhuǎn)碼任務(wù)分配方法的轉(zhuǎn)碼任務(wù)分配裝置。
【背景技術(shù)】
[0002]視頻網(wǎng)站將豐富的視頻資源轉(zhuǎn)換成適合于網(wǎng)絡(luò)播放的格式,從而,用戶便可以通過(guò)計(jì)算機(jī)終端、移動(dòng)終端或者具有聯(lián)網(wǎng)功能的電視終端訪問(wèn)相應(yīng)的視頻網(wǎng)站觀看各類(lèi)視頻。
[0003]由于不同的視頻資源可能具有不同的視頻格式,為了適配不同網(wǎng)絡(luò)帶寬的場(chǎng)景,需要將視頻以不同清晰度呈現(xiàn)給用戶。因此,視頻網(wǎng)站需要建立轉(zhuǎn)碼任務(wù),通過(guò)其內(nèi)部的轉(zhuǎn)碼系統(tǒng)執(zhí)行相應(yīng)的轉(zhuǎn)碼任務(wù)進(jìn)行視頻轉(zhuǎn)碼處理。
[0004]由于直播系統(tǒng)相對(duì)點(diǎn)播系統(tǒng)對(duì)時(shí)效性要求較高,而且實(shí)時(shí)轉(zhuǎn)碼任務(wù)必須保證以編碼幀率作為其最低的編碼性能指標(biāo),這樣,如果將現(xiàn)有的主要針對(duì)點(diǎn)播系統(tǒng)的轉(zhuǎn)碼任務(wù)分配方案應(yīng)用在直播系統(tǒng)中,會(huì)出現(xiàn)因轉(zhuǎn)碼資源分配不均導(dǎo)致的轉(zhuǎn)碼卡頓和/或轉(zhuǎn)碼機(jī)利用率不足的問(wèn)題,因此,如何通過(guò)簡(jiǎn)單有效的分配方案實(shí)現(xiàn)不同視頻內(nèi)容、不同分辨率、不同幀率、不同碼率的視頻的實(shí)時(shí)轉(zhuǎn)碼,已成為亟待解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例的一個(gè)目的是提供一種轉(zhuǎn)碼分配的新的技術(shù)方案,以提高轉(zhuǎn)碼系統(tǒng)維持較高轉(zhuǎn)碼效率的能力。
[0006]根據(jù)本發(fā)明的第一方面,提供了一種轉(zhuǎn)碼任務(wù)分配方法,其包括:
[0007]獲得待分配轉(zhuǎn)碼任務(wù);
[0008]確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量;
[0009]獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),其中,所述負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,所述占用比為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重;
[0010]根據(jù)所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài);
[0011 ]將所述待分配轉(zhuǎn)碼任務(wù)分配至所述目標(biāo)轉(zhuǎn)碼機(jī),并更新所述目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。
[0012]進(jìn)一步,所述確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量包括:
[0013]根據(jù)所述待分配轉(zhuǎn)碼任務(wù)的分辨率,獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量;
[0014]計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率間的碼率比值,并根據(jù)所述碼率比值計(jì)算得到碼率權(quán)重;
[0015]計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率間的幀率比值,并根據(jù)所述幀率比值計(jì)算得到幀率權(quán)重;
[0016]根據(jù)所述基本數(shù)量、所述待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)、及所述碼率權(quán)重和幀率權(quán)重,計(jì)算得到所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0017]進(jìn)一步,所述獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量進(jìn)一步為:
[0018]通常查找反映各分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元與需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量之間對(duì)應(yīng)關(guān)系的對(duì)照表,確定對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0019]進(jìn)一步,所述根據(jù)所述碼率比值計(jì)算得到碼率權(quán)重具體為:
[0020]所述碼率權(quán)重y與所述碼率比值X之間的關(guān)系為:y = 0.02x2-0.20x+l.17。
[0021]進(jìn)一步,所述根據(jù)所述幀率比值計(jì)算得到幀率權(quán)重具體為:
[0022]計(jì)算所述幀率權(quán)重等于所述幀率比值。
[0023]進(jìn)一步,所述標(biāo)定單元為宏塊。
[0024]進(jìn)一步,所述選擇目標(biāo)轉(zhuǎn)碼機(jī)為:
[0025]以低占用原則選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述低占用原則為將當(dāng)前負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),或者為將增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī)。
[0026]根據(jù)本發(fā)明的第二方面,提供了一種轉(zhuǎn)碼任務(wù)分配裝置,其包括:
[0027]任務(wù)獲得模塊,用于獲得待分配轉(zhuǎn)碼任務(wù);
[0028]資源占用確定模塊,用于確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量;
[0029]負(fù)載狀態(tài)獲取模塊,用于獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),其中,所述負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,所述占用比為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重;
[0030]選擇模塊,用于根據(jù)所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài);
[0031 ]分配模塊,用于將所述待分配轉(zhuǎn)碼任務(wù)分配至所述目標(biāo)轉(zhuǎn)碼機(jī);以及,
[0032]更新模塊,用于更新所述目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。
[0033]進(jìn)一步,所述資源占用確定模塊包括:
[0034]基本數(shù)量獲取單元,用于根據(jù)所述待分配轉(zhuǎn)碼任務(wù)的分辨率,獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量;
[0035]碼率權(quán)重計(jì)算單元,用于計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率間的碼率比值,并根據(jù)所述碼率比值計(jì)算得到碼率權(quán)重;
[0036]幀率權(quán)重計(jì)算單元,用于計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率間的幀率比值,并根據(jù)所述幀率比值計(jì)算得到幀率權(quán)重;以及,
[0037]資源占用確定單元,用于根據(jù)所述基本數(shù)量、所述待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)、及所述碼率權(quán)重和幀率權(quán)重,計(jì)算得到所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0038]進(jìn)一步,所述基本數(shù)量獲取單元用于通常查找反映各分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元與需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量之間對(duì)應(yīng)關(guān)系的對(duì)照表,確定對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0039]進(jìn)一步,所述碼率權(quán)重計(jì)算單元具體用于根據(jù)所述碼率權(quán)重y與所述碼率比值X之間的關(guān)系y = 0.02x2-0.20x+l.17計(jì)算得到碼率權(quán)重。
[0040]進(jìn)一步,所述幀率權(quán)重計(jì)算單元具體用于計(jì)算所述幀率權(quán)重等于所述幀率比值。[0041 ]進(jìn)一步,所述選擇模塊具體用于以低占用原則選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述低占用原則為將當(dāng)前負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),或者為將增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī)。
[0042]根據(jù)本發(fā)明的第三方面,提供了一種轉(zhuǎn)碼任務(wù)分配裝置,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器用于存儲(chǔ)指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行根據(jù)本發(fā)明第一方面所述的方法。
[0043]本發(fā)明的發(fā)明人發(fā)現(xiàn),在現(xiàn)有技術(shù)中,存在因轉(zhuǎn)碼資源分配不均導(dǎo)致的轉(zhuǎn)碼卡頓、轉(zhuǎn)碼機(jī)利用率嚴(yán)重不足的問(wèn)題。而在本發(fā)明實(shí)施例中,通過(guò)統(tǒng)一的計(jì)量標(biāo)準(zhǔn),即標(biāo)準(zhǔn)處理單元,計(jì)量轉(zhuǎn)碼機(jī)的處理能力及轉(zhuǎn)碼任務(wù)需要占用的處理資源,進(jìn)而以簡(jiǎn)單的方式實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)碼任務(wù)的有效分配,提高了轉(zhuǎn)碼實(shí)時(shí)性及各轉(zhuǎn)碼機(jī)的利用率。
[0044]通過(guò)以下參照附圖對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
【附圖說(shuō)明】
[0045]被結(jié)合在說(shuō)明書(shū)中并構(gòu)成說(shuō)明書(shū)的一部分的附圖示出了本發(fā)明的實(shí)施例,并且連同其說(shuō)明一起用于解釋本發(fā)明的原理。
[0046]圖1是根據(jù)本發(fā)明轉(zhuǎn)碼任務(wù)分配方法的一種實(shí)施方式的流程圖;
[0047]圖2是圖1中確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量的一種實(shí)施方式的流程圖;
[0048]圖3是根據(jù)本發(fā)明轉(zhuǎn)碼任務(wù)分配裝置的一種實(shí)施結(jié)構(gòu)的方框原理圖;
[0049]圖4是圖3中資源占用確定模塊的一種實(shí)施結(jié)構(gòu)的方框原理圖;
[0050]圖5是根據(jù)本發(fā)明轉(zhuǎn)碼任務(wù)分配裝置的另一種實(shí)施結(jié)構(gòu)的方框原理圖。
【具體實(shí)施方式】
[0051]現(xiàn)在將參照附圖來(lái)詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說(shuō)明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
[0052]以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說(shuō)明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
[0053]對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說(shuō)明書(shū)的一部分。
[0054]在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。
[0055]應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類(lèi)似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
[0056]本發(fā)明為了解決因轉(zhuǎn)碼資源分配不均導(dǎo)致的轉(zhuǎn)碼卡頓、轉(zhuǎn)碼機(jī)利用率不足等問(wèn)題,提供了一種關(guān)于轉(zhuǎn)碼任務(wù)分配的能夠保證轉(zhuǎn)碼時(shí)效性的新的技術(shù)方案。
[0057]圖1是根據(jù)本發(fā)明的轉(zhuǎn)碼任務(wù)分配方法的一種實(shí)施方式的流程圖。
[0058]根據(jù)圖1所示,本發(fā)明方法包括如下步驟:
[0059]步驟SlOl,獲得待分配轉(zhuǎn)碼任務(wù)。
[0060]由于本發(fā)明方法能夠滿足實(shí)時(shí)轉(zhuǎn)碼的時(shí)效要求,因此,該待分配轉(zhuǎn)碼任務(wù)可以是直播類(lèi)實(shí)時(shí)轉(zhuǎn)碼任務(wù),當(dāng)然也可以是其他類(lèi)型的轉(zhuǎn)碼任務(wù),例如點(diǎn)播類(lèi)轉(zhuǎn)碼任務(wù)。
[0061]步驟S102,確定待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0062]該標(biāo)準(zhǔn)處理單元是本發(fā)明方法中采用的一個(gè)統(tǒng)一的計(jì)量標(biāo)準(zhǔn),在實(shí)際應(yīng)用中,一方面通過(guò)該標(biāo)準(zhǔn)處理單元標(biāo)定每一轉(zhuǎn)碼機(jī)的處理能力,其中,不同轉(zhuǎn)碼機(jī)通常具有不同的處理能力;另一方面通過(guò)該標(biāo)準(zhǔn)處理單元對(duì)各轉(zhuǎn)碼任務(wù)需要占用的處理資源進(jìn)行計(jì)量。這樣,便可以通過(guò)統(tǒng)一的標(biāo)準(zhǔn),簡(jiǎn)單有效地統(tǒng)計(jì)各轉(zhuǎn)碼機(jī)的負(fù)載狀態(tài)。
[0063]該負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,而占用比則為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重,該比重可以是比值,也可以是百分比,例如,一轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)為100萬(wàn)個(gè),該轉(zhuǎn)碼機(jī)正在處理的所有當(dāng)前轉(zhuǎn)碼任務(wù)占用了 30萬(wàn)個(gè)標(biāo)準(zhǔn)處理單元,則該轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)即為 30%。
[0064]該標(biāo)準(zhǔn)處理單元可以通過(guò)轉(zhuǎn)碼特定分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的處理資源進(jìn)行定義,即將轉(zhuǎn)碼特定分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的處理資源標(biāo)定為一個(gè)標(biāo)準(zhǔn)處理單元,該特定分辨率例如但不局限于是1080P,該標(biāo)定單元可以是一個(gè)宏塊,也可以是一幀數(shù)據(jù),在此,由于視頻編碼算法通常以宏塊為單位,通過(guò)逐個(gè)編碼各宏塊形成連續(xù)的視頻碼流,因此,該標(biāo)定單元優(yōu)選設(shè)定為是一個(gè)宏塊。這樣,在該具體實(shí)施例下,每一轉(zhuǎn)碼機(jī)同時(shí)可以轉(zhuǎn)碼的1080P分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的最大宏塊數(shù)量便為對(duì)應(yīng)轉(zhuǎn)碼機(jī)的可用處理資源總和,該最大宏塊數(shù)量可以通過(guò)壓力測(cè)試獲得。在此基礎(chǔ)上,便可以預(yù)先標(biāo)定其他分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量,具體為,根據(jù)相同轉(zhuǎn)碼機(jī)上可同時(shí)轉(zhuǎn)碼的待標(biāo)定分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的最大宏塊數(shù)量與同時(shí)可以轉(zhuǎn)碼的特定分辨率的最大宏塊數(shù)量之間的比值,確定待標(biāo)定分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量,例如一轉(zhuǎn)碼機(jī)具有100萬(wàn)個(gè)標(biāo)準(zhǔn)處理單元,該比值為0.5,則轉(zhuǎn)碼待標(biāo)定分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用2個(gè)標(biāo)準(zhǔn)處理單元,在此,特定分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)與其他分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率和幀率可相同、部分相同或者各不相同。
[0065]步驟S103,獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。
[0066]該當(dāng)前負(fù)載狀態(tài)可以由轉(zhuǎn)碼機(jī)提供,也可以根據(jù)轉(zhuǎn)碼任務(wù)的分配及轉(zhuǎn)碼任務(wù)的完成進(jìn)行記錄及更新。
[0067]為了便于查找各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),可將各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)記錄在鏈表中。
[0068]步驟S104,根據(jù)待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,該選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài)。
[0069]該正常狀態(tài)即為上述占用比未超過(guò)設(shè)定的處理上限,該處理上限例如是85%。
[0070]選擇方式可以是:在滿足要求的前提下,隨機(jī)選擇目標(biāo)轉(zhuǎn)碼機(jī);也可以是在滿足要求的前提下,以低占用原則選擇目標(biāo)轉(zhuǎn)碼機(jī),該低占用原則即為將當(dāng)前負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),或者為將增加待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),以進(jìn)一步提高各轉(zhuǎn)碼機(jī)的利用率;還可以是在滿足要求的前提下,根據(jù)各轉(zhuǎn)碼機(jī)的轉(zhuǎn)碼任務(wù)分配優(yōu)先級(jí)選擇目標(biāo)轉(zhuǎn)碼機(jī),即根據(jù)各轉(zhuǎn)碼機(jī)的處理能力設(shè)置優(yōu)先分配的轉(zhuǎn)碼任務(wù),以實(shí)現(xiàn)轉(zhuǎn)碼機(jī)的合理利用。
[0071 ]步驟S105,將待分配轉(zhuǎn)碼任務(wù)分配至目標(biāo)轉(zhuǎn)碼機(jī)。
[0072]步驟S106,更新目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。
[0073]在此,本領(lǐng)域技術(shù)人員應(yīng)該清楚的是,當(dāng)轉(zhuǎn)碼機(jī)完成一項(xiàng)轉(zhuǎn)碼任務(wù)時(shí),需要根據(jù)處理資源的釋放更新對(duì)應(yīng)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),由于本發(fā)明主要涉及轉(zhuǎn)碼任務(wù)的分配,因此對(duì)于處理資源的釋放更新過(guò)程不再進(jìn)一步贅述。
[0074]由此可見(jiàn),本發(fā)明通過(guò)標(biāo)準(zhǔn)處理單元統(tǒng)一標(biāo)定轉(zhuǎn)碼機(jī)的處理能力及轉(zhuǎn)碼任務(wù)需要占用的處理資源,進(jìn)而以簡(jiǎn)單的方式實(shí)現(xiàn)了轉(zhuǎn)碼任務(wù)的有效分配,保證各轉(zhuǎn)碼機(jī)均能處于正常狀態(tài),避免出現(xiàn)轉(zhuǎn)碼卡頓及轉(zhuǎn)碼機(jī)利用率嚴(yán)重不均的問(wèn)題。
[0075]為了減少標(biāo)定工作量,可設(shè)定一分辨率對(duì)應(yīng)一個(gè)基準(zhǔn)轉(zhuǎn)碼任務(wù),并在操作時(shí)根據(jù)待分配轉(zhuǎn)碼任務(wù)的碼率和幀率相對(duì)相同分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的碼率和幀率的差別,計(jì)算得到待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量,這樣,就只需對(duì)數(shù)量較少的基準(zhǔn)轉(zhuǎn)碼任務(wù)進(jìn)行標(biāo)定,大大較少了數(shù)據(jù)統(tǒng)計(jì)的工作量。
[0076]圖2為基于該種操作方式實(shí)現(xiàn)上述步驟S102的具體流程圖。
[0077]根據(jù)圖2所示,上述確定待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量可進(jìn)一步包括:
[0078]步驟S201,根據(jù)待分配轉(zhuǎn)碼任務(wù)的分辨率,獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量。
[0079]該步驟S201中,可通常查找反映各分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元與需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量之間對(duì)應(yīng)關(guān)系的對(duì)照表,確定對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0080]對(duì)于對(duì)照表中未列出的特殊分辨率,可以通過(guò)插值方式獲得該基本數(shù)量。步驟S202,計(jì)算待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率與基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率間的碼率比值,并根據(jù)碼率比值計(jì)算得到碼率權(quán)重。
[0081]該碼率比值與碼率權(quán)重之間的關(guān)系可以根據(jù)對(duì)相同分辨率、不同碼率下的實(shí)測(cè)數(shù)據(jù)進(jìn)行數(shù)據(jù)擬合獲得,擬合方式可以是線性擬合、多項(xiàng)式擬合、拋物線擬合等。根據(jù)實(shí)測(cè)數(shù)據(jù),采用拋物線擬合具有較多的有效數(shù)據(jù),對(duì)應(yīng)的碼率權(quán)重y與碼率比值X之間的關(guān)系為y =0.02x2-0.20x+1.17o
[0082]步驟S203,計(jì)算待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率與基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率間的幀率比值,并根據(jù)幀率比值計(jì)算得到幀率權(quán)重。
[0083]該碼幀率比值與幀率權(quán)重之間的關(guān)系可以根據(jù)對(duì)不同幀率下的實(shí)測(cè)數(shù)據(jù)進(jìn)行數(shù)據(jù)擬合獲得,擬合方式可以是線性擬合、多項(xiàng)式擬合、拋物線擬合等。根據(jù)實(shí)測(cè)數(shù)據(jù),采用線性擬合具有較多的有效數(shù)據(jù),對(duì)應(yīng)的擬合結(jié)果是幀率權(quán)重等于幀率比值。
[0084]步驟S204,根據(jù)所述基本數(shù)量、待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)、及碼率權(quán)重和幀率權(quán)重,計(jì)算得到待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0085]該根據(jù)待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的數(shù)量可以是:先確定對(duì)應(yīng)分辨率的每幀數(shù)據(jù)具備的標(biāo)定單元的個(gè)數(shù),在標(biāo)定單元為宏塊的情況下,即先確定對(duì)應(yīng)分辨率的每幀數(shù)據(jù)具有的宏塊個(gè)數(shù),再結(jié)合待分配轉(zhuǎn)碼任務(wù)的幀數(shù)即可得到待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)。
[0086]在此基礎(chǔ)上,將基本數(shù)量、包括的標(biāo)定單元的個(gè)數(shù)、碼率權(quán)重和幀率權(quán)重相乘,便可得到待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0087]在標(biāo)定的內(nèi)容為各分辨率下每個(gè)宏塊的基準(zhǔn)轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量時(shí),需要根據(jù)對(duì)應(yīng)分辨率下每幀數(shù)據(jù)包括的宏塊數(shù)量,計(jì)算得到對(duì)應(yīng)分辨率下的基準(zhǔn)轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0088]本發(fā)明還提供了一種轉(zhuǎn)碼任務(wù)分配裝置,圖3為根據(jù)本發(fā)明一方面的該裝置的實(shí)施結(jié)構(gòu)的方框原理圖。
[0089]根據(jù)圖3所示,該裝置300包括任務(wù)獲得模塊301、資源占用確定模塊302、負(fù)載狀態(tài)獲取模塊303、選擇模塊304、分配模塊305和更新模塊306。
[0090]上述任務(wù)獲得模塊301用于獲得待分配轉(zhuǎn)碼任務(wù)。
[0091]上述資源占用確定模塊302用于確定待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0092]上述負(fù)載狀態(tài)獲取模塊303用于獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),其中,所述負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,所述占用比為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重。
[0093]上述選擇模塊304用于根據(jù)待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài)。
[0094]上述分配模塊305用于將待分配轉(zhuǎn)碼任務(wù)分配至所述目標(biāo)轉(zhuǎn)碼機(jī)。
[0095]上述更新模塊306用于更新目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。
[0096]圖4為上述資源占用確定模塊302的一種實(shí)施結(jié)構(gòu)的方框原理圖。
[0097]根據(jù)圖4所示,該資源占用確定模塊302進(jìn)一步包括基本數(shù)量獲取單元401、碼率權(quán)重計(jì)算單元402、幀率權(quán)重計(jì)算單元403和資源占用確定單元404。
[0098]上述基本數(shù)量獲取單元401用于根據(jù)待分配轉(zhuǎn)碼任務(wù)的分辨率,獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量。
[0099]上述碼率權(quán)重計(jì)算單元402用于計(jì)算待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率與基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率間的碼率比值,并根據(jù)碼率比值計(jì)算得到碼率權(quán)重;
[0100]上述幀率權(quán)重計(jì)算單元403用于計(jì)算待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率與基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率間的幀率比值,并根據(jù)幀率比值計(jì)算得到幀率權(quán)重。
[0101]上述資源占用確定單元404用于根據(jù)所述基本數(shù)量、所述待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)、及所述碼率權(quán)重和幀率權(quán)重,計(jì)算得到所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。
[0102]上述資源占用確定單元402可具體用于通常查找反映各分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元與需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量之間對(duì)應(yīng)關(guān)系的對(duì)照表,確定對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量。
[0103]上述選擇模塊304可具體用于以低占用原則選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,低占用原則為將當(dāng)前負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),或者為將增加待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī)。
[0104]圖5為根據(jù)本發(fā)明另一方面的該裝置的實(shí)施結(jié)構(gòu)的方框原理圖。
[0105]根據(jù)圖5所示,該裝置包括存儲(chǔ)器501和處理器502,該存儲(chǔ)器501用于存儲(chǔ)指令,該指令用于控制處理器502進(jìn)行操作以執(zhí)行上述轉(zhuǎn)碼任務(wù)分配方法。
[0106]除此之外,根據(jù)圖5所示,該裝置還可以包括接口裝置503、輸入裝置504、顯示裝置505、通信裝置506等等。盡管在圖5中示出了多個(gè)裝置,但是,本發(fā)明可以僅涉及其中的部分裝置,例如,處理器501和存儲(chǔ)器502等。
[0107]上述通信裝置506例如能夠進(jìn)行有有線或無(wú)線通信。
[0108]上述接口裝置503例如包括USB接口、RS232接口、RS485接口等。
[0109 ]上述輸入裝置504例如可以包括觸摸屏、按鍵等。
[0110]上述顯示裝置505例如是液晶顯示屏、觸摸顯示屏等。
[0111]上述各實(shí)施例主要重點(diǎn)描述與其他實(shí)施例的不同之處,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,上述各實(shí)施例可以根據(jù)需要單獨(dú)使用或者相互結(jié)合使用。
[0112]本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分相互參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,上述各實(shí)施例可以根據(jù)需要單獨(dú)使用或者相互結(jié)合使用。另外,對(duì)于裝置實(shí)施例而言,由于其是與方法實(shí)施例相對(duì)應(yīng),所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的對(duì)應(yīng)部分的說(shuō)明即可。以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,其中作為分離部件說(shuō)明的模塊可以是或者也可以不是物理上分開(kāi)的。
[0113]本發(fā)明可以是裝置、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
[0114]計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一一但不限于一一電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、便攜式壓縮盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能盤(pán)(DVD)、記憶棒、軟盤(pán)、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。
[0115]這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過(guò)網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
[0116]用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫(xiě)的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言一諸如Smalltalk、C++等,以及常規(guī)的過(guò)程式編程語(yǔ)言一諸如“C”語(yǔ)言或類(lèi)似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方面。
[0117]這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
[0118]這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
[0119]也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
[0120]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)公知的是,通過(guò)硬件方式實(shí)現(xiàn)、通過(guò)軟件方式實(shí)現(xiàn)以及通過(guò)軟件和硬件結(jié)合的方式實(shí)現(xiàn)都是等價(jià)的。
[0121]以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。本發(fā)明的范圍由所附權(quán)利要求來(lái)限定。
【主權(quán)項(xiàng)】
1.一種轉(zhuǎn)碼任務(wù)分配方法,其特征在于,包括: 獲得待分配轉(zhuǎn)碼任務(wù); 確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量; 獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),其中,所述負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,所述占用比為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重; 根據(jù)所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài); 將所述待分配轉(zhuǎn)碼任務(wù)分配至所述目標(biāo)轉(zhuǎn)碼機(jī),并更新所述目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀??τ O2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量包括: 根據(jù)所述待分配轉(zhuǎn)碼任務(wù)的分辨率,獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量; 計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率間的碼率比值,并根據(jù)所述碼率比值計(jì)算得到碼率權(quán)重; 計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率間的幀率比值,并根據(jù)所述幀率比值計(jì)算得到幀率權(quán)重; 根據(jù)所述基本數(shù)量、所述待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)、及所述碼率權(quán)重和幀率權(quán)重,計(jì)算得到所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量進(jìn)一步為: 通常查找反映各分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元與需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量之間對(duì)應(yīng)關(guān)系的對(duì)照表,確定對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述幀率比值計(jì)算得到幀率權(quán)重具體為: 計(jì)算所述幀率權(quán)重等于所述幀率比值。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述標(biāo)定單元為宏塊。6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述選擇目標(biāo)轉(zhuǎn)碼機(jī)進(jìn)一步為: 以低占用原則選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述低占用原則為將當(dāng)前負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),或者為將增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī)。7.一種轉(zhuǎn)碼任務(wù)分配裝置,其特征在于,包括: 任務(wù)獲得模塊,用于獲得待分配轉(zhuǎn)碼任務(wù); 資源占用確定模塊,用于確定所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量; 負(fù)載狀態(tài)獲取模塊,用于獲取各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),其中,所述負(fù)載狀態(tài)被設(shè)置為通過(guò)占用比表征,所述占用比為轉(zhuǎn)碼機(jī)處理的轉(zhuǎn)碼任務(wù)所占用的標(biāo)準(zhǔn)處理單元的數(shù)量在對(duì)應(yīng)轉(zhuǎn)碼機(jī)具有的標(biāo)準(zhǔn)處理單元的總數(shù)中的比重; 選擇模塊,用于根據(jù)所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量及各轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài),選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述選擇被設(shè)置為使得目標(biāo)轉(zhuǎn)碼機(jī)增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)仍為正常狀態(tài); 分配模塊,用于將所述待分配轉(zhuǎn)碼任務(wù)分配至所述目標(biāo)轉(zhuǎn)碼機(jī);以及, 更新模塊,用于更新所述目標(biāo)轉(zhuǎn)碼機(jī)的當(dāng)前負(fù)載狀態(tài)。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述資源占用確定模塊包括: 基本數(shù)量獲取單元,用于根據(jù)所述待分配轉(zhuǎn)碼任務(wù)的分辨率,獲得對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量作為基本數(shù)量; 碼率權(quán)重計(jì)算單元,用于計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的碼率間的碼率比值,并根據(jù)所述碼率比值計(jì)算得到碼率權(quán)重; 幀率權(quán)重計(jì)算單元,用于計(jì)算所述待分配轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率與所述基準(zhǔn)轉(zhuǎn)碼任務(wù)對(duì)應(yīng)的幀率間的幀率比值,并根據(jù)所述幀率比值計(jì)算得到幀率權(quán)重;以及, 資源占用確定單元,用于根據(jù)所述基本數(shù)量、所述待分配轉(zhuǎn)碼任務(wù)包括的標(biāo)定單元的個(gè)數(shù)、及所述碼率權(quán)重和幀率權(quán)重,計(jì)算得到所述待分配轉(zhuǎn)碼任務(wù)需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述基本數(shù)量獲取單元用于通常查找反映各分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元與需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量之間對(duì)應(yīng)關(guān)系的對(duì)照表,確定對(duì)應(yīng)分辨率的基準(zhǔn)轉(zhuǎn)碼任務(wù)的標(biāo)定單元需要占用的標(biāo)準(zhǔn)處理單元的數(shù)量。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述幀率權(quán)重計(jì)算單元具體用于計(jì)算所述幀率權(quán)重等于所述幀率比值。11.根據(jù)權(quán)利要求7至10任一項(xiàng)所述裝置,其特征在于,所述選擇模塊具體用于以低占用原則選擇目標(biāo)轉(zhuǎn)碼機(jī),其中,所述低占用原則為將當(dāng)前負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī),或者為將增加所述待分配轉(zhuǎn)碼任務(wù)后的負(fù)載狀態(tài)最低的轉(zhuǎn)碼機(jī)作為目標(biāo)轉(zhuǎn)碼機(jī)。12.一種轉(zhuǎn)碼任務(wù)分配裝置,包括存儲(chǔ)器和處理器,其特征在于,所述存儲(chǔ)器用于存儲(chǔ)指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法。
【文檔編號(hào)】H04N21/2343GK105872595SQ201610201287
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】白茂生, 呂超, 祁海, 魏偉
【申請(qǐng)人】樂(lè)視控股(北京)有限公司, 樂(lè)視云計(jì)算有限公司