1. Trang chủ
  2. » Luận Văn - Báo Cáo

KHỐI CONVERT YCRCB TO RGB

9 689 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Khối Convert Ycrcb To Rgb
Tác giả Nhóm tác giả
Người hướng dẫn Giáo sư. Nguyễn Văn A
Trường học Trường Đại Học Công Nghệ Thông Tin https://uet.edu.vn
Chuyên ngành Kỹ thuật Hình ảnh và Đồ họa
Thể loại Báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 9
Dung lượng 167,07 KB

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

Nội dung

ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ập phân, trong khi đó các phép toán của phần cứng được ủa Pixel được tách ra.. ược tách ra.c t ng h p ch th c hi n trên s nguyên

Trang 1

2 KH I CONVERT YCRCB TO RGB ỐI CONVERT YCRCB TO RGB

2.1S Đ KH I Ơ ĐỒ KHỐI Ồ KHỐI ỐI CONVERT YCRCB TO RGB

Hình 11.1: S đ c a kh i Convert YCrCb to RGB ơ đồ của khối Convert YCrCb to RGB ồ của khối Convert YCrCb to RGB ủa khối Convert YCrCb to RGB ối Convert YCrCb to RGB

CLK

Xung clock 27Mhz t kit DE2.ừ kit DE2

RESET Reset h th ng.ệ thống ống

iY[7:0]

Thành ph n đ sáng (Luma) c a Pixel đần độ sáng (Luma) của Pixel được tách ra ộ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ược tách ra.c tách ra iCb[7:0]

Thành ph n Cb c a Pixel đần độ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ược tách ra.c tách ra

iCr[7:0]

Thành ph n Cr c a Pixel đần độ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ược tách ra.c tách ra

Red[9:0]

Thành ph n Red c a Pixel tần độ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ương ứng.ng ng.ứng

Green[9:0]

Thành ph n Green c a Pixel tần độ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ương ứng.ng ng.ứng

Blue[9:0]

Thành ph n Blue c a Pixel tần độ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ương ứng.ng ng.ứng

Trang 2

Kh i này chuy n đ i t d ng d li u nh YCrCb 8 bit sang d ng RGB 10 bit cho phùống ổi từ dạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ừ kit DE2 ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ả ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù

h p v i yêu c u ngõ vào c a VGA DAC là ADV7123 Dợc tách ra ần độ sáng (Luma) của Pixel được tách ra ủa Pixel được tách ra ư i đây là công th c chuy n đ i sangứng ổi từ dạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù

d ng RGB 8 bit:ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù

R = 1.164 ( Y - 16 ) + 1.596 ( Cr – 128 ) ;

G = 1.164 ( Y - 16) - 0.392 ( Cb - 128 ) - 0.813 ( Cr - 128 ) ;

B = 1.164 ( Y - 16 ) + 2.017 ( Cb – 128 ) ; Sau đó đ có d ng RGB 10 bit thì ta d ch trái 2 bit ( nhân 4 ) nên có công th c m i:ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ứng

R’ = 4.656 ( Y - 16 ) + 6.384 ( Cr - 128 ) ; G’ = 4.656 ( Y - 16 ) - 1.568 ( Cb - 128 ) - 3.252 ( Cr - 128 );

B’ = 4.656 ( Y - 16 ) + 8.068 ( Cb - 128 ) ;

Do các h s có d ng th p phân, trong khi đó các phép toán c a ph n c ng đệ thống ống ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ập phân, trong khi đó các phép toán của phần cứng được ủa Pixel được tách ra ần độ sáng (Luma) của Pixel được tách ra ứng ược tách ra.c

t ng h p ch th c hi n trên s nguyên nên khi làm tròn và tính toán thì sai s khá l n, vìổi từ dạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ợc tách ra ệ thống ống ống

v y ta ph i nhân bi u th c trên v i m t s nguyên H nào đó đ gi m b t sai s khi làmập phân, trong khi đó các phép toán của phần cứng được ả ứng ộ sáng (Luma) của Pixel được tách ra ống ả ống tròn các h s , sau đó tính toán bi u th c r i chia l i cho H S nguyên H ta ch n có d ngệ thống ống ứng ồi chia lại cho H Số nguyên H ta chọn có dạng ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ống ọn có dạng ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù

2k thì thay vì th c hi n phép chia cho A ta ch c n d ch ph i k bit đây ta ch n k = 7 hay Hệ thống ần độ sáng (Luma) của Pixel được tách ra ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ả Ở đây ta chọn k = 7 hay H ọn có dạng

= 128 thì đô chính xác c a h s sẽ đ n ch s th 2 sau d u ph y Ta có công th c cu iủa Pixel được tách ra ệ thống ống ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ống ứng ấu phẩy Ta có công thức cuối ẩy Ta có công thức cuối ứng ống cùng (đã làm tròn đ tính toán trên các s nguyên) : ống

oR = (596 Y + 817Cr – 114131) : 128 ;

oG = (596 Y – 200Cb – 416Cr + 69370) : 128 ;

oB = (596 Y + 1033Cb – 141781) : 128 ;

Đ th c hi n công th c trên ta ti n hành theo các bệ thống ứng ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ư c:

 Nhân các thành ph n Y, Cb, Cr v i các h s tần độ sáng (Luma) của Pixel được tách ra ệ thống ống ương ứng.ng ng r i c ng chúng l i, sứng ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ử

d ng b t ng h p c ng nhân ( ALTMULT_ADD ) trong th vi n c a Quartus :ộ sáng (Luma) của Pixel được tách ra ổi từ dạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ợc tách ra ộ sáng (Luma) của Pixel được tách ra ư ệ thống ủa Pixel được tách ra

Ph n Menu >> Tools >> MegaWizard Plug_in Manager… >> Create … t o customần độ sáng (Luma) của Pixel được tách ra ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù

m i, đ t tên là MAC3ặt tên là MAC3 ; ch n ph n Arithmetic>>ALTMULT_ADD V i các thông s đọn có dạng ần độ sáng (Luma) của Pixel được tách ra ống ược tách ra.c ch nọn có dạng

nh sau:ư

- Tính oG c n 3 phép nhân : s lần độ sáng (Luma) của Pixel được tách ra ống ược tách ra.ng b nhân là 3.ộ sáng (Luma) của Pixel được tách ra

- Y,Cb,Cr là s 8 bit dống ương ứng.ng: đ r ng ngõ vào A là 8, ki u d li u không d uộ sáng (Luma) của Pixel được tách ra ộ sáng (Luma) của Pixel được tách ra ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ấu phẩy Ta có công thức cuối (Unsigned)

- Trong các h s có s âm nên, giá tr l n nh t là 1033 (s 11 bit) : đ r ngệ thống ống ống ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ấu phẩy Ta có công thức cuối ống ộ sáng (Luma) của Pixel được tách ra ộ sáng (Luma) của Pixel được tách ra ngõ vào B là 11, ki u d li u có d u (signed)ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ấu phẩy Ta có công thức cuối

Trang 3

- Ch n hàm gi a hai b nhân đ u tiên (first pair of multiplier) là phép c ngọn có dạng ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ộ sáng (Luma) của Pixel được tách ra ần độ sáng (Luma) của Pixel được tách ra ộ sáng (Luma) của Pixel được tách ra (Add) Khi t ng h p xong ta đổi từ dạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ợc tách ra ược tách ra.c m t kh i v i khai báo nh sau :ộ sáng (Luma) của Pixel được tách ra ống ư

module MAC_3 ( dataa_0,

dataa_1, dataa_2, datab_0, datab_1, datab_2, result, aclr0, clock0);

Trong đó:

- Ngõ vào đi u khi n : xóa b t đ ng b aclr0 và xung clock làm vi c clock0ều khiển : xóa bất đồng bộ aclr0 và xung clock làm việc clock0 ấu phẩy Ta có công thức cuối ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ệ thống

- Các ngõ vào d li u là dataa_0; dataa_1; dataa_2 là các s 7 bit không d u;ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ống ấu phẩy Ta có công thức cuối datab_0; datab_1; datab_2 là các s 11 bit có d u;ống ấu phẩy Ta có công thức cuối

- Ngõ ra là d li u 21 bit có d u:ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ấu phẩy Ta có công thức cuối

