کوچک کردن
اگر تصوير دانشجوياني که با فشار در بادجه تلفن خو را جا داده بودند را به خاطر بياوريد،ميتوان گفت ايده اي کلي از محل کار ما به دست آوريد.مديريت محل کارمان به گونه اي است که ما را ناچار به متراکم سازي کرده است.يعني خود ، و يک دوجين از افراد ديگر را همراه با هزاران کتاب را در اتاقي جا داده ايم.به نظر ميرسد که اين کار شبيه به قرار دادن ميليون ها ديسکت فلاپي حاوي مشخصه هاي اعضاي aol (يكي اؤ بؤرطترين شركت هاي ارائه خدمات one line )در معادله هاي جديد تر و متراکم تر روش هاي ذخيره مي باشند.بنا بر اين علت تمايل ما به متراکمسازي بسيار مشخص است.
در اين فصل دنياي متراکم سازي را مرور خواهيم کرد.متراکم سازي چيست؟چه کاري انجام ميدهد.و به طور کلي اين کار را چگونه انجام ميدهد.همچنين راهنمايي در مورد انتخاب روش متراکم سازي را ارائه خواهيم داد.به طور که بتوانيد بسته به کاري که انجام ميدهيد ،و نحوه انجام آن ،بهترين روش متراکم سازي را انتخاب کنيد.
متراکم سازي ،مبتني بر الگوريتم است. الگوريتم در واقع از دستور هاي مرحله به مرحله تشکيل شده است،که نحوه انجام محاسبات رياضي يا اجراي برنامه راشرح ميدهد.الگوريتم متراکم سازي در واقع شرح ميدهد که چگونه ميتوانيد داده هاي خام (مانند داده هاي موجود در فايل تصويري tff) را به دست آورده ،بعد از اعمال يک سري عمليات رياضي به آنها در نهايت به فايل کوچکتري دست پيدا کنيد.
ترفند اصلي در واقع اين است که ميخواهد دوباره به اين تصوير متراکم شده دست پيدا کنيد.يعني بايد آن را از حالت متراکم شده خارج کنيد،و به شکل اوليه اش باز گردانيد.اختلاف بين 2 روش متراکم سازي اصلي از همين قسمت شروع مي شود.هنگامي که بيست سوالي بازي ميکنيد،ابتدا پرسيده ميشود که ((جاندار است ،يا بيجان؟))هنگام بازي متراکم سازي نيز اولين سوالي که پرسيده ميشود اين است که ((همراه با کاهش داده ،يا بدون کاهش داده؟؟))
بدون کاهش داده
اگر فايل تصوير را با روش متراکم سازي ((بدون کاهش داده ))متراکم سازي کنيد ،تصويري که بعد از خارج ساختن آن از حالت متراکم شده بدست مي آيد ،کاملا مشابه تصوير اوليه خواهد بود.يعني عدم کاهش يا تغيير داده ها در آن تضمين شده است.اگر الگوريتم روش مزبور نتواند اين مطلب را تضمن کند،روش مزبور ديگر ((بدون کاهش داده))ناميده نميشود.در واقع اين کار ميتوان به اسفنج آشپزخانه تشبه کرد.ميتوان اسفنج را تاحد زيادي متراکم کرد.اما وقتي آن را رها ميکنيد به شکل اوليه اش باز خواهد گشت.البته مي توانستيم 2 تصوير را در اينجا به شما نشان دهيم.که يکي قبل از متراکم سازي و ديگري مرحله بعد از خارج کردن آن از حالت متراکم شده را نشان دهد.اما از انجا که هر 2 تصوير املا شبيه به هم بوده اين کار چندان عاقلانه نخواهد بود.
روش هاي متراکم سازي بدون کاهش داده در برنامه هايي مانند :win zip و stufflt delux براي بايگاني برنامه و داده ها مورد استفاده قرار خواهد مي گيرد.از اين روش ها استفاده ميکنند.زيرا در مورد برنامه ها و داده ها نميتوان حتي در مورد يک بيت منفرد اشتباه کرد.همچنين در مورد تصوير هايي که بايدتمام مشخصه ها و اطلا عاتش حفظ شود،نيز همين روش مورد استفاده قرار خواهد گرفت.
روش هاي مختلفي براي متراکم سازي بدون کاهش داده ها وجود دارند ،که هر کدام از آنها در يک يا چند روش اصلي قالب بندي فايل هاي گرافيک مورد استفاده قرار مي گيرد.
رمز گزاري طول سلسله
يکي از ساده ترين شکل هاي متراکم سازي بدون کاهش داده ها ي تصويري روش رم گزاري طول سلسله run length encoding (rle) مي باشد.اين روش به طور خودکار براي قالب بندي فايل ها ي تصويري pict در مکينتاش مورد استفاده قرار ميگيرد.روش rle به اين ترتيب است که به دنبال مقادير مشابهي که به رنبال يکديگر قرار گرفته اند ،مي گردد.مثلا فرض کنيد که تصويري سياه سفيد مبتني بر نقشه بيتي (bit map ) از يک گاو داريم.برنامه اي که بخواهد اين تصوير را با استفاده از روش rle متراکم کند ،ابتدا مشاهده ميکند که 245 نمره اول موجود در تصوير سفيد مي باشند؟بعد از آن 80 نمونه سياه قرار دارد ،که به دنبال آن 16 نمره سياه قرار دارد،که به دنبال آن 16 نمره سفيد يافت ميشود.و همين طور تا آخر.بنابر اين برنامه ميتواند داده ها را فقط با استفاده از تعداد و رنگ ثبت کند،يعني (245 سفيد،80 سياه،16 سفيدو...)(شکل را ملاحضه کنيد)
با استفاده از اين روش تصوير هاي ساده بسيار کوچک ميشوند،و حجم چنداني نخواهند داشت.اما در مورد تصوير هاي بزرگتر اين روش متراکم سازي چندان تاثيري نخواهند کرد.در حقيقت اگر تصوير بسيار پيچيده باشد (و يا ناحيه اي که رنگ يک دست دارد،نويز وجود داشته باشد)،ممکن است با روش rle حتي طول فايل متراکم بيشتر شود.!
روش متراکم سازي lzw
روش متراکم سازي lzw (هر چند دانستن آن ضرورتي ندارد اما سر نام کلمه هاي lempel ziv whech است)،به دنبال الگو هاي داده در فايل ميگردد.الگو هاي مزبور pharse (عبارت) ناميده ميشوند.اين عبارت ها مشخص شده ،و در جدولي ذخيره ميشوند.جدول مزبور علامت ها يا کليد هايي دارد،که با اين عبارت هاي طولاني مترادف ميباشند.بنابر اين اگر کلمه اي شبيه به"ishkabibble " داشته باشيد که 500 بار در طول فايل تکرار شده باشد ،هنگام متراکم سازي عددي با طول يک بايت (يا حداکثر 2 بايت ) به جاي آن قرار ميگيرد.اگر اين عدد را در جدول رمز نگاري پيدا کنيد ،کلمه " ishkabibble" را به عنوان معادل آن پيدا خواهيد کرد.(به شکل زير مراجعه کنيد، در اين شکل جدولي با 9 جايگزين به عنوان نمونه ارائه شده است ).
مثال ديگر: اگر در تصويري ترتيب پيکسل هاي صورتي ،نارنجي،و سبز 50 بار تکرار شده باشد،روش متراکم سازي lzw توالي مزبور را شناسايي مي کند،و عدد منفردي (مثلا عدد 6 ) را معادل آن قرار ميدهيم.سپس به جاي آن عدد 60 را 50 بار ذخيره ميکند.
روش استاندارد پياده سازي قالب بندي هاي TIFF و GIF با متراکم سازي LZW همراه است.زيرا حتي در صورت وجود نويز ،روش کارآمد براي نشان دادن الگوها در تصويرهاي رنگي به شمار مي آيد . درست مانند RLE ،روش LZW نيز با تصويرهايي خوب کار مي کند که رنگ هاي يک دست بدون تشکيل نويز شده باشد .اما عملکرد آن در متراکم سازي داده هاي هر نوع تصوير دلخواه ،بسيار بهتر از RLE است .
روش هاي رمزگذاري Huffman و CCITT :
علت اينکه فقط به نام « رمزگذاري Huffman و CCITT » اشاره کرديم ،اين است که احتمالاً همين اصطلاح را در گزينه هاي متراکم سازي مشاهده خواهيد کرد و بايد بدانيد که آيا روش هاي مزبور را انتخاب کنيد يا خير؟ روش رمز گذاري Huffman به سال 1952 باز مي گردد،و به عنوان بخشي از ساير روش هاي متراکم سازي ( مانند LZW و روش Deflate ) مورد استفاده قرار مي گيرد.
در روش رمز گذاري Huffmanمجموعه اي از سمبل ها (مانند حروف در فايل متني )مورد استفاده قرار مي گيرد و با توجه به تکرار سمبل ها مورد تجزيه و تحليل قرار مي گيرد .سپس براي نمايش آن ها از حد اقل بيت هاي ممکن براي سمبل هايي که بيش از ساير سمبل ها تکرار شده اند استفاده مي شود. مثلاً در متن هاي انگليسي استاندارد، حروف E متداول ترين حروف به شمار مي آيد. در روش رمز گذاري Huffman ممکن است بتوانيد حروف E را با دو بايت نشان دهيد. اين ترکيب به جاي بايت هشت بيتي مورد استفاده براي نمايش حرف E در کدهاي اسکي به کار مي رود.روش اسکي تقريبا براي ذخيره سازي و انتقال بين تمام کامپيوترها مورد استفاده قرار مي گيرد.
روش CCITT در ابتدا براي ارسال و در يافت اطلاعات بين دستگاههاي (fax ) به وجود آمد.در اين مورد استانداردهاي متعددي وجود دارد،اما همان طور که مشاهده خواهيد کرد متداولترين استاندارد ها group 3 و group 4 مي باشد.اصطلاح روش رمز گزاري Huffman و CCITT را نمي توان به جاي يکديگر مورد استفاده قرار داد.بلکه روش رمز گزاري CCITTدر واقع محدوده باريکي از روش رمز گذاري Hufman را شامل ميشود.
روش CCITT براي متراکم سازي تصوير هاي نقشه بيتي سياه و سفيد مورد استفاده قرار ميگيرد.مثلا اگر نرم افزار acrobat را در اختيار داشته باشيد ،در برنامه ي زميمه distiller گزينه ccitt مشاهده خواهيد کرد.در کادر مکالمه مربوط به منوي job options دکمه اي به نام compression وجود دارد ،که در آن ميتوانيم ccitt (از نوع group 3 ) را بيابيد.اين روش درست معادل قالب بندي دستگاههاي نما برfax مي باشد.همچنين استاندارد ديگر آن يعني group 4 نيز ديده ميشود(اين استاندارد در دستگاههاي نمابر (fax) ،بدون کنترل گرهاي اختصاصي است.در اينجا گزينه مزبور در حالت انتخاب شده قرار دارد.علاوه بر گزينه هاي ديگري مانند run length (شبيه روش rle) ،و zip (يکي از قالب بندي هايي که شرکت adobe در الگوريتم DEFLATE از آن استفاده مي کند) نيز ديده مي شوند.
نه روش Hafman و نه روش CCITT ، هيچکدام قالببنديهاي واقعي براي فايلها به شمار نميآيند. الگوريتم آنها همواره در ساير قالب بندي ها مانند tiff و eps يا pdr مورد استفاده قرار ميگيرد.
روش deflate
بعد از ادعاي Unisys ، صاحب امتياز و ثبت رساننده حق انحصار lzw ،افراد هوشمندي به طراحي نرم افزار هايي پرداختند که بدون ادعا در مورد حق ثبت اختراع بتوان آنها را مورد استفاده قرار داد.يکي از از اين الگوريتم ها deflate ناميده ميشود.روش متداول و رايگان پياده سازي DEF LATE در واقع ZLIB LIBRARY .در الگوريتم DEFLATE نيز براي متراکم سازي بدون کاهش داده ها ،روشي مانند LZW مورد استفاده قرار گرفته است.اما ابداع کنندگان آن سعي زيادي دارند که ثابت کنند روش انها نمونه تبديل شده LZW نمي باشد.الگوريتم DEFLATE در روش قالب بندي ZIP مورد استفاده قرار ميگيرد.علاوه بر آن در چند برنامه ديگر نيز مانند قالب بندي PNG يا چند نمونه از برنامه هاي بايگاني الگوريتم مزبور مورد استفاده قرار خواهد گرفت.
برنامه هاي بايگاني
براي انتقال فايل ها و يا ذخيره سازي آنها بسيار مفيد خواهد بود اگر بتوانيم آنها را با يکديگر در يک گروه قرار داده و به صورت يک موضوع واحد با آن کار کنيم .بهترين راه براي اين کار استفاده از برنامه هاي بايگاني مي باشد.برنامه هاي مزبور ميتوانند يک فايل منفرد ،مجموعه اي از فايل ها ،و يا حتي کل ساختار فهرست راهنما همراه با فايل ها و پوشه هاي موجود در آن را همراه با يکديگر در يک "فايل بايگاني" ذخيره کنند به طوري که حمل يا نگهداري آنها آسانتر باشد.
حتي بهتر از آن برنامه اي است که بتواند هنگام اضافه کردن فايل ها به يکديگر آنها را متراکم کند.به اين ترتيب نتيجه بايگاني بسيار کار آمد تر خواهد بود.برنامه STUFFLT DULXE و PKZIP دو نمونه از معروفترين برنامه هاي بايگاني مي باشند.
بعد از کاربا برنامه هاي بايگاني بر روي فايل (يا مجموعه اي از فايل ها)به دست مي آورند.در واقع فايلي است که شامل نمونه متراکم شده تمام داده هاي اوليه است .و اگر پوشه ها يا فهرست هاي راهنمايي را به آن اضافه کرده باشيد ،فايل ها به صورت يک سلسله در خواهند آمد.ديگر نمي توانيد چيزي را به فايل مزبور اضافه کنيد.مگر اينکه با استفاده از همان برنامه بايگاني فايل ها را استخراج کنيد.و دوباره فايل ها را به صورت غير متراکم بر روي ديسک ذخيره کرد.
بعضي از برنامه ها ي متراکم سازي مي توانند فايل هاي ساير برنامه ها را بخوانند(مثلا برنامه WIN ZIP و STUFFLT مي توانند فايل هايي با قالب بندي GZIPدر UNIX را بخوانند)اما برنامه هايي نظير QURKXPRESS يا PAGEMAKER نمي توانند هيچ يک از اين فايل ها ي بايگاني شده را بخوانند.در اين حالت بايد ابتدا با استفاده از برنامه بايگاني اوليه فايل ها را استخراج کنيد.
برنامه هايي بايگاني براي ذخيره سازي همه چيز مناسب اند.مثلا فايلي در ديسکت فلاپي نمي گنجد،بخواهيد فايلي را به اينترنت ارسال کنيد يا وقتي که بخواهيد داده هاي بسيار زيادي (مانند متن يا تصويرهاي بسيار حجيم)را براي آينده ذخيره کنيد.
اما در مورد فايل هايي که به صورت روزمره مورد استفاده قرار ميگيرند،فايل هايي با قالب بندي متراکم چندان مفيد نيست.زيرا فقط با استفاده از برنامه هايي ميتوان آن را خواند،که براي ويرايش و ذخيره سازي آنها ساخته شده اند.
دليلي وجود ندارد که فايل هاي متراکم شده GIF و PNG و TIFF را که توسط برنامه LZW متراکم شده است.با استفاده از برنامه بايگاني متراکم کنيم.زيرا برنامه مزبورنمي تواند کاري بهتراز آنچه که روال تعبيه شده در قالب بندي گرافيک مزبور انجام داده است ،را انجام دهند.در حقيقت اگر بخواهيد اين فايل را با استفاده از برنامه بايگاني متراکم سازي کنيد،ممکن است در نهايت حجم بيشتري را اشغال کنند.
برنامه هاي بايگاني تطبيق يافته از متراکم سازي فايل هايي که متراکم شده اند.سرباز ميزنند.همچنين ممکن است ابتدا فايل متراکم شده را مورد بررسي قرار دهند.اما در صورتي که روش متراکم سازي براي آن کارايي نداشته باشيد،آن را متراکم نکنند.
متراکم سازي با کاهش دادهها
نوع دوم متراکم سازي با «کاهش داده ها» [Lossy] همراه است. اين اصطلاح دست کم به سال 1945 باز ميگردد. همانطور که از نام اين روش بر ميآيد، توسط نرمافزارهاي مهندسي براي متراکم سازي دادهها همراه با کاهش آنها ساخته شده است. اما کاهش دادهها در اين روش، بصورتي بسيار هوشمندانه انجام ميشود. اين روش بيشتر شبيه اين است که لباسي نخي را با زور در چمداني که پُر است، قرار دهيم. در اين حالت وقتي دوباره آن را باز ميکنيد، ديگر به همان خوبي که هنگام تا کردن بود، نميباشد. براي بسط دادن مثال بايد گفت که ممکن است لباس هنگام قرار دادن در چمدان سفيد روشن بوده، اما بعد از خارج کردن، به رنگ خاکستري در آمده باشد.
الگوريتمهاي متراکمسازي همراه با کاهش دادهها با اين تفکر ايجاد شدند، که بتوان دادههاي پر اهميت را براي برنامه مشخص کرد. حتي در بالاترين سطح متراکم سازي نيز مهمترين دادهها باقي خواهند ماند. بسته به سطح کيفيت انتخاب شده، دادههايي که از اهميت کمتري برخوردار هستند، از دست خواهند رفت. مثلاً اطلاعات مربوط به ميزان روشني [Luminance] (يا شدت تيرگي) از اطلاعات رنگ بسيار مهمتر هستند. زيرا چشم به تغييرات شدت تيرگي بسيار حساستر است. در تصويرهايي که با استفاده از روش متراکم سازي همراه با کاهش دادهها ذخيره ميشوند، دادههاي مربوط به ميزان روشني بسيار بيشتر از دادههاي مربوط به ماهيت رنگ [Hue] يا درجة اشباع رنگ [Saturation] حفظ خواهند شد.
با از دست دادن اطلاعاتي که اهميت کمتري دارند، ميتوانيد ميزان متراکم سازي را تا حد بسيار زيادي افزايش دهيد. مثلاً در جايي که روش LZW ميتواند فايل تصويري با قابل بندي TIFF را تا حدود 40 درصد نسبت به تصوير اوليه متراکم کند، همان فايل با استفاده از روشهاي مبتني بر متراکم سازي همراه با کاهش دادهها معمولاً گزينهاي را نيز در اختيارتان قرار ميدهد تا ميزان متراکم سازي دادهها را تعيين کنيد. متراکم سازي بسيار زياد، به فايلهاي بسيار کوچک و کيفيت پايين منجر خواهد شد.
در متراکم سازي همراه با کاهش دادهها، کيفيت تا چه حد کاهش مييابد؟ اين مسئله به ميزان متراکم سازي، تفکيک پذيري و محتويات آن بستگي دارد. پايين آمدن کيفيت، به معني افزايش خرابي يا حالتهاي غير طبيعي در تصوير است. منظور از حالتهاي غير طبيعي، خطاهايي مانند دانه دانه شدن نمونههاست که توسط نرم افزار ايجاد شده باشد.
متراکم سازي همراه با کاهش دادهها بر اساس الگوريتمهاي رياضي است و بسيار پيچيدهتر از آن ميباشند که بتوان در اينجا شرح داد (بهتر است بگوييم که پاية رياضي آنها را خودمان هم خوب متوجه نشدهايم).
روش JPEG
در حال حاضر، متداولترين روش متراکم سازي همراه با کاهش داده ها، روش JPEG ميباشد که در فصل 4 نيز شرح داده شد. همانطور که در اينجا نيز اشاره کرديم، هرچند که ميتوان روش JPEG را در داخل هر قالب ديگري نيز پياده کرد، اما در واقع فقط در مورد روش خاصي که JFIF ناميده ميشود، و براي تصويرهاي grayscale (مقياس خاکستري) 8 بيتي، و تصويرهاي رنگي RGB 24 بيتي بکار رفته است. شرکت Adobe نوع ديگري از روش JFIF را براي قالب بندي JPEG بکار برده است، بطوري که بتواند دادههاي 32 بيتي مدل CMYK را نيز کنترل کند (در اين مورد، به شکل 1 مراجعه کنيد).
شکل 1 : روش متراکم سازي JPEG در مقايسه با تصوير اوليه
نحوة عملکرد: در روش JPEG، براي به حداکثر رساندن ميزان متراکم سازي، روشهاي متفاوتي را مورد استفاده قرار ميدهد. ابتدا دادههاي تصوير را به فضاي رنگي شبيه LAB تبديل ميکند، سپس نيم تا يک سوم دادههاي رنگ را حذف مي کند (که به روش پياده سازي آن بستگي دارد).
در مرحلة) بعد، الگوريتم DCT (سرنام کلمههاي Siscrete Ciosine Transform ) را به آن اعمال ميکند. در اين روش، پيکسلهاي موجود در فايل بصورت بلوکهاي 8*8 مورد بررسي قرار ميگيرند. به ازاي هر بلوک، سري عددهايي را ايجاد ميکند که ويژگيهاي طيف موجود را دادههاي بسيار جزئي تا کلي مشخص ميکنند. چند عدد اول، نشان دهندة رنگ کلي بلوک ميباشند. درحاليکه عددهاي بعدي نشاندهندة جزئيات ظريفتر هستند، طيف جزئيات بر اساس اهميت درک آنها توسط انسان مرتب شده است. بطوريکه کليترين دادهها (يا ترکيبهاي کلي) بيشترين اهميت، و دادههاي جزئي کمترين اهميت را دارند.
عددهاي DCT با پيکسلها رابطة يک به يک ندارند.، که خود دليل ديگري بر کاهش دادهها در روش JPEG ميباشد. حتي وقتي JPEG را با پايينترين ميزان متراکم سازي ذخيره ميکنيد، باز هم تصوير استخراج شده کاملاً مشابه تصوير اوليه نخواهد بود.
در مرحلة بعد، بسته به اين که چه تنظيمي را براي تصويرهاي JPEG انتخاب کرده باشيد، تعدادي از دادهها که نشان دهندة جزئيات تصوير ميباشند، حذف خواهند شد. اگر ميزان متراکم سازي بيشتري را انتخاب کرده باشيد، فقط دادههاي کلي باقي خواهند ماند. در نتيجه تصويري که بدست ميآيد، لکه دار به نظر ميرسد. هرچه کيفيت بالاتري را انتخاب کنيد، يعني در واقع جزئيات بيشتري از تصوير را حفظ کردهايد، بطوريکه فقط در بعضي از ناحيهها ممکن است انحراف رنگ کوچکي ايجاد شده باشد.
JPEG در آخرين مرحله، روش رمزگذاري Huffman را مورد استفاده قرار ميدهد (در مورد تعريف اين الگوريتم، به مبحث «بدون کاهش دادهها» باز گرديد). در نتيجه دادههاي انتخابي مزبور به فشردهترين شکل ذخيره ميشوند. نکتة مهمي که بايد به آن توجه داشته باشيد اين است که در انتهاي روند JPEG دادههايي را در اختيار خواهيد داشت که در واقع هيچ ربطي به تصوير اوليه ندارند. براي ايجاد دادههاي اوليه، بايد فايل از طريق همان الگوريتم استخراج شده و به برنامههاي مورد نظر انتقال يابد.
روش استفادة صحيح از JPEG : در اينجا ترفندهايي را براي استفادة صحيح از JPEG ارائه ميکنيم، بطوريکه بتوانيد به بهترين نمونة تصوير مورد نياز خود دست يابيد:
• اگر تصويري حاوي ناحيههاي زاويه دار با کنتراست بالا باشد، احتمال زيادي دارد که در صورت متراکم سازي با روش JPEG، تا حد زيادي حالت غير طبيعي پيدا کند. مثلاً تصويري با تفکيک پذيري پايين که مربعهاي زرد بر روي پس زمينة سبز داشته باشد، بعد از متراکم سازي با اين روش، حالت نامطلوبي پيدا خواهد کرد.
• متراکم سازي و استخراج مکرر تصوير ممکن است کيفيت آن را نسبت به اولين متراکم سازي بدتر کند. اين کار درست مانند فتوکپي کردن از تصويري است که قبلاً فتوکپي شده باشد. تصوير اوليه ممکن است بعد از چند نسل فتوکپي شدن، ديگر غير قابل استفاده باشد.
• اگر تصوير اوليه خودش دانه دانه است، و يا علامتدار است، روش متراکم سازي همراه با کاهش دادهها آن را به هيچ وجه خراب تر نميکند، اما احتمالاً روش JPEG نميتواند در متراکم سازي آن چندان مؤثر باشد.
• نکتة مهم اين است که عکسهاي حاوي بخشهاي بزگي از رنگ يکدست با استفاده از روش JPEG بخوبي متراکم ميشوند. تصويرهايي که جزئيات زيادي داشته باشند، در اين روش نسبت به روش LZW در قالب بندي TIFF بهتر متراکم ميشوند.
روشهاي رياضي جديد
چند سال پيش به نظر ميرسيد که روش متراکم سازي Fractal در حال اوج گرفتن باشد. اکنون چند سال گذشته است و ما هنوز به انتظار لحظة پرتاب موشک هستيم. هم روش متراکم سازي Fractal و هم Wavelet به علت استفاده از روشهاي نسبتاً جديد رياضي مزيتهايي را دارند و از فرمولهاي رياضي شبيه فرمولهاي مورد استفاده در الگوريتم DCT و روش متراکم سازي JPEG استفاده ميکنند. اصول رياضي روش Farctal در اواخر دهة 70 ارائه شد. درحاليکه روش Wavelet بسيار جديد است، و در دهة 90 در روند متراکم سازي مطرح شده است. شرکتهاي اندکي اين الگوريتمها را به عنوان تکنيک متراکم سازي مورد استفاده قرار دادهاند. اما سعي ميکنيم که از آن دوري کنيم. در اينجت فقط براي آشنايي، مطالبي را در مورد آنها شرح ميدهيم.
روش Fractal : در تمام صحنههاي دنياي واقعي مانند تکهاي از چوب يا منظره، طرحهاي مشابهي وجود دارند که در اندازهها و جهتهاي مختلف قرار گرفتهاند. برگ درخت را در نظر بگيريد. ممکن است هزاران برگ وجود داشته باشد، و تعداد زيادي از آنها بسيار شبيه يکديگر باشند، اما اندازه و محلشان با يکديگر تفاوت داشته باشد.
روش متراکم سازي Fractal اين الگوها را تعريف ميکند. اين روش در مورد منظرههاي طبيعي به بهترين نحو عمل ميکند. يعني با استفاده از فرمولها و رابطههاي مختلف که نشان دهندة اين الگوهاي تکراري ميباشند، تصوير را نشان ميدهد. در اين فرمولها محل و نوع تغييرات (تغيير جهت، اندازه، مايل شدن و غيره) الگوهاي مزبور مشخص ميشود. در اين روش متراکم سازي صدها برابر خارج کردن فايل از حالت متراکم شده طول ميکشد. زيرا در متراکم سازي فقط کافي است الگوها دوباره به تقشه بيتي (Bitmap) تبديل شوند.
در مواردي که ميخواهيد تصوير را به ميزان زيادي متراکم کنيد، روش متراکم سازي Fractal بسيار مناسب است. زيرا ميتواند فايل را از نسبت 40:1 تا 100:1 متراکم کند. همچنين تصوير موجود در فايلي که با اين روش متراکم شده باشد، ميتوانيد با هر مقياسي بزرگ کنيد. البته جزئيات تصوير از آنچه که در تصوير اوليه بود بيشتر نخواهد شد. اما در اين حالت، تصوير دانه دانه يا Pixelate نخواهد شد. بطوريکه شنيدهايم اين ويژگي براي تابلوهاي اعلانات، اثر بسيار مطلوبي دارد.
تمام مواردي که در آنها روش Fractal پياده سازي شده است، از نظر حق اخراع به ثبت رسيده و Itrated System، يعني صاحب امتياز آن، اجازة استفاده از الگوريتم مزبور را فقط به شرکتهاي معدودي داده است. در مقايسه با JPEGکه صدها برنامه از آن استفاده ميکنند، متوجه خواهيد شد که چرا روش متراکم سازي Fractal جاي خود را چندان باز نکرده است.
روش متراکم سازي Wavelet : Wavelet در واقع روش رياضي نمايش اختلاف دو مجموعه از دادهها (مثلاً تصوير) ميباشد، که يکي از آنها نصف ديگري است (مانند تصويري که در اندازة کوچکتر نمونه گيري شده است).
براي اينکه تعداد پيکسلهاي تصويري نصف شود، بايد فايل تصويري را به 71 درصد برسانيد (هنگاميکه تصويري را تا 50 درصد کوچک ميکنيد، ابعاد آن نصف ميشوند، اما در کل تعداد پيکسلهاي موجود در ناحية مزبور نصف نخواهند شد). اگر همان تصوير را با نسبت 140 درصد بزرگ کنيد، ابعاد آن معادل تصوير اوليه خواهد شد. در اين حالت متوجه خواهيد شد که هر 2 پيکسل موجود در تصوير اوليه، معادل يک پيکسل در تصوير کوچک شده ميباشد.
تئوري Wavelet اين امکان را برايتان فراهم مي کند که فقط اختلاف اين دو تفکيک پذيري را نشان دهيد. همچنين ميتوانيد تا آنجا که مورد نظرتان است، به کوچک کردن تصوير ادامه دهيد. بنابراين حتي ميتوان اين کار را تا رسيدن به يک پيکسل هم ادامه داد. هر کدام از اين اختلافها را ميتوان بصورتي بسيار کارآمدتر از تصوير اوليه ذخيره کرد. زيرا اختلافهاي مزبور، مملو از افزونگي ميباشد.
در اين روش ب تصميمگيري در مورد اينکه چه مقدار از اطلاعات مربوط به اختلاف 2 تصوير مورد نظر ثبت شود، ميتوان به نوعيمتراکم سازي همراه با کاهش دادهها دست پيدا کرد. الگوريتم اين روش توسط دانشگاه تگزاس، به عنوان يکي ازروشهاي «موتور متراکم سازي» [Compression Engine] به ثبت رسيده است. اما ميتوانيم اينطور در نظر بگيريم که اين روش نوع ديگري از روش متراکم سازي JPEG است. زيرا در اينجا نيز با استفاده از مقياس خاص، مشخص ميکنيد که چه مقدار از جزئيات تصوير اوليه باقي بماند.
اين نوع متراکم سازي دو مزيت دارد. يکي اينکه بدون کاهش يا افزايش ميزان نمونه گيري (تفکيک پذيري)، ميتوان به سرعت تصوير را در اندازههاي مختلف مرور کرد. ديگر اينکه در مقايسه با روش متراکم سازي JPEG، ميتوان با کاهشدادههاي از دست رفته به ميزان تراکم بالاتري دست پيدا کرد.
هرچه کوچکتر، زيباتر
بخاطر داشته باشيد که ايدة اصلي در مورد متراکم سازي بطور کلي به کوچک کردن فايلها بر روي ديسک سخت باز ميگردد. اگرچه راههاي بسياري براي اين کار وجود دارد، اما همواره احتمال نياز به ديسک سخت بزرگتر و تهية آن را نيز در نظر داشته باشيد. زيرا متراکم سازي همواره (چه هنگام متراکم کردن، و چه هنگام خارج کردن فايل از حالت متراکم شده) وقت بيشتري ميگيرد، و مي تواند خسته کننده باشد. درست است که «هرچه کوچکتر، زيباتر» (البته اين مورد در مورد قد ما صدق نميکند)، اما به خاطر سرعت و کارائي نيز از نکات مهم در اين رابطه بشمار ميآيند.
نقطه، لکه و هافتُن
«هافتُـن» چگونه عمل ميکند
وقتي کتابي که توسط Georgia O'Keeffe چاپ شده را مشاهده کنيد، اولين چيزي که به نظرتان ميرسد اين است که «نگاه کن چه خوب رنگها را ايجاد کردهاند؟ (مگر اين که به جاي ما باشيد). اما آنچه که ما همواره به ذهنمان خطور ميکند، اين است که «چگونه رنگها و شدت تيرگي آنها را با استفاده از «هافتـُن» نشان دادهاند».
نه ماشين چاپ، نه چاپگر جوهر افشان، و نه چاپگر ليزري، هيچکدام نميتوانند نمونههاي مختلفي از شدت تيرگي را ايجاد کنند. اين دستگاهها در هر نقطه فقط ميتوانند رنگ صُلبي (يکدست) را بوجود آورند. اگر چند تونر يا چاپگر را در کنار يکديگر نصب کنيد (بطوريکه بر روي يک کاغذ مشترک کار کنند)، هرچند ممکن است 2، 4 و يا 6 رنگ بر روي يک کاغذ ايجاد شود، اما باز هم هر بار فقط يکي از رنگها چاپ خواهد شد. يعني ممکن است اين وسيلهها بتوانند رنگهاي سبزـ آبي، زرد، سرخـ آبي و يا سياه را چاپ کنند، اما نميتوانند بصورت مستقيم رنگ خاکستري، و يا تغيير تدريجي از رنگي به رنگ ديگر (که ممکن است در فوتوشاپ مشاهده کرده باشيد) را ايجاد کنند. در اين مورد «هافتُـن» بکار ميآيد.
در حقيقت تمام تصويرهاي چاپي با استفاده از تکنولوژي هافتُـن ساخته شدهاند. وقتي اين کار بخوبي صورت گرفته باشد، متوجه آن نخواهيد شد. هنگام ورود کتاب O'Keeffe رنگهايي را مشاهده ميکنيد، اما کيفيت رنگ، و شدت تيرگي آنها در حالت واقعي بصورتي که مشاهده ميکنيد نيست. بنابراين بايد بپرسيد که به چه چيزي نگاه ميکنيم؟
لکه همه چيز را تشکيل ميدهد
در اواخر قرن نوزدهم، ليتوگرافي شکل گرفت. يعني از زماني که بشرتوانست لاية نازکي از جوهر رنگي را بصورت مجموعهاي از لکههاي کوچک بر روي صفحه قرار دهد. مثلاً با چاپ نقطههاي سياهرنگي که در نزديکي يکديگر قرار داشتند، توانستند رنگ خاکستري را ايجاد کنند. مغز همواره سعي دارد که از بينظمي بگريزد. بطوريکه مجموعه لکههاي سياه را بصورت رنگي با شدت مشخص درک ميکند.
اين روند تقسيم تصوير خاکستري به لکههاي سياه را «هافتُـن» ميگويند. شکل 2 نمونهاي از تصويرهاي روزمره را نشان ميدهد که با استفاده از روش هافتُن ايجاد شدهاند. بخشي ازآن نيز بزرگ شده است تا لکههاي ايجاد کنندة هافتُـن مشخص شوند.
شکل 2 : نمونهاي از عکس مبتني بر هافتُـن
هافتُـن در عکاسي
در ابتدا روش مرسوم ايجاد هافتُـن بصورت «نوري ـ مکانيکي» بود. روش مزبور به اين ترتيب ابداع شد که فردي کاغذ حساس به نور را در پشت نوعي غربال بسيار ظريف قرار داد (اين غربال که ابتدا از شيشه ساخته شده بود، بعدها از جنس فيلم ساخته شد). سپس نوري را که از عکسي شفاف عبور کرده بود، براي نوردِهي آن مورد استفده قرار داد (شکل 3 را ملاحظه کنيد). نتيجة کار الگويي از لکههاي فاصلهدار بود که اندازههاي آنها با يکديگر تفاوت داشت. به علت پديدة «پراش» [Diffraction]، که در اثر عبور نور از سوراخ باريک ايجاد ميشود، لکههاي موجود در ناحيههاي تيره بزرگ شده بودند (و لبههاي بعضي از آنها روي کديگر قرار ميگرفت). لکههاي ايجاد شده در ناحيههاي روشنتر تصوير، کوچکتر بودند.
ته رنگ و درصد آن
به خاطر داشته باشيد که اين نوع هافتُـن فقط در مورد عکاسي صدق نميکند. تهرنگهاي يکدست نيز با استفاده از همين روش ايجاد ميشوند. با اين تفاوت که نور در اينجا بطور مستقيم از غربال عبور ميکند و به چشم ميرسد و ديگر از فيلم نگاتيو عبور نميکند.
تهرنگها بر حسب درصد تعريف ميشوند. ته رنگ خاکستري روشن، که در آن لکههاي هافتُـن معادل يک دهم اندازة کامل خود هستند، به تهرنگ 10 درد معروف است. خاکستري متوسط ممکن است معادل تهرنگ 50 درصد باشد. خاکستري تيره نيز ممکن است مثلاً معادل تهرنگ 90 درصد باشد. يعني لکهها معادل 90 درصد اندازة کامل خود هستند. مسلم است که تهرنگ 100 درصد، معادل رنگ سياه يکدست ميباشد.
شکل 4 : درصد تهرنگ
هافتُـن ديجيتال
در دنياي امروز هافتُـن عکاسي فقط به روزنامهها و مجلههاي قديمي که هنوز سيستم خود را به سيستم ديجيتال ارتقا ندادهاند، محدود ميشود. اما اين روش روز به روز بيشتر از رونق ميافتد. اما به جز درآمريکاي شمالي، هنوز ميتوان نمونههاي معدودي از آن را يافت.
امروزه کامپيوتري که به چاپگر ليزري يا ايميجسِـِتـِر (ImageSetter) متصل شده باشد، در واقع ابزارهاي اصلي ايجاد هافتُـن را تشکيل ميدهند. البته اين وسيلهها ديگر غربال شيشهاي يا فيلمي را مورد استفاده قرار نميدهند.
براي درک اينکه کامپيوتر چگونه هافتُـن را ايجاد ميکند، بايد کمي درنگ کرده و در مرحلة اول، ببينيم اين وسيلهها چگونه کار ميکنند.
نقطه
همانطوري که ميدانيم، کامپيوتر همه چيز را بصورت مجموعهاي از 0 و 1 نشان ميدهد (روشن يا خاموش). خوشبختانه اين حالت با چاپ آفست و چاپگرهاي ليزري مطابقت دارد. زيرا در اين دستگاهها نيز نقطة سياه ميتواند وجود داشته باشد، و يا اصلاً موجود نباشد. بين اين دو، حالت ديگري نيز وجود ندارد. هنگاميکه چاپگر ليزري تصويري را ايجاد ميکند، با روشن و خاموش کردن پرتوِ ليزر (روشن براي محلهايي که کاغذ بايد سفيد باشد و خاموش براي محلهايي که کاغذ بايد سياه باشد)، نقطههاي مزبور بسيار کوچک بوده و بين آنها فاصلهاي وجود ندارد. رديفي از اين نقطهها درست شبيه يک خط به نظر ميرسد. دستگاه ايميجستر نيز همين کار را بصورت ديگري انجام ميدهد. در اينجا از نور ليزر براي روشن و تاريک کردن نقطههايي استفاده ميشود که روي کاغذ حساس به نور قرار دارند.
نقطهاي که بسياري از چاپگرهاي روميزي ايجاد ميکنند، بسيار نازک ميباشد. در حقيقت ميتوانيد 600 نمونه از اين نقطهها را در کنار هم قرار داده و مجموعة آنها را در فاصلة معادل يک اينچ بگنجانيد. به همين علت است که آنها را 600 dpi مينامند. نمونههاي ديگري از چاپگرها (که معمولاً خروجي آنها کاغذ مسطح ميباشد)، و دستگاههاي ايميجستر (فيلمها و کاغذهاي حساس به نور) وجود دارند که ميتوانند نقطههاي کوچکتري ايجاد کنند (تا حدود 1200 dpi ، 2400 dpi و يا حتي چندين هزار dpi )، بطوريکه چشم غير مسلح نتواند آنها را تشخيص دهد.
لکه
اما حالا که همة نقطههاي ايجاد شده توسط چاپگر ليزر به يک اندازه ميباشند، چگونه ميتوان لکههاي بزرگ و کوچک را ايجاد کرد؟ راه حل بسيار ساده است. کامپيوتر گروهي از نقطهها را در يک مجموعه قرار ميدهد که محل يک لکة هافتُـن به شمار ميآيد. اين محلهاي خالي، مربع شکل بوده و ميتوان هر يک از نقطههاي آن را روشن يا خاموش کرد. براي ايجاد يک ناحية تيره (يعني لکة بزرگ)، بايد تعداد بسيار زيادي از نقطهها روشن (سياهرنگ) شوند. براي ايجاد ناحية روشن (معادل لکة کوچک)، بايد تعداد اندکي از نقطهها سياه رنگ شوند (شکل 5 را ملاحظه کنيد).
شکل 5 : نمايي از هافتُـن ديجيتال و لکههاي هافتُـن
مفهوم اصلي که بايد در اينجا به آن توجه کنيد، اين است که فاصلة نقطهها تغيير نميکند. يعني در ناحيههاي تيرهتر به يکديگر نزديکتر نميشوند. فقط تعداد نقطههاي روشن در محل ايجاد لکه [Spot] تغيير ميکند. گروهي از نقطههاي روشن شده (يعني سياهرنگ) که در کنار يکديگر قرار ميگيرند، لکه را ايجاد ميکنند (شکل 6 را ملاحظه نماييد). روش ديگري نيز براي ايجاد تصاوير ديجيتال وجود دارد که بدون استفاده از روش هافتُـن ايجاد ميشود. در اين روش به جاي تغيير اندازة لکه، از تغيير فاصلة نقاط استفاده ميشود. اين روش، Stichastic Screening ناميده ميشود.
هافتُـن، تهرنگ و غربالگري (Screening)
نکتة ديگري در اصطلاحاتي که بکار ميبريم وجود دارد که بايد قبل از به پايان رساندن اين قسمت روشن شود و آن، «غربالگري» است. همانگونه که پيشتر نيز گفتيم، شيشهاي که براي ايجاد هافتُـن در عکاسي مورد استفاده قرار ميگرفت، «غربال» ناميده ميشد. رون ايجاد الگوهاي هافتُـن نيز «غربالگري» ناميده ميشود. براي اينکه بيشتر دچارسردرگمي شويد، به آن «غربال» نيزميگويند.
فرکانس، زاويه و شکل لکه
هافتُـن از چه چيزي تشکيل شده است
فرض کنيد پارچهاي وجود دارد که از نقشهاي بهم پيچيده تشکيل شده است و از نزديک فقط منظرة زيبايي از الگوهاي تافتة مختلف ديده ميشود.