
صور JPEG الارتدادية: كيف يختبئ فيديو كامل داخل ملف صورة واحد
يوضح منشور في مدونة كيف يمكن ربط المسحات التدريجية في صيغة JPEG بحيث يبدّل ملف صورة واحد بين الصور أو يشغّل مقطع فيديو قصير أثناء تنزيله. لا فائدة عملية لهذه الحيلة.
يوضح منشور نُشر على موقع maurycyz.com كيف يمكن تحويل الوضع التدريجي في صيغة JPEG — وهي الميزة التي تجعل الصورة المنزّلة جزئيًا تظهر كمعاينة منخفضة الدقة بدل أن تبدو مقطوعة — إلى وسيلة لتخزين مقطع فيديو قصير كامل، أو عدة صور مختلفة، داخل ملف واحد.
كيف تعمل المسحات التدريجية
يقسّم ملف JPEG التدريجي البيانات المضغوطة إلى سلسلة من المسحات، لكل منها ترويسته الخاصة. تحمل المسحة الأولى المكوّن الفورييهي الأدنى فقط (DC) لقنوات الألوان الثلاث، وهو ما يكفي لرسم معاينة خشنة جدًا للصورة. أما المسحات الثماني التالية فتكمّل الباقي: تفاصيل إضافية في الإضاءة أولًا، ثم بيانات كاملة بدقة منخفضة، وأخيرًا البتات الأخيرة الناقصة. ويُخزَّن اللون في فضاء YCbCr بدقة نصفية، لذلك تزن بيانات التلوين الكاملة للصورة نحو ما تزنه بيانات الإضاءة وحدها.
الكتابة فوق الصورة أثناء التنزيل
لأن كل مسحة تعلن نطاقها الطيفي بنفسها، يمكن بناء ملف JPEG تكتب فيه المسحات اللاحقة فوق بيانات رُسمت بالفعل. الطريقة خشنة: ضمّ عدة ملفات JPEG بالدقة نفسها وحذف علامات بداية الصورة وبداية الإطار ونهاية الصورة، وقد نفّذ ذلك الكاتب ببرنامج قصير بلغة C. وعلى اتصال بطيء يتغيّر هذا الملف أمام العين من صورة إلى أخرى أثناء التنزيل. غير أن معظم أجهزة فك الترميز تتوقف بعد عدد معين من المسحات، ويبدو أن ذلك حماية من هجمات على غرار قنبلة إلغاء الضغط، ولهذا يقتصر الأسلوب البسيط على نحو تسع لقطات.
تسعون لقطة في ملف واحد
لاستيعاب لقطات أكثر يجب أن تكون كل لقطة صغيرة قدر الإمكان. فالمسحة التدريجية لا يمكن أن تحمل في الوقت نفسه بيانات AC (المكوّنات فوق الصفر) وبيانات DC، والوضع الأساسي يتوقف بعد مسحته الأولى، لذا فإن أصغر ملف JPEG تدريجي ممكن هو مسحة DC واحدة فقط. ولأن التحويل يعمل على كتل بحجم 16×16، فإن لقطة كهذه ليست لونًا واحدًا: بل تُرسم بدقة تساوي سُدس عشر الدقة الأصلية. يتوقف متصفح كروم بعد نحو تسعين لقطة منها، أما فايرفوكس فأكثر صبرًا. واللقطات مطابقة للمعيار تمامًا ويمكن إنتاجها بأداة jpegtran عبر إعلان ملف للمسحات.
لا يوجد استخدام عملي: فملف JPEG لا يحمل معلومات توقيت، لذا تعتمد سرعة العرض كليًا على تأخير الشبكة. ويشير الكاتب إلى أن التقنية تصلح أساسًا لخدع غير مألوفة، ويضع روابط لتجارب مشابهة: فيديو بتقنية HTML مبني من عناصر dialog فقط، وتطبيق تفاعلي من صفحة واحدة من دون CSS أو JavaScript. ونُشر البرنامج الذي يدمج اللقطات إلى جانب المنشور.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.