/ / Sự khác biệt giữa các tiêu chuẩn nén này là gì?

Sự khác biệt giữa các tiêu chuẩn nén này là gì?

Truyền trực tuyến ở 4K là tiêu chuẩn mới, nhưng với thông tin của hơn 8,2 triệu pixel được truyền sau mỗi 16 mili giây—việc lưu trữ và truyền video 4K trên internet không phải là nhiệm vụ dễ dàng.


Một bộ phim dài hai giờ sẽ chiếm hơn 1,7 Terabyte dung lượng lưu trữ khi không nén. Vì vậy, làm cách nào để những người khổng lồ phát trực tuyến như YouTube và Netflix quản lý để lưu trữ và phát trực tuyến các video chiếm quá nhiều dung lượng?

Chà, họ không sử dụng codec video để giảm dung lượng phim, nhưng codec video là gì và cái nào là tốt nhất?


Bộ giải mã video là gì?

Trước khi tìm hiểu sâu về sự phức tạp của codec video, điều quan trọng là phải hiểu cách tạo video. Nói một cách đơn giản, video không là gì ngoài một tập hợp các hình ảnh tĩnh thay thế nhau một cách nhanh chóng.

Phần mềm chỉnh sửa video chạy trên máy tính

Do tốc độ thay đổi cao này, bộ não con người nghĩ rằng hình ảnh đang chuyển động, tạo ra ảo giác khi xem video. Do đó, khi xem video ở 4K, bạn chỉ đang xem một tập hợp hình ảnh có độ phân giải 2160×3840. Độ phân giải hình ảnh cao này cho phép quay video ở 4K để mang lại trải nghiệm video tuyệt vời. Điều đó nói rằng, độ phân giải hình ảnh cao này làm tăng kích thước của video, khiến không thể phát trực tuyến qua các kênh có băng thông hạn chế, chẳng hạn như internet.

Để giải quyết vấn đề này, chúng tôi có codec video. Viết tắt của bộ giải mã/giải mã hoặc nén/giải nén, bộ giải mã video nén luồng hình ảnh thành các bit dữ liệu. Quá trình nén này có thể làm giảm chất lượng của video hoặc không ảnh hưởng gì đến video dựa trên các thuật toán nén được sử dụng.

Như tên gợi ý, bit nén trong codec làm giảm kích thước của mỗi hình ảnh. Để làm điều tương tự, thuật toán nén khai thác các sắc thái của mắt người—ngăn mọi người biết rằng video họ xem đã được nén.

Ngược lại, quá trình giải nén hoạt động ngược lại và hiển thị video bằng thông tin nén.

Mặc dù các codec thực hiện rất tốt công việc nén thông tin, nhưng việc thực hiện tương tự có thể gây áp lực cho CPU của bạn. Do đó, việc thấy hiệu suất hệ thống dao động khi bạn chạy các thuật toán nén video trên hệ thống của mình là điều bình thường.

Ứng dụng chỉnh sửa video chạy trên iPad

Để giải quyết vấn đề này, CPU và GPU đi kèm với phần cứng đặc biệt có thể chạy các thuật toán nén này. Cho phép CPU thực hiện các tác vụ trong tay trong khi phần cứng chuyên dụng xử lý codec video, nâng cao hiệu quả.

Bộ giải mã video hoạt động như thế nào?

Bây giờ chúng ta đã có hiểu biết cơ bản về chức năng của bộ giải mã video, chúng ta có thể xem xét cách thức hoạt động của bộ giải mã.

Lấy mẫu phụ sắc độ

Như đã giải thích trước đó, video được tạo thành từ các hình ảnh và việc lấy mẫu phụ sắc độ làm giảm thông tin trong mỗi hình ảnh. Để làm điều này, nó làm giảm thông tin màu có trong mỗi hình ảnh, nhưng làm thế nào mà sự giảm thông tin màu này được mắt người phát hiện?

Chà, bạn thấy đấy, mắt người rất giỏi trong việc phát hiện những thay đổi về độ sáng, nhưng điều tương tự không thể nói về màu sắc. Điều này là do mắt người có nhiều que (tế bào cảm quang chịu trách nhiệm phát hiện những thay đổi về độ sáng) khi so sánh với tế bào hình nón (tế bào cảm quang chịu trách nhiệm phân biệt màu sắc). Sự khác biệt về hình que và hình nón ngăn mắt phát hiện sự thay đổi màu sắc khi so sánh hình ảnh nén và không nén.

Nén video pf ở các cấp độ khác nhau bằng cách sử dụng lấy mẫu phụ sắc độ
Tín dụng hình ảnh: Janke tại Wikipedia tiếng Anh/Wikimedia Commons

Để thực hiện lấy mẫu phụ sắc độ, thuật toán nén video sẽ chuyển đổi thông tin pixel trong RGB thành dữ liệu độ sáng và màu sắc. Sau đó, thuật toán sẽ giảm lượng màu trong ảnh dựa trên các mức độ nén.

Loại bỏ thông tin khung dư thừa

Video được tạo thành từ một số khung hình ảnh và trong hầu hết các trường hợp, tất cả các khung này đều chứa cùng một thông tin. Ví dụ: hãy tưởng tượng một video có một người nói trên nền cố định. Trong trường hợp này, tất cả các khung hình trong video đều có bố cục giống nhau. Do đó, không cần tất cả các hình ảnh để hiển thị video. Tất cả những gì chúng ta cần là một bức tranh cơ sở chứa tất cả thông tin và dữ liệu liên quan đến sự thay đổi khi di chuyển từ khung hình này sang khung hình khác.

Do đó, để giảm kích thước video, thuật toán nén sẽ chia các khung hình video thành các khung hình I và P (Khung hình dự đoán). Ở đây, các khung I là sự thật cơ bản và được sử dụng để tạo các khung P. Các khung P sau đó được hiển thị bằng cách sử dụng thông tin trong các khung I và thông tin thay đổi cho khung cụ thể đó. Sử dụng phương pháp này, một video được chia thành một tập hợp các Khung hình I được xen kẽ vào các khung hình P nén video hơn nữa.

Nén chuyển động

Bây giờ chúng ta đã chia video thành các khung hình I và P, chúng ta cần xem xét quá trình nén chuyển động. Một phần của thuật toán nén video giúp tạo khung hình P bằng cách sử dụng khung hình I. Để làm điều này, thuật toán nén chia khung I thành các khối được gọi là khối macro. Sau đó, các khối này được cung cấp các vectơ chuyển động xác định hướng di chuyển của các khối này khi chuyển từ khung này sang khung khác.

Vectơ chuyển động trên hình ảnh trò chơi
Tín dụng hình ảnh: Blender Foundation / Wikimedia

Thông tin chuyển động này cho từng khối giúp thuật toán nén video dự đoán vị trí của từng khối trong khung sắp tới.

Xóa dữ liệu hình ảnh tần số cao

Cũng giống như những thay đổi trong dữ liệu màu, mắt người không thể phát hiện ra những thay đổi tinh tế trong các phần tử tần số cao trong một hình ảnh, nhưng các phần tử tần số cao là gì? Chà, bạn thấy đấy, hình ảnh được hiển thị trên màn hình của bạn bao gồm một số pixel và giá trị của những pixel này thay đổi dựa trên hình ảnh được hiển thị.

Ở một số khu vực của hình ảnh, giá trị pixel thay đổi dần dần và những khu vực như vậy được cho là có tần số thấp. Mặt khác, nếu có sự thay đổi nhanh chóng trong dữ liệu pixel, khu vực này được phân loại là có dữ liệu tần số cao. Các thuật toán nén video sử dụng Biến đổi Cosine rời rạc để giảm thành phần tần số cao.

Đây là cách nó làm việc. Đầu tiên, thuật toán DCT chạy trên từng khối macro và sau đó phát hiện các khu vực có sự thay đổi cường độ điểm ảnh rất nhanh. Sau đó, nó sẽ xóa các điểm dữ liệu này khỏi hình ảnh—giảm kích thước của video.

mã hóa

Bây giờ tất cả thông tin dư thừa trong video đã bị xóa, chúng tôi có thể lưu trữ các bit dữ liệu còn lại. Để làm được điều này, thuật toán nén video sử dụng sơ đồ mã hóa, chẳng hạn như mã hóa Huffman, liên kết tất cả các bit dữ liệu trong một khung hình với số lần chúng xuất hiện trong video và sau đó kết nối chúng theo kiểu cây. Dữ liệu được mã hóa này được lưu trữ trên một hệ thống, cho phép nó hiển thị video một cách dễ dàng.

Cấu trúc mã hóa Huffman
Tín dụng hình ảnh: Redor / Wikimedia

Các codec video khác nhau sử dụng các kỹ thuật khác nhau để nén video, nhưng ở mức rất cơ bản, chúng sử dụng năm phương pháp cơ bản được xác định ở trên để giảm kích thước video.

AV1 so với HEVC so với VP9: Codec nào là tốt nhất?

Bây giờ chúng ta đã hiểu cách thức hoạt động của codec, chúng ta có thể xác định cái nào là tốt nhất trong số AV1, HEVC và VP9.

Khả năng nén và chất lượng

Nếu bạn có một video 4K đang chiếm nhiều dung lượng trên hệ thống và không thể tải video đó lên nền tảng phát trực tuyến yêu thích của mình, thì bạn có thể đang tìm kiếm một codec video cung cấp tỷ lệ nén tốt nhất. Tuy nhiên, bạn cũng cần cân nhắc rằng chất lượng mà nó mang lại sẽ giảm đi khi bạn tiếp tục nén video. Do đó, trong khi chọn thuật toán nén, điều cần thiết là phải xem xét chất lượng mà nó mang lại ở một tốc độ bit cụ thể, nhưng tốc độ bit của video là gì?

Nói một cách đơn giản, tốc độ bit của video được định nghĩa là số bit mà video cần phát trong một giây. Ví dụ: video 4K không nén 24 bit chạy ở 60 khung hình có tốc độ bit là 11,9 Gb/giây. Do đó, nếu bạn phát trực tuyến video 4K không nén trên internet, thì Wi-Fi của bạn phải cung cấp 11,9 gigabit dữ liệu mỗi giây—làm cạn kiệt hạn mức dữ liệu hàng tháng của bạn trong vài phút.

Ngược lại, sử dụng thuật toán nén sẽ giảm tốc độ bit xuống một lượng rất nhỏ dựa trên tốc độ bit bạn chọn mà không làm giảm chất lượng.

Khi nói đến khả năng nén/chất lượng, AV1 dẫn đầu gói và cung cấp khả năng nén tốt hơn 28,1% so với H.265 và tiết kiệm 27,3% so với VP9 trong khi mang lại chất lượng tương tự.

Do đó, nếu bạn đang tìm kiếm khả năng nén tốt nhất mà không làm giảm chất lượng, thì AV1 là tỷ lệ nén dành cho bạn. Do tỷ lệ nén trên chất lượng tuyệt vời của codec AV1, nó được Google sử dụng trong ứng dụng hội nghị truyền hình Google Duo và Netflix trong khi truyền video trên kết nối dữ liệu băng thông thấp.

khả năng tương thích

Như đã giải thích trước đó, thuật toán nén video sẽ mã hóa video sau khi video được nén. Bây giờ để phát video này, thiết bị của bạn cần giải mã tương tự. Do đó, nếu thiết bị của bạn không có hỗ trợ phần cứng/phần mềm để giải nén video, thiết bị sẽ không thể chạy video đó.

Do đó, điều quan trọng là phải hiểu khía cạnh tương thích của thuật toán nén vì mục đích của việc tạo và nén nội dung không thể chạy trên nhiều thiết bị là gì?

Vì vậy, nếu khả năng tương thích là thứ mà bạn đang tìm kiếm, thì VP9 sẽ là codec dành cho bạn vì nó được hỗ trợ trên hơn hai tỷ điểm cuối và có thể chạy trên mọi trình duyệt, điện thoại thông minh và TV thông minh.

Điều tương tự cũng không xảy ra với AV1 vì nó sử dụng các thuật toán mới hơn, phức tạp hơn để giảm kích thước tệp của video và không thể phát trên các thiết bị cũ hơn. Về hỗ trợ trình duyệt, Safari không thể phát AV1, nhưng các trình duyệt như Firefox và Chrome có thể phát video AV1 mà không gặp sự cố nào.

Về mặt hỗ trợ phần cứng, các SoC và GPU mới như Snapdragon 8 Gen 2, Samsung Exynos 2200, MediaTek Dimensity 1000 5G, Google Tensor G2, RTX 4000-Series của Nvidia cũng như GPU Intel Xe và Arc hỗ trợ giải mã phần cứng tăng tốc cho codec AV1 . Do đó, nếu bạn sở hữu các thiết bị được cung cấp bởi các chipset này, bạn có thể tận hưởng nội dung phát trực tuyến được nén bằng codec AV1 mà không làm cạn kiệt sức mạnh của CPU/GPU.

Khi nói đến codec H.265, hầu hết các trình duyệt phổ biến như Safari, Firefox và Google Chrome đều có thể chạy các video được mã hóa bằng thuật toán nén mà không gặp bất kỳ sự cố nào. Điều đó nói rằng, so với AV1 và VP9, ​​H.265 không phải là mã nguồn mở và cần phải mua giấy phép để sử dụng codec H.265. Vì lý do này, các ứng dụng như trình phát video Phim & TV của Microsoft, đi kèm với hệ điều hành, không thể chạy các video được mã hóa bằng H.265 theo mặc định. Thay vào đó, người dùng phải cài đặt thêm tiện ích bổ sung từ cửa hàng Windows để chạy các video như vậy.

Tốc độ mã hóa

Bộ giải mã video giảm đáng kể kích thước của video, nhưng để giảm kích thước của video, video không nén cần được xử lý bằng phần mềm, việc này cần có thời gian. Do đó, nếu bạn muốn giảm dung lượng của video, bạn phải xem thời gian cần thiết để nén video bằng thuật toán nén.

Về hiệu quả mã hóa, VP9 dẫn đầu gói và thời gian mã hóa để nén video thấp hơn nhiều so với H.265 và AV1. Mặt khác, AV1 có thời gian mã hóa chậm nhất và có thể mất thời gian mã hóa video lâu hơn gấp ba lần so với H.265.

Bạn nên chọn Codec nào?

Khi nói đến codec video, việc tìm kiếm codec hoàn hảo là rất chủ quan, vì mỗi codec cung cấp các tính năng khác nhau.

Nếu bạn đang tìm kiếm chất lượng video tốt nhất, hãy chọn AV1. Mặt khác, nếu bạn đang tìm kiếm codec video tương thích nhất, VP9 sẽ phù hợp nhất với bạn.

Cuối cùng, codec H.265 rất phù hợp nếu bạn cần chất lượng tốt và khả năng nén mà không cần chi phí mã hóa.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *