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

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

خوارزميات ترميز هوفمان المتكيف
------------------------------

هناك الكثير من الخوارزميات من ابرزها "FGK" وخوارزمية فيتر

خوارزمية فيتر Vitter algorithm
------------------------------

بداية يتم تمثيل الرمز كبنية شجرة حيث ان كل عقدة لها وزن معين ورقم فريد من نوعه ويتم وضع الأرقام من الأعلى إلى الأسفل ومن اليمين إلى اليسار.

الوزن: يجب الاخذ بعين الاعتبار بشأن وضع الأوزان عند الاخوة من نفس الاب، حيث ان القاعدة تنص على انه يجب ان توضع العقدة حسب تسلسل متناقص للأوزان مع العقدة المجاورة لها من شقيقاتها.

فعلى سبيل المثال إذا كان "A" هو اب للعقدة "B" و "C" هي أحد أبناء "B", فإن وزن "A"> وزن "B"> وزن "C".

وبالتالي فان الوزن هو عد الرموز المنقولة التي ترتبط مع ابناءها مت تلك العقدة.

مجموعة العقد التي تمتلك اوزان مشابهة تشكل «كتلة».

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

نحن بحاجة الآن لطريقة أعم ومباشرة لنقل الرمز الذي «لم يرسل حتى الآن» (NYT) على سبيل المثال نقل رمز ثنائي لكل رمز في الابجدية.

التشفير وفك التشفير يبدأ بالجذر (root) الذي يملك اعلى رقم. وأيضا بالبداية تكون العقدة البدائية للشجرة هي (NYT).

عندما نقوم بنقل رمز NYT , يجب علينا إحالة رمز ثنائي له وليتم تعميمه.

كل رمز "symbol" مدخل من قبل في الشجرة، يجب علينا احالة رمز "code" لاستدعائه.

### لكل رمز "symbol" يتم نقله من المرسل أو المتلقي، يجب ان يتخد هذه الإجراءات

1- إذا كان الرمز الحالي هو NYT , نقوم بإضافة ابنين تابعين لل NYT بحيث يكون واحد منهما هو NYT الجديد والاخر يكون للرمز المدخل، والوزن يتم زيادته للرمز المدخل و NYT القديمة، ومن ثم الانتقال إلى الخطوة رقم 4 , وإذا لم تكن NYT يجب الذهاب إلى العقدة الطرفية.

2- إذا كانت هذه العقدة لا تمتلك اعلى رقم في الكتلة، يجب المبادلة بينها وبين العقدة التي تمتلك اعلى رقم، ما عدا عقدة الجذر.

3- زيادة الوزن للعقدة الحالية.

4- ان لم تكن هذه العقدة هي الجذر، اذهب إلى الاب وبعدها اذهب إلى الخطوة رقم 2 , اما إذا كانت الجذر، انتهت.

ملاحظة: المبادلة بين العقد تعني المبادلة بالاوزان والرموز المقابلة، ولكن ليس الأرقام.

Developing adaptive Huffman tree

شرح المثال:
-تبدأ شجرة فارغة.
-لنقل أول حرف "a" نقوم بإنزال عقدتين من NYT القديمة: 255 و 254 مع زيادة وزن الجذر ليصبح "1"
-أصبح الرمز الثنائي ل "a" المرتبط بعقدة 255 هو 1
-لنقل تاني حرف وهو "b" إلى الرمز الثنائي نقوم بإنزال عقدتين (أبناء) لل NYT هما 252 خاصة ب NYT الجديدة و 253 لحرف "b" مع زيادة وزن 254 و253 والجذر واصبح هنا الرمز الثنائي ل "b" هو 01
-لنقل ثالث حرف "b" وهو 01 , علينا الذهاب إلى العقدة 253 وهنا نجد انه هناك كتلة من العقد تمتلك نفس الوزن وهو "1" والرقم الأكبر في هذه الكتلة هو 255 , لذلك نقوم بالمبادلة بين الوزن والرمز للعقدة 253 مع 255 بالإضافة إلى زيادة الوزن وبعدها الذهاب إلى الجذر وزيادة وزنه.

- هنا أصبح الرمز الثنائي لحرف "b" هو 1 , و "a" هو 01 , وهو ما يعكس معدل تكرارهما.

المراجع
-------

1. ↑  "معلومات عن ترميز هوفمان المتكيف على موقع xlinux.nist.gov". xlinux.nist.gov. مؤرشف من الأصل في 2021-05-01.
2. ↑  "معلومات عن ترميز هوفمان المتكيف على موقع semanticscholar.org". semanticscholar.org. مؤرشف من الأصل في 2021-06-27.

| * ع
* ن
* ت
طرائق ضغط البيانات |
| --- |
| تراميز عديمة الخسارة | 

|  |  |
| --- | --- |
| بالاعتلاج | 
* واحدي
* حسابي
* غلومب
* شانون 
	+ وفانو
	+ وفانو وإلياس
* هوفمان
	+ المُتكيِّف
	+ المعياري
	+ المُعدَّل
* النطاق
* تانستال
* الرموز العامة 
	+ غلومب الأُسِّي
	+ فيبوناتشي
	+ إلياس غاما
	+ ليفينشتاين

 |
| بالاستبدال  | 
* زوج البايتات
* لامبل وزيف 
	+ 842
	+ خوارزمية بروتلي
	+ خوارزمية الانكماش
	+ الرابعة  (LZ4)
	+ اعتلاج محدود الحالات  (LZFSE)
	+ وجيف بونويك  (LZJB)
	+ وفق سلسلة ماركوف  (LZMA)
	+ وأوبيرهامر  (LZO)
	+ وروز ويليامز  (LZRW)
	+ وستاك  (LZS)
	+ وستورير وتشيمانسكي  (LZSS)
	+ وويلش (LZW)
	+ وويلش المقطعيَّة  (LZWL)
	+ المُوسَّعة  (LZX)
	+ خوارزمية سنابي
	+ المعيار زد  (Zstd)

 |
| أنواع أخرى | 
* تحويل بوروس وويلر  (BWT)
* وزن شجرة المحتوى  (CTW)
* ترميز دلتا
* ضغط ماركوف المتغير  (DMC)
* تحويل النقل للمقدمة  (MTF)
* التوقع بالتطابق الجزئي  (PPM)
* وفق طول التتابع (RLE)

 |

 |
| تراميز ذاتخسارة | 

|  |  |
| --- | --- |
| بالتحويل  | 
* مُتقطِّع
* الجيب وجيب التمام
	+ جيب التمام المُتقطِّع (DCT)
		- جيب التمام المُتقطِّع المُعدَّل  (MDCT)
		- الجيب المُتقطِّع  (DST)
* تحويل فورييه السريع (FFT)
* المُويجة 
	+ المُتقطِّع  (DWT)
	+ مويجات دوبشيه
	+ تجزئة المجموعة في الأشجار الهرمية  (SPIHT)

 |
| بالتوقُّع | 
* التضمين النبضي المُرمَّز التفاضلي (DPCM)
	+ المُتكيِّف  (ADPCM)
* ترميز خطي بالتوقع (LPC)
	+ ملتف  (WLPC)
	+ مُثار بالرمز  (CELP)
	+ جبري مُثار بالرمز  (ACELP)
	+ نسبة لوغاريتم المنطقة  (LAR)
	+ أزواج الخط الطيفية  (LSP)
* الحركة
	+ التعويض
	+ تقدير الاتجاه
	+ الشعاع
* نموذج علم الصوتيات النفسي

 |

 |
| ضغط الصوت | 

|  |  |
| --- | --- |
| المفاهيم | 
* معدل نقل البتات
	+ وسطي  (ABR)
	+ ثابت  (CBR)
	+ مُتغيِّر (VBR)
* الضغط والتمديد
* الطي
* نسبة تغير المجال
* التأخير
* الجودة
* الاستعيان
	+ مبرهنة نايكويست وشانون
* ترميز الكلام
* ترميز أجزاء النطاق

 |
| أجزاء مُرمِّز الصوت | 
* خوارزميات القوانين
	+ A
	+ μ
* المُثار بالرمز  (CELP)
* الجبري المُثار بالرمز  (ACELP)
* التضمين النبضي المُرمَّز التفاضلي (DPCM)
	+ المُتكيِّف  (ADPCM)
* تحويل فورييه
* ترميز خطي بالتوقع (LPC)
	+ ملتف  (WLPC)
	+ نسبة لوغاريتم المنطقة  (LAR)
	+ أزواج الخط الطيفية  (LSP)
* تحويل جيب التمام المعدل  (MDCT)
* نموذج علم الصوتيات النفسي

 |

 |
| ضغط الصورة | 

|  |  |
| --- | --- |
| المفاهيم | 
* استعيان جزئي لوني
* وحدة شجرة الترميز
* فضاء لوني
* أثر الضغط
* الدِّقة
* وحدة تجميعية كبرى
* بكسل
* PSNR
* تكميم
* صورة الاختبار المعياري

 |
| الطُّرق | 
* ترميز السلسلة
* تحويل جيب التمام المتقطع (DCT)
* تحويل الأشجار الصفرية المُضمَّنة للمويجات  (EZW)
* ضغط كُسيري
* مبرهنة كارهونين ولويف  (KLT)
* تمثيل هرمي
* ترميز وفق طول التتابع (RLE)
* تجزئة المجموعة في الأشجار الهرمية  (SPIHT)
* ضغط المويجات

 |

 |
| ضغط الفيديو | 

|  |  |
| --- | --- |
| المفاهيم | 
* معدل نقل البتات
	+ وسطي  (ABR)
	+ ثابت  (CBR)
	+ مُتغيِّر (VBR)
* دقة شاشة العرض
* الإطار
	+ مُغدَّل الأطر
	+ en
* المسح المُتداخِل
* جودة الفيديو

 |
| أجزاء مُرمِّز الفيديو | 
* تحويل متراكب الحدود
* تحويل جيب التمام المتقطع (DCT)
* مرشح تفكيك التجميع
* تعويض الحركة

 |

 |
| النظرية | 
* نظرية المعلومات
* الاعتلاج
* تعقيد كولموغروف
* ضغط ذو خسارة
* تكميم
* نظرية المُعدَّل والتشوُّه
* فائضية

 |
| 
* {{صيغ مضغوطة}}
* {{برمجيات ضغط البيانات}}

 |

* أيقونة بوابةبوابة خوارزميات