Nén video theo chuẩn ITUT

27 1.1K 16
Nén video theo chuẩn ITUT

Đ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

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ÁO CÁO MÔN: TRUYỀN THÔNG ĐA PHƯƠNG TIỆN ĐỀ TÀI: NÉN VIDEO THEO CHUẨN ITU-T NHÓM 13 Sinh viên thực hiện: Giảng viên hướng dẫn: Giang Thanh Trường Nguyễn Thị Hạnh Nguyễn Trọng Anh Trần Minh Nhật 20122645 20121661 20121220 20122201 PGS.TS Nguyễn Thị Hoàng Lan Hà Nội, tháng 05 năm 2016 Mục lục Danh mục hình ảnh Lời nói đầu Công nghệ thông tin ngày phát triển, truyền thông đa phương tiện nhu cầu thiếu Trong truyền thông đa phương tiện, công nghệ nén video vô quan trọng Những video có dung lượng lớn muốn truyền tải rộng rãi qua mạng internet phải nén Tùy nhu cầu, mục đích cụ thể có nhiều chuẩn nén video khác Trong báo cáo này, chúng em trình bày chuẩn nén video ITU (H.26x) so sánh chuẩn nén H.261 với MPEG-1 Chúng em xin cảm ơn cô Nguyễn Thị Hoàng Lan giúp chúng em hoàn thành báo cáo CHƯƠNG Tìm hiểu chung chuẩn nén ITU-T, chuẩn H.26X (H.261, H.263, H.264) I Giới thiệu tổ chức ITU ITU Liên minh viễn thông quốc tế thuộc Liên hiệp quốc, thành lập vào năm 1865 (tiền thân Liên minh Điện báo quốc tế - International Telegraph Union) Hoạt động ITU bao trùm tất vấn đề thuộc ngành Công nghệ viễn thông Thông tin như: tần số vô tuyến điện, quỹ đạo vệ tinh, hỗ trợ phát triển sở hạ tầng viễn thông nước phát triển xây dựng tiêu chuẩn chung giới kết nối hệ thống liên lạc ITU tham gia nghiên cứu tìm giải pháp cho thách thức chung toàn cầu thời đại như: biến đổi khí hậu bảo mật, an toàn thông tin ITU hoạt động lĩnh vực chính: - Telecom - Viễn thông - Radio - Thông tin vô tuyến - Telecommunications Development - Phát triển viễn thông Chuẩn H.26x chuẩn mã hóa nén video đưa khuyến nghị ITU Chuẩn nén video H.26x gồm có chuẩn H.261, H.263, H.264, H.265 Trong đó, chuẩn H.264 biết đến chuẩn MPEG – Part 10/AVC (Advanced Video Coding) ITU – T hợp tác với ISO/ISE phát triển ITU tập trung vào ứng dụng với dòng video chuẩn H.26x như: H.261, H.263, H.264 chuẩn H.265 II Tổng quan chuẩn nén video H.261 Tổng quan - Chuẩn H.261 chuẩn nén video ITU giới thiệu vào năm - 1990, phần giao thức H.320 mô tả thành phần khác hệ thống video conference, thiết kế cho ứng dụng video telephony video conference qua đường ISDN Chuẩn ban đầu thiết kế cho mạng ISDN với tốc độ truyền liệu bội số 64Kbit/s (p*64Kbit/s) Thuật toán nén theo chuẩn H.261 giúp giảm độ dư thừa không gian thời gian chuỗi video để đạt tỷ số nén cao - Trong chuẩn này, chuỗi video định nghĩa theo chuẩn định dạng - CIF QCIF Trong đó: CIF tiêu chuẩn cho kích thước video hình ảnh máy tính chứa 352x288 điểm ảnh (pixel) QCIF tiêu chuẩn có độ phân giải ¼ tiêu chuẩn CIF 176x144 pixel Sử dụng kĩ thuật lấy mẫu 4:2:0 (trong chuẩn H.261 sử dụng hệ màu YUV, kĩ thuật lấy mẫu lấy mẫu theo tỉ lệ độ chói Y thành phần màu lại) Tốc độ frame tối đa 30 fps giảm xuống phụ thuộc vào ứng dụng băng thông đường truyền khác Kĩ thuật mã hóa chuẩn nén video H.261 - Dự đoán trước hình ảnh: nhằm loại bỏ việc lặp lại, giảm dư thừa thời - gian Biễn đổi mã: nhằm loại bỏ lặp lại, giảm dư thừa không gian Bù lại chuyển động: sử dụng véc tơ chuyển động để bù lại chuyển động Cấu trúc phân cấp video chuẩn H.261 - Chuẩn H.261 tổ chức liệu theo dòng frame, với loại frame I P frame: Hình 1: Dòng frame theo chuẩn H.261 - Cấu trúc phân cấp frame: Hình 2: Cấu trúc phân cấp frame theo chuẩn H.261 - Tùy theo tín hiệu đầu vào định dạng theo CIF hay QCIF, định dạng theo định dạng CIF frame có 12 GOBs theo định dang QCIF frame có GOBs Hình 3: Số GOB theo định dạng CIF Hình 4: Số GOB theo định dạng QCIF - Mỗi GOB gồm có 11 x = 33 MB (Macro Block) - Mỗi MB tổ chức thành Block, có block Y có kích thước 16x16 pixels, block U có kích thước 8x8 pixels block V có kích thước 8x8 pixels Hình 5: Cấu trúc Macro Block Cấu trúc phân lớp liệu video theo chuẩn H.261 Hình 6: Cấu trúc phân lớp liệu video theo chuẩn H.261 - Picture-layer: gồm PSC (start of picture code - mã đầu ảnh), TR (time - stamp reference - nhãn thời gian tham chiếu), picture type (I/P) GOB GOB layer: gồm GOB start (GOB start code - mã bắt đầu GOB), group number (số nhóm), group quant (group quantization value - giá trị lượng tử) MB MB layer: gồm MBA (macroblock address- địa macroblock), MTYPE (intra/inter), MQUANT (quantizer), MVD (motion vector data- vecto chuyển động), CBP (coded block pattern- mẫu block mã hóa) Block Block- layer: gồm quét zig-zag với cặp hệ số (run, level), kết thúc block EOB Sơ đồ nén theo chuẩn H.261 Hình 7: Sơ đồ nén theo chuẩn H.261 5.1 Nén Intraframe (frame I) Mã hóa frame (frame tham chiều) chuỗi frame video, tương tự mã hóa ảnh JPEG Hình 8: Sơ đồ nén intraframe Đặc điểm: - Quá trình biến đổi DCT: từ block có kích 8x8 pixel, qua phép biến - đổi cosin rời rạc để biến đổi tập giá trị từ miền không gian sang tập giá trị miền tần số Quá trình lượng tử hóa: không giống JPEG, chuẩn H.261 sử dụng bảng lượng tử hóa thống cho tất block Ma trận liệu thu sau trình lượng tử hóa quét zig-zac nhằm mục đích tăng hiệu quét liệu tập trung chủ yếu phần tử Sau sử dụng phương pháp nén RLC, Huffman 5.2 Nén Interframe Nén Interframe nhằm mục đích giảm độ dư thừa thời gian frame chuỗi video Nén interframe mã hóa sai khác frame frame tham chiếu Với đầu vào frame chia thành MB, sử dụng hai kỹ thuật: - Kỹ thuật ước lượng chuyển động: nhằm mục đích tính vector chuyển - động, sử dụng frame tham chiếu (frame I) để tìm frame dự đoán (frame P) Kỹ thuật bù chuyển động: nhằm mục đích khôi phục lại ảnh sau nén Sơ đồ giải nén theo chuẩn H.261 Hình 9: Sơ đồ giải nén theo chuẩn H.261 - Giảm độ dư thừa không gian khung hình video cách mã hóa - số khối gốc thông qua việc dự báo không gian, lượng tử hóa, phép biến đổi mã hóa liệu ngẫu nhiên, mã hóa độ dài thay đổi Giảm không gian dư thừa lại tồn khung hình video cách mã hóa khối lại… tức sai khác khối tương ứng ban đầu khối dự đoán, lần thông qua biến đổi, lượng tử hóa mã hóa liệu ngẫu nhiên II Khác Điều khác biệt sơ đồ nén chuẩn nén video H.261 có sử dụng Control Coding (điều chỉnh lượng tử hóa, tốc độ bit) Cấu trúc phân lớp liệu Chuẩn nén H.261 tổ chức liệu theo dòng frame, với hai loại frame là: frame I frame P, MPEG-1 sử dụng frame I, P, B Hình 12: Chuỗi frame theo chuẩn H.261 Hình 13: Chuỗi frame theo chuẩn MPEG-1 Trong frame chuẩn H.261, liệu tổ chức thành GOB (Group Of Block) có kích thước giống theo chuẩn định dạng Mỗi frame chuẩn MPEG-1 tổ chức thành GOP (Group Of Picture) có kích thước không giống Hình 14: Cấutr úc phân lớp liệu theo chuẩn H.261 Hình 15: Cấu trúc phân lớp liệu theo chuẩn MPEG-1 Định dạng video - H.261 sử dụng chuẩn định dạng CIF (352x288 pixels) QCIF (176x144 - pixels) MPEG-1 sử dụng chuẩn định dạng CIF, SIF (Source Input Format) thiết lập độ phân giải lên đến 4095x4095 pixels Quá trình lượng tử hóa Chuẩn H.261 sử dụng bảng lượng tử hóa cho tất block Nhưng chuẩn MPEG-1 sử dụng hai bảng lượng tử hóa khác cho block intraframe block interframe Độ xác kỹ thuật bù chuyển động Độ xác kỹ thuật bù chuyển động chuẩn nén video MPEG-1 lên đến ½ pixel, chuẩn nén H.261 pixel CHƯƠNG Xây dựng sơ đồ thuật toán nén ảnh video theo chuẩn H.261 - Đầu vào: Video chuỗi Frame - Ảnh màu không gian RGB biến đổi hệ YUV (YCbCr) - Tách chuỗi frame thành frame qui ước frame nhóm gồm: frame nhóm frame I, frame lại frame P - Nén Frame I (kỹ thuật nén intra frame): Quá trình nén Frame I tương tự nén ảnh Jpeg sau: -DCT Trong khối ảnh 8x8 + X(n1,n2) giá trị mức xám vị trí [n1,n2] (trong vùng 8*8) 69) Khi lập trình viết hàm floor(68.06+0.5) Ta bảng B bảng lượng tử hóa Tại vị trí có tần số thấp có hệ số thành phần DC, thành phần lại tròn ma trận thành phần AC - Đối với thành phần AC: Zig-Zag Tác dụng xếp lại theo thứ tự ZigZag tạo nhiều loại hệ số giống Chúng ta biết lượng khối hệ số giảm dần từ góc bên trái xuống góc bên phải nên việc xếp lại hệ số theo thứ tự ZigZag tạo điều kiện cho hệ số xấp xỉ (cùng mức lượng tử) nằm dòng Mỗi khối ZigZag mã hóa theo phương pháp RLE Cuối khối đầu RLE, ta đặt dấu kết thúc khối EOB (End Of Block) Sau đó, khối dồn lại mã hóa lần phương pháp mã Huffman - Đối với thành phần DC: DPCM Sử dụng mã hóa DPCM (diferrential pulse code modulation), thành phần có độ tương quan cao Đây phương pháp sở nén liệu dựa mã hóa dự đoán, thường sử dụng tín hiệu lấy mẫu có độ tương quan mạnh, có quan hệ lân cận mẫu… Nguyên tắc: mã hóa sai khác mẫu (mẫu dự đoán theo thời điểm trước mẫu tại) cho phép đạt hiệu nén cao nhiều mã hóa mẫu riêng biệt Giá trị mẫu giải mã dựa giải mã sai khác giá trị dự đoán thời điểm trước - Huffman Thuật toán bao gồm bước chính: - Giai đoạn thứ nhất: tính tần suất ký tự liệu gốc: duyệt tệp gốc cách từ đầu đến cuối để xây dựng bảng mã Tiếp sau xếp lại bảng mã theo thứ tự tần suất giảm dần - Giai đoạn thứ hai: mã hóa: duyệt bảng tần suất từ cuối lên đầu để thực ghép phần tử có tần suất xuất thấp thành phần tử Phần tử có tần suất tổng tần suất thành phần Tiến hành cập nhật lại bảng đương nhiên loại bỏ phần tử xét Quá trình lặp lại bảng có phần tử Quá trình gọi trình tạo mã Huffman việc tập hợp tiến hành nhờ nhị phân nhánh Phần tử có tần suất thấp bên phải, phần tử bên trái Với cách tạo này, tất bit liệu/ký tự nút lá; nút nút tổng hợp Sau tạo xong, người ta tiến hành gán mã cho nút Việc mã hóa đơn giản: lần xuống bên phải ta thêm bit “1” vào từ mã; lần xuống bên trái ta thêm bit “0” - Frame P (mục tiêu nén nén vector chuyển động sai số dự đoán) Ước lượng chuyển động Hầu hết frame liên tiếp video tương tự với frame trước đó.Khi nén tất frame video theo phương pháp dẫn đến dư thừa, tốn tài nguyên Để giảm thiểu dư thừa ta sử dụng kỹ thuật ước lượng bù chuyển động để nén frame P Sơ đồ nén Frame-P Frame P chia thành MB kích thước 16x16 Mỗi block Y block Cr, block Cb Các MB tạo thành ma trận Macroblock Mỗi MB frame tìm kiếm vùng tìm kiếm frame tham chiếu để tìm MB có giá trị gần giống nhất, từ tính vector chuyển động Sự sai khác (kết phép trừ Macroblock thành phần YUV tương ứng 8x48) vector chuyển động nén truyền Vector chuyển động Phương pháp tìm vector chuyển động dừa vào tiêu chí đánh giá Mean Absolute Error (MAE) tiêu chí tìm kiếm theo giải thuật Three Step Search: Tính toán Mean Absolute Error (MAE) Trong đó: + (x, y): vị trí Macroblock có kích thước (NxN) cần tìm kiếm ma trận MB + C: Macroblock frame + R: Macroblock frame tham chiếu + (i, j): vector chuyển động tương ứng với cặp C,R Giải thuật Three Step Search  B1: Xác định kích thước bước dịch chuyển ban đầu (4) Tạo vị trí cửa sổ tìm kiếm Tính toán MAE tương ứng với điểm Trung tâm vùng tìm kiếm chuyển đến vị trí có MAE nhỏ  B2: Trung tâm vùng tìm kiếm chuyển đến vị trí có MAE nhỏ Giảm kích thước bước dịch chuyển (2) Tạo vị trí sổ tìm kiếm Và thực bước tính toán MAE  B3: Lặp lại bước KQ: Vector cần tìm vector nối vị trí ban đầu MB frame điểm có MAE nhỏ kết bước MB Layer MBA MTYPE MQUANT MVD CBP B0 B1 B2 B3 B4 B5 Phân lớp liệu MB layer: - MBA: macroblock address - địa macroblock MTYPE: intra/inter MQUANT: quantizer MVD: motion vector data - vecto chuyển động CBP: coded block pattern - mẫu block mã hóa B0 B5: Các Block Vector chuyển động sai khác (kết phép trừ Macroblock, block YUV tương ứng 8x48) nén truyền theo phân lớp liệu - Đầu ra: dòng bit mã hóa (frame I nén, vector chuyển động mã hóa, sai số dự đoán mã hóa) CHƯƠNG Cài đặt thử nghiệm thuật toán nén H.261, đo lượng hiệu giải pháp nén Cài đặt thử nghiệm Đầu vào: Biến fileName = 'sampleQCIF.yuv'; video đầu vào width = 176; height = 144; width height kích thước định dạng theo định dạng QCIF số frame video nFrame=20; - Chuyển đổi ảnh màu sang hệ màu YUV cách sử dụng hàm reshape(frame(1:kích thước frame, chiều dài frame, chiều rộng frame) với kỹ thuật lấy mẫu 4:2:0 sử dụng vòng lặp for với tham số iFrame thuộc khoảng [1, nFrame] Trong vòng lặp tiến hành chuyển đổi hệ màu, với thành phần Y sử dụng frame(1:width*height), thành phần U sử dụng frame(width*height+1:1.25*width*height), chiều dài rộng chia Tương tự với thành phần U thành phần V, sử dụng frame(1.25*width*height+1:1.5*width*height) Ta thành phần yImage, uImage vImage - Đọc frame, gọi hàm yuvRead, tiến hành đọc theo thành phần YUV, sử dụng hàm unit8 với tham số yImage, uImage vImage Ta thu y,v, u - Chọn nhóm frame-distanceI=4 (theo qui ước frame thành nhóm, frame nhóm frame I, thành phần lại frame P) Để tìm frame I frame P qui ước thì: tiến hành vòng lặp for với tham số iFrame từ đến nFrame Như mod(iFrame, distanceI) == frame frame I frame lại frame P Sau tiến hành nén frame - Nén frame I sử dụng hàm jpegencode Hàm jpegencode xây dựng sau: + DCT t=dctmtx(8); ma trận DCT kích thước 8*8 có sẵn Để tính ma trận DCT frame I, sử dụng hàm blkproc với tham số x frame I, t, P1*x*P2 Tính ma trận y + Lượng tử hóa ma trận m ma trận lượng tử hóa mặc định sử dụng hàm blkproc với tham số y tính trên, m, round(x./P1) tính ma trận y lượng tử hóa ma trận yy + Mã hóa Huffman Gọi hàm huffencode với tham số ảnh lượng tử hóa Kết thu frame I nén Để lấy frame tham chiếu ta thực giải mã huffman với frame I nén Ở sử dụng hàm huffdecode - Nén frame P (nén vector chuyển động sai số ước lượng) + Nén vector chuyển động Ước lượng vector chuyển động sử dụng thuật toán Three Step Search Với đầu vào imP ảnh ta muốn tìm vector chuyển động tương ứng với macroblock có kích thước mbSize, ta cần tìm ma trận vector ứng với macroblock có góc bên trái (x,y) Vị trí tương ứng vector tham chiếu (x1,y1) vectors = zeros(2,row*col/mbSize^2); Ta sử dụng mảng vectors để lưu vector chuyển động(dx,dy) đó: + stepSize ban đầu gán + vectors[1,i] lưu giá trị dx vector chuyển động macroblock có thứ tự i + vectors[2,i] lưu giá trị dy vector chuyển động macroblock có thứ tự i costs = ones(3, 3) Ma trận 3x3 lưu giá trị tính MAD tương ứng với điểm tìm kiếm tương ứng bước nhảy Sau tìm giá trị nhỏ ma trận costs(3x3)tại vị trí (a,b) Ta tìm x1 = x1 + (a-2)*stepSize; y1 = y1 + (b-2)*stepSize; stepSize = stepSize / 2; Sau lần thực stepSize = Ta tính vector chuyển động (dx,dy): (x-x1, y-y1) Để nén vector chuyển động, sử dụng hàm huffencode + Nén sai số ước lượng Từ vector chuyển động tính với frame tham chiếu, sử dụng hàm motionComp để tính curFrame frame dự đoán Được tính sau: imgComp từ frame tham chiếu ImgI, ma trận vectors imgComp imgComp refBlkVer = i + dy; refBlkHor = j + dx; imageComp(i:i+mbSize-1,j:j+mbSize-1) = imgI(refBlkVer:refBlkVer+mbSize-1, refBlkHor:refBlkHor+mbSize-1); Trong i: [1 row-mbSize] j: [1 row-mbSize] (dx,dy): vector chuyển động sai số dự đoán difFrame tính sai khác frame I curFrame Nén sai số dự đoán difFrame tương tự với nén frame I, sử dụng hàm jpegencode Vậy thu vector chuyển động sai số dự đoán mã hóa Đo lượng hiệu Do chưa làm xuất file nén nên nhóm em chưa thể đánh giá hiệu Kết luận Do nhiều thời gian tìm hiểu kỹ nên báo cáo chúng em thiếu sót nhiều vấn đề Có nhiều chuẩn nén phù hợp với mục đích sử dụng cụ thể Chúng em tiếp tục tìm hiểu, bổ sung thêm chuẩn nén video truyền thông đa phương tiện Chúng em xin chân thành cảm ơn cô Nguyễn Thị Hoàng Lan góp ý giúp đỡ cô trình làm báo cáo Tài liệu tham khảo - Bài giảng Xử lý liệu đa phương tiện, PGS.TS Nguyễn Thị Hoàng Lan, - Viện Công nghệ thông tin truyền thông, Đại học Bách Khoa Hà Nội H.261 Video Slide, Mark Handley, Department of Computer Science, London’s Global University H.261 Standards Presentation, Qaiser, Ahmed Patel Video Compression 1: H.261 Coding Basics Slide, Multimedia Systems Concepts Standards and Practice Course, Ramesh Yerraballi Chapter 11: MPEG Video Coding I – MPEG-1/2, CMPT 820: Multimedia Systems Course, Mohamed Hefeeda [...]...CHƯƠNG 2 Phân tích, so sánh các sơ đồ nén video H.261 với video MPEG-1 Hình 10: Sơ đồ nén theo chuẩn H.261 Hình 11: Sơ đồ nén theo chuẩn MPEG-1 I Giống nhau Các phương pháp nén theo chuẩn MPEG và H.26x có nhiều điểm giống nhau Có thể kể ra một số điểm giống nhau cơ bản như: - Sử dụng DCT để giảm thiểu độ dư thừa intraframe - Nén interframe dựa trên kỹ thuật ước lượng chuyển động và... đầu tiên là trong sơ đồ nén của chuẩn nén video H.261 có sử dụng bộ Control Coding (điều chỉnh lượng tử hóa, tốc độ bit) 1 Cấu trúc phân lớp dữ liệu Chuẩn nén H.261 tổ chức dữ liệu theo dòng các frame, với hai loại frame là: frame I và frame P, còn MPEG-1 sử dụng cả frame I, P, B Hình 12: Chuỗi frame theo chuẩn H.261 Hình 13: Chuỗi frame theo chuẩn MPEG-1 Trong mỗi frame của chuẩn H.261, dữ liệu được... hóa Chuẩn H.261 sử dụng một bảng lượng tử hóa cho tất cả các block Nhưng chuẩn MPEG-1 sử dụng hai bảng lượng tử hóa khác nhau cho các block của intraframe và các block của interframe 4 Độ chính xác của kỹ thuật bù chuyển động Độ chính xác của kỹ thuật bù chuyển động trong chuẩn nén video MPEG-1 lên đến ½ pixel, còn chuẩn nén H.261 là 1 pixel CHƯƠNG 3 Xây dựng sơ đồ thuật toán nén ảnh video theo chuẩn. .. kích thước giống nhau theo từng chuẩn định dạng Mỗi frame của chuẩn MPEG-1 được tổ chức thành các GOP (Group Of Picture) có kích thước có thể không giống nhau Hình 14: Cấutr úc phân lớp dữ liệu theo chuẩn H.261 Hình 15: Cấu trúc phân lớp dữ liệu theo chuẩn MPEG-1 2 Định dạng video - H.261 sử dụng 2 chuẩn định dạng CIF (352x288 pixels) và QCIF (176x144 - pixels) MPEG-1 sử dụng các chuẩn định dạng CIF,... thêm một bit “0” - Frame P (mục tiêu nén là nén vector chuyển động và sai số dự đoán) Ước lượng chuyển động Hầu hết các frame liên tiếp trong video tương tự với frame trước đó.Khi nén tất cả các frame trong video theo cùng phương pháp sẽ dẫn đến dư thừa, tốn tài nguyên Để giảm thiểu sự dư thừa đó ta sử dụng kỹ thuật ước lượng và bù chuyển động để nén frame P Sơ đồ nén Frame-P Frame P được chia thành... thay đổi về màu (chromaticity) nên hầu hết các sơ đồ nén theo chuẩn MPEG và H.26X đều tiến hành chia bức ảnh thành một thành phần về độ sáng Y (luminance) và hai thành phần về độ màu UV (chrominance) Các tín hiệu video thành phần được lấy mẫu (samples) và số hoá (digitised) để tạo nên các điểm ảnh rời rạc theo tỷ lệ 4:2:2, 4:2:0 và 4:1:1 Các sơ đồ nén theo MPEG, H.26X đều dùng kỹ thuật subsampling và... 8x48) được nén và truyền theo phân lớp dữ liệu - Đầu ra: dòng bit đã mã hóa (frame I đã nén, vector chuyển động đã mã hóa, sai số dự đoán đã mã hóa) CHƯƠNG 5 Cài đặt thử nghiệm thuật toán nén H.261, đo lượng hiệu năng giải pháp nén này 1 Cài đặt thử nghiệm Đầu vào: Biến fileName = 'sampleQCIF.yuv'; là video đầu vào width = 176; height = 144; width và height là kích thước của định dạng theo định dạng... thuật toán nén ảnh video theo chuẩn H.261 - Đầu vào: Video chuỗi các Frame - Ảnh màu trong không gian RGB được biến đổi về hệ YUV (YCbCr) - Tách chuỗi frame trên thành từng frame và qui ước cứ 4 frame là 1 nhóm gồm: frame đầu tiên của nhóm là frame I, 3 frame còn lại là frame P - Nén Frame I (kỹ thuật nén intra frame): Quá trình nén Frame I tương tự như nén ảnh Jpeg như sau: -DCT Trong khối ảnh 8x8 + X(n1,n2)... trận yy + Mã hóa Huffman Gọi hàm huffencode với tham số là ảnh đã được lượng tử hóa ở trên Kết quả thu được frame I đã nén Để lấy frame tham chiếu ta thực hiện giải mã huffman với frame I đã nén Ở đây sử dụng hàm huffdecode - Nén frame P (nén vector chuyển động và sai số ước lượng) + Nén vector chuyển động Ước lượng vector chuyển động sử dụng thuật toán Three Step Search Với đầu vào là imP là ảnh ta... frame I và curFrame Nén sai số dự đoán difFrame tương tự với nén frame I, sử dụng hàm jpegencode Vậy thu được cả vector chuyển động và sai số dự đoán đã mã hóa 2 Đo lượng hiệu năng Do chưa làm được xuất ra file đã nén nên nhóm em chưa thể đánh giá được hiệu năng Kết luận Do không có nhiều thời gian tìm hiểu kỹ nên báo cáo của chúng em còn thiếu sót nhiều vấn đề Có rất nhiều chuẩn nén và phù hợp với

Ngày đăng: 08/06/2016, 23:56

Từ khóa liên quan

Mục lục

  • Danh mục hình ảnh

  • Lời nói đầu

  • CHƯƠNG 1

  • Tìm hiểu chung về các chuẩn nén ITU-T, chuẩn H.26X (H.261, H.263, H.264)

    • I. Giới thiệu tổ chức ITU

    • II. Tổng quan về chuẩn nén video H.261

    • CHƯƠNG 2

    • Phân tích, so sánh các sơ đồ nén video H.261 với video MPEG-1

      • I. Giống nhau

      • II. Khác nhau

      • CHƯƠNG 3

      • Xây dựng sơ đồ thuật toán nén ảnh video theo chuẩn H.261

      • CHƯƠNG 5

      • Cài đặt thử nghiệm thuật toán nén H.261, đo lượng hiệu năng giải pháp nén này

        • 1. Cài đặt thử nghiệm

        • 2. Đo lượng hiệu năng

        • Kết luận

        • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan