فشرده سازی داده ها چیست؟

کدگذاری منبع روش‌های فشرده‌سازی یک منبع اطلاعات را مطالعه می‌کند. منابع اطلاعاتی طبیعی، مانند گفتار یا نوشتار انسان‌ها، دارای افزونگی است؛ برای مثال در جمله «من به خانه مان برگشتم» ضمایر «مان» و شناسه «م» در فعل جمله را می‌توان از جمله حذف نمود بدون اینکه از مفموم مورد نظر جمله چیزی کاسته شود. این توضیح را می‌توان معادل با انجام عمل فشرده سازی روی اطلاعات یک منبع اطلاعات دانست؛ بنابراین منظور از فشرده سازی اطلاعات کاستن از حجم آن به نحوی است که محتوی آن دچار تغییر نامناسبی نشود.

در علوم کامپیوتر و نظریه اطلاعات، فشرده سازی داده‌ها یا کد کردن داده ها، در واقع فرایند رمزگذاری اطلاعات با استفاده از تعداد بیت هایی (یا واحدهای دیگر حامل داده) کمتر از آنچه یک تمثال رمزگذاری نشده از همان اطلاعات استفاده می‌کند و با به کار گرفتن روش‌های رمزگذاری ویژه ای است.

مانند هر ارتباطی، ارتباطات با اطلاعات فشرده، تنها زمانی کار می‌کند که هم فرستنده و هم گیرندهٔ اطلاعات، روش رمزگذاری را بفهمند.به عنوان مثال این نوشته تنها زمانی مفهوم است که گیرنده متوجه باشد که هدف پیاده سازی با استفاده از زبان فارسی بوده. به همین ترتیب، دادهٔ فشرده سازی شده تنها زمانی مفهوم است که گیرنده روش رمزگشایی آن را بداند.

فشرده سازی به این دلیل مهم است که کمک می‌کند مصرف منابع با ارزش، مانند فضای هارد دیسک و یا پهنای باند ارسال، را کاهش دهد. البته از طرفی دیگر، اطلاعات فشرده سازی شده برای اینکه مورد استفاده قرار بگیرند باید از حال فشرده خارج شوند و این فرایند اضافه ممکن است برای بعضی از برنامه‌های کاربردی زیان آور باشد. برای مثال یک روش فشرده سازی برای یک فیلم ویدئویی ممکن است نیازمند تجهیزات و سخت‌افزار گران قیمتی باشد که بتواند فیلم را با سرعت بالایی از حالت فشرده خارج سازد که بتواند به طور همزمان با رمزگشایی پخش شود(گزینه ای که ابتدا رمزگشایی شود و سپس پخش شود، ممکن است به علت کم بود فضای برای فیلم رمزگشایی شده حافظه امکان پذیر نباشد). بنابراین طراحی روش فشرده سازی نیازمند موازنه و برآیندگیری بین عوامل متعددی است. از جمله این عوامل درصد فشرده سازی، میزان پیچیدگی معرفی شده (اگر از یک روش فشرده سازی پر اتلاف استفاده شود) و منابع محاسباتی لازم برای فشرده سازی و رمزگشایی اطلاعات را می توان نام برد. فشرده سازی به دو دسته فشرده‌سازی اتلافی (فشرده‌سازی با اتلاف) و فشرده‌سازی بهینه فشرده‌سازی بی‌اتلاف اطلاعات تقسیم می‌شوند. کدگذاری منبع ، علم مطالعه روش‌های انجام این عمل ، برای منابع متفاوت اطلاعاتی موجود است.

فشرده سازی بهینه در مقابل اتلافی

الگوریتم های فشرده سازی بهینه معمولاً فراوانی آماری را به طریقی به کار می گیرند که بتوان اطلاعات فرستنده را اجمالی تر و بدون خطا نمایش دهند. فشرده سازی بهینه امکان پذیر است چون اغلب اطلاعات جهان واقعی دارای فراوانی آماری هستند. برای مثال در زبان فارسی حرف "الف" خیلی بیش تر از حرف "ژ" استفاده می شود و احتمال اینکه مثلا حرف "غین" بعد از حرف "ژ" بیاید بسیار کم است. نوع دیگری از فشرده سازی، که فشرده سازی پر اتلاف یا کدگذاری ادراکی نام دارد که در صورتی مفید است که درصدی از صحت اطلاعات کفایت کند. به طور کلی فشرده سازی اتلافی توسط جستجو روی نحوهٔ دریافت اطلاعات مورد نظر توسط افراد راهنمایی می شود. برای مثال، چشم انسان نسبت به تغییرات ظریف در روشنایی حساس تر از تغییرات در رنگ است. فشرده سازی تصویر به روش JPEG طوری عمل می‌کند که از بخشی از این اطلاعات کم ارزش تر "صرف نظر" می کند. فشرده سازی اتلافی روشی را ارائه می‌کند که بتوان بیشترین صحت برای درصد فشرده سازی مورد نظر را به دست آورد. در برخی موارد فشرده سازی شفاف (نا محسوس) مورد نیاز است؛ در مواردی دیگر صحت قربانی می‌شود تا حجم اطلاعات تا حد ممکن کاهش بیابد.

روش‌های فشرده سازی بهینه برگشت پذیرند به نحوی که اطلاعات اولیه قابلیت بازیابی به طور دقیق را دارند در حالی که روش‌های اتلافی، از دست دادن مقداری از اطلاعات را برای دست یابی به فشردگی بیشتر می پذیرند. البته همواره برخی از داده وجود دارند که الگوریتم‌های فشرده سازی بهینهٔ اطلاعات در فشرده سازی آن‌ها ناتوان اند. در واقع هیچ الگوریتم فشرده سازی ای نمی تواند اطلاعاتی که هیچ الگوی قابل تشخیصی ندارند را فشرده سازی کند. بنابراین تلاش برای فشرده سازی اطلاعاتی که قبلاً فشرده شده اند معمولاً نتیجهٔ عکس داشته( به جای کم کردن حجم، آن را زیاد می کند)، هم چنین است تلاش برای فشرده سازی هر اطلاعات رمز شده ای ( مگر حالتی که رمز بسیار ابتدایی باشد).

در عمل، فشرده سازی اتلافی نیز به مرحله ای می رسد که فشرده سازی مجدد دیگر تأثیری ندارد، هرچند یک الگوریتم بسیار اتلافی، مثلا الگوریتمی که همواره بایت آخر فایل را حذف می کند، همیشه به مرحله ای می رسد که دیگر فایل تهی می شود.

مثالی از یک الگوریتم اتلافی در مقابل یک الگوریتم بهینه، می توان رشتهٔ مقابل است:

25.888888888

این رشته می تواند به روش بهینه به شکل زیر فشرده شود:

8[9]25

که خوانده می‌شود "بیست و پنج ممیز ۹ تا هشت"، و رشتهٔ اصلی دقیقاً بازسازی می‌شود و تنها به شکل کوچک تری نوشته می شود. در عوض در روش اتلافی از

26

استفاده می‌شود که مقدار دقیق عبارت در ازای حجم کمتر از دست خواهد رفت.

الگوریتم‌ها و برنامه‌های اجرایی نمونه

مثال فوق مثال بسیار ساده ای از یک رمزنگاری الگو-طول ( Run-length encoding، که در آن "الگو" عبارت است از رشته ای از عناصر که به طور متوالی تکرار شده است و "طول" تعداد تکرار آن است) است. این روش اغلب برای بهینه سازی فضای دیسک در کامپیوترهای اداری و یا استفادهٔ بهتر از طول باند اتصال در یک شبکهٔ کامپیوتری به کار می رود. برای داده‌های نمادی مانند متن ها، صفحه گسترده‌ها ( Spreadsheet)، برنامه‌های اجرایی و… غیراتلافی بودن ضروری است زیرا تغییر کردن حتی یک بیت داده قابل قبول نمی باشد ( مگر در موارد بسیار محدود). برای داده‌های صوتی و تصویری کاهش قدری از کیفیت بدون از دست دادن طبیعت اصلی داده قابل قبول می باشد. با بهره بردن از محدودیت‌های سیستم حواسی انسان، می توان در حجم زیادی از فضا صرفه جویی کرد و در عین حال خروجی ای را تولید کرد که با اصل آن تفاوت محسوسی ندارد. این روش‌های فشرده سازی اتلافی به طور کلی یک برآیند گیری سه جانبه بین سرعت فشرده سازی، حجم نهایی فشرده سازی و میزان کیفیت قابل چشم پوشی (درصد اتلاف قابل قبول) است.

نظریه

سابقهٔ نظری فشرده سازی برای فشرده سازی‌های بهینه توسط نظریهٔ اطلاعات (که رابطه نزدیکی با نظریهٔ اطلاعات الگوریتمی دارد) و برای فشرده سازی‌های اتلافی توسط نظریهٔ آهنگ-پیچیدگی ( Rate–distortion theory) ارائه شده اند. این شاخه‌های مطالعاتی در اصل توسط کلوده شانون( Claude Shannon)، که مقالاتی بنیادی در این زمینه در اواخر دهه ای ۱۹۴۰ و اوایل دههٔ ۱۹۵۰ به چاپ رسانده است به وجود آمده. "رمزنگاری" و "نظریهٔ رمزگذاری" نیز رابطه بسیار زیادی با این زمینه دارند. ایدهٔ فشرده سازی رابطهٔ عمیقی با آمار استنباطی دارد.

 

آنتروپی

دو جملهٔ زیر را در نظر می‌گیریم:

# فردا هوا گرفته و ابری خواهد بود.

# من یک میلیارد برنده شدم.

اگر چه جملهٔ دوم کوتاه‌تر از اولی‌ست، بار اطلاعاتی بیشتری نسبت به آن دارد.

 

برگرفته از ویکی  پدیا

 

برای دانلود مقاله های ISI مربوط به فشرده سازی چاپ شده در ژورنالهای 2012 و 2013 به وب سایت ایران سای – مرجع علمی فنی مهندسی مراجعه نمایید.

 

با تشکر

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد