Chủ nhật, 31 Tháng mười 2004, 15:51 GMT+7

Dữ liệu được nén như thế nào?

Du lieu duoc nen nhu the nao

Nén dữ liệu là việc thực hiện thu gọn kích thước các tập tin hoặc làm cho thông tin lưu trữ chiếm không gian đĩa ít nhất. Có nhiều cách để thực hiện điều này tùy vào từng đối tượng cụ thể. Bài viết này không đi sâu vào phân tích giải thuật nén mà chỉ muốn giới thiệu với bạn đọc về các phương pháp nén. Sau đây là một số cách nén thông dụng.

* Nén mất dữ liệu (lossy compression): Hay gặp nhất trong công nghệ thông tin là nén hình ảnh và âm thanh. Có nhiều giải thuật được đặt ra để đáp ứng yêu cầu giảm thiểu kích thước của file ảnh sao cho vẫn duy trì được chất lượng ở mức độ chấp nhận được. Những giải thuật này đều dựa trên nền tảng là loại bớt những màu mà mắt người không hoặc khó cảm nhận được, chỉ giữ lại những màu chủ yếu thực sự ảnh hưởng tích cực lên khả năng cảm nhận màu của mắt. Nếu đã từng biên tập hình ảnh bằng Photoshop, bạn sẽ dễ dàng nhận thấy sự khác biệt khá lớn giữa bảng màu chuẩn và bảng màu dùng cho hình ảnh tải lên web, tức là hình nén đấy. Trong bảng màu web, các màu trung gian, chuyển tiếp đã bị lược bỏ mất, thay vào đó là các màu tương đương cận kề. Tuy 2 bảng màu này dễ phân biệt như vậy nhưng khi xem một hình ảnh bạn không dễ dàng nhận biết được đó là file .bmp (chưa nén), .gif hay .jpg (ảnh nén). Còn một cách nữa cũng sử dụng kiểu mất dữ liệu để nén hình là giảm độ phân giải, tức là bớt số điểm ảnh trên một inch (dots per inch - dpi). Cách này khi được sử dụng, tùy trường hợp mà phải gia giảm cho phù hợp. Độ phân giải cao quá thì phí chỗ, nhưng giảm đi nhiều quá thì bị “bể hình”.

Đối với âm thanh, có nhiều chuẩn nén khác nhau như: Windows Media, MP3, Real G2, Liquid Audio, ACC, nhưng thông dụng nhất hiện nay là MP3. Nén theo chuẩn MP3, kích thước file audio có thể được thu nhỏ đi 8 lần so với kích thước ban đầu. Để làm được như vậy, người ta sử dụng một kỹ thuật gọi là lấy mẫu âm, thử nghiệm rồi bỏ bớt những tone mà tai người không nghe được hoặc kém nhạy. Do đó, chất lượng âm của MP3 rất khó phân biệt với âm của đĩa CD chuẩn. Hiện nay một chuẩn cải tiến của MP3 là MP3pro còn làm hơn thế. Nó tiến hành mã hóa sóng âm có tần số thấp bằng kỹ thuật mp3 và tạo phần sóng có tần số cao bằng kỹ thuật SBR. Khi phát lại sẽ kết hợp 2 phần sóng này với nhau thành nguồn âm đầy đủ, khắc phục được tình trạng file MP3 mất âm tần số cao khi truyền tải bằng modem quay số.

* Nén không mất dữ liệu (lossless compression): Dữ liệu, đặc biệt là văn bản, đồ họa luôn chứa trong nó những chuỗi thông tin giống hệt nhau lặp đi lặp lại. Việc nén dữ liệu được thực hiện bằng cách thay thế nhiều ký tự thông tin lặp đi lặp lại bằng các ký tự khác, và tạo ra chỉ một bản sao của những đoạn dữ liệu bị lặp lại này. Cũng có cách khác tỉ mỉ hơn dùng những mã có độ dài khác nhau mã hóa cho các ký tự khác nhau giúp cho các ký tự này chiếm ít chỗ hơn. Cách gì thì cách nhưng phải làm sao vừa thu nhỏ được kích thước file vừa giữ được sự toàn vẹn của dữ liệu.

Đĩa nén: Ngoài việc nén file, người ta cũng dùng phương pháp nén ổ đĩa. Khác với việc dùng các phần mềm sao lưu dạng nén để nén nguyên một ổ đĩa, ổ đĩa bị nén theo phương pháp này tạo cho ta có cảm giác như vẫn làm việc với ổ đĩa không nén, nghĩa là bạn có thể làm mọi thao tác với file và thư mục. Đĩa nén sẽ giảm được không gian cho tất cả các file và thư mục lưu trên đó. Chương trình DoubleSpace của DOS 6.0 trước kia và Windows 2000/XP hỗ trợ kiểu nén này. Hệ điều hành sẽ có các giải pháp tạo cho người dùng cảm giác như vẫn đang làm việc với ổ đĩa không nén. Với phương pháp nén này, ngoài việc dùng các giải thuật nén dữ liệu thông thường, giải thuật cơ bản được dùng ở đây là bó lại (consolidate) tất cả các file thành một file duy nhất để loại bỏ được khoảng trống giữa byte chót của file và byte tận cùng của liên cung cuối được cấp phát cho file. Để hiểu rõ hơn, bạn nhắp chuột phải vào một file chọn Properties, hiệu số giữa Size on disk và Size chính là kích thước khoảng trống này.

Nén khi dịch sang mã máy: Khi một file được biên dịch sang mã máy dưới dạng một file thi hành (.exe) thì nó xem như đã được nén vì khi ở dạng mã máy có rất ít thông tin bị trùng lắp. Khi nén thêm nó một lần nữa thì kích thước thu nhỏ lại được nhiều hay ít tùy thuộc vào giải thuật nén của các trình sao lưu và cách hoạt động của trình biên dịch, đóng gói ứng dụng để tạo nên file .exe này. Với file Bkav2002.exe kích thước 223KB khi dùng WinRAR để nén sẽ còn lại 226KB, chỉ được 3%, nhưng với UnikeyNT.exe 76KB, sẽ chỉ còn 63KB - 17%.

Tăng mật độ thông tin: Kiểu nén này gần với cách chúng ta hình dung nhất. Công nghệ chế tạo công cụ lưu trữ dữ liệu ngày càng cao cho phép thông tin lưu trữ ngày càng lớn với cùng một đơn vị diện tích như trước. Đĩa CD là một điển hình của kiểu nén tăng mật độ thông tin. Cái tên CD, Compact Disk - đĩa nén, đã tự nó nói lên điều này. Ban đầu người ta dùng đĩa mềm 5,25 inch để trữ dữ liệu với sức chứa 360KB. Sau đó, đĩa 5,25 inch bị kiểu đĩa 3,5 inch 1,44MB mà ta dùng ngày nay thay thế hoàn toàn, bởi dù nhỏ hơn nhưng dung lượng lại gấp tư. Với đĩa CD chuẩn, người ta có thể lèn vào đấy đến 650MB dữ liệu. Mật độ thông tin trên đĩa CD lớn đến mức lúc bấy giờ người ta phải gọi nó với cái tên như ta đã biết. Sau này đĩa DVD còn “siêu” hơn với sức chứa 4,7GB (đĩa DVD chuẩn).

Nén kiểu Access: Trong khi thiết kế ứng dụng với Access, bạn thường xuyên xóa các dữ liệu thừa, xóa các đối tượng trong cơ sở dữ liệu (như query, table), xóa các đối tượng của ứng dụng (form, report), hoặc bỏ đi một hình nền trên form. Khi ấy, ứng dụng Access của bạn trở nên bị phân mảnh, việc sử dụng không gian đĩa trở nên kém hiệu quả. Các đường dẫn, các thông tin để Access tìm đến dữ liệu, đến đối tượng của CSDL hoặc ứng dụng vẫn còn đó mặc dù các thành phần này đã bị xóa đi. Để khắc phục tình trạng này Access trang bị cho bạn công cụ Compact (nén). Thực hiện lệnh này, Access tiến hành loại bỏ các phân mảnh, xóa các đường dẫn, thông tin lạc địa chỉ, giúp cho kích thước ứng dụng của bạn giảm đi đáng kể. Kể từ phiên bản 2000 trở đi, Access còn hỗ trợ tính năng tự động nén mỗi khi bạn đóng ứng dụng. Tuy chức năng Compact cũng làm nhiệm vụ đúng với nghĩa của nó là thu nhỏ kích thước ứng dụng nhưng thực chất của vấn đề không hoàn toàn như vậy.

Các công cụ nén dữ liệu:

