1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

86 136 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giấu tin trong video chuẩn H.264/H.265
Tác giả Nguyễn Nguyên Trung, Phan Tuấn Anh, Phan Đức Anh, Bùi Minh Hoàng, Phùng Hồng Vân, Nguyễn Ngọc Khoa
Người hướng dẫn Giảng viên: Đỗ Xuân Chợ
Trường học Học viện công nghệ bưu chính viễn thông
Chuyên ngành Các kỹ thuật giấu tin
Thể loại báo cáo bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 86
Dung lượng 5,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhóm 14 h264,h265 docx BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG ��� 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 Giảng viên Đỗ Xuân Chợ Nhóm môn học 03 – Nhóm bài tập 14 Sinh viên thực hiện Nguyễn Nguyên Trung B18DCAT252 Phan Tuấn Anh B18DCAT012 Phan Đức Anh B18DCAT011 Bùi Minh Hoàng B18DCAT096 Phùng Hồng Vân B18DCAT259 Nguyễn Ngọc Khoa B18DCAT131 Hà Nội – 2022 Mục lục Mục lục 1 Lời nói đầu 3 CHƯƠNG 1 TỔNG QUAN VỀ H 264 4.

Trang 1

BỘ THÔNG TIN VÀ TRUYỀN THÔNGHỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

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.264/H.265

Giảng viên: Đỗ Xuân Chợ Nhóm môn học: 03 – Nhóm bài tập: 14

Sinh viên thực hiện:

Nguyễn Nguyên Trung B18DCAT252

Nguyễn Ngọc Khoa B18DCAT131

Hà Nội – 2022

Trang 2

1 Lịch sử phát triển của chuẩn nén H.265/HEVC 31

CHƯƠNG 4: Giấu tin trong video chuẩn H.2645/H.265 56

2 Sử dụng công cụ OpenPuff để giấu tin trong video nén H264 69

3 DEMO sử dụng công cụ HandBrake để chuyển đổi, mã hóa video sang

4 DEMO giấu tin trong video sử dụng công cụ Our Secret 74

Trang 3

Lời nói đầu

Chuẩn nén hình ảnh được hiểu đơn giản đó là một phương thức nén hìnhảnh nhằm làm giảm lượng dữ liệu của một tập tài liệu video Phương thứcnén này được các tổ chức có uy tín trên thế giới công nhận và đưa vào sửdụng Vì vậy nó được coi là một chuẩn Tên của chuẩn nén do tổ chức pháttriển, quy định và đặt tên

Trong những năm gần đây khi mà lĩnh vực công nghệ và truyền thông ngàycàng phát triển Cùng với sự phát triển mạnh của internet toàn cầu thì việctruyển tải và lưu trữ video cũng ngày càng trở nên phổ biến hơn Cùng với

đó chất lượng của phần cứng ngày càng được nâng cao và giá thành lạingày càng hợp lí giúp cho việc tải hay trải nghiệm một chương trình, bộphim ngày càng trở nên dễ dàng nhanh chóng và mượt mà hơn

Tuy nhiên chỉ xem thôi thì chưa đủ, khi chất lượng cuộc sống ngày càngnâng cao kéo theo nhu cầu nghe nhìn vì đó cũng ngày càng khắt khe hơn

Vì thế nhu cầu một chuẩn nén video mới hiệu quả hơn nhằm giảm tải áplực cho hệ thống ngày càng bức thiết hơn Và các chuẩn nén H264, H265

đã được cho ra đời nhằm đáp ứng những nhu cầu trên

Dưới sự gợi ý và giúp đỡ của thầy Đỗ Xuân Chợ chúng em đã quyết địnhtìm hiểu nội dung giấu tin trong chuẩn nén h264 và h265

Trang 4

CHƯƠNG 1 TỔNG QUAN VỀ H.264

1. Lịch sử hình thành và phát triển

Chuẩn H264 được giới thiệu lần đầu vào năm 2004, đã trở thành mộttrong những chuẩn nén Video phổ biến hiện nay trong việc ghi, nén và phát hìnhảnh với chất lượng hiển thị cao và tiết kiệm băng thông H.264 có tên gọi đầy đủ

là MPEG-4 Part 10 AVC (Advance Video Coding – Mã hóa video cao cấp)thường được viết tắt như MPEG-4 AVC/H.264 Chuẩn H264 được đánh giá hiệuquả nén hình cao hơn các định dạng nén thông thường như MPEG-4 hoặcMPEG-2 mà chất lượng hình ảnh cũng không bị giảm sút Nhờ vào sự ưu việtnày, H 264 đã trở thành chuẩn nén phù hợp cho nhiều phương thức truyền tảivideo như video online với số bit rate thấp nhưng vẫn giữ được chất lượng hiểnthị, nhờ vậy, người dùng có thể quan sát qua mạng bằng hình ảnh HD mà không

bị tác nghẽn, giật hình Ngày nay chuẩn H264 được sử dụng nhiều trong các ứngdụng như đĩa Blu-ray, đầu ghi hình camera, máy quay phim, đầu thu kỹ thuậtsố….Hoặc trong các dịch vụ phát video như Youtube, Vimeo, iTunes Store ; cácphần mềm web như Adobe Flash, Microsoft Silverlight, HTML5 Ngoài ra,chuẩn H.264 còn được sử dụng trong các dịch vụ truyền hình HDTV mặt đất(ATSC, ISDB-T, DVB-T, DVB-T2), cáp (DVB-C) và vệ tinh (DVB-S vàDVB-S2)

2. Kỹ thuật mã hoá theo chuẩn H.264

Trang 5

Hình 4.15 dưới đây mô tả quá trình mã hóa video trong chuẩn H264.

Hình 4.15 Sơ đồ quy trình mã hóa video theo chuẩn H264

Từ hình 4.15 thấy được các khối chính trong mô hình mã hóa theo chuẩn H264bao gồm:

- Fn (current): Ảnh hiện tại

- F’n-1(reference): Ảnh tham chiếu của 1 hoặc 2 khung hình được mã hóatrước đó

- F’n(reconstoncted): Ảnh khôi phục (ảnh tái lập)

- Intra prediction: Dự đoán trong ảnh

- Choose Intra Prediction: Chọn dự đoán nội khung

- Deblocking filter: Bộ lọc tách khối

