JP2012239093A - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP2012239093A
JP2012239093A JP2011107873A JP2011107873A JP2012239093A JP 2012239093 A JP2012239093 A JP 2012239093A JP 2011107873 A JP2011107873 A JP 2011107873A JP 2011107873 A JP2011107873 A JP 2011107873A JP 2012239093 A JP2012239093 A JP 2012239093A
Authority
JP
Japan
Prior art keywords
frame
line
motion vector
past
pixel data
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.)
Granted
Application number
JP2011107873A
Other languages
Japanese (ja)
Other versions
JP5841743B2 (en
Inventor
Jun Ando
潤 安藤
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2011107873A priority Critical patent/JP5841743B2/en
Publication of JP2012239093A publication Critical patent/JP2012239093A/en
Application granted granted Critical
Publication of JP5841743B2 publication Critical patent/JP5841743B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an image processing device, capable of frame interpolation into a high-speed panning moving image, using a circuit and a circuit scale substantially equivalent to the conventional device.SOLUTION: The image processing device includes: a memory control circuit for receiving pixel data of a present frame successively in order of lines to store into a line memory, and for reading out pixel data of a past frame successively in order of lines from a frame memory to store into the line memory; and an interpolation frame generator circuit for receiving a motion vector of a reduced vertical direction component, having a vertical direction component reduced by a first moving amount M1, defined according to the vertical direction component of panning speed, and for generating pixel data of an interpolation frame, based on the present frame pixel data and the past frame pixel data associated by the motion vector. The memory control circuit moves timing to store the past frame image data into the line memory from standard timing when the first moving amount M1 is zero, by a second moving amount M2 corresponding to the first moving amount M1.

Description

本発明は、入力画像のフレーム間に補間フレームを挿入して、フレームレートを倍増した出力画像を生成する画像処理装置に関するものである。   The present invention relates to an image processing apparatus that generates an output image with a frame rate doubled by inserting an interpolation frame between frames of an input image.

入力画像のフレームレートを倍増して映像を滑らかにするフレームレートコンバージョン(FRC:Frame Rate Conversion)と呼ばれる技術がある。この技術により、例えば、毎秒60フレームの入力画像が毎秒120フレームの画像に変換される。これは、画像の動きベクトルに基づいて、入力画像(原画)の隣接するフレーム間に補間フレームを挿入することで実現されている。   There is a technique called frame rate conversion (FRC) that doubles the frame rate of an input image to smooth the video. With this technique, for example, an input image of 60 frames per second is converted into an image of 120 frames per second. This is realized by inserting an interpolation frame between adjacent frames of the input image (original image) based on the motion vector of the image.

動きベクトルの検出および補間フレームの生成には、少なくとも2枚の原画(例えば、現在フレームと過去フレーム)が必要であり、これらは、例えば、フレームメモリ(例えば、外部DRAM)に蓄えられている。一般に、フレームメモリは低速であるため、処理するピクセルを中心とした一定範囲の画像情報をあらかじめ高速なラインメモリ(例えば、SRAM)に読み出しておき、これを処理対象としている。   To detect a motion vector and generate an interpolated frame, at least two original images (for example, a current frame and a past frame) are necessary, and these are stored in, for example, a frame memory (for example, an external DRAM). In general, since the frame memory is slow, image information in a certain range centering on the pixel to be processed is read in advance into a high-speed line memory (for example, SRAM) and is used as a processing target.

以下、FRCを行う従来の画像処理装置について一例を挙げて説明する。   Hereinafter, an example of a conventional image processing apparatus that performs FRC will be described.

図19は、従来の画像処理装置の構成を表す一例のブロック図である。同図に示す画像処理装置40は、フレームメモリ42と、メモリコントローラ44と、ラインメモリ46と、動きベクトル検出回路48と、補間フレーム生成回路50とによって構成されている。ラインメモリ46は、現在フレーム画素データを記憶する現在フレーム用ラインメモリと、過去フレーム画素データを記憶する過去フレーム用ラインメモリとを含む。   FIG. 19 is a block diagram illustrating an example of a configuration of a conventional image processing apparatus. The image processing apparatus 40 shown in FIG. 1 includes a frame memory 42, a memory controller 44, a line memory 46, a motion vector detection circuit 48, and an interpolation frame generation circuit 50. The line memory 46 includes a current frame line memory that stores current frame pixel data and a past frame line memory that stores past frame pixel data.

フレームメモリ42には、メモリコントローラ44の制御により、現在フレーム(入力画像)の直前の過去フレーム(現在フレームの1つ前のフレーム)の過去フレーム画素データが記憶されている。   The frame memory 42 stores past frame pixel data of a past frame (a frame immediately before the current frame) immediately before the current frame (input image) under the control of the memory controller 44.

現在フレーム画素データは、メモリコントローラ44の制御により、ラインの順番に受信され、フレームメモリ42に記憶されるとともに、現在フレーム用ラインメモリに記憶される。また、フレームメモリ42に記憶されていた過去フレーム画素データが、ラインの順番にフレームメモリ42から読み出され、現在フレーム用ラインメモリに記憶された現在フレームのラインに対応する過去フレーム画素データが過去フレーム用ラインメモリに記憶される。   The current frame pixel data is received in the order of the lines under the control of the memory controller 44, stored in the frame memory 42, and stored in the current frame line memory. The past frame pixel data stored in the frame memory 42 is read out from the frame memory 42 in the order of the lines, and the past frame pixel data corresponding to the line of the current frame stored in the current frame line memory is stored in the past. Stored in the frame line memory.

図16に示すように、現在フレームのラインの入力タイミングと、現在フレームのラインに対応する過去フレームのラインがフレームメモリ42から読み出されるタイミングは同じである。つまり、現在フレーム用ラインメモリに記憶された現在フレームのラインの範囲と、過去フレーム用ラインメモリに記憶された過去フレームのラインの範囲(フレームメモリ42から読み出される過去フレームのラインの範囲)は同じである。   As shown in FIG. 16, the input timing of the line of the current frame is the same as the timing at which the line of the past frame corresponding to the line of the current frame is read from the frame memory 42. In other words, the current frame line range stored in the current frame line memory is the same as the past frame line range (the past frame line range read from the frame memory 42) stored in the past frame line memory. It is.

現在フレーム用ラインメモリおよび過去フレーム用ラインメモリに所定の記憶ライン数の画素データが記憶されると、動きベクトル検出回路48により、画像情報である、現在フレーム用ラインメモリに記憶された現在フレーム画素データと、過去フレーム用ラインメモリに記憶された参照用の過去フレーム画素データとに基づいて、過去フレームと現在フレームとの間の動きベクトルVが検出される。   When pixel data of a predetermined number of storage lines is stored in the current frame line memory and the past frame line memory, the current frame pixel stored in the current frame line memory, which is image information, by the motion vector detection circuit 48 Based on the data and reference past frame pixel data stored in the past frame line memory, a motion vector V between the past frame and the current frame is detected.

さらに、動きベクトル検出回路48では、図16に示すように、検出した動きベクトルVを補間フレームの画素に割り付ける割付処理や、動きベクトルを割り付けることができなかった補間フレームの画素の動きベクトルを補う補間処理等のベクトル補正処理が行われて補正済みベクトルVcが生成される。そして、この補正ベクトルが動きベクトルとして動きベクトル検出回路48から出力される。   Further, in the motion vector detection circuit 48, as shown in FIG. 16, the allocation processing for allocating the detected motion vector V to the pixel of the interpolation frame, or the motion vector of the pixel of the interpolation frame for which the motion vector could not be allocated is compensated. A vector correction process such as an interpolation process is performed to generate a corrected vector Vc. The correction vector is output from the motion vector detection circuit 48 as a motion vector.

最後に、補間フレーム生成回路50により、動きベクトル生成回路48によってベクトル補正処理が行われた動きベクトルVcと、現在フレーム用ラインメモリに記憶された現在フレーム画素データと、過去フレーム用ラインメモリに記憶された過去フレーム画素データとに基づいて、過去フレームと現在フレームとの間の補間フレームの補間フレーム画素データが生成される。   Finally, the interpolation frame generation circuit 50 stores the motion vector Vc subjected to vector correction processing by the motion vector generation circuit 48, the current frame pixel data stored in the current frame line memory, and the past frame line memory. Interpolated frame pixel data of an interpolated frame between the past frame and the current frame is generated based on the past frame pixel data.

図18は、従来の画像処理装置で生成される補間フレームの位相および位置を表す概念図である。同図の縦軸は補間フレームに生成される画素の位置(空間的な補間位置、つまり、ラインの位置)、横軸は補間フレームの位相(時間的な補間位置)である。同図に示すように、従来の画像処理装置では、過去フレームの画素と現在フレームの対応する画素との間の動きベクトルをV、補間フレームの過去フレームからの位相をα、補間フレームの現在フレームからの位相を1−αとすると、補間フレームの画素は、過去フレームの画素の位置を基準としてαVの位置に生成される。   FIG. 18 is a conceptual diagram showing the phase and position of an interpolation frame generated by a conventional image processing apparatus. In the figure, the vertical axis represents the position of a pixel generated in the interpolation frame (spatial interpolation position, that is, the position of the line), and the horizontal axis represents the phase of the interpolation frame (temporal interpolation position). As shown in the figure, in the conventional image processing apparatus, the motion vector between the pixel of the past frame and the corresponding pixel of the current frame is V, the phase from the past frame of the interpolation frame is α, the current frame of the interpolation frame If the phase from is 1−α, the pixel of the interpolation frame is generated at the position of αV with reference to the position of the pixel of the past frame.

ここで、本発明の先行技術文献として、特許文献1,2がある。   Here, there are Patent Documents 1 and 2 as prior art documents of the present invention.

特許文献1は、画像処理装置に関するものである。この画像処理装置は、同文献の図4に示されたように、入力画像(フレームt+1)と、フレームメモリ51から読み出したフレームtの画像とを用いて、ベクトル検出部が、フレームtの着目ブロックとフレームt+1の対象ブロックの間で動きベクトルを検出し、検出ベクトルメモリ53に記憶する。ベクトル割付部54は、入力された24P(毎秒24フレームのプログレッシブ)の元画像のフレームにおいて求められた動きベクトルを、補間する60P(毎秒60フレームのプログレッシブ)の補間フレームの画素に割り付け、割り付けられなかった画素の動きベクトルを割付補償部57で補い、割付ベクトルメモリ55に記憶する(0036〜0039段落参照)。画像補間部58は、割付ベクトルメモリ55の動きベクトルと、フレームt、t+1の画素値を用いて、内挿フレームの画素値を補間生成する(0040段落参照)。   Patent Document 1 relates to an image processing apparatus. In this image processing apparatus, as shown in FIG. 4 of the same document, the vector detection unit uses the input image (frame t + 1) and the image of the frame t read from the frame memory 51, and the focus of the frame t A motion vector is detected between the block and the target block of frame t + 1 and stored in the detection vector memory 53. The vector assigning unit 54 assigns the motion vector obtained in the input 24P (24 frames per second progressive) original image frame to the interpolated frame pixels of 60P (60 frames per second) to be interpolated. The motion vector of the pixel that did not exist is supplemented by the allocation compensation unit 57 and stored in the allocation vector memory 55 (see paragraphs 0036 to 0039). The image interpolation unit 58 interpolates and generates the pixel value of the interpolation frame using the motion vector of the allocation vector memory 55 and the pixel values of the frames t and t + 1 (see paragraph 0040).

特許文献2は、動きベクトル検出装置に関するものである。同文献には、1フレーム分の動きベクトルのヒストグラムから、次のフレームでの動きベクトル探索範囲のシフト量を決定することが記載されている(要約参照)。同文献では、探索範囲をシフトすることにより、同文献の図1の動きベクトル検出部103がフレームメモリから参照画素データを読み出す範囲がシフトされる。   Patent Document 2 relates to a motion vector detection device. This document describes that a shift amount of a motion vector search range in the next frame is determined from a motion vector histogram for one frame (see summary). In this document, by shifting the search range, the range in which the motion vector detection unit 103 of FIG. 1 of the same document reads reference pixel data from the frame memory is shifted.

特開2006−101267号公報JP 2006-101267 A 特開平11−205799号公報Japanese Patent Laid-Open No. 11-205799

上記従来の画像処理装置40では、ラインメモリ46の大きさ(記憶ライン数)により参照できる過去フレームの画像の範囲、すなわち、動きベクトルの検出可能範囲(どのくらい速い動きまで検出できるか)および補間可能範囲(どのくらい速い動きの物体まで補間できるか)が決まってしまう。よって、例えば、全体が上下方向に高速に移動する(「パン」する)画像の処理を可能にするために動きベクトルの検出可能範囲および補間可能範囲を拡大しようとすると、ラインメモリ46を大きくする必要があり、回路規模が増大するという問題があった。   In the conventional image processing apparatus 40, the range of the past frame image that can be referred to by the size of the line memory 46 (the number of stored lines), that is, the motion vector detectable range (how fast the motion can be detected) and interpolation are possible. The range (how fast the object can be interpolated) is determined. Therefore, for example, if the motion vector detectable range and the interpolation possible range are to be expanded in order to enable processing of an image that moves at high speed in the vertical direction ("panning"), the line memory 46 is increased. There is a problem that the circuit scale increases.

本発明の目的は、従来とほぼ同等の回路および回路規模で高速なパン動画のフレーム補間を行うことができる画像処理装置を提供することにある。   An object of the present invention is to provide an image processing apparatus that can perform high-speed frame interpolation of a panning moving image with a circuit and circuit scale substantially the same as those of a conventional one.

上記目的を達成するために、本発明は、それぞれが複数の画素を含む横方向の複数のラインで構成される複数のフレームの間に、補間フレームを生成する画像処理装置であって、
現在フレームを構成する複数のラインの画素の画素値を表す現在フレーム画素データを、該ラインの順番に受信し、第1の所定の記憶ライン数を有する現在フレーム用ラインメモリに記憶するとともに、フレームメモリに記憶された、前記現在フレームの直前の過去フレームを構成する複数のラインの画素の画素値を表す過去フレーム画素データを、該ラインの順番に前記フレームメモリから読み出し、第2の所定の記憶ライン数を有する過去フレーム用ラインメモリに記憶するメモリ制御回路と、
前記補間フレームの画素の動きを示す動きベクトルを受け取り、該動きベクトルによって対応づけられる、前記現在フレーム用ラインメモリに記憶された現在フレーム画素データと前記過去フレーム用ラインメモリに記憶された過去フレーム画素データとに基づいて、前記補間フレームのそれぞれのラインの画素の画素値を表す補間フレーム画素データを生成する補間フレーム生成回路とを備え、
前記補間フレーム生成回路は、前記動きベクトルとして、前記補間フレームの全体的な動きの速度であるパン速度の縦方向成分に応じて定めた第1の移動量M1だけ、縦方向成分を削減した縦方向成分削減済み動きベクトルを前記動きベクトルとして受け取り、
前記メモリ制御回路は、前記現在フレーム用ラインメモリに前記現在フレームを構成するそれぞれのラインの現在フレーム画素データを記憶するタイミングに対して相対的に定められる、前記過去フレーム用ラインメモリに前記過去フレームを構成する対応するラインの過去フレーム画素データを記憶するタイミングを、前記第1の移動量M1がゼロである場合の標準タイミングから、該第1の移動量M1に対応する第2の移動量M2だけ移動することを特徴とする画像処理装置を提供するものである。
In order to achieve the above object, the present invention provides an image processing apparatus that generates an interpolation frame between a plurality of frames each composed of a plurality of horizontal lines each including a plurality of pixels.
Current frame pixel data representing pixel values of pixels of a plurality of lines constituting the current frame is received in the order of the lines, stored in a current frame line memory having a first predetermined storage line number, and a frame Past frame pixel data representing pixel values of pixels of a plurality of lines constituting the past frame immediately before the current frame stored in the memory is read out from the frame memory in the order of the lines, and is stored in a second predetermined storage. A memory control circuit for storing in a past frame line memory having the number of lines;
A current frame pixel data stored in the current frame line memory and a past frame pixel stored in the past frame line memory, which receives a motion vector indicating the motion of the pixel of the interpolation frame and is associated with the motion vector. An interpolation frame generation circuit that generates interpolation frame pixel data representing pixel values of pixels of each line of the interpolation frame based on the data,
The interpolation frame generation circuit reduces the vertical component as the motion vector by the first movement amount M1 determined according to the vertical component of the pan speed, which is the overall motion speed of the interpolation frame. A direction vector reduced motion vector is received as the motion vector;
The memory control circuit is configured to determine the past frame in the past frame line memory, which is determined relative to the timing of storing the current frame pixel data of each line constituting the current frame in the current frame line memory. From the standard timing when the first movement amount M1 is zero, the second movement amount M2 corresponding to the first movement amount M1 is stored. The present invention provides an image processing apparatus characterized by only moving.

ここで、前記メモリ制御回路は、
前記現在フレームを構成する複数のラインの現在フレーム画素データを、第1の開始タイミングから、ラインごとに所定の時間を要して前記現在フレーム用ラインメモリに記憶し、前記過去フレームを構成する複数のラインの過去フレーム画素データを、前記第1の開始タイミングに対して相対的に定められる第2の開始タイミングから、ラインごとに前記所定の時間を要して前記過去フレーム用ラインメモリに記憶するものであり、かつ、
前記第2の開始タイミングを、前記第1の移動量M1がゼロである場合の標準開始タイミングから、前記第2の移動量M2だけ移動することが好ましい。
Here, the memory control circuit is
Current frame pixel data of a plurality of lines constituting the current frame is stored in the current frame line memory for a predetermined time for each line from the first start timing, and a plurality of data constituting the past frame is stored. The past frame pixel data of the current line is stored in the past frame line memory taking the predetermined time for each line from the second start timing determined relatively to the first start timing. And
It is preferable that the second start timing is moved by the second movement amount M2 from the standard start timing when the first movement amount M1 is zero.

また、前記補間フレーム生成回路が、前記補間フレームを構成する複数のラインの補間フレーム画素データを、前記第1の開始タイミングに対して相対的に定められる第3の開始タイミングから、ラインごとに前記所定の時間を要して生成するものであり、かつ、
前記第3の開始タイミングを、前記第1の移動量M1がゼロである場合の標準開始タイミングから、前記第2の移動量M2に応じて定めた移動量M3だけ移動する、補間フレーム生成回路制御部を備えることが好ましい。
In addition, the interpolation frame generation circuit may calculate the interpolation frame pixel data of a plurality of lines constituting the interpolation frame for each line from a third start timing that is relatively determined with respect to the first start timing. It is generated in a certain amount of time, and
Interpolation frame generation circuit control for moving the third start timing by a movement amount M3 determined according to the second movement amount M2 from a standard start timing when the first movement amount M1 is zero. It is preferable to provide a part.

また、前記補間フレームが、前記過去フレームからα(0<α<1)、前記現在フレームから1−αだけ相対的に離れた時間位置の補間フレームであり、前記補間フレーム生成回路制御部が、前記移動量M3をM3=(1−α)M2となるように移動することが好ましい。   In addition, the interpolation frame is an interpolation frame at a time position relatively separated from the past frame by α (0 <α <1) and 1-α from the current frame, and the interpolation frame generation circuit control unit includes: The movement amount M3 is preferably moved so that M3 = (1−α) M2.

また、前記パン速度を、前記過去フレームの直前のフレームの画素と該過去フレームの画素との間の動きベクトルの分布に基づいて求めた、該過去フレームのパン速度を利用して算出する、パン速度算出回路をさらに備えることが好ましい。   The panning speed is calculated using the panning speed of the past frame obtained based on the motion vector distribution between the pixels of the previous frame and the pixels of the past frame. It is preferable to further include a speed calculation circuit.

また、前記現在フレーム用ラインメモリに記憶した現在フレーム画素データと、前記過去フレーム用ラインメモリに記憶した過去フレーム画素データとを利用して、前記第1の移動量M1だけ縦方向の成分を削減した、前記過去フレームの画素と前記現在フレームの画素との間の動きベクトルを検出し、前記縦方向成分削減済み動きベクトルとして前記補間フレーム生成回路に供給する、動きベクトル検出回路をさらに備えることが好ましい。   Further, by using the current frame pixel data stored in the current frame line memory and the past frame pixel data stored in the past frame line memory, the vertical component is reduced by the first movement amount M1. A motion vector detection circuit that detects a motion vector between a pixel in the past frame and a pixel in the current frame and supplies the motion vector to the interpolation frame generation circuit as the motion vector with the vertical component reduced. preferable.

本発明によれば、従来の画像処理装置と比べて、回路を大きく変更することなく、しかも回路規模を大幅に増大させることもなく、高速なパン動画に対してもフレーム補間を行うことが可能になる。   According to the present invention, it is possible to perform frame interpolation even for high-speed panning video without significantly changing the circuit and without greatly increasing the circuit scale as compared with the conventional image processing apparatus. become.

本発明の画像処理装置の構成を表す一実施形態のブロック図である。It is a block diagram of one embodiment showing composition of an image processing device of the present invention. (A)は過去フレームの画像、(B)は現在フレームの画像、(C)は現在フレームと過去フレームとを重ね合わせた画像、(D)は、現在フレームの画像に対して過去フレームの画像を下方向へ移動した画像である。(A) is an image of the past frame, (B) is an image of the current frame, (C) is an image obtained by superimposing the current frame and the past frame, and (D) is an image of the past frame with respect to the image of the current frame. The image is moved downward. パン速度と見かけ上の動きとの関係を表す一例のグラフである。It is an example of a graph showing the relationship between pan speed and apparent movement. パン速度と参照範囲移動量との関係を表す一例のグラフである。It is an example of a graph showing the relationship between pan speed and reference range movement amount. 現在フレームのラインの入力タイミング、および、過去フレームのフレームメモリからの読み出しタイミングを表す一例のタイミングチャートである。It is an example timing chart showing the input timing of the line of the present frame and the read timing from the frame memory of the past frame. 図5に示すタイミングチャートにおいて、現在および過去フレーム用ラインメモリの記憶状態を表す一例のタイミングチャートである。FIG. 6 is an example timing chart showing storage states of current and past frame line memories in the timing chart shown in FIG. 5. (A)および(B)は、従来の画像処理装置における補間フレームの生成手順を示す概念図である。(A) And (B) is a conceptual diagram which shows the production | generation procedure of the interpolation frame in the conventional image processing apparatus. (A)〜(D)は、本実施形態の画像処理装置における補間フレームの生成手順を示す概念図である。(A)-(D) are the conceptual diagrams which show the production | generation procedure of the interpolation frame in the image processing apparatus of this embodiment. 過去フレームのラインの読み出しタイミングを遅くした場合の、動きベクトル検出および補間フレーム生成の処理タイミングを表す一例のタイミングチャートである。It is a timing chart of an example showing the processing timing of motion vector detection and interpolation frame generation when the readout timing of the line of the past frame is delayed. 過去フレームのラインの読み出しタイミングを早くした場合の、動きベクトル検出および補間フレーム生成の処理タイミングを表す一例のタイミングチャートである。It is a timing chart of an example showing the processing timing of motion vector detection and interpolation frame generation when the readout timing of the line of the past frame is advanced. 現在フレーム用ラインメモリに記憶された現在フレームのラインに対して、過去フレーム用ラインメモリに記憶された過去フレームのラインが2ライン分だけ下方向へ移動されている状態を表す概念図である。It is a conceptual diagram showing the state where the line of the past frame memorize | stored in the line memory for past frames is moved below 2 lines with respect to the line of the present frame memorize | stored in the line memory for present frames. 図11に示す状態において、動きベクトルを検出する場合の、現在フレームのラインと過去フレームのラインとの関係を表す概念図である。FIG. 12 is a conceptual diagram illustrating a relationship between a line of a current frame and a line of a past frame when a motion vector is detected in the state illustrated in FIG. 11. 図11に示す状態において、補間フレームを生成する場合の、現在フレームのラインと過去フレームのラインとの関係を表す概念図である。FIG. 12 is a conceptual diagram illustrating a relationship between a current frame line and a past frame line when an interpolation frame is generated in the state illustrated in FIG. 11. 過去フレームと現在フレームとの間で下方向の動きがある場合の、補間フレームの生成工程を表す概念図である。It is a conceptual diagram showing the production | generation process of an interpolation frame when there exists a downward motion between the past frame and the present frame. 過去フレームと現在フレームとの間で上方向の動きがある場合の、補間フレームの生成工程を表す概念図である。It is a conceptual diagram showing the production | generation process of an interpolation frame when there exists an upward motion between a past frame and the present frame. 従来の画像処理装置における補間フレームの生成工程を表す概念図である。It is a conceptual diagram showing the production | generation process of the interpolation frame in the conventional image processing apparatus. 本発明の画像処理装置で生成される補間フレームの位相および位置を表す概念図である。It is a conceptual diagram showing the phase and position of the interpolation frame produced | generated with the image processing apparatus of this invention. 従来の画像処理装置で生成される補間フレームの位相および位置を表す概念図である。It is a conceptual diagram showing the phase and position of the interpolation frame produced | generated with the conventional image processing apparatus. 従来の画像処理装置の構成を表す一例のブロック図である。It is a block diagram of an example showing the structure of the conventional image processing apparatus.

以下に、添付の図面に示す好適実施形態に基づいて、本発明の画像処理装置を詳細に説明する。   Hereinafter, an image processing apparatus according to the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings.

まず、本発明の画像処理装置の概略について説明する。   First, the outline of the image processing apparatus of the present invention will be described.

例えば、図2(A)に示す過去フレームの画像、および、同図(B)に示す現在フレームの画像の、2枚の画像を使って動きベクトル検出および補間フレーム生成をする場合を考える。   For example, consider a case in which motion vector detection and interpolation frame generation are performed using two images, the past frame image shown in FIG. 2A and the current frame image shown in FIG.

同図(C)に示すように、これら2枚の画像を重ねてみると(両者の区別を容易にするために、過去フレームの画像を点線で示す)、過去フレームから現在フレームまでの間に、車(物体)が下方向へ移動していることが分かる。従来の画像処理装置40では、車の縦方向の動き(速度)が非常に大きい場合、その分のラインメモリ46を備えていなければ動きベクトルVを検出できない。つまり、縦方向の動きの場合、ラインメモリ46の容量(記憶ライン数)により補間性能が制限される。   As shown in FIG. 5C, when these two images are overlapped (in order to facilitate the distinction between them, the image of the past frame is indicated by a dotted line), the interval between the past frame and the current frame is shown. It can be seen that the car (object) is moving downward. In the conventional image processing apparatus 40, when the vertical movement (speed) of the car is very large, the motion vector V cannot be detected unless the line memory 46 is provided. That is, in the case of vertical movement, the interpolation performance is limited by the capacity of the line memory 46 (number of stored lines).

本発明の画像処理装置では、入力画像が下方向へ移動するパン動画であることを検出した場合、同図(D)に示すように、例えば、現在フレームの画像に対して、過去フレームの画像を相対的に下方向へ第1の移動量M1だけ移動することにより、見かけ上の動きベクトルV’を小さくする。この例では、車が下方向へ移動しているため、過去フレームの画像を下方向へ移動させることで2枚の画像を比較したときに動きが小さく見えるようにしている。   In the image processing apparatus of the present invention, when it is detected that the input image is a panning moving image that moves downward, as shown in FIG. Is moved downward by the first movement amount M1 to reduce the apparent motion vector V ′. In this example, since the car is moving downward, the image of the past frame is moved downward so that the movement looks small when the two images are compared.

上記のように、本発明の画像処理装置は、対象物の縦方向の動きが大きい場合に、現在フレームの画像と過去フレームの画像とを近づけるように相対的に移動させて見かけ上の動きベクトルを小さくすることにより、高速にパンする動画の場合であっても、従来と同等の回路、同等の回路規模(同等のラインメモリ容量)で動きベクトルを検出し、補間フレームの画像を生成することができる。   As described above, the image processing apparatus according to the present invention, when the vertical movement of the object is large, moves the current frame image and the past frame image relatively closer to each other so as to make an apparent motion vector. The motion vector is detected with the same circuit and the same circuit scale (equivalent line memory capacity) as in the case of moving images that pan at high speed by reducing Can do.

以下、本発明の画像処理装置の実施形態を挙げて説明する。   Hereinafter, embodiments of the image processing apparatus of the present invention will be described.

図1は、本発明の画像処理装置の構成を表す一実施形態のブロック図である。同図に示す画像処理装置10は、それぞれが複数の画素を含む横方向(ライン方向)の複数のラインで構成される複数のフレームの間に、補間フレームを生成するものである。画像処理装置10は、フレームメモリ12と、メモリコントローラ14と、ラインメモリ16と、動きベクトル検出回路18と、補間フレーム生成回路20と、参照範囲決定回路22と、タイミングコントローラ24と、補正回路26と、パン検出回路28と、画面端処理回路30とによって構成されている。   FIG. 1 is a block diagram of an embodiment showing a configuration of an image processing apparatus of the present invention. The image processing apparatus 10 shown in the figure generates an interpolation frame between a plurality of frames each composed of a plurality of lines in the horizontal direction (line direction) each including a plurality of pixels. The image processing apparatus 10 includes a frame memory 12, a memory controller 14, a line memory 16, a motion vector detection circuit 18, an interpolation frame generation circuit 20, a reference range determination circuit 22, a timing controller 24, and a correction circuit 26. And a pan detection circuit 28 and a screen edge processing circuit 30.

フレームメモリ12は、メモリコントローラ14の制御により、後述する過去フレームを構成する複数のラインの画素の画素値(輝度値、明度値、彩度値、等)を表す過去フレーム画素データを記憶する。   The frame memory 12 stores past frame pixel data representing pixel values (luminance values, lightness values, saturation values, etc.) of pixels of a plurality of lines constituting a past frame, which will be described later, under the control of the memory controller 14.

ラインメモリ16は、メモリコントローラ14の制御により、例えば、受け取った順番の最も古いラインのデータを削除し、新たに受け取ったラインのデータを記憶することにより、一定の記憶ライン数の画素データの記憶を維持する。ラインメモリ16は、第1の所定の記憶ライン数の現在フレーム画素データを記憶するための現在フレーム用ラインメモリと、第2の所定の記憶ライン数の過去フレーム画素データを記憶するための過去フレーム用ラインメモリとを含む。   Under the control of the memory controller 14, for example, the line memory 16 deletes the data of the oldest line in the received order and stores the data of the newly received line, thereby storing pixel data of a certain number of storage lines. To maintain. The line memory 16 includes a current frame line memory for storing current frame pixel data having a first predetermined storage line number and a past frame for storing past frame pixel data having a second predetermined storage line number. Line memory.

通常は、現在フレーム用ラインメモリの第1の記憶ライン数と、過去フレーム用ラインメモリの第2の記憶ライン数とは同一とする。しかし、両者の記憶ライン数を同一とすることは必須ではなく、両者の記憶ライン数が異なっていてもよい。   Normally, the first storage line number of the current frame line memory is the same as the second storage line number of the past frame line memory. However, it is not essential that the number of storage lines is the same, and the number of storage lines may be different.

メモリコントローラ14は、フレームごとに、現在フレーム(入力画像)を構成する複数のラインの画素の画素値を表す現在フレーム画素データをフレームメモリ12に記憶する。各フレームでフレームメモリ12に記憶された現在フレーム画素データは、その直後の未来フレーム(現在フレームの1つ後のフレーム)で、現在フレームの直前の過去フレーム(現在フレームの1つ前のフレーム)を構成する複数のラインの画素の画素値を表す過去フレーム画素データとしてフレームメモリ12から読み出される。   For each frame, the memory controller 14 stores current frame pixel data representing pixel values of pixels of a plurality of lines constituting the current frame (input image) in the frame memory 12. The current frame pixel data stored in the frame memory 12 in each frame is a future frame immediately after (the frame immediately after the current frame), and a past frame immediately before the current frame (a frame immediately before the current frame). Are read out from the frame memory 12 as past frame pixel data representing pixel values of pixels of a plurality of lines.

また、メモリコントローラ14は、現在フレーム画素データをラインの順番に受信し、最新の、第1の記憶ライン数の現在フレーム画素データを現在フレーム用ラインメモリに記憶するとともに、フレームメモリ12に記憶された過去フレーム画素データを、ラインの順番にフレームメモリ12から読み出し、現在フレーム用ラインメモリに記憶されたラインの現在フレーム画素データに対応する、第2の記憶ライン数の過去フレーム画素データを過去フレーム用ラインメモリに記憶する。   Further, the memory controller 14 receives the current frame pixel data in the order of the lines, stores the current frame pixel data of the latest first storage line number in the current frame line memory, and stores the current frame pixel data in the frame memory 12. The past frame pixel data is read from the frame memory 12 in the order of the lines, and the past frame pixel data of the second storage line number corresponding to the current frame pixel data of the line stored in the line memory for the current frame is stored in the past frame. Store in the line memory.

また、メモリコントローラ14は、現在フレーム用ラインメモリにそれぞれのラインの画素データを記憶するタイミング(言い換えると、現在フレームのラインの入力タイミング)に対して相対的に定められる、過去フレーム用ラインメモリに現在フレームのラインに対応する過去フレームのラインの画素データを記憶するタイミング(言い換えると、過去フレームのラインの画素データのフレームメモリ12からの読み出しタイミング)を、第1の移動量M1がゼロである場合の標準タイミングから、第1の移動量M1に対応する、第2の移動量M2だけ移動するように、ラインメモリ16の動作を制御する。第1の移動量M1は、図2(D)に示すように、過去フレームと現在フレームとの間の相対的な移動量である。第2の移動量M2は、過去フレームのラインの画素データをフレームメモリ12から読み出して過去フレーム用ラインメモリ記憶するタイミング(時間)の移動量であり、フレームメモリ12から読み出す過去フレームのラインを第1の移動量M1だけ移動させるタイミングの移動量に相当する。   In addition, the memory controller 14 stores in the past frame line memory, which is determined relative to the timing of storing the pixel data of each line in the current frame line memory (in other words, the input timing of the line of the current frame). The first movement amount M1 is zero when the pixel data of the line of the past frame corresponding to the line of the current frame is stored (in other words, the timing of reading the pixel data of the line of the past frame from the frame memory 12). In this case, the operation of the line memory 16 is controlled so as to move by the second movement amount M2 corresponding to the first movement amount M1. The first movement amount M1 is a relative movement amount between the past frame and the current frame, as shown in FIG. The second movement amount M2 is a movement amount (time) at which the pixel data of the line of the past frame is read from the frame memory 12 and stored in the line memory for the past frame, and the line of the past frame read from the frame memory 12 is the first movement amount M2. This corresponds to the movement amount at the timing of moving by one movement amount M1.

例えば、メモリコントローラ14は、現在フレーム画素データを、前述の標準タイミングである第1の開始タイミングから、ラインごとに所定の時間を要して現在フレーム用ラインメモリに記憶する。また、過去フレーム画素データを、第1の開始タイミングに対して相対的に定められる、標準タイミングから第2の移動量M2だけ移動されたタイミングである第2の開始タイミングから、ラインごとに所定の時間を要して過去フレーム用ラインメモリに記憶する。   For example, the memory controller 14 stores the current frame pixel data in the current frame line memory taking a predetermined time for each line from the first start timing which is the standard timing described above. In addition, the past frame pixel data is predetermined for each line from the second start timing, which is determined relative to the first start timing and is moved by the second movement amount M2 from the standard timing. It takes time and stores it in the past frame line memory.

ここで、「相対的に定められる」と記載したが、メモリコントローラ14は、通常、現在フレーム画素データを記憶するタイミングを一定として、過去フレーム画素データを記憶するタイミングを遅く(早く)する。しかし、例えば、現在フレーム画素データも、一旦、フレームメモリ12に記憶した後、読み出してラインメモリ16に記憶する場合であれば、過去フレーム画素データを記憶するタイミングを一定として、現在フレーム画素データを記憶するタイミングを早く(遅く)することも可能である。   Here, although described as “relatively determined”, the memory controller 14 normally sets the timing for storing the current frame pixel data to be constant and delays the timing for storing the past frame pixel data. However, for example, if the current frame pixel data is also stored once in the frame memory 12 and then read out and stored in the line memory 16, the current frame pixel data is stored at a constant timing for storing the past frame pixel data. It is also possible to make the storage timing earlier (slower).

また、「第1の移動量M1がゼロである場合の標準タイミングから、第1の移動量M1に対応する第2の移動量M2だけ移動する」と記載したが、通常、前述の移動が行われないときには、現在フレーム画素データの記憶と過去フレーム画素データの記憶とが同じタイミングで行われる。しかし、これも必須ではなく、例えば、第1の所定の記憶ライン数と第2の所定の記憶ライン数とが異なる場合には、移動が行われないときであっても、現在フレーム画素データの記憶と過去フレーム画素データの記憶とを異なるタイミングで行う構成とすることも可能である。   In addition, it has been described that “move by the second movement amount M2 corresponding to the first movement amount M1 from the standard timing when the first movement amount M1 is zero”. If not, the current frame pixel data and the past frame pixel data are stored at the same timing. However, this is not essential. For example, when the first predetermined storage line number is different from the second predetermined storage line number, even if no movement is performed, the current frame pixel data It is also possible to adopt a configuration in which storage and storage of past frame pixel data are performed at different timings.

また、「所定の時間を要して」と記載したが、各ラインの読み出し、書き込みには、各ラインの画素数、および、ライン間のブランキング期間に応じた時間を要する。この時間は、開始タイミングが移動しても一定である。   In addition, although it has been described as “requires a predetermined time”, reading and writing of each line requires time corresponding to the number of pixels of each line and a blanking period between the lines. This time is constant even if the start timing moves.

続いて、動きベクトル検出回路18は、現在フレーム用ラインメモリに記憶した現在フレーム画素データと、過去フレーム用ラインメモリに記憶した過去フレーム画素データとを利用して、補間フレームの全体的な動きの速度であるパン速度の縦方向成分に応じて定めた第1の移動量M1だけ縦方向(ライン方向に直交する方向)の成分を削減した、縦方向成分削減済み動きベクトルを検出する。動きベクトル検出回路18が動きベクトルの検出を行うためには、現在フレーム用ラインメモリおよび過去フレーム用ラインメモリに、対応するラインの画素の画素データが記憶されている必要がある。従って、過去フレームの画素データを過去フレーム用フレームメモリに記憶するタイミングを第2の移動量M2だけ移動させたときには、M2の正負および大きさに応じて、動きベクトル検出回路18が動きベクトル検出を行うタイミングを移動する。   Subsequently, the motion vector detection circuit 18 uses the current frame pixel data stored in the current frame line memory and the past frame pixel data stored in the past frame line memory to determine the overall motion of the interpolation frame. A motion vector whose vertical direction component has been reduced is detected in which the vertical direction component (direction orthogonal to the line direction) is reduced by a first movement amount M1 determined according to the vertical direction component of the panning speed. In order for the motion vector detection circuit 18 to detect a motion vector, the pixel data of the pixels of the corresponding line must be stored in the current frame line memory and the past frame line memory. Therefore, when the timing at which pixel data of the past frame is stored in the frame memory for the past frame is moved by the second movement amount M2, the motion vector detection circuit 18 performs motion vector detection according to the sign of M2. Move the timing to do.

ここで、「補間フレームの全体的な動きの速度であるパン速度」と記載したが、後述するパン検出回路28は、実際には、現在フレーム画素データと過去フレーム画素データとに基づいて、過去フレームと現在フレームとの間のパン速度を直接求めることはできない。そのため、パン検出回路28は、例えば、過去フレームの直前のフレームと過去フレームとの間の動きベクトル等を利用して、過去フレームと現在フレームとの間のパン速度を近似的に求める。   Here, although described as “pan speed that is the overall motion speed of the interpolated frame”, the pan detection circuit 28 to be described later is actually based on the current frame pixel data and the past frame pixel data. The pan speed between the frame and the current frame cannot be determined directly. Therefore, the pan detection circuit 28 approximately obtains the pan speed between the past frame and the current frame using, for example, a motion vector between the frame immediately before the past frame and the past frame.

なお、動きベクトル検出回路18は必須の構成要素ではない。例えば、動きベクトル検出回路18を備えることなく、画像処理装置10の外部から動きベクトルを受け取る構成としてもよい。   The motion vector detection circuit 18 is not an essential component. For example, the configuration may be such that the motion vector is received from outside the image processing apparatus 10 without providing the motion vector detection circuit 18.

前述のように、動きベクトル検出回路18が動きベクトルの検出を行うためには、現在フレームの画素の画素データと、動きベクトルによってその画素と対応づけられている過去フレームの画素の画素データとが、それぞれ、現在フレーム用ラインメモリおよび過去フレーム用ラインメモリに記憶されている必要がある。過去フレーム画素データを第2の移動量M2だけ移動されたタイミングで過去フレーム用ラインメモリに記憶した場合、画面の上端部および下端部では、対応する現在フレームもしくは過去フレームのラインの画素データがラインメモリに記憶されておらず、動きベクトル検出回路18が動きベクトルを検出できない可能性が高い。そこで、画像処理回路10では、第2の移動量M2に基づいて、動きベクトル検出回路18が動きベクトルの検出を行う期間、もしくは、動きベクトル検出の対象とするラインの範囲を制限する。   As described above, in order for the motion vector detection circuit 18 to detect a motion vector, pixel data of a pixel of the current frame and pixel data of a pixel of a past frame associated with the pixel by the motion vector are included. , Need to be stored in the current frame line memory and the past frame line memory, respectively. When past frame pixel data is stored in the past frame line memory at the timing moved by the second movement amount M2, the pixel data of the corresponding current frame or past frame line is displayed at the upper end and lower end of the screen. There is a high possibility that the motion vector detection circuit 18 cannot detect the motion vector because it is not stored in the memory. In view of this, the image processing circuit 10 limits the period during which the motion vector detection circuit 18 detects the motion vector or the range of lines to be subjected to motion vector detection based on the second movement amount M2.

このように、画面の上下端において動きベクトル検出が行えないのは、上下方向にパンする画面では現在フレームもしくは過去フレームに対応するラインが存在しない領域があるためであり、ラインメモリへの記憶タイミングを移動することが原因ではない。むしろ、パン速度の縦方向成分に応じて定めた第1の移動量M1に対応する第2の移動量M2を利用して、動きベクトル検出回路18が動きベクトルを検出する範囲を制限することにより、誤った動きベクトルの検出を防止することが可能である。   In this way, the motion vector cannot be detected at the upper and lower ends of the screen because there is an area where there is no line corresponding to the current frame or the past frame on the screen panning in the vertical direction. Is not due to move. Rather, by using the second movement amount M2 corresponding to the first movement amount M1 determined according to the vertical component of the pan speed, the range in which the motion vector detection circuit 18 detects the motion vector is limited. It is possible to prevent detection of an erroneous motion vector.

そして、動きベクトル検出回路18が動きベクトル検出の対象としないラインの画素については、画面端処理回路30が、例えば、時間的、もしくは空間的に近くの領域の動きベクトルを参照するか、検出したパン速度を割り当てる等の補正処理を行って動きベクトルを生成する。画面端処理回路は、このようにして生成した動きベクトルを動きベクトル検出回路18が検出した動きベクトルに追加する。画面端処理回路は、さらに、動きベクトルを補間フレームの画素に割り付ける割り付け処理や、動きベクトルを割り付けることができなかった補間フレームの画素の動きベクトルを補う補正処理を行って、補正済みベクトルを生成するものであってもよい。   Then, the screen edge processing circuit 30 refers to, for example, a motion vector in a temporally or spatially close area for a pixel of a line that is not subject to motion vector detection by the motion vector detection circuit 18. A motion vector is generated by performing correction processing such as assigning a panning speed. The screen edge processing circuit adds the motion vector thus generated to the motion vector detected by the motion vector detection circuit 18. The screen edge processing circuit also generates a corrected vector by performing an allocation process that allocates a motion vector to an interpolated frame pixel and a correction process that compensates for the motion vector of an interpolated frame pixel that could not be allocated a motion vector. You may do.

補間フレーム生成回路20は、画面端処理回路30から補正済みのベクトルを受け取り、この動きベクトルによって対応づけられる、現在フレーム用ラインメモリに記憶された現在フレーム画素データと過去フレーム用ラインメモリに記憶された過去フレーム画素データとに基づいて、補間フレームのそれぞれのラインの画素の画素値を表す補間フレーム画素データを生成する。   The interpolation frame generation circuit 20 receives the corrected vector from the screen edge processing circuit 30, and stores the current frame pixel data stored in the current frame line memory and the past frame line memory, which are associated with the motion vector. Based on the past frame pixel data, interpolation frame pixel data representing pixel values of the pixels of each line of the interpolation frame is generated.

補間フレーム生成回路20は、補間フレーム画素データの生成を行うタイミングを、標準のタイミングから、第2の移動量M2に応じて定めた第3の移動量M3だけ移動する。例えば、補間フレームを構成する複数のラインの補間フレーム画素データを、標準タイミングである第1の開始タイミングに対して相対的に定められる第3の開始タイミングから、ラインごとに所定の時間を要して生成する。   The interpolation frame generation circuit 20 moves the generation timing of the interpolation frame pixel data from the standard timing by the third movement amount M3 determined according to the second movement amount M2. For example, the interpolation frame pixel data of a plurality of lines constituting the interpolation frame requires a predetermined time for each line from the third start timing that is determined relative to the first start timing that is the standard timing. To generate.

例えば、補間フレームが、過去フレームからα(0<α<1)、つまり、現在フレームから1−αだけ相対的に離れた時間位置(位相)の補間フレームであるとすると、第3の移動量M3が、M3=(1−α)M2となるように移動する。   For example, if the interpolation frame is α (0 <α <1) from the past frame, that is, an interpolation frame at a time position (phase) relatively separated from the current frame by 1-α, the third movement amount M3 moves so that M3 = (1-α) M2.

これにより、過去フレームのラインの画素データをラインメモリに記憶するタイミングを移動したことによって、このラインメモリに記憶された画素データに基づいて生成された補間フレームの位置が移動されているのを、参照範囲を移動していない本来の正しい位置に戻すことができる。   Thereby, by moving the timing of storing the pixel data of the line of the past frame in the line memory, the position of the interpolation frame generated based on the pixel data stored in the line memory is moved. The reference range can be returned to the original correct position that has not been moved.

ここで、「補間フレームの画素の動きを示す動きベクトル」と記載したが、動きベクトル検出回路18が生成する動きベクトル、もしくは、外部から受け取る動きベクトルは、補間フレームの画素の動きを、少なくとも近似的に示すベクトルであればよく、過去フレームと現在フレームとの間で求めた動きベクトルそのものでもよいし、あるいは、特許文献1のように、過去フレームと現在フレームとの間で求めた動きベクトルを、補間フレームの画素に割り付け直した(さらに、補償を行った)ものでもよい。また、それぞれの画素ごとに動きベクトルを検出することは必須ではなく、複数の画素からなるブロックごとに動きベクトルを検出するのでもよい。   Here, although described as “a motion vector indicating the motion of the pixel of the interpolation frame”, the motion vector generated by the motion vector detection circuit 18 or the motion vector received from the outside at least approximates the motion of the pixel of the interpolation frame. Or a motion vector obtained between the past frame and the current frame, or a motion vector obtained between the past frame and the current frame as in Patent Document 1. Alternatively, the pixel may be reassigned to the interpolation frame pixels (and further compensated). Further, it is not essential to detect a motion vector for each pixel, and a motion vector may be detected for each block composed of a plurality of pixels.

続いて、補正回路26は、第2の移動量M2に基づいて、動きベクトル検出回路18により検出された、第1の移動量M1だけ縦方向の成分を削減した縦方向成分削減済み動きベクトルから、第1の移動量M1だけ縦方向の移動量を削減していない、過去フレームの画素と現在フレームの画素との間の動きベクトル、つまり、従来の動きベクトル検出回路48により検出される動きベクトルと同じ、過去フレームと現在フレームとの間の、本来の動きベクトルを算出する。   Subsequently, based on the second movement amount M2, the correction circuit 26 detects the vertical direction component-reduced motion vector obtained by reducing the vertical component by the first movement amount M1 detected by the motion vector detection circuit 18. The motion vector between the pixels of the past frame and the pixels of the current frame, in which the vertical movement amount is not reduced by the first movement amount M1, that is, the motion vector detected by the conventional motion vector detection circuit 48 The original motion vector between the past frame and the current frame is calculated.

パン検出回路(パン速度算出回路)28は、補正回路26により算出された本来の動きベクトルから、過去フレームと現在フレームとの間のパン速度を検出する。本発明のいうパンとは、撮影装置を一方向に移動させながら動画の撮影を行うことにより、撮影された動画の画面全体が一方向に移動する場合の他、撮影中の動画の画面内において、大部分の撮影対象物、例えば、画面の半分以上の撮影対象物が一方向に移動する場合等を含む。   The pan detection circuit (pan speed calculation circuit) 28 detects the pan speed between the past frame and the current frame from the original motion vector calculated by the correction circuit 26. Panning according to the present invention refers to panning within the screen of the moving image being shot, in addition to the case where the entire moving image screen moves in one direction by moving the shooting device while moving the shooting device in one direction. This includes the case where most of the object to be imaged, for example, the object to be imaged of more than half of the screen moves in one direction.

ここで、パン検出回路28により検出された、過去フレームと現在フレームとの間のパン速度は、例えば、現在フレームと現在フレームの直後のフレーム(未来フレーム)との間の動きベクトルを検出するために利用することができる。   Here, the pan speed between the past frame and the current frame detected by the pan detection circuit 28 is, for example, for detecting a motion vector between the current frame and a frame immediately after the current frame (future frame). Can be used.

動きベクトル検出回路18は、過去フレームと現在フレームとの間のパン速度を利用して、過去フレームと現在フレームとの間の動きベクトルを検出することはできない。つまり、パン速度は、画面全体の動きベクトルの分布から求めるため、動きベクトル検出回路18が検出を行いつつある過去フレームと現在フレームとの間の動きベクトルから求めたパン速度を、同じ過去フレームと現在フレームとの間の動きベクトル検出に利用することはできない。そこで、パン検出回路28は、動きベクトル検出回路18が過去フレームと現在フレームとの間の動きベクトルを検出するときに利用するパン速度を、例えば、過去フレームの直前のフレームの画素と過去フレームの画素との間の動きベクトルの分布に基づいて求めた、過去フレームのパン速度を利用して算出(予測)する。   The motion vector detection circuit 18 cannot detect a motion vector between the past frame and the current frame by using the pan speed between the past frame and the current frame. That is, since the panning speed is obtained from the distribution of motion vectors over the entire screen, the panning speed obtained from the motion vector between the past frame being detected by the motion vector detection circuit 18 and the current frame is set as the same past frame. It cannot be used for motion vector detection with the current frame. Therefore, the pan detection circuit 28 determines the pan speed used when the motion vector detection circuit 18 detects a motion vector between the past frame and the current frame, for example, the pixel of the frame immediately before the past frame and the past frame. Calculation (prediction) is performed using the pan speed of the past frame obtained based on the distribution of motion vectors between the pixels.

続いて、参照範囲決定回路22は、パン検出回路28により検出されたパン速度に基づいて、動きベクトル検出および補間フレーム生成において参照する過去フレームのラインの範囲、すなわち、参照範囲を決める第1の移動量M1を決定し、参照範囲情報として出力する。参照範囲決定回路22は、例えば、過去フレームの物体が現在フレームの物体と概略重なり、ラインメモリ16の第1および第2の記憶ライン数によって決まる動きベクトルの検出可能範囲または補間可能範囲に入るように、第1の移動量M1を決定する。最も単純には、第1の移動量M1は、過去フレームと現在フレームとの間のパン速度の縦方向成分と等しい。   Subsequently, the reference range determination circuit 22 is based on the pan speed detected by the pan detection circuit 28, and is a first frame that determines a line range of a past frame to be referred to in motion vector detection and interpolation frame generation, that is, a reference range. The movement amount M1 is determined and output as reference range information. For example, the reference range determination circuit 22 is configured so that the object of the past frame substantially overlaps the object of the current frame and falls within the motion vector detectable range or the interpolable range determined by the first and second storage line numbers of the line memory 16. First, the first movement amount M1 is determined. Most simply, the first movement amount M1 is equal to the vertical component of the pan speed between the past frame and the current frame.

最後に、タイミングコントローラ(補間フレーム生成回路制御部)24は、参照範囲決定回路22により決定された参照範囲情報としての第1の移動量M1に基づいて、第1の移動量M1に対応する第2の移動量M2および第2の移動量M2に対応する第3の移動量M3を算出する。これらの移動量M2,M3は、メモリコントローラ14,動きベクトル検出回路18,画面端処理回路30,補間フレーム生成回路20に送られ、これらの回路の動作タイミングの制御に利用される。   Finally, the timing controller (interpolation frame generation circuit control unit) 24 corresponds to the first movement amount M1 based on the first movement amount M1 as the reference range information determined by the reference range determination circuit 22. A second movement amount M2 and a third movement amount M3 corresponding to the second movement amount M2 are calculated. These movement amounts M2 and M3 are sent to the memory controller 14, the motion vector detection circuit 18, the screen edge processing circuit 30, and the interpolation frame generation circuit 20, and are used to control the operation timing of these circuits.

ここで、参照範囲決定回路22、メモリコントローラ14およびタイミングコントローラ24は、本発明のメモリ制御回路を構成する。   Here, the reference range determining circuit 22, the memory controller 14, and the timing controller 24 constitute a memory control circuit of the present invention.

次に、各部位における具体的な作用を説明する。
まず、パン動画の判定方法およびパン速度の検出方法について説明する。
Next, specific actions in each part will be described.
First, a panning moving image determination method and a panning speed detection method will be described.

パン検出回路28では、まず、前述の本来の動きベクトルを用いて、入力画像がパン動画であるかどうかの判定が行われる。例えば、動きベクトルの頻度をカウントしてヒストグラムを作成することにより、画面全体の動きベクトルの傾向を知ることができる。例えば、少数の似通った動きベクトルに頻度が偏っているとき、または、動きベクトルの分布が、ある特定方向に偏っているときにパン動画であると判定できる。   In the pan detection circuit 28, first, it is determined whether or not the input image is a panning moving image using the original motion vector described above. For example, by counting the frequency of motion vectors and creating a histogram, it is possible to know the trend of the motion vectors of the entire screen. For example, when the frequency is biased toward a small number of similar motion vectors, or when the motion vector distribution is biased in a specific direction, it can be determined that the video is a panning video.

そして、パン検出回路28では、入力画像がパン動画であると判定した場合に、パン速度の検出が行われる。例えば、パン速度は、ヒストグラムのピーク値を持つ動きベクトルから求めることができる。   The pan detection circuit 28 detects the pan speed when it is determined that the input image is a pan moving image. For example, the pan speed can be obtained from a motion vector having a peak value of the histogram.

なお、加速度を伴うパン動画の場合には、次のフレームのパン速度を正確に予測する目的で、過去数フレームのパン速度の変化を調べて未来フレームのパン速度を算出することが望ましい。未来フレームのパン速度s2は、例えば、過去フレームのパン速度をs0、現在フレームのパン速度をs1、加速度をa1とすると、下記計算式(1)で求めることができる。
s2=s1+a1=s1+(s1−s0) … (1)
In the case of a panning moving image with acceleration, it is desirable to calculate the panning speed of the future frame by examining the change of the panning speed of the past several frames in order to accurately predict the panning speed of the next frame. The pan speed s2 of the future frame can be obtained by the following formula (1), for example, where the pan speed of the past frame is s0, the pan speed of the current frame is s1, and the acceleration is a1.
s2 = s1 + a1 = s1 + (s1-s0) (1)

続いて、過去フレームのラインの参照範囲の移動量決定方法について説明する。   Next, a method for determining the amount of movement of the reference range of the line in the past frame will be described.

参照範囲決定回路22は、パン検出回路28によりパン動画であると判定された場合に、パン速度の縦方向成分と動きベクトルの検出可能範囲(または補間可能範囲)との関係から、パン速度が検出可能範囲内に十分収まるように第1の移動量M1を決定する。パン速度は、方向と大きさを持つベクトル値である。移動量M1は、縦方向(下方向、もしくは、上方向)のスカラー量であり、ライン数で表される。従って、第1の移動量M1の決定においては、パン速度の縦方向成分のみが考慮される。   When the pan detection circuit 28 determines that the video is a pan moving image, the reference range determination circuit 22 determines the pan speed based on the relationship between the vertical component of the pan speed and the motion vector detectable range (or interpolable range). The first movement amount M1 is determined so as to be well within the detectable range. The panning speed is a vector value having a direction and a size. The movement amount M1 is a scalar amount in the vertical direction (downward or upward) and is represented by the number of lines. Accordingly, in determining the first movement amount M1, only the vertical component of the pan speed is taken into consideration.

タイミングコントローラ24は、第1の移動量M1に対応する第2の移動量M2、および、第2の移動量M2に対応する第3の移動量M3を算出する。   The timing controller 24 calculates a second movement amount M2 corresponding to the first movement amount M1 and a third movement amount M3 corresponding to the second movement amount M2.

ただし、急なシーンチェンジが起きたときに対処できるように、参照範囲の移動量を制限することが望ましい。また、パン速度が検出可能範囲に対して十分小さい場合には参照範囲を移動しないことが望ましい。   However, it is desirable to limit the amount of movement of the reference range so that it can cope with a sudden scene change. Further, it is desirable not to move the reference range when the pan speed is sufficiently small with respect to the detectable range.

図3は、パン速度と参照範囲移動量との関係を表す一例のグラフである。前述のように、パン速度は方向と大きさとを持つベクトル値であるが、移動量決定においてはその縦方向成分のみを考慮する。以下では単純のため、パン速度が縦方向成分のみを有すると仮定し、下方向が正、上方向が正のスカラー値として扱う。同図の横軸はパン速度v[line/frame]、縦軸は参照範囲移動量m[line]である。速度A[line/frame]は、パン速度に応じて参照範囲の移動を行うかどうかを判断する閾値であり、参照範囲移動量B[line]は移動量の制限値、速度C[line/frame]は、移動量に制限がかかるときのパン速度を意味する。回路的には、これらのA,B,Cの値は可変とする。   FIG. 3 is a graph illustrating an example of the relationship between the pan speed and the reference range movement amount. As described above, the pan speed is a vector value having a direction and a magnitude, but only the vertical direction component is considered in determining the movement amount. In the following, for simplicity, it is assumed that the pan speed has only a vertical component, and the downward direction is treated as a positive scalar value and the upward direction is treated as a positive scalar value. In the figure, the horizontal axis represents the pan speed v [line / frame], and the vertical axis represents the reference range movement amount m [line]. The speed A [line / frame] is a threshold value for determining whether or not to move the reference range according to the pan speed, and the reference range movement amount B [line] is the limit value of the movement amount, and the speed C [line / frame]. ] Means the pan speed when the movement amount is limited. In terms of circuit, the values of A, B, and C are variable.

タイミングコントローラ24は、同図に示す関係を用いて、パン検出回路28により検出されたパン速度、すなわち、参照範囲決定回路22により決定された第1の移動量M1から、第2の移動量M2および第3の移動量M3を一意に算出する。図3に示すパン速度(もしくは、第1の移動量M1)と参照範囲移動量との関係は、例えば、算出式やルックアップテーブル(LUT)の形式で実現することができる。   The timing controller 24 uses the relationship shown in FIG. 4 to determine the second moving amount M2 from the panning speed detected by the pan detecting circuit 28, that is, the first moving amount M1 determined by the reference range determining circuit 22. The third movement amount M3 is uniquely calculated. The relationship between the pan speed (or the first movement amount M1) and the reference range movement amount shown in FIG. 3 can be realized, for example, in the form of a calculation formula or a lookup table (LUT).

図3のグラフで示すように参照範囲を移動するときの見かけ上の動きv’は図4のグラフのようになる。従来の画像処理装置40では、点線で示すように、パン速度vと見かけ上の動きv’は等しい。本実施形態の画像処理装置10では、実線で示すように、パン速度vの増加に対して見かけ上の動きv’が緩やかに増加する。例えば、パン速度がCのとき、参照範囲移動量が1フレーム当たりBであることから、見かけ上の動きv’はC−Bとなる。   As shown in the graph of FIG. 3, the apparent movement v 'when moving the reference range is as shown in the graph of FIG. In the conventional image processing apparatus 40, as indicated by a dotted line, the pan speed v and the apparent movement v 'are equal. In the image processing apparatus 10 according to the present embodiment, as shown by the solid line, the apparent movement v ′ increases gradually as the pan speed v increases. For example, when the panning speed is C, the reference range movement amount is B per frame, so that the apparent movement v ′ is C−B.

続いて、過去フレームのラインの参照範囲の移動方法について説明する。   Next, a method for moving the reference range of the line in the past frame will be described.

メモリコントローラ14は、タイミングコントローラ24により算出された第2の移動量M2に基づいて、過去フレームをフレームメモリ12から読み出して過去フレーム用ラインメモリに記憶するタイミングを、現在フレームを現在フレーム用ラインメモリに記憶するタイミングに対して遅くする、または、早くすることにより、過去フレームの参照範囲を移動する。   The memory controller 14 reads the past frame from the frame memory 12 based on the second movement amount M2 calculated by the timing controller 24 and stores the current frame in the past frame line memory. The reference range of the past frame is moved by making it late or early with respect to the timing stored in the frame.

例えば、下方向にパンしていることが検出され、図3のグラフから過去フレームのラインの参照範囲を下方向に2ラインだけ移動させればよいことが分かった場合には、図5に示すように、現在フレームのラインの入力タイミングに対して、過去フレームのラインの読み出しタイミングを2ライン分遅くする。これにより、過去フレームのラインLine’#1,Line’#2,Line’#3,…は、現在フレームのラインLine#3の入力タイミングの位置から読み出しが開始される。   For example, when it is detected that panning is downward and it is found from the graph of FIG. 3 that the reference range of the line of the past frame only needs to be moved downward by two lines, FIG. As described above, the read timing of the line of the past frame is delayed by two lines with respect to the input timing of the line of the current frame. As a result, the reading of the lines Line ′ # 1, Line ′ # 2, Line ′ # 3,... In the past frame is started from the position of the input timing of the line Line # 3 in the current frame.

つまり、タイミングコントローラ24およびメモリコントとローラ14の制御により、画像における縦方向への空間的な位置の移動を、フレームメモリ12の読み出しにおける時間的なタイミングの移動だけで実現している。   In other words, the movement of the spatial position in the vertical direction in the image is realized only by the movement of the timing in the reading of the frame memory 12 by the control of the timing controller 24 and the memory controller and the roller 14.

過去フレームのラインの読み出しタイミングを下方向へ2ライン分移動させると、ラインメモリ16上に展開される画素データの範囲は図6のようになる(ラインメモリ16の記憶ライン数が10ラインの場合)。同図の例では、現在フレーム用ラインメモリに現在フレームのラインLine#3,Line#4,…,Line#12が記憶され、これに対応して2ライン分ずれて、過去ライン用ラインメモリに過去フレームのラインLine’#1,Line’#2,…,Line’#10が記憶された状態を表している。   When the readout timing of the lines of the past frame is moved downward by two lines, the range of pixel data developed on the line memory 16 is as shown in FIG. 6 (when the number of storage lines in the line memory 16 is 10 lines) ). In the example shown in the figure, the current frame line Line # 3, Line # 4,..., Line # 12 is stored in the current frame line memory, and correspondingly shifted by two lines in the past line line memory. This represents a state in which the lines Line ′ # 1, Line ′ # 2,..., Line ′ # 10 of the past frame are stored.

