Tải bản đầy đủ (.docx) (15 trang)

Kỹ thuật scalable video coding (SVC) trong nén video

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (682.94 KB, 15 trang )

ĐẠ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
Đề tài: Kỹ thuật Scalable Video Coding (SVC)
trong nén video
Giảng viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan

Hà Nội, Tháng 5 năm 2019

1


Mụ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
2



- 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.

3


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]
4


Hì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
5


đượ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.

6


Hì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

7


lạ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ụ.
8


2. Chế độ cơ sở: sử dụng các lựa chọn dự đoán từ khối lớp tham khảo.

9


Hì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]
10


Khi 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.

11


IV.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

12


(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

13


Băng lọc phân tích


Băng lọc tổng hợp

-

-

B
ă
ng lọc tổng
hợp được sử dụng tại các thiết
bị đầu cuối phát video ( máy tính, TV,
điện thoại ) . Các thiết bị sẽ nhận được bitstream phù hợp với cấu hình và băng thông mạng
của thiết bị đó.
Sau khi nhận được bitstream phù hợp thì dòng bitstream đó sẽ được giải mã tại các bộ giải
mã trong thiết bị.
Lớp cơ sở được giải mã lúc này sẽ dùng để tham khảo và kết hợp với các lớp tăng cường
dùng để gộp các thành phần được tách từ băng lọc phân tích tạo thành các khung video sau
đó được đưa qua băng lọc tổng hợp và đưa đến thiết bị đầu cuối

V. Kỹ thuật SVC theo không gian trong Youtube

14


Chất lượng video theo từng độ phân giải trên Youtube
-

Video được tải lên youtube với độ phân giải gốc là 1080p ( full HD)
Khi được phát trên youtube, video có thể tùy chọn được các độ phân giải khác nhau
Youtube đã app dụng kỹ thuật SVC theo không gian cho các video để phù hợp bới từng đường

truyền mạng của người dùng
Ngoài ra Youtube còn áp dụng kỹ thuật SVC theo các kiểu khác nhau như thời gian , chất lượng

Điều chỉnh tốc dộ phát của video trên Youtube

15



×