Степен на компресия. Компресиране на информация Системни изисквания на алгоритмите

Всяко вещество под въздействието на външно налягане може да бъде компресирано, тоест ще промени обема си до една или друга степен. И така, газовете с нарастващо налягане могат много значително да намалят обема си. Течността подлежи на промени в обема в по-малка степен, когато външното налягане се промени. Свиваемостта на твърдите вещества е още по-малка. Свиваемостта отразява зависимостта физични свойства вещество от разстоянието между неговите молекули (атоми). Компресируемостта се характеризира със степента на компресия (Същата: степен на компресируемост, степен на компресия, обемно еластично разширение)

ОПРЕДЕЛЕНИЕ

Степен на компресия - това физическо количество, равна на относителната промяна в обема, разделена на промяната в налягането, която причинява промяна в обема на веществото.

Съществуват различни обозначения за степента на компресия, най-често буквите или. Като формула степента на компресия се записва като:

където знакът минус отразява факта, че увеличаването на налягането води до намаляване на обема и обратно. В диференциална форма коефициентът се определя като:

Обемът е свързан с плътността на веществото, следователно за процеси на промяна на налягането при постоянна маса можете да напишете:

Стойността на степента на компресия зависи от естеството на веществото, неговата температура и налягане. В допълнение към всичко по-горе, коефициентът на компресия зависи от вида на процеса, при който налягането се променя. По този начин, при изотермичен процес, степента на компресия се различава от степента на компресия при адиабатен процес. Степента на изотермична компресия се определя като:

където е частичната производна при T \u003d const.

Съотношението на адиабатната компресия може да бъде намерено като:

където е частичната производна при постоянна ентропия (S). Що се отнася до твърдите вещества, изотермичните и адиабатните фактори на свиваемост се различават много малко и тази разлика често се пренебрегва.

Съществува връзка между коефициентите на адиабатична и изотермична свиваемост, което се отразява от уравнението:

където и са специфичната топлина при постоянен обем и налягане.

Единици за съотношение на компресия

Основната мерна единица SI за фактора на свиваемост е:

Примери за решаване на проблеми

ПРИМЕР 1

Принципи на компресиране на информация

Всеки метод за компресиране на информация се основава на модела на източника на информация или по-конкретно на модела на излишък. С други думи, за компресиране на информация се използва някаква информация за това какъв вид информация се компресира - без да има каквато и да е информация за информацията, не може да се правят абсолютно никакви предположения за това коя трансформация ще намали обема на съобщението. Тази информация се използва в процеса на компресия и декомпресия. Моделът на резервиране може също да бъде изграден или параметризиран по време на етапа на компресия. Методите, които позволяват промяна на модела на излишък на информация въз основа на входни данни, се наричат \u200b\u200bадаптивни. Неадаптивните обикновено са тясно специфични алгоритми, използвани за работа с добре дефинирани и непроменени характеристики. По-голямата част от достатъчно универсалните алгоритми са адаптивни в една или друга степен.

Всеки метод за компресиране на информация включва две преобразувания, обърнати един на друг:

  • преобразуване на компресия;
  • преобразуване на разширение.

Компресионната трансформация осигурява компресирано съобщение от оригинала. Декомпресията гарантира, че оригиналното съобщение (или неговото приближение) се получава от компресираното.

Всички методи за компресиране са разделени на два основни класа

  • без загуба,
  • със загуби.

Основната разлика между двете е, че компресията без загуби предоставя възможност за точно възстановяване на оригиналното съобщение. Компресирането на загуби ви позволява да получите само някакво приближение на оригиналното съобщение, т.е. различно от оригиналното, но в рамките на някои предварително определени грешки. Тези грешки трябва да бъдат определени от друг модел - моделът на приемника, който определя кои данни и с каква точност се представят на приемника и кои са приемливи за отхвърляне.

Характеристики на алгоритъма на компресия и приложимост

Степен на компресия

Степента на компресия е основната характеристика на алгоритъма за компресия, която изразява основното качество на приложението. Определя се като съотношението на размера на некомпресираните данни към компресираните данни, т.е.

к = С o / С ° С,

където к - степен на компресия, С o е размерът на некомпресираните данни и С c - размерът на компресирания. По този начин, колкото по-висок е коефициентът на компресия, толкова по-добър е алгоритъмът. Трябва да се отбележи:

  • ако к \u003d 1, тогава алгоритъмът не се компресира, тоест получава изходно съобщение с размер, равен на входното;
  • ако к < 1, то алгоритм порождает при сжатии сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

Ситуацията с к < 1 вполне возможна при сжатии. Невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что количество различных сообщений длиной н Модел: E: битът е точно 2 н ... Тогава броят на различни съобщения с дължина по-малка или равна на н (ако има поне едно съобщение с по-малка дължина) ще бъде по-малко от 2 н ... Това означава, че е невъзможно еднозначното съвпадение на всички оригинални съобщения със компресирано: или някои от оригиналните съобщения няма да имат компресирано представяне, или няколко оригинални съобщения ще съответстват на едно и също компресирано, което означава, че не могат да бъдат разграничени.

Съотношението на компресия може да бъде или постоянно съотношение (някои алгоритми за компресия за звук, изображения и т.н., например A-закон, μ-закон, ADPCM) или променливо. Във втория случай тя може да бъде определена или за конкретно съобщение, или оценена според някои критерии:

  • средно (обикновено за някои тестови набори от данни);
  • максимум (случаят с най-добра компресия);
  • минимална (компресия в най-лошия случай);

или някакъв друг. Съотношението на компресия със загуби в този случай силно зависи от допустимата грешка на компресия или нейната качество, който обикновено действа като параметър на алгоритъма.

Поносимост към загуби

Основният критерий за разграничаване на алгоритмите за компресия е наличието или липсата на загуби, описани по-горе. Като цяло алгоритмите за компресиране без загуби са универсални в смисъл, че могат да бъдат приложени към всякакъв вид данни, докато използването на компресиране на загуби трябва да бъде оправдано. Някои видове данни не понасят никакъв вид загуба:

  • символни данни, чиято промяна неизбежно води до промяна в тяхната семантика: програми и техните изходни кодове, двоични масиви и др .;
  • жизненоважни данни, промените в които могат да доведат до критични грешки: например, получени от медицинско измервателно оборудване или контролни устройства на самолети, космически кораби и др.
  • данни, многократно подложени на компресия и декомпресия: работещи графични, звукови, видео файлове.

Компресията със загуби обаче ви позволява да постигнете много по-високи коефициенти на компресия, като изхвърлите незначителна информация, която не се компресира добре. Така например, алгоритъмът за компресиране на аудио FLAC без загуби в повечето случаи ви позволява да компресирате аудио от 1,5-2,5 пъти, докато алгоритъмът на Vorbis със загуби, в зависимост от задайте параметър Качеството може да се компресира до 15 пъти, като същевременно се поддържа приемливо качество на звука.

Системни изисквания за алгоритъм

Различните алгоритми могат да изискват различно количество изчислителни системни ресурси, на които се изпълняват:

  • rAM (за междинни данни);
  • постоянна памет (за програмен код и константи);
  • време на процесора.

Като цяло тези изисквания зависят от сложността и „интелигентността“ на алгоритъма. Като обща тенденция, колкото по-добър и по-гъвкав е един алгоритъм, толкова повече изисквания той поставя към машината. Въпреки това, в конкретни случаи прости и компактни алгоритми могат да се представят по-добре. Системните изисквания определят техните потребителски качества: колкото по-малко взискателен е един алгоритъм, толкова по-проста и следователно, компактна, надеждна и евтина система може да работи.

Тъй като алгоритмите за компресия и декомпресия работят по двойки, съотношението системни изисквания на тях. Често, като усложните единия алгоритъм, можете значително да опростите другия. По този начин можем да имаме три възможности:

Алгоритъмът за компресия е много по-взискателен към ресурсите, отколкото алгоритъмът за декомпресия. Това е най-често срещаната връзка и е приложима главно в случаите, когато веднъж компресирани данни ще бъдат използвани няколко пъти. Примерите включват цифрови аудио и видео плейъри. Алгоритмите за компресия и декомпресия имат приблизително еднакви изисквания. Най-приемливата опция за комуникационна линия, когато компресията и декомпресията се извършват веднъж в двата й края. Например, това може да е телефония. Алгоритъмът за компресия е значително по-малко взискателен от алгоритъма за декомпресия. Доста екзотичен случай. Може да се използва в случаите, когато предавателят е ултра-преносимо устройство, където количеството налични ресурси е много критично, например космически кораб или голяма разпределена мрежа от сензори, или може да разопакова данни, необходими в много малък процент от случаите, например запис на камери за видеонаблюдение.

Вижте също


Фондация Уикимедия. 2010 г.

