ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VŨ NAM DƢƠNG
CÁCH NÉN VIDEO TRONG HỆ THỐNG
HỘI NGHỊ TRUYỀN HÌNH ỨNG DỤNG TRONG VIỆC
HỌP GIAO BAN TRỰC TUYẾN, TẬP HUẤN, ĐÀO TẠO
CÁN BỘ TRONG NGÀNH GIÁO DỤC TỈNH QUẢNG NINH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2020
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VŨ NAM DƢƠNG
CÁCH NÉN VIDEO TRONG HỆ THỐNG
HỘI NGHỊ TRUYỀN HÌNH ỨNG DỤNG TRONG VIỆC
HỌP GIAO
89 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 344 | Lượt tải: 0
Tóm tắt tài liệu Luận văn Cách nén video trong hệ thống hội nghị truyền hình ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh Quảng Ninh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
O BAN TRỰC TUYẾN, TẬP HUẤN, ĐÀO TẠO
CÁN BỘ TRONG NGÀNH GIÁO DỤC TỈNH QUẢNG NINH
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: PGS TS. Đỗ Năng Toàn
THÁI NGUYÊN - 2020
i
LỜI CAM ĐOAN
Tên tôi là: Vũ Nam Dƣơng.
Sinh ngày: 30/12/1986.
Học viên lớp cao học CK17B - Trƣờng Đại học Công nghệ Thông tin và
Truyền thông - Đại học Thái Nguyên.
Hiện đang công tác tại: Trƣờng THPT Vũ Văn Hiếu, thành phố Hạ Long,
tỉnh Quảng Ninh.
Xin cam đoan: Đề tài “Cách nén video trong hệ thống hội nghị truyền
hình (HNTH) - Ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo
cán bộ trong ngành giáo dục tỉnh Quảng Ninh” do PGS TS. Đỗ Năng Toàn
hƣớng dẫn là công trình nghiên cứu của riêng tôi. Tất cả tài liệu tham khảo
đều có nguồn gốc, xuất xứ rõ ràng.
Tác giả xin cam đoan tất cả những nội dung trong luận văn đúng nhƣ nội
dung trong đề cƣơng và yêu cầu của thầy giáo hƣớng dẫn. Nếu sai tôi hoàn
toàn chịu trách nhiệm trƣớc hội đồng khoa học và trƣớc pháp luật.
Thái Nguyên, ngày 16 tháng 9 năm 2020
Tác giả luận văn
Vũ Nam Dƣơng
ii
LỜI CẢM ƠN
Sau một thời gian nghiên cứu và làm việc nghiêm túc, đƣợc sự động viên,
giúp đỡ và hƣớng dẫn tận tình của Thầy giáo hƣớng dẫn PGS TS. Đỗ Năng Toàn,
luận văn với Đề tài “Cách nén video trong hệ thống hội nghị truyền hình - Ứng
dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành
giáo dục tỉnh Quảng Ninh”.
Xin bày tỏ lòng biết ơn sâu sắc đến: Thầy giáo hƣớng PGS TS. Đỗ Năng
Toàn đã tận tình chỉ dẫn, giúp đỡ tôi hoàn thành luận văn này.
Phòng đào tạo Sau đại học Trƣờng Đại học Công nghệ Thông tin và
Truyền thông đã giúp đỡ tôi trong quá trình học tập cũng nhƣ thực hiện
luận văn.
Sở Giáo dục và Đào tạo tỉnh Quảng Ninh, trƣờng THPT Vũ Văn Hiếu
nơi tôi công tác đã tạo điều kiện tối đa cho tôi thực hiện khóa học này.
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên,
khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và
hoàn thành luận văn này.
Thái Nguyên, ngày 16 tháng 9 năm 2020
Tác giả luận văn
Vũ Nam Dƣơng
iii
MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii
DANH MỤC KÝ HIỆU, CÁC TỪ VIẾT TẮT ................................................ v
LỜI MỞ ĐẦU ................................................................................................... 1
CHƢƠNG I. KHÁI QUÁT VỀ HỘI NGHỊ TRUYỀN HÌNH VÀ BÀI
TOÁN NÉN VIDEO ........................................................................................ 3
1.1 Khái quát về hội nghị truyền hình ............................................................ 3
1.1.1 Giới thiệu ............................................................................................ 3
1.1.2. Các thành phần của một hệ thống Hội nghị truyền hình .................. 5
1.2 Bài toán nén video .................................................................................... 6
1.2.1 Nén video trong hệ thống hội nghị truyền hình .................................. 6
1.2.2 Một số cách tiếp cận nén video trong Hội nghị truyền hình .............. 8
CHƢƠNG II. KỸ THUẬT NÉN VÀ GIẢI NÉN MPEG-4 H.264/AVC .. 21
2.1 Nguyên lý hoạt động cơ bản................................................................... 21
2.1.1 Tổng quan về chuẩn nén ................................................................... 21
2.1.2 Sơ đồ mã hóa .................................................................................... 36
2.1.3 Sơ đồ giải mã .................................................................................... 37
2.2 Khối nén thời gian .................................................................................. 38
2.2.1 Dự đoán một chiều (mã hóa ảnh Prediction). .................................. 38
2.2.2 Dự đoán hai chiều( mã hóa ảnh Bidiriectional Prediction) ............ 39
2.2.3 Sơ đồ nguyên lý nén ảnh B. .............................................................. 40
2.2.4 Bù chuyển động trong các slice B .................................................... 40
2.2.5 Dự đoán liên ảnh (Inter-Frame) ...................................................... 43
2.2.6 Mã hóa ảnh SP (switching P) và SI (switching I) ............................ 46
2.3 Khối nén không gian .............................................................................. 47
2.3.1 Chia ảnh thành các MacroBlock ...................................................... 48
2.3.2 Dự đoán trong ảnh (Intra-frame) ..................................................... 49
iv
2.3.3 INTRA LUMA 4 x 4 .......................................................................... 50
2.3.4 INTRA LUMA 16 x 16 ...................................................................... 54
2.3.5 INTRA CHROMA 8x8 ...................................................................... 56
2.3.6 INTRA-PCM ..................................................................................... 56
2.3.7 Dự đoán trọng số .............................................................................. 57
CHƢƠNG III. CHƢƠNG TRÌNH THỬ NGHIỆM .................................. 59
3.1 Phân tích yêu cầu .................................................................................... 59
3.1.1 Nén – giải nén của H.264/AVC ........................................................ 59
3.1.2 Lưu đồ giải thuật .............................................................................. 63
3.2 Chƣơng trình mô phỏng nén-giải nén của H.264/AVC bằng Matlab .... 64
3.3 Một số kết quả ........................................................................................ 66
PHẦN KẾT LUẬN ........................................................................................ 69
TÀI LIỆU THAM KHẢO ............................................................................ 70
PHỤ LỤC ....................................................................................................... 71
v
DANH MỤC KÝ HIỆU, CÁC TỪ VIẾT TẮT
DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform)
DPCM Điều xung mã vi sai (Differential Pulse Code
Modulation)
DWT Biến đổi Wavelet rời rạc (Discrete Wavelet
Transform)
FLC Mã hóa có chiều dài cố định (Fixed-Length Code)
GMC Bù chuyển động toàn phần (Global Motion
Compensation)
ICT Biến đổi nguyên Cosine rời rạc (Integer Discrete
Cosine Transform)
IDCT Biến đổi ngược Cosine rời rạc (Inverse Discrete
Cosine Transform)
IP Giao thức Internet ( Internet Protocol)
JPEG Chuẩn nén ảnh của ủy ban JPEG quốc tế (Joint
Photographic Experts Group)
JPEG2000 Chuẩn nén ảnh JPEG2000
LOSSLESS Kỹ thuật nén ảnh không tổn hao (không mất dữ liệu)
LOSSY Kỹ thuật nén ảnh có tổn hao (có mất dữ liệu)
MB Đa khối (Macroblock)
MC Bù chuyển động (Motion Compensation)
ME Ước lượng chuyển động(Motion Estimate)
MSE Sai số bình phương trung bình (Mean Square Error)
MPEG Nhóm chuyên gia nén ảnh động (Moving Pictures
Experts Group)
NAL Lớp trừu tượng mạng (Network Abstraction Layer)
NNS Tìm ở khối gần nhất (Nearest Neighbors Search)
vi
PCM Điều xung mã (Pulse Code Modulation)
PSNR Tỷ số tín hiệu đỉnh trên nhiễu (Peak Signal to Noise
Ratio)
QP Thông số lượng tử (Quantization Parameter)
RGB Ba màu c ơ bản màu đỏ/Xanh/Lam
(Red/Green/Blue)
RLC Mã hoá dọc chiều dài (Run Length Coding)
VCL Lớp mã hóa Video (Video Coding Layer)
VLC Mã có chiều dài thay đổi (Variable Length Code)
VO Đối tượng Video (Video Object)
ISO Tổ chức quốc tế về tiêu chuẩn chất l ư ợng
(International Organization for Standardization)
IEC Ủy ban kỹ thuật điện quốc tế (International
Electro-technical Commission)
1
LỜI MỞ ĐẦU
Một trong những đặc điểm nổi bật của thời đại ngày nay là sự phát triển rất
nhanh của khoa học và công nghệ. Các cuộc cách mạng khoa học trên các lĩnh vực:
tin học, truyền thông, công nghệ không chỉ làm thay đổi mọi mặt của đời sống
kinh tế - xã hội mà còn có tác động mạnh mẽ đến giáo dục và đào tạo, góp phần đổi
mới phƣơng pháp, nâng cao hiệu quả và chất lƣợng trong giáo dục. Dƣới ảnh hƣởng
của các cuộc cách mạng khoa học, nhiều phƣơng tiện kỹ thuật dạy học hiện đại xuất
hiện,việc sử dụng các phƣơng tiện nhƣ: Hệ thống trang thiết bị nghe nhìn, thiết bị
và bài giảng tƣơng tác, học tập qua mạng, tìm kiếm và khai thác những tài nguyên
vô cùng quý giá và bổ ích từ Internet trong quá trình học và dạy học chính là yếu
tố chính đòi hỏi phải có sự đổi mới môi trƣờng giáo dục, đổi mới cách dạy và cách
học ở mọi cấp học.
Hội nghị truyền hình nhƣ hiện nay đã đóng góp một phần làm cho khoảng
cách địa lý đã không còn là trở ngại quá lớn. Sử dụng giải pháp hội nghị truyền hình
sẽ tiết kiệm đƣợc rất nhiều thời gian đi lại, học, họp và đào tạo đồng thời giải quyết
đƣợc vấn đề chi phí đi lại, ăn ở, sinh hoạt của các đại biểu tham gia các buổi học,
đào tạo tại các địa điểm khác nhau, giảm các rủi ro tai nạn trên đƣờng đi cho những
ngƣời tham gia. Ngoài ra, có một chiến lƣợc đúng đắn trong việc triển khai giải
pháp này sẽ giúp cho tỉnh Quảng Ninh có một môi trƣờng chia sẻ thông tin hiệu quả,
tận dụng đƣợc tối đa các chi phí đầu tƣ.
Với hạ tầng truyền thông ngày càng đƣợc củng cố và phát triển, kinh phí thuê
đƣờng truyền ngày càng giảm thì việc triển khai hệ thống hội nghị truyền hình của
tỉnh Quảng Ninh mang tính thực tiễn và khả thi rất cao, góp phần thành công trong
công cuộc đổi mới và phát triển của tỉnh, của đất nƣớc.
Tuy nhiên, với việc triển khai hệ thống hội nghị truyền hình trên nền tảng cơ
sở hạ tầng đang có thì việc các tín hiệu (video, hình ảnh, bài giảng...) đƣợc truyền đi
thông qua các nhà mạng Internet. Điều này sẽ làm ảnh hƣởng đến chất lƣợng của
các thông tin đi và đến. Có nhiều giải pháp để giải quyết vấn đề này nhƣ: Tăng băng
thông, nâng cấp các thiết bị, áp dụng các chuẩn nén để nén tín hiệu âm thanh và
hình ảnh xuống mức thấp nhất mà vẫn đảm bảo chất lƣợng Với việc tăng băng
2
thông hay nâng cấp các thiết bị đòi hỏi chi phí lớn cũng nhƣ các thiết bị tiên tiến
mới, vì vậy em lựa chọn phƣơng pháp áp dụng các kỹ thuật nén mới để áp dụng cho
bài toán này.
Hiện có rất nhiều các chuẩn nén để có thế áp dụng vào bài toán này, tuy nhiên
em chọn nghiên cứu chuẩn nén MPGE-4 H.264/AVC để đƣa vào ứng dụng. Để có
thể đi sâu vào nghiên cứu chuẩn nén MPEG-4 H.264/AVC, thì chúng ta cần nắm
đƣợc các thuật ngữ, các kỹ thuật cần thiết cho việc nén tín hiệu, cũng nhƣ là các ƣu
nhƣợc điểm của các chuẩn nén trƣớc đó đã mang lại.
Vì đây là một đề tài lý thuyết, nên bƣớc quan trọng nhất của quá trình làm
luận văn là tìm kiếm tài liệu và tổng hợp nó thành một chuỗi các kiến thức liên tục
tránh lan man và yếu tố thuyết phục ngƣời tham khảo cũng rất quan trọng, do đó
bên cạnh trình bày chi tiết về cách thức nén, em đã cố gắng mô phỏng một phần ƣu
điểm của chuẩn nén này nhằm góp phần sinh động cho đề tài.
TỔ CHỨC LUẬN VĂN
Luận văn đƣợc trình bày thành 3 chƣơng và 1 phụ lục.
Chƣơng I: KHÁI QUÁT VỀ HỘI NGHỊ TRUYỀN HÌNH VÀ BÀI TOÁN
NÉN VIDEO.
Chƣơng II: KỸ THUẬT NÉN VÀ GIẢI NÉN MPEG-4 H.264/AVC..
Chƣơng III: CHƢƠNG TRÌNH THỬ NGHIỆM
Tuy nhiên, do kinh nghiệm còn hạn chế, đồng thời MPEG-4 H.264/AVC là
một kỹ thuật còn trong giai đoạn nghiên cứu và phát triển, nên chắc chắn luận văn
sẽ không tránh khỏi sai sót, kính mong Quý Thầy Cô và bạn bè đồng nghiệp đóng
góp ý kiến nhằm hoàn thiện tốt luận văn này.
3
CHƢƠNG I. KHÁI QUÁT VỀ HỘI NGHỊ TRUYỀN HÌNH VÀ BÀI
TOÁN NÉN VIDEO
1.1 Khái quát về hội nghị truyền hình
1.1.1 Giới thiệu
Vào những năm 80 của thế kỷ XX, Hội nghị truyền hình đã mở ra một
hƣớng mới cho thế giới trong việc trao đổi thông tin khi các đối tƣợng cần giao
lƣu ở các vị trí khác nhau mà không có khái niệm về mặt địa lý. Khác với các
phƣơng tiện trao đổi thông tin khác nhƣ điện thoại, dữ liệu, Hội nghị truyền
hình cho phép mọi ngƣời tiếp xúc với nhau, nói chuyện với nhau thông qua
tiếng nói và hình ảnh bằng hình ảnh trực quan. Việc sử dụng công nghệ hội nghị
truyền hình, cho thấy hiệu quả sử dụng của nó đã đem lại lợi ích hiệu quả kinh
tế rõ rệt, ứng dụng truyền hình cho việc giao lƣu, gặp gỡ, hội nghị, hội thảo, đào
tạo, chăm sóc sức khỏe từ xa trong ngành y tế, các lĩnh vực khác trong nền kinh
tế là sự hợp tác, nghiên cứu và phát triển không ngừng đã đem lại lợi ích và hiệu
quả kinh tế vô cùng to lớn cho xã hội.
Thế hệ đầu tiên của hệ thống thiết bị hội nghị truyền hình đƣợc thực
hiện qua mạng kỹ thuật số đa dịch vụ ISDN dựa trên tiêu chuẩn H.230
của Tổ chức ITU;
Thế hệ thứ hai của hệ thống thiết bị hội nghị truyền hình ứng dụng cho
máy tính cá nhân và công nghệ thông tin, và vẫn dựa vào mạng ISDN và các
thiết bị mã hoá/giải mã, nén/giải nén - CODEC;
Thế hệ thứ ba của hệ thống thiết bị hội nghị truyền hình ra đời trên cơ sở
mạng cục bộ LAN phát triển rất nhanh và có mặt ở khắp mọi nơi trên thế giới.
Hiện nay, công nghệ truyền hình với chất lƣợng cao sử dụng chuẩn H.230
có tính ƣu việt, đã và đang thay thế dần các phƣơng tiện thông tin khác và đã
đƣợc ứng dụng vào tất cả các ngành kinh tế quốc dân từ quốc phòng, chăm sóc
sức khỏe, đào tạo, nghiên cứu khoa học, v.v... và cuối cùng là một công nghệ
truyền thông không thể thiếu đƣợc trong ngành kinh tế quốc dân. Công nghệ
hiện đại nhất hiện nay của hệ thống thiết bị hội nghị truyền hình là sử dụng theo
tiêu chuẩn công nghệ H.323 qua giao thức IP. Khi công nghệ HD (High
4
Definition) chính thức gia nhập thị trƣờng. Với chất lƣợng hình ảnh rõ nét gấp
10 lần so với chuẩn SD (Standard Definition), độ phân giải hình ảnh đạt đến
720p; Full HD 1080p, nén Video chuẩn H.264, âm thanh AAC-LD, hội nghị
truyền hình HD thực sự thoả mãn đƣợc nhu cầu "giao tiếp ảo". Công nghệ HD
giúp các tổ chức, doanh nghiệp thay thế các cuộc họp dày đặc bằng những cuộc
họp trực tuyến.
Thế hệ thứ tư của hệ thống thiết bị truyền hình ra đời từ 2014 trên cơ sở
một loạt các tiến bộ vƣợt bậc về công nghệ thông minh của hãng Trueconf: (1)
Áp dụng đƣợc chuẩn nén H.264 SVC trong việc truyền nhận dữ liệu, giúp cho
hình ảnh âm thanh đạt chất lƣợng cao cấp về hình ảnh và âm thanh với yêu cầu
băng thông cực thấp (Full HD 30 fps 1080p chỉ yêu cầu băng thông là 1024
Kbps); (2) Dùng công nghệ nhận dạng thông minh đối với siêu âm và hồng
ngoại để tiếp nhận tín hiệu từ bút điện tử cảm ứng vào màn hình không cảm
ứng, giúp cho ngƣời sử dụng có thể vẽ, xóa đƣợc bằng bút điện tử đa sắc màu
trên màn hình bất kỳ (khung hình trắng hoặc chứa nội dung đang trình chiếu).
Hình ảnh đang vẽ sẽ đƣợc truyền ngay lập tức tới các đầu cầu khác và ghi lại
đƣợc thành file ảnh cùng với hình ảnh nền đã trình chiếu; (3) Dùng công nghệ
nhận dạng thông minh đối với âm thanh trong tín hiệu thu đƣợc từ micro đa
hƣớng để phát hiện ra tiếng ngƣời, đâu là âm thanh do va chạm vật chất gây ra
(tạp âm), giúp cho hệ thống ngay lập tức phát hiện điểm cầu có ngƣời phát biểu
để tự động kích hoạt điểm cầu đó trở thành điểm cầu chính, làm cho việc điều
khiển các điểm cầu có thể thực hiện hoàn toàn tự động (các điểm cầu đều không
cần bật micro khi phát biểu, không cần tắt micro khi ngừng phát biểu); (4)
Dùng công nghệ nhận dạng và phán đoán thông minh đối với hình ảnh để tự
động điều chỉnh liên tục khuôn hình của camera vừa đủ theo vị trí của những
ngƣời dự họp, loại bỏ không gian thừa, tự đếm đƣợc số ngƣời dự họp theo từng
giây. Dùng công nghệ nhận dạng và phán đoán đối với hình ảnh khuôn mặt
ngƣời để tự động phát hiện chính xác ngƣời phát biểu trong số những ngƣời dự
họp và điều chỉnh camera quay chân dung ngƣời phát biểu (khi ngƣời phát biểu
di chuyển thì camera sẽ quay và zoom theo ngƣời đó).
5
1.1.2. Các thành phần của một hệ thống Hội nghị truyền hình
Các hệ thống đào tạo cán bộ trực tuyến đa điểm gồm 3 thành phần cơ
bản: thiết bị đầu cuối (Thiết bị VCS), thiết bị điều khiển đa điểm (MCU), thiết
bị vƣợt tƣờng lửa hoặc Gateway và Gatekeeper. Ngoài ra còn có các thiết bị
tùy chọn khác (thiết bị chia sẻ dữ liệu, thiết bị ghi hình lại hình ảnh Video
Conferencing, thiết bị lập lịch và quản lý các khóa đào tạo, )
- Thiết bị VCS: Có chức năng thu nhận hình ảnh, âm thanh (qua camera,
micro) mã hóa chúng rồi chuyển qua giao diện mạng. Các VCS còn có cổng
giao tiếp với máy tính (PC, Laptop) cho phép kết nối và trình chiếu các tài
liệu từ máy tính vào phiên làm việc. VCS sử dụng màn hình TV, màn hình
máy tính hoặc máy chiếu làm thiết bị hiển thị và có thể sử dụng bất kỳ hệ
thống âm thanh nào có sẵn.
- Thiết bị MCU: Có chức năng điều khiển đa điểm, cho phép kết nối
nhiều VCS vào một phiên làm việc. Hình ảnh, âm thanh từ các thiết bị VCS
đƣợc nhận về, trộn và chia hình hiển thị theo yêu cầu của ngƣời quản lý hệ
thống. Ngòai ra, MCU còn hỗ trợ kết nối các đầu cuối thoại (Voice only). Để
đáp ứng yêu cầu làm việc đa phƣơng tiện, đa mạng thiết bị MCU còn hỗ trợ
chuyển mã (transcoding) các yếu tố liên qua đến chất lƣợng nhƣ: giao diện
mạng, băng thông, chuẩn mã hóa Video/Audio, tốc độ khung hình
Các yêu cầu trên đây chỉ cần thiết trong hệ thống đào tạo cán bộ trực
tuyến đa điểm (3 điểm trở lên), trong trƣờng hợp kết nối các khóa học 2 điểm
cầu thì chỉ cần 2 thiết bị đầu cuối VCS tại 2 điểm.
a) Thiết bị VCS (Thiết bị đầu cuối)
Có chức năng thu nhận hình ảnh, âm thanh (quay camera, micro) mã hóa
chúng rồi chuyển qua giao diện mạng. Các VCS còn có cổng giao tiếp với
máy tính (PC, Laptop) cho phép kết nối và trình chiếu các tài liệu từ máy tính
vào phiên làm việc của hệ thống.VCS sử dụng màn hình TV, màn hình máy
tính hoặc máy chiếu làm thiết bị hiển thị và có thể sử dụng bất kỳ hệ thống âm
thanh nào có sẵn.
6
b) Thiết bị MCU (Thiết bị điều khiển đa điểm)
Có chức năng điều khiển đa điểm, cho phép kết nối nhiều VCS vào một
phiên làm việc. Hình ảnh, âm thanh từ các thiết bị VCS đƣợc nhận về, trộn và
chia hình hiển thị theo yêu cầu của ngƣời quản lý hệ thống. Ngoài ra, MCU
còn hỗ trợ kết nối các đầu cuối thoại (Voice only) vào phiên làm việc của hệ
thống. Để đáp ứng yêu cầu làm việc đa phƣơng tiện, đa mạng thiết bị MCU
còn hỗ trợ chuyển mã (transcoding) các yếu tố liên qua đến chất lƣợng của hệ
thống nhƣ: giao diện mạng, băng thông, chuẩn mã hóa Video/Audio, tốc độ
khung hình
1.2 Bài toán nén video
1.2.1 Nén video trong hệ thống hội nghị truyền hình
Giải pháp HNTH hiện nay có hai công nghệ chính là công nghệ SD
(Standard Definition) và công nghệ HD (High Definition), Full HD.
Công nghệ SD là công nghệ truyền hình cho chất lƣợng thông thƣờng
đƣợc phát triển từ những năm 80, công nghệ HD là công nghệ truyền hình chất
lƣợng cao. Công nghệ SD là công nghệ truyền hình từ thế hệ thứ hai, trong khi
đó công nghệ HD là công nghệ truyền hình mới nhất chính thức ra mắt từ năm
2006. Hiện nay các hãng sản xuất thiết bị truyền hình trên thế giới tập trung
phát triển công nghệ HD và Full HD.
Giao thức HD là giao thức video chất lƣợng cao nhất hiện nay, Với HD nó
cho phép các thiết bị kết cuối kết nối đến trung tâm HNTH với độ phân giải
1280x720 (720p) và tốc độ nằm trong khoảng từ 384Kbps đến 8Mbps. Việc
thiết lập HNTH trên nền HD yêu cầu các đối tƣợng tham gia kết nối đến trung
tâm tốc độ bằng nhau và đều có khả năng HD (hay phải là thiết bị HD).
So sánh trên cho thấy truyền hình HD có độ phân giải cao gấp 10 lần độ
phân giải truyền hình SD. Ví dụ sau so sánh chất lƣợng hình ảnh giữa HD và SD:
7
Công nghệ SD Công Nghệ HD
HD cung cấp nhiều nội dung thông tin hơn với màn hình 16:9, công nghệ
HD mang lại thêm 20% thông tin so với công nghệ SD cho khả năng bao quát
cao hơn, nội dung thông tin nhiều hơn.
Nhiều thông tin hơn với màn hình 16:9 :
SD (Standard Definition)
HD (High Definition)
Bảng sau là sự so sánh giữa công nghệ HD và công nghệ SD:
Tính chất HD (High Definition) SD (Standard
Definition)
Độ phân giải 720p (720´1280 pixels) CIF ( 288´352 pixels)
Xử lý hình động 25 ÷ 30 frames/s 15 frames/s
Băng thông yêu cầu 1Mbps+ 128Kbps+
Chuẩn Video H.261, H.263,H.264 H.261, H.263
Chuẩn Audio Tất cả Tất cả
8
1.2.2 Một số cách tiếp cận nén video trong Hội nghị truyền hình
Kỹ thuật nén ảnh số đang đóng một vai trò cực kỳ quan trọng trong các hệ
thống viễn thông và multimedia để giải quyết vấn đề băng thông của đƣờng
truyền. Các kỹ thuật nén video đều cố gắng làm giảm lƣợng thông tin cần thiết
cho một chuỗi các bức ảnh mà không làm giảm chất lƣợng của nó đối với ngƣời
xem. Nói chung, tín hiệu video thƣờng chứa đựng một lƣợng lớn các thông tin
thừa, chúng thƣờng đƣợc chia thành hai loại: thừa tĩnh bên trong từng frame
(statistical) và thừa động giữa các frame (subjective). Mục đích của nén video
là nhằm làm giảm số bit khi lƣu trữ và khi truyền bằng cách phát hiện để loại bỏ
các lƣợng thông tin dƣ thừa này và dùng các kỹ thuật Entropy mã hoá để tối
thiểu hoá lƣợng tin quan trọng cần giữ lại.
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 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, tức 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) và gây nên tổn hao dữ liệu và sự suy giảm
ảnh sau khi giải nén do việc xóa và làm tròn dữ liệu trong một khung hay
giữa các khung. Nó liên quan đến việc dùng các phép biến đổi tín hiệu từ
miền này sang miền khác.
Trong thực tế phƣơng pháp nén tổn hao thƣờng đƣợc sử dụng nhiều hơn
và các kỹ thuật nén tổn hao thƣờng sử dụng nhƣ: mã hóa vi sai, biến đổi cosin
rời rạc DCT, lƣợng tử vô hƣớng, quét zig-zag, mã hóa Entropy
9
1.2.2.1 Quá trình biến đổi
Bieán ñoåi Löôïng töû hoùa Maõ hoùa
T Q C
Bieán ñoåi ngöôïc Giaûi löôïng töû hoùa R Giaûi maõ D
Giaûi neùn -1
T
Tín hiệu ngõ vàoHình đƣợc I.1. Moâ biến hình đổi heä thoángnhằm neùn mục toån hao. đích biểu diễn một số liệu khác
thích hợp để nén hơn so với tín hiệu nguồn. Ở phía giải mã tín hiệu nén sẽ đƣợc
biến đổi ngƣợc lại để thu tín hiệu gốc. Một số phép biến đổi đƣợc áp dụng phổ
biến hiện nay nhƣ:
1.2.2.2 Đ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. Hình I.2. mô tả sơ đồ khối của bộ mã hóa và giải mã
DPCM.
Boä löôïng töû Maõ hoùa entropy
Boä tieân ñoaùn
Hình I.2. Boä maõ hoùa vaø boä giaûi maõ DPCM
Ví dụ
10
Mẫu tín hiệu vào 115 117 116 117 118 117 115 116
Sự khác nhau 2 -1 1 1 -1 -2 1
Dòng bit đƣợc nén nhƣ sau:
115 2 -1 1 1 -1 -2
1
1.2.2.3 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)
Vì ảnh gốc có kích thƣớc rất lớn cho nên trƣớc khi đƣa vào biến đổi
DCT, ảnh đƣợc phân chia thành các MB biểu diễn các mức xám của điểm ảnh.
Việc phân khối này sẽ làm giảm đƣợc một phần thời gian tính toán các hệ số
chung, mặt khác biến đổi cosin đối với các khối nhỏ sẽ làm tăng độ chính xác
khi tính toán với dấu phẩy tĩnh, giảm thiểu sai số do làm tròn sinh ra. Phép
biến đổi DCT cơ bản hoạt động dựa trên cơ sở ma trận vuông của mẫu sai số
dự đoán, kết quả cho ta một ma trận Y là những hệ số DCT đƣợc minh họa
nhƣ sau: Y = AXAT
Trong đó A là ma trận hệ số biến đổi, các thành phần của A nhƣ sau:
1
Ci Nếu i = 0
(2 j 1)i N
A C cos Với
i, j i 2N 2
Ci
N Nếu i > 0
N 1 N 1 (2 j 1)y (2i 1)x
Tƣơng đƣơng với Yx, y CxC y X i, jCos Cos
i0 J 0 2N 2N
Phép biến đổi DCT nguyên 4x4 của chuỗi ngõ vào X đƣợc cho bởi công thức
11
1 1 1 1
cos 0 cos 0 cos 0 cos 0
2 2 2 2
1 1 3 1 5 1 7
cos cos cos cos
2 8 2 8 2 8 2 8
A
1 2 1 6 1 10 1 14
cos cos cos cos
2 8 2 8 2 8 2 8
1 3 1 9 1 15 1 21
cos cos cos cos
2 8 2 8 2 8 2 8
Phép biến đổi ngược DCT cho bởi công thức:
X=ATYA
Tƣơng đƣơng với:
N 1 N 1 (2 j 1)y (2i 1)x
X i, j CxC yYx, yCos Cos
x0 y0 2N 2N
Biến đổi Hadamard
Là một ví dụ tổng quát hóa của biến đổi Fourier rời rạc, nó thực hiện các
phép toán cộng và trừ trên các ma trận 2m x 2m trực giao, đối xứng, tuyến
tínhđƣợc định nghĩa theo công thức sau:
1 T m
H n H n trong đó Hn là ma trận NxN với N = 2 , m thƣờng là các giá
trị 1, 2 ,3 tƣơng ứng với các khối 2x2, 4x4, và 8x8, Hn đƣợc tạo ra từ phép
toán Kronecker nhƣ sau: Hn = H1 H1..... H1 n lần.
Ví dụ H2 = H1 H1
1 1 1
Với H1=
2 1 1
1.2.2.4 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. Bảng này đƣợc
định nghĩa bởi từng ứng dụng cụ thể, các phần tử trong bảng lƣợng tử có giá trị
từ 1 đến 255 đƣợc gọi là các bƣớc nhảy cho các hệ số DCT. Quá trình lƣợng tử
đƣợc coi nhƣ là việc chia các hệ số DCT cho bƣớc nhảy lƣợng tử tƣơng ứng, kết
quả này sau đó sẽ đƣợc làm tròn xuống số nguyên gần nhất. Các hệ số năng
lƣợng thấp này, tƣợng trƣng cho các sự thay đổi pixel - pixel cỡ nhỏ, có thể bị
xóa mà không ảnh hƣởng đến độ phân giải của ảnh phục hồi. Tại bộ mã hoá sẽ
có một bảng mã và bảng các chỉ số nội bộ, từ đó có thể ánh xạ các tín hiệu ngõ
12
vào để chọn đƣợc các từ mã tƣơng ứng một cách tốt nhất cho tập hợp các hệ số
đƣợc tạo ra. Có 2 loại lƣợng tử hóa chủ yếu:
1.2.2.5 Lượng tử hóa 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. Lƣợng tử hóa thuận theo công thức FQ =
round(X/QP)
Lƣợng tử hóa ngƣợc theo công thức Y = FQ*QP. Với QP là bƣớc nhảy
lƣợng tử. Ví dụ quá trình giải lƣợng tử cho một tín hiệu ngõ vào nhƣ sau:
Y
QP = QP = QP = QP =
X
1 2 3 5
-4 -4 -4 -3 -5
-3 -3 -2 -3 -5
-2 -2 -2 -3 0
-1 -1 0 0 0
0 0 0 0 0
1 1 0 0 0
2 2 2 3 0
3 3 2 3 5
4 4 4 3 5
5 5 4 6 5
1.2.2.6 Lượng tử hóa 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. Vector lƣợng tử sẽ đƣợc lƣu ở cả bộ mã hóa và bộ giải
mã, quá trình nén một bức ảnh sử dụng lƣợng tử vector bao gồm các bƣớc sau.
13
Phân chia bức ảnh gốc thành các phân vùng MxN pixel
Chọn vector thích ứng nhất từ bảng mã
Truyền chỉ số của vector thích ứng đến bộ giải mã.
Tại bộ giải mã, ảnh cấu trúc lại sẽ xấp xỉ với phân vùng đã lựa chọn
vector lƣợng tử.
Và sơ đồ khối của lƣợng tử vector nhƣ sau:
ượ ử
Hình I.3. Quá trình l ng t vector
1.2.2.7 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ƣ: 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 (VLC)
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á. Bộ mã hóa có
độ dài thay đổi ánh xạ các ký hiệu ngõ vào thành một chuỗi từ mã có độ dài
thay đổi ở ngõ ra nhƣng chứa số lƣợng bít nguyên. Các ký hiệu có xác suất
cao sẽ đƣợc gán từ mã có độ dài ngắn, còn các ký hiệu có xác suất thấp sẽ
14
đƣợc gán từ mã có độ dài lớn hơn, do đó nó sẽ làm tối thiểu chiều dài trung
bình của từ mã. Tại phía giải nén có các chỉ định mã giống nhau đƣợc dùng để
khôi phục lại các giá trị dữ liệu gốc. Các loại mã hóa VLC cơ bản nhƣ: mã
hóa Huffman, mã hoá RLC, mã hóa Exp-Golomb
Mã hóa Huffman
Mã hóa Huffman là mã hóa thõa mãn tối ƣu tính prefix và phƣơng pháp
mã hóa thƣờng dựa vào mô hình thống kê. Dựa vào dữ liệu gốc, ngƣời ta tính
xác suất xuất hiện của các ký tự. Việc tính toán xác suất đƣợc thực hiện bằng
cách duyệt tuần tự tệp gốc từ đầu đến cuối và các ký tự nào có xác suất càng cao
thì từ mã càng ngắn nên giảm chiều dài trung bình của từ mã một cách rõ rệt.
Mã hóa Huffman thƣờng đƣợc biểu diễn dƣới dạng cây mã nhƣ sau:
0 1
0 0
1 1
0 1 u3 u4 0
1
u7
u1 u2 0
u6
u5
Hình I.4. Cây mã Huffman
Các bƣớc thực hiện mã hóa Huffman.
Bƣớc 1: Các nguồn tin đƣợc liệt kê trong cột theo thứ tự xác suất xuất hiện
giảm dần.
Bƣớc 2: Hai tin cuối có xác suất nhỏ nhất đƣợc hợp thành tin phụ mới có
xác suất bằng tổng xác suất các tin hợp thành.
... ở tốc độ 1- 8Mbps với độ trễ trong
khoảng 0.5-2s.
- Truyền hình quảng bá qua cáp, vệ tinh, mặt đất, DSL
- Truyền hình theo yêu cầu qua các kênh khác nhau.
- Đối với dịch vụ luồng dữ liệu hoạt động tốt ở tốc độ 50-1500kbps với
độ trễ 2s.
36
2.1.2 Sơ đồ mã hóa
Ảnh Biến đổi Lượng tử Sắp xếp Mã hóa
hiện tại DCT nguyên vô hướng trật tự Entropy
Dự đoán
chuyển
động
Ảnh Bù
trướ c chuyển
đó động
Chọn kiểu dự Dự
đoán Intra đoán 17 kiểu dự đoán Intra
Intra
Ảnh cấu Lọc tách Biến đổi Giải
trúc lại khối ngược lượng tử
Hình II.4 Sơ đồ khối mã hóa H.264/AVC
Một bức ảnh ngõ vào gồm có 3 thành phần màu cơ bản R, G, B, sẽ đƣợc
biến đổi thành Y, U, V sau đó ảnh sẽ đƣợc tách thành các khối MB có kích
thƣớc là nxn với n=2, 4, 8, và 16 tùy thuộc vào độ phức tạp của bức ảnh. Kích
thƣớc nhỏ 2x2 sẽ giảm tốc độ đƣờng truyền nhƣng thời gian mã hóa sẽ lâu hơn.
Ảnh đầu tiên hoặc điểm truy nhập ngẫu nhiên thì đƣợc mã hóa Intra, các ảnh
còn lại của dãy dùng dự đoán bù chuyển động từ các ảnh đã mã hóa trƣớc để mã
hóa Inter. Dữ liệu từ các MB cần đƣợc mã hóa sẽ đƣợc đƣa đến cả bộ trừ và bộ
dự đoán chuyển động. Bộ dự đoán chuyển động sẽ so sánh các MB mới đƣợc
đƣa vào với các MB tham khảo đã đƣợc đƣa vào trƣớc đó, rồi tìm ra các MB
trong frame tham khảo gần giống nhất với MB cần đƣợc mã hóa này. Bộ dự
đoán chuyển động sẽ tính toán vector chuyển động, vector này sẽ đặc trƣng cho
sự dịch chuyển theo cả 2 chiều ngang và thẳng đứng của MB mới cần đƣợc mã
hóa so với frame tham khảo. Bộ dự đoán chuyển động cũng đồng thời gửi các
MB tham khảo tới bộ trừ với MB mới cần đƣợc mã hóa, để tạo ra các sai số tiên
đoán đặc trƣng cho sự sai khác giữa MB dự đoán và MB cần mã hóa.
37
Tín hiệu sai khác này sẽ đƣợc biến đổi nguyên để tạo ra tập hệ số biến đổi
sau đó đƣợc đƣa qua bộ lƣợng tử để làm giảm số lƣợng bits cần truyền. Đến
đây, các hệ số lƣợng tử đƣợc chia làm 2 hƣớng, một hƣớng sắp xếp lại và đƣa
vào mã hóa Entropy, tại đây số bits đặc trƣng cho các hệ số tiếp tục đƣợc làm
giảm đi một cách đáng kể, hƣớng còn lại đƣa qua bộ giải lƣợng tử và biến đổi
ngƣợc để tạo ra khối sai số. Sau đó đƣa vào bộ cộng với tín hiệu dự đoán và
đƣợc lọc tách khối trong vòng nhằm làm giảm hiệu ứng khối tạo thành ảnh cấu
trúc lại, đƣợc lƣu trữ nhằm mục đích ƣớc lƣợng và dự đoán chuyển động. Dữ
liệu tại đầu ra bộ mã hóa Entropy sẽ kết hợp với vector chuyển động và các
thông tin khác nhƣ thông tin về ảnh I, ảnh P, và ảnh B rồi truyền ra ngoài kênh
truyền dƣới dạng dòng bit nén của các đơn vị NAL, gửi tới bộ giải mã. Trong
H.264/AVC, có hỗ trợ 5 kiểu mã hóa ảnh: đó là ảnh I, P, B, SP và SI.
2.1.3 Sơ đồ giải mã
Ảnh Bù chuyển
trước động
đó
Dự đoán
Intra
Ảnh cấu Lọc tách Biến Giải Sắp Giải mã
trúc lại khối đổi lượng xếp Entropy
ngược tử trật tự
Hình II.5 Sơ đồ khối giải mã H.264/AVC
Đầu tiên bộ giải mã Entropy nhận đƣợc các dòng bit nén từ NAL, một mặt
sẽ giải mã Entropy để tách thông tin đầu mục và vector dự đoán chuyển động
đƣa vào bù chuyển động, mặt khác các hệ số DCT đƣợc giải lƣợng tử và biến
38
đổi ngƣợc IDCT để biến tín hiệu từ miền tần số thành tín hiệu ở miền không
gian, các hệ số biến đổi ngƣợc thu đƣợc sẽ cộng với tín hiệu dự đoán. Sau đó
một phần đƣợc đƣa qua bộ lọc tách khối để loại bỏ hiện tƣợng nhiễu trƣớc khi
đƣa vào lƣu trữ, phần còn lại đƣợc sử dụng cho mục đích dự đoán.
2.2 Khối nén thời gian
Để truyền một bức ảnh động lên màn hình, thực chất máy phát hình sẽ
truyền một chuỗi các ảnh tĩnh có tọa độ chênh lệch liên tiếp với tốc độ khá
cao 30 ảnh/s đối với hệ NTSC và 25 ảnh/s đối với hệ PAL. Do cảm nhận của
mắt ngƣời và hiện tƣợng lƣu ảnh trên võng mạc nên ta xem nhƣ nó đang
chuyển động liên tục trên màn hình, do đó một frame tại thời điểm nhất định
và các frame đứng trƣớc hay sau đó cơ bản là giống nhau, chỉ có khác nhau về
tọa độ của phần tử chuyển động, dẫn đến sự dƣ thừa về mặt thời gian. Nén
theo thời gian có nghĩa là bỏ qua phần thông tin giống nhau giữa các frame
chỉ mã hóa phần thông tin sai khác, các phần tử chuyển động.
2.2.1 Dự đoán một chiều (mã hóa ảnh Prediction).
Khi một đối tƣợng chuyển động chậm thì khoảng thay đổi tọa độ của 2
frame liên tiếp là nhỏ, không vƣợt ra ngoài vùng tìm kiếm và hệ thống sẽ sử
dụng phƣơng pháp dự đoán thuận hay còn gọi là dự đoán một chiều để tạo ảnh
P. Ảnh P chứa dữ liệu ảnh, vectơ chuyển động của ảnh hiện tại và ảnh trƣớc đó
hoặc cả hai, ảnh P có thể sử dụng các ảnh I hoặc P ngay sát phía trƣớc nó để bù
chuyển động và tiên đoán các ảnh tiếp theo nên ta có cấu trúc ảnh IPPPPIP
Mỗi khối ảnh trong ảnh P có thể đƣợc mã theo kiểu tiên đoán hoặc mã một cách
độc lập, do nó sử dụng nén theo không gian và thời gian nên hiệu quả nén cao
hơn so với ảnh I.
Ngoài các kiểu bù chuyển động trên, MB P có thể đƣợc mã hóa trong kiểu
SKIP. Đối với kiểu mã hóa này, cả tín hiệu lỗi dự đoán lƣợng tử hóa lẫn vector
chuyển động hoặc tham số đều không đƣợc truyền đi và kiểu mã hóa này rất có
lợi trong việc mã hóa một bức ảnh lớn mà không có sự thay đổi chuyển động,
chỉ tốn một vài bit để mã hóa.
39
Sơ đồ khối nguyên lý nén ảnh P.
Aûnh döï ñoaùn P’
Ñaùnh giaù Döï ñoaùn Boä nhôù aûnh
chuyeån ñoäng chuyeån ñoäng
Hình II.6. Sơ đồ khối nguyên lý nén ảnh P
2.2.2 Dự đoán hai chiều( mã hóa ảnh Bidiriectional Prediction)
Khi đối tƣợng chuyển động nhanh thì khoảng thay đổi tọa độ của 2
frame liên tiếp là lớn, vƣợt ra ngoài vùng tìm kiếm, không thể thực hiện dự
đoán bù chuyển động từ các khung hình trƣớc đƣợc, khối điểm ảnh biểu diễn
đối tƣợng chuyển động sẽ đƣợc mã hóa dạng ảnh I và sử dụng kỹ thuật bù
chuyển động theo 2 hƣớng thời gian còn gọi là nội suy bù chuyển động.
Trong kỹ thuật bù chuyển động theo 2 hƣớng, ảnh hiện tại sẽ đƣợc dự đoán
dựa trên cơ sở thông tin về hình ảnh trƣớc đó và sau đó để tạo thành ảnh B, do
đó hiệu quả nén sẽ cao nhất. Phƣơng pháp dự đoán 2 chiều này có ƣu điểm
nổi bật là có thể dự đoán ngoài vùng tìm kiếm nhờ các khung hình tiếp theo
mà phƣơng pháp dự đoán một chiều không thực hiện đƣợc, ngoài ra phƣơng
pháp này còn cho tỷ số nén cao hơn, giảm nhiễu trong khung hình hiện tại
bằng mức nhiễu trung bình của frame trƣớc và frame sau. Trong chuẩn
MPEG-2 ảnh B không bao giờ đƣợc dùng để tham khảo khi dự đoán ảnh khác.
Khi đó, mã hóa có chất lƣợng thấp có thể dùng nhiều ảnh B bởi các chi tiết
mất mát không ảnh hƣởng đến ảnh dự đoán kế đó, còn trong H.264, có thể
dùng ảnh B làm ảnh tham khảo hoặc không tùy thuộc vào bộ mã hóa.
40
2.2.3 Sơ đồ nguyên lý nén ảnh B.
Aûnh döï ñoaùn P’
Aûnh tröôùc ñoù
Ñaùnh giaù Döï ñoaùn
chuyeån ñoäng chuyeån ñoäng Aûnh sau ñoù
Hình II.7. Sơ đồ nguyên lý nén ảnh B
2.2.4 Bù chuyển động trong các slice B
Trong Slice B, có 4 dạng dự đoán Inter khác nhau đƣợc hỗ trợ: dự đoán list
0, list 1, hai hƣớng và dự đoán trực tiếp.
Phân vùng Mô tả kiểu dự đoán
Trực tiếp, list 0, list 1, 2
16 x16
hƣớng
16 x 8 hoặc 8 x 16 List 0, list 1, 2 hƣớng
Trực tiếp , list 0, list 1, 2
8 x 8
hƣớng
+ Dự đoán List 0: chỉ có ảnh tham khảo trƣớc đó đƣợc dùng để dự đoán, ảnh
hiện tại đƣợc đánh chỉ số n, tiếp theo là những bức ảnh ở vị trí n-1, n-2,, tiếp
theo là bức ảnh ở vị trí n+1, n+2,.. và chỉ một vector chuyển động duy nhất
đƣợc truyền đi. Trong dự đoán list 0, tín hiệu dự đoán đƣợc tạo ra nhờ bù
chuyển động ảnh khảo đầu tiên đã lƣu trong bộ nhớ đệm, còn ảnh tham khảo
41
thứ 2 đƣợc sử dụng cho việc xây dựng tín hiệu dự đoán nếu sử dụng dự đoán
list 1.
+ Dự đoán List 1: chỉ có ảnh tham khảo sau đó đƣợc sử dụng để dự đoán,
ảnh hiện tại đƣợc đánh chỉ số n, tiếp theo là những ảnh ở vị trí n+1, n+2, và
tiếp theo là những ảnh ở vị trí n -1, n -2,.. và chỉ một vector chuyển động duy
nhất đƣợc truyền đi.
Ví dụ: Bộ giải mã H.264/AVC chứa 6 bức ảnh tham khảo với các thứ tự
123, 125, 126, 128, 129, 130. Bức ảnh hiện tại là 127, tất cả 6 bức ảnh tham
khảo đƣợc đánh dấu nhƣ trong list 0 và list 1. Thứ tự của các bức ảnh nhƣ sau:
Chỉ số List 0 List 1
0 126 128
1 125 129
2 123 130
3 128 126
4 129 125
5 130 123
+ Dự đoán hai hƣớng: cả 2 ảnh tham khảo trƣớc và sau đều đƣợc sử dụng
để dự đoán và 2 vector chuyển động đƣợc truyền đi, kết quả dự đoán đƣợc nội
suy từ cả 2 giá trị tham khảo bằng trị trung bình trọng số của tín hiệu dự đoán bù
chuyển động list 0 và list 1. Số lƣợng ảnh tham khảo đƣợc sử dụng tùy thuộc
vào độ phức tạp của ảnh hiện tại, quá trình dự đoán hai hƣớng đƣợc minh họa
nhƣ sau:.
Hình II.7. Các mẫu dự đoán trong ảnh B
42
Dự đoán trực tiếp: Cả 2 ảnh tham khảo trƣớc và sau đều đƣợc sử dụng để
dự đoán. Trong slice B hoặc phân vùng đƣợc mã hóa ở chế độ trực tiếp thì
không cần truyền vector chuyển động của các ảnh trƣớc và sau, thay vì bộ
giải mã phải tính toán vector dự đoán list 0 và list1 dựa vào những vector
đƣợc mã hóa trƣớc đó thì chỉ việc sử dụng các vector đó để tiến hành bù
chuyển động hai chiều cho các khối dữ liệu dƣ thừa. Loại MB SKIP trong
slice B cũng đƣợc cấu trúc lại để dự đoán trực tiếp.
Nguyên lý cơ sở của Mode trực tiếp
Hình II.8. Nguyên lý bù chuyển động tực tiếp. Vector chuyển động trước và sau MVf, MVb tách
ra từ MV trong VOP tham chiếu ngược
Đối tƣợng video hiện tại trên hình II.8 là loại ảnh B1. Bộ giải mã đã biết
trƣớc về VOP tham chiếu ngƣợc P3 và tổ chức các vector chuyển động của nó
trƣớc khi VOP hiện tại đƣợc giải mã. Trong mode trực tiếp, những hiểu biết về
các vector chuyển động này đƣợc sử dụng để lái các vector chuyển động trƣớc
và sau cho việc dự đoán MB hiện tại. Hơn nữa, có sử dụng vector chuyển động
của MB xắp xếp thứ tự (MB có cùng chỉ số chiều dọc và chiều ngang như MB
trong hình vẽ) trong VOP P3 tham chiếu ngƣợc. Để lấy đƣợc các vector chuyển
động của MB hiện tại thì vector chuyển động phải đƣợc phân cấp, tùy thuộc vào
thời điểm của ảnh B giữa 2 VOP tham chiếu. Các hệ số phân cấp đƣợc tính toán
từ thời gian khác nhau giữa 2 VOP tham chiếu và B-VOP hiện tại. Chúng đƣợc
xác định nhƣ sau:
43
TRb = thời gian hiển thị (VOP hiện tại) - thời gian hiển thị (tham chiếu
trƣớc)
TRd = thời gian hiển thị (tham chiếu ngƣợc) - thời gian hiển thị (tham
chiếu trƣớc)
Cùng lúc đó, vector chuyển động Delta (MVD) đƣợc cộng thêm vào. Tiếp
theo quá trình này, các vector chuyển động B-VOP đƣợc xác định nhƣ sau:
MVF = TRb/TRd.MV + MVD
MVB = (TRb – TRd).MV + MVD
Vậy đối với ví dụ trên thì ta có :
MVF = 1/3 MV + MVD
MVB = -2/3MV + MVD.
Đối với bù chuyển động trong các B-VOP chỉ có thể sử dụng mode 1MV,
có nghĩa là: chỉ một vector chuyển động duy nhất có thể đƣợc truyền đi cho một
MB cho mỗi một hƣớng dự đoán. Nhƣng trong mode trực tiếp nếu MB tuần tự
trong VOP tham chiếu ngƣợc đƣợc mã hoá với chế độ 4MV, với MB hiện tại
trong mode trực tiếp thì 4 vector chuyển động đƣợc sử dụng cho 4 khối 8x8
tƣơng ứng của MB hiện tại trong B-VOP. Nếu MB hiện tại đƣợc mã hoá trong
chế độ SKIP thì nó cũng là bù chuyển động sử dụng mode trực tiếp với vector
chuyển động Delta zero nhƣng bỏ qua mã hoá sai số dự đoán.
2.2.5 Dự đoán liên ảnh (Inter-Frame)
Nén liên ảnh chính là việc loại bỏ những thông tin giống nhau giữa các
ảnh liên tiếp, chỉ mã hóa phần thông tin khác nhau giữa chúng, đây cũng là nội
dung chính của khối nén theo thời gian. Dựa vào nguyên tắc đó, các bộ mã hoá
sẽ quét lần lƣợt từng MB và phát hiện xem có sự thay đổi từ frame này sang
frame khác hay không. Mặt khác, các bộ mã hoá còn tiên đoán sự xuất hiện của
các MB khi biết vị trí và hƣớng chuyển động của nó. Do đó, chỉ những sự thay
đổi giữa các khối mới đƣợc truyền đến phía thu. Bộ giải mã đã lƣu trữ sẵn
những thông tin không thay đổi vào bộ nhớ đệm và khi khôi phục lại ảnh gốc thì
chỉ việc điền một cách đều đặn vào các vị trí còn trống. Ví dụ hai frame liên tiếp
trong chuỗi ảnh đƣợc minh họa nhƣ hình II.9. Trong đó frame 2 đƣợc dự đoán
44
từ frame 1, có sự giống nhau về ảnh nền, quyển sách, cây đàn,... phần sai khác
giữa 2 bức ảnh là phần màu xám nổi rõ đƣợc minh họa nhƣ hình II.10, chỉ có
phần sai khác này mới đƣợc biến đổi và truyền đi. Tuy nhiên năng lƣợng vẫn
còn tập trung ở phần sai số dự đoán cụ thể là những vùng sáng tối, nên cần phải
bù chuyển động để làm giảm bớt năng lƣợng này.
Frame 1 Frame 2
Hình II.9. Hai bức ảnh liên tiếp trong chuỗi Video
Hình II.10. Phần dư giữa frame 1 và frame 2
Sự sai khác giữa các bức ảnh trong chuỗi video thƣờng do sự chuyển
động của VOP, sự khác nhau này chính là sự khác nhau về quỹ đạo vị trí của
các pixel trong ảnh, việc dự đoán sẽ tạo ra một luồng thị giác hay nói cách
khác sẽ tạo ra một mành hƣớng chuyển động của các vector đƣợc minh họa
nhƣ hình II.11.
45
Hình II.11. Vector chuyển động
H.264/AVC cho phép dự đoán bù chuyển động với 5 ảnh tham khảo và
ngoài vector chuyển động ra các chỉ số ảnh tham khảo cũng đƣợc truyền đi nhƣ
hình IV.10 nên việc khôi phục lại ảnh tham khảo có thể thực hiện dễ dàng và
chất lƣợng ảnh nén cũng trung thực hơn.
Hình II.12. Minh họa dự đoán liên khối của H.264/AVC.
Sử dụng 5 Frame cho bù chuyển động
Cả bộ mã hóa và bộ giải mã phải lƣu trữ các ảnh tham khảo đƣợc sử dụng
cho dự đoán Inter trong bộ nhớ đệm đa ảnh. Bộ giải mã sẽ sao lại bộ nhớ đệm đa
ảnh của bộ mã hóa, theo dạng nhớ đệm ảnh tham khảo và các hoạt động điều
46
khiển quản lý bộ nhớ bất kỳ đƣợc xác định trong dòng bit. Ngoại trừ kích thƣớc
bộ nhớ đệm đa ảnh đƣợc đặt cho một ảnh, chỉ số bên trong bộ nhớ đệm đa ảnh
phải đƣợc ký hiệu.
2.2.6 Mã hóa ảnh SP (switching P) và SI (switching I)
Hai dạng ảnh SI, SP là một kiểu mã hóa đặc biệt của H.264/AVC cho phép
chuyển mạch hiệu quả giữa các dòng bit đƣợc mã hóa ở các tốc độ bit khác
nhau. Các frame SP đƣợc lƣợng tử hóa trong miền biến đổi và đƣa vào dải biên
độ thô hơn, cho phép mã hóa ở tốc độ bit thấp. Frame SP làm cho dự đoán bù
chuyển động có thể khai thác tối đa dƣ thừa thời gian trong chuỗi ảnh tƣơng tự
nhƣ ảnh P. Nhƣng frame SP có ƣu điểm hơn ảnh P là nó cho phép các frame
đồng nhất có thể cấu trúc lại ngay cả khi chúng đƣợc dự đoán từ các ảnh tham
khảo khác nhau. Vì thế frame SP có thể sử dụng thay thế cho các ảnh I trong các
ứng dụng chuyển luồng, truy cập ngẫu nhiên, tiến, lùi, tăng cƣờng chống lỗi
hay khôi phục lại. Các frame SI thƣờng kết nối cùng với frame SP nên rất có lợi
trong trƣờng hợp dự đoán Inter bị lỗi truyền dẫn.
Ví dụ: với cùng một video đƣợc mã hóa ở nhiều tốc độ bit khác nhau để
truyền qua đƣờng Internet, bộ giải mã nhận đƣợc luồng có tốc độ bit cao có thể
yêu cầu chuyển mạch tự động xuống tốc độ bit thấp hơn nếu dữ liệu bị lỗi. Nhƣ
hình II.13. bộ giải mã đang giải mã luồng A và muốn chuyển sang giải mã
luồng B. Để đơn giản, giả sử mỗi frame đƣợc mã hóa từng slice đơn từ một
frame tham khảo trƣớc đó. Sau khi giải mã P slice A0, A1 bộ giải mã muốn
chuyển sang giải mã silce B2, B3 trong luồng B. Nếu tất cả slice trong luồng B
đƣợc mã hóa ở dạng P-slice, bộ giải mã sẽ không thể giải mã đúng ảnh tham
khảo cần thiết để cấu trúc lại slice B2 (vì B2 đƣợc dự đoán từ B1). Giải pháp
đƣa ra là, slice B2 sẽ đƣợc mã hóa dạng I (vì dạng I không cần ảnh tham khảo)
do đó có thể thực hiện chuyển mạch giữa 2 luồng A và B. Việc chuyển mạch
cần đƣợc điều tiết bằng cách chèn thêm slice mã hóa dạng I theo một chu kỳ
47
đều đặn để tạo ra điểm chuyển mạch hiệu quả. Tuy nhiên, ảnh I sẽ chứa nhiều
dữ liệu mã hóa hơn ảnh P nên tốc độ bit mã hóa của mỗi điểm chuyển mạch sẽ
lớn hơn.
Hình II.13. Chuyeån maïch luoàng söû duïng slice I
2.3 Khối nén không gian
Nén theo không gian hay còn gọi là nén tạo ảnh Intra, chỉ sử dụng thông
tin trong bức ảnh hiện tại mà không có sự tham khảo ảnh khác, tức là mã hoá
độc lập mà không cần thông tin phụ cho giải mã không cần tham khảo các ảnh
khác, do đó hiệu quả nén chỉ phụ thuộc vào sự loại bỏ thông tin dƣ thừa về
không gian nên sẽ không đƣợc hiệu quả lắm. Nhƣng ảnh I cho phép ngƣời
xem chuyển đổi các kênh, cung cấp điểm truy cập ngẫu nhiên vào dòng bit
nén và ngăn chặn sai số truyền. Ngoài ra ảnh I còn đƣợc dùng liên tục để tạo
thành các điểm tựa cho dòng dữ liệu trong quá trình giải mã, cũng nhƣ đƣợc
sử dụng làm điểm chuyển mạch trong quá trình phân cấp. Ảnh I chỉ dùng 2
bit/ pixel đƣợc mã hóa.
48
Sơ đồ khối mã hóa ảnh I
Hình II.14. Sơ đồ khối mã hóa ảnh I
2.3.1 Chia ảnh thành các MacroBlock
Một trong những ƣu điểm của chuẩn H.264/AVC là nó có thể phân chia
thành các kích thƣớc nhỏ để mô tả chuyển động. Phân vùng của thành phần
luma có các kích thƣớc mẫu nhƣ 16 x 16, 16 x 8, 8 x 16 và 8 x 8 phù hợp cho
các chuyển động ở những khu vực giống nhau trong ảnh. Khi sử dụng khối 8x8,
còn có thể phân chia thành 4 cỡ nhỏ hơn là 8x8, 8x4, 4x8 hoặc 4x4 rất thích hợp
khi xử lý chuyển động tại chỗ có nhiều chi tiết, làm giảm hiện tƣợng vỡ khối và
nâng cao chất lƣợng hình ảnh.
Hình II.15. Phaân chia MB – Sub MB cho buø chuyeån ñoäng.
49
Cấu trúc dự đoán thời gian đƣợc mô tả nhƣ hình II.16 sau:
Hình II.16. Chæ ra thöù töï saép xeáp cuûa caùc VOP
Giải thích: ảnh I không sử dụng ảnh tham khảo và đƣợc mã hóa kiểu Intra
đƣợc ký hiệu là Ix. Các ảnh P và ảnh B có sử dụng tham khảo, đƣợc ký hiệu là
Px. Các mũi tên miêu tả hƣớng dự đoán.
Khi sử dụng ảnh B làm ảnh tham khảo cho ảnh I và ảnh P, thì ảnh B sẽ
đƣợc hiển thị sau đó với thời gian hiển thị riêng, các ảnh tham khảo đƣợc truyền
đi trƣớc các ảnh B tƣơng ứng. Theo hình IV.14 thì thứ tự truyền là I0 P1 P3 B2
P5 B4 P7 B6. Bởi vì không có thông tin đƣợc truyền cho các ảnh B2 và P5 nên
các ảnh B6 và P7 sẽ là ảnh tham khảo cho VOP P3 mà không ảnh hƣởng cấu
trúc tham khảo.
2.3.2 Dự đoán trong ảnh (Intra-frame)
Dự đoán Intra là kiểu dự đoán sử dụng các MB kế bên đã đƣợc mã hóa
trong cùng một frame để tham khảo, nhằm khai thác sự tƣơng quan về không
gian. Kiểu dự đoán Intra thì không đƣợc sử dụng cho dự đoán các đƣờng biên
của slice để giữ tính độc lập giữa các slice. Đối với các chuẩn trƣớc đây việc dự
đoán sẽ thực hiện trong miền biến đổi, còn ở H.264/AVC thì dự đoán đƣợc thực
hiện trong miền không gian bằng việc tham khảo tới các mẫu bên cạnh của các
khối đã đƣợc mã hóa. Trong H.264/AVC hỗ trợ các kiểu dự đoán INTRA 4 x 4,
INTRA 8 x 8, INTRA 16 x 16 và kiểu dự đoán INTRA-PCM.
50
2.3.3 INTRA LUMA 4 x 4
Mỗi MB đƣợc chia thành 16 khối con 4x4, mỗi khối 4x4 đƣợc dự đoán
không gian từ các khối bên cạnh. Để có thể dự đoán giá trị mẫu của khối 4x4
luma cần sử dụng 13 mẫu kế cận bao gồm 4 mẫu của khối kế cận bên trái, 4 mẫu
của khối kế cận bên trên, 4 mẫu của khối kế cận đỉnh phải, và 1 mẫu của khối kế
cận đỉnh trái. Mỗi khối 4x4 của thành phần luma có thể dùng 1 trong 9 kiểu dự
đoán. Ngoài kiểu dự đoán DC, còn hỗ trợ 8 kiểu dự đoán định hƣớng sau:
1. Kiểu dự đoán DC
Mẫu đƣợc nội suy từ giá trị trung bình của các mẫu bên cạnh
LT | T0 T1 T2 T3
---------------------
L0 | a a a a
L1 | a a a a
L2 | a a a a
L3 | a a a a
Trong đó:
Nếu bộ dự đoán ở đỉnh trên và phía bên trái thõa mãn thì:
a = (T0 + T1 + T2 + T3 + L0 + L1 + L2 + L3) / 8
Nếu chỉ có bộ dự đoán ở đỉnh trên thõa mãn thì:
a = (T0 + T1 + T2 + T3 + 2) / 4
Nếu chỉ có bộ dự đoán ở bên trái thõa mãn thì:
a = (L0 + L1 + L2 + L3 + 2) / 4
hoặc
a = 128
2. Kiểu dự đoán dọc (Vertical)
Các mẫu ở bên dƣới sao chép lại các mẫu bên trên theo chiều dọc.
LT | T0 T1 T2 T3
---------------------
L0 | T0 T1 T2 T3
L1 | T0 T1 T2 T3
51
L2 | T0 T1 T2 T3
L3 | T0 T1 T2 T3
3. Kiểu dự đoán ngang (Horizontal )
Các mẫu ở bên phải sao chép lại các mẫu bên phải theo chiều ngang.
LT | T0 T1 T2 T3
---------------------
L0 | L0 L0 L0 L0
L1 | L1 L1 L1 L1
L2 | L2 L2 L2 L2
L3 | L3 L3 L3 L3
4. Kiểu dự đoán chéo xuống/trái (Diagonal Down/Left )
Các mẫu đƣợc nội suy theo góc 450 giữa giá trị bên trái ở trên và bên phải
ở dƣới theo đƣờng chéo.
LT | T0 T1 T2 T3 T4 T5 T6 T7
-------------------------------------
L0 | a b c d
L1 | b c d e
L2 | c d e f
L3 | d e f g
Trong đó:
a = (T0 + 2*T1 + T2 + 2) / 4
b = (T1 + 2*T2 + T3 + 2) / 4
c = (T2 + 2*T3 + T4 + 2) / 4
d = (T3 + 2*T4 + T5 + 2) / 4
e = (T4 + 2*T5 + T6 + 2) / 4
f = (T5 + 2*T6 + T7 + 2) / 4
g = (T6 + 3*T7 + 2) / 4
5. Kiểu dự đoán chéo xuống/phải (Diagonal Down/Right)
Các mẫu đƣợc ngoại suy theo góc 450 từ trên xuống, từ trái qua phải.
LT | T0 T1 T2 T3
52
---------------------
L0 | d e f g
L1 | c d e f
L2 | b c d e
L3 | a b c d
Trong đó:
a = (L3 + 2*L2 + L1 + 2) / 4
b = (L2 + 2*L1 + L0 + 2) / 4
c = (L1 + 2*L0 + LT + 2) / 4
d = (L0 + 2*LT + T0 + 2) / 4
e = (LT + 2*T0 + T1 + 2) / 4
f = (T0 + 2*T1 + T2 + 2) / 4
g = (T1 + 2*T2 + T3 + 2) / 4
6. Kiểu dự đoán dọc/phải (Vertical/Right)
Các mẫu đƣợc ngoại suy theo góc xấp xỉ 26.60 từ phải sang trái theo chiều
dọc
LT | T0 T1 T2 T3
---------------------
L0 | a b c d
L1 | e f g h
L2 | i a b c
L3 | j e f g
Trong đó:
a = (LT + T0 + 1) / 2
b = (T0 + T1 + 1) / 2
c = (T1 + T2 + 1) / 2
d = (T2 + T3 + 1) / 2
e = (L0 + 2*LT + T0 + 2) / 4
f = (LT + 2*T0 + T1 + 2) / 4
g = (T0 + 2*T1 + T2 + 2) / 4
53
h = (T1 + 2*T2 + T3 + 2) / 4
i = (LT + 2*L0 + L1 + 2) / 4
j = (L0 + 2*L1 + L2 + 2) / 4
7. Kiểu dự đoán dọc/ trái (Vertical/Left)
Các mẫu đƣợc ngoại suy theo góc xấp xỉ 26.60 từ trái sang phải theo chiều
dọc
LT | T0 T1 T2 T3 T4 T5 T6 T7
-------------------------------------
L0 | a b c d
L1 | f g h i
L2 | b c d e
L3 | g h i j
Trong đó:
a = (T0 + T1 + 1) / 2
b = (T1 + T2 + 1) / 2
c = (T2 + T3 + 1) / 2
d = (T3 + T4 + 1) / 2
e = (T4 + T5 + 1) / 2
f = (T0 + 2*T1 + T2 + 2) / 4
g = (T1 + 2*T2 + T3 + 2) / 4
h = (T2 + 2*T3 + T4 + 2) / 4
i = (T3 + 2*T4 + T5 + 2) / 4
j = (T4 + 2*T5 + T6 + 2) / 4
8. Kiểu dự đoán ngang/xuống (Horizontal/Down)
Các mẫu đƣợc ngoại suy theo góc xấp xỉ 26.60 từ trên xuống theo chiều
ngang
LT | T0 T1 T2 T3
---------------------
L0 | a b c d
L1 | e f a b
54
L2 | g h e f
L3 | i j g h
Trong đó:
a = (LT + L0 + 1) / 2
b = (L0 + 2*LT + T0 + 2) / 4
c = (LT + 2*T0 + T1 + 2) / 4
d = (T0 + 2*T1 + T2 + 2) / 4
e = (L0 + L1 + 1) / 2
f = (LT + 2*L0 + L1 + 2) / 4
g = (L1 + L2 + 1) / 2
h = (L0 + 2*L1 + L2 + 2) / 4
g = (L2 + L3 + 1) / 2
j = (L1 + 2*L2 + L3 + 2) / 4
9. Kiểu dự đoán ngang/lên (Horizontal/Up)
Các mẫu đƣợc nội suy theo góc xấp xỉ 26.60 từ dƣới lên theo chiều ngang
LT | T0 T1 T2 T3
---------------------
L0 | a b c d
L1 | c d e f
L2 | e f g g
L3 | g g g g
Trong đó:
a = (L0 + L1 + 1) / 2
b = (L0 + 2*L1 + L2 + 2) / 4
c = (L1 + L2 + 1) / 2
d = (L1 + 2*L2 + L3 + 2) / 4
e = (L2 + L3 + 1) / 2
f = (L2 + 2*L3 + L3 + 2) / 4
g = L3
2.3.4 INTRA LUMA 16 x 16
55
Chỉ 1 kiểu dự đoán đƣợc áp dụng cho toàn bộ MB thích hợp cho những
miền ảnh trơn tru, phẳng đều. Bốn kiểu dự đoán đƣợc hỗ trợ là: chiều ngang,
chiều thẳng đứng, dự đoán DC và dự đoán mặt phẳng. Trong kiểu dự đoán mặt
phẳng sử dụng phƣơng trình đƣờng cong 3 thông số để dự đoán độ luma, độ dốc
theo chiều ngang, chiều thẳng đứng cho phù hợp với các điểm ảnh bên cạnh, và
kiểu dự đoán này có hiệu quả rất cao trong vùng có thành phần luma ít thay đổi.
Để có thể dự đoán giá trị mẫu của khối luma 16x16 cần sử dụng 33 mẫu kế
cận bao gồm 16 mẫu của khối kế cận bên trái, 16 mẫu của khối kế cận bên trên
và 1 mẫu của khối kế cận đỉnh trái.
1. Kiểu dự đoán DC
Sử dụng 16 bộ dự đoán (T0..T15) và 16 bộ dự đoán bên trái (L0..L15), cài
tất cả 256 giá trị về giá tri trung bình, theo công thức sau:
Nếu bộ dự đoán bên trái và đỉnh trên thõa mãn thì:
mean = (sum(T0..T15) + sum(L0..L15) + 16) / 32
Nếu bộ dự đoán đỉnh trên thõa mãn thì:
mean = (sum(T0..T15) + 8) / 16
Nếu bộ dự đoán bên trái thõa mãn thì:
mean = (sum(L0..L15) + 8) / 16
Hoặc
mean = 128
2. Kiểu dự đoán nằm dọc (Vertical)
Ngoại suy từ các mẫu bên theo chiều dọc
LT | T0 T1 T2 T3 T4 .. T15
----------------------------- .. -----
L0 | T0 T1 T2 T3 T4 .. T15
L1 | T0 T1 T2 T3 T4 .. T15
L2 | T0 T1 T2 T3 T4 .. T15
........
L15 | T0 T1 T2 T3 T4 .. T15
56
3. Kiểu dự đoán nằm ngang (Horizontal)
Ngoại suy từ các mẫu trái theo chiều ngang
LT | T0 T1 T2 T3 T4 .. T15
--------------------------- .. -----
L0 | L0 L0 L0 L0 L0 .. L0
L1 | L1 L1 L1 L1 L1 .. L1
L2 | L2 L2 L2 L2 L2 .. L2
......
L15 | L15 L15 L15 L15 L15 .. L15
4. Kiểu dự đoán mặt phẳng Plane
Cho 16 bộ dự đoán đỉnh trên (T0..T15), 16 bộ dự đoán bên trái (L0..L15)
và 1 bộ dự đoán ở góc đỉnh trái (LT) sắp xếp nhƣ sau:
LT | T0 T1 T2 .. T15
------------------------------------- .. --------
L0 | c[ 0, 0] c[ 1, 0] c[ 2, 0] .. c[15, 0]
L1 | c[ 0, 1] c[ 1, 1] c[ 2, 1] .. c[15, 1]
......
L15 | c[ 0,15] c[ 1,15] c[ 2,15] .. c[15,15]
2.3.5 INTRA CHROMA 8x8
Dự đoán cho thành phần chroma đƣợc thực hiện một lần cho toàn bộ MB,
64 giá trị mẫu chroma sử dụng các kiểu dự đoán giống nhƣ dự đoán Intra 16x16
cho thành phần Luna: Dự đoán theo chiều ngang, dự đoán theo chiều đứng, dự
đoán DC, dự đoán mặt phẳng.
2.3.6 INTRA-PCM
Là một MB 16x16, chứa một mặt phẳng các thành phần luma và chroma
chƣa nén. Làm cho bộ mã hóa xử lý đơn giản hơn bằng cách xử lý mã hóa và
biến đổi thay vì phải gửi trực tiếp mẫu các giá trị mã hóa. Và kiểu dự đoán
I-PCM còn có một số lợi ích sau:
Cho phép mã hóa chính xác ký tự đại diện của giá trị mẫu.
57
Cung cấp giá trị đúng cho những bức ảnh có nội dung bất thƣờng mà
không cần mở rộng dữ liệu quan trọng.
Cho phép đặt giới hạn số lƣợng bit điều khiển MB mà không ảnh hƣởng đến
hiệu suất nén.
2.3.7 Dự đoán trọng số
Là một phƣơng pháp điều chỉnh mẫu cho bù chuyển động dữ liệu trong
MB P hoặc MB B rất thích hợp cho mã hóa mặt ngƣời hoặc mã hóa chuyển
động. Có 3 loại dự đoán trọng số nhƣ sau:
1. P slice macroblock, dự đoán trọng số “hiện thị” (explicit)
2. B slice macroblock, dự đoán trọng số “hiện thị” (explicit).
3. B slice macroblock, dự đoán trọng số “ẩn” (implicit).
Mỗi mẫu dự đoán pred0(i, j) hoặc pred1(i, j) đƣợc co dãn bởi trọng số
thống kê W0 hoặc W1 trong dự đoán bù chuyển động trƣớc đó. Ở loại “hiện”
thì trọng số thống kê đƣợc xác định bởi bộ mã hóa và truyền đi ở Slice header.
Nếu sử dụng loại “ẩn” thì trọng số thống kê W0, W1 đƣợc tính toán dựa vào
mối quan hệ vị trí thời gian của list 0 và list1 trong ảnh tham khảo. Giá trị
trọng số thống kê lớn nếu ảnh tham khảo gần giống với ảnh hiện tại và giá trị
trọng số thống kê nhỏ nếu ảnh tham khảo khác với ảnh hiện tại.
Một số ứng dụng cho phép cả 2 hàm ẩn và hiện điều khiển sự liên
quan của ảnh tham khảo đối với quá trình bù chuyển động, dự đoán trọng
số có hiệu quả đặc biệt trong mã hóa các hiệu ứng mờ dần nhƣ minh họa ở
hình II.17.
58
KẾT LUẬN
Việc nén video (ảnh) trong Hội nghị truyền hình có vai trò rất quan
trọng và có rất nhiều chuẩn, kỹ thuật nén video có thể áp dụng và triển khai.
Thuật toán Bù trừ chuyển động là một bước trong nén video hiện đại
(H.264), bao gồm đánh giá chuyển động (Motion Estimation - ME), bù trừ
chuyển động (Motion Compensation - MC), mã hóa biến đổi (transform
coding) và mã hóa entropy. Các chuẩn mã hóa video ngày nay ít nhiều đều
thực hiện các quá trình này, bắt đầu từ MPEG-2, đến MPEG-4/Visual,
H.263, H.264/MPEG-4 AVC,...
Việc sử dụng chuẩn nén MPEG – 4 H.264/AVC và hội nghị truyền hình là
đúng đắn và kịp thời, việc này sẽ được chứng minh thông qua việc xây dựng
chương trình mô phỏng trong chương 3.
59
CHƢƠNG III. CHƢƠNG TRÌNH THỬ NGHIỆM
3.1 Phân tích yêu cầu
3.1.1 Nén – giải nén của H.264/AVC
Để có thể truyền trong các môi trƣờng khác nhau đƣợc hiệu quả, sự tích
hợp các giao thức và cấu trúc mạng là rất quan trọng. H.264/AVC có sự phân
biệt giữa đặc tính mã hóa và truyền tải của 2 lớp VCL và NAL nhƣ hình III.1.
mang lại hiệu quả cao trong môi trƣờng mạng khắc nghiệt.
Video Coding Layer
Control
Data
Data Partitioning
Network Abstraction Layer
(H.320, MP4FF,H.323/IP,MPEG2)
Hình III.1. Cấu trúc dòng bit H.264
Ngoài ra trong H.264/AVC còn hỗ trợ ảnh IDR, ảnh này đƣợc tạo ra từ ảnh I
hoặc ảnh SP nhằm xóa nội dung vùng nhớ đệm ảnh tham khảo hay nói cách
khác là làm tƣơi bộ nhớ. Khi nhận đƣợc ảnh IDR thì bộ giải mã sẽ đánh dấu
tất cả các bức ảnh trong bộ đệm là “không sử dụng cho tham khảo”. Tất cả
các chuỗi con có các slice đƣợc truyền đi có thể giải mã mà không cần bất kỳ
một ảnh tham khảo nào trƣớc ảnh IDR. Cấu trúc của một dòng bit
H.264/AVC minh họa nhƣ hình sau
.NAL NAL NAL
RBSP RBSP RBSP
header header header
Hình III.2. Cấu trúc dòng bit.
60
Lớp trừu tượng mạng NAL
Tất cả dữ liệu đƣợc chứa trong các khối NAL, mỗi khối chứa một số
nguyên byte xác định định dạng chung cho cả hệ thống định hƣớng gói (packet
- oriented) và hệ thống định hƣớng dòng bit (bitstream), ngoại trừ mỗi khối
NAL trong lớp truyền tải định hƣớng dòng bit có thể có một tiền tố mã hóa ở
trƣớc, và có thể là một trong 2 định dạng sau: định dạng theo từng đơn vị NAL
hoặc theo từng byte.
Định dạng theo từng đơn vị NAL là một kiểu định dạng cơ bản, bao
gồm các chuỗi cấu trúc cú pháp NAL đƣợc sắp xếp để giải mã.
Định dạng theo từng byte có thể đƣợc xây dựng lại từ cấu trúc của NAL
bằng cách xắp xếp các đơn vị NAL trong quá trình giải mã và thêm vào một tiền
tố mã bắt đầu cho mỗi NAL.
Một chuỗi video H.264 bao gồm một chuỗi các đơn vị NAL, mỗi đơn vị
NAL sẽ chứa các thành phần RBSP nhƣ bảng 1, RBSP là một tập hợp dữ liệu
tƣơng ứng với dữ liệu video đƣợc mã hóa hay thông tin đầu mục, ví dụ một
chuỗi các đơn vị RBSP nhƣ hình IV.37, trong đó các đơ
Các file đính kèm theo tài liệu này:
- luan_van_cach_nen_video_trong_he_thong_hoi_nghi_truyen_hinh.pdf