ذخیره سازی و انتقال داده ها اغلب دغدغه های مهمی برای کسب و کارها، دولت ها و سایر سازمان ها هستند. فشرده سازی داده ها به این سازمان ها اجازه می دهد تا داده هایی را که می توانند مدیریت کنند به حداکثر برسانند و در عین حال فضا و هزینه مربوطه را به حداقل برسانند. اگر دادهها را بهعنوان بخشی از شغل خود ذخیره یا انتقال میدهید، درک اینکه فشردهسازی چگونه کار میکند و چه مزایایی میتواند برای شما فراهم کند، ممکن است مفید باشد.
در این مقاله از ایوسی، فشرده سازی داده ها را تعریف می کنیم، اهمیت آن را مورد بحث قرار می دهیم، روش های مختلف فشرده سازی را شرح می دهیم و نکاتی در مورد نحوه اجرای فشرده سازی ارائه می دهیم.
فشرده سازی داده ها چیست؟
فشرده سازی داده ها عمل یا فرآیند کاهش حجم یک فایل کامپیوتری است. از طریق یک الگوریتم یا مجموعهای از قوانین برای انجام یک عملیات، رایانهها میتوانند راههایی را برای کوتاه کردن رشتههای طولانی داده و بعداً جمعآوری مجدد آنها به شکلی قابل تشخیص پس از بازیابی تعیین کنند. نتیجه فایلی است که از بیت ها یا واحدهای اطلاعات کمتری نسبت به فایل اصلی استفاده می کند. دو نوع فشرده سازی داده ها وجود دارد:
بدون ضرر (Lossless compression)
در داده های بدون اتلاف، تمام داده های اصلی دست نخورده هستند. این الگوریتم اندازه فایل را به گونهای کاهش میدهد که اطلاعات مورد نیاز برای گسترش فایل به اندازه اصلی خود را در هنگام فشردهسازی حفظ میکند. فرمت بدون اتلاف برای فایلهایی که نمیتوانند کار کنند یا بدون تمام دادههای اصلی بهطور محسوسی در معرض خطر هستند، ضروری است. این فایلها شامل برنامههای نرمافزاری، اسناد و فرمتهای رسانهای خاص است که توسط افراد مختلف مانند عکاسان، فیلمسازان و موسیقیدانان استفاده میشود.
با اتلاف (Lossy compression)
فشردهسازی از دست رفته میتواند اندازه فایلها را حتی بیشتر کاهش دهد، اما با کمی مصالحه در جزئیات. این فرمت برای انواع فایلی که جزئیات از دست رفته به سختی قابل درک است مناسب است. چنین فایل هایی شامل رسانه های موجود در انتهای کاربر، مانند دانلود موسیقی، فیلم و تصاویر است. برای این موارد، مقداری کاهش در کیفیت پخش وجود دارد، اما مصرف کننده بعید است که متوجه شود.
مطالب مرتبط: ۷۰ اصطلاح فنی در فناوری: تعاریف و کاربرد
نحوه فشرده سازی داده ها
به طور کلی بر اساس نوع داده ای که می خواهید فشرده سازی کنید، چهار نوع فشرده سازی داده وجود دارد. اینها هستند:
-
متن: فشرده سازی داده های متنی شامل شناسایی الگوها و موارد اضافی در متن و رمزگذاری آنها با استفاده از کدها یا نمادهای کوتاهتر است. اثربخشی یک الگوریتم فشرده سازی به نوع متن و نسبت فشرده سازی مورد نیاز بستگی دارد.
-
تصویر: مانند فشرده سازی متن، فشرده سازی تصویر الگوها و موارد اضافی را در فایل جستجو می کند و کدها و نمادهای کوتاه تری ایجاد می کند. به عنوان مثال، ممکن است یک الگوی رنگ تکرار شده را تشخیص دهد و کدی با رنگ و تعداد دفعات آن ایجاد کند که اندازه یک واحد اصلی است.
-
صدا: فایلهای صوتی فایلهای رایانهای هستند که میتوانید به آنها گوش دهید، اما اغلب حاوی انواع دیگری از دادهها نیستند. راه اصلی برای کوچک کردن فایلهای صوتی استفاده از روشهای با اتلاف است که در آن نویز پسزمینه و نویز سفید هر دو از فایلها حذف میشوند.
-
ویدئو: فایلهای ویدئویی ممکن است حاوی تصاویر و فایلهای صوتی باشند و برای فشردهسازی نیاز به فرآیند خاصی دارند. از آنجایی که ویدیوها هم از تصاویر و هم از فایل های صوتی استفاده می کنند، ترکیبی از روش های اتلاف برای حذف نویز پس زمینه و حفظ مهم ترین قسمت های ویدیو استفاده می شود.
موارد مرتبط: JPG در مقابل JPEG: آیا تفاوتی وجود دارد؟
چرا فشرده سازی داده ها مهم است؟
فشرده سازی داده ها فضایی را که فایل ها روی هارد درایو اشغال می کنند به حداقل می رساند و زمان لازم برای انتقال یا دانلود آنها را کاهش می دهد. این کاهش فضا و زمان می تواند منجر به صرفه جویی قابل توجهی در هزینه شود. به عنوان مثال، سازمان هایی که حجم زیادی از داده ها را ذخیره می کنند، مانند شرکت ها و ارائه دهندگان مراقبت های بهداشتی، می توانند در هزینه های ذخیره سازی داده صرفه جویی کنند، زیرا فشرده سازی به آنها اجازه می دهد تا فایل های بیشتری را با ظرفیت کمتر ذخیره کنند. همچنین، از آنجایی که فایلهای فشرده زمان کمتری برای انتقال از طریق اینترنت نیاز دارند، چنین سازمانهایی نیاز کمتری به سرمایهگذاری در ارتقای پهنای باند پرهزینه دارند.
برای برخی دیگر از سازمانها، فشردهسازی به آنها اجازه میدهد تا خدمات بهینه را با بالاترین راحتی ارائه دهند. به عنوان مثال، ارائه دهندگان ارتباطات راه دور حجم عظیمی از داده های صوتی و تصویری را مدیریت می کنند. فشرده سازی به آنها اجازه می دهد تا خدماتی را به تعداد زیادی از مشتریان با کمترین افت کیفیت شنیداری یا بصری ارائه دهند.
موارد مرتبط: ۷ روش مختلف برای ارسال فایل های بزرگ (با نکات)
روش های فشرده سازی داده ها
در زیر برخی از روش های رایج فشرده سازی داده ها آورده شده است:
۱. لمپل–زیو | Lempel–Ziv
فشرده سازی Lempel–Ziv یک الگوریتم بدون تلفات است که کاراکترهای تکراری را در یک مجموعه داده پیدا می کند و آنها را با توکن ها یا دنباله های کوتاه شده جایگزین می کند. برای مثال، در پیامی که «AAABABAAABAA» میخواند، الگوریتم پیام را اسکن میکند، روی هر دنباله حروف ناآشنا متوقف میشود و یک نشانه را اختصاص میدهد. اولین سکانس ناآشنا تک آهنگ “A” است که ممکن است علامت “۱” را دریافت کند. مورد بعدی “AA” است که “۲” است. “B” سکانس سوم است که “۳” را دریافت می کند. دنباله های بعدی برای الگوریتم آشنا هستند. این الگوریتم میتواند پیام اصلی را به «۱۲۳۱۳۲۱۳۲» تبدیل کند که فشردهسازی تقریباً ۶۰ درصدی است.
مطالب مرتبط: مدیریت داده چیست؟ | مهارت های مدیریت داده ها: تعریف و مثال
۲. رمزگذاری طول اجرا | Run-length encoding
رمزگذاری طول اجرا یک روش بدون تلفات است که از رشته ها یا اجراهای تکراری داده ها استفاده می کند. به عنوان مثال، اگر یک فایل تصویری شامل رشتهای از ۱۰ پیکسل متوالی همرنگ باشد، الگوریتم میتواند دادهای را وارد کند که گزارش دهد ۱۰ پیکسل وجود دارد و سپس دادههای اضافی را حذف کند. اگرچه الگوریتم مقداری داده را اضافه می کند، اما تعداد بیشتری از داده ها را حذف می کند و حجم کلی فایل را کاهش می دهد. این نوع فشردهسازی همچنین میتواند اندازه دادههای شما را افزایش دهد زیرا ممکن است تغییرات مکرر در توالی دادهها رخ دهد.
موارد مرتبط: ۲۰ ابزار فشرده سازی تصویر (به علاوه تعریف و مزایا)
۳. کدگذاری فرهنگ لغت | Dictionary coding
کدگذاری دیکشنری یکی دیگر از روشهای بدون تلفات است که دادههای اصلی را با استفاده از بیتهای ۰ و ۱ به یک کد عددی مختصر تبدیل میکند و سپس از یک «دیکشنری» بهعنوان مرجع برای تبدیل کد به یک فرم قابل تشخیص استفاده میکند. این قابل مقایسه با رستورانی است که از اعداد برای نمایش ترکیبات مختلف غذا در منوی خود استفاده می کند. به عنوان مثال، شماره یک ممکن است نشان دهنده “مرغ سرخ شده با سیب زمینی و نخود فرنگی” باشد. توضیحات آیتم منو ۳۶ کاراکتر را شامل می شود، اما کد عددی فقط یک کاراکتر است. در اینجا، فرهنگ لغت دانشی است که یک عدد معین مخفف یک ظرف خاص است.
با توجه به فایل های کامپیوتری، یک فایل تصویری ۱۰۰ بایتی را تصور کنید که از دو رنگ تشکیل شده است. الگوریتم ممکن است بایت ها را به گروه های ۱۰ تایی تقسیم کند و از یک کد سه رقمی برای هر رنگ استفاده کند. هر گروه ۱۰ بایتی مانند یک آیتم منو است و فرهنگ لغت افسانه ای است که هر یک از آنها را به یک کد پیوند می دهد. بنابراین، با جایگزینی هر ۱۰ بایت با یک رشته سه رقمی، الگوریتم می تواند اندازه تصویر فشرده نهایی تنها ۳۰ بیت را تولید کند. پس از بازیابی فایل، سپس می تواند بیت ها را به شکل اصلی خود تبدیل کند.
مطالب مرتبط: Transcoding چیست؟ تعریف، مثال ها و اهمیت
۴. کدگذاری ادراکی | Perceptual coding
کدگذاری ادراکی یک روش فشردهسازی با اتلاف است که بخشهایی از فایل را که اکثر انسانها قادر به درک آن نیستند، دور میاندازد. بسته به نوع فایل، الگوریتم می تواند تعیین کند که کدام عناصر فایل متناسب با این توضیحات است و متعاقباً وجود آن را کاهش یا حذف می کند. به عنوان مثال، یک فایل موسیقی خام ممکن است حاوی امواج صوتی در محدوده اولتراسونیک باشد که افراد قادر به شنیدن آن نیستند. بنابراین، الگوریتم می تواند به طور کامل هر داده ای را که مربوط به اولتراسوند است حذف کند و حجم کل فایل را به میزان قابل توجهی کاهش دهد و کیفیت صدا را کاهش دهد.
همین امر می تواند در مورد تصاویر و ویدئو نیز صدق کند. برای اولی، الگوریتم می تواند عناصری را که چشم انسان به طور معمول به خوبی درک می کند، مانند کنتراست بین اشیاء، حفظ کند، اما اجزای نامحسوس درون اشیاء، مانند پیکسل هایی با رنگ های مشابه را کاهش دهد. برای دومی، الگوریتم ممکن است انتقال پیکسل هایی را که بین فریم ها ایستا هستند، مانند اشیاء ثابت، کاهش دهد.
مطالب مرتبط: ۵ روش برای فشرده سازی یک فایل پاورپوینت (به علاوه نکات)
بهترین روش ها برای فشرده سازی داده ها
این نکات را برای اجرای فشرده سازی داده ها در نظر بگیرید:
سطح فشرده سازی را تعیین کنید
بسته به نیاز خود، ممکن است داده های خود را تا سطح خاصی فشرده کنید. قبل از اینکه فرآیندهای دیگر را شروع کنید، تعیین میزان فشرده سازی داده ها قبل از تبدیل آن مهم است. این به شما کمک می کند تا تعیین کنید چه مراحل دیگری ممکن است برای فشرده سازی موفقیت آمیز داده ها و ارسال آن به مقصد نیاز داشته باشید.
موارد مرتبط: ۷ روش مختلف برای ارسال فایل های بزرگ (با نکات)
نوع فشرده سازی مناسب را انتخاب کنید
برای هر فایلی که فشرده میکنید، ابتدا مشخص کنید که بدون اتلاف است یا با اتلاف. برای تصمیم گیری در مورد استفاده از آن، از خود بپرسید که آیا هرگونه تضعیف در کیفیت داده قابل قبول است یا خیر. همانطور که بحث شد، از دست دادن برخی از جزئیات در فایل های صوتی، تصویری و ویدئویی بعید است قابل درک باشد، بنابراین فشرده سازی با اتلاف برای این موارد مناسب است. در فایل هایی مانند اسناد متنی، از دست دادن جزئیات قابل توجه است، بنابراین فشرده سازی بدون تلفات توصیه می شود.
موارد مرتبط: ۱۵ فرمت فایل تصویری (به علاوه زمان استفاده از آنها)
از یک پردازنده کمکی استفاده کنید
یک پردازنده کمکی به رایانه شما اجازه می دهد تا قدرت پردازش را به واحد پردازش مرکزی ثانویه (CPU) هدایت کند و منابع اولیه رایانه شما را برای انجام فعالیت های روزمره آزاد کند. این به شما این امکان را میدهد که در هنگام فشردهسازی فایلها، کارایی خود را حفظ کنید، که میتواند یک عملکرد فشرده منابع باشد. اضافه کردن یک آرایه گیت قابل برنامهریزی در میدان یا FPGA، یک ریزتراشه که میتوانید آن را برای عملکرد به عنوان یک پردازنده اضافی پیکربندی کنید، در نظر بگیرید. این به ویژه برای فشرده سازی انواع داده های بزرگ مفید است.
حذف داده ها را در نظر بگیرید
حذف داده ها فرآیندی است که موارد تکراری را در یک مجموعه داده حذف می کند. با مقایسه الگوهای داده، شناسایی الگوهای موجود در یک مجموعه ذخیره شده و جایگزینی نمونه های اضافی با مرجعی که به الگوی ذخیره شده از قبل هدایت می شود، کار می کند. از آنجایی که چنین الگوهایی ممکن است به طور مکرر در یک نمونه خاص از انتقال یا ذخیره داده رخ دهند، حذف مجدد می تواند مقدار داده های پردازش شده را تا حد زیادی کاهش دهد. بنابراین یک مکمل مفید برای فشرده سازی است.
تعیین کنید که آیا به فشرده سازی چند مرحله ای نیاز دارید یا خیر
گاهی اوقات، ممکن است داده ها را چندین بار فشرده کنید تا هر نوع فایل به درستی تبدیل شود. این فشردهسازی چند مرحلهای است و میتوانید با تعیین اینکه آیا دادههای شما دارای چندین نوع فایل مانند ویدیو، صدا و متن هستند، شروع کنید. هنگامی که این مورد را تعیین کردید، می توانید تصمیم بگیرید که آیا به هر نوع داده نیاز دارید یا خیر و سپس آنها را فشرده کنید.