Khóa luận Kỹ thuật nén dữ liệu EEG

Trong thập kỉ trước nén dữ liệu đã được sử dụng ở khắp mọi nơi. Có thể nói rằng nén dữ liệu đã trở thành yêu cầu chung cho các hầu hết các phần mềm ứng dụng, và cũng là một lĩnh vực nghiên cứu quan trọng và hấp dẫn trong khoa học máy tính. Nếu không có các kĩ thuật nén dữ liệu thì sẽ không bao giờ có sự phát triển của Internet, TV số, truyền thông di động hay sự phát triển của các kĩ thuật truyền thông video. Ưu điểm nổi bật và hiệu quả của nén đã được áp dụng và phát triển nhiều lĩnh vực khác như truyền thông đa phương tiện hay các lĩnh vực nghiên cứu khác. Thời gian gần đây, một lĩnh vực đang phát triển rất nhanh và ngày càng thu hút sự quan tâm của nhiều người đó là y tế từ xa (Telemedicine), mà nén đóng vai trò rất quan trọng. Từ đó con người sẽ được chăm sóc sức khoẻ tốt hơn bằng cách có thể khám, chữa bệnh từ bất kì một bệnh viện nào trên thế giới mà không cần phải đến tận nơi đó. Chỉ cần giao tiếp với bác sĩ qua thiết bị thu ghi và phương tiện truyền thông thì sau đó sẽ nhận được kết quả chẩn đoán và phương thức chữa bệnh của bác sĩ gửi về. Một trong những tín hiệu EEG quan trọng nhất đó là tín hiệu EEG. Và trong bài báo cáo này sẽ trình bày các phương pháp nén được sử dụng để nén tín hiệu EEG. Sự cần thiết của việc này như thế nào sẽ được trình bày sau đây.

doc50 trang | Chia sẻ: tuandn | Lượt xem: 2439 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Khóa luận Kỹ thuật nén dữ liệu EEG, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU Trong thập kỉ trước nén dữ liệu đã được sử dụng ở khắp mọi nơi. Có thể nói rằng nén dữ liệu đã trở thành yêu cầu chung cho các hầu hết các phần mềm ứng dụng, và cũng là một lĩnh vực nghiên cứu quan trọng và hấp dẫn trong khoa học máy tính. Nếu không có các kĩ thuật nén dữ liệu thì sẽ không bao giờ có sự phát triển của Internet, TV số, truyền thông di động hay sự phát triển của các kĩ thuật truyền thông video. Ưu điểm nổi bật và hiệu quả của nén đã được áp dụng và phát triển nhiều lĩnh vực khác như truyền thông đa phương tiện hay các lĩnh vực nghiên cứu khác. Thời gian gần đây, một lĩnh vực đang phát triển rất nhanh và ngày càng thu hút sự quan tâm của nhiều người đó là y tế từ xa (Telemedicine), mà nén đóng vai trò rất quan trọng. Từ đó con người sẽ được chăm sóc sức khoẻ tốt hơn bằng cách có thể khám, chữa bệnh từ bất kì một bệnh viện nào trên thế giới mà không cần phải đến tận nơi đó. Chỉ cần giao tiếp với bác sĩ qua thiết bị thu ghi và phương tiện truyền thông thì sau đó sẽ nhận được kết quả chẩn đoán và phương thức chữa bệnh của bác sĩ gửi về. Một trong những tín hiệu EEG quan trọng nhất đó là tín hiệu EEG. Và trong bài báo cáo này sẽ trình bày các phương pháp nén được sử dụng để nén tín hiệu EEG. Sự cần thiết của việc này như thế nào sẽ được trình bày sau đây. CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1. Nén dữ liệu Nén dữ liệu hay còn gọi là mã hóa nguồn (source coding), là sự biểu diễn thông tin của dữ liệu nguồn dưới dạng nén. Nó đã là một công nghệ then chốt trong cuộc cách mạng truyền thông đa phương tiện số trong nhiều thập kỉ. Mục tiêu của nén dữ liệu bao gồm việc tìm ra một thuật toán hiệu quả để loại bỏ dư thừa tồn tại trong dữ liệu đó. Ví dụ cho một xâu kí tự S, thì cái gì là chuỗi kí tự có thể thay thế được để cho ta một không gian tích trữ nhỏ hơn? Những giải pháp cho vấn đề này là những thuật toán nén mà sẽ xuất phát từ chuỗi kí tự có thể thay thế được để thu được số bit ít hơn trong toàn bộ số bit cần biểu diễn, cùng với những thuật toán giải nén để khôi phục lại dữ liệu ban đầu. Tuy nhiên, ít hơn bao nhiêu bit? Điều đó phụ thuộc vào việc lựa chọn thuật toán mà được sử dụng và lượng dư thừa thông tin tồn tại trong dữ liệu nguồn. Dữ liệu khác nhau có thể yêu cầu những thuật toán khác nhau để nhận ra dư thừa và loại bỏ nó. Rõ ràng, điều này khiến cho những bài toán nén trở nên khó giải quyết vì yêu cầu chung khó được trả lời một cách dễ dàng khi nó gồm quá nhiều trường hợp. May mắn thay, chúng ta có thể đưa ra một số ràng buộc nhất định và kết hợp với kinh nghiệm về dữ liệu cũng như mục đích sử dụng dữ liệu để đưa ra những thuật toán phù hợp. Khi nén dữ liệu, chúng ta cần thiết phải phân tích những đặc tính của dữ liệu được nén và hy vọng suy ra một vài mô hình để biểu diễn nén. Điều này làm tăng mức độ đa dạng về mô hình dữ liệu. Do vậy, kĩ thuật biểu diễn là một khâu trọng tâm của kĩ thuật nén. Một cách cụ thể, nén dữ liệu có thể được xem như là một phương pháp biểu diễn hiệu quả một nguồn dữ liệu số như văn bản, hình ảnh, âm thanh hay bất kì một dạng kết hợp nào của tất cả các loại này ví dụ như video.  Hình 1: data in compression  Hình 2: figure of data compression Mục đích của nén dữ liệu là biểu diễn nguồn số này bằng số lượng bit ít nhất có thể khi gặp những yêu cầu tối thiểu để khôi phục lại dữ liệu ban đầu. Lý thuyết thông tin (information theory) được sử dụng nhiều trong nén dữ liệu. 1.2. Tín hiệu EEG (Electroencephalograph) và Sự cần thiết nén dữ liệu y sinh (Biomedical data compression)  Hình 3: system 10/20 Một ứng dụng quan trọng về nén dữ liệu là trong lĩnh vực y học. Yêu cầu nén tín hiệu y-sinh ngày càng cao do sự phát triển ngày càng đa dạng của các dịch vụ y tế từ xa. Những ứng dụng y tế từ xa càng ngày càng dành được nhiều sự quan tâm, nghiên cứu bởi nó cung cấp sự truy nhập dễ dàng tới những thủ tục chuẩn đoán bệnh và đánh giá bệnh. Cần phải truyền một lượng lớn dữ liệu y sinh đã thúc đẩy sự cần thiết của việc nén dữ liệu y sinh mà không mất thông tin quan trọng mang trên những tín hiệu ghi đựơc mà có thể dẫn tới hành động chuẩn đoán hay đánh giá bệnh sai. Do đó, nghiên cứu về nén tín hiệu y-sinh là rất cần thiết. Một trong những tín hiệu y-sinh phổ biến hiện nay là tín hiệu điện não (EEG- Electroencephalogram). Tín hiệu EEG ghi lại các hoạt động điện của não nhằm phục vụ các nghiên cứu về não, hay chẩn đoán và điều trị bệnh nhân có rối lọan não. Ví dụ như, chuẩn đoán động kinh và vị trí não bị tổn thương liên quan đến rối loạn này- một chứng bệnh rất phổ biến trên thế giới cũng như ở Việt Nam. 1.2.1. Tín hiệu EEG Những hoạt động điện của vỏ não thường là những tín hiệu nhịp (rhythms) vì chúng thường dao động lặp đi lặp lại. Sự đa dạng của tín hiệu nhịp EEG vô cùng lớn và phụ thuộc vào nhiều yếu tố trong trạng thái tinh thần của đối tượng, như là mức độ kích động, trạng thái đi bộ hay trạng thái ngủ. Thông thường, những tín hiệu được ghi trên da đầu có biên độ nằm trong khoảng từ vài microvolts tới xấp xỉ 100 µV, và tần số trong khoảng từ 0.5 đến 30-40 Hz.  Hình 4 : các tín hiệu nhịp EEG Tín hiệu EEG cơ bản được chia thành 5 dải tần sau : Nhịp Alpha : là nhịp cơ sở của não người lớn. Là dạng sóng dễ nhận biết nhất, đi thành chuỗi sóng 8-13 Hz với biên độ 30-50 mV  Hình 5: tín hiệu alpha Nhịp Beta : là sóng có tần số 4-35 Hz, điện thế khoảng 5-30 mV  Hình 6: tín hiệu Beta Nhịp Delta : là một sóng chậm dưới 4 Hz và có biên độ thay đổi  Hình 7: tín hiệu Delta Nhịp Theta : bao gồm các sóng 4-8 Hz , thường có biên độ lớn hơn 20 mV  Hình 8: tín hiệu Theta Nhịp Gamma : có tần số > 30 Hz. Đối với người lớn bình thường thì dải tần của tín hiệu EEG nằm giữa khoảng 0.1-100 Hz. Hầu hết những tín hiệu ở trên duy trì trong vài phút , trong khi có những tín hiệu khác chỉ xảy ra trong vài giây, như nhịp gamma. Ngoài ra còn có những tín hiệu mà nó không xuất hiện vào mọi lúc. Nó là những tín hiệu nhất thời, đột ngột, biểu thị hoạt động quá mức, không bình thường của hoạt động điện của não Các gai (Spikes) là những biến đổi điện thế thoáng qua, nhanh, có biên độ thực sự cao hơn hoạt động điện cơ bản. Có khoảng thời gian từ 20 – 70 ms  Hình 9: Spike đơn Sóng nhọn (Sharp waves) : là những sóng đơn độc, có khoảng thời gian từ 70 – 200 ms . Có biên độ xấp xỉ bằng với Spikes Phức hợp sóng gai (Spike-wave complexes) : là một sóng phức hợp của một gai (spikes) và theo sau là một sóng chậm. Có tần số vào khoảng 3- 6 Hz  Hình 10: Spike and Sharp wave Sự xuất hiện của các dạng sóng này chỉ ra những hành động thần kinh sai lệch thường được tìm thấy ở những người phải trải qua những cơn động kinh. Đó là những tín hiệu biểu hiện bệnh lý. 1.2.2. Sự cần thiết nghiên cứu nén tín hiệu y sinh Mong muốn nén dữ liệu EEG vì nhiều lý do.Như chúng ta đã biết, EEG là một trong những phương pháp phổ biến giúp bác sĩ có thể xác định vị trí ổ bệnh (khu vực phóng điện) và chức phận não bệnh nhân bị tổn thương. Là một phương pháp hữu hiệu để phát hiện và chẩn đoán bệnh động kinh - một căn bệnh phổ biến và nguy hiểm. Theo thống kê của Tổ Chức Y tế Thế giới (WHO), tỉ lệ người mắc bệnh động kinh trên thế giới khoảng 0,5% dân số, thay đổi tuỳ theo từng quốc gia, từng vùng, từng dân tộc, như ở Pháp và ở Mỹ là khoảng 0,85%; Canada là 0,6%. Tại Việt Nam khoảng 2% dân số trong đó có đến 60% số bệnh nhân là trẻ em. Theo BS Lê Văn Tuấn, chuyên khoa nội thần kinh BV Chợ Rẫy, TP.HCM: Động kinh đôi khi biến chứng và tai nạn có thể gặp khi bệnh nhân lên cơn động kinh: cắn phải lưỡi, viêm phổi do hít phải dãi hay chất nôn ói; gãy xương do chấn thương; tổn thương não do cưoin kéo dài làm não thiếu oxy; ngừng thở do tắc nghẽn đường thở… Tuy nhiên, bệnh hoàn toàn có thể điều trị nếu được phát hiện sớm và điều trị đúng cách thì khả năng hoàn toàn khỏi bệnh là rất cao. Đối với trẻ em, nếu không được điều trị kịp thời, hoặc điều trị không đúng cách dẫn tới tình trạng không khống chế được cơn co giật. Lâu dần, trẻ sẽ bị thiểu năng trí tuệ, rối loạn hành vi. Những cơn co giật sẽ làm cho hệ miễn dịch của trẻ yếu đi, dễ nhiễm các bệnh khác và dễ tử vong hơn trẻ bình thường. Tre bị động kinh không được điều trị đúng thuốc, đúng phác đồ nên sinh ra kháng thuốc. Khi đó, khả năng hồi phục sẽ khó khăn hơn rất nhiều. Do đó việc phát hiện kịp thời động kinh, chẩn đoán chính xác bệnh và điều trị hợp lý là vô cùng quan trọng, cấp bách và cần thiết. Song không phải bất kì bệnh viện nào cũng làm được điều đó vì nó hoàn toàn phụ thuộc vào trình độ và khả năng của bác sĩ đọc điện đồ não. Tín hiệu EEG ghi được rất phức tạp bởi bản ghi không chỉ có tín hiệu nền cơ bản (alpha, gamma,…), các xung bất thường (spike, sharp…) mà nó còn có rất nhiều các loại artifact (ECG, EMG…). Hơn nữa việc nhận biết các sóng nhịp cơ bản cũng không đơn giản, dễ dàng do các nhịp này xuất hiện phụ thuộc vào tuổi, vào trạng thái tinh thần của bệnh nhân. Song chúng ta có thể khắc phục được khó khăn này bằng việc gửi tín hiệu điện não EEG từ một nơi không đáng tin cậy đến những nơi tin cậy mà ở đó có những bác sĩ giỏi, kinh nghiệm thực hiện việc đọc bản ghi và chẩn đoán lâm sàng. Từ đây phát sinh một yêu cầu cần thiết là thực hiện truyền hiệu quả tín hiệu EEG cả về mặt vật lý lẫn hiệu quả kinh tế. Do đó thực hiện nén EEG là cần thiết. Hơn nữa thực hiện công việc này cũng sẽ giúp ích rất nhiều trong việc nghiên cứu về tín hiệu EEG như việc loại bỏ artifacts, dò tìm xung động kinh, và phân loại các dạng xung này bằng việc gửi bản ghi điện não từ bệnh viện đến nơi thực hiện nghiên cứu. Trước tiên nén là để giảm thời gian truyền, giảm không gian lưu trữ, và trong những hệ thống xách tay, nó giảm yêu cầu bộ nhớ hay tăng số lượng kênh và dải thông. Một trong những mục đích đầu tiên của việc làm này là tự động thu thập những dữ liệu EEG mà được yêu cầu với những đặc tính hạn chế từ trước ( luồng dữ liệu 20 480 bps) từ bệnh viện ngoại vi hay từ nhà bệnh nhân, mà truyền qua môi trường truyền tốc độ thấp như là đường dây điện thoại đóng mạch hay mạng điện thoại tế bào, với những phần cứng giá rẻ, mà không nhất thiết phải có mặt của bác sĩ. Những thuật toán nén dữ liệu cho phép người bệnh thực thi một hệ thống xách tay để gửi tín hiệu EEG (20 kênh, 128 Hz, 8-b), trong thời gian thực qua đường điện thoại với modem 14 400 bps. Một y tá trực thu tín hiệu và trong quá trình thu, bác sĩ chỉ cần liên lạc với y tá qua điện thoại. Vì vậy, bệnh nhân không cần gặp trực tiếp bác sỹ điều trị nữa. Dữ liệu được thu thập từ nơi bệnh nhân nằm và sau đó kết quả chẩn đoán, phương pháp điều trị sẽ được gửi trở lại. Điều này cũng dẫn đến việc giảm giá toàn bộ, khi việc chuyên chở bệnh nhân là không cần nữa. Một động lực khác để nén dữ liệu là đối với nhiều trường hợp ở đó lượng dữ liệu được lưu trữ vượt quá khả năng của các thiêt bị lưu trữ thương mại. Trong trường hợp này, giá cả và những giới hạn về công nghệ của những thiết bị lưu trữ khối có sẵn bắt buộc chúng ta phải giảm tốc độ lấy mẫu từ 128 tới 64 Hz và số lượng kênh ghi từ 20 kênh xuống 12 kênh, tuy nhiên chất lượng tín hiệu vẫn có thể chấp nhận được, vì vậy những kĩ thuật nén dữ liệu EEG rất hữu ích và đạt hiệu quả thương mại cao . Bộ vi xử lý mà giám sát thiết bị thu EEG có thể được dành cho nén dữ liệu chỉ trong một phần nhỏ thời gian giữa 2 mẫu tín hiệu vào liên tiếp. Chiều dài từ mà mã được tạo ra từ những thuật toán nén có thể là rất dài (những tín hiệu xảy ra hiếm khi), khiến mất dữ liệu do khả năng tính toán giới hạn của bộ vi xử lý. Để đối phó với bộ biến đổi A/D tốc độ dữ liệu và yêu cầu tính toán thấp, một kĩ thuật nén dựa vào chiều dài từ mã lớn nhất cố định được chấp nhận. Từ sự cần thiết đó, mục tiêu của đề tài này là nghiên cứu một vài thuật toán để tìm ra được phương pháp nén EEG hiệu quả nhất dựa trên một yêu cầu và tiêu chí đánh giá nào đó. CHƯƠNG 2: LÝ THUYẾT NÉN DỮ LIỆU 2.1. Những vấn đề chung Mã chiều dài thay đổi là mã được mong muốn cho việc nén dữ liệu vì chúng ta có thể đạt được việc tiết kiệm toàn cục bằng cách gán những từ mã ngắn cho những kí tự xuất hiện thường xuyên và những từ mã dài hơn cho những kí tự xuất hiện ít hơn. Ví dụ, cho mã chiều dài thay đổi (0, 100, 101, 110, 111) với chiều dài từ mã (1, 3, 3, 3, 3) cho bảng kí tự (A, B, C, D, E), và chuỗi kí tự nguồn là BAAAAAAAC với tần suất của mỗi kí tự là (7, 1, 1, 0, 0). Khi đó lượng bít trung bình được yêu cầu là:  (2.1) Việc này đã tiết kiệm được gần một nửa số bit so với việc biểu diễn bằng mã chiều dài cố định 3 bits/symbol Một nguồn được mô hình hoá bằng một bảng S = (s1, s2, …, sn) và sự phân phối xác suất tương ứng là P = (p1, p2,…,pn) Giả sử chúng ta xuât phát từ mã C =(c1, c2, …, cn) với chiều dài mỗi từ mã là L = (l1, l2,…, ln).  Hình 11 : Code and source data Mục tiêu của chúng ta là cực tiểu hoá chiều dài trung bình của từ mã :  (2.2) Do vậy mã chiều dài thay đổi rất hữu ích cho việc nén dữ liệu. Tuy nhiên, một mã chiều dài thay đổi sẽ trở nên vô giá trị nếu như không thể nhận ra một cách duy nhất những từ mã của mã này từ bản tin đã được mã hoá Ví dụ : Cho mã chiều dài thay đổi (0, 10, 010, 101) của bảng kí tự (A, B, C, D) . Một đoạn tin là ‘0100101010’ có thể được giải mã nhiều hơn một cách. Ví dụ ‘0100101010’ có thể dịch là ‘ 0 10 010 101 0’ là ‘ ABCDA’ hoặc ‘010 0 101 010 ‘ là CADC. Khi đó sẽ không nhận được chính xác dữ liệu nguồn Một mã được coi là có khả năng giải mã duy nhất nếu có duy nhất một cách có thể để giải mã bản tin mã hoá. Một giải pháp dường như khả quan cho những trường hợp mã không phải là mã có khả năng giải mã duy nhất đó là thêm vào những kí tự phân cách mở rộng trong giai đoạn mã hoá. Ví dụ, chúng ta sử dụng kí tự ‘/’, sau đó mã hoá chuối kí tự ABCDA là ‘0/10/010/101/0’. Tuy nhiên, phương pháp này phải trả giá quá đắt bởi vì kí tự mở rộng ‘/’ phải được chèn vào cho mỗi từ mã. Mã lý tưởng trong trường hợp này là một mã mà không chỉ có chiều dài thay đổi mà còn có đặc tính tự phân cách. Một loại được gọi là mã tiền tố (prefix code) là mã như thế. “Tiền tố” là một vài bit đầu tiên của một từ mã. Khi hai từ mã có chiều dài khác nhau, có thể từ mã ngắn hơn sẽ giống hệt với vài bít đầu tiên của từ mã dài hơn. Một mã tiền tố (prefix code) là mã trong đó không từ mã nào là tiền tố của từ mã nào, hay cũng không thể một từ mã mà xuất phát từ một từ mã khác bằng cách cộng thêm vào sau vài bit từ từ mã ngắn hơn.  Hình 12 : A Prefix code Những mã tiền tố chỉ là một tập con của mã khả năng giải mã duy nhất. Nên nếu một mã không phải là mã tiền tố thì chúng ta không thể khẳng định rằng từ mã này không thể giải mã một cách duy nhất. Ví dụ : mã (0, 01, 011, 0111) cho (A, B, C, D). Rõ ràng đây không phải là mã tiền tố vì từ mã này là tiền tố của từ mã kia. Song nếu nhận được một bản tin mã hoá 01011010111, thì chỉ có một cách giải mã duy nhất là 01 011 01 0111 đó là BCBD. Một số mã có khả năng giải mã duy nhất nhưng yêu cầu phải xem xét ngay từ đầu trong suốt quá trình giải mã. Điều này khiến chúng không hiệu quả bằng mã tiền tố (prefix codes) 2.2. Lý thuyết thông tin 2.2.1. Khái niệm thông tin Thông tin là những tính chất xác định của vật chất mà con người (hoặc hệ thống kĩ thuật) nhận được từ thế giới vật chất bên ngoài hoặc từ những quá trình xảy ra trong bản thân nó. Về mặt thông kê người ta đưa ra một số khái niệm về thông tin như sau: Điều gì đã xác định (khẳng định được, đoán chắc được, không bấp bênh,…) thì không có thông tin và người ta nói rằng lượng thông tin chứa trong điều ấy bằng không Điều gì không xác định (bất định) thì điều đó có thông tin và lượng thông tin chứa trong nó khác không. Nếu ta càng không thể ngờ tới điều ấy thì thông tin điều đó mang lại cho ta càng lớn Tóm lại, ta nhận thấy khái niệm thông tin gắn liền với sự bất định của đối tượng ta cần xét. Có sự bất định về một đối tượng nào đó thì những thông báo về đối tượng đó sẽ cho ta thông tin. Khi không có sự bất định thì sẽ không có thông tin về đối tượng đó. Như vậy, khái niệm thông tin chỉ là một cách diễn đạt khác đi của khái niệm sự bất định. Trước khi nhận tin (được thông báo) về một đối tượng nào đấy thì vẫn còn sự bất định về đối tượng đó, tức là độ bất định về đối tượng đó khác không (có thể lớn hay nhỏ). Sau khi nhận tin (đã được hiểu rõ hoặc hiểu một phần) về đối tượng thì độ bất định của nó giảm đến mức thấp nhất, hoặc hoàn toàn mất. Như vậy, “ thông tin là độ bất định đã bị thủ tiêu” hay nói một cách khác “ làm giảm độ bất định kết quả cho ta thông tin” 2.2.2. Lượng thông tin 2.2.2.1. Định nghĩa lượng thông tin Như chúng ta đã biết : trước khi nhận tin thì độ bất định lớn nhất, sau khi nhận tin (hiểu rõ hoặc hiểu một phần về đối tượng thì độ bất định giảm đến mức thấp nhất), có khi triệt tiêu hoàn toàn. Như vậy, có một sự chệnh lệch giữa độ bất định trước khi nhận tin và độ bất định sau khi nhận tin. Sự chênh lệch đó là mức độ thủ tiêu độ bất định. Độ lớn, nhỏ của thông tin mang đến cho ta phụ thuộc trực tiếp vào mức độ lệch đó. Vậy : “Lượng thông tin là mức độ bị thủ tiêu của độ bất định ( Lượng thông tin = độ chêch của độ bất định trước và sau khi nhận tin = độ bất định trước khi nhận tin - độ bất định sau khi nhận tin (độ bất định tiên nghiệm - độ bất định hậu nghiệm) “. 2.2.2.2.Giới thiệu về lý thuyết thông tin Mặc dù những kiến thức về đo lượng thông tin đã được sử dụng một thời gian, song người đã gom góp tất cả mọi thứ lại thành một lĩnh vực được gọi là lý thuyết thông tin (information theory) là Claude Elwood Shannon, một kĩ sư điện ở phòng thí nghiệm Bell. Shannon đã định nghĩa một đại lượng gọi là lượng thông tin (self-information). Giả sử chúng ta có một sự kiện A, là tập hợp của các kết cục của một thí nghiệm ngẫu nhiên nào đó. Nếu sự kiện A xảy ra với xác suất là P(A), thì lượng thông tin của A được cho bởi i(A) = logb = - logb P(A) (2.3) Chú ý rằng chúng ta không chỉ cụ thể cơ số của hàm log. Chúng ta sẽ thảo luận sau về vấn đề chi tiết hơn. Sử dụng hàm log để đo thông tin không phải là sự lựa chọn tuỳ ý. Nhớ lại rằng log(1) = 0, và –log(x) tăng khi x giảm từ 0 đến 1. Vì vậy, nếu xác suất của một sự kiện là thấp, thì lượng thông tin của nó là cao; nếu xác suất của một sự kiện là cao, lượng thông tin tương ứng là thấp.  Hình 13: self-information Một tính chất khác của định nghĩa toán học về thông tin là lượng thông tin thu được từ sự xảy ra của hai sự kiện độc lập là tổng lượng thông tin thu được từ sự xảy ra của mỗi sự kiện riêng lẻ. Giả sử rằng A và B là hai sự kiện độc lập. Lượng thông tin tương ứng của sự xảy ra của cả sự kiện A và B là i(AB) =logb (2.4) Khi A và B là độc lập thì ta có : P(AB) = P(A)P(B) (2.5) Và do đó i(AB) = logb = logb + logb = i(A) + i(B) (2.6) Đơn vị thông tin phụ thuộc vào cơ số của hàm log. Nếu chúng ta sử dụng cơ số 2, thì đơn vị là bits, nếu sử dụng cơ số e, đơn vị là nats; và nếu sử dụng có số 10, thì đơn vị là hartleys. Lưu ý rằng tính toán thông tin bằng bits, chúng ta cần phải lấy logarithm cơ số 2 của xác suất. Bởi vì hàm này không xuất hiện trong máy tính, nên ta phải thực hiện như sau : Ta có : logbx = a Suy ra : ba = x Vì vậy nếu ta muốn lấy log cơ số 2 của x Log2x = a => 2a = x, Chúng ta muốn tìm giá trị của a. Chúng ta có thể lấy hàm log tự nhiên (log cơ số e) hay log cơ số 10 cả 2 vế (2 hàm này có xuất hiện trong máy tính). Thì Ln(2a) = lnx => aln2 = lnx Và a =  (2.7) Nếu chúng ta có một tập hợp những sự kiện độc lập Ai, là những tập hợp của các kết cục của thí nghiệm S có nghĩa là  UAi = S Ở đây S là không gian mẫu, khi đó lượng thông tin trung bình của thí nghiệm ngẫu nhiên được cho bởi công thức : H = ( P(Ai)i(Ai) = - (P(Ai)logbP(Ai). (2.8) Đại lượng này được gọi là entropy của thí nghiệm. Một trong những đóng góp của Shannon là ông đã chỉ ra rằng nếu thí nghiệm là một nguồn bao gồm những kí tự Ai, từ tập hợp A, thì entropy là đại lượng đo số lượng kí tự nhị phân trung bình cần để mã hoá lối ra của nguồn. Shanno đã chứng minh rằng một sơ đồ nén không mất thông tin tốt nhất (lossless compression) l