PDA

View Full Version : Lossy predictive coding



abbas.exe
چهارشنبه 23 دی 1383, 02:31 صبح
سلام
یه سوال در رابطه با فشرده سازی تصاویر
فرض کنید رشته اعداد زیر pixel-brightness یک تصویر باشد


63-63-63-63-64-64-78-89-89-89-89

بعد استفاده از روش lossy predictive coding
اعداد زیر به دست می آید


63-0-0-0-1-0-0-8-8-8-1-0

اون سه تا 8 از کجا اومده و چرا 8 ؟

seyedof
یک شنبه 04 بهمن 1383, 00:47 صبح
سلام
در اینگونه روشها چون هدف فشرده سازی است اگر برای نگهداری هر پیکسل از ۸ بیت یعنی یک بایت استفاده شود برای فشرده سازی اوون Step هایی که به مقدار قبلی اضافه میشوند حتما باید کمتر از ۸ بیت نیاز داشته باشند وگرنه هیچ فشرده سازی صورت نمیگیره ! چون میشه همون ۸ بیت بر پیکسل

مثلا در مورد اطلاعات ۸ بیتی step ها اگر ۳ یا ۴ بیت باشن مناسبه. از طرفی ممکنه اختلاف یک پیکسل با پیکسل قبلیش مثلا ۵۰ باشه که نه توی ۳ بیت جا میشه نه توی ۴ بیت. در این مواقع ۲ تا کار میکنند. یا این اختلاف رو خرد میکنند به مثلا ۲ ۳ تا ۸ مثل مورد شما و شروع میکنند به بالابردن مقدار (۳ تا ۸ ) و خب واضح است که این روش Lossy میشه چون مقدار پیکسلها با تصویر اصلی تفاوت میکنه. روش دیگه اینه که در اینطور فشرده سازی ها کدهای ویژه ای به صورت مثلا Magic Code رزرو میشن که مثلا وقتی اختلاف زیاد میشه یه Magic میاد و یک نمونه مقدار پیکسل واقعی جدید پشت سرش میاد یعنی مثلا اگر Magic ما در حالت ۳ بیتی عدد ۷ باشه میشه :

63-0-0-0-1-0- 7 - 78 - 7 - 89-0-0-0
63-63-63-63-64-64-78-89-89-89-89

نسبت فشرده سازی در این مثال ۸۸/۵۴ است یعنی اطلاعات فشرده حجمش حدود ۶۲ درصد اطلاعات غیر فشرده است که نسبتا خوبه.

اینطوری روش غیرLossy میشه که البته میزان فشرده سازی به داده ها بستگی داره و در شرایط بد ممکنه حجم اطلاعات حدود ۵۰ درصد هم بیشتر بشه !

قدیما توی داس یه فرمت برای انیمیشن بود به اسم flc یا fli که تا جایی که یادمه از یه همچین روشی استفاده میکرد.

ممنون علی

abbas.exe
چهارشنبه 07 بهمن 1383, 13:23 عصر
ممنون از راهنمایی تون