تفريغ الهواء

في مجال الحوسبة ، يُعدّ Deflate (يُكتب اختصارًا DEFLATE ، ويُسمى أيضًا Flate [ 1 ] [ 2 ] ) خوارزمية ضغط بيانات بدون فقدان [ a ] تستخدم مزيجًا من ترميز LZ77 وترميز هوفمان . صمّمها فيل كاتز للإصدار الثاني من أداة الأرشفة PKZIP . وتمّ تحديد مواصفات Deflate لاحقًا في طلب التعليقات (RFC) 1951 (1996). [ 4 ]

قام كاتز أيضًا بتصميم الخوارزمية الأصلية المستخدمة لإنشاء تدفقات Deflate. حصلت هذه الخوارزمية على براءة اختراع برمجية أمريكية رقم 5,051,745 ، مُسجلة باسم شركة PKWare . [ 5 ] [ 6 ] وكما ورد في وثيقة RFC، كان يُعتقد على نطاق واسع أن خوارزمية إنتاج ملفات Deflate قابلة للتنفيذ بطريقة غير مشمولة ببراءات الاختراع. [ 4 ] وقد أدى ذلك إلى استخدامها على نطاق واسع، على سبيل المثال في تنسيق بيانات zlib ، وتنسيق ملف gzip ، وملف صورة PNG ، وتنسيق ملف ZIP الذي صممه كاتز في الأصل. وقد انتهت صلاحية براءة الاختراع منذ ذلك الحين.

بنية الكتل

تقوم عملية ضغط Deflate بأخذ أي تسلسل من البايتات وإخراج تسلسل من الكتل (يُسمى عادةً دفق Deflate ). أما عملية فك ضغط Deflate فتأخذ تسلسلًا من الكتل وإخراج التسلسل الأصلي من البايتات.

نظام ترتيب البايتات هو نظام ترتيب البايتات الصغير . البت 0 هو البت الأقل أهمية في البايت. [ 7 ]

تحتوي كل كتلة على رأس مكون من 3 بتات مع حقلين: [ 8 ]

  • BFINAL (البت الأول): 1إذا كانت هذه هي الكتلة الأخيرة في التسلسل، وإلا 0.
  • BTYPE (البتان التاليان): نوع الكتلة
    • 00لا يوجد ضغط (يُسمى أحيانًا تخزين ). يتم تجاهل أي بتات حتى حد البايت التالي. يتكون باقي الكتلة من 16 بت LEN ، و16 بت NLEN ( المكمل الأحادي لـ LEN)، وLEN بايت من البيانات غير المضغوطة ، أي ما يصل إلى 65,535 ( 2^ 16 - 1 ) بايت. يُفيد هذا النوع من البيانات غير القابلة للضغط (مثل البيانات عالية الإنتروبيا، أو العشوائية، أو المضغوطة مسبقًا)، حيث يُضيف حملاً إضافيًا ضئيلاً (أي حوالي 5 بايت لكل كتلة).
    • 01: كتلة مضغوطة ثابتة من نوع هوفمان ، باستخدام شجرة هوفمان متفق عليها مسبقًا ومحددة في RFC.
    • 10: كتلة هوفمان المضغوطة الديناميكية، كاملة مع جدول هوفمان المرفق.
    • 11: محجوز (خطأ).

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

يتم تحقيق الضغط من خلال خطوتين:

  • مطابقة واستبدال السلاسل المكررة بالمؤشرات
  • استبدال الرموز برموز جديدة موزونة بناءً على تكرار الاستخدام

إزالة السلاسل المكررة

في الكتل المضغوطة، إذا تم رصد سلسلة بايتات مكررة (سلسلة متكررة)، يتم إدراج مرجع خلفي يربط بالموقع السابق لتلك السلسلة المطابقة. تتكون المطابقة المشفرة لسلسلة سابقة من طول 8 بت (من 3 إلى 258 بايت) ومسافة 15 بت (من 1 إلى 32768 بايت) إلى بداية السلسلة المكررة. يمكن إنشاء مراجع خلفية نسبية عبر أي عدد من الكتل، طالما أن المسافة تظهر ضمن آخر 32 كيلوبايت من البيانات غير المضغوطة التي تم فك تشفيرها (وتسمى النافذة المنزلقة ). 

