JPH0993581A - Motion detector for moving image coder - Google Patents
Motion detector for moving image coderInfo
- Publication number
- JPH0993581A JPH0993581A JP24205795A JP24205795A JPH0993581A JP H0993581 A JPH0993581 A JP H0993581A JP 24205795 A JP24205795 A JP 24205795A JP 24205795 A JP24205795 A JP 24205795A JP H0993581 A JPH0993581 A JP H0993581A
- Authority
- JP
- Japan
- Prior art keywords
- block
- search
- pixel
- pixels
- arithmetic unit
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は動き補償予測を行う
動画像符号化装置の動き検出装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motion detecting device of a moving picture coding device for performing motion compensation prediction.
【0002】H261やMPEG−1,MPEG−2と
いった最近の国際標準動画像符号化方式では、動きをブ
ロックマッチングで検出するフレ−ム間動き補償予測が
採用されている。図5はこの動き検出のためのブロック
マッチングの概念を説明する図である。図示するよう
に、現画面中の画素のブロックを前画面中の所定の検索
範囲内の複数のブロックと比較して両者の各画素値の差
分合計値が最も少ないブロックを検索し、その検索した
ブロックが前画面から現画面のブロックに移動したとし
て動きを検出するものである。In recent international standard moving picture coding systems such as H261, MPEG-1, and MPEG-2, interframe motion-compensated prediction for detecting motion by block matching is adopted. FIG. 5 is a diagram illustrating the concept of block matching for motion detection. As shown in the figure, a block of pixels in the current screen is compared with a plurality of blocks within a predetermined search range in the previous screen, and a block having the smallest total difference between the pixel values of the two is searched for and searched. The motion is detected as if the block moved from the previous screen to the block of the current screen.
【0003】ここで、実用的な、すなわち効果のある動
き補償予測を行うためには、探索範囲をある程度広くす
ることが必要であるが、これに伴って演算量と画像メモ
リからのデ−タ読出しが膨大なものとなる。Here, in order to perform a motion-compensated prediction that is practical, that is, effective, it is necessary to widen the search range to some extent, but with this, the amount of calculation and the data from the image memory are increased. The read becomes enormous.
【0004】具体的な数値をあげると、たとえば1画面
のサイズを720画素×480ライン、フレ−ム周波数
を30Hz、1画素あたりの値(輝度値)を8ビット、
マッチングを行うブロックサイズを16画素×16ライ
ン、探索範囲をそれぞれ上下15ライン、左右15画素
とした場合、 ブロック数は 720×480 ×30÷(16 ×16) =40,500 ブロ
ック/秒 ベクトル数は (15×2+1)×(15 ×2+1)=961ベクトル/ブ
ロック となり、したがって差分演算は 16 ×16×961 ×40,500=9,963,648,000回/秒 が必要である。To give specific numerical values, for example, the size of one screen is 720 pixels × 480 lines, the frame frequency is 30 Hz, and the value per pixel (luminance value) is 8 bits.
If the block size for matching is 16 pixels × 16 lines, and the search range is 15 lines vertically and 15 pixels horizontally, the number of blocks is 720 × 480 × 30 ÷ (16 × 16) = 40,500 blocks / second The number of vectors is ( 15 × 2 + 1) × (15 × 2 + 1) = 961 vectors / block, so 16 × 16 × 961 × 40,500 = 9,963,648,000 times / sec are required for the difference calculation.
【0005】この演算の動作速度を50MHzと仮定す
ると、 9,963,648,000/50MHZ =199.27 となるから、200以上の演算を並行して行わなければ
ならないことが判る。実際にはこの値を上回り、かつブ
ロックサイズである256とも整合性があり、さらにL
SIの高集積化もあって、演算器を256個並べること
が多くなってきている。この演算器は画像の精度のビッ
ト精度でそれぞれ構成される。Assuming that the operation speed of this operation is 50 MHz, it will be 9,963,648,000 / 50MH Z = 199.27, so it is understood that more than 200 operations must be performed in parallel. Actually, this value is exceeded, and it is consistent with the block size of 256.
Due to high integration of SI, 256 arithmetic units are often arranged. The arithmetic units are each configured with bit precision of image precision.
【0006】このように従来装置では演算器の回路規模
がかなり大きくなるので、回路規模を削減することが要
求される。そこで画像の精度を例えば8ビットとする
と、演算にはその8ビット中の例えば上位4ビットのみ
を用いることにすれば、各演算器を4ビットで構成する
ことができるので、回線規模はほぼ半分となる。しかし
下位ビットが表す詳細な情報を切り捨てることから、動
き検出性能が低下するという問題がある。As described above, in the conventional device, the circuit scale of the arithmetic unit becomes considerably large, and therefore it is required to reduce the circuit scale. Therefore, assuming that the accuracy of the image is, for example, 8 bits, if only the upper 4 bits of the 8 bits are used for the operation, each arithmetic unit can be configured with 4 bits, so the line scale is almost half. Becomes However, since the detailed information represented by the lower bits is truncated, there is a problem that the motion detection performance is degraded.
【0007】一方、MPEG−1、MPEG−2では、
画素デ−タが存在する整数位置だけでなく、水平・垂直
それぞれの中間位置に周辺の画素の値を用いて画素を補
間し、それを予測値の候補とする方式が導入されてい
る。On the other hand, in MPEG-1, MPEG-2,
A method has been introduced in which not only an integer position where pixel data exists, but also pixels at the horizontal and vertical intermediate positions are interpolated using the values of peripheral pixels, and the pixel is used as a predicted value candidate.
【0008】図6はこの補間方式を説明する図である。
図6において、実線で示す○は整数位置にある参照画
素、点線の○は隣接する実線の画素から補間された参照
画素である。参照される画面にある実線の○画素から成
るブロックと、点線の○から成るブロックを合わせたも
のの中から最適なブロックが選択(探索)される。FIG. 6 is a diagram for explaining this interpolation method.
In FIG. 6, ◯ indicated by a solid line is a reference pixel at an integer position, and ◯ indicated by a dotted line is a reference pixel interpolated from adjacent solid line pixels. The optimum block is selected (searched) from a combination of a block made up of o pixels in a solid line and a block made up in a dotted line on the screen to be referred to.
【0009】ここで一般には、上述の補間方式における
動き検出では、演算量を減らすために、まず第1段階と
して整数画素(実線の○)のみを対象として最適位置を
探索し、次いで第2段階として第1段階で検索した最適
位置の周囲の8個の半画素精度の補間画素(点線の○)
を対象として更に探索が行われる。Generally, in the motion detection in the above-mentioned interpolation method, in order to reduce the amount of calculation, first, as the first step, an optimum position is searched for only an integer pixel (circle in solid line), and then the second step. 8 half-pixel precision interpolated pixels around the optimal position searched in the first step (circle in dotted line)
A further search is performed for.
【0010】この整数画素単位、半画素単位の探索につ
いて説明する。以降、説明を簡単にするために1次元の
画素列の場合について考えることにする。2次元につい
ては同じ処理を垂直方向に並列に行うことによって可能
だからである。The search in units of integer pixels and half pixels will be described. Hereinafter, in order to simplify the description, the case of a one-dimensional pixel column will be considered. This is because two-dimensional processing can be performed by performing the same processing in parallel in the vertical direction.
【0011】探索の元になる原画像の画素列をA0 〜A
X 、参照する画像の画素列をB0 〜Bz とする。まず、
第1段階の整数画素単位探索とはA0 〜AX と最も近い
By〜By+x を求めることである。つまり図7で下式の
合計値Sumが最小となる位置yを求めることである。 Sum(y)=Σ|Ai −By+i | (1) 但し、Σはi=0からxまでの加算The pixel row of the original image which is the source of the search is represented by A 0 to A
Let X be the pixel column of the image to be referred to, and be B 0 to B z . First,
The first-step integer pixel unit search is to find B y to B y + x closest to A 0 to A X. That is, in FIG. 7, the position y at which the total value Sum of the following formula is minimized is obtained. Sum (y) = Σ | A i −B y + i | (1) where Σ is addition from i = 0 to x
【0012】ここで画素A,Bの精度はそれぞれnビッ
トとする。この探索に必要な回路を図8に示す。S0 〜
Sx はそれぞれ減算器であり、nビットの入力をもち、
画素A,Bがそれぞれ入力されて両者の減算結果を絶対
値として出力する。加算器4は各減算器S0 〜Sx の減
算結果を加算して合計値Sumとして出力する。この回
路では、比較する画素の個数x+1と同じ数の減算器が
必要になる。探索範囲内でyを変化させ合計値Sumが
最小である変位yを求め、これを検索結果の変位Yとす
る。Here, the precision of each of the pixels A and B is n bits. The circuit required for this search is shown in FIG. S 0 ~
Each S x is a subtractor, has an n-bit input,
The pixels A and B are respectively input and the subtraction result of both is output as an absolute value. The adder 4 adds the subtraction results of the subtractors S 0 to S x and outputs the result as a total value Sum. This circuit requires the same number of subtractors as the number of pixels x + 1 to be compared. The displacement y having the smallest total value Sum is obtained by changing y within the search range, and this is set as the displacement Y of the search result.
【0013】次に、第2段階の半画素単位の探索とは、
図9に示す画素A,Cについて下式に示す合計値Sum
が最小となる位置Uを求めることである。ここで画素C
は参照画素Bから補間により求めた半画素精度の補間画
素である。 Ci (u)=(Bi+u +Bi+u+1 )/2 (2) Sum(u)=Σ|Ai −Ci (u)| (3) Sum(u)= minu Sum(u) (4)Next, the second stage half-pixel unit search is
Sum value Sum shown in the following formula for pixels A and C shown in FIG.
Is to find the position U that minimizes. Where pixel C
Is an interpolation pixel with half-pixel accuracy obtained from the reference pixel B by interpolation. C i (u) = (B i + u + B i + u + 1 ) / 2 (2) Sum (u) = Σ | A i −C i (u) | (3) Sum (u) = min u Sum (U) (4)
【0014】ここで、A,B,Cの精度はそれぞれnビ
ットとする。通常、半画素単位の探索は整数画素単位で
求められたYの周辺の隣り合った位置(Y−1≦u≦Y
+1)につていてだけ計算する。この探索に必要な回路
を図10に示す。やはり比較する画素の個数x+1と同
じ数の減算器が必要になり、各減算器の精度はnビット
が必要である。Here, the precision of each of A, B, and C is n bits. Normally, the search in half pixel units is performed by adjoining adjacent positions (Y−1 ≦ u ≦ Y) around Y obtained in integer pixel units.
Calculate only for +1). The circuit required for this search is shown in FIG. Again, the same number of subtractors as the number of pixels x + 1 to be compared is required, and the precision of each subtractor requires n bits.
【0015】この補間方式の動き検出の場合にも、回路
規模の削減のために減算器の演算精度を落とすことが考
えられる。しかしその場合には前述同様に、探索精度が
著しく低下する。Also in the case of this interpolation type motion detection, it is conceivable to reduce the calculation accuracy of the subtractor in order to reduce the circuit scale. However, in that case, the search accuracy is significantly reduced as described above.
【0016】一方、これらの並列配置された演算器は同
一の構成をもつため、個々の演算器の回線規模を削減す
ることができれば演算器の数が多いだけその効果は大で
ある。例えば前述の例では1個の演算器の削減効果の2
56倍にもなる。On the other hand, since these arithmetic units arranged in parallel have the same configuration, the effect is great as the number of arithmetic units is large if the line scale of each arithmetic unit can be reduced. For example, in the above example, the reduction effect of one arithmetic unit is 2
56 times more.
【0017】本発明は以上のような技術的諸問題に鑑み
てなされたものであり、動き検出の検索精度を低下させ
ることなく回路規模を削減することを目的とする。The present invention has been made in view of the above technical problems, and an object thereof is to reduce the circuit scale without degrading the search accuracy of motion detection.
【0018】[0018]
【課題を解決するための手段】上述の課題を解決するた
めに、本発明においては、ブロックマッチングにより動
き検出を行う動き補償予測型動画像符号化装置の動き検
出装置であって、現画面のブロックと前画面のブロック
の各画素の差分を計算する複数の演算器からなる第1の
演算器群を備え、該第1の演算器群の各演算器は画素桁
精度よりも低い計算精度で構成し、動き検出は、第1段
階として該第1の演算器群を用いて検索範囲内のブロッ
クのうちから差分の最も小さいブロックを検索し、第2
段階として該第1の演算器群を2以上の演算器を互いに
組み合わせて高精度化した複数の演算器組に分けて第2
の演算器群を構成し、該第1段階で検索したブロックを
含むその周辺のブロックに対して1ブロックの画素を複
数に分割して該第2の演算器群を用い複数回の演算を行
うことで差分の最も小さいブロックを検索することで行
うように構成した動画像符号化装置の動き検出装置が提
供される。In order to solve the above-mentioned problems, according to the present invention, there is provided a motion detection device of a motion compensation prediction type moving picture coding device for performing motion detection by block matching, wherein A first arithmetic unit group including a plurality of arithmetic units for calculating the difference between each pixel of the block and the block of the previous screen is provided, and each arithmetic unit of the first arithmetic unit has a calculation accuracy lower than the pixel digit precision. In the motion detection, as a first step, the block having the smallest difference is searched from the blocks within the search range by using the first arithmetic unit group, and the second step is performed.
As a stage, the first arithmetic unit group is divided into a plurality of arithmetic unit groups in which two or more arithmetic units are combined with each other to improve the accuracy.
The operation unit group is configured to divide the pixels of one block into a plurality of blocks in the peripheral blocks including the block searched in the first step, and perform the operation a plurality of times using the second operation unit group. Thus, the motion detecting device of the moving picture coding device configured to search for the block having the smallest difference is provided.
【0019】回線規模の削減に直接的な効果があるの
は、演算精度の低減である。そこで、本発明の動き検出
装置では、第1段階の検索ではブロックの画素の下位桁
を省略して第1の演算器群で検索を行うことでこの検索
に必要な演算器の計算精度を低くして全体の回路規模を
削減している。そして、第2段階の検索では第2の演算
器群により第1段階の検索よりも多い桁を演算に用いる
ことで検索精度を上げている。A direct effect in reducing the line scale is reduction in calculation accuracy. Therefore, in the motion detection apparatus of the present invention, in the search in the first step, the lower digit of the pixel of the block is omitted and the search is performed by the first operation device group, so that the calculation accuracy of the operation device required for this search is lowered. And the overall circuit scale is reduced. Then, in the second-stage search, the second arithmetic unit group uses more digits in the calculation than in the first-stage search to improve the search accuracy.
【0020】この動き検出装置による探索動作を説明す
る。ここでは前述同様に、説明を簡単化するために1次
元の画素列の場合を例にする。2次元については同じ処
理を垂直方向に並列に行うことによって行える。A search operation by this motion detecting device will be described. Here, as in the case described above, a case of a one-dimensional pixel column is taken as an example for simplification of description. Two-dimensional processing can be performed by performing the same processing in parallel in the vertical direction.
【0021】探索の元になる原画像の画素列をA0 〜A
X 、参照する画像の画素列をB0 〜Bz とする。第1段
階の探索ではA0 〜AX と最も近いBy 〜By+x を求め
る。つまり前記の(1)式のSumが最小となる位置y
を求める。The pixel row of the original image which is the basis of the search is A 0 to A
Let X be the pixel column of the image to be referred to, and be B 0 to B z . In the first-stage search, B y to B y + x closest to A 0 to A X are obtained. That is, the position y at which the sum of the above formula (1) is minimum
Ask for.
【0022】ここでA,Bの桁精度はそれぞれnビット
とする。この第1段階の探索に必要な回路を図2に示
す。第1段階の検索では、演算器S0 〜Sx に計算精度
(n−m)ビットのものを用いて行い、画素列A,Bは
最上位桁(MSB)側の(n−m)ビットを各演算器S
0 〜Sx に入力する。The digit precision of A and B is n bits. The circuit required for this first-stage search is shown in FIG. The first-stage search is performed by using the arithmetic units S 0 to S x with calculation precision (n−m) bits, and the pixel rows A and B are (n−m) bits on the most significant digit (MSB) side. Each computing unit S
Enter from 0 to S x .
【0023】第1段階の検索で差分が最小の画素列By
〜By+x が求められたら、その検索した画素列を含むそ
の周辺にある画素列を求め、これを画素列Cとする。Pixel column B y having the smallest difference in the first-stage search
When .about.By + x is obtained, a pixel row in the vicinity including the searched pixel row is obtained, and is set as a pixel row C.
【0024】第2段階の探索は1画素あたりの差分計算
に使用する演算器をp個にし、演算精度をA,Cそれぞ
れp倍{p×(n−m)ビット}として行う(図1)。
この場合、同時に差分計算する画素数が1/p個になる
ため(x+1)個画素の差分を求めるためにp回の演算
が必要になる。よって各回の演算結果を加算器4とメモ
リ7を用いて順次に累算していき、p回演算した後に最
終結果を得る。In the second-stage search, the number of arithmetic units used for the difference calculation per pixel is p, and the arithmetic precision is p times {p × (n−m) bits} for A and C (FIG. 1). .
In this case, since the number of pixels for which the difference is calculated is 1 / p at the same time, p times of calculations are required to obtain the difference of (x + 1) pixels. Therefore, the calculation result of each time is sequentially accumulated using the adder 4 and the memory 7, and the final result is obtained after p times of calculation.
【0025】この方法では演算回数が増加するため処理
時間の増加は避けられない。しかし第2段階の検索は第
1段階の探索範囲より狭い範囲(第1段階で検索したブ
ロックとその周辺ブロック)で行うため、処理時間の増
加は少ない。例えば第1段階で2次元でブロックの探索
を水平、垂直方向の31点について行い、第2段階の探
索は第1段階の探索で求めたYの周辺の8点について行
う場合を考える。このとき第1段階の探索に312 =9
61点での演算が必要となるのに対し、第2段階の探索
に必要な演算回数pの割合は全体の1%以下である。In this method, the number of calculations is increased, so that an increase in processing time cannot be avoided. However, since the search in the second step is performed in a range narrower than the search range in the first step (the block searched in the first step and its peripheral blocks), the processing time does not increase much. For example, consider a case where a block search is performed two-dimensionally at 31 points in the horizontal and vertical directions in the first stage, and the second stage search is performed at eight points around Y obtained in the first stage search. At this time, 31 2 = 9 for the first stage search
The calculation at 61 points is necessary, whereas the ratio of the number of calculations p necessary for the second-stage search is 1% or less of the whole.
【0026】このように第1段階の探索の演算精度だけ
を減らす一方、第2段階の探索の演算精度を上げること
で、第1段階と第2段階で演算器を共有しながら、最終
的に求まる探索誤差を少なく抑えることができる。As described above, only the calculation accuracy of the first-stage search is reduced, while the calculation accuracy of the second-stage search is increased, so that the operation unit is shared between the first step and the second step, and finally. It is possible to reduce the search error to be obtained.
【0027】上述の動き検出装置は、第2段階での検索
を、第1段階で検索したブロックを含むその周辺の補間
により求めたブロックに対して行うように構成すること
ができる。The above-described motion detection apparatus can be configured so that the search in the second step is performed on the block obtained by interpolation around the block including the block searched in the first step.
【0028】前述したように、MPEG−1、MPEG
−2では、画素デ−タが存在する整数位置だけでなく、
水平・垂直それぞれの中間位置に周辺の画素の値を用い
て画素を補間し、それを予測値の候補とする方式が導入
されている。本発明はこの方式にも適用できる。As described above, MPEG-1, MPEG
-2, not only the integer position where the pixel data exists,
A method has been introduced in which pixels are interpolated by using the values of peripheral pixels at the horizontal and vertical intermediate positions, and the pixels are used as prediction value candidates. The present invention can also be applied to this system.
【0029】すなわち、第1段階の検索を図6に○で示
す整数位置にある参照画素に対して行い、第2段階の検
索を第1段階の検索で求めた参照画素とその周辺の点線
の○で示す隣接する実線の画素から補間された参照画素
に対して行う。第1段階の整数画素探索には下位ビット
を省略し、第2段階の半画素探索は全てビット、あるい
は整数画素探索よりも多いビットを演算に用いること
で、検出精度を上げ、画質向上を図る。That is, the first-stage search is performed on the reference pixels at the integer positions shown by ◯ in FIG. 6, and the second-stage search is performed by the reference pixels obtained by the first-stage search and the dotted lines around the reference pixels. This is performed for reference pixels interpolated from adjacent solid line pixels indicated by circles. Lower bits are omitted in the first-stage integer pixel search, and all bits are used in the second-stage half-pixel search or more bits than in the integer-pixel search to improve detection accuracy and improve image quality. .
【0030】また本発明の動き検出装置は、第1段階で
の検索を、検索範囲内における全ブロックに対して行う
ことに代えて画素複数個置き(例えば1画素置き)の各
ブロックに対して行うように構成できる。Further, the motion detecting apparatus of the present invention does not perform the search in the first step for all blocks within the search range, but for each block where a plurality of pixels are arranged (for example, every other pixel is arranged). Can be configured to do.
【0031】[0031]
【発明の実施の形態】以下、本発明の実施例を図面を参
照して説明する。図3、図4には本発明の一実施例とし
ての動画像符号化装置の動き検出装置が示される。この
実施例装置は、画素デ−タが存在する整数位置だけでな
く、水平・垂直それぞれの中間位置に周辺の画素の値を
用いて画素を補間し、それを予測値の候補とする方式の
動画像符号化装置に本発明を適用したものである。Embodiments of the present invention will be described below with reference to the drawings. 3 and 4 show a motion detecting device of a moving picture coding device as an embodiment of the present invention. In this embodiment, the pixel is interpolated by using not only the integer position where the pixel data exists but also the peripheral pixel values at the horizontal and vertical intermediate positions, and the pixel is interpolated and used as a prediction value candidate. The present invention is applied to a moving picture coding device.
【0032】図中、1は現画面の画像データを記憶する
フレームメモリ、2は前画面の画像データを記憶するフ
レームメモリであり、画像データの各画素は8ビットか
らなる。3はフレームメモリ2から検索範囲にあるブロ
ックを読み出すアドレスを発生するアドレス発生器であ
る。In the figure, 1 is a frame memory for storing the image data of the current screen, 2 is a frame memory for storing the image data of the previous screen, and each pixel of the image data consists of 8 bits. An address generator 3 generates an address for reading a block within the search range from the frame memory 2.
【0033】S0 〜S15はそれぞれ4ビットの減算器で
あり、フレームメモリ1からの画素データとフレームメ
モリ2からの画素データがそれぞれ入力されて両者の差
分を計算する。4は各減算器S0 〜S15からの差分値を
加算する加算器である。5は比較器、6はメモリであ
り、比較器5はメモリ6の内容(SumMin)と加算器4
の加算値SumTmpを比較し、加算値SumTmpが小さい場
合にそれを新たな加算値SumMinとしてメモリ6に送出
する。このメモリ6には加算値SumMinとともにその加
算値SumMinに対応する変位Yも記憶される。Each of S 0 to S 15 is a 4-bit subtractor, and pixel data from the frame memory 1 and pixel data from the frame memory 2 are input to calculate the difference between them. An adder 4 adds the difference values from the subtractors S 0 to S 15 . Reference numeral 5 is a comparator, 6 is a memory, and the comparator 5 is the contents of the memory 6 (SumMin) and the adder 4
The addition value SumTmp of is compared, and when the addition value SumTmp is small, it is sent to the memory 6 as a new addition value SumMin. The memory 6 stores the addition value SumMin and the displacement Y corresponding to the addition value SumMin.
【0034】また図4において、7は累算用のメモリで
あり、メモリ7の出力を加算器4の入力側に戻すことに
より、複数回の演算にわたる加算器4の加算結果をメモ
リ7に累算できるようになっている。また8は補間画素
生成回路であり、フレームメモリ2の画素を補間して半
画素精度の補間画素を生成し、各減算器S0 〜S15に供
給する。In FIG. 4, 7 is a memory for accumulation. By returning the output of the memory 7 to the input side of the adder 4, the addition result of the adder 4 over a plurality of operations is accumulated in the memory 7. You can calculate. Reference numeral 8 denotes an interpolation pixel generation circuit, which interpolates the pixels of the frame memory 2 to generate interpolation pixels with half-pixel accuracy and supplies the interpolation pixels to the subtractors S 0 to S 15 .
【0035】以下、図3と図4を参照して実施例装置の
動作を説明する。この図3と図4は同じ減算器S0 〜S
15を使って、整数画素単位の検索を行う時(図3)と、
半画素単位の探索を行う時(図4)のそれぞれの接続形
態を示したものである。説明を簡略化するため、ここで
はベクトル探索の対象とする画素の個数を水平方向の1
6個のみとする。2次元画像については同様の回路を垂
直方向に並列にならべることで実現する。またそれぞれ
の画素値は8ビットで表現されるものとする。The operation of the embodiment apparatus will be described below with reference to FIGS. 3 and 4. 3 and 4 are the same subtractors S 0 to S
When searching for an integer pixel unit using 15 (Fig. 3),
FIG. 5 shows respective connection forms when a search is performed in half pixel units (FIG. 4). In order to simplify the explanation, here, the number of pixels to be subjected to vector search is set to 1 in the horizontal direction.
Only 6 pieces. A two-dimensional image is realized by arranging similar circuits in parallel in the vertical direction. Each pixel value is represented by 8 bits.
【0036】図3の接続形態での動作について説明す
る。まず原画像の格納されたフレ−ムメモリ1から画素
A0 〜A15を順次読み出し、それぞれを減算器S0 〜S
15の入力とする。ここで各減算器S0 〜S15は減算結果
の絶対値をとって出力するものとする。またそれぞれの
減算器S0 〜S15の入力は4ビットのものを使用する。
そのため8ビットの画素AのMSB側の4ビットを入力
する。The operation in the connection form of FIG. 3 will be described. First, the pixels A 0 to A 15 are sequentially read from the frame memory 1 in which the original image is stored, and the subtractors S 0 to S 15 are read out from the pixels A 0 to A 15 , respectively.
15 inputs. Here, each of the subtractors S 0 to S 15 takes the absolute value of the subtraction result and outputs it. The input of each subtractor S 0 to S 15 is a 4-bit input.
Therefore, 4 bits on the MSB side of the 8-bit pixel A are input.
【0037】次に参照画像用のフレ−ムメモリ2から比
較する画素By ,By+1 , ・・・,By+15を読みだし、
やはり減算器S0 〜S15の入力とする。こちらもやはり
MSB側の4ビットだけを使用する。減算器S0 〜S15
によって入力されたA,Bの差分計算を行い、この差分
累積和を加算器4で求める。この計算をyの値を探索範
囲内で変化させながら減算器S0 〜S15に順次に入力し
て行い、加算器4で求めた差分累積和SumTmpをメモリ
6に格納されているそれまでの最小の差分累積和SumM
inと比較器5で比較する。加算器4の差分累積値SumT
mpがそれまでの差分累積和の最小値より小さい場合、そ
の差分累積値SumTmpとその時の変位yを新たに最小値
SumMinとしてメモリ6に格納する。このようにして全
検索範囲について検索して求めた最小値をSumMin、そ
の時の変位をYとする。Next, the pixels B y , B y + 1 , ..., By + 15 to be compared are read from the frame memory 2 for reference image,
It is also input to the subtracters S 0 to S 15 . Again, only 4 bits on the MSB side are used. Subtractors S 0 to S 15
The difference between A and B input by is calculated and the cumulative sum of the differences is obtained by the adder 4. This calculation is performed by sequentially inputting it to the subtractors S 0 to S 15 while changing the value of y within the search range, and the difference cumulative sum SumTmp obtained by the adder 4 is stored in the memory 6 until then. Sum of minimum differences SumM
The in and the comparator 5 are compared. Cumulative difference value SumT of the adder 4
When mp is smaller than the minimum value of the cumulative sum of differences so far, the difference cumulative value SumTmp and the displacement y at that time are newly stored in the memory 6 as the minimum value SumMin. The minimum value obtained by searching for the entire search range in this way is SumMin, and the displacement at that time is Y.
【0038】次に同じ減算器S0 〜S15をつかって図4
のような構成に接続を切り替える。まず原画像の格納さ
れたフレ−ムメモリ1から画素A0 〜A15のうちの半分
にあたる画素A0 〜A7 を順次に読み出し、それぞれを
減算器S0 , S1 , ・・・S 14,S15の入力とする。今
度はAの精度を8ビットのままにするが、かわりに減算
器を1画素あたり2個使用して接続することにより8ビ
ット計算精度の減算器を構成する。すなわち16個の減
算器S0 〜S15をそれぞれ二つずつ組み合わせてキャリ
ー信号線を接続し8ビット精度の減算器ペアーS0 +S
1 、S2 +S3,・・・S14+S15を8個構成する。こ
の減算器ペアーの一方に画素データのMSB側4ビット
を、もう一方にLSB側4ビットを入力する。Next, the same subtractor S0~ SFifteenFigure 4
Switch the connection to the configuration like. First the original image is stored
Frame memory 1 to pixel A0~ AFifteenHalf of
The corresponding pixel A0~ A7Sequentially read each
Subtractor S0, S1, ... S 14, SFifteenAnd input. now
For degrees, leave A's precision at 8 bits, but subtract instead
By connecting two devices for each pixel,
Computes a subtractor with a calculation accuracy. That is, a reduction of 16
Calculator S0~ SFifteenCarry by combining each two
-Connect signal line and subtracter pair S with 8-bit precision0+ S
1, S2+ SThree・ ・ ・ S14+ SFifteen8 are configured. This
MSB side 4 bits of pixel data in one of the subtractor pair of
, And input the 4 bits on the LSB side to the other.
【0039】次に半画素単位の参照画素Cを生成するた
め、参照画像用のフレ−ムメモリ2から画素Bu ,B
u+1 (Y−1≦u≦Y+1)を読み出して補間画素生成
回路8に入力し、ここで平均値を算出することで補間画
素Cu 〜Cu+7 を生成し、やはり減算器S0 〜S15の入
力とする。A0 〜A7 とCu 〜Cu+7 の差分を計算し、
絶対値累積和とその変位uをメモリ7に格納する。Next, in order to generate the reference pixel C in the unit of half pixel, the pixels B u and B from the frame memory 2 for the reference image are generated.
u + 1 (Y-1 ≤ u ≤ Y + 1) is read out and input to the interpolation pixel generation circuit 8, where the average value is calculated to generate the interpolation pixels C u to C u + 7. Input from 0 to S 15 . It calculates a difference A 0 to A 7 and C u ~C u + 7,
The absolute value cumulative sum and its displacement u are stored in the memory 7.
【0040】画素A0 〜A15のうちの残り半分の画素A
8 〜A15についても同様に計算し、既に求めてメモリ7
に格納してあるA0 〜A7 の結果と合わせることで、A
0 〜A15とCu 〜Cu+15についての差分絶対値和SumT
mpを求め、これをメモリ7にその時の変位uとともに格
納する。このため演算回数は整数画素単位の探索時の2
倍になるが、探索単位が少ないので処理時間の増加は大
きくない。The remaining half pixel A of the pixels A 0 to A 15
8 to A 15 are calculated in the same manner, and already calculated and stored in the memory 7
By combining the results of A 0 to A 7 stored in
0 difference absolute value sum for to A 15 and C u ~C u + 15 SumT
mp is obtained and stored in the memory 7 together with the displacement u at that time. Therefore, the number of calculations is 2 when searching in integer pixel units.
Although it doubles, the increase in processing time is not large because the number of search units is small.
【0041】このメモリ7の差分累積値SumTmpとメモ
リ6のそれまでの最小値SumMinと比較して、最小値S
umMinよりも小さければその値を新たな最小値SumMin
としてその時の変位Uと共にメモリ6に格納する。この
ようにしてA0 〜A15にもっとも近いCu 〜Cu+15とな
る変位Uを求めることができる。The difference cumulative value SumTmp of the memory 7 is compared with the minimum value SumMin of the memory 6 until then, and the minimum value S
If it is smaller than umMin, the value is changed to the new minimum value SumMin.
And the displacement U at that time is stored in the memory 6. In this way, the displacement U that is closest to A 0 to A 15 and is C u to C u + 15 can be obtained.
【0042】本発明の実施にあたっては種々の変形形態
が可能である。例えば上述の実施例は補間画素を作って
半画素精度の動き検出を行える動画像符号化装置に本発
明を適用した場合のものであるが、もちろん本発明はか
かる半画素精度の動き検出を行わない方式の動画像符号
化装置にも適用できる。この場合、図6に○で示す整数
画素を対象として第1段階、第2段階の検索を行うこと
になる。またその場合、第1段階の検索は例えば画素一
つ置きにブロックを抽出してそれらのブロックに対して
行い、第2段階の検索で、第1段階で検索されたブロッ
クの周辺にある第1段階で一つ置きにより飛ばされたブ
ロックに対して検索を行うようにすれば、演算回数を削
減することができる。In implementing the present invention, various modifications are possible. For example, the above-described embodiment is a case where the present invention is applied to a moving picture coding apparatus which can make an interpolated pixel and perform motion detection with half-pixel precision, but of course, the present invention performs such half-pixel precision motion detection. It can also be applied to a moving image coding apparatus of a non-type. In this case, the first-stage and second-stage searches are performed for the integer pixels indicated by ◯ in FIG. Further, in that case, the first-stage search is performed, for example, on blocks every other pixel, and those blocks are extracted. In the second-stage search, the first-stage search around the blocks searched in the first-stage is performed. The number of operations can be reduced by performing a search for blocks skipped every other stage in the stage.
【0043】[0043]
【発明の効果】以上に説明したように、本発明によれ
ば、動き検出の検索精度を低下させることなく回路規模
を削減することができる。As described above, according to the present invention, it is possible to reduce the circuit scale without degrading the search accuracy of motion detection.
【図1】本発明に係る原理説明図(第2段階の接続)で
ある。FIG. 1 is a principle explanatory diagram (second stage connection) according to the present invention.
【図2】本発明に係る原理説明図(第1段階の接続)で
ある。FIG. 2 is a diagram for explaining the principle of the present invention (first stage connection).
【図3】本発明の一実施例としての動画像符号化装置の
動き検出装置(第1段階の接続形態)を示す図である。FIG. 3 is a diagram showing a motion detection device (first-stage connection form) of a moving image coding device according to an embodiment of the present invention.
【図4】本発明の一実施例としての動画像符号化装置の
動き検出装置(第2段階の接続形態)を示す図である。FIG. 4 is a diagram showing a motion detecting device (second stage connection form) of a moving image encoding device as an embodiment of the present invention.
【図5】ブロックマッチングによる動き検出を説明する
図である。FIG. 5 is a diagram illustrating motion detection by block matching.
【図6】補間画素による動き検出を説明する図である。FIG. 6 is a diagram illustrating motion detection using interpolated pixels.
【図7】補間画素による動き検出方式の第1段階の整数
画素検索を説明する図である。FIG. 7 is a diagram illustrating a first stage integer pixel search of a motion detection method using interpolation pixels.
【図8】補間画素による動き検出方式の第1段階の整数
画素検索を行う回路を示す図である。FIG. 8 is a diagram showing a circuit for performing a first-stage integer pixel search of a motion detection method using interpolation pixels.
【図9】補間画素による動き検出方式の第2段階の半画
素検索を説明する図である。FIG. 9 is a diagram illustrating a second stage half-pixel search of a motion detection method using interpolated pixels.
【図10】補間画素による動き検出方式の第2段階の半
画素検索を行う回路を示す図である。FIG. 10 is a diagram showing a circuit that performs a second-stage half-pixel search of a motion detection method using interpolated pixels.
1、2 フレームメモリ 3 アドレス発生器 4 加算器 5 比較器 6、7 メモリ 8 補間画素生成回路 1 and 2 frame memory 3 address generator 4 adder 5 comparator 6 and 7 memory 8 interpolation pixel generation circuit
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤村 浩一 神奈川県横浜市港北区新横浜2丁目4番19 号 株式会社富士通プログラム技研内 (72)発明者 江口 勝博 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 (72)発明者 小早川 隆洋 福岡県福岡市博多区博多駅前三丁目22番8 号 富士通九州ディジタル・テクノロジ株 式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Koichi Fujimura, Inventor Koichi Fujimura 2-4-19 Shin-Yokohama, Kohoku Ward, Yokohama City, Kanagawa Prefecture, Fujitsu Program Giken Co., Ltd. 22-8 No. 8 within Fujitsu Kyushu Digital Technology Co., Ltd. (72) Inventor Takahiro Kobayakawa No. 22-8, Hakataekimae, Hakata-ku, Fukuoka City, Fukuoka Prefecture Within Fujitsu Kyushu Digital Technology Co., Ltd.
Claims (3)
動き補償予測型動画像符号化装置の動き検出装置であっ
て、現画面のブロックと前画面のブロックの各画素の差
分を計算する複数の演算器からなる第1の演算器群を備
え、該第1の演算器群の各演算器は画素桁精度よりも低
い計算精度で構成し、動き検出は、第1段階として該第
1の演算器群を用いて検索範囲内のブロックのうちから
差分の最も小さいブロックを検索し、第2段階として該
第1の演算器群を2以上の演算器を互いに組み合わせて
高精度化した複数の演算器組に分けて第2の演算器群を
構成し、該第1段階で検索したブロックを含むその周辺
のブロックに対して1ブロックの画素を複数に分割して
該第2の演算器群を用い複数回の演算を行うことで差分
の最も小さいブロックを検索することで行うように構成
した動画像符号化装置の動き検出装置。1. A motion detection device of a motion-compensated prediction type moving image coding device for performing motion detection by block matching, comprising a plurality of arithmetic units for calculating a difference between each pixel of a current screen block and a previous screen block. A first arithmetic unit group consisting of, and each arithmetic unit of the first arithmetic unit group is configured with a calculation accuracy lower than pixel digit precision, and motion detection is performed by the first arithmetic unit group as a first step. A plurality of arithmetic unit sets in which the block having the smallest difference is searched from the blocks within the search range, and the first arithmetic unit group is combined with two or more arithmetic units to improve accuracy as a second step. To form a second arithmetic unit group, and divide one block of pixels into a plurality of blocks for the surrounding blocks including the block searched in the first step, By performing the calculation twice, the block with the smallest difference Motion detection device configured moving image coding apparatus to perform by searching the click.
検索したブロックを含むその周辺の補間により求めたブ
ロックに対して行うように構成した請求項1記載の動画
像符号化装置の動き検出装置。2. The moving picture coding apparatus according to claim 1, wherein the search in the second step is performed for a block obtained by interpolation around the block including the block searched in the first step. Motion detector.
ける全ブロックに対して行うことに代えて画素複数個置
きの各ブロックに対して行うように構成した請求項1記
載の動画像符号化装置の動き検出装置。3. The moving image according to claim 1, wherein the search in the first step is performed not for all blocks in the search range but for each block having a plurality of pixels. Encoder motion detector.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24205795A JP3580612B2 (en) | 1995-09-20 | 1995-09-20 | Motion detection device for video coding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24205795A JP3580612B2 (en) | 1995-09-20 | 1995-09-20 | Motion detection device for video coding device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0993581A true JPH0993581A (en) | 1997-04-04 |
JP3580612B2 JP3580612B2 (en) | 2004-10-27 |
Family
ID=17083646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24205795A Expired - Fee Related JP3580612B2 (en) | 1995-09-20 | 1995-09-20 | Motion detection device for video coding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3580612B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201880A (en) * | 2006-01-27 | 2007-08-09 | Victor Co Of Japan Ltd | Image encoder and image decoder |
JP2011004051A (en) * | 2009-06-17 | 2011-01-06 | Nippon Telegr & Teleph Corp <Ntt> | Moving images coding method, moving images coding device and moving images coding program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6502485B2 (en) | 2015-05-21 | 2019-04-17 | オリンパス株式会社 | Imaging device |
-
1995
- 1995-09-20 JP JP24205795A patent/JP3580612B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201880A (en) * | 2006-01-27 | 2007-08-09 | Victor Co Of Japan Ltd | Image encoder and image decoder |
JP2011004051A (en) * | 2009-06-17 | 2011-01-06 | Nippon Telegr & Teleph Corp <Ntt> | Moving images coding method, moving images coding device and moving images coding program |
Also Published As
Publication number | Publication date |
---|---|
JP3580612B2 (en) | 2004-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1074941B1 (en) | Motion vector detection apparatus | |
US8218635B2 (en) | Systolic-array based systems and methods for performing block matching in motion compensation | |
US4937666A (en) | Circuit implementation of block matching algorithm with fractional precision | |
US6690730B2 (en) | Motion estimator | |
JP3611507B2 (en) | Motion vector detection device | |
US5696836A (en) | Motion estimation processor architecture for full search block matching | |
JP3089165B2 (en) | Motion vector search device | |
KR100226684B1 (en) | A half pel motion estimator | |
KR20050097936A (en) | Efficient predictive image parameter estimation | |
JPH0993581A (en) | Motion detector for moving image coder | |
JP2930675B2 (en) | Motion vector detection method using initial displacement vector | |
JP3627872B2 (en) | Motion vector detection method and apparatus | |
JP2885039B2 (en) | Motion vector detection circuit | |
US5548665A (en) | Vector correlation detecting circuit | |
US20030059089A1 (en) | Block matching at the fractional pixel level for motion estimation | |
JP3611958B2 (en) | Motion vector detection method and motion vector detection circuit for moving picture signal | |
JP2608909B2 (en) | Video predictive coding | |
JP2004229150A (en) | Motion vector searching method and device | |
JP3189655B2 (en) | Apparatus and method for detecting motion vector | |
JP3698501B2 (en) | Motion vector detection device | |
KR100926440B1 (en) | Block matching motion estimation apparatus for picture coding | |
EP0974103A2 (en) | Method and apparatus for half pixel sad generation | |
KR100243467B1 (en) | Adding method for calculating mae in a motion estimator and an architecture thereof | |
JP2866321B2 (en) | Motion vector search method and apparatus | |
JP2596352B2 (en) | Decimal precision motion vector search device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040628 |
|
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: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040720 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080730 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090730 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100730 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100730 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110730 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110730 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120730 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120730 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130730 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |