E.g: các thiết bị cấu hình thấp một vài điện thoại đi động sẽ chỉ nhận được lớp cơ sở hoặc 1 luồng bít chất lượng thấp trong khi các máy tính cấu hình cao mạng khỏe sẽ nhận được cả lớp
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI Viện Công Nghệ Thông Tin và Truyền thông
- -Báo Cáo Bài Tập Lớn
Xử Lý Dữ Liệu Đa Phương Tiện
trong nén video
Hà Nội, Tháng 5 năm 2019
Trang 2Mục lục
Contents
I Giới Thiệu Chung về Scalable Video Coding (SVC)
1.Khái niệm
I.1.1.Khái niệm
- Scalable Video Coding (SVC) là kỹ thuật mã hóa dữ liệu video Chia dữ liệu video đã được mã hóa thành nhiều luồng bit ( bitstreams) và biến các luồng luồng bit thành hình ảnh tại các thiết bị đầu cuối
Sau khi mã hóa, các luồng bit có thể được mở rộng và giải mã các luồng bit có thể mở rộng cho phép thiết bị thích ứng với bit rate, định dạng và mức năng lượng Các luồng bit cũng được phần cấp, có luồng cơ bản được truyền ở chất lượng tiêu chuẩn và các luồng thứ cấp có chất lượng nâng cao với độ phần giải và frame rate cao hơn
Trang 3- Các thiết bị đầu cuối sẽ nhận các luồng bit phù hợp với cấu hình máy và băng thông mạng Điều này sẽ giúp giảm tốc độ khung hình, độ phân giải hoặc mức tiêu thụ băng thông của hình ảnh, ngăn hình ảnh bị vỡ E.g: các thiết bị cấu hình thấp ( một vài điện thoại đi động ) sẽ chỉ nhận được lớp cơ sở hoặc 1 luồng bít chất lượng thấp trong khi các máy tính cấu hình cao mạng khỏe sẽ nhận được cả lớp cơ sở và các luồng bit tang cường
- Khả năng mở rộng hiệu quả: chức năng loại bỏ các phần của luồng bit trong khi đạt được hiệu suất phù hợp ở bất kỳ độ phân giải không gian, thời gian hoặc SNR được hỗ trợ có thể so sánh với mã hóa H.264 / AVC một lớp ở độ phân giải cụ thể tượng tự
II Sơ đồ kiến trúc của SVC và Tác dụng của SVC trong nén video tiến tiến AVC theo chuẩn MPEG-4/ H264
2.1 Sơ đồ kiến trúc của SVC
Hình 1.Một sơ đồ kiến trúc của SVC
Một sơ đồ đơn giản hóa trong Hình 1 cho thấy một sơ đồ làm việc của một bộ SVC Lớp 0 là một bộ mã hóa H.264 / AVC thông thường với việc bổ sung SNR hoặc khả năng
mở rộng chất lượng của đầu ra kết cấu (dư) của nó và cung cấp cái gọi là lớp dự đoán xen
kẽ số lượng để giúp Bộ mã hóa lớp 1 (lớp tăng cường)
Với đầu vào là video được số hóa,với cấu trúc cơ bản gồm tầng Base Layer Coding có nhiệm vụ mã hóa để đầu ra là nhiều dòng bitstream qua bộ multiplex
Trang 4
2.2 Tác dụng của nén video tiến tiến AVC theo chuẩn MPEG-4/ H264
SVC cho phép truyền tải và giải mã dòng bit cục bộ để cung cấp các dịch vụ video với thời gian ngắn hơn hoặc với nhiều độ phân giải không gian hoặc giảm độ trung thực trong khi vẫn giữ một chất lượng tái tạo tương đối cao so với tỷ lệ của dòng bit cục bộ
Vì thế, SVC cung cấp những chức năng suy giảm dần trong các môi trường truyền tải mất mát như là giảm tỷ lệ bit, cấu trúc, định dạng, và thích ứng năng lượng Những chức năng
đó cung cấp sự nâng cao cho truyền tải và ứng dụng lưu trữ
SVC đã đạt được những cải tiến đáng kể trong hiệu quả mã hóa với việc tăng hỗ trợ khả năng mở rộng cho những cấu hình có thể mở rộng của những chuẩn video trước đó
III Các thuật toán thực hiện các kiểu SVC
3.1 Kỹ Thuật SVC theo thời gian(Temporal scalability)
Trong một chuỗi được mã hóa mở rộng thời gian, lớp cơ sở được mã hóa bằng cách giảm frame Các lớp cải tiến liên tiếp, khi được mã hóa với lớp cơ sở cung cấp tốc
độ khung dần cao hơn Hình 3.7 cho thấy một chuỗi được mã hóa ba lớp mở rộng thời gian Lớp 0 được mã hóa tại tốc độ khung F0 và bao gồm các khung được mã hóa 0,6,12, Một bộ giải mã H.264/AVC có thể giải mã lớp 0 độc lập
Lớp 1 gồm các khung 3,9,15 Một bộ giải mã có thể giải mã lớp 0 và 1 để tạo ra một chuỗi tốc độ cao hơn với tốc độ 2F0 khung/s Lớp 2 gồm các khung 1,2,4,5,7,8 và
bộ giải mã sẽ giải mã lớp 0,1 và 2 có thể gửi tới đầu ra tốc độ 6F0 khung/s
Mở rộng thời gian có thể đạt được sử dụng công cụ mã hóa slice B và/hoặc slice P sẵn có trong H.264/AVC Các ví dụ trong hình 3.7 và 3.8 được phát triển sử dụng cấu trúc GOP kim tự tháp hoặc có phân tầng
Hình 3.7 Sơ đồ mã hóa mở rộng thời gian 3 lớp [5]
Trang 5Hình 3.8 Sơ đồ giải mã mở rộng thời gian [5]
Để trọn vẹn hình 3.9 chỉ ra các hướng dự đoán cho cấu trúc có phân tầng Lớp cơ
sở gồm các slice I trong mỗi 12 slice và tập slice B đầu tiên, B6 v.v Lớp 1 gồm tập slice
B thứ 2 (3,9,15 ) được dự đoán từ lớp cơ sở Lớp 2 gồm các slice B còn lại được dự đoán
từ lớp 0 và 1 Do đó, các tập con dưới đây có thể được giải mã độc lập:
Lớp 0, I0,B6,I12,
Lớp 0 + lớp 1,I0,B3,B6,B9,
Lớp 0+ lớp 1 + lớp 2, I0,B1,B2,B3,
Vì các công cụ dự đoán cần thiết, như là ảnh P hoặc B được sử dụng cho tham khảo, được hỗ trợ trong profile main và profile high của H264/AVC, mở rộng thời gian có thể đạt được không cần bất cứ sự nào của chuẩn lõi H.264/AVC
Hình 3.9 Cấu trúc dự đoán phân cấp [5]
3.2 Kỹ Thuật SVC theo chất lượng
Lớp cơ sở được mã hóa sử dụng bộ lượng tử tham số QP riêng biệt để tạo luồng bit lớp 0 (hình 3.10) Với một khung video đơn A, tại bộ mã hóa, khung được mã hóa này
Trang 6được giải mã từ lớp cơ sở và được xây dựng lại (khung A’0), khung A được mã hóa lại tại một QP thấp hơn và do đó có chất lượng cao hơn, với khung được giải mã A’0 sẵn sàng như một tham khảo dự đoán, để tạo ra luồng bit lớp cải tiến lớp 1 Lưu ý rằng A’0 sẽ thường là một tham chiếu dự đoán hiệu quả khi nó giống với khung A trừ méo ban đầu bởi nén Các nguồn dự đoán, các khung được mã hóa trước trong bộ đệm ảnh giải mã đều cũng sẵn sàng cho dự đoán của mỗi MB
Một bộ giải mã lớp cơ sở đơn giản giải mã khung A0 Một bộ giải mã lớp cải tiến yêu cầu khung A được giải mã, một tham khảo dự đoán để xây dựng lại khung A1 chất lượng cao hơn
Quá trình này có thể được lặp lại để tạo một tầng các lớp 0,1,2 , mỗi lớp sử dụng khung xây dựng lại từ lớp bên dưới như là một tham khảo dự đoán và sử dụng một QP thấp dần SVC cung cấp công cụ có khả năng xây dựng lại các lớp cải tiến không cần giải
mã đầy đủ thông tin lớp cơ sở (dự đoán liên tầng bắt buộc)
H.264/SVC hỗ trợ mở rộng chất lượng hạt trung bình (MGS) và hạt thô (CGS) CGS có hiệu quả với trường hợp đặc biệt của mở rộng không gian trong đó, hệ số tăng lấy mẫu và giảm lấy mẫu bằng 1 Có nghĩa là độ phân giải lớp cải tiến cũng giống độ phân giải lớp tham khảo Lớp cải tiến được mã hóa tại QP thấp hơn và do đó chất lượng cao hơn lớp tham khảo thấp hơn Tất cả công cụ mã hóa mở rộng không gian đã mô tả có thể
sử dụng để dự đoán khung lớp cải tiến từ khung được xây dựng lại lớp tham khảo
Một ứng dụng đặc trưng của mở rộng chất lượng là cung cấp các dạng chuỗi được
mã hóa tại tốc độ bit và mức chất lượng khác nhau, ví dụ các chuỗi con tốc độ bit thấp hơn có thể được trích ra cho truyền dẫn qua các kênh với khả năng khác nhau Với CGS,
số chuỗi con có tốc độ bit bị giới hạn bằng số lớp Việc cung cấp số lớn tùy chọn tốc độ bit sử dụng CGS yêu cầu một số lớn các lớp , điều này dẫn tới tăng sự phức tạp và không hiệu quả để mã hóa
Mở rộng chất lượng hạt trung bình (Medium grain quality scalability-MGS) giải quyết giới hạn trên và nó có thể trích các luồng con tại một dải tốc độ bit rộng từ một luồng bit mở rộng với một con số nhỏ các lớp chất lượng Sử dụng MGS, bất cứ đơn vị NAL trong một lớp cải tiến có thể bị loại bỏ khỏi luồng bit có thể giải mã đầy đủ Điều này làm cho nó có thể tạo ra tốc độ bit đầu ra biến đổi Ví dụ, việc loại bỏ một số bất kỳ đơn vị NAL lớp cải tiến làm nó có thể đáp ứng một tốc độ bit đích bất kỳ, với một độ dự trữ lỗi xác định Hình 3.10 chỉ ra một ví dụ luồng bit thích ứng hoàn chỉnh gồm có NALUs lớp cơ sở và NALUs lớp cải tiến
Trang 7Hình 3.10 Mở rộng chất lượng trung bình [5]
Hình 3.11 Kết hợp mở rộng chất lượng, không gian và thời gian [5]
Sử dụng MGS, các NALUs lớp nâng cao được lựa chọn có thể bị loại bỏ để cung cấp các luồng con tại một tốc độ bit thấp hơn dần dần Điểm chất lượng/ tốc độ bit thấp nhất được cung cấp bởi luồng lớp cơ sở, chỉ bao gồm NALUs lớp cơ sở SVC đặc tả các thông số dự đoán bù chuyển động phải không thay đổi giữa những sự biểu diễn của các bức ảnh chính nhất định lớp cơ sở và lớp nâng cao Nó cản trở sự lệch giữa sự xây dựng
Trang 8lại bù chuyển động của các ảnh chủ chốt này tại bộ mã hóa và giải mã Sự lệch do vậy bị giới hạn tới không có các ảnh chủ chốt
3.3 Kỹ Thuật SVC theo không gian (Spatial scalability):
Trong trường hợp mở rộng không gian (hình 3.11), lớp cơ sở có độ phân giải thấp nhất và các lớp cải tiến liên tiếp có thể được giải mã để tạo ra độ phân giải cao hơn
Khung video đầu vào A được hạ tần số lấy mẫu tại bộ mã hóa để tạo ra dạng A’ độ phân giải thấp Khung A’ được mã hóa tạo ra lớp cơ sở 0 và có thể được giải mã để gửi đến đầu ra độ phân giải thấp khung A0 Bộ mã hóa xây dựng lại A0 và tăng tần số lấy mẫu để tạo một khung tham khảo có độ phân giải như ban đầu (A) Khung tham khảo này được sử dụng như một tham khảo dự đoán, cho phép bộ mã hóa tạo ra lớp cải tiến (lớp 1) Tăng tần số lấy mẫu A0 sẽ là một tham khảo dự đoán tốt cho khung A bởi vì nó là cùng một khung, với méo do hạ tần số lấy mẫu, mã hóa và tăng tần số lấy mẫu
Một bộ giải mã lớp cải tiến tăng số mẫu A0 và sử dụng nó để xây dựng lại khung cải tiến được giải mã A1 Với mở rộng không gian, quá trình này có thể được lặp lại để đưa ra một tầng của các lớp 0,1,2 Lớp có độ phân giải cao nhất có cùng độ phân giải với chuỗi ban đầu; lớp thấp hơn được mã hóa tại những độ phân giải nhỏ dần
Lớp cơ sở của luồng bit mở rộng không gian được mã hóa sử dụng công cụ
H.264/AVC Mã hóa một MB trong một lớp cải tiến yêu cầu một số thay đổi phụ thuộc vào kiểu dự đoán từ lớp thấp hơn H264/SVC đi ra ngoài tiếp cận tăng tần số lấy mẫu lớp thấp hơn và cung cấp vài chế độ dự đoán mới nhằm cải thiện hiệu suất mã hóa của kỹ thuật nén mở rộng không gian
Trong lớp cải tiến, bộ mã hóa trong hình 3.11, có một số tùy chọn cho việc dự đoán MB hiện tại Đầu tiên, tất cả các tùy chọn dự đoán thông thường đều sẵn sàng Các mode Intra sử dụng các mẫu từ khung hiện thời tại độ phân giải lớp cải tiến, các mode inter sử dụng các mẫu từ các khung được xây dựng lại và được mã hóa trước đấy tại độ phân giải lớp cải tiến Thứ 2, các tùy chọn xa hơn dưới đây cũng sẵn sàng, sử dụng lớp thấp hơn được tăng tần số lấy mẫu, lớp cơ sở trong hình 3.12, hoặc lớp cải tiến độ phân giải thấp hơn tiếp theo như là lớp tham chiếu Lưu ý rằng, vị trí MB hiện tại tương ứng với một khối nhỏ hơn trong lớp có độ phân giải thấp hơn Giả sử một khối tương ứng 8x8 trong lớp tham khảo thấp hơn, vì vậy được gọi là tỉ lệ 2, hay 2x độ phân giải ngang và dọc trong lớp cải tiến Tuy vậy, các hệ số tỉ lệ giữa các lớp tùy ý được hỗ trợ bởi H264/SVC Các tùy chọn dự đoán:
1 Nâng cấp lớp tham khảo:
Với các khối Intra, co giãn lớp tham khảo tới cùng độ phân giải như lớp hiện tại (hình 10.8) và sử dụng lớp tham khảo như là tham khảo dự đoán phụ
Trang 92 Chế độ cơ sở: sử dụng các lựa chọn dự đoán từ khối lớp tham khảo.
Trang 10Hình 3.12 Mở rộng chất lượng [5]
Hình 3.13 Mở rộng không gian 2 lớp [5]
Trang 11Khi mà cờ mode cơ sở được thiết lập là 1, chỉ phần dư được gửi trong lớp cải tiến
và không có các lựa chọn dự đoán phụ, tức là không có các chế độ dự đoán bên trong hoặc giữa các phân vùng, các tham chiếu và các vector chuyển động
Nếu khối cùng vị trí trong lớp tham khảo được mã hóa trong mode intra, khối intra xây dựng lại từ lớp tham khảo được tăng tần số lấy mẫu sử dụng bộ lọc đáp ứng xung giới hạn để tạo ra một dự đoán cho MB hiện tại Dự đoán này được trừ từ MB để tạo ra phần dư lớp cải tiến
Nếu khối cùng vị trí trong lớp cải tiến được mã hóa trong mode Inter, khối lớp cải tiến được dự đoán sử dụng dự đoán inter , với các chỉ số ảnh tham khảo như nhau, các lựa chọn phân vùng được tăng số lấy mẫu từ những phân vùng trong lớp tham khảo và các vector chuyển động được chia tỉ lệ từ các vector chuyển động lớp tham khảo
3 Dự đoán vector chuyển động từ lớp tham khảo
Nếu cờ dự đoán chuyển động được đặt là 1, phần vùng MB lớp cải tiến hiện tại được
dự đoán sử dụng dự đoán inter với những chỉ số ảnh tham khảo giống nhau như khối lớp tham khảo tương ứng và sự khác biệt vector chuyển động (MVD) được tạo nhờ sử dụng các vector chuyển động được tăng tỉ lệ của lớp tham khảo như các bộ dự đoán
4 Dự đoán dư thừa
Khi một cờ dự đoán dư thừa được đặt là 1, dư thừa lớp cải tiến được dự đoán từ dư thừa lớp tham khảo Đầu tiên, phần dư lớp tham khảo được tăng số lấy mẫu sử dụng phép nội suy tuyến tính và phần dư đã tăng số lấy mẫu được trừ từ khối lớp cải tiến ban đầu Sau
đó , phần dư lớp cải tiến được hình thành bằng việc sử dụng bất cứ phương pháp nào mô
tả trước đó, tức là dự đoán intra/inter thông thường hoặc dự đoán mode cơ sở Tín hiệu khác nhau thu được được biến đổi , mã hóa và truyền như thường lệ
Cần lưu ý là dự đoán giữa các lớp bị bắt buộc như sau Đầu tiên, chỉ các MB lớp cải tiến là những cái mà các mẫu tham chiếu cùng vị trí được mã hóa intra (dự đoán intra bắt buộc) Thứ 2, dự đoán intra bắt buộc là cố định với dự đoán liên lớp của các lớp cao hơn Điều này có nghĩa là các MB được mã hóa intra trong các lớp tham khảo có thể được xây dựng không cần phải xây dựng lại bất cứ MB được mã hóa inter nào Do vậy mỗi lớp
có thể được giải mã sử dụng một vòng bù chuyển động đơn (giải mã vòng đơn), dẫn tới
sự phức tạp của bộ giải mã thấp hơn đáng kể so với mã hóa video mở rộng trong các chuẩn sớm hơn
Trang 12IV.Sơ đồ thuật toán SVC theo không gian (Spatial scalability)
thực hiện đa phân giải ảnh dùng băng lọc số
1 Băng lọc số (Filter Bank)
- Filter Bank là một mảng các bộ lọc thông dải phân tách tín hiệu đầu vào thành nhiều thành phần, mỗi bộ phận mang một băng tần phụ duy nhất của tín hiệu gốc Một ứng dụng của filter bank là bộ cân bằng đồ họa , có thể làm suy giảm các thành phần với tần số khác nhau và kết hợp chúng thành một phiên bản sửa đổi của tín hiệu gốc Quá trình phân tách được thực hiện bởi filter bank được gọi là phân tích (có nghĩa là phân tích tín hiệu theo các thành phần của nó trong mỗi băng con); đầu ra của phân tích được gọi là tín hiệu băng con có càng nhiều băng con cũng như có các
bộ lọc trong filter bank Quá trình tái cấu trúc được gọi là tổng hợp , nghĩa là phục hồi tín hiệu hoàn chỉnh do quá trình lọc.
(a) băng lọc phân tích , (b) bộ lọc thông thấp và thông cao
- Nguyên tắc cơ bản trong quá trình mã hoá ảnh băng con là phân chia ảnh thành nhiều dải tần số thông qua các bộ lọc thông thấp, thông dải và thông cao
- Gọi L và H tương ứng là các bộ lọc thông thấp và thông cao một chiều
Trang 13(c ) phân vùng trong miền tần số, (d) Băng lọc tổng hợp
- Tần số 2 chiều của ảnh được tách ra từng chiều theo trục w1 và w2
- Hình 3c mô tả băng lọc đượcphân thành 4 vùng tần số LL, LH, HL và HH Vùng trung tâm (LL) là vùng có tần số thấp theocả hai hướng Bốn góc (HH) là vùng có các thành phần tần số cao theo cả hai hướng Bốn vùngbên cạnh (HL, LH) là các vùng có tần số thấp và tần số cao, mỗi thành phần đi theo một hướng
- Sau khi lượng tử, mã hoá, lưu trữ, truyền và giải mã ảnh, mỗi băng con sẽ được tăng mẫu với hệ số 2 (hình 3d) và thông qua các bộ lọc để loại bỏ các thành phần chồng phổ (alias) của tín hiệu sinh ra do các bộ tăng mẫu
2 Sơ đồ thuật toán SVC theo không gian (Spatial scalability) thực hiện đa phân giải ảnh dùng băng lọc số.
- Đồng thời các khung video cũng sẽ được hạ tần số lấy mẫu để tạo ra các khung có độ phân giải thấp và được mã hóa để đưa vào làm lớp cơ sở dùng để làm khung tham khảo và đưa vào làm một substream
- Tín hiệu đầu vào là video được chuyển đến băng lọc số để phân tách thành nhiều thành phần với và được mã hóa dể trơ thành các lớp tăng cường, sau đó sẽ được đưa vào các substreams
- Các substream ở 2 bước trên được gộp lại thành bitstreams để có thể phục vụ cho việc truyền tải và lưu trữ
- Băng lọc phân tích được sử dụng ở nơi tạo ra các thiết bị livestream video hoặc nơi truyền video