JP4655217B2 - Image processing apparatus and method, recording medium, and program - Google Patents

Image processing apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4655217B2
JP4655217B2 JP2005261439A JP2005261439A JP4655217B2 JP 4655217 B2 JP4655217 B2 JP 4655217B2 JP 2005261439 A JP2005261439 A JP 2005261439A JP 2005261439 A JP2005261439 A JP 2005261439A JP 4655217 B2 JP4655217 B2 JP 4655217B2
Authority
JP
Japan
Prior art keywords
motion vector
frame
pixel
vector
allocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005261439A
Other languages
Japanese (ja)
Other versions
JP2007074596A (en
Inventor
典文 吉原
彰彦 貝野
幸弘 中村
邦雄 川口
康昭 高橋
孝文 森藤
悠太 長木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2005261439A priority Critical patent/JP4655217B2/en
Publication of JP2007074596A publication Critical patent/JP2007074596A/en
Application granted granted Critical
Publication of JP4655217B2 publication Critical patent/JP4655217B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、画質の劣化を抑制することができるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。   The present invention relates to an image processing apparatus and method, a recording medium, and a program, and more particularly to an image processing apparatus and method, a recording medium, and a program that can suppress deterioration in image quality.

画像のフレーム周波数を変換する場合、動きベクトルの割り付けが行われる(例えば、特許文献1)。   When converting the frame frequency of an image, motion vectors are assigned (for example, Patent Document 1).

例えば、時刻tのフレーム(以下、フレームtとも記述する。以下、同様。)の所定の画素(例えば前景の画素)が時刻t+1のフレーム(フレームt+1)上の所定の位置の画素に対応するとき、両者を結ぶベクトルがその画素の動きベクトルVaとされる。フレーム周波数を変換する場合(フレームtとフレームt+1の間の時刻t+pのフレーム(フレームt+p)を生成する場合)、フレームt+p上の画素Gに対して、その画素Gの近傍を通過するフレームtの動きベクトルが割り付けられる。例えばフレームt+p上の画素Gの近傍を動きベクトルVaが通過する場合、画素Gに対して動きベクトルVaが割り付けられる。   For example, when a predetermined pixel (for example, foreground pixel) of a frame at time t (hereinafter also referred to as frame t. The same applies hereinafter) corresponds to a pixel at a predetermined position on the frame at time t + 1 (frame t + 1). , The vector connecting the two is the motion vector Va of the pixel. When converting the frame frequency (when generating a frame at time t + p between frame t and frame t + 1 (frame t + p)), for a pixel G on frame t + p, the frame t passing through the vicinity of the pixel G A motion vector is allocated. For example, when the motion vector Va passes near the pixel G on the frame t + p, the motion vector Va is assigned to the pixel G.

しかし、画面内に、例えば比較的ゆっくり移動する前景と高速に移動する背景が混在しているような場合、1つの画素Gの近傍を、前景の画素の動きベクトルVaだけでなく、背景の画素の動きベクトルVbも通過することがある。   However, for example, when a foreground that moves relatively slowly and a background that moves at high speed are mixed in the screen, not only the motion vector Va of the foreground pixels but also the background pixels are located in the vicinity of one pixel G. May also pass through the motion vector Vb.

このような場合、2つのフレームの注目するベクトル量分ずらしたブロック間の相関値を表す差分絶対値和(DFD(Displaced Frame Difference))を演算し、その値に基づいて画素Gに対応する1つの動きベクトルが決定されていた。例えば、動きベクトルVaに基づくDFDであるDFDaと、動きベクトルVbに基づくDFDであるDFDbが演算され、両者の値のうち小さい方に対応する動きベクトルが画素Gの動きベクトルとして割り付けられる。
特開平9−172621号公報
In such a case, a difference absolute value sum (DFD (Displaced Frame Difference)) representing a correlation value between blocks shifted by the vector amount of interest of two frames is calculated, and 1 corresponding to the pixel G is calculated based on the value. One motion vector was determined. For example, DFDa, which is DFD based on the motion vector Va, and DFDb, which is DFD based on the motion vector Vb, are calculated, and the motion vector corresponding to the smaller one of the two values is assigned as the motion vector of the pixel G.
Japanese Patent Laid-Open No. 9-172621

しかしながら、前景は本来1つのオブジェクトであり、前景の画素にはすべて前景の動きベクトルが割り付けられるべきところ、実際には前景の一部の画素に対して背景の動きベクトルが割り付けられてしまうことがある。   However, the foreground is originally an object, and foreground motion vectors should be assigned to all foreground pixels. In practice, however, background motion vectors may be assigned to some foreground pixels. is there.

例えば、図1に示されるように、背景1001の前に前景1002が存在する場合において、図2に示されるように、前景1002が、図中右方向に比較的小さい(ゆっくりとした)速度で移動しているとき、大きい速度で図中左方向に移動する背景1001の領域のうち、前景1002が移動した後、前景1002により覆われる(カバーされる)領域は、動きベクトルを求めることが困難なカバード領域1003となる。   For example, as shown in FIG. 1, when the foreground 1002 exists in front of the background 1001, as shown in FIG. 2, the foreground 1002 has a relatively small (slow) speed in the right direction in the figure. Of the area of the background 1001 that moves to the left in the figure at a high speed when moving, it is difficult to obtain a motion vector for an area that is covered (covered) by the foreground 1002 after the foreground 1002 has moved. Covered region 1003.

例えば、背景1001の動きが、V1(例えば、80画素分)である場合、カバード領域1003は、前景1002から背景1001の動きV1と逆方向に、80画素分離れた位置に出現する。   For example, when the motion of the background 1001 is V1 (for example, 80 pixels), the covered region 1003 appears at a position separated from the foreground 1002 by 80 pixels in the opposite direction to the motion V1 of the background 1001.

カバード領域1003においては、その動きは0とされるか(0ベクトルとされるか)、または非常に小さい動きとしてその動きベクトルが検出される。   In the covered region 1003, the motion vector is detected as 0 (whether it is a 0 vector) or as a very small motion.

このような場合、図3に示されるように、前景1002とカバード領域1003の間に形成される危険領域1004の動きベクトルV1が、前景1002に対して割り付けられると、その動きは前景1002の動きではないため、前景1002に貫き劣化部1005が形成されてしまう。貫き劣化部1005においては、図3に示されるように、前景1002の一部が欠落したような画像となってしまう。   In such a case, as shown in FIG. 3, when the motion vector V1 of the dangerous area 1004 formed between the foreground 1002 and the covered area 1003 is assigned to the foreground 1002, the movement is the movement of the foreground 1002. Therefore, a deteriorated portion 1005 is formed in the foreground 1002. In the penetrating degradation portion 1005, as shown in FIG. 3, an image in which a part of the foreground 1002 is missing is obtained.

このようにフレームt+p上の画像は、画像の一部が欠損するなどして画質が劣化する問題があった。   As described above, the image on the frame t + p has a problem that the image quality deteriorates due to a part of the image being lost.

本発明は、このような状況に鑑みてなされたものであり、画質の劣化を抑制することができるようにするものである。   The present invention has been made in view of such a situation, and is intended to suppress deterioration in image quality.

本発明の一側面は、第1のフレームの動きベクトルを第2のフレームに割り付ける画像処理装置において前記第1のフレームの着目点の動きベクトルを取得する取得手段と、前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出する検出手段と、検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止する禁止手段とを備える画像処理装置である。   One aspect of the present invention provides an acquisition unit that acquires a motion vector of a target point of the first frame in an image processing apparatus that allocates a motion vector of the first frame to a second frame; Detection means for detecting a size and a region on the first frame to which the motion vector of the target point belongs, and the second frame of the motion vector of the target point based on the detected size and region An image processing apparatus including prohibiting means for prohibiting assignment to the image processing apparatus.

前記検出手段は、前記着目点の動きベクトルが属する領域が、貫き劣化を発生するおそれがある領域であることを検出することができる。   The detection means can detect that the region to which the motion vector of the point of interest belongs is a region in which penetration degradation may occur.

前記検出手段は、前記着目点の動きベクトルが属する領域が、前景である第1の領域と、前記前景により隠されるために動きが求まらない第2の領域により挟まれた第3の領域であることを検出することができる。   The detection means includes a third region sandwiched between a first region in which a motion vector of the point of interest belongs is a foreground and a second region in which no motion is obtained because the region is hidden by the foreground It can be detected.

前記取得手段は、前記着目点の動きベクトルである第1の動きベクトルを取得するとともに、前記着目点から前記第1の動きベクトルの方向に位置する第1の参照点の第2の動きベクトルと、前記着目点から前記第1の動きベクトルの方向と逆方向に位置する第2の参照点の第3の動きベクトルを取得し、前記検出手段は、前記第1の動きベクトルと前記第2の動きベクトルの大きさの差、並びに前記第1の動きベクトルと前記第3の動きベクトルの大きさの差の基準値との比較に基づき前記第3の領域を検出するとともに、前記第1の動きベクトルの前記第2の動きベクトルと前記第3の動きベクトルに対する大きさを検出することができる。   The acquisition means acquires a first motion vector that is a motion vector of the point of interest, and a second motion vector of a first reference point that is located in the direction of the first motion vector from the point of interest. , Obtaining a third motion vector of a second reference point located in a direction opposite to the direction of the first motion vector from the point of interest, and the detecting means includes the first motion vector and the second motion vector. Detecting the third region based on a difference in magnitude of a motion vector and a reference value of a difference in magnitude between the first motion vector and the third motion vector, and detecting the first motion The magnitude of the vector relative to the second motion vector and the third motion vector can be detected.

前記第1の参照点は、前記第1のフレームの前記着目点から前記第1の動きベクトルの方向の画素であって、前記第1の動きベクトルの大きさをn対mに内分する位置の近傍のN個の画素のうちのいずれかであり、前記第2の参照点は、前記第1のフレームの前記着目点から前記第1の動きベクトルの方向と逆方向の画素であって、前記第1の動きベクトルの大きさをm対nに内分する位置の近傍のN個の画素のうちのいずれかとすることができる。   The first reference point is a pixel in the direction of the first motion vector from the point of interest in the first frame, and a position that internally divides the magnitude of the first motion vector into n to m , And the second reference point is a pixel in a direction opposite to the direction of the first motion vector from the point of interest of the first frame, The magnitude of the first motion vector can be any one of N pixels in the vicinity of a position that internally divides m by n.

前記N個の画素は、前記内分する位置を基準として、前記第1の動きベクトルのx座標成分とy座標成分の大きさの±α倍または±β倍の範囲の画素とすることができる。   The N pixels may be pixels within a range of ± α times or ± β times the size of the x-coordinate component and the y-coordinate component of the first motion vector with reference to the internally divided position. .

前記内分する比n対mは、1対1、1対3、または3対1とすることができる。   The internal ratio n: m can be 1: 1, 1: 3, or 3: 1.

前記動きベクトルの評価値を演算する演算手段と、前記第2のフレームに対して割り付ける動きベクトルを、前記評価値に基づいて選択する選択手段とをさらに備えることができる。   The image processing apparatus may further include a calculation unit that calculates an evaluation value of the motion vector, and a selection unit that selects a motion vector to be assigned to the second frame based on the evaluation value.

また、本発明の側面は、第1のフレームの動きベクトルを第2のフレームに割り付ける画像処理方法、プログラム、または記録媒体において、前記第1のフレームの着目点の動きベクトルを取得し、前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出し、検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止するステップを備える画像処理方法、プログラム、または記録媒体である。   According to another aspect of the present invention, in an image processing method, program, or recording medium that allocates a motion vector of a first frame to a second frame, a motion vector of a target point of the first frame is acquired, and the target The size of the motion vector of the point and the region on the first frame to which the motion vector of the target point belongs are detected, and the second of the motion vectors of the target point is detected based on the detected size and region. An image processing method, a program, or a recording medium including a step of prohibiting allocation to a frame.

本発明の一側面においては、第1のフレームの着目点の動きベクトルの大きさ、並びに着目点の動きベクトルが属する第1のフレーム上の領域が検出され、検出された大きさと領域に基づいて、着目点の動きベクトルの第2のフレームに対する割り付けが禁止される。   In one aspect of the present invention, the magnitude of the motion vector of the point of interest in the first frame, and the region on the first frame to which the motion vector of the point of interest belongs are detected, and based on the detected size and region The allocation of the motion vector of the point of interest to the second frame is prohibited.

以上のように、本発明の一側面によれば、高品質の画像を得ることができる。特に、本発明の一側面によれば、画像のフレーム周波数を変換した場合における画像の一部の欠損を抑制することができる。   As described above, according to one aspect of the present invention, a high-quality image can be obtained. In particular, according to one aspect of the present invention, it is possible to suppress partial loss of an image when the frame frequency of the image is converted.

以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. Correspondences between the configuration requirements of the present invention and the embodiments described in the detailed description of the present invention are exemplified as follows. This description is to confirm that the embodiments supporting the present invention are described in the detailed description of the invention. Accordingly, although there are embodiments that are described in the detailed description of the invention but are not described here as embodiments corresponding to the constituent elements of the present invention, It does not mean that the embodiment does not correspond to the configuration 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のフレーム(例えば、図37のフレームt1)の動きベクトルを第2のフレーム(例えば、図37のフレームF)に割り付ける画像処理装置(例えば、図4の画像信号記録再生装置1)において、前記第1のフレームの着目点(例えば、図27の着目画素281)の動きベクトル(例えば、図27の動きベクトルVc)を取得する取得手段(例えば、図24のステップS252の処理を実行する図16の貫き改善処理部706)と、前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出する検出手段(例えば、図24のステップS259、S260の処理を実行する図16の貫き改善処理部706)と、検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止する禁止手段(例えば、図24のステップS262の処理を実行する図16の貫き改善処理部706)とを備える画像処理装置である。   One aspect of the present invention is an image processing apparatus (for example, an image signal in FIG. 4) that allocates a motion vector of a first frame (for example, frame t1 in FIG. 37) to a second frame (for example, frame F in FIG. 37). In the recording / reproducing apparatus 1), an acquisition unit (for example, step of FIG. 24) that acquires a motion vector (for example, the motion vector Vc of FIG. 27) of the point of interest (for example, the target pixel 281 of FIG. 27) of the first frame. The penetration improvement processing unit 706 in FIG. 16 that executes the processing of S252, and detection means for detecting the size of the motion vector of the target point and the region on the first frame to which the motion vector of the target point belongs ( For example, the focus improvement processing unit 706 in FIG. 16 that executes the processes in steps S259 and S260 in FIG. The inhibiting means for inhibiting the allocation for said second frame of motion vectors (e.g., penetrate improvement processing unit 706 in FIG. 16 for executing the processing of step S262 in FIG. 24) is an image processing apparatus and a.

前記検出手段は、前記着目点(例えば、図39の画素1015)の動きベクトル(例えば、図39の動きベクトルV1)が属する領域が、貫き劣化を発生するおそれがある領域(例えば、図39の危険領域1014)であることを検出することができる。   The detection means includes a region (for example, in FIG. 39) in which a region to which a motion vector (for example, the motion vector V1 in FIG. 39) of the point of interest (for example, the pixel 1015 in FIG. 39) belongs may occur. It is possible to detect that it is a dangerous area 1014).

前記検出手段は、前記着目点(例えば、図37の着目画素301)の動きベクトル(例えば、図37の動きベクトルVc)が属する領域が、前景である第1の領域(例えば、図37の前景302)と、前記前景により隠されるために動きが求まらない第2の領域(例えば、図37のカバード領域321)により挟まれた第3の領域(例えば、図37の領域391)であることを検出することができる。   The detection means includes a first region (for example, foreground in FIG. 37) in which a region to which a motion vector (for example, motion vector Vc in FIG. 37) of the point of interest (for example, target pixel 301 in FIG. 37) belongs is a foreground. 302) and a third area (for example, area 391 in FIG. 37) sandwiched by a second area (for example, covered area 321 in FIG. 37) that is hidden by the foreground and does not require movement. Can be detected.

前記取得手段は、前記着目点(例えば、図27の着目画素281)の動きベクトルである第1の動きベクトル(例えば、図27の動きベクトルVc)を取得するとともに、前記着目点から前記第1の動きベクトルの方向に位置する第1の参照点(例えば、図27の参照点282)の第2の動きベクトル(例えば、図27の動きベクトルVl)と、前記着目点から前記第1の動きベクトルの方向と逆方向に位置する第2の参照点(例えば、図27の参照点283)の第3の動きベクトル(例えば、図27の動きベクトルVr)を取得し、前記検出手段は、前記第1の動きベクトルと前記第2の動きベクトルの大きさの差(例えば、式(15)のML)、並びに前記第1の動きベクトルと前記第3の動きベクトルの大きさの差(例えば、式(16)のMR)の基準値(例えば、値28)との比較に基づき前記第3の領域を検出するとともに、前記第1の動きベクトルの前記第2の動きベクトルと前記第3の動きベクトルに対する大きさ(例えば、式(17),式(18))を検出することができる。 The acquisition unit acquires a first motion vector (for example, the motion vector Vc in FIG. 27) that is a motion vector of the point of interest (for example, the target pixel 281 in FIG. 27), and the first motion vector from the point of interest. The second motion vector (for example, the motion vector Vl in FIG. 27) of the first reference point (for example, the reference point 282 in FIG. 27) located in the direction of the motion vector and the first motion from the point of interest A third motion vector (for example, motion vector Vr in FIG. 27) of a second reference point (for example, reference point 283 in FIG. 27) located in the direction opposite to the vector direction is obtained, and the detection means A difference in magnitude between the first motion vector and the second motion vector (eg, M L in equation (15)), and a difference in magnitude between the first motion vector and the third motion vector (eg, , M R in equation (16) (for example, , 28) to detect the third region, and the magnitude of the first motion vector relative to the second motion vector and the third motion vector (e.g., Equation (17), Equation (18)) can be detected.

前記第1の参照点は、前記第1のフレームの前記着目点(例えば、図34の着目画素281)から前記第1の動きベクトル(例えば、図34の動きベクトルVc)の方向の画素であって、前記第1の動きベクトルの大きさをn対mに内分する位置(例えば、図34の参照点282)の近傍のN個(例えば、図34の9個)の画素(例えば、図34の参照点282、周囲参照点282−1乃至282−8)のうちのいずれかであり、前記第2の参照点は、前記第1のフレームの前記着目点から前記第1の動きベクトルの方向と逆方向の画素であって、前記第1の動きベクトルの大きさをm対nに内分する位置(例えば、図34の参照点283)の近傍のN個の画素(例えば、図34の参照点283、周囲参照点283−1乃至283−8)のうちのいずれかとすることができる。   The first reference point is a pixel in the direction of the first motion vector (for example, the motion vector Vc in FIG. 34) from the point of interest (for example, the target pixel 281 in FIG. 34) of the first frame. Thus, N (for example, nine in FIG. 34) pixels (for example, FIG. 34) in the vicinity of a position (for example, the reference point 282 in FIG. 34) that internally divides the magnitude of the first motion vector into n to m. 34 reference points 282 and surrounding reference points 282-1 to 282-8), and the second reference point is determined from the point of interest of the first frame to the first motion vector. N pixels (for example, FIG. 34) in the direction opposite to the direction and in the vicinity of a position (for example, reference point 283 in FIG. 34) that internally divides the magnitude of the first motion vector into m to n. Reference point 283 and surrounding reference points 283-1 to 283-8) Door can be.

前記N個の画素は、前記内分する位置を基準として、前記第1の動きベクトルのx座標成分(例えば、図34の|Vcx|)とy座標成分(例えば、図34の|Vcy|)の大きさの±α倍または±β倍の範囲の画素とすることができる。   The N pixels have the x-coordinate component (for example, | Vcx | in FIG. 34) and the y-coordinate component (for example, | Vcy | in FIG. 34) of the first motion vector with reference to the internally divided position. The pixel can be in the range of ± α times or ± β times the size of.

前記内分する比n対mは、1対1(例えば、図34)、1対3(例えば、図36)、または3対1(例えば、図35)とすることができる。   The internal ratio n to m can be 1 to 1 (eg, FIG. 34), 1 to 3 (eg, FIG. 36), or 3 to 1 (eg, FIG. 35).

前記動きベクトルの評価値(例えば、DFD、差異性)を演算する演算手段(例えば、図22のステップS203の処理を実行する図16の評価値演算部702、図48のステップS781の処理を実行する図43の評価値演算部752)と、前記第2のフレームに対して割り付ける動きベクトルを、前記評価値に基づいて選択する選択手段(例えば、図42のステップS749の処理を実行する図16のベクトル選択部705、図48のステップS787の処理を実行する図43のベクトル選択部754)とをさらに備えることができる。   Calculation means for calculating an evaluation value (for example, DFD, difference) of the motion vector (for example, the evaluation value calculation unit 702 in FIG. 16 that executes the process in step S203 in FIG. 22 and the process in step S781 in FIG. 48) 43 and the selecting means for selecting a motion vector to be allocated to the second frame based on the evaluation value (for example, executing the processing of step S749 in FIG. 42). The vector selection unit 705 of FIG. 43 and the vector selection unit 754 of FIG. 43 that executes the process of step S787 of FIG. 48 can be further provided.

また、本発明の側面は、第1のフレーム(例えば、図37のフレームt1)の動きベクトルを第2のフレーム(例えば、図37のフレームF)に割り付ける画像処理方法、プログラム、または記録媒体において、前記第1のフレームの着目点(例えば、図27の着目画素281)の動きベクトル(例えば、図27の動きベクトルVc)を取得し(例えば、図24のステップS252)前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出し(例えば、図24のステップS259,S260)、検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止するステップ(例えば、図24のステップS262)を備える画像処理方法、プログラム、または記録媒体である。   An aspect of the present invention provides an image processing method, program, or recording medium that allocates a motion vector of a first frame (for example, frame t1 in FIG. 37) to a second frame (for example, frame F in FIG. 37). Then, a motion vector (for example, the motion vector Vc in FIG. 27) of the target point (for example, the target pixel 281 in FIG. 27) of the first frame is acquired (for example, step S252 in FIG. 24). And the region on the first frame to which the motion vector of the target point belongs (for example, steps S259 and S260 in FIG. 24), and based on the detected size and region, the target point Image processing including a step (for example, step S262 in FIG. 24) of prohibiting allocation of a motion vector of the second motion vector to the second frame Law, a program or a recording medium.

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

図4は、本発明を適用した画像処理装置としての画像信号記録再生装置の構成を示すブロック図である。この画像信号記録再生装置1は、画像信号入力部2、信号処理装置3、並びに画像信号出力部4により構成されている。   FIG. 4 is a block diagram showing a configuration of an image signal recording / reproducing apparatus as an image processing apparatus to which the present invention is applied. The image signal recording / reproducing apparatus 1 includes an image signal input unit 2, a signal processing device 3, and an image signal output unit 4.

画像信号入力部2は、例えばチューナやディスクドライバなどにより構成され、受信した画像信号あるいは記録媒体より再生した画像信号を信号処理装置3に出力する。信号処理装置3は、画像信号入力部2より供給された画像信号のフレーム周波数の変換処理を実行する。信号処理装置3より出力されたフレーム周波数が変換された画像信号は、画像信号出力部4に供給される。画像信号出力部4は、信号処理装置3より入力された画像信号をLCD(Liquid Crystal Display)やCRT(cathode-ray tube)などの表示部に出力し、表示させる他、さらにユーザからの指示に応じて図示せぬ記録媒体に記録する。   The image signal input unit 2 includes, for example, a tuner or a disk driver, and outputs a received image signal or an image signal reproduced from a recording medium to the signal processing device 3. The signal processing device 3 executes a frame frequency conversion process of the image signal supplied from the image signal input unit 2. The image signal converted from the frame frequency output from the signal processing device 3 is supplied to the image signal output unit 4. The image signal output unit 4 outputs the image signal input from the signal processing device 3 to a display unit such as an LCD (Liquid Crystal Display) or a CRT (cathode-ray tube), and displays it in addition to an instruction from the user. In response, recording is performed on a recording medium (not shown).

図5は、信号処理装置3の構成を示すブロック図である。   FIG. 5 is a block diagram illustrating a configuration of the signal processing device 3.

なお、信号処理装置3の各機能をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、本明細書の各ブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えてもよい。   It does not matter whether each function of the signal processing device 3 is realized by hardware or software. That is, each block diagram in this specification may be considered as a hardware block diagram or a software functional block diagram.

図5に構成を示す信号処理装置3においては、例えば、フレーム周波数が24Hzのプログレッシブ画像信号(以下、24P信号と称する)の画像が入力され、入力された画像(入力画像)が、フレーム周波数が60Hzのプログレッシブ画像信号(以下、60P信号と称する)の画像に変換されて、出力される。   In the signal processing device 3 having the configuration shown in FIG. 5, for example, an image of a progressive image signal (hereinafter referred to as a 24P signal) having a frame frequency of 24 Hz is input, and the input image (input image) has a frame frequency of It is converted into an image of a 60 Hz progressive image signal (hereinafter referred to as 60P signal) and output.

信号処理装置3に入力された24P信号の入力画像は、フレームメモリ51、ベクトル検出部52、ベクトル割付部54、割付補償部57、および画像補間部58に供給される。フレームメモリ51は、入力画像をフレーム単位で記憶し、出力する(1フレーム分の時間だけ遅延して出力する)。フレームメモリ51は、時刻t+1の入力画像の1つ前の時刻tのフレームを記憶する。フレームメモリ51に記憶される時刻tのフレームは、ベクトル検出部52、ベクトル割付部54、割付補償部57、および画像補間部58に供給される。なお、以下、フレームメモリ51上の時刻tのフレームをフレームtと称し、時刻t+1の入力画像のフレームを、フレームt+1と称する。   The input image of the 24P signal input to the signal processing device 3 is supplied to the frame memory 51, the vector detection unit 52, the vector allocation unit 54, the allocation compensation unit 57, and the image interpolation unit 58. The frame memory 51 stores and outputs the input image in units of frames (outputs with a delay of one frame time). The frame memory 51 stores a frame at time t one before the input image at time t + 1. The frame at time t stored in the frame memory 51 is supplied to the vector detection unit 52, the vector allocation unit 54, the allocation compensation unit 57, and the image interpolation unit 58. Hereinafter, the frame at time t on the frame memory 51 is referred to as frame t, and the frame of the input image at time t + 1 is referred to as frame t + 1.

ベクトル検出部52は、フレームメモリ51上のフレームtの着目ブロックと、入力画像のフレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを、検出ベクトルメモリ53に記憶する。この2フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などが用いられる。ベクトル検出部52の構成の詳細は、図12を参照して後述する。検出ベクトルメモリ53は、フレームtにおいて、ベクトル検出部52により検出された動きベクトルを記憶する。   The vector detection unit 52 detects a motion vector between the target block of the frame t on the frame memory 51 and the target block of the frame t + 1 of the input image, and stores the detected motion vector in the detection vector memory 53. As a method for detecting the motion vector between the two frames, a gradient method or a block matching method is used. Details of the configuration of the vector detection unit 52 will be described later with reference to FIG. The detection vector memory 53 stores the motion vector detected by the vector detection unit 52 in the frame t.

ベクトル割付部54は、24P信号のフレームt上において求められた動きベクトルを、割付ベクトルメモリ55上の、補間する60P信号のフレーム(以下、60P信号のフレームは、24P信号のフレームと区別するため、内挿フレームとも称する)上の画素に割り付け、動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグを1(true)に書き換える。ベクトル割付部54の構成の詳細は、図16と図43を参照して後述する。   The vector allocation unit 54 distinguishes the motion vector obtained on the frame t of the 24P signal from the frame of the 60P signal to be interpolated in the allocation vector memory 55 (hereinafter, the frame of the 60P signal is distinguished from the frame of the 24P signal). , Which is also referred to as an interpolation frame), and the allocation flag of the allocation flag memory 56 of the pixel to which the motion vector is allocated is rewritten to 1 (true). Details of the configuration of the vector allocation unit 54 will be described later with reference to FIGS. 16 and 43.

割付ベクトルメモリ55は、ベクトル割付部54により割り付けられた動きベクトルを、内挿フレームの各画素に対応させて記憶する。割付フラグメモリ56は、内挿フレームの画素毎に、割り付けられる動きベクトルの有無を示す割付フラグを記憶している。例えば、true(1)である割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、false(0)である割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。   The allocation vector memory 55 stores the motion vector allocated by the vector allocation unit 54 in association with each pixel of the interpolation frame. The allocation flag memory 56 stores an allocation flag indicating the presence / absence of a motion vector to be allocated for each pixel of the interpolation frame. For example, an assignment flag of true (1) indicates that a motion vector is assigned to the corresponding pixel, and an assignment flag of false (0) indicates that a motion vector is not assigned to the corresponding pixel. Show.

割付補償部57は、割付フラグメモリ56の割付フラグを参照し、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素に対して、その着目画素の周辺画素の動きベクトルを補い、割付ベクトルメモリ55の内挿フレーム上に割り付ける。このとき、割付補償部57は、動きベクトルを割り付けた着目画素の割付フラグを1(true)に書き換える。割付補償部57の構成の詳細は、図49を参照して後述する。   The allocation compensation unit 57 refers to the allocation flag of the allocation flag memory 56, and supplements the motion vector of the peripheral pixel of the target pixel with respect to the target pixel for which the motion vector has not been allocated by the vector allocation unit 54. Allocate on 55 interpolation frames. At this time, the allocation compensator 57 rewrites the allocation flag of the target pixel to which the motion vector is allocated to 1 (true). Details of the configuration of the allocation compensator 57 will be described later with reference to FIG.

画像補間部58は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよび次のフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成する。そして、画像補間部58は、生成された内挿フレームを出力し、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の画像を、後段の画像信号出力部4に出力する。なお、以下においては、画素値を、適宜、輝度値とも称する。   The image interpolation unit 58 interpolates and generates the pixel value of the interpolation frame using the motion vector allocated to the interpolation frame in the allocation vector memory 55 and the pixel values of the frame t and the next frame t + 1. Then, the image interpolation unit 58 outputs the generated interpolation frame, and then outputs a frame t + 1 as necessary, thereby outputting the 60P signal image to the subsequent image signal output unit 4. To do. In the following, the pixel value is also referred to as a luminance value as appropriate.

図6は、信号処理装置3における処理の原理を説明する図である。図6の例においては、点線が、信号処理装置3に入力される、時刻t,t+1,およびt+2における24P信号のフレームを表しており、実線が、入力された24P信号から信号処理装置3により、生成される時刻t,t+0.4,t+0.8,t+1.2,t+1.6,およびt+2における60P信号の内挿フレームを表している。   FIG. 6 is a diagram for explaining the principle of processing in the signal processing device 3. In the example of FIG. 6, a dotted line represents a frame of a 24P signal input at time t, t + 1, and t + 2 input to the signal processing device 3, and a solid line is represented by the signal processing device 3 from the input 24P signal. , The 60P signal interpolation frames at the generated times t, t + 0.4, t + 0.8, t + 1.2, t + 1.6, and t + 2.

一般に、24P信号を、60P信号に変換するためには、5/2倍のフレームが必要になる。すなわち、2枚の24P信号の画像から5枚の60P信号の画像が生成されなければならない。このとき、生成される60P信号の内挿フレームは、そのフレーム間隔を等しくするために、24P信号上での時間位相が0.0,0.4,0.8,1.2,および1.6となる位置に配置される。この中で、時間位相が0.0である時刻tの1フレームを除く4フレーム(t+0.4,t+0.8,t+1.2,およびt+1.6のフレーム)は、24P信号上には存在しない画像である。したがって、信号処理装置3は、24P信号の画像が入力されると、24P信号の時刻tおよび時刻t+1の2枚のフレームから、4つの内挿フレームを生成する。したがって、信号処理装置3からは、時刻t,t+0.4,t+0.8,t+1.2,およびt+1.6の5枚のフレームからなる60P信号の画像が出力される。   Generally, in order to convert a 24P signal into a 60P signal, 5/2 times as many frames are required. That is, five 60P signal images must be generated from two 24P signal images. At this time, the generated interpolated frame of the 60P signal has a time phase of 0.0, 0.4, 0.8, 1.2, and 1 on the 24P signal in order to equalize the frame interval. 6 is arranged at a position. Among these, 4 frames (frames of t + 0.4, t + 0.8, t + 1.2, and t + 1.6) except for one frame at time t with a time phase of 0.0 do not exist on the 24P signal. It is an image. Therefore, when the image of the 24P signal is input, the signal processing device 3 generates four interpolation frames from the two frames at the time t and the time t + 1 of the 24P signal. Therefore, the signal processing device 3 outputs a 60P signal image composed of five frames at times t, t + 0.4, t + 0.8, t + 1.2, and t + 1.6.

以上のようにして、信号処理装置3は、24P信号の画像から60P信号の画像に、フレーム周波数を変換する処理を実行する。   As described above, the signal processing device 3 executes the process of converting the frame frequency from the 24P signal image to the 60P signal image.

なお、原理的には、上述したように、24P信号の時刻tおよび時刻t+1の2枚のフレームから、時刻t,t+0.4,t+0.8,t+1.2,およびt+1.6の5枚の60P信号のフレームが新しく生成されるが、実際には、図6の例の場合、24P信号の時刻tおよび時刻t+1の2枚のフレームに基づいて、t,t+0.4,t+0.8の60P信号のフレームが生成され、24P信号の時刻t+1およびt+2の2枚のフレームに基づいて、t+1.2,t+1.6,およびt+2の60P信号のフレームが生成される。   In principle, as described above, from the two frames at time t and time t + 1 of the 24P signal, five frames at times t, t + 0.4, t + 0.8, t + 1.2, and t + 1.6 are obtained. A frame of 60P signal is newly generated. Actually, in the case of the example of FIG. 6, 60P of t, t + 0.4, and t + 0.8 is based on two frames at time t and time t + 1 of the 24P signal. A frame of the signal is generated, and a frame of the 60P signal of t + 1.2, t + 1.6, and t + 2 is generated based on the two frames at the times t + 1 and t + 2 of the 24P signal.

図7は、信号処理装置3の処理をより具体的に説明する図である。図7の例においては、太線矢印は、各状態への遷移を表しており、矢印Tは、状態81乃至85における時間の経過方向を表している。また、状態81乃至85は、信号処理装置3を構成する各部への入出力時の、24P信号の時刻tのフレームt、時刻tの次の時刻t+1のフレームt+1、または、フレームtおよびフレームt+1の間に生成される60P信号の内挿フレームFの状態を概念的に表している。すなわち、実際には、例えば、状態82に示されるような動きベクトルが検出されたフレームがベクトル割付部54に入力される訳ではなく、フレームと動きベクトルは、別々にベクトル割付部54に入力される。   FIG. 7 is a diagram for explaining the processing of the signal processing device 3 more specifically. In the example of FIG. 7, a thick arrow indicates a transition to each state, and an arrow T indicates a time passage direction in the states 81 to 85. The states 81 to 85 are the frame t at the time t of the 24P signal, the frame t + 1 at the time t + 1 next to the time t, or the frame t and the frame t + 1 at the time of input / output to each unit constituting the signal processing device 3. The state of the interpolation frame F of the 60P signal produced | generated during is shown notionally. That is, in practice, for example, a frame in which a motion vector is detected as shown in the state 82 is not input to the vector allocation unit 54, but the frame and the motion vector are separately input to the vector allocation unit 54. The

