دسترسی به منابع مقالات : مکانیزم تشویقی برای جریان‌سازی ویدئو در شبکه‌های نظیر به نظیر- قسمت ۳

شکل ‏۶‑۵مقایسه کارایی از دیدگاه درصد گره‌های موفق به آغاز نمایش با ۱۰% سودجو ۸۶
شکل ‏۶‑۶مقایسه کارایی از دیدگاه درصد گره‌های موفق به آغاز نمایش با ۵۰% سودجو ۸۷
شکل ‏۶‑۷مقایسه از دیدگاه تأخیر آغاز نمایش برای مقادیر مختلف گره ۱۰% سودجو ۸۷
شکل ‏۶‑۸مقایسه از دیدگاه تأخیر آغاز نمایش برای مقادیر مختلف گره ۵۰% سودجو ۸۸

دیباچه

در این قسمت انگیزه‌ها و اهداف و کار خود را در این رساله ارائه می‌کنیم.

انگیزه‌ها و اهداف جریان سازی

امروزه برنامه‌های پخش ویدئوی برخط با سرعت زیادی رو به رشد هستند و این در نتیجه‌ی نگاه تولیدکنندگان محصولات ویدئویی به مدل‌های تجاری جدید، در دسترس بودن پهنای باند وسیعتر برای شبکه‌ی دسترسی (در اینترنت، در شبکه‌های سلولی، در شبکه‌های IP خصوصی و … ) و انقلاب در توسعه‌ی سخت‌افزار‌های جدید با قابلیت‌های بالا در بازتولید و دریافت جریان‌های تصویری میباشد.
برای نمونه، حجم ویدئوی موجود در اینترنت سالانه دوبرابر می‌شود،‌ و این در حالی است که تقاضا با ضریب سه افزایش می‌یابد. در اینترنت، سرویس‌های انتشار ویدئو بطور وسیعی با استفاده از زیرساختار شبکه‌ی تحویل محتوا (CDN) گسترش می‌یابند، که این زیرساختار‌ها، مجموعه‌ای از سرورها (که در نقاط استراتژیکی در هر سوی اینترنت قرار گرفته‌اند) هستند که بطور ناپیدا[۳] برای تحویل محتوا به کاربرهای انتهایی با یکدیگر همکاری دارند. با این وجود، از آنجایی که پهنای باند گرانترین منبع در اینترنت است و تحویل ویدئو یکی از سرویس‌هایی است که بیشترین تقاضا برای آن وجود دارد، سرویس‌های ویدئوی زنده هنوز از نظر تنوع و قابلیت دسترسی، با محدودیت روبرو هستند. [۱]
روشی که این روز‌ها محبوب شده، شامل استفاده از ظرفیت عمده بلااستفاده کلاینت‌ها برای به اشتراک گذاری توزیع ویدئو با سرورها از طریق سیستم‌های نظیر به نظیر تکامل یافته کنونی است. این رویکرد همچنین از ازدحام در شبکه‌ی محلی جلوگیری میکند؛ چرا که در این حالت سرورها (کلاینت‌های دیگر) می‌توانند بطور وسیعی نزدیک کلاینت نهایی باشند. ایراد اصلی این روش آن است که کلاینت‌ها (که در این متن نظیر‌ها نامیده می‌شوند) با نرخ بالایی به طریق خودمختار و کاملا غیرهمگام، قطع و وصل می‌شوند. این فرایند منجر به چالش اساسی در طراحی نظیر به نظیر می‌شود: چگونه کیفیت مورد نیاز کلاینت‌ها را در یک محیط با تغییرات زیاد به آنان عرضه نماییم.
قطع اتصال نظیر‌ها می‌تواند منجر به از دست رفتن اطلاعاتی شود که می بایست به شخص دیگری ارسال میگردید. توزیع ویدئوی زنده به دلیل محدودیت‌های بلادرنگ زمانی، به از دست رفتن بسته ها بسیار حساس است. علاوه بر این، به منظور کاهش مصرف پهنای باند، روند کدگذاری برخی از افزونگی‌های طبیعی ویدئو را حذف مینماید، که این امر خود نیز باعث آسیب‌پذیری بیشتر جریان تصویر به اتلاف داده‌ها می‌گردد. واضحا، این عامل و همچنین عوامل دیگر، بر کیفیت تصویر دریافت شده توسط کاربر نهایی تاثیر می‌گذارد، اما مقدار تاثیر آن بر کیفیت آنچنان واضح نیست.
شبکه‌ های استاندارد پارامترهای غیر‌مستقیمی از قبیل نرخ تلفات، تاخیر‌ها، قابلیت اعتماد و … را به منظور اندازه‌گیری و کنترل کیفیت دریافتی در شبکه مورد استفاده قرار می‌دهند. بنابراین مهم است که بتوانیم کیفیت دریافت شده را بلادرنگ و با دقت ارزیابی نماییم. دو رویکرد مهم برای اندازه‌گیری کیفیت ویدئو وجود دارد؛ تست‌های ذهنی و پارامترهای عینی. بطور خلاصه، ارزیابی‌های ذهنی شامل تشخیص های انسانی ای است که روی یک سری از ویدئوهای کوتاه و بر طبق دیدگاه شخصی‌شان در مورد کیفیت نظر می‌دهند. ارزیابی‌های عینی، شامل استفاده از الگوریتم‌ها و فرمول‌هایی است که کیفیت را به طریق خودکار، کمی و تکرارشدنی اندازه‌گیری می‌کنند. مشکل این است که آنها معمولا قرینه خوبی برای ارزیابی کیفیت دریافت شده ندارند. علاوه بر آن، نیاز به محاسبه‌ی سیگنال اصلی نیز دارند. برای کم کردن اشکالات این دو رویکرد، روش‌های هیبرید توسعه یافته‌اند. [۹]
برنامه های اشتراک فایل به صورت نظیر به نظیر (برای نمونه، پروتکل‌های مبتنی بر Bittorrent) از یک سری از مشوق‌ها و دستداد‌ها برای مبادله‌ی قطعات فایل‌ها در بین نظیر‌ها استفاده می‌کنند. جستجو‌ها و انتقال‌های فایل های بالاسری از یک نظیر به دیگر نظیرها، می‌تواند باعث ایجاد گلوگاه و یا تاخیر‌هایی شود که این پروتکل ها را نامناسب جریان‌سازی زنده ویدئوی می سازد. برای برخورد با این مشکل، می توان از یک رویکرد چند منبعی استفاده کرد، که در آن، جریان تصویر به چندین جریان افزونه‌ای تجزیه می‌شود که توسط نظیر‌های متقاوتی به نظیر‌های دیگر با یک توپولوژی درختی همراه با هزینه‌ی سیگنالینگ بسیار پایین، فرستاده می شود. [۵]

پیش زمینه

مروری بر ویدئوی دیجیتال

ویدئوی دیجیتال‌، نمایش ویدئو توسط سیگنال‌های دیجیتال است. این عمل شامل ضبط، دستکاری، توزیع و ذخیره‌ی ویدئو در فرمت های دیجیتال است، که ویدئو را قابل انعطافتر ساخته و دستکاری آن را سریع و نمایش آن را توسط کامپیوتر امکان‌پذیر می‌سازد. ویدئوی دیجیتال، انقلابی را در عرصه‌ی تحقیقات مرتبط با آن پدید آورد. فشرده‌سازی ویدئو توجه تحقیقاتی عمده‌ای را از دهه‌ی ۱۹۸۰ به خود اختصاص داده است، که این موضوع، کاربرد‌های متنوعی از قبیل انتشار ویدئو بر روی کابل دیجیتال، ماهواره‌ها و ادوات زمینی[۴]، ویدئو کنفرانس، ضبط دیجیتال بر روی نوار‌های DVD‌ و … را امکان پذیر ساخته است. ارتباط ویدئویی بر روی شبکه‌های بسته‌های بهترین تلاش در اواسط دهه‌ی ۱۹۹۰ و با رشد اینترنت آغاز شد. در اینترنت، تلفات بسته‌ها، پهنای باند متغیر با زمان و تلفات و پرش‌های نامنظم، از مشکلات عمده‌ای هستند که تحویل ویدئو با آنها مواجه است. [۲]

فشرده‌سازی و کدسازی استاندارد ویدئوی دیجیتال

فشرده‌سازی ویدئو ،تکنیکی است طراحی شده، برای نابودکردن شباهت‌ها و تکرار‌هایی که در یک سیگنال ویدئویی وجود دارد. در بیان غیرتکنیکی، یک سیگنال ویدئویی دیجیتال یک توالی موقت از تصاویر دیجیتال (یا فریم‌ها) است. تصاویر پی‌درپی، در یک سری از تصاویر، از آنجایی که بیشتر اشیاء ثابت را نشان می‌دهند، دارای تکرر زمانی هستند. در داخل یک تصویر، تکرار زمانی و رنگی وجود دارد، بطوری که مقادیر پیکسل‌های مجاور دارای همبستگی هستند. در کنار زدایش تکرار، اکثر تکنیک‌های فشرده‌سازی استفاده شوند پراتلاف[۵] هستند و فقط اطلاعات مربوط به دریافت را کدگذاری می‌کنند، که این کار با کاهش اطلاعات نامربوط و افزایش نسبت فشرده‌سازی انجام می‌شود.
یک روش فشرده‌سازی، کاملا توسط سیستم‌های کدگذار و کدگشای آن مشخص می‌شود که مشترکا CODEC (enCODer/dECoder) نامیده می‌شوند. کدک‌های اصلی و استاندارد امروزی توسط گروه حرفه‌ای متخصص تصاویر متحرک (MPEG) معرفی شده‌اند.
MPEG-2 چتری است بر فراز استاندارد‌های فشرده‌سازی بین‌المللی که توسط گروه MPEG توسعه یافت. چندین قسمت از آن در یک همکاری تیمی با ITU-T (برای نمونه، کدک‌های ویژه‌ی H.261 و H.263) توسعه یافت. بعد از موفقیت MPEG-2، MPEG-4 توسط همان تیم‌ها استانداردسازی شد. قسمت‌های کلیدی که باید از آنها مطلع بود، MPEG-4 قسمت دوم (که توسط کدک‌هایی نظیر Xvid بکار برده شد) و MPEG-4 قسمت دهم (که به MPEG-4 AVC/H.264 موسوم است) می‌باشند. علاوه بر کدک‌های استاندارد، چندین کدک اختصاصی نیز وجود دارد. مهمترین و پراستفاده‌ترین این کدک‌ها، RealVideo و Windows Media Video (که در فرآیند استانداردسازی قرار دارد) هستند.
کدک‌های استاندارد و کدک‌های اختصاصی، اساس فشرده‌سازی یکسانی را بکار می‌برند و بنابراین با فهم یکی از آنها، می‌توانیم به یک فهم اولیه از تمام حوزه‌ی فشرده‌سازی دست یابیم.
در باب مقایسه‌ی MPEG-2 و MPEG-4، به تفاوت‌های مهمی برمی‌خوریم. شاید مهمترین تفاوت اساسی این است که MPEG-2 یک معیار پیکسل‌گرا است در حالی که MPEG-4 شیءگراست. در هر دو معیار، ایده‌ی پشت فشرده‌سازی یکسان است: تکرر‌های زمانی متعدد بین فریم‌ها توسط استفاده از تخمین و جبران‌سازی حرکت مورد بهره‌برداری قرار می‌گیرند.یک مفهوم کلیدی در MPEG-2 فریم یا تصویر یا از دید دیگر همان واحد ارسال است. مفهوم متناظر در MPEG-4،‌ صفحه‌ی شیء ویدئویی (VOP) است. هر دو مفهوم یک تصویر کد شده را معرفی می‌کنند. سه نوع فریم اصلی وجود دارد: فریم درونی (I-frame)، فریم‌های پیشگویی شده (P-frame) و فریم‌های دوسویه یا درون‌یابی شده (B-frame). برای هر یک از سه فریم تعریف شده معنای متفاوتی وجود دارد. نوع اول،I-frame، یک تصویر کامل را کدگذاری می‌کند. این به این معنی است که I-frame، می‌تواند در داخل یک تصویر، مستقل از هر فریم دیگر در جریان (stream)، گدگشایی شود. یک P-frame، فریمی است که برپایه‌ی فریم P یا I پیشین دیگری پیشگویی می‌شود (با استفاده از جبران‌سازی حرکت). یک B-frame، فریمی است که بخوبی فریم‌های P یا I، بر اساس گذشته پیش‌بینی شده است. شکل ۲-۱ وابستگی‌های درونی انواع مهم فریم‌ها را نشان می‌دهد.
 
