2. Các phương pháp mã hoá
2.2 Phương pháp nhúng thuỷ vân trong chế độ dự đoán nội khung và liên khung
liên khung
Với phương pháp nhúng thủy vân trong các nội khung và liên khung có khác nhau giữa H264 và H265 vì có chế độ dự đoán khung hình khác nhau. Tuy nhiên về cơ bản ý tưởng và cách làm là giống nhau. Trong thuật toán này sẽ thực hiện nhúng thủy vân trên cả nội khung và liên khung bằng cách sử dụng các hệ số biến đổi khác 0 QTCs (Quantum Transform Coefficient- Hệ số biến đổi).
Lưu ý rằng: Thực hiện nhúng thủy vân trên miền không gian có thể gây ra mất mát bởi các khung hình video sau khi bị lượng tử hóa đã bị tổn hao dữ liệu. Trong miền tần số nhúng thủy vân thường được thực hiện trong các QTC. Sự khác biệt trong thuật toán này là việc nhúng thủy vân được thực hiện cả trên các khung inter của H.264/H.265 và chỉ nhúng dữ liệu vào các QTC phù hợp với một số điều kiện, các điều kiện này phụ thuộc vào số lượng các bit thủy vân (WMBits) được nhúng.
Quy trình thực hiện như sau:
- Vị trí tách: tách thủy vân sẽ được thực hiện trên các hệ số QTCs trước khi trải qua quá trình mã hóa entropy.
- Quá trình thực hiện: thực hiện tách thủy vân số bằng các hệ số QTC của AC (các hệ số này cần khác 0 và nên lớn hơn 1) theo công thức:
𝑌
𝑊= 𝑓 𝑌, 𝑊, 𝐾( [ ])
trong đó f() là quá trình tách thủy vân, Y là khung video cần đã nhúng, W là dấu thủy vân và K là khóa (K không bắt buộc).
Dựa trên những phân tích về quy trình giấu tin có thể nhận thấy rằng phương pháp giấu tin trong chuẩn H264/H265 dựa trên chế độ dự đoán nội khung và liên khung có những ưu điểm nhất định như: i) Độ phức tạp tính toán thấp ở bước nhúng đơn gian. Đồng thời ính xác thực cao. Ngoài ra phương pháp này cũng có nhược điểm là độ an toàn của phương pháp là không đủ cao do sử dụng thuật toán giấu tin đơn giản nên nếu bị kẻ tấn công tìm được quy luật giấu tin thì thông tin dễ bị lộ.
2.3.Phương pháp nhúng thủy vân trước khi mã hóa entropy
Hình 4.24 dưới đây mô tả phương pháp giấu tin trong chuẩn H264/H265 trước khi thực hiện mã hóa entropy.
-+ + Phần dư Đảo Có Khôngg
Hình 4.24. So đồ nhúng thủy vân trước khi mã hóa Entropy trong sơ đồ mã hóa video theo chuẩn H264/H265
Từquy trình trên thấy được quá trình giấu tin trong chuẩn H264/H265 như sau:
Bước 1: Từ video gốc tách thành các khung, lấy khung đầu tiên để mã hóa. Lúc này sẽ có các tình huống xảy ra:
- Nếu khung được chọn đã là khung IDR (Instantaneous Decoder Refresh) thì đi thẳng vào quá trình biến đổi ICT và lượng tử hóa. Khung IDR là 1 loại khung I đặc biệt trong H.264/H.265. Vì các ảnh P trong H.264 và H265 sử dụng nhiều khung tham khảo, nên quá trình dùng bộ đệm để nhớ các ảnh tham khảo cần được thống nhất để tối ưu về tốc độ cũng như bộ nhớ cho quá trình mã hóa. Khung IDR được sinh ra là để làm nhiệm vụ này. Mỗi khi bộ mã hóa gặp khung IDR, chúng sẽ ngăn không cho các ảnh P tham khảo các ảnh I trước khung IDR đó. Và bộ đệm của các ảnh tham khảo sẽ được loại bỏ để tiếp tục lưu trữ các ảnh tham khảo khác.
- Nếu khung được chọn không phải là khung IDR thì nó sẽ phải đi qua các giai đoạn tiền xử lý. Quy trình và thành phần các giai đoạn tiền xử lý được trình bày như sau:
Giai đoạn 1:Khung được chọn sẽ được xử lý đồng thời bởi 2 kỹ thuật: - Dự đoán chuyển động: Trong chuẩn H264, các khối MB với kích thước 16x16 được chia nhỏ thành các khối con nhỏ hơn. Còn trong H.265 các khối MB này nhỏ hơn, có kích thước 4x4, ảnh được dự đoán chính xác hơn, chuyển động mượt hơn so với H.264. Sau khi khung hình được chọn qua quá trình dự đoán
chuyển động sẽ được xử lý tiếp bằng kỹ thuật bù chuyển động. Nguyên tắc bù chuyển động của chuẩn H264 và H265 đã được trình bày ở trên.
- Nội suy: Chi tiết quá trình nội suy trong H264 và H265 đã được trình bày trong mục 4.3.1 và 4.3.2 của giáo trình.
Giai đoạn 2: Tổng hợp: Đây là giai đoạn khung ảnh được lựa chọn sẽ (có thể là ảnh sau khi đã được bù chuyển động hoặc ảnh đã được dự đoán nội suy) và khung ảnh hiện tại sẽ đi vào kỹ thuật tổng hợp để tính ra phần dư (sai khác). Phần dư này được tính bằng hiệu của khung ảnh hiện tại và khung ảnh được dự đoán.
Bước 2: Biến đổi IDCT: Biến đổi IDCT (InDCT) là kỹ thuật biến đổi nguyên được thực hiện trên các khối 4x4 sau khi được dự đoán bù chuyển động hoặc dự đoán nội suy. Trong chương 2 của giáo trình đã trình bày chi tiết về DCT và InDCT.
Bước 3: Lượng tử hóa: Trong các nội dung trước của giáo trình đã trình bày chi tiết quá trình lượng tử hóa này. Đối với chuẩn H264/H265 thì quá trình lượng tử hóa cũng diễn ra tương tự như các chuẩn khác.
Bước 4: Giấu tin: Để giấu thông tin vào trong video cần phải thực hiện
nhiều giai đoạn kiểm tra và tiền xử lý dữ liệu. Các giai đoạn cần thực hiện trong quá trình giấu tin vào trong video được thực hiện lần lượt như sau:
Giai đoạn 1: xác định vị trí giấu tin: Trong nội dung này, giáo trình áp dụng mô hình giấu tin sau khi đã được lượng tử hóa như mô tả trong hình 4.24. Để giấu tin vào video theo chuẩn H264/265 cần thực hiện nhiều biện pháp và kỹ thuật xử lý. Đầu tiên cần kiểm tra định dang thông tin cần giấu là văn bản hay ảnh. Hình 4.25 mô tả quy trình phát hiện định dạng thông tin cần giấu.
Hình 4.25: Kiểm tra định dạng thông tin cần giấu
Như vậy, với thông tin cần nhúng nhập vào, hệ thống giấu tin sẽ kiểm tra định dạng của thông tin cần giấu. Quá trình kiểm tra định dạng này giúp cho việc xác định vị trí giấu tin về sau. Song song với quá trình kiểm tra định dạng, hệ thống giấu tin cũng cần kiểm tra và so sánh giữa thông tin cần giấu và khung ảnh vật chứa. Nếu số lượng thông tin cần giấu quá dài và một khung ảnh không thể chứa hết thì hệ thống sẽ tính toán để lựa chọ các khung tiếp theo để chứa thông tin. Cách thức giấu tin vào video chuẩn H264/H265 như sau:
Đối với dạng hình ảnh: Xác định đường chéo chính. Đường chéo chính
được thể hiện như hình 4.26. Mỗi khối con có 16 hệ số. Thông tin cần giấu được giấu ở hệ số vị trí thứ 10 hoặc 15. Nếu số lượng bit cần dấu là lẻ thì nhúng ở vị trí 10. Nếu số lượng bit cần dấu là chẵn thì nhúng ở vị trí 15.
Đối với dạng văn bản: Xác định đường chéo ab. Đường chéo ab được thể
số vị trí thứ 10 hoặc 15. Nếu số lượng bit cần dấu là lẻ: thì nhúng ở vị trí 10. Nếu số lượng bit cần dấu là chẵn: thì nhúng ở vị trí 15.
Hình 4. 26. Xác định vị trí cần giấu với đường chéo chính / đường chéo ab
Giai đoạn 2: kỹ thuật giấu tin: Sau khi đã xác định được định dạng thông tin cần giấu và lựa chọn được vị trí cần giấu. Tiếp theo cần thực hiện kỹ thuật để giấu thông tin vào các vị trí đã được lựa chọn đó. Quy trình giấu thông tin vào trong video được thể hiện như hình 4.27. Quy trình giấu tin vào vị trí đã được lựa chọn thực hiện theo thứ tự là: Đầu tiên hệ thống sẽ tính số lượng bit cần giấu, giả sử thông tin cần giấu là N bit. Sau đó lưu N bit này vào mảng Wn gồm N byte. Tiếp theo sẽ kiểm tra bit cần giấu hiện tại đang là bit 0 hay bit 1. Nếu bit cần giấu đang là bit 0 thì sẽ lưu 0 vàoWn. Nếu bit cần giấu là 1 sẽ lưu vào Wn số ngẫu nhiên X có giá trị bằng roundup(Qstep) với Qstep là giá trị tương ứng với bước nhảy QP tại block 4x4 hiện tại. Sau khi có mảng Wn gồmNphần tử, mỗi phần tử gồm 8 bit. Tiếp tục xét:
- Nếu giá trị Wn[i] > 0 (tức bit cần giấu là 1): sẽ tính giá trị lượng tử của hệ số Wn[i] này với QP. Trong đó giá trị QP bằng với giá trị QP của hàm lượng tử block 4x4 đó. Sau đó, thay thế hệ số AC ở vị trí đã chọn bằng giá trị lớn nhất của Q(Wn[i]) và │Q(Y[u, v]), nếu giá trị Q(Y[u, v]) được lựa chọn thì khi thay thế vào hệ số AC phải giữ nguyên.
- Nếu giá trị Wn[i] = 0 (tức là bit cần giấu là 0): thay hệ số AC ở vị trí đã chọn bằng 0.
Hình 4.27: Quy trình giấu tin vào các vị trí đã lựa chọn
Bước 5: Mã hóa Entropy. Sau khi được lượng tử hóa, kết quả sẽ được đưa vào mã hóa Entropy. Một số phương pháp được sử dụng trong mã hóa Entropy được trình bày trong mục 4.3.1 và 4.3.2 của giáo trình. Ưu điểm và nhược điểm của kỹ thuật giấu tin theo phương pháp này như sau:
- Ưu điểm :Độ an toàn của phương pháp là cao do sử dụng thuật toán giấu tin phức tạp nên kẻ tấn công khó tìm được quy luật giấu tin. Đồng thời phương pháp này cũng đảm bảo khả năng xác thực.
- Nhược điểm : Một nhược điểm của phương pháp là sự phức tạp của thuật toán nhúng thủy vân tăng lên rất nhiều. Dẫn đến việc tách tin cũng trở nên khó khăn hơn và ta cũng cần các thiết bị hiện đại và
dung lượng lớn hơn mới đảm bảo sự chính xác khi thực hiện thuật toán.