یکی از گسترده ترین گونه ها برنامه های سیستمیاینها برنامه هایی هستند که برای بایگانی و بسته بندی فایل ها به منظور فشرده سازی اطلاعات ذخیره شده در آنها طراحی شده اند.

فشرده سازی اطلاعات فرآیند سازماندهی مجدد اطلاعات ذخیره شده در یک فایل است که در نتیجه اندازه آن تغییر می کند و ظاهراً به حافظه کمتری برای ذخیره نیاز دارد.

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

شما می توانید یک یا چند فایل را که به وضوح در چنین عناوینی قرار گرفته اند فشرده سازی کنید فایل بایگانی، یا آرشیو.

فایل بایگانی روشی ویژه برای سازماندهی یک فایل است که حاوی یک یا تعدادی فایل به صورت فشرده یا فشرده است و اطلاعات خدماتی در مورد نام فایل ها، تاریخ و ساعت ایجاد یا اصلاح آنها، ابعاد و غیره دارد.

روش بسته‌بندی فایل‌ها، قرار دادن فشرده‌تر اطلاعات روی دیسک، زمان سریع‌تر و بدیهی است که امکان انتقال اطلاعات از طریق کانال‌های ارتباطی در شبکه‌های کامپیوتری را تضمین می‌کند. علاوه بر این، بسته‌بندی گروهی از فایل‌ها در یک فایل آرشیو، انتقال آن‌ها از یک رایانه به رایانه دیگر را تا حد زیادی ساده می‌کند، سرعت کپی کردن فایل‌ها را بر روی دیسک‌ها افزایش می‌دهد، به شما امکان می‌دهد از اطلاعات در برابر دسترسی غیرمجاز محافظت کنید، و از ویروس‌های رایانه‌ای آلوده محافظت می‌کند.

زیر مرحله فشردههمانطور که در صدها نشان داده شده است، رابطه بین ابعاد فایل فشرده و خروجی را درک کنید.

سفتی پابه برنامه فشرده سازی مورد استفاده، روش فشرده سازی و نوع فایل خروجی بستگی دارد. فشرده‌ترین فایل‌ها تصاویر گرافیکی، فایل‌های متنی، فایل‌های داده‌ای است که سطح فشرده‌سازی آن‌ها می‌تواند به 5 تا 40 درصد برسد، کمترین فشرده‌شده فایل‌های برنامه‌های کامپایل‌شده و ماژول‌های قابل دانلود - 60 - 90 درصد است. فایل های آرشیو ممکن است فشرده نشوند. برنامه های بایگانی از روش های فشرده سازی پیشرفته استفاده می کنند که بدیهی است که به مرحله فشرده سازی می رود.

آرشیو (بسته بندی) - قرار دادن (بسته بندی) فایل های خروجی در یک فایل بایگانی به شکل مرتب یا نازک.

باز کردن (باز کردن بسته بندی) - فرآیند به روز رسانی فایل ها از بایگانی دقیقاً به همان روشی که قبل از انتقال به بایگانی به نظر می رسد. هنگامی که بسته بندی نمی شود، فایل ها از آرشیو استخراج می شوند و روی دیسک یا رم قرار می گیرند.

برنامه هایی که فایل ها را بسته و باز می کنند، برنامه های بایگانی نامیده می شوند.

فایل های بایگانی بزرگ را می توان روی بسیاری از دیسک ها (حجم) قرار داد. این آرشیوها نامیده می شوند بسیار حجیم. تام - تسه قسمت انبارآرشیو حجم غنی با ایجاد آرشیو در چند قسمت می توانید هر قسمت را روی تعدادی دماغه ثبت کنید.

انواع اصلی برنامه های آرشیو

