1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nén video theo chuẩn MPEG và ứng dụng

21 1K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 765,42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MPEG1 được công bố đầu tiên năm 1988, được biết đến rộng rãi cùng với đ nh dạng audio mp3. MPEG1 được công bố bởi ISOIEC 11172. MPEG1 cho phép mã hóa dữ liệu audio, video lên đến 1.5 Mbits. Hiện tại MPEG1 là chu n phổ biến hiện nay trong nén dữ liệu ít mất mát thông tin. Trong đó 5 tiêu chu n bộ phận quy đ nh

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Sinh viên thực hiện :

Nguyễn Minh Công – Lớp CNTT1 01 – K57 Trần Trọng Giáp – Lớp CNTT1 02 – K57 Trần Xuân Giáp – Lớp CNTT1 02 – K57 Nguyễn Hữu Phúc – Lớp CNTT1 02 – K57

Giáo viên hướng dẫn :

PGS.TS Nguyễn Thị Hoàng Lan

HÀ NỘI 12-2015

Trang 2

MỤC LỤC 2 Phần 1: T m hi u chung về các chu n MPEG

Phần 2: Sơ đồ, đặc đi m nén chu n MPEG-1, H.261 và so sánh

II Tiền xử lý trước khi bước vào quá trình nén 9 III Các thuật toán được sử dụng trong quá trình nén 10

3 Quét zig-zag (zig-zag scan) và mã hoá theo loạt dài (RLC) 11

5 Ước lượng chuy n động (Motion Estimation) 12

6 Mã hoá với từ mã có độ dài thay đổi (VLC) 12

1 Mã hoá nội trong frame (Intra-frame coding) 13

2 Mã hoá giữa các frame (Inter-frame coding) 13

Trang 3

Phần 1: Tìm hiểu chung về các chuẩn nén MPEG

Moving Picture Experts Group (MPEG ): là một nhóm các quy tắc, giải thuật được đề ra bơi ISO và IEC đ thiết lập các tiêu chu n cho việc truyền tải và nén video và âm thanh

MPEG được ra đời vào năm 1988, đến nay có rất nhiều chu n MPEG đã được công bố : MPEG 1, MPEG 2, MPEG 3, MPEG 4, MPEG 4 part 2, MPEG 4- AVC, MPEG 7,

MPEG21, MPEG A, MPEG B, MPEG C, MPEG D, MPEG E, MPEG V

I MPEG-1

MPEG1 được công bố đầu tiên năm 1988, được biết đến rộng rãi cùng với đ nh dạng audio mp3 MPEG1 được công bố bởi ISO/IEC 11172 MPEG1 cho phép mã hóa dữ liệu audio, video lên đến 1.5 Mbit/s

Hiện tại MPEG1 là chu n phổ biến hiện nay trong nén dữ liệu ít mất mát thông tin Trong

đó 5 tiêu chu n bộ phận quy đ nh:

Liệt kê các ng dụng c a MPEG1:

- Đ nh dạng mp3 vẫn là đ nh dạng audio phổ biến trong PC và internet

- Hầu hết các phần mềm với video đều hỗ trợ quá trình giải mã MPEG1

- Sự phổ biến c a audio mp3 cho phép các thiết b phần c ng đã được cài đặt có th chơi MPEG1 audio

- Hầu hết các thiết b kỹ thuật số có th phát lại MPEG1 audio

- Trước khi MPEG2 trở nên phổ biến thì các thiêý b kỹ thuật số vệ tinh, cáp đều sử dụng duy nhất MPEG1

- Các tiêu chu n super video CD dựa trên VCD, sử dụng riêng MPEG1 như MPEG2

- Truyền hình kỹ thuật số video: sử dụng ch yếu MPEG1 layer II audio và MPEG2 video

Trang 4

1 Hệ thống

Hệ thống lưu trữ các audio, video đã được mã hóa theo chu n các dòng bit Các đ nh dạng này được thiết kế đặc biệt đ lưu trữ các file truyền thông Các lỗi nhỏ trên các dòng bit cũng có th cho kết quả ra các kết quả không mong muốn

2.1) Màu sắc

Sau khi nén xong thì màu sắc MPEG1 chuy n sang Y'CbCr Trong đó thành phần Y được chú ý: vì mắt người nhạy với độ sáng hơn là màu sáng thành phần ( Cb, Cr )

2.2) Độ phân giải

- MPEG1 co th hỗ trợ độ phân giải 4095*4095

- MPEG1 sử dụng các độ phân giải thấp hơn 352x240, 352x288, 320x240

- Ngoài ra MPEG1 chọn chọn độ phân giải thấp với một dòng bít thấp hơn 1.5Mb/s Đây

là thành phần Low Level trong profile trong MPEG2 Đây là các th ng số tối thi u đ bộ giải mã có th sử lý

2.3) Frame

MPEG1 có các frame phục vụ mục đ ch khác nhau Mỗi frame sẽ có cách nén khác nhau, việc phân ra các frame h nh như vậy làm giảm đáng k k ch thước c a video Các frame trong MPEG1 bao gồm:

- I-frame: Viết tăt c a Intra- frame, là frame đầu tiên c a mã hóa video được mã hóa JPEG Đặc đi m c a I-fame: là nén nhanh, nhưng k ch thước tập tin lớn

Trang 5

Chiều dài giữa các I-frame ( thường từ 15-18 ) là các frame P,b kết hợp Và được gọi là nhóm hình ảnh GOP

- P-frame: ( Predection frame) frame được sự đoán tiếp theo P frame cải thiện nén bằng cách khai thác thời gian dư thừa c a một video P frame được lưu trữ sự khác nhau c a các frame ngay trước nó Sự khác nhau c a giữa P-frame và một frame trước nó được tính toán trong mỗi vector chuy n động trên mỗi macroblock c a khung hình Dữ liệu sẽ được nhúng vào P frame

- B-frame: Frame được dự đoán nội suy 2 chiều Một cách nào đó th frame này được hi u giống với P-frame Nhưng nó cần 2 frame trước và sau đ so sánh Tuy nhiên trong quá trình giải mã cần bộ đ m lớn đ lưu trữ các frame trước và sau nó dẫn đến côngg kềnh và

độ trễ thời gian Ngoài ra thì một số phần c ng không hỗ trợ

- D-frame: là một frame không có trong chu n c a MPEG tuy nhiên D-frame được mã hóa với chất lượng thấp được dùng đ xem trước nhanh chóng video và tìm kiếm sử dụng trong các video cỡ lớn Tuy nhiên vì nhiều lý do mà D-frame đã kh ng được sử dụng

3 Audio

MPEG1 sử dụng phương pháp loại bỏ các âm thanh ở tần số mà con người kém nhạy cảm hoặc không th nghe thấy được, hoặc có một âm thanh lớn hơn nhiều phát kèm Tai con

Trang 6

người nhạy với âm ở tần số tiếng nói người khoảng 16 Hz đến 20kHz Vì vậy các âm thanh

có tần số quá cao hoặc quá thấp ngưỡng này sẽ b lọc đi

MPEG1 audio được chia làm 3 lớp

Tần số lấy mẫu : 32000, 44100, and 48000 Hz

- MPEG I audio Layer 1: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 kbit/s

- MPEG I audio Layer II: 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 kbit/s

- MPEG I audio Layer III: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 kbit/s

MEPG1 ban đầu được thiết kế đ sử dụng nén audio cho các đài phát sóng âm thanh Các Layer 1,2,3 c a MPEG1 cung cấp được biết đến với các đ nh dạng MP1,MP2, MP3 Hiện tại đ nh dạng MP3 là phổ biến nhất với các audio trên PC trên mạng internet

MPEG2 là phiên bản th 2 c a MPEG, nó là sự kết thừa c a MPEG1 Phiên bản 1 và 2 c a MPEG2 là sự kết hợp cộng tác với ITU-T

tốc độ bít: 10-15mbit/s

Trang 7

3 Audio

MPEG2 dùng các phương pháp mã hóa âm thanh tùy ng với mỗi phiên bản khác nhau, như phiên bản 1,2,3, Các phiên bản đều có cải tiến so với phiên bản MPEG1 VD: Phiên bản 3 cho MPEG2 mã hóa đa kênh

- frame hình : 29, 97 frame/s (NTSC) , 25 frame/s ( PAL)

- HDV là đ nh dạng đ thu và phát lại một video độ nén MPEG2 trên DV

- MOD và TOD: được sử dụng đ ghi lại đ nh dạng được dùng trong các máy quay

III MPEG-3

Được thiết kế đ sử lý tín hiệu HDTV ( high definition television ) 1080p trong khoảng

20-40 Mbit/s Tuy nhiên khi chuy n dữ liện lớn thì bản thân MPEG2 đã có th sử lý được các tín hiệu HDTV, vì vậy MPEG3 được thu gọn lại như một phiên bản c a MPEG2

IV MPEG-4

Dùng cho dữ liệu đa phương tiện trong truyền thông và các ng dụng tương tác đa phương tiện, đồng bộ dữ liệu

Trang 8

