intTypePromotion=1
ADSENSE

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

Chia sẻ: Wang Ziyi | Ngày: | Loại File: PDF | Số trang:4

13
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đề xuất hai kiến trúc ASIC cho bộ ước lượng chuyển động nguyên dựa trên thuật toán Full-Search cho chuẩn nén video H.264. Trong thiết kế, chúng tôi thực 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 trữ tìm kiếm kết hợp với việc tính toán song song đa đầu vào cho thông lượng tính toán cao, tăng hiệu quả truy cập bộ nhớ. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: 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

  1. 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
  2. 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
  3. 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
  4. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2