پروژه متلب بکارگیری متد کدگذاری (SPIHT) با استفاده از موجکهای مناسب برای فشرده سازی تصاویر
Set partitioning in hierarchical trees
برای اجرای برنامه فایل main را در محیط متلب باز کده و اجرا نمایید. فایل ورودی به صورت عکس در کنار کد ها قرار گرفته است و چنانچه فایل دیگری با پسوند mp میخواهید در نظر بگیرید باید نام آن را در کدها وارد نمایید. بعد از اجرا فایل دیگری به صورت یک فایل تصویری که در واقع خروجی برنامه میباشد در کنار کدها توسط برنامه ساخته می شود.
ضرایب ویولت به دست آمده با الگوریتم SPIHT به عنوان یک الگوریتم کارآمد با خاصیت کدینگ تدریجی کد یابی می شود. متد SPIHT از قسمت بندی تکراری استفاده می کند. در واقع اگر در یک مجموعه تست، بیشینه اندازه موجود از یک حدآستانه مشخص بیشتر شود، آن مجموعه تقسیم میشود. اگر مجموعه تقسیم شود به آن صفت مهم داده میشود. در غیر این صورت صفت غیر مهم داده میشود. مجموعههای غیر مهم به صورت متوالی با حدآستانههای کوچکتر مورد ارزیابی قرار می گیرند تا جایی که به پیکسلهای منفرد برسد. این روند پیکسلها را براساس اهمیتشان مرتب می کند. نتایج این تست های ارزیابی اهمیت، مسیری که باید توسط یک کدگذار گرفته شود تا نمونهها را کدگذاری کند مشخص میشود .
ایده استفاده از قسمت بندی و طبقهبندی کردن بر اساس اهمیت، نکته یک کدگذاری با هزینه محاسباتی کم است. در اینگونه از کدگذاریهای اطلاعات به صورت کاهشی فرستاده میشود.
به وسیله تبدیل موجک تصویر میتواند به زیرباندهایی تجزیه شود. تمام ضرایب موجکی که از نظر مکانی به هم مربوطاند و در زیر باندهایی با دوران یکسان هستند می توانند درختهای موجک سلسه مراتبی تشکیل دهند. سلسه مراتب درخت براساس سطح رزولوشن است. ضریب موجکی که گره والد نامیده میشود دارای چهار ضریب موجک مربوط به گرههای فرزندان در رزولوشن کمتر است. در واقع ریشه ها در رزولوشن بیشتر و برگ ها در رزولوشن کم تر هستند.
الگوریتم SPIHT شامل سه لیست است:۱٫لیست پیکسل های غیر مهم (LIP )،۲٫ لیست پیکسلهای مهم (LSP) و ۳٫لیست مجموعههای غیر مهم در طی تکرار. این متد دارای مراحل زیر است:
۱٫مرحله مقداردهی اولیه:
۲٫مرحله به ترتیب چیدن: ضرایب موجکی که را مشخص کرده و علامت و مکان آن ها را استخراج کرده.
۳٫مرحله پالایش: bامین بیت ضرایب موجک مهم که در مرحله قبل مشخص شده است را خروجی گرفته.
۴٫مرحله تکرار: b را به اندازه یک واحد افزایش داده، مقدار حدآستانه را بر دو تقسیم کرده و برگرد به مرحله .۲
مرحله (۲) و (۳) آنقدر تکرار میشود تا نرخ بیت دادهشده به دست آید. در مرحله (۲) گرههای درختی که در LSP و LIS ذخیره شده است مطابق زیر ارزیابی میشود. گره با اندازه بزرگتر از حدآستانه دادهشده، مهم در نظر گرفته می شود و در LSP ذخیره میشود و گره غیر مهم با حدآستانه فعلی اگر تمامی فرزندان غیر مهم هستند، در LIS ذخیره می شود، در غیر این صورت در LIP ذخیره میشود. بعد از b امین مرحله به ترتیب چیدن، گره مهم جدید با اندازه در رنج برای (یا برای (b=1 در LSP با یک بیت برای هر گره به منظور کد کردن علامت آن ها ذخیره می شود. در مرحله پالایش گره های مهم توسط یک بیت برای هر گره برای بهروزرسانی اندازههای مربوطه پالایش مییابند. ایده اصلی SPIHT این است که اگر یک گره والد غیر مهم باشد، تمام فرزندان آن به احتمال زیاد غیر مهم هستند و در نتیجه میتوانند توسط یک سمبل کد واحد کدگذاری شوند.
لطفاً براي ارسال دیدگاه، ابتدا وارد حساب كاربري خود بشويد