PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : فشرده‌سازی و چگونگی کارکرد آن



TAHA
03-29-2009, 10:04 PM
آنچه مسلم است همه افراد زمان زیادی را بدون اینکه واقعا مطلبی برای گفتـــــن داشتــه باشند، صرف صحبت کـــردن می‌کنند. حتی شکسپیر با به کـار بردن همه فنون شاعری، سرودن شعرهای زیبا و نوشتن نمایشنامه‌های بدیع، در یک سرگذشت طولانی فقط به توصیف یک یـا چند واقعه مهم می‌پـــــردازد. در حالی که بایـد حداکثر مطالب را در کوتاه‌ترین مدت بیان کرد. در واقع دیگران وقت و شکیبایی گوش دادن به سخنان طویل و بی‌معنی را ندارند.
این موضـــــوع در دنیای کامپیوترها نیــز صادق است. کامپیوترها از زبان مختص به خود یعنی زبان باینری که رشته‌ای از اعداد ۰ و ۱ است، استفاده می‌کنند. اگر چه با گذشت زمان فضای بیشتری برای کار با فایل‌های بزرگ‌تر در اختیـــــار کاربران گذاشته شده است ولی هنوز مشکل فضای ذخیره‌سازی و تنگناهای پهنای باند مطرح است.
معمولا برای ذخیره یک داستان کوتاه ۲۵۰ هزار کلمه‌ای در قالب یک فایل متنی، تقریبا به ۲۲۵ مگابایت فضا نیاز است که این میزان نه تنها بیشتر از ظرفیت یک فلاپی دیسک است، بلکـــــه انتقال آن از طریق یک اتصال dial-up به زمان زیادی نیـاز دارد. لذا باید طی فرآیندی موسوم بـــــه فشرده‌سازی، اندازه فایل را بدون آسیب یــا ایجاد اشکال در داده‌ها، کاهش داد.
اهمیت فشرده‌سازی ناشی از این واقعیت است که ایجاد فضای بیشتر در هارددرایو علاوه بر آنکه منجر به عملکرد بهتر سیستم می‌شود، از نظر مالی نیز باعث کاهش هزینه‌ها خواهد شد. برای مثال، اگر هزینه استفاده نامحدود از اینترنت را بانرخ یکنواخت در نظر بگیرید و در صورتـــــی که برای استفاده نامحدود ماهانه از اینترنت پول پرداخت می‌کنید، شاید دیگر به حجم داده‌هایی کـــــه ارسال یا دریافت می‌کنیـــد اهمیت ندهید. در حالی که شرکت ارائه‌دهنده خدمات اینترنتی (ISP) شما باید برای تمامی مـــــوارد اعم از فضای سرور تا اتصال پرسرعت هزینه‌ای به شرکت مخابرات پرداخت کند. لذا ISPها نرخ ماهانه خدمـــــات به مشتـــــری را بر مبنـــــای متوسط هزینه کاربران متعدد خود به اضافه سودی جزئی قرار می‌دهنـــــد.
بنابراین اگر همــه کاربران یک ISP بـــــه ارسال و دریافت فایل‌های غیرفشرده بپـــــردازند، این حجم زیاد منجـــــر به افزایش هزینه‌های ISP شده و سرعت اینترنت را کاهش می‌دهد. (یکی از علل نیاز به بلوکـه کردن هرزنامه‌هـــــا جهت کاهش هزینه‌هـــــا در سطح ISP.) در هر حـــــال فشرده‌سازی یکـــــی از عملیات اصلـــــی برای کـــــار با کامپیوتر است و با احتیاج روز افـــــزون به اطلاعات و سرگرمی‌ها در آینده نیاز بیشتری به آن خواهیم داشت.
● فشرده‌سازی با ۰ و ۱
عبارت What mine is yours, and what is yours is mine از عبارات معـــــروف یکی از نمـــــایشنامه‌های شکسپیـــــر است این عبارت نسبتا کوتاه است ولی می‌توان آن را به طور مختصرتری نیز بیان کرد. ایــن جملـــــه شامل ۳۶ حـــــرف، ۹ فاصله، یک کامـــــا و یک نقطـــــه است. بـــــا در نظر گرفتن اینکه هر بایت (۸ بیت) معـــــرف یک کاراکتـــــر است این عبارت دارای ۴۸ بایت(۳۸۴ بیت) است.
البته این جمله شامل کلمات زایدی نیز هست. در ایـــــن عبارت کلمه is سه مرتبه و کلمه what، mine و yours دو مرتبه تکرار شده‌اند. در اغلب الگوریتم‌های فشرده‌سازی از یک فرهنگ لغت یا فهرستی از کلمه‌هـــــا برای فایل مقصد جهـــــت کمک بـــــه ساخت اطلاعـــــات استفاده می‌شود. در این فهرست می‌توان از نمادهای تک کاراکتری برای نمایش رشته‌های تکراری کاراکترهـــــا یا کلمات فرهنگ لغت استفاده کرد. به این طریق با نادیده گرفتـــــن حرف W در اول این عبارت در کلمه What می‌توان این عبارت را با استفاده از کلیدهای زیر خلاصه کرد:
@=what
#=mine
$=is
%=yours

