• 沒有找到結果。

眾多影像壓縮規格中,MPEG4[1]及 H.264[2]是目前熱門的壓縮技術,其中 移動估測(motion estimation)演算法也已發表許多相關的的研究,都是因為本 來區塊匹配移動估測演算法(block matching motion estimation algorithm)中所使 用的全部搜尋(full search)技術雖然可以估測到正確的動作,但是卻需要大量 的計算量,所以近年來發展出了快速搜尋法,相對於全部搜尋法(full search)

的有三步搜尋法(3-step search)[3]、新三步搜尋法(new 3-step search)[4]、四 步搜尋法(four-step search)[5]及較新的鑽石搜尋法(diamond search)[6][7],

由以上幾種的演算法為基礎,許多演算法也被持續發表出來[8~13]。

在接下來的章節中,將詳細介紹幾種不同種類的快速演算法及其效能的比 較,並證明我們所發展的新演算法能適用各種演算法而達到更節省計算量的目 的,並以硬體設計來說明此新演算法對於硬體負擔上的增加也十分有限。

1.3 章節簡介 章節簡介 章節簡介 章節簡介

第一章 緒論

提出論文的主題與基本目的,並對相關的研究做簡介。

第二章 研究背景

介紹目前影像壓縮中移動估測的技術,並比較各式不同論文中的演算法及其 設計理論的基礎相關研究。

第三章 演算法介紹及實驗結果

針對我們所提出的新演算法做一詳細的介紹,包括開發此演算法的歷程與不 同適應性門檻值的決定方式,以設計出具有硬體實現上的考量所改進的鑽石搜尋 演算法,並經由實驗結果證明其效能。

第四章 硬體實現及結果

將前一章的演算法利用硬體描述語言設計出硬體,並說明其硬體架構與所使 用的設計規格,還有介紹為了此演算法硬體實現所額外設計的記憶體產生器。最 後是此硬體設計的各項數據結果。

第五章 結論

對於此論文的主要貢獻做總結,並提出各項未來的展望與建議事項。

第二章 第二章 第二章

第二章 研究背景 研究背景 研究背景 研究背景

目前較常見影像壓縮的規格有 MPEG1、2、4 及 H.263、H.264 等,而又以 H.264 及 MPEG4 為現今持續研究並改進的高畫質、高壓縮比的影像壓縮技術,

本章首先介紹的即是 H.264 影像壓縮技術,並說明移動估測技術(motion estimation, ME)在其中的重要性。

2.1 影像壓縮技術 影像壓縮技術 影像壓縮技術 影像壓縮技術

在 H.264 影像壓縮技術中,包含影像中單一畫面(inter frame)的壓縮技術 之外,及利用連 續影 像畫面(intra frame)中時間域的多餘資訊(temporal redundancy)來達到壓縮的目的,圖 2.1 及圖 2.2 即為連續影像中的兩張連續畫 面,欲壓縮後一張畫面(圖 2.2)時,我們不直接對整張畫面作壓縮而是找出與 前一張畫面差異的地方,這樣可以減少大量重複的資訊量,而在編碼器(encoder)

只要針對前一張和相對於後一張的相異處即可完成壓縮,經由各式傳輸技術送到 解碼器(decoder)後,只要利用前一張畫面及相異處就可以重建出後一張畫面,

這個編碼步驟就是對連續影像作壓縮的關鍵技術。

  圖 2.1 參考畫面   圖 2.2 現時畫面

但是兩張畫面的差異處如果直接用兩張畫面作相減還是存在重複的多餘資 訊量,如圖 2.3 所示,白球的位置只是往上移動,但是用相減的方式卻無法表現 出來,所以移動估測(motion estimation)技術的目的就是要能估測出後一張畫

面相對於前一張畫面的所有相關移動位置,如此就能得到如圖 2.4 的畫面,我們 稱之為剩餘畫面(residual frame),這張畫面上的資訊量越少,代表所做的移動 估測減少越多時間域中重複的資訊量。

 圖 2.3 差異畫面 圖 2.4 剩餘畫面

圖 2.5 是 H.264 中編碼器(encoder)的示意圖,圖中 ME 區塊即是移動估測 的部分,被壓縮影像中所有畫面都會經過此處,所以如何準確、快速的完成移動 估測的動作便是編碼器設計中的重點。

圖 2.5 H.264 編碼器區塊示意圖

2.2 移動估測技術 移動估測技術 移動估測技術 移動估測技術

在移動估測技術中(motion estimation),目前一般廣為使用的演算法稱為區 塊匹配移動估測演算法(block matching motion estimation algorithm),先將要處 理的單一畫面(frame)分為若干大區塊(macro block)來作計算,在 H.264 的 規格中區塊大小有從 4×4、4×8、8×4、8×8、8×16、16×8 到 16×16 畫素(pixels),

而使用越小的區塊雖然可以得到較好的估測結果,但處理一張畫面也會花費較多 的計算量。決定區塊大小 N×N 後,便在現時畫面(current frame)中以此區塊為 基準,去判斷此區塊位於參考畫面(reference frame)中所在的位置,通常參考 畫面就是現時畫面的前一張畫面,而區塊的相似程度是利用計算絕對差值總和

(sum of absolute difference, SAD)來作判斷的,如下式:

∑∑

window)或稱搜尋區域(search area)的範圍中去估測,這是假設在此區域中即

能找到所要的移動向量而避免搜尋參考畫面中每一個位置。

圖 2.6 移動估測示意圖

而最基本的估測方式採用全部搜尋(full search)的方式計算,全部搜尋移動估

測(full search ME)就是在參考畫面的搜尋窗口中每一個位置都跟現時畫面中的

區塊作比較,見圖2.7,一個±2的搜尋窗口共有25個位置要去比較。

圖 2.7 全部搜尋法

所以搜尋窗口(search window)的大小與區塊(block)的大小決定演算法所需 的計算量,而全部搜尋雖然可以找到搜尋窗口中SAD 值最小的位置,但是在較 大的搜尋窗口中會耗費過多計算量,因此許多快速演算法便為了節省計算量的目 的而被設計出來,接下來便是要介紹各式不同的快速演算法。

2.3 快速區塊匹配移動估測演算法 快速區塊匹配移動估測演算法 快速區塊匹配移動估測演算法 快速區塊匹配移動估測演算法

此節所介紹的快速演算法都是相對於區塊匹配移動估測演算法中所使用的

全部搜尋(full search)技術,主要的目的都是為了能使用較少的計算量來估測 出移動向量,所付出的代價就是可能會得到較差的移動估測結果。

其中具代表性的可以分三類作法,第一類是利用取樣(sub-sample)的方式 或低通濾波器(low-pass filter)減少所要處理的畫面資訊已達到減少計算量的方 式,例如階級式移動估測(hierarchical ME)[14]。第二類是利用少數特定位置 來取代全部位置的搜尋方式,包括有三步搜尋法(3-step search)[3]、新三步搜 尋法(new 3-step search)[4]、四步搜尋法(4-step search)[5]及鑽石搜尋法(diamond

search)[6][7]等,第三類是預先判斷移動向量或提早結束移動估測以節省計算

量,例如連續消除演算法(successive elimination algorithm)[15]及預知移動向量 搜尋技術(predictive motion vector search technique)[18] 。

第一類的作法在作移動估測之前先減少畫面的資訊量,所以可以減少在區塊 匹配移動估測演算法所花費的計算量,並非直接改變搜尋的方式,而第二類及第 三類的作法是接下來要詳細介紹的部分,此類作法便是直接去改變全部搜尋的方 式而得到減少計算量的加速效果,而我們所發展出來的新演算法也可以歸類在此 類作法之中。

2.3.1 三步搜尋法 三步搜尋法 三步搜尋法 三步搜尋法

