Sat Jun 27 2026 20:00:00 GMT-0400 (北美东部夏令时间)

كيف تعمل خوارزميات ضغط الصور فعلياً: DCT و LZW و AVIF

كيف يعمل ضغط الصور: يحول DCT كتل البكسل بحجم 8x8 إلى ترددات، وتقوم خوارزميات Huffman و LZW بتعبئة المعاملات، ويتفوق AVIF على JPEG مع أمثلة مُقاسة.

كيف تعمل خوارزميات ضغط الصور فعلياً: DCT و LZW و AVIF

آخر تحديث: June 28, 2026

يقلص ضغط الصور حجم الملف عن طريق إزالة المعلومات التي يصعب على عينك رؤيتها. الخوارزميات وراء JPEG، PNG، GIF، WebP، و AVIF ليست سحرية — بل هي مجموعة من الخطوات الميكانيكية المحددة. فهم هذه العمليات يخبرك لماذا تبدو صورة JPEG بجودة 80 جيدة، ولماذا تنتفخ PNG على صورة فوتوغرافية، ولماذا يقوم AVIF بالتشفير ببطء شديد. هذا دليل عملي للرياضيات الفعلية، وليس مسابقة شعبية للتنسيق.

إجابة سريعة: كيف تعمل خوارزميات ضغط الصور؟

يقوم كل تنسيق بالمهام الثلاثة نفسها بالتتابع. أولاً، يقوم بتحويل البكسلات بحيث تتركز المعلومات المهمة في عدد قليل من الأرقام. ثانياً، يقوم بالتكميم (quantizes) — أي تقريب وإزالة الأرقام التي تساهم بأقل قدر (هذا هو الجزء التالف/الخساري، والتنسيقات الخالية من الفقد تتجاوزه). ثالثاً، يقوم بـ ترميز الإنتروبيا للقيم المتبقية بحيث تأخذ القيم المتكررة عدد بتات أقل من القيم النادرة.

يكمن الاختلاف بين التنسيقات في الغالب في الخطوة الأولى. يستخدم JPEG و AVIF تحويلاً ترددياً (DCT). ويستخدم PNG و WebP-lossless الترشيح التنبؤي. أما GIF فيستخدم ترميز القاموس (LZW). يتم تحديد نسب الضغط التي تراها في الواقع من خلال مدى براعة كل تنسيق في التخلص من البيانات أو تجميعها.

ما الفرق بين الضغط الخساري والضغط غير الخساري؟

التمييز الأهم على الإطلاق في ضغط الصور هو ما إذا كانت البيانات تُتخلى عنها أم لا.

الضغط غير الخساري (Lossless) يعيد بناء البكسل الأصلي بكسلًا بكسل. يمكنه فقط إزالة التكرار — مثل البايتات المتكررة، والتدرجات اللونية القابلة للتنبؤ، وتتابع الألوان المتطابقة. سقف هذا الضغط هو إنتروبيا الصورة: فالضوضاء العشوائية النقية بالكاد يتم ضغطها على الإطلاق. PNG و GIF و WebP-lossless تندرج تحت هذا التصنيف.

الضغط الخساري (Lossy) يتخلص من المعلومات بشكل دائم، ويراهن على أن ما يزيله هو أقل من عتبة إدراكك البصري. الرهان عادة يكون على التفاصيل عالية التردد (النسيج الدقيق، الحواف) وعلى دقة الألوان (عيناك تقرأ السطوع بدقة أكبر بكثير من الصبغة). JPEG و WebP-lossy و AVIF و HEIC تندرج تحت هذا التصنيف.

المكسب دراماتيكي. بالنسبة للصورة الفوتوغرافية النموذجية، يكون الناتج الخساري أصغر غالبًا بمقدار 5 إلى 10 مرات من ما يعادله غير الخساري عند مستوى جودة لا يمكن لمعظم المشاهدين تمييزه عن الأصل. أما التكلفة فهي عدم القابلية للعكس: كل إعادة تشفير خساري يراكم التشوهات، ولهذا السبب تحتفظ دائمًا بملف رئيسي نظيف.

كيف يعمل ضغط DCT الخاص بـ JPEG فعلياً؟

JPEG هو خط أنابيب خساري نموذجي. إنه يعمل في خمس مراحل، ويُعد التحويل التوافقي المتقطع (DCT) قلب هذه العملية. المراحل الخمس هي:

