Phương pháp nén video tiên tiến và ứng dụng
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công nghệ Thông tin Truyền thông BÀI TẬP MÔN HỌC Truyền thông đa phương tiện ứng dụng Đề tài: Phương pháp nén Video tiên tiến ứng dụng Giáo viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan Sinh viên thực hiện: Nguyễn Hồng Nhật SHSV: 20111940 Nguyễn Văn Thiện SHSV: 20112282 HÀ NỘI– 2014 Mục lục Tổng quan Giới thiệu H.264/AVC 3 Cấu trúc quy chuẩn H.264/AVC 3.1 Network Abstraction Layer (NAL) 3.2 Video Coding Layer (VCL) NAL Unit phương thức đóng gói 4 Quá trình nén H.264/AVC 4.1 Dự đoán 4.1.1 Intra-prediction 4.1.2 Inter-prediction 4.1.3 Bộ lọc khử khối vuông 4.2 Biến đổi Lượng tử hóa 4.3 Mã hóa Entropy 10 Quá trình giải mã video H.264/AVC 10 Chuẩn H.264/AVC 11 6.1 Các hồ sơ - profile 11 6.2 Các cấp độ - Level 12 6.3 Kích thước buffer cho hình ảnh giải mã 13 So sánh phương pháp nén H.264/AVC với MPEG-1 13 Đánh giá thử nghiệm H.264/AVC MPEG-1 14 Tài liệu tham khảo 15 Phương pháp nén Video tiên tiến ứng dụng MPEG-4 Phần 10 - H.264/AVC Tổng quan MPEG-4 phương pháp định nghĩa cách thức nén âm nội dung trực quan MPEG-4 bao gồm nhiều chuẩn, hay gọi “phần” MPEG-4 bao gồm tất 30 phần (1 phần trình phát triển), đa số phần chưa triển khai Giới thiệu H.264/AVC H.264/AVC chuẩn nén video dùng công nghiệp, trình biến đổi video số thành định dạng khác chiếm dung lượng lưu trữ truyền tải Để thực điều này, cần có encoder (bộ mã hóa) để biến video dạng nén decoder (bộ giải mã) để chuyển dạng nén thành liệu video hiển thị lên thiết bị nghe nhìn H.264/AVC phần MPEG-4 gọi MPEG-4 Phần 10 MPEG-4 Phần 10 bao gồm AVC sử dụng profile có cấp độ cao người tiền nhiệm MPEG-4 Phần (hay gọi MPEG-4 Visual) Do cần khả tính toán lớn thuật toán phức tạp H.264/AVC văn định nghĩa định dạng video nén phương thức giải mã định dạng để tái tạo lại chuỗi hình ảnh tạo nên video Văn chuẩn không đề cập tới cách thức nén video số - điều dành cho nhà phát triển encoder - thực tế, trình mã hóa thường làm ngược lại mà trình giải mã thực Hình 1: trình mã hóa giải mã video theo chuẩn H.264/AVC Là định dạng video, tất nhiên nhiệm vụ H.264/AVC đóng vai trò làm chuẩn mã hóa nén video Hiện H.264/AVC sử dụng nhiều thiết bị, dịch vụ Đơn cử thiết bị đầu Blu-ray, dịch vụ phát video trực tuyến qua internet YouTube, iTunes Store, Vimeo,… phần mềm Adobe Flash Player, Silverlight, VLC, dịch vụ truyền hình HDTV, truyền hình vệ tinh Ngoài H264 hãng công nghệ phát triển để phục vụ cho mục đích khác như: - XAVC: Định dạng thu video hỗ trợ độ phân giải lên tới 4K (4096×2160) tốc độ khung hình / giây lên tới 60 - AVCHD: Được phát triển Sony Panasonic, dùng để thu video độ phân giải cao, sử dụng nhiều đĩa Blu-ray máy PlayStation Về H264 thêm số tính đặc biệt phục vụ cho thiết bị hãng Cấu trúc quy chuẩn H.264/AVC Bộ quy chuẩn H.264/AVC bao gồm phần chính: 3.1 Network Abstraction Layer (NAL) Được sử dụng nhằm tạo tính “thân thiện” với môi trường mạng cho định dạng H.264/AVC Cùng với nhiều hệ thống khác như: ● RTP/TP cho loại giao tiếp có dây không dây thời gian thực ● Các định dạng file (ISO, MP4, MMS,…) ● H.32x cho dịch vụ đàm thoại ● MPEG2 cho truyền hình Dữ liệu video mã hóa, chứa đơn vị thuộc lớp NAL, gọi NAL Unit Ngoài gói NAL Unit chứa thông tin khác, nên NAL Unit chia làm loại: ● VCL NAL Unit: NAL unit chứa thông tin video mã hóa ● Non-VCL NAL Unit: NAL unit chứa thông tin khác Header Byte: Byte đơn vị NAL, cho biết loại thông tin mà NAL chứa Enumeration Prevention Bytes: Byte chèn vào liệu tải trọng nhằm ngăn việc tạo tiếp đầu mã (net code prefix ý muốn) Giải thích: Net Code Prefix sử dụng nhằm định danh định dạng file Trong H264, code đưa vào lớp NAL, gồm bytes, không đưa trực tiếp vào lớp NAL cấu trúc Byte Stream (dòng byte) Code đặt cuối NAL unit tiếp đầu mã NAL unit (EOF) 3.2 Video Coding Layer (VCL) NAL Unit phương thức đóng gói Mỗi NAL Unit (NALU) bao gồm byte NALU Header, sau dãy byte nội dung video mã hóa (VCL) thông tin điều khiển (Non-VCL) Byte header chứa thông tin loại NALU tính “quan trọng” NALU (NALU có chứa thông tin slice sử dụng để tham chiếu không? – slice gây khó khăn cho việc giải mã nội dung cần tham chiếu) NALU truyền phát (stream) dạng dòng bit đóng gói dạng file Hình 2: NAL Unit Quá trình nén H.264/AVC Quá trình nén / mã hóa H.264/AVC bao gồm công đoạn (xem hình 1): Dự đoán, Biến đổi & Lượng tử hóa Mã hóa Entropy 4.1 Dự đoán Công đoạn xử lý khung hình video theo khối nhỏ gọi Macroblock (kích thước 16x16 pixels) Và lý video có chiều ngang chiều dọc số chia hết cho 16 để đảm bảo độ nén cao (VD: 1280×720, 720×480,…) Vậy video có độ phân giải không chia hết cho 16? Dòng cột cuối làm giả (clone) Ví dụ video 1920×1080 thêm dòng cuối để trở thành 1920×1088, sau định cho decoder cắt bớt dòng / cột giả trình giải mã (decode) Công đoạn đoán macroblock dựa theo liệu mã hóa từ trước: từ khung hình video (intra prediction) từ khung hình trước mã hóa truyền tải (inter prediction) Sau đó, encoder trừ phần đoán từ macroblock thời để tạo “phần dư” (residual) Việc tìm kiếm dự đoán interframe hợp lý cho macroblock gọi ước lượng chuyển động Việc trừ dự đoán interframe với macroblock gốc gọi bù chuyển động Các phương thức đoán H.264/AVC linh hoạt định dạng trước đó, cho kết đoán tốt khả nén cao 4.1.1 Intra-prediction Intra-prediction sử dụng block 16×16 4×4 để dự đoán macroblock từ pixel mã hóa xung quanh nó, khung hình Để dự đoán intraframe, H.264/AVC cung cấp ● phương pháp dành cho dự đoán intraframe thành phần Luma (Y) khối 4x4 M A B C D E F G H I a b c d J e f g h K i j k l L m n o p Hình 3: Các nhãn pixel sử dụng để dự đoán Hình 4: Các phương pháp intra-prediction dùng cho dự đoán thành phần Luma (Y) khối 4x4 Phương pháp thứ (DC) thay đổi tùy thuộc vào việc mẫu A-M có tồn hay không, phương pháp khác thực tất mẫu cần thiết có sẵn (nếu mẫu E, F, G, H không có, giá trị mẫu D chép vào vị trí thiếu chúng) Sau áp dụng phương pháp dự đoán trên, việc encoder phải tính toán giá trị sai số tuyệt đối (SAE - Sum of Absolute Errors) block dự đoán so với block hình ảnh gốc Phương pháp cho giá trị SAE nhỏ chọn (áp dụng cho dự đoán Luma 16x16 thành phần Chroma) 𝑁 𝑁 𝑆𝐴𝐸 = ∑ ∑|𝐶𝑖𝑗 − 𝑅𝑖𝑗 | 𝑖=1 𝑗=1 ● phương pháp dành cho dự đoán intraframe thành phần Luma (Y) khối 16x16 Hình 5: phương pháp dự đoán interframe 16x16 thành phần Luma(Y) ● phương pháp dành cho dự đoán intraframe thành phần Chroma (Cr Cb) Hai thành phần dùng chung phương pháp dự đoán Và sử dụng khối có kích thước 8x8 phương pháp dự đoán thành phần tương tự phương pháp sử dụng để dự đoán thành phần Luma khối 16x16 khác thứ tự: DC (chế độ 0), Ngang (chế độ 1), Dọc (chế độ 2), Chéo (chế độ 3) 4.1.2 Inter-prediction Inter-prediction sử dụng kích thước khối (block size) khoảng (từ 16×16 đến 4×4) để dự đoán pixel khung hình thời từ khung hình trước nằm vùng tương tự Các thuật toán dùng dự đoán interframe: Diamond Search, Hexagon Search, Four Step Search, Chúng xoay quanh hàm tiêu chuẩn đối sánh Các hàm thường dùng là: ● Sai khác trung bình tuyệt đối MAD: 𝑁−1 𝑁−1 𝑀𝐴𝐷 = ∑ ∑|𝐶𝑖𝑗 − 𝑅𝑖𝑗 | 𝑁 𝑖=0 𝑗=0 ● Sai khác trung bình bình phương MSE: 𝑁−1 𝑁−1 𝑀𝑆𝐸 = ∑ ∑(𝐶𝑖𝑗 − 𝑅𝑖𝑗 ) 𝑁 𝑖=0 𝑗=0 Trong đó: 𝑁 kích thước Macroblock, 𝐶𝑖𝑗 𝑅𝑖𝑗 pixel tương ứng Trong đa số trường hợp, encoder thành công việc thực dự đoán interframe, khối tìm chưa hẳn hoàn toàn trùng khớp với khối trước mã hóa Do encoder phải thực tính toán sai số chúng Phần dư sinh phép trừ sai số dự đoán, chuyển đổi gửi tới cho decoder Tóm lại, encoder thành công việc tìm khối khung hình tham chiếu, trả vector chuyển động trỏ tới khối tìm kèm theo sai số dự đoán Sử dụng thông tin này, decoder khôi phục lại pixel nguyên thủy block Hình 6: Quá trình mã hóa interframe Ưu điểm nhược điểm phương pháp dự đoán này: ● Nếu thuận lợi, thuật toán tìm khối phù hợp với sai số bé Vì sau biến đổi, kích thước vector chuyển động cộng với sai số dự đoán bé kích thước mã hóa sử dụng ảnh gốc ● Nếu không tìm khối phù hợp, kích thước mã hóa lớn kích thước mã hóa ảnh gốc Lúc này, encoder sinh ngoại lệ gửi kèm mã hóa ảnh gốc cho khối ● Nếu frame trước dự đoán interframe dẫn tới sai số chồng chất tái tạo hình ảnh Đa phần thiết kế, có loại interframe, là: P-frame B-frame Hai loại khung hình kèm với I-frame tạo thành GOP (Group of Pictures) Các I-frame không cần thêm thông tin để giải mã nên dùng làm khung hình tham chiếu Cấu trúc cho phép ta có I-frame theo chu kì tuần hoàn, giúp đồng hóa việc giải mã decoder P-frame P-frame hình ảnh dự đoán Dự đoán thực nhờ hình ảnh trước đó, đa phần I-frame, chiếm dụng không gian lưu trữ (vào khoảng 50% so với kích thước I-frame) Dữ liệu để thực dự đoán bao gồm vector chuyển động hệ số dự đoán qua biến đổi B-frame B-frame hình ảnh dự đoán theo chiều, từ frame trước sau B-frame chiếm dụng không gian lưu trữ P-frame (vào khoảng 25% so với kích thước I-frame) Tương tự P-frame, B-frame thể qua vector chuyển động hệ số biến đổi Để tránh sai số chồng chất tái tạo hình ảnh, B-frame H.264/AVC sử dụng frame tham chiếu 4.1.3 Bộ lọc khử khối vuông Việc xử lý khung hình theo Macroblock sinh ảnh giả (Ảnh giả yếu tố ảnh tạo sai lệch trình tiếp nhận, xử lý, tái tạo liệu ánh sáng sensor, ống kính, thuật toán ) đường biên khối Những ảnh giả theo khối giảm cách áp dụng lọc khử khối vuông vào pixel hai khối, thường chúng làm mịn trình chuyển đổi pixel từ khối sang khối khác Trong H.263+, tính tùy chọn, H.264/AVC giúp cải thiện đáng kể chất lượng hình ảnh Hơn nữa, lọc khử khối vuông áp dụng trước sử dụng hình ảnh làm khung hình tham chiếu, điều làm tăng hiệu trình bù chuyển động 4.2 Biến đổi Lượng tử hóa Khối liệu phần dư sau công đoạn dự đoán biến đổi thông qua chuyển đổi số nguyên (tương tự biến đổi Cosin rời rạc - DCT) Phép biến đổi cho tập hệ số, thành phần giá trị trọng số cho chuẩn có trước Khi kết hợp với nhau, chuẩn tái tạo lại khối liệu phần dư ban đầu Hình 7: Chuyển đổi ngược, kết hợp chuẩn với hệ số để tái tạo khối ảnh Đầu phép chuyển đổi trên, khối hệ số, lượng tử hóa Ví dụ: hệ số chia cho giá trị nguyên Quá trình lượng tử giảm độ xác hệ số theo tham số lượng tử cho trước (quantization parameter) Do vậy, ta đặt tham số lượng tử cao dẫn tới nhiều hệ số bị lượng tử 0, cho ta kết nén với hệ số nén cao chất lượng ảnh tái tạo lại xấu Nếu đặt tham số lượng tử bé ta có nhiều hệ số có giá trị khác hơn, dẫn tới chất lượng ảnh tái tạo tốt bù lại hệ số nén lại thấp Quá trình mã hóa video phải tạo số giá trị cần phải mã hóa để có dòng bit nén Các giá trị bao gồm: - Tham số lượng tử - Thông tin cung cấp cho giải mã (decoder) để tạo lại đoán - Thông tin cấu trúc liệu nén, công cụ sử dụng để nén - Thông tin toàn trình tự video 4.3 Mã hóa Entropy Kết mã hóa từ công đoạn trước cho dòng bit, việc cuối mã hóa dòng bit thuật toán mã hóa entropy H.264/AVC sử dụng thuật toán mã hóa entropy CABAC (Context Adaptive Binary Arithmetic Coding) CAVLC (Context Adaptive Variable Length Coding) CABAC cho chất lượng nén tốt giải mã phức tạp thuật toán thuật toán nén không thông tin nên sử dụng CABAC giảm bitrate so với CAVLC mà giữ chất lượng CABAC cải thiện chất lượng nén khoảng 10-15% so với CAVLC Công đoạn thực Network Abstraction Layer (NAL) Quá trình giải mã video H.264/AVC ○ ○ Hình 8: Sơ đồ khối giải mã H.264/AVC Giải mã bitstream: Bộ giải mã nhận dòng bit H.264/AVC, giải mã thông số tách thông tin liệt kê phần Chia lại tỉ lệ chuyển đổi ngược: Các hệ số lượng tử chia lại tỉ lệ Mỗi hệ số nhân với giá trị số nguyên để phục hồi lại kích thước ban đầu Quá trình chuyển đổi ngược kết hợp phần chuẩn, định lượng lại thông số chia lại tỉ lệ trên, để tạo lại khối liệu phần dư Các khối liệu phần dư kết hợp tiếp, tạo thành macroblock phần dư 10 ○ Do decoder có cách định lượng đưa giá trị khác nên video, giải mã hệ thống / phần mềm khác cho chất lượng hình ảnh có khác biệt Tái tạo: Với Macroblock, decoder tạo phần đoán giống phần đoán tạo encoder Sau thêm phần đoán vào phần dư giải mã để tái tạo macroblock, sử dụng để hiển thị sau áp dụng lọc khử khối vuông Những khung hình tái tạo hoàn chỉnh lưu lại phần phục vụ cho trình bù chuyển động vòng lặp tái tạo Chuẩn H.264/AVC 6.1 ● ● ● ● ● ● ● ● ● ● ● Các hồ sơ - profile Đây ràng buộc dành cho encoder, thông qua profile mà decoder nhận yêu cầu cần thiết để giải mã video Profile cách lớp ứng dụng định H.264/AVC: Baseline Profile (BP): Dùng cho ứng dụng/thiết bị giá rẻ với khả tính toán hạn chế Loại sử dụng hội nghị video thiết bị di động Main Profile (MP): Sử dụng cho ứng dụng tầm trung, để phát lưu trữ Thường dùng cho định dạng phát sóng vô tuyến độ phân giải chuẩn trước Extended Profile (XP): Sử dụng cho ứng dụng phát video, với độ nén cao, khả chịu lỗi tốt tương thích chuyển dòng phát server với High Profile (HiP): Loại sử dụng cho truyền hình độ phân giải cao lưu trữ đĩa (HDTV, Bluray, HD DVD,…) High 10bit Profile (Hi10P): Giống HiP thiết bị cần sửa đổi để tương thích với định dạng sử dụng 10bit mẫu màu High 4:2:2 Profile (Hi422P): Sử dụng cho ứng dụng chuyên nghiệp với video interlaced sử dụng video 10bit Hỗ trợ lấy mẫu màu dạng 4:2:2 High 4:4:4 Profile (Hi444P): Tương tự lấy mẫu màu dạng 4:4:4, hỗ trợ lên tới 14bit mẫu màu Hỗ trợ mã hóa không thông tin Ngoài ra, hồ sơ bao gồm số loại hỗ trợ cho all-intra, tức số thiết bị thu / ghi hình, chỉnh sửa chuyên nghiệp sử dụng Intra-Frame Tương ứng với loại profile liệt kê trên: High 10 Intra Profile High 4:2:2 Intra Profile High 4:4:4 Intra Profile CAVLC 4:4:4 Intra Profile (chỉ sử dụng mã hóa entropy CAVLC) Trên PC, Bluray, Mac, chủ yếu sử dụng Main Profile High Profile So sánh tính profile: 11 Baseline Extended Main High High 10 High 4:2:2 High 4:4:4 Có Có Có Có Có Có Có Không Có Có Có Có Có Có Đa khung hình tham chiếu Có Có Có Có Có Có Có Bộ lọc khử khối vuông Có Có Có Có Có Có Có CAVLC Có Có Có Có Có Có Có CABAC Không Không Có Có Có Có Có Mã hóa interlace Không Có Có Có Có Có Có Chuyển đổi 8x8 4x4 Không Không Không Có Có Có Có Lượng tử theo ma trận Không Không Không Có Có Có Có Điều khiển Chroma riêng Không Không Không Có Có Có Có Mã hóa khuôn màu riêng Không Không Không Không Không Không Có Mã hóa không mát thông tin Không Không Không Không Không Không Có I / P Slice B Slice Bảng 1: So sánh tính profile 6.2 Các cấp độ - Level Đây cấp độ yêu cầu cho decoder tóm tắt: 12 Level Tốc độ giải mã tối đa Kích thước khung hình tối đa Video bitrate tối đa Mẫu Luma/s Mẫu Luma/s Baseline / Extended / Main Profile High Profile Hi10 Profile MB/s MB Độ phân giải@tốc độ khung hình (số khung hình lưu buffer) 128×96@30.9 (8) 176×144@15.0 (4) 380 160 485 25 344 99 64 80 192 3.1 27 648 000 108 000 921 600 600 14 000 17 500 42 000 62 500 280×720@68.3 (9) 150 000 920×1 080@30.1 (4) 048×1 024@30.0 (4) 4.1 62 914 560 245 760 097 152 192 50 000 720×480@80.0 (13) 720×576@66.7 (11) 280×720@30.0 (5) Bảng 2: Tóm tắt level cho decoder Ngoài lập trình viên nhà phát triển phần cứng / ứng dụng dựa vào level để sản xuất sản phẩm dựa theo đặc tính dễ dàng Ví dụ quy định cho chuẩn giải mã DXVA 6.3 Kích thước buffer cho hình ảnh giải mã Những hình ảnh mã hóa trước encoder H.264/AVC sử dụng để xây dựng đoán cho hình ảnh Điều giúp encoder đưa định hiệu để mã hóa hình ảnh Tại decoder, hình ảnh giải mã lưu trữ buffer để phục vụ trình bù chuyển động cho khung hình Ví dụ: để trình chiếu video với độ phân giải 1920x1080 Level 4.1 decoder cần buffer chứa khung hình So sánh phương pháp nén H.264/AVC với MPEG-1 - Giống nhau: Quá trình mã hóa dựa không gian màu YUV Đều sử dụng phép biến đổi rời rạc khối trước đưa hệ số vào trình lượng tử hóa 13 Khác nhau: MPEG-1 - Thường dùng độ phân giải chuẩn SIF: 352x240, 352x288, or 320x240 Trong phép DCT, áp dụng với kích thước block Ước lượng chuyển động dùng kích thước block cố định Mỗi P-Frame tham chiếu tới hình ảnh (Đơn khung hình tham chiếu) Vector chuyển động có độ xác tới ½ pixel Mã hóa entropy: RLE, Huffman H.264/AVC - Dùng với độ phân giản từ 128×96 tới 4,096×2,304 Phép chuyển đổi số nguyên áp dụng với kích thước block Ước lượng chuyển động dùng kích thước block thay đổi P-Frame tham chiếu tới nhiều hình ảnh (Đa khung hình tham chiếu) Vector chuyển động có độ xác tới ¼ pixel Mã hóa entropy: CABAC, CAVLC Bảng 3: So sánh phương pháp nén MPEG-1 H.264/AVC Đánh giá thử nghiệm H.264/AVC MPEG-1 Tiến hành thử nghiệm với video định dạng YUV4MPEG không nén lấy từ nguồn: https://media.xiph.org/video/derf/ Công cụ sử dụng MPEG-1 Encoder: mpeg2enc công cụ mjpegtools Ubuntu Linux H.264/AVC Encoder: x264.exe Windows Decoder: Media Player Classic Windows Tiến hành Tên tập tin: tt_sif.y4m | https://media.xiph.org/video/derf/y4m/tt_sif.y4m Độ phân giải: 352 x 240 Dung lượng: 19 008 946 byte Các so sánh hình ảnh thực khung hình 14 Kết MPEG-1 H.264/AVC Dung lượng video sau mã hóa Chât lượng hình ảnh 690 152 byte 591 974 byte Hình ảnh bị tượng blocking nơi có vân gỗ Không bị tượng blocking, vân gỗ lên rõ ràng Chuyển động Chuyển động vợt bị nhòe, không nhìn rõ Chuyển động vợt thể Bảng 4: So sánh kết thử nghiệm Việc thử nghiệm tiến hành tiếp tục với liệu video thứ (https://media.xiph.org/video/derf/y4m/foreman_cif.y4m) cho kết tương tự, H.264/AVC tỏ vượt trội hẳn mặt chất lượng hình ảnh tái tạo lẫn dung lượng lưu trữ chiếm dụng Nguyên nhân H.264/AVC có mô hình dự đoán interframe, intraframe tốt so với MPEG-1 khả thay đổi tùy theo ngữ cảnh (kích thước block không cố định, nằm khoảng từ 16x16 tới 4x4), độ xác cao (vector chuyển động có độ xác ¼ pixel), khả tham chiếu đa khung hình (so với đơn khung hình tham chiếu MPEG-1) Tài liệu tham khảo [1] http://www.vcodex.com/h264.html [2] https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC [3] https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio [4] https://en.wikipedia.org/wiki/Block-matching_algorithm [5] Block Matching Algorithms For Motion Estimation Aroh Barjatya, Student Member, IEEE [6] Motion Estimation and Intra Frame Prediction in H.264/AVC Encoder, Rahul Vanam, University of Washington 15 [7] [8] [9] [10] https://en.wikipedia.org/wiki/Inter_frame https://en.wikipedia.org/wiki/Bilinear_interpolation H.264 / MPEG-4 Part 10 White Paper Understanding the Application: An Overview of the H.264 Standard 16 [...]... profile mà decoder có thể nhận ra những yêu cầu cần thiết để giải mã video Profile là cách sắp lớp ứng dụng nhất định của H.264/AVC: Baseline Profile (BP): Dùng cho các ứng dụng/ thiết bị giá rẻ với khả năng tính toán còn hạn chế Loại này được sử dụng trong hội nghị video và các thiết bị di động Main Profile (MP): Sử dụng cho ứng dụng tầm trung, để phát hoặc lưu trữ Thường được dùng cho định dạng phát... Bảng 3: So sánh phương pháp nén của MPEG-1 và H.264/AVC 8 Đánh giá thử nghiệm H.264/AVC và MPEG-1 Tiến hành thử nghiệm với 2 video ở định dạng YUV4MPEG không nén được lấy từ nguồn: https://media.xiph.org /video/ derf/ Công cụ sử dụng MPEG-1 Encoder: mpeg2enc trong bộ công cụ mjpegtools trên Ubuntu Linux H.264/AVC Encoder: x264.exe trên Windows Decoder: Media Player Classic trên Windows Tiến hành ... Profile (XP): Sử dụng cho các ứng dụng phát video, với độ nén cao, khả năng chịu lỗi tốt và tương thích khi chuyển dòng phát giữa các server với nhau High Profile (HiP): Loại sử dụng chính cho truyền hình độ phân giải cao và lưu trữ trên đĩa (HDTV, Bluray, HD DVD,…) High 10bit Profile (Hi10P): Giống như HiP nhưng hiện nay các thiết bị cần được sửa đổi để tương thích với định dạng sử dụng 10bit mỗi mẫu... Sử dụng cho các ứng dụng chuyên nghiệp với video interlaced và sử dụng video 10bit Hỗ trợ lấy mẫu màu dạng 4:2:2 High 4:4:4 Profile (Hi444P): Tương tự như trên nhưng lấy mẫu màu dạng 4:4:4, hỗ trợ lên tới 14bit mẫu màu Hỗ trợ mã hóa không mất thông tin Ngoài ra, các hồ sơ này còn bao gồm một số loại con hỗ trợ cho all-intra, tức là một số thiết bị thu / ghi hình, chỉnh sửa chuyên nghiệp chỉ sử dụng. .. chuyển động cho khung hình tiếp theo Ví dụ: để trình chiếu một video với độ phân giải 1920x1080 ở Level 4.1 thì decoder sẽ cần một buffer có thể chứa được 4 khung hình So sánh phương pháp nén của H.264/AVC với MPEG-1 7 - Giống nhau: Quá trình mã hóa đều dựa trên không gian màu YUV Đều sử dụng phép biến đổi rời rạc các khối trước khi đưa hệ số vào quá trình lượng tử hóa 13 Khác nhau: MPEG-1 - Thường dùng... decoder có các cách định lượng và đưa ra giá trị khác nhau nên cùng 1 video, khi giải mã trên các hệ thống / phần mềm khác nhau sẽ cho ra chất lượng hình ảnh có sự khác biệt Tái tạo: Với mỗi Macroblock, decoder tạo một phần đoán giống như phần đoán tạo ra bởi encoder Sau đó thêm phần đoán này vào phần dư đã được giải mã để tái tạo macroblock, sử dụng để hiển thị sau khi đã áp dụng bộ lọc khử khối vuông... decoder Ngoài ra các lập trình viên hoặc các nhà phát triển phần cứng / ứng dụng cũng có thể dựa vào level để sản xuất sản phẩm dựa theo đặc tính trên dễ dàng hơn Ví dụ như quy định cho chuẩn giải mã DXVA 6.3 Kích thước buffer cho những hình ảnh đã được giải mã Những hình ảnh đã được mã hóa trước đó bởi encoder H.264/AVC sẽ được sử dụng để xây dựng phỏng đoán cho những hình ảnh tiếp theo Điều này giúp... một số thiết bị thu / ghi hình, chỉnh sửa chuyên nghiệp chỉ sử dụng Intra-Frame Tương ứng với các loại profile đã liệt kê ở trên: High 10 Intra Profile High 4:2:2 Intra Profile High 4:4:4 Intra Profile CAVLC 4:4:4 Intra Profile (chỉ sử dụng mã hóa entropy CAVLC) Trên PC, Bluray, Mac, chủ yếu sử dụng Main Profile và High Profile So sánh các tính năng giữa các profile: 11 Baseline Extended Main High... động của chiếc vợt được thể hiện Bảng 4: So sánh kết quả thử nghiệm Việc thử nghiệm được tiến hành tiếp tục với dữ liệu video thứ 2 (https://media.xiph.org /video/ derf/y4m/foreman_cif.y4m) cũng cho kết quả tương tự, H.264/AVC tỏ ra vượt trội hơn hẳn cả về mặt chất lượng hình ảnh tái tạo lẫn dung lượng lưu trữ chiếm dụng Nguyên nhân là do H.264/AVC có mô hình dự đoán interframe, intraframe tốt hơn so với... Windows Decoder: Media Player Classic trên Windows Tiến hành Tên tập tin: tt_sif.y4m | https://media.xiph.org /video/ derf/y4m/tt_sif.y4m Độ phân giải: 352 x 240 Dung lượng: 19 008 946 byte Các so sánh về hình ảnh được thực hiện trên cùng một khung hình 14 Kết quả MPEG-1 H.264/AVC Dung lượng video sau mã hóa Chât lượng hình ảnh 690 152 byte 591 974 byte Hình ảnh bị hiện tượng blocking ở những nơi ... 13 So sánh phương pháp nén H.264/AVC với MPEG-1 13 Đánh giá thử nghiệm H.264/AVC MPEG-1 14 Tài liệu tham khảo 15 Phương pháp nén Video tiên tiến ứng dụng MPEG-4 Phần... ● phương pháp dành cho dự đoán intraframe thành phần Chroma (Cr Cb) Hai thành phần dùng chung phương pháp dự đoán Và sử dụng khối có kích thước 8x8 phương pháp dự đoán thành phần tương tự phương. .. (MP): Sử dụng cho ứng dụng tầm trung, để phát lưu trữ Thường dùng cho định dạng phát sóng vô tuyến độ phân giải chuẩn trước Extended Profile (XP): Sử dụng cho ứng dụng phát video, với độ nén cao,