20
DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION ESTIMATOR FOR VIDEO ENCODING 系所:電機所ICS組 教授:吳安宇 學生:趙維民 學號:R89921144

DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

DSP VLSI ARCHITECTUREPROJECT REPORT

HYBIRD MOTION ESTIMATORFOR VIDEO ENCODING

系所:電機所ICS組

教授:吳安宇

學生:趙維民

學號:R89921144

Page 2: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

ABSTRACT

運動向量估計是影像壓縮中是最重要也是運算量最大的部分,我提出一個

新型的可適應式運動向量估計,可以針對不同的應用環境,提供有效率地實現

快速全區域搜尋與菱形搜尋法,比較過去所使用的 Systolic-Like架構,我的設

計無論是在面積、速度、功率上都有更好的表現。我同時考量了系統平台的整

合,採用截斷位元的技巧可以節省系統匯流排的頻寬,同時可以提供現有MPEG4

Core Profile Level 2中的運動向量估計所需要的巨大運算量。

I.INTRODUCTION

運動位移估計(Motion Estimation)是視訊壓縮中的一項重要的技術,目的在

於減少在不同時間軸上畫面與畫面間多餘的資訊(Temporal Reduction),以達到

有效地減少傳輸的資訊量。在處理移動位移估計的演算法之中,以方塊為比對

基礎的演算法(Block Matching Algorithm)是最被採納的方式,而當中以全區域搜

尋演算法(Full Search Block Match)最能夠有效地減少畫面間多餘的資訊量,但

是因為需要大量的運算量,在過去有許多的快速演算法被提出,有的是利用減

少搜尋位置的數目[1]~[3],有的是減少比對方框的圖樣[4],但是這些快速演算

法的缺點是,相對於 FSBM,找到的移動位移向量並不是最佳的,並且由於這

些快速演算法都具有不規則的性質,並不適合於超大型積體電路(VLSI)上的實

現,因此在傳統的硬體實現上,多是採用 FSBM,而有 1-D Systolic Array[9]、2-D

Systolic Array[10]、Snake-Like Array[11] 等架構的提出。

最近幾年來,許多的研究放在減少原有的 FSBM的運算量,並且保有最佳

的運動位移向量之上,統稱為快速全搜尋演算法(Fast Full Search Algorithm)。一

是採取使用某種運算量較小的測量方法,來減少不必要的搜尋位置,這類包括

了(Successive Elimination Algorithm)[6]、(Multilevel Successive Elimination

Algorithm)[7],另一是當計算某一搜尋位置的平均絕對值誤差(Mean Absolute

Error)時,當誤差超過一定的界限時,就不用再繼續計算此位置的MAE,這類

包括了 Partial Distortion Elimination[8]。

我提出了一個新的架構,可以有效地時實現快速全區域搜尋(Fast Full Search)

以及快速運動位移估計(Fast Motion Estimation),我採取了 SEA與 PDE的策略,

並且在演算法上分析掃描方式對 SEA與 PDE的影響。同時,提出了一個完整

的硬體設計,以加法樹(Adder Tree)[23]作為運算的核心,無論是在速度與面積

上都比以往的架構更有效率。針對使用 SEA而多出的記憶體,我使用了資料截

斷的技巧來減少其大小,並且節省了與系統整合時的匯流排頻寬。對於搜尋型

態(Searching Pattern),我採用的重新組裝機制(Reconfigurable Technique)可以實

現減少搜尋位置的快速演算法,進一步提供更大畫面或更高的影像圖框速率。

Page 3: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

我並且針對握了實現MPEG-4標準的運動位移估計的整個系統整合作作討論。

以下各個部分分別為討論(II)以方塊比對全區域搜尋演算法的分析與改進方

法(III)使用加法樹為核心的五級硬體架構(IV)硬體效率的分析(V)以資料截斷的

方法來減少記憶體的使用量(VI)使用重新組裝機制以實現不同的快速演算法(VII)

對於MPEG-4系統中的移動向量估計所提出的考量。

II.以方塊比對全區域搜尋演算法

移動位移估計的處理方式是找尋目前圖框(current frame)的方塊(macroblock)

與在參考圖框(reference frame)中的最相似的方塊,通常搜尋區域是在參考圖框

中相對於目前方塊位置的一個範圍[-p,p]之內,而非整個圖框。在考慮運算量的

