Nén – giải nén của H.264/AVC

Một phần của tài liệu (LUẬN văn THẠC sĩ) cách nén video trong hệ thống hội nghị truyền hình ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh quảng ninh​ (Trang 67 - 71)

Để cĩ thể truyền trong các mơi trƣờng khác nhau đƣợc hiệu quả, sự tích hợp các giao thức và cấu trúc mạng là rất quan trọng. H.264/AVC cĩ sự phân biệt giữa đặc tính mã hĩa và truyền tải của 2 lớp VCL và NAL nhƣ hình III.1. mang lại hiệu quả cao trong mơi trƣờng mạng khắc nghiệt.

Ngồi ra trong H.264/AVC cịn hỗ trợ ảnh IDR, ảnh này đƣợc tạo ra từ ảnh I hoặc ảnh SP nhằm xĩa nội dung vùng nhớ đệm ảnh tham khảo hay nĩi cách khác là làm tƣơi bộ nhớ. Khi nhận đƣợc ảnh IDR thì bộ giải mã sẽ đánh dấu tất cả các bức ảnh trong bộ đệm là “khơng sử dụng cho tham khảo”. Tất cả các chuỗi con cĩ các slice đƣợc truyền đi cĩ thể giải mã mà khơng cần bất kỳ một ảnh tham khảo nào trƣớc ảnh IDR. Cấu trúc của một dịng bit H.264/AVC minh họa nhƣ hình sau

.NAL header RBSP NAL header RBSP NAL header RBSP

Hình III.2. Cấu trúc dịng bit.

Network Abstraction Layer (H.320, MP4FF,H.323/IP,MPEG2…)

Video Coding Layer

Data Partitioning Control

Data

Lớp trừu tượng mạng NAL

Tất cả dữ liệu đƣợc chứa trong các khối NAL, mỗi khối chứa một số nguyên byte xác định định dạng chung cho cả hệ thống định hƣớng gĩi (packet - oriented) và hệ thống định hƣớng dịng bit (bitstream), ngoại trừ mỗi khối NAL trong lớp truyền tải định hƣớng dịng bit cĩ thể cĩ một tiền tố mã hĩa ở trƣớc, và cĩ thể là một trong 2 định dạng sau: định dạng theo từng đơn vị NAL hoặc theo từng byte.

 Định dạng theo từng đơn vị NAL là một kiểu định dạng cơ bản, bao gồm các chuỗi cấu trúc cú pháp NAL đƣợc sắp xếp để giải mã.

 Định dạng theo từng byte cĩ thể đƣợc xây dựng lại từ cấu trúc của NAL bằng cách xắp xếp các đơn vị NAL trong quá trình giải mã và thêm vào một tiền tố mã bắt đầu cho mỗi NAL.

Một chuỗi video H.264 bao gồm một chuỗi các đơn vị NAL, mỗi đơn vị NAL sẽ chứa các thành phần RBSP nhƣ bảng 1, RBSP là một tập hợp dữ liệu tƣơng ứng với dữ liệu video đƣợc mã hĩa hay thơng tin đầu mục, ví dụ một chuỗi các đơn vị RBSP nhƣ hình IV.37, trong đĩ các đơn vị đƣợc truyền đi dƣới dạng các đơn vị NAL riêng biệt. Byte đầu tiên của NAL hay cịn gọi là header cĩ chiều dài 1byte chỉ ra loại RBSP đƣợc sử dụng, cịn những byte cịn lại thì chứa dữ liệu cho việc truyền tải hoặc lƣu trữ.

Sequence parameter set SEI Picture parameter set I slice Picture delimiter P slice P slice

Hình III.3. Minh họa một chuỗi thành phần RBSP.

Bảng các thành phần RBSP đƣợc miêu tả nhƣ sau:

Loại RBSP Mơ tả

Thơng số cài đặt

Thơng số về kích thƣớc, định dạng video, vị trí ánh xạ MB, số lƣợng ảnh tham khảo, thơng số

lƣợng tử…

Thơng tin mở rộng Mảng báo tin. Yếu tố này khơng cần thiết cho việc giải mã đúng thứ tự chuỗi video

Lớp mã hĩa video VCL (Video Coding Layer)

Ngõ ra của quá trình mã hĩa là các dữ liệu VCL bao gồm một chuỗi các bits đặc trƣng cho dữ liệu video mã hĩa đƣợc ánh xạ vào NAL để truyền đi hoặc lƣu trữ. Nĩ là sự kết hợp dự đốn theo thời gian và khơng gian và với mã chuyển vị. Thuật tốn mã hĩa nguồn cơ bản vẫn dựa trên kỹ thuật nén liên ảnh để khai thác, thống kê sự phụ thuộc dƣ thừa về thời gian và dự đốn mã hĩa biến đổi để khai thác sự dƣ thừa về mặt khơng gian nhằm mục đích cuối cùng là nâng cao hiệu suất nén. Hơn nữa, lớp VCL bao gồm nhiều đặc tính nhƣ 17 kiểu dự đốn Intra, thuật tốn biến đổi, lọc tách khối, mã hĩa Entropy hay mã hĩa thích nghi khung và mành…cung cấp một mơi trƣờng mạng thân thiện và tăng cƣờng khả năng chống lỗi phù hợp cho các dịch vụ thời gian thực nhƣ truyền luồng, quảng bá và ứng dụng hội nghị…

