Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Арифметическое кодирование

3.

2.

1.

Существует множество определений семьи в социологии. Наиболее популярно понимание семьикак объединения людей, основанного на кровном родстве, браке или усыновлении, которых связывает общность быта и (или) взаимная ответственность за воспитание детей. Семья включает в себя разнородные компоненты, связанные с физиологическими процессами, с психологией взаимоотношений, с нормами и ценностями культуры, с демографической динамикой, с экономическими условиями жизни, с государством,с политикой, с историей. Поэтому в социологии семья рассматривается как социальный институт, находящийся во взаимосвязи с другими институтами. С другой стороны, социология рассматривает семью как малую группу, как сравнительно автономную социальную систему со специфическими ценностями, установками, ролями. Следовательно, в социологии с её подходом изучения социального мира через взаимосвязь личного и общественного семья выступает в качестве посредника между индивидом и обществом.

Первоначальную основу семейных отношений составляет брак. Брак- это исторически меняющаяся форма отношений между мужчиной и женщиной, посредством которого общество упорядочивает и санкционирует их половую жизнь и устанавливает их супружеские права и обязанности. Можно сказать, что брак этосовокупность норм, регулирующих отношения супругов друг к другу, их взаимные права и обязанности, а также их отношения к детям и совместному имуществу. Формы брака, используемые обществами, весьма разнообразны.

Иногда общество ограничивает выбор партнера в браке тем, что разрешает выбирать его только вне определенной узкой группы. Эта форма брака называется экзогамией. В нашем обществе это ограничение применяется для избежания кровосмесительных связей. Так, правовые нормы запрещают нам жениться на сестрах, двоюродных сестрах и некоторых других близких родственниках. Во многих обществах запрещено выбирать супруга внутри своего клана, деревни, а иногда даже племени.

В обществах есть и противоположные требования, когда выбор партнера в браке возможен лишь в пределах своей группы. Такой вид брака называется эндогамией. В современных обществах широко распространена расовая эндогамия или эндогамия сословная. Эндогамия характерна для закрытых групп типа каст, где путем эндогамных браков поддерживается их закрытость.

По количеству партнеров в браке различают моногамию и полигамию. Моногамия, т.е. брак одного мужчины с одной женщиной (в одно время) наиболее привычный для современных европейских обществ. Но в развитии большинства обществ практиковалась полигамия т.е. формы брака, при которых существует более одного партнер в супружестве. Возможны три формы полигамии. Во-первых, групповой брак, при котором несколько мужчин и несколько женщин находятся одновременно между собой в брачных отношениях. Очень редкой формой полигамного брака является полиандрия, когда женщина имеет несколько мужей. Наиболее распространенной формой полигамного брака является полигиния, или многоженство. Как отмечает С.С. Фролов, мнение представителей современной Европы и Северной Америки о многоженстве в значительной степени этноцентрично. «Многие в нашем обществе, например, считают, что культивирование такой формы брака ведет к деградации женщины, к превращению ее в рабыню. Это считается неслыханной жестокостью и вызывает возмущение (возможно, это чувство навеяно некоторыми фильмами о восточных владыках). Однако факты говорят об обратном. Трудно сказать, в каком обществе женщина имеет более высокий статус - в обществе с полигамной или моногамной формой брака. Во-первых, даже в обществах, где широко распространена полигамная семья, браки обычно являются моногамными. Только наиболее преуспевающие люди с высоким статусом могут позволить себе иметь более одной жены. Во-вторых, обязанности между женами четко распределены, а первая жена очень часто оказывает решающее влияние на поведение мужа. Жизнь всех жен в достаточной степени обеспечена, и они, как правило, не желают для себя другой доли».

Кроме того по типу властных отношений различают патриархальный брак(власть у мужа), матриархальный брак (власть у жены) и эгалитарный брак (власть у обоих супругов). В современных европейских обществах преобладает эгалитарный брак.

К сожалению, брак не всегда бывает успешным и для исправления ситуации в современных обществах предусмотрен развод. Но, в то же время, обществу невыгодна любая нестабильность института семьи. Поэтому практически в каждом обществе существуют определенные правила и законы, затрудняющие развод или дающие привилегии одной из сторон. Большинство обществ стремится сделать развод весьма болезненной операцией. Особенно это касается тех обществ, где партнер по браку выбирается родителями. Очень часто в тех обществах, где большое значение имеет родственная семья, воспитание ребенка в случае развода частично берут на себя братья, сестры, дяди или тети. Как отмечает С.С. Фролов, «в нашем обществе с сильным акцентом на индивидуальную любовь при выборе партнера и при ярко выраженном приоритете нуклеарной семьи развод чаще всего влечет за собой трагические последствия как для детей, так и для взрослых».

Как социальный институт семья выполняет следующие функции в обществе

Функция сексуального регулирования состоит в том, что общество упорядочивает, направляет и регулирует естественные сексуальные потребности людей. Вместе с тем практически каждое общество имеет альтернативные пути удовлетворения сексуальных потребностей. Несмотря на то, что существуют определенные нормы супружеской верности, большинство обществ легко прощает нарушения этих норм.

Репродуктивная функция состоит в воспроизводстве новых поколений членов общества. При этом важно, чтобы дети были физически и психически здоровыми и впоследствии имели способности к обучению и социализации. Вместе с тем важным условием существования общества является регулирование рождаемости, избежание демографических спадов или, наоборот, взрывов. Семья - это основной институт, ответственный за воспроизводство новых членов общества. Другие пути неэффективны и, как правило, социально не одобряются. Поэтому появление ребенка вне института семьи обычно вызывает жалость, сострадание или осуждение.

Функция социализации состоит в том, что семья помогает ребенку усвоить нормы того общества, в котором он родился. Именно в семье закладываются основы формирования личности.С.С. Фролов отмечает, что «многие мыслители, начиная с Платона, говорили об обобществлении воспитания детей, однако все попытки социализации вне института семьи оказывались неудачными. Например, после революции в Советском Союзе были созданы специализированные программы общественного воспита-ния детей, с тем чтобы женщины могли участвовать в трудовом процессе. Однако этот эксперимент не получил широкого распространения. В настоящее время в нашем обществе пытаются совместить усилия образовательных институтов и института семьи для успешной социализации детей, но семья по-прежнему удерживает первенство в социали-зации индивидов. В современном Израиле дети в кибуцах (кооперативных фермах) воспитываются в общих коттеджах и находятся под присмотром специальных воспитателей, в то время как их матери выполняют различные работы в тех же кибуцах. Родители обычно проводят с детьми около двух часов в день и весь день в субботу. По мнению некоторых обозревателей, такое воспитание проходит успешно, хотя у него существует много противников. Правда, так воспитывается лишь незначительное число детей Израиля. Эти редкие исключения, пожалуй, только подчеркивают первосте-пенное значение семьи для социализации детей. Семья для ребенка является первичной группой, именно с нее начинается развитие личности. Несмотря на появление позднее других первичных групп, у личности всегда остаются привитые в раннем детстве основные образцы поведения. Главным способом семейной социализации является копирование детьми моделей поведения взрослых членов семьи. Трудности социализации возникают в том случае, если ребенок ориентируется на неудачные образцы поведения родителей, которые приходят в противоречие с тем, что ребенок видит в других семьях. При этом часто возникает неудовлетворенность действиями матери или отца, и ребенок начинает искать у других личностей, в других первичных группах приемлемые модели поведения».

