一種圖像數據回讀的方法和裝置的製作方法
2023-07-28 11:25:11 3
專利名稱:一種圖像數據回讀的方法和裝置的製作方法
技術領域:
本發明涉及圖像處理技術,尤其涉及一種圖像數據回讀的方法和裝置。
背景技術:
圖像處理技術在移動終端中的應用越來越普遍,圖像處理電路一般集成
在移動終端系統的多媒體SOC (System On Chip,片上系統)晶片中,處理攝 像頭採集到的圖像數據。由於市場需求和技術水平的提高,對圖像處理模塊 規格的要求也不斷提升,對總線帶寬提出了更高的要求,並且實現的過程也 越來越複雜。
現有技術中, 一種圖像處理的方法是將圖像處理子系統與Camera (攝像 頭)接口設計在一個SOC系統中,如
圖1所示,Camera接口採集Camera輸 出的圖像數據,按照一定的數據格式及總線傳輸規範,將圖像數據傳送給圖 像處理子模塊,Camera接口與圖像處理子模塊一般集成於同一晶片中。現有 技術還有一種基於AMBA 2.0 (Advanced Microcontroller Bus Architecture,先 進微控制器總線架構)AHB (Advanced High-performance Bus,先進高性能總 線)的圖像處理方法,如圖2所示,由圖像釆集接口、 sync(同步模塊)、圖 像處理子模塊、數據緩存模塊、AHB Master ( AHB主設備)接口和AHB Slave (AHB從設備)接口構成,對圖像進行處理的過程包括圖像採集接口採集 Camera的圖像數據;圖像處理子模塊對採集到的數據進行處理;數據再經數 據緩存模塊送到AHB Master接口 ,由AHB Master接口向AHB總線輸出; AHB總線通過AHB Slave接口可以配置訪問寄存器。其中,圖像採集接口採 用Camera時鐘進行採樣,其他模塊工作於AHB總線時鐘,sync模塊用於同 步兩個時鐘域。 一般的圖像處理流程,圖像採集接口將接收到的Camera圖像 數據寫入內存,然後圖像處理子模塊再將內存中的數據讀入,處理完畢後寫 回內存。但是該結構一方面實時的處理Camera圖像數據,另一方面僅需一次
內存寫操作。
一般情況下,有效的圖像數據不能在傳輸過程中丟失,為達到這個效杲
具體實現時的方法、裝置或系統應滿足兩個性能約束 一是圖像數據輸入接 口的吞吐量足夠大,保證輸入的數據有效接收;另一方面,要求存儲總線的 優先級較高,避免數據接收後卻因為總線資源竟爭失敗而無法寫到內存。 發明人在實現本發明的過程中,發現現有技術至少存在以下問題 現有技術中,圖像處理子模塊和圖像輸入接口直接相連,因此圖像處理 子^t塊的處理速度必須足夠快,才能滿足第一個約束,但是某些圖像處理過 程耗時較長,單獨對這個部分提出性能要求會較大增加設計難度。此外,圖 像數據被處理之後數據量可能會增加,導致向存儲總線發送的數據量上升, 在總線帶寬不變的情況下,利用現有技術提供的方法時對總線的訪問時間增 加,才艮據第二個約束,需要賦予較高的總線訪問優先級。這樣可能會造成總 線上其他較低優先級的設備長時間無法獲得總線資源,從而影響整個系統的 性能;若不恰當的釋放總線,則可能導致圖像數據丟失。
發明內容
本發明實施例提供一種圖像數據回讀的方法和裝置,可以實現對圖像數 據分時分批的處理。
本發明實施例提供一種圖像數據回讀的方法,包括 將獲取的圖像數據進行緩存;
對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單元接收數據 的接口的時序發送圖像數據。
同時本發明實施例提供了一種圖像數據回讀的裝置,包括
數據緩存模塊,用於將獲取的圖像數據進行緩存;
數據輸出模塊,用於對所述緩存後的圖像數據進行位寬轉化,並按照圖 像處理單元接收數據的接口的時序發送圖像數據。
同時本發明實施例還提供了一種圖像數據回讀的系統,包括存儲單元, 圖像數據回讀裝置和圖像處理單元;
所述存儲單元,用於存儲圖像數據;
所述圖像數據回讀裝置,用於將從所述存儲單元中獲取的圖像數據進行 緩存;然後對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單元接 收數據的接口的時序發送圖像數據;
所述圖像處理單元,用於接收所述圖像數據回讀裝置發送的圖像數據, 並對所述圖像數據進行處理。
與現有技術相比,本發明實施例具有以下優點
本發明實施例提供方法和裝置,通過將存儲單元中的圖像數據緩存後按 照接口的時序發送圖像數據,達到對圖像數據分時分批的處理,克服因為總 線帶寬或者實現技術等原因引起的圖像處理性能瓶頸。同時本方法可以有效 的避免圖像數據處理單元在數據吞吐能力達到極限時引起系統崩潰。
附困說明
圖1是現有技術一中圖像處理框圖2是現有技術二中基於AHB總線的圖像處理結構示意圖3是本發明實施例中圖像數據回讀的方法的流程圖4是本發明另一實施例中圖像數據回讀的方法的流程圖5是本發明實施例中支持的各種存儲格式的示意圖6是本發明實施例中輸出埠時序圖7是本發明實施例中IRC的接口框圖8是本發明實施例中圖像數據回讀的裝置示意圖9是本發明實施例中圖像數據回讀的系統示意圖。
具體實施例方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行 清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分實施例,而不 是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出 創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明實施例提供一種圖像數據回讀的方法和裝置,可以較好的滿足帶 寬等因素引出的非實時處理需求。
下面結合附圖和具體實施例對本發明實施例提供的圖像數據回讀的方法 進行詳細說明。
圖3為本發明實施例提供的圖像數據回讀的方法的流程圖,包括
步驟s301、將獲取的圖像數據進行緩存。具體的,接收到獲取圖像數據 命令後,根據該命令在存儲單元中讀取該數據,並將其存放在內部緩存中。
步驟s302、對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單 元接收數據的接口的時序發送圖像數據。
上述步驟將獲取的圖像數據先進行緩存,並按照圖像處理單元接收數據 的接口時序將緩存的數據發送出去,使圖像處理單元可以分時分批的對圖像 數據進行處理。
如圖4所示,以Camera接口接收圖像數據為例,包括
步驟s401、根據接收的命令讀取圖像數據。IRC (Image Read-back Controller,圖像回讀控制器)接收到CPU通過總線發送的獲取圖像數據的命 令後,從存儲單元中讀取該圖像數據。該IRC支持以幀為單位的回讀圖像數 據方式,支持單幀或連續多幀處理,而且支持的數據源存儲格式有多種,如 圖5所示,為各種存儲格式的示意圖,包括YUV4:2:2 Planar/Semi-Planar、 YUV4:2:0 Planar/Semi-Planar和YUV4:2:2 Packed。
具體的,軟體配置IRC寄存器並啟動IRC。該IRC的寄存器主要包括 存儲單元中圖像數據存儲首地址、圖像數據行偏移量、待處理的一幀圖像尺 寸,以及源數據存儲格式、存儲順序和數據輸出頻率相對總線頻率的分頻比。
IRC啟動後,根據寄存器中存儲的信息,自動計算圖像在內存中存放的 位置,並採用NCR16、 INCR8、 INCR4或SINGLE等burst (突發)操作方式 回讀圖像數據,其中,釆用INCR16效率相對較高。在處理每行末尾的數據時, 數據源中該行未被操作的數據不足16x32Bits (總線帶寬32Bit)時, 一般採用 INCR8、 INCR4或者SINGLE操作。為了實現高效的輸出,IRC在處理 Planar/Semi-Planar數據時Y、 U和V分量在內存中的存儲地址可以進行輪詢
讀取,保證IRC數據輸出埠在IRC讀取數據的大部分時間內都能連續發送 數據。例如,當IRC獲取Y:U:V 4:2:2 Planar類型的數據時,先對Y分量的內 存地址進行一次突發讀取,然後讀取U分量,再讀取V分量,其中Y表示圖 像的亮度,U和V表示圖像的色度。
值得注意的是,在一般情況下,總線上的burst操作不允許被打斷,如果 IRC正在處理總線上發送過來的burst傳輸時,被軟復位(IRC—RDY信號先 從高電平拉低一個周期以上,然後拉高),則IRC進入保護狀態等待總線上該 burst傳輸結束,才啟動新一幀數據的回讀,從軟復位發生起至burst傳輸結束, 所有數據均不會被保存。
步驟s402、對讀取的圖像數據進行緩存。
圖像回讀控制器將獲取的圖像數據存放在內部的緩存中,該緩存包括 SRAM和緩存控制器。從物理上看,SRAM為一個整體;從邏輯上看,SRAM 存儲空間分為三段,分別用於緩存圖像數據中的Y、 U和V分量;緩存控制 器用於進行必要的邏輯控制,包括生成讀、寫使能信號,讀、寫指針,讀、 寫地址,SRAM中各段的空狀態指示,以及數據輸出位寬轉換的MUX控制 信號。若獲取的圖像數據格式為Planar/Semi-Planar格式,數據的存儲順序為 Y->U->Y->V->Y;若荻取的圖像數據格式為Packed格式,數據的存儲順序為 YUYV、 YVYU、 UYVY或VYVU。
步驟s403、模擬Camera接口的輸出時序,輸出該圖像數據。
由於Camera接口的寬度為8Bit,而SDRAM寬度為32Bit,所以需要對 獲取並放入緩存的圖像數據的位寬進行轉化,IRC的輸出埠時序圖,如圖6 所示,包含了行、幀起始和結束的指示信號以及數據類型指示信號,數據輸 出頻率相對總線頻率可實現1~32分頻。
值得注意的是,在一般情況下,內部緩存不為空時,IRC即可向外輸出 數據,但為了避免向圖像處理單元發送的數據量過大導致系統崩潰,圖像回 讀控制器可以根據系統的狀態指示信號對圖像數據處理單元的數據吞吐量進 行檢測,該信號不小於預設的安全閾值時,強制暫停數據發送過程。具體的, 該預設的安全閾值為圖像回讀控制器到圖像數據處理單元的流水級數,例如當圖像回讀控制器輸出數據到後續的圖像數據處理單元的流水級數為10,則 後續單元的極限狀態水線設定提前10級, 一旦系統狀態指示信號達到10,則 IRC暫停發送數據。
通過上述步驟將讀取的圖像數據進行緩存,並按照攝像頭接口的時序對 緩存的圖像數據進行位寬變換後發送到圖像數據處理單元,可以實現分批分 時處理圖像數據。
如圖7所示,為IRC的接口框圖,其接收的信號主要包括總線接口信 號,寄存器信號,數據類型指示信號,系統狀態指示信號,以及數據信號; 輸出的信號主要包括總線請求、總線Burst操作類型、總線讀地址。進行圖 像數據回讀時,需要通過外部模塊進行協助(如AHB總線接口模塊)。
具體的,總線接口信號通過AHB總線接口模塊與IRC進行信息交互,當 IRC連接到其他規範的總線時,AHB總線接口可以由相應規範的總線接口模 塊替代。
本發明實施例還提供了一種圖像數據回讀的裝置,如圖8所示,包括 數據緩存模塊810,用於將獲取的圖像數據進行緩存;可以包括SRAM 和緩存控制器;從邏輯上將SRAM存儲空間分為三段,分別用於緩存圖像數 據中的Y、 U和V分量;緩存控制器,主要用於進行必要的邏輯控制,包括 生成讀、寫使能信號,讀、寫指針,讀、寫地址,SRAM中各^史的空狀態指 示,以及數據輸出位寬轉換的MUX控制信號。當然,也可以使用一個SRAM 實現,也可採用兩個或者三個獨立的SRAM實現,緩存空間的大小可根據規 格確定。
數據輸出模塊820,用於對所述緩存後的圖像數據進行位寬轉化,並按照 圖像處理單元接收數據的接口的時序發送圖像數據。可以實現數據輸出控制, 同時模擬接口時序,產生必要的行、幀起始和結束信號以及用於指示當前輸 出數據類型(Y、 U或V分量)的數據有效信號。
所述裝置還包括
接收模塊830,用於接收穫取圖像數據命令;
存儲位置計算模塊840,用於根據寄存器中所述圖像數據的信息為初值, 計算所述圖像數據存儲的位置;
數據獲取模塊850,用於按照命令在所述存儲位置計算模塊840計算出的 存儲位置處獲取圖像數據。
所述數據輸出模塊820包括
位寬轉化子模塊821 ,用於對緩存的圖像數據進行位寬轉化; 數據發送子模塊822,用於按照圖像處理單元接收數據的接口時序向所述 圖像處理單元發送圖像數據。該子模塊可以實現數據輸出控制並模擬接口時 序,產生必要的行、幀起始和結束信號以及用於指示當前輸出數據類型(Y、 U或V分量)的數據有效信號。 所述數據輸出模塊820還包括
系統吞吐量檢測子才莫塊823,用於當所述數據發送子模塊822發送圖像數 據時,根據系統狀態指示信號對系統的數據吞吐量進行檢測,當檢測到連接 的圖像數據處理單元達到數據吞吐極限時,通知數據發送子模塊822暫停發 送圖像數據;否則,數據發送子模塊822可以正常發送圖像數據。其中可以 通過判斷系統狀態指示信號是否大於預設的閾值,來判斷圖像數據處理單元 是否達到數據吞吐極限。
本發明實施例還提供了一種圖像數據回讀的系統,如圖9所示,包括 存儲單元910,圖^f象數據回讀裝置920和圖像處理單元930;
所述存儲單元910,用於存儲圖像數據;
所述圖像數據回讀裝置920,用於將從所述存儲單元910中獲取的圖像數 據進行緩存;然後對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理 單元接收數據的接口的時序發送圖像數據;
所述圖像處理單元930,用於接收所述圖像數據回讀裝置920發送的圖像 數據並對所述圖像數據進行處理。
通過本發明實施例提供方法、系統和裝置,可以支持多種數據的存儲格 式,並能模擬圖像處理單元接口的輸出時序,輸出圖像數據及行、場指示信 號,適用面很廣。而且本發明實施例提供的方法可以實現圖像數據分時分批 的處理,克服因為總線帶寬或者實現技術等原因引起的圖像處理性能瓶頸。
同時本方法可以有效的避免圖像數據處理單元在數據吞吐能力達到極限時引 起系統崩潰。本發明實施例提供的方法及裝置與總線協議無關,只要有適合
的總線接口模塊與之連接,提供相同的總線接口信號,即可應用於AMBA架 構之外的總線架構。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發 明可以通過硬體實現,也可以藉助軟體加必要的通用硬體平臺的方式來實現。 基於這樣的理解,本發明的技術方案可以以軟體產品的形式體現出來,該軟 件產品可以存儲在一個非易失性存儲介質(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服 務器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上公開的僅為本發明的幾個具體實施例,但是,本發明並非局限於此, 任何本領域的技術人員能思之的變化都應落入本發明的保護範圍。
權利要求
1、一種圖像數據回讀的方法,其特徵在於,包括將獲取的圖像數據進行緩存;對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單元接收數據的接口的時序發送圖像數據。
2、 如權利要求l所述的方法,其特徵在於,還包括 通過單幀或多幀連續操作的圖像數據回讀方式獲取圖像數據。
3、 如權利要求l所述的方法,其特徵在於,還包括 接收穫取圖像數據命令;以寄存器中所述圖像數據的信息為初值,計算所述圖像數據存儲的位置; 在所述位置處獲取圖像數據。
4、 如權利要求l所述的方法,其特徵在於,還包括根據系統狀態指示信號對系統的數據吞吐量進行檢測,當檢測到連接的 圖像數據處理單元達到數據吞吐極限時,暫停發送圖像數據。
5、 一種圖像數據回讀裝置,其特徵在於,包括 數據緩存模塊,用於將獲取的圖像數據進行緩存;數據輸出模塊,用於對所述緩存後的圖像數據進行位寬轉化,並按照圖 像處理單元接收數據的接口的時序發送圖像數據。
6、 如權利要求5所述的裝置,其特徵在於,還包括 接收模塊,用於接收穫取圖像數據命令;存儲位置計算模塊,用於根據寄存器中所述圖像數據的信息為初值,計 算所述圖像數據存儲的位置;數據獲取模塊,用於按照命令在所述存儲位置計算模塊計算出的存儲位 置處獲取圖像數據。
7、 如權利要求5所述的裝置,其特徵在於,所述數據輸出模塊包括 位寬轉化子模塊,用於對緩存的圖像數據進行位寬轉化; 數據發送子模塊,用於按照圖像處理單元接收數據的接口時序向所述圖像處理單元發送圖像數據。
8、 如權利要求7所述的裝置,其特徵在於,所述數據輸出模塊還包括 系統吞吐量檢測子模塊,用於當所述數據發送子模塊發送圖像數據時,根據系統狀態指示信號對系統的數據吞吐量進行檢測,當檢測到連接的圖像 數據處理單元達到數據吞吐極限時,通知所述數據發送子模塊暫停發送圖像 數據。
9、 一種圖像數據回讀的系統,其特徵在於,包括存儲單元,圖像數據 回讀裝置和圖像處理單元;所述存儲單元,用於存儲圖像數據;所述圖像數據回讀裝置,用於將從所述存儲單元中獲取的圖像數據進行 緩存;然後對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單元接 收數據的接口的時序發送圖像數據;所述圖像處理單元,用於接收所述圖像數據回讀裝置發送的圖像數據, 並對所述圖像數據進行處理。
全文摘要
本發明實施例公開了一種圖像數據回讀的方法和裝置,本發明實施例公開的方法,包括將獲取的圖像數據進行緩存;對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單元接收數據的接口的時序發送圖像數據。該裝置包括數據緩存模塊,用於將獲取的圖像數據進行緩存;數據輸出模塊,用於對所述緩存後的圖像數據進行位寬轉化,並按照圖像處理單元接收數據的接口的時序發送圖像數據。通過使用本發明的實施例,可以實現圖像數據分時分批處理。
文檔編號H04N9/64GK101340595SQ20081013224
公開日2009年1月7日 申請日期2008年7月21日 優先權日2008年7月21日
發明者劉強龍, 淵 季 申請人:華為技術有限公司