ورود

View Full Version : مشورت در مورد الگوریتم فشرده سازی



hosseinz501
دوشنبه 12 مهر 1395, 20:38 عصر
سلام دوستان

نمیدونستم این تاپیک رو باید توی کدوم بخش بزنم اگه جای اشتباهی زدم ببخشید

دوستان من مدت زیادیه که روی الگوریتم های فشرده سازی کار می کنم ، مدتیه که موفق به ساخت یه الگوریتم نسبتا عالی نسبت به الگوریتم های موجود شدم ، این الگوریتم فقط مخصوص عکس های با فرمت .bmp هست (یکی از ویژگی های عکس های bmp اینه که هیچ اطلاعاتی از عکس را از دست نمی دهند یکی از کاربرد های این فرمت برای ذخیره تصاویر پزشکی هست) ، این الگوریتم دارای آپشن های مختلفی هست که هر چقدر درجه این آپشن ها بیشتر بشه فشرده سازی ، مصرف رم و زمان هم بیشتر میشه ، به طور مثال:
یک عکس bmp با حجم 58,839,606 بایت با آپشن یک به 33,828,239 بایت تبدیل می کنه (با مصرف رم 60 مگابایت و زمان 5 ثانیه) یا در اخرین آپشن حجم فایل را به 15,324,025 تبدیل می کنه (با مصرف رم 400 مگابایت و زمان حدود ربع ساعت) . این الگوریتم از همه ی الگوریتم های هم تراز خودش عالی تر عمل می کنه (از نظر مقدار کاهش حجم اما از نظر زمان و مقدار مصرف رم با بقیه تفاوت چندانی نداره ) و اختلاف فاحشی در نسبت کاهش حجم نسبت به بقیه الگوریتم ها داره ، این الگوریتم حتی در آپشن های بالا از الگوریتم های خانواده PAQ هم عالی تر عمل می کنه ، برای این که دوستان خسته نشن دیگه مقایسه بیشتر نمی کنم اما اگه نیاز بود دوستان زحمت بکشند بگن تا خدمتتون کامل تر توضح بدم .

می خواستم از دوستان به خصوص دوستانی که به مباحث فشرده آشنایی دارن و یا به مباحث اختراع الگوریتم ، خواهش کنم راهنمایی بکنن یا نظرشون رو بگن که
آیا این الگوریتم به نظرشون کارایی خوبی داره ؟
آیا ارزش فروش داره ؟ اگر آره به غیر از کمپانی های مثل گوگل به چه کمپانی های دیگه ای میشه الگوریتم را فروخت ؟ و به چه صورتی می تونم با این کمپانی ها در تماس باشم و اون ها رو مطمئن کنم ؟ به طور کلی چطور می تونم برای اون بازاریابی کنم ؟
اگر ارزش فروش نداره به نظر دوستان چه استفاده های دیگه ای از این الگوریتم می تونم بکنم ؟

و هر راهنمایی دیگه ای که دوستان لطف کنن بکنم ، ممنون از لطف همه

با تشکر :قلب:

SZsXsZS
سه شنبه 13 مهر 1395, 19:44 عصر
فشرده سازی یکی از فیلدهای قدیمی و متداولی هست که تاحالا روش خیلی ها خیلی کار کردن و الگوریتم های زیادی اختراع شده. بعید میدونم کسی به این سادگی بتونه الگوریتم جدید برتری در این زمینه اختراع کنه :متفکر:
اون میزان فشرده سازی ها هم که شما گفتید بنظرم خارق العاده نمیاد چون قبلا خودم فشرده سازی تصاویر bmp رو با برنامه های مختلف تست زده بودم و بالاست. تصاویر bmp زیاد فشرده میشن، چون هیچ نوع فشرده سازی ندارن و دیتای خام و اصلی هستن و بسته به تصویر مورد نظر میزان دیتاها و الگوهای تکراری درش میتونه خیلی زیاد باشه.
الگوریتم مورد استفاده در تصاویر PNG هم یادم نیست چیه اما اینم الگوریتم loss-less هست و خیلی خوب اینطور چیزها رو فشرده میکنه.
واقعا شما با دیتای اولیهء یکسانی همهء اینها رو تست و مقایسه کردید؟
بعدم دیتای تست شما باید تنوع لازم رو داشته باشه از sample های مختلفی استفاده کنید و یک average بدست بیارید. وگرنه ممکنه مثلا محتوا و الگوهای داده ای موجود در تصویر شما که برای تست استفاده کردید به هر علتی به شکلی بودن که با الگوریتم شما هماهنگی خوبی داشتن و بخاطر همین فشرده سازی بیشتر بوده. اما مثلا باید بیاید یکسری تصویرهای مختلف که از منابع مختلف هستن، مثلا نقاشی های ساده، نقاشی های پیچیده تر، تصاویر واقعی از طبیعت، اشخاص و غیره، خلاصه از هر نوع منبع و استفاده های متداول یکسری تصویر bmp بدست بیارید (بنظرم تصاویر اورجینال و نه تصاویری که مثلا از فرمت دیگری تبدیل شدن یا از نرم افزار خاصی عبور کردن)، و بعد میزان فشرده سازی الگوریتم های مختلف رو مقایسه کنید. ضمنا در خیلی کاربردها و الگوریتم ها روی بخش و نوع خاصی از انواع تصاویر و داده ها تمرکز بیشتری میکنن و اولویت میدن، چون استفادهء اون الگوریتم در اون فیلد خیلی بیشتر خواهد بود، یا شاید انتظار میره بیشتر تصاویر مورد استفاده از اون نوع باشن. مثلا فرمت jpg که البته lossy هست بیشتر برای تصاویر طبیعی، مثلا از طبیعت و انسان و غیره، کاربرد و کارایی داره. در مقابل مثلا png با اینکه loss-less هست ولی خیلی وقتا عملا حتی از jpg هم بهتر عمل میکنه روی نوع تصاویر خاصی (غیر طبیعت) و مزیت دیگرش هم البته اینه که هیچ کاهش کیفیت و از دست رفتن دیتا در تصویر بوجود نمیاد.

کلا این مسائل پیچیده هست و شاید مسئله ای رو در بخشی نمیدونستید و درنظر نگرفتید.
یکی از موارد هم مثلا artifact هایی هست که در جریان بعضی فشرده سازیها پیش میاد، و البته بازم بستگی زیادی به نوع و الگوهای تصویر هم داره. ممکنه شما به فشرده سازی زیادی دست پیدا کنید، اما باید دید در مورد sample های مختلف تا چه حد از دست رفتن اطلاعات مهم و و کاهش کیفیت و ایجاد این artifact ها دیده میشه. این مسائل ممکنه در ظاهر مشخص نباشه و ظاهرا بحساب نیاد، اما به علتی در جایی و در کاربردی مهم باشه.
راستی مانیتور خود من بعضی جزییات ریز توی تصاویر رو اصلا نشون نمیده که بخوام متوجه تفاوت مثلا یک تصویر قبل و بعد از فشرده سازی بشم! بخصوص که میزان روشنایی رو روی کمترین حد میذارم.
خلاصه حتی کیفیت سخت افزار هم این وسط تاثیر میذاره و میتونه آدم رو گمراه کنه.