2 điểm bởi GN⁺ 2024-06-15 | 1 bình luận | Chia sẻ qua WhatsApp

H.264 là phép màu

H.264 là gì?

  • H.264 là một tiêu chuẩn codec nén video.
  • Nó được օգտագործվում gần như ở khắp mọi nơi, như video trên Internet, Blu-ray, điện thoại di động, camera an ninh, drone, v.v.
  • Đây là kết quả của hơn 30 năm nghiên cứu, với mục tiêu giảm băng thông cần thiết để truyền video chuyển động đầy đủ.

Vì sao cần nén?

  • Các tệp video không nén chứa lượng dữ liệu khổng lồ.
  • Ví dụ, video 1080p @ 60Hz tạo ra khoảng 370MB dữ liệu mỗi giây.
  • Một đĩa Blu-ray 50GB chỉ có thể lưu khoảng 2 phút video.
  • Vì vậy, nén là điều cần thiết.

Vì sao là nén H.264?

  • H.264 rất hiệu quả.
  • Ví dụ, ảnh chụp màn hình PNG trên trang chủ Apple có dung lượng 1015KB, còn video H.264 dài 5 giây của cùng màn hình chỉ là 175KB.
  • Video H.264 hiệu quả hơn PNG tới 1500 lần.

Các kỹ thuật chính của H.264

Giảm trọng lượng (Lossy Compression)

  • H.264 sử dụng nén mất dữ liệu, tức là loại bỏ các bit không quan trọng và chỉ giữ lại các bit quan trọng.
  • PNG dùng nén không mất dữ liệu, tức là giữ lại toàn bộ các bit.

Entropy thông tin

  • Entropy thông tin là số bit tối thiểu cần để biểu diễn dữ liệu.
  • Đây là cách nén dữ liệu để giảm tính dư thừa.

Miền tần số (Frequency Domain)

  • Dữ liệu được chuyển sang miền tần số để loại bỏ các thành phần tần số cao (chi tiết).
  • Cách này làm giảm chi tiết của hình ảnh nhưng tiết kiệm không gian.

Chroma Subsampling

  • Mắt người nhận biết sự thay đổi độ sáng tốt hơn sự thay đổi màu sắc.
  • Sử dụng mô hình màu YCbCr để giảm thông tin màu, đồng thời giữ lại thông tin độ sáng.
  • Nhờ đó có thể giảm một nửa băng thông.

Motion Compensation

  • Phần lớn video là tĩnh, chỉ một phần chuyển động.
  • H.264 lưu hình ảnh tĩnh và chỉ lưu riêng các phần chuyển động.
  • Điều này giúp tiết kiệm dung lượng.

Entropy Coder

  • Loại bỏ phần thông tin dư thừa còn lại sau nén mất dữ liệu.
  • Có thể khôi phục toàn bộ dữ liệu bằng một bộ mã hóa không mất dữ liệu thông thường.

Ý kiến của GN⁺

  • Hiệu quả của H.264: H.264 cực kỳ hiệu quả trong nén video và có thể tiết kiệm đáng kể băng thông cũng như không gian lưu trữ.
  • Độ phức tạp của công nghệ: Các yếu tố kỹ thuật đa dạng của H.264 có thể khó hiểu, nhưng nắm được nguyên lý cơ bản sẽ rất hữu ích.
  • So sánh với các codec khác: Những codec mới hơn như H.265 mang lại hiệu quả nén cao hơn H.264. Tuy vậy, H.264 vẫn đang được sử dụng rất rộng rãi.
  • Ứng dụng thực tế: Việc sử dụng H.264 trong streaming, lưu trữ và truyền tải video là cực kỳ phổ biến, và nhờ đó có thể tiết kiệm chi phí đáng kể.
  • Triển vọng tương lai: Công nghệ nén video vẫn tiếp tục phát triển, và khả năng xuất hiện các codec hiệu quả hơn là rất lớn. Hiểu các nguyên lý của H.264 sẽ giúp ích cho việc học các công nghệ mới.

1 bình luận

 
GN⁺ 2024-06-15
Ý kiến trên Hacker News
  • Ưu điểm của AV1: AV1 mang lại hiệu năng gần như kỳ diệu cùng với mô hình cấp phép tốt hơn.
  • Trường hợp sử dụng của Meta: Meta đang dần triển khai các luồng VP9 và AV1 cho streaming video.
  • Microsoft Teams: Microsoft đã bắt đầu sử dụng AV1 trong Teams, đồng thời cung cấp các công cụ mã hóa video đặc biệt hữu ích cho chia sẻ màn hình.
  • Video YouTube: Phần lớn video xem trên YouTube ngày nay được mã hóa bằng VP9 hoặc AV1. Thỉnh thoảng vẫn có video H.264.
  • Tương lai của H.264: H.264 vẫn sẽ còn được dùng trong thời gian dài, nhưng AV1 nhiều khả năng sẽ trở thành tiêu chuẩn mới cho video trên Internet.
  • Bằng sáng chế H.264 hết hạn: Nhiều bằng sáng chế của H.264 sắp hết hạn. Phiên bản đầu tiên được công bố vào năm 2003, và bằng sáng chế thường có hiệu lực trong 20 năm.
  • Câu hỏi về H.265: H.265 cho hiệu quả cao hơn, nhưng vẫn thường được đem ra so sánh với H.264.
  • Trải nghiệm ban đầu với H.264: Khi H.264 mới xuất hiện, đã có lúc người dùng thử phát tệp bằng mplayer nhưng các phiên bản đầu chưa hỗ trợ. Sau đó hiệu năng đã được cải thiện đáng kể.
  • Ví dụ về nén dữ liệu: Khái niệm nén dữ liệu được giải thích thông qua ví dụ tung đồng xu.
  • Cốt lõi của codec: Trọng tâm của nén mất dữ liệu là sự kết hợp giữa biến đổi cosine rời rạc, lượng tử hóa, quét ziczac và mã hóa entropy.
  • Hiệu quả của VVC: VVC hiệu quả hơn AV1 khoảng 20-30% và đã được sử dụng trên MXPlayer tại Ấn Độ.
  • Câu chuyện về nén video: Có chia sẻ về trải nghiệm phỏng vấn một công ty từng phát triển thuật toán nén video mới vào năm 1999. Cuối cùng công ty đó thất bại, nhưng cách tiếp cận của họ rất thú vị.
  • Thuật ngữ entropy thông tin: Cách dùng thuật ngữ "entropy thông tin" có phần hơi gượng.