Cấu trúc H.265/HEVC

Một phần của tài liệu BÁO CÁO BÀI TẬP LỚN MÔN: CÁC KỸ THUẬT GIẤU TIN Đề tài: Giấu tin trong video chuẩn H.264H.265 (Trang 32 - 41)

Cấu trúc của H265/HEVC bao gồm các thành phần như sau:

Dự đoán nội suy

Chế độ dự đoán nội khung khai thác mối tương quan về không gian của các pixels. Các pixel trong khối hiên tại được dự đoán bằng cách sử dụng pixel của các khối bên cạnh. Quá trình lựa chọn chế độ dự đoán nội khung phải làm

sao làm cho tỉ lệ biến dạng (rate-distortion) nhỏ nhất, việc này làm được nhờ mô hình tối ưu Lagrangian rate-distortion. Trong H.264/AVC, có tất cả 9 chế độ dự đoán nội khung cho các khối 4x4, còn H.265/HEVC đã điều chỉnh, mở rộng chế độ dự đoán ra thành 35 chế độ. Việc tăng chế độ này giúp việc dự đoán chính xác hơn và giảm sự thừa thãi dữ liệu về mặt không gian.

Tất cả các chế độ dự đoán nội khung HEVC sử dụng các khối tham chiếu từ các khối được tái tạo liền kề. Vì việc tái tạo được thực hiện ở mức độ chi tiết của khối biến đổi, nên dự đoán nội khung cũng được vận hành ở kích thước khối biến đổi đã chọn trong khoảng từ 4x4 đến 32x32. HEVC cho phép sử dụng tất cả các chế độ dự đoán đã xác định cho tất cả các kích thước khối. Do số lượng rất lớn kích thước khối khác nhau - chế độ dự đoán kết hợp tất cả các chế độ dự đoán đã được thiết kế theo cách cho phép dễ dàng triển khai thuật toán cho các kích thước khối tùy ý và hướng dự đoán. Tuy nhiên, những tính toán trong dự đoán nội khung trong H.265/HEVC phức tạp hơn nhiều. Có 3 phương pháp dự đoán nội suy chính trong HEVC bao gồm: Dự đoán nội suy định hướng hay còn gọi là phương pháp dự đoán góc (angular prediction) hoặc Dự đoán phẳng (DC prediction), dự đoán Planar.

o Chế độ dự đoán góc:Chế độ dự đoán góc trong HEVC được thiết kế để mô hình hóa hiệu quả các cấu trúc hướng khác nhau thường xuất hiện trong nội dung video và hình ảnh. Tập hợp các hướng dự đoán có sẵn đã được chọn để mang lại sự cân bằng tốt giữa độ phức tạp của mã hóa và hiệu quả mã hóa cho tài liệu video điển hình. Bản thân quá trình dự đoán mẫu được thiết kế để có yêu cầu tính toán thấp và nhất quán trên các kích thước khối và hướng dự đoán khác nhau. Điều này được nhận thấy là đặc biệt quan trọng vì số lượng kích thước khối và hướng dự đoán được hỗ trợ bởi mã nội khung HEVC vượt xa so với các chế độ mã hóa trước đó, chẳng hạn như H.264 / AVC. Trong HEVC có bốn kích thước khối dự đoán nội khung hiệu quả, từ khối 4x4 đến 32x32, mỗi khối hỗ trợ 33 hướng dự đoán riêng biệt, với độ chính xác là 1/32 mẫu. Do đó,

một bộ giải mã phải hỗ trợ 132 tổ hợp kích thước khối và hướng dự đoán.

o Chế độ dự đoán DC: Trong trường hợp dự đoán DC, các giá trị mẫu dự đoán được điền với một giá trị không đổi đại diện cho giá trị trung bình của các mẫu tham chiếu ngay bên trái và phía trên của khối được dự đoán. Các khối độ sáng dự đoán DC có kích thước 16x16 trở xuống trải qua quá trình lọc ánh sáng để làm mềm các cạnh bên trái và bên trên của khối đang được dự đoán.