三步搜尋法(three-step search)是一種簡單而且能有效減少移動估測中所需 計算量的演算法,見圖 2.8,一開始做區塊匹配的計算時,與全部搜尋不同的是 只先從圖中九個位置開始,再利用九個位置所算出的SAD 值決定接下來第二步 的位置,以圖中為例,當發現第一步中(4, 4)位置所得的是最小的SAD值時,

第二部便從此位置四周再做九個位置的區塊匹配,但是此九個點間的距離只有第 一步所的一半,做完第二步後再以相同的方式完成第三步的搜尋,即可得到最後 的搜尋結果,這也是三步搜尋法名稱的由來。從圖例中,可以發現每完成一次區 塊的移動搜尋,在搜尋窗口為±7的大小中只需要25個位置的計算,相較於全部 搜尋需要255個位置的計算只需1/9的計算量,所以此三步搜尋法到目前還是加

快區塊匹配移動估測演算法常見的快速演算法之一。

圖 2.8 三步搜尋法

但是三步搜尋法由於第一步就決定接下來搜尋的位置,所以有時會因為些微 SAD 值的差異或是一開始位置的差異過大,而導致接下來第二、第三步所做的 區塊匹配沒有機會找到較好的移動向量,導致移動估測的效果不佳,所以為了改 善此一缺點,就改進演算法而有了新三步演算法(new three-step search)。

2.3.2 新三步搜尋法 新三步搜尋法 新三步搜尋法 新三步搜尋法

新三步搜尋法(new three-step search)的演算法是改進原來三步演算法在小 幅度移動的缺點,所以在原來九個位置的搜尋點外再加上中心(0,0)位置四周 八個點,如圖2.9,在第一步的17個區塊匹配中,如果最小的SAD值位於外圍 的八個位置,那接下來的第二步、第三步與原來的三步搜尋法作法一樣,但是要 是最小的SAD 值位於中心周圍八個位置,那下一步就只需作一個緊鄰其位置四 周的區塊匹配,所以此演算法不但較適用於移動量較小的連續影像,在總計算量 上也比三步搜尋要小。

圖 2.9 新三步搜尋法

但在之後的研究中發現無論是三步搜尋法或新三步搜尋法都有還是含有多 餘的計算量,原因就在於在第一步搜尋時,有一些位置的區塊匹配是不必要的,

所以後來為了更節省計算量,針對連續影像移動估測結果的統計數據而設計出了 新的演算法。

2.3.3 四步搜尋法 四步搜尋法 四步搜尋法 四步搜尋法

根據許多連續影像的移動估測的統計結果,可以得知大部分的移動向量都是 位在於中心點及緊鄰中心點的位置,從相關研究論文[9]的統計數據中可以畫出 圖2.10,可以很清楚的發現在±7的範圍中可以得到移動向量的機率都是落在中心 處,遠高於在其它較遠的周圍機率,而此類連續影像共有的特質被稱為偏中心的 移動向量分佈(center-biased motion vector distribution),以此為出發點所設計的 演算法是近年來常見的改進方式,這裡先介紹的是四步搜尋法(four-step search) [5]。

圖 2.10 移動向量統計結果

參考圖2.11,由於是考量到偏中心的移動向量分佈,所以四步搜尋法的第一 步的區塊匹配位置比三步搜尋法還靠近中心點,當比較出最小的SAD 值的位置 後,接下來的第二、第三步便是以同樣的格式移動去增加新搜尋的位置,到了第 四步便結束估測,而且此步的區塊匹配改為計算最小的 SAD 值的緊鄰八個位

參考圖2.11,由於是考量到偏中心的移動向量分佈,所以四步搜尋法的第一 步的區塊匹配位置比三步搜尋法還靠近中心點,當比較出最小的SAD 值的位置 後,接下來的第二、第三步便是以同樣的格式移動去增加新搜尋的位置,到了第 四步便結束估測,而且此步的區塊匹配改為計算最小的 SAD 值的緊鄰八個位

相關文件