JP4286301B2 - Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program - Google Patents

Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program Download PDF

Info

Publication number
JP4286301B2
JP4286301B2 JP2007127604A JP2007127604A JP4286301B2 JP 4286301 B2 JP4286301 B2 JP 4286301B2 JP 2007127604 A JP2007127604 A JP 2007127604A JP 2007127604 A JP2007127604 A JP 2007127604A JP 4286301 B2 JP4286301 B2 JP 4286301B2
Authority
JP
Japan
Prior art keywords
frame
camera shake
shake correction
geometric transformation
input frame
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2007127604A
Other languages
Japanese (ja)
Other versions
JP2007274720A (en
Inventor
晴雄 畑中
直樹 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2007127604A priority Critical patent/JP4286301B2/en
Publication of JP2007274720A publication Critical patent/JP2007274720A/en
Application granted granted Critical
Publication of JP4286301B2 publication Critical patent/JP4286301B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Studio Devices (AREA)

Description

本発明は、手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体に関する。   The present invention relates to a camera shake correction device, a camera shake correction method, and a recording medium on which a camera shake correction program is recorded.

従来から、ビデオカメラ等の撮像装置によって撮像された画像に対して、手ぶれ補正を行う手ぶれ補正装置が知られている。図1は、手ぶれ補正装置のブロック図である。手ぶれ補正装置は、フレーム入力部50、幾何変換係数算出部51、手ぶれ補正部52およびフレーム出力部53を備えている。   2. Description of the Related Art Conventionally, a camera shake correction device that performs camera shake correction on an image captured by an imaging device such as a video camera is known. FIG. 1 is a block diagram of a camera shake correction apparatus. The camera shake correction apparatus includes a frame input unit 50, a geometric transformation coefficient calculation unit 51, a camera shake correction unit 52, and a frame output unit 53.

幾何変換係数算出部51は、たとえば、複数フレームからマッチングなどの画像処理を利用して幾何変換係数を算出する。手ぶれ補正部52は、幾何変換係数算出部51によって算出された幾何変換係数を用いて、一旦メモリに記憶した入力フレームを幾何変換する。   For example, the geometric conversion coefficient calculation unit 51 calculates a geometric conversion coefficient from a plurality of frames using image processing such as matching. The camera shake correction unit 52 uses the geometric transformation coefficient calculated by the geometric transformation coefficient calculation unit 51 to geometrically transform the input frame once stored in the memory.

幾何変換係数は、次式(1)に示すように3×3の行列で表され、2フレーム間の世界座標変換の係数に相当する。   The geometric transformation coefficient is represented by a 3 × 3 matrix as shown in the following equation (1), and corresponds to a world coordinate transformation coefficient between two frames.

Figure 0004286301
Figure 0004286301

図2は、画像処理を用いて幾何変換係数を算出し、入力フレームを幾何変換することにより手ぶれ補正を行う場合の補正処理手順を示している。   FIG. 2 shows a correction processing procedure in the case of performing camera shake correction by calculating a geometric transformation coefficient using image processing and geometrically transforming an input frame.

開始フレーム(基準フレーム)をFS 、現在の入力フレームをF2 、現在の入力フレームF2 より1つ前の入力フレームをF1 、フレームF1 ,F2 間の幾何変換係数(フレームF2 上の座標をフレームF1 上の座標に変換するための幾何変換係数)をM12、フレームFS ,F1 間の幾何変換係数をMS1、フレームFS ,F2 間の累積幾何変換係数(フレームF2 上の座標をフレームFS 上の座標に変換するための累積幾何変換係数)をMS2とする。 The starting frame (reference frame) is F S , the current input frame is F 2 , the input frame immediately before the current input frame F 2 is F 1 , and the geometric transformation coefficient between frames F 1 and F 2 (frame F 2 The geometric transformation coefficient for converting the upper coordinates to the coordinates on the frame F 1 ) is M 12 , the geometric transformation coefficient between the frames F S and F 1 is M S1 , and the cumulative geometric transformation coefficient between the frames F S and F 2 Assume that M S2 is a cumulative geometric conversion coefficient for converting coordinates on the frame F 2 to coordinates on the frame F S.

開始フレームから終了フレームまでの各フレームに対して次のような処理が行われる。つまり、出力フレーム用メモリをクリアした後(ステップ100)、フレームを作業メモリ上に読み込み、読み込んだフレーム(入力フレーム)をF2 とする(ステップ101)。 The following processing is performed on each frame from the start frame to the end frame. That is, (step 100) after clearing the memory for output frame, reads the frame on the work memory, the read frame (input frame) and F 2 (Step 101).

次に、入力フレームF2 が開始フレームFS であるか否かを判別する(ステップ102)。入力フレームF2 が開始フレームFS であると判別した場合には、開始フレームFS と入力フレームF2 との間の累積幾何変換係数MS2として、式(2)に示すような変換無しを表す係数(初期値)をセットする(ステップ103)。 Next, it is determined whether or not the input frame F 2 is the start frame F S (step 102). If it is determined that the input frame F 2 is the start frame F S , the cumulative geometric conversion coefficient M S2 between the start frame F S and the input frame F 2 is determined to be no conversion as shown in Expression (2). A coefficient (initial value) to be expressed is set (step 103).

Figure 0004286301
Figure 0004286301

そして、1つ前の入力フレームF1 として入力フレームF2 をセットするとともに、開始フレームFS と1つ前の入力フレームF1 との間の幾何変換係数MS1としてMS2をセットする(ステップ104)。また、入力フレームF2 のデータをそのまま出力フレーム用メモリにレンダリングする(ステップ105)。この後、ステップ100に戻って、出力フレーム用メモリをクリアするとともに、次のフレームを読み込む。 Then, the set input frame F 2 as input frames F 1 of the previous, set the M S2 as the geometric conversion coefficient M S1 between the input frames F 1 start frame F S and the previous (step 104). Further, the data of the input frame F 2 is rendered as it is in the output frame memory (step 105). Thereafter, the process returns to step 100 to clear the output frame memory and read the next frame.

上記ステップ102において、入力フレームF2 が開始フレームFS でないと判別された場合には、前フレームF1 と現フレームF2 との間の幾何変換係数M12を算出する(ステップ106)。次に、式(3)に示すようMS1とM12から開始フレームFS と現フレームF2 との間の累積幾何変換係数MS2を算出する(ステップ107)。 If it is determined in step 102 that the input frame F 2 is not the start frame F S , the geometric transformation coefficient M 12 between the previous frame F 1 and the current frame F 2 is calculated (step 106). Next, as shown in Equation (3), an accumulated geometric transformation coefficient M S2 between the start frame F S and the current frame F 2 is calculated from M S1 and M 12 (step 107).

Figure 0004286301
Figure 0004286301

そして、1つ前の入力フレームF1 として入力フレームF2 をセットするとともに、開始フレームFS と1つ前の入力フレームF1 との間の幾何変換係数MS1としてMS2をセットする(ステップ108)。また、入力フレームF2 を累積幾何変換係数MS2で幾何変換した後、出力フレーム用メモリに幾何変換後のフレームをレンダリングする(ステップ109)。この後、ステップ100に戻って、出力フレーム用メモリをクリアするとともに、次のフレームを読み込む。 Then, the set input frame F 2 as input frames F 1 of the previous, set the M S2 as the geometric conversion coefficient M S1 between the input frames F 1 start frame F S and the previous (step 108). Further, after the input frame F 2 is geometrically transformed with the cumulative geometric transformation coefficient M S2 , the frame after geometric transformation is rendered in the output frame memory (step 109). Thereafter, the process returns to step 100 to clear the output frame memory and read the next frame.

2フレーム間の幾何変換係数の代表的な算出方法を以下に示す(特開平11−339021号公報参照)。まず、一方のフレーム上からエッジ部などの特徴点を抽出する。次に、フレーム間で特徴点の追跡(マッチング)を行い、一方のフレーム上の特徴点に対する他方のフレーム上の対応点を求める。1組の対応点(x1,y1)・(x1’,y1’)から式(4)のように2つの方程式が得られるので、3組以上の対応点を検出することにより6つ以上の方程式を導出する。これらの方程式から、未知数の幾何変換係数を線形解法で算出する。   A typical method for calculating the geometric transformation coefficient between two frames is shown below (see Japanese Patent Application Laid-Open No. 11-339021). First, feature points such as edge portions are extracted from one frame. Next, feature points are tracked (matched) between frames, and corresponding points on the other frame with respect to feature points on one frame are obtained. Since two equations are obtained from one set of corresponding points (x1, y1) and (x1 ′, y1 ′) as shown in equation (4), six or more equations are detected by detecting three or more sets of corresponding points. Is derived. From these equations, an unknown number of geometric transformation coefficients are calculated by a linear solution.

Figure 0004286301
Figure 0004286301

従来の幾何変換係数の算出方法では、開始フレームFS と入力フレームF2 間の累積幾何変換係数を、開始フレームFS から入力フレームF2 までの間の各隣接フレーム間の幾何変換係数を累積することによって算出しているので、入力フレーム数が増加するに従い、隣接フレーム間の幾何変換係数の算出誤差が蓄積されるという問題がある。すなわち、途中フレームで幾何変換係数を大きく間違って算出した場合、その間違った変換係数で補正されたフレームを基準にそれ以降のフレームが補正されるという問題がある。 In the conventional geometric transformation coefficient calculation method, the cumulative geometric transformation coefficient between the start frame F S and the input frame F 2 is accumulated, and the geometric transformation coefficient between each adjacent frame between the start frame F S and the input frame F 2 is accumulated. As a result, the calculation error of the geometric transformation coefficient between adjacent frames accumulates as the number of input frames increases. In other words, when the geometric transformation coefficient is calculated incorrectly in the middle frame, there is a problem that the subsequent frames are corrected based on the frame corrected with the wrong transformation coefficient.

また、従来の手ぶれ補正方法では、出力フレーム用メモリの中でレンダリングされない領域が発生するという問題がある。つまり、手ぶれがある状態で撮像されたフレームが図3(a)〜(d)で示すようなフレームである場合には、それらのフレームの幾何変換後のデータを出力フレーム用メモリにレンダリングした画像は、図4(a)〜(d)で示すようになる。図4(b)〜(d)において斜線部が未レンダリング領域となる。   Further, the conventional camera shake correction method has a problem that an unrendered area occurs in the output frame memory. That is, when the frames imaged in the presence of camera shake are frames as shown in FIGS. 3A to 3D, images obtained by rendering the data after geometric transformation of these frames in the output frame memory Is as shown in FIGS. 4 (a) to 4 (d). In FIG. 4B to FIG. 4D, the shaded area is an unrendered area.

特開平11−339021号公報Japanese Patent Laid-Open No. 11-339021 特許第2892685号公報Japanese Patent No. 2892685

この発明は、手ぶれ補正後の画像が格納される出力フレーム用メモリ領域において、レンダリングされない領域が発生するのを回避することができる手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体を提供することを目的とする。   According to the present invention, there is provided a camera shake correction apparatus, a camera shake correction method, and a recording medium on which a camera shake correction program is recorded that can prevent an unrendered area from occurring in an output frame memory area in which an image after camera shake correction is stored. The purpose is to provide.

また、この発明は、手ぶれ補正後の画像が格納される出力フレーム用メモリ領域において、レンダリングされない領域が発生するのを回避し、画角を保持したまま、画質の劣化を低減することができる手ぶれ補正装置、手ぶれ補正方法および手ぶれ補正プログラムを記録した記録媒体を提供することを目的とする。   Further, the present invention avoids the occurrence of a non-rendered area in the output frame memory area in which the image after camera shake correction is stored, and can reduce the image quality deterioration while maintaining the angle of view. It is an object of the present invention to provide a correction apparatus, a camera shake correction method, and a recording medium on which a camera shake correction program is recorded.

請求項1に記載の発明は、動画像データの手ぶれ補正を行う手ぶれ補正装置において、各入力フレーム毎に、手ぶれ補正の基準とするフレームと入力フレーム間の幾何変換係数を算出する第1手段、および各入力フレーム毎に、出力フレームを生成する第2手段を備えており、第2手段は、出力フレーム用メモリをクリアする手段、入力フレームを、第1手段によって算出されたそれに対応する幾何変換係数に基づいて幾何変換する手段、入力フレームに対する幾何変換後のフレームを出力フレームメモリにレンダリングする手段、および出力フレーム用メモリ内の未レンダリング領域を、入力フレームの近傍の複数フレームによって補間する手段を備えていることを特徴とする。   According to a first aspect of the present invention, in the camera shake correction apparatus that performs camera shake correction of moving image data, first means for calculating a geometric transformation coefficient between a frame serving as a reference for camera shake correction and an input frame for each input frame; And a second means for generating an output frame for each input frame, the second means clearing the output frame memory, and the geometric transformation corresponding to the input frame calculated by the first means. Means for geometric transformation based on a coefficient, means for rendering a frame after geometric transformation for an input frame in an output frame memory, and means for interpolating an unrendered area in the output frame memory with a plurality of frames near the input frame It is characterized by having.

請求項2に記載の発明は、動画像データの手ぶれ補正を行う手ぶれ補正方法において、各入力フレーム毎に、手ぶれ補正の基準とするフレームと入力フレーム間の幾何変換係数を算出する第1ステップ、および各入力フレーム毎に、出力フレームを生成する第2ステップを備えており、第2ステップは、出力フレーム用メモリをクリアするステップ、入力フレームを、第1ステップによって算出されたそれに対応する幾何変換係数に基づいて幾何変換するステップ、入力フレームに対する幾何変換後のフレームを出力フレームメモリにレンダリングするステップ、および出力フレームメモリ内の未レンダリング領域を、入力フレームの近傍の複数フレームによって補間するステップを備えていることを特徴とする。   According to a second aspect of the present invention, in the camera shake correction method for performing camera shake correction of moving image data, a first step of calculating a geometric transformation coefficient between a frame serving as a reference for camera shake correction and the input frame for each input frame; And a second step of generating an output frame for each input frame, wherein the second step is a step of clearing the memory for the output frame, and a geometric transformation corresponding to the input frame calculated by the first step A step of performing geometric transformation based on a coefficient, a step of rendering a frame after geometric transformation for an input frame in an output frame memory, and a step of interpolating an unrendered region in the output frame memory by a plurality of frames in the vicinity of the input frame. It is characterized by.

請求項3に記載の発明は、動画像データの手ぶれ補正を行う手ぶれ補正処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、各入力フレーム毎に、手ぶれ補正の基準とするフレームと入力フレーム間の幾何変換係数を算出する第1ステップ、および各入力フレーム毎に、出力フレームを生成する第2ステップをコンピュータに実行させるための手ぶれ補正処理プログラムを記録しており、第2ステップは、出力フレーム用メモリをクリアするステップ、入力フレームを、第1ステップによって算出されたそれに対応する幾何変換係数に基づいて幾何変換するステップ、入力フレームに対する幾何変換後のフレームを出力フレームメモリにレンダリングするステップ、および出力フレームメモリ内の未レンダリング領域を、入力フレームの近傍の複数フレームによって補間するステップを備えていることを特徴とする。   According to a third aspect of the present invention, there is provided a computer-readable recording medium on which a camera shake correction processing program for performing camera shake correction of moving image data is recorded, and a frame to be used as a reference for camera shake correction and an input frame for each input frame. A camera shake correction processing program for causing a computer to execute a first step of calculating a geometric transformation coefficient between the first step and a second step of generating an output frame for each input frame. Clearing the frame memory; geometrically transforming the input frame based on the corresponding geometric transformation coefficient calculated by the first step; rendering the geometrically transformed frame for the input frame in the output frame memory; And unrendered areas in the output frame memory Characterized in that it comprises a step of interpolating the plurality of frames in the vicinity of the input frame.

この発明によれば、手ぶれ補正後の画像が格納される出力フレーム用メモリ領域において、レンダリングされない領域が発生するのを回避することができるようになる。   According to the present invention, it is possible to avoid the occurrence of a non-rendered area in the output frame memory area in which the image after camera shake correction is stored.

また、この発明によれば、手ぶれ補正後の画像が格納される出力フレーム用メモリ領域において、レンダリングされない領域が発生するのを回避し、画角を保持したまま、画質の劣化を低減することができるようになる。   In addition, according to the present invention, it is possible to avoid the occurrence of a non-rendered area in the output frame memory area in which the image after camera shake correction is stored, and to reduce image quality degradation while maintaining the angle of view. become able to.

以下、本発明の実施例について、説明する。   Examples of the present invention will be described below.

[1]手ぶれ補正装置の説明
図5は、手ぶれ補正装置の構成を示している。
[1] Description of Camera Shake Correction Device FIG. 5 shows a configuration of the camera shake correction device.

手ぶれ補正装置は、パーソナルコンピュータ(PC)10によって実現される。PC10には、ディスプレイ21、マウス22およびキーボード23が接続されている。PC10は、CPU11、メモリ12、ハードディスク13、CD−ROMのようなリムーバブルディスクのドライブ(ディスクドライブ)14を備えている。   The camera shake correction device is realized by a personal computer (PC) 10. A display 21, a mouse 22 and a keyboard 23 are connected to the PC 10. The PC 10 includes a CPU 11, a memory 12, a hard disk 13, and a removable disk drive (disk drive) 14 such as a CD-ROM.

ハードディスク13には、OS(オペレーションシステム)等の他、手ぶれ補正処理プログラムが格納されている。手ぶれ補正処理プログラムは、それが格納されたCD−ROM20を用いて、ハードディスク13にインストールされる。また、ハードディスク13にはビデオカメラなどによって撮像された動画像ファイルが予め格納されているものとする。   The hard disk 13 stores an image stabilization processing program in addition to an OS (operation system). The camera shake correction processing program is installed in the hard disk 13 using the CD-ROM 20 in which it is stored. Further, it is assumed that a moving image file captured by a video camera or the like is stored in the hard disk 13 in advance.

[2]手ぶれ補正プログラムが起動せしめられた場合にCPUによって行われる手ぶれ補正処理の説明 [2] Description of camera shake correction processing performed by the CPU when the camera shake correction program is started

手ぶれ補正処理には、幾何変換係数算出処理と出力フレーム生成処理とが含まれている。まず、幾何変換係数算出処理が行われた後に、出力フレーム生成処理が行われる。   The camera shake correction process includes a geometric transformation coefficient calculation process and an output frame generation process. First, after a geometric transformation coefficient calculation process is performed, an output frame generation process is performed.

なお、この実施例においては、出力フレーム用メモリ内の未レンダリング領域に対して補間処理を行うか否かをユーザに予め設定させるようになっている。未レンダリング領域に対して補間処理を行う設定が行われている場合には、そのことを記憶するフラグ(以下、補間処理要否判定フラグという)flagがセット(flag=1)された状態となっており、未レンダリング領域に対して補間処理を行う設定が行われてい場合には、そのことを記憶する補間処理要否判定フラグflagがリセット(flag=0)された状態となっている。   In this embodiment, the user is allowed to set in advance whether or not to perform interpolation processing on an unrendered area in the output frame memory. When the setting for performing the interpolation process is performed on the unrendered area, a flag (hereinafter referred to as an interpolation process necessity determination flag) flag for storing the flag is set (flag = 1). In the case where the setting for performing the interpolation process on the unrendered area is performed, the interpolation process necessity determination flag flag for storing this is reset (flag = 0).

手ぶれ補正処理では、手ぶれ補正を行う範囲の最初のフレーム(開始フレーム)を基準フレームとして、当該手ぶれ補正を行う範囲の他のフレームの手ぶれを補正する。なお、手ぶれ補正を行う範囲は、任意に設定することが可能である。   In the camera shake correction process, the first frame (start frame) in the range in which camera shake correction is performed is used as a reference frame, and camera shake in other frames in the range in which camera shake correction is performed is corrected. Note that the range in which camera shake correction is performed can be arbitrarily set.

図6は、幾何変換係数算出処理手順を示している。   FIG. 6 shows a geometric transformation coefficient calculation processing procedure.

手ぶれ補正を行う範囲の開始フレーム(基準フレーム)をFS 、手ぶれ補正を行う範囲内の現在の入力フレームをF2 、現在の入力フレームF2 より1つ前の入力フレームをF1 、フレームF1 ,F2 間の幾何変換係数(フレームF2 上の座標をフレームF1 上の座標に変換するための幾何変換係数)をM12、フレームFS ,F1 間の幾何変換係数をMS1、フレームFS ,F2 間の累積幾何変換係数(フレームF2 上の座標をフレームFS 上の座標に変換するための累積幾何変換係数)をMS2とする。 F S is the start frame (reference frame) of the range where camera shake correction is performed, F 2 is the current input frame within the range where camera shake correction is performed, F 1 is the input frame immediately before the current input frame F 2 , and frame F The geometric transformation coefficient between 1 and F 2 (geometric transformation coefficient for transforming the coordinates on the frame F 2 to the coordinates on the frame F 1 ) is M 12 , and the geometric transformation coefficient between the frames F S and F 1 is M S1. The cumulative geometric transformation coefficient between frames F S and F 2 (the cumulative geometric transformation coefficient for converting the coordinates on the frame F 2 to the coordinates on the frame F S ) is M S2 .

手ぶれ補正を行う範囲の開始フレームから終了フレームまでの各フレームに対して次のような処理が行われる。つまり、まず、フレームをメモリ上に読み込み、読み込んだフレーム(入力フレーム)をF2 とする(ステップ1)。 The following processing is performed on each frame from the start frame to the end frame in the range where camera shake correction is performed. That is, first, a frame is read into the memory, and the read frame (input frame) is set as F 2 (step 1).

次に、入力フレームF2 が開始フレームFS であるか否かを判別する(ステップ2)。入力フレームF2 が開始フレームFS であると判別した場合には、開始フレームFS と入力フレームF2 との間の累積幾何変換係数MS2として、次式(5)に示すような変換無しを表す係数(初期値)をセットする(ステップ3)。 Next, it is determined whether or not the input frame F 2 is the start frame F S (step 2). When it is determined that the input frame F 2 is the start frame F S , there is no conversion as shown in the following equation (5) as the cumulative geometric conversion coefficient M S2 between the start frame F S and the input frame F 2. Is set (step 3).

Figure 0004286301
Figure 0004286301

そして、1つ前の入力フレームF1 として入力フレームF2 をセットするとともに、開始フレームFS と1つ前の入力フレームF1 との間の幾何変換係数MS1としてMS2をセットする(ステップ4)。また、開始フレームFS と入力フレームF2 との間の直接的な幾何変換係数M' S2としてMS2をセットする(ステップ5)。この後、ステップ1に戻って、次のフレームが読み込まれる。 Then, the set input frame F 2 as input frames F 1 of the previous, set the M S2 as the geometric conversion coefficient M S1 between the input frames F 1 start frame F S and the previous (step 4). Further, M S2 is set as a direct geometric transformation coefficient M ′ S2 between the start frame F S and the input frame F 2 (step 5). Thereafter, the process returns to step 1 to read the next frame.

上記ステップ2において、入力フレームF2 が開始フレームFS でないと判別された場合には、前フレームF1 と現フレームF2 との間の幾何変換係数M12を算出する(ステップ6)。次に、次式(6)に示すようMS1とM12から開始フレームFS と現フレームF2 との間の累積幾何変換係数MS2を算出する(ステップ7)。 If it is determined in step 2 that the input frame F 2 is not the start frame F S , the geometric transformation coefficient M 12 between the previous frame F 1 and the current frame F 2 is calculated (step 6). Next, as shown in the following equation (6), a cumulative geometric transformation coefficient M S2 between the start frame F S and the current frame F 2 is calculated from M S1 and M 12 (step 7).

Figure 0004286301
Figure 0004286301

そして、1つ前の入力フレームF1 として入力フレームF2 をセットするとともに、開始フレームFS と1つ前の入力フレームF1 との間の幾何変換係数MS1としてMS2をセットする(ステップ8)。 Then, the set input frame F 2 as input frames F 1 of the previous, set the M S2 as the geometric conversion coefficient M S1 between the input frames F 1 start frame F S and the previous (step 8).

次に、上記ステップ7で算出された累積幾何変換係数MS2に基づいて、開始フレームFS と入力フレームF2 との間の直接的な幾何変換係数M' S2を算出する(ステップ9)。この処理の詳細については、後述する。この後、ステップ1に戻って、次のフレームが読み込まれる。このような処理を最終フレームまで繰り返し行う。 Next, a direct geometric transformation coefficient M ′ S2 between the start frame F S and the input frame F 2 is calculated based on the cumulative geometric transformation coefficient M S2 calculated in step 7 (step 9). Details of this processing will be described later. Thereafter, the process returns to step 1 to read the next frame. Such processing is repeated until the final frame.

図7は、図6のステップ9の処理の詳細な手順を示している。   FIG. 7 shows the detailed procedure of the process in step 9 of FIG.

まず、入力フレームF2 から複数の特徴点P2 を抽出する(ステップ11)。特徴点とは、隣接画素の輝度値が急激に変化する点である。そして、各特徴点毎に、ステップ12〜14の処理が行われる。 First, a plurality of feature points P 2 are extracted from the input frame F 2 (step 11). A feature point is a point where the luminance value of an adjacent pixel changes abruptly. And the process of steps 12-14 is performed for every feature point.

1つの特徴点P2 を読み込む(ステップ12)。そして、当該特徴点P2 を累積幾何変換係数MS2に基づいて開始フレームFS 上に座標変換し、その点をP’2 とする(ステップ13)。点P’2 を探索の初期値(探索開始点)として、点P2 に対応する開始フレームFS 上の特徴点を追跡し、得られた点をP”2 とする(ステップ14)。 Read one feature point P 2 (step 12). Then, the feature point P 2 is subjected to coordinate transformation on the start frame F S based on the cumulative geometric transformation coefficient M S2 , and the point is set as P ′ 2 (step 13). The feature point on the start frame F S corresponding to the point P 2 is traced using the point P ′ 2 as an initial value of search (search start point), and the obtained point is set to P ″ 2 (step 14).

ここで、特徴点の追跡は、勾配法によるオプティカルフロー推定を用いる。オプティカルフロー推定は、局所的な領域での物体の動きを前提としているため、開始フレームFS と入力フレームF2 間で大きなカメラ運動がある場合、特徴点の動きを正確に検出できない。そこで、上記のように入力フレームF2 の特徴点P2 を累積幾何変換係数MS2で座標変換したP’2 を開始フレームFS 上の追跡の初期値とすることで、開始フレームFS と入力フレームF2 間に大きなカメラ運動があっても、微小の運動であると仮定され、特徴点の動きを正確に検出できるようになる。 Here, the tracking of feature points uses optical flow estimation by a gradient method. Since the optical flow estimation is premised on the movement of an object in a local region, if there is a large camera motion between the start frame F S and the input frame F 2 , the movement of the feature point cannot be accurately detected. Therefore, by setting the initial value of tracking on the start frame F S and the P '2 coordinate transformation cumulative geometric conversion coefficient M S2 feature point P 2 of the input frame F 2 as described above, the start frame F S even if there is a large camera motion between the input frame F 2, it is assumed to be a motion of minute, so the movement of the feature point can be accurately detected.

上記ステップ12〜14の処理をステップ11で抽出した全ての特徴点に対して行い、フレーム間の全特徴点の対応付け結果を得る。前述したように、各対応点から2つの方程式を導出し、全ての方程式から、未知数6の幾何変換係数を線形解法で算出する(ステップ15)。算出した幾何変換係数をM’S2とする。 The processes in steps 12 to 14 are performed on all the feature points extracted in step 11, and the result of associating all the feature points between frames is obtained. As described above, two equations are derived from each corresponding point, and a geometric transformation coefficient of unknown 6 is calculated from all equations by a linear solution method (step 15). Let the calculated geometric transformation coefficient be M ′ S2 .

図8は、図6のステップ9の処理手順の他の例を示している。   FIG. 8 shows another example of the processing procedure of step 9 in FIG.

まず、開始フレームFS から複数の特徴点PS を抽出する(ステップ21)。特徴点とは、隣接画素の輝度値が急激に変化する点である。次に、累積幾何変換係数MS2を逆変換(逆行列化)することによって、係数MS2-invを求める(ステップ22)。以下、各特徴点毎に、ステップ23〜25の処理が行われる。 First, a plurality of feature points P S are extracted from the start frame F S (step 21). A feature point is a point where the luminance value of an adjacent pixel changes abruptly. Next, the coefficient M S2 -inv is obtained by inversely transforming the accumulated geometric transformation coefficient M S2 (inverse matrix) (step 22). Thereafter, the processing of steps 23 to 25 is performed for each feature point.

1つの特徴点PS を読み込む(ステップ23)。そして、当該特徴点PS を係数MS2-invに基づいて入力フレームF2 上に座標変換し、その点をP’s とする(ステップ24)。点P’S を探索の初期値(探索開始点)として、点PS に対応する入力フレームF2 上の特徴点を追跡し、得られた点をP”S とする(ステップ25)。 Read one feature point P S (step 23). Then, the feature point P S is coordinate-transformed on the input frame F 2 based on the coefficient M S2 -inv , and the point is set as P ′ s (step 24). Using the point P ′ S as the initial value of the search (search start point), the feature point on the input frame F 2 corresponding to the point P S is tracked, and the obtained point is set as P ″ S (step 25).

ここで、特徴点の追跡は、勾配法によるオプティカルフロー推定を用いる。オプティカルフロー推定は、局所的な領域での物体の動きを前提としているため、開始フレームFS と入力フレームF2 間で大きなカメラ運動がある場合、特徴点の動きを正確に検出できない。そこで、上記のように開始フレームFS の特徴点PS を累積幾何変換係数MS2を逆変換することによって得られる係数MS2-invで座標変換したP’S を入力フレームF2 上の追跡の初期値とすることで、開始フレームFS と入力フレームF2 間に大きなカメラ運動があっても、微小の運動であると仮定され、特徴点の動きを正確に検出できるようになる。 Here, the tracking of feature points uses optical flow estimation by a gradient method. Since the optical flow estimation is premised on the movement of an object in a local region, if there is a large camera motion between the start frame F S and the input frame F 2 , the movement of the feature point cannot be accurately detected. Accordingly, P ′ S obtained by coordinate-transforming the feature point P S of the start frame F S with the coefficient M S2-inv obtained by inversely transforming the cumulative geometric transformation coefficient M S2 as described above is tracked on the input frame F 2. By using the initial value of, even if there is a large camera movement between the start frame F S and the input frame F 2 , it is assumed that the movement is minute, and the movement of the feature point can be accurately detected.

上記ステップ23〜25の処理をステップ21で抽出した全ての特徴点に対して行い、フレーム間の全特徴点の対応付け結果を得る。前述したように、各対応点から2つの方程式を導出し、全ての方程式から、未知数6の幾何変換係数を線形解法で算出する(ステップ26)。算出した幾何変換係数をM’S2とする。 The processing in steps 23 to 25 is performed on all the feature points extracted in step 21 to obtain a result of associating all feature points between frames. As described above, two equations are derived from each corresponding point, and an unknown 6 geometric transformation coefficient is calculated from all the equations by a linear solution (step 26). Let the calculated geometric transformation coefficient be M ′ S2 .

図9は、全フレームに対する幾何変換係数をM’S2を算出した後に行われる出力フレームの生成処理手順を示している。 FIG. 9 shows an output frame generation processing procedure performed after calculating the geometric transformation coefficient M ′ S2 for all frames.

上記図6の幾何変換係数算出処理によって算出された、開始フレームFS と各入力フレームF2 との間の直接的な幾何変換係数M' S2をM' Si(i=1,2,…)で表すことにする。 The direct geometric transformation coefficient M ′ S2 between the start frame F S and each input frame F 2 calculated by the geometric transformation coefficient calculation processing of FIG. 6 is expressed as M ′ Si (i = 1, 2,...). It will be expressed as

開始フレームから終了フレームまでの各フレームに対して次のような処理が行われる。つまり、まず、出力フレーム用メモリをクリアする(ステップ31)。この後、対象フレームFi をメモリに読み込む(ステップ32)。次に、対象フレームFi に対応する幾何変換係数M’Siを読み込む(ステップ33)。次に、対象フレームFi をそれに対応する幾何変換係数M’Siで幾何変換したフレームF’i を生成し(ステップ34)、幾何変換後のフレームF’i を出力フレーム用メモリにレンダリングする(ステップ35)。 The following processing is performed on each frame from the start frame to the end frame. That is, first, the output frame memory is cleared (step 31). Thereafter, read target frame F i in the memory (step 32). Next, the geometric transformation coefficient M ′ Si corresponding to the target frame F i is read (step 33). Next, a frame F ′ i obtained by geometric transformation of the target frame F i with the corresponding geometric transformation coefficient M ′ Si is generated (step 34), and the frame F ′ i after geometric transformation is rendered in the output frame memory (step 34). Step 35).

次に、補間処理要否判定フラグflagがセットされているか(flag=1)否かを判別する(ステップ36)。補間処理要否判定フラグflagがセットされてない場合(flag=0)には、出力フレーム用メモリの未レンダリング領域内の各画素毎の補間処理(ステップ37〜41)を行わない。したがって、上記ステップ31〜35の処理が開始フレームから終了フレームまでの各フレームに対して行われることになる。   Next, it is determined whether or not an interpolation processing necessity determination flag flag is set (flag = 1) (step 36). When the interpolation process necessity determination flag flag is not set (flag = 0), the interpolation process for each pixel in the unrendered area of the output frame memory (steps 37 to 41) is not performed. Therefore, the processes in steps 31 to 35 are performed for each frame from the start frame to the end frame.

補間処理要否判定フラグflagがセットされている場合には、出力フレーム用メモリの未レンダリング領域内の各画素毎に補間処理(ステップ37〜41)を行う。未レンダリング領域の点Pの画素に対する補間処理について説明する。   When the interpolation processing necessity determination flag flag is set, interpolation processing (steps 37 to 41) is performed for each pixel in the unrendered area of the output frame memory. An interpolation process for the pixel at the point P in the unrendered area will be described.

対象フレームFi に時間的に近い前後10フレームを近傍フレームFi-neighbors として抽出する。なお、前後に近傍フレームが10フレームもない場合は、限られた近傍フレームのみを抽出する。そして、各近傍フレームFi-neighbors 毎に、次のような処理を行う。 The 10 frames before and after the target frame F i in time are extracted as the neighboring frames F i-neighbors . If there are no 10 neighboring frames before and after, only limited neighboring frames are extracted. Then, the following processing is performed for each neighboring frame F i-neighbors .