o Chế độ dự đoán Planar:Trong khi dự đoán góc cung cấp các giá trị gần đúng tốt cho các cấu trúc có các cạnh đáng kể, nó có thể tạo ra một số đường viền có thể nhìn thấy được trong các vùng ảnh mịn. Tương tự, một số tắc nghẽn thường có thể được quan sát thấy trong các khu vực hình ảnh mịn khi áp dụng dự đoán DC ở tốc độ bit thấp hoặc trung bình. Dự đoán Planar của HEVC được thiết kế để khắc phục những vấn đề này bằng cách có khả năng tạo bề mặt dự đoán mà không có sự gián đoạn trên ranh giới khối, làm mịn các khối cứng nhắc quan sát được khi chế độ dự đoán DC được áp dụng hoặc video có tốc độ bit thấp hơn. Phương pháp dự đoán planar là để dự đoán ra một bề mặt mà không làm ngắt quãng các ranh giới. Để lựa chọn chế độ dự đoán phù hợp và hiệu quả từ 35 chế độ dự đoán, HEVC sử dụng mô hình tối ưu hóa. Các công thức tính toán được tính theo công thức dưới đây:

J(s,c,IMODE|QP,MODE) = D(s,c,IMODE|QP) + MODE. R(s,c,IMODE|QP);

Trong đó QP là tham số lượng tử hóa và λMODE là hệ số nhân Lagrange; s và c đại diện cho khối ban đầu và khối xây dựng lại tương ứng; R là tốc độ bit và D là tỷ lệ biến dạng.

Dự đoán ngoại suy (liên khung)

Dự đoán ngoại suy là việc dự đoán phụ thuộc vào các yếu tố như là giá trị mẫu hoặc vector chuyển động (độ dịch chuyển giữa 2 CU) của các bức ảnh khác.

Các khung hình trước đó đã được giải mã sẽ được lưu lại và sử dụng cho việc dự đoán ngoại suy. Bởi vì một khối pixel trong một khung ảnh thường rất giống với một khối pixel trong cùng một vị trí của khung ảnh khác. Ví dụ một vật chuyển động trong một video, hình ảnh của nó là như nhau nhưng nó lại ở những vị trí mới khi di chuyển từ ảnh này sang ảnh khác vì vậy bộ giải mã có thể dự đoán chính xác vật chuyển động nếu nó có hình ảnh trước đó và một vector chuyển động. Do đó dự đoán ngoại suy là một khối quá trình lựa chọn các khối ứng viên phù hợp nhất và vector chuyển động liên quan của nó. Dự đoán ngoại suy trong H265 về cơ bản giống H264 gồm quá trình dự đoán chuyển động và bù chuyển động nhưng nó được cải tiến mới hai kỹ thuật đó là: Kỹ thuật dự đoán vector chuyển động nâng cao AMVP (Advance Motion Vector Prediction) và Kỹ thuật mới thứ hai là hợp nhất khối dự đoán ngoại suy, trong đó khối ứng viên thay thế hoàn toàn khối hiện thời.

Hình 4.20. Quá trình dự đoán liên khung

o Dự đoán vector chuyển động tiên tiến AMVP là quá trình cải tiến về việc tạo ra vector chuyển động giúp cho việc dự đoán vector chuyển động nhanh và chính xác hơn. Dự đoán vector chuyển động được sử dụng để có được dự đoán vector bù chuyển động (MCP –

Motion Compensated Prediction). Bởi vì một đối tượng chuyển động thì đối tượng này thường lớn hơn một khối nên đối tượng đang chuyển động có thẻ coi là một nhóm các khối lân cận đang chuyển động. Vì vậy vector chuyển động của khối hiện tại thường gần giống với khối liền kề của nó hay vector dự đoán chuyển động MVP (Motion Vector Prediction) thường được tạo ra từ các khối liền kề trong không gian. Dự đoán vector chuyển động khai thác mối tương quan không gian và thời gian về vector chuyển động của các PU lân cận. AMVP tạo ra danh sách vector ứng viên bao gồm: + Ứng viên bên trái A1, ứng viên phía dưới bên trái A0

+ Ứng viên bên trên B1, ứng viên bên phải B0 và ứng viên bên trái B2 + Ứng viên tạm thời C0 và C1 là vector chuyển động của khối cùng vị trí với khối hiện tại nhưng của ảnh trước.

Những ứng viên này nếu được mã hóa là dự đoán nội suy thì sẽ bị loại. Sau khi loại bỏ danh sách theo thứ tự khả năng chính xác danh sách ứng viên chính thức có hai vector chuyển động là một hoặc hai ứng viên không gian, một trong những ứng viên thời gian. Nếu hai ứng viên không gian giống nhau hoặc không có sẵn sẽ bị loại bỏ.

o Hợp nhất khối dự đoán ngoại suy là kỹ thuật tập hợp tất cả các khối lân cận có cùng thông tin chuyển động giúp cho xử lý giải mã nhanh hơn và hình ảnh sẽ mượt mà hơn ở ranh giới khối. Quá trình sáp nhập có nét tương đồng với AMVP. Bước đầu tiên là lựa chọn danh sách ứng viên phù hợp nhất sau đó truyền những chỉ số xác định ứng viên tới bộ giải mã. Thành phần ứng viên hợp nhất phải chứa tất cả các dữ liệu chuyển động có tất cả các thông tin dự đoán trong khi danh sách vector ứng viên chuyển động chỉ có các vector chuyển động.

Bù chuyển động là giai đoạn quan trọng trong việc nén video để giảm dư thừa về thời gian dựa vào mối tương quan giữa các khung hình liền nhau. Bù chuyển động bao gồm xây dựng khung dự đoán video hiện tại từ một hoặc nhiều khung được mã hóa trước đó được gọi là khung tham chiếu bằng cách bù chênh lệch giữa khung hiện tại và khung tham chiếu. Thông tin liên quan đến vector chuyển động (mô tả cách thức chuyển động được bù) và phần dư từ các khung hình trước đó được mã hóa và gửi đến bộ giải mã. Phương pháp bù chuyển động được áp dụng trong H265 là kỹ thuật so sánh khối dùng thuật toán BMA (Block Matching Algorithm) tương tự như H264. Do H265 sử dụng các khối CTU để nén nên việc tìm kiếm toàn bộ này sẽ tốn rất nhiều thời gian để tính toán nên một số thuật toán dự đoán nhanh được sinh ra như DS (tìm kiếm kim cương), TSS (tìm kiếm ba bước),... Những thuật toán này làm giảm độ phức tạp tính toán nhưng đã được chứng minh làm giảm tính hiệu quả.

Two - Stage Coding [41]

Trong H.265, đây là một cải tiến đặc biệt, khác hẳn so với H.264. Tại mỗi khung ảnh được đưa vào nén, H.265 sẽ thực hiện “two-stage coding”. Khung sau khi được dự đoán sẽ đi vào giai đoạn tổng hợp để tính phần dư. Phần dư này được tính bằng hiệu của khung hiện tại và khung dự đoán. Nhằm giảm thiểu sai số của quá trình biến đổi InDCT và lượng tử hóa thì phần dư này được chia thành hai phần:

+ Một phần đi qua biến đổi InDCT và lượng tử hóa.

+ Một phần để tổng hợp chính nó và sau quá trình giải lượng tử và InDCT ngược.

Biến đổi InDCT [41]

Biến đổi 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 bù chuyển động hoặc dự đoán nội suy. Về cơ bản kỹ thuật biến đổi InDCT giống với biến đổi DCT, chỉ bổ sung một số đặc điểm: Phép biến đổi InDCT thực hiện biến đổi nguyên xấp xỉ với phép biến đổi DCT, tất cả các bước

thực hiện với số nguyên. Các bước tính toán được tích hợp trong bộ lượng tử hóa nhằm giảm số lượng bước tính toán. Tất cả các biến đổi và lượng tử chỉ dùng các thuật toán cộng và thuật toán dịch bit trên các giá trị nguyên 16 bit và chỉ thực hiện trên từng hệ số chứ không thực hiện phép chia nên đảm bảo không mất đị độ chính xác. Trong miền điểm ảnh pixel, các giá trị dư thừa thường không tập trung năng lượng một cách có hệ thống. Do vậy để nâng cao hiệu quả của mã hóa thông tin dư thừa, biến đổi cosin rời rạc DCT đã được thông qua. Năng lượng tập trung tại những thành phần tần số thấp, các thông tin tại miền tần số cao sẽ có thể được loại bỏ (thông qua quá trình lượng tử hóa) do vậy thông tin mã hóa sẽ được giảm bớt. Mắt người thường không nhạy cảm với thành phần tần số cao nên việc loại bỏ một vài thông tin tại tần số cao không hoặc rất ít làm ảnh hưởng tới cảm nhận về chất lượng của hình ảnh.

Lượng tử hóa

Bất kỳ dữ liệu dư còn lại sau khi dự đoán được chuyển đổi bằng phép biến đổi DCT hoặc phép biển đổi sin rời rạc (DST). Một hoặc nhiều khối biến đổi kích thước 32×32, 16×16, 8×8 và 4×4 được áp dụng cho dữ liệu còn lại trong mỗi CU. Sử dụng DCT/DST cho các khung mã hóa HEVC để loại bỏ sự lan truyền lỗi trong khung. Trong HEVC, trước khi mã hóa entropy trên các hệ số biến đổi được lượng tử hóa thì các hệ số biến đổi phải được quét và sắp xếp lại thành vector 1 chiều. Có 3 phương thức quét: chéo, ngang, dọc.

Mã hóa Entropy [43]

Một số thuật toán mã hóa Entropy được sử dụng trong H265 là VLC, CABAC, CAVLC. So với CABAC, CAVLC cung cấp nhằm giảm chi phí thực hiện với mức giá hiệu quả nén thấp hơn. CABAC ở dạng cải tiến, cả về tốc độ và hiệu suất nén, đã trở thành phương pháp mã hóa entropy duy nhất của tiêu chuẩn HEVC. Cả CAVLC và CABAC đều đã được trình bày ở phần mã hóa entropy của H.264/AVC.

Bộ lọc vòng trong là một trong những thành phần quan trọng nhất của H265. Hình dưới đây mô tả quy trình của bộ lọc vòng trong.

Hình 4. 21. Quy trình của bộ lọc vòng trong

Dựa trên hình 4.21 có thể thấy rằng có hai bộ lọc chính tại vòng trong bao gồm: Deblocking Filter và độ lệch tương thích mẫu SAO (Sample Adaptive Offset).

Bộ lọc deblocking: Trong H.265/HEVC, bộ lọc deblocking được sử dụng trên ranh giới giữa các đơn vị mã hóa (CU), các đơn vị dự đoán (PU) và các đơn vị biến đổi (TU). Việc quyết định liệu khối có được lọc hay không dựa vào chế độ dự đoán, các khối liền kề, các vector chuyển động, cụ thể hơn một biến gọi là Bs (Boundary strength).

● Bs = 2 nếu tồn tại ít nhất một trong các khối liền kề trong ảnh. ● Bs = 1 nếu:

o Một trong các khối liền kề có hệ số biến đổi khác không o Các khối liền kề có khác biệt tuyệt đối về vectơ chuyển động đó là lớn hơn một mẫu sáng số nguyên

o Các khối liền kề có các vectơ chuyển động liên quan đến các hình ảnh khác nhau, hoặc số lượng vector giữa các khối không giống nhau.

● Nếu không, Bs = 0.

Trong H.264, Bs có thể có 5 mức {0, 1, 2, 3, 4} trong nhiều hoàn cảnh, trong khi H.265/HEVC chỉ hỗ trợ 3 mức Bs. Ngoài ra, vì kích thước khối lớn hơn, có nghĩa là số khối nhỏ hơn, sự phức tạp của bộ lọc deblocking filter trong H.265/HEVC cũng giảm đi so với H.264.

Bộ lọc giảm nhiễu SAOđược thiết kế để giảm nhiễu rung giữa các hình ảnh trước khi ảnh được lưu vào bộ đệm. Đồng thời cho phép tái tạo tốt hơn các biên độ tín hiệu ban đầu bằng cách áp dụng các độ lệch được lưu trữ trong bảng tra cứu dòng bit. Bên cạnh đó, SAO chứa quá trình giải mã bởi điều kiện thêm một giá trị bù vào mỗi mẫu sau khi áp dụng lọc khối, dựa trên các giá trị trong bảng look-up truyền qua các bộ mã hóa. SAO áp dụng ở 1 trong 2 chế độ: Bù cạnh và bù băng tần. Trong đó bù cạnh so sánh giá trị của 1 mẫu với 2 trong số 8 lân cận. Còn bù băng tần: Áp dụng 1 độ lệch dựa trên biên độ của 1 mẫu đơn.

Một phần của tài liệu BÁO CÁO BÀI TẬP LỚN MÔN: CÁC KỸ THUẬT GIẤU TIN Đề tài: Giấu tin trong video chuẩn H.264H.265 (Trang 32 - 41)

Tải bản đầy đủ (PDF)

(86 trang)