فشرده سازی فایل ها
در طول تاریخ محاسبات، تلاشی برای دریافت بیشترین داده در کوچکترین فضای موجود وجود داشته است، خواه این فضا حافظه، دستگاه های ذخیره سازی یا پهنای باند شبکه باشد. بسیاری از خدمات داده ای که امروزه بدیهی می دانیم، مانند پخش کننده های موسیقی قابل حمل، تلویزیون با کیفیت بالا، یا اینترنت پهن باند، وجود خود را مدیون موثر بودن هستند. متراکم سازی داده ها تکنیک.
فشرده سازی داده ها فرآیند حذف است افزونگی از داده ها بیایید یک مثال خیالی را در نظر بگیریم. فرض کنید ما یک فایل تصویری کاملا مشکی با ابعاد 100 پیکسل در 100 پیکسل داشتیم. از نظر ذخیره سازی داده ها (با فرض 24 بیت یا 3 بایت در هر پیکسل)، تصویر 30,000 بایت فضای ذخیره سازی را اشغال خواهد کرد:
100 * 100 * 3 = 30,000
تصویری که تماماً یک رنگ است حاوی دادههای کاملاً اضافی است. اگر باهوش بودیم، می توانستیم داده ها را به گونه ای رمزگذاری کنیم که به سادگی این واقعیت را توصیف کنیم که یک بلوک داریم.
از 10,000 پیکسل سیاه بنابراین، به جای ذخیره یک بلوک از دادههای حاوی 30,000 صفر (معمولاً سیاه در فایلهای تصویری به صورت صفر نشان داده میشود)، میتوانیم دادهها را به عدد 10,000 فشرده کنیم و به دنبال آن یک صفر برای نمایش دادههای خود قرار دهیم. چنین طرح فشرده سازی داده نامیده می شود رمزگذاری طول اجرا و یکی از ابتدایی ترین تکنیک های فشرده سازی است. تکنیکهای امروزی بسیار پیشرفتهتر و پیچیدهتر هستند، اما هدف اصلی یکسان است - از شر داده های اضافی خلاص شوید
الگوریتمهای فشردهسازی (تکنیکهای ریاضی مورد استفاده برای انجام فشردهسازی) به دو دسته کلی بدون تلفات و با اتلاف تقسیم میشوند. فشرده سازی بدون اتلاف تمام داده های موجود در نسخه اصلی را حفظ می کند. این بدان معناست که وقتی یک فایل از نسخه فشرده بازیابی می شود، فایل بازیابی شده دقیقاً مشابه نسخه اصلی و غیر فشرده است. از سوی دیگر، فشرده سازی با اتلاف، داده ها را در حین انجام فشرده سازی حذف می کند تا فشرده سازی بیشتری اعمال شود. هنگامی که یک فایل از دست رفته بازیابی می شود، با نسخه اصلی مطابقت ندارد. بلکه یک تقریب نزدیک است. نمونه هایی از فشرده سازی با اتلاف عبارتند از JPEG (برای تصاویر) و MP3 (برای موسیقی). در بحث خود، ما منحصراً به فشرده سازی بدون تلفات می پردازیم، زیرا بیشتر داده های رایانه ها نمی توانند هیچ گونه از دست دادن داده را تحمل کنند.