Tải bản đầy đủ (.pdf) (91 trang)

Chuẩn mã hóa video HEVC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.39 MB, 91 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>MỞ ĐẦU </b>

Những tiến bộ trong kĩ thuật nén Video đã giúp chúng ta truyền tải được nhiều điểm ảnh hơn thông qua các kênh bị hạn chế về băng thơng và đóng góp một phần khơng nhỏ trong q trình phát triển nhanh chóng của những cơng nghệ sử dụng video. Với việc chúng ta ngày càng đạt được hiệu quả mã hóa video cao hơn, các ứng dụng phân giải cao và tinh vi cũng ngày càng phổ biến rộng rãi hơn. Tiêu chuẩn mã hóa video hiệu suất cao H265 hay còn được gọi là HEVC đã ra đời vào tháng 1 năm 2013 và đã đưa ra rất nhiều cải tiến so với những tiêu chuẩn mã hóa Video trước đó. HEVC khơng những cải thiện được hiệu suất mã hóa so với người tiền nhiệm H264 mà HEVC cịn cung cấp những tính năng khác như giải quyết được những yêu cầu về công suất và thông lượng cho các ứng dụng video hiện tại và cả trong tương lai. Mặc dù hiện nay HEVC vẫn là một công nghệ mới và còn chưa được áp dụng rộng rãi, tuy nhiên với những ưu điểm của mình, chắc chắn HEVC sẽ ngày càng phổ biến và được áp dụng trong những ứng dụng giải trí video trong tương lai.

Đồ án này sẽ mô tả về cấu trúc cũng như những thuật toán được sử dụng trong tiêu chuẩn HEVC. Đồ án sẽ bao gồm 3 chương:

Chương 1: Giới thiệu về chuẩn mã hóa video HEVC Chương 2: Các kĩ thuật được sử dụng trong HEVC

Chương 3: Cấu trúc phần cứng bộ giải mã và bộ mã hóa HEVC Bằng sự nghiên cứu của bản thân và sự giúp đỡ của thầy giáo Tiến Sĩ Nguyễn Trung Tấn, Trung Tâm Kĩ Thuật Viễn Thông, Khoa Vô Tuyến Điện Tử, Học VIện Kĩ thuật Quân sự em đã hoàn thành đồ án đúng thời hạn. Do thời gian làm đồ án có hạn và trình độ cịn nhiều hạn chế nên sẽ khơng thể tránh khỏi những thiếu sót. Em rất mong sẽ nhận được sự đóng góp của thầy cô cũng như các bạn học viên khác để hoàn thiện thêm đồ án này. Em xin chân thành cảm ơn thầy giáo Tiến Sĩ Nguyễn Trung Tấn cùng các thầy cô khác trong khoa

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Vô Tuyến Điện Tử, các bạn học viên lớp CHKTDTK26A, trường Học viện Kĩ thuật Quân sự đã tạo điều kiện giúp đỡ em trong thời gian qua.

Ngô Anh Minh

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>CHƯƠNG 1 </b>

<b>GIỚI THIỆU VỀ CHUẨN MÃ HÓA HEVC 1.1. Tổng quan về kĩ thuật mã hóa video </b>

<i><b>1.1.1. Nhu cầu thực tế của các kĩ thuật mã hóa video </b></i>

Ngày nay, nhu cầu truyền tải và lưu trữ video ngày càng trở nên phổ biến hơn trong xã hội. Trước đây, nếu chúng ta đã hài lòng với việc xem những video có độ phân giải 720p hay 1080p thì hiện nay nhu cầu đó càng tăng lên với sự xuất hiện của các chuẩn video 2K, 4K và thậm chí là 8K. Tuy nhiên chất lượng hình ảnh càng cao thì yêu cầu về dung lượng lưu trữ cũng như khả năng truyền tải hình ảnh cũng tăng theo. Vì vậy để thuận tiện cho việc lưu trữ và truyền tải hình ảnh, các kĩ thuật nén video ra đời. Có rất nhiều cách để nén video, nhưng thông thường cách phổ biến nhất đó chính là làm giảm chất lượng hình ảnh xuốngmức chấp nhận được để làm giảm dung lượng video. Các kĩ thuật nén video tiên tiến hiện nay sử dụng các kĩ thuật mã hóa hiện đại để làm giảm phần dư trong dữ liệu video.

<i>Hình 1.1. Mơ hình mã hóa Video </i>

<i><b>1.1.2. Lịch sử phát triển của kĩ thuật mã hóa video </b></i>

Bắt đầu kể từ những năm 1990, sự phát triển các tiêu chuẩn mã hóa video đã được chia thành hai nhánh song song bao gồm: liên lạc video thời gian thực và phân phối hoặc phát sóng các nội dung video. Vào năm 1984, tiêu chuẩn mã

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

hóa video số đầu tiên đã được công bố dưới cái tên ITU-T H.120 “Bộ mã hóa và giải mã cho hội nghị truyền hình sử dụng truyền dẫn nhóm số sơ cấp”. Nó được thiết kế cho các ứng dụng hội nghị truyền hình ở tiêu chuẩn SD với tốc độ bit vào khoảng 1.5-2 Mbit/s nhưng nó vẫn chưa đạt được các tiêu chí cần thiết để áp dụng cho các ứng dụng phát sóng khác. Các khái niệm cơ bản bao gồm cấu trúc mã hóa DPCM và “bổ sung có điều kiện”, với nội dung từ hình ảnh trước đó được sao chép tới hình ảnh hiện tại trừ trường hợp nội dung khác nhau quá nhiều. Các bảng mã chiều dài thay đổi (VLC) được sử dụng để mã hóa các phần tử cú pháp. Mặc dù khơng được sử dụng nhiều nhưng H.120 vẫn cịn tồn tại trong một số ứng dụng cho tới ngày hôm nay.

Sau đó một tiêu chuẩn mã hóa video khác khá thành công đã ra đời mang tên ITU-T H.261 “bộ mã hóa và giải mã video cho các dịch vụ nghe nhìn tại p x 64 kbit/s”. H.261 được ban hành vào năm 1988 và được thiết kế để vận hành ISDN với tốc độ trong khoảng 40 kbit/s tới 2 Mbits/s. So với H.120, nó cung cấp một hiệu suất mã hóa được cải thiện và hỗ trợ nhiều các tốc độ bit hơn. H.261 cũng là tiêu chuẩn mã hóa video đầu tiên dựa trên kế hoạch mã hóa video lai. Nó bao gồm các khối cơ sở của tồn bộ các tiêu chuẩn mã hóa video thành công trong hiện tại. Phần lớn cải thiện về hiệu suất nén của H.261 so với H.120 là do dự đoán bù chuyển động được thực hiện tại độ chính xác mẫu.

Song song với q trình phát triển của ITU-T H.261, nhóm các chuyên gia về ảnh động MPEG cũng bắt đầu quá trình phát triển một tiêu chuẩn mã hóa video cho việc phân bố và quảng bá video. Vào 1993, MPEG-1 “Công nghệ thông tin – mã hóa các hình ảnh động và âm thanh đi kèm cho phương tiện lưu trữ số lên tới 1.5 Mbit/s – Phần 2: Video” (ISO/IEC 11172-2) được phát hành. Lõi công nghệ của tiêu chuẩn này dựa trên kế hoạch mã hóa lai và tương tự với H.261, MPEG-1 được thiết kế để giải quyết sự cần thiết của việc phân phối thay vì liên lạc video. Ngồi các cơng cụ được giới thiệu trong ITU-T H.261, tiêu chuẩn này thêm vào kĩ thuật bù chuyển động song hướng và độ chính xác bán mẫu cho bù chuyển động. Nó cũng bao gồm các kì vọng để kích hoạt tìm

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

kiếm thuận/ngược nhanh trong dòng video. Chất lượng hình ảnh giải mã tại tốc độ bit cao hơn và có thể đạt được các chỉ tiêu cho các băng VHS thời bấy giờ. MPEG-1 còn được phát triển xa hơn thành MPEG-2 “Công nghệ thông tin – Mã hóa chung cho các hình ảnh động và âm thanh đi kèm – Phần 2: Video”, cái được phát hành vào năm 1995. Phần mở rộng chủ yếu của MPEG-2 là hỗ trợ mã hóa các phần tử video xen kẽ. Nhờ đó, mã hóa số của truyền hình SD đã được hỗ trợ tốt. Ngồi ra, MPEG-2 cịn là tiêu chuẩn mã hóa video đầu tiên chứa các cơng cụ cho khả năng mở rộng không gian và tái tạo. Ngoài ra MPEG-2 cũng được phát hành bởi ITU với tên gọi H.262 và do đó, có thể coi nó là tiêu chuẩn mã hóa video chung đầu tiên của hai tổ chức tiêu chuẩn hóa ITU-T và MPEG.

Vào 1996, ITU-T phát hành H.263 “Mã hóa video cho truyền thông tốc độ bit thấp”. H.263 được thiết kế cho các ứng dụng hội nghị truyền hình với tốc độ bit cực thấp và nó vượt trội hơn hẳn tất cả các tiêu chuẩn mã hóa video trước đó đo nó giới thiệu những cơng cụ mã hóa nâng cao cũng như thiết kế VLC cải thiện. Trong vài năm, H.263 được mở rộng thành H.263+ và H.263++ giới thiệu một tập hợp lớn các cơng cụ mã hóa tăng cường hiệu quả hoạt động cũng như hiệu suất nén như khả năng chống lỗi, phân mảnh dữ liệu...

Song song với việc ITU-T phát triển xa hơn H.263, MPEG cũng phát triển MPEG-4 “Công nghệ thông tin – mã hóa các đối tượng âm thanh–thị giác – Phần 2: Thị giác” Tiêu chuẩn này nhắm tới việc trở thành tiêu chuẩn đa phương tiện tích hợp tổng quát và phiên bản đầu tiên của nó được cơng bố vào năm 1999. Để biểu diễn thông tin thị giác, tiêu chuẩn này bao gồm việc mã hóa video có dạng chữ nhật thơng thường các các hình ảnh tĩnh. Sau này, nó cịn hỗ trợ cho việc mã hóa các đối tượng có hình dạng bất kì và các nội dung tổng hợp. Các ban mở rộng sau này của MPEG-4 cịn thêm vào bù chuyển động tồn thể và độ chính xác chuyển động phần tư mẫu với bộ lọc nội suy được cải thiện.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Cùng sự gia tăng các nội dung video qua Internet, một tiêu chuẩn mã hóa video mới với hiệu suất nén cao cần được nghiên cứu và do đó tiêu chuẩn “Mã hóa video tiên tiến” H.264 ra đời vào năm 2003. Đây là một tiêu chuẩn mã hóa có hiệu suất nén rất cao và trở thành cơng cụ mã hóa video rộn rãi nhất trên thế giới cho đến thời điểm hiện tại. Vào năm 2010, các báo cáo cho thấy tới 66% số lượng video được xem trên những trang web đều được mã hóa với H.264.

