Như chúng ta đã biết 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 đặc điểm của tín hiệu EEG đo được trên người bị động kinh là có sự xuất hiện đột
ngột, bất thường, quá mức của các xung động kinh như gai (Spike) hay phức hợp gai-
sóng đứng (Spike and sharp wave complex). Vì thế, khi nén tín hiệu EEG phục vụ cho động kinh, các thông tin về các xung liên quan đến bệnh động kinh cần được bảo toàn
đọ chính xác. Hay nói cách khác, kĩ thuật nén EEG yêu cầu khôi phục lại hoàn toàn dạng sóng từ dữ liệu được nén. Trong bài báo cáo này, những kĩ thuật nén dữ liệu EEG
mà cho phép khôi phục lại hoàn toàn dạng sóng ghi được từ dữ liệu được nén sẽ được
trình bày và thảo luận. Nén dữ liệu cho phép chúng ta có thể đạt được việc giảm đáng
kể không gian được yêu cầu để lưu trữ tín hiệu và giảm thời gian truyền. Kĩ thuật mã Huffman kết hợp với việc tính toán ban đầu đã đạt đựơc tỉ lệ nén cao (trung bình khoảng 58% đối với tín hiệu EEG) với mức độ phức tạp tính toán thấp. Bằng cách khai
thác kết quả này một sơ đồ mã hoá / giải mã (coder/decoder) nhanh, đơn giản có khả năng thực hiện thời gian thực trên PC được thực thi:
Hình 16 : data EEG in compression
Dữ liệu nguồn (EEG
signal)
Source binary file
Compressed binary file Compression
Hình 17 : data EEG in decompression
Kĩ thuật đơn giản này được so sánh với những phương pháp nén khác như những
phép biến đổi dự đoán (predictive transformations), lượng tử hóa véc-tơ (vector
quantization), biến đổi cosin rời rạc (discrete consine transform) và những phương pháp nén đếm lặp (repetition count compression methods). Từ đó, người ta chỉ ra rằng
cây Huffman “collapsed” cho phép thuật toán nén có thể lựa chọn chiều dài từ mã dài nhất mà không ảnh hưởng nhiều đến tỉ lệ nén. Vì vậy những bộ vi xử lý rẻ tiền và những thiết bị lưu trữ có thể sử dụng hiệu quả để lưu trữ những tín hiệu EEG dài trong dạng nén.
Khi nén tín hiệu EEG, một yêu cầu cần được đảm bảo là không được cản trở việc
khôi phục hoàn toàn thông tin gốc từ dữ liệu đã nén. Những kĩ thuật nén này được gọi
là nén không mất thông tin (lossless compression).
Bình thường ta có thể sử dụng đo 32 kênh (là số lượng điện cực chuẩn đo), với độ chính xác là 8-b, tại tốc độ lấy mẫu là 1kHz. Tuy nhiên trong thực tế, ta có thể sử
dụng số lượng kênh ít hơn và tốc độ bit thấp hơn cũng đủ. Trong bài báo cáo này Compressed binary file
Reconstructed binary file
Decoded data in file (EEG signal) Decompression
chúng ta sẽ đề cập đến tốc độ lấy mẫu là 128 Hz/kênh, độ chính xác 8-b, 20 kênh (luồng dữ liệu 20 480 bps), mà được xem như là đủ để đạt được chất lượng tín hiệu
EEG tốt.
Bên cạnh nén không mất thông tin, những kĩ thuật nén mất thông tin (lossy
compression) có thể bảo quản được những thông tin quan trọng để đảm bảo rằng tránh được lỗi chẩn đoán. Tuy nhiên, do hiện tại thiếu một luật lệ và chấp nhận một tiêu chuẩn nào, nên trong tiến hành chữa bệnh các bác sĩ cân nhắc việc khôi phục EEG
chính xác là một yêu cầu cần thiết trước tiên để thực hiện nén tốt hơn.
Nén dữ liệu lossless EEG đã được nghiên cứu sâu. Vì vậy, những thuật toán nén (đếm
lặp, mã Huffman), lượng tử hóa vectơ và những kĩ thuật được sử dụng rộng rãi đã dựa
trên những bộ mã dự đoán tín hiệu (những bộ dự đoán tuyến tính, khả năng cực đại,
mạng nơron) đã được thực hiện và đánh giá. Những bộ nén dữ liệu được so sánh với 2 chương trình nén được sử dụng rộng rãi là gzip và Iharc. Đầu tiên là dựa vào mã Lempel-Ziv và đã được phát triển dưới dự án GNU, bởi FSF (Free softwave Foundation), sau đó dựa vào mã Huffman và được phát triển bởi Tagawa.
Sau đây, Một tiêu chuẩn được sử dụng để đo mức độ nén dữ liệu được xác
định là:
(3.1)
Ở đây Lorig và Lcomp là chiều dài của file nguồn và file đã nén
Thực hiện nén tín hiệu bằng việc loại bỏ những dư thừa được bộc lộ ở chính bản
thân dữ liệu về sự phụ thuộc thống kê giữa các mẫu. Những phương pháp dự đoán khai
thác sự phụ thuộc về mặt thời gian và ước lượng mẫu kế tiếp từ những mẫu trước đó.
Sự phụ thuộc về không gian giữa những kênh lối vào sẽ được khai thác bằng những phương pháp không mất thông tin dựa vào phương pháp lượng tử hoá vectơ, phương
pháp này thực hiện tốt hơn mọi chiến lược nén dữ liệu khác (khoảng 62%). Tuy nhiên, bằng một sơ đồ dự đoán đơn giản, chúng ta có thể đạt được tỉ lệ nén khoảng 58%, cho
phép thực hiện một bộ nén thời gian thực
Để giải quyết khó khăn về sự hạn chế chặt chẽ thời gian, một mã chiều dài từ cực đại đã được thiết kế. Kết quả là 16 b đủ để nén hiệu quả tín hiệu EEG với sự mất mát
hạn chế về hiệu suất thực hiện. Hơn nữa, bằng chứng thực hiện đã chứng minh rằng
những hiểu biết về những tín hiệu sinh học EEG quan trọng có thể chỉ cải thiện một
Nén dữ liệu không mất thông tin (lossless compression) có thể đạt được bằng
cách gán những mô tả ngắn cho những kí tự thường xuyên xuất hiện nhất của dữ liệu
nguồn và những miêu tả dài hơn cần thiết cho những kí tự xuất hiện ít hơn. Đối với
mục đích của chúng ta, những sự mô tả này là những xâu nhị phân được biểu diễn bởi
mã nhị phân chiều dài thay đổi.
Sẽ không mất tính tổng quát nếu chỉ xét đến mã prefix. Những mã này được quan tâm đặc biệt vì chúng đơn giản hóa rất nhiều phép tính mã hóa và giải mã. Thực tế,
chúng cho phép nhận ra một từ mã mà không cần biết trước độ dài, khi quét từ trái
sang phải những bit của nó không bao giờ thỏa mãn đồng thời vừa là từ mã vừa là tiền
tố của từ mã khác.
Ví dụ Phép toán cơ bản của một thuật toán cùng cấu trúc dữ liệu được biểu diễn như sau:
ENCODER DECODER
Input output
Hình 18: Encoding/decoding scheme
Thực hiện mã hóa bằng cách móc nối những từ mã tương ứng với mỗi kí tự của
nó trong file và tìm lại được bằng việc truy nhập bảng tra cứu. Việc giải mã với từ mã prefix cũng đơn giản: một cây nhị phân, lá của nó là những kí tự đã cho, là sự biểu
diễn mã prefix thích hợp cho thuật toán giải mã. Những bước giải mã là một chuỗi
những bước dịch trái hay phải, tùy theo lối vào là 0 hay 1, cho đến khi tới lá.
Định lý Shannon biểu diễn giới hạn trên của việc nén dữ liệu được biểu diễn bởi đại lượng entropy, một đại lượng dựa trên sự phân phối xác suất nguồn thông tin, được xác định bằng : 00000000 00000001 00000010 00000011 00000100 ………… 1 00 011 1001 110 ……. 00000001 00000010 00000000 0 1 0 1 1
H = - M i i i p p 1 2( ) log (3.2)
Ở đây pi là xác suất của kí tự thứ i của bảng kí tự nguồn A= {a1 , a2 , a3 ,…., aM }. Nén
đạt mức cực đại bằng :
Clim = 1 -
b H
(3.3) với b là số bit nguồn cố định trên mỗi kí tự .