گاما یا Gamma در نمایشگرها و فایل‌های تصویری و همچنین فضای رنگ، توانی است که در رابطه‌ی توانی یا لگاریتمی سیگنال و روشنایی ظاهر می‌شود. در ادامه دقت گاما و گامای دیکد و اینکد را بیشتر بررسی می‌کنیم.

گاما

منظور از گاما، Gamma یا حرف یونانی آن γ توانی است که در رابطه‌ی بین سطح سیگنال و روشنایی نمایشگر یا برعکس، روشنایی محیط و سطح سیگنال ذخیره شده توسط حسگر یک دوربین استفاده می‌شود. البته این ساده‌ترین تعریف و رابطه‌ی ممکن است.

گاما و دقت گاما متداول‌ترین کلمات هستند.

اصطلاح گاما شاید اصلاً درست نباشد اما کاملاً مرسوم و متداول است. دقیق‌تر آن است که از عبارت گامای اینکد، فشرده‌سازی گاما (Gamma Compression) یا تصحیح گاما (Gamma Correction) استفاده کنیم. در هنگام نمایش تصویر روی مانیتور هم عبارت گامای دیکد یا گامای بازگشایی واژه‌ی مناسب‌تری است. اما آنچه ساده‌تر و کاملاً مفهوم است، خود گاماست.

گامای دیکد و اینکد را در ادامه توضیح می‌دهم.

گامای دیکد و اینکد

برای تعریف گاما ابتدا باید ببینیم که یک دوربین ساده چطور رنگ‌های هر پیکسل را ذخیره می‌کند.

ساده‌ترین حالت: فرض کنید قرار است از محیط تک‌رنگ عکاسی کنیم. حسگر که در حقیقت از مواد فتوالکتریک تشکیل شده، نور را به سیگنالی ضعیف تبدیل می‌کند که باید با ضرب کردن آن در یک عدد بزرگ و صد البته دیجیتایز کردن، عددی ساخته می‌شود که مشخص کردن آن از بیت‌های حافظه استفاده می‌شود.

255 روشنایی 100 درصدی است و 127 روشنایی 50 درصدی

با یک مثال موضوع روشن می‌شود. فرض کنید روشنایی محیط 200 شمع بر متر مربع است و رنگ آن سفید یکنواخت است. عددی که از حسگر و پردازش تصویر به دست می‌آید، فرضاً 100 است. در معمول‌ترین حالت یعنی استفاده از فضای رنگ RGB 8bit، از 8 بیت داده برای مشخص کردن هر یک از سه رنگ اصلی استفاده می‌شود و این یعنی می‌توان روشنایی را با 2 به توان 8 حالت مشخص کرد. مثلاً عدد 127 روشنایی 50 درصدی است.

گامای اینکد در تبدیل سیگنال به عددی که در فایل‌های تصویری مثل jpeg یا ویدیویی مثل H.264 ذخیره می‌شود، کاربرد دارد. تبدیل سیگنال به عدد یا کد کردن مترادف اینکد (encode) است.

هنگام نمایش تصویر، عکس این حالت اتفاق می‌افتد. عدد به سیگنال تبدیل شده و ولتاژ خاصی به پیکسل‌های نمایشگر داده می‌شود و پیکسل‌ها از خود نور متساعد می‌کنند. اینجا جایی است که گامای دیکد استفاده می‌شود. تبدیل عدد به سیگنال همان دیکد (decode) یا از حالت کد شده خارج کردن است.

چرا از گامای 1 استفاده نمی‌کنیم؟

چشم انسان و حساسیت متفاوت به نور کم و زیاد

چشم انسان عدد 127 را در میانه‌ی راه نمی‌بیند! روشنایی کم را بهتر تفکیک می‌کند و روشنایی زیاد را کمتر. به همین علت است که عدد 50 درصد روشنایی برای چشم انسان به مثابه‌ی بیش از 50 درصد یا دقیق‌تر بگویم، حدود 70 درصد است.

چشم انسان سطوح تیرگی را بهتر تفکیک می‌کند

اگر عدد ذخیره شده را با یک رابطه‌ی خطی ایجاد و استفاده کنیم، مشکلی در بازسازی و نمایش تصویر ایجاد نمی‌شود؛ اما در ویرایش با مشکل روبرو می‌شویم به این معنی که وقتی غلظت رنگ‌ها را بین 0 تا 255 تغییر می‌دهیم، به نظر می‌رسد که ناگهان روشنایی زیاد می‌شود و هر چه عدد بزرگ‌تر می‌شود، تغییر آن کمتر است.

