ترميز جاما لإلياس

إلياسγ{\displaystyle \gamma }يُعدّ رمز إلياس غاما رمزًا عالميًا لترميز الأعداد الصحيحة الموجبة، وقد طوّره بيتر إلياس . [ 1 ] : 197، 199. ويُستخدم هذا الرمز بشكل شائع عند ترميز الأعداد الصحيحة التي لا يمكن تحديد حدّها الأعلى مسبقًا.

التشفير

لترميز رقم x  ≥ 1:

  1. يتركشمال=سجل2x{\displaystyle N=\lfloor \log _{2}x\rfloor }ليكن أعلى قوة للعدد 2 يحتويها، لذا فإن 2N x < 2N + 1 .
  2. اكتبشمال{\displaystyle N}إذن، صفر بت
  3. أضف الشكل الثنائي لـx{\displaystyle x}، أن(شمال+1){\displaystyle (N+1)}عدد ثنائي مكون من - بت.

طريقة مكافئة للتعبير عن نفس العملية:

  1. التشفيرشمال{\displaystyle N}في صيغة أحادية ؛ أي، كماشمال{\displaystyle N}أصفار متبوعة بواحد.
  2. أضف المتبقيشمال{\displaystyle N}الأرقام الثنائية لـx{\displaystyle x}إلى هذا التمثيل لـشمال{\displaystyle N}.

لتمثيل رقمx{\displaystyle x}، يستخدم إلياس غاما (γ)2سجل2(x)+1{\displaystyle 2\lfloor \log _{2}(x)\rfloor +1}بتات. [ 1 ] : 199

يبدأ الكود ( تمت إضافة توزيع الاحتمالية الضمني للكود من أجل التوضيح):

رقمثنائيترميز غاماالاحتمال الضمني
1  =  2 0  +  011نصف
2 = 2 1 + 0100101/8
3 = 2 1 + 1110111/8
4 = 2 2 + 0100001001/32
5 = 2 2 + 1101001011/32
6 = 2 2 + 2110001101/32
7 = 2 2 + 3111001111/32
8 = 2 3 + 0100000010001/128
9 = 2 3 + 1100100010011/128
10 = 2 3 + 2101000010101/128
11 = 2 3 + 3101100010111/128
12 = 2 3 + 4110000011001/128
13 = 2 3 + 5110100011011/128
14 = 2 3 + 6111000011101/128
15 = 2 3 + 7111100011111/128
16 = 2 4 + 0100000000100001/512
17  =  2 4  + 1 100010000100011/512

فك التشفير

لفك تشفير عدد صحيح مشفر باستخدام خوارزمية جاما إلياس:

  1. اقرأ وعدّ الأصفار من التدفق حتى تصل إلى أول 1. سمّ هذا العدد من الأصفار N.
  2. باعتبار الرقم الذي تم الوصول إليه هو الرقم الأول من العدد الصحيح، بقيمة 2N ، اقرأ الأرقام N المتبقية من العدد الصحيح.

الاستخدامات

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

قد يكون ترميز غاما أكثر كفاءة من حيث الحجم في هذه الحالات. على سبيل المثال، لاحظ في الجدول أعلاه أنه إذا تم اختيار حجم ثابت 8 بت لتخزين عدد صغير مثل العدد 5، فسيكون الناتج الثنائي هو 00000101، بينما سيكون الإصدار ذو البتات المتغيرة باستخدام ترميز غاما هو 00 1 01، أي أنه يحتاج إلى 3 بتات أقل. على النقيض من ذلك، فإن القيم الأكبر، مثل 254 المخزنة بحجم ثابت 8 بت، ستكون ، 11111110بينما سيكون الإصدار ذو البتات المتغيرة باستخدام ترميز غاما هو 0000000 1 1111110، أي أنه يحتاج إلى 7 بتات إضافية.

يُعد ترميز جاما لبنة أساسية في ترميز دلتا إلياس .

التعميمات

لا يُشفّر ترميز غاما الصفر أو الأعداد الصحيحة السالبة. إحدى طرق التعامل مع الصفر هي إضافة 1 قبل التشفير ثم طرح 1 بعد فك التشفير. طريقة أخرى هي إضافة 1 قبل كل رمز غير صفري ثم تشفير الصفر كصفر واحد.

إحدى طرق ترميز جميع الأعداد الصحيحة هي إنشاء تقابل ، حيث يتم ربط الأعداد الصحيحة (0، -1، 1، -2، 2، -3، 3، ...) بالأعداد الصحيحة (1، 2، 3، 4، 5، 6، 7، ...) قبل الترميز. في البرمجيات، يتم ذلك بسهولة عن طريق ربط المدخلات غير السالبة بمخرجات فردية، والمدخلات السالبة بمخرجات زوجية، بحيث تصبح البتة الأقل أهمية بتة إشارة معكوسة . {x2x+1wحهـن x0x-2xwحهـن x<0{\displaystyle {\begin{cases}x\mapsto 2x+1&\mathrm {when~} x\geq 0\\x\mapsto -2x&\mathrm {when~} x<0\\\end{cases}}}

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

انظر أيضاً

مراجع

  1. 1 2 إلياس، بيتر (مارس 1975). "مجموعات الكلمات المشفرة العالمية وتمثيلات الأعداد الصحيحة". معاملات IEEE في نظرية المعلومات . 21 (2): 194-203 . doi : 10.1109/tit.1975.1055349 .

للمزيد من القراءة

  • سيود، خالد (2003). "رموز غاما ليفنشتاين وإلياس". دليل الضغط غير الفاقد للبيانات . إلسيفير . ISBN 978-0-12-620861-0.