Tải bản đầy đủ (.pdf) (26 trang)

NGHIÊN CỨU ỨNG DỤNG CỦA CHUẨN NÉN MPEG4 PART 10H.264 KẾT HỢP VỚI VIDEO STREAMING

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 (938.17 KB, 26 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG






VŨ THỊ HƯƠNG GIANG



NGHIÊN CỨU ỨNG DỤNG CỦA CHUẨN NÉN MPEG-4
PART 10/H.264 KẾT HỢP VỚI VIDEO STREAMING


CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 60.52.02.08



TÓM TẮT LUẬN VĂN THẠC SĨ



HÀ NỘI - 2014

Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG





Người hướng dẫn khoa học: TS. Nguyễn Quý Sỹ


Phản biện 1: TS.Nguyễn Ngọc Minh



Phản biện 2: PGS.TS. Lê Mỹ Tú





Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ
tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: 8. giờ 30 ngày 09 tháng .08 năm 2014

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

1

MỞ ĐẦU
Với sự phát triển nhanh chóng của mạng Internet băng rộng làm
thay đổi cả về nội dung và kĩ thuật truyền hình. Hiện nay truyền hình
có nhiều dạng khác nhau: truyền hình số, truyền hình vệ tinh, truyền
hình cáp, truyền hình Internet và IPTV. IPTV đang là cấp độ cao nhất
và là công nghệ truyền hình của tương lai.
Vì dữ liệu video thô chiếm một lượng lớn băng thông nên thường

sử dụng nén để thu được hiệu quả truyền dẫn. Nén cho phép các nhà
cung cấp dịch vụ IPTV quảng bá các kênh video và audio chất lượng
cao qua một mạng IP băng rộng. Chuẩn nén video MPEG-4 Part
10/H.264 là một trong những định dạng hay được sử dụng nhất hiện
nay để ghi, nén, phân phối video độ nét cao với nhiều ứng dụng rộng
rãi từ các ứng dụng video streaming qua Internet tốc độ bit thấp tới
quảng bá HDTV. Chuẩn MPEG-4 Part 10/H.264 kế thừa các ưu điểm
của các chuẩn nén trước đó như MPEG-2, MPEG-4, nhưng MPEG-
4 Part 10/H.264 có hiệu suất nén tốt hơn và linh hoạt hơn trong việc
lưu trữ và truyền dẫn.
Với đề tài:" Nghiên cứu ứng dụng của chuẩn nén MPEG-4 Part
10/H.264 kết hợp với video streaming", luận văn của em gồm 3
chương:
Chương 1: Tổng quan về các chuẩn nén trong video streaming.
Chương 2: Chuẩn nén video MPEG.
Chương 3: Ứng dụng của bộ mã hóa MPEG-4 Part 10/H.264 và
video streaming vào IPTV.
2

CHƢƠNG 1 - TỔNG QUAN VỀ CÁC CHUẨN NÉN
TRONG VIDEO STREAMING
1.1. Giới thiệu
Có 2 mô hình truyền dẫn video lưu trữ trên mạng Internet đó là
chế độ download và chế độ streaming. Video streaming có các yêu
cầu về băng thông, độ trễ và mất mát. Tuy nhiên, mạng Internet nỗ
lực tối đa hiện nay không cung cấp bất kỳ đảm bảo về QoS.
Nén video làm giảm số bit dùng để biểu diễn từng pixel trong ảnh.
Các thuật toán nén ảnh sinh ra các tạp nhiễu (artifact) nhìn thấy được.
Nén luôn là sự được-mất giữa mức artifact và băng thông.
1.2. Các yêu cầu kỹ thuật của các chuẩn nén trong video

streaming
 Băng thông: Để thu được chất lượng chấp nhận được
theo cảm giác, một ứng dụng streaming điển hình cần có yêu cầu
băng thông tối thiểu.
 Trễ: Streaming video yêu cầu trễ end-to-end giới hạn để
gói có thể tới phía thu đúng lúc để giải mã và hiển thị.
 Mất gói: Mất gói là không thể tránh được trên Internet.
Do đó, mong muốn một video stream mạnh tránh mất gói.
 Chức năng nhƣ video-cassette-recoder (VCR): Một số
ứng dụng streaming yêu cầu các chức năng giống như VCR như là
dừng, tạm dừng/tiếp tục lại,
 Độ phức tạp giải mã hóa: Một số thiết bị như điện thoại
di động, thiết bị số cá nhân (PDA) yêu cầu tốn ít năng lượng. Do đó,
yêu cầu độ phức tạp giải mã hóa thấp.
1.3. Các chuẩn nén trong video streaming
1.3.1. Cơ sở nén
Một video clip là một chuỗi các ảnh hoặc khung. Từng ảnh có thể
được xử lý riêng biệt như là một ảnh tĩnh. Một ví dụ điển hình là
chuẩn JPEG
 Nén trong khung
Nén một ảnh đơn trong miền không gian được gọi là nén trong
khung.
3

 Nén liên khung
Một chuỗi các ảnh video có sự thay đổi nhỏ từ một ảnh này tới
ảnh tiếp theo, ngoại trừ một số thay đổi cảnh. Nén theo thời gian hoặc
liên khung loại bỏ dư thừa giữa các khung liên tiếp nhau.
 Thị giác
Võng mạc và vỏ não cùng nhau xử lý cảnh nhìn thấy theo cách

phát hiện các biên và các đường. Một kiến trúc nén tốt là phải tận
dụng được cơ chế của thị giác.
1.3.2. Các thuật toán nén
Có 4 loại dư thừa chính trong tín hiệu video là: không gian, thời
gian, giác quan, thống kê.
 Mã hóa trong khung hay nén không gian
Mã hóa biến đổi, trong đó một block của các pixel được biến đổi
sang miền tần số, sau đó lượng tử hóa và mã hóa entropy.
Mã hóa biến đổi
Mã hóa biến đổi chuyển đổi mảng không gian của các pixel block,
một bản đồ bit sang miền tần số. Biến đổi cosin rời rạc DCT được
thông qua rộng rãi cho video codec. Một số biến đổi khác được
nghiên cứu là DFT, KLT và WHT.
Nén wavelet
Cung cấp sự biểu diễn lại thời gian-tần số của ảnh và có thể thu
được cùng chất lượng ảnh như DCT ở tỉ số nén cao hơn nhiều.
 Nén dựa vào mô hình
Đây là sự thay thế cho mã hóa dạng sóng. Codec cố gắng mô hình
hóa cảnh và sau đó phát các ký hiệu mô tả, thay vì biểu diễn lại ảnh
không gian.
Chia nhỏ (fractal)
Trong những ảnh nhất định, các phần của ảnh tương đồng với các
phần khác của cùng một ảnh.Các phần giống nhau của ảnh được định
vị và sau đó áp dụng thuật toán chia nhỏ.
Mã hóa dựa trên đối tượng
Mã hóa đối tượng được thông qua là cơ sở cho mã hóa MPEG-4.
Một cảnh được biểu diễn lại bằng một số đối tượng video. Mỗi đối
4

tượng được miêu tả bởi hình dạng, kết cấu và di chuyển. Thuật toán

như DCT và wavelet có thể được sử dụng để nén các đối tượng.
Mã hóa entropy
Mã hóa entropy có thể mang lại biểu diễn ảnh ngắn hơn nhiều với
bằng cách sử dụng các từ mã ngắn hơn cho các chuỗi bit có khả năng
hơn và từ mã dài hơn cho các chuỗi ít khả năng hơn.
Biến đổi cosin rời rạc
Biến đổi này là cơ sở cho tất cả các codec video phổ biến. Ảnh
được chia thành các block thông thường và sau đó mỗi block biến đổi
thành block hệ số biến đổi. Các hệ số được chuẩn hóa và lượng tử
hóa.
 Mã hóa độ dài thay đổi (VLC)
Bằng cách quét các hệ số theo đường zigzag thì kết quả dần chạy
tới 0. Các hệ số sau đó được chuyển đổi thành một chuỗi các cặp
cường độ chạy. Các hệ số cường độ chạy này sau đó được mã hóa với
từ mã độ dài thay đổi.
 Nén liên khung hay nén theo thời gian
Cở sở của loại nén này là chỉ phát sự sai khác giữa các khung.
Hầu hết sự sai khác giữa các khung là từ đối tượng chuyển động.
 Ƣớc tính chuyển động
Để tạo ra vector chuyển động, bộ mã hóa phải ước tính chuyển
động của các phần tử ảnh. Dự đoán chuyển động so sánh một khung
trước đó với khung hiện tại, và sau đó ước tính bao nhiêu block của
ảnh đã di chuyển.
1.3.3. Các bộ codec nén
1) H.261 - hội nghị video
Đây là chuẩn mã hóa video đầu tiên và là khởi đầu cho chuẩn
MPEG-1. H.261 cho điện thoại video và hội nghị video qua đường
ISDN. Chuẩn định nghĩa kích thước màn hình là định dạng trung
bình chung (CIF) 352 x 288 và Quarter CIF 176 x 144 pixel, sử dụng
quét tiến lên và lấy mẫu 4:2:0. Tốc độ dữ liệu từ 64 kb/s tới 2 Mb/s