Nén sao lưu dữ liệu: Có rất nhiều phần mềm nén sao lưu dữ liệu. Bạn có thể vào Google rồi gõ vào “compress software” hoặc “compact software” sẽ thấy có vô khối trang Web chứa phần mềm sao lưu dạng nén. Trong số này, bạn sẽ thấy có nhiều phần mềm rất giá trị, có nhiều tính năng độc đáo, đồng thời cũng có những phần mềm chỉ đơn thuần nén, bung không hỗ trợ các tính năng tăng cường. Bạn có thể tham khảo các trang http://www.download.com , http://www.freewarehome.com hoặc http://www.soft411.com để tải về dùng thử. Trên thực tế, giới CNTT thường sử dụng một số phần mềm thông dụng như: WinZip, WinRAR, PKZip, Cabinet Manager.

Phần mềm truyền thông nén dữ liệu: Phần mềm truyền thông như Network Connections có thể hỗ trợ nén dữ liệu. Ví dụ, dùng một modem 56Kbs V.90, bạn có thể cho phép nén dữ liệu bằng phần mềm và kinh nghiệm cho thấy, số liệu bình quân là 44Kbps. Kết quả khảo sát cho thấy rằng phần mềm nén dữ liệu có thể cho tốc độ truyền dữ liệu cao hơn phần cứng nén dữ liệu.

Nếu bạn dùng phần mềm nén dữ liệu, bạn cần kiểm tra các thiết đặt. Để có kết quả tốt nhất đối với phần mềm nén dữ liệu, bạn có thể kiểm tra các thuộc tính của modem như sau:

- Làm khả dụng chức năng sửa lỗi của modem bằng thiết đặt Data Protocol ở Standard EC hoặc Forced EC

- Vô hiệu hóa phần cứng nén dữ liệu bằng thiết đặt Compression ở trạng thái Disabled.

- Làm khả dụng phần mềm nén dữ liệu được cung cấp bởi phần mềm truyền thông của bạn.

Nén dữ liệu qua giao thức truyền thông: Nén dữ liệu cho phép thông tin truyền đi nhanh hơn tốc độ kết nối thực sự của modem. Mức độ nén cao thấp biến đổi tùy vào kiểu dữ liệu. Text hoặc đồ họa có thể nén được nhiều hơn. Những giao thức chung để nén dữ liệu gồm MNP3, MNP4, MNP5 và V.42bis.

V.42bis điều khiển nén dữ liệu tốt hơn các giao thức khác. Đối với bất kỳ sự hiệu chỉnh hoặc giao thức nén dữ liệu nào làm việc, các modem ở cả hai đầu của kết nối phải hỗ trợ giao thức với nhau. Một khi hai modem được kết nối, chúng tự động “thương nghị” để xác định giao thức liên lạc với nhau tốt nhất. Chẳng hạn, nếu phương thức V42.bis thất bại thì dự phòng sẽ là MNP5 -> MNP4...

Để đạt được tỷ lệ nén cao nhất khi truyền dữ liệu, phần cứng cung cấp các điều khiển cần thiết, và tốc độ tối đa của cổng phải được đặt ở mức từ hai đến bốn lần tốc độ của modem. Điều này luôn được cấu hình chính xác khi cài đặt modem. Nếu bạn biết kiểu nén được modem hỗ trợ, bạn có thể tính toán giá trị này bằng cách nhân tốc độ của modem với tỷ lệ nói trên. Ví dụ, cho một modem 56 Kbps với phương thức nén v.42bis, bạn chạy được tốc độ theo tính toán sau:

56 Kbps x 4 = 224 Kbps

Giá trị này là tỷ lệ tối đa của dữ liệu truyền qua modem. Số liệu thực sự còn tùy thuộc vào kiểu dữ liệu.

Làm việc với thư mục nén:

Khi nén một thư mục, các file nằm trong thư mục nén cũng có tính chất như trong ổ đĩa nén là cũng được cắt cái đuôi của liên cung (tức là hiệu số giữa Size on disk và Size trên hộp thoại Properties). Khi nhắp đúp vào thư mục nén, bạn có thể làm việc như với thư mục bình thường, có khác chăng là ở giao diện vì nó nằm trong cửa sổ của trình nén. Bạn có thể chạy một vài chương trình trực tiếp từ các thư mục nén mà không cần giải nén chúng. Tuy nhiên để chạy chương trình có phụ thuộc vào các file khác, bạn cần giải nén trước. Một khi bạn đã tạo một thư mục nén (riêng cho biểu tượng thư mục), bạn có thể nén các file, chương trình hoặc các thư mục khác bằng cách kéo chúng thả vào thư mục nén. Bạn có thể mở các file trực tiếp từ thư mục nén hoặc có thể giải nén trước khi sử dụng, tùy thích.