إذا كانت المسافة أقل من الطول، فإن النسخة المكررة تتداخل مع نفسها، مما يشير إلى التكرار. على سبيل المثال، يمكن ترميز سلسلة من 10 بايتات متطابقة كبايت واحد، متبوعًا بنسخة مكررة طولها 9، تبدأ بالبايت السابق.

يعد البحث في النص السابق عن السلاسل الفرعية المكررة الجزء الأكثر تكلفة حسابيًا في خوارزمية Deflate، وهي العملية التي تؤثر عليها إعدادات مستوى الضغط.

تقليل البت

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

يتم إنشاء شجرة تحتوي على مساحة لـ 288 رمزًا:

  • 0–255: تمثل البايتات/الرموز الحرفية 0–255.
  • 256: نهاية الكتلة - توقف عن المعالجة إذا كانت الكتلة الأخيرة، وإلا فابدأ معالجة الكتلة التالية.
  • 257–285: بالإضافة إلى البتات الإضافية، طول المطابقة من 3 إلى 258 بايت.
  • 286، 287: غير مستخدمة، محجوزة وغير قانونية ولكنها لا تزال جزءًا من الشجرة.

سيتبع رمز طول التطابق دائمًا رمز المسافة. وبناءً على رمز المسافة المقروء، قد تُقرأ بتات إضافية لحساب المسافة النهائية. تحتوي شجرة المسافة على مساحة لـ 32 رمزًا.

  • 0–3: المسافات 1–4
  • 4-5: المسافات من 5 إلى 8، بت إضافي واحد
  • 6-7: المسافات 9-16، بتّان إضافيان
  • 8-9: المسافات من 17 إلى 32، 3 بتات إضافية
  • ...
  • 26-27: المسافات من 8193 إلى 16384، 12 بت إضافي
  • 28-29: المسافات من 16385 إلى 32768، 13 بت إضافي
  • 30-31: غير مستخدم، ومحجوز وغير قانوني ولكنه لا يزال جزءًا من الشجرة

بالنسبة لرموز مسافة المطابقة من 2 إلى 29، يمكن حساب عدد البتات الإضافية على النحو التالي:ن2-1{\displaystyle \left\lfloor {\frac {n}{2}}\right\rfloor -1}.

يتم ترميز الرمزين (شجرة طول الرمز 288 رمزًا/الرمز الحرفي وشجرة المسافة 32 رمزًا) باستخدام رموز هوفمان القياسية ، وذلك بتحديد طول الرمز لكل رمز. ويتم ترميز أطوال الرموز بدورها باستخدام ترميز طول التشغيل لإنتاج تمثيل مضغوط قدر الإمكان. وكبديل لتضمين تمثيل الشجرة، يوفر خيار "الشجرة الثابتة" أشجار هوفمان ثابتة قياسية. ويمكن حساب حجم الملف المضغوط باستخدام الأشجار الثابتة باستخدام نفس الإحصائيات (عدد مرات ظهور كل رمز) المستخدمة لإنشاء الأشجار الديناميكية، مما يسهل على برنامج الضغط اختيار الأصغر.

جهاز التشفير والضغط

خلال مرحلة الضغط، يحدد المُشفِّر مقدار الوقت المُستغرق في البحث عن السلاسل المتطابقة. يسمح تطبيق zlib/gzip المرجعي للمستخدم بالاختيار من بين خيارات متدرجة لمستوى الضغط المُحتمل مقابل سرعة التشفير. تتراوح الخيارات من 0(عدم محاولة الضغط، وتخزين البيانات غير مضغوطة فقط) إلى 9تمثيل أقصى قدرة للتطبيق المرجعي في zlib/gzip.

تم إنتاج مُشفِّرات Deflate أخرى، جميعها تُنتج دفق بتات متوافقًا يُمكن فك ضغطه بواسطة أي مُفكِّك Deflate موجود. من المُرجَّح أن تُنتج التطبيقات المُختلفة اختلافات في دفق البتات المُشفَّر النهائي. عادةً ما يكون التركيز في إصدارات المُشفِّر غير المُعتمدة على zlib هو إنتاج دفق مُشفَّر أصغر حجمًا وأكثر كفاءة في الضغط.

Deflate64

يُعدّ Deflate64، المُحدد من قِبل PKWARE، نسخةً مُلكيةً من Deflate. وهو في الأساس نفس الخوارزمية. ما تغيّر هو زيادة حجم القاموس من 32  كيلوبايت إلى 64  كيلوبايت، وتوسيع رموز المسافة إلى 16  بت لتتمكن من معالجة نطاق 64  كيلوبايت، وتوسيع رمز الطول إلى 16 بت ليتمكن من تحديد أطوال تتراوح من 3 إلى 65,538 بايت. [ 9 ] يؤدي هذا إلى أن يكون وقت ضغط Deflate64 أطول، وربما نسبة ضغط أعلى قليلاً، من Deflate. [ 10 ] تدعم العديد من المشاريع المجانية و/أو مفتوحة المصدر Deflate64، مثل 7-Zip ، [ 11 ] بينما لا تدعمه مشاريع أخرى، مثل zlib ، لأن الإجراء مُلكية خاصة، [ 12 ] والتحسن في الأداء مقارنةً بـ Deflate ضئيل. [ 13 ]

استخدام Deflate في البرامج الجديدة

تتوفر تطبيقات Deflate مجانًا في العديد من اللغات. تستخدم التطبيقات المكتوبة بلغة C عادةً مكتبة zlib (بموجب ترخيص zlib المتساهل ). يمكن للتطبيقات المكتوبة بلغة Borland Pascal (واللغات المتوافقة معها) استخدام paszlib. يمكن للتطبيقات المكتوبة بلغة C++ الاستفادة من مكتبة Deflate المحسّنة في 7-Zip . يوفر كل من Java و .NET Framework دعمًا جاهزًا لـ Deflate في مكتباتهما (على التوالي، و System.IO.Compression ). يمكن للتطبيقات المكتوبة بلغة Ada استخدام Zip-Ada (الخالصة) أو ZLib-Ada .java.util.zip

تطبيقات التشفير

  • PKZIP : أول تطبيق، تم تنفيذه في الأصل بواسطة فيل كاتز كجزء من PKZip
  • zlib : تطبيق مرجعي قياسي معتمد في العديد من التطبيقات نظرًا لكونه مفتوح المصدر ومرخصًا بترخيص متساهل. انظر قسم Zlib §  Forks للاطلاع على نسخ معدلة ذات أداء أعلى.
  • Crypto++ : يحتوي على تطبيق مفتوح المصدر بلغة C++ يهدف إلى تقليل الثغرات الأمنية المحتملة . يقول المؤلف، وي داي: " هذا الكود أقل تعقيدًا، ولكن نأمل أن يكون أكثر وضوحًا وسهولة في الصيانة [من zlib] ".
  • 7-Zip : برنامجٌ من تطوير إيغور بافلوف بلغة C++ ، هذه النسخة مرخصةٌ ترخيصًا مجانيًا، وتُحقق ضغطًا أعلى من zlib على حساب استهلاك موارد المعالج المركزي (CPU). كما أنها تدعم استخدام تنسيق التخزين Deflate64.
  • PuTTY 'sshzlib.c': تطبيق مستقل مرخص بموجب رخصة MIT من قِبل سيمون تاتام، يتمتع بقدرة فك تشفير كاملة، ولكنه يدعم فقط إنشاء شجرة ثابتة.
  • libflate: [ 14 ] جزء من مشروع Plan 9 من مختبرات Bell ، يُنفذ ضغط deflate
  • يستخدم برنامج Hyperbac مكتبة ضغط خاصة به (مكتوبة بلغة C++ ولغة التجميع) مع خيار لتطبيق تنسيق التخزين Deflate64
  • Zopfli : تطبيق مكتوب بلغة C مرخص من قبل جوجل بموجب رخصة أباتشي ؛ يحقق ضغطًا أعلى على حساب استهلاك وحدة المعالجة المركزية. ZopfliPNG هو نسخة معدلة من Zopfli مخصصة لملفات PNG .
  • igzip: برنامج تشفير مكتوب بلغة التجميع x86 ، أصدرته شركة إنتل بموجب ترخيص MIT . أسرع بثلاث مرات من zlib-1. مفيد لضغط البيانات الجينومية. [ 15 ]
  • libdeflate: [ 16 ] مكتبة لضغط وفك ضغط البيانات باستخدام تقنية Deflate، مع التركيز على ضغط كامل المخزن المؤقت. تتميز libdeflate بتحسينها العالي، خاصةً على معالجات x86.

يستخدم برنامج AdvanceCOMP إصدارات ذات نسبة ضغط أعلى من برنامج Deflate في برامج 7-Zip و libdeflate وZopfli لتمكين إعادة ضغط ملفات gzip و PNG ورسومات الشبكة متعددة الصور (MNG) وملفات ZIP مع إمكانية الحصول على أحجام ملفات أصغر مما يمكن لبرنامج zlib تحقيقه عند أعلى الإعدادات. [ 17 ]

أجهزة التشفير

  • بطاقة AHA361-PCIX/AHA362-PCIX من شركة Comtech AHA، مؤرشفة بتاريخ 8 ديسمبر 2006 على موقع Wayback Machine . أنتجت Comtech بطاقة PCI-X (معرف PCI: 193f:0001) قادرة على ضغط البيانات باستخدام Deflate بمعدل يصل إلى 3.0  جيجابت/ثانية (375  ميجابايت/ثانية) للبيانات الواردة غير المضغوطة. يُرفق ببرنامج تشغيل نواة Linux الخاص ببطاقة AHA361-PCIX أداة مساعدة وبرنامجًا مخصصًا قادرًا على استخدام ضغط الأجهزة من Apache . يعتمد الجهاز على مصفوفة بوابات قابلة للبرمجة ميدانيًا (FPGA) من Xilinx Virtex وأربع دوائر متكاملة مخصصة للتطبيقات (ASICs) من نوع AHA3601. تقتصر بطاقات AHA361/AHA362 على معالجة كتل Huffman الثابتة فقط، وتتطلب تعديلًا برمجيًا لإضافة الدعم. لم تتمكن البطاقات من دعم مواصفات Deflate الكاملة، مما يعني أنها لا تستطيع فك تشفير مخرجاتها بشكل موثوق إلا (وهو دفق لا يحتوي على أي كتل ديناميكية من نوع Huffman 2).ahagzipmod_deflate_aha
  • بطاقة StorCompress 300 / MX3 من شركة Indra Networks . وهي عبارة عن مجموعة من بطاقات PCI أو PCI-X، مزودة بمحرك ضغط واحد إلى ستة محركات، وبسرعات معالجة تصل إلى 3.6 جيجابت/ثانية (450 ميجابايت/ثانية). يتوفر إصدار من هذه البطاقات تحت العلامة التجارية WebEnhance، وهو مصمم خصيصًا للاستخدام في خوادم الويب، وليس في شبكات التخزين (SAN) أو النسخ الاحتياطي. كما يتوفر إصدار MX4E بتقنية PCI Express (PCIe) .17b4:0011  
  • AHA363-PCIe / AHA364-PCIe / AHA367-PCIe . في عام 2008، بدأت شركة Comtech بإنتاج بطاقتي PCIe مزودتين PCI-ID: 193f:0363بشريحة 193f:0364تشفير AHA3610 جديدة. صُممت هذه الشريحة الجديدة لتوفير سرعة نقل بيانات مستدامة تبلغ 2.5  جيجابت/ثانية. باستخدام شريحتين من هذه الشريحة، تستطيع بطاقة AHA363-PCIe معالجة بيانات Deflate بسرعة تصل إلى 5.0  جيجابت/ثانية (625  ميجابايت/ثانية) باستخدام قناتين (قناتان للضغط وقناتان لفك الضغط). أما بطاقة AHA364-PCIe فهي نسخة مخصصة للتشفير فقط، مصممة لموازنات الأحمال الخارجية ، وتحتوي على مجموعات سجلات متعددة تسمح بـ 32 قناة ضغط افتراضية مستقلة تغذي محركي ضغط فعليين. تتوفر برامج تشغيل الأجهزة لأنظمة Linux و Microsoft Windows و OpenSolaris لكلا البطاقتين الجديدتين، بالإضافة إلى مكتبة نظام zlib مُعدلة، بحيث يمكن للتطبيقات المرتبطة ديناميكيًا استخدام دعم الأجهزة تلقائيًا دون الحاجة إلى تعديل داخلي. PCI-ID: 193f:0367تُشبه لوحة AHA367-PCIe لوحة AHA363-PCIe، لكنها تستخدم أربع رقاقات AHA3610 لتحقيق معدل ضغط مستدام يبلغ 10  جيجابت/ثانية (1250  ميجابايت/ثانية). وعلى عكس لوحة AHA362-PCIX، فإن محركات فك الضغط في لوحتي AHA363-PCIe وAHA367-PCIe متوافقة تمامًا مع معيار deflate.
  • تحتوي معالجات Nitrox و Octeon من شركة Cavium, Inc. على محركات ضغط وتفريغ عالية السرعة متوافقة مع كل من ZLIB و GZIP مع بعض الأجهزة القادرة على التعامل مع تدفقات بيانات متعددة في وقت واحد.
  • تطبيق HDL-Deflate GPL على FPGA.
  • ZipAccel-C من شركة CAST Inc. عبارة عن نواة ملكية فكرية سيليكونية تدعم ضغط البيانات باستخدام تقنيات Deflate و Zlib و Gzip . يمكن تطبيق ZipAccel-C في الدوائر المتكاملة الخاصة بالتطبيقات (ASIC) أو مصفوفات البوابات المنطقية القابلة للبرمجة (FPGAs)، ويدعم جداول هوفمان الديناميكية والثابتة، ويوفر معدلات نقل بيانات تتجاوز 100  جيجابت/ثانية. تقدم الشركة تصميمات مرجعية للوحات تسريع الضغط/فك الضغط لمعالجات Intel FPGA ( ZipAccel-RD-INT ) وXilinx FPGA ( ZipAccel-RD-XIL ).
  • تدعم شريحة الاتصالات من إنتل، سلسلة 89xx (Cave Creek)، لمعالجات إنتل زيون E5-2600 وE5-2400 (Sandy Bridge-EP/EN)، ضغط البيانات وفك ضغطها باستخدام تقنية QuickAssist. وتتوفر معدلات ضغط وفك ضغط تبلغ 5  جيجابت/ثانية، أو 10  جيجابت/ثانية، أو 20 جيجابت/ثانية، وذلك حسب نوع الشريحة . [ 18 ] 
  • تتضمن وحدات المعالجة المركزية IBM z15 نسخة محسنة من وحدة تسريع Nest (NXU) لتسريع الأجهزة من بطاقات توسيع الإدخال/الإخراج zEDC Express المستخدمة في أنظمة z14 لضغط وفك ضغط Deflate للأجهزة كما هو محدد في RFC1951. [ 19 ] [ 20 ]
  • ابتداءً من معمارية POWER9 ، أضافت IBM دعمًا ماديًا لضغط وفك ضغط Deflate (كما هو محدد في RFC 1951) إلى نواة Nest accelerator (NX) التي كانت سابقًا مُخصصة للتشفير، والتي طُرحت مع POWER7 +. هذا الدعم مُتاح للبرامج التي تعمل بنظام AIX 7.2 Technology Level 4 Expansion Pack أو AIX 7.2 Technology Level 5 Service Pack 2 من خلال مكتبة zlibNX. [ 21 ] [ 22 ]

جهاز فك التشفير، جهاز فك الضغط

عملية التضخيم هي عملية فك التشفير التي تأخذ دفق بتات Deflate لفك الضغط وتنتج بشكل صحيح البيانات أو الملف الأصلي بالحجم الكامل.

تطبيقات تعتمد على التضخيم فقط

الهدف الطبيعي من تطبيق Inflate البديل هو سرعة فك التشفير المحسّنة للغاية، أو استخدام ذاكرة الوصول العشوائي (RAM) التي يمكن التنبؤ بها بشكل كبير لأنظمة التحكم الدقيقة المدمجة .

أجهزة فك التشفير المادية

  • وحدة معالجة الرسومات التسلسلية Inflate من BitSim. تطبيق برمجي لتقنية Inflate. جزء من وحدة التحكم Bitsim Accelerated Display Graphics Engine (BADGE) للأنظمة المدمجة.
  • تطبيق HDL-Deflate GPL على FPGA.
  • ZipAccel-D من شركة CAST Inc. عبارة عن نواة IP سيليكونية تدعم فك ضغط ملفات Deflate و Zlib و Gzip . يمكن تنفيذ نواة ZipAccel-D IP في دوائر ASIC أو FPGAs . تقدم الشركة تصميمات مرجعية للوحات تسريع الضغط/فك الضغط لمعالجات Intel FPGA ( ZipAccel-RD-INT ) وXilinx FPGAs ( ZipAccel-RD-XIL ).
  • تتضمن وحدات المعالجة المركزية IBM z15 نسخة محسنة من وحدة تسريع Nest (NXU) لتسريع الأجهزة من بطاقات توسيع الإدخال/الإخراج zEDC Express المستخدمة في أنظمة z14 لضغط وفك ضغط Deflate للأجهزة كما هو محدد في RFC1951. [ 19 ] [ 20 ]
  • ابتداءً من معمارية POWER9 ، أضافت IBM دعمًا ماديًا لضغط وفك ضغط Deflate (كما هو محدد في RFC 1951) إلى نواة Nest accelerator (NX) التي كانت سابقًا مُخصصة للتشفير، والتي طُرحت مع POWER7 +. هذا الدعم مُتاح للبرامج التي تعمل بنظام AIX 7.2 Technology Level 4 Expansion Pack أو AIX 7.2 Technology Level 5 Service Pack 2 من خلال مكتبة zlibNX. [ 21 ] [ 22 ]

انظر أيضاً

ملحوظات

  1. يُشار إلى خوارزمية Deflate على نطاق واسع باعتبارها خوارزمية ضغط، على الرغم من أن المواصفات (RFC 1951) تُعرّفها على أنها "تنسيق بيانات". على سبيل المثال، تستخدم مواصفات واجهة برمجة تطبيقات الويب CompressionStream مصطلح "خوارزمية DEFLATE". [ 3 ] عمليًا، تنسيق البيانات هو ناتج الخوارزمية، لذا فإن كلا التعريفين صحيح.

مراجع

  1. مؤلفو لغة Go. "حزمة flate - compress/flate - حزم Go" . لغة برمجة Go . جوجل . تم الاطلاع عليه في 5 سبتمبر 2023. تُنفذ حزمة flate تنسيق البيانات المضغوطة Deflate، الموصوف في RFC رقم 1951 .
  2. "PDF 32000-1:2008: إدارة المستندات - تنسيق المستندات المحمولة - الجزء 1: PDF 1.7" (PDF) . Adobe Open Source . Adobe Inc. ص 23. تم الاطلاع عليه في 5 سبتمبر 2023. FlateDecode [...] يقوم بفك ضغط البيانات المشفرة باستخدام طريقة ضغط zlib/deflate 
  3. "التنسيقات المدعومة" . ضغط WHATWG .
  4. 1 2 دويتش، ل. بيتر (مايو 1996). مواصفات تنسيق البيانات المضغوطة Deflate، الإصدار 1.3 . فريق عمل هندسة الإنترنت (IETF). ص 1. القسم 1. ملخص. doi : 10.17487/RFC1951 . RFC 1951. تاريخ الاسترجاع : 23 أبريل 2014 .   
  5. ↑ براءة اختراع أمريكية رقم 5051745 ، كاتز، فيليب دبليو ، "باحث عن السلاسل، وضاغط يستخدم نفس الشيء"، نُشرت في 24-09-1991، صدرت في 24-09-1991، مُخصصة لشركة PKWare Inc. 
  6. سالومون، ديفيد (2007). ضغط البيانات: المرجع الكامل ( الطبعة الرابعة). سبرينغر. ص 241. ISBN   978-1-84628-602-5.
  7. الاتفاقيات العامة . IETF . ص 5. doi : 10.17487/RFC1951 . RFC 1951 . 
  8. تفاصيل تنسيق الكتلة . IETF . ص 9. doi : 10.17487/RFC1951 . RFC 1951 . 
  9. "الجوهر الثنائي - Deflate64" . مؤرشف من الأصل في 21 يونيو 2017. تم الاطلاع عليه في 22 مايو 2011 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  10. "مقارنات ضغط Binary Essence – "Calgary Corpus"" . مؤرشف من الأصل في 27 ديسمبر 2017. تم الاطلاع عليه في 22 مايو 2011 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  11. "-m (تعيين طريقة الضغط) مفتاح" . sevenzip.osdn.jp . مؤرشف من الأصل بتاريخ 2022-04-09 . تم الاسترجاع بتاريخ 2023-01-21 .
  12. تاريخ خوارزميات ضغط البيانات بدون فقدان البيانات – Deflate64
  13. الأسئلة الشائعة حول zlib – هل يدعم zlib تنسيق "Deflate64" الجديد الذي قدمته PKWare؟
  14. "خطة 9 من /n/sources/plan9/sys/src/libflate" من مختبرات بيل . plan9.bell-labs.com . شركة لوسنت تكنولوجيز. مؤرشف من الأصل بتاريخ 15 مارس 2006.
  15. "ضغط Deflate عالي الأداء مع تحسينات لمجموعات البيانات الجينومية" . برمجيات إنتل . 1 أكتوبر 2019. تم الاطلاع عليه في 18 يناير 2020 .
  16. "libdeflate" . مكتبة مُحسَّنة للغاية لضغط وفك ضغط DEFLATE/zlib/gzip .
  17. ^ مازوليني ، أندريا (21 فبراير 2023). "أمادفانس/أدفانسكومب" . جيثب .
  18. "معالجات Intel Xeon من سلسلة E5-2600 وE5-2400 مع مجموعة شرائح الاتصالات Intel من سلسلة 89xx" . تم الاطلاع عليه بتاريخ 18 مايو 2016 .
  19. 1 2 "تقديم IBM z15 - منصة المؤسسات للحوسبة السحابية الهجينة متعددة السحابات ذات المهام الحرجة" . IBM . 12 سبتمبر 2019. تم الاطلاع عليه بتاريخ 1 نوفمبر 2021 .
  20. 1 2 لاسكو، أوكتافيان (28 أبريل 2021). الدليل التقني لجهاز IBM z15 (8562)، الصفحة 97. منشورات IBM Redbooks. ISBN 9780738458991تم الاطلاع عليه بتاريخ 2021-11-01 .
  21. 1 2 "ضغط البيانات باستخدام مكتبة zlibNX - وثائق IBM" . IBM . تم الاطلاع عليه بتاريخ 1 نوفمبر 2021 .
  22. 1 2 "استغلال التسريع الداخلي لمعالجات POWER لنظام AIX" . تم الاطلاع عليه بتاريخ 2021-11-01 .