状態81は、ベクトル検出部52に入力される、24P信号のフレームtおよびフレームt+1の状態を表している。状態81のフレームt上の黒点は、フレームt上の画素を表している。ベクトル検出部52は、状態81のフレームt上の画素が、次の時刻のフレームt+1において、どの位置に移動するかを検出し、その動きを、状態82のフレームt上に示されるように、各画素に対応する動きベクトルとして出力する。この2フレーム間の動きベクトルの検出方法には、ブロックマッチング法または勾配法などが用いられる。なお、このとき、画素に複数の動きベクトルが検出された場合、ベクトル検出部52は、各動きベクトルについて、図8を参照して後述する評価値を求め、その評価値に基づいて動きベクトルを選択する。   The state 81 represents the state of the frame t and the frame t + 1 of the 24P signal input to the vector detection unit 52. A black dot on the frame t in the state 81 represents a pixel on the frame t. The vector detection unit 52 detects the position where the pixel on the frame t in the state 81 moves in the frame t + 1 of the next time, and the movement is indicated as shown on the frame t in the state 82. It outputs as a motion vector corresponding to each pixel. As a method for detecting the motion vector between the two frames, a block matching method or a gradient method is used. At this time, when a plurality of motion vectors are detected in the pixel, the vector detection unit 52 obtains an evaluation value to be described later with reference to FIG. 8 for each motion vector, and calculates a motion vector based on the evaluation value. select.

状態82は、ベクトル割付部54に入力される、フレームtおよびフレームt+1の状態を表している。状態82において、フレームtの各画素の矢印は、ベクトル検出部52により検出された動きベクトルを表している。   A state 82 represents the state of the frame t and the frame t + 1 input to the vector allocation unit 54. In the state 82, the arrow of each pixel of the frame t represents the motion vector detected by the vector detection unit 52.

ベクトル割付部54は、状態82のフレームtの各画素に対して検出された動きベクトルを、次のフレームt+1まで延長させ、予め設定されている時間位相(例えば、図6のt+0.4)にある内挿フレームF上のどの位置を通過するかを求める。これは、フレームtおよびフレームt+1の間が一定動きであると仮定すると、動きベクトルが内挿フレームFを通過した点が、そのフレームでの画素位置となるためである。したがって、ベクトル割付部54は、この通過する動きベクトルを、状態83の内挿フレームF上の近傍4画素に割り付ける。また、このとき、内挿フレームの画素によっては、動きベクトルが存在しない場合、あるいは、複数の動きベクトルが、割付候補となりうる場合がある。後者のような場合には、ベクトル割付部54は、ベクトル検出部52と同様に、各動きベクトルについての評価値を求め、その評価値に基づいて割り付ける動きベクトルを選択する。   The vector allocating unit 54 extends the motion vector detected for each pixel of the frame t in the state 82 to the next frame t + 1 and sets it to a preset time phase (for example, t + 0.4 in FIG. 6). A position on a certain interpolation frame F is obtained. This is because, assuming that there is a constant motion between the frame t and the frame t + 1, the point where the motion vector passes through the interpolation frame F is the pixel position in that frame. Therefore, the vector allocating unit 54 allocates the passing motion vector to four neighboring pixels on the interpolation frame F in the state 83. At this time, depending on the pixel of the interpolation frame, there may be a case where no motion vector exists, or a plurality of motion vectors may be candidates for allocation. In the latter case, like the vector detection unit 52, the vector allocation unit 54 obtains an evaluation value for each motion vector and selects a motion vector to be allocated based on the evaluation value.

状態83は、割付補償部57に入力される、フレームtおよびフレームt+1、並びに動きベクトルが割り付けられた内挿フレームFの状態を表している。状態83の内挿フレームFにおいては、ベクトル割付部54により動きベクトルが割り付けられている画素と、動きベクトルが割り付けられなかった画素が示されている。   A state 83 represents the state of the frame t and the frame t + 1 and the interpolation frame F to which the motion vector is assigned, which is input to the assignment compensation unit 57. In the interpolation frame F in the state 83, the pixels to which the motion vector is assigned by the vector assigning unit 54 and the pixels to which the motion vector is not assigned are shown.

割付補償部57は、状態83の動きベクトルが割り付けられていない画素に対して、その画素の周辺画素に割り付けられている動きベクトルを用いて補う。これは、ある着目画素の近傍領域が同じ動きであるという仮定が成り立つならば、着目画素の周辺画素の動きベクトルと、その着目画素の動きベクトルは似たものであることに基づく処理である。これにより、動きベクトルが割り付けられなかった画素にも、ある程度正確な動きベクトルが与えられ、状態84の内挿フレームF上のすべての画素に動きベクトルが割り付けられる。なお、この場合にも、複数の周辺画素の動きベクトルが候補として存在するため、割付補償部57は、ベクトル割付部54と同様に、各動きベクトルについての評価値を求め、その評価値に基づいて割り付ける動きベクトルを選択する。   The allocation compensation unit 57 compensates for a pixel to which a motion vector in the state 83 is not allocated by using a motion vector allocated to a peripheral pixel of the pixel. This is processing based on the fact that the motion vector of the peripheral pixel of the pixel of interest and the motion vector of the pixel of interest are similar if the assumption that the neighboring region of the pixel of interest has the same motion holds. As a result, a motion vector that is accurate to some extent is also given to a pixel to which no motion vector is assigned, and a motion vector is assigned to all the pixels on the interpolation frame F in the state 84. In this case as well, since motion vectors of a plurality of surrounding pixels exist as candidates, the allocation compensator 57 obtains an evaluation value for each motion vector in the same manner as the vector allocation unit 54, and based on the evaluation values Select the motion vector to be assigned.

状態84は、画像補間部58に入力される、フレームtおよびフレームt+1、並びに、すべての画素に動きベクトルが割り付けられた内挿フレームFの状態を表している。これらのすべての画素に割り付けられた動きベクトルにより、画像補間部58は、内挿フレームF上の画素と、2枚のフレームtおよびフレームt+1の画素の位置関係を決定することができる。したがって、画像補間部58は、内挿フレームF上に割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、状態85の内挿フレームFの黒点に示されるように、内挿フレームF上の画素値を補間生成する。そして、画像補間部58は、生成された内挿フレームを出力し、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の画像を、後段の画像信号出力部4に出力する。   A state 84 represents the state of the frame t and the frame t + 1 input to the image interpolation unit 58 and the state of the interpolation frame F in which motion vectors are assigned to all the pixels. Based on the motion vectors assigned to all these pixels, the image interpolation unit 58 can determine the positional relationship between the pixels on the interpolation frame F and the two frames t and t + 1. Therefore, the image interpolation unit 58 uses the motion vector allocated on the interpolation frame F and the pixel values of the frame t and the frame t + 1 to interpolate as indicated by the black dot of the interpolation frame F in the state 85. Pixel values on the frame F are generated by interpolation. Then, the image interpolation unit 58 outputs the generated interpolation frame, and then outputs a frame t + 1 as necessary, thereby outputting the 60P signal image to the subsequent image signal output unit 4. To do.

次に、図8を参照して、信号処理装置3において用いられる動きベクトルの評価値を説明する。図7を参照して上述したように、信号処理装置3の各部(ベクトル検出部52、ベクトル割付部54、および割付補償部57)において、後段の処理に最適な動きベクトルが選択される。このとき、信号処理装置3の各部においては、動きベクトルに対する評価値として、2つのフレームの注目するベクトルに対応する分だけずらしたブロック間の相関値を表す差分絶対値和(DFD(Displaced Frame Difference))が用いられる。   Next, an evaluation value of a motion vector used in the signal processing device 3 will be described with reference to FIG. As described above with reference to FIG. 7, in each unit of the signal processing device 3 (the vector detection unit 52, the vector allocation unit 54, and the allocation compensation unit 57), an optimal motion vector is selected for subsequent processing. At this time, in each part of the signal processing device 3, as an evaluation value for the motion vector, a sum of absolute differences (DFD (Displaced Frame Difference) representing a correlation value between blocks shifted by an amount corresponding to the vector of interest of the two frames). )) Is used.

図8の例においては、時刻tのフレームt上の画素位置pを中心としたm×nのブロック、および、時刻t+1のフレームt+1上の画素位置pから注目する動きベクトルvのベクトル量分ずらした画素位置p+vを中心としたm×nのブロックの2つのブロックが示されている。これら2つのブロック間において求められる差分絶対値和DFDt(p)は、次の式(1)で表される。   In the example of FIG. 8, the m × n block centered on the pixel position p on the frame t at the time t and the vector amount of the motion vector v of interest are shifted from the pixel position p on the frame t + 1 at the time t + 1. Two blocks of m × n blocks centered on the pixel position p + v are shown. The difference absolute value sum DFDt (p) obtained between these two blocks is expressed by the following equation (1).

Figure 0004655217
・・・(1)
Figure 0004655217
... (1)

ここで、Ft(p)は、時刻tにおける画素位置pの輝度値を表しており、m×nは、差分絶対値和を求めるためのDFD演算範囲(ブロック)を表している。この差分絶対値和は、2つのフレームにおけるDFD演算範囲(ブロック)間の相関値を表しているため、一般的には、この差分絶対値和が小さいほどフレーム間のブロックの波形が一致しており、差分絶対値和が小さいほど、動きベクトルvの信頼度が高いと判定される。これにより、この差分絶対値和は、複数の候補の中から、最も確からしい動きベクトルを選ぶ場合などに用いられる。   Here, Ft (p) represents the luminance value at the pixel position p at time t, and m × n represents the DFD calculation range (block) for obtaining the sum of absolute differences. Since this difference absolute value sum represents a correlation value between DFD calculation ranges (blocks) in two frames, generally, the smaller the difference absolute value sum, the more the waveform of the block between the frames matches. Thus, it is determined that the reliability of the motion vector v is higher as the difference absolute value sum is smaller. As a result, this sum of absolute differences is used when the most probable motion vector is selected from a plurality of candidates.

したがって、以降、信号処理装置3の各部(ベクトル検出部52、ベクトル割付部54、および割付補償部57)においては、動きベクトルが選択される場合の評価値として、特に言及しない場合には、差分絶対値和(以下、評価値DFDと称する)が用いられることとする。   Therefore, hereinafter, in each unit (vector detection unit 52, vector allocation unit 54, and allocation compensation unit 57) of signal processing device 3, as an evaluation value when a motion vector is selected, a difference is obtained unless otherwise specified. An absolute value sum (hereinafter referred to as an evaluation value DFD) is used.

次に、図9のフローチャートを参照して、信号処理装置3のフレーム周波数を変換する処理を説明する。   Next, the process of converting the frame frequency of the signal processing device 3 will be described with reference to the flowchart of FIG.

ステップS1において、ベクトル検出部52は、フレームの画素値を入力する。すなわち、時刻t+1の入力画像のフレームt+1と、フレームメモリ51に記憶されている入力画像の1つ前の時刻tのフレームtの画素値が入力される。なお、このとき、ベクトル割付部54、割付補償部57および画像補間部58も、時刻t+1の入力画像のフレームt+1と、フレームメモリ51の入力画像の1つ前の時刻tのフレームtの画素値を入力する。   In step S1, the vector detection unit 52 inputs the pixel value of the frame. That is, the pixel value of the frame t + 1 of the input image at the time t + 1 and the frame t at the time t immediately before the input image stored in the frame memory 51 are input. At this time, the vector allocating unit 54, the allocation compensating unit 57, and the image interpolating unit 58 also have the pixel values of the frame t + 1 of the input image at time t + 1 and the frame t of time t before the input image of the frame memory 51. Enter.

ステップS2において、ベクトル検出部52は、動きベクトル検出処理を実行する。すなわち、ベクトル検出部52は、フレームメモリ51上のフレームtの着目ブロックと、入力画像である次のフレームt+1の対象ブロックの間で動きベクトルを検出し、検出した動きベクトルを、検出ベクトルメモリ53に記憶する。この2フレーム間の動きベクトルの検出方法には、勾配法またはブロックマッチング法などが用いられる。また、動きベクトルの候補が複数ある場合には、各動きベクトルに対して、評価値DFDが求められ、求められた評価値DFDに基づいた信頼度の高い動きベクトルが検出される。すなわち、この場合、動きベクトルを検出する着目ブロックにおいて、最も確からしい動きベクトルが選択され、検出される。ステップS2における、動きベクトル検出処理の詳細は、図15を参照して後述する。   In step S2, the vector detection unit 52 executes motion vector detection processing. That is, the vector detection unit 52 detects a motion vector between the target block of the frame t on the frame memory 51 and the target block of the next frame t + 1 that is the input image, and the detected motion vector is detected by the detection vector memory 53. To remember. As a method for detecting the motion vector between the two frames, a gradient method or a block matching method is used. When there are a plurality of motion vector candidates, an evaluation value DFD is obtained for each motion vector, and a highly reliable motion vector based on the obtained evaluation value DFD is detected. That is, in this case, the most probable motion vector is selected and detected in the target block for detecting the motion vector. Details of the motion vector detection process in step S2 will be described later with reference to FIG.

ステップS3において、ベクトル割付部54は、ベクトル割付処理を実行する。すなわち、ベクトル割付部54は、ステップS3において、フレームt上において求められた動きベクトルを、割付ベクトルメモリ55上の、補間する内挿フレーム上の着目画素に割り付け、動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグを1(true)に書き換える。例えば、trueである割付フラグは、対応する画素に動きベクトルが割り付けられていることを示し、falseである割付フラグは、対応する画素に動きベクトルが割り付けられていないことを示す。なお、各画素において、動きベクトルの候補が複数ある場合には、各動きベクトルに対して、評価値DFDが求められ、求められた評価値DFDに基づいた信頼度の高い動きベクトルが割り付けられる。すなわち、この場合、動きベクトルを割り付ける着目画素において、最も確からしい動きベクトルが選択され、割り付けられる。ステップS3における、ベクトル割付処理の詳細は、図22と図46を参照して後述する。   In step S3, the vector allocation unit 54 executes a vector allocation process. That is, in step S3, the vector allocation unit 54 allocates the motion vector obtained on the frame t to the pixel of interest on the interpolation frame to be interpolated in the allocation vector memory 55, and the pixel to which the motion vector is allocated. The allocation flag in the allocation flag memory 56 is rewritten to 1 (true). For example, an assignment flag that is true indicates that a motion vector is assigned to the corresponding pixel, and an assignment flag that is false indicates that a motion vector is not assigned to the corresponding pixel. When there are a plurality of motion vector candidates in each pixel, an evaluation value DFD is obtained for each motion vector, and a highly reliable motion vector based on the obtained evaluation value DFD is assigned. That is, in this case, the most probable motion vector is selected and assigned in the target pixel to which the motion vector is assigned. Details of the vector allocation processing in step S3 will be described later with reference to FIGS.

ステップS4において、割付補償部57は、割付補償処理を実行する。すなわち、割付補償部57は、ステップS4において、割付フラグメモリ56の割付フラグを参照し、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素に対して、その着目画素の周辺画素の動きベクトルを補い、割付ベクトルメモリ55の内挿フレーム上に割り付ける。このとき、割付補償部57は、動きベクトルを補い、割付けた着目画素の割付フラグを1(true)に書き換える。なお、周辺画素の動きベクトルが複数ある場合には、各動きベクトルに対して、評価値DFDが求められ、求められた評価値DFDに基づいた、信頼度の高い動きベクトルが割り付けられる。すなわち、この場合、動きベクトルを割り付ける着目画素において、最も確からしい動きベクトルが選択され、割り付けられる。ステップS54における、割付補償処理の詳細は、図61を参照して後述する。   In step S4, the allocation compensator 57 executes an allocation compensation process. That is, the allocation compensation unit 57 refers to the allocation flag in the allocation flag memory 56 in step S4, and for the pixel of interest for which no motion vector has been allocated by the vector allocation unit 54, the motion vector of the surrounding pixels of the pixel of interest. Is allocated on the interpolation frame of the allocation vector memory 55. At this time, the allocation compensator 57 compensates the motion vector and rewrites the allocation flag of the allocated pixel of interest to 1 (true). When there are a plurality of motion vectors of peripheral pixels, an evaluation value DFD is obtained for each motion vector, and a highly reliable motion vector based on the obtained evaluation value DFD is assigned. That is, in this case, the most probable motion vector is selected and assigned in the target pixel to which the motion vector is assigned. Details of the allocation compensation processing in step S54 will be described later with reference to FIG.

ステップS5において、画像補間部58は、画像補間処理を実行する。すなわち、画像補間部58は、ステップS5において、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成する。ステップS5における、画像補間処理の詳細は、図11を参照して後述する。画像補間部58は、ステップS6において、60P信号の画像を出力し(生成された内挿フレームを出力し)、その次に、必要に応じて、フレームt+1を出力することにより、60P信号の画像を、後段の画像信号出力部4に出力する。   In step S5, the image interpolation unit 58 executes an image interpolation process. That is, in step S5, the image interpolation unit 58 uses the motion vector allocated to the interpolation frame in the allocation vector memory 55 and the pixel values of the frame t and the frame t + 1 to generate an interpolation frame pixel value. . Details of the image interpolation processing in step S5 will be described later with reference to FIG. In step S6, the image interpolation unit 58 outputs an image of the 60P signal (outputs the generated interpolation frame), and then outputs a frame t + 1 as necessary, thereby outputting an image of the 60P signal. Is output to the subsequent image signal output unit 4.

ステップS7において、ベクトル検出部52は、すべてのフレームの処理が終了したかを判断し、すべてのフレームの処理がまだ終了していないと判断した場合、処理はステップS1に戻り、それ以降の処理が繰り返される。一方、ベクトル検出部52は、ステップS7において、すべてのフレームの処理が終了したと判断した場合、フレーム周波数を変換する処理を終了する。   In step S7, the vector detection unit 52 determines whether all the frames have been processed. If the vector detection unit 52 determines that all the frames have not been processed yet, the process returns to step S1 and the subsequent processing. Is repeated. On the other hand, when the vector detection unit 52 determines in step S7 that all the frames have been processed, the vector detection unit 52 ends the process of converting the frame frequency.

以上のように、信号処理装置3は、24P信号の入力画像のフレームから動きベクトルを検出し、検出した動きベクトルを、60P信号のフレーム上の画素に割付け、割付けられた動きベクトルに基づいて、60P信号のフレーム上の画素値を生成する。このとき、信号処理装置3は、各処理において、評価値DFD(差分絶対値和)に基づく、より信頼度の高い動きベクトルを選択する。したがって、信号処理装置3においては、動きが破綻することなどが抑制され、より精度のよい画像を生成することができる。   As described above, the signal processing device 3 detects the motion vector from the frame of the input image of the 24P signal, allocates the detected motion vector to the pixel on the frame of the 60P signal, and based on the allocated motion vector, A pixel value on the frame of the 60P signal is generated. At this time, the signal processing device 3 selects a motion vector with higher reliability based on the evaluation value DFD (sum of absolute differences) in each process. Therefore, in the signal processing device 3, it is possible to suppress the failure of the movement and the like and to generate a more accurate image.

次に、画像補間部58の構成の詳細について説明する。   Next, details of the configuration of the image interpolation unit 58 will be described.

図10は、画像補間部58の構成を示すブロック図である。図10に構成を示す画像補間部58は、割付ベクトルメモリ55の内挿フレームに割り付けられた動きベクトルと、フレームtおよびフレームt+1の画素値を用いて、内挿フレームの画素値を補間生成し、60P信号の画像を出力する処理を行う。   FIG. 10 is a block diagram illustrating a configuration of the image interpolation unit 58. The image interpolating unit 58 having the configuration shown in FIG. 10 interpolates and generates the pixel value of the interpolation frame using the motion vector allocated to the interpolation frame of the allocation vector memory 55 and the pixel values of the frame t and the frame t + 1. , 60P signal image processing is performed.

図10の例において、時刻tの画像のフレームtは、空間フィルタ92−1に入力され、時刻t+1の画像のフレームt+1は、空間フィルタ92−2およびバッファ95に入力される。   In the example of FIG. 10, the frame t of the image at time t is input to the spatial filter 92-1, and the frame t + 1 of the image at time t + 1 is input to the spatial filter 92-2 and the buffer 95.

補間制御部91は、割付ベクトルメモリ55の内挿フレームの画素を選択し、選択した画素に割り付けられている動きベクトルに基づいて、内挿フレーム上の画素と、2枚のフレームtおよびフレームt+1の画素との位置関係(空間シフト量)をそれぞれ求める。すなわち、補間制御部91は、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt上の位置と、内挿フレームの画素に対応するフレームt上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−1に供給する。同様に、補間制御部91は、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt+1上の位置と、内挿フレームの画素に対応するフレームt+1上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−2に供給する。   The interpolation control unit 91 selects the pixel of the interpolation frame in the allocation vector memory 55, and based on the motion vector assigned to the selected pixel, the pixel on the interpolation frame, the two frames t and t + 1 The positional relationship (spatial shift amount) with each pixel is obtained. That is, the interpolation control unit 91 uses, based on the pixels of the interpolation frame, the position on the frame t associated with the motion vector and the position of the pixel on the frame t corresponding to the pixel of the interpolation frame, The spatial shift amount is obtained, and the obtained spatial shift amount is supplied to the spatial filter 92-1. Similarly, the interpolation control unit 91 uses, based on the pixels of the interpolation frame, the position on the frame t + 1 associated with the motion vector and the position of the pixel on the frame t + 1 corresponding to the pixel of the interpolation frame. Is obtained, and the obtained spatial shift amount is supplied to the spatial filter 92-2.

また、補間制御部91は、予め設定されている内挿フレームの時間位相(時刻)に基づいて、フレームtとフレームt+1の間における補間重みを求め、求めた補間重みを、乗算器93−1および93−2に設定する。例えば、内挿フレームの時刻が、フレームt+1の時刻t+1から「k」離れた時刻で、かつ、フレームtの時刻tから「1−k」離れた時刻である場合(すなわち、内挿フレームが時刻tと時刻t+1を「1−k」:「k」に内分する時刻に生成される場合)、補間制御部91は、乗算器93−1に「1−k」の補間重みを設定し、乗算器93−2に「k」の補間重みを設定する。   Further, the interpolation control unit 91 obtains an interpolation weight between the frame t and the frame t + 1 based on a preset time phase (time) of the interpolation frame, and uses the obtained interpolation weight as a multiplier 93-1. And 93-2. For example, when the time of the interpolation frame is a time that is “k” away from the time t + 1 of the frame t + 1 and a time that is “1−k” away from the time t of the frame t (ie, the time of the interpolation frame is the time t and time t + 1 is “1−k”: generated at a time that is internally divided into “k”), the interpolation control unit 91 sets an interpolation weight of “1-k” in the multiplier 93-1. An interpolation weight of “k” is set in the multiplier 93-2.

空間フィルタ92−1および92−2は、例えば、キュービックフィルタなどにより構成される。空間フィルタ92−1は、入力されるフレームt上の画素の画素値と、補間制御部91から供給される空間シフト量に基づいて、内挿フレームの画素に対応する、フレームt上の画素値を求め、求めた画素値を乗算器93−1に出力する。空間フィルタ92−2は、入力されるフレームt+1上の画素の画素値と、補間制御部91から供給される空間シフト量に基づいて、内挿フレームの画素に対応する、フレームt+1上の画素値を求め、求めた画素値を乗算器93−2に出力する。   Spatial filters 92-1 and 92-2 are constituted by cubic filters, for example. The spatial filter 92-1 is a pixel value on the frame t corresponding to the pixel of the interpolation frame based on the input pixel value of the pixel on the frame t and the spatial shift amount supplied from the interpolation control unit 91. And the obtained pixel value is output to the multiplier 93-1. The spatial filter 92-2, based on the input pixel value of the pixel on the frame t + 1 and the spatial shift amount supplied from the interpolation control unit 91, the pixel value on the frame t + 1 corresponding to the pixel of the interpolation frame And the obtained pixel value is output to the multiplier 93-2.

なお、内挿フレームの画素の位置が、フレームtまたはフレームt+1上の画素の位置と一致しない場合(すなわち、内挿フレームの画素の位置が、フレームtまたはフレームt+1において画素以下成分である(画素と画素の間の位置である)場合)、空間フィルタ92−1および92−2は、フレームtまたはフレームt+1における内挿フレームの画素の位置の周辺4画素の画素値を用いて、周辺4画素の距離の逆比の和を求めることにより、内挿フレームの画素に対応するフレーム上の画素値を求める。すなわち、画素以下位置の画素値は、周辺4画素との距離を基にした線形補間で値が求められる(その詳細は、図17を参照して後述する)。   When the position of the pixel in the interpolation frame does not match the position of the pixel on the frame t or the frame t + 1 (that is, the position of the pixel in the interpolation frame is a component equal to or less than the pixel in the frame t or the frame t + 1 (pixel And the spatial filters 92-1 and 92-2 use the pixel values of the four surrounding pixels at the pixel position of the interpolation frame in the frame t or the frame t + 1. The pixel value on the frame corresponding to the pixel of the interpolation frame is obtained by calculating the sum of the inverse ratios of the distances. That is, the pixel values at the positions below the pixel are obtained by linear interpolation based on the distance to the surrounding four pixels (details will be described later with reference to FIG. 17).

乗算器93−1は、空間フィルタ92−1から入力されるフレームt上の画素値に、補間制御部91により設定された補間重み「1−k」を乗算し、重み付けされた画素値を、加算器94に出力する。乗算器93−2は、空間フィルタ92−2から入力されるフレームt+1上の画素値に、補間制御部91により設定された補間重み「k」を乗算し、重み付けされた画素値を、加算器94に出力する。   The multiplier 93-1 multiplies the pixel value on the frame t input from the spatial filter 92-1 by the interpolation weight “1-k” set by the interpolation control unit 91, and the weighted pixel value is The result is output to the adder 94. The multiplier 93-2 multiplies the pixel value on the frame t + 1 input from the spatial filter 92-2 by the interpolation weight “k” set by the interpolation control unit 91, and adds the weighted pixel value to the adder. Output to 94.

加算器94は、乗算器93−1から入力される画素値と、乗算器93−2から入力される画素値を加算することにより、内挿フレームの画素の画素値を生成し、生成された内挿フレームの画素値を、バッファ95に出力する。バッファ95は、入力されたフレームt+1をバッファしている。バッファ95は、生成された内挿フレームを出力し、その次に、予め設定されている60Pフレームの時間位相(時刻)に基づいて、必要に応じて、バッファしているフレームt+1を出力することにより、60P信号の画像を、後段に出力する。   The adder 94 generates the pixel value of the pixel of the interpolation frame by adding the pixel value input from the multiplier 93-1 and the pixel value input from the multiplier 93-2. The pixel value of the interpolation frame is output to the buffer 95. The buffer 95 buffers the input frame t + 1. The buffer 95 outputs the generated interpolation frame, and then outputs a buffered frame t + 1 as necessary based on a preset time phase (time) of the 60P frame. Thus, the 60P signal image is output to the subsequent stage.

以上のように構成される画像補間部58の画像補間処理の詳細を、図11のフローチャートを参照して説明する。   Details of the image interpolation processing of the image interpolation unit 58 configured as described above will be described with reference to the flowchart of FIG.

補間制御部91は、ステップS51において、処理する内挿フレームの補間重みを求める。すなわち、処理する内挿フレームの時間位相に基づいて、フレームtとフレームt+1の間における内挿フレームの補間重み(例えば、「k」および「1−k」)が求められ、求められた補間重みが、乗算器93−1および93−2にそれぞれ設定される。補間制御部91は、ステップS52において、割付ベクトルメモリ55の内挿フレーム上の画素を選択する。なお、内挿フレーム上の画素は、フレームの左上の画素からラスタスキャン順に1個ずつ選択される。   In step S51, the interpolation control unit 91 obtains an interpolation weight of the interpolation frame to be processed. That is, based on the time phase of the interpolation frame to be processed, interpolation weights (for example, “k” and “1-k”) of the interpolation frame between frames t and t + 1 are obtained, and the obtained interpolation weights are obtained. Are set in multipliers 93-1 and 93-2, respectively. In step S52, the interpolation control unit 91 selects a pixel on the interpolation frame of the allocation vector memory 55. Note that the pixels on the interpolation frame are selected one by one in the raster scan order from the upper left pixel of the frame.

補間制御部91は、ステップS53において、選択された画素の動きベクトルに基づいて、空間シフト量を求める。すなわち、ステップS52で選択された画素に割り付けられている動きベクトルに基づいて、内挿フレーム上の画素と、2枚のフレームtおよびフレームt+1の画素との位置関係(空間シフト量)がそれぞれ求められ、求められた空間シフト量が、それぞれ空間フィルタ92−1および92−2に供給される。具体的には、補間制御部91は、ステップS53において、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt上の位置と、内挿フレームの画素に対応するフレームt上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−1に供給する。同様に、補間制御部91は、内挿フレームの画素を基準に、その動きベクトルで対応付けられるフレームt+1上の位置と、内挿フレームの画素に対応するフレームt+1上の画素の位置から、それらの空間シフト量を求め、求めた空間シフト量を空間フィルタ92−2に供給する。   In step S53, the interpolation control unit 91 obtains the spatial shift amount based on the motion vector of the selected pixel. That is, based on the motion vector assigned to the pixel selected in step S52, the positional relationship (spatial shift amount) between the pixel on the interpolation frame and the two frames t and t + 1 is obtained. The obtained spatial shift amounts are supplied to the spatial filters 92-1 and 92-2, respectively. Specifically, in step S53, the interpolation control unit 91 uses the pixel of the interpolation frame as a reference, the position on the frame t associated with the motion vector, and the frame t corresponding to the pixel of the interpolation frame. The spatial shift amounts are obtained from the pixel positions, and the obtained spatial shift amounts are supplied to the spatial filter 92-1. Similarly, the interpolation control unit 91 uses, based on the pixels of the interpolation frame, the position on the frame t + 1 associated with the motion vector and the position of the pixel on the frame t + 1 corresponding to the pixel of the interpolation frame. Is obtained, and the obtained spatial shift amount is supplied to the spatial filter 92-2.

時刻tの画像のフレームtの画素値は、空間フィルタ92−1に入力され、時刻t+1の画像のフレームt+1の画素値は、空間フィルタ92−2に入力されている。ステップS54において、空間フィルタ92−1および92−2は、内挿フレームの画素に対応する各フレーム上の画素値を求める。すなわち、入力されるフレームtおよびt+1上の画素の画素値と、補間制御部91から供給される空間シフト量に基づいて、内挿フレームの画素に対応する、各フレーム上の画素値が求められ、求められた画素値が乗算器93−1および93−2にそれぞれ出力される。   The pixel value of the frame t of the image at time t is input to the spatial filter 92-1, and the pixel value of the frame t + 1 of the image at time t + 1 is input to the spatial filter 92-2. In step S54, the spatial filters 92-1 and 92-2 obtain pixel values on each frame corresponding to the pixels of the interpolation frame. That is, the pixel value on each frame corresponding to the pixel of the interpolation frame is obtained based on the pixel value of the pixel on the input frames t and t + 1 and the spatial shift amount supplied from the interpolation control unit 91. The obtained pixel values are output to multipliers 93-1 and 93-2, respectively.

乗算器93−1および93−2は、ステップS55において、画素値に重み付けをする。すなわち、空間フィルタ92−1または92−2から入力される各フレーム上の画素値に、補間制御部91により設定された補間重みが重み付けされ、重み付けされた画素値が、加算器94に出力される。具体的には、乗算器93−1は、空間フィルタ92−1から入力されるフレームt上の画素値に、補間制御部91により設定された補間重み「1−k」を乗算し、重み付けされた画素値を、加算器94に出力する。乗算器93−2は、空間フィルタ92−2から入力されるフレームt+1上の画素値に、補間制御部91により設定された補間重み「k」を乗算し、重み付けされた画素値を、加算器94に出力する。   Multipliers 93-1 and 93-2 weight the pixel values in step S55. That is, the pixel value on each frame input from the spatial filter 92-1 or 92-2 is weighted with the interpolation weight set by the interpolation control unit 91, and the weighted pixel value is output to the adder 94. The Specifically, the multiplier 93-1 multiplies the pixel value on the frame t input from the spatial filter 92-1 by the interpolation weight “1 -k” set by the interpolation control unit 91 and performs weighting. The obtained pixel value is output to the adder 94. The multiplier 93-2 multiplies the pixel value on the frame t + 1 input from the spatial filter 92-2 by the interpolation weight “k” set by the interpolation control unit 91, and adds the weighted pixel value to the adder. Output to 94.

加算器94は、ステップS56において、選択された画素の画素値を生成する。すなわち、乗算器93−1により重み付けされた画素値と、乗算器93−2により重み付けされた画素値を加算することにより、内挿フレームの画素の画素値が生成され、生成された画素値が、バッファ95に出力される。補間制御部91は、ステップS57において、内挿フレーム上のすべての画素についての処理が終了したかを判断し、内挿フレーム上のすべての画素についての処理がまだ終了していないと判断した場合、処理はステップS52に戻り、それ以降の処理が繰り返される。補間制御部91は、ステップS57において、内挿フレーム上のすべての画素についての処理が終了したと判断した場合、画像補間処理を終了する。   In step S56, the adder 94 generates a pixel value of the selected pixel. That is, by adding the pixel value weighted by the multiplier 93-1 and the pixel value weighted by the multiplier 93-2, the pixel value of the pixel of the interpolation frame is generated, and the generated pixel value is Are output to the buffer 95. When the interpolation control unit 91 determines in step S57 whether or not the processing for all the pixels on the interpolation frame has been completed, and determines that the processing for all the pixels on the interpolation frame has not been completed yet The processing returns to step S52, and the subsequent processing is repeated. If the interpolation control unit 91 determines in step S57 that the processing for all the pixels on the interpolation frame has been completed, the interpolation control unit 91 ends the image interpolation processing.

以上のように、内挿フレームに割り付けられた動きベクトルに基づいて、内挿フレームの画素値が生成され、上述した図9のステップS6において、バッファ95により、内挿フレームが出力され、その次に、必要に応じて、フレームt+1が出力されることにより、60P信号の画像が、後段に出力される。したがって、内挿フレームの画素に、最も確からしい動きベクトルが割り付くので、精度のよい内挿フレームを生成することができる。   As described above, the pixel value of the interpolation frame is generated based on the motion vector assigned to the interpolation frame, and the interpolation frame is output by the buffer 95 in step S6 of FIG. 9 described above. If necessary, the frame t + 1 is output, so that an image of the 60P signal is output to the subsequent stage. Therefore, since the most probable motion vector is assigned to the pixel of the interpolation frame, an accurate interpolation frame can be generated.

次に、ベクトル検出部52の構成の詳細について説明する。   Next, details of the configuration of the vector detection unit 52 will be described.

図12は、ベクトル検出部52の構成を示すブロック図である。図12に構成を示すベクトル検出部52は、入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1を用いて、フレームt上の動きベクトルを検出する。この動きベクトルを検出する処理は、複数の画素からなる所定のブロック毎に実行される。   FIG. 12 is a block diagram illustrating a configuration of the vector detection unit 52. The vector detection unit 52 having the configuration shown in FIG. 12 detects a motion vector on the frame t by using the input frame t of the image at time t and the frame t + 1 of the image at time t + 1. The process of detecting the motion vector is executed for each predetermined block composed of a plurality of pixels.

初期ベクトル選択部101は、所定のブロック毎に、過去の動きベクトルの検出結果から求められる信頼度が高い動きベクトルを、勾配法に用いられる初期値となる初期ベクトルV0として、反復勾配法演算部103に出力する。具体的には、初期ベクトル選択部101は、検出ベクトルメモリ53に記憶されてい過去に求められた周辺のブロックの動きベクトルや、シフト初期ベクトルメモリ107に記憶されているシフト初期ベクトルを、初期ベクトルの候補ベクトルとして選択する。そして、初期ベクトル選択部101は、フレームtとフレームt+1を用いて、候補ベクトルの評価値DFDを求め、候補ベクトルの中から、求められた評価値DFDに基づく、最も信頼度が高いものを選択し、初期ベクトルV0として出力する。   The initial vector selection unit 101 uses, as an initial vector V0 that is an initial value used in the gradient method, a high-reliability motion vector obtained from the detection result of the past motion vector for each predetermined block, as an iterative gradient method calculation unit. To 103. Specifically, the initial vector selection unit 101 uses the motion vectors of the peripheral blocks obtained in the past stored in the detection vector memory 53 and the shifted initial vectors stored in the shifted initial vector memory 107 as initial vectors. As a candidate vector. Then, the initial vector selection unit 101 obtains the evaluation value DFD of the candidate vector using the frame t and the frame t + 1, and selects the candidate vector having the highest reliability based on the obtained evaluation value DFD. And output as an initial vector V0.

プリフィルタ102−1および102−2は、ローパスフィルタやガウシアンフィルタにより構成され、それぞれ、入力される画像のフレームtおよびフレームt+1のノイズ成分を除去し、反復勾配法演算部103に出力する。   The pre-filters 102-1 and 102-2 are configured by a low-pass filter and a Gaussian filter, respectively, and remove noise components of the frame t and the frame t + 1 of the input image, and output them to the iterative gradient method computing unit 103.

反復勾配法演算部103は、初期ベクトル選択部101から入力された初期ベクトルV0と、プリフィルタ102−1および102−2を介して入力されるフレームtおよびフレームt+1を用いて、所定のブロック毎に、勾配法により、動きベクトルVnを算出する。反復勾配法演算部103は、初期ベクトルV0と、算出された動きベクトルVnをベクトル評価部104に出力する。また、反復勾配法演算部103は、ベクトル評価部104による動きベクトルの評価結果に基づいて、勾配法の演算を繰り返し行い、動きベクトルVnを算出する。   The iterative gradient method computing unit 103 uses the initial vector V0 input from the initial vector selection unit 101 and the frame t and the frame t + 1 input via the prefilters 102-1 and 102-2, for each predetermined block. Then, the motion vector Vn is calculated by the gradient method. The iterative gradient method computing unit 103 outputs the initial vector V0 and the calculated motion vector Vn to the vector evaluation unit 104. In addition, the iterative gradient method computing unit 103 repeatedly performs the gradient method computation based on the motion vector evaluation result by the vector evaluation unit 104 to calculate the motion vector Vn.

ベクトル評価部104は、反復勾配法演算部103からの動きベクトルVn−1(または初期ベクトルV0)と、動きベクトルVnの評価値DFDを求め、求められた評価値DFDに基づいて、反復勾配法演算部103を制御し、勾配法の演算を繰り返し実行させ、最終的に、評価値DFDに基づく、信頼性の高いものを選択し、動きベクトルVとして、検出ベクトルメモリ53に記憶する。このとき、ベクトル評価部104は、動きベクトルVとともに、その動きベクトルVに対して求められた評価値DFDを、シフト初期ベクトル割付部105に供給する。   The vector evaluation unit 104 obtains the motion vector Vn−1 (or initial vector V0) from the iterative gradient method computing unit 103 and the evaluation value DFD of the motion vector Vn, and based on the obtained evaluation value DFD, the iterative gradient method The calculation unit 103 is controlled to repeatedly execute the calculation of the gradient method, and finally, a highly reliable one based on the evaluation value DFD is selected and stored in the detection vector memory 53 as a motion vector V. At this time, the vector evaluation unit 104 supplies the evaluation value DFD obtained for the motion vector V together with the motion vector V to the shifted initial vector allocation unit 105.

シフト初期ベクトル割付部105は、ベクトル評価部104より動きベクトルVおよびその評価値DFDが供給されると、次のフレーム上の着目ブロックを通過する動きベクトルを、その着目ブロックにシフトさせた、シフト初期ベクトルとして設定する。換言すると、シフト初期ベクトル割付部105は、動きベクトルVの終点のブロックと同じ位置の次のフレーム上の着目ブロックを始点とした、動きベクトルVと同じ大きさで同じ向きの動きベクトルを、シフト初期ベクトルとして設定する。そして、シフト初期ベクトル割付部105は、設定したシフト初期ベクトルを、着目ブロックに対応させて、シフト初期ベクトルメモリ107に割り付ける。   When the motion vector V and the evaluation value DFD are supplied from the vector evaluation unit 104, the shifted initial vector allocation unit 105 shifts the motion vector passing through the target block on the next frame to the target block. Set as initial vector. In other words, the shifted initial vector allocation unit 105 shifts a motion vector of the same size and the same direction as the motion vector V, starting from the target block on the next frame at the same position as the end block of the motion vector V. Set as initial vector. Then, the shifted initial vector allocation unit 105 allocates the set shifted initial vector to the shifted initial vector memory 107 in association with the block of interest.

具体的には、シフト初期ベクトル割付部105は、シフト初期ベクトルとして割り付けられた動きベクトルVの評価値DFDを、着目ブロックに対応させて、評価値メモリ106に記憶させておき、同じ着目ブロックを通過する(すなわち、着目ブロックと同じ位置の過去のフレームのブロックを終点とする)他の動きベクトルVの評価値DFDと比較する。そして、シフト初期ベクトル割付部105は、評価値DFDに基づく、信頼度が高いとされた動きベクトルVを、着目ブロックにシフトさせ、着目ブロックのシフト初期ベクトルとして、シフト初期ベクトルメモリ107に割り付ける。   Specifically, the shifted initial vector allocation unit 105 stores the evaluation value DFD of the motion vector V allocated as the shifted initial vector in the evaluation value memory 106 in association with the target block, and stores the same target block. It is compared with the evaluation value DFD of another motion vector V that passes (that is, a block of a past frame at the same position as the target block). Then, the shifted initial vector allocation unit 105 shifts the motion vector V determined to have high reliability based on the evaluation value DFD to the target block, and allocates it to the shifted initial vector memory 107 as the shifted initial vector of the target block.

次に、ベクトル検出部52において用いられる勾配法の原理について説明する。まず、動画像中において、水平、垂直、時間軸を用いた座標(x,y,t)で表される画素の輝度値をg(x,y,t)とする。ここで、着目画素(x0,y0,t0)が、微小時間中に、(dx,dy,dt)だけ変位したとき、水平、垂直、時間軸の勾配(差分差)を、それぞれgx(x0,y0,t0),gy(x0,y0,t0),gt(x0,y0,t0)と表すと、変位後の画素の輝度値は、Taylor展開近似を用いて、次の式(2)で表される。 Next, the principle of the gradient method used in the vector detection unit 52 will be described. First, a luminance value of a pixel represented by coordinates (x, y, t) using a horizontal, vertical, and time axis in a moving image is assumed to be g (x, y, t). Here, when the pixel of interest (x 0 , y 0 , t 0 ) is displaced by (dx, dy, dt) during a minute time, the horizontal (vertical) and time axis gradients (difference differences) are respectively expressed as gx. When expressed as (x 0 , y 0 , t 0 ), gy (x 0 , y 0 , t 0 ), and gt (x 0 , y 0 , t 0 ), the luminance value of the pixel after displacement is approximated by Taylor expansion. Is expressed by the following equation (2).

g(x0+dx,y0+dy,t0+dt)
≒ g(x0,y0,t0)+gx(x0,y0,t0)dx
+ gy(x0,y0,t0)dy+gt(x0,y0,t0)dt
・・・(2)
g (x 0 + dx, y 0 + dy, t 0 + dt)
≒ g (x 0 , y 0 , t 0 ) + gx (x 0 , y 0 , t 0 ) dx
+ Gy (x 0 , y 0 , t 0 ) dy + gt (x 0 , y 0 , t 0 ) dt
... (2)

ここで、動画像中のある着目画素が1フレーム後に水平vx,垂直vyだけ移動した場合(以降、(vx,vy)と表す)、その画素の輝度値は、次の式(3)で表される。   Here, when a pixel of interest in a moving image moves by horizontal vx and vertical vy after one frame (hereinafter, expressed as (vx, vy)), the luminance value of the pixel is expressed by the following equation (3). Is done.

g(x0+vx,y0+vy,t0+1) = g(x0,y0,t0
・・・(3)
g (x 0 + vx, y 0 + vy, t 0 +1) = g (x 0, y 0, t 0)
... (3)

式(2)を式(3)に代入すると、次の式(4)で表される。   When Expression (2) is substituted into Expression (3), it is expressed by the following Expression (4).

gx(x0,y0,t0)vx+gy(x0,y0,t0)vy
+gt(x0,y0,t0) = 0
・・・(4)
gx (x 0 , y 0 , t 0 ) vx + gy (x 0 , y 0 , t 0 ) vy
+ Gt (x 0 , y 0 , t 0 ) = 0
... (4)

式(4)は、vx,vyの2変数の式であるので、着目1画素に対する単独の式では、その解を求めることができない。そこで、次に説明するように、着目画素の周辺領域であるブロックを1つの処理単位として考え、ブロック(周辺領域)内の全画素が同じ動き(vx,vy)をすると仮定し、各画素について同様の式を立てる。仮定が前提となるが、2変数に対して周辺画素の個数の式が得られる。したがって、それらの式を連立させ、ブロック内全画素の動き補償フレーム差分の自乗和が最小になるような(vx,vy)を求める。   Since the equation (4) is a two-variable equation of vx and vy, the solution cannot be obtained with a single equation for the target pixel. Therefore, as described below, a block that is a peripheral region of the target pixel is considered as one processing unit, and it is assumed that all pixels in the block (peripheral region) have the same movement (vx, vy). Build a similar formula. Assuming an assumption, an expression for the number of neighboring pixels is obtained for two variables. Therefore, these equations are combined to obtain (vx, vy) that minimizes the sum of squares of motion compensation frame differences of all pixels in the block.

画素(x,y,t)が1フレーム間に(vx,vy)だけ移動したとき、その動き補償フレーム間差分dは、次の式(5)で表される。   When the pixel (x, y, t) moves by (vx, vy) by one frame, the motion compensation inter-frame difference d is expressed by the following equation (5).

d = g(x+vx,y+vy,t+1)−g(x,y,t)
= Δxvx+Δyvy+Δt
・・・(5)
d = g (x + vx, y + vy, t + 1) −g (x, y, t)
= Δxvx + Δyvy + Δt
... (5)

式(5)において、Δx=gx(x,y,t)であり、水平方向の勾配を表し、Δy=gy(x,y,t)であり、垂直方向の勾配を表し、Δt=gt(x,y,t)であり、時間方向の勾配を表す。これらを用いて、動き補償フレーム間差分の自乗和をEとすると、式(6)で表される。   In equation (5), Δx = gx (x, y, t), which represents a horizontal gradient, Δy = gy (x, y, t), which represents a vertical gradient, Δt = gt ( x, y, t), which represents the gradient in the time direction. Using these, assuming that the square sum of the difference between motion compensation frames is E, it is expressed by Equation (6).

E = Σd2
= Σ(Δx2vx2+Δy2vy2+2ΔxΔyvxvy
+2ΔxΔtvx+2ΔyΔtvy+Δt2
=vx2ΣΔx2+vy2ΣΔy2+2vxvyΣΔxΔy
+2vxΣΔxΔt+2vyΣΔyΔt+ΣΔt2
・・・(6)
E = Σd 2
= Σ (Δx 2 vx 2 + Δy 2 vy 2 + 2ΔxΔyvxvy
+ 2ΔxΔtvx + 2ΔyΔtvy + Δt 2 )
= Vx 2 ΣΔx 2 + vy 2 ΣΔy 2 +2 vxvy ΣΔxΔy
+ 2vxΣΔxΔt + 2vyΣΔyΔt + ΣΔt 2
... (6)

ここで、Eが最小となる(vx,vy)は、各変数における偏微分値が0になるとき、すなわち、δE/δvx=δE/δvy=0の条件が成立するときなので、式(6)から、次の式(7)および式(8)となる。   Here, E becomes the minimum (vx, vy) when the partial differential value in each variable becomes 0, that is, when the condition of δE / δvx = δE / δvy = 0 is satisfied. Thus, the following equations (7) and (8) are obtained.

vxΣΔx2+vyΣΔxΔy+ΣΔxΔt = 0
・・・(7)
vyΣΔy2+vxΣΔxΔy+ΣΔyΔt = 0
・・・(8)
vxΣΔx 2 + vyΣΔxΔy + ΣΔxΔt = 0
... (7)
vyΣΔy 2 + vxΣΔxΔy + ΣΔyΔt = 0
... (8)

これらの式(7)および式(8)から、求めたい動きである(vx,vy)は、次の式(9)を演算することにより求めることができる。   From these equations (7) and (8), (vx, vy) which is the desired motion can be obtained by calculating the following equation (9).

Figure 0004655217
・・・(9)
Figure 0004655217
... (9)

以上の勾配法の原理を、図13を参照して、具体的に説明する。図13の例において、矢印Xは、水平方向を示しており、矢印Yは、垂直方向を示している。また、矢印Tは、図中、右奥の時刻tのフレームtから、左手前の時刻t+1のフレームt+1への時間の経過方向を示している。なお、図13の例においては、各フレームは、着目画素pの周辺領域(ブロック)として、勾配法演算に用いられる8画素×8画素の領域のみ示されている。   The principle of the above gradient method will be specifically described with reference to FIG. In the example of FIG. 13, an arrow X indicates the horizontal direction, and an arrow Y indicates the vertical direction. In addition, an arrow T indicates the direction of time passage from the frame t at the time t in the back right to the frame t + 1 at the time t + 1 in the left front. In the example of FIG. 13, each frame shows only an area of 8 pixels × 8 pixels used for the gradient method calculation as a peripheral area (block) of the pixel of interest p.

フレームtにおいて、左上の画素から下に5番目、右に5番目の画素である着目画素pの動きベクトルV(vx,vy)を、上述した勾配法を用いて求める場合、動きベクトルV(vx,vy)は、着目画素pのx,y方向のそれぞれについて求められる隣接画素pxおよびpyとの輝度の差分差(すなわち、勾配)ΔxおよびΔy、フレームt+1において求められる着目画素pの同位相に位置する画素qとの時間方向の輝度の差分差(勾配)Δtを、着目画素pの周辺領域(8画素×8画素)のすべての画素について求め、それらの差分差を、式(9)を用いて演算することにより、求めることができる。   In the frame t, when the motion vector V (vx, vy) of the pixel of interest p, which is the fifth pixel down from the upper left pixel and the fifth pixel on the right, is obtained using the gradient method described above, the motion vector V (vx , Vy) is the difference in luminance (ie, gradient) Δx and Δy between adjacent pixels px and py obtained for the x and y directions of the pixel of interest p, and the same phase of the pixel of interest p obtained in frame t + 1. A difference in luminance (gradient) Δt in the time direction with respect to the pixel q located is obtained for all pixels in the peripheral region (8 pixels × 8 pixels) of the pixel of interest p, and the difference between them is expressed by Equation (9). It can obtain | require by calculating using.

すなわち、勾配法とは、2フレーム間において、勾配Δx,Δy,およびΔtを求め、求められたΔx,Δy,およびΔtから、差分自乗和を用いて、統計的に、動きベクトルV(vx,vy)を算出するものである。   That is, the gradient method calculates gradients Δx, Δy, and Δt between two frames, and statistically calculates the motion vector V (vx, Δt from the obtained Δx, Δy, and Δt using the sum of squares of differences. vy).

一般的に、このような勾配法を用いた動きベクトル検出方法においては、微小動きに対して精度の高い結果が得られる。しかしながら、実際の動画像の中で動きを求めようとするとする場合、この勾配法は、その動き量が大きすぎるため実用的とはいえない。これに対応して、この勾配法を複数回反復する方法が考えられる。勾配法を反復して実行することにより、各演算で求められる動き量が収束するため、徐々に正しい動きが求められる。   Generally, in a motion vector detection method using such a gradient method, a highly accurate result can be obtained for a minute motion. However, when trying to obtain a motion in an actual moving image, this gradient method is not practical because the amount of motion is too large. Correspondingly, a method of repeating this gradient method a plurality of times is conceivable. By repeatedly executing the gradient method, the amount of motion obtained by each calculation converges, so that a correct motion is gradually obtained.

しかしながら、ただ、勾配法を反復するだけでは、リアルタイム処理を行おうとした場合、演算時間の面から実用的ではない。そこで、ベクトル検出部52においては、過去フレームと現在フレームでの周辺画素の動きに基づいて求められる初期ベクトルを、初期値として用いることで、勾配法の繰り返し回数を軽減している。すなわち、動きの起点となる着目画素から、初期ベクトルが指す先へオフセットを予め加えることで大まかな動きを算出し、オフセットが加えられたその位置から勾配法を用いた演算を行うようにすれば、画素以下動きを含めた微調整を行うことができる。これにより、演算時間を増大させることなく、精度のよい動きベクトルを検出することができる。   However, it is not practical from the viewpoint of calculation time when trying to perform real-time processing only by repeating the gradient method. Therefore, the vector detection unit 52 reduces the number of iterations of the gradient method by using, as an initial value, an initial vector obtained based on the motion of surrounding pixels in the past frame and the current frame. In other words, if a rough motion is calculated by adding an offset in advance from the pixel of interest that is the starting point of the motion to the destination indicated by the initial vector, an operation using the gradient method is performed from the position where the offset is added. Fine adjustment including movement below the pixel can be performed. Thereby, an accurate motion vector can be detected without increasing the calculation time.

図14は、初期ベクトルを用いて実行される反復勾配法について具体的に説明する図である。図14の例においては、矢印Tは、図中、左手前の時刻tのフレームtから、右奥の時刻t+1のフレームt+1への時間の経過を示している。なお、各画素p,q0,q1,q2,およびq3を中心としたブロックは、その画素の、勾配法演算に用いられる周辺領域(ブロック)を表している。   FIG. 14 is a diagram for specifically explaining the iterative gradient method executed using the initial vector. In the example of FIG. 14, the arrow T indicates the passage of time from the frame t at the time t on the left front side to the frame t + 1 at the time t + 1 on the right back in the drawing. A block centered on each pixel p, q0, q1, q2, and q3 represents a peripheral region (block) used for the gradient method calculation of that pixel.

図14の例の場合、フレームtにおける着目画素pに対して、フレームt+1においては、着目画素pの同位相に位置する画素q0ではなく、予め求めておいた初期ベクトルv0をオフセット(移動)して計算した位置(画素)q1を開始点として1回目の勾配法演算が行われ、その結果、動きベクトルv1が得られる。   In the case of the example in FIG. 14, the initial vector v0 obtained in advance is offset (moved) in the frame t + 1, not the pixel q0 located in the same phase as the target pixel p in the frame t + 1. The first gradient method calculation is performed with the position (pixel) q1 calculated in this way as the starting point, and as a result, a motion vector v1 is obtained.

次に、画素q0からv0+v1をオフセットして計算した位置(画素)q2を開始点として、2回目の勾配法演算が行われ、その結果、動きベクトルv2が得られる。これにより、最終的に動きベクトルVは、式(10)として求められる。   Next, the second gradient method calculation is performed with the position (pixel) q2 calculated by offsetting v0 + v1 from the pixel q0 as a starting point, and as a result, a motion vector v2 is obtained. Thereby, the motion vector V is finally obtained as Expression (10).

V = v0+v1+v2
・・・(10)
V = v0 + v1 + v2
... (10)

以上のようにして、初期ベクトルを用いて、反復勾配法の演算を実行することにより、演算時間を短縮させつつ、精度の高い動きベクトルを求めることができる。   As described above, by performing the iterative gradient method using the initial vector, it is possible to obtain a highly accurate motion vector while reducing the calculation time.

次に、図15のフローチャートを参照して、動きベクトル検出処理の詳細について説明する。ベクトル検出部52には、入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1が入力される。   Next, details of the motion vector detection process will be described with reference to the flowchart of FIG. The vector detection unit 52 receives the input frame t of the image at time t and input frame t + 1 of the image at time t + 1.

初期ベクトル選択部101は、ステップS101において、着目ブロックを選択する。すなわち、フレームt上の処理の対象となる1つのブロックが、着目ブロックとして選択される。なお、フレーム上においては、左上のブロックからラスタスキャン順に処理が実行される。   The initial vector selection unit 101 selects a block of interest in step S101. That is, one block to be processed on the frame t is selected as the target block. On the frame, the processing is executed in the raster scan order from the upper left block.

ステップS102において、初期ベクトル選択部101は、初期ベクトル選択処理を実行する。初期ベクトル選択部101は、ステップS101において、所定のブロック毎に、過去の動きベクトルの検出結果から、信頼度が高い動きベクトルを選択し、選択した動きベクトルを、勾配法に用いられる初期値となる初期ベクトルV0として、反復勾配法演算部103に出力する。   In step S102, the initial vector selection unit 101 performs an initial vector selection process. In step S101, the initial vector selection unit 101 selects a motion vector with high reliability from the detection result of the past motion vector for each predetermined block, and uses the selected motion vector as an initial value used in the gradient method. The initial vector V0 is output to the iterative gradient method computing unit 103.

すなわち、初期ベクトル選択部101は、過去の勾配法演算評価処理(後述するステップS103)において求められ、検出ベクトルメモリ53に記憶された周辺ブロックの動きベクトルや、過去のシフト初期ベクトル割付処理(後述するステップS104)においてシフト初期ベクトルメモリ107に記憶されたシフト初期ベクトルを、初期ベクトルの候補ベクトルとして選択する。そして、初期ベクトル選択部101は、フレームtとフレームt+1を用いて、候補ベクトルの評価値DFDを求め、候補ベクトルの中から、求められた評価値DFDに基づいた信頼度が高いものを選択し、選択された候補ベクトルを、初期ベクトルV0として出力する。   That is, the initial vector selection unit 101 obtains the motion vector of the peripheral blocks obtained in the past gradient method calculation evaluation process (step S103 described later) and stored in the detection vector memory 53, and the past shifted initial vector allocation process (described later). In step S104), the shifted initial vector stored in the shifted initial vector memory 107 is selected as an initial vector candidate vector. Then, the initial vector selection unit 101 obtains the evaluation value DFD of the candidate vector using the frame t and the frame t + 1, and selects a candidate vector having a high reliability based on the obtained evaluation value DFD. The selected candidate vector is output as the initial vector V0.

ステップS103において、反復勾配法演算部103およびベクトル評価部104は、反復勾配法演算評価処理(なお、反復勾配法演算処理とも称する)を実行する。具体的には、ステップS103において、反復勾配法演算部103は、初期ベクトル選択部101から入力された初期ベクトルV0と、プリフィルタ102−1および102−2を介して入力されるフレームtおよびフレームt+1を用いて、ベクトル評価部104による動きベクトルの評価結果に基づいて、勾配法の演算を繰り返し行い、動きベクトルVnを算出する。また、ベクトル評価部104は、反復勾配法演算部103からの動きベクトルVn−1と、動きベクトルVnの評価値DFDを求め、求められた評価値DFDに基づく、最も信頼性の高いものを選択し、動きベクトルVとして、検出ベクトルメモリ53に記憶する。このとき、ベクトル評価部104は、動きベクトルVとともに、その動きベクトルVに対して求めた評価値DFDを、シフト初期ベクトル割付部105に供給する。   In step S103, the iterative gradient method calculation unit 103 and the vector evaluation unit 104 execute an iterative gradient method calculation evaluation process (also referred to as an iterative gradient method calculation process). Specifically, in step S103, the iterative gradient method computing unit 103 receives the initial vector V0 input from the initial vector selecting unit 101, the frame t and the frame input via the prefilters 102-1 and 102-2. Based on the motion vector evaluation result by the vector evaluation unit 104 using t + 1, the gradient method is repeatedly calculated to calculate the motion vector Vn. The vector evaluation unit 104 obtains the motion vector Vn−1 from the iterative gradient method computing unit 103 and the evaluation value DFD of the motion vector Vn, and selects the most reliable one based on the obtained evaluation value DFD. And stored in the detected vector memory 53 as a motion vector V. At this time, the vector evaluation unit 104 supplies the evaluation value DFD obtained for the motion vector V together with the motion vector V to the shifted initial vector allocation unit 105.

ステップS104において、シフト初期ベクトル割付部105は、シフト初期ベクトル割付処理を実行する。シフト初期ベクトル割付部105は、ベクトル評価部104より動きベクトルVおよびその評価値DFDが供給されると、ステップS104において、次のフレーム上の着目ブロックを通過する動きベクトルを、その着目ブロックにシフトさせた、シフト初期ベクトルとして設定する。すなわち、換言すると、動きベクトルVの終点のブロックと同じ位置の次のフレーム上の着目ブロックを始点とした、動きベクトルVと同じ大きさで同じ向きの動きベクトルが、シフト初期ベクトルとして設定される。そして、シフト初期ベクトル割付部105は、設定したシフト初期ベクトルを、着目ブロックに対応させて、シフト初期ベクトルメモリ107に割り付ける。   In step S104, the shifted initial vector allocation unit 105 performs a shifted initial vector allocation process. When the motion vector V and its evaluation value DFD are supplied from the vector evaluation unit 104, the shifted initial vector allocation unit 105 shifts the motion vector passing through the target block on the next frame to the target block in step S104. The shifted initial vector is set. That is, in other words, a motion vector having the same size and the same direction as the motion vector V starting from the block of interest on the next frame at the same position as the end block of the motion vector V is set as the initial shift vector. . Then, the shifted initial vector allocation unit 105 allocates the set shifted initial vector to the shifted initial vector memory 107 in association with the block of interest.

なお、具体的には、シフト初期ベクトル割付部105は、シフト初期ベクトルとして割り付けられた動きベクトルVの評価値DFDを、着目ブロックに対応させて、評価値メモリ106に記憶させておき、同じ着目ブロックを通過する(すなわち、着目ブロックと同じ位置の過去のフレームのブロックを終点とする)他の動きベクトルVの評価値DFDと比較し、評価値DFDに基づく、信頼度が高いとされた動きベクトルVを、そのブロックにシフトさせてシフト初期ベクトルと設定し、シフトさせたブロックに対応させて、シフト初期ベクトルメモリ107に割り付ける。   Specifically, the shifted initial vector allocation unit 105 stores the evaluation value DFD of the motion vector V allocated as the shifted initial vector in the evaluation value memory 106 in association with the target block, so that the same target Compared with the evaluation value DFD of another motion vector V that passes through the block (that is, the block of the past frame at the same position as the target block is the end point), the motion with high reliability based on the evaluation value DFD The vector V is shifted to that block and set as a shifted initial vector, and is allocated to the shifted initial vector memory 107 in correspondence with the shifted block.

ステップS105において、初期ベクトル選択部101は、フレームtにおいて、すべてのブロックの処理が終了したか否かを判断し、すべてのブロックの処理が終了していないと判断した場合、処理はステップS101に戻り、それ以降の処理が繰り返される。また、ステップS105において、初期ベクトル選択部101は、フレームtにおいて、すべてのブロックの処理が終了したと判断した場合、すなわち、フレームt上のすべてのブロックにおいて、動きベクトルVが検出されたと判断し、動きベクトル検出処理を終了する。   In step S105, the initial vector selection unit 101 determines whether or not all blocks have been processed in the frame t. If it is determined that all blocks have not been processed, the process proceeds to step S101. Return, and the subsequent processing is repeated. In step S105, the initial vector selection unit 101 determines that the motion vectors V have been detected in all the blocks on the frame t when it is determined that all the blocks have been processed in the frame t. Then, the motion vector detection process ends.

以上のように、過去に検出された動きベクトルから初期ベクトルが選択され、選択された初期ベクトルに基づいて、反復勾配法の演算が用いられて、繰り返し動きベクトルが算出され、算出された動きベクトルの中から、評価値DFDに基づく、信頼度が高い(すなわち、最も確からしい)動きベクトルが検出される。この結果、検出ベクトルメモリ53に、フレームt上のすべてのブロックに対応する動きベクトルVが記憶される。   As described above, an initial vector is selected from motion vectors detected in the past, an iterative gradient method is calculated based on the selected initial vector, and a repeated motion vector is calculated. Among them, a motion vector having a high reliability (that is, most likely) based on the evaluation value DFD is detected. As a result, the motion vector V corresponding to all the blocks on the frame t is stored in the detection vector memory 53.

次に、ベクトル割付部54の構成の詳細について説明する。   Next, details of the configuration of the vector allocation unit 54 will be described.

図16は、ベクトル割付部54の構成を示すブロック図である。図16に構成を示すベクトル割付部54は、24P信号の入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1を用いて、フレームt上において検出された動きベクトルを、割付ベクトルメモリ55上の、補間する60P信号の内挿フレーム上の画素に割り付ける処理を行う。   FIG. 16 is a block diagram showing the configuration of the vector allocation unit 54. The vector allocating unit 54 having the configuration shown in FIG. 16 allocates motion vectors detected on the frame t using the frame t of the image at time t to which the 24P signal is input and the frame t + 1 of the image at time t + 1. A process of assigning to the pixels on the interpolation frame of the 60P signal to be interpolated on the vector memory 55 is performed.

図16の例において、時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1は、画素情報演算部701、評価値演算部702、および着目画素差分演算部703に入力される。   In the example of FIG. 16, the frame t of the image at time t and the frame t + 1 of the image at time t + 1 are input to the pixel information calculation unit 701, the evaluation value calculation unit 702, and the target pixel difference calculation unit 703.

画素情報演算部701は、検出ベクトルメモリ53のフレームt上の画素に検出された動きベクトルを、左上の画素からラスタスキャン順に取得し、取得した動きベクトルを、次の時刻のフレームt+1方向に延ばし、延ばした動きベクトルと、内挿フレームとの交点を算出する。そして、画素情報演算部701は、算出された動きベクトルと内挿フレームとの交点から、内挿フレーム上において、その動きベクトルの割付対象となる画素(以下、割付対象画素と称する)を設定し、動きベクトルおよび割付対象画素の位置の情報を、ベクトル選択部705に出力する。また、画像情報演算部701は、割付対象画素と、動きベクトルで対応付けられるフレームtの位置Pおよびフレームt+1上の位置Qを算出し、算出されたフレームtおよびフレームt+1上の位置情報を、評価値演算部702、および着目画素差分演算部703に出力する。   The pixel information calculation unit 701 acquires the motion vector detected by the pixel on the frame t in the detection vector memory 53 in the raster scan order from the upper left pixel, and extends the acquired motion vector in the frame t + 1 direction at the next time. The intersection of the extended motion vector and the interpolation frame is calculated. Then, the pixel information calculation unit 701 sets, from the intersection of the calculated motion vector and the interpolation frame, a pixel (hereinafter referred to as an allocation target pixel) to which the motion vector is assigned on the interpolation frame. The motion vector and the position information of the allocation target pixel are output to the vector selection unit 705. The image information calculation unit 701 calculates the position P of the frame t and the position Q on the frame t + 1 that are associated with the allocation target pixel and the motion vector, and the calculated position information on the frame t and the frame t + 1 The result is output to the evaluation value calculation unit 702 and the target pixel difference calculation unit 703.

評価値演算部702は、画素情報演算部701から、割付対象画素と、動きベクトルで対応付けられるフレームtおよびフレームt+1上の位置情報を入力すると、フレームtの位置Pおよびフレームt+1の位置Qの評価値DFDを演算するため、位置Pおよび位置Qを中心とした一定範囲のDFD演算範囲(m×n)をそれぞれ設定し、それらのDFD演算範囲が画枠内にあるか否かを判断する。評価値演算部702は、DFD演算範囲が画枠内にあると判断した場合、このDFD演算範囲を用いて演算することにより、動きベクトルに対する割付対象画素の評価値DFDを求め、求めた評価値DFDを、ベクトル評価部704に出力する。   When the evaluation value calculation unit 702 receives from the pixel information calculation unit 701 position information on the frame t and the frame t + 1 associated with the allocation target pixel and the motion vector, the evaluation value calculation unit 702 receives the position P of the frame t and the position Q of the frame t + 1. In order to calculate the evaluation value DFD, a certain range of DFD calculation ranges (m × n) centering on the position P and the position Q are respectively set, and it is determined whether or not those DFD calculation ranges are within the image frame. . When the evaluation value calculation unit 702 determines that the DFD calculation range is within the image frame, the evaluation value calculation unit 702 calculates the evaluation value DFD of the allocation target pixel for the motion vector by calculating using the DFD calculation range, and the calculated evaluation value The DFD is output to the vector evaluation unit 704.

着目画素差分演算部703は、画素情報演算部701から、割付対象画素と、動きベクトルで対応付けられるフレームtおよびフレームt+1上の位置情報を入力すると、フレームtの位置Pおよびフレームt+1の位置Qを用いて、割付対象画素に対する輝度差分絶対値を求め、求めた輝度差分絶対値を、ベクトル評価部704に出力する。   When the pixel-of-interest difference calculation unit 703 receives from the pixel information calculation unit 701 position information on the frame t and the frame t + 1 associated with the allocation target pixel and the motion vector, the position P of the frame t and the position Q of the frame t + 1 Is used to obtain the absolute value of the luminance difference for the allocation target pixel, and the obtained absolute value of the luminance difference is output to the vector evaluation unit 704.

ベクトル評価部704は、画素差分判断部711および評価値判断部712により構成される。画素差分判断部711は、着目画素差分演算部703から入力された割付対象画素に対する輝度差分絶対値が所定のしきい値よりも小さいか否かを判断する。評価値判断部712は、画素差分判断部711により着目画素差分演算部703から入力された割付対象画素に対する輝度差分絶対値が所定のしきい値よりも小さいと判断された場合に、評価値演算部702から入力された割付対象画素の評価値DFDが、ベクトル選択部705が有するDFDテーブルの最小評価値より小さいか否かを判断する。そして、評価値判断部712は、割付対象画素の評価値DFDが、DFDテーブルの最小評価値より小さいと判断した場合に、割付対象画素が対応する動きベクトルの信頼度が高いと判断し、ベクトル選択部705に、割付対象画素の評価値DFDを出力する。   The vector evaluation unit 704 includes a pixel difference determination unit 711 and an evaluation value determination unit 712. The pixel difference determination unit 711 determines whether the luminance difference absolute value for the allocation target pixel input from the target pixel difference calculation unit 703 is smaller than a predetermined threshold value. The evaluation value determination unit 712 calculates the evaluation value when the pixel difference determination unit 711 determines that the luminance difference absolute value for the allocation target pixel input from the target pixel difference calculation unit 703 is smaller than a predetermined threshold value. It is determined whether or not the evaluation value DFD of the allocation target pixel input from the unit 702 is smaller than the minimum evaluation value of the DFD table included in the vector selection unit 705. When the evaluation value determination unit 712 determines that the evaluation value DFD of the allocation target pixel is smaller than the minimum evaluation value of the DFD table, the evaluation value determination unit 712 determines that the reliability of the motion vector corresponding to the allocation target pixel is high, The evaluation value DFD of the allocation target pixel is output to the selection unit 705.

ベクトル選択部705は、内挿フレーム上の各画素における最小評価値を保持するDFDテーブルを有しており、内挿フレーム上の各画素に対して、0ベクトルを割り付けた場合の評価値DFD0を、内挿フレーム上の各画素における最小評価値としてDFDテーブルに予め保持している。ベクトル選択部705は、ベクトル評価部704からの割付対象画素の評価値DFDを入力すると、画素情報演算部701からの割付対象画素の位置の情報に基づいて、割付フラグメモリ56のフラグを1(true)に書き換え、割付対象画素のDFDテーブルの最小評価値を、その割付対象画素の評価値DFDに書き換える。また、ベクトル選択部705は、画素情報演算部701からの割付対象画素の位置の情報と貫き改善処理部706からの貫き危険フラグに基づいて、割付ベクトルメモリ55の割付対象画素に、画素情報演算部701からの動きベクトルを割り付ける。   The vector selection unit 705 has a DFD table that holds a minimum evaluation value at each pixel on the interpolation frame, and an evaluation value DFD0 when a 0 vector is assigned to each pixel on the interpolation frame. The minimum evaluation value for each pixel on the interpolation frame is stored in advance in the DFD table. When the vector selection unit 705 receives the evaluation value DFD of the allocation target pixel from the vector evaluation unit 704, the vector selection unit 705 sets the flag of the allocation flag memory 56 to 1 (based on the information on the position of the allocation target pixel from the pixel information calculation unit 701). true), and the minimum evaluation value in the DFD table of the allocation target pixel is rewritten to the evaluation value DFD of the allocation target pixel. Further, the vector selection unit 705 performs pixel information calculation on the allocation target pixel of the allocation vector memory 55 based on the position information of the allocation target pixel from the pixel information calculation unit 701 and the penetration risk flag from the penetration improvement processing unit 706. The motion vector from the unit 701 is allocated.

貫き改善処理部706は、検出ベクトルメモリ53に記憶されている動きベクトルのうち、貫き劣化部の発生の原因となる動きベクトルを検出し、その検出結果を貫き危険フラグとしてベクトル選択部705に出力する。ベクトル選択部705はこの貫き危険フラグが貫き劣化部の発生の原因となる動きベクトルであることを示している場合、その動きベクトルの割り付けを禁止する。貫き改善処理部706の処理の詳細は、図24と図40を参照して後述する。   The penetration improvement processing unit 706 detects a motion vector that causes the penetration degradation unit from among the motion vectors stored in the detection vector memory 53, and outputs the detection result to the vector selection unit 705 as a penetration risk flag. To do. When the penetration danger flag indicates that the penetration vector is a motion vector that causes the penetration degradation portion, the vector selection unit 705 prohibits the assignment of the motion vector. Details of the processing of the penetration improvement processing unit 706 will be described later with reference to FIGS. 24 and 40.

次に、動きベクトルの画素以下精度を説明する。上述した式(1)で表されるDFD評価の演算においては、フレームtの画素位置pをベクトルv量分ずらした先のフレームt+1上の位相p+vは、実際には、24p信号のフレームt+1上の画素位置と一致しない場合が多く、その場合の輝度値は定義されていない。したがって、画素以下精度を有する動きベクトルvに対する評価値DFDの演算を行うためには、画素以下の位相における輝度値を何らかの方法で生成しなければならない。   Next, the accuracy below the pixel of the motion vector will be described. In the calculation of the DFD evaluation expressed by the above equation (1), the phase p + v on the previous frame t + 1 obtained by shifting the pixel position p of the frame t by the amount of the vector v is actually on the frame t + 1 of the 24p signal. In many cases, the luminance value is not defined. Therefore, in order to perform the calculation of the evaluation value DFD for the motion vector v having subpixel accuracy, it is necessary to generate a luminance value in a phase below the pixel by some method.

これに対応して、フレームtの画素位置pをベクトルv量分ずらした先のフレームt+1上の位相p+vに最も近い画素の輝度値をそのまま用いる方法がある。しかしながら、この方法では、評価する動きベクトルの画素以下成分を丸めてしまうため、動きベクトルの画素以下成分を捨てていることになり、これにより求められた評価値DFDの信頼度は、低くなってしまう。   Corresponding to this, there is a method of using the luminance value of the pixel closest to the phase p + v on the previous frame t + 1 obtained by shifting the pixel position p of the frame t by the vector v amount. However, in this method, the sub-pixel components of the motion vector to be evaluated are rounded, so the sub-pixel components of the motion vector are discarded, and the reliability of the obtained evaluation value DFD is thereby reduced. End up.

そこで、本発明の実施の形態においては、周辺4画素の輝度値による4点補間処理を用いている。図17は、本発明の4点補間処理の概念を示す図である。図17においては、矢印Xが、フレームt+1における水平方向を示しており、矢印Yが、フレームt+1における垂直方向を示している。このフレームt+1において、白丸は、フレームt+1上の画素位置を表しており、黒点は、画素以下の位置を表している。また、フレームt+1上における最左上の黒点p+vとその周辺4画素は、ウインドウEに拡大して示されている。ウインドウEにおいて、白丸内のアルファベットは、周辺4画素の輝度値を示している。   Therefore, in the embodiment of the present invention, a four-point interpolation process using the luminance values of the surrounding four pixels is used. FIG. 17 is a diagram showing the concept of the four-point interpolation process of the present invention. In FIG. 17, the arrow X indicates the horizontal direction in the frame t + 1, and the arrow Y indicates the vertical direction in the frame t + 1. In this frame t + 1, the white circle represents the pixel position on the frame t + 1, and the black dot represents the position below the pixel. Further, the upper left black point p + v and its surrounding four pixels on the frame t + 1 are shown enlarged in the window E. In window E, the alphabet in the white circle indicates the luminance value of the surrounding four pixels.

このフレームt+1における最左上の黒点p+vが、フレームtの画素位置pをベクトルv量分ずらした先の位相p+vとすると、位相p+vの輝度値Ft+1(p+v)は、位相p+vの水平方向の画素以下成分αおよび垂直方向の画素以下成分β、並びに、位相p+vの周辺4画素の輝度値L0乃至L3を用いて、周辺4画素の距離の逆比の和で求められる。すなわち、輝度値Ft+1(p+v)は、次の式(11)で表される。 If the black point p + v at the upper left in the frame t + 1 is the phase p + v after the pixel position p of the frame t is shifted by the vector v amount, the luminance value F t + 1 (p + v) of the phase p + v is the horizontal direction of the phase p + v. The pixel sub-component α and the pixel sub-component β in the vertical direction and the luminance values L0 to L3 of the four surrounding pixels of the phase p + v are obtained as the sum of the inverse ratios of the distances of the four surrounding pixels. That is, the luminance value F t + 1 (p + v) is expressed by the following equation (11).

t+1(p+v) = (1―α)(1−β)L0+α(1−β)L1
+(1−α)βL2+αβL3 ・・・(11)
F t + 1 (p + v) = (1-α) (1-β) L0 + α (1-β) L1
+ (1-α) βL2 + αβL3 (11)

以上のように、4点補間処理により求められる輝度値Ft+1(p+v)を用いて、評価値DFDの演算を行うことにより、ハードウェア実装上のコストを引き上げることなく、評価値DFDの信頼度の低下を抑制することができる。なお、以下においては、ベクトル割付の際の評価値DFDや輝度差分絶対値などの演算において、この4点補間を適用した例を説明するが、もちろん、上述した初期ベクトル選択処理やベクトル検出処理、または、後述する割付補償処理などのベクトルを評価する場合の評価値DFDの演算においても、この4点補間は適用される。 As described above, the evaluation value DFD is calculated by using the luminance value F t + 1 (p + v) obtained by the four-point interpolation process, without increasing the cost in hardware implementation. A decrease in reliability can be suppressed. In the following, an example in which this four-point interpolation is applied in the calculation of the evaluation value DFD and the luminance difference absolute value at the time of vector assignment will be described. Of course, the initial vector selection process and the vector detection process described above, Alternatively, this four-point interpolation is also applied to the calculation of the evaluation value DFD in the case of evaluating a vector such as allocation compensation processing described later.

次に、ベクトル割付処理の概念を説明する。例えば、24P信号上でオブジェクトが速度vで動いており、任意の2フレーム間で、このオブジェクトの動きについて等速仮定が成り立つと仮定した場合に、24P信号のフレーム間に、新しくフレームを内挿することを考える。この場合、24P信号のオブジェクトから動きベクトルvを延ばすと、動きベクトルvと内挿フレームとの交点は、同じオブジェクトであり、同じ速度vを有する。   Next, the concept of vector allocation processing will be described. For example, when it is assumed that an object is moving at a velocity v on a 24P signal and a constant velocity assumption is made for the motion of the object between any two frames, a new frame is interpolated between the frames of the 24P signal. Think about what to do. In this case, when the motion vector v is extended from the 24P signal object, the intersection of the motion vector v and the interpolation frame is the same object and has the same velocity v.

したがって、ベクトル検出部53で検出された24P信号のフレーム(以下、内挿フレームに対して、元フレームとも称する)の動きベクトルを、その動きベクトルと、内挿する60P信号の内挿フレーム上との交点に割り付けることで、内挿フレーム上の各画素の動きを求めることができる。また、逆に、割り付けられた動きベクトルから、内挿フレーム上の画素が24P信号フレーム上でどの位置から動いたものなのかを求めることができる。   Therefore, the motion vector of the frame of the 24P signal detected by the vector detection unit 53 (hereinafter also referred to as the original frame with respect to the interpolation frame) is represented by the motion vector and the interpolation frame of the 60P signal to be interpolated. By assigning them to the intersections, the movement of each pixel on the interpolation frame can be obtained. Conversely, from the allocated motion vector, it can be determined from which position the pixel on the interpolation frame has moved on the 24P signal frame.

図18は、24P信号の元フレームで検出された動きベクトルと、60P信号の内挿フレーム上の画素の例を1次元で示している。図18の例においては、2つの24P信号の時刻tのフレームtおよび時刻t+1のフレームt+1の間に、例えば、時刻t+0.4の内挿フレームF1、および時刻t+0.8の内挿フレームF2が2つ挿入されている。なお、この内挿フレームの位置は、上述したように、24P信号上での時間位相が0.0,0.4,0.8,1.2,および1.6となる位置に、60P信号のフレームが置かれることから、信号処理装置3において予め設定されている。   FIG. 18 shows one-dimensional examples of motion vectors detected in the original frame of the 24P signal and pixels on the interpolation frame of the 60P signal. In the example of FIG. 18, between the frame t at the time t and the frame t + 1 at the time t + 1 of the two 24P signals, for example, the interpolation frame F1 at the time t + 0.4 and the interpolation frame F2 at the time t + 0.8 are Two are inserted. As described above, the position of this interpolation frame is the position where the time phase on the 24P signal is 0.0, 0.4, 0.8, 1.2, and 1.6, and the 60P signal. Are set in advance in the signal processing device 3.

各フレーム上の丸は、各画素を示している。前段のベクトル検出部52によりフレームtにおいて検出された動きベクトルv1、v2、およびv3が、フレームt+1方向に延ばされている。これらの動きベクトルを内挿フレームF1およびF2の各画素に割り付ける場合、内挿フレーム上の各画素の近傍を通る動きベクトルは、その画素に割り付けられる候補ベクトル(以下、割付候補ベクトルとも称する)とされる。   A circle on each frame indicates each pixel. Motion vectors v1, v2, and v3 detected in the frame t by the preceding vector detection unit 52 are extended in the frame t + 1 direction. When these motion vectors are allocated to each pixel of the interpolation frames F1 and F2, the motion vector passing through the vicinity of each pixel on the interpolation frame is a candidate vector (hereinafter also referred to as allocation candidate vector) allocated to that pixel. Is done.

したがって、フレームtの最も左側の画素から、フレームt+1の左から4番目と5番目の画素近傍への動きベクトルv1は、内挿フレームF1上の左から2番目と3番目の画素の間、内挿フレームF2上の左から3番目と4番目の画素の間を通っている。したがって、動きベクトルv1は、動きベクトルv1が内挿フレームF1およびF2を交差する点の近傍N1に含まれる画素(内挿フレームF1の左から2番目と3番目の画素および内挿フレームF2の左から3番目と4番目の画素)に割り付けられる割付候補ベクトルとなる。   Therefore, the motion vector v1 from the leftmost pixel of the frame t to the vicinity of the fourth and fifth pixels from the left of the frame t + 1 is between the second and third pixels from the left on the interpolation frame F1. It passes between the third and fourth pixels from the left on the insertion frame F2. Therefore, the motion vector v1 is a pixel included in the vicinity N1 of the point where the motion vector v1 intersects the interpolation frames F1 and F2 (second and third pixels from the left of the interpolation frame F1 and the left of the interpolation frame F2). To the third and fourth pixels).

また、フレームtの左から3番目の画素から、フレームt+1の左から2番目と3番目の画素近傍への動きベクトルv2は、内挿フレームF1上の左から2番目と3番目の画素の間、内挿フレームF2上の左から2番目と3番目の画素の間を通っている。したがって、動きベクトルv2は、動きベクトルv2が内挿フレームF1およびF2を交差する点の近傍領域N2に含まれる画素(内挿フレームF1の左から2番目と3番目の画素および内挿フレームF2の左から2番目と3番目の画素)に割り付けられる割付候補ベクトルとなる。   In addition, the motion vector v2 from the third pixel from the left of the frame t to the vicinity of the second and third pixels from the left of the frame t + 1 is between the second and third pixels from the left on the interpolation frame F1. , And passes between the second and third pixels from the left on the interpolation frame F2. Therefore, the motion vector v2 is a pixel included in the vicinity region N2 of the point where the motion vector v2 intersects the interpolation frames F1 and F2 (second and third pixels from the left of the interpolation frame F1 and the interpolation frame F2). Allocation candidate vectors to be allocated to the second and third pixels from the left).

