Chuẩn nén video H.265/HEVC

Bài đăng lúc: 16:17:19 10/08/2016
Live Streaming
0 0
h264 và h265
Rate this post

H.265 hay HEVC (High Efficiency Video Coding) được Ủy ban Viễn thông Quốc tế ITU-T thông qua và bắt đầu được các nhà phát triển đưa vào sản phẩm thương mại. H.265 giúp giảm băng thông cần thiết để truyền tải phim, giảm dung lượng lưu trữ và chúng ta phải trả ít tiền hơn cho băng thông internet và thiết bị lưu trữ.

h264 và h265

H.265/HEVC là chuẩn nén video có nhiều ưu điểm nổi trội, H.265 mã hóa video giữ nguyên chất lượng với hiệu suất nén cao hơn gấp đôi so với H.264/AVC. Một điều mà tất cả các nhà phát hành phim, các chuyên gia xử lý video mong chờ.

 

H.265 là một chuẩn nén video hiệu quả cao

Những năm gần đây, truyền tải và lưu trữ video càng trở lên phổ biến hơn do một số yếu tố như giá thành các sản phẩm liên quan như máy quay video HD, TV màn hình lớn, các thiết bị lưu trữ… đang giảm rất nhanh. Bên cạnh đó, các bộ vi xử lý mới có tốc độ cao hơn rất nhiều, cùng với tốc độ internet được cải thiện đáng kể giúp việc tải một bộ phim nhanh chóng và xem mượt mà hơn.

Nhưng chừng đó là không đủ, nhu cầu cuộc sống luôn ngày càng lớn, trước đây việc thưởng thức các bộ phim ở độ phân giải 480p rồi đến mHD 720p đã là thỏa mãn, thì giờ đây các film độ phân giải Full HD 1080p đã tràn ngập. Nhu cầu đó càng thể hiện mạnh mẽ hơn khi 2 năm gần đây xuất hiện các TV với công nghệ hình ảnh 4K với độ phân giải siêu cao làm người xem phải ngẩn ngơ như lạc vào thế giới thực. Các thiết bị lưu trữ và đường truyền internet với áp lực phải lớn hơn đã không kịp đáp ứng và bức thiết cần có một chuẩn nén video mới hiệu quả hơn giảm tải cho áp lực này.

H.265 hay HEVC(High Efficiency Video Coding) được Ủy ban Viễn thông Quốc tế ITU-T thông qua và bắt đầu được các nhà phát triển đưa vào sản phẩm thương mại. H.265 hứa hẹn mang lại khả năng nén cao gấp đôi so với người tiền nhiệm H.264/AVC(Advance Video Coding) hiện đang được dùng phổ biến (chiếm tới 80% các nội dung video lưu trữ hiện nay). Với khả năng này H.265 giúp giảm băng thông cần thiết để truyền tải phim, giảm dung lượng lưu trữ và chúng ta phải trả ít tiền hơn cho băng thông internet và thiết bị lưu trữ. Ưu điểm vượt trội này cũng sẽ là cú hích cho thị trường thiết bị nghe nhìn 4K/UHD.

H.265 làm việc như thế nào?

H.265/HEVC cũng như các chuẩn mã hóa video khác đều có những logic trong quá trình tìm ra phương thức nén sao cho hiệu quả nhất.

Các video khi quay bằng các máy quay HD chuyên nghiệp có dung lượng rất lớn do dữ liệu ở dạng thô và vì vậy để truyền tải các nội dung này đến người xem là rất khó khăn. Để thuận tiện trong truyền tải và lưu trữ, các video này được nén bằng các phương thức nén khác nhau nhằm giảm dung lượng xuống mức tối đa.

Có rất nhiều cách để thực hiện, một trong những cách đơn giản nhất là giảm chất lượng hình ảnh, dễ thấy nhất khi xem các video trên youtube có đủ các chất lượng hình ảnh khác nhau, nhưng cách thức này chỉ áp dụng được với các thiết bị có màn hình cỡ nhỏ như máy tính bảng, điện thoại… còn với TV có màn hình cỡ 40 inch trở lên thì thật là tệ. Vì vậy cần có một cách nén khác tốt hơn.

Liên minh Viễn thông Quốc tế (ITU-T) bao gồm MPEG(Motion Picture Experts Group) và TSS(Telecommunication Standardization Sector) với rất nhiều kỹ sư điện tử và công nghệ luôn tìm cách đưa ra những chuẩn mã hóa mới ngay cả khi chuẩn hiện tại đang đáp ứng được rất tốt. Bất kỳ sự cải tiến nào đưa ra từ ITU-T đều phải rất đáng kể do phải đáp ứng được nguyên tắc chung là chất lượng tương đương và bit rate giảm một nửa.

H.265/HEVC mở rộng cách H.264/AVC làm việc. Đầu tiên, nó sẽ kiểm tra các khung hình để xem giữa các khung hình có gì thay đổi không. Trong hầu hết các cảnh trong một video, phần lớn các khung hình thay đổi không nhiều. Ví dụ về một cảnh biên tập viên đọc tin, các ảnh nền sẽ không thay đổi nhiều trong các khung hình khác nhau, ngay cả các điểm ảnh trên khuôn mặt của biên tập viên này cũng sẽ không thay đổi qua các khung hình ngoại trừ khẩu hình. Vậy thay vì mã hóa tất cả các điểm ảnh từ mỗi khung hình, khung ban đầu được mã hóa và sau đó chỉ những gì thay đổi trên khung tiếp theo mới được mã hóa. HEVC mở rộng kích thước của khu vực để dựa vào đó tìm ra những điểm ảnh thay đổi.

Ngoài ra, các phương thức nén video còn có thể áp dụng cách thức dự đoán các chuyển động, các không gian trong video. Tất nhiên ở H.264/AVC các nhà thiết kế đã nghĩ đến nhưng với hạn chế về phần cứng cũng như các thuật toán mã hóa tại thời điểm này nên việc áp dụng có những hạn chế nhất định.

H.265/HEVC có rất nhiều các chi tiết kỹ thuật bên trong, do đó người dùng khó có thể mong đợi việc nâng cấp phần mềm là có thể đáp ứng được. Chính vì vậy, để giải mã được H.265 thiết bị của bạn cần phải có một bộ giải mã phần cứng hoặc vi xử lý cũng phải khá cao để các giải thuật bằng phần mềm có thể thực hiện được với tốc độ phù hợp, nếu không tín hiệu video đầu ra sẽ không được mượt mà.

Bảng so sánh các đặc tính kỹ thuật trong H.265 và H.264

Kỹ thuật nén AVC HEVC
Đơn vị mã hóa cơ bản Khối 16×16 MB hoặc 16×32 8×8, 16×16, 32×32, 64×64
Temporal Prediction Square, Symmetric rectangular Square, Symmetric and Asymmetric rectangular
Spatial Prediction 9+4 maximum modes 33+2 maximum modes
Transform Size 4×4, 8×8, two-stage 16×16 4×4, 8×8, 16×16, 32×32 plus non-square versions
Transform Type DCT DCT và DST
In-Loop Filtering Deblocking Deblocking, SAO
Entropy CABAC hoặc CAVLC CABAC

Bảng so tổng hợp thông số bit rate của H.265 so với H.264

Chuẩn mã hóa

Tỉ lệ bit rate giảm TB so với H.264/MPEG-4 AVC

480p

720p

1080p

4K UHD

H.265/HEVC

52% 56% 62%

64%

Tổng quan kỹ thuật mã hóa video H.265/HEVC

H.265/HEVC một chuẩn mã hóa video mới với nhiều ưu điểm, chất lượng hình ảnh giữ nguyên hiệu suất nén tăng gấp đôi. Làm cách nào để thực hiện?

Ngày 25 tháng 1 năm 2013, ITU đã chính thức công bố chuẩn mã hóa H.265 cho video và trong hai năm qua đã có rất nhiều các nhà sản xuất đưa H.265 vào trong các sản phẩm thương mại ra thị trường. Về mặt lý thuyết H.265/HEVC được đánh giá là hiệu quả hơn H.264/AVC khoảng 30-50% (độ phân giải càng cao, hiệu suất nén càng cao) nhưng nó có thực sự đơn giản?

Trong bài viết này ThuanNguyen giả định rằng bạn đã biết đến một số khái niệm được sử dụng trong các chuẩn mã hóa video hiện nay như H.264/AVC. HEVC sử dụng lại rất nhiều các khái niệm được định nghĩa trong H.264. Cả hai chuẩn mã hóa này đều dựa trên các kỹ thuật mã hóa video:

  1. Phân vùng hình ảnh bằng các macroblock và sau đó lại phân vùng tiếp trong các khối này.
  2. Giảm không gian dư thừa bằng cách sử dụng các kỹ thuật nén trong khung hình nội bộ.
  3. Giảm sự dư thừa thời gian bằng sử dụng kỹ thuật nén liên khung (dự đoán chuyển động và bù đắp chuyển động).
  4. Nén các dữ liệu dư thừa sử dụng các biến đổi toán học và lượng tử hóa.
  5. Giảm dư thừa trong truyền vector chuyển động và tín hiệu sử dụng mã hóa entropy.

Entropy thông tin là một khái niệm mở rộng của entropy trong nhiệt động lực học và cơ học thống kê sang lĩnh vực lý thuyết thông tin. Entropy thông tin mô tả mức độ hỗn loạn trong một tín hiệu lấy từ một sự kiện ngẫu nhiên. Nói cách khác, entropy cũng chỉ ra có bao nhiêu thông tin trong tín hiệu, với thông tin là các phần không hỗn loạn ngẫu nhiên của tín hiệu.

Hình 1: Ý tưởng kỹ thuật sử dụng trong mã hóa video H.265, H.264

Hình 1: Ý tưởng kỹ thuật sử dụng trong mã hóa video H.265, H.264

Hình 2: Workflow các hệ thống mã hóa video

Hình 2: Workflow các hệ thống mã hóa video

Dự đoán là kỹ thuật chính tạo nên các phương pháp mã hóa video

Quá trình cơ bản để mã hóa video cho AVC và HEVC như hình trên. Video đầu vào được chia ra thành các khối n x n pixel và được mã hóa trong các đơn vị khối này. Các khối đầu vào được mã hóa thành bit stream (dãy tín hiệu nhị phân bao gồm 0 và 1) thông qua các quá trình bao gồm dự đoán và trực giao biến đổi.

Dự đoán là kỹ thuật cốt lõi trong mã hóa video. Trong quá trình mã hóa khung hình tại thời điểm t, nếu khung hình thời điểm t-1 có những thành phần giống khung hình trước thì chỉ những khác biệt mới được gửi đi. Khi một đối tượng di chuyển từ bức hình của khung hình đầu đến khung hình tiếp theo, nó sẽ xác định một vector chuyển động và vector này được gửi đến bộ mã hóa để sử dụng trong dự đoán vị trí. Với các đối tượng không chuyển động, ví dụ như đám mây trong hình, sẽ không cần gửi đi vector chuyển động, đây gọi là dự đoán liên khung (inter-prediction). Nếu dự đoán được hoàn thành trong 1 khung hình thì được gọi là dự đoán nội bộ (intra-prediction).

Hình 3: So sánh dự đoán hướng trong intra-prediction giữa H.265 và H.264

Hình 3: So sánh dự đoán hướng trong intra-prediction giữa H.265 và H.264

Thay vì các macroblock 16×16 như trong H.264, H.265 phân vùng hình ảnh thành cây mã hóa (các CTB – ). Kích thước CTB có thể là 64×64, 32×32 hoặc 16×16, các nghiên cứu chỉ ra rằng CTB lớn giúp việc mã hóa có hiệu quả cao nhưng bên cạnh đó thời gian mã hóa cũng sẽ lớn. Bạn có thể tưởng tượng bạn có một file text 10GB, nếu chia file này thành 10 file kích thước 10GB, vậy khi nén 10 file này riêng lẻ thì hiệu quả nén sẽ không thể bằng nén riêng file 10GB nhưng cũng vì thế mà thời gian nén file 10GB sẽ lớn hơn tổng thời gian nén 10 file riêng lẻ.

Mỗi CTB có thể được phân chia một cách đệ quy trong một cấu trúc chia 4 bao gồm các khối nhỏ 32×32, 16×16 hoặc 8×8 gọi là đơn vị mã hóa vùng CU (xem hình minh họa dưới). CU là đơn vị cơ bản của các dự đoán trong HEVC, các đơn vị nhỏ được sử dụng trong các khu vực nhiều chi tiết như biên của một hình trong khi các đơn vị lớn được sử dụng trong các khu vực nội biên.

Hình 4: Kỹ thuật phân vùng ảnh trong HEVC

Hình 4: Kỹ thuật phân vùng ảnh trong HEVC

Biến đổi trực giao nâng cao hiệu quả mã hóa

Sau quá trình dự đoán, một biến đổi trực giao được thực hiện trên những tín hiệu dư thừa từ dự đoán. Khi một tín hiệu được biến đổi sang một không gian tín hiệu khác được gọi là miền tần số, hiệu quả nén được cải thiện bằng cách loại bỏ các thành phần tần số cao.

Với xu hướng xem các video chất lượng cao mà dung lượng lại thấp thực sự là một bước trải nghiệm đón đầu tương lai. Hãy liên hệ ngay với ThuanNguyen để được trải nghiệm ngay công nghệ nén H.265/HEVC.

ThuanNguyen.Net