2. Các phương pháp mã hoá
2.1 Phương pháp nhúng thủy vân thay thể chuỗi bit sau CAVLC
Ở phương pháp nhúng thủy vân trong khối CAVLC sẽ thực hiện thủy vân số trực tiếp lên chuỗi bit mà không phải giải mã video hay phải giải nén một phần video. Thuật
toán này sẽ tạo ra một "ngoại lệ" trong không gian mã H.264/H.265 mà chỉ có bộ giải mã hiểu trong khi kích thước chuỗi bit vẫn được bảo toàn. Không gian mã này sẽ được định nghĩa qua kĩ thuật CAVLC. Do trong thực tế đa số không gian mã của H.264/H.265 không được sử dụng hết nên bộ nhúng thủy vân có thể ánh xạ các khối CAVLC thích hợp tới các vị trí không dùng tới của không gian mã H.264/H.265. Một khóa bí mật được chia sẻ giữa bộ nhúng và giải mã sẽ đảm bảo tính bảo mật. Chuỗi bit sau khi nhúng thủy vân sẽ vẫn giữ nguyên kích thước và trong suốt, đảm bảo tránh được việc bị giả mạo hay dịch ngược vì dấu thủy vân được nhúng sau quá trình nén nên nó rất dễ vỡ nếu bị mã hóa lại [39]. Ý tưởng của mô hình giấu tin trong phương pháp này là sẽ tiến hành thay thế chuỗi bit sau mã hóa CAVLC. Hình 4.23 dưới đây mô tả sơ đồ nhúng thủy vân.
Quá trình thực hiện nhúng thủy vân theo sơ đồ trên hình 4.23 như sau: Với đầu vào là video nén theo chuẩn H.264/H.265. Các video đầu vào này sẽ được mã hóa entropy theo phương pháp CAVLC và đi qua bộ sinh dấu thủy vân. Quá trình tiền xử lý này sẽ trả về một tập siêu dữ liệu dùng để nhúng ở bước tiếp theo và một tập siêu dữ liệu dùng để phát hiện dấu thủy vân. Các siêu dữ liệu dùng để nhúng là vị trí các khối dữ liệu có thể thay thế trong chuỗi bit và các giá trị thay thế tương ứng. Với mỗi vị trí sẽ có nhiều giá trị tương ứng để thay thế dữ liệu gốc. Đồng thời một gói tin đi qua bộ mã hóa sẽ được dùng để xác định trong số các giá trị thay thế giá trị nào sẽ được lựa chọn để thực hiện việc nhúng. Sau đó bộ nhúng thay thế sẽ sử dụng gói tin đã được mã hóa chọn ra các tổ hợp mã thích hợp dựa vào siêu dữ liệu và thực hiện việc thay thế. Bước khó nhất của thuật toán nằm ở việc sinh ra các siêu dữ liệu hợp lệ (phải tuân theo đúng chuẩn mã hóa entropy và chuẩn nén), các siêu dữ liệu này phải có khả năng nhúng được một gói tin và đảm bảo được tính chính xác yêu cầu về giấu tin.
Nhận xét: Có thể nhận thấy rằng phương pháp giấu tin này có những ưu điểm và nhược điểm sau:
- Ưu điểm: Độ phức tạp tính.
- Nhược điểm: Bước tiền xử lý tạo ra các siêu dữ liệu phức tạp. Có thể gây ra va chạm
+ Chuỗi CAVLC sau khi được nhúng thủy vân có thể vô tình trùng khớp với một chuỗi CAVLC khác đã xuất hiện trong chuỗi bit được sử dụng. Trong trường hợp này chuỗi được nhúng thủy vân và chuỗi chưa được nhúng sẽ không thể phân biệt được dẫn đến việc khó tách tin
+ Hai chuỗi CAVLC được nhúng thủy vân cùng trùng với một chuỗi CAVLC khác dù chuỗi đó chưa được sử dụng. Việc khôi phục không tổn hao dấu thủy vân sẽ rất khó trong trường hợp này do chuỗi CAVLC có thể có nhiều chuỗi gốc ánh xạ tới. Ví dụ với chuỗi {7, 3, -1, -1, 1, 2, -2, 7, -8} có thể có chuỗi gốc là {7 0 -2 -1 1 ...} hoặc {7 1 -1 -2 1...}.