شکل ‏۲‑۱وابستگی درونی فریم‌ها
این نوع فریم‌ها در MPEG-2 تعریف شده‌اند. آنها همچنین در MPEG-4 نیز موجودند، اگرچه در این مورد انواع دیگری از فریم‌ها نیز وجود دارد. با این وجود در MPEG-4 مهمترین فریم‌ها، همان سه نوع مذکور هستند.
توالی ویدئو به دسته‌ای از فریم‌ها تقسیم‌بندی می شود که گروه تصاویر (GOP) نامیده می شوند. یک GOP شامل یک تعداد کوچکی از فریم‌ها است که می‌تواند به تنهایی (بدون ارجاع به فریم‌های داخل گروه) کدگشایی شود. بطور نمونه یک GOP دارای یک I-frame در ابتدا است.
معمولا یک خطا، در I-frame تا I-frame بعدی انتشار می یابد. (بدلیل وابستگی فریم‌های دیگر در GOP). خطاها در P-frame ها تا I-frame یا P-frame بعدی انتشار می یابند. B-frame ها خطایی را منتشر نمی‌کنند. هر چقدر که ویدئو دارای I-frame های بیشتری باشد، استحکام بیشتری نسبت به نقص دارد. با این حال داشتن تعداد I-frame بیشتر، اندازه‌ی ویدئو را افزایش می‌دهد. به منظور ذخیره‌ی پهنای باند، ویدئو‌های آماده شده برای انتشار اینترنتی معمولا دارای فقط یک I-frame به ازای هر GOP هستند. در MPEG-2، اندازه‌ی GOP در حدود ۲۰ فریم است در حالی که در MPEG-4 این اندازه به ۲۵۰ فریم افزایش می‌یابد. بدلیل اینکه کدکردن MPEG-4 دارای قابلیت انعطاف و بیانگری بیشتری نسبت به پیشینیان خود است، فشرده‌سازی بهتر از طریق استفاده از فریم‌های P و B امکان‌پذیر است.

کاربرد‌های ویدئوی دیجیتال