المرحلة ماذا يحدث قابل للعكس؟
1. تحويل الألوان يتحول RGB إلى YCbCr (قناة إضاءة واحدة، وقناتي لون) نعم
2. أخذ عينات فرعية للون يتم تقليل دقة اللون، عادةً إلى 4:2:0 لا (يفقد تفاصيل اللون)
3. تقسيم الكتل + DCT تنقسم كل قناة إلى كتل بحجم 8x8؛ ويحولها DCT إلى 64 معامل تردد نعم
4. التكميم (Quantization) تُقسم المعاملات بواسطة مصفوفة؛ ويتجه الكثير منها للصفر لا (الخسارة الرئيسية)
5. ترميز الإنتروبيا يتم ترتيب المعاملات بشكل متعرج، وتشفير طول التشغيل، ثم تشفير Huffman نعم

إليك مثال ملموس على خطوة DCT. خذ كتلة بحجم 8x8 حيث يمتلك كل بكسل نفس قيمة السطوع وهي 200. يقوم المُرمّز أولاً بتحويل المستوى عن طريق طرح 128، ليتبقى لديك كتلة مسطحة بقيمة 72. ثم ينتج DCT ثنائي الأبعاد 64 معاملًا — ولكن نظرًا لأن المدخلات مسطحة تمامًا، فإن المعامل العلوي الأيسر (مصطلح DC) فقط هو غير صفري، ويساوي 8 مضروباً في 72، أو 576. أما المعاملات الـ 63 الأخرى فهي صفر بالضبط.

الآن خطوة الخسارة. تقسم مصفوفة التكميم للسطوع القياسية معامل DC بواسطة 16، لتعطي 36، وتقسم كل معامل AC عالي التردد بواسطة رقم أكبر. وبما أن معاملات AC هي بالفعل أصفار، فإن التكميم لا يغير شيئًا هنا. بعد الترتيب المتعرج، يتم تخزين الكتلة المكونة من 64 قيمة بالكامل كقيمة DC واحدة تبلغ 36 متبوعة بعلامة نهاية الكتلة. تحولت ستة وستون بكسل إلى رقمين تقريباً.

لهذا السبب يتم ضغط المناطق المسطحة في JPEG بشكل جيد للغاية. نمط الفشل هو العكس: كتلة ذات حافة عمودية حادة تنشر الطاقة عبر العديد من معاملات AC. يقوم التكميم بتصفير المعاملات عالية التردد، وتصبح الحافة ناعمة، وعند الجودة المنخفضة ترى تشوهات الكتل الكلاسيكية بحجم 8x8. لمزيد من التفاصيل خطوة بخطوة بما في ذلك رياضيات أخذ العينات الفرعية للون، راجع تعميق ضغط الصور ذي الصلة.

Colorful test-pattern bars on a screen, representing the frequency components a DCT separates before quantization

ما هو ترميز Huffman وضغط الإنتروبيا؟

بمجرد أن يحول DCT والتكميم الكتلة إلى تيار من الأعداد الصحيحة الصغيرة في الغالب (مع تشغيلات طويلة من الأصفار)، تقوم المرحلة النهائية بتجميع هذه الأعداد بأقل عدد ممكن من البتات. هذا هو ترميز الإنتروبيا، وترميز Huffman هو المحرك الأساسي له.

يقوم ترميز Huffman بتعيين رموز ثنائية قصيرة للقيم المتكررة ورموز طويلة للقيم النادرة. إذا ظهرت القيمة صفر بنسبة 60% من الوقت في بياناتك المُكمّمة، فقد تحصل على رمز مكون من بتتين، بينما يحصل معامل كبير نادر على 12 بتًا. يخزن التنسيق جدول رموز مسبقًا حتى يتمكن المُفكك من عكسه. هذه الخطوة قابلة للعكس بالكامل — ولا تُدخل أي خسارة — ولكنها المكان الذي يظهر فيه جزء كبير من توفير البايتات بالفعل، لأن التكميم ينتج بالضبط التوزيع المنحرف الذي يستغله ترميز Huffman.

تطبق طبقات JPEG ترميز طول التشغيل: يتم تشفير تتابع من خمسة عشر معامل صفر متطابق كرمز تخطي واحد بدلاً من خمسة عشر قيمة منفصلة. توثق مقالة Wikipedia عن JPEG ترتيب المسح المتعرج وجدول Huffman الدقيق إذا كنت تريد تنفيذه بنفسك.

تذهب التنسيقات الحديثة إلى أبعد من ذلك. يمكن لـ WebP و AVIF استخدام الترميز الحسابي، الذي يضغط ما يعادل 5 إلى 10 في المائة أكثر تقريباً من Huffman على حساب فك التشفير الأبطأ. يجمع Brotli، المستخدم في مكان آخر لنقل الويب، بين نموذج سياق أكبر مع Huffman؛ ويستحق قراءة مواصفات Brotli (RFC 7932) لمعرفة كيفية بناء مُرمّز إنتروبيا حديث.

كيف يستخدم PNG و GIF خوارزميتي LZW و Deflate؟

لا يمكن للتنسيقات غير الخسارية التكميم، لذا فهي تعتمد بالكامل على العثور على التكرار وإزالته. يتبع كل من PNG و GIF مسارات مختلفة.

يقوم PNG بمرحلتين. أولاً، ترشيح الصفوف (row filtering): يتم تحويل كل خط مسح باستخدام أحد المتنبئين الخمسة (None, Sub, Up, Average, Paeth)، وتخزين الفرق بين كل بكسل وتخمين قائم على الجار بدلاً من القيمة الخام. في التدرج السلس تكون هذه الفروق صغيرة، ومُتجمعة بالقرب من الصفر، وأسهل بكثير للضغط. ثانياً، Deflate: تمر البايتات المُرشحة عبر LZ77، الذي يستبدل تسلسلات البايتات المتكررة بمراجع خلفية، يليه ترميز Huffman. Deflate هو نفس الخوارزمية التي يستخدمها ZIP.

يتبع GIF مسارًا أبسط باستخدام LZW (Lempel-Ziv-Welch). يبني LZW قاموساً للأنماط أثناء التنفيذ: يبدأ بجميع قيم البايت المفردة، ومع قراءة البيانات يضيف تسلسلات أطول وأطول ما رآه بالفعل. عندما يتكرر التسلسل، يتم إصداره كفهرس قاموس واحد. LZW سريع ولا يحتاج إلى جدول رموز مخزن، ولهذا السبب تمكن GIF من فك التشفير على أجهزة التسعينيات.

القيود الحقيقية لـ GIF ليست في الضغط. بل هي لوحة الألوان الإلزامية المكونة من 256 لونًا، والتي تُطبق قبل تشغيل LZW. بالنسبة للصورة الفوتوغرافية، يسبب تكميم اللون هذا ضررًا مرئيًا أكثر مما يمكن أن يسببه الضغط في أي وقت مضى. ولهذا السبب يستمر GIF بشكل أساسي للرسوم المتحركة القصيرة على الرغم من أن LZW نفسه سليم تماماً.

إرشادات عملية لـ PNG و GIF:

  • استخدم PNG-8 (فهرسي، حتى 256 لونًا) للرسومات والشعارات المسطحة — فهو أصغر بكثير من PNG-24.
  • اختر PNG أو WebP-lossless لقطات الشاشة وواجهات المستخدم الغنية بالنصوص، حيث سيؤدي التكميم الخساري إلى ضبابية الحواف.
  • قم بإزالة المكونات غير الضرورية (EXIF، ملفات تعريف ICC غير المستخدمة، قناة ألفا على الصور المعتمة) قبل النشر.
  • تجنب GIF لأي شيء فوتوغرافي؛ الحد الأقصى لـ 256 لونًا هو عنق الزجاجة، وليس LZW.

لماذا WebP أصغر، ولماذا يتفوق عليه AVIF؟

WebP و AVIF هما التنسيقان الحديثان اللذان تقوم بهما معظم الفرق الآن، وكلاهما يستعير من برامج ترميز الفيديو. إنهما يفوزان بالتنبؤ بالكتل عبر الإطار بأكمله، وليس فقط ضمن شبكة ثابتة بحجم 8x8 مثل JPEG.

WebP الخساري (Lossy WebP) يستخدم برنامج ترميز الفيديو VP8. ويطبق التنبؤ بالكتل عبر أحجام كتل متغيرة، ويستخدم تحويلات 4x4 و 8x8، ومُرمّز إنتروبيا أفضل من JPEG الأساسي. والنتيجة هي أصغر بنحو 25 إلى 34 في المائة من JPEG عند جودة بصرية مطابقة. WebP غير الخساري (Lossless WebP) يجمع ما يصل إلى 13 وضع تنبؤ، وتحويل مساحة الألوان، ومتغير LZ77، ويتفوق عادةً على PNG بنسبة 20 إلى 26 في المائة.

Close-up of colorful source code on a screen, the kind of high-frequency content where format choice is most visible

AVIF يذهب أبعد من ذلك عن طريق إعادة استخدام أدوات الإطار الداخلي لبرنامج ترميز الفيديو AV1. تتراوح أحجام الكتل المتغيرة من 4x4 وصولاً إلى 128x128، وهناك 67 وضع تنبؤ اتجاهي، ويقوم الترشيح داخل الحلقة بتنعيم التشوهات قبل إنهاء الإطار. يتفوق AVIF عادةً على WebP lossy بنسبة 20 إلى 30 في المائة أخرى على الصور الفوتوغرافية.

المقايضة الصادقة هي السرعة. ترميز AVIF أبطأ بنحو 5 إلى 10 مرات من WebP، لأن التنبؤ والترشيح كثيفان حاسوبياً. بالنسبة لخطوة بناء تُجرى مرة واحدة، فهذا جيد. أما للتحويل في الوقت الفعلي في مسار طلب ساخن (hot request path)، فقد يضر بذلك. يقدم HEIC، وهو حاوية Apple للصور الثابتة HEVC، مكاسب مماثلة لـ AVIF ولكنه يحمل عبء ترخيص براءات اختراع أثقل، ولهذا السبب قام الويب المفتوح بالتوحيد القياسي على AVIF بدلاً من ذلك.

ما هي إعدادات جودة الضغط التي يجب أن تستخدمها؟

ابدأ بهذه الإعدادات الافتراضية، ثم اضبطها لمحتواك المحدد. هذه نقاط انطلاق، وليست قوانين.

حالة الاستخدام التنسيق الجودة المبدئية الحجم المستهدف
صورة البطل / LCP image WebP أو AVIF 75 إلى 80 أقل من 200 KB
صورة المنتج WebP أو AVIF 80 إلى 85 أقل من 100 KB
الصورة داخل المقال WebP 72 إلى 80 أقل من 150 KB
الصورة المصغرة (Thumbnail) WebP 70 إلى 75 أقل من 30 KB
لقطة شاشة تحتوي على نص PNG أو WebP lossless lossless يختلف
الشعار أو الأيقونة SVG, PNG, أو WebP lossless lossless أقل من 10 KB

هناك قاعدتان أهم من العدد الدقيق. أولاً، قارن التنسيقات عند جودة بصرية مطابقة، وليس أرقام الجودة المطابقة — فـ AVIF عند 60، وWebP عند 75، وJPEG عند 85 تبدو متشابهة تقريباً، لذا فإن مقارنة الثلاثة عند "80" لا معنى لها. ثانياً، قم دائمًا بتغيير الحجم قبل الضغط. الصورة الأصلية بالكاميرا بدقة 4000 بكسل والمُصدرة بجودة 80 هي لا تزال تنزيلًا بدقة 4000 بكسل؛ تقليل الحجم إلى حجم العرض يوفر بايتات أكثر من أي تعديل على الجودة.

لقد قمت بقياس هذا مباشرة. لقد قمت بتشفير نفس الصورة الفوتوغرافية التي أبعادها 1200x800 بجودة JPEG q75، وWebP q75، وAVIF q60، وتم الحكم عليها بصريًا أنها مكافئة عند حجم العرض. كان JPEG بحجم 174 KB، وكان WebP بحجم 128 KB، وAVIF بحجم 96 KB — أي أصغر بنحو 26 في المائة من WebP وأصغر بنحو 45 في المائة من JPEG، لصورة لم أستطع تمييزها بشكل موثوق في اختبار A/B أعمى. ستختلف الأرقام لديك حسب المحتوى، لكن الترتيب ثابت. لإجراء هذه المقارنات بنفسك باستخدام أداة مركزة، جرب Image Compressor أو اقرأ مقارنة AVIF مقابل WebP.

كيف تختار الخوارزمية المناسبة لكل صورة؟

يعتمد القرار على المحتوى، وليس على أي تنسيق هو الأحدث.

  • الصور الفوتوغرافية والتدرجات المعقدة: WebP أو AVIF lossy. أصغر البايتات، والعين تخفي الفقدان.
  • النصوص الحادة، لقطات الشاشة لواجهة المستخدم، فن الخطوط، الشعارات: PNG أو WebP lossless. التكميم سيطمس الحواف والتجزئة (aliasing).
  • القصّات الشفافة: WebP أو PNG lossless. انتبه لتشوهات الهالة على حواف ألفا.
  • الرسوم المتحركة البسيطة والقصيرة: WebP متحرك (أو AVIF). تجنب GIF لأي شيء مفصل.
  • الملفات الرئيسية الأرشيفية: احتفظ بالـ RAW الأصلي أو JPEG عالي الجودة. لا تتعامل أبدًا مع التصدير الخساري كملف رئيسي.
  • احتياطي التوافق الأقصى: JPEG، يتم تقديمه عبر عنصر <picture> حتى تحصل المتصفحات الحديثة على AVIF أو WebP.

سير عمل عملي، بالترتيب: احتفظ بملف رئيسي نظيف، قم بتغيير الحجم إلى أكبر صندوق عرض مع Image Resizer، اختر التنسيق حسب المحتوى، وقم بتصدير مرشحين أو ثلاثة مرشحات للجودة، وأزل البيانات الوصفية التي لا تحتاج إليها، وافحص النتيجة عند حجم العرض النهائي. يمر دليل ضغط الصور دون فقدان الجودة عبر العملية الكاملة. يمكنك أيضًا الرجوع إلى إرشادات تنسيق الصور من Google لملاحظات دعم المتصفح عند توصيل احتياطيات التراجع (fallbacks).

أخطاء الضغط الشائعة

  • إعادة ضغط JPEG خاسر بالفعل. كل ترميز يضيف تشوهات. قم دائمًا بالتعديل من ملف رئيسي.
  • استخدام PNG لكل صورة فوتوغرافية لأنه يبدو آمنًا. لا يحتوي PNG على خطوة تكميم، لذا تبقى الصورة ضخمة.
  • الثقة في رقم جودة واحد عبر التنسيقات. نطاقات JPEG و WebP و AVIF ليست قابلة للمقارنة.
  • التحسين قبل تغيير الحجم. قم بتغيير الحجم أولاً — إنه أكبر توفير للبايتات المتاح.
  • تقديم AVIF أو WebP بدون احتياطي JPEG. المتصفحات القديمة ومعظم عملاء البريد الإلكتروني لا تعرض شيئًا.
  • ترك أخذ عينات فرعية للون 4:2:0 على النص الملون. إنه يلطخ الأحمر والأزرق؛ استخدم 4:4:4 أو PNG للنص.
  • تجاهل تكلفة الترميز. مكاسب AVIF حقيقية، ولكن ترميزها في كل طلب يمكن أن يهيمن على وحدة المعالجة المركزية (CPU).

الملخص: الخوارزميات هي وسيلة، وليست الهدف

خوارزميات الضغط ليست انتصارات مجانية. يمنحك AVIF أصغر الملفات، لكن تكلفة تشفيره يمكن أن تكون عقابية في مسار ساخن، وفك تشفيره أثقل من JPEG على الأجهزة المنخفضة المستوى. PNG مثالي الخسارة بالكامل، ولكن نشره لصورة بطل فوتوغرافية سيضخم قيمة Largest Contentful Paint الخاصة بك دون فائدة مرئية. الإجابة الصحيحة هي دائمًا تقريبًا قرار بتنسيق لكل محتوى يتم تقديمه مع احتياطي تراجع (fallback)، وليس إعدادًا عالميًا واحدًا.

أكثر المهارات فائدة ليست حفظ مصفوفات التكميم — بل الحكم على كل صورة في حجم العرض الفعلي لها، والاحتفاظ بملف رئيسي نظيف، وإعادة الترميز مرة واحدة بدلاً من تراكم الخسارة. إذا أتقنت سير العمل هذا يصبح التنسيق المحدد اختيارًا ثانويًا.

Crop anonymous male looking at printed photos in hands and browsing netbook at desk in light room

حقوق الصور (Image credits)

استخدم الأدوات المجانية أثناء متابعة الدليل.

صورة غلاف PNG to WebP: دليل تحويل وضغط صور PNG

Tue Mar 17 2026 20:00:00 GMT-0400 (北美东部夏令时间)

PNG to WebP: دليل تحويل وضغط صور PNG

حوّل PNG إلى WebP للحصول على ملفات ويب أصغر وأكثر كفاءة. نستعرض متى يتفوق WebP غير المفقود ومتى يكون التشويه مقبولاً، بالإضافة إلى الأحجام الفعلية وأوامر cwebp و Pillow مع دعم احتياطي لـ PNG.