được chuẩn hỗ trợ. Nén dựa trên DCT với mã hóa độ dài thay đổi.
2) MPEG-1
5

Độ phân giải thông thường là nguồn hoặc định dạng đầu vào
chuẩn (SIF). Độ phân giải không gian khác nhau : 352 x 288 ở 25 fps
cho PAL và 351 x 240 ở 30 fps cho NTSC. Chuẩn này sử dụng quét
tiến lên. Nén video giống như H.261 sử dụng DCT với mã độ dài
thay đổi.
Chuẩn này được thiết kế cho các ứng dụng lưu trữ như CD-ROM,
tốc độ dữ liệu lên tới 1.5 Mb/s và không hỗ trợ streaming.
3) H.263
H.263 là sự phát triển của H.261 hướng tới các ứng dụng tốc độ
bit thấp, có từ năm 1992. Chuẩn H.263 hỗ trợ độ phân giải SQCIF,
QCIF, CIF, 4CIF, 16 CIF. H.263 hiện nay là chuẩn cơ sở cho mã hóa
video tự nhiên MPEG-4.
4) MPEG-2
Một hệ thống độ phân giải cao hơn, chất lượng cao cho truyền
hình quảng bá, MPEG-2 dành để thay thế cho hệ thống tổng hợp
tương tự (NTSC, PAL) bằng hệ thống truyền dẫn số, mã hóa DVD.
Ứng dụng chính sử dụng băng thông kênh lớn hơn 4 Mb/s. Profile
chính ở mức chính (MP@ML) là TV độ nét chuẩn với tốc độ dữ liệu
lên tới 15 Mb/s. Chuẩn này dành để hỗ trợ tốc độ bit TV độ nét cao
(lên tới 80 Mb/s) và một profile studio chỉ có khung I (50 Mb/s).
5) MPEG-4
MPEG-4 là hệ thống MPEG đầu tiên mà hỗ trợ streaming là một
phần của chuẩn. MPEG-4 phiên bản 1 hỗ trợ: Tốc độ bit điển hình từ
5 kb/s tới 10 Mb/s; định dạng quét: video trộn lẫn hoặc lũy tiến. Độ
phân giải: điển hình từ sub-QCIF tới trên HDTV.
MPEG-4 không dùng bản đồ bit 2 chiều và vuông góc như các

chuẩn mã hóa trước đó mà thông qua mã hóa đối tượng.
6) AVC (Advanced Video Codec, H.264)
Nhóm video kết hợp (JVT - Joint Video Team) được thành lập để
phát triển video codec tiên tiến hay AVC. Nó được gọi là H.264 bởi
ITU và MPEG-4 Part 10 bởi tổ chức MPEG.
 Các chuẩn MPEG khác
MPEG-7
6

Đây là hệ thống được chuẩn hóa để mô tả nội dung âm thanh-
hình ảnh. Điều này cho phép tìm kiếm nhanh và hiệu quả. Các ảnh và
âm thanh có thể được trình bày trong các trừu tượng: bố cục, mô tả
văn bản của nội dung, màu sắc.
MPEG-21
MPEG-21 là một framework cho các tài nguyên đa phương tiện
tích hợp qua một dải rộng các nền tảng và dịch vụ. Streaming media
là một phần quan trọng của framework này. Một trọng tâm của
MPEG-21 là bán nội dung. Chìa khóa là quản lý sở hữu trí tuệ.
 Chuẩn VC-1
VC-1 là viết tắt của Video Codec 1, được chuẩn hóa bởi cộng
đồng kỹ sư truyền hình và ảnh động SMPTE. Chuẩn được phát hành
vào 2006. Một trong những triển khai profile cao nhất được thông
qua bởi nền tảng mã hóa đa phương tiện WMV 9 của Microsoft. Một
số đặc điểm của VC-1 như sau:
 Triển khai qua một dải rộng nền tảng.
 Hỗ trợ 3 profile riêng biệt: simple, main, advanced.
 Hỗ trợ ASF để cấu trúc dòng IPTV.
 Hỗ trợ một dải kích thước block.
 Loại khung bổ sung:VC-1 đưa ra một loại khung mới là BI.
 Hoạt động qua một dải rộng các công nghệ truyền tải mạng.

1.4. Kết luận
Chương 1 trình bày yêu cầu kỹ thuật của nén video trong video
streaming, cơ sở của nén video và một số chuẩn nén phổ biến. Các
công nghệ nén khác nhau được phát triển cho các mục đích khác
nhau. Đối với ứng dụng video streaming, bộ video codec phải đảm
bảo được các yêu cầu về băng thông, độ trễ, mất gói, độ phức tạp






7

Chƣơng 2 - CHUẨN NÉN VIDEO MPEG VÀ MPEG-
4 PART 10/ H.264
2.1. Giới thiệu
MPEG là nhóm chuyên gia về hình ảnh, được thành lập vào năm
1988 với nhiệm vụ xây dựng tiêu chuẩn cho tín hiệu audio và video
số. Ngày nay, MPEG đã trở thành một kỹ thuật nén audio và video
phổ biến nhất, tùy thuộc vào yêu cầu cụ thể của từng thiết bị sẽ có
một tiêu chuẩn thích hợp nhưng vẫn trên một nguyên lý thống nhất.
2.2. Mã hóa và giải mã MPEG
2.2.1 Cấu trúc dòng bit video MPEG
Seq Seq Seq
Seq SC
Video
Params
Bitstream
Params

QTs,
Misc
GoP GoP
GoP SC
Time
code
GoP
Params
Pict Pict
PSC Type
Buffer
Params
Encode
Params
Slice Slice
SSC
Vert
Pos
Qscale MB MB
Addr
Iner
Type
Motion
Vector
Qscale b0 b5CBP

Hình 2.1: Cấu trúc dòng bit video MPEG
2.2.2 Nguyên lý nén MPEG
Nén MPEG chia một chuỗi video thành các nhóm ảnh. Từng ảnh
trong nhóm sẽ được chia thành các slice macroblock. Một

macroblock bao gồm 4 block độ chói và 1 block U và V.
MPEG định nghĩa 3 loại khung trong nhóm: khung I (Intraframe),
khung dự đoán hay khung P, khung hai hướng hay khung B.
Cơ sở của công nghệ nén MPEG là kết hợp nén trong khung
(intra-frame) và nén liên khung (inter-frame).
8

Bộ giải
mã cục
bộ
DCT
Lượng tử
hóa
Mã hóa
Entropy
Bộ
đệm
Giải lượng
tử hóa
Lượng tử
hóa
DCT ngược
Dự đoán bù
chuyển động
Ước tính
chuyển động
Video vào
Điều khiển tốc độ
+
+

Bộ nhớ
ảnh
+
-
Vector chuyển động
Hệ số
lượng tử
Ảnh
dự
đoán
Dòng bit đã
mã hóa
Hình 2.2: Sơ đồ nén MPEG
Sơ đồ nén MPEG như trong hình 2.2. Ảnh hiện tại được so sánh
với ảnh trước tạo ra ảnh sai khác. Ảnh này sau đó được nén trong ảnh
qua các bước: biến đối DCT, lượng tử hóa, mã hóa. Dữ liệu của ảnh
sai khác và vector chuyển động mang thông tin về ảnh sau nén liên
khung được đưa tới bộ đệm đầu ra.
2.2.3 Nguyên lý giải nén MPEG
Nhớ đệm
Giải mã
Entropy
DCT
ngược

Bù chuyển
động
Bộ nhớ
ảnh
Dòng

bit vào
Video đầu ra
Giải lượng tử
hóa
Vector chuyển động
Ảnh tham
chiếu
Sai số
dự đoán

Hình 2.3: Sơ đồ giải nén MPEG
Quá trình giải nén: đầu tiên là giải mã entropy, sau đó tách dữ liệu
ảnh (hệ số biến đổi DCT) ra khỏi các vector chuyển động. Dữ liệu
9

ảnh sẽ được giải lượng tử hóa và biến đổi DCT ngược. Nếu ảnh là
ảnh loại I bắt đầu ở mỗi nhóm ảnh trong chuỗi, ở đầu ra sẽ nhận được
ảnh hoàn chỉnh bằng cách trên. Nếu ảnh là ảnh loại P thì cũng thực
hiện giải lượng tử hóa và biến đổi DCT ngược kết hợp với việc sử
dụng vector chuyển động và lưu vào bộ nhớ ảnh trước. Ta nhận được
ảnh sau khi cộng dự đoán ảnh và kết quả biến đổi DCT ngược.
2.3. Chuẩn nén MPEG-4
Vào tháng 10 năm 1998, MPEG-4 đã ra đời, với tốc độ mã hóa
khoảng 1.5 Mb/s, chuẩn nén MPEG-4 đã giải quyết phần nào vấn đề
tắc nghẽn mạng và sự hạn chế về băng thông. MPEG-4 bao gồm các
bộ phận riêng rẽ, có quan hệ chặt chẽ với nhau và có thể được triển
khai ứng dụng riêng hoặc tổ hợp với các phần khác.
2.3.1 Công nghệ mã hóa và giải mã video trong MPEG-4
Phân chia các
đối tượng

video (VO)
Bộ mã hóa
VO-2
Bộ
ghép
kênh
Bộ
phân
kênh
Bộ giải mã
VO-2
Tổng hợp
các VO
Bộ mã hóa
VO-1
Bộ mã hóa
VO-n
Bộ giải mã
VO-1
Bộ giải mã
VO-n
Video đầu vào
Video đầu ra
.
.
.
.
.
.
Dòng

bit

Hình 2.4: Cấu trúc bộ mã hóa và giải mã MPEG-4
Với MPEG-4, các đối tượng khác nhau trong một khung hình có
thể được mô tả, mã hóa và truyền đi một cách riêng biệt đến bộ giải
mã trong các dòng cơ bản ES khác nhau.
- Mã hóa hình dạng: dùng để nén đoạn thông tin, giúp xác
định khu vực và đường viền bao quanh đối tượng trong khung hình
- Mã hóa kết cấu: kết cấu của một đối tượng video thường
được mã hóa bằng DCT. Có thể mã hóa sử dụng biến đổi wavelet.
- Mã hóa chuyển động: Nếu đối tượng chuyển động, thông số
chuyển động cho toàn bộ đối tượng được truyền.
10

2.3.2 Các profile và level trong chuẩn MPEG-4

Hình 2.5: Các profile và mức level trong MPEG-4
MPEG-4 chia thành các nhóm công cụ gọi là các profile, mỗi
profile chỉ chứa một vài tính năng cần thiết của chuẩn mã hóa thích
hợp cho một phạm vi ứng dụng nào đó. Mỗi profile lại có một số
mức level khác nhau.
Có nhiều nhóm profile như media profile, scene graph profile,
MPEG-J profile,
Nhóm media profile có: audio profile, visual profile, graphics
profile. Trong đó visual profile gồm có các profile sau: Simple
profile Simple scalable profile, Core profile (profile lõi), Main
profile, N-bit profile, Scalable texture profile Simple face, Hybrid
profile, Basic animated texture profile.
2.4. Chuẩn nén MPEG-4 Part 10/H.264
2.4.1 Giới thiệu chung về MPEG-4 part 10/H.264

Để cung cấp nén video tốt hơn các chuẩn nén trước đó, chuẩn
MPEG-4 part 10/H.264 hay H.264/AVC được phát triển bởi nhóm
video kết hợp JVT bao gồm các chuyên gia đến từ MPEG và VCEG
của ITU-T. H.264/AVC đáp ứng hiệu quả mã hóa, đặc tả cú pháp đơn
giản, tích hợp mã hóa video với tất cả các giao thức và kiến trúc ghép
11

kênh hiện tại. Do đó, H.264/AVC có thể hỗ trợ các ứng dụng như
video broadcasting, video streaming, video conferencing qua mạng
cố định, không dây và qua các giao thức truyền tải khác nhau.
Tính kế thừa của chuẩn nén MPEG-4 Part 10/H.264:
 Phân chia hình ảnh thành các block bao gồm nhiều pixel.
 Khai thác triệt để sự dư thừa về mặt không gian tồn tại giữa
các hình ảnh liên tiếp.
 Khai thác sự phụ thuộc tạm thời của các block của các hình
ảnh liên tiếp.
 Khai thác tất cả sự dư thừa về thống kê, giảm tương quan
thống kê bằng mã hóa entropy.
H.264 có những sự thay đổi quan trọng trong chi tiết của các phần
tử chức năng như dự đoán trong ảnh, biến đổi số nguyên 4 x 4 mới,
nhiều ảnh tham chiếu, các kích thước block thay đổi, độ chính xác
1/4 cho bù chuyển động, bộ lọc tách khối, cải tiến mã hóa entropy.
H.264 sử dụng một số phương pháp để phục hồi lỗi. Thiết lập
tham số, thứ tự macroblock mềm dẻo, slice chuyển đổi, phương pháp
slice dư thừa được thêm vào.
2.4.2 Cấu trúc bộ mã hóa MPEG-4 part 10/H.264
Lớp mã hóa video của MPEG-4/H.264 là sự kết hợp của mã hóa
không gian và mã hóa thời gian. Bộ mã hóa có thể lựa chọn mã hóa
trong ảnh hoặc mã hóa liên ảnh cho miền khối. Bộ lọc tách khối làm
giảm sự nhiễu khối tại các đường biên của block. Các vector chuyển

động và các mode dự đoán trong ảnh có thể làm biến đổi kích thước
block trong ảnh. Cuối cùng, vector chuyển động hay các mode dự
đoán liên ảnh được liên kết với thông tin của hệ số biến đổi lượng tử
hóa và được mã hóa sử dụng mã entropy như CAVLC hay CABAC.
2.4.2.1 Các ảnh và bù chuyển động dùng trong MEG-4 Part
10/H.264
 Chia ảnh thành các macro-block
Mỗi ảnh video, frame được chia thành các macroblock có kích
thước cố định bao phủ một diện tích ảnh hình chữ nhật gồm 16 x 16
mẫu cho các thành phần chói và 8 x 8 mẫu cho một trong hai thành
phần màu.
12

Các macroblock được tổ chức thành các slice. MPEG-4 Part
10/H.264 hỗ trợ 5 dạng mã hóa slice khác nhau. Slice I, B, P như các
chuẩn trước. Hai dạng mới là SI và SP.
 Dự đoán trong ảnh Intra-frame
H.264 sử dụng phương pháp dự đoán các macroblock mã hóa
trong ảnh để giảm một lượng các bit được mã hóa bằng chính tín hiệu
gốc đưa vào.

Lƣợng tử
hóa
Mã hóa
entropy
Biến đổi ngƣợc

Bộ lọc tách
khối
Bộ nhớ ảnh

Dự đoán bù
chuyển động
Ƣớc tính
chuyển động
Quyết định Intra/
inter mode
Dòng bit
đầu ra
Video đầu vào
Dự đoán
trong khung
Các hệ số
lượng tử
Dữ liệu chuyển động
Biến đổi
Hình 2.6: Sơ đồ mã hóa của MPEG-4 part 10/H.264
 Bù chuyển động trong các slice P (dự đoán liên ảnh)
Các dạng mã hóa bù chuyển động được xác định cho các
macroblock slice P. Dự đoán liên ảnh làm giảm sự tương quan theo
thời gian với sự trợ giúp của việc ước tính vector chuyển động và bù
chuyển động.
- Chia các macroblock thành các block
- Các giá trị dự đoán cho thành phần chói và thành phần màu
- Bù chuyển động
MPEG-4 Part 10/H.264 cho phép các vector chuyển động không
hạn chế, tức là chúng có thể hướng ra ngoài miền ảnh.
MPEG-4 Part 10/H.264 hỗ trợ dự đoán bù chuyển động đa ảnh.
13

Ngoài các mode bù chuyển động được mô tả ở trên, macroblock

slice P cũng có thể được mã hóa trong mode gọi là SKIP.
 Bù chuyển động trong các slice B
So với các tiêu chuẩn trước đó, MPEG-4 Part 10/H.264 đã tổng
quát khái niệm slice B và không chỉ hỗ trợ một cặp dự đoán theo
hướng tiến/lùi mà còn cả hai cặp theo hướng tiến/tiến và lùi/lùi
Các mode dự đoán trong slice B: Trong slice B có 4 mode dự
đoán liên ảnh khác nhau được hỗ trợ: dự đoán list 0, list 1, hai hướng
và trực tiếp.
Dự đoán có trọng số (weighted prediction):
MPEG-4 Part 10/H.264 sử dụng phương pháp dự đoán có trọng số
khác nhau cho một macroblock của slice P hay slice B.
Việc phân chia các macroblock: tương tự như với slice P. Các
vector chuyển động tương tự như với slice P.
 Các slice SP và SI
Trong các tiêu chuẩn trước đó, việc chuyển đổi hoàn toàn giữa các
dòng bit có thể chỉ trong một ảnh I. H.264 giới thiệu các slice chuyển
đổi SP và SI để chuyển đổi giữa các dòng bit được mã hóa ở tốc độ
bit khác nhau.
2.4.2.2 Ước tính chuyển động (Motion Estimation)
Ước tính vector chuyển động được sử dụng cho nén sự dư thừa về
thời gian.Việc ước tính vector chuyển động thực hiện phép phân tích
giữa hai khung liên tiếp và xác định những miền hình ảnh có thay đổi
hay chuyển động giữa các ảnh.
2.4.2.3 Nén video
1) Nén theo miền thời gian
Khi bộ mã hóa đang hoạt động ở chế độ "inter", khối này sẽ phải
qua công đoạn hiệu chỉnh chuyển động. Khi bộ mã hóa hoạt động ở
chế độ "intra", khối này sẽ bỏ qua công đoạn hiệu chỉnh chuyển động
và tới thẳng công đoạn DCT.
2) Nén theo miền không gian

Ưu điểm của MPEG-4 Part 10/H.264 là nó sử dụng biến đổi
không gian nguyên (gần giống với DCT) đối với các block 4x4 pixel.
14

Lƣợng tử hóa
Để lượng tử hóa các hệ số biến đổi, MPEG-4 Part 10/H.264 dùng
phương pháp lượng tử hóa vô hướng.
Mã hóa entropy
Mã hóa entropy trong các tiêu chuẩn trước đó dựa trên các bảng
mã hóa VLC cố định. Tuy nhiên, trong H.264 tất cả các phần tử cú
pháp được mã hóa bằng mã Exp-Golomb. Để mã hóa dữ liệu dư thừa,
mã CAVLC đã được phát triển. Ngoài ra, mã hóa CABAC được phát
triển trong Main profile và High profile.
2.4.2.3 Bộ lọc tách khối
Một đặc trưng riêng của mã hóa dựa trên cơ sở khối là có thể nhìn
thấy các cấu trúc khối. MPEG-4 part 10/H.264 sử dụng bộ lọc tách
khối (deblocking filter) để làm giảm hiện tượng tách khối, ngăn chặn
việc truyền tạp âm mã hóa được tích lũy.
2.4.3. Bộ giải mã video trong MPEG-4 part 10/H.264
2.4.3.1 Bù chuyển động
Bù chuyển động thực hiện việc thiết lập lại các khung trên cơ sở
các vector đã nhận được, dữ liệu delta (dữ liệu khác nhau giữa hai
khung liên tiếp) và hình ảnh đã được mã hóa trước đó.
2.4.3.2 Khôi phục lỗi
Một trong những nhiệm vụ quan trọng nhất của bộ giải mã là làm
phù hợp và khôi phục lại các lỗi chắc chắn xảy ra, đặc biệt là khi kết
nối qua các liên kết dễ xảy ra lỗi như mạng không dây.

Giải mã hóa
entropy

Biến đổi ngƣợc
Bộ lọc tách
khối
Bộ nhớ ảnh
Dự đoán bù
chuyển động
Quyết định Intra/
inter mode
Video đầu ra
Dòng bit
đầu vào
Dự đoán
trong khung
Các hệ số
lượng tử
Dữ liệu chuyển động
Hình 2.7: Sơ đồ bộ giãi mã video trong MPEG-4 Part 10/H.264
15

2.4.4. Các profile và level của chuẩn MPEG-4 part 10/H.264
Extended profile
Phân chia dữ liệu
SI slice
SP slice
I slice
P slice
CAVLC
Thứ tự slice tùy ý
Thứ tự macroblock mềm dẻo
Slice dư thừa

B slice
Dự đoán có trọng số
CABAC
Kích thước block biến đổi tương thích
Ma trận tỉ lệ lượng tử
High profile
Main profile
Baseline profile
Hình 2.8: Các phần mã hóa của các profile trong H.264
2.5. Đánh giá về chuẩn nén MPEG-4 Part 10/H.264
2.5.1 Hiệu quả mã hóa
Hình 2.9 biểu diễn PSNR của thành phần chói và tốc độ bit trung
bình cho ứng dụng video streaming. Bảng 2.1 biểu diễn độ tiết kiệm
tốc độ bit trung bình. Có thể thấy H.264/AVC làm tốt hơn các bộ mã
hóa được xem xét khác.
Bảng 2.1: Tiết kiệm tốc độ bit trung bình cho ứng dụng video
streaming
Bộ mã hóa
Tiết kiệm tốc độ bit trung bình tương đối:
MPEG-4 ASP
H.263 HLP
MPEG-2
H.264/AVC
MP
37.44%
47.58%
63.57%
MPEG-4 ASP

16.65%

42.95%
H.263 HLP


30.61%
16



Hình 2.9: PSNR thành phần chói và tốc độ bit trung bình của các
chuẩn mã hóa khác nhau cho ứng dụng video streaming
Đối với ứng dụng video conferencing, H.264/AVC BP (Baseline
Profile), MPEG-4 Visual SP (Simple Profile), H.263 Baseline, H.263
CHC được xem xét.
Bảng 2.2: Tiết kiệm tốc độ bit trung bình cho ứng dụng video
conferencing
Bộ mã hóa
Tiết kiệm tốc độ bit trung bình tương đối:
H.263 CHC
MPEG-4 SP
H.263 base
H.264/AVC BP
27.69%
29.37%
40.59%
H.263 CHC

2.04%
17.63%
MPEG-4 SP



15.69%

Đối với ứng dụng giải trí, tiết kiệm tốc độ bit trung bình của
H.264/AVC so với MPEG-2 Video ML@MP và HL@MP trung bình
là 45%.
17


Hình 2.10: PSNR thành phần chói và tốc độ bit trung bình của
các chuẩn mã hóa khác nhau cho ứng dụng video conferencing
2.5.2 Độ phức tạp phần cứng
 Độ phức tạp của một số công cụ mã hóa H.264/AVC
chính
Kích thước block thay đổi: độ phức tạp tăng hơn 2.5% cho từng
mode thêm vào. Giảm tốc độ bit điển hình giữa 4 và 20%.
Biến đổi Hadamard: Sử dụng biến đổi Hadamard làm tăng tần
suất tuy cập khoảng 20%, trong khi không ảnh hưởng đáng kể tới
chất lượng và tốc độ bit của chuỗi kiểm tra.
B-frames: ảnh hưởng của các khung B lên tần suất truy cập thay
đổi từ -16 tới 12% phụ thuộc vào trường hợp kiểm tra và giảm tốc độ
bit lên tới 10%.
CABAC: CABAC làm tăng tần suất truy cập từ 25 tới 30. Sử
dụng CABAC làm giảm tốc độ bit lên tới 16%.
Giải pháp vector thay thế: bộ mã hóa có thể chọn để tìm kiếm các
vector chuyển động chỉ ở các vị trí 1/2 phần tử ảnh thay vì vị trí 1/4
phần tử ảnh, làm giảm độ phức tạp khoảng 10%. Tuy nhiên, sử dụng
vector 1/4 phần tử ảnh làm tăng hiệu quả mã hóa lên 30% ngoại trừ
với tốc độ bit rất thấp.

18

Dải tìm kiếm: Việc tăng cả số khung tham chiếu và kích thước tìm
kiếm làm cho tần suất truy cập cao hơn, lên tới xấp xỉ 60 lần, trong
khi ảnh hưởng rất nhỏ lên hiệu năng PSNR và tốc độ bit.
Nhiều khung tham chiếu: làm tăng tần suất truy cập theo kiểu
tuyến tính: độ phức tạp tăng 25% cho mỗi khung thêm vào. Một độ
lợi nhỏ hơn 2% trong tốc độ bit đối với tốc độ bit thấp và trung bình,
nhưng tiết kiệm đáng kể hơn cho các chuỗi tốc độ cao (lên tới 14%).
Bộ lọc tách khối:ảnh hưởng không đo được lên độ phức tạp mã
hóa. Tuy nhiên, bộ lọc làm tăng đáng kể trong chất lượng hình ảnh
theo đối tượng.
Đối với bộ mã hóa, nút thắt cổ chai chính là sự kết hợp nhiều ảnh
tham chiếu và kích thước tìm kiếm lớn.
 Phân tích độ phức tạp của một số công cụ giải mã