さらに、フレームtの左から5番目の画素から、フレームt+1の左から4番目と5番目の画素近傍への動きベクトルv3は、内挿フレームF1上の左から4番目と5番目の画素の間、内挿フレームF2上の左から4番目と5番目の画素の間を通っている。したがって、動きベクトルv3は、動きベクトルv3が内挿フレームF1およびF2を交差する点の近傍領域N3に含まれる画素(内挿フレームF1の左から4番目と5番目の画素および内挿フレームF2の左から4番目と5番目の画素)に割り付けられる割付候補ベクトルとなる。   Further, the motion vector v3 from the fifth pixel from the left of the frame t to the vicinity of the fourth and fifth pixels from the left of the frame t + 1 is between the fourth and fifth pixels from the left on the interpolation frame F1. , And passes between the fourth and fifth pixels from the left on the interpolation frame F2. Therefore, the motion vector v3 includes the pixels included in the vicinity region N3 of the point where the motion vector v3 intersects the interpolation frames F1 and F2 (the fourth and fifth pixels from the left of the interpolation frame F1 and the interpolation frame F2). 4th and 5th pixels from the left).

すなわち、内挿フレームF2の左から2番目の画素の割付候補ベクトルは、動きベクトルv2であり、内挿フレームF1上の左から2番目および3番目の画素、並びに内挿フレームF2の左から3番目の画素の割付候補ベクトルは、動きベクトルv1およびv2である。また、内挿フレームF2の左から4番目の画素の割付候補ベクトルは、動きベクトルv1およびv3であり、内挿フレームF1上の左から4番目および5番目の画素、並びに内挿フレームF2の左から5番目の画素の割付候補ベクトルは、動きベクトルv3である。   That is, the allocation candidate vector of the second pixel from the left of the interpolation frame F2 is the motion vector v2, and the second and third pixels from the left on the interpolation frame F1, and 3 from the left of the interpolation frame F2. The allocation candidate vectors of the th pixel are motion vectors v1 and v2. Further, the allocation candidate vectors of the fourth pixel from the left of the interpolation frame F2 are motion vectors v1 and v3, the fourth and fifth pixels from the left on the interpolation frame F1, and the left of the interpolation frame F2. The fifth pixel allocation candidate vector from is the motion vector v3.

以上のように、元フレームにおいて検出された動きベクトルの中から、内挿フレーム上の各画素に割り付けられる割付候補ベクトルが求められる。なお、内挿フレームF1およびF2の左端の画素および右端の画素(図中黒丸)においては、近傍を通る動きベクトルは、示されていない。すなわち、内挿フレームF1およびF2の左端の画素および右端の画素には、割り付けられる割付候補ベクトルが存在しない。したがって、これらの画素については、後述する後段の割付補償部57において割付補償処理が実行される。   As described above, an allocation candidate vector to be allocated to each pixel on the interpolation frame is obtained from the motion vectors detected in the original frame. In the leftmost pixel and the rightmost pixel (black circles in the figure) of the interpolation frames F1 and F2, motion vectors passing through the vicinity are not shown. That is, there is no allocation candidate vector to be allocated to the leftmost pixel and the rightmost pixel of the interpolation frames F1 and F2. Therefore, an allocation compensation process is performed on these pixels in an allocation compensation unit 57 in a later stage described later.

さらに、図19を参照して、元フレームで検出された動きベクトルと、60P信号の内挿フレーム上の画素について詳しく説明する。図19の例において、矢印Tは、図中、左前の時刻tのフレームtから、右奥の時刻t+1のフレームt+1への時間の経過方向を示している。また、時刻tと時刻t+1の間の時刻t+postに内挿フレームF1が置かれている。 Furthermore, with reference to FIG. 19, the motion vector detected in the original frame and the pixels on the interpolation frame of the 60P signal will be described in detail. In the example of FIG. 19, the arrow T indicates the direction of time passage from the frame t at the left front time t to the frame t + 1 at the right rear time t + 1. Further, interpolation frame F1 is placed at time t + pos t between times t and time t + 1.

図19の例の場合、フレームt上の画素(xa,ya)で検出された動きベクトルva(xva,yva)をフレームt+1方向に延ばし、内挿フレームF1との交点(xia,yia)を演算する。交点は、24P信号のフレームt上の動きベクトルvaの端点にあたる画素が移動した点であると考えられるので、具体的には、式(12)および式(13)のように表される。 For example in FIG. 19, the pixel (x a, y a) of the frame t is detected by the motion vector v a (x va, y va ) extend in frame t + 1 direction, the intersection of the interpolated frame F1 (x ia , y ia ) is calculated. Intersection, it is considered that pixels corresponding to end points of the motion vector v a of the frame t of the 24P signal to a point moved, specifically, is expressed by the equation (12) and (13).

ia = xa+postva ・・・(12)
ia = ya+postva ・・・(13)
x ia = x a + pos t x va ··· (12)
y ia = y a + pos t y va ··· (13)

ここで、上述したように、動きベクトルvaが画素以下精度を有する場合には、動きベクトルvaの交点と、内挿フレームF1上の画素位置は、一致するとは限らない。一致しない場合、図19に示されるように、動きベクトルvaは、内挿フレームF1上の交点の近傍4画素G1乃至G4に対して割り付けられる。すなわち、動きベクトルvaは、近傍の各画素G1乃至G4上にシフト(平行移動)されて、それぞれの画素に対して割り付けられる割付候補ベクトルとされ、割付補償処理が実行される。 Here, as described above, when the motion vector v a has a less precision pixels, the intersection of the motion vector v a, pixel positions on the interpolation frame F1 does not always match. Otherwise, as shown in FIG. 19, the motion vector v a is allocated with respect to the four neighboring pixels G1 to G4 of the intersection on the interpolated frame F1. That is, the motion vector v a is shifted (parallel movement) on each of the pixels G1 to G4 in the neighborhood, is the allocation candidate vector to be allocated to each of the pixels, the allocation compensating process is executed.

なお、このように、1つの動きベクトルが、近傍4画素に対して割り付けられる候補となることもあるため、画素によっては、複数の動きベクトルが割付候補ベクトルとされる。この場合、ベクトル割付部54は、各動きベクトルについて、内挿フレーム上の画素と、その動きベクトルで対応付けられる元フレーム上の交点を算出し、その交点を用いて、各動きベクトルを評価することにより、最終的に、内挿フレーム上の画素に、割り付ける動きベクトルを決定する。   As described above, since one motion vector may be a candidate assigned to four neighboring pixels, a plurality of motion vectors may be assigned candidate vectors depending on the pixel. In this case, the vector allocating unit 54 calculates, for each motion vector, a pixel on the interpolation frame and an intersection point on the original frame associated with the motion vector, and evaluates each motion vector using the intersection point. Thus, finally, a motion vector to be assigned to the pixel on the interpolation frame is determined.

図20を参照して、ベクトル割付部55における動きベクトルの評価について説明する。図20は、下から、図19の時刻tのフレームt、時刻t+postの内挿フレームF1、および、時刻t+1のフレームt+1を、1次元的に示している。 With reference to FIG. 20, the evaluation of the motion vector in the vector allocation part 55 is demonstrated. Figure 20 is a bottom, frame t, interpolated frame F1 at time t + pos t at time t of FIG. 19, and the frame t + 1 at time t + 1, is one-dimensionally illustrated.

図20の例において、動きベクトルsvaは、フレームt上の画素(xa,ya)において検出された動きベクトルvaが、近傍の画素G4の割付候補ベクトルとして、画素G4上にシフト(平行移動)されたものである。ここで、画素G4上にシフトされた動きベクトルsvaと、フレームtおよびフレームt+1との交点を、それぞれ点Pおよび点Qとする。 In the example of FIG. 20, the motion vector sv a is the pixel (x a, y a) of the frame t detected motion vector v a at is as allocation candidate vectors of the pixels in the neighborhood G4, shifts on the pixel G4 ( Translated). Here, the intersections of the motion vector sva, shifted onto the pixel G4, and the frame t and the frame t + 1 are defined as a point P and a point Q, respectively.

ベクトル割付部54は、動きベクトルsvaの第1の評価として、まず、点Pおよび点Qを中心としたDFD演算範囲をそれぞれ求め、求めたDFD演算範囲が画枠をはみ出してしまうか否かを判断する。したがって、点Pおよび点Qを中心としたDFD演算範囲が画枠をはみ出てしまった場合には、動きベクトルsvaは、候補から除外される。 The vector allocating unit 54, a first evaluation of motion vector sv a, first, obtains a DFD operation range around the point P and point Q respectively, DFD operation range determined whether jutting out the image frame Judging. Therefore, when the DFD operation range around the point P and point Q had protruding a picture frame, the motion vector sv a is excluded from the candidates.

また、この点Pおよび点Qが、例えば、異なるオブジェクトに属する場合、点Pの輝度値Ft(P)と、点Qの輝度値Ft+1(Q)の差は、大きくなってしまう。したがって、ベクトル割付部54は、動きベクトルsvaの第2の評価として、点Pと点Qを用いて、画素G4における輝度差分絶対値dpを求め、輝度差分絶対値dpが所定の値より大きいか否かを判断する。輝度差分絶対値dpが所定の値より大きいと判断された場合には、画素G4における動きベクトルsvaの信頼度が低いとされ、動きベクトルsvaは、候補から除外される。なお、輝度差分絶対値dpは、次の式(14)で表される。 Further, when the point P and the point Q belong to different objects, for example, the difference between the luminance value F t (P) of the point P and the luminance value F t + 1 (Q) of the point Q becomes large. . Accordingly, the vector allocating unit 54, a second evaluation of motion vector sv a, using the points P and Q, determine the luminance difference absolute value dp of the pixel G4, the luminance difference absolute value dp is greater than a predetermined value Determine whether or not. If the luminance difference absolute value dp is determined to be larger than the predetermined value is a low reliability of the motion vector sv a in the pixel G4, a motion vector sv a is excluded from the candidates. The luminance difference absolute value dp is expressed by the following equation (14).

dp = |Ft(P)― Ft+1(Q)| ・・・(14) dp = | F t (P) − F t + 1 (Q) | (14)

そして、動きベクトルsvaの第3の評価として、ベクトル割付部54は、点Pおよび点Qを中心としたDFD演算範囲の相関値を表す差分絶対値による評価判断を行う。すなわち、ベクトル割付部54は、点Pおよび点Qを中心としたDFD演算範囲を用いて、画素G4における動きベクトルsvaの評価値DFD(差分絶対値)を求め、求められた評価値DFDがDFDテーブルの最小評価値よりも小さいか否かを判断する。以上の評価の結果、ベクトル割付部54は、求められた評価値DFDの中で最小の評価値DFDを有する動きベクトルを、画素G4に割り付ける。 Then, as the third evaluation of the motion vector sv a, the vector allocating unit 54 performs evaluation determined by the difference absolute value that represents the correlation value DFD operation range around the point P and the point Q. That is, the vector allocating unit 54, using the DFD operation range around the point P and the point Q, obtains the evaluated value DFD of the motion vector sv a (absolute differences) in the pixel G4, obtained evaluation value DFD is It is determined whether it is smaller than the minimum evaluation value of the DFD table. As a result of the above evaluation, the vector assigning unit 54 assigns a motion vector having the smallest evaluation value DFD among the obtained evaluation values DFD to the pixel G4.

以上のように、内挿フレームの画素における割付候補の動きベクトルを、割付対象画素の評価値DFDだけでなく、割付対象画素における輝度差分絶対値を用いて評価するようにしたので、従来の評価値DFDを用いるだけの場合よりも、確からしい動きベクトルを、割付対象画素に割り付けることができる。この結果、ベクトル割付の精度が向上する。   As described above, since the motion vector of the allocation candidate in the pixel of the interpolation frame is evaluated using not only the evaluation value DFD of the allocation target pixel but also the luminance difference absolute value in the allocation target pixel, the conventional evaluation A more reliable motion vector can be allocated to the allocation target pixel than when only the value DFD is used. As a result, the accuracy of vector allocation is improved.

また、ベクトル割付部54は、貫き危険フラグが貫き劣化部の発生の原因となる動きベクトルであることを示している場合、その動きベクトルの割り付けを禁止する。これにより、貫き劣化部が発生するのを抑制することができる。   Further, when the penetration risk flag indicates that the penetration vector is a motion vector that causes the penetration deterioration portion, the vector assignment unit 54 prohibits the assignment of the motion vector. Thereby, it can suppress that a penetration deterioration part generate | occur | produces.

なお、上述したように内挿フレームの画素における割付候補の動きベクトルを評価するためには、内挿フレームの画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置が用いられるが、輝度差分絶対値dpおよび評価値DFDを求める際に、割付候補の動きベクトルは、内挿フレームの画素位置を基準に延長するため、動きベクトルと元フレーム上の交点は、元フレームの画素位置と一致しないことがあり、このままでは画素値を求めることができない。このような場合に、図17を参照して上述した4点補間処理が実行される。   As described above, in order to evaluate the motion vector of the allocation candidate in the pixel of the interpolation frame, the position on the original frame associated with the motion vector is used with reference to the pixel of the interpolation frame. When obtaining the absolute value of luminance difference dp and the evaluation value DFD, the motion vector of the allocation candidate is extended based on the pixel position of the interpolation frame, so that the intersection of the motion vector and the original frame is the pixel position of the original frame. The pixel values may not match, and the pixel value cannot be obtained as it is. In such a case, the four-point interpolation process described above with reference to FIG. 17 is executed.

図21は、ベクトル割付処理における4点補間の例を示している。図21において、図19および図20における場合と対応する部分には対応する符号を付してあり、その説明は繰り返しになるので省略する。   FIG. 21 shows an example of four-point interpolation in the vector allocation process. In FIG. 21, the parts corresponding to those in FIGS. 19 and 20 are denoted by the corresponding reference numerals, and the description thereof will be omitted to avoid repetition.

図21の例においては、割付候補の動きベクトルsvaは、内挿フレームF1の画素位置G4を基準に延長されているため、動きベクトルsvaとフレームtとの交点Pは、フレームt上の画素位置(フレームt上の白丸)と一致しておらず、また、動きベクトルsvaとフレームt+1との交点Qも、フレームt+1上の画素位置(フレームt上の白丸)と一致していない。したがって、フレームtおよびフレームt+1においては、それぞれ交点Pおよび交点Qを中心とした近傍Eの4画素(フレームtおよびフレームt+1上の白丸)を用いて、上述した4点補間演算が行なわれ、交点Pおよび交点Qの画素値が求められる。 In the example of FIG. 21, the motion vector sv a assignment candidate, because it is extended pixel position G4 in interpolated frame F1 as a reference, the point of intersection P between the motion vector sv a frame t, in frame t does not coincide with the pixel position (white circle on the frame t), also intersecting point Q between the motion vector sv a frame t + 1 also does not match the pixel positions on the frame t + 1 (open circles in frame t). Therefore, in the frame t and the frame t + 1, the above-described four-point interpolation calculation is performed using the four pixels in the vicinity E centered at the intersection point P and the intersection point Q (white circles on the frame t and the frame t + 1), respectively. Pixel values of P and intersection point Q are obtained.

このように、このベクトル割付処理においては、4点補間処理により求められる交点Pおよび交点Qの画素値が用いられて、輝度差分絶対値dpおよび評価値DFDが演算されるので、従来の画素以下成分を丸めてしまう方法よりも、輝度差分絶対値dpや評価値DFDを精度よく求めることができる。   As described above, in this vector allocation process, the luminance difference absolute value dp and the evaluation value DFD are calculated using the pixel values of the intersection point P and the intersection point Q obtained by the four-point interpolation process. The luminance difference absolute value dp and the evaluation value DFD can be obtained with higher accuracy than the method of rounding the components.

次に、図22のフローチャートを参照して、ベクトル割付処理の詳細を説明する。24P信号の元フレームである、時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1は、画素情報演算部701、評価値演算部702、および着目画素差分演算部703に入力される。   Next, the details of the vector allocation processing will be described with reference to the flowchart of FIG. The frame t of the image at time t and the frame t + 1 of the image at time t + 1, which are the original frames of the 24P signal, are input to the pixel information calculation unit 701, the evaluation value calculation unit 702, and the target pixel difference calculation unit 703.

画素情報演算部701は、新しい元フレームが入力されると、ベクトル選択部705を制御し、ステップS201において、割付フラグメモリ56の割付フラグを0(false)で初期化させる。また、ステップS202において、ベクトル選択部705は、画素情報演算部701により制御され、割付ベクトルメモリ55を0ベクトルで初期化する。これにより、結果的に、動きベクトルが割り付けられない画素に、0ベクトル(動きが0であることを意味する動きベクトル)が割り付けられる。   When a new original frame is input, the pixel information calculation unit 701 controls the vector selection unit 705 to initialize the allocation flag of the allocation flag memory 56 with 0 (false) in step S201. In step S202, the vector selection unit 705 is controlled by the pixel information calculation unit 701, and initializes the allocation vector memory 55 with the 0 vector. As a result, a 0 vector (a motion vector meaning that the motion is 0) is assigned to a pixel to which no motion vector is assigned.

また、画素情報演算部701は、ステップS203において、評価値演算部702を制御し、0ベクトルを用いて評価値DFD0を算出させる。すなわち、内挿フレーム上のすべての画素に対して、0ベクトルを用いて評価値DFD0が算出される。また、画像情報演算部701は、ベクトル選択部705を制御し、評価値演算部702により算出された0ベクトルの評価値DFD0を、内挿フレームの各画素に対する最小評価値としてベクトル選択部705のDFDテーブルに記憶させる。すなわち、ステップS203において、評価値演算部702は、内挿フレームのすべての画素に対して、0ベクトルを用いて評価値DFD0を算出し、算出した評価値DFD0を、ベクトル評価部704を介して、ベクトル選択部705に出力する。そして、ベクトル選択部705は、ベクトル評価部704を介して入力された評価値DFD0を、DFDテーブルの対応する画素の最小評価値として記憶する。   In step S203, the pixel information calculation unit 701 controls the evaluation value calculation unit 702 to calculate the evaluation value DFD0 using the 0 vector. That is, the evaluation value DFD0 is calculated for all the pixels on the interpolation frame using the 0 vector. Also, the image information calculation unit 701 controls the vector selection unit 705, and uses the zero vector evaluation value DFD0 calculated by the evaluation value calculation unit 702 as the minimum evaluation value for each pixel of the interpolation frame. Store in the DFD table. That is, in step S203, the evaluation value calculation unit 702 calculates the evaluation value DFD0 using the 0 vector for all pixels of the interpolation frame, and the calculated evaluation value DFD0 is passed through the vector evaluation unit 704. To the vector selection unit 705. Then, the vector selection unit 705 stores the evaluation value DFD0 input via the vector evaluation unit 704 as the minimum evaluation value of the corresponding pixel in the DFD table.

画素情報演算部701は、ステップS204において、検出ベクトルメモリ53上の元フレームから画素を選択する。なお、この場合、フレームの左上からラスタスキャン順に画素が1つずつ選択される。   The pixel information calculation unit 701 selects a pixel from the original frame on the detection vector memory 53 in step S204. In this case, pixels are selected one by one in the raster scan order from the upper left of the frame.

ステップS205において、貫き改善処理部706は、貫き改善処理を実行する。その詳細は図24を参照して後述するが、これにより、貫き劣化部を発生するおそれのある動きベクトルが検出され、その動きベクトルの貫き危険フラグはtrueに設定される。そこでステップS206において、ベクトル選択部705は、ステップS204で選択された画素の貫き危険フラグがtrueであるかを判定する。   In step S205, the penetration improvement processing unit 706 executes penetration improvement processing. The details thereof will be described later with reference to FIG. 24. As a result, a motion vector that may cause a penetration deterioration portion is detected, and the penetration danger flag of the motion vector is set to true. In step S206, the vector selection unit 705 determines whether the penetration risk flag of the pixel selected in step S204 is true.

選択された画素の貫き危険フラグがtrueではない場合(falseである場合)、画素情報演算部701は、ステップS207において、画素位置演算処理を実行する。この画素位置演算処理の詳細は図41を参照して後述するが、これにより、ステップS204において選択された画素において検出された動きベクトルが割り付けられる対象となる内挿フレーム上の割付対象画素が算出され、算出された割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置が算出される。   When the penetration risk flag of the selected pixel is not true (if false), the pixel information calculation unit 701 executes pixel position calculation processing in step S207. The details of this pixel position calculation processing will be described later with reference to FIG. 41, whereby the allocation target pixel on the interpolation frame to which the motion vector detected in the pixel selected in step S204 is allocated is calculated. Then, based on the calculated allocation target pixel, the position on the original frame associated with the motion vector is calculated.

画素情報演算部701は、ステップS208において、算出された割付対象画素を選択し、選択した割付対象画素と、その動きベクトルを、ベクトル選択部705に出力する。このとき、同時に、画素情報演算部701は、選択した割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置の情報を、評価値演算部702および着目画素演算部703に出力する。なお、ステップS208において、画素情報演算部701は、割付対象画素が複数存在する場合には、左上の画素から選択する。   In step S208, the pixel information calculation unit 701 selects the calculated allocation target pixel, and outputs the selected allocation target pixel and its motion vector to the vector selection unit 705. At the same time, the pixel information calculation unit 701 outputs, to the evaluation value calculation unit 702 and the pixel-of-interest calculation unit 703, information on the position on the original frame associated with the motion vector based on the selected allocation target pixel. To do. In step S208, when there are a plurality of allocation target pixels, the pixel information calculation unit 701 selects from the upper left pixels.

ステップS209において、画素情報演算部701は、選択された割付対象画素に関して、割付ベクトル評価処理を実行する。この割付ベクトル評価処理の詳細は図42を参照して後述するが、これにより、割付対象画素における動きベクトルの評価値DFDおよび輝度差分絶対値が求められ、割付対象画素における動きベクトルの信頼度が判断され、これらの判断の結果、信頼度が高いとされた動きベクトルで、割付ベクトルメモリ55の動きベクトルが書き換えられる。   In step S209, the pixel information calculation unit 701 executes an allocation vector evaluation process for the selected allocation target pixel. The details of the allocation vector evaluation process will be described later with reference to FIG. 42, whereby the motion vector evaluation value DFD and the luminance difference absolute value in the allocation target pixel are obtained, and the reliability of the motion vector in the allocation target pixel is determined. As a result of these determinations, the motion vector in the allocation vector memory 55 is rewritten with the motion vector determined to have high reliability.

画素情報演算部701は、ステップS210において、すべての割付対象画素の処理が終了したか否かを判断する。まだ、すべての割付対象画素の処理が終了していない場合には、処理はステップS208に戻り、次の割付対象画素が選択され、それ以降の処理が繰り返される。   In step S210, the pixel information calculation unit 701 determines whether or not the processing of all allocation target pixels has been completed. If all the allocation target pixels have not been processed yet, the process returns to step S208, the next allocation target pixel is selected, and the subsequent processing is repeated.

ステップS210において、すべての割付対象画素の処理が終了したと判断された場合、並びにステップS206で貫き危険フラグがtrueであると判定された場合、処理はステップS211進む。画素情報演算部701は、ステップS211において、検出ベクトルメモリ53上の元フレームのすべての画素の処理を終了したかを判断する。ステップS211において、検出ベクトルメモリ53上の元フレームのすべての画素の処理がまだ終了していないと判断された場合、処理はステップS204に戻り、検出ベクトルメモリ53上の元フレームの次の画素が選択され、それ以降の処理が繰り返される。また、画素情報演算部701は、ステップS211において、検出ベクトルメモリ53のすべての画素についての処理を終了したと判断した場合、ベクトル割付処理を終了する。   If it is determined in step S210 that the processing for all the allocation target pixels has been completed, and if it is determined in step S206 that the penetration risk flag is true, the process proceeds to step S211. In step S <b> 211, the pixel information calculation unit 701 determines whether the processing of all the pixels in the original frame on the detection vector memory 53 has been completed. If it is determined in step S211 that the processing of all the pixels of the original frame on the detection vector memory 53 has not been completed, the process returns to step S204, and the next pixel of the original frame on the detection vector memory 53 is determined. Is selected, and the subsequent processing is repeated. If the pixel information calculation unit 701 determines in step S211 that the processing has been completed for all the pixels in the detection vector memory 53, the vector allocation processing ends.

次に、貫き改善処理について説明するが、その前に、貫き劣化部の発生する原因について、図23を参照して説明する。同図に示されるように、24Pのフレームt1上の前景202が、24Pのフレームt1+1上の前景212に移動した場合、前景202の画素203と前景212の画素213を結ぶ線で、画素203の動きベクトルVfが表される。同様に、フレームt1上の背景の画素201がフレームt1+1上の画素211に対応する場合、両者を結ぶ線で表される動きベクトルVbが、画素201の動きベクトルとなる。動きベクトルVfは、図中右方向に比較的小さい速度で移動するものであるのに対して、動きベクトルVbは、図中左方向に比較的大きい速度で移動するものである。フレームt1とフレームt1+1の間に60Pのフレームt+Pを生成する場合、その画素204は動きベクトルを割り付ける必要がある。   Next, the penetration improvement process will be described. Before that, the cause of the penetration deterioration portion will be described with reference to FIG. As shown in the figure, when the foreground 202 on the 24P frame t1 moves to the foreground 212 on the 24P frame t1 + 1, the line connecting the pixel 203 of the foreground 202 and the pixel 213 of the foreground 212 is A motion vector Vf is represented. Similarly, when the background pixel 201 on the frame t1 corresponds to the pixel 211 on the frame t1 + 1, the motion vector Vb represented by a line connecting the two becomes the motion vector of the pixel 201. The motion vector Vf moves in the right direction in the figure at a relatively small speed, whereas the motion vector Vb moves in the left direction in the figure at a relatively large speed. When a frame t + P of 60P is generated between the frame t1 and the frame t1 + 1, the pixel 204 needs to be assigned a motion vector.

しかしながら、近傍を動きベクトルVfと動きベクトルVbの両者が通過する画素204に対して、前景202の動きベクトルVfを割り付けた場合には、画素204は、前景202の画素203−3として認識されるし、背景の画素201の動きベクトルVbを割り付けた場合には、画素204は背景の画素201−3の画素として認識される。画素204は、本来、前景202の画素であるのに、これに背景の動きベクトルVbが割り付けられた場合には、正しい割り付けが行われなかったことになる。このとき、貫き劣化部が発生することになる。   However, if the motion vector Vf of the foreground 202 is assigned to the pixel 204 through which both the motion vector Vf and the motion vector Vb pass, the pixel 204 is recognized as the pixel 203-3 of the foreground 202. When the motion vector Vb of the background pixel 201 is assigned, the pixel 204 is recognized as the pixel of the background pixel 201-3. Although the pixel 204 is originally a pixel of the foreground 202, when the background motion vector Vb is allocated thereto, the correct allocation is not performed. At this time, a penetrating deterioration portion is generated.

次に、図24のフローチャートを参照して、図22のステップS205における貫き改善処理の詳細について説明する。   Next, the details of the penetration improving process in step S205 of FIG. 22 will be described with reference to the flowchart of FIG.

ステップS251において、貫き改善処理部706は、貫き危険フラグにfalseを初期設定する。この貫き危険フラグは、貫き劣化部が発生する恐れがない場合そのままとされるが、貫き劣化部が発生する恐れがある場合には、後述するステップS262において、trueに書き換えられる。   In step S251, the penetration improvement processing unit 706 initially sets the penetration danger flag to false. This penetration risk flag is left as it is when there is no possibility of the penetration deterioration part, but when there is a possibility of the penetration deterioration part, it is rewritten to true in step S262 described later.

次に、ステップS252において、貫き改善処理部706は、着目画素の動きベクトルを取得する。すなわち、検出ベクトルメモリ53に記憶されている動きベクトルから、今処理対象とされている着目画素の動きベクトルが読み出される。   Next, in step S252, the penetration improvement processing unit 706 acquires the motion vector of the pixel of interest. That is, from the motion vector stored in the detection vector memory 53, the motion vector of the pixel of interest that is the current processing target is read out.

この読み出す処理は、図25に示されるように、1フレーム(720×480画素)のうちの所定の範囲のブロック内において、左上から右下方向に順次1つずつ選択される。そして、図26に示されるように、選択された1つの画素の動きベクトルVcが読み取られる。図26においては、着目画素(x,y)の動きベクトルVcは(Vcx,Vcy)として表されている。   As shown in FIG. 25, this reading process is sequentially selected one by one from the upper left to the lower right in a predetermined range of blocks in one frame (720 × 480 pixels). Then, as shown in FIG. 26, the motion vector Vc of one selected pixel is read. In FIG. 26, the motion vector Vc of the pixel of interest (x, y) is represented as (Vcx, Vcy).

ステップS253において、貫き改善処理部706は参照モードを選択する。参照モードとしては、図27に示されるように3つのモードが用意されており、そのうちの1つがここで選択される。第1の参照モードは、図27Aに示されるように、着目画素281を基準として、動きベクトルVcの方向に位置する画素であって、動きベクトルVcを1対1に内分する点に位置する画素を第1の参照点282とするモードである。このとき、動きベクトルVcと逆方向のベクトルを、やはり1対1に内分する位置の画素が第2の参照点283とされる。第2の参照モードにおいては、図27Bに示されるように、動きベクトルVcの方向の画素であって、動きベクトルVcを3対1に内分する位置の画素が第1の参照点282とされ、動きベクトルVcの逆方向の画素であって、その大きさを1対3に内分する位置の画素が第2の参照点283とされる。さらに、図27Cに示されるように、第3の参照モードにおいては、着目画素281から動きベクトルVcの方向の画素であって、動きベクトルVcの大きさを1対3に内分する点の画素が第1の参照点282とされ、動きベクトルVcの逆方向の画素であって、その大きさを3対1に内分する位置の画素が第2の参照点283とされる。   In step S253, the penetration improvement processing unit 706 selects the reference mode. As the reference mode, three modes are prepared as shown in FIG. 27, and one of them is selected here. As shown in FIG. 27A, the first reference mode is a pixel located in the direction of the motion vector Vc with reference to the pixel of interest 281 and located at a point that divides the motion vector Vc into one-to-one. In this mode, the pixel is the first reference point 282. At this time, the second reference point 283 is a pixel at a position where the vector in the direction opposite to the motion vector Vc is divided into one-to-one. In the second reference mode, as shown in FIG. 27B, the pixel in the direction of the motion vector Vc and the position at which the motion vector Vc is internally divided into 3 to 1 is set as the first reference point 282. A pixel in the reverse direction of the motion vector Vc and having a size that divides the size into a 1: 3 ratio is set as the second reference point 283. Further, as shown in FIG. 27C, in the third reference mode, pixels in the direction of the motion vector Vc from the pixel of interest 281 that are points that internally divide the size of the motion vector Vc into one to three. Is the first reference point 282, and the pixel in the reverse direction of the motion vector Vc, the pixel at a position that internally divides the size into 3 to 1, is the second reference point 283.

ステップS254において、貫き改善処理部706は、左右参照点の座標を算出する。すなわち、図27に示されるように、第1の参照モードが選択された場合には、着目画素281から動きベクトルVcの方向に、動きベクトルVcの1/2の大きさの位置が第1の参照点(左側の参照点)282の位置としてその座標が算出されるとともに、動きベクトルVcと逆方向の動きベクトルVcの1/2の大きさだけ離れた位置が第2の参照点(右側の参照点)283の位置としてその座標が算出される。同様に、図27B、または図27Cに示されるように、第2の参照モードまたは第3の参照モードが選択された場合にも、それぞれ参照点282,283の座標がここで算出される。   In step S254, the penetration improvement processing unit 706 calculates the coordinates of the left and right reference points. That is, as shown in FIG. 27, when the first reference mode is selected, a position having a size that is ½ of the motion vector Vc in the direction of the motion vector Vc from the target pixel 281 is the first The coordinates are calculated as the position of the reference point (left reference point) 282, and the position separated by a half of the motion vector Vc in the opposite direction to the motion vector Vc is the second reference point (right side The coordinates are calculated as the position of (reference point) 283. Similarly, as shown in FIG. 27B or FIG. 27C, when the second reference mode or the third reference mode is selected, the coordinates of the reference points 282 and 283 are calculated here, respectively.

このように周囲参照点を設定するのは、着目画素の近傍に前景(またはカバード領域)が存在するか否かを判断するためである。   The reason why the surrounding reference points are set in this way is to determine whether or not a foreground (or covered area) exists in the vicinity of the target pixel.

すなわち、貫き劣化部が発生する事例を観測すると、その原因となる24P画像上の着目画素の動きベクトルは、前景を通り越して(60P画像上で交差して)24P画像上の次のフレームと対応する背景の動きベクトルであることが多い。換言すると、着目画素から背景の動き分だけ移動した点との間に前景が存在する場合に、貫き劣化部が発生することが多い。   That is, when an example in which a penetrating deterioration portion is observed is observed, the motion vector of the pixel of interest on the 24P image, which is the cause, corresponds to the next frame on the 24P image past the foreground (intersecting on the 60P image). It is often a motion vector of the background to be performed. In other words, when there is a foreground between the pixel of interest and a point that has moved by the amount of background movement, a penetration deterioration portion often occurs.

例えば、図28に示されるように、フレームt1上の着目画素301が図中左方向に大きく移動して、フレームt1+1上の画素311に対応するとき、着目画素301と画素311を結ぶ動きベクトルが着目画素301の動きベクトルVcとなる。そして、フレームt1上の前景302が、フレームt1+1上において前景312に図中右方向に少しだけ移動する時、フレームt1の前景302の画素303とフレームt1+1上の前景312の画素313を結ぶベクトルVlが画素303の動きベクトルとなる。   For example, as shown in FIG. 28, when the pixel of interest 301 on the frame t1 moves greatly to the left in the figure and corresponds to the pixel 311 on the frame t1 + 1, the motion vector connecting the pixel of interest 301 and the pixel 311 is It becomes the motion vector Vc of the pixel of interest 301. Then, when the foreground 302 on the frame t1 moves slightly to the right in the drawing to the foreground 312 on the frame t1 + 1, the vector Vl connecting the pixel 303 of the foreground 302 of the frame t1 and the pixel 313 of the foreground 312 on the frame t1 + 1. Becomes the motion vector of the pixel 303.

動きベクトルVcと動きベクトルVlが交差し、フレームt1+1上の画素311に対応するフレームt1上の画素が画素304であるとすると、フレームt1において、前景302は画素304と着目画素301の間に位置する。ただし、前景312の幅Wlは未知である。   If the motion vector Vc and the motion vector Vl intersect and the pixel on the frame t1 corresponding to the pixel 311 on the frame t1 + 1 is the pixel 304, the foreground 302 is positioned between the pixel 304 and the target pixel 301 in the frame t1. To do. However, the width Wl of the foreground 312 is unknown.

そこで、図29に示されるように、例えば前景302の幅が、着目画素301の動きベクトルVcの大きさの1/2以上である場合には、画素304と着目画素301の中間の位置(動きベクトルVcを1対1に内分する位置P)において、前景302を検出することが可能となる。   Therefore, as shown in FIG. 29, for example, when the width of the foreground 302 is equal to or greater than ½ of the magnitude of the motion vector Vc of the pixel of interest 301, the intermediate position between the pixel 304 and the pixel of interest 301 (motion The foreground 302 can be detected at the position P) where the vector Vc is divided into one-to-one.

これに対して、前景303の幅が動きベクトルVcの大きさの1/4以上である場合には、図29に示される動きベクトルVcの大きさを1対1に内分する位置Pで、前景302を検出することができる保証はないが、その位置と図30と図31に示されるように、動きベクトルVcを1対3に内分する点P(図30)、または3対1に内分する点P(図31)においても検索すれば、そのいずれかの位置で前景302を検出することができる。すなわち、二分枝検索の形で前景が検索されることになる。そこで、図27に示されるように、動きベクトルVcの大きさの範囲内の3つの内分位置において参照点を設定するのである(第1乃至第3の参照モードを設けるのである)。   On the other hand, when the width of the foreground 303 is equal to or greater than ¼ of the magnitude of the motion vector Vc, at a position P that internally divides the magnitude of the motion vector Vc shown in FIG. Although there is no guarantee that the foreground 302 can be detected, as shown in FIG. 30 and FIG. 31, its position and a point P (FIG. 30) that internally divides the motion vector Vc into 1 to 3, or 3 to 1 If the search is performed also at the point P to be internally divided (FIG. 31), the foreground 302 can be detected at any position. That is, the foreground is searched in the form of a binary branch search. Therefore, as shown in FIG. 27, reference points are set at three internal positions within the range of the magnitude of the motion vector Vc (first to third reference modes are provided).

以上においては、検索のための内分の最小単位を動きベクトルVcの1/4の大きさとしたが(1/2に内分する回数を2回としたが)、その長さをより細かく区分すれば(その回数をより多くすれば)、より小さい大きさの前景も検出することが可能となる。   In the above, the minimum unit of the search content is set to 1/4 the size of the motion vector Vc (although the number of times of internal division to 1/2 is set to 2), the length is further divided into small parts. If this is done (when the number of times is increased), a foreground having a smaller size can be detected.

また、1/4の長さの大きさで検出することは、図32に示されるような効果もある。すなわち、図32Aに示されるように、前景302の大きさが、動きベクトルVcの1/2以上の大きさである場合、前景302が、図32Aに示されるように、着目画素301から比較的離れた位置に存在する場合には、この前景302とカバード領域321は、1/2の内分の位置P1,P2において検出されることになる。しかし、図32Bに示されるように、前景302が着目画素301に比較的近い位置に存在する場合には、前景302は、1/2の内分位置P1で検出できるが、カバード領域321は、1/2の内分位置P2では検出できない(カバード領域321は、前景302と動きベクトルVcの大きさだけ離間するため)。しかしながら、図32Cに示されるように、動きベクトルVcを1対3(3対1)に内分する位置(1/4の位置)で検出するようにすれば、前景302は位置P11で、カバード領域321は位置P12で、それぞれ検出することができる。   Further, detection with a length of 1/4 has an effect as shown in FIG. That is, as shown in FIG. 32A, when the size of the foreground 302 is not less than ½ of the motion vector Vc, the foreground 302 is relatively distant from the target pixel 301 as shown in FIG. In the case where the foreground 302 and the covered area 321 exist at positions separated from each other, the foreground 302 and the covered area 321 are detected at positions P1 and P2 of ½ inner parts. However, as shown in FIG. 32B, when the foreground 302 exists at a position relatively close to the pixel of interest 301, the foreground 302 can be detected at a half internal position P1, but the covered region 321 is It cannot be detected at the internal division position P2 of 1/2 (because the covered region 321 is separated from the foreground 302 by the magnitude of the motion vector Vc). However, as shown in FIG. 32C, if the motion vector Vc is detected at a position (1/4 position) where the motion vector Vc is internally divided (1/4 position), the foreground 302 is at the position P11 and is covered. The region 321 can be detected at the position P12.

図24に戻って、以上のようにして、ステップS254において、左側の参照点282と右側の参照点283の座標が算出された後、ステップS255において、貫き改善処理部706は周囲参照点を選択する。   Referring back to FIG. 24, after the coordinates of the left reference point 282 and the right reference point 283 are calculated in step S254 as described above, the penetration improvement processing unit 706 selects surrounding reference points in step S255. To do.

図33Aに示されるように、着目画素281に対して左側の参照点282と右側の参照点283が存在したとする。着目画素281は背景の画素であり、左側(第1)の参照点282は人体である前景371の画素である。それに対して右側(第2)の参照点283は、カバード領域372上の画素であるので、その動きベクトルを検出することは困難になる。この実施の形態の場合、カバード領域372上の画素に対しては、0ベクトル(動きが0の動きベクトル) が検出されるのが望ましいが、困難ゆえ0ベクトルが検出されない場合も多い。しかし、図33Bに示されるように、カバード領域372の画像は、前景物体同様、連続した領域として0ベクトルが検出されることから、参照点283だけでなく、その近傍の周囲参照点283−1乃至283−8の画素も、参照点283とほぼ同様の動きベクトルを有しているはずである。そこで、参照点283の動きベクトルが検出できない場合には、それに替わって、その近傍の周囲参照点283−1乃至283−8の動きベクトルを代用することが可能である。   As shown in FIG. 33A, it is assumed that a left reference point 282 and a right reference point 283 exist for the pixel of interest 281. The pixel of interest 281 is a background pixel, and the left (first) reference point 282 is a pixel of the foreground 371 that is a human body. On the other hand, since the right (second) reference point 283 is a pixel on the covered region 372, it is difficult to detect the motion vector. In the case of this embodiment, it is desirable to detect a zero vector (a motion vector with zero motion) for the pixels on the covered region 372, but there are many cases where the zero vector is not detected because of difficulty. However, as shown in FIG. 33B, since the 0 vector is detected as a continuous area in the image of the covered area 372 as in the foreground object, not only the reference point 283 but also the surrounding reference points 283-1 in the vicinity thereof. The pixels from 283 to 283-8 should have almost the same motion vector as the reference point 283. Therefore, if the motion vector of the reference point 283 cannot be detected, the motion vectors of the surrounding reference points 283-1 to 283-8 in the vicinity thereof can be used instead.

従って、図34(第1の参照モード)、図35(第2の参照モード)、並びに図36(第3の参照ード)に示されるように、参照点282とその近傍の周囲参照点282−1乃至281−8のうちの1つ、並びに参照点283とその近傍の周囲参照点283−1乃至283−8のうちの1つが、ステップS255において選択され、ステップS256でその座標が演算される(但し、参照点の座標は、ステップS254で既に演算されている)。周囲参照点の対応は次のようになる。すなわち、参照点282に対しては参照点283、参照点282−1に対しては参照点283−1、参照点282−2に対しては参照点283−2、以下同様に、参照点282−nに対しては参照点283−nがそれぞれ対応する。なお、周囲参照点を算出する範囲は、着目点281の動きベクトルVcのx座標成分|Vcx|のα倍(0<α<1)とされる。同様に、y座標方向の範囲は動きベクトルVcのy座標成分|Vcy|のβ倍(0<β<1)とされる。   Therefore, as shown in FIG. 34 (first reference mode), FIG. 35 (second reference mode), and FIG. 36 (third reference mode), the reference point 282 and the surrounding reference points 282 in the vicinity thereof are shown. -1 to 281-8, and one of the reference point 283 and its neighboring peripheral reference points 283-1 to 283-8 are selected in step S255, and their coordinates are calculated in step S256. (However, the coordinates of the reference point have already been calculated in step S254). The correspondence of surrounding reference points is as follows. That is, reference point 283 for reference point 282, reference point 283-1 for reference point 282-1, reference point 283-2 for reference point 282-2, and so on. Reference points 283-n correspond to -n, respectively. The range in which the surrounding reference points are calculated is α times (0 <α <1) the x coordinate component | Vcx | of the motion vector Vc of the point of interest 281. Similarly, the range in the y coordinate direction is β times the y coordinate component | Vcy | of the motion vector Vc (0 <β <1).

ステップS257において、貫き改善処理部706は、周囲参照点は画枠内かを判定する。なお、ここにおける周囲参照点には参照点も含むものとする。以下、両者を特に区別する必要がない場合も同様とする。ステップS254,S256の処理で算出された周囲参照点が画枠の外である場合には、その周囲参照点は参照することができない。そこでその場合には、処理はステップS263に進む。   In step S257, the penetration improvement processing unit 706 determines whether the surrounding reference point is within the image frame. The surrounding reference points here include reference points. The same applies to cases where it is not necessary to distinguish between the two. When the surrounding reference points calculated in the processes of steps S254 and S256 are outside the image frame, the surrounding reference points cannot be referred to. Therefore, in this case, the process proceeds to step S263.

周囲参照点が画枠の枠外ではない(画枠内である)と判定された場合には、ステップS258において、貫き改善処理部706は、周囲参照点の動きベクトルを取得する。すなわち、検出ベクトルメモリ53から、ステップS254,S256で算出された座標の周囲参照点の動きベクトルが取得される。ステップS259において、貫き改善処理部706は、相対動き量を算出する。具体的には、次の、式(15)と式(16)が演算される。   If it is determined that the surrounding reference point is not outside the frame of the image frame (within the image frame), in step S258, the penetration improvement processing unit 706 acquires a motion vector of the surrounding reference point. That is, the motion vector of the surrounding reference point of the coordinates calculated in steps S254 and S256 is acquired from the detection vector memory 53. In step S259, the penetration improvement processing unit 706 calculates a relative motion amount. Specifically, the following equations (15) and (16) are calculated.

Figure 0004655217
Figure 0004655217

すなわち、相対動き量MLは、着目画素281の動きベクトルVcと、周囲参照点282,282−1乃至281−8の動きベクトル(参照点282の動きベクトルVl、周囲参照点282−1乃至281−8の動きベクトルVl1乃至Vl8)のうちの選択された動きベクトルVLとの大きさの差を表す。同様に、相対動き量MRは、着目画素281の動きベクトルVcと、周囲参照点283,283−1乃至283−8の動きベクトル(参照点283、またはその周囲参照点283−1乃至283−8の動きベクトルVr,Vr1乃至Vr8)のうちの選択された動きベクトルVRとの大きさの差を表す。 That is, the relative quantity of motion M L includes a motion vector Vc of the target pixel 281, the motion vector Vl, around the reference point 282-1 to 281 of the motion vector (see point 282 around the reference points 282,282-1 to 281-8 This represents a difference in magnitude from the selected motion vector V L among the −8 motion vectors Vl1 to Vl8). Similarly, the relative motion amount M R is calculated based on the motion vector Vc of the pixel of interest 281 and the motion vectors of the reference points 283, 283-1 to 283-8 (reference point 283 or its surrounding reference points 283-1 to 283-83). 8 represents the difference in magnitude from the selected motion vector V R among the eight motion vectors Vr, Vr1 to Vr8).

ステップS260において、貫き改善処理部706は動き量(ノルム)を算出する。すなわち、着目画素281の動きベクトルVcの絶対値|Vc|、周囲参照点282,282−1乃至282−8のうち選ばれたものの動きベクトルVLの絶対値|VL|、ならびに周囲参照点283,283−1乃至283−8のうちの選ばれたものの動きベクトルVRの絶対値|VR|が演算される。 In step S260, the penetration improvement processing unit 706 calculates a motion amount (norm). That is, the absolute value | Vc | of the motion vector Vc of the pixel of interest 281, the absolute value | V L | of the motion vector V L of one selected from the surrounding reference points 282, 282-1 to 282-8, and the surrounding reference point 283,283-1 to the absolute value of the selected although motion vector V R of 283-8 | V R | is calculated.

ステップS261において、貫き改善処理部706は次式が成立するかを判定する。   In step S <b> 261, the penetration improvement processing unit 706 determines whether the following expression is satisfied.

Figure 0004655217
Figure 0004655217

すなわち、ステップS260で演算された動き量のうち、着目画素281の動きベクトルVcの動き量|Vc|が、周囲参照点の動きベクトルVL,VRの動き量|VL|,|VR|より大きいかが判定される。さらに、ステップS259で算出された相対動きML,MRが、予め実験などにより設定されている基準値28より大きいかが次式に従って判定される。 That is, among the motion amounts calculated in step S260, the motion amount | Vc | of the motion vector Vc of the pixel of interest 281 is the motion amount | V L |, | V R of the motion vectors V L and V R of the surrounding reference points. Is greater than |. Further, it is determined according to the following equation whether the relative motions M L and M R calculated in step S259 are larger than a reference value 28 set in advance by experiments or the like.

Figure 0004655217
Figure 0004655217

式(17)乃至式(20)のいずれもが満足される場合には、ステップS262において、貫き改善部706は、貫き危険フラグにtrueを設定する。すなわち、ステップS251でfalseに初期設定された貫き危険フラグが、ここでtrueに書き換えられる。   If any of the expressions (17) to (20) is satisfied, the penetration improvement unit 706 sets true in the penetration danger flag in step S262. That is, the penetrating danger flag initially set to false in step S251 is rewritten to true here.

貫き危険フラグをtrueに設定する条件を、図37と図38を参照して説明する。図37において、前景302は、その中心の画素303がフレームt1からフレームt1+1に図中右方向に遅い速度で移動した場合において中心の画素313を有する前景312となる。この前景302の動きベクトルVlは、画素303と画素313を結んだ線で表現される。前景302の幅W302は不明である。フレームt1の背景の画素301は図中左方向の高速で移動し、フレームt1+1において画素311となっている。したがって、画素301と画素311を結ぶ線Vcにより、画素301の動きベクトルが表される。動きベクトルVcは、フレームt+P近傍で動きベクトルVlと交差している。 The conditions for setting the penetration danger flag to true will be described with reference to FIGS. In FIG. 37, the foreground 302 becomes the foreground 312 having the center pixel 313 when the center pixel 303 moves from the frame t1 to the frame t1 + 1 in the right direction in the drawing at a slow speed. The motion vector Vl of the foreground 302 is expressed by a line connecting the pixel 303 and the pixel 313. The width W 302 of the foreground 302 is unknown. The background pixel 301 of the frame t1 moves at a high speed in the left direction in the figure, and becomes the pixel 311 in the frame t1 + 1. Therefore, the motion vector of the pixel 301 is represented by the line Vc connecting the pixel 301 and the pixel 311. The motion vector Vc crosses the motion vector Vl in the vicinity of the frame t + P.

フレームt1の画素322を中心に有するカバード領域321は背景であり、近傍の背景画素301の動きベクトルVcとほぼ同様の動きベクトルを有しているはずである。しかしながら、カバード領域321から動きベクトルVcに対応するフレームt1+1の領域には、前景312が位置する。従って、カバード領域321の動きベクトルは、検出することが困難となる。そこで、この実施の形態の場合、カバード領域321の画素322に対しては、0ベクトル(動きが0の動きベクトル)が、画素322の動きベクトルVrとされる。   The covered region 321 having the pixel 322 in the frame t1 as the center is the background, and should have a motion vector substantially similar to the motion vector Vc of the nearby background pixel 301. However, the foreground 312 is located in the area of the frame t1 + 1 corresponding to the motion vector Vc from the covered area 321. Therefore, it is difficult to detect the motion vector of the covered region 321. Therefore, in the case of this embodiment, for the pixel 322 in the covered region 321, the 0 vector (motion vector with motion 0) is set as the motion vector Vr of the pixel 322.

貫き劣化部は、この画素(着目画素)301が、図37に示されるように、前景302とカバード領域321にはさまれる領域391内に位置する場合に発生することが多い。従って、着目画素301が領域391に属することを検出することができれば、そこに位置する画素の動きベクトルは、貫き劣化を発生しやすい動きベクトルということになる。そこで、式(19)と式(20)が成立することを判定することで、前景302とカバード領域321の存在が検出される。すなわち、画素301が前景302とカバード領域321の間の領域391に属することが検出される。   The penetration deterioration portion often occurs when the pixel (target pixel) 301 is located in a region 391 that is sandwiched between the foreground 302 and the covered region 321 as shown in FIG. Therefore, if it can be detected that the pixel of interest 301 belongs to the region 391, the motion vector of the pixel located there is a motion vector that tends to cause penetration degradation. Therefore, the presence of the foreground 302 and the covered area 321 is detected by determining that Expression (19) and Expression (20) are satisfied. That is, it is detected that the pixel 301 belongs to the area 391 between the foreground 302 and the covered area 321.

さらに、貫き劣化を発生するおそれがある動きベクトルは、自分自身が大きな動き量を持つことが多く、また、周囲の前景の動きよりも大きく、かつカバード領域にあてられた動きよりも大きいことが多い。そこで、この条件が式(17)と式(18)で判定される。すなわち、図38に示されるように、着目画素の動きベクトルVcは、参照点の動きベクトルVl,Vr(周囲参照点の動きベクトルVL,VR)より大きいことが条件として判定される。 In addition, motion vectors that may cause penetration degradation often have a large amount of motion themselves, and are larger than the motion of the surrounding foreground and larger than the motion applied to the covered area. Many. Therefore, this condition is determined by Expression (17) and Expression (18). That is, as shown in FIG. 38, it is determined as a condition that the motion vector Vc of the target pixel is larger than the motion vectors Vl and Vr of the reference points (motion vectors V L and V R of surrounding reference points).

以上のようにして、式(17)乃至式(20)のすべてが充足される場合には、その動きベクトルは、貫き劣化を発生させる恐れが大きいと判定される。そこで、この場合には、ステップS262において、その動きベクトルの貫き危険フラグがtrueに設定される。   As described above, when all of the equations (17) to (20) are satisfied, it is determined that the motion vector is likely to cause penetration degradation. Therefore, in this case, in step S262, the motion vector penetration danger flag is set to true.

ステップS261において、式(17)乃至式(20)のいずれか1つでも充足されないと判定された場合には、ステップS262の処理はスキップされる。すなわち、この場合には、ステップS251で初期設定されたfalseが、そのまま貫き危険フラグとして設定されることになる(その動きベクトルは貫き劣化を発生させる恐れが少ない動きベクトルであることを意味するフラグが設定されることになる)。   In step S261, when it is determined that any one of the expressions (17) to (20) is not satisfied, the process of step S262 is skipped. That is, in this case, false initially set in step S251 is set as a penetration risk flag as it is (a flag indicating that the motion vector is a motion vector that is less likely to cause penetration deterioration). Will be set).

ステップS263において、貫き改善処理部706は、すべての周囲参照点を選択したかを判定する。まだ選択していない周囲参照点が存在する場合には、処理はステップS255に戻り、新たな周囲参照点が選択され、その周囲参照点に関してそれ以降の処理が同様に実行される。ステップS263において、すべての周囲参照点を選択したと判定された場合、ステップS264において、貫き改善処理部706は、すべての参照モードを選択したかを判定する。まだ、すべての参照モードを選択していない場合には、処理はステップS253に戻り、次の参照モードが選択され、その選択された参照モードについて同様の処理が実行される。   In step S263, the penetration improvement processing unit 706 determines whether all surrounding reference points have been selected. If there is a surrounding reference point that has not yet been selected, the process returns to step S255, a new surrounding reference point is selected, and the subsequent processing is similarly performed with respect to the surrounding reference point. If it is determined in step S263 that all surrounding reference points have been selected, in step S264, the penetration improvement processing unit 706 determines whether all reference modes have been selected. If not all reference modes have been selected, the process returns to step S253, the next reference mode is selected, and the same process is executed for the selected reference mode.

ステップS264において、すべての参照モードを選択したと判定された場合、ステップS265において、貫き改善処理部706は、ステップS251またはステップS262において設定した貫き危険フラグを出力する。   If it is determined in step S264 that all the reference modes have been selected, in step S265, the penetration improvement processing unit 706 outputs the penetration risk flag set in step S251 or step S262.

貫き危険フラグがtrueと設定された場合には、図22を参照して説明したように、ステップS206においてYESと判定され、ステップS207乃至S210の処理はスキップされる。すなわち、その動きベクトルは、割り付け処理の対象からはずされる(割り付けが禁止される)ことになる。貫き危険フラグがfalseに設定されている動きベクトルについてだけ、割り付け処理が実行されることになる。   When the penetrating danger flag is set to true, as described with reference to FIG. 22, it is determined YES in step S206, and the processes in steps S207 to S210 are skipped. That is, the motion vector is removed from the allocation process target (allocation is prohibited). Allocation processing is executed only for motion vectors for which the penetration risk flag is set to false.

その結果、図39に示されるように、小動きの前景1012と小動きまたは静止状態(0ベクトル)のカバード領域1013との間に形成される危険領域1014の画素1015の大きな動きベクトルV1がフレームt+P上の前景に割り付けられることが少なくなり、貫き劣化部の発生が抑制される。   As a result, as shown in FIG. 39, the large motion vector V1 of the pixel 1015 in the dangerous area 1014 formed between the small motion foreground 1012 and the small motion or stationary state (0 vector) covered area 1013 It is less likely to be assigned to the foreground on t + P, and the occurrence of penetration deteriorated parts is suppressed.

