Данные в памяти компьютера представлены в виде

Обновлено: 06.07.2024

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

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

Представление числовой информации. Исторически первым видом данных, с которым стали работать компьютеры, были числа. Первые ЭВМ использовались исключительно для математических расчетов. В соответствии с принципами Джона фон Неймана, ЭВМ выполняет расчеты в двоичной системе счисления. Вопрос о внутреннем (машинном) представлении чисел рассмотрим несколько подробнее, чем это делается в учебниках.

Числа в памяти ЭВМ хранятся в двух форматах: в формате с фиксированной точкой и в формате с плавающей точкой. Под точкой здесь и в дальнейшем подразумевается знак разделения целой и дробной части числа. Формат с фиксированной точкой используется для хранения в памяти целых чисел. В этом случае число занимает одно машинное слово памяти (16 бит). Чтобы получить внутреннее представление целого положительного числа Л^в форме с фиксированной точкой нужно:

1) перевести число N в двоичную систему счисления;

2) полученный результат дополнить слева незначащими нулями до 16 разрядов.

Например, N = 160710 = 110010001112. Внутреннее представление этого числа в машинном слове будет следующим:

В сжатой шестнадцатеричной форме этот код запишется так: 0647.

Двоичные разряды в машинном слове нумеруются от 0 до 15 справа налево. Старший 15-й разряд в машинном представлении любого положительного числа равен нулю. Поэтому максимальное целое число в такой форме равно:

0111 1111 1111 11112 = 7FFF16 = (2151) = 3276710.

Для записи внутреннего представления целого отрицательного числа (-N) нужно:

1) получить внутреннее представление положительного числа N;

2) получить обратный код этого числа заменой 0 на 1 и 1 на 0;

3) к полученному числу прибавить 1.

Определим по этим правилам внутреннее представление числа 160710.

1) 0000 0110 0100 0111

2) 1111 1001 1011 1000

1111 1001 1011 1001 результат

Шестнадцатеричная форма результата: F9B9.

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

Применение дополнительного кода для внутреннего представления отрицательных чисел дает возможность заменить операцию вычитания операцией сложения с отрицательным числом: N – M = N + (-М). Очевидно, должно выполняться следующее равенство: N + (-N) = 0. Выполним такое сложение для полученных выше чисел 1607 и —1607:

0000 0110 0100 0111 1607

1111 1001 1011 1001 -1607

1 0000 0000 0000 0000 0

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

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

Двоичное 16-разрядное число 1000 0000 0000 0000 = 215 является «отрицательным самому себе»:

1000 0000 0000 0000 215

0111 1111 1111 1111

1000 0000 0000 0000 -215

Этот код используется для представления значения —215 = —32768. Следовательно, диапазон представления целых чисел в 16-разрядном машинном слове:

В общем случае для k-разрядного машинного слова этот диапазон следующий:

В разных типах ЭВМ используются разные варианты организации формата с плавающей точкой. Вот пример одного из вариантов представления вещественного числа в 4-байтовой ячейке памяти:

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

Формат с плавающей точкой предполагает представление вещественного числа R в форме произведения мантиссы (т) на основание системы счисления (л) в некоторой целой степени, которую называют порядком (р):

Порядок указывает, на какое количество позиций и в каком направлении должна сместиться («переплыть») точка в мантиссе. Например, 25,32410 = 0,25324´102. Однако справедливы и следующие равенства:

Следовательно, представление числа в форме с плавающей точкой неоднозначно. Чтобы не было неоднозначности, в ЭВМ используют нормализованную форму с плавающей точкой. Мантисса в нормализованной форме должна удовлетворять условию:

Для рассмотренного числа нормализованной формой будет: 0,25324 хЮ2.

В памяти ЭВМ мантисса представляется как целое число, содержащее только ее значащие цифры (нуль целых и запятая не хранятся). Следовательно, задача внутреннего представления вещественного числа сводится к представлению пары целых чисел: мантиссы (т) и порядка (р). В рассмотренном нами примере т = 25324, р = 2.

В разных типах ЭВМ используются разные варианты организации формата с плавающей точкой. Вот пример одного из вариантов представления вещественного числа в 4-байтовой яч6ейке памяти:

1-й байт 2-й байт 3-й байт 4-й байт

В старшем бите 1-го байта хранится знак числа: 0 — плюс, 1 — минус; 7 оставшихся битов 1-го байта содержат машинный порядок; в следующих 3-х байтах хранятся значащие цифры мантиссы.

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

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

Первая задача — познакомить учеников с символьным алфавитом компьютера. Они должны знать, что

— алфавит компьютера включает в себя 256 символов;

— каждый символ занимает 1 байт памяти.

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

Международным стандартом для персональных компьютеров стала таблица ASCII. На практике можно встретиться и с другой таблицей — КОИ-8 (Код Обмена Информацией), которая используется в глобальных компьютерных сетях, на ЭВМ, работающих под управлением операционной системы Unix, а также на компьютерах типа PDP. К ним, в частности, относится отечественный школьный компьютер Электроника-УКНЦ.

От учеников не нужно требовать запоминания кодов символов. Однако некоторые принципы организации кодовых таблиц они должны знать. Следует рассмотреть вместе с учениками таблицу кода ASCII, приведенную в ряде учебников и в справочниках. Она делится на две части. Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от 0 до 127. Сюда входят строчные и прописные буквы латинского алфавита, десятичные цифры, знаки препинания, всевозможные скобки, коммерческие и другие символы. Символы с номерами от 0 до 31 принято называть управляющими. Их функция — управление процессом вывода текста на экран или печать, подача звукового сигнала, разметка текста и т.п. Символ номер 32 — пробел, т.е. пустая позиция в тексте. Все остальные отражаются определенными знаками. Важно обратить внимание учеников на соблюдение лексикографического порядка в расположении букв латинского алфавита, а также цифр. На этом принципе основана возможность сортировки символьной информации, с которой ученики впервые встретятся, работая с базами данных.

Вторая половина кодовой таблицы может иметь различные варианты. В первую очередь, она используется для размещения национальных алфавитов, отличных от латинского. Поскольку для кодировки русского алфавита — кириллицы, применяются разные варианты таблиц, то часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую. Можно сообщить ученикам, что таблица кодировки символов 128 — 255 называется кодовой страницей и каждый ее вариант имеет свой номер. Так, например, в MS-DOS используется кодовая страница номер 866, а в Windows — номер 1251.

В качестве дополнительной информации можно рассказать о том, что проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode. Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в два раза. Но зато такая кодовая таблица допускает включение до 65 536 символов. Ясно, что в нее можно внести всевозможные национальные алфавиты.

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

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

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

Информация в видеопамяти (видеоинформация) представляет собой совокупность кодов цвета каждого пикселя экрана. Отсюда следует, что вопрос о представлении изображения связан со способами кодирования цветов. Физический принцип получения разнообразных цветов на экране дисплея заключается в смешивании трех основных цветов: красного, зеленого и синего. Значит информация, заключенная в коде пикселя должна содержать сведения о том, какую интенсивность (яркость) имеет каждая составляющая в его цвете. Достаточно подробно этот вопрос раскрыт в учебнике [6].

Необходимо раскрыть перед учениками связь между кодом цвета и составом смеси базовых цветов. Следует начать с рассмотрения варианта восьмицветной палитры. В этом случае используется трехбитовый код и каждый бит такого кода обозначает наличие (1) или отсутствие (0) соответствующего базового цвета. В следующей таблице приведены коды восьмицветной палитры (табл. 9.1).

Вопрос представления и кодирования информации в компьютере является очень важным вопросом компьютерной грамотности.

представление информации в компьютере

В статье «Пять поколений ЭВМ» перечисляется элементная база компьютеров разных поколений: электронные лампы, транзисторы, микросхемы. До сих пор ничего принципиально нового не появилось.

Перечисленные элементы четко распознают только два состояния: включено или выключено, есть сигнал или нет сигнала. Для того чтобы закодировать эти два состояния, достаточно двух цифр: 0 (нет сигнала) и 1 (есть сигнал).

Таким образом, с помощью комбинации 0 и 1 компьютер (с первого поколения и по сей день) способен воспринимать любую информацию: тексты, формулы, звуки и графику.

Иными словами, компьютеры обычно работают в двоичной системе счисления, состоящей из двух цифр 0 и 1. Все необходимые преобразования (в привычную для нас форму или, наоборот, в двоичную систему счисления) могут выполнить программы, работающие на компьютере.

Что такое бит и что такое байт

Байт (англ. byte) – число из восьми бит (различные комбинации из восьми нулей и единиц). Байт является единицей измерения информации.

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

О представлении информации в компьютере

Чтобы перевести в цифровую форму музыкальный звук, можно применить такое устройство, как аналого-цифровой преобразователь. Он из входного звукового (аналогового) сигнала на выходе дает последовательность байтов (цифровой сигнал).

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

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

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

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