Вижте какво представлява „Компресиране на информация“ в други речници:

    компресиране на информация - консолидиране на информация - [Л. Г. Суменко. Английско-руският речник на информационните технологии. М.: ГП ЦНИИС, 2003.] Предмети информационни технологии като цяло Синоними намаляване на информация EN намаляване на информация ...

    КОМПРЕСИРАНЕ НА ИНФОРМАЦИЯ - (компресиране на данни) представяне на информация (данни) в по-малко бита от оригинала. Въз основа на премахване на излишъка. Разграничете С. и. без загуба на информация и със загуба на някаква информация, която е незначителна за решаваните задачи. Да се \u200b\u200b... ... Енциклопедичен речник по психология и педагогика

    адаптивна компресия без загуби - - [Л. Г. Суменко. Английско-руският речник на информационните технологии. Москва: GP TsNIIS, 2003.] Теми информационни технологии като цяло EN адаптивно компресиране на данни без загубиALDC ... Ръководство за технически преводач

    компресиране / компресиране на информация - - [Л. Г. Суменко. Английско-руският речник на информационните технологии. M.: GP TsNIIS, 2003.] Теми информационни технологии като цяло EN уплътняване ... Ръководство за технически преводач

    компресиране на цифрова информация - - [Л. Г. Суменко. Английско-руският речник на информационните технологии. M.: GP TsNIIS, 2003.] Теми на информационните технологии в общата компресия на EN ... Ръководство за технически преводач

    Звукът е проста вълна, а цифровият сигнал е представяне на тази вълна. Това се постига чрез съхраняване на амплитудата на аналоговия сигнал няколко пъти в рамките на една секунда. Например в обикновен компактдиск сигнал се запаметява 44100 пъти в ... ... Wikipedia

    Процес, който намалява количеството данни чрез намаляване на излишъка. Компресирането на данни включва уплътняване на парчета данни със стандартен размер. Прави се разлика между компресия със загуби и без загуби. На английски: Данни ... ... Финансов речник

    компресиране на информация от цифрова карта - Обработка на цифрова картографска информация с цел намаляване на нейния обем, включително премахване на излишък в рамките на необходимата точност на нейното представяне. [GOST 28441 99] Теми цифрова картография Обобщаващи термини методи и технологии ... ... Ръководство за технически преводач

Степента на компресия е основната характеристика на алгоритъма за компресия. Определя се като съотношение на обема на оригиналните некомпресирани данни към обема на компресирани данни, тоест :, където к- степен на компресия, С o е количеството на първоначалните данни, и С c - компресиран обем. По този начин, колкото по-висок е коефициентът на компресия, толкова по-ефективен е алгоритъмът. Трябва да се отбележи:

    ако к\u003d 1, тогава алгоритъмът не се компресира, тоест изходното съобщение е равно по обем на входното;

    ако к< 1, то алгоритм порождает сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

Ситуацията с к< 1 вполне возможна при сжатии. Принципиально невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что поскольку число различных сообщений длинойнбит е точно 2 н , броя на различните съобщения с дължина по-малка или равна на н(ако има поне едно съобщение с по-малка дължина) ще бъде по-малко от 2 н ... Това означава, че е невъзможно еднозначното съвпадение на всички оригинални съобщения със компресирано: или някои от оригиналните съобщения няма да имат компресирано представяне, или няколко оригинални съобщения ще съответстват на едно и също компресирано, което означава, че не могат да бъдат разграничени. Въпреки това, дори когато алгоритъмът за компресиране увеличава размера на оригиналните данни, е лесно да се гарантира, че размерът им не може да бъде гарантиран да се увеличи с повече от 1 бит. Тогава, дори в най-лошия случай, ще настъпи неравенството: Това се прави по следния начин: ако количеството на компресирани данни е по-малко от оригинала, върнете компресираните данни, като добавите „1“ към тях, в противен случай ние връщаме оригиналните данни чрез добавяне на "0" към тях). Пример за това как се прилага в псевдо-C ++ е показан по-долу:

bin_data_t __compess (bin_data_t input) // bin_data_t е тип данни, който означава произволна последователност от битове с променлива дължина

bin_data_t изход \u003d арка (вход); // функция bin_data_t arch (bin_data_t input) реализира някакъв алгоритъм за компресиране на данни