<i>Hình 1.2. Lịch sử phát triển các tiêu chuẩn mã hóa video </i>

Ngày nay, với sự phổ biến của các nội dung video định dạng HD hoặc UHD, chuẩn H.264 đã khơng cịn đáp ứng đủ với nhu cầu người sử dung. Do đó, chuẩn mã hóa video H.265 hay còn được gọi là HEVC (High Efficiency Video Coding – Mã hóa video hiệu suất cao) đã ra đời. Đây là sự kế thừa và nâng cấp của giao thức mã hóa video tiên tiến H264. So với H264 thì H265/HEVC có thể cung cấp cùng một chất lượng video nhưng với tốc độ bit chỉ bằng một nửa. HEVC có thể thích nghi nhanh hơn với đa hiện diện, đa hội nghị và rất nhiều các ứng dụng video có độ phân giải cao và rất cao khác nữa. Mặc dù hiện tại các nhà sản xuất vẫn còn dè dặt khi sử dụng HEVC nhưng chắc chắn HEVC sẽ nhanh chóng trở thành một giao thức nén video phổ biến trong tương lai.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>1.2. Giới thiệu về chuẩn mã hóa video HEVC </b>

<i><b>1.2.1 Lịch sử ra đời và phát triển HEVC </b></i>

Tiêu chuẩn mã hóa video HEVC chính là sự đúc kết những kinh nghiệm mã hóa video trong bốn thập kỉ nghiên cứu và ba thập kỉ tiêu chuẩn hóa quốc tế của rất nhiều các tổ chức trên thế giới.

Năm 2004, nhóm chuyên gia mã hóa video (VCEG) ITU-T đã bắt đầu các nghiên cứu về các cơng nghệ tiên tiến có thể tạo ra các chuẩn nén video mới. Vào tháng 10 năm 2004, một vài kĩ thuật khác nhau để cải thiện cho chuẩn H.264 đã được khảo sát. Vào tháng 1 năm 2005, tại cuộc họp tiếp theo của VCEG, VCEG đã bắt đầu thiết kế một chủ để có tên “Những vùng kĩ thuật trọng yếu” (KTA) để nghiên cứu sâu hơn về vấn đề này. Một phần mềm mã nền mang tên mã nền KTA được thiết lập để đánh giá những đề xuất đó. Phần mềm KTA được dựa theo phần mềm tham chiếu mơ hình chung (JM) mà được phát triển bởi đội phát triển video chung của MPEG và VCEG cho H.264. Rất nhiều các cơng nghệ đề xuất bổ sung đã được tích hợp vào phần mềm KTA và được thử nghiệm rất nhiều lần trong hơn bốn năm. MPEG và VCEG đã thành lập một nhóm hợp tác chung về mã hóa video (JCT-VC) để phát triển tiêu chuẩn HEVC

Mục tiêu chính của các nghiên cứu này là tạo ra một tiêu chuẩn nén video hoàn toàn mới hoặc tạo ra một phần mở rộng cho H264. Ban đầu dự án có tên là H.265 và H.NGVC và sau đó đã được đổi tên thành HEVC vào năm 2010.

Yêu cầu chính của NGVC là khả năng giảm tốc độ bit so 50% nhưng vẫn có chất lượng hình ảnh tương đường với H.264 với độ phức tạp tính tốn trong phạm vi từ 0.5 tới 3 lần. Tức là NGVC có thể làm giảm tốc độ bit 25% với độ phức tạp tính tốn giảm 50% tuy nhiên vẫn nhận được hình ảnh với chất lượng tương đương H264 hoặc tốc độ bit giảm nhiều hơn nữa với độ phức tạp tăng lên một chút.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Nhóm chuyên gia ảnh động ISO/IEC đã bắt đầu một dự án tương tự vào 2007 và đặt tên dự án là mã hóa video hiệu quả cao. Vào tháng 7/2007, các chuyên gia đã nhất trí rằng mục tiêu của dự án là sẽ làm giảm tốc độ bit 50% so với tiêu chuẩn trước đó là AVC. Các tính toán ban đầu được thực hiện với một vài chỉnh sửa bộ mã hóa phần mềm tham chiếu KTA bởi VCEG. Vào tháng 7/2009, các kết quả thử nghiệm cho thấy độ giảm tốc độ bit đã bằng 20% so với AVC và kết quả đó là động lực để MPEG hợp tác với VCEG trong q trình hồn thiện tiêu chuẩn HEVC.

Vào tháng 1 năm 2010, một kêu gọi đều xuất về công nghệ nén video được đề ra bởi VCEG và MPEG. Tính tới tháng 4 năm 2010 thì đã có tổng cộng 27 đề xuất hồn chỉnh đã được đệ trình. Các đánh giá cho thấy một vài đề xuất có thể đạt được chất lượng video tương đương AVC với tốc độ bit giảm đi một nửa trong rất nhiều các trường hợp thử nghiệm, với cái giá phải trả là độ phức tạp tính toán tăng từ hai tới mười lần. Một vài đề xuất khác thì lại đạt được các kết quả chất lượng chủ quan và tốc độ bit khá tốt cùng với độ phức tạp tính tốn thấp hơn so với phần mềm mã hóa tham chiếu AVC. Tại cuộc họp đó thì cái tên HEVC đã chính thức được lựa chọn. Vào cuộc họp thứ 3 vào tháng 10 năm 2010 thì rất nhiều cơng cụ mã hóa và cấu hình cho HEVC đã được thơng qua.

Vào 25/01/2013, ITU thông báo rằng HEVC đã bước đầu được thông qua trong q trình thơng qua thay thế (APP) ITU-T.

Vào 13/04/2013 HEVC/H.265 được chấp thuận là một tiêu chuẩn ITU-T. Tiêu chuẩn sau đó đã được chính thức phát hành bởi ITU-T vào 07/06/2013 và bởi ISO/IEC vào 25/11/2013.

Vào 11/07/2014, MPEG thông báo rằng ấn bản thứ 2 của HEVC sẽ bao gồm ba phần mở rộng hoàn chỉnh là phần mở rộng đa điểm, phần mở rộng phạm vi và phần mở rộng quy mô.

Vào 29/10/2014 phiên bản 2 của HEVC/H.265 được chấp thuận là một tiêu chuẩn của ITU-T. Sau đó nó đã được phát hành chính thức vào 12/01/2015

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

Vào 29/04/2015, phiên bản thứ 3 của HEVC/ H.265 đã được chấp thuận là một tiêu chuẩn của ITU-T.

<i>Hình 1.3. Lịch sử phát triển của HEVC </i>

<i><b>1.2.2. Cấu trúc khối HEVC </b></i>

Chuẩn HEVC được thiết kế dựa trên nguyên tắc mã hóa video lai dựa trên cơ sở chia khối. Theo nguyên tắc này, trước hết một hình ảnh được phân chia thành các khối và sau đó mỗi khối được dự đốn bằng cách sử dụng dự đốn nội hình ảnh hoặc dự đốn liên hình ảnh. Trong khi các phương pháp trước đây chỉ sử dụng các mẫu giải mã trong cùng một hình ảnh làm mẫu tham chiếu thì HEVC sử dụng các khối chuyển vị của các hình ảnh đã được giải mã làm mẫu tham chiếu. Dự đốn liên hình ảnh thường được sử dụng để bù cho chuyển động của các đối tượng trong thế thế giới thực giữa các hình ảnh của một chuỗi video, nó cũng được gọi là dự đoán bù chuyển động. Trong khi dự đốn nội hình ảnh khai thác độ dư thừa khơng gian giữa các khối lân cận trong một bức ảnh, dự đoán bù chuyển động sử dụng một số lượng lớn độ dư thừa thời gian giữa các hình ảnh. Trong cả hai trường hợp, các lỗi dự đoán kết quả mà được hình thành bởi việc so sự khác biệt giữa khối ban đầu và khối dự đoán sẽ được truyền đi bằng cách sử dụng mã hóa biến đổi. Mã hóa biến đổi sẽ khai thác độ dư thừa không gian bên trong một khối và bao gồm một biến đổi tuyến tính giải tương

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

quan, lượng tử hóa vơ hướng của các hệ số biến đổi và mã hóa entropy của các mức hệ số chuyển đổi kết quả.

<i>Hình 1.4. Sơ đồ khối của một bộ mã hóa HEVC với bộ giải mã đi kèm </i>

Hiệu quả mã hóa mà một chuẩn mã hóa video lai có thể đạt được phụ thuộc vào một vài khía cạnh thiết kế như là sử dụng các bộ lọc nội suy cho sự nội suy mẫu con, hiệu quả của mã hóa entropy hoặc là các kĩ thuật lọc lặp vịng. Tuy nhiên cơ sở chính cho việc cải tiến từ thế hệ này sang thế hệ khác thường là do việc tăng số lượng khả năng hỗ trợ cho mã hóa một hình ảnh hay một khối mẫu. Điều đó bao gồm tăng độ chính xác của vector chuyển động, linh hoạt hơn trong việc chọn thứ tự mã hóa hình ảnh, mở rộng tập hợp các hình ảnh tham chiếu khả dụng, tăng số lượng chế độ dự đoán nội bộ, tăng số lượng dự đoán vector chuyển động, tăng số lượng kích thước biến đổi hỗ trợ cũng như tăng kích thước khối cho dự đốn bù chuyển động.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Do sức mạnh tính toán liên tục được cải tiến nên các chuẩn mã hóa video mới hơn cũng hỗ trợ tập hợp tùy chọn mã hóa lớn hơn. Trong q trình phát triển, HEVC sẽ càng ngày càng tỏ rõ ưu thế vì việc mã hóa các định dạng video độ nét cao và cực cao ngày càng trở nên quan trọng hơn. Để đáp ứng với những độ phân giải cao như vậy thì rất cần thiết để hỗ trợ kích thước khối lớn hơn cho cả dự đoán bù chuyển động và mã hóa chuyển đổi. Tuy nhiên để phù hợp với việc phân vùng khối tới các thuộc tính cục bộ của các hình ảnh, cũng rất quan trọng trong việc hỗ trợ các kích thước khối nhỏ. Cả 2 mục tiêu đều được đề cập trong HEVC bằng cách giới thiệu khái niệm phân vùng khối theo cấp bằng cách sử dụng cú pháp cây tứ phân đơn giản và thống nhất nhưng hiệu quả. Thêm vào đó, khái niệm phân vùng khối dựa theo cây tứ phân này cho phép ứng dụng thuật toán tỉa cây nhanh tối ưu trong bộ mã hóa để xác định cách phân vùng khối tốt nhất theo giá trị tốc độ bit-biến dạng Lagrangian [2]

