تفاوت بین فرمت های فشرده سازی lossy و lossless چیست؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تفاوت بین فرمت های فشرده سازی lossy و lossless چیست؟

+1 امتیاز
سلام و عرض ادب .

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

 

تشکر
سوال شده بهمن 26, 1392  بوسیله ی student (امتیاز 53)   3 8 11
دوباره تگ گذاری شد بهمن 28, 1392 بوسیله ی BlueBlade

2 پاسخ

+3 امتیاز
 
بهترین پاسخ
در فرمت های lossy مثل JPEG اگر داده ها بعد از فشرده سازی را با داده های اصلی تفاضل بگیرید اختلاف وجود داره یعنی محتوای تصویر تغییر کرده ولی نرخ فشرده سازی بالاست ولی در فرمت های lossless همانند PNG داده ها فشرده میشه ولی محتوی تصویر فشرده شده با تصویر اصلی فرقی نداره و فقط فشرده سازی در ذخیره سازی اطلاعات بر روی فایل صورت گرفته.
پاسخ داده شده بهمن 28, 1392 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
انتخاب شد بهمن 30, 1392 بوسیله ی student
چطوری ؟ یکم بیشتر توضیح میدین لطفا .
پایین بخون
+2 امتیاز

دونوع الگوریتم فشرده سازی داریم
1-lossy
2-lossless
---------------------------------------------

1-lossy
با این نوع الگوریتم ها هنگامی که فشرده میکنیم کمی داده را موقعی که دیکریپت میکنیم از دست میدهیم با یه مثال توضیح میدم که بیشتر بفهمید
اگر مثلا تابع(f(x یک الگوریتم فشرده سازی باشه اگر (f(x بیت پنجم بشه 7.777777 به طور اتوماتیک به عدد 8 رند میشود
در نتیجه گم شدن داده داریم حالا این الگوریتم به چه دردی میخوره این الگوریتم ها برای فشرده سازی فایل های مدیا مانند فیلم ، عکس و آهنگ و.... استفاده میشه و دستمون بازه توی فشرده کردن و هرچی بخوایم میتونیم فشرده کنیم اما به تبع از دست دادن داده بیشتر میشه در نتیه کیفیت پایین میآید اما با این الگوریتم مثلا نمیشه یه فایل exe را فشرده کرد جون دیگه اجرا نمیشه از الگوریتم های lossy میشه الگوریتم پیشرفته wavelet رو مثال زد


2-lossless
در مقابل این الگوریتم وجود دارد که داده ها را دقیقا حفظ میکند این الگوریتم ها بیشتر بر اساس گرفتن دیکشنری درست میکنند اینجوری بگم مثلا شما متن abac abafd abafe abaff abafg abafh abafi abafj abafk abafl را دارین برنامه میاد توی دیکشنریش abaf رو میذاره و با 1 عوض میکنه حال متن میشه این abac1d1e1f1g1h1i1j1k1l البته این یک نوع ساده بیده بیده
این الگوریتم را بیشتر برای فایل های اجرایی یا داکیومنت ها بکار میروند و فشرده سازی در این روش محدود و بسته به فایل متغییر است مثلا من فایل 4 گیگی دیدم که بعد از فشرده سازی با این نوع الگوریتم تبدیل به 36 مگ شده و همینطور فایل 20846 کیلوبایتی دیدم که بعد از فشرده سازی تبدیل شده به 20840 و تغییر محسوسی نکرده و یا برعکس حجم فایل 10 کیلو هست بعد از فشرده سازی شده 13 کیلو یعنی بیشتر شده از جمله این الگوریتم ها میشه به xz میشه اشاره کرد

 

اگر خواستید بگید تا بیشتر توضیح دهم چون بحث خیلی گسترده ای است

~~~~Fire360Boy~~~~

پاسخ داده شده خرداد 19, 1393 بوسیله ی Fire360Boy (امتیاز 2,524)   6 24 43
ویرایش شده خرداد 19, 1393 بوسیله ی Fire360Boy
آره یه مدت مردمو گذاشته بودن سر کار که بازی GTA IV رو از 14 گیک کردن 8 مگ!!!!
میخوای یه فایل 28 مگی بزارم که بعد از اکسترکت بشه 9 گیگ؟
آره چطوری؟ هی خودش بیت تولید میکنه؟
نه میگم فایل فشرده نه اجرایی
بیا هرچی میگیم که باورت نمیشه یه فایل 36 مگی هست بعد از اکسترکت میشه حدوداً 11 گیگ
http://www.uploadmb.com/dw.php?id=1402450427
خوب چطوری؟ من قبلا هم دیده بودم ولی بازیه اجرا نمیشد!!!
من کاری به اون بازیه ندارم ولی باید ببینی مشکلش چی بوده
شاید مشکل از سیستمه تو باشه!!!!!
نه کلا من فکر نمیکنم یه فایل مثلا 8 گیگ رو بشه به مثلا 20 مگ تبدیل کرد چون با عقل من جور در نمیاد !! می دونی چی میگم مثلا یه فیلم 1 گیگ رو که پر از پیکسل و رنگ و کد و صدا هست رو چطوری به حتی 100 مگ تبدیل کرد!!!
...