ИДЕНТИФИКАЦИЯ КЛЮЧЕВОГО КАДРА ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ НА ОСНОВЕ ОГРАНИЧЕННОГО КОНТЕКСТА
LIMITED CONTEXT-BASED IDENTIFICATION OF KEY FRAME OF VIDEO SEQUENCE

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к просмотру видеопоследовательностей и, в частности, к идентификации ключевого кадра в видеопоследовательности для обеспечения просмотра видеопоследовательностей на основе соответствующих ключевых кадров.
УРОВЕНЬ ТЕХНИКИ
По мере увеличения объема накопителей информации и улучшения качества съемки видеокамерами пользователи в большей степени применяют свои мобильные устройства для получения видеоинформации и обмена ею с другими пользователями. Один из основных недостатков, обусловленных ростом использования видеоинформации, проявляется в процессе просмотра в среде графического интерфейса пользователя требуемых видеоклипов или видеопоследовательностей. Формирование краткого представления видеопоследовательности относится к семейству технологий для создания краткого представления видеопоследовательности, содержащей одну или более сцен, каждая из которых содержит один или более кадров. Краткое представление видеопоследовательности может принимать различные формы и в различных случаях может включать вырезку видеопоследовательности на уровне сцены или кадра. В отношении вырезки видеопоследовательности на уровне сцены, краткое представление видеопоследовательности может принимать форму, например, обзорного видео, включающего некоторые сцены, при этом другие сцены вырезаются. В отношении вырезки видеопоследовательности на уровне кадра, краткое представление видеопоследовательности может принимать форму, например, функции быстрого просмотра ключевых кадров видеопоследовательности или неподвижной или анимированной раскадровки одного или более ключевых кадров или пиктограмм одного или более ключевых кадров. Краткое представление видеопоследовательности может обеспечивать идентификацию пользователем требуемой видеопоследовательности среди похожих кратких представлений других видеопоследовательностей. Кроме того, краткое представление видеопоследовательности может обеспечивать быстрое узнавание пользователем видеопоследовательности, поскольку пользователю гораздо проще идентифицировать требуемое видео.
Хотя в настоящее время разработан ряд способов формирования краткого представления видеопоследовательности, имеется необходимость усовершенствования этих способов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В свете приведенного описания уровня техники в примерах осуществления настоящего изобретения представлено усовершенствованное устройство, способ и машиночитаемый носитель информации для идентификации одного или более ключевых кадров видеопоследовательности, содержащей множество кадров. Один из аспектов примеров осуществления настоящего изобретения связан с устройством, содержащим по меньшей мере один процессор и по меньшей мере один модуль памяти, в которой хранится компьютерный программный код. Модуль/модули памяти и компьютерный программный код сконфигурированы таким образом, чтобы при взаимодействии с процессором (процессорами) устройство по меньшей мере выполняло ряд операций.
Устройство принимает видеопоследовательность, содержащую множество кадров, и выполняет ряд операций при приеме каждого из по меньшей мере некоторых кадров, но перед приемом всех кадров. В связи с этим, устройство вычисляет оценку для кадра в виде функции от значения каждого из одного или более свойств изображения кадра. Эти свойства могут включать, например, одно или более из следующего: яркость, обнаружение точек края, полутоновая или цветовая энтропия изображения кадра. Устройство выполняет сравнение оценки для кадра с заранее заданным пороговым значением и инициирует вывод кадра в качестве ключевого кадра в том случае, если кадр принимается в течение заданного периода времени и оценка для кадра выше заранее заданного порогового значения. В противном случае, если в течение заданного периода времени кадры с оценкой выше заранее заданного порогового значения не принимаются, устройство инициирует вывод в качестве ключевого кадра одного из кадров, принятых в течение заданного периода времени. В этом случае кадр, выводимый в качестве ключевого кадра, представляет собой кадр с наивысшей оценкой среди кадров, принятых в течение заданного периода времени.
При приеме каждого из по меньшей мере некоторых кадров после вывода ключевого кадра устройство может также инициировать выполнение вычисления оценки для кадра и сравнения взвешенной оценки для кадра с оценкой для ключевого кадра, при этом взвешенная оценка представляет собой оценку для кадра, взвешенную с использованием весового коэффициента. Затем устройство может инициировать обновление ключевого кадра упомянутым кадром в том случае, если взвешенная оценка для этого кадра выше оценки для ключевого кадра.
Дополнительно или альтернативно, устройство может инициировать прием вводимых пользователем данных для выбора в качестве ключевого кадра принятого кадра видеопоследовательности, при этом вводимые пользователем данные принимаются перед приемом всех кадров видеопоследовательности. В ответ на прием вводимых пользователем данных, устройство может инициировать вывод одного из принятых кадров в качестве ключевого кадра. Например, устройство может инициировать вывод одного из принятых кадров, который характеризуется наивысшей оценкой среди множества принятых кадров.
В различных случаях видеопоследовательность может содержать длинный сегмент и/или множество сегментов, каждый из которых содержит множество кадров. В таких случаях устройство может инициировать выполнение различных операций, включая инициирование вывода кадра в качестве ключевого кадра в множестве случаев для длинного сегмента или для каждого из по меньшей мере некоторых сегментов видеопоследовательности. Кроме того, в тех случаях, когда принимаются по меньшей мере некоторые кадры до приема всех кадров видеопоследовательности, устройство может также инициировать обнаружение по меньшей мере некоторых сегментов.
d
При обнаружении по меньшей мере некоторых сегментов устройство может выполнять вычисление межкадрового различия между изображениями одной или более последовательных пар кадров и идентифицировать пару кадров в качестве границы между сегментами, и, таким образом, обнаруживать окончание одного сегмента и начало следующего сегмента в том случае, если межкадровое различие превышает второе пороговое значение (например, T). В этом отношении межкадровое различие может вычисляться как функция от значений каждого из одного или более вторых свойств изображений соответствующих кадров.
В более конкретном примере осуществления изобретения при идентификации пары кадров в качестве границы между сегментами устройство может инициировать идентификацию пары кадров в качестве потенциальной границы между сегментами в том случае, если межкадровое различие превышает второе пороговое значение. Устройство может затем инициировать выполнение вычисления информации о движении для идентифицированной пары кадров и/или одной или более последовательных пар кадров после идентифицированной пары кадров. Кроме того, устройство может инициировать идентификацию пары кадров в качестве фактической границы между сегментами в том случае, если пара кадров удовлетворяет одному или более условиям, по меньшей мере одно из которых представляет собой функцию информации о движении.
Устройство может также инициировать группирование по меньшей мере одного множества кадров, выводимых в качестве ключевых кадров, на основе идентификации того, что по меньшей мере два кадра в каждом множестве являются похожими. В таких случаях соответствующие кадры могут идентифицироваться как похожие на основе значений одного или более третьих свойств изображений соответствующих кадров. К третьим свойствам могут относиться, например, одно или более из следующего: блочная гистограмма, цветовая гистограмма или порядковая последовательность.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
После общего описания настоящего изобретения будут сделаны ссылки на прилагаемые чертежи, которые не обязательно выполнены в масштабе.
На фиг.1 показана структурная схема системы в соответствии с примерами осуществления настоящего изобретения.
На фиг.2 показана структурная схема устройства системы, изображенной на фиг.1, в соответствии с примерами осуществления настоящего изобретения.
На фиг.3 показана функциональная схема устройства, изображенного на фиг.2, в соответствии с примерами осуществления настоящего изобретения.
На фиг.4 показаны блок-схемы выполнения различных операций способа обнаружения сегмента видеопоследовательности согласно примерам осуществления настоящего изобретения.
На фиг.5 показан способ ромбовидного поиска в соответствии с примерами осуществления настоящего изобретения.
На фиг.6 в соответствии с примерами осуществления настоящего изобретения показаны блок-схемы выполнения различных операций способа идентификации одного или более ключевых кадров на основе сегмента видеопоследовательности.
На фиг.7 в соответствии с примерами осуществления настоящего изобретения показана блок-схема выполнения различных операций способа обновления ключевого кадра сегмента видеопоследовательности.
На фиг.8 в соответствии с примерами осуществления настоящего изобретения показаны блок-схемы выполнения различных операций способа группирования ключевых кадров видеопоследовательности.
На фиг.9 показан пример вычисления порядковой последовательности и наиболее длинной общей подпоследовательности (LCS, longest common subsequence) из ряда последовательностей в соответствии с примерами осуществления настоящего изобретения.
На фиг.10 показан пример группирования ключевых кадров в соответствии с примерами осуществления настоящего изобретения.
На фиг.11 в соответствии с примерами осуществления настоящего изобретения показаны блок-схемы выполнения различных операций способа приема и вывода выбранного кадра в качестве ключевого кадра сегмента видеопоследовательности.
На фиг.12-15 показаны примеры отображений, которые могут быть представлены устройством в соответствии с примерами осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ниже более подробно описаны примеры выполнения настоящего изобретения со ссылками на приложенные чертежи, на которых показаны некоторые, но не все варианты выполнения настоящего изобретения. Изобретение может быть реализовано во многих разных формах и не ограничивается описываемыми вариантами его выполнения; варианты осуществления настоящего изобретения представлены для выполнения требования промышленной применимости изобретения. В данном описании одинаковые позиции соответствуют одинаковым элементам. В этом описании могут использоваться термины, специфичные для конкретной системы, архитектуры и т.п., однако следует понимать, что примеры осуществления настоящего изобретения могут также применяться для других подобных систем, архитектур и т.п.
В некоторых вариантах выполнения настоящего изобретения термины "данные", "контент", "информация" и аналогичные термины могут использоваться взаимозаменяемо для описания данных, которые можно передавать, принимать, хранить и/или которыми можно управлять. Термин "сеть" может означать группу взаимосвязанных компьютеров или других вычислительных устройств. В сети эти компьютеры или другие вычислительные устройства могут быть непосредственно или косвенно взаимосвязаны с использованием различных средств, включая один или более коммутаторов, маршрутизаторов, шлюзов, точек доступа и т.п.
Используемый в описании термин "схема" относится к следующему: (а) только к аппаратными реализациям (таким как реализации только на аналоговых и/или цифровых схемах) и (б) к комбинациям схем и программного обеспечения (и/или встроенного программного обеспечения) (таким как, применительно к конкретному контексту, (i) комбинация процессора (процессоров) или (ii) части процессора (процессоров) / программного обеспечения (включая процессор (процессоры) цифровой обработки сигналов, программное обеспечение и модуль (модули) памяти, которые работают совместно, чтобы заставить устройство, такое как мобильный телефон или сервер, выполнять различные функции) (в) к схемам, таким как микропроцессор (микропроцессоры) или часть микропроцессора (микропроцессоров), для работы которых необходимо программное обеспечение или встроенное программное обеспечение, даже если это программное обеспечение или встроенное программное обеспечение физически не присутствует.
Это определение термина "схема" используется везде в данном описании, включая формулу изобретения. В качестве другого примера использования в данном описании этого термина, термин "схема" также охватывает реализацию просто процессора (или множества процессоров) и сопровождающего его (или их) программного или встроенного программного обеспечения. Термин "схема" охватывает также в применении к конкретному признаку формулы изобретения, например, интегральную схему основной полосы частот или интегральную схему процессора приложений в мобильном телефоне или аналогичную интегральную схему в сервере, устройстве сотовой сети связи или других сетевых устройствах.
Кроме того, как описывается ниже, различные сообщения или другие данные для связи могут передаваться или иным образом пересылаться из одного компонента или устройства в другой компонент или устройство. Следует понимать, что процесс передачи сообщения или других данных для связи может заключаться не только в передаче этого сообщения или данных, но может также включать подготовку сообщения или других данных для связи с помощью передающего устройства или различных средств передающего устройства.
На фиг.1 показана одна из систем, в которой могут использоваться преимущества настоящего изобретения. Система, способ и компьютерный программный продукт в соответствии с примерами осуществления настоящего изобретения вначале описываются без учета среды, в которой функционируют система, способ и компьютерный программный продукт. Однако следует понимать, что система, способ и компьютерный программный продукт могут работать в различных средах, включая среды для мобильных и/или стационарных устройств, проводную и/или беспроводную среды, автономную и/или сетевую среды и т.п. Например, система, способ и компьютерный программный продукт в соответствии с примерами осуществления настоящего изобретения могут работать в средах мобильной связи, в которых мобильные терминалы, функционирующие в одной или более сетях мобильной связи, содержат один или более источников видеопоследовательностей или иным образом взаимодействуют с ними.
Система 100 содержит источник 102 видеосигнала и устройство 104 обработки. Хотя эти устройства показаны в виде отдельных компонентов, следует понимать, что в некоторых вариантах осуществления настоящего изобретения одно устройство может представлять собой как источник видеосигнала, так и устройство обработки, логически разделенные, но расположенные в соответствующем объекте. Например, мобильный терминал может содержать логически разделенные, но расположенные совместно, источник видеосигнала и устройство обработки. Однако независимо от способа реализации системы, источник видеосигнала может содержать любое количество различных компонентов, способных предоставлять одну или более видеопоследовательностей. Так же как источник видеосигнала, в соответствии с примерами осуществления настоящего изобретения устройство обработки может содержать любое количество различных компонентов, сконфигурированных для обработки видеопоследовательностей, поступающих из источника видеосигнала. Каждая видеопоследовательность, предоставляемая источником видеосигнала, может включать множество кадров, каждый из которых может содержать изображение, кадр, слайс и т.п. (обычно называемых "изображение") съемки или сцены (обычно называемых "сценой"), которые могут отображать или не отображать один или более объектов. В последовательность могут входить кадры различных типов, такие как кадры с внутренним кодированием (I-кадры), в промежутках между которыми могут содержаться кадры с межкадровым кодированием, такие как кадры с предсказанием изображения (P-кадры) и/или кадры с двойным предсказанием изображения (B-кадры).
Источник 102 видеосигнала может содержать, например, устройство захвата изображений (например, видеокамеру), кассетный видеомагнитофон (VCR, video cassette recorder), проигрыватель универсальных цифровых дисков (DVD, digital versatile disc), видеофайл, хранимый в памяти или загружаемый из сети, и т.п. В этом отношении источник видеосигнала может быть сконфигурирован для предоставления одной или более видеопоследовательностей с использованием различных форматов, включая, например, платформу третьего поколения (3GP, Third Generation Platform), AVI (Audio Video Interleave, формат с чередованием аудио и видеоданных), Windows Media, MPEG (Moving Pictures Expert Group, экспертная группа по вопросам движущегося изображения), QuickTime, RealVideo, Shockwave (Flash) и т.п.
На фиг.2 показано устройство 200, которое может быть сконфигурировано для работы в качестве устройства 104 обработки для выполнения способов в соответствии с примерами осуществления настоящего изобретения. В некоторых примерах осуществления настоящего изобретения устройство может быть реализовано в виде устройства связи с возможностями проводной или беспроводной связи либо может включаться в это устройство в качестве компонента. Пример устройства может содержать один или более процессоров 202, запоминающих устройств 204, интерфейсов 206 ввода/вывода (I/O, Input/Output), интерфейсов 208 связи и/или пользовательских интерфейсов 210 (один из которых показан на чертеже) или иначе взаимодействовать с указанными компонентами.
Процессор 202 может быть реализован в виде различных средств, предназначенных для выполнения различных функций в соответствии с примерами осуществления настоящего изобретения, включая, например, одно или более из следующего: микропроцессор, сопроцессор, контроллер, специализированная интегральная схема, такая как ASIC (application-specific integrated circuit), FPGA (field programmable gate array, программируемая пользователем вентильная матрица), DSP (digital signal processor, цифровой сигнальный процессор) или аппаратный ускоритель, схема обработки или другое аналогичное аппаратное обеспечение. В соответствии с одним из примеров осуществления настоящего изобретения процессор может представлять множество процессоров, один или более многоядерных процессоров, работающих по отдельности или совместно. Многоядерный процессор позволяет выполнять многопроцессорную обработку в одном физическом корпусе. К примерам многоядерных процессоров относятся процессоры с двумя, четырьмя, восемью и более ядрами обработки. Кроме того, процессор может содержать множество транзисторов, логических схем, тактовый генератор (например, осциллятор), другие схемы и т.п., для обеспечения описанной здесь функциональности. Процессор может, но не обязательно, включать один или более сопровождающих цифровых сигнальных процессоров (DSP). Процессор DSP может, например, быть сконфигурирован для обработки фактических сигналов в реальном времени независимо от процессора. Аналогично, сопровождающая схема ASIC может, например, конфигурироваться для выполнения специализированных функций, которые сложно выполнить с помощью процессора общего назначения. В некоторых примерах осуществления настоящего изобретения процессор сконфигурирован для выполнения инструкций, хранимых в запоминающем устройстве или доступных процессору другим способом. Процессор может быть сконфигурирован для работы таким образом, чтобы инициировать устройство для выполнения различных описываемых в этом документе функций.
Процессор 202, сконфигурированный исключительно посредством аппаратного обеспечения или с помощью инструкций, хранимых на машиночитаемом носителе информации, или посредством комбинации этих средств, может представлять собой устройство, способное, при соответствующем конфигурировании, выполнять операции в соответствии с вариантами осуществления настоящего изобретения. Таким образом, в примерах осуществления настоящего изобретения, если процессор реализован полностью или частично в виде схем ASIC, FPGA и т.п., он может содержать специальным образом сконфигурированное аппаратное обеспечение для выполнения описываемых операций. В альтернативных примерах осуществления изобретения, если процессор реализован в виде средства исполнения инструкций, хранимых на машиночитаемом носителе информации, эти инструкции могут специальным образом конфигурировать процессор для выполнения описываемых алгоритмов и операций. В некоторых примерах осуществления изобретения процессор представляет собой процессор конкретного устройства, сконфигурированного для реализации примеров осуществления настоящего изобретения путем дальнейшей конфигурации процессора с помощью исполняемых инструкций, предназначенных для выполнения описываемых алгоритмов, способов и операций.
Запоминающее устройство 204 может представлять собой один или более машиночитаемых носителей данных, которые могут включать энергозависимую и/или энергонезависимую память. В некоторых примерах осуществления настоящего изобретения запоминающее устройство включает память с произвольным доступом (Random Access Memory, RAM), включающую динамическую и/или статическую память RAM, кэш-память, расположенную внутри или вне интегральной схемы и т.п. Также запоминающее устройство может включать энергонезависимую память, которая может быть встроенной и/или съемной и может включать, например, постоянную память, флэш-память, магнитные устройства хранения (например, жесткие диски, приводы гибких дисков, магнитную пленку и т.п.), приводы оптических дисков и/или оптические носители, энергонезависимую память с произвольным доступом (non-volatile random access memory, NVRAM) и т.п. Запоминающее устройство может включать кэш-область для временного хранения данных. В связи с этим, запоминающее устройство или его часть может входить в состав процессора 202.
Запоминающее устройство 204 может быть также сконфигурировано для хранения информации, данных, приложений, машиночитаемых инструкций программного кода и т.п., обеспечивающих возможность выполнения процессором 202 и устройством 200 различных функций в соответствии с описанными примерами осуществления настоящего изобретения. Например, запоминающее устройство может быть сконфигурировано для буферизации входных данных, предназначенных для обработки процессором. Дополнительно или альтернативно, запоминающее устройство может быть сконфигурировано для хранения инструкций, предназначенных для исполнения процессором. Память может быть надежно защищена для обеспечения целостности хранимых в ней данных. В этом отношении может осуществляться проверка доступа к данным с использованием процедур аутентификации и авторизации, основанных на политике управления доступом.
Интерфейс 206 ввода/вывода может представлять собой любое устройство, схемы или средства, выполненные в виде аппаратного обеспечения, программного обеспечения или в виде комбинации аппаратного и программного обеспечения, сконфигурированных для обеспечения интерфейса между процессором 202 и другими схемами или устройствами, например, интерфейсом 208 связи или пользовательским интерфейсом 210. В некоторых примерах осуществления настоящего изобретения процессор может взаимодействовать с памятью через интерфейс ввода/вывода. Интерфейс ввода/вывода может быть сконфигурирован для преобразования сигналов и данных в форму, которая может интерпретироваться процессором. Интерфейс ввода/вывода может также выполнять буферизацию входных и выходных данных для поддержки функционирования процессора. В соответствии с некоторыми примерами осуществления настоящего изобретения процессор и интерфейс ввода/вывода могут быть объединены на одном кристалле или в одной микросхеме, сконфигурированной для выполнения или для обеспечения выполнения устройством 200 различной функциональности в соответствии с настоящим изобретением.
Интерфейс 208 связи может представлять собой любое устройство, схему или средства, выполненные в виде аппаратного обеспечения, программного обеспечения или комбинации аппаратного и программного обеспечения, сконфигурированного для приема данных из одной или более сетей 212 и/или передачи данных в одну или более сетей 212 и/или любое другое устройство или модуль, осуществляющий связь с вариантом устройства 200. Процессор 202 также может быть сконфигурирован для обеспечения связи через интерфейс связи путем, например, управления аппаратным обеспечением, включенным в интерфейс связи. В этом отношении интерфейс связи может содержать, например, одну или более антенн, передатчик, приемник, приемопередатчик и/или аппаратное обеспечение поддержки, включающее, например, процессор для обеспечения связи. Посредством интерфейса связи пример устройства может осуществлять связь с различными другими сетевыми объектами по типу "устройство-устройство" и/или посредством непрямых соединений.
Интерфейс 208 связи может быть сконфигурирован для обеспечения связи в соответствии с любыми стандартами или технологиями проводной или беспроводной связи. Интерфейс связи может быть сконфигурирован для поддержки связи в среде с множеством антенн, например, с множеством входов и множеством выходов (Multiple Input Multiple Output, MIMO). Также интерфейс связи может быть сконфигурирован для поддержки сигнализации мультиплексирования с ортогональным частотным разделением каналов (Orthogonal Frequency Division Multiplexing, OFDM). В некоторых примерах осуществления настоящего изобретения интерфейс связи может быть сконфигурирован для связи в соответствии с различными технологиями, включая, как объяснялось выше, любые технологии мобильной связи второго поколения (2G), третьего поколения (3G), четвертого поколения (4G) или более новых поколений, технологии радиочастотной (RF, radio frequency) связи, технологии передачи данных в инфракрасном диапазоне (IrDA, infrared data association) или другие беспроводные сетевые технологии. Интерфейс связи может быть также сконфигурирован для поддержки связи на сетевом уровне, возможно, с использованием Интернет-протокола (IP, Internet Protocol).
Пользовательский интерфейс 210 может осуществлять связь с процессором 202 для приема данных, вводимых пользователем через этот интерфейс, и/или для представления пользователю вывода в виде, например, звуковой, визуальной, механической или иной выходной индикации. Пользовательский интерфейс может содержать, например, клавиатуру, мышь, джойстик, дисплей (например, сенсорный экран), микрофон, спикер или другие устройства ввода/вывода информации. Кроме того, процессор может включать схемы пользовательского интерфейса, сконфигурированные для управления по меньшей мере некоторыми функциями одного или более элементов пользовательского интерфейса или осуществлять с ними связь. Процессор и/или схема пользовательского интерфейса могут быть сконфигурированы для управления одной или более функциями одного или более элементов пользовательского интерфейса с помощью компьютерных программных инструкций (например, программного и/или встроенного программного обеспечения), хранимых в памяти, доступной процессору (например, в запоминающем устройстве 204). В некоторых из примеров осуществления настоящего изобретения схемы пользовательского интерфейса сконфигурированы для обеспечения пользовательского управления по меньшей мере некоторыми функциями устройства 200 с использованием дисплея, а также сконфигурированы для реагирования на пользовательский ввод. Процессор может также включать схемы дисплея, сконфигурированные для отображения по меньшей мере части пользовательского интерфейса, или осуществлять с ними связь, при этом упомянутые дисплей и схемы дисплея сконфигурированы для обеспечения пользовательского управления по меньшей мере некоторыми функциями устройства 200.
В некоторых случаях устройство 200, описываемое в примерах осуществления настоящего изобретения, может быть реализовано в виде микросхемы или набора микросхем (чипсета). В примере осуществления настоящего изобретения микросхема или чипсет могут быть запрограммированы для выполнения одной или более операций одного или более способов, приведенных в этом описании, и могут включать, например, один или более процессоров 202, одно или более запоминающих устройств 204, один или более интерфейсов 206 ввода/вывода и/или других схемных компонентов, встроенных в один или более физических корпусов (например, микросхем). Например, физический корпус содержит монтажную схему, состоящую из одного или более материалов, компонентов и/или проводников, расположенных в структурном узле (например, на объединительной плате), для обеспечения одной или более характеристик, таких как физическая прочность, малые размеры и/или ограничение уровня электрических помех. Предполагается, что в определенных вариантах осуществления настоящего изобретения микросхема или чипсет могут быть реализованы в рамках одной микросхемы. Предполагается также, что в определенных вариантах осуществления настоящего изобретения микросхема или чипсет могут быть реализованы как одна "система на кристалле". Также предполагается, что в определенных вариантах осуществления настоящего изобретения, например, может не использоваться отдельная схема ASIC, и все соответствующие операции, раскрытые в этом описании, могут выполняться процессором или процессорами. Микросхема или чипсет, или их части могут формировать средства для выполнения одной или более операций одного или более способов, приведенных в этом описании.
В одном из примеров осуществления настоящего изобретения микросхема или чипсет содержат механизм связи, такой как шина, для обмена информацией между компонентами микросхемы или чипсета. В соответствии с одним из примеров осуществления настоящего изобретения процессор 202 имеет возможность соединения с шиной для выполнения инструкций и обработки информации, хранимой, например, в запоминающем устройстве 204. В том случае, если устройство 200 содержит множество процессоров, эти процессоры могут быть сконфигурированы для совместной работы с использованием шины, что обеспечивает возможность независимого исполнения инструкций, конвейерной и многопоточной обработки. В одном из примеров осуществления изобретения микросхема или чипсет содержат только один или более процессоров и программное и/или встроенное программное обеспечение, поддерживающее работу одного или более процессоров и/или относящееся к этим процессорам.
Как объяснялось выше, в разделе описания уровня техники, формирование краткого представления видеопоследовательности относится к семейству технологий для создания краткого представления видеопоследовательности, содержащей одну или более сцен, каждая из которых содержит один или более кадров. Согласно примерам осуществления настоящего изобретения предлагается технология для идентификации одного или более ключевых кадров в множестве кадров видеопоследовательности в процессе приема этой видеопоследовательности. В соответствии с примерами осуществления настоящего изобретения пользователь также может вручную выбрать в качестве ключевых кадров один или более кадров видеопоследовательности. Ключевой кадр или кадры могут затем использоваться различным образом для предоставления пользователю возможности гибкого управления видеопоследовательностью, например, для ее быстрого просмотра, маркировки (tagging), создания краткого представления видеопоследовательности и т.п.
На фиг.3 показана функциональная схема устройства 300, которое может быть сконфигурировано для работы в качестве устройства 104 обработки для выполнения способов в соответствии с примерами осуществления настоящего изобретения. В целом, как более подробно объясняется ниже, устройство может быть сконфигурировано для приема видеопоследовательности, например, в виде мультимедийного видеофайла или видеопотока, поступающего в режиме реального времени. Устройство может быть сконфигурировано для анализа видеопоследовательности для идентификации одного или более ключевых кадров видеопоследовательности и вывода идентифицированного ключевого кадра (или кадров).
Устройство 300 может содержать ряд модулей, включая модуль 302 обнаружения сегментов, модуль 304 извлечения ключевого кадра, модуль 306 обновления ключевого кадра, модуль 308 определения длинного сегмента, модуль 310 группирования ключевых кадров и/или модуль 312 ручной маркировки, каждый из которых может быть реализован различными средствами. К этим средствам могут относиться, например, процессор 202, запоминающее устройство 204, интерфейс 206 I/O, интерфейс 208 связи (например, передатчик, антенна и т.д.) и/или пользовательский интерфейс 210, которые функционируют автономно или под управлением одной или более инструкций компьютерного программного кода, программных инструкций или исполняемых машиночитаемых инструкций программного кода, извлекаемых из машиночитаемого носителя информации (например, из запоминающего устройства).
Как более подробно описывается ниже, модуль 302 обнаружения сегментов сконфигурирован для обнаружения или идентификации одного или более сегментов видеопоследовательности. Каждый сегмент содержит отдельное подмножество из одного или более кадров видеопоследовательности и может представлять сцену или часть сцены видеопоследовательности. В соответствии с примерами осуществления настоящего изобретения модуль обнаружения сегментов может реализовать основанную на ограниченном контексте технологию, с помощью которой модуль обнаружения сегментов может анализировать и идентифицировать сегмент видеопоследовательности, по мере того как устройство 104 обработки принимает видеопоследовательность из источника 102 или иным образом без необходимости использования всей видеопоследовательности. То есть, в то время как устройство обработки принимает кадр видеопоследовательности, модуль обнаружения сегментов может быть сконфигурирован для анализа кадра в реальном времени с использованием одного или более предшествующих кадров (или информации, содержащейся в одном или более предшествующих кадрах) и без необходимости применения последующих кадров видеопоследовательности. На основе этого анализа, модуль обнаружения сегментов может быть сконфигурирован для идентификации границы между двумя сегментами или идентификации начала сегмента иным образом.
Модуль 304 извлечения ключевого кадра может быть сконфигурирован для анализа кадров каждого сегмента, обнаруженного модулем 302 обнаружения сегментов, и для идентификации одного или более ключевых кадров каждого сегмента на основе этого анализа. Так же как и модуль обнаружения сегментов, модуль извлечения ключевого кадра может быть реализован в соответствии с основанной на ограниченном контексте технологией. То есть модуль извлечения ключевого кадра может быть сконфигурирован для анализа кадров и идентификации ключевого кадра (кадров) сегмента видеопоследовательности, по мере того как устройство 104 обработки принимает видеопоследовательность из источника 102 или иным образом без необходимости использования всей видеопоследовательности. Модуль извлечения ключевого кадра может быть также сконфигурирован для идентификации ключевого кадра в пределах заданного периода времени (например, двух секунд) и непосредственного отображения идентифицированного ключевого кадра каждого сегмента в среде пользовательского интерфейса.
Поскольку модуль 304 извлечения ключевого кадра может идентифицировать ключевой кадр сегмента с ограниченным контекстом и в пределах заданного периода времени, возможна ситуация, в которой другой, последующий, кадр сегмента в большей степени может представлять этот сегмент. Таким образом, даже после идентификации ключевого кадра сегмента модуль 304 извлечения ключевого кадра может быть сконфигурирован для продолжения процедуры анализа последующего кадра (кадров) сегмента. В различных случаях модуль 306 обновления ключевого кадра может быть сконфигурирован для обновления ключевого кадра сегмента другим кадром сегмента. То есть модуль обновления ключевого кадра может быть сконфигурирован для сравнения результатов анализа последующего кадра (кадров) с результатами анализа идентифицированного ключевого кадра и, в некоторых случаях, для замены идентифицированного ключевого кадра одним из последующих кадров. Затем модуль обновления ключевого кадра может непосредственно вывести отображение обновленного ключевого кадра в среде пользовательского интерфейса, например, путем замены в этом интерфейсе ранее идентифицированного ключевого кадра обновленным ключевым кадром. Модуль извлечения ключевого кадра и модуль обновления ключевого кадра могут продолжать выполнять соответствующие операции с сегментом даже после обновления ключевого кадра, благодаря чему модуль обновления ключевого кадра может обновлять ключевой кадр сегмента в одном или более случаях после идентификации этого кадра модулем извлечения ключевого кадра.
В различных случаях сегмент видеопоследовательности может содержать значительное количество кадров, которые могут представлять длинную сцену. Модуль 308 определения длинного сегмента может быть сконфигурирован для идентификации длинного сегмента, такого как сегмент, содержащий количество кадров, превышающее пороговое количество кадров, и для указания модулю 304 извлечения ключевого кадра (и, следовательно, модулю 306 обновления ключевого кадра) на необходимость идентификации (и, при необходимости, обновления) дополнительного ключевого кадра сегмента. Модуль определения длинного сегмента может быть сконфигурирован для указания на необходимость идентификации дополнительного ключевого кадра один раз или для каждого последующего подмножества из порогового количества кадров сегмента. Таким образом, модуль определения длинного сегмента может быть сконфигурирован, например, для указания на необходимость идентификации одного дополнительного ключевого кадра для сегмента, содержащего более 20 кадров, или идентификации дополнительного ключевого кадра для каждого последующего подмножества из 20 кадров сегмента.
Как указано выше, сегмент видеопоследовательности может представлять часть сцены видеопоследовательности. В таких случаях сцена видеопоследовательности может формироваться из множества семантически связанных сегментов. Предположим, например, что сцена видеопоследовательности представляет собой диалог двух собеседников, при этом видеопоследовательность содержит множество более коротких съемок, переключающихся между собеседниками. В таких случаях каждая съемка может фокусироваться на одном из собеседников и может обнаруживаться модулем 302 обнаружения сегментов в виде отдельного сегмента. Модуль 310 группирования ключевых кадров может, таким образом, быть сконфигурирован для идентификации любого множества сегментов, представляющих общую сцену, и для группирования ключевого кадра (кадров) соответствующих сегментов. Модуль группирования ключевых кадров может быть сконфигурирован для добавления ключевого кадра (кадров) последующего сегмента (сегментов) в группу в тех случаях, если последующий сегмент (сегменты) семантически связаны с сегментами ключевых кадров группы, или может начать создание новой группы ключевых кадров, если последующий сегмент (сегменты) семантически не связаны с соответствующими сегментами.
Модуль 312 ручной маркировки может быть сконфигурирован для приема от пользователя информации о выборе кадра сегмента видеопоследовательности и установки выбранного кадра в качестве ключевого кадра сегмента. Такой установленный вручную ключевой кадр может задаваться в качестве дополнительного ключевого кадра сегмента или, в различных случаях, может заменять другой ключевой кадр сегмента.
На фиг.4 (включая фиг.4a и 4b) показаны блок-схемы выполнения различных операций способа обнаружения сегмента видеопоследовательности, который в соответствии с примерами осуществления настоящего изобретения может быть реализован различными средствами устройства 104 обработки, такими как модуль 302 обнаружения сегментов устройства 300. В целом, способ может включать прием и анализ последовательных пар кадров видеопоследовательности и, на основе результатов этого анализа, идентификацию границы между двумя сегментами или идентификацию начала сегмента видеопоследовательности иным образом. Способ может разделяться на этапы, включая этап определения потенциальной границы сегмента, этап контроля и этап подтверждения границы сегмента.
i,i-1
Как показано в блоке 400 на фиг.4а, способ может включать инициирование счетчика i кадров, например, путем выполнения операции i=1. Затем при выполнении способа может осуществляться переход к этапу определения потенциальной границы сегмента, на котором в целом идентифицируется подмножество кадров видеопоследовательности, которое может определять границу между сегментами, а именно конец одного сегмента и/или начало другого сегмента. Эти кадры потенциальной границы могут идентифицироваться на основе анализа пар последовательных кадров. Например, кадры потенциальной границы могут идентифицироваться на основе различия между парами последовательных кадров или, более конкретно, на различии между значениями одного или более свойств изображений пар последовательных кадров. Таким образом, на этапе определения потенциальной границы сегмента может выполняться прием текущего кадра i и вычисление межкадрового различия между текущим кадром i и непосредственно предшествующим ему кадром i-1, как показано в блоках 402 и 404. Более конкретно, например, в ходе этой процедуры может вычисляться межкадровое различие D между значениями одного или более свойств изображения в соответствующих кадрах. К этим свойствам могут относиться, например, значение пикселя или цветовая гистограмма.
Значение g пикселя может быть представлено как значение серой шкалы (например, 0-255) пикселя изображения кадра. В случае цветного изображения значение пикселя может вычисляться на основе красного {R), зеленого (G) и синего (B) составляющих цветов (обычно называемых "RGB"), например, следующим образом:
Для i=0 значение всех пикселей может быть установлено равным нулю.
Цветовая гистограмма изображения кадра обычно представляет собой распределение цветов в изображении и может формироваться путем квантования вначале каждого пикселя изображения в соответствии с его составляющими цветами RGB. В одном из примеров осуществления настоящего изобретения каждый из составляющих цветов, R, G, B, может быть представлен байтом данных:
8
7
6
5
4
3
2
1
R=(RRRRRRRR)
8
7
6
5
4
3
2
1
G=(GGGGGGGG)
8
7
6
5
4
3
2
1
B=(BBBBBBBB).
В этом примере осуществления изобретения значение цветовой гистограммы для пикселя может вычисляться путем квантования вначале составляющих цветов RGB пикселя в соотношении 4:4:4 бита. Цветовая гистограмма H для кадра может вычисляться путем размещения каждого квантованного составляющего цвета каждого пикселя изображения кадра в соответствующем подмножестве (например, 16) некоторого числа столбцов гистограммы (например, 48), а затем - подсчета количества пикселей в соответствующих столбцах гистограммы. Для i-1=0 составляющие цвета RGB всех пикселей и, следовательно, цветовая гистограмма могут быть приравнены к нулю.
Согласно одному из примеров осуществления изобретения, в котором составляющие цвета RGB квантуются в соотношении 4:4:4 бита, для цветовой гистограммы могут использоваться 48 столбцов гистограммы, включающих три подмножества из 16 столбцов гистограммы, занимаемых квантованными битами соответствующих составляющих цветов (4 бита занимают 16 столбцов гистограммы для 3 составляющих цветов). Так, например, 4-битовый красный составляющий цвет для пикселя может быть размещен в соответствующем столбце гистограммы из столбцов 1-16 гистограммы, 4-битовый зеленый составляющий цвет для пикселя может быть размещен в соответствующем столбце гистограммы из столбцов 17-32 гистограммы, и 4-битовый синий составляющий цвет для пикселя может быть размещен в соответствующем столбце гистограммы из столбцов 13-48 гистограммы. Цветовая гистограмма для кадра затем может вычисляться путем подсчета количества пикселей в соответствующих столбцах гистограммы.
i,i-1
Межкадровое различие между изображениями кадров i и i-1 может вычисляться как функция значений пикселей и цветовых гистограмм для соответствующих кадров. В одном из примеров осуществления изобретения межкадровое различие D может вычисляться следующим образом:
В приведенных выше выражениях bin представляет количество пикселей, размещенных в соответствующем столбце гистограммы цветовой гистограммы, Bin - общее количество столбцов гистограммы в гистограмме (например, 48), w и h - ширина и высота изображения (в пикселях), a x, y - координаты пикселя.
i
i-1
d
После вычисления межкадрового различия D,, это различие может сравниваться с пороговым значением T для определения, обнаружено ли четкое изменение между соответствующими кадрами, как показано в блоке 406. Пороговое значение любым из различных способов может быть установлено равным одному из различных значений (например, 40) и может настраиваться или иначе адаптироваться к видеоконтенту. В одном из примеров осуществления изобретения может быть установлено начальное пороговое значение, которое будет настраиваться для каждого следующего кадра в соответствии с предыдущим количеством (например, 100) значений межкадрового различия, которое отражает активность контента. В одном из примеров осуществления изобретения пороговое значение может настраиваться (увеличиваться/уменьшаться) в конкретном количестве интервалов (например, 10). Значительное количество значений различия, превышающее установленное вначале или текущее пороговое значение (например, 90 максимальных пороговых значений), может указывать на контент высокой активности, при этом пороговое значение может быть увеличено, а значительное количество значений различия, меньших установленного вначале или текущего порогового значения (например, 30 минимальных пороговых значений), может указывать на контент низкой активности, при этом пороговое значение может быть уменьшено.
d
В другом примере осуществления изобретения пороговое значение T может инициироваться, а затем настраиваться для каждого следующего кадра в соответствии с фокусным расстоянием соответствующего кадра, поскольку обычно изображения становятся менее стабильными по мере увеличения фокусного расстояния. В том случае, если изображение следующего кадра характеризуется увеличением фокусного расстояния по сравнению с изображением текущего кадра (по абсолютной величине или на определенную величину), что может, например, отражать операцию масштабирования, то установленное вначале или текущее пороговое значение может увеличиваться. В альтернативном варианте осуществления изобретения, если изображение следующего кадра характеризуется уменьшением фокусного расстояния по сравнению с изображением текущего кадра (по абсолютной величине или на определенную величину), то установленное вначале или текущее пороговое значение может уменьшаться.
i
i-1
d
В том случае, если межкадровое различие D, меньше или равно пороговому значению T, текущий и следующий кадры могут не рассматриваться в процессе определения границы сегмента. В этом случае счетчик кадров может инкрементироваться, и может приниматься следующий кадр, после чего повторяется процесс вычисления межкадрового различия между текущим кадром (бывшим ранее следующим кадром) и следующим последовательным кадром, как показано в блоках 408, 402 и 404.
i,i-1
d
В том случае, если межкадровое различие D превышает пороговое значение T, текущий и следующий кадры можно идентифицировать в качестве потенциальной границы сегмента, как показано в блоке 410. В этом случае может вычисляться информация о движении между соответствующими кадрами, как показано в блоке 412, и процесс может переходить к этапу контроля. Как объясняется ниже, аналогичная информация о движении может также вычисляться между одной или более парами последовательных кадров, следующих за текущим кадром. Информация о движении для текущего и следующего кадров и одной или более последовательных пар кадров, следующих за текущим кадром, может накапливаться. Эта накопленная информация о движении может в различных случаях отражать значительное смещение камеры в процессе захвата видеопоследовательности и может использоваться для устранения не имеющего смысл дрожания или колебания камеры.
Информация о движении между текущим кадром i и предшествующим кадром i-1 может вычисляться различными способами. В одном из примеров осуществления изобретения изображение каждого кадра может разбиваться на фиксированное количество одинаковых, неперекрывающихся блоков (например, блоков, представляющих собой матрицу размера 8×8), которые могут сравниваться друг с другом для получения векторов движения в соответствующих блоках. Более конкретно, для каждого блока текущего кадра i предсказанный вектор движения может быть получен на основе векторов движения, вычисленных для кадров, предшествующих текущему кадру, а предсказанный блок предшествующего кадра i-1 может идентифицироваться как кадр, из которого вектор движения указывает на блок текущего кадра.
cur
srch
Затем может использоваться способ ромбовидного поиска для нахождения для каждого блока текущего кадра i в наибольшей степени соответствующего блока в предшествующем кадре i-1. Как показано на фиг.5 (включая фиг.5a-5d), например, в процессе ромбовидного поиска могут применяться два шаблона, а именно: большой ромбовидный шаблон, за которым следует малый ромбовидный шаблон. Как показано на фиг.5a, для каждого блока текущего кадра i большой ромбовидный шаблон содержит первое множество (например, девять) блоков поиска предшествующего кадра i-1 вокруг соответствующего предсказанного блока предшествующего кадра. Каждый блок на чертеже может быть представлен точкой. Для каждого блока поиска может выполняться операция суммирования абсолютных различий (SAD, sum of absolute differences) для вычисления значения SAD между предсказанным блоком blk и каждым из блоков поиска blk, например, в соответствии со следующей формулой:
cur
b
b
srch
b
b
b
b
b
b
В этой формуле blk(x,y) и blk(x,y) представляют значение одного или более свойств соответствующих пикселей (x,y) предсказанного блока и блока поиска, a w и h представляют ширину и высоту соответствующих блоков (в пикселях).
Блок поиска с наименьшим значением SAD по отношению к предсказанному блоку может быть выбран в качестве центра следующего большого ромбовидного шаблона, который может содержать одну или более точек, общих с предыдущим большим ромбовидным шаблоном, как показано в примере, изображенном на фиг.5b. Способ затем может повторяться в рамках одной или более дополнительных итераций, на которых вычисляется значение SAD между предсказанным блоком и каждым из блоков поиска следующего большого ромбовидного шаблона, однако при этом дополнительно в качестве блока поиска соответствующего шаблона включается центральный блок следующего большого ромбовидного шаблона. Одна или более дополнительных итераций могут выполняться до тех пор, пока блоком поиска с наименьшим значением SAD по отношению к предсказанному блоку не станет центральный блок большого ромбовидного шаблона, как показано на фиг.5c. В этом случае способ может продолжаться так же, как и на дополнительных итерациях для большого ромбовидного шаблона, но с использованием малого ромбовидного шаблона, содержащего второе множество (например, четыре) блоков поиска вокруг центрального блока последнего большого ромбовидного шаблона, как показано на фиг.5d. То есть значение SAD может вычисляться между предсказанным блоком и каждым из блоков поиска малого ромбовидного шаблона (включая его центральный блок). Блок поиска малого ромбовидного шаблона с наименьшим значением SAD по отношению к предсказанному блоку может затем выбираться в качестве блока предшествующего кадра i-1, наиболее точно соответствующего блоку текущего кадра i, и расстояние между позициями соответствующих блоков может затем вычисляться как вектор движения для блока текущего кадра. Далее способ может повторяться для других блоков текущего кадра.
После вычисления векторов движения блоков текущего кадра i векторы движения могут накапливаться для формирования информации о движении для текущего кадра i и предшествующего кадра i-1. Эта информация о движении может кэшироваться или иначе сохраняться для последующего накопления совместно с аналогичной информацией о движении, вычисленной для одной или более других последовательных пар кадров на этапе контроля.
На фиг.4b показаны различные операции, выполняемые на этапе контроля. Как показано в блоках 414 и 416, на этапе контроля могут выполняться процедуры инкрементирования счетчика кадров и приема следующего и текущего кадров. Информация о движении для текущего кадра i и предшествующего кадра i-1 может вычисляться, например, способом, аналогичным способу, описанному выше, и накапливаться с кэшированной информацией о движении для формирования глобального параметра движения, как показано в блоке 418. Эта накопленная информация о движении при необходимости может таким же образом кэшироваться для последующего накопления совместно с одной или более последующими последовательными парами кадров.
i,i-1
d
Этап контроля может продолжаться до тех пор, пока межкадровое различие D между изображениями N последовательных кадров i и i-1 не станет меньше или равно пороговому значению T. Таким образом, на этапе контроля могут также выполняться процедуры вычисления межкадрового различия между текущим кадром i и непосредственно предшествующим ему кадром i-1 и сравнения различия с пороговым значением, как показано в блоках 420 и 422. В том случае, если межкадровое различие превосходит пороговое значение, счетчик кадров может снова инкрементироваться, и может приниматься следующий последовательный кадр, после чего процесс может повторяться для вычисления и последующего накопления для получения глобального параметра движения, а также для вычисления межкадрового различия и сравнения его с пороговым значением, как показано в блоках 414, 416, 418, 420 и 422. В том случае, если межкадровое различие меньше или равно пороговому значению, определяется, имеется ли N последовательных кадров, для которых межкадровое различие также меньше или равно пороговому значению, как показано в блоке 424. Если это не так, процесс может продолжаться до тех пор, пока условие не будет удовлетворено, после чего этап контроля завершается.
Как показано на фиг.4а в блоке 426, после этапа контроля, этап подтверждения границы сегмента может выполняться для определения того, могут ли кадры, идентифицированные в качестве потенциальной границы сегмента на этапе определения потенциальной границы сегмента, оцениваться в качестве фактической границы сегмента. Для принятия решения о том, что это фактическая граница сегмента, необходимо выполнить одно или более условий. Первое условие заключается в том, что может оцениваться амплитуда информации о движении для определения того, является ли это значение по меньшей мере заранее заданным значением, поскольку новый сегмент может появляться, когда камера в процессе захвата видеопоследовательности сдвигается на достаточное расстояние. Второе условие заключается в том, что ориентация, определенная с помощью информации о движении, может сравниваться с ориентацией, определенной с помощью информации о движении на предшествующем этапе контроля, для того чтобы таким образом устранить границы двух соседних сегментов в том случае, если камера может перемещаться в одном направлении. И третье условие заключается в том, что может производиться оценка, отличается ли текущий кадр i в конце этапа контроля от текущего кадра перед началом этапа контроля. Это третье условие может также использоваться для подтверждения границы сегмента на основе того, что кадры, расположенные до и после границы сегмента, должны различаться. Различие HistDiff между цветовыми гистограммами изображений соответствующих кадров, определенное выше в выражении (3), может использоваться для измерения различия между кадрами для проверки третьего условия.
После идентификации потенциальной границы в качестве фактической границы между сегментами видеопоследовательности в том случае, если видеопоследовательность содержит дополнительные кадры, как показано в блоке 428, счетчик кадров может инкрементироваться, и способ обнаружения сегмента может повторно использоваться для идентификации границы следующего сегмента. Кроме того, после идентификации фактической границы сегмента кадры сегмента могут быть проанализированы, и на основе результата анализа могут быть идентифицированы один или более ключевых кадров сегмента.
s
s
s
На фиг.6 (включая фиг.6a и 6b) показаны блок-схемы выполнения различных операций способа идентификации одного или более ключевых кадров в сегменте видеопоследовательности, который в соответствии с примерами осуществления настоящего изобретения может быть реализован различными средствами устройства 104 обработки, такими как модуль 304 извлечения ключевого кадра устройства 300. В целом, способ может включать прием и анализ кадров сегмента видеопоследовательности и, на основе результатов анализа, идентификацию одного или более ключевых кадров, которые могут предоставить значимую информацию и информацию, относящуюся к восприятию. Как показано в блоках 600 и 602 на фиг.6а, способ может включать инициирование счетчика i кадров сегмента (например, i=1) и прием текущего кадра i сегмента. Затем способ может включать вычисление оценки для текущего кадра в виде функции от значений одного или более свойств изображения, таких как значения яркости, обнаружение точек края, полутоновая энтропия и/или цветовая энтропия, как показано в блоках 604, 606, 608 и 610 на фиг 6b.
s
Значение яркости (блок 604) изображения обычно представляет измеренное значение силы света поверхности в заданном направлении на единицу площади, и включение этой характеристики в оценку может позволить избежать идентификации в качестве ключевого кадра более темного кадра, чем это необходимо. Яркость L изображения кадра i может вычисляться различными способами, однако в одном из примеров осуществления изобретения эта величина может вычисляться как среднее значение пикселей g(x,y) в кадре:
где значения пикселей  могут вычисляться в соответствии с формулой (1).
Значения обнаружения точек края (блок 606) в изображении могут вычисляться в соответствии со способом обнаружения точек края. В целом, край может определять границу изображения и может рассматриваться как точка или пиксель изображения, где яркость изображения резко изменяется (неоднородность). Обнаружение краев можно эффективно использовать для определения, соответствует ли изображение объекту. Одним из подходящих способов обнаружения краев, который может применяться в примерах осуществления настоящего изобретения, является перекрестный оператор Робертса, который может быть представлен следующим образом:
R(х,у)
x,y
где E представляет амплитуду градиента, а p - интенсивность пикселя (x, y).
R
H
R
Статистическое значение E (для обнаружения точек края), представляющее количество точек края, которое превышает пороговое значение T_E, затем может быть вычислено следующим образом:
gray
Энтропия изображения обычно характеризует степень организации информации в пределах изображения. Полутоновая энтропия I (блок 608) изображения может вычисляться следующим образом:
g
color
где g представляет значение пикселя из множества значений пикселей (например, 0-255), а p представляет вероятность появления в изображении любого пикселя со значением g. Аналогично, цветовая энтропия I (блок 610) изображения может вычисляться по формуле, аналогичной формуле (9), но с последующим суммированием энтропии каждого составляющего цвета RGB:
с
В выражении (10) p представляет вероятность размещения любого квантованного составляющего цвета RGB любого пикселя изображения в столбце bin цветовой гистограммы. В этой формуле предполагается, что если составляющий цвет может быть размещен в столбце гистограммы соответствующего подмножества столбцов гистограммы, вероятность того, что этот составляющий цвет может быть размещен в столбцах гистограммы других подмножеств может быть нулевой.
R
gray
color
После вычисления яркости L, статистики E амплитуды градиента и величин энтропии I и I оценка S может быть вычислена на основе этих рассчитанных значений соответствующих свойств изображения, как показано в блоке 612. В одном из примеров осуществления настоящего изобретения оценка фильтрации может быть вычислена как взвешенная сумма значений свойств, например, следующим образом:
lum
edge
В приведенной выше формуле w, w,  и  представляют собой весовые коэффициенты. Эти коэффициенты могут быть выбраны различным образом, и в одном из примеров осуществления настоящего изобретения они должны удовлетворять следующему условию: .
После вычисления оценки S в рамках способа может выполняться сравнение оценки с заранее заданным пороговым значением, как показано в блоке 614. В том случае, если оценка превышает заранее заданное пороговое значение, кадр может выводиться в качестве ключевого кадра сегмента видеопоследовательности, которая может использоваться различным образом, например, для быстрого просмотра, маркировки, получения краткого представления видеопоследовательности и т.п., как показано в блоке 616. В противном случае, если оценка фильтрации равна или ниже заранее заданного порогового значения, счетчик кадров может инкрементироваться, как показано в блоке 620, после чего повторяется процесс приема следующего (в настоящее время текущего) кадра сегмента, вычисления оценки для этого кадра и сравнения полученной оценки с заранее заданным пороговым значением. В этом случае, возможно, понадобится вывести кадр в качестве ключевого кадра в течение заданного периода времени (например, двух секунд). В том случае, если кадр, оценка которого превышает заранее заданное пороговое значение, идентифицируется в пределах заданного временного периода, то соответствующий кадр может выводиться в качестве ключевого кадра. Однако в том случае, если кадр, оценка которого превышает заранее заданное пороговое значение, не идентифицируется в пределах заданного временного периода, как показано в блоке 618, в качестве ключевого кадра может выводиться текущий или ранее проанализированный кадр сегмента. Кадр, выводимый в качестве ключевого кадра, может быть выбран различным образом, например, путем выбора кадра с наивысшей оценкой из одного или более кадров, проанализированных в заданном периоде времени, в течение которого оценки не превышают заранее заданного порогового значения.
В различных случаях другой кадр сегмента может в большей степени представлять сегмент, чем кадр, выводимый в качестве ключевого кадра в соответствии со способом, показанным на фиг.6a и 6b. Таким образом, в одном или более случаях ключевой кадр сегмента может обновляться другим кадром сегмента после вывода ключевого кадра или предшествующего обновления. На фиг.7 показана блок-схема выполнения различных операций способа обновления ключевого кадра сегмента видеопоследовательности, который в соответствии с примерами осуществления настоящего изобретения может быть реализован различными средствами устройства 104 обработки, такими как модуль 306 обновления ключевого кадра устройства 300.
s
s
cur
key
После вывода ключевого кадра сегмента (см. фиг.6a, блок 614) согласно способу обновления ключевого кадра могут выполняться процедуры инкрементирования счетчика i кадров сегмента и приема текущего кадра i сегмента, как показано в блоках 700 и 702. В этом отношении счетчик кадров сегмента может не сбрасываться или не инициализироваться после вывода ключевого кадра, для того чтобы, таким образом, позволить выполнить сравнение ключевого кадра с кадрами, еще не проанализированными в соответствии с блок-схемами, показанными на фиг.6a и 6b. В рамках способа может выполняться процедура вычисления оценки для текущего кадра, например, в соответствии с формулой (11), как показано в блоках 604, 608, 610 и 612. Затем, как показано в блоках 704 и 706, взвешенная оценка текущего кадра S может сравниваться с оценкой выводимого и, таким образом, текущего ключевого кадра S, например, для определения, превосходит ли взвешенная оценка текущего кадра оценку ключевого кадра, например, в соответствии со следующей формулой:
cur
cur
где w представляет собой весовой коэффициент. Весовой коэффициент оценки текущего кадра может инициализироваться конкретным значением (например, w=1). Весовой коэффициент может периодически настраиваться для учета тех ситуаций, в которых оценка ключевого кадра значительно превышает оценку текущего кадра, что может свидетельствовать о значительном охвате ключевого кадра, который должен применяться даже в том случае, если абсолютная оценка следующего текущего кадра в сегменте больше оценки текущего кадра. В этом случае весовой коэффициент может быть уменьшен, для того чтобы оценка следующего текущего кадра была даже больше оценки ключевого кадра для выполнения неравенства (12).
В тех случаях, в которых взвешенная оценка текущего кадра превышает оценку ключевого кадра, ключевой кадр может быть обновлен текущим кадром, как показано в блоке 708. В рамках этой процедуры обновления могут, например, выполняться процедуры замены кадра, выводимого в качестве ключевого кадра, текущим кадром и вывода текущего кадра в качестве ключевого кадра. В тех случаях, когда взвешенная оценка текущего кадра не превышает оценки ключевого кадра, этот ключевой кадр может использоваться далее. Выполнение процесса может затем повторяться для других кадров сегмента, как показано в блоке 710, и в ходе выполнения этого процесса счетчик кадров может инкрементироваться, может приниматься следующий кадр сегмента (который становится текущим), и взвешенная оценка кадра может сравниваться с оценкой текущего ключевого кадра (как обновленного).
В различных случаях может потребоваться в качестве ключевого кадра вывести более чем один кадр, если количество кадров в сегменте превышает пороговое значение, что может указывать на длинную сцену. Таким образом, способ обновления ключевого кадра может завершаться в том случае, если значение счетчика сегментов достигло порогового значения количества кадров, как показано в блоке 712. В этом случае каждое пороговое количество кадров сегмента может рассматриваться как часть сегмента, а любые оставшиеся кадры, число которых меньше порогового количества, также рассматриваются как часть сегмента. В ходе выполнения способа согласно примерам осуществления настоящего изобретения текущий ключевой кадр может, таким образом, устанавливаться в качестве ключевого кадра первой части сегмента, и затем могут повторяться операции способов, показанных на фиг.6a, 6b и 7, для идентификации и, при необходимости, обновления ключевого кадра для следующей, второй части, сегмента. Этот процесс может повторяться для одной или более частей, расположенных за первой частью, однако в одном из примеров осуществления изобретения он может повторяться для каждой части, расположенной после первой части. Процесс может также выполняться с помощью различных средств устройства 104 обработки, например, с помощью модуля 308 определения длинного сегмента устройства 300, в соответствии с примерами осуществления настоящего изобретения.
Согласно примерам осуществления настоящего изобретения предлагается также способ группирования ключевых кадров, идентифицированных как похожие друг на друга, что может указывать на сегменты, представляющие общую сцену. На фиг.8 (включая фиг.8a, 8b и 8c) показаны блок-схемы выполнения различных операций способа группирования ключевых кадров видеопоследовательности, который в соответствии с примерами осуществления настоящего изобретения может быть реализован различными средствами устройства 104 обработки, такими как модуль 310 группирования ключевых кадров устройства 300. В целом, способ может включать прием и анализ ключевых кадров множества сегментов и, на основе результатов этого анализа, группирование похожих ключевых кадров.
k
k
k
Как показано в блоках 800 и 802 на фиг.8a, способ может включать прием текущего ключевого кадра i и предшествующего ключевого кадра i-n. В указанном выше выражении переменная n представляет собой счетчик предшествующих ключевых кадров, представляющий количество ключевых кадров перед текущим ключевым кадром и позволяющий определить окно поиска для похожего кадра (кадров), при этом он может инициализироваться различными значениями (например, n=3). В одном из примеров осуществления изобретения переменная n может указывать на предыдущие кадры, извлекаемые из i во временном интервале, который может представлять собой эмпирический параметр (например, последние две минуты). Счетчик предшествующих ключевых кадров в различных случаях может определяться в терминах количества кадров или временных интервалов. Индекс к ключевого кадра может инициализироваться любым значением, превышающим единицу, и в одном из примеров осуществления изобретения этим значением может быть n+1.
k
k
После приема текущего и предшествующего ключевых кадров i, i-n в рамках способа могут выполняться процедуры вычисления значений одного или более свойств изображений текущего и предшествующего ключевых кадров. К этим свойствам могут относиться, например, блочная гистограмма, цветовая гистограмма и порядковая последовательность; вычисление этих параметров соответственно показано в блоках 804, 806 и 808 на фиг.8b.
Блочная гистограмма (блок 804) изображения кадра может формироваться путем разделения изображения на фиксированное количество меньших одинаковых блоков (например, на шесть блоков) и вычисления свойств гистограммы и статистических свойств (например, математического ожидания µ и дисперсии σ) для каждого блока. Аналогично цветовой гистограмме, блочная гистограмма изображения может представлять различное количество пикселей блока с одинаковыми значениями интенсивности. Гистограмма блока может вычисляться путем группирования пикселей (например, полутоновых пикселей) блока с одинаковым значением интенсивности и представления количества пикселей с одинаковым значением в зависимости от соответствующих им значений интенсивности. Статистические свойства блока, такие как математическое ожидание µ и дисперсия σ, могут затем вычисляться на основе гистограммы следующим образом (в предположении, что гистограмма соответствует гауссову распределению):
В приведенном выше выражении H(inten) представляет сумму пикселей в изображении, имеющих интенсивность inten, которая представляет высоту гистограммы интенсивности l.
Цветовая гистограмма H (блок 806) изображения кадра может вычисляться различными способами, например, способом, описанным выше, согласно которому составляющие цвета RGB изображения могут квантоваться. Статистические свойства (например, математическое ожидание µ и дисперсия σ) для цветовой гистограммы могут затем вычисляться на основе квантованных значений с в пределах пикселей изображения, например, в соответствии с формулой (13).
При вычислении порядковой последовательности (блок 808) изображения кадра могут использоваться более мелкие блоки, вычисленные посредством блочной гистограммы, и статистические свойства гистограммы для каждого блока. Например, блоки изображения могут быть ранжированы в соответствии со своими математическими ожиданиями µ, например, начиная блоком с наименьшим математическим ожиданием и заканчивая блоком с наибольшим математическим ожиданием. Это показано на фиг.8 для изображений двух кадров. В примере, показанном на фиг.9, каждое изображение содержит шесть блоков, которые могут быть ранжированы по возрастанию от одного до шести в соответствии со значениями их математических ожиданий (от наименьшего до наибольшего). Показанным в верхней части чертежа блокам со значениями математического ожидания 12 и 214 могут быть назначены ранги 1 и 6, соответственно, а блокам в нижней части чертежа со значениями математического ожидания 11 и 255 могут быть назначены ранги 1 и 6, соответственно. Оставшимся блокам изображений таким же образом могут назначаться ранги 2-5 в соответствии с их значениями математического ожидания.
Затем может быть вычислена порядковая последовательность путем упорядочивания рангов блоков в соответствии с их порядком в пределах изображения (например, слева направо, сверху вниз) и конкатенации к упорядоченной последовательности повторяющейся упорядоченной последовательности рангов блоков. В примере, показанном на фиг.9, в направлении слева направо, сверху вниз ранги блоков в верхней части изображения могут упорядочиваться и повторяться следующим образом: 412635412635. Аналогично, ранги блоков в нижней части изображения могут упорядочиваться и повторяться следующим образом: 532461532461.
k
k
После вычисления значений одного или более свойств изображений текущего и предшествующего ключевых кадров i, i-n в рамках способа может выполняться сравнение друг с другом значений свойств соответствующих кадров и вычисление одного или более значений, представляющих результат сравнения, для обеспечения определения, похож ли текущий ключевой кадр на предшествующий ключевой кадр, как показано в блоке 810. В качестве значений сравнения текущего и предшествующего ключевых кадров может использоваться абсолютная разность между значениями математического ожидания гистограмм соответствующих кадров, diff-mean, которая для каждого кадра может вычисляться на основе математических ожиданий блоков кадра (блок 804). Дополнительно или альтернативно, в качестве значений сравнения может использоваться абсолютная разность между значениями математического ожидания цветовой гистограммы кадра и опорного кадра, diff-color-mean, для каждого кадра, при этом такая величина для каждого кадра может вычисляться на основе цветовых гистограмм соответствующих кадров (блок 806).
k
k
1
2
m
1
2
m
Дополнительно или альтернативно, в качестве значений сравнения может использоваться значение сравнения порядковой последовательности, order-seq, текущего и предшествующего ключевых кадров i, i-n. Значение сравнения порядковой последовательности может вычисляться путем вычисления наиболее длинной общей подпоследовательности (LCS, longest common subsequence) в порядковых последовательностях соответствующих кадров (блок 808) и применения ступенчатой функции к подпоследовательности LCS. Подпоследовательность LCS для первой последовательности X=(x, x, …, x) и второй последовательности Y=(y, y, …, y) может вычисляться следующим образом:
i
J
i
j
В приведенной выше формуле LCS (X, Y) представляет набор наиболее длинных общих подпоследовательностей префиксов X и Y. Пример подпоследовательности LCS, относящейся к двум порядковым последовательностям, показан на фиг.9.
k
k
discriminator
После вычисления значений, представляющих сравнение текущего и предшествующего кадров i, i-n, в рамках способа может выполняться вычисление оценки S дискриминатора для текущего ключевого кадра на основе соответствующих значений, как показано в блоке 812. В одном из примеров осуществления настоящего изобретения оценка дискриминатора может быть вычислена как взвешенная сумма значений сравнения, например, следующим образом:
diff-mean
diff-color-mean
order-seq
diff-mean
diff-color-mean
order-seq
В предшествующей формуле переменные w, w и w представляют собой весовые коэффициенты. Эти коэффициенты могут быть выбраны различным образом, и в одном из примеров осуществления настоящего изобретения они должны удовлетворять следующему условию: w+w+w=1. Кроме того, в одном из примеров осуществления настоящего изобретения различия между значениями математического ожидания гистограммы и цветовой гистограммы соответствующих кадров, diff-mean и diff-color-mean, могут вычисляться в виде линейной функции со ступенчатыми характеристиками в верхней и нижней частях. В этом примере осуществления изобретения различия, меньшие заранее заданного нижнего значения, устанавливаются в качестве этого заранее заданного нижнего значения, а значения различия, большие заранее заданного верхнего значения, устанавливаются в качестве этого заранее заданного верхнего значения.
discnminator
m
k
k
k
После вычисления оценки дискриминатора S в рамках способа может выполняться сравнение оценки дискриминатора с заранее заданным пороговым значением, как показано в блоке 814. В том случае, если оценка дискриминатора больше заранее заданного порогового значения, текущий ключевой кадр может идентифицироваться как кадр, непохожий на предшествующий ключевой кадр, и кадры могут не группироваться. Как показано на фиг.8c, если другие предшествующие ключевые кадры i(k-n≤m≤k-1) расположены между текущим и предшествующим ключевыми кадрами i, i-n, то счетчик n предшествующих ключевых кадров может инкрементироваться и может приниматься следующий предшествующий ключевой кадр, как показано в блоках 822, 824 и 802. Затем процесс может повторяться для следующего предшествующего ключевого кадра (который является теперь просто предшествующим ключевым кадром) относительно текущего ключевого кадра. Однако в тех случаях, когда другие предшествующие ключевые кадры, расположенные между текущим и предшествующим ключевыми кадрами, отсутствуют, счетчик n предшествующих ключевых кадров может быть сброшен, счетчик ключевого кадра i может инкрементироваться, и весь процесс может повторяться для следующего ключевого кадра (теперь текущего ключевого кадра) относительно его предшествующего ключевого кадра (кадров), как показано в блоках 826, 828 и 830.
discriminator
k
k
k
k
k
k
k
m
k
Как показано на фиг.8a, в том случае, если оценка S дискриминатора не превосходит заранее заданное пороговое значение, текущий ключевой кадр i и предшествующий ключевой кадр i-n могут быть сгруппированы в зависимости от того, входит ли уже предшествующий ключевой кадр в группу ключевых кадров, как показано в блоке 816. В том случае, если предшествующий ключевой кадр i-n уже входит в группу, текущий ключевой кадр i может быть добавлен в эту группу, как показано в блоке 818. В альтернативном варианте осуществления изобретения, если предшествующий ключевой кадр i-n не входит в группу, текущий и предшествующий ключевые кадры i, i-n могут быть сгруппированы совместно с любыми промежуточными ключевыми кадрами i (k-n≤m≤k-1), расположенными между текущим и предшествующим ключевыми кадрами, как показано, например, в блоке 820 и на фиг.10. В любом случае группирования текущего и предшествующего ключевых кадров весь процесс может затем повторяться для любых ключевых кадров, следующих за текущим ключевым кадром. То есть счетчик n предшествующих ключевых кадров может сбрасываться, счетчик i ключевых кадров может инкрементироваться, и весь процесс может повторяться для следующего ключевого кадра (в данный момент текущего ключевого кадра) относительно его предшествующего ключевого кадра (кадров), как показано в блоках 826, 828 и 830 на фиг.8c.
В примерах осуществления настоящего изобретения пользователь также может выбирать кадр сегмента видеопоследовательности в качестве ключевого кадра дополнительно или вместо кадра, идентифицированного в качестве ключевого кадра таким образом, как это описано выше. На фиг.11 (включая фиг.11a и 11b) показаны блок-схемы выполнения различных операций способа приема информации о выборе ключевого кадра и вывода выбранного кадра в качестве ключевого кадра сегмента видеопоследовательности, который в соответствии с примерами осуществления настоящего изобретения может быть реализован различными средствами устройства 104 обработки, такими как модуль 312 ручной маркировки, входящий в состав устройства 300. Как показано на чертеже, способ может включать кэширование кадров видеопоследовательности совместно с их оценками S. Более конкретно, например, в рамках способа может выполняться инициализация счетчика i кадров, прием текущего кадра i, вычисление или, в ином случае, прием оценки для текущего кадра и кэширование текущего кадра и его оценки, как показано в блоках 1100, 1102, 1104 и 1106. Оценка может, например, вычисляться описанным выше способом согласно приведенной формуле (11) или приниматься, например, из модуля 304 извлечения ключевого кадра устройства 300.
Процесс кэширования кадров и их оценок может повторяться для каждого кадра видеосегмента или, в ином случае, видеопоследовательности. Однако в одном из примеров осуществления настоящего изобретения процесс может повторяться с меньшей частотой выборки, например, для каждого r-го кадра, как показано в блоках 1108 и 1110. Интервал r выборки может выбираться различным образом, однако в одном из примеров осуществления изобретения интервал выборки выбирается равным пяти, так чтобы мог кэшироваться каждый пятый кадр и его оценка.
По мере приема кадров видеопоследовательности и кэширования некоторых или всех кадров и их оценок в течение кадра t может приниматься информация о выборе пользователя, и в ответ на это, как показано в блоках 1112 и 1114, может быть определено местоположение кэшированного кадра d, расположенного в положении кадра t или вблизи кадра t. Этот кадр d может выводиться в качестве ключевого кадра видеопоследовательности или сегмента видеопоследовательности, однако в одном из примеров осуществления настоящего изобретения вместо этого кадра может выводиться более подходящий кадр. В этом отношении в рамках способа может также выполняться определение местоположения заранее заданного количества кэшированных кадров, расположенных до кадра d, как показано в блоке 1116. Эти дополнительно найденные кэшированные кадры могут быть представлены индексом d-(r×u), где u=1, 2, …, U. В одном из примеров осуществления настоящего изобретения заранее заданное количество кадров может быть установлено равным шести, хотя также может использоваться другое количество кадров.
После определения местоположения кэшированных кадров оценки найденных кэшированных кадров могут сравниваться для идентификации кадра с наибольшей оценкой, как показано в блоке 1118. Обнаруженный кэшированный кадр с наибольшей оценкой может затем выводиться в качестве ключевого кадра для последовательности или сегмента последовательности, как показано в блоке 1120. В различных случаях кадр может выводиться в качестве ключевого кадра в дополнение или вместо другого ключевого кадра сегмента или последовательности.
Как объяснялось выше, один или более кадров видеопоследовательности могут выводиться в качестве ключевых кадров, один или более из которых могут обновляться в различных случаях, например, для быстрого просмотра, маркировки, формирования краткого представления видеопоследовательности и т.п. Ключевые кадры могут выводиться/обновляться различным образом, например, в памяти (например, в запоминающем устройстве 204) системы 100 (например, в устройстве 200). Дополнительно или альтернативно, например, ключевые кадры могут выводиться/обновляться на дисплее пользовательского интерфейса (например, пользовательского интерфейса 210) устройства. На фиг.12-15 показаны примеры отображений, которые могут быть представлены устройством в соответствии с вариантами осуществления настоящего изобретения. Отображения, показанные на фиг.12-14, могут быть, в частности, представлены в процессе захвата видеопоследовательности устройством захвата изображений (например, источником 102 видеосигнала). Однако следует принимать во внимание, что идентичные или похожие отображения могут быть одинаково представлены в процессе приема ранее захваченной видеопоследовательности.
На фиг.12 показано, как по мере захвата или приема иным образом видеопоследовательности устройство может выводить видеопоследовательность 1200 - или, точнее, кадры видеопоследовательности - на дисплей устройства 100. Помимо вывода видеопоследовательности на дисплей, устройство может также выводить на дисплей ключевой кадр (кадры) видеопоследовательности, например, в виде пиктограмм ключевого кадра (кадров), которые могут накладываться на отображение видеопоследовательности. Такие пиктограммы двух ключевых кадров 1202a, 1202b показаны на фиг.12. Изображенные ключевые кадры могут являться ключевыми кадрами различных сегментов видеопоследовательности или ключевыми кадрами одного длинного сегмента видеопоследовательности, причем один из кадров или оба кадра могут быть вручную выбраны пользователем. Далее ключевые кадры могут выводиться на дисплей по мере их идентификации устройством или выбора пользователем вручную.
На фиг.13 (включая фиг.13a-13d) показана последовательность отображений, которые могут быть представлены устройством 100 в соответствии с примерами осуществления настоящего изобретения и которые иллюстрируют аспекты выполнения процедур извлечения и обновления ключевого кадра. Как показано на фиг.13a, по мере захвата или приема иным образом видеопоследовательности устройство может выводить видеопоследовательность 1300 и пиктограмму ключевого кадра 1302a сегмента последовательности на дисплей устройства. Если обнаруживается, что сегмент является длинным сегментом или, в ином случае, новым сегментом, устройство может идентифицировать другой ключевой кадр и вывести пиктограмму другого ключевого кадра 1302b на дисплей, как показано на фиг.13b.
Поскольку другой кадр, следующий за ключевым кадром 1302b, может в большей степени представлять сегмент, устройство может в определенных случаях обновлять соответствующий ключевой кадр другими кадрами сегмента. Первый из этих других кадров может заменять текущий ключевой кадр, а любые последующие другие кадры могут заменять ранее текущие ключевые кадры, расположенные перед ними. В соответствии с этим примером осуществления изобретения, на фиг.13c показано устройство, обновляющее ключевой кадр 1302b другим последующим кадром 1302b' и заменяющее пиктограмму текущего ключевого кадра пиктограммой обновленного ключевого кадра. Аналогично, например, на фиг.13d показано устройство, обновляющее ключевой кадр 1302b' другим последующим кадром 1302b'' и заменяющее пиктограмму ранее обновленного (и затем текущего) ключевого кадра пиктограммой текущего обновленного ключевого кадра.
На фиг.14 (включая фиг.14a и 14b) показана последовательность отображений, которые могут быть представлены устройством 100 в соответствии с примерами осуществления настоящего изобретения и которые иллюстрируют аспекты выполнения процедур извлечения и обновления ключевого кадра. На фиг.14a, также как и на фиг.13a, показано, что по мере захвата или приема иным образом видеопоследовательности устройство может выводить видеопоследовательность 1400 и пиктограмму 1402а ключевого кадра сегмента последовательности на дисплей устройства. В ответ на получение от пользователя информации о выборе кадра или другой введенной информации, отражающей выбор пользователя, например, путем нажатия программной клавиши "Tag", устройство может идентифицировать и вывести другой ключевой кадр, а также вывести пиктограмму другого ключевого кадра 1402b на дисплей, как показано на фиг.14b.
На фиг.15 (включая фиг.15a, 15b и 15c) показана последовательность отображений, которые могут быть представлены устройством 100 в соответствии с примерами осуществления настоящего изобретения и которые иллюстрируют аспекты просмотра ключевых кадров и групп ключевых кадров сегментов одной или более видеопоследовательностей. Как показано на фиг.15a, устройство может выводить отображение, содержащее пиктограммы 1500 ключевых кадров одного или более сегментов одной или более видеопоследовательностей. Устройство может представлять все ключевые кадры видеопоследовательности (видеопоследовательностей), или, в одном из примеров осуществления изобретения, в котором одно или более множеств ключевых кадров объединяются в группу, устройство может представлять не все ключевые кадры каждой из одной или более групп. Аналогично, в тех случаях, когда используется множество видеопоследовательностей, устройство может предоставлять все ключевые кадры последовательностей, или, в одном из примеров осуществления изобретения, устройство может представлять по меньшей мере один кадр, но не все ключевые кадры, каждой из одной или более последовательностей.
Пользователь может выбрать один из ключевых кадров на отображении 1500 пиктограммы. Как показано на фиг.15b, после выбора пользователем одного из ключевых кадров устройство может предоставить второе вспомогательное отображение 1502, содержащее выбранный ключевой кадр и любые связанные с ним ключевые кадры, например, располагаемые поверх отображения 1500 пиктограммы. Ключевые кадры, связанные с выбранным кадром, могут в различных случаях представлять собой ключевые кадры одной и той же последовательности, сегмента или группы.
Как и в случае выбора пользователем одного из ключевых кадров в пределах отображения 1500 пиктограммы, пользователь может выбрать один из ключевых кадров в пределах вспомогательного отображения 1502. В результате устройство может инициировать процесс отображения видеопоследовательности 1504, содержащей выбранный ключевой кадр, начиная с точки, зафиксированной выбранным ключевым кадром, как показано на фиг.15c. При необходимости устройство может выводить вспомогательное отображение ключевых кадров, однако в одном из примеров осуществления изобретения устройство может перемещать вспомогательное отображение в другую позицию, как также показано на фиг.15c.
В соответствии с одним из аспектов осуществления настоящего изобретения функции, выполняемые устройством 104 обработки, устройством 200 и/или устройством 300, показанные посредством блок-схем, представленных на фиг.4, 6-8 и 11, могут быть реализованы различными средствами. Следует понимать, что все блоки или операции упомянутых блок-схем, а также комбинации блоков или операций в них, могут быть реализованы различными средствами. Средства реализации блоков или операций упомянутых блок-схем, комбинаций блоков или операций блок-схем, или другой функциональности описанных примеров осуществления настоящего изобретения могут включать аппаратное обеспечение, работающее автономно или под управлением одной или более инструкций программного кода, программные инструкции или исполняемые инструкции машиночитаемого программного кода, хранящегося на машиночитаемом носителе информации. Инструкции программного кода могут храниться в запоминающем устройстве, например, запоминающем устройстве 204 примера устройства и исполняться процессором, например, процессором 205. Следует понимать, что все подобные инструкции программного кода могут быть загружены в компьютер или иное программируемое устройство (например, процессор, запоминающее устройство и т.д.) с машиночитаемого носителя для формирования конкретного механизма таким образом, что он становится средством реализации функций, указанных в операциях упомянутых блок-схем. Упомянутые инструкции программного кода могут также храниться на машиночитаемом носителе данных, который может управлять компьютером, процессором или иным программируемым устройством, для выполнения конкретных функций, посредством чего формируется конкретный механизм или изделие. Инструкции, хранимые на упомянутом машиночитаемом носителе, могут образовывать изделие, при этом данное изделие становится средством реализации функций, указанных в блоке (блоках) или операции (операциях) упомянутых блок-схем. Упомянутые инструкции программного кода могут извлекаться из машиночитаемого носителя и загружаться в компьютер, процессор или иное программируемое устройство и конфигурировать компьютер, процессор или иное программируемое устройство для исполнения операций, подлежащих выполнению на этом компьютере, процессоре или ином программируемом устройстве. Извлечение, загрузка и исполнение инструкций программного кода может осуществляться последовательно, так что за один раз извлекают, загружают и исполняют одну инструкцию. В некоторых примерах осуществления настоящего изобретения извлечение, загрузка и/или исполнение может осуществляться параллельно, так что несколько инструкций извлекают, загружают или исполняют совместно. Исполнение упомянутых инструкций программного кода может формировать реализуемый компьютером процесс, в котором инструкции, исполняемые компьютером, процессором или иным программируемым устройством обеспечивают операции для реализации функций, указанных в блоке (блоках) или операции (операциях) упомянутых блок-схем.
Соответственно, исполнение инструкций, связанных с блоками или операциями блок-схем, с помощью процессора или хранение инструкций, связанных с блоками или операциями блок-схем, на машиночитаемом носителе данных поддерживает комбинации операций для исполнения указанных функций. Следует также понимать, что один или более блоков или операций упомянутых блок-схем, а также комбинации блоков или операций блок-схем могут быть реализованы специализированными аппаратными компьютерными системами и/или процессорами, выполняющими указанные функции или с помощью комбинации специализированного аппаратного обеспечения и инструкций программного кода.
Множество модификаций или других вариантов осуществления настоящего изобретения могут быть очевидны специалистам в области техники, к которой относится данное изобретение, при этом оно имеет приоритет принципов, представленных в данном описании и на соответствующих чертежах. Таким образом, следует понимать, что настоящее изобретение не ограничено конкретными описанными вариантами его осуществления, и что модификации и другие варианты его осуществления находятся в рамках приложенной формулы изобретения. Более того, несмотря на то, что в предшествующем описании и на соответствующих чертежах представлены примеры осуществления настоящего изобретения в контексте конкретных примеров комбинаций элементов и/или функций, следует понимать, что в альтернативных вариантах осуществления изобретения могут быть обеспечены другие комбинации элементов и/или функций в пределах сущности приложенной формулы изобретения. В связи с этим, например, различные комбинации элементов и/или функций, отличных от явно описанных выше, также могут быть заявлены в некоторых из пунктов формулы изобретения. Несмотря на использование в настоящем документе конкретных терминов, они использованы исключительно в общем смысле для описания, а не для ограничения изобретения.