図40は、貫き改善処理の他の実施の形態を表している。この実施の形態におけるステップS351乃至ステップS365の処理は、図24のステップS251乃至ステップS265の処理と基本的に同様の処理である。ただし、図24の貫き改善処理においては、9個の周囲参照点の動きベクトルのすべてについて、それぞれが貫き危険フラグを設定するか否かが判定されている。しかしながら、少なくとも1個の周囲参照点について貫き危険フラグがtrueに設定された場合には、その他の周囲参照点の動きベクトルが、貫き劣化の恐れが少ないとしても、結果として貫き危険フラグとしてはtrueが出力される。そこで、図40の実施の形態においては、ステップS362において、今処理中の動きベクトルに関して貫き危険フラグにtrueが設定された場合には、処理はステップS363に進み、すべての周囲参照点を選択したかの判定処理を行うのではなく、直ちにステップS365に進み、貫き危険フラグを出力する処理が実行されるようになされている。その結果、処理をより迅速に完了させることが可能となる。その他の処理は図24の処理と同様であり、その説明は繰り返しになるので省略する。   FIG. 40 shows another embodiment of the penetration improvement process. The processing from step S351 to step S365 in this embodiment is basically the same processing as the processing from step S251 to step S265 in FIG. However, in the penetration improvement process of FIG. 24, it is determined whether or not each of the nine surrounding reference point motion vectors sets a penetration danger flag. However, if the penetration risk flag is set to true for at least one surrounding reference point, even if the motion vectors of other surrounding reference points are less likely to penetrate, the result is true as a penetration danger flag. Is output. Therefore, in the embodiment of FIG. 40, if true is set in the penetration risk flag for the motion vector currently being processed in step S362, the process proceeds to step S363, and all surrounding reference points have been selected. Instead of performing such a determination process, the process immediately proceeds to step S365, and a process of outputting a penetration danger flag is executed. As a result, the process can be completed more quickly. The other processing is the same as the processing in FIG. 24, and the description thereof will be omitted because it is repeated.

次に、図41のフローチャートを参照して、図22のステップS207の画素位置演算処理の詳細を説明する。   Next, details of the pixel position calculation process in step S207 of FIG. 22 will be described with reference to the flowchart of FIG.

ステップS721において、画素情報演算部701は、ステップS204の処理により選択された画素で検出された動きベクトルであって、貫き危険フラグがfalseである動きベクトルを、検出メモリベクトル53から取得する。なお、選択された画素の動きベクトルが0ベクトルである場合、割付ベクトルメモリ55には、初期値として0ベクトルが予め記憶されているので、以降のステップS722乃至S724、および、図22のステップS208乃至S210の処理はスキップされ、処理はステップS211に進む。   In step S721, the pixel information calculation unit 701 obtains, from the detection memory vector 53, a motion vector that is detected by the pixel selected by the process in step S204 and has a penetration risk flag of false. If the motion vector of the selected pixel is a 0 vector, the allocation vector memory 55 stores the 0 vector as an initial value in advance, so that the subsequent steps S722 to S724 and step S208 of FIG. 22 are performed. The process from S210 to S210 is skipped, and the process proceeds to step S211.

画素情報演算部701は、ステップS722において、取得された動きベクトルと内挿フレームの交点を算出する。すなわち、画素情報演算部701は、取得した動きベクトルを、次フレームt+1方向に延ばし、延ばした動きベクトルと、内挿フレームとの交点を算出する。   In step S722, the pixel information calculation unit 701 calculates the intersection of the acquired motion vector and the interpolation frame. That is, the pixel information calculation unit 701 extends the acquired motion vector in the direction of the next frame t + 1, and calculates the intersection of the extended motion vector and the interpolation frame.

画素情報演算部701は、ステップS723において、動きベクトルと内挿フレームから算出された交点から、割付対象となる画素を設定する。このとき、画素情報演算部701は、交点が内挿フレーム上の画素位置に一致する場合には、交点を、割付対象画素に設定する。一方、画素情報演算部701は、交点が内挿フレーム上の画素位置に一致しない場合には、上述したように、内挿フレーム上の交点の近傍4画素を、割付対象画素に設定する。   In step S723, the pixel information calculation unit 701 sets a pixel to be allocated from the intersection calculated from the motion vector and the interpolation frame. At this time, if the intersection point coincides with the pixel position on the interpolation frame, the pixel information calculation unit 701 sets the intersection point as the allocation target pixel. On the other hand, when the intersection does not coincide with the pixel position on the interpolation frame, the pixel information calculation unit 701 sets four pixels near the intersection on the interpolation frame as allocation target pixels as described above.

ステップS724において、画素情報演算部701は、評価値演算部702および着目画素差分演算部703が評価値DFDおよび輝度差分絶対値を求める上で必要である、各割付対象画素を基準に、取得された動きベクトルで対応付けた元フレーム上の位置を算出する。具体的には、画素情報演算部701は、ステップS724において、取得された動きベクトルを、設定された割付対象画素にシフト(平行移動)し、シフトされた動きベクトルと、元フレーム上の交点の位置を求め、画素位置演算処理を終了する。その後、処理は図22のステップS208に戻る。   In step S724, the pixel information calculation unit 701 is acquired with reference to each allocation target pixel, which is necessary for the evaluation value calculation unit 702 and the target pixel difference calculation unit 703 to obtain the evaluation value DFD and the luminance difference absolute value. The position on the original frame associated with the motion vector is calculated. Specifically, in step S724, the pixel information calculation unit 701 shifts (translates) the acquired motion vector to the set allocation target pixel, and the shifted motion vector and the intersection of the original frame The position is obtained, and the pixel position calculation process ends. Thereafter, the processing returns to step S208 in FIG.

次に、図42のフローチャートを参照して、図22のステップS209の割付ベクトル評価処理の詳細を説明する。   Next, details of the allocation vector evaluation process in step S209 of FIG. 22 will be described with reference to the flowchart of FIG.

図22のステップS208において、画素情報演算部701により選択した割付対象画素を基準に、その動きベクトルで対応付けられる元フレーム上の位置が求められ、求められた元フレーム上の位置の情報が、評価値演算部702および着目画素差分演算部703に入力される。   In step S208 in FIG. 22, the position on the original frame associated with the motion vector is obtained with reference to the allocation target pixel selected by the pixel information calculation unit 701, and the obtained position information on the original frame is The evaluation value calculation unit 702 and the target pixel difference calculation unit 703 are input.

評価値演算部702は、画素情報演算部701から、元フレーム上の位置の情報が入力されると、ステップS741において、割付対象画素における動きベクトルの評価値DFDを求めるために、フレームtおよびフレームt+1上の位置を中心としたDFD演算範囲(m×n)をそれぞれ求め、さらにステップS742において、求められたDFD演算範囲が画枠内にあるかを判断する。評価値演算部702は、ステップS742において、DFD演算範囲が画枠からはみ出していると判断した場合、その動きベクトルは、割付対象画素に割り付ける割付候補ベクトルにはならないと判断し、ステップS743乃至S749の処理をスキップし、割付ベクトル評価処理を終了する。その後、処理は図22のステップS210に戻る。   When the position information on the original frame is input from the pixel information calculation unit 701 from the pixel information calculation unit 701, the evaluation value calculation unit 702 obtains the frame t and the frame in order to obtain the evaluation value DFD of the motion vector in the allocation target pixel in step S741. A DFD calculation range (m × n) centered on the position on t + 1 is obtained, and in step S742, it is determined whether the calculated DFD calculation range is within the image frame. If the evaluation value calculation unit 702 determines in step S742 that the DFD calculation range is outside the image frame, the evaluation value calculation unit 702 determines that the motion vector does not become an allocation candidate vector to be allocated to the allocation target pixel, and steps S743 to S749. This process is skipped, and the allocation vector evaluation process is terminated. Thereafter, the process returns to step S210 in FIG.

評価値演算部702は、ステップS742において、求められたDFD演算範囲が画枠内にあると判断した場合、ステップS743において、画枠内にあると判断されたDFD演算範囲を用いて、割付対象画素の評価値DFDを演算し、求められた評価値DFDを、評価値判断部712に出力する。なお、このとき、元フレーム上の位置が画素以下であった場合には、上述した4点補間を用いて、元フレーム上の交点の輝度値を求めることにより、割付対象画素の評価値DFDが演算される。   If the evaluation value calculation unit 702 determines in step S742 that the calculated DFD calculation range is within the image frame, the evaluation value calculation unit 702 uses the DFD calculation range determined to be in the image frame in step S743 to assign The evaluation value DFD of the pixel is calculated, and the obtained evaluation value DFD is output to the evaluation value determination unit 712. At this time, when the position on the original frame is equal to or less than the pixel, the evaluation value DFD of the allocation target pixel is obtained by obtaining the luminance value of the intersection on the original frame using the above-described four-point interpolation. Calculated.

一方、着目画素差分演算部703は、画素情報演算部701から、元フレーム上の位置の情報が入力されると、ステップS744において、割付対象画素における輝度差分絶対値dpを求め、求められた輝度差分絶対値dpを、画素差分判断部711に出力する。なお、このときも、元フレーム上の位置が画素以下であった場合には、着目画素差分演算部703は、上述した4点補間を用いて、元フレーム上の交点の輝度値を求めることにより、割付対象画素における輝度差分絶対値dpを演算する。   On the other hand, when the position information on the original frame is input from the pixel information calculation unit 701, the target pixel difference calculation unit 703 obtains the luminance difference absolute value dp in the allocation target pixel in step S744, and the obtained luminance The difference absolute value dp is output to the pixel difference determination unit 711. At this time, if the position on the original frame is equal to or less than the pixel, the pixel-of-interest calculation unit 703 obtains the luminance value of the intersection on the original frame using the above-described four-point interpolation. The luminance difference absolute value dp in the allocation target pixel is calculated.

画素差分判断部711は、ステップS745において、着目画素差分演算部703からの割付対象画素の輝度差分絶対値dpが、所定のしきい値以下であるかを判断し、割付対象画素の輝度差分絶対値dpが、所定のしきい値より大きいと判断した場合、フレームtおよびフレームt+1の交点がそれぞれ異なるオブジェクトに属する可能性が高いと判断し、すなわち、その動きベクトルは、割付対象画素における信頼度が低く、割付対象画素に割り付ける割付候補ベクトルにはならないと判断し、ステップS746乃至S749の処理をスキップし、割付ベクトル評価処理を終了する。その後、処理は図22のステップS210に戻る。   In step S745, the pixel difference determination unit 711 determines whether the luminance difference absolute value dp of the allocation target pixel from the pixel-of-interest difference calculation unit 703 is equal to or less than a predetermined threshold value, and the luminance difference absolute of the allocation target pixel. When it is determined that the value dp is greater than the predetermined threshold, it is determined that the intersection of the frame t and the frame t + 1 is likely to belong to different objects, that is, the motion vector is the reliability of the allocation target pixel. Is low and does not become an allocation candidate vector to be allocated to the allocation target pixel, the processing of steps S746 to S749 is skipped, and the allocation vector evaluation processing is terminated. Thereafter, the process returns to step S210 in FIG.

割付対象画素の輝度差分絶対値dpが、所定のしきい値以下である場合、評価値判断部712は、ステップS746において、ベクトル選択部705のDFDテーブルを参照し、評価値演算部702からの割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値(いまの場合、0ベクトルの評価値DFD0)よりも小さいかを判断し、評価値演算部702からの割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値以上であると判断した場合、その動きベクトルは、割付対象画素において、信頼度が高くないと判断し、ステップS747乃至S749の処理をスキップし、割付ベクトル評価処理を終了する。その後、処理は図22のステップS210に戻る。   When the luminance difference absolute value dp of the allocation target pixel is equal to or smaller than the predetermined threshold value, the evaluation value determination unit 712 refers to the DFD table of the vector selection unit 705 in step S746 and outputs the evaluation value calculation unit 702 from the evaluation value calculation unit 702. It is determined whether the evaluation value DFD of the allocation target pixel is smaller than the minimum evaluation value of the allocation target pixel stored in the DFD table (in this case, the zero vector evaluation value DFD0). When it is determined that the evaluation value DFD of the allocation target pixel is equal to or higher than the minimum evaluation value of the allocation target pixel stored in the DFD table, the motion vector is determined not to have high reliability in the allocation target pixel. The process of steps S747 to S749 is skipped, and the allocation vector evaluation process ends. Thereafter, the process returns to step S210 in FIG.

一方、評価値判断部712は、ステップS746において、評価値演算部702からの割付対象画素の評価値DFDが、DFDテーブルに記憶されている割付対象画素の最小評価値よりも小さいと判断した場合、その動きベクトルは、割付対象画素において、いままで比較した動きベクトルの中で最も、評価値DFDに基づく信頼度が高いと判断し、信頼度が高いと判断された割付対象画素の評価値DFDを、ベクトル選択部705に出力する。   On the other hand, when the evaluation value determination unit 712 determines in step S746 that the evaluation value DFD of the allocation target pixel from the evaluation value calculation unit 702 is smaller than the minimum evaluation value of the allocation target pixel stored in the DFD table. The motion vector is determined to have the highest reliability based on the evaluation value DFD among the motion vectors compared so far in the allocation target pixel, and the evaluation value DFD of the allocation target pixel determined to have high reliability Is output to the vector selection unit 705.

ベクトル選択部705は、評価値判断部712からの割付対象画素の評価値DFDを入力すると、ステップS747において、割付フラグメモリ56の割付対象画素の割付フラグを1(true)に書き換え、ステップS748において、DFDテーブルの割付対象画素が対応する最小評価値を、評価値判断部712により信頼度が高いと判断された評価値DFDに書き換える。   Upon receiving the evaluation value DFD of the allocation target pixel from the evaluation value determination unit 712, the vector selection unit 705 rewrites the allocation flag of the allocation target pixel in the allocation flag memory 56 to 1 (true) in step S747, and in step S748. The minimum evaluation value corresponding to the pixel to be allocated in the DFD table is rewritten to the evaluation value DFD determined to be highly reliable by the evaluation value determination unit 712.

ベクトル選択部705には、ステップS208において、画素情報演算部701から選択した割付対象画素とその動きベクトルが入力されている。したがって、ベクトル選択部705は、ステップS749において、割付ベクトルメモリ55の割付対象画素に割り付けられている動きベクトルを、信頼度が高いと判断された評価値DFDに対応する動きベクトルで書き換え、割付ベクトル評価処理を終了する。その後、処理は図22のステップS210に戻る。   The vector selection unit 705 receives the allocation target pixel selected from the pixel information calculation unit 701 and its motion vector in step S208. Therefore, in step S749, the vector selection unit 705 rewrites the motion vector allocated to the allocation target pixel in the allocation vector memory 55 with the motion vector corresponding to the evaluation value DFD determined to have high reliability, and allocates the allocation vector. End the evaluation process. Thereafter, the process returns to step S210 in FIG.

以上のように、内挿フレームの割付対象画素に割り付けられる動きベクトルを選ぶときに、評価値DFDだけでなく、割付対象画素を基準に動きベクトルで対応付けた元フレーム上の位置に基づいて求められる、割付対象画素の輝度差分絶対値を別扱いにし、評価するようにしたので、従来の評価値DFDを用いるだけの場合よりも、割付候補ベクトルの中から、最も確からしい動きベクトルを選んで、割付対象画素に割り付けることができる。これにより、ベクトル割付の精度が向上し、後段の画像補間処理において生成される画像の不連続性などを抑制することができ、画像の品質を向上させることができる。   As described above, when selecting a motion vector to be allocated to the allocation target pixel of the interpolation frame, not only the evaluation value DFD but also a position on the original frame associated with the motion vector based on the allocation target pixel is obtained. Since the absolute value of the luminance difference of the allocation target pixel is handled separately and evaluated, the most probable motion vector is selected from the allocation candidate vectors rather than using the conventional evaluation value DFD. , It can be assigned to the pixel to be assigned. Thereby, the accuracy of vector allocation is improved, discontinuity of the image generated in the subsequent image interpolation processing, etc. can be suppressed, and the image quality can be improved.

さらに、評価値DFDや輝度差分絶対値を求める際などに、画素以下位置の画素値が必要な場合に、その画素以下位置の近傍4画素との距離を基にした線形補間で値を求めるようにしたので、画素以下位置精度の処理が可能になり、さらに、従来の画素以下成分を丸めてしまう方法よりも、輝度差分絶対値dpや評価値DFDを精度よく求めることができ、これにより、割付候補ベクトルの中から、着目画素により確からしい動きベクトルを割り付けることができる。すなわち、ベクトル割付処理の精度が向上する。   Furthermore, when obtaining the evaluation value DFD and the luminance difference absolute value, etc., if a pixel value at a position below the pixel is required, the value is obtained by linear interpolation based on the distance to the four neighboring pixels at the position below the pixel. As a result, it is possible to perform processing with subpixel accuracy, and it is possible to obtain the luminance difference absolute value dp and the evaluation value DFD with higher accuracy than the conventional method of rounding off the subpixel components. From the allocation candidate vectors, it is possible to allocate a more probable motion vector by the pixel of interest. That is, the accuracy of vector allocation processing is improved.

また、0ベクトルによる評価値DFDを初期値として、DFDテーブルに予め保持しておき、動きベクトルを順次処理している間に、ある動きベクトルによる評価値DFDがその時点で最小評価値となった場合に、DFDテーブルの最小評価値と、割付ベクトルメモリ55に割り付けられている動きベクトルを、随時更新するようにしたので、時間とリソースを効率的に使用することができる。   In addition, an evaluation value DFD based on a zero vector is stored in advance in the DFD table as an initial value, and while the motion vector is sequentially processed, the evaluation value DFD based on a certain motion vector becomes the minimum evaluation value at that time. In this case, since the minimum evaluation value of the DFD table and the motion vector allocated to the allocation vector memory 55 are updated as needed, time and resources can be used efficiently.

図43は、ベクトル割付部54の他の構成を示すブロック図である。図43に構成を示すベクトル割付部54は、フレームt上において検出された動きベクトルを、その動きベクトルの周囲の動きベクトルとの差異性(ばらつき)の値(以下、差異性値とも称する)を評価値として用いて信頼度を評価することにより、割付ベクトルメモリ55上の、補間する60P信号の内挿フレーム上の画素に割り付ける処理を行う。   FIG. 43 is a block diagram showing another configuration of the vector allocating unit 54. 43 assigns a difference (variation) value (hereinafter also referred to as a difference value) between a motion vector detected on the frame t and a motion vector around the motion vector. By using the evaluation value as an evaluation value and evaluating the reliability, a process of assigning to the pixels on the interpolation frame of the 60P signal to be interpolated on the assignment vector memory 55 is performed.

すなわち、図43のベクトル割付部54には、図16のベクトル割付部54と異なり、フレームtおよびt+1の画素値は入力されない。   That is, unlike the vector allocation unit 54 of FIG. 16, the pixel values of the frames t and t + 1 are not input to the vector allocation unit 54 of FIG.

画素情報演算部751は、検出ベクトルメモリ53のフレームt上の画素を、左上の画素からラスタスキャン順に選択し、選択された画素に検出された動きベクトルを取得し、取得した動きベクトルを、次の時刻のフレームt+1方向に延ばし、延ばした動きベクトルと、内挿フレームとの交点を算出する。そして、画素情報演算部751は、算出された動きベクトルと内挿フレームとの交点から、内挿フレーム上において、その動きベクトルの割付対象画素を設定し、動きベクトルおよび割付対象画素の位置の情報を、ベクトル選択部754に出力する。   The pixel information calculation unit 751 selects a pixel on the frame t in the detection vector memory 53 in the raster scan order from the upper left pixel, acquires a motion vector detected by the selected pixel, And the intersection of the extended motion vector and the interpolated frame is calculated. Then, the pixel information calculation unit 751 sets an allocation target pixel of the motion vector on the interpolation frame from the intersection of the calculated motion vector and the interpolation frame, and information on the position of the motion vector and the allocation target pixel Is output to the vector selection unit 754.

画素情報演算部751が動きベクトルを取得したとき、評価値演算部752には、画素情報演算部751により選択された画素の動きベクトルと、その動きベクトルの画素の周囲の画素(例えば、周囲8画素)に検出された動きベクトルが入力される。評価値演算部752は、画素情報演算部751により選択された画素の動きベクトルと、その動きベクトルの画素の周囲の画素(例えば、周囲8画素)に検出された動きベクトルを用いて、動きベクトルの差異性値を演算して求め、求めた動きベクトルの差異性値を、ベクトル評価部753に出力する。   When the pixel information calculation unit 751 acquires the motion vector, the evaluation value calculation unit 752 receives the motion vector of the pixel selected by the pixel information calculation unit 751 and pixels around the pixel of the motion vector (for example, the surrounding 8 The detected motion vector is input to (pixel). The evaluation value calculation unit 752 uses the motion vector of the pixel selected by the pixel information calculation unit 751 and the motion vector detected for pixels around the pixel of the motion vector (for example, surrounding 8 pixels), And the difference value of the obtained motion vector is output to the vector evaluation unit 753.

ベクトル評価部753は、評価値演算部752から入力された動きベクトルの差異性値が、ベクトル選択部754からの割付対象画素の最小評価値より小さいか否かを判断し、動きベクトルの差異性値が、割付対象画素の最小評価値よりも小さいと判断した場合、その動きベクトルの信頼度が高いと判断し、ベクトル選択部754に、その動きベクトルの差異性値を出力する。   The vector evaluation unit 753 determines whether or not the difference value of the motion vector input from the evaluation value calculation unit 752 is smaller than the minimum evaluation value of the allocation target pixel from the vector selection unit 754, and the difference of the motion vector is determined. If it is determined that the value is smaller than the minimum evaluation value of the allocation target pixel, it is determined that the reliability of the motion vector is high, and the difference value of the motion vector is output to the vector selection unit 754.

ベクトル選択部754は、内挿フレーム上の各画素における最小評価値を保持する評価値メモリ(図示しない)を有している。なお、この評価値メモリは、図16のベクトル選択部705が有するDFDテーブルと同様の構成を有するものである。ベクトル選択部754は、動きベクトルが割り付けられる割付対象画素に対応する、割付フラグメモリ56のフラグを1(true)に書き換えたり、画素情報演算部751からの割付対象画素の位置の情報に基づいて、割付対象画素の評価値メモリの最小評価値を、その動きベクトルの差異性値に書き換える。また、ベクトル選択部754は、ベクトル評価部753の制御のもと、画素情報演算部751からの割付対象画素の位置の情報に基づいて、割付ベクトルメモリ55の割付対象画素に、画素情報演算部751からの動きベクトルを割り付ける。   The vector selection unit 754 has an evaluation value memory (not shown) that holds a minimum evaluation value for each pixel on the interpolation frame. The evaluation value memory has the same configuration as the DFD table included in the vector selection unit 705 in FIG. The vector selection unit 754 rewrites the flag of the allocation flag memory 56 corresponding to the allocation target pixel to which the motion vector is allocated to 1 (true) or based on the position information of the allocation target pixel from the pixel information calculation unit 751. The minimum evaluation value in the evaluation value memory of the allocation target pixel is rewritten with the difference value of the motion vector. In addition, the vector selection unit 754 controls the pixel evaluation unit 753 to assign the pixel information calculation unit to the allocation target pixel of the allocation vector memory 55 based on the position information of the allocation target pixel from the pixel information calculation unit 751. The motion vector from 751 is allocated.

貫き改善部755は、図16の貫き改善部706と同様の処理を行い、貫き危険フラグをベクトル選択部754に出力する。そこでベクトル選択部754はまた、貫き危険フラグに基づいて、その値がtrueである動きベクトルの割り付けを禁止する。   The penetration improvement unit 755 performs the same processing as the penetration improvement unit 706 of FIG. 16 and outputs a penetration danger flag to the vector selection unit 754. Therefore, the vector selection unit 754 also prohibits the allocation of a motion vector whose value is true based on the penetration risk flag.

次に、図44を参照して、図43のベクトル割付部54における動きベクトルの評価について説明する。図44は、下から、時刻tのフレームt、時刻tと時刻t+1の間の時刻の内挿フレームF1、および、時刻t+1のフレームt+1を、1次元的に示している。また、各フレーム上の丸は、フレーム上の画素を示している。   Next, with reference to FIG. 44, the motion vector evaluation in the vector allocation unit 54 of FIG. 43 will be described. FIG. 44 one-dimensionally shows a frame t at time t, an interpolation frame F1 between time t and time t + 1, and a frame t + 1 at time t + 1 from the bottom. A circle on each frame indicates a pixel on the frame.

図44の例においては、前段のベクトル検出部52によりフレームtにおいて検出された動きベクトルv1およびv2は、フレームt+1方向に延ばされている。   In the example of FIG. 44, the motion vectors v1 and v2 detected in the frame t by the preceding vector detection unit 52 are extended in the frame t + 1 direction.

フレームtの最も左側の画素から、フレームt+1の左から3番目の画素近傍への動きベクトルv1は、内挿フレームF1上の左から2番目の画素Gの近傍を通っており、フレームtの左から3番目の画素から、フレームt+1の左から2番目の画素の近傍への動きベクトルv2は、内挿フレームF1上の左から2番目の画素Gの近傍を通っている。すなわち、動きベクトルv1およびv2は、それぞれ内挿フレームF1の画素Gの近傍を通るので内挿フレームF1の画素Gの割付候補ベクトルとされる。   The motion vector v1 from the leftmost pixel of the frame t to the vicinity of the third pixel from the left of the frame t + 1 passes through the vicinity of the second pixel G from the left on the interpolation frame F1, and the left of the frame t The motion vector v2 from the third pixel to the vicinity of the second pixel from the left in the frame t + 1 passes through the vicinity of the second pixel G from the left on the interpolation frame F1. That is, since the motion vectors v1 and v2 pass through the vicinity of the pixel G of the interpolation frame F1, each of the motion vectors v1 and v2 is set as an allocation candidate vector of the pixel G of the interpolation frame F1.

ベクトル割付部54は、割付候補ベクトルである、動きベクトルv1と動きベクトルv2を比較するために、フレームt上における各動きベクトルの差異性値(ばらつき)を次の式(21)で求め、これを評価値として用いる。   In order to compare the motion vector v1 and the motion vector v2, which are allocation candidate vectors, the vector allocation unit 54 obtains a difference value (variation) of each motion vector on the frame t by the following equation (21), Is used as an evaluation value.

動きベクトルの差異性値 = Σ|vi−v| ・・・(21) Difference value of motion vector = Σ | v i −v | (21)

式(21)において、vは、対象となる動きベクトルであり、viは、フレームt上における動きベクトルvが検出された画素の、周囲の画素(例えば、周囲8画素)で検出された動きベクトル(すなわち、周囲ベクトル)である。なお、式(21)においては、絶対値の代わりに、自乗した値を用いるようにしてもよい。 In Expression (21), v is a target motion vector, and v i is a motion detected in the surrounding pixels (for example, surrounding 8 pixels) of the pixel in which the motion vector v is detected on the frame t. A vector (ie, an ambient vector). In equation (21), a square value may be used instead of the absolute value.

ベクトル割付部54は、式(21)を用いて、動きベクトルv1とv2の差異性値をそれぞれ求め、求めた差異性を比較した結果、周囲ベクトルとの差異性が小さい、すなわち、動きベクトルが、その周囲ベクトルとの差異性が小さい動きベクトルの方が、フレームt上において安定して検出されている動きベクトルであると判定し、周囲ベクトルとの差異性が小さい動きベクトルを画素Gに割り付ける。   The vector allocating unit 54 obtains the difference values of the motion vectors v1 and v2 using the equation (21), and as a result of comparing the obtained differences, the difference from the surrounding vectors is small. A motion vector having a smaller difference from the surrounding vector is determined to be a motion vector that is stably detected on the frame t, and a motion vector having a smaller difference from the surrounding vector is allocated to the pixel G. .

以上のように、動きベクトルの差異性により動きベクトルを評価することにより、ベクトル割付においては、画像依存性が低く、評価値DFDの場合よりも、確からしくない動きベクトルを選択してしまうことが抑制される。これにより、例えば、図45に示されるようなベクトル割付の際に生じる恐れのある貫き劣化といった問題を抑制することができる。   As described above, by evaluating the motion vector based on the difference of the motion vectors, the vector assignment has a low image dependency and may select a motion vector that is less accurate than the evaluation value DFD. It is suppressed. Thereby, for example, it is possible to suppress problems such as penetration degradation that may occur at the time of vector assignment as shown in FIG.

図45の例において、物体Obの画像オブジェクトは、時刻t乃至時刻t+1(すなわち、フレームt乃至フレームt+1)を、動きベクトルv1で、図中左側から右側へ通過している。一方、背景は、時刻t乃至時刻t+1を、動きベクトルv2で、図中右側から左側へ通過している。   In the example of FIG. 45, the image object of the object Ob passes the time t to the time t + 1 (that is, the frame t to the frame t + 1) with the motion vector v1 from the left side to the right side in the drawing. On the other hand, the background passes from time t to time t + 1 with the motion vector v2 from the right side to the left side in the figure.

したがって、本来ならば、内挿フレームF1において物体Obの画像オブジェクトが通過する位置にある画素Gには、動きベクトルv1が割り付けベクトルとして選択されるべきであるが、例えば、物体Obの画像オブジェクトよりも大きいサイズである、m×nのブロックBの画素を用いて、評価値DFDを求め、その評価値DFDにより、動きベクトルv1とv2を評価してしまうと、背景は、平坦なことが多く、もともと背景の評価値DFDが小さくなる傾向があることから、誤って、背景の動きベクトルv2が選ばれてしまう恐れがある。これにより生成される内挿フレームF1の物体Obの画像オブジェクトには、背景が貫いてしまう結果となってしまう。   Therefore, originally, the motion vector v1 should be selected as the allocation vector for the pixel G at the position where the image object of the object Ob passes in the interpolation frame F1, but for example, from the image object of the object Ob When the evaluation value DFD is obtained using the pixels of the block B of m × n having a larger size, and the motion vectors v1 and v2 are evaluated based on the evaluation value DFD, the background is often flat. Since the background evaluation value DFD tends to be small, the background motion vector v2 may be erroneously selected. As a result, the background of the image object of the object Ob of the interpolated frame F1 generated thereby results.

しかしながら、背景は、平坦であった場合、平坦であるがゆえ、動きベクトル検出処理においては、ディテールを有する物体よりも、誤った動きベクトルが検出されている場合が多い。このような場合には、動きベクトルv2と、その周囲ベクトルとの差異性は、大きな値となってしまう。一方、ディテールを有する物体は、ディテールを有するがゆえ、平坦な背景よりも、より確からしい動きベクトルが検出されている可能性が高い。したがって、この場合には、動きベクトルv1と、その周囲ベクトルとの差異性は、動きベクトルv2と、その周囲ベクトルとの差異性よりも小さな値となる。   However, if the background is flat, the motion vector detection process often detects an erroneous motion vector rather than an object having details. In such a case, the difference between the motion vector v2 and the surrounding vector becomes a large value. On the other hand, since an object having details has details, there is a high possibility that a more reliable motion vector is detected than a flat background. Therefore, in this case, the difference between the motion vector v1 and its surrounding vector is smaller than the difference between the motion vector v2 and its surrounding vector.

以上のことから、動きベクトルとその周囲ベクトルとの差異性を評価値として用いることにより、内挿フレームF1の画素Gにおいては、物体Obのオブジェクトに背景が貫いてしまう貫き劣化が抑制され、より確からしい動きベクトルが割付ベクトルとして割り付けられる。   From the above, by using the difference between the motion vector and the surrounding vector as an evaluation value, the penetration degradation that the background penetrates the object Ob of the object Ob is suppressed in the pixel G of the interpolation frame F1. A probable motion vector is allocated as an allocation vector.

次に、図46のフローチャートを参照して、図43のベクトル割付部54のベクトル割付処理の詳細を説明する。すなわち、このベクトル割付処理は、図22のベクトル割付処理の他の例である。   Next, details of the vector allocation processing of the vector allocation unit 54 of FIG. 43 will be described with reference to the flowchart of FIG. That is, this vector allocation process is another example of the vector allocation process of FIG.

検出ベクトルメモリ53に、前段のベクトル検出部52により、フレームtにおいて検出された動きベクトルが記憶されると、画素情報演算部751は、ベクトル選択部754を制御し、ステップS761において、割付フラグメモリ56の割付フラグを0(false)で初期化する。   When the motion vector detected in the frame t is stored in the detection vector memory 53 by the preceding vector detection unit 52, the pixel information calculation unit 751 controls the vector selection unit 754, and in step S761, the allocation flag memory 56 allocation flags are initialized with 0 (false).

画素情報演算部751は、ステップS762において、検出ベクトルメモリ53上の元フレームから画素を選択する。なお、この場合、フレームの左上からラスタスキャン順に画素が1つずつ選択される。   The pixel information calculation unit 751 selects a pixel from the original frame on the detection vector memory 53 in step S762. In this case, pixels are selected one by one in the raster scan order from the upper left of the frame.

ステップS763において、貫き改善処理部755は、貫き改善処理を実行する。その詳細は図24または図40を参照して上述したとおりであり、これにより、貫き劣化を発生するおそれのある動きベクトルが検出され、その動きベクトルの貫き危険フラグはtrueに設定される。そこでステップS764において、ベクトル選択部754は、選択された画素の貫き危険フラグがtrueであるかを判定する。   In step S763, the penetration improvement processing unit 755 executes a penetration improvement process. The details thereof are as described above with reference to FIG. 24 or FIG. 40, whereby a motion vector that may cause penetration deterioration is detected, and the penetration danger flag of the motion vector is set to true. In step S764, the vector selection unit 754 determines whether the penetration risk flag of the selected pixel is true.

選択された画素の貫き危険フラグがtrueではない場合(falseである場合)、画素情報演算部751は、ステップS765において、画素位置演算処理を実行する。   If the penetration risk flag of the selected pixel is not true (if false), the pixel information calculation unit 751 executes pixel position calculation processing in step S765.

この画素位置演算処理の詳細を、図47のフローチャートを参照して説明する。なお、図47の画素位置演算処理は、図41の画素位置演算処理のうち、ステップS724の元フレーム上の位置の算出処理を除いた点が異なるだけであり、その他の処理は、図41の画素位置演算処理と基本的に同様の処理である。   Details of this pixel position calculation processing will be described with reference to the flowchart of FIG. The pixel position calculation process in FIG. 47 is different from the pixel position calculation process in FIG. 41 except for the position calculation process in the original frame in step S724. The other processes are the same as those in FIG. This is basically the same process as the pixel position calculation process.

図47のステップS771において、画素情報演算部751は、図46のステップS762の処理により選択された画素で検出された動きベクトルであって、貫き危険フラグがfalseである動きベクトルを、検出メモリベクトル53から取得する。なお、このとき、画素情報演算部751により選択された画素の動きベクトルと、その動きベクトルの画素の周囲の画素(例えば、周囲8画素)に検出された動きベクトルは、評価値演算部752に入力される。   In step S771 of FIG. 47, the pixel information calculation unit 751 detects a motion vector detected by the pixel selected by the process of step S762 of FIG. 46 and having a penetration risk flag of false as a detection memory vector. 53. At this time, the motion vector of the pixel selected by the pixel information calculation unit 751 and the motion vector detected in pixels around the pixel of the motion vector (for example, the surrounding eight pixels) are sent to the evaluation value calculation unit 752. Entered.

画素情報演算部751は、ステップS772において、取得された動きベクトルと内挿フレームの交点を算出する。すなわち、画素情報演算部751は、取得した動きベクトルを、次フレームt+1方向に延ばし、延ばした動きベクトルと、内挿フレームとの交点を算出する。   In step S772, the pixel information calculation unit 751 calculates the intersection of the acquired motion vector and the interpolation frame. That is, the pixel information calculation unit 751 extends the acquired motion vector in the direction of the next frame t + 1, and calculates the intersection of the extended motion vector and the interpolation frame.

画素情報演算部751は、ステップS773において、動きベクトルと内挿フレームから算出された交点から、割付対象となる画素を設定する。このとき、画素情報演算部751は、交点が内挿フレーム上の画素位置に一致する場合には、交点を、割付対象画素に設定する。一方、画素情報演算部751は、交点が内挿フレーム上の画素位置に一致しない場合には、上述したように、内挿フレーム上の交点の近傍4画素が、割付対象画素に設定される。そして、画素情報演算部751は、画素位置演算処理を終了する。その後、処理は、図46のステップS766に戻る。   In step S <b> 773, the pixel information calculation unit 751 sets a pixel to be allocated from the intersection calculated from the motion vector and the interpolation frame. At this time, when the intersection point coincides with the pixel position on the interpolation frame, the pixel information calculation unit 751 sets the intersection point as the allocation target pixel. On the other hand, when the intersection does not coincide with the pixel position on the interpolation frame, the pixel information calculation unit 751 sets the four pixels near the intersection on the interpolation frame as the allocation target pixels as described above. Then, the pixel information calculation unit 751 ends the pixel position calculation process. Thereafter, the processing returns to step S766 of FIG.

画素情報演算部751は、ステップS766において、割付ベクトル評価処理を実行する。この割付ベクトル評価処理の詳細は、図48を参照して後述するが、この割付ベクトル評価処理により、動きベクトルの差異性値が求められ、求められた動きベクトルの差異性値に基づいて、割付対象画素における動きベクトルの信頼度が判断され、これらの判断の結果、信頼度が高いとされた動きベクトルで、割付ベクトルメモリ55の動きベクトルが書き換えられる。   In step S766, the pixel information calculation unit 751 executes an allocation vector evaluation process. The details of the allocation vector evaluation process will be described later with reference to FIG. 48. The allocation vector evaluation process obtains a motion vector difference value, and assigns the allocation based on the obtained motion vector difference value. The reliability of the motion vector in the target pixel is determined, and the motion vector in the allocation vector memory 55 is rewritten with the motion vector determined to have high reliability as a result of these determinations.

画素情報演算部751は、ステップS767において、検出ベクトルメモリ53上の元フレームのすべての画素の処理を終了したかを判断する。ステップS767において、検出ベクトルメモリ53上の元フレームのすべての画素の処理がまだ終了していないと判断された場合、処理はステップS762に戻り、検出ベクトルメモリ53上の元フレームの次の画素が選択され、それ以降の処理が繰り返される。また、画素情報演算部751は、ステップS767において、検出ベクトルメモリ53のすべての画素についての処理を終了したと判断した場合、ベクトル割付処理を終了する。   In step S767, the pixel information calculation unit 751 determines whether the processing of all the pixels in the original frame on the detection vector memory 53 has been completed. If it is determined in step S767 that the processing of all the pixels of the original frame on the detection vector memory 53 has not been completed, the process returns to step S762, and the next pixel of the original frame on the detection vector memory 53 is determined. Is selected, and the subsequent processing is repeated. If the pixel information calculation unit 751 determines in step S767 that the processing for all the pixels in the detection vector memory 53 has been completed, the pixel allocation calculation unit 751 ends the vector allocation processing.

次に、図48のフローチャートを参照して、図46のステップS766の割付ベクトル評価処理の詳細を説明する。   Next, the details of the allocation vector evaluation process in step S766 of FIG. 46 will be described with reference to the flowchart of FIG.

評価値演算部752は、図48のステップS781において、図46のステップS762において選択された画素の動きベクトルの差異性値を演算する。すなわち、図47のステップS771において、画素情報演算部751が動きベクトルを取得したとき、評価値演算部752には、画素情報演算部751により選択された画素の動きベクトルと、その動きベクトルの画素の周囲の画素(例えば、周囲8画素)に検出された動きベクトルが入力される。   In step S781 of FIG. 48, the evaluation value calculation unit 752 calculates the difference value of the motion vector of the pixel selected in step S762 of FIG. That is, in step S771 of FIG. 47, when the pixel information calculation unit 751 acquires a motion vector, the evaluation value calculation unit 752 includes the motion vector of the pixel selected by the pixel information calculation unit 751 and the pixel of the motion vector. The detected motion vector is input to the surrounding pixels (for example, surrounding 8 pixels).

したがって、評価値演算部752は、図48のステップS781において、画素情報演算部751により選択された画素の動きベクトルと、その動きベクトルの画素の周囲の画素(例えば、周囲8画素)に検出された動きベクトルを用いて、式(21)に示される動きベクトルの差異性値を演算して求め、求めた動きベクトルの差異性値を、ベクトル評価部753に出力する。   Therefore, the evaluation value calculation unit 752 detects the motion vector of the pixel selected by the pixel information calculation unit 751 and the pixels around the pixel of the motion vector (for example, the surrounding 8 pixels) in step S781 of FIG. The motion vector difference value shown in Expression (21) is calculated using the obtained motion vector, and the obtained motion vector difference value is output to the vector evaluation unit 753.

ステップS782において、画素情報演算部751は、図47のステップS773において算出された割付対象画素を選択し、選択した割付対象画素と、その動きベクトルを、ベクトル選択部754に出力する。なお、ステップS782において、画素情報演算部751は、割付対象画素が複数存在する場合には、左上の画素から選択する。   In step S782, the pixel information calculation unit 751 selects the allocation target pixel calculated in step S773 of FIG. 47, and outputs the selected allocation target pixel and its motion vector to the vector selection unit 754. In step S782, the pixel information calculation unit 751 selects from the upper left pixels when there are a plurality of allocation target pixels.

ベクトル選択部754は、ステップS783において、画素情報演算部751からの割付対象画素に対応する割付フラグメモリ56のフラグが1(true)であるかを判定し、割付フラグメモリ56のフラグが1(true)ではないと判定した場合、ステップS784において、割付対象画素に対応する割付フラグメモリ56のフラグを1(true)に書き換える。   In step S783, the vector selection unit 754 determines whether the flag of the allocation flag memory 56 corresponding to the allocation target pixel from the pixel information calculation unit 751 is 1 (true), and the flag of the allocation flag memory 56 is 1 ( If it is determined that it is not true, in step S784, the flag of the allocation flag memory 56 corresponding to the allocation target pixel is rewritten to 1 (true).

すなわち、割付フラグメモリ56のフラグが0(false)の場合、その割付対象画素の割付ベクトルメモリ55には、割付ベクトルがまだ割り付いておらず、ベクトル選択部754に内蔵される評価値メモリにも最小評価値が記憶されていない。したがって、ベクトル選択部754は、割付フラグメモリ56のフラグが0(false)の場合、割付フラグメモリ56のフラグを1(true)に書き換えて、最小評価値と比較することなく(すなわち、ステップS785の処理を実行することなく)、ステップS786の処理に進む。なお、評価値メモリには、初期値として、そのメモリに記憶される最大値を記憶しておくようにしてもよい。   That is, when the flag of the allocation flag memory 56 is 0 (false), the allocation vector memory 55 of the allocation target pixel has not yet been allocated, and the evaluation value memory built in the vector selection unit 754 No minimum evaluation value is stored. Accordingly, when the flag of the allocation flag memory 56 is 0 (false), the vector selection unit 754 rewrites the flag of the allocation flag memory 56 to 1 (true) and does not compare with the minimum evaluation value (that is, step S785). Without executing the process of step S786). The evaluation value memory may store the maximum value stored in the memory as an initial value.

一方、ステップS783において、割付フラグメモリ56のフラグが1(true)であると判定された場合、すでに、その割付対象画素の割付ベクトルメモリ55には、他の割付ベクトルがまだ割り付いており、評価値メモリに、対応する最小評価値が記憶されている。   On the other hand, if it is determined in step S783 that the flag of the allocation flag memory 56 is 1 (true), the allocation vector memory 55 of the allocation target pixel has already been allocated with other allocation vectors. A corresponding minimum evaluation value is stored in the evaluation value memory.

したがって、ステップS783において、割付フラグメモリ56のフラグが1(true)であると判定された場合、ベクトル選択部754は、評価値メモリより、割付対象画素に対応する最小評価値を読み出し、ベクトル評価部753に供給する。   Therefore, when it is determined in step S783 that the flag of the allocation flag memory 56 is 1 (true), the vector selection unit 754 reads the minimum evaluation value corresponding to the allocation target pixel from the evaluation value memory, and performs vector evaluation. Part 753.

ベクトル評価部753は、ベクトル選択部754から最小評価値が供給されると、ステップS781において求めた動きベクトルの差異性値が、ベクトル選択部754からの割付対象画素の最小評価値よりも小さいかを判定し、動きベクトルの差異性値が、割付対象画素の最小評価値よりも小さいと判定した場合、その動きベクトルの信頼度が高いと判定し、動きベクトルの差異性値を、ベクトル選択部754に供給する。   When the minimum evaluation value is supplied from the vector selection unit 754, the vector evaluation unit 753 determines whether the difference value of the motion vector obtained in step S781 is smaller than the minimum evaluation value of the allocation target pixel from the vector selection unit 754. If the motion vector difference value is determined to be smaller than the minimum evaluation value of the allocation target pixel, it is determined that the reliability of the motion vector is high, and the motion vector difference value is determined as a vector selection unit. 754.

ベクトル選択部754は、ステップS786において、評価値メモリの対応する最小評価値を、ベクトル評価部753からの動きベクトルの差異性値に書き換え、ステップS787において、割付ベクトルメモリ55の割付対象画素に割り付けられている動きベクトルを、信頼度が高いと判断された評価値に対応する動きベクトルで書き換える。   In step S786, the vector selection unit 754 rewrites the corresponding minimum evaluation value in the evaluation value memory with the motion vector difference value from the vector evaluation unit 753, and assigns it to the allocation target pixel in the allocation vector memory 55 in step S787. The motion vector being rewritten is rewritten with the motion vector corresponding to the evaluation value determined to have high reliability.

また、ステップS785において、動きベクトルの差異性値が、評価値メモリの割付対象画素の最小評価値よりも小さくない(評価値メモリの割付対象画素の最小評価値の方が、動きベクトルの差異性値よりも小さい)と判定された場合、その動きベクトルの信頼度は低く、割付ベクトルメモリ55にすでに書き込まれている動きベクトルの信頼度の方が高いので、ステップS786およびS787の処理はスキップされ、処理はステップS788に進む。   In step S785, the difference value of the motion vector is not smaller than the minimum evaluation value of the allocation target pixel in the evaluation value memory (the minimum evaluation value of the allocation target pixel in the evaluation value memory is the difference in motion vector). If it is determined that the motion vector is smaller than the value, the reliability of the motion vector is low, and the reliability of the motion vector already written in the allocation vector memory 55 is higher. Therefore, the processes of steps S786 and S787 are skipped. The process proceeds to step S788.

画素情報演算部751は、ステップS788において、すべての割付対象画素(例えば、4画素)の処理が終了したか否かを判断する。まだ、すべての割付対象画素の処理が終了していない場合には、処理はステップS782に戻り、次の割付対象画素が選択され、それ以降の処理が繰り返される。すなわち、割付対象画素が4つある場合であっても、その動きベクトルの差異性値は、一度求められれば、4つの割付対象画素に対してそれを用いることができるので、評価値の比較毎に、ステップS781の演算処理を行う必要がなくなる。   In step S788, the pixel information calculation unit 751 determines whether or not the processing for all the allocation target pixels (for example, four pixels) has been completed. If all the allocation target pixels have not been processed yet, the process returns to step S782, the next allocation target pixel is selected, and the subsequent processing is repeated. That is, even when there are four allocation target pixels, once the difference value of the motion vector is obtained, it can be used for the four allocation target pixels. In addition, it is not necessary to perform the calculation process in step S781.

ステップS788において、すべての割付対象画素の処理が終了したと判断された場合、画素情報演算部751は、割付ベクトル評価処理を終了する。その後、処理は図46のステップS767に戻る。   If it is determined in step S788 that the processing for all the allocation target pixels has been completed, the pixel information calculation unit 751 ends the allocation vector evaluation processing. Thereafter, the processing returns to step S767 in FIG.

以上のように、内挿フレームの割付対象画素に割り付けられる動きベクトルを選ぶときに、割り付けられる動きベクトルの差異性(ばらつき)を評価値として用いるようにしたので、評価値DFDを用いる場合よりも、特に、図45を参照して上述したような貫き劣化などの問題を抑制することができ、割付候補ベクトルの中から、より確からしい動きベクトルを選んで、割付対象画素に割り付けることができる。これにより、ベクトル割付の精度が向上し、後段の画像補間処理において生成される画像の不連続性などを抑制することができ、画像の品質を向上させることができる。   As described above, when selecting the motion vector to be allocated to the allocation target pixel of the interpolation frame, the difference (variation) of the allocated motion vector is used as the evaluation value. Therefore, compared to the case where the evaluation value DFD is used. In particular, problems such as penetration degradation as described above with reference to FIG. 45 can be suppressed, and more likely motion vectors can be selected from the allocation candidate vectors and allocated to the allocation target pixels. Thereby, the accuracy of vector allocation is improved, discontinuity of the image generated in the subsequent image interpolation processing, etc. can be suppressed, and the image quality can be improved.

また、割り付けられる動きベクトルの差異性(ばらつき)を評価値として用いることにより、図16のベクトル割付部54が実行する割付ベクトル評価に較べて、2枚の元フレームの位置を線形補間で求める(図41のステップS724の処理を実行する)必要がなく、割付対象画素毎に、評価値DFDや輝度差分絶対値dpを求める必要がない。したがって、図42の割付ベクトル評価処理と、図48の割付ベクトル評価処理を単純に比較しても、図48の割付ベクトル評価処理の方がステップ数も少なくなり、処理時間も少なくなる。   Further, by using the difference (variation) of the motion vectors to be allocated as an evaluation value, the positions of the two original frames are obtained by linear interpolation as compared with the allocation vector evaluation executed by the vector allocation unit 54 in FIG. It is not necessary to execute the process of step S724 in FIG. 41, and it is not necessary to obtain the evaluation value DFD and the luminance difference absolute value dp for each allocation target pixel. Therefore, even if the allocation vector evaluation processing of FIG. 42 and the allocation vector evaluation processing of FIG. 48 are simply compared, the allocation vector evaluation processing of FIG. 48 requires fewer steps and processing time.

さらに、画像情報演算部751においては、画像情報演算部701に必要とされる2枚の元フレームの位置の求め直し、線形補間などの演算ブロックが必要なくなり、また、図16のベクトル割付部54の評価値演算部702および着目画素演算部703に必要とされるフレームtおよびt+1の画素値は必要ないので、図43のベクトル割付部54には、その画素値を記憶しておくメモリが必要なくなるので、かなり回路規模を小さくすることができる。   Further, the image information calculation unit 751 eliminates the need to recalculate the positions of the two original frames necessary for the image information calculation unit 701 and linear interpolation, and the vector allocation unit 54 in FIG. 43 is not required for the evaluation value calculation unit 702 and the target pixel calculation unit 703, and the vector allocation unit 54 in FIG. 43 requires a memory for storing the pixel values. Since this is eliminated, the circuit scale can be considerably reduced.

なお、上記説明においては、検出ベクトルメモリ53の動きベクトルは、勾配法が用いられて検出されているが、ブロックマッチング法など他の方法により求められた動きベクトルが用いられるようにしてもよい。   In the above description, the motion vector of the detection vector memory 53 is detected using the gradient method, but a motion vector obtained by another method such as a block matching method may be used.

次に、割付補償部57の構成の詳細について説明する。   Next, details of the configuration of the allocation compensation unit 57 will be described.

図49は、割付補償部57の構成を示すブロック図である。図49に構成を示す割付補償部57は、割付ベクトル判定部801およびベクトル補償部802により構成され、ベクトル割付部54により動きベクトルが割り付けられなかった60P信号の内挿フレーム上の画素に、その周辺画素の動きベクトルを補って割り付ける処理を行う。   FIG. 49 is a block diagram showing a configuration of the allocation compensation unit 57. 49 is configured by an allocation vector determination unit 801 and a vector compensation unit 802. The allocation compensation unit 57 includes a vector on the interpolation frame of the 60P signal to which no motion vector is allocated by the vector allocation unit 54. A process is performed in which the motion vectors of surrounding pixels are supplemented.

前段のベクトル割付部54により、割付ベクトルメモリ55上の内挿フレームの画素には動きベクトルが割り付けられている。また、ベクトル割付部54により動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグには、1(true)が書き込まれており、動きベクトルが割り付けられなかった画素の割付フラグメモリ56の割付フラグには、0(false)が書き込まれている。   The motion vector is assigned to the pixel of the interpolation frame on the assigned vector memory 55 by the preceding vector assigning unit 54. Further, 1 (true) is written in the allocation flag of the pixel allocation flag memory 56 to which the motion vector is allocated by the vector allocation unit 54, and the allocation of the allocation flag memory 56 of the pixel to which the motion vector has not been allocated. 0 (false) is written in the flag.

割付ベクトル判定部801は、割付フラグメモリ56の割付フラグを参照し、着目画素に、ベクトル割付部54により動きベクトルが割り付けられているか否かを判定する。そして、割付ベクトル判定部801は、ベクトル割付部54により動きベクトルが割り付けられなかった着目画素を選択し、選択した着目画素に対して、ベクトル補償部802を制御し、その着目画素の周辺画素の動きベクトルを選択して、割付ベクトルメモリ55の内挿フレーム上に割り付けさせる。   The allocation vector determination unit 801 refers to the allocation flag in the allocation flag memory 56 and determines whether or not a motion vector is allocated to the pixel of interest by the vector allocation unit 54. Then, the allocation vector determination unit 801 selects a pixel of interest for which no motion vector has been allocated by the vector allocation unit 54, controls the vector compensation unit 802 for the selected pixel of interest, and sets the surrounding pixels of the pixel of interest. A motion vector is selected and allocated on the interpolation frame of the allocation vector memory 55.

ベクトル補償部802は、割付ベクトルメモリ55から、着目画素の周辺画素に割り付けられている動きベクトルを取得し、入力される時刻tの画像のフレームtと、時刻t+1の画像のフレームt+1を用いて、取得した動きベクトルの評価値DFDを求めて比較することにより、着目画素の周辺画素に割り付けられた動きベクトルのうち、評価値DFDに基づく、最も信頼度が高い動きベクトルを、割付ベクトルメモリ55の着目画素に割り付ける。また、ベクトル補償部802は、動きベクトルが割り付けられた着目画素の割付フラグを1(true)に書き換える。   The vector compensation unit 802 acquires the motion vector assigned to the peripheral pixel of the target pixel from the assigned vector memory 55, and uses the frame t of the image at time t and the frame t + 1 of the image at time t + 1 that are input. The obtained motion vector evaluation value DFD is obtained and compared, and the motion vector having the highest reliability based on the evaluation value DFD among the motion vectors assigned to the peripheral pixels of the target pixel is assigned to the assigned vector memory 55. Assigned to the pixel of interest. Further, the vector compensation unit 802 rewrites the allocation flag of the target pixel to which the motion vector is allocated to 1 (true).

図50は、ベクトル補償部802の構成を示すブロック図である。図50に構成を示すベクトル補償部802は、補償処理部811および評価値演算部812により構成される。   FIG. 50 is a block diagram showing the configuration of the vector compensation unit 802. The vector compensation unit 802 having the configuration shown in FIG. 50 includes a compensation processing unit 811 and an evaluation value calculation unit 812.

補償処理部811は、最小評価値DFDと、最小評価値DFDの動きベクトルを候補ベクトル(以下、補償候補ベクトルとも称する)として記憶するメモリ821を有しており、割付ベクトル判定部801により選択された着目画素の初期値として、0ベクトルの評価値DFDを最小評価値としてメモリ821に記憶し、0ベクトルを、補償候補ベクトルとしてメモリ821に記憶する。補償処理部811は、割付フラグメモリ56を参照して、着目画素の周辺画素の動きベクトルの有無を判断し、割付ベクトルメモリ55から、周辺画素に割り付けられている動きベクトルを取得し、評価値演算部812を制御し、その動きベクトルの評価値DFDを演算させる。   The compensation processing unit 811 includes a memory 821 that stores the minimum evaluation value DFD and the motion vector of the minimum evaluation value DFD as candidate vectors (hereinafter also referred to as compensation candidate vectors), and is selected by the allocation vector determination unit 801. As the initial value of the target pixel, the evaluation value DFD of the zero vector is stored in the memory 821 as the minimum evaluation value, and the zero vector is stored in the memory 821 as the compensation candidate vector. The compensation processing unit 811 refers to the allocation flag memory 56 to determine the presence or absence of motion vectors of the peripheral pixels of the target pixel, acquires the motion vector allocated to the peripheral pixels from the allocation vector memory 55, and evaluates the evaluation value. The calculation unit 812 is controlled to calculate the motion vector evaluation value DFD.

また、補償処理部811は、評価値演算部812により演算された評価値DFDがメモリ821に記憶されている最小評価値よりも小さいか否かを判断し、演算された評価値DFDが最小評価値よりも小さいと判断した場合、メモリ821の補償候補ベクトルと最小評価値を、演算された評価値DFDとその動きベクトルに書き換え、最終的に、評価値DFDが最も小さいと判断された周辺画素の動きベクトル(補償候補ベクトル)を、着目画素の動きベクトルとして、割付ベクトルメモリ55の着目画素に割り付ける。さらに、補償処理部811は、動きベクトルが割り付けられた着目画素の割付フラグメモリ56の割付フラグを1(true)に書き換える。   In addition, the compensation processing unit 811 determines whether or not the evaluation value DFD calculated by the evaluation value calculation unit 812 is smaller than the minimum evaluation value stored in the memory 821, and the calculated evaluation value DFD is the minimum evaluation. When it is determined that the value is smaller than the value, the compensation candidate vector and the minimum evaluation value in the memory 821 are rewritten to the calculated evaluation value DFD and its motion vector, and finally, the peripheral pixels for which the evaluation value DFD is determined to be the smallest Are assigned to the target pixel in the allocation vector memory 55 as the motion vector of the target pixel. Furthermore, the compensation processing unit 811 rewrites the allocation flag in the allocation flag memory 56 of the target pixel to which the motion vector is allocated to 1 (true).

評価値演算部812は、割付ベクトルメモリ55から周辺画素の動きベクトルを取得すると、入力される時刻tの24P信号の画像のフレームtと、時刻t+1の画像のフレームt+1を用いて、割付ベクトルメモリ55からの動きベクトルの評価値DFDを演算し、演算した評価値DFDを補償処理部811に出力する。   When the evaluation value calculation unit 812 acquires the motion vector of the surrounding pixels from the allocation vector memory 55, the evaluation vector calculation unit 812 uses the frame t of the 24P signal image at time t and the frame t + 1 of the image at time t + 1 to be input. The motion vector evaluation value DFD from 55 is calculated, and the calculated evaluation value DFD is output to the compensation processing unit 811.

図51は、割付補償処理の原理を説明する図である。図51の例においては、内挿フレーム上の各画素が示されている。画素から出力される矢印は、各画素に割り付けられている動きベクトルを表しており、矢印がない画素は、動きベクトルが割り付けられていない画素を表している。   FIG. 51 is a diagram for explaining the principle of allocation compensation processing. In the example of FIG. 51, each pixel on the interpolation frame is shown. An arrow output from a pixel represents a motion vector assigned to each pixel, and a pixel without an arrow represents a pixel to which no motion vector is assigned.

ここで、前段のベクトル割付部54により動きベクトルの割り付けられなかった中央の着目画素Pに対して、着目画素Pの近傍の周辺画素に割り付けられている動きベクトルの中から、評価値DFDに基づく、信頼度が高いものを選択して割り付ける。図51の例の場合、着目画素Pには、着目画素Pの上の画素の動きベクトル(太線矢印)が選択され、割り付けられている。これは、次に説明する動き相関に基づいて実行される処理である。   Here, based on the evaluation value DFD among the motion vectors assigned to the peripheral pixels in the vicinity of the target pixel P with respect to the central target pixel P to which the motion vector is not assigned by the vector allocating unit 54 in the previous stage. Select and assign the one with high reliability. In the case of the example in FIG. 51, the motion vector (thick line arrow) of the pixel above the target pixel P is selected and assigned to the target pixel P. This is a process executed based on the motion correlation described below.

図52は、動き相関の原理について説明する図である。図52の例においては、あるフレーム上を動きv1で動くオブジェクトO1と、動きv2で動くオブジェクトO2が示されている。オブジェクトO1に属している着目画素P1とその近傍K1は、オブジェクトO1とほぼ同一動きv1を有している。また、オブジェクトO2に属している着目画素P2とその近傍K2は、オブジェクトO2とほぼ同じ動きv2を有している。   FIG. 52 is a diagram for explaining the principle of motion correlation. In the example of FIG. 52, an object O1 moving with a motion v1 and an object O2 moving with a motion v2 on a certain frame are shown. The target pixel P1 belonging to the object O1 and its vicinity K1 have substantially the same movement v1 as the object O1. Further, the target pixel P2 belonging to the object O2 and its vicinity K2 have substantially the same movement v2 as the object O2.

このように、動き相関とは、ある同じ時間における空間内(同一フレーム内)において、あるオブジェクトに属する画素の動きは、ほぼ同一動きをしていることが多いということを表すものである。したがって、動きベクトルを割り付けることができなかった画素に対しては、ある同じ時刻における空間内(同一フレーム内)において、このような動き相関があることを利用して、周辺画素の動きベクトルから、その画素の対応する動きベクトルを選択することができる。なお、説明は省略するが、時間方向の相関も同様である。   As described above, the motion correlation represents that the motion of the pixels belonging to a certain object is often almost the same in a space at the same time (in the same frame). Therefore, for a pixel for which a motion vector could not be allocated, using such a motion correlation in a space at the same time (within the same frame), The corresponding motion vector for that pixel can be selected. In addition, although description is abbreviate | omitted, the correlation of a time direction is also the same.

次に、図53乃至図59を参照して、動き相関に基づいて実行される動きベクトルの補償処理について説明する。この処理は、周辺画素の動きベクトルから、動きベクトルを選択し、着目画素の動きベクトルとして補う処理である。図53の例においては、白丸は、内挿フレーム上の画素を表しており、動きベクトルを求めようとしている着目画素Pの周辺に、周辺8画素が示されている。この着目画素Pの動きベクトルは、この周辺8画素の動きベクトルを参照して求められる。   Next, with reference to FIGS. 53 to 59, motion vector compensation processing executed based on motion correlation will be described. This process is a process of selecting a motion vector from the motion vectors of surrounding pixels and supplementing it as the motion vector of the pixel of interest. In the example of FIG. 53, white circles represent pixels on the interpolation frame, and 8 peripheral pixels are shown around the pixel of interest P for which a motion vector is to be obtained. The motion vector of the pixel of interest P is obtained with reference to the motion vectors of the surrounding eight pixels.

図54の例においては、着目画素Pの周辺8画素の中で、左上画素、右上画素、および、右下画素(図中黒丸で示される画素)に、前段の処理(例えば、上述したベクトル割付処理)などにより求められた動きベクトル(矢印)が示されている。すなわち、この場合の着目画素Pの補償候補ベクトルは、左上画素、右上画素、および、右下画素の動きベクトルとされる。なお、フレーム上において、動きベクトルは、フレーム上の左上の画素からラスタスキャン順に求められていくため、周辺8画素のうち、まだ動きベクトルの求められていない画素も存在する可能性もあるが、まだ動きベクトルは求められていないため、補償候補ベクトルにはできない。   In the example of FIG. 54, the upper left pixel, the upper right pixel, and the lower right pixel (pixels indicated by black circles in the figure) among the eight pixels around the target pixel P are processed in the previous stage (for example, the above-described vector allocation). The motion vector (arrow) obtained by (processing) etc. is shown. That is, the compensation candidate vectors for the pixel of interest P in this case are the motion vectors of the upper left pixel, the upper right pixel, and the lower right pixel. On the frame, since the motion vector is obtained in the raster scan order from the upper left pixel on the frame, there may be a pixel for which the motion vector is not yet obtained among the surrounding 8 pixels. Since a motion vector has not yet been obtained, it cannot be a compensation candidate vector.

ここで、図55の例に示されるように、周辺8画素の中には、前段の処理において求められた動きベクトルを有する画素(黒丸で示される画素)の他に、本処理により求められた動きベクトルを有する画素(ハッチングされた丸で示される画素)も存在する。すなわち、本処理においては、本処理自体の前段の結果も利用される。したがって、図55の例の場合の着目画素Pの補償候補ベクトルは、動きベクトルがすでに存在する画素(黒丸で示される画素)の動きベクトルと、前段の本処理により求められた動きベクトルを有する画素(ハッチングされた丸で示される画素)の動きベクトルにより構成されている。   Here, as shown in the example of FIG. 55, among the peripheral 8 pixels, in addition to the pixels having the motion vectors obtained in the previous process (pixels indicated by black circles), the pixels obtained by this process are obtained. There are also pixels with motion vectors (pixels indicated by hatched circles). That is, in this process, the result of the previous stage of this process itself is also used. Therefore, the compensation candidate vector of the pixel of interest P in the example of FIG. 55 is a pixel having a motion vector of a pixel in which a motion vector already exists (a pixel indicated by a black circle) and a motion vector obtained by this processing in the previous stage. (Pixels indicated by hatched circles) of motion vectors.

また、図56の例に示されるように、動き量を0とした0ベクトル(静止ベクトル)S0も補償候補ベクトルとして利用することができる。なお、図55の例においては、本処理により求められた動きベクトルを有する画素と、動きベクトルがすでに存在する画素を別々に表したが、どちらも動きベクトルを有するという点で同じであるので、図56乃至図59においては、本処理により求められた動きベクトルを有する画素も、動きベクトルがすでに存在する画素(黒丸で示される画素)に含まれることとする。したがって、図56の例の場合、着目画素Pの補償候補ベクトルは、動きベクトルがすでに存在する画素(黒丸で示される画素)の動きベクトルおよび0ベクトルS0により構成されている。   Also, as shown in the example of FIG. 56, a 0 vector (still vector) S0 with a motion amount of 0 can also be used as a compensation candidate vector. In the example of FIG. 55, the pixel having the motion vector obtained by this process and the pixel in which the motion vector already exists are represented separately, but both are the same in that they have a motion vector. In FIG. 56 to FIG. 59, the pixel having the motion vector obtained by this process is also included in the pixels (pixels indicated by black circles) in which the motion vector already exists. Therefore, in the example of FIG. 56, the compensation candidate vector of the pixel of interest P is composed of a motion vector of a pixel (a pixel indicated by a black circle) in which a motion vector already exists and a zero vector S0.

以上のようにして構成される補償候補ベクトルの信頼度(確からしさ)を比較するために、動きベクトルの評価方法である評価値DFDは、以下の図57乃至図59に示されるようにして求められる。図57は、補償候補ベクトルとして、0ベクトルS0が用いられる例を示している。図58は、補償候補ベクトルとして、周辺8画素の左上画素の動きベクトルVK1が用いられる例を示している。図59は、補償候補ベクトルとして、周辺8画素の上中央画素の動きベクトルVK2が用いられる例を示している。   In order to compare the reliability (probability) of the compensation candidate vectors configured as described above, an evaluation value DFD, which is a motion vector evaluation method, is obtained as shown in FIGS. 57 to 59 below. It is done. FIG. 57 shows an example in which a zero vector S0 is used as a compensation candidate vector. FIG. 58 shows an example in which the motion vector VK1 of the upper left pixels of the surrounding eight pixels is used as the compensation candidate vector. FIG. 59 shows an example in which the motion vector VK2 of the upper center pixel of the surrounding 8 pixels is used as the compensation candidate vector.

図57の例においては、図中左側に示される着目画素Pの補償候補ベクトルの中から、0ベクトルS0が選択され、選択された0ベクトルS0の評価値DFDを求める例が示されている。すなわち、0ベクトルS0に対する評価値DFDは、着目画素P(60P信号の内挿フレーム)を挟む、24P信号のフレームtとフレームt+1上において、内挿フレーム上の着目画素Pを基準にして、選択された0ベクトルS0が対応付けられる交点を求め、この交点を中心として所定の範囲(m×n)のDFD演算範囲D1−1(フレームt)およびD1−2(フレームt+1)を算出し、算出されたDFD演算範囲D1−1およびD1−2を用いて、上述した式(1)を演算することにより求められる。   In the example of FIG. 57, an example is shown in which the zero vector S0 is selected from the compensation candidate vectors of the pixel of interest P shown on the left side of the drawing, and the evaluation value DFD of the selected zero vector S0 is obtained. That is, the evaluation value DFD for the 0 vector S0 is selected on the basis of the pixel of interest P on the interpolation frame on the frame t and the frame t + 1 of the 24P signal sandwiching the pixel of interest P (the interpolation frame of the 60P signal). The intersection with which the zero vector S0 is associated is obtained, and the DFD calculation ranges D1-1 (frame t) and D1-2 (frame t + 1) within a predetermined range (m × n) are calculated with the intersection as the center. Using the DFD calculation ranges D1-1 and D1-2, the above equation (1) is calculated.

図58の例においては、図中左側に示される着目画素Pの補償候補ベクトルの中から、周辺8画素の左上画素の動きベクトルVK1が選択され、選択された動きベクトルVK1の評価値DFDを求める例が示されている。すなわち、周辺8画素の左上画素の動きベクトルVK1に対する評価値DFDは、着目画素P(内挿フレーム)を挟むフレームtとフレームt+1上において、内挿フレーム上の着目画素Pを基準にして、選択された動きベクトルVK1が対応付けられる交点を求め、この交点を中心として所定の範囲(m×n)のDFD演算範囲D2−1(フレームt)およびD2−2(フレームt+1)を算出し、算出されたDFD演算範囲D2−1およびD2−2を用いて、上述した式(1)を演算することにより求められる。   In the example of FIG. 58, the motion vector VK1 of the upper left pixel of the surrounding eight pixels is selected from the compensation candidate vectors of the target pixel P shown on the left side in the drawing, and the evaluation value DFD of the selected motion vector VK1 is obtained. An example is shown. In other words, the evaluation value DFD for the motion vector VK1 of the upper left pixel of the eight neighboring pixels is selected on the basis of the target pixel P on the interpolation frame on the frame t and the frame t + 1 sandwiching the target pixel P (interpolation frame). The intersection with which the motion vector VK1 is associated is obtained, and the DFD calculation range D2-1 (frame t) and D2-2 (frame t + 1) within a predetermined range (m × n) is calculated with the intersection as the center. It is calculated | required by calculating Formula (1) mentioned above using the performed DFD calculation range D2-1 and D2-2.

図59の例においては、図中左側に示される着目画素Pの補償候補ベクトルの中から、補償候補ベクトルとして、周辺8画素の上中央画素の動きベクトルVK2が選択され、選択された動きベクトルVK2の評価値DFDを求める例が示されている。すなわち、周辺8画素の上中央画素の動きベクトルVK2に対する評価値DFDは、着目画素P(内挿フレーム)を挟むフレームtとフレームt+1上において、内挿フレーム上の着目画素Pを基準にして、選択された動きベクトルVK2が対応付けられる交点を求め、この交点を中心として所定の範囲(m×n)のDFD演算範囲D3−1(フレームt)およびD3−2(フレームt+1)を算出し、算出されたDFD演算範囲D3−1およびD3−2を用いて、上述した式(1)を演算することにより求められる。   In the example of FIG. 59, the motion vector VK2 of the upper center pixel of the surrounding 8 pixels is selected as the compensation candidate vector from the compensation candidate vectors of the target pixel P shown on the left side of the drawing, and the selected motion vector VK2 is selected. An example of obtaining the evaluation value DFD of the is shown. That is, the evaluation value DFD for the motion vector VK2 of the upper center pixel of the surrounding eight pixels is based on the target pixel P on the interpolation frame on the frame t and the frame t + 1 sandwiching the target pixel P (interpolation frame). An intersection point with which the selected motion vector VK2 is associated is obtained, and a DFD calculation range D3-1 (frame t) and D3-2 (frame t + 1) within a predetermined range (m × n) around the intersection point is calculated. It is calculated | required by calculating Formula (1) mentioned above using the calculated DFD calculation range D3-1 and D3-2.

なお、図中左側に示される他の補償候補ベクトルについても、基本的に同様の処理であるため、その説明は省略するが、以上のようにして、着目画素Pの周辺画素の補償候補ベクトルすべての評価値DFDが求められ、求められたそれらの評価値DFDが比較され、その中で、最も評価値DFDが最小となる補償候補ベクトルが、図50に示されるように、着目画素Pに割り付けられる最も信頼度がある、確からしい動きベクトルとして選択される。   Note that the other compensation candidate vectors shown on the left side in the figure are basically the same processing, and thus the description thereof is omitted. However, as described above, all the compensation candidate vectors for the peripheral pixels of the pixel of interest P are as described above. Evaluation values DFD are obtained, and the obtained evaluation values DFD are compared. Among them, a compensation candidate vector having the smallest evaluation value DFD is assigned to the target pixel P as shown in FIG. Selected as the most reliable and probable motion vector.

図60の例の場合、着目画素Pの周辺画素の補償候補ベクトルの中から、周辺8画素の左上画素の動きベクトルVK1の評価値DFDが最も小さいとして判断され、動きベクトルVK1が、着目画素Pの動きベクトルとして選択され、割り付けられている。   In the case of the example in FIG. 60, it is determined that the evaluation value DFD of the motion vector VK1 of the upper left pixel of the eight neighboring pixels is the smallest among the compensation candidate vectors of the peripheral pixels of the target pixel P, and the motion vector VK1 is Is selected and assigned as a motion vector.

以上のように、ベクトル割付部54において割り付けることができなかった画素の動きベクトルを、動き相関を利用して、周辺画素の動きベクトルから補償するようにしたので、動きベクトルが割り付けられず、例えば、0ベクトルが割り付けられていたような場合よりも、動きの乱れを抑制することができる。また、このようにして補償された画素の動きベクトルも、他の画素の補償候補ベクトルとして再度利用することができる。すなわち、空間方向の近傍の動きベクトルだけでなく、時間方向の近傍の動きベクトルも、補償候補ベクトルに用いることができるので、オブジェクト内でほぼ同じ動きをする画素には、ほぼ同一の動きベクトルが選択され、誤りの少ない安定した動きベクトルを得ることができる。これにより、ベクトル割付の精度が向上する。   As described above, since the motion vector of the pixel that could not be allocated by the vector allocation unit 54 is compensated from the motion vector of the surrounding pixels using motion correlation, the motion vector is not allocated. , The disturbance of motion can be suppressed as compared with the case where the 0 vector is assigned. Also, the motion vector of the pixel compensated in this way can be used again as a compensation candidate vector for another pixel. That is, since not only motion vectors in the spatial direction but also motion vectors in the temporal direction can be used as compensation candidate vectors, pixels that perform substantially the same motion in the object have substantially the same motion vector. A stable motion vector that is selected and has few errors can be obtained. This improves the accuracy of vector assignment.

次に、図61のフローチャートを参照して、図9のステップS4の割付補償処理の詳細を説明する。前段のベクトル割付部54により、割付ベクトルメモリ55上の内挿フレームの画素には動きベクトルが割り付けられている。また、ベクトル割付部54により動きベクトルが割り付けられた画素の割付フラグメモリ56の割付フラグには、1(true)が書き込まれており、動きベクトルが割り付けられなかった画素の割付フラグメモリ56の割付フラグには、0(false)が書き込まれている。   Next, the details of the allocation compensation processing in step S4 in FIG. 9 will be described with reference to the flowchart in FIG. The motion vector is assigned to the pixel of the interpolation frame on the assigned vector memory 55 by the preceding vector assigning unit 54. Further, 1 (true) is written in the allocation flag of the pixel allocation flag memory 56 to which the motion vector is allocated by the vector allocation unit 54, and the allocation of the allocation flag memory 56 of the pixel to which the motion vector has not been allocated. 0 (false) is written in the flag.

割付ベクトル判定部801は、ステップS801において、割付フラグメモリ56の内挿フレームの画素を、着目画素として選択し、ステップS802に進む。このとき、割付ベクトル判定部801は、フレームの左上の画素からラスタスキャン順に画素を選択する。   In step S801, the allocation vector determination unit 801 selects a pixel of the interpolation frame in the allocation flag memory 56 as a target pixel, and the process proceeds to step S802. At this time, the allocation vector determination unit 801 selects pixels from the upper left pixel of the frame in the raster scan order.

割付ベクトル判定部801は、ステップS802において、割付フラグメモリ56内の着目画素の割付フラグが、0(false)であるか否かを判断し、割付フラグメモリ56内の着目画素の割付フラグが、0(false)であると判断した場合、動きベクトルが割り付けられていないと判定し、ステップS803において、補償処理部811を制御し、ベクトル補償処理を実行させる。このベクトル補償処理により、周辺画素に割り付けられた動きベクトルの中から、評価値DFDの最小の動きベクトルが補償候補ベクトルとしてメモリ821に記憶される。   In step S802, the allocation vector determination unit 801 determines whether the allocation flag of the target pixel in the allocation flag memory 56 is 0 (false), and the allocation flag of the target pixel in the allocation flag memory 56 is If it is determined that the motion vector is 0 (false), it is determined that no motion vector is allocated, and in step S803, the compensation processing unit 811 is controlled to execute vector compensation processing. As a result of this vector compensation processing, the smallest motion vector of the evaluation value DFD is stored in the memory 821 as a compensation candidate vector among the motion vectors assigned to the peripheral pixels.

補償処理部811は、ステップS804において、メモリ821の補償候補ベクトルを、着目画素の動きベクトルとして、割付ベクトルメモリ55に割り付け、さらにステップS805において、割付フラグメモリ56の着目画素の割り付けフラグを、1(true)に書き換える。   In step S804, the compensation processing unit 811 allocates the compensation candidate vector in the memory 821 as the motion vector of the target pixel to the allocation vector memory 55, and in step S805, sets the target pixel allocation flag in the allocation flag memory 56 to 1. Rewrite to (true).

一方、ステップS802において、割付ベクトル判定部801は、割付フラグメモリ56内の着目画素の割付フラグが、0(false)ではない(1(true)である)と判断した場合、その着目画素にはすでに動きベクトルが割り付けられていると判定して、ステップS803乃至S805の処理をスキップする。   On the other hand, if the allocation vector determination unit 801 determines in step S802 that the allocation flag of the target pixel in the allocation flag memory 56 is not 0 (false) (1 (true)), the allocation pixel determination unit 801 It is determined that a motion vector has already been assigned, and the processing of steps S803 to S805 is skipped.

割付ベクトル判定部801は、ステップS806において、割付フラグメモリ56の内挿フレームのすべての画素の処理を終了したかを判断する。すべての画素の処理がまだ終了していないと判断された場合、処理はステップS801に戻り、割付フラグメモリ56の内挿フレームの次の画素が、着目画素として選択され、それ以降の処理が実行される。ステップS806において、割付フラグメモリ56の内挿フレームのすべての画素の処理が終了したと判断された場合、割付補償処理は終了される。   In step S806, the allocation vector determination unit 801 determines whether all the pixels in the interpolation frame in the allocation flag memory 56 have been processed. If it is determined that all the pixels have not been processed yet, the process returns to step S801, the next pixel of the interpolation frame in the allocation flag memory 56 is selected as the pixel of interest, and the subsequent processing is executed. Is done. If it is determined in step S806 that the processing of all the pixels of the interpolation frame in the allocation flag memory 56 has been completed, the allocation compensation processing is ended.

以上のように、ベクトル割付処理において、割り付けることができなかった画素に関しても、動き相関があることを利用して、その画素の周辺の動きベクトルの中から、評価値DFDに基づく、最も信頼度がある、確からしい動きベクトルを得ることができる。これにより、ベクトルが割り付けられず、0ベクトルなどを割り付けておく場合よりも、ベクトル割付の精度が向上し、後段の画像補間処理において生成される画像の不連続性を抑制することができる。   As described above, even in the case of a pixel that could not be allocated in the vector allocation process, the most reliable level based on the evaluation value DFD is selected from the motion vectors around the pixel by using the fact that there is a motion correlation. There is a certain motion vector. As a result, the accuracy of vector assignment is improved as compared with the case where a vector is not assigned and a 0 vector is assigned, and discontinuity of an image generated in subsequent image interpolation processing can be suppressed.

また、上述した割付補償処理により動きベクトルが割り付けられた画素の割付フラグを1(true)に書き換えるようにし、割付補償処理により割り付けられた動きベクトルも、次の画素の補償候補ベクトルとして用いるようにしたので、オブジェクト内でほぼ同じ動きをする画素には、ほぼ同一の動きベクトルが選択されるようになり、誤りの少ない安定した動きベクトルを得ることができる。その結果、後段において生成される画像のブロックノイズや粉状ノイズなどを抑制し、品質を向上させることができる。   Further, the allocation flag of the pixel to which the motion vector is allocated by the allocation compensation process described above is rewritten to 1 (true), and the motion vector allocated by the allocation compensation process is also used as a compensation candidate vector for the next pixel. Therefore, almost the same motion vector is selected for pixels that perform substantially the same motion in the object, and a stable motion vector with few errors can be obtained. As a result, it is possible to improve the quality by suppressing block noise, powder noise and the like of the image generated in the subsequent stage.

また、動きベクトルを求める着目画素について、0ベクトルの評価値DFDを予め算出し、最小評価値としてメモリに保持しておくことにより、すべての補償候補ベクトル評価値DFDを一度に算出し、その中から最小の評価値DFDを選択する場合よりも、時間とリソースを効率的に使用することができる。   In addition, for a pixel of interest for which a motion vector is to be calculated, an evaluation value DFD of 0 vector is calculated in advance and stored in a memory as a minimum evaluation value, whereby all compensation candidate vector evaluation values DFD are calculated at one time. Time and resources can be used more efficiently than when the smallest evaluation value DFD is selected.

なお、上記説明においては、ベクトル割付部54において割り付けられなかった画素に対してベクトル補償処理を行っているが、ベクトル検出部52において検出されなかった(0ベクトルが検出された)画素など、何らかの処理において動きベクトルが求められなかった画素に対してベクトル補償処理を行うようにしてもよい。また、さらに、検出された動きベクトル、または、割り付けられた動きベクトルが確からしくない(信頼度が低い)とされる画素に対してベクトル補償処理を行うようにしてもよい。   In the above description, the vector compensation processing is performed on the pixels that are not assigned by the vector assigning unit 54, but there are some kinds of pixels such as pixels that are not detected by the vector detecting unit 52 (the zero vector is detected). You may make it perform a vector compensation process with respect to the pixel in which the motion vector was not calculated | required in the process. Furthermore, vector compensation processing may be performed on pixels for which the detected motion vector or the assigned motion vector is uncertain (low reliability).

本実施の形態においては、動きベクトルを選択する際の評価値として、差分絶対値和である評価値DFDを用いて説明したが、評価値DFDに限定されず、動きベクトルの信頼度を評価するものであれば、他のものを用いるようにしてもよい。   In this embodiment, the evaluation value DFD that is the sum of absolute differences is used as the evaluation value when selecting a motion vector. However, the evaluation value DFD is not limited to the evaluation value DFD, and the reliability of the motion vector is evaluated. If it is a thing, you may make it use another thing.

また、本実施の形態においては、各処理を行うブロックを、例えば、8画素×8画素や9画素×9画素などにより構成するようにして説明したが、これらは、一例であり、各処理を行うブロックを構成する画素は、上記画素数に限定されない。   In the present embodiment, the block for performing each process has been described as being configured by, for example, 8 pixels × 8 pixels, 9 pixels × 9 pixels, and the like. However, these are examples, and each process is performed. The number of pixels constituting the block to be performed is not limited to the number of pixels.

さらに、本実施の形態においては、24P信号から60P信号への信号変換を例に、説明を行ったが、本発明は、例えば、動画像のフレーム周波数変換として、インターレース信号や、他のフレームレート変換にも適用することができる。   Furthermore, in the present embodiment, the signal conversion from the 24P signal to the 60P signal has been described as an example. However, the present invention can be applied to, for example, interlaced signals and other frame rates as frame frequency conversion of moving images. It can also be applied to conversion.

図62は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)921は、ROM(Read Only Memory)922、または記憶部928に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)923には、CPU921が実行するプログラムやデータなどが適宜記憶される。これらのCPU921、ROM922、およびRAM923は、バス924により相互に接続されている。   FIG. 62 is a block diagram showing an example of the configuration of a personal computer that executes the above-described series of processing by a program. A CPU (Central Processing Unit) 921 executes various processes according to a program stored in a ROM (Read Only Memory) 922 or a storage unit 928. A RAM (Random Access Memory) 923 appropriately stores programs executed by the CPU 921 and data. The CPU 921, ROM 922, and RAM 923 are connected to each other via a bus 924.