つまり、近傍フレームFi-neighbors に対応する幾何変換係数M’Si-neighborsをメモリ上に読み込む(ステップ37)。次に、M’Si-neighborsを逆変換(逆行列化)することによって得られる係数M’Si-neighbors-invを求める(ステップ38)。ここで、M’Si-neighbors-invは、開始フレーム上の点を上記近傍フレーム上に座標変換する幾何変換係数に相当する。 That is, the geometric transformation coefficient M ′ Si-neighbors corresponding to the neighboring frame F i-neighbors is read into the memory (step 37). Next, a coefficient M ′ Si-neighbors-inv obtained by performing inverse transformation (inverse matrixing) of M ′ Si-neighbors is obtained (step 38). Here, M ′ Si-neighbors-inv corresponds to a geometric transformation coefficient for coordinate transformation of a point on the start frame onto the neighboring frame.

点PをM’Si-neighbors-invで幾何変換した点をPi-neighbors とし(ステップ39)、上記近傍フレーム上の点Pi-neighbors の輝度値を取得する(ステップ40)。取得した輝度値をVPi-neighborsとする。このような処理(ステップ37〜40)を各近傍フレームFi-neighbors に対して行う。 A point of the point P and geometric conversion in M 'Si-neighbors-inv and P i-neighbors (step 39) to obtain the luminance value of P i-neighbors points on the neighboring frames (step 40). Let the acquired luminance value be V Pi-neighbors . Such processing (steps 37 to 40) is performed on each neighboring frame F i-neighbors .

各近傍フレームFi-neighbors から得られた点Pに対応する輝度値VPi-neighborsを混合することによって、点Pの輝度値を生成する(ステップ41)。 The luminance value of the point P is generated by mixing the luminance value V Pi-neighbors corresponding to the point P obtained from each neighboring frame F i-neighbors (step 41).

なお、点PをM’Si-neighbors-invで幾何変換した点Pi-neighbors が近傍フレーム上に存在しない場合、その近傍フレームの輝度値は混合されない。補間に使用可能な近傍フレームが全くない場合、開始フレームの画素値で補間する。 Note that when the point P i-neighbors obtained by geometrically transforming the point P with M ′ Si-neighbors-inv does not exist on the neighboring frame, the luminance values of the neighboring frame are not mixed. If there is no neighboring frame that can be used for interpolation, interpolation is performed with the pixel value of the start frame.

各近傍フレームFi-neighbors から得られた点Pに対応する輝度値VPi-neighborsの混合比は、次のように決定する。 The mixing ratio of the luminance values V Pi-neighbors corresponding to the point P obtained from each neighboring frame F i-neighbors is determined as follows.

まず、図10のように、対象フレームに近い方から順に、近傍フレームに1/2n という係数Kを予め与えておく。nは補正対象フレームと近傍フレーム間のフレーム数である。 First, as shown in FIG. 10, a coefficient K of 1/2 n is given in advance to neighboring frames in order from the side closer to the target frame. n is the number of frames between the correction target frame and neighboring frames.

次に、未レンダリング領域内の点Pの補間に使用可能な近傍フレームの係数を合計する(Ktotal )。そして、その合計の逆数(1/Ktotal )を計算し、各近傍フレームの係数Kに1/Ktotal を積算する。これを、各近傍フレームの混合比とする。 Next, the coefficients of neighboring frames that can be used for interpolation of the point P in the unrendered area are summed (K total ). Then, the reciprocal of the sum (1 / K total ) is calculated, and 1 / K total is added to the coefficient K of each neighboring frame. This is the mixing ratio of each neighboring frame.

例えば、未レンダリング領域内の点Pの補間に使用可能な近傍フレームが、K=1/8の1方の近傍フレームと、K=1/2の1方の近傍フレームとである場合、これらの近傍フレームの係数の合計Ktotal は5/8となる。この合計の逆数は8/5となる。K=1/8の上記近傍フレームの混合比は(1/8)×(8/5)=1/5となり、K=1/2の上記近傍フレームの混合比は(1/2)×(8/5)=4/5となる。 For example, if the neighboring frames that can be used for the interpolation of the point P in the unrendered region are one neighboring frame with K = 1/8 and one neighboring frame with K = 1/2, The total K total of neighboring frame coefficients is 5/8. The reciprocal of this sum is 8/5. The mixing ratio of the neighboring frames with K = 1/8 is (1/8) × (8/5) = 1/5, and the mixing ratio of the neighboring frames with K = 1/2 is (1/2) × ( 8/5) = 4/5.

このようにして、補間に使用可能な近傍フレームに対する混合比を求めることにより、対象フレームと時間的に近い近傍フレームの画素値ほど大きな混合比が与えられるとともに、混合比の合計は1となる。そして、上記のような点Pに対する補間処理を、未レンダリング領域の全ての点に対して行い、出力フレームを完成させる。   In this way, by obtaining the mixture ratio with respect to neighboring frames that can be used for interpolation, the larger the mixture ratio is given to the pixel value of the neighboring frame that is temporally closer to the target frame, and the total of the mixture ratios is 1. Then, the interpolation processing for the point P as described above is performed for all the points in the unrendered area, thereby completing the output frame.

上記実施例によれば、途中フレームで幾何変換係数の算出に失敗しても、その失敗はそれ以降のフレームの補正処理に影響せず、高精度な手ぶれ補正を行えるようになる。また、手ぶれ補正後の出力フレームに撮影データ以外のデータが含まれず、入力フレーム以上の視野を確保できる。   According to the above embodiment, even if the calculation of the geometric transformation coefficient fails in the middle frame, the failure does not affect the correction processing of the subsequent frames, and the camera shake correction can be performed with high accuracy. In addition, since the output frame after camera shake correction does not include data other than shooting data, it is possible to secure a field of view that is greater than the input frame.

なお、未レンダリング領域の補間処理を行う必要がない場合には、図6のステップ1の前に出力フレーム用メモリをクリアさせるようにし、図6のステップ5においてフレームF2 をMs2で幾何変換し、幾何変換後のデータを出力フレームにレンダリングし、図6のステップ9で幾何変換係数M’S2を算出するとともにフレームF2 をM’s2で幾何変換し、幾何変換後のデータを出力フレームにレンダリングするようにしてもよい。 If it is not necessary to perform interpolation processing on the unrendered area, the output frame memory is cleared before step 1 in FIG. 6, and the frame F 2 is geometrically transformed with M s2 in step 5 in FIG. Then, the data after geometric transformation is rendered into an output frame, the geometric transformation coefficient M ′ S2 is calculated in step 9 of FIG. 6 and the frame F 2 is geometrically transformed with M ′ s2 , and the data after geometric transformation is output into the output frame. You may make it render to.

出力フレームの生成処理の変形例について説明する。   A modification of the output frame generation process will be described.

図11は、全フレームに対する幾何変換係数をM’S2を算出した後に行われる出力フレームの生成処理手順の他の例を示している。 FIG. 11 shows another example of the output frame generation processing procedure performed after calculating the geometric transformation coefficient M ′ S2 for all frames.

上記図6の幾何変換係数算出処理によって算出された、開始フレームFS と各入力フレームF2 との間の直接的な幾何変換係数M' S2をM' Si(i=1,2,…)で表すことにする。 The direct geometric transformation coefficient M ′ S2 between the start frame F S and each input frame F 2 calculated by the geometric transformation coefficient calculation processing of FIG. 6 is expressed as M ′ Si (i = 1, 2,...). It will be expressed as

開始フレームから終了フレームまでの各フレームに対して次のような処理が行われる。 つまり、まず、補間処理要否判定フラグflagがセットされているか(flag=1)否かを判別する(ステップ41)。補間処理要否判定フラグflagがセットされていない場合(flag=0)には、出力フレーム用メモリをクリアした後(ステップ42)、ステップ43に移行する。補間処理要否判定フラグflagがセットされている場合(flag=1)には、出力フレーム用メモリをクリアすることなく、ステップ43に移行する。   The following processing is performed on each frame from the start frame to the end frame. That is, first, it is determined whether or not an interpolation processing necessity determination flag flag is set (flag = 1) (step 41). When the interpolation process necessity determination flag flag is not set (flag = 0), the output frame memory is cleared (step 42), and then the process proceeds to step 43. When the interpolation process necessity determination flag flag is set (flag = 1), the process proceeds to step 43 without clearing the output frame memory.

ステップ43では、対象フレームFi をメモリに読み込む。次に、対象フレームFi に対応する幾何変換係数M’Siを読み込む(ステップ44)。次に、対象フレームFi をそれに対応する幾何変換係数M’Siで幾何変換したフレームF’i を生成し(ステップ45)、幾何変換後のフレームF’i を出力フレーム用メモリにレンダリングする(ステップ46)。上記ステップ41〜46の処理が、終了フレームまで繰り返し行われる。 In step 43, the target frame F i is read into the memory. Next, the geometric transformation coefficient M ′ Si corresponding to the target frame F i is read (step 44). Next, a frame F ′ i is generated by geometrically transforming the target frame F i with the corresponding geometric transformation coefficient M ′ Si (step 45), and the frame F ′ i after the geometric transformation is rendered in the output frame memory (step 45). Step 46). The processes in steps 41 to 46 are repeated until the end frame.

この出力フレームの生成処理においては、補間処理要否判定フラグflagがセットされている場合には、入力フレーム毎に出力フレーム用メモリはクリアされないため、出力フレーム用メモリには、過去のフレームの手ぶれ補正結果の上に、各入力フレームの手ぶれ補正結果が上書きされる。開始フレームは幾何変換されないので、開始フレームが出力フレーム用メモリにレンダリングされた後においては、少なくとも開始フレームのサイズ分の領域は、出力フレーム用メモリ上においてレンダリング済領域となる。   In this output frame generation process, when the interpolation processing necessity determination flag flag is set, the output frame memory is not cleared for each input frame. The camera shake correction result of each input frame is overwritten on the correction result. Since the start frame is not subjected to geometric transformation, after the start frame is rendered in the output frame memory, at least a region corresponding to the size of the start frame becomes a rendered region in the output frame memory.

したがって、各入力フレームの手ぶれ補正結果を出力フレーム用メモリにレンダリングしたときにおいて、当該手ぶれ補正結果がレンダリングされた領域以外の領域は、過去のフレームの手ぶれ補正結果で補間された状態となる。この手法では、出力フレームは、入力フレームと同じ視野(画角)を確保できる。入力フレーム内の周辺部に動きのある物体がない場合には、過去のフレームの手ぶれ補正結果と現フレームの手ぶれ補正結果とのつなぎ目が比較的目立つこともなく、違和感のない手ぶれ補正結果が得られる。   Therefore, when the camera shake correction result of each input frame is rendered in the output frame memory, the area other than the area where the camera shake correction result is rendered is interpolated with the camera shake correction result of the past frame. In this method, the output frame can secure the same field of view (angle of view) as the input frame. When there is no moving object in the periphery of the input frame, the joint between the image stabilization result of the previous frame and the image stabilization result of the current frame is relatively inconspicuous, and an image stabilization result with no sense of incongruity is obtained. It is done.

従来の手ぶれ補正装置の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional camera-shake correction apparatus. 従来手法による手ぶれ補正処理手順を示すフローチャートである。It is a flowchart which shows the camera-shake correction process sequence by a conventional method. 手ぶれがある状態で撮像されたフレームを示す模式図である。It is a schematic diagram which shows the flame | frame imaged in the state with camera shake. 図3の各フレームの幾何変換後のデータを出力フレーム用メモリにレンダリングした画像を示す模式図である。FIG. 4 is a schematic diagram showing an image obtained by rendering data after geometric transformation of each frame in FIG. 3 in an output frame memory. 手ぶれ補正装置の構成を示すブロック図である。It is a block diagram which shows the structure of a camera shake correction apparatus. 幾何変換係数算出処理手順を示すフローチャートである。It is a flowchart which shows the geometric transformation coefficient calculation processing procedure. 図6のステップ9の詳細な処理手順を示すフローチャートである。It is a flowchart which shows the detailed process sequence of step 9 of FIG. 図6のステップ9の処理手順の他の例を示すフローチャートである。It is a flowchart which shows the other example of the process sequence of step 9 of FIG. 出力フレームの生成処理手順を示すフローチャートである。It is a flowchart which shows the production | generation process procedure of an output frame. 近傍フレームの混合比の算出方法を説明するための模式図である。It is a schematic diagram for demonstrating the calculation method of the mixture ratio of a near frame. 出力フレームの生成処理手順の他の例を示すフローチャートである。It is a flowchart which shows the other example of the production | generation procedure of an output frame.

符号の説明Explanation of symbols

10 パーソナルコンピュータ
11 CPU
12 メモリ
13 ハードディスク
14 リムーバブルディスク
10 Personal computer 11 CPU
12 Memory 13 Hard disk 14 Removable disk

Claims (3)

動画像データの手ぶれ補正を行う手ぶれ補正装置において、
各入力フレーム毎に、手ぶれ補正の基準とするフレームと入力フレーム間の幾何変換係数を算出する第1手段、および各入力フレーム毎に、出力フレームを生成する第2手段を備えており、
第2手段は、出力フレーム用メモリをクリアする手段、入力フレームを、第1手段によって算出されたそれに対応する幾何変換係数に基づいて幾何変換する手段、入力フレームに対する幾何変換後のフレームを出力フレームメモリにレンダリングする手段、および出力フレーム用メモリ内の未レンダリング領域を、入力フレームの近傍の複数フレームによって補間する手段を備えていることを特徴とする手ぶれ補正装置。
In a camera shake correction device that performs camera shake correction of moving image data,
For each input frame, a first means for calculating a geometric transformation coefficient between the input frame and a frame used as a reference for camera shake correction, and a second means for generating an output frame for each input frame,
The second means is means for clearing the output frame memory, means for geometrically transforming the input frame based on the corresponding geometric transformation coefficient calculated by the first means, and a frame after geometric transformation for the input frame as the output frame. A camera shake correction apparatus comprising: means for rendering in a memory; and means for interpolating an unrendered area in an output frame memory with a plurality of frames in the vicinity of an input frame.
動画像データの手ぶれ補正を行う手ぶれ補正方法において、
各入力フレーム毎に、手ぶれ補正の基準とするフレームと入力フレーム間の幾何変換係数を算出する第1ステップ、および各入力フレーム毎に、出力フレームを生成する第2ステップを備えており、
第2ステップは、出力フレーム用メモリをクリアするステップ、入力フレームを、第1ステップによって算出されたそれに対応する幾何変換係数に基づいて幾何変換するステップ、入力フレームに対する幾何変換後のフレームを出力フレームメモリにレンダリングするステップ、および出力フレームメモリ内の未レンダリング領域を、入力フレームの近傍の複数フレームによって補間するステップを備えていることを特徴とする手ぶれ補正方法。
In the image stabilization method for correcting image stabilization of moving image data,
For each input frame, a first step of calculating a geometric transformation coefficient between a frame used as a reference for camera shake correction and the input frame, and a second step of generating an output frame for each input frame,
The second step is a step of clearing the output frame memory, a step of geometrically transforming the input frame based on the corresponding geometric transformation coefficient calculated in the first step, and a frame after geometric transformation with respect to the input frame as an output frame. A camera shake correction method comprising: rendering to a memory; and interpolating an unrendered region in an output frame memory with a plurality of frames in the vicinity of an input frame.
動画像データの手ぶれ補正を行う手ぶれ補正処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
各入力フレーム毎に、手ぶれ補正の基準とするフレームと入力フレーム間の幾何変換係数を算出する第1ステップ、および各入力フレーム毎に、出力フレームを生成する第2ステップをコンピュータに実行させるための手ぶれ補正処理プログラムを記録しており、
第2ステップは、出力フレーム用メモリをクリアするステップ、入力フレームを、第1ステップによって算出されたそれに対応する幾何変換係数に基づいて幾何変換するステップ、入力フレームに対する幾何変換後のフレームを出力フレームメモリにレンダリングするステップ、および出力フレームメモリ内の未レンダリング領域を、入力フレームの近傍の複数フレームによって補間するステップを備えていることを特徴とする手ぶれ補正処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
A computer-readable recording medium recording a camera shake correction processing program for performing camera shake correction of moving image data,
For causing a computer to execute a first step of calculating a geometric transformation coefficient between a frame used as a reference for camera shake correction and an input frame for each input frame, and a second step of generating an output frame for each input frame We record camera shake correction processing program,
The second step is a step of clearing the output frame memory, a step of geometrically transforming the input frame based on the corresponding geometric transformation coefficient calculated in the first step, and a frame after geometric transformation with respect to the input frame as an output frame. A computer-readable recording medium having a camera shake correction processing program recorded thereon, comprising: a step of rendering in a memory; and a step of interpolating an unrendered area in an output frame memory with a plurality of frames near the input frame .
JP2007127604A 2007-05-14 2007-05-14 Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program Expired - Fee Related JP4286301B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007127604A JP4286301B2 (en) 2007-05-14 2007-05-14 Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007127604A JP4286301B2 (en) 2007-05-14 2007-05-14 Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003328013A Division JP4017578B2 (en) 2003-09-19 2003-09-19 Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program

Publications (2)

Publication Number Publication Date
JP2007274720A JP2007274720A (en) 2007-10-18
JP4286301B2 true JP4286301B2 (en) 2009-06-24

Family

ID=38676950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007127604A Expired - Fee Related JP4286301B2 (en) 2007-05-14 2007-05-14 Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program

Country Status (1)

Country Link
JP (1) JP4286301B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4640470B2 (en) 2008-08-18 2011-03-02 ソニー株式会社 Image processing apparatus, image processing method, program, and imaging apparatus

Also Published As

Publication number Publication date
JP2007274720A (en) 2007-10-18

Similar Documents

Publication Publication Date Title
JP5906493B2 (en) Image processing apparatus, image processing method, image processing program, and recording medium
US9609181B2 (en) Image signal processor and method for synthesizing super-resolution images from non-linear distorted images
EP2640057B1 (en) Image processing device, image processing method and program
US8306121B2 (en) Method and apparatus for super-resolution of images
US7548659B2 (en) Video enhancement
US8274570B2 (en) Image processing apparatus, image processing method, hand shake blur area estimation device, hand shake blur area estimation method, and program
JP5531194B2 (en) Image processing apparatus, image processing method, and image processing program
JP2013020527A (en) Image processing device, method, and program
JP6656035B2 (en) Image processing apparatus, imaging apparatus, and control method for image processing apparatus
TWI459325B (en) Digital image processing device and processing method thereof
JP2000298300A (en) Hand shake image correcting method, recording medium, and image pickup device
JP2008091979A (en) Image quality improving device, method thereof, and image display device
JP2008217526A (en) Image processor, image processing program, and image processing method
JP2020182045A (en) Panorama video composition device, panorama video composition method, and panorama video composition program
JPWO2007074605A1 (en) Image processing method, image processing program, image processing apparatus, and imaging apparatus
JP4017578B2 (en) Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program
JP4128123B2 (en) Camera shake correction device, camera shake correction method, and computer-readable recording medium recording camera shake correction program
JP2013020528A (en) Image processing device, method, and program
JP4286301B2 (en) Camera shake correction device, camera shake correction method, and recording medium recording camera shake correction program
JP4930304B2 (en) Image processing apparatus, image processing method, program, and recording medium
JP2010232710A (en) Image processing apparatus, and image processing method
JP2006215657A (en) Method, apparatus, program and program storage medium for detecting motion vector
CN110692235B (en) Image processing apparatus, image processing program, and image processing method
JP2010109876A (en) Image shake stabilizing apparatus, imaging apparatus, and image shake stabilizing method
JP2009027437A (en) Image processor, image processing method and imaging device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090226

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090324

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees