Алгоритм RLE
Оценка 4.8

Алгоритм RLE

Оценка 4.8
docx
13.06.2021
Алгоритм RLE
Практическая работа №2.docx

Алгоритм RLE

1.       Используя алгоритм RLE, закодируйте последовательность символов

BBBBBBACCCABBBBBB

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

Ответ:

6B1A3C1A6B

2.       Раскодируйте последовательность, упакованную с помощью алгоритма RLE (приводятся шестнадцатеричные коды): 01 4D 8E 41 01 4D 8E 4116. Для определения символов по их шестнадцатеричным кодом используйте таблицу ASCII.  В приведённой таблице в первом столбце записана первая цифра шестнадцатеричного кода символа, а в первой строке – вторая. Например,  символ «&» имеет шестнадцатеричный код 2616.

 

.0

.1

.2

.3

.4

.5

.6

.7

.8

.9

.A

.B

.C

.D

.E

.F

0.

NUL

SOH

STX

ETX

EOT

ENQ

ACK

BEL

BS

TAB

LF

VT

FF

CR

SO

SI

1.

DLE

DC1

DC2

DC3

DC4

NAK

SYN

ETB

CAN

EM

SUB

ESC

FS

GS

RS

US

2.

 

 !

"

#

$

 %

&

'

(

)

*

+

,

.

/

3.

0

1

2

3

4

5

6

7

8

9

 :

 ;

=

 ?

4.

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

5.

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

6.

`

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

7.

p

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DEL

Ответ:

66.67 % коэффициент сжатия, MAAAAAAAAAAAAAAMAAAAAAAAAAAAAA

3.       Определите количество байтов в исходной и распакованной последовательности (см. предыдущее задание) и вычислите коэффициент сжатия:

Сжатая последовательность

Несжатая последовательность

Коэффициент сжатия

10

30

66,67

4.       Проверьте результат, полученный в предыдущем пункте, с помощью программы RLE. Предложите два способа проверки.

1.Сжатие без потерь и 2. сжатие с потерей

5.       Постройте последовательности, которые сжимаются алгоритмом RLE ровно в 2 раза, в 4 раза, в 5 раз. Проверьте свои ответы с помощью программы RLE.

1. SSSSOOOEEERROOOAAYYYYYDDDDOEUUUUUWWWWJJJORRUUUUUUUUUUXXXKHHHHHHMMMMMMGGGLLLLLLLJJJJTTTTTTTTTTTTTTTTT

2. QWERTYYYYYYDFGHJJJJJJJVBNMQQQQQWWWWWWWWWWWEEEEEYYYYYUUUUUUQWERRRRRRASDFGHJKLVVVVCXZWWWWWWWWWWWWEEEEE

Несжатая последовательность

Сжатая последовательность

Коэффициент сжатия

100

50(50%)

2

100

47(25%)

4

100

80(20%)

5

6.       Придумайте три последовательности, которые невозможно сжать с помощью алгоритма RLE:

1. QWERTYUIOPLKJHGFDSAZXCVBNM

2. QWERTYUIOPASDFGHJKLMNBVCXZEEEEEEEEEEEEEEEEEEWWPPPOOOOOOOQQQQQYYYWWW

3. BDNN

Несжатая последовательность

«Сжатая» последовательность

Коэффициент сжатия

26

52

-100%

67

67

0%

4

6

-50%

7.       Используя программу RLE, примените RLE-сжатие к следующим файлам и найдите для каждого из них коэффициент сжатия:

Файл

Размер без сжатия

Размер после сжатия

Коэффициент сжатия

grad_vert.bmp

11

22

-100%

grad_horz.bmp

11

22

-100%

grad_diag.jpg

11

20

-82%

8.       Объясните результаты, полученные в предыдущем пункте:

·    почему не удается сжать рисунки в формате JPEG?

Ответ:

Потому, что jpeg - это уже сжатые данные. Причём сжатые куда эффективнее, чем может обеспечить RLE.

·    почему для двух рисунков в формате BMP одинакового размера коэффициенты сжатия по алгоритму RLE так сильно отличаются? Подсказка: откройте эти рисунки в любой программе просмотра.

Ответ:

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

9.       Оцените максимально достижимый коэффициент сжатия с помощью рассмотренного в учебнике варианта RLE-алгоритма. В каком случае его удастся достичь?

Ответ:

Максимальное значение при одной длинной серии, минимальное при отсутствии серий

10.   Оцените коэффициент сжатия с помощью RLE-алгоритма в худшем случае. Опишите этот худший случай.

Ответ:

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


 

Алгоритм RLE 1. Используя алгоритм

Алгоритм RLE 1. Используя алгоритм

Проверьте результат, полученный в предыдущем пункте, с помощью программы

Проверьте результат, полученный в предыдущем пункте, с помощью программы

BMP одинакового размера коэффициенты сжатия по алгоритму

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