3.2.1. Đặc tính thống kê α
Để so sánh các sự khác nhau về đặc tính thống kê của hai cấu hình của một bộ mã hóa hoặc giữa hai bộ mã hóa khác nhau, t-test được dùng để xác định đặc tính dữ liệu. Điều này cho phép chúng ta xác định sự sai khác khi có lỗi xảy ra [8].
Chúng ta sẽ cần nhiều thống kê quan trọng từ dữ liệu. Mỗi khung hình của nguồn video, PSNR và SSIM được tính toán và ghi lại. Phương sai có thể tính được qua phương trình 3.3.1. Bằng cách lấy căn bậc 2 của phương sai cho ta độ lệch chuẩn σ. Độ lệch chuẩn này được dùng để xác định mức độ lỗi. Tỉ lệ lỗi tương ứng với độ lệch chuẩn.
) (3.3.1)
Sau khi đã thu được dữ liệu thống kê, chúng ta sẽ tiến hành so sánh. Sử dụng hàm phân bố Student hoặc Welch của t-test tùy theo dữ liệu phương sai lệch hoặc không lệch tương ứng ta sẽ có, ts cho phân bố Student được thể hiện ở phương trình 3.3.2 và tw cho phân bố Welch ở phương trình 3.3.3. S1,2 là độ lệch chuẩn. s2 là các giá trị ước lượng của phương sai trong mẫu. Do các vùng mẫu luôn bằng nhau nên
n1 = n2.
Để so sánh hai phương sai có bằng nhau hay không, các độ lệch chuẩn được kiểm tra qua phân bố Welch của t-test. Nếu giá trị p thấp hơn ngưỡng được định nghĩa, khi đó các phương sai được xem là bằng và sử dụng phân bố Student. Ngược lại, sử dụng phân bố Welch.
̅̅̅̅ ̅̅̅̅ √ (3.3.2) √ ) ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ ̅̅̅̅ (3.3.3)
39 Vương Gia Thiết
̅̅̅̅ ̅̅̅̅ √
Cho việc lựa chọn ngưỡng cho giả thuyết thống kê, α là vô cùng quan trọng để quyết định đến việc kiểm tra. Giá trị được chọn cho α là 0.1.
Việc chọn lựa này nhằm tăng sác xuất thống kê cho phương pháp t-test này nhằm bỏ đi các giả thuyết không (null hypothesis) với tần số cao. Do tỉ số SNR đo được là hệ số chính nên giá trị lớn hơn 0.1 sẽ là quá cao. Điều này đảm bảo rằng sẽ có ít hơn 10% xác suất xảy ra vấn đề không mong muốn này.
Giá trị sẽ thay đổi với số lần so sánh nhiều hơn và các công việc thống kê khác đảm bảo rằng sự xác minh này vẫn là chính xác khi mà xác suất của phương pháp thống kê tăng lên.
3.2.2. Đƣờng cong tốc độ méo (R-D)
Từ việc phân tích tốc độ bit so với chất lượng hình ảnh cho cả H.264 và VP8, có rất nhiều đường biểu diễn biến đổi tốc độ (RD) tùy theo đánh giá khác nhau. Cả x264 và vpxenc đều có tốc độ bít cao hơn bình thường nếu không thể xác định được tốc độ tối thiểu từ video nguồn. Nếu tốc độ bit tăng thì chất lượng sẽ giảm. Kết quả đối với đường cong RD được thể hiện xuyên suốt ở các phần đánh giá trong Chương 4.
3.3. Nội dung so sánh
3.3.1. Đánh giá chất lƣợng và băng thông
Hiện nay Internet đang phát triển rất nhanh chóng. Hầu hết các thiết bị điện tử đều hỗ trợ và sẵn sàng trong việc truy nhập cũng như chia sẻ qua mạng. Điều này cho thấy một xu hướng toàn cầu đang hướng đến là Internet của vạn vật (Internet of things). Chính vì vậy, để kết nối để chia sẻ hình ảnh, dữ liệu trên thời gian thực đòi hỏi hệ thống khá ngặt ngèo. Chúng ta sẽ cần một cái nhìn tổng thể để đánh giá được chất lượng của bộ mã VP8 và H.264 qua đường truyền mạng. Các cấu hình khác
40 Vương Gia Thiết
nhau là cần thiết để đưa ra kết quả chính xác về chất lượng của mỗi bộ mã. Các kết quả được đưa ra trong Chương 4, phần 4.1.
Bảng 3.6. Cấu hình các tham số cho việc đánh giá tốc độ đường truyền
Cấu hình bộ mã Các tham số
H.264 Slowest --preset medium --tune zerolatency --no-psy
H.264 Slower --preset fast --tune zerolatency --no-psy
H.264 Slow --preset faster --tune zerolatency --no-psy
H.264 Fast --preset veryfast --tune zerolatency --no-psy
H.264 Faster --preset superfast --tune zerolatency --no-psy
H.264 Fastest --preset ultrafast --tune zerolatency --no-psy
VP8 Slowest --good --cpu-used=0 --static-thresh=100 --auto-alt-ref=1 --lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
VP8 Slower --good --cpu-used=1 --static-thresh=100 --auto-alt-ref=1 --lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
VP8 Slow --good --cpu-used=2 --static-thresh=100 --auto-alt-ref=1 --lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
VP8 Fast --good --cpu-used=3 --static-thresh=100 --auto-alt-ref=1 --lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
VP8 Faster --good --cpu-used=4 --static-thresh=100 --auto-alt-ref=1 --lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
VP8 Fastest --good --cpu-used=5 --static-thresh=100 --auto-alt-ref=1 --lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
Trong phần đánh giá về ảnh hưởng băng thông, chúng ta đưa ra các mức tốc độ từ chậm nhất cho đến nhanh nhất. Điều này là vì khi băng thông càng lớn thì tốc độ truyền lớn nhất sẽ cho được chất lượng hình ảnh ở mức tốt nhất và ngược lại, khi băng thông bé thì tốc độ truyền chậm đi nhằm không ảnh hưởng đến người xem.
41 Vương Gia Thiết
Trên bảng 3.6 cho thấy cấu hình của các tham số về việc đánh giá tốc độ đường truyền.
Có rất nhiều yêu cầu cho truyền hình ảnh hay phim ảnh qua đường truyền Internet, ở tốc độ thấp nhất với độ phân giải từ CIF hoặc thấp hơn cho đến tốc độ nhanh nhất với phân giải 1080p. Trong lần đánh giá chúng ta sẽ thực nghiệm với đoạn phim Akiyio với độ phân giải CIF ở 2 tốc độ 25kbps và 50kbps.
Bảng 3.8 là danh sách các đoạn phim độ phân giải 1080p. Được phân loại theo cảnh quan và tốc độ di chuyển của cảnh vật.
Bảng 3.7. Các đoạn phim 720p
Cảnh thành phố Cảnh chi tiết ngoài trời
Old Town Cross Shields
Stockholm Mobcal
Ducks Take Off Parkrun
Into tree
Bảng 3.8. Các đoạn phim 1080p
Đoạn phim thể thao Đoạn phim cảnh động ngoài trời
Touch down Blue Sky
Speed Bag Tractor
Snow Mountain Riverbed
West Wind Pedestrian Area
Rush Hour
Để đánh giá chính xác hơn, luận văn này sẽ tiếp tục so sánh với các đoạn phim với độ phân giải cao 720p và 1080p. Ở đây việc so sánh với độ phân giải HD là hoàn toàn cần thiết vì hầu như các các đoạn phim truyền hình số hay các cuộc
42 Vương Gia Thiết
họp trực tuyến đều được hỗ trợ các độ phân giải này để đem đến người dùng dịch vụ tốt nhất. Trong bảng 3.7 gồm thông tin các đoạn phim 720p. Các đoạn phim gồm các cảnh quan chi tiết gồm các cảnh ở ngoài trời và chuyển động nhanh chậm khác nhau.
Trong các đoạn video được đem so sánh đều sử dụng bộ mã hóa hai lần (two-pass encoder) để chuyển định dạng video ở chất lượng tốt nhất. Lần đầu sẽ thống kế theo tốc độ bit, lần hai mã hóa theo tốc độ bit thu được ở lần đầu. Việc sử dụng mã hóa hai lần nhằm đảm bảo việc điều khiển tốc độ là chính xác. Thông thường, các chương trình truyền hình, phim truyện đều có khả năng để sử dựng bộ mã hóa hai lần do thời gian tiền mã hóa là đủ dài. Tốc độ bít cao để làm tăng chất lượng cho những chương trình như thế. Đối với tốc độ thấp thì sẽ được đề cập trong Phần 3.4.
Các giá trị PSNR và SSIM thu được và sự sai khác của tốc độ bit được hiển thị trên đồ thị được thể hiện trong Phần 4.1.
3.3.2. Đánh giá mã hóa nội khung
Mã hóa nội khung là vấn đề rất quan trọng trong nén ảnh. Do vậy, để so sánh độ mạnh của dự đoán nội khung trong VP8 và H264 một cách hiệu quả, số khung đã được dự đoán lớn nhất sẽ được đặt bằng 0. Điều này nhằm đảm bảo rằng không có dự đoán nội khung và đó là khung chính (key frame). Do sự áp đặt này nên bộ lượng tử hóa được dùng như biến điều khiển. Cách thức này còn được gọi là mã hóa nội khung có tổn hao.
Bảng 3.9 liệt kê các tham số bộ mã hóa được chọn cho x264 và VP8. Tất cả các bộ mã hóa chỉ sử dụng nội khung, như -I 1 cho x264 và --kf-max-dist=1 với VP8. --qp của x264 nhằm áp đặt cho tham số bộ lượng tử không thay đổi. --drop- frame=0 nhằm đảm bảo việc không xảy ra lấy mẫu lại theo thời gian khi sử dụng bộ lượng tử không đổi. --min-q và --max-q đặt cùng 1 giá trị để sử dụng bộ lượng tử không đổi cho VP8.
43 Vương Gia Thiết
Bảng 3.9. Các tham số và cấu hình mã hóa nội khung
Cấu hình bộ mã hóa Các tham số
H264 Baseline --profile baseline --tune zerolatency -I 1 --no-psy
H.264 High --profile high --tune zerolatency -I 1 --no-psy
VP8 Good --good --cpu-used=0 --static-thresh=100 --auto-alt-ref=1
--lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
VP8 Best --best --cpu-used=0 --static-thresh=100 --auto-alt-ref=1
--lag-in-frames=0 --kf-max-dist=1 --drop-frame=0
Để so sánh, chúng ta sẽ lựa chọn các đoạn phim có khả năng thể hiện tốt nhất để có đánh giá chính xác. Đoạn phim Foreman với độ phân giải CIF được chọn vì mảng màu sắc sáng ở khung cảnh ngoài trời. Đoạn phim Crew được chọn với độ phân giải 4CIF vì độ tương phản màu sắc nét và sử dụng camera có đèn chiếu sáng. Parkrun được chọn với phân giải 720p vì mức độ chi tiết và thể hiện hiệu quả dự đoán nội khung.
Kết quả của việc mã hóa nội khung được thể hiện trong Phần 4.2.
3.3.3. Đánh giá mã hóa liên khung
Trong Phần 3.2.1 cho ta thấy sự khác nhau về đặc tính thống kê của H.264 và VP8 trong các khung dự đoán. VP8 không có các khung dự đoán 2 chiều (B-frame) và thay khung dự đoán nội bằng khung golden và altref.
Để so sánh chất lượng của việc mã hóa liên khung của VP8 và H.264, các cấu hình được sử dụng trong bảng 3.10. Cấu hình --b-adapt của x264 nhằm sử dụng phương pháp lựa chọn B frame hay P frame. Giá trị 0 đằng sau đó là lựa chọn chỉ B frame, 1 là mặc định nghĩa là sử dụng thuật toán tiệm cận nhanh để quyết định khi nào là B frame, còn 2 là sử dụng thuật toán tiệm cận chậm.
44 Vương Gia Thiết
Tham số --b-bias mô tả thuật toán lựa chọn B-frame hay P-frame hơn. Trọng số 0 nghĩa là xác suất ngang nhau. Giá trị <0, nhỏ nhất là -100, nghĩa là xác suất P- frame cao hơn. Ngược lại, giá trị >0, lớn nhất là 100, nghĩa là xác suất B-frame cao hơn.
Tham số -r để xác định số khung tham chiếu sẽ sử dụng. Đối với VP8 chỉ tham chiếu một khung từ chính P-frame nhưng altref frame có thể tham chiếu tùy ý.
Bảng 3.10. Các cấu hình để so sánh mã hóa liên khung
Bộ mã hóa Các tham số Mô tả
x264-default --profile high -I 120 Mặc định cho từng cấu hình x264
vp8-default --good --kf-max-dist=120 --passes=2 Mặc định cho từng câu hình vpxenc
x264 (1) -b 0 -r 1 --b-adapt 1 --b-bias 0 Không B frame và chỉ 1 tham chiếu
x264 (2) -b 3 -r 3 --b-adapt 1 --b-bias 0 Mặc định cho x264
x264 (3) -b 16 -r 3 --b-adapt 2 --b-bias -50 Nhiều B-frame nhưng xác suất thấp x264 (4) -b 16 -r 3 --b-adapt 2 --b-bias 0 Nhiều B-frame, xác suất như nhau x264 (5) -b 16 -r 3 --b-adapt 2 --b-bias 100 Nhiều B-frane và xác suất cao
x264 (6) -b 119 -r 3 --b-adapt 0 --b-bias 0 Chỉ có B-frame
x264 (7) -b 119 -r 9 --b-adapt 0 --b-bias 0 Chỉ có B-frame, nhiều tham chiếu
vp8 (8) --auto-alt-ref=0 --arnr-maxframes=0
--arnr-strength=0 --arnr-type=0
Mặc định cho VP8
vp8 (9) --auto-alt-ref=1 --arnr-maxframes=4
--arnr-strength=2 --arnr-type=3
Cho phép sử dụng Altref frame
vp8 (10) --auto-alt-ref=1 --arnr-maxframes=7 --arnr-strength=6 --arnr-type=3
Cho phép sử dụng Altref, bộ lọc ARNR bậc cao
Trong các hình đã được mô tả, các tham số --arnr-maxframes, --arnr-type và
--arnr-strength sử dụng cho altref frame. Các tham số này cấu hình việc lọc ảnh theo nhóm các khung hình sẽ đến sau nghĩa là số lượng khung hình sẽ được nén được lưu vào bộ đệm hay còn gọi là khung tương lai. Bộ lọc này được gọi là bộ lọc tạm thời và hoàn toàn có thể mặc định là không sử dụng. Như ta thấy với cấu hình vp8 (10) thì bộ lọc này có số khung tương lai bằng 7, bậc bộ lọc bằng 6. --auto-alt-
45 Vương Gia Thiết
ref cho phép sao lưu lại các golden frame đã đến trước trong bộ đệm. Việc sử dụng
–auto-alt-ref có thể cải thiện chất lượng rất nhiều.
Trong bài so sánh chúng ta sẽ sử dụng đoạn phim Ice độ phân giải 4CIF và đoạn phim Parkrun phân giải 720p. Sử dụng hai đoạn phim này nhằm chỉ ra lợi ích của mã hóa liên khung cải tiến giống với B-frame.
Trong Chương 3 chúng ta thấy được các cấu hình phục vụ việc so sánh 3 nội dung chính gồm: chất lượng băng thông đường truyền, mã hóa nội khung và liên khung. Đây chính là 3 vấn đề quan trọng trong thực tiễn của môt bộ mã hóa. Để so sánh chính xác, các kết quả thể hiện cụ thể trong Chương 4.
46 Vương Gia Thiết
CHƢƠNG IV. KẾT QUẢ VÀ PHÂN TÍCH 4.1. Kết quả đánh giá chất lƣợng và băng thông
Đối với đoạn phim Akiyo ở độ phân giải CIF với tốc độ 25 và 50 kbps, 6 cấu hình cho VP8 và H.264 được biểu diễn trong hình 4.1.
Các biểu đồ thể hiện 5 điểm theo thứ tự trên xuống lần lượt là PSNR lớn nhất, điểm tứ phân vị thứ 3, trung vị, tứ phân vị thứ nhất và PSNR nhỏ nhât. Tốc độ bit thì được biểu diễn theo đường thẳng.
Trong hình 4.1, rõ ràng là VP8 thể hiện tốt hơn H.264 về độ phức tạp mã hóa, thường với giá trị nhỏ nhất của VP8 gần như bằng với giá trị của tứ nhị phân thứ 3 trong kết quả của H.264. Theo như đồ thị ta thấy là H.264 có tốc độ bit cao hơn so với VP8. Ở cấu hình Fastest, chất lượng của H264 giảm đáng kể trong khi trong tất cả các cấu hình VP8 vẫn duy trì ở mức ngang nhau.
Trong hình 4.2 thể hiện các giá trị PSNR đối với mỗi khung hình Slowest và Fastest của H.264 và VP8. Đối với cấu hình slowest, VP8 bắt đầu tốt hơn trong khi H.264 có chất lượng tăng dần khi số khung hình tăng lên. Trong cấu hình fastest, VP8 hoàn toàn hơn H.264 cho đến khi có I-frame thứ nhất đến tại khung hình thứ 251 thể hiển bởi đường thẳng đứng bên trong đồ thị. Nếu số khung hình lớn hơn nữa thì H.264 đủ khả năng để cải thiện được chất lượng lúc ban đầu.
H.264 thể hiện tốt hơn với tốc độ bit 50 kbps cho đoạn phim Akiyo. Hình 4.3 biểu diễn kết quả của 6 cấu hình VP8 và H.264 được mã hóa ở 50 kbps. H.264 thì