Trần Xuân Thiên

Việt Báo

TIN Công Nghệ NỔI BẬT

Hacker Trung Quốc dùng “trái tim rỉ máu” đánh cắp dữ liệu bệnh viện Mỹ?

Sau khi bị Malaysia tố cáo đánh cắp dữ liệu MH370, hacker Trung Quốc tiếp tục bị cáo buộc lợi dụng lỗ hổng Hearbleed (trái tim rỉ máu) lấy đi 4,5 triệu dữ liệu bệnh nhân Mỹ.

Nhận xét tin Dữ liệu được nén như thế nào?

Ý kiến bạn đọc

Viết phản hồi

Bạn có thể gửi nhận xét, góp ý hay liên hệ về bài viết Dữ liệu được nén như thế nào? bằng cách gửi thư điện tử tới Lien He Bao Viet Nam. Xin bao gồm tên bài viết Du lieu duoc nen nhu the nao ở dạng tiếng Việt không dấu. Hoặc Dữ liệu được nén như thế nào? ở dạng có dấu. Bài viết trong chuyên đề Tin Tổng Hợp của chuyên mục Công Nghệ.

compressed data like?
Communications software, data compression, compression software, compression method, how can, directory, information, dimensions, applications, algorithms, you, file, Modem, used

GZIP Data is the implementation of compact size makes the files or information stored on the disk space required at least. There are many ways to do this depending on the specific object. This article does not go into compression algorithm that analyzes ...

CÓ THỂ BẠN QUAN TÂM




  • Su kien quoc te noi bat tu ngay 108 den 168
    Sự kiện quốc tế nổi bật (từ ngày 10-8 đến 16-8)

    Tổng thổng Mỹ, Obama cho phép không kích quân nổi dậy ở Iraq, kết quả các cuộc bầu cử Tổng thống ở Thổ Nhĩ Kỳ và Iran, Trung Quốc bác bỏ đề xuất giải quyết tranh chấp ở Biển Đông của Philippines... là những tin tức đáng chú ý trong tuần qua.

  • Nghin le chuyen tuan qua 1008 1608
    Nghìn lẻ chuyện tuần qua (10/08 - 16/08)

    Thông tin TQ phát hành sách phi pháp về đường chín đoạn; Ngày 19/8 chính thức công bố kết luận thanh tra chùa Bồ Đề; Chống trượt cao học, 40 người lót tay hơn 1 tỷ đồng; hay Công điện khẩn về tăng cường phòng chống virus cúm A/H5N6 ..... là những tin tức nổi bật được dư luận quan tâm trong tuần qua (10/08 - 16/08)

  • Toan canh Showbiz tuan 1008 1608
    Toàn cảnh Showbiz tuần (10/08 – 16/08)

    Chuyện tình yêu đầy sóng gió của các mỹ nhân Phi Thanh Vân, Hồ Ngọc Hà, DJ Oxy, chiêu trò mới gây chú ý của Ngọc Trinh, Đàm Vĩnh Hưng, nhóm nhạc Hàn Quốc 2NE1 gây "bão" ở Việt Nam, vấn đề thu tiền tác quyền âm nhạc lại nóng, tài tử Robin Williams qua đời, diễn viên "Thiên long bát bộ" bị bắt vì dùng ma túylà những thông tin nổi bật tuần qua.

  • Toan canh kinh te tuan 108 168
    Toàn cảnh kinh tế tuần (10/8 - 16/8)

    Kem đánh răng Colgate chứa chất gây ung thư khiến người tiêu dùng hoang mang, sau khi giảm giá xăng, Petrolimex lại than ít lãi, Thanh Long được mùa mất giá khiến người nông dân điều đứng, lãi khủng của Vietnam Airlines, đủ chiêu "né trần" giá sữa của doanh nghiệp... là những tin tức, sự kiện kinh tế nóng hổi trong tuần vừa qua.

  • Tong hop Doi song tuan qua 108 168
    Tổng hợp Đời sống tuần qua (10/8 - 16/8)

    Đám cưới của cô dâu bị ung thư, tình yêu trái ngọt của chàng trai tật nguyền và rất nhiều câu chuyện tình yêu gây xúc động; Nuôi dạy con - Những câu chuyện hy sinh và cả những sự việc tàn ác; Chuyện gia đình của những mối tình đồng tính; Nhiều tin tức thực phẩm độc hại nên lưu ý; cùng với đó là những bài viết đáng suy ngẫm về thực trạng cuộc sống quanh ta...