در حال حاضر ده ها برنامه بایگانی در حال استفاده هستند که در عملکرد و پارامترهای عملیاتی متفاوت هستند و اکثر آنها تقریباً ویژگی های مشابهی دارند. برخی از محبوب ترین برنامه ها عبارتند از: Zip (و اصلاح آن در WinZip)، WinRAR، Arj (نسخه آن)، G-Zip، 7-Zip.

برنامه‌های بایگانی به شما امکان می‌دهند چنین بایگانی‌هایی ایجاد کنید؛ برای استخراج فایل‌ها از آنها، به هیچ برنامه‌ای نیاز ندارید، زیرا خود فایل‌های بایگانی شده می‌توانند در برنامه باز کردن بسته‌بندی اختلال ایجاد کنند. به این گونه فایل های آرشیو خود استخراج می گویند. فایل بایگانی بسته بندی شده است - این یک ماژول فشرده و فشرده نیست که قبل از باز کردن مستقل از حالت فشرده در یک فایل جدید بدون نیاز به برنامه بایگانی ذخیره می شود.

خود باز کردن بسته بندیبا برداشتن نام آرشیو SFX(خود استخراج). آرشیوهایی از این نوع معمولا در فرمت فایل EXE ایجاد می شوند.

بسیاری از برنامه های بایگانی فایل ها را باز کردن بسته بندی، انتقال آنها به دیسک، و همچنین موارد مورد نیاز برای ایجاد ماژول های فشرده بسته بندی شده (برنامه ها) انجام می دهند. در نتیجه چنین بسته بندی، یک فایل برنامه با نام ها و پسوندهای مشابه ایجاد می شود که با بارگذاری در RAM، خود استخراج شده و در یک پنجره راه اندازی می شود. در همان زمان امکان بازآفرینی دروازه وجود دارد فایل برنامهدر قالب بدون بسته بندی در میان چنین آرشیوهایی برنامه های Upx، PKLITE، LZEXE وجود دارد.

برنامه EXPAND که در انبار ابزار سیستم عامل ویندوز موجود است، برای باز کردن فایل ها نصب شده است. محصولات نرم افزاری، ارائه شده توسط مایکروسافت.

راه های مدیریت برنامه آرشیو

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

  • - در پشت خط فرمان، که در آن دستور راه اندازی تشکیل شده است، که شامل نام برنامه بایگانی، فرمان کنترل و کلیدهای پیکربندی، و همچنین نام فایل های بایگانی و خروجی است.
  • - برای پوسته داخلی و پانل های گفتگوی اضافی که پس از شروع برنامه ظاهر می شوند و به شما امکان کنترل منوهای مختلف و کلیدهای عملکرد، که کار راحت تری را برای هنرمند ایجاد می کند.
  • - برای کمک بیشتر منوی زمینههادی در سیستم عاملپنجره ها.

اصول فشرده سازی اطلاعات

اساس هر روش فشرده سازی اطلاعات، مدل هسته اطلاعات، یا به طور خاص، مدل فوق بعدی است. به عبارت دیگر، برای فشرده سازی اطلاعات، اطلاعات خاصی در مورد آن نوع اطلاعات فشرده می شود - بدون هیچ گونه اطلاعاتی در مورد اطلاعات، ایجاد یک ساختار برابر از هر فرضی غیرممکن است، I امکان تغییر اطلاعات الزامی وجود ندارد. این اطلاعات از طریق فرآیند فشرده سازی و رفع فشار پردازش می شود. مدل فوق بعدی نیز می تواند در مرحله فشرده سازی اصلاح یا پارامتر شود. روش هایی که امکان تغییر مدل فوق بعدی بودن اطلاعات بر اساس داده های ورودی را فراهم می کنند، تطبیقی ​​نامیده می شوند. غیر تطبیقی ​​به معنای الگوریتم های بسیار خاص است که برای کار با ویژگی های خوب و غیرقابل تغییر طراحی شده اند. مهم است که اطمینان حاصل شود که الگوریتم های جهانی در جهان های دیگر نیز سازگار هستند.

هر روشی برای فشرده سازی اطلاعات شامل دو تبدیل از یکدیگر است:

  • ایجاد مجدد فشرده سازی؛
  • ایجاد مجدد فشار زدایی

ایجاد مجدد فشار، حذف اطلاعات فشرده شده از روز تعطیل را تضمین می کند. بازکردن سیگنال خروجی (یا نزدیکی آن) از سیگنال فشرده را تضمین می کند.

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

  • بدون هزینه،
  • با هزینه ها

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

ویژگی های الگوریتم ها: انقباض و ایستایی

نسبت تراکم

ضریب فشرده سازی مشخصه اصلی الگوریتم فشرده سازی است که عمدتاً عملی بودن آن را بیان می کند. Vaughn به عنوان رابطه ای با اندازه داده های فشرده نشده قبل از فشرده سازی تعریف می شود، سپس:

ک = اس o/ اسج

de ک- ضریب محدودیت، اس o اندازه داده های فشرده نشده است و اسج - اندازه فشار. بنابراین، هر چه ضریب محدودیت بیشتر باشد، الگوریتم زیباتر است. وارد اسلاید شوید:

  • yakscho ک= 1، سپس الگوریتم فشرده سازی را لرزان نمی کند، بلکه اطلاعات خروجی را با اندازه ای برابر با ورودی انتخاب می کند.
  • yakscho ک < 1, то алгоритм порождает при сжатии сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

وضعیت با ک < 1 вполне возможна при сжатии. Невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что количество различных сообщений длиной nالگو: E: بیت برابر 2 می شود n. افراد مختلف زیادی در مورد آخرین لحظه یا همان لحظه مطلع خواهند شد n(اگر واضح باشد، من می خواهم یک اعلان از تولد کوچکترین تولد داشته باشم) کمتر از 2 خواهد بود n. این به این معنی است که نمی‌توان همه گزارش‌های آخر هفته را به‌طور واضح تعریف کرد: یا هر اطلاعیه آخر هفته مشمول بیانیه‌ای محدود نمی‌شود، یا برخی گزارش‌های آخر هفته با همان محدودیتی که دارند مطابقت دارند، به این معنی که نمی‌توان آنها را بازیابی کرد.

ضریب فشرده سازی می تواند یک ضریب ثابت (مانند صدا، الگوریتم های فشرده سازی تصویر و غیره، به عنوان مثال، A-law، μ-law، ADPCM) یا قابل تغییر باشد. در نوع دیگر، ممکن است مقادیری برای هر اطلاعات خاص یا برای ارزیابی بر اساس معیارهای خاص وجود داشته باشد:

  • وسط (تماس با توجه به مجموعه داده های آزمایشی واقعی)؛
  • حداکثر (ویپادوک کوتاهترین فشار)؛
  • حداقل (نوعی محدودیت شدید)؛

یا چیز دیگری باشد ضریب محدودیت با هزینه‌هایی که در آنها جایگزینی قوی برای از دست دادن مجاز محدودیت یا یوگو وجود دارد. یاکوستی، چگونه zazvichiy به عنوان یک پارامتر به الگوریتم عمل می کند.

جایز بودن هزینه ها

معیار اصلی برای اعتبار الگوریتم‌های فشرده‌سازی، نمایان بودن یا شدت بیشتر هزینه‌ها را توصیف می‌کند. در این مورد، الگوریتم‌های فشرده‌سازی بدون صرف هزینه، جهانی هستند، به این معنا که می‌توان آن‌ها را برای داده‌ها از هر نوع اعمال کرد، که در آن زمان فشرده‌سازی هزینه‌ها باید پایه باشد. من اجازه هیچ گونه هزینه ای را نمی دهم:

  • داده های نمادین، که تغییر آنها ناگزیر به تغییر در معنای آنها می شود: برنامه ها و متون خروجی آنها، آرایه های نمادها و غیره.
  • داده های بسیار مهمی که تغییراتی در آنها می تواند منجر شود عفوهای انتقادی: به عنوان مثال از فناوری ارتعاشی پزشکی یا دستگاه های کنترل کشنده، فضاپیماها و غیره به دست آمده است.
  • داده ها به شدت مستعد فشرده سازی و گسترش هستند: گرافیک کار، صدا، فایل های ویدئویی.

