RU2350036C2 - Adaptive image stabilisation - Google Patents

Adaptive image stabilisation Download PDF

Info

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
Application number
RU2006132727/09A
Other languages
Russian (ru)
Other versions
RU2006132727A (en
Inventor
Инюн ЦИ (US)
Инюн ЦИ
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2006132727A publication Critical patent/RU2006132727A/en
Application granted granted Critical
Publication of RU2350036C2 publication Critical patent/RU2350036C2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration 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

FIELD: information technologies.
SUBSTANCE: method and the device for stabilisation of the image containing set of shots is offered, and estimates motion vectors at level of a shot for each shot, and is adaptive integrates motion vectors to yield, for each shot, the vector of a motion which is subject to use for stabilisation of the image. The copy of the reference image of a shot is biased by means of the corresponding is adaptive the integrated vector of a motion. In one version of realisation of the invention, the perimetre of the data unit of the image is supplemented with the reserve of regulation which is subject to use for neutralisation of images, in other variant vertical and horizontal builders are handled independently, and plans of motion evaluation related to the MPEG-4 coder, used for evaluation of vectors at level of macroblocks, and histograms.
EFFECT: possibility to delete astable motions at maintenance of a natural motion of type of scanning of the film-making plan, with the underload requirement for additional specialised plans and the underload magnification of computing complexity.
26 cl, 4 dwg

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 image sensor 23, such as a rectangular array of charge-coupled devices (CCDs) or CMOS devices that form a flat surface and act as a receiver for light containing video image information. The image sensor 23 collects video data constituting raw image frames. Data is fed through various processing circuits, including filters and amplifiers 1 and analog-to-digital converter 5. (The types and quantities of circuits may vary depending on the particular camcorder and configuration). Digital information representing the frames is then sent to the stabilizer 7. In this embodiment, the stabilizer includes, among other components, motion estimation circuits used to compute motion vectors at the block level for use in compressing a video signal. Although an example in this description is presented in the context of MPEG-4, other compression schemes may be considered as falling within the scope of the invention.

На выходе 17 стабилизатора 7 постоянно находятся цифровые данные изображений. В этом примере данные, возможно, сжаты схемами сжатия в стабилизаторе 7 для сохранения в запоминающем устройстве 21, таком как флэш-память или внутренний буфер кадров, или они могут передаваться на другое устройство, такое как в применении видеотелефона или электронной почты передачи видеоизображений. Для простоты примера предполагается, что данные на выходе 17 могут быть либо сжаты, либо, когда прикладная программа дает такие полномочия, данные могут быть в их необработанной, несжатой форме. Также предполагается, что функциональные возможности сжатия постоянно находятся в пределах стабилизатора, чтобы выходной сигнал 17 стабилизатора 7 мог включать в себя либо сжатые данные (для передачи или сохранения), либо необработанные, несжатые данные для немедленного просмотра на дисплее. (В других вариантах осуществления изобретения, данные могут быть сжаты до передачи на дисплей, где соответствующие схемы (не показаны) разворачивают данные и восстанавливают последовательность изображений). Далее, в некоторых вариантах осуществления изобретения, данные кадра могут непосредственно передаваться в буфер кадров, а затем посылаться обратно в стабилизатор и оценочную функцию движения для сжатия или дополнительной обработки. Механизм сжатия в этом случае, как предполагается, является частью стабилизатора, частично потому, что в вычислительном отношении усиленные схемы оценивания движения используются и для сжатия изображений, и для стабилизации дрожания видеокамеры.The output 17 of the stabilizer 7 is constantly digital image data. In this example, the data may have been compressed by compression circuits in the stabilizer 7 to be stored in a storage device 21, such as flash memory or an internal frame buffer, or it may be transferred to another device, such as using a video telephone or video email. For simplicity, the example assumes that the output 17 can either be compressed, or when the application gives such credentials, the data can be in their raw, uncompressed form. It is also assumed that the compression functionality is constantly within the stabilizer, so that the output signal 17 of the stabilizer 7 could include either compressed data (for transmission or storage), or raw, uncompressed data for immediate viewing on the display. (In other embodiments, the data may be compressed before being transmitted to a display, where appropriate circuits (not shown) expand the data and restore the sequence of images). Further, in some embodiments of the invention, the frame data may be directly transmitted to the frame buffer and then sent back to the stabilizer and the estimated motion function for compression or further processing. The compression mechanism in this case is supposed to be part of the stabilizer, partly because, computationally, enhanced motion estimation schemes are used to compress images and to stabilize camera shake.

Сжатые данные затем кодируются кодером 11 и модулируются модулятором 13 в формат, соответствующий передаче через предназначенную среду. Кодер 11 в данном описании относится не к кодеру MPEG-4, а скорее к кодеру данных, который присутствует в этом варианте осуществления изобретения. После модуляции на соответствующем несущем сигнале для беспроводной передачи, данные затем передаются через схемы 15 канальной связи.The compressed data is then encoded by the encoder 11 and modulated by the modulator 13 into a format corresponding to the transmission through the intended medium. The encoder 11 in this description does not refer to the MPEG-4 encoder, but rather to the data encoder that is present in this embodiment of the invention. After modulation on an appropriate carrier signal for wireless transmission, the data is then transmitted through channel communication circuits 15.

Карманное устройство также может принимать сжатые данные MPEG через блок 15 канальной связи. Принимаемые данные демодулируются и декодируются демодулятором 17 и декодером 19, соответственно. Данные могут быть развернуты стабилизатором 7 и воспроизведены на дисплее 9, или они могут быть сохранены в запоминающем устройстве 21 для будущего использования.The handheld device can also receive compressed MPEG data through the channel communication unit 15. Received data is demodulated and decoded by demodulator 17 and decoder 19, respectively. Data may be deployed by stabilizer 7 and displayed on display 9, or it may be stored in memory 21 for future use.

В этом варианте осуществления схемы оценивания движения (встроенные в этом примере в стабилизатор 7) могут использоваться для двух целей. Во-первых, они используются для вычисления векторов движения на уровне блоков или макроблоков для сжатия MPEG. Во-вторых, вычисленные векторы из схем стабилизации движения используются для оценивания глобальных векторов (на уровне кадра), которые будут использоваться в процессе стабилизации, описанном ниже. В результате этого объединения в одно целое схем оценивания движения для использования в двух дискретных функциях, сохраняется значительное пространство, и независимые вычислительные схемы для оценивания движения, специфического для стабилизатора, не требуются. Эта конфигурация приводит к сохранению ценного доступного пространства в карманных устройствах, где пространство является дефицитным. Кроме того, вычислительная сложность сведена к минимуму, посредством чего повышая эффективность и не жертвуя чрезмерным расходом энергии аккумуляторной батареи. Однако следует отметить, что использование этих схем оценивания движения для обеих целей, хотя и выгодно в контексте MPEG-4 и некоторых других устройств, не является основным для применения на практике данного изобретения.In this embodiment, motion estimation circuits (built into stabilizer 7 in this example) can be used for two purposes. Firstly, they are used to compute motion vectors at the block or macroblock level for MPEG compression. Secondly, the calculated vectors from the motion stabilization schemes are used to estimate global vectors (at the frame level) that will be used in the stabilization process described below. As a result of this combination of motion estimation circuits for use in two discrete functions, considerable space is saved, and independent computational circuits for estimating motion specific to the stabilizer are not required. This configuration conserves valuable available space in handheld devices where space is scarce. In addition, computational complexity is minimized, thereby increasing efficiency and not sacrificing excessive battery power. However, it should be noted that the use of these motion estimation schemes for both purposes, although beneficial in the context of MPEG-4 and some other devices, is not fundamental to the practice of this invention.

Обычная цифровая стабилизация изображения может корректировать дрожание видеокамеры различными способами. В одном варианте осуществления изобретения, поскольку дрожащее изображение поступает через объектив и поражает датчик изображения карманного устройства, система стабилизации изображения повторно позиционирует активную область микросхемы датчика изображения, то есть, физическое местоположение на микросхеме, с которого считывается изображение, чтобы компенсировать это дрожание. Этот этап "повторного позиционирования" выполняется посредством переадресации области микросхемы, с которой система выполняет считывание. Каждый пиксель в одном варианте осуществления связан с уникальным бинарным адресом. Информация пикселей, связанная с адресами, которые не являются частью повторно позиционированного изображения, просто игнорируется. Стабилизатор 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 stabilizer 7 estimates the global (at the frame level) motion vectors in the image based on the vectors at the block level and / or at the macroblock level calculated in the MPEG compression step, in a manner that will be further discussed below.

Как можно видеть, фактическое повторное позиционирование осуществляется одним из двух способов. Первый, и обычный, способ заключается в увеличении изображения (изменении масштаба изображения) в цифровой форме так, чтобы полный растр микросхемы датчика изображения в объективе 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. Rectangle 25 represents the area corresponding to the image sensor of the camcorder, such as a CCD sensor. The image sensor is a semiconductor chip, usually consisting of a matrix of CMOS or CCD elements that detect the light incident on them and capture the image. A charge-coupled device (CCD) is a photosensitive integrated circuit that stores and displays data for an image so that each pixel in the image is converted into an electric charge, the intensity of which is associated with the color in the color spectrum.

Прямоугольники 27 и 29 представляют кадры в пределах датчика 25 изображения, захваченные видеокамерой в два различных момента времени t1 и t2. В одном варианте осуществления каждый кадр может быть записан видеокамерой, назначая уникальный адрес каждому элементу ПЗС, так что рассматриваются только выходные сигналы конкретной матрицы адресов ПЗС, а остальные отбрасываются. На фиг. 2 для иллюстративных целей предполагается, что кадры 27 (захваченный в момент времени t1) и 29 (захваченный в момент времени t2) смещены относительно друг друга на определенную величину и направление в результате дрожания видеокамеры. Треугольники 31 представляют объект, который является частью записанного съемочного плана. Треугольник 31 проявляется в двух местоположениях, по одному в пределах каждого изображения 27 и 29. Треугольник 31 смещается из кадра 27 в кадр 29 в пределах области 25 формирования изображения; однако треугольники не смещаются относительно их соответствующих кадров 27 и 29. То есть, треугольник является стационарным в съемочном плане, который подлежит захватыванию; он не двигается относительно остальной части кадра. В этой иллюстрации перемещается только видеокамера.Rectangles 27 and 29 represent frames within the image sensor 25 captured by the video camera at two different times t1 and t2. In one embodiment, each frame can be recorded by a video camera, assigning a unique address to each CCD element, so that only the output signals of a particular CCD address matrix are considered, and the rest are discarded. In FIG. 2 for illustrative purposes, it is assumed that frames 27 (captured at time t1) and 29 (captured at time t2) are offset relative to each other by a certain amount and direction as a result of camera shake. Triangles 31 represent an object that is part of a recorded shooting plan. Triangle 31 appears in two locations, one within each image 27 and 29. Triangle 31 is shifted from frame 27 to frame 29 within image forming region 25; however, the triangles do not shift relative to their respective frames 27 and 29. That is, the triangle is stationary in the shooting plan, which is subject to capture; it does not move relative to the rest of the frame. In this illustration, only the camcorder moves.

Как иллюстрирует фиг. 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 frames 27 and 29 can be represented by a global offset or a global motion vector. This global motion vector is a motion vector at the frame level, meaning that the vector contains information about the magnitude and direction of displacement of the full frame 29 relative to the full frame 27. This displacement vector 33, representing the effective difference between frames 27 and 29, can be further divided into x and y components. Component x represents the offset value of frame 29 relative to frame 27 in the horizontal direction, and component y represents the offset value of frames 29 relative to frame 27 in the vertical direction. Accordingly, the total displacement vector 33 at the frame level is the sum of the discrete displacement at the frame level in the x (horizontal) direction and the discrete displacement at the frame level in the y (vertical) direction.

Отметим, что даже если было смещение треугольника 31 относительно его одного или обоих из его соответствующих кадров 27 или 29, измерение дрожания видеокамеры все еще может быть представлено анализом смещения вектора на уровне кадра. Перемещение треугольника 31 в этом случае просто может представлять естественное движение объекта в съемочном плане захваченного видеоизображения и не будет влиять на величину или направление вектора 33 смещения на уровне кадра для представления дрожания видеокамеры.Note that even if there was an offset of the triangle 31 relative to one or both of its respective frames 27 or 29, the measurement of camera shake can still be represented by an analysis of the vector offset at the frame level. The movement of the triangle 31 in this case simply can represent the natural movement of the object in the shooting plan of the captured video image and will not affect the magnitude or direction of the displacement vector 33 at the frame level to represent camera shake.

Как предварительно обсуждалось, способы сжатия подобно 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 vector 33 for successive frames of the video image. In contrast, where another compression scheme is used that generates displacement vectors at the frame level, or that uses a specialized circuit to generate vectors at the frame level, this conversion from the block level to the frame level should not be performed.

Как отмечено выше, схемы стабилизации изображения были разработаны и объединены в одно целое во многих бытовых портативных видеокамерах. Стабилизация движения в общем представляет собой дополнительную возможность, которая может быть включена или выключена пользователем посредством выключателя или возможного дополнительного средства на электронной панели. Механизмы стабилизации изображения этих систем в общем включают в себя четыре этапа: (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 storage device 21 in the video camera of FIG. 1) for subsequent visualization. At step 41, motion estimation circuits associated with the MPEG compression mechanism evaluate the set of displacement or motion vectors B x and B y at the macroblock level to enter the frame in step 37. As noted, the motion vectors in MPEG carry the offset of the current macroblock relative to the previous reference frame. Thus, image data can be compressed for efficiency, and the current frame can be restored using an earlier reference frame along with motion vector information. In this embodiment, the calculations associated with step 41 are used for both the stabilization algorithm and the video compression algorithm. Using the same circuits to perform both functions has significant branching for smaller devices. The use of compression results at the stage of image stabilization saves significant available space, eliminating the need for additional specialized circuits and maintaining the small size of a handheld device. Additionally, fewer calculations are required, thereby avoiding excessive voltage of the CPU or specialized hardware using additional steps already performed in the compression schemes.

Соответственно, на выходе блока 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 step 51, the method begins by determining whether the global motion vector for the current frame is V (n) = 0. (Recall that V (n), which includes V x and V y , processed independently according to Fig. 4, represents the global motion vector at the frame level calculated according to Fig. 3 and associated with the present frame). A value of zero usually indicates that no movement or displacement has occurred compared to the previously captured frame. If V (n) = 0, then F (n), that is, the global motion vector of the accumulated n frames in the sequence of images, is simply equal to F (n-1). Putting it differently, if there is no movement of the current frame relative to the previous frame, then the current frame is read from the same position on the image sensor with an added margin of control as the previous frame and no compensating offset is required for this frame relative to the previous frame.

Если V(n) на этапе 51 не равен нулю, то, как считают, происходит глобальное смещение текущего кадра относительно предыдущего кадра. На этапе 53, выражениеIf V (n) at step 51 is not equal to zero, then, as it is believed, there is a global offset of the current frame relative to the previous frame. At step 53, the expression

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 step 53 the motion associated with the current and previous vector is in the same direction, namely V (n) · F (n-1)> 0, the control process proceeds to step 5. At At this stage, it is necessary to determine whether the motion V (n) refers to the jitter of the video camera or to the natural movement of the video camera or object. First, at step 55, it is determined whether the absolute value of the sum of the motions of the current and previous vectors exceeds the added control margin M, which in one embodiment of the invention = 8. In particular:

Является ли |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 block 57 is performed. The stabilization vector F (n) is calculated as the weighted sum of the current and previous motion vectors, where the weight coefficient is a linear function of the magnitude of the current motion vector. In this embodiment, the current assumption is that: (i) it is not clear from the general content whether the global motion vector V (n) in this case is associated with camera shake, or instead it is a natural and deliberate movement, (ii) than the larger the magnitude of the current motion V (n), the less likely it is that the motion is due to camera shake and therefore, the smaller the weight coefficient should be attributed to the previous motion vector F (n-1), and (iii) the smaller the magnitude of the current motion V (n), the more likely the motion is due to camera shake and hence the greater the value of the weighting factor should be attributed to the previous vector F (n-l) motion. In one embodiment, the mathematical expression that combines this set of assumptions represents the following expression:

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 step 53, show that the bias is more likely due to camera shake. Accordingly, a large value of the weight coefficient is given to the summation V (n) with the previous global motion vector for damping small or alternating movements characteristic of camera shake.

Между этими двумя пределами, где характер смещения не ясен, 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 equation 61 according to FIG. four.

Блок 59 показывает, что в варианте осуществления изобретения, показанном на фиг. 4, имеется задержка одного кадра между предыдущим кумулятивным вектором F(n-1) движения и текущим кумулятивным вектором F(n) движения. Эта задержка относится к вычислению кадра, имеющего смещение V(n) на уровне кадра, и его адаптивному интегрированию с F(n-1).Block 59 shows that in the embodiment shown in FIG. 4, there is a delay of one frame between the previous cumulative motion vector F (n-1) and the current cumulative motion vector F (n). This delay refers to the calculation of a frame having an offset V (n) at the frame level, and its adaptive integration with 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 equation 67 in FIG. 4). Instead, the traditional method at this point takes into account the background, leading to unnecessary errors. In addition, if the current offset is zero, then the past movement or background can be fully used (see equation 63 in FIG. 4). This is not the case in the traditional way, which reduces the history by a factor of k , which leads to errors. Additionally, if the current bias V (n) occurs in a different direction than the chronological bias, the current and chronological biases must be added to compensate for camera shake. Again, the traditional method reduces the chronological bias by a factor of k before adding up, which again reduces the errors. All these errors are simply amplified by a small handheld device, which leads to large amounts of camera shake. It is understood that adaptive integration should be used, as in step 47 of FIG. 3 and in FIG. 4. In addition, linear interpolation k is more suitable than the constant k, as shown in equation 61 in FIG. 4. In this equation:

