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