Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОИ.doc
Скачиваний:
29
Добавлен:
21.02.2016
Размер:
133.63 Кб
Скачать

1.3.2. Мәтіндік ақпаратты кодтау.

Дәстүр бойынша, бір символды кодтау үшін саны 1 байт болатын ақпаратты қолданады, яғни I=1байт=8бит. K мүмкін оқиғалардың санын және І ақпарат санын байланыстыратын формула көмегімен неше түрлі символдардың кодтауға болатынын есептеуге болады (символдар – мүмкін оқиғалар есептей отырып):

K=21=28=256

яғни, мәтіндік ақпаратты өрнектеу үшін қуаттылығы 256 символ әліпби қолдануға болады. Кодтаудың мәні - әрбір символға 00000000-ден 11111111-ге дейінгі екілік кодты сәйкестікке қояды немесе 0-ден 255-ке дейінгі оған сәйкес ондық код.

Мысал 5.

Екі мәтін символдардың бірдей санынан тұрады. Бірінші мәтін орыс тілінде жазылған, ал екіншісі нагури тайпасының тілінде, оның әліпбиі 16 символдан тұрады. Қай мәтінде ақпарат саны көбірек?

Шешуі

I=K*a (мәтіннің ақпараттық көлемі символдар санының бір символдың ақпараттық салмағына көбейткенге тең). Екі мәтіннің де символдарының саны бірдей болғандықтан (K), онда айырымы әліпбидің бір символының хабарлығына тәуелді болады (a).

2а1=32, яғни а1=5бит,

2а2=16,яғни а2=4 бит.

І1=К*5 бит, І2= К*4 бит.

Сонымен,орыс тілінде жазылған мәтін 5/4 рет көбірек ақпарат алып жүреді.

Мысал 6.

2048 символдан тұратын хабар көлемі Мбайттың 1/512 бөлігін құрайды. Әліпбидің қуаттылығын анықтау керек.

Шешуі.

І=1/512*1024*1024*8=16384 бит – хабардың ақпараттық көлемін биттерге ауыстырдық. а=I/K=16384/1024=16бит - әліпбидің бір символына келеді.

216=65536 символдар – қолданған әліпби қуаттылығы.

Нақ сондай әліпби Unicode кодтауында қолданылады, компьютерде символдық ақпаратты өрнектеуге арналған халықаралық стандарт болуы тиіс.

1.3.3.Графикалық хабарды кодтау

Егер қара – ақ суреттемелер туралы айтсақ, онда 0- қара, 1-ақ.

Егер де 256 сұр түстің дамуы түріндегі нүктелердің қиыстыруы түрінде қарастырса (атап айтқанда осындай қазіргі кезде жалпыға танымал), онда сегіз разрядты екілік сан кез келген нүктенің жарықтығын кодтау үшін жеткілікті.

Түрлі-түстің моделдері.

256 түстің дамуы үшін (әрбір нүкте 3 байтпен кодталады) ең аз мәндер RGB(0, 0, 0) қара түске сай болады, ал аққа – барынша көптеп үлкен кардиналар (255, 255, 255) сәйкес. Түсті кұраушының мәнінің байты неғұрлым көп болса , сол түс анағұрлым жарығырақ. Мысалы , қою көк (0, 0, 128) үш байтпен кодталады, ал ашық көк (0, 0, 255).

Түрлі түсті графиканы өрнектеудің бірнеше режимі бар:

А) толық түсті (True Color)

Б)HighColor

В)индекстік.

Толық түсті режимде әрбір құраушының жароқтығын кодтау үшін 256 мәннен қолданылады (сегіз екілік разряд), яғни бір пиксель түсін кодтау үшін (RGB жүйесінде) 8*3=24 разряд жұмсау керек. Бұл 16,5 млн түсті бірмәнді анықтауға мүмкіндік береді. Бұл адам көзінің сезгіштігіне өте жақын.

CMYK жүйесінің кұмегімен кодтағанда түрлі-түсті графиканы өрнектеу үшін 8*3=32 екілік разряд болуы керек.

High Color режимі – бұл 16- рарядты екілік сандарды ¾ көмегімен кодтау, яғни әрбір нүктені кодтау кезінде екілк разрядтар саны азаяды. Бірақ кодталған түстердің диапозоны өте көп азаяды.

Бейнелейтін түстердің саны (К) және оларды кодтауға қажетті бит (а) саны арасындағы байланыс төмендегі формуламен табылады:

К=2а

А

К

Жеткілікті үшін .....

4

24=16

8

28=256

Мультфильмдерде көрінетін сурет салынған бейнелердің типі, бірақ тірі табиғатты бейнелеу үшін жеткіліксіз

16 (High Color)

216=65536

Журналдардағы суреттерді және фотографияларды бейнелеу

24(True Color)

232=16777216

Тірі табиғаттағы бақылайтын сапасына жететіндей бейнелерді іздеу және жеткізу

Экранға шағарылатын бейнені екілік коды бейне жадыда сақталады. Бейне жады – электрондық энергияға тәуелді есте сақтайтын құрылғы. Бейне жады мөлшері дисплейдің айыру қабілетіне және түстердің сандарына байланысты. Бірақ оның ең аз көлемі бейненің бір кадры (бір бет) сыятындай анықталады, яғни айыру қабілетінін ¾ пиксель кодының мөлшеріне көбейту нәтижесі ретінде: Vmin = M*N*a.

Сегіз түсті палитраның екілік коды.

Түс

Құраушылар

Ж

К

Қызыл

1

0

0

Жасыл

0

1

0

Көк

0

0

1

Көкшіл

0

1

1

Қара қошқыл

1

0

1

Сары

1

1

0

Ақ

1

1

1

Қара

0

0

Түс

Құраушылар

Ж

К

Қызыл

11111111

00000000

00000000

Жасыл

00000000

11111111

00000000

Көк

00000000

00000000

00000000

Көкшіл

00000000

11111111

11111111

Қара қошқыл

11111111

00000000

11111111

Сары

11111111

11111111

00000000

Ақ

11111111

11111111

11111111

Қара

00000000

00000000

00000000

16 түсті палитра қолданылатын түстердің санын көбейтуге мүмкіндік береді. Мүнда пискельдің 4 зарядты кодтауы қолданылады: негізгі түстердің 3 биті + күшейте түскендіктің 1 биті. Соңғысы негізгі 3 түстің бір уақытта жарықтығын басқарады ( 3 электрондық шоқтардың күшейте түскендігін).

Екілік код он алтылық түс палитрасы

Түс

Құраушылар

Ж

К

Күшейту

Қызыл

1

0

0

0

Жасыл

0

1

0

0

Көк

0

0

1

0

Кқкшіл

0

1

1

0

Қара қошқыл

1

0

1

1

Ашық-сары

1

1

0

1

Сұр

1

1

1

0

Қою сұр

0

0

0

1

Ашық-көкшіл

0

1

1

1

Ашық-көк

0

0

1

0

Ашық-ақ

1

1

1

1

Қара

0

0

0

0

Негізгі түстердің күшейте түскендігімен жеке- жеке басқару кезінде алынған түстердің саны өседі. Түс тереңдігі 24 бит болатын палитра алу үшін әрбір түске 8 биттен бөлінеді, яғни күшейте түскендіктің 256 деңгейі мүмкін ( К=28)

256 түсті палитраның екілік коды:

Мысал 7.

Компьютер бейнежадысының көлемі 512 Кбайт екендігі белгілі. Экранның айыру қабілеттілігі 640 та 200. Мынадай палитрада:

А) 8 түс;

Б) 16 түс;

В) 256 түс;

Бейне жадыда бір уақытта экранның неше беті орналасыды?

130 реңді ақпаратты кодттау үшін неше бит қажет? – 8 бит (яғни 1 байт) өйткені 7 бит көмегімен 0-ден 127-ге дейінгі рең нөмірін сақтауға болады, ал 8 бит 0-ден 255-ке дейінгі рең нөмірін сақтайды. Мұндай кодтау тәсілі үйлесімсіз екнін көруге болады: 130 225-тен әлде қайда азырақ, егер

А) суретте бір уақытта 138 мүмкін реңнің тек 16 түрлі-түсті реңі болса;

Б) суретте бір уақытта барлық 130 рең қатысады, бірақ әр түрлі реңмен боялған нүктелердің саны өте айрықшаланса,

Сурет туралы ақпаратты файлға жазу кезінде қалай тығыздауға болатынын ойлаңдар.

Шешуі.

А) 16 реңді ақпаратты сақтау 4 бит (байттың жартысы) жеткілікті екендігі айқын. Бірақ бұл 16 рең 130-дан таңдалғандықтан, олардың нөмірлері 4битке сыймауы мүмкін. Сондықтан политралар әдісін пайдаланамыз. Біздің суретімізде қолданылатын 16 реңге өзінің «жергілікті» 1-ден 15-ке дейінгі нөмірді тағайындаймыз және барлық суретті байтқа 2 нүкте есебімен кодтаймыз. Ал одан кейін осы ақпарат соңына рең нөмірлері бар 16 пар байттан тұратын сәйкестік кестесін жазамыз (ол орналасқан файлдың соңына): 1 байт – берілген суреттегі біздің «жергілікті» нөміріміз, екінші – осы реңнің нақты нөмірі (егер соңғысының орнына реңнің өзі туралы кодталған ақпарат қолданылса, мысалы, электронды – сәулелік түтіктін «электрондық зеңбіректердің» Red, Green, Blue шырақтануының айқындылығы туралы мәлімет қолданылса, онда мұндай кесте түстер палитрасын береді). Егер сурет неғұлым үлкен болса, алынатын файл көлеміндегі ұтыс айтарлықтай болады.

Б) сурет туралы ақпаратты архивтеудің қарапайым алгоритмін іске асырып көреміз. Ең аз нүктелердің саны боялған реңдерге 128-130 кодтарын, ал реңдерге -1-127 кодтарын тағайындаймыз. 1-ден 127-ге дейнгі нөмірлері бар реңдердің жеті биттік кодын файылға. (бұл жағдайды байттар тізбегі емес, тұтас биттік ағын болып табылады) жазып аламыз. Қалған үш рең үшін биттік ағында сан-белгі жазамыз – жеті биттік 0-және одан кейін бірден екі биттік «жергілікті» нөмір, ал файл соңына «жергілікті» және нақты нөмірлердің сәйкестік кестесін қосамыз. 128-130 кодтары бар реңдер сірек кездесетіндіктер, жеті биттік нольдер көп болмайды.