JP2007272735A - Image processor and image processing method, program, and recording medium - Google Patents

Image processor and image processing method, program, and recording medium Download PDF

Info

Publication number
JP2007272735A
JP2007272735A JP2006099833A JP2006099833A JP2007272735A JP 2007272735 A JP2007272735 A JP 2007272735A JP 2006099833 A JP2006099833 A JP 2006099833A JP 2006099833 A JP2006099833 A JP 2006099833A JP 2007272735 A JP2007272735 A JP 2007272735A
Authority
JP
Japan
Prior art keywords
tracking
unit
presentation position
motion
image
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.)
Withdrawn
Application number
JP2006099833A
Other languages
Japanese (ja)
Inventor
Tetsujiro Kondo
哲二郎 近藤
Hiroki Tetsukawa
弘樹 鉄川
Kenji Takahashi
健治 高橋
Naoki Takeda
直己 武田
Masaki Handa
正樹 半田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006099833A priority Critical patent/JP2007272735A/en
Publication of JP2007272735A publication Critical patent/JP2007272735A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To smoothly display a tracking object even when the tracking object performs specific movement such as vertical vibration and horizontal vibration. <P>SOLUTION: Tracking results and moving vectors calculated for each frame from a tracking processing part are stored in a tracking object position memory 802 and a tracking object movement memory 801, respectively. The presentation positions to the previous frame are stored in a presentation position memory 803. A presentation position calculation part 805 calculates the presentation position of a current frame by carrying out filtering in a time direction by using weighting factors calculated by a weighting factor calculation part 804 to information as the object of filtering among the information stored in the tracking object movement memory 801, the tracking object position memory 802 and the presentation position memory 803. This invention can be applied to a television receiver for tracking and enlarging and displaying an object. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、画像処理装置および方法、プログラム、並びに記録媒体に関し、特に、追尾対象が、上下、左右振動など特定の動きをした場合に不自然になってしまう追尾の表示を、滑らかに表示させることができるようにした画像処理装置および方法、プログラム、並びに記録媒体に関する。   The present invention relates to an image processing apparatus and method, a program, and a recording medium, and in particular, smoothly displays a tracking display that becomes unnatural when a tracking target makes a specific movement such as vertical and horizontal vibrations. The present invention relates to an image processing apparatus and method, a program, and a recording medium.

動画像中でユーザが指定した対象を追尾する技術は、従来から多くあり、本出願人も先に出願した特許文献1において提案を行っている。   There have been many techniques for tracking an object designated by a user in a moving image, and the applicant has also proposed in Patent Document 1 filed earlier.

特開2005−303983号公報JP 2005-303983 A

しかしながら、従来の技術においては、追尾を行った追尾結果をそのまま表示していた。このため、追尾対象が、例えば、スキー競技における上下振動や左右振動のような動きや、加速度の異なる急な動きをした場合に、表示される画像における、特に、背景部分の動きが不自然になり、その画像を見ているユーザに、不快感を与えてしまうことがあった。   However, in the conventional technique, the tracking result obtained by tracking is displayed as it is. For this reason, for example, when the tracking target moves, such as vertical vibration or horizontal vibration in ski competitions, or sudden movements with different accelerations, the movement of the background portion is particularly unnatural in the displayed image. Therefore, the user who is viewing the image may feel uncomfortable.

本発明は、このような状況に鑑みてなされたものであり、追尾対象が、上下、左右振動など特定の動きをした場合に不自然になってしまう追尾の表示を、滑らかに表示させることができるようにするものである。   The present invention has been made in view of such a situation, and it is possible to smoothly display a tracking display that becomes unnatural when a tracking target makes a specific movement such as vertical and horizontal vibrations. It is something that can be done.

本発明の一側面の画像処理装置は、移動するオブジェクトを表示させる画像処理装置において、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾する追尾手段と、前記追尾手段により追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出する提示位置算出手段と、前記提示位置算出手段により算出された前記提示位置に基づいて表示画像を作成する表示画像作成手段と、前記表示画像作成手段により作成された前記表示画像の表示を制御する表示制御手段とを備える。   An image processing apparatus according to an aspect of the present invention includes: a tracking unit that tracks the movement of the object by estimating the movement of the object in the image in the image processing apparatus that displays the moving object; and the tracking unit. It is calculated by the presentation position calculation means for calculating the presentation position by performing filtering in the time direction on the tracked tracking result or the estimated motion corresponding to the tracking result, and the presentation position calculation means. Display image creating means for creating a display image based on the presentation position; and display control means for controlling display of the display image created by the display image creating means.

前記表示画像作成手段は、前記提示位置算出手段により算出された前記提示位置を中心としてズームされた表示画像を作成することができる。   The display image creation means can create a zoomed display image with the presentation position calculated by the presentation position calculation means as a center.

前記提示位置算出手段は、前記追尾結果に対応する動きの大きさに応じて、前記時間方向のフィルタリングに用いる係数を算出する係数算出手段を備え、前記追尾結果、または、前記追尾結果に対応する推定された動きに対して、前記係数算出手段により算出された前記係数を用いた時間方向のフィルタリングを行うことで、前記提示位置を算出することができる。   The presentation position calculation means includes coefficient calculation means for calculating a coefficient used for filtering in the time direction according to the magnitude of movement corresponding to the tracking result, and corresponds to the tracking result or the tracking result. The presentation position can be calculated by performing filtering in the time direction using the coefficient calculated by the coefficient calculation unit with respect to the estimated motion.

前記提示位置算出手段は、複数の処理単位の前記追尾結果に対応する動きの和が所定の閾値より小さいか否かを判定する判定手段を備え、前記判定手段により推定された複数の処理単位の前記追尾結果に対応する動きの和が所定の閾値より小さいと判定された場合、時間的に前の処理単位において算出された提示位置をそのまま用いて、時間的に後の処理単位の提示位置を算出する
ことができる。
The presentation position calculation unit includes a determination unit that determines whether or not a sum of movements corresponding to the tracking results of a plurality of processing units is smaller than a predetermined threshold, and the plurality of processing units estimated by the determination unit. When it is determined that the sum of movements corresponding to the tracking result is smaller than a predetermined threshold, the presentation position calculated in the previous processing unit in time is used as it is, and the presentation position in the subsequent processing unit is used as it is. Can be calculated.

本発明の一側面の画像処理方法は、移動するオブジェクトを表示させる画像処理装置の画像処理方法において、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾し、追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出し、算出された前記提示位置に基づいて表示画像を作成し、作成された前記表示画像の表示を制御するステップを含む。   An image processing method according to one aspect of the present invention is an image processing method of an image processing apparatus that displays a moving object, and the movement of the object is tracked and tracked by estimating the movement of the object in the image. For the tracking result or the estimated motion corresponding to the tracking result, time-direction filtering is performed to calculate a presentation position, and a display image is created based on the calculated presentation position. Controlling the display of the displayed image.

本発明の一側面のプログラムは、移動するオブジェクトを表示させる処理をコンピュータに行わせるプログラムであって、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾し、追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出し、算出された前記提示位置に基づいて表示画像を作成し、作成された前記表示画像の表示を制御するステップを含む。   A program according to one aspect of the present invention is a program that causes a computer to perform a process of displaying a moving object, and tracks the movement of the object by estimating the movement of the object in the image. For the tracking result or the estimated motion corresponding to the tracking result, time-direction filtering is performed to calculate a presentation position, and a display image is created based on the calculated presentation position. Controlling the display of the displayed image.

本発明の一側面の記録媒体に記録されているプログラムは、移動するオブジェクトを表示させる処理をコンピュータに行わせるプログラムであって、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾し、追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出し、算出された前記提示位置に基づいて表示画像を作成し、作成された前記表示画像の表示を制御するステップを含む。   A program recorded on a recording medium according to one aspect of the present invention is a program that causes a computer to perform a process of displaying a moving object, and the movement of the object is estimated by estimating the movement of the object in an image. , And by performing filtering in the time direction on the tracked tracking result or the estimated motion corresponding to the tracking result, the presentation position is calculated, and based on the calculated presentation position Creating a display image and controlling display of the created display image.

本発明の一側面においては、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動が追尾され、追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置が算出される。そして、算出された前記提示位置に基づいて表示画像が作成され、作成された前記表示画像の表示が制御される。   In one aspect of the present invention, the movement of the object is tracked by estimating the movement of the object in the image, and the tracking result that is tracked or the estimated movement corresponding to the tracking result is detected. The presentation position is calculated by filtering in the time direction. Then, a display image is created based on the calculated presentation position, and display of the created display image is controlled.

本発明によれば、追尾対象が上下、左右振動など特定の動きをした場合であっても、その追尾対象を滑らかに表示させることができる。   According to the present invention, even if the tracking target moves in a specific manner such as vertical and horizontal vibrations, the tracking target can be displayed smoothly.

以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. Correspondences between constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment which is described in the specification or the drawings but is not described here as an embodiment corresponding to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.

本発明の一側面の画像処理装置は、移動するオブジェクトを表示させる画像処理装置(例えば、図1のテレビジョン受像機1)において、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾する追尾手段(例えば、図3の追尾処理部41)と、前記追尾手段により追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出する提示位置算出手段(例えば、図3の提示位置算出部42)と、前記提示位置算出手段により算出された前記提示位置に基づいて表示画像を作成する表示画像作成手段(例えば、図1のズーム画像作成部24)と、前記表示画像作成手段により作成された前記表示画像の表示を制御する表示制御手段(例えば、図1の画像ディスプレイ26)とを備える。   An image processing apparatus according to one aspect of the present invention estimates the movement of an object in an image in an image processing apparatus (for example, the television receiver 1 in FIG. 1) that displays a moving object. The tracking means for tracking the movement (for example, the tracking processing unit 41 in FIG. 3) and the tracking result tracked by the tracking means or the estimated motion corresponding to the tracking result are filtered in the time direction. By performing, a presentation position calculation unit that calculates a presentation position (for example, the presentation position calculation unit 42 in FIG. 3) and a display image creation that creates a display image based on the presentation position calculated by the presentation position calculation unit Means (for example, the zoom image creating unit 24 in FIG. 1) and display control means (for example, controlling display of the display image created by the display image creating means) , And an image display 26 of FIG. 1).

前記提示位置算出手段は、前記追尾結果に対応する動きの大きさに応じて、前記時間方向のフィルタリングに用いる係数を算出する係数算出手段(例えば、図47の重み係数算出部841)を備え、前記追尾結果、または、前記追尾結果に対応する推定された動きに対して、前記係数算出手段により算出された前記係数を用いた時間方向のフィルタリングを行うことで、前記提示位置を算出することができる。   The presentation position calculation means includes coefficient calculation means (for example, a weight coefficient calculation unit 841 in FIG. 47) that calculates a coefficient used for filtering in the time direction according to the magnitude of the movement corresponding to the tracking result. Calculating the presentation position by performing filtering in the time direction using the coefficient calculated by the coefficient calculation unit for the tracking result or the estimated motion corresponding to the tracking result; it can.

前記提示位置算出手段は、複数の処理単位の前記追尾結果に対応する動きの和が所定の閾値より小さいか否かを判定する判定手段(例えば、図50の動き判定部861)を備え、前記判定手段により推定された複数の処理単位の前記追尾結果に対応する動きの和が所定の閾値より小さいと判定された場合、時間的に前の処理単位において算出された提示位置をそのまま用いて、時間的に後の処理単位の提示位置を算出する
ことができる。
The presentation position calculation means includes determination means (for example, a movement determination unit 861 in FIG. 50) for determining whether or not a sum of movements corresponding to the tracking results of a plurality of processing units is smaller than a predetermined threshold. When it is determined that the sum of movements corresponding to the tracking results of the plurality of processing units estimated by the determination unit is smaller than a predetermined threshold, the presentation position calculated in the previous processing unit in time is used as it is. The presentation position of the later processing unit can be calculated in terms of time.

本発明の一側面の画像処理方法またはプログラムは、移動するオブジェクトを表示させる画像処理装置の画像処理方法またはプログラムにおいて、画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾し(例えば、図4のステップS21)、追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出し(例えば、図4のステップS22)、算出された前記提示位置に基づいて表示画像を作成し(例えば、図2のステップS4)、作成された前記表示画像の表示を制御する(例えば、図2のステップS6)ステップを含む。   An image processing method or program according to one aspect of the present invention tracks the movement of an object by estimating the movement of the object in the image in the image processing method or program of the image processing apparatus that displays the moving object. (For example, step S21 in FIG. 4), the presentation position is calculated by performing time-direction filtering on the tracked tracking result or the estimated motion corresponding to the tracking result (for example, FIG. 4 (step S22), a display image is created based on the calculated presentation position (for example, step S4 in FIG. 2), and the display of the created display image is controlled (for example, step S6 in FIG. 2). Includes steps.

以下、図面を参照して、本発明の実施の形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明をテレビジョン受像機に適用した場合の構成例を表している。このテレビジョン受像機1は、チューナ21、画像処理部22、オブジェクト追尾部23、ズーム画像作成部24、選択部25、画像ディスプレイ26、音声処理部27、スピーカ28、制御部29、リモートコントローラ30、およびリムーバブルメディア31で構成されている。   FIG. 1 shows a configuration example when the present invention is applied to a television receiver. The television receiver 1 includes a tuner 21, an image processing unit 22, an object tracking unit 23, a zoom image creation unit 24, a selection unit 25, an image display 26, an audio processing unit 27, a speaker 28, a control unit 29, and a remote controller 30. , And a removable medium 31.

チューナ21は、RF信号を入力し、復調して画像信号と音声信号とに分離し、画像信号を画像処理部22に出力し、音声信号を音声処理部27に出力する。   The tuner 21 receives the RF signal, demodulates it and separates it into an image signal and an audio signal, outputs the image signal to the image processing unit 22, and outputs the audio signal to the audio processing unit 27.

画像処理部22は、チューナ21より入力された画像信号を復調し、オブジェクト追尾部23、ズーム画像作成部24、および選択部25に出力する。オブジェクト追尾部23は、入力画像からユーザにより指定されたオブジェクトの追尾点を追尾する処理を実行し、その追尾結果などを用いて、追尾されたオブジェクトの提示の基準とする提示位置を求め、その提示位置に関する座標情報を、ズーム画像作成部24に出力する。ズーム画像作成部24は、提示位置に基づいて、ズーム画像(すなわち、ズームした表示画像)を作成する。選択部25は、画像処理部22より供給された画像またはズーム画像作成部24より供給された画像の一方をユーザからの指示に基づいて選択し、画像ディスプレイ26に出力し、表示させる。   The image processing unit 22 demodulates the image signal input from the tuner 21 and outputs the demodulated signal to the object tracking unit 23, the zoom image creation unit 24, and the selection unit 25. The object tracking unit 23 performs a process of tracking the tracking point of the object specified by the user from the input image, and uses the tracking result to obtain a presentation position as a reference for presenting the tracked object. The coordinate information regarding the presentation position is output to the zoom image creation unit 24. The zoom image creation unit 24 creates a zoom image (that is, a zoomed display image) based on the presentation position. The selection unit 25 selects one of the image supplied from the image processing unit 22 or the image supplied from the zoom image creation unit 24 based on an instruction from the user, and outputs the selected image to the image display 26 for display.

音声処理部27は、チューナ21より入力された音声信号を復調し、スピーカ28に出力する。   The audio processing unit 27 demodulates the audio signal input from the tuner 21 and outputs it to the speaker 28.

制御部29は、例えば、マイクロコンピュータなどにより構成され、ユーザの指示に基づいて各部を制御する。リモートコントローラ30は、ユーザにより操作され、その操作に対応する信号を制御部29に出力する。リムーバブルメディア31は、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなどにより構成され、必要に応じて装着され、制御部29に、プログラム、その他各種のデータを提供する。   The control unit 29 is configured by, for example, a microcomputer and controls each unit based on a user instruction. The remote controller 30 is operated by the user and outputs a signal corresponding to the operation to the control unit 29. The removable medium 31 includes a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, and the like. The removable medium 31 is mounted as necessary, and provides the control unit 29 with a program and various other data.

次に、テレビジョン受像機1の処理について、図2のフローチャートを参照して説明する。   Next, processing of the television receiver 1 will be described with reference to the flowchart of FIG.

ステップS1において、チューナ21は、図示せぬアンテナを介して受信したRF信号から、ユーザにより指示されたチャンネルの信号を復調して、画像信号を画像処理部22に出力し、音声信号を音声処理部27に出力する。音声信号は、音声処理部27で復調された後、スピーカ28から出力される。   In step S1, the tuner 21 demodulates the signal of the channel designated by the user from the RF signal received via the antenna (not shown), outputs the image signal to the image processing unit 22, and processes the sound signal as sound processing. To the unit 27. The audio signal is demodulated by the audio processing unit 27 and then output from the speaker 28.

画像処理部22は、入力された画像信号を復調し、オブジェクト追尾部23、ズーム画像作成部24、および選択部25に出力する。   The image processing unit 22 demodulates the input image signal and outputs the demodulated image signal to the object tracking unit 23, zoom image creation unit 24, and selection unit 25.

ステップS2において、オブジェクト追尾部23は、追尾が指示されたか否かを判定し、追尾が指示されていないと判定された場合、ステップS3,S4の処理をスキップする。ステップS5において、選択部25は、画像処理部22より供給される画像信号と、ズーム画像作成部24より入力される画像信号のいずれか一方を制御部29からの制御に基づいて選択する。いまの場合、ユーザから特に指示がなされていないので、制御部29は、選択部25に画像処理部22からの画像信号を選択させる。ステップS6において画像ディスプレイ26は、選択部25により選択された画像を表示する。   In step S2, the object tracking unit 23 determines whether or not tracking is instructed. If it is determined that tracking is not instructed, the processing of steps S3 and S4 is skipped. In step S <b> 5, the selection unit 25 selects one of the image signal supplied from the image processing unit 22 and the image signal input from the zoom image creation unit 24 based on control from the control unit 29. In this case, since there is no specific instruction from the user, the control unit 29 causes the selection unit 25 to select the image signal from the image processing unit 22. In step S <b> 6, the image display 26 displays the image selected by the selection unit 25.

ステップS7において、制御部29は、ユーザの指示に基づいて画像表示処理を終了するか否かを判定する。すなわちユーザは、画像表示処理を終了するとき、リモートコントローラ30を操作して、制御部29にそれを指示する。ユーザから終了が指示されていない場合、処理はステップS1に戻り、それ以降の処理が繰り返し実行される。   In step S7, the control unit 29 determines whether or not to end the image display process based on a user instruction. That is, when ending the image display process, the user operates the remote controller 30 and instructs the control unit 29 to do so. If the user has not instructed termination, the process returns to step S1, and the subsequent processes are repeatedly executed.

以上のようにして、チューナ21により受信された信号に対応する画像をそのまま表示する通常の処理が実行される。   As described above, normal processing for displaying an image corresponding to the signal received by the tuner 21 as it is is executed.

ユーザは、画像ディスプレイ26に表示されている画像を見て追尾したいと思う画像が表示されたとき、リモートコントローラ30を操作することで、その画像を指定する。この操作がなされたとき、ステップS2において制御部29は、追尾が指示されたと判定し、オブジェクト追尾部23を制御する。オブジェクト追尾部23は、この制御に基づいて、ユーザにより指定された追尾点の追尾処理を開始する。   When an image desired to be tracked is displayed by looking at the image displayed on the image display 26, the user designates the image by operating the remote controller 30. When this operation is performed, in step S2, the control unit 29 determines that tracking is instructed, and controls the object tracking unit 23. Based on this control, the object tracking unit 23 starts tracking processing of the tracking point designated by the user.

追尾処理の詳細については、図4を参照して後述するが、この処理により、ユーザにより指定された追尾点、例えば、画像の中の追尾対象となるオブジェクト(例えば、人、動物など)の中の追尾点(目、頭の中心など)が追尾され、その追尾結果などを用いて、追尾を行ったオブジェクトを提示する際にその提示の基準となる提示位置が算出され、その提示位置を表す位置情報が、提示位置情報として、ズーム画像作成部24に出力される。   Details of the tracking process will be described later with reference to FIG. 4. By this process, the tracking point designated by the user, for example, an object to be tracked in the image (for example, a person, an animal, etc.) Tracking point (eyes, center of head, etc.) is tracked, and using the tracking result, the presentation position that is the reference for the presentation is calculated when the tracked object is presented and represents the presentation position The position information is output to the zoom image creation unit 24 as presentation position information.

ステップS4において、ズーム画像作成部24は、オブジェクト追尾部23により求められた提示位置に基づいて、ズーム画像を生成し、選択部25に出力する。すなわち、ズーム画像作成部24は、オブジェクト追尾部23により求められた提示位置を中心として、ズーム画像を生成する。   In step S <b> 4, the zoom image creation unit 24 generates a zoom image based on the presentation position obtained by the object tracking unit 23 and outputs the zoom image to the selection unit 25. That is, the zoom image creating unit 24 generates a zoom image with the presentation position obtained by the object tracking unit 23 as the center.

このズーム画像作成処理は、本出願人が先に提案しているクラス分類適応処理を利用して行うことができる。例えば、特開2002−196737公報には、予め学習して得た係数を用いて、525i信号を1080i信号に変換する処理が開示されている。この処理は、垂直方向と水平方向の両方に9/4倍に画像を拡大する処理と実質的に同様の処理である。ただし、画像ディスプレイ26は、画素数が一定であるため、ズーム画像作成部24は、例えば9/4倍の画像を作成する場合、525i信号を1080i信号に変換した後、提示位置を中心とする所定の数の画素(画像ディスプレイ26に対応する数の画素)を選択することでズーム画像を作成することができる。   This zoom image creation processing can be performed using the class classification adaptation processing previously proposed by the present applicant. For example, Japanese Patent Laid-Open No. 2002-196737 discloses a process for converting a 525i signal into a 1080i signal using a coefficient obtained by learning in advance. This process is substantially the same as the process of enlarging the image 9/4 times in both the vertical direction and the horizontal direction. However, since the image display 26 has a fixed number of pixels, the zoom image creation unit 24 converts the 525i signal into a 1080i signal and then centers the presentation position when creating a 9/4 times image, for example. A zoom image can be created by selecting a predetermined number of pixels (number of pixels corresponding to the image display 26).

この原理に基づいて、任意の倍率のズーム画像を生成することができる。   Based on this principle, a zoom image with an arbitrary magnification can be generated.

追尾が指示されている場合、ステップS5において選択部25は、ズーム画像作成部24により作成されたズーム画像を選択する。その結果、ステップS6において、画像ディスプレイ26は、ズーム画像作成部24により作成されたズーム画像を表示することになる。   If tracking is instructed, the selection unit 25 selects the zoom image created by the zoom image creation unit 24 in step S5. As a result, in step S6, the image display 26 displays the zoom image created by the zoom image creation unit 24.

以上のようにして、画像ディスプレイ26には、ユーザが指定した追尾点の追尾結果などを用いて求められる提示位置を中心とするズーム画像が表示される。なお、倍率が1に設定された場合には、提示位置を基準とした、ズームなしの表示画像が作成されて、表示される。   As described above, the image display 26 displays a zoom image centered on the presentation position obtained using the tracking result of the tracking point designated by the user. When the magnification is set to 1, a display image without zooming is created and displayed based on the presentation position.

次に、図1のオブジェクト追尾部23の詳細な構成例と、その動作について説明する。図3はオブジェクト追尾部23の機能的構成例を示すブロック図である。この例では、オブジェクト追尾部23は、追尾処理部41と提示位置算出部42により構成される。   Next, a detailed configuration example and operation of the object tracking unit 23 in FIG. 1 will be described. FIG. 3 is a block diagram illustrating a functional configuration example of the object tracking unit 23. In this example, the object tracking unit 23 includes a tracking processing unit 41 and a presentation position calculation unit 42.

追尾処理部41は、入力画像の動きを推定し、推定の結果得られた動きベクトルなどに基づいて、追尾点を算出する。そして、追尾処理部41は、算出した追尾点の位置情報などの追尾結果と、推定の結果得られた、追尾結果に対応する動きベクトルを提示位置算出部42に供給する。例えば、追尾処理部41は、特許文献1に記載の乗り換え付き点追尾方式、または、動き領域重心追尾方式などの追尾方式を用いて追尾を行う。追尾処理部41の詳細は、図5または図40を参照して後述する。   The tracking processing unit 41 estimates the motion of the input image and calculates a tracking point based on the motion vector obtained as a result of the estimation. Then, the tracking processing unit 41 supplies the tracking result such as the calculated position information of the tracking point and the motion vector corresponding to the tracking result obtained as a result of the estimation to the presentation position calculating unit 42. For example, the tracking processing unit 41 performs tracking using a tracking method such as a point tracking method with transfer described in Patent Document 1 or a tracking method such as a motion region centroid tracking method. Details of the tracking processing unit 41 will be described later with reference to FIG.

提示位置算出部42は、追尾処理部41により供給された追尾結果や動きベクトルを用いて、オブジェクトの追尾を提示する際の基準となる提示位置を算出し、算出した提示位置に関する情報を、ズーム画像作成部24、および制御部29などに出力する。   The presentation position calculation unit 42 uses the tracking result and the motion vector supplied by the tracking processing unit 41 to calculate a presentation position serving as a reference when presenting the tracking of the object, and displays information regarding the calculated presentation position as a zoom. The data is output to the image creation unit 24, the control unit 29, and the like.

次に、オブジェクト追尾部23の動作について説明する。図4は、図2のステップS3において、オブジェクト追尾部23が実行する追尾処理の詳細を説明するフローチャートである。   Next, the operation of the object tracking unit 23 will be described. FIG. 4 is a flowchart for explaining the details of the tracking process executed by the object tracking unit 23 in step S3 of FIG.

まず、ステップS21において、オブジェクト追尾部23の追尾処理部41は、ステップS2で指定された追尾点を追尾することで、追尾点を算出する追尾点算出処理を実行する。この追尾点算出処理は、図6または図41を参照して後述するが、この処理により、入力画像の動きが推定され、推定の結果得られた動きベクトルなどに基づいて、ユーザにより指定された追尾点が求められ、推定の結果得られた動きベクトルの情報や、その動きベクトルを用いて求められた追尾点の位置情報である追尾結果などが、提示位置算出部42に供給される。   First, in step S21, the tracking processing unit 41 of the object tracking unit 23 executes tracking point calculation processing for calculating a tracking point by tracking the tracking point specified in step S2. The tracking point calculation process will be described later with reference to FIG. 6 or 41. By this process, the motion of the input image is estimated and specified by the user based on the motion vector obtained as a result of the estimation. The tracking point is obtained, and the motion vector information obtained as a result of the estimation, the tracking result that is the position information of the tracking point obtained using the motion vector, and the like are supplied to the presentation position calculation unit 42.

ステップS22において、提示位置算出部42は、このステップS21で決定された追尾結果や、その動きベクトルを用いて、さらに、オブジェクトの追尾を提示する際の基準となる提示位置、すなわち、ズーム画像作成部24がズーム画像を作成するときに、その中心とする提示位置を算出する提示位置算出処理を実行する。   In step S22, the presentation position calculation unit 42 uses the tracking result determined in step S21 and its motion vector to further provide a presentation position as a reference when presenting object tracking, that is, a zoom image creation. When the unit 24 creates a zoom image, a presentation position calculation process for calculating a presentation position as the center is executed.

この提示位置算出処理の詳細は、図45を参照して後述するが、この処理により、ステップS21で各フレームから推定された複数フレーム分の動きベクトル、またはその動きベクトルを用いて求められた複数フレーム分の追尾結果に対して、時間方向のフィルタリングが行われることで、オブジェクトの追尾を提示する際の基準となる提示位置、すなわち、ズーム画像を作成する時のズームの中心となる提示位置が求められ、その情報が、ズーム画像作成部24に供給される。   The details of this presentation position calculation process will be described later with reference to FIG. 45, but by this process, a plurality of motion vectors estimated from each frame in step S21 or a plurality of motion vectors obtained using the motion vectors are obtained. Filtering in the time direction is performed on the tracking results for the frames, so that the presentation position serving as a reference when presenting the tracking of the object, that is, the presentation position serving as the zoom center when creating a zoom image is obtained. The obtained information is supplied to the zoom image creating unit 24.

そして、処理は、図2のステップS3に戻り、ステップS4では、ズーム画像作成部24により、オブジェクト追尾部23により求められた提示位置に基づいて、ズーム画像が生成され、生成されたズーム画像が、ステップS5において選択部25により選択された場合、ステップS6において、画像ディスプレイ26に表示される。   Then, the process returns to step S3 in FIG. 2, and in step S4, the zoom image creation unit 24 generates a zoom image based on the presentation position obtained by the object tracking unit 23, and the generated zoom image is displayed. If it is selected by the selection unit 25 in step S5, it is displayed on the image display 26 in step S6.

すなわち、画像ディスプレイ26には、追尾処理により求められた動きベクトルや追尾結果に対して、時間方向のフィルタリングが行われることで求められた提示位置に基づいて画像が表示される。   That is, an image is displayed on the image display 26 based on the presentation position obtained by performing time-direction filtering on the motion vector and the tracking result obtained by the tracking process.

これにより、例えば、追尾対象が上下や左右振動などの細かい動きや加速度の異なる急な動きをしたとしても、画像ディスプレイ26には、そのままの動きではなく、細かい動きや急な動きが緩和された画像が表示される。したがって、追尾点の位置をそのまま基準として表示する従来の方法により、細かい動きや急な動きがそのまま表示されていたことによりユーザが感じていた不快感を、軽減させることができる。   As a result, for example, even if the tracking target has a fine movement such as vertical and horizontal vibrations or a sudden movement with different acceleration, the image display 26 is not a movement as it is, but a fine movement or a sudden movement is alleviated. An image is displayed. Therefore, the conventional method of displaying the position of the tracking point as a reference as it is can reduce the discomfort felt by the user because the fine movement or the sudden movement is displayed as it is.

次に、図3の追尾処理部41の詳細な構成例と、その動作について説明する。図5は、乗り換え付き点追尾方式による追尾を行う追尾処理部41の機能的構成例を示すブロック図である。この例では、追尾処理部41は、テンプレートマッチング部51、動き推定部52、シーンチェンジ検出部53、背景動き推定部54、領域推定関連処理部55、乗り換え候補保持部56、追尾点決定部57、テンプレート保持部58、および制御部59により構成されている。   Next, a detailed configuration example and operation of the tracking processing unit 41 in FIG. 3 will be described. FIG. 5 is a block diagram illustrating a functional configuration example of the tracking processing unit 41 that performs tracking by the point tracking method with transfer. In this example, the tracking processing unit 41 includes a template matching unit 51, a motion estimation unit 52, a scene change detection unit 53, a background motion estimation unit 54, a region estimation related processing unit 55, a transfer candidate holding unit 56, and a tracking point determination unit 57. , A template holding unit 58 and a control unit 59.

テンプレートマッチング部51は、入力画像と、テンプレート保持部58に保持されているテンプレート画像のマッチング処理を行う。動き推定部52は、入力画像の動きを推定し、推定の結果得られた動きベクトルと、その動きベクトルの確度を、シーンチェンジ検出部53、背景動き推定部54、領域推定関連処理部55、および追尾点決定部57に出力する。シーンチェンジ検出部53は、動き推定部52より供給された確度に基づいて、シーンチェンジを検出する。   The template matching unit 51 performs a matching process between the input image and the template image held in the template holding unit 58. The motion estimation unit 52 estimates the motion of the input image, and obtains the motion vector obtained as a result of the estimation and the accuracy of the motion vector, the scene change detection unit 53, the background motion estimation unit 54, the region estimation related processing unit 55, And output to the tracking point determination unit 57. The scene change detection unit 53 detects a scene change based on the accuracy supplied from the motion estimation unit 52.

背景動き推定部54は、動き推定部52より供給された動きベクトルと確度に基づいて背景動きを推定する処理を実行し、推定結果を領域推定関連処理部55に供給する。領域推定関連処理部55は、動き推定部52より供給された動きベクトルと確度、背景動き推定部54より供給された背景動き、並びに追尾点決定部57より供給された追尾点情報に基づいて、領域推定処理を行う。また、領域推定関連処理部55は、入力された情報に基づいて乗り換え候補を生成し、乗り換え候補保持部56へ供給し、保持させる。さらに、領域推定関連処理部55は、入力画像に基づいてテンプレートを作成し、テンプレート保持部58に供給し、保持させる。   The background motion estimation unit 54 executes processing for estimating the background motion based on the motion vector and the accuracy supplied from the motion estimation unit 52, and supplies the estimation result to the region estimation related processing unit 55. The region estimation related processing unit 55 is based on the motion vector and accuracy supplied from the motion estimation unit 52, the background motion supplied from the background motion estimation unit 54, and the tracking point information supplied from the tracking point determination unit 57. Perform region estimation processing. Further, the region estimation related processing unit 55 generates a transfer candidate based on the input information, supplies the transfer candidate to the transfer candidate holding unit 56, and holds it. Further, the region estimation related processing unit 55 creates a template based on the input image, supplies the template to the template holding unit 58, and holds it.

追尾点決定部57は、動き推定部52より供給された動きベクトルと確度、並びに乗り換え候補保持部56より供給された乗り換え候補に基づいて、追尾点を決定し、決定された追尾点に関する情報を領域推定関連処理部55に出力する。   The tracking point determination unit 57 determines a tracking point based on the motion vector and accuracy supplied from the motion estimation unit 52 and the transfer candidate supplied from the transfer candidate holding unit 56, and information on the determined tracking point is obtained. The result is output to the region estimation related processing unit 55.

制御部59は、制御部29から指定された追尾点の情報に基づいて、テンプレートマッチング部51乃至テンプレート保持部58の各部を制御して、指示された追尾対象を追尾させるとともに、追尾点の画面上での位置の情報などの追尾結果と、決定された追尾点に対応する動きベクトルを、提示位置算出部42などに出力する。すなわち、追尾点決定部57により決定された追尾点に関する情報などの追尾結果と、決定された追尾点に対応する、動き推定部52からの動きベクトルが提示位置算出部42に供給される。   The control unit 59 controls each part of the template matching unit 51 to the template holding unit 58 based on the tracking point information specified by the control unit 29 to track the specified tracking target, and the tracking point screen. The tracking result such as the position information above and the motion vector corresponding to the determined tracking point are output to the presentation position calculation unit 42 and the like. That is, the tracking result such as information on the tracking point determined by the tracking point determination unit 57 and the motion vector from the motion estimation unit 52 corresponding to the determined tracking point are supplied to the presentation position calculation unit 42.

次に、図6のフローチャートを参照して、図4のステップS21の追尾点算出処理の詳細について説明する。追尾点算出処理は、図6に示されるように、基本的に通常処理と例外処理で構成される。   Next, details of the tracking point calculation processing in step S21 in FIG. 4 will be described with reference to the flowchart in FIG. The tracking point calculation process basically includes a normal process and an exception process, as shown in FIG.

すなわち、追尾処理部41は、まず、ステップS51において、通常処理を実行する。この通常処理の詳細は、図10を参照して後述するが、この処理によりユーザにより指定された追尾点を追尾する処理が実行される。ステップS51の通常処理において追尾点の乗り換えができなくなったとき、追尾処理部41は、ステップS52において、例外処理を実行する。この例外処理の詳細は、図25を参照して後述するが、この例外処理により、追尾点が画像から見えなくなったとき、テンプレートマッチングにより通常処理への復帰処理が実行される。   That is, the tracking processing unit 41 first executes normal processing in step S51. The details of this normal process will be described later with reference to FIG. 10, but a process for tracking a tracking point designated by the user is executed by this process. When the tracking point cannot be changed in the normal processing in step S51, the tracking processing unit 41 executes exception processing in step S52. Details of the exception processing will be described later with reference to FIG. 25. When the tracking point becomes invisible from the image by this exception processing, the return processing to the normal processing is executed by template matching.

例外処理によって追尾処理を継続することができなくなった(通常処理へ復帰することができなくなった)と判定された場合には処理が終了されるが、テンプレートによる復帰処理の結果、通常処理への復帰が可能と判定された場合には、処理は再びステップS51に戻る。このようにして、ステップS51の通常処理とステップS52の例外処理が、フレーム毎に順次繰り返し実行される。   If it is determined that the tracking process cannot be continued due to the exception process (cannot return to the normal process), the process is terminated. If it is determined that the return is possible, the process returns to step S51 again. In this way, the normal process in step S51 and the exception process in step S52 are sequentially repeated for each frame.

この通常処理と例外処理により、本発明においては、図7乃至図9に示されるように、追尾対象が回転したり、オクルージョンが発生したり、シーンチェンジが発生する等、追尾点が一時的に見えなくなった場合においても、追尾が可能となる。   With this normal processing and exception processing, in the present invention, as shown in FIGS. 7 to 9, the tracking point is temporarily changed such that the tracking target rotates, occlusion occurs, a scene change occurs, etc. Even when it becomes invisible, tracking is possible.

すなわち、例えば、図7に示されるように、フレームn−1には追尾対象(オブジェクト)としての人の顔104が表示されており、この人の顔104は、右目102と左目103を有している。ユーザが、このうちの、例えば右目102(正確には、その中の1つの画素)を追尾点101として指定したとする。図7の例においては、次のフレームnにおいて、人が図中左方向に移動しており、さらに次のフレームn+1においては、人の顔104が時計方向に回動している。その結果、今まで見えていた右目102が表示されなくなり、いままでの方法では、追尾ができなくなる。そこで、上述したステップS51の通常処理においては、右目102と同一の対象物としての顔104上の左目103が選択され、追尾点が左目103に乗り換えられる(設定される)。これにより追尾が可能となる。   That is, for example, as shown in FIG. 7, a human face 104 as a tracking target (object) is displayed in the frame n−1, and this human face 104 has a right eye 102 and a left eye 103. ing. It is assumed that the user designates, for example, the right eye 102 (exactly one pixel therein) as the tracking point 101. In the example of FIG. 7, in the next frame n, the person moves to the left in the figure, and in the next frame n + 1, the person's face 104 rotates clockwise. As a result, the right eye 102 that has been visible until now is not displayed, and tracking cannot be performed with the conventional method. Therefore, in the normal process of step S51 described above, the left eye 103 on the face 104 as the same object as the right eye 102 is selected, and the tracking point is switched (set) to the left eye 103. This enables tracking.

図8の表示例では、フレームn−1において、顔104の図中左側からボール121が移動してきて、次のフレームnにおいては、ボール121がちょうど顔104を覆う状態となっている。この状態において、追尾点101として指定されていた右目102を含む顔104が表示されていない。このようなオクルージョンが起きると、対象物としての顔104が表示されていないので、追尾点101に代えて追尾する乗り換え点もなくなり、以後、追尾点を追尾することが困難になる。しかし、本発明においては、追尾点101としての右目102をフレームn−1(実際には時間的にもっと前のフレーム)の画像がテンプレートとして予め保存されており、ボール121がさらに右側に移動し、フレームn+1において、追尾点101として指定された右目102が再び現れると、上述したステップS52の例外処理により、追尾点101としての右目102が再び表示されたことが確認され、右目102が再び追尾点101として追尾されることになる。   In the display example of FIG. 8, in the frame n−1, the ball 121 has moved from the left side of the face 104 in the drawing, and in the next frame n, the ball 121 has just covered the face 104. In this state, the face 104 including the right eye 102 designated as the tracking point 101 is not displayed. When such an occlusion occurs, the face 104 as the object is not displayed, so there is no transfer point to be tracked instead of the tracking point 101, and thereafter it becomes difficult to track the tracking point. However, in the present invention, the image of the frame n−1 (actually the earlier frame in time) is stored in advance as a template for the right eye 102 as the tracking point 101, and the ball 121 moves further to the right. When the right eye 102 designated as the tracking point 101 appears again in frame n + 1, it is confirmed that the right eye 102 as the tracking point 101 is displayed again by the exception processing in step S52 described above, and the right eye 102 is again tracked. The point 101 is tracked.

図9の例では、フレームn−1においては、顔104が表示されているが、次のフレームnにおいては、自動車111が人の顔を含む全体を覆い隠している。すなわち、この場合、シーンチェンジが起きたことになる。本発明では、このようにシーンチェンジが起きて追尾点101が画像から存在しなくなっても、自動車111が移動して、フレームn+1において再び右目102が表示されると、ステップS52の例外処理で、追尾点101としての右目102が再び出現したことがテンプレートに基づいて確認され、この右目102を再び追尾点101として追尾することが可能となる。   In the example of FIG. 9, the face 104 is displayed in the frame n−1, but in the next frame n, the automobile 111 covers and covers the whole including the human face. That is, in this case, a scene change has occurred. In the present invention, even if the scene change occurs and the tracking point 101 no longer exists in the image, if the automobile 111 moves and the right eye 102 is displayed again in the frame n + 1, the exception processing in step S52 It is confirmed based on the template that the right eye 102 as the tracking point 101 has appeared again, and the right eye 102 can be tracked again as the tracking point 101.

次に、図10のフローチャートを参照して、図6のステップS51の通常処理の詳細について説明する。ステップS121において、追尾点決定部57により通常処理の初期化処理が実行される。その詳細は、図11を参照して後述するが、この処理によりユーザから追尾するように指定された追尾点を基準とする領域推定範囲が指定される。この領域推定範囲は、ユーザにより指定された追尾点と同一の対象物(例えば、追尾点が人の目である場合、目と同様の動きをする剛体としての人の顔、または人の体など)に属する点の範囲を推定する際に参照する範囲である。乗り換え点は、この領域推定範囲の中の点から選択される。   Next, the details of the normal processing in step S51 in FIG. 6 will be described with reference to the flowchart in FIG. In step S121, the tracking point determination unit 57 executes initialization processing of normal processing. The details will be described later with reference to FIG. 11, but an area estimation range based on the tracking point designated to be tracked by the user is designated by this processing. This area estimation range is the same object as the tracking point specified by the user (for example, when the tracking point is a human eye, a human face as a rigid body that moves like the eye, a human body, or the like) ) Is a range to be referred to when estimating the range of points belonging to. A transfer point is selected from points in the region estimation range.

次に、ステップS122において、制御部59は、次のフレームの画像の入力を待機するように各部を制御する。ステップS123において、動き推定部52は、追尾点の動きを推定する。すなわち、ユーザにより指定された追尾点を含むフレーム(前フレーム)より時間的に後のフレーム(後フレーム)をステップS122の処理で取り込むことで、結局連続する2フレームの画像が得られたことになるので、ステップS123において、前フレームの追尾点に対応する後フレームの追尾点の位置を推定することで、追尾点の動きが推定される。   Next, in step S122, the control unit 59 controls each unit to wait for input of an image of the next frame. In step S123, the motion estimation unit 52 estimates the tracking point motion. That is, by capturing the frame (following frame) temporally after the frame including the tracking point designated by the user (previous frame) in the process of step S122, an image of two consecutive frames is eventually obtained. Therefore, in step S123, the movement of the tracking point is estimated by estimating the position of the tracking point of the subsequent frame corresponding to the tracking point of the previous frame.

なお、時間的に前とは、処理の順番(入力の順番)をいう。通常、撮像の順番に各フレームの画像が入力されるので、その場合、より時間的に前に撮像されたフレームが前フレームとなるが、時間的に後に撮像されたフレームが先に処理(入力)される場合には、時間的に後に撮像されたフレームが前フレームとなる。   Note that “preceding in time” means the processing order (input order). Normally, images of each frame are input in the order of imaging. In this case, the frame captured earlier in time becomes the previous frame, but the frame captured later in time is processed (input) first. ), The frame imaged later in time becomes the previous frame.

ステップS124において、動き推定部52は、ステップS123の処理の結果、追尾点が推定可能であったか否かを判定する。追尾点が推定可能であったか否かは、例えば、動き推定部52が生成、出力する動きベクトル(後述)の確度の値を、予め設定されている閾値と比較することで判定される。具体的には、動きベクトルの確度が閾値以上であれば推定が可能であり、閾値より小さければ推定が不可能であると判定される。すなわち、ここにおける可能性は比較的厳格に判定され、実際には推定が不可能ではなくても確度が低い場合には、不可能と判定される。これにより、より確実な追尾処理が可能となる。   In step S124, the motion estimation unit 52 determines whether the tracking point can be estimated as a result of the process in step S123. Whether or not the tracking point can be estimated is determined, for example, by comparing the accuracy value of a motion vector (described later) generated and output by the motion estimation unit 52 with a preset threshold value. Specifically, it is possible to estimate if the accuracy of the motion vector is equal to or greater than a threshold, and it is determined that estimation is impossible if the accuracy is smaller than the threshold. In other words, the possibility here is determined relatively strictly, and if the estimation is not actually impossible but the accuracy is low, it is determined as impossible. As a result, more reliable tracking processing can be performed.

なお、ステップS124では、追尾点での動き推定結果と追尾点の近傍の点での動き推定結果が、多数を占める動きと一致する場合には推定可能、一致しない場合には推定不可能と判定するようにすることも可能である。   In step S124, it is determined that the motion estimation result at the tracking point and the motion estimation result at a point near the tracking point can be estimated if they match the motions that occupy the majority, and that they cannot be estimated if they do not match. It is also possible to do so.

追尾点の動きが推定可能であると判定された場合(追尾点が同一対象物上の対応する点上に正しく設定されている確率(右目102が追尾点101として指定された場合、右目102が正しく追尾されている確率)が比較的高い場合)、ステップS125に進み、追尾点決定部57は、ステップS123の処理で得られた推定動き(動きベクトル)の分だけ追尾点をシフトする。すなわち、これにより、前フレームの追尾点の追尾後の後フレームにおける追尾の位置が決定されることになる。   When it is determined that the movement of the tracking point can be estimated (the probability that the tracking point is correctly set on the corresponding point on the same object (if the right eye 102 is designated as the tracking point 101, the right eye 102 If the probability of being correctly tracked is relatively high), the process proceeds to step S125, and the tracking point determination unit 57 shifts the tracking point by the estimated motion (motion vector) obtained in the process of step S123. In other words, this determines the tracking position in the subsequent frame after tracking the tracking point of the previous frame.

そして、決定された追尾点に関する情報(例えば、追尾点の位置情報など)が、対応する動きベクトルとともに、提示位置算出部42に出力され、図4のステップS22(後述する図45)の提示位置算出処理において用いられる。   Then, information on the determined tracking point (for example, tracking point position information) is output to the presentation position calculation unit 42 together with the corresponding motion vector, and the presentation position in step S22 of FIG. 4 (FIG. 45 to be described later). Used in the calculation process.

ステップS125の処理の後、ステップS126において、領域推定関連処理が実行される。この領域推定関連処理の詳細は、図14を参照して後述するが、この処理により、ステップS121の通常処理の初期化処理で指定された領域推定範囲が更新される。さらに、対象物体が回転するなどして、追尾点が表示されない状態になった場合に、追尾点を乗り換えるべき点としての乗り換え点としての候補(乗り換え候補)が、この状態(まだ追尾が可能な状態)において、予め抽出(作成)される。また、乗り換え候補への乗り換えもできなくなった場合、追尾は一旦中断されるが、再び追尾が可能になった(追尾点が再び出現した)ことを確認するために、テンプレートが予め作成される。   After step S125, region estimation related processing is executed in step S126. The details of the area estimation related process will be described later with reference to FIG. 14. By this process, the area estimation range designated in the initialization process of the normal process in step S121 is updated. Furthermore, if the tracking point is not displayed because the target object rotates, for example, the candidate as a switching point (transfer candidate) as a point to be switched to is the state (can still be tracked). In the state), it is extracted (created) in advance. Further, when the transfer to the transfer candidate cannot be performed, the tracking is temporarily interrupted, but a template is created in advance in order to confirm that the tracking is possible again (the tracking point appears again).

ステップS126の領域推定関連処理が終了した後、処理は再びステップS122に戻り、それ以降の処理が繰り返し実行される。   After the region estimation related process in step S126 is completed, the process returns to step S122 again, and the subsequent processes are repeatedly executed.

すなわち、ユーザから指定された追尾点の動きが推定可能である限り、ステップS122乃至ステップS126の処理がフレーム毎に繰り返し実行され、追尾が行われることになる。   That is, as long as the movement of the tracking point designated by the user can be estimated, the processing from step S122 to step S126 is repeatedly executed for each frame, and tracking is performed.

これに対して、ステップS124において、追尾点の動きが推定可能ではない(不可能である)と判定された場合、すなわち、上述したように、例えば動きベクトルの確度が閾値以下であるような場合、処理はステップS127に進む。ステップS127において、追尾点決定部57は、ステップS126の領域推定関連処理で生成された乗り換え候補が乗り換え候補保持部56に保持されているので、その中から、元の追尾点に最も近い乗り換え候補を1つ選択する。追尾点決定部57は、ステップS128で乗り換え候補が選択できたか否かを判定し、乗り換え候補が選択できた場合には、ステップS129に進み、追尾点をステップS127の処理で選択した乗り換え候補に乗り換える(変更する)。すなわち、乗り換え候補の点が新たな追尾点として設定される。その後、処理はステップS123に戻り、乗り換え候補の中から選ばれた追尾点の動きを推定する処理が実行される。   On the other hand, if it is determined in step S124 that the movement of the tracking point cannot be estimated (that is, impossible), that is, as described above, for example, the accuracy of the motion vector is equal to or less than the threshold value. The process proceeds to step S127. In step S127, the tracking point determination unit 57 holds the transfer candidate generated in the region estimation-related processing in step S126 in the transfer candidate holding unit 56, so that the transfer candidate that is closest to the original tracking point is among them. Select one. The tracking point determination unit 57 determines whether or not a transfer candidate has been selected in step S128. If a transfer candidate has been selected, the tracking point determination unit 57 proceeds to step S129 and sets the tracking point as the transfer candidate selected in the process of step S127. Change (change). That is, the transfer candidate point is set as a new tracking point. Thereafter, the process returns to step S123, and the process of estimating the movement of the tracking point selected from the transfer candidates is executed.

ステップS124において新たに設定された追尾点の動きが推定可能であるか否かが再び判定され、推定可能であれば、ステップS125において追尾点を推定動き分だけシフトする処理が行われ、ステップS126において、領域推定関連処理が実行される。その後、処理は再びステップS122に戻り、それ以降の処理が繰り返し実行される。   In step S124, it is determined again whether or not the movement of the newly set tracking point can be estimated. If it can be estimated, a process of shifting the tracking point by the estimated movement is performed in step S125, and step S126. In, the area estimation related process is executed. Thereafter, the process returns to step S122 again, and the subsequent processes are repeatedly executed.

ステップS124において、新たに設定された追尾点も推定不可能であると判定された場合には、再びステップS127に戻り、乗り換え候補の中から、元の追尾点に次に最も近い乗り換え候補が選択され、ステップS129において、その乗り換え候補が新たな追尾点とされる。その新たな追尾点について、再びステップS123以降の処理が繰り返される。   If it is determined in step S124 that the newly set tracking point cannot be estimated, the process returns to step S127, and the next transfer candidate closest to the original tracking point is selected from the transfer candidates. In step S129, the transfer candidate is set as a new tracking point. The process after step S123 is repeated again for the new tracking point.

用意されているすべての乗り換え候補を新たな追尾点としても、追尾点の動きを推定することができなかった場合には、ステップS128において、乗り換え候補が選択できなかったと判定され、この通常処理は終了される。そして、図6のステップS52の例外処理に処理が進むことになる。   Even when all the prepared transfer candidates are used as new tracking points, if the movement of the tracking point cannot be estimated, it is determined in step S128 that the transfer candidate cannot be selected, and this normal process is performed. Is terminated. Then, the process proceeds to the exception process in step S52 of FIG.

次に、図11のフローチャートを参照して、図10のステップS121の通常処理の初期化処理の詳細について説明する。   Next, the details of the initialization process of the normal process in step S121 of FIG. 10 will be described with reference to the flowchart of FIG.

ステップS141において、制御部59は、今の処理は例外処理からの復帰の処理であるのか否かを判定する。すなわち、図6のステップS52の例外処理を終了した後、再びステップS51の通常処理に戻ってきたのか否かが判定される。最初のフレームの処理においては、まだステップS52の例外処理は実行されていないので、例外処理からの復帰ではないと判定され、処理はステップS142に進む。ステップS142において、追尾点決定部57は、追尾点を、ユーザにより指定された入力画像の中の所定の点である追尾点指示の位置に設定する処理を実行する。   In step S141, the control unit 59 determines whether or not the current process is a process for returning from the exception process. That is, after the exception process in step S52 of FIG. 6 is terminated, it is determined whether or not the process has returned to the normal process in step S51. In the process of the first frame, since the exception process of step S52 has not been executed yet, it is determined that the process has not returned from the exception process, and the process proceeds to step S142. In step S142, the tracking point determination unit 57 performs a process of setting the tracking point to the position of the tracking point instruction that is a predetermined point in the input image designated by the user.

なお、ユーザによる指定がない場合、入力画像の中で、例えば、最も輝度の高い点が追尾点として設定することもできる。追尾点決定部57は、設定した追尾点の情報を領域推定関連処理部55に供給する。   In addition, when there is no designation | designated by a user, the point with the highest brightness | luminance can also be set as a tracking point in an input image, for example. The tracking point determination unit 57 supplies the set tracking point information to the region estimation related processing unit 55.

ステップS143において、領域推定関連処理部55は、ステップS142の処理で設定された追尾点の位置に基づき、領域推定範囲を設定する。この領域推定範囲は、追尾点と同じ剛体上の点を推定する際の参照範囲であり、予め追尾点と同じ剛体部分が領域推定範囲の大部分を占めるように、より具体的には、追尾点と同じ剛体部分に推定領域範囲の位置や大きさが追随するように設定することで、領域推定範囲の中で最も多数を占める動きを示す部分を追尾点と同じ剛体部分であると推定できるようにするためのものである。ステップS143では初期値として、例えば、追尾点を中心とする予め設定された一定の範囲が領域推定範囲とされる。   In step S143, the region estimation related processing unit 55 sets a region estimation range based on the position of the tracking point set in the processing of step S142. This region estimation range is a reference range when estimating a point on the same rigid body as the tracking point, and more specifically, tracking so that the same rigid body portion as the tracking point occupies most of the region estimation range in advance. By setting the position and size of the estimated area range to follow the same rigid body part as the point, the part that shows the most movement in the estimated area range can be estimated as the same rigid body part as the tracking point It is for doing so. In step S143, as a default value, for example, a predetermined range centered on the tracking point is set as the region estimation range.

その後処理は、図10のステップS122に進むことになる。   Thereafter, the processing proceeds to step S122 in FIG.

一方、ステップS141において、現在の処理が、図6のステップS52の例外処理からの復帰の処理であると判定された場合、ステップS144に進み、追尾点決定部57は、後述する図25を参照して後述する処理により、テンプレートにマッチした位置に基づき追尾点と領域推定範囲を設定する。例えば、テンプレート上の追尾点とマッチした現フレーム上の点が追尾点とされ、その点から予め設定されている一定の範囲が領域推定範囲とされる。その後、処理は図10のステップS122に進む。   On the other hand, if it is determined in step S141 that the current process is a process for returning from the exception process in step S52 of FIG. 6, the process proceeds to step S144, and the tracking point determination unit 57 refers to FIG. Then, the tracking point and the area estimation range are set based on the position matched with the template by the process described later. For example, a point on the current frame that matches the tracking point on the template is set as the tracking point, and a certain range set in advance from the point is set as the region estimation range. Thereafter, the processing proceeds to step S122 in FIG.

以上の処理を、図12を参照して説明すると次のようになる。すなわち、図11のステップS142において、例えば、図12に示されるように、フレームn−1の人の目102が追尾点101として指定されると、ステップS143において、追尾点101を含む所定の領域が領域推定範囲133として指定される。ステップS124において、領域推定範囲133の範囲内のサンプル点が次のフレームにおいて推定可能であるか否かが判定される。図12の例の場合、フレームnの次のフレームn+1においては、領域推定範囲133のうち、左目102を含む図中左側半分の領域134がボール121で隠されているため、フレームnの追尾点101の動きを、次のフレームn+1において推定することができない。そこで、このような場合においては、時間的に前のフレームn−1で乗り換え候補として予め用意されていた領域指定範囲133内(右目102を含む剛体としての顔104内)の点の中から1つの点(例えば、顔104に含まれる左目103(正確には、その中の1つの画素))が選択され、その点がフレームn+1における、追尾点とされる。   The above process will be described with reference to FIG. That is, in step S142 of FIG. 11, for example, as shown in FIG. 12, when the human eye 102 of the frame n−1 is designated as the tracking point 101, a predetermined region including the tracking point 101 is specified in step S143. Is designated as the area estimation range 133. In step S124, it is determined whether or not the sample points within the region estimation range 133 can be estimated in the next frame. In the case of the example of FIG. 12, in the frame n + 1 next to the frame n, the left half region 134 in the drawing including the left eye 102 in the region estimation range 133 is hidden by the ball 121. 101 motion cannot be estimated in the next frame n + 1. Therefore, in such a case, one of the points in the area designation range 133 (in the face 104 as a rigid body including the right eye 102) prepared in advance as a transfer candidate in the previous frame n-1 in time is selected. One point (for example, the left eye 103 included in the face 104 (exactly one pixel therein)) is selected, and that point is set as the tracking point in the frame n + 1.

領域推定関連処理部55は、図10のステップS126における領域推定関連処理を実行するために、図13に示されるような構成を有している。すなわち、領域推定関連処理部55の領域推定部161には、動き推定部52より動きベクトルと確度が入力され、背景動き推定部54より背景動きが入力され、そして追尾点決定部57より追尾点の位置情報が入力される。乗り換え候補抽出部162には、動き推定部52より動きベクトルと確度が供給される他、領域推定部161の出力が供給される。テンプレート作成部163には、入力画像が入力される他、領域推定部161の出力が入力される。   The region estimation related processing unit 55 has a configuration as shown in FIG. 13 in order to execute the region estimation related processing in step S126 of FIG. That is, the motion vector and the accuracy are input from the motion estimation unit 52, the background motion is input from the background motion estimation unit 54, and the tracking point from the tracking point determination unit 57 is input to the region estimation unit 161 of the region estimation related processing unit 55. Position information is input. In addition to the motion vector and the accuracy supplied from the motion estimation unit 52, the transfer candidate extraction unit 162 is also supplied with the output of the region estimation unit 161. In addition to the input image being input to the template creation unit 163, the output of the region estimation unit 161 is input.

領域推定部161は、入力に基づいて、追尾点を含む剛体の領域を推定し、推定結果を乗り換え候補抽出部162とテンプレート作成部163に出力する。乗り換え候補抽出部162は入力に基づき乗り換え候補を抽出し、抽出した乗り換え候補を乗り換え候補保持部56へ供給する。テンプレート作成部163は入力に基づきテンプレートを作成し、作成したテンプレートをテンプレート保持部58へ供給する。   The region estimation unit 161 estimates a rigid region including a tracking point based on the input, and outputs an estimation result to the transfer candidate extraction unit 162 and the template creation unit 163. The transfer candidate extraction unit 162 extracts transfer candidates based on the input, and supplies the extracted transfer candidates to the transfer candidate holding unit 56. The template creation unit 163 creates a template based on the input, and supplies the created template to the template holding unit 58.

図14は、領域推定関連処理部55により実行される領域推定関連処理(図10のステップS126の処理)の詳細を表している。最初にステップS161において、領域推定部161により領域推定処理が実行される。その詳細は、図15を参照して後述するが、この処理により、追尾点が属する対象と同一の対象(追尾点と同期した動きをする剛体)に属すると推定される画像上の領域の点が領域推定範囲の点として抽出される。   FIG. 14 shows details of the area estimation related process (the process of step S126 in FIG. 10) executed by the area estimation related processing unit 55. First, in step S161, region estimation processing is executed by the region estimation unit 161. The details thereof will be described later with reference to FIG. 15. By this processing, the points of the region on the image that are estimated to belong to the same object (the rigid body that moves in synchronization with the tracking point) to which the tracking point belongs. Are extracted as points of the region estimation range.

ステップS162において、乗り換え候補抽出部162により乗り換え候補抽出処理が実行される。その処理の詳細は、図20を参照して後述するが、領域推定部161により領域推定範囲として推定された範囲の点から乗り換え候補の点が抽出され、乗り換え候補保持部56に保持される。   In step S162, the transfer candidate extraction unit 162 executes a transfer candidate extraction process. Details of the processing will be described later with reference to FIG. 20, but transfer candidate points are extracted from the points in the range estimated by the region estimation unit 161 as the region estimation range, and are held in the transfer candidate holding unit 56.

ステップS163においてテンプレート作成部163によりテンプレート作成処理が実行される。その詳細は、図21を参照して後述するが、この処理によりテンプレートが作成される。   In step S163, the template creation unit 163 executes template creation processing. Details thereof will be described later with reference to FIG. 21, but a template is created by this processing.

次に、図15のフローチャートを参照して、図14のステップS161の領域推定処理の詳細について説明する。   Next, details of the region estimation processing in step S161 in FIG. 14 will be described with reference to the flowchart in FIG.

最初に、ステップS181において、領域推定部161は、追尾点と同一の対象に属すると推定される点の候補の点としてのサンプル点を決定する。   First, in step S181, the region estimation unit 161 determines a sample point as a candidate point of a point estimated to belong to the same target as the tracking point.

このサンプル点は、例えば図16に示されるように、図中、白い四角形で示されるフレームの全画面における画素のうち、固定された基準点201を基準として、水平方向および垂直方向に、所定の画素数ずつ離れた位置の画素をサンプル点(図中、黒い四角形で表されている)とすることができる。図16の例においては、各フレームの左上の画素が基準点201とされ(図中基準点201は×印で示されている)、水平方向に5個、並びに垂直方向に5個ずつ離れた位置の画素がサンプル点とされる。すなわち、この例の場合、全画面中に分散した位置の画素がサンプル点とされる。また、この例の場合、基準点は、各フレームn,n+1において固定された同一の位置の点とされる。   For example, as shown in FIG. 16, the sample points are predetermined in the horizontal direction and the vertical direction with reference to the fixed reference point 201 among the pixels in the entire screen of the frame indicated by the white square in the figure. Pixels at positions separated by the number of pixels can be used as sample points (represented by black squares in the figure). In the example of FIG. 16, the upper left pixel of each frame is set as a reference point 201 (the reference point 201 is indicated by a cross in the figure), and is separated by 5 in the horizontal direction and 5 in the vertical direction. The pixel at the position is taken as the sample point. That is, in the case of this example, pixels at positions dispersed throughout the entire screen are taken as sample points. In this example, the reference point is a point at the same position fixed in each frame n, n + 1.

なお、基準点201は、各フレームn,n+1毎に異なる位置の点となるように、動的に変化させることもできる。   Note that the reference point 201 can be dynamically changed so as to be a point at a different position for each of the frames n and n + 1.

また、図16の例においては、サンプル点の間隔が各フレームにおいて固定された値とされているが、フレーム毎にサンプル点の間隔を、例えば、フレームnにおいては5画素、フレームn+1においては8画素と可変とすることもできる。このときの間隔の基準としては、追尾点と同一の対象に属すると推定される領域の面積を用いることができる。具体的には、領域推定範囲の面積が狭くなれば間隔も短くなる。   In the example of FIG. 16, the interval between sample points is a fixed value in each frame, but the interval between sample points for each frame is, for example, 5 pixels in frame n and 8 in frame n + 1. It can also be variable with the pixel. As an interval reference at this time, an area of a region estimated to belong to the same object as the tracking point can be used. Specifically, if the area of the region estimation range is narrowed, the interval is also shortened.

あるいはまた、1つのフレーム内においてサンプル点の間隔を可変とすることもできる。このときの間隔の基準としては、追尾点からの距離を用いることができる。すなわち、追尾点に近いサンプル点ほど間隔が小さく、追尾点から遠くなるほど間隔が大きくなる。   Alternatively, the interval between sample points can be made variable in one frame. The distance from the tracking point can be used as a reference for the interval at this time. That is, the sample point closer to the tracking point has a smaller interval, and the farther from the tracking point, the larger the interval.

以上のようにしてサンプル点が決定されると、次にステップS182において、領域推定部161は、領域推定範囲(図11のステップS143,S144の処理、または、後述する図17のステップS206,S208の処理で決定されている)内のサンプル点の動きを推定する処理を実行する。すなわち、領域推定部161は、動き推定部52より供給された動きベクトルに基づいて、領域推定範囲内のサンプル点に対応する次のフレームの対応する点を抽出する。   When the sample points are determined as described above, in step S182, the region estimation unit 161 then determines the region estimation range (steps S143 and S144 in FIG. 11 or steps S206 and S208 in FIG. 17 described later). The process of estimating the movement of the sample points within (determined in the process of (1) is executed. That is, the region estimation unit 161 extracts the corresponding point of the next frame corresponding to the sample point within the region estimation range based on the motion vector supplied from the motion estimation unit 52.

ステップS183において、領域推定部161は、ステップS182の処理で推定したサンプル点のうち、確度が予め設定されている閾値より低い動きベクトルに基づく点を対象外とする処理を実行する。この処理に必要な動きベクトルの確度は、動き推定部52より供給される。これにより、領域推定範囲内のサンプル点のうち、確度が高い動きベクトルに基づいて推定された点だけが抽出される。   In step S183, the region estimation unit 161 executes processing for excluding points based on motion vectors whose accuracy is lower than a preset threshold value from the sample points estimated in step S182. The accuracy of the motion vector necessary for this processing is supplied from the motion estimation unit 52. Thereby, only the points estimated based on the motion vector with high accuracy are extracted from the sample points within the region estimation range.

ステップS184において、領域推定部161は、領域推定範囲内の動き推定結果での全画面動きを抽出する。全画面動きとは、同一の動きに対応する領域を考え、その面積が最大となる動きのことを意味する。具体的には、各サンプル点の動きに、そのサンプル点におけるサンプル点間隔に比例する重みを付けて動きのヒストグラムを生成し、この重み付け頻度が最大となる1つの動き(1つの動きベクトル)が全画面動きとして抽出される。なお、ヒストグラムを生成する場合、例えば、動きの代表値を画素精度で準備し、画素精度で1個となる値を持つ動きについてもヒストグラムへの加算を行うようにすることもできる。   In step S184, the region estimation unit 161 extracts the full screen motion in the motion estimation result within the region estimation range. The full screen motion means a motion that takes the area corresponding to the same motion and maximizes the area. Specifically, a motion histogram is generated by assigning a weight proportional to the sample point interval at each sample point to the motion of each sample point, and one motion (one motion vector) having the maximum weighting frequency is generated. Extracted as full screen motion. When generating a histogram, for example, a representative value of motion can be prepared with pixel accuracy, and a motion having a value with one pixel accuracy can be added to the histogram.

ステップS185において、領域推定部161は、全画面動きを持つ領域推定範囲内のサンプル点を領域推定の結果として抽出する。この場合における全画面動きを持つサンプル点としては、全画面動きと同一の動きを持つサンプル点はもちろんのこと、全画面動きとの動きの差が予め設定されている所定の閾値以下である場合には、そのサンプル点もここにおける全画面動きを持つサンプル点とすることも可能である。   In step S185, the region estimation unit 161 extracts sample points within the region estimation range having the full screen motion as a result of region estimation. In this case, the sample points having the full screen motion include not only the sample points having the same motion as the full screen motion but also the difference in motion from the full screen motion is equal to or less than a predetermined threshold value set in advance. The sample point can also be a sample point having full screen motion here.

このようにして、ステップS143,S144,S206,S208の処理で決定された領域推定範囲内のサンプル点のうち、全画面動きを有するサンプル点が、追尾点と同一対象に属すると推定される点として最終的に抽出(生成)される。   In this way, among the sample points within the area estimation range determined by the processing of steps S143, S144, S206, and S208, the sample point having the full screen motion is estimated to belong to the same target as the tracking point. Is finally extracted (generated).

次に、ステップS186において、領域推定部161は、領域推定範囲の更新処理を実行する。その後、処理は、図10のステップS122に進む。   Next, in step S186, the region estimation unit 161 executes a region estimation range update process. Thereafter, the processing proceeds to step S122 in FIG.

図17は、図15のステップS186の領域推定範囲の更新処理の詳細を表している。ステップS201において、領域推定部161は、領域の重心を算出する。この領域とは、図15のステップS185の処理で抽出されたサンプル点で構成される領域(追尾点と同一対象に属すると推定される点で構成される領域)を意味する。すなわち、この領域には1つの動きベクトル(全画面動き)が対応している。例えば、図18Aに示されるように、図中白い四角形で示されるサンプル点のうち、領域推定範囲221内のサンプル点の中から、図15のステップS185の処理で全画面動きを持つサンプル点として、図18Aにおいて黒い四角形で示されるサンプル点が抽出され、そのサンプル点で構成される領域が、領域222として抽出(推定)される。そして、領域222の重心224がさらに算出される。具体的には、各サンプル点にサンプル点間隔の重みを付けたサンプル点重心が領域の重心として求められる。この処理は、現フレームにおける領域の位置を求めるという意味を有する。   FIG. 17 shows details of the region estimation range update processing in step S186 of FIG. In step S201, the region estimation unit 161 calculates the center of gravity of the region. This region means a region composed of sample points extracted in the process of step S185 in FIG. 15 (region composed of points estimated to belong to the same target as the tracking point). That is, one motion vector (full screen motion) corresponds to this area. For example, as shown in FIG. 18A, among sample points indicated by white squares in the drawing, sample points having full-screen motion in the process of step S185 in FIG. In FIG. 18A, sample points indicated by black squares are extracted, and an area constituted by the sample points is extracted (estimated) as an area 222. Then, the center of gravity 224 of the region 222 is further calculated. Specifically, the sample point centroid obtained by assigning the weight of the sample point interval to each sample point is obtained as the centroid of the region. This process has the meaning of obtaining the position of the region in the current frame.

次にステップS202において、領域推定部161は、領域の重心を全画面動きによりシフトする処理を実行する。この処理は、領域推定範囲221を領域の位置の動きに追従させ、次フレームにおける推定位置に移動させるという意味を有する。図18Bに示されるように、現フレームにおける追尾点223が、その動きベクトル238に基づいて次フレームにおいて追尾点233として出現する場合、全画面動きベクトル230が、追尾点の動きベクトル238にほぼ対応しているので、現フレームにおける重心224を動きベクトル230(全画面動き)に基づいてシフトすることで、追尾点233と同一のフレーム(次フレーム)上の点234が求められる。この点234を中心として領域推定範囲231を設定すれば、領域推定範囲221を領域222の位置の動きに追従させて、次のフレームにおける推定位置に移動させることになる。   Next, in step S202, the region estimation unit 161 executes a process of shifting the center of gravity of the region by full screen motion. This process has the meaning of causing the area estimation range 221 to follow the movement of the position of the area and to move to the estimated position in the next frame. As shown in FIG. 18B, when the tracking point 223 in the current frame appears as the tracking point 233 in the next frame based on the motion vector 238, the full-screen motion vector 230 substantially corresponds to the tracking point motion vector 238. Therefore, the point 234 on the same frame (next frame) as the tracking point 233 is obtained by shifting the center of gravity 224 in the current frame based on the motion vector 230 (full screen motion). If the area estimation range 231 is set around the point 234, the area estimation range 221 is moved to the estimated position in the next frame by following the movement of the position of the area 222.

ステップS203において、領域推定部161は、領域推定結果に基づき、次の領域推定範囲の大きさを決定する。具体的には、領域と推定された全てのサンプル点に関するサンプル点の間隔(図18Aにおける領域222の中の黒い四角形で示される点の間隔)の2乗和を領域222の面積と見なし、この面積よりも少し大きめの大きさとなるように、次フレームにおける領域推定範囲231の大きさが決定される。すなわち、領域推定範囲231の大きさは、領域222の中のサンプル点の数が多ければ広くなり、少なければ狭くなる。このようにすることで、領域222の拡大縮小に追従することができるばかりでなく、領域推定範囲221内の全画面領域が追尾対象の周辺領域となるのを防ぐことができる。   In step S203, the region estimation unit 161 determines the size of the next region estimation range based on the region estimation result. Specifically, the sum of squares of sample point intervals (intervals of points indicated by black squares in the region 222 in FIG. 18A) for all sample points estimated as the region is regarded as the area of the region 222. The size of the region estimation range 231 in the next frame is determined so that the size is slightly larger than the area. That is, the size of the region estimation range 231 increases when the number of sample points in the region 222 is large and decreases when the number of sample points is small. In this way, not only can the enlargement / reduction of the area 222 be followed, but also the entire screen area within the area estimation range 221 can be prevented from becoming a peripheral area to be tracked.

図15のステップS184で抽出された全画面動きが、背景動きと一致する場合には、動きにより背景と追尾対象を区別することができない。そこで、背景動き推定部54は背景動き推定処理を常に行っており、ステップS204において、領域推定部161は、背景動き推定部54より供給される背景動きと、図15のステップS184の処理で抽出された全画面動きとが一致するか否かを判定する。全画面動きと背景動きが一致する場合には、ステップS205において、領域推定部161は、次の領域推定範囲の大きさを、今の領域推定範囲の大きさが最大となるように制限する。これにより、背景が追尾対象として誤認識され、領域推定範囲の大きさが拡大してしまうようなことが抑制される。   When the full screen motion extracted in step S184 in FIG. 15 matches the background motion, the background and the tracking target cannot be distinguished by the motion. Therefore, the background motion estimation unit 54 always performs background motion estimation processing. In step S204, the region estimation unit 161 extracts the background motion supplied from the background motion estimation unit 54 and the processing in step S184 of FIG. It is determined whether or not the full screen motion matches. If the full screen motion matches the background motion, in step S205, the region estimation unit 161 limits the size of the next region estimation range so that the current region estimation range is maximized. Thereby, it is suppressed that the background is erroneously recognized as the tracking target and the size of the area estimation range is enlarged.

ステップS204において、全画面動きと背景動きが一致しないと判定された場合には、ステップS205の処理は必要がないのでスキップされる。   If it is determined in step S204 that the full screen motion and the background motion do not match, the processing in step S205 is not necessary and is skipped.

次に、ステップS206において、領域推定部161は、シフト後の領域重心を中心として次の領域推定範囲の大きさを決定する。これにより、領域推定範囲が、その重心が既に求めたシフト後の領域重心と一致し、かつ、その大きさが領域の広さに比例するように決定される。   Next, in step S <b> 206, the region estimation unit 161 determines the size of the next region estimation range around the shifted region center of gravity. As a result, the area estimation range is determined such that the center of gravity coincides with the already obtained area centroid after the shift, and the size thereof is proportional to the area width.

図18Bの例では、領域推定範囲231が、動きベクトル(全画面動き)230に基づくシフト後の重心234を中心として、領域222の面積に応じた広さに決定されている。   In the example of FIG. 18B, the area estimation range 231 is determined to have a size corresponding to the area of the area 222 with the shifted center of gravity 234 based on the motion vector (full screen motion) 230 as the center.

領域推定範囲231内での全画面動きを有する領域が追尾対象(例えば、図12の顔104)の領域であることを担保する(確実にする)必要がある。そこで、ステップS207において、領域推定部161は、追尾点が次の領域推定範囲に含まれるか否かを判定し、含まれていない場合には、ステップS208において、追尾点を含むように次の領域推定範囲をシフトする処理を実行する。追尾点が次の領域推定範囲に含まれている場合には、ステップS208の処理は必要がないのでスキップされる。   It is necessary to ensure (ensure) that the region having the full screen motion within the region estimation range 231 is the region of the tracking target (for example, the face 104 in FIG. 12). Therefore, in step S207, the region estimation unit 161 determines whether or not the tracking point is included in the next region estimation range. If the tracking point is not included, in step S208, the region estimation unit 161 determines that the tracking point is included in the next region estimation range. A process for shifting the region estimation range is executed. If the tracking point is included in the next area estimation range, the process of step S208 is not necessary and is skipped.

この場合における具体的なシフトの方法としては、移動距離が最小となるようにする方法、シフト前の領域推定範囲の重心から追尾点に向かうベクトルに沿って追尾点が含まれるようになる最小距離だけ移動する方法などが考えられる。   As a specific method of shifting in this case, a method of minimizing the moving distance, a minimum distance at which the tracking point is included along a vector from the center of gravity of the region estimation range before the shift to the tracking point A way to move only is considered.

なお、追尾のロバスト性を重視するために、領域に追尾点を含むようにするためのシフトを行わない方法も考えられる。   In order to emphasize the robustness of tracking, a method of not performing a shift to include a tracking point in the region is also conceivable.

図18Cの例においては、領域推定範囲231が追尾点233を含んでいないので、領域推定範囲241として示される位置(追尾点233をその左上に含む位置)に領域推定範囲241がシフトされる。   In the example of FIG. 18C, since the region estimation range 231 does not include the tracking point 233, the region estimation range 241 is shifted to a position indicated as the region estimation range 241 (a position including the tracking point 233 at the upper left).

図18A乃至図18Cは、ステップS208のシフト処理が必要な場合を示しているが、図19A乃至図19Cは、ステップS208のシフト処理が必要でない場合(ステップS207において追尾点が次の領域推定範囲に含まれると判定された場合)の例を表している。   18A to 18C show the case where the shift process of step S208 is necessary, but FIGS. 19A to 19C show the case where the shift process of step S208 is not necessary (the tracking point is the next region estimation range in step S207). Example).

図19A乃至図19Cに示されるように、領域推定範囲221内のすべてのサンプル点が領域の点である場合には、図17のステップS208のシフト処理が必要なくなることになる。   As shown in FIGS. 19A to 19C, when all the sample points in the area estimation range 221 are area points, the shift process in step S208 in FIG. 17 is not necessary.

図18A乃至図18Cと図19A乃至図19Cは、領域推定範囲が矩形である例を示したが、領域推定範囲は円形とすることも可能である。   18A to 18C and FIGS. 19A to 19C show an example in which the area estimation range is rectangular, but the area estimation range may be circular.

以上のようにして、図17(図15のステップS186)の領域推定範囲の更新処理により、次フレームのための領域推定範囲の位置と大きさが追尾点を含むように決定される。   As described above, the area estimation range update process in FIG. 17 (step S186 in FIG. 15) determines the position and size of the area estimation range for the next frame to include the tracking point.

図17の領域推定範囲の更新処理においては、領域推定範囲を矩形(または円形)の固定形状としたが、可変形状とすることも可能である。   In the update process of the area estimation range in FIG. 17, the area estimation range is a rectangular (or circular) fixed shape, but may be a variable shape.

次に図14のステップS162における乗り換え候補抽出処理について、図20のフローチャートを参照して説明する。   Next, the transfer candidate extraction process in step S162 of FIG. 14 will be described with reference to the flowchart of FIG.

ステップS261において、乗り換え候補抽出部162は、全画面動きの領域と推定されたすべての点につき、それぞれに対応する推定動きでの点のシフト結果を乗り換え候補として保持する。すなわち、領域推定結果として得られた点をそのまま用いるのではなく、それらを次のフレームでの使用のために、それぞれの動き推定結果に基づきシフトされた結果を抽出する処理が行われ、その抽出された乗り換え候補が、乗り換え候保持部56に供給され、保持される。   In step S261, the transfer candidate extraction unit 162 holds, as transfer candidates, the point shift results of the estimated motion corresponding to each of the points estimated as the full screen motion region. That is, instead of using the points obtained as region estimation results as they are, a process for extracting the results shifted based on the respective motion estimation results is performed for use in the next frame. The changed transfer candidates are supplied to and held in the transfer candidate holding unit 56.

