Научная статья на тему 'РОЗРОБКА ТА ДОСЛіДЖЕННЯ МЕТОДіВ АДАПТИВНОГО УЩіЛЬНЕННЯ ДАНИХ НА ОСНОВі ЛіНіЙНОї ФОРМИФіБОНАЧЧі'

РОЗРОБКА ТА ДОСЛіДЖЕННЯ МЕТОДіВ АДАПТИВНОГО УЩіЛЬНЕННЯ ДАНИХ НА ОСНОВі ЛіНіЙНОї ФОРМИФіБОНАЧЧі Текст научной статьи по специальности «Математика»

CC BY
104
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АДАПТИВНОЕ СЖАТИЕ / ЧИСЛОВАЯ МОДЕЛЬ / ИСТОЧНИК ДАННЫХ / ЛИНЕЙНАЯ ФОРМА ФИБОНАЧЧИ / КОЭФФИЦИЕНТ СЖАТИЯ / ADAPTIVE COMPRESSION / NUMERICAL MODEL / DATASOURCE / LINEAR FIBONACCI FORM / COMPRESSION RATIO

Аннотация научной статьи по математике, автор научной работы — Лужецький В. А., Савицька Л. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development and research of adaptive data compression methods based on linear fibonacci form

A fundamentally new data compression approach, which is based on the optimizing properties of Fibonacci numbers lies in the fact that the figures are considered as positive whole numbers and presented by a linear Fibonacci form, was investigated. Formation features of the numerical data source model were examined. The effect of the length of data blocks of the compressed file on the compression ratio was studied. Changing the number of bytes in the block provides the formation of different data source models. Ability to change the data source model allows to choose a model that provides the greatest compression ratio for a given encoding rule. Analysis of the results has shown that the effect of the data block length on the compression ratio is different for different file types. For some types, the greatest compression ratio is achieved when the block length is 100 bytes, and the ratio decreases with the increased length. For other file types, the effect of the data block length has a “wave” pattern (the ratio repeatedlyincreases and decreases with the increased length), and for certain types of files, the dependence of the transformed data on the data source model used is negligible. Low compression ratios and no compression for certain file types are caused by the fact that the data modeling used does not ensure the formation of numbers that are compactly presented by the linear Fibonacci form. To eliminate this shortcoming, two adaptive data compression methods, based on the linear Fibonacci form, which involve using a set of numerical data source models were proposed and investigated. These models are based on the maximum value of the numerical equivalents of the ASCII codes of bytes that make up the block. Adaptation enhances the compression ratio compared to nonadaptive compression method based on the linear Fibonacci form.

Текст научной работы на тему «РОЗРОБКА ТА ДОСЛіДЖЕННЯ МЕТОДіВ АДАПТИВНОГО УЩіЛЬНЕННЯ ДАНИХ НА ОСНОВі ЛіНіЙНОї ФОРМИФіБОНАЧЧі»

-□ □-

Розглянуто особливостi формування числовог моделi джерела даних. Дослиджено вплив на коефщент ущтьнення довжини блотв даних, на як розбиваеться ущть-нюваний файл. Запропоновано i дослиджено два методи адаптивного ущшьнення даних на основi лтшног форми Фiбоначчi, як передбачають використання набору число-вих моделей джерела даних

Ключовi слова: адаптивне ущтьнення, числова модель, джерело даних, лтшна

форма Фiбоначчi,коефiцiент ущтьнення □-□

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

Ключевые слова: адаптивное сжатие, числовая модель, источник данных, линейная форма Фибоначчи, коэффициент сжатия

-□ □-

УДК 519.6: 621.391

|DOI: 10.15587/1729-4061.2015.37026|

РОЗРОБКА ТА ДОСЛ1ДЖЕННЯ МЕТОД1В АДАПТИВНОГО УЩ1ЛЬНЕННЯ ДАНИХ НА ОСНОВ1 Л1Н1ЙНО1 ФОРМИ Ф1БОНАЧЧ1

В. А. Лужецький

Доктор техшчних наук, професор, завщувач кафедри Кафедра захисту шформацп* E-mail: lva_zi@mail.ru Л. А. Савицька Асистент

Кафедра обчислювальноТ техшки* E-mail: Lyudik0304@gmail.com *Вшницький нацюнальний техшчний уыверситет Хмельницьке шосе, 95, м. Вшниця, УкраТна, 21021

1. Вступ

1нформацшний вибух останнiх рокiв привiв до знач-ного зростання обсягiв шформацп, що передаеться та оброблюеться в комп'ютерних системах i мережах. Це вимагае зб^ьшення обсягiв пам'ятi та канальних ре-сурсiв. У свою чергу, структурне або апаратне зб^ьшен-ня призводить до зменшення продуктивносп системи. Одним iз пiдходiв щодо подолання цiеi проблеми е ви-користання засобiв ущiльнення iнформацii (компре-сорiв i архiваторiв). Ущiльнення шформацп скорочуе обсяг пам'яп, що необхвдна для ii зберiгання, i юль-кiсть часу, який потрiбен для и передавання каналом з фжсованою пропускною здатнiстю. За останне деся-тилiття продуктивнiсть процесорiв зросла експонен-цiйно порiвняно зi швидкiстю доступу до пристроiв пам'ятi, що е Грунтовною причиною застосовувати ущiльнення шформацп для зб^ьшення загальноi про-дуктивност системи.

1снуе кiлька пiдходiв до ушдльнення iнформацii, що породжують щлу низку методiв ущiльнення [1-6], для реалiзацii яких, у свою чергу, використовуеться величезна юльюсть алгоритмiв. Одш з них мають нау-ковий характер, а iншi знайшли практичну реалiзацiю у виглядi компресорiв i архiваторiв.

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

для певних титв сигналiв i даних з точок зору степеня ушдльнення, програмно! й апаратно! реалiзацii.

2. Аналiз лiтературних даних та постановка проблеми

Одним з найважливших положень теорп ушдль-нення шформацп е висловлена в [7] щея подiлу про-цесу ушiльнення на двi процедури: моделювання i кодування.

Моделювання визначае характеристики джерела даних, що ушдльнюються. Залежно вщ того, якою моделлю джерела сигналу описуеться шформащя, ii подiляють на бiнарну шформащю (виконуванi файли, програмнi бiблiотеки i т.д.) i текстову. Окремим випад-ком текстово! або бiнарноi шформацп е числовi данi (залежно вщ того, у якому виглядi вони представле-нi - ASCII кодi або двiйковому).

Метою кодування е перетворення потоку символiв у потж бiт мiнiмальноi довжини. У робой [8] наведено таку класифжащю методiв кодування:

- статистичний (у цьому методi припускаеться вiдповiднiсть вхiдного потоку певнш моделi сигналу i здшснюеться ушiльнення на основi зiбраноi про текст статистичноi iнформацii);

- макро- або текстовоi пiдстановки (метод базуеть-ся на вiдшуканнi однакових рядюв i замiнi !х на б^ьш короткi коди);

- iнкрементний (ушдльнення здiйснюеться шляхом кодування вщмшностей у послiдовних записах).

©

Для реалiзацiï ефективного кодування необхщно певним чином вибрати алфави i вщповщний розпо-дiл символiв у потощ. Це забезпечуеться побудовою моделi вхщного потоку, яка описуе деякий споиб визначення можливого розподiлу ймовiрностей поя-ви кожного чергового символу в потощ. Якщо розпо-дiл ймовiрностей частот появи символiв з алфавиу вхiдного потоку вiдомий, то можна побудувати модель оптимального кодування. Однак через ^ну-вання величезноï юлькоси рiзних форматiв файлiв задача значно ускладнюеться. Статичнi моделi, в яких розпод^ приймаеться незмiнним, у бшьшост випадкiв, не забезпечують максимального степеня ушдльнення. Набагато бiльший штерес мають, так званi, адаптивнi модели якi враховують потоковий контекст потоку.

Окрему групу методiв ушiльнення даних без втрат складають методи, що базуються на кодуванш цiлих чисел з використанням нерiвномiрних кодiв Елiаса [9], Райса [10], Левенштейна [11], Голомба [12], 1вен-Роде [13], Фiбоначчi [14, 15] та шших.

Останнiм часом штенсивно дослiджуються мож-ливостi практичного використання кодiв Фiбоначчi для ушiльнення даних. 6 пропозицп щодо змiни стандартного формату JPEG шляхом замши статистичного кодування на кодування Фiбоначчi [16]. В робоп [17] показано, що застосування кодiв Фiбоначчi для ушдль-нення геофiзичноï iнформацiï забезпечуе коефвдент ушiльнення вiд 10 % до 30 % бшьше порiвняно з кое-фiцiентами, що забезпечують коди Хаффмана, Елiаса, Райса i Голомба.

Вщзначимо, що перевага вищеописаних кодiв по-лягае у тому, що ушдльнення даними методами не вимагае вели^ кiлькостi пам'ятi, а також однаково швидко виконуеться як ушдльнення, так i вiдновлення шформацп.

I хоча на практицi широко використовуються архь ватори, створенi на основi методiв й алгоритмiв ушдль-нення даних, що враховують статистику символiв у повiдомленнi [1-3] або базуються на побудовi словника [4-6], однак продовжуються пошуки нових пiдходiв до ушiльнення даних.

У роботах [18, 19] запропоновано оригшальний споиб представлення цiлих чисел у вигляд^ так зва-ноï, лiнiйноï форми Фiбоначчi, яка забезпечуе скоро-чення розрядностi представлення великих чисел (1024 двiйковi розряди i б^ьше).

Лiнiйна форма Фiбоначчi рангу t - це представлення щлого числа iз застосуванням чисел Фiбоначчi, що мае вигляд [18]:

N = xFt_1 + yFt, (1)

де х i у - цШ числа, y Ф 0 ; t - натуральне число.

Така форма представлення е основою нового тд-ходу щодо ушдльнення даних, який Грунтуеться на оптимiзуючих властивостях чисел Фiбоначчi [26]. При цьому блок цифрових даних розглядаеться як щле до-датне число N .

1снуе множина представлень виду (1), але для за-дачi ущiльнення даних пропонуеться використову-вати представлення максимального рангу, яке мае найменшi значення щлих додатних чисел х i у. Т^ьки в цьому випадку з'являеться можливiсть максималь-

но використовувати оптимiзацiйнi властивостi чисел Фiбоначчi.

Задача ущiльнення полягае у знаходжент для за-даного числа N мжмального базису (а0,Ь0) такого, що N = фДа0,Ь0). Числа Ф, (а0,Ь0) - це узагальненi числа Фiбоначчi, що обчислюються за формулою [18]:

ф, = Ф.-1 + Ф.-2, 1 = 2 - ] (2)

для Ф0 = а0; Ф1 = Ь0.

У роботi [20] для конкретних типiв файлiв показано, що iснуе принципова можливкть ущiльнення даних з використанням лшшшл форми Фiбоначчi. Однак вщсутт дослiдження цього методу стосовно ефективност ущiльнення певних типiв даних. Крiм того, не дослiджено вплив розрядност ущiльнюваного блоку даних на коефвдент ущiльнення.

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

3. Мета та задачi дослiдження

Метою дослiдження е тдвищення степеня ущдль-нення даних на остж лiнiйноi форми Фiбоначчi шляхом розробки адаптивних методiв ущдльнення.

Для досягнення поставленоi мети розв'язувалися таю задача

- дослiдження впливу на коефвдент ущiльнення довжини блоюв даних, на якi розбиваеться ущдльню-ваний файл;

- розробка i дослiдження методiв адаптивного ущiльнення даних на основi лiнiйноi форми Фiбо-наччi.

4. Методика та результати дослщження впливу довжини блоюв даних на коефщент ущшьнення.

Вихiднi данi, що тдлягають ущiльненню, будемо розглядати як послщовшсть символiв 0 i 1. Ввдповвд-но до числовоï моделi джерела даних, послщовшсть символiв розбиваеться на блоки, що мштять деяку юльюсть символiв, i кожному символу в блощ ввд-повiдае своя певна вага. Якщо вага k-го символу блоку дорiвнюе (k=0,1..., n-1), то блок е двшковим кодом деякого числа.

Для практично реалiзацiï бiльш зручним е представлення числа сукупшстю байпв. При цьому кожен байт - це вщповщний ASCII код, числовий е^валент якого визначаеться за формулою:

s = ]Ta,2', (3)

i=0

де ai - цифра ¿-го розряду ASCII коду.

Виходячи з цього, блок даних довжиною l байпв представляеться як послщовшсть l чисел:

S0,S1,S2,...,Sl-1 , (4)

де Sj - числовий еквiвалент ASCII коду j-го байту 0=0,1,2,...,1-1).

Оскiльки числовi еквiваленти ASCII кодiв належать дiапазону чисел вiд 0 до 255, то число, що вщповщае блоку даних, може бути обчислено за формулами:

NM =£Sj256j, (5)

j=0

No =£s(H-1)256(l-j-1). (6)

j=0

якого полягае в такому. Ущдльнюваш данi Р розбивають-ся на блоки довжини 1 байпв. У загальному випадку, останнiй (к-й) з послiдовностi блокiв може мати довжину 1к < 1. Для кожного блоку визначаеться числовий е^ва-лент N за формулою (5), в разi моделi джерела даних Мфм, або за формулою (6), коли використовуеться модель джерела даних Мфс. Якщо N=0, то формуеться тшьки ознака р=0, а якщо N>0, то формуеться ознака р=1 i здшсню-еться перетворення числа N в лшшну форму Фiбоначчi:

N = a0F(^ + b0F(j +1), (9)

де F( j) - j-е число Фiбоначчi.

Ушдльнеш данi Р* мають таку структуру:

3={1||1к||л||Бл*1||Бл*2||...||Бл*к}, (10)

Вiдмiннiсть цих формул полягае тiльки в порядку використання елементiв послiдовностi (4) вiдносно 1х номерiв: вiд молодшого до старшого та навпаки. Тут число 256 е основою системи числення i для кожного блоку даних вона незмшна (фжсована). Виходячи з цього, позначимо моделi джерела даних таким чином: Мфм i Мфс, вщповщно.

Змiною кiлькостi байтiв у блощ забезпечуеться отримання послiдовностей чисел з рiзними законами 1хнього формування. Тобто для рiзних I будемо мати рiзнi моделi джерела даних. Можливкть змiни моделi джерела даних дозволяе вибирати таку модель, яка забезпечуе найбiльший коефвдент ущiльнення для заданого правила кодування.

Найчастiше коефiцiент ушдльнення визначаеться за формулою:

S = L0

^щ. = L

ущ.

(7)

де L0 - довжина послiдовностi даних до ушдльнення в байтах; Lущ - довжина послiдовностi даних тсля ущiльнення в байтах.

Для блоюв довжини, яких змiнюються вiд 1т111 до 1тах з певним кроком, виконуеться ущiльнення i виби-раеться та довжина, при якш забезпечуеться найбшь-ший коефiцiент ущiльнення.

Правило вибору з множини кодованих послвдовно-стей Рс едино! послiдовностi Р*, що ввдповвдае найбшь-шому коефiцiенту ущiльнення, описуеться функцiею оптимiзащi на рiвнi послiдовностей, яка мае вигляд:

u=,

(8)

де L(m)

ущ

довжина послвдовност ущiльнених даних для т-о\ моделi джерела даних.

Дослiдження здшснювалося з використанням про-грамного засобу, що реалiзуе метод ущiльнення, суть

де 1 - значення довжини блоку (2 байти);1к - значення довжини останнього блоку (2 байти);п - послщов-шсть ознак р у байтовому представленш; Бл*i - структура складових лшшно! форми Фiбоначчi числового еквiвалента ¿-го блоку ( 1 = 1,2.....к ).

Структура Бл^ така:

{jPa0 PJWIbo } ,

(11)

де j - значення числа j (2 байти);1а - довжина коду числа а0 в байтах (2 байти); - довжина коду числа Ь0 в байтах (2 байти); а0 - код числа а0; Ь0 - код

числа b0.

Довжина блоку l змiнювалася в межах ввд lmin = =100 байт до lmax =1000 байт з кроком 100 байт.

Осюльки числовi еквiваленти блокiв даних мають велик значення (вiд 2 800 до 28000 ), то програмний засiб було створено мовою програмування Python.

Дослщжувалося ущiльнення файлiв, тип та обсяг яких наведено в табл. 1.

Аналiз отриманих результапв показав, що ушдль-нюються файли типiв *Лос, *.dat, *.bmp, *.lib, *.mp3, *.mdb, *.dll. Обсяги ущiльнених файлiв наведено в табл. 2, 3. Тут жирним шрифтом вид^ено найменшi обсяги.

Аналiз отриманих результатiв показуе, що вплив довжини блоюв даних l на коефвдент ущiльнення е рiзним для рiзних типiв файлiв. Найб^ьший коефь цiент ущiльнення для файлiв d_20.doc i db_50.mdb досягаеться в разi довжини блоку 100 байт, а зi зб^ь-шенням довжини коефвдент зменшуеться. Для файлу bootstat.dat вплив довжини блоюв даних мае «хвильо-вий» характер (зi зб^ьшенням довжини коефiцiент кiлька разiв збшьшуеться i зменшуеться) для моделi джерела даних Мфм. Найбiльший коефiцiент ущдль-нення досягаеться для довжини блоку 700 байт. У разi моделi джерела даних Мфс найбiльший коефвдент ущiльнення досягаеться для довжини блоку 100 байт, а зi зб^ьшенням довжини коефiцiент зменшуеться.

Таблиця 1

Тип та обсяг дослщжуваних файлiв

Назва файлу d 20. doc bootstat.dat b 100.bmp m 40.mp3 db 50.mdb idasci32.dll bfcd40d.lib

L0(байт) 20480 67584 126920 38912 67584 95744 38912

Назва файлу avtrans port. xml g 20. gif j 100. jpg resfmt. txt date. cpp classic. kbd au 160. au

L0(байт) 19842 19910 107808 46341 9544 52633 171100

Обсяги файлiв, ущтьнених з використанням моделi джерела даних Мфм

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1(байт) а 20. аое bootstat. dat Ь 100. Ьтр т 40. тр3 аь 50. таь idasci32.d11 ЬЫ40а. КЬ

100 8607 294 116980 39925 24370 98121 38531

200 8899 248 117401 38916 26333 95871 38156

300 9434 438 118529 38426 27266 95576 38279

400 9844 227 120443 38544 30146 94949 38208

500 10119 223 121384 38121 31450 94555 39051

600 10352 420 122948 38346 31237 95140 38164

700 11865 822 123471 38087 33744 94635 38518

800 10543 615 124071 38655 36815 94970 38419

900 12321 415 122930 38525 37128 95143 38878

1000 12818 214 124063 38393 38021 95332 39047

Таблиця 3

Обсяги файлiв, ущтьнених з використанням моделi джерела даних Мфс

1 (байт) а 20. аос bootstat. dat Ь 100. Ьтр т 40. тр3 db 50. mdb idasci32.d11 bfcd40d.

100 8671 358 116272 39986 24253 98445 38443

200 9730 411 115672 38944 25938 95947 38424

300 9125 703 117667 38456 28629 95783 37905

400 10473 790 118882 38375 28757 95203 38669

500 11531 986 120490 38354 31525 94977 38680

600 10794 983 120898 38376 33262 95497 38458

700 11458 1487 121981 38420 33473 95421 38251

800 12434 1179 122654 38485 34451 94725 38736

900 12936 1578 124548 38553 36933 95498 38687

1000 13253 1977 123782 38622 39074 94634 39131

Коефiцieнти ущiльнення для файлiв b_100.bmp, т_40.тр3, idasci32.dll i bfcd40d.lib е незначними i дося-гаються при певних довжинах блокiв.

Обсяг перетворених файлiв типiв *.txt, *.хт1, *.kbd, *.fdb, *.sdb, *.срр, *.jpg i *.аи перевищуе обсяг вихщ-них файлiв. Однак спостер^аеться тенденцiя набли-ження обсягу перетворених файлiв до обсягу вихiдних фалiв при збiльшеннi довжини блокiв даних.

Порiвняння результатiв ущiльнення файлiв з використанням двох рiзних моделей джерела даних по-казуе, що модель Мфм е бiльш адаптованою для файлiв d_20.doc, bootstat.dat, т_40.тр3 та idasci32.dll, а модель Мфс - для файлiв b_100.bmp, db_50.mdb i bfcd40d.lib, оскiльки саме вони забезпечують найменший обсяг ущiльнених даних. Для файлiв, що не ущдльнюються, залежнiсть обсягу перетворених даних ввд використо-вувано! моделi джерела даних е незначною.

5. Методи адаптивного ущшьнення даних

Пропонуеться метод ушдльнення, суть якого по-лягае в такому. Ушдльнюваш данi Р розбиваються на блоки довжини 1 байив. Для кожного блоку визнача-ються два числовi еквiваленти ^ i Nс: один за формулою (5), а другий за формулою (6). Якщо N„=N0=0, то формуеться пльки ознака р=0, а шакше, формуеться ознакар=1 i здшснюеться перетворення чисел Nм i Nс в лшшну форму Фiбоначчi лФф(^) i ЛФФ(Nс). Якщо в байтовому представленш ЛФФ(Nм) < ЛФФ (^) формуеться ознака с=0 i результатом перетворення блоку е ЛФФ(^), а iнакше, формуеться ознака с=1 i

результатом перетворення блоку е ЛФФ(^). Тобто оптимiзацiя здшснюеться на рiвнi блокiв.

При цьому функщя оптимiзацii мае вигляд:

С = тш{1(бфм)Дбфс)},

