2.4.4.1. Giới thiệu
Sự gia tăng của các loại dịch vụ và số lƣợng TV độ phân giải cao đã thúc đẩy nhu cầu có một công cụ nén hiệu quả hơn.
Vào năm 2001, VCEG và MPEG cộng tác với nhau thành nhóm JVT (Join Video Team) để phát triển một chuẩn mã hoá video mới. Kết quả ra đời chuẩn nén ITU-T H.264/AVC, tƣơng đƣơng với tiêu chuẩn MPEG 4 Part 10/AVC về mã hoá video tiên tiến (Advance Video Coding), đƣợc cả ITU và ISO phát hành năm 2003.
Nhằm không ngừng nâng cao hiệu quả mã hoá, rất nhiều kỹ thuật đƣợc áp dụng vào trong MPEG 4/AVC nhằm khai thác tối đa sự tƣơng quan giữa các khung hình video và xử lý linh hoạt các tham số theo nội dung của cảnh video cần nén. MPEG 4/AVC cũng đã áp dụng rất nhiều công cụ đã đƣợc giới thiệu trong MPEG 4 Visual.
Trong các phần sau đây, ta sẽ gọi chuẩn này dƣới tên MPEG 4/H.264.
2.4.4.2. Phạm vi ứng dụng và các điểm tiêu biểu của MPEG 4/H.264
Chuẩn này đƣợc thiết kế cho các giải pháp kỹ thuật của các lĩnh vực ứng dụng sau đây:
Quảng bá trên các kênh vệ tinh, cáp, sóng mặt đất, DSL (Digital Subscriber Line)…
Lƣu trữ nối tiếp hoặc tƣơng tác trên các thiết bị quang và từ, trên DVD…
Các dịch vụ hội nghị trên ISDL, Ethernet, LAN, DSL, không dây và mạng di động…
Các dịch vụ đã phƣơng tiện hoặc video theo yêu cầu trên ISDL, cáp, DSL, LAN, mạng không dây…
Các dịch vụ nhắn tin đa phƣơng tiện (Multimedia Messaging Service-MMS) trên ISDL, DSL, Ethernet, LAN, mạng di động và mạng không dây.
Hơn nữa, các dịch vụ mới cũng có thể đƣợc thực hiện trên các mạng hiện tại hoặc tƣơng lai. Điều này dẫn đến yêu cầu về việc làm thế nào để quản lý sự đa dạng trong ứng dụng và khai thác mạng.
Để thực hiện việc này, MPEG 4/H.264 đƣa ra lớp mã hoá video (Video Coding Layer-VCL), đƣợc thiết kế để trình diễn hiệu quả các nội dung video, và
đƣa ra lớp mạng trừu tƣợng (Network Abstraction Layer-NAL) để định dạng sự trình diễn video của lớp VCL và cung cấp các thông tin mào đầu (Header) theo cách thích hợp cho việc truyền dữ liệu tại lớp truyền tải hoặc cho việc lƣu trữ dữ liệu.
Tƣơng quan với các giải pháp mã hoá trƣớc đây, ví dụ nhƣ MPEG 2, một số điểm tiêu biểu của MPEG 4/H.264 cho phép tăng hiệu quả nén, bao gồm cả khả năng dự đoán giá trị nội dung ảnh đƣợc trình bầy sau đây:
1. Kích thƣớc Block bù chuyển động nhỏ hơn: Chuẩn này cho phép lựa chọn kích thƣớc block bù chuyển động và hình dạng một cách mềm dẻo hơn tất cả các chuẩn trƣớc đó, với kích thƣớc block bù chuyển động tối thiểu đạt tới 4x4.
2. Bù chuyển động chính xác đến ¼ mẫu: các chuẩn trƣớc cho phép độ chính xác bù chuyển động đến tối đa là ½ mẫu. Chuẩn mới cho phép điều này đạt đến mức ¼ mẫu, nhƣ có thế thấy ở MPEG 4 Visual. Tuy nhiên độ phức tạp trong xử lý việc này đã giảm đi với MPEG 4/H.264.
3. Vector chuyển động tại đƣờng bao ảnh: trong khi vector chuyển động tại MPEG 2 cần phải chỉ đúng vào vùng ảnh đã đƣợc giải mã trƣớc đó thì MPEG 4/H.264 cho phép chỉ tới đƣờng bao của ảnh.
4. Bù chuyển động đa ảnh: các ảnh P trong MPEG 2 chỉ sử dụng 1 ảnh I hoặc P trƣớc đó để dự đoán ảnh tiếp theo. Với MPEG 4/H.264, dự đoán bù chuyển động từ nhiều ảnh trƣớc đó đƣợc lƣu trong bộ nhớ. Tƣơng tự nhƣ vậy với ảnh B.
5. Tách riêng thứ tự mã hoá khỏi thứ tự trình diễn: trong MPEG 2, có một sự phụ thuộc chặt chẽ giữa thứ tự mã hoá và thứ tự trình diễn. MPEG 4/H.264 cho phép bộ mã hoá có thể lựa chọn thứ tự mã hoá hoàn toàn độc lập với thứ tự trình diễn, miễn là dung lƣợng bộ nhớ của bộ giải mã đủ lớn. Điều này sẽ giảm đƣợc thời gian trễ khi mã hoá các ảnh dự đoán 2 chiều.
6. Tách riêng các giải pháp trình diễn ảnh khỏi khả năng làm ảnh chuẩn: trong các chuẩn trƣớc, các ảnh B là các ảnh đƣợc mã hoá từ việc dự đoán 2 chiều các ảnh khác, không thể đƣợc sử dụng nhƣ một ảnh chuẩn để dự đoán các ảnh khác trong chuỗi video. Chuẩn mới loại trừ việc này, do đó làm tăng tính mềm dẻo cho việc dự đoán chuyển động.
7. Dự đoán có trọng số: bƣớc đột phá mới trong MPEG 4/H.264 là cho phép tín hiệu dự đoán bù chuyển động đƣợc kết hợp với một giá trị trọng số đƣợc mô tả bởi bộ mã hoá. Chế độ dự đoán này là hỗ trợ cần thiết khi nén các cảnh có sự mờ đi (khi 1 cảnh đƣợc mờ đi vào cảnh khác), nhờ vậy mà tăng đƣợc hiệu quả nén.
8. Suy đoán chuyển động trực tiếp: với các chuẩn trƣớc, một khu vực bị bỏ qua sẽ không chuyển động trong nội dung cảnh. Điều này sẽ có ảnh hƣởng không tốt khi mã hoá video có chứa chuyển động toàn thể. Thay vì suy luận vùng bị bỏ qua, MPEG 4/H.264 đƣa ra giải pháp suy đoán chuyển động mới, gọi là bù chuyển động trực tiếp (Direct).
9. Switching slices (còn đƣợc gọi là SP và SI): là chức năng cho phép bộ mã hoá có thể chỉ thị cho bộ giải mã xâm nhập vào dòng bít để chuyển tốc độ bit hay có thể giải mã đƣợc ảnh tại đúng vị trí xâm nhập đó mà không cần sử dụng các ảnh khác.
10. Ảnh dự phòng (Redundant Picture): MPEG 4/H.264 có khả năng cho phép bộ mã hoá gửi đi hình ảnh dự phòng của vùng ảnh đƣợc truyền, nhằm khôi phục lại vùng ảnh bị mất ở trên đƣờng truyền.
Nhằm cải tiến các giải pháp dự đoán, một số phần khác của chuẩn cũng đƣợc nâng cao để tăng hiệu quả nén:
11. Biến đổi với kích thƣớc block nhỏ: tất cả các chuẩn trƣớc đều sử dụng kích thƣớc block biến đổi là 8x8, trong khi MPEG 4/H.264 dựa trên kích thƣớc 4x4. Do có kích thƣớc block nhỏ hơn nên sẽ độ sai khác giữa ảnh thật và ảnh dự đoán giảm đi, nhờ vậy tăng hiệu quả nén.
12. Thực hiện các biến đổi với kích thƣớc block phân cấp: cho phép kích thƣớc block có thể tăng lên trong một số trƣờng hợp.
13. Phép biến đổi ngƣợc chính xác: trong các chuẩn mã hoá video trƣớc đây, các phép biến đổi đƣợc sử dụng cho trình diễn video thƣờng có ngƣỡng chấp nhận lỗi cho phía thu, do không thể đạt đƣợc phép biến đổi ngƣợc lý tƣởng trên lý thuyết. Vì thế, mỗi bộ giải mã sẽ có tín hiệu video khác một chút so với bộ mã hoá, điều này làm ảnh hƣởng đến chất lƣợng video. MPEG 4/H.264 là tiêu chuẩn đầu tiên đạt đƣợc sự chính xác về chất lƣợng của tín hiệu video giải mã từ tất cả các bộ giải mã.
14. Mã hoá entropy số học: một phép mã hoá entropy tiên tiến đƣợc áp dụng trong MPEG 4/H.264 là mã hoá số học nhị phân theo nội dung CABAC (Context Adaptive Binary Arithmetic Coding). Phƣơng pháp mã hoá này dựa trên khả năng chon lựa các chế độ cho mỗi cú pháp dựa vào nội dung.
15. Mã hoá entropy theo nội dung: phƣơng pháp mã hoá entropy thứ 2 đƣợc áp dụng trong MPEG 4/H.264 là mã hoá độ dài thay đổi theo nội dung (CAVLC-Context Adaptive Variable Length Coding). Phƣơng pháp này đƣợc thiết kế để mã hoá độ dƣ thừa các hệ số chuyển đổi của các khối 4x4 và 2x2.
Một số cải tiến nhằm nâng cao việc truyền dữ liệu trên các mạng cũng đƣợc thêm vào MPEG 4/H.264
16. Cấu trúc bộ thông số: đƣợc thiết kế để truyền các bit có tính chìa khoá trong dòng dữ liệu nhƣ thông tin header, một cách độc lập và mềm dẻo hơn, nhằm đảm bảo có thể khôi phục chính xác dữ liệu tại đầu thu.
17. Cấu trúc cú pháp đơn vị NAL: mỗi cấu trúc cú pháp trong MPEG 4/H.264 đƣợc đặt trong một gói dữ liệu logic, đƣợc gọi là đơn vị NAL. Điều này cho phép sự tuỳ biến lớn hơn trong các giải pháp truyền nội dung video.
18. Kích thƣớc Slice mềm dẻo: khắc phục nhƣợc điểm trong MPEG 2, khi có nhiều header trong slice làm giảm hiệu quả mã hoá.
19. Thứ tự macroblock mềm dẻo (FMO) và thứ tự macroblock tuỳ ý (AMO): là kỹ thuật cho phép khôi phục lại thứ tự trình diễn của các MB khi không đúng nhƣ thứ tự trình diễn..
2.4.4.3. VCL (Video Coding Layer)
Trong các chuẩn mã hóa video trƣớc của ITU-T và ISO/IEC, VCL dựa trên đơn vị mã hoá là các block, tại đó các ảnh đƣợc mã hoá sẽ đƣợc thể hiện dƣới dạng các macroblock. Thuật toán mã hoá là sự kết hợp của nén liên ảnh để loại trừ dƣ thừa thời gian và phép biến đổi DCT để loại trừ dƣ thừa không gian.
Với VCL của MPEG 4/H.264, không có cải tiến nào mang tính đột phá, nhƣng có một số điểm bổ sung nhỏ đƣợc kết hợp lại để nâng hiệu quả nén.
a. Ảnh, khung và mành
Một chuỗi video đƣợc mã hoá trong MPEG 4/H.264 bao gồm chuỗi các ảnh đƣợc mã hoá. Một bức ảnh đƣợc mã hoá có thể trình diễn dƣới 1 trong 2 dạng là khung hình hoặc mành đơn. Một khung hình quét liên tục bao gồm 2 mành quét xen kẽ. Mã hoá tại VCL không dựa trên thời gian mà dựa trên cơ sở về hình học.
b. Chia ảnh vào các Macroblock
Một bức ảnh có thể đƣợc chia vào các MB có kích thƣớc cố định là một khu vực gồm 16x16 mẫu chói và 8x8 mẫu mầu. MPEG 4/H.264 cũng định nghĩa các MB nhƣ các chuẩn trƣớc đây.
c. Slice và nhóm Slice
Một slice là một chuỗi các MB đƣợc xử lý theo thứ tự quét. Trong mỗi slice có chứa các thông tin cần thiết để giải mã ra vùng ảnh chứa trong slice đó.
Nếu có sử dụng kỹ thuật FMO, việc chia nội dung ảnh vào các MB và các slice sẽ mềm dẻo hơn với cơ sở nhóm slice. Nhóm slice là một tập hợp các MB đƣợc xác định từ bản đồ xắp xếp MB vào nhóm slice . Bản đồ này cũng chứa con số nhận dạng nhóm slice mà các MB đó thuộc về
Hình 2.11: Phân chia Slice và nhóm slice
Tuỳ theo việc có sử dụng kỹ thuật FMO hay không, mỗi slice có thể đƣợc mã hoá với kỹ thuật khác nhau sau đây:
I slice: là slice mà tất cả các MB của nó đều đƣợc mã hoá theo
phƣơng pháp dự đoán trong ảnh.
P slice: một số MB trong slice đƣợc mã hoá theo phƣơng pháp dự
đoán liên ảnh.
B slice: một số MB đƣợc mã hoá từ các MB khác theo 2 chiều
Một số kỹ thuật mới đƣợc thêm vào nhƣ sau:
SP, SI slice: là kỹ thuật cho phép đầu thu có thể truy cập ngẫu
nhiên vào dòng bit để thay đổi tốc độ, khôi phục lỗi hay các mục đích khác.
d. Chu trình mã hoá và giải mã MB
Tất cả các mẫu mầu và chói của các MB đƣợc dự đoán không gian và thời gian. Kết quả dự đoán sẽ đƣợc mã hoá biến đổi. Để thực hiện mã hoá biến đổi, các tín hiệu dự đoán đƣợc chia thành các block 4x4. Sau đó đƣợc biến đổi bằng phép biến đổi cái nguyên. Kết quả đƣợc lƣợng tử hoá và mã hoá entropy.
Hình 2.12: Sơ đồ mã hoá MacroBlock
e. Dự đoán trong ảnh
Có 2 kích thƣớc để dự đoán là 4x4 và 16x16. Chế độ dự đoán với kích thƣớc 4x4 phù hợp với các phần ảnh có độ chi tiết cao còn chế độ dự đoán với kích thƣớc 16x16 phù hợp với các phần ảnh mịn.
MPEG 4/H.264 còn có thêm chế độ mã hoá trong ảnh I_PCM, chế độ này không thực hiện mã hoá theo các giá trị đã đƣợc biến đổi. I_PCM cho phép truyền trực tiếp các giá trị đƣợc mã hoá.
Chế độ mã hoá cho phép đạt đƣợc các mục đích sau:
Cho phép bộ mã hoá có thể biểu thị một cách chính xác giá trị của các mẫu.
Đƣa ra phƣơng thức để biểu thị một cách chính xác nội dung bất thƣờng của ảnh mà không làm tăng đáng kể dữ liệu.
Nó cho phép giới hạn tuyệt đối số lƣợng bit trong MB mà không làm ảnh hƣởng đến chất lƣợng hình ảnh.
Các chuẩn mã hoá trƣớc đây đều thực hiện trên một miền đã biến đổi, còn MPEG 4/H.264 với chế độ mã hoá I_PCM vẫn thực hiện hoàn toàn trên miền không gian.
f.Dự đoán liên khung
IV.3.6.1 Dự đoán liên khung với slice P
MPEG 4/H.264 hỗ trợ nhiều kích thƣớc dự đoán nhỏ hơn, từ 16x16 đến 4x4. Mỗi MB có thể chia thành 4 phân đoạn 8x8, mỗi phân đoạn 8x8 lại có thể
chia thành 4 phân đoạn 4x4. Mỗi phân đoạn đều yêu cầu phải có vector chuyển động riêng.
Nhƣ vậy 1 MB có thể có tối đa là 16 vector chuyển động.
Hình 2.13: Kích thƣớc dự đoán MB
Việc bù chuyển động để khôi phục lại ảnh yêu cầu cả phía phát và phía thu phải lƣu trữ các ảnh chuẩn để dự đoán.
Hình 2.14: Dự đoán bù chuyển động
Khi giải mã bù chuyển động, đầu thu sẽ đọc các thông số ảnh tham chiếu trong bộ nhớ đệm. Trên cơ sở đó sẽ khôi phục lại ảnh gốc
Ảnh P cũng có thể đƣợc mã hoá theo chế độ P_skip. Với chế độ mã hoá này, không phải bảng các giá trị lƣợng tử sai số, hay vector bù chuyển động, hay các thông số trình diễn đƣợc truyền đi, mà tín hiệu khôi phục ảnh tại đầu thu chính là tín hiệu dự đoán chuyển động của microblock P_16x16 lƣu tại vị trí đầu tiên của chuỗi trong bộ nhớ đêm của đầu thu.
Chế độ P_skip phù hợp với các trƣờng hợp có một vùng ảnh rộng không có thay đổi.
IV.3.6.2 Dự đoán liên khung với ảnh B Dự đoán khung ảnh B sử dụng 2 danh sách:
- Danh sách 0 chứa các ảnh gần nhất trƣớc đó - Danh sách 1 chứa các ảnh gần nhất sau đó
Dự đoán khung ảnh B có thể theo 1 trong 4 phƣơng thức: dự đoán từ các ảnh trong danh sách 0, từ các ảnh trong danh sách 1, dự đoán 2 chiều và dự đoán trực tiếp.
Với chế độ dự đoán 2 chiều, tín hiệu dự đoán đƣợc tạo nên từ giá trị trung bình của các tín hiệu bù chuyển động theo danh sách 0 và danh sách 1, có bổ sung trọng số.
Chế độ dự đoán trực tiếp, ảnh đƣợc suy ra từ các cú pháp dự đoán ảnh truyền trƣớc đó, có thể là theo danh sách 0 hoặc 1 hoặc theo chế độ 2 chiều.
Các slice B cũng sử dụng phân chia MB nhƣ slice P. Dự đoán liên khung với ảnh B cũng có chế độ B_skip tƣơng tự nhƣ với ảnh P.
g.Biến đổi Cosin
MPEG 4/H.264 cũng sử dụng biến đổi cosin để loại trừ các dƣ thừa trong ảnh. Tuy nhiên khác với MPEG 2, phép biến đổi DCT đƣợc thực hiện với các block 4x4. Thay vì sử dụng DCT cho khối 4x4, một phép biến đổi thứ nguyên với các đặc tính tƣơng tự nhƣ phép DCT cho block 4x4 đƣợc sử dụng.
Việc sử dụng DCT với block có kích thƣớc nhỏ sẽ đem lại một số lợi ích sau:
- Giảm tƣơng quan về không gian trong khối
- Giảm nhiễu đƣờng biên của phần ảnh mà block đó mang thông tin. - Giảm sự phức tạp trong tính toán và sai lệch giữ mã hoá và giải mã.
h. Mã hoá Entropy.
MPEG 4/H.264 sử dụng 2 loại mã hoá có cấu trúc phức tạp hơn nhƣng hiệu quả hơn là:
- Mã hoá độ dài thay đổi theo nội dung (Context Adaptive Variable Length Coding – CAVLC)
- Mã hoá nhị phân tƣơng thích nội dung (Context Adaptive Binary Arithmetic Coding – CABAC).
2.5.Nén HDTV
Về bản chất HDTV không khác biệt so với SDTV cả về mặt tƣơng tự và số hoá. Vấn đề duy nhất gặp phải khi triển khai HDTV chính là độ rộng băng thông yêu cầu để đảm bảo chất lƣợng. Ngoài một số hệ HDTV tƣơng tự của Nhật và châu Âu, chỉ có số hoá mới có thể phát triển đƣợc HDTV.
MPEG 2 đã có lịch sử phát triển hơn 10 năm, song bây giờ sẽ là thời điểm của MPEG 4/H.264 với hiệu quả nén vƣợt trội.