この処理を、図12を参照して説明すると、次のようになる。すなわち、図12の例において、フレームn−1,nでは追尾点101が存在するが、フレームn+1においては、図中左側から飛んできたボール121により隠されてしまい、追尾点101が存在しない。そこでフレームn+1において、追尾点を追尾対象としての顔104上の他の点(例えば、左目103(実際には右目102にもっと近接した点))に乗り換える必要が生じる。そこで、乗り換えが実際に必要になる前のフレームで、乗り換え候補を予め用意しておくのである。   This process will be described with reference to FIG. That is, in the example of FIG. 12, the tracking point 101 exists in the frames n−1 and n, but in the frame n + 1, it is hidden by the ball 121 flying from the left side in the drawing, and the tracking point 101 does not exist. Therefore, in frame n + 1, it is necessary to change the tracking point to another point on the face 104 as a tracking target (for example, the left eye 103 (actually closer to the right eye 102)). Therefore, a transfer candidate is prepared in advance in a frame before transfer is actually required.

具体的には、図12の例の場合、フレームnからフレームn+1への領域推定範囲133内での動き推定結果は、領域推定範囲133において乗り換えが必要なことから、正しく推定できない確率が高いことが予想される。すなわち、図12の例では、乗り換えが追尾点と、それと同一の対象物の一部が隠れることに起因して起きる。その結果、フレームnでの領域推定範囲133のうち、フレームn+1で対象が隠れる部分(図12において影を付した部分)134については、動きが正しく推定されず、動きの確度が低いことが推定されるか、または確度が低くないと推定され、かつ、動き推定結果としては意味のないものが得られることになる。   Specifically, in the case of the example in FIG. 12, the motion estimation result in the region estimation range 133 from frame n to frame n + 1 needs to be changed in the region estimation range 133, so that there is a high probability that it cannot be estimated correctly. Is expected. That is, in the example of FIG. 12, the transfer occurs because the tracking point and a part of the same object are hidden. As a result, in the region estimation range 133 in the frame n, regarding the portion 134 where the target is hidden in the frame n + 1 (the shaded portion in FIG. 12) 134, the motion is not estimated correctly, and it is estimated that the accuracy of the motion is low. It is estimated that the accuracy is not low and a motion estimation result is meaningless.

このような場合には、領域推定の際に用いることが可能な動き推定結果が減少する、あるいは誤った動き推定結果が混入するなどの理由で、領域推定が誤る可能性が高まる。一方、このような可能性は、一般的に、より時間的に前のフレームn−1からフレームnの間での領域推定においては、フレームnからフレームn+1での間での推定に比較して低くなることが予想される。   In such a case, there is a high possibility that the region estimation is erroneous due to a decrease in motion estimation results that can be used in region estimation or a mixture of erroneous motion estimation results. On the other hand, such a possibility is generally greater in the region estimation between the previous frame n−1 and the frame n in comparison with the estimation between the frame n and the frame n + 1. Expected to be lower.

そこで、リスク低減のため、領域推定結果をそのまま用いるのではなく、前のフレームn−1(あるいは、時間的にもっと前のフレーム)で求めた領域推定結果を、その次のフレームでの移動先の乗り換え候補として用いるのが性能向上の上で望ましい。   Therefore, in order to reduce the risk, the region estimation result is not used as it is, but the region estimation result obtained in the previous frame n-1 (or a frame earlier in time) is used as the movement destination in the next frame. It is desirable to use as a transfer candidate for improving the performance.

ただし、領域推定結果をそのまま用いることも可能である。   However, the region estimation result can be used as it is.

図21は、図14のステップS163におけるテンプレート作成処理の詳細を表している。ステップS281においてテンプレート作成部163は、領域(全画面動きの領域)と推定されたすべての点につき、それぞれに対応する小領域を決定する。図22の例においては、領域の点321に対応して小領域322が決定されている。   FIG. 21 shows details of the template creation processing in step S163 of FIG. In step S <b> 281, the template creation unit 163 determines a small region corresponding to each of the points estimated as the region (region of full screen motion). In the example of FIG. 22, the small area 322 is determined corresponding to the area point 321.

ステップS282において、テンプレート作成部163は、ステップS281の処理で決定された小領域の和の領域をテンプレート範囲に設定する。図22の例においては、小領域322の和の領域がテンプレート範囲331とされている。   In step S282, the template creation unit 163 sets the area of the sum of the small areas determined in the process of step S281 as the template range. In the example of FIG. 22, the sum area of the small areas 322 is a template range 331.

次にステップS283において、テンプレート作成部163は、ステップS282において設定したテンプレート範囲の情報と画像情報からテンプレートを作成し、テンプレート保持部58に供給し、保持させる。具体的には、テンプレート範囲331内の画素データがテンプレートとされる。   In step S283, the template creation unit 163 creates a template from the template range information and image information set in step S282, supplies the template to the template holding unit 58, and holds the template. Specifically, pixel data in the template range 331 is used as a template.

図23は、領域の点321に対応する小領域341が、図22における小領域322に較べてより大きな面積とされている。その結果、小領域341の和の領域のテンプレート範囲351も、図22のテンプレート範囲331に較べてより広くなっている。   In FIG. 23, the small area 341 corresponding to the area point 321 has a larger area than the small area 322 in FIG. As a result, the template range 351 of the sum area of the small areas 341 is also wider than the template range 331 of FIG.

小領域の大きさは、サンプル点の間隔に比例させることが考えられるが、その際の比例定数は、面積がサンプル点間隔の自乗になるように決めることもできるし、それより大きくまたは小さく決めることも可能である。   It is conceivable that the size of the small region is proportional to the interval between the sample points, but the proportionality constant at that time can be determined so that the area is the square of the sample point interval, or larger or smaller than that. It is also possible.

なお、領域推定結果を用いず、例えば追尾点を中心とする固定の大きさや形状の範囲をテンプレート範囲として用いることも可能である。   For example, a fixed size or shape range centered on the tracking point may be used as the template range without using the region estimation result.

図24は、テンプレートと領域推定範囲の位置関係を表している。テンプレート範囲403には、追尾点405が含まれている。テンプレート範囲403に外接する外接矩形401の図中左上の点がテンプレート基準点404とされている。テンプレート基準点404から追尾点405に向かうベクトル406、並びにテンプレート基準点404から領域推定範囲402の図中左上の基準点408に向かうベクトル407が、テンプレート範囲403の情報とされる。テンプレートは、テンプレート範囲403に含まれる画素で構成される。ベクトル406,407は、テンプレートと同じ画像が検出された際の通常処理への復帰に用いられる。   FIG. 24 shows the positional relationship between the template and the area estimation range. The template range 403 includes a tracking point 405. The upper left point of the circumscribed rectangle 401 circumscribing the template range 403 is a template reference point 404. The vector 406 from the template reference point 404 to the tracking point 405 and the vector 407 from the template reference point 404 to the upper left reference point 408 in the region estimation range 402 in the drawing are used as information of the template range 403. The template is composed of pixels included in the template range 403. The vectors 406 and 407 are used for returning to normal processing when the same image as the template is detected.

以上の処理においては、乗り換え候補の場合と異なり、範囲、画素ともに、現フレームに対応するものをテンプレートとする例を説明したが、乗り換え候補の場合と同様に、次フレームでの移動先をテンプレートとして用いることも可能である。   In the above processing, unlike the case of the transfer candidate, the example in which both the range and the pixel correspond to the current frame is used as the template. However, as in the case of the transfer candidate, the destination in the next frame is set as the template. Can also be used.

以上のようにして、追尾点を含む画素データからなるテンプレートが乗り換え候補と同様に、通常処理中に、予め作成される。   As described above, a template made up of pixel data including a tracking point is created in advance during normal processing in the same manner as a transfer candidate.

以上に説明した図6のステップS51の通常処理に続いて行われるステップS52の例外処理の詳細について、図25のフローチャートを参照して説明する。この処理は、上述したように、図10のステップS124において追尾点の動きを推定することが不可能と判定され、さらにステップS128において追尾点を乗り換える乗り換え候補が選択できなかったと判定された場合に実行されることになる。   Details of the exception processing in step S52 performed following the normal processing in step S51 of FIG. 6 described above will be described with reference to the flowchart of FIG. As described above, this process is performed when it is determined in step S124 in FIG. 10 that it is impossible to estimate the movement of the tracking point, and in step S128, it is determined that the transfer candidate for changing the tracking point cannot be selected. Will be executed.

ステップS401において、制御部59は、例外処理の初期化処理を実行する。この処理の詳細は図26のフローチャートに示されている。   In step S401, the control unit 59 executes an exception process initialization process. Details of this processing are shown in the flowchart of FIG.

ステップS421において、制御部59は、追尾点の追尾ができなくなった際(追尾点の動きを推定することが不可能かつ、追尾点を乗り換える乗り換え候補が選択できなかった際)にシーンチェンジが起きていたか否かを判定する。シーンチェンジ検出部53は、動き推定部52の推定結果に基づいてシーンチェンがあったか否かを常に監視しており、制御部59は、そのシーンチェンジ検出部53の検出結果に基づいて、ステップS421の判定を実行する。シーンチェンジ検出部53の具体的処理については、図38と図39を参照して後述する。   In step S421, the control unit 59 causes a scene change when the tracking point cannot be tracked (when the movement of the tracking point cannot be estimated and a transfer candidate for changing the tracking point cannot be selected). It is determined whether it has been. The scene change detection unit 53 constantly monitors whether or not there is a scene chain based on the estimation result of the motion estimation unit 52, and the control unit 59 performs step S421 based on the detection result of the scene change detection unit 53. Execute the judgment. Specific processing of the scene change detection unit 53 will be described later with reference to FIGS. 38 and 39.

シーンチェンジが起きている場合、追尾ができなくなった理由が、シーンチェンジが発生したことによるものと推定して、ステップS422において制御部59は、モードをシーンチェンジに設定する。これに対して、ステップS421においてシーンチェンジが発生していないと判定された場合には、制御部59は、ステップS423においてモードをその他のモードに設定する。   If a scene change has occurred, it is presumed that the reason why tracking has become impossible is due to the occurrence of a scene change, and in step S422, the control unit 59 sets the mode to scene change. In contrast, if it is determined in step S421 that no scene change has occurred, the control unit 59 sets the mode to another mode in step S423.

ステップS422またはステップS423の処理の後、ステップS424においてテンプレートマッチング部51は、時間的に最も古いテンプレートを選択する処理を実行する。具体的には、図27に示されるように、例えばフレームnからフレームn+1に移行するとき、例外処理が実行されるものとすると、フレームn−m+1からフレームnに関して生成され、テンプレート保持部58に保持されているm個のフレームのテンプレートの中から、時間的に最も古いテンプレートであるフレームn−m+1に関して生成されたテンプレートが選択される。   After the process of step S422 or step S423, the template matching unit 51 executes a process of selecting the oldest template in time in step S424. Specifically, as shown in FIG. 27, for example, when transition from frame n to frame n + 1 is performed, if exception processing is to be executed, a frame n−m + 1 is generated for frame n and is stored in the template holding unit 58. A template generated with respect to the frame mn + 1, which is the oldest template in time, is selected from the held m-frame templates.

このように例外処理への移行直前のテンプレート(図27の例の場合フレームnに関して生成されたテンプレート)を用いずに、時間的に少し前のテンプレートを選択するのは、追尾対象のオクルージョンなどで例外処理への移行が発生した場合には、移行の直前には追尾対象が既にかなり隠れており、その時点のテンプレートでは、追尾対象を充分に大きく捉えることができない可能性が高いからである。従って、このように時間的に若干前のフレームにおけるテンプレートを選択することで、確実な追尾が可能となる。   In this way, the template just before the transition to exception processing (the template generated for the frame n in the case of FIG. 27) is not used, but the template slightly before in time is selected for the occlusion to be tracked or the like. This is because when the transition to exception processing occurs, the tracking target is already considerably hidden immediately before the transition, and it is highly likely that the tracking target cannot be captured sufficiently large in the template at that time. Therefore, reliable tracking is possible by selecting a template in a frame slightly before in time.

次に、ステップS425において、テンプレートマッチング部51は、テンプレート探索範囲を設定する処理を実行する。テンプレート探索範囲は、例えば、例外処理に移行する直前の追尾点の位置がテンプレート探索範囲の中心となるように設定される。   Next, in step S425, the template matching unit 51 executes processing for setting a template search range. For example, the template search range is set such that the position of the tracking point immediately before the transition to the exception process is the center of the template search range.

すなわち、図28に示されるように、フレームnにおいて被写体の顔104の右目102が追尾点101として指定されている場合において、図中左方向からボール121が飛んできて、フレームn+1において追尾点101を含む顔104が隠れ、フレームn+2において、再び追尾点101が現れる場合を想定する。この場合において、追尾点101(テンプレート範囲411に含まれる)を中心とする領域がテンプレート探索範囲412として設定される。   That is, as shown in FIG. 28, when the right eye 102 of the subject's face 104 is designated as the tracking point 101 in the frame n, the ball 121 flies from the left direction in the figure, and the tracking point 101 in the frame n + 1. Is assumed, and the tracking point 101 appears again in the frame n + 2. In this case, a region centered on the tracking point 101 (included in the template range 411) is set as the template search range 412.

ステップS426において、テンプレートマッチング部51は、例外処理への移行後の経過フレーム数およびシーンチェンジ数を0にリセットする。このフレーム数とシーンチェンジ数は、後述する図25のステップS405における継続判定処理(図30のステップS461,S463,S465,S467)において使用される。   In step S426, the template matching unit 51 resets the number of elapsed frames and the number of scene changes after shifting to exception processing to zero. The number of frames and the number of scene changes are used in a continuation determination process (steps S461, S463, S465, and S467 in FIG. 30) in step S405 in FIG.

以上のようにして、例外処理の初期化処理が終了した後、図25のステップS402において、制御部59は次のフレームを待つ処理を実行する。ステップS403において、テンプレートマッチング部51は、テンプレート探索範囲内においてテンプレートマッチング処理を行う。ステップS404においてテンプレートマッチング部51は、通常処理への復帰が可能であるか否かを判定する。   After the exception process initialization process is completed as described above, in step S402 in FIG. 25, the control unit 59 executes a process of waiting for the next frame. In step S403, the template matching unit 51 performs template matching processing within the template search range. In step S404, the template matching unit 51 determines whether it is possible to return to normal processing.

具体的には、テンプレートマッチング処理により、数フレーム前のテンプレート(図28のテンプレート範囲411内の画素)と、テンプレート探索範囲内のマッチング対象の画素の差分の絶対値和が演算される。より詳細には、テンプレート範囲411内の所定のブロックと、テンプレート探索範囲内の所定のブロックにおけるそれぞれの画素の差分の絶対値和が演算される。ブロックの位置がテンプレート範囲411内で順次移動され、各ブロックの差分の絶対値和が加算され、そのテンプレートの位置における値とされる。そして、テンプレートをテンプレート探索範囲内で順次移動させた場合における差分の絶対値和が最も小さくなる位置とその値が検索される。ステップS404において、最小の差分の絶対値和が、予め設定されている所定の閾値と比較される。差分の絶対値和が閾値以下である場合には、追尾点(テンプレートに含まれている)を含む画像が再び出現したことになるので、通常処理への復帰が可能であると判定され、処理は図6のステップS51の通常処理に戻る。   Specifically, the absolute value sum of the difference between the template several frames before (the pixel in the template range 411 in FIG. 28) and the matching target pixel in the template search range is calculated by the template matching process. More specifically, the sum of absolute values of differences between the pixels in the predetermined block in the template range 411 and the predetermined block in the template search range is calculated. The position of the block is sequentially moved within the template range 411, and the sum of absolute values of the differences of the respective blocks is added to obtain a value at the position of the template. Then, the position where the sum of absolute values of the differences becomes the smallest when the template is sequentially moved within the template search range and its value are searched. In step S404, the absolute sum of the minimum differences is compared with a predetermined threshold value set in advance. If the sum of absolute values of the differences is less than or equal to the threshold value, an image including the tracking point (included in the template) has appeared again, so it is determined that the normal processing can be restored, and the processing Returns to the normal processing of step S51 of FIG.

そして上述したように、図11のステップS141において、例外処理からの復帰であると判定され、ステップS144において、差分絶対値和が最小となる位置をテンプレートのマッチした位置として、このマッチした位置とテンプレートに対応して保持してあったテンプレート位置と追尾点領域推定範囲の位置関係から、追尾点と領域推定範囲の設定が行われる。すなわち、図24を参照して上述したように、追尾点405を基準とするベクトル406,407に基づいて、領域推定範囲402が設定される。   Then, as described above, in step S141 in FIG. 11, it is determined that the return from the exception processing is performed, and in step S144, the position where the difference absolute value sum is minimum is set as the matched position of the template, The tracking point and area estimation range are set based on the positional relationship between the template position and the tracking point area estimation range held corresponding to the template. That is, as described above with reference to FIG. 24, the region estimation range 402 is set based on the vectors 406 and 407 with the tracking point 405 as a reference.

ただし、図14のステップS161の領域推定処理において、領域推定範囲を用いない手法を用いる場合には、領域推定範囲の設定は行われない。   However, in the region estimation process in step S161 of FIG. 14, when a method that does not use the region estimation range is used, the region estimation range is not set.

図25のステップS404における通常処理への復帰が可能であるか否かの判定は、最小の差分絶対値和をテンプレートのアクティビティで除算して得られる値を閾値と比較することで行うようにしてもよい。この場合におけるアクティビティは、後述する図31のアクティビティ算出部602により、図32のステップS603において算出された値を用いることができる。   The determination as to whether or not it is possible to return to normal processing in step S404 in FIG. 25 is performed by comparing the value obtained by dividing the minimum sum of absolute differences by the activity of the template with a threshold value. Also good. As the activity in this case, the value calculated in step S603 in FIG. 32 by the activity calculation unit 602 in FIG.

あるいはまた、今回の最小の差分絶対値和を1フレーム前における最小の差分絶対値和で除算することで得られた値を所定の閾値と比較することで、通常処理への復帰が可能であるか否かを判定するようにしてもよい。この場合、アクティビティの計算が不要となる。すなわち、ステップS404では、テンプレートとテンプレート探索範囲の相関が演算され、相関値と閾値の比較に基づいて判定が行われる。   Alternatively, it is possible to return to the normal processing by comparing a value obtained by dividing the current minimum absolute difference sum by the minimum absolute difference sum one frame before with a predetermined threshold. It may be determined whether or not. In this case, it is not necessary to calculate the activity. That is, in step S404, the correlation between the template and the template search range is calculated, and determination is performed based on the comparison between the correlation value and the threshold value.

ステップS404において、通常処理への復帰が可能ではないと判定された場合、ステップS405に進み、継続判定処理が実行される。継続判定処理の詳細は、図30を参照して後述するが、これにより、例外処理が継続可能であるか否かの判定が行われる。   If it is determined in step S404 that it is not possible to return to the normal process, the process proceeds to step S405, and the continuation determination process is executed. Details of the continuation determination process will be described later with reference to FIG. 30, and thereby, it is determined whether or not the exception process can be continued.

ステップS406において、制御部59は、例外処理(例外処理での追尾点の追尾)が継続可能であるか否かを継続判定処理の結果に基づいて(後述する図30のステップS466,S468で設定されたフラグに基づいて)判定する。例外処理が継続可能である場合には、処理はステップS402に戻り、それ以降の処理が繰り返し実行される。すなわち、追尾点が再び出現するまで待機する処理が繰り返し実行される。   In step S406, the control unit 59 sets whether exception processing (tracking of the tracking point in exception processing) can be continued based on the result of the continuation determination processing (steps S466 and S468 in FIG. 30 described later). (Based on the flag that was set). If the exception process can be continued, the process returns to step S402, and the subsequent processes are repeatedly executed. That is, the process of waiting until the tracking point appears again is repeatedly executed.

