本發明涉及終端技術領域,尤其涉及一種圖像數據處理方法及終端。
背景技術:
目前,越來越多的終端具有拍照或攝像的功能,比如智能手機、平板電腦等都具有拍照或攝像功能,汽車等交通工具通過車上設置的攝像頭記錄行車的圖片或錄像。通常終端會緩存通過攝像頭采集的圖像,以進行顯示或保存。
然而,為了獲取更好的圖片,終端通常會對采集的部分圖像數據進行處理,在有限的緩存空間中,在處理圖像數據的過程中,新緩存的圖像數據可能會覆蓋用于處理的圖像數據,從而導致圖像數據處理的失敗。
技術實現要素:
本發明實施例提供一種圖像數據處理方法及終端,可以在有限的緩存空間,同時緩存和處理圖像數據。
第一方面,本發明實施例提供了一種圖像數據處理方法,該方法包括:
接收到圖像處理指令;
根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理;
在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示;或者,在所述圖像數據處理的過程中,按照第一循環鏈表,對緩存在所述緩存區域中的圖像數據進行顯示;
其中,所述緩存區域為緩存通過圖像傳感器采集的圖像數據的區域,所述緩存區域包括M個數據緩存單元,所述緩存區域包括第一緩存區域和第二緩存區域,所述第一緩存區域包括N個數據緩存單元,所述第二緩存區域包括P個數據緩存單元,所述M、N、P為正整數,且M≥N+P,P≥2。
另一方面,本發明實施例提供了一種終端,該終端包括:
接收單元,用于接收到圖像處理指令;
處理單元,用于根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理;
第一顯示單元,用于在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示;或者,在所述圖像數據處理的過程中,按照第一循環鏈表,對緩存在所述緩存區域中的圖像數據進行顯示;
其中,所述緩存區域為緩存通過圖像傳感器采集的圖像數據的區域,所述緩存區域包括M個數據緩存單元,所述緩存區域包括第一緩存區域和第二緩存區域,所述第一緩存區域包括N個數據緩存單元,所述第二緩存區域包括P個數據緩存單元,所述M、N、P為正整數,且M≥N+P,P≥2。
本發明實施例通過接收到圖像處理指令;根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理;在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示;或者,在所述圖像數據處理的過程中,按照第一循環鏈表,對緩存在所述緩存區域中的圖像數據進行顯示;其中,所述緩存區域包括第一緩存區域和第二緩存區域,從而將緩存區域劃分為用于處理圖像數據的第一緩存單元與用于顯示圖像數據的第二緩存單元,可以實現在有限的緩存空間,同時緩存和處理圖像數據。
附圖說明
為了更清楚地說明本發明實施例技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例提供一種圖像數據處理方法的示意流程圖;
圖2是本發明實施例提供的一種緩存區域剝離方法的原理示意圖;
圖3是本發明實施例提供的一種緩存區域半剝離方法的原理示意圖;
圖4是本發明實施例提供的一種緩存區域恢復方法的原理示意圖;
圖5是本發明另一實施例提供的一種圖像數據處理方法的示意流程圖;
圖6是本發明實施例提供的一種圖像數據復制方法的原理示意圖;
圖7是本發明實施例提供一種終端的示意性框圖;
圖8是本發明另一實施例提供一種終端的示意性框圖;
圖9是本發明又一實施例提供一種終端的示意性框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
應當理解,當在本說明書和所附權利要求書中使用時,術語“包括”和“包含”指示所描述特征、整體、步驟、操作、元素和/或組件的存在,但并不排除一個或多個其它特征、整體、步驟、操作、元素、組件和/或其集合的存在或添加。
還應當理解,在此本發明說明書中所使用的術語僅僅是出于描述特定實施例的目的而并不意在限制本發明。如在本發明說明書和所附權利要求書中所使用的那樣,除非上下文清楚地指明其它情況,否則單數形式的“一”、“一個”及“該”意在包括復數形式。
還應當進一步理解,在本發明說明書和所附權利要求書中使用的術語“和/或”是指相關聯列出的項中的一個或多個的任何組合以及所有可能組合,并且包括這些組合。
如在本說明書和所附權利要求書中所使用的那樣,術語“如果”可以依據上下文被解釋為“當...時”或“一旦”或“響應于確定”或“響應于檢測到”。類似地,短語“如果確定”或“如果檢測到[所描述條件或事件]”可以依據上下文被解釋為意指“一旦確定”或“響應于確定”或“一旦檢測到[所描述條件或事件]”或“響應于檢測到[所描述條件或事件]”。
具體實現中,本發明實施例中描述的終端包括但不限于諸如具有觸摸敏感表面(例如,觸摸屏顯示器和/或觸摸板)的移動電話、膝上型計算機或平板計算機之類的其它便攜式設備。還應當理解的是,在某些實施例中,所述設備并非便攜式通信設備,而是具有觸摸敏感表面(例如,觸摸屏顯示器和/或觸摸板)的臺式計算機。
在接下來的討論中,描述了包括顯示器和觸摸敏感表面的終端。然而,應當理解的是,終端可以包括諸如物理鍵盤、鼠標和/或控制桿的一個或多個其它物理用戶接口設備。
終端支持各種應用程序,例如以下中的一個或多個:繪圖應用程序、演示應用程序、文字處理應用程序、網站創建應用程序、盤刻錄應用程序、電子表格應用程序、游戲應用程序、電話應用程序、視頻會議應用程序、電子郵件應用程序、即時消息收發應用程序、鍛煉支持應用程序、照片管理應用程序、數碼相機應用程序、數字攝影機應用程序、web瀏覽應用程序、數字音樂播放器應用程序和/或數字視頻播放器應用程序。
可以在終端上執行的各種應用程序可以使用諸如觸摸敏感表面的至少一個公共物理用戶接口設備。可以在應用程序之間和/或相應應用程序內調整和/或改變觸摸敏感表面的一個或多個功能以及終端上顯示的相應信息。這樣,終端的公共物理架構(例如,觸摸敏感表面)可以支持具有對用戶而言直觀且透明的用戶界面的各種應用程序。
參見圖1,圖1是本發明實施例提供一種圖像數據處理方法的示意流程圖,如圖1所示圖像數據處理方法可包括以下步驟:
步驟S101:接收到圖像處理指令。
具體地,終端可以是具有攝像或拍照功能的設備,比如智能手機、平板電腦、相機、行車記錄儀等。圖像傳感器可以是攝像頭。該圖像處理指令可以是根據用戶輸入的拍照操作、圖像處理操作等操作生成。該圖像處理指令用于指示終端對緩存在第一緩存區域中的圖像數據進行處理。可選地,該圖像處理指令具體可以是多幀融合指令,用于指示終端通過圖像融合算法對緩存在第一緩存區域中的圖像數據進行多幀融合處理,以生成融合圖像。
終端可以包括緩存區域,用于緩存通過圖像傳感器采集的圖像數據。該緩存區域可以包括通過第一循環鏈表鏈接的M個數據緩存單元。終端接收到圖像處理器指令后,終端可以將緩存區域劃分為多個緩存區域,比如第一緩存區域和第二緩存區域,其中,第一緩存區域可以包括N個數據緩存單元,第二緩存區域可以包括通過第二循環鏈表鏈接的P個數據緩存單元。終端可以對緩存在第一緩存區域內中圖像數據進行處理,同時,終端可以通過第二緩存區域對實時緩存通過圖像傳感器采集的圖像數據,從而可以避免由于圖像數據處理時過長,用于處理的圖像數據的覆蓋,處理第一緩存區域的圖像數據被覆蓋。
需要說明的是,M、N、P為正整數,且M≥N+P,P≥2,即第二緩存區域至少包括2個數據緩存單元,數據讀取端和數據寫入端;而且,第一緩存區域與第二緩存區域互不重疊。可選地,M=N+P,即,緩存區域被劃分成兩個區域,第一緩存區域和第二緩存區域。
鏈表是一種物理存儲單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。鏈表由一系列結點(數據緩存單元)組成。每個結點(數據緩存單元)可以包括存儲數據元素的數據域以及存儲下一個結點地址的指針域。鏈表可以分為單向鏈表,雙向鏈表、循環鏈表等,其中,循環鏈表的末端節點的指針域指向初始節點。第一循環鏈表以及所述第二循環鏈表為循環鏈表。
需要說明的是,終端將緩存區域劃分為多個緩存區域具體的方式可以是:從緩存區域中剝離出第一緩存區域。具體地,終端接收到圖像融合指令后,終端可以修改緩存區域的第一循環鏈表,即修改緩存區域中M個數據緩存單元的指針域中存儲的下一個緩存單元的地址,生成第二循環鏈表以及第一鏈表。請參閱圖2,圖2是本發明實施例提供的一種緩存區域剝離方法的原理示意圖。其中,a圖中實線箭頭鏈接的鏈表為第一循環鏈表,全部的數據緩存單元組成的區域為緩存區域,填充的數據緩存單元為第一緩存區域的N個數據緩存單元;b圖中實線箭頭鏈接的鏈表為第二循環鏈表,被填充的數據緩存單元組成的區域即為第一緩存區域。通過第二循環鏈表鏈接的緩存區域為第二緩存區域,通過第一鏈表鏈接的緩存區域為第一緩存區域,此時,終端通過第二緩存區域緩存通過圖像傳感器采集的圖像數據,終端可以執行步驟S102以及步驟S103。
終端將緩存區域劃分為多個緩存區域具體的方式還可以是:從緩存區域中半剝離出第一緩存區域。具體地,終端保留第一循環鏈表,緩存區域中各個數據緩存單元可以包括多個指針域,比如2個指針域,即第一指針域以及第二指針域,其中,第一循環鏈表中結點包括數據緩存單元中數據域與第一指針域。緩存區域中各個結點中第一指針域用于存儲第一循環鏈表下一個緩存單元的地址。終端根據第一循環鏈表生成第二循環鏈表以及第一鏈表,即根據第一循環鏈表中第一指針域中存儲地址,在第二指針域中寫入第二循環鏈表指定的下一個緩存單元的地址或第一鏈表指定的下一個緩存單元的地址,以生成第二循環鏈表以及第一鏈表。緩存區域中M個數據緩存單元的指針域中存儲的下一個緩存單元的地址,請參閱圖3,圖3是本發明實施例提供的一種緩存區域半剝離方法的原理示意圖。a圖中實線箭頭鏈接的鏈表為第一循環鏈表,全部的數據緩存單元組成的區域為緩存區域,填充的數據緩存單元為第一緩存區域的N個數據緩存單元;b圖中虛線箭頭鏈接的鏈表為第二循環鏈表,被填充的數據緩存單元組成的區域即為第一緩存區域。其中,通過第一鏈表鏈接的緩存區域為第一緩存區域,通過第二循環鏈表鏈接的緩存區域為第二緩存區域。第一緩存區域中各個結點中第一指針域用于存儲第一循環鏈表下一個緩存單元的地址,第二指針域用于存儲第一鏈表下一個緩存單元的地址;第二緩存區域中各個結點中第一指針域用于存儲第一循環鏈表下一個緩存單元的地址,第二指針域用于存儲第二循環鏈表下一個緩存單元的地址,此時,終端通過第二緩存區域緩存通過圖像傳感器采集的圖像數據,可以執行步驟S102以及步驟S104。
可選地,該第一緩存區域可以是所述緩存區域中任意的N個數據緩存單元。優選地,所述第一緩存區域是包括所述緩存區域中正在寫入圖像數據的數據緩存單元,和所述正在寫入圖像數據的數據緩存單元之前的N-1個數據緩存單元;也可以是不包括所述緩存區域中正在寫入圖像數據的數據緩存單元,所述正在寫入圖像數據的數據緩存單元之前的N個數據緩存單元。所述第二緩存單元可以是所述緩存區域中除所述第一緩存區域外的Q個數據緩存單元,也可以是所述緩存區域中除所述第一緩存區域外的全部數據緩存單元。
步驟S102:根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理。
具體地,終端可以根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理,該處理方法可以包括CFA(Color Filter Array)插值處理、白平衡、邊緣增強、顏色校正、Gamma校正、灰度變換、多幀融合處理等圖像處理方法中的一種或多種的組合。
可選地,當該圖像處理指令具體為多幀融合指令時,所述處理圖像為融合圖像,終端可以通過圖像融合算法對緩存在第一緩存區域中的圖像數據進行多幀融合處理,以生成融合圖像。該圖像融合算法可以包括高動態光照渲染算法、超分辨率算法、多幀降噪算法或多焦距圖像融合算法等中的一種。
步驟S103:在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示。
具體地,在對緩存在第一緩存區域中的數據圖像進行處理的過程中,終端通過第二緩存區域緩存通過圖像傳感器采集的圖像數據,避免第一緩存區域中數據被覆蓋,且終端可以按照第二循環鏈表對緩存在第二緩存區域中的圖像數據進行顯示,同時實現通過圖像傳感器采集的數據圖像的實時預覽。
需要說明的是,當該圖像數據不能直接顯示時,在進行顯示之前,終端可以對該圖像數據進行預設處理,以使該圖像數據可以正常顯示。通常,通過圖像傳感器采集的圖像數據為拜耳圖像,對圖像數據進行預設處理的方式可以是將圖像數據通過圖像信號處理流水線,即ISP(Image Signal Processing)流水線,進行處理。其中,ISP流水線可以包括,CFA插值處理、白平衡、邊緣增強、顏色校正、Gamma校正、灰度變換等中的一種或多種的組合。
步驟S104:在所述圖像數據處理的過程中,按照第一循環鏈表,對緩存在所述緩存區域中的圖像數據進行顯示。
具體地,在對緩存在第一緩存區域中的數據圖像進行處理的過程中,終端通過第二緩存區域緩存通過圖像傳感器采集的圖像數據,避免第一緩存區域中數據被覆蓋,且終端可以按照第一循環鏈表對緩存在緩存區域中的圖像數據進行顯示,實現通過圖像傳感器采集的數據圖像的實時預覽。且避免讀取圖像數據進行顯示或預覽時,圖像的跳躍,以保證圖像顯示的連貫性。
本發明實施例中,步驟S102之后,該圖像數據處理方法還可以包括:按照所述第三循環鏈表,對緩存在所述第三緩存區域中的圖像數據進行循環顯示或保存,所述第三緩存區域包括所述K個數據緩存單元,所述K個數據緩存單元包括所述N個數據緩存單元,所述K為正整數,且N≤K≤M。
具體地,所示的第一緩存區域步驟S102之后,即終端完成對緩存在第一緩存區域中的圖像數據的處理,此時,終端可以對第一鏈表以及當前緩存循環鏈表進行修改,以形成第三循環鏈表,以恢復第一緩存區域中數據單元的數據緩存功能。其中,當前用于緩存采集的圖像數據的緩存區域通過當前緩存循環鏈表鏈接。若終端中緩存區域劃分為第一緩存區域以及第二緩存區域之后,步驟S102之前,終端未接收到圖像處理指令,則當前用于緩存采集的圖像數據的緩存區域為第二緩存區域,當前緩存循環鏈表為第二循環鏈表,終端對第一鏈表以及第二循環鏈表進行修改,以將第一緩存區域插入第二緩存區域中,形成通過第三循環鏈表鏈接第三緩存區域,請參閱圖4,圖4是本發明實施例提供的一種緩存區域恢復方法的原理示意圖,a圖中實線箭頭鏈接的鏈表為第二循環鏈表,填充的數據緩存單元為第一緩存區域的N個數據緩存單元;b圖中實線箭頭鏈接的鏈表為第三循環鏈表,全部數據緩存單元組成的區域即為第三緩存區域。第一緩存單元可與插入第二緩存單元的任意兩個數據緩存單元之間,優選地,第一緩存單元插入第二緩存單元中正在寫入的數據緩存單元與正在寫入的數據緩存單元之后的數據緩存單元之間。終端可以通過第三緩存區域實時緩存通過圖像傳感器采集的圖像數據,并按照第三循環鏈表,依次讀取緩存在所述第三緩存區域中的圖像數據,并進行顯示或保存。
需要說明的是,當該圖像數據不能直接顯示時,在進行顯示之前,終端可以對該圖像數據進行預設處理,以使該圖像數據可以正常顯示。通常,通過圖像傳感器采集的圖像數據為拜耳圖像,對圖像數據進行預設處理的方式可以是將圖像數據通過圖像信號處理流水線,即ISP(Image Signal Processing)流水線,進行處理。其中,ISP流水線可以包括,CFA插值處理、白平衡、邊緣增強、顏色校正、Gamma校正、灰度變換等中的一種或多種的組合。
本發明實施例中,步驟S102之后,該圖像數據處理方法還可以包括:生成L個處理圖像數據;將所述L個處理圖像數據寫入所述第三緩存區域,以顯示或保存所述L個處理圖像數據;所述L為正整數,L≥1。
具體地,步驟S102之后,即即終端完成對緩存在第一緩存區域中的圖像數據的處理,終端可以生成L個處理圖像數據。終端通過修改鏈表,將第一緩存區域插入第二緩存區域后,形成第三緩存區域后,將L個處理圖像數據寫入第三緩存區域,以使終端對通過第三循環鏈表,讀取第三緩存區域中L個處理圖像數據,并進行顯示或保存。可選地,在將所述L個處理圖像數據寫入所述第三緩存區域之前,終端還可以在L個處理圖像數據包中添加標識信息,該標識信息用于用以識別處理圖像數據。
可以理解,標識信息可以包含在處理圖像數據的數據包的Data Tape(DT)字段中,該處理圖像數據包用于包括處理圖像數據以及標識信息,可以使用0×30至0×37來定義標識信息的類型,比如,用戶可以自定義高動態光照渲染圖像、超分辨率圖像、多幀降噪圖像以及多焦距圖像融合圖像的標識信息分別為0×30、0×31、0×32、0×33、0×36,第二處理器根據DT字段中的數據來判斷該圖像的圖像類型。可以圖像數據包中DT字段無數據時或為預設數據,比如0×37。
本發明實施例,通過接收到圖像處理指令;根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理;在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示;或者,在所述圖像數據處理的過程中,按照第一循環鏈表,對緩存在所述緩存區域中的圖像數據進行顯示;其中,所述緩存區域包括第一緩存區域和第二緩存區域。本發明實施例將緩存區域劃分為用于處理圖像數據的第一緩存單元與用于顯示圖像數據的第二緩存單元,可以實現在有限的緩存空間,同時緩存和處理圖像數據。
請參照圖5,圖5是本發明另一實施例提供的一種圖像數據處理方法的示意流程圖。如圖5所示圖像數據處理方法可包括以下步驟:
步驟S501:接收到圖像處理指令。
具體地,終端可以包括緩存區域,用于緩存通過圖像傳感器采集的圖像數據。該緩存區域可以包括通過第一循環鏈表鏈接的M個數據緩存單元。終端接收到圖像處理器指令后,終端可以將緩存區域劃分為多個緩存區域,比如第一緩存區域和第二緩存區域,其中,第一緩存區域可以包括N個數據緩存單元,第二緩存區域可以包括通過第二循環鏈表鏈接的P個數據緩存單元。終端可以對緩存在第一緩存區域內中圖像數據進行處理,同時,終端可以通過第二緩存區域對實時緩存通過圖像傳感器采集的圖像數據。
需要說明的是,M、N、P為正整數,且M≥N+P,P≥2,即第二緩存區域至少包括2個數據緩存單元,數據讀取端和數據寫入端;而且,第一緩存區域與第二緩存區域互不重疊。可選地,M=N+P,即,緩存區域被劃分成兩個區域,第一緩存區域和第二緩存區域。
終端將緩存區域劃分為多個緩存區域具體的方式可以是:從緩存區域中剝離出第一緩存區域。具體地,終端接收到圖像融合指令后,終端可以修改緩存區域的第一循環鏈表,即修改緩存區域中M個數據緩存單元的指針域中存儲的下一個緩存單元的地址,生成第二循環鏈表以及第一鏈表。請參閱圖2,圖2是本發明實施例提供的一種緩存區域剝離方法的原理示意圖。其中,通過第二循環鏈表鏈接的緩存區域為第二緩存區域,通過第一鏈表鏈接的緩存區域為第一緩存區域,此時,終端通過第二緩存區域緩存通過圖像傳感器采集的圖像數據,終端可以執行步驟S502。
步驟S502:將緩存在第一緩存區域中Q個圖像數據復制到所述第二緩存區域中。其中,所述Q為正整數,且N≥Q。
具體地,步驟S502之后,終端可以將第一緩存區域中部分或全部圖像數據,通常為最近寫入的圖像數據復制到第二緩存區域,即寫入到第二緩存區域中。請參閱圖6,圖6為本發明實施例提供的一種圖像數據復制方法的原理示意圖。a圖實線箭頭鏈接的鏈表為第一循環鏈表,全部的數據緩存單元組成的區域為緩存區域。終端按照第一循環鏈表實時緩存采集的圖像數據,此時終端正在寫入第一圖像數據,終端可以將第一緩存單元中的Q個圖像數據復制到該正在寫入第一圖像數據的數據緩存單元的下Q數據緩存單元中,優選地,比如Q為1,將第一圖像數據復制到正在寫入第一圖像數據的數據緩存單元的下一個數據緩存單元中,如圖b所示,使得最新的緩存的圖像數據可以被讀取顯示。優選地,第一緩存區域的為包括所述緩存區域中正在寫入第一圖像數據的緩存單元,和所述正在寫入第一圖像數據的緩存單元之前的N-1個緩存單元。
需要說明的是,步驟S502也可以在終端修改緩存區域的第一循環鏈表,生成第二循環鏈表以及第一鏈表之前執行。
步驟S503:根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理。
具體地,可以參見圖像數據處理方法的第一實施例中步驟S102的相關描述,此處不再贅述。
步驟S504:在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示。
具體地,可以參見圖像數據處理方法的第一實施例中步驟S103的相關描述,此處不再贅述。
本發明實施例中,所述N個緩存單元為包括所述緩存區域中正在寫入圖像數據的緩存單元,和所述正在寫入圖像數據的緩存單元之前的N-1個緩存單元;所述Q個數據緩存單元為所述包括所述緩存區域中正在寫入圖像數據的緩存單元,和所述正在寫入圖像數據的緩存單元之前的Q-1個緩存單元。
可以理解,終端也可以將第一緩存區域中圖像數據復制到其他存儲區域,此時,終端可以不進行第一循環鏈表的修改,對復制出來的圖像數據進行保存,對緩存單元中緩存的圖像數據進行顯示。
本發明實施例,通過接收到圖像處理指令,將緩存在第一緩存區域中Q個圖像數據復制到所述第二緩存區域中,根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理,在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示,以使第一緩存區域內的圖像數據可以讀取顯示,保持用于顯示的圖像數據的連貫性。
參見圖7,圖7是本發明實施例提供的一種終端的示意框圖。終端可以包括:接收單元701、處理單元702以及第一顯示單元703,其中,
接收單元701,用于接收到圖像處理指令;
處理單元702,用于根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理;
第一顯示單元703,用于在所述圖像數據處理的過程中,按照第二循環鏈表,對緩存在所述第二緩存區域中的圖像數據進行顯示;或者,在所述圖像數據處理的過程中,按照第一循環鏈表,對緩存在所述緩存區域中的圖像數據進行顯示;
其中,所述緩存區域為緩存通過圖像傳感器采集的圖像數據的區域,所述緩存區域包括M個數據緩存單元,所述緩存區域包括第一緩存區域和第二緩存區域,所述第一緩存區域包括N個數據緩存單元,所述第二緩存區域包括P個數據緩存單元,所述M、N、P為正整數,且M≥N+P,P≥2。
本發明實施例中,所述終端還包括:
第二顯示單元,用于按照所述第三循環鏈表,對緩存在所述第三緩存區域中的圖像數據進行循環顯示或保存,所述第三緩存區域包括所述K個數據緩存單元,所述K個數據緩存單元包括所述N個數據緩存單元,所述K為正整數,且N≤K≤M。
本發明實施例中,所述終端還可以包括:
生成單元,用于生成L個處理圖像數據;
寫入單元,用于將所述L個處理圖像數據寫入所述第三緩存區域,以顯示或保存所述L個處理圖像數據;所述L為正整數,L≥1。
需要說明的是,本發明各實施例中的終端中接收單元701、處理單元702、第一顯示單元703、第二顯示單元、生成單元以及寫入單元的功能可根據上述方法實施例中的方法具體實現,其具體實現過程可以參照上述方法第一實施例中所描述的實現方式相關描述,此處不再贅述。
請參閱圖8,圖8是本發明另一實施例提供的一種終端的示意框圖。該終端除包括圖7所示的終端中各個單元外,還可以包括:
復制單元704,用于將緩存在第一緩存區域中Q個圖像數據復制到所述第二緩存區域中;所述Q為正整數,且N≥Q。
本發明是實施例中,所述N個緩存單元為包括所述緩存區域中正在寫入圖像數據的緩存單元,和所述正在寫入圖像數據的緩存單元之前的N-1個緩存單元;所述Q個數據緩存單元為所述包括所述緩存區域中正在寫入圖像數據的緩存單元,和所述正在寫入圖像數據的緩存單元之前的Q-1個緩存單元。
需要說明的是,本發明各實施例中的終端中接收單元701、處理單元702、第一顯示單元703以及復制單元704的功能可根據上述方法實施例中的方法具體實現,其具體實現過程可以參照上述方法第一實施例中所描述的實現方式相關描述,此處不再贅述。
參見圖9,圖9是本發明另一實施例提供的一種終端示意框圖。如圖所示的本實施例中的終端可以包括:一個或多個處理器901;一個或多個輸入設備902,一個或多個輸出設備903和存儲器904。上述處理器901、輸入設備902、輸出設備903和存儲器904通過總線905連接。存儲器902用于存儲指令,處理器901用于執行存儲器902存儲的指令。其中,處理器901用于執行:
通過輸入設備902接收到圖像處理指令;
根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理;
在所述圖像數據處理的過程中,按照第二循環鏈表,通過輸出設備903對緩存在所述第二緩存區域中的圖像數據進行顯示;或者,在所述圖像數據處理的過程中,按照第一循環鏈表,通過輸出設備903對緩存在所述緩存區域中的圖像數據進行顯示;
其中,所述緩存區域為緩存通過圖像傳感器采集的圖像數據的區域,所述緩存區域包括M個數據緩存單元,所述緩存區域包括第一緩存區域和第二緩存區域,所述第一緩存區域包括N個數據緩存單元,所述第二緩存區域包括P個數據緩存單元,所述M、N、P為正整數,且M≥N+P,P≥2。
本發明實施例中,所述處理器901執行所述根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理之后,所述處理器901還可以執行:
按照所述第三循環鏈表,通過輸出設備903對緩存在所述第三緩存區域中的圖像數據進行循環顯示或保存,所述第三緩存區域包括所述K個數據緩存單元,所述K個數據緩存單元包括所述N個數據緩存單元,所述K為正整數,且N≤K≤M。
本發明實施例中,所述處理器901執行所述根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理之后,所述處理器901還可以執行:
生成L個處理圖像數據;
將所述L個處理圖像數據寫入所述第三緩存區域,以顯示或保存所述L個處理圖像數據;所述L為正整數,L≥1。
本發明實施例中,所述處理器901執行所述通過輸入設備902接收圖像處理指令之后,所述根據所述圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理之前,所述處理器901還可以執行:
將緩存在第一緩存區域中Q個圖像數據復制到所述第二緩存區域中;所述Q為正整數,且N≥Q。
本發明實施例中,所述N個緩存單元為包括所述緩存區域中正在寫入圖像數據的緩存單元,和所述正在寫入圖像數據的緩存單元之前的N-1個緩存單元;所述Q個數據緩存單元為所述包括所述緩存區域中正在寫入圖像數據的緩存單元,和所述正在寫入圖像數據的緩存單元之前的Q-1個緩存單元。
本發明實施例中,該終端可以包括兩個處理器,即第一處理器和第二處理器,其中第一處理器和第二處理器可以通過信號鏈路連接,該信號鏈路可以用于第一處理器和第二處理器間的數據傳輸,比如,傳輸圖像數據。其中,第一處理器和第二處理器可以集成在一個芯片上,也可以分別集成在兩個芯片上。第一信號鏈路可以是終端中總線的分支,也可以單獨設置。第一處理器可以包括緩存區域,該緩存區域用于緩存通過圖像傳感器采集的圖像數據,第一處理器可以用于接收圖像處理指令,該收圖像處理指令具體可以是多幀融合指令,并根據該圖像處理指令對緩存在第一緩存區域中的圖像數據進行處理,生成處理圖像。通常過圖像傳感器采集的圖像數據以及處理圖像為拜耳圖像。第二處理器可以用于根據第二循環鏈表,通過ISP流水線對緩存在第二緩存區域中的數據圖像進行處理,以及顯示或保存;或者,根據第一循環鏈表,通過ISP流水線對緩存在第二緩存區域中的數據圖像進行處理,以及顯示或保存。其中,所述多幀融合指令可以是第二處理器發送給第一處理器的,也可以是第一處理器根據接收的拍照指令或連拍指令生成的。
可選地,第一處理器還用于向第二處理器發送處理圖像,該第二處理器還可以用于接收該處理圖像,并通過ISP流水線該處理圖像進行處理,以保存或顯示該ISP流水線處理后的處理圖像。
可選地,第一處理器還可以將所述L個處理圖像數據寫入所述第三緩存區域后,第一處理器可以通過第三循環鏈表依次將緩存在第三緩存區域中的圖像數據發送給第二處理器,第二處理器可以依次對接收的圖像數據進行顯示或保存。第二處理器,也可以通過標識信息識別接收的圖像數據是否為處理圖像數據,如果是,可以對該收的圖像數據進行保存,否則,第二處理器對該接收的圖像數據進行顯示。
應當理解,在本發明實施例中,所稱處理器901可以是中央處理單元(Central Processing Unit,CPU),該處理器還可以是其他通用處理器、數字信號處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現成可編程門陣列(Field-Programmable Gate Array,FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
輸入設備902可以包括觸控板、指紋采傳感器(用于采集用戶的指紋信息和指紋的方向信息)、麥克風等,輸出設備903可以包括顯示器(LCD等)、揚聲器等。
該存儲器904可以包括只讀存儲器和隨機存取存儲器,并向處理器901提供指令和數據。存儲器904的一部分還可以包括非易失性隨機存取存儲器。例如,存儲器904還可以存儲設備類型的信息。
具體實現中,本發明實施例中所描述的處理器901、輸入設備902、輸出設備903、存儲器904可執行本發明實施例提供的圖像數據處理的方法的第一實施例和第二實施例中所描述的實現方式,也可執行本發明實施例所描述的終端的實現方式,在此不再贅述。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的終端和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的終端和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本發明實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
本發明實施例方法中的步驟可以根據實際需要進行順序調整、合并和刪減。
本發明實施例終端中的單元可以根據實際需要進行合并、劃分和刪減。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。