ویدئوی دیجیتال می‌تواند برای استفاده‌ی بعدی ذخیره شود و یا برای یک استفاده‌کننده‌ی دوردست ارسال شود. محدوده‌ی وسیعی از کاربرد‌های ویدئو وجود دارد که خواص و محدودیت‌های مختلفی دارند. برای نمونه، یک کاربرد ارتباط ویدئویی، می‌تواند برای ارتباط یک به یک (مانند تماس‌های ویدئویی یک ویدئو در زمان تقاضا)، برای ارتباط یک به چند (نظیر ویدئو کنفرانس و بازی‌های چند‌بازیکنی) یا برای ارتباط یک به همه (همانند پخش TV) باشد. ارتباط می‌تواند تعاملی یا دو طرفه (مانند ویدئو کنفرانس) یا غیرتعاملی (مانند پخش TV یا ویدئو در زمان تقاضا) باشد. ویدئو می‌تواند بصورت بلادرنگ (TV زنده) یا بصورت از قبل کدگذاری شده (همانند ویدئو در حین تقاضا) کدگذاری شود.
محدودیت‌های برنامه های کاربردی، قویا طراحی سیستم را تحت تاثیر قرار می‌دهند. خلاصه‌ای از موفق‌ترین شبکه‌های تحویل ویدئو در بخش ۲٫۲ نمایش داده شده است. بعد از آن، بطور خلاصه به مکانیزم‌های تحویل ویدئو بر روی شبکه‌های بسته‌ای می‌پردازیم.
جریان سازی ویدئو، شامل تحویل و بازپخش ویدئو بر روی شبکه‌های بسته‌ای است. هر فریم، باید در زمان بازپخش خود تحویل و کدگشایی شود. بنابراین هر توالی فریم،‌ دارای توالی ضرب‌العجل تحویل/کدگشایی/بازپخش مرتبط با آن است که این توالی، به محدودیت‌های بلادرنگ موسوم است. اساسا در یک مکانیزم جریانی، ویدئو به قسمت‌هایی تقسیم می شود (در یک فرمت خاص) که بطور پی در پی بر روی شبکه ارسال می‌شوند .(با یک پروتکل انتقال) و گیرنده آن را کدگشایی کرده و ویدئو را بازتولید می‌کند.
امروزه چندین فرمت مختلف از جمله MPEG-TS، MPEG-PS، AVI، OMG و … وجود دارند. اکثر این فرمت‌ها روی برخی کاربرد‌های خاص تمرکز می‌کنند. برای مثال، MPEG-PS برای ارسال در یک محیط نسبتا عاری از خطا مناسب است، در حالی که MPEG-TS (جریان‌های انتقال) برای ارسال در محیط‌هایی مناسب است که بصورت بالقوه دارای قابلیت اتلاف و از دست رفتن بسته‌ها و یا خرابی آنها توسط اختلالات هستند.
مشخصه‌های MPEG-TS اساسا دو ویژگی اصلی را آدرس‌دهی می‌کنند، مالتی‌پلکس کردن ویدئوی دیجیتال و صوت و همزمان‌سازی خروجی. این مشخصه‌ها همچنین قواعدی را برای مدیریت دسترسی شرطی و جریان‌های انتقال چند برنامه‌ای (یعنی ارسال بیش از یک برنامه در یک زمان) تعریف می‌کنند. خروجی کدگذاری شده‌ی صوت یا تصویر بک جریان اولیه (ES) نامیده می‌شود. در گام دیگر، جریان‌های اولیه به واحد‌های کوچکتری بسته‌بندی می‌شوند و جریان‌های اولیه‌ی بسته‌بندی شده (PES) را تولید می‌کنند. سپس این PES‌ها دوباره به بسته‌های کوچکتری بسته‌بندی می‌شوند، که بسته‌های جریان انتقال (TS) نامیده می‌شوند. در این سطح عمل مالتی‌پلکس کردن ویدئو صورت می گیرد که یک جریان یکتا با نام جریان انتقال (TS) ایجاد می شود. سرانجام، این جریان انتقال به منظور ارسال از طریق شبکه، درداخل بسته‌های پروتکل‌ انتقال، کپسوله می‌شود. امروزه پروتکل‌های انتقال مناسب متنوعی برای انتقال جریان بر روی یک شبکه وجود دارد. برخی از این پروتکل‌ها عبارتند از: پروتکل نمودار داده‌ی کاربر (UDP)، پروتکل انتقال زمان واقعی (RTP) و پروتکل انتقال مافوق متن (HTTP). هر کدام از این پروتکل‌ها در موقعیت‌های مختلف، مزیت‌های خاص خود را به همراه ایراداتی، در زمان استفاده در برخی سناریوهای خاص را دارا هستند. UDP یک پروتکل بدون نیاز به اتصال است، که برای جریان سازی زنده مناسب است. RTP مخصوصا برای جاری ساختن رسانه بر روی شبکه طراحی شده است. این پروتکل در لایه بالایی UDP ساخته شده است و همانطور که از نام آن پیداست، برای جریان‌های بلادرنگ مناسب است. در نهایت، HTTP یک پروتکل در جهت اتصال است که تحویل صحیح هر بیت را در جریان مدیا تضمین می‌کند. در عمل، ۴۰ درصد از جریان‌های رسانه ای بر روی HTTP انتقال می‌یابد و در اغلب موارد، از پروتکل‌های اختصاصی جریان سازی استفاده شده‌اند. جریان HTTP، مزیت‌ فوق‌العاده‌ی گذشتن از دیوار‌های آتش را دارد. این مزیت، آنرا در مجامع کاربرهای اینترنت بسیار محبوب ساخته است. HTTP، پروتکلی است که عموما در سیستم‌های تلویزیون اینترنتی استفاده شده است.

شبکه‌های تحویل ویدئو

یک شبکه‌ی تحویل ویدئو (VDN)، سیستمی است که ویدئو را بصورت ناپیدا[۶] به کاربرهای انتهایی تحویل می‌دهد. حوزه‌ی شبکه‌های تحویل ویدئو به دلیل افزایش پهنای باند در شبکه‌های دسترسی (اینترنت، شبکه‌های سلولی، شبکه‌های IP اختصاصی و … )، مدل‌های تجاری جدید که توسط تولید‌کنندگان محتوای ویدئویی ارائه می شوند و قابلیت سخت‌افزار‌های جدید برای دریافت جریان‌های ویدئویی رو به گسترش است.
فراهم کنندگان رسانه، انواع زیادی از سرویس‌ها را با استفاده از جریان‌های ویدئو، توسعه داده‌اند. به عنوان مثال، پخش تلویزیون (پخش TV زنده)، ویدئو بر اساس تقاضا (VoD)، ویدئو کنفرانس، مونیتورینگ امنیتی را نام برد. همچنین فرمت‌ها و تفکیک‌پذیری‌های متفاوتی، بسته به ماهیت سرویس‌ و محدودیت شبکه، ابداع شده‌اند. از نقطه نظر شبکه، VDN ها معماری‌های مختلفی دارند و چالش‌های تکنولوژیکی خاصی، مرتبط با هر یک از آنها وجود دارد. موفق‌ترین شبکه‌های VDN امروزی را می‌توان در دسته‌بندی‌های زیر قرار داد: کابل دیجیتال و ماهواره، تلویزیون اینترنتی، P2PTV، IPTV و TV سیار.
در اینجا مشخصه‌های اصلی معماری‌های شبکه‌ی تحویل ویدئویی (VDN) با اهمیت را، با تمرکز ویژه بر روی فاکتورهایی که کیفیت تجربه (QoE) را متاثر می‌سازند، توضیح خواهیم داد.

یک مدل شبکه‌ای ساده

یک مدل شبکه‌ی عام سطح بالای انتها به انتهای تحویل سرویس‌های ویدئویی در شکل ۲-۲ نشان داده شده است. لایه‌ی داده‌ی شبکه از پنج گام تشکیل شده است: اکتساب، کدگذاری، بسته‌بندی، توزیع و کدگشایی. منابع فراوانی برای اکتساب ویدئو وجود دارد. برخی از نمونه‌ها عبارتند از: حافظه‌های آنالوگ و دیجیتال (نوار‌های ویدئویی، دیسک‌های سخت) یا رویداد‌های زنده با استفاده از ضبط کننده‌های ویدئو. ویدئوی غیرفشرده دارای مقدار زیادی تکرر در سیگنال است. این تکرر در هنگام وفق دادن سیگنال، به ظرفیت یک شبکه‌ی انتقال خاص، توسط فرایند کدگذاری، زدوده می شود،کاری که توسط سخت‌افزار‌های خاص یا سرور‌های عمومی صورت می‌گیرد.

دانلود متن کامل این پایان نامه در سایت abisho.ir