1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phương pháp tiên tiến nén video AVC và ứng dụng

65 117 0

Đ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

Định dạng
Số trang 65
Dung lượng 5,62 MB

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

Nội dung

Phương pháp tiên tiến nén video AVC và ứng dụng

Trang 2

NỘI DUNG

- Tìm hiểu chung phương pháp nén Video tiên tiến (AVC: Advanced

Video Coding)

- Tìm hiểu chuẩn MPEG - 4/ H264 AVC

- So sánh phương pháp nén Video chuẩn MPEG - 4 với phương pháp

nén Video theo chuẩn MPEG - 1

- Tìm hiểu một thuật toán trong nén theo chuẩn MPEG - 4, thử nghiệm

ứng dụng

Trang 3

Tìm hiểu chung phương pháp nén Video tiên

tiến AVC và chuẩn MPEG - 4/ H264 AVC

- H.264/ MPEG - 4 Part 10 hay AVC (Advanced Video Coding),

thường được gọi tắt là H.264

- Là một chuẩn mã hóa/ giải mã Video và định dạng video đang được

sử dụng rộng rãi hiện nay để ghi, nén và chia sẻ Video phân giải cao,

dựa trên việc bù chuyển động (Motion - Compensation) trên từng Block (Block Oriented).

Trang 4

Tìm hiểu chung phương pháp nén Video tiên

tiến AVC

- Kỹ thuật SVC (Scalable Video Coding) được sử dụng trong phương

pháp này để thể hiện sự tiên tiến

Trang 5

Ứng dụng

- MPEG4 Part 10 /H264 hay AVC là một trong những định dạng

đang được dùng phổ biến nhất hiện nay trong công nghệ mã hóa, phân phối và xử lý Video

- Ví dụ: Digital Television, DVD and Blu - Ray Disks, Mobile TV,

Video Conferencing and Internet Video Streaming, iTunes Store Movies/ Videos…

Trang 6

Đặc tính nổi bật của chuẩn nén Video

MPEG - 4/ H.264/ AVC

- Dự đoán không gian định hướng trong kiểu mã hóa Intra: hỗ trợ tới

17 kiểu dự đoán, làm cho việc dự đoán mẫu được chính xác hơn, đạt hiệu quả nén cao hơn

- Bù chuyển động với kích thước nhỏ có thể thay đổi Kích thước bù

chuyển động nhỏ nhất là 4x4, điều này mang lại hiệu suất 15% so với MPEG - 2

- Bù chuyển động với nhiều hình tham khảo

- Tách riêng hình tham khảo và hình hiển thị

Trang 7

Đặc tính nổi bật của chuẩn nén Video

MPEG - 4/ H.264 AVC

- Giảm dư thừa về không gian tốt hơn

- Lượng tử hóa thích nghi

- Sử dụng bộ lọc tách khối

- Kiểu dự đoán trọng số H.264/ AVC có thể hỗ trợ quá trình mờ dần

hay tối dần khung hình trong những đoạn Film có hiệu ứng mờ dần

(những frame đến sau rất giống so với những frame ngay trước nó, chỉ có sắc độ là khác một chút).

Trang 8

Các Profile và các Level

H.264/AVC có 4 Profile như sau:

Trang 9

Các Profile và các Level

Các phần mã hóa của các Profile trong H.264

Trang 10

Các phần chung cho tất cả các Profile

- Slice I (Slice mã hoá trong ảnh): Slice đã mã hoá bằng việc sử dụng

dự đoán chỉ từ các mẫu đã mã hoá bên trong cùng một Slice

- Slice P (Predictive - Coded Slice ): các Slice được mã hoá bằng việc

sử dụng dự đoán liên ảnh từ các ảnh tham chiếu đã được mã hoá trước đó sử dụng hầu hết cho Vector chuyển động và hệ số tham chiếu để dự đoán các giá trị mẫu cho mỗi Block

- CAVLC (Context - Based Adaptive Variable Lengh Coding): mã hoá

độ dài biến đổi tương thích với tình huống, cho mã hoá Entropy

Trang 11

Kiến trúc phân lớp của H.264/ AVC

H.264/ AVC Codec bao gồm 2 khối : Video Coding Layer ( VCL)

và Network Abstraction Layer ( NAL)

Trang 12

Cấu trúc dòng bit

- Bit đầu tiên là bit 0

- 2 bits tiếp theo được sử dụng để chỉ ra rằng có hay không NALU

chứa chuỗi (tập hợp) các tham số Picture hoặc một mảnh của một

Picture tham chiếu

- 5 bits tiếp theo được sử dụng để chỉ ra loại của NALU Units, cái

tương ứng với loại dữ liệu được mang trong NALU Unit

Trang 13

Quá trình nén H264/ MPEG – 4:

Sơ đồ khối mã hóa H.264/ AVC

Trang 14

Bù chuyển động trong các Slice P (dự đoán liên ảnh):

Sơ đồ nguyên lý nén Slice P

Trang 15

- Các dạng mã hóa bù chuyển động được xác định cho các

Macroblock Slice P Dự đoán liên ảnh làm giảm sự tương quan theo thời gian với sự trợ giúp của việc ước tính Vector chuyển động và bù chuyển động

- Chia các Macroblock thành các Block

- Các giá trị dự đoán cho thành phần chói và thành phần màu

- Bù chuyển động MPEG – 4 Part 10/ H.264 cho phép các Vector

chuyển động không hạn chế, tức là chúng có thể hướng ra ngoài miền ảnh

- MPEG – 4 Part 10/ H.264 hỗ trợ dự đoán bù chuyển động đa ảnh

- Ngoài các Mode bù chuyển động được mô tả ở trên, Macroblock

Slice P cũng có thể được mã hóa trong Mode gọi là SKIP

Trang 16

- So với các tiêu chuẩn trước đó, MPEG – 4 Part 10/ H.264 đã tổng

quát khái niệm Slice B và không chỉ hỗ trợ một cặp dự đoán theo hướng tiến/ lùi mà còn cả hai cặp theo hướng tiến/ tiến và lùi/ lùi

- Các Mode dự đoán trong Slice B: Trong Slice B có 4 Mode dự đoán

liên ảnh khác nhau được hỗ trợ: dự đoán list 0, list 1, hai hướng và trực tiếp

Trang 17

Bộ giải mã

Sơ đồ khối giải mã H.264/ AVC

Trang 18

- Bù chuyển động: Bù chuyển động thực hiện việc thiết lập lại các

khung trên cơ sở các Vector đã nhận được, dữ liệu Delta (dữ liệu

khác nhau giữa hai khung liên tiếp) và hình ảnh đã được mã hóa

trước đó

- Khôi phục lỗi: Một trong những nhiệm vụ quan trọng nhất của bộ

giải mã là làm phù hợp và khôi phục lại các lỗi chắc chắn xảy ra, đặc biệt là khi kết nối qua các liên kết dễ xảy ra lỗi như mạng không dây

Trang 19

Các kỹ thuật trong H.264/ AVC

- Instantaneous Decoding Refresh Picture

- Switching I – Slices and Switching P – Slices

- Transform and QuantizationIntraframe Coding with Directional

Spatial Prediction

- Adaptive Block Size Motion Compensation

Trang 20

So sánh phương pháp nén Video chuẩn MPEG – 4 với MPEG – 1

Sơ đồ nén MPEG – 1:

Trang 21

Nén Frame I:

Trang 22

Nén Frame B, P:

Trang 23

Sơ đồ nén MPEG – 4:

Trang 24

- MPEG – 1 (1992) – mã ISO/ IEC

11172: sử dụng chủ yếu để ghi

CD – ROM, VCD

- Độ phân giải 352x240, 25-30

ảnh/s, tốc độ từ 1.2 - 1.5 Mbit/s,

cấu trúc lấy mẫu 4:2:0

- Không cho phép mã hóa dữ liệu

phương tiện hay lưu trữ với không gian ổ đĩa giới hạn.

- do đó thích hợp cho MPEG – 4 cần thuật toán tốt hơn để quét và xác định những Pixel có thể được loại bỏ, để giảm kích thước dữ liệu hơn nữa.

Trang 25

Mã hóa frame I

Nếu một khối hoặc macroblock được mã hóa trong chế độ intra, một khối dự đoán được tạo dựa trên các khối được mã hóa tạo ra trước đó Khối dự đoán P này được trừ đi khối hiện tại trước khi mã hóa Đối với thành phần độ chói (luma), P có thể được tạo cho mỗi khối phụ 4x4 hoặc cho một macroblock 16x16 Có tổng cộng 9 chế độ dự đoán cho mỗi khối luma 4x4; 4 chế độ cho khối luma 16x16; và một chế độ luôn được áp dụng cho mỗi khối chroma 4x4.

Trang 26

Mã hóa frame I

Trong hình bên, khối 4x4 bên trái đã

được mã hóa và được sử dụng làm frame tham chiếu, khối bên phải là khối cần mã hóa Frame P được dự đoán dựa trên các mẫu từ A đến M như bảng dưới Tiếp

theo là 9 kiểu dự đoán Nếu các mẫu E,

F, G, H không có, giá trị của chúng được copy từ mẫu D

Chế độ dự đoán cho khối luma 4x4

Trang 27

Mã hóa frame I

Ví dụ về các chế độ dự đoán

Chế độ dự đoán cho khối luma 4x4

Trang 28

Mã hóa frame I

Dưới đây là 4 kiểu dự đoán cho khối luma 16x16

Chế độ dự đoán cho khối luma 16x16

Trang 30

Mã hóa frame I

Chế độ dự đoán cho khối chroma 8x8

Mỗi thành phần chroma 8x8 được dự đoán dựa trên các mẫu chroma ở trên và/hoặc bên trái đã được mã hóa trước đó 4 chế độ dự đoán tương

tự như các chế độ dự đoán cho khối luma 16x16 đã trình bày ở trên, chỉ khác ở số hiệu các chế độ:

Mode 0: DC

Mode 1: Horizontal

Mode 2: Vertical

Mode 3: Plane

Trang 31

Mã hóa frame I

Mã hóa kiểu dự đoán

Kiểu dự đoán của mỗi khối 4x4 phải được thông báo cho bộ giải mã và

có thể tốn nhiều dung lượng Tuy nhiên, kiểu dự đoán của các khối 4x4

kề nhau là có tương quan Bộ mã hóa sử dụng 1 cờ để đánh dấu cho biết một khối 4x4 có sử dụng cùng kiểu dự đoán với các khối kề nó hay

không

Trang 32

Mã hóa frame P

Mã hóa kiểu inter tạo ra mẫu dự đoán từ một hoặc nhiều frame được mã hóa trước đó bằng cách dịch chuyển các mẫu từ các frame tham chiếu (dự đoán bù chuyển động) H.264 sử dụng bù chuyển động theo khối

như một số chuẩn trước đó, nhưng khác biệt ở việc hỗ trợ nhiều kích

thước block, nhỏ nhất là 4x4 và hỗ trợ các vector chuyển động rất nhỏ, tối thiểu ¼ pixel đối với thành phần luma

Trang 33

Mã hóa frame P

Bù chuyển động theo cấu trúc cây (thành phần luma)

Trang 34

Mã hóa frame P

Ví dụ bộ mã hóa tự động chọn cách phân vùng tốt nhất

Trang 35

Mã hóa frame P

Vector chuyển động nhỏ hơn điểm ảnh

Các mẫu luma và chroma ở các vị trí nhỏ hơn điểm ảnh không tồn tại trong hình tham chiếu, do đó cần nội suy chúng từ các mẫu gần đó, ví dụ như hình dưới

Trang 36

Mã hóa frame P

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

Một vector dự đoán MVP được tính dựa trên các vector chuyển động đã được tính trước đó Sau đó, vector MVD được tạo ra là sự sai khác giữa vector thực tế và vector được tính Việc tạo vector MVP phụ thuộc cách phân vùng

Ở bộ giải mã, vector MVP được tạo ra theo cách tương tự, rồi cộng với vector sai khác MVD

Trang 37

Biến đổi và lượng tử hóa

Nhiều phép biến đổi được mô tả trong chuẩn H.264: biến đổi 4x4 cơ bản, biến đổi Hadamard 4x4 và 2x2, biến đổi 8x8

Trang 38

Biến đổi và lượng tử hóa

Phép biến đổi chiều thuận

Trang 39

Biến đổi và lượng tử hóa

Trang 40

Biến đổi và lượng tử hóa

Phép biến đổi chiều thuận

Để khôi phục tính trực chuẩn của A, ta lấy Trong đó

Cuối cùng ta được

Trang 41

Biến đổi và lượng tử hóa

Phép biến đổi chiều thuận

Giá trị của Mf có thể tra từ bảng:

Trang 42

Biến đổi và lượng tử hóa

Vi là ma trận 4x4 được định

nghĩa sẵn trong chuẩn H.264,

phụ thuộc vào Qstep, tức là QP

Giá trị của Vi với QP từ 0 đến 5

như bảng

Trang 43

Các thông tin cần mã hóa và truyền đi:

- Loại macroblock

- Các hệ số mã hóa

- Các tham số lượng tử

- Chỉ số của frame tham chiếu (dùng cho dự đoán inter)

- Vector chuyển động (vector MVD)

- Dữ liệu còn dư

Trang 44

Mã hóa số các hệ số và dãy các số 1 (Trailing ones) : Coeff_Token

- Coeff_Token mã hóa tổng số hệ số khác 0

(TotalCoeffs) và số dãy các giá trị +/-1 (T1)

- Có 4 lựa chọn của bảng tìm kiếm sử dụng để mã hóa coeff_token: Num-VLC0, Num-VLC1, Num-VLC2 và

Trang 45

thành phần DC

- Lựa chọn của bảng VLC để mã hóa mỗi mức dựa trên biên độ của các mức đã mã hóa -> context based

- Có 7 bảng VLC để lựa chọn: từ

Level_VLC0 đến Level_VLC6

Level_VLC0 mã hóa theo biên độ

nhỏ, tiếp tục tăng dần với các bảng còn lại

Trang 46

Mã hóa tổng số số 0 trước hệ số cuối cùng

(TotalZeros): Là số các số 0 trước hệ số khác 0 lớn

nhất trong mảng đã sắp xếp

Mã hóa từng dãy số 0: Số các số 0 ở trước mỗi hệ số

khác 0 (run-before) được mã hóa theo thứ tự ngược với

2 ngoại lệ

- Không còn số 0 nào để mã hóa (Tổng run-before

bằng TotalZeros): không cần mã hóa thêm giá trị before nào nữa

run Không cần mã hóa giá trị runrun before cho hệ số khác

0 có tần số thấp nhất

Trang 47

Ví dụ về mã hóa CAVLC

Khối 4x4: sau khi biến đổi và lượng tử hóa:

Dãy thu được khi quét zig-zag: 0,3,0,1,-1,-1,0,1,0,0, TotalCoeffs = 5

TotalZeros = 3

T1s = 3

Trang 48

Dãy bit cho khối này là: 000010001110010111101101Giải mã:

Bộ giải mã đã thêm hai số 0, nhưng TotalZeros = 3

nên một số 0 được thêm vào trước hệ số thấp nhất, ta thu được dãy đầu ra:

0,3,0,1,-1,-1,0,1

Trang 49

Ví dụ về mã hóa CAVLC

Khối 4x4: sau khi biến đổi và lượng tử hóa:

Dãy thu được khi quét zig-zag: -2,4,3,-3,0,0,-1,0,0, TotalCoeffs = 5

TotalZeros = 2

T1s = 1

Trang 51

Một đặc trưng riêng của mã hóa dựa

trên cơ sở khối là có thể nhìn thấy các

cấu trúc khối Các mép khối được cấu

trúc lại với độ chính xác kém hơn các

pixel bên trong và nhìn chung “dạng

khối” (blocking) được xem là một

trong những nhiễu (artifact) dễ thấy

nhất với các phương pháp nén hiện tại

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Trang 52

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Bộ lọc tách khối được sử dụng thích nghi ở nhiều mức độ:

- Ở mức Slice: cường độ bộ lọc toàn phần có thể điều chỉnh theo đặc

điểm của chuỗi ảnh

- Ở mức mép khối: cường độ lọc phụ thuộc vào kiểu dự đoán Intra

hay Inter, sai số chuyển động

- Ở mức mẫu: Các giá trị mẫu và các điểm bắt đầu phụ thuộc vào bộ

lượng tử hóa có thể dừng lọc cho mỗi mẫu riêng biệt

Trang 53

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Boundary Strength (Bs)

Trang 54

Thuật toán deblocking trong H.264/AVC

Video (Deblocking Filter)

Nguyên lý lọc tách khối:

Ở cấp độ xử lý mẫu, nội

Trang 55

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Quá trình lọc khối

Bước 1: Chia bức ảnh thành các khối MB và tìm khối bị nhiễu

Trang 56

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Bước 2: Lọc cạnh thành phần độ chói theo chiều dọc

Trang 57

Thuật toán deblocking trong H.264/AVC

Video (Deblocking Filter)

Bước 3: Lọc cạnh thành phần độ chói theo chiều ngang

Trang 58

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Bước 4: Lọc cạnh thành phần sắc màu

Trang 59

Thuật toán Deblocking trong H.264/AVC

Video (Deblocking Filter)

Thực hiện bộ lọc

Trang 60

Ứng dụng chuyển đổi Video từ các định

dạng khác sang H264

- WinX H264 Converter Deluxe:

• Chuyển đổi định dạng video H.264 sang các định dạng video MPEG, MP4, MKV, AVC, AVI, MOV, MP3, AAC,

MP3

• Chuyển đổi định dạng MKV, AVCHD, MOD, camcorder/Blu-ray HD, SD sang định dạng H.264.

• Tốc độ chuyển đổi nhanh, chất lượng cao

- QuickTime Player: Hỗ trợ H.264 nhưng không hỗ trợ tất cả các định

dạng Video khác

Trang 61

Ứng dụng chuyển đổi Video từ các định dạng khác sang H264

Giao diện WinX H.264 Video

Trang 62

Ứng dụng chuyển đổi Video từ các định

dạng khác sang H264

Sử dụng 1 video có dạng .webm không thuộc định dạng H264 nên không thể mở trên quick time và sử dụng phần mềm WinX H.264 Video Converter Deluxe để làm video được chuyển đổi sang định dạng H264

Trang 63

Ứng dụng chuyển đổi Video từ các định dạng khác sang H264

Click vào Run và chờ video được chuyển sang dạng H264

Trang 64

Ứng dụng chuyển đổi Video từ các định dạng khác sang H264

Kết quả khi chạy trên Quicktime

Trang 65

Ứng dụng chuyển đổi Video từ các định dạng khác sang H264

So sánh chi tiết giữa 2 file trước và sau khi chuyển

Ngày đăng: 18/01/2019, 10:59

TỪ KHÓA LIÊN QUAN

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