CPU921にはまた、バス924を介して入出力インターフェース925が接続されている。入出力インターフェース925には、キーボード、マウス、マイクロホンなどよりなる入力部926、ディスプレイ、スピーカなどよりなる出力部927が接続されている。CPU921は、入力部926から入力される指令に対応して各種の処理を実行する。そして、CPU921は、処理の結果を出力部927に出力する。   An input / output interface 925 is also connected to the CPU 921 via the bus 924. The input / output interface 925 is connected to an input unit 926 including a keyboard, a mouse, and a microphone, and an output unit 927 including a display and a speaker. The CPU 921 executes various processes in response to commands input from the input unit 926. Then, the CPU 921 outputs the processing result to the output unit 927.

入出力インターフェース925に接続されている記憶部928は、例えばハードディスクからなり、CPU921が実行するプログラムや各種のデータを記憶する。通信部929は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。   The storage unit 928 connected to the input / output interface 925 includes, for example, a hard disk, and stores programs executed by the CPU 921 and various data. The communication unit 929 communicates with an external device via a network such as the Internet or a local area network.

また、通信部929を介してプログラムを取得し、記憶部928に記憶してもよい。   Further, a program may be acquired via the communication unit 929 and stored in the storage unit 928.

入出力インターフェース925に接続されているドライブ930は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア931が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部928に転送され、記憶される。   A drive 930 connected to the input / output interface 925 drives a removable medium 931 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and drives the program or data recorded therein. Get etc. The acquired program and data are transferred to and stored in the storage unit 928 as necessary.

上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。   The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a program storage medium in a general-purpose personal computer or the like.

コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図62に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini-Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア931、または、プログラムが一時的もしくは永続的に格納されるROM922や、記憶部928を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部929を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。   As shown in FIG. 62, a program storage medium for storing a program that is installed in a computer and can be executed by the computer is a magnetic disk (including a flexible disk), an optical disk (CD-ROM (Compact Disc-Read Only). Memory), DVD (including Digital Versatile Disc), magneto-optical disk (including MD (Mini-Disc)), or removable media 931, which is a package media made of semiconductor memory, or the program is temporary or permanent ROM 922 stored in the hard disk, a hard disk constituting the storage unit 928, and the like. The program is stored in the program storage medium using a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting via a communication unit 929 which is an interface such as a router or a modem as necessary. Done.

なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In the present specification, the step of describing the program stored in the program storage medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. Or the process performed separately is also included.

また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。   Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.

なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。   The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.

なお、本明細書において、フローチャートに示されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In the present specification, the steps shown in the flowcharts include not only processes performed in time series according to the described order, but also processes executed in parallel or individually even if not necessarily performed in time series. Is included.

従来の前景の画像の表示画面の図である。It is a figure of the display screen of the conventional foreground image. 従来のカバード領域の表示画面の図である。It is a figure of the display screen of the conventional covered area | region. 画像の劣化を説明する表示画面の図である。It is a figure of the display screen explaining degradation of an image. 本発明の実施の形態としての画像信号記録再生装置の構成を示すブロック図である。It is a block diagram which shows the structure of the image signal recording / reproducing apparatus as embodiment of this invention. 本発明の実施の形態としての信号処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the signal processing apparatus as embodiment of this invention. 本発明の実施の形態のフレーム周波数変換処理の原理を説明する図である。It is a figure explaining the principle of the frame frequency conversion process of embodiment of this invention. 本発明の実施の形態の具体的処理を説明する図である。It is a figure explaining the specific process of embodiment of this invention. 信号処理装置において用いられる動きベクトルの評価値を説明する図である。It is a figure explaining the evaluation value of the motion vector used in a signal processor. 信号処理装置のフレーム周波数変換処理を説明するフローチャートである。It is a flowchart explaining the frame frequency conversion process of a signal processing apparatus. 画像補間部の構成を示すブロック図である。It is a block diagram which shows the structure of an image interpolation part. 画像補間処理を説明するフローチャートである。It is a flowchart explaining an image interpolation process. ベクトル検出部の構成を示すブロック図である。It is a block diagram which shows the structure of a vector detection part. ベクトル検出部で用いられる勾配法を説明する図である。It is a figure explaining the gradient method used in a vector detection part. 初期ベクトルを用いた反復勾配法を説明する図である。It is a figure explaining the iterative gradient method using an initial vector. 動きベクトル検出処理を説明するフローチャートである。It is a flowchart explaining a motion vector detection process. ベクトル割付部の構成を示すブロック図である。It is a block diagram which shows the structure of a vector allocation part. 4点補間処理の概念を説明する図である。It is a figure explaining the concept of 4-point interpolation processing. ベクトル割付処理の概要を説明する図である。It is a figure explaining the outline | summary of a vector allocation process. 動きベクトルと内挿フレームの交点の近傍画素の例を説明する図である。It is a figure explaining the example of the neighborhood pixel of the intersection of a motion vector and an interpolation frame. 割付候補の動きベクトルの評価方法を説明する図である。It is a figure explaining the evaluation method of the motion vector of an allocation candidate. ベクトル割付における4点補間の例を説明する図である。It is a figure explaining the example of 4-point interpolation in vector allocation. ベクトル割付処理を説明するフローチャートである。It is a flowchart explaining a vector allocation process. 前景の動きベクトルと背景の画素の動きベクトルの関係を説明する図である。It is a figure explaining the relationship between the motion vector of a foreground and the motion vector of a background pixel. 貫き改善処理を説明するフローチャートである。It is a flowchart explaining a penetration improvement process. 画素の選択を説明する図である。It is a figure explaining selection of a pixel. 画素の動きベクトルを説明する図である。It is a figure explaining the motion vector of a pixel. 参照モードを説明する図である。It is a figure explaining reference mode. 前景と背景の関係を説明する図である。It is a figure explaining the relationship between a foreground and a background. 内分比が1対1の場合の検出を説明する図である。It is a figure explaining the detection in case internal division ratio is 1: 1. 内分比が1対3の場合の検出を説明する図である。It is a figure explaining the detection in case internal division ratio is 1: 3. 内分比が3対1の場合の検出を説明する図である。It is a figure explaining the detection in case internal division ratio is 3: 1. 内分比が1対3である場合の検出を説明する図である。It is a figure explaining the detection in case an internal division ratio is 1: 3. 周囲参照点を説明する図である。It is a figure explaining a surrounding reference point. 内分比が1対1である場合の周囲参照点を説明する図である。It is a figure explaining the surrounding reference point in case an internal division ratio is 1: 1. 内分比が3対1である場合の参照点を説明する図である。It is a figure explaining the reference point in case an internal ratio is 3: 1. 内分比が1対3である場合の参照点を説明する図である。It is a figure explaining the reference point in case an internal ratio is 1: 3. 貫き劣化と領域の関係を説明する図である。It is a figure explaining the relationship between penetration degradation and a field. 動きベクトルの関係を説明する図である。It is a figure explaining the relationship of a motion vector. 危険領域を説明する図である。It is a figure explaining a dangerous area. 貫き改善処理の他の実施の形態を説明するフローチャートである。It is a flowchart explaining other embodiment of a penetration improvement process. 画素位置演算処理を説明するフローチャートである。It is a flowchart explaining a pixel position calculation process. 割付ベクトル評価処理を説明するフローチャートである。It is a flowchart explaining the allocation vector evaluation process. ベクトル割付部の他の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of other embodiment of a vector allocation part. 図43のベクトル割付部の動きベクトルの評価を説明する図である。It is a figure explaining evaluation of the motion vector of the vector allocation part of FIG. 貫き劣化を説明する図である。It is a figure explaining penetration deterioration. 図43のベクトル割付部のベクトル割付処理を説明するフローチャートである。It is a flowchart explaining the vector allocation process of the vector allocation part of FIG. 図46のステップS765の画素位置演算処理を説明するフローチャートである。47 is a flowchart for describing pixel position calculation processing in step S765 of FIG. 46. 図46のステップS766の割付ベクトル評価処理を説明するフローチャートである。It is a flowchart explaining the allocation vector evaluation process of step S766 of FIG. 割付補償部の構成を示すブロック図である。It is a block diagram which shows the structure of an allocation compensation part. ベクトル補償部の構成を示すブロック図である。It is a block diagram which shows the structure of a vector compensation part. 割付補償処理の原理を説明する図である。It is a figure explaining the principle of an allocation compensation process. 動き相関の原理を説明する図である。It is a figure explaining the principle of motion correlation. 着目画素の周囲画素の構成を説明する図である。It is a figure explaining the structure of the surrounding pixel of a focused pixel. 着目画素の動きベクトルの補償候補ベクトルの例を説明する図である。It is a figure explaining the example of the compensation candidate vector of the motion vector of the focused pixel. 着目画素の動きベクトルの補償候補ベクトルの例を説明する図である。It is a figure explaining the example of the compensation candidate vector of the motion vector of the focused pixel. 着目画素の動きベクトルの補償候補ベクトルの例を説明する図である。It is a figure explaining the example of the compensation candidate vector of the motion vector of the focused pixel. 補償候補ベクトルを評価する例を説明する図である。It is a figure explaining the example which evaluates a compensation candidate vector. 補償候補ベクトルを評価する例を説明する図である。It is a figure explaining the example which evaluates a compensation candidate vector. 補償候補ベクトルを評価する例を説明する図である。It is a figure explaining the example which evaluates a compensation candidate vector. 補償候補ベクトルを着目画素の動きベクトルとして選択する例を説明する図である。It is a figure explaining the example which selects a compensation candidate vector as a motion vector of a focused pixel. 割付補償処理を説明するフローチャートである。It is a flowchart explaining an allocation compensation process. パーソナルコンピュータの構成を示すブロック図である。It is a block diagram which shows the structure of a personal computer.

符号の説明Explanation of symbols

3 信号処理装置, 51 フレームメモリ, 52 ベクトル検出部, 53 検出ベクトルメモリ, 55 ベクトル割付部, 56 割付ベクトルメモリ, 57 割付フラグメモリ, 58 割付補償部, 59 画像補間部, 101 初期ベクトル選択部, 103 反復勾配法演算部, 104 ベクトル評価部, 105 シフト初期ベクトル割付部, 106 評価値メモリ, 107 シフト初期ベクトルメモリ 701 画素情報演算部, 702 評価値演算部, 703 着目画素差分演算部, 704 ベクトル評価部, 705 ベクトル選択部,706 貫き改善処理部, 711 画素差分判断部, 712 評価値判断部   3 signal processing device, 51 frame memory, 52 vector detection unit, 53 detection vector memory, 55 vector allocation unit, 56 allocation vector memory, 57 allocation flag memory, 58 allocation compensation unit, 59 image interpolation unit, 101 initial vector selection unit, 103 Iterative Gradient Method Calculation Unit, 104 Vector Evaluation Unit, 105 Shift Initial Vector Allocation Unit, 106 Evaluation Value Memory, 107 Shift Initial Vector Memory 701 Pixel Information Calculation Unit, 702 Evaluation Value Calculation Unit, 703 Pixel Difference Calculation Unit, 704 Vector Evaluation unit, 705 vector selection unit, 706 penetration improvement processing unit, 711 pixel difference determination unit, 712 evaluation value determination unit

Claims (11)

第1のフレームの動きベクトルを第2のフレームに割り付ける画像処理装置において
前記第1のフレームの着目点の動きベクトルを取得する取得手段と、
前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出する検出手段と、
検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止する禁止手段と
を備える画像処理装置。
In an image processing apparatus that assigns a motion vector of a first frame to a second frame, an acquisition unit that acquires a motion vector of a point of interest of the first frame;
Detecting means for detecting the size of the motion vector of the point of interest and the region on the first frame to which the motion vector of the point of interest belongs;
An image processing apparatus comprising: prohibiting means for prohibiting allocation of the motion vector of the point of interest to the second frame based on the detected size and area.
前記検出手段は、前記着目点の動きベクトルが属する領域が、貫き劣化を発生するおそれがある領域であることを検出する
請求項1に記載の画像処理装置。
The image processing apparatus according to claim 1, wherein the detection unit detects that a region to which the motion vector of the point of interest belongs is a region in which penetration degradation may occur.
前記検出手段は、前記着目点の動きベクトルが属する領域が、前景である第1の領域と、前記前景により隠されるために動きが求まらない第2の領域により挟まれた第3の領域であることを検出する
請求項1に記載の画像処理装置。
The detection means includes a third region sandwiched between a first region in which a motion vector of the point of interest belongs is a foreground and a second region in which no motion is obtained because the region is hidden by the foreground The image processing device according to claim 1, wherein the image processing device is detected.
前記取得手段は、前記着目点の動きベクトルである第1の動きベクトルを取得するとともに、前記着目点から前記第1の動きベクトルの方向に位置する第1の参照点の第2の動きベクトルと、前記着目点から前記第1の動きベクトルの方向と逆方向に位置する第2の参照点の第3の動きベクトルを取得し、
前記検出手段は、前記第1の動きベクトルと前記第2の動きベクトルの大きさの差、並びに前記第1の動きベクトルと前記第3の動きベクトルの大きさの差の基準値との比較に基づき前記第3の領域を検出するとともに、前記第1の動きベクトルの前記第2の動きベクトルと前記第3の動きベクトルに対する大きさを検出する
請求項3に記載の画像処理装置。
The acquisition means acquires a first motion vector that is a motion vector of the point of interest, and a second motion vector of a first reference point that is located in the direction of the first motion vector from the point of interest. , Obtaining a third motion vector of a second reference point located in a direction opposite to the direction of the first motion vector from the point of interest,
The detection means is for comparing a difference between the magnitudes of the first motion vector and the second motion vector, and a reference value for a difference between the magnitudes of the first motion vector and the third motion vector. The image processing apparatus according to claim 3, wherein the third region is detected based on the size of the first motion vector and the magnitude of the first motion vector with respect to the second motion vector and the third motion vector is detected.
前記第1の参照点は、前記第1のフレームの前記着目点から前記第1の動きベクトルの方向の画素であって、前記第1の動きベクトルの大きさをn対mに内分する位置の近傍のN個の画素のうちのいずれかであり、前記第2の参照点は、前記第1のフレームの前記着目点から前記第1の動きベクトルの方向と逆方向の画素であって、前記第1の動きベクトルの大きさをm対nに内分する位置の近傍のN個の画素のうちのいずれかである
請求項4に記載の画像処理装置。
The first reference point is a pixel in the direction of the first motion vector from the point of interest in the first frame, and a position that internally divides the magnitude of the first motion vector into n to m , And the second reference point is a pixel in a direction opposite to the direction of the first motion vector from the point of interest of the first frame, The image processing apparatus according to claim 4, wherein the image processing apparatus is any one of N pixels near a position that internally divides the magnitude of the first motion vector into m to n.
前記N個の画素は、前記内分する位置を基準として、前記第1の動きベクトルのx座標成分とy座標成分の大きさの±α倍または±β倍の範囲の画素である
請求項5に記載の画像処理装置。
6. The N pixels are pixels in a range of ± α times or ± β times the magnitude of the x-coordinate component and y-coordinate component of the first motion vector with reference to the internally divided position. An image processing apparatus according to 1.
前記内分する比n対mは、1対1、1対3、または3対1である
請求項5に記載の画像処理装置。
The image processing apparatus according to claim 5, wherein the internal ratio n to m is 1: 1, 1: 3, or 3: 1.
前記動きベクトルの評価値を演算する演算手段と、
前記第2のフレームに対して割り付ける動きベクトルを、前記評価値に基づいて選択する選択手段と
をさらに備える請求項1に記載の画像処理装置。
Computing means for computing an evaluation value of the motion vector;
The image processing apparatus according to claim 1, further comprising: a selection unit that selects a motion vector to be allocated to the second frame based on the evaluation value.
第1のフレームの動きベクトルを第2のフレームに割り付ける画像処理方法において、
前記第1のフレームの着目点の動きベクトルを取得し、
前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出し、
検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止する
ステップを備える画像処理方法。
In an image processing method for assigning a motion vector of a first frame to a second frame,
Obtaining a motion vector of a point of interest in the first frame;
Detecting the size of the motion vector of the point of interest, as well as the region on the first frame to which the motion vector of the point of interest belongs,
An image processing method comprising a step of prohibiting allocation of the motion vector of the point of interest to the second frame based on the detected size and area.
第1のフレームの動きベクトルを第2のフレームに割り付けるプログラムにおいて、
前記第1のフレームの着目点の動きベクトルを取得し、
前記着目点の動きベクトルの大きさ、並びに前記着目点の動きベクトルが属する前記第1のフレーム上の領域を検出し、
検出された前記大きさと領域に基づいて、前記着目点の動きベクトルの前記第2のフレームに対する割り付けを禁止する
ステップを備えるコンピュータが実行可能なプログラム。
In a program for assigning a motion vector of a first frame to a second frame,
Obtaining a motion vector of a point of interest in the first frame;
Detecting the size of the motion vector of the point of interest, as well as the region on the first frame to which the motion vector of the point of interest belongs,
A computer-executable program comprising a step of prohibiting allocation of the motion vector of the point of interest to the second frame based on the detected size and area.
請求項10に記載のプログラムが記録されている記録媒体。   A recording medium on which the program according to claim 10 is recorded.
JP2005261439A 2005-09-09 2005-09-09 Image processing apparatus and method, recording medium, and program Expired - Fee Related JP4655217B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005261439A JP4655217B2 (en) 2005-09-09 2005-09-09 Image processing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005261439A JP4655217B2 (en) 2005-09-09 2005-09-09 Image processing apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2007074596A JP2007074596A (en) 2007-03-22
JP4655217B2 true JP4655217B2 (en) 2011-03-23

Family

ID=37935624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005261439A Expired - Fee Related JP4655217B2 (en) 2005-09-09 2005-09-09 Image processing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4655217B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5163429B2 (en) * 2008-11-05 2013-03-13 ソニー株式会社 Motion vector detection apparatus, processing method thereof, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60158786A (en) * 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> Detection system of picture moving quantity
JPH09172621A (en) * 1995-12-20 1997-06-30 Sony Corp Interpolation device and interpolation method for compressed high resolution video signal
JPH09214899A (en) * 1996-01-31 1997-08-15 Nippon Hoso Kyokai <Nhk> Image prediction processing method an its device
JP2005204075A (en) * 2004-01-15 2005-07-28 Sony Corp Device and method for detecting motion vector, frame interpolation apparatus using the same, frame interpolation method using the method, program, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60158786A (en) * 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> Detection system of picture moving quantity
JPH09172621A (en) * 1995-12-20 1997-06-30 Sony Corp Interpolation device and interpolation method for compressed high resolution video signal
JPH09214899A (en) * 1996-01-31 1997-08-15 Nippon Hoso Kyokai <Nhk> Image prediction processing method an its device
JP2005204075A (en) * 2004-01-15 2005-07-28 Sony Corp Device and method for detecting motion vector, frame interpolation apparatus using the same, frame interpolation method using the method, program, and recording medium

Also Published As

Publication number Publication date
JP2007074596A (en) 2007-03-22

Similar Documents

Publication Publication Date Title
JP4692846B2 (en) Image processing apparatus and method, recording medium, and program
JP4687994B2 (en) Image processing apparatus and method, recording medium, and program
JP4692845B2 (en) Image processing apparatus and method, recording medium, and program
JP4752407B2 (en) Image processing apparatus and method, program, and recording medium
JP2007074592A (en) Image processing apparatus and method thereof, program, and recording medium
KR20050001215A (en) De-interlacing method, apparatus, video decoder and reproducing apparatus thereof
JP4385077B1 (en) Motion vector detection device and image processing device
JP4655217B2 (en) Image processing apparatus and method, recording medium, and program
JP4655214B2 (en) Image processing apparatus and method, program, and recording medium
JP4650683B2 (en) Image processing apparatus and method, program, and recording medium
JP4432714B2 (en) Image processing apparatus and method, recording medium, and program
JP4512983B2 (en) Image processing apparatus and method, recording medium, and program
JP4650682B2 (en) Image processing apparatus and method, program, and recording medium
JP4512982B2 (en) Image processing apparatus and method, recording medium, and program
JP2007110461A (en) Image processing device and method therefor, program and recording medium
JP4512984B2 (en) Image processing apparatus and method, recording medium, and program
JP4512985B2 (en) Image processing apparatus and method, recording medium, and program
JP4835075B2 (en) Image processing apparatus and method, program, and recording medium
JP4650684B2 (en) Image processing apparatus and method, program, and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080818

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101125

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101208

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees