3.2. Những đặc trưng của tín hiệu EEG
Những phương pháp được trình bày ở trên gần như không sử dụng những thông tin về EEG. Một điều chắc chắn rằng sử dụng những thông tin phụ thuộc miền của tín hiệu cực kì quan trọng và nó sẽ cung cấp một chiến lược nén tốt nhất. Tín hiệu EEG có sự tương quan về không gian và cả thời gian mà ta có thể khai thác để thiết kế những chiến lược nén hiệu quả.
Về sự tương quan không gian, vài kĩ thuật có thể sử dụng là lượng tử hoá vectơ (vector quantization) và phân tích chuỗi thời gian đa biến. Chúng ta có thể khai thác kĩ thuật lượng tử hoá vector bằng cách ánh xạ một vectơ bao gồm những mẫu kênh lối vào tới một vectơ mã, và mã hoá cùng với vectơ lỗi.
Sự tương quan thời gian được nghiên cứu và đưa ra kết quả được biểu diễn bằng đồ thị sau :
Hình 21: Sự tương quan thời gian trung bình của tín hiệu EEG
Sử dụng hiểu biết này vào việc nén bằng cách điều chỉnh phương pháp nén thông thường được biểu diễn ở hình 19 và bổ sung một số lối vào trễ cho bộ dự đoán.
3.2.1. Nén dự đoán với những lối vào trễ
Ở hình 21 biểu diễn sự tương quan thời gian trung bình được tính toán trên một tập huấn luyện tín hiệu EEG. Nhận thấy rõ ràng sự tương quan thời gian không chỉ tồn tại đối với những mẫu gần nhau, mà còn ở những mẫu có độ trễ khoảng 12 mẫu. Mức cực đại thu được cho độ trễ 12 mẫu tương ứng khoảng 10.6 Hz. Điều này được giải thích về mặt sinh học như sau: thực tế, sóng alpha, dạng sóng đặc trưng cho tín hiệu EEG bình thường, thuộc dải từ 8 – 13 Hz. Để lợi dụng ưu điểm của đỉnh tương quan sóng alpha này chúng ta điều chỉnh (3.11) để tính toán đến khoảng trễ dài hơn.
Đặt N = {k|α≤ k ≤β} xác định lân cận của độ trễ đã cho ở (3.11) được viết lại như sau: en = xn – f(xn-1, ..., xn-N, xn-α, ...,xn-β) (3.24)
Giá trị tương quan từ hình 21 gợi ý rằng chọn N = 5, α = 10 và β = 15 sẽ cung cấp cho bộ dự đoán những mẫu quá khứ tương quan nhất. Thực tế, kết quả thực nghiệm cho thấy N và β - α có thể chọn thấp hơn mà không giảm hiệu suất của bộ dự đoán, trong khi điều này sẽ làm cho nó đơn giản hơn và nhanh hơn. Kết quả chọn N = 2, α = 12, và
β = 13.
3.2.2. Lượng tử hoá vectơ của tín hiệu EEG
Trong lượng tử hoá vectơ chúng ta nhóm lối ra nguồn thành những khối hay những vectơ. Ví dụ chúng ta coi L mẫu liên tiếp của tín hiệu là những thành phần của
một vectơ N chiều. Vectơ của lối ra nguồn này tạo thành lối vào của bộ lượng tử hoá vectơ. Tại cả bộ mã hoá và giải mã của bộ lượng tử vectơ, sẽ có một tậ hợp những vectơ N-chiều được gọi là sách mã (codebook) của bộ lượng tử. Những vectơ trong sách mã này, được hiểu là những vectơ mã (code-vectơ), sẽ được lựa chọn làm biểu diễn của vectơ tín hiệu chúng ta tạo ra từ lối ra nguồn. Mỗi vectơ mã sẽ được gán một chỉ số nhị phân. Tại mỗi bộ mã hoá, vecơt lối vào được so sánh với mỗi vectơ mã để tìm ra vectơ mã gần nhất với vectơ lối vào. Những thành phần của vectơ mã này là những giá trị lượng tử của lối ra nguồn. Để cho bộ giải mã biết về vectơ mã nào đó được tìm thấy là gần với vectơ lối vào nhất, chúng ta truyền hay lưu trữ chỉ số nhị phân của vectơ-mã. Do bộ giải mã có sách mã giống hệt bộ mã, nên có thể khôi phục lại được vectơ mã được cho bởi chỉ số nhị phân của nó. Biểu diễn quá trình này bằng sơ đồ trực quan sau:
Encoder Decoder
... …
Hình 22: Thủ tục lượng tử hoá vectơ
Group into vectors Un- block Find closest code- vector codebook index Table lookup Source output reconstruction indexx codebook
Diễn đạt theo một cách khác thì một bộ lượng tử hoá vectơ k chiều và kích thước N là một phép ánh xạ Q từ một vectơ k chiều, trong không gian Ơclit Rk, vào một tập hữu hạn C bao gồm N lối ra hay những điểm mô phỏng, được gọi là những mã vectơ hay những từ mã
Q: Rk C
ở đó C = {y(1), y(2), .. y(N)} và y(i) ∈ Rk đối với mỗi i {1, 2, …, N}. Tập C được gọi là sách mã hay đơn giản là mã.
Áp dụng phương pháp này cho tín hiệu EEG bằng cách tính toán những vectơ của những kênh lối vào và bằng cách xây dựng một sách mã cho tập vectơ này. Có một sự biến đổi nhỏ là tính toán đạo hàm thay cho những giá trị của kênh do đạo hàm EEG có thể rất gần không. Vì vậy, với cùng một sách mã như nhau, có thể thu được méo trung bình thấp hơn.
CHƯƠNG 4: MÔ PHỎNG
4.1. Mã Huffman
Sau đây mô phỏng thuật toán Huffman truyền thống với chiều dài từ mã không cố định tức là mỗi kí tự nguồn của nguồn sẽ có từ mã của riêng nó. Thủ tục xây dựng mã dựa vào xác suất của các kí tự nguồn hoàn toàn giống như đã trình bày ở trên.
Hình 23 : tín hiệu nguồn và tín hiệu khôi phục sau khi nén và giải nén bằng phương pháp mã Huffman
Hình 24 : tín hiệu lỗi giữa tín hiệu nguồn và tín hiệu giải nén.
Kết quả:
Name Size Bytes Class
T 1x18432 147456 double array
ans 32x1 147456 double array
compr_data 1x38568 38568 uint8 array
data 1x147456 147456 uint8 array
decom_data 1x147456 147456 uint8 array
info 1x1 1872 struct array
recov_data 1x18432 147456 double array
Grand total is 388886 elements using 777720 bytes tỉ lệ nén = 0.2616
Nhận thấy nén tín hiệu EEG sử dụng mã Huffman khá hiệu quả: hệ số nén tương đối ≈ 4, phần trăm tiết kiệm khá cao 73.84%, mức độ phức tạp tính toán thấp, và quan trọng nhất là nó cho phép khôi phục lại hoàn toàn chính xác tín hiệu ban đầu. Nên đối với yêu cầu đảm bảo thông tin chính xác mang trên tín hiệu EEG ghi được từ bệnh nhân để không gây ra sai sót trong việc chẩn đoán và kết luận lâm sàng đối với bệnh nhân, bác sĩ hoàn toàn có thể tin tưởng vào phương pháp nén này. Đối với những thiết bị lưu trữ và tính toán ngày nay, phương pháp này tỏ ra rất hiệu quả.
4.2. Biến đổi DCT
Mô tả khái quát phương pháp sử dụng DCT transform:
B1:Coi tín hiệu EEG vào là : data
B2: Bước tiếp theo biến đổi DCT tín hiệu vào : DCT_data
B3: Giữ lại N phần tử đầu tiên để gửi đi, còn loại bỏ đi K phần tử còn lại
B4: biến đổi DCT ngược dữ liệu [N K]; ở đây K gồm K số 0 :gọi là recov_data
B5: tính lỗi giữa tín hiệu thật và DCT ngược : err=data-recov_data
B6: Lượng tử hoá lỗi này, sau đó sử dụng Huffman coding để nén và truyền sai số này đi Ở bên nhận sẽ thực hiện như B4 sau đó lấy kết quả cộng với lỗi nhận được để khôi phục lại dữ liệu ban đầu.
Kết quả mô phỏng:
Hình 26 : tín hiệu lỗi
tỉ lệ nén = 0.3336
phần trăm tiết kiệm = 66.64%
Nhận thấy sử dụng biến đổi DCT để nén EEG cũng đạt được kết quả tương đối. Mặc dù sai số giữa tín hiệu khôi phục và tín hiệu ban đầu cũng khá nhỏ, song vẫn có thể xảy ra xác suất gây lỗi chẩn đoán. Hơn nữa hiệu quả nén không cao bằng Huffman. Tuy nhiên nó cho phép mức độ tính toán đơn giản
Một vấn đề khó giải quyết hơn một chút trong quá trình mô phỏng này là việc lượng tử hoá lỗi. Khi lấy hệ số N khá cao thì sai số giữa tín hiệu nguồn và tín hiệu khôi phục không lớn. Nên ta có thể sử dụng một số ít bit hơn để biểu diễn lỗi. Trong Matlab dữ liệu nó xử lý nhỏ nhất là 8 bit, điều này khiến cho việc mô phỏng trong trường hợp này không bộc lộ hết hiệu quả mà tiềm năng của nó có thể thực hiện được.
Từ đó rút ra nhận xét là : tuỳ thuộc vào thiết bị phần cứng về tốc độ xử lý và khả năng lưu trữ mà chúng ta lựa chọn phương pháp nào cho phù hợp. Người ta cho rằng, phương pháp nén không mất thông tin không giành được nhiều sự quan tâm
bởi nó cho hiệu quả nén không cao, mà người ta tập trung nghiên cứu các phương pháp nén mất thông tin để đạt được hiệu quả nén cao hơn. Song tín hiệu EEG đặc biệt cần thiết yêu cầu khả năng khôi phục lại hoàn toàn dữ liệu đựơc ghi ban đầu, nên nếu sử dụng phương pháp nén mất thông tin chúng ta bằng cách nào đó phải biến nó về loại không mất dữ liệu (ví dụ như nén lỗi và gửi cả lỗi như phương pháp biến đổi DCT ở trên). Khi đó về hiệu quả nén chúng ta cần phải xem xét kĩ, tuỳ vào từng trường hợp mà lựa chọn phương pháp nào hơn. Có lẽ điều đáng quan tâm là ở mức độ phức tạp tính toán?
TÀI LIỆU THAM KHẢO
[1] Guiliano Antoniol and Paolo Tonella.” EEG data compression techniques”. IRST, trento, Italy, Tech. Rep. 9508-03, 1997.
[2] G.Nave and A. Cohen, “ECG compression using long-term prediction” IEEE trans. Biomed. Eng., Vol. 40, no. 9, pp. 877-885, Sept. 1993.
[3] Ida Mengyi Pu.” fundamental data compression”.Nxb Elsevier.,2006
[4] J. Markel and A. Grey. Linear Prediction of speech. New york: Springer-Verlag, 1976.
[5] Khalid Sayood .”Introduction to data compression”, third edition., Nxb Elseveer., 2006 [6] Leif Sörnmo and Pablo Laguna. “Bioelectrical signal processing in cardiac and
neurological applications”. tr.3-161
[7] Peyton Z. Peebles, Jr., Ph.D.” Probability, Random variables, and random signal principles”
[8] PGS.TS. Nguyễn Bình.” Lý thuyết thông tin”. tr. 3-63
[9] Trần Mạnh Tuấn.” Xác suất & thống kê lý thuyết và thực hành tính toán”. Nxb ĐHQGHN . IV/2004
MỤC LỤC NỘI DUNG
...1
...1
CHƯƠNG 1: GIỚI THIỆU CHUNG...2
1.1. Nén dữ liệu ...2
1.2. Tín hiệu EEG (Electroencephalograph) và Sự cần thiết nén dữ liệu y sinh (Biomedical data compression)...4
1.2.1. Tín hiệu EEG...4
1.2.2. Sự cần thiết nghiên cứu nén tín hiệu y sinh...7
CHƯƠNG 2: LÝ THUYẾT NÉN DỮ LIỆU...9
2.1. Những vấn đề chung...9
2.2. Lý thuyết thông tin...11
2.2.1. Khái niệm thông tin ...11
2.2.2.2.Giới thiệu về lý thuyết thông tin ...12
2.3. Các phương pháp nén dữ liệu ...15
2.3.1. Các phương pháp nén không mất thông tin...15
2.3.1.1 Mã Huffman...15
2.3.1.2. Mã số học ...19
2.3.1.3.Kĩ thuật từ điển...22
2.3.1.4. Phương pháp nén dựa vào ngữ cảnh (context-based compression) ...23
1.4. Đo chất lượng nén ...25
CHƯƠNG 3: NÉN TÍN HIỆU EEG...26
3.1. Các phương pháp đã được sử dụng để nén EEG...26
3.1.1. Các phương pháp nén không mất thông tin (lossless compression)...26
3.1.1.1. Giới thiệu phương pháp nén...26
3.1.1.2. Phương pháp mã Huffman...31
3.1.1.3. Nén đếm lặp...34
3.1.1.4. Kĩ thuật nén dự đoán (preditive compression techniques)...35
3.1.1.4.2 Bộ dự đoán lọc số...37
3.1.1.4.3. Dự đoán tuyến tính thích nghi...38
3.1.1.4. Phương pháp nén biến đổi (Transformation compression)...39
3.1.2. Giới thiệu các phương pháp nén EEG khác...40
3.2. Những đặc trưng của tín hiệu EEG...40
3.2.1. Nén dự đoán với những lối vào trễ...41
3.2.2. Lượng tử hoá vectơ của tín hiệu EEG...41
CHƯƠNG 4: MÔ PHỎNG...44
4.1. Mã Huffman ...44