このように、現在フレームのラインに対して、過去フレームのラインが2ライン分移動された状態でラインメモリ16上に展開された画素データを用いて動きベクトル検出を行うと、検出されたゼロベクトルは、実際には、下方向に2の大きさを持つベクトルであることを意味する。これは、検出可能な動きベクトルの下方向成分の範囲が2ライン分だけ拡大された状態であると考えることができる。   As described above, when the motion vector detection is performed using the pixel data developed on the line memory 16 with the line of the past frame moved by two lines with respect to the line of the current frame, the detected zero vector is detected. Actually means that the vector has a magnitude of 2 in the downward direction. This can be considered as a state where the range of the downward component of the detectable motion vector is expanded by two lines.

続いて、過去フレームのラインの参照範囲を移動した場合の動きベクトルの検出について説明する。   Next, detection of a motion vector when the reference range of a line in the past frame is moved will be described.

動きベクトル検出回路18による動きベクトルの検出は、参照範囲を移動したかしていないかに関係なく、従来の画像処理装置40の動きベクトル検出回路48と同様に、現在フレーム用ラインメモリに記憶された現在フレーム画素データと、過去フレーム用ラインメモリに記憶された過去フレーム画素データとを利用して実施される。   The motion vector detection by the motion vector detection circuit 18 is stored in the current frame line memory in the same manner as the motion vector detection circuit 48 of the conventional image processing device 40 regardless of whether the reference range is moved or not. This is performed using the current frame pixel data and the past frame pixel data stored in the past frame line memory.

ただし、前述のように、参照範囲を移動した場合には、画面端部(画面の上端部および下端部)では動きベクトル検出回路18は動きベクトルを算出しない。この領域については、画面端処理回路30が、例えば、近くの領域の動きベクトルを参照するか、検出したパン速度を割り当てることにより、動きベクトルを追加する。   However, as described above, when the reference range is moved, the motion vector detection circuit 18 does not calculate a motion vector at the screen edge (the upper edge and the lower edge of the screen). For this region, the screen edge processing circuit 30 adds a motion vector, for example, by referring to a motion vector in a nearby region or assigning a detected pan speed.

続いて、過去フレームのラインの参照範囲を移動した場合の補間フレームの生成について説明する。   Subsequently, generation of an interpolation frame when the reference range of the line of the past frame is moved will be described.

参照範囲を移動した場合、画面端部において、動きベクトルによって対応づけられる過去フレームまたは現在フレームの画素データが、ラインメモリ内に存在しない領域が発生する。この領域については、補間フレーム生成回路20により、例えば、過去フレームの画素データが存在しない領域が現在フレームの画素データで補間され、現在フレームの画素データが存在しない領域が過去フレームの画素データで補間される。   When the reference range is moved, an area where pixel data of the past frame or the current frame associated with the motion vector does not exist in the line memory is generated at the end of the screen. For this area, the interpolation frame generation circuit 20 interpolates, for example, an area where pixel data of the past frame does not exist with pixel data of the current frame, and an area where no pixel data of the current frame exists interpolates with pixel data of the past frame. Is done.

ただし、参照範囲を移動した場合、補間フレームに生成された画素の空間的な位置も移動される。従って、補間フレーム生成回路20は、参照範囲を移動した分の補間フレームの画素の位置の移動分を補正する必要がある。以下、単純のため、動きベクトルも縦方向成分のみを有するとして説明する。   However, when the reference range is moved, the spatial position of the pixel generated in the interpolation frame is also moved. Therefore, the interpolation frame generation circuit 20 needs to correct the movement of the position of the pixel of the interpolation frame for the amount of movement of the reference range. Hereinafter, for the sake of simplicity, it is assumed that the motion vector also has only a vertical component.

図7(A)および(B)は、従来の画像処理装置における補間フレームの生成手順を示す概念図である。同図は、現在フレームと過去フレームとの中間位置(両者の中央位置)に補間フレームを生成する場合の例である。この場合、補間フレーム生成回路50は、動きベクトルVを検出した後(同図(A))、動きベクトルVによって対応づけられた過去フレームの画素と現在フレームの画素と(同図(A))の中間位置に、すなわち、過去フレームの画素を基準としてV/2の位置に補間フレームの画素を生成する(同図(B))。   7A and 7B are conceptual diagrams showing a procedure for generating an interpolation frame in a conventional image processing apparatus. The figure shows an example in which an interpolation frame is generated at an intermediate position between the current frame and the past frame (the center position between both). In this case, after detecting the motion vector V (FIG. (A)), the interpolation frame generation circuit 50 detects the past frame pixels and the current frame pixels associated with the motion vector V (FIG. (A)). , That is, a pixel of the interpolation frame is generated at a position of V / 2 with reference to the pixel of the past frame ((B) in the figure).

図8(A)〜(D)は、本実施形態の画像処理装置における補間フレームの生成手順を示す概念図である。過去フレームのラインの参照範囲が移動量Mだけ移動されると(同図(A))、動きベクトル検出回路18により、本来の動きベクトルVから移動量Mを引いた動きベクトルV−Mが検出される(同図(B))。補間フレーム生成回路20により、この動きベクトルV−Mを用いて補間フレームを生成すると、動きベクトルV−Mによって対応づけられる過去フレームの画素の位置を基準として、M+(V−M)/2=(V/2+M/2)の位置に補間フレームの画素が生成される(同図(C)、図7と同様に中間位置に補間フレームを生成する場合)。図8(A)で参照範囲が移動された分、補間フレームの画素の空間的位置が移動されているため、最後に、補間フレームの画素を−M/2だけ移動させる(参照範囲の移動に対して逆方向へM/2だけ移動させる)ことによりV/2の位置に補正する(同図(D))。   FIGS. 8A to 8D are conceptual diagrams illustrating an interpolation frame generation procedure in the image processing apparatus according to the present embodiment. When the reference range of the line of the past frame is moved by the movement amount M ((A) in the same figure), the motion vector detection circuit 18 detects a motion vector VM obtained by subtracting the movement amount M from the original motion vector V. (FIG. 5B). When the interpolation frame generation circuit 20 generates an interpolation frame using this motion vector VM, M + (VM) / 2 = with reference to the pixel position of the past frame associated with the motion vector VM. A pixel of an interpolation frame is generated at a position of (V / 2 + M / 2) (when an interpolation frame is generated at an intermediate position as in FIG. 7C and FIG. 7). Since the spatial position of the pixel of the interpolation frame has been moved by the amount of movement of the reference range in FIG. 8A, finally, the pixel of the interpolation frame is moved by −M / 2 (to move the reference range). On the other hand, it is moved in the reverse direction by M / 2) to correct to the position of V / 2 ((D) in the figure).

同図(D)に示す補正では、一般的には、同図(A)に示す移動量Mと、補間フレームの位相α(過去フレームからの時間的な補間位置)から補正量を計算して補間フレームの画像全体を移動する。生成する補間フレームの位相がα(0≦α≦1、中間位置に補間フレームを生成する場合にはα=0.5)の場合には、補間フレームに生成した画素からなる−(1−α)Mだけ移動させればよい。   In the correction shown in FIG. 4D, generally, the correction amount is calculated from the movement amount M shown in FIG. 2A and the phase α of the interpolation frame (temporal interpolation position from the past frame). Move the entire image of the interpolation frame. When the phase of the interpolation frame to be generated is α (0 ≦ α ≦ 1, α = 0.5 in the case of generating an interpolation frame at an intermediate position), it is made up of pixels generated in the interpolation frame-(1-α ) Just move M.

補間フレームの画像全体を移動させる処理は、補間フレーム生成回路20により補間処理が開始されるタイミング、すなわち、ラインメモリ16からの画素データの読み出しタイミングを移動することで実現することができる。つまり、動きベクトルの検出の場合と同様に、画像の縦方向への空間的な位置の移動を、ラインメモリ16の読み出しの時間的なタイミングの移動だけで実現することができる。   The process of moving the entire image of the interpolation frame can be realized by moving the timing at which the interpolation process is started by the interpolation frame generation circuit 20, that is, the read timing of the pixel data from the line memory 16. That is, as in the case of detecting a motion vector, the movement of the spatial position in the vertical direction of the image can be realized only by the movement of the timing of reading of the line memory 16.

図9は、過去フレームのラインの読み出しタイミングを遅くした場合の、図10は、過去フレームのラインの読み出しタイミングを早くした場合の、動きベクトル検出および補間フレーム生成の処理タイミングを表すタイミングチャートである。これらのタイミングチャートにおいて、Line#i、Line’#i(1≦i≦N)は現在フレームおよび過去フレームのi番目のライン、V#iは補間フレームのi番目のラインの動きベクトル、C#iは補間フレームのi番目のラインを示す。   FIG. 9 is a timing chart showing the processing timing of motion vector detection and interpolation frame generation when the reading timing of the past frame line is delayed, and FIG. 10 is when the reading timing of the past frame line is advanced. . In these timing charts, Line # i and Line ′ # i (1 ≦ i ≦ N) are the i-th line of the current frame and the past frame, V # i is the motion vector of the i-th line of the interpolation frame, and C # i indicates the i-th line of the interpolation frame.

なお、実際には、過去フレーム用ラインメモリに所定の記憶ライン数の画素データが記憶されてから動きベクトルの検出および補間フレームの生成が開始される。このため、動きベクトルVおよび補正済み動きベクトルVcの生成のタイミングや、補間フレーム生成のタイミングは、現在フレームのラインの入力および過去フレームのラインの読み出しのタイミングに比較して遅れる。図9,10では、このタイミングの遅れは示されていない。また、動きベクトルの検出と補間フレームの生成はピクセル単位で行われる。もしくは、動きベクトルの生成を複数の画素からなるブロックごとに行うことも可能である。   In practice, detection of motion vectors and generation of interpolated frames are started after a predetermined number of storage lines of pixel data are stored in the past frame line memory. For this reason, the generation timing of the motion vector V and the corrected motion vector Vc and the generation timing of the interpolation frame are delayed compared to the input timing of the current frame line and the reading timing of the previous frame line. 9 and 10, this timing delay is not shown. In addition, motion vector detection and interpolation frame generation are performed in units of pixels. Alternatively, it is possible to generate a motion vector for each block composed of a plurality of pixels.

図9のタイミングチャートに示すように、現在フレームのラインの入力タイミングに対して、過去フレームのラインの読み出しタイミングを2ライン分遅くした場合、画面の上端では、現在フレームの最初の2ラインLine#1,Line#2に対応する過去フレームのラインが存在せず、下端では、過去フレームの最後の2ラインLine’#N−1,Line’#Nに対応する現在フレームのラインが存在しない。   As shown in the timing chart of FIG. 9, when the line read timing of the past frame is delayed by two lines with respect to the input timing of the line of the current frame, the first two lines Line # of the current frame are displayed at the upper end of the screen. The line of the past frame corresponding to 1, Line # 2 does not exist, and the line of the current frame corresponding to the last two lines Line ′ # N−1, Line ′ # N of the past frame does not exist at the lower end.

実際の動きベクトルの検出は、同じタイミングで入力される現在フレームのラインの画素データと過去フレームのラインの画素データとのみを利用して行うのではなく、ラインメモリに記憶した複数のラインの画素データを利用して行う。このため、画面の上端および下端の、対応する現在フレームもしくは過去フレームのラインが存在しない領域でも、第1の移動量M1による縦方向成分の削減後に残留した動きベクトルの縦方向成分によっては、動きベクトル検出が可能な場合もある。これを考慮しても、動きベクトル検出ができない可能性は高い。そこで、このような上端および下端の領域では、前述のように、画面端処理回路30が、時間的、もしくは、空間的に近くの領域の動きベクトルを参照するか、検出したパン速度を割り当てることにより、この領域の動きベクトルを追加する補正を行う。   The actual motion vector detection is not performed using only the pixel data of the line of the current frame and the pixel data of the line of the past frame input at the same timing, but the pixels of a plurality of lines stored in the line memory. Use data. For this reason, depending on the vertical component of the motion vector remaining after the reduction of the vertical component by the first movement amount M1 even in the region where the corresponding current frame or past frame line does not exist at the upper and lower ends of the screen, In some cases, vector detection is possible. Even considering this, there is a high possibility that the motion vector cannot be detected. Therefore, in the upper and lower end regions, as described above, the screen end processing circuit 30 refers to the motion vector in the temporally or spatially close region or assigns the detected pan speed. Thus, correction for adding the motion vector of this region is performed.

補間フレーム生成回路20は、補正された動きベクトルに基づいて、補間フレームを生成する。このとき、補間処理開始タイミング、すなわち、ラインメモリ16から画素データを読み出すタイミングを1ライン分遅くすることにより、現在フレームのラインの入力タイミングに対して過去フレームのラインの読み出しタイミングを2ライン分遅くした分の補間フレームの位置の移動分を補正する。   The interpolation frame generation circuit 20 generates an interpolation frame based on the corrected motion vector. At this time, by delaying the interpolation processing start timing, that is, the pixel data reading timing from the line memory 16 by one line, the reading timing of the previous frame line is delayed by two lines with respect to the input timing of the current frame line. The amount of movement of the interpolation frame position is corrected.

これを分かりやすく、図11〜図13を用いて説明する。これらの図は、ラインメモリ16の記憶ライン数がNの場合である。   This will be described with reference to FIGS. In these figures, the number of storage lines in the line memory 16 is N.

図11に示すように、現在フレームのラインLine#1,Line#2,…,Line#Nに対して、過去フレームのラインLine’#1,Line’#2,…,Line’#Nが下方向に2ライン分移動しているとする。そして、動きベクトルの縦方向成分は移動量Mに等しい、すなわち、縦方向成分削減後の動きベクトルの縦方向成分は0であると仮定する。   As shown in FIG. 11, the lines Line ′ # 1, Line ′ # 2,..., Line ′ # N of the past frame are lower than the lines Line # 1, Line # 2,. Suppose that it has moved by two lines in the direction. Then, it is assumed that the vertical component of the motion vector is equal to the movement amount M, that is, the vertical component of the motion vector after the reduction of the vertical component is zero.

この場合、図12に示すように、現在フレームのラインLine#3,Line#4,…,Line#N−1,Line#Nと、過去フレームのラインLine’#1,Line’#2,…,Line’#N−3,Line’#N−2とがそれぞれ対応し、現在フレームのラインLine#1,Line#2に対応する過去フレームのライン、および、過去フレームのラインLine’#N−1,Line’#Nに対応する現在フレームのラインは存在しない。   In this case, as shown in FIG. 12, the lines Line # 3, Line # 4,..., Line # N-1, Line # N of the current frame and the lines Line ′ # 1, Line ′ # 2,. , Line ′ # N-3 and Line ′ # N-2 respectively correspond to the line of the past frame corresponding to the line Line # 1 and Line # 2 of the current frame and the line Line ′ # N− of the past frame. There is no line of the current frame corresponding to 1, Line ′ # N.

従って、縦方向成分削減後の動きベクトルの縦方向成分が0である場合、動きベクトル検出回路18は、過去フレームのラインLine’#1,Line’#2,…,Line’#N−3,Line’#N−2と現在フレームのラインLine#3,Line#4,…,Line#N−1,Line#Nとの間の動きベクトルV#2,V#3,…,V#N−2,V#N−1を検出することができる。しかし、補間フレームのラインC#1,C#Nを生成するために必要な動きベクトルV#1,V#Nを直接検出することができない。   Therefore, when the vertical direction component of the motion vector after the reduction of the vertical direction component is 0, the motion vector detection circuit 18 uses the lines Line ′ # 1, Line ′ # 2,. Motion vectors V # 2, V # 3,..., V # N− between Line ′ # N-2 and the current frame lines Line # 3, Line # 4,. 2, V # N−1 can be detected. However, the motion vectors V # 1 and V # N necessary to generate the interpolation frame lines C # 1 and C # N cannot be directly detected.

このため、画面端処理回路30は、例えば、周囲の動きベクトルまたは予測したパン速度を参照して、動きベクトルV#1,V#Nを追加する補正を行う。そして、補間フレーム生成回路20は、補正された動きベクトルを用いて補間フレームを生成する。図13に示すように、補間フレームのラインC#1,C#Nは、それぞれ、現在フレームのLine#2、過去フレームのLine’#N−1を参照して生成される。生成された補間フレームが期待する結果となっていることが分かる。   Therefore, the screen edge processing circuit 30 performs correction for adding the motion vectors V # 1 and V # N with reference to surrounding motion vectors or the predicted pan speed, for example. Then, the interpolation frame generation circuit 20 generates an interpolation frame using the corrected motion vector. As illustrated in FIG. 13, lines C # 1 and C # N of the interpolation frame are generated with reference to Line # 2 of the current frame and Line ′ # N−1 of the past frame, respectively. It can be seen that the generated interpolation frame has the expected result.

これに対し、図10のタイミングチャートに示すように、現在フレームのラインの入力タイミングに対して、過去フレームのラインの読み出しタイミングを2ライン分早くした場合、画面の上端では、過去フレームの最初の2ラインLine’#1,Line’#2に対応する現在フレームのラインが存在せず、下端では、現在フレームの最後の2ラインLine#N−1,Line#Nに対応する過去フレームのラインが存在しない。   On the other hand, as shown in the timing chart of FIG. 10, when the read timing of the line of the past frame is advanced by two lines with respect to the input timing of the line of the current frame, the first frame of the past frame is displayed at the upper end of the screen. There is no line of the current frame corresponding to the two lines Line ′ # 1 and Line ′ # 2, and the lines of the past frame corresponding to the last two lines Line # N−1 and Line # N of the current frame are present at the lower end. not exist.

同様に、動きベクトル検出回路18は、この領域の動きベクトルを検出することができないため、画面端処理回路30が、この領域の動きベクトルを追加する補正を行う。   Similarly, since the motion vector detection circuit 18 cannot detect a motion vector in this area, the screen edge processing circuit 30 performs correction for adding the motion vector in this area.

補間フレーム生成回路20は、補正された動きベクトルに基づいて、補間フレームを生成する。このとき、補間処理開始タイミング、すなわち、ラインメモリ16から画素データを読み出すタイミングを1ライン分早くすることにより、現在フレームのラインの入力タイミングに対して、過去フレームのラインの読み出しタイミングを2ライン分早くした分の補間フレームの位置の移動分を補正する。   The interpolation frame generation circuit 20 generates an interpolation frame based on the corrected motion vector. At this time, by interpolating the interpolation processing start timing, that is, the timing for reading out the pixel data from the line memory 16 by one line, the reading timing of the line in the past frame is equivalent to two lines with respect to the input timing of the line in the current frame. The amount of movement of the interpolated frame position that has been accelerated is corrected.

次に、画像処理装置10の動作を説明する。   Next, the operation of the image processing apparatus 10 will be described.

動きベクトル検出回路18では、動きベクトルV−M2が検出される。しかし、パン検出回路28では、この動きベクトルV−M2を用いてパン速度を検出すると、本来の正しいパン速度を検出することができない。   The motion vector detection circuit 18 detects a motion vector V-M2. However, if the pan detection circuit 28 detects the pan speed using the motion vector V-M2, the original correct pan speed cannot be detected.

そこでまず、補正回路26により、動きベクトル検出回路18によって検出された動きベクトルV−M2が、本来の正しい動きベクトルVに補正される。   Therefore, first, the correction circuit 26 corrects the motion vector V-M2 detected by the motion vector detection circuit 18 to the original correct motion vector V.

続いて、パン検出回路28により、補正回路26によって補正された動きベクトルVに基づいて、パン動画なのかどうかの検出が行われ、パン動画である場合にはさらにパン速度が検出される。ここで求めるパン速度は、過去フレームと現在フレームとの間のパン速度の予測値である。   Subsequently, based on the motion vector V corrected by the correction circuit 26, the pan detection circuit 28 detects whether or not the video is a panning video. If the panning video is a panning video, the panning speed is further detected. The pan speed obtained here is a predicted value of the pan speed between the past frame and the current frame.

そして、参照範囲決定回路22により、パン検出回路28によって検出されたパン速度から第1の移動量M1が決定され、タイミングコントローラ24により、第1の移動量M1に対応する第2の移動量M2および第2の移動量M2に対応する第3の移動量M3が算出される。   Then, the first movement amount M1 is determined by the reference range determination circuit 22 from the pan speed detected by the pan detection circuit 28, and the second movement amount M2 corresponding to the first movement amount M1 is determined by the timing controller 24. Then, a third movement amount M3 corresponding to the second movement amount M2 is calculated.

フレームメモリ12には、メモリコントローラ14の制御により、現在フレーム(入力画像)の直前の過去フレームの過去フレーム画素データが記憶される。   The frame memory 12 stores the past frame pixel data of the past frame immediately before the current frame (input image) under the control of the memory controller 14.

現在フレーム画素データは、メモリコントローラ14の制御により、ラインの順番に受信され、現在フレーム画素データが現在フレーム用ラインメモリに記憶される。また、フレームメモリ12に記憶された過去フレーム画素データが、ラインの順番にフレームメモリ12から読み出され、現在フレーム用ラインメモリに記憶された現在フレームのラインに対応する過去フレーム画素データが過去フレーム用ラインメモリに記憶される。   The current frame pixel data is received in the order of the lines under the control of the memory controller 14, and the current frame pixel data is stored in the current frame line memory. The past frame pixel data stored in the frame memory 12 is read from the frame memory 12 in the line order, and the past frame pixel data corresponding to the line of the current frame stored in the current frame line memory is stored in the past frame. Stored in the line memory.

図14は、過去フレームと現在フレームとの間で下方向の動きがある場合の、補間フレームの生成工程を表す概念図である。同図には、現在フレームの各ラインの現在フレーム画素データの入力タイミングを基準タイミングとして、過去フレームの対応するラインの過去フレーム画素データの読み出しタイミング、動きベクトル検出回路18による動きベクトルの検出タイミング、画面端処理回路が動きベクトルを追加するタイミング、補間フレームの対応するラインの補間フレーム画素データの生成タイミングが示されている。図14に示すように、過去フレームのラインは、現在フレームのラインの入力タイミングに対して、第2の移動量M2だけ遅くしたタイミングでフレームメモリ12から読み出される。つまり、過去フレーム用ラインメモリには、現在フレーム用ラインメモリに記憶された現在フレームのラインの範囲に対して、第2の移動量M2だけ後ろ(下)へ移動された範囲のラインの過去フレーム画素データが記憶される。   FIG. 14 is a conceptual diagram showing an interpolation frame generation process when there is a downward movement between a past frame and a current frame. The figure shows the input timing of the current frame pixel data of each line of the current frame as the reference timing, the read timing of the past frame pixel data of the corresponding line of the past frame, the detection timing of the motion vector by the motion vector detection circuit 18, The timing at which the screen edge processing circuit adds a motion vector and the generation timing of interpolation frame pixel data for the corresponding line of the interpolation frame are shown. As shown in FIG. 14, the line of the past frame is read from the frame memory 12 at a timing delayed by the second movement amount M2 with respect to the input timing of the line of the current frame. In other words, the past frame line memory stores the past frame of the line in the range moved backward (down) by the second movement amount M2 with respect to the range of the line of the current frame stored in the current frame line memory. Pixel data is stored.

現在フレーム用ラインメモリおよび過去フレーム用ラインメモリに所定の記憶ライン数の画素データが記憶されると、動きベクトル検出回路18により、画像情報である、現在フレーム用ラインメモリに記憶された現在フレーム画素データと、過去フレーム用ラインメモリに記憶された過去フレーム画素データとに基づいて、過去フレームと現在フレームとの間の動きベクトルが検出される。   When pixel data of a predetermined number of storage lines is stored in the current frame line memory and the past frame line memory, the current frame pixel stored in the current frame line memory, which is image information, by the motion vector detection circuit 18 Based on the data and past frame pixel data stored in the past frame line memory, a motion vector between the past frame and the current frame is detected.

動きベクトル検出回路18により検出された動きベクトルは、過去フレームのラインのフレームメモリ12からの読み出しタイミングが、現在フレームのラインの入力タイミングに対して第2の移動量M2だけ移動されているため、第2の移動量M2だけ縦方向成分が削減される。図16の場合と同様に、実際には、動きベクトルVおよび補正済み動きベクトルVcの生成のタイミングや、補間フレーム生成のタイミングは、現在フレームのラインの入力および過去フレームのラインの読み出しのタイミングに比較して遅れる。図14では、この遅れは示されていない。   Since the motion vector detected by the motion vector detection circuit 18 is read from the frame memory 12 of the line of the past frame by the second movement amount M2 with respect to the input timing of the line of the current frame, The vertical component is reduced by the second movement amount M2. As in the case of FIG. 16, in practice, the generation timing of the motion vector V and the corrected motion vector Vc and the generation timing of the interpolation frame are the same as the input timing of the current frame line and the reading timing of the previous frame line. It is late compared. In FIG. 14, this delay is not shown.

また、画面端処理回路30により、第3の移動量M3に基づいて、動きベクトル検出回路18により検出された動きベクトルV−M2に対して、画面上下端部のラインの動きベクトルを追加する処理が行われ、補正済み動きベクトルVc−M2が生成される。さらに、検出した動きベクトルを補間フレームの画素に割り付ける割付処理や、動きベクトルを割り付けることができなかった補間フレームの画素の動きベクトルを補う補間処理等の処理を行うことも可能である。   Further, the screen edge processing circuit 30 adds the motion vector of the line at the upper and lower ends of the screen to the motion vector V-M2 detected by the motion vector detection circuit 18 based on the third movement amount M3. And a corrected motion vector Vc-M2 is generated. Furthermore, it is also possible to perform processing such as allocation processing for allocating the detected motion vector to the pixels of the interpolation frame and interpolation processing for compensating for the motion vector of the pixel of the interpolation frame for which no motion vector could be allocated.

最後に、補間フレーム生成回路20により、補正済みベクトルVc−M2と、現在フレーム用ラインメモリに記憶された現在フレーム画素データと、過去フレーム用ラインメモリに記憶された過去フレーム画素データとに基づいて、過去フレームと現在フレームとの間の補間フレームの補間フレーム画素データが生成される。画面端処理回路30による画面上下端部の動きベクトルの追加は、動きベクトル検出回路18による動きベクトル検出と同一のフレーム期間内、すなわち、現在フレームの画素データが入力されている期間内に実施することも可能である。もしくは、次のフレーム期間内、すなわち、現在フレームの次のフレームの画素データが入力されている期間内に実施することも可能である。後者の場合、補間フレーム生成回路20による補間フレームの生成も、次のフレーム期間に行う必要がある。前者の場合には、動きベクトル検出と同一のフレーム期間内に補間フレームの生成を行うことも、次のフレーム期間に行うことも可能である。   Finally, based on the corrected vector Vc-M2, the current frame pixel data stored in the current frame line memory, and the past frame pixel data stored in the past frame line memory by the interpolation frame generation circuit 20. Interpolated frame pixel data of an interpolated frame between the past frame and the current frame is generated. The addition of the motion vectors at the upper and lower ends of the screen by the screen edge processing circuit 30 is performed within the same frame period as the motion vector detection by the motion vector detection circuit 18, that is, within the period in which pixel data of the current frame is input. It is also possible. Alternatively, it is also possible to carry out within the next frame period, that is, within the period in which the pixel data of the next frame of the current frame is input. In the latter case, the interpolation frame generation circuit 20 also needs to generate an interpolation frame in the next frame period. In the former case, it is possible to generate an interpolated frame within the same frame period as the motion vector detection, or to perform it in the next frame period.

補間フレームの生成を次のフレーム期間内に行う場合には、動きベクトル検出回路18が動きベクトル検出に利用するための現在フレームおよび過去フレームの画素データを記憶するラインメモリとは別に、補間フレーム生成回路20が補間フレーム生成において利用するための現在フレームおよび過去フレームの画素データを記憶するラインメモリを設けることが好ましい。この場合、前述のように、動きベクトルの検出をそれぞれの画素について行うのではなく複数の画素からなるブロックごとに行うことにすれば、動きベクトル検出に利用するラインメモリには一部の画素の画素データのみを記憶すればよい。これにより、動きベクトル検出に利用するラインメモリは、補間フレーム検出に利用するためにそれぞれの画素の画素データを記憶するラインメモリと比較して、容量を小さくすることができる。   When the interpolated frame is generated within the next frame period, the interpolated frame is generated separately from the line memory for storing the current frame and past frame pixel data used by the motion vector detection circuit 18 for motion vector detection. It is preferable to provide a line memory for storing pixel data of a current frame and a past frame for use by the circuit 20 in generating an interpolation frame. In this case, as described above, if the motion vector is not detected for each pixel but for each block made up of a plurality of pixels, the line memory used for motion vector detection includes some pixels. Only pixel data need be stored. Thus, the capacity of the line memory used for motion vector detection can be reduced compared to the line memory storing pixel data of each pixel for use in interpolation frame detection.

図17は、本発明の画像処理装置で生成される補間フレームの位相および位置を表す概念図である。図18に示すように、過去フレームの画素と現在フレームの画素との間の動きベクトルをV、補間フレームの位相をαとすると、従来の画像処理装置では、補間フレームの画素は、動きベクトルVによって対応付けられる過去フレームの画素の位置を基準としてαVの位置に生成される。これに対して、画像処理装置10では、図17に示すように、フレームメモリ12からの過去フレーム画素データの読み出しタイミングを第2の移動量M2だけ移動したことにより、補間フレームの画像は、移動後の過去フレームの画素の位置を基準として、α(V−M2)の位置に生成される。そのため、図18の場合と比較して、補間フレームの画素は、α(V−M2)+M2−αV=(1−α)M2だけ移動する。   FIG. 17 is a conceptual diagram showing the phase and position of an interpolation frame generated by the image processing apparatus of the present invention. As shown in FIG. 18, assuming that the motion vector between the pixels of the past frame and the pixel of the current frame is V and the phase of the interpolation frame is α, in the conventional image processing apparatus, the pixel of the interpolation frame is the motion vector V Is generated at the position of αV with reference to the position of the pixel of the past frame associated with. On the other hand, in the image processing apparatus 10, as shown in FIG. 17, the image of the interpolation frame is moved by moving the read timing of the past frame pixel data from the frame memory 12 by the second movement amount M2. It is generated at the position of α (V−M2) with reference to the position of the pixel in the subsequent past frame. Therefore, compared with the case of FIG. 18, the pixel of the interpolation frame moves by α (V−M2) + M2−αV = (1−α) M2.

これに応じて、補間フレーム生成回路20では、補間処理の開始タイミング(補間処理に利用する画素データのラインメモリ16からの読み出しを開始するタイミング)が第3の移動量M3=(1−α)M2だけ遅くされる。これにより、過去フレームのラインの参照範囲を第2の移動量M2だけ移動させたことによって移動した補間フレームの画素の位置を、本来の正しい位置に戻すことができる。   In response to this, in the interpolation frame generation circuit 20, the start timing of the interpolation processing (timing to start reading out the pixel data used for the interpolation processing from the line memory 16) is the third movement amount M3 = (1-α). Delayed by M2. Thereby, the position of the pixel of the interpolation frame moved by moving the reference range of the line of the past frame by the second movement amount M2 can be returned to the original correct position.

一方、図15は、過去フレームと現在フレームとの間で上方向の動きがある場合の、補間フレームの生成工程を表す概念図である。   On the other hand, FIG. 15 is a conceptual diagram illustrating an interpolation frame generation process when there is an upward movement between a past frame and a current frame.

上方向の動きがある場合の動作は、過去フレームのラインが、現在フレームのラインの入力タイミングに対して、第2の移動量M2だけ早くしたタイミングでフレームメモリ12から読み出される点と、補間処理の開始タイミング、つまり、補間処理に利用する画素データのラインメモリ16からの読み出しを開始するタイミングが(1−α)M2だけ早くされる点を除いて、下方向の動きがある場合と同様である。   The operation when there is an upward movement is that the line of the past frame is read from the frame memory 12 at a timing that is advanced by the second movement amount M2 with respect to the input timing of the line of the current frame, and interpolation processing This is the same as the case where there is a downward movement, except that the start timing of the pixel data, that is, the timing to start reading out the pixel data from the line memory 16 used for the interpolation processing is advanced by (1-α) M2. is there.

