Mục lục Lời giới thiệu................................................................................................ Trang 2 I. Giới thiệu đề tài................................................................................ Trang 3 Tên đề tài................................................................................................ Trang 3 Nhiệm vụ đề tài.......................................................................................Trang 3 Phân tích yêu cầu.................................................................................... .Trang 3 II. Cơ sở lý thuyết yêu cầu....................................................................Trang 5 Vùng crosspoint lý tưởng...................................................................... ..Trang 5 Các chuẩn nén tổn hao........................................................................... Trang 10 III. Cơ sở lý thuyết của đề tài................................................................. Trang 14 Lý thuyết vùng crosspoint...................................................................... Trang 14 Kĩ thuật lượng tử hóa dữ liệu............................................................... ...Trang 15 IV. Giải thuật của đề tài......................................................................... Trang 17 V. Kết quả thực hiện.............................................................................. Trang 19 Tài liệu tham khảo LỜI GIỚI THIỆU Trong thời đại của chúng ta, thông tin được lưu trữ và lưu chuyển ngày một nhiều. Internet, TV số, truyền thông di động, … đòi hỏi nhu cầu lưu trữ và lưu chuyển lượng thông tin khổng lồ. Nếu ta chỉ dùng dữ liệu ở dạng thô nguyên thủy thì không gian bị chiếm bởi lượng thông tin này là cực lớn, vượt qua khả năng đáp ứng của các công nghệ phần cứng hiện thời. Bởi vậy, một nhu cầu thiết yếu đặt ra là hạn chế không gian lưu trữ và lưu lượng trao đổi của các loại thông tin mà vẫn không làm giảm giá trị, sự đầy đủ của thông tin. Đó là nhiệm vụ của nén dữ liệu. Nén dữ liệu là công nghệ biểu diễn thông tin ở dạng cô đọng. Thông tin được biểu diễn dưới dạng mã hóa nhằm làm giảm số lượng đơn vị bộ nhớ (bit) cần để lưu trữ và truyền so với dữ liệu ban đầu. Nén dữ liệu dựa vào một tính chất phổ biến của thông tin : tính thừa (redundancy) – thông tin lặp lại, có tính chất và cấu trúc xác định có thể được biểu diễn ở dạng tiết kiệm hơn. Dựa vào các công cụ toán học, ta xác định được các phần thừa này và dựa vào các thuật toán nén dữ liệu mà ta có thể mã hóa để biểu diễn thông tin dưới dạng khác, trong đó các phần thừa được loại bỏ một cách tối ưu, đạt được sự tiết kiệm tối đa về bộ nhớ và băng thông. Trong các dạng thông tin thường gặp và có số lượng lớn thì ảnh chiếm một vị trí quan trọng, chúng gồm nhiều loại : ảnh màu, ảnh nhị phân, ảnh y tế (gray)... Ảnh số ngày càng được biểu diễn thật hơn, đòi hỏi độ phân giải cao hơn, màu sắc nhiều hơn và như vậy, dung lượng của các bức ảnh ngày càng lớn. Nén ảnh trở thành một nhu cầu cực kì quan trọng trong công nghệ thông tin. Các kỹ thuật nén ảnh hiện nay có thể phân ra làm 2 loại lớn : nén tổn hao và nén không tổn hao. Nén không tổn hao là kỹ thuật nén mà ta thu được chính xác dữ liệu ban đầu sau khi tiến hành giải nén. Sự chính xác của dữ liệu sau giải nén là điều kiện tiên quyết của kĩ thuật nén này, tỉ lệ nén là yếu tố quan trọng nhưng vẫn phải xếp sau. Nén không tổn hao được sử dụng trong những ngành mà sự chính xác về thông tin thu được là cực kì quan trọng : ảnh y tế, văn bản,… Nén tổn hao là kỹ thuật nén mà tiêu chí quan trọng nhất là lượng bộ nhớ ta có thể tiết kiệm được so với dạng dữ liệu ban đầu còn sai số của dữ liệu sau giải nén so với dữ liệu gốc có thể chấp nhận được nếu nằm trong giới hạn cho phép. Kỹ thuật nén tổn hao ảnh dựa nhiều vào khả năng phân biệt của con người với màu sắc. Thường thì mắt người chỉ phân biệt được sự khác nhau giữa 2 ảnh khi có sự sai khác lớn hơn một giới hạn nào đó. Nếu ảnh sau giải nén khác ảnh trước ít hơn giới hạn đó thì mắt người không thể phân biệt được. Bởi vậy, nén tổn hao ảnh được dùng nhiều trong các lĩnh vực liên quan đến khả năng cảm nhận của con người. Người ta đã nhận biết, thống kê, sử dụng nhiều đặc điểm, tính chất của các loại ảnh để đưa ra nhiều thuật toán khác nhau nhằm mã hóa loại bỏ phần thừa của ảnh : thuật toán Huffman, thuật toán từ điển, thuật toán số học,… Giới hạn của đề tài là tìm hiểu lý thuyết vùng crosspoint lý tưởng. Đây là trường hợp của lý thuyết vùng crosspoint một lý thuyết mô tả đặc điểm của dữ liệu ảnh sau biến đổi Gray phục vụ cho thuật toán mã hóa của C.B.Jones (một cải tiến của thuật toán số học).
Đồ án tin học GVHD: Đặng Thành Tín Trường Đại Học Bách Khoa TP Hồ Chí Minh Chương trình đào tạo Kỹ Sư chất lượng cao Việt-Pháp khóa 2005-2010 ĐỜ ÁN TIN HỌC ĐỀ TÀI 6: Nghiên cứu Lý thuyết vùng cross point (vùng cross point lý tưởng) và các chuẩn nén tổn hao, cải tiến chương trình nén khơng tổn hao đang có thành chương trình nén tổn hao ảnh *.BMP. Phương án 1: áp dụng q trình lượng tử hóa dữ liệu. GVHD : TS ĐẶNG THÀNH TÍN SVTH : Trần Tiến Dũng 40500516 Trần Quang Ngun 40501899 Tháng 7-2008 1 Đồ án tin học GVHD: Đặng Thành Tín Mục lục Lời giới thiệu Trang 2 I. Giới thiệu đề tài Trang 3 Tên đề tài Trang 3 Nhiệm vụ đề tài Trang 3 Phân tích yêu cầu Trang 3 II. Cơ sở lý thuyết yêu cầu Trang 5 Vùng crosspoint lý tưởng Trang 5 Các chuẩn nén tổn hao Trang 10 III. Cơ sở lý thuyết của đề tài Trang 14 Lý thuyết vùng crosspoint Trang 14 Kĩ thuật lượng tử hóa dữ liệu Trang 15 IV. Giải thuật của đề tài Trang 17 V. Kết quả thực hiện Trang 19 Tài liệu tham khảo 2 Đồ án tin học GVHD: Đặng Thành Tín LỜI GIỚI THIỆU Trong thời đại của chúng ta, thông tin được lưu trữ và lưu chuyển ngày một nhiều. Internet, TV số, truyền thông di động, … đòi hỏi nhu cầu lưu trữ và lưu chuyển lượng thông tin khổng lồ. Nếu ta chỉ dùng dữ liệu ở dạng thô nguyên thủy thì không gian bị chiếm bởi lượng thông tin này là cực lớn, vượt qua khả năng đáp ứng của các công nghệ phần cứng hiện thời. Bởi vậy, một nhu cầu thiết yếu đặt ra là hạn chế không gian lưu trữ và lưu lượng trao đổi của các loại thông tin mà vẫn không làm giảm giá trị, sự đầy đủ của thông tin. Đó là nhiệm vụ của nén dữ liệu. Nén dữ liệu là công nghệ biểu diễn thông tin ở dạng cô đọng. Thông tin được biểu diễn dưới dạng mã hóa nhằm làm giảm số lượng đơn vị bộ nhớ (bit) cần để lưu trữ và truyền so với dữ liệu ban đầu. Nén dữ liệu dựa vào một tính chất phổ biến của thông tin : tính thừa (redundancy) – thông tin lặp lại, có tính chất và cấu trúc xác định có thể được biểu diễn ở dạng tiết kiệm hơn. Dựa vào các công cụ toán học, ta xác định được các phần thừa này và dựa vào các thuật toán nén dữ liệu mà ta có thể mã hóa để biểu diễn thông tin dưới dạng khác, trong đó các phần thừa được loại bỏ một cách tối ưu, đạt được sự tiết kiệm tối đa về bộ nhớ và băng thông. Trong các dạng thông tin thường gặp và có số lượng lớn thì ảnh chiếm một vị trí quan trọng, chúng gồm nhiều loại : ảnh màu, ảnh nhị phân, ảnh y tế (gray) Ảnh số ngày càng được biểu diễn thật hơn, đòi hỏi độ phân giải cao hơn, màu sắc nhiều hơn và như vậy, dung lượng của các bức ảnh ngày càng lớn. Nén ảnh trở thành một nhu cầu cực kì quan trọng trong công nghệ thông tin. Các kỹ thuật nén ảnh hiện nay có thể phân ra làm 2 loại lớn : nén tổn hao và nén không tổn hao. Nén không tổn hao là kỹ thuật nén mà ta thu được chính xác dữ liệu ban đầu sau khi tiến hành giải nén. Sự chính xác của dữ liệu sau giải nén là điều kiện tiên quyết của kĩ thuật nén này, tỉ lệ nén là yếu tố quan trọng nhưng vẫn phải xếp sau. Nén không tổn hao được sử dụng trong những ngành mà sự chính xác về thông tin thu được là cực kì quan trọng : ảnh y tế, văn bản,… Nén tổn hao là kỹ thuật nén mà tiêu chí quan trọng nhất là lượng bộ nhớ ta có thể tiết kiệm được so với dạng dữ liệu ban đầu còn sai số của dữ liệu sau giải nén so với dữ liệu gốc có thể chấp nhận được nếu nằm trong giới hạn cho phép. Kỹ thuật nén tổn hao ảnh dựa nhiều vào khả năng phân biệt của con người với màu sắc. Thường thì mắt người chỉ phân biệt được sự khác nhau giữa 2 ảnh khi có sự sai khác lớn hơn một giới hạn nào đó. Nếu ảnh sau giải nén khác ảnh trước ít hơn giới hạn đó thì mắt người không thể phân biệt được. Bởi vậy, nén tổn hao ảnh được dùng nhiều trong các lĩnh vực liên quan đến khả năng cảm nhận của con người. Người ta đã nhận biết, thống kê, sử dụng nhiều đặc điểm, tính chất của các loại ảnh để đưa ra nhiều thuật toán khác nhau nhằm mã hóa loại bỏ phần thừa của ảnh : thuật toán Huffman, thuật toán từ điển, thuật toán số học,… Giới hạn của đề tài là tìm hiểu lý thuyết vùng crosspoint lý tưởng. Đây là trường hợp của lý thuyết vùng crosspoint - một lý thuyết mô tả đặc điểm của dữ liệu ảnh sau biến đổi Gray phục vụ cho thuật toán mã hóa của C.B.Jones (một cải tiến của thuật toán số học). 3 Đồ án tin học GVHD: Đặng Thành Tín Lý thuyết vùng crosspoint lý tưởng ban đầu được sử dụng trong kĩ thuật nén ảnh không tổn hao. Tuy nhiên, dựa vào sự đồng nhất của dữ liệu trong vùng crosspoint mà ta cũng có thể sử dụng nó trong kỹ thuật nén ảnh tổn hao bằng cách áp dụng quá trình lượng tử hóa dữ liệu. Đề tài tập trung vào tìm cách lượng tử hóa dữ liệu dựa vào lý thuyết vùng crosspoint lý tưởng. Kết quả của chương trình cải tiến chưa được cao, tuy nhiên chất lượng ảnh giải nén tốt. Đây mới chỉ là những kết quả bước đầu, cần có sự đầu tư lớn hơn để có thể trở thành một kĩ thuật nén ảnh. Chúng em xin cảm ơn thầy vì sự hướng dẫn nhiệt tình trong quá trình thực hiện đề tài. Kết quả có thể không tốt nhưng dù sao chúng em cũng đã cố gắng hết sức để hoàn thành đề tài đồ án này. Nhóm 6: Trần Tiến Dũng Trần Quang Nguyên 4 Đồ án tin học GVHD: Đặng Thành Tín I. Giới thiệu đề tài : 1. Tên đề tài : Nghiên cứu lý thuyết vùng crosspoint lý tưởng và các chuẩn nén tổn hao. Cải tiến chương trình nén không tổn hao thành chương trình nén tổn hao ảnh .BMP áp dụng quá trình lượng tử hóa dữ liệu. 2. Nhiệm vụ đề tài : Từ tên của đề tài ta có thể rút ra đề tài có các nhiệm vụ sau : - Nghiên cứu lý thuyết vùng crosspoint lý tưởng - Nghiên cứu các chuẩn nén tổn hao - Áp dụng quá trình lượng tử hóa dữ liệu và lý thuyết vùng crosspoint lý tưởng để cải tiến chương trình nén ảnh BMP không tổn hao đang có thành chương trình nén tổn hao. 3. Phân tích yêu cầu và hướng nghiên cứu phát triển : a. Phân tích yêu cầu đề tài : Nhiệm vụ thứ nhất : nghiên cứu lý thuyết vùng crosspoint lý tưởng Lý thuyết vùng crosspoint là lý thuyết nghiên cứu về đặc điểm biến đổi của dữ liệu (ảnh y tế) sau biến đổi Gray xung quanh các điểm có mức xám 2 n . Vùng crosspoint lý tưởng là một trường hợp đặc biệt của lý thuyết vùng crosspoint, được ứng dụng nhiều trong giải thuật nén ảnh y tế vì tính chất phân bố dữ liệu của loại ảnh này. Nghiên cứu sự biến đổi của dữ liệu trong vùng crosspoint lý tưởng từ đó rút ra các đặc điểm cần thiết cho nhiệm vụ sau là áp dụng quá trình lượng tử hóa dữ liệu. Nhiệm vụ thứ hai : nghiên cứu các chuẩn nén tổn hao Nén tổn hao là một trong hai kỹ thuật nén cơ bản của công nghệ nén ảnh và là kỹ thuật được sử dụng phổ biến nhất hiện nay. Nghiên cứu các chuẩn nén tổn hao để thấy được cái nhìn tổng quan về các loại nén tổn hao đang tổn tại, ý tưởng giải thuật và hiệu quả của từng loại. Từ đó, ta có cơ sở để so sánh với kết quả của chương trình sau cải tiến với các kỹ thuật nén tổn hao đang có. Nhiệm vụ thứ ba : áp dụng quá trình lượng tử hóa dữ liệu và lý thuyết vùng crosspoint để cải tiến chương trình nén không tổn hao ảnh BMP thành chương trình nén tổn hao. Lượng tử hóa dữ liệu là một quá trình đặc trưng cho kỹ thuật nén tổn hao. Quá trình lượng tử hóa dữ liệu dựa chủ yếu vào sự đồng nhất của dữ liệu để đưa ra giải thuật lượng tử nhằm lảm giảm entropy của dữ liệu, tạo thuận lợi cho quá trình mã hóa ở giai đoạn sau. Ta nghiên cứu sự biến đổi của lý thuyết vùng crosspoint lý tưởng để nhận biết sự đồng nhất của dữ liệu trong các vùng này, nhằm đưa ra giải thuật lượng tử hợp lý biến chương trình nén không tổn hao thành chương trình nén tổn hao với tỉ số nén và sự mất mát chấp nhận được. b. Hướng nghiên cứu phát triển : Lý thuyết vùng crosspoint lý tưởng được trình bày đầy đủ ở chương 2 và 4 trong luận án tiến sĩ của thầy. Đề tài tập trung nghiên cứu 2 chương này để thấy được sự biến đổi của các bit dữ liệu ở các mặt phẳng bit n-1 và n-2 sau biến đổi Gray xung quanh các điểm crosspoint 2 n . Tìm sự đồng nhất của dữ liệu hay của sự biến đổi của dữ liệu trong các vùng này để phục vụ cho quá trình sau. Các chuẩn nén tổn hao có thể được tìm thấy trong các chương trình nén ảnh hay trên internet. Đề tài sẽ tìm kiếm, nắm bắt ý tưởng giải thuật và thống kê các kết quả của các 5 Đồ án tin học GVHD: Đặng Thành Tín kỹ thuật này nhằm làm cơ sở cho sự so sánh với kết quả của chương trình thực hiện ở giai đoạn sau. Đề tài tìm hiểu các giải thuật lượng tử hóa dữ liệu để tìm ra giải thuật phù hợp với sự đồng nhất của dữ liệu trong vùng crosspoint. Áp dụng giải thuật này vào chương trình để cải tiến. Các giải thuật này có thể tìm thấy trong các tài liệu tham khảo hoặc trên internet. Chương trình được viết bằng ngôn ngữ C trên nền Borland C++. II. Cơ sở lý thuyết yêu cầu : 1.Vùng crosspoint lý tưởng : Ảnh số ngày nay được phân ra làm 3 loại cơ bản : ảnh nhị phân, ảnh có thang xám và ảnh màu. Trong đó, loại sau là sự mở rộng của loại trước. Ảnh màu là tập hợp của các ảnh có thang xám của các màu khác nhau (đỏ, xanh lục, xanh da trời). Ảnh có thang xám là tập hợp của các ảnh nhị phân mà mỗi ảnh nhị phân tương ứng với một mặt phẳng bit của nó. Bởi vậy, việc nghiên cứu giải thuật nén ảnh nhị phân là hợp lý và có thể áp dụng cho các loại ảnh kia. Tuy nhiên, khi áp dụng các giải thuật nén ảnh nhị phân vào nén ảnh có thang xám, có khó khăn xuất hiện. Đó là ở các điểm đặc biệt, các bit dữ liệu khác nhau rất lớn. Sự khác nhau ở khoảng cách lớn sau khi biến đổi ra nhị phân này làm tăng entropy của ảnh, gây khó khăn cho quá trình mã hóa lúc sau và hạn chế hiệu quả của giải thuật. Bởi vậy, người ta đã đưa ra giải thuật để biến đổi dữ liệu đầu vào sao cho sau phép biến đổi thì sự khác nhau của các bit dữ liệu ở mọi giá trị là nhỏ, thuận lợi cho các giải thuật mã hóa ở giai đoạn sau. Giải thuật biến đổi được sử dụng nhiều nhất là biến đổi Gray. Phép biến đổi được đặt tên theo nhà khoa học Frank Gray, được định nghĩa như sau: Đặt phép biến đổi là G , ta có: 021021 ) ( gggxxxG NNNN −−−− = Trong đó: ji gx , là các ký số (digit) trong hệ cơ số d. 021 xxx NN −− là biểu diễn nhị phân 021 ggg NN −− là biểu diễn Graycode Công thức biến đổi như sau: 20, 1 11 −≤≤−= = + −− Nixxg xg iii NN Và phép biến đổi ngược sẽ là: xxx)ggg( 02-N1-N02-N1-N 1 …=… − G Với: 6 Đồ án tin học GVHD: Đặng Thành Tín 20, 1 11 −≤≤+= = + −− Nixgx gx iii NN Biến đổi Gray nhị phân có thể được coi là biến đổi dựa vào sự so sánh bit. Giá trị của bit có được là do sự so sánh giá trị trước của nó với giá trị của bit trước nó. Một đặc điểm quan trọng của biến đổi Gray là sau phép biến đổi này, các số nhị phân liền kề nhau sẽ có biểu diễn nhị phân chỉ khác nhau 1 bit. Ví dụ : Trước biến đổi Gray : 7 =0111 và 8 = 1000 Sau biến đổi Gray : 7 ->0100 và 8 ->1100 Giá trị thập phân Giá trị nhị phân Graycode 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000 Chính nhờ đặc trưng quan trọng này mà các giải thuật nén ảnh nhị phân có thể áp dụng cho nén ảnh có thang xám với hiệu quả cao nhất chỉ sau khi dữ liệu ban đầu được biến đổi Gray. Ta xét ảnh có thang xám (ảnh y tế) có độ sâu N bit (= 8). Khi đó, điểm crosspoint là điểm có mức xám 2 n với n = 1… N-1. 7 Đồ án tin học GVHD: Đặng Thành Tín Giá trị thập phân Giá trị nhị phân Graycode 0 0000 0 0 0 0 1 0001 0 0 0 1 8 Đồ án tin học GVHD: Đặng Thành Tín 2 0010 0 0 1 1 3 0011 0 0 1 0 4 0100 0 1 1 0 5 0101 0 1 1 1 6 0110 0 1 0 1 7 0111 0 1 0 0 3 28 = 1000 1 1 0 0 9 1001 1 1 0 1 10 1010 1 1 1 1 11 1011 1 1 1 0 12 1100 1 0 1 0 13 1101 1 0 1 1 14 1110 1 0 0 1 15 1111 1 0 0 0 Ta thấy, ứng với n = 3, điểm crosspoint là 2 3 = 8. Phân tích giá trị các bit ở các mặt phẳng n -1, n-2,… ta thấy các đặc trưng thống kê quan trọng sẽ được trình bày trong các mục sau. 1.1 Crosspoint và vùng crosspoint trên mặt phẳng bit n – 1 : Sau biến đổi Gray, mức xám của các pixel bị thay đổi, nếu tập hợp các bit dữ liệu của các mã Gray trên cùng mặt phẳng bit sau phép phân tích mặt phẳng bit, ta sẽ thấy các bit trên mặt phẳng bit n – 1, với n là trị số mũ của trị 2 n đang xét, có khuynh hướng xuất hiện nhiều bit 1 xung quanh trị 2 n và ít bit 0 xung quanh trị này. Định nghĩa : Xét tập số nguyên từ 0 đến 2 N – 1 , N là số bit của dạng lưu trữ. Vùng crosspoint A(n) với n có trị từ 1 đến N – 1, là tập hợp 2 n điểm dữ liệu theo hướng mã hóa xung quanh trị 2 n duy nhất, gồm 2 n-1 điểm nửa trước (vùng A l (n) ) và 2 n-1 điểm nửa sau ( vùng A g (n) ) kể cả điểm 2 n . Trị 2 n được gọi là trị ranh giới của 2 vùng này, hay là crosspoint. Với định nghĩa trên, điểm dữ liệu có giá trị 2 n là trung tâm vùng A(n). Vùng A(n) là hợp của 2 nửa tập điểm A l (n) và A g (n). Với tập các số nguyên từ 0 đến 2 N – 1, 2 n điểm dữ liệu trong A(n) sẽ là các trị liên tục 2 n-1 , 2 n-1 + 1,… 2 n + 2 n-1 -1 A(n) = {2 n-1 , 2 n-1 + 1,…, 2 n + 2 n-1 -1}; A l (n) = {2 n-1 , 2 n-1 + 1,…, 2 n – 1}; A g (n) = {2 n , 2 n +1,…, 2 n + 2 n-1 -1}; Ta thấy rõ ràng : A(n) = A l (n) U A g (n). Như vậy, crosspoint là những điểm ảnh có mức xám 2 n tồn tại trong ảnh, hoặc là giá trị tượng trưng 2 n để truy tìm vùng crosspoint, chúng được gọi là các trị ranh giới. Vùng crosspoint là vùng pixel thực, tồn tại trong ảnh mà số lượng và giá trị của chúng được xác định theo định nghĩa trên. Cũng theo định nghĩa trên, với chuỗi dữ liệu liên tục thì A(n) sẽ gồm 2 n trị, mà giá trị của các điểm dữ liệu trong vùng đó có đặc điểm là liên tục và phân biệt. Với dữ liệu thực, vùng A(n) cũng sẽ có 2 n trị vì sự tồn tại duy nhất của trị ranh giới 2 n , giá trị của các điểm dữ liệu trong vùng thường không liên tục và có thể trùng nhau. Trong trường hợp này, trị ranh giới 2 n có thể tồn tại tường minh hoặc không tồn tại. Trong thực tế, do đặc trưng của dữ liệu thực, các điểm dữ liệu kế cận nhau thường có giá trị mức xám khác biệt rất ít, hầu như chúng chỉ khác nhau ở các bit trọng số nhỏ, các bit trọng số lớn thì gần như giống nhau trong một vùng nào đó, điều này hoàn toàn giống 9 Đồ án tin học GVHD: Đặng Thành Tín chuỗi dữ liệu liên tục. Bởi vậy, ta có thể đưa ra các định lý và hệ quả dưới đây đối với dữ liệu liên tục và áp dụng được cho dữ liệu thực. Định lý về số bit trong mặt phẳng bit n – 1 của vùng crosspoint : Xét chuỗi dữ liệu các số nguyên từ 0 đến 2 N – 1, N là số bit của dạng lưu trữ. Gọi n là số mũ của trị ranh giới 2 n trong vùng crosspoint A(n), n có giá trị từ 1 đến N – 1. Các Graycode trong vùng A g (n) ở mặt phẳng bit n – 1 sẽ có 2 n-1 bit 1, do đó vùng A(n) sẽ có 2 n bit 1 ở mặt phẳng bit n – 1. Như vậy, dữ liệu trong vùng A(n) ở mặt phẳng bit n – 1 sau biến đổi Gray đã bị thay đổi theo hướng các bit 1 sẽ tập trung hơn xung quanh các mức xám 2 n , điều này sẽ kéo theo xác suất của bit 1 tăng lên trong vùng này, còn xác suất của bit 0 sẽ giảm xuống, do đó ảnh hưởng tới tỉ số nén của quá trình mã hõa dữ liệu. Hệ quả - entropy của dữ liệu trong vùng crosspoint : Trong vùng crosspoint A, entropy của dữ liệu nhận được sau khi phép biến đổi Graycode được thực hiện tại mặt phẳng bit xác định, sẽ đạt giá trị nhỏ nhất. Điều này có nghĩa, sau phép biến đổi Graycode, vùng A sẽ chứa lượng thông tin ít nhất, tức cần dùng số bit ít nhất để mã hóa dữ liệu vùng này. Trong khi đó, dữ liệu tương ứng vùng A trước phép biến đổi Gray lại có entropy lớn hơn, tức cần nhiều bit mã hoá hơn cho cùng lượng dữ liệu. Bởi vậy, xét trên tổng thể, nếu quá trình mã hóa được thực hiện mà không qua phép biến đổi Graycode thì tỉ số nén không cao do sự thay đổi nhiều của trạng thái bit dữ liệu. 1.2 Crosspoint và vùng crosspoint trên mặt phẳng bit n – 2 : Các định nghĩa, định lý, hệ quả đối với crosspoint và vùng crosspoint trên mặt phẳng bit n -2 cũng tương tự như đối với mặt phẳng bit n -1. Định nghĩa : Xét tập số nguyên từ 0 đến 2 N – 1 , N là số bit của dạng lưu trữ. Vùng crosspoint R(n) với n có trị từ 2 đến N – 1, là tập hợp 2 n-1 điểm dữ liệu theo hướng mã hóa xung quanh trị 2 n duy nhất, gồm 2 n-2 điểm nửa trước (vùng R l (n) ) và 2 n-2 điểm nửa sau ( vùng R g (n) ) kể cả điểm 2 n . Trị 2 n được gọi là trị ranh giới của 2 vùng này, hay là crosspoint. Với định nghĩa trên, điểm dữ liệu có giá trị 2 n là trung tâm vùng R(n). Vùng R(n) là hợp của 2 nửa tập điểm R l (n) và R g (n). Với tập các số nguyên từ 0 đến 2 N – 1, 2 n-1 điểm dữ liệu trong R(n) sẽ là các trị liên tục 2 n-2 , 2 n-2 + 1,… 2 n + 2 n-2 -1 R(n) = {2 n - 2 n-2 , 2 n - 2 n-2 + 1,…, 2 n + 2 n-2 -1}; R l (n) = {2 n - 2 n-2 , 2 n - 2 n-2 + 1,…, 2 n – 1}; R g (n) = {2 n , 2 n +1,…, 2 n + 2 n-2 -1}; Ta thấy rõ ràng : R(n) = R l (n) U R g (n). Theo định nghĩa trên, với chuỗi dữ liệu liên tục thì R(n) sẽ gồm 2 n-1 trị, mà giá trị của các điểm dữ liệu trong vùng đó có đặc điểm là liên tục và phân biệt. Với dữ liệu thực, vùng R(n) cũng sẽ có 2 n-1 trị vì sự tồn tại duy nhất của trị ranh giới 2 n , giá trị của các điểm dữ liệu trong vùng thường không liên tục và có thể trùng nhau. Trong trường hợp này, trị ranh giới 2 n có thể tồn tại tường minh hoặc không tồn tại. Tương tự như đối với mặt phẳng bit n – 1, ở mặt phẳng bit n – 2, ta cũng có thể áp dụng tính chất tương tự nhau về giá trị mức xám ở các điểm dữ liệu lân cận Bởi vậy, ta có thể đưa ra các định lý và hệ quả dưới đây đối với dữ liệu liên tục và áp dụng được cho dữ liệu thực. Định lý về số bit trong mặt phẳng bit n – 2 của vùng crosspoint : 10 [...]... Phân các vector vào các vùng tương ứng : Mỗi vùng có kích thước và tọa độ xác định đã được lưu vào chương trình Ta đọc các vector, so sánh các giá trị tọa độ của nó và đưa nó vào các vùng tương ứng Mỗi vùng giờ đây là một chuỗi có thành phần là các vector dữ liệu Ở đây, ta không tính cho tất cả các vùng crosspoint mà chỉ lượng tử đối với vùng crosspoint tương ứng với crosspoint là 64 Bởi vì, các mặt... hơn là xác định điểm crosspoint Khi đã xác định được vùng crosspoint lý tưởng, ta hoàn toàn có thể xác định vùng crosspoint và đánh giá xem vùng đó có thể làm tăng hiệu suất nén không, đỡ mất thời gian vào việc tối ưu hóa xác suất cho những vùng có vùng crosspoint lý tưởng quá nhỏ Trên đây là sơ lược về lý thuyết crosspoint, một lý thuyết mô tả thống kê đặc điểm của các bit dữ liệu ảnh sau phép biến đổi... trị này không tồn tại tường minh thì việc tìm điểm crosspoint sẽ được gián tiếp thực hiện qua việc tìm vùng crosspoint lý tưởng, có nghĩa là đầu tiên ta xác định các vùng crosspoint lý tưởng, kế tiếp, điểm crosspoint sẽ được xác định trong vùng này sao cho vùng crosspoint lý tưởng là lớn nhất (trong vùng crosspoint đang xét), và sau cùng là tìm vùng crosspoint đang xét theo quy ước số điểm của vùng Việc... được tạo ra và 15 Đồ án tin học GVHD: Đặng Thành Tín mã hóa Vì đang là quá trình nén tổn hao, nên một sự khác nhau nhỏ giữa các symbol sẽ bị bỏ qua Còn nếu nén không tổn hao thì ta phải xét đến tất cả những khác nhau này Trên đây là một số chuẩn nén tổn hao thường thấy nhất có thể thấy trên thị trường Các chuẩn nén này được trình bày theo trình tự mức độ phổ biến Còn có các chuẩn nén tổn hao khác được... dụng tùy theo tổ chức và hoàn cảnh, tuy nhiên, do hạn chế về kĩ năng tìm kiếm và giới hạn của đồ án mà người thực hiện không nêu lên ở đây III Cơ sở lý thuyết trực tiếp của đề tài : Cơ sở lý thuyết trực tiếp của đề tài là lý thuyết vùng crosspoint lý tưởng và kĩ thuật lượng tử dữ liệu 1 Lý thuyết vùng crosspoint lý tưởng : Sơ lược về lý thuyết vùng crosspoint lý tưởng đã được trình bày ở trên Ở phần... định vùng crosspoint lý tưởng là quan trọng ngay cả khi điểm crosspoint tồn tại tường minh Nếu vùng crosspoint đã được xác định, nhưng trong đó vùng crosspoint lý tưởng quá nhỏ, thì vùng crosspoint đó không có tác dụng nhiều trong việc nâng cao hiệu suất nén qua tối ưu hóa xác suất các bít dữ liệu trong đó Như vậy, việc xác định vùng crosspoint lý tưởng có ý nghĩa quan trọng trong việc tìm vùng crosspoint... Đây là một chuẩn dành cho nén ảnh nhị phân, xuất hiện vào những năm 2000 và 2001 Phần lớn ảnh nhị phân là các file text và các ảnh bán sắc (halftone image) JBIG2 phân chia ảnh nhị phân thành các vùng : text, halftone và các vùng dẫn xuất khác Quá trình nén cho các vùng sẽ được áp dụng các kĩ thuật khác nhau Các pixel trong một vùng sẽ được nhóm lại thành các nhóm gọi là symbol Một từ điển các symbol... tích vùng crosspoint ở mục 3.a, ta chia hình chữ nhật vùng crosspoint A(n) thành các hình chữ nhật nhỏ hơn dựa vào việc kéo dài các cạnh của hình chữ nhật vùng crosspoint R(n) Tương tự, khi kéo dài các cạnh của các hình chữ nhật của các vùng crosspoint con khác ta sẽ có hình chữ nhật A(n) được chia nhỏ thành mạng lưới các hình chữ nhật nhỏ hơn Như vậy, ta đã có giải thuật để chia vùng dữ liệu Các vùng. .. giải thuật : - Các vùng là cố định cho tất cả các ảnh, một số vùng là rất lớn Tuy nhiên, ta có thể chia nhỏ các vùng này hơn nữa, bằng cách coi mỗi hình chữ nhật nhỏ là một vùng crosspoint mới nếu có thể tìm thấy điểm crosspoint trong nó Điểm crosspoint này có thể tìm được khi xét hiệu của 2 giới hạn Đồng thời, các hình chữ nhật giữa 2 vùng crosspoint của các điểm crosspoint kế tiếp có thể giao nhau,... ưu hóa xác suất Mặt phẳng bit 1 cũng không được tìm vùng 11 Đồ án tin học GVHD: Đặng Thành Tín crosspoint A vì tính ngẫu nhiên cao của dữ liệu và cũng vì giải thuật tìm vùng A và R cùng lúc Giải thuật tìm vùng crosspoint sẽ có 3 bước : - Tìm điểm crosspoint - Tìm vùng crosspoint - Đánh giá vùng crosspoint Tìm điểm crosspoint là quá trình tìm kiếm các giá trị 2 n từ ảnh gốc Nếu giá trị này tồn tại tường