Khối thuật toỏn Watermarking-JPEG trong miền chưa nộn được tổng hợp từ cỏc khối nộn ảnh JPEG (đó được xõy dựng trong Mục 4.1), khối watermarking trong miền chưa nộn và khối bộ đệm (làm trễ). Trước tiờn ta đi xõy dựng khối
watermarking trong miền chưa nộn. Theo Mục 3.2.3, thuật toỏn nhỳng watermark trong miền chưa nộn JPEG (watermarking trong miền chưa nộn) được mụ tả trờn Hỡnh 4.31.
( ) ( )i j C i j W( )I J CW , =α , +β ,
Hỡnh 4.31: Biểu đồ thuật toỏn nhỳng watermark trong miền chưa nộn JPEG
Nhận thấy trong mụ hỡnh thuật toỏn này cú khối chức năng biến đổi DCT ngược 2 chiều 16x16 (IDCT16x16). Đõy là khối thuật toỏn khỏ phức tạp và đang được thực hiện (chưa hoàn thiện trong luận văn này).
Khối watermarking trong miền chưa nộn được thiết kế tổng hợp bằng mó VHDL (watermarking_block_uncompress) và được mụ tả trờn Hỡnh 4.32.
Khối watermarking_block_uncompress cũng được thiết kế với cỏc hệ số watermarking α = ò = 1. Cỏc chõn tớn hiệu giao diện của khối:
CLK: tớn hiệu xung nhịp của hệ thống. RST: tớn hiệu reset của hệ thống.
Chro_in: tớn hiệu bỏo tớn hiệu đầu vào khối là tớn hiệu chúi hay màu (trong khối này mặc định chro_in=’0’).
Rdy_in: tớn hiệu bỏo cú tớn hiệu data tớch cực vào khối xử lý, mức tớch cực ‘1’. Y_in1(7:0): tớn hiệu chúi của ảnh gốc, thiết kế dưới dạng module 8 bits, trong
đú 1 bit dấu và 7 bits giỏ trị.
Y_in2(7:0): tớn hiệu watermark, thiết kế dưới dạng module 8 bits, trong đú 1 bit dấu và 7 bits giỏ trị.
Dout(7:0): tớn hiệu data đầu ra khối, thiết kế dưới dạng module 8 bits, trong đú 1 bit dấu và 7 bits giỏ trị.
Chro_out_i: tớn hiệu bỏo tớn hiệu đầu ra khối là tớn hiệu chúi hay màu (trong khối này thỡ chro_out=’0’).
Rdy_out_i: tớn hiệu bỏo cú tớn hiệu data tớch cực đầu ra, mức tớch cực là ‘1’. Tiếp theo thực hiện tổng hợp khối Watermarking-JPEG trong miền chưa nộn (jpeg_watermarking_in_uncompressed_domain) bằng mó VHDL được mụ tả trờn Hỡnh 4.33.
Khối buffer_uncompress cú chức năng làm trễ để sao cho tại tớn hiệu đầu ra bộ đệm và tớn hiệu đầu ra khối watermarking_block_uncompress tớch cực tại cựng một thời điểm. Theo tớnh toỏn thiết kế thỡ khối bộ đệm làm trễ buffer_uncompress tớn hiệu khoảng 182 chu kỳ xung nhịp.
Cỏc chõn tớn hiệu giao diện của hệ thống: CLK_in: tớn hiệu xung nhịp hệ thống RST_in: tớn hiệu reset cho cả hệ thống. Ce_in: tớn hiệu khớch hoạt hệ thống.
Red_in(7:0): tớn hiệu màu R 8 bits của ảnh gốc được lấy sau điều chế gamma (camera) đưa vào khối jpeg_watermarking_in_compressed_domain.
Green_in(7:0): tớn hiệu G 8 bits của ảnh gốc được lấy sau điều chế gamma (camera) đưa vào khối jpeg_watermarking_in_compressed_domain.
Blue_in(7:0): tớn hiệu B 8 bits được lấy sau điều chế gamma (camera) đưa vào khối jpeg_watermarking_in_compressed_domain.
Watermark_in(7:0): tớn hiệu watermark, thiết kế dưới dạng module 8 bits, trong đú 1 bit dấu và 7 bits giỏ trị.
jpeg_water_out(15:0): tớn hiệu data của ảnh đó được nhỳng waterark, 16 bits trong đú 1 bit dấu và 15 bit giỏ trị.
jpeg_water_rdy_out: tớn hiệu bỏo hiệu cú tớn hiệu data tớch cực đầu ra khối, mức tớch cực là ‘1’.
Trong mụ hỡnh hệ thống watermarking-JPEG trong miền chưa nộn này , khối IDCT16x16 đang được phỏt triển (chưa hoàn chỉnh trong luận văn này).
Kết luận: Để cú thể thực hiện xõy dựng cỏc khối thuật toỏn bằng mó VHDL thỡ yờu cầu trước tiờn phải phõn tớch cỏc thuật toỏn rất chi tiết, chi tiết tới từng phộp
cộng và nhõn. Việc xõy dựng cỏc khối này cú thể lựa chọn trực tiếp viết bằng mó VHDL hay cú thể dựng cụng cụ sơ đồ khối System Generator rồi sau đú tạo mó VHDL. Sử dụng cụng cụ System Generator cú ưu điểm là đơn giản bằng đồ họa, mụ phỏng kết quả dễ dàng sử dụng liờn kết với Matlab/Simulink, nhưng nú cú nhược điểm là khi generate ra mó VHDL sẽ tạo ra cỏc khối mó rất phức tạp yờu cầu tài nguyờn hệ thống lớn. Cụng cụ này đũi hỏi người thiết kết phải rất am hiểu hệ thống, đặc biệt là việc tổ chức bộ nhớ RAM. Luận văn đó sử dụng kết hợp cả hai phương phỏp này.
Cỏc kết quả thực hiện bằng VHDL và trờn FPGA chủ yếu là cho mụ hỡnh Watermarking-JPEG trong miền nộn, sẽ được trỡnh bày trong Chương 5.
CHƯƠNG 5: KẾT QUẢ Mễ PHỎNG VÀ THỰC HIỆN PHÁT TRIỂN
Trước tiờn luận văn thực hiện mụ phỏng mức hệ thống sử dụng cụng cụ Matlab/Simulink cho cả hai mụ hỡnh thuật toỏn watermarking trong miền chưa nộn và watermarking trong miền nộn JPEG. Tiếp theo thực hiện mụ phỏng cho cỏc khối thuật toỏn dựng ngụn ngữ VHDL và thực hiện trờn FPGA. Kết quả thực hiện dựng ngụn ngữ VHDL và thực hiện trờn FPGA là cho mụ hỡnh watermarking trong miền nộn JPEG.