- Trang Chủ
- Điện - Điện tử
- Bộ ước lượng chuyển động nguyên thông lượng cao trên thuật toán Full-Search cho chuẩn H.264
Xem mẫu
- HộiHội
Thảo Quốc
Thảo Gia
Quốc 2015
Gia 2015vềvềĐiện
ĐiệnTử,
Tử,Truyền
TruyềnThông và Công
Thông và CôngNghệ
NghệThông
ThôngTinTin (ECIT
(ECIT 2015)
2015)
Bộ Ước Lượng Chuyển Động Nguyên Thông Lượng
Cao Trên Thuật Toán Full-Search Cho Chuẩn H.264
Huỳnh Quốc Thịnh và Bùi Trọng Tú
Khoa Điện Tử Viễn Thông,
Trường Đại Học Khoa Học Khoa Học Tự Nhiên Tp. Hồ Chí Minh
Email: hqthinh@fetel.hcmus.edu.vn, bttu@hcmus.edu.vn
Abstract— Trong bài báo này, chúng tôi đề xuất hai kiến trúc ASIC Có nhiều thuật toán để thực hiện ước lượng chuyển động
cho bộ ước lượng chuyển động nguyên dựa trên thuật toán Full- nguyên trong đó Full Search (FS) là thuật toán cho kết quả chính
Search cho chuẩn nén video H.264. Trong thiết kế, chúng tôi thực xác nhất[2]. Bằng cách so sánh với tất cả các MB có trong vùng
hiện tối ưu phần cứng cho bộ cộng SAD 2 chiều, cải tiến mảng lưu tìm kiếm, thuật toán FS sẽ tìm ra chính xác MB có giá trị nhỏ
trữ tìm kiếm kết hợp với việc tính toán song song đa đầu vào cho
nhất và cho ra vector chuyển động của current MB. Nhược điểm
thông lượng tính toán cao, tăng hiệu quả truy cập bộ nhớ. Thiết kế
được tổng hợp trên công nghệ 90 nm cho tần số hoạt động tối đa của thuật toán FS là độ phức tạp tính toán cao, tốn nhiều tài
là 300 MHz, thông lượng cao nhất 1186 chu kì/ 41MVs đối với nguyên. Để giảm độ phức tạp, theo các nghiên cứu, người ta chia
vùng tìm kiếm là [64x64], tài nguyên vào khoảng 215K Leaf Cell. thành 2 loại. Thứ nhất, giảm độ phức tạp tính toán bằng cách
giảm số điểm tìm kiếm ví dụ như Three Steps Search (TSS)[9],
Keywords- H.264/AVC, IME, Motion Estimation, VBSME, Full- Diamond Search (DS)[10], các thuật toán mở rộng như Four
Search. Steps Search[11]... Thứ hai là giảm độ phức tạp tính toán tại mỗi
điểm tìm kiếm bằng cách giảm mẫu[2]. Các thuật toán này có
I. GIỚI THIỆU
thời gian tìm kiếm nhanh, giảm độ phức tạp tính toán nhưng lại
H.264 là chuẩn nén tiên tiến với nhiều ưu điểm do tỉ lệ nén làm giảm chất lượng hình ảnh và thường được sử dụng trong các
khá cao mà vẫn giữ được chất lượng hình ảnh khá tốt[1]. Ngày ứng dụng hình ảnh có độ phân giải thấp hay các ứng dụng trên
nay, chuẩn nén H.264 được sử dụng rộng rãi trong hầu hết các di động. Hướng tới các ứng dụng video chất lượng cao thông
ứng dụng video từ tốc độ thấp cho đến các ứng dụng độ phân thường các bộ ước lượng chuyển động dựa trên thuật toán Full
giải cao. H.264 sử dụng kỹ thuật ước lượng chuyển động đa kích Search và được thực hiện trên phần cứng[4]. Bài báo này thực
cỡ khối (Variable Block Size Motion Estimation, VBSME) và hiện xây dựng bộ ước lượng chuyển động nguyên dựa trên thuật
được thực hiện qua 2 bước: ước lượng chuyển động nguyên toán Full Search để ứng dụng vào các video chất lượng cao.
(Integer Motion Estimation, IME) và ước lượng chuyển động Nội dung của bài báo được tổ chức như sau: Phần I là giới
thập phân (Fraction Motion Estimation, FME). Trong đó, bộ ước thiệu chung về ước lượng chuyển động, phần II giới thiệu các
lượng chuyển động nguyên có vai trò quan trọng trong việc giảm nghiên cứu và kiến trúc phần cứng cho thuật toán Full Search,
độ dư thừa, tăng khả năng nén và cũng là thành phần có độ phức phần III nêu kiến trúc đề xuất và thực hiện, phần IV là kết quả
tạp tính toán cao, tốn nhiều thời gian và tài nguyên của hệ thống và đánh giá thiết kế, cuối cùng là kết luận.
mã hóa H.264[2].
Kỹ thuật ước lượng chuyển động dựa trên các thuật toán dò II. CÁC KIẾN TRÚC CHO IME
tìm khối (BMA-Block Matching Algorithm) để tìm kiếm vector Có nhiều nghiên cứu cho ước lượng chuyển động với kích cỡ
chuyển động. Ý tưởng của BMA là chia khung hiện tại thành các khối thay đổi với các kiến trúc mảng một chiều, 2 chiều, kiến
khối nhỏ (Macro Block, MB), sau đó so sánh từng MB này với trúc song song đa lối vào hoặc kiến trúc sử dụng bộ cộng hình
các MB xung quanh của khung tham khảo, còn gọi là vùng tìm cây[2,4,6,7,8]… Kiến trúc IME trong tham khảo[4] và [5] cho
kiếm, để tìm vector chuyển động. Mức độ khác nhau giữa 2 MB thông lượng xử lý cao nhưng cần bộ nhớ cho vùng tìm kiếm lớn
được xác định bằng cách tính tổng độ sai khác giữa các pixel. (2p + N-1)2. Kiến trúc [5] còn có hạn chế là tốn nhiều thời gian
Có nhiều cách để tính độ sai khác, trong đó phương pháp được cho bước khởi tạo ban đầu. Tham khảo [6] sử dụng hiệu quả các
sử dụng rộng rãi nhất là Sum of Absolute Difference (SAD). Để đơn vị xử lý nhưng vùng tìm kiếm bị hạn chế. Tham khảo [7]
xác định được SAD nhỏ nhất ta dựa vào công thức (1) và (2). cho thông lượng khá cao nhưng tốn rất nhiều đơn vị xử lý. Các
Trong đó, CB là khối thực thi hiện tại (Current Block), RB là kiến trúc này có sự đánh đổi giữa dung lượng và lượng truy cập
khối tham chiếu (Reference Block), SR là dải tìm kiếm (search dữ liệu bộ nhớ, giữa thông lượng xử lý và tài nguyên hệ thống.
range), i, j là vector chuyển động (Motion Vector, MV). Trong số các thiết kế này, 2-D SAD tree IME[4] cho thông
𝑁𝑁−1 𝑁𝑁−1
(1) lượng cao và được ứng dụng trong các bộ mã hóa H.264/AVC
𝑆𝑆𝑆𝑆𝐷𝐷(𝑖𝑖,𝑗𝑗) = ∑ ∑|𝐶𝐶𝐶𝐶(𝑚𝑚,𝑛𝑛) − 𝑅𝑅𝑅𝑅(𝑚𝑚+𝑖𝑖,𝑛𝑛+𝑗𝑗) | cấu hình cao. Hình 1 mô tả kiến trúc của một khối IME cơ bản.
𝑚𝑚=0 𝑛𝑛=0
Bộ nhớ khối hiện tại (CMB) lưu trữ 16x16 pixel của current MB
(2)
𝑆𝑆𝑆𝑆𝑆𝑆𝑚𝑚𝑚𝑚𝑚𝑚 = min(𝑆𝑆𝑆𝑆𝐷𝐷(𝑖𝑖,𝑗𝑗) ) , − 𝑆𝑆𝑆𝑆 ≤ 𝑖𝑖, 𝑗𝑗 < 𝑆𝑆𝑆𝑆 trong khi bộ nhớ Vùng tìm kiếm (RMB) sẽ lưu trữ các giá trị
trong vùng tìm kiếm. Các giá trị từ 2 bộ nhớ này sẽ được đưa
ISBN: 978-604-67-0635-9 190
190
- HộiHội Thảo
Thảo Quốc
Quốc Gia
Gia 2015về
2015 vềĐiện
ĐiệnTử,
Tử,Truyền
TruyềnThông
Thông và
và Công
CôngNghệ
NghệThông
ThôngTinTin
(ECIT 2015)
(ECIT 2015)
đến Mảng tính toán để tính độ sai khác sau đó sẽ được cộng lại thì lưu mỗi lần sẽ là 64 bit (8 pixel) và cần 10 chu kì để dịch
với nhau cho tất cả các kích thước khối ở bộ cộng SAD. Các đầy mảng 80 pixel. Trong thiết kế đề xuất, chúng tôi sử dụng 2
SAD này sẽ được so sánh với nhau để đưa ra các giá trị SAD bộ đệm SIPO, một bộ vào nối tiếp 64 bít ra song song 128 bit
nhỏ nhất từ đó tìm được các vector chuyển động. cho việc lưu giá trị hiện tại (CMB) và một bộ vào 64 bít ra 640
Off-chip bít (80 pixel) cho việc lưu giá trị tham khảo (RMB). Bộ CMB
Off-chip MEM
MEM
là mảng thanh ghi chứa 16x16 pixel, load song song cùng lúc
16pixel/chu kì để chứa các giá trị của khối hiện tại, kết hợp với
IME
IME SIPO ta cần 33 chu kì để lưu đầy mảng. RMB là mảng thanh
ghi dịch vòng, có thể lấy dữ liệu song song và dịch trái, phải.
Bộ
Bộ nhớ
nhớ Vùng
Vùng tìm
tìm kiếm
kiếm Kích thước độ rộng mảng chính bằng kích thước của macro
Khối
Khối hiện
hiện tại
tại (SRAM)
(SRAM) block (N). Kích thước độ dài của mảng phụ thuộc vào kích
thước ngang (p) của vùng tìm kiếm và bằng 2p + N (pixel). Ví
dụ, trong thiết kế của đề xuất này, độ rộng MB N = 16, kích
Mảng
Mảng tính
tính toán
toán thước tìm kiếm p = 32 thì chiều dài của mảng là 80 pixel và kích
thước mảng sẽ là 80x16 pixel. Dữ liệu đầu vào được lấy từ thanh
ghi SIPO và đầu ra được đưa đến các bộ PEs. Khi kết hợp với
Bộ
Bộ cộng
cộng SAD
SAD SIPO, để lưu đầy RMB ta cần có 10 x 16 + 1 = 161 chu kì. RMB
có chức năng giữ giá trị hiện tại cho các khối PE tính toán đồng
thời lưu phần không tính toán để sử dụng cho các dữ liệu tìm
kiếm tiếp theo. So với SRAM chứa cả vùng tìm kiếm thì mảng
SAD
SAD dịch vòng chỉ chứa phần tính toán hiện tại và điểm tìm kiếm
trong một hàng của vùng tìm kiếm. Các hàng tính toán xong sẽ
Hình 1: Sơ đồ hệ thống IME cơ bản được loại khỏi mảng (không dùng đến nữa) và được thay thế
bằng hàng mới trong vùng tìm kiếm. Kết hợp với hướng tìm
Để thực hiện ước lượng chuyển động, đầu tiên tất cả các pixel kiếm kiểu “snake scan” giúp làm tăng hiệu quả truy cập tính
trong vùng tìm kiếm phải được đưa vào bộ nhớ tìm kiếm SW. toán.
Nếu kích thước vùng tìm kiếm ngang là [-p,p-1] và dọc là [-q,
q-1] thì kích thước bộ nhớ là 4pq (pixel), do đó IME cần 1 bộ
nhớ để lưu trữ vùng tìm kiếm sau đó mới đưa vào các thanh ghi SIPO SIPO
ĐIỀU KHIỂN
để tính toán. Hơn nữa, có 2 dạng truy cập bộ nhớ trong bộ cộng TRUY CẬP
SAD là truy cập hàng và truy cập cột mà SW chỉ hỗ trợ truy cập BỘ NHỚ
hàng hoặc cột nên truy cập cột sẽ được thực hiện bằng cách truy
CMB RMB
cập nhiều hàng và ngược lại. Với H.264/AVC, MB có kích
thước là 16x16 sẽ dẫn đến truy cập 1 cột cần truy cập đến 16
hàng. Vậy, truy cập cột sẽ cần 16 chu kì clock nếu truy cập hàng BỘ ĐIỀU KHIỂN
cần 1 chu kì. Do đó, việc truy cập bộ nhớ phức tạp và cần băng MẢNG 16x16 PEs
thông lớn. Ví dụ kiến trúc SAD trong [4] dữ liệu truyền từ bộ
nhớ vào thanh ghi là Nx8bit/chu kì. SAD ADDER TREE
Dựa vào những phân tích trên, chúng tôi tiến hành thực hiện
trên bộ IME trên 2 mô hình khác nhau sau đó đánh giá hiệu quả BỘ PHÁT
ĐỊA CHỈ
từng mô hình để lựa chọn phù hợp cho từng ứng dụng của chuẩn BỘ SO SÁNH (SAD COMPARATOR)
nén video H.264. 41 MVs
III. KIẾN TRÚC ĐỀ XUẤT CHO BỘ IME
Hình 2: Mô hình IME được đề xuất
Sơ đồ tổng quát của hệ thống được minh họa ở hình 2 bao
gồm các thành phần sau: 256 đơn vị xử lý tính toán song song Mảng 16x16-PEs một ma trận gồm 256 khối đơn vị tính toán
các giá trị sai khác của pixel giữa khối hiện tại và khối tham giá trị tuyệt đối giữa các pixel hiện tại và các pixel tham khảo
khảo; một mảng các thanh ghi dịch vòng ghi dữ liệu vào song dựa vào công thức (3).
song và có thể dịch trái, dịch phải; bộ SIPO là các thanh ghi (𝑎𝑎 + 𝑏𝑏 ′ ) + 1, 𝑣𝑣ớ𝑖𝑖 𝑎𝑎 > 𝑏𝑏
|𝑎𝑎 − 𝑏𝑏| = { (3)
đệm vào nối tiếp ra song song giúp tăng hiệu quả truyền dữ liệu; (𝑎𝑎 + 𝑏𝑏 ′ )′ , 𝑣𝑣ớ𝑖𝑖 𝑎𝑎 ≤ 𝑏𝑏
mảng 16x16 thanh ghi chứa dữ liệu khối hiện tại; bộ cộng các Bộ cộng SAD là một bộ cộng 2 chiều dùng để tính toán các
giá trị sai khác có kiến trúc hình cây 2 chiều; và so sánh các giá giá trị SAD của 41 kích thước khác nhau của 1 macro block.
trị SAD. Ngoài ra còn có bộ điều khiển truy xuất bộ nhớ và bộ Mô hình bộ cộng được chỉ ra ở hình 3. MB 16x16 được chia
điều khiển của toàn hệ thống. thành 4 khối 8x8 tương ứng B0-B3. Mỗi khối 8x8 lại được chia
Các SIPO là các thanh ghi đệm vào nối tiếp và ra song song thành 4 khối 4x4, vậy có tất cả 16 khối 4x4 tương ứng từ C0-
có đầu vào bằng với độ rộng bus của bộ nhớ ngoài và có chiều C15. Tầng đầu tiên là 16 bộ cộng 4x4 được thiết kế dựa trên bộ
dài phụ thuộc vào bộ nhớ mà nó hỗ trợ nhằm để tăng hiệu quả cộng Carry Save Adder 16 ngõ vào. Ở các tầng tiếp theo ta cộng
truy cập bộ nhớ. Ví dụ, độ rộng bit của bộ nhớ ngoài là 64 bit các kết quả từ bộ cộng 4x4 để cho ra các kích thước khối lớn
191
191
- Hội Hội
Thảo Quốc
Thảo GiaGia
Quốc 2015 vềvềĐiện
2015 ĐiệnTử,
Tử,Truyền
TruyềnThông
Thông và CôngNghệ
và Công NghệThông
ThôngTinTin (ECIT
(ECIT 2015)
2015)
hơn. Nếu sử dụng các bộ cộng thông thường thì độ trễ qua các 𝑆𝑆𝑆𝑆𝑆𝑆
bộ cộng rất lớn, điều này sẽ làm chậm tốc độ tính toán của toàn
hệ thống. Để giảm độ trễ qua các tầng cộng, trong việc tính toán = ((𝐴𝐴 ⊕ 𝐵𝐵). (𝐶𝐶 ⊕ 𝐷𝐷) + (𝐴𝐴 ⊕ 𝐵𝐵). (𝐶𝐶 ⊕ 𝐷𝐷)) . 𝐶𝐶𝐶𝐶𝐶𝐶
các kích cỡ khối lớn hơn ta sử dụng các bộ cộng Cary Save
Adder cho toàn bộ các khối nhỏ hơn đứng trước. Sau đó, các + ((𝐴𝐴 ⊕ 𝐵𝐵). (𝐶𝐶 ⊕ 𝐷𝐷) + (𝐴𝐴 ⊕ 𝐵𝐵). (𝐶𝐶 ⊕ 𝐷𝐷)) . 𝐶𝐶𝐶𝐶𝐶𝐶 (4)
giá trị SAD của các kích thước khối được tính toán thông qua
bộ cộng Carry Look Ahead cải tiến. 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = (𝐴𝐴 ⊕ 𝐵𝐵 ⊕ 𝐶𝐶 ⊕ 𝐷𝐷). 𝐶𝐶𝐶𝐶𝐶𝐶 + (𝐴𝐴 ⊕ 𝐵𝐵 ⊕ 𝐶𝐶 ⊕ 𝐷𝐷). 𝐷𝐷 (5)
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15
𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = (𝐴𝐴 ⊕ 𝐵𝐵). 𝐶𝐶 + (𝐴𝐴 ⊕ 𝐵𝐵). 𝐴𝐴 (6)
16: SAD 4x4
4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4
Σ Σ Σ Σ Σ Σ Σ Σ 8: SAD 8x4
8: SAD 4x8 Hoạt động của bộ IME được chia ra làm 2 bước chính. Thứ
Σ
B0 B1
Σ Σ B2 B3
Σ
4: SAD 8x8
nhất là bước khởi tạo hay lưu dữ liệu vào CMB và RMB, việc
Σ
lưu dữ liệu vào 2 mảng thanh ghi này được thực hiện đồng thời.
Σ 2: SAD 16x8
2: SAD 8x16
Thiết kế giả sử động rộng bus truy xuất bộ nhớ ngoài là 64 bit
và thực hiện với kích thước vùng tìm kiếm p = 32 (64x64) thì
+
như đề cập ở phần trên, bộ CMB cần 33 chu kì và RMB cần 161
SAD 16x16
MB
chu kì. Do thực hiện đồng thời nên ở bước khởi tạo cần 161 chu
Hình 3: Mô hình bộ cộng SAD 2 chiều
kì tổng cộng.
Mô hình thiết kế của bộ cộng 4x4 theo kiến trúc Cary Save Thứ hai là bước tính toán giá trị tuyệt đối, tính SAD và 41
Adder được chỉ ra ở hình 4. Các tầng trên chỉ tính riêng lẻ phần vector chuyển động. Với đặc điểm của bộ cộng SAD 2 chiều,
tổng và số nhớ sử dụng kỹ thuật cộng dồn 4:2 (4:2 compressor) mỗi điểm tìm kiếm được thực hiện trong 1 chu kì cho 41 vector.
để cho kết quả tối ưu nhất[13,14]. Tầng cuối cùng một bộ cộng Với kích thước vùng tìm kiếm 64x64 = 4096 điểm thì số chu kì
Carry Look Aheah cải tiến (MCLA) [12] được sử dụng để cộng thực hiện tính toán là 4096 chu kì. Để so sánh SAD ta cần thêm
phẩn tổng và số nhớ cho kết quả SAD cuối cùng. Với việc sử 1 chu kì đệm vậy tổng cộng 2 bước là 161 + 4096 + 1 = 4258
dụng bộ cộng Carry Save Adder kết hợp với MCLA sẽ cho kết chu kì/MB. Đối với vùng tìm kiếm nhỏ hơn, p = 16 thì tổng
quả tính toán nhanh hơn nhiều so với các bộ cộng thông thường. cộng là 97 + 1024 +1 = 1122 chu kì/MB, hay p = 8 thì ta có 65
+ 256 +1 = 322 chu kì/MB. Sơ đồ thời gian thực thi của các
Σ Σ Σ Σ thành phần trong hệ thống được minh họa ở hình 6.
0 33 161-162 4258-4259 Chu kì
Khối CMB Lưu dữ liệu
Σ Σ Khối RMB Lưu dữ liệu Dịch trái, phải và lưu
Khối cộng SAD Tính SAD
Khối so sánh So sánh SAD và xác định các MVs
Σ Hình 6: Sơ đồ thời gian tính toán của IME
+ SAD4x4
SAD4x4 Do việc tính toán SAD của 7 kích cỡ khối khác nhau trong 1
Hình 4: Cấu trúc bộ cộng SAD4x4 chu kì nên thời gian tính toán sẽ dài, điều này sẽ làm giảm tần
số hoạt động của mạch. Để tăng tần số ta tiến hành chia đôi
Thiết kế sử dụng bộ cộng dồn 4:2 thay vì 3:2 để tối ưu số tầng đường critical path hay pipeline 2 tầng trong cấu trúc SAD.
cộng từ đó giảm độ trễ trong tính tính toán. Các biểu thức tính Cấu trúc IME 1 pipline 2 tầng (IME1p)
toán của bộ cộng 4:2 được chỉ ra ở công thức (4), (5), và (6). So với mô hình IME1, IME1p chia bộ cộng SAD thành 2
Hình 5 minh họa mô hình bộ cộng 4:2. Với đường truyền trễ tầng. Khi đó việc tính SAD và so sánh kết quả của các kích cỡ
qua một cổng XOR-XNOR và 2 bộ đa hợp. khối sẽ chia thành 2 chu kì, chu kì thứ nhất, bộ cộng sẽ cho các
kết quả của các khối 4x4, 4x8, 8x4, chu kì thứ 2 sẽ cho kết quả
các khối còn lại: 8x8, 8x16, 16x8 và 16x16. Và việc so sánh để
đưa ra các giá trị vector ước lượng cũng được thực hiện trong 2
chu kì. So với mô hình IME1 thì mô hình pipeline sẽ cần thêm
8 thanh ghi 14 bít và 1 chu kì đệm, tuy nhiên đường critical path
sẽ ngắn lại do đó tần số hoạt động của mạch sẽ tăng lên.
Cấu trúc IME đa đầu vào (IME2)
Do đặc điểm cấu trúc của mảng dịch vòng lưu các giá trị của
N hàng trong vùng tìm kiếm nên ta có thể tính toán song song
các điểm tìm kiếm bằng cách đặt song song các mảng 16x16
PEs, các bộ cộng SAD và các bộ so sánh mà không cần mở rộng
các mảng thanh ghi lưu trữ. Nếu đặt m bộ tính toán thì số chu
kì thực hiện ước lượng MB sẽ giảm đi m lần, số bộ tính toán tối
Hình 5: Kiến trúc bộ cộng 4:2 đa bằng với 2 lần kích thước tìm kiếm ngang. Tuy nhiên, việc
192
192
- HộiHội
Thảo Quốc
Thảo Gia
Quốc 2015
Gia 2015vềvềĐiện
ĐiệnTử,
Tử,Truyền
TruyềnThông và Công
Thông và CôngNghệ
NghệThông
ThôngTinTin (ECIT
(ECIT 2015)
2015)
tăng bộ tính toán sẽ làm tăng đáng kể diện tích của toàn hệ thống V. KẾT LUẬN
do đó tùy vào các cấu hình video mà chọn số bộ tính toán (số Trong bài báo này, chúng tôi đã xây dựng một kiến trúc VLSI
đầu vào) cho thích hợp. thông lượng cao cho bộ ước lượng chuyển động nguyên trong
Với 4 bộ tính toán song song. Mỗi chu kì sẽ thực hiện tính chuẩn mã hóa H.264/AVC. Bộ IME này sử dụng kiến trúc cộng
toán song song 4 điểm tìm kiếm và cho ra giá trị 41 vector SAD hình cây kết hợp tối ưu phần cứng, cải tiến bộ nhớ tìm kiếm
chuyển động của 41 kích thước khác nhau. Khi kích thước vùng và xử lý đa đầu vào cho thông lượng xử lý cao, giảm dung lượng
tìm kiếm p lần lượt là 32, 16, và 8 thì số chu kì thực hiện ước và tăng hiệu quả truy cập bộ nhớ. Với các kết quả đạt được, bộ
lượng xong 1 MB 16x16 lần lượt là 1186, 354 và 130 chu kì. IME có thể đáp ứng cho các ứng dụng nén video thời gian thực
Trong bài báo này, chúng tôi tiến hành thực hiện trên phần cứng độ phân giải cao như 1280x720 @ 30 fps hay 1920x1080 @
bộ IME 2 đầu vào (IME2_2C) và IME 4 đầu vào (IME2_4C) 30fps đối với vùng tìm kiếm là [64x64].
để so sánh kết quả với nhau.
TÀI LIỆU THAM KHẢO
IV. KẾT QUẢ MÔ PHỎNG VÀ TỔNG HỢP
[1] ITU, ITU-T Recommendation H.264: Advanced video coding
Hệ thống IME được thực hiện bằng ngôn ngữ Verilog HDL for generic audiovisual services, 2006.
và được mô phỏng kết quả trên phần mềm VCS của Synopsys [2] Youn-Long Steve Lin, Chao-Yang Kao, Huang-Chih Kuo, Jian-Wen
và so sánh kết chính xác với Matlab. Mạch được tổng hợp dựa Chen “VLSI Design for Video Coding -H.264/AVC Encoding from
Standard Specification to Chip,” Springer- New York-Dordrecht-
trên công nghệ 90nm của Synopsys kết quả thu được ở bảng 1 Heidelberg-London, ISBN 978-1-4419-0958-9, 2010.
và bảng 2. Một số so sánh được chỉ ra ở bảng 3. [3] Tung-Chien Chen, Shao-Yi Chien, Yu-Wen Huang, Chen-Han Tsai,
Bảng1: Kết quả tổng hợp mạch Ching-Yeh Chen, To-Wei Chen, and Liang-Gee Chen, “Analysis and
Architecture Design of an HDTV720p 30 Frames/s H.264/AVC
Latency* Encoder”, Transactions on Circuits and Systems for Video Technology,
Tần số Tài nguyên (Chu kì) vol.16 No.6 June 2006.
Mô hình
(MHz) (K Leaf Cell)
16x16 32x32 64x64 [4] Ching-Yeh Chen, Shao-Yi Chien, Yu-Wen Huang, Tung-Chien Chen,
IME1 300 96 Tu-Chih Wang, and Liang-Gee Chen, “Analysis and Architecture Design
of Variable Block-Size Motion Estimation for H.264/AVC”, IEEE
IME1p 350 118
65 97 161 Transactions on Circuits and Systems—i: Regular papers, vol. 53, no. 2,
IME2_2C 300 161 February 2006.
IME2_4C 300 215
[5] Meihua GU, Ningmei YU, Lei ZHU, Wenhua JIA, “High Throughput and
*Số chu kì đệm để lưu giá trị vào mảng thanh ghi tìm kiếm phụ thuộc vào Cost Efficient VLSI Architecture of Integer Motion Estimation for
kích thước vùng tìm kiếm H.264/AVC”, Journal of Computational Information Systems, April
Bảng 2: Thông lượng xử lý của các kiến trúc 2011.
[6] Chien-Min Ou, Chian-Feng Le and Wen-Jyi Hwang, “An Efficient VLSI
Thông lượng xử lý Architecture for H.264 Variable Block Size Motion Estimation”, IEEE
Mô hình Số PE (Chu kì/MB)/(kMB/s) Transactions on Consumer Electronics, Vol. 51, No. 4, November 2005.
16x16 32x32 64x64 [7] Chao-Yang Kao and Youn-Long Lin, “A Memory-Efficient and Highly
IME1 256 322/970 1122/278 4258/73 Parallel Architecturefor Variable Block Size Integer Motion
IME1p 256 323/1105 1123/318 4259/83 Estimation in H.264/AVC”, IEEE Transactions on Very Large Scale
IME2_2C 512 193/1619 609/513 2209/141 Integration (VLSI) Systems, vol. 18, No. 6, June 2010.
IME2_4C 1024 130/2403 354/882 1186/263 [8] Minho Kim, Ingu Hwang, Soo-Ik Chae, “A Fast VLSI Architecture for
So sánh và đánh giá Full-Search Variable Block Size Motion Estimation in MPEG-4
Ở kiến trúc đề xuất, bộ nhớ cục bộ của vùng tìm kiếm là AVC/H.264”, Proceedings of Asia and South Pacific design
automation conference, Shanghai, China, January 2005, pp 631–634.
N(2p+N) giảm hơn 60% so với việc lưu trữ toàn bộ vùng tìm
[9] Xuan Jing, Chau, L.-P, “An efficient three-step search algorithm for block
kiếm trong tham khảo [4] và [5]. Kiến trúc này cũng dễ dàng motion estimation”, Multimedia, IEEE Transactions on, vol. 6, p.435 –
tăng việc tính toán đa đầu vào mà không thay đổi bộ nhớ tìm 438, May 2004.
kiếm. Dựa vào bảng 2 ta thấy thông lượng xử lý của kiến trúc [10] Shan Zhu, and Kai-Kuang Ma, “ A New Diamond Search Algorithm for
này lớn cho phép xử lý video ở thời gian thực tại độ phân giải Fast Block-Matching Motion Estimation”, IEEE Trans. Image
1280x720@30fps (108K MB/s) hoặc 1920x1080@30fps Processing, vol 9, no. 2, pp. 287-290, February 2000.
(245760 MB/s) ở kiến trúc IME2_4C. [11] Lai-Man Po, and Wing-Chung Ma, “A Novel Four-Step Search Algorithm
for Fast Block Motion Estimation”, IEEE Trans. Circuits And Systems
Bảng 3: So sánh với các công trình đã nghiên cứu For Video Technology, vol 6, no. 3, pp. 313-317, June 1996.
[12] Yu-Ting Pai and Yu-Kumg Chen, “The Fastest Carry Lookahead Adder”,
Nghiên cứu [5] [6] [7a] IME2_2C
Proceedings of the Second IEEE International Workshop on Electronic
Kiến trúc SAD2D 1D 2D SAD 2D
Design, Test and Applications (DELTA’04) 0-7695-2081-2/04, 2004.
Công nghệ(nm) 130 180 180 90
Số PEs 512 256 4096 512 [13] R.UMA,Vidya Vijayan, M. Mohanapriya, Sharon Paul, “Area, Delay and
Power Comparison of Adder Topologies”, International Journal of VLSI
Kích thước tìm kiếm 65x65 16x16 64x64 64x64
design & Communication Systems (VLSICS) Vol.3, No.1, February
Tài nguyên (cổng) - - 1449K 162K 2012.
Bộ nhớ(KB) 6.656 - 2.9 1.536
Tần số (MHz) 300 200 130 300 [14] Sreehari Veeramachaneni, Kirthi Krishna M, Lingamneni Avinash,
Sreekanth Reddy Puppala , M.B. Srinivas, “Novel Architectures for High-
Lantency (chu kì) 700 - - 161
Speed and Low-Power 3-2, 4-2 and 5-2 Compressors”, IEEE 20th
Thông lượng 2815 256 512 2209 International Conference on VLSI Design (VLSID'07) 0-7695-2762-0/07
(chu kì/MB) 2007.
193
193
nguon tai.lieu . vn