truyền trễ không đồng nhất. Hầu hết các giao thức định tuyến ngày nay chọn con đường tốt nhất để truyền dữ liệu, và một đường chuyển vùng sẽ diễn ra khi trên mạng có lỗi hay tắc nghẽn xảy ra. Thật không may,trễ cho các cập nhật định tuyến trong đường chuyển giao có thể gây ra tác động nghiêm trọng đến các ứng dụng thời gian thực chẳng hạn như video streaming. Vì vậy, kỹ thuật mã hóa nguồn với khả năng phục hồi lỗi nhúng đã trở thành một phương pháp phổ biến để giải quyết các lỗi gây ra bởi các kết nối mạng.
Kỹ thuật MDC là một thực nghiệm để giải quyết các hạn chế gây ra bởi truyền đơn đường. Cho một chuỗi các khung hình video { ,, ... }, tại miêu tả khung thứ k của video. Dùng định dạng video CIF cho ví dụ: = {y,u,v} , ∀y∈ và ∀u,v∈ . MDC gồm 1 bộ mã hóa và một bộ giải mã . Bộ mã hóa ánh xạ một khung nhất định vào m mã: : →{ ,..., } (1)
Bộ giải mã của MDC ánh xạ một tập hợp con {,...,}⊂
{1,...m} mã trong một thiết lập khung, :
: { ,..., } (2)
Với đặc điểm: d() d() (3)
Độ méo số liệu d() biểu diễn sự tương đồng giữa hai khung video và , cho ví dụ, nghĩ là lỗi bình phương (MSE) or tín hiệu đỉnh trên nhiễu (PSNR), và thấp hơn giá trị d() biểu diễn một sự tương đồng cao giữa .
Trong bài này, một hiệu quả có độ chính xác cao video dựa vào mã hóa- giải mã MDC là xây dựng dựa trên sự vững chắc liên kết điểm tương đồng giữa các điểm ảnh lân cận trong một khung video. Trong giai đoạn mã hóa, thực hiện lấy mẫu con không gian cho mỗi khung riêng trong trình tự video.
Đoạn lấy mẫu dưới video được mã hóa bằng cách sử dụng bộ giải mã video thông thường. Trong thí nghiệm của chúng tôi, nâng cao tiêu chuẩn mã hóa video sử dụng H.264 đã được chọn. Các trình tự giải mã bởi H.264 được sử dụng để tái tạo lại các video. Các lỗi luồng MDC được dự đoán từ các dòng MDC nhận được sử dụng cubic- spline nội suy. Nếu nhận được nhiều hơn một luồng MDC, giá trị trung bình của khung dự đoán sẽ được sử dụng. Hình 1 cho thấy sơ đồ khối của dự kiến DMDC đề xuất .
MDC cung cấp khả năng phục hồi lỗi cao hơn cho chương trình mã hóa chưa xử lý, với sự cân bằng trong hiệu quả mã hóa. Hiệu quả mã hóa ζ được xác định trong Eqn (4).
ζ= r ∕ (4)
khi r biểu thị tốc độ bit cho các bộ mã hóa-giải mã video, biểu thị tốc độ cho các luồng trong MDC. Hiệu quả của đề xuất kỹ thuật MDC cho dãy các tiêu chuẩn Akiyo, Foreman và News được tóm tắt trong Bảng 1.
Bảng 3.1.So sánh các thông số cho dãy các tiêu chuẩn Akiyo, Foreman và News
- Truyền đa đường và tác động của nó đến việc cải thiện chất lượng video.
Hai chế độ Markovian Gilbert-Elliot Model đã dùng như mô hình kênh [8]. Đây là mô hình cho thấy sự hiệu quả của việc nắm bắt các gói tin bị lỗi. Hai trạng thái của mô hình này được biểu thị là S0 (tốt) và S1 (xấu). S0 (tốt) miêu tả tình trạng nơi các gói tin nhận được một cách chính xác và thỏa mãn điều kiện thời gian thực. S1 (xấu) miêu tả tình trạng nơi các gói tin bị lỗi cho khôi phục lại video. Các tình trạng quá trình chuyển đổi xác suất -sang-và -sang- được biểu thị là và , tương ứng. Khả năng vẫn trong tình trạng
tương tự được biểu thị như và mà = 1- và = 1-. R và 0<<1, x{00,01,10,11}. Phân tích điều kiện ổn định trong trạng thái S0 và S1 thỏa mãn các tiêu chí trong phương trình (5) = (5)
và là các xác suất trạng thái ổn định có được trong và , tương ứng. Giải quyết biểu thức (5), xác suất của các gói tin được truyền đi thành công và không thành công có thể được biểu diễn trong phương trình (6) và phương trình (7).
= (6) = (7)
Hình 3.5: tốc độ bít với độ dài khác nhau của GOP
Hồ sơ của cơ sở H.264 được sử dụng trong phân tích, và khung (I) và dự đoán khung (P) được sử dụng trong các luồng bít . khung I được mã hóa như khung hình riêng biệt, độc lập với khung liền kề. Khung P được mã hóa đối với một khung I trước đó hoặc khung P với dự đoán vector chuyển động và đền bù. Một nhóm các khung hình bắt đầu với một khung I và kết thúc ở khung trước khung I tiếp theo được gọi là một Group of Pictures (GOP), ký hiệu là T. Mất một khung I haykhung P sẽ làm hỏng các khung còn lại trong cùng một GOP trong chuỗi video được cấu trúc lại, và điều này được gọi là lỗi trôi. Hình 3.4 cho thấy tốc độ bit cho mỗi dòng MDC với độ dài khác nhau của GOP.
Xét các lỗi trôi, mỗi gói tin mất sẽ truyền cho đến khi kết thúc của GOP. Lấy trường hợp đặc biệt làm ví dụ, nếu khung I giảm, còn lại khung P không thể được tái tạo video đầu ra mà không có một hệ quy chiếu để dự đoán chuyển động, và tất cả GOP sẽ bị mất. Nói chung, xác suất nhận các khung n theo sau là một khung bị mất được thể hiện trong phương trình (8).
.. (8)
Tốc độ khung giảm cho n khung nhận được theo sau bởi một khung cho bởi: (9)
Dễ dàng thấy rằng tỉ lệ trung bình khung giảm được cho bởi phương trình (10), nơi mục tiêu đầu thể hiện mất khung I và thứ 2 cho thấy rằng một số khung I và P được nhận trước một khung P bị mất. + = + =+ (10) Cho H= (11) Và H có thể mở rộng như: H= = = (12) Thay h vào phương trình 11: +=++(13)
Tiếp theo, chúng ta hãy xem xét các trường hợp video được chia thành M luồng sử dụng MDC, và truyền qua M đường dẫn độc lập. Giả sử tất cả các đường có lỗi đường giống hệt nhau, và vì thế chia sẻ các thông số chuyển đổi trạng thái tương tự cho các Model Gilbert.
Cho MDC với M luồng độc lập, đầu ra video có thể cấu trúc lại từ bất kỳ luồng nào. Khung video không thể cấu trúc lại chỉ nếu tất cả luồng bị lỗi. Chứng tỏ chu kì GOP của MDC là T. Sau đó xác suất lỗi một luồng một khung tại or trước là:
+=+ (14)
Như vậy, xác suất của tất cả M luồng lỗi at không phải trước là: - (15)
Hình 3.7. (a) tăng tỷ lệ khung tổn thất với T, do lỗi trôi cao liên kết với một giá trị lớn T, (b) so sánh số lượng khác nhau của luồng MDC, (c) so sánh khác nhau xác suất chuyển
đổi và và tác động của chúng đến tỷ lệ mất khung Trung bình tốc độ khung ngoài của MDC được cho bởi phương trình (16) +
= (16)
Thí nghiệm này đã chia chuỗi video CIF thành bốn chuỗi mẫu con QCIF. Mỗi chuỗi QCIF được mã hóa bằng cách sử dụng H.264. Các trình tự giải mã được kết hợp bằng cách sử dụng cubic-spline nội suy. Ví dụ về cấu trúc lại các khung hình video MDC được thể hiện trong hình 3 (tức trình tự, frame 1).Tỷ lệ lỗi khung hình của các luồng truyền video đơn hướng và truyền MDC sử dụng mô hình Gilbert được thể hiện trong phương trình (14) và phương trình (17),tương ứng. Cả hai phương trình cho thấy tỷ lệ mất khung là một chức năng của chiều dài của GOP (T) và các xác suất chuyển đổi ( và ). Như thể hiện trong hình 3.7 (a), tăng tỷ lệ tổn thất khung với T, do lỗi trôi cao liên kết với một giá trị lớn T. Chúng tôi nhận thấy rằng cho tất cả các giá trị T, MDC nhanh hơn so với truyền luồng đơn interms. Hình 3.7 (b) so sánh số lượng khác nhau của luồng MDC. Chúng tôi quan sát thấy nhiều MDC luồng được sử dụng- một giá trị cao hơn cho m trong phương trình (1), thấp hơn tỷ lệ mất khung. Hình 3.7 (c) so sánh khác nhau xác suất chuyển đổi và và tác động của chúng đến tỷ lệ mất khung. Chúng tôi nhận thấy rằng việc giảm tăng (xác suất cao hơn đang ở trạng thái tốt) và làm giảm (xác suất thấp hơn của ở trong tình trạng xấu) mang lại tỷ lệ tổn thất khung hình thấp hơn.
=> Mã hóa đa mô tả MDC giúp nâng cao tỷ lệ mất khung, năng suất chất lượng video cảm nhận tốt hơn.
3 Media địa phương dựa trên đệm
Sau khi media (video/audio) được chia thành các đoạn, các đoạn này phân thành hai loại: mở đầu và không mở đầu, như Hình 3.8 .Giả sử người dùng xem media từ đầu đến cuối và m phân đoạn đầu tiên được xem là phân đoạn đầu. Bộ đệm được chia thành hai lớp, bộ đệm lớp đầu tiên được sử dụng để lưu trữ mở đoạn mở đầu và bộ đệm lớp hai được sử dụng để lưu trữ các đoạn không mở đầu.Khi bộ đệm đầy, lớp đầu tiên thực hiện
cơ chế URL (ít sử dụng gần đây nhất) phát hành đoạn video không phổ biến. Lớp thứ hai được chia thành hai phần. Phần đầu tiên áp dụng cho một media bao gồm hai quy tắc: thực hiện các cơ chế vào trước ra trước (FIFO),và không gian sử dụng không được vượt quá một nửa không gian đệm. Phần thứ hai thực hiện cơ chế URL áp dụng cho toàn bộ hệ thống media.Mục đích của cơ chế là để tối đa hóa số lượng đoạn media được tìm thấy tại địa phương và giảm trễ bằng cách sử dụng một bộ đệm có kích thước hợp lý với một cơ chế đệm nhanh.
Hình 3.8 Media được chia thành các đoạn mở đầu và không mở đầu
4 Cơ chế streaming
Cơ chế streaming phù hợp cho hệ thống P2P video streaming kết hợp với mã hóa MDC. Media được chia hai chiều đó là tiền xử lý các đoạn media, sau đó kết hợp với mã hóa MDC để truyền tải và phân phối đoạn media.
Trước khi minh họa cơ chế streaming, hai yếu tố sau phải được đảm bảo:
- Media phổ biến, và các peer tham gia vào hệ thống theo trình tự mà không bị gián đoạn.
- Người dùng xem hết media từ đầu đến cuối sau đó mới rời mạng.
Quá trình tiền xử lý media trong phân chia hai chiều
Media được tiền xử lý bởi máy chủ, được chỉ ra trong Hình 3.9 .Quá trình chiều đầu tiên là chia media thành L phân đoạn, L ≥ 1. Ví dụ: Một media được chia thành các khoảng thời gian 10 phút, 1 phút hoặc 30 giây. j là viết tắt của số thứ tự phân đoạn, 1≤ j≤L. Quá trình chiều thứ hai mã hóa MDC mỗi đoạn thành N mô tả. i là số thứ tự mô tả, 1 ≤i≤ N. Trước khi bắt đầu truyền tải media, media được chia thành các mô tả đoạn, mô tả đoạn được phân phối với tốc độ không đổi (CBR) trên hệ thống.
Hình 3.9: Phân chia video hai chiều
Thiết kế và cơ chế
• Phân nhóm
Trước khi các peer tham gia hệ thống, máy chủ thực hiện quá trình tiền xử lý media và tạo ra danh sách N nhóm ( , ,…, , ), với N là số mô tả đoạn sau mã hóa MDC. Có ba thông tin trong danh sách: số dữ liệu, IP, thời điểm tham gia. Số mô tả mở đầu của một peer nằm trong cùng một nhóm.
Khi các peer tham gia trong hệ thống sẽ được phân loại thành N nhóm. Mục đích chính của chia nhóm là để phân phối mô tả đoạn trên hệ thống, các peer có thể dễ dàng có được các dịch vụ yêu cầu. Số mô tả mở đầu tính bằng công thức sau:
= byte cuối cùng của địa chỉ IP % N (1)
Peer tham gia vào với được xác định như công thức (1). Các peer được phân loại nhóm để giảm thời gian tìm kiếm các mô tả đoạn. Phân phối mở đầu mô tả đoạn phức tạp hơn hơn so với các mô tả đoạn trong cơ chế đệm.
• Xác định chất lượng media
Peer cần chọn chất lượng yêu cầu của media và nhận được dịch vụ sau khi phân nhóm.
Nếu peer tự chọn chất lượng của media, có thể gây ra vấn đề hoạt động với băng thông và kích thước bộ đệm hạn chế. Ví dụ, băng thông thấp có thể làm cho điểm phát vượt quá phân đoạn đang tải về trước khi peer nhận được số lượng mong muốn của các mô tả phân đoạn, có nghĩa là tốc độ phát nhanh hơn so với tốc độ tải về. Kích thước bộ đệm nhỏ làm cho bộ đệm nhanh bị đầy, lúc này mô tả phân đoạn của bộ đệm không được
phân phối trong cơ chế luồng, và peer không nhận được mô tả đoạn tiếp theo từ các peer khác.
Chất lượng media (n) phải thỏa mãn 2 công thức sau để tránh trường hợp trên: - Khi media đang phát một đoạn media nào đó, peer đồng thời xem được n mô
tả đoạn của phân đoạn đó, r (bit/s) là tốc độ phát của một mô tả đoạn, vậy tốc độ phát của phân đoạn đang được xem là: n x r (bit/s). Băng thông tải về của các peer (DB) phải cao hơn so với tốc độ phát để media phát một cách liên tục, n được tính bởi công thức:
DB > n x r , N≥ n≥ 1 (2)
- Trong cơ chế này, khi bộ đệm đầy, đoạn đang phát và các đoạn trước đó không phân phối nữa. Hơn nữa, ta cần ít nhất một không gian mô tả đoạn trong phân đoạn tiếp theo. Kích thước bộ đệm của các peer phải lớn hơn không gian dành mô tả phân đoạn, sau đó peer mới nhận được phân đoạn tiếp theo. BS là kích thước bộ đệm của peer, xác định bằng tổng số mô tả phân đoạn, chất lượng media n phải thỏa mãn:
BS > 2n + 2 , N≥ n≥ 1 (3)
Khi peer tham gia vào hệ thống, chất lượng media n của các peer được xác định bởi công thức (2), (3) để có thể có được chất lượng phù hợp của media.Lúc này, không có trễ phát và peer có thể nhận được dịch vụ bình thường.
• Cơ chế nhớ đệm
Peer lấy danh sách của mỗi nhóm từ máy chủ sau khi quá trình trên. Danh sách này chứa các peer đã tham gia vào hệ thống trước đó một khoảng thời gian T. Sau đó peer này thực hiện cơ chế bộ nhớ đệm để nhận mô tả phân đoạn. Cơ chế bộ nhớ đệm áp dụng cho một phân đoạn. Số phân đoạn trong bộ nhớ đệm theo thứ tự và tăng dần để media hiển thị liên tục. Khi peer tham gia vào hệ thống hoặc bộ nhớ đệm lưu trữ mô tả đoạn ban đầu của phân đoạn này, peer lấy mở đầu mô tả phân đoạn () của nhóm từ peer nằm trong nhóm khác cho đến khi đủ chất lượng của phân đoạn này (n), sau đó tiếp tục nhớ đệm phân đoạn tiếp theo. của nhóm được lựa chọn dựa trên danh sách của mỗi nhóm.
Hình 3.10 minh họa cho cơ chế mô tả ở trên. Peer A tham gia có N=5,= 2, n = 3. Peer A thuộc nhóm , Peer A lấy 5 danh sách các nhóm từ máy chủ, trong đó chứa các peer tham gia trước khi chu kỳ T trong mỗi nhóm. Đầu tiên, Peer A lấy từ peer thuộc cùng nhóm . Sau khi nhận được mở đầu mô tả đoạn, Peer A lấy, từ các peer nằm trong nhóm , . Các nhóm này được lựa chọn một cách ngẫu nhiên. Khi chất lượng của phân đoạn thỏa mãn n = 3, Peer A sẽ tiếp tục nhớ đệm phân đoạn tiếp theo để kết thúc dịch vụ.
Hình 3.10: Ví dụ của cơ chế nhớ đệm
Nếu không có danh sách các nhóm, peer gửi yêu cầu máy chủ để lấy một danh sách mới, trong đó chứa các peer cùng tham gia trước đó trong khoảng thời gian giữa T và 2T. Cuối cùng, nếu vẫn không có danh sách mới, các peer sẽ lấy trực tiếp các dịch vụ từ máychủ. Sau khi nhận được dịch vụ, thứ tự của danh sách nhóm được thay đổi với mức độ tìm ưu tiên thấp nhất trong các yêu cầu tiếp theo để tránh nguồn tài nguyên bị chiếm dụng. Khi bộ đệm đầy bởi cơ chế nhớ đệm, bộ đệm cần phải được điều chỉnh theo cơ chế đệm.
• Cơ chế đệm
Khi peer nhận được mô tả phân đoạn, danh sách các đoạn mô tả này lưu trữ vào trong bộ nhớ đệm. Danh sách chứa hai thông tin là và ST, trong đó ST là thời gian cung cấp cho các peer khác. Sự lựa chọn phân phối của cơ chế đệm dựa trên ST. Phần tiếp theo đề cập phần mô tả phân đoạn mở đầu không được phân phối đến peer nhận mô tả đoạn.