Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)Nghiên cứu tiêu chuẩn nén h.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV) (tt)
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
Nguyễn Đức Thiệp
NGHIÊN CỨU TIÊU CHUẨN NÉN H.264 VÀ ỨNG DỤNG TRONG
TRUYỀN HÌNH CÓ ĐỘ PHÂN GIẢI CAO (HDTV)
CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 60.52.02.08
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI – 2017
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-
Người hướng dẫn khoa học: TS Nguyễn Quý Sỹ
Phản biện 1: PGS.TS Lê Nhật Thăng
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3LỜI MỞ ĐẦU
Trong kỹ thuật truyền hình, việc nén Video là một vấn đề quan trọng cho việc truyền tải các chương trình truyền hình Những Video này thường là những dữ liệu có dung lượng rất lớn, với truyền hình có độ phân giải cao (HDTV) không nén sẽ tiêu thụ khoảng 1,5 Gb/s đến 2Gb/s băng thông, như vậy để truyền tải được là rất khó Với chuẩn H.264/MPEG-4 AVC hiện nay, các nhà cung cấp nội dung có thể mã hóa video HD (High Definition) full
HD với dung lượng chỉ còn từ 5Mb/s đến 10Mb/s, tùy thuộc vào độ phân giải, chất lượng yêu cầu và phương thức mã hóa Do vậy các chuẩn nén video ra đời nhằm loại bỏ những dữ liệu dư thừa mà vẫn đảm bảo chất lượng Tiêu chuẩn mã hóa (nén) H.264 là một chuẩn tiên tiến, nó đã tạo ra sự đột phá, cho phép nén video một cách tốt hơn đồng thời cải thiện được chất lượng so với các tiêu chuẩn nén trước đó
Với mong muốn đóng góp thêm nghiên cứu về tiêu chuẩn nén H.264 và ứng dụng của H.264, người viết đã lựa chọn đề tài “Nghiên cứu tiêu chuẩn nén H.264 và ứng dụng trong truyền hình có độ phân giải cao (HDTV)” Luận văn của em gồm 3 chương:
Chương 1: Nghiên cứu về cơ sở lý thuyết của số hóa tín hiệu và nén video số
Chương 2: Nghiên cứu tiêu chuẩn nén H.264/AVC
Chương 3: Ứng dụng tiêu chuẩn nén H.264/AVC trong truyền hình có độ phân giải cao HDTV
CHƯƠNG 1: NGHIÊN CỨU VỀ CƠ SỞ LÝ THUYẾT CỦA
SỐ HÓA TÍN HIỆU VIDEO VÀ NÉN VIDEO SỐ
Trang 41.1 Mục đích của nén tín hiệu
Với sự phát triển của khoa học kỹ thuật, ngày nay đã sản xuất được bộ cảm biến màu
có độ phân giải lên đến 16 triệu pixel tương đương với một bức ảnh có độ phân giải 4096x4096 pixels, nhưng thực tế ứng dụng cần độ phân giải cao nhất hiện nay cũng chỉ dùng lại ở 1920x1080 pixel, do đó để có thể tiết kiệm không gian lưu trữ và băng thông kênh truyền thì cần nén tín hiệu
1.2 Quá trính số hóa tín hiệu
Quá trình số hoá tín hiệu tương tự, bao gồm quá trình lọc trước (prefiltering), lấy mẫu, lượng tử và mã hoá Quá trình lọc trước nhằm loại bỏ các tần số không cần thiết ở tín hiệu cũng như nhiễu, bộ lọc này còn gọi là bộ lọc chống nhiễu xuyên kênh Aliasing
1.3 Tốc độ bít và thông lƣợng kênh truyền tín hiệu số
1.3.1 Tốc độ bit
Là số lượng bit được truyền đi hay lưu trữ trong một đơn vị thời gian
C = f s * n (bit/s)
1.3.2 Thông lượng kênh truyền tín hiệu số:
Là tốc độ số liệu cực đại có thể truyền được trên kênh truyền có độ rộng băng tần B
C = B.log2(1 + S
N ) (bps)
1.4 Quá trình biến đổi tín hiệu màu
Một bức ảnh được chuyển từ RGB sang YUV nhằm giảm dung lượng lưu trữ cũng như truyền đi, trong quá trình giải mã, trước khi hiển thị ảnh thì nó được biến đổi ngược lại thành RGB
1.5 Các tiêu chuẩn lấy mẫu video tín hiệu số
+ Tiêu chuẩn 4:4:4
+ Tiêu chuẩn 4:2:2
+ Tiêu chuẩn 4:2:0
+ Tiêu chuẩn 4:1:1
1.6 Mô hình nén tín hiệu Video
Trang 5Hình 1.1: Sơ đồ khối nén tín hiệu video
1.6.1 Nén tín hiệu Video:
Tín hiệu video có dải phổ nằm trong khoảng 0 -> 6Mhz, do thành phần tần số cao chỉ xuất hiện ở các đường viền của hình ảnh nên năng lượng phổ rất ít tập trung ở miền tần số cao mà chủ yếu tập trung ở miền tần số thấp Điều đó có nghĩa là số lượng bit ở miền tần số thấp sẽ nhiều hơn ở miền tần số cao Trong các hệ thống nén, tỉ số nén chính là tham số quan trọng đánh giá khả năng nén của hệ thống, ta gọi n1, n2 là số lượng bit của tín hiệu trước và sau khi nén nên ta có công thức như sau:
Tỷ số nén sẽ là Nb =
2 1
n n
1.6.2 Lượng tin trung bình
Thông tin được ký hiệu là ai và có xác suất p(ai) thì lượng tin được xác định theo công thức sau:
I(ai) = log2[ 1
( )i
p a ] = -log2 p(ai) Gọi lượng tin trung bình của hình ảnh là H(X) và được tính bằng công thức sau:
1.7 Phân loại kĩ thuật nén
Nén video được chia thành hai họ lớn: Nén không tổn hao và nén tổn hao
+ Nén không tổn hao là quy trình biểu diễn các ký hiệu trong dòng bit nguồn thành dòng các
từ mã sao cho ảnh được khôi phục hoàn toàn giống ảnh gốc, các thuật toán chỉ phụ thuộc vào cách thống kê nội dung dữ liệu và thường dựa trên việc thay thế một nhóm các ký tự trùng lặp bởi một nhóm các ký tự đặc biệt khác ngắn hơn mà không quan tâm đến ý nghĩa
Trang 6của dòng bit dữ liệu, nên đòi hỏi phải có thiết bị lưu trữ và đường truyền lớn hơn
+ Nén có tổn hao: là ảnh được khôi phục không hoàn toàn giống ảnh gốc, dạng nén này thích hợp cho việc lưu trữ và truyền ảnh tĩnh, ảnh video qua một mạng có băng thông hạn chế Các dạng nén này thường có hệ số nén cao hơn từ 2:1 đến 100:1
1.8 Quá trình biến đổi
Một số phép biến đổi phổ biến hiện nay như:
1.8.1 Điều xung mã vi sai DPCM
Các phương pháp nén dùng DPCM dựa trên nguyên tắc phát hiện sự giống nhau và khác nhau giữa các điểm ảnh gần nhau để loại bỏ các thông tin dư thừa Trong DPCM chỉ
có phần khác nhau giữa mẫu-mẫu được truyền đi, sự khác nhau này được cộng vào giá trị mẫu đã giải mã hiện hành ở phía giải mã để tạo ra giá trị mẫu phục hồi
1.8.2 Mã hóa biến đổi
Nhằm biến đổi các hệ số trong miền thời gian (video số), không gian 2D (bức ảnh tĩnh) thành các hệ số trong miền tần số Các hệ số này ít tương quan hơn có phổ năng lượng tập trung hơn, thuận tiện cho việc loại bỏ thông tin dư thừa
- Biến đổi cosin rời rạc DCT
- Biến đổi Hadamard
1.9 Quá trình lƣợng tử
Sau khi thực hiện biến đối DCT, các hệ số sẽ được lượng tử hoá dựa trên một bảng lượng tử Q(u,v) với 0≤u, v≤ n-1, n là kích thước khối Có 2 loại lượng tử hóa chủ yếu:
1.9.1 Lượng tử vô hướng
Lượng tử từng giá trị một cách độc lập hay nói cách khác là ánh xạ một mẫu của tín hiệu ngõ vào tạo thành một hệ số lượng tử ở ngõ ra Đây là một quá trình tổn hao vì khi giải lượng tử, không thể xác định chính xác giá trị gốc từ số nguyên đã được làm tròn
1.9.2 Lượng tử vector
Là một quá trình biểu diễn một tập vector (mỗi vector gồm nhiều giá trị) bằng một tập các số hữu hạn các ký hiệu ở ngõ ra, bảng mã ánh xạ sẽ có các giá trị xấp xỉ với giá trị gốc
1.10 Quá trình mã hóa
Bộ mã hóa có chức năng loại bỏ độ dư thừa trong các ký tự ở ngõ ra lượng tử hóa và ánh xạ các ký tự này thành các từ mã tạo thành dòng bit ở ngõ ra bằng các loại mã hóa như:
Trang 7mã hóa dự đoán, mã hóa VLC, mã hóa số học nhị phân, mã hóa theo hình dạng…
Mã hóa độ dài thay đổi: Kỹ thuật mã hóa độ dài thay đổi VLC dựa trên xác suất
các giá trị biên độ giống nhau trong một ảnh để lựa chọn các từ mã để mã hoá Các loại mã hóa VLC cơ bản như: mã hóa Huffman, mã hoá RLC, mã hóa ExpGolomb…
1.11 Tiêu chuẩn đánh giá chất lượng ảnh nén
Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra của bộ mã hoá, người ta thường sử dụng các tham số truyền thống sau để đánh giá:
+ Sai số bình phương trung bình
+ Tỉ số tín hiệu trên nhiễu đỉnh
+ Sai số tuyệt đối trung bình
+ Tổng của các sai số tuyệt đối
1.12 Kết luận chương 1
Chương 1 đã phân tích các cơ sở lý thuyết về kĩ thuật nén tín hiệu, số hóa tín hiệu, quá trình biến đổi tín hiệu màu, phân loại các nguyên lý nén, các kỹ thuật được sử dụng trong nén Video, các phép biến đổi và các kỹ thuật mã hóa, … Để hiểu rõ hơn về các công nghệ nén tín hiệu video và quá trình phát triển của các chuẩn nén qua các thời kì, Chương 2
sẽ trình bày khái quát về các chuẩn nén MPEG nói chung và đi sâu chi tiết về chuẩn nén H.264/AVC
CHƯƠNG 2: NGHIÊN CỨU TIÊU CHUẨN NÉN H.264/AVC
2.1 Tổng quan về các chuẩn video
Hiện nay trên thế giới có hai tổ chức chịu trách nhiệm chính trong việc đưa ra các chuẩn về nén và giải nén video đó là ITU và ISO
- Tổ chức ITU – International Telecommunications Union chuyên tập trung vào các ứng dụng truyền thông với dòng video chuẩn H.26x, với dung lượng lưu trữ nhỏ và hiệu quả
Trang 8cao trong việc truyền tải trên mạng Dòng H.26x bao gồm các chuẩn H.261, H.262, H.263, H.264[15]
- Tổ chức ISO – International Standards Organization đưa ra dòng MPEG chủ yếu tập trung phát triển các ứng dụng đa người dùng (phim, video, ) Dòng MPEG bao gồm các chuẩn MPEG-1, MPEG-2, MPEG4
Hai tổ chức này cùng nhau lập nên nhóm JVT – Joint Video Team để đưa ra chuẩn H.264 (tổ chức ISO gọi chuẩn này là MPEG-4 Part 10) H.264 được xem là dòng nén video thế hệ thứ 3
Hình 2.1: Quá trình phát triển các dòng video H.26x và MPEG
2.2 Cấu trúc H.264
2.2.1 Không gian màu YCrCb và kiểu lấy mẫu 4:2:0
Trong H.264/AVC không gian màu YCrCb chia một màu hiển thị thành 3 thành phần
Y, Cr, và Cb Trong đó, Y được gọi là thành phần luma – đại diện cho độ sáng của hình ảnh
Cb và Cr là các thành phần chroma - đại diện cho thông tin màu xanh và màu đỏ của hình ảnh
Bởi vì mắt người ít nhạy cảm đối với chroma hơn luma, H.264 sử dụng cấu trúc lấy mẫu: thành phần chroma có số điểm ảnh chỉ bằng ¼ so với số điểm ảnh của thành phần luma Đây là kiểu lấy mẫu 4:2:0
2.2.2 Macroblock
Một ảnh khi xử lý được chia thành nhiều macroblock Mỗi macroblock ứng với vùng ảnh gồm 16x16 điểm ảnh trong một ảnh Macroblock là đơn vị xử lý cơ bản cho dự đoán bù chuyển động trong một số chuẩn nén video thông dụng như MPEG-1, MPEG-2, MPEG-4, H.261, H.263 và H.264 Chuẩn H.264 thực hiện lấy mẫu theo định dạng 4:2:0 Vì thế, một
Trang 9macroblock 16x16 điểm ảnh sẽ bao gồm bởi 256 thành phần luma Y, 64 thành phần chroma màu xanh và 64 thành phần chroma màu đỏ Cr
Bảng 2.1: Các loại slice mã hóa trong H.264
2.2.4 Profile
Chuẩn H.264 bao gồm 3 profile Mỗi profile hỗ trợ một tập các chức năng và công cụ
mã hóa xác định cho bộ nén và bộ giải nén nhằm để tạo ra luồng bit nén ứng với profile đó
• Profile cơ bản (Baseline Profile): Hỗ trợ mã hóa Inter và mã hóa Intra (dùng các
được dự đoán từ các dữ liệu đã được mã hóa trong cùng slice)
Tất cả
hoặc phần chia macroblock được dự đoán từ danh sách ảnh tham chiếu list 0 và /hoặc từ các macroblock I)
Tất cả
B (Bi-predictive ) Chứa các macroblock B (mỗi macroblock
hoặc phần chia macroblock được dự đoán từ danh sách ảnh tham chiếu list 0 và/hoặc list 1 và/hoặc các maroblock I)
Profile chính
và mở rộng
SP (Switching P) Chứa các macroblock kiểu I và/hoặc P, cung
cấp khả năng chuyển đổi dễ dàng giữa những luồng bit được mã hóa
Profile mở rộng
SI (Switching I) Chứa các macroblock SI (loại maroblock đặc
biệt trong mã hóa Intra), cung cấp khả năng chuyển đổi dễ dàng giữa những luồng bit được mã hóa
Profile mở rộng
Trang 10slice I và slice P), nén entropy sử dụng thuật toán mã hóa chiều dài thay đổi ứng ngữ cảnh CAVLC Các ứng dụng của profile này là trong điện thoại video, hội nghị trực tuyến và các
hệ thống truyền thông không dây
• Profile chính (Main Profile): Ngoài các slice I, P được mã hóa, profile này còn mã hóa video dùng các slice B Mã hóa entropy dùng thuật toán mã hóa số học ứng ngữ cảnh (CABAC) Profile chính được ứng dụng cho các hệ thống broadcast như truyền hình kỹ thuật số, các hệ thống lưu trữ dữ liệu
• Profile mở rộng (Extended Profile): Ngoài các kỹ thuật sử dụng trong profile cơ bản
và một phần của profile chính, profile mở rộng còn sử dụng thêm các slice SI và SP trong
và tái xây dựng Còn trong quá trình dự đoán Inter thì P được tính từ dự đoán sự bù chuyển động của một hoặc hai ảnh được chọn từ những ảnh tham chiếu trong list 0 hoặc list 1 Block dự đoán P được trừ với block hiện tại để cho ra block Dn chỉ sự khác nhau giữa hai block Sau đó, block Dn được biến đổi T (thường là DCT) và rồi lượng tử hóa Q kết quả cho
ra X
Hình 2.2: Quá trình nén H.264/AVC
Kết quả của quá trình tái cấu trúc và mã hóa entropy X, cùng với những thông tin cần
Trang 11cho quá trình giải mã mỗi block như tham số lượng tử , thông tin vector chuyển động, … được chuyển thành luồng dữ liệu NAL cho việc truyền tải hoặc lưu trữ
Song song với quá trình tái cấu trúc và mã hóa entropy X, thì những hệ số X được lượng tử hóa ngược Q-1 và biến đổi ngược T-1 rồi cho ra block D‟n Block dự đoán P được cộng với D‟n để tạo ra block tái cấu trúc uF‟n Một bộ lọc được áp dụng lên block uF‟n để làm giảm nhiễu và được kết quả F‟n
2.3.1.1 Dự đoán
2.3.1.1.1 Dự đoán Inter
Dự đoán Inter hay dự đoán bù chuyển động (Motion Compensation Prediction) là dạng dự đoán được sử dụng thông dụng trong H.264 Dự đoán Inter lợi dụng thực tế rằng dữ liệu các điểm ảnh của ảnh hiện tại cần được mã hóa có tính tương đồng cao với dữ liệu của các ảnh đã được mã hóa trước đó
Dự đoán Inter bao gồm 3 quy trình chính: quản lý danh sách ảnh tham chiếu, tính toán các vector chuyển động và nội suy các giá trị sub-sample
Quản lý danh sách ảnh tham chiếu
Mỗi bộ nén và bộ giải nén quản lý danh sách gồm các ảnh tham chiếu nhằm phục vụ cho dự đoán bù chuyển động tại các macroblock được mã hóa Inter trong các slice P Danh sách List 0 chứa các ảnh đã được giải nén, các ảnh này có thể trước hoặc sau ảnh hiện tại theo thứ tự hiển thị Có hai loại ảnh khác nhau được lưu trong danh sách ảnh tham chiếu bao gồm:
• Ảnh ngắn hạn (shortterm picture): ảnh vừa được thực hiện quá trình nén và tái xây dựng trong bộ giải nén Ảnh được xác định bởi số khung ảnh
• Ảnh dài hạn (longterm picture): ảnh được lưu lâu hơn trong bộ nhớ ảnh tham chiếu Ảnh dài hạn được lưu trong danh sách các ảnh tham chiếu cho đến khi được thay thế hoặc loại bỏ Ảnh được xác định bởi giá trị longtermpicnum
Vector chuyển động
Mỗi maroblock partition hoặc sub-macroblock partition của một macroblock mã hóa Inter được dự đoán từ vùng ảnh có cùng kích thước trong ảnh tham chiếu Vector chuyển động thể hiện sự dịch chuyển giữa hai vùng ảnh, hiện tại và tham chiếu, có vị trí các tọa độ bằng 1/4 khoảng cách hai pixel ứng với thành phần luma và bằng 1/8 ứng với các thành phần chroma (Cr và Cb) Tuy nhiên, các điểm ảnh tại các vị trí này không tồn tại trong ảnh tham chiếu nên cần phải tính bằng phép nội suy từ các điểm ảnh lân cận đã được mã hóa
Trang 12trong ảnh tham chiếu
Phép nội suy các vị trí sub-sample trong ảnh tham chiếu
Hình 2.3: Nội suy các điểm ảnh tại các vị trí half-pixel trong ảnh tham chiếu[17]
Các điểm ảnh half-pixel (điểm ảnh giữa 2 điểm ảnh có vị trí nguyên trong ảnh tham chiếu) sẽ được nội suy trước Mỗi điểm ảnh half-pixel nằm liền kề với 2 điểm ảnh có vị trí nguyên (ví dụ b, h, m, s trong hình 2.3 sẽ được nội suy từ các điểm ảnh vị trí nguyên này bằng cách sử dụng bộ lọc FIR gồm 6 hệ số (Finite Impulse Response) với giá trị các hệ số là (1/32,−5/32, 5/8, 5/8,−5/32, 1/32)
Chẳng hạn, half-pixel b được tính từ 6 giá trị theo chiều ngang ứng với 6 pixel E, F,
G, H, I, J theo công thức sau:
b = round((E − 5F + 20G + 20H − 5I + J) /32) Tương tự, h được nội suy từ các điểm ảnh A, C, G, M, R, T Khi tất cả các điểm ảnh half-pixel kề với các điểm ảnh có vị trí nguyên đã được tính hết, vị trí half-pixel còn lại được tính bằng cách nội suy từ 6 vị trí halfpixel đã được tính theo chiều ngang hoặc chiều thẳng đứng so với vị trí half-pixel còn lại này
2.3.1.1.2 Dự đoán Intra
Trong quá trình nén các ảnh, dự báo Inter không phải lúc nào cũng được sử dụng Đặc biệt, đối với các cảnh chuyển trong một đoạn phim, khi ảnh đầu tiên của cảnh mới không có hoặc có rất ít độ tương đồng so với các ảnh truớc đó Lúc đó, dự đoán Intra cho ảnh này sẽ được bộ nén sử dụng