عکس و روش‌های ذخیره سازی و فشرده سازی آن

عکس و روش‌های ذخیره سازی و فشرده سازی آن
خبرگزاری دانشجو
خبرگزاری دانشجو - ۱۴ بهمن ۱۴۰۰

گروه بازرگانی خبرگزاری دانشجو_

scanner:

اسکنر ابزاری برای نمونه برداری تصویر یا هرگونه عکس است که میتواند تصویر را  به صورت دیجیتال دربیاورد.

خب حالا ببینیم که اسکنر ها اصلا چه طور کار میکنن

یک منبع نورانی شبیه لامپ فلوئورسنت دارد که نور را به تصویر می‌تاباند.

بازتابش این نور به آرایه ای از المان ها به نام CCD (charged coupled device) برخورد می‌کند.

CCDها به نور حساس هستند و با توجه به نور تابیده شده شارژ می‌شوند.

در اسکنر‌های سیاه و سفید قسمت هایی از عکس که تیره‌تر است با برخورد نور،نور بیشتری را جذب می‌کنند .

نوری که به CCDها می‌رسد کمتر است و در نتیجه CCDها کمتر شارژ می‌شوند و بلعکس.

در اسکنر های رنگی یک منشور جلوی منبع نورانی گذاشته می‌شود و نور به ۳ طیف آبی ، قرمز ، سبز می‌شکند.

در اینجا ۳ آرایه از CCDها وجود دارند که یکی از آنها میزان آبی بودن و دیگری سبز و قرمز بودن را نشان می‌دهند.

روش‌های کاهش رنگ در ذخیره‌سازی عکس یا همان تصویر:

فرض میکنیم برای ذخیره‌سازی عکس یا تصویر هر پیکسل با ۸ بیت نمایش داده شده در این صورت ۲ به توان ۸ یعنی ۲۵۶ رنگ مختلف خواهیم داشت.

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

     

برای ذخیره سازی تصاویر معمولاً جدولی تعیین می‌شود با ۲۵۶ خانه که از ۰ تا ۲۵۵ شماره گذاری شده است.

نکته : محتوای هر خانه رنگ نقاط مختلف تصویر است.

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

نکته : جدول رنگ ها باید به عنوان یک هدر به فایل تصویر اضافه شود.

شاید برای شما هم این سوال پیش امده باشه که اصلا این جدول رنگ ها چطور به وجود امده؟؟

روش اول: کاهش رنگ (segmentation)

در این روش فضای مختصاتی مربوط به رنگ ها را به چندین بخش تقسیم میکنند و رنگ های موجود در این فضا را مشخص می‌کنند.

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

این روش تنها به درد عکس‌هایی می‌خورد که رنگ‌ها در سراسر تصویر پراکنده شده باشند.

اما در مورد تصاویری که از چندین رنگ نزدیک به هم ساخته شده اند.

مثل غروب آفتاب که ممکن است بعد از اعمال این الگوریتم به یک رنگ واحد دربیاید.

روش دوم : خوشه بندی  (clustering)

در این روش در فضای رنگی تراکم‌های رنگ‌ها مشخص می‌شود.

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

مرکز هر cluster به عنوان رنگ اصلی انتخاب می‌شود. در این روش به تعداد clusterها رنگ داریم.

نکته : هرچه clusterها بیشتر باشد کیفیت هم بیشتر می‌شود.

نکته : clusterها رنگ‌هایی هستند که از نظر بصری بسیار به هم نزدیکند.

فشرده‌سازی (compression) :

خب رسیدیم به یکی از بخش‌های مهم و در عین حال لذت بخش به نام فشرده‌سازی.

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

فشرده سازی بدون تلفات (Loss Less) :

در این روش بیت به بیت فشرده میشود به طوری که حتی یک بیت هم خطا نداشته باشد یعنی اگر عکس یا همان تصویر فشرده سازی شد یعنی کمپرس شد و دوباره دی‌کمپرس شد باید همان فایل اولیه را به ما بدهد

نکته : در این روش حتی ۱ بیت خطا هم قابل قبول نیست مثل فایل های اجرایی یا همان (EXE)

حالا یه چی بگم

