جيه بيه إيه جي

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
معلومات عن الملف
الاسم ملف
النوع ملف صورة نقطية
الأمتداد JPG JPEG
المطور Joint Photographic Experts Group
موقع المطور http://jpg.org

جيه بي إي جي (بالإنجليزية: JPEG) في المعلوماتية هي طريقة معيارية شائعة لضغط الصور الرقمية مع خسارة في القيمة المعلوماتية للصورة. ويسمى الشوكل الذي يوظف هذا الضغط JPEG كذلك؛ أشهر الامتدادات المستخدمة لهذا الشوكل هي.jpeg و.jfif و.jpg و.JPG و.JPE لكن .jpg يبقى أكثرها استخداما في جميع المنصات.

وهذا الشوكل - JPEG/JFIF - أكثر الشواكل استخداما لحفظ ونقل الصور الشمسية على شبكة الويب. إذ أنها مفضلة على شواكل أخرى مثل GIF، الذي لا يسمح إلا ب256 لون مختلف، وهذا غير كاف للصور الشمسية، و PNG الذي ينتج ملفات كبيرة مقارنة ب JPEG/JFIF. ويعود هذا إلى ضغطها العالي الذي يضغط البيانات بنسبة 20 مرة تقريبا فمثلا إذا كانت تحتاج صورة 200 بت فإن استعمال خوارزمية الضغط هذه يمكن تقليصها إلى 10 بتات.

لكن إذا كان هذا الشوكل ملائما للصور، فإنه يبقى عاجزا عن منافسة GIF و PNG في الرسوم المتجيّة والبيانات الأيقونية والنسيجية، بسبب سوء أداء طريقة ضغطه على مثل هذه الأنواع من الصور، التي يشيع استعمال GIF و PNF بالنسبة لها.

و JPEG اختصار لكلمة Joint Photographic Expert Group، وهي الجهة القائمة على تطوير هذه الخوارزمية.

خوارزمية JPEG للضغط متناظرة أي أن الجهد اللازم للتشفير هو نفس الجهد اللازم لفك التشفير. وفي ما يلي شرح لكيفية عمل الخوارزمية في أبسط صيغاتها المسماة تشفير خط الأساس المتتالي Baseline Sequential Encoding والقائمة على الخطوات السبعة التالية:

الترقيم[عدل]

الترقيم أو digitalization هو عملية استعيان للقنوات الثلاثة الموجودة في الصورة ألا وهي الأحمر والأخضر والأزرق. ويتم حفظ كل بكسل (أي كل نقطة استمثال) في 8 بتات (لكل قناة).

يمكن أن نتصور أن الصورة الرقمية عبارة عن 3 مصفوفات يمثل كل بكسل فيها عنصر من عناصر المصفوفة. أي أنه مثلا إذا كان لديك صورة طولها أربع بكسلات وعرضها أربع بكسلات فإنه لديك 16 بكسل ويمكن أن تحفظ هذه الصورة في شاكلة 3 مصفوفات (مصفوفة لكل من اللون أو ما يسمى القناة الحمراء والخضراء والزرقاء). ويكون في كل عنصر عدد يدل على قوة اللون (مثلا رقم 255 في القناة الحمراء يدل على أحمر قان و 0 يدل على لون أحمر خافت).

تغيير التشفير[عدل]

يتم تغيير التشفير من RGB (أحمر أخضر أزرق) إلى تشفير Y،U،V حيث Y هي الإضائة و Uو V هي التلون. كيف يتم هذا وما معناه؟؟
يتم التحويل بالطريقة التالية:
Y= 0,299 R + 0,587 G + 0,144 B
U=-0,169 R -0,331G +0,5 B +128
V= 0,5 R -0,419 G -0,081 B +128
مع الإشارة إلى أن 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 و يعني الرقم الأول أنه يجب أن نتخطى 3 بتات (أي لا يتم حفظها) وأن الرقم القادم يكون -12

تشفير بطريقة VLC[عدل]

VLC اختصار ل Variable Length Coding أو ما يعرف بتشفير هوفمان Huffman-Coding. حيث يتم حفظ كل عدد يظهر بالشعاع بطريقة أمثل من ناحية حجم البيانات. حيث أن الأرقام التي تظهر بكثرة في الشعاع يتم تشفيرها بعدد صغير من البتات مثلا إذا كان الرقم 2 يظهر بكثرة في الشعاع فإنه يرمز له ب 0 عوض التشفير الثنائي العادي الذي يحتاج إلى بتان لحفض الرقم 2 لأنه يحفظها 10. أما الأرقام التي تظهر بقلة فإنه يتم تشفيرها بعدد كبير من البتات. يتم التشفير بطريقة حيث أنه لا يمكن أن يتشابه رقمان في بدايتهما يعني أنه لو كان أول بت تحصل عليه من الشعاع هو 0 فلا داعي لانتظار ما سيأتي بعده من بتات لمعرفة معنى هذا البت ويمكن القول مباشرة أن 0 هي التشفير المقابل لرقم 5 مثلا. و تمثل الخطوتان الأخيرتان ما يعرف ب تشفير إنتروبي وهي طريقة تشفير لا تضيع معها معلومات.

انظر أيضاً[عدل]

وصلات خارجية[عدل]