專利名稱:動態(tài)圖像的處理方法
技術領域:
本發(fā)明是有關于一種動態(tài)圖像的處理方法,且特別是有關于一種利用絕對差之和(以下簡稱SAD)的動態(tài)圖像的處理方法。
背景技術:
動態(tài)圖像是由許多靜態(tài)的畫面(Frame)所組合而成。當許多的靜態(tài)圖像依序快速的切換時,由于人眼的視覺暫留的原理,就好象圖像在運動。
從數(shù)字相機所取得的數(shù)字視訊流,常常包含了在連續(xù)畫面中不預期的運動(Unwanted Motion)。所謂不預期的運動,可能是因為相機在擷取視訊時的晃動而產(chǎn)生。為了消除這種不預期的運動,因此就會使用光學、機械或其它電子的解決方法,來偵測并且校正這些不預期的運動。然而,這些方法都非常昂貴而且復雜。另外,這些方法也不能解決因為特殊效果所產(chǎn)生的動態(tài)圖像流中不預期的運動。為了穩(wěn)定動態(tài)圖像流,因此就發(fā)展了許多的數(shù)字的處理方法。
其中一種的處理方法,就是利用絕對值差的計算來處理動態(tài)圖像的方法。首先將擷取進來的兩個圖像相減取絕對值的總和就是SAD值,然后依據(jù)最小的SAD值來找出兩個圖像的互相的關連,也就是找出兩個圖像的運動軌跡,并且利用此運動軌跡來對這兩個圖像進行圖像處理。
然而,公知的SAD運算方法,需要將兩個圖像中每一個像素進行運算,因此會耗費大量的時間在進行運算。
發(fā)明內(nèi)容
因此,本發(fā)明提供了一種動態(tài)圖像的處理方法,可以快速的對動態(tài)圖像進行處理,并且不必耗費昂貴的成本。
為解決上述問題,本發(fā)明提供了一種動態(tài)圖像的處理方法,而該動態(tài)圖像由數(shù)個連續(xù)的畫面所組成,且每一該些畫面包括數(shù)個像素,其特征在于,該處理方法包括依序接收該些畫面;將每一該些畫面分成多數(shù)個宏區(qū)塊,而每一宏區(qū)塊具有一第一預設數(shù)目的像素;將前一個畫面中該些宏區(qū)塊其中之一定義為一比對區(qū)塊,并將該比對區(qū)塊內(nèi)的像素,與目前畫面中一搜索窗內(nèi)的一個宏區(qū)塊內(nèi)的圖像邊緣像素進行絕對差之和運算,而獲得一SAD臨界值,其中該搜索窗內(nèi)包括一預設數(shù)目的宏區(qū)塊;將該比對區(qū)塊內(nèi)的像素,與該搜索窗內(nèi)還未進行過絕對差之和運算的宏區(qū)塊內(nèi)的像素進行絕對差之和運算,并獲得一運算值,其中該運算值為該宏區(qū)塊內(nèi)的每一該些像素進行絕對差之和運算時所產(chǎn)生的一SAD值的累加所得;當累加的SAD值大于等于該SAD臨界值時,則立即中斷絕對差之和運算;以及當進行絕對差之和運算的宏區(qū)塊內(nèi)所有像素的SAD值的累加值小于該SAD臨界值時,則將該SAD臨界值更新為目前進行SAD運算所獲得的運算值。
本發(fā)明提供的動態(tài)圖像的處理方法,可以處理動態(tài)圖像。其中,動態(tài)圖像是由多數(shù)個連續(xù)的畫面所組成,并且每一畫面包括了多數(shù)個像素。本發(fā)明的處理方法包括依序接收所有的畫面,并且將每一畫面分成多數(shù)個宏區(qū)塊,而每一宏區(qū)塊具有一預設數(shù)目的像素。另外,本發(fā)明會將目前畫面中的其中一個宏區(qū)塊定義為一比對區(qū)塊,并且將此比對區(qū)塊內(nèi)的像素,與前一個畫面中一搜索窗內(nèi)的一個宏區(qū)塊內(nèi)的像素進行SAD運算,而獲得一SAD臨界值,其中搜索窗內(nèi)包括了一預設數(shù)目的宏區(qū)塊。此外,本發(fā)明將比對區(qū)塊內(nèi)的像素,與搜索窗內(nèi)還未進行過SAD運算的宏區(qū)塊內(nèi)的像素SAD運算,并且獲得一運算值。其中,此運算值為宏區(qū)塊內(nèi)每一像素進行SAD運算時所產(chǎn)生的一SAD值的累加所得。當累加的SAD值大于等于SAD臨界值時,則立即中斷SAD運算,以及當進行SAD運算的宏區(qū)塊內(nèi)所有像素的SAD值得累加值小于SAD臨界值時,則將SAD臨界值更新為目前進行SAD運算所獲得的運算值。
在本發(fā)明的實施例中,比對區(qū)塊會先對搜索窗內(nèi)宏區(qū)塊內(nèi)圖像邊緣像素先進行SAD運算,而獲得一SAD臨界值。
另外,本發(fā)明更包括依據(jù)SAD臨界值而取得在每一畫面中的比對區(qū)塊的運動向量,并且借由每一畫面中的比對區(qū)塊的運動向量而獲得這些連續(xù)畫面的運動軌跡。另外,本發(fā)明會判斷每一畫面中,比對區(qū)塊的運動向量與運動軌跡的角度是否大于一預設角度。當有畫面內(nèi)的比對區(qū)塊的運動向量與運動軌跡的角度大于此預設角度,則調(diào)整畫面的參數(shù),以使比對區(qū)塊的運動向量趨近于運動軌跡,且使得運動軌跡能夠平滑。
在較佳的情況下,上述的預設角度可以由一使用者自行來設定。
由于本發(fā)明在對搜索窗內(nèi)的宏區(qū)塊進行SAD運算時,只要SAD值的累加值大于SAD臨界值時,就會立即中斷運算,因此不會耗費太多的時間。另外,本發(fā)明也可以由使用者設定一預設角度,來作為是否校正比對區(qū)塊的運動向量的依據(jù),因此本發(fā)明可以彈性地處理因為特殊效果所產(chǎn)生的運動向量。
綜上所述,本發(fā)明至少有以下優(yōu)點1.由于本發(fā)明是采用數(shù)字處理的方式來處理動態(tài)圖像,因此本發(fā)明不需耗費大量的成本。
2.由于本發(fā)明在進行SAD運算時,比對區(qū)塊會先對搜索窗內(nèi)宏區(qū)塊內(nèi)圖像邊緣像素先進行SAD運算,并且當比對區(qū)塊在與搜索窗內(nèi)的宏區(qū)塊進行SAD運算時只要大于SAD臨界值就馬上終止SAD運算,因此本發(fā)明能夠縮減運算時間。
3.由于本發(fā)明會依據(jù)比對區(qū)塊的運動向量與運動軌跡之間的角度來進行動態(tài)圖像的校正,因此能夠使得畫面看起來更自然。
4.本發(fā)明也允許使用者自行設定上述的預設角度,因此本發(fā)明更具有彈性。
為讓本發(fā)明的上述和其它目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
圖1為依照本發(fā)明之一較佳實施例的一種動態(tài)圖像的處理方法的步驟流程圖。
圖2為前一個畫面與目前畫面進行絕對差之和的示意圖。
圖3為一種圖像與搜索窗的示意圖。
圖4為依照本發(fā)明之一較佳實施例的一種計算畫面的運動軌跡及軌跡濾波的方法的步驟流程圖。
圖5為比對區(qū)塊的運動向量的示意圖。
主要元件符號說明201、501目前的畫面203、503前一個畫面205、207宏區(qū)塊301圖像303搜索窗505運動向量
S101、S103、S105、S107、S109、S111、S113、S115動態(tài)圖像的處理方法的步驟流程S401、S403、S405、S407計算畫面的運動軌跡及軌跡濾波的方法的步驟流程具體實施方式
圖1為依照本發(fā)明之一較佳實施例的一種動態(tài)圖像的處理方法的步驟流程圖。請參照圖1,眾所皆知的,一個動態(tài)的視訊,是由許多連續(xù)的畫面所組成,并且每個畫面都具有多數(shù)個像素,以構成每個畫面上的圖像。而本發(fā)明所提出的動態(tài)圖像的處理方法,是用來處理在動態(tài)的視訊中,因為噪聲或是外在的因素,像是手震的情況,而影響了動態(tài)圖像的品質(zhì)。
請繼續(xù)參照圖1,首先,本發(fā)明如步驟S101所述,會接收多數(shù)個連續(xù)的畫面,而這些連續(xù)的畫面可以構成一個動態(tài)的視訊。由于每個畫面都具有多數(shù)個像素,其可以以數(shù)組方式排列。因此,本發(fā)明會將每一個畫面分成多數(shù)個宏區(qū)塊(Macro Block),如步驟S103所述。其中,每一個宏區(qū)塊內(nèi)都包括一第一預設數(shù)目的像素。
接著,如步驟S105所述,本發(fā)明會將目前畫面(Current Frame)中的宏區(qū)塊中的其中一個定義為比對區(qū)塊,以便將此比對區(qū)塊內(nèi)的像素,與前一個畫面(Pre-Frame)中的一搜索窗(Searching Window)內(nèi)第一個宏區(qū)塊內(nèi)的像素進行SAD運算,并且獲得一SAD臨界值。眾所皆知的,搜索窗內(nèi)包括了一第二預設數(shù)目的宏區(qū)塊。
圖2為目前畫面(Current Frame)與前一個畫面(Pre-Frame)進行絕對差之和的示意圖。假設201為目前畫面(Current Frame),而203為前一個畫面(Pre-Frame)。在此定義,畫面203為第i個畫面,而201為第i-1個畫面。假設在第i個畫面201中,選擇宏區(qū)塊205為比對區(qū)塊。因此,本發(fā)明會將比對區(qū)塊205與第i-1個畫面203中搜索窗內(nèi)(即第i個畫面203中的九宮格所表示)的一個宏區(qū)塊進行SAD運算(假設為207),以得到一SAD臨界值。比對區(qū)塊會先對搜索窗內(nèi)宏區(qū)塊內(nèi)圖像邊緣像素先進行SAD運算。
請回到圖1,當本發(fā)明如步驟S105所述,獲得SAD臨界值之后,接下來會進行S107,就是將比對區(qū)塊內(nèi)的像素與搜索窗內(nèi)未進行過SAD運算的宏區(qū)塊進行SAD運算,并且獲得一運算值。所謂的SAD運算值,是宏區(qū)塊中每一個像素在進行SAD運算時所獲得的SAD值累加后所得到。
特別的是,在本發(fā)明中,會進行步驟S109,就是在宏區(qū)塊進行SAD運算時,會實時判斷累加的SAD值是否大于上述的SAD臨界值。假設,當一宏區(qū)塊在進行SAD運算時,本發(fā)明判斷累加的SAD值已經(jīng)大于等于SAD臨界值時,則如步驟S111所述,直接中斷SAD運算,而并不需將剩余的像素進行SAD運算。因此,本發(fā)明可以有效地縮減SAD運算的時間。
相對地,假設當將一宏區(qū)塊所有的像素進行完SAD運算后,發(fā)現(xiàn)所有SAD的累加值,也就是該宏區(qū)塊的SAD運算值小于SAD臨界值時,則本發(fā)明會如步驟S113所述,將SAD臨界值的數(shù)值更新為本次SAD運算所獲得的運算值。當進行完步驟S111或S113后,本發(fā)明會如步驟S115所述,判斷比對區(qū)塊是否與搜索窗內(nèi)所有的宏區(qū)塊都進行過SAD運算。當還有宏區(qū)塊未進行過SAD運算(也就是步驟S115所標示的“否”),則重復進行步驟S107等步驟流程。
圖1所示的流程,是為了尋找最小的SAD臨界值,以便找出兩個畫面中對應的宏區(qū)塊,并且計算對應宏區(qū)塊間的運動向量,其步驟會在圖4中有詳細的說明。
在本發(fā)明中,當比對區(qū)塊在與搜索窗內(nèi)的宏區(qū)塊進行SAD運算時,本發(fā)明會選擇宏區(qū)塊中較顯著的圖像邊緣先進行SAD運算。例如,本發(fā)明會選擇位于宏區(qū)塊內(nèi)圖像邊緣(Edge)的像素優(yōu)先進行SAD運算。
圖3為一種圖像與搜索窗的示意圖。請參照圖3,假設在畫面中,具有圖像301,而搜索窗303則位于圖像的右下角。在本發(fā)明中,搜索窗303的位置可以由系統(tǒng)隨機選取,本發(fā)明并無限定。
本發(fā)明將目前畫面和前一個畫面在進行SAD運算時,會先選擇宏區(qū)塊中圖像邊緣的像素先進行SAD運算,再對其余的宏區(qū)塊進行SAD運算。借此,本發(fā)明就能夠快速的找出最小的SAD臨界值,而加快本發(fā)明處理的速度。
圖4為依照本發(fā)明之一較佳實施例的一種計算畫面的運動軌跡及軌跡濾波的方法的步驟流程圖。請參照圖4,當本發(fā)明獲得兩個畫面間的最小SAD臨界值后,會如步驟S401所述,依據(jù)SAD臨界值來取得每一畫面中比對區(qū)塊的運動向量。
圖5為比對區(qū)塊的運動向量的示意圖。請參照圖5,501為前一個畫面,而503為后一個畫面。當本發(fā)明找到最小的SAD臨界值后,就可以找出同一個宏區(qū)塊在兩個畫面中的位置,并且可以計算出其運動向量,例如箭頭505所表示。
請再參照圖4,當本發(fā)明如步驟S401所述,取得了比對區(qū)塊的運動向量后,就可以進行步驟S403,就是依據(jù)每一畫面中比對區(qū)塊的運動向量,而獲得所有畫面的運動軌跡。在本發(fā)明中,獲得運動軌跡的目的,是為了作為校正動態(tài)圖像的依據(jù),詳細的說明可以參照以下的敘述。
當獲得運動軌跡之后,本發(fā)明可以如步驟S405所述判斷每一畫面中,比對區(qū)塊的運動向量與運動軌跡的角度是否大于一預設角度。假設在第k個畫面中,其比對區(qū)塊的運動向量與運動軌跡的角度大于預設角度。因此,本發(fā)明就判斷使用者在拍攝第k個畫面時,因為例如手震等的因素,而影響了拍攝的畫面。因此,本發(fā)明會如步驟S407所述修正發(fā)生問題的畫面的參數(shù),也就是修正第k個畫面的參數(shù),以便將比對區(qū)塊的運動向量趨近運動軌跡。借此,就可以使得運動軌跡能夠平滑,以在使用者觀看的時候能夠表現(xiàn)的更自然。
然而在有些情況下,例如需要特殊的效果,而在拍攝動態(tài)圖像時,可能發(fā)生大量搖動攝影機的情況。因此,本發(fā)明允許使用者自行設定上述預設角度。因此,就不會發(fā)生濾除掉原本因為特殊效果而產(chǎn)生的運動向量。
綜上所述,本發(fā)明至少有以下優(yōu)點1.由于本發(fā)明是采用數(shù)字處理的方式來處理動態(tài)圖像,因此本發(fā)明不需耗費大量的成本。
2.由于本發(fā)明在進行SAD運算時,比對區(qū)塊會先對搜索窗內(nèi)宏區(qū)塊內(nèi)圖像邊緣像素先進行SAD運算,并且當比對區(qū)塊在與搜索窗內(nèi)的宏區(qū)塊進行SAD運算時只要大于SAD臨界值就馬上終止SAD運算,因此本發(fā)明能夠縮減運算時間。
3.由于本發(fā)明會依據(jù)比對區(qū)塊的運動向量與運動軌跡之間的角度來進行動態(tài)圖像的校正,因此能夠使得畫面看起來更自然。
4.本發(fā)明也允許使用者自行設定上述的預設角度,因此本發(fā)明更具有彈性。
雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何熟習此技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當可作些許的更動與潤飾,因此本發(fā)明的保護范圍當視權利要求所界定的為準。
權利要求
1.一種動態(tài)圖像的處理方法,而該動態(tài)圖像由數(shù)個連續(xù)的畫面所組成,且每一該些畫面包括數(shù)個像素,其特征在于,該處理方法包括依序接收該些畫面;將每一該些畫面分成多數(shù)個宏區(qū)塊,而每一宏區(qū)塊具有一第一預設數(shù)目的像素;將前一個畫面中該些宏區(qū)塊其中之一定義為一比對區(qū)塊,并將該比對區(qū)塊內(nèi)的像素,與目前畫面中一搜索窗內(nèi)的一個宏區(qū)塊內(nèi)的圖像邊緣像素進行絕對差之和運算,而獲得一SAD臨界值,其中該搜索窗內(nèi)包括一預設數(shù)目的宏區(qū)塊;將該比對區(qū)塊內(nèi)的像素,與該搜索窗內(nèi)還未進行過絕對差之和運算的宏區(qū)塊內(nèi)的像素進行絕對差之和運算,并獲得一運算值,其中該運算值為該宏區(qū)塊內(nèi)的每一該些像素進行絕對差之和運算時所產(chǎn)生的一SAD值的累加所得;當累加的SAD值大于等于該SAD臨界值時,則立即中斷絕對差之和運算;以及當進行絕對差之和運算的宏區(qū)塊內(nèi)所有像素的SAD值的累加值小于該SAD臨界值時,則將該SAD臨界值更新為目前進行SAD運算所獲得的運算值。
2.如權利要求1所述的動態(tài)圖像的處理方法,其特征在于,其中該比對區(qū)塊會先對該搜索窗內(nèi)的圖像邊緣的宏區(qū)塊進行絕對差之和運算。
3.如權利要求1所述的動態(tài)圖像的處理方法,其特征在于,其中該比對區(qū)塊對該搜索窗內(nèi)的圖像邊緣的宏區(qū)塊進行絕對差之和的運算后,再對該搜索窗內(nèi)其余的宏區(qū)塊進行絕對差之和運算。
4.如權利要求1所述的動態(tài)圖像的處理方法,其特征在于,更包括依據(jù)該SAD臨界值而取得在每一該些畫面中該比對區(qū)塊的運動向量;依據(jù)每一該些畫面中該比對區(qū)塊的運動向量而獲得該些畫面的一運動軌跡;判斷每一該些畫面中,該比對區(qū)塊的運動向量與該運動軌跡的角度是否大于一預設角度;以及當該些畫面其中的一內(nèi),該比對區(qū)塊的運動向量與該運動軌跡的角度大于該預設角度,則調(diào)整該畫面的參數(shù),使該比對區(qū)塊的運動向量趨近于該運動軌跡,且使得運動軌跡能夠平滑。
5.如權利要求1所述的動態(tài)圖像的處理方法,其特征在于,其中該預設角度是由一使用者自行設定。
全文摘要
一種動態(tài)圖像的處理方法,包括依序接收動態(tài)圖像中所有的畫面,并且將每一畫面分成多數(shù)個宏區(qū)塊。接著,將目前畫面中的其中一個宏區(qū)塊定義為一比對區(qū)塊,并且將此比對區(qū)塊內(nèi)的像素,與前一個畫面中一搜索窗內(nèi)的一宏區(qū)塊內(nèi)的像素進行SAD運算,而獲得一SAD臨界值。然后本發(fā)明將比對區(qū)塊內(nèi)的像素,與還未進行過SAD運算的宏區(qū)塊內(nèi)的像素進行SAD運算,并且獲得多數(shù)個SAD值的累加值。當SAD值的累加值大于等于SAD臨界值時,則立即中斷SAD運算。
文檔編號G06T9/00GK101025827SQ200610007850
公開日2007年8月29日 申請日期2006年2月21日 優(yōu)先權日2006年2月21日
發(fā)明者林銘宏 申請人:華晶科技股份有限公司