شکل خلاصه جمله به این شکل خواهد بود:
@&#۰۳۹;s # $ %, and @ $ % $ #.
اکنون این عبارت فقط شامل ۲۵ بایت است که تقریبا نصف اندازه عبارت اولیه است. بـــــا استفاده از فرهنگ لغت که تعیین کننده نماد برای هـر کلمه است، ساخت مجدد عبارت بـــــه آسانی انجام شدنی است.
البته بعضی اوقات این امکان وجود دارد که طول عبارت مختصر شده و فرهنگ لغت مربوط به آن، از عبارت اصلـــــی نیز بزرگ‌تر شود. البته بدیهـــــی است که در سندهای بزرگ‌تـــــر استفاده از این روش منجر به کاهش اندازه فایل می‌شود که بر حالت اولیه فایل ارجحیت دارد.
در کامپیوترها به عنوان زبـــــان اصلـــــی از زبان انگلیسی استفاده نمی‌شود. آنهـــــا کار خود را با شناسایـــــی الگوها انجام می‌دهنـــــد. نه تکرار کلمات. در عبارت مورد بحث اولین رشته تکـــــراری، کلمه What و دومین رشتـــــه تکراری s_ است در واقع کلمـــــه اصلی تکراری کلمه _is_ است (در این مثال از علامت_ برای نشان دادن فاصله استفاده می‌شـــــود.) اکنـــــون اگر به جای is مقدار _is_ را معادل $ قـــــرار دهیـــــم، ایـــــن عبارت از ۴۸ بایت به ۱۹ بایت کاهش می‌یابد:
@&#۰۳۹;s#$%, and @$%$#.
دیکشنری‌ها انطباقی هستند; به این معنا که سنــد را تحلیل کرده، از کارآتـــــرین نمادهـــــا بـــــرای جایگزینـــــی کلمه‌هـای آن استفاده می‌کنند. بـــــرای مثـــــال، شما می‌توانیـــــد یک نمــاد دیگر در فرهنگ لغت برای s_ نیز در نظر بگیرید ولی در این صـــــورت انـــــدازه فایل به طور مطلوبی کاهش پیدا نخواهد کرد.
● فشرده‌سازی بیشتر
طول عبارت فوق را می‌توان حتی از ۱۹ بایت نیز کوچک‌تر کرد ولی برای انجـــــام این کار باید کل عبارت را فشرده‌تر ساخت. به عبارت دیگر باید از سطوح پایین‌تر کاراکترها و ارقام باینری استفاده کرد.
یک بیت یا ۰ یا ۱ است. بنابراین دو بیت یکـــــی از چهار مقدار ۰۰، ۰۱، ۱۰ یا ۱۱ است. به همین ترتیب۳ بیت دارای ۸ مقـــــدار ممکـــــن و ۸ بیـــــت (یک بایت) دارای ۲۵۶ مقدار ممکن است.
ASCII (کـــــد استاندارد امریکایـــــی برای تبادل اطلاعات) جدولی از ۲۵۶ کاراکتـــــر استاندارد مشتمل بـــــر حروف، اعـــــداد و علایـــــم نشانه‌گذاری است که یک صفحه کلید استاندارد به زبان انگلیسی را تشکیل می‌دهند. بنا به پیش‌فرض در تنظیمات مجموعه کد ASCII، اندازه هر کاراکتر ۸ بیت در نظر گرفته شده است.
عبـــــارت مورد بحث مـــا دارای فقط ۱۸ مقدار کاراکتری است ولی اگر ایــن رشته کاراکتری برحسب مقادیر باینـــــری درج شود، فقط شامل ۱۲ مقدار(.andا, %$#@) می‌شود. لذا برای ارائه این رشته به جـــــای ۲۵۶ مقدار فقط به ۱۲ مقدار نیـــــاز خواهیـــــم داشت. برای درک بهتر این مطلب به جدول ۱ مراجعه کنید:
http://www.pnu-club.com/imported/mising.jpg
http://www.pnu-club.com/imported/mising.jpg
برای افزایش بازده کار در این جدول و نگاشت کدهای کوتاهتر نمادهایی که به طور متداول از آنها استفاده می‌شود، به کار برده شده‌اند. >
جمع بیت‌ها در این جمله ۳۸ بیت است که نسبت به ۳۸۴ بیت در عبارت اصلی، نسبت فشرده‌سازی آن ۱۰ به ۱ است. در این مثال کدهای مورد استفاده به عنوان نمونه ارائه شده‌اند. فرضا کد ۱۱۰ کـه می تواند به شکل "."، "$@، "_#" یـــــا حتی "$"_ در نظـــــر گرفته شوند. کدهـــــای حقیقی بایـــــد در یک رشتـــــه طولانـــــی باینـــــری و به صورت منحصر به فرد قابل شناسایی باشند.
● الگوریتم‌های مختلف
با توجه به اینکه کلیه فایل‌ها از نظر فشرده‌سازی در یک رده قرار ندارند، استفاده از یک الگوریتم فشرده‌سازی بـــــرای همه فایل‌ها کار درستی نیست. بدین منظـــــور بـــــرای فشـــــرده‌ کردن فایل‌هـــــا رویه‌هــــــای مختلفـــــی ارائه شده است. در سیستم عامل مکینتاش اغلب از فرمت فایل RAR و SIT و در کامپیوترهـــــای PC عمدتا از فرمت ZIP برای فشرده‌سازی استفاده می‌شود. این رویه‌هـــــا کـــــه برای فشرده‌سازی یا آرشیو دستـــــه‌ای از فایل‌ها مـــــورد استفـاده قـرار می‌گیرند، فشرده‌سازی بدون اتلاف(lossless ) هستنــــد. در این روش تعداد بیت‌های هر پیکسل بدون از دست دادن اطلاعات یـــــا کیفیت کــاهش داده شده یا از حالت فشرده خارج می‌شود.
● در فرمت‌هـــــای فشرده‌ســـــازی تصویر ماننـــــد فرمت
(JPEG (Joint Photographic Experts Group، فرمت تصاویر ویدئـــــویـــــی ماننـــــد Moving Pictures Experts Group-۴) MPEG-۴) و فرمــت‌هــای صــوتــی مـاننـد MP۳ و WMA)Windows Media Audio)، علاوه بـــــر کـاهش انـدازه فایل می‌توان بـر میزان فشرده‌سازی کنترل داشت. ایـــــن فرمت‌ها برای فشرده‌سازی فایل‌های صوتی، ویدئویی و تصویری فوق‌العاده هستند. ولی در این رویه‌ها فشرده‌سازی بـا اتلاف (lossy) انجام می‌شود; بدین معنا که بخشی از اطلاعات حذف می‌شوند.
البته روش‌‌های فوق برای کاهش حجم سندهـــــای متنـــــی مناسب نیستند، زیرا نتیجه کار فایلی است که پس از خــارج شدن از حالت فشرده، نیمی از حروف آن از بین رفته است.
به همیـــــن ترتیب، فناوری‌های فشرده‌سازی سنتی مانند LZW و ZIP به هیچ نحو مناسب فشرده‌سازی فایل‌های صوتی و تصویری نیستند زیرا این برنامه‌هـــــای سنتی، محتویـــــات چندرسانـــــه‌ای را نمی‌شناسند، لذا برای فشرده‌سازی فایل‌های صوتی از فرمت‌های صوتـــــی خاصـــــی که سیگنال‌هـــــای صوتی را شناسایی و بر پایه مدل‌هـــــای ساختـــــه شده بر اســـــاس قــدرت شنوایی انسان تغییر می‌دهند، استفاده می‌شود. فرضا در فشرده‌ســـــازی فایل‌هـــــای صوتی، هنگامی کــه صدای یک زنگ کوتاه تحت تاثیر صدای بلند یک سنج شنیده نمی‌شود، این نـــــوع صدا به هنگام فشرده‌سـازی فـــــایل، ضبط نمی‌شـــــود.
همین طور هنگامـــــی کـــــه بلندگوهای شنوندگان فایل صوتی فقط اصواتی تا فرکانس ۱۶ کیلوهرتــز را پخش می‌کنـــــد، دلیلـــــی ندارد که کلیه اطلاعات بین فرکانس‌هایی از ۱۶ تا ۲۰ کیلوهرتز و یا بالاتر از قوه شنوایی بیشتر انسان‌ها در فایل قرار گیرند.
فرآیند فشرده‌سازی فایل‌های ویدئویی از این هم پیچیده‌تر است. تازه کاران می‌توانند عملیاتی مانند محدودسازی پالت رنگ را که کاملا مشابه کاهش اندازه فایل از طریق فرهنگ لغت نمادها است، انجام دهنـــــد. در این نوع فشرده‌‌سازی، اگر مقدار رنگ پیکسل از یک قاب به قاب دیگر تغییر نکرده باشد، نیازی به ذخیره دوباره آن نیست; فقط در قاب بعدی باید بـــــه این پیکسل اشــاره شود تا رنگ موجود در آن نقطه تکرار شود.
استفـــــاده از بعضی روش‌های دیگر، مستلزم داشتن مهارت‌های بیشتـــــری است ماننـــــد رمزگذاری دلتـــــای شرکت اینتل (Intel) که مدت‌هاست بـــــه خاطر طرح Indeo از آن استفـــــاده می‌شود. اگـــــر عکسی از یک رنگین‌کمان کامل بگیـــــرید، مشاهـــــده خواهید کرد که رنگ به طور یکنواخت از قرمـز تا بنفش تغییر می‌کنـــــد و تغییـــــر رنگ‌ها بـــــه تدریج انجـــــام می‌شود. اگر روی خطی از پیکسل‌هـــــا به طور افقـــــی حرکت کنید، رنگ از یک نقطه به نقطه دیگر به تدریج تغییر می‌کند و مانع تکرار یک مقدار می‌شـــــود. بنابرایـــــن طی مراحل مختلف رمزگذاری دلتا، از گستره بزرگی از رنگ‌های از پیش‌تعریف شـــــده، مانند آبی- قرمـــــز- نارنجـی یا رنگ‌های یک طیف استفاده می‌شود. در برنامه Indeo تلاش می‌شود تا تغییر تدریجی درجـــــه رنگ قوس و قزح با یکی از ســـــایه رنگ‌های از پیش تعریف شـــــده تطبیق داده شود و در نهایت یک فـــــرهنگ لغت اختصاری مربوط به آن ارائه شود.
● انتخاب نوع فشرده‌سازی
با وجود انواع روش‌های فشرده‌سازی، بهتریـــــن روش آن است که در آن از چند فـرمت متداول در فایل مورد نظر پشتیبانی شود. البته بـــــرای فشرده‌ســـــازی فـــــایل بــه یک رابط آسان و کاربر پسند نیز نیـــــاز خواهیـــــد داشت. برای مثال، فشرده‌سازی فایل‌های صوتی بـــــه فـــــرمت WMA بـــــا استفاده برنامه کاملا منـــــاسب و ســـــاده ۹ Windows Media Encoder به سهولت انجام می‌پذیرد; زیـرا این برنامه از رابـــــط محبـــــوب و پـــــرطرفدار ویندوز بهره می‌گیرد. Windows Media EnCoder ۸ از طریق خط فرمان اجرا می‌شود. برای کسب اطلاعات بیشتر در مورد انواع فشرده‌سازی به روش lossless به سایت زیر مراجعه کنید:
Jeff Gilchrist Compression Archive )Compression.ca) در این سایت بررسی‌های جامعی در مورد برنامه‌های اصلی و فرعی فشرده‌سازی و پیوند به آنها ارائه می‌شود.
فشرده‌ســـــازی صوتـــــی سمت کلاینت بـــــا نرم‌افزارهایـــــی (مانند برنـــــامـــــه QuickTime شرکت Apple، RealAudio شرکت RealNetworks و Windows Media Audio شرکت Microsoft یا از طریق برنامه‌هـای توسعـــــه‌دهندگان نرم‌افزاری دیگر مانند برنامه MusicMatch Jukebox برای فشرده‌ســـازی فایل‌هـــــای صوتی خام بـــــه ۳MP یـــــا Windows Media صورت می‌گیرد. اگر در کار فشرده‌سازی فایل‌ها تازه کار هستید و نیاز به راهنمایی دارید می‌توانید از یکـــــی یا هر سه برنامه فشـــــرده‌سازی به روش Lossless کـــه به طور رایگان ارائه می‌شود، استفاده کنید:
۱) برنامه StuffIt محصول شرکت Allume Systems )


کد HTML:

StuffIt unzip Expander Deluxe shareware (http://www.stuffit.com)
) محبوبیت این برنامه مکینتاش به طور فزاینده‌ای در میان کاربران ویندوز، Solaris و لینوکس رو به افزایش است.
شرکت Allume مدعی است کـــــه فرمت StuffIt )SIT) به میزان ۲۰ درصد بیشتر از ZIP استفاده می‌شـــــود و دارای یک رابط آسان است و می‌تـــــوان آن را از یک منـــــوی بـــــازشـــــو بـــــا یـــــک کلیک راست در Windows Explorer نیز اجرا کرد. در کل StuffIt یک برنامه عالی و اجرای آن فوق‌العاده آسان است.
۲) برنامـــــه PKZIP ســـــاخت PKWare)

کد HTML:

Data Security Software and File Compression Software - PKWARE, Inc. (http://www.pkware.com)
) بیش از یک دهه قبل شرکت PKWare فرمت ZIP را ارائه داد و از آن زمـــــان تاکنـــــون همچنان به توسعه و بهینه‌سازی این فناوری کاربر پسند پرطرفدار ادامه داده است. تـرکیب رمزی و فشرده‌سازی این برنامـــــه، امنیت مستنـــــدات کاربر را بـــــا استفاده از مجوزها و کلمه‌های عبور تامین می‌کند و نیز با کاهش پهنای باند مورد نیاز، در تامیـــــن نیازمندی‌های حافظه مدیران شبکـــــه را یاری می‌دهد. شـــــرکت PKWare نسخه‌هـــــای مختلفـــــی از PKZIP بـــــرای انواع سیستم‌ها از دسک‌تــاپ گرفته تا سیستم‌های MainFrame ارائه می‌کند.
۳) برنـــــامـــــه WinZip ســـــاخت شـــرکت WinZip Computing )

کد HTML:

www.winzip.com

WinZip اولیـــــن برنامه‌ تحت ویندوز است کـــــه در آن از فناوری ZIP استفاده شده است. ویـــــزارد کوچک و آســـــان و نیـــــز رابط قدرتمنـــــد آن بـــــاعث شـــــده است کـــــه این برنامه همچنان یکی از برنامه‌های کاربـــــر پسنـــــد پرطرفدار فشرده‌سازی به شمار آید. امروزه WinZip یکـــــی از برنامه‌های اصلی ویندوز XP محسوب می‌شود که بدون هیچ مشکلی در پوسته Windows Explorer گنجانده شده است. به این ترتیب هر کاربر پیشرفته‌ای می‌تواند به بیشترین ویژگی‌های فشرده‌سازی بـــــدون نیاز به باز کردن این برنامه دسترسی داشته باشد.
● حکایت فشرده‌سازی در ویندوز
در اوایل دهه ۹۰ یعنی زمانی کـــــه ظـــــرفیت درایوها اندک و DOS حـــــاکم بلامنازع دنیای کامپیوتر بود، برنامه STACKER ارائه و به زودی محبـــــوبیت فوق‌العـــــاده‌ای یافت. بـــــه کمک ایــن برنامه و پرداخت هزینه‌ای چند دلاری هر کاربری می‌توانست با اجرای یک رشته عملیـــــات ظرفیت هارددرایو خود را با فشرده‌سازی فایل‌ها به دو برابر رسانده و در هنگام لزوم فایل را از حالت فشرده خارج سازد.
با گذشت زمان وطرح شکایت Stac از مایکروســـــافت، این شرکت متعهد شد که بدون هیچ گونه پرداخت هزینه برای مجوز، فناوری STACKER را در ۶ DOS به کار برد. در سال ۱۹۹۳ سیستم عامل ۶ DOS با فناوری مشابهی موسوم به DoubleSpace راه‌اندازی شد ولی بـــــا دعـــــــوی مطـــــرح شده، مایکروسافت ملزم به پرداخت ۱۲۰ میلیـــــون دلار خســـــارت بـــــه Stac شد و از آنجائیکه برنامه ارائـــــه شـــــده نیـــــز دارای اشکالات متعـــــددی بود این پرسش برای عموم مطرح شد که آیا فشرده‌سازی در سطح درایو کار درستی است یا نه؟
پس از چند ماه، مایکروسافت اشکالات این برنامه را بر طرف کرد. در ۶.۲ DOS این برنامه حذف شد ولی مجددا با نام DriveSpace همراه ۶.۲۲ DOS ارائه شد. پس از آن تا زمـــــان ارائه ویندوز ۹۸، این برنامـــــه بـــــه طور گسترده برای فشرده‌ســـــازی فایل‌ها مورد استفاده قرار گرفت. با ارائه ویندوز ۹۸ و نیاز به یک رابط گرافیکی و حداکثـــــر واکنش فـــــایل بـــــه هنگام فشـــــرده‌سازی، به تدریج از محبوبیت آن کاسته شد. به علاوه افزایش فضاها هارددرایو و عدم نیاز به هر بیت از حافظه نیز به طور قابل ملاحظه‌ای در کاهش استفاده از این برنامه تاثیر گذاشت.
در ویندوز ۹۸ بـــــاز هـــــم شـــــرکت مایکروســـــافت درگیـــــر مشکل فشرده‌سازی شد; زیـرا برنامه نسبتا بهینه شده ۳ DriveSpace مانند نسخه‌های قبلـــــی آن فقط از قابلیـــــت کار بـا FAT برخوردار بود. در ویندوز ۹۸ با FAT و FAT۳۲ بـــــه دو صـــــورت متفاوت برخورد شــد و کاربرانی کهFAT۳۲ را انتخاب می‌کردند، متوجه شدند که برای آنان برنامه فشرده‌سازی در نظر گرفته نشده است. این مساله هنوز هم در ویندوز Me که بعد از ویندوز ۹۸ ارائه شد به صورت معضلی باقی مانده است.
در حال حاضر، با ورود درایوهای ۳۰۰ گیگابایتی و بزرگ‌تر به بازار و دسترسـی صاحبان کامپیوترهای شخصی به این درایوها، دیگر بـــــه فشرده‌سازی درایـــــو نیـــــازی نیست. بـــــا تعجب باید گفت که فشرده‌سازی به ویندوز بازگشته است، اما نه برای درایوها، بلکه تنها برای فایل‌ها و پوشه‌های درایـــــوهایی کـــــه از سیستـــــم فایل NT موسوم به NTFS استفاده می‌کنند. در ویندوز XP می‌توان با انتخاب گزینه‌هایی از منوهای Windows Explorer فـــــایل را کوچک‌تـــــر کــرد و در برنامه‌هـــــای کاربردی ماننـــــد Outlook مایکروسافت می‌توان مکاتبات قدیمی و ضمایم فایل‌ها را فشرده و بایگانی کرد.
به هر حال همه افرادی که با کامپیوتر کار می‌کنند و با ذخیره‌سازی فایل‌ها سرو کار دارند و تمامی افرادی که در حذف فایل‌های قدیمی غفلت می‌کنند، اکنون اذعان دارند که فشرده‌سازی فایل‌ها و پوشه‌ها برای سازماندهی اطلاعات، بهینه‌سازی عملکرد درایو و صرفه‌جویی در هزینه‌های سخت‌افزاری بهترین چاره کار است.

وب ایران
گردآورنده : TAHA