К=(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)

1. Способ стабилизации изображения, содержащего множество последовательных кадров, содержащий оценивание множества векторов движения, при этом каждый вектор движения соответствует одному из кадров, выбор метода интегрирования для каждого вектора движения, основываясь на компонентах связанных с указанным вектором движения, адаптивное интегрирование, в соответствии с указанном выбором, каждого из векторов движения с векторами движения, соответствующими предыдущим кадрам, и использование адаптивно проинтегрированных векторов движения для компенсации кадров, чтобы стабилизировать изображение.1. A method of stabilizing an image containing a plurality of consecutive frames, comprising estimating a plurality of motion vectors, each motion vector corresponding to one of the frames, choosing an integration method for each motion vector, based on the components associated with the specified motion vector, adaptive integration, in accordance with indicated choice, each of the motion vectors with motion vectors corresponding to the previous frames, and the use of adaptively integrated motion vectors to compensate for the frame to stabilize the image. 2. Способ по п.1, в котором каждый из векторов движения оценивается посредством вычисления блока векторов движения, и определения такого вектора движения из блока векторов движения.2. The method according to claim 1, in which each of the motion vectors is estimated by calculating a block of motion vectors, and determining such a motion vector from the block of motion vectors. 3. Способ по п.2, в котором каждый из векторов движения дополнительно оценивается посредством вычисления горизонтальной и вертикальной гистограмм на основании соответствующего блока векторов движения, и определения такого вектора движения, основываясь на таких гистограммах.3. The method according to claim 2, in which each of the motion vectors is additionally estimated by calculating horizontal and vertical histograms based on the corresponding block of motion vectors, and determining such a motion vector based on such histograms. 4. Способ по п.1, в котором изображение фиксируется датчиком изображения, причем способ дополнительно содержит дополнение периметра изображения зафиксированного датчиком изображения множеством пикселей, содержащих запас регулирования М, с целью использования для компенсации кадров.4. The method according to claim 1, in which the image is captured by the image sensor, the method further comprising supplementing the image perimeter of the image captured by the image sensor with a plurality of pixels containing a control margin M for use to compensate for frames. 5. Способ по п.1, в котором адаптивное интегрирование содержит установление одного из адаптивно проинтегрированных векторов движения, равного адаптивно проинтегрированному вектору движения, соответствующему предыдущему кадру, когда упомянутый один из адаптивно проинтегрированных векторов движения равен нулю.5. The method according to claim 1, wherein the adaptive integration comprises establishing one of the adaptively integrated motion vectors equal to the adaptively integrated motion vector corresponding to the previous frame when said one of the adaptively integrated motion vectors is zero. 6. Способ стабилизации изображения, содержащего множество последовательных кадров, содержащий оценивание множества векторов движения, при этом каждый вектор движения соответствует одному из кадров, адаптивное интегрирование каждого из векторов движения с векторами движения, соответствующими предыдущим кадрам, и использование адаптивно проинтегрированных векторов движения для компенсации кадров, чтобы стабилизировать изображение, при этом адаптивное интегрирование содержит установление одного из адаптивно проинтегрированных векторов движения равным сумме упомянутого одного из адаптивно проинтегрированных векторов движения и адаптивно проинтегрированного вектора движения, соответствующего предыдущему кадру, когда произведение упомянутого одного из адаптивно проинтегрированных векторов движения и адаптивно проинтегрированного вектора движения, соответствующего предыдущему кадру, меньше нуля.6. A method for stabilizing an image containing a plurality of consecutive frames, comprising estimating a plurality of motion vectors, wherein 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 the frames to stabilize the image, while adaptive integration includes the establishment of one of the adaptively integrated vectors motion factors equal to the sum of the mentioned one of the adaptively integrated motion vectors and the adaptively integrated motion vector corresponding to the previous frame when the product of the mentioned one of the adaptively integrated motion vectors and the adaptively integrated motion vector corresponding to the previous frame is less than zero. 7. Способ стабилизации изображения, содержащего множество последовательных кадров, содержащий оценивание множества векторов движения, при этом каждый вектор движения соответствует одному из кадров, адаптивное интегрирование каждого из векторов движения с векторами движения, соответствующими предыдущим кадрам, и использование адаптивно проинтегрированных векторов движения для компенсации кадров, чтобы стабилизировать изображение, при этом адаптивное интегрирование содержит установление одного из адаптивно проинтегрированных векторов движения равным запас урегулирования, имеющему знак адаптивно проинтегрированного вектора движения, соответствующего предыдущему кадру, когда абсолютная величина суммы упомянутого одного из адаптивно проинтегрированных векторов движения и адаптивно проинтегрированного вектора движения, соответствующего предыдущему кадру больше, чем запас регулирования.7. A method for stabilizing an image containing a plurality of consecutive frames, comprising estimating a plurality of motion vectors, wherein 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 the frames to stabilize the image, while adaptive integration includes the establishment of one of the adaptively integrated vectors The motion margin is equal to the margin of regulation, which has the sign of an adaptively integrated motion vector corresponding to the previous frame, when the absolute value of the sum of one of the adaptively integrated motion vectors and the adaptively integrated motion vector corresponding to the previous frame is greater than the control margin. 8. Способ стабилизации изображения, содержащего множество последовательных кадров, содержащий оценивание множества векторов движения, при этом каждый вектор движения соответствует одному из кадров, адаптивное интегрирование каждого из векторов движения с векторами движения, соответствующими предыдущим кадрам, и использование адаптивно проинтегрированных векторов движения для компенсации кадров, чтобы стабилизировать изображение, в котором адаптивное интегрирование содержит установление каждого из адаптивно проинтегрированных векторов F(n) движения равным [(1-V(n)/M)·F(n-1)]+V(n), когда |v(n)+F(n-1)|<М, где V(n) равен одному из векторов движения, М равен запасу регулирования, a F(n-1) равен адаптивно проинтегрированному вектору движения, соответствующему предыдущему кадру.8. A method for stabilizing an image containing a plurality of consecutive frames, comprising estimating a plurality of motion vectors, wherein 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 the frames in order to stabilize the image in which adaptive integration includes the establishment of each of the adaptively integrated ctors F (n) of motion equal to [(1-V (n) / M) · F (n-1)] + V (n) when | v (n) + F (n-1) | <M, where V (n) is equal to one of the motion vectors, M is equal to the control margin, and F (n-1) is equal to the adaptively integrated motion vector corresponding to the previous frame. 9. Способ стабилизации изображения из последовательности изображений, содержащей n кадров, содержащий сохранение каждого кадра от датчика изображения в буфере эталонных изображений, оценивание вектора V(n) движения на уровне кадра для каждого из n кадров, выбор метода интегрирования для каждого вектора движения на уровне кадра, на основании компонент, связанных с указанным вектором движения на уровне кадра, согласно указанному выбору формирование адаптивно проинтегрированных векторов F(n) движения для каждого из n кадров, основываясь на V(n) и векторе F(n-1) движения, соответствующем предыдущим n-1 кадрам, и визуализацию каждого из n кадров, как последовательность видеоизображений, посредством смещения, когда необходимо, n-ого кадра в буфере эталонных изображений на F(n).9. A method of image stabilization from an image sequence containing n frames, comprising storing each frame from the image sensor in the buffer of reference images, estimating the motion vector V (n) at the frame level for each of n frames, choosing an integration method for each motion vector at the level frame, based on the components associated with the specified motion vector at the frame level, according to the specified choice, the formation of adaptively integrated motion vectors F (n) for each of n frames, based on V (n) and a motion vector F (n-1) corresponding to previous n-1 frames, and rendering each of the n frames as a sequence of video images by shifting, when necessary, the nth frame in the reference image buffer by F (n). 10. Способ стабилизации изображения из последовательности изображений, содержащей n кадров, содержащий сохранение каждого кадра от датчика изображения в буфере эталонных изображений, оценивание вектора V(n) движения на уровне кадра для каждого из n кадров, формирование адаптивно проинтегрированных векторов F(n) движения для каждого из n кадров, основываясь на V(n) и векторе F(n-1) движения, соответствующем предыдущим n-1 кадрам, и визуализацию каждого из n кадров, как последовательность видеоизображений, посредством смещения, когда необходимо, n-ого кадра в буфере эталонных изображений на F(n), в котором формирование адаптивно проинтегрированных векторов F(n) движения содержит установление следующих значений: F(n)=F(n-1), когда V(n)=0, F(n)=V(n)+F(n-1), когда V(n)·F(n-1)<0, F(n)=sgn(V(n))·M, когда |V(n)+F(n-1)|>M, где М = запасу регулирования, F(n)=[(1-V(n)/M)·F(n-1)]+V(n), когда |V(n)+F(n-1)|<M, где Р(n)-обозначает компонент глобального вектора движения всех адаптивно проинтегрированных предыдущих кадров, F(n-1) - обозначает компонент глобального вектора движения адаптивно проинтегрированных кадров от первого кадра до предыдущего кадра, V(n) - компонент глобального вектора движения текущего кадра, М - обозначает запас регулирования.10. A method of image stabilization from an image sequence containing n frames, comprising 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, generating 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 visualization of each of n frames as a sequence of video images by shifting, when necessary, n-og frame in the buffer of reference images on F (n), in which the formation of adaptively integrated motion vectors F (n) contains the establishment of the following values: F (n) = F (n-1) when V (n) = 0, F (n ) = V (n) + F (n-1) when V (n) · F (n-1) <0, F (n) = sgn (V (n)) · M when | V (n) + F (n-1) |> M, where M = margin of regulation, F (n) = [(1-V (n) / M) · F (n-1)] + V (n) when | V (n) + F (n-1) | <M, where P (n) denotes the component of the global motion vector of all adaptively integrated previous frames, F (n-1) - denotes the component of the global motion vector of adaptively integrated frames from the first frame to previous frame, V (n) - co exponentials global motion vector of the current frame, F - represents a margin of regulation. 11. Способ по п.10, в котором горизонтальное и вертикальное направления каждого вектора F(n), V(n) и F(n+1) вычисляются отдельно.11. The method according to claim 10, in which the horizontal and vertical directions of each vector F (n), V (n) and F (n + 1) are calculated separately. 12. Способ по п.9, в котором оценивание вектора V(n)движения на уровне кадра содержит формирование, для каждого n-го кадра, множества векторов движения, где каждый вектор движения соответствует конкретной области кадра, формирование вертикального и горизонтального компонентов гистограммы множества векторов движения, соответствующих каждому n-ому кадру, и вычисление вектора V(n) на уровне кадра на основании гистограммы.12. The method according to claim 9, in which the estimation of the motion vector V (n) at the frame level comprises generating, for each nth frame, a plurality of motion vectors, where each motion vector corresponds to a specific area of the frame, generating vertical and horizontal components of the histogram of the set motion vectors corresponding to each n-th frame, and the calculation of the vector V (n) at the frame level based on the histogram. 13. Способ по п.9, дополнительно содержащий заполнение периметра датчика изображения запасом регулирования.13. The method according to claim 9, further comprising filling the perimeter of the image sensor with a control margin. 14. Устройство стабилизации изображения для использования в устройстве, выполненном с возможностью фиксирования видеоизображения, содержащее датчик изображения для регистрации кадров видеоизображений, содержащих последовательности изображений, буфер, подсоединенный к датчику изображения для сохранения эталонного изображения, связанного с зафиксированным кадром, схему оценивания движения, подсоединенную к буферу и действующую для вычисления вектора движения для каждого кадра, схему адаптивного интегрирования, подсоединенную к схеме оценивания движения и действующую для выбора метода интегрирования для каждого вектора движения, основываясь на компонентах связанных с указанным вектором движения, и для адаптивного интегрирования, согласно указанному выбору, векторов движения, связанных с каждым кадром, чтобы выводить суммарный вектор движения для каждого кадра, и схему визуализации, подсоединенную к буферу и схеме адаптивного интегрирования и действующую для копирования стабилизированной части последовательности изображений.14. An image stabilization device for use in a device capable of capturing a video image, comprising an image sensor for recording frames of video images containing image sequences, a buffer connected to an image sensor for storing a reference image associated with the captured frame, a motion estimation circuit connected to to the buffer and adaptive integration circuit connected to the circuit e of motion estimation and valid for selecting an integration method for each motion vector, based on the components associated with the specified motion vector, and for adaptively integrating, according to the specified selection, motion vectors associated with each frame to derive a total motion vector for each frame, and a visualization circuitry connected to a buffer and an adaptive integration circuitry and operable to copy the stabilized portion of the image sequence. 15. Устройство по п.14, в котором схема оценивания движения дополнительно содержит схему, действующую так, чтобы производить, для каждого кадра, множество векторов на уровне блока и оценивать вектор на уровне кадра для каждого кадра, основываясь на множестве векторов на уровне блока.15. The device according to 14, in which the motion estimation circuit further comprises a circuit operating to produce, for each frame, a plurality of vectors at the block level and evaluate a vector at the frame level for each frame based on the plurality of vectors at the block level. 16. Устройство по п.14, в котором используется сжатие MPEG-4.16. The device according to 14, which uses compression MPEG-4. 17. Устройство по п.14, в котором периметр изображения, зафиксированного датчиком изображения дополняется запасом регулирования для использования при компенсации движения.17. The device according to 14, in which the perimeter of the image captured by the image sensor is supplemented by a margin of regulation for use in motion compensation. 18. Устройство по п.15, в котором схема оценивания движения действует для оценивания вектора на уровне кадра, основываясь на множестве векторов на уровне блока, посредством вычисления гистограммы.18. The device according to clause 15, in which the motion estimation circuit operates to evaluate the vector at the frame level, based on the set of vectors at the block level, by computing a histogram. 19. Устройство по п.18, в котором гистограмма содержит вертикальный и горизонтальный компоненты.19. The device according to p, in which the histogram contains vertical and horizontal components. 20. Устройство по п.14, в котором схема адаптивного интегрирования дополнительно действует для вычисления F(n)=F(n-1), когда V(n)=0, где F(n) - обозначает компонент глобального вектора движения всех адаптивно проинтегрированных предыдущих кадров, F(n-1) - обозначает компонент глобального вектора движения адаптивно проинтегрированных кадров от первого кадра до предыдущего кадра, V(n) - компонент глобального вектора движения текущего кадра.20. The device according to 14, in which the adaptive integration circuit additionally acts to calculate F (n) = F (n-1), when V (n) = 0, where F (n) is the component of the global motion vector of all adaptively integrated previous frames, F (n-1) - indicates the component of the global motion vector of adaptively integrated frames from the first frame to the previous frame, V (n) - component of the global motion vector of the current frame. 21. Устройство стабилизации изображения для использования в устройстве выполненном с возможностью фиксирования видеоизображения, содержащее датчик изображения для регистрации кадров видеоизображений, содержащих последовательности изображений, буфер, подсоединенный к датчику изображения для сохранения эталонного изображения, связанного с зафиксированным кадром, схему оценивания движения, подсоединенную к буферу и действующую для вычисления вектора движения для каждого кадра, схему адаптивного интегрирования, подсоединенную к схеме оценивания движения и действующую для адаптивного интегрирования векторов движения, связанных с каждым кадром, чтобы выводить суммарный вектор движения для каждого кадра, и схему визуализации, подсоединенную к буферу и схеме адаптивного интегрирования и действующую для копирования стабилизированной части последовательности изображений, в котором схема адаптивного интегрирования дополнительно действует для вычисления F(n)=V(n)+F(n-1), когда V(n)·F(n)<0, где F(n) - обозначает компонент глобального вектора движения всех адаптивно проинтегрированных предыдущих кадров, F(n-1) - обозначает компонент глобального вектора движения адаптивно проинтегрированных кадров от первого кадра до предыдущего кадра, V(n) - компонент глобального вектора движения текущего кадра.21. An image stabilization device for use in a device capable of capturing a video image, comprising an image sensor for recording frames of video images containing image sequences, a buffer connected to an image sensor for storing a reference image associated with the captured frame, a motion estimation circuitry connected to the buffer and adaptive integration circuitry connected to the circuits for calculating the motion vector for each frame e motion estimation and effective for adaptive integration of motion vectors associated with each frame to output a total 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 in which the adaptive integration circuit additionally acts to calculate F (n) = V (n) + F (n-1) when V (n) · F (n) <0, where F (n) - denotes the component of the global motion vector of all adaptively integrated previous frames, F (n-1) - indicates the component of the global motion vector of adaptively integrated frames from the first frame to the previous frame, V (n) - component of the global motion vector of the current frame. 22. Устройство стабилизации изображения для использования в устройстве, выполненном с возможностью фиксирования видеоизображения, содержащее датчик изображения для регистрации кадров видеоизображений, содержащих последовательности изображений, буфер, подсоединенный к датчику изображения для сохранения эталонного изображения, связанного с зафиксированным кадром, схему оценивания движения, подсоединенную к буферу и действующую для вычисления вектора движения для каждого кадра, схему адаптивного интегрирования, подсоединенную к схеме оценивания движения и действующую для адаптивного интегрирования векторов движения, связанных с каждым кадром, чтобы выводить суммарный вектор движения для каждого кадра, и схему визуализации, подсоединенную к буферу и схеме адаптивного интегрирования и действующую для копирования стабилизированной части последовательности изображений, в котором схема адаптивного интегрирования дополнительно действует для вычисления F(n)=sgn(V(n))·М, когда |V(n)+F(n-1)|>М, где F(n) - обозначает компонент глобального вектора движения всех адаптивно проинтегрированных предыдущих кадров, F(n-1) - обозначает компонент глобального вектора движения адаптивно проинтегрированных кадров от первого кадра до предыдущего кадра, V(n) - компонент глобального вектора движения текущего кадра, М - обозначает запас регулирования.22. Image stabilization device for use in a device capable of capturing a video image, comprising an image sensor for recording frames of video images containing image sequences, a buffer connected to an image sensor for storing a reference image associated with the captured frame, a motion estimation circuit connected to to the buffer and adaptive integration circuit connected to the circuit e motion estimation and effective for adaptive integration of motion vectors associated with each frame to output a total 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 in which the adaptive integration circuit additionally acts to calculate F (n) = sgn (V (n)) · M, when | V (n) + F (n-1) |> M, where F (n) is the component of the global motion vector of all adaptively integ Baths previous frames, F (n-1) - denotes a component of the global motion vector adaptively integrated over the frame from the first frame to the previous frame, V (n) - a component of the global motion vector of the current frame, F - represents a margin of regulation. 23. Устройство стабилизации изображения для использования в устройстве, выполненном с возможностью фиксирования видеоизображения, содержащее датчик изображения для регистрации кадров видеоизображений, содержащих последовательности изображений, буфер, подсоединенный к датчику изображения для сохранения эталонного изображения, связанного с зафиксированным кадром, схему оценивания движения, подсоединенную к буферу и действующую для вычисления вектора движения для каждого кадра, схему адаптивного интегрирования, подсоединенную к схеме оценивания движения и действующую для адаптивного интегрирования векторов движения, связанных с каждым кадром, чтобы выводить суммарный вектор движения для каждого кадра, и схему визуализации, подсоединенную к буферу и схеме адаптивного интегрирования и действующую для копирования стабилизированной части последовательности изображений, в котором схема адаптивного интегрирования дополнительно действует для вычисления F(n)=(1-V(n)/M)F(n-1)+V(n), когда |V(n)+F(n-1)|<M, F(n) - обозначает компонент глобального вектора движения всех адаптивно проинтегрированных предыдущих кадров, F(n-1) - обозначает компонент глобального вектора движения адаптивно проинтегрированных кадров от первого кадра до предыдущего кадра, V(n)-компонент глобального вектора движения текущего кадра М - обозначает запас регулирования.23. An image stabilization device for use in a device capable of capturing a video image, comprising an image sensor for recording frames of video images containing image sequences, a buffer connected to an image sensor for storing a reference image associated with the captured frame, a motion estimation circuit connected to to the buffer and adaptive integration circuit connected to the circuit e motion estimation and effective for adaptive integration of motion vectors associated with each frame to output a total 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 in which the adaptive integration circuit additionally acts to calculate F (n) = (1-V (n) / M) F (n-1) + V (n) when | V (n) + F (n-1) | <M, F ( n) - denotes the component of the global motion vector of all adaptively integrator Baths previous frames, F (n-1) - denotes a component of the global motion vector adaptively integrated over the frame from the first frame to the previous frame, V (n) -components global motion vector of the current frame M - stands for margin of regulation. 24. Схема стабилизации изображения, содержащая средство для оценивания множества векторов движения на уровне кадра, соответствующих, соответственно, множеству кадров, содержащих последовательность изображений, средство для выбора метода интегрирования для каждого вектора движения на уровне кадра, основываясь на компонентах, связанных с указанным вектором движения на уровне кадра, средство для адаптивного интегрирования, согласно указанному выбору, каждого из множества векторов движения на уровне кадра, чтобы производить соответствующий вектор движения для использования в стабилизации изображения, и средство для визуализации каждого кадра, используя, где необходимо, соответствующий вектор движения для использования в стабилизации изображения.24. An image stabilization circuit comprising 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 selecting an integration method for each motion vector at a frame level based on components associated with the specified motion vector at the frame level, means for adaptively integrating, according to the indicated selection, each of the plurality of motion vectors at the frame level to produce a corresponding a general motion vector for use in image stabilization, and means for rendering each frame using, where necessary, an appropriate motion vector for use in image stabilization. 25. Схема по п.24, в которой средство для оценивания дополнительно содержит средство для вычисления множества векторов движения, связанных с соответствующим множеством блоков, которые все вместе содержат кадр, и средство для вычисления вектора движения на уровне кадра, основываясь на векторах движения, связанных с соответствующим множеством блоков, которые все вместе содержат кадр.25. The circuit of claim 24, wherein the estimator further comprises means for calculating a plurality of motion vectors associated with a corresponding plurality of blocks that collectively comprise a frame, and means for calculating a motion vector at a frame level based on motion vectors associated with the corresponding set of blocks that collectively contain a frame. 26. Схема по п.25, в которой средство вычисления дополнительно содержит вычисление вектора на уровне кадра, основываясь на гистограмме, вычисленной из векторов движения, связанных с соответствующим множеством блоков, которые все вместе содержат кадр. 26. The circuit of claim 25, wherein the calculation means further comprises computing a vector at a frame level based on a histogram computed from motion vectors associated with a corresponding plurality of blocks that collectively comprise a frame.
RU2006132727/09A 2004-02-13 2005-02-09 Adaptive image stabilisation RU2350036C2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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