これに対して、ステップS406において、例外処理が継続可能ではないと判定された場合(後述する図30のステップS465で、追尾点が消失した後の経過フレーム数が閾値THfr以上と判定されるか、または、ステップS467でシーンチェンジ数が閾値THsc以上と判定された場合)、最早、例外処理は不可能として、追尾処理は終了される。なお、追尾処理を終了するのではなく、保持しておいた追尾点を用いて再度通常処理に戻るようにすることも考えられる。この場合の例外処理は、図29に示されている。なお、図29のステップS441乃至S445の処理は、図25のステップS401乃至S405と同様の処理であるので、その説明を省略する。   On the other hand, if it is determined in step S406 that the exception processing cannot be continued (whether it is determined in step S465 in FIG. 30 described later that the number of frames that have elapsed after the tracking point has disappeared is equal to or greater than the threshold value THfr. (Or if it is determined in step S467 that the number of scene changes is equal to or greater than the threshold value THsc), the tracking process is terminated as the exception process is no longer possible. Instead of ending the tracking process, it may be possible to return to the normal process again using the tracking point that has been held. The exception handling in this case is shown in FIG. Note that the processing in steps S441 through S445 in FIG. 29 is the same as the processing in steps S401 through S405 in FIG.

すなわち、ステップS445の継続判定処理により、例外処理が継続可能であるか否かの判定が行われると、その後、ステップS446において、制御部59は、例外処理(例外処理での追尾点の追尾)が継続可能であるか否かを継続判定処理の結果に基づいて(後述する図30のステップS466,S468で設定されたフラグに基づいて)判定する。例外処理が継続可能である場合には、処理はステップS442に戻り、それ以降の処理が繰り返し実行される。すなわち、追尾点が再び出現するまで待機する処理が繰り返し実行される。   That is, when it is determined by the continuation determination process in step S445 whether or not the exception process can be continued, thereafter, in step S446, the control unit 59 performs the exception process (tracking the tracking point in the exception process). Is determined based on the result of the continuation determination process (based on a flag set in steps S466 and S468 in FIG. 30 described later). If the exception process can be continued, the process returns to step S442, and the subsequent processes are repeatedly executed. That is, the process of waiting until the tracking point appears again is repeatedly executed.

これに対して、ステップS446において、例外処理が継続可能ではないと判定された場合(後述する図30のステップS465で、追尾点が消失した後の経過フレーム数が閾値THfr以上と判定されるか、または、ステップS467でシーンチェンジ数が閾値THsc以上と判定された場合)、最早、例外処理は不可能として、処理は図5のステップS1051の通常処理に戻る。   On the other hand, if it is determined in step S446 that the exception processing cannot be continued (whether it is determined in step S465 in FIG. 30 described later that the number of elapsed frames after the tracking point disappears is equal to or greater than the threshold value THfr. Or, when it is determined in step S467 that the number of scene changes is equal to or greater than the threshold value THsc), the exception processing is no longer possible and the processing returns to the normal processing in step S1051 in FIG.

そして、この場合、上述したように、図11のステップS141において、例外処理からの復帰であると判定され、ステップS144において、保持しておいた例外処理に移行する直前の追尾点の位置に基づき、追尾点と領域推定範囲が設定される。   In this case, as described above, it is determined in step S141 in FIG. 11 that the process has returned from the exception process, and in step S144, based on the position of the tracking point immediately before the transition to the exception process held. The tracking point and the area estimation range are set.

図30は、図25のステップS405(または図29のステップS445)における継続判定処理の詳細を表している。ステップS461において、制御部59は、変数としての経過フレーム数に1を加算する処理を実行する。経過フレーム数は、図25のステップS401の例外処理の初期化処理(図26のステップS426)において、予め0にリセットされている。   FIG. 30 shows details of the continuation determination process in step S405 of FIG. 25 (or step S445 of FIG. 29). In step S461, the control unit 59 executes a process of adding 1 to the number of elapsed frames as a variable. The number of elapsed frames is previously reset to 0 in the exception process initialization process (step S426 in FIG. 26) in step S401 in FIG.

次にステップS462において、制御部59は、シーンチェンジがあるか否かを判定する。シーンチェンジがあるか否かは、シーンチェンジ検出部53が、常にその検出処理を実行しており、その検出結果に基づいて判定が可能である。シーンチェンジがある場合には、ステップS463に進み、制御部59は変数としてのシーンチェンジ数に1を加算する。このシーンチェンジ数も、図26のステップS426の初期化処理において0にリセットされている。通常処理から例外処理への移行時にシーンチェンジが発生していない場合には、ステップS463の処理はスキップされる。   Next, in step S462, the control unit 59 determines whether there is a scene change. Whether or not there is a scene change can be determined based on the detection result of the scene change detection unit 53 always executing the detection process. If there is a scene change, the process proceeds to step S463, and the control unit 59 adds 1 to the number of scene changes as a variable. The number of scene changes is also reset to 0 in the initialization process of step S426 in FIG. If no scene change has occurred during the transition from the normal process to the exception process, the process of step S463 is skipped.

次に、ステップS464において、制御部59は、現在設定されているモードがシーンチェンジであるか否かを判定する。このモードは、図26のステップS422,S423において設定されたものである。現在設定されているモードがシーンチェンジである場合には、ステップS467に進み、制御部59は、シーンチェンジ数が予め設定されている閾値THscより小さいか否かを判定する。シーンチェンジ数が閾値THscより小さい場合には、ステップS466に進み、制御部59は継続可のフラグを設定し、シーンチェンジ数が閾値THsc以上である場合には、ステップS468に進み、継続不可のフラグを設定する。   Next, in step S464, the control unit 59 determines whether or not the currently set mode is a scene change. This mode is set in steps S422 and S423 in FIG. When the currently set mode is a scene change, the process proceeds to step S467, and the control unit 59 determines whether or not the number of scene changes is smaller than a preset threshold value THsc. If the number of scene changes is smaller than the threshold value THsc, the process proceeds to step S466, and the control unit 59 sets a flag that allows continuation. If the number of scene changes is equal to or greater than the threshold value THsc, the process proceeds to step S468 and cannot be continued. Set the flag.

一方、ステップS464において、モードがシーンチェンジではないと判定された場合(モードがその他であると判定された場合)、ステップS465に進み、制御部59は、経過フレーム数が閾値THfrより小さいか否かを判定する。この経過フレーム数も、図26の例外処理の初期化処理のステップS426において、予め0にリセットされている。経過フレーム数が閾値THfrより小さいと判定された場合には、ステップS466において、継続可のフラグが設定され、経過フレーム数が閾値THfr以上であると判定された場合には、ステップS468において、継続不可のフラグが設定される。   On the other hand, when it is determined in step S464 that the mode is not a scene change (when it is determined that the mode is other), the process proceeds to step S465, and the control unit 59 determines whether or not the number of elapsed frames is smaller than the threshold value THfr. Determine whether. The number of elapsed frames is also reset to 0 in advance in step S426 of the exception process initialization process of FIG. If it is determined that the number of elapsed frames is smaller than the threshold value THfr, a continuation flag is set in step S466, and if it is determined that the number of elapsed frames is greater than or equal to the threshold value THfr, the process continues in step S468. A disabled flag is set.

このように、テンプレートマッチング処理時におけるシーンチェンジ数が閾値THsc以上になるか、または経過フレーム数が閾値THfr以上になった場合には、それ以上の例外処理は不可能とされる。   As described above, when the number of scene changes at the time of template matching processing is equal to or greater than the threshold value THsc, or when the number of elapsed frames is equal to or greater than the threshold value THfr, further exception processing is impossible.

なお、モードがその他である場合には、シーンチェンジ数が0であるという条件も加えて、継続が可能であるか否かを判定するようにしてもよい。   When the mode is other, a condition that the number of scene changes is 0 may be added to determine whether or not continuation is possible.

以上においては、画像のフレームを処理単位とし、すべてのフレームを用いることを前提としたが、フィールド単位で処理したり、すべてのフレームまたはフィールドを利用するのではなく、所定の間隔で間引いて抽出されたフレームまたはフィールドを用いるようにすることも可能である。   In the above, it is assumed that the frame of the image is used as a processing unit and all frames are used. However, processing is not performed in units of fields or using all frames or fields, but is extracted by thinning out at a predetermined interval. It is also possible to use a modified frame or field.

また、以上においては、乗り換え候補として、推定した領域内の点の移動先を用いるようにしたが、この場合、全画面動きが(0,0)であったとしても、領域内の各点が、(−1,1)、(1,0)等の動きを持っているときは、それぞれの動きの分だけシフトされる。移動先の点をそのまま乗り換え候補として用いるのではなく、予め求められたサンプル点のうち、最も近い点を乗り換え候補とすることも可能である。勿論、処理負荷軽減のため、各点を、全画面動きの分だけシフトしてもよい。   Further, in the above, the estimated movement destination of the point in the area is used as the transfer candidate. However, in this case, even if the whole screen motion is (0, 0), each point in the area is , (-1, 1), (1, 0), etc., the movement is shifted by the amount of each movement. Instead of using the destination point as a transfer candidate as it is, it is also possible to set the closest point among sample points obtained in advance as a transfer candidate. Of course, in order to reduce the processing load, each point may be shifted by the amount corresponding to the full screen movement.

さらに、乗り換え候補として、推定した領域内の点の移動先を用いるのではなく、領域内の点をそのまま用いるようにすることも可能である。   Further, instead of using the estimated destination of the point in the area as the transfer candidate, it is possible to use the point in the area as it is.

次に、図31を参照して、図3の動き推定部52の構成例について説明する。この実施の形態においては、入力画像が、評価値算出部601、アクティビティ算出部602、および動きベクトル検出部606に供給されている。評価値算出部601は、動きベクトルにより対応付けられる両対象の一致度に関する評価値を算出し、正規化処理部604に供給する。アクティビティ算出部602は、入力画像のアクティビティを算出し、閾値判定部603と正規化処理部604に供給する。動きベクトル検出部606は、入力画像から動きベクトルを検出し、評価値算出部601と統合処理部605に供給する。   Next, a configuration example of the motion estimation unit 52 in FIG. 3 will be described with reference to FIG. In this embodiment, the input image is supplied to the evaluation value calculation unit 601, the activity calculation unit 602, and the motion vector detection unit 606. The evaluation value calculation unit 601 calculates an evaluation value related to the degree of coincidence between the two objects associated by the motion vector and supplies the evaluation value to the normalization processing unit 604. The activity calculation unit 602 calculates the activity of the input image and supplies it to the threshold value determination unit 603 and the normalization processing unit 604. The motion vector detection unit 606 detects a motion vector from the input image and supplies it to the evaluation value calculation unit 601 and the integration processing unit 605.

正規化処理部604は、評価値算出部601より供給された評価値を、アクティビティ算出部602より供給されたアクティビティに基づいて正規化し、得られた値を統合処理部605に供給する。閾値判定部603は、アクティビティ算出部602より供給されたアクティビティを所定の閾値と比較し、その判定結果を統合処理部605に供給する。統合処理部605は、正規化処理部604から供給された正規化情報と、閾値判定部603より供給された判定結果に基づいて、動きベクトルの確度を演算し、得られた確度を動きベクトル検出部606より供給された動きベクトルとともに出力する。   The normalization processing unit 604 normalizes the evaluation value supplied from the evaluation value calculation unit 601 based on the activity supplied from the activity calculation unit 602, and supplies the obtained value to the integration processing unit 605. The threshold determination unit 603 compares the activity supplied from the activity calculation unit 602 with a predetermined threshold and supplies the determination result to the integration processing unit 605. The integration processing unit 605 calculates the accuracy of the motion vector based on the normalization information supplied from the normalization processing unit 604 and the determination result supplied from the threshold value determination unit 603, and the obtained accuracy is detected by the motion vector detection. This is output together with the motion vector supplied from the unit 606.

次に、図32のフローチャートを参照して、動き推定部52の動き推定処理について説明する。動きベクトルは、点に対するものとして求められているが、その確度は、動きベクトルにより対応付けられる2つの点の近傍の、例えば点を中心とする、小ブロックの画像データを用いて計算される。ステップS601において、動きベクトル検出部606は、入力画像から動きベクトルを検出する。この検出には、例えばブロックマッチング方式や勾配法が用いられる。検出された動きベクトルは、評価値算出部601と統合処理部605に供給される。   Next, the motion estimation process of the motion estimation unit 52 will be described with reference to the flowchart of FIG. Although the motion vector is obtained for a point, the accuracy is calculated using image data of a small block in the vicinity of two points associated by the motion vector, for example, centering on the point. In step S601, the motion vector detection unit 606 detects a motion vector from the input image. For this detection, for example, a block matching method or a gradient method is used. The detected motion vector is supplied to the evaluation value calculation unit 601 and the integration processing unit 605.

ステップS602において、評価値算出部601は評価値を算出する。具体的には、例えば、動きベクトルで対応付けられる2つの点を中心とする2つのブロックの画素値の差分絶対値和が算出される。すなわち、ステップS601で動きベクトル検出部606により検出された動きベクトルV(vx,vy)と、それに基づく時間的に前のフレームの画像Fi上の点P(Xp,Yp)、並びに時間的に後のフレームの画像Fj上の点Q(Xq,Yq)の関係は次式で表される。   In step S602, the evaluation value calculation unit 601 calculates an evaluation value. Specifically, for example, the sum of absolute differences of pixel values of two blocks centered on two points associated with motion vectors is calculated. That is, the motion vector V (vx, vy) detected by the motion vector detection unit 606 in step S601, the point P (Xp, Yp) on the image Fi of the previous frame based on the motion vector V (vx, vy), and the time later The relationship of the point Q (Xq, Yq) on the image Fj of the frame is expressed by the following equation.

Figure 2007272735
Figure 2007272735

評価値算出部601は点Pを中心とするブロックと、点Qを中心とするブロックについて、次式に基づいて評価値Eval(P,Q,i,j)を演算する。   The evaluation value calculation unit 601 calculates an evaluation value Eval (P, Q, i, j) for a block centered on the point P and a block centered on the point Q based on the following equation.

Figure 2007272735
Figure 2007272735

各ブロックは、1辺が2L+1画素の正方形とされている。上記式における総和ΣΣは、xが−LからLについて、yが−LからLについて、対応する画素同士で行われる。従って、例えば、L=2である場合、9個の差分が得られ、その絶対値の総和が演算される。評価値は、その値が0に近づくほど、2つのブロックがよく一致していることを表している。   Each block is a square having 2L + 1 pixels on one side. The summation ΣΣ in the above equation is performed between corresponding pixels when x is from −L to L and y is from −L to L. Therefore, for example, when L = 2, nine differences are obtained, and the sum of the absolute values is calculated. The evaluation value indicates that the two blocks match well as the value approaches zero.

評価値算出部601は、生成した評価値を正規化処理部604に供給する。   The evaluation value calculation unit 601 supplies the generated evaluation value to the normalization processing unit 604.

ステップS603において、アクティビティ算出部602は、入力画像からアクティビティを算出する。アクティビティは、画像の複雑さを表す特徴量であり、図33に示されるように、各画素毎に注目画素Y(x,y)と、それに隣接する8画素Y(x+i,y+j)との差分絶対値和の平均値が、注目画素位置のアクティビティActivity(x,y)として次式に基づいて演算される。   In step S603, the activity calculation unit 602 calculates an activity from the input image. The activity is a feature amount representing the complexity of the image. As shown in FIG. 33, the difference between the pixel of interest Y (x, y) and the adjacent 8 pixels Y (x + i, y + j) for each pixel is shown in FIG. The average value of the sum of absolute values is calculated based on the following formula as activity Activity (x, y) at the target pixel position.

Figure 2007272735
Figure 2007272735

図33の例の場合、3×3画素のうち、中央に位置する注目画素Y(x,y)の値は110であり、それに隣接する8個の画素の値は、それぞれ80,70,75,100,100,100,80,80であるから、アクティビティActivity(x,y)は次式で表される。   In the case of the example of FIG. 33, the value of the pixel of interest Y (x, y) located at the center among 3 × 3 pixels is 110, and the values of eight pixels adjacent to it are 80, 70, and 75, respectively. , 100, 100, 100, 80, 80, the activity Activity (x, y) is expressed by the following equation.

Activity(x,y) ={|80−110|+|70−110|+|75−110|+|100−110|+|100−110|+|100−110|+|80−110|+|80−110|}/8 =24.375となる。   Activity (x, y) = {| 80-110 | + | 70-110 | + | 75-110 | + | 100-110 | + | 100-110 | + | 80-110 | + | 80−110 |} /8=24.375.

同様の処理が、そのフレームのすべての画素について実行される。   Similar processing is performed for all pixels in the frame.

ブロック単位で動きベクトル確度を算出するため、次式で表されるブロック内の全画素のアクティビティの総和が、そのブロックのアクティビティ(ブロックアクティビティ)Blockactivity(i,j)と定義される。   In order to calculate the motion vector accuracy in units of blocks, the sum of the activities of all the pixels in the block expressed by the following equation is defined as the activity (block activity) Blockactivity (i, j) of the block.

Figure 2007272735
Figure 2007272735

なお、アクティビティとしては、この他、分散値、ダイナミックレンジなどとすることも可能である。   In addition, the activity may be a variance value, a dynamic range, or the like.

閾値判定部603は、ステップS604において、アクティビティ算出部602により算出されたブロックアクティビティを予め設定されている所定の閾値と比較する。そして、入力されたブロックアクティビティが閾値より大きいか否かを表すフラグを統合処理部605に出力する。   In step S604, the threshold determination unit 603 compares the block activity calculated by the activity calculation unit 602 with a predetermined threshold set in advance. Then, a flag indicating whether or not the input block activity is larger than the threshold value is output to the integration processing unit 605.

具体的には、実験の結果、ブロックアクティビティと評価値は、動きベクトルをパラメータとして、図34に示される関係を有する。図34において、横軸はブロックアクティビティBlockactivity(i,j)を表し、縦軸は評価値Evalを表している。動きが正しく検出されている場合(正しい動きベクトルが与えられている場合)、そのブロックアクティビティと評価値の値は、曲線621より図中下側の領域R1に分布する。これに対して誤った動き(不正解の動きベクトル)が与えられた場合、そのブロックアクティビティと評価値の値は、曲線622より、図中左側の領域R2に分布する(曲線622より上側の領域R2以外の領域と曲線621より下側の領域R1以外の領域には殆ど分布がない)。曲線621と曲線622は、点Pにおいて交差する。この点Pにおけるブロックアクティビティの値が閾値THaとされる。閾値THaは、ブロックアクティビティの値がそれより小さい場合には、対応する動きベクトルが正しくない可能性があることを意味する(この点については後に詳述する)。閾値判定部603は、アクティビティ算出部602より入力されたブロックアクティビティの値が、この閾値THaより大きいか否かを表すフラグを統合処理ブロック605に出力する。   Specifically, as a result of the experiment, the block activity and the evaluation value have the relationship shown in FIG. 34 using the motion vector as a parameter. In FIG. 34, the horizontal axis represents block activity Blockactivity (i, j), and the vertical axis represents the evaluation value Eval. When the motion is correctly detected (when the correct motion vector is given), the block activity and the value of the evaluation value are distributed in the region R1 below the curve 621 in the figure. On the other hand, if an incorrect motion (incorrect motion vector) is given, the block activity and the evaluation value are distributed in the region R2 on the left side of the figure from the curve 622 (the region above the curve 622). There is almost no distribution in the region other than R2 and the region other than the region R1 below the curve 621). Curves 621 and 622 intersect at point P. The value of the block activity at this point P is set as the threshold value THa. The threshold value THa means that if the value of the block activity is smaller than that, the corresponding motion vector may be incorrect (this will be described in detail later). The threshold determination unit 603 outputs a flag indicating whether the block activity value input from the activity calculation unit 602 is greater than the threshold THa to the integration processing block 605.

ステップS605において、正規化処理部604は、正規化処理を実行する。具体的には、正規化処理部604は、次式に従って動きベクトル確度VCを演算する。   In step S605, the normalization processing unit 604 executes normalization processing. Specifically, the normalization processing unit 604 calculates the motion vector accuracy VC according to the following equation.

Figure 2007272735
Figure 2007272735

但し、動きベクトル確度VCの値が0未満となる場合にはその値を0に置き換える。動きベクトル確度VCのうち、評価値をブロックアクティビティで割り算して得られた値は、その値によって規定される図34のグラフ上の位置が、原点Oと点Pを結ぶ傾きが1の直線623より、図中下側の領域内であるのか、図中上側の領域内であるのかを表す。すなわち、直線623の傾きは1であり、評価値をブロックアクティビティで割り算して得られた値が1より大きければ、その値に対応する点は、直線623の上側の領域に分布する点であることを意味する。そしてこの値を1から減算して得られる動きベクトル確度VCは、その値が小さい程、対応する点が領域R2に分布する可能性が高いことを意味する。   However, if the value of the motion vector accuracy VC is less than 0, the value is replaced with 0. Of the motion vector accuracy VC, the value obtained by dividing the evaluation value by the block activity is a straight line 623 whose position on the graph of FIG. Therefore, it indicates whether the region is in the lower region or the upper region in the figure. That is, if the slope of the straight line 623 is 1, and the value obtained by dividing the evaluation value by the block activity is larger than 1, the points corresponding to the value are points distributed in the area above the straight line 623. Means that. The motion vector accuracy VC obtained by subtracting this value from 1 means that the smaller the value, the higher the possibility that the corresponding points are distributed in the region R2.

これに対して、評価値をブロックアクティビティで割り算して得られた値が1より小さければ、その値に対応する点は、直線623の図中下側の領域に分布することを意味する。そして、そのときの動きベクトル確度VCは、その値が大きい程(0に近い程)、対応する点が領域R1に分布することを意味する。正規化処理部604は、このようにして演算して得られた動きベクトル確度VCを統合処理部605に出力する。   On the other hand, if the value obtained by dividing the evaluation value by the block activity is smaller than 1, it means that the points corresponding to the value are distributed in the lower area of the straight line 623 in the figure. The motion vector accuracy VC at that time means that the larger the value (closer to 0), the corresponding points are distributed in the region R1. The normalization processing unit 604 outputs the motion vector accuracy VC obtained by the calculation in this way to the integration processing unit 605.

ステップS606において、統合処理部605は、統合処理を実行する。この統合処理の詳細は、図35のフローチャートに示されている。   In step S606, the integration processing unit 605 executes integration processing. Details of this integration processing are shown in the flowchart of FIG.

統合処理部605は、ステップS631において、ブロックアクティビティが閾値THa以下か否かを判定する。この判定は、閾値判定部603より供給されたフラグに基づいて行われる。ブロックアクティビティが閾値THa以下である場合には、ステップS632において統合処理部605は、正規化処理部604が算出した動きベクトル確度VCの値を0に設定する。ステップS631において、アクティビティの値が閾値THaより大きいと判定された場合には、ステップS632の処理はスキップされ、正規化処理部604で生成された動きベクトル確度VCの値が、そのまま動きベクトルとともに出力される。   In step S631, the integration processing unit 605 determines whether the block activity is equal to or less than the threshold value THa. This determination is performed based on the flag supplied from the threshold determination unit 603. If the block activity is equal to or less than the threshold THa, the integration processing unit 605 sets the value of the motion vector accuracy VC calculated by the normalization processing unit 604 to 0 in step S632. If it is determined in step S631 that the activity value is greater than the threshold value THa, the processing in step S632 is skipped, and the value of the motion vector accuracy VC generated by the normalization processing unit 604 is output as it is together with the motion vector. Is done.

これは、正規化処理部604において演算された動きベクトルの確度VCの値が正であったとしても、ブロックアクティビティの値が閾値THaより小さい場合には、正しい動きベクトルが得られていない可能性があるからである。すなわち、図34に示されるように、原点Oと点Pの間においては、曲線622が、曲線621より図中下側に(直線623より下側に)突出することになる。ブロックアクティビティの値が閾値Thaより小さい区間であって、曲線621と曲線622において囲まれる領域R3においては、評価値をブロックアクティビティで割り算して得られる値は、領域R1とR2の両方に分布し、正しい動きベクトルが得られていない可能性が高い。   This is because there is a possibility that a correct motion vector is not obtained if the block activity value is smaller than the threshold value THa even if the value of the motion vector accuracy VC calculated by the normalization processing unit 604 is positive. Because there is. That is, as shown in FIG. 34, between the origin O and the point P, the curve 622 protrudes below the curve 621 in the drawing (downward from the straight line 623). In a region R3 in which the value of the block activity is smaller than the threshold value Tha and surrounded by the curves 621 and 622, the value obtained by dividing the evaluation value by the block activity is distributed in both the regions R1 and R2. There is a high possibility that a correct motion vector is not obtained.

そこで、このような分布状態である場合には、動きベクトルの確度は低いものとして処理するようにする。このため、ステップS632において、動きベクトル確度VCは、その値が正であったとしても、閾値Thaより小さい場合には、0に設定される。このようにすることで、動きベクトル確度VCの値が正である場合には、正しい動きベクトルが得られている場合であることを確実に表すことが可能となる。しかも、動きベクトル確度VCの値が大きい程、正しい動きベクトルが得られている確率が高くなる(分布が領域R1に含まれる確率が高くなる)。   Therefore, in such a distribution state, processing is performed assuming that the accuracy of the motion vector is low. For this reason, in step S632, the motion vector accuracy VC is set to 0 if the value is positive even if the value is positive. In this way, when the value of the motion vector accuracy VC is positive, it is possible to reliably represent that the correct motion vector is obtained. In addition, the larger the value of the motion vector accuracy VC, the higher the probability that a correct motion vector is obtained (the probability that the distribution is included in the region R1 increases).

このことは、一般的に、輝度変化が少ない領域(アクティビティが小さい領域)では信頼性が高い動きベクトルを検出することが困難であるとの経験上の法則とも一致する。   This coincides with an empirical rule that, in general, it is difficult to detect a motion vector with high reliability in a region where the luminance change is small (region where the activity is small).

図36は,図3の背景動き推定部54の構成例を表している。この構成例においては、背景動き推定部54は、頻度分布算出部651と背景動き決定部652により構成されている。   FIG. 36 illustrates a configuration example of the background motion estimation unit 54 of FIG. In this configuration example, the background motion estimator 54 includes a frequency distribution calculator 651 and a background motion determiner 652.

頻度分布算出部651は、動きベクトルの頻度分布を算出する。ただし、この頻度には、動き推定部52より供給される動きベクトル確度VCを用いることで、確からしい動きに重みが与えられるように、重み付けが行われる。背景動き決定部652は、頻度分布算出部651により算出された頻度分布に基づいて、頻度が最大となる動きを背景動きとして決定する処理を行い、領域推定関連処理部55へ出力する。   The frequency distribution calculation unit 651 calculates a frequency distribution of motion vectors. However, this frequency is weighted so that a likely motion is weighted by using the motion vector accuracy VC supplied from the motion estimation unit 52. Based on the frequency distribution calculated by the frequency distribution calculation unit 651, the background motion determination unit 652 performs a process of determining a motion with the maximum frequency as a background motion, and outputs the background motion to the region estimation related processing unit 55.

図37を参照して、背景動き推定部54の背景動き推定処理について説明する。   The background motion estimation process of the background motion estimation unit 54 will be described with reference to FIG.

ステップS651において、頻度分布算出部651は、動き頻度分布を算出する。具体的には、頻度分布算出部651は、背景動きの候補としての動きベクトルのx座標とy座標がそれぞれ基準点から±16画素分の範囲で表されるとすると、1089個(=16×2+1)×(16×2+1))の箱、すなわち動きベクトルがとり得る値に対応する座標分の箱を用意し、動きベクトルが発生した場合、その動きベクトルに対応する座標に1を加算する。このようにすることで、動きベクトルの頻度分布を算出することができる。   In step S651, the frequency distribution calculation unit 651 calculates a motion frequency distribution. Specifically, the frequency distribution calculation unit 651 assumes that the x and y coordinates of the motion vector as a background motion candidate are expressed in a range of ± 16 pixels from the reference point, respectively (1089 (= 16 × 2 + 1) × (16 × 2 + 1)), that is, a box for coordinates corresponding to possible values of a motion vector, and when a motion vector is generated, 1 is added to the coordinates corresponding to the motion vector. In this way, the motion vector frequency distribution can be calculated.

ただし、1個の動きベクトルが発生した場合、1を加算していくと、確度が低い動きベクトルの発生頻度が多い場合、その確実性が低い動きベクトルが背景動きとして決定されてしまう恐れがある。そこで、頻度分布算出部651は、動きベクトルが発生した場合、その動きベクトルに対応する箱(座標)に、値1を加算するのではなく、値1に動きベクトル確度VCを乗算した値(=動きベクトル確度VCの値)を加算する。動きベクトル確度VCの値は、0から1の間の値として正規化されており、その値が1に近いほど確度が高い値である。従って、このようにして得られた頻度分布は、動きベクトルをその確度に基づいて重み付けした頻度分布となる。これにより、確度の低い動きが背景動きとして決定される恐れが少なくなる。   However, when one motion vector is generated, if 1 is added, if the frequency of occurrence of a motion vector with low accuracy is high, a motion vector with low certainty may be determined as the background motion. . Therefore, when a motion vector is generated, the frequency distribution calculation unit 651 does not add a value 1 to a box (coordinates) corresponding to the motion vector, but a value obtained by multiplying the value 1 by the motion vector accuracy VC (= Motion vector accuracy VC). The value of the motion vector accuracy VC is normalized as a value between 0 and 1, and the closer the value is to 1, the higher the accuracy. Therefore, the frequency distribution obtained in this way is a frequency distribution obtained by weighting motion vectors based on their accuracy. This reduces the risk that a motion with low accuracy is determined as the background motion.

次に、ステップS652において、頻度分布算出部651は、動き頻度分布を算出する処理を全ブロックについて終了したか否かを判定する。まだ処理していないブロックが存在する場合には、ステップS651に戻り、次のブロックについてステップS651の処理が実行される。   Next, in step S652, the frequency distribution calculation unit 651 determines whether or not the process of calculating the motion frequency distribution has been completed for all blocks. If there is a block that has not yet been processed, the process returns to step S651, and the process of step S651 is executed for the next block.

以上のようにして、全画面に対して動き頻度分布算出処理が行われ、ステップS652において、全ブロックの処理が終了したと判定された場合、ステップS653に進み、背景動き決定部652は、頻度分布の最大値を検索する処理を実行する。すなわち、背景動き決定部652は、頻度分布算出部651により算出された頻度の中から最大の頻度のものを選択し、その頻度に対応する動きベクトルを背景動きの動きベクトルとして決定する。この背景動きの動きベクトルは、領域推定関連処理部55に供給され、例えば、図17のステップS204の全画面動きと背景動きが一致するか否かの判定処理に用いられる。   As described above, the motion frequency distribution calculation process is performed on the entire screen, and when it is determined in step S652 that the processing of all blocks has been completed, the process proceeds to step S653, and the background motion determination unit 652 A process for searching for the maximum value of the distribution is executed. That is, the background motion determination unit 652 selects the frequency having the maximum frequency from the frequencies calculated by the frequency distribution calculation unit 651, and determines the motion vector corresponding to the frequency as the motion vector of the background motion. The motion vector of the background motion is supplied to the region estimation related processing unit 55, and is used for, for example, a determination process of whether or not the full screen motion matches the background motion in step S204 of FIG.

図38は、図3のシーンチェンジ検出部53の詳細な構成例を表している。この例においては、動きベクトル確度平均算出部671と閾値判定部672によりシーンチェンジ検出部53が構成されている。   FIG. 38 shows a detailed configuration example of the scene change detection unit 53 of FIG. In this example, the scene change detection unit 53 is configured by the motion vector accuracy average calculation unit 671 and the threshold determination unit 672.

動きベクトル確度平均算出部671は、動き推定部52より供給された動きベクトル確度VCの全画面の平均値を算出し、閾値判定部672に出力する。閾値判定部672は、動きベクトル確度平均算出部671より供給された平均値を、予め定められている閾値と比較し、その比較結果に基づいて、シーンチェンジであるか否かを判定し、判定結果を制御部59に出力する。   The motion vector accuracy average calculation unit 671 calculates the average value of all the screens of the motion vector accuracy VC supplied from the motion estimation unit 52 and outputs the average value to the threshold determination unit 672. The threshold value determination unit 672 compares the average value supplied from the motion vector accuracy average calculation unit 671 with a predetermined threshold value, and determines whether it is a scene change based on the comparison result. The result is output to the control unit 59.

次に、図39のフローチャートを参照して、シーンチェンジ検出部53の動作について説明する。ステップS681において、動きベクトル確度平均算出部671は、ベクトル確度の総和を算出する。具体的には、動きベクトル確度平均算出部671は、動き推定部52の統合処理部605より出力された各ブロック毎に算出された動きベクトル確度VCの値を加算する処理を実行する。   Next, the operation of the scene change detection unit 53 will be described with reference to the flowchart of FIG. In step S681, the motion vector accuracy average calculation unit 671 calculates the sum of vector accuracy. Specifically, the motion vector accuracy average calculation unit 671 executes a process of adding the value of the motion vector accuracy VC calculated for each block output from the integration processing unit 605 of the motion estimation unit 52.

ステップS682において、動きベクトル確度平均算出部671は、ベクトル確度VCの総和を算出する処理が全ブロックについて終了したか否かを判定し、まだ終了していない場合には、ステップS681の処理を繰り返す。この処理を繰り返すことで、1画面分の各ブロックの動きベクトル確度VCの総和が算出される。ステップS682において1画面全部についての動きベクトル確度VCの総和の算出処理が終了したと判定された場合、ステップS683に進み、動きベクトル確度平均算出部671は、ベクトル確度VCの平均値を算出する処理を実行する。具体的には、ステップS681の処理で算出された1画面分のベクトル確度VCの総和を、足し込まれたブロック数で除算して得られた値が平均値として算出される。   In step S682, the motion vector accuracy average calculation unit 671 determines whether or not the processing for calculating the sum of the vector accuracy VC has been completed for all the blocks. If the processing has not yet been completed, the processing of step S681 is repeated. . By repeating this process, the sum of motion vector accuracy VC of each block for one screen is calculated. If it is determined in step S682 that the calculation process of the sum of motion vector accuracy VCs for all one screen has been completed, the process advances to step S683, and the motion vector accuracy average calculation unit 671 calculates the average value of the vector accuracy VC. Execute. Specifically, a value obtained by dividing the sum of the vector accuracy VC for one screen calculated in the process of step S681 by the number of added blocks is calculated as an average value.

ステップS684において、閾値判定部672は、ステップS683の処理で動きベクトル確度平均算出部671により算出された動きベクトル確度VCの平均値を、予め設定されている閾値と比較し、閾値より小さいか否かを判定する。一般的に、動画中の時刻が異なる2フレーム間でシーンチェンジが発生すると、対応する画像が存在しないため、動きベクトルを算出しても、その動きベクトルは確からしくないことになる。   In step S684, the threshold value determination unit 672 compares the average value of the motion vector accuracy VC calculated by the motion vector accuracy average calculation unit 671 in the process of step S683 with a preset threshold value, and whether or not the threshold value is smaller than the threshold value. Determine whether. In general, when a scene change occurs between two frames having different times in a moving image, there is no corresponding image, so even if a motion vector is calculated, the motion vector is not certain.

そこで、ベクトル確度VCの平均値が閾値より小さい場合には、ステップS685において、閾値判定部672はシーンチェンジフラグをオンし、閾値より小さくない場合(閾値以上である場合)、ステップS586において、シーンチェンジフラグをオフにする。シーンチェンジフラグのオンは、シーンチェンジがあったことを表し、そのオフは、シーンチェンジが無いことを表す。   Therefore, if the average value of the vector accuracy VC is smaller than the threshold value, the threshold value determination unit 672 turns on the scene change flag in step S685. If the average value of the vector accuracy VC is not smaller than the threshold value (if it is greater than or equal to the threshold value), in step S586 Turn off the change flag. When the scene change flag is on, it indicates that there is a scene change, and when the scene change flag is off, it indicates that there is no scene change.

このシーンチェンジフラグは、制御部59へ供給され、図26のステップS421におけるシーンチェンジの有無の判定に利用される。   The scene change flag is supplied to the control unit 59, and is used for determining whether or not there is a scene change in step S421 in FIG.

以上のように、図3の追尾処理部41を構成することにより、追尾すべきオブジェクトが回転したり(図7)、オクルージョンが発生したり(図8)、あるいはシーンチェンジにより、オブジェクトの追尾点が一時的に表示されなくなる(図9)ような場合でも、画像の中で移動するオブジェクト(追尾点)を正確に追尾することができる。   As described above, by configuring the tracking processing unit 41 in FIG. 3, an object to be tracked is rotated (FIG. 7), occlusion occurs (FIG. 8), or a scene change point causes an object tracking point. Even when the image is temporarily not displayed (FIG. 9), the moving object (tracking point) in the image can be accurately tracked.

次に、図3の追尾処理部41の詳細な他の構成例と、その動作について説明する。図40は、動き領域重心追尾方式による追尾を行う追尾処理部41の機能的構成例を示すブロック図である。この例では、追尾処理部41は、動きベクトル検出部701、頻度分布算出部702、サンプル点抽出部703、重心算出部704、および追尾点更新部705により構成されている。   Next, another detailed configuration example and the operation of the tracking processing unit 41 in FIG. 3 will be described. FIG. 40 is a block diagram illustrating a functional configuration example of the tracking processing unit 41 that performs tracking by the motion region center-of-gravity tracking method. In this example, the tracking processing unit 41 includes a motion vector detection unit 701, a frequency distribution calculation unit 702, a sample point extraction unit 703, a centroid calculation unit 704, and a tracking point update unit 705.

画像処理部22からの入力画像は、動きベクトル検出部701およびサンプル点抽出部703に入力される。動きベクトル検出部701は、入力画像における追尾点を中心とした領域内で動きベクトルを検出する。頻度分布算出部702は、動きベクトル検出部701により検出された動きベクトルを用いて、その領域内の動きベクトルの頻度分布を算出する。   An input image from the image processing unit 22 is input to the motion vector detection unit 701 and the sample point extraction unit 703. The motion vector detection unit 701 detects a motion vector in an area centered on the tracking point in the input image. The frequency distribution calculation unit 702 uses the motion vector detected by the motion vector detection unit 701 to calculate the frequency distribution of the motion vector in the region.

サンプル点抽出部703は、動きベクトルの頻度分布に基づいて、入力画像における追尾点を中心とした領域内で、多数を占める動きと類似する動きを示すサンプル点を抽出し、それを追尾対象上の点とする。重心算出部704は、領域内の点が、サンプル点抽出部703により抽出された追尾対象のサンプル点であるか否かに基づいて、サンプル点の重心を算出する。   Based on the motion vector frequency distribution, the sample point extraction unit 703 extracts a sample point that shows a movement similar to a movement that occupies a large number in an area centered on the tracking point in the input image, and extracts the sample point on the tracking target. This point. The centroid calculation unit 704 calculates the centroid of the sample point based on whether or not the point in the region is the sample point to be tracked extracted by the sample point extraction unit 703.

追尾点更新部705は、重心算出部704により算出された重心に、頻度最大の動きを加算して、追尾点を更新し、更新された追尾点の情報を、追尾結果として、提示位置算出部42に出力する。このとき、加算された頻度最大の動きも、追尾結果に対応する動きベクトルとして出力される。   The tracking point update unit 705 updates the tracking point by adding the motion with the maximum frequency to the center of gravity calculated by the center of gravity calculation unit 704, and uses the updated tracking point information as the tracking result as the presentation position calculation unit. Output to 42. At this time, the added motion with the maximum frequency is also output as a motion vector corresponding to the tracking result.

次に、図40の追尾処理部41の動作について説明する。図41は、図4のステップS21において、追尾処理部41が実行する追尾点算出処理の詳細を説明するフローチャートである。   Next, the operation of the tracking processing unit 41 in FIG. 40 will be described. FIG. 41 is a flowchart for explaining the details of the tracking point calculation process executed by the tracking processing unit 41 in step S21 of FIG.

ステップS701において、動きベクトル検出部701は、次のフレームの画像の入力を待機し、ステップS702において、入力画像における追尾点を中心とした領域内で動きベクトルを検出する。   In step S701, the motion vector detection unit 701 waits for input of an image of the next frame, and in step S702, detects a motion vector in an area centered on the tracking point in the input image.

すなわち、その追尾点を含むフレーム(前フレーム)より時間的に次(後)のフレーム(次フレーム)をステップS701の処理で取り込むことで、結局連続する2フレームの画像が得られたことになる。   That is, by capturing the next (after) frame (next frame) temporally from the frame including the tracking point (previous frame) in the process of step S701, two consecutive frames of images are obtained. .

動きベクトル検出部701は、図4のステップS2においてユーザにより指定された追尾点、例えば、図42に示されるように、時間的に前に入力された前フレームの入力画像711の中の追尾対象となるオブジェクト722(例えば、人、動物など)の中の追尾点Pを中心とした領域721を求め、その領域721内で、サンプリング間隔(Sx,Sy)のサンプル点毎に、対応する次のフレームのサンプル点を推定することで、動きベクトルを検出する。領域721の大きさは、サンプル数をm,nとすると、m*Sx×n*Sy(*は乗算を表す)となる。   The motion vector detection unit 701 tracks the tracking point specified by the user in step S2 of FIG. 4, for example, the tracking target in the input image 711 of the previous frame input in time as shown in FIG. A region 721 centering on the tracking point P in the object 722 (for example, a person, an animal, or the like) is obtained, and the corresponding next sample point in the sampling interval (Sx, Sy) is obtained in the region 721. A motion vector is detected by estimating a sample point of the frame. The size of the area 721 is m * Sx × n * Sy (* represents multiplication), where m and n are the number of samples.

ステップS703において、頻度分布算出部702は、動きベクトル検出部701により検出された動きベクトルを用いて、領域721内の動きベクトルの頻度分布を算出する。   In step S <b> 703, the frequency distribution calculation unit 702 calculates the frequency distribution of the motion vector in the region 721 using the motion vector detected by the motion vector detection unit 701.

例えば、領域721内の動きの候補を、Vx(水平動き:-16≦Vx≦16)、Vy(垂直動き:-16≦Vy≦16)とすると、33×33=1089の箱、すなわち動きベクトルがとり得る値に対応する座標分の箱を用意しておき、動きベクトルが発生した場合、その動きベクトルに対応する座標に1を加算する。例えば、あるサンプル点で(Vx,Vy)=(2,2)のとき、(2,2)の箱に1を足しこむ。これを、領域721内の全サンプル点に対して行うことで、領域721内の動きベクトルの頻度分布が算出される。   For example, if the motion candidates in the region 721 are Vx (horizontal motion: −16 ≦ Vx ≦ 16) and Vy (vertical motion: −16 ≦ Vy ≦ 16), 33 × 33 = 1089 box, that is, a motion vector Boxes for coordinates corresponding to possible values are prepared, and when a motion vector is generated, 1 is added to the coordinates corresponding to the motion vector. For example, when (Vx, Vy) = (2, 2) at a certain sample point, 1 is added to the box of (2, 2). By performing this for all the sample points in the region 721, the motion vector frequency distribution in the region 721 is calculated.

ステップS704において、サンプル点抽出部703は、頻度分布算出部702により算出された動きベクトルの頻度分布に基づいて、入力画像における追尾点Pを中心とした領域721内で、多数を占める動きと類似する動きを示すサンプル点を抽出し、それを追尾対象上の点とする。   In step S <b> 704, the sample point extraction unit 703 is similar to the motion occupying a large number in the region 721 centered on the tracking point P in the input image based on the frequency distribution of the motion vector calculated by the frequency distribution calculation unit 702. A sample point indicating the movement to be extracted is extracted and used as a point on the tracking target.

すなわち、図42の領域721を拡大して図43に示すように、前フレームの入力画像711における人物のオブジェクト722を追尾対象とするように設定された追尾対象の位置である、追尾点Pを中心とした領域721内においては、人物のオブジェクト722が占める割合が多いので、人物のオブジェクト722上のサンプル点から検出される動きベクトル(太線矢印)が多数を占める。   That is, as shown in FIG. 43 by enlarging the area 721 in FIG. 42, the tracking point P, which is the position of the tracking target set so that the human object 722 in the input image 711 of the previous frame is set as the tracking target. Since the human object 722 has a high ratio in the center area 721, motion vectors (thick arrows) detected from sample points on the human object 722 occupy a large number.

したがって、サンプル点抽出部703は、追尾点Pを中心とした領域721内で、多数を占める動きと類似する動きを示すサンプル点を抽出し、追尾対象上の点とする。   Therefore, the sample point extraction unit 703 extracts sample points indicating movement similar to the movement occupying a large number in the area 721 centered on the tracking point P, and sets it as a point on the tracking target.

ステップS705において、重心算出部704は、領域721内の点が、サンプル点抽出部703により抽出された追尾対象のサンプル点であるか否かに基づいて、サンプル点Sa(x,y)の重心G(x,y)を算出する。この算出式は、次の式(6)で表される。   In step S705, the centroid calculation unit 704 determines the centroid of the sample point Sa (x, y) based on whether or not the point in the region 721 is the sample point to be tracked extracted by the sample point extraction unit 703. G (x, y) is calculated. This calculation formula is expressed by the following formula (6).

Figure 2007272735
Figure 2007272735

ここで、flag(i,j)(1≦i≦m,1≦j≦n)は、追尾対象のサンプル点であるか否かを示すフラグであり、サンプル点である場合には、1となり、サンプル点でない場合には、0となる。   Here, flag (i, j) (1 ≦ i ≦ m, 1 ≦ j ≦ n) is a flag indicating whether or not the sample point is a tracking target, and is 1 when it is a sample point. If it is not a sample point, it is 0.

ステップS706において、追尾点更新部705は、重心算出部704により算出された重心G(x,y)に、頻度最大の動きを加算して、追尾点を更新する。   In step S706, the tracking point update unit 705 updates the tracking point by adding the motion with the highest frequency to the center of gravity G (x, y) calculated by the center of gravity calculating unit 704.

そして、更新された追尾点の情報は、追尾結果として、対応する動きベクトル(すなわち、上述した頻度最大の動き)とともに、提示位置算出部42に出力され、追尾処理は終了し、処理は、図4のステップS21に戻り、その後、ステップS22において、提示位置算出部42による位置算出処理が実行される。   Then, the updated tracking point information is output as a tracking result to the presentation position calculation unit 42 together with the corresponding motion vector (that is, the above-described maximum frequency motion), and the tracking process is terminated. Returning to step S21 in step 4, the position calculation process by the presentation position calculation unit 42 is then executed in step S22.

次に、図44を参照して、図3の提示位置算出部42の詳細な構成例と、その動作について説明する。図44は提示位置算出部42の機能的構成例を示すブロック図である。この例では、提示位置算出部42は、追尾対象動きメモリ801、追尾対象位置メモリ802、提示位置メモリ803、重み係数算出部804、および提示位置演算部805により構成される。   Next, a detailed configuration example and operation of the presentation position calculation unit 42 of FIG. 3 will be described with reference to FIG. FIG. 44 is a block diagram illustrating a functional configuration example of the presentation position calculation unit 42. In this example, the presentation position calculation unit 42 includes a tracking target motion memory 801, a tracking target position memory 802, a presentation position memory 803, a weighting coefficient calculation unit 804, and a presentation position calculation unit 805.

追尾対象動きメモリ801は、追尾処理部41からのフレーム毎に求められた追尾対象の動きベクトルを記憶する。すなわち、追尾対象動きメモリ801には、時間的に最後に入力された現フレームの追尾対象の動きベクトルと、現フレームより時間的に前に入力された複数の過去フレームの追尾対象の動きベクトルが記憶されている。また、追尾対象動きメモリ801には、提示位置演算部805によるフィルタリングの対象が動きベクトルの場合、フィルタリングされた複数の過去フレームの動きベクトルも記憶される。   The tracking target motion memory 801 stores the tracking target motion vector obtained for each frame from the tracking processing unit 41. That is, the tracking target motion memory 801 includes the tracking target motion vector of the current frame input last in time and the tracking target motion vectors of a plurality of past frames input temporally before the current frame. It is remembered. The tracking target motion memory 801 also stores motion vectors of a plurality of past frames that have been filtered when the target of filtering by the presentation position calculation unit 805 is a motion vector.

追尾対象位置メモリ802は、追尾処理部41からのフレーム毎に求められた追尾結果である追尾点の位置(以下、追尾対象位置とも称する)の情報を記憶する。すなわち、追尾対象位置メモリ802には、時間的に最後に入力された現フレームの追尾対象位置と、現フレームより時間的に前に入力された複数の過去フレームの追尾対象位置が記憶されている。   The tracking target position memory 802 stores information on the position of the tracking point (hereinafter also referred to as the tracking target position), which is the tracking result obtained for each frame from the tracking processing unit 41. That is, the tracking target position memory 802 stores the tracking target position of the current frame input last in time and the tracking target positions of a plurality of past frames input temporally before the current frame. .

提示位置メモリ803には、必要に応じて、フィルタリングされた複数の過去フレームの提示位置が記憶される。   The presentation position memory 803 stores the presentation positions of a plurality of past frames that have been filtered as necessary.

重み係数算出部804は、提示位置演算部805が行うフィルタリングに用いる重み係数を算出し、算出した重み係数を提示位置演算部805に供給する。なお、図44の例において、重み係数は、固定値(例えば、0.8など)が用いられる。   The weighting factor calculation unit 804 calculates a weighting factor used for filtering performed by the presentation position calculation unit 805, and supplies the calculated weighting factor to the presentation position calculation unit 805. In the example of FIG. 44, a fixed value (for example, 0.8) is used as the weighting coefficient.

提示位置演算部805は、追尾対象動きメモリ801、追尾対象位置メモリ802、および提示位置メモリ803に記憶される情報のうち、フィルタリングの対象となる情報に対して、時間方向のフィルタリングを行うことで、現フレームの提示位置を求め、その情報を、ズーム画像作成部24に出力する。なお、必要に応じて、フィルタリングを行った結果は、対応するメモリ(追尾対象動きメモリ801乃至提示位置メモリ803のいずれか)に記憶され、次の処理単位の演算に用いられる。   The presentation position calculation unit 805 performs filtering in the time direction on the information to be filtered among the information stored in the tracking target motion memory 801, the tracking target position memory 802, and the presentation position memory 803. The presentation position of the current frame is obtained, and the information is output to the zoom image creation unit 24. If necessary, the result of filtering is stored in the corresponding memory (any one of the tracking target motion memory 801 to the presentation position memory 803) and used for the calculation of the next processing unit.

次に、図45のフローチャートを参照して、図4のステップS22の提示位置算出処理の詳細について説明する。なお、図45の例においては、時刻tの処理が行われる場合を説明する。   Next, details of the presentation position calculation process in step S22 of FIG. 4 will be described with reference to the flowchart of FIG. In the example of FIG. 45, a case where processing at time t is performed will be described.

ここで、追尾処理部41により求められる、時刻tおよび時刻t-1の2フレームについて推定された追尾対象の動きベクトルv(t) (以下、時刻tの動きベクトルv(t)と称する)、追尾処理部41により求められる時刻tにおける追尾対象位置x(t)、時刻tにおいて求められる提示位置X(t)とする。また、このとき、追尾対象位置x(t)と、追尾対象動きベクトルv(t)の関係は、次の式(7)で表される。すなわち、時刻tの追尾対象位置x(t)は、時刻tより1つ前の時刻t-1の追尾対象位置x(t-1)に、時刻tの動きベクトルv(t)が加算されて求められたものである。   Here, the tracking target motion vector v (t) obtained by the tracking processing unit 41 estimated for two frames at time t and time t−1 (hereinafter referred to as motion vector v (t) at time t), The tracking target position x (t) at time t determined by the tracking processing unit 41 and the presentation position X (t) determined at time t. At this time, the relationship between the tracking target position x (t) and the tracking target motion vector v (t) is expressed by the following equation (7). That is, the tracking target position x (t) at time t is obtained by adding the motion vector v (t) at time t to the tracking target position x (t-1) at time t-1 immediately before time t. It is what was sought.

Figure 2007272735
Figure 2007272735

ステップS801において、制御部29は、各メモリ内を初期化する。すなわち、追尾対象動きメモリ801に記憶される動きベクトル、追尾対象位置メモリ802に記憶される追尾対象位置、および提示位置メモリ803に記憶される提示位置に、すべて0が設定される。   In step S801, the control unit 29 initializes each memory. That is, 0 is set for all of the motion vector stored in the tracking target motion memory 801, the tracking target position stored in the tracking target position memory 802, and the presentation position stored in the presentation position memory 803.

図10のステップS125において追尾処理部41により追尾点が決定されると、時刻tの追尾結果である追尾対象位置x(t)が追尾対象位置メモリ802に記憶され、時刻tの動きベクトルv(t)が、追尾対象動きメモリ801に記憶される。   When the tracking point is determined by the tracking processing unit 41 in step S125 of FIG. 10, the tracking target position x (t), which is the tracking result at time t, is stored in the tracking target position memory 802, and the motion vector v ( t) is stored in the tracking target motion memory 801.

ステップS802において、提示位置演算部805は、追尾対象位置メモリ802から、時刻tの追尾対象位置x(t)を読み出し、追尾対象位置x(t)に対して、重み係数を用いて、時間方向のフィルタリングを行う。なお、過去において求められた提示位置がある場合、提示位置メモリ803から、過去の提示位置が読み出され、追尾対象位置x(t)および過去の提示位置に対して、重み係数を用いて、時間方向のフィルタリングが行われる。   In step S802, the presentation position calculation unit 805 reads the tracking target position x (t) at time t from the tracking target position memory 802, and uses the weighting coefficient for the tracking target position x (t) in the time direction. Perform filtering. When there is a presentation position obtained in the past, the past presentation position is read from the presentation position memory 803, and the tracking target position x (t) and the past presentation position are used with weighting factors. Time-direction filtering is performed.

すなわち、提示位置演算部805は、追尾対象位置x(t) および過去の提示位置(例えば、提示位置X(t-1))に対して、重み係数算出部804により指定された重み係数を用いて重み付け演算を行い、時刻tの提示位置X(t)を求める。時刻tの提示位置X(t)は、次の式(8)で求められる。   That is, the presentation position calculation unit 805 uses the weighting factor specified by the weighting factor calculation unit 804 for the tracking target position x (t) and the past presentation position (for example, the presentation position X (t−1)). To calculate the presentation position X (t) at time t. The presentation position X (t) at time t is obtained by the following equation (8).

Figure 2007272735
Figure 2007272735

ここで、・は、乗算を表す。また、α0は、現在フレーム(いまの場合、時刻tのフレーム)に対する重み係数であり、α1,…,αnは、過去フレーム(例えば、時刻t-1,…,時刻t-nのフレーム)に対する重み係数である。これ以降の他の式についても同様である。なお、式(8)においては、α0は、時刻tの追尾対象位置x(t) の重み付けに用いられており、式(8)においては、時刻t-1,…,時刻t-nの提示位置X(t-1) …,提示位置X(t-n)の重み付けに用いられている。また、初回の処理においては、過去の提示位置はステップS801において初期化されているので、式(8)よりステップS802においては、X(t) =α0・x(t)が演算される。   Here, · represents multiplication. Α0 is a weighting factor for the current frame (in this case, a frame at time t), and α1,..., Αn are weighting factors for past frames (for example, frames at time t−1,..., Time tn). It is. The same applies to other expressions thereafter. In Expression (8), α0 is used for weighting the tracking target position x (t) at time t. In Expression (8), the presentation position X at time t−1,..., Time tn. (t-1) ..., used for weighting the presentation position X (tn). In the first processing, since the past presentation position is initialized in step S801, X (t) = α0 · x (t) is calculated in step S802 from equation (8).

ステップS803において、提示位置演算部805は、求めた提示位置X(t)を、提示位置メモリ803に記憶するとともに、提示位置X(t)の情報を、ズーム画像作成部24に出力する。   In step S <b> 803, the presentation position calculation unit 805 stores the obtained presentation position X (t) in the presentation position memory 803 and outputs information on the presentation position X (t) to the zoom image creation unit 24.

その後、処理は、ステップS802に戻り、次の時刻t+1のフレームについての処理が実行される。すなわち、追尾処理部41により、追尾対象位置メモリ802には、時刻t+1の追尾結果である追尾対象位置x(t+1)が記憶され、対象動きメモリ801には、時刻t+1と時刻tの2フレームについて推定された時刻t+1の動きベクトルv(t+1)が記憶される。   Thereafter, the process returns to step S802, and the process for the next frame at time t + 1 is executed. That is, the tracking processing unit 41 stores the tracking target position x (t + 1), which is the tracking result at time t + 1, in the tracking target position memory 802, and the target motion memory 801 stores time t + 1. A motion vector v (t + 1) at time t + 1 estimated for two frames at time t is stored.

ステップS802において、提示位置演算部805は、追尾対象位置メモリ802から、時刻t+1の追尾対象位置x(t+1)を読み出し、提示位置メモリ803から、前回のステップS802で求められた時刻tの提示位置X(t)を読み出し、追尾対象位置x(t+1)と提示位置X(t)に対して、重み係数α0およびα1(例えば、α0=0.2,α1=0.8)を用いて重み付け演算を行い、時刻t+1の提示位置X(t+1)を求める。すなわち、この場合、式(8)よりステップS802においては、X(t+1)=α0・x(t+1) +α1・X(t)が演算される。   In step S802, the presentation position calculation unit 805 reads the tracking target position x (t + 1) at time t + 1 from the tracking target position memory 802, and the time obtained in the previous step S802 from the presentation position memory 803. The presentation position X (t) of t is read out, and weighting coefficients α0 and α1 (for example, α0 = 0.2, α1 = 0.8) are used for the tracking target position x (t + 1) and the presentation position X (t). A weighting calculation is performed to obtain the presentation position X (t + 1) at time t + 1. That is, in this case, X (t + 1) = α0 · x (t + 1) + α1 · X (t) is calculated in step S802 from Equation (8).

ステップS803において、提示位置演算部805は、求めた提示位置X(t+1)を、提示位置メモリ803に記憶するとともに、提示位置X(t+1)の情報を、ズーム画像作成部24に出力し、処理は、ステップS802に戻り、それ以降の処理が繰り返される。   In step S <b> 803, the presentation position calculation unit 805 stores the obtained presentation position X (t + 1) in the presentation position memory 803, and sends information about the presentation position X (t + 1) to the zoom image creation unit 24. The process returns to step S802, and the subsequent processing is repeated.

次に、この提示位置算出処理、すなわち、時間方向のフィルタリング処理を、図46を参照して詳しく説明する。図46の例においては、図44の提示位置演算部805の構成が示されている。この場合、提示位置演算部805は、演算器821、加算器822、遅延部823、および演算器824により構成されている。演算器821および演算器824には、重み係数算出部804により重み係数α0およびα1(α0+α1=1)がそれぞれ設定されている。   Next, the presentation position calculation process, that is, the filtering process in the time direction will be described in detail with reference to FIG. In the example of FIG. 46, the configuration of the presentation position calculation unit 805 of FIG. 44 is shown. In this case, the presentation position calculation unit 805 includes a calculator 821, an adder 822, a delay unit 823, and a calculator 824. In the calculator 821 and the calculator 824, weighting factors α0 and α1 (α0 + α1 = 1) are set by the weighting factor calculator 804, respectively.

演算器821は、追尾処理部41により時刻tの追尾対象位置x(t)が入力されると、入力された追尾対象位置x(t)に、重み係数α0を乗算し、その結果(すなわち、α0・x(t))を加算器822に出力する。このとき加算器822には、演算器824から、時刻tの1つ前の時刻t-1で求められた提示対象位置X(t-1)に重み係数α1が乗算されたもの(α1・X(t-1))も入力されている。   When the tracking target position x (t) at time t is input by the tracking processing unit 41, the computing unit 821 multiplies the input tracking target position x (t) by the weighting coefficient α0, and the result (ie, α0 · x (t)) is output to the adder 822. At this time, the adder 822 is obtained by multiplying the presentation target position X (t−1) obtained at the time t−1 immediately before the time t by the arithmetic unit 824 by the weighting coefficient α1 (α1 · X (t-1)) is also input.

加算器822は、演算器821から入力と、演算器824からの入力を加算して、その結果(α0・x(t)+α1・X(t-1))を、時刻tの提示対象位置X(t)として、後段のズーム画像作成部24および遅延部823に出力する。   The adder 822 adds the input from the calculator 821 and the input from the calculator 824, and the result (α 0 · x (t) + α 1 · X (t−1)) is given as the presentation target position X at time t. (t) is output to the zoom image creation unit 24 and the delay unit 823 in the subsequent stage.

遅延部823は、時刻tの提示対象位置X(t)を1フレーム遅延させて、演算器824に出力する。演算器824は、時刻tの提示対象位置X(t)に重み係数α1を乗算し、その結果(すなわち、α1・X(t))を加算器822に出力する。   The delay unit 823 delays the presentation target position X (t) at time t by one frame and outputs the delayed result to the calculator 824. The computing unit 824 multiplies the presentation target position X (t) at time t by the weighting coefficient α1, and outputs the result (ie, α1 · X (t)) to the adder 822.

このとき加算器822には、演算器821から次の時刻t+1のα0・x(t+1)も入力されているので、加算器822は、演算器821から入力と、演算器824からの入力を加算して、その結果(α0・x(t+1)+α1・X(t))を、時刻t+1の提示対象位置X(t+1)として、後段のズーム画像作成部24および遅延部823に出力する。   At this time, α0 · x (t + 1) at the next time t + 1 is also input to the adder 822 from the calculator 821, so that the adder 822 is input from the calculator 821 and input from the calculator 824. And the result (α0 · x (t + 1) + α1 · X (t)) is set as the presentation target position X (t + 1) at time t + 1 and the zoom image creation unit 24 and the delay in the latter stage Output to the unit 823.

以上のように、時刻tの提示位置は、追尾対象位置の時間方向のフィルタリング、すなわち、時刻tの追尾対象位置と時刻t-1の提示位置に対して、重み付けを付けて演算することで算出される。   As described above, the presentation position at time t is calculated by filtering the tracking target position in the time direction, that is, by calculating with weighting the tracking target position at time t and the presentation position at time t-1. Is done.

これにより、例えば、追尾対象が、スキー競技など上下、左右に振動があるような動きや加速度の急な動きを行った場合であっても、それらの動きを滑らかに表示させることができる。   Thereby, for example, even when the tracking target performs a motion that vibrates vertically and horizontally, such as a ski competition, or a sudden motion of acceleration, the motion can be displayed smoothly.

なお、この時刻tの提示位置の演算に用いられる、時刻t-1の提示位置は、さらに、時刻t-1の追尾対象位置と時刻t-2の提示位置に対して、重み付けを付けて演算することで算出されている。すなわち、図46の例においては、提示位置演算部805が、IIR(Infinite Impulse Response)フィルタで構成されている場合が示されており、これにより求められる時刻tの提示位置は、演算開始からの過去のフレームにおける追尾対象位置をずっと受け継いだものである。   The presentation position at time t-1 used for the calculation of the presentation position at time t is further calculated by weighting the tracking target position at time t-1 and the presentation position at time t-2. It is calculated by doing. That is, in the example of FIG. 46, the case where the presentation position calculation unit 805 is configured by an IIR (Infinite Impulse Response) filter is shown, and the presentation position at time t obtained by this is calculated from the start of calculation. The tracking target position in the past frame has been inherited.

これに対して、提示位置演算部805は、FIR (Finite Impulse Response)フィルタで構成されることもできる。提示位置演算部805をFIRフィルタで構成することにより、時刻tの提示位置は、演算開始からの過去のフレームにおける追尾対象位置を受け継がずに求めることも可能である。この場合の提示位置演算部805の構成の図示は省略するが、時刻tの提示位置X(t)は、次の式(9)で求められる。   On the other hand, the presentation position calculation unit 805 can also be configured with a FIR (Finite Impulse Response) filter. By configuring the presentation position calculation unit 805 with an FIR filter, the presentation position at time t can be obtained without inheriting the tracking target position in the past frame from the calculation start. Although the illustration of the configuration of the presentation position calculation unit 805 in this case is omitted, the presentation position X (t) at time t is obtained by the following equation (9).

Figure 2007272735
Figure 2007272735

また、以上においては、追尾対象位置メモリ802に記憶された追尾対象位置x(t)を対象として、時間方向のフィルタリングを行うことにより、提示位置を算出する場合を説明したが、追尾対象動きメモリ801に記憶された追尾対象の動きベクトルv(t)を対象として、上述した追尾対象位置x(t)の場合と同様の時間方向のフィルタリングを行うことにより、提示位置を算出することもできる。   In the above description, the case where the presentation position is calculated by filtering in the time direction for the tracking target position x (t) stored in the tracking target position memory 802 has been described. The presentation position can also be calculated by performing filtering in the time direction similar to the case of the tracking target position x (t) described above for the tracking target motion vector v (t) stored in 801.

この場合、提示位置演算部805は、追尾対象動きメモリ801から、時刻tの動きベクトルv(t)を読み出し、動きベクトルv(t)に対して、時間方向のフィルタリングを行う。すなわち、提示位置演算部805は、動きベクトルv(t)に対して、重み係数算出部804により指定された重み係数を用いて重み付け演算を行い、フィルタリング(重み付け演算)後の動きベクトルV(t)を求め、その動きベクトルV(t)を用いて時刻tの提示位置X(t)を求める。提示位置演算部805がIIRフィルタで構成される場合には、時刻tの提示位置X(t)は、次の式(10)で求められる。   In this case, the presentation position calculation unit 805 reads the motion vector v (t) at time t from the tracking target motion memory 801, and performs filtering in the time direction on the motion vector v (t). That is, the presentation position calculation unit 805 performs a weighting operation on the motion vector v (t) using the weighting factor specified by the weighting factor calculation unit 804, and performs a motion vector V (t after filtering (weighting calculation). ) And the presentation position X (t) at time t is obtained using the motion vector V (t). When the presentation position calculation unit 805 is configured with an IIR filter, the presentation position X (t) at time t is obtained by the following equation (10).

Figure 2007272735
Figure 2007272735

すなわち、重み付け係数α0により、時刻tの動きベクトルv(t)は、重み付けされ、重み付け係数α1,…,αnにより、それぞれ、時刻t-1,…,時刻t-nでフィルタリング後の動きベクトルV(t-1),…,V(t-n)は、重み付けされて演算されて、時刻tの動きベクトルV(t)が求められ、さらに、時刻tの動きベクトルV(t)と、時刻t-1の追尾対象位置x(t-1)から、時刻tの提示位置X(t)が求められている。なお、このとき求められたフィルタリング(重み付け演算)後の動きベクトルV(t)は、追尾対象動きメモリ801に記憶される。   That is, the motion vector v (t) at time t is weighted by the weighting coefficient α0, and the motion vector V (t after filtering at time t−1,..., Time tn by the weighting coefficients α1,. -1),..., V (tn) are weighted and calculated to obtain the motion vector V (t) at time t, and further, the motion vector V (t) at time t and the time t-1 The presentation position X (t) at time t is obtained from the tracking target position x (t-1). The motion vector V (t) after filtering (weighting calculation) obtained at this time is stored in the tracking target motion memory 801.

再度、図45を参照して、例えば、時刻t+1の動きベクトルを時間方向にフィルタリングする場合を簡単に説明すると、すなわち、追尾処理部41により、追尾対象位置メモリ802には、時刻t+1の追尾結果である追尾対象位置x(t+1)が記憶され、追尾対象動きメモリ801には、時刻t+1と時刻tの2フレームについて推定された時刻t+1の動きベクトルv(t+1)が記憶される。   Referring to FIG. 45 again, for example, a case where the motion vector at time t + 1 is filtered in the time direction will be briefly described. That is, the tracking processing unit 41 stores the time t + in the tracking target position memory 802. The tracking target position x (t + 1) that is the tracking result of 1 is stored, and the tracking target motion memory 801 stores the motion vector v (at time t + 1 estimated for two frames at time t + 1 and time t. t + 1) is stored.

ステップS802において、提示位置演算部805は、追尾対象動きメモリ801から、動きベクトルv(t+1)と、前回(時刻t)のステップS802でフィルタリング(重み付け演算)された動きベクトルV(t)を読み出し、動きベクトルv(t+1)と動きベクトルV(t)に対して、重み係数α0およびα1(例えば、α0=0.2,α1=0.8)を用いて重み付け演算を行い、時刻t+1のフィルタリング(重み付け演算)された動きベクトルV(t+1)を求める。そして、提示位置演算部805は、追尾対象位置メモリ802から、前回(時刻t)において記憶されている時刻tの追尾対象位置x(t)を読み出し、動きベクトルV(t+1)を用いて、時刻t+1の提示位置X(t+1)を求める。   In step S802, the presentation position calculation unit 805 extracts the motion vector v (t + 1) from the tracking target motion memory 801 and the motion vector V (t) filtered (weighted) in step S802 of the previous time (time t). , A weighting operation is performed on the motion vector v (t + 1) and the motion vector V (t) using weighting coefficients α0 and α1 (for example, α0 = 0.2, α1 = 0.8), and time t + 1 The motion vector V (t + 1) that has been filtered (weighted) is obtained. The presentation position calculation unit 805 reads the tracking target position x (t) at time t stored in the previous time (time t) from the tracking target position memory 802, and uses the motion vector V (t + 1). The presentation position X (t + 1) at time t + 1 is obtained.

すなわち、この場合、式(10)より、ステップS802においては、V(t+1)=α0・v(t+1)+α1・V(t)が求められ、さらに、X(t+1)=x(t)+V(t+1)が求められる。なお、このとき、時刻tの追尾対象位置x(t)ではなく、前回(時刻t)のステップS802で求められた時刻tの提示位置X(t)を読み出して、X(t+1)=X(t)+V(t+1)を求めることもできる。   That is, in this case, V (t + 1) = α0 · v (t + 1) + α1 · V (t) is obtained in step S802 from equation (10), and X (t + 1) = x (t) + V (t + 1) is obtained. At this time, instead of the tracking target position x (t) at time t, the presentation position X (t) at time t obtained in step S802 of the previous time (time t) is read, and X (t + 1) = X (t) + V (t + 1) can also be obtained.

以上のように、追尾対象動きメモリ801に記憶された追尾対象の動きベクトルv(t)を対象として時間方向のフィルタリングを行うことでも提示位置を算出することもできる   As described above, the presentation position can be calculated by performing filtering in the time direction on the tracking target motion vector v (t) stored in the tracking target motion memory 801.

なお、上述したように、動きベクトルを時間方向にフィルタリングする場合にも、提示位置演算部805をFIRフィルタで構成することもできる。提示位置演算部805をFIRフィルタで構成することにより、時刻tの提示位置は、演算開始からの過去のフレームにおける追尾対象の動き(ベクトル)を受け継がずに求めることも可能である。この場合の図示は省略するが、時刻tの提示位置X(t)は、次の式(11)で求められる。   As described above, also when the motion vector is filtered in the time direction, the presentation position calculation unit 805 can be configured by an FIR filter. By configuring the presentation position calculation unit 805 with an FIR filter, the presentation position at time t can be obtained without inheriting the movement (vector) of the tracking target in the past frame from the start of calculation. Although illustration in this case is omitted, the presentation position X (t) at time t is obtained by the following equation (11).

Figure 2007272735
Figure 2007272735

以上においては、フィルタリングの対象が追尾対象位置であり、フィルタ構成がIIRフィルタである場合と、フィルタリングの対象が追尾対象位置であり、フィルタ構成がFIRフィルタである場合、フィルタリングの対象が、追尾対象の動きベクトルであり、フィルタ構成がIIRフィルタである場合と、フィルタリングの対象が、追尾対象の動きベクトルであり、フィルタ構成がFIRフィルタである場合の4種類のバリエーションを説明したが、どのバリエーションを用いても、上述したフィルタリングの対象が追尾対象位置であり、フィルタ構成がIIRフィルタである場合と同様の効果があげられる。   In the above, when the filtering target is the tracking target position and the filter configuration is the IIR filter, and when the filtering target is the tracking target position and the filter configuration is the FIR filter, the filtering target is the tracking target. 4 types of variations have been described, when the filter configuration is an IIR filter, and the filtering target is a tracking target motion vector and the filter configuration is an FIR filter. Even if it uses, the effect similar to the case where the object of filtering mentioned above is a tracking object position and a filter structure is an IIR filter is mention | raise | lifted.

すなわち、例えば、追尾対象が、スキー競技など上下、左右に振動があるような動きや加速度の急な動きを行った場合であっても、それらの動きを滑らかに表示させることができる。   That is, for example, even when the tracking target performs a motion that vibrates up and down, left and right, such as a ski competition, or a sudden motion of acceleration, those motions can be displayed smoothly.

図47は、提示位置算出部42の機能的構成の他の例を示すブロック図である。図47の例においては、重み係数算出部804が重み係数算出部841と入れ替わった点が図44の提示位置算出部42と異なっているが、追尾対象動きメモリ801、追尾対象位置メモリ802、提示位置メモリ803、および提示位置演算部805を備えている点は、共通している。   FIG. 47 is a block diagram illustrating another example of the functional configuration of the presentation position calculation unit 42. 47 differs from the presentation position calculation unit 42 in FIG. 44 in that the weight coefficient calculation unit 804 is replaced with the weight coefficient calculation unit 841, but the tracking target motion memory 801, the tracking target position memory 802, and the presentation The point which has the position memory 803 and the presentation position calculating part 805 is common.

図47の例において、重み係数算出部841は、追尾対象動きメモリ801に記憶される、現フレームの追尾対象の動きベクトルを監視し、現フレームの動きベクトルの大きさに応じて、重み係数の値を算出し、算出した重み係数を提示位置演算部805に供給する。   In the example of FIG. 47, the weighting coefficient calculation unit 841 monitors the tracking target motion vector of the current frame stored in the tracking target motion memory 801, and determines the weighting coefficient according to the magnitude of the motion vector of the current frame. A value is calculated, and the calculated weighting coefficient is supplied to the presentation position calculation unit 805.

次に、図48のフローチャートを参照して、図4のステップS22の提示位置算出処理の詳細について説明する。なお、図48のステップS841,S845,およびS846の処理は、図45のステップS801乃至S803の処理と同様の処理を行うので、その詳細な説明は適宜省略する。   Next, details of the presentation position calculation process in step S22 of FIG. 4 will be described with reference to the flowchart of FIG. Note that the processing in steps S841, S845, and S846 in FIG. 48 is the same as the processing in steps S801 to S803 in FIG. 45, and thus detailed description thereof will be omitted as appropriate.

ステップS841において、制御部29は、各メモリ内を初期化する。すなわち、追尾対象動きメモリ801に記憶される動きベクトル、追尾対象位置メモリ802に記憶される追尾対象位置、および提示位置メモリ803に記憶される提示位置に、すべて0が設定される。   In step S841, the control unit 29 initializes each memory. That is, 0 is set for all of the motion vector stored in the tracking target motion memory 801, the tracking target position stored in the tracking target position memory 802, and the presentation position stored in the presentation position memory 803.

図10のステップS125において追尾処理部41により追尾点が決定されると、時刻tの追尾結果である追尾対象位置x(t)が追尾対象位置メモリ802に記憶され、時刻tの動きベクトルv(t)が、対象動きメモリ801に記憶される。   When the tracking point is determined by the tracking processing unit 41 in step S125 of FIG. 10, the tracking target position x (t), which is the tracking result at time t, is stored in the tracking target position memory 802, and the motion vector v ( t) is stored in the target motion memory 801.

ステップS842において、重み係数算出部841は、時刻tの動きベクトルv(t)が閾値よりも小さいか否かを判定し、時刻tの動きベクトルv(t)が閾値よりも大きいと判定した場合、ステップS843に進み、時刻tの追尾対象位置x(t)に付ける(すなわち、現フレームに対する)重み係数を、時刻tの動きベクトルv(t)の絶対値に応じて求める。   In step S842, the weight coefficient calculation unit 841 determines whether or not the motion vector v (t) at time t is smaller than the threshold, and determines that the motion vector v (t) at time t is larger than the threshold. In step S843, a weighting coefficient (that is, for the current frame) attached to the tracking target position x (t) at time t is obtained according to the absolute value of the motion vector v (t) at time t.

図49を参照して、具体的に説明する。図49の例においては、横軸が時刻tの動きベクトルv(t)の絶対値を表し、縦軸が現フレーム(時刻t)に対する重み係数α0を表しており、閾値として5が設定されている場合が示されている。図49に示されるように、時刻tの動きベクトルv(t)の絶対値が0のときには、現フレームに対する重み係数α0は、0.5であり、時刻tの動きベクトルv(t)の絶対値が5のときに、現フレームに対する重み係数α0が、1となるように、0.5に、動きベクトルv(t)の絶対値と0.1の積が加算されて、現フレームに対する重み係数α0は算出される。そして、過去フレームに対する重み係数α1は、現フレームに対する重み係数α0に応じて算出される。   This will be specifically described with reference to FIG. In the example of FIG. 49, the horizontal axis represents the absolute value of the motion vector v (t) at time t, the vertical axis represents the weighting coefficient α0 for the current frame (time t), and 5 is set as the threshold value. The case is shown. As shown in FIG. 49, when the absolute value of the motion vector v (t) at time t is 0, the weighting coefficient α0 for the current frame is 0.5, and the absolute value of the motion vector v (t) at time t is When 5, the product of the absolute value of the motion vector v (t) and 0.1 is added to 0.5 so that the weighting coefficient α0 for the current frame becomes 1, and the weighting coefficient α0 for the current frame is calculated. . The weight coefficient α1 for the past frame is calculated according to the weight coefficient α0 for the current frame.

すなわち、動きベクトルが大きい場合に、現フレームに対する重み係数の重みは上げられる。現フレームに対する重み係数α0と過去フレームに対する重み係数α1は、次の式(12)により算出される。   That is, when the motion vector is large, the weighting factor for the current frame is increased. The weighting coefficient α0 for the current frame and the weighting coefficient α1 for the past frame are calculated by the following equation (12).

Figure 2007272735
Figure 2007272735

一方、時刻tの動きベクトルv(t)が閾値よりも小さいと判定された場合、処理は、ステップS844に進み、重み係数算出部841は、0を現フレーム(すなわち、時刻t)に対する重み係数α0とし、1を過去フレームに対する重み係数α1とする。すなわち、α0=0,α1=1となり、時刻tの提示位置に、時刻tの追尾対象位置x(t)は、反映されなくなる。   On the other hand, when it is determined that the motion vector v (t) at time t is smaller than the threshold value, the process proceeds to step S844, and the weighting coefficient calculation unit 841 sets 0 as the weighting coefficient for the current frame (ie, time t). α0 is set, and 1 is a weighting factor α1 for the past frame. That is, α0 = 0 and α1 = 1, and the tracking target position x (t) at time t is not reflected in the presentation position at time t.

ステップS845において、提示位置演算部805は、追尾対象位置メモリ802から、時刻tの追尾対象位置x(t)を読み出し、前回のステップS845で求められた時刻t-1の提示位置X(t-1)を読み出し、追尾対象位置x(t)および提示位置X(t-1)に対して、時間方向のフィルタリングを行う。すなわち、提示位置演算部805は、ステップS843またはS844において重み係数算出部841により算出された重み係数を用いて重み付け演算を行い、時刻tの提示位置X(t)を求める。   In step S845, the presentation position calculation unit 805 reads the tracking target position x (t) at time t from the tracking target position memory 802 and presents the presentation position X (t−t−t-1) obtained in the previous step S845. 1) is read out, and filtering in the time direction is performed on the tracking target position x (t) and the presentation position X (t−1). That is, the presentation position calculation unit 805 performs weighting calculation using the weighting coefficient calculated by the weighting coefficient calculation unit 841 in step S843 or S844, and obtains the presentation position X (t) at time t.

ステップS846において、提示位置演算部805は、求めた時刻tの提示位置X(t)を、提示位置メモリ803に記憶するとともに、提示位置X(t)の情報を、ズーム画像作成部24に出力する。   In step S846, the presentation position calculation unit 805 stores the obtained presentation position X (t) at time t in the presentation position memory 803, and outputs information on the presentation position X (t) to the zoom image creation unit 24. To do.

その後、処理は、ステップS842に戻り、次の時刻t+1のフレームについての処理が実行される。   Thereafter, the process returns to step S842, and the process for the next frame at time t + 1 is executed.

以上のように、現フレームの動きが小さい場合には、現フレームの追尾結果を提示位置には、反映させず、現フレームの動きが大きい場合には、大きさに応じて、現フレームの追尾結果を提示位置に活かすようにすることで、上述した追尾対象の、スキー競技など上下、左右に振動があるような動きや加速度の急な動きを、さらに滑らかに表示させることができる。   As described above, when the movement of the current frame is small, the tracking result of the current frame is not reflected in the presentation position. When the movement of the current frame is large, the tracking of the current frame is performed according to the size. By making use of the result at the presentation position, it is possible to more smoothly display the above-described tracking target, such as a skiing competition, such as a motion with vertical and horizontal vibrations or a sudden acceleration.

なお、他の例としては、例えば、重み付けによる提示位置算出処理を行っている場合に、現フレームの動きがある閾値より大きい場合には、求められた追尾点をそのまま提示位置にさせるようにしてもよいし、あるいは、現フレームの動きがある閾値より小さくなったときに、初めて、上述した重み付けによる提示位置算出処理を行わせるようにすることもできる。   As another example, for example, when the presentation position calculation process by weighting is performed, if the movement of the current frame is larger than a certain threshold value, the obtained tracking point is set as the presentation position as it is. Alternatively, the presentation position calculation process by weighting described above may be performed only when the motion of the current frame becomes smaller than a certain threshold value.

図50は、提示位置算出部42のさらに他の機能的構成例を示すブロック図である。図50の例においては、提示位置演算部805が、提示位置演算部862と入れ替わった点、および動き判定部861が追加された点が図44の提示位置算出部42と異なっているが、追尾対象動きメモリ801、追尾対象位置メモリ802、提示位置メモリ803、および重み係数算出部804を備えている点は、共通している。   FIG. 50 is a block diagram illustrating still another functional configuration example of the presentation position calculation unit 42. In the example of FIG. 50, the presentation position calculation unit 805 is different from the presentation position calculation unit 42 of FIG. 44 in that the presentation position calculation unit 805 is replaced with the presentation position calculation unit 862 and the movement determination unit 861 is added. It is common to have a target motion memory 801, a tracking target position memory 802, a presentation position memory 803, and a weighting coefficient calculation unit 804.

図50の例において、動き判定部861は、追尾対象動きメモリ801に記憶される、各フレームの追尾対象の動きベクトルを加算し、その和を内蔵するメモリ(図示せぬ)に記憶する。動き判定部861は、内蔵するメモリに記憶される動きベクトルの和が閾値以上であるか否かを判定し、その判定結果を、提示位置演算部862に供給する。   In the example of FIG. 50, the motion determination unit 861 adds the motion vector of the tracking target of each frame stored in the tracking target motion memory 801, and stores the sum in a memory (not shown) containing the sum. The motion determination unit 861 determines whether or not the sum of motion vectors stored in the built-in memory is equal to or greater than a threshold value, and supplies the determination result to the presentation position calculation unit 862.

提示位置演算部862は、動き判定部861により各フレームの追尾対象の動きベクトルの和が閾値以上であると判定された場合、追尾対象動きメモリ801、追尾対象位置メモリ802、および提示位置メモリ803に記憶される情報のうち、フィルタリングの対象となる情報に対して、時間方向のフィルタリングを行うことで、現フレームの提示位置を求め、その情報を、ズーム画像作成部24に出力する。   If the motion determination unit 861 determines that the sum of the tracking target motion vectors of each frame is equal to or greater than the threshold, the presentation position calculation unit 862 follows the tracking target motion memory 801, the tracking target position memory 802, and the presentation position memory 803. The information to be filtered is subjected to filtering in the time direction with respect to the information to be filtered, and the present frame presentation position is obtained, and the information is output to the zoom image creation unit 24.

一方、動き判定部861により各フレームの追尾対象の動きベクトルの和が閾値以上はないと判定された場合、それらのフレーム間における動きが、上下または左右振動であるとし、提示位置演算部862は、前フレームの提示位置から、提示位置を変えない。すなわち、表示上の追尾は、行われない。   On the other hand, when it is determined by the motion determination unit 861 that the sum of the motion vectors to be tracked for each frame is not equal to or greater than the threshold, it is assumed that the motion between the frames is vertical or horizontal vibration, and the presentation position calculation unit 862 The presentation position is not changed from the presentation position of the previous frame. That is, tracking on the display is not performed.

次に、図51のフローチャートを参照して、図4のステップS22の提示位置算出処理の詳細について説明する。なお、図51のステップS861,S865,およびS867の処理は、図45のステップS801乃至S803の処理と同様の処理を行うので、その詳細な説明は適宜省略する。   Next, details of the presentation position calculation process in step S22 of FIG. 4 will be described with reference to the flowchart of FIG. Note that the processing in steps S861, S865, and S867 in FIG. 51 is the same as the processing in steps S801 to S803 in FIG. 45, and thus detailed description thereof is omitted as appropriate.

ステップS861において、制御部29は、各メモリ内を初期化する。すなわち、追尾対象動きメモリ801に記憶される動きベクトル、追尾対象位置メモリ802に記憶される追尾対象位置、および提示位置メモリ803に記憶される提示位置に、すべて0が設定される。なお、このとき、動き判定部861に内蔵のメモリに記憶される動きベクトルの和sumも0に設定される。   In step S861, the control unit 29 initializes each memory. That is, 0 is set for all of the motion vector stored in the tracking target motion memory 801, the tracking target position stored in the tracking target position memory 802, and the presentation position stored in the presentation position memory 803. At this time, the sum sum of motion vectors stored in a memory built in the motion determination unit 861 is also set to zero.

図10のステップS125において追尾処理部41により追尾点が決定されると、時刻tの追尾結果である追尾対象位置x(t)が追尾対象位置メモリ802に記憶され、時刻tの動きベクトルv(t)が、追尾対象動きメモリ801に記憶される。   When the tracking point is determined by the tracking processing unit 41 in step S125 of FIG. 10, the tracking target position x (t), which is the tracking result at time t, is stored in the tracking target position memory 802, and the motion vector v ( t) is stored in the tracking target motion memory 801.

ステップS862において、動き判定部861は、時刻tの動きベクトルv(t)を、内蔵するメモリに記憶される動きベクトルの和sumに加算し、ステップS863において、その和sumの絶対値が閾値より小さいか否かを判定する。ステップS863において、動きベクトルの和sumの絶対値が閾値より大きいと判定された場合、処理は、ステップS864に進み、動きベクトル判定部861は、和sumをリセット(0に)する。   In step S862, the motion determination unit 861 adds the motion vector v (t) at time t to the sum sum of motion vectors stored in the built-in memory. In step S863, the absolute value of the sum sum is greater than the threshold value. It is determined whether or not it is small. If it is determined in step S863 that the absolute value of the sum sum of motion vectors is greater than the threshold, the process proceeds to step S864, and the motion vector determination unit 861 resets the sum sum (to 0).

