視頻影像分配方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種視頻影像分配方法,尤指可通過攝影機(jī)代理層將原始攝影機(jī)影像進(jìn)行暫存及建立與應(yīng)用程序用戶鏈接的服務(wù)執(zhí)行命令,并通過硬件平臺使用指定參數(shù)及分配軟硬件資源對攝影機(jī)的來源影像動態(tài)建立影像處理鏈,處理成所要求的格式并加入至已完成處理的多重影像進(jìn)行暫存后,再輸出分配至多個應(yīng)用程序用戶使用。
【背景技術(shù)】
[0002]現(xiàn)今電子科技及多媒體技術(shù)不斷快速蓬勃發(fā)展,使得一般手持式或移動式電子裝置(如智能手機(jī)、平板計算機(jī)、筆計本電腦等)已普遍存在于社會上各個角落中,隨著因特網(wǎng)的普及,亦有愈來愈多的用戶選擇以實(shí)時通訊工具(如Skype、Line、Viber、YahooMessenger等)作為通話、文字實(shí)時聊天或視頻的溝通橋梁,更進(jìn)一步拉近人與人之間的距離。
[0003]然而,目前手持式或移動式電子裝置主要為通過操作系統(tǒng)驅(qū)動攝影機(jī)擷取用戶的影像,并通過因特網(wǎng)將影像實(shí)時傳輸給其它用戶而具有視頻通訊的功能,不過受限于本身軟硬件上的限制,一般行動操作系統(tǒng)(如Android、1S、Windows Phone等)僅檢查是否有其它程序已使用該攝影機(jī),且因攝影機(jī)硬件同時間只能夠服務(wù)單一程序用戶,并運(yùn)作在單一影像格式設(shè)定(如分辨率、框速率等)上,當(dāng)多個程序用戶同時開啟攝影機(jī),并對于影像有不同的格式設(shè)定時,其攝影機(jī)硬件便無法同時運(yùn)作以滿足多個用戶的設(shè)定需求,因此如何有效解決多個程序用戶存取單一攝影機(jī)的影像格式設(shè)定沖突,便為從事此行業(yè)者所亟欲研究改善的關(guān)鍵。
【發(fā)明內(nèi)容】
[0004]本案發(fā)明人有鑒于上述現(xiàn)有技術(shù)中的問題與缺失,乃搜集相關(guān)數(shù)據(jù)經(jīng)由多方的評估及考慮,并利用從事于此行業(yè)的多年研發(fā)經(jīng)驗(yàn)不斷的試作與修改,始設(shè)計出此種視頻影像分配方法發(fā)明專利。
[0005]本發(fā)明的主要目的在于電子裝置的硬件平臺為通過操作系統(tǒng)的攝影機(jī)代理層配合驅(qū)動程序,經(jīng)由影像擷取接口接收攝影機(jī)所傳輸?shù)挠跋?,并控制攝影機(jī)及取得影像執(zhí)行命令后,便可通過攝影機(jī)代理層來將原始攝影機(jī)影像進(jìn)行暫存,以及建立與應(yīng)用程序用戶鏈接的服務(wù)執(zhí)行命令,并通過硬件平臺使用指定參數(shù)及分配軟硬件資源對攝影機(jī)傳輸?shù)膩碓从跋駝討B(tài)建立影像處理鏈,處理成所要求的格式并加入至已完成處理的多重影像進(jìn)行暫存后,再將該暫存的多重影像輸出分配至多個應(yīng)用程序用戶使用,只要軟硬件資源允許下即可服務(wù)多個應(yīng)用程序用戶,以滿足應(yīng)用程序用戶對于影像不同格式的設(shè)定需求達(dá)到優(yōu)化的效果,且可方便于用戶操作電子裝置。
[0006]為了達(dá)到上述目的,本發(fā)明提供了一種視頻影像分配方法,該方法為在電子裝置的硬件平臺中安裝一具有攝影機(jī)代理層及驅(qū)動程序的操作系統(tǒng),并由驅(qū)動程序經(jīng)由影像擷取接口接收攝影機(jī)所傳輸?shù)挠跋瘢賹⒂跋駛鬏斨翑z影機(jī)代理層,攝影機(jī)代理層動態(tài)建立影像處理鏈與多重影像隊(duì)列并分配至多個應(yīng)用程序用戶,以滿足影像不同格式的設(shè)定需求,該方法包括下列步驟:
[0007](aOl)控制攝影機(jī)并取得影像執(zhí)行命令;
[0008](a02)將原始攝影機(jī)影像進(jìn)行暫存;
[0009](a03)攝影機(jī)代理層將來源影像建立影像處理鏈;
[0010](a04)分配軟硬件資源并建立影像處理節(jié)點(diǎn)后,啟用影像處理鏈處理來源影像并加入至已完成處理的多重影像進(jìn)行暫存;
[0011](a05)建立與應(yīng)用程序用戶鏈接的服務(wù)執(zhí)行命令并將暫存的多重影像輸出分配至對應(yīng)的多個應(yīng)用程序用戶。
[0012]在本發(fā)明的一實(shí)施例中,步驟(aOl)為利用攝影機(jī)硬件、驅(qū)動程序或影像擷取框架控制攝影機(jī)與取得影像執(zhí)行命令。
[0013]在本發(fā)明的一實(shí)施例中,該步驟(a03)建立影像處理鏈的過程包括下列步驟:
[0014](bOl)操作系統(tǒng)的攝影機(jī)應(yīng)用程序編程接口接受應(yīng)用程序用戶參數(shù)設(shè)定的請求;
[0015](b02)判斷查詢是否已存在該應(yīng)用程序用戶所請求設(shè)定參數(shù)的影像處理鏈,若為是,即進(jìn)行步驟(b03),若為否,則進(jìn)行步驟(b05);
[0016](b03)建立服務(wù)執(zhí)行命令并連接于影像處理鏈與應(yīng)用程序用戶;
[0017](b04)完成應(yīng)用程序用戶的請求;
[0018](b05)分配軟硬件資源找尋適合的暫存來源影像并建立新的影像處理節(jié)點(diǎn);
[0019](b06)判斷分配軟硬件資源并建立新的影像處理節(jié)點(diǎn)是否成功,若為是,即進(jìn)行步驟(b07),若為否,則進(jìn)行步驟(b09);
[0020](b07)判斷是否滿足應(yīng)用程序用戶所請求的參數(shù)設(shè)定,若為是,即進(jìn)行步驟(b08),若為否,則進(jìn)行步驟(209);
[0021](b08)連接影像處理節(jié)點(diǎn)并建立新的影像處理鏈,再重復(fù)執(zhí)行步驟(b03);
[0022](b09)拒絕應(yīng)用程序用戶的請求。
[0023]在本發(fā)明的一實(shí)施例中,該應(yīng)用程序用戶查詢攝影機(jī)參數(shù)的過程包括下列步驟:
[0024](cOl)應(yīng)用程序用戶通過應(yīng)用程序編程接口、攝影機(jī)服務(wù)及攝影機(jī)代理層進(jìn)行參數(shù)查詢;
[0025](c02)檢查是否有已存在的影像處理鏈及足夠的硬件資源,若為是,即進(jìn)行步驟(e04),若為否,則進(jìn)行步驟(e03);
[0026](c03)輸入常用可支持的影像格式列表、硬件資源管理員輸入硬件資源使用記錄與硬件可支持的影像格式處理及輸入作用中的影像處理列表,再進(jìn)行步驟(e04);
[0027](c04)參考硬件資源與既存的影像處理鏈產(chǎn)生可支持的攝影機(jī)參數(shù),再將攝影機(jī)參數(shù)通過攝影機(jī)代理層、攝影機(jī)服務(wù)及應(yīng)用程序編程接口回傳至應(yīng)用程序用戶。
[0028]在本發(fā)明的一實(shí)施例中,該應(yīng)用程序用戶設(shè)定攝影機(jī)參數(shù)的過程包括下列步驟:
[0029](dOl)應(yīng)用程序用戶通過應(yīng)用程序編程接口、攝影機(jī)服務(wù)及攝影機(jī)代理層進(jìn)行設(shè)定參數(shù);
[0030](d02)檢查是否有已存在的影像處理鏈,若為是,即進(jìn)行步驟(d03),若為否,則進(jìn)行步驟(d04);
[0031](d03)建立攝影機(jī)用戶與影像處理鏈對應(yīng)關(guān)系的鏈接數(shù)據(jù),再將設(shè)定成功信息通過攝影機(jī)代理層、攝影機(jī)服務(wù)及應(yīng)用程序編程接口回傳至應(yīng)用程序用戶;
[0032](d04)檢查是否有足夠的硬件資源處理所需的格式,若為是,即進(jìn)行步驟(d05),若為否,則進(jìn)行步驟(d06);
[0033](d05)依照所要求的格式產(chǎn)生影像處理鏈,再重復(fù)執(zhí)行步驟(d03);
[0034](d06)拒絕參數(shù)設(shè)定,再將設(shè)定失敗信息通過攝影機(jī)代理層13、攝影機(jī)服務(wù)及應(yīng)用程序編程接口回傳至應(yīng)用程序用戶。
[0035]在本發(fā)明的一實(shí)施例中,該步驟(a04)啟用影像處理鏈的過程包括下列步驟:
[0036](eOl)應(yīng)用程序用戶通過應(yīng)用程序編程接口、攝影機(jī)服務(wù)及攝影機(jī)代理層進(jìn)行啟動影像擷取;
[0037](e02)取得與此用戶對應(yīng)的攝影機(jī)的影像處理鏈鏈接數(shù)據(jù);
[0038](e03)檢查影像處理鏈?zhǔn)欠褚呀?,若為是,即進(jìn)行步驟(e04),若為否,則進(jìn)行步驟(e09);
[0039](e04)檢查影像處理鏈?zhǔn)欠褚褑⒂?,若為是,即進(jìn)行步驟(e05),若為否,則進(jìn)行步驟(e06);
[0040](e05)建立此用戶的服務(wù)執(zhí)行命令,再將啟用成功信息通過攝影機(jī)代理層、攝影機(jī)服務(wù)及應(yīng)用程序編程接口回傳至應(yīng)用程序用戶;
[0041](e06)啟用影像處理鏈;
[0042](e07)檢查影像處理節(jié)點(diǎn)參與的硬件是否已啟用,若為是,即重復(fù)執(zhí)行步驟(e05),若為否,則進(jìn)行步驟(e08);
[0043](e08)檢查啟用與設(shè)定相關(guān)硬件是否成功,若為是,即重復(fù)執(zhí)行步驟(e05),若為否,則進(jìn)行步驟(e09);
[0044](e09)啟用失敗,再將啟用失敗信息通過攝影機(jī)代理層、攝影機(jī)服務(wù)及應(yīng)用程序編程接口回傳至應(yīng)用程序用戶。
[0045]在本發(fā)明的一實(shí)施例中,該步驟(a04)影像處理鏈處理的過程包括下列步驟:
[0046](fOl)通知有暫存的來源影像;
[0047](f02)判斷該來源影像是否有新的影像,若為是,即進(jìn)行步驟(f03),若為否,則進(jìn)行步驟(f06);
[0048](f03)通過指定參數(shù)及軟硬件資源處理來源影像;
[0049](f04)判斷影像處理是否成功,若為是,即進(jìn)行步驟(f05),若為否,則進(jìn)行步驟(f06);
[0050](f05)將已完成處理的影像加入至指定輸出位置進(jìn)行暫存,再進(jìn)行步驟(f06);
[0051](f06)等待下一個暫存的來源影像通知。
[0052]在本發(fā)明的一實(shí)施例中,該步驟(a05)將多重影像輸出分配至應(yīng)用程序用戶后停