result = (dataa_0 × datab_0) + (dataa_1 × datab_1) + (dataa_2 × datab_2)

Chú ý: data_b0, data_b1, data_b2 là các h s công th c đã tính trên:ệ thống ống ở công thức đã tính ở trên: ứng ở công thức đã tính ở trên: 596d =

254h , 817d = 331h , -200d = F38h (s bù hai),ống -416d = E60h (s bù hai), 1033ống d = 409h V y đập phân, trong khi đó các phép toán của phần cứng được

th c hi n bệ thống ư c này ta sẽ g i các kh i MAC_3 nh sau:ọn có dạng ống ư

MAC_3 u0( iY, iCb, iCr,

11'h254, 11'h000, 11'h331,

X, iRESET, iCLK);

MAC_3 u1( iY, iCb, iCr,

11'h254, 11'hF38, 11'hE60,

Y, iRESET, iCLK);

MAC_3 u2( iY, iCb, iCr,

11'h254, 11'h409, 11'h000,

Z, iRESET, iCLK);

Sau đó tr (c ng) v i các s h ng còn l i r i chia cho 128 b ng cách d ch ph i 7 bit:ừ kit DE2 ộ sáng (Luma) của Pixel được tách ra ống ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ồi chia lại cho H Số nguyên H ta chọn có dạng ằng cách dịch phải 7 bit: ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ả

X_OUT <= ( X - 114131 ) >>7;

Trang 4

Y_OUT <= ( Y + 69370 ) >>7;

Z_OUT <= ( Z - 141787 ) >>7;

Tuy nhiên khi các giá tr R, G, B địch trái 2 bit ( nhân 4 ) nên có công thức mới: ược tách ra.c tính theo công th c trên thì có th là s âmứng ống

ho c vặt tên là MAC3 ược tách ra.t quá 1023 (10 bit ) vì v y ta gi i h n l i giá tr vào trong kho ng 0 đ n 1023:ập phân, trong khi đó các phép toán của phần cứng được ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ả ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối

if(X_OUT[13])

oRed<=0;

else if(X_OUT[12:0]>1023)

oRed<=1023;

Th c hi n tệ thống ương ứng.ng t v i 2 thành ph n còn l i thì d li u kh i xu t ra sẽ là d ngần độ sáng (Luma) của Pixel được tách ra ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ống ấu phẩy Ta có công thức cuối ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù RGB phù h p v i yêu c u đ t ra.ợc tách ra ần độ sáng (Luma) của Pixel được tách ra ặt tên là MAC3

3.1 S Đ KH I Ơ ĐỒ KHỐI Ồ KHỐI ỐI CONVERT YCRCB TO RGB

Hình 12.1: S đ c a kh i VGA Controller ơ đồ của khối Convert YCrCb to RGB ồ của khối Convert YCrCb to RGB ủa khối Convert YCrCb to RGB ối Convert YCrCb to RGB

CLK Xung clock 27Mhz t kit DE2.ừ kit DE2

RESET Tín hi u reset do kh i Timer trì hoãn ban đ u cung c p.ệ thống ống ần độ sáng (Luma) của Pixel được tách ra ấu phẩy Ta có công thức cuối

oRequest Tín hi u đi u khi n cho phép xu t d li u t SDRAM BUFFERvà l u các giá tr c a Line Pixel vào kh i Line Buffer.ư ệ thống. ều khiển : xóa bất đồng bộ aclr0 và xung clock làm việc clock0 ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ủa Pixel được tách ra. ấu phẩy Ta có công thức cuối ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống.ống. ừ kit DE2. oVGA_BLANK

oVGA_SYNC

oVGA_VS

oVGA_HS

Các chân này được tách ra.c g n tắn tương ứng vào chip giải mã ADV7123 ương ứng.ng ng vào chip gi i mã ADV7123ứng ả

và c ng VGA trên kit DE2 đ đ ng b vi c xu t ra monitor cácổi từ dạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ệ thống ấu phẩy Ta có công thức cuối frames nh Do xu t nh theo chu n VGA 640 x 480 nên chânả ấu phẩy Ta có công thức cuối ả ẩy Ta có công thức cuối VGA_SYNC luôn ph i đ t m c cao đ đ m b o vi c đ ng b ả ặt tên là MAC3 ở công thức đã tính ở trên: ứng ả ả ệ thống ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra VGA_X[0] Cho bi t v trí c a Pixel là ch n hay l đ đi u khi n vi c tách ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ủa Pixel được tách ra ẵn hay lẻ để điều khiển việc tách ẻ để điều khiển việc tách ều khiển : xóa bất đồng bộ aclr0 và xung clock làm việc clock0 ệ thống

Trang 5

các thành ph n Y, Cr, Cb trong kh i x lý nh YUVần độ sáng (Luma) của Pixel được tách ra ống ử ả VGA_Y[0] Cho bi t Line sẽ hi n th trên màn hình là thu c Odd Frame hayEven Frame đ ch n d li u đ a ra t SDRAM BUFFERến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ọn có dạngệ thống. ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống.ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ư ừ kit DE2. ộ sáng (Luma) của Pixel được tách ra.

Các chân d li u iRed, iGreen, iBlue đữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ược tách ra.c n i tr c ti p v i ngõ ra VGA_R, VGA_G,ống ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối VGA_B Ngõ ra oVGA_CLOCK là ngh ch đ o c a ngõ vào CLK ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ả ủa Pixel được tách ra

3.2 L U Đ GI I THU T ƯU ĐỒ GIẢI THUẬT Ồ KHỐI Ả ẬT

Gi i thu t t o tín hi u đ ng b đ giao ti p v i VGA là t o các b đ m v i cácả ập phân, trong khi đó các phép toán của phần cứng được ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ộ sáng (Luma) của Pixel được tách ra ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối thông s chu n đ t o ra các tín hi u đ ng b theo gi n đ th i gian:ống ẩy Ta có công thức cuối ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ả ồi chia lại cho H Số nguyên H ta chọn có dạng ời gian:

Trang 6

Hình 12.2: Vùng hi n th trong m t chu kỳ quét v i tình hi u reset t h th ng ển thị trong một chu kỳ quét với tình hiệu reset từ hệ thống ị trong một chu kỳ quét với tình hiệu reset từ hệ thống ột chu kỳ quét với tình hiệu reset từ hệ thống ới tình hiệu reset từ hệ thống ệu reset từ hệ thống ừ hệ thống ệu reset từ hệ thống ối Convert YCrCb to RGB

T các thông s đ nh thì cho chu n VGA 640ừ kit DE2 ống ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ẩy Ta có công thức cuối x 480 60Hz trên, do xung clock trongở công thức đã tính ở trên: thi t k có t n s 27Mến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ần độ sáng (Luma) của Pixel được tách ra ống hz nên ta ch n các giá tr tọn có dạng ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ương ứng.ng ng cho các thông s nh sau:ứng ống ư

a) Đ i v i VGA_HS (tín hi u đ ng b quy đ nh th i gian hi n th 1 hàng trong 1ống ệ thống ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ời gian: ịch trái 2 bit ( nhân 4 ) nên có công thức mới: chu kỳ quét ngang):

H_FRONT = 16, H_SYNC = 96, H_BACK = 48, H_ACT = 640

Nh v y khi hi n th xong 1 hàng thì ph i ch 1 kho ng th i gian là ư ập phân, trong khi đó các phép toán của phần cứng được ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ả ời gian: ả ời gian:

H_BLANK = H_FRONT + H_SYNC + H_BACK = 160 (đ n v là s chu kỳ xung clock) thì hi n th hàng m i Lúc này th i gian quét ngang là:ơng ứng ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ống ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ời gian: H_TOTAL = H_BLANK + H_ACT = 800

b) Đ i v i VGA_VS(tín hi u đ ng b quy đ nh th i gian hi n th 1 frame trong 1ống ệ thống ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ời gian: ịch trái 2 bit ( nhân 4 ) nên có công thức mới: chu kỳ quét toàn b màn hình): ộ sáng (Luma) của Pixel được tách ra

V_FRONT = 11; V_SYNC = 2; V_BACK = 31; V_ACT = 480

