Tìm hiểu chuẩn H.264


H.264 giảm yêu cầu băng thông trong khi chất lượng ảnh tương đương MPEG-2 và MPEG-4. Công nghệ này giúp cho tăng cường khả năng nén không gian và nén thời gian, cho hình ảnh truyền rất nhanh trên mạng LAN, internet. Với những ưu việt của mình, H.264 đang đựơc ứng dụng rất nhiều vào ngành an ninh.

1. Giới thiệu chung

Kể từ khi mới xuất hiện vào đầu những năm 90, chuẩn nén video MPEG-2 đã hoàn toàn thống lĩnh thế giới truyền thông. Cũng trong thập kỷ này, chuẩn nén MPEG-2 đã được cải tiến về nhiều mặt. Giờ đây nó có tốc độ bit thấp hơn và việc ứng dụng nó được mở rộng hơn nhờ có các kỹ thuật như đoán chuyển động, tiền xử lý, xử lý đối ngẫu và phân bổ tốc độ bit tùy theo tình huống thông qua ghép kênh thống kê.

Tuy nhiên, chuẩn nén MPEG-2 cũng không thể được phát triển một cách vô hạn định. Thực tế hiện nay cho thấy chuẩn nén này đã đạt đến hết giới hạn ứng dụng của mình trong lĩnh vực truyền truyền hình từ sản xuất tiền kỳ đến hậu kỳ và lưu trữ Video số. Bên cạnh đó, nhu cầu nén Video lại đang ngày một tăng cao kèm theo sự phát triển mạnh mẽ của mạng IP mà tiêu biểu là mạng Internet. Khối lượng nội dung mà các công ty truyền thông cũng như các nhà cung cấp dịch vụ thông tin có thể mang lại ngày càng lớn, ngoài ra họ còn có thể cung cấp nhiều dịch vụ theo yêu cầu thông qua hệ thống cáp, vệ tinh và các hạ tầng viễn thông đặt biệt là mạng Internet.

Các tiêu chuẩn mã hoá Video ra đời và phát triển với mục tiêu cung cấp các phương tiện cần thiết để tạo ra sự thống nhất giữa các hệ thống được thiết kế bởi những nhà sản xuất khác nhau đối với mọi loại ứng dụng Video; Nhờ vậy thị trường Video có điều kiện tăng trưởng mạnh. Chính vì lý do này nên những người sử dụng bộ giải mã cần có một chuẩn nén mới để đi tiếp chặng đường mà MPEG-2 đã bỏ dở.

Hiệp hội viễn thông quốc tế (ITU) và tổ chức tiêu chuẩn quốc tế/ Uỷ ban kỹ thuật điện tử quốc tế (ISO/IEC) là hai tổ chức phát triển các tiêu chuẩn mã hoá Video. Theo ITU-T, các tiêu chuẩn mã hoá Video được coi là các khuyến nghị gọi tắt là chuẩn H.26x (H.261, H.262, H.263 và H.264). Với tiêu chuẩn ISO/IEC, chúng được gọi là MPEG-x (như MPEG-1, MPEG-2 và MPEG-4).

Những khuyến nghị của ITU được thiết kế dành cho các ứng dụng truyền thông Video thời gian thực như Video Conferencing hay điện thoại truyền hình. Mặt khác, những tiêu chuẩn MPEG được thiết kế hướng tới mục tiêu lưu trữ Video chẳng hạn như trên đĩa quang DVD, quảng bá Video số trên mạng cáp, đường truyền số DSL, truyền hình vệ tinh hay những ứng dụng truyền dòng Video trên mạng Internet hoặc thông qua mạng không dây (wireless).

Với đối tượng để truyền dẫn Video là mạng Internet thì ứng cử viên hàng đầu là chuẩn nén MPEG-4 AVC, còn được gọi là H.264, MPEG-4 part 10, H.26L hoặc JVT.

2. Tính kế thừa của chuẩn nén H.264

Mục tiêu chính của chuẩn nén H.264 đang phát triển nhằm cung cấp Video có chất lượng tốt hơn nhiều so với những chuẩn nén Video trước đây. Điều này có thể đạt được nhờ sự kế thừa các lợi điểm của các chuẩn nén Video trước đây. Không chỉ thế, chuẩn nén H.264 còn kế thừa phần lớn lợi điểm của các tiêu chuẩn trước đó là H.263 và MPEG-4 bao gồm 4 đặc điểm chính như sau:

Phân chia mỗi hình ảnh thành các Block (bao gồm nhiều điểm ảnh), do vậy quá trình xử lý từng ảnh có thể được tiếp cận tới mức Block.

Khai thác triệt để sự dư thừa về mặt không gian tồn tại giữa các hình ảnh liên tiếp bởi một vài mã của những Block gốc thông qua dự đoán về không gian, phép biến đổi, quá trình lượng tử và mã hoá Entropy (hay mã có độ dài thay đổi VLC).

Khai thác sự phụ thuộc tạm thời của các Block của các hình ảnh liên tiếp bởi vậy chỉ cần mã hoá những chi tiết thay đổi giữa các ảnh liên tiếp. Việc này được thực hiện thông qua dự đoán và bù chuyển động. Với bất kỳ Block nào cũng có thể được thực hiện từ một hoặc vài ảnh mã hoá trước đó hay ảnh được mã hoá sau đó để quyết định véc tơ chuyển động, các véc tơ này được sử dụng trong bộ mã hoá và giải mã để dự đoán các loại Block.

Khai thác tất cả sự dư thừa về không gian còn lại trong ảnh bằng việc mã các block dư thừa. Ví dụ như sự khác biệt giữa block gốc và Block dự đoán sẽ được mã hoá thông qua quá trình biến đổi, lượng tử hoá và mã hoá Entropy.


3. Cơ chế nén ảnh của H.264 (MPEG-4 AVC)

Với chuẩn nén H264, mỗi hình ảnh được phân chia thành nhiều Block, mỗi block tương ứng với một số lượng nhất định các MacroBlock. Ví dụ một hình ảnh có độ phân giải QCIF (tương đương với số lượng điểm ảnh 176x144) sẽ được chia thành 99 MacroBlock với kích cỡ 16x16. Một sự phân đoạn các MacroBlock tương tự được sử dụng các kích cỡ ảnh khác. Thành phần chói của ảnh được lấy mẫu tương ứng với độ phân giải của ảnh đó, trong khi đó thành phần màu CR và CB được lấy mẫu với tần số thấp hơn theo 2 chiều ngang và dọc. Thêm vào đó mỗi hình ảnh có thể được phân thành số nguyên lần các lát mỏng (slice), việc này rất có giá trị cho việc tái đồng bộ trong trường hợp lỗi dữ liệu.

Mỗi hình ảnh thu được được xem như một ảnh I. Ảnh I là ảnh được mã hoá bởi việc áp dụng trực tiếp các phép biến đổi lên các MacroBlock khác nhau trong ảnh. Các ảnh I được mã hoá sẽ có kích cỡ lớn bởi nó được xây dựng từ một khối lượng lớn thông tin của bản thân ảnh hiện tại mà không sử dụng bất cứ thông tin nào từ miền thời gian trong quá trình xử lý mã hoá để tăng hiệu quả xử lý mã hoá bên trong trong H.264.

3.1. Giảm bớt độ dư thừa

Cũng giống như các bộ lập giải mã khác, H.264 nén video bằng cách giảm bớt độ dư thừa cả về không gian và thời gian trong hình ảnh. Những dư thừa về mặt thời gian là những hình ảnh giống nhau lặp đi lặp lại từ khung (frame) này sang khung khác, ví dụ như phần phông nền không chuyển động của một chương trình đối thoại trên truyền hình. Dư thừa về không gian là những chi tiết giống nhau xuất hiện trong cùng một khung, ví dụ như nhiều điểm ảnh giống nhau tạo thành một bầu trời xanh. Hình 1 biểu diễn một cách sơ lược các bước mà bộ lập giải mã MPEG-4 phải tiến hành để nén không gian và thời gian.

3.2. Chọn chế độ, phân chia và chế ngự

Bộ lập giải mã bắt đầu bằng việc quyết định loại khung cần nén tại một thời điểm nhất định và chọn chế độ mã hoá phù hợp. Chế độ "trong khối" tạo ra ảnh "I", trong khi chế độ "giữa khối" tạo ra khung "P" hoặc "B". Sau đó, bộ mã hoá sẽ chia ảnh thành hàng trăm hàng và cột các điểm ảnh của ảnh video số chưa nén thành các khối nhỏ hơn, mỗi khối có chứa một vài hàng và cột điểm ảnh.

3.3. Nén theo miền thời gian

Khi bộ mã hoá đang hoạt động ở chế độ "giữa khối" (inter), khối này sẽ phải qua công đoạn hiệu chỉnh chuyển động. Quá trình này sẽ phát hiện ra bất kỳ chuyển động nào diễn ra giữa khối đó và một khối tương ứng ở một hoặc hơn một ảnh tham chiếu đã được lưu trữ từ trước, sau đó tạo ra một khối "chênh lệch" hoặc "lỗi". Thao tác này sẽ giảm bớt dữ liệu trong mỗi block một cách hiệu quả do chỉ phải trình bày chuyển động của nó mà thôi. Tiếp đến là công đoạn biến đổi côsin rời rạc (DCT) để bắt đầu nén theo miền không gian. Khi bộ mã hoá hoạt động ở chế độ "trong khối" (intra), khối này sẽ bỏ qua công đoạn hiệu chỉnh chuyển động và tới thẳng công đoạn DCT.


Hình 1. Sơ đồ khối mã hoá MPEG, đường đứt nét đặc trưng cho phần bổ sung của MPEG-4 AVC trong việc nén theo miền không gian.

3.4. Nén theo miền không gian

Các khối thường có chứa các điểm ảnh tương tự hoặc thậm chí giống hệt nhau. Trong nhiều trường hợp, các điểm ảnh thường không thay đổi mấy (nếu có). Như vậy có nghĩa là tần số thay đổi giá trị điểm ảnh trong khối này là rất thấp. Những khối như thế được gọi là khối có tần số không gian thấp. Bộ lập mã lợi dụng đặc điểm này bằng cách chuyển đổi các giá trị điểm ảnh của khối thành các thông tin tần số trong công đoạn biến đổi côsin rời rạc.

  • Biến đổi cosin rời rạc:


Công đoạn DCT biến đổi các giá trị điểm ảnh của khối thành một ma trận gồm các hệ số tần số ngang, dọc đặt trong không gian tần số. Khi khối ban đầu có tần số không gian thấp, DCT sẽ tập hợp phần lớn năng lượng tần số vào góc tần số thấp của mạng. Nhờ vậy, những hệ số tần số thấp ở góc đó sẽ có giá trị cao hơn.

Một số lượng lớn các hệ số khác còn lại trên ma trận đều là các hệ số có tần số cao, năng lượng thấp và có giá trị thấp. Hệ số DC và một vài hệ số tần số thấp sẽ hàm chứa phần lớn thông tin được mô tả trong khối ban đầu. Điều này có nghĩa là bộ lập mã có thể loại bỏ phần lớn hệ số tần số cao còn lại mà không làm giảm đáng kể chất lượng hình ảnh của khối.

Bộ lập mã chuẩn bị các hệ số cho công đoạn này bằng cách quét chéo mạng lưới theo đường zig-zag, bắt đầu từ hệ số DC và qua vị trí của các hệ số ngang dọc tăng dần. Do vậy nó tạo ra được một chuỗi hệ số được sắp xếp theo tần số.

  • Lượng tử hoá và mã hoá entropy:
Tại đây thao tác nén không gian mới thực sự diễn ra. Dựa trên một hệ số tỷ lệ (có thể điều chỉnh bởi bộ mã hoá), bộ lượng tử hoá sẽ cân đối tất cả các giá trị hệ số. Do phần lớn hệ số đi ra từ DCT đều mang năng lượng cao nhưng giá trị thấp nên bộ lượng tử hoá sẽ làm tròn chúng thành 0. Kết quả là một chuỗi các giá trị hệ số đã được lượng tử hoá bắt đầu bằng một số giá trị cao ở đầu chuỗi, theo sau là một hàng dài các hệ số đã được lượng tử hoá về 0. Bộ lập mã entropy có thể theo dõi số lượng các giá trị 0 liên tiếp trong một chuỗi mà không cần mã hoá chúng, nhờ vậy giảm bớt được khối lượng dữ liệu trong mỗi chuỗi.

 

Post a Comment

Mới hơn Cũ hơn