RU2350036C2 - Adaptive image stabilisation - Google Patents
Adaptive image stabilisation Download PDFInfo
- Publication number
- RU2350036C2 RU2350036C2 RU2006132727/09A RU2006132727A RU2350036C2 RU 2350036 C2 RU2350036 C2 RU 2350036C2 RU 2006132727/09 A RU2006132727/09 A RU 2006132727/09A RU 2006132727 A RU2006132727 A RU 2006132727A RU 2350036 C2 RU2350036 C2 RU 2350036C2
- Authority
- RU
- Russia
- Prior art keywords
- frame
- image
- motion
- motion vector
- frames
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Область техникиTechnical field
Настоящее изобретение относится к видеотехнологии, и более конкретно, к стабилизации видеоизображения.The present invention relates to video technology, and more specifically to video stabilization.
Предшествующий уровень техникиState of the art
Объединение функциональных возможностей фотокамеры и видеоаппаратуры в мобильных телефонах, персональных цифровых ассистентах (ПЦА) и других карманных устройствах стало господствующей тенденцией на современном рынке бытовой электронной аппаратуры. Эту существующую возможность добавлять схемы воспроизведения изображений в такие карманные устройства можно отнести, отчасти, к доступности таких передовых методов сжатия, как MPEG-4 (Экспертная группа по вопросам движущегося изображения). С использованием MPEG или другой соответствующей схемы сжатия, видеокамера может принимать видеофрагменты и передавать их беспроводным способом на другие устройства.The combination of the functionalities of the camera and video equipment in mobile phones, personal digital assistants (OCA) and other handheld devices has become the dominant trend in the modern market of consumer electronic equipment. This existing ability to add image reproduction schemes to such handheld devices can be attributed, in part, to the availability of such advanced compression methods as MPEG-4 (Moving Image Expert Group). Using MPEG or another appropriate compression scheme, the camcorder can receive video clips and transmit them wirelessly to other devices.
Передача видеоизображений может осуществляться в реальном времени или не в реальном времени. Электронная почта передачи видеоизображений является все более и более популярным методом передачи не в реальном времени, который используется на нескольких рынках сбыта по всему миру. Используя электронную почту передачи видеоизображений, человек может использовать карманное устройство, чтобы выбирать видеоизображения или фрагменты мультимедиа, сжимать и записывать видеоизображения, и затем передавать сжатую версию этого фрагмента вместе с добавленным звуковым или видеосообщением на другое вычислительное устройство (такое как ПК (персональный компьютер) или другое карманное устройство). Приемное устройство, в свою очередь, может записывать фрагмент, или декодировать и воспроизводить фрагмент на дисплее. Методы отображения в реальном времени также находятся в развитии. Поскольку процессоры становятся более быстродействующими, способы сжатия становятся совершеннее, а полосы пропускания беспроводной связи больше, наличие на рынке видеотелефонной связи в реальном времени с использованием карманных устройств будет, вероятно, постоянно возрастать.Video can be transmitted in real time or not in real time. Video transmission email is an increasingly popular non-real-time transmission method that is used in several distribution markets around the world. Using video transmission email, a person can use a handheld device to select video images or multimedia fragments, compress and record video images, and then transfer the compressed version of this fragment along with the added audio or video message to another computing device (such as a PC (personal computer) or another handheld device). The receiver, in turn, can record the fragment, or decode and play the fragment on the display. Real-time display methods are also in development. As processors become faster, compression methods become more sophisticated, and wireless bandwidths are wider, the availability of real-time video telephony in the market using handheld devices is likely to constantly increase.
Дрожание видеокамеры или изображения представляют проблемную характеристику любой системы отображения видеоизображений. Дрожание видеокамеры представляет собой непреднамеренные перемещения устройства видеокамеры пользователем, которые, если они не скомпенсированы, проявляются в визуализированной последовательности изображений. Дрожание видеокамеры часто включает в себя маленькие, толчкообразные и чередующиеся типы перемещений. Дрожание видеокамеры должно различаться от нормального, преднамеренного движения видеокамеры, связанного со сканированием съемочного плана человеком, осуществляющим видеографию. В большинстве случаев, дрожание видеокамеры не вносит ничего в визуализацию съемочного плана. Вместо этого, дрожание может ставить под угрозу качество видеоизображения и, больше чем что-либо, раздражать зрителя. В то время как эта проблема универсально применима к свободно-перемещаемым видеокамерам, неблагоприятные воздействия, связанные с дрожанием изображения, только усиливаются в более легких и маленьких устройствах, таких как мобильные телефоны или подобные устройства.Camera or image shake is a problematic feature of any video display system. Camera shake is the inadvertent movement of the camera device by the user, which, if not compensated, appears in a visualized sequence of images. Camera shake often involves small, jerky, and alternating types of movements. Camera shake should differ from the normal, intentional movement of the camera associated with scanning the shooting plan by the person performing the video. In most cases, camera shake does not contribute to the visualization of the film plan. Instead, jitter can jeopardize the quality of the video image and, more than anything, annoy the viewer. While this problem is universally applicable to freely movable cameras, the adverse effects associated with image jitter are only magnified in lighter and smaller devices, such as mobile phones or similar devices.
Для уменьшения или устранения дрожания видеокамеры были предложены или реализованы некоторые технические приемы. Например, в портативных видеокамерах часто используются средства схем стабилизации изображения, для содействия удалению нежелательного "дрожания", связанного с толчкообразными и непреднамеренными перемещениями видеокамеры человеком, снимающим последовательность изображений. Обычные технические приемы включают в себя изучение движения видеокадров относительно друг друга, определение количества этого движения с использованием векторов движения на уровне кадра, интегрирование этих векторов вместе, увеличение и обрезание изображения и использование информации проинтегрированных векторов для "повторного позиционирования" кадров изображения, чтобы формировать более гладкую последовательность изображений.To reduce or eliminate camera shake, some techniques have been proposed or implemented. For example, portable camcorders often use image stabilization circuitry to help remove unwanted “jitter” associated with jerky and inadvertent movements of the camcorder by a person shooting a sequence of images. Common techniques include studying the motion of the video frames relative to each other, determining the amount of this motion using motion vectors at the frame level, integrating these vectors together, enlarging and cropping the image, and using the integrated vector information to “re-position” the image frames to form more smooth image sequence.
Для разрастающегося базиса прикладных программ существующий способ больше не пригоден. Потребность в более эффективных, и тем не менее недорогих способах стабилизации изображения заметно увеличилась из-за таких факторов, как (i) потребность рынка во все более и более маленьких видеокамерах и видеомагнитофонах, и (ii) объединение в различные карманных устройствах (например, мобильных телефонах, персональных цифровых ассистентах, приемных устройствах GPS (Глобальной системы определения местоположения и т.д.) функциональных возможностей видеокамеры и видеоаппаратуры. Поскольку электронные устройства становятся меньше в отношении форм-фактора, они, к сожалению, допускают возможность захватывания, которая является менее "удобной в пользовании", чем более обычные или специально разработанные для захвата устройства, например, такие, как основанные на более тяжелых или более устойчивых моделях, или на видеокамерах, переносимых на плече. Далее, поскольку карманные устройства становятся более легкими, для пользователя становится труднее снимать изображения, свободные от заметного дрожания руки или других непреднамеренных перемещений пользователя, которые включаются в изображение. Дополнительно, маленькие карманные устройства имеют небольшое пространство для вмещения дополнительных громоздких схем, предназначенных исключительно для стабилизации изображения. Стоимость в этих карманных устройствах также становится важной проблемой.For the growing base of applications, the existing method is no longer suitable. The need for more effective and yet inexpensive methods of image stabilization has increased markedly due to factors such as (i) market demand for increasingly smaller camcorders and VCRs, and (ii) integration into various handheld devices (e.g. mobile telephones, personal digital assistants, GPS receivers (Global Positioning System, etc.) of the functionality of the camcorder and video equipment. As electronic devices become smaller in relation form factor, they, unfortunately, allow the possibility of capture, which is less "convenient to use" than more conventional or specially designed to capture devices, such as those based on heavier or more stable models, or on camcorders carried on the shoulder Further, as handheld devices become lighter, it becomes more difficult for the user to capture images free of noticeable hand shake or other inadvertent movements of the user, which include smiling in the image. Additionally, small handheld devices have a small space to accommodate additional bulky circuits designed solely for image stabilization. Cost in these handheld devices is also becoming an important issue.
Традиционные способы имеют недостатки, в частности, когда они предназначены для использования в карманных устройствах. Одна проблема, связанная с традиционным способом, используемым в применении для портативных видеокамер, состоит в том, что они часто не могут отличать естественное, преднамеренное движение, связанное со сканированием съемочного плана или перемещением объектов с одной стороны, от нежелательного и непреднамеренного движения, связанного с дрожанием видеокамеры с другой стороны. В результате, устройство может пытаться компенсировать движение, которое является естественным и желательной частью съемочного плана, подлежащего записи, приводя к погрешностям и визуально неприятным наведенным помехам при выводе. Как отмечено выше, проблема усиливается в случае легкого карманного устройства, где непостоянное движение или дрожание обычно являются более заметными.Conventional methods have disadvantages, in particular when they are intended for use in handheld devices. One problem with the traditional method used in portable camcorders is that they often cannot distinguish between the natural, intentional movement associated with scanning the film plan or moving objects on one side from the unwanted and unintentional movement associated with camera shake on the other hand. As a result, the device may try to compensate for the movement, which is a natural and desirable part of the shooting plan to be recorded, leading to errors and visually unpleasant induced interference during output. As noted above, the problem is exacerbated in the case of a lightweight handheld device where intermittent movement or jitter is usually more noticeable.
Вследствие различных недостатков, которые продолжают присутствовать в обычных системах стабилизации, визуализированное видеоизображение может подвергаться существенному риску или даже оказаться испорченным. Например, дрожание изображения имеет тенденцию к размытости изображения, вызванной перемещением объекта, в конечной последовательности визуализированных изображений, даже когда включена функция стабилизации изображения. Далее, если область, подлежащая сканированию, нуждается в достаточно контрастной детали для стабилизатора, чтобы "захватить ее", стабилизатор может вызывать рыскание, колебание или подергивание. Эти ошибки только увеличиваются в выводимой последовательности видеоизображений. Другая обычная проблема состоит в том, что, как упомянуто выше, система стабилизации часто не может различать, является ли перемещение объекта или видеокамеры естественным, преднамеренным перемещением, или это дрожание видеокамеры. В этом случае, когда пользователь начинает медленное панорамирование или наклон, стабилизатор может ошибочно прогнозировать, что это перемещение является дрожанием видеокамеры, и приступить к его компенсированию. Результатом является нестабильная или неточная выводимая последовательность изображений.Due to various shortcomings that continue to be present in conventional stabilization systems, the rendered video image may be at significant risk or even be corrupted. For example, image jitter tends to blur the image due to the movement of an object in the final sequence of rendered images, even when the image stabilization function is on. Further, if the area to be scanned needs enough contrasting detail for the stabilizer to “grab”, the stabilizer can cause yaw, wobble or twitch. These errors only increase in the displayed video sequence. Another common problem is that, as mentioned above, the stabilization system often cannot distinguish whether the movement of an object or a video camera is a natural, deliberate movement, or is it a camera shake. In this case, when the user starts a slow pan or tilt, the stabilizer may erroneously predict that this movement is a jitter of the camera and begin to compensate for it. The result is an unstable or inaccurate image sequence.
Соответственно, существует потребность в технике удалять нестабильные движения в карманных и других видеоустройствах при сохранении естественного движения типа сканирования съемочного плана, с минимальной потребностью в дополнительных специализированных схемах и минимальным увеличением вычислительной сложности.Accordingly, there is a need for a technique to remove unstable movements in handheld and other video devices while maintaining natural motion such as scanning the film plan, with minimal need for additional specialized circuits and minimal increase in computational complexity.
Сущность изобретенияSUMMARY OF THE INVENTION
В одном аспекте настоящего изобретения заявлен способ стабилизации изображения, содержащий множество последовательных кадров, включающий в себя оценивание множества векторов движения, где каждый вектор движения соответствует одному из кадров, адаптивное интегрирование каждого из векторов движения с векторами движения, соответствующими предыдущим кадрам, и использование адаптивно проинтегрированных векторов движения для компенсации кадров, чтобы стабилизировать изображение.In one aspect of the present invention, there is provided an image stabilization method comprising a plurality of consecutive frames, including estimating a plurality of motion vectors, where each motion vector corresponds to one of the frames, adaptively integrating each of the motion vectors with the motion vectors corresponding to previous frames, and using adaptively integrated motion vectors to compensate for frames to stabilize the image.
Согласно другому аспекту изобретения предусмотрен способ стабилизации изображения из последовательности изображений, включающей в себя n кадров, включает в себя сохранение каждого кадра от датчика изображения в буфере эталонных изображений, оценивание вектора V(n) движения на уровне кадра для каждого из n кадров, формирование адаптивно проинтегрированных векторов F(n) движения для каждого из n кадров, основываясь на V(n) и векторе F(n-1) движения, соответствующем предыдущим n-1 кадрам, и представление каждого из n кадров, как последовательность видеоизображений, смещая, когда необходимо, n-ый кадр в буфере эталонных изображений на F(n).According to another aspect of the invention, there is provided a method of stabilizing an image from an image sequence including n frames, which includes storing each frame from the image sensor in a buffer of reference images, estimating the motion vector V (n) at the frame level for each of n frames, forming adaptively integrated motion vectors F (n) for each of n frames, based on V (n) and motion vector F (n-1) corresponding to previous n-1 frames, and representing each of n frames as a sequence in ideal images, shifting, when necessary, the nth frame in the buffer of reference images to F (n).
Согласно еще одному аспекту изобретения устройство стабилизации изображения для использования в устройстве, выполненном с возможностью захвата видеоизображения, включает в себя датчик изображения для захвата видеокадров, содержащих последовательность изображений, буфер, подсоединенный к датчику изображения для хранения эталонного изображения, связанного с захваченным (зафиксированным) кадром, схему оценивания движения, подсоединенную к буферу и действующую для вычисления вектора движения для каждого кадра, адаптивную схему интегрирования, подсоединенную к схеме оценивания движения и действующую для адаптивного интегрирования векторов движения, связанных с каждым кадром, чтобы выводить кумулятивный вектор движения для каждого кадра, и схему визуализации, подсоединенную к буферу и адаптивной схеме интегрирования и действующую для копирования стабилизированной части последовательности изображений.According to another aspect of the invention, the image stabilization device for use in a device capable of capturing a video image includes an image sensor for capturing video frames containing a sequence of images, a buffer coupled to an image sensor for storing a reference image associated with a captured (fixed) frame , a motion estimation circuitry connected to a buffer and operable to calculate a motion vector for each frame, an adaptive integra circuit a loop connected to a motion estimation circuit and operable to adaptively integrate motion vectors associated with each frame to output a cumulative motion vector for each frame, and a visualization circuit connected to a buffer and adaptive integration circuit and operable to copy the stabilized part of the image sequence.
Согласно еще одному аспекту изобретения предусмотрена схема стабилизации изображения, которая включает в себя средство для оценивания множества векторов движения на уровне кадра, соответствующих, соответственно, множеству кадров, содержащих последовательность изображений, средство для адаптивного интегрирования каждого из множества векторов движения на уровне кадра для формирования соответствующего вектора движения для использования в стабилизации изображения, и средство для визуализации каждого кадра с использованием, где необходимо, соответствующего вектора движения для использования в стабилизации изображения.According to yet another aspect of the invention, there is provided an image stabilization scheme that includes means for estimating a plurality of motion vectors at a frame level corresponding respectively to a plurality of frames containing a sequence of images, means for adaptively integrating each of a plurality of motion vectors at a frame level to form a corresponding motion vectors for use in image stabilization, and a means for visualizing each frame using, where necessary Apparently, the corresponding motion vector for use in image stabilization.
Должно быть понятно, что специалистам в данной области техники станут очевидными другие варианты осуществления настоящего изобретения из последующего подробного описания, в котором посредством иллюстрации показаны и описаны только несколько вариантов осуществления изобретения. Как будет понятно, изобретение вмещает другие и различные варианты осуществления, и его некоторые детали можно модифицировать в различных других отношениях, и все они не выходят за рамки сущности и объема настоящего изобретения. Соответственно, чертежи и подробное описание следует рассматривать, как иллюстративные по своему характеру, а не как ограничительные.It should be understood that other embodiments of the present invention will become apparent to those skilled in the art from the following detailed description, in which by way of illustration only a few embodiments of the invention are shown and described. As will be understood, the invention encompasses other and various embodiments, and some of its details can be modified in various other respects, and all of them do not go beyond the essence and scope of the present invention. Accordingly, the drawings and detailed description should be considered as illustrative in nature and not as restrictive.
Краткое описание чертежейBrief Description of the Drawings
Аспекты настоящего изобретения иллюстрируются посредством примера, а не посредством ограничения, на прилагаемых чертежах, на которых:Aspects of the present invention are illustrated by way of example, and not by way of limitation, in the accompanying drawings, in which:
фиг. 1 - блок-схема карманного устройства, содержащего стабилизатор изображения согласно варианту осуществления настоящего изобретения.FIG. 1 is a block diagram of a handheld device comprising an image stabilizer according to an embodiment of the present invention.
Фиг. 2 - рисунок описываемого датчика изображения с перемещающимися кадрами.FIG. 2 is a drawing of the described image sensor with moving frames.
Фиг. 3 - функциональная схема способа стабилизации изображения согласно варианту осуществления настоящего изобретения.FIG. 3 is a flowchart of an image stabilization method according to an embodiment of the present invention.
Фиг. 4 - блок-схема, представляющая адаптивное интегрирование согласно варианту осуществления настоящего изобретения.FIG. 4 is a block diagram representing adaptive integration according to an embodiment of the present invention.
Подробное описаниеDetailed description
Подробное описание, сформулированное ниже в связи с прилагаемыми чертежами, предназначено служить в качестве описания различных вариантов осуществления настоящего изобретения и не предназначено для того, чтобы представлять единственные варианты осуществления, в которых настоящее изобретение может быть осуществлено на практике. Каждый вариант осуществления, описанный в этом раскрытии, обеспечивается просто как пример или иллюстрация настоящего изобретения и не должен рассматриваться обязательно, как предпочтительный или выгодный по сравнению с другими вариантами осуществления изобретения. Подробное описание включает в себя определенные подробности с целью обеспечения полного понимания настоящего изобретения. Однако специалистам в данной области техники должно быть очевидно, что настоящее изобретение может быть осуществлено на практике без этих определенных подробностей. В некоторых примерах известные структуры и устройства показаны в форме блок-схемы для избежания затенения концепций настоящего изобретения. Акронимы и другая описательная терминология могут использоваться просто для удобства и ясности и не предназначены для ограничения объема изобретения.The detailed description set forth below in connection with the accompanying drawings is intended to serve as a description of various embodiments of the present invention and is not intended to represent the only embodiments in which the present invention may be practiced. Each embodiment described in this disclosure is provided merely as an example or illustration of the present invention and should not be construed as preferable or advantageous in comparison with other embodiments of the invention. The detailed description includes certain details in order to provide a thorough understanding of the present invention. However, it should be apparent to those skilled in the art that the present invention may be practiced without these specific details. In some examples, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the present invention. Acronyms and other descriptive terminology can be used simply for convenience and clarity and are not intended to limit the scope of the invention.
Хотя настоящее изобретение описано в контексте карманных электронных устройств, должно быть понятно, что изобретение может быть применимо к другим типам устройств, включая видеокамеры, кинокамеры, портативные видеокамеры и фактически любой тип электронных устройств, который включает в себя видеокамеру.Although the present invention has been described in the context of handheld electronic devices, it should be understood that the invention can be applied to other types of devices, including video cameras, movie cameras, portable video cameras, and virtually any type of electronic device that includes a video camera.
Потребительский спрос на карманные устройства, которые включают в себя все больше и все более сложные функциональные возможности, в последние годы стремительно растет. Недавно были представлены вместе на потребительском рынке карманные устройства, такие как мобильные телефоны и персональные цифровые ассистенты (ПЦА) и т.д., которые включают в себя технологию фиксации и передачи видеоинформации, то есть, видеокамеры. Способность конструкторов адресовать спрос на карманные устройства, которые включают в себя видеоаппаратуру с другими функциями, может быть приписана различным факторам. Один фактор заключается в доступности более быстрых и функционально превосходящих микропроцессоров и процессоров обработки цифровых сигналов. Другой заключается в уменьшении форм-фактора (размера) современных полупроводниковых микросхем и связанных компонентов, таких как монтажные платы и аккумуляторные батареи. Еще один относится к общим конструктивным усовершенствованиям в карманных модулях и непосредственно в видеокамерах. Например, современные модули видеокамер с датчиками с высокой цветовой разрешающей способностью на одной микросхеме являются недорогими и очень компактными.Consumer demand for handheld devices, which include more and more complex functionalities, has been growing rapidly in recent years. Handheld devices, such as mobile phones and personal digital assistants (OCA), etc., which include the technology for capturing and transmitting video information, i.e. , video cameras , have recently been introduced together in the consumer market. The ability of designers to address the demand for handheld devices that include video equipment with other functions can be attributed to various factors. One factor is the availability of faster and functionally superior microprocessors and digital signal processors. Another is to reduce the form factor (size) of modern semiconductor chips and related components such as circuit boards and batteries. Another relates to general design improvements in pocket modules and directly in camcorders. For example, modern camcorder modules with high color resolution sensors on a single chip are inexpensive and very compact.
Еще один фактор заключается в доступности усовершенствованных методов сжатия, например, таких как MPEG-4, которые обеспечивают возможность карманному устройству принимать, сжимать, сохранять, отображать и передавать на другие устройства большие количества видеоинформации или мультимедийной информации, связанной с фиксацией изображений, используя видеокамеру. Эти методы дополнительно обсуждаются ниже.Another factor is the availability of advanced compression methods, for example, such as MPEG-4, which enable the handheld device to receive, compress, store, display and transfer to other devices large amounts of video information or multimedia information related to capturing images using a video camera. These methods are further discussed below.
Независимо от применения, используется ли видеотелефонная связь в реальном времени или видеоконференция, электронная почта передачи видеоизображений или передача сообщений, потоковая передача видеоизображений, или в других случаях, в карманном устройстве может использоваться видеокодер, работающий в реальном времени для сжатия потока видеоинформации, производимой встроенным модулем видеокамеры, когда захвачен поток видеоизображений.Regardless of the application, whether using real-time video telephony or video conferencing, video transmission email or message transmission, video streaming, or in other cases, a handheld device can use a real-time video encoder to compress the video stream produced by the built-in module video cameras when the video stream is captured.
MPEG-4 представляет собой стандарт сжатия ISO/IEC (Международная организация стандартов/Международная электротехническая комиссия), разработанный MPEG (Экспертной группой по вопросам движущегося изображения). MPEG-4 является новым стандартом сжатия видеосигнала, обеспечивающим базовые методы для эффективного запоминания, передачи и манипуляции видеоизображениями в мультимедийных средах. MPEG-4 является результатом международных усилий, включающих в себя сотни исследователей и инженеров во всем мире. MPEG-4 сфокусирован на разработке стандарта, который достигает, помимо всего прочего, сильно расширяемых и гибких алгоритмов и конфигураций битовых потоков для кодирования видеоизображений, высокой устойчивости к ошибкам и восстановления через беспроводные каналы, и достижимости высокой независимой от сети. Например, с помощью кодирования MPEG-4 можно достигнуть хорошего качества изображения в некоторых прикладных программах, используя скорость передачи данных меньше, чем 32 кбит/сек.MPEG-4 is an ISO / IEC (International Organization of Standards / International Electrotechnical Commission) compression standard developed by MPEG (Moving Image Expert Group). MPEG-4 is a new video compression standard that provides basic methods for efficiently storing, transmitting, and manipulating video images in multimedia environments. MPEG-4 is the result of an international effort involving hundreds of researchers and engineers worldwide. MPEG-4 is focused on developing a standard that achieves, among other things, highly extensible and flexible algorithms and bitstream configurations for video encoding, high error tolerance and recovery via wireless channels, and reachability of high network-independent connectivity. For example, using MPEG-4 encoding, you can achieve good image quality in some applications using data rates of less than 32 kbps.
MPEG-4 основан на достижении технологий своих предшественников (MPEG-1 и MPEG-2) и обеспечивает совокупность стандартизированных элементов для реализации технологий, таких как цифровое телевидение, интерактивные прикладные программы работы с графическими данными и интерактивный обмен всеми видами информации, среди прочего. Благодаря его надежности, высокому качеству и низкой скорости передачи в битах, MPEG-4 был реализован в беспроводных телефонах, ПЦА, цифровых видеокамерах, web-страницах Интернета и других применениях. Широкий диапазон инструментальных средств для стандарта обработки видеоизображений MPEG-4 обеспечивает возможность кодирования, декодирования и представления натуральных видеоизображений, стоп-кадров и искусственных графических объектов. Несомненно, что неминуема реализация будущих схем сжатия, обеспечивающих еще большую гибкость и более устойчивое отображение.MPEG-4 is based on the achievement of the technologies of its predecessors (MPEG-1 and MPEG-2) and provides a set of standardized elements for the implementation of technologies such as digital television, interactive application programs for working with graphic data and interactive exchange of all types of information, among other things. Due to its reliability, high quality and low bit rate, MPEG-4 has been implemented in cordless phones, PDA, digital video cameras, Internet web pages and other applications. A wide range of tools for the MPEG-4 video processing standard provides the ability to encode, decode, and present natural video images, still images, and artifacts. Undoubtedly, the implementation of future compression schemes is inevitable, providing even greater flexibility and more stable display.
В общем, принципы сжатия MPEG и аналогичных стандартов базируются на реализации, при которой для передающего устройства нет необходимости посылать информацию, описывающую все и каждый пиксель для каждого кадра видеоизображений. Такой метод может потреблять неприемлемую величину полосы пропускания и/или приводить к передаче видеоизображений, имеющих неприемлемо низкую разрешающую способность. Вместо этого методы сжатия MPEG в общем функционируют, руководствуясь принципом, что после передачи "начального" кадра, затем в течение некоторого периода времени необходимо передавать только изменения от одного кадра к другому. Таким образом, например, в съемочном плане видеоизображений, в котором отдельный человек находится на переднем плане, а фон является темно-синим и остается темно-синим в течение некоторого периода времени, MPEG полагается на принцип, что нет необходимости расходовать полосу пропускания, повторно передавая информацию, представляющую темно-синий фон для каждого кадра. Вместо этого декодер MPEG может прогнозировать и визуализировать последующие кадры, принимая во внимание смещение, или движение, одного кадра относительно другого.In general, the principles of MPEG compression and similar standards are based on an implementation in which there is no need for the transmitting device to send information describing each and every pixel for each frame of video images. Such a method may consume an unacceptable amount of bandwidth and / or result in the transmission of video images having an unacceptably low resolution. Instead, the MPEG compression methods generally work, guided by the principle that after the transmission of the "initial" frame, then only changes from one frame to another should be transmitted over a period of time. Thus, for example, in a video shooting plan in which an individual is in the foreground and the background is dark blue and remains dark blue for some period of time, MPEG relies on the principle that there is no need to consume bandwidth by retransmitting Information representing a dark blue background for each frame. Instead, the MPEG decoder can predict and visualize subsequent frames, taking into account the offset, or movement, of one frame relative to another.
В качестве иллюстрации, MPEG и связанные методы сжатия могут использовать кодер для хранения последовательностей, начинающихся с полного кадра информации об изображении, и для кодирования последующих кадров, используя информацию, описывающую только изменения в начальном кадре (включая относительное движение в них объектов). При таком способе полное изображение по пикселям каждого кадра, которое иначе занимало бы недопустимые полосы пропускания, нет необходимости сохранять. Приемное устройство или дисплей использует декодер, чтобы разворачивать видеоинформацию и визуализировать последовательность изображений. Декодер воспроизводит начальный кадр последовательности, а затем визуализирует последующие кадры, интерпретируя связанную информацию движения по кадрам. В некоторых примерах кадры воспроизводятся с использованием информации движения, которая зависит не только от предыдущего кадра, но также и от последующего кадра. Используя эти методы, часто можно получать степени сжатия 40:1 или больше.As an illustration, MPEG and related compression methods can use an encoder to store sequences starting with a full frame of image information and to encode subsequent frames using information that describes only changes in the initial frame (including the relative movement of objects in them). With this method, the full image in pixels of each frame, which otherwise would occupy invalid bandwidths, is not necessary to save. The receiver or display uses a decoder to expand the video information and visualize the sequence of images. The decoder reproduces the initial frame of the sequence, and then visualizes subsequent frames, interpreting the associated motion information in frames. In some examples, frames are reproduced using motion information, which depends not only on the previous frame, but also on the subsequent frame. Using these methods, compression ratios of 40: 1 or more can often be obtained.
MPEG-4 является алгоритмом оценивания движения. Алгоритмы оценивания движения рассчитывают движение между последовательными видеокадрами и прогнозируют информацию, составляющую текущий кадр, используя рассчитанную информацию движения из предварительно переданных кадров. В схеме кодирования MPEG блоки пикселей кадра коррелируются с областями предыдущего кадра, и только различия между блоками и их коррелированными областями кодируются и сохраняются. Вектор сдвига между блоком и областью, которая наиболее близко соответствует ему, называется вектором движения.MPEG-4 is a motion estimation algorithm. Motion estimation algorithms calculate the movement between successive video frames and predict the information constituting the current frame using the calculated motion information from the previously transmitted frames. In the MPEG coding scheme, blocks of frame pixels are correlated with areas of the previous frame, and only differences between the blocks and their correlated areas are encoded and stored. The shift vector between the block and the area that most closely matches it is called the motion vector.
Сформулированные по-другому стандарты сжатия видеосигнала подобно MPEG-4 прогнозируют данные изображений на основании предыдущего кадра, используя оценивание вектора смещения. Векторы смещения составляют математические представления направления и величины движения, которое имеет место в течение последовательности видеоизображений. Для увеличения эффективности кодирования, каждый кадр последовательности изображений может быть "разбит" на серию блоков (8 на 8 пикселей) или макроблоков (16 на 16 пикселей), и векторы движения, таким образом, рассчитываются для каждого из этих блоков. В варианте осуществления изобретения, использующем MPEG-4 с каждым блоком или макроблоком связана совокупность векторов движения, некоторые данные на уровне блока и адрес макроблока, идентифицирующий позицию макроблока относительно датчика изображения. В качестве иллюстрации, при передаче сжатого видеоизображения, после того, как переданы один или больше начальные кадры, вместо передачи полной матрицы информации по пикселям, связанной со следующей группой кадров, передаются векторы движения последующих кадров. Процесс может повторяться для последующих групп кадров.Differently formulated video compression standards, like MPEG-4, predict image data based on a previous frame using displacement vector estimation. Displacement vectors constitute mathematical representations of the direction and magnitude of the movement that takes place during a sequence of video images. To increase the coding efficiency, each frame of the image sequence can be “divided” into a series of blocks (8 by 8 pixels) or macroblocks (16 by 16 pixels), and motion vectors are thus calculated for each of these blocks. In an embodiment of the invention using MPEG-4, a set of motion vectors, some data at the block level and a macroblock address identifying the position of the macroblock relative to the image sensor are associated with each block or macroblock. As an illustration, when transmitting a compressed video image, after one or more initial frames are transmitted, instead of transmitting a complete matrix of pixel information associated with the next group of frames, the motion vectors of subsequent frames are transmitted. The process may be repeated for subsequent groups of frames.
При захвате видеоизображения векторы движения формируются в соответствии с движением видеокамеры и в соответствии с движением объекта (например, отдельного человека на переднем плане в вышеупомянутом примере). В процессе кодирования блоки пикселей кадра коррелируются с областями предыдущего кадра, и кодируются только различия между блоками и их коррелированными областями. На приемном конце (либо удаленном, либо в видеокамере), декодер MPEG-4 восстанавливает изображение, визуализируя начальный кадр для каждой группы кадров и затем визуализируя последующие кадры для каждой группы, используя информацию вектора движения, содержащуюся в векторах на уровне блока или макроблока. После группы кадров новый кадр может быть передан полностью. В некоторых примерах кадр визуализируется с использованием векторов движения и от предыдущих кадров, и от последующих кадров. Как можно заметить, оценивание движения играет основную роль в цифровых и электронных системах стабилизации.When capturing a video image, motion vectors are formed in accordance with the movement of the camera and in accordance with the movement of the object (for example, an individual in the foreground in the above example). In the encoding process, blocks of pixel frames are correlated with areas of the previous frame, and only differences between the blocks and their correlated areas are encoded. At the receiving end (either remote or in the video camera), the MPEG-4 decoder restores the image by visualizing the initial frame for each group of frames and then visualizing subsequent frames for each group using the motion vector information contained in the vectors at the block or macroblock level. After a group of frames, a new frame can be transmitted completely. In some examples, a frame is rendered using motion vectors from both previous frames and subsequent frames. As you can see, motion estimation plays a major role in digital and electronic stabilization systems.
В приложении MPEG-4, содержащем видеотелефон (в реальном времени) или электронную почту передачи видеоизображений (не в реальном времени), карманное устройство может использовать и кодер MPEG-4 для сжатия информации видеоизображений, полученную от датчика изображения ПЗС (прибора с зарядовой связью) или КМОП (комплементарного металло-оксидного полупроводника), и декодер MPEG-4, чтобы разворачивать принятые видеоизображения для визуализации на дисплее.In an MPEG-4 application containing a video telephone (in real time) or video transmission email (not in real time), the handheld device can also use an MPEG-4 encoder to compress video information received from a CCD image sensor (charge-coupled device) or CMOS (complementary metal oxide semiconductor), and an MPEG-4 decoder to expand the received video images for visualization on the display.
Стабилизация движенияMotion stabilization
Способ стабилизации согласно настоящему изобретению удаляет непостоянные движения в последовательностях изображений при сохранении естественного движения видеоизображения, а именно преднамеренного движения видеокамеры (такого как сканирование съемочного плана) и движения объектов (то есть, объектов в захваченном видеоизображении). Способ стабилизации, в зависимости от варианта осуществления изобретения, может быть реализован исключительно в: аппаратном средстве (например, одном или больше ПЦС (процессорах обработки цифровых сигналов), специализированном микроконтроллере, ИСПО (интегральных схемах прикладной ориентации) или других прикладных специализированных устройствах или оборудовании); комбинации аппаратных средств и программного обеспечения; или исключительно в программном обеспечении (то есть, стабилизация может выполняться ЦП (центральным процессором) карманного устройства). Однако в устройстве типа мобильного телефона процессор не такой мощный, отчасти из-за ограничений потребляемой мощности в устройстве с батарейным питанием, а также из-за проблем надбавки к цене, связанных с включением более сложных ЦП. Также, во многих устройствах схемы оценивания движения могут быть реализованы в разрозненных аппаратных средствах, снижая до минимума нагрузку на процессор карманного компьютера.The stabilization method according to the present invention removes inconsistent movements in image sequences while preserving the natural motion of the video image, namely the intentional movement of the video camera (such as scanning the shooting plan) and the movement of objects (i.e. , objects in the captured video image). The stabilization method, depending on the embodiment of the invention, can be implemented exclusively in: hardware (for example , one or more DSPs (digital signal processing processors), a specialized microcontroller, ISPO (integrated application integrated circuits) or other specialized application devices or equipment) ; combination of hardware and software; or solely in software ( that is, stabilization can be performed by the CPU (central processor) of the handheld device). However, in a device such as a mobile phone, the processor is not as powerful, partly due to limitations in power consumption in a battery-powered device, and also due to problems of price premiums associated with the inclusion of more complex CPUs. Also, in many devices, motion estimation schemes can be implemented in disparate hardware, minimizing the burden on the processor of a handheld computer.
Согласно одному варианту осуществления изобретения схемы оценивания движения, связанные с оцениванием векторов движения и сжатия потока видеоизображений, также используются как часть схем стабилизации. Поскольку оценивание движения (типа используемой в MPEG-4) является дорогостоящим процессом в вычислительном отношении и поскольку стабилизация изображения также использует оценивание движения (см. ниже), использование схем оценивания движения для стабилизации изображения приводит к весьма эффективному использованию ресурсов процессора.According to one embodiment of the invention, motion estimation circuits associated with estimating motion vectors and compressing a video stream are also used as part of stabilization circuits. Since motion estimation (such as used in MPEG-4) is computationally expensive and since image stabilization also uses motion estimation (see below), the use of motion estimation schemes to stabilize the image leads to a very efficient use of processor resources.
Блок-схема компонентов карманного устройства, использующего стабилизатор в соответствии с настоящим изобретением, показана на фиг. 1. Объектив 3 включает в себя датчик 23 изображения, такой как прямоугольная матрица приборов с зарядовой связью (ПЗС) или устройств КМОП, которые формируют плоскую поверхность и действуют, как приемник для света, содержащего информацию видеоизображения. Датчик 23 изображения собирает видеоданные, составляющие необработанные кадры изображений. Данные подаются через различные схемы для обработки, включая фильтры и усилители 1 и аналого-цифровой преобразователь 5. (Типы и количества схем могут изменяться в зависимости от конкретной видеокамеры и конфигурации). Цифровая информация, представляющая кадры, затем посылается в стабилизатор 7. В этом варианте осуществления изобретения стабилизатор включает в себя, среди других компонентов, схемы оценивания движения, используемые для вычисления векторов движения на уровне блока, для использования в сжатии видеосигнала. Хотя пример в данном описании представлен в контексте MPEG-4, можно рассматривать другие схемы сжатия, как попадающие в объем изобретения.A block diagram of the components of a handheld device using a stabilizer in accordance with the present invention is shown in FIG. 1. The lens 3 includes an
На выходе 17 стабилизатора 7 постоянно находятся цифровые данные изображений. В этом примере данные, возможно, сжаты схемами сжатия в стабилизаторе 7 для сохранения в запоминающем устройстве 21, таком как флэш-память или внутренний буфер кадров, или они могут передаваться на другое устройство, такое как в применении видеотелефона или электронной почты передачи видеоизображений. Для простоты примера предполагается, что данные на выходе 17 могут быть либо сжаты, либо, когда прикладная программа дает такие полномочия, данные могут быть в их необработанной, несжатой форме. Также предполагается, что функциональные возможности сжатия постоянно находятся в пределах стабилизатора, чтобы выходной сигнал 17 стабилизатора 7 мог включать в себя либо сжатые данные (для передачи или сохранения), либо необработанные, несжатые данные для немедленного просмотра на дисплее. (В других вариантах осуществления изобретения, данные могут быть сжаты до передачи на дисплей, где соответствующие схемы (не показаны) разворачивают данные и восстанавливают последовательность изображений). Далее, в некоторых вариантах осуществления изобретения, данные кадра могут непосредственно передаваться в буфер кадров, а затем посылаться обратно в стабилизатор и оценочную функцию движения для сжатия или дополнительной обработки. Механизм сжатия в этом случае, как предполагается, является частью стабилизатора, частично потому, что в вычислительном отношении усиленные схемы оценивания движения используются и для сжатия изображений, и для стабилизации дрожания видеокамеры.The
Сжатые данные затем кодируются кодером 11 и модулируются модулятором 13 в формат, соответствующий передаче через предназначенную среду. Кодер 11 в данном описании относится не к кодеру MPEG-4, а скорее к кодеру данных, который присутствует в этом варианте осуществления изобретения. После модуляции на соответствующем несущем сигнале для беспроводной передачи, данные затем передаются через схемы 15 канальной связи.The compressed data is then encoded by the
Карманное устройство также может принимать сжатые данные MPEG через блок 15 канальной связи. Принимаемые данные демодулируются и декодируются демодулятором 17 и декодером 19, соответственно. Данные могут быть развернуты стабилизатором 7 и воспроизведены на дисплее 9, или они могут быть сохранены в запоминающем устройстве 21 для будущего использования.The handheld device can also receive compressed MPEG data through the
В этом варианте осуществления схемы оценивания движения (встроенные в этом примере в стабилизатор 7) могут использоваться для двух целей. Во-первых, они используются для вычисления векторов движения на уровне блоков или макроблоков для сжатия MPEG. Во-вторых, вычисленные векторы из схем стабилизации движения используются для оценивания глобальных векторов (на уровне кадра), которые будут использоваться в процессе стабилизации, описанном ниже. В результате этого объединения в одно целое схем оценивания движения для использования в двух дискретных функциях, сохраняется значительное пространство, и независимые вычислительные схемы для оценивания движения, специфического для стабилизатора, не требуются. Эта конфигурация приводит к сохранению ценного доступного пространства в карманных устройствах, где пространство является дефицитным. Кроме того, вычислительная сложность сведена к минимуму, посредством чего повышая эффективность и не жертвуя чрезмерным расходом энергии аккумуляторной батареи. Однако следует отметить, что использование этих схем оценивания движения для обеих целей, хотя и выгодно в контексте MPEG-4 и некоторых других устройств, не является основным для применения на практике данного изобретения.In this embodiment, motion estimation circuits (built into
Обычная цифровая стабилизация изображения может корректировать дрожание видеокамеры различными способами. В одном варианте осуществления изобретения, поскольку дрожащее изображение поступает через объектив и поражает датчик изображения карманного устройства, система стабилизации изображения повторно позиционирует активную область микросхемы датчика изображения, то есть, физическое местоположение на микросхеме, с которого считывается изображение, чтобы компенсировать это дрожание. Этот этап "повторного позиционирования" выполняется посредством переадресации области микросхемы, с которой система выполняет считывание. Каждый пиксель в одном варианте осуществления связан с уникальным бинарным адресом. Информация пикселей, связанная с адресами, которые не являются частью повторно позиционированного изображения, просто игнорируется. Стабилизатор 7 оценивает глобальные (на уровне кадра) векторы движения в изображении, основываясь на векторах на уровне блоков и/или на уровне макроблоков, вычисленных на этапе сжатия MPEG, способом, который будет дополнительно обсуждаться ниже.Conventional digital image stabilization can correct for camera shake in a variety of ways. In one embodiment, since the jittering image enters through the lens and hits the image sensor of the handheld device, the image stabilization system re-positions the active area of the image sensor chip, that is, the physical location on the chip from which the image is read to compensate for this jitter. This "re-positioning" step is performed by forwarding the area of the chip with which the system is reading. Each pixel in one embodiment is associated with a unique binary address. The pixel information associated with addresses that are not part of the re-positioned image is simply ignored. The
Как можно видеть, фактическое повторное позиционирование осуществляется одним из двух способов. Первый, и обычный, способ заключается в увеличении изображения (изменении масштаба изображения) в цифровой форме так, чтобы полный растр микросхемы датчика изображения в объективе 3 не использовался. Сформулированное по-другому изображение обрезается с части области датчика изображения (кадрируется), оставляя запас регулирования "неиспользованной области пикселей" по периметру датчика изображения. Стабилизатор может выполнять панорамирование в пределах полного растра микросхемы, чтобы захватывать изображение, когда оно передвигается. Изменение масштаба изображений и кадрирование изображений оставляют "допустимый предел погрешности", в котором система стабилизации видеокамеры может компенсировать дрожание видеокамеры.As you can see, the actual re-positioning is carried out in one of two ways. The first and usual way is to enlarge the image (zoom) digitally so that the full raster of the image sensor chip in the lens 3 is not used. A differently formulated image is cropped from a portion of the image sensor region (cropped), leaving a margin of regulation of the "unused pixel region" around the perimeter of the image sensor. The stabilizer can perform panning within the full raster of the microcircuit to capture the image when it moves. Zooming and cropping images leave a “margin of error” in which the camera stabilization system can compensate for camera shake.
Второй способ повторного позиционирования активной области микросхемы датчика приводит к эффекту, а именно обеспечивает запас регулирования, чтобы компенсировать дрожание видеокамеры. Этот способ использует датчик изображения или матрицу ПЗС с завышенными размерами так, чтобы существовали неиспользованные границы для активной области, которая будет перемещаться в ее пределах без первого изменения масштаба изображения. В одном варианте осуществления изобретения для этой цели от периметра датчика изображения добавляется запас регулирования в 8 пикселей, как будет обсуждаться дополнительно ниже. Этот неиспользованный запас регулирования используется для обеспечения области, предназначенной для компенсации дрожания изображений, как в вышеупомянутом способе. Однако при использовании этого способа устраняются способы изменения масштаба и кадрирования изображений в цифровой форме, отнимающие много времени. Этот последний способ особенно выгоден в контексте видеоизображений в реальном времени, потому что этапы, иначе необходимые для устранения дрожания видеокамеры, стали ненужными. В соответствии с изобретением может быть реализован либо этот способ, либо другой способ обеспечения запаса регулирования.The second method of re-positioning the active area of the sensor chip leads to an effect, namely, provides a margin of regulation to compensate for camera shake. This method uses an oversized image sensor or an CCD matrix so that there are unused borders for the active region that will move within it without first zooming. In one embodiment of the invention, an adjustment margin of 8 pixels is added from the perimeter of the image sensor for this purpose, as will be discussed further below. This unused margin of regulation is used to provide an area designed to compensate for image jitter, as in the aforementioned method. However, using this method eliminates the methods of zooming and cropping images in digital form, time-consuming. This latter method is particularly advantageous in the context of real-time video images because the steps otherwise necessary to eliminate camera shake have become unnecessary. In accordance with the invention, either this method or another method of providing a margin of regulation can be implemented.
Фиг. 2 представляет собой иллюстрацию области формирования изображения видеокамеры, такой как встроенной в карманное устройство. Прямоугольник 25 представляет область, соответствующую датчику изображения видеокамеры, такому как датчик ПЗС. Датчик изображения представляет собой полупроводниковую микросхему, обычно состоящую из матрицы элементов КМОП или ПЗС, которые регистрируют свет, падающий на них, и фиксируют изображение. Прибор с зарядовой связью (ПЗС) представляет собой светочувствительную интегральную схему, которая сохраняет и отображает данные для изображения таким образом, что каждый пиксель в изображении преобразуется в электрический заряд, интенсивность которого связана с цветом в спектре цветов.FIG. 2 is an illustration of an image forming area of a video camera, such as integrated in a handheld device.
Прямоугольники 27 и 29 представляют кадры в пределах датчика 25 изображения, захваченные видеокамерой в два различных момента времени t1 и t2. В одном варианте осуществления каждый кадр может быть записан видеокамерой, назначая уникальный адрес каждому элементу ПЗС, так что рассматриваются только выходные сигналы конкретной матрицы адресов ПЗС, а остальные отбрасываются. На фиг. 2 для иллюстративных целей предполагается, что кадры 27 (захваченный в момент времени t1) и 29 (захваченный в момент времени t2) смещены относительно друг друга на определенную величину и направление в результате дрожания видеокамеры. Треугольники 31 представляют объект, который является частью записанного съемочного плана. Треугольник 31 проявляется в двух местоположениях, по одному в пределах каждого изображения 27 и 29. Треугольник 31 смещается из кадра 27 в кадр 29 в пределах области 25 формирования изображения; однако треугольники не смещаются относительно их соответствующих кадров 27 и 29. То есть, треугольник является стационарным в съемочном плане, который подлежит захватыванию; он не двигается относительно остальной части кадра. В этой иллюстрации перемещается только видеокамера.
Как иллюстрирует фиг. 2, дрожание видеокамеры представляет собой относящуюся ко времени концепцию, которая относится к случайному или несистематическому движению, основанному на уровне кадра. Различие между кадрами 27 и 29 может быть представлено глобальным смещением или глобальным вектором движения. Этот глобальный вектор движения представляет собой вектор движения на уровне кадра, означающий, что вектор содержит информацию о величине и направлении смещения полного кадра 29 относительно полного кадра 27. Этот вектор 33 смещения, представляющий эффективное различие между кадрами 27 и 29, может быть дополнительно разбит на х и у компоненты. Компонент х представляет величину смещения кадра 29 относительно кадра 27 в горизонтальном направлении, а компонент у представляет величину смещения кадров 29 относительно кадра 27 в вертикальном направлении. Соответственно, суммарный вектор 33 смещения на уровне кадра представляет собой сумму дискретного смещения на уровне кадра в x (горизонтальном) направлении и дискретного смещения на уровне кадра в у (вертикальном) направлении.As illustrated in FIG. 2, camera shake is a time-related concept that refers to random or unsystematic motion based on the frame level. The difference between
Отметим, что даже если было смещение треугольника 31 относительно его одного или обоих из его соответствующих кадров 27 или 29, измерение дрожания видеокамеры все еще может быть представлено анализом смещения вектора на уровне кадра. Перемещение треугольника 31 в этом случае просто может представлять естественное движение объекта в съемочном плане захваченного видеоизображения и не будет влиять на величину или направление вектора 33 смещения на уровне кадра для представления дрожания видеокамеры.Note that even if there was an offset of the
Как предварительно обсуждалось, способы сжатия подобно MPEG-4 оценивают движение для высокой эффективности кодирования на основании блоков (8x8 пикселей) или макроблоков (16x16 пикселей). Напротив, способы стабилизации изображения рассматривают широко распространенное смещение изображения в целом. По этой причине в варианте осуществления изобретения, в котором используются способы сжатия MPEG, результаты от векторов смещения на уровне блока/макроблока, оцениваемые в процессе сжатия, могут использоваться для оценивания полного вектора 33 смещения на уровне кадра для последовательных кадров видеоизображения. Напротив, там, где используется другая схема сжатия, которая формирует векторы смещения на уровне кадра, или в которой используется специализированная схема для формирования векторов на уровне кадра, это преобразование от уровня блока к уровню кадра не должно выполняться.As previously discussed, compression methods like MPEG-4 evaluate motion for high coding efficiency based on blocks (8x8 pixels) or macroblocks (16x16 pixels). In contrast, image stabilization methods consider widespread image bias as a whole. For this reason, in an embodiment of the invention that uses MPEG compression methods, the results from the block / macroblock level offset vectors evaluated during the compression process can be used to estimate the full frame level offset
Как отмечено выше, схемы стабилизации изображения были разработаны и объединены в одно целое во многих бытовых портативных видеокамерах. Стабилизация движения в общем представляет собой дополнительную возможность, которая может быть включена или выключена пользователем посредством выключателя или возможного дополнительного средства на электронной панели. Механизмы стабилизации изображения этих систем в общем включают в себя четыре этапа: (i) для каждого кадра видеоизображения, стабилизатор оценивает ближайший глобальный (на уровне кадра) вектор движения кадра, сравнивая его с предыдущими видеокадрами; (ii) стабилизатор выполняет математическое интегрирование этих оцененных векторов движения с предыдущей совокупностью оцененных векторов движения, таким образом получая "гладкое" оценивание вектора движения; и (iii) стабилизатор обрезает и увеличивает (изменяет масштаб в цифровой форме) изображение в соответствии с величиной и направлением глобального вектора движения; и (iv) система повторно позиционирует обрезанное изображение на датчике изображения таким образом, что последовательность обрезанного изображения производит впечатление устойчивой.As noted above, image stabilization schemes have been developed and integrated into many portable home camcorders. Stabilization of the movement in General is an additional feature that can be turned on or off by the user through a switch or a possible additional means on the electronic panel. The image stabilization mechanisms of these systems generally include four stages: (i) for each frame of the video image, the stabilizer estimates the nearest global (at the frame level) motion vector of the frame, comparing it with previous video frames; (ii) the stabilizer performs mathematical integration of these estimated motion vectors with the previous set of estimated motion vectors, thereby obtaining a “smooth” motion vector estimate; and (iii) the stabilizer trims and enlarges (zooms out digitally) the image in accordance with the magnitude and direction of the global motion vector; and (iv) the system repositions the cropped image on the image sensor so that the sequence of the cropped image appears stable.
Этот способ может быть достаточным в некоторых примерах применений для портативных видеокамер. Использование портативной видеокамеры может вызывать меньшее дрожание видеокамеры благодаря большей устойчивости и более тяжелому весу портативной видеокамеры. Следовательно, большая часть перемещений, связанных с видеокамерой, представляет собой преднамеренные перемещения. Результаты толчкообразных перемещений, связанных с дрожанием видеокамеры, уменьшены благодаря этапу интегрирования. На этом этапе эффективно выполняется "взвешенное суммирование" векторов движения так, что отдельные толчкообразные перемещения не так явно выражены на выходе. Однако этот способ не является оптимальным. Этап интегрирования может "сглаживать" толчкообразное перемещение, но он не способен точно различать естественное перемещение видеокамеры или объекта на одном конце спектра и чистое дрожание видеокамеры на другом. Этот недостаток, однако, является обычно менее значимым (хотя все еще проблематичным) в портативных видеокамерах, обеспечивающих относительно высокую величину заданного или нормального движения по сравнению с непреднамеренными перемещениями и усиленное ощущение гладкости благодаря этапу интегрирования.This method may be sufficient in some examples of applications for portable camcorders. Using a portable camcorder can cause less camcorder shake due to the greater stability and heavier weight of the portable camcorder. Therefore, most of the movements associated with the camcorder are intentional movements. The results of jerky movements associated with camera shake are reduced due to the integration step. At this stage, a “weighted summation” of the motion vectors is effectively performed so that individual jerky movements are not so pronounced at the output. However, this method is not optimal. The integration step may “smooth out” the jerky movement, but it is not able to accurately distinguish between the natural movement of the video camera or object at one end of the spectrum and the pure jitter of the video camera at the other. This drawback, however, is usually less significant (although still problematic) in portable camcorders, providing a relatively high amount of predetermined or normal movement compared to unintentional movements and an enhanced feeling of smoothness due to the integration step.
В частности там, где используются более маленькие карманные устройства, подобные мобильным телефонам или ПЦА, обычный способ, обсуждавшийся выше, оказывается недостаточным. Например, карманное устройство является более легким и имеет недостаточный захват, предназначенный специально для устойчивой видеосъемки. Таким образом, может быть инициировано сильное дрожание видеокамеры по отношению к количеству естественных или преднамеренных перемещений. С его неразличимыми этапами интегрирования и его изменением масштаба изображений и кадрированием, обычный способ может занимать чрезмерное количество пространства или может потреблять большее количество энергии, чем может эффективно обеспечивать карманное устройство. Кроме того, стабилизация изображения обычного способа через метод простого математического интегрирования производит гораздо более значимую ошибку для более маленьких карманных устройств. Использование простого интегрирования, которое не составляет ничего больше, чем взвешенное суммирование оцененных векторов смещения, является недостаточным для различения естественного перемещения видеокамеры или объекта от нежелательного дрожания видеокамеры.In particular, where smaller handheld devices such as mobile phones or OCAs are used, the usual method discussed above is not sufficient. For example, a handheld device is lighter and lacks grip designed specifically for stable video shooting. Thus, a strong camera shake can be initiated in relation to the number of natural or intentional movements. With its indistinguishable integration steps and its zooming and cropping, the conventional method may take up an excessive amount of space or may consume more energy than a handheld device can efficiently provide. In addition, image stabilization of the conventional method through a simple mathematical integration method produces a much more significant error for smaller handheld devices. Using simple integration, which is nothing more than a weighted summation of the estimated displacement vectors, is insufficient to distinguish between the natural movement of the video camera or object from the unwanted camera shake.
В результате, настоящее изобретение представляет способ адаптивного интегрирования, который преодолевает недостатки, связанные с обычным способом стабилизации изображения. Следует отметить, что хотя представленный вариант осуществления данного изобретения обсуждается в контексте карманного устройства, этот алгоритм можно использовать в других устройствах для улучшения качества стабилизации изображения, не выходя при этом за рамки объема изобретения.As a result, the present invention provides an adaptive integration method that overcomes the disadvantages associated with the conventional image stabilization method. It should be noted that although the presented embodiment of the present invention is discussed in the context of a handheld device, this algorithm can be used in other devices to improve image stabilization quality without going beyond the scope of the invention.
На фиг. 3 показана блок-схема алгоритма адаптивной стабилизации изображения в соответствии с вариантом осуществлениям настоящего изобретения. Видеосигнал "ввод видеосигнала" принимается на входе 35. Видеосигнал может быть в виде множества различных типов форматов. На этапе 37, изображение дополняется по его периметру дополнительной зоной пикселей. В одном варианте осуществления изобретения, вокруг изображений добавляется запас регулирования толщиной в 8 пикселей. Запас регулирования в 8 пикселей должен использоваться для обеспечения области для компенсирования дрожания видеокамеры. Дополнение изображения запасом регулирования пикселей, как в этом варианте осуществления, вместо расширения и кадрирования изображения снижает до минимума вычислительную сложность и задержку, связанную с осуществлением этих дополнительных вычислений. Хотя способ расширения и кадрирования также может быть выполнен в альтернативном варианте осуществления, способ дополнения этапа 37 особенно подходит для карманных устройств, поскольку требуется меньшее количество схем и вычислительной мощности, а именно в этом варианте осуществления не требуется никакого цифрового вычисления изменения масштаба или кадрирования изображений в виде части способа стабилизации.In FIG. 3 is a flowchart of an adaptive image stabilization algorithm in accordance with embodiments of the present invention. The video signal "video input" is received at input 35. The video signal can be in the form of many different types of formats. At step 37, the image is supplemented along its perimeter with an additional pixel zone. In one embodiment, an adjustment margin of 8 pixels is added around the images. An adjustment margin of 8 pixels should be used to provide an area to compensate for camera shake. Supplementing the image with a pixel control margin, as in this embodiment, instead of expanding and cropping the image, minimizes the computational complexity and delay associated with these additional calculations. Although the extension and framing method can also be performed in an alternative embodiment, the addition method of step 37 is especially suitable for handheld devices, since fewer circuits and processing power are required, namely, in this embodiment, no digital calculation of zooming or cropping images in as part of the stabilization method.
На этапе 39 копия эталонного изображения, представляющего захваченный в данный момент кадр, сохраняется в буфере эталонных изображений (таком как запоминающее устройство 21 в видеокамере фиг. 1) для последующей визуализации. На этапе 41 схемы оценивания движения, связанные с механизмом сжатия MPEG, оценивают совокупность векторов Вх и Вy смещения или движения на уровне макроблока для ввода кадра на этапе 37. Как отмечено, векторы движения в MPEG несут смещение текущего макроблока относительно предыдущего эталонного кадра. Таким образом, данные изображения могут быть сжаты для эффективности, и текущий кадр может быть восстановлен с использованием более раннего эталонного кадра вместе с информацией вектора движения. В этом варианте осуществления изобретения вычисления, связанные с этапом 41, используются и для алгоритма стабилизации, и для алгоритма сжатия видеоизображения. Использование одних и тех же схем для выполнения обеих функций имеет значительные ветвления для более маленьких устройств. Использование результатов сжатия на этапе стабилизации изображения сохраняет значительное доступное пространство, устраняя необходимость в дополнительных специализированных схемах и сохраняя небольшой размер карманного устройства. Дополнительно, требуется меньшее количество вычислений, благодаря чему избегают чрезмерного напряжения ЦП или специализированных аппаратных средств с помощью дополнительных этапов, уже выполненных в схемах сжатия.At step 39, a copy of the reference image representing the currently captured frame is stored in the buffer of reference images (such as
Соответственно, на выходе блока 41 в этом варианте осуществления изобретения представлены две совокупности векторов на уровне макроблоков: векторы, представляющие смещение макроблоков в направлении x, и векторы, представляющие смещение макроблоков в направлении у. В дополнение к их использованию в стабилизации изображения, как показано на фиг. 3, эти векторы используются кодером MPEG (не показан) в алгоритме сжатия.Accordingly, at the output of block 41 in this embodiment of the invention, there are two sets of vectors at the macroblock level: vectors representing the displacement of the macroblocks in the x direction, and vectors representing the displacement of the macroblocks in the y direction. In addition to their use in image stabilization, as shown in FIG. 3, these vectors are used by an MPEG encoder (not shown) in a compression algorithm.
С целью стабилизации изображения векторы Вх и Вy движения на уровне макроблоков необходимо преобразовать в глобальный вектор движения или вектор движения на уровне кадра, который представляет относительное смещение существующего кадра по отношению к предыдущим кадрам. Как иллюстрируется в связи с фиг. 2, алгоритмы стабилизации видеокамеры рассматривают скорее смещение изображения на уровне кадра, чем движение на уровне блоков или на уровне пикселей. Этот этап преобразования выполняется на этапе 45. Этап 45 использует входные векторы Вх и Вy движения на уровне макроблоков для формирования совокупности векторов Vx и Vy глобального движения, связанных со смещением полного кадра (а не блоков или их участков) относительно более ранних кадров.In order to stabilize the image , the motion vectors B x and B y at the macroblock level need to be converted into a global motion vector or a motion vector at the frame level, which represents the relative displacement of the existing frame relative to previous frames. As illustrated in connection with FIG. 2, camcorder stabilization algorithms consider image offset at the frame level rather than movement at the block level or at the pixel level. This conversion step is performed at step 45. Step 45 uses the input motion vectors B x and B y at the macroblock level to form a set of global motion vectors V x and V y associated with the displacement of the full frame (and not the blocks or their sections) from earlier ones frames.
В одном варианте осуществления изобретения совокупность векторов движения на уровне кадра (Vx и Vy) для текущего кадра вычисляется на этапе 45 из гистограммы векторов движения на уровне макроблоков. То есть, вычисляются гистограммы векторов движения на уровне макроблоков и их пиковые значения. Назначение гистограммы заключается в математическом суммировании распределения совокупности данных. Гистограмма показывает распределения относительных движений и их величин относительно области на кадре, по отношению к которой каждый макроблок коррелирован. Гистограмма используется в этом примере для идентифицирования общих компонентов всех векторов движения на уровне макроблоков. Общие компоненты движения на уровне макроблоков отражают смещение на уровне кадра, а не случайное смещение объектов, например, в съемочном плане. Как только эти общие компоненты идентифицированы, может быть оценен вектор движения на уровне кадра. Например, предположим, что горизонтальная и вертикальная гистограммы векторов Вх и Вy движения на уровне макроблоков представляют собой h(Вх) и h(Вy), соответственно. Вектор (Vx, Vy) движения на уровне кадра может быть вычислен в одном варианте осуществления изобретения следующим образом:In one embodiment of the invention, the set of motion vectors at the frame level (V x and V y ) for the current frame is calculated in step 45 from a histogram of the motion vectors at the macroblock level. That is, histograms of motion vectors at the macroblock level and their peak values are calculated. The purpose of the histogram is to mathematically summarize the distribution of the data set. The histogram shows the distribution of relative movements and their values relative to the area on the frame, in relation to which each macroblock is correlated. The histogram is used in this example to identify the common components of all motion vectors at the macroblock level. The common motion components at the macroblock level reflect the displacement at the frame level, and not the random displacement of objects, for example, in the shooting plan. Once these common components are identified, a frame-level motion vector can be estimated. For example, suppose that the horizontal and vertical histograms of the B x and B y motion vectors at the macroblock level are h (B x ) and h (B y ), respectively. The frame level motion vector (V x , V y ) can be calculated in one embodiment of the invention as follows:
Vx = sup {h(Вх):Bx ≠}V x = sup {h (B x ): B x ≠}
Vy = sup {h(By):By ≠}V y = sup {h (B y ): B y ≠}
где термин "sup" относится к верхнему пределу массива гистограммы. Примечательно, что на этапе 45, вертикальный и горизонтальный компоненты движения в этом варианте осуществления обрабатываются независимо. То есть, вычисляется компонент глобального вектора движения, связанный с движением в x (горизонтальном) направлении, а также вычисляется компонент глобального вектора движения, связанный с движением в у (вертикальном) направлении.where the term "sup" refers to the upper limit of the histogram array. It is noteworthy that at step 45, the vertical and horizontal motion components in this embodiment are processed independently. That is, the component of the global motion vector associated with the movement in the x (horizontal) direction is calculated, and the component of the global motion vector associated with the movement in the y (vertical) direction is also calculated.
Вычисления на этапе 41 и 45 могут осуществляться специализированными аппаратными средствами, такими как схемы ИСПО, процессоры обработки цифровых сигналов, ПМЛ (программируемая матричная логика), или ПЛМ (программируемые логические матрицы). В качестве альтернативы, могут использоваться один или более специализированных контроллеров. В зависимости от применения, вычисления могут быть выполнены в программном обеспечении посредством ЦП ведущего устройства. В общем, для более маленьких карманных устройств многие из функций, касающихся сжатия и стабилизации изображения, выполняются специализированными схемами.The calculations in steps 41 and 45 can be performed by specialized hardware, such as ISPO circuits, digital signal processors, PML (programmable matrix logic), or PLM (programmable logic matrices). Alternatively, one or more specialized controllers may be used. Depending on the application, calculations may be performed in software by the CPU of the host device. In general, for smaller handheld devices, many of the functions regarding compression and image stabilization are performed by specialized circuits.
На этапе 47 стабилизатор осуществляет адаптивное интегрирование входной совокупности (Vx, Vy) глобального вектора движения. Как дополнительно поясняется ниже, глобальный вектор (Vx, Vy) движения, связанный с текущим кадром, адаптивно интегрируется в этом варианте осуществления изобретения с совокупностью (Fx, Fy) глобального вектора движения, образованным с помощью кумулятивного анализа векторов движения предыдущих кадров (то есть, более ранних кадров в последовательности видеоизображений, каждое из который прошло обработку на фиг. 3). В традиционных системах стабилизации глобальный вектор движения просто суммируется с глобальными векторами движения прошлых кадров для оценивания "гладкого" вектора движения, представляющего среднее смещение кадров в последовательности изображений за некоторый период времени. То есть, текущий глобальный вектор движения традиционно добавляется к предыдущим векторам способом, который предоставляет каждому вектору весовой коэффициент важности в зависимости от его частоты появления в последовательности изображений. Одна проблема, связанная с этим обычным способом, состоит в том, что не делается попытка дифференцировать векторы, являющиеся результатом дрожания видеокамеры, в сравнении с векторами, связанными с естественным движением, таким как сканирование съемочного плана. Как подчеркивалось ранее в этом описании, в вариантах осуществления изобретения, включающих в себя карманные устройства, проблема ухудшается, потому что принятие во внимание веса и захвата в общем делают дрожание видеокамеры более явным.At step 47, the stabilizer performs adaptive integration of the input population (V x , V y ) of the global motion vector. As further explained below, the global motion vector (V x , V y ) associated with the current frame is adaptively integrated in this embodiment with the totality (F x , F y ) of the global motion vector generated by cumulative analysis of the motion vectors of previous frames ( that is, earlier frames in the sequence of video images, each of which went through the processing in Fig. 3). In traditional stabilization systems, the global motion vector is simply summed with the global motion vectors of past frames to estimate a “smooth” motion vector representing the average frame displacement in the sequence of images over a period of time. That is, the current global motion vector is traditionally added to previous vectors in a way that provides each vector with a weight coefficient of importance depending on its frequency of occurrence in the sequence of images. One problem with this conventional method is that no attempt is made to differentiate vectors resulting from camera shake compared to vectors associated with natural motion, such as scanning a movie plan. As emphasized earlier in this description, in embodiments involving handheld devices, the problem is worsened because taking weight and grip into account in general makes camera shake more apparent.
В отличие от способа прямого интегрирования, осуществляемого в схемах стабилизатора обычных систем, способ адаптивного интегрирования согласно настоящему изобретению заметно улучшает эффективность стабилизатора без неудобства интенсивного увеличения сложности вычисления. При использовании способа адаптивного интегрирования маленькие, чередующиеся, случайные и несистематические движения, которые являются в общем признаком дрожания видеокамеры, полностью компенсируются, в то время как последовательные или систематические движения, такие как панорамирование или естественное движение объекта, должным образом сохраняются. Сформулированная по-другому, раскрытая в данном описании система, как это ни парадоксально, интегрирует векторы движения способом, который сохраняет установление различий между перемещениями из-за дрожания видеокамеры и естественным или преднамеренным движением. Таким образом, формирователь может быть исключен, приводя к превосходной эффективности стабилизации в любой системе. Подробности относительно варианта осуществления адаптивного способа раскрыты на фиг. 4 ниже.In contrast to the direct integration method implemented in the stabilizer circuits of conventional systems, the adaptive integration method according to the present invention significantly improves the stabilizer efficiency without the inconvenience of intensively increasing the calculation complexity. When using the adaptive integration method, small, alternating, random and unsystematic movements, which are generally a sign of camera shake, are completely compensated, while sequential or systematic movements, such as panning or natural movement of an object, are properly preserved. Formulated differently, the system disclosed in this description, paradoxically, integrates motion vectors in a way that preserves the establishment of differences between movements due to camera shake and natural or intentional movement. Thus, the shaper can be eliminated, resulting in excellent stabilization efficiency in any system. Details of an embodiment of the adaptive method are disclosed in FIG. 4 below.
Возвращаясь к варианту осуществления на фиг. 3, отметим, что совокупность (Vx, Vy) векторов движения на уровне кадра либо добавляется (как взвешенная сумма или используя простое добавление) к совокупности кумулятивных векторов (Fx, Fy) на уровне кадра для формирования новой совокупности (Fx, Fy) кумулятивных векторов, либо, в зависимости от результатов способа адаптивного интегрирования (см. ниже), текущие векторы игнорируются, и существующая совокупность (Fx, Fy) кумулятивных векторов остается неизменяемой. Этот адаптивный алгоритм может быть выполнен несколькими различными способами, но подробности одного такого алгоритма в соответствии с вариантом осуществления настоящего изобретения сформулированы на фиг. 4.Returning to the embodiment of FIG. 3, note that the set (V x , V y ) of motion vectors at the frame level is either added (as a weighted sum or using a simple addition) to the set of cumulative vectors (F x , F y ) at the frame level to form a new set (Fx, Fy) of cumulative vectors, or, depending on the results of the adaptive integration method (see below), the current vectors are ignored, and the existing set (F x , F y ) of cumulative vectors remains unchanged. This adaptive algorithm can be performed in several different ways, but the details of one such algorithm in accordance with an embodiment of the present invention are set forth in FIG. four.
В любом случае кумулятивная совокупность (Fx, Fy) векторов обеспечивает информацию об относительном смещении текущего кадра, обусловленном дрожанием изображения. В сущности, кумулятивная совокупность (Fx, Fy) векторов обеспечивает "поправочный коэффициент", который может повторно позиционировать текущий кадр в пределах добавляемого запаса регулирования так, что естественные перемещения сохраняются, но дрожание видеокамеры по существу удаляется. По существу, копия исходного эталонного изображения, связанного с текущим кадром, перемещается с ее исходной, зафиксированной позицией векторами Fx и Fy, и перемещенный кадр 49 (в пределах границ добавленного запаса регулирования) визуализируется на дисплее. Изображение "переадресуется" с использованием совокупности Fx и Fy векторов. Во время способа на фиг. 3 кадры, которые обычно вторгаются в область добавляемого запаса регулирования из-за дрожания видеокамеры, являются стабильными, в то время как движение, связанное с панорамированием и другими заданными перемещениями, сохраняется. Тем временем, или непосредственно после этого, следующий зафиксированный кадр посылается на ввод 35, и процесс повторяется. Результат представляет собой последовательность видеоизображений, посредством чего естественное движение (то есть, движение объектов в съемочном плане или движение видеокамеры в сканировании съемочного плана) сохраняется, в то время как дрожание видеокамеры по существу устраняется.In any case, the cumulative set of (F x , F y ) vectors provides information about the relative displacement of the current frame due to image jitter. In essence, the cumulative collection of (F x , F y ) vectors provides a “correction factor” that can reposition the current frame within the added margin of control so that natural movements are preserved, but the camera shake is substantially removed. Essentially, a copy of the original reference image associated with the current frame is moved with its original, fixed position vectors F x and F y , and the moved frame 49 (within the boundaries of the added margin of regulation) is visualized on the display. The image is redirected using a combination of F x and F y vectors. During the method of FIG. 3 frames, which usually invade the area of added regulation margin due to camera shake, are stable, while the movement associated with panning and other preset movements is preserved. Meanwhile, or immediately thereafter, the next frozen frame is sent to input 35, and the process repeats. The result is a sequence of video images whereby the natural movement (i.e., the movement of objects in the shooting plan or the movement of the camera in the scanning of the shooting plan) is maintained, while the camera shake is substantially eliminated.
Каждый из этапов, осуществляемых на фиг. 3, может быть выполнен в специализированных аппаратных средствах, или в программном обеспечении системным ЦП. В любом случае в варианте осуществления, в котором требуется сжатие изображений, вычисления, используемые для оценивания движения, могут также использоваться для вычисления смещения на уровне кадра, снижая до минимума вычислительную сложность. Следует отметить, что подробности фиг. 3 представляют собой специальное средство реализации, и они могут быть различными в зависимости от конкретной реализации.Each of the steps carried out in FIG. 3 may be performed in specialized hardware, or in software, by a system CPU. In any case, in an embodiment in which image compression is required, the calculations used to estimate motion can also be used to calculate the displacement at the frame level, minimizing computational complexity. It should be noted that the details of FIG. 3 represent a special means of implementation, and they may be different depending on the specific implementation.
Вариант осуществления этого адаптивного способа обсуждается в связи с фиг. 4 ниже. В общем, механизм стабилизатора рассматривает входной глобальный вектор (Vx, Vy) движения текущего кадра и использует информацию, содержащуюся в этих векторах, для вычисления вектора (Fx, Fy) на уровне кадра, который является репрезентативным для предыстории предыдущих кадров в последовательности изображений. "Кумулятивная" совокупность Fx и Fy векторов на уровне кадра, оцененная с использованием адаптивной методологии, используется для повторного позиционирования изображений в последовательности, и при таком выполнении устраняет дрожание видеокамеры более эффективно, чем существующие способы.An embodiment of this adaptive method is discussed in connection with FIG. 4 below. In general, the stabilizer mechanism considers the input global motion vector (V x , V y ) of the current frame and uses the information contained in these vectors to calculate the vector (F x , F y ) at the frame level, which is representative of the history of previous frames in sequence of images. A “cumulative” set of F x and F y vectors at the frame level, estimated using an adaptive methodology, is used to reposition images in a sequence, and in this embodiment eliminates camera shake more efficiently than existing methods.
Фиг. 4 представляет собой блок-схему, изображающую вариант осуществления адаптивного алгоритма интегрирования в соответствии с вариантом осуществления настоящего изобретения. Фиг. 4 представляет описываемый вариант осуществления способа адаптивного алгоритма, обсуждавшегося в связи с этапом 47 на фиг. 3. Хотя определенные подробности алгоритма могут изменяться, не отступая при этом от настоящего изобретения, адаптивный характер алгоритмов в общем предназначен для компенсации перемещений, более вероятно, чтобы отражать дрожание при сохранении естественных перемещений съемочного плана и видеокамеры. Более конкретно, алгоритм основывается на некоторых обоснованных предположениях для определения, как добавлять, если это вообще имеет место, глобальные векторы движения для использования в стабилизации.FIG. 4 is a block diagram depicting an embodiment of an adaptive integration algorithm in accordance with an embodiment of the present invention. FIG. 4 represents the described embodiment of the adaptive algorithm method discussed in connection with step 47 of FIG. 3. Although certain details of the algorithm can be changed without departing from the present invention, the adaptive nature of the algorithms is generally designed to compensate for movements, more likely to reflect jitter while maintaining the natural movements of the film plan and video camera. More specifically, the algorithm is based on some reasonable assumptions to determine how to add, if at all, global motion vectors for use in stabilization.
Теперь в качестве предшественника к описанию адаптивного алгоритма обсуждаются некоторая система условных обозначений и предположения. В варианте осуществления на фиг. 4, алгоритм выполняется относительно компонентов вектора и в x (горизонтальном) направлении, и в у (вертикальном) направлении. В результате может использоваться прямое сложение и потребность в более сложных вычислениях на основе вектора, содержащих направление, в этом варианте осуществления устраняется. Символ "n" обозначает настоящий, или n-ый кадр последовательности изображений. V(n) представляет компонент глобального вектора движения (то есть, либо Vx, либо Vy) текущего кадра (например, ввод 35 информации во "вводе видеосигнала" и вычисленный из векторов движения на уровне макроблоков на этапе 45 фиг. 3). F(n-1) обозначает компонент глобального вектора движения (то есть, либо Fx, либо Fy) кумулятивной предыстории адаптивно проинтегрированных кадров от первого кадра последовательности изображений до непосредственно предыдущего кадра (n-1). F(n) представляет компонент глобального вектора движения (то есть, либо Fx, либо Fy) всех адаптивно проинтегрированных предыдущих кадров, включая V(n), от первого до текущего. Отметим, что поскольку метод интегрирования является адаптивным в соответствии с конфигурацией, то в зависимости от способа сжатия, типа кадра, способа, которым последовательности изображений сегментируются, и других факторов, некоторые из которых описаны ниже, некоторые кадры исключаются из вычислений, так что на F(n) фактически воздействуют или изменяют его только векторы V некоторых кадров.Now, as a precursor to the description of the adaptive algorithm, a certain system of conventions and assumptions is being discussed. In the embodiment of FIG. 4, the algorithm is performed with respect to the vector components in both the x (horizontal) direction and the y (vertical) direction. As a result, direct addition can be used and the need for more complex vector-based calculations containing direction is eliminated in this embodiment. The symbol "n" denotes the real or n-th frame of the sequence of images. V (n) represents the component of the global motion vector (that is, either V x or V y ) of the current frame ( for example, input 35 information in the "video input" and calculated from the motion vectors at the macroblock level in step 45 of Fig. 3). F (n-1) denotes a component of the global motion vector ( i.e., either F x or F y ) of the cumulative history of adaptively integrated frames from the first frame of the image sequence to the immediately previous frame (n-1). F (n) represents the component of the global motion vector (i.e., either F x or F y ) of all adaptively integrated previous frames, including V (n), from the first to the current. Note that since the integration method is adaptive in accordance with the configuration, depending on the compression method, the type of frame, the method by which image sequences are segmented, and other factors, some of which are described below, some frames are excluded from calculations, so that on F (n) only the vectors V of some frames actually affect or change it.
Алгоритм может быть осуществлен на любом подходящем машинном языке. В качестве альтернативы, алгоритм может быть реализован в аппаратных средствах, таких как интегральные схемы прикладной ориентации (ИСПО), программируемые логические устройства, специализированные микроконтроллеры, цифровые логические схемы, процессоры обработки цифровых сигналов, или любая их комбинация, либо комбинация аппаратных средств и программного обеспечения. В последней иллюстрации, ЦП карманного устройства в некоторых вариантах осуществления может быть предназначен для выполнения более простых задач управления алгоритма, в то время как специализированные аппаратные средства могут выполнять интенсивные векторные вычисления.The algorithm may be implemented in any suitable machine language. Alternatively, the algorithm may be implemented in hardware, such as application oriented integrated circuits (ISIS), programmable logic devices, specialized microcontrollers, digital logic circuits, digital signal processors, or any combination thereof, or a combination of hardware and software . In the last illustration, the handheld CPU in some embodiments may be designed to perform simpler algorithm control tasks, while specialized hardware can perform intensive vector computing.
На этапе 51 способ начинается с определения, является ли глобальный вектор движения для текущего кадра V(n)=0. (Напоминаем, что V(n), который включает в себя Vx и Vy, обрабатываемые независимо согласно фиг. 4, представляет глобальной вектор движения на уровне кадра, рассчитываемый согласно фиг. 3 и связанный с настоящим кадром). Нулевое значение обычно указывает, что никакое движение или смещение не имели место по сравнению с предварительно зафиксированным кадром. Если V(n)=0, то F(n), то есть глобальный вектор движения накопленных n кадров в последовательности изображений просто равняется F(n-1). Формулируя по-другому, если нет никакого движения текущего кадра относительно предыдущего кадра, то текущий кадр считывается с той же самой позиции на датчике изображения с добавляемым запасом регулирования, как предыдущий кадр и для этого кадра не требуется никакое компенсирующее смещение относительно предыдущего кадра.At
Если V(n) на этапе 51 не равен нулю, то, как считают, происходит глобальное смещение текущего кадра относительно предыдущего кадра. На этапе 53, выражениеIf V (n) at
V(n) · F(n-1)<0V (n) F (n-1) <0
Это затем используется, чтобы установить вероятный характер этого смещения. В частности, приведенное выше выражение используется для определения, является ли произведение текущего глобального вектора движения, связанного с n-ым кадром, и глобального вектора движения, связанного с адаптивным интегрированием всех предыдущих кадров, меньше нуля, указывая, является ли произведение положительным или отрицательным. Если произведение меньше нуля, то знак произведения является отрицательным, и направление движения текущего кадра и предыдущего кадра отличаются. В частности, если произведение V(n) и F(n-1)<0, то либо V(n) является отрицательным, а F(n-1) положительным, либо, в качестве альтернативы, V(n) является положительным, а F(n-1) отрицательным. В любом случае, направление V(n) движения является противоположным направлению движения предыдущего (кумулятивного) кадра F(n-1). Там, где направление движения текущего кадра является противоположным направлению движения предыдущего кадра, (то есть, V(n) · F(n-l)<0), два вектора движения складываются вместе. То есть, текущий кадр просто добавляется к предыдущему взвешенному кадру:It is then used to establish the probable nature of this bias. In particular, the above expression is used to determine whether the product of the current global motion vector associated with the nth frame and the global motion vector associated with adaptive integration of all previous frames is less than zero, indicating whether the product is positive or negative. If the product is less than zero, then the sign of the product is negative, and the direction of motion of the current frame and the previous frame are different. In particular, if the product of V (n) and F (n-1) <0, then either V (n) is negative and F (n-1) is positive, or, alternatively, V (n) is positive, and F (n-1) is negative. In any case, the direction of motion V (n) is opposite to the direction of motion of the previous (cumulative) frame F (n-1). Where the direction of motion of the current frame is opposite to the direction of motion of the previous frame, (i.e., V (n) · F (n-l) <0), the two motion vectors are added together. That is, the current frame is simply added to the previous weighted frame:
F(n)=V(n) + F(n-1)F (n) = V (n) + F (n-1)
Там, где как в этом случае, направление текущего и предыдущего глобального вектора движения является противоположным, делается предположение, что прошлые векторы должны быть приняты во внимание. Алгоритм в этом варианте осуществления изобретения предполагает, что движение относится к дрожанию видеокамеры. Дрожание видеокамеры часто проявляется перемещениями вверх и вниз или чередованием толчкообразных перемещений, поскольку человек, выполняющий видеографию, пытается поддерживать устойчивый захват на карманном устройстве. Например, если видеокамера переместилась на четыре пикселя влево, а после этого на четыре пикселя вправо при захвате съемочного плана, вектор движения для стабилизации в результате этих перемещений должен быть нулевым, чтобы захваченная последовательность изображений была устойчивой. Выполнение прямого суммирования в этом примере выполняет эту функцию. Следует отметить, что это тестирование может быть выполнено для векторов в обоих направлениях x и у, и в раскрытом варианте осуществления изобретения эти два направления обрабатываются отдельно.Where, as in this case, the direction of the current and previous global motion vectors is opposite, the assumption is made that past vectors should be taken into account. The algorithm in this embodiment of the invention assumes that movement refers to camera shake. Camera shake is often manifested by up and down movements or alternating jerky movements, as the person performing the video is trying to maintain a steady grip on a handheld device. For example, if the camcorder moved four pixels to the left, and then four pixels to the right when capturing the shooting plan, the motion vector to stabilize as a result of these movements should be zero so that the captured image sequence is stable. Performing direct summation in this example performs this function. It should be noted that this testing can be performed for vectors in both x and y directions, and in the disclosed embodiment, these two directions are processed separately.
В качестве альтернативы, там, где на этапе 53 движение, связанное с текущим и предыдущим вектором, находится в том же самом направлении, а именно V(n)·F(n-1)>0, процесс управления переходит к этапу 5. На этой стадии требуется определить, относится ли движение V(n) к дрожанию видеокамеры или к естественному движению видеокамеры или объекта. Сначала, на этапе 55, определяется, превышает ли абсолютная величина суммы движений текущего и предыдущего векторов добавляемый запас регулирования М, который в одном варианте осуществления изобретения=8. В частности:Alternatively, where in
Является ли |V(n) + F(n-1)|≥М?Is | V (n) + F (n-1) | ≥M?
Если ответ на вышеупомянутый запрос представляет собой да, означая, что текущий и предыдущий векторы движения имеют одно и то же направление, а сумма их коллективного движения соответствует запасу регулирования или превышает его, то делается второе предположение. Адаптивный алгоритм этого варианта осуществления изобретения предполагает, что видеокамера выполняет сканирование съемочного плана из-за относительно большого и совместного движения. То есть, алгоритм пользуется преимуществом вероятности, что движение такой большой величины является преднамеренным движением, а не результатом дрожания видеокамеры. В этом случае предыдущие векторы движения не должны рассматриваться, и никакое интегрирование не выполняется. Вместо этого, запас регулирования используется в качестве нового вектора F(n) движения для стабилизации со знаком (sgn) (направлением) вектора V(n) текущего кадра. Математически, это выражается какIf the answer to the above request is yes, meaning that the current and previous motion vectors have the same direction, and the sum of their collective motion corresponds to or exceeds the control margin, then a second assumption is made. The adaptive algorithm of this embodiment of the invention assumes that the video camera scans the shooting plan due to the relatively large and joint movement. That is, the algorithm takes advantage of the likelihood that a movement of such a large magnitude is an intentional movement, and not the result of camera shake. In this case, the previous motion vectors should not be considered, and no integration is performed. Instead, the control margin is used as the new motion vector F (n) for stabilization with the sign (sgn) (direction) of the vector V (n) of the current frame. Mathematically, this is expressed as
F(n)=sgn(V(n)) x МF (n) = sgn (V (n)) x M
В вышеупомянутом случае запас регулирования используется в качестве нового вектора движения из-за ограничений видеокамеры. То есть, датчик изображения не может захватывать видеоизображение за пределами запаса регулирования видеокамеры. Другие алгоритмы могут использовать различные варианты осуществления изобретения, чтобы обратиться к этому ограничению.In the aforementioned case, the control margin is used as a new motion vector due to video camera limitations. That is, the image sensor cannot capture a video image outside the camcorder's control margin. Other algorithms may use various embodiments of the invention to address this limitation.
Если, в качестве альтернативы, текущий и предыдущий векторы движения имеют одно и то же направление, а их сумма не превышает запас регулирования М, то осуществляется этап линейного объединения блока 57. Вектор F(n) движения для стабилизации вычисляется как взвешенная сумма текущего и предыдущего векторов движения, где весовой коэффициент представляет собой линейную функцию величины текущего вектора движения. В этом варианте осуществления изобретения действующее предположение является следующим: (i) неясно, из общего содержания, связан ли глобальный вектор V(n) движения в этом случае с дрожанием видеокамеры, или вместо этого он представляет собой естественное и преднамеренное движение, (ii) чем больше величина текущего движения V(n), тем менее вероятно, что движение обусловлено дрожанием видеокамеры и следовательно, тем меньшая величина весового коэффициента должна быть приписана предыдущему вектору F(n-1) движения, и (iii) чем меньше величина текущего движения V(n), тем более вероятно, что движение обусловлено дрожанием видеокамеры, и, следовательно, тем большая величина весового коэффициента должна быть приписана предыдущему вектору F(n-l) движения. В одном варианте осуществления математическое выражение, которое объединяет эту совокупность предположений, представляет следующее выражение:If, as an alternative, the current and previous motion vectors have the same direction, and their sum does not exceed the control margin M, then the step of linearly combining
F(n)=[(1-V(n)/M)xF(n-1)]+V(n)F (n) = [(1-V (n) / M) xF (n-1)] + V (n)
Следовательно, когда V(n) увеличивается, уравнения стремится к следующему:Therefore, when V (n) increases, the equation tends to the following:
F(n)=V(n)F (n) = V (n)
Эти отношения показывают, что текущему смещению дается большая величина весового коэффициента, и это означает, что движение предполагается, как относящееся больше к естественному или преднамеренному движению. На другом конце спектра, когда V(n) уменьшается, влияние F(n-1) становится более явным, и уравнение стремится к следующему:These relationships show that the current bias is given a large value of the weight coefficient, and this means that the movement is assumed to be related more to natural or intentional movement. At the other end of the spectrum, when V (n) decreases, the influence of F (n-1) becomes more pronounced, and the equation tends to the following:
F(n)=V(n) + F(n-1)F (n) = V (n) + F (n-1)
Эти отношения, которые идентичны уравнению, произведенному выше на этапе 53, показывают, что смещение более вероятно обусловлено дрожанием видеокамеры. Соответственно, дается большая величина весового коэффициента суммированию V(n) с предыдущим глобальным вектором движения для гашения маленьких или чередующихся перемещений, характерных для дрожания видеокамеры.These relationships, which are identical to the equation made above in
Между этими двумя пределами, где характер смещения не ясен, F(n) дается промежуточное значение согласно уравнению 61 согласно фиг. 4.Between these two limits, where the nature of the bias is not clear, F (n) is given an intermediate value according to
Блок 59 показывает, что в варианте осуществления изобретения, показанном на фиг. 4, имеется задержка одного кадра между предыдущим кумулятивным вектором F(n-1) движения и текущим кумулятивным вектором F(n) движения. Эта задержка относится к вычислению кадра, имеющего смещение V(n) на уровне кадра, и его адаптивному интегрированию с F(n-1).
В традиционных способах стабилизации изображения, предыдущее оценивание F(n-1) движения и текущий вектор V(n) движения на уровне кадра суммируются с помощью следующего уравнения:In traditional image stabilization methods, the previous motion estimation F (n-1) and the current motion vector V (n) at the frame level are summed using the following equation:
F(n)=[k x F(n-1)]+V(n)F (n) = [ k x F (n-1)] + V (n)
Там, где "весовой коэффициент" k<1, он является константой. Это уравнение представляет собой авторегрессивный (АР) процесс. АР модели включают в себя прошлые наблюдения зависимой переменной в прогнозировании будущих наблюдений. Таким образом, предыдущий вектор F(n-1) глобального движения всегда используется в вычислении текущего кумулятивного вектора на уровне кадра. Уравнение может быть реализовано посредством однополюсного фильтра нижних частот частично потому, что ручное дрожание при захвате видеоизображения представляет собой низкочастотное событие (обычно меньше чем приблизительно пятнадцать Герц). Константа k управляет степенью демпфирования фильтра нижних частот и используется для гарантирования, что "пропущенное" (то есть, обрезанное и измененное в масштабе) изображение медленно перемещается в центр добавляемого изображения. Константу k также можно рассматривать, как относительный весовой коэффициент предыстории, или прошлого, в интегрировании текущего вектора V(n) движения на уровне кадра.Where the "weight coefficient" k <1, it is a constant. This equation is an autoregressive (AR) process. AR models include past observations of a dependent variable in predicting future observations. Thus, the previous global motion vector F (n-1) is always used in the calculation of the current cumulative vector at the frame level. The equation can be implemented using a single-pole low-pass filter, in part because manual jitter during video capture is a low-frequency event (usually less than about fifteen Hertz). The constant k controls the degree of damping of the low-pass filter and is used to ensure that the “missing” ( that is, cropped and zoomed) image moves slowly to the center of the added image. The constant k can also be considered as the relative weight coefficient of the history, or past, in the integration of the current motion vector V (n) at the frame level.
В этой традиционной модели, однако, нет никакой предоставляемой возможности принимать во внимание адаптивный характер интегрирования векторов смещения. Например, традиционный способ будет не в состоянии принимать во внимание, что если текущее смещение V(n) равно запасу регулирования датчика изображения, предыстория не имеет значения (см. уравнение 67 на фиг. 4). Вместо этого традиционный способ в этот момент учитывает предысторию, приводя к ненужным погрешностям. Кроме того, если текущее смещение является нулевым, то прошлое движение или предыстория могут использоваться полностью (см. уравнение 63 на фиг. 4). Дело обстоит не так в традиционном способе, который уменьшает предысторию на коэффициент k, что приводит к погрешностям. Дополнительно, если текущее смещение V(n) происходит в другом направлении, чем хронологическое смещение, то текущее и хронологическое смещения должны складываться, чтобы компенсировать дрожание видеокамеры. Снова, традиционный способ уменьшает хронологическое смещение на коэффициент k до суммирования, что снова уменьшает погрешности. Все эти погрешности просто усиливаются маленьким карманным устройством, что приводит к большим количествам дрожания видеокамеры. Понятно, что должно использоваться адаптивное интегрирование, как на этапе 47 на фиг. 3 и на фиг. 4. Кроме того, линейная интерполяция k является более подходящей, чем постоянная k, как показано в уравнении 61 на фиг. 4. В этом уравнении: In this traditional model, however, there is no opportunity to take into account the adaptive nature of the integration of displacement vectors. For example, the traditional method will not be able to take into account that if the current offset V (n) is equal to the margin of regulation of the image sensor, the background does not matter (see
К=(1-V(n)/М)K = (1-V (n) / M)
Следует отметить, что F(n) также называется кумулятивным вектором движения, который относят к вектору движения, соответствующему текущему вектору движения и предыдущим векторам движения из множества, адаптивно проинтегрированного вместе. Далее, термин "схема" может широко охватывать любой тип электрических аппаратных средств, предназначенных для реализации функций, таких как совокупность активных компонентов, активных и пассивных элементов, один или больше процессоров, один или больше ПЦС, или программное обеспечение, выполняемое на одном или больше контроллерах.It should be noted that F (n) is also called the cumulative motion vector, which is related to the motion vector corresponding to the current motion vector and previous motion vectors from the set adaptively integrated together. Further, the term “circuitry” can broadly encompass any type of electrical hardware designed to implement functions, such as a combination of active components, active and passive elements, one or more processors, one or more DSPs, or software running on one or more controllers.
Предыдущее описание раскрытых вариантов осуществления представлено для того, чтобы обеспечить возможность любому специалисту в данной области техники осуществлять или использовать настоящее изобретение. Различные модификации к этим вариантам осуществления специалистам в данной области техники будут очевидны, а универсальные принципы, определенные в данном описании, можно применять к другим вариантам осуществления, не выходя при этом за рамки сущности и объема данного изобретения. Таким образом, настоящее изобретение не должно быть ограничено вариантами осуществления, показанными в данном описании, но должно соответствовать самому широкому объему, совместимому с принципами и новыми признаками, раскрытыми в данном раскрытии.The previous description of the disclosed embodiments is provided in order to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the universal principles defined herein may be applied to other embodiments without departing from the spirit and scope of the present invention. Thus, the present invention should not be limited by the embodiments shown in this description, but should be consistent with the broadest scope consistent with the principles and new features disclosed in this disclosure.
Claims (26)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/779,246 | 2004-02-13 | ||
US10/779,246 US7880769B2 (en) | 2004-02-13 | 2004-02-13 | Adaptive image stabilization |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2006132727A RU2006132727A (en) | 2008-03-27 |
RU2350036C2 true RU2350036C2 (en) | 2009-03-20 |
Family
ID=34838347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2006132727/09A RU2350036C2 (en) | 2004-02-13 | 2005-02-09 | Adaptive image stabilisation |
Country Status (6)
Country | Link |
---|---|
US (1) | US7880769B2 (en) |
EP (1) | EP1751971A4 (en) |
JP (2) | JP2007522772A (en) |
CA (1) | CA2555933A1 (en) |
RU (1) | RU2350036C2 (en) |
WO (1) | WO2005079327A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2524568C2 (en) * | 2008-10-13 | 2014-07-27 | Конинклейке Филипс Электроникс Н.В. | Improvement of combined device and anatomy visualisation |
RU2631331C2 (en) * | 2014-08-22 | 2017-09-21 | Рикох Компани, Лтд. | Imaging device and imaging method |
RU2658811C2 (en) * | 2016-12-12 | 2018-06-22 | Общество С Ограниченной Ответственностью "Дисикон" | Method and system of elimination of the effect of the sliding shutter of the camera |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8229549B2 (en) * | 2004-07-09 | 2012-07-24 | Tyco Healthcare Group Lp | Surgical imaging device |
US7983835B2 (en) | 2004-11-03 | 2011-07-19 | Lagassey Paul J | Modular intelligent transportation system |
US8331723B2 (en) | 2004-03-25 | 2012-12-11 | Ozluturk Fatih M | Method and apparatus to correct digital image blur due to motion of subject or imaging device |
US9826159B2 (en) | 2004-03-25 | 2017-11-21 | Clear Imaging Research, Llc | Method and apparatus for implementing a digital graduated filter for an imaging apparatus |
US10721405B2 (en) | 2004-03-25 | 2020-07-21 | Clear Imaging Research, Llc | Method and apparatus for implementing a digital graduated filter for an imaging apparatus |
JP2006024193A (en) * | 2004-06-07 | 2006-01-26 | Fuji Photo Film Co Ltd | Image correction device, image correction program, image correction method and image correction system |
US7705884B2 (en) * | 2004-07-21 | 2010-04-27 | Zoran Corporation | Processing of video data to compensate for unintended camera motion between acquired image frames |
JP2006050457A (en) * | 2004-08-06 | 2006-02-16 | Canon Inc | Imaging apparatus |
JP4390068B2 (en) * | 2004-12-28 | 2009-12-24 | ソニー株式会社 | Method for correcting distortion of captured image signal and distortion correction apparatus for captured image signal |
US7489341B2 (en) * | 2005-01-18 | 2009-02-10 | Primax Electronics Ltd. | Method to stabilize digital video motion |
JP4623368B2 (en) * | 2005-03-16 | 2011-02-02 | ソニー株式会社 | Moving object detection apparatus, moving object detection method, and program |
US8705614B2 (en) * | 2005-04-04 | 2014-04-22 | Broadcom Corporation | Motion estimation using camera tracking movements |
US7755667B2 (en) * | 2005-05-17 | 2010-07-13 | Eastman Kodak Company | Image sequence stabilization method and camera having dual path image sequence stabilization |
US8363115B2 (en) * | 2005-08-10 | 2013-01-29 | Nxp, B.V. | Method and device for digital image stabilization |
ITTO20050628A1 (en) * | 2005-09-15 | 2007-03-16 | St Microelectronics Srl | IMAGE STABILIZER DEVICE, IN PARTICULAR FOR THE ACQUISITION BY MEANS OF A DIGITAL IMAGE SENSOR |
EP1793344A1 (en) * | 2005-11-30 | 2007-06-06 | THOMSON Licensing | Method of emendation for attention trajectory in video content analysis |
JP4695972B2 (en) * | 2005-12-14 | 2011-06-08 | キヤノン株式会社 | Image processing apparatus, imaging apparatus, and image processing method |
US7626626B2 (en) * | 2006-01-13 | 2009-12-01 | Micron Technology, Inc. | Method and apparatus providing pixel storage gate charge sensing for electronic stabilization in imagers |
US20070216641A1 (en) * | 2006-03-20 | 2007-09-20 | Motorola, Inc. | User interface stabilization method and system |
CN101502099B (en) * | 2006-05-09 | 2012-02-22 | Nxp股份有限公司 | Processing device with jitter extraction and equipment comprising such a device |
WO2008012822A2 (en) * | 2006-07-26 | 2008-01-31 | Human Monitoring Ltd | Image stabilizer |
WO2008072024A1 (en) * | 2006-12-14 | 2008-06-19 | Nokia Corporation | Video stabilization system with motion estimation error correction |
JP2008234088A (en) * | 2007-03-19 | 2008-10-02 | Hitachi Ltd | Movement detecting device |
CN101681084B (en) * | 2007-03-26 | 2013-02-20 | 派尔高公司 | Method of improving the video images from a video camera |
TWI367026B (en) * | 2007-03-28 | 2012-06-21 | Quanta Comp Inc | Method and apparatus for image stabilization |
TW200926011A (en) * | 2007-09-04 | 2009-06-16 | Objectvideo Inc | Background modeling with feature blocks |
US7800652B2 (en) * | 2007-12-12 | 2010-09-21 | Cyberlink Corp. | Reducing video shaking |
US8054335B2 (en) * | 2007-12-20 | 2011-11-08 | Aptina Imaging Corporation | Methods and system for digitally stabilizing video captured from rolling shutter cameras |
EP2178289B1 (en) * | 2008-10-14 | 2012-06-27 | Sony Corporation | Method and unit for motion detection based on a difference histogram |
TWI566586B (en) * | 2009-10-20 | 2017-01-11 | 湯姆生特許公司 | Method for coding a block of a sequence of images and method for reconstructing said block |
JP4873765B2 (en) * | 2009-11-20 | 2012-02-08 | キヤノン株式会社 | Video signal processing apparatus and video signal processing method |
US8416277B2 (en) * | 2009-12-10 | 2013-04-09 | Apple Inc. | Face detection as a metric to stabilize video during video chat session |
US20110243532A1 (en) * | 2010-03-31 | 2011-10-06 | Motorola, Inc. | System and method of video stabilization during movement |
JP5375744B2 (en) * | 2010-05-31 | 2013-12-25 | カシオ計算機株式会社 | Movie playback device, movie playback method and program |
KR101710624B1 (en) * | 2010-07-27 | 2017-02-27 | 삼성전자주식회사 | Digital photographing method, Digital photographing apparatus and medium for recording the method |
US8797414B2 (en) * | 2010-12-23 | 2014-08-05 | Samsung Electronics Co., Ltd. | Digital image stabilization device |
GB2492529B (en) * | 2011-05-31 | 2018-01-10 | Skype | Video stabilisation |
JP2012257080A (en) * | 2011-06-09 | 2012-12-27 | Sony Corp | Image processor, image processing method, and program |
US20130050560A1 (en) * | 2011-08-23 | 2013-02-28 | Bae Systems Information And Electronic Systems Integration Inc. | Electronic selection of a field of view from a larger field of regard |
GB201116566D0 (en) * | 2011-09-26 | 2011-11-09 | Skype Ltd | Video stabilisation |
CN102957869B (en) * | 2011-09-26 | 2016-08-17 | 斯凯普公司 | Video stabilization |
GB2497507B (en) | 2011-10-14 | 2014-10-22 | Skype | Received video stabilisation |
US9294676B2 (en) | 2012-03-06 | 2016-03-22 | Apple Inc. | Choosing optimal correction in video stabilization |
US9036035B2 (en) * | 2012-04-30 | 2015-05-19 | Trackingpoint, Inc. | Rifle scope with video output stabilized relative to a target |
WO2014068779A1 (en) * | 2012-11-05 | 2014-05-08 | 株式会社モルフォ | Image processing device, image processing method, image processing program, and storage medium |
US8994838B2 (en) * | 2013-04-16 | 2015-03-31 | Nokia Corporation | Motion adaptive cropping for video stabilization |
US10022544B2 (en) | 2013-07-22 | 2018-07-17 | National Ict Australia Limited | Vision enhancement apparatus for a vision impaired user |
CA2950822C (en) * | 2014-06-06 | 2021-07-06 | Kongsberg Defence & Aerospace As | System and method for remote monitoring at least one observation area |
CN107079111B (en) * | 2014-09-19 | 2020-04-21 | 英特尔公司 | Trajectory planning for video stabilization |
US9398217B2 (en) | 2014-10-15 | 2016-07-19 | Microsoft Technology Licensing, Llc | Video stabilization using padded margin pixels |
JP6641763B2 (en) * | 2015-08-03 | 2020-02-05 | セイコーエプソン株式会社 | Display system |
CN107124542B (en) * | 2016-02-25 | 2020-03-27 | 珠海格力电器股份有限公司 | Image anti-shake processing method and device |
JP6942940B2 (en) * | 2016-03-14 | 2021-09-29 | カシオ計算機株式会社 | Image processing equipment, image processing methods and programs |
JP6767660B2 (en) | 2017-01-27 | 2020-10-14 | 富士通株式会社 | Processor, information processing device and how the processor operates |
US10116897B2 (en) * | 2017-03-01 | 2018-10-30 | Adobe Systems Incorporated | Photometric stabilization for time-compressed video |
WO2019065825A1 (en) * | 2017-09-27 | 2019-04-04 | 富士フイルム株式会社 | Image stabilization device and imaging device |
CN110751671B (en) * | 2018-07-23 | 2022-08-19 | 中国科学院长春光学精密机械与物理研究所 | Target tracking method based on kernel correlation filtering and motion estimation |
KR20210155284A (en) * | 2020-06-15 | 2021-12-22 | 한화테크윈 주식회사 | Image process device |
US11494881B2 (en) * | 2020-12-29 | 2022-11-08 | Hb Innovations, Inc. | Global movement image stabilization systems and methods |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5012270A (en) * | 1988-03-10 | 1991-04-30 | Canon Kabushiki Kaisha | Image shake detecting device |
JP3103897B2 (en) * | 1991-03-19 | 2000-10-30 | ソニー株式会社 | Camera shake correction device and camera shake correction method |
US5321515A (en) | 1991-06-10 | 1994-06-14 | Matsushita Electric Industrial Co., Ltd. | Image fluctuation correcting apparatus |
JPH0514798A (en) * | 1991-07-03 | 1993-01-22 | Sony Corp | Camera jiggle correcting device |
US5371539A (en) * | 1991-10-18 | 1994-12-06 | Sanyo Electric Co., Ltd. | Video camera with electronic picture stabilizer |
JPH0638091A (en) | 1992-07-17 | 1994-02-10 | Sony Corp | Image blurring detector and image blurring corrector |
KR950005601B1 (en) | 1992-09-19 | 1995-05-27 | 삼성전자주식회사 | Stabilization method and system of digital image |
US5748231A (en) * | 1992-10-13 | 1998-05-05 | Samsung Electronics Co., Ltd. | Adaptive motion vector decision method and device for digital image stabilizer system |
DE69428838T2 (en) | 1993-06-29 | 2002-07-18 | Sanyo Electric Co., Ltd. | Video camera with electronic image stabilization and generation of addition data |
US5959666A (en) * | 1995-05-30 | 1999-09-28 | Sony Corporation | Hand deviation correction apparatus and video camera |
JP3564247B2 (en) * | 1996-11-26 | 2004-09-08 | 松下電器産業株式会社 | Image motion compensation device |
JP4245695B2 (en) | 1998-09-24 | 2009-03-25 | シャープ株式会社 | Image motion vector detection method and apparatus |
DE19909627A1 (en) | 1999-03-05 | 2000-09-07 | Bosch Gmbh Robert | Method and device for determining a shift of images of an image sequence |
US6809758B1 (en) * | 1999-12-29 | 2004-10-26 | Eastman Kodak Company | Automated stabilization method for digital image sequences |
KR100683849B1 (en) | 2000-06-28 | 2007-02-15 | 삼성전자주식회사 | Decoder having digital image stabilization function and digital image stabilization method |
US7791641B2 (en) | 2001-09-12 | 2010-09-07 | Samsung Electronics Co., Ltd. | Systems and methods for utilizing activity detection information in relation to image processing |
US7295244B2 (en) * | 2002-03-26 | 2007-11-13 | Eastman Kodak Company | System for capturing and archiving motion video segments |
US8611919B2 (en) | 2002-05-23 | 2013-12-17 | Wounder Gmbh., Llc | System, method, and computer program product for providing location based services and mobile e-commerce |
US20040051793A1 (en) * | 2002-09-18 | 2004-03-18 | Tecu Kirk S. | Imaging device |
-
2004
- 2004-02-13 US US10/779,246 patent/US7880769B2/en not_active Expired - Fee Related
-
2005
- 2005-02-09 EP EP05713427A patent/EP1751971A4/en not_active Withdrawn
- 2005-02-09 JP JP2006553289A patent/JP2007522772A/en not_active Ceased
- 2005-02-09 CA CA002555933A patent/CA2555933A1/en not_active Abandoned
- 2005-02-09 WO PCT/US2005/004485 patent/WO2005079327A2/en active Application Filing
- 2005-02-09 RU RU2006132727/09A patent/RU2350036C2/en not_active IP Right Cessation
-
2009
- 2009-08-21 JP JP2009191932A patent/JP2009303236A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2524568C2 (en) * | 2008-10-13 | 2014-07-27 | Конинклейке Филипс Электроникс Н.В. | Improvement of combined device and anatomy visualisation |
RU2631331C2 (en) * | 2014-08-22 | 2017-09-21 | Рикох Компани, Лтд. | Imaging device and imaging method |
US10462371B2 (en) | 2014-08-22 | 2019-10-29 | Ricoh Company, Ltd. | Imaging apparatus and imaging method for comparing a template image with a monitoring image |
RU2658811C2 (en) * | 2016-12-12 | 2018-06-22 | Общество С Ограниченной Ответственностью "Дисикон" | Method and system of elimination of the effect of the sliding shutter of the camera |
Also Published As
Publication number | Publication date |
---|---|
RU2006132727A (en) | 2008-03-27 |
WO2005079327A3 (en) | 2007-04-19 |
US7880769B2 (en) | 2011-02-01 |
EP1751971A4 (en) | 2010-07-14 |
US20050179784A1 (en) | 2005-08-18 |
JP2007522772A (en) | 2007-08-09 |
WO2005079327A2 (en) | 2005-09-01 |
EP1751971A2 (en) | 2007-02-14 |
JP2009303236A (en) | 2009-12-24 |
CA2555933A1 (en) | 2005-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2350036C2 (en) | Adaptive image stabilisation | |
US8120672B2 (en) | Digital camera for recording a still image while shooting a moving image | |
KR101027353B1 (en) | Electronic video image stabilization | |
US7791641B2 (en) | Systems and methods for utilizing activity detection information in relation to image processing | |
US8116576B2 (en) | Image processing method and image processing device for reconstructing a high-resolution picture from a captured low-resolution picture | |
EP2161928B1 (en) | Image processing device, image processing method, and program | |
US10587892B2 (en) | Image processing apparatus, image processing method, and program for generating motion compensated image data | |
US20100177982A1 (en) | Image processing device, image processing method, program, and imaging device | |
EP2073531A1 (en) | Method and apparatus for creating a combined image | |
JP4641892B2 (en) | Moving picture encoding apparatus, method, and program | |
EP1941718A1 (en) | System and method for video stabilization | |
US7956898B2 (en) | Digital image stabilization method | |
JP2006129074A (en) | Hand shaking correction device | |
US7595818B2 (en) | Image shake correction image processing apparatus and program | |
US20060039474A1 (en) | Motion vector estimating method and motion picture processor | |
JP2001024933A (en) | Device and method for inputting image | |
JP2005051810A (en) | Digital camera | |
JP3877742B2 (en) | Digital camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20110210 |