- T, Q và T-1, Q-1: quá trình biến đổi DCT (T) và lượng tử hóa (Q); quátrình DCT ngược (T-1) và giải lượng tử hóa (Q-1)

Trang 6

- Dn, D’n: Phần ảnh sai khác vào mã hóa và ra từ giải mã hay còn gọi làkhối dư thừa và khối dư thừa đã được tái lập

- Reorder: Sắp xếp lại

- Entropy encode: Mã hóa entropy

- MC (Motion Compensation): Bù chuyển động

- ME (Motion estimation): Đánh giá chuyển động

Với sự góp mặt và hỗ trợ của các khối trên, quy trình mã hóa của H.264

có thể chia thành 2 thành phần chính là quy trình mã hóa thuận chiều và quy trình

mã hóa tái lập [37] Tiếp theo giáo trình sẽ tập trung phân tích các quy trình này

● Đối với quy trình mã hóa thuận chiều : Quy trình mã hóa thuận chiều

được mô tả khái quát như sau: Video nguồn được tách ra thành các khunghình Fn, các khung hình này được chia thành các khối macro(macroblock) MB với tỷ lệ 16 pixel x 16 pixel Các khung hình với cáckhối MB được đi qua hai phương pháp dự đoán nội khung và dự đoán liênkhung để tạo ra khung hình mới, khung hình mới này là khung hình đãloại bỏ một số chi tiết thừa để giảm dung lượng khung hình và vẫn đảmbảo hình ảnh tốt so với mắt người nhìn Tiếp theo, phương pháp dự đoánnội khung được sử dụng với các khung I (khung được mã hóa mà khôngcần tham chiếu tới các khối trong các khung trước nó, mà chỉ cần các khối

đã mã hóa trong cùng khung), còn phương pháp dự đoán liên khungthường được sử dụng với các khung P và khung B (khung được mã hóabởi việc tham chiếu tới các khối trong các khung đã mã hóa trước nó) Saukhi qua hai phương pháp dự đoán, các khối trong khung hình dự đoán (P)được trừ đi bởi các khối tương ứng trong khung hình ban đầu (Fn) tạo racác khối của khung hình dư thừa Dn(Dn = Fn - P), đây là khung hình thểhiện sự khác nhau giữa khung hình ban đầu Fn với khung hình dự đoánP.Các khối trong khung hình Dn được biến đổi DCT (T) và lượng tử hóa(Q) tạo ra thông tin X Các thông tin về phương pháp dự đoán nội khung,

Trang 7

phương pháp dự đoán liên khung thông tin X được mã hóa Entropy, trởthành dạng bitstream và được đưa tới lớp trừu tượng mạng NAL (đây lànơi để truyền tải hoặc lưu trữ các thông tin này), đây là các thông tin cầnthiết để phục vụ việc giải mã.

● Đối với quy trình mã hóa tái lập: Thông tin X được đi qua lượng tử hóa

ngược Q-1và biến đổi DCT ngược T-1 để tạo ra khung hình dư thừa đượctái lập D’n, khung hình này khác với khung hình dư thừa Dn do quá trìnhlượng tử hóa Q là quá trình gây mất mát thông tin, vì vậy khi lượng tử hóangược, thông tin không còn được nguyên vẹn như ban đầu Bên cạnh đó,khung dư thừa D’n được kết hợp với khung hình dự đoán P để tạo rakhung hình tái lập theo công thức : uF’n = P + D’n.Do D’n khác Dn nênuF’n khác với Fn ban đầu Tiếp theo khung hình uF’n được sử dụng đểphục vụ cho phương pháp dự đoán nội khung Theo đó, khung hình uF’nđược đi qua bộ lọc với tác dụng chính là làm mượt hình ảnh bằng cách xử

lý màu sắc giữa biên của các khối MB cạnh nhau, sau đó thu được khunghình tái lập F’n Khung hình tái lập F’n này được sử dụng để phục vụ chophương pháp dự đoán liên khung của các khung hình tiếp theo, khi đókhung hình F’n trở thành khung hình tham chiếu F’n-1 hoặc F’n-2 … Cầnlưu ý, các khung hình F’n không nhất thiết phải theo thứ tự thời giantượng tự như các khung hình trong video nguồn, bởi H.264/AVC có thể bỏqua một số khung hình, mã hóa các khung hình phía sau trước, rồi mới mãhóa tới khung hình trước đó, vì vậy khung hình tham chiếu F’n-1, F’n-2, …

có nghĩa là các khung hình được mã hóa trước khung hình F’n, chứ khôngnhất thiết là các khung hình xuất hiện trước trong video nguồn Ví dụ: có

3 khung hình F1, F2, F3, H.264/AVC mã hóa khung hình F1 thành F’1,sau đó bỏ qua F2 và mã hóa F3, như vậy khung hình mã hóa của F3 là F’2

và sau đó, H.264/AVC mới mã hóa khung hình F2, lúc này khung hình mãhóa của F2 là F’3

Trang 8

3. Cấu trúc chuẩn H.264

3.1 Phương pháp dự đoán nội khung

- Việc lựa chọn kích thước cho các khối để thực hiện dự đoán nội khung ảnhhưởng tới hai vấn đề chính: hiệu quả dự đoán và chi phí để thể hiện các chế

độ dự đoán Thường thì hai vấn đề này sẽ tỉ lệ nghịch với nhau, tức là nếuhiệu quả dự đoán cao thì chi phí để thể hiện chế độ dự đoán là lớn và ngượclại, nếu hiệu quả dự đoán thấp hơn thì chi phí để thể hiện chế độ dự đoán sẽnhỏ hơn =>Vì vậy, việc chọn kích thước khối thế nào để dự đoán, tùy thuộcvào mục đích mã hóa và giải mã của người dùng hoặc dịch vụ sử dụngvideo chuẩn H.264

-Với H.264, dự đoán nội khung tập trung khai thác sự tương quan về khônggian giữa các khối liền kề nhau để thực hiện dự đoán Nói cách khác, nó sẽ

dự đoán giá trị các pixel của một khối dựa trên các pixel xung quanh khốiđó

- Với các khối 4x4 có 9 chế độ dự đoán

-Với các khối 16x16 thì chỉ có 4 chế độ dự đoán

3.2 Phương pháp tói ưu hoá giữa tỉ lệ bit và sự bóp méo hình ảnh

RDO

Thực tế cho thấy, nếu muốn có một chất lượng hình ảnh tốt thì tỉ lệ bit phải caotuy nhiên điều đó làm giảm hiệu quả nén và ngược lại nếu tỉ lệ bit thấp đồngnghĩa với việc chất lượng hình ảnh sẽ kém hơn

Trang 9

- Kỹ thuật RDO (Rate Distortion Optimization) là kỹ thuật để chọn chế độ dựđoán nội khung cho một khối hiện tại, mục đích của nó là tìm ra một chế độ dựđoán tối ưu nhất sao cho tỉ lệ giữa sự tăng tỉ lệ bit (bit rate) và sự bóp méo hìnhảnh (distortion) là hợp lý.

- Thông thường, để đưa ra được chế độ dự đoán cho một khối 4x4 một cách hiệuquả, bộ mã hóa của H.264 sẽ dựa trên chế độ dự đoán của những khối lân cận

● Mx : chế độ dự đoán của khối hiện tại X

● MPMx : chế độ dự đoán có khả năng nhất của X

● MA : chế độ dự đoán của khối trên nó(khối A)

● MB : chế độ dự đoán của khối bên trái(khối B)

MPMx cho khối 4x4 (khối X) được tính toán dựa trên chế độ dự đoán của khối A

và khối B Nếu không có khối A hoặc B (trong trường hợp khối X nằm ở méptrái hoặc mép trên của khung hình) thì giả định chế độ dự đoán của khối bị thiếu

● Nếu cờ F = 0, một tham số khác REMx sẽ được sử dụng để xác định Mx, và

nó được xác định theo công thức:

Mx = REMx nếu REMx < MPMx

Mx = REMx +1 nếu REMx >= MPMx

3.3 Phương pháp dự đoán liên khung

- Dự đoán liên khung tạo ra một mô hình dự đoán từ một hoặc nhiều cáckhung hình (hoặc vùng trong một khung hình) đã được mã hóa trước đó sửdụng bù trừ chuyển động

- Khác với các chuẩn mã hóa trước đó, chuẩn H.264 hỗ trợ nhiều kiểu kíchthước cho một khối hơn (từ kích thước khối 16 x 16 tới 4 x 4)

- Dự đoán liên khung chủ yếu dựa vào hai yếu tố là tính toán chuyển động

và bù trừ chuyển động

- Mục đích chính của việc dự đoán này là mã hóa các khung hình mới dựatrên các khung hình tham chiếu nhưng tập trung mã hóa các điểm khácnhau

- Ví dụ: trong một khung hình quay cảnh một người chuyển động ,dự đoánliên khung sẽ tính toán chuyển động và thực hiện bù trừ chuyển động chokhung hình hiện tại dựa trên các khung hình tham chiếu và chỉ mã hóa phầnthay đổi là người , còn khung cảnh sự vật không thay đổi thì không mã hóa,điều này giúp tiết kiệm chi phí mã hóa, giúp tăng hiệu quả nén cho video

3.4 Các loại khung hình

Ở khung Frame Type, ta có các thông số I / B / P Frames, vậy đó là gì?

Trang 10

I Frames (Intra Frames hay Key Frames): Là khung hình lưu trữ toàn bộ hình ảnh

“chính” Giả sử một đoạn video ngắn 3 giây có một hình tròn màu xanh chuyểnsang màu đỏ từ 0:00 đến 0:03 thì 2 hình tròn màu xanh và đỏ chính là 2

I-Frames I Frames cho phép các khung hình khác tham chiếu đến nó

+ Chỉ loại bỏ các thông tin dư thừa về mặt không gian qua mã hóa Intra-Coding.+ Dùng các điểm trong cùng một frame để dự báo

+ Không có bù chuyển động, vì là frame đầu được xử lý của mỗi Group of

Pictures

+ Số lượng bit yêu cầu lớn, vì được mã hóa rõ ràng nhất

P Frames (Predictive Frames): Khung hình chỉ lưu giữ những gì khác biệt so vớikhung hình trước nó Khung hình này có tham khảo (hay tham chiếu – reference)đến khung hình trước Giả sử: Một cảnh máy quay cố định một trạm xăng, nhưng

có một chiếc xe hơi chạy qua Thì chỉ cần mã hóa chuyển động của chiếc xe, cònkhung cảnh cây xăng vẫn giữ nguyên -> giảm được dung lượng P Frames cònđược gọi là Delta-Frames

Đặc biệt: P Frames cũng cho phép các frame khác tham khảo đến nó Để làmđược điều này thì P Frames cần chứa đủ lượng thông tin cần thiết (tuy nhiênkhông nhiều bằng I Frames) Tóm tắt:

+ Sử dụng khung hình trước để tham chiếu

+ Sử dụng Macroblock của khung hình cả trước và sau nó

+ Trên thực tế, x264 có tùy chọn cho phép sử dụng B-frame để các frame khác cóthể tham chiếu vào nó, nếu có từ 2 B-frame trở lên (B-Pyramid)

Các loại frame về khía cạnh mã hóa, chỉ khác nhau ở loại khung hình mà nó cóthể tham chiếu tới Tóm lại:

▪ Frame I không cần tham chiếu

▪ Frame P chỉ tham chiếu tới frame I hoặc P trước nó

▪ Frame B tham chiếu được cả I, P, và thậm chí B frame cả trước lẫn sau nó (theothời gian)

Trang 11

Trong H264, B-frame có thể tham chiếu hoặc được tham chiếu đến / từ các

khung hình khác Tương tự áp dụng cho B-slice

Có 4 chế độ tất cả (dòng chữ nghiêng là chỉ có trong MPEG2:

▪ Tham chiếu 1 chiều (khung hình trước hoặc sau nó)

▪ Đa khung hình tham chiếu (nhiều khung hình trước + nhiều khung hình sau)

▪ Lấy trung bình từ 2 khung hình tham chiếu: 1 trước và 1 sau

▪ Lấy luôn giá trị vừa xử lý của khung hình được xử lý trước nó

3.5 Bù trừ chuyển động theo cấu trúc dạng cây

Là công đoạn giảm thiểu dư thừa và tăng chất lượng nén về mặt không gian,bằng cách tham chiếu đến các khung hình / phần khung hình khác, vớiphương pháp bù chuyển động và đánh giá chuyển động qua các vector.Các khung hình được chia thành các đơn vị là các khối (block) hoặc nhómkhối (macroblock) Các macroblock lại được chia vùng nhỏ hơn nữa để xử

lý lấy mẫu và vector chuyển động

-Thành phần độ sáng (luma) của mỗi khối MB(macroblock) có thể đượcchia như sau:

- Phương pháp phân chia các khối thành các khối nhỏ hơn để thực hiện việc

bù trừ chuyển động được gọi là phương pháp bù trừ chuyển động theo dạngcây

- Khi thực hiện việc bù trừ chuyển động cho mỗi khối, một vector chuyểnđộng cần được sử dụng và sau đó cần phải được mã hóa và đưa vào

bitstream của video đã nén để phục vụ mục đích giải mã sau này

- Vì vậy, tương tự như trong dự đoán nội khung, việc lựa chọn kích thướccho mỗi khối dự đoán cũng là sự đánh đổi giữa chi phí để dự đoán và chấtlượng dự đoán

+Nếu lựa chọn các khối có kích thước lớn (16x16, 16x8, 8x16) để thực hiện

dự đoán thì cần ít bit hơn để thể hiện các vector chuyển động và số lượngcác khối, tuy nhiên sự dư thừa bù trừ chuyển động có thể xảy ra trong những

Trang 12

khung hình có chi tiết cao, điều này đồng nghĩa với chất lượng hình ảnhkém hơn.

+Ngược lại, nếu chọn các khối có kích thước nhỏ hơn (8x4, 4x4…) thì việc

dư thừa bù trừ chuyển động sẽ ít hơn nhưng số lượng bit cần để thể hiệnvector chuyển động lại nhiều hơn

Chính vì vậy, thông thường, sẽ chọn các khối kích thước lớn để thực hiện bùtrừ chuyển động cho các vùng hình ảnh có hình ảnh đồng nhất, không yêucầu cao về chi tiết hình ảnh, còn các khối kích thước nhỏ được ưu tiên trongcác trường hợp yêu cầu sự sắc nét, chi tiết cao

3.6 Vector chuyển động

- Vector chuyển động là một vector thể hiện sự sai khác hay thay đổi về vịtrí của vật thể trong khung hình hiện tại so với các khung hình mà nó thamchiếu tới

H.264

Một khối 4x4 trong khung hình hiện tại (a) được dự đoán từ một vùngtrong khung hình tham chiếu, nếu cả tọa độ x và y của vector chuyển độngđiều là số nguyên (b) thì khối 4x4 trong khung hình hiện tại có thể thamchiếu tới khối đã có sẵn trong khung hình tham chiếu (phần dấu chấm màuxám), tuy nhiên nếu tọa độ x hoặc y hoặc cả hai của vector chuyển động làcác số thập phân, mẫu dự đoán (phần dấu chấm màu xám) sẽ được sinh rabởi phép nội suy giữa các mẫu kề nhau trong khung hình tham chiếu

3.1 Dự đoán vector chuyển động

- Mã hóa mỗi vector chuyển động cho các khối có thể tốn rất nhiều bít, nhất

là khi các khối có kích thước nhỏ được chọn để mã hóa

- Các vector chuyển động cạnh nhau thường liên quan đến nhau, vì vậy mỗivector chuyển động được dự đoán dựa trên các vector của các khối xungquanh đã được mã hóa

- Một vector dự đoán, MVp, được tạo ra dựa trên các vector chuyển động đãđược tính toán trước đó và MVD(Motion vector difference-sự khác biệtvector chuyển động), sau đó được mã hóa và truyền đi trong bitstream củavideo đã nén

- Phương pháp để tạo ra MVp phụ thuộc vào kích thước của các khối thựchiện bù trừ chuyển động và sự khả dụng của các vector xung quanh

4. Mã hoá Entropy

4.1 Giới thiệu chung

Trang 13

Với chuẩn H.264, trong quá trình nén video một số giá trị phải được mãhóa để tạo thành luồng bit nén để lưu trữ hoặc truyền dẫn nhằm phục vụcho bộ giải nén Có 2 loại mã hóa entropy chính được sử dụng trong H.264

đó là mã hóa CAVLC và mã hóa CABAC

4.2 Mã hoá chiều dài biến đổi ứng với ngữ cảnh (CAVLC)

4.2.1 Mã hoá Coef_token

CAVLC (Context-based Adaptive Variable Length Coding): mã hóachiều dài thay đổi ứng ngữ cảnh Đây là một dạng mã hóa entropy màbảng từ mã (codeword table) áp dụng cho khối hiện tại cần mã hóa sẽ cóchiều dài thay đổi dựa vào các phần tử dữ liệu đã được mã hóa trước đó(các khối lân cận đã được mã hóa) Đây là phương pháp được sử dụng để

mã hóa phần dư, các khối 4x4 (và 2x2) gồm các hệ số lượng tử sau khiblock được tái sắp xếp Hình 4.17 dưới đây mô tả quy trình mã hóaCAVLC

Hình 2.1 Quy trình mã hóa CAVLC

Các bước mã hóa:

Trang 14

B1: Mã hóa Coeff_token

B2: Mã hóa dấu của dãy 1 “ sign_flag”

B3: Mã hóa cấp độ “ levels”

B4: Mã hóa tổng số 0 “ TotalZeros”

B5 Mã hóa trước khi chạy “ Run_ before”

Bước 1: Mã hóa Coeff_token

Gọi khối cần mã hóa là nC Việc lựa chọn bảng để mã hóa nC phụ thuộcvào số lượng các hệ số khác không được mã hóa bên trái và bên trên khối đó “tương ứng nA và nB” Một tham số nC được tính như sau Nếu cả hai khối trên vàtrái nB và nA đều có sẵn (trong cùng một lát), nC = nA+nB +1 dịch phải 1 bit.Nếu chỉ có khối bên trên, nC = nB; nếu chỉ có khối bên trái, nC = nA; nếu không

có cả 2 khối, nC = 0

Có sẵn khối bên trái và bên trên (nA + nB + 1)>>1

Chỉ có sẵn khối bên trái nA

Chỉ có sẵn khối bên trên nB

Không có sẵn khối lân cận 0

Độ lớn của các hệ số khác không có xu hướng lớn hơn khi bắt đầu mảngzigzac, gần hệ số đầu tiên và nhỏ hơn về phía tần số cao hơn Ngoài ra, giá trịtuyệt đối của các hệ số khác không cuối cùng thường bằng 1 Tối đa ba hệ số -1hoặc +1 cuối cùng được gọi là hệ số theo sau (T1), trong khi các hệ số kháckhông còn lại là level Biểu tượng CoeffToken (mã thông báo hệ số) đại diện cho

cả tổng số hệ số khác không (TotalCoeff) và số lượng hệ số theo sau (NumT1)

Trang 15

và số lượng giá trị ±1 (TrailingOnes), TrailingOnes có thể là bất cứ giá trị nào từ

Giả sử khối nC là không có sẵn khối lân cận -> nC=0

Tối đa 3 hệ số +-1 cuối cùng được gọi là hệ số theo sau -> T1s =3

Các hệ số còn lại là levels -> levels = [ 1 , 3 ]CoeffToken: các hệ số khác 0 -> [ 3,1,-1,-1,1]

TotalCoeff: tổng hệ số khác 0 -> TotalCoeff = 5

Sử dụng bảng 1 - >0000100

Trang 16

VLC bảng cho mã thông báo hệ số ( Coeff_Token)

Trang 18

Bước 2: Mã hóa dấu Sign_Flag

Các T1 được mã hóa theo thứ tự ngược lại với các bit dấu của chúng ('0'cho dương và '1' cho âm)

Các mức được mã hóa theo thứ tự ngược lại với các VLC bao gồm tiền tố

và hậu tố có thể có Tiền tố được tạo thành từ một chuỗi không hoặc nhiều hơncác bit '0', theo sau là một bit dừng '1' Độ dài của hậu tố (SuffixLength) nằmtrong khoảng từ 0 đến 6 trong trường hợp bình thường Nếu độ dài hậu tố > 0, bitcuối cùng của hậu tố lưu trữ dấu hiệu của mức

Bảng 2 cho thấy trích xuất của bảy bảng VLC được sử dụng cho mã hóacác mức trong cấu hình cơ sở H.264 [11], mỗi bảng tương ứng với một giá trịkhác nhau của độ dài hậu tố Bảng Lev-VLCT [0] được chọn cho độ dài hậu tố =

0, bảng Lev-VLCT [1] cho độ dài hậu tố = 1, v.v Lev-VLCT [0] có cấu trúcriêng trong khi các bảng VLC còn lại có chung cấu trúc Trong mọi trường hợp,khi độ lớn của mức quá lớn, giá trị của nó được lưu trữ hoàn toàn trong hậu tố, có

độ dài được đặt thành 12 Vì bit cuối cùng đại diện cho dấu hiệu, độ lớn tối đa

mà CAVLC có thể mã hóa là 211 = 2048

Thuật toán 1 : chỉ ra cách các mức được mã hóa Việc lựa chọn mỗi bảngVLC là thích ứng với ngữ cảnh, vì nó phụ thuộc vào độ lớn của mức được mãhóa trước đó

Trang 19

Thuật toán 1: thuật toán xác định các cấp độ (levels) mã hóa

Trang 20

Hệ số của level = +1 sử dụng bảng Level_VLC0 ->1

Hệ số của level = +3 sử dụng bảng Level_VLC1 -> 001x với x= ->0010

Trang 21

Bước 4: Mã hóa tổng số 0 “ TotalZeros”

TotalZeros: tổng các số 0 trước số khác 0 cuối cùng sử dụng bảng 3

Trang 22

Bước 5: Mã hóa runs (mã hóa các hệ số khác 0 trước hệ số khác 0 cuối)

Mã hóa mỗi lần chạy của số 0: Run_before: số lượng số 0 trước mỗi hệ sốkhác 0.ZeroLeft: số lượng số 0 bên trái còn lại, đây là 2 tham số quan trọng để

Index 7 ZerosLeft = 3 ; run_before =1 ->10

Index 5 ZerosLeft = 2 ; run_before =0 -> 1

Index 4 ZerosLeft = 2 ; run_before =0 -> 1

Index 3 ZerosLeft = 2 ; run_before =1 -> 01

Index 1 ZerosLeft = 1 ; run_before =1 -> Không cần mã; hệ số cuốicùng

-> Bitstream =000010001110010111101101

Trang 23

CAVLC (Context-based Adaptive Variable Length Coding): mã hóa chiềudài thay đổi ứng ngữ cảnh Đây là một dạng mã hóa entropy mà bảng từ mã(codeword table) áp dụng cho khối hiện tại cần mã hóa sẽ có chiều dài thayđổi dựa vào các phần tử dữ liệu đã được mã hóa trước đó (các khối lân cận

đã được mã hóa) Đây là phương pháp được sử dụng để mã hóa phần dư, cáckhối 4x4 (và 2x2) gồm các hệ số lượng tử sau khi block được tái sắp xếp.Hình 4.17 dưới đây mô tả quy trình mã hóa CAVLC

Hình 2.1 Quy trình mã hóa CAVLC

Các bước mã hóa:

B1: Mã hóa Coeff_token

B2: Mã hóa dấu của dãy 1 “ sign_flag”

B3: Mã hóa cấp độ “ levels”

Trang 24

B4: Mã hóa tổng số 0 “ TotalZeros”

B5 Mã hóa trước khi chạy “ Run_ before”

4.3 Mã hóa nhị phân số học ứng ngữ cảnh (CABAC )

CABAC (Context-based Adaptive Binary Arithmetic Coding): mã hóa nhị phân

số học ứng ngữ cảnh Giống như CAVLC, CABAC sẽ mã hóa phần dữ liệu hiện tại dựatrên phần dữ liệu trước đó đã được mã hóa trong các khối lân cận CABAC đạt được tỉ

lệ nén tốt dựa vào việc lựa chọn mô hình thích hợp cho mỗi dữ liệu cần mã hóa theongữ cảnh của nó và sự ước lượng hợp lý dựa trên các thống kê cục bộ và dung mã hóa

số học (arithmetic coding) thay cho mã hóa chiều dài thay đổi (variable-length coding)như trong CAVLC CABAC dung mã hóa số học có nghĩa là chỉ có 2 giá trị nhị phân 0

và 1 được mã hóa Nếu một giá trị không phải là nhị phân (chẳng hạn các hệ số biếnđổi, các vector chuyển động) thì sẽ được “nhị phân hóa” để chuyển thành dạng nhị phântrước khi dung mã hóa số học Hình 3 dưới đây thể hiện quy trình của kỹ thuật mã hóaCABAC

Trang 25

“Các bước 2,3,4 lặp lại với mỗi bit (“bin”) của từ mã”

Bước 1 : Chuyển đổi nhị phân:

CABAC sử dụng Mã số học nhị phân có nghĩa là chỉ mã hóa các quyết định nhịphân (1 hoặc 0) Một ký hiệu không có giá trị nhị phân (ví dụ: hệ số biến đổi hoặc vectơchuyển động) được "mã hóa" hoặc chuyển đổi thành mã nhị phân trước khi mã hóa sốhọc Quá trình này tương tự như quá trình chuyển đổi một ký hiệu dữ liệu thành một mã

có độ dài thay đổi nhưng mã nhị phân được mã hóa thêm (bởi bộ mã số học) trước khitruyền

- |MVDx|<9 sử dụng bảng 3.1

- |MVDx|>= 9 sử dụng Exp-Golomb

Bit đầu tiên của từ mã nhị phân là bin 1; bit thứ hai là bin 2,v.v

MVDx ( Vector chuyển động khác biệt hướng x )

Trang 26

Mã hóa entropy Exp-Golomb

k Được sử dụng cho loại macroblock, chỉmục khung tham chiếu và các loại khác

Exp-Golomb trong đó các từ mã ngắn bịcắt bớt

biệt vectơ chuyển động, đồng bằng QP vànhững thứ khác k được ánh xạ tới mãnum như sau (Bảng 3.3)

code num = 2|k| (k ≤ 0)code num = 2|k|− 1 (k > 0)

ánh xạ tới code_num theo một bảng quyđịnh trong tiêu chuẩn Bảng 3.4 liệt kê

Trang 27

một phần nhỏ của bảng mẫu khối được

mã hóa cho các macroblock dự đoán củaInter, cho biết khối 8 × 8 nào trongmacroblock chứa các hệ số khác không

16 (khối DC màu khác không) 1

1 (trên cùng bên trái khối luma 8 × 8

32 (khối màu DC và AC khác không) 6

3 (trên cùng bên trái và trên cùng bên

phải khối luma 8 × 8 khác không)

Trang 28

Bước 2: Mô hình hóa ngữ cảnh:

Thống kê cho thấy trong luồng dữ liệu đầu vào CABAC, dữ liệu thông thườngchiếm tỷ lệ cao, có tính biến động theo đặc tính luồng video đầu vào Mô hình hóa ngữcảnh là một mô hình xác suất cho một hoặc nhiều bin ký hiệu nhị phân.Mô hình này cóthể được chọn từ một loạt các mô hình có sẵn với xác suất của mô hình ngữ cảnh làthích ứng bằng giá trị của các bin được mã hóa trước đó Các bin có bản phân phốitương tự thường chia sẻ cùng một mô hình ngữ cảnh.Mô hình ngữ cảnh lưu trữ xác suấtcủa mỗi bin là “1” hoặc “0” Khi quá trình mã hóa của một bin kết thúc, mô hình ngữcảnh có thể chuyển từ bin này sang bin khác Quá trình này được lặp lại cho mỗi bin

Các mô hình ngữ cảnh và lược đồ nhị phân cho từng phần tử cú pháp được xác địnhtrong tiêu chuẩn Có tổng cộng 267 mô hình ngữ cảnh riêng biệt, từ 0 đến 266 (tính đếntháng 9 năm 2002) cho các phần tử cú pháp khác nhau Một số mô hình có cách sử dụngkhác nhau tùy thuộc vào loại slice: ví dụ: các macroblock đã bỏ qua không được phéptrong I-slice và do đó, các mô hình ngữ cảnh 0-2 được sử dụng để mã hóa các thùngmb_skip hoặc mb_type tùy thuộc vào việc lát cắt hiện tại có được mã hóa nội khung haykhông Vào đầu mỗi slice được mã hóa, các mô hình ngữ cảnh được khởi tạo tùy thuộcvào giá trị ban đầu của tham số lượng tử hóa QP (vì điều này có ảnh hưởng đáng kể đếnxác suất xuất hiện của các ký hiệu dữ liệu khác nhau)

Một trong 3 ngữ cảnh được chọn cho bin 1, dựa trên các giá trị MVD được mãhóa trước đó Định mức L1 của hai giá trị được mã hóa trước đó, ek, được tính:

Trang 29

- Khi tổng số lần xuất hiện của mô hình vượt quá giá trị ngưỡng, tần suất đếm cho

“0” và “1” sẽ được thu nhỏ lại

Thông thường: CABAC đặt một phạm vi có giá trị ban đầu từ 0 đến 1 và chia nóthành hai khoảng con theo xác suất của bin mã hóa hiện tại Sau đó, nó chọn mộttrong các khoảng con mà giá trị của bin thuộc về và chia nó cho hai khoảng con theo

Trang 30

xác suất của bin tiếp theo Sau nhiều lần chia và chọn, có thể thu được một phạm vinhất định Quá trình này sẽ được lặp lại cho đến khi nó đạt được một phạm vi nhấtđịnh Cuối cùng, bất kỳ số thập phân nào trong phạm vi này có thể đại diện chodòng bin đầu vào gần đúng.

Bypass: Mã hóa bypass là một chế độ mã hóa của CABAC để giảm độ phức tạpcủa nó Nó được sử dụng để mã hóa một ký hiệu có xác suất bằng nhau bằng cáchgiả định xác suất là 0,5 cho mỗi giá trị bin Khi chế độ Bypass được chọn, quá trìnhlập mô hình của các bin đầu vào chỉ bị bỏ qua Đối với mã hóa bypass, việc phânchia phạm vi có thể được thực hiện bằng một sự thay đổi, điều này sẽ giúp xử lý dễdàng hơn so với cách đệ quy thông thường

Sau khi thực hiện xong quá trình mã hóa entropy, đầu ra của quá trình mã hóa thuđược một video dạng bitstream

Trang 31

CHƯƠNG 2: Tổng quan về chuẩn H265

1. Lịch sử phát triển của chuẩn nén H.265/HEVC

VCEG đã bắt đầu nghiên cứu về thế hệ tiếp theo của H.264 từ năm 2004,bằng cách phát triển ra một chuẩn nén video mới hoàn toàn, hoặc là phát triểntiếp từ H.264 Các kĩ thuật khác nhau để năng cao tiềm năng của chuẩn H.264được khảo sát trong tháng 10 năm 2004 Tại cuộc họp tiếp theo của VCEG trongtháng 1 năm 2005, VCEG bắt đầu chỉ định một số tiêu chí kĩ thuật quan trọngcho NGVC (Next-gen Video Coding) Một cơ sở phần mềm là tiêu chí kỹ thuậtcho NGVC đã được phát triển dựa trên mô hình chung của MPEG và VCEG choH.264 Yêu cầu về chất lượng của NGVC được đề ra là giảm bitrate còn một nửa

mà vẫn giữ nguyên chất lượng so với H.264, ở tất cả các hồ sơ, hoặc giảm 25%bitrate cùng độ phức tạp giảm 1 nửa, hoặc thậm chỉ giảm bitrate hơn nữa và tăngmức độ phức tạp trong khi mã hóa lên Công nghệ của năm 2009 chưa đủ mạnhnên HEVC được định nghĩa như là phần mở rộng của H.264 chứ không phải làhướng phát triển mới hoàn toàn MPEG đã bắt đầu nghiên cứu dự án tương tựvào năm 2007, lấy tên là HPVC (High Performance Video Coding), nhưng bitratetrung bình chỉ giảm 20% so với H264 Cuộc họp vào tháng 4 năm 2010 đã tiếnhành lập ra nhóm JCT-VC và các kĩ thuật mã hóa được bàn thảo, tổng cộng cóhơn 27 đề xuất được gửi Các đánh giá cho thấy rằng H.265 có thế đạt tỉ suất néncao gấp đôi so với H.264 Cũng tại cuộc họp, 2 dự án NGVC và HPVC được hợpnhất lại, lấy tên là HEVC, chính thức được gọi tắt là H.265 Ngay sau đó,

JCT-VC đã kết hợp những tính năng tốt nhất của 2 dự án trên vào một codebaseduy nhất cho HEVC [39] H.265/HEVC được thiết kế để cải thiện đáng kể hiệuquả mã hóa so với H.264/MPEG-4 AVC HP, tức là giảm một nửa yêu cầu bitratevới chất lượng hình ảnh tương đương, với chi phí tăng độ phức tạp tính

toán HEVC được thiết kế với mục tiêu cho phép nội dung video có tỷ lệ nén dữliệu lên tới 1000: 1 Tùy thuộc vào yêu cầu ứng dụng, bộ mã hóa HEVC có thểđánh đổi độ phức tạp tính toán, tốc độ nén, độ mạnh của lỗi và thời gian trễ mãhóa Hai trong số các tính năng chính trong đó HEVC được cải thiện so vớiH.264 / MPEG-4 AVC là hỗ trợ cho video có độ phân giải cao hơn và phươngpháp xử lý song song được cải thiện Ngày nay chuẩn H265đang dần được sửdụng thay cho chuẩn H264/AVC như một giải pháp hiệu quả

2. Kỹ thuật nén vide H265/HEVC

Hình 4.19 dưới đây thể hiện quy trình mã hóa và giải mã của chuẩnH265/HEVC

Trang 32

Hình 4.19 Quy trình mã hóa và giải mã video theo chuẩn H.265/HEVC

Từ hình 4.19 có thể thấy được quy trình mã hóa và giải mã theo chuẩnH.265/HEVC theo các bước sau:

- Bước 1: Video gốc được chia thành các khung ảnh, lấy khung đầu tiên để

mã hóa

- Bước 2: Khung được chọn đi qua giai đoạn xử lý đồng thời bởi hai kỹthuật dự đoán ngoại suy và dự đoán nội suy Qúa trình này sẽ được trìnhbày trong phần tiếp theo của giáo trình

- Bước 3: Biến đổi InDCT và lượng tử hóa (Quá trình này giống với H264)

- Bước 4: Mã hóa Entropy

Bước 5: Bộ lọc vòng trong

3. Cấu trúc H.265/HEVC

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ủacác pixels Các pixel trong khối hiên tại được dự đoán bằng cách sử dụng pixelcủ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

Trang 33

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 độ chitiết của khối biến đổi, nên dự đoán nội khung cũng được vận hành ở kíchthướ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 khaithuật toán cho các kích thước khối tùy ý và hướng dự đoán Tuy nhiên, nhữngtí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ườngxuấ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ứctạ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ínhtoán thấp và nhất quán trên các kích thước khối và hướng dự đoánkhá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ộikhung HEVC vượt xa so với các chế độ mã hóa trước đó, chẳnghạ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 đó,

Trang 34

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êncủa khối được dự đoán Các khối độ sáng dự đoán DC có kíchthước 16x16 trở xuống trải qua quá trình lọc ánh sáng để làm mềmcá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 ảnhmịn Tương tự, một số tắc nghẽn thường có thể được quan sát thấytrong 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áckhối cứng nhắc quan sát được khi chế độ dự đoán DC được ápdụng hoặc video có tốc độ bit thấp hơn Phương pháp dự đoánplanar là để dự đoán ra một bề mặt mà không làm ngắt quãng cácranh giới Để lựa chọn chế độ dự đoán phù hợp và hiệu quả từ 35chế độ dự đoán, HEVC sử dụng mô hình tối ưu hóa Các công thứctí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

Trang 35

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ớimộ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ánchí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ênphù hợp nhất và vector chuyển động liên quan của nó Dự đoán ngoại suy trongH265 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 vectorchuyển động nâng cao AMVP (Advance Motion Vector Prediction) và Kỹ thuậtmớ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 vectorchuyể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 –

Trang 36

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 đangchuyển động Vì vậy vector chuyển động của khối hiện tại thườnggần giống với khối liền kề của nó hay vector dự đoán chuyển độngMVP (Motion Vector Prediction) thường được tạo ra từ các khốiliền kề trong không gian Dự đoán vector chuyển động khai thácmối tương quan không gian và thời gian về vector chuyển động củacá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ênchính thức có hai vector chuyển động là một hoặc hai ứng viên không gian, mộttrong những ứng viên thời gian Nếu hai ứng viên không gian giống nhau hoặckhô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ốilâ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ìnhsáp nhập có nét tương đồng với AMVP Bước đầu tiên là lựa chọndanh 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ảichứa tất cả các dữ liệu chuyển động có tất cả các thông tin dự đoántrong khi danh sách vector ứng viên chuyển động chỉ có các vectorchuyển động

● Bù chuyển động [41]

Trang 37

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ềukhung được mã hóa trước đó được gọi là khung tham chiếu bằng cách bù chênhlệch giữa khung hiện tại và khung tham chiếu Thông tin liên quan đến vectorchuyển động (mô tả cách thức chuyển động được bù) và phần dư từ các khunghì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 (BlockMatching 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ánnhư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ỗikhung ảnh được đưa vào nén, H.265 sẽ thực hiện “two-stage coding” Khung saukhi đượ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ànhhai 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à InDCTngượ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ối4x4 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 đổiInDCT 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

Trang 38

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óanhằ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ácthuậ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ựchiệ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 trungnăng lượng một cách có hệ thống Do vậy để nâng cao hiệu quả của mã hóathông tin dư thừa, biến đổi cosin rời rạc DCT đã được thông qua Năng lượng tậptrung 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ẽ đượcgiả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ệcloạ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ảmnhậ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 đổikích thước 32×32, 16×16, 8×8 và 4×4 được áp dụng cho dữ liệu còn lại trongmỗi CU Sử dụng DCT/DST cho các khung mã hóa HEVC để loại bỏ sự lantruyề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ạithà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ựchiệ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ẩnHEVC Cả CAVLC và CABAC đều đã được trình bày ở phần mã hóa entropycủa H.264/AVC

● Bộ lọc vòng trong [41]

Trang 39

Bộ lọc vòng trong là một trong những thành phần quan trọng nhất củaH265 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 baogồm: Deblocking Filter và độ lệch tương thích mẫu SAO (Sample AdaptiveOffset)

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ựavào chế độ dự đoán, các khối liền kề, các vector chuyển động, cụ thể hơn mộtbiế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áchình ảnh khác nhau, hoặc số lượng vector giữa các khối không giống nhau

Trang 40

● 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ớnhơn, có nghĩa là số khối nhỏ hơn, sự phức tạp của bộ lọc deblocking filter trongH.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ácbiên độ tín hiệu ban đầu bằng cách áp dụng các độ lệch được lưu trữ trong bảngtra 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êmmộ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ị trongbả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ố 8lâ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

Ngày đăng: 25/05/2022, 00:54

HÌNH ẢNH LIÊN QUAN

Hình 4.15 dưới đây mô tả quá trình mã hóa video trong chuẩn H264. - 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
Hình 4.15 dưới đây mô tả quá trình mã hóa video trong chuẩn H264 (Trang 5)
3.2 Phương pháp tói ưu hoá giữa tỉ lệ bit và sự bóp méo hình ảnh RDO - 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
3.2 Phương pháp tói ưu hoá giữa tỉ lệ bit và sự bóp méo hình ảnh RDO (Trang 8)
Thực tế cho thấy, nếu muốn có một chất lượng hình ảnh tốt thì tỉ lệ bit phải cao tuy nhiên điều đó làm giảm hiệu quả nén và ngược lại nếu tỉ lệ bit thấp đồng nghĩa với việc chất lượng hình ảnh sẽ kém hơn. - 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
h ực tế cho thấy, nếu muốn có một chất lượng hình ảnh tốt thì tỉ lệ bit phải cao tuy nhiên điều đó làm giảm hiệu quả nén và ngược lại nếu tỉ lệ bit thấp đồng nghĩa với việc chất lượng hình ảnh sẽ kém hơn (Trang 8)
▪ Tham chiếu 1 chiều (khung hình trước hoặc sau nó). - 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
ham chiếu 1 chiều (khung hình trước hoặc sau nó) (Trang 11)
Hình 2.1. Quy trình mã hóa CAVLC - 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
Hình 2.1. Quy trình mã hóa CAVLC (Trang 13)
Gọi khối cần mã hóa là nC. Việc lựa chọn bảng để mã hóa nC phụ thuộc vào số lượng các hệ số khác không được mã hóa bên trái và bên trên khối đó “ tương ứng nA và nB” Một tham số nC được tính như sau - 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
i khối cần mã hóa là nC. Việc lựa chọn bảng để mã hóa nC phụ thuộc vào số lượng các hệ số khác không được mã hóa bên trái và bên trên khối đó “ tương ứng nA và nB” Một tham số nC được tính như sau (Trang 14)
VLC bảng cho mã thông báo hệ số ( Coeff_Token) T1sTổng hệ số - 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
b ảng cho mã thông báo hệ số ( Coeff_Token) T1sTổng hệ số (Trang 16)
Bảng 1: VLC bảng cho mã thông báo hệ số - 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
Bảng 1 VLC bảng cho mã thông báo hệ số (Trang 17)
Hệ số của level = +1 sử dụng bảng Level_VLC0 -&gt; 1 - 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
s ố của level = +1 sử dụng bảng Level_VLC0 -&gt; 1 (Trang 20)
VLC bảng cho Tổng số - 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
b ảng cho Tổng số (Trang 21)
Bảng cho mã hóa trước khi chạy ( run_before) Số  số 0 đứng liền - 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
Bảng cho mã hóa trước khi chạy ( run_before) Số số 0 đứng liền (Trang 22)
Hình 2.1. Quy trình mã hóa CAVLC - 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
Hình 2.1. Quy trình mã hóa CAVLC (Trang 23)
- |MVDx|&lt;9 sử dụng bảng 3.1 - 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
x |&lt;9 sử dụng bảng 3.1 (Trang 25)
Bước 2: Mô hình hóa ngữ cảnh: - 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
c 2: Mô hình hóa ngữ cảnh: (Trang 28)
Các bin còn lại được mã hóa bằng cách sử dụng một tron g4 mô hình ngữ cảnh khác - 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
c bin còn lại được mã hóa bằng cách sử dụng một tron g4 mô hình ngữ cảnh khác (Trang 29)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w