Trong toàn bộ các tiêu chuẩn mã hóa video trước đây của ITU-T và ISO/IEC, mỗi hình ảnh của chuỗi video được phân thành các khối vĩ mô. Mỗi khối vĩ mô bao gồm một khối 16x16 mẫu luma. Nếu định dạng mẫu chroma 4:2:0 được sử dụng thì khối vĩ mơ sẽ bao gồm 2 khối 8x8 mẫu chroma. Khối vĩ mô được coi như là đơn vị xử lý cơ bản của các tiêu chuẩn này. Với mỗi khối vĩ mô của một hình ảnh, một chế độ mã hóa được chọn bởi bộ mã hóa. Chế độ mã hóa khối vĩ mơ được lựa chọn sẽ xác định rằng tồn bộ các mẫu của khối vĩ mơ được dự đốn bởi dự đốn nội hình ảnh hay dự đốn bù chuyển động. Chuẩn HEVC được thiết kế để cung cấp hiệu suất mã hóa vượt trội so với người tiền nhiệm H264 cho tồn bộ các ứng dụng mã hóa video hiện có. Trong khi tăng kích thước khối được hỗ trợ lớn nhất là có lợi với các video có độ phân giải cao, việc này lại có thể có tác động bất lợi với hiệu suất mã hóa của video có độ phân giải thấp, đặc biệt nếu các bộ mã hóa ít phức tạp được sử dụng mà khơng có khả năng đánh giá tồn bộ các chế độ phân vùng con hỗ trợ. Vì lí do đó, HEVC có một cơ chế linh hoạt cho phân vùng hình ảnh video thành các đơn vị xử lý cơ bản với các kích thước có thể thay đổi. Trong HEVC, mỗi hình

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

ảnh được phân vùng thành các CTB hình vng sao cho số CTB là như nhau đối với cả các thành phần hình ảnh luma và chroma (giả sử không dùng định dạng video đơn sắc). Do đó mỗi CTB mẫu luma cùng với 2 CTB mẫu chroma tương ứng và cú pháp liên quan tới các khối mẫu được gộp lại thành CTU. CTU thể hiện đơn vị xử lý cơ bản trong HEVC và nó có ý nghĩa tương tự như khối vĩ mơ trong các chuẩn mã hóa video trước đó. CTB luma bao phủ một khu vực hình vng gồm 2Nx2N mẫu luma. Trong định dạng mẫu chroma 4:2:0 , mỗi CTB chroma bao phủ một khu vực 2N-2x2N-1 mẫu chroma tương ứng với một trong 2 phần tử chroma. Tham số N được truyền trên tập hợp tham số chuỗi và có thể dược chọn bởi bộ mã hóa với các giá trị N bằng 4, 5 hoặc 6, tương ứng với kích thước CTU là 16x16, 32x32 và 64x64 mẫu luma. Kích thước CTU lớn hơn thơng thường sẽ cung cấp hiệu suất mã hóa tốt hơn, nhưng cũng có thể làm tăng trễ mã hóa/giải mã, dung lượng bộ nhớ cần thiết, và yêu cầu tính tốn phức tạp hơn của bộ xử lý mã hóa. Bộ mã hóa có quyền tự do lựa chọn kích thước CTU mà cung cấp sự bù trừ tốt nhất cho ứng dụng mà nó hướng tới. Để minh họa, hình 1.5 miêu tả sự phân vùng của một hình ảnh 720p thành các khối vĩ mô 16x16 và các CTU 64x64. Có thể thấy rằng mỗi khối vĩ mơ 16x16 chỉ bảo phủ một khoảng rất nhỏ của hình ảnh, nhỏ hơn rất nhiều vùng mà có thể miêu tả bằng cùng các tham số chuyển động.

Với các chuẩn mã hóa video trước đây của ITU-T và ISO/IEC, một khối vĩ mô không chỉ sử dụng để phân vùng hình ảnh video mà cịn thể hiện đơn vị xử lý mà từ đó chế độ mã hóa được chọn bởi bộ mã hóa. Với mỗi khối vĩ mơ, nó được lựa chọn để tất cả các mẫu của các khối luma và chroma tương ứng được truyền sử dụng mã hóa liên hình ảnh hay dự đốn nội hình ảnh. Ngồi ra, trong cả mã hóa nội hình ảnh và liên hình ảnh, một khối vĩ mơ có thể được chia thành các khối nhỏ hơn cho mục đích dự đốn và báo hiệu các tham số dự đốn. Trong HEVC, đơn vị xử lý cơ bản có thể lớn như một khối 64x64 mẫu luma. Một ứng dụng trực tiếp của cú pháp khối vĩ mô H264 tới đơn vị cây mã hóa của HEVC có thể gây ra vài vấn đề. Một măt, chọn giữa dự đốn nội hình

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

ảnh và dự đoán bù chuyển động cho các khối lớn sẽ gây bất lợi với tỉ lệ tốc độ bit-độ biến dạng. Tại lát P và B, hầu hết các mẫu có thể được dự đốn chính xác sử dụng dự đốn bù chuyển đơng. Chỉ với một số ít các mẫu, mã hóa nội hình ảnh mới có lợi hơn về tốc độ-biến dạng. Nếu tiêu chuẩn cho phép lựa chọn giữa dự đốn bù chuyển động và mã hóa nội hình ảnh chỉ trên bậc của đơn vị cây mã hóa thì sẽ xuất hiện những mất mát lớn trong hiệu suất mã hóa. Thực tế thì việc cho phép lựa chọn giữa mã hóa nội hình ảnh và mã hóa liên hình ảnh tại các đơn vị nhỏ hơn một khối vĩ mơ 16x16 có thể tăng hiệu suất mã hóa. Mặt khác, với việc cho phép các cấu trúc khối mịn như vậy cho dự đoán bù chuyển động như trong H264, khái niệm các chế độ khối vĩ mô và khối vĩ mô con cần được mở rộng. Ngồi ra, nếu kích thước biến đổi khơng thể thay đổi trong một khối cây mã hóa, bộ mã hóa khơng thể thích nghi với các thơng số cục bộ trong một hình ảnh video.

<i>Hình 1.5 Phân vùng một hình ảnh 720p thành các khối vĩ mơ và các đơn vị cây mã hóa: (a) Trong các chuẩn mã hóa trước HEVC; (b) Trong HEVC </i>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Để khác phục những vấn đề tiềm ẩn trên, một đơn vị xử lý khác được gọi là đơn vị mã hóa (CU) được giới thiệu trong HEVC. Một CTU có thể được chia thành nhiều CU có kích thước khác nhau. Để thực hiện múc đích đó, mỗi CTU bao gồm một cấu trúc cây tứ phân hay cịn được gọi là cây mã hóa để quy định việc phân chia CTU thành CU. Tương tự như CTU, CU bao gồm một khối vuông các mẫu luma, 2 khối mẫu chroma tương ứng (cho các định dạng video không đơn sắc) và cú pháp liên quan tới những khối mẫu đó. Những mảng mẫu luma và chroma chứa trong CU được gọi là khối mã hóa (CB).

<i>Hình 1.6. Tám chế độ phân vùng CU thành các PU </i>

Với mỗi CU, chế độ dự đốn được báo hiệu bên trong dịng bit. Chế độ dự đốn chỉ ra rằng CU được mã hóa sử dụng dự đốn nội hình ảnh hay dự đốn bù chuyển động. Nếu mã hóa nội hình ảnh được chọn, một trong 35 chế độ dự đốn nội bộ khơng gian hỗ trợ sẽ được chọn cho CB luma và được báo hiệu bên trong dịng bit. Nếu kích thước CU tối thiểu được xác định trong tập hợp tham số chuỗi thì CB luma có thể được phân tích thành bốn khối con vng có kích thước như nhau. Độc lập với kích thước CU, một chế độ dự đoán chroma nội bộ riêng lẻ được lựa chọn cho một CU và được báo hiệu trong dòng bit. Chế độ dự đoán chroma nội bộ được áp dụng cho cả các CB chroma và có thể được lựa

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

chọn từ năm ứng viên, với mỗi ứng viên biển diễn một chế độ nội dự đoán được lựa chọn cho CB luma khối nội luma đầu tiên.

Nếu một CU được mã hóa sử dụng dự đốn liên hình ảnh, các CB luma và chroma có thể được chia thêm thành các khối dự đoán (PB). Một khối dự đoán là một khối các mẫu luma hoặc một thành phần chroma mà sử dụng cùng các tham số chuyển động cho dự đoán bù chuyển động. Các tham số chuyển động bao gồm số lượng các giả thuyết chuyển động (bằng một hoặc hai) cũng như chỉ mục hình ảnh tham chiếu và vector chuyển động cho mỗi giả thuyết chuyển động. Với cả hai CB chroma của một CU, cùng sự phân chia như cho CB luma được sử dụng. PB luma và các PB chroma cùng với các cú pháp có liên quan sẽ tạo thành một đơn vị dự đoán (PU). Với mỗi PU, một tập hợp riêng lẻ của tham số chuyển động được báo hiệu trong dòng bit, thứ được sử dụng cho dự đoán bù chuyển động của PB luma và các PB chroma. HEVC hỗ trợ tám chế độ khác nhau cho việc phân vùng CU thành các PU và được mơ tả trong hình 1.6

Việc hỗ trợ thêm các chế độ cho phân vùng khối hình ảnh thành các khối con sử dụng cho dự đoán bù chuyển động thường cung cấp khả năng tăng hiệu suất mã hóa. Tuy nhiên khả năng này chỉ có thể được khai thác nếu một bộ mã hóa đánh giá được số lượng đáng kể các chế độ phân vùng được hỗ trợ. Mặt khác, mào đầu cú pháp có liên quan tới số lượng gia tăng các chế độ thực tế có thể làm giảm .CE. nếu so sánh với việc hỗ trợ số lượng nhỏ hơn các chế độ. Tập hợp các chế độ phân vùng được hỗ trợ trong HEVC được chọn để có một sự bù trừ hợp lý. Thêm vào đó, HEVC cung cấp khả năng vơ hiệu hóa chế độ phân vùng bất đối xứng thông qua một mã phần tử cú pháp trong tập hợp tham số chuỗi (SPS). Nếu các chế độ này bị vơ hiệu hóa, mã hóa entropy của chế độ phân vùng được thay đổi sao cho các chế độ phân vùng cịn lại có thể được báo hiệu với ít bit hơn. Tính năng này đặc biệt hữu dụng cho các bộ mã hóa ít phức tạp mà khơng có đủ tài ngun tính tốn để đánh giá tồn bộ các chế độ phân vùng có thể có.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<i><b>1.2.3 Một số cải tiến của HEVC </b></i>

HEVC mang lại rất nhiều các cải tiền so với các tiêu chuẩn mã hóa trước đó. Một số các cải tiền của HEVC bao gồm:

• Tồn bộ q trình mã hóa: các nhà thiết kế bộ mã hóa được cho phép mã hóa video sử dụng bất kì tiêu chí tìm kiếm và quyết định nào họ chọn - miễn là định dạng đầu ra của họ phù hợp với các đặc điểm kĩ thuật định dạng của tiêu chuẩn. Điều này đặc biệt bao gồm các ưu tiên có liên quan của các đặc tính dịng bit khác nhau – tiêu chuẩn cho phép bộ mã hóa được thiết kế chủ yếu cho độ phức tạp thấp, hiệu suất mã hóa cao, sự phục hồi tốt cho mất mát dữ liệu, tối thiểu hóa trễ liên lạc thời gian thực…

• Rất nhiều khía cạnh của q trình giải mã: khi thể hiện với một dịng bit đã được mã hóa đầy đủ và khơng lỗi, tiêu chuẩn yêu cầu bộ giải mã tạo ra các giá trị dữ liệu hình ảnh được giải mã rõ ràng tại một số giai đoạn xử lý như là “đầu ra” lý thuyết của chúng; tuy nhiên, nó khơng yêu cầu bộ giải mã sử dụng chính xác cùng các bước xử lý theo thứ tự sản xuất dữ liệu đó.

• Mất mát dữ liệu và phát hiện hư hỏng và hồi phục: Tiêu chuẩn không quản lý việc mà bộ giải mã sẽ làm nếu nó được trình bày với một dữ liệu video khơng đầy đủ hoặc bị hư hỏng. Tuy nhiên trong các sản phẩm thế giới thực, đối phó với các đầu vào khơng hồn hảo là một u cầu căn bản.

• Các chức năng bổ sung: các thao tác như truy cập ngẫu nhiên và đổi kênh, các thao tác “chế độ mưu mẹo” như chuyển tiếp nhanh và quay lại mịn, và các hàm khác như nối dòng bit đều vượt ra ngoài phạm vi của tiêu chuẩn để cho phép các sản phẩm sử dụng dữ liệu đã mã hóa theo cách chúng chọn.

• Tiền xử lý, hậu xử lý và hiển thị: Thay đổi có chủ ý của dữ liệu đầu vào bộ mã hóa và hậu xử lý điều chỉnh hình ảnh hậu giải mã được cho phép vì bất kể lý do nào mà người thiết kế lựa chọn, và cách mà video được thể hiện sau cùng (bao gồm các khía cạnh chủ chốt như độ chính xác của hốn màu) là trách nhiệm của riêng mỗi sản phẩm.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Những cải tiến trên của HEVC là do HEVC đã sử dụng rất nhiều cơng cụ mã hóa có hiệu quả bao gồm:

• Đơn vị cây mã hóa (CTU): HEVC thay thế các khối vĩ mô 16x16 điểm ảnh bằng các đơn vị cây mã hóa, thứ sử dụng các cấu trúc khối lớn hơn có thể lên tới 64x64 mẫu và có thể phân vùng hình ảnh thành các cấu trúc có kích thước thay đổi tốt hơn. Kích thước khối càng lớn thì hiệu suất mã hóa sẽ càng cao.

• Các cơng cụ xử lý song song: HEVC sử dụng hai công cụ xử lý song song bao gồm xếp ngói và xử lý song song đầu sóng. Q trình xếp ngói sẽ cho phép hình ảnh được chia thành các vùng dạng hình chữ nhật và có thể được giải mã/mã hóa một cách độc lập với nhau. Cịn q trình xử lý song song đầu sóng diễn ra khi một lát được chia thành các hàng CTU với hàng đầu tiên được giải mã như bình thường nhưng các hàng sau đó thì có quyết định được dựa trên hàng trước nó. Chi tiết về các cơng cụ xử lý này có thể tìm thấy trong [1]

• Mã hóa Entropy: HEVC sử dụng thuật tốn mã hóa số học nhị phân thích nghi theo thuộc tính (CABAC) cũng tương tự như CABAC trong H264, tuy nhiên CABAC trong HEVC được thiết kế cho một thơng lượng cao hơn trong khi vẫn duy trì được hiệu suất nén cao hơn cho các kích thước khối biến đổi lớn hơn.

• Nội dự đốn : HEVC vạch rõ 33 chế độ hướng cho nội dự đoán so với 8 chế độ hướng sử dụng trong H264. Ngồi ra HEVC cũng có thêm chế độ nội dự đoán DC và các chế độ dự đoán phẳng. Chế độ dự đoán DC tạo ra một giá trị trung bình bằng cách lấy trung bình các mẫu tham chiếu và có thể được sử dụng cho các mặt phẳng. Các chế độ dự đoán phẳng trong HEVC thì hỗ trợ tồn bộ các kích thước khối có trong HEVC trong khi chế độ dự đốn phẳng trong H264 được giới hạn tới kích thước khối 16x16 điểm ảnh. Các chế độ nội dự đoán sử dụng dữ liệu từ các khối dự đốn hàng xóm mà đã được giải mã trước đó từ cùng một hình ảnh.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

• Bù chuyển động: Với q trình nội suy các vị trí mẫu phân số, HEVC sử dụng ứng dụng riêng biệt của một quá trình nội suy bán mẫu một chiều với một bộ lọc 8 nút hoặc một quá trình nội suy phần tư mẫu với một bộ lọc 7 nút trong khu H263 sử dụng một quá trình gồm 2 giai đoạn mà giai đoạn đầu xác định các giá trị tại các vị trí bán mẫu sử dụng một quá trình nội suy 6 nút một chiều riêng biệt và tiếp đó là q trình làm trịn ngun rồi áp dụng q trình nội suy tuyến tính giữa các giá trị tại các vị trí bán mẫu gần đó để tạo ra các giá trị tại các vị trí phần tư mẫu. Độ chính xác của HEVC đã được tăng cường do bộ lọc nội suy dài hơn và loại trừ được lỗi làm trịn trung gian.

• Dự đoán vector chuyển động: HEVC cho phép 2 chế độ vector chuyển động là dự đoán vector chuyển động nâng cao (AMVP) và chế độ sát nhập. AMVP sử dụng dữ liệu từ hình ảnh tham chiếu và cũng có thể sử dụng dữ liệu từ các khối dự đốn liền kề. Chế độ sát nhập thì cho phép các vector chuyển động được xác định từ các khối dự đoán hàng xóm. Chế độ dự đoán trong HEVC cũng tương tự các chế độ “bỏ qua” và “trực tiếp” trong H264 nhưng với hai cải tiến. Thứ nhất là HEVC sử dụng thông tin chỉ số để lựa chọn một trong một vài ứng viên khả dụng. Cải tiến thứ hai là HEVC sử dụng thơng tin từ danh sách hình ảnh tham chiếu và chỉ mục hình ảnh tham chiếu.

• Bộ lọc giải khối: Bộ lọc giải khối cũng tương tự như thứ được sử dụng trong H264 nhưng với thiết kế đơn giản hơn và cũng hỗ trợ cho các quá trình song song tốt hơn. Trong HEVC, bộ lọc giải khối chỉ áp dụng cho các lưới 8x8 mẫu trong khi ở H264 là lưới 4x4 mẫu. Do bộ lọc giải khối sử dụng lưới 8x8 mẫu nên nó khơng gây ra các sự sụt giảm đáng kể nào mà lại đem tăng cường đánh kể cho các q trình song song vì bộ lọc giải khối khơng gây ra các tương tác tầng với các tiến trình khác. Một thay đổi khác là HEVC chỉ cho phép ba chiều dài bộ lọc giải khối từ 0 tới 2. HEVC cũng yêu cầu bộ lọc giải khối trức tiên phải áp dụng lọc ngang cho các cạnh dọc tới hình ảnh và chỉ sau đó, nó áp dụng lọc dọc cho các cạnh ngang tới hình ảnh. Điều này cho phép nhiều q trình song song có thể được sử dụng cho bộ lọc giải khối.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<i>Bảng 1.1. Các cải tiến của HEVC so với AVC </i>

Đơn vị mã hóa cơ sở Khối vĩ mô 16x16, khối siêu vĩ mô 16x32 cho

mã hóa xen kẽ

Khối 8x8, 16x16, 32x32, 64x64

Liên dự đốn Hình vng, hình chữ nhật đối xứng

Hình vng, hình chữ nhật đối xứng và bất đối

vng

Lọc lặp vòng Lọc giải khối Lọc giải khối và SAO Mã hóa Entropy CABAC và CAVLC Chỉ CABAC

• Bộ bù thích nghi mẫu (SAO): Bộ lọc bù thích nghi mẫu được áp dụng sau bộ lọc giải khối và được thiết kế để cho phép việc tái cấu trúc các biên độ tín hiệu gốc tốt hơn bằng các áp dụng các độ bù được lưu trữ trong bảng tra cứu trong dòng bit. Bộ lọc SAO có thể bị vơ hiệu hoặc áp dụng theo một trong hai chế độ: chế độ bù cạnh hoặc chế độ bù băng. Chế độ bù cạnh vận hành bằng cách so sánh giá trị của một mẫu tới hai trong số tám hàng xóm của nó sử dụng mổ rrong bốn mơ hình hướng Gradient. Dựa trên sự so sánh với hai hàng xóm đó, mẫu sẽ được phân loại vào một trong năm loại: nhỏ nhất, lớn nhất, một cạnh với mẫu có giá trị thấp hơn, một cạnh với mẫu có giá trị cao hơn, hoặc đơn điệu. Với mỗi trong bốn loại đầu tiên, một độ bù sẽ được áp dụng. Chế độ bù băng áp dụng một độ bù dựa trên biên độ của một mẫu đơn lẻ. Một mẫu được phân loại bởi biên độ của nó tới 32 băng. Các độ bù được xác định cho bốn

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

băng liên tiếp trong 32 băng, vì trong các khu vực phẳng, các biên độ mẫu có xu hướng được gom lại trong một khoảng nhỏ. Bộ lọc SAO được thiết kế để cải thiện chất lượng hình ảnh, làm giảm nhiễu băng và nhiễu vòng.

<i><b>1.2.4 Hiệu suất mã hóa HEVC </b></i>

Thiết kế của hầu hết các tiêu chuẩn mã hóa Video chủ yếu nhắm vào mục tiêu là có hiệu suất mã hóa cao nhất. Hiệu suất mã hóa là khả năng mã hóa video với tốc độ bít thấp nhất có thể trong khi vẫn duy trì được mức độ chất lượng video hợp lý. Có hai cách để xác định hiệu suất mã hóa video, đó là sử dụng các số liệu khách quan như tỉ lệ đỉnh tín hiệu-tới-tạp âm (PSNR) hoặc sử dụng các đánh giá chủ quan về chất lượng video [1]. Trong đó việc đánh giá chủ quan chất lượng video được coi là cách quan trọng nhất để xác định rằng tiêu chuẩn mã hóa video có phù hợp hay không.

<i>Bảng 1.2. So sánh độ giảm tốc độ bit trung bình của HEVC so với H264 </i>

Tiêu chuẩn mã hóa Video

Độ giảm tốc độ bit trung bình so với H264

Các lợi ích mà HEVC mang lại tới từ việc sử dụng các kích thước đơn vị cây mã hóa lớn hơn. Với các đơn vị cây mã hóa càng lớn thì hiệu suất mã hóa càng tăng trong khi thời gian mã hóa lại giảm đi so với H264. Điều này đã được chứng minh bằng các phép thử PSNR với bộ mã hóa HEVC HM-8.0. Ngồi ra HEVC cũng được so sánh với H264 về các đánh giá chủ quan. Video đã được thực hiện mã hóa cho các ứng dụng giải trí và bốn tốc độ bit khác nhau đã được tạo ra cho chín chuỗi video thử nghiệm. Thử nghiệm đánh giá chủ quan này đã được thực hiện sớm hơn phép so sánh PSNR do đó nó sử dụng phiên bản cũ hơn của HEVC, thứ mà có hiệu suất hơi chậm hơn một chút. Và độ giảm tốc độ bít sau đó được xác định dựa trên điểm số đánh giá trung bình của rất nhiều các khán giả. Và độ giảm tốc độ bit chủ quan tổng thể cho HEVC so với H264 đã được xác định là 49.3%.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Như vậy, dù ta có sử dụng phương háp đánh giá đỉnh PSNR hay đánh giá chủ quan chất lượng hình ảnh thì HEVC cũng cung cấp một độ giảm tốc độ bit khoảng 50% so với người tiền nhiệm H264 [4]

<i><b>1.2.5 Triển khai và ứng dụng HEVC trong thực tế </b></i>

Từ khi ra đời cho đến nay, mặc dù HEVC vẫn chưa thể thay thế hoàn toàn H264 tuy nhiên với những ưu điểm về hiệu suất mã hóa của mình, HEVC cũng đã được ứng dụng rất nhiều trong thực tế bởi rất nhiều các hãng công nghệ lớn trên thế giới.

Vào 29/02/2012, Qualcomn mô tả một bộ giải mã HEVC chạy trên một chiếc máy tính bảng chạy hệ điều ành Android với chíp hai nhân SNAPdragon S4 1.5 GHz, thể hiện cùng một chất lượng hình ảnh nội dung video được mã hóa bởi H264 và HEVC song song với nhau. Trong buổi trình chiếu đó thì HEVC cho thấy đã giảm được 50% tốc độ bit so với H264.

Vào 03/04/2013, ATEME công bố triển khai mã nguồn mở cỗ máy phần mềm HEVC đầu tiên dựa trên bộ giải mã HEVC mở và một trình chạy video GPAC. Bộ giải mã này hỗ trợ hồ sơ chính của HEVC và có thể giải mã video 1080p tại 30 fps sử dụng một CPU đơn nhân.

Vào 23/07/2013, MulticoreWare tạo ra mã nguồn khả dụng cho thư viện mã hóa HEVC.

Vào 08/08/2013, cơng ty điện thoại và điện báo Nippon phát hành bộ mã hóa phần mềm SDK HEVC-1000 hỗ trợ độ phân giải lên tới 8k và tốc độ khung lên tới 120 fps.

Vào 14/11/2013, các nhà phát triển DivX đưa ra thông tin về hiệu suất giải mã HEVC sử dụng CPU Intel i7 tại 3.5 GHz (CPU có 4 lõi và 8 luồng). Bộ giải mã DivX 10.1 Beta có thể làm việc với 210.9 fps tại 720p, 101.5 fps tại 1080p và 29.6 fps tại 4K.

Vào 18/12/2013, ViXS Systems tạo SoC Xcode 6400, SoC đầu tiên hỗ trọ hồ sơ Main 10 của HEV.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Vào 05/04/2014 Công ty eBrisk Video và coongty Altera giới thiệu bộ mã hóa HEVC tăng tốc FPGA có thể mã hóa video 4Kp60/10 bit thời gian thực.

Vào 13/08/2014, Ittiam Systems giới thiệu bộ mã hóa và giải mã H265 thế hệ thứ ba hỗ trợ chế độ 4:2:2 12 bit

Vào 05/09/2014, hiệp hội đĩa Blu-Ray công bố đĩa Blu-Rau 4K hỗ trợ video HEVC 4K tại 60 fps,, không gian 2020 màu, khoảng động cao và độ sâu màu 10 bit. Đĩa Blu-Ray 4K này có tốc độ dữ liệu thấp nhất là 50 Mbits/s và có thể bao gồm hỗ trợ cho các đĩa có dung lượng 66/100 GB.

Vào 18/09/2014, Nvidia ra mắt GeForce GTX 980(GM204) và GTX 970(GM204), những sản phẩm bao gồm Nvidia NVENC, bộ mã hóa phần cứng HEVC đầu tiên trên thế giới nằm trong một card màn hình rời.

Vào 31/10/2014, Microsoft xác nhận rằng Window 10 sẽ hỗ trợ HEVC Vào 03/12/2014, hệ điều hành Android Lollipop được phát hành và có hỗ trợ HEVC sử dụng phần mềm của Ittiam Systems.

Vào 05/01/2015, ViXS Systems công bố Xcode 6800, SoC đầu tiên hỗ trợ hồ sơ Main 12 của HEVC.

Vào 05/01/2012, Nvidia cơng bố chính thức SoC Tegra X1 với bộ giải mã phần cứng cố định và đầy đủ chức năng cho HEVC.

Vào 22/01/2015, Nvideo phát hành GeForce GTX 960(GM206), bộ giải mã phần cứng HEVC cố định và đầy đủ chức năng đầu tiên dành cho một card màn hình rời.

Vào 27/01/2015, trình xem phim VLC media phiên bản 2.2.0 được phát hành với hỗ trợ đầy đủ cho việc chơi các video HEVC. Các phiên bản tương ứng trên các hệ điều hành Android và iOS cũng có khả năng chơi các video HEVC.

Vào 31/03/2015, VITEC công bố MGW ACE, bộ mã hóa HEVC di động dựa trên phần cứng 100% đầu tiên.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Vào 05/08/2015, Intel phát hành các sản phẩm Skylake với khả năng giải mã/mã hóa cố định và đầy đu cho hồ sơ chính/8 bit và giải mã lai/khơng gian cho hồ sơ Main 10/10 bit.

Vào 20/08/2015, Nvidia ra mắt GeForce GTX 950 (GM206), cái bao gồm bộ giải mã phần cứng HEVC cố định và đầy đủ như trong GTX 960

<b>1.3. Tổng kết chương 1 </b>

Như vậy, chúng ta có thể thấy rằng, HEVC đã mang đến những cải thiện vượt bậc so với người tiền nhiệm của nó H264, nhất là về hiệu suất mã hóa. Trong thời đại bùng nổ về nhu cầu giải trí như hiện nay thì HEVC chính là một giải pháp tốt để triển khai những dịch vụ video chất lượng cao như truyền hình

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

4K, 8K, đa hiện diện, đa hội nghị... và rất nhiều những ứng dụng tiêu dùng khác. Ngồi ra HEVC cũng tỏ ra hữu ích đối với người tiêu dùng trong việc lưu trữ những video chất lượng cao và cực cao.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<i><b>2.1.1.1. Tạo chuỗi tham chiếu </b></i>

a) Sự thay thế mẫu tham chiếu:

Một vài hoặc toàn bộ các mẫu tham chiếu có thể khơng khả dụng cho việc dự đốn. Trong trường hợp cực đoan với khơng có mẫu tham chiếu nào khả dụng, toàn bộ các mẫu tham chiếu được thay thế bởi một giá trị mẫu trung bình danh định cho một độ sau bit cho trước. Nếu có ít nhất một mẫu tham chiếu được đánh dấu là khả dụng cho nội dự đoán, các mẫu tham chiếu không khả dụng được thay thế bằng cách sử dụng các mẫu tham chiếu khả dụng. Các mẫu tham chiếu không khả dụng được thay thế bằng cách quét các mẫu tham chiếu theo chiều kim đồng hồ và sử dụng những giá trị mẫu khả dụng mới nhất cho các mẫu khơng khả dụng.

b) Q trình lọc của các mẫu tham chiếu:

Các mẫu tham chiếu sử dụng bởi nội dự đốn HEVC được lọc có điều kiện bởi một bộ lọc mịn tương như được thực hiện trong nội dự đoán 8x8 của H264. Mục đích của q trình này là để cải thiện sự xuất hiện trực quan của khối dự

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

đoán bằng việc tránh các bước trong các giá trị của các mẫu tham chiếu mà có khả năng tạo ra các cạnh định hướng không mong muốn tới khối dự đoán. Để tối ưu khả năng sử dụng của bộ lọc mịn, quyết định áp dụng bộ lọc được thực hiện dựa trên chế độ nội dự đoán được lựa chọn và kích thước của khối dự đoán.

Nếu dự đoán DC được sử dụng hoặc nếu khối dự đốn có kích thước 4x4 thì bộ lọc mịn sẽ bị tắt. Với các trường hợp khác, kích thước khối và tính định hướng của bộ dự đoán được sử dụng để quyết định xem bộ lọc mịn có được áp dụng hay khơng. Với các khối dự đốn 8x8, bộ lọc mịn chỉ được áp dụng theo hướng hoàn toàn chéo (chế độ góc 2, 18 và 34). Với các khối dự đoán 16x16, bộ lọc mịn được áp dụng cho hầu hết các trường hợp trừ các hướng cận ngang và cận dọc (chế độ góc 9, 10, 11, 25, 26 và 27). Với các khối dự đốn 32x32 thì chỉ có hướng hồn tồn ngang và hướng hồn tồn dọc chéo (chế độ góc 10 và 26) được loại trừ khỏi làm mịn [1]

<i><b>2.1.1.2. Dự đoán nội mẫu </b></i>

Để dự đoán các loại nội dung khác nhau một cách hiệu quả, HEVC hỗ trợ một vài phương pháp dự đốn mẫu. Nội dự đốn góc được thiết kế để mơ hình hóa các cấu trúc định hướng khác nhau thường xuất hiện trong các hình ảnh. Ngược lại chế độ dự đoán phẳng và DC cung cấp khả năng dự đốn cho các vùng hình ảnh với các nội dung mịn và thay đổi dần dần. Dự đoán phẳng và dự đốn DC cũng rất hữu ích trong việc tạo ra các khối dự đốn “trung hịa” khơng có các thành phần tần số cao cho các kết cấu phức tạp mà khơng thể mơ hình hóa chính xác với bất kì bộ dự đốn định hướng nào mà nội dự đốn góc có thể tạo ra. Một vài chế độ góc và chế độ dự đốn DC bao gồm một thao tác hậu lọc sáng để tăng cường tính liên tục của tín hiệu dự đốn tại đường biên khối.

a) Dự đốn góc

Nội dự đốn góc trong HEVC được thiết kế để có thể mơ hình hóa có hiệu quả các cấu trúc định hướng khác nhau thường thấy trong các nội dung video

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

và hình ảnh. Tập hợp các hướng dự đoán khả dụng được lựa chọn để cung cấp sự đánh đổi tốt giữa độ phức tạp mã hóa và hiệu suất mã hóa cho các video điển hình. Q trình dự đốn mẫu được thiết kế để có u cầu tính tốn thấp và thích hợp với các kích thước khối và hướng dự đốn khác nhau. Điều đó đặc biệt quan trọng do số lượng kích thước khối và hướng dự đốn hỗ trợ bởi mã hóa nội bộ HEVC lớn hơn rất nhiều các chuẩn mã hóa và giải mã trước đây như H264. Trong HEVC, có bốn kích thước khối nội dự đốn có hiệu quả trong khoảng từ 4x4 tới 32x32 mẫu, mỗi kích thước hỗ trợ 33 hướng dự đốn riêng biệt. Một bộ giải mã do đó cần hỗ trợ 132 sự kết hợp của kích thước khối và hướng dự đoán [2].

b) Dự đoán DC

Trong trường hợp dự đoán DC, các giá trị mẫu đã được dự được phân bố với một hằng số thể hiện trung bình của các mẫu tham chiếu bên trái và bên trái khối được dự đoán. Các khối sáng đã được dự đốn có kích thước 16x16 và nhỏ hơn đi qua một quá trình lọc sáng để làm dịu đi các cạnh bên trái và bên trên của khối

c) Dự đoán phẳng

Trong khi dự đốn góc cung cấp một ước lượng tốt cho các cấu trúc với các cạnh đáng kể, nó có thể tạo ra vài đường khả kiến trong các khu vực hình ảnh mịn. Tương tự, một số khối có thể được quan sát trong khu vực hình ảnh mịn khi dự đoán DC được áp dụng tại các tốc độ bit thấp hoặc trung bình. Dự đốn phẳng của HEVC được thiết kế để vượt qua các vấn đề trên bằng cách có thêm khả năng để tạo một bề mặt dự đốn khơng gián đoạn trên các đường biên khối. Điều này đạt được bằng cách lấy trung bình dự đốn tuyến tính ngang và dọc trên nền tảng mẫu.

<i><b>2.1.1.3. Hậu xử lý cho các mẫu đã được dự đốn </b></i>

Một vài chế độ dự đốn có thể tạo ra sự gián đoạn cho các giá trị mẫu được dự đoán trên đường biên của các khối dự đoán, rõ ràng nhất là ở dự đoán

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

DC và cho các dự đốn góc ngang và dọc trực tiếp. Trong trường hợp dự đoán DC, sự gián đoạn có thể xảy ra trên cả biên trái và biên trên của khối do toàn bộ các mẫu đã được dự đoán được thay thế bởi một giá trị riêng lẻ. Trong trường hợp dự đoán dọc trực tiếp, có thể xảy ra gián đoạn trên biên trái của khối do cột ngoài cùng bên trái của các mẫu đã được dự đoán sẽ sao chép giá trị của mẫu tham chiếu ngoài cùng bên trái phía trên khối. Tương tự sự gián đoạn có thể xảy ra tại cạnh trên của khối khi dự đoán ngang trực tiếp được lựa chọn. Để giảm những sự gián đoạn đó dọc theo các đường biên khối, các mẫu đường biên bên khối dự đoán được thay thế bằng các giá trị đã được lọc bởi việc xem xét độ dốc tại cạnh của khối.

<i><b>2.1.2. Dự đốn liên hình ảnh 2.1.2.1. Giới thiệu </b></i>

Trong khi dự đốn nội hình ảnh khai thác sự tương quan giữa các mẫu lân cận khơng gian, dự đốn liên hình ảnh lại sử dụng sự tương quan thời gian giữa các hình ảnh theo thứ tự nhận được từ một dự đoán bù chuyển động (MCP) cho một khối của các mẫu hình ảnh.

Với MCP dựa theo khối, một hình ảnh video được chia thành các khối chữ nhật. Giả sử chuyển động là đồng nhất bên trong một khối và vật thể chuyển động đó lớn hơn một khối, với mỗi khối, có thể tìm thấy một khối tương ứng trong các hình ảnh đã giải mã trước đó để phục vụ như là yếu tố dự đốn. Khái niệm chung của MCP dựa trên mơ hình chuyển động tịnh tiến. Sử dụng mơ hình chuyển động tịnh tiến, vị trí của khối trong hình ảnh đã được giải mã trước

<i>đó được chỉ định bởi vector chuyển động (∆𝑥, ∆𝑦) với ∆𝑥 là dịch vị ngang và </i>

∆𝑦 là dịch vị dọc so với vị trí của khối hiện tại.

Phép nội suy được áp dụng trên các hình ảnh tham chiếu để rút ra được tín hiệu dự đốn khi vector chuyển động tương ứng có độ chính xác mẫu phân số. Hình ảnh được giải mã trước đó được gọi là hình ảnh tham chiếu và được chỉ định bởi một chỉ mục tham chiếu ∆𝑡 tới một danh sách hình ảnh tham chiếu.

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

Các tham số mơ hình chuyển động tịnh tiến, tức là các vector chuyển động và chỉ số tham chiếu, được gọi là dữ liệu chuyển động. Có 2 loại của dự đốn liên hình ảnh trong các chuẩn mã hóa video hiện đại là dự đốn đơn và dự đốn đơi.

<i>Trong trường hợp dự đốn đơi, 2 tập hợp của dữ liệu chuyển động (∆x<small>0</small>, ∆y<small>0</small>, ∆z<small>0</small> và ∆x<small>1</small>, ∆y<small>1</small>, ∆z<small>1</small></i>) được sử dụng để tạo ra 2 MCP và sau đó được kết hợp để trở thành MCP sau cùng [1]. Điều này được thực hiện bằng cách lấy trung bình nhưng trong trường hợp dự đốn trọng số, các trọng số khác nhau có thể được áp dụng tới mỗi MCP. Các hình ảnh tham chiếu mà có thể được sử dụng trong dự đốn đơi được lưu trữ trong 2 danh sách khác nhau, tên là danh sách 0 và danh sách 1. Để giới hạn băng thông bộ nhớ trong các lát cho phép dự đốn đơi, chuẩn HEVC giới hạn PU với 4x8 và 8x4 khối dự đoán luma để chỉ sử dụng dự đoán đơn. Dữ liệu chuyển động được suy ra bởi bộ mã hóa sử dụng một quá trình ước lượng chuyển động. Ước lượng chuyển động khơng được xác định rõ trong các tiêu chuẩn video do đó các bộ mã hóa khác nhau có thể sử dụng các bù trừ khác nhau về độ phức tạp-chất lượng trong thiết kế.

<i>Hình 2.1. Dự đốn liên hình ảnh trong HEVC </i>

Đồ thị khối tổng quan của mã hóa liên hình ảnh HEVC được thể hiện ở hình 2.1. Dữ liệu chuyển động của một khối có quan hệ với các khối lân cận. Để khai thác sự tương quan này, dữ liệu chuyển động không được mã hóa trực tiếp trong dịng bit nhưng được mã hóa mang tính dự đoán dựa trên dữ liệu chuyển động lân cận. Trong HEVC, có 2 khái niệm được sử dụng cho điều đó.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

Mã hóa mang tính dự đoán của các vector chuyển động được cải tiến trong HEVC bằng việc giới thiệu một công cụ mới tên dự đoán vector chuyển động nâng cao (AMVP), thứ dự đoán tốt nhất cho mỗi khối chuyển động sẽ được báo hiệu tới bộ giải mã. Thêm vào đó, một kĩ thuật mới gọi là sát nhập khối liên dự đốn nhận được từ tồn bộ các dữ liệu chuyển động của một khối từ các khối lân cận thay thế cho chế độ trực tiếp và chế độ bỏ qua trong H264.

<i><b>2.1.2.2. Mã hóa dữ liệu chuyển động </b></i>

a) Dự đoán vector chuyển động nâng cao (AMVP)

Như trong các tiêu chuẩn mã hóa videotrước đây, vector chuyển động HEVC được mã hóa theo các thành phần ngang (x) và phương dọc (y). Các vector chuyển động của khối hiện tại thường có liên quan tới các vector chuyển động của các khối lân cận trong hình ảnh hiện tại hoặc trong các hình ảnh đã được mã hóa sớm hơn. Đó là vì các khối lân cận có khả năng tương ứng với cùng đối tượng chuyển động với các chuyển động tương tự và chuyển động của đối tượng khó có thể thay đổi đột ngột theo thời gian. Do đó, sử dụng các vector chuyển động trong các khối lân cận làm yếu tố dự đốn sẽ làm giảm kích thước MVD đã được báo hiệu. Các MVP thường được suy ra từ các vector chuyển động đã được mã hóa từ các khối lân cận theo không gian hoặc từ các khối lân cận theo thời gian trong hình ảnh đồng vị.

- Xây dựng danh sách ứng viên AMVP: Thiết kế cuối cùng của danh sách ứng viên AMVP bao gồm hai ứng viên AMVP sau [1]:

• Có thể có tới hai ứng viên MVP khơng gian được xác định từ năm khối lân cận không gian.

• Một ứng viên MVP thời gian được xác định từ các khối thời gian, đồng vị, khi cả hai ứng viên MVP không gian không khả dụng hoặc chúng giống nhau.

• Vector chuyển động giá trị không khi cả ứng viên không gian, thời gian hoặc cả hai đều không khả dụng.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

- Truyền tín hiệu dữ liệu chuyển động AMVP

Thơng thường, việc truyền tín hiệu dữ liệu chuyển động trong HEVC cũng tương tự như trong H264. Một phần tử cú pháp mã hóa liên hình ảnh,

<i>inter_pred_idc, báo hiệu rằng danh sách tham chiếu 0, 1 hay cả hai được sử </i>

dụng. Với mỗi MCP nhận được từ một danh sách hình ảnh tham chiếu, hình

<i>ảnh tham chiếu tương ứng (∆t) được báo hiệu bởi một chỉ mục tới danh sách hình ảnh tham chiếu, ref_idx_l0/1 và MV (∆x, ∆y) được thể hiện bởi một chỉ mục tới MVP, mvp_l0/1_flag, và MVD của nó. Một cờ mới được giới thiệu trong header lát, mvd_l1_zero_flag, chỉ định rằng có phải MVD cho danh sách </i>

hình ảnh tham chiếu thứ hai bằng khơng và do đó khơng được truyền tín hiệu trong dịng bit hay khơng. Khi vector chuyển động được tái tạo đầy đủ, một thao tác cắt cuối cùng đảm bảo rằng các giá trị của mỗi phần tử của vector chuyển động cuối cùng luôn trong khoảng -2<sup>15</sup> tới 2<sup>15</sup>-1

b) Sát nhập khối liên dự đoán

Trong việc nén một hình ảnh hay video, rất hợp lý để triển khai một cơ chế phân vùng hình ảnh theo khối để áp dụng những chế độ dự đoán khác nhau cho các vùng khác nhau của hình ảnh. Đó là vì một mơ hình riêng lẻ thơng thường khơng được dự kiến để có thể nắm bắt các đặc tính linh hoạt của tồn bộ hình ảnh và video. HEVC sử dụng cấu trúc cây tứ phân để mô tả sự phân vùng của một vùng lãnh thổ thành các khối con. Xét về tốc độ bit, có một cấu trúc giá thành rất thấp trong khi cùng thời điểm đó, nó cho phép phân vùng thành các khoảng rộng các khối con có kích thước khác nhau.

Danh sách ứng viên sát nhập được xây dựng dựa trên các ứng viên sau [1]: • Có thể lên tới bốn ứng viên sát nhập không gian được xác định từ năm khối lân cận không gian.

• Một ứng viên sát nhập thời gian được xác định từ hai khối thời gian, đồng vị.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

• Các ứng viên sát nhập bổ sung bao gồm sự kết hợp của các ứng viên dự đốn đơi và các ứng viên vector chuyển động khơng.

<i><b>2.1.2.3. Phép nội suy mẫu phân số </b></i>

Chức năng nội suy phát sinh tự nhiên trong thuộc tính của mã hóa video bởi vì sự chuyển vị thực sự của các đối tượng từ một hình ảnh sang hình ảnh khác là độc lập với lưới lấy mẫu của các máy quay. Do đó, trong MCP, độ chính xác mẫu phân số được sử dụng để bắt các chuyển động liên tục được chính xác hơn. Các mẫu khả dụng tại các vị trí nguyên được lọc để ước lượng giá trị tại các vị trí phân số. Một bộ lọc nội suy lý tưởng cho các tín hiệu có băng tần hạn chế gây ra một trễ pha không đổi tới tồn bộ tần số và khơng làm thay đổi độ lớn của chúng.

H265 hỗ trợ các vector chuyển động với độ chính xác ¼ pixel cho thành phần luma và 1/8 pixel cho thành phần chroma [2]. Nếu vector chuyển động cá độ chính xác ½ hay ¼ pixel, các mẫu tại các vị trí phân số cần được nội suy sử dụng các mẫu tại các vị trí ngun. Q trình nội suy trong HEVC tạo ra một vài cải thiện hơn so với H264, góp phần vào độ tăng hiệu suất mã hóa đáng kể trong HEVC.

Để cải thiện đáp ứng độ lọc trong dải tần cao, các bộ lọc nội suy luma và chroma đã được thiết kế lại và độ dài nút được tăng lên. Quá trình nội suy luma trong HEVC sử dụng một bộ lọc đối xứng 8 nút cho các vị trí bán mẫu và một bộ lọc bất đối xứng 7 nút cho các vị trí phần tư mẫu. Với các mẫu chroma, một bộ lọc 4 nút được sử dụng.

Các giá trị trung gian được sử dụng trong quá trình nội suy được giữ tại một độ chính xác cao trong HEVC để cải thiện hiệu suất mã hóa. Điều đó được thực hiện như sau [1]:

• HEVC nhận các mẫu phần tư pixel bằng cách cần áp dụng trực tiếp một bộ lọc 7 hoặc 8 nút trên các điểm ảnh nguyên.

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

• HEVC giữ các mẫu của mỗi một trong các khối dự đoán đơn tại một độ chính xác cao và chỉ thực hiện làm trịn tới độ sâu bit đầu vào tại giai đoạn cuối cùng, tăng cường hiệu suất mã hóa bằng cách giảm lỗi làm tròn.

<b>2.2. Biến đổi và lượng tử hóa </b>

<i><b>2.2.1. Giới thiệu </b></i>

Trong phương pháp mã hóa video lai theo khối, biến đổi được áp dụng tới tín hiệu phần dư được tạo ra từ mã hóa liên hình ảnh hoặc dự đốn nội hình ảnh. Tại bộ mã hóa, tín hiệu phần dư của một hình ảnh được chia thành các khối vng có kích thước NxN với N = 2<small>M </small>và M là một số nguyên. Mỗi khối phần dư (U) được cho vào một biến đổi thuận hai chiều NxN. Biến đổi hai chiều có thể được thực hiện như là một biến đổi có thể tách rời bằng cách áp dụng một biến đổi một chiều N điểm tới mỗi hàng và mỗi cột một cách riêng biệt.

<i>Các hệ số biến đổi kết quả NxN (coeff) sau đó được lượng tử hóa (cái mà tương </i>

đương việc phân chia bởi kích thước bước lượng tử hóa Qstep và làm trịn kế

<i>tiếp) để nhận được các hệ số biến đổi lượng tử (level). Tại bộ giải mã, các hệ </i>

số biến đổi lượng tử được giải lượng tử (tương đương với việc được nhân bởi

<i>Qstep). Cuối cùng, một biến đổi ngược có thể tách rời hai chiều NxN được áp dụng tới các hệ số biến đổi giải lượng tử (coeff<small>Q</small></i>) dẫn đến một khối phần dư của các mẫu lượng hóa, cái mà sau đó được thêm vào các mẫu nội hoặc liên dự đoán để nhận được khối đã tái tạo.

Thông thường, các ma trận biến đổi thuận và ngược là chuyển vị của nhau và được thiết kế để đạt được cấu trúc gần lossless của khối phần dư đầu vào khi ghép nối mà không gồm các bước lượng tử và giải lượng tử hóa trung gian.

Trong các tiêu chuẩn mã hóa video như HEVC, q trình giải lượng tử hóa và biến đổi ngược được đã được xác định rõ, trong khi quá trình biến đổi thuận và lượng tử hóa được chọn bởi người thực hiện (chịu sự ràng buộc trên dòng bit)

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<i>Hình 2.2. Mã hóa video lai dựa trên khối. (a) Bộ mã hóa, (b) Bộ giải mã. C là ma trận biến đổi và Qstep là kích thước bước lượng tử hóa. </i>

<i><b>2.2.2. Biến đổi trong HEVC </b></i>

Chuẩn HEVC quy định cụ thể các ma trận biến đổi lõi của kích thước 4x4, 8x8, 16x16, và 32x32 để sử dụng cho các biến đổi hai chiều trong thuộc tính của nén video bù chuyển động dựa theo khối. Nhiều kích thước biến đổi sẽ tăng cường hiệu suất nén, nhưng cũng phức tạp hơn khi triển khai. Do đó, một sự thiết kế cẩn thận các biến đổi lõi là cần thiết.

HEVC quy định cụ thể các biến đổi lõi hai chiều mà là phép xấp xỉ chính xác hữu hạn với biến đổi cosine rời rạc ngược (IDCT) cho mọi kích thước biến đổi. Lưu ý rằng do sự xấp xỉ, các biến đổi lõi HEVC không phải IDCT. Thực tế rằng một IDCT không được sử dụng không nhất thiết làm cho các biến đổi lõi HEVC trở nên khơng hồn hảo. Trong thực tế, phép xấp xỉ chính xác hữu hạn lại được mong muốn như sẽ giải thích ở hai đoạn văn bên dưới. Mục đích

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

chính của biến đổi là để giải tương quan khối phần dư đầu vào. Biến đổi giải tương quan tối ưu là biến đổi Karhunen–Loeve và không nhất thiết là DCT. Điều này đặc biệt đúng cho mã hóa các khối phần dư nội dự đoán 4x4 luma nơi mà HEVC quy định cụ thể một biến đổi nguyên 4x4 thay thế dựa trên biến đổi sin rời rạc (DST). Lưu ý rằng chỉ các biến đổi ngược được quy định cụ thể trong chuẩn HEVC và các biến đổi thuận thì khơng. Do đó, một bộ mã hóa có thể nhận thêm các lợi ích hiệu suất mã hóa bổ sung bằng cách sử dụng biến đổi ngược thực tế chứ không phải chuyển vị của biến đổi ngược.

Các biến đổi ngược HM1 có các đặc tính sau [1]:

• Các ma trận giải lượng tử hóa khơng phẳng cho tồn bộ kích thước biến đổi: Trong khi đồng ý cho các kích thước biến đổi nhỏ, chi phí triển khai của việc sử dụng các ma trận giải lượng tử hóa cho các biến đổi lớn hơn là cao vì việc các kích thước khối lớn hơn.

• Các kiến trúc khác nhau cho các kích thước biến đổi khác nhau: điều này dẫn tới việc gia tăng số khu vực do việc chia sẻ phần cứng qua các kích thước biến đổi khác nhau là khó để thực hiện.

• Một bộ đệm đồng vị 20 bit được sử dụng cho việc lưu trữ các kết quả trung gian sau giai đoạn biến đổi đầu tiên trong biến đổi 2D: Một sự gia tăng kích thước bộ đệm chuyển vị dẫn tới bộ nhớ và băng thông bộ nhớ lớn hơn.

• Kiến trúc phần tử đầy đủ yêu cầu các bộ nhân nối tiếp và làm tròn trung gian các biến đổi 16 và 32 điểm: Điều này làm tăng sự phụ thuộc đường dẫn dữ liệu và tác động tới hiệu suất xử lý song song. Nó cũng dẫn tới việc tăng độ rộng bit cho các nhân tử và thanh chứa (32 bit và 64 bit tương ứng trong phần mềm).

Để giải quyết các mối quan tâm về phức tạp của các biến đổi HM1, một phép nhân ma trận dựa trên biến đổi lõi được đề xuất và phù hợp với biến đổi lõi HEVC. Mục tiêu thiết kế là để phát triển một biến đổi mà có hiệu quả trong việc triển khai trong cả phần mềm trong bộ máy SIMD và cả trong phần cứng.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

Các ma trận biến đổi lõi HEVC được thiết kế để có các thuộc tính sau [1] • Gần gũi với IDCT

• Các vectơ cơ sở hầu như trực giao

• Định mứcgần như ngang bằng của tất cả các vector cơ sở • Cùng các thuộc tính đối xứng như các vector cơ sở IDCT

• Các ma trận biến đổi nhỏ hơn được nhúng vào các ma trận biến đổi lớn hơn

• Sự biểu diễn tám bit của các phần tử ma trận biến đổi • Bộ đệm chuyển vị mười sáu bit

• Các nhân tử có thể được biểu diễn sử dụng 16 bit hoặc ít hơn với khơng có các phép nhân nối tiếp hoặc làm trịn trung gian.

