1. Trang chủ
  2. » Thể loại khác

document

4 10 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 566,87 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

190 Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 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[.]

Trang 1

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

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ớ 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

là 300 MHz, thông lượng cao nhất 1186 chu kì/ 41MVs đối với

vùng tìm kiếm là [64x64], tài nguyên vào khoảng 215K Leaf Cell

Keywords- H.264/AVC, IME, Motion Estimation, VBSME, Full-

Search

I GIỚI THIỆU H.264 là chuẩn nén tiên tiến với nhiều ưu điểm do tỉ lệ nén

khá cao mà vẫn giữ được chất lượng hình ảnh khá tốt[1] Ngày

nay, chuẩn nén H.264 được sử dụng rộng rãi trong hầu hết các

ứng dụng video từ tốc độ thấp cho đến các ứng dụng độ phân

giải cao H.264 sử dụng kỹ thuật ước lượng chuyển động đa kích

cỡ khối (Variable Block Size Motion Estimation, VBSME) và

được thực hiện qua 2 bước: ước lượng chuyển động nguyên

(Integer Motion Estimation, IME) và ước lượng chuyển động

thập phân (Fraction Motion Estimation, FME) Trong đó, bộ ước

lượng chuyển động nguyên có vai trò quan trọng trong việc giảm

độ dư thừa, tăng khả năng nén và cũng là thành phần có độ phức

tạp tính toán cao, tốn nhiều thời gian và tài nguyên của hệ thống

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ò

tìm khối (BMA-Block Matching Algorithm) để tìm kiếm vector

chuyển động Ý tưởng của BMA là chia khung hiện tại thành các

khối nhỏ (Macro Block, MB), sau đó so sánh từng MB này với

các MB xung quanh của khung tham khảo, còn gọi là vùng tìm

kiếm, để tìm vector chuyển động Mức độ khác nhau giữa 2 MB

được xác định bằng cách tính tổng độ sai khác giữa các pixel

Có nhiều cách để tính độ sai khác, trong đó phương pháp được

sử dụng rộng rãi nhất là Sum of Absolute Difference (SAD) Để

xác định được SAD nhỏ nhất ta dựa vào công thức (1) và (2)

Trong đó, CB là khối thực thi hiện tại (Current Block), RB là

khối tham chiếu (Reference Block), SR là dải tìm kiếm (search

range), i, j là vector chuyển động (Motion Vector, MV)

𝑆𝑆𝑆𝑆𝐷𝐷(𝑖𝑖,𝑗𝑗)= ∑ ∑|𝐶𝐶𝐶𝐶(𝑚𝑚,𝑛𝑛)− 𝑅𝑅𝐶𝐶(𝑚𝑚+𝑖𝑖,𝑛𝑛+𝑗𝑗)|

𝑁𝑁−1 𝑛𝑛=0

𝑁𝑁−1

𝑚𝑚=0

(1)

𝑆𝑆𝑆𝑆𝐷𝐷𝑚𝑚𝑖𝑖𝑛𝑛= min(𝑆𝑆𝑆𝑆𝐷𝐷(𝑖𝑖,𝑗𝑗)), − 𝑆𝑆𝑅𝑅 ≤ 𝑖𝑖, 𝑗𝑗 < 𝑆𝑆𝑅𝑅 (2)

Có nhiều thuật toán để thực hiện ước lượng chuyển động nguyên trong đó Full Search (FS) là thuật toán cho kết quả chính xác nhất[2] Bằng cách so sánh với tất cả các MB có trong vùng tìm kiếm, thuật toán FS sẽ tìm ra chính xác MB có giá trị nhỏ nhất và cho ra vector chuyển động của current MB Nhược điểm của thuật toán FS là độ phức tạp tính toán cao, tốn nhiều tài nguyên Để giảm độ phức tạp, theo các nghiên cứu, người ta chia 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], Diamond Search (DS)[10], các thuật toán mở rộng như Four 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ó thời gian tìm kiếm nhanh, giảm độ phức tạp tính toán nhưng lại làm giảm chất lượng hình ảnh và thường được sử dụng trong các ứng dụng hình ảnh có độ phân giải thấp hay các ứng dụng trên

di động Hướng tới các ứng dụng video chất lượng cao thông thường các bộ ước lượng chuyển động dựa trên thuật toán Full Search và được thực hiện trên phần cứng[4] Bài báo này thực hiện xây dựng bộ ước lượng chuyển động nguyên dựa trên thuật toán Full Search để ứng dụng vào các video chất lượng cao Nội dung của bài báo được tổ chức như sau: Phần I là giới thiệu chung về ước lượng chuyển động, phần II giới thiệu các nghiên cứu và kiến trúc phần cứng cho thuật toán Full Search, phần III nêu kiến trúc đề xuất và thực hiện, phần IV là kết quả

và đánh giá thiết kế, cuối cùng là kết luận

II CÁC KIẾN TRÚC CHO IME

Có nhiều nghiên cứu cho ước lượng chuyển động với kích cỡ khối thay đổi với các kiến trúc mảng một chiều, 2 chiều, kiến trúc song song đa lối vào hoặc kiến trúc sử dụng bộ cộng hình cây[2,4,6,7,8]… Kiến trúc IME trong tham khảo[4] và [5] cho thông lượng xử lý cao nhưng cần bộ nhớ cho vùng tìm kiếm lớn (2p + N-1)2 Kiến trúc [5] còn có hạn chế là tốn nhiều thời gian cho bước khởi tạo ban đầu Tham khảo [6] sử dụng hiệu quả các đơn vị xử lý nhưng vùng tìm kiếm bị hạn chế Tham khảo [7] cho thông lượng khá cao nhưng tốn rất nhiều đơn vị xử lý.Các kiến trúc này có sự đánh đổi giữa dung lượng và lượng truy cập

dữ liệu bộ nhớ, giữa thông lượng xử lý và tài nguyên hệ thống Trong số các thiết kế này, 2-D SAD tree IME[4] cho thông 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

Bộ nhớ khối hiện tại (CMB) lưu trữ 16x16 pixel của current MB 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

Trang 2

đến Mảng tính toán để tính độ sai khác sau đó sẽ được cộng lại

với nhau cho tất cả các kích thước khối ở bộ cộng SAD Các

SAD này sẽ được so sánh với nhau để đưa ra các giá trị SAD

nhỏ nhất từ đó tìm được các vector chuyển động

IME

Vùng tìm kiếm (SRAM)

Vùng tìm kiếm (SRAM)

Mảng tính toán

Bộ cộng SAD

Bộ nhớ

Khối hiện tạiBộ nhớ

Khối hiện tại

Off-chip MEM

SAD

Hình 1: Sơ đồ hệ thống IME cơ bản

Để thực hiện ước lượng chuyển động, đầu tiên tất cả các pixel

trong vùng tìm kiếm phải được đưa vào bộ nhớ tìm kiếm SW

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

để tính toán Hơn nữa, có 2 dạng truy cập bộ nhớ trong bộ cộng

SAD là truy cập hàng và truy cập cột mà SW chỉ hỗ trợ truy cập

hàng hoặc cột nên truy cập cột sẽ được thực hiện bằng cách truy

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

cần 1 chu kì Do đó, việc truy cập bộ nhớ phức tạp và cần băng

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ì

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ả

từng mô hình để lựa chọn phù hợp cho từng ứng dụng của chuẩn

nén video H.264

III KIẾN TRÚC ĐỀ XUẤT CHO BỘ IME

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

các giá trị sai khác của pixel giữa khối hiện tại và khối tham

khảo; một mảng các thanh ghi dịch vòng ghi dữ liệu vào song

song và có thể dịch trái, dịch phải; bộ SIPO là các thanh ghi

đệ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

giá trị sai khác có kiến trúc hình cây 2 chiều; và so sánh các giá

trị SAD Ngoài ra còn có bộ điều khiển truy xuất bộ nhớ và bộ

điều khiển của toàn hệ thống

Các SIPO là các thanh ghi đệm vào nối tiếp và ra song song

có đầu vào bằng với độ rộng bus của bộ nhớ ngoài và có chiều

dài phụ thuộc vào bộ nhớ mà nó hỗ trợ nhằm để tăng hiệu quả

truy cập bộ nhớ Ví dụ, độ rộng bit của bộ nhớ ngoài là 64 bit

thì lưu mỗi lần sẽ là 64 bit (8 pixel) và cần 10 chu kì để dịch đầy mảng 80 pixel Trong thiết kế đề xuất, chúng tôi sử dụng 2

bộ đệm SIPO, một bộ vào nối tiếp 64 bít ra song song 128 bit cho việc lưu giá trị hiện tại (CMB) và một bộ vào 64 bít ra 640 bít (80 pixel) cho việc lưu giá trị tham khảo (RMB) Bộ CMB

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 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 Kích thước độ rộng mảng chính bằng kích thước của macro 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 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 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 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ẽ đượ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 kiếm kiểu “snake scan” giúp làm tăng hiệu quả truy cập tính toán

Hình 2: Mô hình IME được đề xuất

Mảng 16x16-PEs một ma trận gồm 256 khối đơn vị tính toán giá trị tuyệt đối giữa các pixel hiện tại và các pixel tham khảo dựa vào công thức (3)

|𝑎𝑎 − 𝑏𝑏| = {(𝑎𝑎 + 𝑏𝑏(𝑎𝑎 + 𝑏𝑏′′)) + 1,′ , 𝑣𝑣ớ𝑖𝑖 𝑎𝑎 > 𝑏𝑏𝑣𝑣ớ𝑖𝑖 𝑎𝑎 ≤ 𝑏𝑏 (3)

Bộ cộng SAD là một bộ cộng 2 chiều dùng để tính toán các giá trị SAD của 41 kích thước khác nhau của 1 macro block

Mô hình bộ cộng được chỉ ra ở hình 3 MB 16x16 được chia thành 4 khối 8x8 tương ứng B0-B3 Mỗi khối 8x8 lại được chia thành 4 khối 4x4, vậy có tất cả 16 khối 4x4 tương ứng từ C0-C15 Tầng đầu tiên là 16 bộ cộng 4x4 được thiết kế dựa trên bộ cộng Carry Save Adder 16 ngõ vào Ở các tầng tiếp theo ta cộng các kết quả từ bộ cộng 4x4 để cho ra các kích thước khối lớn

SIPO SIPO

MẢNG 16x16 PEs

SAD ADDER TREE

BỘ SO SÁNH (SAD COMPARATOR)

ĐIỀU KHIỂN TRUY CẬP

BỘ NHỚ

BỘ ĐIỀU KHIỂN

BỘ PHÁT ĐỊA CHỈ

41 MVs

Trang 3

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

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

Hình 3: Mô hình bộ cộng SAD 2 chiều

Mô hình thiết kế của bộ cộng 4x4 theo kiến trúc Cary Save

Adder được chỉ ra ở hình 4 Các tầng trên chỉ tính riêng lẻ phần

tổng và số nhớ sử dụng kỹ thuật cộng dồn 4:2 (4:2 compressor)

để cho kết quả tối ưu nhất[13,14] Tầng cuối cùng một bộ cộng

Carry Look Aheah cải tiến (MCLA) [12] được sử dụng để cộng

phẩn tổng và số nhớ cho kết quả SAD cuối cùng Với việc sử

dụng bộ cộng Carry Save Adder kết hợp với MCLA sẽ cho kết

quả tính toán nhanh hơn nhiều so với các bộ cộng thông thường

Σ Σ

Σ

+SAD4x4

Hình 4: Cấu trúc bộ cộng SAD4x4

Thiết kế sử dụng bộ cộng dồn 4:2 thay vì 3:2 để tối ưu số tầng

cộng từ đó giảm độ trễ trong tính tính toán Các biểu thức tính

toán của bộ cộng 4:2 được chỉ ra ở công thức (4), (5), và (6)

Hình 5 minh họa mô hình bộ cộng 4:2 Với đường truyền trễ

qua một cổng XOR-XNOR và 2 bộ đa hợp

Hình 5: Kiến trúc bộ cộng 4:2

𝑆𝑆𝑆𝑆𝑆𝑆

= ((𝐴𝐴 ⊕ 𝐵𝐵) (𝐶𝐶 ⊕ 𝐷𝐷) + (𝐴𝐴 ⊕ 𝐵𝐵) (𝐶𝐶 ⊕ 𝐷𝐷)) 𝐶𝐶𝐶𝐶𝐶𝐶 + ((𝐴𝐴 ⊕ 𝐵𝐵) (𝐶𝐶 ⊕ 𝐷𝐷) + (𝐴𝐴 ⊕ 𝐵𝐵) (𝐶𝐶 ⊕ 𝐷𝐷)) 𝐶𝐶𝐶𝐶𝐶𝐶 (4)

𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = (𝐴𝐴 ⊕ 𝐵𝐵 ⊕ 𝐶𝐶 ⊕ 𝐷𝐷) 𝐶𝐶𝐶𝐶𝐶𝐶 + (𝐴𝐴 ⊕ 𝐵𝐵 ⊕ 𝐶𝐶 ⊕ 𝐷𝐷) 𝐷𝐷 (5)

Hoạt động của bộ IME được chia ra làm 2 bước chính Thứ 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 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 chu kì Do thực hiện đồng thời nên ở bước khởi tạo cần 161 chu

kì tổng cộng

Thứ hai là bước tính toán giá trị tuyệt đối, tính SAD và 41 vector chuyển động Với đặc điểm của bộ cộng SAD 2 chiều, mỗi điểm tìm kiếm được thực hiện trong 1 chu kì cho 41 vector Với kích thước vùng tìm kiếm 64x64 = 4096 điểm thì số chu kì thực hiện tính toán là 4096 chu kì Để so sánh SAD ta cần thêm

1 chu kì đệm vậy tổng cộng 2 bước là 161 + 4096 + 1 = 4258 chu kì/MB Đối với vùng tìm kiếm nhỏ hơn, p = 16 thì tổ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

Hình 6: Sơ đồ thời gian tính toán của IME

Do việc tính toán SAD của 7 kích cỡ khối khác nhau trong 1 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 đường critical path hay pipeline 2 tầng trong cấu trúc SAD

Cấu trúc IME 1 pipline 2 tầng (IME1p)

So với mô hình IME1, IME1p chia bộ cộng SAD thành 2 tầng Khi đó việc tính SAD và so sánh kết quả của các kích cỡ 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

đa bằng với 2 lần kích thước tìm kiếm ngang Tuy nhiên, việc

4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4 4x4

+

16: SAD 4x4

8: SAD 8x4

4: SAD 8x8

2: SAD 16x8

SAD 16x16

C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15

B0 B1 B2 B3

MB

Lưu dữ liệu

So sánh SAD và xác định các MVs

Lưu dữ liệu

Tính SAD Dịch trái, phải và lưu Khối CMB

Khối RMB Khối cộng SAD Khối so sánh

0 33 161-162 4258-4259 Chu kì

Trang 4

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

do đó tùy vào các cấu hình video mà chọn số bộ tính toán (số

đầu vào) cho thích hợp

Với 4 bộ tính toán song song Mỗi chu kì sẽ thực hiện tính

toán song song 4 điểm tìm kiếm và cho ra giá trị 41 vector

chuyển động của 41 kích thước khác nhau Khi kích thước vùng

tìm kiếm p lần lượt là 32, 16, và 8 thì số chu kì thực hiện ước

lượng xong 1 MB 16x16 lần lượt là 1186, 354 và 130 chu kì

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

bộ IME 2 đầu vào (IME2_2C) và IME 4 đầu vào (IME2_4C)

để so sánh kết quả với nhau

IV KẾT QUẢ MÔ PHỎNG VÀ TỔNG HỢP

Hệ thống IME được thực hiện bằng ngôn ngữ Verilog HDL

và được mô phỏng kết quả trên phần mềm VCS của Synopsys

và so sánh kết chính xác với Matlab Mạch được tổng hợp dựa

trên công nghệ 90nm của Synopsys kết quả thu được ở bảng 1

và bảng 2 Một số so sánh được chỉ ra ở bảng 3

Bảng1: Kết quả tổng hợp mạch

Mô hình Tần số(MHz) (K Leaf Cell)Tài nguyên

Latency*

(Chu kì)

kích thước vùng tìm kiếm

Bảng 2: Thông lượng xử lý của các kiến trúc

So sánh và đánh giá

Ở kiến trúc đề xuất, bộ nhớ cục bộ của vùng tìm kiếm là

N(2p+N) giảm hơn 60% so với việc lưu trữ toàn bộ vùng tìm

kiếm trong tham khảo [4] và [5] Kiến trúc này cũng dễ dàng

tăng việc tính toán đa đầu vào mà không thay đổi bộ nhớ tìm

kiếm Dựa vào bảng 2 ta thấy thông lượng xử lý của kiến trúc

này lớn cho phép xử lý video ở thời gian thực tại độ phân giải

1280x720@30fps (108K MB/s) hoặc 1920x1080@30fps

(245760 MB/s) ở kiến trúc IME2_4C

Bảng 3: So sánh với các công trình đã nghiên cứu

Thông lượng

V KẾT LUẬN Trong bài báo này, chúng tôi đã xây dựng một kiến trúc VLSI thông lượng cao cho bộ ước lượng chuyển động nguyên trong chuẩn mã hóa H.264/AVC Bộ IME này sử dụng kiến trúc cộng 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

và xử lý đa đầu vào cho thông lượng xử lý cao, giảm dung lượng

và tăng hiệu quả truy cập bộ nhớ Với các kết quả đạt được, bộ IME có thể đáp ứng cho các ứng dụng nén video thời gian thực

độ phân giải cao như 1280x720 @ 30 fps hay 1920x1080 @ 30fps đối với vùng tìm kiếm là [64x64]

TÀI LIỆU THAM KHẢO

[1] ITU, ITU-T Recommendation H.264: Advanced video coding for generic audiovisual services, 2006

[2] Youn-Long Steve Lin, Chao-Yang Kao, Huang-Chih Kuo, Jian-Wen Chen “VLSI Design for Video Coding -H.264/AVC Encoding from Standard Specification to Chip,” Springer- New York-Dordrecht-Heidelberg-London, ISBN 978-1-4419-0958-9, 2010

[3] Tung-Chien Chen, Shao-Yi Chien, Yu-Wen Huang, Chen-Han Tsai, Ching-Yeh Chen, To-Wei Chen, and Liang-Gee Chen, “Analysis and Architecture Design of an HDTV720p 30 Frames/s H.264/AVC Encoder”, Transactions on Circuits and Systems for Video Technology, vol.16 No.6 June 2006

[4] Ching-Yeh Chen, Shao-Yi Chien, Yu-Wen Huang, Tung-Chien Chen, Tu-Chih Wang, and Liang-Gee Chen, “Analysis and Architecture Design

of Variable Block-Size Motion Estimation for H.264/AVC”, IEEE Transactions on Circuits and Systems—i: Regular papers, vol 53, no 2, February 2006

[5] Meihua GU, Ningmei YU, Lei ZHU, Wenhua JIA, “High Throughput and Cost Efficient VLSI Architecture of Integer Motion Estimation for H.264/AVC”, Journal of Computational Information Systems, April

2011

[6] Chien-Min Ou, Chian-Feng Le and Wen-Jyi Hwang, “An Efficient VLSI Architecture for H.264 Variable Block Size Motion Estimation”, IEEE Transactions on Consumer Electronics, Vol 51, No 4, November 2005 [7] Chao-Yang Kao and Youn-Long Lin, “A Memory-Efficient and Highly Parallel Architecturefor Variable Block Size Integer Motion Estimation in H.264/AVC”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol 18, No 6, June 2010

[8] Minho Kim, Ingu Hwang, Soo-Ik Chae, “A Fast VLSI Architecture for Full-Search Variable Block Size Motion Estimation in MPEG-4 AVC/H.264”, Proceedings of Asia and South Pacific design automation conference, Shanghai, China, January 2005, pp 631–634 [9] Xuan Jing, Chau, L.-P, “An efficient three-step search algorithm for block motion estimation”, Multimedia, IEEE Transactions on, vol 6, p.435 –

438, May 2004

[10] Shan Zhu, and Kai-Kuang Ma, “ A New Diamond Search Algorithm for Fast Block-Matching Motion Estimation”, IEEE Trans Image Processing, vol 9, no 2, pp 287-290, February 2000

[11] Lai-Man Po, and Wing-Chung Ma, “A Novel Four-Step Search Algorithm for Fast Block Motion Estimation”, IEEE Trans Circuits And Systems 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”, Proceedings of the Second IEEE International Workshop on Electronic Design, Test and Applications (DELTA’04) 0-7695-2081-2/04, 2004

Power Comparison of Adder Topologies”, International Journal of VLSI design & Communication Systems (VLSICS) Vol.3, No.1, February

2012

[14] Sreehari Veeramachaneni, Kirthi Krishna M, Lingamneni Avinash, Sreekanth Reddy Puppala , M.B Srinivas, “Novel Architectures for High-Speed and Low-Power 3-2, 4-2 and 5-2 Compressors”, IEEE 20th International Conference on VLSI Design (VLSID'07) 0-7695-2762-0/07 2007.

Ngày đăng: 27/04/2022, 10:08

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ hệ thống IME cơ bản - document
Hình 1 Sơ đồ hệ thống IME cơ bản (Trang 2)
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  các giá trị sai khác của pixel giữa khối hiện tại và khố i tham  khảo; một mảng các thanh ghi dịch vòng ghi dữliệu vào song  song và có  - document
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 các giá trị sai khác của pixel giữa khối hiện tại và khố i tham khảo; một mảng các thanh ghi dịch vòng ghi dữliệu vào song song và có (Trang 2)
Hình 4: Cấu trúc bộ cộng SAD4x4 - document
Hình 4 Cấu trúc bộ cộng SAD4x4 (Trang 3)
Hình 3: Mô hình bộ cộng SAD2 chiều - document
Hình 3 Mô hình bộ cộng SAD2 chiều (Trang 3)
Hình 5: Kiến trúc bộ cộng 4:2 - document
Hình 5 Kiến trúc bộ cộng 4:2 (Trang 3)
Mô hình thiết kế của bộ cộng 4x4 theo kiến trúc Cary Save Adder được chỉraở hình 4. Các tầng trên chỉ tính riêng lẻ phần tổng và số nhớ sử dụng kỹ thuật cộng dồn 4:2 (4:2 compressor)   để cho kết quả tối ưu nhất[13,14] - document
h ình thiết kế của bộ cộng 4x4 theo kiến trúc Cary Save Adder được chỉraở hình 4. Các tầng trên chỉ tính riêng lẻ phần tổng và số nhớ sử dụng kỹ thuật cộng dồn 4:2 (4:2 compressor) để cho kết quả tối ưu nhất[13,14] (Trang 3)
Bảng1: Kết quả tổng hợp mạch - document
Bảng 1 Kết quả tổng hợp mạch (Trang 4)
Bảng 2: Thông lượng xử lý của các kiến trúc - document
Bảng 2 Thông lượng xử lý của các kiến trúc (Trang 4)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN