INTRA LUMA 4x4

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 58)

Mỗi MB đƣợc chia thành 16 khối con 4x4, mỗi khối 4x4 đƣợc dự đốn khơng gian từ các khối bên cạnh. Để cĩ thể dự đốn giá trị mẫu của khối 4x4 luma cần sử dụng 13 mẫu kế cận bao gồm 4 mẫu của khối kế cận bên trái, 4 mẫu của khối kế cận bên trên, 4 mẫu của khối kế cận đỉnh phải, và 1 mẫu của khối kế cận đỉnh trái. Mỗi khối 4x4 của thành phần luma cĩ thể dùng 1 trong 9 kiểu dự đốn. Ngồi kiểu dự đốn DC, cịn hỗ trợ 8 kiểu dự đốn định hƣớng sau:

1. Kiểu dự đốn DC

Mẫu đƣợc nội suy từ giá trị trung bình của các mẫu bên cạnh LT | T0 T1 T2 T3 --- L0 | a a a a L1 | a a a a L2 | a a a a L3 | a a a a Trong đĩ:

Nếu bộ dự đốn ở đỉnh trên và phía bên trái thõa mãn thì: a = (T0 + T1 + T2 + T3 + L0 + L1 + L2 + L3) / 8 Nếu chỉ cĩ bộ dự đốn ở đỉnh trên thõa mãn thì: a = (T0 + T1 + T2 + T3 + 2) / 4

Nếu chỉ cĩ bộ dự đốn ở bên trái thõa mãn thì: a = (L0 + L1 + L2 + L3 + 2) / 4

hoặc a = 128

2. Kiểu dự đốn dọc (Vertical)

Các mẫu ở bên dƣới sao chép lại các mẫu bên trên theo chiều dọc. LT | T0 T1 T2 T3

--- L0 | T0 T1 T2 T3 L1 | T0 T1 T2 T3

L2 | T0 T1 T2 T3 L3 | T0 T1 T2 T3

3. Kiểu dự đốn ngang (Horizontal )

Các mẫu ở bên phải sao chép lại các mẫu bên phải theo chiều ngang. LT | T0 T1 T2 T3 --- L0 | L0 L0 L0 L0 L1 | L1 L1 L1 L1 L2 | L2 L2 L2 L2 L3 | L3 L3 L3 L3

4. Kiểu dự đốn chéo xuống/trái (Diagonal Down/Left )

Các mẫu đƣợc nội suy theo gĩc 450

giữa giá trị bên trái ở trên và bên phải ở dƣới theo đƣờng chéo.

LT | T0 T1 T2 T3 T4 T5 T6 T7 --- L0 | a b c d L1 | b c d e L2 | c d e f L3 | d e f g Trong đĩ: a = (T0 + 2*T1 + T2 + 2) / 4 b = (T1 + 2*T2 + T3 + 2) / 4 c = (T2 + 2*T3 + T4 + 2) / 4 d = (T3 + 2*T4 + T5 + 2) / 4 e = (T4 + 2*T5 + T6 + 2) / 4 f = (T5 + 2*T6 + T7 + 2) / 4 g = (T6 + 3*T7 + 2) / 4

5. Kiểu dự đốn chéo xuống/phải (Diagonal Down/Right)

Các mẫu đƣợc ngoại suy theo gĩc 450

từ trên xuống, từ trái qua phải. LT | T0 T1 T2 T3

--- L0 | d e f g L1 | c d e f L2 | b c d e L3 | a b c d Trong đĩ: a = (L3 + 2*L2 + L1 + 2) / 4 b = (L2 + 2*L1 + L0 + 2) / 4 c = (L1 + 2*L0 + LT + 2) / 4 d = (L0 + 2*LT + T0 + 2) / 4 e = (LT + 2*T0 + T1 + 2) / 4 f = (T0 + 2*T1 + T2 + 2) / 4 g = (T1 + 2*T2 + T3 + 2) / 4

6. Kiểu dự đốn dọc/phải (Vertical/Right)

Các mẫu đƣợc ngoại suy theo gĩc xấp xỉ 26.60

từ phải sang trái theo chiều dọc LT | T0 T1 T2 T3 --- L0 | a b c d L1 | e f g h L2 | i a b c L3 | j e f g Trong đĩ: a = (LT + T0 + 1) / 2 b = (T0 + T1 + 1) / 2 c = (T1 + T2 + 1) / 2 d = (T2 + T3 + 1) / 2 e = (L0 + 2*LT + T0 + 2) / 4 f = (LT + 2*T0 + T1 + 2) / 4 g = (T0 + 2*T1 + T2 + 2) / 4

h = (T1 + 2*T2 + T3 + 2) / 4 i = (LT + 2*L0 + L1 + 2) / 4 j = (L0 + 2*L1 + L2 + 2) / 4

7. Kiểu dự đốn dọc/ trái (Vertical/Left)

Các mẫu đƣợc ngoại suy theo gĩc xấp xỉ 26.60

từ trái sang phải theo chiều dọc LT | T0 T1 T2 T3 T4 T5 T6 T7 --- L0 | a b c d L1 | f g h i L2 | b c d e L3 | g h i j Trong đĩ: a = (T0 + T1 + 1) / 2 b = (T1 + T2 + 1) / 2 c = (T2 + T3 + 1) / 2 d = (T3 + T4 + 1) / 2 e = (T4 + T5 + 1) / 2 f = (T0 + 2*T1 + T2 + 2) / 4 g = (T1 + 2*T2 + T3 + 2) / 4 h = (T2 + 2*T3 + T4 + 2) / 4 i = (T3 + 2*T4 + T5 + 2) / 4 j = (T4 + 2*T5 + T6 + 2) / 4

8. Kiểu dự đốn ngang/xuống (Horizontal/Down)

Các mẫu đƣợc ngoại suy theo gĩc xấp xỉ 26.60

từ trên xuống theo chiều ngang

LT | T0 T1 T2 T3 --- L0 | a b c d L1 | e f a b

L2 | g h e f L3 | i j g h Trong đĩ: a = (LT + L0 + 1) / 2 b = (L0 + 2*LT + T0 + 2) / 4 c = (LT + 2*T0 + T1 + 2) / 4 d = (T0 + 2*T1 + T2 + 2) / 4 e = (L0 + L1 + 1) / 2 f = (LT + 2*L0 + L1 + 2) / 4 g = (L1 + L2 + 1) / 2 h = (L0 + 2*L1 + L2 + 2) / 4 g = (L2 + L3 + 1) / 2 j = (L1 + 2*L2 + L3 + 2) / 4

9. Kiểu dự đốn ngang/lên (Horizontal/Up)

Các mẫu đƣợc nội suy theo gĩc xấp xỉ 26.60

từ dƣới lên theo chiều ngang LT | T0 T1 T2 T3 --- L0 | a b c d L1 | c d e f L2 | e f g g L3 | g g g g Trong đĩ: a = (L0 + L1 + 1) / 2 b = (L0 + 2*L1 + L2 + 2) / 4 c = (L1 + L2 + 1) / 2 d = (L1 + 2*L2 + L3 + 2) / 4 e = (L2 + L3 + 1) / 2 f = (L2 + 2*L3 + L3 + 2) / 4 g = L3 2.3.4 INTRA LUMA 16 x 16

Chỉ 1 kiểu dự đốn đƣợc áp dụng cho tồn bộ MB thích hợp cho những miền ảnh trơn tru, phẳng đều. Bốn kiểu dự đốn đƣợc hỗ trợ là: chiều ngang, chiều thẳng đứng, dự đốn DC và dự đốn mặt phẳng. Trong kiểu dự đốn mặt phẳng sử dụng phƣơng trình đƣờng cong 3 thơng số để dự đốn độ luma, độ dốc theo chiều ngang, chiều thẳng đứng cho phù hợp với các điểm ảnh bên cạnh, và kiểu dự đốn này cĩ hiệu quả rất cao trong vùng cĩ thành phần luma ít thay đổi. Để cĩ thể dự đốn giá trị mẫu của khối luma 16x16 cần sử dụng 33 mẫu kế cận bao gồm 16 mẫu của khối kế cận bên trái, 16 mẫu của khối kế cận bên trên và 1 mẫu của khối kế cận đỉnh trái.

1. Kiểu dự đốn DC

Sử dụng 16 bộ dự đốn (T0..T15) và 16 bộ dự đốn bên trái (L0..L15), cài tất cả 256 giá trị về giá tri trung bình, theo cơng thức sau:

Nếu bộ dự đốn bên trái và đỉnh trên thõa mãn thì: mean = (sum(T0..T15) + sum(L0..L15) + 16) / 32 Nếu bộ dự đốn đỉnh trên thõa mãn thì:

mean = (sum(T0..T15) + 8) / 16

Nếu bộ dự đốn bên trái thõa mãn thì: mean = (sum(L0..L15) + 8) / 16

Hoặc

mean = 128

2. Kiểu dự đốn nằm dọc (Vertical)

Ngoại suy từ các mẫu bên theo chiều dọc LT | T0 T1 T2 T3 T4 .. T15 --- .. --- L0 | T0 T1 T2 T3 T4 .. T15 L1 | T0 T1 T2 T3 T4 .. T15 L2 | T0 T1 T2 T3 T4 .. T15 ... L15 | T0 T1 T2 T3 T4 .. T15

3. Kiểu dự đốn nằm ngang (Horizontal)

Ngoại suy từ các mẫu trái theo chiều ngang LT | T0 T1 T2 T3 T4 .. T15 --- .. --- L0 | L0 L0 L0 L0 L0 .. L0 L1 | L1 L1 L1 L1 L1 .. L1 L2 | L2 L2 L2 L2 L2 .. L2 ... L15 | L15 L15 L15 L15 L15 .. L15 4. Kiểu dự đốn mặt phẳng Plane

Cho 16 bộ dự đốn đỉnh trên (T0..T15), 16 bộ dự đốn bên trái (L0..L15) và 1 bộ dự đốn ở gĩc đỉnh trái (LT) sắp xếp nhƣ sau: LT | T0 T1 T2 .. T15 --- .. --- L0 | c[ 0, 0] c[ 1, 0] c[ 2, 0] .. c[15, 0] L1 | c[ 0, 1] c[ 1, 1] c[ 2, 1] .. c[15, 1] ... L15 | c[ 0,15] c[ 1,15] c[ 2,15] .. c[15,15] 2.3.5 INTRA CHROMA 8x8

Dự đốn cho thành phần chroma đƣợc thực hiện một lần cho tồn bộ MB, 64 giá trị mẫu chroma sử dụng các kiểu dự đốn giống nhƣ dự đốn Intra 16x16 cho thành phần Luna: Dự đốn theo chiều ngang, dự đốn theo chiều đứng, dự đốn DC, dự đốn mặt phẳng.

2.3.6 INTRA-PCM

Là một MB 16x16, chứa một mặt phẳng các thành phần luma và chroma chƣa nén. Làm cho bộ mã hĩa xử lý đơn giản hơn bằng cách xử lý mã hĩa và biến đổi thay vì phải gửi trực tiếp mẫu các giá trị mã hĩa. Và kiểu dự đốn I-PCM cịn cĩ một số lợi ích sau:

 Cung cấp giá trị đúng cho những bức ảnh cĩ nội dung bất thƣờng mà khơng cần mở rộng dữ liệu quan trọng.

 Cho phép đặt giới hạn số lƣợng bit điều khiển MB mà khơng ảnh hƣởng đến hiệu suất nén.

2.3.7 Dự đốn trọng số

Là một phƣơng pháp điều chỉnh mẫu cho bù chuyển động dữ liệu trong MB P hoặc MB B rất thích hợp cho mã hĩa mặt ngƣời hoặc mã hĩa chuyển động. Cĩ 3 loại dự đốn trọng số nhƣ sau:

1. P slice macroblock, dự đốn trọng số “hiện thị” (explicit) 2. B slice macroblock, dự đốn trọng số “hiện thị” (explicit). 3. B slice macroblock, dự đốn trọng số “ẩn” (implicit).

Mỗi mẫu dự đốn pred0(i, j) hoặc pred1(i, j) đƣợc co dãn bởi trọng số thống kê W0 hoặc W1 trong dự đốn bù chuyển động trƣớc đĩ. Ở loại “hiện” thì trọng số thống kê đƣợc xác định bởi bộ mã hĩa và truyền đi ở Slice header. Nếu sử dụng loại “ẩn” thì trọng số thống kê W0, W1 đƣợc tính tốn dựa vào mối quan hệ vị trí thời gian của list 0 và list1 trong ảnh tham khảo. Giá trị trọng số thống kê lớn nếu ảnh tham khảo gần giống với ảnh hiện tại và giá trị trọng số thống kê nhỏ nếu ảnh tham khảo khác với ảnh hiện tại.

Một số ứng dụng cho phép cả 2 hàm ẩn và hiện điều khiển sự liên quan của ảnh tham khảo đối với quá trình bù chuyển động, dự đốn trọng số cĩ hiệu quả đặc biệt trong mã hĩa các hiệu ứng mờ dần nhƣ minh họa ở hình II.17.

KẾT LUẬN

Việc nén video (ảnh) trong Hội nghị truyền hình cĩ vai trị rất quan trọng và cĩ rất nhiều chuẩn, kỹ thuật nén video cĩ thể áp dụng và triển khai. Thuật tốn Bù trừ chuyển động là một bước trong nén video hiện đại (H.264), bao gồm đánh giá chuyển động (Motion Estimation - ME), bù trừ chuyển động (Motion Compensation - MC), mã hĩa biến đổi (transform coding) và mã hĩa entropy. Các chuẩn mã hĩa video ngày nay ít nhiều đều thực hiện các quá trình này, bắt đầu từ MPEG-2, đến MPEG-4/Visual, H.263, H.264/MPEG-4 AVC,...

Việc sử dụng chuẩn nén MPEG – 4 H.264/AVC và hội nghị truyền hình là đúng đắn và kịp thời, việc này sẽ được chứng minh thơng qua việc xây dựng chương trình mơ phỏng trong chương 3.

CHƢƠNG III. CHƢƠNG TRÌNH THỬ NGHIỆM

3.1 Phân tích yêu cầu

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

Để 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

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 58)

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

(89 trang)