• Các thanh chứa có thể được triển khai sử dụng ít hơn 32 bit.

<i><b>2.2.2.1. Biến đổi Cosine rời rạc </b></i>

N hệ số biến đổi v<small>i</small> của một DCT 1D N-điểm được áp dụng tới các mẫu

<i>đầu vào u<small>i</small></i> có thể biểu diễn là

<i>với i, j = 0, …, N-1 và P bằng 1 và √2 cho i = 0 và i > 0, tương ứng. Hơn </i>

nữa, các vector cơ sở c<small>i</small><i> của DCT được xác định là c<small>i</small> = [c<small>i0</small>, …, c<small>i(N-1)</small>]<sup>T</sup> với i = 0, …, N-1. </i>

DCT có một vài thuộc tính mà được xét là có ích với cả hiệu suất nén và hiệu suất triển khai [1]

1. Các vector cơ sở là trực giao, tức là 𝑐<sub>𝑖</sub><small>𝑇</small>𝑐<sub>𝑗</sub><i> = 0 với i ≠ j. </i>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

2. Các vector cơ sở của DCT đã được chứng minh là có thể cung cấp khả năng nén năng lượng tốt cái mà cũng được mong muốn cho hiệu suất nén.

3. Các vector cơ sở của DCT có quy chuẩn ngang bằng, tức là 𝑐<sub>𝑖</sub><small>𝑇</small>𝑐<sub>𝑖</sub><i> = 1 với i = 0, …, N-1. Thuộc tính này dành cho việc đơn giản hóa q trình lượng </i>

tử hóa/giải lượng tử hóa.

<i>4. Cho N = 2<sup>M</sup></i>. Các phần tử của một ma trận DCT có kích thước 2<sup>M</sup>x2<sup>M</sup> là một tập con của các phần tử của một ma trận DCT có kích thước 2<small>M+1</small>x2<small>M+1</small>. Cụ thể, các vector cơ sở của ma trận nhỏ hơn bằng với nửa đầu của các vector cơ sở chẵn của ma trận lớn hơn. Thuộc tính này rất hữu dụng để giảm các chi phí triển khai do các nhân tử có thể được tái sử dụng cho các kích thước biến đổi khác nhau.

5. Ma trận DCT có thể được xác định bằng cách sử dụng một số lượng nhỏ các phần tử đơn nhất. Bằng cách kiểm tra các phần tử c<small>ij</small><i> trong (2.2), ta có </i>

thể chứng minh rằng số lượng các phần tử đơn nhất trong một ma trận DCT kích thước 2<small>M</small>x2<small>M</small> bằng với 2<small>M</small> – 1.

6. Các vector cơ sở chẵn của DCT là đối xứng, trong khi các vector cơ sở lẻ là phản đối xứng. Thuộc tính này rất hữu ích để giảm số lượng các phép toán số học.

7. Các hệ số của một ma trận DCT có các mối quan hệ lượng giác nhất định mà cho phép cho việc làm giảm một số lượng các phép toán số học

<i><b>2.2.2.2. Phép xấp xỉ DCT chính xác hữu hạn </b></i>

Các ma trận biến đổi lõi của HEVC là các phép xấp xỉ chính xác hữu hạn của ma trận DCT. Lợi ích của việc sử dụng độ chính xác hữu hạn trong một tiêu chuẩn mã hóa video là sự xấp xỉ với giá trị thật ma trận DCT được xác định trong tiêu chuẩn chứ không được triển khai phụ thuộc. Một cách đơn giản của việc xác định các phép xấp xỉ nguyên tới các phần tử ma trận DCT là lấy tỉ lệ mỗi phần tử mà trận với một vài số lớn (thường giữa 2<sup>5</sup> và 2<sup>16</sup>) và sau đó làm

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

trịn tới số nguyên gần nhất. Tuy nhiên, phương pháp này chưa chắc tạo ra hiệu suất nén tốt nhất [3].

<i><b>2.2.2.3. Các nguyên tắc thiết kết biến đổi lõi HEVC </b></i>

Các phép xấp xỉ DCT sử dụng cho các biến đổi lõi của HEVC được chọn theo các nguyên tắc sau. Thứ nhất, các thuộc tính 4-6 được thỏa mã mà khơng có bất kì sự bất lợi nào. Lựa chọn này đảm bảo rằng các khía cạnh triển khai thân thiện của DCT được bảo toàn. Thứ hai, các thuộc tính 1-3 và 7, có các sự bù trừ giữa số lượng bit sử dụng cho biểu diễn mỗi phần tử ma trận và mức độ mà theo đó mỗi thuộc tính đều thỏa mãn.

Để đo mức độ xấp xỉ cho các thuộc tính 1-3, các biện pháp sau được xác định cho một phép xấp xỉ DCT N-điểm nguyên với các phần tử ma trận tỉ lệ bằng với d<small>ij</small><i> và các vector cơ sở bằng với d<small>i</small> = [d<small>i0</small>, …, d<small>i(N-1)</small>]<small>T</small> với i = 0, …, N-1 [1]. </i>

<i>1. Biện pháp trực giao: o<small>ij</small> = 𝑑</i><sub>𝑖</sub><sup>𝑇</sup><i>d<small>i</small> / 𝑑</i><sub>0</sub><sup>𝑇</sup><i>d<small>0</small>, i ≠ j 2. Gần gũi với biện pháp DCT: m<small>ij</small> = |𝛼c<small>ij</small> – d<small>ij</small>| / d<small>00</small></i>

<i>3. Biện pháp quy chuẩn: n<small>i</small> = |1 - 𝑑</i><sub>𝑖</sub><sup>𝑇</sup><i>d<small>i</small> / 𝑑</i><sub>0</sub><sup>𝑇</sup><i>d<small>0</small>| </i>

<i>Bảng 2.1. So sánh các phương pháp thiết kế biến đổi </i>

Biến đổi lõi HEVC Lấy tỉ lệ và làm tròn Trực giao <i>o<small>ij</small> < 0.0029 o<small>ij</small> < 0.0037 </i>

Cận DCT <i>m<small>ij</small> < 0.0213 m<small>ij</small> < 0.0077 </i>

Biện pháp quy chuẩn <i>m<small>ij</small> < 0.0014 n<small>ij</small> < 0.0109 </i>

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<i><b>2.2.2.4. Các vector cơ sở của các biến đổi lõi HEVC </b></i>

Ma trận biến đổi ngược của HEVC được xác định như là chuyển vị của ma trận kết quả. Ma trận 32x32 có thể chứa tới 31 số đơn nhất như sau [1]:

𝑑<sub>𝑖,0</sub><sup>32</sup>, i = 1, …, 31 = {90, 90, 90, 89, 88, 87, 85, 83, 82, 80, 78, 75, 73, 70, 67, 64, 61, 57, 54, 50, 46, 43, 38, 36, 31, 25, 22, 18, 13, 9, 4}

𝑑<sub>0,2</sub><sup>32</sup> 𝑑<sub>0,3</sub><sup>32</sup>𝑑<sub>8,2</sub><sup>32</sup> 𝑑<sub>8,3</sub><sup>32</sup>𝑑<sub>16,0</sub><sup>32</sup> 𝑑<sub>16,1</sub><sup>32</sup>

𝑑<sub>24,0</sub><sup>32</sup> 𝑑<sub>24,1</sub><sup>32</sup>

𝑑<sub>16,2</sub><sup>32</sup> 𝑑<sub>16,3</sub><sup>32</sup>𝑑<sub>24,2</sub><sup>32</sup> 𝑑<sub>24,3</sub><sup>32</sup> <sub>]</sub>

<i> = [</i>

64 6483 36

64 64−36 −8364 −64

36 −83

−64 64 83 −36

<i>] </i>

<i>Ma trận biến đổi 8x8 kí hiệu D<small>8</small> và ma trận biến đổi 16x16 kí hiệu D<small>16</small> có </i>

thể tương tự được xác định từ ma trận biến đổi 32x32. Thuộc tính này cho phép các kích thước biến đổi khác nhau được triển khai sử dụng cùng kiến trúc theo cách tạo điều kiện chia sẻ phần cứng

<i><b>2.2.3. Lượng tử và giải lượng tử hóa </b></i>

Lượng tử hóa bao gồm việc phân chia bởi một kích thước bước lượng tử

<i>hóa (Qstep) và làm trịn tiếp theo trong khi lượng tử hóa ngược bao gồm phép </i>

nhân bởi một kích thước bước lượng tử hóa. Tương tự như H264, một tham số

<i>lượng tử hóa (QP) được sử dụng để xác định kích thước bước lượng tử hóa trong HEVC. QP có thể nhận 52 giá trị từ 0 tới 51 cho các chuỗi vido 8 bit. QP </i>

tăng lên 1 có nghĩa là kích thước bước lượng tử hóa tăng xấp xỉ 12% (tức là 2<sup>1/6</sup><i>). Tăng QP lên 6 có nghĩa kích thước bước lượng tử được tăng theo hệ số 2. </i>

Ngoài ra để xác định sự khác biệt tương đối giữa các kích thước bước của hai

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<i>giá trị QP liên tiếp, cũng cần xác định kích thước bước tuyệt đối được gắn với phạm vi các giá trị QP. Điều đó được thực hiện bằng cách chọn Qstep = 1 cho QP = 4. </i>

<i>Mối quan hệ kết quả giữa QP và kích thước bước lượng tử hóa tương </i>

đương cho một biến đổi trực chuẩn được xác định bởi:

HEVC hỗ trợ lượng tử hóa phụ thuộc tần số bằng cách sử dụng các ma

<i>trận lượng tử hóa cho mọi kích thước khối biến đổi. Đặt W[x][y] là kí hiệu </i>

trọng số ma trận lượng tử hoa cho các hệ số biến đổi tại vị trí (x, y) trong một

<i>khối biến đổi. Một giá trị W[x][y] = 1 chỉ định rằng khơng có trọng xố. Biểu diễn điểm cố định của W[x][y] được xác định bởi: </i>

<i>w[x][y] = round(16 x W[x][y]) </i>

<i>với w[x][y] được đại diện bằng cách sử dụng các giá trị 8 bit. </i>

<i>Với một đầu ra bộ lượng tử, level[x][y], bộ giải lượng tử được xác định </i>

trong chuẩn HEVC là:

<i>coeff<small>Q</small>[x][y] = ((level[x][y].w[x][y].(g<small>QP%6</small> << </i><sup>𝑄𝑃</sup>

<small>6</small> <i>)) + offset<small>IQ</small>) >> shift1 (2.7) với shift1 = (M – 5 + B) và offset<small>IQ</small> = 1 << (M – 6 + B). Lưu ý rằng các trọng số ma trận lượng tử hóa w[x][y] điều chỉnh kích thước bước lượng tử hóa </i>

</div>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×