بعضی وقتا اینقدر برای ما عکس مهمه که دوست داریم اونو با بهترین کیفیت ببینیم

یکی از اون جاهایی که میتونه این سبک از عکس خیلی به کار بیاد برای آـلیه ها و یا مراکزی که کالایی برای فروش دارند که باید تمام جزئیات مو به مو در آن باشد

مثلا فروشگاه های فروش سیسمونی نوزاد : مثل فروشگاه اینترنتی بی بی کو یا ساحل چوب و...

پس سعی کنید به صورت دقیق و متناسب از روش ها استفاده کنیم.

فشرده سازی با تلفات (Lossy)

در این روش می‌توان از بعضی ار خطاها چشم پوشی کرد و فشرده‌سازی رو انجام داد.

نرخ فشرده‌سازی (compression Rate) :

نرخ فشرده سازی عبارت است از :

حجم داده اصلی

 

حجم داده بعد از فشرده سازی

 

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

نکته : نرخ فشرده‌سازی Lossy بیشتر از نرخ فشرده‌سازی  Loss Less  در عکس است.

نکته ی مهم : بیشتر روش‌های Loss Less مبتنی بر تئوری اطلاعات هستند که توسط فردی به نام شنون معرفی شد

شنون یک منبع اطلاعاتی را ارزیابیمی‌کند تا میزان اطلاعات آن را مشخص کند.

البته فرض بر این است که منبع اطلاعاتی از طریق یکسری سمپل ماندد الفبای فارسی اطلاعات را منتقل می‌کند.

Coding :

VLC (variable Length coding) :

روش هایی که به هر سمپل تعداد بیت متغیر تخصیص می‌دهد.

     

همواره برای اختصاص دادن به بیت ها از دو الگوریتم شانون-فانون یا هافمن استفاده میکنیم.

در اینجا به اختصار در مورد این روش ها صحبت میکنیم و در آینده توضیحات بیشتری را به شما میدهیم.

الگوریتم شنون-فنون :

این الگوریتم در سه مرحله انجام میشود

  • سمپل ها بر اساس فرکانس تکرار سعودی مرتب می‌شوند.
  • لیست رابه دو قسمت تقسیم می‌کند به طوری که مجموع فرکانس‌ها دو بخش تقریباً مساوی باشد.
  • بند ۲ را برای هر زیر‌بخش تکرار می‌کنیم تا به بخش های تک سمپلی برسند.

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

یا اینکه فرکانس هر سمپل را برای گیرنده بفرستیم که خود الگوی بیتی را محاسبه کند.

نکته : اگر بخواهیم با این روش متنی را فشرده کنیم حد اثل دوبار لازم است متن خوانده شود.

اول برای به دست آوردن تعداد تکرار‌ها ، دوم برای جایگزاری کدها به‌جای سمپل‌ها.

این روش نیاز به حافظه دارد و در حالت Realtime ( بدون رنگ ) تأخیرهای زیادی وجود خواهد داشت.

نکته : یک راه‌حل این است که کتابچه‌ی کد را در حالتی خاص از قبل می‌سازند و ارسال می‌کنند اما تقریب زیاد خوبی نیست.

الگوریتم هافمن:

این الگوریتم هم دارای سه بخش اساسی است.

  • سمپل ها بر اساس فرکانس تکرار سعودی مرتب می‌شوند.
  • سمپل‌هایی با کمترین فرکانس تکرار را از لیست حذف می‌کند و با هم ادغام می‌کند و سمپل ادغام شده را به لیست اضافه می‌کند.
  • بند ۲ را تا رسیدن به یک لیست یک مولفه‌ای تکرار می‌کند.

نکته : روش هافمن از روش شنون-فنون بهتر است زیرا در تعیین لیست شانون-فنون لیست به دو قسمت تقسیم می‌گردد و همسایه‌های لیست در تعیین لیست اصلی موثر بوده اما در این روش فقط دوتا از کمترین فرکانس ها تأثیر گذارند.

خب خیلی ممنون که تا اینجا با من همراه بودید

توی این مقاله با هم در مورد عکس و روش های ذخیره سازی اون با هم صحبت کردیم

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

منابع خبر

اخبار مرتبط