Параллельная вычислительная система активного видео

Реферат

 

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

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

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

Ближайшим прототипом заявляемого изобретения является “Параллельная вычислительная система активного видео” по патенту на изобретение № 2173883, МПК 7 G 06 Т 1/20, с приоритетом от 11.11.1999 г. Указанная система реализует оригинальную технологию АВ, которая базируется на использовании активных видеообъектов (например, фрагментов или персонажей видеокадров) и обеспечивает реализацию новых функций и эффектов АВ, в частности:

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

- воспроизведение указанных пользователем последовательностей (потоков) видеоизображений и звукозаписей в реальном масштабе времени;

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

- упрощение и повышение скорости управления потоками видео- и аудиоинформации в интерактивном режиме, а также процессов взаимодействия пользователя с активными объектами в режиме реального времени, при высокой точности позиционирования курсора манипулятора “мыши” на активных объектах;

- возможность управления скоростью воспроизведения видеообъектов (замедление, остановка воспроизведения).

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

При использовании технологии АВ исходный видеофайл не подвергается ни малейшим изменениям или искажениям. Последовательность воспроизведенных видеокадров может запоминаться в оперативной памяти компьютера программными средствами как “трасса” создаваемой пользователем версии воспроизведения видеофайла. В результате, на основе одного и того же видеофайла может создаваться множество версий воспроизведения из одного и того же исходного материала.

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

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

Блок-схема параллельной вычислительной системы активного видео, являющейся предметом изобретения, приведена на фиг.1; на фиг. 2,а приведен упрощенный пример кадра видеофайла, на фиг. 2,б - пример наложения “сетки” XxY на этот кадр; на фиг. 3,а - пример аппроксимации активного объекта прямоугольниками, на фиг. 3,б - пример карты активного объекта с заголовком этого объекта; на фиг. 4,а - пример (k)-го кадра видеофайла с двумя активными объектами, на фиг. 4,б - пример (k+i)-го кадра видеофайла с наложением контуров активных объектов базового кадра и общим смещением координат обоих объектов, на фиг. 4,в - пример (k+i+j)-го кадра видеофайла с общим смещением координат обоих активных объектов и частным смещением одного из объектов, на фиг. 4,г - пример (k+i+j+l)-го кадра видеофайла с новым активным объектом, общим смещением двух прежних активных объектов, частным смещением и деформацией одного из объектов; на фиг. 5,а - базовый кадр файла-сценария, соответствующий (k)-му кадру видеофайла, на фиг. 5,б, 5,в и 5,г - кадры файла-сценария для (k+i)-го, (k+i+j)-го и (k+i+j+l)-го кадров видеофайла соответственно; на фиг. 6 - пример структурной реализации блока распаковки кадра файла-сценария; на фиг. 7,а, 7,б и 7,в - содержимое координатного блока (его таблицы) для рассматриваемых примеров.

Предложенная параллельная вычислительная система (фиг. 1) содержит персональный компьютер 1, включающий центральный процессор 2, оперативное запоминающее устройство 3, контроллер 4 внешних запоминающих устройств и контроллер 5 периферийных устройств, подключенные к стандартной периферийной шине 6 (например, типа PCI), внешние запоминающие устройства (ВЗУ) 7, подключенные к контроллеру 4 ВЗУ, манипулятор (“мышь”) 8, выход которого соединен со входом контроллера 5 периферийных устройств, монитор 9 и акустическую систему 10, входы которых соединены с выходами видеоадаптера 11 и аудиоадаптера 12 соответственно, причем последние также подключены к периферийной шине 6, а также содержит устройство 13 обработки файла-сценария, работающее параллельно с центральным процессором 2 персонального компьютера 1.

Устройство 13 обработки файла-сценария содержит (фиг. 1) блок 14 локальной памяти, блок 15 распаковки кадра файла-сценария, сумматор 16, компаратор 17, локальную шину 18, шину 19 локальной памяти, буфер 20 шины локальной памяти, блок 21 автономного управления, блок 22 регистров, координатный блок 23, стандартный блок 24 интерфейса периферийной шины, тактовый генератор 25.

Перечисленные компоненты устройства 13 обработки файла-сценария имеют следующие связи: блок 14 локальной памяти подключен к шине 19 локальной памяти, к которой подключены также буфер 20 шины локальной памяти, блок 21 автономного управления, блок 22 регистров, координатный блок 23, первый и второй входы компаратора 17, входы блока 15 распаковки кадра файла-сценария и выход сумматора 16, к локальной шине 18 подключены буфер 20 шины локальной памяти, блок 22 регистров и блок 24 интерфейса периферийной шины, подключенный также к периферийной шине 6, причем управляющий выход блока 24 интерфейса периферийной шины соединен с первым входом блока 21 автономного управления, со вторым, третьим и четвертым входами которого соединены выходы блока 22 регистров, компаратора 17 и блока 15 распаковки кадра файла-сценария соответственно, выход блока 21 автономного управления соединен с управляющими входами сумматора 16 и блока 15 распаковки кадра файла-сценария, первый, второй, третий и четвертый выходы последнего соединены соответственно с первым, вторым, третьим и четвертым входами сумматора 16, выход тактового генератора 25 соединен с синхронизирующими входами блока 14 локальной памяти, блока 15 распаковки кадра файла-сценария, сумматора 16, компаратора 17, блока 21 автономного управления, блока 22 регистров и координатного блока 23.

Новыми признаками предложенной системы по фиг.1 являются: устройство 13 обработки файла-сценария в целом и его структура (компоненты 14-25 с их связями, описанными выше).

Предложенная система реализует новую версию технологии “активного видео”. Эта версия включает, как и в прототипе, те же два основных этапа (реализация которых, однако, существенно отличается от прототипа новыми алгоритмическими и аппаратурными средствами их выполнения):

- этап редактирования, который реализуется в статике, в режиме диалога с пользователем (которого на этом этапе реализации технологии будем называть пользователем-редактором), программными и стандартными аппаратурными средствами персонального компьютера 1, периферийной шины 6, ВЗУ 7, “мыши” 8, монитора 9, акустической системы 10, видеоадаптера 11 и аудиоадаптера 12 (фиг. 1) без использования устройства 13 обработки файла-сценария. На этом этапе подготавливается служебная информация, необходимая для выполнения следующего этапа, формируется так называемый файл-сценарий;

- этап воспроизведения видеоизображений и звукозаписей, их различных последовательностей и комбинаций; реализуется в реальном масштабе времени при непосредственном участии пользователя, просматривающего на мониторе 9 компьютера 1 видеозапись (видеофайлы), для которой сформирован файл-сценарий на предыдущем этапе редактирования. Для реализации этого этапа используются новые аппаратурные средства - устройство 13 обработки файла-сценария с его новыми компонентами и связями (фиг. 1) - наряду с использованием указанных ранее стандартных средств воспроизведения видео- и аудиоинформации (устройства 6-12) и собственно персонального компьютера 1 (с устройствами 2-5).

На этапе редактирования, как и в прототипе, используются три потока информации:

- видеофайл, состоящий из видеокадров, каждый из которых содержит оцифрованное цветное изображение (например, в международном стандарте MPEG); упрощенный пример кадра видеофайла приведен на фиг. 2,а;

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

- информация от “мыши” 8 - координаты курсора и сигналы нажатия кнопки “мыши”.

Смысл этапа редактирования состоит в формировании упомянутого файла-сценария, соответствующего одному или нескольким видео- и аудиофайлам. Для формирования файла-сценария используются следующие основные программные процедуры:

I) Вывод видеокадра (например, первого кадра видеофайла) на экран монитора 9; упрощенный пример кадра видеофайла приведен на фиг. 2,а.

II) Наложение прямоугольной “сетки” размерностью Х строк и Y столбцов на данный видеокадр, в результате чего видеокадр на экране монитора 9 оказывается разделенным на XxY элементарных прямоугольных ячеек, например X=Y=256 (см. фиг. 2,б, где для наглядности принято X=Y=32). Для этого используется набор “сеток” (1616, 3232, 6464 и т.п.). Выбор размерности “сетки” осуществляется пользователем-редактором в зависимости от требуемой точности выделения фрагментов видеокадра и эргономических возможностей человека.

III) Выделение с помощью “мыши” 8 фрагментов видеокадра, выбираемых пользователем-редактором (по его желанию, опыту или интуиции) в качестве активных объектов (один или несколько персонажей, предметы, части фона видеокадра). Как и в прототипе, использование активных объектов является основой рассматриваемой технологии АВ для достижения эффектов, указанных выше.

Выделение активных объектов осуществляется путем обхода (курсором “мыши” 8) ячеек “сетки”, обрамляющих контур каждого из выбранных пользователем активных объектов частей видеоизображения, с запоминанием координат указанных ячеек “сетки” в оперативном запоминающем устройстве 3 персонального компьютера 1. В отличие от технологии, реализуемой прототипом, контур каждого активного объекта выделяется (аппроксимируется) прямоугольниками, причем каждый объект может аппроксимироваться одним или несколькими прямоугольниками (см. фиг. 3,а, где активный объект А аппроксимирован 9-ю прямоугольниками).

IV) Каждый прямоугольник кодируется координатами Хн, Yн начальной (верхней левой) и Хк, Yк конечной (нижней правой) ячейки “сетки”, принадлежащей данному прямоугольнику. Если “сетка” имеет размерность, например, 256256, то каждая координата кодируется одним байтом, и тогда описание прямоугольников активного объекта А на фиг. 3,а занимает объем памяти всего в 36 байтов. Заметим, что в прототипе кодируются все ячейки видеокадра вне зависимости от того, принадлежат ли они активным объектам или нет, причем объем памяти, используемой для хранения кодировки объектов, зависит от числа активных объектов в данном видеокадре, а также от размерности “сетки”.

Прямоугольник, принадлежащий активному объекту, может содержать произвольное количество ячеек “сетки” - от одной ячейки до XxY ячеек. В последнем случае все ячейки видеокадра принадлежат одному активному объекту. С другой стороны, количество активных объектов и аппроксимирующих их прямоугольников в видеокадре также может быть в общем случае произвольным, вплоть до XxY. Активные объекты (их прямоугольники) могут соприкасаться сторонами, но не пересекаться, т.е. каждая ячейка может принадлежать не более чем одному активному объекту. В то же время в отличие от прототипа несколько прямоугольников, отнесенных к одному и тому же активному объекту, могут не соприкасаться между собой.

V) Формирование (и запоминание в ОЗУ 3 персонального компьютера 1) карты активного объекта, которая в отличие от прототипа представляет собой либо совокупность координат прямоугольников, принадлежащих данному активному объекту (см. фиг.3,б), либо данные о смещении объекта, которые будут пояснены ниже. Карте объекта присваивается номер (или имя) этого активного объекта. Этот номер записывается в заголовок карты активного объекта (занимающий, например, 4 байта), в котором также указывается длина (объем) карты (например, в 4-байтных словах), а также назначаемый пользователем-редактором признак d смещения координат объекта (1 бит). Карта активного объекта вместе с ее заголовком для примера по фиг. 3,а приведена на фиг. 3,б (здесь d=0 означает отсутствие смещения объекта).

VI) Формирование (и запоминание в ОЗУ 3 персонального компьютера 1) кадра файла-сценария, состоящего из карт всех активных объектов данного видеокадра, заголовка кадра, данных об общем смещении объектов по кадрам видеоряда и ссылки на базовый кадр файла-сценария (примеры кадров файла-сценария и пояснения смещений объектов будут приведены ниже). Таким образом, кадр файла-сценария описывает только контуры активных объектов в соответствующем ему видеокадре, закодированные указанным выше образом (т.е. заданные координатами прямоугольников).

VII) По мере просмотра и анализа кадров видеофайла в ОЗУ 3 персонального компьютера 1 формируется массив кадров файла-сценария, при этом все видеокадры и соответствующие им кадры файла-сценария нумеруются.

VIII) Формирование (и запоминание в ОЗУ 3 персонального компьютера 1) таблицы соответствия номеров всех видеокадров и номеров кадров файла-сценария. Каждая строка этой таблицы содержит:

- номер видеофайла и номер видеокадра в этом файле;

- номер кадра файла-сценария, соответствующего данному видеокадру;

- адрес соответствующего ему кадра файла-сценария в массиве кадров файла-сценария.

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

IX) Формирование и запоминание в ОЗУ 3 персонального компьютера 1 массива свойств (признаков) активных объектов, которые необходимы для реализации указанных выше функций технологии АВ.

Подробно признаки активных объектов изложены в прототипе. Ниже указаны только некоторые признаки, используемые в последующем изложении:

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

- видеосвойства активного объекта: номера первого и последнего видеокадров (последовательность видеокадров) для воспроизведения активного объекта, число циклических воспроизведений указанной последовательности или повторений одного и того же видеокадра и пр.;

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

- параметры управления активным объектом - адрес перехода с данного активного объекта на другой, указанный пользователем-редактором активный объект или видеокадр (используется при нажатии кнопки “мыши”, если ее курсор находится над данным активным объектом на этапе воспроизведения): номер видеофайла, содержащего указанный пользователем активный объект или видеокадр, номер кадра в этом видеофайле, номер указанного пользователем объекта.

Массив свойств объектов является частью файла-сценария и при воспроизведении видеоизображений и звукозаписей хранится в ОЗУ 3 персонального компьютера 1.

В целом файл-сценарий, формируемый на этапе редактирования, включает следующие части:

- массив кадров файла-сценария,

- таблицу соответствия номеров всех видеокадров и номеров кадров файла-сценария,

- массив свойств (признаков) объектов.

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

Базовой картой считается карта кадра файла-сценария, содержащая только координаты прямоугольников, аппроксимирующих активные объекты видеокадра, с признаком d=0 в заголовке карты, что означает отсутствие смещения активного объекта. Соответственно базовым считается кадр файла-сценария, включающий базовую карту.

По мере просмотра видеофайла пользователь-редактор может по своему усмотрению выбрать видеокадр, для которого по описанным выше процедурам III, IV, V и VI формируется базовый кадр файла-сценария; при этом в соответствующей строке таблицы соответствия номеров видеокадров и кадров файла-сценария пользователем устанавливается специальная метка. В общем случае базовый кадр файла-сценария может быть сформирован для каждого кадра видеофайла. Но тогда число базовых кадров файла-сценария было бы равно числу видеокадров. Это, естественно, привело бы к значительному увеличению объема файла-сценария.

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

Корректирующая информация в небазовых кадрах файла-сценария может включать:

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

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

Добавление новых фрагментов к существующим активным объектам и включение новых активных объектов производится по описанным выше процедурам III и IV, т.е. на основе аппроксимации этих фрагментов прямоугольниками, с присваиванием этим прямоугольникам номеров соответствующих активных объектов. Аналогичные процедуры производятся при появлении новых активных объектов в видеокадре.

Для исключения активного объекта, описанного в базовой карте, или части такого объекта соответствующие им прямоугольники приписываются к объекту с номером "0". Объект с нулевым номером рассматривается как неактивный объект.

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

Заголовок состоит из трех частей, соответствующих, например, трем 4-байтным словам. Первая часть заголовка включает признак S (1 бит) ссылки на базовый кадр файла-сценария и признак D (1 бит) наличия или отсутствия общего смещения координат всех активных объектов текущего видеокадра относительно их координат, описанных в базовой карте, а также включает длину (объем) этой карты (например, в 4-байтных словах), фиг. 5,а. В базовом кадре файла-сценария признаки S и D имеют значения 0. Вторая часть заголовка содержит адрес базового кадра файла-сценария. Третья часть заголовка содержит значения общего смещения Хобщ и Yобщ координат всех активных объектов текущего видеокадра по отношению к их координатам, описанным в базовой карте. Вторая и третья части заголовка базового кадра файла-сценария имеют значения “0”.

Примеры на фиг. 4 и 5 иллюстрируют изложенные определения и процедуры.

На фиг. 4,а приведено упрощенное изображение некоторого (k)-го видеокадра (здесь выбрана “сетка” XxY=1616) с двумя активными объектами: с номерами 1 и 2. Пусть пользователь-редактор (произвольно либо по своему желанию или опыту) принял решение, что соответствующий кадр файла-сценария является базовым. Для данного случая базовый кадр файла-сценария, соответствующий (k)-му кадру видеофайла, приведен на фиг. 5,а; признаки S и D в заголовке базового кадра имеют значение "0". Адрес базового кадра файла-сценария и значения общего смещения Хобщ и Yобщ равны "0".

Если на q последующих видеокадрах координаты и/или формы активных объектов изменяются несущественно, например, отличаясь от их координат в базовой карте на ограниченное количество (назначаемое пользователем-редактором) ячеек “сетки”, то в таблице соответствия в q строках этих видеокадров записывается номер одного и того же базового кадра файла-сценария, а следовательно, этим q видеокадрам соответствует только одна базовая карта вместо q таких же карт. Для реальных видеофайлов число q может быть равно десяткам и даже сотням видеокадров.

Сопоставление координат активных объектов текущего видеокадра с их координатами в базовом кадре файла-сценария выполняется программными средствами путем наложения контуров всех активных объектов базового кадра файла-сценария на текущий видеокадр. Эта процедура аналогична процедуре II наложения “сетки” на видеокадр на экране монитора 9. Пример такого наложения приведен на фиг. 4,б; здесь контуры активных объектов, содержащихся в (k)-м видеокадре (фиг. 4,а), наложены на текущий (k+j)-й видеокадр и выделены пунктиром.

Пусть в некотором (k+i)-oм видеокадре в результате указанной процедуры наложения контуров активных объектов, описанных в базовой карте, пользователем-редактором зафиксировано некоторое смещение координат активных объектов по отношению к их координатам в базовом кадре файла-сценария (фиг. 4,б). В этом случае фиксируется смещение данного активного объекта в ячейках “сетки” по координатам Х и Y. Фиксация смещения может выполняться либо автоматически программными средствами, либо вручную пользователем-редактором. Данная процедура выполняется для всех активных объектов. Если значения смещений по соответствующим координатам одинаковы для всех активных объектов, то фиксируется общее смещение Хобщ и Yобщ активных объектов. Кадр файла-сценария, соответствующий (k+i)-мy кадру видеофайла, приведен на фиг.5,б и содержит заголовок с признаком S=1 (ссылка на базовый кадр) и признаком D=1 (общее смещение координат всех объектов), адрес базового кадра файла-сценария и значения смещений Хобщ и Yобщ.

На фиг. 4,в приведен (k+i+j)-й кадр видеофайла, где в результате описанных выше процедур наложения контуров активных объектов обнаружено общее смещение Хобщ и Yобщ обоих активных объектов 1 и 2, а также частное смещение X1, Y1 объекта 1. Соответствующий кадр файла-сценария приведен на фиг. 5,в и включает заголовок карты объекта 1 (с признаком d=1 смещения координат данного объекта), а также значения X1, Y1 частного смещения этого объекта.

Заметим, что по усмотрению пользователя-редактора для рассматриваемого (k+i+j)-го кадра видеофайла может быть сформирован иной кадр файла-сценария, в карте которого описываются только частные смещения обоих активных объектов 1 и 2.

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

На фиг. 4,г приведен некоторый (k+i+j+l)-й кадр видеофайла, где в результате описанных процедур обнаружено общее смещение обоих активных объектов 1 и 2, частное смещение объекта 1, а также изменение формы (деформация) этого объекта. Изменение формы заключается в том, что из прежнего контура объекта 1 исключены прямоугольники с координатами Хнк=1, Yн=Yк=2 и Xн=Xк=6, Yн=Yк=2, которые обведены пунктиром. Эти прямоугольники приписываются к неактивному объекту с номером "0". Карта нулевого объекта формируется так же, как и карта активного объекта, и заносится в кадр файла-сценария, соответствующий (k+i+j+l)-му кадру видеофайла, на фиг. 5,г. Отметим, что прямоугольники объекта с номером "0" в этом примере не соприкасаются один с другим.

Кроме того, в этом же (k+i+j+l)-ом кадре видеофайла обнаружено появление нового объекта, который обозначен номером 3 (см. фиг. 4,г). По усмотрению пользователя-редактора данный объект может рассматриваться как активный. В этом случае по описанным ранее процедурам III, IV и V формируется карта данного объекта, которая заносится в тот же кадр файла-сценария (см. фиг. 5,г).

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

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

Этап воспроизведения видео- и аудиофайлов реализуется в реальном масштабе времени, соответствующем частоте смены видеокадров на экране видеомонитора 9 (например, 30 или 50 видеокадров в секунду), при непосредственном участии любого пользователя в динамическом управлении указанными информационными потоками, переходами в каждом из этих потоков и между потоками в соответствии с информацией в файле-сценарии, сформированной пользователем-редактором. Именно на этом этапе функционирует устройство 13 обработки файла-сценария.

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

Если при воспроизведении видеофайла курсор “мыши” оказывается над каким-либо активным объектом текущего видеокадра, то курсор “мыши” изменяет свою форму, например принимает форму “руки”, в отличие от другой формы, например “стрелки” (см. фиг. 4,в, где курсор “мыши” находится над активным объектом 2). При этом курсор сохраняет форму “руки” при указании на произвольную “точку” в пределах контура активного объекта. Если при этом в центральный процессор 2 персонального компьютера 1 поступает информация о нажатии пользователем кнопки “мыши”, то воспроизведение видеокадров с выбранным пользователем активным объектом прерывается и немедленно возобновляется с другого видеокадра, адрес которого указан в свойствах (признаках) данного активного объекта (в адресе перехода).

Если же курсор “мыши” находится вне любого из активных объектов текущего видеокадра, как на фиг. 4,а или 4,б (и в частности - над “нулевым”, неактивным объектом, как на фиг. 4,г), то прежняя форма курсора “мыши” (например, “стрелка”) не изменяется. Если при этом пользователь нажал на кнопку “мыши”, то сигнал об этом игнорируется.

Общий алгоритм функционирования предлагаемой системы на этапе воспроизведения заключается в следующем:

- пользователем просматривается видеофайл (фильм) на экране монитора 9, при этом пользователь может произвольно перемещать курсор “мыши” по экрану;

- в момент начала воспроизведения каждого видеокадра (т.е. в начале каждого интервала времени в 1/30 или 1/50 секунды) персональный компьютер 1 передает в устройство 13 обработки файла-сценария следующую информацию: номер и адрес кадра-сценария (из таблицы соответствия номеров видеокадров и номеров кадров файла-сценария), а также координаты Х и Y курсора “мыши” в текущем видеокадре;

- устройство 13 обработки файла-сценария определяет: находятся ли координаты курсора “мыши” вне активных объектов текущего видеокадра (выдается “0”) или в пределах координат какого-либо из активных объектов; в последнем случае устройство 13 определяет и выдает номер активного объекта, над которым находится курсор “мыши”; эта информация передается в персональный компьютер 1;

- если курсор “мыши” находится по информации от устройства 13 над каким-либо активным объектом текущего видеокадра, то изменяется форма курсора. Если при этом пользователь нажимает на кнопку “мыши”, то компьютер 1 обращается к признакам данного объекта (в массиве свойств - признаков объекта) и выбирает адрес перехода от данного активного объекта на другой активный объект или какой-либо видеокадр, с которого немедленно возобновляется воспроизведение видеофайла;

- при получении "0" от устройства 13 форма курсора “мыши” не изменяется. Если при этом пользователь нажал на кнопку “мыши”, то сигнал от “мыши” игнорируется.

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

Ниже описаны функции основных блоков устройства 13 обработки файла-сценария (фиг. 1).

Блок 14 локальной памяти предназначен для хранения массива(ов) кадров файла-сценария. (Остальные части файла-сценария - таблица соответствия номеров видеокадров и номеров кадров файла-сценария, а также массив свойств - признаков объектов хранятся в оперативном запоминающем устройстве 3 персонального компьютера 1.)

Блок 15 распаковки кадра файла-сценария обеспечивает прием данных текущего кадра файла-сценария из блока 14 локальной памяти, а именно длин (объемов) карт объектов и длин карт кадров файла-сценария, а также значений координат X, Y курсора “мыши”, общего (Xобщ, Yобщ) и частного (Xs, Ys) смещений координат активных объектов по отношению к их координатам в базовом кадре файла-сценария, для последующего расчета модифицированных координат курсора “мыши” в сумматоре 16. Пример структурной реализации блока 15 приведен на фиг. 6 и включает регистры 26 и 27 координат X, Y курсора “мыши”, регистры 28 и 29 общего смещения (значения Хобщ, Yобщ соответственно) или частного смещения (значения Xs, Ys соответственно) активных объектов текущего кадра файла-сценария, вычитающий счетчик 30 длины карты активного объекта, вычитающий счетчик 31 длины кадра файла-сценария. Информационные входы всех указанных функциональных узлов 26-31 подключены к шине 19 локальной памяти, управляющие входы этих узлов соединены с выходом блока 21 автономного управления, выходы регистров 26, 27, 28 и 29 соответствуют первому, второму, третьему и четвертому выходам блока 15, выходы вычитающих счетчиков 30 и 31 соответству