الگوریتم EZW در سال 1993 توسط shapiro ابداع شد نام کامل این واژه [1] به معنای کدینگ تدریجی با استفاده از درخت ضرایب ویولت است. این الگوریتم ضرایب ویولت را به عنوان مجموعه ای از درختهای جهت یابی مکانی در نظر می گیرد هر درخت شامل ضرایبی از تمام زیرباندهای فرکانسی و مکانی است که به یک ناحیه مشخص از تصویر اختصاص دارند. الگوریتم ابتدا ضرایب ویولت با دامنه بزرگتر را کددهی می کند در صورتیکه دامنه یک ضریب بزرگتر یا مساوی آستانه مشخص باشد ضریب به عنوان ضریب معنی دار [2] در نظر گرفته می شود و در غیر اینصورت بی معنی[3] می باشد یک درخت نیز در صورتی معنی دار است که بزرگترین ضریب آن از نظر دامنه بزرگتر یا مساوی با آستانه مورد نظر باشد و در غیراینصورت درخت بی معنی است.
مقدار آستانه در هر مرحله از الگوریتم نصف می شود و بدین ترتیب ضرایب بزرگتر زودتر فرستاده می شوند در هر مرحله، ابتدا معنی دار بودن ضرایب مربوط به زیر باند فرکانسی پایین تر ارزیابی می شود اگر مجموعه بی معنی باشد یک علامت درخت صفر استفاده می شود تا نشان دهد که تمامی ضرایب مجموعه صفر می باشند در غیراینصورت مجموعه به چهارزیرمجموعه برای ارزیابی بیشتر شکسته می شود و پس از اینکه تمامی مجموعه ها و ضرایب مورد ارزیابی قرار گرفته اند این مرحله به پایان می رسد کدینگ EZW براساس این فرضیه استوار است که چگالی طیف توان در اکثر تصاویر طبیعی به سرعت کاهش می یابد بدین معنی که اگر یک ضریب در زیر باند فرکانسی پایین تر کوچک باشد به احتمال زیاد ضرایب مربوط به فرزندان آن در زیر باندهای بالاتر نیز کوچک هستند به بیان دیگر اگر یک ضریب والد بی معنی باشد به احتمال زیاد فرزندان آن نیز بی معنی هستند اگر آستانه ها توانهایی از دو باشند میتوان کدینگ EZW را به عنوان یک کدینگ bit-plane در نظر گرفت در این روش در یک زمان، یک رشته بیت که از MSB شروع می شود کددهی می شود با کدینگ تدریجی رشته بیت ها و ارزیابی درختها از زیرباندهای فرکانسی کمتر به زیرباندهای فرکانسی بیشتر در هر رشته بیت میتوان به کدینگ جاسازی [4] دست یافت.
الگوریتم EZW بر پایه 4 اصل استوار است [3]
1- جدا کردن سلسله مراتبی زیرباندها با استفاده از تبدیل ویولت گسسته
1-1-2) تبدیل ویولت گسسته
تبدیل ویولت سلسله مراتبی که در EZW و SPIHT مورد استفاده قرار می گیرد نظیر یک سیستم تجزیه زیرباند سلسله مراتبی است که در آن فاصله زیرباندها در مبنای فرکانس بصورت لگاریتمی است.
در شکل 2-2 یک مثال از تجزیه دو سطحی ویولت روی یک تصویر دو بعدی نشان داده شده است. تصویر ابتدا با بکارگیری فیلترهای افقی و عمودی به چهار زیرباند تجزیه میشود. در تصویر (c ) 2-2 هر ضریب مربوط به ناحیه تقریبی 2×2 پیکسل در تصویر ورودی است. پس از اولین مرحله تجزیه سه زیر باند LH1 , HL1 و HH1 بعنوان زیرباندهای فرکانس بالایی در نظر گرفته می شوند که به ترتیب دارای سه موقعیت عمودی، افقی و قطری می باشند اگر Wv , Wh به ترتیب فرکانسهای افقی و عمودی باشند، پهنای باند فرکانسی برای هر زیر باند در اولین سطح تجزیه ویولت در جدول
1-2 آمده است[4]
جدول 2-1 ) پهنای باند فرکانسی مربوط به هر زیر باند پس از اولین مرحله تجزیه ویولت با استفاده از فیلترهای مشابه (پایین گذر و بالاگذر) زیر باند LL1 پس از اولین مرحله تجزیه ویولت، مجدداً تجزیه شده و ضرایب ویولت جدیدی به دست می آید جدول 2-2) پهنای باند مربوط به این ضرایب را نشان می دهد.
2-1-2) تبدیل ویولت بعنوان یک تبدیل خطی
میتوان تبدیل بالا را یک تبدیل خطی در نظر گرفت [5]. P یک بردار ستونی که درایه هایش نشان دهنده یک اسکن از پیکسلهای تصویر هستند. C یک بردار ستونی شامل ضرایب ویولت به دست آمده است از بکارگیری تبدیل ویولت گسسته روی بردار p است. اگر تبدیل ویولت بعنوان ماتریس W در نظر گرفته شوند که سطرهایش توابع پایه تبدیل هستند میتوان تبدیل خطی زیر را در نظر گرفت.
فرمول
بردار p را میتوان با تبدیل ویولت معکوس به دست آورد.
فرمول
اگر تبدیل W متعامد [5] باشد. است و بنابراین
فرمول
در واقع تبدیل ویولت W نه تنها متعامد بلکه دو متعامدی [6] می باشد.
3-1-2) یک مثال از تبدیل ویولت سلسله مراتبی
یک مثال از تبدیل ویولت سلسله مراتبی در این بخش شرح داده شده است. تصویر اولیه 16*16 و مقادیر پیکسلهای مربوط به آن به ترتیب در شکل 3-2 و جدول 3-2 آمده است.
یک ویولت چهارلایه روی تصویر اولیه اعمال شده است. فیتلر مورد استفاده فیلتر دو متعامدی Daubechies 9/7 است [6]. جدول 4-2 ضرایب تبدیل گرد شده به اعداد صحیح را نشان می دهد. قابل توجه است که ضرایب با دامنه بیشتر در زیرباندهای با فرکانس کمتر قرار گرفته اند و بسیاری از ضرایب دامنه های کوچکی دارند ویژگی فشرده سازی انرژی در تبدیل ویولت در این مثال به خوبی دیده می شود جدول 5-2 تصویر تبدیل یافته و کمی شده را نشان می دهد چنانکه کمی سازی تنها برای اولین سطح ویولت انجام گرفته است یک ضریب مقیاس 25/0 در هر ضریب فیلتر ویولت ضرب شده و سپس مجموعه فیلتر پاین گذر و بالاگذر روی تصویر اولیه بکار گرفته می شود اندازه گام کمی سازی مربوطه در این حالت 16 است.
پس از کمی سازی بیشتر ضرایب در بالاترین زیر باند فرکانسی صفر می شوند تصویربازسازی شده و تبدیل ویولت معکوس در شکل (b) 7-2 و جدول 6-2 آمده است. به علت کمی سازی بازسازی با اتلاف است.
4-1-2) انتقال تدریجی تصویر [1]
اگر یک تبدیل متعامد و سلسله مراتبی زیر باند، p یک ماتریس از اسکن پیکسلهای pi,j که (i, j) مختصات پیسک است و c ماتریس مربوط به ضرایب تبدیل یافته باشد، آنگاه:
فرمول
c ماتریسی است که باید کد شود.
در یک کدینگ کامل EZW ، ؟؟ ماتریس بازسازی C اولیه را برابر صفر قرار می دهد و با دریافت هر بیت آنرا تغییر می دهد.
فرمول
هدف اصلی در انتقال تدریجی این است که ابتدا، اطلاعات مهمتر تصویر فرستاده شود. ارسال درست این اطلاعات خطا را تا میزان زیادی کاهش می دهد. بنابراین نکته مهم، انتخاب اطلاعات مهمتر در C است. معیار متوسط مربعات خطا بعنوان یک معیار سنجش خطا مورد استفاده قرار می گیرد.
فرمول
که N تعداد پیکسلهای تصویر اولیه است. با توجه به اینکه Euclidean norm در تبدیل متعامد حفظ می شود میتوان گفت
فرمول
معادله نشان می دهد که با دریافت ضریب انتقال Ci,j در دیکدر ، DMSE به اندازه
فرمول
کاهش می یابد. واضح است با ارسال ضرایب بزرگتر در ابتدا، خطای تصویربازسازی شود. کاهش بیشتر خواهد داشت.
علاوه بر آن اگر Ci,j بصورت باینری باشد اطلاعات را میتوان بصورت تدریجی ارسال نمود. به بیان دیگر MSB که مهمترین بیت است در ابتدا و LSB که کم اهمیت ترین بیت است در آخر فرستاده می شود.
5-1-2) درخت جهت یابی مکانی
ایجاد و تقسیم بندی مجموعه ها با استفاده از ساختار ویژه ای به نام درخت جهت یابی مکانی انجام می شود این ساختار بگونه ای است که از ارتباط مکانی میان ضرایب ویولت در سطوح مختلف هرم زیرباندها [7] استفاده می کند.
درختهای جهت یابی مکانی در شکل 59-5 برای یک تصویر 16*16 نشان داده شده است. زیرباند LL2 مجدداً به چهار گروه که هر یک شامل 2×2 ضریب است تقسیم می شود در هر گروه هر یک از چهار ضریب (شکل دو سطح پایین گذر و بالاگذر دارد و هر سطح به چهار زیر باند تقسیم می شود).
به غیر از ضریبی که در سمت چپ و بالا قرار گرفته و با رنگ خاکستری مشخص شده است ریشه یک درخت جهت یابی مکانی است پیکانها نشان می دهند که چگونه سطوح مختلف این درختها به هم مربوطند به طور کلی یک ضریب در موقعیت (i,j) در تصویر والد چهار ضریب در موقعیتهای (2i,2y) ، (2i+1,2y) ، (2i,2y+1) و (2i+1 , 2y+1) است ریشه های درختهای جهت یابی مکانی مربوط به این مثال در زیر باند LL2 قرار گرفته اند هر ضریب ویولت به غیر از آنهایی که با رنگ خاکستری مشخص شده اند و برگها میتواند ریشه برخی زیر درختهای جهت یابی مکانی باشند.
در این مثال اندازه زیر باند LL2 برابر 4×4 است و بنابراین به چهار گروه 2×2 تقسیم شده است. تعداد درختها در این مثال 12 تا است که برابر 4 /3 اندازه بالاترین زیر باند LL است.
هر کدام از 12 ریشه در زیر باند LL2 والد چهار فرزند استا که در سطح مشابهی قرار گرفته اند. فرزندان این فرزندان در سطح یک قرار می گیرند. عموماً ریشه های درختها در بالاترین سطوح، فرزندان آنها در سطحی مشابه از آن پس فرزندان ضرایبی که در سطح k قرار دارند در سطح k-1 قرار می گیرند.
بطور کلی میتوان گفت پس از تبدیل ویولت یک تصویر را میتوان با ساختار درختی آن نشان داد که در آن یک ضریب در زیر باند پایین میتواند چهار فرزند در زیر باند بالاتر داشته باشد و هر یک از این چهار فرزند میتوانند چهار فرزند دیگر در زیرباندهای بالاتر داشته باشند. به ساختاری که در این حالت پدید می آید.
درخت چهارتایی[8] گفته می شود که هر ریشه [9] چهارگره[10] دارد. نکته بسیار مهم نوع شماره گذاری موقعیت مکانی خانه ها (ضرایب) است. ضریبی که در پایین ترین سطح و در گوشه بالا در سمت چپ قرار داد دارای موقعیت مکانی (0 و 0 ) خواهد بود و به همین ترتیب ضرایب بعدی اضافه می شوند. اگر این موقعیت گذاری رعایت نشود جواب درستی به دست نمی آید [7].