Эмоциональная функция состоит в удовлетворении потребности человека в интимном общении. «Психиатры считают, что основной причиной эмоциональных и поведен-ческих трудностей в общении и даже физических болезней является отсутствие любви, тепла и полноценного интимного общения в первич-ной группе, и прежде всего в семье. Огромное количество данных свидетельствует о том, что серьезные преступления и другие негативные отклонения намного чаще происходят у тех, кто в детстве был лишен заботы в семье, что дети, воспитанные в детских домах без любви матери и отца, гораздо в большей степени подвержены заболеваниям, психическим расстройствам, повышенной смертности, отклоня-ющемуся поведению. Доказано; что потребность людей в близком доверительном общении, интимности, эмоциональном выражении чувств близким людям является жизненно необходимым элементом существования. Благодаря своей структуре и качествам, семья служит самым важным источником эмоционального удовлетворения. Отношения родства и супружества предоставляют людям такую возможность».

Статусная функция состоит в том, что каждый человек, воспитанный в семье, получает в качестве наследия некоторые статусы, близкие к статусам членов его семьи. «Это прежде всего относится к таким важным для личности статусам, как национальность, место в городской или сельской культуре и др. В классовых обществах принадлежность семьи к определенному социальному слою предоставляет ребенку возможности и вознаграждения, характерные для этого слоя, и в подавляющем большинстве случаев определяют его дальнейшую жизнь. Конечно, классовый статус может изменяться благодаря усилиям человека и благоприятным обстоятельствам, но начало будущего нужно искать в семье этого человека. Семья обязательно должна осуществлять ролевую подготовку ребенка к статусам, близким к статусам его родителей и родственников, прививая ему соответствующие интересы, ценности и образ жизни».

Защитная функция состоит в том, что семья призвана защитить человека от перегрузок, предоставляя ему возможность отдыха после трудового дня. Кроме того институт семьи осуществляет в разной степени физическую, экономическую и психологическую защиту своих членов. Обычно, задевая интересы и безопасность любой личности, мы задеваем и его семью, члены которой защищают своего близкого или мстят за него

Экономическая функция состоит в ведении членами семьи общего хозяйства, когда все они работают, как одна команда, способствует формированию крепких экономических связей между ними. Нормы семейной жизни включают обязательную помощь и поддержку каждого члена семьи в случае, если у него возникают экономические трудности.

Учитывая важность функций, которые призвана выполнять семья, государство птается создать условия для наиболее эффективного их выполнения. Такая деятельность называется семейной политикой государства.Государственная семейная политика система государственных мер по обеспечению социальной безопасности семьи, по созданию условий для реализации ее социально-значимых функций

 

Весьма разнообразны формы семьи как малой группы.

По этапам жизненного цикла различают молодую (до 10 лет семейного стажа) и зрелую семью.

По критерию социального статуса семьи бывают гомогенные (супруги из одной социальной страты-например, студенческая семья) и гетерогенными (из разных классов, каст, слоёв), и по национально- этническому критерию - браки межнациональные или внутринациональные.

В современном урбанизированном обществе основным типом семьи стали нуклеарные семьи, состоящие из двух поколений- родители, дети. Нуклеарная семья называется репродуктивной (если в ней остались несовершеннолетние дети) или ориентационной (вышли взрослые дети и создали свои репродуктивные семьи). Репродуктивная семья классифицируется по наличию детей: детная, бездетная и семейный детский дом. В свою очередь детная семья бывает 1детной, 2хдетной и многодетной.Иногда нуклеарные семьи называют супружескими.Но нуклеарная семья может быть и без одного из супругов (неполная отцовская или неполная материнская семья). В неполной материнской семье различают семью одинокой матери (когда ребенок рожден вне брака), семью матери-одиночки (когда ребенок рожден в браке) и семью солдата срочной службы. Расширенная семья состоит из ряда супружеских пар (тесть-тёща, свёкор-свекровь, братья-сёстры, их супруги-дети). Это кровнородственные семьи. Полная расширенная семья - это когда никто из мужчин разных поколений не покидает пределы большой семьи. Такие семьи характерны для Китая.

Расширенная или родственная семья основывается не только на супружеских отношениях двух людей, но и на кровном родстве большого числа родственников. Значение нуклеарной и родственной семей для общества неодинаково. Так, хотя в нашем обществе существует родственная семья для семейных сборов, торжеств и других церемониальных целей, важнейшие социальные функции выполняются нуклеарной семьей. Это выражается во многих элементах культуры, например когда законы и нравственные нормы требуют, чтобы родители поддерживали своих детей, но ничего не говорят об обязанностях по отношению к братьям или сестрам, дядям или тетям.

Если нуклеарная семья имеет в основе супружескую пару, то основой родственной семьи являются братья и сестры в окружении их мужей, жен и детей. В большинстве родственных семей женатый мужчина (или замужняя женщина) в первую очередь остается привязанным к родительской семье и наполовину входит в семью жены (или мужа). Это имеет важные последствия. Человек в основном связан обязательствами и ответственностью с той семьей, в которой он родился, но не с той, с которой он связан узами брака. Так, женщина может не зависеть от своего мужа, но полностью быть в зависимости от своих братьев и сестер в деле защиты и воспитания детей.

В расширенных семьях ответственность и забота распределяются среди достаточно большого числа членов семьи. Создается ситуация, когда ребенок тесно связан не только с родителями, но и со своими дядями и тетями. Он окружен взрослыми, которые в некоторых случаях готовы взять на себя обязанности родителей. Таким образом, у ребенка в родственной семье появляется большая возможность для общения и социализации к большему числу ролей. Такая семья хорошо защищает ребенка от любых жизненных невзгод. В случае смерти матери или ухода ее из семьи ее роль в известной степени могут играть родственники.

В реальной жизни родственная семья далеко не всегда возможна. Это связано, например, с тем, что место рождения и место вступления в брак могут быть значительно удалены друг от друга. Кроме того, родственники могут быть фактически или социально отдалены от супружеской пары, и в этом случае семья остается в чистом виде нуклеарной. Современное общество характерно ослаблением многих родственных связей и, следовательно, преобладанием нуклеарной семьи над родственной.

Процесс формирования семьи как малой группы обусловлен ценностно-нормативными регуляторами (сексуальные стандарты поведения, нормы выбора брачного партнёра, отношения между родителями и детьми).На ранних стадиях общества отношения полов и поколений регулировались племенно-родовыми обычаями, базировались на религиозно-нравственных представлениях. С возникновением государства регулирование семейной жизни приобрело правовой характер.

Метод Хаффмана является простым, но эффективным только в том случае, когда вероятности появления символов равны числам , где - любое целое положительное число. Это связано с тем, что код Хаффмана присваивает каждому символу алфавита код с целым числом бит. Вместе с тем в теории информации известно, что, например, при вероятности появления символа равной 0,4, ему в идеале следует поставить код длиной бит. Понятно, что при построении кодов Хаффмана нельзя задать длину кода в 1,32 бита, а только лишь в 1 или 2 бита, что приведет в результате к ухудшению сжатия данных. Арифметическое кодирование решает эту проблему путем присвоения кода всему, обычно, большому передаваемому файлу вместо кодирования отдельных символов.

Идею арифметического кодирования лучше всего рассмотреть на простом примере. Предположим, что необходимо закодировать три символа входного потока, для определенности – это строка SWISS_MISS с заданными частотами появления символов: S – 0,5, W – 0,1, I – 0,2, M – 0,1 и _ - 0,1. В арифметическом кодере каждый символ представляется интервалом в диапазоне чисел [0, 1) в соответствии с частотой его появления. В данном примере, для символов нашего алфавита получим следующие наборы интервалов:

Рис. 2. Распределение интервалов представление символов

Процесс кодирования начинается со считывания первого символа входного потока и присвоения ему интервала из начального диапазона [0, 1). В данном случае для первого символа S получаем диапазон [0,5, 1). Затем, считывается второй символ – W, которому соответствует диапазон [0,4, 0,5). Но исходный диапазон [0, 1) уже сократился до [0,5, 1), поэтому символ W необходимо представить в этом новом диапазоне. Для этого достаточно вычислить новые нижнюю и верхнюю границы. Значение 0,4 будет соответствовать значению 0,7, а значение 0,5 – значению 0,75 (рис. 3).

Рис. 3. Схема представления новых границ символа W

Данные границы можно вычислить по формулам:

NewHigh = OldLow + (OldHigh-OldLow)*HighRange(X),

NewLow = OldLow + (OldHigh-OldLow)*LowRange(X),

где OldLow – нижняя граница интервала, в котором представляется текущий символ; OldHigh – верхняя граница интервала; HighRange(X) – исходная верхняя граница кодируемого символа; LowRange(X) – исходная нижняя граница кодируемого символа. Применяя данные формулы к вычислению границ символа W, получаем:

OldLow = 0,5, OldHigh = 1,

HighRange(W) = 0,5, LowRange(W) = 0,4,

NewHigh = 0,5 + (1-0,5)*0,5 = 0,75,

NewLow = 0,5 + (1-0,5)*0,4 = 0,7.

Аналогичным образом выполняется кодирование символа I, для которого новые интервалы также можно вычислить по приведенной формуле:

OldLow = 0,7, OldHigh = 0,75,

HighRange(I) = 0,4, LowRange(I) = 0,2,

NewHigh = 0,7 + (0,75-0,7)*0,4 = 0,72,

NewLow = 0,7 + (0,75-0,7)*0,2 = 0,71.

Ниже, в табл. 1 представлены значения границ при кодировании строки SWISS_MISS.

Символ   Границы
S L H 0.0+(1.0-0.0)*0.5 = 0.5 0.0+(1.0-0.0)*1.0 = 1.0
W L H 0.5+(1.0-0.5)*0.4=0.70 0.5+(1.0-0.5)*0.5=0.75
I L H 0.7+(0.75-0.7)*0.2=0.71 0.7+(0.75-0.7)*0.4=0.72
S L H 0.71+(0.72-0.71)*0.5=0.715 0.71+(0.72-0.71)*1.0=0.72
S L H 0.715+(0.72-0.715)*0.5=0.7175 0.715+(0.72-0.715)*1.0=0.72
_ L H 0.7175+(0.72-0.7175)*0.0=0.7175 0.7175+(0.72-0.7175)*0.1=0.71775
M L H 0.7175+(0.71775-0.7175)*0.1=0.717525 0.7175+(0.71775-0.7175)*0.2=0.717550
I L H 0.717525+(0.717550-0.717525)*0.4=0.717530 0.717525+(0.717550-0.717525)*0.5=0.717535
S L H 0.717530+(0.717535-0.717530)*0.5=0.7175325 0.717530+(0.717535-0.717530)*1.0=0.717535
S L H 0.7175325+(0.717535-0.7175325)*0.5=0.71753375 0.7175325+(0.717535-0.7175325)*1.0=0.717535

Конечный выходной код – это последнее значение переменной Low, равное 0.71753375, из которого следует взять лишь восемь цифр 71753375 для записи в файл.

Теперь рассмотрим возможность восстановления закодированной информации по восьми цифрам 71753375 и известным интервалам символов. Первая из восьми цифр – это 7, т.е. 0,7. Она принадлежит одному из заданных интервалов [0.5, 1), который соответствует символу S. Поэтому первый декодированный символ – это S. Теперь вернемся к рис. 3 и заметим, что второй символ был представлен в интервале символа S, т.е. [0.5, 1). Но для удобства декодирования его лучше представить в исходном интервале [0, 1). Для этого достаточно интервал [0.5, 1) увеличить до начального, т.е. умножить на два и границы сдвинуть на величину 0.5*2=1 (рис. 4).

Рис. 4. Схема восстановления исходных интервалов символа W

Применяя данную схему к числу 0.71753375, получаем нижнюю границу следующего закодированного символа как будто он был начальным при кодировании:

0.71753375*2-1 = 0.4350675.

Полученное значение принадлежит диапазону [0.4, 0.5), который соответствует символу W. Затем, также полученное число 0.4350675 следует нормировать, что в общем случае выполняется по формуле:

Code = (Code-LowRange(X))/(HighRange(X)-LowRange(X)),

где Code – текущее значение кода. Например, пользуясь этой формулой применительно к коду 0.71753375, получаем значение

Code = (0.71753375-0.5)/(1-0.5)= 0.4350675,

которое в точности совпадает с предыдущей схемой вычисления. Аналогичным образом выполняется декодирование всех символов строки. В табл. 2 представлены коды, вычисляемые при декодировании символов. Здесь можно заметить, что процесс декодирования в данном случае можно остановить, если значение кода равно нулю.

Таблица 2. Вычисление кодов при декодировании

Символ Code-Low Область
S 0.71753375 – 0.5 = 0.21753375 / 0.5 = 0.4350675
W 0.4350675 – 0.4 = 0.0350675 / 0.1 = 0.350675
I 0.350675 – 0.2 = 0.150675 / 0.2 = 0.753375
S 0.753375 – 0.5 = 0.253375 / 0.5 = 0.50675
S 0.50675 – 0.5 = 0.00675 / 0.5 = 0.0135
_ 0.0135 – 0 = 0.0135 / 0.1 = 0.135
M 0.135 – 0.1 = 0.035 / 0.1 = 0.35
I 0.35 – 0.2 = 0.15 / 0.2 = 0.75
S 0.75 – 0.5 = 0.25 / 0.5 = 0.5
S 0.5 – 0.5 = 0 / 0.5 = 0

Однако это не всегда так. Бывают случаи, когда ноль содержит в себе код очередного символа, а не означает конец процедуры декодирования. Здесь возникает проблема завершения декодирования. Для этого используют специальный символ eof, говорящий о том, что он является последним и декодирование последовательности можно завершить. При этом частота этого символа очевидно должна быть маленькой по сравнению с частотой символов алфавита последовательности, например, [0,999999 1).

Описанный выше процесс кодирования невозможно реализовать на практике, т.к. в нем предполагается, что в переменных Low и High хранятся числа с неограниченной точностью. По существу, результат кодирования – это вещественное число с очень большой точностью. Например, файл объемом 1Мб будет сжиматься, скажем, до 500 КБ, в котором будет записано одно число. Арифметические операции с такими числами реализовать сложно и долго. Поэтому любая практическая реализация арифметического кодера должна основываться на операциях с целыми числами, которые не должны быть слишком длинными. Рассмотрим такую реализацию, в которой переменные Low и High будут целыми числами длиной 16 или 32 бита. Эти переменные будут хранить верхние и нижние концы текущего подинтервала, но мы не будем им позволять неограниченно расти. Анализ табл. 1 показывает, что как только самые левые цифры переменных Low и High становятся одинаковыми, они уже не меняются в дальнейшем. Следовательно, эти цифры можно выдвинуть за скобки и работать с оставшейся дробной частью. После сдвига цифр мы будем справа дописывать 0 в переменную Low, а в переменную High – цифру 9. Для того, чтобы лучше понять весь процесс, можно представлять себе эти переменные как левый конец бесконечно длинного числа. Число Low имеет вид xxxx00… а число High = yyyy99…

Проблема состоит в том, что переменная High в начале должна равняться 1, однако мы интерпретируем Low и High как десятичные дроби меньшие 1. Решение заключается в присвоении переменной High значения 9999…, которое соответствует бесконечной дроби 0,9999…, равной 1.

Как это все работает? Закодируем этим способом ту же строку SWISS_MISS. Первая буква S определена диапазоном [0,5 1) и формально границы равны

L=0.0+(1.0-0.0)*0.5=0.5

H=0.0+(1.0-0.0)*1.0=1.0

но в нашем случае данные формулы следует преобразовать, чтобы переменные Low и High были целыми. Поэтому запишем их в таком виде:

Low=0+(10000-0)*0.5=5000

High=0+(10000-0)*1.0=10000

но по условию граница High является открытой, т.е. не включает число 10000, поэтому от конечного значения нужно отнять 1:

High=0+(10000-0)*1.0-1=9999

Таким образом, получили формулы для вычисления целочисленных границ Low и High, и процесс кодирования будет выглядеть так (табл. 3).

Табл. 3. Кодирование сообщения сдвигами

             
S L= H= 0+(10000-0)*0.5 0+(10000-0)*1.0-1 = =      
W L= H= 5000+(10000-5000)*0.4 5000+(10000-5000)*0.5 = =      
I L= H= 0+(5000-0)*0.2 0+(5000-0)*0.4-1 = =      
S L= H= 0+(10000-0)*0.5 0+(10000-0)*1.0-1 = =      
S L= H= 5000+(10000-5000)*0.5 5000+(10000-5000)*1.0-1 = =      
_ L= H= 7500+(10000-7500)*0.0 7500+(10000-7500)*0.1-1 = =      
M L= H= 5000+(7500-5000)*0.1 5000+(7500-5000)*0.2 = =      
I L= H= 2500+(5000-2500)*0.2 2500+(5000-2500)*0.4-1 = =      
S L= H= 0+(5000-0)*0.5 0+(5000-0)*1.0-1 = =      
S L= H= 2500+(5000-2500)*0.5 2500+(5000-2500)*1.0-1 = =      

На последнем шаге операции кодирования записываются все 4 цифры и полученная выходная последовательность имеет вид: 717533750.

Декодер работает в обратном порядке. В начале переменным Low и High присваиваются значения 0000 и 9999 соответственно, а переменной Code значение 7175. На основе этой информации требуется определить первый закодированный символ. Для этого число переменной Code нужно корректно представить в интервале от 0 до 1. В самом начале интервал такой и есть, поэтому частота символа, соответствующая значению Code будет равна

index = 7175/10000=0,7175.

Эта частота попадает в диапазон [0,5 1) и соответствует символу S. Теперь границы Low и High пересчитываются, так как это делалось в кодере и принимают значения 5000 и 9999 соответственно. Так как значащие цифры этих переменных отличаются, то переменная Code остается прежней и величина

index = (7175-5000)/(10000-5000)=0,4350.

Это значение попадает в диапазон [0,4 0,5) и соответствует символу W. После этого величины Low и High принимают значения 7000 и 7499 и после отбрасывания значащей цифры переходят в 0000 и 4999 соответственно, а переменная Code преобразуется в 1753. Таким образом раскодируется вся последовательность.

На практике обычно значение index принимает целочисленные значения, которые вычисляются по формуле

index = ((Code-Low)*10-1)/(High-Low+1)

и округляют до ближайшего целого.

Может показаться, что приведенный выше пример не производит никакого сжатия. Для того чтобы выяснить степень сжатия результаты кодирования нужно перевести в двоичную форму. Так как из конечного интервала

[0.71753375 0.717535)

можно выбрать любое число, выберем наименьшее для хранения – это 717534, которому соответствует битовое представление 10101111001011011110 и составляет 20 бит. И строка из 10 символов сжимается в 20 бит. Хорошее ли это сжатие? Для этого нужно найти энтропию кодируемой последовательности и она будет равна

бит/сим

и составит величину

бит,

что в целых значениях равно 20 бит. Следовательно, полученный код достиг минимально возможного значения и является оптимальным. В общем случае можно показать, что при достаточно большой последовательности арифметический кодер всегда приводит к оптимальным результатам сжатия, т.е. является наилучшим среди всех энтропийных кодеров.

 

 

<== предыдущая лекция | следующая лекция ==>
Выбор первичного ключа | Лежкость и технология хранения яблок
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 1393; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.