WO1999044369A1 - Device and method for coding image - Google Patents
Device and method for coding image Download PDFInfo
- Publication number
- WO1999044369A1 WO1999044369A1 PCT/JP1999/000891 JP9900891W WO9944369A1 WO 1999044369 A1 WO1999044369 A1 WO 1999044369A1 JP 9900891 W JP9900891 W JP 9900891W WO 9944369 A1 WO9944369 A1 WO 9944369A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion
- motion detection
- search range
- image encoding
- circuit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Definitions
- the present invention relates to an image encoding device and method compliant with, for example, MPEG (Moving Picture Image Coding Experts Group). Background technology
- the MPEG system is a coding system for compressing image data by combining orthogonal transform (Discrete Cosine Transform; DCT), motion compensation prediction, and variable length coding.
- orthogonal transform Discrete Cosine Transform; DCT
- motion compensation prediction motion compensation prediction
- variable length coding variable length coding
- Fig. 1 shows the configuration of an image encoding device that complies with the MPEG system.
- This image encoding device is supplied with image data via an input terminal T1.
- This image data is input to the motion vector detection circuit 21 and the subtraction circuit 22.
- the motion vector detection circuit 21 obtains a motion vector between the current frame and a reference frame (for example, the previous frame) using the input image data and supplies the motion vector to the motion compensation circuit 23.
- the image data of the reference frame is also stored in the frame memory 24. This image data is supplied to the motion compensation circuit 23.
- the motion compensation circuit 23 uses the motion vector sent from the motion vector detection circuit 21 to perform motion compensation for the image data sent from the frame memory 24.
- the output of the motion compensation circuit 23 is added to the subtraction circuit 22 It is sent to the arithmetic circuit 25.
- the subtraction circuit 22 subtracts the image data of the current frame supplied from the input terminal T1 from the image data of the motion-compensated reference frame supplied from the motion compensation circuit 23 to perform prediction.
- the error data is obtained and supplied to the DCT circuit 26.
- the DCT circuit 26 performs DCT processing on the prediction error data and sends it to the quantizer 27.
- the quantizer 27 quantizes the output of the DCT circuit 26 and sends it to a variable length coding circuit (not shown).
- the output of the quantizer 27 is also supplied to the inverse quantizer 29. Then, it undergoes inverse quantization processing, and its output undergoes inverse DCT processing in the inverse DCT circuit 30, is returned to the original prediction error data, and is supplied to the addition circuit 25.
- the adder circuit 25 adds the prediction error data to the output data of the motion compensation circuit 23 to obtain the image data of the current frame.
- the obtained image data is stored in the frame memory 24 as the image data of the next reference frame.
- the motion vector detection circuit 21 in order to perform motion compensation of a moving image by the motion compensation circuit 23, it is necessary to detect the motion vector by the motion vector detection circuit 21.
- the reference frame is divided into equal blocks, a search block of the same size as the reference block is moved within the search range in the past or future frame (search frame), and the best matching block is searched for. Let the distance be the motion vector.
- search frame a search block of the same size as the reference block is moved within the search range in the past or future frame (search frame), and the best matching block is searched for.
- search frame the search frame
- the best matching block is searched for.
- the distance be the motion vector.
- searching for the block that has the highest matching all pixels in the reference block and the search block are subtracted, and the sum of the absolute values or the sum of the squares is calculated.
- Full search process A matching method is known.
- the size of the block in the full search block matching method includes 8 pixels horizontally by 8 pixels vertically (hereinafter abbreviated as 8 ⁇ 8), 16 ⁇ 16, and the like.
- a reference block RB of MXN is set in a reference frame 41.
- an inspection block SB having the same size as the reference block R B is set in the search frame 42.
- the inspection block S B is moved around a predetermined search range 43 of ⁇ m X soil n around the same position as the reference project R B. Then, the degree of coincidence between the reference block: RB and the inspection block SB is calculated, the inspection block having the highest degree of coincidence is set as a matching block, and a motion vector is obtained from this matching block.
- the motion vector of the reference block RB is calculated. (u, V).
- the test block that minimizes the sum of absolute value differences and the sum of squares of the differences of each pixel at the same position in the reference block RB and the test block SB is defined as the test block with the highest matching degree.
- one sequence of a moving image is divided into a GOP (Group of Picture) composed of a plurality of frames (one picture) and encoded.
- the GOP consists of an intra-coded image (I-picture), an already-coded inter-frame coded image (one P-picture) predicted from the temporally previous frame, and an already-coded temporally 2f And inter-frame coded images (B pictures) predicted from the frames.
- motion detection is performed using P3, which is a P picture, as a reference frame, and 10, which is an I picture, as a search frame.
- B-picture B1 is used as a reference frame
- I0 and P3 are used as search frames to perform motion detection in both directions.
- motion detection in both directions is performed using B2, which is the B picture, as a reference frame and 10 and P3 as search frames.
- the search range required for motion detection increase in proportion to the frame interval between the reference frame and the search frame.
- the block size is 16 x 16
- the search range is 16 in the horizontal and vertical directions as shown in Fig. 4A when one frame is separated, and as shown in Fig. 4B, when the search range is two frames apart, as shown in Fig. 4B.
- the search range when the search range is expanded in proportion to the frame interval in this way, the hard amount required for motion detection also increases to four times and nine times respectively when one frame is apart.
- a very large hand amount is required to perform motion detection three frames apart, such as motion detection using P3 as a reference frame and I0 as a search frame. Therefore, in order to reduce the amount of hardware, there are other methods for estimating the motion between frames based on the past motion vector history, controlling the search range, and expanding the search range.
- the search range is correctly adjusted according to the movement.
- the prediction accuracy similarly decreases.
- the present invention has been made in view of the above-mentioned circumstances, and has been described in connection with a case where a large movement is made, a time change of the movement speed is irregular, or there is acceleration or deceleration. It is an object of the present invention to provide an image encoding device and method capable of appropriately setting a range, performing highly accurate motion prediction, and improving image quality.
- an image encoding apparatus normally uses image data of a reference block based on a detection result from a simple first motion detection unit that operates earlier in time.
- the search range of the second motion detecting means for calculating the motion vector by calculating the image data of the inspection block within the search range and the control block is controlled by the control determining means.
- the operation amount of the first motion detection means is smaller than the second operation amount.
- the first motion detection means performs simplified motion detection by reducing the amount of calculation by projection for converting two dimensions into one dimension.
- the control judging means is configured to detect a motion from the first motion detecting means.
- the search range of the second motion detecting means is controlled based on the amount and the motion vector already obtained by the second motion detecting means.
- the second motion detection means may have at least two motion detection blocks capable of setting an independent search range.
- the image encoding method normally uses an image data of a reference block based on a detection result from a simple first motion detection step that operates earlier in time.
- the control determination step controls the search range in a second motion detection step of calculating a motion vector by calculating the image data of the inspection block in the search range overnight.
- the calculation amount of the first motion detection step is smaller than the second calculation amount. Also, in the first motion detection step, a simplified type of motion detection is performed by reducing the amount of calculation by projection for converting two dimensions into one dimension. Further, the control determining step includes setting a search range of the second motion detecting step based on the motion amount from the first motion detecting step and the motion vector already obtained in the second motion detecting step. Control.
- the second motion detection step may include at least two motion detection blocks capable of setting an independent search range.
- FIG. 1 is a block diagram showing a configuration of a general image encoding device conforming to the MPEG system.
- FIG. 2 is a diagram for explaining a block matching method
- FIG. 3 is a diagram illustrating an example of motion detection in MPEG).
- 4A to 4C are diagrams showing the relationship between the frame interval and a desirable search range.
- FIG. 5 is a block diagram of the image encoding device according to the embodiment of the present invention.
- 6A to 6D are diagrams for explaining the operation of the above embodiment.
- FIG. 7 is a diagram showing a relationship between a current field and a search field, which is input to the simple motion detection circuit included in the image coding device shown in FIG.
- FIGS. 8A to 8C are diagrams for explaining an operation in which the motion detection circuit sets the search range using the setting parameters sent from the control determination circuit constituting the above embodiment.
- FIG. 9A and FIG. 9B are a diagram and a circuit configuration block diagram for explaining a horizontal vector detection operation of the simple motion detection circuit configuring the above embodiment.
- FIG. 10 is a diagram for explaining the vertical vector detection operation of the simple motion detection circuit.
- FIG. 11 is a block diagram of another embodiment of the present invention.
- BEST MODE FOR CARRYING OUT THE INVENTION an image coding apparatus conforming to the MPEG system.
- a simple motion detection circuit 2 that operates earlier in time, an image data of a reference block and search are performed.
- the motion detection circuit 3 calculates the motion vector by calculating the image data of the inspection block in the range and the motion detection circuit 3 based on the motion amount detected by the simple motion detection circuit 2.
- a control decision circuit 4 for controlling the search range.
- Various modifications and application examples can be considered without departing from the spirit of the present invention. Therefore, the gist of the present invention is not limited to the embodiments.
- the simple motion detection circuit 2 requires less computation than the motion detection circuit 3. Specifically, the amount of calculation is reduced by using a projection process for converting two dimensions to one dimension as described later.
- an input image (current field) 101 is input from an input terminal to a memory 1 and a simple motion detection circuit 2.
- simple motion detection may be performed in frame units.
- detection accuracy is higher when performed in field units.
- the stored search field 102 is input to the simple motion detection circuit 2.
- a motion amount 105 which is a simple motion vector is output and input to the control judgment circuit 4.
- the control decision circuit 4 indicates the amount of motion between frames (between the current frame 103 and the search frame 104) actually used by the motion detection circuit 3. Estimate by calculation. The operation actually performed is, for example, integrating the motion amount 105 between one field according to the required frames.
- the motion detection circuit 3 inputs the current frame 103 and the search frame 104 to obtain the final motion vector 107 actually used for motion compensation.
- the control decision circuit 4 sends a search range setting parameter 106 to the motion detection circuit 3 in accordance with the predicted motion amount by the simple motion vector 105 to set the search range. Is done.
- motion detection is performed using P3 as a P picture as a reference frame and I0 as an I picture as a search frame.
- motion detection in both directions is performed using B picture B 1 as a reference frame and I 0 and P 3 as search frames.
- an encoding is performed by performing motion detection in both directions using B2, which is a B picture, as a reference frame and I0 and P3 as search frames.
- Each frame has a field structure consisting of a top field and a bottom field as shown in Fig. 6B.
- the simple motion detection circuit 2 obtains a motion amount 105 that indicates, for example, where the entire image is moving.
- the motion amount 105 is considered to be the motion vector of the entire frame. Actually, the inside of the frame may be divided and the unit may be obtained.
- the leftmost data in Fig. 6C is the amount of movement between IOt (TOP) and 10b (Bottom), and is obtained at time 1.
- TOP IOt
- 10b Bottom
- the amount of motion between I 0b and B 1t is determined.
- the amount of motion between all the fields from I0 to P3 from time 1 to time 7 is obtained. By adding these, for example, the amount of movement between I0 and P3 is obtained by time 7.
- the values obtained by actually adding the six fields are shown in the white bar graph in Fig. 6D.
- the time at which the detection between I 0 and P 3 is performed by the motion detection circuit 3 in FIG. 5 is time 8 and 9, so the motion detection circuit 2 and the control decision circuit 4 predict the motion amount in advance at this time.
- the search range can be set. An example of setting the search range will be described later.
- the black bar graph in Fig. 6C is a value obtained as a prediction from the motion vector distribution by the conventional method.
- the leftmost black value is the amount of motion from B1t to I0b, and is one of the motion vectors from B1 to I0 in the original motion vector detection. It is obtained from the distribution of the vector of the part.
- the motion vector distribution of a part of FIG. For example, when the motion vector between fields is known as in this example, the prediction method multiplies the value by 6 to predict the motion between three frames. The predicted values are shown in the black bar graph in FIG. 6D.
- the value on the left side is a value obtained by accumulating the values obtained by simply calculating the amount of movement of the present invention.
- the actual motion amount is almost the same.
- the predicted value according to the present invention is Is actually close to the amount of movement.
- a large error may occur between I0 and P3.
- the motion detection circuit 3 has two motion detection circuits ME U ME 2 whose search range can be set independently will be described with reference to FIGS. 8A to 8C.
- the motion detection circuits ME1 and ME2 indicate the center vectors SMV1 and SMV2 of the search range.
- FIG. 8A shows an example of the search range when a large amount of motion is not detected.
- the two motion detection circuits ME1 and ME2 are arranged side by side.
- FIG. 8B shows an example in which a large amount of motion is predicted in the horizontal direction.
- ME 1 is set at the center of the coordinates to cover a small motion vector
- ME 2 is set so that the center of the search range SMV 2 has a large amount of motion in the predicted horizontal direction.
- the reason that one motion detection circuit always covers a small motion vector is that if there is a motion vector with a small motion, missing it will greatly degrade the image quality.
- the motion detection circuit 3 has two motion detection circuits capable of independently setting the search range.
- Figure 8C shows an example in which there are two types of predicted motion amount and three motion detection circuits. The movement in this example is equivalent to the case where the upper half of the screen moves to the right and the lower half moves to the opposite left.
- the simple motion detection circuit 2 needs to be able to determine the motion of a large area in a frame with a simple circuit configuration, and finds the motion vector for each small macro block like the original motion detection circuit It is not necessary.
- a specific example will be described in which horizontal and vertical projections are obtained for almost the entire frame, and this is used to detect the motion vector of the entire frame.
- the motion vector obtained by the simple motion detection circuit 2 is not used directly for normal motion compensation, but is used for setting the search range of the conventional motion detection circuit. It is not necessary and a simple moving vector is sufficient.
- the screen may be divided and a simple motion vector (movement amount) may be obtained for each unit. A simple motion vector that allows you to know which part of the screen is moving is sufficient.
- a simple method is used in which the horizontal and vertical motion vectors are independently detected.
- Figure 9A shows the horizontal vector detection method
- Figure 9B shows the circuit diagram.
- the vertical projection 13 is obtained by adding all the pixels of each vertical line to the portion excluding the three lines on both sides of the current field.
- This hanging Direct projection 13 is obtained by converting the two-dimensional image information of the current field into one-dimensional image information.
- the vertical projection 14 is obtained by adding all the pixels of each vertical line. The operation is to find the position of the search field vertical projection that best matches the vertical projection of the current field.
- the position of the bold frame shown in the vertical projection 14 of the search field indicates that the motion vector is zero.
- the sum of the absolute differences of each of the seven locations from ⁇ 3 to +3 is calculated, and the position with the minimum value is determined as the horizontal motion vector.
- a motion vector with one-pixel accuracy is used, but in practice, an accuracy of a considerably large unit such as four-pixel accuracy is often sufficient.
- the current field is input to the adder circuit 5 and the vertical projection 13 is obtained by the register 8.
- the data of the search field is input to the adder circuit 6 and the vertical projection 14 is stored in the register 9.
- the difference / absolute value calculation circuit 11 and the addition circuit 7 calculate the sum of absolute differences using the vertical projections 13 and 14 read from the register 8 and the register 9 and store the sum in the register 10. Then, two vertical projections 13 and 14 that minimize the sum of absolute differences are obtained by the minimum value circuit 12, and a horizontal motion vector 108 is obtained therefrom.
- the horizontal projection 15 of the current field obtained by adding all the pixel values of one line is obtained, and the horizontal projection 16 of the search field is calculated. Find the minimum position of the sum of absolute differences, and find the vertical motion vector. Since the circuit diagram has the same configuration as that of FIG. 9B, the description is omitted.
- a low-frequency band is included in one field.
- a method of obtaining a motion vector for an image obtained by reducing the size of an image over time can be considered.
- the other embodiment is also an image coding apparatus conforming to MPEG, but a new motion vector 110 is input from the motion detection circuit 3 to the control decision circuit 4 in the image coding apparatus shown in FIG. This is a path that has been established.
- the control determination circuit 4 makes a determination using both the motion amount 105 and the motion vector 110.
- the motion vector 110 corresponds to the value used in the conventional method shown by the black bar in FIG. 6C.
- the control decision circuit 4 predicts the motion using the motion amount 105 when the temporal accuracy is required, and conversely, when the temporal accuracy is not required or when the spatial accuracy is required. Is required, the motion amount is predicted using the motion vector 110.
- An example of the case where the temporal accuracy is required is a case where the motion largely changes like “IO to P 3” in FIG. 6D, and in this case, the motion amount 105 is used.
- the case where the temporal accuracy is not required is a case where the motion is almost constant as shown in “P3 to P6” in FIG. 6D.
- the motion vector with high vector accuracy 1 10 is used for the judgment.
- the motion vector is predicted using the motion vector 110.
- the motion amount 105 and the motion vector 110 it is possible to predict the motion amount with higher accuracy than when each is performed alone. Becomes possible.
- the motion when a large motion is detected, the motion can be detected in advance, so that a search range of a high-precision motion detection circuit to be finally used can be appropriately set.
- the image quality can be greatly improved.
- the motion prediction accuracy is improved, and as a result, the encoded image quality is improved.
- the image quality is greatly improved by improving the motion prediction accuracy.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
From a memory, a stored search field is inputted to a simple movement detecting circuit. From the simple movement detecting circuit, the amount of movement is outputted and inputted to a control judging circuit. A movement detecting circuit receives the current frame and a search frame and finds a final moving vector practically used for movement compensation. From the control judging circuit, setting parameters for setting up a search range are sent to the movement detection circuit according to a predicted amount of movement predicted using a simple moving vector, and thereby a search range is set up. Thus, the problem that the conventional full-search block matching method requires a very large scale of circuit when an image in which movement is very quick as in a sport program is handled is solved.
Description
明 細 書 画像符号化装置及び方法 技 術 分 野 本発明は、 例えば M P E G ( Moving P icture Image Coding Exper ts Group )に準拠した画像符号化装置及び方法に関する。 背 景 技 術 TECHNICAL FIELD The present invention relates to an image encoding device and method compliant with, for example, MPEG (Moving Picture Image Coding Experts Group). Background technology
M P E G方式は、 直交変換(Discrete Cosine Transform; D C T )と動き補償予測と可変長符号化とを組み合わせて画像データの圧 縮を行う符号化方式である。 The MPEG system is a coding system for compressing image data by combining orthogonal transform (Discrete Cosine Transform; DCT), motion compensation prediction, and variable length coding.
図 1に M P E G方式に準拠した画像符号化装置の構成を示す。 こ の画像符号化装置には入力端子 T 1を介して画像データが供給され る。 この画像デ一夕は動きべク トル検出回路 2 1 と減算回路 2 2と に入力される。 動きべク トル検出回路 2 1は、 入力された画像デ一 夕を用いて現フレームと参照フレーム (例えば前フレーム) との動 きベク トルを求め、 動き補償回路 2 3へ与える。 Fig. 1 shows the configuration of an image encoding device that complies with the MPEG system. This image encoding device is supplied with image data via an input terminal T1. This image data is input to the motion vector detection circuit 21 and the subtraction circuit 22. The motion vector detection circuit 21 obtains a motion vector between the current frame and a reference frame (for example, the previous frame) using the input image data and supplies the motion vector to the motion compensation circuit 23.
参照フレームの画像デ一夕はフレームメモリ 2 4内にも格納され ている。 この画像データは動き補償回路 2 3に供給される。 動き補 償回路 2 3では、 動きべク トル検出回路 2 1から送られてく る動き べク トルを用いて、 フレームメモリ 2 4から送られてくる画像デ一 夕の動き補償を行う。 動き補償回路 2 3の出力は減算回路 2 2と加
算回路 2 5へ送られる。 The image data of the reference frame is also stored in the frame memory 24. This image data is supplied to the motion compensation circuit 23. The motion compensation circuit 23 uses the motion vector sent from the motion vector detection circuit 21 to perform motion compensation for the image data sent from the frame memory 24. The output of the motion compensation circuit 23 is added to the subtraction circuit 22 It is sent to the arithmetic circuit 25.
減算回路 2 2では、 入力端子 T 1から供給される現フレームの画 像デ一夕と、 動き補償回路 2 3から供給される動き補償された参照 フレームの画像デ一夕とを減算して予測誤差デ一夕を求め、 D C T 回路 2 6へ供給する。 The subtraction circuit 22 subtracts the image data of the current frame supplied from the input terminal T1 from the image data of the motion-compensated reference frame supplied from the motion compensation circuit 23 to perform prediction. The error data is obtained and supplied to the DCT circuit 26.
D C T回路 2 6は、 この予測誤差デ一夕を D C T処理して量子化 器 2 7へ送る。 量子化器 2 7は D C T回路 2 6の出力を量子化し、 可変長符号化回路 (図示せず) へ送る。 The DCT circuit 26 performs DCT processing on the prediction error data and sends it to the quantizer 27. The quantizer 27 quantizes the output of the DCT circuit 26 and sends it to a variable length coding circuit (not shown).
量子化器 2 7の出力は逆量子化器 2 9にも供給される。 そして、 ここで逆量子化処理を受け、 その出力は逆 D C T回路 3 0において 逆 D C T処理を受けて、 元の予測誤差デ一夕に戻され、 加算回路 2 5へ与えられる。 The output of the quantizer 27 is also supplied to the inverse quantizer 29. Then, it undergoes inverse quantization processing, and its output undergoes inverse DCT processing in the inverse DCT circuit 30, is returned to the original prediction error data, and is supplied to the addition circuit 25.
加算回路 2 5では、 この予測誤差データを動き補償回路 2 3の出 カデ一夕に加算して現フレームの画像デ一夕を求める。 求められた 画像データは次の参照フレームの画像デ一夕としてフレームメモリ 2 4に格納される。 The adder circuit 25 adds the prediction error data to the output data of the motion compensation circuit 23 to obtain the image data of the current frame. The obtained image data is stored in the frame memory 24 as the image data of the next reference frame.
この中で、 動き補償回路 2 3にて動画像の動き補償を行うために は、 動きべク トル検出回路 2 1にて動きべク トルの検出を行う必要 がある。 通常、 基準フレーム内を等しいブロックに分割し、 過去又 は、 未来のフレーム (検索フレーム) で基準ブロックと同様の大き さの検索プロヅクをサーチ範囲内で移動させ、 最もマッチングする プロックを探し、 その距離を動きべク トルとする。 一般に最もマツ チングするブロックを探す際には、 基準ブロック、 検索ブロック内 の全ての画素同士の引き算を行い、 その絶対値和、 又は二乗和を求 め、 その値が最小の位置を動きべク トルとするフルサーチプロヅク
マヅチング法が知られている。 Among them, in order to perform motion compensation of a moving image by the motion compensation circuit 23, it is necessary to detect the motion vector by the motion vector detection circuit 21. Normally, the reference frame is divided into equal blocks, a search block of the same size as the reference block is moved within the search range in the past or future frame (search frame), and the best matching block is searched for. Let the distance be the motion vector. In general, when searching for the block that has the highest matching, all pixels in the reference block and the search block are subtracted, and the sum of the absolute values or the sum of the squares is calculated. Full search process A matching method is known.
このフルサーチプロックマツチング法における、 ブロックのサイ ズとしては、 横 8画素 X縦 8画素 (以下 8 X 8と略す) 、 1 6 x 1 6等がある。 次に図 2を参照しながら上記ブロックマッチング法に ついて説明する。 The size of the block in the full search block matching method includes 8 pixels horizontally by 8 pixels vertically (hereinafter abbreviated as 8 × 8), 16 × 16, and the like. Next, the block matching method will be described with reference to FIG.
図 2において、 基準フレーム 41内に MX Nの基準ブロック R B を設定する。 また、 検索フレーム 42内に基準プロック R Bと同じ サィズの検査ブロック S Bを設定する。 検査ブロック S Bは、 基準 プロヅク R Bと同じ位置を中心に ±m X土 nの所定のサーチ範囲 4 3内を巡って移動される。 そして、 基準ブロック: R Bと検査ブロヅ ク S Bとの一致度を計算し、 最も一致度の高い検査プロックをマツ チングブロックとし、 このマッチングプロックから動きべク トルを 求める。 In FIG. 2, a reference block RB of MXN is set in a reference frame 41. In addition, an inspection block SB having the same size as the reference block R B is set in the search frame 42. The inspection block S B is moved around a predetermined search range 43 of ± m X soil n around the same position as the reference project R B. Then, the degree of coincidence between the reference block: RB and the inspection block SB is calculated, the inspection block having the highest degree of coincidence is set as a matching block, and a motion vector is obtained from this matching block.
すなわち、 基準ブロック R Bと同じ位置にある検査プロック S B 0から (u, V) シフ トした位置にある検査ブロック S B kの一致 度が最も高い場合には、 その基準ブロック RBの動きべク トルを (u, V ) とする。 このとき、 基準プロヅク RBと検査ブロック S Bの同じ位置の画素毎の絶対値差分の総和や画素毎の差分の 2乗の 総和等が最小になる検査プロックを最も一致度の高い検査プロック とする。 In other words, if the test block SB k at the position (u, V) shifted from the test block SB 0 at the same position as the reference block RB has the highest degree of coincidence, the motion vector of the reference block RB is calculated. (u, V). At this time, the test block that minimizes the sum of absolute value differences and the sum of squares of the differences of each pixel at the same position in the reference block RB and the test block SB is defined as the test block with the highest matching degree.
MP E G方式においては動画像の 1シーケンスを複数のフレーム (ピクチャ一) からなる GOP(Group of Picture)に分割して符号 化を行う。 GOPはフレーム内符号化画像 (Iピクチャー) と、 既 に符号化された時間的に前のフレームから予測するフレーム間符号 化画像 (Pピクチャ一) と、 既に符号化された時間的に前後の 2フ
レームから予測するフレーム間符号化画像 (Bピクチャー) とから 構成される。 In the MPEG method, one sequence of a moving image is divided into a GOP (Group of Picture) composed of a plurality of frames (one picture) and encoded. The GOP consists of an intra-coded image (I-picture), an already-coded inter-frame coded image (one P-picture) predicted from the temporally previous frame, and an already-coded temporally 2f And inter-frame coded images (B pictures) predicted from the frames.
例えば図 3においては、 始めに Pピクチャーである P 3を基準フ レ一ムとし、 I ピクチャ一である 1 0を検索フレームとして動き検 出を行う。 次に Bピクチャーである B 1を基準フレームとし、 I 0 と P 3を検索フレームとして両方向の動き検出を行う。 次に Bピク チヤ一である B 2を基準フレ一ムとし、 1 0と P 3を検索フレーム として両方向の動き検出を行う。 For example, in FIG. 3, first, motion detection is performed using P3, which is a P picture, as a reference frame, and 10, which is an I picture, as a search frame. Next, B-picture B1 is used as a reference frame, and I0 and P3 are used as search frames to perform motion detection in both directions. Next, motion detection in both directions is performed using B2, which is the B picture, as a reference frame and 10 and P3 as search frames.
図 4 A〜図 4 Cに示すように、 一般に動き検出に必要なサーチ範 囲は基準フレームと検索フレームとのフレーム間隔に比例して増大 することが望ましい。 ここでは、 プロックサイズが 1 6 x 1 6の場 合について説明を行う。 例えば、 1 フレーム離れた場合に図 4 Aの ようにサーチ範囲が水平方向, 垂直方向に士 1 6とすると、 2フレ —ム離れた場合には図 4 Bに示すように士 3 2, 3 フレーム離れた 場合には図 4 Cに示すように ± 4 8のサーチ範囲とすることが望ま しい。 As shown in FIGS. 4A to 4C, it is generally desirable that the search range required for motion detection increase in proportion to the frame interval between the reference frame and the search frame. Here, the case where the block size is 16 x 16 will be described. For example, assuming that the search range is 16 in the horizontal and vertical directions as shown in Fig. 4A when one frame is separated, and as shown in Fig. 4B, when the search range is two frames apart, as shown in Fig. 4B. When the frames are separated, it is desirable to set the search range to ± 48 as shown in FIG. 4C.
ところで、 このようにフレーム間隔に比例してサーチ範囲を広げ た場合には、 動き検出に必要なハ一ド量もそれぞれ 1 フレーム離れ た場合の 4倍、 9倍と増加してしまう。 つまり、 P 3を基準フレー ムとし、 I 0を検索フレームとした動き検出のような 3フレーム間 離れた動き検出を行うためには非常に大きなハ一ド量が必要となる。 そこで、 ハード量を削減するために、 過去の動きベク トルの履歴 によりフレーム間の動きを推定してサーチ範囲を制御し、 サーチ範 囲を拡大する他の方法などがある。 By the way, when the search range is expanded in proportion to the frame interval in this way, the hard amount required for motion detection also increases to four times and nine times respectively when one frame is apart. In other words, a very large hand amount is required to perform motion detection three frames apart, such as motion detection using P3 as a reference frame and I0 as a search frame. Therefore, in order to reduce the amount of hardware, there are other methods for estimating the motion between frames based on the past motion vector history, controlling the search range, and expanding the search range.
ところで、 スポーツ番組などのように非常に動きの激しい画像を
扱う場合、 従来のフルサーチブロックマッチング法では、 非常に回 路量が大きくなるという問題があつた。 By the way, very dynamic images such as sports programs When handling, the conventional full search block matching method had a problem that the circuit volume was extremely large.
また回路量を削減するために従来の、 過去のべク トルの履歴によ りサーチ範囲を制御する他の方法においても、 突然大きな動きがあ ると、 その動きに追従してサーチ範囲を正しく設定することが出来 なかった。 例えば、 カメラを突然大きくパンし始める場合などがこ れに相当する。 また、 動き速度が不規則であったり、 加速、 減速が ある場合には、 同様に予測精度が落ちるという問題があった。 発 明 の 開 示 本発明は、 上記実情に鑑みてなされたものであり、 大きな動きが あつたときや動きの速度の時間的変化が不規則であったり、 加速、 減速があるときでも、 サーチ範囲を適切に設定可能とし、 精度の高 い動きの予測を行い、 画質を向上させることができる画像符号化装 置及び方法の提供を目的とする。 Also, in other conventional methods of controlling the search range based on past vector histories to reduce the amount of circuit, if there is suddenly large movement, the search range is correctly adjusted according to the movement. Could not set. For example, this is the case when the camera suddenly starts panning large. In addition, when the movement speed is irregular, or when there is acceleration or deceleration, the prediction accuracy similarly decreases. DISCLOSURE OF THE INVENTION The present invention has been made in view of the above-mentioned circumstances, and has been described in connection with a case where a large movement is made, a time change of the movement speed is irregular, or there is acceleration or deceleration. It is an object of the present invention to provide an image encoding device and method capable of appropriately setting a range, performing highly accurate motion prediction, and improving image quality.
本発明に係る画像符号化装置は、 上記課題を解決するために、 時 間的に先に動作する簡易型の第 1の動き検出手段からの検出結果に 基づいて、 通常に基準プロックの画像データとサーチ範囲内の検査 プロックの画像デ一夕とを演算して動きべク トルを検出する第 2の 動き検出手段の、 上記サーチ範囲を制御判定手段が制御する。 ここで、 上記第 1の動き検出手段の演算量は、 上記第 2の演算量 よりも少ない。 また、 この第 1の動き検出手段は、 2次元を 1次元 に変換する射影により演算量を減らして簡易型の動き検出を行う。 また、 上記制御判定手段は、 上記第 1の動き検出手段からの動き
量及び上記第 2の動き検出手段により既に求められた動きべク トル に基づいて上記第 2の動き検出手段のサーチ範囲を制御する。 In order to solve the above-mentioned problems, an image encoding apparatus according to the present invention normally uses image data of a reference block based on a detection result from a simple first motion detection unit that operates earlier in time. The search range of the second motion detecting means for calculating the motion vector by calculating the image data of the inspection block within the search range and the control block is controlled by the control determining means. Here, the operation amount of the first motion detection means is smaller than the second operation amount. Further, the first motion detection means performs simplified motion detection by reducing the amount of calculation by projection for converting two dimensions into one dimension. Further, the control judging means is configured to detect a motion from the first motion detecting means. The search range of the second motion detecting means is controlled based on the amount and the motion vector already obtained by the second motion detecting means.
ここで、 上記第 2の動き検出手段は、 独立したサーチ範囲を設定 可能な少なく とも 2個の動き検出ブロックを有してもよい。 Here, the second motion detection means may have at least two motion detection blocks capable of setting an independent search range.
本発明に係る画像符号化方法は、 上記課題を解決するために、 時 間的に先に動作する簡易型の第 1の動き検出工程からの検出結果に 基づいて、 通常に基準プロックの画像デ一夕とサーチ範囲内の検査 プロックの画像デ一夕とを演算して動きべク トルを検出する第 2の 動き検出工程の、 上記サーチ範囲を制御判定工程が制御する。 In order to solve the above-mentioned problems, the image encoding method according to the present invention normally uses an image data of a reference block based on a detection result from a simple first motion detection step that operates earlier in time. The control determination step controls the search range in a second motion detection step of calculating a motion vector by calculating the image data of the inspection block in the search range overnight.
ここで、 上記第 1の動き検出工程の演算量は、 上記第 2の演算量 よりも少ない。 また、 この第 1の動き検出工程は、 2次元を 1次元 に変換する射影により演算量を減らして簡易型の動き検出を行う。 また、 上記制御判定工程は、 上記第 1の動き検出工程からの動き 量及び上記第 2の動き検出工程により既に求められた動きべク トル に基づいて上記第 2の動き検出工程のサーチ範囲を制御する。 Here, the calculation amount of the first motion detection step is smaller than the second calculation amount. Also, in the first motion detection step, a simplified type of motion detection is performed by reducing the amount of calculation by projection for converting two dimensions into one dimension. Further, the control determining step includes setting a search range of the second motion detecting step based on the motion amount from the first motion detecting step and the motion vector already obtained in the second motion detecting step. Control.
ここで、 上記第 2の動き検出工程は、 独立したサーチ範囲を設定 可能な少なく とも 2個の動き検出ブロックを有してもよい。 Here, the second motion detection step may include at least two motion detection blocks capable of setting an independent search range.
このように、 本発明によれば、 画像に大きな動きがあった場合に、 事前にその動きが検出できる為に最終的に使用する高精度な動き検 出回路のサーチ範囲を適切に設定可能となる。 また、 画質を向上さ せることが可能となる。 また動きの速度の時間的変化が不規則であ つたり、 加速、 減速がある場合でも、 精度の高い動きの予測を行う ことが可能となる。 図面の簡単な説明
図 1は、 M P E G方式に準拠した一般的な画像符号化装置の構成 を示すブロック図である。 As described above, according to the present invention, when there is a large motion in an image, the motion can be detected in advance, so that the search range of a high-precision motion detection circuit finally used can be appropriately set. Become. Also, the image quality can be improved. In addition, even if the temporal change in the speed of the movement is irregular, or if there is acceleration or deceleration, it is possible to accurately predict the movement. BRIEF DESCRIPTION OF THE FIGURES FIG. 1 is a block diagram showing a configuration of a general image encoding device conforming to the MPEG system.
図 2は、 ブロックマッチング法について説明するための図である ( 図 3は、 M P E Gにおける動き検出の例を示す図である。 FIG. 2 is a diagram for explaining a block matching method ( FIG. 3 is a diagram illustrating an example of motion detection in MPEG).
図 4 A〜図 4 Cは、 フレーム間隔と望ましいサーチ範囲との関係 を示す図である。 4A to 4C are diagrams showing the relationship between the frame interval and a desirable search range.
図 5は、 本発明の実施の形態となる画像符号化装置のプロック図 である。 FIG. 5 is a block diagram of the image encoding device according to the embodiment of the present invention.
図 6 A〜図 6 Dは、 上記実施の形態の動作を説明するための図で ある。 6A to 6D are diagrams for explaining the operation of the above embodiment.
図 7は、 上記図 5に示した画像符号化装置を構成する簡易動き検 出回路に入力される、 現フィールドと検索フィールドとの関係を示 す図である。 FIG. 7 is a diagram showing a relationship between a current field and a search field, which is input to the simple motion detection circuit included in the image coding device shown in FIG.
図 8 A〜図 8 Cは、 上記実施の形態を構成する制御判断回路から 送られる設定パラメ一夕を用いて動き検出回路がサーチ範囲を設定 する動作を説明するための図である。 FIGS. 8A to 8C are diagrams for explaining an operation in which the motion detection circuit sets the search range using the setting parameters sent from the control determination circuit constituting the above embodiment.
図 9 A及び図 9 Bは、 上記実施の形態を構成する簡易動き検出回 路の水平方向べク トル検出動作を説明するための図及び回路構成ブ 口ック図である。 FIG. 9A and FIG. 9B are a diagram and a circuit configuration block diagram for explaining a horizontal vector detection operation of the simple motion detection circuit configuring the above embodiment.
図 1 0は、 上記簡易動き検出回路の垂直方向べク トル検出動作を 説明するための図である。 FIG. 10 is a diagram for explaining the vertical vector detection operation of the simple motion detection circuit.
図 1 1は、 本発明の他の実施の形態のブロック図である。 発明を実施するための最良の形態
以下、 本発明に係る画像符号化装置及び方法の実施の形態につい て説明する。 この実施の形態は、 M P E G方式に準拠した画像符号 化装置であり、 図 5に示すように、 時間的に先に動作する簡易動き 検出回路 2と、 基準プロックの画像デ一夕とサ一チ範囲内の検査ブ 口ックの画像デ一夕とを演算して動きべク トルを検出する動き検出 回路 3と、 簡易動き検出回路 2で検出された動き量に基づいて動き 検出回路 3のサーチ範囲を制御する制御判断回路 4とを備えて成る。 なお、 本発明の趣旨を逸脱しない範囲においては、 さまざまな変形 や応用例が考えうる。 従って、 本発明の要旨は実施の形態に限定さ れるものではない。 FIG. 11 is a block diagram of another embodiment of the present invention. BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of an image encoding apparatus and method according to the present invention will be described. This embodiment is an image coding apparatus conforming to the MPEG system. As shown in FIG. 5, a simple motion detection circuit 2 that operates earlier in time, an image data of a reference block and search are performed. The motion detection circuit 3 calculates the motion vector by calculating the image data of the inspection block in the range and the motion detection circuit 3 based on the motion amount detected by the simple motion detection circuit 2. And a control decision circuit 4 for controlling the search range. Various modifications and application examples can be considered without departing from the spirit of the present invention. Therefore, the gist of the present invention is not limited to the embodiments.
簡易動き検出回路 2は、 動き検出回路 3よりも演算量を少なくで きる。 具体的には、 後述するように 2次元を 1次元に変換する射影 処理を用いて演算量を少なく している。 The simple motion detection circuit 2 requires less computation than the motion detection circuit 3. Specifically, the amount of calculation is reduced by using a projection process for converting two dimensions to one dimension as described later.
この図 5において、 入力画像 (現フィ一ルド) 1 0 1は、 入力端 子からメモリ 1 と簡易動き検出回路 2に入力される。 ここではフィ —ルド単位で簡易動き検出回路 2が動作する場合について説明する。 実際には、 フレーム単位で簡易動き検出を行ってもよいが、 イン夕 —レース画像の場合には、 フィ一ルド単位で行った方が検出精度が 高くなる。 In FIG. 5, an input image (current field) 101 is input from an input terminal to a memory 1 and a simple motion detection circuit 2. Here, a case where the simple motion detection circuit 2 operates in units of fields will be described. Actually, simple motion detection may be performed in frame units. However, in the case of in-race images, detection accuracy is higher when performed in field units.
メモリ 1からは、 保存された検索フィールド 1 0 2が簡易動き検 出回路 2に入力される。 簡易動き検出回路 2からは、 簡易動きべク トルである動き量 1 0 5が出力され、 制御判断回路 4に入力される。 この制御判断回路 4では、 動き検出回路 3で実際に使用するフレー ム間 (現フレーム 1 0 3と検索フレーム 1 0 4の間) の動き量を演
算により推定する。 実際に行う演算は、 例えば、 必要なフレーム間 に応じて、 1 フィールド間の動き量 1 0 5を積算する。 From the memory 1, the stored search field 102 is input to the simple motion detection circuit 2. From the simple motion detection circuit 2, a motion amount 105 which is a simple motion vector is output and input to the control judgment circuit 4. The control decision circuit 4 indicates the amount of motion between frames (between the current frame 103 and the search frame 104) actually used by the motion detection circuit 3. Estimate by calculation. The operation actually performed is, for example, integrating the motion amount 105 between one field according to the required frames.
動き検出回路 3では、 現フレーム 1 0 3及び検索フレーム 1 0 4 を入力して実際に動き補償に使用する最終動きべク トル 1 0 7を求 める。 このとき、 制御判断回路 4からは、 簡易動きべク トル 1 0 5 による予測動き量に応じてサーチ範囲の設定パラメ一夕 1 0 6がこ の動き検出回路 3に送られてサーチ範囲が設定される。 The motion detection circuit 3 inputs the current frame 103 and the search frame 104 to obtain the final motion vector 107 actually used for motion compensation. At this time, the control decision circuit 4 sends a search range setting parameter 106 to the motion detection circuit 3 in accordance with the predicted motion amount by the simple motion vector 105 to set the search range. Is done.
次に、 図 6 A〜図 6 Dを用いて上記画像符号化装置の動作を従来 例と比較しながら説明する。 この図 6 A〜 6 Dにおいて" I " はィ ントラフレーム、 " B " は両方向予測フレーム、 " P " は前方向予 測フレームである。 続く数字は、 フレーム番号を 0から順番に示し ている。 Next, the operation of the image encoding apparatus will be described with reference to FIGS. 6A to 6D in comparison with a conventional example. 6A to 6D, "I" is an intra frame, "B" is a bidirectional predicted frame, and "P" is a forward predicted frame. The following numbers indicate the frame numbers in order from 0.
先ず、 図 6 Aに示すような順番でェンコ一ドを行う場合について 説明を行う。 すなわち、 始めに Pピクチャーである P 3を基準フレ —ムとし、 I ピクチャーである I 0を検索フレームとして動き検出 を行う。 次に Bピクチャーである B 1を基準フレームとし、 I 0と P 3を検索フレームとして両方向の動き検出を行う。 次に Bピクチ ヤーである B 2を基準フレームとし、 I 0と P 3を検索フレームと して両方向の動き検出を行ってェンコ一ドを行う。 First, the case where the encoding is performed in the order shown in FIG. 6A will be described. That is, first, motion detection is performed using P3 as a P picture as a reference frame and I0 as an I picture as a search frame. Next, motion detection in both directions is performed using B picture B 1 as a reference frame and I 0 and P 3 as search frames. Next, an encoding is performed by performing motion detection in both directions using B2, which is a B picture, as a reference frame and I0 and P3 as search frames.
各フレームは、 図 6 Bに示すように トップフィールド (Top Fiel d) 及びボトムフィ一ルド (Bottom Field) からなるフィ一ルド構造 になっている。 Each frame has a field structure consisting of a top field and a bottom field as shown in Fig. 6B.
図 5の簡易動き検出回路 2に、 入力端子 T1を介して入力される現 フィールド 1 0 1 と、 メモリ 1から読み出されて入力される検索フ ィールド 1 0 2との間には、 図 7に示すように、 1フィールド間の
時間だけずらしたフィ一ルドのデ一夕という関係がある。 そして、 この簡易動き検出回路 2は、 例えば画像全体でどちらに動いている かを示すような動き量 1 0 5を求める。 In the simplified motion detection circuit 2 shown in FIG. 5, between the current field 101 inputted through the input terminal T1 and the search field 102 read out from the memory 1 and inputted, there is shown in FIG. As shown in There is a relation that the field is shifted by time. Then, the simple motion detection circuit 2 obtains a motion amount 105 that indicates, for example, where the entire image is moving.
その様子を図 6 Cに示す。 動き量 1 0 5は、 例としてフレーム全 体の動きベク トルと考えることにする。 実際には、 フレーム内を分 割し、 その単位で求めてもよい。 This is shown in Figure 6C. For example, the motion amount 105 is considered to be the motion vector of the entire frame. Actually, the inside of the frame may be divided and the unit may be obtained.
図 6 Cの一番左側のデ一夕は、 I O t ( T O P ) と 1 0 b ( B o t t o m ) 間の動き量であり、 時刻 1で、 求められる。 時刻 2では、 I 0 bと B 1 t間の動き量が求められる。 さらに時刻 1から時刻 7 までの間で I 0から P 3までの全フィールド間の動き量が求められ る。 これらを加算していくことにより例えば I 0から P 3間の動き 量が時刻 7までに求められる。 実際に 6フィ一ルド間を加算して求 めた値を図 6 Dの白い棒グラフに示す。 The leftmost data in Fig. 6C is the amount of movement between IOt (TOP) and 10b (Bottom), and is obtained at time 1. At time 2, the amount of motion between I 0b and B 1t is determined. In addition, the amount of motion between all the fields from I0 to P3 from time 1 to time 7 is obtained. By adding these, for example, the amount of movement between I0 and P3 is obtained by time 7. The values obtained by actually adding the six fields are shown in the white bar graph in Fig. 6D.
I 0から P 3間の検出が図 5の動き検出回路 3で行われる時刻は、 時刻 8、 9なので、 この時に事前に簡易動き検出回路 2と制御判断 回路 4で予測した動き量に応じてサーチ範囲を設定することが可能 となる。 サーチ範囲の設定例は、 後述する。 The time at which the detection between I 0 and P 3 is performed by the motion detection circuit 3 in FIG. 5 is time 8 and 9, so the motion detection circuit 2 and the control decision circuit 4 predict the motion amount in advance at this time. The search range can be set. An example of setting the search range will be described later.
実際に図 6 Cの黒色の棒グラフは、 従来の方法により動きべク ト ル分布から予測として求まる値である。 例えば、 図 6 Cにおいて、 一番左の黒色の値は、 B 1 tから I 0 bへの動き量となり、 本来の 動きべク トル検出の B 1から I 0への動きべク トルの一部のべク ト ルの分布から求まる。 このように従来は、 図 6 Cの一部の動きべク トル分布を事前に求め、 これにより予測を行う。 その予測の方法は、 例えばこの例のようにフィールド間の動きべク トルが分かっている 場合には、 その値を 6倍して 3フレーム間の動きを予測していた。
この予測値を図 6Dの黒色の棒グラフに示す。 左側は、 本発明の簡 易的に動き量を求めた値を累積した値となる。 従来の方法では、 P 3から P 6の間のように動きが一定の場合には、 実際の動き量とほ ぼ同じになる。 ところが、 例えば I 0から P 3のように動きに大き な変化がある場合や、 P 6から P 9、 P 9から P I 2のように動き が減速する場合には、 本発明による予測値の方が実際に動き量に近 い値となる。 従来の方法では I 0から P 3間のように、 大きな誤差 となる場合があった。 Actually, the black bar graph in Fig. 6C is a value obtained as a prediction from the motion vector distribution by the conventional method. For example, in FIG. 6C, the leftmost black value is the amount of motion from B1t to I0b, and is one of the motion vectors from B1 to I0 in the original motion vector detection. It is obtained from the distribution of the vector of the part. As described above, in the past, the motion vector distribution of a part of FIG. For example, when the motion vector between fields is known as in this example, the prediction method multiplies the value by 6 to predict the motion between three frames. The predicted values are shown in the black bar graph in FIG. 6D. The value on the left side is a value obtained by accumulating the values obtained by simply calculating the amount of movement of the present invention. In the conventional method, when the motion is constant, such as between P3 and P6, the actual motion amount is almost the same. However, when there is a large change in the movement, for example, from I0 to P3, or when the movement decelerates from P6 to P9, or from P9 to PI2, the predicted value according to the present invention is Is actually close to the amount of movement. In the conventional method, a large error may occur between I0 and P3.
次に、 上述のように、 簡易動き検出回路 2と制御判断回路 4で予 測した動き量をどのように利用するかについて、 説明する。 Next, how to use the motion amount predicted by the simple motion detection circuit 2 and the control determination circuit 4 as described above will be described.
動き検出回路 3が独立してサーチ範囲の設定可能な 2個の動き検 出回路 ME U ME 2を持つ場合について図 8 A〜図 8 Cを用いて 説明する。 動き検出回路 ME 1及び ME 2には、 サーチ範囲の中心 べク トル SMV 1及び SMV2を記している。 The case where the motion detection circuit 3 has two motion detection circuits ME U ME 2 whose search range can be set independently will be described with reference to FIGS. 8A to 8C. The motion detection circuits ME1 and ME2 indicate the center vectors SMV1 and SMV2 of the search range.
図 8 Aは、 大きな動き量が検出されていない場合のサーチ範囲の 例を示す。 この場合には、 2個の動き検出回路 ME 1、 ME 2は並 んで配置される。 図 8 Bには、 水平方向に大きな動き量が予測され る場合の例を示す。 この場合、 ME 1は、 座標の中心に配置され小 さな動きべク トルをカバ一し、 ME 2はサーチ範囲の中心 SMV 2 が予測される水平方向に大きな動き量になるように設定されている このように、 予測される動き量が正確であればあるほど、 動き補償 の効率が上がり、 エンコードした画質が向上する。 必ず 1個の動き 検出回路が小さな動きべク トルをカバ一する理由は、 動きの小さい 動きべク トルがある場合にそれを逃してしまうと大きく画質が劣化 してしまうからである。
また、 この例では、 動き検出回路 3が独立してサーチ範囲の設定 可能な動き検出回路を 2個持つ場合の実施例であるが、 3個以上あ る場合にも、 同様に予測される動き量に応じてそれぞれのサーチ範 囲を設定する。 特にフレーム内の動きが複雑で予測される動き量が 複数ある場合には、 動き検出回路 3個以上あると有効である。 予測 される動き量が 2種類あり、 3個の動き検出回路を持つ例を図 8 C に示す。 この例の動きは、 画面の上半分が右に動き、 下半分が反値 の左方向に動いている場合などに相当する。 FIG. 8A shows an example of the search range when a large amount of motion is not detected. In this case, the two motion detection circuits ME1 and ME2 are arranged side by side. FIG. 8B shows an example in which a large amount of motion is predicted in the horizontal direction. In this case, ME 1 is set at the center of the coordinates to cover a small motion vector, and ME 2 is set so that the center of the search range SMV 2 has a large amount of motion in the predicted horizontal direction. Thus, the more accurate the predicted motion amount, the more efficient the motion compensation and the better the encoded image quality. The reason that one motion detection circuit always covers a small motion vector is that if there is a motion vector with a small motion, missing it will greatly degrade the image quality. Also, in this example, the motion detection circuit 3 has two motion detection circuits capable of independently setting the search range. However, when there are three or more motion detection circuits, the motion prediction Set each search range according to the amount. In particular, when the motion in a frame is complicated and there are a plurality of predicted motion amounts, it is effective to have three or more motion detection circuits. Figure 8C shows an example in which there are two types of predicted motion amount and three motion detection circuits. The movement in this example is equivalent to the case where the upper half of the screen moves to the right and the lower half moves to the opposite left.
次に、 簡易動き検出回路 2について説明する。 簡易動き検出回路 2としては、 簡単な回路構成でフレーム内の大きな領域の動きが求 まることが必要であり、 本来の動き検出回路のように小さな 1マク ロブロック毎に動きべク トルを求めるという必要はない。 ここでは、 ほぼフレーム全体について水平方向、 垂直方向射影を求め、 これを 1フレーム全体の動きべク トル検出に利用する具体例を述べる。 簡 易動き検出回路 2で得られる動きべク トルは、 通常の動き補償に直 接使用するのではなく、 従来の動き検出回路のサーチ範囲の設定に 用いるため、 1画素精度のような精度は必要とならず、 簡易的な動 きベク トルでよい。 実際には、 画面内を分割してその単位で簡易的 な動きべク トル (動き量) を求めても良い。 画面全体でどちらに動 いているかを知ることが出来るような簡易的な動きべク トルでよい。 この具体例では、 水平方向、 垂直方向の動きベク トルをそれぞれ、 独立に検出するような簡易的な方法を用いる。 Next, the simple motion detection circuit 2 will be described. The simple motion detection circuit 2 needs to be able to determine the motion of a large area in a frame with a simple circuit configuration, and finds the motion vector for each small macro block like the original motion detection circuit It is not necessary. Here, a specific example will be described in which horizontal and vertical projections are obtained for almost the entire frame, and this is used to detect the motion vector of the entire frame. The motion vector obtained by the simple motion detection circuit 2 is not used directly for normal motion compensation, but is used for setting the search range of the conventional motion detection circuit. It is not necessary and a simple moving vector is sufficient. Actually, the screen may be divided and a simple motion vector (movement amount) may be obtained for each unit. A simple motion vector that allows you to know which part of the screen is moving is sufficient. In this specific example, a simple method is used in which the horizontal and vertical motion vectors are independently detected.
図 9 Aには水平方向べク トル検出の方法を、 図 9 Bには回路図を 示す。 先ず現フィールドの両側 3ラインを除いた部分に対して、 各 垂直ラインの全画素を加算して垂直方向射影 1 3を求める。 この垂
直方向射影 1 3は、 現フィールドの 2次元画像情報を 1次元画像情 報に変換したものである。 検索フィールドでは、 各垂直ラインの全 画素を加算して垂直方向射影 1 4を求める。 演算としては、 現フィ ールドの垂直方向射影と最も一致する検索フィ一ルド垂直方向射影 の位置を求める。 検索フィ一ルドの垂直方向射影 1 4内に示した太 枠の位置は、 動きベク トルゼロのデ一夕を示している。 この例では、 — 3から + 3の 7箇所のそれぞれの差分絶対値和を求めて、 その値 が最小の位置を水平動きベク トルとする。 この例では、 1画素精度 の動きベク トルを用いているが、 実際には、 4画素精度などかなり 大きな単位の精度で十分な場合が多い。 Figure 9A shows the horizontal vector detection method, and Figure 9B shows the circuit diagram. First, the vertical projection 13 is obtained by adding all the pixels of each vertical line to the portion excluding the three lines on both sides of the current field. This hanging Direct projection 13 is obtained by converting the two-dimensional image information of the current field into one-dimensional image information. In the search field, the vertical projection 14 is obtained by adding all the pixels of each vertical line. The operation is to find the position of the search field vertical projection that best matches the vertical projection of the current field. The position of the bold frame shown in the vertical projection 14 of the search field indicates that the motion vector is zero. In this example, the sum of the absolute differences of each of the seven locations from −3 to +3 is calculated, and the position with the minimum value is determined as the horizontal motion vector. In this example, a motion vector with one-pixel accuracy is used, but in practice, an accuracy of a considerably large unit such as four-pixel accuracy is often sufficient.
回路構成例としては図 9 Bに示すように、 加算回路 5に現フィ一 ルドを入力して垂直方向射影 1 3をレジス夕 8で求める。 同様に検 索フィ一ルドのデ一夕を加算回路 6に入力してレジス夕 9に垂直方 向射影 1 4を保存する。 差分、 絶対値算出回路 1 1及び加算回路 7 でレジス夕 8及びレジスタ 9から読み出した垂直方向射影 1 3及び 1 4を用いた差分絶対値和を演算し、 レジス夕 1 0に保存する。 そ して、 最小値回路 1 2により差分絶対値和が最小となる二つの垂直 方向射影 1 3及び 1 4を求めて、 それより水平方向動きべク トル 1 0 8を求める。 As an example of the circuit configuration, as shown in FIG. 9B, the current field is input to the adder circuit 5 and the vertical projection 13 is obtained by the register 8. Similarly, the data of the search field is input to the adder circuit 6 and the vertical projection 14 is stored in the register 9. The difference / absolute value calculation circuit 11 and the addition circuit 7 calculate the sum of absolute differences using the vertical projections 13 and 14 read from the register 8 and the register 9 and store the sum in the register 10. Then, two vertical projections 13 and 14 that minimize the sum of absolute differences are obtained by the minimum value circuit 12, and a horizontal motion vector 108 is obtained therefrom.
垂直方向のベク トル検出は、 図 1 0に示すように、 1ラインの全 画素値を加算した現フィールドの水平方向射影 1 5を求め、 検索フ ィールドの水平方向射影 1 6との間で、 差分絶対値和の最小の位置 を求め、 垂直動きベク トルを求める。 回路図は上記図 9 Bと同様の 構成であるので説明を省略する。 In the vertical vector detection, as shown in Fig. 10, the horizontal projection 15 of the current field obtained by adding all the pixel values of one line is obtained, and the horizontal projection 16 of the search field is calculated. Find the minimum position of the sum of absolute differences, and find the vertical motion vector. Since the circuit diagram has the same configuration as that of FIG. 9B, the description is omitted.
また、 この実施の形態の変形例として、 1フィールド内を低域フ
ィル夕をかけ画像を縮小した画像に対して動きべク トルを求める方 法などが考えられる。 As a modification of this embodiment, a low-frequency band is included in one field. For example, a method of obtaining a motion vector for an image obtained by reducing the size of an image over time can be considered.
次に、 図 1 1を用いて他の実施の形態について説明する。 この他 の実施の形態も M P E Gに準拠した画像符号化装置であるが、 図 5 に示した画像符号化装置における動き検出回路 3から制御判断回路 4に、 新たに動きベク トル 1 1 0を入力するパスを設けたものであ る。 制御判断回路 4では、 動き量 1 0 5及び動きべク トル 1 1 0の 両方を用いて判断を行っている。 Next, another embodiment will be described with reference to FIG. The other embodiment is also an image coding apparatus conforming to MPEG, but a new motion vector 110 is input from the motion detection circuit 3 to the control decision circuit 4 in the image coding apparatus shown in FIG. This is a path that has been established. The control determination circuit 4 makes a determination using both the motion amount 105 and the motion vector 110.
動きべク トル 1 1 0は、 図 6 Cの黒棒で示した従来の方法で用い られる値に相当する。 一般に、 M P E Gなどでは、 1 6 x 1 6と小 さなブロックサイズ毎に行われる為に、 得られる動きべク トルの数 が多く空間的な解像度も高い。 また、 動きベク トルも 1画素精度と 精度が高い。 しかし、 図 6 Cの黒棒で示したように全てのフィ一ル ド間の動きべク トルが求められる訳ではないので、 時間的な解像度 は、 低くなる。 従って、 制御判断回路 4では、 時間的な精度を要求 する場合には、 動き量 1 0 5を使用して動きの予測を行い、 逆に時 間的な精度を要求しない場合や空間的な精度を要求する場合には、 動きベク トル 1 1 0を用いて動き量の予測を行う。 The motion vector 110 corresponds to the value used in the conventional method shown by the black bar in FIG. 6C. In general, in MPEG and the like, since the processing is performed for each block size as small as 16 × 16, the number of motion vectors obtained is large and the spatial resolution is high. In addition, the motion vector has high 1-pixel accuracy and high accuracy. However, as shown by the black bars in Fig. 6C, not all motion vectors between the fields are required, so the temporal resolution is low. Therefore, the control decision circuit 4 predicts the motion using the motion amount 105 when the temporal accuracy is required, and conversely, when the temporal accuracy is not required or when the spatial accuracy is required. Is required, the motion amount is predicted using the motion vector 110.
時間的な精度を要求する場合の例は図 6 Dの" I O to P 3 " のよ うに動きが大きく変化する場合であり、 この場合には、 動き量 1 0 5が使用される。 An example of the case where the temporal accuracy is required is a case where the motion largely changes like “IO to P 3” in FIG. 6D, and in this case, the motion amount 105 is used.
時間的な精度を要求しない場合とは、 図 6 Dの" P 3 to P 6 " の ように動きがほぼ一定の場合であり、 この場合には、 ベク トルの精 度の高い動きベク トル 1 1 0が判断に使用される。 また、 画面内に 色々な複雑な動きがあり、 動き量 1 0 5がうまく求まらない場合な
どが、 空間的な精度を要求する場合に相当し、 この場合にも動きべ ク トル 1 1 0を用いて動き量の予測を行う。 The case where the temporal accuracy is not required is a case where the motion is almost constant as shown in “P3 to P6” in FIG. 6D. In this case, the motion vector with high vector accuracy 1 10 is used for the judgment. Also, when there are various complicated movements in the screen and the movement amount 105 cannot be calculated well This is the case where spatial accuracy is required, and in this case also, the motion vector is predicted using the motion vector 110.
このように性質の異なる 2個の値、 動き量 1 0 5と動きべク トル 1 1 0の両方を使うことにより、 それぞれ単体で行う場合よりも動 き量の予測をさらに高精度に行うことが可能となる。 By using both of these two values with different properties, the motion amount 105 and the motion vector 110, it is possible to predict the motion amount with higher accuracy than when each is performed alone. Becomes possible.
本発明により、 大きな動きがあった場合に、 事前にその動きが検 出できるために、 最終的に使用する高精度な動き検出回路のサーチ 範囲を適切に設定可能となる。 その結果、 画質を大幅に向上させる ことが可能となる。 また、 従来の過去の動きベク トルの履歴を用い る場合に比較して、 動きの予測精度が向上し、 その結果エンコード された画質が向上する。 特に、 カメラの高速パン、 チルトした画像 等で、 動きの予測精度向上により大きく画質が向上する。
According to the present invention, when a large motion is detected, the motion can be detected in advance, so that a search range of a high-precision motion detection circuit to be finally used can be appropriately set. As a result, the image quality can be greatly improved. Also, compared to the case of using the past motion vector history in the past, the motion prediction accuracy is improved, and as a result, the encoded image quality is improved. Especially in high-speed panning and tilting images of the camera, etc., the image quality is greatly improved by improving the motion prediction accuracy.
Claims
1 . 時間的に先に動作する第 1の動き検出手段と、 1. First motion detecting means that operates earlier in time,
基準プロックの画像データとサーチ範囲内の検査プロックの画像 デ一夕とを演算して動きべク トルを検出する第 2の動き検出手段と、 上記第 1の動き検出手段の検出結果に基づいて上記第 2の動き検 出手段のサーチ範囲を制御する制御判定手段と Second motion detecting means for calculating the motion vector by calculating the image data of the reference block and the image data of the inspection block within the search range, and based on the detection result of the first motion detecting means. Control determining means for controlling the search range of the second motion detecting means;
を備えることを特徴とする画像符号化装置。 An image encoding device comprising:
2 . 上記第 1の動き検出手段は、 上記第 2の動き検出手段よりも演 算量が少ない簡易型であることを特徴とする請求の範囲第 1項記載 の画像符号化装置。 2. The image encoding device according to claim 1, wherein the first motion detecting means is a simple type having a smaller amount of calculation than the second motion detecting means.
3 . 上記第 1の動き検出手段は、 2次元を 1次元に変換する射影に より動き検出を行うことを特徴とする請求の範囲第 1項記載の画像 符号化装置。 3. The image encoding apparatus according to claim 1, wherein the first motion detection means performs motion detection by projecting a two-dimensional image into a one-dimensional image.
4 . 上記第 2の動き検出手段は、 独立したサーチ範囲を設定可能な 少なく とも 2個の動き検出ブロックを有することを特徴とする請求 の範囲第 1項記載の画像符号化装置。 4. The image encoding apparatus according to claim 1, wherein the second motion detection means has at least two motion detection blocks capable of setting an independent search range.
5 . 上記制御判定手段は、 上記第 1の動き検出手段からの動き量及 び上記第 2の動き検出手段により既に求められた動きべク トルに基 づいて上記第 2の動き検出手段のサーチ範囲を制御することを特徴 とする請求の範囲第 1項記載の画像符号化装置。 5. The control judging means searches the second motion detecting means based on the motion amount from the first motion detecting means and the motion vector already obtained by the second motion detecting means. 2. The image encoding device according to claim 1, wherein the range is controlled.
6 . 時間的に先に動作する第 1の動き検出工程と、 6. A first motion detection step that operates earlier in time;
基準プロックの画像データとサーチ範囲内の検査プロックの画像 デ一夕とを演算して動きべク トルを検出する第 2の動き検出工程と、 上記第 1の動き検出工程の検出結果に基づいて上記第 2の動き検
出工程のサーチ範囲を制御する制御判定工程と A second motion detection step of calculating the motion vector by calculating the image data of the reference block and the image data of the inspection block within the search range, and based on the detection result of the first motion detection step. The second motion detection above A control determination step for controlling the search range of the output step;
を備えることを特徴とする画像符号化方法。 An image encoding method comprising:
7 . 上記第 1の動き検出工程は、 上記第 2の動き検出工程よりも演 算量が少ないことを特徴とする請求の範囲第 6項記載の画像符号化 方法。 7. The image encoding method according to claim 6, wherein the first motion detection step has a smaller amount of calculation than the second motion detection step.
8 . 上記第 1の動き検出工程は、 2次元を 1次元に変換する射影に より動き検出を行うことを特徴とする請求の範囲第 6項記載の画像 符号化方法。 8. The image encoding method according to claim 6, wherein in the first motion detection step, motion is detected by a projection that converts two dimensions into one dimension.
9 . 上記第 2の動き検出工程は、 独立したサーチ範囲を設定可能な 少なく とも 2個の動き検出ブロックを用いることを特徴とする請求 の範囲第 6項記載の画像符号化方法。 9. The image encoding method according to claim 6, wherein the second motion detection step uses at least two motion detection blocks capable of setting an independent search range.
1 0 . 上記制御判定工程は、 上記第 1の動き検出工程からの動き量 及び上記第 2の動き検出工程により既に求められた動きべク トルに 基づいて上記第 2の動き検出工程のサーチ範囲を制御することを特 徴とする請求の範囲第 6項記載の画像符号化方法。
10. The control determination step is a search range of the second motion detection step based on the motion amount from the first motion detection step and the motion vector already obtained in the second motion detection step. 7. The image encoding method according to claim 6, wherein the image encoding method is characterized in that the image encoding is controlled.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4411198A JPH11243546A (en) | 1998-02-25 | 1998-02-25 | Image coder and method |
JP10/44111 | 1998-02-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999044369A1 true WO1999044369A1 (en) | 1999-09-02 |
Family
ID=12682511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1999/000891 WO1999044369A1 (en) | 1998-02-25 | 1999-02-25 | Device and method for coding image |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH11243546A (en) |
KR (1) | KR20010012110A (en) |
WO (1) | WO1999044369A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014507906A (en) * | 2011-02-23 | 2014-03-27 | モビクリップ | Device and method for managing the position of a focal plane in a stereoscopic scene |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100871118B1 (en) * | 2002-05-18 | 2008-11-28 | 엘지전자 주식회사 | How to Manage Multicast Groups |
WO2006103984A1 (en) * | 2005-03-25 | 2006-10-05 | Matsushita Electric Industrial Co., Ltd. | Motion detection device |
JP2010161712A (en) * | 2009-01-09 | 2010-07-22 | Sharp Corp | Frame rate converting device and frame rate converting method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06205403A (en) * | 1992-10-07 | 1994-07-22 | Daewoo Electron Co Ltd | Movement vector detecting method using integral projection |
JPH0984014A (en) * | 1995-09-20 | 1997-03-28 | Toppan Printing Co Ltd | Image motion prediction method and prediction device |
JPH09163380A (en) * | 1995-12-05 | 1997-06-20 | Sony Corp | Image coding device and motion vector detection method |
-
1998
- 1998-02-25 JP JP4411198A patent/JPH11243546A/en not_active Withdrawn
-
1999
- 1999-02-25 KR KR1019997009832A patent/KR20010012110A/en not_active Withdrawn
- 1999-02-25 WO PCT/JP1999/000891 patent/WO1999044369A1/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06205403A (en) * | 1992-10-07 | 1994-07-22 | Daewoo Electron Co Ltd | Movement vector detecting method using integral projection |
JPH0984014A (en) * | 1995-09-20 | 1997-03-28 | Toppan Printing Co Ltd | Image motion prediction method and prediction device |
JPH09163380A (en) * | 1995-12-05 | 1997-06-20 | Sony Corp | Image coding device and motion vector detection method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014507906A (en) * | 2011-02-23 | 2014-03-27 | モビクリップ | Device and method for managing the position of a focal plane in a stereoscopic scene |
US9800865B2 (en) | 2011-02-23 | 2017-10-24 | Nintendo European Research And Development Sas | Device and method for managing the position of the focal plane in a stereoscopic scene |
Also Published As
Publication number | Publication date |
---|---|
KR20010012110A (en) | 2001-02-15 |
JPH11243546A (en) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6418168B1 (en) | Motion vector detection apparatus, method of the same, and image processing apparatus | |
JP3994445B2 (en) | Motion vector detection apparatus and motion vector detection method | |
US7206346B2 (en) | Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs | |
KR950009699B1 (en) | Motion vector detection method and apparatus | |
JP4724459B2 (en) | Motion vector detection using adaptive time prediction | |
KR100558583B1 (en) | Image encoding apparatus and method | |
KR20010071705A (en) | Motion estimation for digital video | |
AU751909B2 (en) | Motion vector detecting method and device | |
US20060008008A1 (en) | Method of multi-resolution based motion estimation and recording medium storing program to implement the method | |
KR100994768B1 (en) | Motion Estimation Method for Motion Picture Coding and Recording Media with Program for Implementing It | |
JP2004328633A (en) | Motion predicting and compensating apparatus and method thereof | |
US6160584A (en) | Motion detection and motion compensative prediction circuit | |
US8121194B2 (en) | Fast macroblock encoding with the early qualification of skip prediction mode using its temporal coherence | |
JP2006254349A (en) | Motion vector detecting method and apparatus, and computer program for executing motion vector detection processing on computer | |
EP0921688B1 (en) | Moving vector predictive coding method and moving vector decoding method, and storage medium stored with moving vector predictive coding program and moving vector decoding program | |
KR20070033345A (en) | How to retrieve global motion vector | |
US20070009037A1 (en) | Apparatus for and method of decoding moving picture, and computer product | |
WO1999044369A1 (en) | Device and method for coding image | |
JP2002247584A (en) | Method and device for encoding image, program for image encoding processing, and recording medium for the program | |
JP3720723B2 (en) | Motion vector detection device | |
JP3309519B2 (en) | Motion vector detection device | |
JP4003149B2 (en) | Image encoding apparatus and method | |
JP2000059786A (en) | Device and method for detecting motion | |
JPH10191347A (en) | Motion detection device, motion detection method, and storage medium | |
JP2002344949A (en) | Moving picture monitoring system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): KR US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1019997009832 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09403462 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 1019997009832 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1019997009832 Country of ref document: KR |