ФЕДЕРАЛЬНАЯ СЛУЖБА ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ, ПАТЕНТАМ И ТОВАРНЫМ ЗНАКАМ
(19)
RU
(11)
2212709
(13)
C1
(51) МПК 7 G06T1/20, G06F17/30
(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ
Статус: по данным на 28.03.2011 – действует
(21), (22) Заявка: 2002126246/09, 03.10.2002
(24) Дата начала отсчета срока действия патента:
03.10.2002
(45) Опубликовано: 20.09.2003
(56) Список документов, цитированных в отчете о поиске:
RU 2173883 С2, 20.09.2001. WO 9844435 A1, 08.10.1998. RU 2045095 C1, 27.09.1995. JP 11161811 А, 18.06.1999.
Адрес для переписки:
103009, Москва, а/я 184, ППФ “ЮС”, пат.пов. В.В.Курьянову (для ООО “Мир Сетей”)
(71) Заявитель(и):
Общество с ограниченной ответственностью “Р.Т.С.-Сервис”, Общество с ограниченной ответственностью “Мир Сетей”
(72) Автор(ы):
Гницевич А.В.
(73) Патентообладатель(и):
Общество с ограниченной ответственностью “Р.Т.С.-Сервис”, Общество с ограниченной ответственностью “Мир Сетей”
(54) СПОСОБ ОБЪЕКТНО-ОРИЕНТИРОВАННОЙ ИНТЕРАКТИВНОЙ ОБРАБОТКИ ВИДЕОИНФОРМАЦИИ
(57) Реферат:
Изобретение относится к вычислительной технике и может быть использовано в компьютерных системах активного видео. Технический результат заключается в увеличении производительности обработки большого количества визуальных объектов. Способ интерактивной обработки включает этапы создания файла сценария и воспроизведения видеоизображений. Для формирования карты для всех активных объектов (АО) видеокадра внутрикадровое кодирование осуществляют путем выделения рядов, состоящих из ячеек активного объекта. При изменении геометрической формы или положения АО в следующем видеокадре производят межкадровое кодирование. Проводят вычисления для уменьшения объема данных. Формирование и запоминание свойств АО производят путем установки связей с помощью по меньшей мере одной гиперссылки для каждого активного объекта. На этапе воспроизведения производят декодирование карт файла сценария. 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а.
Схема внутрикадрового кодирования карт в файл сценария: