高宇杰,李武森,戚云菲,陳文建
(1.南京理工大學 電子工程與光電技術學院,江蘇 南京 210094;2.澳門城市大學 數據科學學院,澳門 999078)
在移動攝像及顯示系統中,當攝像頭發生旋轉的時候,顯示屏中的畫面也會隨之產生不可避免的旋轉,從而對目標的觀察和操作產生較大的影響,此時就需要在顯示前,先對攝像頭傳輸過來的圖像進行消旋處理。為此,本文提出了一種基于坐標旋轉數字算法(Coordinate Rotation Digital Algorithm,CORDIC)的優化的圖像消旋算法。
在硬件系統中,傳統的CORDIC 算法只需要通過加法和移位運算就可以實現三角計算。其基本思想是用一系列與運算基數相關的角度的不斷迭代來逼近所需旋轉的角度,從而避免三角函數表的查找操作。它的速度更快,占據的內存量更少,每次旋轉的角度的精度也有了提升。CORDIC 算法還被用于線性、圓和雙曲函數的迭代運算,使得硬件系統可以計算更加復雜的數學函數,廣泛應用于無線電、雷達和濾波器[1-3]等領域。隨著現代科學技術的發展、電路集成度的提高,對計算速度、精度的要求也更高,而傳統CORDIC 算法的計算精度以及速度已經滿足不了設計需求。為此,國內外的學者也在通過減少迭代次數、增加計算精度、擴展使用范圍、免去迭代因子等方法來對CORDIC 算法進行優化。
為了減少迭代次數,文獻[4]提出了一種貪婪算法,通過挑選每一次的最優解來跳過不必要的旋轉,以減少迭代次數,但這同時也增加了搜索模塊,使得每一次迭代的計算時間大量增加,并且使得本來固定的縮放因子變為一個不確定的數。文獻[5]以及文獻[6]結合了貪婪算法以及查找表法,雖然相對于貪婪算法提升了精度,但查找表的地址依然需要對比搜索,而且縮放因子問題依然存在,并且又增加了內存的使用。文獻[7]去掉了縮放因子的影響,也減少了迭代次數,但