با این حال، محدودیت در هزینه‌ها به شما امکان می‌دهد تا به شانس بیشتری از محدودیت دست یابید تا اطلاعات ناچیز را بیرون بیاورید، که فشار بدی است. بنابراین، برای مثال، الگوریتم فشرده سازی صدا بدون اتلاف FLAC، در بیشتر موارد، اجازه می دهد تا صدا را بین 1.5-2.5 بار فشرده سازی کند، در حالی که الگوریتم با هدر رفتن Vorbis، حداقل پارامتر درج شدهکیفیت را می توان تا 15 بار فشرده کرد و در عین حال کیفیت صدای دلپذیر را حفظ کرد.

مزایای سیستم الگوریتم ها

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

  • حافظه عملیاتی (تحت داده های متوسط)؛
  • حافظه دائمی (تحت کد برنامه و ثابت ها)؛
  • ساعت CPU

به طور کلی، این ممکن است در پیچیدگی و "هوشمندی" الگوریتم باشد. با پیروی از روند، هرچه الگوریتم کوتاه‌تر و جهانی‌تر باشد، مزایای دستگاه بیشتر می‌شود. با این حال، در شرایط خاص، الگوریتم های ساده و فشرده می توانند بهتر عمل کنند. مزایای سیستم نشان دهنده مزایای ثابت آنها است: هر چه الگوریتم قدرت کمتری داشته باشد، ساده تر است، و بنابراین، می توان از یک سیستم شراب جمع و جور، قابل اعتماد و ارزان استفاده کرد.

از آنجایی که الگوریتم های فشرده سازی و رفع فشرده سازی به صورت جفت کار می کنند، همبستگی یکسان بین سیستم های سیستم قبل از آنها مهم است. اغلب می توان یک الگوریتم را ساده کرد و دیگری را به طور قابل توجهی ساده کرد. به این ترتیب ما می توانیم سه گزینه داشته باشیم:

الگوریتم فشرده سازی نسبت به الگوریتم فشرده سازی از نظر منابع کارآمدتر است. این بزرگترین وسعت رابطه است، و ممکن است عمدتاً در نتیجه گیر کند، اگر یک بار داده ها در یک راه بزرگ پیروز شوند. در این صورت می توانید از پردازنده های دیجیتال صوتی و تصویری استفاده کنید. الگوریتم های فشرده سازی و گسترش تقریباً به همان اندازه موفق هستند. خوشایندترین گزینه برای یک خط کش زمانی است که فشرده سازی و انبساط به طور همزمان در هر دو انتها انجام شود. به عنوان مثال، این می تواند تلفن باشد. الگوریتم فشرده سازی در واقع قدرت کمتری نسبت به الگوریتم فشرده سازی دارد. حال و هوای عجیب و غریب را به پایان برسانید. ممکن است مقابله با شرایطی که فرستنده یک دستگاه فوق قابل حمل است، که در آن منابع موجود محدود به یک فضاپیمای حیاتی است، برای مثال، یا توزیع زیادی از حسگرها وجود دارد، دشوار باشد، اما ممکن است بتوان آنهایی را که بسته بندی می کنند باز کرد. به عنوان مثال ضبط از دوربین های نظارت تصویری با ظرفیت بسیار کم مورد نیاز است.

بخش همچنین


بنیاد ویکی مدیا روکو 2010.

همچنین به «اطلاعات فشرده» در فرهنگ‌های دیگر مراجعه کنید:

    فشرده سازی اطلاعات- اطلاعات پیشرفته - [L.G. Sumenko. فرهنگ لغت انگلیسی-روسی فناوری اطلاعات. M.: DP TsNDIZ، 2003.] موضوعات فناوری اطلاعاتبه طور کلی مترادف برای اطلاعات پیشرفته EN کاهش اطلاعات ...

    اطلاعات STISC- (فشرده سازی داده ها) تامین اطلاعات (داده) با تعداد کمتری از شرط ها در تراز با cob. بر اساس یک ماوراء الطبیعه رام شده. تقسیم S. i. بدون از دست دادن اطلاعات و با از دست دادن اطلاعاتی که برای تکمیل وظایف موجود نیست. قبل از ... ... فرهنگ دایره المعارف روانشناسی و تربیت

    فشرده سازی تطبیقی ​​اطلاعات بدون اتلاف- - [L.G.Sumenko. فرهنگ لغت انگلیسی-روسی فناوری اطلاعات. M.: DP TsNDIZ، 2003.] موضوعات فناوری اطلاعات به طور کلی فشرده سازی داده بدون تلفات تطبیقیALDC ... مشاور ترجمه فنی

    اطلاعات تقویت شده/محدود- - [L.G.Sumenko. فرهنگ لغت انگلیسی-روسی فناوری اطلاعات. M.: DP TsNDIZ، 2003.] موضوعات فناوری اطلاعات به طور کلی فشرده سازی EN ... مشاور ترجمه فنی

    فشرده سازی دیجیتال اطلاعات- - [L.G.Sumenko. فرهنگ لغت انگلیسی-روسی فناوری اطلاعات. M.: DP TsNDIZ، 2003.] موضوعات فناوری اطلاعات به طور کلی فشرده سازی EN ... مشاور ترجمه فنی

    صدا یک hvilya ساده است، و سیگنال دیجیتالє به خراج این حویلی. این به دامنه ذخیره شده سیگنال آنالوگ بدون هیچ تاخیری برای یک ثانیه می رسد. به عنوان مثال، در یک سی دی معمولی، سیگنال 44100 بار در هر ... ... ویکی پدیا حفظ می شود.

    روندی که تغییر در الزام این جاده ها برای کوتاه کردن ماوراء طبیعی بودن آنها را تضمین می کند. فشرده سازی داده ها به دلیل توزیع فشرده بخش های اندازه استاندارد داده ها است. محدودیت ها با و بدون از دست دادن اطلاعات متمایز می شوند. برای انگلیسی: داده ...... فرهنگ لغت مالی

    فشرده سازی اطلاعات کارتوگرافی دیجیتال- پردازش اطلاعات کارتوگرافی دیجیتال با تغییر حجم آن، از جمله خاموش کردن ابربعدی با دقت لازم. [GOST 28441 99] موضوعات کارتوگرافی دیجیتال اصطلاحات معمول روش ها و فناوری ها ... ... مشاور ترجمه فنی

همانطور که در بالا گفته شد، یکی از وظایف مهم آماده سازی پیشرفته داده ها قبل از رمزگذاری، تغییر ماهیت اضافی آن و تأیید الگوهای آماری زبان راکد است. تا حدی، تصعید ماوراء طبیعت از طریق فشرده سازی داده ها حاصل می شود.

فشرده سازی اطلاعاتفرآیند تبدیل پیام خروجی از یک سیستم کد به سیستم دیگر است که در نتیجه تغییر می کند اندازه اطلاعات. الگوریتم های طراحی شده برای فشرده سازی اطلاعات را می توان به دو گروه بزرگ تقسیم کرد: آنهایی که فشرده سازی را بدون ضایعات اجرا می کنند (فشرده سازی قابل مذاکره) و آنهایی که فشرده سازی را با هزینه ها اجرا می کنند (فشرده سازی غیر قابل مذاکره).

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

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

بیایید نگاهی به گزارش گسترده ترین روش های پردازش داده بیندازیم.

محبوب ترین روش و الگوریتم ساده برای فشرده سازی اطلاعات با یک مسیر معکوس، رمزگذاری یک سری دنباله (Run Length Encoding - RLE) است. ماهیت روش ها در این رویکرد در جایگزینی لنس ها یا مجموعه ای از بایت های تکراری با یک بایت کد واحد - یک پرکننده و تعدادی از تکرارهای آنها نهفته است. مشکل همه روش‌های مشابه فقط در روش خاص نهفته است، در این صورت الگوریتم باز کردن بسته‌بندی می‌تواند دنباله بایت‌های حاصل را به یک سری کدگذاری شده از دیگر توالی‌های بایت رمزگذاری نشده تقسیم کند. راه حل مشکل را می توان با گذاشتن علائم روی اولین تسمه های کدگذاری شده به دست آورد. با این نمادها می توانید مقادیر مشخصه بیت ها را در اولین بایت سری کدگذاری شده، مقدار بایت اول سری کدگذاری شده شناسایی کنید. روش RLE دارای مزیت سطح پایین فشرده سازی یا کارایی کدگذاری برای فایل هایی با تعداد سری کم و حتی بدتر از آن، با تعداد کمی بایت های تکراری در یک سری است.

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

یکی از روش های پرکاربرد فرهنگ لغت در عمل که نمایندگان اصلی آن الگوریتم های خانواده Ziv و Lempel هستند. ایده اصلی آنها این است که قطعات جریان ورودی ("عبارات") با یک نشانگر در محلی که قبلا در متن ظاهر می شدند جایگزین می شوند. در ادبیات، از الگوریتم های مشابه الگوریتم یاد می شود فشار LZ.

این روش به سرعت با ساختار متن سازگار می شود و می تواند کلمات کاربردی کوتاه را رمزگذاری کند، همانطور که اغلب در موارد جدید ظاهر می شوند. کلمات و عبارات جدید نیز می توانند از قسمت هایی از کلمات تعریف شده قبلی تشکیل شوند. رمزگشایی متن فشرده را می توان بدون هیچ زحمتی انجام داد - همانطور که نشان می دهد به سادگی نشانگر را با یک عبارت آماده از فرهنگ لغت جایگزین کنید. در عمل، روش LZ نیاز به فشرده سازی شدید دارد که قدرت مهم آن حتی ربات رمزگشا است.

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

روش سنتز کد کلاسیک هافمن، نمایان بودن اطلاعات پیشینی در مورد ویژگی های آماری دستگاه را منتقل می کند. در غیر این صورت، به نظر می رسد که خواننده مقصر گناه باورنکردنی این نمادها و سایر نمادهایی است که از آنها افشاگری می شود. بیایید با استفاده از یک مثال ساده به ترکیب کد هافمن نگاه کنیم.

p (S 1) = 0.2، p (S 2) = 0.15، p (S 3) = 0.55، p (S 4) = 0.1. نمادهای مرتب شده کاهش محبوبیت ظاهر می شوند و در قالب یک جدول ارائه می شوند (شکل 14.3، a).

روش سنتز کد شامل سه مرحله اصلی است. در ابتدا تعداد انگشت شماری از ردیف ها در جدول ایجاد می شود: دو ردیف مربوط به نمادهایی با کمترین سازگاری با یکی با سازگاری کامل جایگزین می شود، پس از آن جدول دوباره مرتب می شود. گلو ادامه می یابد تا زمانی که جدول تنها یک ردیف با تعداد کل واحدهای باستانی را از دست بدهد (شکل 14.3، ب).


کم اهمیت 14.3.

در مرحله بعد، درخت کد بر اساس جدول تا شده ایجاد می شود (شکل 14.4، a). درخت از قسمت باقی مانده جدول ظاهر می شود.


کم اهمیت 14.4.

