• Xử lý ảnh thời gian thực được ứng dụng nhiều trong các sản phẩm điện tử như: – Hệ thống giám sát Video – Thiết bị hình ảnh y tế – Thiết bị cảm biến hình ảnh của Robot • Kit DE2 là một
Trang 2• Xử lý ảnh thời gian thực được ứng dụng nhiều trong
các sản phẩm điện tử như:
– Hệ thống giám sát Video
– Thiết bị hình ảnh y tế
– Thiết bị cảm biến hình ảnh của Robot
• Kit DE2 là một kit hỗ trợ xử lý ảnh với các ngõ giao
tiếp VGA, S-Video có thể ứng dụng trong xử lý ảnh thời gian thực
Trang 31 Tìm hiểu kit DE2
2 Tìm hiểu điều khiển VGA
3 Tìm hiểu đọc tín hiệu ngõ vào S-Video
4.Thiết kế phần cứng cho bộ xử lý ảnh
+ Lọc đường biên
+ Lọc trung bình
+ Lọc nhiễu Gauss
5.Ứng dụng bộ xử lý ảnh thời gian thực lên kit DE2
Trang 4Monitor Camera
KIT DE2
Trang 571818
Timer trì Hoãn ban đầu
I2C Video Config
Desize Horizon
Video
Data
SDRAM Buffer YUV
MUX
Filter
YUV422 to YUV 444 YUV444
Convert YCrCb to
VGA
Controller
Video DAC 7123
RGB
Trang 6Khối I2C_config cài đặt giá trị cho thanh ghi để mã hóa cho chip ADV7181B, còn khối Timer trì hoãn ban đầu thì dùng để tính toán thời gian làm việc cho khối khác sau chuỗi khởi động của ADV7181B
Khối ITU656 sẽ lấy ra chuỗi liên tục các pixel rồi chuyển từ 720x480 sang chuẩn VGA 640x480 sau đó xuất ra cho SDRAM, SDRAM nhận tín hiệu điều khiển từ VGA controller xuất ra cho bộ filter và từ đó xử lý các pixel trước khi chuyển sang YUV444 để convert sang chuẩn RGB 10 bit
để xuất lên monitor
Trang 7Trên kit DE2 có 2 chân I2C_SDAT và I2C_SCLK tương ứng với SDA và SCLK dành cho người dùng có thể thực hiện cấu hình giao thức I2C
Ta sẽ tạo ra một bộ I2C Master để cấu hình cho Slave
là ADV7181B, các thông số cấu hình ADV đã được đưa ra trong tài liệu của nhà sản xuất với ngõ vào là
composite video
Dữ liệu trên chân I2C_SDAT sẽ được truyền đi từng byte, 3 byte 1 lần, sau mỗi byte sẽ nhận 1 ACK từ
slave gởi về, bằng cách đưa chân I2C_SDAT
lên Hiz, để xác nhận truyền đúng hay sai
Trang 8Nạp giá trị cho thanh ghi RESET
Phát hiện ACK từ ADV7181B
Nạp xong các thanh ghi
Yes No
Chuyển đến
thanh ghi mới vị trí thanh ghi Giữ nguyên
No
Yes KẾT THÚC
Trang 9CLK CLK_27
PLL
SDRAM WRITE FIFO
WR_DATA [15:0]
WR_LOAD
WR
WR_CLK
CLK
RD1_DATA [15:0]
SDRAM RAM READ FIFO1
RD1_LOAD RD1
CLK RD1_CLK
SDRAM RAM READ FIFO2
RD2_DATA [15:0] RD2
RD2_LOAD
CLK RD2_CLK
Control Center
CS_N[1:0]
DQ[15:0] CAS_N
SA[11:0]
RAS SDR_CLK WE_N BA[1:0]
DQM[1:0]
RD_WR FIFO WRITE_SIDE
RESET DATA_IN
0] W R _R
Trang 10Khối SDRAM
gồm các khối
PLL và FIFO
được tạo từ
Mega Wizard
hỗ trợ bởi
Quartus.Ta có
lưu đồ giải
thuật ghi
SD RAM
Ghi xong một khối vào SDRAM READ FIFO1
Đọc từ SDRAM (Phần chứa các line Odd frame)
Rồi ghi vào SDRAM READ FIFO1
RESET
Sai
Ghi xong một khối vào SDRAM READ FIFO2
Đúng
Đọc từ SDRAM (Phần chứa các line Even frame)
Rồi ghi vào SDRAM READ FIFO2
Sai
Ghi xong một khối vào SDRAM
Đúng Đọc từ SDRAM WRITE FIFO và
Ghi vào SDRAM
Sai
Đúng
Trang 11CLK RESET
oRequest oVGA_BLANK oVGA_CLOCK oVGA_SYNC oVGA_VS oVGA_HS VGA_X[0] VGA_Y[0] oVGA_R oVGA_G oVGA_B
iRed
iGreen
iBlue
Khối VGA Controller
oRequest oVGA_BLANK oVGA_CLOCK oVGA_SYNC oVGA_VS oVGA_HS VGA_X[0] VGA_Y[0] oVGA_R oVGA_G oVGA_B
iRed
iGreen
iBlue
Khối VGA Controller
Trang 12Khối sẽ tạo các tín hiệu điều khiển ADV7123 và đồng bộ việc truy xuất, xử lý dữ liệu các khối khác dựa trên các tín hiệu quét dọc quét ngang
Ta có lưu đồ
giải thuật của
VGA_HS
H_FRONT = 1 ≤ H_cont
≤ H_FRONT-H_SYNC-1
Khởi tạo H_cont = 0
Và đếm lên sau 1 chu kì
Xung clock
RESET
H_cont=H_TOTAL
VGA_HS=0
Đúng
VGA_HS=1 Sai
Đúng
Trang 13Gồm có khối Line Buffer là bộ đệm để lưu trữ các pixel cần thiết
và image processing dùng để xử lý lọc biên, lọc trung bình và lọc nhiễu Gauss
Line Buffer mYCbCr_d
oRequest
Image Process
CLK RESET
Resgister [1…9] [15:0]
RESET CLK
oCr [7:0] oCb [7:0]
oY [7:0]
Extract YCbCr to Y,Cb,Cr iYCbCr
iX[0]
Trang 14Chập ma trận cửa sổ 3x3 theo phương pháp gradient với mặt nạ Sobel
Với các hệ số âm ta lấy bù rồi dịch bit nếu cần
Giá trị ngõ ra được tính theo công thức
Với các giá trị bình phương được tạo từ Mega Wizard
Và khối sẽ xuất ra các giá trị pixel nằm chính giữa cửa sổ
Trang 15Thực hiện phép tương quan cửa sổ pixel với mặt nạ canary
Ta nhân các thành phần tương ứng của hai cửa sổ lại với nhau và chỉ có các hệ số 1,2,4 nên dễ dàng nhận thấy kết quả là 10bit
+ k=1 thì giữ nguyên
+k=2 thì dịch trái 1 bit
+k=4 thì dịch trái 2 bit
=>Chia cho 16 là thực hiện việc lấy 8bit cao
Trang 17Thông số Giá trị
Total combinational funtion:1425 Dedicated logic registers:1169
Tổng bộ n hớ sử dụng 64416 bits
Tần số ho ạt động tối
đa
Độ trễ nhỏ nhất
Trang 18Đã cấu hình và sử dụng được chip mã hóa ADV7181B
Sử dụng được SDRAM để lưu trữ dữ liệu
Đã hiển thị được lên VGA ảnh video với kích thước chuẩn 640x480
Thiết kế được bộ lọc trung bình, bộ lọc biên viết bằng ngôn ngữ verilog