Способ объектно-ориентированной интерактивной обработки видеоинформации

 

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

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

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

Известен способ и аппаратура для объединения гиперсвязей с видео, в которых на этапе создания файла сценария выводят на экран монитора видеокадр с изображением по меньшей мере одного визуального объекта, предназначенного в последующем для его активизации при воспроизведении, - активного объекта (АО), аппроксимируют при помощи разметки активный объект простой геометрической фигурой, например, кругом, овалом, прямоугольником, с помощью авторского инструментария наносят разметку на отдельные ключевые кадры, формирование и запоминание свойств активных объектов производят путем установки связей с помощью одной гиперссылки для каждого активного объекта, в результате чего получают файл сценария, а области разметки (круг, овал, прямоугольник) линейно интерполируют на оставшиеся промежуточные кадры (Международная заявка РСТ W098/44435, G 06 F 17/30, опубл. 1998 г).

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

Известна "Параллельная компьютерная система Активного Видео", реализующая способ объектно-ориентированной интерактивной обработки видеоинформации, который является наиболее близким к заявленному (Патент Российской Федерации на изобретение 2173883, G 06 Т 1/20, опубл. 2001 г.).

Способ включает этап создания файла сценария видеофайлов и этап воспроизведения движущихся видеоизображений.

В этом способе на этапе создания файла сценария выводят на экран монитора видеокадр с изображением по меньшей мере одного визуального объекта, предназначенного в последующем для его активизации на этапе воспроизведения, - активного объекта (АО). Разбивают видеокадр на XxY ячеек, где Х и Y - 1, 2, 3...,, имеющих форму элементарных квадратов или прямоугольников. Выделяют ячейки, местоположение которых совпадает и не совпадает на видеокадре с местоположением АО, присваивая ячейкам, совпадающим с местоположением ячеек АО, соответствующие им номера, и присваивая нули ячейкам, местоположение которых не совпадает с местоположением ячеек АО. Производят внутрикадровое кодирование, формируя массив данных карты для всех активных объектов данного видеокадра. Формируют и запоминают свойства АО, формируют и запоминают переход, соответствующий данному АО. Если положение активных объектов в следующих видеокадрах видеофайла постоянно, то для таких видеокадров карта предыдущего видеокадра принадлежит им, а если положение АО в следующем видеокадре изменяется, то формируют новую карту для этих АО. Формируют и запоминают файл сценария, образованный последовательностью карт, в которой каждая карта соответствует по меньшей мере одному видеокадру видеофайла.

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

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

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

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

Отсутствие межкадрового кодирования, что приводит к избыточности сохраняемых данных.

При идентифицировании и выделении ячеек, местоположение которых совпадает с местоположением активного объекта, необходимо кодирование всех ячеек АО в координатах X, Y для образования карты активного объекта, что также резко увеличивает массив данных.

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

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

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

Для решения поставленной задачи с достижением технического результата в известном способе объектно-ориентированной интерактивной обработки видеоинформации, включающем этап создания файла сценария и этап воспроизведения видеоизображений, при этом на этапе создания файла сценария выводят на экран монитора видеокадр с изображением по меньшей мере одного визуального объекта, предназначенного в последующем для его активизации на этапе воспроизведения, - активного объекта, разбивают видеокадр на XY ячеек, где Х и Y - 1, 2, 3. . ., имеющих форму элементарных квадратов или прямоугольников, выделяют ячейки, местоположение которых совпадает и не совпадает на видеокадре с местоположением активного объекта, присваивая ячейкам, совпадающим с местоположением ячеек активных объектов, соответствующие им номера, и присваивая нули ячейкам, местоположение которых не совпадает с местоположением ячеек активных объектов, производят внутрикадровое кодирование, формируют массив данных карты для всех активных объектов данного видеокадра, формируют и запоминают свойства активных объектов, формируют и запоминают переход, соответствующий данному активному объекту, причем если положение активных объектов в следующих видеокадрах видеофайла постоянно, то для таких видеокадров карта предыдущего видеокадра принадлежит им, а если положение активных объектов в следующем видеокадре изменяется, то формируют новую карту для этих активных объектов, формируют и запоминают файл сценария, образованный последовательностью карт, в которой каждая карта соответствует по меньшей мере одному видеокадру видеофайла, при этом на этапе воспроизведения видеоизображений используют видеофайл, файл сценариев и текущую информацию положения курсора манипулятора на экране монитора, при перемещении курсора манипулятора на экране монитора и при совпадении местоположения курсора с активным объектом - с теми ячейками, местоположение которых совпадает на видеокадре с местоположением активного объекта, вид курсора преобразуют, при совпадении курсора с местоположением активного объекта и при нажатии одной из клавиш манипулятора осуществляют переход, соответствующий данному активному объекту и запомненный на этапе создания файла сценария, а при воспроизведении видеокадра видеофайла с другим активным объектом на этом же видеокадре при совпадении курсора с местоположением другого активного объекта и при нажатии этой же клавиши манипулятора осуществляют переход, соответствующий другому активному объекту, согласно изобретению для формировании массива данных карты всех активных объектов видеокадра внутрикадровое кодирование производят путем выделения по одной из координат Х или Y крайнего ряда, состоящего из ячеек активного объекта, определения координат крайних ячеек этого ряда, определения координат двух крайних ячеек в последующих рядах, при этом, если крайний и последующий ряды содержат ячейки, местоположение которых не совпадает с местоположением активного объекта в этих рядах, то в массив данных карты вводят модификатор разрыва ряда ячеек и запоминают координаты крайних ячеек активного объекта в месте разрыва ряда, анализируют каждый последующий ряд на предмет отсутствия в ряду ячеек активных объектов, и если ряд свободен от ячеек активных объектов, то вводят модификатор пропуска ряда, анализируют каждый последующий ряд на предмет идентичности предыдущего и последующих, смежных с ним рядов, если они идентичны, то вводят модификатор повтора рядов, после внутрикадрового кодирования запоминают карту видеокадра, при изменении геометрической формы и/или положения активного объекта в следующем видеокадре производят его межкадровое кодирование, при котором, если положение ячеек активного объекта в следующем видеокадре изменяется, а его геометрическая форма сохраняется, то в массив данных карты следующего видеокадра вводят параметры вектора смещения ячеек активного объекта, если изменяется положение ячеек активного объекта и его геометрическая форма, то производят упомянутое внутрикадровое кодирование этого видеокадра, получая массив данных А, далее вводят в массив данных параметры вектора смещения ячеек активного объекта и вычисляют разность между двумя матрицами массивов данных для активного объекта на предыдущем и следующем видеокадре, получая разностную матрицу, полученную разностную матрицу кодируют упомянутым внутрикадровым кодированием, получая массив данных В, сравнивают размер в байтах массива данных А с массивом данных В по формуле W={[Р(А)-Р(В)]/Р(А)}100%, где W - вычисляемая величина выигрыша, %, Р(А) - размер массива А, Р(В) - размер массива В, и если величина W>К, где К - величина заданного порога, то сохраняют массив В в качестве массива данных следующей карты, и при определении местоположения активного объекта этого видеокадра используют массив данных А предыдущей карты, а если W<К, то сохраняют массив данных А в качестве массива следующей карты, формирование и запоминание свойств активных объектов производят путем установки связей с помощью по меньшей мере одной гиперссылки для каждого активного объекта, при этом связь устанавливают с различными источниками цифровых данных, при формировании и запоминании перехода, соответствующего данному активному объекту, формируют последовательность показа других заданных видеокадров для данного активного объекта, на этапе воспроизведения производят декодирование карт файла сценария, при совпадении положения курсора манипулятора на экране монитора с активным объектом и при нажатии одной из клавиш манипулятора осуществляют переход по первой доступной гиперссылке, сформированной и запомненной на этапе создания файла сценария, при совпадении положения курсора манипулятора на экране монитора с активным объектом и при нажатии другой из клавиш манипулятора осуществляют выбор из меню нескольких гиперссылок и при нажатии затем другой клавиши манипулятора на одну из гиперссылок этого меню осуществляют переход в соответствии со связью этой гиперссылки с соответствующим источником цифровых данных.

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

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

Указанные преимущества, а также особенности настоящего изобретения поясняются лучшими вариантами его выполнения со ссылками на прилагаемые чертежи:
фиг. 1 изображает массив данных с двумя активными объектами после идентификации ячеек для подачи на кодирование;
фиг.2 - ряды ячеек с разрывом линии, с пропуском линии, с повторяющимися линиями и отрезки линий, описываемые без помощи модификаторов;
фиг. 3 - а) предыдущий и б) последующий кадры со смещением АО при сохранении его геометрической формы;
фиг.4 - массив данных с АО после идентификации ячеек для подачи на кодирование, где а) - К-й кадр с активным объектом; б) - К+1 кадр, в котором АО изменил геометрическую форму; в) - разностная матрица, полученная в результате вычитания массивов данных К+1 кадра и К-го кадра;
фиг.5 - блок-схема алгоритма внутрикадрового кодирования для заявленного способа;
фиг.6 - блок-схема алгоритма с учетом межкадрового кодирования;
фиг.7 - блок-схема этапа редактирования;
фиг.8 - блок-схема способа автоматизированной разметки АО;
фиг.9 - блок-схема этапа воспроизведения;
фиг.10 - блок-схема декодирования карт АО;
фиг.11 - блок-схема декодирования ключевой карты;
фиг.12 - вариант интерфейса для осуществления редактирования;
фиг.13 - средства навигации по кадрам на этапе редактирования;
фиг.14 - средства идентификации ячеек на этапе редактирования;
фиг.15 - а) средства управления АО, б), в) средства управления гиперссылками активных объектов, г) средства управления доступностью ссылок на конкретных видеокадрах;
фиг.16 - средства управления программами воспроизведения;
фиг.17 - множество переходов, осуществляемых от АО посредством множества гиперссылок различных типов на этапе воспроизведения;
фиг. 18 - множество гиперссылок АО, доступных из меню при нажатии правой кнопки мыши на этапе воспроизведения;
фиг. 19 - всплывающая подсказка при наведении курсора манипулятора на АО и маркер АО.

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

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

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

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

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

Процесс внутрикадрового кодирования поясняется с помощью следующего примера.

Пусть процесс внутрикадрового кодирования проводится по горизонтальным рядам ячеек, в которых ячейки с одинаковыми Y координатами принадлежат одной группе и расположены вдоль горизонтальных линий. Группы ячеек (фиг.2) расположены на отрезках линий. При кодировании достаточно запомнить данные о левой и правой координате Х каждого горизонтального ряда. Для уменьшения количества данных карты, необходимых для сохранения и полного описания АО, вводятся модификаторы трех типов: модификатор разрыва ряда ячеек - отрезка линии, модификатор пропуска ряда для ячеек - пропуска линии для ячеек, модификатор повтора ряда для ячеек - повтора линий для ячеек.

Пусть первоначально запоминают координату Y верхней левой точки АО, если кодирование производится по горизонтали. Затем определяют начальные и конечные координаты Х отрезков. Отрезки следуют один за другим, то есть координата Y следующего сохраненного отрезка равна координате Y предыдущего отрезка плюс 1, поэтому сохраняется только одна координата Y крайней точки АО и начальные и конечные координаты Х отрезков.

В случае разрывов линий, пропуска линий (фиг.2) вводятся модификаторы, необходимые для определения только Y координат отрезков. Отрезки линий одинаковые и идентичные для рядов ячеек, т.е. если они имеют равные Х координаты начальной и конечной точек соответственно. Модификатор разрыва ряда ячеек указывает, что отрезки линий с группами ячеек до и после него расположены на одной линии и имеют разрыв, т.е. у них одинаковая Y координата и отсутствует группа ячеек в ряду. Запоминают координаты крайних ячеек в месте разрыва ряда. Модификатор пропуска ряда указывает, что один из горизонтальных рядов ячеек отсутствует и запоминается Y координата следующего существующего ряда АО, т. е. не пустой линии. Модификатор повтора ряда указывает, что линия с ячейками - идентичная смежной, предыдущей (содержит столько же ячеек, как предыдущая, и координаты Х для крайних ячеек линии одинаковые) и повторяется некоторое количество раз. Если в матрице данных отсутствует модификатор для горизонтального ряда ячеек, то отрезки линий рядов не имеют повторов, разрывов, пропусков. Такие ячейки принадлежат разным, но последовательно идущим сверху вниз линиям: Yi+1=Yi+1, где i - номер горизонтального ряда ячеек (i= 1...k).

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

Схема внутрикадрового кодирования карт в файл сценария:
<object map i>::=<begin point><count stretches> <stretches>
<begin point>
Начальная точка области разметки объекта, Y координата верхней левой точки отрезка линии верхнего горизонтального ряда ячеек.

<count stretches>
Список элементов разметки. Состоит из координат отрезков линий и модификаторов.

<stretch i>::=<start X> <end X>
<start X>
X координата начальной точки отрезка линии.

<end X>
Х координата конечной точки отрезка линии.

<modifier>::=(<line continue>|<pass lines>|<repeat stretch>)
<line continue>:=<line continue mod><stretch i>
Модификатор разрыва линии описывает разрыв текущей линии разметки или, другими словами, продолжительность разметки в текущей линии. Если текущая линия состоит из более чем одного отрезка, модификатор указывает, что следующий отрезок принадлежит той же линии.

<line continue mod>
Модификатор разрыва линии, байт идентификатор модификатора.

<stretch i>
Следующий отрезок в той же линии.

<pass lines>::=<pass lines mod><Y new>
Модификатор пропуска линии описывает линии, которые не содержат разметку объекта. Определяет Y координату следующей линии, в которой встречается разметка.

<pass lines>
Модификатор пропуска линии, байт идентификатор модификатора.

<Y new>
Y координата линии, где разметка появляется.

<repeat stretch>:=<stretches on line> <repeat stretch mod> <count line>
Модификатор повтора линии используется для кодирования повторяющихся отрезков линий или повторяющихся последовательностей отрезков линий.

<stretches on line>
Список отрезков, представляющих повторяющиеся последовательности
<repeat stretch mod>
Модификатор Повтора, байт идентификатор модификатора.

<count line>
Количество повторяющихся линий.

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

На первом этапе массив координат АО, относящихся к предыдущему видеокадру, сравнивается с массивом координат активных объектов текущего кадра. Если матрицы - массивы данных совпадают, то карта разметки АО, относящаяся к предыдущему видео кадру, относится и к текущему видеокадру, т.е. для таких видеокадров карта предыдущего видеокадра принадлежит им.

Если матрицы не совпадают, то проводят анализ массива данных для каждого АО (если их несколько).

Возможны следующие варианты:
1. Координаты АО совпадают.

2. Форма АО совпадает, но АО смещен в двухмерном пространстве (фиг.3).

3. Форма АО изменена по отношению к форме АО предыдущего видеокадра, но сам объект не смещен (фиг.4).

4. Форма АО изменена по отношению к форме АО предыдущего кадра и объект смещен (совместное действие по фиг.3, 4).

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

Если форма активных объектов совпадает, но активные объекты смещены в двухмерном пространстве, то производят учет этого смещения при помощи <вектора смещения> (фиг.3). В массив данных карты АО вводят только координаты вектора смещения - два числа, смещение по оси Х и смещение по оси Y. Карта с данными о смещении - относительная, а карта с первоначальным положением АО - ключевая. Так, на фиг.3 вектор смещения для АО (К+1)-го кадра относительно К-го кадра характеризуется смещением АО на 5 ячеек по Х и на 1 ячейку по Y. Поэтому в массив данных карты (К+1)-го кадра вводят только два числа (5, 1), характеризующие координаты вектора смещения. Карта К-го кадра - ключевая, а карта (К+1)-го кадра - относительная, и ее полный массив данных может быть получен при последующем декодировании только с использованием ключевой карты.

Если форма АО последующего кадра (фиг.4Б) изменена по отношению к форме АО предыдущего кадра (фиг.4А), но сам объект не смещен, то выполняется межкадровое кодирование двумя методами. Внутрикадровым кодированием, описанным выше, кодируют массив данных (К+1)-го кадра. В результате получают результирующий массив данных А. Затем вторым методом определяют разность между данными координат матрицы АО предыдущего К-го кадра и данными координат матрицы АО последующего (К+1)-го кадра с измененной формой объекта (фиг.4В). Как видно из фиг.4, для АО (К+1)-й кадр отличается от К-го кадра местоположением только четырех ячеек, а разностная матрица будет характеризоваться только координатами Х и Y этих ячеек. Далее кодируют полученную разностную матрицу методом внутрикадрового кодирования, описанным выше. В результате получают результирующий массив данных В. Сравнивают размер в байтах массива данных А с массивом данных В по формуле
W={[Р(А)-Р(В)]/Р(А)}100%,
где W - вычисляемая величина выигрыша, %,
Р(А) - размер массива А,
Р(В) - размер массива В,
и если величина W>К, где К - величина заданного порога, то сохраняют массив В и вектор смещения, равный (0,0) в качестве описания следующей карты, а если W<К, то сохраняют массив А в качестве описания следующей карты активного объекта. Если сохраняется массив В, то такая карта является относительной, а если массив А - то ключевой.

Величина заданного порога К может быть выбрана в интервале 30-99%. Величина К определяется автором файла сценария. Порог 30% дает большое количество относительных карт АО, а при 99% практически все карты являются ключевыми. Это сказывается на объеме запоминаемой информации. При использовании на практике только ключевых карт, объем сохраняемых данных больше, но и быстрее скорость доступа и соответственно быстрее производится декодирование. При использовании большого количества в файле сценария относительных карт уменьшается быстродействие, но сокращается объем требуемой памяти - доля хранения данных. Поэтому целесообразно величину конкретного порога устанавливать в зависимости от технических характеристик используемого цифрового оборудования. Экспериментально установлено, что для большинства приложений можно задавать величину порога 40-50%.

Если АО смещен, а также изменена форма АО по отношению к его форме на предыдущем видеокадре (т. е. произошла совместная ситуация изменения карты АО, как это было показано по отдельности на фиг.3 и 4), то сначала производят внутрикадровое кодирование следующего видеокадра, получая массив данных А. Затем определяют вектор смещения (как это было ранее описано для фиг.3). В этом случае за направление и величину вектора смещения принимается вектор, который при смещении на величину этого вектора АО с предыдущего кадра дает максимальное совпадение ячеек с этим АО последующего кадра. То есть определяют все совпадающие ячейки предыдущего и следующего кадра и находят для этих ячеек параметры Х и Y вектора смещения, как это было описано ранее. Далее определяют разность между данными координат ячеек матрицы АО предыдущего кадра и данными координат ячеек матрицы АО последующего кадра с измененной формой объекта (как это было ранее описано для фиг.4). То есть выявляются те ячейки, которые не совпадают на предыдущем и следующем видеокадрах. Далее кодируют полученную разностную матрицу методом внутрикадрового кодирования, описанным выше. В результате получают результирующий массив данных В. Если W>К, где К - величина заданного порога, то сохраняется закодированный разностный массив В и параметры вектора смещения, т.е. получают относительную карту. Если W<К, то сохраняют массив А, т.е. ключевую карту, как было описано выше. Величина заданного порога К может быть выбрана в интервале 30-99%.

Процесс применяется к каждому активному объекту на данном видеокадре.

При кодировании последующего кадра проверяется предыдущая карта активного объекта. Определяется, является ли она относительной или ключевой. Если предыдущая карта является относительной, т.е. для нее W>К, то карта активного объекта на последующем кадре также может быть только относительной по отношению к ранее полученной ключевой карте. То есть ее данные считываются при помощи ключевой карты, минуя массив данных предыдущих относительных карт. Но в случае, если для нее W<К, то она будет сама ключевой для последующих карт активного объекта. Таким образом, получают последовательность - "цепь" карт АО, где могут быть несколько относительных карт АО, следующих за ключевой.

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

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

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

Если массив данных координат АО - первый (блок сравнения 2, фиг.6), то кодируем его в блоке 3 внутрикадровым кодированием. Содержание функциональных элементов блока 3 (фиг.6) изображено на фиг.5. На первом этапе определяют левую верхнюю ординату Y0 АО - блок 4 (фиг.5). После ее определения ордината записывается в начальное значение счетчика по рядам - блок 5. Далее в блоке 6 определяют абсциссы начала и конца первого отрезка горизонтальной линии для ячеек и сохраняют их в результирующем массиве в блоке 8. Далее в блоке сравнения 9 проверяется, есть ли следующий отрезок по линии с такой же ординатой: если есть, то применяем модификатор разрыва ряда ячеек по этой горизонтальной линии в блоке 10 и определяем координаты начала и конца следующего отрезка линии с ячейками по горизонтали в блоке 6. Операция разбора горизонтального ряда ячеек вдоль горизонтальной линии происходит до тех пор, пока будет найден последний отрезок исследуемой горизонтальной линии, это условие проверяется в блоке сравнения 7. Если такого отрезка нет, то в блоке 11 выполняется переход на следующий смежный ряд ячеек - на следующую горизонтальную линию (инкремент равен 1). В случае отсутствия на следующей горизонтальной линии ячеек - отрезков АО, эта проверка осуществляется в блоке сравнения 12, указывается модификатор пропуска ряда в блоке 13. В случае обнаружения линии с рядом ячеек в блоке сравнения 14, состоящей из отрезка или отрезков с абсциссами и модификаторами, соответствующими предыдущей линии, в блоке 15 указывается модификатор повтора ряда. Процесс продолжается, начиная с блока 6, до тех пор, пока не будут описаны все отрезки с рядами ячеек, принадлежащие АО, это условие проверяется в блоке 16. Процесс, начиная с блока 6, повторяется для каждого АО матрицы данного кадра, это условие проверяется в блоке 17. Результирующий массив запоминается в блоке 18 (фиг 5). Результирующий массив из блока 3 (фиг.6) запоминается в буфере 19. Если активных объектов больше нет, то на вход кодировщика блок 1 (фиг. 6) поступает матрица следующего кадра. Эту матрицу сравниваем с матрицей предыдущего кадра в блоке 20 (фиг.6). Если матрицы идентичные, то в блоке 21 относим карту предыдущего кадра к текущему. Если матрицы разные, то в блоке 22 из матрицы выбираются координаты одного АО и производится два вычисления. По первому вычислению в блоке 23 координаты первого АО кодируем методом внутрикадрового кодирования. По второму вычислению в блоке 24 определяется вектор смещения, для этого вычисления матрица координат АО предыдущего кадра извлекается из блока 25. В блоке 26 определяется разница между матрицами АО. Блок 27 кодирует полученный после вычислений в блоке 26 разностный массив В внутрикадровым кодированием (фиг.5). В блоке 28 (фиг.6) сравнивается выигрыш W с заданным порогом К.

W={[Р(А)-Р(В)]/ Р(А)}100%,
где W - вычисляемая величина выигрыша, %,
Р(А) - размер массива А,
Р(В) - размер массива В.

После сравнения записывается вычисленный массив А или В в блоке 13. Если величина W>К, где К - величина заданного порога, то сохраняют в блоке 29 массив В и параметры вектора смещения в качестве описания следующей карты, а если W<К, то в блоке 29 сохраняют массив А в качестве другого описания следующей карты активного объекта. Процесс повторяется для каждого активного объекта, присутствующего в текущем кадре, что проверяется блоком сравнения 30. Результирующий массив запоминается в блоке 19.

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

Данные операции производят в редакторе на этапе создания файла сценария (фиг. 7). В блоке 40 открывают ранее созданный или создают новый файл сценария. При открытии файла сценария в оперативную память компьютера считываются структуры файла сценария, описанные ниже. При создании файла сценария в оперативной памяти выделяется место под структуры файла сценария и определяются их начальные значения. Блок 41 формирования списка видеофайлов осуществляет заполнение структуры файла сценария в оперативной памяти компьютера, описывающей видеофайлы, которые будут использоваться в данном сценарии. Ввод данных осуществляют с помощью клавиатуры и манипулятора (мыши). Структура файла сценария подробно описывается далее. В блоке 42 формирования объектов производится заполнение структуры файла сценария в оперативной памяти компьютера, описывающей объекты. Структура включает информацию о наименовании объекта и список его гиперссылок. Описание гиперссылки включает информацию о наименовании ссылки (для визуального представления при воспроизведении), непосредственно гиперссылки на источник цифровых данных, например, для АО футбольного мяча ссылка может указывать на WEB сайт его производителя: http: //www. adidas.com. Гиперссылки могут быть разных типов. Например, гиперссылка может указывать на WEB сайты, а может указывать на Программу Воспроизведения видеофайлов, которая формируется в блоке 42. Эта информация также включается в структуру, описывающую АО. В структуру, описывающую АО, включается информация об области видимости ссылки: видеофайл и диапазон кадров (начальный и конечный кадр), на котором ссылка будет доступной при воспроизведении файла сценария.

В блоке 43 производится заполнение структуры файла сценария в оперативной памяти компьютера, описывающей программы воспроизведения. Эта структура включает информацию о наименовании программы воспроизведения, текстовое описание программы воспроизведения, стартовый видеофайл, стартовый кадр этого видеофайла, с которых начинается ее воспроизведение. Структура также включает информацию о наборе команд воспроизведения видеофайлов. Команды управляют воспроизведением видеофайла, например выполнить переход на некоторый видеокадр, остановиться на некотором видеокадре и т.д. Блок 44 осуществляет навигацию по видеофайлам - позиционирование на требуемый видеокадр. Позиционирование может включать в себя, например, проигрывание видеофайла в нормальном режиме, остановка кадра при проигрывании, переход назад и вперед с шагом 1 кадр, либо 25 кадров, переход на первый и последний кадр видеофайла. В блоке 45 производится заполнение структуры файла сценария в оперативной памяти компьютера, описывающей разметку активных объектов. В этом же блоке может быть осуществлено определение координат маркеров АО. Разметка и выделение ячеек активного объекта может быть выполнена ручными средствами - блок 46, или автоматизированно - блок 47.

К ручным способам относится нанесение разметки с помощью известных инструментов:
"Карандаш" - идентификация отдельных ячеек путем выделения ячеек на отображаемом на экране видеокадре с помощью манипулятора (мышь);
"Прямоугольник" - идентификация ячеек в прямоугольной области на кадре, путем растягивания изображения прямоугольника;
"Стирание" - отмена идентификации ячеек объекта;
"Заливка" - идентификация всех ячеек внутри области, ограниченной ранее идентифицированными ячейками;
"Волшебная палочка" - идентификация ячеек, прилежащих к заданной и сходных с ней по цвету (аналогично инструменту "Волшебная палочка" в графических редакторах типа Adobe Photoshop).

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

Автоматизированные способы разметки могут быть выполнены различными способами при их разработке. Один из вариантов автоматизированного способа выполнения разметки будет описан далее.

Блок 48 кодирования разметки осуществляет кодирование ячеек разметки активных объектов, как это было описано раннее. В блоке 49 происходит запись файла сценария из оперативной памяти компьютера на диск.

В результате получают файл сценария, имеющий следующую структуру.

Заголовок файла сценария включает информацию о версии, размере, дате создании, авторе, описание файла сценария.

Описание видеофайлов описывает видеофайлы, используемые в сценарии. Включает информацию о гиперссылке на видеофайл, идентификатор видеофайла, количество размеченных кадров, продолжительность видеофайла в кадрах, продолжительность видеофайлов, например, в 100-наносекундах, число кадров в секунду, размер видео по Х и Y, размер сетки по Х и Y.

Описание Программ воспроизведения определяет порядок и правила проигрывания видеофайлов, а также выполнение дополнительные событий во время проигрывания, таких как паузы, переходы и т.д.

Description::=[...<playlist>...]
<playlist i>::=<playlist id><name size><name><description size><description><mediafile id><frame number><commands_size>[..<command i>..]
<command i>::=<command ID>[..<command value i>..]
<playlist id> - идентификатор программы воспроизведения
<name size> - длина поля имя программы воспроизведения
<name> - имя программы воспроизведения
<description size> - размер поля описания программы воспроизведения
<description> - текстовое описание программы воспроизведения
<mediafile id> - идентификатор первого проигрываемого видео файла
<frame number> - номер кадра в первом проигрываемом видео файле, с которого начинается проигрывание
<commands size> - число команд в программе воспроизведения
[. . <command i>..] - список команд в программе воспроизведения, команды управляют воспроизведением видеофайла, например выполнить переход на некоторый видео кадр, остановиться на некотором видео кадре и т.д.

Описание Активных Объектов описывает все АО сценария. Этот раздел содержит информацию об Активных Объектах и их свойствах.

Description::=<object count> [...<object i>...]
<object count> - число активных объектов в файле сценария
<object i>: : = <object id> <name size><name><type> <options> <reserve> <links count> [... <links description i>...]
<links description i>::=<link name size> <link name> <link size> <link> <link conditions size> [..<link condition i>..] <link options>
<link condition i>::=<condition id>[..<condition parameter>..]
<object id> - уникальный для данного файла сценария идентификатор объекта
<name size> - длина поля имя объекта
<name> - имя объекта
<links count> - число гиперссылок, относящихся к активному объекту
[... <links description i>...] - список гиперссылок, относящихся к активному объекту
<links description i>::=<link name size> <link name> <link size> <link> <link parameters size> <link parameters> <link options>
<link name size> - длина поля имя гиперссылки
<link name> - имя гиперссылки, которая отображается в контекстном меню активного объекта
<link size> - длина поля гиперссылка
<link> - гиперссылка
<link conditions size> - количество условий применимость ссылки
[. . <link condition i>..] - список условий применимости ссылки, задает условия применимости ссылки, например ссылка действует на таком-то видеофайле с такого по такой-то кадр
<link condition i>::=<condition id>[..<condition parameter>..]
<condition id> - тип доступности ссылки на конкретных видеокадрах.

Описание Карт описывает карты всех видеофайлов сценария.

Description::=[...<map i>...]
<map i>: :=<frame number> <count frame> <count map> <count markers> [.. <marker i>..] [...<object map i>...]
<frame number> - номер видео кадра, с которого применяется данная карта
<count frame> - число кадров, к которым применяется данная карта
<count map> - число активных объектов, разметка которых описывается данной картой
<count markers> - число маркеров
[...<marker i>...] - список маркеров
<marker i>::=<marker><pos><marker Y pos>
<marker X pos> - X координата в координатах сетки
<marker Y pos> - Y координата в координатах сетки
[...<object map i>...] - список разметок активных объектов
<object map i> - разметка одного активного объекта
<object map i>: : =<type + object ID>[<key map number> <motion vector> <type difference>] [<begin point> <circumscribing frame> <count stretches> <stretches>]
<type + object ID> - биты 2-15 - уникальный идентификатор объекта, бит 1 - определяет карта объекта относительная или ключевая (0 -ключевая, 1 - относительная)
[<key map number>] - номер ключевой карты, поле присутствует, если карта относительная
[<motion vector>] - координаты вектора смещения. Поле присутствует, если карта относительная
[<type difference>] - определяет тип type относительной карты
0 - объект смещен, форма не изменилась, разность не записывается
1 - форма объекта изменена и разностную разметку необходимо прибавить к перемещенному объекту
2 - форма объекта изменена и разностную разметку необходимо вычесть из перемещенного объекта
3 - форма объекта изменена и присутствует разностная разметка, которую необходимо прибавить к перемещенному объекту, далее следует разностная разметка, которую необходимо вычесть из перемещенного объекта.

Следующие поля присутствуют, если бит 1 of<type+object ID> равен to 0 или <type difference> не ноль.

[<begin point>] - начальная точка разметки объекта, Y - координата левой верхней точки разметки объекта, если кодирование выполняется по горизонтали, Х - координата нижней правой точки, если кодирование выполняется по вертикали
[<count stretches>] - количество элементов разметки
[<stretches>]::=[...(<stretch i>|<modifier>)...] - список элементов разметки
<stretch i>::=<start X/Y> <end X/Y>
<start X/Y> - X/Y координата начальной точки отрезка
<end X/Y> - X/Y координата конечной точки отрезка
Х - горизонтальное кодирование
Y - вертикальное кодирование
<modifier>: : =(<line continue>|<pass lines>|<repeat stretch>) - модификатор
<line continue>::=<line continue mod> <stretch i> - Описывает разрыв текущей линии разметки или, другими словами, на продолжительность разметки в текущей линии. Если текущая линия состоит из более чем одного отрезка, модификатор обозначает, что следующий отрезок принадлежит той же линии
<line continue mod> - Модификатор Разрыва Линии, идентификатор модификатора
<stretch i> - следующий отрезок в этой линии
<pass lines>: :=<pass lines mod><Y/X new> - Модификатор пропуска линий. Описывает линии, которые не содержат разметку объекта. Определяет Y (горизонтальное кодирование)/X(вертикальное кодирование) координату следующей строки, в которой встречается разметка
<pass lines mod> - Модификатор Пропуска Линии, идентификатор модификатора
<Y/X new> - Y(горизонтальное кодирование)/Х(вертикальное кодирование) координата линии, где разметка появляется
<repeat stretch>::=<repeat stretch mod> <count line> <stretches on line> - Модификатор Повтора, используется для кодирования повторяющихся отрезков или повторяющихся последовательностей отрезков
<stretches on line> - [<stretches>] - список отрезков, представляющих повторяющиеся последовательности
<repeat stretch mod> - Модификатор Повтора, идентификатор модификатора
<count line> - количество повторений линии.

Индекс карт содержит номера карт и их смещение от начала файла сценария, для быстрого доступа к картам.

<addr of index>. Maps index::=[...<index i>...]
<index i>::=<map number><count frame><addr of map>
<map number> - номер карты
<count frame> - число видео кадров, к которым применяется данная карта
<addr of map> - смещение от начала файла сценария до этой карты
На этапе создания файла сценария выделение и идентификацию ячеек АО производят при помощи средств ручной разметки или автоматически.

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

В блоке 60 (фиг.8) определяются координаты точек на контуре АО. Координаты определяются автором, например, автор отмечает с помощью манипулятора точки на видеоизображении. Эти координаты запоминаются в массиве данных. Далее определяется в блоке 61 яркостная составляющая видеоизображения данного кадра по формуле:
Y = *R+*G+*B,
где = 0,299, =0,587, =0,114, R, G, B - цветовые составляющие видеоизображения в цветовом пространстве RGB, принятом для отображения изображений на компьютерах. В результате получается массив С. Затем определяются в блоке 62 ячейки внутри определенного в блоке 60 контура АО. Сначала определяются точки внутри контура АО с использованием одного из известных методов "заливки" фигуры по заданному контуру, например, с использованием стандартной функции API Windows FillRgn. Затем 'определяются ячейки внутри контура АО путем аппроксимации ранее найденных точек по сетке. Далее в блоке 63 выполняется запоминание полученных в блоке 62 координат о разметке АО на данном кадре. Затем в блоке 64 выполняется переход на следующий видеокадр. В блоке 65 далее определяется яркостная составляющая видеоизображения данного кадра по формуле, описанной выше. В результате получается массив D. В блоке 66 выполняется поиск точек, определенных на контуре АО в видеокадре С в блоке 60 на видеокадре D. Используется метод "Pyramidal Implementation of the Lucas Kanade Feature Tracker", описанный в статье "Pyramidal Implementation of the Lukas Kanade Feature Tracker. Description of the algorithm" Jean-Yves Bouguet. Intel Corporation Microprocessor Research Labs (http: //www. intel.com). В качестве данных используются массивы С, D и массив координат точек на контуре АО. Далее в блоке сравнения 67 проверяется, найдены ли точки на видеокадре D. Если точки найдены, то в блоке 62 определяются ячейки внутри контура АО на видеокадре D, заданном этими точками. Далее сохраняется информация о разметке АО на видеокадре D в блоке 63. В блоке 68 проверяется, нужно ли продолжать процесс - автор не прервал процесс? Если процесс нужно продолжать в блоке 69, массиву С присваивается значение массива D, в качестве массива координат точек принимается массив координат точек, определенных для видеокадра D, и затем процесс повторяется, начиная с блока 64. Процесс продолжается, пока находятся точки контура в блоке 66, условие проверяется в блоке 67, и пока он не прерывается автором, условие проверяется в блоке 68.

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

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

В блоке 82 (фиг.9) происходит формирование изображения маркеров объектов и его наложение на содержимое видеокадра в соответствии с координатами, содержащимися в разметке кадра. Блок 83 производит отображение на экране монитора видеокадра. В блоке сравнения 84 производится определение, находится ли указатель мыши в области разметки АО, для этого используется информация, полученная на этапе декодирования в блоке 81. В случае, если эти координаты попадают в ячейку какого-либо из АО, то в блоке 85 - на экран под изображением курсора выводится всплывающая подсказка - наименование объекта. Далее в блоке сравнения 86 проверяется, нажата ли левая клавиша манипулятора (мышь), если нажата, то в блоке 87 осуществляется переход согласно первой гиперссылке объекта, находящейся в зоне видимости. Блок 87 также запоминает номер видеофайла и номер видеокадра, с которого был осуществлен переход, для обеспечения на этапе воспроизведения возможности возврата обратно на видеокадр, с которого был осуществлен переход. Это осуществляется аналогично Интернет броузерам, но в новом применении к просмотру видео. Далее процесс повторяется, начиная с блока 81 для нового видеокадра после осуществления перехода. Если же нажата правая клавиша мыши, что проверяется в блоке сравнения 88, то на экран монитора блоком 89 выводится меню - список наименований гиперссылок. Если правая кнопка мыши не нажата, то блоком 90 выполняется переход на следующий видеокадр в соответствии с программой воспроизведения. Далее процесс повторяется начиная с блока 81 для нового видеокадра после осуществления перехода. После выведения меню блоком 89 при выборе одной из гиперссылок, подводе на нее курсора и нажатия с помощью левой клавиши мыши, что проверяется блоком 91, будет произведено действие, заданное этой ссылкой блоком 92. Если не выбран ни один из пунктов меню в блоке 91, то блоком 90 выполняется переход на следующий видеокадр в соответствии с программой воспроизведения. Далее процесс повторяется начиная с блока 81 для нового видеокадра.

Декодирование карт из файла сценария осуществляют следующим образом (фиг.10, 11).

На вход декодировщика (фиг.10) блок 100 поступает массив закодированных координат АО - карт. Далее в блоке сравнения 101 проверяется: эта карта ключевая или нет. Карта - ключевая, если все входящие в нее карты АО ключевые. Если она ключевая, то в блоке 102 все входящие в данную карту карты АО декодируются следующим способом. Выбирается карта одного АО в блоке 120 (фиг.11). Далее в блоке 121 результирующая матрица заполняется нулями. Затем блок 122 осуществляет выбор ординаты Y0 начальной ячейки АО, которая определялась на этапе кодирования блок 4 (фиг.5). Далее в блоке 123 (фиг.11) ординате текущей декодируемой линии для ячеек присваивается значение Y0. Затем в блоке 124 извлекается из карты АО первый отрезок линии разметки АО и соответствующие данному отрезку ячейки в матрице (предварительно заполненной нулями в блоке 121), заполняются номером данного АО. Далее в блоке сравнения 125 проверяется следующая запись в карте - это модификатор разрыва? Если да, то извлекается следующий отрезок с ячейками в блоке 124. Если это не модификатор разрыва, то в блоке сравнения 126 проверяется данная запись - модификатор пропуска? Если это модификатор пропуска, то в блоке 127 присваивается ординате текущей декодируемой линии с рядом ячеек значение, определенное параметром модификатора пропуска. Если это не модификатор пропуска, то в блоке сравнения 128 проверяется текущая запись в карте АО - модификатор повтора? Если это модификатор повтора линии с ячейками, то в блоке 129 производится копирование координат текущего ряда (строки) результирующей матрицы на следующие смежные ряды, количество которых указано в параметре модификатора. Далее в блоке 130 производится присваивание ординате текущей декодируемой строке ряда ячеек значения ординаты предыдущей декодируемой строки плюс значение параметра модификатора. Если текущая запись в карте АО - не модификатор повтора, то в блоке 131 увеличивается значение ординаты предыдущего декодируемого ряда ячеек (строки) на единицу. Процесс продолжается, пока будет обнаружен хотя бы один отрезок линии ряда ячеек с текущей ординатой Y. Это условие проверяется в блоке 132. В результате получается матрица (например, как показано на фиг.1), в ячейках которой соответственно координатам АО хранятся значения номеров АО, а во всех остальных ячейках - нули. Результат выполнения декодирования блока 102 (фиг.10) запоминается в блоке 104 и в буфере ключевых карт АО - блоке 103. Блок 103 служит для ускорения процесса декодирования относительных карт АО. Если результат сравнения блока 101 будет "НЕТ", то значит, что эта карта относительная. Тогда в блоке 105 производится выбор карты одного АО из буфера ключевых карт блока 103, а если ключевая карта отсутствует в блоке 103, то она выбирается из блока 100 и декодируется блоком 106 (фиг.10), как ранее показано в блоках 120-132 (фиг. 11).

Далее в блоке 107 (фиг.10) смещается разметка АО, определенная на ключевой карте, на параметры вектора смещения, описанные в относительной карте АО. Затем в блоке 108 декодируется разность между разметкой АО на ключевой карте и относительной, методом, описанным выше в блоках 120-132 (фиг.11). Далее в блоке 109 (фиг.10) прибавляется разность, определенная в блоке 108, к смещенной в блоке 107 на параметры вектора смещения разметки АО. Процесс продолжается для всех АО, описанных в этой карте, начиная с блока 105. Это условие проверяется в блоке 110.

Пример конкретного осуществления способа поясняется ниже (фиг.12-19).

Редактор активного видео (АВ Редактор) включает полный набор средств создания Файлов Сценария АВ. Автор может создать новый файл сценарий АВ или открыть существующий проект (файл сценария АВ). Для создания и редактирования Сценария АВ выполняют следующие действия:
- Установка свойств Сценария.

- Управление медиафайлами.

- Создание и редактирование Программ воспроизведения.

- Создание и редактирование АО.

- Создание разметки АО.

Редактор АВ реализован в интерфейсе, позволяющем создавать файлы сценариев несколько медиафайлов в одном проекте (фиг.12).

Установка свойств сценария реализована через вызов "Project->Оptions" из меню АВ Редактора. Важной операцией является установка размерности сетки для дискретизации регионов разметки АО, которая выбирается автором, исходя из его предпочтений в точности разметки. Разметка всех АО создается в координатах сетки, так, установка малого размера ячейки сетки предоставляет автору возможность точнее размечать регионы АО, что, в то же время, приведет к увеличению размера Файла Сценария и повышению загрузки процессора во время воспроизведения АВ. Наоборот, установка большого размера ячейки сетки приведет к уменьшению файла сценария и снижению загрузки процессора. Автор также устанавливает свое имя и описание сценария в операциях проекта АВ. Также устанавливается первая Программа воспроизведения, которая должна выполняться первой при проигрывании Файла Сценария. Первая Программа воспроизведения выбирается из списка созданных на данный момент.

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

Создание и редактирование Программ воспроизведения осуществляют через интерфейс Инспектора Программ воспроизведения (Playlists Inspector) (фиг.12, 16). Автор может создавать, удалять, редактировать Программы воспроизведения. Автор вводит имя, описание Программы воспроизведения, выбирает медиафайл, стартовый кадр, команды Программы воспроизведения. Команды являются важной частью Программы воспроизведения в процессе его создания. Как минимум один медиафайл должен быть добавлен в проект до создания первой Программы воспроизведения. Концепция Программ воспроизведения позволяет создавать сложные последовательности проигрывания, включая циклы, паузы, остановки, изменения скорости проигрывания, включение или выключение звука, вызовы одной Программы воспроизведения из другой, создавая, таким образом, множество Программ воспроизведения. Эта гибкость достигается с помощью команд, перечисленных ниже в таблице 1.

Каждая команда имеет 3 обязательных параметра и переменное количество дополнительных параметров. 2 обязательных параметра - "видеофайл запуска" и "кадр запуска" определяют событие - точку Программы воспроизведения, где данная команда будет выполняться. Соответственно, если Программа воспроизведения построена таким образом, что эта точка (кадр или файл) не будет достигнута, эта команда никогда не выполнится.

В данном редакторе АВ команды Программы воспроизведения видны автору в нижней части окна Edit Playlist. Соответствующие кнопки позволяют автору управлять командами Программы воспроизведения - добавить, удалить, редактировать. Автор может выбрать из списка любые доступные для применения команды.

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

Тип связи "Программа воспроизведения" (фиг.15 в) является значением по умолчанию, появляющимся в выпадающем меню Инспектора Объектов. Тип связи "Программа воспроизведения как внешний процесс" используется для проигрывания звука одновременно с текущим проигрыванием видео. Тип связи АО "выполнить файл и проиграть видео" служит для связи АО с любыми другими файлами. Например, если пользователь АВ Проигрывателя (версия для ОС Windows) кликнет по такой связи, соответствующее Windows приложение будет запущено и ассоциированный с приложением файл загрузится в это приложение. В случае типа связи "выполнить файл и приостановить видео" клик по такой связи запускает приложение с требуемым файлом, но при этом приостанавливает просмотр текущего видео. По последним двум типам связей автор указывает пути к файлам либо URL сайта в сети Интернет или Интранет. Тип связи "потоковое видео" позволяет установить соединение с потоковым видео.

Для управления показом связей во время проигрывания Сценария АВ служит параметр "доступность связи на множестве кадров" (фиг.15 г). Это означает, что, в случае вызова контекстного меню пользователем АВ Проигрывателя, связь будет доступна в меню, если кадр, на котором вызов меню произошел, попадает в диапазон кадров доступности связи. В случае непопадания кадра в диапазон доступности связи эта связь будет недоступна. Доступность связей управляется из окна Редактирования Условий Связи, которое содержит 3 поля: ссылка на медиафайл, начальный и конечный кадр для определения диапазона кадров доступности связи. Если не указано никаких условий, связь рассматривается как доступная на любом видеокадре любого медиафайла, включенного в текущий проект (конечно, если разметка АО присутствует на кадре).

Разметка областей АО может быть выполнена многими средствами АВ Редактора. Чтобы создать разметку для определенного объекта, автор должен выбрать из списка выпадающего Меню Активных Объектов, соответствующий АО. После этого автор находит кадр, на котором необходимо нанести разметку, используя средства навигации, доступные на инструментальной линейке АВ Редактора (фиг. 12, 13). Инструментальная линейка включает кнопки управления проигрыванием: Проиграть, Пауза, Стоп, Перейти на первый кадр, Перейти на последний кадр, Перейти на кадр назад, Перейти на кадр вперед, Перейти на 25 кадров вперед, Перейти на 25 кадров назад.

Кнопки, предоставляющие доступ к функциям "Определение Сцены", "Покадровое действие", служат для облегчения труда автора разметки АО сценария. Функция "Определение сцены" сходна с функцией "Проиграть" за исключением того, что проигрывание останавливается в случае смены сцены. Чувствительность данной функции регулируется параметрами "Определение сцены", доступными по "File->Рrefer". Функция покадрового просмотра обрабатывает видеофайл без потерь или пропусков кадров. Используется в комбинации с выпадающим меню. С параметром меню "нет действий" используется только для навигации. Одна пара кнопок интерфейса АВ Редактора работает, пока автор держит их прижатыми с помощью клавиш мыши - АВ Редактор проигрывает видео по кадрам и выполняет выбранные действия. Когда автор освобождает кнопки, программа останавливает проигрывание по кадрам. Другая пара кнопок реализует ту же функцию, но, в отличие от предыдущей, автору нет необходимости удерживать кнопки - автор нажимает кнопку управления для начала покадрового редактирования и АВ Редактор выполняет заданное действие до тех пор, пока автор повторно не нажмет ту же кнопку для окончания покадрового редактирования.

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

Ручные методы включают использование следующих инструментов: Селектор Объектов, Карандаш, Авто заполнение, Заливка, Стирание, Передвижение. Автор выбирает инструмент нажатием соответствующих кнопок на инструментальной панели "Разметка".

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

Способ автоматизированной разметки позволяет отслеживать изменения формы, смещений объектов и наносить скорректированную разметку на следующий кадр с минимальным использованием ручных средств. Автор выбирает АО, вручную определяет контур изображения объекта, который будет соответствовать АО, и запускает процесс автоматического слежения. АВ Редактор переходит на следующий кадр и определяет контур на следующем кадре на основании данных контура предыдущего кадра. Далее процесс отслеживания повторяется от кадра к кадру, пока автор его не остановит. На каждом шагу используется информация предыдущего кадра.

После окончания процессов описаний и разметки, автор сохраняет сценарий в файл АВ Сценария (фиг.12) с помощью средств управления файлами главного меню АВ Редактора "File->Save project" or "File->Save project as...".

Проигрыватель Активного Видео (АВ Проигрыватель) (фиг.17) предназначен для чтения, проигрывания интерактивных АВ Сценариев и медиафайлов. АВ Сценарии представляют собой интерактивное видео, управление показом которого может осуществляться непосредственно через объекты, показываемые на экране. Персонажи, предметы, товары или другие визуальные объекты, которые зритель видит на экране АВ Проигрывателя, могут откликаться на запросы зрителя. Зритель может обращаться к таким Активным Объектам посредством, например, кликов манипулятора. В ответ на клики зрителя, производимые непосредственно по области Активного Объекта, АВ Проигрыватель возвращает связанную с данным АО информацию. Например, запускается другая Программа воспроизведения Активного Видео, обычное видео, потоковое видео, либо передается управление другим приложениям, ответственным за обработку специфичных файлов, например, документы, гипертекстовые страницы, графика и т.д. (фиг.17). У одного и того же АО могут быть разные гиперссылки в контекстном меню, в зависимости от видеокадра, на котором произошел клик манипулятора.

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

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

При клике правой клавишей манипулятора выводится контекстное меню (фиг. 18). Контекстное меню состоит из нескольких частей: имя АО, список наименований гиперссылок. АО может иметь любое число гиперссылок, первая из которых есть ссылка по умолчанию. Один и тот же АО может иметь разные гиперссылки в зависимости от видеокадра, на котором контекстное меню вызывается.

Щелчок правой кнопкой по зоне экрана, где нет АО, вызовет общее меню управления АВ Проигрывателя, которое не завит от контекста текущего показа.

Разработана и проверена версия АВ Проигрывателя, реализующая вышеперечисленный функционал, в среде Windows 98/Me/2000/XP.

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


Формула изобретения

1. Способ объектно-ориентированной интерактивной обработки видеоинформации, включающий этап создания файла сценария и этап воспроизведения видеоизображений, при этом на этапе создания файла сценария выводят на экран монитора видеокадр с изображением по меньшей мере одного визуального объекта, предназначенного в последующем для его активизации на этапе воспроизведения, - активного объекта, разбивают видеокадр на XY ячеек, где Х и Y-1, 2, 3. . . , имеющих форму элементарных квадратов или прямоугольников, выделяют ячейки, местоположение которых совпадает и не совпадает на видеокадре с местоположением активного объекта, присваивая ячейкам, совпадающим с местоположением ячеек активных объектов, соответствующие им номера и присваивая нули ячейкам, местоположение которых не совпадает с местоположением ячеек активных объектов, производят внутрикадровое кодирование, формируют массив данных карты для всех активных объектов данного видеокадра, формируют и запоминают свойства активных объектов, формируют и запоминают переход, соответствующий данному активному объекту, причем если положение активных объектов в следующих видеокадрах видеофайла постоянно, то для таких видеокадров карта предыдущего видеокадра принадлежит им, а если положение активных объектов в следующем видеокадре изменяется, то формируют новую карту для этих активных объектов, формируют и запоминают файл сценария, образованный последовательностью карт, в которой каждая карта соответствует по меньшей мере одному видеокадру видеофайла, при этом на этапе воспроизведения видеоизображений используют видеофайл, файл сценариев и текущую информацию положения курсора манипулятора на экране монитора, при перемещении курсора манипулятора на экране монитора и при совпадении местоположения курсора с активным объектом - с теми ячейками, местоположение которых совпадает на видеокадре с местоположением активного объекта, вид курсора преобразуют, при совпадении курсора с местоположением активного объекта и при нажатии одной из клавиш манипулятора осуществляют переход, соответствующий данному активному объекту и запомненный на этапе создания файла сценария, а при воспроизведении видеокадра видеофайла с другим активным объектом на этом же видеокадре при совпадении курсора с местоположением другого активного объекта и при нажатии этой же клавиши манипулятора осуществляют переход, соответствующий другому активному объекту, отличающийся тем, что для формировании массива данных карты всех активных объектов видеокадра внутрикадровое кодирование производят путем выделения по одной из координат Х или Y крайнего ряда, состоящего из ячеек активного объекта, определения координат крайних ячеек этого ряда, определения координат двух крайних ячеек в последующих рядах, при этом если крайний и последующий ряды содержат ячейки, местоположение которых не совпадает с местоположением активного объекта в этих рядах, то в массив данных карты вводят модификатор разрыва ряда ячеек и запоминают координаты крайних ячеек активного объекта в месте разрыва ряда, анализируют каждый последующий ряд на предмет отсутствия в ряду ячеек активных объектов, и если ряд свободен от ячеек активных объектов, то вводят модификатор пропуска ряда, анализируют каждый последующий ряд на предмет идентичности предыдущего и последующих, смежных с ним рядов, если они идентичны, то вводят модификатор повтора ряда, после внутрикадрового кодирования запоминают карту видеокадра, при изменении геометрической формы и/или положения активного объекта в следующем видеокадре производят его межкадровое кодирование, при котором если положение ячеек активного объекта в следующем видеокадре изменяется, а его геометрическая форма сохраняется, то в массив данных карты следующего видеокадра вводят параметры вектора смещения ячеек активного объекта, если изменяется положение ячеек активного объекта и его геометрическая форма, то производят упомянутое внутрикадровое кодирование этого видеокадра, получая массив данных А, далее вводят в массив данных параметры вектора смещения ячеек активного объекта и вычисляют разность между двумя матрицами массивов данных для активного объекта на предыдущем и следующем видеокадре, получая разностную матрицу, полученную разностную матрицу кодируют упомянутым внутрикадровым кодированием, получая массив данных В, сравнивают размер в байтах массива данных А с массивом данных В по формуле
W= { [Р(А)-Р(В)] /Р(А)} 100%,
где W - вычисляемая величина выигрыша в %;
Р(А) - размер массива А;
Р(В) - размер массива В,
и если величина W>K, где К - величина заданного порога, то сохраняют массив В в качестве массива данных следующей карты и при определении местоположения активного объекта этого видеокадра используют массив данных А предыдущей карты, а если W<K, то сохраняют массив данных А в качестве массива следующей карты, формирование и запоминание свойств активных объектов производят путем установки связей с помощью по меньшей мере одной гиперссылки для каждого активного объекта, при этом связь устанавливают с различными источниками цифровых данных, при формировании и запоминании перехода, соответствующего данному активному объекту, формируют последовательность показа других заданных видеокадров для данного активного объекта, на этапе воспроизведения производят декодирование карт файла сценария, при совпадении положения курсора манипулятора на экране монитора с активным объектом и при нажатии одной из клавиш манипулятора осуществляют переход по первой доступной гиперссылке, сформированной и запомненной на этапе создания файла сценария, при совпадении положения курсора манипулятора на экране монитора с активным объектом и при нажатии другой из клавиш манипулятора осуществляют выбор из меню нескольких гиперссылок и при нажатии затем другой клавиши манипулятора на одну из гиперссылок этого меню осуществляют переход в соответствии со связью этой гиперссылки с соответствующим источником цифровых данных.

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

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

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

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

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

7. Способ по п. 1, отличающийся тем, что на этапе воспроизведения запоминают переходы по гиперссылкам активных объектов, для возврата к сюжетам от которых и на которые были выполнены переходы.

8. Способ по п. 1, отличающийся тем, что на этапе воспроизведения активные объекты маркируют.

9. Способ по п. 1, отличающийся тем, что на этапе воспроизведения при совпадении местоположения курсора манипулятора с местоположением активного объекта формируют всплывающую подсказку.

10. Способ по п. 1, отличающийся тем, что декодирование производят путем операции, обратной кодированию.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16, Рисунок 17, Рисунок 18, Рисунок 19, Рисунок 20, Рисунок 21

MM4A Досрочное прекращение действия патента из-за неуплаты в установленный срок пошлины заподдержание патента в силе

Дата прекращения действия патента: 04.10.2009

Дата публикации: 10.01.2011

PC4A Государственная регистрация договора об отчуждении исключительного права

Дата и номер государственной регистрации договора: 13.01.2011 № РД0075146

Лицо(а), передающее(ие) исключительное право:
Общество с ограниченной ответственностью "Мир Сетей"

(73) Патентообладатель(и):
Общество с ограниченной ответственностью "ИнтерВидео Групп"

Адрес для переписки:
ООО «Патентно-правовая фирма «ЮС», С.В.Ловцову, пр-кт Мира, 6, Москва, 129090

Дата публикации: 20.02.2011




 

Похожие патенты:

Изобретение относится к средствам вычислительной техники и предназначено для интерактивной обработки видеоинформации

Изобретение относится к обработке информации и может быть использовано при обработке данных изображения

Изобретение относится к автоматике и вычислительной технике

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

Изобретение относится к устройству обработки изображения, которое функционирует постоянно и включает средства контроля за ее внутренней обработкой изображения

Изобретение относится к оптоэлектронным нейроподобным модулям для нейросетевых вычислительных структур и предназначено для применения в качестве операционных элементов у нейрокомпьютерах

Изобретение относится к области бионики и вычислительной техники и может быть использовано при построении систем распознавания образов

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

Изобретение относится к вычислительной технике, информатике и может быть использовано во всех сферах человеческой деятельности как система предоставления информации

Изобретение относится к цифровой передаче данных по цифровой сети

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

Изобретение относится к компьютерным устройствам, в частности к компьютерным устройствам для разработки и выполнения прикладных компьютерных программ

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

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

Изобретение относится к автоматике и вычислительной технике и может быть использовано для решения задач по определению вхождений слов в абзац

Изобретение относится к автоматике и вычислительной техники и может быть использовано для решения задач по определению вхождений слов в абзац

Изобретение относится к электросвязи и может быть использовано для поиска информации

Изобретение относится к вычислительной технике и может быть использовано в компьютерных системах активного видео
Наверх