Đăng ký Đăng nhập
Trang chủ 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 ca...

Tài liệu 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)

.PDF
25
35
96

Mô tả:

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)
HỌ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 Luậ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 Phản biện 2: TS Phạm Mạnh Lâm Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: 8 giờ 00 ngày 05 tháng 08 năm 2017 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 2 LỜ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Ố 3 1.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 = fs * 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 ) (bps) N 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 4 Hì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 = n1 n2 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 ] = -log2 p(ai) 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: N H(X) =  p(ai) * log2[ 1 N 1 ] = -  p(ai) * log2 p(ai) p (ai ) 1 Xác suất phân bố càng nhiều thì lượng tin trung bình entropy càng nhỏ. Entropy đạt giá trị cực đại đối với phân bố đều, do đó nếu một ký hiệu có xác suất lớn sẽ có số Entropy nhỏ. 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 5 củ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ư: 6 mã 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ả 7 cao 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 8 macroblock 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. 2.2.3 Slice Ảnh khi mã hóa được chia thành một hoặc nhiều slice. Một slice có thể chứa một hoặc nhiều macroblock. Có 5 loại slice và một ảnh có thể chứa nhiều loại slice khác nhau. Các ảnh được mã hóa của profile cơ bản chứa các slice loại P và I, các ảnh được mã hóa của profile chính và profile mở rộng có thể chứa tập các slice kiểu I, P, B, SI và SP. Bảng 2.1: Các loại slice mã hóa trong H.264 Loại Slice I (Intra) Mô tả Chứa các macroblock I (mỗi macroblock Profile hỗ trợ Tất cả được dự đoán từ các dữ liệu đã được mã hóa trong cùng slice). P (Predicted) Chứa các macroblock P (mỗi macroblock 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). B (Bi-predictive ) Chứa các macroblock B (mỗi macroblock Profile chính hoặc phần chia macroblock được dự đoán từ và mở rộng danh sách ảnh tham chiếu list 0 và/hoặc list 1 và/hoặc các maroblock I). SP (Switching P) Chứa các macroblock kiểu I và/hoặc P, cung Profile mở cấp khả năng chuyển đổi dễ dàng giữa những rộng luồng bit được mã hóa. Chứa các macroblock SI (loại maroblock đặc Profile mở biệt trong mã hóa Intra), cung cấp khả năng SI (Switching I) rộng chuyển đổi dễ dàng giữa những luồng bit được mã hóa. 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 9 slice 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 mã hóa ảnh. 2.3 Qui trình nén và giải nén của H.264 2.3.1 Quy trình nén Một Frame Fn được chia thành các marcroblock. Với mỗi block trong một macroblock được đưa vào quá trình dự đoán Inter hoặc Intra và kết quả ra là một block dự đoán P. Trong quá trình dự đoán Intra, P được tính từ slice hiện tại đã được mã hóa, giải mã 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 10 cho 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 11 trong ả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. 12 Trong dự đoán Intra, block dự doán P được tạo thành dựa trên các block đã được mã hóa trước đó trong cùng 1 ảnh. Block khác biệt có được bằng cách trừ block hiện tại cho block dự đoán P. Block khác biệt sẽ thực hiện quá trình biến đổi, lượng tử và nén entropy (hình 2.4). Hình 2.4: Mô hình dự báo Intra Đối với thành phần luma, block dự đoán P được có thể gồm 4x4 điểm ảnh (Intra 4x4) hoặc 16x16 điểm ảnh (Intra 16x16). Trong một ảnh, dự đoán Intra 4x4 được dùng cho các vùng ảnh có nhiều chi tiết thay đổi, còn Intra 16x16 dùng cho các vùng ảnh có tính tương đồng cao. 2.3.1.2 Biến đổi và lượng tử hóa Quá trình biến đổi DCT được thực hiện với từng block trong macroblock và thu được một tập các hệ số biến đổi. Các hệ số này sẽ được lượng tử hóa bằng nhiều phương pháp khác nhau, chẳng hạn như mỗi hệ số sẽ được chia bởi một giá trị nguyên, … Quá trình lượng tử sẽ làm giảm độ chính xác của các hệ số biến đổi với các mức độ khác nhau. Nếu giá trị lượng tử cao thì cũng đồng nghĩa với việc xuất hiện nhiều hệ số biến đổi có giá trị 0. Điều này sẽ làm tăng hiệu suất nén ảnh nhưng bù lại chất lượng ảnh sau khi được giải nén sẽ giảm và ngược lại. Thông thường sau quá trình lượng tử, hầu hết các hệ số có giá trị là 0, một vài hệ số khác 0. Biến đổi DCT và lượng tử vô hướng Biến đổi này áp dụng cho block X gồm NxN điểm ảnh (thông thường là phần dữ liệu khác biệt sau quá trình dự đoán). Sau quá trình biến đổi sẽ tạo ra block Y gồm NxN các hệ số biến đổi. Quá trình biến đổi xuôi FDCT và biến đổi DCT ngược (Inverse DCT) có thể được biểu diễn dựa theo ma trận biến đổi A như sau. • Biến đổi xuôi FDCT (Forward DCT) của block gồm NxN điểm ảnh như sau: 13 Y = AXAT • Biến đổi DCT ngược (Inverse DCT): X = ATYA Lượng tử hóa: là quá trình biến đổi một tập các giá trị của tín hiệu X thành tập các giá trị của tín hiệu Y thay thế cho X sao cho số bit cần dùng để biểu diễn cho Y ít hơn X. Có 2 loại lượng tử: lượng tử vô hướng và lượng tử vector. 2.3.1.3 Tái sắp xếp Trong bộ nén, mỗi block 4x4 của các hệ số biến đổi được lượng tử sẽ được ánh xạ thành một mảng gồm 16 phần tử theo thứ tự zig-zag. 2.3.1.4 Mã hóa luồng bit nén hay mã hóa Entropy Trong quá trình nén video, một số giá trị phải được mã hóa để tạo thành luồng bit nén để lưu trữ hoặc truyền dẫn nhằm phục vụ cho bộ giải nén. Có 3 loại mã hóa entropy được sử dụng trong H.264 đó là mã hóa Exp-Golomb, mã hóa CAVLC, và mã hóa CABAC. Mã hóa Entropy Exp-Golomb: Mã hóa Exp-Golomb được dùng để nén hầu như các thành phần dữ liệu của luồng video cần mã hóa ngoại trừ phần dữ liệu của block khác biệt. Mã hóa chiều dài thay đổi ứng ngữ cảnh CAVLC CAVLC (Context-based Adaptive Variable Length Coding): mã hóa chiều dài thay đổi ứng ngữ cảnh. Đây là một dạng mã hóa entropy mà bảng từ mã (codeword table) áp dụng cho block hiện tại cần mã hóa sẽ có chiều dài thay đổi dựa vào các phần dữ liệu đã được mã hóa trước đó (các block lân cận đã được mã hóa). CAVLC là phương pháp mã hóa entropy của profile cơ bản của H.264. Nó được dùng để mã hóa các block khác biệt 4x4 hoặc 2x2 gồm các hệ số đã lượng tử sau khi block được tái sắp xếp. Mã hóa nhị phân số học ứng ngữ cảnh CABAC CABAC (Context-based Adaptive Binary Arithmetic Coding): mã hóa nhị phân số học ứng ngữ cảnh. Giống như CAVLC, CABAC sẽ mã hóa phần dữ liệu hiện tại dựa trên phần dữ liệu trước đó đã được mã hóa trong các block lân cận. CABAC đạt được tỉ lệ nén tốt dựa vào việc lựa chọn mô hình thích hợp cho mỗi dữ liệu cần mã hóa theo ngữ cảnh của nó và sự ước lượng hợp lý dựa trên các thống kê cục bộ và dùng mã hóa số học (arithmetic coding) thay cho mã hóa chiều dài thay đổi (variable-length coding) như trong CAVLC. CABAC dùng mã hóa số học có nghĩa là chỉ có 2 giá trị nhị phân (0 và 1) được mã hóa. Nếu một giá trị không phải là nhị phân (chẳng hạn các hệ số biến đổi, các vector chuyển động) 14 thì sẽ được „nhị phân hóa‟ để chuyển thành dạng nhị phân trước khi dùng mã hóa số học. Mã hóa CABAC được dùng trong profile chính. 2.3.1.5 Lọc tách khối Lọc được thực hiện với mỗi macroblock sau khi được giải nén để làm mờ đi những cạnh giữa các block và cung cấp khả năng hiển thị hình ảnh sau khi giải nén tốt hơn. Đây là một cải tiến của H.264 so với các chuẩn nén video trước. Tại bộ nén, lọc tách khối được thực hiện cho các macroblock trước quá trình lưu trữ macroblock đó làm tham chiếu cho các dự đoán sau này. Các maroblock sau khi lọc có thể được sử dụng cho việc dự doán bù chuyển động cho các ảnh tương lai. Tại bộ giải nén, lọc được thực hiện trước khi macroblock được tái xây dựng và hiển thị. Hình 2.5: Thứ tự lọc các cạnh của thành phần luma và chroma trong 1 macroblock 2.3.2 Quy trình giải nén Hình 2.6: Quy trình giải nén video của chuẩn H.264/AVC 15 Bộ giải nén nhận luồng bit nén được truyền dẫn bởi bộ nén, thực hiện giải nén entropy và tái sắp xếp các thành phần dữ liệu để tạo tập các hệ số biến đổi đã lượng tử X. Sau đó, tập hệ số X này sẽ được lượng tử ngược và biến đổi ngược để tạo block khác biệt D‟n. Bộ giải nén dùng các thông tin có được từ việc giải nén luồng bit để tạo một block dự đoán P bằng một trong hai phương pháp dự đoán (Inter hoặc Intra), block này sẽ giống với block dự đoán được tạo ra trong bộ nén. Block P sẽ cộng với block khác biệt D‟n để tạo thành block uF‟n. Block uF‟n sẽ được lọc tách khối để tạo thành block F‟n đã lọc để có thể được dùng cho việc hiển thị. 2.3.2.1 Giải mã luồng bit nén Bộ giải nén sẽ nhận luồng bit nén H.264, tiến hành giải nén các thành phần dữ liệu, tái tạo lại các thông tin đã được nén bởi bộ nén như các hệ số biến đổi được lượng tử, thông tin dự đoán,... Sau đó thông tin này được được dùng để thực hiện lại quá trình biến đổi và lượng tử ngược nhằm tái xây dựng lại chuỗi gồm các ảnh video. 2.3.2.2 Rescaling và biến đổi ngược Các hệ số biến đổi đã lượng tử sẽ được re-scaled. (mỗi hệ số được nhân với một giá trị nguyên để phục hồi lại giá trị ban đầu của nó). 2.3.2.3 Tái xây dựng Với mỗi macroblock, bộ giải nén tạo một block P giống với block được tạo bởi bộ nén. Bộ giải nén sẽ cộng block này với phần block khác biệt được tạo thành trong quá trình giải nén để tái xây dựng block. Sau đó, các block này được lọc và có thể được dùng để hiển thị như một phần của ảnh video. 2.4 Những ƣu điểm của chuẩn nén H.264 so với các chuẩn trƣớc đó. • Ƣu điểm của nén không gian: Chuẩn nén H.264 có hai cải tiến mới trong lĩnh vực nén không gian. Trước hết, bộ lập mã này có thể tiến hành nén không gian tại các macroblock 16x16 điểm ảnh thay vì các block 8x8 như trước đây. Điều này giúp tăng cường đáng kể khả năng nén không gian đối với các hình ảnh có chứa nhiều khoảng lớn các điểm ảnh giống nhau. Thứ hai là thao tác nén được tiến hành trong miền không gian trước khi công đoạn DCT diễn ra. Chuẩn nén H.264 so sánh macroblock hiện thời với các macroblock kế bên trong cùng một khung, tính toán độ chênh lệch, và sau đó sẽ chỉ gởi đoạn chênh lệch tới DCT. Điều này giúp cải thiện khả năng nén ảnh chi tiết. 16 • Ƣu điểm của nén thời gian: Điểm cải tiến lớn nhất ở H2.64 là chế độ mã hoá giữa. Những phương pháp tiên tiến ở chế độ này khiến cho nén thời gian đạt đến một cấp độ cao hơn nhiều, cùng với chất lượng chuyển động tốt hơn so với các chuẩn MPEG trước đây. • Kích cỡ khối: Ở chế độ giữa khối, MPEG-2 chỉ hỗ trợ các macroblock 16x16 điểm ảnh, không đủ độ phân giải để mã hoá chính xác các chuyển động phức tạp hoặc phi tuyến tính, ví dụ như phóng hay to thu nhỏ. Ngược lại, H.264 lại tăng cường hiệu chỉnh chuyển động bằng cách cho phép bộ lập mã biến đổi kích cỡ thành phần chói của mỗi macroblock. Việc phân chia các macroblock cho phép bộ lập mã xử lý được một vài loại chuyển động tuỳ theo độ phức tạp của chuyển động đó cũng như nguồn lực về tốc độ bit. Nhìn chung, kích cỡ phân chia lớn phù hợp với việc xử lý chuyển động tại các khu vực giống nhau trong ảnh, trong khi đó kích cỡ phân chia nhỏ lại rất có ích khi xử lý chuyển động tại các chỗ có nhiều chi tiết hơn. Kết quả là chất lượng hình ảnh cao hơn, ít bị vỡ khối hơn. + Độ chính xác trong hiệu chỉnh chuyển động + Chọn nhiều hình tham chiếu + Giải khối tích hợp • Ƣu điểm về lƣợng tử hóa và biến đổi: Chấm di động 8x8 DCT cùng với dung sai của lỗi làm tròn chính là phần cốt lõi của các chuẩn MPEG trước đây. H.264 độc đáo hơn ở chỗ nó sử dụng biến đổi không gian nguyên (gần giống như DCT) đối với các khối 4x4 điểm ảnh. Kích cỡ nhỏ giúp giảm bớt hiện tượng “kết khối”, trong khi thông số nguyên tuyệt đối giúp loại bỏ nguy cơ không thích ứng giữa bộ lập mã và giải mã trong phép biến đổi ngược. • Ƣu điểm đối với má hóa entropy: Sau khi tiến hành hiệu chỉnh, biến đổi và lượng tử hoá chuyển động, các bộ lập mã MPEG trước đây sẽ vạch ra các symbol biểu diễn vector chuyển động và hệ số đã lượng tử hoá thành các bit thực sự. Ví dụ như chuẩn nén MPEG-2 sử dụng phương pháp mã có chiều dài biến thiên tĩnh (VLC-Variable-length code) không thể tối ưu hoá trong môi trường video thời gian thực (trong đó nội dung và các cảnh biến đổi theo thời gian). Chuẩn nén H.264 sử dụng mã hoá thuật toán nhị phân theo tình huống CABAC (Context-Adaptive Binary Arithmetic Coding). Hiệu suất mã hoá của CABAC cao hơn hẳn nhờ khả năng thích nghi với các thay đổi có thể xảy ra trong phân bổ symbol. 17 2.5 Kết luận chƣơng 2 Chương 2 đi vào chi tiết chuẩn mã hóa H.264 như: Cấu trúc bộ codec H.264 (bộ mã hóa và giải mã hóa), cấu trúc dữ liệu trong H.264, các profile của H.264 và một số kỹ thuật trong H.264, những ưu điểm của chuẩn nén H.264 so với các chuẩn mã hóa video trước đó. 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 3.1 Các thông số kỹ thuật cơ bản đặc trƣng cho hệ thống Truyền hình độ phân giải cao HDTV 3.1.1 Khái niệm Truyền hình HDTV HDTV là viết tắt của chữ High Definition Television (truyền hình có độ nét cao), so với SDTV độ phân giải cuả màn hình được tạo từ 720x480 hay 768x576 tạo ra trên dưới 400.000 pixel còn HDTV độ phân giải của màn hình được taọ ra từ 1280x720 gần 1 triệu pixel (Ready HD) hay 1920x1080 hơn 2 triệu pixel (Full HD) vậy độ phân giải của HDTV gấp từ 2,5 đến 5 lần SDTV. Vì thế HDTV thể hiện hình ảnh chi tiết hơn ro nét hơn. Sự khác biệt lớn nhất của SDTV và HDTV là độ phân giải. Hệ thống HDTV quảng bá được xác định với ba thông số chính: • Kích thƣớc khung được định nghĩa là số lượng pixel ngang x số pixe dọc, ví dụ 1280 x 720 hoặc 1920 x 1080. • Chức năng quét hệ thống được xác định bằng chữ i cho cách quét xen kẽ hoặc p cho quét liên tục. • Tốc độ khung được xác định như số lượng khung/giây. 3.1.2. Kỹ thuật xử lý tín hiệu và các thông số đặc trưng cơ bản Đối với truyền hìn số độ phân giải tiêu chuẩn (SDTV) - Số hoá tín hiệu kiểu PCM - Số bít /mẫu: 8 bít hay 10 bít - Định dạng mẫu: 4: 2: 2 đối với sản xuất và thường 4: 2: 0 đối với truyền dẫn (thường áp dụng ). - Nén tín hiệu: MPEG2 - Ghép kênh kiểu xác xuất thống kê theo thời gian - Điều chế: 4-PSK , QAM, COFDM tuỳ theo hệ thống truyền hình - Loại mã sửa sai đường truyền: 3/4; 4/5; 5/6… 18 - Tốc độ bít: đối với sản xuất thường cỡ khoảng 20 Mb/s, đối với truyền dẫn thường cỡ khoảng 3Mb/s. Đối với truyền hình số độ phân giải cao (HDTV) Về cơ bản, khâu xử lý tương tự như đối với hệ thống truyền hình SDTV nhưng khác ở chỗ kỹ thuật nén có thể sử dụng MPEG2 hay MPEG4, hoặc H.264. Tốc độ bít đương nhiên sẽ cao hơn, trong truyền dẫn phát sóng có thể lên tới 20 Mb/s, tỷ lệ khuôn hình 16/9. 3.2 Ứng dụng H.264 trong truyền dẫn phát sóng HDTV Sản phẩm của Truyền hình là các chương trình Truyền hình sau khi đã được hoàn thành xong các khâu từ tiền kỳ đến hậu kỳ. Một công việc tiếp theo là đưa được các chương trình này đến các máy thu hình của người xem. Sử dụng các phương tiện kỹ thuật và áp dụng các cách xử lý tín hiệu hình ảnh và âm thanh như: Truyền trực tiếp bằng dây dẫn, truyền dưới dạng sóng điện từ dùng các thiết bị như: Máy phát hình mặt đất, vệ tinh, cáp quang để đưa tín hiệu tới các máy thu phủ sóng toàn quốc. 3.2.1 Sơ đồ tổng quan truyền dẫn phát sóng của một Đài Truyền hình Hình 3.1: Các tín hiệu vào và ra của phòng tổng khống Nhiệm vụ của phòng Tổng khống chế. Là một phòng điều hành chính trong Trung tâm sản xuất chương trình truyền hình để từ đây làm nhiệm vụ chuyển mạch, phân đường chọn nguồn tín hiệu vào cũng như phân 19 chia các tín hiệu đi các đài phát hình mặt đất, phát lên vệ tinh hoặc các studio hay phòng máy. Các tín hiệu vào và ra của phòng tổng khống chế được mô tả như hình 3.1 3.2.2 Truyền dẫn phát sóng HDTV của kênh Truyền hình Quốc Phòng 3.2.2.1 Chuẩn file phát sóng của kênh Hiện tại QPVN có thể phát được các chuẩn .mpeg2, .mpeg4, .h264. Và sau khi thử nghiệm với các chuẩn khác nhau thì cho đến bây giờ chúng tôi đã và đang dùng các file video chuẩn H.264 có các thông số như sau. Video Format: H.264 Field Order: Progressive TV Standard: PAL Aspect: Square Pixels (1.0) Profile: Main Frame rate: 25 fps WxH: 1920X1080 Level: 4.1 Bitrate Encoding: CBR (Tốc độ bít không đổi) Target Bitrate [Mbps]: 20 Audio Audio Format: AAC Audio Codec: AAC Channels: Stereo Sample Rate: 48000 Hz Audio Quality: High Bitrate [kbps]: 320 + m thanh của file được phát sóng sau khi đã trộn (mix). Mức thấp nhất khoảng - 20 dB. Mức cao nhất khoảng - 6 dB. + m thanh của file không trộn: - Kênh 1 (Thuyết minh) khoảng - 6dB. - Kênh 2 (Tiếng động nền) khoảng - 20 db đến - 15dB (khoảng 70 của kênh 1).
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất