Phase Coding

Information

Abstract

Giấu tin

Cornell

  • Có những bước chính nào
  • Input output của DFT
  • chỉ giấu vào đoạn đầu tiên, các đoạn sau đó thì chỉnh theo Δ giữa các pha để tránh bị lộ.

Main concept: QUY TRÌNH GIẤU TIN

Key points:

  1. Chia đoạn âm thanh thành các đoạn bằng nhau có chiều dài đủ để giấu message.
    • Chia thành các đoạn sao cho Mỗi đoạn âm thanh có S mẫu, S>lenmes [1]
  2. Biến đổi DFT cho từng đoạn [2]. Mỗi đoạn thì phân tích ra được: ma trận biên độ (A) và ma trận pha.
    • DFT thì phân tích đoạn âm thanh (A.Cos...) thành các tần số cấu thành nó, mỗi tần số thì nó cũng có một công thức same same sóng. Nên là nó có được biên độ và pha của tần số đó.
    • Mỗi đoạn âm thanh có S mẫu -> DFT cho S mẫu đó thì ra được vector (vector X có S hoặc S/2 phần tử [3])
  3. Thay đổi giá trị pha để giấu tin (chỉ giấu ở đoạn đầu tiên):
    - Nếu bit cần giấu là 0, Phasenew=π2.
    - Nếu bit cần giấu là 1, Phasenew=π2.
  4. Tạo ma trận pha mới: Điều chỉnh các đoạn sau đó sao cho độ lệch pha ko bị thay đổi → tránh bị phát hiện
  5. Kết hợp cường độ pha: Ghép pha vừa đổi với ma trận cường độ ban đầu
  6. Ghép các đoạn vào với nhau sau khi IDFT để đưa tín hiệu âm thanh về miền thời như ban đầu.
    • Mỗi đoạn âm thanh (dài S mẫu) được xử lý IDFT riêng, rồi ghép lại thành tín hiệu dài N.

Links: Phase coding - Cách chia đoạn âm thanhCơ bản về âm thanh, Fourier

Tách tin

Cornell

  • Câu hỏi review chính?
  • Keywords để nhớ?
  • Điểm cần kiểm tra lại?

Main concept: QUY TRÌNH TÁCH TIN

Key points:

  • Lấy đoạn đầu tiên của âm thanh.
  • Thực hiện DFT để lấy pha ϕ[k].
  • So sánh pha ở đoạn đầu tiên của âm thanh với quy ước (π2 π2) để lấy bit.
  • Tái tạo thông điệp (ví dụ, chuỗi bit "01001100" thành ký tự ASCII).

Links:

Nội dung

Phương pháp mã hóa pha là một kỹ thuật giấu tin trong âm thanh dựa trên đặc điểm tai người không thể phân biệt được sự khác nhau về pha của hai tín hiệu âm thanh. Việc giấu tin được thực hiện bằng cách thay thế một đoạn âm thanh ban đầu bằng một pha tham chiếu biểu thị dữ liệu, đồng thời điều chỉnh pha của các đoạn tiếp theo để đảm bảo độ chênh lệch pha giữa các đoạn không đổi.

Các thuật ngữ cơ bản

Công thức sóng & pha

Để hiểu về công thức âm thanh x(t)=Acos(2πft+ϕ) và tác động của pha, cũng như sự chênh lệch pha giữa hai bản âm thanh, chúng ta cần xem xét các yếu tố cấu thành và cách chúng tương tác trong phương pháp mã hóa pha.

1. Giải thích công thức âm thanh x(t)=Acos(2πft+ϕ) Trong công thức biểu diễn tín hiệu sóng hình sin cơ bản này:

2. Tác động của pha (ϕ) Thuật ngữ "pha" được hiểu theo nghĩa tham chiếu đến một tín hiệu khác. Ví dụ, nếu lấy tín hiệu Acos(2πft) làm tham chiếu, thì tín hiệu x(t)=Acos(2πft+ϕ) có pha là ϕ. Tương tự, tín hiệu y(t)=Asin(2πft+ϕ) có thể được viết lại thành Acos(2πft+ϕπ/2), cho thấy pha của nó là ϕπ/2 so với cùng một tham chiếu.

Trong phương pháp mã hóa pha để giấu tin, mỗi dữ liệu được coi là một dịch pha (phase shift) trong phổ pha của tín hiệu sóng mang. Cụ thể, việc điều chỉnh pha được thực hiện để giấu thông tin:

3. Sự chênh lệch pha giữa hai bản âm thanh (hoặc các đoạn âm thanh) Trong quy trình giấu tin bằng mã hóa pha, dữ liệu âm thanh gốc được chia thành nhiều đoạn. Sau đó, phép biến đổi Fourier rời rạc (DFT) được áp dụng cho mỗi đoạn để thu được ma trận độ lớn pha ϕj[ωk] và ma trận độ lớn tín hiệu Aj[ωk].

Độ lệch pha giữa các đoạn kề nhau là một yếu tố quan trọng và được tính bằng công thức: Δϕj[ωk]=ϕj+1[ωk]ϕj[ωk] Việc tính toán này nhằm đảm bảo rằng sự khác biệt giữa các pha không quá lớn sau khi các biến đổi được thực hiện. Sau khi điều chỉnh pha của đoạn đầu tiên để giấu bit thông tin, một ma trận pha mới sẽ được tạo ra, thỏa mãn điều kiện căn chỉnh lại độ chênh lệch đã tính toán: ϕj+1[ωk]=ϕ[ωk]+Δϕj+1[ωk] Sự tồn tại của cặp ϕj+1[ωk]ϕ[ωk] thỏa mãn công thức này là do phép biến đổi Fourier rời rạc có tính đầy đủ. Sau đó, pha mới này được kết hợp với cường độ pha của tín hiệu cũ sau khi đã giấu thông tin để tái tạo lại ma trận pha của các đoạn kề nhau.

Tóm lại, pha trong tín hiệu âm thanh là một tham số quan trọng có thể được điều chỉnh để giấu thông tin. Sự chênh lệch pha giữa các đoạn âm thanh được tính toán và duy trì để đảm bảo rằng thông tin giấu được tích hợp một cách khó phát hiện và có thể phục hồi.

Biến đổi DFT (Fourier)

Trong phương pháp mã hóa pha để giấu tin trong âm thanh, biến đổi Fourier rời rạc (DFT) đóng một vai trò trung tâm và có tác dụng vô cùng quan trọng [28, 33.3.1, 33.3.2].

1. Tác dụng của biến đổi Fourier (cụ thể là DFT) cho mã hóa pha:

Biến đổi Fourier nói chung và DFT nói riêng có tác dụng chuyển đổi tín hiệu âm thanh từ miền thời gian sang miền tần số [33.3.1]. Trong miền tần số, tín hiệu được biểu diễn bởi các thành phần tần số khác nhau, mỗi thành phần có một độ lớn (biên độ) và một pha [33.3.1]. Điều này rất quan trọng đối với mã hóa pha vì:

2. Biến đổi Fourier rời rạc (DFT) được thực hiện như thế nào và tác dụng trong mã hóa pha:

Cách DFT hoạt động (ví dụ cụ thể biến đổi):

Trong quy trình giấu tin bằng mã hóa pha, DFT được thực hiện như sau:

  1. Chia dữ liệu âm thanh: Dữ liệu âm thanh gốc có chiều dài N được chia thành nhiều đoạn nhỏ có chiều dài bằng với thông tin cần giấu [28, 33.3.2].
  2. Áp dụng DFT: Mỗi đoạn âm thanh sau khi chia sẽ được biến đổi bằng phép biến đổi Fourier rời rạc (DFT) [28, 33.3.2].
    • Kết quả của bước này là ma trận độ lớn tín hiệu Aj[ωk]ma trận độ lớn pha ϕj[ωk] (Hình 3.8) [28, 33.3.2].
    • Độ lớn tín hiệu được tính bằng công thức: Ai(k)=Re[Fci(k)]2+Im[Fci(k)]2 [33.3.1].
    • Ma trận độ lớn pha được tính bằng công thức: ϕi(k)=arctanIm[Fci(k)]Re[Fci(k)] [33.3.1].
    • Lưu ý: Nguồn tài liệu mô tả kết quả của việc áp dụng DFT lên từng đoạn âm thanh dưới dạng các ma trận độ lớn và pha, nhưng không cung cấp một ví dụ số học cụ thể cho quá trình biến đổi DFT từng bước [28, 33.3.1, 33.3.2].

Tác dụng cụ thể của DFT trong mã hóa pha:

Quy trình giấu tin trong âm thanh bằng phương pháp mã hóa pha

diễn ra qua các bước sau:

  1. Chia dữ liệu âm thanh: Dữ liệu âm thanh gốc có chiều dài N được chia thành nhiều đoạn có chiều dài bằng với thông tin cần giấu (Hình 3.7).
  2. Biến đổi Fourier: Mỗi đoạn âm thanh sau khi chia sẽ được biến đổi bằng phép biến đổi Fourier rời rạc (DFT). Kết quả của bước này là ma trận độ lớn pha Aj[ωk] và ma trận độ lớn tín hiệu ϕj[ωk] (Hình 3.8).
    • Độ lớn tín hiệu được tính bằng công thức: Ai(k)=Re[Fci(k)]2+Im[Fcj(k)]2.
    • Ma trận độ lớn pha được tính bằng công thức: ϕi(k)=arctanIm[Fci(k)]Re[Fci(k)].
  3. Tính độ lệch pha: Tính độ lệch pha giữa các đoạn kề nhau để đảm bảo sự khác biệt giữa các pha không quá lớn sau khi biến đổi. Độ lệch pha được tính bằng công thức: Δϕj[ωk]=ϕj+1[ωk]ϕj[ωk].
  4. Điều chỉnh pha: Giá trị pha của đoạn đầu tiên sẽ được điều chỉnh dựa trên bit cần giấu. Thông tin giấu chỉ được phép giấu trong vector pha của đoạn đầu tiên (Hình 3.9).
    • Nếu bit cần giấu là 0, Phasenew=π2.
    • Nếu bit cần giấu là 1, Phasenew=π2.
  5. Tạo ma trận pha mới: Tiến hành tạo ma trận pha mới thỏa mãn để căn chỉnh lại độ chênh lệch đã tính ở bước 3. Ma trận pha mới thỏa mãn điều kiện: ϕj+1[ωk]=ϕ[ωk]+Δϕj+1[ωk] (Hình 3.10).
  6. Kết hợp cường độ pha: Kết hợp pha mới với cường độ pha của tín hiệu cũ sau khi giấu thông tin để tái tạo lại ma trận pha của các đoạn kề nhau (Hình 3.11).
  7. Ghép các đoạn và DFT ngược: Thực hiện ghép các đoạn lại và biến đổi Fourier rời rạc ngược (IDFT) để tạo lại dữ liệu âm thanh chứa tin đã giấu.
    • Mỗi đoạn âm thanh (dài S mẫu) được xử lý IDFT riêng, rồi ghép lại thành tín hiệu dài N.
    • Vì chỉ pha thay đổi (biên độ giữ nguyên), x[n]x[n]x[n] nghe gần giống tín hiệu gốc, nhưng có thông điệp ẩn trong pha.

Ưu và nhược điểm của phương pháp mã hóa pha:

Để khắc phục một số nhược điểm, các nghiên cứu gần đây đã đề xuất sử dụng thuật toán Fast Fourier Transform (FFT) thay vì DFT truyền thống để tối ưu hóa thời gian, giảm độ phức tạp từ O(N2) xuống O(N log N) với điều kiện N phải có dạng 2x.

Ref


  1. Xem cách chia đoạn âm thanh tại Phase coding - Cách chia đoạn âm thanh ↩︎

  2. Tại sao lại có bước này: Phase Coding#^dft-why ↩︎

  3. Xem ví dụ về input, output của DFT trên đoạn âm thanh Cơ bản về âm thanh, Fourier#Ví dụ đơn giản về đoạn âm thanh và DFT ↩︎