СПОСОБЫ, ЭЛЕКТРОННЫЕ УСТРОЙСТВА И КОМПЬЮТЕРНЫЕ ПРОГРАММНЫЕ ПРОДУКТЫ ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ МНОЖЕСТВА БУФЕРОВ ИЗОБРАЖЕНИЙ
METHODS, ELECTRONIC DEVICES AND COMPUTER SOFTWARE PRODUCTS TO PROCESS IMAGES USING MULTIPLE IMAGE BUFFERS

Предшествующий уровень техники
Настоящее изобретение относится к системам обработки изображений и, в частности, к способам, электронным устройствам и компьютерным программным продуктам для обработки изображений, используя множество буферов изображений.
Мобильные терминалы, такие как сотовые телефоны, могут быть снабжены функцией цифровой камеры. Когда пользователь наводит камеру на сцену, камера может работать в режиме видоискателя. В этом режиме размер выводимого изображения может быть меньше и качество изображения может быть хуже, чем максимальный размер и разрешение, соответственно, которые могут быть обеспечены камерой. Формат вывода может соответствовать размеру изображения видоискателя на дисплее. Меньший формат может указывать меньше данных изображения, и может использоваться большая частота кадров, например, примерно 15-30 кадров в секунду.
Когда пользователь нажимает спусковую кнопку на камере, камера переключается в режим захвата. В обычной камере может понадобиться один экстракадр изображения, чтобы переключиться на полное разрешение, и тогда камера захватывает изображение с полным разрешением и передает изображение с полным разрешением на дисплей. К сожалению, временная задержка между моментом, когда пользователь нажимает спусковую кнопку, чтобы захватить изображение, и моментом, когда камера захватывает кадр изображения, может привести к тому, что пользователь не получит то изображение, которое он хотел. Например, в течение этого периода времени объект мог переместиться. Более того, еще хуже ситуация, когда изображение захватывается, когда камера трясется. Например, когда пользователь только нажал спусковую кнопку, что могло привести к тряске камеры, и пользователь начал двигать камеру, думая, что изображение уже захвачено.
Сущность изобретения
Согласно некоторым вариантам осуществления настоящего изобретения электронное устройство эксплуатируется путем обеспечения множества буферов. Последовательные изображения сохраняются в соответствующих буферах из этого множества буферов, и одно или более из сохраненных изображений выбираются для вывода в ответ на ввод пользователя.
В других вариантах осуществления настоящего изобретения сохранение последовательных изображений содержит сжатие последовательных изображений.
В других вариантах осуществления настоящего изобретения сохранение последовательных изображений, сверх того, содержит масштабирование последовательных изображений до сжатия последовательных изображений.
В других вариантах осуществления настоящего изобретения последовательные изображения масштабируются, и масштабированные последовательные изображения выводятся до выбора одного или более из сохраненных изображений для вывода.
В других вариантах осуществления настоящего изобретения упомянутое множество буферов представляет собой кольцевую очередь.
В других вариантах осуществления настоящего изобретения выбор одного из сохраненных изображений для вывода содержит выбор изображения, которое было сохранено в упомянутом множестве буферов непосредственно до ввода пользователя, в ответ на ввод пользователя.
В других вариантах осуществления настоящего изобретения выбор одного или более из сохраненных изображений для вывода содержит отображение сохраненных изображений в ответ на ввод пользователя и прием от пользователя выбора одного или более сохраненных изображений в ответ на отображение сохраненных изображений.
В других вариантах осуществления настоящего изобретения электронное устройство представляет собой мобильный терминал, содержащий камеру и/или видеозаписывающее устройство.
Несмотря на то что описанное выше, главным образом, относится к аспектам способа настоящего изобретения, очевидно, что настоящее изобретение может быть воплощено как способы, электронные устройства и/или компьютерные программные продукты.
Перечень чертежей
Другие признаки настоящего изобретения будут очевидны из нижеследующего подробного описания конкретных вариантов осуществления в сочетании с прилагаемыми чертежами, на которых:
Фиг.1 - структурная схема, иллюстрирующая мобильный терминал согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.2 - структурная схема, которая иллюстрирует архитектуру аппаратного/программного обеспечения, которое может быть использовано в электронных устройствах, таких как мобильный терминал по фиг.1, согласно некоторым вариантам осуществления настоящего изобретения;
Фиг.3 - структурная схема буферов изображения согласно некоторым вариантам осуществления настоящего изобретения; и
Фиг.4 - схема последовательности операций, которая иллюстрирует операции для обработки данных изображения согласно некоторым вариантам осуществления настоящего изобретения.
Подробное описание предпочтительных вариантов осуществления
Несмотря на то что в настоящем изобретении возможны различные модификации и альтернативные формы, его конкретные варианты осуществления показаны в качестве примера на чертежах и подробно описаны ниже. Тем не менее, следует понимать, что какого-либо намерения ограничить изобретение раскрытыми конкретными формами нет, напротив, изобретение должно охватывать все модификации, эквиваленты и альтернативы, подпадающие под объем настоящего изобретения, определяемый формулой изобретения. Одинаковые ссылочные номера обозначают одинаковые элементы по всему описанию чертежей.
Использованные здесь формы в единственном числе подразумевают также формы во множественном числе, если в явном виде не указано обратное. Кроме того, следует понимать, что используемый в данном описании термин «содержит» и/или «содержащий» определяет наличие изложенных функциональных особенностей, целых этапов, операций, элементов и/или компонентов, но не исключает наличия или добавления одной или более других функциональных особенностей, целых этапов, операций, элементов, компонентов и/или их групп. Также следует понимать, что когда в описании элемент упоминается как «соединенный» или «присоединенный» к другому элементу, он может быть соединен или присоединен к другому элементу напрямую или могут присутствовать промежуточные элементы. Кроме того, в использованном здесь значении «соединенный» или «присоединенный» может подразумевать беспроводное соединение. Использованный здесь термин «и/или» подразумевает любую и все комбинации из одного или более ассоциированных перечисленных элементов.
Если не определено иначе, все используемые здесь термины (включая технические и научные термины) имеют то же значение, в котором их понимают специалисты той области техники, к которой относится настоящее изобретение. Кроме того, следует понимать, что термины, такие как определенные в общеиспользуемых словарях, должны быть интерпретированы согласно тому их смысловому значению, которое согласуется с их смысловым значением в контексте соответствующей области техники, и они не должны быть интерпретированы в идеализированном или чрезмерно формальном смысле, если так не определено в явной форме.
Настоящее изобретение может быть воплощено как способы, электронные устройства и/или компьютерные программные продукты. Соответственно, настоящее изобретение может быть реализовано в аппаратной и/или программной форме (включая встроенное программное обеспечение, резидентное программное обеспечение, микрокод и т.п.). Кроме того, настоящее изобретение может принять форму компьютерного программного продукта на используемом компьютером или машиночитаемом носителе, имеющем реализованный в нем используемый компьютером или машиночитаемый программный код для использования системой выполнения команд или в связи с ней. В контексте настоящего документа используемый компьютером и/или машиночитаемый носитель может быть любым носителем, который может содержать, сохранять, передавать, распространять или транспортировать программу для использования системой выполнения команд, блоком или устройством, или в связи с таковыми.
Используемый компьютером или машиночитаемый носитель может быть, например, электронной, магнитной, оптической, электромагнитной, инфракрасной или полупроводниковой системой, блоком, устройством или средой распространения, но не ограничен этим. Более конкретные примеры (неисчерпывающий перечень) машиночитаемых носителей включают в себя следующее: электрическое соединение, имеющее один или более проводов, портативную компьютерную дискету, Оперативное Запоминающее Устройство (ОЗУ), Постоянное Запоминающее Устройство (ПЗУ), Стираемое Программируемое Постоянное Запоминающее Устройство (СППЗУ или флэш-память), оптическое волокно и ПЗУ на компакт-диске (CD-ROM). Следует отметить, что используемый компьютером или машиночитаемый носитель может даже быть бумагой или другим подходящим носителем, на котором распечатана программа, поскольку программа может быть захвачена электронным образом посредством, например, оптического сканирования бумаги или иного носителя, и далее скомпилирована, интерпретирована или иным подходящим образом обработана, если необходимо, и сохранена в компьютерной памяти.
В использованном здесь значении «мобильным терминалом» может быть, например, спутниковый или сотовый радиотелефон с многострочным дисплеем или без такового; терминал персональной системы связи (PCS), который сочетает сотовый радиотелефон с функциями обработки данных, факсимильной связи и передачи данных; персональный цифровой секретарь (PDA), который может включать в себя радиотелефон, пейджер, доступ в Интернет/интранет, Web-браузер, органайзер, календарь и/или приемник системы глобального позиционирования (GPS); и приемник обычного портативного и/или карманного компьютера или иное устройство, которое включает в себя радиотелефонный приемопередатчик. Мобильные терминалы могут также упоминаться как устройства «распределенных вычислений». Кроме того, в использованном здесь значении термин «изображение» обозначает данные, которые содержат представление физического объекта, сформированного посредством линзы, зеркала или иного оптического прибора.
В целях иллюстрации, варианты осуществления настоящего изобретения описаны ниже в контексте мобильного терминала, содержащего камеру и/или видеозаписывающее устройство. Тем не менее, очевидно, что настоящее изобретение не ограничено такими вариантами осуществления, и оно может быть воплощено в общем как электронное устройство, которое содержит функциональные возможности обработки изображений.
Ссылаясь на фиг.1, пример мобильного терминала 100 согласно некоторым вариантам осуществления настоящего изобретения включает в себя клавиатуру/клавишную панель 102, дисплей 104, приемопередатчик 106, память 108, микрофон 110 и динамик 112, которые взаимодействуют с процессором 114. Приемопередатчик 106, как правило, включает в себя схему 116 передатчика и схему 118 приемника, которые содействуют, чтобы передавать и принимать радиочастотные сигналы в/от приемопередатчиков базовых станций через антенну 122. Память 108 может представлять иерархию памяти, которая может включать в себя энергозависимую и/или энергонезависимую память, такую как съемная флэш-память, магнитная и/или оптическая перезаписываемая энергонезависимая память. Радиочастотные сигналы, передаваемые между мобильным терминалом 100 и приемопередатчиками базовых станций, могут содержать как сигналы трафика, так и сигналы управления (например, поисковые сигналы/сообщения для входящих вызовов), которые используются, чтобы устанавливать и поддерживать связь с другим абонентом или адресатом. Радиочастотные сигналы могут содержать информацию пакетных данных, такую как, например, информация сотовой цифровой передачи пакетных данных (CDPD).
Мобильный терминал 100 может, сверх того, содержать камеру/видео модуль 120, который может быть сконфигурирован, чтобы захватывать и отображать изображения согласно некоторым вариантам осуществления настоящего изобретения.
Вышеупомянутые компоненты мобильного терминала 100 могут быть включены в состав множества обычных мобильных терминалов, и их функциональные возможности в целом известны специалистам в данной области техники.
Фиг.2 представляет собой структурную схему, которая иллюстрирует камеру/видео модуль 200, который может быть использован, например, чтобы реализовать камеру/видео модуль 120 по фиг.1, согласно некоторым вариантам осуществления настоящего изобретения. Камера/видео модуль 200 содержит сенсор 205 изображения, блок 210 обработки изображения, первый блок 215 масштабирования, второй блок 220 масштабирования, средство 225 сжатия, множество буферов 230 и дисплей 235, которые сконфигурированы, как показано. Сенсор 205 изображения предоставляет необработанные данные изображения в блок 210 обработки изображения. Блок 210 обработки изображения может быть сконфигурирован так, чтобы обрабатывать необработанные данные изображения путем выполнения таких функций, как, например, интерполяция цвета, гамма-коррекция и увеличение четкости. Если камера/видеозаписывающее устройство имеет режим видоискателя, то для отображения на дисплее 235 вывод изображения из блока 210 обработки изображения может быть уменьшен в размере посредством блока 215 масштабирования. В различных вариантах осуществления настоящего изобретения малый формат изображения для режима видоискателя может быть получен путем субдискретизации посредством сенсора 205 изображения и/или путем масштабирования посредством блока 215 масштабирования.
Согласно некоторым вариантам осуществления настоящего изобретения вывод изображения из блока 210 обработки изображения предоставляется параллельно и в блок 215 масштабирования, ассоциированный с режимом видоискателя, и в средство 225 сжатия, которое ассоциировано с захватом изображения в ответ на ввод пользователя. Средство 225 сжатия может быть средством сжатия JPEG согласно некоторым вариантам осуществления настоящего изобретения. Средство 225 сжатия сконфигурировано так, чтобы сжимать вывод изображения из блока 210 обработки изображения. Сжатые изображения, выводимые из средства сжатия, могут затем сохраняться во множестве буферов 230.
Буферы проиллюстрированы, например, на фиг.3. Буферы 230 могут быть сконфигурированы как кольцевая очередь из буферов изображения. В показанном на фиг.3 примере в буферах 305, 310 и 315 могут храниться три изображения. Вывод сжатого изображения из средства 225 сжатия может сначала быть сохранен в буфере 305. Последующее изображение сохраняется в буфере 310. Далее третье изображение сохраняется в буфере 315. Когда средство 225 сжатия генерирует четвертое изображение, оно сохраняется в буфере 305, таким образом, перезаписывая первое изображение, которое было там сохранено. Несмотря на то что на фиг.3 проиллюстрированы три буфера изображения, очевидно, что буферы изображения могут содержать два или более буферов изображения.
Если желателен захват изображений, которые меньше, чем максимальное разрешение, то между блоком 210 обработки изображения и средством 225 сжатия может быть вставлен необязательный блок 220 масштабирования.
Дисплей 235 может представлять как дисплей, так и микропроцессорный контроллер, такой как процессор 114 по фиг.1. Когда камера/видеозаписывающее устройство находится в режиме видоискателя, вывод блока 215 масштабирования может отображаться на дисплее 235. Однако, когда пользователь предоставляет ввод, чтобы захватить изображение, то вывод одного из изображений, сохраненных в буферах 230, может быть выведен на дисплей 235 и оно также может быть сохранено в памяти, так что оно может быть сохранено на более длительный период времени.
Несмотря на то что фиг.2 иллюстрирует пример архитектуры аппаратного/программного обеспечения, которое может быть использовано в мобильный терминалах, электронных устройствах и т.п. для обработки данных изображения, очевидно, что настоящее изобретение не ограничено такой конфигурацией, а оно охватывает любую конфигурацию, способную выполнять описанные здесь операции. Более того, функциональные возможности архитектуры аппаратного/программного обеспечения по фиг.2, могут быть реализованы как однопроцессорная система, многопроцессорная система или даже сеть из отдельных компьютерных систем, согласно различным вариантам осуществления настоящего изобретения.
Для удобства разработки компьютерный программный код для выполнения операций устройств и/или систем, описанных выше относительно фиг.2, может быть написан на высокоуровневом языке программирования, таком как Java, C и/или C++. В дополнение компьютерный программный код для выполнения операций вариантов осуществления настоящего изобретения может также быть написан на других языках программирования, таких как интерпретируемые языки, но не ограничен этим. Некоторые модули или процедуры могут быть написаны на языке ассемблера или даже как микрокод, чтобы улучшить производительность и/или использование памяти. Кроме того, очевидно, что функциональные возможности какой-либо или всех программных модулей могут также быть реализованы, используя дискретные аппаратные компоненты, одну или более специализированных интегральных схем (ASIC) или программируемые цифровые процессоры сигналов или микроконтроллеры.
Настоящее изобретение ниже описано со ссылкой на иллюстрации схемы последовательности операций и/или блок-схемы способов, мобильных терминалов, электронных устройств, систем обработки данных и/или компьютерных программных продуктов согласно некоторым вариантам осуществления настоящего изобретения.
Эти схемы последовательности операций и/или блок-схемы иллюстрируют примеры операций обработки данных изображения согласно различным вариантам осуществления настоящего изобретения. Очевидно, что каждый блок из иллюстраций схемы последовательности операций и/или блок-схемы, и комбинации из таких блоков могут быть реализованы как команды компьютерной программы и/или операции аппаратного обеспечения. Эти команды компьютерной программы могут быть предоставлены в процессор компьютера общего назначения, компьютера специального назначения или в иное программируемое устройство обработки данных, чтобы произвести такую машину, что инструкции, которые выполняются посредством процессора компьютера или иного программируемого устройства обработки данных, создают средство для осуществления функций, указанных в схеме последовательности операций и/или блоке или блоках блок-схемы.
Эти команды компьютерной программы могут также быть сохранены в используемой в компьютере или машиночитаемой памяти и эти команды предписывают компьютеру или иным программируемым устройствам обработки данных, чтобы они функционировали определенным образом, так что команды, сохраненные в используемой в компьютере или машиночитаемой памяти, соответствовали промышленному изделию, включающему в себя команды, которые реализуют функцию, указанную в схеме последовательности операций или блоке или блоках блок-схемы.
Команды компьютерной программы могут также быть загружены в компьютер или иное программируемое устройство обработки данных, чтобы привести к выполнению ряда операционных этапов на компьютере или ином программируемом устройстве с целью выполнения реализованного компьютером процесса, так чтобы команды, выполняемые на компьютере или ином программируемом устройстве, обеспечивали этапы для реализации функций, указанных в схеме последовательности операций и/или блоке или блоках блок-схемы.
Ссылаясь на фиг.4 и 2, согласно некоторым вариантам осуществления настоящего изобретения операции обработки данных изображения начинаются на этапе 400, где последовательные изображения сохраняются в соответствующих буферах из множества буферов 230. На этапе 405 одно из сохраненных изображений выбирается для вывода в ответ на ввод пользователя. Выбранное изображение может также быть сохранено в памяти для сохранения этого изображения на более длительный период времени. Преимущественно, согласно некоторым вариантам осуществления настоящего изобретения изображение, которое выбирается для отображения в ответ на ввод пользователя, является изображением, которое было сохранено в буферах непосредственно до ввода пользователя. Это изображение может иметь меньше искажений, поскольку когда это изображение было получено, пользователь не нажимал спусковую кнопку или кнопку захвата. В других вариантах осуществления различные изображения, сохраненные в буферах 230, могут отображаться пользователю, и пользователь может выбрать одно или более из этих изображений в качестве окончательного изображения, которое необходимо сохранить.
Схема последовательности операций по фиг.4 иллюстрирует архитектуру, функциональные возможности и операции вариантов осуществления способов, электронных устройств и/или компьютерных программных продуктов для обработки данных изображения. В этом отношении каждый блок представляет модуль, сегмент или часть кода, который содержит одну или более выполняемых команд для осуществления определенной(ых) логической(их) функции(ий). Также следует отметить, что в других вариантах осуществления функция(и), указанная(ые) в блоках, может(гут) выполняться в порядке, отличном от такового по фиг.4. Например, два блока, показанные как последовательные, в действительности могут выполняться, по существу, одновременно или эти блоки иногда могут выполняться в обратном порядке в зависимости от вовлеченных функциональных возможностей.
Множество вариаций и модификаций может быть выполнено в предпочтительных вариантах осуществления, по существу, в рамках принципов настоящего изобретения. Подразумевается, что все такие вариации и модификации подпадают под объем настоящего изобретения, определяемый следующей формулой изобретения.