جيه بيه إي جي
جيه بي إي جي (بالإنجليزية: JPEG) في المعلوماتية هي طريقة معيارية شائعة لضغط الصور الرقمية مع خسارة في القيمة المعلوماتية للصورة.[1][2][3] ويسمى الشكل الذي يوظف هذا الضغط JPEG كذلك؛ أشهر الامتدادات المستخدمة لهذا الشكل هي.jpeg و.jfif و.jpg و.JPG و.JPE لكن.jpg يبقى أكثرها استخداما في جميع المنصات.
جيه بيه إيه جي
|
وهذا الشكل - JPEG/JFIF - أكثر الشواكل استخداما لحفظ ونقل الصور الشمسية على شبكة الويب. إذ أنها مفضلة على شواكل أخرى مثل GIF، الذي لا يسمح إلا ب256 لون مختلف، وهذا غير كاف للصور الشمسية، و PNG الذي ينتج ملفات كبيرة مقارنة ب JPEG/JFIF. ويعود هذا إلى ضغطها العالي الذي يضغط البيانات بنسبة 20 مرة تقريبا فمثلا إذا كانت تحتاج صورة 200 بت فإن استعمال خوارزمية الضغط هذه يمكن تقليصها إلى 10 بتات.
لكن إذا كان هذا الشكل ملائما للصور، فإنه يبقى عاجزا عن منافسة GIF و PNG في الرسوم المتجيّة والبيانات الأيقونية والنسيجية، بسبب سوء أداء طريقة ضغطه على مثل هذه الأنواع من الصور، التي يشيع استعمال GIF و PNG بالنسبة لها.
و JPEG اختصار لكلمة Joint Photographic Expert Group، وهي الجهة القائمة على تطوير هذه الخوارزمية.
خوارزمية JPEG للضغط متناظرة أي أن الجهد اللازم للتشفير هو نفس الجهد اللازم لفك التشفير. وفي ما يلي شرح لكيفية عمل الخوارزمية في أبسط صيغاتها المسماة تشفير خط الأساس المتتالي Baseline Sequential Encoding والقائمة على الخطوات السبعة التالية:
الترقيم
الترقيم أو digitalization هو عملية استعيان للقنوات الثلاثة الموجودة في الصورة ألا وهي الأحمر والأخضر والأزرق. ويتم حفظ كل بكسل (أي كل نقطة استمثال) في 8 بتات (لكل قناة).
يمكن أن نتصور أن الصورة الرقمية عبارة عن 3 مصفوفات يمثل كل بكسل فيها عنصر من عناصر المصفوفة. أي أنه مثلا إذا كان لديك صورة طولها أربع بكسلات وعرضها أربع بكسلات فإنه لديك 16 بكسل ويمكن أن تحفظ هذه الصورة في شاكلة 3 مصفوفات (مصفوفة لكل من اللون أو ما يسمى القناة الحمراء والخضراء والزرقاء). ويكون في كل عنصر عدد يدل على قوة اللون (مثلا رقم 255 في القناة الحمراء يدل على أحمر قان و 0 يدل على لون أحمر خافت).
تغيير التشفير
يتم تغيير التشفير من RGB (أحمر أخضر أزرق) إلى تشفير Y،U،V حيث Y هي الإضائة و Uو V هي التلون. كيف يتم هذا وما معناه؟؟
يتم التحويل بالطريقة التالية:
مع الإشارة إلى أن R،G،B،U،V،Y بين 0 و 255. كما أن المعاملات في التحويل تأتي من حساسية العين البشرية حيث أنها حساسة جدا في مجال اللون الأخضر في حين أنها أقل حساسية في مجال اللونين الأزرق والأحمر ذلك فإن المعامل للون الأخضر هو الأكبر قيمة مقارنة بالمعاملين الأخرين ولهذا السبب لا نقوم بارساله بل نرسل فقط اللونين الاحمر والازرق وفي الاستقبال نقوم باستنتاجه للتقليل من معدل البيانات المرسله
تقسيم الصورة إلى قطع 8x8 بكسل
يتم تقسم الصورة إلى قطع متكونة من 8x8 بكسل لتكون أسهل معالجة في الخطوة الموالية. (ما يحدث مع صور غير قابلة للقسمة على 8 معرف في المعيار الخاص بجايبغ)
تحويل جيب التمام
يتم تحويل كل من المصفوفات 8x8 عن طريق تحويل جيب التمام ونتحصل بذلك على مصفوفا تحتوي على التردد المكاني
استعيان التردد المثالي
في هذه الخطوة يمكن أن نفقد بعض البتات أو المعلومات من الصورة. حيث يتم استعيان الترددات Frequency Samplingالبطيئة بطريقة جيدة(بطريقة تسمح برؤية الفوارق الصغيرة بين ترددين مختلفين) في حين يتم استعيان الترددات السريعة بطريقة سيئة (أي أنه مثلا تردد 50 بكسل في وحدة طول و 60 بكسل في وحدة طول كلها تمثل ب 50 بكسل في وحدة طول أي لا يمكن التفريق بينهما. مع الإشارة إلى أنه يجب فهم كلمة بكسل في وحدة طول على أنها تردد مكاني حيث لا يمكن إتخاذ الهرتز كوحدة هنا لأن التردد ليس زمني). والسبب في عمل هذا هو أن العين البشرية لا يمكنها التمييز بين الترددات المكانية السريعة فإن تأملت في خط طوله سنتمتر مثلا يتكون من 100 بكسل فإنك لن تلحظ فرقا بالنسبة لخط فيه 1000بكسل
مسح الصورة
يتم بعد ذلك مسح الصورة بطريقة تجعل البيانات في شكل شعاع بدلا من مصفوفة ويتم المسح كما هو مبين في الصورة.
تشفير بطريقة RLC
يتم في هذه الخطوة تشفير الشعاع الذي تحصلنا عليه أعلاه (و هو في العادة يحتوي الكثير من الأصفار) بطريقة RLC وهي اختصار ل Run Length Coding. حيث أنه إذا كان لدينا الشعاع التالي:
12 0 0 0 36
فإنها تكتب:
و يعني الرقم الأول أنه يجب أن نتخطى 3 بتات (أي لا يتم حفظها) وأن الرقم القادم يكون -12
تشفير بطريقة VLC
VLC اختصار ل Variable Length Coding أو ما يعرف بتشفير هوفمان Huffman-Coding. حيث يتم حفظ كل عدد يظهر بالشعاع بطريقة أمثل من ناحية حجم البيانات. حيث أن الأرقام التي تظهر بكثرة في الشعاع يتم تشفيرها بعدد صغير من البتات مثلا إذا كان الرقم 2 يظهر بكثرة في الشعاع فإنه يرمز له ب 0 عوض التشفير الثنائي العادي الذي يحتاج إلى بتان لحفض الرقم 2 لأنه يحفظها 10. أما الأرقام التي تظهر بقلة فإنه يتم تشفيرها بعدد كبير من البتات. يتم التشفير بطريقة حيث أنه لا يمكن أن يتشابه رقمان في بدايتهما يعني أنه لو كان أول بت تحصل عليه من الشعاع هو 0 فلا داعي لانتظار ما سيأتي بعده من بتات لمعرفة معنى هذا البت ويمكن القول مباشرة أن 0 هي التشفير المقابل لرقم 5 مثلا. و تمثل الخطوتان الأخيرتان ما يعرف ب تشفير إنتروبي وهي طريقة تشفير لا تضيع معها معلومات.
انظر أيضاً
مراجع
- "Multi-Picture Format" (PDF)، 2009، مؤرشف من الأصل (PDF) في 10 أكتوبر 2017، اطلع عليه بتاريخ 30 ديسمبر 2015.
- "JPEG Patent's Single Claim Rejected (And Smacked Down For Good Measure)"، Techdirt.com، 01 أغسطس 2008، مؤرشف من الأصل في 17 يوليو 2018، اطلع عليه بتاريخ 29 مايو 2011.
- Thomas G. Lane.، "Advanced Features: Compression parameter selection"، Using the IJG JPEG Library، مؤرشف من الأصل في 01 يناير 2018.