ステップS865において、提示位置演算部862は、動きベクトル判定部861の判定結果に応じて、追尾対象位置メモリ802から、時刻tの追尾対象位置x(t)を読み出し、前回のステップS865で求められた時刻t-1の提示位置X(t-1)を読み出し、追尾対象位置x(t)および提示位置X(t-1)に対して、時間方向のフィルタリングを行う。時間方向のフィルタリングを行う。すなわち、提示位置演算部862は、追尾対象位置x(t)に対して、重み係数算出部804により指定された重み係数を用いて重み付け演算を行い、時刻tの提示位置X(t)を求める。   In step S865, the presentation position calculation unit 862 reads the tracking target position x (t) at time t from the tracking target position memory 802 in accordance with the determination result of the motion vector determination unit 861, and is obtained in the previous step S865. The presentation position X (t-1) at time t-1 is read out, and the time direction filtering is performed on the tracking target position x (t) and the presentation position X (t-1). Perform time-direction filtering. That is, the presentation position calculation unit 862 performs a weighting operation on the tracking target position x (t) using the weighting factor specified by the weighting factor calculation unit 804, and obtains the presentation position X (t) at time t. .

一方、ステップS863において、動きベクトルの和sumの絶対値が閾値より小さいと判定された場合、処理は、ステップS866に進み、提示位置演算部862は、動きベクトル判定部861の判定結果に応じて、提示位置メモリ803から、前フレーム(前時刻t-1)において求められた提示位置X (t-1)を読み出し、前フレーム(前時刻t-1)における提示位置X(t-1)を、時刻tの提示位置X(t)とする。   On the other hand, if it is determined in step S863 that the absolute value of the sum sum of motion vectors is smaller than the threshold, the process proceeds to step S866, and the presentation position calculation unit 862 responds to the determination result of the motion vector determination unit 861. The presentation position X (t-1) obtained in the previous frame (previous time t-1) is read from the presentation position memory 803, and the presentation position X (t-1) in the previous frame (previous time t-1) is read. The presentation position X (t) at time t.

ステップS867において、提示位置演算部862は、求めた提示位置X(t)を、提示位置メモリ803に記憶するとともに、提示位置X(t)の情報を、ズーム画像作成部24に出力する。   In step S867, the presentation position calculation unit 862 stores the obtained presentation position X (t) in the presentation position memory 803 and outputs information on the presentation position X (t) to the zoom image creation unit 24.

その後、処理は、ステップS862に戻り、次の時刻t+1のフレームについての処理が実行される。   Thereafter, the process returns to step S862, and the process for the next frame at time t + 1 is executed.

なお、上述した動きベクトルの和sumは、動きベクトルv(t)のx方向およびy方向をそれぞれ独立で計算するものであってもよいし、ノルムであってもよい。   Note that the sum sum of motion vectors described above may be calculated independently of the x direction and the y direction of the motion vector v (t), or may be a norm.

以上のように、複数フレームの動きが小さい場合には、現フレームの追尾結果を提示位置には、反映させず、1つ前のフレームの提示位置を、現フレームの提示位置とすることで、上述した追尾対象の、スキー競技など上下、左右に振動があるような動きや加速度の急な動きを、さらに滑らかに表示させることができる。   As described above, when the movement of a plurality of frames is small, the tracking result of the current frame is not reflected in the presentation position, and the presentation position of the previous frame is set as the presentation position of the current frame. It is possible to more smoothly display the above-described tracking target, such as a ski competition, in which there is vibration in the vertical and horizontal directions and a sudden acceleration.

なお、上述した図48および図51の例においては、フィルタリングの対象が追尾対象位置であり、フィルタ構成がIIRフィルタである場合を用いて説明したが、それに限らず、フィルタリングの対象が追尾対象位置であり、フィルタ構成がFIRフィルタである場合、フィルタリングの対象が、追尾対象の動きベクトルであり、フィルタ構成がIIRフィルタである場合と、フィルタリングの対象が、追尾対象の動きベクトルであり、フィルタ構成がFIRフィルタである場合の他のバリエーションを用いても同様に処理可能である。   In the example of FIGS. 48 and 51 described above, the case where the filtering target is the tracking target position and the filter configuration is the IIR filter has been described. However, the present invention is not limited thereto, and the filtering target is the tracking target position. If the filter configuration is an FIR filter, the filtering target is the tracking target motion vector, the filtering configuration is the IIR filter, and the filtering target is the tracking target motion vector, and the filter configuration The same processing can be performed using other variations in the case where is an FIR filter.

図52は、従来の方法と本発明によるズーム画像における追尾対象提示位置の座標軌跡が示されている。横軸は時間方向のフレーム番号1乃至100を表し、縦軸は85乃至120の座標値を表している。   FIG. 52 shows a coordinate locus of a tracking target presentation position in a conventional method and a zoom image according to the present invention. The horizontal axis represents frame numbers 1 to 100 in the time direction, and the vertical axis represents 85 to 120 coordinate values.

図52の例においては、点線は、追尾点を提示位置とした従来の方法による提示位置の座標の軌跡を説明の便宜上1次元で表し、実線は、本発明による提示位置の座標の軌跡を、説明の便宜上1次元で表している。   In the example of FIG. 52, the dotted line represents the locus of the coordinates of the presentation position according to the conventional method with the tracking point as the presentation position in one dimension for convenience of explanation, and the solid line represents the locus of the coordinates of the presentation position according to the present invention. For convenience of explanation, it is shown in one dimension.

点線および実線の軌跡を比較してみると、点線に示される従来の方法の軌跡よりも、実線に示される本発明の方法の軌跡のほうが提示位置の振動がなだらかになり、低減されていることがわかる。   Comparing the trajectory of the dotted line and the solid line, the trajectory of the method of the present invention shown by the solid line is smoother and reduced than that of the conventional method shown by the dotted line. I understand.

すなわち、本発明により求められた提示位置を基準とした画像を生成し、それを画像ディスプレイ26に表示させることにより、従来見られたような背景部分の不自然な動きが低減され、それにより生じていた視聴者の不快感を抑制することができる。   That is, by generating an image based on the presentation position obtained by the present invention and displaying it on the image display 26, the unnatural movement of the background portion as seen in the prior art is reduced, and thus occurs. The viewer's discomfort can be suppressed.

なお、上記説明においては、追尾処理部41の追尾方式として、上述した図5を参照して、特許文献1に記載の乗り換え付き点追尾方式を説明し、図40を参照して、動き領域重心追尾方式を説明したが、追尾方式としては、上記2種類に限定されることなく、例えば、輝度波形ブロックマッチング方式、色波形ブロックマッチング方式、または、過去動きで一定時間外挿を行う方式などを用いることもできる。   In the above description, as the tracking method of the tracking processing unit 41, the point tracking method with transfer described in Patent Document 1 will be described with reference to FIG. 5 described above, and the motion region center of gravity will be described with reference to FIG. Although the tracking method has been described, the tracking method is not limited to the above two types. For example, a luminance waveform block matching method, a color waveform block matching method, or a method of performing extrapolation for a certain period of time with past motions, etc. It can also be used.

色波形ブロックマッチング方式は、用いる情報が輝度の代わりに色である以外は、輝度波形ブロックマッチング方式と同様の処理を行う。輝度波形ブロックマッチング方式では、追尾対象に輝度変化があった場合、対象から外れてしまう恐れが多かったが、色波形ブロックマッチング方式においては、輝度の成分を排除した色情報を用いることで、輝度変化があった場合であっても、正しく追尾できている可能性が高い。   The color waveform block matching method performs the same processing as the luminance waveform block matching method except that the information used is a color instead of a luminance. In the luminance waveform block matching method, if there is a change in luminance in the tracking target, there is a high possibility that it will be excluded from the target, but in the color waveform block matching method, the luminance information is eliminated by using the color information excluding the luminance component. Even if there is a change, there is a high possibility that it has been tracked correctly.

過去動きで一定時間外挿を行う方式は、上述した追尾方式のうちの、ある追尾方式の過去の動きに基づいて、対象の動きを予測するものである。例えば、輝度波形ブロックマッチング方式などで追尾された追尾結果が、オクルージョンで前景に追尾対象が移ったときなどには、図53に示されるような軌跡を示すことがある。   The method of performing extrapolation for a certain period of time with the past motion predicts the target motion based on the past motion of a certain tracking method among the tracking methods described above. For example, the tracking result tracked by the luminance waveform block matching method or the like may show a locus as shown in FIG. 53 when the tracking target is moved to the foreground by occlusion.

図53の例においては、時刻t-5乃至時刻t+4における追尾結果の軌跡が示されている。追尾位置x(t-5)乃至追尾位置x(t+4)は、時刻t-5乃至時刻t+4における追尾結果をそれぞれ表しており、各追尾位置間の矢印は、各時刻間の動きを表している。追尾位置x(t-5)乃至追尾位置x(t)に示されるように、時刻t-5乃至時刻tでは、なだらかな動きが連続しているが、時刻t+1において、オクルージョンで前景に追尾対象が移ったなどの原因により、追尾位置x(t)から追尾位置x(t+1)への動きが不連続になってしまっている。   In the example of FIG. 53, the trace of the tracking result from time t-5 to time t + 4 is shown. Tracking position x (t-5) to tracking position x (t + 4) represent the tracking results from time t-5 to time t + 4, respectively, and the arrows between the tracking positions indicate movements between the times. Represents. As shown in the tracking position x (t-5) to the tracking position x (t), the gentle movement is continuous from the time t-5 to the time t. The movement from the tracking position x (t) to the tracking position x (t + 1) has become discontinuous due to a cause such as the tracking target moving.

そこで、このような場合に、図54に示されるように、時刻t-5乃至時刻t間の実線に示される過去の動きの履歴に基づいて、一点鎖線に示される外挿動きと、外挿するタイミングを決定し、決定されたタイミング(いまの場合、時刻tの後)から、過去の動きの履歴に基づいて求められた外挿動きを、点線で示される実際に求められる動き(図53)の代わりに、一定時間代用し続けさせるという方式である。   Therefore, in such a case, as shown in FIG. 54, based on the past movement history indicated by the solid line between time t-5 and time t, extrapolation movement indicated by the alternate long and short dash line, extrapolation The extrapolated motion determined based on the past motion history from the determined timing (in this case, after the time t in this case) is the actually determined motion indicated by the dotted line (FIG. 53). In place of), the system continues to substitute for a certain time.

このとき決定される外挿するタイミングとしては、例えば、ユーザが追尾対象を指示してから、一定時間毎(例えば、120フレーム毎など)としたり、あるいは、過去の動きの履歴を見て、動きが不連続になるとき(例えば、過去、数フレームの平均動きから大きく異なるとき)などが挙げられる。   As the extrapolation timing determined at this time, for example, after the user designates the tracking target, the extrapolation timing may be set at regular intervals (for example, every 120 frames), or by looking at the past movement history, Is discontinuous (for example, when it differs greatly from the average motion of several frames in the past).

また、このとき決定される外挿動きとしては、外挿するタイミングの数フレーム前の動きや、過去、数フレームの平均動きなどが挙げられる。なお、外挿するタイミングの数フレーム前でなくても、直前動きも考えられるが、直前の動きはオブジェクトの境界での動きになっている可能性があり、適切ではない場合もある。   Further, the extrapolation motion determined at this time includes a motion several frames before the extrapolation timing, an average motion of past and several frames, and the like. Note that the previous movement may be possible even if it is not several frames before the extrapolation timing, but the previous movement may be a movement at the boundary of the object and may not be appropriate.

なお、輝度波形ブロックマッチング方式を用いて追尾する場合を説明したが、追尾方式は限定されず、どの追尾方式であってもよい。   Although the case of tracking using the luminance waveform block matching method has been described, the tracking method is not limited, and any tracking method may be used.

以上のように、オブジェクトに対して推定された動き、または、その動きに基づいて追尾された追尾結果を、時間方向にフィルタリングして、提示位置を算出し、算出された提示位置を基準として、表示画像を生成するようにしたので、図52のグラフを参照して上述したように、ユーザにおいては、画像ディスプレイ26に表示される画像に不快感を感じてしまうことが軽減される。   As described above, the motion estimated for the object or the tracking result tracked based on the motion is filtered in the time direction to calculate the presentation position, with the calculated presentation position as a reference, Since the display image is generated, as described above with reference to the graph of FIG. 52, the user is less likely to feel uncomfortable with the image displayed on the image display 26.

なお、従来においては、ズーム率が1で作成される画像の場合よりも、ズーム率が大きいズーム画像のほうが、より不快感が生じていたので、本発明は、ズーム率が1で作成される画像の場合よりも、ズーム率が大きいズーム画像に対して、より効果がある。   In the prior art, a zoom image with a large zoom ratio is more uncomfortable than that of an image created with a zoom ratio of 1, so the present invention is created with a zoom ratio of 1. This is more effective for a zoom image having a large zoom ratio than for an image.

本発明は、テレビジョン受像機に限らず、監視カメラシステムや、各種の画像処理装置に適応することが可能である。   The present invention can be applied not only to a television receiver but also to a surveillance camera system and various image processing apparatuses.

なお、以上においては、画像の処理単位をフレームとしたが、フィールドを処理単位とする場合にも本発明は適用が可能である。   In the above, the image processing unit is a frame, but the present invention can also be applied to a case where a field is a processing unit.

なお、上述した一連の処理をハードウェアで実現するか、ソフトウェアで実現するかは問わない。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、汎用のパーソナルコンピュータなどに、ネットワークやリムーバブルメディアなどの記録媒体からインストールされる。   It does not matter whether the above-described series of processing is realized by hardware or software. When the above-described series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. It is installed on a general-purpose personal computer or the like from a recording medium such as a network or a removable medium.

また、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In addition, the steps of executing the series of processes described above in this specification are performed in parallel or individually even if they are not necessarily processed in time series, as well as processes performed in time series in the order described. The processing to be performed is also included.

本発明を適用したテレビジョン受像機の構成例を示すブロック図である。It is a block diagram which shows the structural example of the television receiver to which this invention is applied. 図1のテレビジョン受像機の画像表示処理を説明するフローチャートである。It is a flowchart explaining the image display process of the television receiver of FIG. 図1のオブジェクト追尾部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the object tracking part of FIG. 追尾処理を説明するフローチャートである。It is a flowchart explaining a tracking process. 図3の追尾処理部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the tracking process part of FIG. 追尾点算出処理を説明するフローチャートである。It is a flowchart explaining a tracking point calculation process. 追尾対象が回転する場合の追尾を説明する図である。It is a figure explaining tracking when a tracking object rotates. オクルージョンが起きる場合の追尾を説明する図である。It is a figure explaining the tracking when an occlusion occurs. シーンチェンジが起きる場合の追尾を説明する図である。It is a figure explaining the tracking when a scene change occurs. 通常処理を説明するフローチャートである。It is a flowchart explaining a normal process. 通常処理の初期化処理を説明するフローチャートである。It is a flowchart explaining the initialization process of a normal process. 乗り換え候補抽出処理を説明する図である。It is a figure explaining a transfer candidate extraction process. 領域推定関連処理部の構成例を示すブロック図である。It is a block diagram which shows the structural example of an area | region estimation related process part. 領域推定関連処理を説明するフローチャートである。It is a flowchart explaining an area | region estimation related process. 領域推定処理を説明するフローチャートである。It is a flowchart explaining area | region estimation processing. サンプル点を決定する処理を説明する図である。It is a figure explaining the process which determines a sample point. 領域推定範囲の更新処理を説明するフローチャートである。It is a flowchart explaining the update process of an area estimation range. 領域推定範囲の更新を説明する図である。It is a figure explaining the update of a region estimation range. 領域推定範囲の更新を説明する図である。It is a figure explaining the update of a region estimation range. 乗り換え候補抽出処理を説明するフローチャートである。It is a flowchart explaining a transfer candidate extraction process. テンプレート作成処理を説明するフローチャートである。It is a flowchart explaining a template creation process. テンプレート作成を説明する図である。It is a figure explaining template creation. テンプレート作成を説明する図である。It is a figure explaining template creation. テンプレートと追尾点の位置関係を説明する図である。It is a figure explaining the positional relationship of a template and a tracking point. 例外処理を説明するフローチャートである。It is a flowchart explaining exception processing. 例外処理の初期化処理を説明するフローチャートである。It is a flowchart explaining the initialization process of an exception process. テンプレートの選択を説明する図である。It is a figure explaining selection of a template. 探索範囲の設定を説明する図である。It is a figure explaining the setting of a search range. 例外処理の他の例を説明するフローチャートである。It is a flowchart explaining the other example of exception processing. 継続判定処理を説明するフローチャートである。It is a flowchart explaining a continuation determination process. 動き推定部の構成例を示すブロック図である。It is a block diagram which shows the structural example of a motion estimation part. 動き推定処理を説明するフローチャートである。It is a flowchart explaining a motion estimation process. アクティビティの算出を説明する図である。It is a figure explaining calculation of activity. 評価値とアクティビティの関係を説明する図である。It is a figure explaining the relationship between an evaluation value and activity. 統合処理を説明するフローチャートである。It is a flowchart explaining an integration process. 背景動き推定部の構成例を示すブロック図である。It is a block diagram which shows the structural example of a background motion estimation part. 背景動き推定処理を説明するフローチャートである。It is a flowchart explaining a background motion estimation process. シーンチェンジ検出部53の構成例を示すブロック図である。5 is a block diagram illustrating a configuration example of a scene change detection unit 53. FIG. シーンチェンジ検出処理を説明するフローチャートである。It is a flowchart explaining a scene change detection process. 図3の追尾処理部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the tracking process part of FIG. 追尾処理を説明するフローチャートである。It is a flowchart explaining a tracking process. 動きベクトル検出する領域を説明する図である。It is a figure explaining the area | region which detects a motion vector. 動きベクトルの頻度を説明する図である。It is a figure explaining the frequency of a motion vector. 図3の提示位置算出部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the presentation position calculation part of FIG. 提示位置算出処理を説明するフローチャートである。It is a flowchart explaining a presentation position calculation process. 図44の提示位置演算部の構成例を示すブロック図である。It is a block diagram which shows the structural example of the presentation position calculating part of FIG. 図3の提示位置算出部の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the presentation position calculation part of FIG. 提示位置算出処理を説明するフローチャートである。It is a flowchart explaining a presentation position calculation process. 図48のステップS843の処理を説明する図である。It is a figure explaining the process of step S843 of FIG. 図3の提示位置算出部のさらに他の構成例を示すブロック図である。It is a block diagram which shows the further another structural example of the presentation position calculation part of FIG. 提示位置算出処理を説明するフローチャートである。It is a flowchart explaining a presentation position calculation process. 提示位置の軌跡を説明する図である。It is a figure explaining the locus | trajectory of a presentation position. 過去動きで一定時間外挿を行う方式を説明する図である。It is a figure explaining the system which extrapolates for a fixed time with a past motion. 過去動きで一定時間外挿を行う方式を説明する図である。It is a figure explaining the system which extrapolates for a fixed time with a past motion.

符号の説明Explanation of symbols

1 テレビジョン受像機, 23 オブジェクト追尾部, 24 ズーム画像作成部, 26 画像ディスプレイ, 29 制御部, 30 リモートコントローラ, 41 追尾処理部, 42 提示位置算出部, 801 追尾対象動きメモリ, 802 追尾対象位置メモリ, 803 提示位置メモリ, 804 重み係数算出部, 805 提示位置演算部, 841 重み係数算出部, 861 動き判定部, 862 提示位置演算部   DESCRIPTION OF SYMBOLS 1 Television receiver, 23 Object tracking part, 24 Zoom image creation part, 26 Image display, 29 Control part, 30 Remote controller, 41 Tracking processing part, 42 Presentation position calculation part, 801 Tracking object motion memory, 802 Tracking object position Memory, 803 presentation position memory, 804 weight coefficient calculation unit, 805 presentation position calculation unit, 841 weight coefficient calculation unit, 861 motion determination unit, 862 presentation position calculation unit

Claims (7)

移動するオブジェクトを表示させる画像処理装置において、
画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾する追尾手段と、
前記追尾手段により追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出する提示位置算出手段と、
前記提示位置算出手段により算出された前記提示位置に基づいて表示画像を作成する表示画像作成手段と、
前記表示画像作成手段により作成された前記表示画像の表示を制御する表示制御手段と
を備える画像処理装置。
In an image processing apparatus for displaying a moving object,
Tracking means for tracking the movement of the object by estimating the movement of the object in the image;
A presentation position tracking unit that calculates a presentation position by performing filtering in the time direction on the tracking result tracked by the tracking unit or the estimated motion corresponding to the tracking result;
Display image creation means for creating a display image based on the presentation position calculated by the presentation position calculation means;
An image processing apparatus comprising: display control means for controlling display of the display image created by the display image creating means.
前記表示画像作成手段は、前記提示位置算出手段により算出された前記提示位置を中心としてズームされた表示画像を作成する
請求項1に記載の画像処理装置。
The image processing apparatus according to claim 1, wherein the display image creation unit creates a zoomed display image with the presentation position calculated by the presentation position calculation unit as a center.
前記提示位置算出手段は、
前記追尾結果に対応する動きの大きさに応じて、前記時間方向のフィルタリングに用いる係数を算出する係数算出手段を備え、
前記追尾結果、または、前記追尾結果に対応する推定された動きに対して、前記係数算出手段により算出された前記係数を用いた時間方向のフィルタリングを行うことで、前記提示位置を算出する
請求項1に記載の画像処理装置。
The presentation position calculation means includes
Coefficient calculating means for calculating a coefficient used for filtering in the time direction according to the magnitude of the movement corresponding to the tracking result,
The presentation position is calculated by performing filtering in the time direction using the coefficient calculated by the coefficient calculation unit with respect to the tracking result or an estimated motion corresponding to the tracking result. The image processing apparatus according to 1.
前記提示位置算出手段は、
複数の処理単位の前記追尾結果に対応する動きの和が所定の閾値より小さいか否かを判定する判定手段を備え、
前記判定手段により推定された複数の処理単位の前記追尾結果に対応する動きの和が所定の閾値より小さいと判定された場合、時間的に前の処理単位において算出された提示位置をそのまま用いて、時間的に後の処理単位の提示位置を算出する
請求項1に記載の画像処理装置。
The presentation position calculation means includes
Determining means for determining whether a sum of movements corresponding to the tracking results of a plurality of processing units is smaller than a predetermined threshold;
When it is determined that the sum of motions corresponding to the tracking results of the plurality of processing units estimated by the determination unit is smaller than a predetermined threshold, the presentation position calculated in the previous processing unit in time is used as it is. The image processing apparatus according to claim 1, wherein a presentation position of a later processing unit is calculated.
移動するオブジェクトを表示させる画像処理装置の画像処理方法において、
画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾し、
追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出し、
算出された前記提示位置に基づいて表示画像を作成し、
作成された前記表示画像の表示を制御する
ステップを含む画像処理方法。
In an image processing method of an image processing apparatus for displaying a moving object,
By tracking the movement of the object by estimating the movement of the object in the image,
By performing filtering in the time direction on the tracked tracking result or the estimated motion corresponding to the tracking result, the presentation position is calculated,
Create a display image based on the calculated presentation position,
An image processing method including a step of controlling display of the created display image.
移動するオブジェクトを表示させる処理をコンピュータに行わせるプログラムであって、
画像の中のオブジェクトの動きを推定することで、前記オブジェクトの移動を追尾し、
追尾された追尾結果、または、前記追尾結果に対応する推定された動きに対して、時間方向のフィルタリングを行うことで、提示位置を算出し、
算出された前記提示位置に基づいて表示画像を作成し、
作成された前記表示画像の表示を制御する
ステップを含むプログラム。
A program for causing a computer to display a moving object,
By tracking the movement of the object by estimating the movement of the object in the image,
By performing filtering in the time direction on the tracked tracking result or the estimated motion corresponding to the tracking result, the presentation position is calculated,
Create a display image based on the calculated presentation position,
A program including a step of controlling display of the created display image.
請求項6に記載のプログラムが記録されている記録媒体。   A recording medium on which the program according to claim 6 is recorded.
JP2006099833A 2006-03-31 2006-03-31 Image processor and image processing method, program, and recording medium Withdrawn JP2007272735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006099833A JP2007272735A (en) 2006-03-31 2006-03-31 Image processor and image processing method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006099833A JP2007272735A (en) 2006-03-31 2006-03-31 Image processor and image processing method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2007272735A true JP2007272735A (en) 2007-10-18

Family

ID=38675454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006099833A Withdrawn JP2007272735A (en) 2006-03-31 2006-03-31 Image processor and image processing method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2007272735A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294983A (en) * 2008-06-06 2009-12-17 Sony Corp Tracking point detection device and method, program, and recording medium
JP2017167727A (en) * 2016-03-15 2017-09-21 Kddi株式会社 Processing device of moving image, processing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294983A (en) * 2008-06-06 2009-12-17 Sony Corp Tracking point detection device and method, program, and recording medium
JP4507129B2 (en) * 2008-06-06 2010-07-21 ソニー株式会社 Tracking point detection apparatus and method, program, and recording medium
JP2017167727A (en) * 2016-03-15 2017-09-21 Kddi株式会社 Processing device of moving image, processing method, and program

Similar Documents

Publication Publication Date Title
KR101108634B1 (en) Image processing device and image processing method and recording medium
JP4725105B2 (en) Image processing apparatus and method, program, and recording medium
EP2169945B1 (en) Image processing apparatus and method for detection and correction of camera shake
US8588306B2 (en) Temporal motion vector filtering
JP3481430B2 (en) Mobile tracking device
US8213686B2 (en) Optical flow based tilt sensor
EP1549054A2 (en) Motion compensated frame rate conversion
US20020181745A1 (en) Multi-modal motion estimation for video sequences
US20110243451A1 (en) Image processing apparatus and method, and program
CN110008795B (en) Image target tracking method and system and computer readable recording medium
US9307251B2 (en) Methods and systems for determining data-adaptive weights for motion estimation in a video sequence
JP4373840B2 (en) Moving object tracking method, moving object tracking program and recording medium thereof, and moving object tracking apparatus
KR20090034836A (en) Systems and methods for a motion compensated picture rate converter
JP4210954B2 (en) Image processing method, image processing method program, recording medium storing image processing method program, and image processing apparatus
EP3115967A1 (en) A method for controlling tracking using a color model, corresponding apparatus and non-transitory program storage device
JP2007274543A (en) Image processing apparatus and method, program, and recording medium
JP4617883B2 (en) Image processing apparatus and method, program, and recording medium
JP2007272735A (en) Image processor and image processing method, program, and recording medium
JP4826316B2 (en) Image processing apparatus and method, program, and recording medium
JP5197374B2 (en) Motion estimation
JP4441354B2 (en) Video object extraction device, video object trajectory synthesis device, method and program thereof
JP2004533073A (en) Feature point selection
CN111221486B (en) Information display system and information display method
JP2007272731A (en) Image processing apparatus and method, and program
JP2006237716A (en) Image processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090602