لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : word (..doc) ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 13 صفحه
قسمتی از متن word (..doc) :
دانشگاه آزاد اسلامیواحد مشهد
دانشکده فنی و مهندسی
گروه هوش مصنوعی
بهبود در تصاویر فشرده شده
1.چکیده
در این مقاله ما روشهایی که در حوزه فشرده سازی ،تصاویر JPEG را بهبود می دهند را مورد بررسی قرار می دهیم بدون این که تصاویر فشرده شده را به طور کامل رمز گشایی کنیم روش اولی که مورد بررسی قرار می دهیم استفاده از یک تابع فازی جهت بهبود تصویر است در این روش ابتدا تابع بهبود را به حوزه فشرده سازی می بریم برای این کار ما نیاز به پیاده سازی عملگر های غیر خطی در حوزه فشرده سازی داریم پس از پیاده سازی این تابع را بر بلاک های 8*8 اعمال می کنیم و نتایج این تابع را بر روی بلاکها یکنواخت وبلاکهای دارای جزییات بررسی میکنیم و در پایان اتلگوریتم را برای بلاک ها متفاوت بهبود می دهیم . در روش دوم ابتدا مقدار کنسترانت تصویر را اندازه گیری کرده و سپس کنسترانت ضرایب را با یک مقدار ثابت بهبود می دهیم
2.مقدمه
امروزه حجم بالا تصاویر باعث شده است تا تصاویر فشرده شده مورد توجه بیشتری قرار گیرد فشرده سازی تصاویر با نگهداشتن کیفیت نسبی تصاویر حجم تصاویر را تا حد زیادی پایین می آورد . حجم پایین تصاویر در جایی که می خواهیم انتقال اطلاعات داشته باشیم بسیار مفید است . برای مثال می توان به انتقال تصاویر پزشکی از طریق اینترنت اشاره کرد
الگوریتم هایی که برای فشرده سازی تصاویر به کار می رود به دو گروه lossy ,lossless تقسیم می شوددر روش lossless اطلاعات تصویر از بین نمی رود و می توان با استفاده از تصویر فشرده شده و با استفاده از یک الگوریتم کدگشایی تصویر اولیه را بدست آورد ولی در روش های lossy مقداری از اطلاعات تصویر از بین می رود [2]
یکی از الگوریتم های معروف و پر کاربرد در فشرده سازی تصاویر الگوریتم فشرده سازی (JPEG) است در این روش ابتدا تصویر به قطعات 8*8 که همپوشانی ندارند تقسیم شده سپس ماتریس DCT را بر روی هر بلاک اعمال می کنیم ضرایب DCT را با استفاده از جدول مقدار دهی (Quantize Table) به یک مقدار گسسته مقدار دهی می کنیم این پردازش یک پردازش لوسی (lossy process) است و مقداری از اطلاعات را از دست می دهیم در این مرحله بسیاری از ضرایب کوچک (معمولاً قرکانس بالا) به مقدار صفر مقدار دهی می شوند حال این ضراین را با استفاده از یک الگوریتم کد گذاری کدگذاری می کنیم این عمل باعث پایین آمدن نسبت بیتی (
bit rate) تصویر می شود [5]
الگوریتم هایی که برای بهبود تصویر فشرده شده ارائه شده اند بر اساس زمان بهبود تصویر می توان به 3 دسته کلی تقسیم کرد :1- بهبود تصویر قبل از فشرده سازی 2- بهبود تصویر بعد از فشرده سازی 3- بهبود تصویردر حین فشرده سا زی[4]
یکی از معایب بزرگ الگوریتم ها دسته اول (بهبود قبل از فشرده سازی ) پایین آمدن قدرت و ضریب فشرده سازی تصویر پس از اعمال الگوریتم بهبود است الگوریتم هایی که در اینجا مورد بررسی قرار می دهیم از الگوریتم های دسته 2و3 است
3.روشهای بکار رفته برای بهبود تصاویر فشرده شده (JPEG)
یک تصویر فشرده شده به دو روش می توان بهبود بخشید در روش اول تصویر کاملاً رمز گشایی کرده و به حوزه پیکسلی می بریم و سپس تصویر بهبود یافته را با الگوریتم فشرده سازی مجدد فشرده می کنیم این امر (compress/decompress) باعث زمانبر شدن الگوریتم می شود علاوه بر این قدرت و ضریب فشرده سازی در تصاویر بهبود یافته در حوزه پیکسلی کم می شود.
روش دیگر برای بهبود تصاویر فشرده شده استفاده از ضرایب DCT تصویر است در این روش ما ابتدا ضرایب را با یک الگوریتم کدگشایی از تصویر بدست می آوریم سپس پردازش را در حوزه فشرده شده (Compressed Domain) بر روی تصویر اعمال کرده و سپس ضرایب را کد گذاری می کنیم در این روش ما زمان لازم برای (compress/decompress) را صرفه جویی می کنیم در این روش بدلیل این که بسیاری از ضرایب پس از عمل (Quantize) صفر می شوند محاسبات کمتری نسبت به حوزه پیکسلی خواهیم داشت
دو روش جهت بهبود تصاویر فشرده شده
1-3.استفاده از تابع فازی INT برای بهبود کنتراست تصویر
تابع فازی (INT-OP) بر اساس حد آستانه عمومی کنتراست تصویر را بهبود می دهد برای اعمال این تابع در حوزه پیکسلی ابتدا نیاز است تا سطوح خاکستری تصویر را در بازه [0 1] نرمال می کنیم
این تابع نقاطی که روشنایی کمتری دارد را تاریک تر می کند و نقاطی که روشنایی بیشتری را دارد را روشن تر می کند این تابع باعث می شود تا سطوح خاکستری ابتدا و انتها بازه فشرده شده و در عوض فاصله سطوح خاکستری میانی را افزایش می دهد که این موجب بالا رفتن کنسترانت تصویر می شود. این تابع یک تابع غیر خطی است
تابع INT در حوزه فشرده شده (Compressed Domain)
برای اعمال تابع در حوزه فشرده شده ما نیاز به پیاده سازی عملگر های خطی (جمع ، ضرب ، ...)و عملگر های غیر خطی (توان) در حوزه فشرده سازی داریم عملگر های خطی به راحتی پیاده سازی می شوند ولی مشکل اساسی ما پیاده سازی عملگر ها غیر خطی است اگر ما سطوح خاکستری هر بلاک 8*8 را با ماتریس U[8*8] نمایش دهیم و ضرایب
DCT هر بلاک Udct(که به طور مستقیم از تصویر فشرده شده بدست می آید) را داشته باشیم آنگاه با روابط زیر می توان عملگر غیر خطی توان را پیاده سازی کرد (Udct*sq)
در روابط بالا چند نکته را باید مورد نظر داشته باشیم اولاً در اغلب مواقع Udct صفر است و دوم این که تابع WQ(y1,y2,w1,w2,x1,x2) در 96% اوقات مقدار صفر را بر می گرداند. این نکات نشان می دهد که هر چند روابط بالا پیچیده و زمانبر است ولی در واقع زمان کمتری برای محاسبه آنها صرف خواهد شد.[1]
حال برای اعمال INT در حوزه فشرده سازی به صورت زیر عمل می کنیم .ابتدا مقادیر سطوح خاکستری را از بازه [0 255] به بازه [-128 127] می بریم تا مقادیر حول عدد صفر متقارن شوند . عدد صفر را به عنوان مقدار حد آستانه در نظر می گیریم (به جای مقدار 0.5 که در حوزه پیکسلی به عنوان حد آستانه در نظر می گرفتیم) و در نهایت تابع INT را به صورت زیر برای هر بلاک محاسبه می کنیم [1]
همانطور که در فرمول بالا مشاهده می کنید مقدار حد آستانه Udct(0,0) برای هر بلاک 8*8 تنها یکبار محاسبه می شود و هر بلاک 64 پیکسلی فقط از یک حد آستانه استفاده می کند در صورتی که در حوزه پیکسلی 64 حد آستانه متفاوت (سطح خاکستری پیکسل ) خواهیم داشت که این امر باعث بروز مشکل در بهبود تصویر می شود این مشکل در بلاک هایی یکنواخت که سطوح خاکستری نزدیکی به هم دارند مشکل کمتری ایجاد می کند نسبت به بلاک هایی که دارای جزییات هستند