Мы считаем, что на компьютере обрабатывается изображение. Но на самом деле компьютерные программы изменяют числа, которыми отдельные точки изображения представлены (точнее, сохранены) в памяти компьютера.

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

Кодирование информации вокруг нас

Не так уж давно мы пользовались телеграфом (эта услуга остается и по сей день). При этом отправляемый текст кодируется в виде последовательностей так называемых «точек» (коротких сигналов) и «тире» (длинных сигналов), отправляется по проводам. На выходе все это декодируется и печатается на ленте.

Многие люди в недавнем прошлом обязаны были знать эту кодировку, называемую иначе «Азбукой Морзе» по имени ее изобретателя.

В музыке информация много веков кодируется с помощью нотной записи (ноты). Математические формулы используются в математике. В химии применяются химические формулы. Таких примеров кодирования информации можно привести очень много.

По сравнению с приведенными примерами, кодировка, применяемая для компьютеров, выглядит намного проще, так как в ней используются только «нули» и «единицы».

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


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.

Получите невероятные возможности



2. Раздавайте видеоуроки в личные кабинеты ученикам.


3. Смотрите статистику просмотра видеоуроков учениками.

Конспект урока "Представление текста в компьютере"

· использование таблицы кодировок;

· информационный объём текста.

Компьютер может работать с пятью видами информации:

Одним из самых массовых приложений ЭВМ является работа с текстами.

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

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

Прежде всего, вспомним о байтовом принципе организации памяти компьютера.

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

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

Например, в системах кодировки Windows – 1251 и KОИ-8 каждый символ заменяется на восьмиразрядное целое положительное двоичное число, оно хранится в одном байте памяти. Это число является порядковым номером символа в кодовой таблице.

Мы уже говорили о том, что разрядность ячейки памяти i и количество различных целых положительных чисел, которые можно записать в эту ячейку n связаны соотношением:

Восьмиразрядный двоичный код позволяет получить 256 различных кодовых комбинаций, то есть 2 8 = 256.

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

Мощность алфавита равна 256 символов. Сколько Килобайт памяти потребуется для сохранения 160 страниц текста, содержащего в среднем 192 символа на каждой странице?

В современном мире около 6700 живых языков и около 25 алфавитов.

Он является результатом сотрудничества Международной организации по стандартизации (ISO) с ведущими производителями компьютеров и программного обеспечения.

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

В Юникод каждый символ кодируется 16-битовым двоичным кодом, то есть два байта на символ. В данном случае можно закодировать 2 16 = 65536 различных символов.

Однако в последнее время объединение Unicode приступило к кодированию письменности мёртвых языков и в этом случае 16-битового кодирования уже недостаточно. Поэтому Unicode приступил к освоению новых кодов.

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

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

• 8 бит или 1 байт — если используется восьмиразрядная кодировка;

• 16 бит или 2 байта — если используется шестнадцатиразрядная кодировка.

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

Информационный объем текста, набранного на компьютере с использованием кодировки UNICODE равен 4 Килобайта. Определить количество символов в тексте.

Как мы уже говорили бывают случаи, когда, работая с текстом, программа может запросить воспользоваться другой кодировкой, например, текст в восьмибитном коде Windows перекодировать в кодировку Unicode. Давайте выясним, что произойдёт с информационным объёмом текста.

Итак, рассмотрим такой пример.

Соответствие между изображениями и кодами символов устанавливается с помощью кодовых таблиц.

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

• 16 бит (2 байта) — если используется 16-разрядная кодировка.

Информационный объём фрагмента текста — это количество битов, байтов и производных единиц, необходимых для записи фрагмента оговорённым способом кодирования.

Представление изображений.


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


Рис. Двухмерное векторное изображение

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


Рис. Трехмерное векторное изображение


Рис. Растровое изображение

Наиболее широко используемые цветовые модели - это RGB (Red, Green, Blue - красный, зеленый, синий, соответствующие максимумам частотной характеристики светочувствительных пигментов человеческого глаза), CMY (Cyan, Magenta, Yellow - голубой, пурпурный, желтый, дополнительные к RGB) и CMYG - те же цвета, но с добавлением градаций серого. Цветовая модель RGB используется в цветных кинескопах и видеоадаптерах, CMYG - в цветной полиграфии.
В различных графических форматах используется разный способ хранения пикселов. Два основных подхода - хранить числа, соответствующие пикселам, одно за другим, или разбивать изображение на битовые плоскости - сначала хранятся младшие биты всех пикселов, потом - вторые и так далее. Обычно растровое изображение снабжается заголовком, в котором указано его разрешение, глубина пиксела и, нередко, используемая цветовая модель.

Представление звуковой информации.

  1. Метод FM (Frequency Modulation) основан та том, что теоретически любой сложный звук можно разложить на последовательность простейших гармонических сигналов разных частот, каждый из которых представляет собой правильную синусоиду, а, следовательно, может быть описан числовыми параметрами, т.е. кодом. В природе звуковые сигналы имеют непрерывный спектр, т.е. являются аналоговыми. Их разложение в гармонические ряды и представление в виде дискретных цифровых сигналов выполняют специальный устройства - аналогово-цифровые преобразователи (АЦП). Обратное преобразование для воспроизведения звука, закодированного числовым кодом, выполняют цифро-аналоговые преобразователи (ЦАП). При таких преобразованиях неизбежны потери информации, связанные с методом кодирования, поэтому качество звукозаписи обычно получается не вполне удовлетворительным и соответствует качеству звучания простейших электромузыкальных инструментов с окрасом характерным для электронной музыки. В то же время данный метод копирования обеспечивает весьма компактный код, поэтому он нашёл применение ещё в те годы, когда ресурсы средств вычислительной техники были явно недостаточны.
  2. Метод таблично волнового (Wave-Table) синтеза лучше соответствует современному уровню развития техники. В заранее подготовленных таблицах хранятся образцы звуков для множества различных музыкальных инструментах. В технике такие образцы называют сэмплами. Числовые коды выражают тип инструмента, номер его модели, высоту тона, продолжительность и интенсивность звука, динамику его изменения, некоторые параметры среды, в которой происходит звучание, а также прочие параметры, характеризующие особенности звучания. Поскольку в качестве образцов исполняются реальные звуки, то его качество получается очень высоким и приближается к качеству звучания реальных музыкальных инструментов.
  • цифровая запись, когда реальные звуковые волны преобразуются в цифровую информацию путем измерения звука тысячи раз в секунду;
  • MIDI-запись, которая, вообще говоря, является не реальным звуком, а записью определенных команд-указаний (какие клавиши надо нажимать, например, на синтезаторе). MIDI-запись является электронным эквивалентом записи игры на фортепиано.

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

Представление видео.


В последнее время компьютер все чаще используется для работы с видеоинформацией. Простейшей, с позволения сказать, работой является просмотр кинофильмов и видеоклипов, а также (куда компьютерным пользователям без них!) многочисленные видеоигры. Более правомерно данным термином называть создание и редактирование такой информации с помощью компьютера.
Что представляет собой фильм с точки зрения информатики? Прежде всего, это сочетание звуковой и графической информации. Кроме того, для создания на экране эффекта движения используется технология быстрой смены статических картинок. Исследования показали, что если за одну секунду сменяется более 10-12 кадров, то человеческий глаз воспринимает изменения на них как непрерывные. В любительской киносъемке использовалась частота 16 кадров/сек., в профессиональной - 24.
Традиционный кадр на кинопленке "докомпьютерной" эпохи выглядел так, как показано на рис.1. Основную его часть, разумеется, занимает видеоизображение, а справа сбоку отчетливо видны колебания на звуковой дорожке. Имеющаяся по обоим краям пленки периодическая система отверстий (перфорация) служит для механической протяжки ленты в киноаппарате с помощью специального механизма.

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

Рис.2

Конечно, в фильме существует много ситуаций, связанных со сменой действия, когда первый кадр новой сцены настолько отличается от предыдущего, что его проще сделать ключевым, чем разностным. Может показаться, что в компьютерном фильме будет столько ключевых кадров, сколько новых ракурсов камеры. Тем не менее, их гораздо больше. Регулярное расположение подобных кадров в потоке позволяет пользователю оперативно начинать просмотр с любого места фильма: "если пользователь решил начать просмотр фильма с середины, вряд ли он захочет ждать, пока программа распаковки вычислит все разности с самого начала" Кроме того, указанная профилактическая мера позволяет эффективно восстановить изображение при любых сбоях или при "потере темпа" и пропуске отдельных кадров на медленных компьютерных системах.
Заметим, что в современных методах сохранения движущихся видеоизображений используются и другие типы кадров.
Существует множество различных форматов представления видеоданных. В среде Windows, например, уже более 10 лет (начиная с версии 3.1) применяется формат Video for Windows, базирующийся на универсальных файлах с расширением AVI (Audio Video Interleave - чередование аудио и видео). Суть AVI файлов состоит в хранении структур произвольных мультимедийных данных, каждая из которых имеет простой вид, изображенный на рис.3. Файл как таковой представляет собой единый блок, причем в него, как и в любой другой, могут быть вложены новые блоки. Заметим, что идентификатор блока определяет тип информации, которая хранится в блоке.

Рис.3

Внутри описанного выше своеобразного контейнера информации (блока) могут храниться абсолютно произвольные данные, в том числе, например, блоки, сжатые разными методами. Таким образом, все AVI-файлы только внешне выглядят одинаково, а внутри могут различаться очень существенно.
Еще более универсальным является мультимедийный формат Quick Time, первоначально возникший на компьютерах Apple. По сравнению с описанным выше, он позволяет хранить независимые фрагменты данных, причем даже не имеющие общей временной синхронизации, как этого требует AVI. В результате в одном файле может, например, храниться песня, текст с ее словами, нотная запись в MIDI-формате, способная управлять синтезатором, и т.п. Мощной особенностью Quick Time является возможность формировать изображение на новой дорожке путем ссылок на кадры, имеющиеся на других дорожках. Полученная таким способом дорожка оказывается несоизмеримо меньше, чем если бы на нее были скопированы требуемые кадры. Благодаря описанной возможности файл подобного типа легко может содержать не только полную высококачественную версию видеофильма, но и специальным образом "упрощенную" копию для медленных компьютеров, а также рекламный ролик, представляющий собой "выжимку" из полной версии. И все это без особого увеличения объема по сравнению с полной копией.
Все большее распространение в последнее время получают системы сжатия видеоизображений, допускающие некоторые незаметные для глаза искажения изображения с целью повышения степени сжатия. Наиболее известным стандартом подобного класса служит MPEG (Motion Picture Expert Group), который разработан и постоянно развивается созданным в 1988 году Комитетом (группой экспертов) международной организации ISO/IEC (International Standards Organization/International Electrotechnical Commission) по стандартам высококачественного сжатия движущихся изображений. Методы, применяемые в MPEG, непросты для понимания и опираются на достаточно сложную математику. Укажем лишь наиболее общие приемы, за счет которых достигается сжатие. Прежде всего, обрабатываемый сигнал из RGB-представления с равноправными компонентами преобразуется в яркость и две "координаты" цветности. Как показывают эксперименты, цветовые компоненты менее важны для восприятия и их можно проредить вдвое. Кроме того, производится специальные математические преобразования (DCT - дискретно-косинусное преобразование), несколько загрубляющее изображение в мелких деталях. Опять таки из экспериментов следует, что на субъективном восприятии изображение это практически не сказывается. Наконец, специальными методами (в том числе и методом, изображенным на рис.2) ликвидируется сильная избыточность информации, связанная со слабыми отличиями между соседними кадрами. Полученные в результате всех описанных процедур данные дополнительно сжимаются общепринятыми методами, подобно тому, как это делается при архивации файлов.
В последнее время все большее распространение получает технология под названием DivX (происходит от сокращения слов Digital Video Express, обозначающих название видеосистемы, которая "прославилась" неудачной попыткой взимать небольшую оплату за каждый просмотр видеодиска; к собственно технологии DivX это никакого отношения не имело). Благодаря DivX удалось достигнуть степени сжатия, позволившей вмесить качественную запись полнометражного фильма на один компакт-диск - сжать 4,7 Гб DVD-фильма до 650 Мб. И хотя это достижение, к сожалению, чаще всего используется для пиратского копирования, сам по себе этот факт не умаляет достоинств новой технологии. Как и то, что самая первая версия сжатия DivX была сработана французскими хакерами из MPEG-4 - современные версии DivX уже не имеют к этому событию никакого отношения.
Наиболее популярные программы проигрывания видеофайлов позволяют использовать замещаемые подсистемы сжатия и восстановления видеоданных - кодеки (от англ. compression/decompression - codec, сравните с образованием термина "модем").
Такой подход позволяет легко адаптировать новые технологии, как только те становятся доступными. Замещаемые кодеки хороши как для пользователей, так и для разработчиков программного обеспечения. Тем не менее, большое разнообразие кодеков создает определенные трудности для производителей видеопродукции. Часто в качестве выхода из создавшегося положения необходимые кодеки помещают на компакт-диск с фильмами или даже поставляют видеоматериалы в нескольких вариантах, предоставляя тем самым возможность выбрать подходящий. Все больше распространяется автоматизация распознавания, когда плейер, обнаружив информацию об отсутствующем кодеке, загружает его из Интеренет.

Читайте также: