CHƯƠNG 2 MÔI TRƯỜNG ĐA PHƯƠNG TIỆN VÀ KHẢ NĂNG GIẤU TIN

Một phần của tài liệu phối hợp các phương pháp nén thông tin, mã hoá thông tin, giấu thông tin để xây dựng ứng dụng giấu tin (Trang 32 - 75)

.2.1. Tính chất cơ bản của tín hiệu âm thanh

Tham số cơ bản nhất để đo tín hiệu âm thanh là tần số. Khi tần số dao động của không khí đạt mức từ 20 đến 20000 Hz thì tai người có thể nghe thấy âm thanh.

Ngoài ra, âm thanh còn có thể được đo thông qua một tham số khác, đó là biên độ. Biên độ biến đổi làm âm thanh êm nhẹ hay ầm ĩ. Dải động mà con người nghe được là rất rộng: giới hạn dưới là ngưỡng nghe được và giới hạn trên là ngưỡng đau (pain). Ngưỡng nghe được của dạng sóng hình sin 1-kHz là 0.000283 dyne/cm2. (1 dyn = 10-5 N, 1 dyn/cm2=0.1 Pa = 9.86923 x 10-7 atm).

Biên độ của dạng sóng hình sin có thể tăng từ ngưỡng nghe được theo hệ số từ 100000 đến 1000000 trước khi đạt tới ngưỡng đau. Rất khó khăn làm việc với dải biên độ quá lớn, cho nên biên độ của âm thanh thường được biểu diễn bằng decibel (dB).

Cho trước hai dạng sóng có biên độ đỉnh là X và Y, thước đo sự chênh lệch tính bằng dB của hai biên độ này sẽ là dB=20log10(X/Y).

Nếu ngưỡng nghe được của tín hiệu 1-kHz (như nói trên đây) là 0.000283 dyne/cm2, được sử dụng làm tham chiếu cho 0 dB thì ngưỡng đau của hầu hết tai người đạt tới mức áp suất âm thanh khoảng 100 đến 120 dB.

Tóm lại, các mức âm thanh xung quanh mà tai người nghe thấy được mô tả bằng thuật ngữ decibel (dB), là tỷ lệ với âm thanh yên lặng nhất mà có thể nghe được.

Sóng âm thanh là liên tục theo thời gian và biên độ: nó thay đổi theo thời gian và biên độ có giá trị trong khoảng nghe thấy được. Hình 10 là thí dụ sóng âm thanh.

Hình 10: Sóng âm thanh

.2.2. Biểu diễn âm thanh số

Dạng sóng âm thanh liên tục được chuyển sang tín hiệu điện liên tục bằng

microphone. Thí dụ, dạng sóng âm thanh trên hình 11 sẽ chuyển đổi thành tín hiệu

điện có cùng hình dạng. Tín hiệu điện thường đo bằng vôn. Loại tín hiệu với biên độ và thời gian liên tục được gọi là tín hiệu tương tự.

Hình 11: Biểu diễn âm thanh số

Để xử lý và truyền tải tín hiệu âm thanh bằng máy tính thì chúng phải được chuyển đổi tín hiệu điện liên tục thành tín hiệu số theo ba bước ADC: lấy mẫu, lượng tử hóa và mã hóa (hình 11).

Bộ lọc (Filtering)

Trước khi lấy mẫu và biến đổi tương tự - số, tín hiệu âm thanh phải được lọc để loại bỏ những tần số không mong muốn, tức là những tần số cao hơn và thấp hơn bằng cách sử dụng bộ lọc băng thông.

Phía đầu ra, sau biến đổi số - tương tự, các tần số cao có thể xuất hiện do các bước lấy mẫu và lượng tử hóa. Các tín hiệu trơn được thay thế bởi dãy các hàm bước và nó có thể chứa mọi tần số khác nhau. Do vậy, thường sử dụng bộ lọc thông thấp (cho tần số thấp đi qua) ở đầu ra của bộ biến đổi số - tương tự.

Lấy mẫu (Sampling)

Quá trình chuyển đổi thời gian liên tục thành giá trị rời rạc được gọi là lấy mẫu. Hình 11 (b) và (c) chỉ ra tiến trình lấy mẫu. Trục thời gian phân chia thành các khoảng cố định. Thu nhận giá trị của tín hiệu tương tự tại mỗi điểm đầu khoảng thời gian. Khoảng thời gian này được xác định bởi một xung đồng hồ. Tần số của đồng hồ được gọi là tần số mẫu hay tốc độ lấy mẫu. Giá trị mẫu vẫn là giá trị tương tự trong biên độ:

nó có giá trị bất kỳ trong dải liên tục. Nhưng giá trị mẫu lại ở trong khoảng thời gian rời rạc: trong mỗi dải, mẫu chỉ có một giá trị.

Lượng tử hóa (Quantization)

Tiến trình chuyển đổi giá trị mẫu liên tục thành giá trị rời rạc được gọi là lượng tử hóa. Tiến trình này chia dãy tín hiệu thành số khoảng cố định. Mỗi khoảng có cùng kích thước và được gán một giá trị. Trên hình 11 (c) các khoảng được đánh số từ 0 đến 8. Mỗi mẫu sẽ thuộc một khoảng và được gán giá trị khoảng. Trong thí dụ này, giá trị mẫu chỉ có thể là số nguyên từ 0 đến 8. Hai mẫu có giá trị khác nhau trước khi lượng tử hóa, nhưng chúng có thể có cùng giá trị sau khi lượng tử hóa. Kích thước khoảng lượng tử hóa được gọi là bước lượng tử hóa.

Mã hóa (Coding)

Tiến trình biểu diễn giá trị đã lượng tử hóa dưới dạng số gọi là mã hóa như trên hình 11 (d). Thí dụ trên đây sử dụng 7 mức lượng tử hóa, do vậy có thể sử dụng 3 bít để mã hóa. Vậy, mỗi mẫu được biểu diễn 3 bit. Dãy số nhị phân sau đây biểu diễn tín hiệu tương tự của thí dụ trên hình 10.

001 011 101 100 010 001 011 011 110

Nhận xét

Khi tỷ lệ lấy mẫu và tổng số mức lượng tử hóa đủ lớn thì tín hiệu số sẽ biểu diễn gần chính xác tín hiệu tương tự gốc.

Khi muốn xây dựng lại tín hiệu tương tự, ta phải sử dụng DAC. Hình 12 chỉ ra tiến trình của DAC.

Các giá trị lượng tử hóa được xác định trên cơ sở biểu diễn số và bước lượng tử. Kết quả ta có dãy các tín hiệu bước như hình 12(b). Sau đó cho các tín hiệu bước này qua bộ lọc thông thấp để tái tạo xấp xỉ tín hiệu tương tự gốc như hình 12 (c). Ta nói rằng xấp xỉ tín hiệu gốc là tái tạo bởi vì tín hiệu tái tạo không hoàn toàn giống tín hiệu gốc do sai số của lượng tử hóa của tiến trình ADC.

Nguyên lý hoạt động của DAC và ADC mô tả ở đây được áp dụng cả cho tín hiệu video và loại tín hiệu khác. (adsbygoogle = window.adsbygoogle || []).push({});

Trong tiến trình ADC, nhiệm vụ xác định tốc độ lấy mẫu và tổng số mức lượng tử hóa cho các tín hiệu tương tự khác nhau và cho các ứng dụng khác nhau là rất quan trọng.

.2.3. Nén âm thanh

Để thuận tiện trong việc lưu trữ và truyền tải âm thanh, người ta áp dụng các phương pháp nén nhằm mục đích giảm dung lượng để biểu diễn âm thanh. Một số phương pháp nén âm thanh tiêu biểu bao gồm các kỹ thuật mã hóa âm thanh thiết kế cho tiếng nói (băng thông âm thanh khoảng 3.4 kHz, cực đại 7 kHz) và kỹ thuật nén âm thanh tổng quát, sử dụng chung cho đến dải tần số nghe được là 20 kHz.

2.3.1. Lượng tử hóa phi tuyến

Đây là kỹ thuật mã hóa âm thanh thiết kế cho tiếng nói. Trong lượng tử hóa đồng nhất thì các tín hiệu âm thanh, kích thước các bước lượng tử hóa sử dụng trong tiến trình ADC là như nhau, không quan tâm đến cường độ tín hiệu (hình 13). Trong hình 13, ∆ là kích thước bước lượng tử hóa. Gọi M là tổng số mức lượng tử hóa. Số bit cần để mã hóa M mức là n = log2M.

Hình 13: Lượng tử hoá phi tuyến

2.3.2. Mã hóa dự báo (Predictive Coding)

Nhắc lại, việc sinh ra tín hiệu số nhờ lấy mẫu và lượng tử hóa cho âm thanh thì được gọi là biến điệu xung mã (PCM). Thay cho việc mã hóa giá trị của mẫu (sample) đang truyền tải, mã hóa dự báo được sử dụng nhằm thực hiện mã hóa hiệu giữa dự báo cho giá trị mẫu với giá trị mẫu thực tế. Nếu hiệu số này (hay lỗi dự báo) được lượng tử hóa và mã hóa thì lược đồ mã hóa dự báo được gọi là biến điệu xung mã vi sai DPCM.

Đây là một biến thể của PCM. Nếu tín hiệu phụ thuộc thời gian có một vài nhất quán theo thời gian thì tín hiệu sai số có được bằng cách lấy giá trị mẫu hiện hành trừ đi giá trị mẫu trước đó sẽ có lược đồ mà giá trị cực đại của chúng gần giá trị 0 hơn.

Hình 14: Mã hoá dự báo

2.3.3. Kỹ thuật nén sử dụng tính chất lọc (masking): Âm thanh MPEG

Kỹ thuật nén sử dụng tính chất lọc là kỹ thuật nén âm thanh tổng quát, sử dụng cho dải tần số nghe được. Một âm thanh có thể làm không nghe được âm thanh khác, khi đó được gọi là masking. Có thể che chắn (masking) toàn bộ hay một phần âm thanh khác.

Vì âm thanh bị che chắn là không nghe thấy, do vậy có thể loại bỏ nó mà không ảnh hưởng chất lượng âm thanh. Đó là chiến lược sử dụng trong chuẩn quốc tế âm thanh MPEG.

MPEG-Audio là chuẩn nén âm thanh tổng quát. Nén là bỏ đi các bộ phận tín hiệu âm thanh không liên quan cảm nhận. Bộ nén khai thác hạn chế cảm nhận của hệ thống nghe của con người.

MPEG-Audio hỗ trợ ba tần số lấy mẫu 32, 44.1 và 48 kHz. Dòng nén có thể có tốc độ nén cố định từ 32 đến 244 kbps/kênh. Phụ thuộc vào tần số lấy mẫu mà tỷ lệ nén sẽ từ 2.7 đến 24.

MPEG-Audio chỉ bỏ đi các thành phần không nghe được của âm thanh, cảm giác thì đây là nén không mất mát thông tin, mặc dù không thể khôi phục từng bit để có dữ liệu âm thanh gốc. Ủy ban kiểm thử MPEG-Audio cho biết dù tỷ lệ nén đến 6:1 thì các chuyên gia vẫn không thể phân biệt giữa âm thanh mã hóa và âm thanh gốc.

MPEG-Audio là một họ chuẩn bao gồm 3 lược đồ nén âm thanh. Bao gồm MPEG-Audio layer 1, layer 2 và layer 3. Độ phức tạp thuật toán tăng lên theo số hiệu layer. Độ phức tạp tăng phát sinh tỷ lệ nén cao. Ba layer này tương thích phân cấp: Bộ

giải mã layer 2 có thể giải mã dữ liệu nén bằng bộ nén layer 1, bộ giải mã layer 3 có thể giải mã dữ liệu nén bằng bộ mã hóa layer 1 và layer 2.

.2.4. Giấu tin mật trong âm thanh số

Giấu tin mật trong âm thanh số mang những đặc điểm riêng khác với giấu tin mật trong các đối tượng đa phương tiện khác. Như đã đề cập trong chương 1, một trong những yêu cầu cơ bản của giấu tin mật là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc. Để đảm bảo yêu cầu này, nếu như kỹ thuật giấu tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS thì kỹ thuật giấu tin mật trong âm thanh số lại phụ thuộc vào hệ thống thính giác HAS. Và một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các dải tần rộng và công suất lớn nên đã gây khó dễ đối với các phương pháp giấu tin trong âm thanh số. Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dải tần và công suất điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng. Các mô hình phân tích tâm lý đã chỉ ra điểm yếu trên và thông tin này sẽ giúp ích cho việc chọn các file âm thanh số thích hợp cho việc giấu tin. Vấn đề khó khăn thứ hai đối với giấu tin trong âm thanh số là kênh truyền tin. Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Ví dụ để nhúng một đoạn java applet vào một đoạn âm thanh (16 bit, 44.100 Hz) có chiều dài bình thường thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s. Giấu tin trong âm thanh số đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin. Các phương pháp giấu tin mật trong âm thanh số đều lợi dụng điểm yếu trong hệ thống thính giác của con người.

Các phương pháp giấu tin mật trong âm thanh số

Có nhiều phương pháp giấu tin mật trong âm thanh số. Một số phương pháp chính bao gồm:

- Mã hoá bit thấp (low bit encoding): trong mã hoá bit thấp, dữ liệu được nhúng bằng cách thay thế bit có trọng số thấp LSB của mỗi điểm lấy mẫu bằng một xâu nhị phân được mã hoá. Như vậy một lượng lớn dữ liệu có thể được mã hoá trong một file âm thanh số. Mã hoá bit thấp được coi là cách đơn giản nhất để giấu dữ liệu trong các file âm thanh số, nhưng lược đồ mã hoá bit thấp có thể bị phá huỷ bởi nhiễu trên kênh truyền và việc lấy mẫu lại.

- Mã hoá pha (phase coding): được coi là kỹ thuật hiệu quả nhất đối ở khía cạnh tương quan giữa tín hiệu và độ nhiễu. Trong phương pháp này, pha của tính hiệu âm thanh ban đầu được thay thế bằng pha tham chiếu của dữ liệu được giấu. Người ta khám phá rằng một kênh có dung lượng cỡ 8 bps của xấp xỉ 8 bps có thể thu được bằng cách định vị 128 khe tần số (slot) trên bit với ít độ nhiễu nền tảng (little background noise). Thủ tục cho mã hoá pha là:

+ Dãy âm thanh khởi nguồn được chia thành một loạt các segment độ dài N. + Áp dụng biến đổi Fourier rời rạc trên mỗi segment để tạo ra một ma trận của pha và độ lớn (a matrix of phase and magnitude).

+ Tính toán độ lệch pha giữa các segment liền kề nhau.

+ Tạo ra một pha tuyệt đối nhân tạo (artifical absolute phase) p0 cho segment đầu tiên S0.

+ Tạo ra các khung pha mới cho tất cả các segment.

+ Pha mới và cường độ ban đầu được kết hợp với nhau để tạo ra một segment mới, Sn.

+ Cuối cùng, các segment mới được móc nối vào nhau để tạo ra đầu ra (output) được mã hoá. (adsbygoogle = window.adsbygoogle || []).push({});

Tiến trình giải mã: việc đồng bộ hoá của dãy được thực hiện trước khi giải mã. Người nhận phải nắm bắt được chiều dài của segment, các điểm biến đổi Furier rời rạc DFT và khoảng dữ liệu (data interval). Giá trị của pha phía dưới (underlying phase) của segment đầu tiên được xác định ở dạng 0, 1 để biểu diễn xâu nhị phân mã hoá.

- Kỹ thuật trải phổ (spread spectrum): Các hệ thống giấu tin hiện đại sử dụng các liên lạc trải phổ để truyền một tính hiệu băng hẹp (narrowband) trên một kênh băng rộng hơn sao cho mật độ trải (sprectral density) của tín hiệu trong kênh truyền trông tương tự như nhiễu. Hai kỹ thuật trải phổ phân biệt được sử dụng là nhảy theo

dãy trực tiếp ( direct-sequence hopping) và nhảy tần (frequency hopping). Kỹ thuật nhảy theo dãy trực tiếp giấu thông tin bằng lập modul-pha (phase-moduling) cho tín

hiệu dữ liệu (vật mang - carrier) bằng một dãy số giả ngẫu nhiên mà cả người gửi và người nhận đều biết được. Kỹ thuật nhảy tần (frequency hopping) chia băng thông thành nhiều kênh và bước nhảy giữa các kênh này (cũng được kích hoạt bởi một dãy số giả ngẫu nhiên).

- Kỹ thuật giấu tin trong tiếng vang - echo hiding: là một dạng giấu thông tin, là một phương pháp để nhúng thông tin vào trong một tín hiệu âm thanh. Đây là một phương pháp giấu tin mạnh, khi không làm suy giảm tín hiệu chính (cover audio) về mặt nhận thức. Phương pháp này chủ yếu thực hiện các thay đổi đối với cover audio trên các đặc tính liên quan đến điều kiện môi trường và không liên quan đến độ nhiễu ngẫu nhiên (random noise), vì vậy nó mạnh mẽ hơn trong những giải thuật nén dữ liệu có mất mát thông tin.

Giống như tất cả các phương pháp giấu tin tốt khác, echo hiding tìm các dữ liệu của nó để trong luồng dữ liệu sao cho ít suy hao luồng dữ liệu gốc nhất, tức là sự thay đổi bên trong cover audio hoặc không thể nhận thức được hoặc chỉ đơn giản được người nghe bỏ qua giống như đối với các độ méo (distortion) khác gây ra bởi môi trường.

Độ méo nhất định chúng ta đang đề cập tới là tương tự với các tiếng vàn vọng trong một căn phòng kín có tường bao và đồ đạc…Sự khác biệt giữa âm thanh số gốc

(cover audio) và âm thanh số đã giấu tin mật (stego-audio) tương tự như sự khác biệt

giữa việc nghe một đĩa nén bằng headphone với âm thanh được ghi lại. Với các speaker, chúng ta nghe thấy âm thanh cộng với tiếng vang được tạo ra bởi âm học trong phòng (room acoustic). Bằng cách lựa chọn chính xác độ méo cho echo hiding,

chúng ta có thể làm cho các độ méo không thể phân biệt được những độ méo mà một căn phòng có thể tạo ra trong trường hợp của speaker ở trên.

Nhận xét:

Qua những phần đã trình bày trên, có thể thấy các kỹ thuật giấu tin trong âm

Một phần của tài liệu phối hợp các phương pháp nén thông tin, mã hoá thông tin, giấu thông tin để xây dựng ứng dụng giấu tin (Trang 32 - 75)