MPEG4 kế thừa nhiều đặc đi m c a MPEG1 và MPEG2 Thêm các t nh năng mới như VRML cho dựng hình 3D, cải tiến âm thanh chất lương cao hơn so với phiên bản MPEG2 -7,

1 Profile and level

Các phiên bản MPEG4 đã được phân ra đ hỗ trợ các ng dụng cụ th Những tập con như thế gọi là profile, thiết lập giới hạn c a các công sự đ sử lý Level được thiết lập cho mỗi profile - m c độ cho phép

V MPEG-7

Chu n giao diện mô tả nội dung đa phương tiện, hỗ trợ tìm kiếm, xử lý, quản lý dữ liệu đa phương tiện

Trang 9

Phần 2: Sơ đồ, đặc điểm nén chuẩn MPEG-1, H.261 và so sánh

I Nguyên nhân, mục tiêu nén video

Tại sao phải nén video: vì video không nén chiếm quá nhiều bộ nhớ

MPEG-1 kết hợp tín hiệu âm thanh - hình ảnh ở tốc độ bit ~1.5Mb/s

Nguyên tắc làm việc: so sánh 2 ảnh liền kề xem chúng giống nhau bao nhiêu, phần giống nhau không cần lưu trữ/truyền đi Video số còn ch a những phần mắt người không nhìn được, có th bỏ đi

Thuật toán nén: MPEG-1 sử dụng nhiều kỹ thuật đ đạt tỉ số nén cao

Trong MPEG-1, mỗi video là một chuỗi b c ảnh, mỗi b c ảnh coi là một mảng 2 chiều các

đi m, màu sắc mỗi đi m gồm 3 thành phần: Y, Cb, Cr

II Tiền xử lý trước khi bước vào quá trình nén

B c ảnh khi được chụp/khi bi u diễn trên màn hình ch a các đi m thuộc kg màu RGB

Vì vậy trong MPEG-1 phải chuy n RGB -> YCbCr trước khi xử lý

Vì mắt người nhạy nhất với thành phần Y (độ sáng) và kém nhạy với Cb, Cr (màu sắc) nên

Y được nén với độ phân giải kh ng đổi còn Cb, Cr giảm chiều ngang, dọc đi 1/2, độ phân giải chỉ còn = 1/4 Y (gọi là giảm k ch thước mẫu ki u 4:2:0)

Một số cấu trúc lấy mẫu:

Trang 10

Ảnh được chia làm các macroblock: là các khối k ch thước 16x16

Các macroblock có th chia tiếp làm các block 8x8 trước quá tr nh nén tùy vào phương pháp thực hiện ở quá trình nén

III Các thuật toán đƣợc sử dụng trong quá trình nén

1 Biến đổi cosin rời rạc (DCT):

Ảnh được chia làm các khối 8x8, qua phép biến đổi cosin rời rạc trở thành 1 khối 8x8 khác hoàn toàn biến đổi ngược về y hệt khối cũ được

DCT biến đổi dữ liệu từ miền thời gian sang miền tần số

Nếu dữ liệu miền thời gian không có sự khác nhau nhiều thì ở miền tần số, dữ liệu tần số thấp rất lớn, tần số cao rất nhỏ

Trong DCT, phần tử ở v trí (0,0) c a ma trận 8x8 gọi là thành phần một chiều - bi u diễn miền tần số thấp, các phần tử còn lại gọi là thành phần xoay chiều - bi u diễn miền tần số cao

2 Lượng tử hoá (Quantization):

Trang 11

Lượng tử hoá là chia từng phần tử c a ma trận 8x8 sau DCT cho phần tử cùng v trí ở một

ma trận lượng tử 8x8 quy đ nh trước, rồi làm tròn kết quả

Lượng tử hoá làm nhỏ đi các số lớn, vì vậy cần dùng t bit hơn đ bi u diễn các số

Lượng tử hoá làm mất mát thông tin vì khi biến đổi ngược kh ng thu được ma trận ban đầu

3 Quét zig-zag (zig-zag scan) và mã hoá theo loạt dài (RLC):

Sau DCT và lượng tử hoá hầu hết giá tr xoay chiều = 0 Sử dụng phương pháp quét zag sẽ thu được nhiều số 0 liền nhau, sau đó dùng mã hoá theo loạt dài đ đạt tỉ số nén cao Quét zig-zag biến block thành một dãy số có th bi u diễn bằng chuỗi bit

zig-Mã hóa theo loạt dài là: với một chuỗi các giá tr dữ liệu giống nhau, ta mã hóa chúng bằng

1 giá tr duy nhất và số lượng

Ở đây chúng ta mã hoá chuỗi bit thành các cặp (skip;value) với skip là số lượng số 0 và value là giá tr khác 0 tiếp theo

Ki u mã hoá này chỉ dùng cho các giá tr xoay chiều

4 Mã hoá dự đoán (Predictive Coding):

Trang 12

Với phần tử (0;0) chúng ta dùng mã hoá dự đoán, cụ th là dựa vào giá tr hiện tại đ dự đoán giá tr tiếp theo và mã hoá sự khác biệt

Nếu dự đoán ch nh xác th sai số sẽ nhỏ

Khi mã hoá sự khác biệt, chúng ta cần t bit hơn mã hoá giá tr thật

MPEG-1 sử dụng kỹ thuật DPCM (Difference Pulse Code Modulation) là một dạng c a mã hóa dự đoán

5 Ước lượng chuy n động (Motion Estimation):

Ước lượng chuy n động là dự đoán 1 khối ở b c ảnh sau sử dụng 1 khối ở ảnh hiện tại Khác biệt về v trí giữa 2 khối này trong b c ảnh gọi là vectơ chuy n động

Khác biệt về giá tr c a từng phần tử c a 2 khối gọi là sai số ước lượng

Trong MPEG-1, khi mã hoá buộc phải t nh vectơ chuy n động và sai số ước lượng Khi giải mã dùng 2 thông số đó + ảnh hiện tại sẽ tạo được ảnh kế tiếp Quá trình này gọi là bù chuy n động (Motion Compensation)

6 Mã hoá với từ mã có độ dài thay đổi (VLC): Mã Huffman là ví dụ

Kỹ thuật này dùng các từ mã ngắn hơn đ bi u diễn các giá tr xuất hiện thường xuyên hơn Dùng kỹ thuật này chuỗi bit sau mã hoá có th ngắn hơn chuỗi ban đầu

Trong MPEG-1 quá trình mã hoá kết thúc bằng VLC đ giảm dư thừa dữ liệu và bước đầu tiên c a giải mã là giải mã VLC

Trang 13

IV Sơ đồ, đặc điểm nén chuẩn MPEG-1

MPEG-1 sử dụng hai kỹ thuật mã hóa là: mã hóa nội trong frame (intra-frame coding) và

mã hóa giữa các frame (inter-frame coding)

Video được chia làm các khối ảnh (GOP – group of picture), mỗi khối ch a các ảnh

(frame) gồm 3 loại: ảnh I, ảnh P và ảnh B sắp xếp theo th tự và tỷ lệ nhất đ nh

1 Mã hoá nội trong frame (Intra-frame coding):

Với chu n MPEG-1 ảnh I (intra-frame) được mã hoá bằng cách mã hoá nội trong frame,

t c là chỉ giảm độ dư thừa trong ảnh đó mà kh ng liên hệ với ảnh khác

Quá trình mã hoá gần như là giống chu n JPEG Thực hiện lần lượt các bước như h nh:

Đơn v mã hoá là 1 khối (block) 8x8 1 macroblock ch a 6 khối: 4 khối Y, 1 khối Cb, 1 khối Cr (ki u 4:2:0)

Sử dụng cách này ảnh giữ được chất lượng cao nhưng tỉ số nén thấp

2 Mã hoá giữa các frame (Inter-frame coding):

Ảnh P và ảnh B được mã bằng cách này, t c là giảm độ dư thừa trong chính ảnh đó và cả trong mối quan hệ với các ảnh khác

Trang 14

— Mã hoá ảnh P (predicted):

Đơn v thực hiện mã hoá là 1 macroblock

Với mỗi macroblock, có nhiều lựa chọn mã hoá như thế nào, dẫn đến có 8 ki u macroblock khác nhau Cụ th như sau:

+ Sử dụng intra coding hay non-intra coding (mã hoá dự đoán)

+ Với mã hoá dự đoán th có truyền vectơ chuy n động hay không

+ Với mã hoá dự đoán, nếu mọi giá tr trong ma trận sai số ước lượng = 0 thì cả

macroblock kh ng được mã hoá

+ Sử dụng lượng tử hoá hay kh ng: lượng tử hoá, với các tỉ lệ khác nhau làm chất lượng ảnh khác nhau

Ki u dự đoán trong mã hoá ảnh P là dự đoán tiến, t c là dự đoán dựa trên ảnh I hoặc ảnh P liền trước nó

— Mã hoá ảnh B (bidirectional):

Ảnh B cũng được chia thành các macroblock như ảnh I, P

Vì ảnh B kh ng được dùng đ làm căn c cho bù chuy n động nên sai số trong ảnh B ít quan trọng hơn ảnh I, P

