Bộ công cụ nén video mV nguồn mở của Joint Video

Một phần của tài liệu Nghiên cứu hệ thống mạng cung cấp dịch vụ IPTV (Trang 128)

126

Joint Video Team (JVT) là một nhóm các chuyên gia thuộc SG 16 của tổ chức ITU-T (VCEG) và WG 11 của tổ chức MPEG đZ tham gia nghiên cứu và chuẩn hóa nén videọ Đ−ợc hình thành từ năm 2001, nhóm đZ phát hành phiên bản đầu tiên về mZ nguồn mở nén video JM theo chuẩn H.264/MPEG 4 AVC năm 2003. Từ đó cho đến nay, nhiều phiên bản đZ đ−ợc cập nhật và đZ thu hút đ−ợc nhiều thành viên tham gia cộng đồng phát triển mZ.

Nội dung phần này xin trình bày phần nghiên cứu cấu trúc sản phẩm mZ nguồn mở JM, cách sử dụng và định h−ớng tham gia phát triển.

4.5.1. Cấu trúc sản phẩm mã nguồn mở nén video H.264 JM

JM đ−ợc xây dựng bằng ngôn ngữ lập trình C, có thể chạy trên các bộ biên dịch C thông dụng ở trên hệ điều hành Windows và Unix, Linux. JM bao gồm hai phần chính:

- Phần mZ nguồn mZ hóa video (encode): Nằm trong th− mục lencode của th− viện mZ nguồn mở.

- Phần mZ nguồn giải mZ video (decode): Nằm trong th− mục ldecode của th− viện mZ nguồn mở.

Ngoài hai công cụ chính hỗ trợ nén video, th− viện mZ nguồn mở JM còn có công cụ hỗ trợ phân tích các gói tin RPT rptdump.

( Cấu trúc mZ nguồn đZ đ−ợc phân tích bằng công cụ Doxygen và đóng gói trong CD kèm theo).

4.5.2. Cách sử dụng phần mềm mã nguồn mở JM

Sản phẩm mZ nguồn mở nén video JM có thể thực hiện trên hệ điều hành Unix, Linux và Windows. Trong khuôn khổ nghiên cứu, xin đ−ợc trình bày cách sử dụng sản phẩm trong môi tr−ờng hệ điều hành Windows.

Trên hệ điều hành Windows, sản phẩm mZ nguồn mở JM có thể biên dịch nhờ bộ biên dịch MS Visual Studio 6 hoặc MS Visual Studio .NET. Sau khi biên

127

dịch, bộ biên dịch sẽ tạo ra các tệp tin thực thi lencodẹexe t−ơng ứng với chức năng mZ hóa của sản phẩm và tệp tin ldecodẹexe t−ơng ứng với chức năng giải mZ của sản phẩm. Công cụ phân tích gói tin RPT sẽ là tệp tin thực thi rptdump.exẹ

4.5.2.1. Phần m[ hóa

a). Cấu trúc lệnh mZ hóa video

Cấu trúc lệnh mZ hóa video sử dụng JM nh− sau:

Các lựa chọn bao gồm:

- h: hiển thị các tham số đ−ợc l−a chọn để trợ giúp trong quá trình sử dụng.

- d defenc.cfg: sử dụng file defenc.cfg làm file chứa các tham số mặc định tùy chọn mZ hóạ Nếu bỏ qua tham số này, các thiết lập trong file encoder.cfg trong th− mục sẽ đ−ợc chọn làm tùy chọn mặc định.

- f curenc1.cfg: Các tùy chọn tham số mZ hóạ Các tham số có thể đ−ợc đặt ở các file riêng rẽ và đ−a vào tùy chọn nàỵ

- p Danh sách thiết lập các tham chiếu: Tùy chọn này đ−ợc sử dụng nếu muốn thiết lập các tham số cụ thể nào đó trong câu lệnh.

Định dạng tín hiệu đầu vào bộ mZ hóa có thể là YUV 4:0:0; YUV 4:2:0; YUV 4:2:2, YUV 4:4:4 hoặc RGB.

b). Kết quả thực hiện mZ hóa

Kết quả thực hiện mZ hóa là chuỗi tín hiệu video đ−ợc ghi thành tệp tin dạng mở rộng là .264. Chuỗi tín hiệu video đ−ợc tái tạo trong quá trình mZ hóa (reconstructed) đ−ợc ghi lại thành tệp tin có định dạng .YUV.

128

Các tham số dữ liệu thực hiện trong quá trình mZ hóa đ−ợc hiển thị trên màn hình có dạng nh− trong hình 4.14.

Bên cạnh các tham số thiết lập cho ch−ơng trình thực thi, các tham số xử lý, tính toán trong khi thực thi cũng đ−ợc hiển thị, bao gồm:

- Frame: Thứ tự hiển thị của framẹ

- Bit/pic: Dung l−ợng thông tin tính theo bit của framẹ

- WP: Ph−ơng thức dự đoán có trọng số đ−ợc lựa chọn cho framẹ - QP: Giá trị tham số l−ợng tử hóa của khung.

- QL: Giá trị tham số l−ợng tử hóa Lagrangian của khung. - SnrY: Tỷ lệ S/N của kênh tín hiệu Ỵ

- SnrU: Tỷ lệ S/N của kênh tín hiệu Ụ - SnrV: Tỷ lệ S/N của kênh tín hiệu V.

- Time (ms): Tổng thời gian mZ hóa của frame tính theo miligiâỵ

- MET(ms): Tổng thời gian tính toán tìm kiếm xử lý bù chuyển dịch của khung.

- Frm/Fld: Frame/Field: Chế độ mZ hóa ảnh. - Ref: Chỉ thị ảnh tham chiếu hiện tạị

Trong quá trình nghiên cứu, thực hiện chạy mZ hóa thử nghiệm với file video đầu vào với các tham số nh− sau:

- File video đầu vào: bt.yuv dung l−ợng 180 MB. - Định dạng video đầu vào YUV 4:2:0.

129

- Kích th−ớc frame: 640 x 480.

- Cấu trúc chuỗi video khi mZ hóa I – B – P – B – P. - Ph−ơng thức mZ hóa entropy: CABAC.

- Ph−ơng thức tính toán bù chuyển dịch: Fast Full Search. - Định dạng tín hiệu đầu ra: Dạng byte stream.

- File tín hiệu đầu ra: bt.264

- File tái tạo tín hiệu video trong khi mZ hóa: btrec.yuv

Sau khi thử nghiệm chạy mZ hóa video, kết quả thực hiện nh− sau: Tổng thời gian mZ hóa: 26.945.268 ms.

Tổng thời gian tính toán và xử lý bù chuyển dịch: 21.017.309 ms. Dung l−ợng file mZ hóa đầu ra: 2,771 MB

130

131

Hình 4.15. Trích màn hình kết quả thực hiện với dữ liệu thử nghiệm

Kết quả tính toán một số tham số đối với dữ liệu thử nghiệm nh− sau: - Số frame: 399 framẹ

- Thời gian trung bình mZ hóa một frame: 26.945.268/399 = 67532 ms/framẹ - Thời gian trung bình tìm kiếm và xử lý bù chuyển dịch cho một frame:

132

21.017.309/399 = 52.675 ms/framẹ

- So sánh với dung l−ợng tín hiệu video gốc ta đ−ợc tỷ số nén là: 180MB/2,771MB = 64.96 lần.

(Các file video nguồn và kết quả thực hiện đ−ợc đóng gói trong CD kèm theo).

4.5.2.2. Phần giải m[

Cấu trúc lệnh giải mZ có dạng nh− sau:

Các lựa chọn bao gồm:

- h: hiển thị các tham số đ−ợc l−a chọn để trợ giúp trong quá trình sử dụng.

- d defdec.cfg: sử dụng file defenc.cfg làm file chứa các tham số mặc định tùy chọn giải mZ. Nếu bỏ qua tham số này, các thiết lập trong file decoder.cfg trong th− mục sẽ đ−ợc chọn làm tùy chọn mặc định.

- o output.yuv: Tên file video giải mZ đầu rạ

- p Danh sách thiết lập các tham số: Tùy chọn này đ−ợc sử dụng nếu muốn thiết lập các tham số cụ thể nào đó trong câu lệnh.

- uv: Chuyển về định dạng gray scalẹ

Định dạng tín hiệu đầu vào là ở dạng nén H.264, định dạng tín hiệu đầu ra ở dạng YUV.

4.5.3. Định h−ớng tham gia phát triển

Bộ sản phẩm mZ nguồn mở JM nén video chuẩn H.264 của JVT vẫn đang liên tục đ−ợc cộng đồng tham gia phát triển và cập nhật. Nghiên cứu, phát triển bộ sản phẩm này có thể dựa trên một số định h−ớng cơ bản sau:

133

- Tiếp tục hoàn thiện về tính năng của sản phẩm để sản phẩm đáp ứng hết các công cụ trong ba Profile của chuẩn nén H.264.

- Cải tiến giải pháp thực hiện các thủ tục trong sản phẩm để nâng cao hiệu quả nén và tối −u hóa quá trình tính toán.

- Nghiên cứu, kế thừa ứng dụng phát triển cho các chuẩn nén thế hệ kế tiếp.

- ứng dụng sản phẩm vào các ứng dụng cụ thể nh− phần mềm nén video, streaming video, chuyển thành mZ nhúng để tích hợp vào các sản phẩm phần cứng xử lý tín hiệu video thời gian thực đặc biệt là thiết bị trong hệ thống IPTV.

134

Kết luận và kiến nghị

Hệ thống IPTV đang trong giai đoạn chuẩn hóa và phát triển, hứa hẹn đem lại nhiều dịch vụ giải trí, thông tin tiên tiến đến với khách hàng. Đồng thời tích hợp dịch vụ IPTV trên hệ thống mạng sẵn có phù hợp với xu thế hội tụ công nghệ, tận dụng năng lực của hệ thống mạng truyền dẫn, sẽ đem lại doanh thu lớn cho các nhà khai thác và cung cấp dịch vụ viễn thông.

Nằm trong xu thế chuẩn hóa và và phát triển đó, chuẩn Open IPTV ra đời đZ b−ớc đầu xây dựng đ−ợc nền tảng kiến trúc chức năng cho hệ thống mạng IPTV. Là một hệ thống mở, Open IPTV không những đáp ứng những dịch vụ cơ bản của hệ thống IPTV trong giai đoạn hiện tại mà còn có khả năng kết hợp với các dịch vụ truyền thông khác nhằm đ−a ra các dịch vụ gia tăng của hệ thống trong t−ơng laị Tuy có nhiều −u điểm v−ợt trội so với các hệ thống truyền hình truyền thống, hệ thống và dịch vụ IPTV vẫn còn nhiều vấn đề kỹ thuật cần phải giải quyết, đặc biệt là khả năng cạnh tranh với các hệ thống truyền hình truyền thống đZ đáp ứng đ−ợc phần lớn nhu cầu của ng−ời dùng. Do vậy việc nghiên cứu, phát triển kiến trúc và giao thức trong hệ thống mở Open IPTV là b−ớc đi cần thiết để hoàn thiện các vấn đề kỹ thuật, phát huy các lợi thế của hệ thống dịch vụ còn mới mẻ nàỵ

Trong số các vấn đề kỹ thuật quan trọng của IPTV, vấn đề nén video để giảm băng thông truyền dẫn cần thiết và các công cụ hỗ trợ streaming video vẫn đ−ợc quan tâm phát triển. Các tổ chức nghiên cứu chuẩn hóa nén video đZ cho ra nhiều chuẩn nén khác nhau, đáp ứng đ−ợc các yêu cầu về chất l−ợng của các ứng dụng trong từng lĩnh vực. Chuẩn nén MPEG 4 AVC/ H.264 là chuẩn nén đ−ợc đánh giá là có nhiều −u điểm, hiệu quả nén cao và có các tính năng hỗ trợ các ứng dụng truyền video thời gian thực nh− IPTV.

Tham gia chuẩn hóa tiêu chuẩn nén video H.264, nhóm JVT đZ xây dựng và phát triển sản phẩm mZ nguồn mở nén video JM. Sản phẩm này đZ thu hút

135

đ−ợc cộng đồng phát triển và ứng dụng. Việc nghiên cứu, phát triển, ứng dụng sản phẩm mZ nguồn mở JM là một h−ớng đi cần thiết cho phát triển các ứng dụng video thời gian thực trong đó có các sản phẩm ứng dụng của hệ thống dịch vụ IPTV.

Một phần của tài liệu Nghiên cứu hệ thống mạng cung cấp dịch vụ IPTV (Trang 128)