if (output.size ()

output.add_begin (1); // функция bin_data_t :: add_begin (bool __bit__) добавя малко, равно на __bit__ в началото на последователността

връщане на изхода; // връщаме компресираната последователност с добавено "1"

else // в противен случай (ако количеството компресирани данни е по-голямо или равно на оригиналния размер)

input.add_begin (0); // добавяме "0" към оригиналната последователност

връщане на вход; // връщаме оригиналния файл с добавен "0"

Степента на компресия може да бъде или постоянна (някои алгоритми за компресия за аудио, изображения и т.н., например A-закон, μ-закон, ADPCM, пресечено блоково кодиране) или променлива. Във втория случай тя може да бъде определена или за всяко конкретно съобщение, или оценена според някои критерии:

    средно (обикновено за някои тестови набори от данни);

    максимум (случаят с най-добра компресия);

    минимална (компресия в най-лошия случай);

или каквото и да е. Съотношението на компресия със загуби в този случай силно зависи от допустимата грешка на компресията или качество, който обикновено действа като параметър на алгоритъма. По принцип само техниките за компресиране на данни със загуби могат да осигурят постоянно съотношение на компресия.

Основният критерий за разграничаване на алгоритмите за компресия е наличието или липсата на загуби, описани по-горе. Като цяло алгоритмите за компресиране без загуби са универсални в смисъл, че тяхното използване със сигурност е възможно за всеки тип данни, докато възможността за използване на компресиране със загуби трябва да бъде оправдана. За някои видове данни изкривяването по принцип не е приемливо. Между тях

    символни данни, чиято промяна неизбежно води до промяна в тяхната семантика: програми и техните изходни кодове, двоични масиви и др .;

    жизненоважни данни, промените в които могат да доведат до критични грешки: например, получени от медицинско измервателно оборудване или контролни устройства на самолети, космически кораби и др .;

    междинни данни, многократно подложени на компресия и възстановяване при многоетапна обработка на графични, аудио и видео данни.

Осем епизода на сезон все още не са достатъчни за подобен сериал, историята нямаше време наистина да се развие, но все пак се чудя какво ще се случи по-нататък, което е добре. Освен това вторият сезон е потвърден. Последният епизод обаче беше доста скучен.

Екипът на Paid Piper се възползва от натъртванията на Ehrlich по време на презентацията. Първо, ръководството на конференцията, уплашено от евентуален съдебен процес (извиканият адвокат-китарист), предложи на Пайд Пайпър да отиде в следващия кръг без никаква конкуренция, и второ, Ерлих също им нокаутира апартамент в хотела.


Ерлих, макар и много задушен, все пак е полезен. Екипът трябва да има такъв човек - арогантен като трактор, надут, самодоволен оптимист, който винаги има идиотска идея в готовност и може да удари гадно малко момче. И не всеки има духа да направи това.

Изглежда, че всичко е наред, но стартъп лидерите отидоха да видят презентацията на Белсън и той представи не само мащабен проект с куп различна функционалност, тъй като Хули има много услуги, които могат да бъдат интегрирани, но и известен Вайсман коефициент, т.е. коефициент на компресия, той има същото като Payde Piper. Weisman Factor е създаден специално за шоуто от двама консултанти от Станфорд, Weisman и Misra.

Като цяло се оказва, че неприятните конкуренти въпреки това са разрушили алгоритъма на Ричард чрез обратен инженеринг. Платената Пайпър няма какво да покаже утре.

Ерлих се опитал да троли Белсон, обвинявайки го във всички смъртни грехове от алкохолизъм до сексуален тормоз, Джаред полудял, а Динеш и Гилфойл се опитали да си намерят нова работа.

До вечерта, когато Джаред беше освободен от полицията, всички се събраха в хотела и започнаха да мислят какво да направят. Никой не иска да се подлага на публична екзекуция утре, освен Ерлих, разбира се, който вярва, че публичните екзекуции са много популярни и като цяло всичко това е шоубизнес. Така или иначе, той ще спечели, дори ако той лично трябва да дръпне всеки пич във фитнеса. Тази идея беше приета с гръм и трясък, защото, както писах наскоро, програмистите могат да бъдат увлечени от всяка задача и не ги интересува дали е злонамерена или глупава. Докато изчисляваха при какви условия Ерлих ще даде всички в най-кратки срокове, на Ричард му хрумна идея.

Не, това не е идеята на Ричард,

Екипът на Payde Peiper решава проблема на Ерлих.

Както се досещате, всичко завърши добре и Пейд Пайпър получи 50 хиляди долара. И Питър Грегъри им каза, че не е разстроен.

Най-вече съжалявам, че няма да видим отново Питър Грегъри. Това беше най-добрият герой някога. Не знам дали съдия Пайд Пайпър ще намери друг инвеститор също толкова луд.





Задачата Пуснете куба навън твърда материя с равна страна изпитва всеобщ натиск. След това страната на куба се намалява с. Изразете степента на компресия на куб, ако натискът, упражняван върху него, се промени по отношение на първоначалния с
Решение Нека направим рисунка.


В съответствие с дефиницията на степента на компресия, ние пишем:

Тъй като промяната в страната на куба, причинена от натиск, е равна, тогава обемът на куба след компресия () може да бъде представен като:

Следователно записваме относителната промяна в обема като:

Количеството е малко; следователно предполагаме, че са равни на нула, тогава можем да приемем, че:

Замествайки относителната промяна на обема от (1.4) във формула (1.1), имаме:

Отговор