Bài tập lớn môn học truyền thông đa phương tiện
Trang 1VIỆ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
Trang 2I CHUẨN MPEG 1 và MPEG 2 7
1 Tổng quan về MPEG 7
2 MPEG 1 7
2.1 Phân cấp cấu trúc của MPEG 1 8
2.2 Các kĩ thuật nén của MPEG 1 9
3 MPEG 2 14
3.1 Sơ đồ nén và giải nén của MPEG 2 14
3.2 Các kĩ thuật nén của MPEG 2 16
4 Ảnh hưởng của kĩ thuật nén lên chất lượng hình ảnh 23
5 So sánh giữa MPEG 1 và MPEG 2 32
II H261 và H262 34
1 H261 34
1.1 Group of Block (GOB) 35
1.2 Mô hình mã hóa và giãi mã của H261 38
1.3 Các kĩ thuật nén của H261 39
2 H262 45
2.1 Mô hình mã hóa H262 45
2.2 Loại ảnh 47
2.3 Kiểm soát bộ đệm 47
2.4 Các profiles và các bậc 48
2.5 Kết luận 51
3 So sánh H261 và H262 52
4 So sánh giữa MPEG và H26X 54
III MPEG 4 56
1 Giới thiệu chung 56
2 Phạm vi và tính năng của chuẩn MPEG-4 56
3 Kĩ thuật mã hóa Video của chuẩn MPEG4 57
3.1 Sự tổ hợp khung hình trong MPEG 4 57
3.2 Cấu trúc bộ mã hóa và giải mã của MPEG 4 59
3.3 Các Profiles và Levels trong chuần MPEG-4 60
Trang 34.1 Khả năng mở rộng mã hóa các đối tượng Video 62
4.2 Khả năng khắc phục lỗi mạnh mẽ 62
4.3 Cải thiện sự ổn định với độ phân giải thời gian trễ thấp 65
4.4 Thuật toán nén của MPEG 4 66
5 So sánh MPEG 4 với MPEG 2 69
IV H264 72
1 Tổng quan về H264 72
2 Sự phát triển của H264 72
3 Sơ đồ mã hóa khối của H264 73
4 Các phương pháp nén của H264 75
4.1 Giảm bớt độ dư thừa 75
4.2 Chọn chế độ, phân chia và chế ngự 76
4.3 Nén theo miền thời gian 77
4.4 Nén theo miền không gian 78
5 Các ưu điểm nổi bật của chuẩn nén H264 79
5.1 Ưu điểm của nén không gian 79
5.2 Ưu điểm của nén thời gian 79
5.3 Kích cỡ khối 79
5.4 Ưu điểm về lượng tử hoá và biến đổi 81
5.5 Ưu điểm đối với mã hoá entropy 81
6 So sánh H264 với các chuẩn nén khác 82
7 Kết luận về H264 83
KẾT LUẬN 84
TÀI LIỆU THAM KHẢO 85
Trang 4Hình 1 Hệ thống giải mã của MPEG 8
Hình 2 Video Sequence 8
Hình 3 Thành phần độ sáng và thành phần độ màu 9
Hình 4 Các khung hình trong chuẩn MPEG 11
Hình 5 Các khung hình trong 1s 11
Hình 6 Mã hóa Macroblock 13
Hình 7 SCRs 14
Hình 8 Sơ đồ mã hóa 15
Hình 9 Sơ đồ giải mã 15
Hình 10 Hai tiêu chuẩn lấy mẫu 4:2:0 và 4:2:2 16
Hình 11 Biến đổi DCT 17
Hình 12 Sơ đồ biến đổi DCT 18
Hình 13 Một số ví dụ về biến đổi DCT 18
Hình 14 Sơ đồ mã hóa VLC 19
Hình 15 Blocks trước và sau khi quét Zig-zag 20
Hình 16 Bit rate control 21
Hình 17 Ba ma trận lượng từ hóa 21
Hình 18 Dung lượng dữ liệu nén ứng với lượng tử hóa của hình 17 22
Hình 19 Hai ma trận lượng tử hóa tiêu chuẩn W(u,v) với MQUANT = 2 22
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 23
Hình 21 MPEG 2 Profiles 24
Hình 22 MPEG 2 Levels 25
Hình 23 Trật tự của một GOB trong ảnh 35
Hình 24 Cấu trúc của GOB header 35
Hình 25 Trật tự của macroblock trong một GOB 36
Hình 26 Cấu trúc của một lớp Macroblock 36
Hình 27 Trật tự của blocks trong Macroblock 37
Hình 28 Sơ đồ mã hóa H261 38
Hình 29 Sơ đồ giải mã H261 38
Hình 30 Intra frame và Inter frame 39
Hình 31 Intra-frame coding 39
Hình 32 Inter-frame coding 40
Hình 33 H261 frame encoder 41
Hình 34 Phương pháp tìm kiếm Motion Vector 42
Hình 35 Two-Dimensional Logarithmic 43
Hình 36 Hierarchical Motion Estimation 44
Hình 37 Hệ thống mã hóa bù chuyển động DCT 45
Hình 38 Cấu trúc của chuỗi các bit video mã hóa theo chuẩn H262 46
Hình 39 Bộ mã hóa video SNR 49
Trang 5Hình 42 Sự tổ hợp khung hình trong MPEG-4 58
Hình 43 Cấu trúc của bộ mã hoá và giải mã video MPEG-4 59
Hình 44 Sơ đồ cấu trúc giải mã video MPEG-4 59
Hình 45 The VLBV Core and the Generic MPEG-4 Coder 61
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ụ 65
Hình 47 Sơ đồ khối cơ bản của MPEG-4 Video coder 66
Hình 48 Ví dụ về Sprite mã của chuỗi Video 68
Hình 49 Sơ đồ mã hóa khối của H264 74
Hình 50 Sơ đồ mã hóa H264 74
Hình 51 Sơ đồ giải mã H264 75
Hình 52 Multiple Reference Frames 76
Hình 53 Profiles của H264 77
Hình 54 Sơ đồ khối mã hoá MPEG 78
Hình 55 H264 có thể phân chia thành phần chói của từng MacroBlock 80
Trang 6Hiệ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ôngnghệ 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ảithô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 quantrọ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, ảnhhưở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 2chuẩ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ưởngcủ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éncủ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énMPEG 4 và so sánh phương pháp nén giữa MPEG 4 với MPEG 1 và MPEG2
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 trongphương pháp nén của H264 với các chuẩn khác, một số so sánh giữa H264vớ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 theohướ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ànthành tiểu luận này
Trang 7I CHUẨN MPEG 1 và MPEG 2
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ải352x240 quét 30Hz thông thường thì chất lượng video có thể so sánh được vớichuẩ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ụ chomộ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ưutrữ 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êuchuẩn cho nén ảnh kỹ thuật truyền hình số, các ứng dụng về đồ họa và videotương tác hai chiều (Games, Video conferencing) và các ứng dụngMultimedia tương tác hai chiều (world wide web hoặc các ứng dụng nhằmphâ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à truycập vào các hệ thống video Nó đã góp phần giải quyết vấn đề dung lượngcho 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ínhiệ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
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ácthông tin khác cần thiết cho việc tách các dòng dữ liệu Video và Audio đồng
Trang 8 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ôngtin 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ệuban đầ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ụ.
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
Trang 9về 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ộtcủ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 địnhlỗ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ốthơ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
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ệuVideo và những thông tin khó mã hóa những không quan trọng cho sự cảm thụ củamắ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
Trang 10lần lượt từng phần nhỏ trong mỗi khung hình gọi là Macroblock, sau đó nó sẽ pháthiệ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ướngchuyển động của nó Do dó chỉ những sự thay đổi giữa các Macroblock trong khunghì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ừ khunghình này tới khung hình khác trong bộ nhớ đệm của nó và chúng được dùng để điềnthê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áckhung 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ìnhmớ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ữngkhung hình có thay đổi so với những khung hình trước, sau đó dùng phương phápné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
2.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éntín hiệu đạt được do loại bỏ sự dư thừa về không gian (không có yếu tố thờigian 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ăngtruy xuất ngẫu nhiên các điểm trong dữ liệu video nén và cung cấp độ nénvừ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 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
P-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énkhô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 đó
Trang 11 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 frame cung cấp khả năng nén lớn hơn và không sinh ra lỗi do nó không đượcdùng cho việc tham chiếu
B-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ì frame luôn được sử dụng 2 lần một giây
I-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 frame có thể được tiên đoán theo chiều ngược, xuôi, cả hai hướng hoặc được mã mộtcá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óasẽ 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 sangmộ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ớnhay nhỏ là tùy thuộc vào số các B-frame liên tiếp nhau được truyền
B-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 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ìnhthường có hai khung hình hai hướng xen giữa các khung hình tham chiếu
Trang 12P-2.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ệcloại bỏ dư thừa, thuật toán bù chuyển động làm việc ở mức Macroblock Khimacroblock đượ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ôngcụ 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ảnhvideo sẽ được thay thế gần đúng Kỹ thuậ tiên đoán bù chuyển động giữa các khunghì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ởiviệ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ộtkhung 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ớiphí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 ảnhvề không gian (trùng về không gian), một vector chuyển động có thể được dùng chomộ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áckhố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ănphòng không thể dự đoán được từ các khung hình trước (khi cửa đóng) Trongtrườ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 Macroblocktrong P-frame chỉ được tham chiếu từ các khung hình trước còn các Macroblocktrong B-frame được mã hóa phối hợp giữa các khung hình tham chiếu trước và saunó
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
Trang 13Backward Prediction có thể được sử dụng để dự đoán những vị trí không xuấthiện trong khung hình trước Các phương pháp dùng để tiên đoán các Macroblocktrong cùng một khung hình cũng có thể không giống nhau Hai trường (fields) trongcùng một Macroblock cũng có thể được tiên đoán theo hai cách khác nhau dùng cácvector độ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ấtlượ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ươngphá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ôiphụ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ìnhlà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ậnlượ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ặpchỉ số biên độ sau đó được mã hóa bằng các mã có độ dài thay đổi, các mã có độ dàingắ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 đổicho 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à
Trang 14(Presentation Timestamp) Theo lý thuyết của MPEG, SCR chạy ở mức 90kHz Cácgiá 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 khunghì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 là chuẩn nén trong bộ tiêu chuẩn MPEG dùng để mã hóa luồng dữ liệuvideo 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ệnthờ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ítlớ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ốngtruyền hình hiện tại (PAL, NTSC, SECAM), cáp, thu lượn tin tức điện tử, truyềnhì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),…
3.1 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:
Trang 15Hình 8 Sơ đồ mã hóa
Hình 9 Sơ đồ giải mã
Trang 163.2. Các kĩ thuật nén của MPEG 2
3.2.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ốimacroblock trong một frame Đây là công đoạn xử lý các frame nguyên gốc trướckhi thực hiện biến đổi DCT Các frame hệ màu RBG sẽ được chuyển sang hệ màuYCbCr , 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 ‘mutualredundancies’ Trong thực tế, hệ màu RGB cho chất lượng hình ảnh tôt hơn nhưnglạ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
Trang 173.2.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ấymẫ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ệnchuyể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ậngố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ậptrung ở 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ạithô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 :
Trang 183.2.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ệubằ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ớnhơ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ủaphần tử ảnh được chia cho các giá trị nhỏ (10, 11, 12, ), ứng với tần số cao đượcchia 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ủamắ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
Trang 19kỹ 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ếthợ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ắckhố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àmgiả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
Trang 20Sau 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
3.2.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 :
Trang 21 Đá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 framehiệ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ếuNhư 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óavecto chuyển động và ảnh bù chuyển động
3.2.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 quakiể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 đã đượclự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ểmsoát được chất lượng video đầu ra Con số các bit được mã hoá thể hiện khối ảnhphụ 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ấtlượ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ôngqua 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
Trang 22Hì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ứclượ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ácphầ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àichụ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àylà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ừngkhố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:
Trang 23Hì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ậttoá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 suygiả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ớnkhi 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 ảnhsố) Quá trình cài đặt chế độ kiểm soát lượng tử hoá trong các thiết bị nén MPEG-2cầ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ácgiá 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ố )
Trang 24Bit rate là yếu tố quan trọng quyết định đến chất lượng video đầu ra MPEG 2hỗ trợ nhiều ứng dụng đầu ra với bit rate khác nhau Chúng ta sẽ tìm hiểu vấn đề này
ở phần sau
Như chúng ta đã biết, MPEG 2 được phát triển dựa trên MPEG 1, các kỹ thuậtnén, sơ đồ nén về cơ bản là hoàn toàn giống MPEG 1 Tuy nhiên MPEG 2 lại có thểnén video với các chất lượng đầu ra khác nhau, phục vụ các ứng dụng rất đa dạng
Vì vậy bộ mã hóa với cơ chế nén phải có nhiều mức để phù hợp với từng trường hợpđầu ra MPEG 2 định nghĩa ra các profile và level để diễn tả các mức nén video củamình
Các yếu tố chính ảnh hưởng đến chất lượng video video trong MPEG 2 là: bitrate, buffer size, tốc độ lấy mẫu, kiểu lấy mẫu, vector ranger Việc kiểm soát bit rate
và buffer size được thực hiện trong công đoạn bit rate control Các việc còn lại đượcthực hiện ở công đoạn tiền xử lý, video filtering
Hình 21 MPEG 2 Profiles
Trang 26 MainProfile@High-1440Level:
MainProfile@MainLevel:
MainProfile@LowLevel:
Trang 27 SNRProfile@MainLevel:
Trang 28 SNRProfile@LowLevel
SpatialProfile@High-1440Level:
Trang 29 HighProfile@HighLevel:
Trang 30 HighProfile@High-1440Level
Trang 31 HighProfile@MainLevel
4:2:2Profile@MainLevel:
Trang 325. So sánh giữa MPEG 1 và MPEG 2
Về cơ bản, MPEG 1 và MPEG 2 là giống nhau Tuy nhiên vẫn có những khácbiệt trong các kỹ thuật nén giữa 2 chuẩn này:
MPEG 2 hỗ trợ thêm định dạng 4:2:2, điều này cho phép MPEG 2 hỗ trợ cácđịnh dạng nén video chất lượng cao
Trong kỹ thuật quét các hệ số để phụ vụ việc mã hóa, MPEG 2 hỗ trợ thêmkiểu quét Alternate Zic-zắc, tập trung nhiều năng lượng hơn ( do trong matrận sau lương tử hóa, các hệ số khác không thường tập trung ở góc trên bêntrái ma trận),làm cho mã hóa RLC và VLC đạt hiệu quả cao hơn
Trang 33 MPEG 1 hỗ trợ 1 loại frame đặc biệt mà không thể tìm thấy ở các đời MPEGsau là D-frame Frame này độc lập, không có quan hệ gì với các frame I, B,C.
Nó dùng để ‘fast preview” video
Chế độ dánh giá chuyenr động trong MPEG 2 chính xác tới ½ pixel, trong khi
đó MPEG 1 chỉ là full pixel Điều này cho phép MPEg 2 nén video tốt hơn,đầu ra chất lượng tốt hơn
MPEG 2 hỗ trợ 2 kiểu quét video là quét tuần tự và quét xem kẽ Trong khi
đó MPEG 1 chỉ hỗ trọ kiểu quét tuần tự
Trang 34II H261 và H262
1 H261
H261 Là một tiêu chuẩn mã hóa được sử dụng trong mã hóa video Ban đầu
nó đượcc chỉ định dung trong mạch kỹ thuật số tích hợp các dịch vụ(ISDN) nhưngnhiều thí nghiệm đã cho thấy nó có thể sử dụng trong mạng chuyển mạch gói nhưinternet
H261 được tổ chức như là một hệ thống phân cấp Dòng Video được bao gồmmột ngăn xếp của các image hay các frame.các image(frame) được tổ chức như làtập hợp của nhiều nhóm các khối(GoB) Mỗi GOB bao gồm 3 dòng mỗi dòng 11khối nhỏ (MB) Mỗi MB mang thong tin của môt nhóm 16x16 pixels trong đó thôngtin về độ sáng được chứa trong 4 khối mỗi khối 8x8 pixels trong khi những thông tinvề màu sắc được đưa bởi hai màu đỏ và xanh của các thành phần khác nhau trongmột độ phân giải của mỗi khổi 8x8 pixels Những thành phần và các mã được đạidiện bởi các giá trị lấy mẫu và được định nghĩa trong khuyến nghị ITU-R 601
Việc chia nhóm như thế này để chỉ rõ thông tin ở mỗi cấp của hệ thống phâncấp:
Ở cấp khung ảnh, thông tin được chỉ ra là độ trễ từ ảnh trước đó, định dạngảnh và các chỉ số
Ở cấp GOB, thông tin được chỉ ra là số hiệu GOB và lượng hóa mặc định để
Trang 351.1 Group of Block (GOB)
Ứng với ½ CIF(Common Image Format) picture hoặc là 1/3 QCIF(QuarterCommon Image Format)
Hình 23 Trật tự của một GOB trong ảnh
Dữ liệu cho một group of block bao gồm một GOB header theo sau làmacroblock data.Cấu trúc của nó như sau:
Hình 24 Cấu trúc của GOB header
Hình 24 Cấu trúc của GOB header
kỳ một MQUANT nào theo sau.Đây là giá trị của lượng tử có trị số từ 1-31
GEI: Extra Insertion Information(1 bit) Được bật lên 1 khi có trường data
GSPARE: Spare Information(0,8,16, bits) Khi thông số GEI bật lên thì 9bits theo sau sẽ bao gồm 8 bits data và 1 bit GEI khác dùng để 9 bits tiếp theo
và cứ tiếp tục như thế cho đến khi gặp bit GEI=0
Trang 361.1.1 Macroblocks:
Mỗi GOB(Group of Block) được chia thành 33 macroblock ứng với 16*16pixel của cường độ sáng và 2 thành phần màu(8*8)
Hình 25 Trật tự của macroblock trong một GOB
Hình 26 Cấu trúc của một lớp Macroblock
Trong đó
MBA: Macroblock Address: Có độ dài thay đổi dùng để chỉ vị trí củamacroblock trong một group of block.Trật tự được truyền đi theo đúng thứ tựnhư hình 5 ở trên.Còn đối với các macroblock cuối cùng notice chuyểnđi.Những macroblock nào không chứa thông tin của phần ảnh đó sẽ khôngđược chuyển đi
MITYPE: type Information Là từ mã có độ dài thay đổi cung cấp thông tin vềmacroblock và những yếu tố data có mặt
MQUANT: Quantizer(5 bit) Giá trị của MQUANT cũng giống nhưGQUANT
MVD: Motion Vector Data Giá trị MVD tính được từ macroblock vetor bằngcách trừ đi vector của macroblock đi trước được xem là bằng 0 trong 3 trườnghợp sau:
o Macblock 1,12,23
o Các macroblock mà MBA có độ sai lệch khác 1
o MTYPE của macroblock trước không phải là MC
o MDV bao gồm một word mã hóa thành phần ngang và theo sau là mộtword mã hóa thành phần dọc
CPB:Coded block pattern:Trường này chỉ có khi nó được chỉ định bởi trườngMTYPE.Từ mã(codeword) cung cấp 1 con số chỉ định những block ở trongmacroblock nào có ít nhất một hệ số biến đổi được truyền đi
Trang 371.1.2 Block:
Ứng với 8*8 pixel.Dữ liệu cho mỗi block bao gồm các codewords cho các hệ
số biến đổi theo sau là kí hiệu kết thúc block.Trật tự của các block trong mộtmacroblock như sau:
Hình 27 Trật tự của blocks trong Macroblock
Còn dưới là cấu trúc của block layer:
Trong đó:
TCOEFF(Transform Coefficients) là hệ số biến đổi luôn luôn biểu thị cho tất cả 6
blocks trong một macroblock khi trường MTYPE chỉ định là INTRA.Các hệ số biếnđổi đã được lưởng tử hóa được truyền đi một cách tuần tự theo 1 dãy như sau:
Trang 381.2 Mô hình mã hóa và giãi mã của H261
Hình 28 Sơ đồ mã hóa H261
Hình 29 Sơ đồ giải mã H261
Trang 391.3 Các kĩ thuật nén của H261
1.3.1 Frame coding
H261 sử dụng hai loại khung: intra-frame(I-frame) và Inter-frame (P-frame):
I-frame cung cấp một điểm truy cập, nó sử dụng JPEG làm cơ bản
P-frames sử dụng "pseudo-differences" từ frame trước đó ("Predicted"), do
đó, khung hình phụ thuộc lẫn nhau
Hình 30 Intra frame và Inter frame
Trang 40Hình 32 Inter-frame coding
Ảnh phía sau được gọi là ảnh tham chiếu, ảnh được mã hóa được gọi là targetimage
Chú ý:
Các ảnh khác nhau thì được mã hóa
Cần sử dụng các ảnh được giải mã như là ảnh tham chiếu, không phải nguyêngốc
Chúng ta sử dụng “Mean Absulate Error”(MAE) để chọn block tốt Cũng cóthể sử dụng “Mean Squared Error”(MSE) = Sum(E*E)/N
H 261 Frame Encoder
Hình dưới là sơ đồ của bộ mã hóa frame của H261 Trong đó:
“Control” điểu khiển tốc độ dòng bit Nếu bộ đệm truyền quá đầy thì tốc độbit sẽ được giảm bằng cách thay đổi các yếu tố lượng tử
“Memory” Sử dụng để chứa các ảnh được tái tạo(block) cho mục đích củavecto chuyển động để tìm ra P-frame tiếp theo