圖像數據傳輸方法、裝置及終端與流程
2023-11-10 02:32:52 1

本發明涉及圖像傳輸與處理技術,特別涉及一種圖像數據傳輸方法、裝置及終端。
背景技術:
隨著虛擬實境(virtualreality)技術的發展,對於高解析度,低延遲的圖像傳輸提出了越來越高的要求。現有技術中,由於在數字圖像處理系統內部存在一些固有的延遲,使得圖像數據從被採集到被編碼的過程所消耗的延遲較大。而所述延遲將佔用數字圖像處理系統總體延遲的時間開銷,將導致預留給圖像數據的傳輸過程所允許的延遲大大縮小,這將無法滿足高解析度,低延遲的圖像傳輸與處理的用戶需求。
圖1是現有的一種圖像處理終端的示意性結構框圖。如圖1所示,現有的一種圖像處理終端100的架構一般包括有攝像終端11、圖像信號處理器(imagesignalprocessor,isp)12、視頻編碼器(videoencoder)14和雙倍速率同步動態隨機存儲器(doubledatarate,ddr)13,其中,所述圖像信號處理器和視頻編碼器集成在同一處理器15內。在圖像處理終端100中,攝像終端11將圖像數據按照幀的方式傳輸給圖像信號處理器12;所述圖像數據按照幀的方式進行傳輸導致處於傳輸狀態中的數據容量較大,因此,圖像信號處理器12在收到完整的圖像數據後,在完成諸如降噪等預處理後,需要將所述圖像數據寫入所述處理器15以外的ddr13中,而後以指示信號的形式去通知視頻編碼器14進行編碼;視頻編碼器14收到通知後,從ddr13中讀取數據,並開始編碼;在完成編碼後,視頻編碼器14將編碼後的數據寫回ddr13中。視頻編碼器14將會通知其他系統進行後續處理,如將編碼後的數據寫入文件系統或者發起網絡傳輸等。由於圖像處理終端100需要對接收到的圖像數據存儲於所述ddr13中,在編碼時需要從所述ddr13中讀取,對於高解析度和低延遲的圖像處理系統中,延遲較大。此外,存儲器的存儲成本以及功耗的要求較高。
因此,現有技術中的圖像處理終端所採用的圖像數據傳輸方法,面臨著在處理器內所消耗的延遲較大,以及對存儲器的存儲成本以及功耗的要求較高的問題。
技術實現要素:
本發明解決的技術問題是如何降低現有技術中的圖像處理終端中處理器內部傳輸圖像數據所消耗的延遲。
為解決上述技術問題,本發明實施例提供一種圖像數據傳輸方法,所述圖像數據傳輸方法包括:在攝像裝置、圖像信號處理器和視頻編碼器之間同步設置宏塊尺寸;按照所述宏塊尺寸對所述攝像裝置輸出的圖像數據進行劃分,以得到多個宏塊數據;按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器,以供所述圖像信號處理器基於所述宏塊數據進行圖像處理;將所述圖像信號處理器處理後的宏塊數據逐個傳輸至所述視頻編碼器,以使所述視頻編碼器對所述處理後的宏塊數據進行編碼以得到編碼數據。
可選地,在將所述處理後的宏塊數據傳輸至所述視頻編碼器之前,還包括:將所述處理後的宏塊數據存儲於緩存器。
可選地,所述圖像信號處理器和視頻編碼器集成在同一處理器內,所述緩存器集成在所述處理器內。
可選地,所攝像裝置、圖像信號處理器和視頻編碼器之間同步設置宏塊尺寸包括:所述視頻編碼器將所述宏塊尺寸傳輸至所述圖像信號處理器;在接收所述宏塊尺寸後,所述圖像信號處理器傳輸所述宏塊尺寸至所述攝像裝置。
可選地,所述宏塊尺寸通過所述視頻編碼器、攝像裝置或外部輸入設置。
可選地,將所述圖像信號處理器處理後的宏塊數據逐個傳輸至所述視頻編碼器包括:在指示信號的作用下,將所述處理後的宏塊數據逐個傳輸至所述視頻編碼器,所述指示信號用於區分不同幀的圖像數據。
可選地,所述圖像數據傳輸方法還包括:將所述編碼數據寫入內存。
為了解決以上所述的技術問題,本發明實施例還提供一種圖像數據傳輸 裝置,所述圖像數據傳輸裝置包括:同步單元,適於在攝像裝置、圖像信號處理器和視頻編碼器之間同步設置宏塊尺寸;劃分單元,適於按照所述宏塊尺寸對所述攝像裝置輸出的圖像數據進行劃分,以得到多個宏塊數據;第一傳輸單元,適於按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器,以供所述圖像信號處理器基於所述宏塊數據進行圖像處理;第二傳輸單元,適於將所述圖像信號處理器處理後的宏塊數據逐個傳輸至所述視頻編碼器,以使所述視頻編碼器對所述處理後的宏塊數據進行編碼以得到編碼數據。
可選地,在將所述處理後的宏塊數據傳輸至所述視頻編碼器之前,還適於將所述處理後的宏塊數據存儲於緩存器。
可選地,所述圖像信號處理器和視頻編碼器集成在同一處理器內,所述緩存器集成在所述處理器內。
可選地,所述同步單元包括:第一傳輸子單元,適於控制所述視頻編碼器將所述宏塊尺寸傳輸至所述圖像信號處理器;第二傳輸子單元,適於在接收所述宏塊尺寸後,控制所述圖像信號處理器傳輸所述宏塊尺寸至所述攝像裝置。
可選地,所述宏塊尺寸通過所述視頻編碼器、攝像裝置或外部輸入設置。
可選地,所述第二傳輸單元適於在指示信號的作用下,將所述處理後的宏塊數據逐個傳輸至所述視頻編碼器,所述指示信號用於區分不同幀的圖像數據。
可選地,所述圖像數據傳輸裝置還包括:數據寫入單元,適於將所述編碼數據寫入內存。
為了解決以上所述的技術問題,本發明實施例還提供一種終端,所述終端包括:攝像裝置、圖像信號處理器、視頻編碼器,所述攝像裝置、圖像信號處理器、視頻編碼器之間同步有設置的宏塊尺寸;其中,所述攝像裝置適於按照所述宏塊尺寸對輸出的圖像數據進行劃分,以得到多個宏塊數據;所述攝像裝置還適於按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器,以供所述圖像信號處理器基於所述宏塊數據進行圖像處理;所 述圖像信號處理器適於將處理後的宏塊數據逐個傳輸至所述視頻編碼器;所述視頻編碼器適於對所述處理後的宏塊數據進行編碼以得到編碼數據。
與現有技術相比,本發明實施例的技術方案具有以下有益效果:
本發明實施例是一種在攝像裝置與圖像信號處理器之間基於宏塊數據的圖像數據傳輸方法,通過在攝像裝置、圖像信號處理器和視頻編碼器之間同步設置宏塊尺寸,使得所述攝像裝置按照所述宏塊尺寸對輸出的圖像數據進行劃分,以得到多個宏塊數據,按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器,以供所述圖像信號處理器基於所述宏塊數據進行圖像處理,將所述圖像信號處理器處理後的宏塊數據逐個傳輸至所述視頻編碼器,以使所述視頻編碼器對所述處理後的宏塊數據進行編碼以得到編碼數據。在本實施例中,由所述攝像裝置輸出的按照宏塊尺寸(例如128byte×128byte)劃分得到的宏塊數據傳輸至所述圖像信號處理器後,由所述圖像信號處理器直接傳輸至所述視頻編碼器,而無需經由處理器外部的ddr,與現有技術相比,可以節約所述圖像數據從所述圖像信號處理器傳輸至ddr,再經由ddr傳輸至所述視頻編碼器的延遲,以此可以降低圖像處理終端中處理器內部傳輸圖像數據所消耗的延遲。
進一步而言,在將所述處理後的宏塊數據傳輸至所述視頻編碼器之前,還可以對所述處理後的宏塊數據存儲於緩存器,其中,所述圖像信號處理器和視頻編碼器集成在同一處理器內,所述緩存器集成在所述處理器內,本實施例在終端架構上可以僅採用小尺寸的緩存器作為圖像信號處理器與視頻編碼器之間傳輸宏塊數據的存儲媒介,可以降低對存儲器的存儲成本以及功耗的要求。
進一步而言,所述宏塊尺寸通過所述視頻編碼器、攝像裝置或外部輸入設置,其中,所述外部輸入可以是所述處理器中的軟體應用作為發起,具有較高的靈活性。
附圖說明
圖1是現有的一種圖像處理終端的示意性結構框圖;
圖2是本發明實施例一種圖像傳輸方法的流程圖;
圖3是本發明實施例另一種圖像傳輸方法的流程圖;
圖4是本發明實施例一種終端的示意性結構框圖;
圖5是本發明實施例一種圖像數據傳輸裝置的示意性結構框圖;
圖6是本發明實施例另一種圖像數據傳輸裝置的示意性結構框圖。
具體實施方式
如背景技術部分所述,現有技術的圖像數據傳輸方法是在攝像裝置和圖像信號處理器之間基於幀數據進行傳輸的,這將會使得現有技術中的圖像處理終端所採用的圖像數據傳輸方法,面臨著在處理器內所消耗的延遲較大,以及對存儲器的存儲成本以及功耗的要求較高的問題。
本申請發明人對現有技術進行了分析。在現有技術中,一般考慮到系統的功耗和成本,所述圖像信號處理器和視頻解碼器之間的圖像數據傳輸以及處理速度,一般會被設計為與攝像裝置所輸入的幀率相適配,即在幀率的倒數時間內完成對所述圖像數據的相關處理。
繼續參照圖1,假設攝像裝置輸出的視頻為30幀,則經過圖像數據從所述圖像信號處理器12傳輸至ddr13,再從ddr13傳輸至視頻編碼器14需要兩倍的1/30s的固有延遲,即約為66ms。在不改變所述圖像處理終端100架構的情況下,若需減少所述固定延遲,可以考慮提高處理器15的性能,例如,將所述圖像信號處理器12與視頻編碼器14的處理能力提升到60幀,此時所述固有延遲可降低至33ms。然而,提高處理器15性能需要花費的成本和功耗代價較大。此外,在所述圖像數據的傳輸中,對ddr的多次寫入和讀出操作,會增加系統的成本和功耗。根據以上分析可知,現有技術中的圖像處理終端所採用的圖像數據傳輸方法,面臨著在處理器內所消耗的延遲較大,以及對存儲器的存儲成本以及功耗的要求較高的問題。
為了解決以上技術問題,本發明實施例提出一種圖像傳輸方法,並調整圖像處理終端的架構以降低圖像處理終端內的圖像數據傳輸引起的固有延遲,還可以進一步降低系統的成本與功耗。
為使本發明的上述目的、特徵和有益效果能夠更為明顯易懂,下面結合 附圖對本發明的具體實施例做詳細的說明。
圖2是本發明實施例一種圖像傳輸方法的流程圖。
如圖2所示,本發明實施例圖像傳輸方法可以包括依次執行的步驟s101至步驟s104。
步驟s101,在攝像裝置、圖像信號處理器和視頻編碼器之間同步設置宏塊尺寸。
步驟s102,按照所述宏塊尺寸對所述攝像裝置輸出的圖像數據進行劃分,以得到多個宏塊數據。
步驟s103,按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器,以供所述圖像信號處理器基於所述宏塊數據進行圖像處理。
步驟s104,將所述圖像信號處理器處理後的宏塊數據逐個傳輸至所述視頻編碼器,以使所述視頻編碼器對所述處理後的宏塊數據進行編碼以得到編碼數據。
其中,設置的宏塊尺寸可以是預先設置的宏塊尺寸,或者根據外部控制信號設置的宏塊尺寸。
其中,所述第一次序包括:先沿行方向從左到右,再沿列方向從上到下;或者,先沿列方向從上到下,再沿行方向從左到右。
在本實施例中,由所述攝像裝置輸出的按照宏塊尺寸(例如128byte×128byte)劃分得到的宏塊數據傳輸至所述圖像信號處理器,而不是基於幀數據進行傳輸,傳輸完成後,由所述圖像信號處理器直接傳輸至所述視頻編碼器,而無需經由處理器外部的ddr,與現有技術相比,可以節約所述圖像數據從所述圖像信號處理器傳輸至ddr,再經由ddr傳輸至所述視頻編碼器的延遲,以此可以降低圖像處理終端中處理器內部傳輸圖像數據所消耗的延遲。
如果以解析度為4k×2k,圖像大小為30幀的視頻文件,以h.265編碼標識進行編碼為例,由於h.265最大支持128byte×128byte的宏塊,此處即假設攝像裝置按照h.265編碼標準所允許的最大尺寸進行編碼。此處需要說明 的是,本實施例還可以按照小於128byte×128byte的宏塊尺寸對圖像數據進行劃分,其中,所述宏塊尺寸可以包括宏塊高度和宏塊寬度兩個維度,本實施例不進行特殊限制。此時,一幀視頻的圖像數據將被劃分為512(4096×2096/128/128)個宏塊。圖像處理器和視頻編碼器處理每個宏塊數據的時間也約等於現有技術中的一幀圖像數據的1/512,相比於現有技術,所述固有延遲約等於66ms/512=0.13ms,因此,所述固有延遲被大大地降低。
圖3是本發明實施例另一種圖像傳輸方法的流程圖。
結合圖2和圖3所示,本實施例在步驟s104的在所述處理後的宏塊數據傳輸至所述視頻編碼器之前,還可以包括步驟s105,將所述處理後的宏塊數據存儲於緩存器。
其中,所述圖像信號處理器和視頻編碼器可以集成在同一處理器內,所述緩存器可以集成在所述處理器內,所述緩存器可以為靜態隨機存取存儲器(staticrandomaccessmemory,sram)。
在具體實施中,所述步驟s101,所述攝像裝置、圖像信號處理器和視頻編碼器之間同步設置宏塊尺寸可以包括步驟s1011和步驟s1012。
步驟s1011,所述視頻編碼器將所述宏塊尺寸傳輸至所述圖像信號處理器。
步驟s1012,在接收所述宏塊尺寸後,所述圖像信號處理器傳輸所述宏塊尺寸至所述攝像裝置。
本實施例還可以直接由所述視頻編碼器直接將所述宏塊尺寸同步於所述攝像裝置,只要能夠完成所述攝像裝置、圖像信號處理器和視頻編碼器之間對所述宏塊尺寸的同步,本實施例不限制具體的傳輸方式。
在具體實施中,所述宏塊尺寸通過所述視頻編碼器、攝像裝置或外部輸入設置。所以外部輸入可以是集成了所述圖像信號處理器和視頻編碼器的處理器中的應用軟體發起進行設置,具有較高的靈活性。
所述步驟s104,將所述圖像信號處理器處理後的宏塊數據逐個傳輸至所述視頻編碼器可以包括:步驟s1041,在指示信號的作用下,將所述處理後的宏塊數據逐個傳輸至所述視頻編碼器,所述指示信號用於區分不同幀的圖像 數據。
本實施例還可以包括步驟s106,將所述編碼數據寫入內存,並通知其他系統進行後續處理,如將編碼後的數據寫入文件系統或者發起網絡傳輸等。
進一步而言,在將所述處理後的宏塊數據傳輸至所述視頻編碼器之前,還可以對所述處理後的宏塊數據存儲於緩存器,其中,所述圖像信號處理器和視頻編碼器集成在同一處理器內,所述緩存器集成在所述處理器內,本實施例在終端架構上可以僅採用小尺寸的緩存器作為圖像信號處理器與視頻編碼器之間傳輸宏塊數據的存儲媒介,可以降低對存儲器的存儲成本以及功耗的要求。具體地,由於本實施例的圖像傳輸方法可以節約了一次圖像數據對ddr的讀操作和一次對ddr的寫操作。此時所述數字圖像處理系統對ddr的讀帶寬佔用大小可以計算為:幀解析度×幀率×單像素尺寸=4k×2k×60fps×2=960mbps。若假設ddr的有效帶寬為理論帶寬的60%,那麼,實際需要的ddr的讀帶寬達到960mbps除以0.6,等於1600mbps;經計算,單位mhz下理論的ddr帶寬等於8byte,則要求ddr的主頻提升200mhz。因此,同時可以節約了960mhz的ddr訪問帶寬。
本發明實施例還公開一種終端,參照圖4的本發明實施例一種終端的示意性結構框圖所示,所述終端200可以包括:攝像裝置21、圖像信號處理器22、視頻編碼器23。
所述攝像裝置21、圖像信號處理器22、視頻編碼器23之間同步有設置的宏塊尺寸。
其中,所述攝像裝置21適於按照所述宏塊尺寸對輸出的圖像數據進行劃分,以得到多個宏塊數據。
所述攝像裝置21還適於按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器22,以供所述圖像信號處理器22基於所述宏塊數據進行圖像處理。
所述圖像信號處理器22適於將處理後的宏塊數據逐個傳輸至所述視頻編碼器23。
所述視頻編碼器23適於對所述處理後的宏塊數據進行編碼以得到編碼數 據。
圖5是本發明實施例一種圖像數據傳輸裝置的示意性結構框圖。
結合圖4和圖5,所述圖像數據傳輸裝置300可以包括同步單元31、劃分單元32、第一傳輸單元33和第二傳輸單元34。
其中,所述同步單元31適於在攝像裝置21、圖像信號處理器22和視頻編碼器23之間同步設置宏塊尺寸。
所述劃分單元32適於按照所述宏塊尺寸對所述攝像裝置21輸出的圖像數據進行劃分,以得到多個宏塊數據。
所述第一傳輸單元33適於按照第一次序,將所述多個宏塊數據逐個傳輸至所述圖像信號處理器22,以供所述圖像信號處理器22基於所述宏塊數據進行圖像處理。
所述第二傳輸單元34適於將所述圖像信號處理器22處理後的宏塊數據逐個傳輸至所述視頻編碼器23,以使所述視頻編碼器23對所述處理後的宏塊數據進行編碼以得到編碼數據。
圖6是本發明實施例另一種圖像數據傳輸裝置的示意性結構框圖。
如圖6所示,在具體實施中,所述第二傳輸單元34在將所述處理後的宏塊數據傳輸至所述視頻編碼器之前,還適於將所述處理後的宏塊數據存儲於緩存器24。
在具體實施中,所述圖像信號處理器22和視頻編碼器23可以集成在同一處理器25內,所述緩存器24可以集成在所述處理器25內。
在本發明實施例中,所述同步單元31可以包括第一傳輸子單元311和第二傳輸子單元312。
其中,所述第一傳輸子單元311適於控制所述視頻編碼器23將所述宏塊尺寸傳輸至所述圖像信號處理器22。
所述第二傳輸子單元312適於在接收所述宏塊尺寸後,控制所述圖像信號處理器22傳輸所述宏塊尺寸至所述攝像裝置21。
在具體實施中,所述宏塊尺寸可以通過所述視頻編碼器23、攝像裝置21或外部輸入設置。
在具體實施中,所述第二傳輸單元34適於在指示信號的作用下,將所述處理後的宏塊數據逐個傳輸至所述視頻編碼器23,所述指示信號用於區分不同幀的圖像數據。
本發明實施例還可以包括數據寫入單元35,適於將所述編碼數據寫入內存(圖未示)。
所述終端200和所述圖像傳輸裝置300的更多信息請參考以上實施例中對所述圖像傳輸方法的相關描述,此處不再贅述。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於計算機可讀存儲介質中,存儲介質可以包括:rom、ram、磁碟或光碟等。
雖然本發明披露如上,但本發明並非限定於此。任何本領域技術人員,在不脫離本發明的精神和範圍內,均可作各種更動與修改,因此本發明的保護範圍應當以權利要求所限定的範圍為準。