ریشه درخت توسط یکی ایجاد می شود، به stovpchik باقی مانده روتوش می شود. در این مثال، این واحد با سازگاری 0.55 و 0.45 ساخته شده است که به صورت دو گره درخت متصل به ریشه ظاهر می شود. اولین آنها با نماد S 3 i مطابقت دارد، بنابراین جدایی بیشتری از این گره وجود ندارد.

گره دیگری که با سرعت 0.45 مشخص شده است، به دو گره سطح سوم با سرعت 0.25 و 0.2 می پیوندد. اعتبار 0.2 مربوط به نماد S 1 است و اعتبار 0.25 به نوبه خود با اعتبار 0.15 برای نماد S 2 و 0.1 برای نماد S 4 تأیید می شود.

یال هایی که گره های درخت کد را به هم متصل می کنند 0 و 1 هستند (برای مثال، لبه های سمت چپ 0 و لبه های سمت راست 1 هستند). در مرحله سوم و آخر جدولی وجود خواهد داشت که در آن نمادهای Jerel و کلمات رمز مرتبط با آنها در کد هافمن وارد می شوند. این کلمات رمز در نتیجه خواندن اعدادی ایجاد می شوند که نشان دهنده لبه هایی هستند که از ریشه درخت به نماد مربوطه منتهی می شوند. برای باسن بررسی شده، می توانم کد هافمن را ببینم، خوانش های جدول به صورت راست هستند (شکل 14.4، ب).

با این حال، الگوریتم کلاسیک هافمن یک نقص عمده دارد. برای به روز رسانی به جای پیام فشرده، رمزگشا باید جدول فرکانس مورد استفاده رمزگذار را بداند. بنابراین، فشار پیام فشرده با شکاف در جدول فرکانس افزایش می‌یابد، به این معنی که شما باید قبل از داده‌ها کار کنید، که می‌تواند منجر به نتیجه‌گیری تمام تلاش‌های فشرده شدن پیام شود.

گزینه ای دیگر کد هافمن استاتیکدر بررسی جریان ورودی و کدگذاری در دقیقه در پانل آمار جمع آوری شده نهفته است. این نیاز به دو عبور از فایل دارد - یکی برای بررسی و جمع آوری اطلاعات آماری، دیگری برای کدگذاری. در رمزگذاری هافمن ایستا، نمادهای ورودی (بندهای تاریخ های مختلف) به ظاهر طناب های تاریخ های متغیر یکسان - کدهای آنها اختصاص داده می شود. سهم در رمز نماد پوست متناسب با لگاریتم باینری فرکانس آن گرفته شده از علامت پروگزیمال گرفته می شود. و مجموعه مخفی همه نمادهای مختلف شروع به تشکیل الفبای جریان کرد.

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

روش هافمن: اجازه دهید سیالیت و صافی بالا باشد گارنا یاکیستفشرده شده با این حال، رمزگذاری هافمن دارای حداقل سربار است زیرا هر نماد در الفبای رمزگذاری شده توسط رمز نماد احاطه شده توسط یک لنس با دو بیت - (0، 1) کدگذاری می شود. عیب اصلی این روش طول مرحله فشرده سازی به دلیل نزدیک بودن نمادها به 2 در هر مرحله منفی است که به دلیل کدگذاری هر کاراکتر با تعداد صحیح بیت است.

راه حل کاملا متفاوت است کدگذاری حسابی. این روش مبتنی بر ایده تبدیل جریان ورودی به یک عدد با کمای شناور است. رمزگذاری حسابی روشی است که به شما امکان می دهد نمادهای الفبای ورودی را بدون هدر دادن پول در توزیع فرکانس این نمادها بسته بندی کنید.

توالی لازم از نمادها هنگامی که با روش رمزگذاری حسابی فشرده می شود، به عنوان نوعی دنباله دو برابری با فاصله مشاهده می شود.