Tài liệu Cơ sở lý thuyết của các kỹ thuật nén ảnh jpeg và watermarking cho ảnh số

  • Số trang: 143 |
  • Loại file: PDF |
  • Lượt xem: 151 |
  • Lượt tải: 0
quangtran

Đã đăng 3721 tài liệu

Mô tả:

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 1 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à: 2  Sự phân tích khoa học về các vấn đề liên quan đến watermarking cho ảnh số nén.  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. 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 3 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 4 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 5 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 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 6 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 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]. 7 2.1.2.2. Các thước đo chất lượng 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 8 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. - 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 9 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ó 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 10 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. ả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 11 ứ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à 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. 12 2.1.4.2. Các chuẩn mã hóa video MPEG (Moving picture expert group) là chuẩn của ISO cho một hệ thống nén số để xử lý các ảnh động (video) kết hợp với audio. MPEG-1 (được biết như ISO 11172) là thế hệ đầu tiên của các tiêu chuẩn nén số cho video và audio stereo hai kênh để đạt được tốc độ bit khoảng 1,5Mbps cho lưu trữ trong CD-ROMS. MPEG-1 đã được chuẩn hóa vào năm 1994. ISO đã phát triển một chuẩn tiếp theo là MPEG-2 (được biết như ISO 13818) vào năm 1995 để đáp ứng các yêu cầu của các hệ thống nén số cho video và audio quảng bá chất lượng cao tại tốc độ 6-10Mbps. MPEG-4 được chuẩn hóa vào năm 1998, nhằm đáp ứng các thách thức mới của mã hóa video theo đối tượng cho các ứng dụng multimedia. Ủy ban MPEG cũng đang phát triển cái được gọi là giao diện mô tả nội dung multimedia, hay MPEG-7. Có một sự hiểu nhầm rất phổ biến rằng MPEG-7 là một chuẩn nén video mới khác. Sự thật là MPEG-7 không định nghĩa bất kỳ một thuật toán nén mới nào. Nó thực hiện giải quyết các vấn đề như định dạng file và mô tả siêu dữ liệu của video nén để định nghĩa ra một tiêu chuẩn cho sự mô tả nhiều loại thông tin multimedia khác nhau mà đã được mã hóa bởi các bộ mã hóa tiêu chuẩn. Một chuẩn khác cũng đang được phát triển bởi ủy ban MPEG là MPEG-21. MPEG-21 với mục đích là cho phép sự sử dụng tăng lớn và trong suốt các nguồn tài nguyên Multimedia dọc theo một phạm vi rộng của các mạng và các thiết bị. Song song với ISO, ITU định nghĩa ra các chuẩn nén chuỗi ảnh cho các ứng dụng truyền dẫn như là hội thảo truyền hình, điện thoại hình…H261 là một chuẩn mà ITU đã phát triển vào năm 1990 cho phần mã hóa video của chuẩn hội thảo truyền hình (H.320) để truyền video tại tốc độ bit 56Kbps – 2 Mbps thông qua kênh viễn thông. H.263 là chuẩn mã hóa video tốc độ bit thấp, được phát 13 triển vào năm 1995 cho mã hóa video để truyền dẫn video tại tốc độ bit thấp hơn 28,8Kbps thông qua kênh viễn thông. H264 là chuẩn mã hóa video tiên tiến, được phát triển vào năm 2003, và hiện nay đang được ứng dụng rất rộng rãi. 2.1.4.3. Chuẩn mã hóa audio Nỗ lực chuẩn hóa cho audio số được bắt đầu trong lớp audio của chuẩn mã hóa video MPEG. Luồng bit MPEG bao gồm các tín hiệu audio và video và chúng được tổng hợp tại bộ giải mã. Các chuẩn mã hóa audio MPEG-1 và MPEG-2 là các chuẩn quốc tế đầu tiên trong lĩnh vực nén audio số chất lượng cao. Hệ thống mã hóa audio MPEG-1 hoạt động trong các chế độ tần số đơn hay chế độ stereo hai kênh tại các tần số lấy mẫu 32KHz, 44.1KHz, 48Khz. Hệ thống được định rõ trong 3 lớp: Lớp I, II và III cho các tốc độ dữ liệu khác nhau. MPEG-1 lớp I cho chất lượng cao tại tốc độ dữ liệu 192Kbps/kênh, trong khi đó lớp II cung cấp audio chất lượng cao tại tốc độ dữ liệu 128Kbps, và lớp III cung cấp tốc độ dữ liệu 64Kbps. Hệ thống mã hóa audio tiên tiến MPEG-2 (MPEG-2 AAC) hoạt động tại các tần số lấy mẫu giữa 8 và 96KHz và hỗ trợ lên tới 48 kênh audio. MPEG-2 AAC được sử dụng như phần lõi của chuẩn mã hóa audio MPEG-4 tại các tốc độ dữ liệu bằng hay lớn hơn 16Kbps/kênh. Mã hóa MPEG-4 cho các đối tượng audio cung cấp các công cụ nén khác nhau cho các âm thanh tự nhiên cũng như các âm thanh tổng hợp cho một phạm vi tốc độ bit rộng. Các chuẩn mã hóa audio khác như AC-3 Dolby, Philips DCC…MP3 là một chuẩn rất phổ biến trên internet cho audio và music. Tuy nhiên, MP3 không phải là một chuẩn mã hóa audio mới, nó là chuẩn MPEG-1 audio lớp III. 2.2. Watermarking Kỹ thuật Watermarking thực hiện nhúng dữ liệu mở rộng, được gọi là Watermark, vào trong một bản tin. Tại phía thu, dữ liệu nhúng này có thể được 14 nhận biết và tách lấy bằng một phương pháp thích hợp tương ứng. Việc phân loại Watermarking có thể được xem xét theo nhiều khía cạnh, cụ thể là: nếu theo cảm nhận của con người thì nó được chia ra loại ẩn và hiện. Nếu theo độ mạnh của nó thì có thể chia ra loại mạnh và loại yếu. Theo các ứng dụng thì nó có thể là loại cơ sở nguồn hay đích. Theo loại tài liệu thì nó có thể là text, ảnh, âm thanh, video. Theo miền làm việc thì nó có thể là loại miền không gian hay miền tần số. Cả watermarking ẩn hay hiện đều có thể được sử dụng cho bảo vệ bản quyền tác giả; thêm vào đó loại ẩn cũng hữu ích trong các ứng dụng bảo mật như chuyển đổi dấu và truyền thông tin mật. Loại watermarking mạnh có thể làm vô tác dụng các tấn công nhằm loại bỏ watermark. Một watermark có thể được nhúng vào trong text, hình ảnh, âm thanh hay video như dữ liệu thừa. Phụ thuộc vào các thuật toán nhúng mà các watermark có thể được giải tách chính xác như ban đầu hay không. Do đặc tính mạnh của thuật toán watermarking trong miền DCT, đề tài lựa chọn watermarking trong miền DCT để nghiên cứu và phát triển cho ứng dụng nhận thực hình ảnh cho camera bảo mật giám sát và cho ứng dụng bảo vệ bản quyền tác giả. 2.3. Thực hiện mô phỏng và phát triển trên Matlab/Simulink và FPGA 2.3.1. Các công việc cần thực hiện Thuật toán Watermarking có thể thực hiện trên nhiều nền tảng khác nhau như phần mềm, phần cứng, điều khiển nhúng, DSP, FPGA…Với các ứng dụng thương mại yêu cầu thời gian thực thì giải pháp phần mềm sẽ gây ra trễ lớn, do vậy mục đích của nghiên cứu này là tìm hiểu và nghiên cứu giải pháp tích hợp thuật toán watermarking trên một IC cho các ứng dụng nghiên cứu. FPGA là giải pháp hiệu quả cho cả tốc độ xử lý nhanh, lập trình linh hoạt và giá thành hợp lý. 15 Đề tài lựa chọn các công cụ phát triển FPGA của hãng Xilinx của Hoa Kỳ để nghiên cứu phát triển, đó là ISE và System Generator. Đầu tiên các module nén ảnh JPEG, module watermarking cho ảnh số trong miền chưa nén và module watermarking cho ảnh số trong miền nén nên được xây dựng với công cụ thiết kế kiến trúc mức cao là MATLAB/SIMULINK để kiểm tra các thuật toán và hiệu quả của nó. Bước tiếp theo thực hiện xây dựng các khối thuật toán trên các công cụ ISE và System generator sử dụng ngôn ngữ mô tả phần cứng VHDL. 2.3.2. Giới thiệu các công cụ của Xilinx - ISE (10.1, 11.1): Là công cụ xây dựng và lập trình FPGA. ISE thực sự là một môi trường tổng hợp và thực thi toàn diện cho các chip khả trình của Xilinx. Với ISE 11.1, người thiết kế có thể lập trình, gỡ rối, mô phỏng, dịch và nạp chương trình một cách nhanh chóng và dễ dàng. Người thiết kế cũng có thể thiết kế hệ thống của mình theo nhiều cách khác nhau: với mã vhdl, với sơ đồ RTL, hoặc với sơ đồ trạng thái (state machine). - System Generator (10.1, 11.1) (sysgen): là công cụ phát triển hệ thống cho FPGA, cho phép thiết kế hệ thống ở dạng các khối, và hỗ trợ mô phỏng, debug, tạo code để nạp vào FPGA hoặc kết hợp vào những ứng dụng lớn hơn. Sysgen được xây dựng như một Block Set của Simulink trong Matlab. Do đó, sysgen thừa hưởng tất cả các ưu điểm của Simulink trong việc xây dựng hệ thống và mô phỏng. Sysgen còn sử dụng thư viện của Logic Core để xây dựng các block của mình. Trong thư viện của Sysgen có các khối thực hiện các chức năng từ cơ bản như cộng, trừ, nhân, các khối logic,...cho đến những thiết kế phức 16 tạp hơn như các DSPs, bộ lọc số, nhân chập,..., các bộ nhớ tích hợp: Single Port, DualPort Ram, FIFOs, các thanh ghi... Sysgen còn cho phép người thiết kế tạo ra các khối để thực hiện những nhiệm vụ riêng bằng khối Black Box, tại đây người thiết kế sẽ tạo ra các entity và cài mã của nó vào Black Box để tạo ra các thiết kế riêng của mình. Những thiết kế của Sysgen có thể được dịch ra nhiều kiểu dữ liệu, có thể thành file bit để nạp ngay vào phần cứng, hoặc thành các thiết kế để ghép vào một hệ thống lớn hơn.Với việc kết hợp với Mathwork để xây dựng Sysgen, Xilinx đã làm cho việc thiết kế hệ thống trên nền FPGA của mình trở nên thuận tiện và đơn giản hơn rất nhiều đối với người làm kĩ thuật. Kết luận: Qua chương này, luận văn muốn gửi tới người đọc cái nhìn tổng quan về multimedia, sự phát triển của nén dữ liệu multimedia và các kỹ thuật watermarking cho multimedia. Một công cụ rất hiệu quả sử dụng để mô phỏng và chứng minh kết quả của các thuật toán nén và watermarking cho multimedia là Matlab/Simulink. Với sự phát triển của công nghệ FPGA, cùng với sự hỗ trợ của các công cụ lập trình, việc thực hiện các thuật toán nén và watermarking phức tạp trên FPGA là có thể. 17 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT CỦA CÁC KỸ THUẬT NÉN ẢNH JPEG VÀ WATERMARKING CHO ẢNH SỐ Chuẩn nén ảnh tĩnh JPEG được khảo sát và thực hiện trong luận văn này là JPEG Baseline. Cơ sở toán học của JPEG Baseline là các kỹ thuật chuyển đổi không gian màu và tốc độ lấy mẫu màu, biến đổi cosine rời rạc (DCT), lượng tử hóa biến đổi, quét zigzag và mã hóa entropy. Kỹ thuật watermarking cho ảnh số được khảo sát và thực hiện là kỹ thuật watermarking trong miền DCT, cả trong miền nén và miền chưa nén JPEG. Mô hình lý thuyết thực hiện watermarking cho ảnh số trong chương này cũng cho phép đạt được watermarking ẩn hay hiện thông qua điều chỉnh các tham số trong mô hình. 3.1. Kỹ Thuật nén ảnh số JPEG JPEG đã được giới thiệu trong Chương 2. JPEG định nghĩa ra 4 chế độ hoạt động trong đó có cả nén có tổn hao và không tổn hao. Đề tài lựa chọn chế độ nén có tổn hao trên cơ sở biến đổi DCT để thực hiện nén ảnh và watermarking. Thuật toán được lựa chọn cho nén ảnh là thuật toán nén JPEG Baseline. Đây là thuật toán được sử dụng rộng rãi và khá đơn giản trong chế độ nén ảnh JPEG trên cơ sở biến đổi DCT, nhưng cũng mang lại hiệu quả nén cao. Thuật toán định nghĩa cho việc nén các ảnh tĩnh với 1 tới 4 thành phần. Số lượng các thành phần cho ảnh đơn sắc là 1, trong khi đó một ảnh màu có thể có tới 4 thành phần màu. Baseline Jpeg cho phép chỉ các mẫu 8 bit trong mỗi thành phần của ảnh nguồn. Một ví dụ của ảnh màu 4 thành phần là ảnh CMYK (Cyan, Magenta, Yellow, và Black), đây là ảnh được sử dụng trong nhiều các ứng dụng như in ấn, scan,… Một ảnh màu thường có 3 thành phần màu cơ bản là RGB. Trong một ảnh màu 18 thông thường, sự tương quan về không gian giữa các thành phần màu R, G, B là rất lớn. Để đạt được hiệu quả nén tốt thì sự tương quan giữa các thành phần màu phải được giảm đầu tiên bằng việc chuyển đổi ảnh RGB sang một không gian màu giải tương quan. Trong Baseline JPEG, một ảnh 3 màu RGB được chuyển đổi sang một không gian màu L-C (chói-màu) như là YCbCr, YUV…Tiếp theo ảnh được lấy mẫu màu lại và sắp xếp để đưa tới các thuật toán lõi của JPEG Baseline. Thuật toán JPEG Baseline được thể hiện theo mô hình khối ở Hình 3.1. Như vậy các thuật toán nén và giải nén ảnh JPEG Baseline gồm có: chuyển đổi không gian và tốc độ lấy mẫu màu, biến đổi cosin rời rạc (DCT) và biến đổi ngược (IDCT), lượng tử hóa và giải lượng tử hóa, quét zigzag, mã hóa entropy và giải mã entropy. Các thuật toán này sẽ được giới thiệu cụ thể trong các phần tiếp theo. Dữ liệu ảnh đầu vào Bộ mã hóa FDCT Block 8x8 Lượng tử hóa Quét zigzag Mã hóa Entropy Dữ liệu ảnh nén Bảng mã Entropy Bảng lượng tử hóa (a) Bộ giải mã hóa Dữ liệu ảnh nén Giải mã hóa Entropy Quét zigzag ngược Giải lượng tử hóa Bảng mã Entropy Bảng lượng tử hóa (b) 19 IDCT Dữ liệu ảnh khôi phục Hình 3.1: Baseline JPEG: (a) nén, (b) giải nén 3.1.1. Chuyển đổi không gian màu và tốc độ lấy mẫu màu Sự thu nhận hình ảnh của con người hay hệ thống thị giác con người (HVS) có thể chỉ cảm nhận được ánh sáng có độ dài bước sóng trong phạm vi nhỏ trong phổ trường điện từ, từ 400nm đến 700nm, hay thường được gọi là cầu vồng 7 màu: đỏ, da cam, vàng, lục, lam, tràm, tím. Hơn thế nữa, 7 màu sắc cầu vồng có thể được tạo thành từ 3 màu gốc cơ bản. Trong ngành công nghệ video và movie, hai hệ 3 màu cơ bản được sử dụng rộng rãi là: RGB và YCbCr. Mỗi một hệ ba màu cơ bản này được gọi là một không gian màu. 3.1.1.1. Không gian màu RGB Không gian màu RGB có 3 màu cơ bản là: đỏ (R-red), lục(G-green), lam(Bblue). Đây là các màu mà mắt người có thể nhìn thấy và sự kết hợp của chúng trong các độ sáng khác nhau có thể tạo ra tất cả các màu trong thế giới thực. Trong ảnh và video số, mỗi pixel có ba phần tử biểu diễn cho ba màu theo độ sáng. 3.1.1.2. Không gian màu YCbCr YCbCr là một không gian màu khác bên cạnh RGB. Y biểu diễn cho độ chói hay độ sáng của một pixel; Cb và Cr biểu diễn sự khác nhau về màu sắc trong một pixel. RGB và YCbCr có thể chuyển đổi qua lại lẫn nhau. Theo ITU-R: Và Y = 0.299R + 0.587G + 0.114B   Cb = 0.564(B - Y)   Cr = 0.713 (R - Y)  (3.1) R = Y + 1.402Cr   G = Y − 0.344Cb − 0.714Cr   B = Y + 1.772Cb  (3.2) 20
- Xem thêm -