استفاده از یک رابطه‌ی توانی به جای یک رابطه‌ی خطی مشکل حساسیت چشم انسان را حل می‌کند و اینجا جاییست که گامای 2.2 در ویندوز و 1.8 در مک بسیار مفید واقع می‌شود.

گامای دیکد و رابطه‌ی غیر خطی روشنایی در نمایشگرها

همان‌طور که اشاره کردم رابطه‌ی بین سطح ولتاژ و شدت نوری که نمایشگرهای قدیمی CRT تولید می‌کردند، رابطه‌ی خطی نبود بلکه رابطه‌ای توانی بود که مقدار توان را گاما می‌گویند.

رابطه‌ی خطی چیست؟

رابطه‌ی خطی بین ورودی و خروجی یعنی اگر ورودی دو برابر شود، خروجی هم دو برابر می‌شود.

 فرض کنید که اگر سطح سیگنال 0.1 باشد، شدت نور پیکسل‌ها 20 شمع بر متر مربع می‌شود. البته 20 فقط یک مثال است. اگر سطح سیگنال 2 برابر شود هم وضعیت روشن است، شدت نور 40 شمع بر متر مربع می‌شود. این یعنی یک رابطه‌ی خطی بین سیگنال و شدت روشنایی.

حالت خطی یا گامای 1

رابطه‌ی خطی یعنی همان گامای 1، به عبارتی سطح سیگنال و روشنایی نمایشگر به صورت خطی مرتبط هستند.

این حالت مصداق واقعی ندارد، به این معنی که نمایشگرهای CRT قدیمی از آن تبعیت نمی‌کنند. ولتاژ دو برابر شود، روشنایی دو برابر نمی‌شود و این یعنی گاما 1 نیست. چشم انسان هم این حالت را نمی‌پسندد که قبلاً علت را توضیح دادم.

گامای بهینه عدد 2.2 است

حال به مقدار بهینه‌ی گاما می‌پردازم. استانداردی که حاصل آزمایشات گسترده است، گامای بهینه را 2.2 عنوان کرده است. یعنی در عبارت ریاضی فوق اگر سطح سیگنال ورودی 2 برابر شود، روشنی پیکسل 2 به توان 2.2 برابر می‌شود که حدوداً 4.6 برابر است.

البته در مورد سیگنال ضعیف و روشنایی کم، گاما از این رابطه تبعیت نمی‌کند و موضوع کمی پیچیده‌تر است ولیکن برای سادگی میانگین گاما استفاده می‌شود. در فضای رنگ sRGB گامای سطوح ضعیف سیگنال، عدد 1 است و شکل منحنی کاملاً توانی نیست:

بهتر است سیگنال را درصدی و روشنایی را هم درصدی بیان کنیم. اگر سیگنال 50 درصد باشد، روشنایی 21.7 درصد است. در واقع در نمودار فوق، منحنی اول حالت گامای 1 یا رابطه‌ی خطی است و منحنی پایین هم گامای 2.2 را به تصویر می‌کشد. محور افقی فرضاً مقدار ولتاژ یا سطح سیگنال ورودی است و محور عمودی، درصد روشنایی است.

نتیجه‌ی عملی نمودار فوق و مقایسه بین گامای 1 و 2.2 تصویر زیر است. در تصویر زیر ردیف بالایی پیکسل‌هایی با گامای 1 را نشان می‌دهد و ردیف پایین گامای 2.2 است. اعداد بالایی درصد سیگنال است و اعداد پایینی درصد روشنایی. بررسی کنید تا تحلیلی از آن داشته باشیم:

در تصویر فوق و در سمت چپ، دو رنگ داریم، رنگ بالایی متناسب با ولتاژ است و رنگ پایین روشنایی را نشان می‌دهد.

نتیجه این است که:

با 5 درصد سیگنال اگر از گامای 1 استفاده کنیم، نمایشگر CRT ناگهان پیکسل را به شدت روشن می‌کند. این حالت را با گامای 2.2 مقایسه کنید. 0.05 به توان 2.2 می‌رسد که حاصل روشنایی 1 درصدی است. بنابراین گامای 1 مناسب نیست و گامای 2.2 حالت بهینه است.

 کدام صفحه نمایش گامای بهتری دارد؟

پاسخ کاملاً روشن است. در مک گامای 1.8 و در ویندوز گامای 2.2 بهترین حالت و ایده‌آل است. اما نمایشگرها معمولاً با حالت ایده‌آل اندکی فاصله دارند. در بررسی‌ نمایشگرها، تلویزیون‌ها، گوشی‌ها و تبلت‌ها همیشه با نموداری شبیه نمودار زیر روبرو می‌شویم:

در این نمودارها نمایشگری بهترین است که به گامای 2.2 نزدیک‌تر باشد.

آیپد ایر نمایشگر LCD دارد و طبعاً در نمایشگر تصاویر روشن با مصرف انرژی کم استاد است و در مقابل گلکسی نوت 10.1 را داریم که با وجود نمایشگر AMOLED در نمایش تصاویر تیره و کنتراست بالاتر استاد است. طبیعی است که بیشتر LCDها گامای کمتر (تصویر روشن‌تر) داشته باشند و بیشتر AMOLEDها گامای بالاتر (روشنایی کمتر) داشته باشند. البته همیشه اینگونه نیست.

گامای متوسط ملاک است نه نقطه‌ای

دقت کنید که نمایشگرهای مختلف در روشنایی بین صفر تا 100 درصد، از یک گاما استفاده نمی‌کنند. مثلاً ممکن است در نور 50 درصد، گامایی که محاسبه شده 2.1 باشد و وقتی به روشنایی بالاتر مثل 80 درصد می‌رسیم، گاما محاسبه شده به 2.3 تغییر کند. در آزمایشات نمایشگر مقدار متوسط گاما ملاک بررسی و مقایسه است که با در نظر گرفتن گاما در روشنایی‌های مختلف به دست می‌آید.

یک مثال ساده جدول زیر است:

گامای ایده‌آل، روشنایی و گامای واقعی در نمایشگر

سطح سیگنال

روشناییشمع بر متر مربع

روشنایی ایده‌آلبا گامای 2.2

گامای واقعی

یا محاسبه شده

0%

0.4

0

2.2

10%

2.02

1.53

2.08

20%

7.36

7.02

2.17

30%

17.35

17.13

2.19

40%

31.73

32.25

2.22

50%

52.06

52.69

2.22

60%

76.9

77.38

2.21

70%

108.99

108.89

2.2

80%

145.97

146.33

2.21

90%

190.37

189.88

2.18

100%

239.68

239.68

2.2

10 درصد سیگنال با گامای 2.2 به این معنی است که:

که همان عبارت ذکر شده در سطر دوم جدول فوق است. اما در عمل روشنایی بیشتر بوده یعنی گاما کمتر است. بنابراین لگاریتم درصد روشنایی را در پایه‌ی درصد سیگنال ورودی می‌گیریم تا گامای واقعی محاسبه شود:

در نهایت یک منحنی مثل تصویر زیر حاصل می‌شود که قرابت خوبی با گامای 2.2 دارد اما گاهی کمتر و گاهی بیشتر است.

گاما فقط رنگ‌های میانی را تغییر می‌دهد

نکته‌ی مهمی که یادآوری آن لازم است این است که گاما رنگ‌های میانی (بین 0 و 100 درصد) را تحت تأثیر قرار می‌دهد و می‌تواند روشنایی و کنتراست عکس را تنظیم کند. مثلاً در چهار تصویر زیر از گمای 1 الی 4 استفاده شده که تضاد بیشتر در گامای 4 محسوس است، به عبارتی برخی نقاط شدیداً روشن و برخی شدیداً تیره هستند. اما در تصویر 1 روشنایی تعدیل شده و کنتراست کمتر است:

حالت صحیح تصویر سوم است، به این معنی که تابع دیکد و اینکد در نهایت روشنایی واقعی محیط را روی نمایشگر تصویر می‌کنند، نه روشن‌تر و نه تیره‌تر.

گامای اینکد

با توجه به موضوعاتی که بررسی شد، گامای حالت اینکد یا معادل فارسی آن: گامای تبدیل به کد کردن هم می‌توان تعریف کرد. حالت عادی این است که کد رنگ را بدون تغییر به نمایشگر بدهیم و نمایشگر با استفاده از گامای 2.2 آن را تبدیل به نور کند اما گاهی لازم است که در این میان، اعمال پس‌پردازشی صورت بگیرد.

دقت کنید که در دیکد کردن رنگ توسط نمایشگر، توان به کار رفته همان 2.2 است اما برعکس آن یعنی در دیکد، گاما 1/2.2 یا به عبارتی حدود 0.45 است. در دیکد توان کمتر از 1 است و در اینکد بیشتر از یک.

شاید در یک نرم‌افزار ویرایش تصویر مثل فتوشاپ به این نتیجه برسیم که روشنایی کلی یک تصویر و یا حداقل بخشی از آن خوب نیست. در این صورت می‌توان از گامای متفاوتی استفاده کرد. البته استفاده کرد. مثلاً گاما 1 در تصویر فوق کمی تیره است و گامای 2.2 هم بیش از حد روشن به نظر می‌رسد. البته دقت کنید که منظور از گامای 2.2 در تصویر فوق، معکوس آن یعنی 0.45 است.

در بازی‌های کامپیوتری هم معمولاً گزینه‌ی تنظیم روشنایی در تنظیمات قرار داده شده چرا که سازنده‌ی بازی از حال و هوای نمایشگرها آگاه بوده و فرض کرده که شاید نمایشگر کاربر گامای استانداردی نداشته باشد. با تصحیح روشنایی که عملاً گامای اینکد است، مشکل روشنایی را حل می‌کند.

مروری بر گامای دیکد و اینکد به زبان ساده

تصویر زیر همه‌چیز را واضح بیان می‌کند. تصویر سمت راست همان حساسیت چشم انسان است. محور افقی روشنایی اندازه‌گیری شده است و محور عمودی روشنایی که انسان درک می‌کند. می‌بینید که در نور زیر، شیب نمودار و در حقیقت حساسیت انسان کمتر است:

تصویر وسط گامای دیکد است، یعنی محور افقی درصد سیگنال و محور عمودی روشنایی نمایشگر به صورت درصدی است. رابطه‌ی این دو توانی و با توان حدود 2.2 است که به آن گامای 2.2 می‌گوییم.

تصویر سمت چپ همان چیزی است که در فضای رنگ RGB و در فایل‌های تصویری و ویدیویی ذخیره می‌شود. محور افقی روشنایی محیط یا عکس است و محور عمودی عددی است که در این فایل‌ها ذخیره می‌شود. رابطه توانی است که توان عکس گاماست یعنی 1/2.2.

حاصل اعمال گامای دیکد و اینکد چیزی مثل تصویر زیر است که نتیجه‌ی آن یکسان بودن روشنایی تصویر اصلی و نتیجه‌ی نهایی که روی نمایشگر می‌بینیم است:

کالیبره کردن روشنایی و تضاد

روش‌های تنظیم روشنایی و تضاد بدون تغییر گاما

گاما یک رابطه‌ی توانی را بین سیگنال و روشنایی برقرار می‌کرد اما می‌توان روابط دیگری هم استفاده کرد که شاید در مواقعی مناسب‌تر باشند.

روش اول Gain است، یعنی روشنایی را همیشه در یک عدد به نام گین ضرب کنیم. حاصل رنگ قرمز در نمودار زیر است. روش دیگر استفاده از شیفت است به این معنی که روشنایی را همیشه با یک عدد خاص جمع کنیم که رنگ سبز در نمودار زیر است:

هر دو مورد معایب خود را دارند.

  • استفاده از گین باعث روشن شدن تمام تصویر می‌شود ولیکن نقاطی که قبلاً روشنایی بیش از فرضاً 60 درصد داشته‌اند، همگی کاملاً سفید و روشن می‌شوند. نتیجه از بین رفتن جزئیات بخش‌های روشن است.
  • روش دیگر استفاده از شیفت روشنایی است که بخش‌های کاملاً تاریک را فرضاً با روشنایی 30 درصدی نشان می‌دهد و این یعنی جزئیات بخش‌های تیره در تصویر از بین می‌رود.

کالیبره کردن نمایشگر با تنظیم روشنایی و تضاد

در تلویزیون‌ها و نمایشگرهای معمولی چیزی به نام تصحیح گاما نداریم اما در مدل‌های رده اول و پیشرفته، می‌توان منحنی گاما را هم تعریف کرد که مطمئناً نسبت به استفاده از یک رابطه‌ی توانی ساده، بهتر است.

در نمایشگرهای معمولی تنظیم روشنایی و تضاد با شیفت و گین انجام می‌شود. لذا اگر تصویر را زیاد روشن کنید، بخش‌های سفید جزئیاتی ندارند و اگر تضاد را بیش از حد بالا ببرید، بخش‌های تیره جزئیات خود را از دست می‌دهند.

علت را یک بار دیگر مرور کنیم:

وقتی شیفت روشنایی فرضاً 30 درصد باشد، تمام بخش‌های خاکستری با روشنایی بالای 70 درصد، به 100 درصد می‌رسند و عملاً یکسان هستند و لذا جزئیاتی ندارند. تضاد زیاد که همان گین بزرگ است هم همین اثر را روی رنگ‌های تیره می‌گذارد.

روش عملی بهینه کردن روشنایی و تضاد برای رنگ‌های متوسط

این بهینه‌سازی بسیار مهم است و در درجه‌ی اول اهمیت قرار می‌گیرد. بیشتر تصاویر شامل رنگ‌های میانی هستند، نه سفید کامل یا سیاه کامل.

ابتدا مانیتور و تلویزیون را حدود 10 الی 15 دقیقه روشن بگذارید که به ثبات نسبی برسد. سپس کار را شروع کنید. تنظیمات حالات غیر استاندارد و گامای غیر از 2.2 را به حالت پیش‌فرض و استاندارد تغییر دهید که اشتباهی رخ ندهد.

ابتدا کنتراست مانیتور LCD را در حالت پیش‌فرض قرار دهید. اگر CRT (مانیتورهای حجیم قدیمی) دارید هم کنتراست را روی 100 درصد تنظیم کنید.

برای تنظیم روشنایی از تصاویری با بلوک‌های متضاد سیاه و سفید استفاده می‌شود. یکی از بهترین طرح‌هایی که تاکنون استفاده کرده‌ام تصویر زیر است:

از تلویزیون یا مانیتور خود فاصله بگیرید و به آن نگاه کنید. راه‌راه‌ها ترکیب می‌شوند. بلوک میانی با پس‌زمینه یکی می‌شود و بلوک چپ کمی روشن‌تر و بلوک راست کمی تیره‌تر است. اگر بلوک میانی با پس زمینه یکی نیست، کنتراست مانیتور شما خوب نیست یا به کالیبره کردن نیاز دارد.

روشنایی را از عددی کوچک مثل 0 درصد تدریجاً زیاد کنید و این کار را تا جایی ادامه دهید که بلوک میانی با پس‌زمینه ترکیب و یکی شود. در این مرحله دست نگه دارید چرا که به حالت بهینه رسیده‌اید.

تصویر جالب‌تری که نشان می‌دهد گامای مانیتور یا نمایشگر شما حدوداً چند است، تصویر زیر است:

باز هم از مانیتور یا تلویزیون دور شوید که راه‌راه نبینید. مربعی که اعداد در آن نوشته شده در 9 تصویر فوق از حاشیه کاملاً جدا به نظر می‌رسد، مگر یک مورد. مثلاً اگر مانیتور شما کالیبره باشد باید مربعی که گامای 2.2 در آن ذکر شده را از حاشیه‌ی آن تشخیص ندهید.

امتحان کنید و ببینید حدوداً گامای نمایشگر شما چند است. البته این روش حدودی است. روش دقیق نیاز به ابزار نورسنجی دارد که معمولاً نرم‌افزارهای خاصی هم برای بنچ‌مارک گرفتن از نمایشگر با استفاده از این نوع ابزارها تهیه شده که می‌توان از آن برای تنظیم و کالیبراسیون هم استفاده کرد.

تنظیم روشنایی و تضاد برای رنگ‌های سیاه و سفید

مثل مرحله‌ی قبلی ابتدا 10 الی 15 دقیقه نمایشگر را روشن بگذارید که به ثبات برسد.

دو تصویر زیر یکی از بهترین طرح‌های کالیبره کردن روشنایی و کنتراست است که در هر یک 8 رنگ متمایز داریم:

ابتدا جزئیات تیرگی‌های تصویر، روشنایی را آن قدر کم کنید که مرز تاریک‌ترین مستطیل‌ها به زحمت تشخیص داده شود.

قدم بعدی با تصویر روشن انجام می‌شود. کنتراست را آن قدر زیاد کنید که مرز دو بلوک سفیدتر به زحمت دیده شود.

یادتان باشدکه همیشه نمی‌توان هم حالت بهینه‌ی رنگ‌های میانی را داشت و هم حالت بهینه‌ی رنگ‌های کاملاً سیاه و کاملاً سفید را تجربه کرد. باید توازنی بین این دو برقرار کرد.