Ngày nay, trước nhu cầu bùng nổ của việc trao đổi thông tin, nội dung thông tin
ngày càng đa dạng phong phú và không chỉ giới hạn ở các dữ liệu text đơn thuần mà đã chuyển sang cả dữ liệu multimedia. Bởi sự phát triển nhanh chóng của cơ sơ hạ tầng mạng cũng như các công nghệ nền tảng, ngày nay thông qua mạng internet chúng ta có thể dễ dàng nghe và xem tin tức, xem phim trực tuyến, chia sẻ các video clip với bạn bè và người thân tại khắp nơi trên thế giới. Sự thành công của các trang web chia sẻ ảnh số và video clip như youtube, myspace , flickr là minh chứng cho những nhu cầu ngày càng gia tăng trong lĩnh vực này. Mặt khác nhu cầu chia sẻ dữ liệu thời gian thực cho các ứng dụng truyền hình,các ứng dụng hiện trường như camera theo dõi từ xa, vvv. hoạt động môi trường không dây có xu hướng phát triển rất mạnh.
Do việc không cố định vào cơ sở hạ tầng mạng nào cụ thể nên mang ad hoc ngày càng được sử dụng rộng rãi. Tuy nhiên do tính chất thay đổi không dự đoán được chất lượng kênh truyền trong mạng không dây ad hoc nên việc truyền các dữ liệu multimedia trên mạng không dây ad hoc gặp nhiều thử thách như hạn chế về tài nguyên đường truyền, tài nguyên của thiết bị phần cứng.Vì vậy trong đồ án tập trung vào việc xây dựng cơ chế truyền thông minh (smart transmission mechanism) dựa trên bộ mã hóa H264 để giải quyết vấn đề về truyền video với tốc độ thay đổi dựa trên chất lượng kênh truyền được phản hồi từ client về ,với chất lượng của video thu được tại client có chấp nhận được
99 trang |
Chia sẻ: ngtr9097 | Lượt xem: 2457 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đồ án Truyền video đa chặng trong mạng AD Hoc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lời nói đầu
Ngày nay, trước nhu cầu bùng nổ của việc trao đổi thông tin, nội dung thông tin
ngày càng đa dạng phong phú và không chỉ giới hạn ở các dữ liệu text đơn thuần mà đã chuyển sang cả dữ liệu multimedia. Bởi sự phát triển nhanh chóng của cơ sơ hạ tầng mạng cũng như các công nghệ nền tảng, ngày nay thông qua mạng internet chúng ta có thể dễ dàng nghe và xem tin tức, xem phim trực tuyến, chia sẻ các video clip với bạn bè và người thân tại khắp nơi trên thế giới. Sự thành công của các trang web chia sẻ ảnh số và video clip như youtube, myspace , flickr là minh chứng cho những nhu cầu ngày càng gia tăng trong lĩnh vực này. Mặt khác nhu cầu chia sẻ dữ liệu thời gian thực cho các ứng dụng truyền hình,các ứng dụng hiện trường như camera theo dõi từ xa, vvv.. hoạt động môi trường không dây có xu hướng phát triển rất mạnh.
Do việc không cố định vào cơ sở hạ tầng mạng nào cụ thể nên mang ad hoc ngày càng được sử dụng rộng rãi. Tuy nhiên do tính chất thay đổi không dự đoán được chất lượng kênh truyền trong mạng không dây ad hoc nên việc truyền các dữ liệu multimedia trên mạng không dây ad hoc gặp nhiều thử thách như hạn chế về tài nguyên đường truyền, tài nguyên của thiết bị phần cứng.Vì vậy trong đồ án tập trung vào việc xây dựng cơ chế truyền thông minh (smart transmission mechanism) dựa trên bộ mã hóa H264 để giải quyết vấn đề về truyền video với tốc độ thay đổi dựa trên chất lượng kênh truyền được phản hồi từ client về ,với chất lượng của video thu được tại client có chấp nhận được
Hà Nội tháng 5 năm 2008
Sinh viên Đỗ Mạnh Đoàn
Tóm tắt đồ án
Abstract
Being a set of mobile computing devices connected over wireless links, an ad
hoc wireless network is characterized by dynamic changes that affect the communication.Real-time video communication over wireless multi-hop ad hoc networks remains challenging, as video traffic is bursty and highly time-sensitive while network resources are limited and time-varying. This thesis focuses on designing cross-layer for encoder, a smart transmission mechanism for wireless ad-hoc network. With cross-layer, streaming server will change the input parameter of encoder in real-time and that change base on the information of lower layer such loss rate, routing table. Moreover, there is a fully feedback mechanism built to inform the link quality to sender. Finally the server can base on the importance of the packet to determine how many packets will server
re–stream.
This graduation has 5 chapters:
Chapter 1: Introduction about problem which solved in this thesis and research method
Chapter 2: Overview of H264 video coding standard such as h264 structure, rate control and so on.
Chapter 3: Fundamental of real-time transport protocol and RTP payload for H264 video coding standard
Chapter 4: Design of cross-layer : detail design and implementation
Chapter 5: Results, conclusion, and next research direction.
Lời cảm ơn
Em xin chân thành cảm ơn thầy giáo TS Phạm Văn Tiến, người đã giúp đỡ em về nhiều mặt trong suốt thời gian thực hiện đề tài .Thời gian làm viêc với thầy đã giúp em không chỉ tích lũy thêm kiến thức mà còn học hỏi thêm nhiều điều về phương pháp làm việc và cách nhìn nhận vấn đề .Mặt khác em cũng xin chân thành cảm ơn thầy giáo TS Nguyễn Chấn Hùng,người chỉ dẫn cho em phương pháp làm việc khoa học và đã tạo điều kiện cho em làm việc trong môi trường làm việc chuyên nghiệp, sáng tạo như ở trong phòng nghiên cứu RDLab C9-410.
Em cũng xin cảm ơn bạn Đàm Ngọc Huyền, người đã cùng em thực hiên đề tài suốt hơn 6 tháng qua., và giúp cho đề tài đã có những thành công nhất định
Cảm ơn các bạn sinh viên cùng thực tập và làm việc trong phòng nghiên cứu RDLab C9-410 vì những giúp đỡ của.các bạn dành cho mình.Chúc RDLab ngày càng phát triển và thành công
Con cảm ơn bố mẹ và bạn bè đã dành cho con sự cổ vũ động viên, tình cảm và mọi điều kiện thuận lợi trong suốt quá trình học tập và làm đồ án. Chúc bố mẹ luôn mạnh khỏe
Mục lục
Lời nói đầu 1
Tóm tắt đồ án 2
Abstract 3
Lời cảm ơn 4
Mục lục 5
Danh sách hình vẽ 7
Thuật ngữ viết tắt 9
Thuật ngữ viết tắt 9
Chương 1 Giới thiệu chung 11
1.1 Mục đích thiết kế 11
1.2 Phương pháp nghiên cứu 12
Chương 2 Chuẩn nén video H.264 14
2.1 Giới thiệu chung về bộ codec h264 14
2.1.1 Encoder 14
2.1.2 Decoder 15
2.2 Cấu trúc của H264 16
2.2.1 Định dạng video (video format) 16
2.2.2 Định dạng dữ liệu được mã hóa 16
2.2.3 Slice 17
2.2.4 Macroblock 18
2.2.5 Ảnh tham chiếu (reference picture) 18
2.2.6 Profile 20
2.3 Lớp mạng trừu tượng 21
2.3.1 Cấu trúc của NAL unit 22
2.3.2 Tập tham số (parameter set) 26
2.3.3 Trật tự của các NALU và liên kết tới các ảnh được mã hóa,đơn vị truy cập và chuỗi video 28
2.4 Điều khiển tốc độ (Rate control) 34
2.4.1 Tham số lượng tử (QP) 34
2.4.2 Mô hình rate control trong h264 35
2.4.3 Phân loại ratecontrol 46
Chương 3 Giao thức truyền tải thời gian thực RTP 48
3.1 Giao thức truyền dữ liệu RTP 48
3.2 Giao thức điều khiển luồng RTCP 53
3.2.1 RTCP RR: Receiver Reports 56
3.2.2 RTCP SR: Sender Reports 57
3.3 Tải dữ liệu của RTP cho h264 59
3.3.1 Đơn vị NAL đơn (single nal unit) 60
3.3.2 Gói tích lũy đơn thời gian (STAP) 61
3.3.3 Gói tích lũy đa thời gian (Multi time aggregate packet hay MTAP) 62
3.3.4 Đơn vị phân đoạn (Fragmentation Unit hay FU) 64
Chương 4 Cross-layer design cho mạng adhoc 67
4.1 Giới thiệu về cross-layer 67
4.2 Sơ đồ thiết kế 68
4.2.1 Module transcode 69
4.2.2 Module transport 73
4.2.3 Module routing 83
Chương 5 Kết quả nghiên cứu, kết luận và hướng nghiên cứu tiếp theo 85
5.1 Test case 85
5.1.1 Test case 1: Streaming server không thay đổi tham số mã hóa khi hoạt động 85
5.1.2 Test case 2: Streaming server thay đổi tham số trong thời gian thực khi truyền thành công 50 gói RTP liên tiếp 86
5.1.3 Test case 3: Streaming server thay đổi tham số trong thòi gian thực khi nhận thông tin từ phản hồi từ client 87
5.2 Kết quả thu được 88
5.2.1 Test report 88
5.2.2 Khi không thay đổi tham số mã hóa trong thời gian thực 90
5.2.3 Khi thay đổi tham số mã hóa 90
5.2.4 Danh sách gói mất tại phía phát và phía thu 95
5.3 Kết luận 96
5.4 Hướng nghiên cứu tiếp theo 97
Tài liệu tham khảo 99
Danh sách hình vẽ
Hinh 11: Mô hình mạng không dây ad hoc 11
Hinh 12: Phương pháp nghiên cứu 12
Hinh 21: Sơ đồ bộ mã hóa H264 14
Hinh 22: Sơ bộ giải mã H264 15
Hinh 23: Mô hình các tầng trong H264 16
Hinh 24: Luồng dữ liệu cơ bản H264 17
Hinh 25: Cấu trúc slice 17
Hinh 26: Profile trong h264 20
Hinh 27: Lớp NAL trong H264 21
Hinh 28: Đơn vị dữ liệu ứng với các lớp trong h264 22
Hinh 29: Cấu trúc của đơn vị phân mảnh 22
Hinh 012:Loại dữ liệu chứa trong 1 đơn vị NAL 24
Hinh 211:Cấu trúc gói NAL 25
Hinh 212: Tập tham số 26
Hinh 213: Sự liên kết giữa các tập tham số 27
Hinh 214: Cơ chế truyền tập tham sốảnh 28
Hinh 215: Cấu trúc đơn vị truy cập 31
Hinh 216: Bảng lượng tử 34
Hinh 217: Quan hệ giữa QP và tốc độ 35
Hinh 218: Quan hệ giữa độ phức tạp nguồn và độ méo 35
Hinh 219: Mô hình ratectrol trong h264 36
Hinh 220: Chế độ tốc độ biến đổi 46
Hinh 221: Chế độ tốc độ không đổi 46
Hinh 31: Tiêu đề gói RTP 48
Hinh 32: Quá trình đóng gói khung video thành các gói RTP có cùng nhãn thời gian 50
Hinh 33: Cấu trúc gói điều khiển RCTP 54
Hinh 34: Cấu trúc gói SR 55
Hinh 35: Cấu trúc gói SR 56
Hinh 36: Cấu trúc của 1 block gói SR 58
Hinh 37: Các loại gói RTP chứa đơn vị NAL 59
Hinh 38 : Chế độ đóng gói ứng với mỗi loại đơn vị NAL 60
Hinh 39 : Cấu trúc chung của gói tích lũy 60
Hinh 310 : Cấu trúc của STAP-A 61
Hinh 311 : Câu trúc gói STAP-B 62
Hinh 312 : Cấu trúc gói MTAP-16 63
Hinh 313 : Cấu trúc gói MTAP-24 64
Hinh 314 : Tiêu đề của đơn vị phân mảnh 64
Hinh 315: Cấu trúc gói FU-A 65
Hinh 316 : Cấu trúc gói FU-A 66
Hinh 41 : Kiến trúc hệ thống 67
Hinh 42: Sơ đồ khối của thiết kế 68
Hinh 43: Module transcode 70
Hinh 44: Module con trong module transcode để tính giá tị QP cho các khung hình sau 71
Hinh 45: Module transport 73
Hinh 46: Cơ chế tìm gói mất 74
Hinh 47: Bản tin feedback 75
Hinh 48: Module selection và re-stream 79
Hinh 49 :Điều kiện thời gian để chọn gói truyền lại 81
Hinh 410:Lựa chọn gói truyền lại 82
Hinh 411: Module routing 83
Hinh 412: Bảng dịnh tuyến khi chạy chương trình olsrd 84
Hinh 51: Tốc độ bit của luồng video đến client 90
Hinh 52: Giá trị QP thay đổi theo số gói truyền thành công 91
Hinh 53: Hình thu được tại phía thu 91
Hinh 54:Tốc độ tại client khi server thay đổi tốc độ dựa trên feedback của client 93
Hinh 55:Tốc độ tại phía thu khi QP thay đổi từ 8 đến 40 (dựa vào việc nhận và xử lí feedback) 94
Hinh 56: Danh sách gói mất được lấy từ gói tin feedback tại phía phát 95
Hinh 57: Danh sach gói nhận được tại phía thu 96
Hinh 58: Mô hình hệ thông chia sẻ video thời gian thực trên mạng hỗn hợp 98
Thuật ngữ viết tắt
Từ viết tắt
Thuật ngữ tiếng Anh
Thuật ngữ tiếng Việt
ABR
Average bit rate
Tốc độ bit trung bình
AD HOC
Mạng không dây phi thực thể
CBR
Constant bit rate
Tốc độ bit không đổi
CODEC
Coder/decoder
Mã hóa/giải mã
CSRC
contributing sources
Nguồn đóng góp
DON
Decoding order number
Số trật tự giải mã
FU
Fragmentation unit
Đơn vị phân đoạn
GOP
Group of picture
Nhóm ảnh
IDR
Instantaneous decoding refresh
Làm mới quá trình giải mã
MAD
Mean absolutes differences
Sự sai khác tuyệt đối trung bình
MB
Marcoblock
Khối macro
MPEG
Moving Picture Experts Group
Nhóm chuyên gia ảnh động
MTAP
Multi time aggregate packet
Gói tích lữy đa thời gian
NAL
Network abstraction layer
Lớp mạng trừu tượng
NALU
Network abstraction layer unit
Đơn vị của lớp mạng trừu tượng
OLSRD
Optimized Link State Routing Daemon
Tiến trình ngầm định tuyến theo trạng thái link được tối ưu
PLR
Packet loss rate
Tỉ lệ mất gói
PPS
Picture parameter set
Tập tham số ảnh
QP
Quantization parameter
Tham số lượng tử
RBSP
Raw byte stream payload
Tải luồng dữ liệu thô
RTCP
Real-time transport control protocol
Giao thức điều khiển truyền thời gian thực
RTP
Real-time transport protocol
Giao thức truyền thời gian thực
RTT
Round-trip time
Thời gian đi vòng
SPS
Sequence parameter set
Tập tham số chuối
SSRC
SYNCHRONIZATION SOURCE
Nguồn đồng bộ
STAP
Single time aggregate packet
Gói tích lữy đơn thời gian
VBR
Variable bit rate
Tốc độ bit biến đổi
VCL
Video coding layer
Lớp mã hóa video
VOD
Video on demand
Video theo yêu cầu
Giới thiệu chung
Mục đích thiết kế
Mạng không dây ad hoc được đặc trưng bởi sự thay đổi không dự đoán được của điề kiện kênh truyền như băng thông có thể thay đổi theo thời gian và không gian.Do đó việc truyền video thời gian thực trong mạng ad hoc có rất nhiều thách thức như về sự thay đổi của sơ đồ mạng (di chuyển của các nút) , lưu lương mạng, độ trễ của gói dữ liệu, mất gói dữ liệu đặc biệt là sự hạn chế về mặt tài nguyên của chính các thiết bị liên lạc sử dụng trong mạng ad hoc : năng lượng tiêu thụ ,khả năng xử lí.của các thiết bị, phạm vị hoạt động
Hinh 11: Mô hình mạng không dây ad hoc
Ngày nay có rât nhiều chuẩn nén video tiên tiến đạt tỉ số nén cao mà vẫn đảm bảo chất lượng video thu được sau khi nén như MPEG4,H264,.vvv...Tuy nhiên,trong số các chuẩn nén video, chuẩn H264 có đặc tính thân thiên với mạng, cho chất lượng ảnh tốt hơn các chuẩn mã hóa video khác khi truyền ở tốc độ bit thấp.Do vây bộ mã H264 được lựa chon là bộ mã hóa video chính cho đề tài “Truyền video đa chặng trong mạng ad hoc”.Do đặc tính đã nêu của mạng không dây ad hoc cho nên việc xây dựng cơ chế truyền thích nghi với chất lượng kênh truyền rất cần thiết rất cần thiết để có thể tăng hiệu quả sử dụng băng thông và tài nguyên của chính thiết bi không dây trong mạng ad hoc.
Phương pháp nghiên cứu
Hinh 12: Phương pháp nghiên cứu
Việc khảo sát các hệ thông streaming có sẵn để lựa chọn ra hệ thống phù hơp với yêu cầu của đề tài đồng thời rút gọn thời gian xây dựng hệ thống.Từ đấy sẽ sử dụng được các đặc điểm ưu việt của các hệ thống streaming cho mang có dây và từ nguồn video có sẵn cho hệ thồng video streaming thời gian thực trong mạng không dây ad hoc.
Chuẩn nén video H.264
Giới thiệu chung về bộ codec h264
Encoder
Hinh 21: Sơ đồ bộ mã hóa H264
Bộ mã hóa bao gồm hai luồng dữ liệu, luồng thuận từ trái sang phải, và luồng tái tạo từ phải sang trái trong hình
Một khung đầu vào hay một trường Fn được xử lý theo từng khối macro. Mỗi khối được mã hóa theo mô hình mã hóa trong hay ngoài, đối với mỗi khối macro, một ảnh tham chiếu để dự đoán PRED ( điểm P trên vẽ) được tái tạo từ các mẫu của bức ảnh. Trong chế độ mã hóa trong, PRED được tạo bởi các mẫu trong slice hiện tại trước đó đã được mã hóa, giải mã và tái tạo (xem uF_n, chú ý rằng các mẫu chưa được lọc sẽ được sử dụng để tạo lên PRED). Trong chế độ mã hóa ngoài,
PRED được tạo bởi dự đoán bù chuyển động từ một hoặc hai ảnh tham chiếu được lựa chọn từ tập danh sách các ảnh tham chiếu 0 hay 1. Trong hình minh họa ảnh tham chiếu là Fn-1 nhưng tham chiếu dự đoán cho một vùng của khối macro có thể
chọn là ảnh tham chiếu (đã được mã hóa, tái tạo và lọc trước đó) ở tương lai hay là quá khứ ( theo thứ tự hiển thị) PRED sẽ được loại bỏ đi từ khối hiện tại để tạo ra khối dư thừa còn lại Dn (sai khác). Dn sẽ được biến đổi và lượng tử hóa để tạo ra X một tập các hệ số biến đổi lượng tử hóa .Các hệ số này sẽ được xắp xếp lại thứ tự và sau đó mã hóa entropy.Các hệ số được mã hóa entropy kết hợp với các thông tinh cần thiết để giải mã mỗi khối trong khối macro (chế độ dự đoán, tham số lượng tử hóa, thông tin vector chuyển động) tạo thành luồng bit được nén sẽ được chuyển tới Lớp mạng trừu tượng- NAL để truyền đi hay lưu trữ.Đồng thời khi mã hóa và truyền đi, mỗi khối trong khối macro sẽ được bộ mã hóa tái tạo lại để làm tham chiếu cho việc dự đoán. Các hệ số X sẽ được tái tạo qua các khối biến đổi ngược Q-1, T-1 để tạo thành Dn. Khối dự đoán PRED được cộng vào với Dn để tạo ra khối uFn( bản giải mã của khối nguyên thủy). Tiền tố “u” để chỉ khối này chưa được lọc. Bộ lọc dùng để giảm méo và ảnh tham chiếu được tái tạo từ nhiều khối
Decoder
Hinh 22: Sơ bộ giải mã H264
Bộ mã hóa nhận được 1 luồng dữ liệu nén từ NAL vàgiải mã entropy nhưng thanh phần cơ bản của dữ liệu để tai ra tập các hệ số được lượng tử hóa X.Những hệ số này được "scale" và chuyển dổi ngược thành .Dn.Sử dụng thông tin tieu đè được giải mã từ lượng bit, bộ giải mã tạo ra khối dự đoán PRED, phân biệt với khối PRED được tạo ở bộ mã hóa
Cấu trúc của H264
Hinh 23: Mô hình các tầng trong H264
Định dạng video (video format)
H.264 hỗ trợ mã hóa và giải mã video 4:2:0 quét liên tục hoặc xen kẽ .Khung quét xen kẽ bao gồm 2 trường (trên và dưới) tách biệt theo thời gian với định dạng mặc định.
Định dạng dữ liệu được mã hóa
H.264 phâ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.
Hinh 24: Luồng dữ liệu cơ bản H264
Header slice đị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.
Slice
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.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.
Hinh 25: Cấu trúc slice
cấu trúc của slice header trong bộ mã hóa:
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.
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 dự đoán
Ảnh tham chiếu (reference picture)
Bộ mã hóa H.264 có thể sử dụng hai hoặc nhiều các ảnh được mã hóa trước đó để làm tham chiếu cho dự đoán bù chuyển động cho mã hóa ngoài các khối macro hoặc 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 hoặc 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 hoặc 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 dự đ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 dự đoán từ hai danh sách list 0 và list 1.
Loại Slice
Mô tả
Profile
I (Intra)
Chỉ bao gồm khối macro I (mỗi khối hoặc khối macro được dự đ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 hoặc vùng macro được dự đoán từ danh sách các ảnh trong list 0 hoặc là khối macro I
Tất cả
B (Dự đ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 dự đoán từ danh sách ảnh list 0 hoặc list 1) hoặc là khối macro I
Mở rộng hoặc chính
SP (Swiching P)
Tạo điều kiện thuận lợi
Mở rộng
Profile
Hinh 26: Profile trong h264
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 dự đ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