(12)

де 1'бфм) - довжина

I перетвореного блоку для моделi ; 1б<л°) - довжина перетвореного бло-

джерела даних Мфм; 1бл ку для моделi джерела даних Мфс.

Ушiльненi даш P* мають таку структуру:

3={1||1к||л||С||Бл*1||Бл*2||...||Бл*к},

(13)

де С - послiдовнiсть ознак с у байтовому представ-леннi.

Для зручностi позначимо комбiнацiю двох моделей джерела даних як модель Мфмс.

Результати дослщження цього методу ушдльнення наведено в табл. 4.

Порiвняння результатiв, наведених у табл. 2-4, показуе, шо модель джерела даних Мфмс забезпечуе менший обсяг для в«х ущiльнених файлiв. Однак ця модель, як i двi попереднi, е неефективною для файлiв типу *.хт1, *.kbd, *.fdb, *^Ь, *.срр, *.gif , *.jpg i *.аи.

Незначнi коефiцiенти ущiльнення i вiдсутнiсть ущiльнення для певних титв файлiв пояснюеться тим, що використовуване моделювання даних не забез-печуе формування чисел, як компактно представля-ються лiнiйною формою Фiбоначчi. З цього випливае необхщшсть пiдвищення адаптованост перетворень до змiсту файлiв шляхом зб^ьшення кiлькостi моделей джерела даних.

Обсяги файлiв, ущтьнених з використанням моделi джерела даних М,

фмс

l(байт) d_20. doc bootstat. dat b_100. bmp m 40. mp3 db_50. mdb idasci32.dll bfcd40d. lib

100 7888 250 114112 39916 21629 97547 37591

200 8229 236 113068 38794 23015 95265 37128

300 8043 194 114117 38402 23648 94990 36819

400 8207 228 115363 38222 24179 94362 37438

500 8689 224 118075 38096 25817 94003 38352

