Tải bản đầy đủ (.doc) (87 trang)

so sánh các chuẩn nén video trong truyền thông đa phương tiện

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 (2.27 MB, 87 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Bộ môn truyền thông và mạng máy tính
********************
Bài tập lớn môn học
Truyền thông đa phương tiện
Giáo viên hướng dẫn : PGS-TS Nguyễn Thị Hoàng Lan
Sinh viên thực hiện : Nguyễn Thành Nam B (trưởng nhóm) - 20062201
Đào Việt Phương - 20062418
Vũ Văn Thành - 20062900
Nguyễn Hoài Nam - 20062194
Phạm Ngọc Quang - 20062504
Hoàng Anh Minh - 20062101
Trịnh Ngọc Đức - 2006C078
Nguyễn An Hưng - 20061531
Lớp : Truyền thông và Mạng máy tính – K51
Mục lục
Mục lục 2
CHUẨN MPEG 1 và MPEG 2 9
Tổng quan về MPEG 9
MPEG 1 9
1.1.Phân cấp cấu trúc của MPEG 1 10
1.2.Các kĩ thuật nén của MPEG 1 11
MPEG 2 16
1.3.Sơ đồ nén và giải nén của MPEG 2 16
1.4.Các kĩ thuật nén của MPEG 2 18
19
Biến đổi DCT được thực hiện trên một một macroblock của ảnh thật đã lấy mẫu để cho ra một
ma trận 8 x 8 với các điểm là các hệ số DCT.Phép DCT thực hiện chuyển các hệ số không gian
sang miền tần số .Mỗi một phần tử điểm ảnh ở ma trận gốc được biểu diễn bằng một hệ số tần
số nào đó. Có nhiều năng lượng ảnh tập trung ở vùng tần số thấp ( ví dụ như các cảnh bầu trời,


cảnh nền, ), các chi tiết của ảnh lại thể hiện ở tần số cao.Mắt người tập trung trước hết vào
phần tần số thấp của ảnh vì năng lượng tập trung chủ yếu vào phần này.Nhưng vùng mang hệ
số tần số cao lại mang nhiều thông tin hơn vùng tần số thấp. Vì vậy phép DCT sắp xếp lại thông
tin, thuận tiện cho các bước mã hóa khác sau Các hệ số DCT nói lên sự biến đổi tần số giữa các
mẫu theo chiều ngang và dọc. 19
Phép toàn DCT được mô tả như sau : 19
19
19
20
Lượng tử hoá là quá trình bỏ bớt các hệ số tần số, lượng tử hoá là quy cho (phân định) độ phân
giải cho từng hệ số tần số (số lượng tử bit), sau đó nén số liệu bằng cánh quy các bit có trọng
lượng thấp cho hệ số tầng số cao, điều này ít có nghĩa đối với người xem 20
Thực chất của lượng tử hóa là quá trình chia các hệ số F(u,v) cho các hệ số lớn hơn 1 ở các vị trí
tương ứng, trong đó các hệ số ứng với tần số xuất hiện thấp của phần tử ảnh được chia cho các
giá trị nhỏ (10, 11, 12, ), ứng với tần số cao được chia cho các giá trị lớn (100, 120, 121, ) và
bỏ đi phần thập phân (chính là sai số lượng tử hoá). Quá trình lượng tử hoá tạo ra nhiều giá trị 0
trong ma trận các hệ số, và làm nhỏ đi các giá trị còn lại, nhờ vậy số lượng các bit của dữ liệu
được mã hoá giảm đi đáng kể mà không gây ra sự khác biệt đáng kể dưới góc độ cảm nhận của
mắt người so với ảnh gốc ban đầu 20
Lượng tử hóa được thực hiện bởi công thức sau : 20
2
T’[u][v] = 20
Trong đó: 20
T : ma trận DCT 20
T’: ma trận sau lương tử hóa 20
QM : ma trận lượng tử hóa được xác định bởi chuẩn MPEG 2 20
QS = 40, Quantizer scale 20
21
Ảnh hưởng của kĩ thuật nén lên chất lượng hình ảnh 26
So sánh giữa MPEG 1 và MPEG 2 34

H261 và H262 36
1.H261 36
1.1.Group of Block (GOB) 37
1.2.Mô hình mã hóa và giãi mã của H261 40
1.3.Các kĩ thuật nén của H261 41
2.H262 47
2.1.Mô hình mã hóa H262 47
2.2.Loại ảnh 49
2.3.Kiểm soát bộ đệm 49
2.4.Các profiles và các bậc 50
2.5.Kết luận 53
3.So sánh H261 và H262 54
4.So sánh giữa MPEG và H26X 56
MPEG 4 58
1.Giới thiệu chung 58
2.Phạm vi và tính năng của chuẩn MPEG-4 58
3.Kĩ thuật mã hóa Video của chuẩn MPEG4 59
3.1.Sự tổ hợp khung hình trong MPEG 4 59
3.2.Cấu trúc bộ mã hóa và giải mã của MPEG 4 61
3.3.Các Profiles và Levels trong chuần MPEG-4 62
4.MPEG 4 video 62
4.1.Khả năng mở rộng mã hóa các đối tượng Video 64
4.2. Khả năng khắc phục lỗi mạnh mẽ 64
3
4.3.Cải thiện sự ổn định với độ phân giải thời gian trễ thấp 67
4.4.Thuật toán nén của MPEG 4 68
5.So sánh MPEG 4 với MPEG 2 71
IV.H264 74
1.Tổng quan về H264 74
2.Sự phát triển của H264 74

3.Sơ đồ mã hóa khối của H264 75
4.Các phương pháp nén của H264 77
4.1.Giảm bớt độ dư thừa 77
4.2.Chọn chế độ, phân chia và chế ngự 78
4.3. Nén theo miền thời gian 79
4.4.Nén theo miền không gian 80
5. Các ưu điểm nổi bật của chuẩn nén H264 81
5.1.Ưu điểm của nén không gian 81
5.2.Ưu điểm của nén thời gian 81
5.3.Kích cỡ khối 81
5.4.Ưu điểm về lượng tử hoá và biến đổi 83
5.5.Ưu điểm đối với mã hoá entropy 83
So sánh H264 với các chuẩn nén khác 84
Kết luận về H264 85
KẾT LUẬN 86
TÀI LIỆU THAM KHẢO 87
Danh mục hình vẽ
Hình 1 Hệ thống giải mã của MPEG 10
Hình 2 Video Sequence 10
4
Hình 3 Thành phần độ sáng và thành phần độ màu 11
Hình 4 Các khung hình trong chuẩn MPEG 13
Hình 5 Các khung hình trong 1s 13
Hình 6 Mã hóa Macroblock 15
Hình 7 SCRs 16
Hình 8 Sơ đồ mã hóa 17
Hình 9 Sơ đồ giải mã 17
Hình 10 Hai tiêu chuẩn lấy mẫu 4:2:0 và 4:2:2 18
Hình 11 Biến đổi DCT 19
Hình 12 Sơ đồ biến đổi DCT 20

Hình 13 Một số ví dụ về biến đổi DCT 21
Hình 14 Sơ đồ mã hóa VLC 21
Hình 15 Blocks trước và sau khi quét Zig-zag 22
Hình 16 Bit rate control 23
Hình 17 Ba ma trận lượng từ hóa: (a) MQUANT = 2, (b) MQUANT = 4, (c) MQUANT = 6 24
Hình 18 Dung lượng dữ liệu nén ứng với lượng tử hóa của hình 17 24
Hình 19 Hai ma trận lượng tử hóa tiêu chuẩn W(u,v) với MQUANT = 2 25
Hình 20 Dung lượng dữ liệu nén với ma trận lượng tử hóa trên hình 19 25
Hình 21 MPEG 2 Profiles 26
Hình 22 MPEG 2 Levels 27
Hình 23 Trật tự của một GOB trong ảnh 37
Hình 24 Cấu trúc của GOB header 37
Hình 25 Trật tự của macroblock trong một GOB 38
Hình 26 Cấu trúc của một lớp Macroblock 38
Hình 27 Trật tự của blocks trong Macroblock 39
Hình 28 Sơ đồ mã hóa H261 40
Hình 29 Sơ đồ giải mã H261 40
Hình 30 Intra frame và Inter frame 41
Hình 31 Intra-frame coding 41
Hình 32 Inter-frame coding 42
Hình 33 H261 frame encoder 43
Hình 34 Phương pháp tìm kiếm Motion Vector 44
5
Hình 35 Two-Dimensional Logarithmic 45
Hình 36 Hierarchical Motion Estimation 46
Hình 37 (a) Hệ thống mã hóa bù chuyển động DCT 47
Hình 38 Cấu trúc của chuỗi các bit video mã hóa theo chuẩn H262 48
Hình 39 (a)Bộ mã hóa video SNR 51
Hình 40 (a) Bộ mã hóa video sử dụng profile đánh giá không gian 52
Hình 41 H262 levels: Giới hạn kích thước ảnh, tốc độ frame, tốc độ bit, kích thước bộ đệm 53

Hình 42 Sự tổ hợp khung hình trong MPEG-4 60
Hình 43 Cấu trúc của bộ mã hoá và giải mã video MPEG-4 61
Hình 44 Sơ đồ cấu trúc giải mã video MPEG-4 61
Hình 45 The VLBV Core and the Generic MPEG-4 Coder 63
Hình 46 Phân loại các hình ảnh MPEG-4 và Video Coding thuật toán và công cụ 67
Hình 47 Sơ đồ khối cơ bản của MPEG-4 Video coder 68
Hình 48 Ví dụ về Sprite mã của chuỗi Video 70
Hình 49 Sơ đồ mã hóa khối của H264 76
Hình 50 Sơ đồ mã hóa H264 76
Hình 51 Sơ đồ giải mã H264 77
Hình 52 Multiple Reference Frames 78
Hình 53 Profiles của H264 79
Hình 54 Sơ đồ khối mã hoá MPEG, đường đứt nét đặc trưng cho phần bổ sung của H264 80
Hình 55 H264 có thể phân chia thành phần chói của từng MacroBlock 82
6
7
LỜI MỞ ĐẦU
Hiện nay, chúng ta đang sống trong thời đại khoa học kĩ thuật và công nghệ
cao, con người đã đạt nhiều thành tựu trong rất nhiều lĩnh vực, đặc biệt là trong công
nghệ thông tin. Truyền thông đa phương tiện là một một ngành trong công nghệ
thông tin, có mặt ở hầu hết mọi nơi, đóng vai trò quan trọng trong việc truyền tải
thông tin, xóa nhòa các khoảng cách địa lý và mang lại cho con người nhiều lợi ích
to lớn.
Trong truyền thông đa phương tiện, nén video là một công nghệ vô cùng quan
trọng. Tại sao ta phải nén video? Những video gốc với dung lượng lớn không thể
truyền tải nếu không có nén. Tùy theo nhu cầu và các kĩ thuật thực hiện, chúng ta đã
phát minh ra nhiều chuẩn nén video khác nhau, phù hợp với nhiều mục đích sử
dụng.
Có các loại chuẩn nén video nào, chúng hoạt động ra sao, chất lượng hình ảnh
và các ứng dụng của chúng trong thực tế như thế nào, sự khác biệt giữa chúng như

thế nào, đây chính là chủ đề mà chúng em sẽ tìm hiểu trong tiểu luận này:
“So sánh các chuẩn nén video trong truyền thông đa phương tiện.”
Tiểu luận này của chúng em sẽ được chia thành 4 phần:
• Chuẩn Mpeg 1 và Mpeg 2, phần này sẽ trình bày về các kĩ thuật nén, ảnh
hưởng của phương nén tới chất lượng nén video, và một số so sánh giữa 2
chuẩn nén này.
• Chuẩn H261 và H262, phần này sẽ trình bày về các kĩ thuật nén, ảnh hưởng
của phương pháp nén tới chất lượng nén video, và so sánh giữa kĩ thuật nén
của dòng H26X (ITU-T) với dòng MPEG (ISO).
• Chuẩn MPEG 4, phần này sẽ trình bày về các khía cạnh của chuẩn nén
MPEG 4 và so sánh phương pháp nén giữa MPEG 4 với MPEG 1 và MPEG
2.
• Phần cuối cùng là chuẩn H264, tìm hiểu về các kĩ thuật, các cải tiến trong
phương pháp nén của H264 với các chuẩn khác, một số so sánh giữa H264
với MPEG và các chuẩn H26X khác.
Cách thực hiện mỗi phần trên do các bạn thực hiện phần đó quyết định tùy
theo hướng tìm hiểu của từng người.
Chúng em xin cảm ơn cô Nguyễn Thị Hoàng Lan đã giúp chúng em hoàn
thành tiểu luận này.
8
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
CHUẨN MPEG 1 và MPEG 2
Tổng quan về MPEG
Chuẩn MPEG (moving picture experts group) là chuẩn nén, giải nén và đồng
bộ hóa các tín hiệu video và audio. Với các tỉ lệ nén 1.2 Mbps, với độ phân giải
352x240 quét 30Hz thông thường thì chất lượng video có thể so sánh được với
chuẩn VHS
Chất lượng hình ảnh có thể được cải thiện đáng kể bằng cách dùng tỉ lệ nén dữ
liệu lớn hơn mà không cần thay đổi độ phân giải. MPEG không phải là công cụ nén
đơn lẻ mà ưu điểm của nén MPEG chính là ở chỗ nó có một tập hợp các công cụ mã

hóa chuẩn, chúng có thể được kết hợp với nhau một cách linh động để phục vụ cho
một loạt các ứng dụng khác nhau.
Các chuẩn MPEG hiện có gồm:
• MPEG-1 là chuẩn lưu trữ và phục hồi ảnh động và Audio trong lưu trữ
Media. MPEG-1 có thể nén tín hiêu video tới 1.5 Mbps với chất lượng VHS
và âm thanh lập thể (stereo audio) với tốc độ 192 bps. NÓ được dùng để lưu
trữ video và âm thanh trên CD-ROM.
• MPEG-2 là chuẩn cho TV số.
• MPEG-4 là chuẩn cho các ứng dụng Multmedia. MPEG-4 trở thành 1 tiêu
chuẩn cho nén ảnh kỹ thuật truyền hình số, các ứng dụng về đồ họa và video
tương tác hai chiều (Games, Video conferencing) và các ứng dụng
Multimedia tương tác hai chiều (world wide web hoặc các ứng dụng nhằm
phân phát dữ liệu video như truyền hình cáp, internet video…). MPEG-4 đã
trở thành một tiêu chuẩn công nghệ trong quá trình sản xuất, phân phố và truy
cập vào các hệ thống video. Nó đã góp phần giải quyết vấn đề dung lượng
cho các thiết bị lưu trữ, giải quyết vấn đề về băng thông của đường truyền tín
hiệu video hoặc kết hợp cả hai vấn đề trên.
• MPEG-7 chứa đặc tả thông tin, giao diện cho việc tìm kiếm thông tin
MPEG-1 và MPEG-2 đã được chuẩn hóa trong khi MPEG-4 và MPEG-7 đang
được phát triển.
MPEG 1
Dữ liệu MPEG gồm 2 lớp:
• Lớp hệ thống (System layer) chứa thông tin về thời gian (Timing) và các
thông tin khác cần thiết cho việc tách các dòng dữ liệu Video và Audio đồng
thời đồng bộ hóa Video và Audio trong quá trình phát (Playback)
9
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
• Lớp dữ liệu nén (Compress Layer) bao gồm các dòng dữ liệu Video và
Audio.
Hình 1 Hệ thống giải mã của MPEG

Hệ thống giải mã sẽ tách các thông tin về thời gian từ dữ liệu hệ thống MPEG
và gửi nó đến các thiết bị hệ thống khác (việc đồng bộ hóa sẽ cần thêm nhiều thông
tin về thời gian). Hệ thống giải mã cũng tách các dữ liệu Video và Audio từ dữ liệu
ban đầu, sau đó gửi chúng đến bộ giải mã thích hợp.
Bộ giải mã Video (Video Decoder) và Audio (Audio Decoder) giải nén các
dòng dữ liệu Video và Audio. Hầu hết các sơ đồ nén MPEG đều dùng kỹ thuật lấy
mẫu bổ xung (subsampling) và lượng tử hóa (Quantization) trước khi mã hóa. Lấy
mẫu bổ xung nhằm mục đích để làm giảm kích thước khung hình đầu vào theo cả
chiều ngang và chiều dọc, như vậy sẽ giảm số lượng các điểm ảnh trước mã hóa.
Trong một số trường hợp người ta còn lấy mẫu bổ xung theo thời gian để giảm số
lượng các khung hình trước khi mã hóa. Đây được xem như là một kỹ thuật rất cơ
bản nhằm loại bỏ sự dư thừa dựa vào khả năng lưu ảnh của mắt người cảm thụ.
1.1. Phân cấp cấu trúc của MPEG 1
Chuẩn MPEG định nghĩa một kiểu phân cấp cấu trúc trong dữ liệu Video như
sau:
• Video Sequence (Cảnh): bắt đầu với một Sequence Header, bao gồm một
hoặc một nhóm khung hình và kết thúc với mã End-of-sequence.
Hình 2 Video Sequence
• GOP (Group of picture): một dãy liên tiếp các ảnh (picture) trong cảnh.
• Frame/Picture (khung hình): là thành phần mã hóa chính, thường chúng ta có
thể phân biết sự thay đổi về độ sáng của ảnh (Brightness) tốt hơn sự thay đổi
10
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
về màu (Chromiance), do đó trước hết các sơ đồ nén MPEG sẽ tiến hành
chia khung hình thành các thành phần độ sáng Y và thành phần độ màu Cb,
Cr; một khung hình sẽ gồm có ba ma trận ứng với các thành phần về độ sáng
Y và độ màu Cb, Cr
Hình 3 Thành phần độ sáng và thành phần độ màu
Ma trận Y có số hàng và cột bằng nhau (ma trận vuông). Ma trận Cb và Cr có
số hàng và cột bằng nửa ma trận Y. Cứ 4 giá trị Y lại có 2 giá trị kết hợp một

của Cb và một của Cr (Vị trí của giá trị Cb và Cr là tương đương).
• Slice: Dãy các Macroblock, thứ tự của Macroblock bên trong Slice được xác
định từ trái qua phải, từ trên xuống dưới. Slice rất quan trong trong việc định
lỗi. Nếu dòng dữ liệu (Bitstream) có chứa lỗi, bộ giải mã có thể bỏ qua và
tiếp tục ở Slice kế tiếp. Nhiều slice trên dòng dữ liệu cho phép che giấu lỗi tốt
hơn và được dùng để cải thiện chất lượng hình ảnh.
• Macroblock: 16 pixel trong 16 hàng của thành phần Y tương ứng với 8 pixel
trong 8 hàng của thành phần Cb và Cr. Một Macroblock chứa 4 Y Block với
1 Cb Block và 1 Cr Block với các con số ứng với thứ tự trong các dòng dữ
liệu.
• Block: là tập hợp 8 pixel trong 8 hàng các giá trị của thành phần Y hoặc Cb,
C
1.2. Các kĩ thuật nén của MPEG 1
Nén MPEG là sự kết hợp hài hóa của 4 kỹ thuật cơ bản: Preprocessing (tiền
xử lý), Temporal Prediction (đoán trước sự chuyển động của các frame ở bộ mã
hóa), Motion compensation (bù chuyển động ở bộ giải mã), Quantization Coding
(lượng tử hóa).
Các bộ lọc tiền xử lý sẽ lọc ra những thông tin không cần thiết từ tín hiệu
Video và những thông tin khó mã hóa những không quan trọng cho sự cảm thụ của
mắt người. Kỹ thuật đoán chuyển động dựa trên nguyên tắc là các khung hình trong
một cảnh video (video sequence) dường như có quan hệ mật thiết với nhau theo thời
gian: Mỗi khung hình tại mỗi thời điểm nhất định sẽ có nhiều khả năng giống với
các khung hình đững ngay trước và ngay sau nó. Các bộ mã hóa sẽ tiến hành quét
11
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
lần lượt từng phần nhỏ trong mỗi khung hình gọi là Macroblock, sau đó nó sẽ phát
hiện Macroblock nào không thay đổi từ khung hình này đến khung hình khác. Bộ
mã hóa sẽ tiên đoán trước sự xuất hiện của các Macroblock khi biết vị trí và hướng
chuyển động của nó. Do dó chỉ những sự thay đổi giữa các Macroblock trong khung
hình hiện tại và các Macroblock được tiên đoán mới được truyền tới bên phía thu.

Phía thu (bộ giải mã) đã lưu trữ sẵn những thông tin mà không thay đổi từ khung
hình này tới khung hình khác trong bộ nhớ đệm của nó và chúng được dùng để điền
thêm một cách đều đặn vào các vị trí trống trong khung hình được khôi phục.
Nén tín hiệu video được thực hiện nhờ việc loại bỏ cá sự dư thừa về không
gian (Spatial Coding) và thời gian (Temporal Coding). Trong MPEG, việc loại bỏ
dư thừa về thời gian được thực hiện nhờ sử dụng các tính chất giống nhau giữa các
khung hình liên tiếp. Chúng ta có thể sử dụng tính chất này để tạo ra các khung hình
mới nhờ vào những thông tin từ những khung hình mới nhờ vào những thông tin từ
những khung hình đã gửi trước nó. Do vậy ở phía bộ mã hóa chỉ cần gửi những
khung hình có thay đổi so với những khung hình trước, sau đó dùng phương pháp
nén về không gian để loại bỏ sự dư thừa về không gian trong chính những khung
hình sai khác này. Nén về không gian dựa trên nguyên tắc là phát hiện sự giống
nhau của các điểm ảnh lân cận nhau.
1.2.1. Các kiểu khung hình trong MPEG 1
Chuẩn MPEG định nghĩa cụ thể 3 kiểu khung hình: I-frame, B-frame, P-frame.
• I-frame (Intra frame - khung hình độc lập): I-frame là khung hình được mã
hóa độc lập mà không cần tham khảo tới các khung hình khác. Hiệu quả nén
tín hiệu đạt được do loại bỏ sự dư thừa về không gian (không có yếu tố thời
gian tham gia quá trình). I-frame được dùng một cách tuần hoàn để tạo các
điểm tựa cho dòng dữ liệu trong quá trình giải mã. I-frame cung cấp khả năng
truy xuất ngẫu nhiên các điểm trong dữ liệu video nén và cung cấp độ nén
vừa phải được dùng với 2 bit mỗi pixel.
• P-frame (Predicted frame - khung hình dự đoán): P-frame có thể sử dụng các
I-frame hay P-frame ngay trước nó để bù chuyển động. Công nghệ này gọi là
công nghệ dự đoán tiếp (Forward prediction). Mỗi Macroblock trong P-
frame có thể được mã hóa hóa theo kiểu tiên đoán (Predicted) hoặc được mã
hóa độc lập (intra-coded)Cũng như I-frame, P-frame được dùng như một
tham chiếu cho việc dự đoán B-frame và P-frame kế tiếp. P-frame dùng để bù
chuyển động và cũng cấp nhiều khả năng nén hơn I-frame do sử dụng cả nén
không gian và thời gian. P-frame có thể sinh ra các lỗi do P-frame được dự

đoán từ I-frame hoặc P-frame trước đó.
12
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
• B-frame (Bidirectional frame - khung hình hai hướng): B-frame là các khung
hình sử dụng các khung hình trong quá khứ và tương lại để tham khảo. B-
frame cung cấp khả năng nén lớn hơn và không sinh ra lỗi do nó không được
dùng cho việc tham chiếu.
Hình 4 Các khung hình trong chuẩn MPEG
Thuật toán MPEG cho phép mã hóa để chọn ra các tần số và vị trí của I-frame.
Việc lựa chôm này dựa vào sự cần thiết của ứng dụng trong truy xuất ngẫu nhiên và
vị trí của cảnh. Đối với các ứng dụng mà việc truy xuất ngẫu nhiên quan trọng thì I-
frame luôn được sử dụng 2 lần một giây.
B-frame có thể sử dụng các ảnh I-frame hoặc P-frame phía trước hoặc phía sau
nó cho việc bù chuyển động và do vậy cho kết quả nén cao nhất. Mỗi khối trong B-
frame có thể được tiên đoán theo chiều ngược, xuôi, cả hai hướng hoặc được mã
một cách độc lập. Để có thể tiên đoán ngược từ một khung hình phía sau nó, bộ mã
hóa sẽ tiến hành sắp xếp lại các khung hình từ thứ tự xuất hiện một cách tự nhiên
sang một thứ tự khác của các khung hình trên đường truyền. Do vậy từ đầu ra của bộ
mã hóa, B-frame được truyền sau các khung hình dùng để tham khảo ở phía trước và
phía sau của nó. Điều này sẽ tạo độ trể do phải sắp xếp lại thông tin, độ trễ này lớn
hay nhỏ là tùy thuộc vào số các B-frame liên tiếp nhau được truyền
Hình 5 Các khung hình trong 1s
Bộ mã hóa chọn số B-frame nằm giữa mỗi cặp tham chiếu (I-frame hoặc P-
frame). Việc lựa chọn này dựa vào các yếu tố như khối lượng bộ nhớ trong bộ mã
hóa và đặc trưng của thành phần được mã hóa. Chẳng hạn một dãy khung hình
thường có hai khung hình hai hướng xen giữa các khung hình tham chiếu.
13
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
1.2.2. Motion compensation
Bù chuyển động là công nghệ cải tiến việc nén P-frame và B-frame bằng việc

loại bỏ dư thừa, thuật toán bù chuyển động làm việc ở mức Macroblock. Khi
macroblock được bù chuyển động, file nén chứa các thông tin sau:
• Vector không gian giữa Macroblock tham chiếu và Macroblock được mã hóa
(Motion vertor).
• Sự khác nhau giữa Macroblock tham chiếu và Macroblock được mã hóa
(Error Term).
Kỹ thuật tiên đoán bù chuyển động được sử dụng như là một trong những công
cụ mạnh để làm giảm sự dư thừa về không gian giữa các khung hình. Khái niệm về
bù chuyển động của các khung hình tức là các khung hình thành phần trong cảnh
video sẽ được thay thế gần đúng. Kỹ thuậ tiên đoán bù chuyển động giữa các khung
hình được xem như là biện pháp để hạn chế bớt các thông số của chuyển động bởi
việc dùng các Vector chuyển động để mô tả sự dịch chuyển các điểm ảnh. Kết quả
tiên đoán tốt nhất của một điểm ảnh là dựa trên sự tiên đoán bù chuyển động từ một
khung hình đã mã hóa được truyền phía trước của nó. Cả hai thông số, sai dố chuyển
động (biên độ) và các vector chuyển động (hướng chuyển động) đều được truyền tới
phía bên nhận. Tuy nhiên do có mối quan hệ tương quan chặt chẽ giữa các điểm ảnh
về không gian (trùng về không gian), một vector chuyển động có thể được dùng cho
một khố các điểm ảnh gồm các pixel lân cận nhau (MPEG-1 và MPEG-2 dùng các
khối 16x16 pixels).
Không phải tất cả các thông tin trong khung hình có thể được dự đoán từ
khung hình trước. Chằng hạn một cảnh với của phòng mở: các chi tiết của căn
phòng không thể dự đoán được từ các khung hình trước (khi cửa đóng). Trong
trường hợp này Macroblock trong P-frame không thể được miêu tả hiệu quả bởi bù
chuyển động.
Sự khác nhau giữa bù chuyển động của B-frame và P-frame là các Macroblock
trong P-frame chỉ được tham chiếu từ các khung hình trước còn các Macroblock
trong B-frame được mã hóa phối hợp giữa các khung hình tham chiếu trước và sau
nó.
2.2.4. Mã hóa trong Mpeg 1
4 kiểu mã hóa cho mối Macroblock trong B-frame:

• Intra Coding: không bù.
• Forward Prediction: khung hình trước được dùng để tham chiếu.
• Backward Prediction: khung hình tiếp theo được dùng để tham chiếu.
• Bidirection Prediction: cả hai khung hình trước và sau đều được sử dụng.
14
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
Backward Prediction có thể được sử dụng để dự đoán những vị trí không xuất
hiện trong khung hình trước. Các phương pháp dùng để tiên đoán các Macroblock
trong cùng một khung hình cũng có thể không giống nhau. Hai trường (fields) trong
cùng một Macroblock cũng có thể được tiên đoán theo hai cách khác nhau dùng các
vector độc lập nhau hoặc có thể dùng chung một vector. Đối với mỗi Macroblock,
bộ mã hóa sẽ chon các phương pháp tiên đoán thích hợp, cố gắng đảm bảo chất
lượng ảnh tốt nhất khi được giải mã. Các thông số liên quan tới việc chon phương
pháp tiên đoán cũng được truyền tới bộ giải mã cùng với dự đoán sai số nhằm khôi
phục gần chính xác khung hình gốc.
Thuật toán mã hóa biến đổi MPEG gồm các bước:
• Biến đổi Cosine rời rác (DCT).
• Lượng tử hóa.
• Mã hóa dọc (Run-length Encoding).
Cả Block ảnh và Block dự đoán lỗi đều có không gian dư thừa rất lớn. Để giảm
sự dư thừa, thuật toán MPEG biến đổi Block từ miền không gian sang miền tần số
với biến đổi Cosine.
Tiếp theo, thuật toán lượng tử hóa các hệ số tần số. Lượng tử hóa là quá trình
làm xấp xỉ mỗi hệ số tần số thành các số hữu hạn. Bộ mã hóa chọn mã hóa trận
lượng tử hóa xác định mỗi hệ số tần số trong Block được lượng tử hóa như thế nào.
Hình 6 Mã hóa Macroblock
Sự kết hợp giữa DCT và lượng tử hóa cho kết quả là rất nhiều tần số có giá trị
0, nhất là các hệ số có tần xuất lớn. Để tận dụng tối đa điều này, các hệ số được tổ
chức theo đường zigzag, sau đó các hệ số được chuyển thành dãy các cặp chỉ số biên
độ, mỗi cặp biểu thị số lượng các hệ số 0 và biện độ của các hệ số khác 0. Các cặp

chỉ số biên độ sau đó được mã hóa bằng các mã có độ dài thay đổi, các mã có độ dài
ngắn hơn cho các cặp hay xuất hiện còn các mã dài hơn cho các cặp ít xuất hiện hơn.
Một vài Macroblock cần mã hóa chính xác hơn. Để giải quyết sự không đồng
đều giữa các block, thuật toán MPEG cho phép khối lượng lượng tử có thể thay đổi
cho mỗi Macroblock. Cơ chế này có thể được dùng để cung cấp sự điều chỉnh tỉ lệ
Bit rate (tỉ lệ truyền bit).
Chuẩn MPEG cung cập cơ chế timing để đảm bảo đồng bộ giữa video và
audio. Chuẩn bao gồm hai tham số SCR (system clock reference) và PTS
15
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
(Presentation Timestamp). Theo lý thuyết của MPEG, SCR chạy ở mức 90kHz. Các
giá trị SCR và PTS được mã hóa trong dòng dữ liệu MPEG sủ dụng 33 bit.
SCR là ảnh của xung nhịp bộ mã hóa. Trong quá trình giải mã, các giá trị này
được dùng để cập nhật vào bộ đếm xung nhịp CL480.
Hình 7 SCRs
PTS là những mẫu của xung nhịp bộ mã hóa được kết hợp giữa bộ phát video
và Audio. Bộ phát giải mã cảnh Video hoặc Audio. PTS thể hiện thời gian khung
hình Video được hiển thị hoặc thời gian bắt đầu phát đoạn Audio.
Bộ giải mã cũng giữ hoặc phát lại các khung. Nếu PTS sớm hơn (có giá rị nhỏ
hơn) SCR hiện thời thì bộ giải mã sẽ bỏ qua khung hình. Nếu PTS chậm hơn (có giá
trị lớn hơn) SCR hiện tại, bộ giải mã sẽ lặp lại khung hình.
MPEG 2
MPEG 2 là chuẩn nén trong bộ tiêu chuẩn MPEG dùng để mã hóa luồng dữ liệu
video kết hợp với các thông tin về âm thanh. Đây là phương pháp mã hóa dữ liệu có
tổn hao cho phép lưu trữ và truyền phim ảnh trên nền hệ thống và băng thông hiện
thời.
Chuẩn nén MPEG 2 được nhóm MPEG phát triển tiếp sau chuẩn nén MPEG 1,
nó được mở rộng và kế thừa nhằm mục đích hỗ trợ việc truyền video số tốc độ bít
lớn hơn 4 Mb/s, bao gồm các ứng dụng DSM (phương tiện lưu trữ số), các hệ thống
truyền hình hiện tại (PAL, NTSC, SECAM), cáp, thu lượn tin tức điện tử, truyền

hình trực tiếp từ vệ tinh, truyền hình mở rộng (EDTV), truyền hình độ phân giải cao
(HDTV),…
1.3. Sơ đồ nén và giải nén của MPEG 2
Dưới đây là sơ đồ nén và giải nén của chuẩn MPEG 2:
16
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
Hình 8 Sơ đồ mã hóa
Hình 9 Sơ đồ giải mã
17
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
1.4. Các kĩ thuật nén của MPEG 2
1.4.1. Video filtering
Là kỹ thuật nén tổn hao dùng để giảm dư thừa không gian giữa các khối
macroblock trong một frame. Đây là công đoạn xử lý các frame nguyên gốc trước
khi thực hiện biến đổi DCT. Các frame hệ màu RBG sẽ được chuyển sang hệ màu
YCbCr , công thức chuyển đổi :
Y= 0.299R + 0.587G + 0.114B
Cb = 0.296 (B-Y ) +0.5 ; V = 0.435 ( R-Y ) =0.5
Việc chuyển từ hệ RGB sang YCbCr loại bỏ được cở bản ‘mutual
redundancies’ . Trong thực tế, hệ màu RGB cho chất lượng hình ảnh tôt hơn nhưng
lại yêu cầu không gian lớn để lưu trữ và truyền file.
Sau đó tín hiệu sẽ được lấy mẫu và số hóa, MPEG 2 chọn 2 tiêu chuẩn lấy mẫu
là 4:2:0 và 4:2:2
Hình 10 Hai tiêu chuẩn lấy mẫu 4:2:0 và 4:2:2
18
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
1.4.2. DCT
Hình 11 Biến đổi DCT
Biến đổi DCT được thực hiện trên một một macroblock của ảnh thật đã lấy
mẫu để cho ra một ma trận 8 x 8 với các điểm là các hệ số DCT.Phép DCT

thực hiện chuyển các hệ số không gian sang miền tần số .Mỗi một phần tử
điểm ảnh ở ma trận gốc được biểu diễn bằng một hệ số tần số nào đó. Có
nhiều năng lượng ảnh tập trung ở vùng tần số thấp ( ví dụ như các cảnh bầu
trời, cảnh nền, ), các chi tiết của ảnh lại thể hiện ở tần số cao.Mắt người tập
trung trước hết vào phần tần số thấp của ảnh vì năng lượng tập trung chủ yếu
vào phần này.Nhưng vùng mang hệ số tần số cao lại mang nhiều thông tin
hơn vùng tần số thấp. Vì vậy phép DCT sắp xếp lại thông tin, thuận tiện cho
các bước mã hóa khác sau Các hệ số DCT nói lên sự biến đổi tần số giữa các
mẫu theo chiều ngang và dọc.
Phép toàn DCT được mô tả như sau :
19
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
1.4.3. Lượng tử hóa
Hình 12 Sơ đồ biến đổi DCT
Lượng tử hoá là quá trình bỏ bớt các hệ số tần số, lượng tử hoá là quy cho
(phân định) độ phân giải cho từng hệ số tần số (số lượng tử bit), sau đó nén
số liệu bằng cánh quy các bit có trọng lượng thấp cho hệ số tầng số cao, điều
này ít có nghĩa đối với người xem
Thực chất của lượng tử hóa là quá trình chia các hệ số F(u,v) cho các hệ số
lớn hơn 1 ở các vị trí tương ứng, trong đó các hệ số ứng với tần số xuất hiện
thấp của phần tử ảnh được chia cho các giá trị nhỏ (10, 11, 12, ), ứng với
tần số cao được chia cho các giá trị lớn (100, 120, 121, ) và bỏ đi phần thập
phân (chính là sai số lượng tử hoá). Quá trình lượng tử hoá tạo ra nhiều giá trị
0 trong ma trận các hệ số, và làm nhỏ đi các giá trị còn lại, nhờ vậy số lượng
các bit của dữ liệu được mã hoá giảm đi đáng kể mà không gây ra sự khác
biệt đáng kể dưới góc độ cảm nhận của mắt người so với ảnh gốc ban đầu.
Lượng tử hóa được thực hiện bởi công thức sau :
T’[u][v] =
Trong đó:
T : ma trận DCT

T’: ma trận sau lương tử hóa
QM : ma trận lượng tử hóa được xác định bởi chuẩn MPEG 2
QS = 40, Quantizer scale
20
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
Hình 13 Một số ví dụ về biến đổi DCT
1.4.4. Mã hóa VLC
Hình 14 Sơ đồ mã hóa VLC
Còn gọi là mã hoá Huffman hay mã hoá entropy. Kỹ thuật này quan tâm đến
khả năng có thể xảy ra của các thông tin giống nhau trong một ảnh, gán các từ mã
ngắn (số bit nhỏ) cho các giá trị có khả năng xuất hiện cao và các từ mã dài (số bit
lớn) để mã hoá những giá trị ít khả năng xảy ra. Kỹ thuật này còn được kết hợp với
kỹ thuật mã hóa chiều dài chạy RLC : : tạo ra các mã đặc biệt để đánh dấu sự bắt
đầu và kết thúc của một chuỗi các giá trị lặp lại, với kỹ thuật này chỉ có các giá trị
khác 0 được mã hoá song song với các giá trị mẫu Zero suốt theo dòng quét.Việc kết
hợp 2 kỹ thuật sẽ làm giảm đáng kể số hệ số cần mã hóa.Bộ mã hóa sẽ quét zic-zắc
khối cần mã hóa để tạo ra danh sách các hệ số, sau đó sử dụng kỹ thuật RLC để làm
giảm số hệ số cần mã hóa trước khi tiến hành mã hóa bằng kỹ thuật VLC.
Ví dụ : cho một DCT
21
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
Sau khi quét zic-zắc sẽ tiến hành nhóm các hệ số : (12), (6), (6), (0,4), (3), (0,
…,0). Các nhóm này sẽ được mã hóa :
Như vậy, từ 64 hệ số, chúng ta chỉ cần mã hóa và truyền đi 6 hệ số
Hình 15 Blocks trước và sau khi quét Zig-zag
1.4.5. Motion – Compensated Inter – Frame Prediction
Phần này tương tự như bên MPEG 1, kỹ thuật này được sử dụng để nén các
ảnh P,B có tác dụng làm giảm các dư thừa thời gian giữa các frame.Frame P luôn
được dự đoán tiến (dự đoán chđ dựa trên frame đã được mã hóa ), frame B dùng dự
đoán 2 chiều (dự đoán chuyển động dựa trên ảnh đã được mã hóa và sắp được mã

hóa). Phương pháp dự đoán cuyển động gồm 2 giai đoạn :
22
Nhóm 4 - lớp Truyền thông và mạng máy tính K51
• Đánh giá chuyển động để để xác định vector chuyển động giữa các khối
• Bù chuyển động để xác định ảnh bù sai số dự đoán
Phương pháp đánh giá chuyển động dựa trên nguyên tắc: mỗi khối trong frame
hiện tại tìm khối phù hợp nhất trong khối frame được tham chiếu .Vecto chuyển
động chính là vecto có tọa độ tính từ tâm khối hiện tại đến tâm khối tham chiếu
Như vậy, thay vì phải mã hóa ảnh gôc với tỉ lệ bit lớn, chúng ta chỉ cần mã hóa
vecto chuyển động và ảnh bù chuyển động.
1.4.6. Bit rate control
Hình 16 Bit rate control
Bit rate control dùng để quản lý bộ đệm,kiểm soát quá trình lượng tử hóa.Đây
là công đoạn dùng để kiểm soát chất lượng video cũng như bit rate đầu ra thông qua
kiểm soát quá trình lượng tử hóa và quản lý dữ liệu nén trong bộ đệm
Chìa khoá để điều khiển tốc độ truyền là trật tự dữ liệu đã nén trong bộ đệm
(Buffer).Việc nén có thể được tiến hành với việc loại bỏ một vài thông tin đã được
lựa chọn. Ảnh hưởng nhỏ nhất đối với chất lượng toàn bộ khung hình có thể đạt
được bằng cách bỏ bớt các thông tin chi tiết. Điều này đảm bảo giới hạn tỉ lệ nén dữ
liệu trong khi chất lượng của khung hình suy giảm tối thiểu
Lượng tử hóa là kỹ thuật nén có tổn hao, kiểm soát quá trình này có thể kiểm
soát được chất lượng video đầu ra. Con số các bit được mã hoá thể hiện khối ảnh
phụ thuộc rất nhiều vào kết quả của quá trình lượng tử hoá - ở đây là các giá trị
QF(u,v). Đây là cơ sở để hình thành cơ chế để kiểm soát tốc độ dòng bit hoặc chất
lượng ảnh sau nén, dựa trên nguyên tắc kiểm soát/thay đổi các giá trị QF(u,v) thông
qua việc thay đổi giá trị của:
• Mức lượng tử hóa QS (MQUANT)
• Ma trận lượng tử hóa QM
23
Nhóm 4 - lớp Truyền thông và mạng máy tính K51

Hình 17 Ba ma trận lượng từ hóa: (a) MQUANT = 2, (b) MQUANT = 4, (c) MQUANT = 6
Hình trên biểu diễn tương quan của các hệ số lượng tử hóa khi sử dugj 3 mức
lượng tử hóa khác nhau : 2,4,6. Để thấy rõ sự khác biệt về chất lượng nén khi sử
dụng các mức nén khác nhau ta theo dõi sơ đồ sau :
Hình 18 Dung lượng dữ liệu nén ứng với lượng tử hóa của hình 17
Ở hình trên, đường màu xanh thể hiện quá trình nén không tổn thất ứng W(u,v) =1
đối với tất cả.
Dạng răng cưa của các biểu đồ số bit trung bình trên hình 18 là kết quả của quá
trình bù chuyển động, trong đó các giá trị cao hơn (ở đỉnh răng) là số bit thể hiện các
phần tử ảnh I, kết quả của nén trong ảnh (intra pictures). Các giá trị nhỏ hơn liền kề
là số bit thể hiện các phần tử ảnh dự báo trên cơ sở bù chuyển động và các ảnh được
mã hóa từ quá trình tham chiếu ảnh I (ảnh P và B). Tại đây chúng ta cũng nhận thấy
có sự dao động của số lượng bit trung bình trên mỗi phần tử ảnh trong phạm vi vài
chục khung hình. Đây chính là tác động của cơ chế kiểm soát duy trì chất lượng ảnh
để thích nghi với độ phức tạp khác nhau từ cảnh này sang cảnh khác. Cơ chế này
làm việc ngay khi có sự thay đổi đột ngột của từng cảnh trên video, làm mất khả
năng của thuật toán bù chuyển động. Khi đó mã hóa MPEG-2 có thể mã hóa từng
khối ảnh như là một phần tử nén trong ảnh (Intra Frame Compression).
Một khả năng khác để thay đổi giá trị QF(u,v) là thay đổi ma trận lượng tử
hóa, minh họa ta theo dõi 2 hình sau, mức lượng tử hóa là giống nhau:
24
Nhóm 4 - lớp Truyền thông và mạng máy tính K51

Hình 19 Hai ma trận lượng tử hóa tiêu chuẩn W(u,v) với MQUANT = 2
(a)W(u,v) với độ dốc thoải (b) W(u,v) với độ dốc lớn
Hình 20 Dung lượng dữ liệu nén với ma trận lượng tử hóa trên hình 19
Cả hai phương pháp kiểm soát quá trình lượng tử hóa trên - như bất kỳ thuật
toán nén có tổn thất nào khác - khi các giá trị MQUANT và W(u,v) đạt đến các giá
trị cực trị sẽ tạo ra các hiệu ứng phụ (artifact) mà mắt ngưòi có thể nhận biết được.
Các hiệu ứng phụ này khác nhau về bản chất trong hai trường hợp, và đều làm suy

giảm nhiều chất lượng ảnh. Khi tăng quá mức giá trị MQUANT (hình 17) sẽ dẫn
đến hình thành các khối 8x8 phần tử trên các ảnh thu được. Đối với trường hợp thứ
hai (hình 19), khi tăng quá mức độ dốc của ma trận W(u,v) sẽ dẫn
đến hiện tượng nhiễu tần số cao, được gọi là nhiễu "muỗi”, làm suy giảm độ nét và
xuất hiện hiện tượng “méo” đường chéo trong các hình. Các hiệu ứng này càng lớn
khi kích thước ảnh càng rộng, yêu cầu độ phân giải ảnh cao (trường hợp điện ảnh
số). Quá trình cài đặt chế độ kiểm soát lượng tử hoá trong các thiết bị nén MPEG-2
cần xác định phạm vi các giá trị cho phép của Mức lượng tử hoá MQUANT hay Độ
dốc của ma trận W(u,v) để không xuất hiện các hiệu ứng phụ nói trên. Phạm vi các
giá trị này sẽ thay đổi và phụ thuộc vào từng trường hợp ứng dụng cụ thể
(multimedia trên mạng, truyền hình, telecine hay điện ảnh số ).
25

×