H.264/AVC chính.
CABAC: tần suất truy cập tăng lên tới 12%, so với phương pháp
sử dụng bảng VLC thuận nghịch đơn.
B-frames: ảnh hưởng của các khung B lên độ phức tạp truyền dữ
liệu tăng biến động từ 11 tới 29%.
Biến đổi Hadamard: ảnh hưởng có thể bỏ qua về mặt truy cập bộ
nhớ, trong khi tăng thời gian giải mã lên 5%.
Bộ lọc tách khối: sử dụng bộ lọc tách khối làm tăng tần suất truy
cập ở bộ giải mã 6%.
Giải pháp vector thay thế: trong trường hợp bộ mã hóa chỉ gửi các
vector chỉ vị trí 1/2 phần tử ảnh, độ phức tạp giảm 15%.
2.6. Kết luận chƣơng 2
Chương 2 trình bày về bộ mã hóa và giải mã MPEG nói chung,
MPEG-4 nói riêng và đi sâu vào chuẩn MPEG-4 part 10/H.264.
Chuẩn mã hóa video MPEG-4 part 10/H.264 hay H.264/AVC được

phát triển và thông qua bởi nhóm MPEG của ISO/IEC và nhóm
VCEG của ITU-T. So sánh với các chuẩn mã hóa video trước đó,
H.264/AVC cung cấp hiệu quả mã hóa được cải thiện và cải thiện
đáng kể độ mềm dẻo để sử dụng hiệu quả qua một dải rộng các
mạng. Tuy nhiên đi kèm với đó là độ phức tạp tăng.
19

CHƢƠNG 3 - ỨNG DỤNG BỘ MÃ HÓA MPEG-4
PART 10/H.264 KẾT HỢP VỚI VIDEO STREAMING
TRONG IPTV
3.1. Mô hình truyền thông IPTV
3.1.1. Các thành phần cơ bản của hệ thống IPTV
Hình 3.1 biểu diễn các thành phần phần cứng và phần mềm cũng
như các giao diện liên quan được yêu cầu để thực thi một giải pháp từ
đầu tới cuối hoàn chỉnh cho multicast TV và VoD trên nền IP.

Hình 3.1: Nền tảng dịch vụ IPTV multicast và VoD
3.1.1.1 Bộ mã hóa thời gian thực
Quá trình mã hóa ở trung tâm sữ liệu IPTV thường diễn ra trong 3
bước sau:
(1) Một video được nhận từ một nguồn cụ thể. Định dạng thay
đổi từ tín hiệu tương tự chất lượng thấp tới dòng số chất lượng cao.
20

(2) Khi đã nhận video, bộ mã hóa áp dụng sơ đồ nén cụ thể, như
MPEG-4 part 10/H.264.
(3) Sai khi đã nén, video chuẩn bị cho truyền dẫn, nghĩa là nội
dung được chèn vào các gói dữ liệu.
3.1.1.2 Máy chủ streaming TV quảng bá
Những máy chủ này thường được cấu hình thành cụm cho các

mục đích công việc liên tục và có trách nhiệm streaming nội dung
live IPTV sử dụng các giao thức đã chọn tới người sử dụng.
Máy chủ video streaming nhận các lệnh từ máy chủ middleware
và VoD, nó cũng nhận đầu vào từ DRM và máy chủ quản lý nội dung
với các dòng MPEG-2, MPEG-4, H.264 hoặc các bộ codec tương tự
được chọn bởi nhà cung cấp dịch vụ IPTV.
3.1.2 Các phương pháp khác nhau để streaming nội dung
IPTV
3.1.2.1 Unicast
Trong unicast, tất cả các dòng video IPTV được gửi tới một
IPTVCD đơn. Do đó, nếu có nhiều hơn một người sử dụng cuối
IPTV thu cùng kênh video, từng IPTVCD sẽ cần nhận các dòng
unicast riêng biệt.
3.1.2.2 Broadcast
Mạng IP cũng hỗ trợ chức năng broadcast, trong đó kênh IPTV
được stream tới tất cả các thiết bị truy cập IPTV kết nối với mạng
băng rộng. Khi một máy chủ được cấu hình để broadcast, một kênh
được gửi tới tất cả các IPTVCD kết nối với mạng dù có yêu cầu hay
không. Đây là một vấn đề lớn vì tài nguyên của IPTVCD.
3.1.2.3 Multicast
Các nhóm và thành viên tạo thành cơ sở cho multicast hoạt động.
Trong triển khai IPTV, mỗi nhóm multicast là một kênh TV quảng bá
và thành viên của nó là các IPTVCD chọn xem kênh đó. Do đó, từng
kênh IPTV chỉ stream tới các IP set-top box muốn xem kênh đó.
21

3.2. Mô hình tham chiếu IPTV và truyền tải các nội dung
MPEG-4
MPEG-4 part 10/H.264 bao gồm hai lớp: lớp mã hóa video (VCL)
và lớp trừu tượng mạng (NAL). Bắt đầu ở H.264/AVC mới đưa ra

khái niệm lớp trừu tượng mạng. Lớp con VCL quan tâm tới việc nén
nội dung video. Lớp con NAL tương thích dòng bit tạo ra bởi VCL
với các mạng và môi trường ghép kênh khác nhau.
NAL unit header Tải trọng video NAL
1 bit 2 bit 5 bit
Chứa một phần hoặc toàn bộ
một slice video
Định nghĩa loại NALU
Cờ báo hiệu NAL dùng một lần hay không
Bit chỉ thị một lỗi có thể có trong NAL header
hoặc tải trọng khi bit này là 1

Hình 3.2: Cấu trúc của một khối NAL
Việc phân phát nội dung H.264/AVC hiện nay được chuẩn hóa
cho 3 giao thức phân phát nội dung, mỗi loại hướng tới một lĩnh vực
ứng dụng khác nhau:
- Giao thức truyền tải thời gian thực RTP là phương tiện triển
khai trên mạng IP/chuyển mạch gói
- Dòng truyền tải MPEG-2 (TS) được sử dụng cho mạng
quảng bá truyền hình số.
- Định dạng file H.264 (MPEG-4 part 15) dùng để lưu trữ và
phân phát H.264 không phải thời gian thực.
3.2.1. Định dạng file H.264/AVC
ISO/IEC 14496-15 chỉ rõ định dạng lưu trữ cho các dòng video
H.264/AVC.
Việc lưu trữ nội dung H.264/AVC sử dụng dung lượng hiện có
của định dạng file phương tiện cơ sở ISO (ISO/IEC 14496-12) nhưng
22

định nghĩa các mở rộng để hỗ trợ các tính năng sau của bộ codec

H.264/AVC: Chuyển đổi ảnh, chuỗi con và các lớp, các tập tham số.
 Cấu trúc dòng phần tử (ES)
Có hai loại dòng phần tử để lưu trữ nội dung AVC trong
định dạng file AVC: dòng phần tử video, dòng phần tử tập tham số
 Định nghĩa cấu hình và mẫu:
Mẫu AVC: là đơn vị truy cập
Mẫu tập tham số AVC: là một mẫu trong một dòng tập tham số mà
chứa các NALU tập tham số đó được xem xét nếu có mặt trong dòng
phần tử video ở cùng tham số thời gian.
3.2.2. Đóng gói dòng phần tử ES H.264/AVC vào dòng truyền
tải MPEG-2
8 bit 16 bit 2 bit 2 bit 4 bit Độ dài thay đổi Dữ liệu video
Byte đồng bộ
Điều khiển xáo
trộn truyền tải
Điều khiển trường thích ứng
Bộ đếm liên tục
1 bit chỉ thị
lỗi truyền tải
1 bit chỉ thị
bắt đầu khối
tải trọng
1 bit độ
ưu tiên
truyền tải
Nhận dạng chương
trình (PID)
Trường thích ứng
Hình 3.3: Định dạng gói MPEG TS
Từng dòng cơ bản được chuyển đổi thành một dòng các gói dòng

cơ bản đã đóng gói (PES) được đánh dấu thời gian.
Tiếp theo, lớp cấu trúc dòng truyền tải xây dựng một dòng truyền
tải TS. Gói TS được tạo thành bằng cách ngắt các gói PES thành các
gói TS có kích thước cố định là 188 byte độc lập với thời gian.
3.2.3. Định dạng tải trọng RTP cho H.264/AVC
Lớp RTP được sử dụng rộng rãi trong nhiều ứng dụng IPTV khác
nhau. Lớp này là trung gian giữa các nội dung được mã hóa
H.264/AVC, MPEG-2 hoặc VC-1 trong các lớp cao hơn và các phần
thấp hơn trong IPTVCM. Giao thức RTP là lõi của lớp này và thường
là khối cơ sở để hỗ trợ streaming thời gian thực nội dung phương tiện
qua một mạng IP.
23

2 bit
1
bit
1
bit
4 bit
1
bit
7 bit 16 bit 32 bit 32 bit 32 bit
Phiên bản
Đệm
Mở rộng
Bộ đếm nhận dạng
nguồn phân phối
(CSRC)
Đánh
dấu

Loại tải trọng (PT)
Số chuỗi Nhãn thời gian
Nhận dạng nguồn
đồng độ (SSRC)
Danh sách nhận dạng
nguồn phân phối (CSRC)
Hình 3.4: Định dạng điển hình của một RTP header
RFC 3984 định nghĩa 3 cơ chế chèn các khối NAL vào tải trọng
RTP:
- Gói khối NAL đơn: cơ chế này định nghĩa ánh xạ một khối
NAL đơn vào một tải trọng RTP đơn.
- Gói khối NAl kết hợp: cơ chế này định nghĩa ánh xạ nhiều
khối NAL vào một tải trọng RTP đơn.
- Gói NAL phân tách: Cơ chế này định nghĩa ánh xạ một khối
NAL đơn thành nhiều tải trọng RTP.
3.3. Đánh giá mô hình hệ thống IPTV và kết quả đạt đƣợc
Hệ thống IPTV trong hình 3.1 biểu diễn các thành phần phần
cứng và phần mềm cũng như các giao diện liên quan được yêu cầu để
thực thi một giải pháp từ đầu tới cuối hoàn chỉnh cho multicast TV và
VoD trên nền IP. Mô hình này mang tính lý thuyết. Trong thực tế,
việc triển khai IPTV tùy theo giải pháp của từng nhà cung cấp dịch
vụ.
3.4. Kết luận chƣơng 3
Chương 3 trình bày về các thành phần video sử dụng trong hệ
thống IPTV, các phương pháp để streaming nội dung IPTV và mô
hình tham chiếu IPTVCM để đóng gói và truyền tải các nội dung
MPEG-4 part 10/H.264. Đối với VoD, một hệ thống truyền thông
unicast được sử dụng để thiết lập các liên kết hoặc các phiên riêng rẽ
giữa các IPTVCD và máy chủ trung tâm dữ liệu IPTV. Phương pháp
truyền thông này là không hiệu quả để phân phát các kênh quảng bá

truyền thống. Do đó, một kỹ thuật gọi là IP multicast được sử dụng
rộng rãi để cung cấp một kênh TV quảng bá đơn tới nhều khách hàng
cùng lúc.

×