“ فشرده سازی تصویر ” محمد عبداله – اردیبهشت – 1394 دانشگاه آزاد واحد کاشان استاد راهنما : دکتر محمود محلوجی بیدگلی فصل 8 کتاب.

Download Report

Transcript “ فشرده سازی تصویر ” محمد عبداله – اردیبهشت – 1394 دانشگاه آزاد واحد کاشان استاد راهنما : دکتر محمود محلوجی بیدگلی فصل 8 کتاب.

‫“‬
‫فشرده سازی تصویر‬
‫”‬
‫محمد عبداله – اردیبهشت ‪ – 1394‬دانشگاه آزاد واحد کاشان‬
‫استاد راهنما ‪ :‬دکتر محمود محلوجی بیدگلی‬
‫فصل ‪ 8‬کتاب پردازش تصویر گنزالس‬
‫فهرست مطالب‬
‫‪‬‬
‫مقدمه‬
‫‪‬‬
‫انواع کدینگ‬
‫‪‬‬
‫بلوک دیاگرام فرایند فشرده سازی‬
‫‪‬‬
‫کدینگ ‪LZW‬‬
‫‪‬‬
‫الگوریتم رمزگذاری ‪LZW‬‬
‫‪‬‬
‫الگوریتم رمزگشایی ‪LZW‬‬
‫‪‬‬
‫مثال ‪ 2‬رمزگذاری‬
‫‪‬‬
‫مثال ‪ 4‬رمزگشایی گام به گام با الگوریتم‬
‫‪‬‬
‫چرا ‪ 9‬بیتی رمز میکنیم‬
‫‪‬‬
‫مثال ‪ 3‬رمزگذاری گام به گام با الگوریتم‬
‫‪‬‬
‫مثال ‪ 2‬رمزگذاری‬
‫‪‬‬
‫نتیجه گیری‬
‫‪‬‬
‫تعدادی از دستورات پردازش تصویر در متلب‬
‫‪‬‬
‫‪JPEG 2000‬‬
‫انولع فشرده سازی‪-‬انواع کدینگ‪-‬بلوک دیاگرام‪-‬فشرده سازی تصویر ‪-‬الگوریتم رمزگذاری‪-‬مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪-‬‬
‫پردازش تصویر در متلب‬
‫‪2‬‬
‫‪ ‬تعریف‬
‫فشرده سازی ‪ :‬کدینگ اطالعات برای داشتن بیت کمتر نسبت به نسخه اصلی‬
‫انواع فشرده‬
‫سازی‬
‫مزايا‪:‬‬
‫– كاهش حجم الزم براي نگهداري اطالعات‪.‬‬
‫با اتالف‬
‫بی اتالف‬
‫– كاهش پهناي باند الزم براي ارسال اطالعات‪.‬‬
‫مشكالت‪:‬‬
‫‪-‬از بین رفتن اطالعات ‪ ،‬در صورت استفاده از روش های اتالفی‬
‫برگشت‬
‫ناپذیری‬
‫اطالعات‬
‫بر اساس حذف‬
‫اطالعات کم‬
‫ارزش‬
‫از بین نرفتن‬
‫اطالعات‬
‫بر اساس حذف‬
‫افزونگی آماری‬
‫‪ -‬گاها نیاز به سخت افزار مخصوص برای رمزگشایی(سربار‬
‫محاسباتی)‬
‫دسته بندی کدینگ بدون اتالف‬
‫مبتنی بر آنتروپی‬
‫مبتنی بر واژه نامه‬
‫سایر‬
‫انواع کدینگ‪-‬بلوک دیاگرام‪-‬فشرده سازی تصویر ‪-‬الگوریتم رمزگذاری‪-‬مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪ -‬پردازش تصویر در متلب‬
‫‪3‬‬
‫‪4‬‬
‫کدینگ مبتنی بر آنتروپی ‪:‬‬
‫به ازاي هر سمبول موجود در داده يك كلمه رمز یکتا‬
‫•‪VLE‬‬
‫•هافمن‬
‫•حسابی‬
‫•…‬
‫کدینگ مبتنی بر واژه نامه (دیکشنری) ‪ :‬مجموعه اي از زير رشته ها در يك ساختمان داده‬
‫• ‪RLE‬‬
‫• ‪LZW‬‬
‫•…‬
‫بلوک دیاگرام‪-‬فشرده سازی تصویر ‪-‬الگوریتم رمزگذاری‪-‬مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪ -‬پردازش تصویر در متلب‬
‫•‬
‫بلوك دياگرام فرآيند فشرده سازي و رمزگشايي‬
‫‪Output Dta‬‬
‫‪Storage‬‬
‫‪Decoder‬‬
‫)‪(Decompression‬‬
‫‪or‬‬
‫‪Network‬‬
‫‪Encoder‬‬
‫)‪(Compression‬‬
‫‪Input Data‬‬
‫‪‬‬
‫‪5‬‬
‫𝟎𝑩‬
‫𝟏𝑩‬
‫معیار فشرده سازی‬
‫= 𝒐𝒊𝒕𝒂𝒓 𝒏𝒐𝒊𝒔𝒔𝒆𝒓𝒑𝒎𝒐𝒄‬
‫(میزان کنار گذاشتن اطالعات)‬
‫𝟎𝑩 تعداد بیت ها قبل از فشرده سازي‬
‫𝟏𝑩 تعداد بیت ها بعد از فشرده سازي‬
‫فشرده سازی تصویر ‪-‬الگوریتم رمزگذاری‪-‬مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪ -‬پردازش تصویر در متلب‬
‫‪Lossless Compression‬‬
‫‪ 8-2-4‬رمزگذاری ‪LZW‬‬
‫مقدمه ‪:‬‬
‫روش کار ‪:‬‬
‫‪‬‬
‫فرمتهای ‪GIF , TIFF , PDF‬‬
‫‪‬‬
‫در فشرده سازی تصویر کار آمد تر از متون‬
‫‪‬‬
‫یک روش فشرده سازی بدون خطا‬
‫‪‬‬
‫برطرف کردن افزونگی مکانی در تصویر‬
‫‪‬‬
‫نسبت دادن کلمه رمز با طول ثابت به دنباله هایی با طول متغییر‬
‫از سمبلهای منبع‬
‫‪ ‬مبتنی بر کتاب رمز (ساخت دیکشنری)‬
‫‪ ‬روند کار ترتیبی‬
‫‪(Lampel-Ziv)LZ Algoritm‬‬
‫سال‪1967‬‬
‫‪‬‬
‫مکانیسم تطبیقی‬
‫‪Limpel Ziv Welch (LZW) mechanism ‬‬
‫‪ ‬مثال ‪ :‬استفاده در نرم افزار ‪ gzip‬و ‪pkzip‬‬
‫‪Abraham‬‬
‫‪Lampel‬‬
‫‪Jacob Ziv‬‬
‫‪LZW‬‬
‫‪Terry A.Welch‬‬
‫‪1984‬‬
‫الگوریتم رمزگذاری‪-‬مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪ -‬پردازش تصویر در متلب‬
‫‪6‬‬
‫‪Dictionary-Based Compression‬‬
‫‪‬‬
‫ساخت یک دیکشنری حاوی سمبل های منبعی که باید رمزگذاری شوند‬
‫‪‬‬
‫اختصاص ‪ 256‬کلمه اول دیکشنری برای تصاویر تک رنگ‬
‫‪‬‬
‫بررسی ترتیبی پیکسل ها توسط رمز کننده‬
‫‪‬‬
‫قرار گیری الگوریتمی دنباله شدت هایی که در دیکشنری نیستند در مکانهای بال استفاده بعدی‬
‫‪‬‬
‫کلمه رمز در آغاز فرآیند ‪ 8‬بیت ) ‪( 0 - 255‬‬
‫‪‬‬
‫کلمه رمز بعدا ‪ 9 :‬بیت ) ‪( 256 – 511‬‬
‫‪‬‬
‫دیکشنری کوچک ‪ :‬احتمال تشخیص سبمل با سطح شدت یکسان کم است‪.‬‬
‫‪‬‬
‫دیکشنری خیلی بزرگ ‪ :‬تاثیر بر اندازه کلمه رمز‬
‫‪‬‬
‫استفاده از دیکشنری روشی آسان تر در استفاده روزمره ‪:‬‬
‫‪ ‬شماره تلفن‬
‫‪ ‬کد پستی‬
‫الگوریتم رمزگذاری‪-‬مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪ -‬پردازش تصویر در متلب‬
‫‪7‬‬
‫الگوریتم رمز گذاری ‪LZW‬‬
‫‪ -1‬یک واژه نامه اولیه درست کن که تمام رشته های تک‪-‬حرفی را شامل باشد‪.‬‬
‫‪ -2‬طوالنی ترین رشته ‪ W‬موجود در واژه نامه را پیدا کن که مطابق ورودی کنونی‬
‫باشد‪.‬‬
‫‪ W -3‬را با کد متناظرش آن در واژه نامه‪ ،‬کدگذاری کن‪.‬‬
‫‪ -4‬حرف بعد از رشته ‪ W‬رو به ‪ W‬اضافه کرده و با اندیس ی جدید به واژه نامه اضافه‬
‫کن‪.‬‬
‫‪ -5‬برو به مرحله ‪.2‬‬
‫‪8‬‬
‫‪Initialize table with single character strings‬‬
‫‪1‬‬
‫‪P = first input character‬‬
‫‪2‬‬
‫‪WHILE not end of input stream‬‬
‫‪3‬‬
‫‪C = next input character‬‬
‫‪4‬‬
‫‪IF P + C is in the string table‬‬
‫‪5‬‬
‫‪P=P+C‬‬
‫‪ELSE‬‬
‫‪output the code for P‬‬
‫‪add P + C to the string table‬‬
‫پیش نیاز ‪:‬‬
‫‪ .1‬جدول ‪( ASCII‬داده های اولیه ی واژه نامه کد کاراکتر ‪ 8‬بیتی با مقادیر بین ‪ 0‬تا‬
‫‪ 255‬از کد اسکی )‬
‫‪P=C‬‬
‫‪END WHILE‬‬
‫‪6‬‬
‫‪7‬‬
‫‪8‬‬
‫‪9‬‬
‫‪10‬‬
‫‪11‬‬
‫‪12 output code for P‬‬
‫مثال ‪ :‬فاصله = کد ‪ 32‬و حرف ‪ = b‬کد ‪98‬‬
‫‪ .1‬پاک کردن واژه نامه = کد اختصاص ی ‪256‬‬
‫‪ .2‬پایان ارسال = کد اختصاص ی ‪257‬‬
‫مثال ‪-2‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری ‪ -‬پردازش تصویر در متلب‬
‫مثال ‪2‬‬
‫جمله زیر رو درنظر بگیرید‪:‬‬
‫‪itty bitty nitty grrritty bit bin‬‬
‫پردازش تصویر در متلب ‪LZW -‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری‬
‫‪9‬‬
‫‪itty bitty nitty grrritty bit bin‬‬
‫حرف‬
‫کد‬
‫حرف‬
‫کد‬
‫حرف‬
‫کد‬
‫فاصله‬
‫‪32‬‬
‫‪it‬‬
‫‪258‬‬
‫‪b‬‬
‫‪98‬‬
‫‪tt‬‬
‫‪259‬‬
‫‪itty‬‬
‫‪ g‬فاصله ‪y‬‬
‫‪268‬‬
‫‪269‬‬
‫‪g‬‬
‫‪i‬‬
‫‪103‬‬
‫‪105‬‬
‫‪ty‬‬
‫‪260‬‬
‫‪gr‬‬
‫‪270‬‬
‫فاصله ‪y‬‬
‫‪261‬‬
‫‪rr‬‬
‫‪271‬‬
‫‪n‬‬
‫‪110‬‬
‫‪ b‬فاصله‬
‫‪262‬‬
‫‪r‬‬
‫‪t‬‬
‫‪114‬‬
‫‪116‬‬
‫‪bi‬‬
‫‪263‬‬
‫‪rri‬‬
‫فاصله ‪itty‬‬
‫‪272‬‬
‫‪273‬‬
‫‪itt‬‬
‫‪264‬‬
‫‪ bi‬فاصله‬
‫‪274‬‬
‫‪y‬‬
‫‪121‬‬
‫فاصله ‪ty‬‬
‫‪265‬‬
‫فاصله ‪it‬‬
‫پاک کردن واژه نامه‬
‫‪256‬‬
‫‪ n‬فاصله‬
‫‪266‬‬
‫‪ bin‬فاصله‬
‫‪275‬‬
‫‪276‬‬
‫پایان ارسال‬
‫‪257‬‬
‫‪ni‬‬
‫‪267‬‬
‫‪10‬‬
‫‪11‬‬
‫‪ ‬حجم پیام قبل از کدگذاری ‪ 33‬کاراکتر ‪ 8‬بیتی یعنی ‪ 264‬بیت‬
‫‪ ‬پس از کدگذاری حجم پیام ‪ 22*9‬یعنی ‪198‬بیت‬
‫یعنی ‪ %25‬حجم داده ها کاهش یافته!‬
‫پردازش تصویر در متلب ‪LZW -‬الگوریتم رمزگشایی‪-‬مثال رمزگشایی‪ -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری‬
12
1 Initialize table with single character strings
2 OLD = first input code
3 output translation of OLD
4 WHILE not end of input stream
5
NEW = next input code
6
IF NEW is not in the string table
7
S = translation of OLD
8
S=S+C
9
ELSE
10
11
12
LZW ‫الگوریتم رمز گشایی‬
S = translation of NEW
output S
C = first character of S
13
OLD + C to the string table
14
OLD = NEW
15 END WHILE
‫ اولین کاراکتر را وارد کن‬-1
‫ کاراکتر قبل از اولی را وارد کن‬-2
4 ‫ اگر در جدول وجود داشت وارد کن وگر نه برو مرحله‬: ‫کاراکتر قبلی را نگه دار و به کاراکتر بعدی نگاه کن‬-3
‫ کاراکتر قبلی با جدید را وارد دیکشنری کن‬-4
‫ حلقه را تا پایان کار ادامه بده‬-5
‫نتیجه گیری‬-‫ بیت‬9 ‫ چرا‬-‫مثال رمزگشایی‬LZW - ‫پردازش تصویر در متلب‬
‫مثال ‪ 4‬رمزگشایی طبق الگوریتم نویسی‬
‫‪13‬‬
‫‪Example 2: Use LZW to decompress the output sequence of‬‬
‫‪Example 1:‬‬
‫‪<66><65><256><257><65><260>.‬‬
‫پردازش تصویر در متلب ‪LZW -‬چرا ‪ 9‬بیت‪-‬نتیجه گیری‬
Example 2: LZW Decompression Step 1
14
<66><65><256><257><65><260>
New = 66
ENCODER OUTPUT
string
Old = 65
C=A
STRING TABLE
codeword
string
B
A
256
‫نتیجه گیری‬-‫ بیت‬9 ‫چرا‬LZW - ‫پردازش تصویر در متلب‬
S=A
BA
Example 2: LZW Decompression Step 2
15
<66><65><256><257><65><260>
New = 256 C = B
ENCODER OUTPUT
string
Old = 256 S = BA
STRING TABLE
codeword
string
B
A
256
BA
BA
257
AB
‫نتیجه گیری‬-‫ بیت‬9 ‫چرا‬LZW - ‫پردازش تصویر در متلب‬
Example 2: LZW Decompression Step 3
16
<66><65><256><257><65><260>
New = 257 C = A
ENCODER OUTPUT
string
Old = 257
STRING TABLE
codeword
string
B
A
256
BA
BA
257
AB
AB
258
BAA
‫نتیجه گیری‬-‫ بیت‬9 ‫چرا‬LZW - ‫پردازش تصویر در متلب‬
S = AB
Example 2: LZW Decompression Step 4
17
<66><65><256><257><65><260>
New = 65 C = A
ENCODER OUTPUT
string
Old = 65
S=A
STRING TABLE
codeword
string
B
A
256
BA
BA
257
AB
AB
258
BAA
A
259
ABA
‫نتیجه گیری‬-‫ بیت‬9 ‫چرا‬LZW - ‫پردازش تصویر در متلب‬
Example 2: LZW Decompression Step 5
18
<66><65><256><257><65><260>
New = 260 C = A
ENCODER OUTPUT
string
Old = 260
STRING TABLE
codeword
string
B
A
256
BA
BA
257
AB
AB
258
BAA
A
AA
259
260
ABA
AA
‫نتیجه گیری‬-‫ بیت‬9 ‫چرا‬LZW - ‫پردازش تصویر در متلب‬
BABAABAAA
S = AA
‫چرا ‪ 9‬بیت ؟‬
‫‪19‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫کاراکتر ‪ ASCII‬مقداری بین ‪ 0‬تا ‪ 255‬دارند‬
‫طول این کاراکترها ثابت است‬
‫باید تمایزی بین کارکترهای ‪ ASCII‬و کد ها (با طول رشته ‪2‬یا بیشتر قایل شد)‬
‫با ‪ 9‬بیت میتوان تنها ‪ 256‬کد با طول ‪ 2‬یا بیشتر داشت‬
‫‪<- ASCII‬‬
‫‪characters‬‬
‫)‪(0 to 255‬‬
‫‪<- Codes‬‬
‫)‪(256 to 512‬‬
‫‪0‬‬
‫‪9 bits‬‬
‫‪1‬‬
‫‪9 bits‬‬
‫پردازش تصویر در متلب ‪LZW -‬نتیجه گیری‬
20
0
0
0
<- ASCII characters
0
(0 to 255 entries)
12 bits
0
0
0
1
9 ‫ طول‬: ‫شروع کار‬
‫بیت برای هر کد‬

‫ طول‬، ‫با افزایش کد‬
... ، ‫ بیت‬10 ‫هر کد‬

<- Codes
(256 to 4096 entries)
1
1
1 1
0
ASCII
1
Codes 256-512
Out of codes
0
0
ASCII
0
1
Codes 256-511
1
0
Codes 512-767
0
0
0
ASCII
1
1
Codes 768-1023
0
0
1
Codes 256-511
0
1
0
Codes 512-767
0
1
1
Codes 768-1023
1
0
0
Codes 1024-1279
1
0
1
Codes 1280-1535
1
1
0
Codes 1536-1791
1
1
1
Codes 1792-2047
‫ بیت‬12 ‫( ورودی با طول‬4K)‫کیلو‬4 LZW ‫دیکشنری اصلی‬
‫کد است‬/‫برای هر سمبل‬

.‫ داشت‬212 – 256 codes ‫ بیت میتوان حداکثر‬12 ‫با‬

‫پردازش تصویر در متلب‬-‫نتیجه گیری‬
Out of codes
‫نتیجه گیری ‪LZW:‬‬
‫‪21‬‬
‫‪‬‬
‫این الگوریتم توالی فشرده سازی داده هاست‬
‫‪‬‬
‫‪ LZW‬نیاز به اطالعات قبلی در مورد جریان داده های ورودی ندارد‪.‬‬
‫‪‬‬
‫‪ LZW‬قادر است در یک مرحله اطالعات را فشرده کند‬
‫‪‬‬
‫مزیت دیگر ‪LZW‬سادگی و اجرای سریع آن است‪.‬‬
‫‪‬‬
‫زمانیکه دیکشنری خیلی بزرگ میشود (بالغ بر ‪ : )4096‬ورودیهای ‪ 4095-255‬پاک شده و دیکشنری جدیدی‬
‫ساخته میشود‪.‬‬
‫پردازش تصویر در متلب‬
‫پردازش تصویر در متلب‬
‫‪22‬‬
‫‪‬‬
‫هر تصویر یک ماتریس ‪ m*n‬با شدت روشنایی ‪( 0‬سیاه) تا ‪( 255‬سفید)‬
‫‪‬‬
‫انواع تصویر ‪:‬‬
‫‪(1‬‬
‫‪ = Uint8‬یک بایت بین ‪ 0‬تا ‪255‬‬
‫‪(2‬‬
‫‪= Double‬عدد حقیقی بین ‪ 0‬و ‪1‬‬
‫‪‬‬
‫دستور ‪ : )image read (imread‬وارد کردن تصویر بصورت ماتریس در متلب‬
‫‪‬‬
‫دستور ‪ : imshow‬نمایش ماتریس فوق بصورت تصویر‬
‫‪‬‬
‫دستور ‪ : subplot‬ترسیم چند تصویر روی یک شکل‬
‫‪‬‬
‫دستور ‪ : im2double‬تبدیل تصویر به فرمت دابل‬
‫‪‬‬
‫دستور ‪ : reshape‬تبدیل بعد تصویر (یک بعدی به دو بعدی و بالعکس )‬
‫‪‬‬
‫دستور ‪ : conv‬اعمال فیلتر بر روی تصویر ( فقط تصویر نوع ‪)double‬‬
‫‪‬‬
‫دستور ‪ : fft‬تبدیل فوریه (برای پردازش تصویر در حوزه فرکانس آنرا به سیگنال‬
‫یک بعدی تبدیل و سپس با ‪ fft‬تبدیل فوریه سریع میگیریم)‬
‫پردازش تصویر در متلب‪2‬‬
‫پردازش تصویر در متلب ‪2‬‬
‫‪‬‬
‫توابع محاسباتی‬
‫‪.1‬‬
‫‪ Ippl‬باعث سرعت اجرا‬
‫‪.2‬‬
‫‪ Imadd‬جمع تصاویر‬
‫‪.3‬‬
‫‪ Imsubtract‬تفریق تصاویر‬
‫‪.4‬‬
‫‪ Imdivide‬تقسیم تصاویر‬
‫‪.5‬‬
‫‪ Immultiply‬ضرب تصاویر‬
‫‪.6‬‬
‫‪ Imabsdiff‬قدر مطلق تفاضل تصاویر‬
‫‪.7‬‬
‫‪ Imcomplement‬متمم تصاویر‬
‫‪.8‬‬
‫‪ Imlinecomb‬ترکیب خطی تصاویر‬
‫‪‬‬
‫برخی دیگر از دستورات پردازشی‬
‫‪.1‬‬
‫‪ : Bwselect‬انتخاب ناحیه خاصی از تصویر‬
‫‪ Imadjust .2‬و ‪( histeq‬هیستوگرام) افزایش کنتراست‬
‫تصویر سیاه و سفید‬
‫‪ .3‬تغییر نوع تصویر ‪:‬‬
‫‪ rgb2ind‬تبدیل تصویر ‪ rgb‬به تصویر ارایه ای‬
‫‪ Ind2rgb‬تبدیل تصویر اندیس گزاری شده به ‪rgb‬‬
‫‪ Rgb2hsv‬تبدیل تصویر ‪ rgb‬به ‪( hsv‬شدت رنگی)‬
‫‪23‬‬
‫پردازش تصویر در متلب‬
‫مثال ‪1‬‬
‫جمله زیر رو درنظر بگیرید‪:‬‬
‫‪itty bitty bit bin‬‬
‫‪24‬‬
‫‪itty bitty bit bin‬‬
‫حرف‬
‫کد‬
‫حرف‬
‫کد‬
‫حرف‬
‫کد‬
‫فاصله‬
‫‪32‬‬
‫پایان ارسال‬
‫‪257‬‬
‫‪itt‬‬
‫‪264‬‬
‫‪b‬‬
‫‪98‬‬
‫‪it‬‬
‫‪258‬‬
‫فاصله ‪ty‬‬
‫‪265‬‬
‫‪i‬‬
‫‪105‬‬
‫‪tt‬‬
‫‪259‬‬
‫‪ bi‬فاصله‬
‫‪266‬‬
‫‪n‬‬
‫‪110‬‬
‫‪ty‬‬
‫‪260‬‬
‫فاصله ‪it‬‬
‫‪267‬‬
‫‪t‬‬
‫‪116‬‬
‫فاصله ‪y‬‬
‫‪261‬‬
‫‪ bin‬فاصله‬
‫‪268‬‬
‫‪y‬‬
‫‪121‬‬
‫‪ b‬فاصله‬
‫‪262‬‬
‫پاک کردن واژه نامه‬
‫‪256‬‬
‫‪bi‬‬
‫‪263‬‬
‫‪25‬‬
‫‪26‬‬
‫‪‬‬
‫حجم پیام قبل از کدگذاری ‪:‬‬
‫‪ 18‬کاراکتر * ‪ 8‬بیت = ‪ 144‬بیت‬
‫توجه ‪:‬پس از کدگذاری باتوجه به اینکه داده های ‪ 9‬بیتی نیز داریم همه داده ها ‪ 9‬بیتی میشوند (حتی آنهایی که از قبل ‪8‬بیتی بوده اند)‬
‫‪‬‬
‫حجم پیام بعد از کد گذاری ‪ 14 :‬کاراکتر * ‪ 9‬بیت = ‪ 126‬بیت‬
‫یعنی ‪ %12.5‬حجم داده ها کاهش یافته!‬
‫ =رمزگذاری طبق برنامه نویسی‬3 ‫مثال‬
27
Example 1: Use the LZW algorithm to compress the string
BABAABAAA
Example 1: LZW Compression Step 1
28
BABAABAAA
P=A
C=empty
ENCODER
OUTPUT
output code representing
STRING
codeword
TABLE
string
66
256
BA
B
Example 1: LZW Compression Step 2
29
BABAABAAA
P=B
C=empty
ENCODER
OUTPUT
output code representing
STRING
codeword
TABLE
string
66
65
256
257
BA
AB
B
A
Example 1: LZW Compression Step 3
30
BABAABAAA
P=A
C=empty
ENCODER
OUTPUT
output code representing
STRING
codeword
TABLE
string
66
65
256
256
257
258
BA
AB
BAA
B
A
BA
Example 1: LZW Compression Step 4
31
BABAABAAA
P=A
C=empty
ENCODER
OUTPUT
output code representing
STRING
codeword
TABLE
string
66
65
256
257
256
257
258
259
BA
AB
BAA
ABA
B
A
BA
AB
Example 1: LZW Compression Step 5
32
BABAABAAA
P=A
C=A
ENCODER
OUTPUT
output code representing
STRING
codeword
TABLE
string
66
65
256
257
B
A
BA
AB
256
257
258
259
BA
AB
BAA
ABA
65
A
260
AA
Example 1: LZW Compression Step 6
33
BABAABAAA
P=AA
C=empty
ENCODER
OUTPUT
output code representing
STRING
codeword
TABLE
string
66
65
256
257
B
A
BA
AB
256
257
258
259
BA
AB
BAA
ABA
65
A
260
AA
260
AA
‫‪JPEG2000‬‬
‫‪‬‬
‫پسوند فایلی ‪ .jp2‬و ‪.j2k‬‬
‫‪‬‬
‫مزایا‪:‬‬
‫‪‬‬
‫فشرده سازی فایل تصویری به مقدار بیشتر و با حداقل افت‬
‫كیفیت‬
‫‪.1‬‬
‫پشتیبانی از فایلهای با فضای رنگی ‪ 48‬بیتی‬
‫‪‬‬
‫فشرده سازی از نوع بی اتالف‬
‫‪‬‬
‫‪ :JPEG 2000‬الگوریتم‪wavelet transformation‬‬
‫‪‬‬
‫‪: JPEG‬الگوریتم ‪cosinus transformation‬‬
‫‪.2‬‬
‫خروجی گرفتن از این فایل با رزولوشن های مختلف‬
‫‪.3‬‬
‫پشتیبانی از شفافیت در تصویر)‪ ، (transparency‬كانال آلفا و نیز انتقال الیه‬
‫الیه تصویر در وب )‪(Progressive‬‬
‫‪.4‬‬
‫•امكان استفاده از ماسك (فشرده سازی کمتر ناحیه خاصی از تصویر‬
‫‪.5‬‬
‫امكان دسترسی به مقدار ‪ Bit Rate‬فشردگی در هر نقطه تصویر‬
‫‪.6‬‬
‫استخراج سایز و کیفیت های متفاوت از تصویر اصلی بدون نیاز به‬
‫‪decoding‬مجدد‬
‫‪34‬‬
‫مقایسه كیفیت با نسبت یک بیستم‬
‫فشره سازی با نسبت یك بیستم در ‪JPEG‬‬
‫‪‬‬
‫‪35‬‬
‫فشره سازی با نسبت یك بیستم در ‪JPEG2000‬‬
‫تصویر اولیه‬
‫با دقت در مناطقی از تصویر كه مرز بین دو ناحیه مختلف رنگی هستند‪ ،‬در فرمت ‪ JPEG2000‬افت كیفیت بسیار كمتر از فرمت‬
‫‪JPEG‬است‪.‬‬
‫مقایسه كیفیت با نسبت یک هفتم( نسبت غالب در اکثر دوربین های دیجیتال)‬
‫فشره سازی با نسبت یك هفتم در ‪JPEG‬‬
‫‪‬‬
‫‪36‬‬
‫فشره سازی با نسبت یك هفتم در ‪JPEG2000‬‬
‫تصویر اولیه‬
‫اگر فایلی را با این دو فرمت طوری فشرده نماییم كه كیفیت هردو یكی باشد‪ ،‬حجم فابل ‪ JPEG2000‬تقریبا ‪ %35-25‬كمتر خواهد‬
‫بود‬
37
Main Differences
JPEG
JPEG2000
‫تولید تصاوبر طبیعی‬
 ‫تولید تصاویر دیجیتال و کامپیوتری‬
 Discrete Cosine Transform
algorithm
 Discrete Wavelet Transform
algorithm
 File extension : .jpg or .jpeg
 Currently applicable to most of
applications
 File extention : .jp2, .jpx, .jpf, .mj2
 Currently NOT widely used
 Web, imaging software,
office ..
Basic Architecture of standard
Source
image data
Forward
transform
Quantization
Entropy
encoding
Compressed
image data
38
Conclusion
 JPEG2000 standard shows improved features
over JPEG standard
 JPEG2000 reduced the image size while
enhanced the image quality
 JPEG2000 is not yet widely used but getting more
attention
 It is expected that JPEG2000 standard will
become the one of most widely used image
compression standard in very near future
Questions?
39