600 8831 408 119523 38020 26639 94542 37564

700 9377 178 120664 37960 26251 94196 37660

800 9950 404 121277 37930 27107 94082 37946

900 10470 416 120927 37897 27270 94256 38406

1000 9503 215 122521 37865 28306 93777 39028

Для розв'язання цiei задачi пропонуеться визнача-ти числовий е^валент кожного блоку даних виходя-чи з максимального значення числових еквiвалентiв ASCII кодiв байтiв, що складають цей блок.

Аналiз змiсту блоюв ущiльнюваних даних стосов-но числових еквiвалентiв ASCII кодiв показуе, що не в кожному блощ е байт з числовим еквiвалентом 255. Тому е можлившть визначати числовий е^валент блоку через представлення в системi числення з основою не тшьки 256.

Покажемо це на прикладь Нехай блок даних скла-даеться з байтiв з такими числовими е^валентами: 117; 45; 67; 136. Тут найб^ьшим е число 136. Отже, можна визначити числовий еквiвалент блоку, вико-ристовуючи представлення в системах числення з основами ввд 137 до 256. Тобто для такого блоку можна отримати 120 рiзних числових значень.

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

Ушдльнюваш даш Р розбиваються на блоки дов-жини l байтiв. Для кожного блоку визначаеться максимальне значення Bmax серед значень числових еквiвалентiв байпв. Потiм обчислюеться два числовi еквiваленти NK i N0: один за формулою:

NM =:ii:sjBj, (14)

а другий за формулою: -1

s(l-j-1)B

Nc = X

(i-j-1)

Обчислення числових еквiвалентiв блоку Nм та Nc i перетворення iх у лiнiйну форму Фiбоначчi вико-нуеться для вах значень В, що не перевищують 256. Серед лiнiйних форм Фiбоначчi вибираеться така, що утворюе перетворений блок найменшоi довжини. При цьому фжсуеться значення В, яке е оптимальним (Во). Тобто оптимiзацiя здшснюеться на рiвнi блокiв. При цьому функщя оптимiзацii мае вигляд:

С = min {(min{lбM),lбCл)})(,)},

(16)

(15)

де В = Втах +1.

Тут число В е основою системи числення i для кожного блоку даних воно змшюеться ввд (Втах +1) до 256. Виходячи з цього, позначимо моделi джерела даних таким чином: Мзм i Мзс, вiдповiдно.

Якщо Nм=Nс=0, то формуеться тiльки ознака р=0, а iнакше, формуеться ознака р=1 i здiйснюеться перетворення чисел ^ i Nс в лшшну форму Фiбоначчi ЛФФ(Nм) i ЛФФ(Nс). Якщо в байтовому представлен-нi ЛФФ(Nм) < ЛФФ), то формуеться ознака с=0 i результатом перетворення блоку е ЛФФ^м), а шакше, формуеться ознака с=1 i результатом перетворення блоку е ЛФФ(^).

де 1блм) - довжина перетвореного блоку для ¿-о1 моделi джерела даних Мзм; 1бзлс) - довжина перетвореного блоку для г-о! моделi джерела даних Мзс.

Для зручносп позначимо комбiнацiю моделей джерела даних як модель Мзмс.

Ушдльнеш данi Р* мають структуру вигляду (13). Вiдмiннiсть полягае тiльки в структурi Бл*1, яку допов-нено значенням Во. Структура Бл*1 мае такий вигляд:

{BjJPJlb. Ilaollbo} .

(17)

Результати ущдльнення за даним методом наведено в табл. 5-7.

У табл. 5 можна побачити, що зменшення кроку змши довжини блоку забезпечуе отримання менших обcягiв ущдльнених даних.

Таблиця 5

Результати ущтьнення файлiв з використанням моделi джерела даних Мзмс

d_20.doc db_50.mdb bootstat. dat

l(байт) Ьущ (байт) l(байт) Ьущ (байт) l(байт) Ьущ (байт)

40 7746 40 20801 640 291

60 7672 60 20478 660 230

80 7619 80 20588 680 172

100 7656 100 20753 700 169

120 7743 120 20989 720 167

140 7774 140 20981 740 216

У табл. 7 наведено найменшi обсяги перетворених файлiв для довжини блоку 1000 байт.

Аналiз табл. 7 показуе, що файли avtransport. xml, resfmt.txt, date.cpp i classic.kbd, якi не ущдльню-валися з використанням шших моделей джерела да-них, ущiльненi за даним методом. Проте для файлiв g_20.gif, j_100.jpg та au_160.au модель джерела даних Мзмс також е неефективною.

Таблиця 6

Обсяги файлiв, ущтьнених з використанням моделi джерела даних МзМс

Назва файлу b_100. bmp m 40. mp3 idasci32.dll bfcd40d. lib

L0 (байт) 126920 38912 95744 38912

-ущ (байт) 107667 37871 93745 36628

l(байт) 200 1000 500 300

ш для файлiв b_100.bmp, db_50.mdb i bfcd40d.lib. Для решти файлiв цi моделi рiвноцiннi. Моделi Мфм, Мфс i Мфмс забезпечують отримання коефiцiентiв ущiльнення бiльших за одиницю для 7 файлiв з 11. Модель Мзмс забезпечуе найбiльшi коефiцiенти ущiльнення для Bcix файлiв, але найефективнiшою вона е для файлiв bootstat.dat, db_50.mdb i d_20.doc. Варто вщзначити, що архiватор RAR ушдльнюе файл bootstat.dat з коеф^ентом 282,8 проти 404,7 в дано-му випадку.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Висновки

1. Методи ушдльнення даних на оcновi лшш-ноï форми Фiбоначчi передбачають використання чиcловоï моделi джерела даних, вщповщно до якоï

Таблиця 7

Обсяги файлiв, перетворених з використанням моделi джерела даних М

Назва файлу avtrans port. xml g_20. gif j_100. jpg resfmt. txt date. cpp classic. kbd au 160.au

L0(байт) 19842 19910 107808 46341 9544 52633 171100

-ущ (байт) 17313 20059 108592 40633 8400 46252 172033

6. Порiвняльний аналiз методiв ущiльнення даних

У табл. 8 наведено значення коефвденпв ушдль-нення за методами, що передбачають використання неадаптивних (Мфм i Мфс) та адаптивних (Мфмс i Мзмс) моделей джерела даних.

Таблиця 8

Значення коефщieнтiв ущiльнення

Назва файлу Модель джерела даних

Мфм Мфс Мфмс Мзмс

d_20.doc 2,38 2,36 2,6 2,69

bootstat.dat 315,8 188,8 379,7 404,7

b_100.bmp 1,08 1,09 1,12 1,18

m 40.mp3 1,02 1,01 1,03 1,03

db_50.mdb 2,77 2,79 3,12 3,30

idasci32.dll 1,01 1,01 1,02 1,02

bfcd40d.lib 1,02 1,03 1,06 1,06

avtransport.xml 0,994 0,994 0,994 1,15

resfmt.txt 0,994 0,994 0,994 1,14

date.cpp 0,993 0,993 0,993 1,14

classic.kbd 0,994 0,994 0,994 1,14

Модель Мфм мае перевагу за модель Мфс для фай-лiв d_20.doc, bootstat.dat i m_40.mp3 та поступаеться

ущ1льнюван1 дан1 роз-биваються на блоки пев-но1 довжини. Змшою к1ль-кост1 байпв у блощ забез-печуеться отримання пос-лщовностей чисел з р1зни-ми законами 1хнього фор-мування. Можлившть змь ни модел1 джерела даних дозволяе вибирати таку модель, яка забезпечуе най-б1льший коеф1ц1ент ущдльнення для заданого правила кодування. Анал1з результаив дослщжень показав, що вплив довжини блоюв даних на коеф1ц1ент ушдльнення е р1зним для р1зних титв файл1в. Не-значш коеф1ц1енти ушдльнення i вщсутшсть ущдль-нення для певних тишв файлiв пояснюеться тим, що використовуване моделювання даних не забезпечуе формування чисел, яю компактно представляються лiнiйною формою Фiбоначчi. З цього випливае необ-хiднiсть тдвищення адаптованостi перетворень до змiсту файлiв шляхом збiльшення кiлькостi моделей джерела даних.

2. Аналiз змiсту блокiв ушiльнюваних даних сто-совно числових еквiвалентiв ASCII кодiв показав, що не в кожному блощ е байт з числовим еквiвален-том 255. Тому е можлившть обчислювати числовий еквiвалент блоку через представлення в системi чис-лення з основою не ильки 256, що зб^ьшуе юльюсть числових еквiвалентiв. Для цього потрiбно визначати максимальне значення числових еквiвалентiв ASCII кодiв байтiв, що складають блок. Адаптацiя забезпечуе тдвищення коеф^ента ушiльнення порiвняно з неадаптивним методом ущдльнення на основi лшш-но1 форми Фiбоначчi, який передбачае пльки одну модель джерела даних для кожного блоку вхщних даних. Модель Мзмс забезпечуе найбiльшi коеф^ен-ти ушiльнення для всiх дослщжених файлiв, але най-ефективнiшою вона е для файлiв bootstat.dat, db_50. mdb i d 20.doc.

Лиература

1948.

Shannon, C. E. A Mathematical Theory of Communication [Text] / C. E. Shannon // Bell System Technical Journal. Vol. 27, Issue 3. - P. 379-423. doi: 10.1002/j.1538-7305.1948.tb01338.x

Huffman, D. A. A Method for the Construction of Minimum-Redundancy Codes [Text] / D. A. Huffman // Proceedings of the Institute of Electrical and Radio Engineers. - 1952. - Vol. 40, Issue 9. - P. 1098-1101. doi: 10.1109/jrproc.1952.273898

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

I

Witten, I. Arithmetic Coding for Data Compression [Text] / I. Witten, R. Neal, J. Cleary // Communications of the ACM. -1987. - Vol. 30, Issue 6. - P. 520-540. doi: 10.1145/214762.214771

Ziv, J. A universal algorithm for sequential data compression [Text] / J. Ziv, A. Lempel // IEEE Transactions on Information Theory. -1977. - V. 23, №3. - P. 337-343.

Ziv, J. Compression of individual sequences via variable-rate coding [Text] / J. Ziv, A. Lempel // IEEE Transactions on Information Theory. - 1978. - Vol. 24, Issue 5. - P. 530-535. doi: 10.1109/tit.1978.1055934

Welch, T. A. A Technique for High Performance Data Compression [Text] / T. A. Welch // Computer. - 1984. - Vol. 17, Issue 6. -Р. 176-189. doi: 10.1109/mc.1984.1659158

Rissanen, J. J. Universal modeling and coding [Text] / J. J.Rissanen, G. G. Langdon // IEEE Transactions on Information Theory. - 1981. - Vol. 27, Issue 1. - P. 12-23. doi: 10.1109/tit.1981.1056282

Storer, J. A. Data compression via textual substitution [Text] / J. A. Storer, T. G. Szymanski // Journal of the ACM. - 1982. -Vol. 29, Issue 4 . - Р. 928-951. doi: 10.1145/322344.322346

Elias, P. Universal codeword sets and representations of the integers [Text] / P. Elias // IEEE Transactions on Information Theory. - 1975. - Vol. 21, Issue 2. - P. 194-203. doi: 10.1109/tit.1975.1055349

Rice, R. F. Adaptive Variable-Length Coding for Efficient Compression of Spacecraft Television Data [Text] / R. F. Rice, J. R. Pla-unt // IEEE Transactions on Communications. - 1971. - Vol. 16, Issue 9. - P. 889-897. doi: 10.1109/tcom.1971.1090789 Левенштейн, В. И. Избыточность и задержка восстановительного кодирования натуральных чисел [Text] / В. И. Левен-штейн // Проблемы кибернетики. - 1968. - № 20. - С. 173-179.

Golomb, S. W. Run-length encodings [Text] / S. W. Golomb // IEEE Transactions on Information Theory. - 1966. - Vol. 12, Issue 3. - P. 399-401. doi: 10.1109/tit.1966.1053907

Even, S. Economical encoding of commas between strings [Text] / S. Even, M. Rodeh // Communications of the ACM. - 1978. -Vol. 21, Issue 4. - Р. 315-317. doi: 10.1145/359460.359480

Klein, S. T. On the usefulness of fibonacci compression codes [Text] / S. T. Klein, Kopel Ben-Nissan // The Computer Journal. -2010. - Vol. 53, Issue 6. - Р. 701-716. doi: 10.1093/comjnl/bxp046

Bastys, R. Fibonacci Coding Within the Burrows-Wheeler Compression Scheme [Text] / R. Bastys // Electronics and Electrical Engineering // Kaunas: Technologija. - 2010. - Vol. 1, Issue 97. - P. 28-32.

Somasundaram, K. Compression of Image using Fibonacci Code (FC) in JPEG2000 [Text] / K. Somasundaram, P. Sumitra // International Journal of Engineering Science and Technology. - 2010. - Vol. 2, Issue 12. - Р. 7311-7319.

Калошин, Д. Б. Сравнение кодов переменной длины: коды Элиаса и Фибоначчи применительно к вопросам сжатия даннях [Текст] / Д. Б. Калошин, В. Ю. Башкирев, Е. В. Бурмин // Сейсмические приборы. - 2008. - Т. 44, № 3. - C. 64-69. Анисимов, А. В. Линейные формы Фибоначчи и параллельные алгоритмы большой размерности [Текст] / А. В. Аниси-мов // Кибернетика и системный анализ. - 1995. - № 3. - С. 106-115.

Лужецький, В. А. Споаб зображення щлих чисел великого дiапазону [Текст] / Лужецький В. А., Мохаммад Аль-Майта. // Вимiрювальна та обчислювальна техшка в технолопчних процесах. - 1998. - № 1. - С. 156-162.

Кшановський, О. Д. Арифметичш методи ущшьнення цифрово'1 шформацп [Текст] / О. Д. Кшановський, С. В. Т^арчук, В. А. Лужецький // Вюник ВП1. - 1999. - № 5. - С. 83-87.

i Надоели баннеры? Вы всегда можете отключить рекламу.