一種流媒體視頻混合幀率控制的方法和裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種流媒體視頻混合幀率控制的方法及裝置,一路或多路流媒體視頻被分別載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視頻包括視頻幀,所述的方法包括:確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值;分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流媒體視頻進(jìn)行混合;當(dāng)存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒體視頻的權(quán)值之和為第一總權(quán)值;判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖區(qū)進(jìn)行擴(kuò)容;若否,則在所述空緩沖區(qū)中進(jìn)行插幀。本發(fā)明用以在流暢性和實(shí)時(shí)性這兩種需求中找到平衡點(diǎn),并使得用戶體驗(yàn)相比單獨(dú)使用任何一種方法更佳。
【專利說(shuō)明】
一種流媒體視頻混合幀率控制的方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及視頻處理技術(shù)領(lǐng)域,特別是涉及一種流媒體視頻混合幀率控制方法和 一種流媒體視頻混合幀率控制裝置。
【背景技術(shù)】
[0002] 隨著媒體市場(chǎng)與網(wǎng)絡(luò)服務(wù)越來(lái)越緊密的融合,流媒體傳播和使用日益廣泛,其中, 在視頻會(huì)議系統(tǒng)的MCU(Multipoint Control Unit,多點(diǎn)控制單元),以及安防監(jiān)控系統(tǒng)的 分割器等系統(tǒng)中,流媒體視頻混合技術(shù)開(kāi)始替代原有的模擬視頻混合器被大量應(yīng)用。
[0003] 以視頻會(huì)議系統(tǒng)的MCU為例,在Μ⑶中的視頻混合器(video mixer)獲取若干終端 的流媒體視頻混合到同一個(gè)視頻中,并以固定的幀率將該混合視頻輸出進(jìn)行后續(xù)的編碼、 傳輸?shù)裙ぷ?,?shí)際中通過(guò)解碼、混合、編碼的二次壓縮模式節(jié)約了帶寬和終端性能。以前在 安防監(jiān)控系統(tǒng)中的分割器主要作用于模擬信號(hào)的處理,而隨著安防監(jiān)控系統(tǒng)的網(wǎng)絡(luò)化,其 處理模式也與視頻會(huì)議系統(tǒng)一樣,將流媒體視頻進(jìn)行二次壓縮模式。
[0004] 在視頻會(huì)議系統(tǒng)及安防監(jiān)控系統(tǒng)中基于網(wǎng)絡(luò)數(shù)據(jù)源的視頻混合器又稱之為流媒 體視頻混合器。在流媒體視頻混合器中,由于網(wǎng)絡(luò)抖動(dòng)、幀率不對(duì)稱(各個(gè)輸入的流媒體視 頻與混合輸出視頻的幀率不一致)等原因,流媒體視頻混合器必須采取幀率控制措施,使得 混合器輸出穩(wěn)定的幀率的混合視頻用于后續(xù)的編碼。
[0005] 幀率控制方法主要有兩種,一種方法是面向流暢性優(yōu)先的,該方法通過(guò)設(shè)定一個(gè) 較大的緩沖區(qū)來(lái)保證視頻的流暢性,但是會(huì)導(dǎo)致較大的延遲。另一種方法是面向?qū)崟r(shí)性最 優(yōu),該方法是盡可能減小緩沖區(qū),提高了實(shí)時(shí)性,但是會(huì)導(dǎo)致視頻的流暢性較差。
[0006] 在流媒體視頻混合器中,流暢性和實(shí)時(shí)性是相互制約和相互矛盾的,因此,目前需 要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是:提出一種流媒體視頻混合幀率控制機(jī) 制,在流暢性和實(shí)時(shí)性這兩種需求中找到平衡點(diǎn),并使得用戶體驗(yàn)相比單獨(dú)使用任何一種 方法更佳。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題是提供一種流媒體視頻混合幀率控制方法,用 以在流暢性和實(shí)時(shí)性這兩種需求中找到平衡點(diǎn),并使得用戶體驗(yàn)相比單獨(dú)使用任何一種方 法更佳。
[0008] 相應(yīng)的,本發(fā)明實(shí)施例還提供了一種流媒體視頻混合幀率控制裝置,用以保證上 述方法的實(shí)現(xiàn)及應(yīng)用。
[0009] 為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種流媒體視頻混合幀率控制的方法,一路或 多路流媒體視頻被分別載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視頻包括視頻幀,所 述的方法包括:
[0010] 確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值;
[0011] 分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流媒體視頻進(jìn)行混 合;
[0012] 當(dāng)存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒體視頻的權(quán)值之 和為第一總權(quán)值;
[0013] 判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則針對(duì)所述存儲(chǔ)有流媒體視頻的 緩沖區(qū)進(jìn)行擴(kuò)容;若否,則在所述空緩沖區(qū)中進(jìn)行插幀。
[0014] 優(yōu)選地,所述確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值的步驟包括:
[0015] 讀取預(yù)置配置文件中的布局參數(shù);所述布局參數(shù)包括所述一路或多路流媒體視頻 的像素在預(yù)置的總像素中所占的比值;
[0016] 將所述比值分別作為所述一路或多路流媒體視頻的權(quán)值。
[0017] 優(yōu)選地,所述確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值的步驟包括:
[0018] 接收額外參數(shù);所述額外參數(shù)中包括所述一路或多路流媒體視頻新的權(quán)值;
[0019] 將所述新的權(quán)值作為所述一路或多路流媒體視頻的權(quán)值。
[0020] 優(yōu)選地,在所述確定一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值的步驟之后,還包括:
[0021 ]計(jì)算所述一路或多路流媒體視頻的權(quán)值之和獲得第二總權(quán)值;
[0022] 判斷所述第二總權(quán)值是否不等于預(yù)設(shè)數(shù)值;
[0023] 若是,則計(jì)算所述一路或多路流媒體視頻的權(quán)值,與預(yù)設(shè)數(shù)值和第二總權(quán)值的比 值之積,作為所述一路或多路流媒體視頻的權(quán)值。
[0024] 優(yōu)選地,所述在空緩沖區(qū)中進(jìn)行插幀的步驟包括:
[0025] 復(fù)制所述空緩沖區(qū)所對(duì)應(yīng)的流媒體視頻前一進(jìn)行混合的視頻幀;
[0026] 將所述視頻幀插入所述空緩沖區(qū)中。
[0027] 優(yōu)選地,所述K為0.7。
[0028] 本發(fā)明實(shí)施例還公開(kāi)了一種流媒體視頻混合幀率控制的裝置,一路或多路流媒體 視頻被分別載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視頻包括視頻幀,所述的裝置包 括:
[0029] 確定模塊,用于確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值;
[0030] 混合模塊,用于分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流 媒體視頻進(jìn)行混合;
[0031] 統(tǒng)計(jì)模塊,用于在存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒 體視頻的權(quán)值之和為第一總權(quán)值;
[0032] 判斷模塊,用于判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則調(diào)用擴(kuò)容模塊, 若否,則調(diào)用插幀模塊;
[0033]擴(kuò)容模塊,用于針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖區(qū)進(jìn)行擴(kuò)容;
[0034]插幀模塊,用于在所述空緩沖區(qū)中進(jìn)行插幀。
[0035]優(yōu)選地,所述確定模塊包括:
[0036] 讀取子模塊,用于讀取預(yù)置配置文件中的布局參數(shù);所述布局參數(shù)包括所述一路 或多路流媒體視頻的像素在預(yù)置的總像素中所占的比值;
[0037] 第一調(diào)整子模塊,用于將所述比值分別作為所述一路或多路流媒體視頻的權(quán)值。 [0038]優(yōu)選地,所述確定模塊包括:
[0039]接收子模塊,用于接收額外參數(shù);所述額外參數(shù)中包括所述一路或多路流媒體視 頻新的權(quán)值;
[0040]第二調(diào)整子模塊,用于將所述新的權(quán)值作為所述一路或多路流媒體視頻的權(quán)值。 [0041 ] 優(yōu)選地,所述裝置還包括:
[0042]計(jì)算模塊,用于計(jì)算所述一路或多路流媒體視頻的權(quán)值之和獲得第二總權(quán)值; [0043]判斷模塊,用于判斷所述第二總權(quán)值是否不等于預(yù)設(shè)數(shù)值;若是,則調(diào)用第三調(diào)整 豐旲塊;
[0044] 第三調(diào)整模塊,用于計(jì)算所述一路或多路流媒體視頻的權(quán)值,與預(yù)設(shè)數(shù)值和第二 總權(quán)值的比值之積,作為所述一路或多路流媒體視頻的權(quán)值。
[0045] 與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0046] 在本發(fā)明實(shí)施例中,根據(jù)視頻內(nèi)容、布局參數(shù)、用戶需求等條件計(jì)算權(quán)值,當(dāng)網(wǎng)絡(luò) 抖動(dòng)導(dǎo)致緩沖區(qū)為空時(shí),將對(duì)權(quán)值的計(jì)算結(jié)果作為跳幀或增大緩沖的依據(jù),由此來(lái)動(dòng)態(tài)控 制緩沖區(qū)大小,這種自適應(yīng)的過(guò)程將使得緩沖區(qū)最終被設(shè)定為一個(gè)合理的大小。由于不需 要保證全部視頻的流暢,因此可以在所需緩沖區(qū)較少,延遲時(shí)間較短的情形下保證了視頻 的流暢性及實(shí)時(shí)性,提高用戶體驗(yàn)效果。
【附圖說(shuō)明】
[0047] 圖1是一種流媒體視頻混合器的基本工作流程;
[0048] 圖2是一種視頻混合布局a的不意圖;
[0049]圖3是一種視頻混合布局b的不意圖;
[0050]圖4是本發(fā)明的一種流媒體視頻混合幀率控制方法實(shí)施例1的步驟流程圖;
[0051 ]圖5是本發(fā)明的一種流媒體視頻混合幀率控制方法實(shí)施例2的步驟流程圖;
[0052]圖6是一種視頻混合布局c的不意圖;
[0053]圖7是本發(fā)明的一種排隊(duì)論模型的示意圖;
[0054] 圖8是本發(fā)明的一種緩存區(qū)與滿足對(duì)應(yīng)的幀率控制方法需求概率的示意圖;
[0055] 圖9是本發(fā)明的一種緩存區(qū)與滿足對(duì)應(yīng)的幀率控制方法需求概率的總示意圖。
[0056] 圖10是本發(fā)明的一種流媒體視頻混合幀率控制裝置實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0057] 為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0058]以視頻會(huì)議系統(tǒng)的MCU為例,參照?qǐng)D1所示的一種流媒體視頻混合器的基本工作流 程,具體流程如下所示:
[0059] 在視頻會(huì)議系統(tǒng)中,各終端的流媒體視頻從不同的網(wǎng)絡(luò)鏈路到達(dá)多點(diǎn)控制單元 Μ⑶,經(jīng)過(guò)緩沖區(qū),在幀率控制(Frame rate control)作用下,流媒體視頻按照一定的時(shí)間 間隔采用解碼器分別進(jìn)行解碼,將解碼后的圖像刷入流媒體視頻混合器進(jìn)行視頻混合生成 新的圖像,再經(jīng)過(guò)編碼、封裝組成新的視頻流,分發(fā)給各個(gè)終端。
[0060] 在具體實(shí)現(xiàn)中,當(dāng)流媒體視頻混合器的輸入幀率與輸出幀率不相等,或者由于網(wǎng) 絡(luò)中存在的噪聲或交換設(shè)備性能問(wèn)題導(dǎo)致的網(wǎng)絡(luò)抖動(dòng)而導(dǎo)致輸入到達(dá)不穩(wěn)定的時(shí)候,需要 采取幀率控制。例如,當(dāng)輸入幀率為20 (幀/秒),輸出幀率為30 (幀/秒)時(shí),理論上,需要每隔 2幀就插入(復(fù)制)1幀數(shù)據(jù)進(jìn)行混合,但是考慮到網(wǎng)絡(luò)抖動(dòng)導(dǎo)致的流媒體視頻到達(dá)不穩(wěn)定, 則可能會(huì)根據(jù)緩沖區(qū)內(nèi)的流媒體視頻的情況隨機(jī)進(jìn)行插幀,甚至有可能會(huì)因?yàn)檫^(guò)大的網(wǎng)絡(luò) 抖動(dòng)導(dǎo)致流媒體視頻到達(dá)嚴(yán)重遲緩而采取跳幀(丟棄)操作,來(lái)保證各路流媒體視頻的同 步。
[0061] 若采用流暢性最優(yōu)的幀率控制方法,則要求網(wǎng)絡(luò)抖動(dòng)時(shí),盡可能不跳過(guò)任何幀,以 保障視頻的流暢性,因此該方法需要較大的緩沖區(qū),導(dǎo)致延遲較長(zhǎng)。若采用實(shí)時(shí)性最優(yōu)的幀 率控制方法,則要求盡可能減小緩沖區(qū),提高實(shí)時(shí)性,由于較小的緩沖區(qū)無(wú)法應(yīng)對(duì)網(wǎng)絡(luò)抖動(dòng) 帶來(lái)的干擾,因此該方法會(huì)導(dǎo)致大量跳幀,使得視頻流暢性不佳。
[0062] 在通常采用的幀率控制方法中,各路流媒體視頻被平等對(duì)待,系統(tǒng)需要保證所有 視頻的流暢性,導(dǎo)致系統(tǒng)需要一個(gè)比處理單一視頻大很多的緩沖區(qū)。相反,若設(shè)定一個(gè)較小 的緩沖區(qū),由于平等對(duì)待的原因,各路流媒體視頻由于網(wǎng)絡(luò)抖動(dòng)導(dǎo)致的插幀或丟幀的機(jī)會(huì) 也是相同的。
[0063] 在流媒體視頻混合器在進(jìn)行視頻混合的時(shí)候,會(huì)將流媒體視頻縮放、裁剪,并按照 一定的布局進(jìn)行排列,在具體實(shí)現(xiàn)中,最終輸出的視頻中一定會(huì)存在一個(gè)用戶最關(guān)注的視 頻區(qū)域,也就是流媒體混合器的某一路輸入視頻是用戶最關(guān)注的。參照?qǐng)D2所示的一種視頻 混合布局a的不意圖及圖3所不的一種視頻混合布局b的不意圖,在圖2及圖3這兩個(gè)視頻混 合布局示意圖中,標(biāo)號(hào)為1的視頻是用戶最關(guān)注的內(nèi)容,其余的234則次之。如果只需要優(yōu)先 保證標(biāo)號(hào)1這一路視頻的流暢性和實(shí)時(shí)性,系統(tǒng)則可以在保證用戶體驗(yàn)的情況下,盡可能的 減小延遲并保障流暢性。
[0064]正是本專利發(fā)明人基于上述情況,創(chuàng)造性地提出本發(fā)明實(shí)施例的核心構(gòu)思之一在 于,提出的關(guān)注內(nèi)容優(yōu)先的幀率控制機(jī)制,對(duì)各路流媒體視頻進(jìn)行加權(quán),并由權(quán)值之和作為 跳幀或增大緩沖的依據(jù),由此來(lái)動(dòng)態(tài)控制緩沖區(qū)大小,這種自適應(yīng)的過(guò)程將使得緩沖區(qū)最 終被設(shè)定為一個(gè)合理的大小。相比"流暢性最優(yōu)",由于并不要求保證全部視頻流暢,因此需 要的緩沖區(qū)更小。相比"實(shí)時(shí)性最優(yōu)",保證了主體的流暢性。達(dá)到了最佳用戶體驗(yàn)的目標(biāo), 在實(shí)時(shí)性和流暢性之間找到了最優(yōu)的平衡點(diǎn)。
[0065] 參照?qǐng)D4,示出了本發(fā)明的一種流媒體視頻混合幀率控制的方法實(shí)施例1的步驟流 程圖,一路或多路流媒體視頻可以被分別載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視 頻可以包括視頻幀,所述的方法具體可以包括如下步驟:
[0066] 步驟101,確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值;
[0067] 在具體實(shí)現(xiàn)中,流媒體視頻通過(guò)RTSP(real time streaming protocol,實(shí)時(shí)流傳 輸協(xié)議)等協(xié)議接入系統(tǒng),經(jīng)過(guò)解封裝后得到壓縮視頻數(shù)據(jù)。其中,所述壓縮視頻數(shù)據(jù)的格 式可以為 11264、11263、麗1¥、11^)682、¥口8、」口68等等。
[0068] 在流媒體視頻混合器進(jìn)行視頻混合的時(shí)候,將視頻縮放、裁剪并按照一定的布局 進(jìn)行排列,而最終輸出的視頻中會(huì)存在一個(gè)用戶最關(guān)注的視頻區(qū)域,也就是混合器的某一 路輸入視頻是用戶最關(guān)注的。為了保證用戶體驗(yàn)效果,故對(duì)各路流媒體視頻可以根據(jù)用戶 關(guān)注程度設(shè)置不同的權(quán)值。
[0069] 步驟102,分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流媒體視 頻進(jìn)行混合;
[0070] 在具體實(shí)現(xiàn)中,流媒體混合器從緩沖區(qū)以幀為單位獲取各路流媒體視頻,按照指 定的布局進(jìn)行縮放、排列,混合成視頻數(shù)據(jù)。其中,混合成的視頻數(shù)據(jù)可以是YUV(Luma and Chroma,一種顏色編碼方法)數(shù)據(jù)。目前主要的視頻都是基于YUV,YUV還可以細(xì)分為1420、 YUY2、NV12等多種格式。當(dāng)然,混合視頻還可以是基于RGB或RGBA等其他格式的數(shù)據(jù)。
[0071] 需要說(shuō)明的是,當(dāng)接收用戶或其他設(shè)備(例如智能跟蹤系統(tǒng))的指令,做出布局切 換時(shí),需要通知流媒體視頻混合器改變縮放、排列方式時(shí),以及重新計(jì)算權(quán)值,即需要重新 執(zhí)行步驟101。
[0072] 步驟103,當(dāng)存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒體視頻 的權(quán)值之和為第一總權(quán)值;
[0073] 在實(shí)際應(yīng)用中,當(dāng)由于網(wǎng)絡(luò)抖動(dòng)等因素導(dǎo)致緩沖區(qū)為空時(shí),即流媒體視頻混合器 當(dāng)前無(wú)法獲取某一路或某些路流媒體視頻時(shí),此時(shí)啟動(dòng)策略控制,結(jié)合各路流媒體視頻的 權(quán)值,經(jīng)過(guò)計(jì)算獲得計(jì)算結(jié)果,并采用計(jì)算結(jié)果決定流媒體視頻混合器的處理方式,比如是 否調(diào)整緩沖區(qū)的大小。
[0074] 步驟104,判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則執(zhí)行步驟105,若否,則 執(zhí)行步驟106;
[0075] 步驟105,針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖區(qū)進(jìn)行擴(kuò)容;
[0076] 步驟106,在所述空緩沖區(qū)中進(jìn)行插幀。
[0077] 在本發(fā)明實(shí)施例中,如果存在空緩沖區(qū),則統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所 有流媒體視頻的權(quán)值之和計(jì)算總權(quán)值,并判斷所述總權(quán)值是否小于預(yù)置閾值。其中,若小于 預(yù)置閾值,則說(shuō)明當(dāng)前視頻的流暢性不滿足預(yù)期值,應(yīng)當(dāng)增大存儲(chǔ)有流媒體視頻的緩沖區(qū); 若大于預(yù)置閾值,則說(shuō)明當(dāng)前視頻的流暢性滿足預(yù)期值,為了保證流媒體視頻混合器工作 的時(shí)候每一路的流媒體視頻都至少有一幀數(shù)據(jù),因此在空緩沖區(qū)中進(jìn)行插幀操作。
[0078] 為了使本來(lái)技術(shù)人員進(jìn)一步了解本發(fā)明實(shí)施例,以下采用具體的示例進(jìn)行說(shuō)明。 具體而言,在本發(fā)明具體應(yīng)用的一種優(yōu)選示例中,基于關(guān)注內(nèi)容優(yōu)先的幀率方法可以包括 如下模塊:
[0079] 輸入源管理模塊:負(fù)責(zé)通過(guò)各種實(shí)時(shí)流媒體協(xié)議連接輸入源,獲取流媒體視頻數(shù) 據(jù)后進(jìn)行解碼。
[0080] 緩沖區(qū)模塊:用于緩沖解碼后的流媒體視頻的圖像。
[0081 ]幀率控制模塊:控制混合過(guò)程中的幀率。
[0082] 權(quán)值計(jì)算模塊:按照預(yù)設(shè)規(guī)則設(shè)定各路流媒體視頻的權(quán)值。
[0083] 策略控制模塊:對(duì)網(wǎng)絡(luò)抖動(dòng)等情況進(jìn)行判定,決定流媒體混合器對(duì)各路流媒體視 頻的處理方式。
[0084] 混合器模塊:將多路解碼后的流媒體視頻的圖像按照一定布局混合成一個(gè)圖像。
[0085] 導(dǎo)播模塊:接收用戶或其他設(shè)備產(chǎn)生的切換指令,控制流媒體視頻混合器改變布 局。
[0086] 編碼模塊:將流媒體視頻混合器輸出的視頻編碼壓縮。
[0087] 直播錄制模塊:將壓縮的視頻直播出去或錄制到硬盤(pán)。
[0088]需要說(shuō)明的是,由于完全可以不直播、錄制,故也是可以僅僅通過(guò)顯示設(shè)備進(jìn)行顯 示,其中僅用于顯示的這種應(yīng)用叫做畫(huà)面分割器。緩沖區(qū)可以設(shè)置在解碼前,也可以設(shè)置在 解碼后。
[0089] 參照?qǐng)D5,示出了本發(fā)明的一種流媒體視頻混合幀率控制的方法實(shí)施例2的步驟流 程圖,一路或多路流媒體視頻可以被分別載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視 頻可以包括視頻幀,所述的方法具體可以包括如下步驟:
[0090] 步驟201,讀取預(yù)置配置文件中的布局參數(shù);所述布局參數(shù)包括所述一路或多路流 媒體視頻的像素在預(yù)置的總像素中所占的比值;
[0091] 在具體實(shí)現(xiàn)中,布局參數(shù)可以預(yù)先存儲(chǔ)于流媒體視頻混合器的配置文件中。當(dāng)載 入配置文件時(shí),按照布局參數(shù)進(jìn)行縮放、排列,混合成視頻數(shù)據(jù)。
[0092] 步驟202,將所述比值分別作為所述一路或多路流媒體視頻的權(quán)值;
[0093] 在本發(fā)明實(shí)施例中,各路流媒體視頻的權(quán)值可以是按照各路視頻所占像素的比 例。例如流媒體視頻混合器在本次處理N路流媒體視頻的混合任務(wù),混合后輸出的總的像素 為S (分辨率長(zhǎng)*分辨率高),若某一路流媒體視頻在布局中所占像素為Sn,則該流媒體視頻 在幀率控制時(shí)的權(quán)值C n= Sn/S。
[0094] 以圖1的視頻混合布局為例,假設(shè)輸入源的像素均為1280*720,可以設(shè)定流媒體視 頻混合器輸出分辨率為1706*720。其中視頻1無(wú)需縮放,其占用像素為1280*720,視頻2、3、4 縮放為426*240,此時(shí)視頻1、2、3、4的權(quán)值分別為0.75、0.083、0.083、0.083。
[0095] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述權(quán)值還可以通過(guò)如下方式獲得:
[0096] 步驟S11,接收額外參數(shù);所述額外參數(shù)中包括所述一路或多路流媒體視頻新的權(quán) 值;
[0097]步驟S12,將所述新的權(quán)值作為所述一路或多路流媒體視頻的權(quán)值。
[0098] 在實(shí)際應(yīng)用中,比如在一些特定情況下用戶可能希望手動(dòng)指定權(quán)值,例如在圖1的 視頻混合布局中,視頻1、2、3所占像素相等,但是用戶更多關(guān)注視頻1,為了便于用戶配置, 只需要用戶設(shè)定視頻1為"主畫(huà)面",為視頻1設(shè)定一個(gè)較高的權(quán)值(例如0.6),余下的權(quán)值再 按照像素比例分配即可。
[0099] 需要說(shuō)明的是,根據(jù)視頻內(nèi)容、布局參數(shù)、用戶需求等條件進(jìn)行權(quán)值計(jì)算,或者根 據(jù)以上某些條件的綜合情況進(jìn)行計(jì)算,取得權(quán)值。比如在具體實(shí)現(xiàn)中還可以根據(jù)視頻內(nèi)的 動(dòng)態(tài)程度計(jì)算(視頻內(nèi)容動(dòng)態(tài)高的賦予較高權(quán)值),或者根據(jù)視頻在布局中所處位置計(jì)算 (不同的位置賦予不同的權(quán)值),本發(fā)明實(shí)施例對(duì)此不作限制。
[0100] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述的方法還可以包括:
[0101 ]計(jì)算所述一路或多路流媒體視頻的權(quán)值之和獲得第二總權(quán)值;
[0102] 步驟S21,判斷所述第二總權(quán)值是否不等于預(yù)設(shè)數(shù)值;若是,則執(zhí)行步驟S22;
[0103] 步驟S22,計(jì)算所述一路或多路流媒體視頻的權(quán)值,與預(yù)設(shè)數(shù)值和第二總權(quán)值的比 值之積,作為所述一路或多路流媒體視頻的權(quán)值。
[0104] 在本發(fā)明實(shí)施例中,各路流媒體視頻的權(quán)值經(jīng)過(guò)一次分配之后,還需要進(jìn)行校驗(yàn)。
[0105] 具體而言,權(quán)值的校驗(yàn)過(guò)程可以是判定權(quán)值之和是否等于預(yù)設(shè)數(shù)值,若否則需要 進(jìn)行權(quán)值的調(diào)整,使得最終使權(quán)值之和等于預(yù)設(shè)數(shù)值,必要時(shí)還需要進(jìn)行等比例縮放。
[0106] 校驗(yàn)過(guò)程的偽代碼如下所示:
[0107]
[0108] 上述偽代碼的具體過(guò)程為:
[0109] 1、計(jì)算各路流媒體視頻的權(quán)值之和sum,并設(shè)置預(yù)設(shè)數(shù)值m= 1。
[0110]需要說(shuō)明的是,預(yù)設(shè)數(shù)值可以是任意合理值。比如,對(duì)于圖2的視頻混合布局,其輸 出的圖像中被各路流媒體視頻全部分配完畢,則可以設(shè)置預(yù)設(shè)數(shù)值m=l,而對(duì)于圖3的視頻 混合布局,其輸出的圖像中視頻1及視頻2重疊,則可以設(shè)置預(yù)設(shè)數(shù)值m為大于1的數(shù)值,故在 本發(fā)明實(shí)施例中對(duì)此不作限制。
[0111] 2、判斷各路流媒體視頻在布局中所占像素之和是否不等于流媒體視頻混合器輸 出總的像素(即權(quán)值之和sum不等于預(yù)設(shè)數(shù)值m),比如小于或大于輸出總的像素。其中對(duì)于 小于輸出總的像素的情況具體可以參照?qǐng)D6所示的一種視頻混合布局c的示意圖。
[0112] 3、若權(quán)值之和sum不等于預(yù)設(shè)數(shù)值m,則將每一個(gè)權(quán)值乘以m/sum倍,例如,若m= 1, 則可以將每一個(gè)權(quán)值放大1/sum倍,使最終各路流媒體視頻的權(quán)值之和sum=m〇
[0113] 當(dāng)然,也可以采用其他方式對(duì)權(quán)值進(jìn)行校驗(yàn),使得最終使權(quán)值之和等于預(yù)設(shè)數(shù)值, 本發(fā)明實(shí)施例對(duì)此不作限制。
[0114] 步驟203,分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流媒體視 頻進(jìn)行混合;
[0115] 步驟204,當(dāng)存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒體視頻 的權(quán)值之和為第一總權(quán)值;
[0116]步驟205,判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則執(zhí)行步驟206,若否,則 執(zhí)行步驟207;
[0117]步驟206,針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖區(qū)進(jìn)行擴(kuò)容;
[0118] 步驟207,在所述空緩沖區(qū)中進(jìn)行插幀。
[0119] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述步驟207可以包括如下子步驟:
[0120] 子步驟S31,復(fù)制所述空緩沖區(qū)所對(duì)應(yīng)的流媒體視頻前一進(jìn)行混合的視頻幀;
[0121 ]子步驟S32將所述視頻幀插入所述空緩沖區(qū)中。
[0122] 在具體實(shí)現(xiàn)中,由于網(wǎng)絡(luò)抖動(dòng)可能造成在某一路或某些路的緩沖區(qū)為空的情況。 此時(shí)判斷緩沖區(qū)空的情況是由單次網(wǎng)絡(luò)抖動(dòng)造成還是多次網(wǎng)絡(luò)抖動(dòng)造成。若為單次網(wǎng)絡(luò)抖 動(dòng)造成,則暫時(shí)認(rèn)為該路流媒體視頻數(shù)據(jù)已經(jīng)離線,則從流媒體視頻混合器中刪除該流媒 體視頻;若為多次網(wǎng)絡(luò)抖動(dòng)造成,則認(rèn)為該流媒體視頻的網(wǎng)絡(luò)抖動(dòng)較大,需要判定是否有必 要加大系統(tǒng)緩沖區(qū)。
[0123] 判定過(guò)程偽代碼如下:
[0124] j
[0125] 上述偽代碼的具體過(guò)程為:
[0126]
〗、將縉沖區(qū)非空的各路流媒體視頻的權(quán)值進(jìn)行累加得到總權(quán)值C sum,其中
[0127] 2、若該總權(quán)值小于K,即Csum〈K,則認(rèn)為當(dāng)前視頻混合效果經(jīng)過(guò)加權(quán)計(jì)算后不滿足 的預(yù)期值,應(yīng)該增大緩沖區(qū),提高流暢性。
[0128] 其中,K(取值范圍(0,m),例如0.7,其中K值越高則流暢性越高,當(dāng)K = 0時(shí)則和實(shí)時(shí) 性優(yōu)先效果一致,當(dāng)K=m時(shí)則和流暢性優(yōu)先效果一致)。
[0129] 3、若該總權(quán)值大于K,即Csum彡K,則認(rèn)為當(dāng)前視頻混合效果經(jīng)過(guò)加權(quán)計(jì)算后滿足的 預(yù)期值,為了保證流媒體視頻混合器工作的時(shí)候每一路的流媒體視頻都至少有一幀數(shù)據(jù), 對(duì)緩沖區(qū)為空的流媒體視頻進(jìn)行插幀處理,比如可以復(fù)制前一幀進(jìn)行流媒體視頻混合的視 頻幀數(shù)據(jù)放入到緩沖區(qū)中。
[0130] 為了使本領(lǐng)域技術(shù)人員進(jìn)一步理解本發(fā)明實(shí)施例的優(yōu)點(diǎn),以下采用對(duì)比的方式對(duì) 面向關(guān)注內(nèi)容最優(yōu)的幀率控制方法進(jìn)行詳細(xì)說(shuō)明。
[0131] 本發(fā)明實(shí)施例中在對(duì)目前主要采用的兩種幀率控制方法研宄的基礎(chǔ)上,提出了一 種關(guān)注內(nèi)容優(yōu)先的幀率控制方法。利用排隊(duì)論的相關(guān)理論,對(duì)三種方法進(jìn)行建模,比較在不 同需求的情況下各種模型的優(yōu)劣。
[0132] 排隊(duì)論模型建立:
[0133] 由于實(shí)時(shí)流媒體數(shù)據(jù)在源端以恒定速率輸出,并非隨機(jī)到達(dá),固無(wú)法直接套用排 隊(duì)論模型,但是網(wǎng)絡(luò)上的噪聲或者干擾信號(hào)引起網(wǎng)絡(luò)抖動(dòng)的數(shù)據(jù)包占用通道的過(guò)程可以被 認(rèn)為是隨機(jī)到達(dá)服從泊松分布的。而在同一假定通道內(nèi)的輸入內(nèi)容流可以認(rèn)為是跟干擾信 號(hào)的到達(dá)過(guò)程存在線性相關(guān)性的。將圖1中虛線內(nèi)的幀率控制部分轉(zhuǎn)換為如圖7所示的本發(fā) 明的一種排隊(duì)論模型的示意圖。
[0134] 若以輸入內(nèi)容流作為討論對(duì)象,需要計(jì)算各隊(duì)列(即緩沖區(qū))的隊(duì)長(zhǎng)為0的概率及 其對(duì)系統(tǒng)的影響。但需要將模型轉(zhuǎn)換為以噪聲流為討論對(duì)象的模型,轉(zhuǎn)換后形式和圖7所示 不變,但輸入對(duì)象為噪聲流,計(jì)算對(duì)象變?yōu)楦麝?duì)列被噪聲占滿的概率及其對(duì)系統(tǒng)的影響。
[0135] 若鏈路帶寬為w,輸入內(nèi)容比特率為b,則對(duì)于噪聲的服務(wù)率為y=w_b,超過(guò)該速率 的噪聲則會(huì)導(dǎo)致內(nèi)容流無(wú)法到達(dá)緩沖區(qū),此時(shí)可視為噪聲占用緩沖區(qū)。為了簡(jiǎn)化論證過(guò)程, 本示例中假設(shè)各輸入內(nèi)容流的比特率相同,各鏈路的抖動(dòng)強(qiáng)度及帶寬相同。由于抖動(dòng)強(qiáng)度 相同,即各路噪聲到達(dá)率. .=λΝ = λ,同理又由于各路輸入內(nèi)容比特率和帶寬相同, 則μL = μ2...=μΝ = μ。設(shè)最大隊(duì)長(zhǎng)為Ν,隊(duì)列數(shù)為Κ。由于到達(dá)符合泊松分布,服務(wù)為定長(zhǎng)分 布,隊(duì)列(緩沖區(qū))有限,因此,該模型實(shí)際上是Κ個(gè)M/D/1/N/m并聯(lián)再串聯(lián)的混合模型。串聯(lián) 服務(wù)的規(guī)則根據(jù)三種幀率控制方法所面向的需求不同而有著相應(yīng)差別。
[0136] 1、面向流暢性最優(yōu)的幀率控制方法
[0137] 流暢性最優(yōu)的幀率控制方法要求每一個(gè)視頻畫(huà)面都盡可能流暢,不跳過(guò)任何數(shù) 據(jù)。即要求各緩沖區(qū)的內(nèi)容流不能為空,等同于各緩沖區(qū)不能被噪聲流占滿。也就是說(shuō),若 系統(tǒng)中任意隊(duì)列發(fā)生被噪聲占滿的現(xiàn)象則違背流暢性最優(yōu)要求。
[0138] 由M/D/1/N/m模型計(jì)算公式可知,隊(duì)列到達(dá)最長(zhǎng)限制的概率為:
[0139] ΡΝ=ρΝΡ〇
[0142] 則滿足流暢性最優(yōu)需求時(shí),Κ個(gè)隊(duì)列均未到達(dá)上限的概率為:
[0140]
[0141]
[0143]
[0144] 假設(shè)帶寬w=10(100kb/s),輸入內(nèi)容比特率b = 8(100kb/s),噪聲到達(dá)率λ=1 (100kb/s),則服務(wù)率y = 2(100kb/s),若隊(duì)列上限N=5(100kb),共Κ = 9個(gè)隊(duì)列,計(jì)算的出滿 足需求的概率為:
[0145] Ρ = 〇.865
[0146] 即當(dāng)緩沖區(qū)為500kb時(shí),系統(tǒng)運(yùn)行過(guò)程中有86.5%的概率滿足流暢性需求。
[0147] 2、面向?qū)崟r(shí)性最優(yōu)的幀率控制方法
[0148]實(shí)時(shí)性最優(yōu)的幀率控制方法要求較高的應(yīng)用,在可接受的效果范圍內(nèi)盡可能減小 緩沖甚至無(wú)緩沖,來(lái)達(dá)到最小延遲的要求。同理,已知隊(duì)列到達(dá)上限的概率為:
[0149]
[0150] 若要求同時(shí)出現(xiàn)跳幀的畫(huà)面不超過(guò)30%,即要求同時(shí)到達(dá)上限的隊(duì)列不超過(guò)k = K*30%。
[0151] 則滿足實(shí)時(shí)性最優(yōu)需求時(shí),至少有K-k個(gè)隊(duì)列未被噪聲占滿的概率為:
[0152]
[0153] 在上文相同條件下,計(jì)算得出:
[0154] P = 〇.88
[0155] 即當(dāng)緩沖區(qū)為500kb時(shí),系統(tǒng)運(yùn)行過(guò)程中有88%的概率滿足實(shí)時(shí)性需求。
[0156] 3、面向關(guān)注內(nèi)容最優(yōu)的幀率控制方法
[0157] 在具體實(shí)現(xiàn)中,視頻混合時(shí)一般會(huì)按照用戶的需求進(jìn)行縮放、排列,例如圖2,3所 示的混合形式。圖2及圖3中,序號(hào)為1的視頻所標(biāo)示的畫(huà)面為用戶最關(guān)注的內(nèi)容,那么可以 在保證該畫(huà)面效果最優(yōu)的情況下盡可能降低延遲時(shí)間,而在可接受范圍內(nèi)忽略其他非關(guān)注 畫(huà)面的跳幀情況。這樣的方法就是面向關(guān)注內(nèi)容最優(yōu)的幀率控制方法。
[0158] 因?yàn)橹豢紤]某一個(gè)視頻的效果最優(yōu),所以系統(tǒng)中只需要保證某一個(gè)隊(duì)列在指定時(shí) 間內(nèi)的為空的概率低于限定值即可。那么計(jì)算過(guò)程可以將系統(tǒng)看作是一個(gè)單隊(duì)的M/D/1/N/ °°模型的系統(tǒng)A,加上一個(gè)K-1個(gè)M/D/1/N/oo模型并聯(lián)再串聯(lián)的系統(tǒng)B,系統(tǒng)總的緩沖值取A、 B兩個(gè)系統(tǒng)的最大值。
[0159] 首先計(jì)算A系統(tǒng)。
[0160] 對(duì)于單隊(duì)系統(tǒng),其滿足需求的概率:
[0161]
[0162] 在上文相同條件下,計(jì)算得出:
[0163] PA=0.984
[0164] 再計(jì)算B系統(tǒng)。由于B系統(tǒng)的是弱化流暢性強(qiáng)調(diào)實(shí)時(shí)性的需求,其計(jì)算方法符合面 向?qū)崟r(shí)性最優(yōu)的計(jì)算方法,即:
[0165]
[0166] 在上文相同條件下,計(jì)算得出:
[0167] Pb = 0.894
[0168]貝IJA、B系統(tǒng)同時(shí)滿足需求的概率為:
[0169] P = Pa*Pb = 0.879
[0170] 即當(dāng)緩沖區(qū)為500kb時(shí),系統(tǒng)運(yùn)行中87.9%的概率滿足關(guān)注內(nèi)容優(yōu)先需求。
[0171 ]對(duì)三種幀率控制方式進(jìn)行對(duì)比分析:
[0172]示例中通過(guò)假定條件代入?yún)?shù)的方法,計(jì)算了在特定條件下,各種方法在相同條 件下滿足需求的概率。為了進(jìn)一步分析各方法在不同限定條件下的情況,通過(guò)matlab繪制 了各方法中緩存N與緩存滿足需求的概率P的關(guān)系,具體可以參照?qǐng)D8所示的本發(fā)明的一種 緩存區(qū)滿足對(duì)應(yīng)的幀率控制方法需求概率的示意圖,其中a為流暢度優(yōu)先方法,b為實(shí)時(shí)性 優(yōu)先方法,C為關(guān)注內(nèi)容優(yōu)先方法,d為三者合成圖像。為了進(jìn)一步便于比較各方法在相同條 件下的差異,將三種方法繪制到同一圖像,具體可以參照?qǐng)D9所示的本發(fā)明的一種緩存與滿 足對(duì)應(yīng)的幀率控制方法需求概率的總示意圖。圖9(a)中易于看出,在任何相同的條件下,關(guān) 注內(nèi)容優(yōu)先方法滿足需求的概率介于其他兩種幀率控制方法之間,推理可知,若滿足概率 相同的情況下,該方法所需的緩沖區(qū)大小也介于其他兩種方法之間,如圖9(b)虛線所示。綜 上可知,關(guān)注內(nèi)容優(yōu)先方法可以在不降低用戶體驗(yàn)的情況下,在一定程度上減小所需的緩 沖時(shí)長(zhǎng)。
[0173]本示例中討論的流媒體視頻混合技術(shù)中的兩種常用的幀率控制方法,以及在兩種 常用幀率控制方法的基礎(chǔ)上提出了面向關(guān)注內(nèi)容最優(yōu)的幀率控制方法。通過(guò)建模,利用排 隊(duì)論的相關(guān)理論,對(duì)幾種方法進(jìn)行了分析和比較。比較可以發(fā)現(xiàn),面向關(guān)注內(nèi)容最優(yōu)的幀率 控制方法可以在流暢性與實(shí)時(shí)性兩種需求中找到合適的平衡點(diǎn),用戶體驗(yàn)效果好。
[0174]需要說(shuō)明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組 合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐?據(jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該 知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施 例所必須的。
[0175] 參照?qǐng)D10,示出了本發(fā)明一種流媒體視頻混合幀率控制的裝置實(shí)施例的結(jié)構(gòu)框 圖,一路或多路流媒體視頻可以被分別載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視頻 可以包括視頻幀,具體可以包括如下模塊:
[0176] 確定模塊301,用于確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值;
[0177] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述確定模塊301可以包括:
[0178] 讀取子模塊,用于讀取預(yù)置配置文件中的布局參數(shù);所述布局參數(shù)包括所述一路 或多路流媒體視頻的像素在預(yù)置的總像素中所占的比值;
[0179] 第一調(diào)整子模塊,用于將所述比值分別作為所述一路或多路流媒體視頻的權(quán)值。
[0180] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述確定模塊301可以包括:
[0181] 接收子模塊,用于接收額外參數(shù);所述額外參數(shù)中包括所述一路或多路流媒體視 頻新的權(quán)值;
[0182] 第二調(diào)整子模塊,用于將所述新的權(quán)值作為所述一路或多路流媒體視頻的權(quán)值。
[0183] 混合模塊302,用于分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路 流媒體視頻進(jìn)行混合;
[0184] 統(tǒng)計(jì)模塊303,用于在存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流 媒體視頻的權(quán)值之和為第一總權(quán)值;
[0185] 判斷模塊304,用于判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則調(diào)用擴(kuò)容模 塊305,若否,則調(diào)用插幀模塊306;
[0186] 擴(kuò)容模塊305,用于針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖區(qū)進(jìn)行擴(kuò)容;
[0187] 插幀模塊306,用于在所述空緩沖區(qū)中進(jìn)行插幀。
[0188] 在本發(fā)明的一種優(yōu)選實(shí)施例中,所述裝置還可以包括:
[0189] 計(jì)算模塊,用于計(jì)算所述一路或多路流媒體視頻的權(quán)值之和獲得第二總權(quán)值;
[0190] 判斷模塊,用于判斷所述第二總權(quán)值是否不等于預(yù)設(shè)數(shù)值;若是,則調(diào)用第三調(diào)整 豐旲塊;
[0191 ]第三調(diào)整模塊,用于計(jì)算所述一路或多路流媒體視頻的權(quán)值,與預(yù)設(shè)數(shù)值和第二 總權(quán)值的比值之積,作為所述一路或多路流媒體視頻的權(quán)值。
[0192] 對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān) 之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0193] 本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與 其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。
[0194] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算 機(jī)程序產(chǎn)品。因此,本發(fā)明實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和 硬件方面的實(shí)施例的形式。而且,本發(fā)明實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可 用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上 實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0195] 本發(fā)明實(shí)施例是參照根據(jù)本發(fā)明實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序 產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖 中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些 計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè) 備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí) 行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中 指定的功能的裝置。
[0196] 這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備 以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包 括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方 框或多個(gè)方框中指定的功能。
[0197] 這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得 在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在 計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程 和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0198] 盡管已描述了本發(fā)明實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基 本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為 包括優(yōu)選實(shí)施例以及落入本發(fā)明實(shí)施例范圍的所有變更和修改。
[0199] 最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將 一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作 之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意 在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者終端設(shè)備不僅包 括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品 或者終端設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句"包括一個(gè)......"限定的 要素,并不排除在包括所述要素的過(guò)程、方法、物品或者終端設(shè)備中還存在另外的相同要 素。
[0200] 以上對(duì)本發(fā)明所提供的一種流媒體視頻混合幀率控制方法和一種流媒體視頻混 合幀率控制裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn) 行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本 領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處, 綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【主權(quán)項(xiàng)】
1. 一種流媒體視頻混合幀率控制的方法,其特征在于,一路或多路流媒體視頻被分別 載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視頻包括視頻幀,所述的方法包括: 確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值; 分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流媒體視頻進(jìn)行混合; 當(dāng)存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒體視頻的權(quán)值之和為 第一總權(quán)值; 判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖 區(qū)進(jìn)行擴(kuò)容;若否,則在所述空緩沖區(qū)中進(jìn)行插幀。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述一路或多路流媒體視頻對(duì)應(yīng) 的權(quán)值的步驟包括: 讀取預(yù)置配置文件中的布局參數(shù);所述布局參數(shù)包括所述一路或多路流媒體視頻的像 素在預(yù)置的總像素中所占的比值; 將所述比值分別作為所述一路或多路流媒體視頻的權(quán)值。3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述確定所述一路或多路流媒體視頻 對(duì)應(yīng)的權(quán)值的步驟包括: 接收額外參數(shù);所述額外參數(shù)中包括所述一路或多路流媒體視頻新的權(quán)值; 將所述新的權(quán)值作為所述一路或多路流媒體視頻的權(quán)值。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述確定一路或多路流媒體視頻對(duì)應(yīng)的 權(quán)值的步驟之后,還包括: 計(jì)算所述一路或多路流媒體視頻的權(quán)值之和獲得第二總權(quán)值; 判斷所述第二總權(quán)值是否不等于預(yù)設(shè)數(shù)值; 若是,則計(jì)算所述一路或多路流媒體視頻的權(quán)值,與預(yù)設(shè)數(shù)值和第二總權(quán)值的比值之 積,作為所述一路或多路流媒體視頻的權(quán)值。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在空緩沖區(qū)中進(jìn)行插幀的步驟包括: 復(fù)制所述空緩沖區(qū)所對(duì)應(yīng)的流媒體視頻前一進(jìn)行混合的視頻幀; 將所述視頻幀插入所述空緩沖區(qū)中。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述K為0.7。7. -種流媒體視頻混合幀率控制的裝置,其特征在于,一路或多路流媒體視頻被分別 載入對(duì)應(yīng)的一個(gè)或多個(gè)緩沖區(qū)中,所述流媒體視頻包括視頻幀,所述的裝置包括: 確定模塊,用于確定所述一路或多路流媒體視頻對(duì)應(yīng)的權(quán)值; 混合模塊,用于分別從所述一個(gè)或多個(gè)緩沖區(qū)中,逐幀提取對(duì)應(yīng)的一路或多路流媒體 視頻進(jìn)彳丁混合; 統(tǒng)計(jì)模塊,用于在存在空緩沖區(qū)時(shí),統(tǒng)計(jì)存儲(chǔ)有流媒體視頻的緩沖區(qū)中所有流媒體視 頻的權(quán)值之和為第一總權(quán)值; 判斷模塊,用于判斷所述第一總權(quán)值是否小于預(yù)置閾值;若是,則調(diào)用擴(kuò)容模塊,若否, 則調(diào)用插幀模塊; 擴(kuò)容模塊,用于針對(duì)所述存儲(chǔ)有流媒體視頻的緩沖區(qū)進(jìn)行擴(kuò)容; 插幀模塊,用于在所述空緩沖區(qū)中進(jìn)行插幀。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述確定模塊包括: 讀取子模塊,用于讀取預(yù)置配置文件中的布局參數(shù);所述布局參數(shù)包括所述一路或多 路流媒體視頻的像素在預(yù)置的總像素中所占的比值; 第一調(diào)整子模塊,用于將所述比值分別作為所述一路或多路流媒體視頻的權(quán)值。9. 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述確定模塊包括: 接收子模塊,用于接收額外參數(shù);所述額外參數(shù)中包括所述一路或多路流媒體視頻新 的權(quán)值; 第二調(diào)整子模塊,用于將所述新的權(quán)值作為所述一路或多路流媒體視頻的權(quán)值。10. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括: 計(jì)算模塊,用于計(jì)算所述一路或多路流媒體視頻的權(quán)值之和獲得第二總權(quán)值; 判斷模塊,用于判斷所述第二總權(quán)值是否不等于預(yù)設(shè)數(shù)值;若是,則調(diào)用第三調(diào)整模 塊; 第三調(diào)整模塊,用于計(jì)算所述一路或多路流媒體視頻的權(quán)值,與預(yù)設(shè)數(shù)值和第二總權(quán) 值的比值之積,作為所述一路或多路流媒體視頻的權(quán)值。
【文檔編號(hào)】H04N21/238GK105898384SQ201610270343
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年4月26日
【發(fā)明人】葉榮華, 劉志聰, 孫石平, 張沖
【申請(qǐng)人】廣州盈可視電子科技有限公司