Ảnh B được giới thiệu đ làm tăng tốc độ frame mà kh ng làm tăng tốc độ bit nhiều Ảnh B giới thiệu vectơ chuy n động lùi dùng đ dự đoán lùi, t c là dùng macroblock trong tương lai dự đoán macroblock hiện tại bằng vectơ chuy n động lùi và sai số ước lượng Điều đó làm tăng sự lựa chọn mã hoá ảnh B: dùng vectơ chuy n động tiến, vectơ chuy n động lùi hay kết hợp cả 2 vectơ —> có ~14 ki u macroblock khác nhau

Nếu có cả 2 vectơ th việc bù chuy n động dựa trên cả ảnh trước và sau nó, kết quả tạo thành một macroblock bù chuy n động ―nội suy‖

Trang 15

Sơ đồ mã hoá giữa các frame như h nh:

V Sơ đồ chung và so sánh

Sơ đồ chung nén video chu n MPEG-1

Trang 16

Sơ đồ chung nén video chu n H.261

So sánh:

 MPEG-1 được phát tri n dựa trên H.261 nên 2 chu n có rất nhiều đi m giống nhau

 Những đi m khác nhau c a H.261 và MPEG-1:

• MPEG-1 cho phép độ phân giải video tùy ý (tối đa 4095x4095) còn H.261 chỉ cho

phép video độ phân giải CIF (352x288) và QCIF (176x144)

• H.261 có bộ đệm đ sau khi mã hóa, nếu tốc độ bit vượt m c cho phép thì quay lại

lượng tử hóa với ma trận lượng tử khác đ tăng tỉ số nén, giảm tốc độ bit

• H.261 chỉ có dự đoán tiến còn MPEG-1 có dự đoán tiến, lùi và kết hợp cả hai

• H.261 chỉ có I-frame, P-frame, MPEG-1 có thêm B-frame, D-frame (DC)

• Vectơ chuy n động trong H.261 chỉ có th ch a số nguyên MPEG-1 có th lẻ 0.5

Trang 17

Phần 3: h o át th c t ng dụng 2 chuẩn trong truyền thông

Ví dụ một video được nén bởi chu n MPEG-1:

Trang 18

 H.261: Chu n mã hoá Video H.261 được ITU công bố vào năm 1990 Nó được thiết kế cho dữ liệu ở các tốc độ bằng cấp số nhân c a 64Kbit/s hay còn gọi là p*64Kbit/s (trong đó p bằng 1 đến 30) H.261 hỗ trợ cho hai độ phân giải, QCIF (176x144) và CIF (352x288) Do H.261 hỗ trợ mã hóa video ở độ phân giải thấp nên được ng dụng đ mã hóa video trong Cuộc gọi Video

Trang 19

Phần 4: Thử nghiệm, gi i th ch kịch b n ng dụng c a hai

chuẩn tr n

1 Các công cụ, thƣ viện sử dụng

- Sử dụng thư viện ffmpeg trên linux

- Sử dụng MediaInfo đ xem thông số video

Là phần mềm nguồn mở được viết bằng C/C++ có th tải tại:

https://mediaarea.net/vi/MediaInfo

2 Với mẫu video raw

Video mẫu được download tại: http://media.xiph.org/bus_cif.y4m

3 Kịch b n

Sử dụng ffmpeg nén chu n mpeg1:

- Nén video với bitrate 128kbps

- Nén video với bitrate 1024kbps

Trang 20

So sánh: + tỉ số nén

+ tỉ số dòng bit

+ chất lượng nhìn bằng mắt

4 Tính toán:

Tỉ số nén = Dung lượng trước khi nén/ Dung lượng sau khi nén

Tỉ số dòng bit = H * W * Frame_Rate * 24 /Bitrate dữ liêu sau nén

Khi thực hiện xem 2 mẫu video đã nén với 2 bitrate khác nhau

Video có bitrate cao hơn cho chúng ta chất lượng cao hơn

Ngày đăng: 11/03/2016, 23:18

HÌNH ẢNH LIÊN QUAN

Sơ đồ mã hoá giữa các frame như h nh: - Nén video theo chuẩn MPEG và ứng dụng
Sơ đồ m ã hoá giữa các frame như h nh: (Trang 15)
Sơ đồ chung nén video chu n MPEG-1 - Nén video theo chuẩn MPEG và ứng dụng
Sơ đồ chung nén video chu n MPEG-1 (Trang 15)
Sơ đồ chung nén video chu n H.261 - Nén video theo chuẩn MPEG và ứng dụng
Sơ đồ chung nén video chu n H.261 (Trang 16)

TỪ KHÓA LIÊN QUAN

w