Nh v y khi hi n th xong 1 frame thì ph i ch 1 kho ng th i gian là:ư ập phân, trong khi đó các phép toán của phần cứng được ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ả ời gian: ả ời gian:

V_BLANK = V_FRONT + V_SYNC + V_BACK = 44 (đ n v là chu kỳ xung quét ngang VGA_HS) thì hi n th frame m i Th i gian quét mànơng ứng ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ời gian: hình là:

V_TOTAL = V_BLANK + V_ACT= 524

L u đ gi i thu t t o VGA_VS cũng đư ồi chia lại cho H Số nguyên H ta chọn có dạng ả ập phân, trong khi đó các phép toán của phần cứng được ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ược tách ra.c th c hi n tệ thống ương ứng.ng t ch khác là V_Cont

được tách ra.c đ m lên sau m i c nh lên c a VGA_HS.ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ỗi cạnh lên của VGA_HS ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ủa Pixel được tách ra

3.3 MÔ TẢ

Kh i sẽ t o các tín hi u đi u khi n cho ADV7123 và đ ng b vi c truy xu t, x lýống ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ều khiển : xóa bất đồng bộ aclr0 và xung clock làm việc clock0 ồi chia lại cho H Số nguyên H ta chọn có dạng ộ sáng (Luma) của Pixel được tách ra ệ thống ấu phẩy Ta có công thức cuối ử

d li u v i các kh i khác d a trên các tín hi u đ nh thì quét ngang và quét d c ữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ống ệ thống ịch trái 2 bit ( nhân 4 ) nên có công thức mới: ọn có dạng nh ư sao:

T o tín hi u quét ngang VGA_HS v i b đ m lên H_Cont :ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ộ sáng (Luma) của Pixel được tách ra ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối

always@(posedge iCLK or negedge iRST_N) begin

if(!iRST_N) begin

H_Cont <= 0;

oVGA_HS <= 1;

Trang 7

end else begin

if( H_Cont < H_TOTAL ) H_Cont <= H_Cont+1'b1;

else H_Cont <= 0;

//đ a VGA_HS v 0 t ưa VGA_HS về 0 tương ứng với khoảng thời gian Horizontal SYNC ề 0 tương ứng với khoảng thời gian Horizontal SYNC ưa VGA_HS về 0 tương ứng với khoảng thời gian Horizontal SYNCơ đồ của khối Convert YCrCb to RGB ng ng v i kho ng th i gian Horizontal SYNC ứng với khoảng thời gian Horizontal SYNC ới tình hiệu reset từ hệ thống ảng thời gian Horizontal SYNC ời gian Horizontal SYNC

if(H_Cont == H_FRONT-1) oVGA_HS <= 1'b0;

if(H_Cont == H_FRONT+H_SYNC-1) oVGA_HS <= 1'b1;

end end

T o tín hi u quét d c VGA_VS v i b đ m V_Cont theo c nh lên c a VGA_HS:ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ệ thống ọn có dạng ộ sáng (Luma) của Pixel được tách ra ến chữ số thứ 2 sau dấu phẩy Ta có công thức cuối ạng dữ liệu ảnh YCrCb 8 bit sang dạng RGB 10 bit cho phù ủa Pixel được tách ra

always@(posedge oVGA_HS or negedge iRST_N)

begin

if(!iRST_N) begin

V_Cont <= 0;

oVGA_VS <= 1;

end else begin

if(V_Cont < V_TOTAL) V_Cont <= V_Cont+1'b1;

Else V_Cont <= 0;

//đ a VGA_HS v 0 t ưa VGA_HS về 0 tương ứng với khoảng thời gian Horizontal SYNC ề 0 tương ứng với khoảng thời gian Horizontal SYNC ưa VGA_HS về 0 tương ứng với khoảng thời gian Horizontal SYNCơ đồ của khối Convert YCrCb to RGB ng ng v i kho ng th i gian Hrizontal SYNC ứng với khoảng thời gian Horizontal SYNC ới tình hiệu reset từ hệ thống ảng thời gian Horizontal SYNC ời gian Horizontal SYNC

if(V_Cont == V_FRONT-1) oVGA_VS <= 1'b0;

Trang 8

if(V_Cont == V_FRONT+V_SYNC-1) oVGA_VS <= 1'b1;

end end

Sau đó xu t các tính hi u đi u khi n khác:ấu phẩy Ta có công thức cuối ệ thống ều khiển : xóa bất đồng bộ aclr0 và xung clock làm việc clock0

//tích c c tín hi u BLANK đ xóa các Flicker: ực tín hiệu BLANK để xóa các Flicker: ệu reset từ hệ thống ển thị trong một chu kỳ quét với tình hiệu reset từ hệ thống

assign oVGA_BLANK = ~((H_Cont < H_BLANK) || (V_Cont <_BLANK));

//oRquest lên 1 th i gian hi n th frame trong m t chu kỳ quét màn hình: ở thời gian hiển thị frame trong một chu kỳ quét màn hình: ời gian Horizontal SYNC ển thị trong một chu kỳ quét với tình hiệu reset từ hệ thống ị trong một chu kỳ quét với tình hiệu reset từ hệ thống ột chu kỳ quét với tình hiệu reset từ hệ thống

assign oRequest = ( ( H_Cont >= H_BLANK && H_Cont < H_TOTAL )

&& ( V_Cont>=V_BLANK && V_Cont<V_TOTAL ) );

//tính toán v trí X,Y c a Pixel trong frame (X ị trong một chu kỳ quét với tình hiệu reset từ hệ thống ủa khối Convert YCrCb to RGB : v trí pixel trong hàng và Y ị trong một chu kỳ quét với tình hiệu reset từ hệ thống : //v trí ị trong một chu kỳ quét với tình hiệu reset từ hệ thống hàng trong frame) :

assign oCurrent_X = (H_Cont>=H_BLANK)? H_Cont-H_BLANK : 11'h0;

assign oCurrent_X = (V_Cont>=V_BLANK)? V_Cont-V_BLANK : 11'h0;

Nh v y k t khi b t đ u quét 1 frame thì ph i ch 1 kho ng th i gian có đ dài làư ập phân, trong khi đó các phép toán của phần cứng được ừ kit DE2 ắn tương ứng vào chip giải mã ADV7123 ần độ sáng (Luma) của Pixel được tách ra ả ời gian: ả ời gian: ộ sáng (Luma) của Pixel được tách ra (V_BLANK × H_TOTAL) + H_ BLANK = 35360 (chu kỳ) thì oRequest m i được tách ra.c tích c c

[1] Stuart Sutherland, Simon Davidmann, Peter Flake, System Verilog for Design.

[2] DAVID R SMITH, PAUL D FRANZON, verilog styles for Synthesis of Digital Systems.

[3] D Vanden Bout, VGA Generator for the XSA Boards, XESS Corporation, October 12, 2004

[4] J BHASKER, A Verilog HDL Primer

[5] T R PADMANABHAN, B BALA TRIPURA SUNDARI, Design Through Verilog HDL

[6] FPGA Design with Verilog

[7] Peter J Ashenden, Digital Design

Ngày đăng: 04/10/2013, 00:20

HÌNH ẢNH LIÊN QUAN

Hình 11.1: S  đ  c a kh i Convert YCrCb to RGB ơ đồ của khối Convert YCrCb to RGB ồ của khối Convert YCrCb to RGB ủa khối Convert YCrCb to RGB ối Convert YCrCb to RGB - KHỐI CONVERT YCRCB TO RGB
Hình 11.1 S đ c a kh i Convert YCrCb to RGB ơ đồ của khối Convert YCrCb to RGB ồ của khối Convert YCrCb to RGB ủa khối Convert YCrCb to RGB ối Convert YCrCb to RGB (Trang 1)
Hình 12.1: S  đ  c a kh i VGA Controller ơ đồ của khối Convert YCrCb to RGB ồ của khối Convert YCrCb to RGB ủa khối Convert YCrCb to RGB ối Convert YCrCb to RGB - KHỐI CONVERT YCRCB TO RGB
Hình 12.1 S đ c a kh i VGA Controller ơ đồ của khối Convert YCrCb to RGB ồ của khối Convert YCrCb to RGB ủa khối Convert YCrCb to RGB ối Convert YCrCb to RGB (Trang 4)

TỪ KHÓA LIÊN QUAN

w