الخلاصة

  • منع RFC 2032 امتداد كتلة H.261 كبيرة واحدة عبر حزمتين من RTP، وألزم كل حزمة بأن تبدأ وتنتهي عند حد كتلة كبيرة.
  • حمل الرأس GOBN وMBAP وQUANT وHMVD/VMVD وإشارتي I/V لاستعادة حالة البدء. عاد بذلك معنى البنية بعد الفقد، لا الجزء المفقود من الصورة.
  • أتاحت رسالتا FIR وNACK الاختياريتان طلب إطار INTRA كامل أو تسمية أرقام التسلسل المفقودة. أثبتت الرسالة صياغة الطلب، لا وصوله وتنفيذه وعرض نتيجته في الوقت المناسب.

قد يستعيد تدفق الفيديو قواعد قراءته قبل أن يستعيد صورته. صُمم RFC 2032 لهذه المسافة بين الحدثين، لا لمحوها.

نُشر المستند في أكتوبر 1996 بصفة Proposed Standard، وحدد نقل فيديو H.261 مباشرة فوق RTP. كان H.261 مصمماً لقنوات ISDN ثابتة المعدل، حيث تجمع إطارات H.221 ذات 512 بت الفيديو والصوت والبيانات وتصحيح الأخطاء. لم تنقل حمولة الإنترنت تلك الإطارات، بل نقلت دفق الفيديو المشفر بـHuffman نفسه. لذلك لم يكن المطلوب منع ضياع كل رزمة، بل منع رزمة ضائعة من جعل كل ما يليها غير قابل للفهم.

صار حد الكتلة الكبيرة حداً للعطل

تنقسم صورة H.261 إلى مجموعات كتل، وفي كل مجموعة 33 كتلة كبيرة. وتمثل الكتلة الكبيرة مساحة 16 في 16 بكسلاً. اختار RFC 2032 هذه الوحدة للتجزئة: تبدأ الحزمة وتنتهي على حدود الكتل الكبيرة، ولا تُقسم كتلة بين حزمتين، ولا يقع القطع بين رأس GOB وأول كتلة فيه.

تفسر شيفرات Huffman متغيرة الطول هذه الصرامة. بعد فقد عند موضع بت عشوائي، قد لا يستطيع المستقبل تمييز بداية حقل جديد من بقية كلمة شيفرة سابقة. يمنح الحد المعروف مع سياق البداية الحزمة التالية نقطة دخول محددة.

لكن الاستقلال البنيوي ليس استقلالاً بصرياً. يستخدم H.261 الفروق والتنبؤ بين الإطارات. قد تُفك كتلة بشكل صحيح وهي تشير إلى منطقة مرجعية سبق أن فُقدت أو تلفت. يذكر RFC أن الضرر قد يستمر حتى تُشفر الكتل المقابلة مجدداً بنمط INTRA. يضيّق الاستئناف مساحة المجهول، لكنه لا يعيد وحده البكسلات القديمة.

حملت أربعة بايتات ذاكرة البداية

يحدد SBIT وEBIT عدد البتات غير التابعة للفيديو في أول ثمانية وآخر ثمانية بتات. وبذلك توضع بنية H.261 الموجهة بالبتات داخل حزم مصطفة على حدود البايت.

يحدد GOBN مجموعة الكتل التي تبدأ عندها الحمولة، وتعني القيمة صفر أن البداية برأس صورة. ويحفظ MBAP متنبئ عنوان الكتلة بالنسبة إلى بداية GOB. ويحفظ QUANT قيمة التكميم للكتلة التالية، بينما يحتفظ HMVD وVMVD ببيانات المرجع الأفقي والرأسي اللازمة لإعادة بناء فروق متجهات الحركة.

هذه ذاكرة لفك الترميز، وليست شهادة على سلامة العرض. ليس MBAP إحداثياً لمنطقة تم إصلاحها على الشاشة؛ إنه يجعل فرق العنوان قابلاً للتفسير. كما أن إعادة بناء متجه حركة لا تثبت أن الصورة المرجعية التي يشير إليها صحيحة.

الإشارتان I وV محدودتان أيضاً. تعلن I أن الدفق لا يحتوي إلا على كتل INTRA، وتشير V إلى إمكان استخدام متجهات الحركة. يقول المستند إن القيمتين يمكن استنتاجهما من الدفق، ويسمح للتنفيذ المتوافق باستخدام القيمتين المحافظتين V=1 وI=0. تساعدان على اختيار مسار فك آمن، ولا تدققان كل كتلة ولا تقيسان الجودة.

معرفة النهاية لم تثبت اكتمال الإطار

تشترك كل حزم صورة واحدة في ختم زمني RTP بتردد 90 كيلوهرتز. ويُضبط بت marker في آخر حزمة من الإطار حتى لا ينتظر المستقبل رمز بدء الصورة التالية. وإذا حملت حزمة عدة صور، انطبق ختم RTP على الأولى فقط، وحُسبت أوقات اللاحقات من رؤوس H.261.

تحدد هذه الإشارات الزمن والنهاية المعلنة. لا يثبت marker وصول كل أرقام التسلسل السابقة. يستطيع RTP كشف فجوة، بينما لا يخبر مجرد الإرسال عبر UDP المرسل بنجاح التسليم. «وصلت الحزمة الأخيرة» و«وصل الإطار كاملاً» ملاحظتان مختلفتان.

احتواء الخطأ لم يكن تصحيحه

يسرد RFC 2032 ثلاث وسائل لتقليل الضرر المستمر: إطار دوري كامل بنمط INTRA، وضبط معدل التحديث وفق الفقد، وقبول طلب تحديث من المستقبل بعد اكتشاف الضرر. تفتح كل وسيلة حلقة تحكم محتملة، ولا تسجل بمفردها أن الحلقة اكتملت.

تحمي الحدود والسياق المنسوخ قابلية قراءة البنية اللاحقة. لكن المنطقة المفقودة تظل بلا بيانات، وقد يلوث المرجع الخاطئ التنبؤ، وقد يفوت التصحيح المتأخر موعد التشغيل. يحمي الشكل قابلية تفسير المستقبل؛ أما استعادة المحتوى فتحتاج أحداثاً وقياسات أخرى.

أعطى FIR وNACK عنواناً للنية

حدد المستند رسالتين اختياريتين في RTCP خاصتين بـH.261. طلب Full INTRA-frame Request ذو Payload Type 192 من المشفر إنتاج الإطار التالي كله بنمط INTRA، وحدد SSRC المستقبل صاحب الطلب. واستخدم Negative Acknowledgement ذو النوع 193 الحقل FSN لأول رقم تسلسل يراه المستقبل مفقوداً، وخريطة BLP ذات 16 بت للأرقام الستة عشر التالية.

يعني FIR «حدّث قاعدة التنبؤ»، ويعني NACK «لم أشاهد هذه المواضع». تحولت الملاحظة المحلية إلى طلب ذي إحداثيات.

لكن الآلية اختيارية ومقيدة بالبنية. حذر المستند من أثر سلبي عندما ترسل أعداد كبيرة من المشاركين إقرارات سلبية. كما افترض الإرسال المباشر من فاك الترميز إلى المشفر غياب mixer وtranslator، ولم يفعّل مثال IVS الوظيفة إلا مع عدد صغير من المستقبلين. ظل الدعم ومسار العودة والحجم شروطاً خارج الحقول.

يثبت FIR الملتقط أن مستقبلاً أرسل طلب تحديث، ولا يثبت أن الطلب وصل أو أن المشفر أنتج إطار INTRA. ويثبت NACK ما اعتبره المستقبل مفقوداً، ولا يثبت وجود إعادة إرسال أو وصولها قبل موعد التشغيل أو ظهور صورة مصححة. تقوي الإحداثيات التشخيص؛ ويحتاج إثبات النتيجة إلى ربط فعل المصدر والحزم التالية وخرج فاك الترميز ووقت العرض.

توقفت الطبقة المشتركة قبل النتيجة

يوضح مبدأ Lu Heng عن الحد الأدنى للمواصفة الأولية هذا التقسيم. وحّد RFC 2032 مواضع القطع وسياق الاستئناف والزمن ونهاية الإطار وبنية التغذية الراجعة الاختيارية. أما مهلة المخزن وسياسة التحديث وكلفة إطار INTRA والضرر المقبول فبقيت قرارات محلية.

وتضيف أولوية الشيفرة العاملة اختبار الواقع: الشكل المنشور، والحقول التي يولدها مشفر صحيح، والتسليم في الاتجاهين، وفعل المشفر، والصورة المعروضة في موعدها حقائق منفصلة. لا يكفي اسم الآلية دليلاً على نجاح السلسلة كلها.

يصنف RFC Editor المستند اليوم بأنه أُبطل لصالح RFC 4587. من دون الدخول في آليات الخلف، تبقى القيمة التاريخية واضحة: جعلت المواصفة مساحة الدفق التي يفسدها فقد واحد أصغر، ومنحت نية الإصلاح عنواناً. أما الصورة المصلحة فظلت بحاجة إلى دليل مستقل.

المصادر