Kỹ thuật FMO và Data Partitioned Slices

Kỹ thuật FMO mơ tả cách phân chia bức ảnh thành các slice và MB bằng cách sử dụng khái niệm nhĩm slice. Nhằm che giấu các kênh cĩ khuynh hƣớng bị lỗi với các ứng dụng cĩ độ trễ thấp. Dữ liệu mã hĩa từ các Slice đƣợc chi thành 3 loại phân vùng nhƣ A, B, C chứa tập hợp con của slice đƣợc mã hĩa. Phân vùng A chứa slice header và dữ liệu header cho mỗi MB. Phân vùng B chứa phần dữ liệu sai khác đƣợc mã hĩa cho slice Intra và SI và phân

Bộ phân đoạn ảnh

Đƣờng biên giữa các ảnh, nếu khơng cĩ thì bộ giải mã sẽ dựa vào số thứ tự frame trong mỗi

tiền tố slice để phân đoạn

Slice mã hĩa Chứa tiền tố và dữ liệu mã hĩa

Phân vùng dữ liệu A, B, C

Ba dạng phân vùng nhằm tăng cƣờng khả năng chống lỗi.

Kết thúc chuỗi Chỉ định bức ảnh kế tiếp trong thứ tự giải mã là ảnh IDR. (Khơng cần thiết)

Kết thúc luồng dữ liệu Khơng cịn ảnh tiếp theo nào cả. Dữ liệu lấp đầy Chứa dữ liệu “giả” nhằm tăng số lƣợng byte

vùng C chứa phần dữ liệu sai khác đƣợc mã hĩa cho MB mã hĩa Inter. Mỗi phân vùng cĩ thể đƣợc đặt riêng biệt và truyền tách biệt trong từng NAL. Nếu dữ liệu phân vùng A bị mất, thì rất khĩ khăn cho việc cấu trúc lại Slice, vì thế phân vùng A sẽ ảnh hƣởng sâu sắc đến sai số truyền. Phân vùng B và C đƣợc chọn lựa thơng số mã hĩa kỹ càng, cĩ thể giải mã độc lập, do đĩ cĩ thể chỉ mã hĩa A và C hoặc chỉ A và B.

Kỹ thuật Arbitrary Slice Ordering

Kỹ thuật sắp xếp trật thứ tự slice bất kỳ ASO cho phép bộ giải mã cĩ thể xử lý slice theo thứ tự bất kỳ mà nĩ nhận đƣợc. Do đĩ bộ giải mã khơng cần phải chờ đợi slice đúng theo thứ tự để cĩ thể bắt đầu xử lý chúng. Điều này làm giảm độ trễ xử lý ở bộ giải mã, kết quả là độ trễ tiềm ẩn trong các ứng dụng truyền video thời gian thực sẽ nhỏ đi.

Cấu trúc dịng bit H.264/AVC

Cấu trúc dịng bit H.264/AVC đƣợc minh họa nhƣ hình III.4. Trong đĩ:

 Seq : thơng tin về chuỗi ảnh (Squence)

- Video Params : thơng số chiều cao, rộng, tỷ lệ khuơn hình các phần tử ảnh.

- Bistream Params : tốc độ bit và các thơng số khác.

- QTs : cĩ 2 loại QTs

 Nén trong ảnh

 Nén liên ảnh

 GOP : thơng tin về nhĩm ảnh

- Time code : SMPTE time code : Giờ, phút, giây, ảnh.

- GOP Params: Miêu tả cấu trúc và các thơng số của GOP.

 PICT : thơng tin về ảnh (Picture information.)

- Type :ảnh loại I, P hay B.

 Buffer Params : thơng tin về bộ đệm.

 Encode Params : thơng tin về vector chuyển động.

- Vert Pos : Slice bắt đầu từ dịng nào.

- Qscale : thơng tin về bảng lƣợng tử.

 MB : thơng tin về MB.

- Addr Incr : Số lƣợng MB đƣợc bỏ qua.

- Type : loại vector chuyển động dùng cho MB.

- Code Block Pattern (CBP) : chỉ rõ loại khối đƣợc mã hố.

Một phần của tài liệu (LUẬN văn THẠC sĩ) cách nén video trong hệ thống hội nghị truyền hình ứng dụng trong việc họp giao ban trực tuyến, tập huấn, đào tạo cán bộ trong ngành giáo dục tỉnh quảng ninh​ (Trang 67 - 71)

Tải bản đầy đủ (PDF)

(89 trang)