Hiện nay MPEG-4 đã được phát hành và đang phát triển gồm 16 phần bao quát toàn bộ các vấn đề hệ thống, video, audio, truyền dẫn … Trong đó MPEG-4 Visual và H.264 được biết như Mã hoá vid
Trang 1Hµ néi - 2004
Trang 2Lời cam đoan
Tôi tên là : Phan Tiến Dũng
Học viên lớp Cao học Công nghệ thông tin 2002
Tôi đã làm đồ án tốt nghiệp cao học CNTT với tên đề tài: N ghiên cứu tìm hiểu chuẩn MPEG-4 và phương pháp tiên tiến nén video theo chuẩn MPEG-4 và H.264, do PGS.TS Nguyễn Thị Hoàng Lan hướng dẫn
Tôi xin cam đoan nội dung trong đồ án tốt nghiệp này là do tôi tìm hiểu, nghiên cứu và thực hiện Nếu sai tôi hoàn toàn chịu trách nhiệm trước trường, pháp luật
Hà Nội, ngày tháng năm 2004
Người cam đoan
Phan Tiến Dũng
Trang 3Mục lục
Lời cam đoan 2
Mục lục 3
Danh mục các ký hiệu, các chữ viết tắt 6
Danh mục các bảng 8
Danh mục các hình vẽ đồ thị 9
Mở đầu 11
Chương I: Video số và chuẩn mpeg-4 13
1.1 Giới thiệu 13
1.2 Các thành phần của chuẩn MPEG-4 14
Chương II: tìm hiểu mpeg-4 visual và các đặc tả nội dung 18 2.1 Khái quát MPEG-4 Visual 18
2.1.1 Các tính năng 19
2.1.2 Các công cụ, đối tượng, mô tả và các mức 20
2.1.3 Các đối tượng video 22
2.2 Mã hoá các khung hình chữ nhật 23
2.2.1 Định dạng video vào ra 23
2.2.2 Mô tả đơn giản 24
2.4 Mã hoá các vùng có hình bất kỳ 26
2.4.1 Mô tả lõi 27
2.4.2 Mô tả chính 32
2.4.3 Mô tả hiệu quả mã hoá tiên tiến (ACE) 35
2.4.4 Mô tả N-bit 36
2.5 Mã hoá video liên hoàn 36
2.5.1 Liên hoàn không gian 37
2.5.2 Liên hoàn thời gian 37
2.6 Mã hoá bề mặt 37
Chương III: tìm hiểu chuẩn H.264/ MPEG-4 phần 10 40
3.1 Khái quát về sơ đồ mã hoá theo chuẩn H.264 40
3.2 Cấu trúc H.264 41
Trang 43.2.1 Các mô tả và các mức 41
3.2.2 Định dạng video 42
3.2.3 Định dạng dữ liệu mã hoá 43
3.2.3 Định dạng dữ liệu mã hoá 43
3.2.4 Các hình ảnh tham khảo 43
3.2.5 Các lát 44
3.2.6 Macroblocks 45
3.3 Mô tả dòng cơ bản 45
3.3.1 Khái quát 45
3.3.2 Quản lý ảnh tham khảo 46
3.4 Mô tả chính 46
3.5 Mô tả mở rộng 47
3.5.1 Các lát SP và SI 47
3.5.2 Các lát dữ liệu phân đoạn 48
3.6 Truyền tải H.264 48
3.7 So sánh giữa MPEG-4 Visual và H.264 49
Chương IV: nghiên cứu các kỹ thuật tiên tiến cải thiện khả năng dự đoán dựa vào nội dung trong H.264/AVC 50
4.1 Khái quát chung 50
4.2 Dự đoán chuyển động 50
4.2.1 Dự đoán trong khung hình 50
4.2.2 Dự đoán liên ảnh 52
4.2.3 Dự đoán các khối trong lát B 58
4.2.4 Dự đoán trọng số 61
4.3 Dự đoán nội dung trong mã hoá 62
4.3.1 Mã hoá độ dài thay đổi thích nghi với nội dung (Context-based Adaptive Variable Length Coding CAVLC) 62
4.3.2 Mã hoá số học nhị phân thích nghi với nội dung (Context-based Adaptive Binary Arithmetic Coding CABAC) 67
4.3.3 Cải thiện mã hoá các hệ số chuyển đổi trong CABAC 71
4.3.4 Thêm cây khung cảnh (Context-Tree Weighting CTW) 74
4.4 Kết luận 77
Trang 5công nghệ nén video theo chuẩn mpeg-4 78
5.1 Đặt vấn đề, mục đích thiết kế thử nghiệm 78
5.2 Thiết kế các chức năng 78
5.2.1 Tiền xử lý 79
5.2.2 Phân tách các đối tượng 80
5.2.3 Dự đoán chuyển động 81
5.2.4 DCT/IDCT 81
5.2.5 Biến đổi Wavelet (DWT) 82
5.2.6 Lượng tử/ thay đổi tỷ lệ 82
5.2.7 Mã hoá entropy 83
5.2.8 Hậu xử lý 84
Chương VI: Kết quả và đánh giá 86
6.1 Đánh giá kết quả thực nghiệm 86
6.1.1 Thí nghiệm 86
6.1.2 Đánh giá 87
Kết luận 89
Phụ lục 91
A Bảng so sánh mã hoá giữa MPEG-2 và MPEG-4 91
B Tài liệu tham khảo 92
Trang 6Danh mục các ký hiệu, các chữ viết tắt
viện Video for Windows
B-frame Bi-directionally predicted frame Khung hình dự đoán 2 chiều
DCT Discrete Cosine Transform Phép biến đổi cosin rời rạc
DPCM Diferential Pulse Code Modulation Điều xung m∙ sai phân
GDA Greedy Search Algorithm (GBMAs) Giải thuật tìm kiếm tham lam
HDTV High Definition Television Truyền hình có độ phân giải cao
IDCT Inverse Discrete Cosine Transform Biến đổi cosine rời rạc ngược IEC International Electrotechnical
ISO International Standard Organization Tổ chức tiêu chuẩn quốc tế
ITU-T International Telecommunication
MPEG Motion Picture Experts Group Nhóm chuyên gia nghiên cứu ảnh
động
NPDS Normalized Partial Distortion Search Tìm kiếm méo cục bộ chuẩn hoá NTSC National Television System
PPDS Progressive Partial Distortion Search Tìm kiếm méo cục bộ liên tiến
Trang 7SAD Sum Absolute Difference Tổng sai khác tuyệt đối
SP-picture Inter-stream transitional picture ảnh tịnh tiến liên dòng TSS Three Step Search Algorithm (3SS) Giải thuật tìm kiếm ba bước
Trang 8Danh mục các bảng
Bảng 2.1: Các mô tả MPEG-4 Visual cho mã hoá video tự nhiên 20
Bảng 2.2: Các mô tả MPEG-4 Visual cho mã hoá video nhân tạo và kết hợp 21
Bảng 2.3: Các mức trong mô tả đơn giản 22
Bảng 3.1: Các chế độ lát trong H.264 44
Bảng 3.2: Tổng hợp sự khác nhau giữa MPEG-4 Visual và H.264 49
Bảng 4.1: Chọn lựa bảng tìm kiếm cho coeff_token 63
Bảng 4.2: Ngưỡng để quyết định tăng suffixLength hay không 64
Bảng 4.3 Mô hình khung cảnh cho bin 1 69
Bảng 4.4 Mô hình khung cảnh 69
Bảng 4.5: Các kiểu khối cơ bản với số các hệ số và kiểu khung cảnh liên quan 72
Bảng 6.1: Nhận xét các đặc tính hình ảnh sau khi nén theo cảm thụ chủ quan 87
Trang 9Danh mục các hình vẽ đồ thị
Hình 1.1: Kiến trúc MPEG-4 15
Hình 2.1: Mô hình chung của MPEG-4 18
Hình 2.2: Ba chế độ lớp các đối tượng video (I-VOP, P-VOP, B-VOP) [18] 23
Hình 2.3: Các bước mã hoá và giải mã I-VOP 24
Hình 2.4: Các bước mã hoá và giải mã P-VOP 25
Hình 2.5: Mẫu khung cảnh cho BAB nội khung 28
Hình 2.6: Mẫu khung cảnh cho BAB liên khung 29
Hình 2.7 Điền đầy chiều ngang và dọc trong MB biên 30
Hình 2.8: Minh hoạ phần gốc tĩnh (nền) 34
Hình 2.8: Cây thứ tự quét 39
Hình 3.1: Bộ mã hoá H.264 40
Hình 3.2: Bộ giải mã H.264 40
Hình 3.3: Mô tả dòng cơ bản, chính, mở rộng trong H.264 42
Hình 3.4: Chuỗi các khối NAL 43
Hình 3.5: Cú pháp lát 45
Hình 3.6: Ví dụ chuỗi các thành phần RBSP 48
Hình 4.1: Các chế độ dự đoán 4x4 chói 51
Hình 4.2: Các chế độ dự đoán nội khung 16x16 52
Hình 4.3: Phân vùng macroblock: 16x16, 8x16, 16x8, 8x8 53
Hình 4.4: Phân vùng macroblock: 8x8, 4x8, 8x4, 4x4 53
Hình 4.5: Ví dụ về dự đoán số mẫu nguyên và mẫu con 54
Hình 4.6: Nội suy vị trí nửa điểm chói 55
Hình 4.7: Các vị trí nội suy phần tư điểm chói 56
Hình 4.8: Các vị trí nội suy của phần tám mẫu màu 56
Hình 4.9: Các phân vùng hiện tại và lân cân (kích thước phân vùng giống nhau) 57
Hình 4.10: Các phân vùng hiện tại và lân cận (các kích thước phân vùng khác nhau) 58
Trang 10Hình 4.11: Các ví dụ dự đoán phân vùng trong kiểu macroblock B 59
Hình 4.12: Các ví dụ của các chế độ dự đoán trong các macroblock lát B 60
Hình 4.12: Các mô hình khung cảnh được dùng trong mã hoá hình dạng 67
Hình 4.13: Hai ví dụ về sự quyết định khung cảnh cho mã hoá giá trị tuyệt đối các hệ số có nghĩa 74
Hình 5.1: Các khối chức năng chính trong bộ mã hoá 79
Hình 5.2: Biểu đồ chuyển đổi cosine nhanh 82
Hình 5.3: Sơ đồ mã hoá độ dài thay đổi 83
Hình 5.4: Sơ đồ mã hoá khối CABAC [17] 83
Hình 5.5: Thực thi bộ lọc sau 84
Hình 5.6: Thực thi bộ lọc lặp 85
Trang 11Cùng với sự phát triển mạnh mẽ các kỹ thuật như truyền hình số, streaming video trên Internet và DVD-Video, nén video đã trở thành thành phần nhất thiết trong lĩnh vực truyền hình và giải trí media Sự thành công của truyền hình số và DVD-Video dựa trên chuẩn 10 năm tuổi MPEG-2, kỹ thuật này đã chứng minh hiệu quả của nó nhưng hiện nay đã trở nên lạc hậu Rõ ràng đã đến lúc cần phải thay thế nén video MPEG-2 bằng kỹ thuật nén hiệu quả hơn và có thể sử dụng các lợi thế khả năng xử
lý Đã có nhiều cuộc tranh luận về kỹ thuật nào sẽ phủ lên MPEG-2 Đối thủ chính
là chuẩn quốc tế là MPEG-4
Hiện nay MPEG-4 đã được phát hành và đang phát triển gồm 16 phần bao quát toàn bộ các vấn đề hệ thống, video, audio, truyền dẫn … Trong đó MPEG-4 Visual
và H.264 (được biết như Mã hoá video tiên tiến) là chuẩn để mã hoá các thông tin hình ảnh Trong khi các hãng sản xuất tự do cạnh tranh phát triển và sáng tạo các sản phẩm, mỗi chuẩn đưa ra nhằm tương thích với các bộ mã hoá và bộ giải mã để
có thể thành công trong kết nối mạng Các chuẩn không định nghĩa cụ thể bộ mã hoá mà chỉ định nghĩa đầu ra của bộ mã hoá như thế nào Phương thức giải mã được
định nghĩa trong mỗi chuẩn nhưng các hãng sản xuất tự do phát triển theo cách riêng miễn là đạt được kết quả như trong chuẩn
MPEG-4 Visual (phần 2 trong chuẩn MPEG-4) được phát triển bởi Nhóm chuyên gia về ảnh động (Motion Picture Experts Group MPEG) làm việc cho tổ chức tiêu chuẩn quốc tế (ISO) H.264 được phát triển bởi Nhóm chuyên gia về mã hoá video (Video Coding Experts Group VCEG) làm việc cho hiệp hội viễn thông quốc tế (ITU-T) phụ trách về loạt các chuẩn truyền tín hiệu hình ảnh Bước cuối cùng của chuẩn H.264 được thực hiện bởi nhóm cộng tác giữa VCEG và MPEG đã phát hành tiêu chuẩn cuối cùng bởi ISO/IEC (MPEG-4 phần 10) và ITU-T (H.264) vào năm
2003
Nhằm không ngừng nâng cao hiệu năng mã hoá, rất nhiều kỹ thuật được áp dụng vào trong MPEG-4 Visual, H.264 để cố gắng tận dụng tối đa sự tương quan giữa các khung hình video cả về không gian và thời gian Đồ án tập trung nghiên cứu các mô
Trang 12tả cho phép tương tác theo nội dung video theo chuẩn MPEG-4 và phương pháp tiên tiến nén video theo chuẩn H.264 Nổi bật trong các kỹ thuật đó là phương pháp mã hoá dự đoán dựa vào nội dung Không chỉ đơn thuần dự đoán chuyển động như các chuẩn MPEG trước đây, trong chuẩn này cho phép xử lý linh hoạt các tham số theo nội dung của cảnh video cần nén
Đồ án bao gồm sáu chương với nội dung sau:
Chương 1: Giới thiệu về lĩnh vực video số và các chuẩn liên quan
Chương 2 và 3 Tập trung nghiên cứu các kỹ thuật chính của MPEG-4 Visual và H.264
Chương 4: Nghiên cứu các kỹ thuật dự đoán dựa vào nội dung được áp dụng trong H.264
Chương 5: Các khối chức năng chính trong bộ mã hoá và cài đặt một số module áp dụng các kỹ thuật tiên tiến
Chương 6: Đánh giá và nhận xét những kết quả đạt được
Để hoàn thành bản đồ án tốt nghiệp này, ngoài sự cố gắng của cá nhân em còn có
sự giúp đỡ tận tình của PGS.TS Nguyễn Thị Hoàng Lan - giảng viên khoa Công nghệ thông tin Trường đại học Bách khoa Hà nội Cô đã định hướng, cung cấp tài liệu, hướng dẫn chi tiết và sửa chữa các sai sót em mắc phải trong quá trình thực hiện
Em cảm ơn các thầy cô giáo của khoa “Công nghệ thông tin” Trường đại học Bách khoa Hà nội đã tận tình dạy dỗ trong thời gian em học tập tại trường
Trang 13Chương I: Video số và chuẩn mpeg-4
Tuy nhiên cái chúng ta thực sự nhìn thấy khi chúng ta quan sát thế giới thực là gì? Chúng ta thực sự nghe gì khi chúng ta lắng nghe Chúng ta nhìn thấy các thực thể riêng biệt: con người, cây cối, đồ đạc, phòng, phong cảnh, các con côn trùng, các bông hoa, các con chim Khi chúng ta lắng nghe chúng ta nghe tiếng nói riêng biệt từng người, tiếng ồn, tiếng vọng trong phòng, tiếng các nhạc cụ Chúng là các đối tượng nghe nhìn (Audio Visual Object AVO) có mối quan hệ trong không gian Những cái gì chúng ta nhìn và nghe chủ yếu phụ thuộc vào mối quan hệ này MPEG-4 cho phép mỗi loại đối tượng này được mã hoá theo cách tối ưu với tính chất tự nhiên của đối tượng đó và cho phép những thành phần đối tượng nghe nhìn này được truyền tới người dùng như các dòng căn bản thông qua các kênh phân phối Tại đầu thu sẽ thu nhận lại các đối tượng nghe nhìn riêng biệt này vào cảnh và cho phép người dùng cuối thao tác vị trí không gian của mỗi đối tượng audio và video Những cái gì chúng ta nhìn và nghe cuối cùng phụ thuộc vào sự chọn lựa của mình
Chúng ta không có micro để có thể phân biệt giữa các nguồn âm thanh riêng rẽ
để ghi lại Chúng ta không có camera có thể nhặt các đối tượng riêng rẽ để ghi lại
đối tượng đó mà bỏ qua tất cả các hình ảnh xung quanh Để mã hoá các cảnh và âm thanh tự nhiên diễn ra chúng ta hoặc chấp nhận truyền thế giới phẳng tới người dùng hoặc là sử dụng các kỹ thuật xử lý tín hiệu, phân tích dữ liệu để nhặt ra các đối
Trang 14tượng riêng biệt MPEG-4 cho phép chúng ta tổng hợp các đối tượng và truyền đến người dùng cuối với hàng loạt thông số cho phép người dùng tương tác với nội dung các đối tượng trong ảnh video
1.2 Các thành phần của chuẩn MPEG-4
Chuẩn ISO/IEC 14496 (‘MPEG-4’) do nhóm chuyên gia về ảnh động (Moving Picture Expert Group) tạo ra, duy trì và cập nhật, đây cũng là nhóm phát triển các chuẩn cho Tổ chức chuẩn quốc tế (International Standards Organisation)
Hiện nay 16 phần của MPEG-4 đã được phát hành và đang phát triển Phần 1 đến
6, 8 và 10 được phát hành như chuẩn quốc tế và các phần còn lại như các Báo cáo kỹ thuật vẫn chưa được phát hành thành phiên bản cuối.[10]
Phần 1, Hệ thống: Mô tả cảnh, trộn các thông tin audio, video và các thông tin liên quan, đồng bộ, quản lý bộ đệm,
Phần 2, Visual: Mã hoá và mô tả các đối tượng nhìn “tự nhiên” và “nhân tạo”
Phần 3, Audio: Mã hoá và mô tả các đối tượng audio tự nhiên và nhân tạo
Phần 4, Kiểm tra sự tuân thủ: các điều kiện tuân thủ, kiểm tra các thủ tục , kiểm tra dòng bit
Phần 5, Phần mềm tham khảo: Phần mềm phổ biến thực thi phần lớn các công cụ trong chuẩn
Phần 6, Phân phối khuôn khổ tích hợp đa phương tiện: Phần giao thức cho truyền phát đa phương tiện
Phần 7, Phần mềm tham khảo tối ưu visual: Phần mềm tham khảo tối ưu thực thi các công cụ mã hoá đối tượng Phần này là báo cáo kỹ thuật
Phần 8, Truyền MPEG-4 qua IP: Cơ chế đặc biệt để truyền dữ liệu mã MPEG-4 qua các mạng IP
Phần 9, Mô tả phần cứng tham khảo:Mô tả VHDL của các công cụ mã hoá MPEG-4 (để thực thi trên các IC) Phần này là báo cáo kỹ thuật và vẫn đang được phát triển Phần 10, Mã hoá video tiên tiến: Mã hoá hiệu quả các đối tượng video tự nhiên Phần 11, Mô tả cảnh và cơ chế ứng dụng
Trang 15Truyền dẫn/ Lưu trữ
Lớp phân phối Lớp đồng bộ (hoặc truy nhập)
Hiển thị và tương tác người dùng
Tổng hợp và biểu diễn
Lớp nén
Trang 16gia mã hoá video (Video Coding Experts Group), là nhóm nghiên cứu của Hiệp hội viễn thông quốc tế (International Telecommunications Union)
MPEG đã phát triển thành công các chuẩn MPEG-1 và MPEG-2 cho mã hoá video và audio được sử dụng rộng rãi trong truyền thông và lưu trữ video số Nhóm này cũng chịu trách nhiệm đưa ra tiêu chuẩn hoá cho chuẩn MPEG-7 và MPEG-21 VCEG đã phát triển H.261 được sử dụng rộng rãi trong hệ thống điện thoại video Cả hai nhóm đã kết hợp với nhau để đưa ra đề nghị H.26L và chuyển thành chuẩn quốc tế (H.264/MPEG-4 Phần 10) do cả ISO/IEC và ITU-T phát hành
Cũng giống như các chuẩn video trước đây, chuẩn MPEG-4 và H.264 không quy
định bộ mã hoá video Thay vào đó chuẩn quy định cú pháp của dòng mã bit, ngữ nghĩa của những thành phần cú phát và tiến trình trong đó các thành phần cú pháp
được giải mã để đưa ra thông tin trực quan Bằng cách quy định cú pháp và ngữ nghĩa của dòng mã bit, chuẩn định nghĩa các dòng bít tương thích chấp nhận được
Bộ mã hoá tương thích phải tạo ra dòng bit mà bộ giải mã có thể giải mã chính xác dựa theo định nghĩa trong chuẩn Cả hai chuẩn đều định nghĩa bộ giải mã tham khảo giả thuyết, các mức thực hiện, hạn chế thực thi trong mỗi bộ nén Các hạn chế này bao gồm như dòng mã bit tối đa, kích thước ảnh tối đa mà bộ mã hoá có thực hiện, những hạn chế này rất quan trọng bởi ví nó liên quan đến bộ nhớ và yêu cầu xử lý của bộ giải mã
Một số mô hình được ứng dụng vào trong MPEG-4 như tổng hợp tiếng nói để phát âm từ văn bản dựa trên những mô hình mạng lưới biến dạng Mạng lưới uốn cong có thể được dùng để diễn đạt các vật thể video đơn giản Ví dụ, kết cấu của lá
cờ có thể được ánh xạ vào mạng lưới mà mạng lưới này được bởi những làn sóng mô hình trong gió Cấu trúc tổng hợp nhạc cho phép tạo ra vô số cách thiết lập các kỹ thuật hoà nhạc, do đó cả một dàn đồng ca có thể được mô phỏng Chữ viết và đồ hoạ
có thể được liên kết để chạy một đoạn video và đồng bộ với các thành phần media Người dùng có thể đi vào ngôi nhà biểu diễn 3 chiều và đặc tính âm học của mỗi phòng có thể được điều chỉnh dựa trên kích thước của mỗi phòng, vì thế âm thanh có tiếng vang ít hay nhiều Khi bạn đi vào mô hình ngôi nhà, một người nào đấy đi qua bạn ở hành hàng thì tiếng nói nghe được ở tai gần to hơn tai kia Các rãnh âm thanh
Trang 17thoại khó nghe giữa nhiều tiếng động âm thanh, hội thoại có thể được điều chỉnh to lên và dễ nghe hơn Tất cả các thay đổi của người dùng cuối được hỗ trợ trong chuẩn MPEG-4 thông qua việc thực thi tiêu chuẩn đầy đủ và vượt trội này
Vấn đề phân tách video thành các đối tượng nghe nhìn riêng biệt để người dùng
có thể thao tác trên các đối tượng đó đến thời điểm này vẫn chưa có bộ mã hoá nào thực hiện được Mặc dù RealNetworks, Microsoft và Apple đã thông báo có bộ mã hoá tương thích MPEG-4 nhưng chúng chỉ thực sự đưa vào các chuẩn nén MPEG-4
mà không phân tách thành các đối tượng nghe nhìn riêng biệt
Trong MPEG-4 nén video được trình bày chủ yếu ở Phần 2, Visual và Phần 10, Mã hoá video tiên tiến Cả hai chuẩn đều tập trung vào nén dữ liệu hình ảnh nhưng MPEG-4 Visual nhấn mạnh tính linh hoạt trong khi H.264 nhấn mạnh vào hiệu quả
và độ tin cậy MPEG-4 cung cấp bộ công cụ các kỹ thuật mã hoá linh hoạt cao, có khả năng đáp ứng với nhiều kiểu dữ liệu hình ảnh như các khung hình chữ nhật, các
đối tượng video, các ảnh tĩnh, ảnh tự nhiên và ảnh nhân tạo MPEG-4 cung cấp các chức năng thông qua các công cụ mã hoá được tổ chức thành các mô tả và phân thành các nhóm phù hợp với từng loại ứng dụng
Ngược lại với khả năng linh hoạt trong MPEG-4 Visual, H.264 tập trung đặc biệt vào hiệu quả nén các khung hình video Tính năng chính của chuẩn là hiệu quả nén (nén tốt hơn so với các chuẩn trước đó), hiệu quả truyền (xây dựng nhiều tính năng
hỗ trợ độ tin cậy, khả năng chịu lỗi truyền qua nhiều mạng và kênh truyền) và tập trung vào nhiều ứng dụng phổ biến của nén video Hiện tại chỉ với 3 mô tả (trong khi ở MPEG-4 Visual có 20 mô tả) chủ yếu tập trung vào các ứng dụng truyền tải phổ biến video Mô tả dòng cơ bản đặc biệt hữu dụng cho các ứng dụng giao tiếp như video hội nghị Mô tả mở rộng đưa thêm các công cụ cho streaming video trên mạng và mô tả chính chứa các công cụ phù hợp với các ứng dụng thông dụng như truyền phát video và lưu trữ
H.264 vừa được phát hành chính thức vào năm 2003 với nhiều công cụ mã hoá hiệu quả đang là đề tài chính được các nhà nghiên cứu quan tâm và phát triển
Trang 18Chương II: tìm hiểu mpeg-4 visual và các đặc tả nội dung
2.1 Khái quát MPEG-4 Visual
Chuẩn MPEG-4 cung cấp một tập công nghệ đáp ứng các yêu cầu của nhà cung cấp dịch vụ, các tác giả và người dùng cuối Mô hình chung của MPEG-4 được thể hiện ở hình 2.1 liên quan rất nhiều lĩnh vực [15] Trong phần này chỉ tập trung tìm hiểu về lĩnh vực video
Chuẩn ISO/IEC 14496 phần 2 (MPEG-4 Visual) cải thiện tiêu chuẩn nổi tiếng MPEG-2 ở cả lĩnh vực hiệu quả nén (nén tốt hơn với cùng chất lượng hình) và tính linh hoạt (có nhiều ứng dụng rộng rãi hơn) Chuẩn này tạo được nhiều giải thuật nén tiên tiến hơn và cung cấp bộ công cụ mã hoá bao quát hơn và thao tác media số MPEG-4 Visual chứa cốt lõi là mô hình mã hoá /giải mã cùng với một số công cụ mã hoá thêm Mô hình chính được dựa trên mô hình mã hoá nổi tiếng DPCM/DCT liên hoàn và hỗ trợ các công cụ cải thiện nén, truyền dẫn tin cậy, mã hoá riêng biệt các đối tượng
Hình 2.1: Mô hình chung của MPEG-4
Nguồn
tín
hiệu
Phân kênh Phân
Trang 19trong khung MPEG-4 Visual, chuẩn chỉ mô tả một loạt các mô tả Các mô tả được
đề nghị thành các tập hoặc nhóm công cụ phục vụ cho các loại ứng dụng cụ thể Các mô tả bao gồm: Mô tả đơn giản (tập tối thiểu các công cụ cho các ứng dụng không phức tạp), Mô tả lõi và chính (các công cụ cho mã hoá các đối tượng video có hình bất kỳ), Mô tả đơn giản thời gian thực tiên tiến (các công cụ cho chịu lỗi truyền dẫn với độ trễ thấp) và Mô tả đơn giản tiên tiến (cải thiện nén trả giá bằng cách tăng độ phức tạp)
MPEG-4 Visual được nhúng trong ISO/IEC 14496-2, tài liệu này rất cụ thể và lên tới hơn 500 trang Phiên bản 1 được phát hành vào năm 1998 và bổ sung thêm các công cụ, mô tả vào 2 phụ lục thành chuẩn trong phiên bản 2 vào cuối năm 2001 Nhiều công cụ và mô tả được kế hoạch cho phụ lục hoặc phiên bản tương lai nhưng cấu trúc cấu trúc “bộ công cụ” của MPEG-4 ở phiên bản sau 14496-2 vẫn tương thích ngược với phiên bản 1
2.1.1 Các tính năng
MPEG-4 Visual cố gắng đạt các yêu cầu ứng dụng rộng rãi trong lĩnh vực liên lạc hình ảnh thông qua tiếp cận dựa vào bộ công cụ mã hoá các thông tin hình ảnh Các tính năng chính phân biệt giữa MPEG-4 Visual và các chuẩn mã hoá hình ảnh trước đây là:
• Hiệu quả nén các chuỗi video tự nhiên quét liên tục và xen mành (nén các chuỗi khung hình video chữ nhật) Cốt lõi công cụ nén dựa vào chuẩn ITU-T H.263 và
có thể làm tốt hơn MPEG-1 và MPEG-2 Các cộng cụ lựa chọn thêm vào làm cải thiện hiệu quả nén
• Các đối tượng mã hoá video (các vùng hình bất quy tắc của cảnh video) Đây là khái niệm mới cho chuẩn nén video và cho phép mã hoá độc lập ảnh và nền trong cảnh video
• Hỗ trợ truyền hiệu quả trên các mạng hiện tại Công cụ phục hồi lỗi giúp bộ giải mã phục hồi từ việc truyền lỗi và duy trì thành công kết nối video trong môi
Trang 20trường mạng dễ xảy ra lỗi và các công cụ mã hoá dây chuyền giúp hỗ trợ truyền linh hoạt trong khoảng tốc độ bit
• Mã hoá bề mặt tĩnh (dữ liệu ảnh) Các ảnh tĩnh có thể được mã hoá và truyền trong cùng khung dữ liệu như là chuỗi ảnh động Công cụ mã hoá bề mặt có thể hữu ích khi kết hợp biểu diễn ảnh động
• Mã hoá các đối tượng hình ảnh sống động như mạng lưới đa giác 2 chiều và 3 chiều, khuôn mặt sống động, thân hình cử động
• Mã hoá cho các ứng dụng đặc biệt với chất lượng video như “phim trường” Trong ứng dụng kiểu này, chất lượng hình ảnh quan trọng hơn nhiều tỷ lệ nén cao
2.1.2 Các công cụ, đối tượng, mô tả và các mức
MPEG-4 Visual cung cấp chức năng mã hoá thông qua sự kết hợp giữa các công
cụ, các đối tượng và các mô tả Công cụ là tập con của chức năng mã hoá để hỗ trợ cá tính năng đặc biệt ( ví dụ như mã hoá video cơ bản, video xen mành, các hình đối tượng ) Đối tượng là thành phần video (ví dụ như chuỗi các khung hình chữ nhật, chuỗi các vùng có hình tuỳ ý, ảnh tĩnh) được mã hoá dùng một hoặc nhiều công cụ Mô tả là tập các kiểu đối tượng mà bộ mã có khả năng thực hiện công việc
Các mô tả của MPEG-4 Visual để mã hoá các cảnh video tự nhiên được liệt kê trong bảng 2.1 và trong khoảng mô tả đơn giản rồi đến mô tả các hình bất kỳ và mã hoá các đối tượng liên hoàn đến mô tả mã hoá với chất lượng phim trường
Bảng 2.1: Các mô tả MPEG-4 Visual cho mã hoá video tự nhiên
Mô tả MPEG-4 Visual Các tính năng chính
Đơn giản Mã hoá với độ phức tạp của các khung hình chữ nhật thấp
Đơn giản tiên tiến Cải thiện hiệu quả mã hoá các khung hình chữ nhật và hỗ trợ
video xen mành
Đơn giản tiên tiến thời
gian thực Mã hoá các khung hình chữ nhật cho truyền phát video thời gian thực
Hiệu quả mã hoá tiên
N-bit Mã hoá các đối tượng video với độ lấy mẫu phân giải hơn 8 bit
Trang 21Liên hoàn hạt Mã hoá liên hoàn tiên tiến các khung hình video chữ nhật
Liên hoàn chính Mã hoá liên hoàn các đối tượng video
Liên hoàn bề mặt Mã hoá liên hoàn các bề mặt tĩnh
Liên hoàn bề mặt tiên
tiến Các bề mặt tĩnh liên hoàn cải thiện và các tính năng dựa vào đối tượng Lõi tiến tiên Kết hợp các tính năng của các mô tả Đơn giản, Chính và liên
hoàn bề mặt tiên tiến Studio đơn giản Mã hoá các đối tượng với chuỗi video chất lượng cao
Studio chính Mã hoá các đối tượng với chuỗi video chất lượng cao có cải
thiện hiệu quả nén
Các mô tả trong bảng 2.2 cho mã hoá video nhân tạo (hoạt hình hoặc các mô hình) và các mô tả kết hợp (kết hợp các tính năng từ mã hoá video nhân tạo và tự nhiên) Các mô tả này không dùng cho nén video tự nhiên
Bảng 2.2: Các mô tả MPEG-4 Visual cho mã hoá video nhân tạo và kết hợp
Bề mặt chuyển động cơ bản Mã hoá khối 2 chiều với bề mặt tính
Mặt chuyển động đơn giản Các mô hình mặt người chuyển động
Mặt và thân chuyển động đơn giản Các mô hình mặt và thân chuyển động
chuyển động cơ bản, Mặt chuyển động đơn giản
Các mô tả là cơ chế quan trọng để khuyến khích các bộ mã hoá của các hãng khác nhau có thể tương thích lẫn nhau Chuẩn MPEG-4 Visual mô tả nhiều công cụ mã hoá và dường như không yêu cầu bất kỳ bộ giải mã thương mại nào phải thực thi tất cả các công cụ đó Thay vì đó, người thiết kế bộ giải mã chọn các mô tả chứa thích hợp với ứng dụng cần thiết của họ Ví dụ bộ mã hoá cơ bản thực thi trên bộ xử
lý thấp có thể dùng mô tả đơn giản, bộ mã hoá cho ứng dụng streaming video có thể chọn mô tả đơn giản thời gian thực Các mô tả có ảnh hưởng lớn đến thị trường hơn những cái khác Các mô tả đơn giản và đơn giản tiên tiến được phổ biến với nhiều hãng sản xuất và người dùng trong khi các mô tả mã hoá cho các đối tượng hình bất kỳ rất hạn chế
Các mô tả định nghĩa tập con của các công cụ mã hoá và các mức định nghĩa các thông số của dòng bit Bảng sau liệt kê các mức của mô tả đơn giản, đơn giản tiên tiến và đơn giản tiên tiến thời gian thực Tại mỗi mức ép buộc khả năng thực hiện tối
Trang 22đa để giải chuỗi mã MPEG-4 Ví dụ, thiết bị cuối với khả năng xử lý hạn chế và ít
bộ nhớ có thể chỉ hỗ trợ giải mã dòng bít mô tả đơn giản mức 0 Các mức định nghĩa
do hạn chế bộ nhớ đệm, kích thước khung hình giải mã và tốc độ xử lý (số macroblock trên giây) và số các đối tượng video Thiết bị cuối phải đối mặt với các thông số này để đảm bảo khả năng giải mã thành công thích nghi với dòng bít mô tả
đơn giản mức 0 Các mức cao hơn của mô tả đơn giản yêu cầu bộ giải mã phải làm việc với 4 đối tượng video
Đơn giản tiên tiến
Đơn giản tiên tiến
2.1.3 Các đối tượng video
Một trong những đóng góp quan trọng của MPEG-4 Visual là loại bỏ cách nhìn truyền thống về chuỗi video như là một tập các khung hình video chữ nhật Thay vì
đó, MPEG-4 Visual xem chuỗi video như là một tập hợp gồm một hoặc nhiều các
đối tượng video MPEG-4 Visual định nghĩa các đối tượng video là một thực thể linh hoạt và người dùng được phép truy nhập (tìm kiếm, hiển thị) và thao tác ( cắt và dán) Một đối tượng video (Video Object VO) là một vùng video có hình dáng tuỳ ý
và chứa trong thời gian tuỳ ý Một VO tại một thời điểm cụ thể gọi là lớp các đối tượng video (Video Object Plane VOP)
Trang 23Hình 2.2: Ba chế độ lớp các đối tượng video (I-VOP, P-VOP, B-VOP) [18]
2.2 Mã hoá các khung hình chữ nhật
Mặc dù có khả năng mã hoá linh hoạt các đối tượng nhưng các ứng dụng phổ biến của MPEG-4 là mã hoá toàn bộ các khung hình video Các công cụ để làm việc với các VOP chữ nhật ( điển hình là toàn bộ các khung hình) được nhóm với nhau gọi là các mô tả đơn giản Các công cụ cơ bản được lấy từ các chuẩn mã hoá video trước đây Mã hoá DCT các macroblock với dự đoán bù chuyển động Mô tả đơn giản được dựa vào mô hình nổi tiếng DPCM/DCT nhiều công cụ thêm vào để cải thiện hiệu quả mã hoá và hiệu quả truyền Do mô tả đơn giản được phổ biến rộng rãi nên các mô tả cải thiện cho các VOP chữ nhật đang được phát triển Mô tả đơn giản tiên tiến cải thiện hơn hiệu quả mã hoá và hỗ trợ cho video xen mành Mô tả tiên tiến thời gian thực đưa thêm các công cụ hữu dụng cho các ứng dụng streaming video thời gian thực
2.2.1 Định dạng video vào ra
Đầu vào của bộ mã hoá và đầu ra của bộ giải mã MPEG-4 Visual là chuỗi video theo định dạng 4:2:0, 4:2:2 hoặc 4:4:4 liên tục hoặc xen mành
Trang 242.2.2 Mô tả đơn giản
Bộ mã hoá tương thích với mô tả đơn giản phải có khả năng mã hoá và giải mã các đối tượng video đơn giản sử dụng các công cụ sau:
• I-VOP (mã trong khung chữ nhật VOP, định dạng video liên tục)
• P-VOP (mã liên khung chữ nhật VOP, định dạng video liên tục)
Hình 2.3: Các bước mã hoá và giải mã I-VOP
Trang 25Hình 2.4: Các bước mã hoá và giải mã P-VOP
Các công cụ mã hoá hiệu quả
Các công cụ sau, một phần của mô tả đơn giản có thể cải thiện hiệu quả nén Các cải thiện này chỉ có nếu không sử dụng chế độ phần đầu ngắn
Bốn vectơ chuyển động cho mỗi macroblock
Dự đoán chuyển động hiệu quả hơn với kích thước khối nhỏ hơn Mặc định kích thước khối cho bù chuyển động là 16x16 mẫu (chói), 8x8 mẫu (màu) có kết quả là một vectơ chuyển động cho mỗi macroblock Công cụ này cho phép bộ giải mã chọn lựa khối bù chuyển động kích thước nhỏ hơn 8x8 mẫu (chói) và 4x4 mẫu (màu) Chế
độ này có thể hiệu quả hơn nhiều trong dự đoán chuyển động đặc biệt là các vùng chuyển động phức tạp hoặc vùng gần đường biên của đối tượng chuyển động Lúc
đó cần phải gửi 4 vectơ chuyển động thay vì một vectơ và bộ mã hoá có thể chọn để gửi một hoặc 4 vectơ chuyển động cho macroblock đó
Các vectơ chuyển động không hạn chế
Trong một vài trường hợp, macroblock phù hợp nhất có thể là khối 16x16 vượt ra ngoài đường biên của VOP tham khảo Khối macroblock phù hợp lấy được từ vectơ chuyển động vào vùng ngoại suy Công cụ vectơ chuyển động không hạn chế cho phép các vectơ vượt ra ngoài đường biên của VOP tham khảo Nếu một mẫu chỉ
định bởi vectơ chuyển động vượt ra ngoài VOP tham khảo thì mẫu gần biên nhất sẽ
được dùng thay thế Chế độ vectơ chuyển động không hạn chế có thể cải thiện hiệu
Xây dựng lại khung hình
Trang 26quả bù chuyển động đặc biệt khi các đối tượng chuyển động vào và ra ngoài hình
ảnh
2.4 Mã hoá các vùng có hình bất kỳ
Mã hoá các đối tượng có hình bất kỳ yêu cầu một số mở rộng về mã hoá dựa vào khối Mỗi VOP được mã hoá dùng dự đoán bù chuyển động và mã độ dư thừa dựa vào DCT với phần mở rộng giải quyết các trường hợp đặc biệt liên quan đến
đường viền quanh đối tượng Cụ thể hơn là giải quyết mã hoá bù chuyển động hình dạng và bề mặt của các đối tượng có hình bất kỳ
Mã hoá hình dạng: Hình dạng của đối tượng video được xác định bởi khối Alpha,
mỗi lớp phủ là khối 16x16 của video Mỗi khối Alpha có thể chứa toàn bộ đối tượng video (trong trường hợp này không cần phải mã) Trong trường hợp còn lại ta cần phải xác định hình dạng của đường viền VO trong khối Alpha Thông tin hình dạng
được xác định bằng khái niệm “trong suốt”, trong đó điểm “trong suốt” không thuộc vào VOP hiện tại, điểm “mờ” là bộ phận của VO còn điểm “nửa trong suốt” là điểm vừa thuộc VOP vừa là trong suốt Thông tin hình dạng có thể được xác định bằng nhị phân (tất cả các điểm hoặc là mờ, 1, hoặc là trong suốt,0) hoặc mức xám (trong suốt của điểm được xác định bởi số từ 0, trong suốt, và 255, mờ) Thông tin hình dạng nhị phân cho các đường viền macroblock được mã hoá như khối alpha nhị phân (Binary Alpha Block BAB) sử dụng mã hoá số học và thông tin hình dạng mức xám được mã hoá như bù chuyển động và DCT
Bù chuyển động: Mỗi VOP có thể được mã hoá như I-VOP (không bù chuyển
động), P-VOP (dự đoán bù chuyển động từ VOP trước đó) hoặc B-VOP (dự đoán chuyển động từ hai phía) Các điểm không trong suốt trong đường biên macroblock
được bù chuyển động từ (các) VOP tham khảo thích hợp và các điểm đường biên của VOP mà VOP này được gọi là “bịt” các đường viền của vùng tìm kiếm chuyển
động để điền đầy các vị trí điểm trong suốt bằng dữ liệu
Mã hoá bề mặt: Các mẫu dư thừa bù chuyển động bề mặt trong các khối được mã hoá dùng DCT 8x8, lượng tử hoá và mã hoá độ dài thay đổi Các điểm không trong
Trang 27• B-VOP
• Bộ lượng tử hoá xen kẽ
• Mã hoá dựa vào các đối tượng
• P-VOP liên hoàn thời gian
Mã hoá liên hoàn cho phép chuỗi video được mã hoá và truyền qua hai hoặc nhiều lớp riêng rẽ, các lớp này có thể được giải mã và kết hợp lại Mô tả Lõi hỗ trợ liên hoàn thời gian dùng P-VOP và bộ mã hoá dùng công cụ này có thể truyền mã trên hai lớp, lớp cơ bản (giải mã cảnh video có tốc độ khung hình thấp) và lớp nâng cao thời gian chỉ chứa P-VOP Bộ giải mã có thể tăng tốc độ khung hình từ lớp cơ bản bằng cách thêm các khung hình giải mã từ lớp nâng cao
Phần lớn các chức năng quan trọng trong Mô tả lõi hỗ trợ cho mã hoá các đối tượng
có hình dạng bất kỳ Mỗi vị trí macroblock trong ảnh được phân loại là (1) mờ (chứa trong VOP), (2) trong suốt (không thuộc VOP), (3) trên đường biên của VOP
Nhằm chỉ ra hình dạng của VOP ở bộ giải mã, mặt nạ thông tin alpha được gửi cho mỗi macroblock Trong mô tả lõi, chỉ thông tin alpha nhị phân cho phép mỗi vị trí
điểm thuộc VOP là hoàn toàn mờ hoặc hoàn toàn trong suốt Mô tả lõi hỗ trợ mã hoá thông tin alpha nhị phân và cung cấp các công cụ để giải quyết các trường hợp
đặc biệt mã hoá chuyển động và bề mặt với macroblock đường biên
2.4.1.1 Mã hoá hình dạng nhị phân
Với mỗi macroblock trong ảnh, từ mã bab_type được truyền đi Từ mã chỉ ra rằng
MB là trong suốt (không thuộc VOP hiện tại nên không cần thêm dữ liệu để mã)
Trang 28mờ (thuộc bên trong VOP hiện tại nên chuyển động và bề mặt được mã như bình thường) hoặc MB đường biên (một phần của MB là mờ và một phần trong suốt Với
MB biên cần phải mã hoá mặt nạ alpha nhị phân để chỉ ra những điểm nào là trong suốt và điểm nào là mờ
Mặt nạ alpha nhị phân cho mỗi macroblock biên được mã hoá dùng mã hoá số học dựa vào khung cảnh Điểm BAB giá trị X được mã hoá trong đó X là 0 hoặc 1 Trước tiên một khung cảnh được tính toán cho điểm hiện tại Mẫu khung cảnh xác
định vùng của n điểm lân cận đã được mã trước đó (lân cận không gian cho mã hoá nội khung BAB, lân cận không gian và thời gian cho mã hoá BAB liên khung) N giá trị cho mỗi điểm BAB trong dạng khung cảnh n-bit cho điểm X Có 2n khung cảnh
có thể và P(0), khả năng X là 0 đưa ra khung cảnh cụ thể, khung cảnh này được lưu trong bộ mã hoá và giải mã cho mỗi khung cảnh có thể n-bit Mỗi mặt nạ điểm X
được mã hoá như sau:
1 Tính toán khung cảnh cho X
2 Tìm kiếm thực thể liên quan trong bảng khả năng P(0)
3 Mã hoá X với bộ mã hoá số học Khoảng con là 0 P(0) nếu X là 0 (đen), P(0) 1 nếu X là 1 (trắng)
a) Mã hoá BAB nội khung
Kiểu khung cảnh cho điểm mặt nạ hiện tại được hình thành từ 10 điểm lân cận không gian đã mã trước đó c0 đến c9 trong hình 2.5 Khung cảnh được hình thành từ chữ 10 bit c9c8c7c6c5c4c3c2c1c0 Mỗi một trong 1024 khung cảnh có khả năng xảy ra
được liệt vào trong bảng nêu trong chuẩn MPEG-4 Visual như là một số nguyên trong khoảng từ 0 đến 65535 và khả năng thực sự P(0) được dẫn xuất từ số nguyên này chia cho 65535
C9 c8 c7 c6 C5 c4 c3 c2 c1 C0 X
Hình 2.5: Mẫu khung cảnh cho BAB nội khung
Trang 29Nếu bất kỳ điểm nào không xác định ( ví dụ c2, c3 và c7 có thể là một phần của BAB vẫn chưa được mã hoá hoặc một vài điểm có thể là trong suốt BAB) các điểm không xác định là tập có giá trị lân cận gần nhất trong BAB hiện tại Phụ thuộc vào hình dạng của mặt nạ nhị phân, có thể dành được mã hoá hiệu quả hơn bằng cách quét BAB theo chiều đứng (hơn đường quét ngang) nên mẫu khung cảnh được thay thế vào “phía” của nó Chọn lựa thứ tự quét cho mỗi BAB được ký hiệu trong dòng bit
b) Mã hoá BAB liên ảnh
C3 c2 c1 C0 X
c8 C7 c6 c5 c4
Hình 2.6: Mẫu khung cảnh cho BAB liên khung
Mẫu khung cảnh ( hình 2.6) chứa 9 vị trí điểm, 4 trong VOP hiện tại (c0 tới c3)
và 5 vị trí trong VOP tham khảo (c4 tới c8) Vị trí của điểm khung cảnh trung tâm trong VOP tham khảo (c6) có thể là bù đắp từ vị trí X bởi mẫu vectơ nguyên, cho phép BAB liên khung được mã hoá dùng bù chuyển động Vectơ hình dạng (MVs)
có thể được chọn độc lập từ bất kỳ vectơ chuyển động bề mặt nào Có 9 điểm khung cảnh và tổng cộng 29 = 512 khả năng P(0) được lưu trữ bởi bộ mã hoá và giải mã
Những ví dụ chỉ ra rằng độ trong suốt của vị trí điểm hiện tại X ảnh hưởng nhiều bởi
c6 (cùng vị trí trong BAB bù chuyển động trước đó) hơn c0 (vị trí điểm trước đó
Trang 30trong thứ tự quét đường) Khi mã hoá trong khung, thứ tự quét của BAB hiện tại (và trước đó) có thể ngang hoặc dọc
Vectơ đơn MVs được mã hoá cho mỗi BAB đường biên mã liên khung Với P-VOP, VOP tham khảo là I-VOP hoặc P-VOP trước đó và với B-VOP, VOP tham khảo là I-VOP hoặc P-VOP tạm thời gần nhất
2.4.1.2 Mã hoá bù chuyển động của các VOP hình dạng bất kỳ
P-VOP hoặc B-VOP được dự đoán từ I- hoặc P-VOP tham khảo sử dụng bù chuyển
động Có thể vectơ bù chuyển động chỉ đến vùng tham khảo mà vùng này mở rộng ngoài vùng mờ của VOP tham khảo, ví dụ vài điểm trong vùng tham khảo có thể trong suốt Vài điểm mờ của MB hiện tại được bù chuyển động từ các điểm trong suốt ở VOP tham khảo Các giá trị của các điểm trong suốt không được xác định và
do đó cần thiết phải giải quyết những trường hợp đặc biệt này Vấn đề này được thực hiện bằng cách điền đầy các vị trí điểm trong suốt ở đường biên và các macroblock trong suốt ở VOP tham khảo
a) Điền đầy các MB biên
Các điểm ảnh trong suốt trong mỗi MB biên ở VOP tham khảo được ngoại suy chiều ngang và dọc từ các điểm mờ được minh hoạ trong hình 2.7
(a) Điền đầy chiều ngang (b) Sau khi điền đầy chiều ngang (c) Điền đầy chiều đứng
Hình 2.7 Điền đầy chiều ngang và dọc trong MB biên
Các điểm mờ tại biên của BAB (điểm xám đậm trong hình 2.7 được ngoại suy theo chiều ngang để điền đầy các vị trí trong suốt ở cùng hàng Nếu dòng có biên bởi các
điểm trong suốt chỉ một phía , giá trị điểm mờ gần nhất được sao chép tới tất cả các
vị trí trong suốt Nếu hàng có biên ở cả hai phía bởi các điểm mờ (ở hàng thứ 3 trong
Trang 31mờ lân cận Kết quả là điền đầy chiều ngang được diễn tả trong hình 2.7(b)
Các điểm mờ (bao gồm những điểm điền bởi bước điền chiều ngang đầu tiên) được ngoại suy chiều đứng để điền đầy các vị trí điểm trong suốt còn lại Các cột với các
điểm trong suốt có 1 lân cân mờ được điền đầy bởi giá trị của điểm đó và các hàng với 2 lân cận mờ (như trong hình 2.7(c) được điền đầy bởi giá trị trung bình của các
điểm mờ ở trên và dưới cột đó
b) Điền đầy các MB trong suốt
Các MB trong suốt hoàn toàn cũng phải điền các giá trị bởi vì chúng có thể rơi vào một phần hoặc toàn bộ vùng tham khảo bù chuyển động MB trong suốt với MB biên lân cận đơn được điền đầy bởi các điểm biên ngoại suy theo chiều ngang và dọc của MB đó MB trong suốt luôn luôn được điền đầy sau khi tất cả MB biên đã
điền đầy hoàn toàn
Nếu MB trong suốt có nhiều hơn một MB biên lân cận, một trong các lân cận của nó
được chọn để ngoại suy dựa vào luật sau Chọn một trong các MB sau (nếu có) theo thứ tự ưu tiên: MB bên trái, MB trên, MB bên phải, MB dưới
MB trong suốt không có lân cận không trong suốt nào được điền đầy với giá trị điểm
2N-1, trong đó N là số các bit trên điểm Nếu N=8 (thường xảy ra), những MB này
được điền đầy bởi giá trị 128
2.4.1.3 Mã hoá bề mặt các Macroblock biên
Bề mặt trong MB mờ (các giá trị điểm trong MB mã nội khung hoặc dư thừa bù chuyển động trong MB mã liên khung) được mã hoá như tiến trình bình thường DCT8x8, lượng tử hoá, mã hoá mức và mã hoá entropy MB biên chứa một phần các
điểm bề mặt (trong đường biên) và một phần không xác định, các điểm trong suốt (ngoài đường biên) Trong đối tượng mô tả lõi, mỗi khối bề mặt 8x8 nằm trong MB biên được mã hoá dùng DCT8x8 tiếp đến lượng tử hoá, mã hoá mức và mã hoá entropy như bình thường
Trang 32được dùng trong đồ hoạ máy tính và cho phép chồng nhiều đối tượng nửa trong suốt trong xây dựng lại cảnh
Mã hoá phần gốc được thiết kế để hỗ trợ mã hoá hiệu quả các đối tượng nền Trong nhiều cảnh video, phần nền thay đổi không đáng kể và những thay đổi này thường xảy ra do camera chuyển động “Phần gốc” là một đối tượng video (như phần nền)
được truyền toàn phần hoặc một phần ngay đầu cảnh và sau đó có thể thay đổi theo một số cách hạn chế trong suốt cảnh quay
2.4.2.1 Mã hoá hình dạng xám
Mã hoá hình dạng nhị phân (mô tả ở phần 2.4.1.1) có những hạn chế nhất định trong biểu diễn các cảnh video tạo từ nhiều đối tượng Các đối tượng hoặc các vùng trong cảnh video “tự nhiên” có thể trong mờ (trong suốt một phần) nhưng mã hoá hình dạng nhị phân chỉ hỗ trợ trong suốt hoàn toàn (‘không nhìn thấy’) hoặc vùng mờ hoàn toàn Điều này thường khó hoặc không thể phân đoạn các đối tượng video gọn gàng (các đường biên đối tượng có thể không đáp ứng chính xác với vị trí điểm ảnh),
đặc biệt khi phân đoạn được thực hiện tự động hoặc bán tự động
Mã hoá hình dạng xám đưa ra nhiều điều khiển linh hoạt các đối tượng trong suốt Mặt mức xám alpha được mã hoá cho mỗi macroblock, trong đó mỗi vị trí điểm ảnh
có giá trị mặt nạ trong khoảng 0 và 255 Các mặt nạ mức xám alpha được mã hoá dùng hai thành phần, mặt nạ hỗ trợ nhị phân chỉ ra các điểm hoàn toàn trong suốt
Trang 33mức xám alpha Mặt nạ hỗ trợ nhị phân được mã hoá giống cách như với BAB Mặt
nạ mức xám alpha (chỉ mức trong suốt của các điểm ảnh phía trong) được mã hoá riêng biệt cùng cách với bề mặt đối tượng (mỗi khối 8x8 trong mặt alpha được chuyển đổi DCT, lượng tử hoá, sắp xếp lại, mã hoá mức và entropy) Bộ mã hoá xây dựng lại mặt mức xám alpha (có thể không chính xác với mặt mức xám alpha nguyên gốc do nhiễu lượng tử hoá) và mặt nạ hỗ trợ nhị phân Nếu mặt nạ hỗ trợ nhị phân chỉ ra rằng một điểm nằm ngoài VO thì mặt nạ mức xám alpha tương ứng có giá trị thiết lập bằng 0 Theo cách này, đường biên đối tượng được giữ chính xác (nếu mặt nạ hỗ trợ nhị phân được mã không mất thông tin) trong khi mặt mức xám alpha (và vì thế thông tin trong suốt) có thể không giống hệt với nguyên gốc
Tính linh hoạt tăng lên do mã hoá hình dạng mức xám dành được đã làm giảm hiệu quả nén Mã hoá hình dạng nhị phân yêu cầu truyền các BAB cho mỗi MB biên trong khi mã hoá hình dạng mức xám yêu cầu thêm dữ liệu mặt mức xám alpha cho mỗi MB bán trong suốt
2.4.2.2 Mã hoá phần gốc tĩnh
Phần gốc tĩnh được xem xét như là ảnh bề mặt có thể di chuyển và biến đổi theo vài cách nhất định nhằm bù cho thay đổi camera như: quay, gật lên xuống, quay vòng, phóng to thu nhỏ Trong một số cảnh điển hình, phần gốc có thể to hơn nhiều vùng nhìn thấy của cảnh Khi điểm nhìn camera thay đổi, bộ mã hoá truyền các thông số chỉ ra phần gốc nền di chuyển và biến đổi để tạo lại vùng nhìn thích hợp trong bộ giải mã Phần gốc có thể có hình dạng bất kỳ hoặc có thể hình chữ nhật
Để dùng mã hoá phần gốc tĩnh phải thiết lập sprite_enable vào “Static” trong phần
đầu VOL, trong đó mã hoá phần gốc tĩnh được dùng trong suốt VOP VOP đầu tiên trong VOL phần gốc tĩnh là I-VOP vào theo sau là một loạt các S-VOPs (Static Sprite VOPs) Có hai phương pháp truyền và thao tác các phần gốc, phần gốc “cơ bản” (truyền toàn bộ ngay đầu chuỗi) và phần gốc “trễ thấp” (cập nhật từng mẫu trong suốt chuỗi)
a) Phần gốc cơ bản
Trang 34VOP đầu tiên (I-VOP) chứa toàn bộ phần gốc, mã hoá cùng cách với I-VOP bình thường Phần gốc có thể lớn hơn kích thước hiển thị (chứa cảnh di chuyển của camera trong suốt cả chuỗi) Tại bộ giải mã, phần gốc được thay thế trong bộ đệm gốc và không hiển thị ngay lập tức Tất cả các VOP sau trong VOL là các S-VOP Một S-VOP chứa tới 4 thông số biến đổi để di chuyển hoặc biến đổi (lựa chọn) nội dụng của bộ đệm gốc để hiển thị phần nền cần thiết Số thông số biến đổi cho mỗi S-VOP (tuỳ ý cho đến 4) được chọn trong phần đầu VOL và quyết định sự linh hoạt của biến đổi bộ đệm gốc Thông số đơn cho mỗi S-VOP cho phép dịch chuyển tuyến tính (vectơ chuyển động đơn cho toàn bộ phần gốc), 2 hoặc 3 thông số cho phép biến đổi quan hệ ( ví dụ quay, biến dạng) và 4 thông số cho phép biến đổi phối cảnh
b) Phần gốc trễ thấp
Truyền toàn bộ phần gốc trong chế độ Phần gốc cơ bản lúc bắt đầu của VOL có thể gây trễ đáng kể bởi vì phần gốc lớn hơn nhiều VOP hiển thị Chế độ độ trễ thấp cho phép bộ giải mã gửi lập tức kích thước tối thiểu hoặc bản chất lượng thấp của phần gốc và sau đó cập nhật nó trong suốt quá trình truyền VOL I-VOP đầu tiên chứa một phần hoặc tất cả phần gốc (lựa chọn mã hoá chất lượng giảm xuống để tiết kiệm băng thông) cùng với độ cao và chiều rộng của toàn bộ phần gốc
Hình 2.8: Minh hoạ phần gốc tĩnh (nền)
Trang 35cơ bản) và một hoặc nhiều các mẫu phần gốc Các mẫu phần gốc che các vùng hình chữ nhật của phần gốc và chứa dữ liệu macroblock mà a) xây dựng phần của phần gốc chưa được giải mã trước đó hoặc b) cải thiện chất lượng một phần của phần gốc
đã được giải mã trước đó (mẫu cập nhật phần gốc tĩnh) Macroblock trong mẫu ‘đối tượng phần gốc tĩnh’ được mã hoá như macroblock nội khung (bao gồm thông tin hình dạng nếu phần gốc không phải là hình chữ nhật) Macroblock trong mẫu ‘cập nhật phần gốc tĩnh’ được mã hoá như macroblock liên khung sử dụng dự đoán tiến
từ nội dung trước đó của bộ đệm gốc (nhưng không có vectơ chuyển động và thông tin hình dạng)
2.4.3 Mô tả hiệu quả mã hoá tiên tiến (ACE)
Mô tả ACE là bộ siêu công cụ của mô tả lõi để hỗ trợ mã hoá các đối tượng video mức xám alpha với hiệu quả nén cao Thêm vào các đối tượng đơn giản và lõi, nó bao gồm đối tượng ACE có thêm các công cụ sau:
• Dịch chuyển giá trị dư thừa mờ X lên trên của khối 8x8
• áp dụng DCT một chiều cho mỗi cột (số các điểm trong chuyển đổi bằng số giá trị mờ trong mỗi cột)
• Dịch chuyển kết quả ngay khi hệ số Y sang bên trái của khối
• áp dụng DCT một chiều cho mỗi hàng (bằng với số các giá trị trong mỗi hàng
Trang 36Các hệ số cuối cùng (Z) được lượng tử hoá, quét zigzag và mã hoá Bộ giải mã đảo ngược các tiến trình (dùng giải mã thông tin hình dạng từ BAB) để xây dựng lại các khối mẫu 8x8 SA-DCT phức tạp hơn DCT 8x8 bình thường nhưng có thể cải thiện mã hoá cho các MB biên
2.4.4 Mô tả N-bit
Mô tả N-bit chứa các đối tượng Đơn giản và Lõi cộng thêm công cụ N-bit Công
cụ này hỗ trợ mã hoá dữ liệu chói và màu giữa bốn và mười hai bit mỗi mẫu (thay vì hạn chế thông thường là tám bít cho mỗi mẫu) Các ứng dụng có thể trong mô tả N-bit bao gồm mã hoá video để hiển thị với độ sâu cho màu thấp (trong đó khả năng hiển thị hạn chế là ít hơn 8 bit được yêu cầu để thể hiện cho mỗi mẫu) các ứng dụng hiển thị chất lượng cao (trong đó hiển thị màu nhiều hơn 8 bit cho mỗi mẫu và độ trung thực mã hoá cao theo yêu cầu)
2.5 Mã hoá video liên hoàn
Mã hoá video liên hoàn cho phép bộ giải mã chỉ giải mã những phần lựa chọn từ dòng mã bit Dòng mã được tổ chức theo số các lớp, bao gồm lớp cơ bản và một
hoặc nhiều lớp “nâng cao”
Trong hình này bộ giải mã A chỉ nhận lớp cơ bản và có thể giải mã phiên bản chất lượng cơ bản cho cảnh video, trong khi đó bộ giải mã B nhận tất cả các lớp và giải mã với phiên bản chất lượng cao Một số ứng dụng như bộ giải mã độ phức tạp thấp chỉ có khả năng giải mã lớp cơ bản, dòng bit tốc độ thấp có thể tách ra để truyền dẫn qua mạng phân đoạn với dung lượng hạn chế và lớp cơ bản dễ xảy ra lỗi
có thể được truyền ưu tiên cao hơn các lớp nâng cao
MPEG-4 Visual hỗ trợ một số các chế độ mã hoá liên hoàn Liên hoàn không gian
cho phép VOP (hình chữ nhật) được mã hoá phân tầng độ phân giải không gian Giải mã lớp cơ bản cho phiên bản độ phân giải thấp của VOP và giải mã liên tiếp các lớp nâng cao cho ảnh độ phân giải cao Liên hoàn thời gian cung cấp lớp cơ bản tốc độ
khung hình thấp và các lớp nâng cao xây dựng thêm tốc độ khung hình cao hơn Chuẩn cũng hỗ trợ liên hoàn chất lượng trong đó các lớp nâng cao cải thiện chất
lượng nhìn của VOP và nâng cao độ phức tạp trong đó các lớp kế tiếp có tiến trình
Trang 37dần từng bước nhỏ ứng dụng cho FGS là streaming video qua mạng kết nối trong
đó nó có hữu dụng để mã hoá dòng bit liên hoàn phù hợp gần nhất có thể với tốc độ bit hiện có
2.5.1 Liên hoàn không gian
Lớp cơ bản chứa phiên bản độ phân giải giảm của mỗi khung hình mã hoá Giải mã riêng lớp cơ bản cho chuỗi tín hiệu ra với độ phân giải thấp và giải mã lớp cơ bản cùng với các lớp nâng cao cho ra độ phân giải cao hơn Các bước tiếp theo được yêu cầu để mã hoá chuỗi video thành 2 lớp không gian
1 Mẫu con mỗi khung hình video đầu vào (hoặc đối tượng video) theo chiều ngang hoặc dọc
2 Mã hoá khung hình độ phân giải giảm xuống từ khuôn hình lớp cơ bản
3 Giải mã lớp cơ bản và lấy mẫu lên với độ phân giải nguyên góc thành khuôn dạng khung hình dự đoán
4 Trừ khung hình phân giải đầy đủ cho khung hình dự đoán
5 Mã hoá sự khác nhau (dư thừa) để làm lớp cải thiện
2.5.2 Liên hoàn thời gian
Lớp cơ bản của chuỗi liên hoàn thời gian được mã hoá với tỷ lệ khung hình video thấp và lớp nâng cao chứa các I-, P- và/hoặc B-VOP có thể được giải mã cùng với lớp cơ bản để cung cấp tỷ lệ khung hình tăng lên Lớp nâng cao các VOP được
dự đoán sử dụng dự đoán bù chuyển động cùng với các luật sau
I-VOP nâng cao được mã hoá không có dự đoán P-VOP nâng cao được dự đoán từ VOP nâng cao trước đó, VOP lớp cơ bản trước đó, hoặc VOP lớp cơ bản sau đó B-VOP nâng cao được dự đoán từ các VOP lớp nâng cao và cơ bản trước đó, các VOP lớp nâng cao trước đó và lớp cơ bản tiếp theo hoặc các VOP lớp cơ bản trước và sau 2.6 Mã hoá bề mặt
Các nhà phát triển MPEG-4 nhắm mục đích vào khung cảnh trong đó cần thiết
để truyền bề mặt tĩnh (ví dụ ảnh tĩnh) Trong khi các khối chuyển đổi như DCT được
Trang 38xem xét rộng rãi như là giải pháp tốt nhất cho mã hoá bù chuyển động, chuyển đổi
Wavelet rời rạc (DWT) là mã hoá hiệu quả cụ thể cho các ảnh tĩnh MPEG-4 Visual
sử dụng DWT như là các công cụ cơ bản để nén ảnh tĩnh Các ứng dụng bao gồm
mã hoá các đối tượng bề mặt hình chữ nhật (như các khung hình đầy đủ), mã hoá
các vùng bề mặt có hình dạng thay đổi và mã hoá các bề mặt được ánh xạ vào các
mô hình 2D hoặc 3D DWT 2D được áp dụng vào các đối tượng bề mặt, tạo ra thành
phần DC (giải con tần số thấp) và số các giải con AC (tần số cao) Giải con DC được
lượng tử hoá, mã hoá dự đoán (dùng phương pháp DPCM) và mã hoá entropy dùng
bộ mã hoá số học Các giải con AC được lượng tử hoá và sắp xếp lại (‘quét’), mã
hoá cây số không và mã hoá entropy
Biến đổi Wavelet rời rạc
MPEG-4 mã hoá bề mặt tĩnh dùng DWT bởi bộ lọc biorthogonal Phương pháp
này sử dụng đôi bộ lọc, lọc thông thấp (với 3 hệ số lọc hoặc taps) và lọc thông cao
(với 9 bộ lọc taps)
Lượng tử hoá
Giải con DC được lượng tử hoá sử dụng bộ lượng tử hoá liên hoàn Các giải con AC
có thể được lượng tử hoá theo một trong ba cách:
1 Lượng tử hoá liên hoàn sử dụng lượng tử hoá đơn (chế độ 1), ưu tiên thứ tự
sắp xếp lại và mã hoá cây số không
2 Lượng tử hoá “hai mức” (chế độ 3) sau khi sắp xếp lại Các hệ số sắp xếp lại
được mã hoá cùng một mặt phẳng bit sử dụng mã hoá cây số không Dòng bit
mã có thể bị cắt tại bất cứ điểm nào để cung cấp giải mã liên hoàn cao nhất
(tương tự với cách FGS)
3 Lượng tử hoá “đa mức” (chế độ 2) ưu tiên sắp xếp lại và mã hoá cây số
không Bộ loạt các bộ lượng tử hoá được áp dụng từ thô đến min, với đầu ra
của mỗi bộ lượng tử hoá thành chuỗi các lớp (kiểu như mã hoá liên hoàn)
Sắp xếp lại
Các hệ số của các giải con AC được quét hoặc sắp xếp lại theo một trong hai cách
sau:
Trang 39là các hệ số “con” của nó ở giải con cao hơn tiếp theo và tiếp tục Nó cho phép mã hoá EZW khai thác tương quan giữa các hệ số cha và con Ba cây
đầu tiên được mã hoá trong tập các hệ số được mô tả trong hình 2.8
DC
Trang 40Chương III: tìm hiểu chuẩn H.264/ MPEG-4 phần 10
3.1 Khái quát về sơ đồ mã hoá theo chuẩn H.264
Nhóm các chuyên gia ảnh động và Nhóm chuyên gia mã hoá video (MPEG và VCEG) đã phát triển chuẩn mới hứa hẹn trình diễn khả năng nén video tốt hơn các chuẩn trước của MPEG-4 và H.263 Chuẩn mới có tên gọi “Mã hoá video tiên tiến”
được phát hành như là Phần 10 của MPEG-4 và H.264
Hình 3.1: Bộ mã hoá H.264
Hình 3.2: Bộ giải mã H.264
+ D n
Chọn
dự đoán nội khung