情形下,最佳相似的定義是使得兩個方塊的絕對值誤差總和(Sum of Absolute

Difference)最小,標準的全區域搜尋演算法整理如下:

目前圖框 參考圖框目前方塊(x,y) 相對位置(x,y)

搜尋範圍

2p

2p

相對於(x,y)的搜尋位置(i,j)

圖一

代表搜尋範圍  

的參考方塊的點  在搜尋位置為

座標,對於代表在參考圖框中,相  

的點前方塊代表在目前圖框中,目  

代表方塊的長與寬  

其中

為最小時的使得移動向量為

  

p

ji

yxljykixC

yxlykxC

N

SADnjminm

pjipljykixRlykxCjiSADN

k

N

l

)4(

),(

),(),()3(

),(),()2(

)1(

,),,(

)1........(,),(),(),(1

0

1

0

++++

++

==

≤≤−++++−++= ∑∑−

=

=

分析傳統的FSBM,每個基本的運算動作為兩點值相減後,取絕對值,再

Page 4: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

累加,而對於每個搜尋位置都必須要處理N*N個基本運算動作,共有2p*2p個搜

尋位置,因此對於每一個方塊都必須要有N*N*2p*2p次的基本運算動作,如此

巨大的運算量使得移動位移估計成為影像壓縮中運算量最大、最需要最佳化處

理的部分。

我採用了兩個技巧,分別是SEA與PDE來減少FSBM的運算量。SEA使用了

式(2)的不等式,對某搜尋位置(i,j),當U-V大於目前最小的SAD則代表著S必定

大於目前最小SAD,因此當此條件成立的時候,就可以排除計算此搜尋位置的S

值,因為計算U,V的運算量是很小的,對於測試的影像序列大約有55%的搜尋位

置會被排除。我使用PDE的方法是,每次累加一列,當累加的值已經大於目前

最小的SAD時,就放棄此搜尋位置的計算,平均可以減少75%的運算量。在[26]

中提出以螺旋狀的方式在搜尋區域內選取搜尋位置,相對於傳統的左上至右下

掃描,可以很快地得到較小的SAD值,而大幅提昇PDE與SEA的效率,因此在

模擬中採取了此種選取方法,圖二。

∑∑

∑∑

∑∑∑∑∑∑

=

=

=

=

=

=

=

=

=

=

=

=

++++=++==

−≥−==

1

0

1

0

'

1

0

1

0

'

'''

1

0

1

0

'1

0

1

0

'1

0

1

0

'''

)4.........(..........),(

)3........(..........),(

),(),(),,(),(),,(

)2(..........),(),(),(),(

N

k

N

l

N

k

N

l

N

k

N

l

N

k

N

l

N

k

N

l

lkRV

lkCU

ljykixRlkRlxkxClkCjiSADSAD

lkRlkClkRlkCSADS

 其中

在模擬中,我選取了四種具有不同運動特性的影像序列 (表一 ),Motion

Activity代表者前景的運動的形變與移動速度的程度,Global Motion代表著整體

影像序列運動,一般可以視為拍攝的攝影機運動,分別使用不同運動程度的測

試影像序列來模擬一般相似的影像運動的效果。由表二的模擬結果,使用了PDE

與SEA的BMFS,平均可減少至原來的15%運算量(表二)。

Stefan Table Coastguard WeatherMotionActivity

Large Large Medium Small

GlobalMotion

HorizontalTranslationAnd Zoom

HorizontalTranslationAnd Zoom

HorizontalTranslation

Still

表一

Page 5: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

Sequence FSBM FSBM+Spiral SEA

FSBM+Spiral PDE

FSBM+Spiral SEA+Spiral PDE

Table 1 0.50 0.27 0.17Stefan 1 0.33 0.22 0.10Coastguard 1 0.47 0.24 0.14Weather 1 0.04 0.03 0.009

表二

圖二

Page 6: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

圖三

圖四

Page 7: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

圖五

我針對不同影像序列作運動向量分析(圖二~圖五),X與Y軸方向代表運動

向量的X與Y方向的位置,Z軸則代表在所有的搜尋位置之中,SAD值佔較小的

10%比例的標準化後的數量,可以明顯地發現,SAD中10%較小部份的分布是

由中心向外遞減地,因此,相對於傳統由左而右的方向,我採用了旋轉式的掃

描的方向(圖六),以這一種掃描的方向,可以提高SEA與PDE的效率。

根據空間上的相關性,相鄰的兩個方塊的運動向量是相似的,因此我針對

預測向量與真正地運動向量作分析,(圖七)的橫軸是預測向量與真正運動向量

的差值,單位是cityblock,也就是X軸方向兩者差的絕對值加上Y軸方向上兩者

差的絕對值,縱軸方向是每個方塊的運動向量的累增機率,分析的結果可以發

現,20%的預測向量可以在一開始正確猜測到運動向量,而另外20%的運動向

量是分布在預測向量的相鄰上下左右四個點的位置,因此,我採取搜尋方向是,

先計算預測向量的SAD值,再在原點的方向作旋轉地掃描方式來選取搜尋位置,

實驗地結果發現可以同時增加SEA與PDE的效率。

Page 8: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

Spiral Scan Raster Scan

圖六

0

0.2

0.4

0.6

0.8

1

1.2

0 5 10 15 20 25 30

cityblock between predictor and MV

percent of MBs

table

stefan

coastguard

weather

圖七

III.硬體架構的考量

(圖八)為整個硬體的方塊圖,整個系統分成 Search Position Generator(SPG)、

Search Position Filter(SPF)、FIFO、Distortion Calculation(DC)、Comparator五級

(CMP)。SPG負責產生下一個要處理的搜尋位置,SPF判斷 SPG產生出的搜尋

位置作 SEA的判斷,當為有效的搜尋位置時,將此搜尋位置存放於 FIFO級中,

DC則讀取 FIFO內的搜尋位置,並且計算 SAD值,同時使用 PDE的技巧來提

早排除不必要的運算,Comparator級則比較計算出的 SAD值與目前最小的

SAD,並且將最適合的移動向量存於暫存器之中。級與級之間的訊號互相連接,

以這種區域性的訊號控制架構,可以很有效率的切隔 Pipeline,同時很容易地提

高系統的工作頻率。

SPG、 SPF都是需要一個 cycle處理,而 DC級需要 32週期處理,為了要

Page 9: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

使得每一級間的效能達到最大,我使用了中間的 FIFO級,用來儲存所產生的

有效搜尋位置,(圖九)A為不使用 FIFO級的結果,B則是使用 FIFO級的結果,

使用 FIFO級可以大量提升 DC級的硬體使用率。

SearchPattern

GeneratorFull

Pattern/DiamondPattern

SearchPatternFilter

valid

rd

sr_x

sr_y

sr_id

wr

sr_x

sr_y

sr_id

full

FIFODistortion

Calculation

rd

sr_x

sr_y

sr_id

empty

Comparator

SAD

sr_x

sr_y

sr_id

mv_xmv_ymv_id

minSAD

empty

done

ControlSignals

Output

圖八

SPG1

DCSPF1

1 1 32

SPG1

SPF1

DC1

SPG2

SPF2

SPGk

SPFk

DCNext Valid Position

...

...SPGk+1

SPFk+1

FIFO Full &Wait

n FIFO Full &Wait

SPG2

SPF2

1 1

SPGk

SPFk

1 1

...

SPGk+2

SPFk+2

(A)

(B)

DCNext Valid Position

FIFO Full &Wait

FIFO Full &Wait

SPGk+3

SPGk+4

SPFk+3

SPFk+4

圖九

SPG 級是用來產生依照順序的搜尋位置,並且可以提供全區域搜尋、菱形

搜尋或是其他種類的搜尋圖樣。使用全區域搜尋時,可以找到最相似的方塊以

及最小的 SAD值,但是需要較長的時間,使用菱形搜尋時,可以花費較少的時

間但是相似於全區域搜尋的結果[27],根據不同的應用環境,SPG 級具有不同

搜尋圖樣的重組能力(Reconfigurable)。

DC的核心架構為一 8個輸入的加法樹(圖十),不同於傳統使用 PE陣列,

使用加法樹可以有效地化減每一級間的累加,使用 8輸入的加法樹只需要 8個

決對值相減器、4個 8位元的加法器、2個 9位元的加法器、1個 16位元的加

法器與一個 16位元的暫存器,而傳統的 PE陣列(圖十一)需要 8個決對值相減

器、8個 16位元的加法器與 8個 16位元的暫存器,因此我的架構可以戲劇性

地減少使用的面積。此外,加法樹的架構可以有效地切割 pipeline,容易地提高

Page 10: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

系統的工作頻率,所以,此架構經過適當的分級後,可以達到高速系統的要求。

相對地,比較 Systolic-Like的 PE陣列結構,加法樹的架構不能達到有效率的資

料重複使用率,因此為了要提供 8個 8位元的輸入給加法樹,我使用了分散記

憶體的架構(Interleaved Memory Module,圖十三),以便可以讀入任意位置的記

憶體內的值,對於相鄰的點,分別存入 8個不同的記憶體模組之中,如圖十二,

當要讀入紅色框內的記憶體資料時,可以產生不同位置輸入不同的記憶體模組,

經過適當的旋轉移位電路後,可以讀出安排好的適當 8個點的資料,如此的記

憶體分配可以解決加法樹架構需要大量平行地輸入資料的要求。

AD AD AD AD AD AD AD AD

A A

8

A A

A A

9

A

10

11

M

8

圖十

AD

ADDER

REG16

8 816

8

16

8

圖十一

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

圖十二

Page 11: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

AGX,Y

A0 & A1

MUX1

A0

A1

MUX2

A0

A1

MUX3

A0

A1

MUX8

A0

A1

Mem0 Mem1 Mem2 Mem8

...

Rotate Shifter

8 8 8 8 8 8 8 8Read/Write ...

圖十三

IV.硬體模擬的分析

與傳統的 Systolic-Like的移動向量評估架構不一樣的地方,我提出的可適

應的移動向量評估架構可以針對不同的影像序列的複雜度而需要不同的運算

量,(圖十四)為針對 Stefan影像序列所做的分析,(圖十五)為針對Weather影像

序列所做的分析,橫軸為各個影像方塊的編號,縱軸則是所需要的週期數目,

平均而言相當於傳統使用 64個 PE陣列的處理能力,同時,會因為可適應的能

力,在功率的上也是更有效率地節省。對於運動量大的 Stefan影像序列,平均

需要 4723週期,而標準差為 3788週期,而對運動量小的Weather影像序列,

平均需要 1376週期,而標準差為 1019週期(表三)。與以前的作品做比較,無

論是在面積、需要的週期、功率的消耗上,我提出的適應性移動向量評估架構

都有很好的表現(表四)。

Page 12: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

圖十四

圖十五

Page 13: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

Average(Cycles)

Minimum(Cycles)

Maximum(Cycles)

StandardDeviation(Cycles)

This Work forWeather Seq.

1376 1038 13515 1019

This Work forStefan Seq.

4723 1055 25831 3788

16 PEsSystolicArchitecture

16400 16400 16400 0

32 PEsSystolicArchitecture

8208 8208 8208 0

表三

Ishihara‘95[12]

A.Otani‘95[13]

H.D.Lin‘96[14]

G.Fujita‘97[15]

J.F Shen‘98

This Work

Clock Rate 40Mhz 80Mhz 66Mhz 15Mhz 60Mhz 50MhzTransistors 850K 1500K 162K 48K 267K 29.5K

(5.9K Gates)And *2=213K

FramePrecision

Half Integer Integer Half Half Integer

Block Size 16 16 16 16,8 32,16,8 16AP Mode No No No Yes Yes NoPB Mode No No No Yes Yes NoRRU Mode No No No No Yes No*1*2RAM for Current MB – 2048 BitsRAM for Reference Searching Range – 18432 BitsRAM for Reference Sum – 16384 Bits

表四

V.以資料截斷的方法來減少記憶體的使用量

由於在硬體的架構之中,需要多使用一塊記憶體來儲存搜尋位置的參考方

塊總和,即(式 5)中的 V值,每個參考位置需要 16位元才能準確紀錄 V值,因

Page 14: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

此總共需要2p*2p*16位元的儲存空間。如果我們忽略LSD(Least Significant Digits)

部分的位元,在(式 5)中只比較MSD(Most Significant Digits)的部分,則可以節

省部分的儲存空間,但是相對地會對(2)式中加入因為資料截斷而產生的雜訊。(式

6~式 7)中,假設截斷後 K個位元的 LSD,則 N0、N1是資料截斷所產生的雜訊,

為了要維持不等式的正確性,必須要減去 2的 k次方,所以判斷式的準確度下

降,因而使得可以排除的運算減少。

我針對四種不同的影像序列所做的模擬分析,橫軸為截斷的位元數目,當

截斷數為 0時,代表使用 16位元來記錄尋位置的參考方塊總和,當截斷數為 8

時,代表使用 8位元來記錄尋位置的參考方塊總和,可以知道當截斷的位元數

增加的時候,(圖十六)顯示,當截斷的位元數遞增時,SEA的排除比率一開始

並沒有很多的變化,而當超過 8時,SEA的排除比率則會嚴重減少,而(圖十七)

顯示,當截斷的位元遞增時,PDE的排除比率幾乎是維持固定,而當超過 8的

時候,PDE的排除比率由略為上升的情形,因此,我們可以分析截斷位元數目、

移動位移估計的效能與記憶體的使用量的分析,(圖十八)的橫軸表示截斷位元

的數目,右方縱軸是移動向量評估的效能分析,左方縱軸是所使用的記憶體的

位元量,當截斷位元的數目為 8的時候,仍舊可以維持不截斷位元前的 95%的

效能,同時可以節省 1/2的記憶體位元數目(8192個位元數目)以及在相同的匯

流排寬下節省 1/2的記憶體存取時間。

)7...(..............................2)1()0(

21,00

)6....(..........).........10()1()0(

)5.(............................................................

''

''

'''

K

K

NVNUSAD

NN

NNNVNUSAD

VUSAD

−−+−≥

≤≤

−−−−−≥

−≥

  

0

20

40

60

80

100

120

0 1 2 3 4 5 6 7 8 9 10111213141516

Truncation Bits

Skip Percent (PDE)

Stefan

Coastguard

Weather

Table

圖十六

Page 15: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 1 2 3 4 5 6 7 8 9 10111213141516

Truncation Bits

Bits

0

2000

4000

6000

8000

10000

12000

14000

Cycles

RAMSizeStefan

WeatherCoastguardTable

圖十七

0

10

20

30

40

50

60

70

80

90

100

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Truncation Bits

Skip Percent (SEA)

Stefan

Coastguard

Weather

Table

圖十八

VI.使用重新組裝機制以實現不同的快速演算法

對於MPEG標準的系列,針對不同的應用,提出了不同的 Profile與 Level

來達成,並且較高層次的 Profile或 Level通常都必須要包含較低層次的 Profile

與 Level。利用搜尋圖樣重組能力,我提出的架構可以對於不同的應用提供不同

的特性的移動向量評估,來達成各種不同的 Profile與 Level。對於需要大圖像

或即時影像壓縮或需要低功率條件的系統,可以使用菱形搜尋或是三步搜尋的

搜尋圖樣,來達成在位元率固定的情形下,PSNR略減,但卻可以戲劇性地減

少所需運算量。而對於小圖像或需要低位元率且高畫質的應用,則可以使用快

Page 16: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

速全區域搜尋(圖十九,表五)。

Searching Position Gererator

Searching Position Filter

Distoration Calculation

Comparison

Full SearchSpiral Scan

DiamondPattern

minSAD & MV

圖十九

Mode AverageCyclesPer MB

GateCounts

Search RangeMemory Banks

Note

Fast FullSearch

4500 Achieve MPEG4Simple@L2CIF 30frames/sec

DiamondSearch

640*

7K 8

Achieve MPEG4Core@L2CIF 60frames/sec

*Processing time is shorter than loading time for local memory表五

VII.系統整合的考量

在視訊影像壓縮技術之中,移動向量估計佔有大部分比例的運算,以

MEPG4標準為例,達 80%以上,以過去的提出的硬體架構,都無法提供足夠

的運算能力(表六),我提出的可適應式運動向量估計(表五),可以根據不同的應

用要求而採用不同的工作模式。(圖二十)是我提出一個完整的系統考量,ME是

我提出的可適應的運動向量估計模組,與一個系統平台結合時,在 CIF 352x288

的圖框大小,每秒 60張,需要需要消耗 RISC核心 12MIPS的運算量,在 50Mhz

的工作頻率下,會佔用 50%的匯流排頻寬,因此可以有效率地整合在已有的硬

體平台之中。

Page 17: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

Number OfPEs

Cycles Per MB GateCounts

Search RangeMemory Banks

Note

16 PEs* 16384 18K 232 PEs 8192 32K 464 PEs 4096 60K 8 For CIF 30fps P-

picture, it canachieve real timeapplication

128 PEs 2048 116K64 PEs, 2-DArray[25]

QCIF 8MhzCIF 72MHz4CIF 300Mhz

94K Needs ExtraSAD Memory

*1The cycles and gate counts are computed based on a reasonable model.表六

RISC12 MIPS

64 Bits Bus Width

SDRAMController

SDRAMModule

ME

(a) 32+288+256=576 Words each MB-based ME(b) each MB need two MB-based ME(c) each MB need 1152 Words

If CIF 60 fps = 23,760 MBs/Sec =MPEG4 Core@L2Then We Need 27.37 MegaWords/Sec

圖二十

VIII.結論

在影像壓縮的技術之中,運動向量估計是最重要的部分,隨著MPEG系列

的運算複雜度漸增,在合理的成本之下,傳統的 Systolic-Like架構並不合適於

其應用,我提出的新型的可適應式運動向量估計,可以針對不同的應用環境,

提供有效率地實現快速全區域搜尋與菱形搜尋法,比較過取採用 Systolic-Like

的架構,我的架構提供的運算能力相當於 Systolic-Array 64PEs的效能,而無論

是在面積、速度、功率上都有非常好的表現。同時,我考量了對於以平台為基

礎的系統設計(Platform-Based Design),大約使用 12MIPS的運算量與 27M

Entry/Sec的資料傳輸,並且使用了資料截斷的技巧,可以減少因為使用 SEA而

需要的多出記憶體量與資料傳輸達 1/2的比率。

Page 18: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

ACKNOWLEDGE

我在這次的期末報告之中,選擇了運動向量估計作為我的主題,原來的預

期目標是學習過去的硬體架構,並且希望未來對我的研究主體MPEG4 ECODER

有助益,在研究的過程之中,發現過去的硬體架構在合理的考量之下,在適中

的邏輯閘數目(<100K),與較低的工作頻率(<100Mhz),都無法提供足夠的運算

能力來符合MPEG4的標準。因此,這次的期末作業變成為推動我的一項助力,

要研究各種的快速演算法,也想出一個適合的硬體架構,同時也希望針對硬體

的特性提出適合的快速演算法,在一個多月來,撰寫 C模擬程式,Intel MMX

的加速程式,使用 Candence Verilog XL來模擬,Synopsys的 Design Complier

來作 Timing與 Gate Count的分析,並且針對我之前研究的 Platform-Based Design

與 Software-Hardware Co-operation的主體加以整合,可以說了為了寫好這篇期

末報告,投注了很大的心力,也在獲得很大的收穫。

REFERENCES

[1] J. N. Kim and T. S. Choi, “A fast three-step search algorithm with minimum

checking points using unimodal error surface assumption,” IEEE Trans. Consumer

Electron., vol. 44, pp. 638–648, Aug. 1998.

[2] L. M. Po and W. C. Ma, “A novel four-step algorithm for fast block motion

estimation,”IEEE Trans. Circuits Syst. Video Technol., vol. 6, pp. 313–317, June 1996.

[3] H. Ghanbari, “The cross-search algorithm for motion estimation,” IEEE

Trans. Commun., vol. 38, pp. 950–953, July 1990.

[4] Yui-Lam Chan; Wai-Lam Hui; Wan-Chi Siu, ”A block motion vector estimation

using pattern based pixel decimation,”Circuits and Systems, 1997. ISCAS '97.

[5] L. J. Luo, C. R. Zou, X. Q. Gao, and Z. Y. He, “A new prediction search algorithm

for block motion estimation for video coding,” IEEE Trans. Consumer Electron., vol.

43, pp. 56–61, Feb. 1997.

[6] W. Li and E. Salari, “Successive elimination algorithm for motion estimation,”

IEEE Trans. Image Processing, vol. 4, pp. 105–107, Jan. 1995.

[7]Gao, X.Q.; Duanmu, C.J.; Zou, C.R., ”A multilevel successive elimination

algorithm for block matching motion estimation,”Image Processing, IEEE

Transactions on , Volume: 9 Issue: 3 , March 2000

[8]Kim, Jong-Nam; Choi, Tae-Sun,”Fast block-matching algorithm using threshold-

based half stop, cross search, and partial distortion elimination,” Proc. SPIE Vol. 3974,

p. 844-852, 2000.

[9]K.M.Yang, M.T. Sun and L.Wu, “A Family of VLSI Designs for the Motion

Page 19: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

Compensation Block-Matching Algorithm,”IEEE Trans.Circuits Syst.,vol.36, no.

10,pp.1317-1325,Oct. 1989.

[10]L.D. Vos and M.Stegherr,”Parameterizable VLSI architectures for the Full-Search

Block-Matching Algorithm” IEEE Trans. Circuits Syst., vol.36,no. 10, pp.1309-1316,

Oct. 1989.

[11]Tzeng, E.G.; Chen-Yi Lee,” An efficient memory architecture for motion

estimation processor design,” IEEE Trans. Circuits Syst., 1995. Vol. 1, p.712-715.

ISCAS '95.

[12]K. Ishihara et al,“A Half-pel Precision MPEG2 Motion-estimation Processor with

Concurrent Three-vector Search,”in ISSCC Dig.Tech.Papers,San

Francisco,CA,pp.288-289,Feb 1995.

[13]A Ohtani et al.,”A Motion Estimation Processor for MPEG3 Video Real Time

Encoding at Wide Search Range,”in Proc. CICC, Santa Clara,CA,pp.405-408,May

1995.

[14] Horng-Dar Lin; Anesko, A.; Petryna, B.,”A 14-Gops Programmable Motion

Estimator for H.26X Video Coding,” IEEE J.Solid-State Circuits,vol. 31,no. 11,Nov.

1996.

[15]G.Gujita, T. Onoye, and I.Shirakawa, “A New Motion Estimation Core Dedivated

to H.263 Video Coding,” in 1997 IEEE Int. Symp. Circuit Syst.,vol 3,pp.1161-

1164,June 1997.

[16] S. Eckart and C. Fogg, “ISO/IEC MPEG-2 software video codec,” Proc.

SPIE, vol. 2419, pp. 100–118, 1995.

[17] ITU-T recommendation H.263 software implementation,”Digital

Video Coding Group, Telenor R&D, 1995.

[18] Y. Q. Shi and X. Xia, “A thresholding multiresolution block matching al-gorithm,”

IEEE Trans. Circuits Syst. Video Technol., vol. 7, pp. 437–440, Feb. 1997.

[19] S. B. Pan, S. S. Chae, and R. H. Park, “VLSI architectures for block matching

algorithms using systolic arrays,”IEEE Trans. Circuits Syst.

Video Technol., vol. 6, pp. 67–73, Feb. 1996.

[20] Y. C. Lin and S. C. Tai, “Fast full-search block-matching algorithm for

motion-compensated video compression,” IEEE Trans. Commun., vol.

45, pp. 527–531, May 1997.

[21] Y. Naito, T. Miyazaki, and I. Kuroda, “A fast full-search motion estimation

method for programmable processors with a multiply-accumulator,”in Proc. ICASSP,

1996, pp. 3221–3224.

[22] P. Kuhn, Algorithms,”Complexity Analysis and VLSI Architectures for MPEG-4

Motion Estimation,“ Norwell, MA: Kluwer, 1999.

[23]Hao-Chieh Chang, Liang-Gee Chen, Mei-Yun Hsu and Yung-Chi Chang,

Page 20: DSP VLSI ARCHITECTURE PROJECT REPORT HYBIRD MOTION …access.ee.ntu.edu.tw/.../Final_Project/R89921144_report.pdf · 2010-07-15 · dsp vlsi architecture project report hybird motion

"Performance Analysis and Architecture Evaluation of MPEG-4 Video Codec

System," in Proc. International Symposium on Circuits and Systems (ISCAS 2000),

Geneva, Swiss, May 2000.

[24]Yeu-Shen Jehng; Liang-Gee Chen; Tzi-Dar Chiueh,“An efficient and simple VLSI

tree architecture for motion estimation algorithms,” Signal Processing, IEEE

Transactions on , Feb. 1993.

[25] L. Fanucii, L. Bertini, S. Saponara, “Programmable and Low Power VLSI

Architecture for Full Search Motion Estimation in Multimedia Communications,”

ICME 2000

[26] Zahariadis, T.; Kalivas, D. , ”Fast algorithms for the estimation of block motion

vectors,”Electronics, Circuits, and Syst., Proceedings of the Third IEEE International

Conference on , p716-719, Vol. 2 , 1996

[27] Tourapis, A.M.; Au, O.C.; Liou, M.L.,“New results on zonal based motion

estimation algorithms advanced predictive diamond zonal search ,“ IEEE Circuits Syst.,

p.183-186, Vol. 5, 2001.