專利名稱:一種具有防抖功能的拍照手機及其在拍照中的防抖方法
技術領域:
本發明涉及具有拍照功能的手機及其拍照過程中的防抖方法領域,更具體的說,
改進涉及的是一種具有防抖功能的拍照手機及其在拍照中的防抖方法。
背景技術:
隨著拍照功能在手機上的普及和應用,人們也會越來越多地使用手機進行拍照; 與數碼相機一樣,使用手機進行拍照同樣也存在如何防止抖動的問題。 但是,模擬數碼相機的防抖設計,不僅會大幅增加手機的技術成本,而且手機的大 小尺寸也會在很大程度上限制數碼相機的技術應用,從而使得手機拍照的防抖效果始終不理想。 因此,現有技術尚有待改進和發展。
發明內容
本發明的目的是,在于提供一種具有防抖功能的拍照手機及其在拍照中的防抖方 法,可在手機上低成本地實現防抖效果較為理想的拍照功能,尤其適合使用在智能手機上。
本發明的技術方案如下 —種手機在拍照中的防抖方法,包括以下步驟 A、通過手機上的重力傳感器模塊對該手機拍照時的抖動級別進行檢測; B、根據所述重力傳感器模塊檢測到的抖動級別控制該手機在拍照過程中的曝光
時間,由該手機上的攝像頭模塊按照所述曝光時間拍照; C、利用圖像處理軟件程序結合抖動產生的位移矢量對模糊的圖像進行清晰化處理。
所述的防抖方法,其中,所述步驟A具體包括 Al、通過按住該手機上的快門鍵啟動所述重力傳感器模塊的防抖工作模式;
A2、檢測拍照時發生在各個方向上的抖動矢量,計算抖動矢量和的絕對值;
A3、根據計算出的絕對值大小判斷拍照時的抖動級別。 所述的防抖方法,其中,所述步驟A還包括多次采樣所述重力傳感器模塊檢測到
的抖動數據,并取其平均值用于判斷抖動級別。 所述的防抖方法,其中,在所述步驟A之前還包括 預先設置抖動級別與曝光時間對應關系表,便于查表確定曝光時間。
5所述的防抖方法,其中,所述步驟C具體包括 Cl、在拍照過程中拍攝多張圖像并提取特征點; C2、根據該特征點利用軟件程序對所述圖像的模糊程度進行分析; C3、將分析的結果與所述位移矢量相結合,對所述圖像進行補償處理。 所述的防抖方法,其中,所述步驟C還包括多次采樣拍照過程中抖動產生的所述
位移矢量,并取其平均值用于對圖像進行清晰化處理。
—種具有防抖功能的拍照手機,包括位于手機主板上的一中央處理器和設置在該 手機外殼上的一攝像頭模塊;所述中央處理器加載所述攝像頭模塊的驅動程序,用于在按 下該手機上的快門鍵時進行圖像的拍照;其中,所述手機還包括一重力傳感器模塊和一圖 像后處理模塊;所述中央處理器加載所述重力傳感器模塊的驅動程序,用于檢測該手機拍 照時的抖動級別,以控制所述攝像頭模塊在拍照過程中的曝光時間;所述中央處理器運行 所述圖像后處理模塊的圖像處理軟件程序,用于結合抖動產生的位移矢量對模糊的圖像進 行清晰化處理。 所述的拍照手機,其中,所述重力傳感器模塊還包括一工作寄存器,用于所述中央 處理器設置所述工作寄存器中的數據值,使所述重力傳感器模塊處于防抖的工作模式中。
所述的拍照手機,其中,所述重力傳感器模塊為一流式接口設備,所述重力傳感器 模塊的驅動程序為獨立的流式接口驅動程序。 所述的拍照手機,其中,所述攝像頭模塊為一流式接口設備,所述攝像頭模塊的驅 動程序為獨立的流式接口驅動程序。 本發明所提供的一種具有防抖功能的拍照手機及其在拍照中的防抖方法,由于采 用了重力傳感器和圖像后處理技術,根據手機拍照時檢測到的抖動級別控制曝光時間實現 了第一重防抖;以及利用抖動的位移矢量對模糊的圖像進行補償實現了第二重防抖;從而 在手機上低成本地實現了防抖效果較為理想的拍照功能,特別適合使用在帶有高端重力傳 感器的智能手機上。
圖1為本發明中雙重防抖過程的流程圖; 圖2為本發明中重力傳感器(g-sensor)工作過程的流程圖; 圖3為本發明中總體軟件通訊過程的流程圖; 圖4為本發明中攝像頭(camera)的流式接口驅動設計框圖; 圖5為本發明中重力傳感器(g-sensor)的流式接口驅動設計框圖; 圖6為本發明中攝像頭模塊(camera module)的硬件框圖; 圖7為本發明中重力傳感器模塊(g-sensor module)的硬件框圖。
具體實施例方式
以下將結合附圖,對本發明的方法及其手機的具體實施方式
和實施例加以詳細說 明。 本發明的一種手機在拍照中的防抖方法,其具體實施方式
之一,如附圖1所示,包 括以下步驟 步驟S101、按下手機上攝像頭(camera)的快門; 步驟S102、進入拍照前期,手機上重力傳感器(g-sensor)檢測拍照時抖動的程度 并確定抖動級別;所謂拍照前期指的是快門按下之后拍照曝光之前的時間段;
步驟S103、 camera根據抖動級別控制曝光時間; 步驟S104a和S 104b、一方面camera按照指定的曝光時間進行拍照;另一方面, g-sensor計算在曝光時間(即拍照期間)因抖動產生的位移矢量,以便camera讀取;
4
步驟S105、進入拍照后期,camera讀取該位移矢量,根據對圖像模糊情況的分析結果,利用圖像處理軟件對圖像進行清晰化的補償處理;所謂拍照后期是指拍照曝光之后只圖像處理完成的時間段。 在步驟S102中,因抖動級別的檢測在按下快門之后曝光之前的時間段獲得的,故不會影響拍照。 在步驟S103中、可根據抖動級別將曝光時間也分為若干級別,抖動級別越高,曝光時間越短;而在步驟S102之前,可預先設置抖動級別與曝光時間對應關系表,以便于查表確定曝光時間。 在步驟S104a中,可通過瞬時拍攝多張照片并提取特征點的方法,對圖像的模糊情況進行分析以備后端的補償處理;此處提取的特征點可為多張照片中同一特征點,也為現有數碼相機中所采用,屬于本領域所熟知。 在步驟S102、S104b和S105中,可通過多次采樣再取平均值的方法來提高準確率。
本發明利用高端g-sensor精確的三維空間感應,高精度的重力加速度檢測、高度的實時性能等特性,可檢測到空間三軸的重力加速度值,從而可檢測到發生在各個方向上的抖動,并計算出抖動的劇烈程度,即抖動級別。對于不同的抖動級別,在拍照時對曝光時間的控制也不一樣;所以針對不同的抖動程度指定不同的抖動級別,camera在不同的抖動級別下采取不同的曝光時間進行拍照,從而靈活的進行防抖。 抖動級別是camera用來控制快門速度的主要參數,其主要是由空間三軸的重力
加速度矢量之和的絕對值來決定的面積發生在某個方向上的重力加速度絕對值越大,則
抖動級別越高;該參數是在快門按下后曝光開始前的這段拍照前期獲得的;在快門按下之
后,g-sensor開始工作,通過x、 y、 z三軸的重力加速度值即可計算出發生在某個方向上的
重力加速度的矢量和,進而計算出絕對值;通過多次采樣取平均值的方法可以得到比較準
確的結果;抖動級別的設定方法為先設定一些門限閥值,然后再將計算出的某個方向上
的重力加速度絕對值與門限閥值進行比較,即可得出抖動級別;由于抖動級別是通過檢測
抖動的劇烈程度來實現的,這種抖動的劇烈程度又是通過空間三維坐標檢測出來的,抖動
位移矢量的計算也是要通過空間三維坐標來計算出某個方向的矢量位移。 如附圖2所示,g-sensor的工作流程如下 步驟S201 、初始化I2C驅動程序; 步驟S202、初始化g-sensor工作參數,g-sensor驅動在系統啟動過程中被加載;
步驟S203、創建線程等待camera開始拍照,設置好g-sensor的防抖工作狀態;
步驟S204、判斷camera快門是否按下開始拍照,是則進入步驟S205,否則繼續等待; 步驟S205、在拍照前期,計算抖動級別,并將防抖級別通知camera;
步驟S206、計算抖動矢量位移,即拍照的曝光期間手機的位移量及方向;
步驟S207、在拍照后期,等待camera讀取該抖動矢量位移,并進行圖像的后期處理; 步驟S208、判斷本次拍照的矢量位移是否被讀取,是則結束g-sensor的工作流程,否則繼續等待。 在拍照過程中,通過瞬時拍攝多張照片并提取特征點的方法對圖像進行分析,分析出圖像的模糊情況,然后利用g-sensor計算出抖動所產生的位移矢量,在拍照的后期根據之前對圖像模糊情況的分析結果,結合位移矢量用軟件對圖像進行補償的后端處理;此處的補償處理可采用數碼相機中所使用的圖像處理軟件,以便對模糊的圖像進行清晰化的處理,在此不再贅述。 抖動矢量位移是對圖像進行后端處理的主要參數,通過這個參數可知道在拍照時往哪個方向抖動了多少位移量,然后根據這個位移量對圖像進行軟件補償,從而實現對圖像的后端處理功能。該位移矢量是指在拍照期間即曝光期間抖動所產生的在某個方向上的位移量,在計算過程中需要用到以下參數g-sensor在三軸的重力加速度值、抖動的時間長度(即曝光時間);根據這些參數通過特定的算法就可以計算出這次抖動所產生的位移矢量;在獲取三軸的重力加速度值時還可以采用多次采樣再取平均值的方法,這樣得到的值比較準確。 作為本發明的較佳實施例,在總體設計框架上可使用win mobile系統的"流式接口驅動",來設計各模塊之間(應用層、camera和g-sensor)的通訊,總體軟件通訊的工作流程主要包括以下幾個方面接口調用、參數傳遞和數據共享,如附圖3所示;在防抖設計上主要使用兩種方法實現防抖一種方法是通過g-sensor檢測到抖動后,提高攝像頭的感光度(High ISO),從而提高快門速度(減低曝光時間),使快門速度超過安全快門來避免抖動,這種方法變化了快門速度,不僅能改善相機方面的抖動,也能對移動的物體進行更好的捕捉;另一種方法是通過g-sensor計算出抖動的位移量,然后在拍照之后對得到的圖像進行分析和處理,即對在抖動情況下拍出的模糊圖像進行軟件位移補償,位移量就是g-sensor計算出來的抖動位移矢量,這種方法屬于后端處理。通過上述兩種方法對手機拍照進行雙重防抖,從而保障了防抖的可靠性。 例如在手機通訊的軟件流程中,可采用"獨立的流式接口驅動"來搭建總體軟件框架,即在win mobile平臺上將Camera驅動和g-sensor驅動設計成獨立的流式接口驅動,并分別設計其對應的I2C驅動用來和PXA310進行通訊,這些驅動在系統啟動過程中被加載,這樣可以形成清晰的層次化結構,如附圖4和5所示,便于系統管理。在流式接口驅動的設計中,各模塊之間的通訊是采用特定的接口,數據共享是通過注冊表、事件或者內存等方式,通過這些方法可以做到層次設計和接口調用清晰,各模塊之間的通訊穩定性好,效率高。 本發明一種具有防抖功能的拍照手機,包括位于手機主板上的一中央處理器和設置在該手機外殼上的一攝像頭模塊;所述中央處理器加載所述攝像頭模塊的驅動程序,用于在按下該手機上的快門鍵時進行圖像的拍照;其中,所述手機還包括一重力傳感器模塊和一圖像后處理模塊;所述中央處理器加載所述重力傳感器模塊的驅動程序,用于在拍照的前期檢測該手機拍照時的抖動級別,以控制所述攝像頭模塊在拍照過程中的曝光時間;所述中央處理器運行所述圖像后處理模塊的軟件程序,用于在拍照的后期結合抖動產生的位移矢量對模糊的圖像進行補償處理。 進一步地,所述重力傳感器模塊還包括一工作寄存器,所述中央處理器設置所述工作寄存器中的數據值,用于使所述重力傳感器模塊處于防抖的工作模式中。
較好的是,所述重力傳感器模塊為一流式接口設備,所述重力傳感器模塊的驅動程序為獨立的流式接口驅動程序,和/或所述攝像頭模塊為一流式接口設備,所述攝像頭模塊的驅動程序為獨立的流式接口驅動程序。 以PXA310這款高性能的MCU為例,對于攝像頭模塊,如附圖6所示,PXA310和攝像頭模塊間主要有兩個接口, 12C接口和CIF接口, 12C接口用于CPU與CAMERA之間的通信,CPU通過I2C接口向CAMERA發送command。 CIF接口則用于PXA310接收CAMERA數據;對于重力傳感器模塊,如附圖7所示,PXA310和重力傳感器模塊間主要通過I2C接口, CPU為master, g-sensor為slave, CPU通過設置g-sensor的工作寄存器使其處于不同的工作方式,然后通過讀取XYZ三軸的重力加速度值,再運用特定的算法進行分析運算,即可計算出手機發生的位移矢量,從而得到防抖所需要的各種參數。
工業實用性 —、體積小高端g-sensor和camera兩個模塊的體積都很小,針對手機這樣的對尺寸非常敏感的電子產品來說其好處就不言而喻了,傳統的手機拍照防抖主要是在攝像頭上下功夫,但那樣就會導致設想頭的尺寸變得很大,從而很大程度上受到手機尺寸的限制。這種方法有效的避免了增加攝像頭尺寸的瓶頸,從而在不改變手機體積的情況下很容易的實現拍照防抖。 二、效果好采用高端g-sensor對抖動進行精確的檢測,然后分別在拍照前期和拍照后期對手機拍照進行雙重防抖,針對拍照不同時期的抖動都可以進行有效的防抖,從而保障了防抖的效果;另一方面高端g-sensor的精度比一般sensor的精度高很多,而拍照時的抖動本來就是很細微的,所以對sensor的精度要求是非常高的,而高端g-sensor的高精度進一步保障了防抖的效果。 三、穩定性好利用智能手機通訊的"流式接口驅動"將g-sensor和camera結合
在一起,各模塊之間采用特定的接口進行通訊,數據共享是通過注冊表、事件或者內存等方
式,從而做到層次設計和接口調用清晰,各模塊之間的通訊效率高、穩定性好。 四、成本低采用手機本身配備的高端g-sensor(非專門用來拍照防抖),高端
g-sensor在完成其它工作的基礎上完全有空余時間用來做拍照防抖,一方面可以充分發揮
高端g-sensor的作用,另一方面無需為拍照防抖增加額外的硬件成本,從而即可進行有效
防抖,又不需要增加硬件成本。 五、靈活性強實現防抖的同時脫離了對手機攝像頭各種性能的依賴,硬件上只要使用一般攝像頭再配備高端g-sensor即可實現防抖,這樣使手機的硬件配置顯得非常靈活;軟件上可以通過軟件對高端g-sensor和camera進行靈活的控制,從而可以通過軟件對防抖進行靈活的控制,不像傳統的手機防抖只能依賴于攝像頭的性能,軟件配置的作用顯得很小。 應當理解的是,對本領域普通技術人員來說,可以根據上述說明加以改進或變換,而所有這些改進和變換都屬于本發明所附權利要求的保護范圍。
權利要求
一種手機在拍照中的防抖方法,包括以下步驟A、通過手機上的重力傳感器模塊對該手機拍照時的抖動級別進行檢測;B、根據所述重力傳感器模塊檢測到的抖動級別控制該手機在拍照過程中的曝光時間,由該手機上的攝像頭模塊按照所述曝光時間拍照;C、利用圖像處理軟件程序結合抖動產生的位移矢量對模糊的圖像進行清晰化處理。
2. 根據權利要求1所述的防抖方法,其特征在于,所述步驟A具體包括 Al、通過按住該手機上的快門鍵啟動所述重力傳感器模塊的防抖工作模式; A2、檢測拍照時發生在各個方向上的抖動矢量,計算抖動矢量和的絕對值;A3、根據計算出的絕對值大小判斷拍照時的抖動級別。
3. 根據權利要求1或2所述的防抖方法,其特征在于,所述步驟A還包括多次采樣所述 重力傳感器模塊檢測到的抖動數據,并取其平均值用于判斷抖動級別。
4. 根據權利要求1所述的防抖方法,其特征在于,在所述步驟A之前還包括 預先設置抖動級別與曝光時間對應關系表,便于查表確定曝光時間。
5. 根據權利要求1所述的防抖方法,其特征在于,所述步驟C具體包括 Cl、在拍照過程中拍攝多張圖像并提取特征點;C2、根據該特征點利用軟件程序對所述圖像的模糊程度進行分析; C3、將分析的結果與所述位移矢量相結合,對所述圖像進行補償處理。
6. 根據權利要求1或5所述的防抖方法,其特征在于,所述步驟C還包括多次采樣拍照 過程中抖動產生的所述位移矢量,并取其平均值用于對圖像進行清晰化處理。
7. —種具有防抖功能的拍照手機,包括位于手機主板上的一中央處理器和設置在該手 機外殼上的一攝像頭模塊;所述中央處理器加載所述攝像頭模塊的驅動程序,用于在按下 該手機上的快門鍵時進行圖像的拍照;其特征在于,所述手機還包括一重力傳感器模塊和 一圖像后處理模塊;所述中央處理器加載所述重力傳感器模塊的驅動程序,用于檢測該手 機拍照時的抖動級別,以控制所述攝像頭模塊在拍照過程中的曝光時間;所述中央處理器 運行所述圖像后處理模塊的圖像處理軟件程序,用于結合抖動產生的位移矢量對模糊的圖 像進行清晰化處理。
8. 根據權利要求7所述的拍照手機,其特征在于,所述重力傳感器模塊還包括一工作 寄存器,用于所述中央處理器設置所述工作寄存器中的數據值,使所述重力傳感器模塊處 于防抖的工作模式中。
9. 根據權利要求7所述的拍照手機,其特征在于,所述重力傳感器模塊為一流式接口 設備,所述重力傳感器模塊的驅動程序為獨立的流式接口驅動程序。
10. 根據權利要求7所述的拍照手機,其特征在于,所述攝像頭模塊為一流式接口設 備,所述攝像頭模塊的驅動程序為獨立的流式接口驅動程序。
全文摘要
本發明公開了一種具有防抖功能的拍照手機及其在拍照中的防抖方法,其方法包括通過手機上的重力傳感器模塊對手機拍照時的抖動級別進行檢測;根據檢測到的抖動級別控制手機在拍照過程中的曝光時間,由手機上的攝像頭模塊按照曝光時間拍照;利用圖像處理軟件程序結合抖動產生的位移矢量對模糊的圖像進行清晰化處理。由于采用了g-sensor重力傳感器和圖像后處理技術,根據手機拍照時檢測到的抖動級別控制曝光時間實現了第一重防抖;以及利用抖動的位移矢量對模糊的圖像進行補償實現了第二重防抖;從而在手機上低成本地實現了防抖效果較為理想的拍照功能,特別適合使用在帶有高端g-sensor重力傳感器的智能手機上。
文檔編號H04N5/232GK101729665SQ20091018889
公開日2010年6月9日 申請日期2009年12月11日 優先權日2009年12月11日
發明者鐘日麗 申請人:惠州Tcl移動通信有限公司