画像処理装置10では、従来の画像処理装置40と比べて、回路を大きく変更することなく、しかも回路規模を大幅に増大させることもなく、高速なパン動画に対してもフレーム補間を行うことが可能になる。   Compared to the conventional image processing apparatus 40, the image processing apparatus 10 can perform frame interpolation even for high-speed panning videos without greatly changing the circuit and without greatly increasing the circuit scale. It becomes possible.

本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
The present invention is basically as described above.
Although the present invention has been described in detail above, the present invention is not limited to the above-described embodiment, and it is needless to say that various improvements and modifications may be made without departing from the gist of the present invention.

10、40 画像処理装置
12、42 フレームメモリ
14、44 メモリコントローラ
16、46 ラインメモリ
18、48 動きベクトル検出回路
20、50 補間フレーム生成回路
22 参照範囲決定回路
24 タイミングコントローラ
26 補正回路
28 パン検出回路
30 画面端処理回路
10, 40 Image processing device 12, 42 Frame memory 14, 44 Memory controller 16, 46 Line memory 18, 48 Motion vector detection circuit 20, 50 Interpolation frame generation circuit 22 Reference range determination circuit 24 Timing controller 26 Correction circuit 28 Pan detection circuit 30 Screen edge processing circuit

Claims (6)

それぞれが複数の画素を含む横方向の複数のラインで構成される複数のフレームの間に、補間フレームを生成する画像処理装置であって、
現在フレームを構成する複数のラインの画素の画素値を表す現在フレーム画素データを、該ラインの順番に受信し、第1の所定の記憶ライン数を有する現在フレーム用ラインメモリに記憶するとともに、フレームメモリに記憶された、前記現在フレームの直前の過去フレームを構成する複数のラインの画素の画素値を表す過去フレーム画素データを、該ラインの順番に前記フレームメモリから読み出し、第2の所定の記憶ライン数を有する過去フレーム用ラインメモリに記憶するメモリ制御回路と、
前記補間フレームの画素の動きを示す動きベクトルを受け取り、該動きベクトルによって対応づけられる、前記現在フレーム用ラインメモリに記憶された現在フレーム画素データと前記過去フレーム用ラインメモリに記憶された過去フレーム画素データとに基づいて、前記補間フレームのそれぞれのラインの画素の画素値を表す補間フレーム画素データを生成する補間フレーム生成回路とを備え、
前記補間フレーム生成回路は、前記動きベクトルとして、前記補間フレームの全体的な動きの速度であるパン速度の縦方向成分に応じて定めた第1の移動量M1だけ、縦方向成分を削減した縦方向成分削減済み動きベクトルを前記動きベクトルとして受け取り、
前記メモリ制御回路は、前記現在フレーム用ラインメモリに前記現在フレームを構成するそれぞれのラインの現在フレーム画素データを記憶するタイミングに対して相対的に定められる、前記過去フレーム用ラインメモリに前記過去フレームを構成する対応するラインの過去フレーム画素データを記憶するタイミングを、前記第1の移動量M1がゼロである場合の標準タイミングから、該第1の移動量M1に対応する第2の移動量M2だけ移動することを特徴とする画像処理装置。
An image processing apparatus that generates an interpolated frame between a plurality of frames each composed of a plurality of horizontal lines each including a plurality of pixels,
Current frame pixel data representing pixel values of pixels of a plurality of lines constituting the current frame is received in the order of the lines, stored in a current frame line memory having a first predetermined storage line number, and a frame Past frame pixel data representing pixel values of pixels of a plurality of lines constituting the past frame immediately before the current frame stored in the memory is read out from the frame memory in the order of the lines, and is stored in a second predetermined storage. A memory control circuit for storing in a past frame line memory having the number of lines;
A current frame pixel data stored in the current frame line memory and a past frame pixel stored in the past frame line memory, which receives a motion vector indicating the motion of the pixel of the interpolation frame and is associated with the motion vector. An interpolation frame generation circuit that generates interpolation frame pixel data representing pixel values of pixels of each line of the interpolation frame based on the data,
The interpolation frame generation circuit reduces the vertical component as the motion vector by the first movement amount M1 determined according to the vertical component of the pan speed, which is the overall motion speed of the interpolation frame. A direction vector reduced motion vector is received as the motion vector;
The memory control circuit is configured to determine the past frame in the past frame line memory, which is determined relative to the timing of storing the current frame pixel data of each line constituting the current frame in the current frame line memory. From the standard timing when the first movement amount M1 is zero, the second movement amount M2 corresponding to the first movement amount M1 is stored. An image processing apparatus characterized by only moving.
前記メモリ制御回路は、
前記現在フレームを構成する複数のラインの現在フレーム画素データを、第1の開始タイミングから、ラインごとに所定の時間を要して前記現在フレーム用ラインメモリに記憶し、前記過去フレームを構成する複数のラインの過去フレーム画素データを、前記第1の開始タイミングに対して相対的に定められる第2の開始タイミングから、ラインごとに前記所定の時間を要して前記過去フレーム用ラインメモリに記憶するものであり、かつ、
前記第2の開始タイミングを、前記第1の移動量M1がゼロである場合の標準開始タイミングから、前記第2の移動量M2だけ移動することを特徴とする請求項1記載の画像処理装置。
The memory control circuit includes:
Current frame pixel data of a plurality of lines constituting the current frame is stored in the current frame line memory for a predetermined time for each line from the first start timing, and a plurality of data constituting the past frame is stored. The past frame pixel data of the current line is stored in the past frame line memory taking the predetermined time for each line from the second start timing determined relatively to the first start timing. And
The image processing apparatus according to claim 1, wherein the second start timing is moved by the second movement amount M2 from a standard start timing when the first movement amount M1 is zero.
前記補間フレーム生成回路が、前記補間フレームを構成する複数のラインの補間フレーム画素データを、前記第1の開始タイミングに対して相対的に定められる第3の開始タイミングから、ラインごとに前記所定の時間を要して生成するものであり、かつ、
前記第3の開始タイミングを、前記第1の移動量M1がゼロである場合の標準開始タイミングから、前記第2の移動量M2に応じて定めた移動量M3だけ移動する、補間フレーム生成回路制御部を備えることを特徴とする請求項2記載の画像処理装置。
The interpolation frame generation circuit outputs the interpolation frame pixel data of a plurality of lines constituting the interpolation frame for each line from a third start timing that is determined relative to the first start timing. It takes time to generate, and
Interpolation frame generation circuit control for moving the third start timing by a movement amount M3 determined according to the second movement amount M2 from a standard start timing when the first movement amount M1 is zero. The image processing apparatus according to claim 2, further comprising a unit.
前記補間フレームが、前記過去フレームからα(0<α<1)、前記現在フレームから1−αだけ相対的に離れた時間位置の補間フレームであり、前記補間フレーム生成回路制御部が、前記移動量M3をM3=(1−α)M2となるように移動することを特徴とする請求項3記載の画像処理装置。   The interpolated frame is an interpolated frame at a time position relatively separated from the past frame by α (0 <α <1) and 1-α from the current frame, and the interpolated frame generation circuit control unit moves the moving frame. 4. The image processing apparatus according to claim 3, wherein the amount M3 is moved so that M3 = (1−α) M2. 前記パン速度を、前記過去フレームの直前のフレームの画素と該過去フレームの画素との間の動きベクトルの分布に基づいて求めた、該過去フレームのパン速度を利用して算出する、パン速度算出回路をさらに備えることを特徴とする請求項1ないし4のいずれかに記載の画像処理装置。   A pan speed calculation that calculates the pan speed using the pan speed of the past frame obtained based on a motion vector distribution between a pixel of the frame immediately before the past frame and a pixel of the past frame. The image processing apparatus according to claim 1, further comprising a circuit. 前記現在フレーム用ラインメモリに記憶した現在フレーム画素データと、前記過去フレーム用ラインメモリに記憶した過去フレーム画素データとを利用して、前記第1の移動量M1だけ縦方向の成分を削減した、前記過去フレームの画素と前記現在フレームの画素との間の動きベクトルを検出し、前記縦方向成分削減済み動きベクトルとして前記補間フレーム生成回路に供給する、動きベクトル検出回路をさらに備えることを特徴とする請求項1ないし5のいずれかに記載の画像処理装置。   Using the current frame pixel data stored in the current frame line memory and the past frame pixel data stored in the past frame line memory, the vertical component is reduced by the first movement amount M1, A motion vector detection circuit that detects a motion vector between a pixel in the past frame and a pixel in the current frame and supplies the motion vector to the interpolation frame generation circuit as the motion vector with the reduced vertical component; The image processing apparatus according to claim 1.
JP2011107873A 2011-05-13 2011-05-13 Image processing device Expired - Fee Related JP5841743B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011107873A JP5841743B2 (en) 2011-05-13 2011-05-13 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011107873A JP5841743B2 (en) 2011-05-13 2011-05-13 Image processing device

Publications (2)

Publication Number Publication Date
JP2012239093A true JP2012239093A (en) 2012-12-06
JP5841743B2 JP5841743B2 (en) 2016-01-13

Family

ID=47461589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011107873A Expired - Fee Related JP5841743B2 (en) 2011-05-13 2011-05-13 Image processing device

Country Status (1)

Country Link
JP (1) JP5841743B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813490A (en) * 2020-08-14 2020-10-23 Oppo广东移动通信有限公司 Method and device for processing interpolation frame

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61159880A (en) * 1985-01-07 1986-07-19 Nippon Hoso Kyokai <Nhk> System converting device
US4663665A (en) * 1985-01-07 1987-05-05 Nippon Hoso Kyokai TV system conversion apparatus
JPH02224488A (en) * 1989-02-27 1990-09-06 Canon Inc Picture transmission system
JPH11205799A (en) * 1998-01-20 1999-07-30 Nec Corp Motion vector detector and its method
JP2006101267A (en) * 2004-09-30 2006-04-13 Sony Corp Image processing apparatus and method, recording medium, and program
JP2006270683A (en) * 2005-03-25 2006-10-05 Sanyo Electric Co Ltd Coding device and method
JP2010041519A (en) * 2008-08-06 2010-02-18 Sharp Corp Frame rate conversion apparatus, frame rate conversion method, television receiver, frame rate conversion program, and recording medium with the program recorded thereon
JP2011035656A (en) * 2009-07-31 2011-02-17 Sanyo Electric Co Ltd Interpolation frame generator and display device mounted by the same

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61159880A (en) * 1985-01-07 1986-07-19 Nippon Hoso Kyokai <Nhk> System converting device
US4663665A (en) * 1985-01-07 1987-05-05 Nippon Hoso Kyokai TV system conversion apparatus
JPH02224488A (en) * 1989-02-27 1990-09-06 Canon Inc Picture transmission system
US5459523A (en) * 1989-02-27 1995-10-17 Canon Kabushiki Kaisha Image transmission device
JPH11205799A (en) * 1998-01-20 1999-07-30 Nec Corp Motion vector detector and its method
JP2006101267A (en) * 2004-09-30 2006-04-13 Sony Corp Image processing apparatus and method, recording medium, and program
JP2006270683A (en) * 2005-03-25 2006-10-05 Sanyo Electric Co Ltd Coding device and method
JP2010041519A (en) * 2008-08-06 2010-02-18 Sharp Corp Frame rate conversion apparatus, frame rate conversion method, television receiver, frame rate conversion program, and recording medium with the program recorded thereon
JP2011035656A (en) * 2009-07-31 2011-02-17 Sanyo Electric Co Ltd Interpolation frame generator and display device mounted by the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813490A (en) * 2020-08-14 2020-10-23 Oppo广东移动通信有限公司 Method and device for processing interpolation frame

Also Published As

Publication number Publication date
JP5841743B2 (en) 2016-01-13

Similar Documents

Publication Publication Date Title
US8427579B2 (en) Frame rate conversion apparatus and method for ultra definition image
US7535513B2 (en) Deinterlacing method and device in use of field variable partition type
US8941778B2 (en) Video display apparatus
JP2004297719A (en) Frame interpolation method and image display system using the same
US8542883B2 (en) System and method of adaptive vertical search range tracking for motion estimation in digital video
TWI408620B (en) Image processing method for determining motion vectors of interpolated picture and related apparatus thereof
JP2004194317A (en) Deinterlacing apparatus and method
TWI490819B (en) Image processing method and apparatus thereof
EP2161687A1 (en) Video signal processing device, video signal processing method, and video signal processing program
JP2006331136A (en) Moving vector detection apparatus
JP2006310985A (en) Frame rate conversion apparatus, and display apparatus
JP5841743B2 (en) Image processing device
US20090324102A1 (en) Image processing apparatus and method and program
JP2008011454A (en) Device and method for moving image frame rate conversion
JP5241632B2 (en) Image processing circuit and image processing method
JP2007060192A (en) Interpolating frame generator, its method, image display system and program and recording medium
JP2009181067A (en) Image display device and method, and image processing device and method
JP2016048810A (en) Frame rate conversion device and frame rate conversion method
JP5820213B2 (en) Image processing apparatus and method, and imaging apparatus
US9277168B2 (en) Subframe level latency de-interlacing method and apparatus
JP2007288483A (en) Image converting apparatus
JP3366059B2 (en) Video signal processing device
JP5880116B2 (en) Video signal processing apparatus and method
JP5095472B2 (en) Image interpolating apparatus, image interpolating method, television receiving apparatus, video reproducing apparatus, control program, and computer-readable recording medium
JP2011055021A (en) Image generating device, display system and image generating method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

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: 20151027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151116

R150 Certificate of patent or registration of utility model

Ref document number: 5841743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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