Tải bản đầy đủ (.pdf) (154 trang)

Nghiên cứu ứng dụng FPGA thực hiện thuật toán watermarking miền DCT cho ảnh số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.1 MB, 154 trang )

bộ giáo dục và đào tạo
trờng đại học bách khoa hà nội
--------------------------------------Đặng văn hiếu

đặng văn hiếu

ngành điện tử viễn thông

NGHIÊN Cứu, ứng dụng FPGA thực hiện thuật toán
watermarking miền dct cho ảnh số

luận văn thạc sĩ khoa học

khoá 2007-2009

Hà Nội 2009


I

LỜI GIỚI THIỆU
Trong những năm gần đây, nhu cầu về an ninh giám sát bằng hình ảnh đang
phát triển mạnh mẽ. Các hệ thống camera an ninh giám sát được triển khai rộng
khắp là công cụ đắt lực không chỉ cho các cơ quan đoàn thể mà cho cả các cá nhân
để quản lý, giám sát trong nhiều lĩnh vực khác nhau như trong quản lý giám sát
giao thông, giám sát an ninh, tài sản, thiết bị vật tư,…Nhưng một vấn đề đặt ra là
hình ảnh từ các camera này có được coi là bằng chứng hợp pháp trung thực khi
đưa ra trước pháp luật. Như chúng ta biết, với sự phát triển của công nghệ máy
tính số, các công nghệ xử lý hình ảnh, việc chỉnh sửa các hình ảnh là rất dễ dàng
và trực tiếp. Nó có thể phá rối, gây nhiễu hình ảnh cũng như thay đổi nội dung mà
không hề để lại một dấu vết nào. Vì vậy mà các cơ quan pháp luật, tòa án gặp rất


nhiều khó khăn để xác thực, và coi những bằng chứng này là loại bằng chứng
không đáng tin cậy, xếp chúng với sự ưu tiên thấp. Để khắc phục thì watermarking
là một lựa chọn tốt cho vấn đề này.
Mục đích của luận văn là nghiên cứu ứng dụng công nghệ mạch tích hợp logic
khả trình FPGA để thực hiện một thuật toán watermarking mạnh miền DCT cho
ảnh số nén JPEG. Trước tiên, các thuật toán nén ảnh JPEG và watermarking miền
DCT trong miền nén cũng như trong miền chưa nén được phân tích cụ thể. Từ đó
tiến hành xây dựng các khối module thuật toán sử dụng ngôn ngữ mô tả phần cứng
VHDL và thực hiện trên FPGA. Các kết quả đạt được cho thấy khả năng ứng dụng
rất lớn của của mô hình thuật toán vào thực tế.
Tác giả xin chân thành cám ơn TS. Phạm Ngọc Nam, Bộ môn Kỹ thuật Điện tử
tin học, Khoa Điện tử viễn thông, đã tận tình hướng dẫn, trao đổi những kinh
nghiệm và những ý kiến quý báu. Xin gửi lời cám ơn tới các Thầy, Cô trong Khoa


II

Điện tử viễn thông, tới gia đình, bạn bè đã giúp đỡ và tạo điều kiện để tác giả có
thể hoàn thành luận văn và khóa học.
Trong quá trình thực hiện, luận văn không tránh khỏi những thiếu sót, tác giả
rất mong nhận được sự góp ý của Thầy, Cô và đồng nghiệp.
Hà Nội, ngày 23 tháng 10 năm 2009
Tác giả


III

MỤC LỤC
LỜI GIỚI THIỆU................................................................................................. I
TÓM TẮT...........................................................................................................III

MỤC LỤC ............................................................................................................V
DANH MỤC CÁC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT ............................ IX
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ............................................................X
DANH MỤC CÁC BẢNG..............................................................................XIII
CHƯƠNG 1: MỞ ĐẦU ....................................................................................... 1
1.1. Cơ sở nghiên cứu và mục đích của luận văn............................................... 1
1.2. Tổ chức luận văn ......................................................................................... 3
CHƯƠNG 2: TỔNG QUAN VỀ CÁC CHUẨN NÉN MULTIMEIDA,
WATERMARKING VÀ CÁC PHƯƠNG PHÁP MÔ PHỎNG..................... 5
2.1. Tổng quan về nén dữ liệu Multimedia ........................................................ 5
2.1.1. Tổng quan về multimedia ...................................................................... 5
2.1.2. Hiệu quả nén dữ liệu multimedia ........................................................... 7
2.1.2.1. Tỷ lệ nén và số bit trên một mẫu...................................................... 7
2.1.2.2. Các thước đo chất lượng .................................................................. 7
2.1.2.3. Trễ mã hóa...................................................................................... 10
2.1.2.4. Độ phức tạp mã hóa. ...................................................................... 10
2.1.3. Tổng quan về nén ảnh .......................................................................... 10
2.1.4. Các tiêu chuẩn nén dữ liệu multimedia................................................ 12
2.1.4.1. Chuẩn mã hóa ảnh tĩnh................................................................... 12
2.1.4.2. Các chuẩn mã hóa video ................................................................ 12
2.1.4.3. Chuẩn mã hóa audio....................................................................... 14
2.2. Watermarking............................................................................................ 14


IV

2.3. Thực hiện phát triển trên Matlab/Simulink và FPGA............................... 15
2.3.1. Các công việc cần thực hiện................................................................. 15
2.3.2. Giới thiệu các công cụ của Xilinx........................................................ 16
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT CỦA CÁC KỸ THUẬT NÉN ẢNH JPEG

VÀ WATERMARKING CHO ẢNH SỐ......................................................... 18
3.1. Kỹ Thuật nén ảnh số JPEG ....................................................................... 18
3.1.1. Chuyển đổi không gian màu và tốc độ lấy mẫu màu........................... 20
3.1.1.1. Không gian màu RGB.................................................................... 20
3.1.1.2. Không gian màu YCbCr ................................................................ 20
3.1.1.3. Tốc độ lấy mẫu màu....................................................................... 21
3.1.1.4. Macroblock .................................................................................... 22
3.1.2. Biến đổi Cosin rời rạc (DCT).............................................................. 22
3.1.2.1. Biến đổi Fourier ............................................................................. 22
3.1.2.2. Biến đổi cosine rời rạc (DCT)........................................................ 24
3.1.3. Lượng tử hóa các hệ số DCT ............................................................... 29
3.1.4. Quét zigzag các hệ số DCT.................................................................. 31
3.1.5. Mã hóa Entropy.................................................................................... 32
3.1.5.1. Mã hóa có độ dài biến đổi.............................................................. 33
3.1.5.2. Mã hóa Huffman ............................................................................ 33
3.2. Watermarking............................................................................................ 36
3.2.1. Watermarking tại miền không gian...................................................... 36
3.2.2. Watermarking tại miền DCT................................................................ 36
3.2.3. Watermarking hiện và watermarking ẩn.............................................. 38
3.2.4. Một số ứng dụng của watermarking ảnh số ......................................... 39
3.2.5. Các đặc tính mong muốn cho watermark ............................................ 42


V

3.2.5.1. Các đặc tính mong muốn cho watermark hiện .............................. 42
3.2.5.2. Các đặc tính mong muốn cho watermark ẩn yếu........................... 43
3.2.5.3. Các đặc tính mong muốn cho watermark ẩn mạnh........................ 44
CHƯƠNG 4: PHÂN TÍCH VÀ XÂY DỰNG CÁC KHỐI THUẬT TOÁN
NÉN ẢNH VÀ WATERMARKING................................................................ 45

4.1. Các thuật toán nén ảnh .............................................................................. 45
4.1.1. Khối Thuật toán biến đổi không gian màu.......................................... 45
4.1.2. Tốc độ lấy mẫu màu............................................................................. 46
4.1.2.1. Các định dạng lấy mẫu màu cơ bản ............................................... 46
4.1.2.2. Khối chuyển đổi tốc độ lấy mẫu màu ............................................ 49
4.1.3. Thuật toán biến đổi cosine rời rạc (DCT) ............................................ 51
4.1.3.1. Tính toán và xây dựng khối DCT-2D 8x8 ..................................... 52
4.1.3.2. Tính toán và xây dựng khối biến đổi DCT 2-D 16x16 .................. 61
4.1.4. Xây dựng khối lượng tử hóa ................................................................ 75
4.1.5. Xây dựng khối quét zigzag .................................................................. 79
4.1.6. Xây dựng khối mã hóa Entropy ........................................................... 81
4.1.6.1. Khối mã hóa bước chạy RLE......................................................... 81
4.1.6.2. Khối mã hóa Huffman.................................................................... 83
4.1.7. Tổng hợp khối nén ảnh JPEG .............................................................. 84
4.2. Các thuật toán Watermarking ................................................................... 86
4.2.1. Xây dựng khối thuật toán Watermarking-JPEG trong miền nén......... 86
4.2.2. Xây dựng khối thuật toán Watermarking-JPEG trong miền chưa nén 90
CHƯƠNG 5: KẾT QUẢ MÔ PHỎNG VÀ THỰC HIỆN PHÁT TRIỂN... 96
5.1. Mô hình mức hệ thống với MATLAB/SIMULINK ................................. 96
5.1.1. Phương pháp mô hình hóa mức hệ thống ............................................ 96


VI

5.1.2. Mô hình hệ thống watermarking trong miền chưa nén........................ 97
5.1.3. Mô hình hệ thống watermarking trong miền nén............................... 102
5.2. Mô hình hệ thống với VHDL và thực hiện trên FPGA .......................... 106
5.2.1. Kết quả thực hiện các thuật toán trong nén ảnh JPEG....................... 107
5.2.1.1. Khối thuật toán biến đổi không gian màu RGB-YCrCb.............. 107
5.2.1.2. Khối biến đổi tốc độ lấy mẫu màu ............................................... 109

5.2.1.3. Khối thực hiện biến đổi DCT_2D 8x8......................................... 111
5.2.1.4. Khối lượng tử hóa ........................................................................ 113
5.2.1.5. Khối quét zigzag .......................................................................... 115
5.2.1.6. Khối mã hóa bước chạy RLE....................................................... 117
5.2.1.7. Khối mã hóa Huffman.................................................................. 119
5.2.1.8. Khối nén ảnh JPEG tổng.............................................................. 121
5.2.2. Kết quả thực hiện các thuật toán Watermarking-JPEG .................. 123
5.2.2.1. Khối thực hiện biến đổi DCT_2D 16x16..................................... 123
5.2.2.2. Khối thực hiện thuật toán nhúng watermark trong miền nén ...... 125
5.2.2.3. Khối Watermarking-JPEG trong miền nén tổng thể.................... 128
5.3. Đánh giá và thảo luận.............................................................................. 130
5.3.1. Chất lượng ảnh và chất lượng nén trong mô hình nén ảnh và
watermarking.................................................................................................. 130
5.3.2. Đánh giá phân tích về thời gian, tốc độ thực hiện và chiếm dụng tài
nguyên khi thực hiện hệ thống thuật toán trên FPGA ................................... 134
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..................................................... 138
TÀI LIỆU THAM KHẢO............................................................................... 140


VII

DANH MỤC CÁC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT
ACC
DSP
DCT
FDCT
FIFO
FPGA
JPEG
IC

IDCT

Advanced Audio Coding
Digital Signal Processor
Discrete Cosine Transform
Fast Discrete Cosine Transform
First In First Out
Field Programmable Gate Array

Joint Picture Expert Group
Integrated Circuit
Inverse Discrete Cosine
Transform
ISO
International Standard
Organization
ITU
International Telecommunication
Union
IP
Intellectual Property
HVS
Human Vision System
LSB
Least Significant Bit
MSB Most Significant Bit
MIPs Million of instructions per
second
MOPs Million of Operations per second
MOS Mean Observer Score

MPEG Motion Picture Expert Group
MP3
Mpeg-1 Layer 3
PSNR Peak Signal per Noise Ratio
PC
Personal Computer
RLE
Run Length Encode
SNR
Signal per Noise Ratio
VCR Video Cassette Recorder
VHDL VHSIC Hardware Description
Language
VLC
Variable Length Coding

Mã hóa audio tiên tiến
Bộ xử lý tín hiệu số
Biến đổi cosine rời rạc
Biến đổi cosine rời rạc nhanh
Bộ đệm vào trước ra trước
Mảng cổng logic có thể lập trình tại
chỗ
Nhóm chuyên gia ảnh tĩnh
Mạch tích hợp
Biến đổi cosine rời rạc ngược
Tổ chức tiêu chuẩn quốc tế
Liên minh viễ thông quốc tế
Sở hữu trí tuệ
Hệ thống thị giác con người

Bit mang ít ý nghĩa thông tin nhất
Bit mang nhiều ý nghĩa thông tin nhất
Triệu lệnh trên một giây
Triệu thao tác trên giây
Điểm người quan sát trung bình
Nhóm chuyên gia về ảnh động
Chuẩn nén audio MPEG-1 layer 3
Tỷ số tín hiệu trên nhiễu đỉnh
Máy tính cá nhân
Mã hóa bước chạy
Tỷ số tín hiệu trên nhiễu
Bộ ghi video băng đĩa từ
Ngôn ngữ mô tả phần cứng
Mã hóa với từ mã biến đổi


VIII

DANH MỤC CÁC HÌNH VẼ
Hình 3.1: Một mô hình nén ảnh tổng quát........................................................... 11
Hình 3.1: Baseline JPEG: (a) nén, (b) giải nén ................................................... 19
Hình 3.2: 4:2:0 macroblock ................................................................................. 22
Hình 3.3: Dạng sóng tín hiệu chẵn và lẻ ............................................................. 24
Hình 3.4: Xây dựng các tín hiệu với biến đổi cosine và sine.............................. 25
Hình 3.5: Biến đổi DCT 2 chiều 8x8 thông qua biến đổi DCT một chiều 1x8... 27
Hình 3.6: so sánh các ma trận trước và sau DCT ................................................ 29
Hình 3.7: Quét zigzag ma trận hệ số DCT .......................................................... 32
Hình 3.8 : Cây mã Huffman cho mã hóa Huffman ............................................. 35
Hình 3.9: Nhúng một watermark ở tần số giữa ................................................... 37
Hình 3.10: Nhúng watermark tại ma trận các hệ số 16x16 ................................. 38

Hình 3.11: Watermarking trong miền chưa nén và miền nén ............................. 39
Hình 4.1: Khối thuật toán RGB to YCbCr .......................................................... 45
Hình 4.2: Biểu diễn đồ họa chuẩn lấy mẫu 4:4:4 ................................................ 47
Hình 4.3: Qúa trình tạo dịnh dạng 4:4:4.............................................................. 47
Hình 4.4: Biểu diễn đồ họa chuẩn 4:2:2 .............................................................. 48
Hình 4.5: Tạo định dạng 4:2:2............................................................................. 48
Hình 4.6: Biểu diễn đồ họa định dạng 4:2:0........................................................ 48
Hình 4.7: Sự tạo định dạng 4:2:0......................................................................... 49
Hình 4.8: Khối chuyển đổi 4:4:4to4:2:0.............................................................. 50
Hình 4.9: cấu hình hệ số 4:4:4to4:2:0 ................................................................. 50
Hình 4.10: Cấu trúc khối đường dữ liệu 2-D DCT ............................................. 53
Hình 4.11: Sơ đồ khối thực hiện DCT 1-D (k: 0-7) ............................................ 56
Hình 4.12: Sơ đồ khối thực hiện DCT 2-D (K: 0 -> 7) ....................................... 59


IX

Hình 4.13: Biểu đồ dòng thuật toán 2-D DCT .................................................... 60
Hình 4.14: Khối thực hiện thuật toán DCT-2D 8x8............................................ 60
Hình 4.15: Cấu trúc khối đường dữ liệu 2-D DCT 16x16 .................................. 62
Hình 4.16: Sơ đồ khối thực hiện DCT-1D 16x16 ............................................... 65
Hình 4.17: Sơ đồ khối thực hiện biến đổi DCT-2D 16x16 ................................. 72
Hình 4.18: Biểu đồ dòng thuật toán 2-D DCT 16x16 ......................................... 73
Hình 4.19: Khối thực hiện DCT-2D 16x16......................................................... 74
Hình 4.20: Khối thực hiện thuật toán lượng tử hóa............................................. 77
Hình 4.21 : Sơ đồ nguyên lý hoạt động của bộ lượng tử hóa.............................. 78
Hình 4.22 : Khối thực hiện quét zigzag............................................................... 79
Hình 4.23 : Sơ đồ nguyên lý hoạt động của khối quét zigzag............................. 80
Hình 4.24: Mã hóa Entropy ................................................................................. 81
Hình 4.25: Khối thực hiện mã hóa bước chạy RLE ............................................ 82

Hình 4.26: Khối thực hiện mã hóa Huffman....................................................... 83
Hình 4.27: Khối thực hiện nén ảnh JPEG ........................................................... 85
Hình 4.28: Biểu đồ thuật toán nhúng watermark trong miền nén JPEG............. 87
Hình 4.29: Khối thực hiện thuật toán nhúng watermark trong miền nén............ 87
Hình 4.30: Khối thực hiện thuật toán watermarking-JPEG trong miền nén ....... 89
Hình 4.31: Biểu đồ thuật toán nhúng watermark trong miền chưa nén JPEG .... 91
Hình 4.32: Khối thực hiện thuật toán nhúng watermark trong miền chưa nén... 91
Hình 4.33: Khối thực hiện thuật toán watermarking-JPEG trong miền nén ....... 93
Hình 5.1: Mô hình hóa thuật toán watermarking trong miền chưa nén .............. 98
Hình 5.2: Hai ảnh nguồn dùng để khảo sát ......................................................... 99
Hình 5.3: Hai ảnh watermark dùng để khảo sát ................................................ 100
Hình vẽ 5.4: Kết quả mô phỏng thuật toán watermarking trong miền chưa nén101


X

Hình 5.5: Mô hình hệ thống thuật toán watermarking trong miền nén............. 104
Hình 5.6: Kết quả mô phỏng thuật toán watermarking trong miền nén............ 106
Hình 5.7: Giản đồ thời gian thực hiện khối color_conv_cw ............................. 107
Hình 5.8: Giản đồ thời gian thực hiện khối color_resampler444to420............. 109
Hình 5.9: Giản đồ thời gian thực hiện khối DCT8x8........................................ 111
Hình 5.10: Giản đồ thời gian thực hiện khối lượng tử hóa ............................... 113
Hình 5.11: Giản đồ thời gian thực hiện khối quét zigzag ................................. 115
Hình 5.12: Giản đồ thời gian thực hiện khối mã hóa bước chạy RLE.............. 117
Hình 5.13: Giản đồ thời gian thực hiện khối mã Huffman ............................... 119
Hình 5.14: Giản đồ thời gian thực hiện khối nén ảnh Jpeg_encoder ................ 121
Hình 5.15: Giản đồ thời gian thực hiện khối DCT_2D 16x16.......................... 124
Hình 5.16: Giản đồ thời gian thực hiện khối watermarking_block_compressed126
Hình 5.17: Giản đồ thời gian thực hiện khối
jpeg_watermarking_in_compressed_domain ............................................. 129

Hình 5.18: PSNR và mô hình thuật toán mức hệ thống .................................... 132


XI

DANH MỤC CÁC BẢNG
`Bảng 3.1: Các hệ số DC và AC........................................................................... 28
Bảng 3.2: Ma trận lượng tử cho thành phần chói................................................. 30
Bảng 3.3: Ma trận lượng tử cho thành phần màu................................................. 31
Bảng 3.4: Ví dụ mã Huffman ............................................................................... 34
Bảng 4.1 : Ma trận các giá trị nhị phân nghịch đảo của ma trận lượng tử chói Y 76
Bảng 4.2 : Ma trận các giá trị nhị phân nghịch đảo của ma trận lượng tử màu ... 76
Bảng 5.1: Kết quả tổng hợp khối color_conv_cw trên dòng chip V5................ 107
Bảng 5.2: Kết quả tổng hợp khối color_conv_cw trên dòng chip S3E .............. 108
Bảng 5.4: Kết quả tổng hợp khối color_resampler444to420 trên dòng chip V5 110
Bảng 5.4: Kết quả tổng hợp khối color_resampler444to420 trên dòng chip S3E
...................................................................................................................... 110
Bảng 5.5: Kết quả tổng hợp khối DCT8x8 trên dòng chip V5 .......................... 112
Bảng 5.6: Kết quả tổng hợp khối DCT_2D 8x8 trên dòng chip S3E................. 112
Bảng 5.7: Kết quả tổng hợp khối lượng tử hóa (Quant) trên dòng chip V5 ...... 114
Bảng 5.8: Kết quả tổng hợp khối lượng tử hóa (Quant) trên dòng chip S3E..... 114
Bảng 5.9: Kết quả tổng hợp khối quét zigzag trên dòng chip V5 ...................... 116
Bảng 5.10: Kết quả tổng hợp khối quét zigzag trên dòng chip S3E .................. 116
Bảng 5.11: Kết quả tổng hợp khối mã hóa bước chạy RLE trên dòng chip V5 118
Bảng 5.12: Kết quả tổng hợp khối mã hóa bước chạy RLE trên dòng chip S3E118
Bảng 5.13: Kết quả tổng hợp khối mã hóa Huffman trên dòng chip V5 ........... 120
Bảng 5.14: Kết quả tổng hợp khối mã hóa Huffman trên dòng chip S3E ......... 120
Bảng 5.15: Kết quả tổng hợp khối nén ảnh JPEG trên dòng chip V5................ 122
Bảng 5.16: Kết quả tổng hợp khối nén JPEG trên dòng chip S3E..................... 122



XII

Bảng 5.17: Kết quả tổng hợp khối DCT16x16 trên dòng chip V5 .................... 124
Bảng 5.18: Kết quả tổng hợp khối DCT_2D 16x16 trên dòng chip S3E........... 125
Bảng 5.19: Kết quả tổng hợp khối watermarking_block_compressed trên dòng
chip V5......................................................................................................... 127
Bảng 5.20: Kết quả tổng hợp khối watermarking_block_compressed trên dòng
chip S3E....................................................................................................... 127
Bảng 5.21: Kết quả tổng hợp khối jpeg_watermarking_in_compressed_domain
trên dòng chip V5 ........................................................................................ 129
Bảng 5.22: Kết quả tổng hợp khối jpeg_watermarking_in_compressed_domain
trên dòng chip S3E....................................................................................... 130
Bảng 5.23: Bảng so sánh đánh giá kết quả mức hệ thống.................................. 133
Bảng 5.23: Bảng kết quả tổng hợp cho các khối thuật toán thực hiện trên dòng
chip V5 ............................................................................................... 134
Bảng 5.23: Bảng kết quả tổng hợp cho các khối thuật toán thực hiện trên dòng
chip S3E ............................................................................................... 135


1

CHƯƠNG 1: MỞ ĐẦU
1.1. Cơ sở nghiên cứu và mục đích của luận văn
Watermarking số là quá trình nhúng thông tin, hay một watermark, vào trong
một đối tượng multimedia số, cũng như watermark có thể được phát hiện hay
trích ra sau đó để đưa ra sự xác nhận về đối tượng. Watermarking đã chứng tỏ nó
là công cụ đáng tin cậy cho bảo vệ bản quyền và nhận thực cho các phương tiện
số, và vì vậy có rất nhiều nghiên cứu đã và đang được thực hiện trong lĩnh vực
này.

Watermarking đã xuất hiện cách đây hơn 700 năm. Khi đó nó là một kỹ thuật
được sử dụng bởi các nhà sản xuất giấy để nhận dạng các sản phẩm của mình.
Ngày nay chúng ta vẫn thường xuyên bắt gặp các watermark trên giấy, ví dụ trên
các tờ tiền giấy, séc, tem bưu điện, và các văn bản hành chính của nhà nước. Bên
cạnh các ứng dụng trên giấy, watermarking cũng có thể được sử dụng để cung
các các giải pháp an ninh cho các dữ liệu đa phương tiện số như là âm thanh,
hình ảnh, video…
Trong phạm vi đề tài này, đề tài lựa chọn kỹ thuật watermarking cho ảnh tĩnh
để nghiên cứu, phân tích và thực hiện với cả hai loại watermarking hiện và ẩn.
Một ứng dụng rất có ý nghĩa và quan trọng của watermarking cho hình ảnh là
trong nhận thực hình ảnh đầu ra của các camera giám sát hay bảo mật. Việc
chuyển dịch từ tương tự sang số trong lĩnh vực giám sát hình ảnh tạo ra một lỗ
hổng bảo mật khi chúng ta cố gắng cung cấp các bằng chứng hình ảnh giám sát
tới pháp luật. Hình ảnh giám sát số không thể được chấp nhận như một bằng
chứng hợp pháp bởi vì việc sửa đổi dữ liệu số là trực tiếp dễ dàng, và sự hiện


2

hữu của các công cụ xử lý ảnh làm cho sự nhận thực là rất đáng ngờ. Đặc biệt,
nó có thể phá rối và gây nhiễu các video số mà không hề để lại một dấu vết nào.
Watermarking có thể cung cấp sự nhận thực và phát hiện phá rối cho các hệ
thống giám sát số. Một vài hệ thống hiện tại cung cấp các lựa chọn watermarking
cho các hình ảnh lưu trữ. Các hệ thống này cho rằng đường truyền dẫn từ video
camera tới trung tâm lưu trữ là an toàn và chúng chỉ thực hiện tập trung bảo mật
cho video khi đã ở trung tâm lưu trữ. Sự thừa nhận này là không đúng nều hệ
thống bị tấn công ở tầng truyền dẫn. Trong trường hợp này, nhận thực phải được
thực hiện ngay tại video camera để cung cấp một hệ thống bảo mật an toàn hơn.
Điều này có thể đạt được bằng việc sử dụng một thiết bị trên cơ sở phần cứng
hay mềm để nhúng một watermark vào tín hiệu video tại ngay video camera. Vì

quá trình nhúng watermark yêu cầu tốc độ và độ mạnh, nên thực hiện bằng phần
cứng có lẽ là cần thiết và hợp lý hơn.
Ngày nay, các chíp FPGA đang cải thiện đáng kể về tốc độ, dung lượng nhớ,
sự mềm dẻo, và sự tiêu hao năng lượng theo từng năm. Các ứng dụng mà FPGA
có thể được ứng dụng bao gồm xử lý tín hiệu số, xử lý âm thanh và hình ảnh,
máy tính số, nhận dạng, bảo mật…Các ứng dụng mà yêu cầu rất nhiều các xử lý
song song thì rất hiệu quả với kiến trúc của FPGA. Với watermarking cho ảnh số
thì FPGA đem lại rất nhiều hiệu quả bởi khả năng xử lý song song mạnh mẽ của
nó. Nhưng hơn tất cả đó là giá thành mà FPGA mang lại là rất hợp lý.
Vì vậy luận văn lựa chọn FPGA để nghiên cứu và thực hiện phát triển cho
thuật toán watermarking cho ảnh số, với mục đích đóng góp chính của luận văn
là:
¾ Sự phân tích khoa học về các vấn đề liên quan đến watermarking cho ảnh
số nén.


3

¾ Các kết quả mô phỏng mức hệ thống khẳng định tính đúng đắn và mạnh
mẽ của thuật toán.
¾ Các phân tích tối ưu thuật toán cho việc thực hiện trên phần cứng được
nghiên cứu và thực hiện.
¾ Khảo sát đánh giá và đưa ra các ứng dụng quan trọng của watermarking
trong các lĩnh vực bảo vệ bản quyền và nhận thực số, đặc biệt ứng dụng
cho các hệ thống camera giám sát và bảo mật.
¾ Quy trình thiết kế số và các công cụ sử dụng trong thiết kế và mô phỏng
khi thực hiện trên FPGA.
¾ Một kiến trúc hệ thống cho watermarking ảnh số trên FPGA được nghiên
cứu và phát triển.
Các kết quả được trình bày trong luận văn này đạt được từ các thuật toán cụ

thể trên các thiết bị FPGA của hãng Xilinx. Tuy nhiên chúng mới chỉ dừng lại ở
mức độ nghiên cứu và mô phỏng đồng thiết kế Co-design trên các công cụ phát
triển của hãng Xilinx trên máy tính PC.
1.2. Tổ chức luận văn
Bố cục của đề tài được tổ chức thành 5 chương như sau:
¾ Chương 1: Mở đầu. Tác giả trình bày tóm tắt cơ sở nghiên cứu và mục
đích cũng như tổ chức của luận văn.
¾ Chương 2: Tổng quan về các chuẩn nén multimedia, watermarking và các
phương pháp mô phỏng. Trong chương này giới thiệu tổng quan về
multimedia, nén dữ liệu multimedia, các phương pháp đánh giá chất lượng
dữ liệu và chất lượng nén đối với các thuật toán nén. Lý thuyết


4

watermarking và các công cụ sử dụng để thực hiện và mô phỏng cũng
được giới thiệu trong chương này.
¾ Chương 3: Cơ sở lý thuyết của các kỹ thuật nén ảnh JPEG và
Watermarking cho ảnh số. Trong chương này tác giả trình bày và phân
tích cơ sở lý thuyết của các thuật toán và các kỹ thuật liên quan đến nén
ảnh JPEG, watermarking miền DCT trong miền nén và miền chưa nén
JPEG.
¾ Chương 4: Phân tích và xây dựng các khối thuật toán nén ảnh và
watermarking. Chương này tập trung phân tích các thuật toán nén ảnh và
watermarking theo chiều sâu, từ đó xây dựng thiết kế các khối mã VHDL
thực hiện thuật toán cho ứng dụng phần cứng FPGA.
¾ Chương 5: Kết quả mô phỏng và thực hiện phát triển. Chương này trình
bày các kết quả mô phỏng mô hình mức hệ thống cho toàn bộ thuật toán
dựa trên công cụ Matlab/simulink, và các kết quả thực hiện các thuật toán
trên VHDL và FPGA. Từ đó đưa ra nhận xét và kết luận



5

CHƯƠNG 2: TỔNG QUAN VỀ CÁC CHUẨN NÉN MULTIMEDIA,
WATERMARKING VÀ CÁC PHƯƠNG PHÁP MÔ PHỎNG
Hiện nay trên thế giới có nhiều các chuẩn nén dữ liệu multimedia khác nhau.
Mỗi chuẩn nén sử dụng các kỹ thuật riêng và đặc trưng cho các ứng dụng khác
nhau. Giống như nén dữ liệu multimedia, kỹ thuật watermarking cũng được thực
hiện theo nhiều phương pháp, trong các miền làm việc khác nhau. Vì vậy việc
đánh giá các kỹ thuật này là rất quan trọng trong quá trình nghiên cứu cũng như
trong quá trình thực hiện. Trong chương này, luận văn giới thiệu tổng quan về
nén dữ liệu multimedia, kỹ thuật watermarking, các phương pháp đánh giá chất
lượng và các phương pháp mô phỏng phục vụ cho quá trình nghiên cứu và thực
hiện các kỹ thuật này.
2.1. Tổng quan về nén dữ liệu Multimedia
2.1.1. Tổng quan về multimedia
Chúng ta đang chứng kiến một cuộc cách mạng trong các công nghệ truyền
thông và máy tính trong thế kỷ 21. Ngành công nghiệp viễn thông đã trải qua
một sự thay đổi to lớn từ mạng tương tự sang mạng số cho phép công nghệ
Internet phát triển như vũ bão như ngày nay. Truyền dẫn từ tương tự sang truyền
dẫn số mang lại cho chúng ta rất nhiều cơ hội trong từng khía cạnh của cuộc
sống. Viễn thông, Internet, giải trí số, và tính toán tổng quát đang trở thành một
phần tất yếu của cuộc sống hàng ngày. Ngày nay chúng ta đang nói nhiều về các
mạng số, sự biểu diễn số của các ảnh, các bộ phim, video, tivi, thoại, thư viện
số…tất cả bởi vì sự biểu diễn số của tín hiệu mạnh hơn rất nhiều so với sự biểu
diễn tương tự về xử lý, tính toán, lưu trữ, khôi phục, và truyền dẫn qua khoảng
cách địa lý dài. Trong những năm gần đây có nhiều các thành tựu nhiều ý nghĩa
trong xử lý ảnh tĩnh, video, đồ họa, thoại, và các tín hiệu audio thông qua các



6

máy tính số để đạt được các thách thức ứng dụng khác nhau. Như một kết quả tất
yếu, thông tin multimedia mà bao gồm ảnh, video, audio, thoại, văn bản, và các
loại dữ liệu khác có tiềm năng để trở thành chỉ là một kiểu dữ liệu. Viễn thông
không chỉ còn là nền tảng truyền thông thoại điểm tới điểm giữa hai đầu cuối.
Nhu cầu cho truyền thông các dữ liệu multimedia thông qua các mạng thông tin
viễn thông và truy nhập dữ liệu multimedia thông qua Internet đang phát triển
mạnh mẽ. Để làm được điều đó thì cần thiết rằng sự biểu diễn dữ liệu và mã hóa
dữ liệu multimedia phải được tiêu chuẩn hóa trên các ứng dụng và các nền tảng
khác nhau. Dữ liệu video và ảnh tĩnh là một phần rất quan trọng của dữ liệu
multimedia và chúng chiếm một phần lớn băng thông trong truyền thông
multimedia. Do vậy, sự phát triển các kỹ thuật nén ảnh hiệu quả đang tiếp tục trở
thành một thách thức quan trọng cho chúng ta, cả trong học thuật và trong công
nghiệp.
Mặc dù sự biểu diễn số của các tín hiệu mang lại nhiều ưu điểm so với biểu
diễn tương tự, nhưng chúng cần một số lượng rất lớn các bit cho lưu trữ và
truyền dẫn. Ví dụ, một tín hiệu audio chất lượng cao yêu cầu xấp xỉ 1,5Mbps cho
biểu diễn số và lưu trữ [1]. Một tín hiệu truyền hình màu độ phân giải thấp, tốc
độ 30 khung hình trên giây với mỗi khung bao gồm 640x480 pixels (24 bits trên
một pixel màu) thì yêu cầu lớn hơn 210Mbps cho lưu trữ. Và khi đó một bộ
phim màu có thời gian 1 tiếng mà đã được số hóa thì yêu cầu không gian lưu trữ
xấp xỉ 95 Gbytes. Sự truyền dẫn các tín hiệu số này thông qua các kênh thông tin
có băng thông hữu hạn là vô cùng khó khăn và thậm trí là không thể trong định
dạng dữ liệu gốc này. Một điều rất quan trọng là hầu hết các tín hiệu multimedia
như ảnh, video, và thoại thường bao gồm một số lượng lớn các thông tin dư thừa
không cần thiết trong sự biểu diễn cũng như đối với hệ thống cảm nhận của con



7

người. Do đó chúng ta có thể thực hiện nén các dữ liệu này để giảm các dư thừa
trong biểu diễn dữ liệu để đáp ứng các yêu cầu truyền thông và lưu trữ.
2.1.2. Hiệu quả nén dữ liệu multimedia
Giống như bất kỳ một hệ thống nào khác, các thước đo về hiệu quả của một
thuật toán nén là các nguyên tắc quan trọng cho sự lựa chọn thuật toán. Các
phương pháp xác định hiệu quả của các thuật toán nén dữ liệu có thể được xem
xét từ nhiều khía cạnh khác nhau phụ thuộc vào các yêu cầu ứng dụng: tỷ lệ nén
đạt được, chất lượng của dữ liệu sau khi khôi phục, sự phức tạp tương đối của
thuật toán, tốc độ thực hiện…
2.1.2.1. Tỷ lệ nén và số bit trên một mẫu
Thước đo phổ biến nhất xem xét hiệu quả của một thuật toán nén dữ liệu là tỷ
lệ nén. Nó được định nghĩa là tỷ lệ của số lượng các bit dùng để biểu diễn dữ liệu
gốc trên số bit dùng để biểu diễn dữ liệu nén. Xem xét một ảnh có kích thước
256x256 yêu cầu 65536 bytes lưu trữ nếu mỗi pixel được biểu diễn bởi một byte
đơn. Nếu phiên bản nén của ảnh có thể được lưu trữ trong 4096 bytes, thì khi đó
tỷ lệ nén đạt được bởi thuật toán nén là 16:1.
Sự biến thể của tỷ lệ nén là số bits trên một mẫu. Thước đo này cho biết số
lượng các bit trung bình để biểu diễn một mẫu đơn của dữ liệu (ví dụ: số lượng
bits trên một pixel của ảnh mã hóa). Nếu 65536 pixels của một ảnh được nén tới
4096 bytes, thì chúng ta có thể nói rằng thuật toán nén đạt được trung bình 0,5
bit trên pixel. Do vậy, số lượng bits trên mẫu có thể được đo bởi tỷ lệ của số
lượng các bít của một mẫu chưa nén đơn trên tỷ lệ nén [1].
2.1.2.2. Các thước đo chất lượng


8

Thước đo này thì không ứng dụng cho các thuật toán nén không tổn hao.

Thước đo chất lượng hay độ trung thực là đặc biệt quan trọng cho các thuật toán
nén có tổn hao cho video, audio, ảnh, thoại…, bởi vì dữ liệu sau khi khôi phục
thì khác với dữ liệu gốc và hệ thống cảm thụ của con người là phiên tòa phân xử
sau cùng chất lượng của dữ liệu sau khi khôi phục.
Sự khác nhau của dữ liệu sau khi khôi phục so với dữ liệu gốc gọi là sự méo
dạng. Như vậy thuật toán nén cho chất lượng cao hơn chỉ khi méo dạng là nhỏ
hơn. Các phương pháp đo chất lượng có thể là rất chủ quan dựa vào cảm nhận
của con người hay có thể được xác định khách quan dựa sử dụng sự đánh giá
thống kê và toán học. Thực tế có nhiều thước đo đánh giá chất lượng chủ quan
và khách quan khác nhau để đánh giá chất lượng của các thuật toán nén.
- Thước đo chất lượng chủ quan: Thông thường thước đo chất lượng chủ
quan được định nghĩa như điểm số người quan sát trung bình MOS (mean
observer score). Thỉnh thoảng, nó cũng còn được gọi là điểm số quan điểm trung
bình (mean opinion score). Có nhiều cách thống kê khác nhau để tính MOS.
Trong một trong số các cách đơn giản nhất, một số những người quan sát có ý
nghĩa thống kê được chọn ngẫu nhiên để đánh giá chất lượng bằng nhìn thấy của
các ảnh được khôi phục lại. Tất cả các ảnh được nén và giải nén bởi cùng thuật
toán. Mỗi người quan sát cho một điểm số cho mỗi ảnh sau khi khôi phục dựa
trên sự cảm nhận về chất lượng của ảnh của anh (chị) ta. Trung bình của các
điểm được gán bởi tất cả những người quan sát các ảnh đã được khôi phục được
gọi là điểm quan sát trung bình MOS. Các kỹ thuật xác định MOS có thể khác
nhau cho các loại dữ liệu thu nhận khác nhau. Phương pháp để xác định chất
lượng chủ quan của một ảnh tĩnh có thể hoàn toàn khác cho video hay dữ liệu
thoại.


9

- Thước đo chất lượng khách quan: Với phương pháp khách quan thì thước
đo chất lượng khách quan được sử dụng rộng rãi nhất là lỗi bình phưong trung

bình căn bậc hai RMSE (Root-mean-squared error), tỷ số tín hiệu trên nhiễu
SNR (signal – to – noise ratio), tỷ số tín hiệu trên nhiễu đỉnh PSNR (peak signal
– to – noise ratio). Nếu I là một ảnh số MxN, I’ là ảnh được khôi phục lại tương
ứng sau nén và giải nén, khi đó RMSE được tính bởi công thức sau:

RMSE =

1
MN

M

N

∑∑ [ I (i, j ) − I ' (i, j )]

2

(2.1)

i =1 j =1

Trong đó i,j chỉ vị trí của pixel trong ảnh.
SNR theo đơn vị decibel được tính theo biểu thức sau:

⎛ 1 M N 2


I
(

i
,
j
)
∑∑

⎜ MN i =1 j =1
SNR = 20 log 2 ⎜
⎟ = 10 log10
RMSE







M N


I 2 (i, j )


∑∑
i =1 j =1
⎟ (2.2)


⎜ M M
2

⎜⎜ ∑∑[ I (i, j ) − I ' (i, j )] ⎟⎟

⎝ i =1 j =1

Trong trường hợp một ảnh 8 bit, thì PSNR tương ứng được tính theo dB là:

⎛ 255 ⎞
PSNR = 20 log10 ⎜

⎝ RMSE ⎠

(2.3)

Trong đó 255 là giá trị pixel có thể lớn nhất trong 8 bit.
Lưu ý rằng một RMSE thấp hơn (tương ứng SNR hay PSNR cao hơn) không
phải luôn luôn cần thiết để cho chất lượng chủ quan cao. Các thước đo lỗi khách
quan này không phải luôn luôn tương quan tốt với các thước đo chất lượng chủ
quan. Có nhiều trường hợp, trong đó PSNR của một ảnh đã được khôi phục có


10

thể là tương đối cao, nhưng chất lượng chủ quan lại tương đối tồi khi được nhìn
nhận bởi mắt người. Vì vậy sự lựa chọn thước đo chủ quan hay khách quan để
đánh giá thuật toán nén và giải nén thường phụ thuộc vào các tiêu chuẩn ứng
dụng.
2.1.2.3. Trễ mã hóa
Trễ mã hóa là một phương pháp đánh giá hiệu quả khác của các thuật toán nén
trong các hệ thống mã hóa và giải mã tương tác (ví dụ: truyền hình hội thảo
tương tác, thông tin thoại thời gian thực…). Thuật toán nén phức tạp có lẽ sẽ

đem lại tỷ lệ nén tốt hơn, nhưng nó có thể dẫn tới tăng trễ mã hóa, ảnh hưởng các
ứng dụng tương tác thời gian thực.
2.1.2.4. Độ phức tạp mã hóa.
Độ phức tạp mã hóa của một thuật toán nén thường được xem xét là một phép
đo hiệu quả trong đó yêu cầu tính toán để thực hiện mã hóa và giải mã là một
nguyên tắc quan trọng. Các yêu cầu tính toán thường được xác định bằng số
lượng các phép tính số học và các yêu cầu bộ nhớ. Thông thường số lượng các
phép tính số học được miêu tả bởi MOPS (million of operations per second).
Nhưng trong kỹ thuật nén, MIPS (million of instructions per second) thường
được sử dụng để xác định hiệu quả nén trong một kiến trúc thuật toán cụ thể, đặc
biệt khi thực hiện các sơ đồ thuật toán nén bằng các kiến trúc bộ xử lý tín hiệu số
DSP.
2.1.3. Tổng quan về nén ảnh
Mô hình tổng quan của nén ảnh tĩnh có thể được mô tả sử dụng một sơ đồ
khối thể hiện trên Hình 1.1.


11

ảnh đầu vào

Giải tương quan
hay tiền xử lý

Mã hóa không tổn
hao

Mã hóa
Entropy


ảnh nén

Mã hóa tổn hao

Khối xử lý

Hình 2.1: Một mô hình nén ảnh tổng quát

Phân tích thống kê của một ảnh thông thường cho thấy rằng có một tương
quan rất lớn giữa các pixel liền kề nhau. Điều này gây ra sự dư thừa thông tin
trong ảnh. Sự dư thừa này phần lớn có thể loại bỏ bằng việc giải tương quan ảnh
với một vài kỹ thuật tiền xử lý. Tổng quát, các kỹ thuật nén ảnh tĩnh phụ thuộc
vào hai nguyên lý giảm dư thừa cơ bản là giảm dư thừa về mặt không gian và
giảm dư thừa về mặt thống kê. Dư thừa không gian là sự giống nhau của các
pixel liền kề trong một ảnh và nó được làm giảm bằng cách các kỹ thuật giải
tương quan như là mã hóa dự đoán, mã hóa chuyển đổi, mã hóa băng con,…Còn
các dư thừa về mặt thống kê thì được làm giảm bằng phương pháp mã hóa
entropy, như là mã hóa Huffman, mã hóa số học…
Khối giải tương quan hay tiền xử lý trong Hình 2.1 là bước thực hiện giảm dư
thừa không gian của các pixel ảnh. Trong chế độ mã hóa không tổn hao thì ảnh
đã được giải tương quan được xử lý trực tiếp bởi bộ mã hóa entropy. Trong chế
độ mã hóa tổn hao, ảnh đã được giải tương quan là đối tượng cho xử lý cao hơn
để che hay loại đi thông tin không liên quan mà phụ thuộc vào tính tự nhiên của
ứng dụng của ảnh và các yêu cầu chất lượng của ảnh khôi phục. Qúa trình này
được gọi là quá trình lượng tử hóa. Các pixel ảnh đã được giải tương quan và


12

giải lượng tử hóa sau đó được đưa tới quá trình mã hóa entropy để tạo ra dữ liệu

ảnh nén.
2.1.4. Các chuẩn nén dữ liệu multimedia
2.1.4.1. Chuẩn mã hóa ảnh tĩnh.
Hai tổ chức chính trong lĩnh vực nén ảnh tĩnh là ISO và ITU-T. ISO thực hiện
xử lý thông tin liên quan đến các vấn đề như là lưu trữ ảnh và phục hồi ảnh,
trong khi đó ITU-T giải quyết các vấn đề liên quan đến truyền dẫn thông tin.
JPEG (Joint Photographic Expert Group) là tiêu chuẩn được phát triển bởi sự kết
hợp giữa ISO và ITU-T vào năm 1992 cho các ảnh tĩnh – cho cả ảnh đen trắng
và ảnh màu. Có một sự hiểu nhầm trong rất nhiều người rằng JPEG là một thuật
toán đơn cho nén ảnh tĩnh. Thực tế, chuẩn JPEG định nghĩa ra 4 chế độ hoạt
động [1][3], chúng là: Chế độ dựa vào DCT tuần tự, chế độ không tổn hao tuần
tự, chế độ dựa vào DCT liên tục, và chế độ thứ bậc. Thuật toán được sử dụng
rộng rãi cho nén ảnh trong chế độ dựa vào DCT tuần tự được gọi là Baseline
JPEG. Hệ thống JPEG hiện tại được thực hiện với mục đích nén các ảnh tĩnh với
tốc độ bit là từ 0,25 đến 2 bits trên một pixel. JPEG2000 là chuẩn mã hóa ảnh
tĩnh thế hệ tiếp theo nhằm đạt được các tốc độ bit thấp hơn trong khi chất lượng
cao hơn với nhiều các đặc tính mong muốn thêm vào để đáp ứng các thách thức
mới mà JPEG không có.
Các chuẩn nén ảnh hai mức phổ biến là Group 3 và Group 4 (cũng được gọi là
ITU-T rec T4 và T6) được phát triển bởi ITU-T trong năm 1980 cho nén fax, và
JBIG được phát triển bởi ISO trong năm 1994 cho nén ảnh đen trắng.
2.1.4.2. Các chuẩn mã hóa video


×