Điều khiển tốc độ video mã hoá chuẩn H.264 thích ứng trên mạng Ad hoc - pdf 14

Download miễn phí Điều khiển tốc độ video mã hoá chuẩn H.264 thích ứng trên mạng Ad hoc
LỜI NÓI ĐẦU Trong những năm gần đây, cùng với sự phát triển mạnh mẽ của khoa học máy tính, đặc biệt là lĩnh vực máy tính nhúng, loài người người đã có những thay đổi to lớn về cách thức cũng như phương tiện giao tiếp. Với những tiến bộ trong truyền thông vô tuyến, kết hợp với sự bùng nổ của các phương tiện nhúng như điện thoại di động, PDA, và máy tính xách tay, thì một lĩnh vực công nghệ đầy tiềm năng đang dần được khai phá đó là “tính toán khắp nơi”(ubiquitous computing). Mạng Ad hoc ra đời như một tất yếu của quá trình phát triển này.
Sau một thời gian làm việc rất cố gắng trên phòng Lab 411 Khoa Điện Tử - Viễn Thông dưới sự hướng dẫn tận tình của thầy giáo TS.Phạm Văn Tiến, cùng với sự hợp tác chặt chẽ của các thành viên trong phòng Lab, em đã hoàn thành đồ án với đề tài “Điều khiển tốc độ video mã hoá chuẩn H.264 thích ứng trên mạng Ad hoc”
Với những nỗ lực thực sự, đồ án của em đã có được một số kết quả nhất định, mặc dù vậy, do thời gian có hạn em không thể tránh khỏi một số thiếu sót cũng như một số nhiệm vụ chưa hoàn thành được. Vì vậy, em rất mong những ý kiến đóng góp của các thầy cô giáo và bạn bè.

TÓM TẮT ĐỒ ÁN
“Điều khiển tốc độ video mã hoá chuẩn H.264 thích ứng trên mạng Ad hoc”
H.264/AVC là chuẩn mã hoá video mới nhất của ITU-T nhóm các chuyên gia mã hoá video (VCEG- Video Coding Experts Group) và ISO/IEC nhóm các chuyên gia về ảnh động (MPEG- Motion Picture Experts Group). Những thành công chính của chuẩn H.264/AVC là cải thiện tỷ số nén và khả năng thân thiện với cách đánh địa chỉ mạng cho các ứng dụng hội thảo truyền hình, lưu trữ hay streaming.
Là một nhóm các thiết bị di động kết nối qua mạng không dây, một mạng không dây Ad hoc được đặc trưng bởi sự thay đổi theo thời gian và ảnh hưởng trực tiếp đến liên lạc. Ngày nay, truyền thông đa phương tiện trên mạng Ad hoc đa chặng còn có nhiều thử thách, đặc biệt khi sử dụng bộ mã hoá H.264 do luồng video rất nhạy cảm với độ trễ trong khi đó tài nguyên của các nút mạng thành phần hạn chế. Đồ án này tập trung vào việc thực thi thiết kế xuyên tầng cho bộ mã hoá, giao tiếp tiến trình bằng bộ nhớ chung. Qua việc thực thi thiết kế xuyên tầng, server truyền sẽ thay đổi tham số lượng tử trong thời gian thực phụ thuộc vào thông tin của các lớp dưới như lớp định tuyến, lớp truyền.
Đồ án gồm 5 chương:
·Chương 1: Giới thiệu về vấn đề phát sinh và phương pháp nghiên cứu
·Chương 2: Giới thiệu bộ mã hoá H.264: cấu trúc của H.264, điều khiển tốc độ .
·Chương 3: Giới thiệu giao thức định tuyến tối ưu OLSR
·Chương 4: Thực thi thiết kế xuyên tầng
Chương 5: Kết quả , kết luận và hướng nghiên cứu tiếp theo.

MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP. 1
BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP. 2
LỜI NÓI ĐẦU3
TÓM TẮT ĐỒ ÁN4
ABSTRACT 5
MỤC LỤC6
DANH MỤC HÌNH VẼ10
DANH MỤC BẢNG BIỂU12
CÁC THUẬT NGỮ VIẾT TẮT13
Chương 1
GIỚI THIỆU CHUNG16
1.1Mục đích thiết kế. 16
1.2Phương pháp nghiên cứu. 18
Chương 2
CHUẨN NÉN VIDEO H.264/MPEG-4 Part 10. 19
2.1Giới thiệu chung về bộ CODEC H.264. 20
2.1.1Bộ mã hoá (Encoder)20
2.1.2Bộ giải mã (Decoder)23
2.2Cấu trúc. 23
2.2.1Định dạng video (video format)24
2.2.2Định dạng dữ liệu được mã hóa. 24
2.2.3Slice. 25
2.2.4Macroblock. 27
2.2.5Ảnh tham chiếu(reference picture)29
2.3Profile. 30
2.4Lớp mạng trừu tượng (NAL)31
2.4.1Định nghĩa lớp mạng trừu tượng:31
2.4.2Cấu trúc của NAL unit32
2.4.3Tập tham số (parameter set)35
2.5.Điều khiển tốc độ (Rate control)43
2.5.1.Giới thiệu về điều khiển tốc độ trong H.264. 43
2.5.2.Phân loại ratecontrol44
2.5.2.1.Chế độ 2 pass. 44
2.5.2.2Chế độ1 pass. 44
a)1 pass ABR. 44
b)1 pass CBR. 45
c)1 pass CRF. 45
d)1 pass CQP. 46
2.5.3Mô hình điều khiển tốc độ trong H.264. 46
2.5.3.1Mô hình tốc độ méo (Rate-distortion model)48
a)Mức độ nhóm ảnh (GOP level)48
b)Mức độ khung (Frame level)49
2.5.3.2đoán độ phức tạp. 56
2.5.3.3Mô hình bộ nhớ ảo. 57
2.5.3.4Giới hạn Delta QP (Delta QP-limiter)58
2.5.3.5Phân bố bit của đơn vị cơ b ản (Basic Unit Allocation)58
2.5.4.Chế độ ratecontrol trong x264. 58
a)Constant QP. 58
b)Constant rate factor59
2.5.5.Kết quả thu được. 59
a)mối quan hệ giữa tốc độ bit đầu ra và các tham số điều khiển tốc độ:59
b)Thiết kế xuyên tầng. 63
Chương 3
GIAO THỨC ĐỊNH TUYẾN OLSR64
3.1Giới thiệu. 64
3.2Một số khái niệm cơ bản:64
3.3Hoạt động. 65
3.4IBSS (IEEE Ad hoc mode)67
3.5Thông tin chất lượng đường truyền mở rộng (Link Quality Extension)69
3.6Debug output:69
3.6.1Phân tích bảng thông tin các liên kết:69
3.6.2Phân tích bảng thông tin các nút hàng xóm70
3.6.3Phân tích bảng thông tin về topo mạng. 71
3.6.4Phân tích bảng định tuyến tìm đường theo DIJKSTRA71
Chương 4
GIỚI THIỆU VỀ THIẾT KẾ XUYÊN TẦNG
4.1Mối liên hệ code giữa vlc, x264 và olsrd. 73
4.2Thiết kế xuyên tầng giữa vlc, x264 và olsrd. 74
Chương 5
KẾT QUẢ NGHIÊN CỨU, KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO75
5.1Test case 1: Thí nghiệm chứng tỏ etx là giá trị cần truyền cho vlc. 75
5.1.1Thí nghiệm 1:75
5.1.2Thí nghiệm 2:77
5.2Kết quả thu được: Thực thi thiết kế xuyên tầng thành công:79
5.3Kết luận. 82
5.4Hướng nghiên cứu tiếp theo:82
TÀI LIỆU THAM KHẢO83


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

ân biệt lớp mã hóa video (Video Coding layer VCL) và lớp mạng trừu tượng (Network Abstraction Layer - NAL). Đầu ra của quá trình mã hóa là dữ liệu lớp mã hóa video VCL (chuỗi bit biểu diễn dữ liệu video đã được mã hóa) sẽ được ánh xạ và các đơn vị của lớp mạng trừu tượng- NAL trước khi truyền dẫn hay lưu trữ. Mỗi đơn vị NAL bao gồm chuỗi byte thô về thứ tự tải, và một tập các thông tin ứng với dữ liệu video hay còn gọi là thông tin header. Một chuỗi video được mã hóa được biểu diễn bởi chuỗi các đơn vị NAL mà có thể được truyền dẫn trên các mạng gói hay luồng bit trên đường truyền hay lưu ra file.Mục đích của việc phân chia các lớp VCL và NAL là để phân biệt đặc tính mã hóa tại lớp VCL và đặc tính truyền dẫn tại lớp NAL.
Hình 2. 6: Chuỗi đơn vị NAL
Slice
Hình 2. 7: Slices
Một ảnh video được mã hóa gồm một hay nhiều slide. Mỗi slice bao gồm số nguyên các khối macro. Số lượng khối macro trong một bức ảnh có thể không cố định. Có sự phụ thuộc lẫn nhau tối thiểu giữa các slide đã được mã hóa để giúp giảm sự lan truyền lỗi. Chuẩn mã hoá H.264 có 5 loại slide được mã hóa và một ảnh được mã hóa có thể bao gồm nhiều loại slide khác nhau ví dụ ảnh được mã hóa trong profile cơ bản có thể bao gồm các slide I và P và ảnh được mã hóa ở profile chính hay mở rộng có thể gồm I,P,B slide. Header slice (phần thông tin mào đầu) định nghĩa loại slice và ảnh mã hóa mà slice đó thuộc về và có thể kèm theo các thông tin hướng dẫn liên quan đến quản lý ảnh tham chiếu. Phần dữ liệu của slice bao gồm chuỗi các khối macro được mã hóa và chỉ thị bỏ qua (không được mã hóa) khối macro.Mỗi khối macro bao gồm chuỗi các thành phần header và dữ liệu dư thừa được mã hóa.
Bảng 2: Các loại slice
Loại Slice
Mô tả
Profile
I (Intra)
Chỉ bao gồm khối macro I (mỗi khối hay khối macro được đoán từ dữ liệu được mã hóa trước đó trong cùng một slide)
Tất cả
P (Predicted)
Bao gồm khối macro P (mỗi khối macro hay vùng macro được đoán từ danh sách các ảnh trong list 0 hay là khối macro I
Tất cả
B (đoán hai chiều)
Bao gồm các khối macro B( mỗi khối hay một vùng khối macro được đoán từ danh sách ảnh list 0 hay list 1) hay là khối macro I
Mở rộng hay chính
SP (Swiching P)
Tạo điều kiện thuận lợi cho việc chuyển đổi giữa các luồng dữ liệu đã được mã hoá, chứa macroblock loại P hay I.
Mở rộng
SI (Swiching I)
Tạo điều kiện thuận lợi cho việc chuyển đổi giữa các luồng dữ liệu đã được mã hoá, chứa macroblock loại SI (một dạng đặc biệt của macroblock mã hoá kiểu intra)
Mở rộng
.
Hình 2. 8: Cấu trúc của slice
Macroblock
Hình 2. 9: MacroBlock
Một khối macro bao gồm các dữ liệu được mã hóa ứng với vùng 16x16 mẫu của khung video.( 16x16 mẫu độ chói, 8x8 Cb và 8x8 Cr) và bao gồm các thành phần cú pháp theo bảng ở . Khối macro được đánh số theo thứ tự quét trong khung.
Bảng 3: Các thành phần cấu trúc của Macroblock
Mb_type
Xác định liệu khối macro là loại I hay P, xác định kích cỡ một vùng trong khối macro
Mb_pred
Xác định chế độ mã hóa trong ( khối macro intra), danh sách tham chiếu List 0 hay List 1 và mã hóa các vector chuyển động khác nhau cho mỗi phần của khối macro
Sub_mp_pred
Xác định kích cỡ khối macro con. Danh sách tham chiếu List 0 hay 1 cho mỗi vùng khối macro và mã hóa các vector chuyển động khác nhau cho mỗi vùng con
Coded_block_pattern
Xác định khỗi 8x8 nào ( độ chói hay sắc) sẽ mang hệ số biến đổi
Mb_qp_delta
Thay đổi tham số lượng tử hóa
Residual
Hệ số biến đổi đã được mã hóa ứng với mẫu dư thừa sau khi đoán
Ảnh tham chiếu(reference picture)
Hình 2. 10: Ảnh tham chiếu và bù chuyển động
Bộ mã hóa H.264 có thể sử dụng hai hay nhiều các ảnh được mã hóa trước đó để làm tham chiếu cho đoán bù chuyển động cho mã hóa ngoài các khối macro hay phân tách khối macro. Điều này cho phép bộ mã hóa tìm kiếm khối macro giống nhất với khối macro được tách ra từ bức ảnh vừa được mã hóa.Bộ mã hóa và giải mã luôn giữ một hay hai danh sách các ảnh tham chiếu, bao gồm ảnh đã vừa được mã hóa hay giải mã (xuất hiện trước hay sau ảnh hiện tại). Mã hóa ngoài các khối macro hay vùng của khối macro trong slice P được đoán từ một danh sách các ảnh –list 0. Mã hóa ngoài khối macro và vùng các khối macro trong slide B có thể được đoán từ hai danh sách list 0 và list 1.
Profile
Hình 2. 11: các profile
H264 định nghĩa 3 profile trong đó mỗi profile hỗ trợ 1 tập cụ thể các hàm mã hóa,và chỉ ra những gì đươc yêu cầu của bộ mã hóa/giải mã phù hợp với từng profile.Base profile hỗ trợ mã hóa trong và liên khung(sử dụng slice I và slice P ),và phương pháp mã hóa entropy CAVLC.Main profile bao gồm video quét xen kẽ,mã hóa liên khung sử dụng slice B ,mã hóa liên khung dùng đoán có trọng sô và phương pháp mã hóa entropy CABAC.Extended profile không hỗ trợ video quét xen kẽ và phương pháp mã hóa entropy CABAC,nhung có thêm chế dộ cho phép việc chuyển đổi  giữa các luồng bit được mã hóa.
Ứng dụng tiềm năng của profile Baseline bao gồm thoại video, hội thảo truyền hình, và truyền thông không dây. Ứng dụng tiềm năng của Main profile là truyền hình quảng bá và lưu trữ dữ liệu. Profile mở rộng có thể hữu ích trong ứng dụng streaming. Tuy nhiên mỗi profile có sự mềm dẻo đủ để hỗ trợ một loại ứng dụng khác nhau.
Lớp mạng trừu tượng (NAL)
Hình 2. 12: Cấu trúc của bộ mã hóa H.264/AVC
Định nghĩa lớp mạng trừu tượng:
Lớp mạng trừu tượng được thiết kế nhằm mục đích cung cấp khả năng thân thiện với mạng cho phép tuỳ biến dễ dàng và hiệu quả. Lớp mạng trừu tượng có khả năng tương thích dễ dàng với dữ liệu của lớp truyền .
Các NAL unit chứa trong nó slice đầu ra của VCL (video coding layer), thích hợp cho việc truyền đi trên mạng gói (packet-oriented network) hay các mạng hướng luồng byte (byte-oriented networks)
Hình 2. 13: video coding layer và network abstract layer
Cấu trúc của NAL unit
Mào đầu của 1 đơn vị NAL
Hình 2. 14: Cấu trúc của đơn vị NAL
Trên hình là cấu trúc của NAL header có độ dài 1 byte,và là byte đầu tiên của 1 NAl unit. Trong đó:
F (1bit)
Forbidden_zero_bit: Giá trị 0 chỉ rằng octet NAL type và tải không chứa bit lỗi hay sai cú pháp.Và ngược lại.Khi bit F được đặt lên 1 thì bộ giải mã được chi rằng trong tải và octet NAL ype của NAL unit có chứa lỗi hay sai cú pháp,bộ giả mã có thể huỷ bỏ NAL unit và giấu đi dữ liệu  của gói bị huỷ
NRI (2bit)
nal_ref_idc: giá trị 00 chỉ nội dung của NAL unit không được dùng đẻ tái xây dựng ảnh tham chiếu cho đoán liên ảnh,do vậy mà các NAl unit có thể bi huỷ mà không làm rủi ro toàn thể ảnh tham chiếu. Còn giá trị lớn hơn 00 chỉ rằng việc giải mã NAl unit được yêu cầu để duy trì sự toàn vẹn của ảnh tham chiếu.Mức độ ưu tiên truyền giảm dần theo trật tự:11,10,01,00 ,và giá trị của NRI tuỳ từng trường hợp giá trị của NAL type khi NAL=5 (ảnh IDR) thì giá trị của của NRI=11
Data type (5bit)
Bảng 4: Kiểu NAL
cAnnex B (byte stream)
Bảng 5: RBSP
Trật tự của NALU dạng luồng byte nên theo trật tự giải mã NALU trong luồng byte NALU
Bắt đầu mỗi NALU là chuỗi 3 byte được gọi là start_code_prefix_one_3byte =0x000001(theo...
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status