JPH0993587A - Motion vector retrieval method and retrieval device - Google Patents
Motion vector retrieval method and retrieval deviceInfo
- Publication number
- JPH0993587A JPH0993587A JP25030095A JP25030095A JPH0993587A JP H0993587 A JPH0993587 A JP H0993587A JP 25030095 A JP25030095 A JP 25030095A JP 25030095 A JP25030095 A JP 25030095A JP H0993587 A JPH0993587 A JP H0993587A
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- current image
- data transfer
- holding means
- input
- 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ディジタル動画像
の情報圧縮に適用される動きベクトル探索装置に係り、
特に、現画像の一部を構成する現画像ブロックの画素デ
ータと参照画像上のサーチウィンドウ内の複数の候補ブ
ロックの画素データとに基づいて算出されたそれぞれの
ディストーションによって動きベクトルを探索する動き
ベクトル探索装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motion vector search device applied to information compression of digital moving images,
In particular, a motion vector for searching a motion vector by each distortion calculated based on pixel data of a current image block forming a part of the current image and pixel data of a plurality of candidate blocks in a search window on the reference image. The present invention relates to a search device.
【0002】[0002]
【従来の技術】文字、図形、音声、映像などの異なる情
報をデジタルデータで表現し、これらのメディアを統合
して一元的に取り扱うマルチメディアが近年注目を浴び
ている。このマルチメディアをより効果的に実現するキ
ー・テクノロジーのひとつとして情報圧縮技術がある。
情報圧縮技術は、情報の冗長性に着目し、冗長な部分の
情報を削減することにより、情報量を少なくする技術で
あり、これにより大量の情報を効率的に処理し、蓄積
し、伝送することが可能となる。2. Description of the Related Art In recent years, multimedia which expresses different information such as characters, figures, voices, and images by digital data, and integrates these media and handles them in a unified manner has attracted attention in recent years. One of the key technologies to realize this multimedia more effectively is information compression technology.
Information compression technology is a technology that focuses on information redundancy and reduces the amount of information by reducing the information in redundant parts, thereby efficiently processing, storing, and transmitting a large amount of information. It becomes possible.
【0003】各種のメディアの情報量には大きな差があ
り、とりわけ、動画像は膨大な情報量を有するため、大
幅な情報の圧縮が必要となる。情報の圧縮方法には各種
方式があり、これらの方式を組み合わせることにより、
大幅な圧縮を実現している。一般に、これらの圧縮機能
はLSI(Large scale integrated circuit)として提
供されている。[0003] There is a large difference in the amount of information of various media. In particular, since a moving image has a huge amount of information, a large amount of information compression is required. There are various methods for compressing information, and by combining these methods,
Significant compression has been achieved. Generally, these compression functions are provided as an LSI (Large scale integrated circuit).
【0004】動画像情報の圧縮方式の一つとして、動画
像の一部を構成する2つの画面間の時間的な相関関係に
基づいて情報圧縮を行う方式が知られている。この圧縮
方式には、例えば、単純フレーム間予測符号化方式、動
き補償フレーム間予測符号化方式がある。ここで、フレ
ームとは、動画像を構成する1枚の画面を表す。以下、
単純フレーム間予測符号化方式および動き補償フレーム
間予測符号化方式について説明する。As one of the compression methods for moving image information, there is known a method of compressing information based on a temporal correlation between two screens constituting a part of a moving image. This compression method includes, for example, a simple inter-frame predictive coding method and a motion-compensated inter-frame predictive coding method. Here, a frame represents one screen constituting a moving image. Less than,
The simple inter-frame prediction coding method and the motion compensation inter-frame prediction coding method will be described.
【0005】図39は単純フレーム間予測符号化方式を
示す図である。単純フレーム間予測符号化方式において
は、互いに位置的に対応する現画像100の各画素デー
タと参照画像300の各画素データとの差分値を算出
し、この差分値を適当な閾値と比較して、有意画素デー
タと非有意画素データとに識別する。有意画素データ
は、この差分値が閾値より大きい場合に相当し、参照画
像300から現画像100を予測する際に省略すること
のできないデータである。一方、非有意画素データは、
この差分値が閾値以下の場合に相当し、参照画像300
から現画像100を予測する際に削減することが可能な
データである。FIG. 39 is a diagram showing a simple interframe predictive coding system. In the simple inter-frame predictive coding method, a difference value between each pixel data of the current image 100 and each pixel data of the reference image 300, which positionally correspond to each other, is calculated, and this difference value is compared with an appropriate threshold value. , Significant pixel data and insignificant pixel data. The significant pixel data corresponds to the case where this difference value is larger than the threshold value, and is data that cannot be omitted when predicting the current image 100 from the reference image 300. On the other hand, insignificant pixel data is
This difference value is equal to or less than the threshold value, and the reference image 300
It is data that can be reduced when the current image 100 is predicted from.
【0006】なお、参照画像300は、現画像100よ
りも過去の画像であっても、未来の画像であってもよい
が、現画像100よりも時間的に先に符号化される画像
である。例えば、図39に示すように、前画像100に
おける人物像10が現画像100において右方向に移動
してる場合、有意画素データを示す領域は、2つの有意
画素領域20および21によって示される。有意画素領
域20に位置的に対応する現画像100上の画素データ
は、この画素データと有意画素領域20との差分値およ
び有意画素領域20によって表すことができ、有意画素
領域21に位置的に対応する現画像100上の画素デー
タは、この画素データと有意画素領域21との差分値お
よび有意画素領域21によって表すことができる。残り
の非有意画素領域は、この非有意画素領域と位置的に対
応する参照画像300の画素データそのものによって表
すことができる。The reference image 300 may be a past image or a future image relative to the present image 100, but is an image encoded earlier than the present image 100 in time. . For example, as shown in FIG. 39, when the person image 10 in the previous image 100 is moving to the right in the current image 100, the region showing the significant pixel data is shown by two significant pixel regions 20 and 21. Pixel data on the current image 100, which positionally corresponds to the significant pixel region 20, can be represented by the difference value between the pixel data and the significant pixel region 20 and the significant pixel region 20, and the significant pixel region 21 is positioned in the position. The corresponding pixel data on the current image 100 can be represented by the difference value between this pixel data and the significant pixel region 21 and the significant pixel region 21. The remaining non-significant pixel area can be represented by the pixel data itself of the reference image 300 that positionally corresponds to this non-significant pixel area.
【0007】単純フレーム間予測符号化方式では、有意
画素数が少ないほど予測の際に必要な差分値のデータ量
を少なくすることができるので、圧縮効率を向上するこ
とができる。また、閾値を高く設定することによって有
意画素数を少なくして圧縮効率をさらに向上することも
できるが、閾値を高くしすぎると、画像の動きがぎくし
ゃくして不自然になったり、動くべき画像の一部が残像
として現れたりするため、画像品質が著しく劣化すると
いった不具合が発生する。In the simple inter-frame predictive coding method, the smaller the number of significant pixels, the smaller the data amount of the difference value required for prediction, so that the compression efficiency can be improved. Also, by setting a high threshold, the number of significant pixels can be reduced to further improve the compression efficiency.However, if the threshold is set too high, the image becomes jerky and unnatural, May appear as an afterimage, causing a problem that the image quality is significantly deteriorated.
【0008】このように、単純フレーム間予測符号化方
式では、現画像100を参照画像300の同一位置の画
素データに基づいて予測するので、現画像100と参照
画像300との間の画像上の変化が小さいときには高い
圧縮効率を実現することができるが、図39に示すよう
に、画像の一部が画像上で大幅に移動するような場合に
は、単純フレーム間予測符号化方式よりも次に説明する
動き補償フレーム間予測符号化方式を用いた方が圧縮効
率は高くなる。As described above, in the simple inter-frame predictive coding method, the current image 100 is predicted based on the pixel data at the same position of the reference image 300, so that the image between the current image 100 and the reference image 300 is predicted. Although a high compression efficiency can be realized when the change is small, as shown in FIG. 39, when a part of the image moves significantly on the image, the compression rate is higher than that of the simple interframe predictive coding method. The compression efficiency is higher when the motion-compensated inter-frame predictive coding method described in 1. is used.
【0009】動き補償フレーム間予測符号化方式では、
図40に示すように、人物像10が移動した場合、図4
0に示された動きベクトルMVを算出する。動きベクト
ルMVは、人物像10の移動方向および移動距離を表
し、この動きベクトルMVと参照画像300の人物像1
0を形成する画素データとによって、現画像100上の
人物像10を予測する。この場合、有意画素領域は領域
20のみになる。したがって、動き補償フレーム間予測
符号化方式のほうが、有意画素数を大幅に少なくするこ
とができるので、画像情報の圧縮効率を大幅に向上する
ことができる。In the motion compensation interframe predictive coding system,
If the person image 10 moves as shown in FIG.
The motion vector MV indicated by 0 is calculated. The motion vector MV represents the moving direction and the moving distance of the person image 10, and the motion vector MV and the person image 1 of the reference image 300.
The person image 10 on the current image 100 is predicted by the pixel data forming 0. In this case, the significant pixel area is only the area 20. Therefore, the motion-compensated inter-frame predictive coding method can significantly reduce the number of significant pixels, and thus can significantly improve the compression efficiency of image information.
【0010】ところで、国際標準方式であるITU−T
(International telecommunication Union-Telecommun
ication Standardization Sector)H.261による動
き補償フレーム間予測方式では、まず、図41に示すよ
うに、現画像110を複数のブロックに分割し、その一
つのブロック(以下、現画像ブロックと呼ぶ)220に
類似した同一サイズの複数のブロック302(以下、候
補ブロックと呼ぶ)を含むサーチウィンドウ410を参
照画像302上で特定し、サーチウインド410内に含
まれる複数の候補ブロック302と現画像ブロック22
0とのディストーションを算出する。Incidentally, the ITU-T which is an international standard system
(International telecommunication Union-Telecommun
ication Standardization Sector) H. In the motion compensation inter-frame prediction method according to H.261, first, as shown in FIG. A search window 410 including a plurality of blocks 302 (hereinafter referred to as candidate blocks) is specified on the reference image 302, and the plurality of candidate blocks 302 and the current image block 22 included in the search window 410 are identified.
Calculate the distortion with 0.
【0011】ここで、ディストーションとは、各候補ブ
ロック302と現画像ブロック220との類似性を表す
ものであり、各候補ブロック内の位置的に対応する画素
データの差分値をそれぞれ求め、これらの差分値が相殺
されないように絶対値演算または二乗演算によって正数
データに変換して累積した値で示される。次に、算出さ
れたディストーションの中から最小の値をもつディスト
ーションを特定し、この最小ディストーションを有する
候補ブロック302と現画像ブロック220に基づいて
動きベクトルMVが算出される。Here, the distortion represents the similarity between each candidate block 302 and the current image block 220, and the difference value of the pixel data corresponding to each position in each candidate block is obtained, respectively. The difference value is shown as a value accumulated by being converted into positive number data by an absolute value calculation or a square calculation so as not to be offset. Next, the distortion having the minimum value is specified from the calculated distortions, and the motion vector MV is calculated based on the candidate block 302 having the minimum distortion and the current image block 220.
【0012】さらに、現画像ブロック220、サーチウ
ィンドウ410、候補ブロック302の関係について説
明する。図42(b)に示すように、現画像ブロック2
20がN行M列の画素から構成され、図42(a)に示
すように、サーチウィンドウ410がH行L列の画素か
ら構成されるとすると、現画像ブロック220に類似し
た候補ブロック302は、サーチウィンドウ410内に
(H−N+1)×(L−M+1)個存在する。Further, the relationship among the current image block 220, the search window 410 and the candidate block 302 will be described. As shown in FIG. 42B, the current image block 2
If 20 is composed of pixels in N rows and M columns and the search window 410 is composed of pixels in H rows and L columns as shown in FIG. 42A, the candidate block 302 similar to the current image block 220 is , (H−N + 1) × (L−M + 1) pieces exist in the search window 410.
【0013】また、現画像ブロック220の左上角の画
素データをa(0,0)で表わすとすると、サーチウィ
ンドウ410内でこの画素データa(0,0)に位置的
に対応する各候補ブロック302の画素の取り得る範囲
は、図42(a)の斜線領域で示される。現画像ブロッ
ク220内の画素データと各候補ブロック302内の画
素データとの位置的な対応関係を図43に示す。図43
に示すように、現画像ブロック220内の画素データa
(m,n)に位置的に対応する各候補ブロック302内
の画素データは、サーチウィンドウ410内の画素デー
タb(l+m,h+n)で表される。ここで、hおよび
lはサーチウィンドウ410内の各候補ブロック302
を特定する値であり、サーチウィンドウ410内の画素
データb(l,h)は候補ブロック302の左上角の画
素データであり、現画像ブロック220の左上角の画素
データa(0,0)に位置的に対応する。If the pixel data at the upper left corner of the current image block 220 is represented by a (0,0), each candidate block positionally corresponding to this pixel data a (0,0) in the search window 410. The range that can be taken by the pixel 302 is indicated by the hatched area in FIG. FIG. 43 shows the positional correspondence between the pixel data in the current image block 220 and the pixel data in each candidate block 302. FIG.
Pixel data a in the current image block 220
Pixel data in each candidate block 302 corresponding to (m, n) in position is represented by pixel data b (l + m, h + n) in the search window 410. Here, h and l are each candidate block 302 in the search window 410.
The pixel data b (l, h) in the search window 410 is the pixel data at the upper left corner of the candidate block 302, and is the pixel data a (0,0) at the upper left corner of the current image block 220. Positionally correspond.
【0014】図42および図43に示された現画像ブロ
ック220、サーチウィンドウ410および複数の候補
ブロック302において、現画像ブロック220と各候
補ブロック302とのディストーションをD(l,h)
とすると、D(l,h)は以下の式により表される。In the current image block 220, the search window 410 and the plurality of candidate blocks 302 shown in FIGS. 42 and 43, the distortion between the current image block 220 and each candidate block 302 is D (l, h).
Then, D (l, h) is represented by the following equation.
【0015】[0015]
【数1】 [Equation 1]
【0016】ここで、‖‖はディストーションを演算す
るノルムを示し、d(m,n)は、 d(m,n)=b(l+m,h+n)−a(m,n) で表され、現画像ブロック220の画素データおよび位
置的に対応する各候補ブロック302の画素データの差
分値である局所ディストーションを示している。ノルム
演算は、一般に、絶対値演算および二乗演算が用いられ
るが、計算の複雑さと効率の点で絶対値演算が最も頻繁
に用いられる。Here, ‖‖ represents the norm for calculating the distortion, and d (m, n) is represented by d (m, n) = b (l + m, h + n) -a (m, n), and The local distortion which is the difference value of the pixel data of the image block 220 and the pixel data of each candidate block 302 corresponding in position is shown. The norm operation generally uses an absolute value operation and a square operation, but the absolute value operation is most frequently used in terms of computational complexity and efficiency.
【0017】なお、動き補償フレーム間予測方式におい
て、現画像と参照画像をブロック単位で比較する方法
は、ブロック・マッチング法と呼ばれており、さらに、
サーチウィンドウ内に含まれる全ての候補ブロックと現
画像ブロックとを比較する場合には、フル・サーチ・ブ
ロック・マッチング法(全点探索法)と呼ばれている。
この全点探索法を用いて動きベクトルを求める方法およ
び装置として、例えば、特開平2−213291号公報
の二次元アニメート画像の連続画像を表すデータ信号を
処理するための方法および回路が知られている。この方
法および回路においては、演算時間を短縮するため、候
補ブロックの数だけプロセッサエレメントを配置して、
プロセッサエレメントに供給されたサーチウィンドウの
画素データを全体として上方向、下方向および左方向に
切り換えてスキャニングを行うことでディストーション
を求めている。In the motion-compensated inter-frame prediction method, the method of comparing the current image and the reference image in block units is called a block matching method.
When all the candidate blocks included in the search window are compared with the current image block, it is called a full search block matching method (all-point search method).
As a method and an apparatus for obtaining a motion vector using the all-points search method, for example, a method and a circuit for processing a data signal representing a continuous image of a two-dimensional animated image disclosed in Japanese Patent Application Laid-Open No. Hei 2-213291 are known. I have. In this method and circuit, in order to reduce the operation time, processor elements are arranged by the number of candidate blocks,
The distortion is obtained by switching the pixel data of the search window supplied to the processor element in the upward, downward and leftward directions as a whole to perform scanning.
【0018】すなわち、図44および図45に示すよう
に、lおよびhを l=0,1,2,3 h=0,1,2,3 で表すとすると、まず、斜線で示された9個のプロセッ
サエレメントにそれぞれサーチウィンドウの画素データ
が入力されるとともに、現画像ブロックの画素データa
(0,0)が入力されたサイクル0では、各プロセッサ
エレメントでは、局所ディストーション |b(l,h)−a(0,0)| の計算およびストアが行われる。That is, as shown in FIGS. 44 and 45, if l and h are represented by l = 0,1,2,3 h = 0,1,2,3, first, the shaded 9 The pixel data of the search window is input to each of the processor elements, and the pixel data a of the current image block is input.
In cycle 0 in which (0,0) is input, the local distortion | b (l, h) -a (0,0) | is calculated and stored in each processor element.
【0019】次のサイクル1では、サーチウィンドウの
各画素データを全体として上に移動するとともに、現画
像ブロックの画素データa(0,1)が入力されること
で局所ディストーション |b(l,h+1)−a(0,1)| の計算が行われ、さらに、サイクル0で計算された局所
ディストーションに加算されてストアされる。In the next cycle 1, each pixel data of the search window is moved upward as a whole, and the pixel data a (0, 1) of the current image block is inputted, so that the local distortion | b (l, h + 1) ) −a (0, 1) | is further added to the local distortion calculated in cycle 0 and stored.
【0020】次いで、サイクル2では、サーチウィンド
ウの各画素データを全体として左に移動するとともに、
現画像ブロックの画素データa(1,1)が入力される
ことで局所ディストーション |b(l+1,h+1)−a(1,1)| の計算が行われ、さらに、サイクル1での演算結果に加
算されてストアされる。Next, in cycle 2, each pixel data of the search window is moved to the left as a whole,
By inputting the pixel data a (1,1) of the current image block, the local distortion | b (l + 1, h + 1) -a (1,1) | is calculated, and the calculation result in cycle 1 It is added and stored.
【0021】次いで、サイクル3では、サーチウィンド
ウの各画素データを全体として下に移動するとともに、
現画像ブロックの画素データa(1,0)が入力される
ことで |b(l+1,h)−a(1,0)| の計算が行われ、さらに、サイクル2での演算結果に加
算されてストアされ、結果として9個の候補ブロックに
対応する各候補ブロックと現画像ブロックとのディスト
ーションが計算される。Next, in cycle 3, while moving each pixel data of the search window as a whole,
By inputting the pixel data a (1,0) of the current image block, | b (l + 1, h) -a (1,0) | is calculated and further added to the operation result in cycle 2. And as a result, the distortion between each candidate block corresponding to the nine candidate blocks and the current image block is calculated.
【0022】次いで、これらのディストーションの中か
ら検出された最小ディストーションに基づいて動きベク
トルが求められる。一般に、動きベクトルを探索する処
理は、ディストーションの演算と画像メモリへのアクセ
スが大部分を占め、膨大な処理を行うために高速のLS
Iが要求される。これに対し、上記動きベクトル探索装
置は、2次元のシストリックアレー構造を採用し、LS
Iチップ内に複数のプロセッサエレメントを配置して、
並列動作を行うことにより動きベクトル探索処理の高速
化を実現している。Then, the motion vector is obtained based on the minimum distortion detected from these distortions. Generally, in the process of searching a motion vector, the distortion calculation and the access to the image memory occupy a large part, and a high-speed LS is required to perform a huge amount of processing.
I is required. On the other hand, the motion vector search device adopts a two-dimensional systolic array structure and
Arranging multiple processor elements in the I-chip,
By performing the parallel operation, the speedup of the motion vector search process is realized.
【0023】[0023]
【発明が解決しようとする課題】しかしながら、従来の
動きベクトル探索装置にあっては、図44および図45
に示されたサーチウィンドウの画素データは、ディスト
ーションの算出に使用され、最も左の列のプロセッサエ
レメントの左方向にスキャンされると消滅し、複数の現
画像ブロックに対してそれぞれサーチウィンドウを設定
してディストーションを算出する場合、同じサーチウィ
ンドウの画素データを参照画像の画素データが記憶され
た画像メモリに何回もアクセスする必要があるため、プ
ロセッサエレメントによりディストーションを演算する
時間より、入力すべきサーチウィンドウの画素データを
画像メモリにアクセスする時間のほうが長くかかってし
まい、画像メモリへの参照画像の画素データのアクセス
速度が全体の処理速度の向上を妨げる原因となってしま
うといった問題があった。However, in the conventional motion vector search device, the motion vector search device shown in FIGS.
The pixel data of the search window shown in Fig. 4 is used for calculating the distortion, and disappears when scanned leftward of the processor element in the leftmost column, and sets the search window for each of a plurality of current image blocks. When calculating the distortion by using the pixel data of the same search window, it is necessary to access the image memory in which the pixel data of the reference image is stored many times. There is a problem that it takes a longer time to access the pixel data of the window to the image memory, and the access speed of the pixel data of the reference image to the image memory hinders the improvement of the overall processing speed.
【0024】そこで、本発明は、同じサーチウィンドウ
の画素データを共有する複数の現画像ブロックに対し
て、一つの現画像ブロックに対応するディストーション
の算出に使用されたサーチウィンドウの画素データのう
ち、プロセッサエレメントから消滅してしまう画素デー
タを保持するレジスタを設け、レジスタに保持された画
素データを再度プロセッサエレメントに戻して異なる現
画像ブロック対応するディストーションを算出すること
で、サーチウィンドウの画素データを画像メモリにアク
セスするデータ量を少なくし、相対的に動きベクトル探
索処理を高速化することができる動きベクトル探索方法
および探索装置を提供することを目的としている。Therefore, according to the present invention, for a plurality of current image blocks sharing pixel data of the same search window, among the pixel data of the search window used for calculating the distortion corresponding to one current image block, By providing a register for holding pixel data that disappears from the processor element, returning the pixel data held in the register to the processor element again, and calculating the distortion corresponding to a different current image block, the pixel data of the search window is displayed. An object of the present invention is to provide a motion vector search method and a search device capable of reducing the amount of data accessing the memory and relatively speeding up the motion vector search process.
【0025】[0025]
【課題を解決するための手段】上記課題を解決するた
め、請求項1に記載の発明は、動画像を部分的に構成す
る現画像を前記動画像を部分的に構成する参照画像に基
づいて予測するのに用いられる動きベクトルを探索する
方法であり、前記現画像が画素データを有する複数行複
数列の画素により表わされる複数の現画像ブロックを含
み、前記参照画像がそれぞれ画素データを有する前記現
画像ブロックと同一サイズの複数の候補ブロックを含
み、前記現画像ブロック毎に、前記複数の候補ブロック
のうち該現画像ブロックに類似する何れか1つの候補ブ
ロックのブロック位置と該現画像ブロックのブロック位
置とによって、前記動きベクトルを特定する動きベクト
ル探索方法であって、前記複数の現画像ブロックの画素
データと、それぞれ前記参照画像の複数の候補ブロック
のうち少なくとも2つの候補ブロックを含む複数のサー
チウィンドウの画素データと、を準備する工程と、前記
サーチウィンドウおよび前記現画像ブロックのサイズに
応じた探索領域を形成し該探索領域内に前記サーチウィ
ンドウ内の各候補ブロックの画素データの一部を入力し
て保持するとともに該保持した画素データを前記探索領
域の所定方向に転送する第1の画素データ転送保持手段
と、前記第1の画素データ転送保持手段との間で画素デ
ータを授受し前記第1の画素データ転送保持手段と共に
前記サーチウィンドウの画素データを前記探索領域を通
る所定の転送経路に沿って転送する第2の画素データ転
送保持手段と、前記転送経路に沿って転送された画素デ
ータの一部を前記第1および第2の画素データ転送保持
手段から入力し出力する第3の画素データ転送保持手段
と、をそれぞれ準備する工程と、前記サーチウィンドウ
の画素データを前記第1および第2の画素データ転送保
持手段に入力するとともに、前記サーチウィンドウの各
画素列の画素データが全行一緒に列方向に往復移動しな
がら行方向に移動するよう、前記第1および第2の画素
データ転送保持手段により、前記サーチウィンドウの画
素データを前記転送経路に沿って転送するウィンドウデ
ータ転送工程と、前記現画像ブロックの画素データと前
記第1の画素データ転送保持手段に保持された画素デー
タとに基づいて、前記現画像ブロックの各々に対し、前
記現画像ブロックと前記複数の候補ブロックとの間の画
像の差を表わす複数のディストーションをそれぞれ算出
する第1のディストーション算出工程と、前記現画像ブ
ロックの各々に対し算出された複数のディストーション
の値のうち最小値を検出して、前記類似する1つの候補
ブロックを特定する類似ブロック特定工程と、を含み、
さらに、前記第1および第2の画素データ転送保持手段
に入力された前記サーチウィンドウの画素データのうち
前記サーチウィンドウの1列目から所定列分だけ各列の
画素データを前記第1および第2の画素データ転送保持
手段から排出しつつ前記第3の画素データ転送保持手段
に保持させる排出データ保持工程と、前記第3の画素デ
ータ転送保持手段に保持された画素データを前記第3の
画素データ転送保持手段から前記第1および第2の画素
データ転送保持手段に戻す画素データ戻し工程と、該画
素データ戻し工程により前記第1および第2の画素デー
タ転送保持手段に戻された画素データを用いて、前記現
画像ブロックとは異なる現画像ブロックに対応するディ
ストーション算出を行う第2のディストーション算出工
程と、を有することを特徴とする。In order to solve the above-mentioned problems, the present invention according to claim 1 is based on a current image partially forming a moving image based on a reference image partially forming the moving image. A method of searching a motion vector used for prediction, wherein the current image includes a plurality of current image blocks represented by pixels in a plurality of rows and a plurality of columns having pixel data, and the reference image has pixel data. The current image block includes a plurality of candidate blocks having the same size, and for each of the current image blocks, the block position of any one of the plurality of candidate blocks that is similar to the current image block and the current image block. A motion vector search method for specifying the motion vector according to a block position, the pixel data of the plurality of current image blocks, Preparing a plurality of search window pixel data including at least two candidate blocks among a plurality of candidate blocks of the reference image; and forming a search area according to the sizes of the search window and the current image block, First pixel data transfer holding means for inputting and holding a part of pixel data of each candidate block in the search window in the search area and transferring the held pixel data in a predetermined direction of the search area, Pixel data is transferred to and from the first pixel data transfer holding means, and the pixel data of the search window is transferred along with the first pixel data transfer holding means along a predetermined transfer path passing through the search area. Two pixel data transfer holding means, and a part of the pixel data transferred along the transfer path to the first and second pixels. A third pixel data transfer holding means for inputting and outputting from the data transfer holding means, and inputting pixel data of the search window to the first and second pixel data transfer holding means. , The pixel data of the search window is moved by the first and second pixel data transfer holding means so that the pixel data of each pixel column of the search window moves in the row direction while reciprocating in all columns together in the column direction. To the current image block based on the pixel data of the current image block and the pixel data held in the first pixel data transfer / holding means. On the other hand, each of a plurality of distortions representing the image difference between the current image block and the plurality of candidate blocks is calculated. A first distortion calculating step; and a similar block specifying step of detecting the minimum value of a plurality of distortion values calculated for each of the current image blocks and specifying the similar one candidate block. Including,
Further, among the pixel data of the search window input to the first and second pixel data transfer holding means, the pixel data of each column by a predetermined column from the first column of the search window is converted into the first and second pixel data. Discharge data holding step of causing the third pixel data transfer holding means to hold the discharged pixel data, and the pixel data held by the third pixel data transfer holding means. The pixel data returning step of returning from the transfer holding means to the first and second pixel data transfer holding means, and the pixel data returned to the first and second pixel data transfer holding means by the pixel data returning step are used. And a second distortion calculation step of performing distortion calculation corresponding to a current image block different from the current image block. The features.
【0026】請求項2に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、前記現画像が画素データを有する
複数行複数列の画素により表わされる複数の現画像ブロ
ックを含み、前記参照画像がそれぞれ画素データを有す
る前記現画像ブロックと同一サイズの複数の候補ブロッ
クを含み、前記現画像ブロック毎に、前記複数の候補ブ
ロックのうち該現画像ブロックに類似する何れか1つの
候補ブロックのブロック位置と該現画像ブロックのブロ
ック位置とによって、前記動きベクトルを特定する動き
ベクトル探索装置であって、前記参照画像の画素データ
を記憶し前記候補ブロックをそれぞれ少なくとも2つ含
んだ複数のサーチウィンドウの画素データを出力可能な
参照画像データ記憶手段と、前記サーチウィンドウおよ
び前記現画像ブロックのサイズに応じた探索領域を形成
し、該探索領域内に前記サーチウィンドウ内の各候補ブ
ロックの画素データの一部を入力して保持するととも
に、該保持した画素データを前記探索領域の所定方向に
転送する第1の画素データ転送保持手段と、前記第1の
画素データ転送保持手段との間で画素データを授受し、
前記第1の画素データ転送保持手段と共に前記サーチウ
ィンドウの画素データを前記探索領域を通る所定の転送
経路に沿って転送する第2の画素データ転送保持手段
と、前記転送経路に沿って転送された画素データの一部
を前記第1および第2の画素データ転送保持手段から入
力し出力する第3の画素データ転送保持手段と、前記サ
ーチウィンドウの画素データを前記第1および第2の画
素データ転送保持手段に入力させ、前記複数のうち少な
くとも2つの候補ブロックを前記探索領域内に順次入力
させるとともに、前記サーチウィンドウの各画素列の画
素データが全行一緒に列方向に往復運動しながら行方向
に移動するよう、前記第1および第2の画素データ転送
保持手段により前記サーチウィンドウの画素データを前
記転送経路に沿って転送させるウィンドウデータ転送制
御手段と、前記現画像ブロックの画素データと前記第1
の画素データ転送保持手段に保持された画素データとに
基づいて、前記現画像ブロックの各々に対し、前記現画
像ブロックと前記複数の候補ブロックとの間の画像の差
を表わす複数のディストーションをそれぞれ算出するデ
ィストーション算出手段と、前記現画像ブロックの各々
に対し算出された複数のディストーションの値のうち最
小値を検出して、前記類似する1つの候補ブロックを特
定する類似ブロック特定手段と、前記第1および第2の
画素データ転送保持手段により画素データが転送される
とき、前記第1および第2の画素データ転送保持手段に
入力された画素データのうち前記サーチウィンドウの1
列目から所定列分だけ各列の画素データを前記第1およ
び第2の画素データ転送保持手段から排出しつつ前記第
3の画素データ転送保持手段に保持させる排出データ保
持制御手段と、該排出データ保持制御手段により前記第
3の画素データ転送保持手段に保持された画素データを
前記第3の画素データ転送保持手段から前記第1および
第2の画素データ転送手段に戻す戻しデータ転送制御手
段と、を備え、前記ディストーション算出手段が、該戻
しデータ転送制御手段により前記第3の画素データ転送
保持手段から前記第1および第2の画素データ転送保持
手段に戻された画素データを用いて、前記現画像ブロッ
クとは異なる現画像ブロックに対応するディストーショ
ン算出を行なうことを特徴とする。According to a second aspect of the present invention, there is provided an apparatus for searching a motion vector used for predicting a current image partially forming a moving image based on a reference image partially forming the moving image. Yes, the current image includes a plurality of current image blocks represented by pixels in a plurality of rows and a plurality of columns having pixel data, and the reference image includes a plurality of candidate blocks having the same size as the current image block each having pixel data. , A motion vector that specifies the motion vector for each of the current image blocks by the block position of any one candidate block similar to the current image block among the plurality of candidate blocks and the block position of the current image block A search device, comprising a plurality of searches, each of which stores pixel data of the reference image and includes at least two candidate blocks. Reference image data storage means capable of outputting window pixel data, and a search area corresponding to the size of the search window and the current image block, and pixel data of each candidate block in the search window in the search area Between a first pixel data transfer holding means for inputting and holding a part of the stored pixel data and transferring the held pixel data in a predetermined direction of the search area, and the first pixel data transfer holding means. Exchange data,
A second pixel data transfer / holding means for transferring the pixel data of the search window together with the first pixel data transfer / holding means along a predetermined transfer path passing through the search area; and a second pixel data transfer / holding means for transferring the pixel data in the search window along the transfer path. Third pixel data transfer holding means for inputting and outputting a part of the pixel data from the first and second pixel data transfer holding means, and pixel data of the search window for the first and second pixel data transfer Inputting to the holding means, at least two candidate blocks of the plurality are sequentially input into the search area, and pixel data of each pixel column of the search window is reciprocally moved in all columns together in the row direction. So that the pixel data of the search window is moved along the transfer path by the first and second pixel data transfer holding means. A window data transfer control means for creating transmission, wherein the pixel data first current picture block
A plurality of distortions representing image differences between the current image block and the plurality of candidate blocks, based on the pixel data held in the pixel data transfer holding means of FIG. Distortion calculation means for calculating, a similar block specifying means for detecting a minimum value among a plurality of distortion values calculated for each of the current image blocks, and specifying the similar one candidate block; When the pixel data is transferred by the first and second pixel data transfer holding means, one of the search windows among the pixel data input to the first and second pixel data transfer holding means
Ejection data holding control means for causing the third pixel data transfer holding means to hold the pixel data of each row for a predetermined number of rows from the first row while being discharged from the first and second pixel data transfer holding means, and the discharging. Return data transfer control means for returning the pixel data held in the third pixel data transfer holding means by the data holding control means from the third pixel data transfer holding means to the first and second pixel data transfer means And the distortion calculating means uses the pixel data returned from the third pixel data transfer holding means to the first and second pixel data transfer holding means by the return data transfer control means, It is characterized in that distortion calculation is performed for a current image block different from the current image block.
【0027】請求項3に記載の発明は、請求項2に記載
の発明において、前記ディストーション算出手段により
ディストーション算出終了後、前記サーチウィンドウの
画素データがディストーション算出開始時の状態に復帰
するよう、戻しデータ転送制御手段が、前記第3の画素
データ転送保持手段に保持されたサーチウィンドウの画
素データを前記第1および第2の画素データ転送保持手
段に戻すとともに、前記ウィンドウデータ転送制御手段
が、前記第1および第2の画素データ転送保持手段に保
持されたサーチウィンドウの画素データを前記転送経路
と反対の方向に転送させ、前記ディストーション算出手
段が、前記現画像ブロックとは異なる現画像ブロックに
対応するディストーション算出を行なうことを特徴とす
る。According to a third aspect of the present invention, in the second aspect of the invention, after the distortion calculation is completed by the distortion calculation means, the pixel data in the search window is returned so as to return to the state when the distortion calculation was started. The data transfer control means returns the pixel data of the search window held by the third pixel data transfer holding means to the first and second pixel data transfer holding means, and the window data transfer control means operates by the The pixel data of the search window held by the first and second pixel data transfer holding means is transferred in the direction opposite to the transfer path, and the distortion calculating means corresponds to the current image block different from the current image block. It is characterized in that distortion calculation is performed.
【0028】請求項4に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、N,Mをそれぞれ整数とすると
き、前記現画像が画素データを有するN行M列の画素に
より表わされる複数の現画像ブロックを含み、前記参照
画像がそれぞれ画素データを有する前記現画像ブロック
と同一サイズの複数の候補ブロックを含み、前記現画像
ブロック毎に、前記複数の候補ブロックのうち該現画像
ブロックに類似する何れか1つの候補ブロックのブロッ
ク位置と該現画像ブロックのブロック位置とによって、
前記動きベクトルを特定する動きベクトル探索装置であ
って、H,Lをそれぞれ整数とするとき、前記参照画像
の画素データを記憶し前記候補ブロックをそれぞれ少な
くとも2つ含んだ複数のH行L列のサーチウィンドウの
画素データを出力可能な参照画像データ記憶手段と、前
記サーチウィンドウおよび前記現画像ブロックのサイズ
に応じた(H−N+1)行(L−M+1)列の探索領域
を形成し、該探索領域内に前記サーチウィンドウ内の各
候補ブロックの画素データの一部を入力して保持すると
ともに該保持した画素データを前記探索領域の所定方向
に転送する(H−N+1)×(L−M+1)個の第1レ
ジスタを有する第1の画素データ転送保持手段と、前記
第1の画素データ転送保持手段の第1レジスタとの間で
画素データを授受する複数の第2レジスタを有し、前記
第1の画素データ転送保持手段と共に前記サーチウィン
ドウの画素データを前記探索領域を通る所定の転送経路
に沿って転送する第2の画素データ転送保持手段と、前
記転送経路に沿って転送された画素データの一部を前記
第1および第2の画素データ転送保持手段から入力し出
力する(M−1)×H個の第3レジスタを有する第3の
画素データ転送保持手段と、前記サーチウィンドウの画
素データを前記第1および第2の画素データ転送保持手
段に入力させ、前記複数のうち少なくとも2つの候補ブ
ロックを前記探索領域内に順次入力させるとともに、前
記サーチウィンドウの各画素列の画素データが全行一緒
に列方向に往復移動しながら行方向に移動するよう、前
記第1および第2の画素データ転送保持手段により前記
サーチウィンドウの画素データを前記転送経路に沿って
転送させるウィンドウデータ転送制御手段と、前記現画
像ブロックの画素データと前記第1の画素データ転送保
持手段に保持された画素データとに基づいて、前記現画
像ブロックの各々に対し、前記現画像ブロックと前記複
数の候補ブロックとの間の画像の差を表わす複数のディ
ストーションをそれぞれ算出するディストーション算出
手段と、前記現画像ブロックの各々に対し算出された複
数のディストーションの値のうち最小値を検出して、前
記類似する1つの候補ブロックを特定する類似ブロック
特定手段と、前記第1および第2画素データ転送保持手
段により画素データが転送されるとき、前記第1および
第2画素データ転送保持手段に入力された画素データの
うち前記サーチウィンドウの1列目から(M−1)列目
までの各列の画素データを前記第1および第2画素デー
タ転送保持手段から排出しつつ前記第3画素データ転送
保持手段に保持させる排出データ保持制御手段と、該排
出データ保持制御手段により前記第3の画素データ転送
保持手段に保持された画素データを前記第3の画素デー
タ転送保持手段から前記第1および第2の画素データ転
送手段に戻す戻しデータ転送制御手段と、を備え、前記
ディストーション算出手段が、該戻しデータ転送制御手
段により前記第3の画素データ転送保持手段から前記第
1および第2の画素データ転送保持手段に戻された画素
データを用いて、前記現画像ブロックとは異なる現画像
ブロックに対応するディストーション算出を行なうこと
を特徴とする。According to a fourth aspect of the present invention, there is provided a device for searching a motion vector used for predicting a current image partially forming a moving image based on a reference image partially forming the moving image. Yes, where N and M are integers, the current image includes a plurality of current image blocks represented by N rows and M columns of pixels having pixel data, and the reference image has each current image block having pixel data. And a block position of any one of the plurality of candidate blocks that is similar to the current image block and a block position of the current image block. By
A motion vector search device for specifying the motion vector, wherein when H and L are respectively integers, a plurality of H rows and L columns, each of which stores pixel data of the reference image and includes at least two candidate blocks, respectively. Reference image data storage means capable of outputting pixel data of a search window and a search area of (H-N + 1) rows (L-M + 1) columns corresponding to the sizes of the search window and the current image block are formed, and the search is performed. Part of the pixel data of each candidate block in the search window is input and held in the area, and the held pixel data is transferred in the predetermined direction of the search area (H−N + 1) × (L−M + 1). Pixel data is transferred between the first pixel data transfer holding means having a plurality of first registers and the first register of the first pixel data transfer holding means. Second pixel data transfer holding means for transferring the pixel data of the search window along a predetermined transfer path passing through the search area together with the first pixel data transfer holding means. , A third portion having (M-1) × H third registers for inputting and outputting a part of the pixel data transferred along the transfer path from the first and second pixel data transfer holding means. Pixel data transfer / holding means and pixel data of the search window are input to the first and second pixel data transfer / holding means, and at least two candidate blocks of the plurality are sequentially input into the search area, and In order to move the pixel data of each pixel column of the search window in the row direction while reciprocating in all columns together, the first and second pixel data transfer protections are performed. Based on the window data transfer control means for transferring the pixel data of the search window along the transfer path by means, and the pixel data of the current image block and the pixel data held in the first pixel data transfer holding means. Then, for each of the current image blocks, distortion calculation means for respectively calculating a plurality of distortions that represent image differences between the current image block and the plurality of candidate blocks, and for each of the current image blocks. Pixel data is transferred by a similar block specifying unit that detects the minimum value of the calculated plurality of distortion values and specifies one similar candidate block, and the first and second pixel data transfer holding units. Of the pixel data input to the first and second pixel data transfer holding means. The pixel data of each column from the first column to the (M-1) th column of the search window is held in the third pixel data transfer holding unit while being discharged from the first and second pixel data transfer holding unit. The discharge data holding control means, and the pixel data held in the third pixel data transfer holding means by the discharge data holding control means from the third pixel data transfer holding means to the first and second pixel data transfers. Return data transfer control means for returning to the means, wherein the distortion calculation means returns from the third pixel data transfer holding means to the first and second pixel data transfer holding means by the return data transfer control means. Distortion calculation corresponding to a current image block different from the current image block is performed using the generated pixel data.
【0029】請求項5に記載の発明は、請求項4に記載
の発明において、前記戻しデータ転送制御手段により前
記(M−1)列分の画素データが前記第3レジスタから
第1および第2レジスタに戻されると同時に、前記探索
領域の1列目の画素列に対応する第1および第2レジス
タに保持されていた画素データを、前記行方向他方側に
戻すよう転送させ、更に、これらM列分の画素データが
前記何れかの現画像ブロックに対応するディストーショ
ン算出開始時の位置に復帰したとき、前記入力画素デー
タの転送方向を再度前記行方向の一方側に切り換え、前
記ディストーション算出手段が、前記第3レジスタから
第1および第2レジスタに戻された(M−1)列分の画
素データと、前記第3レジスタに前記(M−1)列分の
画素データが入力されたとき前記探索領域の1列目の画
素列に対応する第1および第2レジスタに保持されてい
た画素データとを用いて、前記現画像ブロックとは異な
る現画像ブロックに対応するディストーション算出を開
始することを特徴とする。According to a fifth aspect of the invention, in the invention according to the fourth aspect, the return data transfer control means causes the pixel data for the (M-1) th column to be transferred from the third register to the first and second pixels. At the same time as being returned to the register, the pixel data retained in the first and second registers corresponding to the first pixel column of the search area is transferred so as to be returned to the other side in the row direction, and further, these M When the pixel data for the column is returned to the position at the start of the distortion calculation corresponding to any of the current image blocks, the transfer direction of the input pixel data is switched again to the one side in the row direction, and the distortion calculation means , (M-1) column pixel data returned from the third register to the first and second registers and the (M-1) column pixel data are input to the third register. Then, the distortion calculation corresponding to the current image block different from the current image block is performed using the pixel data held in the first and second registers corresponding to the first pixel column of the search area. It is characterized by starting.
【0030】請求項6に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、N,Mをそれぞれ整数とすると
き、前記現画像が画素データを有するN行M列の画素に
より表わされる複数の現画像ブロックを含み、前記参照
画像がそれぞれ画素データを有する前記現画像ブロック
と同一サイズの複数の候補ブロックを含み、前記現画像
ブロック毎に、前記複数の候補ブロックのうち該現画像
ブロックに類似する何れか1つの候補ブロックのブロッ
ク位置と該現画像ブロックのブロック位置とによって、
前記動きベクトルを特定する動きベクトル探索装置であ
って、前記参照画像の画素データを記憶し前記候補ブロ
ックをそれぞれ少なくとも2つ含んだ複数のH行L列の
サーチウィンドウの画素データを出力可能な参照画像デ
ータ記憶手段と、前記サーチウィンドウおよび前記現画
像ブロックのサイズに応じた(H−N+1)行(L−M
+1)列の探索領域を形成し、該探索領域内に前記サー
チウィンドウ内の各候補ブロックの画素データの一部を
入力して保持するとともに該保持した画素データを前記
探索領域の所定方向に転送する(H−N+1)×(L−
M+1)個の第1レジスタを有する第1の画素データ転
送保持手段と、前記第1の画素データ転送保持手段の第
1レジスタとの間で画素データを授受する複数の第2レ
ジスタを有し、前記第1の画素データ転送保持手段と共
に前記サーチウィンドウの画素データを前記探索領域を
通る所定の転送経路に沿って転送する第2の画素データ
転送保持手段と、前記転送経路に沿って転送された画素
データの一部を前記第1および第2の画素データ転送保
持手段から入力し出力するM×H個の第3レジスタを有
する第3の画素データ転送保持手段と、前記サーチウィ
ンドウの画素データを前記第1および第2の画素データ
転送保持手段に入力させるとともに、前記複数のうち少
なくとも2つの候補ブロックを前記探索領域内に順次入
力させるとともに、前記サーチウィンドウの各画素列の
画素データが全行一緒に列方向に往復移動しながら行方
向に移動するよう、前記第1および第2の画素データ転
送保持手段により前記サーチウィンドウの画素データを
前記転送経路に沿って転送させるウィンドウデータ転送
制御手段と、前記現画像ブロックの画素データと前記第
1の画素データ転送保持手段に保持された画素データと
に基づいて、前記現画像ブロックの各々に対し、前記現
画像ブロックと前記複数の候補ブロックとの間の画像の
差を表わす複数のディストーションをそれぞれ算出する
ディストーション算出手段と、前記現画像ブロックの各
々に対し算出された複数のディストーションの値のうち
最小値を検出して、前記類似する1つの候補ブロックを
特定する類似ブロック特定手段と、前記第1および第2
画素データ転送保持手段により画素データが転送される
とき、前記第1および第2画素データ転送保持手段に入
力された画素データのうち前記サーチウィンドウの1列
目からM列目までの各列の画素データを前記第1および
第2画素データ転送保持手段から排出しつつ前記第3画
素データ転送保持手段に保持させる排出データ保持制御
手段と、該排出データ保持制御手段により前記第3の画
素データ転送保持手段に保持された画素データを前記第
3の画素データ転送保持手段から前記第1および第2の
画素データ転送手段に戻す戻しデータ転送制御手段と、
を備え、前記ディストーション算出手段が、該戻しデー
タ転送制御手段により前記第3の画素データ転送保持手
段から前記第1および第2の画素データ転送保持手段に
戻された画素データを用いて、前記現画像ブロックとは
異なる現画像ブロックに対応するディストーション算出
を行なうことを特徴とする。According to a sixth aspect of the present invention, there is provided an apparatus for searching a motion vector used for predicting a current image partially forming a moving image based on a reference image partially forming the moving image. Yes, where N and M are integers, the current image includes a plurality of current image blocks represented by N rows and M columns of pixels having pixel data, and the reference image has each current image block having pixel data. And a block position of any one of the plurality of candidate blocks that is similar to the current image block and a block position of the current image block. By
A motion vector search device for specifying the motion vector, the reference capable of storing pixel data of the reference image and outputting pixel data of a plurality of H rows and L columns of search windows each including at least two candidate blocks. Image data storage means and (H-N + 1) rows (L-M) corresponding to the sizes of the search window and the current image block.
+1) forming a search area of columns, inputting and holding a part of pixel data of each candidate block in the search window in the search area, and transferring the held pixel data in a predetermined direction of the search area (H-N + 1) x (L-
M + 1) first pixel data transfer holding means having first registers, and a plurality of second registers for transferring pixel data between the first registers of the first pixel data transfer holding means, A second pixel data transfer / holding means for transferring the pixel data of the search window together with the first pixel data transfer / holding means along a predetermined transfer path passing through the search area; The third pixel data transfer holding means having M × H third registers for inputting and outputting a part of the pixel data from the first and second pixel data transfer holding means, and the pixel data of the search window While inputting to the first and second pixel data transfer holding means, at least two candidate blocks of the plurality are sequentially input into the search area. The pixel data of the search window is transferred by the first and second pixel data transfer holding means so that the pixel data of each pixel column of the search window moves in the row direction while reciprocating in the column direction together with all rows. Based on the window data transfer control means for transferring along the transfer path, and the pixel data of the current image block and the pixel data held by the first pixel data transfer holding means, for each of the current image blocks. , Distortion calculation means for respectively calculating a plurality of distortions representing image differences between the current image block and the plurality of candidate blocks, and a plurality of distortion values calculated for each of the current image blocks Similar block specifying means for detecting a minimum value and specifying one similar candidate block; 1st and 2nd
When the pixel data is transferred by the pixel data transfer holding means, the pixels of each column from the first column to the Mth column of the search window among the pixel data input to the first and second pixel data transfer holding means Ejection data retention control means for retaining data in the third pixel data transfer retention means while ejecting data from the first and second pixel data transfer retention means, and the third pixel data transfer retention means by the ejection data retention control means. Return data transfer control means for returning the pixel data held in the means from the third pixel data transfer holding means to the first and second pixel data transfer means,
The distortion calculation means uses the pixel data returned from the third pixel data transfer holding means to the first and second pixel data transfer holding means by the return data transfer control means, and It is characterized in that the distortion calculation corresponding to the current image block different from the image block is performed.
【0031】請求項7に記載の発明は、請求項6に記載
の発明において、前記戻しデータ転送制御手段により前
記サーチウィンドウの1列目からM列目までのM列分の
画素データが前記第3レジスタから前記何れかの現画像
ブロックに対応するディストーション算出開始時の位置
に復帰したとき、前記入力画素データの転送方向を再度
前記行方向の一方側に切り換え、前記ディストーション
算出手段が、前記第3レジスタから第1および第2レジ
スタに戻されたM列分の画素データを用いて、前記現画
像ブロックとは異なる現画像ブロックに対応するディス
トーション算出を開始することを特徴とする。According to a seventh aspect of the present invention, in the invention according to the sixth aspect, the return data transfer control means sets pixel data for M columns from the first column to the Mth column of the search window to the first column. When returning from the 3 register to the position at the time of starting the distortion calculation corresponding to any one of the current image blocks, the transfer direction of the input pixel data is switched again to the one side in the row direction, and the distortion calculating unit It is characterized in that the distortion calculation corresponding to the current image block different from the current image block is started using the pixel data of M columns returned from the 3 register to the 1st and 2nd registers.
【0032】請求項8に記載の発明は、動画像を部分的
に構成する現画像を前記動画像を部分的に構成する参照
画像に基づいて予測するのに用いられる動きベクトルを
探索する装置であり、前記現画像が画素データを有する
複数行複数列の画素により表わされる複数の現画像ブロ
ックを含み、前記参照画像がそれぞれ画素データを有す
る前記現画像ブロックと同一サイズの複数の候補ブロッ
クを含み、前記現画像ブロック毎に、前記複数の候補ブ
ロックのうち該現画像ブロックに類似する何れか1つの
候補ブロックのブロック位置と該現画像ブロックのブロ
ック位置とによって、前記動きベクトルを特定する動き
ベクトル探索装置であって、前記参照画像の画素データ
を記憶し前記候補ブロックをそれぞれ少なくとも2つ含
んだ複数のサーチウィンドウの画素データを出力可能な
参照画像データ記憶手段と、前記サーチウィンドウおよ
び前記現画像ブロックのサイズに応じた探索領域を形成
し、該探索領域内に前記サーチウィンドウ内の各候補ブ
ロックの画素データの一部を入力して保持するととも
に、該保持した画素データを前記探索領域の所定方向に
転送する第1の画素データ転送保持手段と、前記第1の
画素データ転送保持手段との間で画素データを授受し、
前記第1の画素データ転送保持手段と共に前記サーチウ
ィンドウの画素データを前記探索領域を通る所定の転送
経路に沿って転送する第2の画素データ転送保持手段
と、前記転送経路に沿って転送された画素データの一部
を前記第1および第2の画素データ転送保持手段から入
力し出力する第3の画素データ転送保持手段と、前記参
照画像データ記憶手段から前記複数のうち何れかのサー
チウィンドウの一部の画素データを含む所定画素領域分
ずつ画素データを読み出して記憶するとともに、記憶済
のサーチウィンドウの画素データを前記参照画像データ
記憶手段からのデータ転送速度より大きい転送速度で前
記第1および第2の画素データ転送保持手段に供給する
高速転送記憶手段と、前記高速転送記憶手段に記憶され
たサーチウィンドウの画素データを前記第1および第2
の画素データ転送保持手段に入力させ、前記複数のうち
少なくとも2つの候補ブロックを前記探索領域内に順次
入力させるとともに、前記サーチウィンドウの各画素列
のデータを全行一緒に列方向に往復運動させながら行方
向に移動するよう、前記第1および第2の画素データ転
送保持手段により前記サーチウィンドウの画素データを
前記転送経路に沿って転送させるウィンドウデータ転送
制御手段と、前記現画像ブロックの画素データと前記第
1の画素データ転送保持手段に保持された画素データと
に基づいて、前記現画像ブロックの各々に対し、前記現
画像ブロックと前記複数の候補ブロックとの間の画像の
差を表わす複数のディストーションをそれぞれ算出する
ディストーション算出手段と、前記現画像ブロックの各
々に対し算出された複数のディストーションの値のうち
最小値を検出して、前記類似する1つの候補ブロックを
特定する類似ブロック特定手段と、前記第1および第2
画素データ転送保持手段により画素データが転送される
とき、前記第1および第2画素データ転送保持手段に入
力された画素データのうち前記サーチウィンドウの1列
目から所定列分だけ各列の画素データを前記第1および
第2画素データ転送保持手段から排出しつつ前記第3画
素データ転送保持手段に保持させる排出データ保持制御
手段と、該排出データ保持制御手段により前記第3の画
素データ転送保持手段に保持された画素データを前記第
3の画素データ転送保持手段から前記第1および第2の
画素データ転送手段に戻す戻しデータ転送制御手段と、
を備え、前記高速転送記憶手段が、前記参照画像データ
記憶手段から読み出し記憶している前記所定画素領域分
の画素データのうち、前記探索領域内に戻された画素デ
ータに続く転送順序の画素データを前記第1および第2
の画素データ転送保持手段に再度入力させ、前記ディス
トーション算出手段が、前記戻しデータ転送制御手段に
より前記第3画素データ転送保持手段から前記第1およ
び第2の画素データ転送保持手段に戻された画素データ
と、前記高速転送記憶手段から前記第1および第2の画
素データ転送保持手段に再度入力された画素データとを
用いて、前記現画像ブロックとは異なる現画像ブロック
に対応するディストーション算出を行なうことを特徴と
する。The invention described in claim 8 is an apparatus for searching a motion vector used for predicting a current image partially forming a moving image based on a reference image partially forming the moving image. Yes, the current image includes a plurality of current image blocks represented by pixels in a plurality of rows and a plurality of columns having pixel data, and the reference image includes a plurality of candidate blocks having the same size as the current image block each having pixel data. , A motion vector that specifies the motion vector for each of the current image blocks by the block position of any one candidate block similar to the current image block among the plurality of candidate blocks and the block position of the current image block A search device, comprising a plurality of searches, each of which stores pixel data of the reference image and includes at least two candidate blocks. Reference image data storage means capable of outputting window pixel data, and a search area corresponding to the size of the search window and the current image block, and pixel data of each candidate block in the search window in the search area Between a first pixel data transfer holding means for inputting and holding a part of the stored pixel data and transferring the held pixel data in a predetermined direction of the search area, and the first pixel data transfer holding means. Exchange data,
A second pixel data transfer / holding means for transferring the pixel data of the search window together with the first pixel data transfer / holding means along a predetermined transfer path passing through the search area; and a second pixel data transfer / holding means for transferring the pixel data in the search window along the transfer path. Third pixel data transfer / holding means for inputting and outputting a part of the pixel data from the first and second pixel data transfer / holding means, and one of the plurality of search windows from the reference image data storage means. Pixel data is read out and stored for each predetermined pixel area including a part of pixel data, and the stored pixel data of the search window is transferred at a transfer rate higher than the data transfer rate from the reference image data storage means. High-speed transfer storage means to be supplied to the second pixel data transfer holding means, and a search window stored in the high-speed transfer storage means Wherein the pixel data first and second
The pixel data transfer holding means for sequentially inputting at least two candidate blocks of the plurality into the search area, and reciprocally moving the data of each pixel column of the search window in the column direction together in all rows. While moving in the row direction, window data transfer control means for transferring the pixel data of the search window by the first and second pixel data transfer holding means along the transfer path, and pixel data of the current image block. Based on the pixel data held in the first pixel data transfer holding means, for each of the current image blocks, a plurality of image data representing a difference in image between the current image block and the plurality of candidate blocks. Distortion calculation means for calculating the distortion of each of the current image blocks, and By detecting the minimum value among the plurality of distortion values, and similar block specifying means for specifying a single candidate block the similar, wherein the first and second
When the pixel data is transferred by the pixel data transfer / holding means, among the pixel data input to the first and second pixel data transfer / holding means, the pixel data of each column by a predetermined number from the first column of the search window. Is stored in the third pixel data transfer holding means while being discharged from the first and second pixel data transfer holding means, and the third pixel data transfer holding means by the discharge data holding control means. Return data transfer control means for returning the pixel data held by the third pixel data transfer holding means to the first and second pixel data transfer means,
Pixel data in a transfer order following the pixel data returned in the search area among the pixel data for the predetermined pixel area read and stored from the reference image data storage means by the high-speed transfer storage means. The first and second
Pixels returned to the first and second pixel data transfer / holding means from the third pixel data transfer / holding means by the return data transfer control means. The distortion calculation corresponding to the current image block different from the current image block is performed using the data and the pixel data re-input from the high-speed transfer storage means to the first and second pixel data transfer holding means. It is characterized by
【0033】請求項9に記載の発明は、請求項8に記載
の発明において、前記第3画素データ転送保持手段から
前記第1および第2の画素データ転送保持手段に画素デ
ータが戻され、該画素データに続く転送順序の画素デー
タが前記高速転送記憶手段から前記第1および第2の画
素データ転送保持手段に再度入力されることにより、前
記複数のうち何れかのサーチウィンドウの一部の画素デ
ータが前記探索領域に供給されるとき、前記何れかのサ
ーチウィンドウの残部の画素データを前記参照画像デー
タ記憶手段から読み出して前記高速転送記憶手段に記憶
させることを特徴とする。According to a ninth aspect of the invention, in the eighth aspect of the invention, the pixel data is returned from the third pixel data transfer holding means to the first and second pixel data transfer holding means, and Pixel data in a transfer order subsequent to the pixel data is re-input from the high-speed transfer storage means to the first and second pixel data transfer holding means, so that some of the pixels in one of the plurality of search windows When data is supplied to the search area, the remaining pixel data of any one of the search windows is read from the reference image data storage means and stored in the high-speed transfer storage means.
【0034】請求項10に記載の発明は、請求項4〜9
の何れかに記載の発明において、前記第3の画素データ
転送保持手段が、前記探索領域内におけるディストーシ
ョン算出開始時の画素データの位置を保って画素データ
を入力し出力することを特徴とする。請求項11に記載
の発明は、請求項2〜5および8〜10の何れかに記載
の発明において、前記現画像ブロックおよび候補ブロッ
クがそれぞれ偶数の画素列を有することを特徴とする。The invention according to claim 10 is the invention according to claims 4 to 9.
In any of the above aspects, the third pixel data transfer holding unit inputs and outputs the pixel data while maintaining the position of the pixel data at the start of the distortion calculation in the search area. The invention described in Item 11 is the invention described in any one of Items 2-5 and 8-10, wherein each of the current image block and the candidate block has an even number of pixel columns.
【0035】請求項12に記載の発明は、請求項2およ
び3並びに6〜10の何れかに記載の発明において、前
記現画像ブロックおよび候補ブロックがそれぞれ奇数の
画素列を有することを特徴とする。請求項13に記載の
発明は、請求項4〜12の何れかに記載の発明におい
て、前記ディストーション算出手段が、前記第1レジス
タと共に二次元的に配列された複数の演算器を有するシ
ストリックアレー構造の演算回路によって構成されるこ
とを特徴とする。The invention described in claim 12 is the invention described in any one of claims 2 and 3 and 6 to 10, characterized in that the current image block and the candidate block each have an odd number of pixel columns. . According to a thirteenth aspect of the present invention, in the invention according to any one of the fourth to twelfth aspects, the distortion calculation means includes a systolic array having a plurality of arithmetic units arranged two-dimensionally together with the first register. It is characterized by being configured by an arithmetic circuit having a structure.
【0036】請求項14に記載の発明は、請求項4〜1
3の何れかに記載の発明において、前記複数の第2レジ
スタのうち、一部の第2レジスタが各列同数になるよう
(N−1)×(L−M+1)個設けられ、前記探索領域
の列方向の一方向に転送された画素データを入力して出
力するととともに、残りの第2レジスタが各列同数にな
るよう(N−1)×(L−M+1)個設けられ、前記探
索領域の列方向の他方向に転送された画素データを入力
して出力することを特徴とする。The invention described in claim 14 relates to claims 4 to 1.
3. In the invention according to any one of 3 above, (N−1) × (L−M + 1) pieces are provided so that some of the second registers have the same number in each column among the plurality of second registers, and the search area is provided. The pixel data transferred in one of the column directions is input and output, and (N−1) × (L−M + 1) pieces of remaining second registers are provided so that each column has the same number. The pixel data transferred in the other direction of the column is input and output.
【0037】請求項15に記載の発明は、請求項4〜1
3の何れかに記載の発明において、前記第2レジスタ
が、各列同数になるよう(N−1)×(L−M+1)個
設けられ、前記探索領域の列方向両端の画素に対応する
第1レジスタ間に介在して画素データを転送することを
特徴とする。The invention described in claim 15 is the invention according to claims 4 to 1.
3. In the invention according to any one of 3 above, the second registers are provided in (N-1) * (L-M + 1) pieces so that each column has the same number, and the second registers correspond to pixels at both ends in the column direction of the search area. It is characterized in that pixel data is transferred via one register.
【0038】[0038]
【発明の実施の形態】以下、本発明の好ましい実施の形
態を図面に基づいて説明する。本実施形態の動きベクト
ル探索装置は、図1に示すように、サーチウィンドウお
よび現画像ブロックのサイズに応じた探索領域を形成
し、この探索領域内にサーチウィンドウ内の各候補ブロ
ックの画素データの一部を入力して保持するとともに、
保持した画素データを探索領域の所定方向に転送する第
1の画素データ転送保持手段1と、第1の画素データ転
送保持手段1との間で画素データを授受し、第1の画素
データ転送保持手段1と共にサーチウィンドウの画素デ
ータを探索領域を通る所定の転送経路に沿って転送する
第2の画素データ転送保持手段2と、サーチウィンドウ
の画素データを第1の画素データ転送保持手段1および
第2の画素データ転送保持手段2に入力させ、複数のう
ち少なくとも2つの候補ブロックを探索領域内に順次入
力させるとともに、サーチウィンドウの各画素列の画素
データが全行一緒に列方向に往復運動しながら行方向に
移動するよう、第1の画素データ転送保持手段1および
第2の画素データ転送保持手段2によりサーチウィンド
ウの画素データを転送経路に沿って転送させるウィンド
ウデータ転送制御手段4と、現画像ブロックの画素デー
タと第1の画素データ転送保持手段1に保持されたサー
チウィンドウの画素データとに基づいて、現画像ブロッ
クの各々に対し、現画像ブロックと複数の候補ブロック
との間の画像の差を表わす複数のディストーションをそ
れぞれ算出するディストーション算出手段5と、現画像
ブロックの各々に対し算出された複数のディストーショ
ンの値のうち最小値を検出して、類似する1つの候補ブ
ロックを特定する類似ブロック特定手段6と、を備えて
いる。動きベクトル探索装置は、まず、ウィンドウデー
タ転送制御手段4によって参照画像の画素データが記憶
された図外の参照画像メモリから所望のサーチウィンド
ウの画素データを第1の画素データ転送保持手段1およ
び第2の画素データ転送保持手段2に入力させ、次い
で、複数のうち少なくとも2つの候補ブロックを探索領
域内に順次入力させるとともに、サーチウィンドウの各
画素列の画素データが全行一緒に列方向に往復運動しな
がら行方向に移動するよう、第1の画素データ転送保持
手段1および第2の画素データ転送保持手段2によりサ
ーチウィンドウの画素データを転送経路に沿って転送さ
せる。Preferred embodiments of the present invention will be described below with reference to the drawings. As shown in FIG. 1, the motion vector search device of the present embodiment forms a search area corresponding to the size of the search window and the current image block, and the pixel data of each candidate block in the search window is formed in this search area. While inputting and holding a part,
Pixel data is transferred between the first pixel data transfer holding means 1 for transferring the held pixel data in the predetermined direction of the search area, and the first pixel data transfer holding means 1, and the first pixel data transfer holding is performed. Second pixel data transfer holding means 2 for transferring the pixel data of the search window along with the means 1 along a predetermined transfer path passing through the search area, and pixel data of the search window for the first pixel data transfer holding means 1 and No. 2 pixel data transfer / holding means 2 to sequentially input at least two candidate blocks out of the plurality into the search region, and the pixel data of each pixel column of the search window reciprocates in all columns together in the column direction. While moving in the row direction, the pixel data of the search window is moved by the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2. Each of the current image blocks is based on the window data transfer control means 4 for transferring along the sending path, the pixel data of the current image block, and the pixel data of the search window held in the first pixel data transfer holding means 1. On the other hand, of the distortion calculation means 5 for calculating a plurality of distortions representing the image difference between the current image block and the plurality of candidate blocks, and the plurality of distortion values calculated for each of the current image blocks. And a similar block specifying unit 6 that detects a minimum value and specifies one similar candidate block. The motion vector search device first obtains pixel data of a desired search window from the reference image memory (not shown) in which the pixel data of the reference image is stored by the window data transfer control unit 4 by the first pixel data transfer holding unit 1 and the first pixel data transfer holding unit 1. 2 pixel data transfer holding means 2 and then at least two candidate blocks among a plurality of them are sequentially input into the search area, and the pixel data of each pixel column of the search window are reciprocated in the column direction in all rows together. The pixel data of the search window is transferred along the transfer path by the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2 so as to move in the row direction while moving.
【0039】次に、ディストーション算出手段5により
現画像の画素データが記憶された図外の現画像メモリか
ら所望の現画像ブロックの画素データを入力し、入力さ
れた現画像ブロックの画素データと第1の画素データ転
送保持手段1に保持されたサーチウィンドウの画素デー
タとに基づいて、現画像ブロックの各々に対し、現画像
ブロックと複数の候補ブロックとの間の画像の差を表わ
す複数のディストーションをそれぞれ算出する。Next, the pixel data of the desired current image block is input from the current image memory (not shown) in which the pixel data of the current image is stored by the distortion calculation means 5, and the pixel data of the input current image block and the Based on the pixel data of the search window held in one pixel data transfer holding means 1, for each of the current image blocks, a plurality of distortions representing image differences between the current image block and the plurality of candidate blocks. Are calculated respectively.
【0040】次に、類似ブロック特定手段6により、現
画像ブロックの各々に対し算出された複数のディストー
ションの値のうち最小値を検出して、類似する1つの候
補ブロックを特定する。動きベクトル探索装置は、さら
に、転送経路に沿って転送された画素データの一部を前
記第1の画素データ転送保持手段1および第2の画素デ
ータ転送保持手段2から入力し出力する第3の画素デー
タ転送保持手段3と、第1の画素データ転送保持手段1
および第2の画素データ転送保持手段2により画素デー
タが転送されるとき、前記第1の画素データ転送保持手
段1および第2の画素データ転送保持手段2に入力され
た画素データのうち前記サーチウィンドウの1列目から
所定列分だけ各列の画素データを前記第1の画素データ
転送保持手段1および第2の画素データ転送保持手段2
から排出しつつ前記第3の画素データ転送保持手段3に
保持させる排出データ保持制御手段7と、この排出デー
タ保持制御手段7により前記第3の画素データ転送保持
手段3に保持された画素データを第3の画素データ転送
保持手段3から前記第1の画素データ転送手段1および
第2の画素データ転送手段2に戻す戻しデータ転送制御
手段8と、を備えている。Next, the similar block specifying means 6 detects the minimum value of the plurality of distortion values calculated for each of the current image blocks, and specifies one similar candidate block. The motion vector search device further inputs a part of the pixel data transferred along the transfer path from the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2 and outputs the third pixel data. Pixel data transfer holding means 3 and first pixel data transfer holding means 1
And when the pixel data is transferred by the second pixel data transfer holding means 2, the search window among the pixel data input to the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2 The first pixel data transfer holding means 1 and the second pixel data transfer holding means 2 for the pixel data of each row from the first row
The discharge data holding control means 7 that is held in the third pixel data transfer holding means 3 while being discharged from, and the pixel data held in the third pixel data transfer holding means 3 by the discharge data holding control means 7. Return data transfer control means 8 for returning from the third pixel data transfer holding means 3 to the first pixel data transfer means 1 and the second pixel data transfer means 2 is provided.
【0041】動きベクトル探索装置は、ディストーショ
ン算出手段5によるディストーション算出時に第3の画
素データ転送保持手段に保持されたサーチウィンドウの
画素データを、ディストーション算出後、再度第1の画
素データ転送保持手段1および第2の画素データ転送保
持手段2に戻すことにより、始めにディストーションが
算出された現画像ブロックとは異なる現画像ブロックに
対応するディストーション算出を行なうものである。The motion vector searching apparatus calculates the distortion of the pixel data of the search window held in the third pixel data transfer holding means when the distortion is calculated by the distortion calculating means 5, and then again calculates the first pixel data transfer holding means 1. By returning to the second pixel data transfer holding means 2, the distortion calculation corresponding to the current image block different from the current image block for which the distortion was first calculated is performed.
【0042】さて、H、L、NおよびMを整数とし、H
行L列の画素からなるサーチウィンドウからN行M列の
画素からなる現画像ブロックに対応する動きベクトルを
探索する場合、探索範囲は、(H−N+1)×(L−M
+1)個の候補ブロックによって表される。ディストー
ション算出手段5は、これらの候補ブロックと同数の演
算器を有し、各演算器においてそれぞれの候補ブロック
と現画像ブロックに対応するディストーションが並列処
理により同時に算出するように構成される。Now, let H, L, N and M be integers, and H
When searching for a motion vector corresponding to the current image block composed of pixels of N rows and M columns from a search window composed of pixels of row L columns, the search range is (H−N + 1) × (L−M
It is represented by +1) candidate blocks. The distortion calculation means 5 has the same number of arithmetic units as these candidate blocks, and is configured so that the distortions corresponding to the respective candidate blocks and the current image block are simultaneously calculated by parallel processing in each arithmetic unit.
【0043】ところで、より広い探索範囲から動きベク
トルを求めたい場合には、演算器の数を増やして動きベ
クトル探索装置を構成することで広い探索範囲から動き
ベクトルを求めることができるが、例えば、この探索範
囲の2倍の探索範囲を取りたい場合、探索範囲を左半分
の探索範囲と右半分の探索範囲に分割し、それぞれディ
ストーションを求め、これらのディストーションに基づ
いて動きベクトルを探索することで、回路規模が膨大と
なることを防止することができる。When it is desired to obtain the motion vector from a wider search range, the motion vector can be obtained from the wider search range by increasing the number of arithmetic units to configure the motion vector search device. To obtain a search range twice as large as this search range, the search range is divided into a left half search range and a right half search range. It is possible to prevent the circuit scale from becoming huge.
【0044】すなわち、図2に示すように、現画像ブロ
ック201の探索範囲511は、探索範囲501と探索
範囲502とに分割され、現画像ブロック201の水平
走査側に隣接する現画像ブロック202の探索範囲51
2は、探索範囲502と探索範囲503とに分割され、
現画像ブロック203の探索範囲513は、探索範囲5
03と探索範囲に分割されることによってそれぞれの現
画像ブロックに対応する動きベクトルを求めることがで
きる。That is, as shown in FIG. 2, the search range 511 of the current image block 201 is divided into the search range 501 and the search range 502, and the current image block 202 adjacent to the horizontal scan side of the current image block 201 is divided. Search range 51
2 is divided into a search range 502 and a search range 503,
The search range 513 of the current image block 203 is the search range 5
By dividing into 03 and the search range, the motion vector corresponding to each current image block can be obtained.
【0045】この場合、各探索範囲501,502,5
03,504の列数(L−M+1)と各現画像ブロック
201,202,203の列数Mが等しいので、探索範
囲502は、現画像ブロック201の右半分の探索範囲
であるとともに、現画像202の左半分の探索範囲であ
り、探索範囲503は、現画像ブロック202の右半分
の探索範囲であるとともに、現画像ブロック203の左
半分の探索範囲である。In this case, each search range 501, 502, 5
Since the number of columns 03, 504 (L−M + 1) is equal to the number M of columns of the current image blocks 201, 202, 203, the search range 502 is the right half search range of the current image block 201 and the current image block 201. The search range of the left half of 202, the search range 503 is the search range of the right half of the current image block 202, and the search range of the left half of the current image block 203.
【0046】すなわち、各現画像ブロックは、互いに隣
接する現画像ブロックと右半分および左半分の何れか一
方の探索範囲のサーチウィンドウを共有してディストー
ションを算出することになる。動きベクトル探索装置
は、まず、探索範囲501と現画像ブロック201とに
対応するディストーションを算出し、探索範囲502と
現画像ブロック201とに対応するディストーションを
算出する。次いで、探索範囲502と現画像ブロック2
02に対応するディストーションを算出し、探索範囲5
03と現画像ブロック202に対応するディストーショ
ン算出する。以降、探索範囲および現画像ブロックにそ
れぞれ対応する画素データを交互に2回ずつ用いて順次
ディストーションを算出することで、2倍の探索範囲か
らそれぞれの現画像ブロックに対応する動きベクトルを
求めることができる。That is, each current image block shares the search window of the search range of either the right half or the left half with the adjacent current image blocks to calculate the distortion. The motion vector search device first calculates the distortion corresponding to the search range 501 and the current image block 201, and calculates the distortion corresponding to the search range 502 and the current image block 201. Next, the search range 502 and the current image block 2
The distortion corresponding to 02 is calculated, and the search range is 5
03 and the distortion corresponding to the current image block 202 are calculated. After that, the pixel data corresponding to each of the search range and the current image block is alternately used twice, and the distortion is sequentially calculated to obtain the motion vector corresponding to each current image block from the double search range. it can.
【0047】なお、この場合、探索範囲の列数(L−M
+1)と現画像ブロックの列数Mが等しいが、探索範囲
の列数(L−M+1)は、現画像ブロックの列数Mの整
数倍が望ましい。このように、同じサーチウィンドウの
画素データを共有する複数の現画像ブロックに対して、
サーチウィンドウの画素データと一つの現画像ブロック
の画素データとによりディストーションを算出し、この
とき第1の画素データ転送保持手段1および第2の画素
データ転送保持手段2から排出されたサーチウィンドウ
の画素データを第3の画素データ転送保持手段3に保持
し、保持されたサーチウィンドウの画素データを再度第
1の画素データ転送保持手段1および第2の画素データ
転送保持手段2に戻して異なる現画像ブロックに対応す
るディストーションを算出することができるので、図外
の参照画像メモリに所望のサーチウィンドウの画素デー
タをアクセスするデータ量を少なくすることができ、相
対的にサーチウィンドウの画素データのアクセス時間を
短縮することができる。従って、動きベクトル探索処理
を高速化することができる。In this case, the number of columns in the search range (LM
Although the number of columns M of the current image block is equal to +1), the number of columns (L-M + 1) of the search range is preferably an integral multiple of the number M of columns of the current image block. Thus, for multiple current image blocks that share the same search window pixel data,
The distortion is calculated from the pixel data of the search window and the pixel data of one current image block, and the pixels of the search window discharged from the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2 at this time. The data is held in the third pixel data transfer / holding means 3, and the held pixel data in the search window is returned to the first pixel data transfer / holding means 1 and the second pixel data transfer / holding means 2 again to obtain a different current image. Since the distortion corresponding to the block can be calculated, the amount of data for accessing the pixel data of the desired search window to the reference image memory (not shown) can be reduced, and the access time of the pixel data of the search window can be relatively reduced. Can be shortened. Therefore, the motion vector search process can be speeded up.
【0048】さらに、動きベクトル探索装置は、参照画
像の画素データが記憶された図外の参照画像メモリから
所望のサーチウィンドウの一部の画素データを含む所定
画素領域分ずつ画素データを読み出して記憶するととも
に、記憶済のサーチウィンドウの画素データを前記参照
画像メモリからのデータ転送速度より大きい転送速度で
前記第1の画素データ転送保持手段1および第2の画素
データ転送保持手段2に供給する高速転送記憶手段9を
備えることが望ましい。サーチウィンドウの画素データ
は現画像ブロックの画素データと比較して膨大であるた
め、高速転送記憶手段9により、効率的に画素データを
アクセスすることができる。Further, the motion vector search device reads and stores pixel data for each predetermined pixel area including a part of pixel data of a desired search window from a reference image memory (not shown) in which pixel data of a reference image is stored. At the same time, the stored pixel data of the search window is supplied to the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2 at a transfer rate higher than the data transfer rate from the reference image memory. It is desirable to include the transfer storage means 9. Since the pixel data of the search window is huge compared to the pixel data of the current image block, the high-speed transfer storage means 9 can efficiently access the pixel data.
【0049】すなわち、予め所望のサーチウィンドウの
画素データを参照画像メモリから読み出して高速転送記
憶手段に記憶しておき、現画像ブロックに対応するディ
ストーション算出時には、参照画像メモリにアクセスせ
ず、高速転送記憶手段に繰り返しアクセスして第の画素
データ転送保持手段1および第2画素データ転送保持手
段2にサーチウィンドウの画素データを供給することが
できる。このため、第1および第2の画素データ転送保
持手段にサーチウィンドウの画素データを高速に転送す
ることができる。また、参照画像メモリは、高速メモリ
である必要がないので、安価なメモリで構成することが
でき、メモリのコストを低減することができる。That is, the pixel data of the desired search window is read from the reference image memory in advance and stored in the high-speed transfer storage means, and when the distortion corresponding to the current image block is calculated, the reference image memory is not accessed and the high-speed transfer is performed. By repeatedly accessing the storage means, the pixel data of the search window can be supplied to the first pixel data transfer holding means 1 and the second pixel data transfer holding means 2. Therefore, the pixel data of the search window can be transferred at high speed to the first and second pixel data transfer holding means. Further, since the reference image memory does not need to be a high speed memory, it can be configured with an inexpensive memory and the cost of the memory can be reduced.
【0050】[0050]
【実施例】以下、本発明の実施例を図面を参照して説明
する。 (実施例1)図3〜図34は、本発明に係る実施例1の
動きベクトル探索装置を示す図である。Embodiments of the present invention will be described below with reference to the drawings. (Embodiment 1) FIGS. 3 to 34 are diagrams showing a motion vector search device according to Embodiment 1 of the present invention.
【0051】図3に示すように、動きベクトル探索装置
は、現画像メモリ1000、参照画像メモリ2000、
ウィンドウデータ転送ユニット3000、類似ブロック
特定ユニット4000、水平サイドレジスタユニット5
000およびシステム制御ユニット6000によって構
成される。現画像メモリ1000は、揮発性メモリによ
って構成され、現画像をフレームまたはフィールド単位
で記憶する。As shown in FIG. 3, the motion vector search apparatus includes a current image memory 1000, a reference image memory 2000,
Window data transfer unit 3000, similar block specifying unit 4000, horizontal side register unit 5
000 and the system control unit 6000. The current image memory 1000 is composed of a volatile memory and stores the current image in frame or field units.
【0052】ここで、図4に示すように、現画像は、N
行M列の画素からなる現画像ブロックに分割され、ブロ
ック単位で符号化が行われる。現画像ブロックは任意の
サイズでよいが、説明を容易にするため、現画像ブロッ
クを3行3列の画素からなるブロックとする。ここで、
現画像ブロックは、水平走査方向をxとし、垂直走査方
向をyとし、座標(x,y)を付して表し、現画像ブロ
ック211の各画素データを a(0,0),a(0,1),a(0,2) ,a(1,0),a(1,1),a(1,2) ,a(2,0),a(2,1),a(2,2) のように表し、現画像ブロック211の水平方向に隣接
する現画像ブロック212の各画素データを a(3,0),a(3,1),a(3,2) ,a(4,0),a(4,1),a(4,2) ,a(5,0),a(5,1),a(5,2) によって表すものとする。これらの画素データは、出力
端子Rを通してシステム制御ユニット6000によって
読み出され、ウィンドウデータ転送ユニット3000に
転送される。Here, as shown in FIG. 4, the current image is N
It is divided into a current image block consisting of pixels in rows and M columns, and coding is performed in block units. The current image block may have any size, but for ease of explanation, the current image block is a block composed of pixels in 3 rows and 3 columns. here,
The current image block is represented by horizontal scanning direction x, vertical scanning direction y, and coordinates (x, y). Each pixel data of the current image block 211 is represented by a (0,0), a (0 , 1), a (0,2), a (1,0), a (1,1), a (1,2), a (2,0), a (2,1), a (2, 2), each pixel data of the current image block 212 adjacent to the current image block 211 in the horizontal direction is represented by a (3,0), a (3,1), a (3,2), a (4 , 0), a (4,1), a (4,2), a (5,0), a (5,1), a (5,2). These pixel data are read by the system control unit 6000 through the output terminal R and transferred to the window data transfer unit 3000.
【0053】参照画像メモリ2000は、揮発性メモリ
によって構成され、現画像メモリ1000に記憶された
符号化すべき現画像が参照する参照画像をフレームまた
はフィールド単位で記憶する。ここで、図4に示すよう
に、サーチウィンドウは、現画像ブロックより大きけれ
ば任意のH行L列の画素によって構成してよいが、説明
を容易にするため、5行5列の画素データによって構成
されるものとする。また、サーチウィンドウ401の各
画素データは、現画像ブロックと同様に座標(x,y)
を付して b(0,0),b(0,1),b(0,2),b(0,3),b(0,4) ,b(1,0),b(1,1),b(1,2),b(1,3),b(1,4) ,b(2,0),b(2,1),b(2,2),b(2,3),b(2,4) ,b(3,0),b(3,1),b(3,2),b(3,3),b(3,4) ,b(4,0),b(4,1),b(4,2),b(4,3),b(4,4) のように表すものとする。これらの画素データは、参照
画像メモリ2000の出力端子S0およびS1を通して
システム制御ユニット6000によって読み出され、ウ
ィンドウデータ転送ユニット3000に転送される。The reference image memory 2000 is composed of a volatile memory, and stores the reference image referred to by the current image to be encoded stored in the current image memory 1000, in frame or field units. Here, as shown in FIG. 4, the search window may be composed of pixels of arbitrary H rows and L columns as long as it is larger than the current image block, but for ease of explanation, it is composed of pixel data of 5 rows and 5 columns. Shall be configured. Further, each pixel data of the search window 401 has coordinates (x, y) similar to the current image block.
With b (0,0), b (0,1), b (0,2), b (0,3), b (0,4), b (1,0), b (1, 1), b (1,2), b (1,3), b (1,4), b (2,0), b (2,1), b (2,2), b (2,3 ), b (2,4), b (3,0), b (3,1), b (3,2), b (3,3), b (3,4), b (4,0) , b (4,1), b (4,2), b (4,3), b (4,4). These pixel data are read by the system control unit 6000 through the output terminals S0 and S1 of the reference image memory 2000 and transferred to the window data transfer unit 3000.
【0054】これにより、現画像ブロック211または
212とサーチウィンドウ401とから(H−N+1)
×(L−M+1)=9個の候補ブロック301が設定可
能となる。ウィンドウデータ転送ユニット3000は、
図5に示すように、さらに、プロセッサユニット310
0、第1垂直サイドレジスタユニット3200、第2垂
直サイドレジスタユニット3300および入力レジスタ
ユニット3400によって構成される。As a result, from the current image block 211 or 212 and the search window 401, (H-N + 1)
× (L−M + 1) = 9 candidate blocks 301 can be set. The window data transfer unit 3000 is
As shown in FIG. 5, the processor unit 310 is further added.
0, the first vertical side register unit 3200, the second vertical side register unit 3300, and the input register unit 3400.
【0055】プロセッサユニット3100は、サーチウ
ィンドウ内の9個の候補ブロックにそれぞれ対応する9
個のプロセッサエレメントPEによって構成され、各プ
ロセッサエレメントPEにおいて、互いに位置的に対応
する候補ブロックの画素データと現画像ブロックの画素
データとを入力し、その差分値を求め、これらの差分値
を正数変換した局所ディストーションを総和することで
ディストーションを算出する。The processor unit 3100 has 9 candidate blocks each corresponding to 9 candidate blocks in the search window.
Each of the processor elements PE, the pixel data of the candidate block and the pixel data of the current image block, which are positionally corresponding to each other, are input to each processor element PE, their difference values are calculated, and these difference values are corrected. The distortion is calculated by summing the number-transformed local distortions.
【0056】第1垂直サイドレジスタユニット3200
および第2垂直サイドレジスタユニット3300は、そ
れぞれ6個の垂直サイドレジスタVSによって構成され
る。各垂直サイドレジスタVSは、各プロセッサエレメ
ントPEに入力されたそれぞれのサーチウィンドウの画
素データを全体として図5における上下方向に転送する
ように設けられたバッファである。First vertical side register unit 3200
Each of the second vertical side register units 3300 is composed of six vertical side registers VS. Each vertical side register VS is a buffer provided so as to transfer the pixel data of each search window input to each processor element PE in the vertical direction in FIG. 5 as a whole.
【0057】入力レジスタユニット3400は、7個の
入力レジスタIRによって構成され、現画像ブロックの
画素データに位置的に対応するサーチウィンドウの画素
データが各候補ブロックに対応するそれぞれのプロセッ
サエレメントPEに同時に入力されるように設けられた
バッファである。参照画像メモリ2000の出力端子S
0およびS1を通して読み出されたサーチウィンドウの
画素データは、まず、入力レジスタIR(3,0)およ
び入力レジスタIR(3,3)にそれぞれ入力され、次
いで、隣接する他の入力レジスタIR、垂直サイドレジ
スタVSまたはプロセッサエレメントPEに転送され
る。The input register unit 3400 is composed of seven input registers IR, and the pixel data of the search window corresponding in position to the pixel data of the current image block is simultaneously applied to each processor element PE corresponding to each candidate block. It is a buffer provided to be input. Output terminal S of reference image memory 2000
The pixel data of the search window read through 0 and S1 are first input to the input register IR (3,0) and the input register IR (3,3), respectively, and then the other adjacent input registers IR, vertical. It is transferred to the side register VS or the processor element PE.
【0058】ここで、各プロセッサエレメントPE、各
垂直サイドレジスタVS、各入力レジスタIRおよび後
述する各水平サイドレジスタHSは、プロセッサエレメ
ントPE(0,0)を原点として図5における垂直方向
の位置を x=−3,−2,−1,0,1,2,3 とし、水平方向の位置を y=−2,−1,0,1,2,3,4 として座標(x,y)を付して表すものとする。Here, each processor element PE, each vertical side register VS, each input register IR, and each horizontal side register HS described later have a vertical position in FIG. 5 with the processor element PE (0, 0) as the origin. x = −3, −2, −1,0,1,2,3, the horizontal position is y = −2, −1,0,1,2,3,4, and the coordinates (x, y) are It shall be attached.
【0059】すなわち、ウィンドウデータ転送ユニット
3000は、参照画像メモリ2000の出力端子S0お
よびS1を通して読み出されたサーチウィンドウの画素
データをそれぞれ入力レジスタIR(3,0)およびI
R(3,3)に入力し、入力された画素データを互いに
隣接する各レジスタおよび各プロセッサエレメント間で
図5における上下方向および左方向に繰り返し転送して
保持させ、各プロセッサエレメントPEにおいて、各候
補ブロックの画素データと現画像ブロックの画素データ
に基づいてディストーションを算出する。That is, the window data transfer unit 3000 inputs the pixel data of the search window read through the output terminals S0 and S1 of the reference image memory 2000 into the input registers IR (3,0) and I, respectively.
The pixel data input to R (3, 3) are repeatedly transferred in the vertical direction and the left direction in FIG. 5 between the registers and the processor elements adjacent to each other and held therein. The distortion is calculated based on the pixel data of the candidate block and the pixel data of the current image block.
【0060】また、ウィンドウデータ転送ユニット30
00は、後述する水平サイドレジスタユニットの各水平
サイドレジスタSHと協動して、各水平サイドレジスタ
HS、各垂直サイドレジスタVSおよび各プロセッサエ
レメントPE間で、サーチウィンドウの画素データを右
方向にも繰り返し転送して保持させる。類似ブロック特
定ユニット4000は、プロセッサユニット3100に
よって算出されたディストーションを入力し、入力され
たディストーションの中から最小のディストーションM
inDisを検出して、検出された最小ディストーショ
ンMinDisが算出されたプロセッサエレメントPE
の位置情報に基づいて現画像ブロックに対応するサーチ
ウィンドウ内の候補ブロックを特定し、動きベクトルM
Vを求める。Further, the window data transfer unit 30
00 cooperates with each horizontal side register SH of the horizontal side register unit, which will be described later, so that the pixel data of the search window is also transferred to the right among the horizontal side registers HS, the vertical side registers VS, and the processor elements PE. It is repeatedly transferred and held. The similar block identifying unit 4000 inputs the distortion calculated by the processor unit 3100, and selects the minimum distortion M among the input distortions.
Processor element PE in which inDis is detected and the detected minimum distortion MinDis is calculated
The candidate block in the search window corresponding to the current image block is specified based on the position information of
Find V.
【0061】水平サイドレジスタユニット5000は、
15個の水平サイドレジスタHSによって構成され、プ
ロセッサユニット3100および第2垂直サイドレジス
タユニット3300から出力されたサーチウィンドウの
画素データを入力し、入力された画素データを隣接する
各水平サイドレジスタHS間で図5における左方向に繰
り返し転送して保持するとともに、各水平サイドレジス
タHSに保持された画素データを右方向に繰り返し転送
して再びプロセッサユニット3100および第2垂直サ
イドレジスタユニット3300に戻す。The horizontal side register unit 5000 is
The pixel data of the search window, which is composed of 15 horizontal side registers HS and is output from the processor unit 3100 and the second vertical side register unit 3300, is input, and the input pixel data is input between adjacent horizontal side registers HS. The pixel data held in each horizontal side register HS is repeatedly transferred to the right and repeatedly returned to the left in FIG. 5 and returned to the processor unit 3100 and the second vertical side register unit 3300.
【0062】システム制御ユニット6000は、現画像
メモリ1000および参照画像メモリ2000から所望
の画素データを読み出してウィンドウデータ転送ユニッ
ト3000に転送するとともに、ウィンドウデータ転送
ユニット3000、類似ブロック特定ユニット4000
および水平サイドレジスタユニット5000にそれぞれ
信号を出力し、各ユニットの動作を制御する。The system control unit 6000 reads out desired pixel data from the current image memory 1000 and the reference image memory 2000 and transfers them to the window data transfer unit 3000, and at the same time, the window data transfer unit 3000 and the similar block specifying unit 4000.
And a signal to the horizontal side register unit 5000, respectively, to control the operation of each unit.
【0063】本実施例1における動きベクトル探索装置
では、図6に示すように、まず、サーチウィンドウ40
1の画素データと現画像ブロック211の画素データと
に基づいてプロセッサユニット3100によってディス
トーションが算出されるとともに、ディストーション算
出時にウィンドウ転送ユニット3000において転送さ
れたサーチウィンドウ401の画素データのうち一部の
画素データが水平サイドレジスタユニット5000に保
持され、次いで、算出されたディストーションに基づい
て類似ブロック特定ユニット4000によって動きベク
トルMVが求められる。In the motion vector search device according to the first embodiment, as shown in FIG.
The distortion is calculated by the processor unit 3100 based on the pixel data of 1 and the pixel data of the current image block 211, and a part of the pixel data of the search window 401 transferred by the window transfer unit 3000 at the time of the distortion calculation. The data is held in the horizontal side register unit 5000, and then the motion vector MV is obtained by the similar block specifying unit 4000 based on the calculated distortion.
【0064】次に、水平サイドレジスタユニット500
0に保持されたサーチウィンドウ401の画素データが
再びサーチウィンドウ転送ユニット3000に戻され、
サーチウィンドウ401の画素データと現画像212の
画素データとに基づいてプロセッサユニット3100に
よってディストーションが算出され、次いで、算出され
たディストーションに基づいて類似ブロック特定ユニッ
ト4000によって動きベクトルMVが求められる。Next, the horizontal side register unit 500
The pixel data of the search window 401 held at 0 is returned to the search window transfer unit 3000 again,
The distortion is calculated by the processor unit 3100 based on the pixel data of the search window 401 and the pixel data of the current image 212, and then the motion vector MV is obtained by the similar block specifying unit 4000 based on the calculated distortion.
【0065】次に、サーチウィンドウ401の水平走査
方向にM画素分シフトしたサーチウィンドウ402の画
素データと現画像212の画素データとに基づいてプロ
セッサユニット3100によってディストーションが算
出され、次いで、算出されたディストーションに基づい
て類似ブロック特定ユニット4000によって動きベク
トルMVが求められる。Next, the distortion is calculated by the processor unit 3100 based on the pixel data of the search window 402 shifted by M pixels in the horizontal scanning direction of the search window 401 and the pixel data of the current image 212, and then calculated. The motion vector MV is obtained by the similar block identifying unit 4000 based on the distortion.
【0066】以降、ディストーション算出時に水平サイ
ドレジスタユニット5000に保持されたサーチウィン
ドウ401の画素データを再びサーチウィンドウ転送ユ
ニット3000に戻すことにより、ひとつのサーチウィ
ンドウに対して2つの現画像ブロックに対応するディス
トーションが算出され、算出されたディストーションに
基づいて類似ブロック特定ユニット4000によって動
きベクトルMVが求められる。言い換えれば、一つの現
画像ブロックに対して2つのサーチウィンドウからそれ
ぞれディストーションが算出されることになる。After that, by returning the pixel data of the search window 401 held in the horizontal side register unit 5000 at the time of distortion calculation to the search window transfer unit 3000 again, one search window corresponds to two current image blocks. The distortion is calculated, and the motion vector MV is obtained by the similar block specifying unit 4000 based on the calculated distortion. In other words, the distortion is calculated from each of the two search windows for one current image block.
【0067】すなわち、サーチウィンドウ401は、現
画像ブロック212に対応するサーチウィンドウである
とともに、現画像213に対応するサーチウィンドウで
あり、サーチウィンドウ402は、現画像ブロック21
2に対応するサーチウィンドウであるとともに、現画像
213に対応するサーチウィンドウである。言い換えれ
ば、現画像ブロック212は、サーチウィンドウ401
とサーチウィンドウ402とに基づいてそれぞれディス
トーションが算出され、現画像ブロック213は、サー
チウィンドウ402とサーチウィンドウ403とに基づ
いてそれぞれディストーションが算出されることにな
る。That is, the search window 401 is the search window corresponding to the current image block 212 and the search window corresponding to the current image 213, and the search window 402 is the current image block 21.
The search window corresponds to No. 2 and the search window corresponding to the current image 213. In other words, the current image block 212 is the search window 401.
Distortion is calculated based on the search window 402 and the search window 402, and the distortion of the current image block 213 is calculated based on the search window 402 and the search window 403.
【0068】以下、現画像ブロックに対応する2つのサ
ーチウィンドウのうち、図6における左側に位置するサ
ーチウィンドウを左半分サーチウィンドウと呼び、図6
における右側に位置するサーチウィンドウを右半分サー
チウィンドウと呼ぶこととする。また、現画像ブロック
の左半分サーチウィンドウから算出されたディストーシ
ョンを左半分ディストーションと呼び、現画像ブロック
の右半分サーチウィンドウから算出されたディストーシ
ョンを右半分ディストーションと呼ぶこととする。な
お、現画像ブロック211は、右半分サーチウィンドウ
であるサーチウィンドウ401から右半分ディストーシ
ョンのみが求められることになる。Hereinafter, of the two search windows corresponding to the current image block, the search window located on the left side in FIG. 6 is referred to as a left half search window.
The search window located on the right side of is called the right half search window. Further, the distortion calculated from the left half search window of the current image block will be referred to as left half distortion, and the distortion calculated from the right half search window of the current image block will be referred to as right half distortion. In the current image block 211, only the right half distortion is obtained from the search window 401 which is the right half search window.
【0069】次に、システム制御ユニット6000から
各ユニットに出力される信号について説明する。図7に
示すように、システム制御ユニット6000は、出力端
子P1〜P10を有し、各出力端子を通して出力される
それぞれの信号によりウィンドウデータ転送ユニット3
000、類似ブロック特定ユニット4000および水平
サイドレジスタユニット5000の各ユニットの動作を
制御する。Next, the signals output from the system control unit 6000 to each unit will be described. As shown in FIG. 7, the system control unit 6000 has output terminals P1 to P10, and the window data transfer unit 3 receives the respective signals output through the output terminals.
000, the similar block specifying unit 4000, and the horizontal side register unit 5000.
【0070】これらの信号は、2値のパルス信号であ
り、ローレベルのときには0を表し、ハイレベルのとき
には1を表す。以下、図8〜図14に示されたタイムチ
ャートに基づいてそれぞれの信号について説明する。な
お、図8〜図12は、サーチウィンドウ転送ユニット3
000および水平サイドレジスタユニット5000の動
作を示すタイムチャートであり、これらの図に示された
Rは、システム制御部6000により現画像メモリ10
00の出力端子Rを通して読み出された現画像ブロック
の画素データを表し、S0およびS1はそれぞれ、シス
テム制御ユニット6000により参照画像メモリ200
0の出力端子S0およびS1を通して読み出されたサー
チウインドウの画素データを表す。These signals are binary pulse signals and represent 0 when they are low level and 1 when they are high level. Hereinafter, each signal will be described based on the time charts shown in FIGS. 8 to 12 show the search window transfer unit 3
000 and the horizontal side register unit 5000 are operation time charts, and R shown in these figures represents the current image memory 10 by the system control unit 6000.
00 represents the pixel data of the current image block read through the output terminal R of S00, and S0 and S1 are the reference image memory 200 by the system control unit 6000.
0 represents the pixel data of the search window read through the output terminals S0 and S1 of 0.
【0071】また、図13および図14は、類似ブロッ
ク特定ユニット4000の動作を示すタイムチャートで
ある。出力端子P1を通して出力されるクロックパルス
信号CK1は、本装置のマスター信号であり、周期の1
/2のパルス幅を持つ。他の信号の動作はこのクロック
パルス信号CK1を基準として設定される。13 and 14 are time charts showing the operation of similar block specifying unit 4000. The clock pulse signal CK1 output through the output terminal P1 is the master signal of this device and has a period of 1
It has a pulse width of / 2. The operation of other signals is set with reference to this clock pulse signal CK1.
【0072】システム制御ユニット6000は、このク
ロックパルス信号CK1のダウンエッジに同期して現画
像メモリ1000および参照画像メモリ2000から所
望の画素データを読み出し、ウィンドウデータ転送ユニ
ット3000に転送する。ウィンドウデータ転送ユニッ
ト3000のプロセッサエレメントPEおよび各レジス
タ、並びに、水平サイドレジスタユニット5000の各
レジスタは、このクロックパルス信号CK1の立ち上り
に同期してサーチウィンドウの画素データを入力して出
力する。The system control unit 6000 reads desired pixel data from the current image memory 1000 and the reference image memory 2000 in synchronization with the down edge of the clock pulse signal CK1 and transfers it to the window data transfer unit 3000. The processor element PE and each register of the window data transfer unit 3000, and each register of the horizontal side register unit 5000 input and output the pixel data of the search window in synchronization with the rising edge of the clock pulse signal CK1.
【0073】また、プロセッサユニット3100の各プ
ロセッサエレメントPEは、クロックパルス信号CK1
の立ち上りに同期して現画像ブロックの画素データを入
力する。なお、図8に示すように、システム制御ユニッ
ト6000により読み出された最初のサーチウィンドウ
401の画素データがウィンドウデータ転送ユニット3
000に入力されるクロックパルス信号CK1のパルス
を1クロック目(期間C1)として数えることにする。Further, each processor element PE of the processor unit 3100 has a clock pulse signal CK1.
The pixel data of the current image block is input in synchronization with the rising edge of. As shown in FIG. 8, the pixel data of the first search window 401 read by the system control unit 6000 is the window data transfer unit 3
The pulses of the clock pulse signal CK1 input to 000 are counted as the first clock (period C1).
【0074】出力端子P2を通して出力されるパルス信
号CK2は、クロックパルス信号CK1と同じ動作を行
う信号である。出力端子P3を通して出力されるパルス
信号SUは、ウィンドウデータ転送ユニット3000の
各プロセッサエレメントPEおよび各レジスタVS,I
Rに出力され、互いに隣接する各プロセッサエレメント
PEおよび各レジスタVS,IR間でサーチウィンドウ
の画素データを全体として図5における上下方向に転送
するように制御するものである。ここで、パルス信号S
Uが0のときには、サーチウィンドウの画素データが全
体として上から下に転送され、パルス信号SUが1のと
きには、サーチウィンドウの画素データが全体として下
から上に転送される。The pulse signal CK2 output through the output terminal P2 is a signal that performs the same operation as the clock pulse signal CK1. The pulse signal SU output through the output terminal P3 is supplied to each processor element PE of the window data transfer unit 3000 and each register VS, I.
Pixel data in the search window, which is output to R and is adjacent to each other, is controlled so as to be transferred between the respective processor elements PE and the registers VS and IR in the vertical direction as a whole. Here, the pulse signal S
When U is 0, the pixel data of the search window is transferred from top to bottom as a whole, and when the pulse signal SU is 1, the pixel data of the search window is transferred from bottom to top as a whole.
【0075】パルス信号SUは、クロックパルス信号C
K1のパルス幅の6倍のパルス幅を持ち、まず、クロッ
クパルス信号CK1の3クロック目のダウンエッジに同
期して立ち上り、18クロック目までクロックパルス信
号CK1の周期の6倍の周期で立ち上るように出力され
る。次いで、2クロック後のクロックパルス信号CK1
の20クロック目のダウンエッジに同期して立ち上り、
37クロック目までの18クロックにおいて、同様に順
次6倍の周期で立ち上るように出力される。次いで、2
クロック後のクロックパルス信号CK1の39クロック
目のダウンエッジに同期して立ち上る。すなわち、パル
ス信号SUは、クロックパルス信号CK1の20クロッ
ク目以降、20クロック目から38クロック目までの1
9クロックを1サイクルとし、このサイクルを順次繰り
返す。The pulse signal SU is the clock pulse signal C
It has a pulse width of 6 times the pulse width of K1 and rises in synchronization with the third clock's down edge of the clock pulse signal CK1, and rises up to the 18th clock with a cycle of 6 times the cycle of the clock pulse signal CK1. Is output to. Next, the clock pulse signal CK1 after two clocks
Rises in synchronization with the 20th clock's down edge,
In 18 clocks up to the 37th clock, it is output so as to rise sequentially in a cycle of 6 times. Then 2
It rises in synchronization with the down edge of the 39th clock of the clock pulse signal CK1 after the clock. That is, the pulse signal SU is the 1st pulse from the 20th clock to the 38th clock after the 20th clock of the clock pulse signal CK1.
Nine clocks are set as one cycle, and this cycle is sequentially repeated.
【0076】また、以下に説明するシステム制御ユニッ
ト6000の出力端子P3〜P10を通して出力される
他の信号も、パルス信号SUと同様に、それぞれ20ク
ロック目以降クロックパルス信号CK1の19クロック
を1サイクルとして、順次同じ動作を繰り返す。出力端
子P4を通して出力されるパルス信号SLは、ウィンド
ウデータ転送ユニット3000の各プロセッサエレメン
トPEおよび各レジスタVS,IRに出力され、互いに
隣接する各プロセッサエレメントPEおよび各レジスタ
VS,IR間でサーチウィンドウの画素データを全体と
して図5における左方向に転送するように制御するもの
である。Similarly to the pulse signal SU, the other signals output through the output terminals P3 to P10 of the system control unit 6000, which will be described below, each cycle 19 clocks of the clock pulse signal CK1 after the 20th clock. , The same operation is sequentially repeated. The pulse signal SL output through the output terminal P4 is output to each processor element PE and each register VS, IR of the window data transfer unit 3000, and a search window is generated between each processor element PE and each register VS, IR adjacent to each other. The pixel data is controlled so as to be transferred to the left in FIG. 5 as a whole.
【0077】パルス信号SLは、クロックパルス信号C
K1のパルス幅の2倍のパルス幅を持ち、サーチウィン
ドウ転送ユニット3000に入力される最初のサーチウ
ィンドウ401の画素データがシステム制御ユニット6
000により読み出されると同時に立ち上り、以後18
クロック目までクロックパルス信号CK1の周期の3倍
の周期で立ち上るように出力される。次いで、2クロッ
ク後のクロックパルス信号CK1の20クロック目のダ
ウンエッジに同期して立ち上り、37クロック目までの
18クロックにおいて3倍の周期で動作を繰り返す。次
いで、2クロック後のクロックパルス信号CK1の39
クロック目以降は、20クロック目から38クロック目
と同じ動作を繰り返す。The pulse signal SL is the clock pulse signal C.
The pixel data of the first search window 401 having a pulse width twice that of K1 and input to the search window transfer unit 3000 is the system control unit 6.
It is read out by 000 and rises at the same time, then 18
It is output so that it rises up to the clock at a cycle three times as long as the cycle of the clock pulse signal CK1. Next, it rises in synchronization with the 20th clock's down edge of the clock pulse signal CK1 after 2 clocks, and the operation is repeated at a triple cycle in the 18th clock up to the 37th clock. Then, 39 of the clock pulse signal CK1 after two clocks
After the clock, the same operation is repeated from the 20th clock to the 38th clock.
【0078】出力端子P5を通して出力されるパルス信
号SHは、水平サイドレジスタユニット5000の各水
平サイドレジスタHSに出力され、ウィンドウデータ転
送ユニット3000の1列目のプロセッサエレメントP
E(0,y)および垂直サイドレジスタ(0,y)から
出力されたサーチウィンドウの画素データをそれぞれ左
方向の水平サイドレジスタHSに繰り返し転送して保持
するように制御するものである。The pulse signal SH output through the output terminal P5 is output to each horizontal side register HS of the horizontal side register unit 5000 and the processor element P in the first column of the window data transfer unit 3000.
The pixel data of the search window output from E (0, y) and the vertical side register (0, y) is repeatedly transferred to the left horizontal side register HS and held.
【0079】パルス信号SHは、まず、クロックパルス
信号CK1の10クロック目のダウンエッジに同期して
立ち上り、クロックパルス信号CK1の11クロック目
のダウンエッジに同期してダウンする。次いで、クロッ
クパルス信号CK1の15クロック目のダウンエッジに
同期して立ち上り、クロックパルス信号CK1の17ク
ロック目のダウンエッジに同期してダウンする。次い
で、クロックパルス信号CK1の20クロック目から3
8クロック目の19クロックにおいては、クロックパル
ス信号CK1の31クロック目で立ち上り、クロックパ
ルス信号CK1の33クロック目でダウンする。次い
で、39クロック目以降は、20クロック目から38ク
ロック目と同じ動作を繰り返す。The pulse signal SH first rises in synchronization with the 10th clock down edge of the clock pulse signal CK1 and goes down in synchronization with the 11th clock down edge of the clock pulse signal CK1. Next, it rises in synchronization with the 15th clock down edge of the clock pulse signal CK1 and goes down in synchronization with the 17th clock down edge of the clock pulse signal CK1. Next, 3 from the 20th clock of the clock pulse signal CK1
In the 19th clock of the 8th clock, it rises at the 31st clock of the clock pulse signal CK1 and goes down at the 33rd clock of the clock pulse signal CK1. Then, after the 39th clock, the same operation as the 20th to 38th clocks is repeated.
【0080】出力端子P6を通して出力されるパルス信
号SRは、ウィンドウデータ転送ユニット3000の各
プロセッサエレメントPEおよび各垂直サイドレジスタ
VS、並びに、水平サイドレジスタユニット5000の
各水平サイドレジスタHSに出力され、互いに隣接する
各プロセッサエレメントPEおよび各レジスタHS,V
S間でサーチウィンドウの画素データを全体として図5
における右方向に転送するように制御するものである。
パルス信号SRは、ディストーション算出後、各プロセ
ッサエレメントおよび各レジスタに保持されたサーチウ
ィンドウの画素データを再度ディストーション算出開始
状態に戻すものである。The pulse signal SR output through the output terminal P6 is output to each processor element PE and each vertical side register VS of the window data transfer unit 3000, and each horizontal side register HS of the horizontal side register unit 5000, and mutually. Each adjacent processor element PE and each register HS, V
Pixel data in the search window between S as a whole is shown in FIG.
The control is performed so that the data is transferred in the right direction.
The pulse signal SR returns the pixel data of the search window held in each processor element and each register to the distortion calculation start state again after the distortion calculation.
【0081】パルス信号SRは、まず、クロックパルス
信号CK1の18クロック目のダウンエッジに同期して
立ち上り、クロックパルス信号CK1の21クロック目
のダウンエッジに同期してダウンする。クロックパルス
信号CK1の20クロック目から38クロック目の19
クロックにおいては、クロックパルス信号CK1の21
クロック目でダウンした後、クロックパルス信号CK1
の38クロック目で立ち上がる。次いで、39クロック
目以降は、20クロック目から38クロック目と同じ動
作を繰り返す。The pulse signal SR first rises in synchronization with the 18th clock down edge of the clock pulse signal CK1 and goes down in synchronization with the 21st clock down edge of the clock pulse signal CK1. 19th from the 20th clock to the 38th clock of the clock pulse signal CK1
In the clock, 21 of the clock pulse signal CK1
After going down at the clock, clock pulse signal CK1
It rises at the 38th clock. Then, after the 39th clock, the same operation as the 20th to 38th clocks is repeated.
【0082】出力端子P7から出力されるパルス信号C
Lは、プロセッサユニット3100の各プロセッサエレ
メントPEに出力され、ディストーションを算出する動
作の初期状態を設定するものである。パルス信号CL
は、クロックパルス信号CK1のパルス幅の2倍のパル
ス幅を持ち、まず、クロックパルス信号CK1の9クロ
ック目のダウンエッジに同期して立ち上る。次いで、ク
ロックパルス信号CK1の20クロック目から38クロ
ック目の19クロックにおいては、クロックパルス信号
CK1の20クロック目のダウンエッジに同期して立ち
上り、クロックパルス信号CK1の29クロック目のダ
ウンエッジに同期して立ち上る。次いで、39クロック
目以降は、20クロック目から38クロック目と同じ動
作を繰り返す。The pulse signal C output from the output terminal P7
L is output to each processor element PE of the processor unit 3100 and sets the initial state of the operation for calculating the distortion. Pulse signal CL
Has a pulse width twice the pulse width of the clock pulse signal CK1, and first rises in synchronization with the 9th clock down edge of the clock pulse signal CK1. Next, in the 19th clock from the 20th clock to the 38th clock of the clock pulse signal CK1, it rises in synchronization with the 20th clock down edge of the clock pulse signal CK1 and in synchronization with the 29th clock down edge of the clock pulse signal CK1. And stand up. Then, after the 39th clock, the same operation as the 20th to 38th clocks is repeated.
【0083】出力端子P8から出力されるパルス信号L
D1は、プロセッサユニット3100の各プロセッサエ
レメントPEに出力され、各プロセッサエレメントPE
で算出されたそれぞれのディストーションを隣接する左
方向のプロセッサエレメントPEに転送するとともに、
1列目のプロセッサエレメントPE(0,y)の場合に
は、類似ブロック特定ユニット4000に転送するよう
に制御するものである。The pulse signal L output from the output terminal P8
D1 is output to each processor element PE of the processor unit 3100, and each processor element PE
While transferring each distortion calculated in step 1 to the adjacent left processor element PE,
In the case of the processor element PE (0, y) in the first column, it is controlled so that it is transferred to the similar block specifying unit 4000.
【0084】パルス信号LD1は、クロックパルス信号
CK1のパルス幅の2倍のパルス幅を持ち、まず、クロ
ックパルス信号CK1の18クロック目のダウンエッジ
に同期して立ち上るように出力される。次いで、クロッ
クパルス信号CK1の20クロック目から38クロック
目の19クロックにおいては、クロックパルス信号CK
1の29クロック目のダウンエッジに同期して立ち上
り、クロックパルス信号CK1の38クロック目のダウ
ンエッジに同期して立ち上るように出力される。次い
で、39クロック目以降は、20クロック目から38ク
ロック目と同じ動作を繰り返す。The pulse signal LD1 has a pulse width twice the pulse width of the clock pulse signal CK1 and is output so as to rise in synchronization with the 18th clock down edge of the clock pulse signal CK1. Next, in the 19th clock from the 20th clock to the 38th clock of the clock pulse signal CK1, the clock pulse signal CK
It is output so that it rises in synchronization with the down edge of the 29th clock of 1 and rises in synchronization with the down edge of the 38th clock of the clock pulse signal CK1. Then, after the 39th clock, the same operation as the 20th to 38th clocks is repeated.
【0085】出力端子P9から出力されるパルス信号L
D2は、類似ブロック特定ユニット4000に出力さ
れ、プロセッサユニット3100で算出されたディスト
ーションから最小のディストーションを求める動作の初
期状態を設定するものである。パルス信号LD2は、ク
ロックパルス信号CK1のパルス幅の2倍のパルス幅を
持ち、パルス信号LD1のダウンエッジに同期して立ち
上るように出力される。The pulse signal L output from the output terminal P9
D2 is output to the similar block specifying unit 4000 and sets an initial state of an operation for obtaining the minimum distortion from the distortion calculated by the processor unit 3100. The pulse signal LD2 has a pulse width twice the pulse width of the clock pulse signal CK1 and is output so as to rise in synchronization with the down edge of the pulse signal LD1.
【0086】出力端子P10から出力されるパルス信号
SMVは、類似ブロック特定ユニット4000に出力さ
れ、類似ブロック特定ユニット4000で特定された最
小ディストーションMinDisおよび動きベクトルM
Vを本装置の外部に出力するように制御するものであ
る。パルス信号SMVは、クロックパルス信号CK1の
パルス幅の2倍のパルス幅を持ち、クロックパルス信号
CK1の20クロック目から38クロック目の19クロ
ックにおいては、クロックパルス信号CK1の23クロ
ック目のダウンエッジに同期して立ち上り、クロックパ
ルス信号CK1の34クロック目のダウンエッジに同期
して立ち上るように出力される。39クロック目以降
は、20クロック目から38クロック目と同じ動作を繰
り返す。The pulse signal SMV output from the output terminal P10 is output to the similar block specifying unit 4000, and the minimum distortion MinDis and the motion vector M specified by the similar block specifying unit 4000.
V is controlled so as to be output to the outside of this device. The pulse signal SMV has a pulse width that is twice the pulse width of the clock pulse signal CK1, and at the 19th clock from the 20th clock to the 38th clock of the clock pulse signal CK1, the down edge of the 23rd clock of the clock pulse signal CK1. Is output in synchronization with the rising edge of the clock pulse signal CK1 and the rising edge of the clock pulse signal CK1 in synchronization with the down edge of the 34th clock. After the 39th clock, the same operation as the 20th to 38th clocks is repeated.
【0087】さらに、ウィンドウデータ転送ユニット3
000に入力される現画像ブロックの画素データとサー
チウィンドウの画素データについて説明する。図8〜図
12に示すように、現画像ブロックの画素データは、ク
ロックパルス信号CK1のダウンエッジに同期してシス
テム制御ユニット6000により現画像メモリ1000
から出力端子Rを通して読み出され、次のパルスの立ち
上りに同期して各プロセッサエレメントPEに同時に入
力される。Further, the window data transfer unit 3
The pixel data of the current image block and the pixel data of the search window, which are input to 000, will be described. As shown in FIGS. 8 to 12, the pixel data of the current image block is synchronized with the down edge of the clock pulse signal CK1 by the system control unit 6000 in the current image memory 1000.
From the output terminal R, and is input to each processor element PE at the same time in synchronization with the rising edge of the next pulse.
【0088】クロックパルス信号CK1の10クロック
目から18クロック目において、現画像ブロック211
の画素データは、 a(0,0),a(0,1),a(0,2) ,a(1,2),a(1,1),a(1,0) ,a(2,0),a(2,1),a(1,0) のように列毎に現画像垂直方向に昇順、降順、昇順の順
に各プロセッサエレメントPEに同時に入力される。From the 10th clock to the 18th clock of the clock pulse signal CK1, the current image block 211
Pixel data of a (0,0), a (0,1), a (0,2), a (1,2), a (1,1), a (1,0), a (2 , 0), a (2,1), a (1,0), are simultaneously input to each processor element PE in the ascending order, the descending order, and the ascending order in the vertical direction of the current image for each column.
【0089】次いで、現画像ブロック212の画素デー
タは、クロックパルス信号の20クロック目から38ク
ロック目において、21クロック目からそれぞれのパル
スに同期して画素データ a(3,0),a(3,1),a(3,2),・・・ のように列毎に現画像垂直方向に昇順、降順、昇順の順
に入力され、さらに、図6に示された現画像ブロック2
12の水平走査方向に隣接する現画像ブロック203の
画素データが列毎に降順、昇順、降順の順に連続して各
プロセッサエレメントPEに入力される。39クロック
目以降は、20クロック目から38クロック目と同様に
順次水平走査方向に隣接する現画像ブロックの画素デー
タが各プロセッサエレメントPEに入力される。Next, the pixel data of the current image block 212 is pixel data a (3,0), a (3 at the 20th clock to the 38th clock of the clock pulse signal in synchronization with each pulse from the 21st clock. , 1), a (3, 2), ... For each column in the vertical direction of the current image, the ascending order, the descending order, and the ascending order are input, and the current image block 2 shown in FIG.
Pixel data of the current image blocks 203 adjacent to each other in the 12 horizontal scanning directions are continuously input to each processor element PE in the order of descending order, ascending order, and descending order for each column. After the 39th clock, the pixel data of the current image block adjacent to each other in the horizontal scanning direction is sequentially input to each processor element PE, similarly to the 20th clock to the 38th clock.
【0090】また、サーチウィンドウの画素データも、
クロックパルス信号CK1のパルスのダウンエッジに同
期してシステム制御ユニット6000により参照画像メ
モリ2000から出力端子S0およびS1を通してそれ
ぞれ読み出され、次のパルスの立ち上りに同期して、そ
れぞれ入力レジスタIR(3,0)および入力レジスタ
IR(3,3)に転送される。The pixel data of the search window is also
The system control unit 6000 reads from the reference image memory 2000 through the output terminals S0 and S1 in synchronization with the down edge of the pulse of the clock pulse signal CK1, and in synchronization with the rising edge of the next pulse, the input register IR (3 , 0) and the input register IR (3, 3).
【0091】サーチウィンドウ401の画素データのう
ち垂直方向の位置yが2以下(y=0,1,2)の画素
データは、参照画像メモリ2000の出力端子S0を通
して読み出され、クロックパルス信号CK1の1クロッ
ク目から18クロック目において、1クロック目からそ
れぞれのパルスに同期して画素データ b(0,2),b(0,1),b(0,0) ,b(1,0),b(1,1),b(1,2) ,b(2,2),b(2,1),b(2,0),・・・ のように列毎に参照画像垂直方向に降順、昇順、降順、
・・・の順に入力レジスタIR(3,0)に入力され
る。Of the pixel data in the search window 401, the pixel data whose vertical position y is 2 or less (y = 0, 1, 2) is read out through the output terminal S0 of the reference image memory 2000, and the clock pulse signal CK1. Pixel clocks b (0,2), b (0,1), b (0,0), b (1,0) in synchronization with each pulse from the first clock to the 18th clock , b (1,1), b (1,2), b (2,2), b (2,1), b (2,0), ... Descending, ascending, descending,
Are input to the input register IR (3,0) in this order.
【0092】サーチウィンドウ401の画素データのう
ち垂直方向の位置yが3以上(y=3,4)の画素デー
タは、出力端子S0を通して読み出された画素データを
b(x,y)に対して画素データb(x,y+3)が出
力端子S1を通して同時に読み出され、入力レジスタI
R(3,3)に入力される。次いで、サーチウィンドウ
401の画素データは、クロックパルス信号の20クロ
ック目から38クロック目において、21クロック目か
らそれぞれのパルスに同期して画素データb(3,0)
およびb(3,3)から列毎に参照画像垂直方向の昇
順、降順、昇順、・・・の順に図6に示されたサーチウ
ィンドウ401に対してM画素分、すなわち、3画素分
水平走査方向にシフトしたサーチウィンドウ402の画
素データまで順次入力される。Of the pixel data in the search window 401, the pixel data whose vertical position y is 3 or more (y = 3, 4) is the pixel data read through the output terminal S0 with respect to b (x, y). Pixel data b (x, y + 3) are simultaneously read out through the output terminal S1, and the input register I
Input to R (3,3). Next, the pixel data of the search window 401 is pixel data b (3,0) in synchronization with each pulse from the 21st clock at the 20th clock to the 38th clock of the clock pulse signal.
And b (3,3) for each column, in the order of ascending order, descending order, ascending order, ... In the vertical direction of the reference image, the search window 401 shown in FIG. The pixel data of the search window 402 shifted in the direction is sequentially input.
【0093】39クロック目以降は、20クロック目か
ら38クロック目と同様に前回入力されたサーチウィン
ドウの画素データのうち一部の画素データが再度入力さ
れるとともに、水平走査方向にM画素分シフトしたサー
チウィンドウの画素データがそれぞれ入力レジスタIR
(3,0)および入力レジスタIR(3,3)に順次入
力される。From the 39th clock onward, similar to the 20th clock to the 38th clock, a part of the pixel data of the pixel data of the previously input search window is re-input, and M pixels are shifted in the horizontal scanning direction. The pixel data of the searched window is input register IR
(3, 0) and the input register IR (3, 3) are sequentially input.
【0094】次に、ウィンドウデータ転送ユニット30
00の各プロセッサエレメントPEおよび各レジスタV
S,IRについて説明する。まず、プロセッサユニット
3100の各プロセッサエレメントPE(x,y)の端
子配置およびブロック図を説明する。図15に示すよう
に、各プロセッサエレメントPE(x,y)は、入力端
子X,YUi,YDi,YLi,YRi,Diおよび出
力端子YUo,YDo,YLo,YRo,Doを有し、
さらに、図示しないシステム制御ユニット6000の出
力端子P1,P2,P3,P4,P6,P7,P8にそ
れぞれ接続された入力端子を有する。Next, the window data transfer unit 30
00 processor elements PE and registers V
S and IR will be described. First, the terminal arrangement and block diagram of each processor element PE (x, y) of the processor unit 3100 will be described. As shown in FIG. 15, each processor element PE (x, y) has input terminals X, YUi, YDi, YLi, YRi, Di and output terminals YUo, YDo, YLo, YRo, Do,
Further, it has input terminals respectively connected to output terminals P1, P2, P3, P4, P6, P7 and P8 of the system control unit 6000 (not shown).
【0095】図16に示すように、各プロセッサエレメ
ントPE(x,y)は、転送方向切換ユニット360
0、ディストーション算出ユニット3700およびディ
ストーション転送ユニット3800によって構成され
る。転送方向切換ユニット3600は、さらに、セレク
タ3610、フリップフロップ3620によって構成さ
れる。As shown in FIG. 16, each processor element PE (x, y) has a transfer direction switching unit 360.
0, distortion calculation unit 3700 and distortion transfer unit 3800. The transfer direction switching unit 3600 is further composed of a selector 3610 and a flip-flop 3620.
【0096】セレクタ3610は、入力端子S0,S
1,S2,A,B,C,Dおよび出力端子Yを有し、入
力端子S0、入力端子S1および入力端子S2を通して
入力された信号に基づいて、入力端子A、入力端子B、
入力端子Cおよび入力端子Dのうち何れか一つの入力端
子と出力端子Yとを接続する切換器である。ここで、入
力端子S2を通して入力された信号が1のときには、入
力端子S0および入力端子S1を通して入力された信号
の状態に拘らず、入力端子Dと出力端子Yとが接続され
る。また、入力端子S2を通して入力された信号が0の
ときには、入力端子S0,S1を通して入力された信号
がそれぞれ(0,0)を表すときには、入力端子Aと出
力端子Yとが、(1,0)のときには、入力端子Bと出
力端子Yとが、(0,1)および(1,1)のときに
は、入力端子Cと出力端子Yとが接続される。The selector 3610 has input terminals S0, S
1, S2, A, B, C, D and an output terminal Y, and based on the signals input through the input terminal S0, the input terminal S1 and the input terminal S2, the input terminal A, the input terminal B,
The switching device connects any one of the input terminal C and the input terminal D to the output terminal Y. When the signal input through the input terminal S2 is 1, the input terminal D and the output terminal Y are connected regardless of the states of the signals input through the input terminal S0 and the input terminal S1. Further, when the signal input through the input terminal S2 is 0, and when the signals input through the input terminals S0 and S1 respectively represent (0, 0), the input terminal A and the output terminal Y are (1, 0 ), The input terminal B and the output terminal Y are connected, and when (0, 1) and (1, 1), the input terminal C and the output terminal Y are connected.
【0097】フリップフロップ3620は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されたデータを出力端子Yに
ラッチするものである。セレクタ3610の入力端子A
は、入力端子YDiを介して、一つ上側に位置する別の
プロセッサエレメントPE(x,y−1)の出力端子Y
Doまたは垂直サイドレジスタVS(x,−1)の出力
端子に電気的に接続される。入力端子Bは、入力端子Y
Uiを介して、一つ下側に位置する別のプロセッサエレ
メントPE(x,y+1)の出力端子YUoまたは垂直
サイドレジスタVS(x,3)の出力端子に電気的に接
続される。入力端子Cは、入力端子YLiを介して、一
つ右側に位置する別のプロセッサエレメントPE(x+
1,y)の出力端子YLoまたは入力レジスタIR
(3,y)の出力端子に電気的に接続される。入力端子
Dは、入力端子YRiを介して、一つ左側に位置する別
のプロセッサエレメントPE(x−1,y)の出力端子
YRoまたは水平サイドレジスタHS(−1,y)の出
力端子に電気的に接続される。The flip-flop 3620 is a D flip-flop, has input terminals S and A and an output terminal Y, and in synchronization with the pulse of the signal input through the input terminal S, the data input to the input terminal A. Is latched to the output terminal Y. Input terminal A of selector 3610
Is an output terminal Y of another processor element PE (x, y−1) located one upper side via an input terminal YDi.
It is electrically connected to the output terminal of Do or the vertical side register VS (x, -1). Input terminal B is input terminal Y
Via Ui, it is electrically connected to the output terminal YUo of another processor element PE (x, y + 1) located at the one lower side or the output terminal of the vertical side register VS (x, 3). The input terminal C is connected via the input terminal YLi to another processor element PE (x +
1, y) output terminal YLo or input register IR
It is electrically connected to the output terminal of (3, y). The input terminal D is electrically connected to the output terminal YRo of another processor element PE (x-1, y) located on the left side or the output terminal of the horizontal side register HS (-1, y) via the input terminal YRi. Connected.
【0098】また、セレクタ3610の入力端子S0
は、システム制御ユニット6000の出力端子P3に電
気的に接続され、入力端子S1は、システム制御ユニッ
ト6000の出力端子P4に電気的に接続され、入力端
子S2は、システム制御ユニット6000の出力端子P
6に電気的に接続される。フリップフロップ3620の
入力端子Aは、同じプロセッサエレメントPE(x,
y)のセレクタ3610の出力端子Yに電気的に接続さ
れ、入力端子Sはシステム制御ユニット6000の出力
端子P1に電気的に接続される。Further, the input terminal S0 of the selector 3610
Is electrically connected to the output terminal P3 of the system control unit 6000, the input terminal S1 is electrically connected to the output terminal P4 of the system control unit 6000, and the input terminal S2 is the output terminal P of the system control unit 6000.
6 electrically connected. The input terminal A of the flip-flop 3620 has the same processor element PE (x,
y) is electrically connected to the output terminal Y of the selector 3610, and the input terminal S is electrically connected to the output terminal P1 of the system control unit 6000.
【0099】ディストーション算出ユニット3700
は、さらに、減算器3710、正数変換器3720、加
算器3730、フリップフロップ3740、反転器37
50、論理積演算器3760によって構成される。減算
器3710は、入力端子A,Bおよび出力端子Yを有
し、入力端子Aを通して入力されたデータから入力端子
Bを通して入力されたデータを減算して出力端子Yを通
して出力するものである。Distortion calculation unit 3700
Is a subtractor 3710, a positive number converter 3720, an adder 3730, a flip-flop 3740, and an inverter 37.
50 and an AND operator 3760. The subtractor 3710 has input terminals A and B and an output terminal Y, and subtracts the data input through the input terminal B from the data input through the input terminal A and outputs the result through the output terminal Y.
【0100】正数変換器3720は、入力端子Aおよび
出力端子Yを有し、入力端子Aを通して入力されたデー
タを絶対値演算により正数データに変換して出力端子Y
を通して出力するものである。加算器3730は、入力
端子A,Bおよび出力端子Yを有し、入力端子Aを通し
て入力されたデータと入力端子Bを通して入力されたデ
ータとを加算して出力端子Yを通して出力するものであ
る。The positive number converter 3720 has an input terminal A and an output terminal Y, converts data input through the input terminal A into positive number data by absolute value calculation, and outputs the output terminal Y.
Is output through. The adder 3730 has input terminals A and B and an output terminal Y, and adds the data input through the input terminal A and the data input through the input terminal B and outputs the result through the output terminal Y.
【0101】反転器3750は、入力端子Sおよび出力
端子Yを有し、入力端子Sを通して入力された信号が0
のときには、出力端子Yを通して全てのビットが1で表
されるデータを出力し、入力された信号が1のときに
は、出力端子Yを通して全てのビットが0で表されるデ
ータを出力するものである。論理積演算器3760は、
入力端子A,Bおよび出力端子Yを有し、入力端子Aお
よび入力端子Bを通して入力されたそれぞれのデータに
よりビット毎に論理積演算を行い、その結果得られたデ
ータを出力端子Yを通して出力するものである。The inverter 3750 has an input terminal S and an output terminal Y, and the signal input through the input terminal S is 0.
In the case of, the data in which all the bits are represented by 1 is output through the output terminal Y, and when the input signal is 1, the data in which all the bits are represented by 0 are output through the output terminal Y. . The logical product operator 3760 is
It has input terminals A and B and an output terminal Y, performs a logical AND operation for each bit by the respective data input through the input terminal A and the input terminal B, and outputs the resulting data through the output terminal Y. It is a thing.
【0102】減算器3710の入力端子Aは、同じプロ
セッサエレメントPE(x,y)のフリップフロップ3
620の出力端子Yに電気的に接続され、入力端子Bは
入力端子Xを介して、現画像メモリ1000の出力端子
Rに電気的に接続される。正数変換器3720の入力端
子Aは、同じプロセッサエレメントPE(x,y)の減
算器3710の出力端子Yに電気的に接続される。The input terminal A of the subtractor 3710 is the flip-flop 3 of the same processor element PE (x, y).
620 is electrically connected to the output terminal Y, and the input terminal B is electrically connected to the output terminal R of the current image memory 1000 via the input terminal X. The input terminal A of the positive number converter 3720 is electrically connected to the output terminal Y of the subtractor 3710 of the same processor element PE (x, y).
【0103】加算器3730の入力端子Aは、同じプロ
セッサエレメントPE(x,y)の正数変換器3720
の出力端子Yに電気的に接続され、入力端子Bは、同じ
プロセッサエレメントPE(x,y)の論理積演算器3
760の出力端子Yに電気的に接続される。フリップフ
ロップ3740の入力端子Aは、同じプロセッサエレメ
ントPE(x,y)の加算器3730の出力端子Yに電
気的に接続され、入力端子Sは、システム制御ユニット
6000の出力端子P1に電気的に接続される。The input terminal A of the adder 3730 is the positive number converter 3720 of the same processor element PE (x, y).
Of the logical product operator 3 of the same processor element PE (x, y).
It is electrically connected to the output terminal Y of 760. The input terminal A of the flip-flop 3740 is electrically connected to the output terminal Y of the adder 3730 of the same processor element PE (x, y), and the input terminal S is electrically connected to the output terminal P1 of the system control unit 6000. Connected.
【0104】反転器3750の入力端子Sは、システム
制御ユニット6000の出力端子P7に電気的に接続さ
れる。論理積演算器3760の入力端子Aは、同じプロ
セッサエレメントPE(x,y)の反転器3750の出
力端子Yに電気的に接続され、入力端子Bは、同じプロ
セッサエレメントPE(x,y)のフリップフロップ3
740の出力端子Yに電気的に接続される。The input terminal S of the inverter 3750 is electrically connected to the output terminal P7 of the system control unit 6000. The input terminal A of the logical product operator 3760 is electrically connected to the output terminal Y of the inverter 3750 of the same processor element PE (x, y), and the input terminal B of the same processor element PE (x, y). Flip flop 3
It is electrically connected to the output terminal Y of 740.
【0105】正数変換器3720、反転器3750、論
理積演算器3760、加算器3730およびフリップフ
ロップ3740により以下の動作が行われる。ここで、
フリップフロップ3740からクロックパルス信号CK
1に同期してラッチされたデータを前回のデータと呼
び、正数変換器3720から出力されたデータを今回の
データと呼ぶとする。The following operations are performed by positive number converter 3720, inverter 3750, AND operator 3760, adder 3730 and flip-flop 3740. here,
Clock pulse signal CK from flip-flop 3740
The data latched in synchronization with 1 is called the previous data, and the data output from the positive number converter 3720 is called the current data.
【0106】反転器3750の入力端子Sを通して入力
されたパルス信号CLが1のときには、加算器3730
では、入力端子Bを通して入力されたデータが0となる
ため、入力端子Aを通して入力された今回のデータが出
力端子Yを通してそのまま出力され、フリップフロップ
3740の入力端子Aに入力される。一方、反転器37
50の入力端子Sに入力されたパルス信号CLが0のと
きには、フリップフロップ3740の出力端子Yから出
力された前回のデータが、論理積演算器3760に入力
端子Bを通して入力されて出力端子Yを通して出力され
て、加算器3730の入力端子Bに入力される。このた
め、加算器3730では、入力端子Aを通して入力され
た今回のデータとフリップフロップ3740にラッチさ
れて入力端子Bを通して入力された前回のデータとが加
算されて出力端子Yを通して出力され、さらに、フリッ
プフロップ3740の入力端子Aに入力される。When the pulse signal CL input through the input terminal S of the inverter 3750 is 1, the adder 3730
Then, since the data input through the input terminal B becomes 0, the current data input through the input terminal A is output as it is through the output terminal Y and is input to the input terminal A of the flip-flop 3740. On the other hand, the inverter 37
When the pulse signal CL input to the input terminal S of 50 is 0, the previous data output from the output terminal Y of the flip-flop 3740 is input to the logical AND calculator 3760 through the input terminal B and through the output terminal Y. It is output and input to the input terminal B of the adder 3730. Therefore, in the adder 3730, the current data input through the input terminal A and the previous data latched by the flip-flop 3740 and input through the input terminal B are added and output through the output terminal Y. It is input to the input terminal A of the flip-flop 3740.
【0107】すなわち、パルス信号CLが1のとき、加
算器3730の積算データがリセットされ、パルス信号
CLが0のとき、加算器3730では前回のデータと今
回のデータとの積算処理が行われる。ディストーション
転送ユニット3800は、さらに、セレクタ3810お
よびフリップフロップ3820によって構成される。That is, when the pulse signal CL is 1, the integrated data of the adder 3730 is reset, and when the pulse signal CL is 0, the adder 3730 performs the integrating process of the previous data and the current data. The distortion transfer unit 3800 is further composed of a selector 3810 and a flip-flop 3820.
【0108】セレクタ3810は、入力端子S,A,
B、および出力端子Yを有し、入力端子Sを通して入力
された信号に基づいて入力端子Aおよび入力端子Bのう
ち何れか一方の入力端子と出力端子Yとを接続する切換
器である。ここで、入力端子Sを通して入力された信号
が0のとき、入力端子Aと出力端子Yとが接続され、入
力端子Sを通して入力された信号が1のとき、入力端子
Bと出力端子Yとが接続される。The selector 3810 has input terminals S, A,
B is a switching device that has an output terminal Y, and connects one of the input terminal A and the input terminal B to the output terminal Y based on a signal input through the input terminal S. Here, when the signal input through the input terminal S is 0, the input terminal A and the output terminal Y are connected, and when the signal input through the input terminal S is 1, the input terminal B and the output terminal Y are connected. Connected.
【0109】フリップフロップ3820は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されるデータを出力端子Yに
ラッチするものである。セレクタ3810の入力端子A
は、入力端子Diを介して、一つ右側に位置する別のプ
ロセッサエレメントPE(x+1,y)のフリップフロ
ップ3820の出力端子Yに電気的に接続され、入力端
子Bは、同じプロセッサエレメントPE(x,y)のフ
リップフロップ3740の出力端子Yに電気的に接続さ
れ、入力端子Sは、システム制御ユニット6000の出
力端子P8に電気的に接続される。The flip-flop 3820 is composed of a D flip-flop, has input terminals S and A and an output terminal Y, and in synchronization with the pulse of the signal input through the input terminal S, the data input to the input terminal A. Is latched to the output terminal Y. Input terminal A of selector 3810
Is electrically connected via an input terminal Di to an output terminal Y of a flip-flop 3820 of another processor element PE (x + 1, y) located on the right side, and an input terminal B is connected to the same processor element PE ( (x, y) is electrically connected to the output terminal Y of the flip-flop 3740, and the input terminal S is electrically connected to the output terminal P8 of the system control unit 6000.
【0110】フリップフロップ3820の入力端子A
は、同じプロセッサエレメントPE(x,y)のセレク
タ3810の出力端子Yに電気的に接続され、入力端子
Sは、システム制御ユニット6000の出力端子P2に
電気的に接続される。次に、第1垂直サイドレジスタユ
ニット3200および第2垂直サイドレジスタユニット
3300の各垂直サイドレジスタVS(x,y)の端子
配置およびブロック図を説明する。Input terminal A of flip-flop 3820
Is electrically connected to the output terminal Y of the selector 3810 of the same processor element PE (x, y), and the input terminal S is electrically connected to the output terminal P2 of the system control unit 6000. Next, the terminal arrangement and block diagram of each vertical side register VS (x, y) of the first vertical side register unit 3200 and the second vertical side register unit 3300 will be described.
【0111】図17(a)に示すように、各垂直サイド
レジスタVS(x,y)は、入力端子YUi,YDi,
YLi,YRiおよび出力端子YUo,YDo,YL
o,YRoを有し、さらに、図示しないシステム制御ユ
ニット6000の出力端子P1,P3,P4,P5にそ
れぞれ接続された入力端子を有している。図17(b)
に示すように、各垂直サイドレジスタVS(x,y)
は、セレクタ3611およびフリップフロップ3621
から構成される。As shown in FIG. 17A, each vertical side register VS (x, y) has an input terminal YUi, YDi,
YLi, YRi and output terminals YUo, YDo, YL
O and YRo, and further has input terminals respectively connected to output terminals P1, P3, P4 and P5 of a system control unit 6000 (not shown). FIG. 17 (b)
, Each vertical side register VS (x, y)
Is a selector 3611 and a flip-flop 3621
Consists of
【0112】セレクタ3611は、入力端子S0,S
1,S2,A,B,C,Dおよび出力端子Yを有し、入
力端子S0、入力端子S1および入力端子S2を通して
入力された信号に基づいて、入力端子A、入力端子B、
入力端子Cおよび入力端子Dのうち何れか一つの入力端
子と出力端子Yとを接続する切換器である。ここで、入
力端子S2を通して入力された信号が1のときには、入
力端子S0および入力端子S1を通して入力された信号
の状態に拘らず、入力端子Dと出力端子Yとが接続され
る。また、入力端子S2を通して入力された信号が0の
ときには、入力端子S0,S1を通して入力された信号
がそれぞれ(0,0)を表すときには、入力端子Aと出
力端子Yとを、(1,0)のときには、入力端子Bと出
力端子Yとを、(0,1)および(1,1)のときに
は、入力端子Cと出力端子Yとが接続される。The selector 3611 has input terminals S0, S
1, S2, A, B, C, D and an output terminal Y, and based on the signals input through the input terminal S0, the input terminal S1 and the input terminal S2, the input terminal A, the input terminal B,
The switching device connects any one of the input terminal C and the input terminal D to the output terminal Y. When the signal input through the input terminal S2 is 1, the input terminal D and the output terminal Y are connected regardless of the states of the signals input through the input terminal S0 and the input terminal S1. When the signal input through the input terminal S2 is 0, and when the signals input through the input terminals S0 and S1 respectively represent (0, 0), the input terminal A and the output terminal Y are connected to (1, 0 ), The input terminal B and the output terminal Y are connected, and when (0, 1) and (1, 1), the input terminal C and the output terminal Y are connected.
【0113】フリップフロップ3621は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sに入力された信号のパルスに同期し
て、入力端子Aに入力されるデータを出力端子Yにラッ
チするものである。セレクタ3611の入力端子Aは、
入力端子YDiを介して、一つ上側に位置する別の垂直
サイドレジスタVS(x,y−1)の出力端子YDoま
たはプロセッサエレメントPE(x,2)の出力端子Y
Doに電気的に接続される。入力端子Bは、入力端子Y
Uiを介して、一つ下側に位置する別の垂直サイドレジ
スタVS(x,y+1)の出力端子YUoまたはプロセ
ッサエレメントPE(x,0)の出力端子YUoに電気
的に接続される。入力端子Cは、入力端子YLiを介し
て、一つ右側に位置する別の垂直サイドレジスタVS
(x+1,y)の出力端子YLoまたは入力レジスタI
R(3,y)の出力端子YLoに電気的に接続される。
入力端子Dは、入力端子YRiを介して、一つ左側に位
置する別の垂直サイドレジスタVS(x−1,y)の出
力端子YRoまたは水平サイドレジスタHS(−1,
y)の出力端子に電気的に接続される。また、入力端子
S0は、システム制御ユニット6000の出力端子P3
に電気的に接続され、入力端子S1は、システム制御ユ
ニット6000の出力端子P4に電気的に接続され、入
力端子S2は、システム制御ユニット6000の出力端
子P6に電気的に接続される。The flip-flop 3621 is a D flip-flop, has input terminals S and A, and an output terminal Y, and in synchronization with the pulse of the signal input to the input terminal S, the data input to the input terminal A. Is latched to the output terminal Y. The input terminal A of the selector 3611 is
Via the input terminal YDi, the output terminal YDo of another vertical side register VS (x, y−1) located one above or the output terminal Y of the processor element PE (x, 2).
It is electrically connected to Do. Input terminal B is input terminal Y
Via Ui, it is electrically connected to the output terminal YUo of another vertical side register VS (x, y + 1) located one lower side or the output terminal YUo of the processor element PE (x, 0). The input terminal C is connected via the input terminal YLi to another vertical side register VS located on the right side.
Output terminal YLo of (x + 1, y) or input register I
It is electrically connected to the output terminal YLo of R (3, y).
The input terminal D is, via the input terminal YRi, the output terminal YRo of another vertical side register VS (x-1, y) located on the left side or the horizontal side register HS (-1,
It is electrically connected to the output terminal of y). The input terminal S0 is the output terminal P3 of the system control unit 6000.
, The input terminal S1 is electrically connected to the output terminal P4 of the system control unit 6000, and the input terminal S2 is electrically connected to the output terminal P6 of the system control unit 6000.
【0114】フリップフロップ3621の入力端子A
は、同じ垂直サイドレジスタVS(x,y)のセレクタ
3611の出力端子Yに電気的に接続され、入力端子S
は、システム制御ユニット6000の出力端子P1に電
気的に接続される。次に、入力レジスタユニット340
0の各入力レジスタIR(x,y)の端子配置およびブ
ロック図を説明する。Input terminal A of flip-flop 3621
Is electrically connected to the output terminal Y of the selector 3611 of the same vertical side register VS (x, y), and the input terminal S
Are electrically connected to the output terminal P1 of the system control unit 6000. Next, the input register unit 340
The terminal arrangement and block diagram of each input register IR (x, y) of 0 will be described.
【0115】図18(a)に示すように、各入力レジス
タIR(x,y)は、入力端子YUi,YDiおよび出
力端子YUo,YDo,YLoを有し、さらに図示しな
いシステム制御ユニット6000の出力端子P1,P3
にそれぞれ接続された入力端子を有している。図18
(b)に示すように、各入力レジスタIR(x,y)
は、セレクタ3612およびフリップフロップ3622
から構成される。As shown in FIG. 18A, each input register IR (x, y) has input terminals YUi, YDi and output terminals YUo, YDo, YLo, and further outputs of a system control unit 6000 (not shown). Terminals P1, P3
Input terminals respectively connected to. FIG.
As shown in (b), each input register IR (x, y)
Is a selector 3612 and a flip-flop 3622.
Consists of
【0116】セレクタ3612は、入力端子S,A,B
および出力端子Yを有し、入力端子Sを通して入力され
た信号に基づいて入力端子Aおよび入力端子Bのうち何
れか一方の入力端子と出力端子Yとを接続する切換器で
ある。ここで、入力端子Sを通して入力された信号が0
のときには、入力端子Aと出力端子Yとが接続され、入
力端子Sを通して入力された信号が1のときには、入力
端子Bと出力端子Yとが接続される。The selector 3612 has input terminals S, A, B
And a output terminal Y, and based on a signal input through the input terminal S, connects one of the input terminal A and the input terminal B to the output terminal Y. Here, the signal input through the input terminal S is 0
When, the input terminal A and the output terminal Y are connected, and when the signal input through the input terminal S is 1, the input terminal B and the output terminal Y are connected.
【0117】フリップフロップ3622は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されたデータを出力端子Yに
ラッチするものである。入力レジスタIR(3,−
2)、入力レジスタIR(3,−1)、入力レジスタI
R(3,1)および入力レジスタIR(3,2)のそれ
ぞれのセレクタ3612の入力端子Bは、一つ下側に位
置する別の入力レジスタIR(x,y+1)の出力端子
YUoに入力端子YUiを介して電気的に接続される。The flip-flop 3622 is a D flip-flop, has input terminals S and A and an output terminal Y, and in synchronization with the pulse of the signal input through the input terminal S, the data input to the input terminal A. Is latched to the output terminal Y. Input register IR (3,-
2), input register IR (3, -1), input register I
The input terminal B of the selector 3612 of each of the R (3,1) and the input register IR (3,2) is an input terminal to the output terminal YUo of another input register IR (x, y + 1) located one below. It is electrically connected via YUi.
【0118】また、入力レジスタIR(3,0)のセレ
クタ3612の入力端子Aおよび入力端子Bは、それぞ
れ入力端子YDiおよびYUiを介して参照画像メモリ
2000の出力端子S0に電気的に接続される。入力レ
ジスタIR(3,3)のセレクタ3612の入力端子A
および入力端子Bは、それぞれ入力端子YDiおよびY
Uiを介して参照画像メモリ2000の出力端子S1に
電気的に接続される。The input terminal A and the input terminal B of the selector 3612 of the input register IR (3,0) are electrically connected to the output terminal S0 of the reference image memory 2000 via the input terminals YDi and YUi, respectively. . Input terminal A of selector 3612 of input register IR (3,3)
And input terminal B are input terminals YDi and Y, respectively.
It is electrically connected to the output terminal S1 of the reference image memory 2000 via Ui.
【0119】入力レジスタIR(3,1)、入力レジス
タIR(3,2)および入力レジスタIR(3,4)の
それぞれのセレクタ3612の入力端子Aは、入力端子
YDiを介して一つ上側に位置する別の入力レジスタI
R(x,y−1)の出力端子YDoに電気的に接続され
る。各入力レジスタIR(3,y)のセレクタ3612
の入力端子Sは、システム制御ユニット6000の出力
端子P3に電気的に接続される。The input terminal A of the selector 3612 of each of the input register IR (3,1), the input register IR (3,2) and the input register IR (3,4) is moved upward by one via the input terminal YDi. Another input register I located
It is electrically connected to the output terminal YDo of R (x, y-1). Selector 3612 of each input register IR (3, y)
The input terminal S of is electrically connected to the output terminal P3 of the system control unit 6000.
【0120】各入力レジスタIR(3,y)のフリップ
フロップ3622の入力端子Aは、同じ入力レジスタI
R(3,y)のセレクタ3612の出力端子Yに電気的
に接続され、入力端子Sは、システム制御ユニット60
00の出力端子P1に電気的に接続される。次に、水平
サイドレジスタユニット5000の各水平サイドレジス
タHS(x,y)の端子配置およびブロック図を説明す
る。The input terminal A of the flip-flop 3622 of each input register IR (3, y) is the same as the input register I.
The input terminal S is electrically connected to the output terminal Y of the R (3, y) selector 3612, and the input terminal S is connected to the system control unit 60.
00 is electrically connected to the output terminal P1. Next, the terminal arrangement and block diagram of each horizontal side register HS (x, y) of the horizontal side register unit 5000 will be described.
【0121】図19(a)に示すように、各水平サイド
レジスタHS(x,y)は、入力端子YLi,YRiお
よび出力端子YLo,YRoを有し、さらに図示しない
システム制御ユニット6000の出力端子P1,P5,
P6にそれぞれ接続された入力端子を有している。図1
9(b)に示すように、各水平サイドレジスタHS
(x,y)は、セレクタ3613およびフリップフロッ
プ3623によって構成される。As shown in FIG. 19A, each horizontal side register HS (x, y) has input terminals YLi, YRi and output terminals YLo, YRo, and an output terminal of a system control unit 6000 (not shown). P1, P5
It has input terminals respectively connected to P6. FIG.
As shown in FIG. 9 (b), each horizontal side register HS
(X, y) is composed of a selector 3613 and a flip-flop 3623.
【0122】セレクタ3613は、入力端子S0,S
1,A,B,Cおよび出力端子Yを有し、入力端子S0
および入力端子S1を通してそれぞれ入力された信号S
H,SRに基づいて入力端子A、入力端子Bおよび入力
端子Cのうち何れか一つの入力端子と出力端子Yとを接
続する切換器である。ここで、入力端子S0,S1を通
してそれぞれ入力された信号SH,SRが(0,0)の
ときには、入力端子Aと出力端子Yとが電気的に接続さ
れ、(1,0)のときには、入力端子Bと出力端子Yと
が電気的に接続され、(0,1)および(1,1)のと
きには、入力端子Cと出力端子Yとが電気的に接続され
る。The selector 3613 has input terminals S0, S
1, A, B, C and an output terminal Y, and an input terminal S0
And the signal S input through the input terminal S1
It is a switcher that connects any one of the input terminal A, the input terminal B, and the input terminal C to the output terminal Y based on H and SR. Here, when the signals SH and SR respectively inputted through the input terminals S0 and S1 are (0,0), the input terminal A and the output terminal Y are electrically connected, and when the signals SH and SR are (1,0), the input is made. The terminal B and the output terminal Y are electrically connected, and when (0, 1) and (1, 1), the input terminal C and the output terminal Y are electrically connected.
【0123】フリップフロップ3623は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有し、入力端子Sを通して入力された信号のパルスに同
期して、入力端子Aに入力されるデータを出力端子Yに
ラッチするものである。セレクタ3613の入力端子A
は、同じ水平サイドレジスタHS(x,y)のフリップ
フロップ3623の出力端子Yに電気的に接続される。
入力端子Bは、入力端子YLiを介して、一つ右側に位
置する別の水平サイドレジスタHS(x+1,y)の出
力端子YLo、プロセッサエレメントPE(0,y)ま
たは垂直サイドレジスタVS(0,y)の出力端子YL
oに電気的に接続される。入力端子Cは、入力端子YR
iを介して、一つ左側に位置する別の水平サイドレジス
タHS(x−1,y)の出力端子YRoに電気的に接続
される。また、入力端子S0はシステム制御ユニット6
000の出力端子P5に電気的に接続され、入力端子S
1はシステム制御ユニット6000の出力端子P6に電
気的に接続される。The flip-flop 3623 is composed of a D flip-flop, has input terminals S and A and an output terminal Y, and in synchronization with a pulse of a signal inputted through the input terminal S, data inputted to the input terminal A. Is latched to the output terminal Y. Input terminal A of selector 3613
Are electrically connected to the output terminal Y of the flip-flop 3623 of the same horizontal side register HS (x, y).
The input terminal B is, via the input terminal YLi, the output terminal YLo of another horizontal side register HS (x + 1, y) located on the right side, the processor element PE (0, y) or the vertical side register VS (0, y) output terminal YL
electrically connected to o. The input terminal C is the input terminal YR
It is electrically connected to the output terminal YRo of another horizontal side register HS (x-1, y) located on the left side through i. The input terminal S0 is the system control unit 6
000 output terminal P5 electrically connected to the input terminal S
1 is electrically connected to the output terminal P6 of the system control unit 6000.
【0124】フリップフロップ3623の入力端子A
は、同じ水平サイドレジスタHS(x,y)のセレクタ
3613の出力端子Yに電気的に接続され、入力端子S
は、システム制御ユニット6000の出力端子P1に電
気的に接続される。次に、類似ブロック特定ユニット4
000の詳細な構成を説明する。図20に示すように、
類似ブロック特定ユニット4000は、最小ディストー
ション検出ユニット4100、動きベクトル垂直成分検
出ユニット4200および動きベクトル水平成分検出ユ
ニット4300によって構成される。Input terminal A of flip-flop 3623
Is electrically connected to the output terminal Y of the selector 3613 of the same horizontal side register HS (x, y), and the input terminal S
Are electrically connected to the output terminal P1 of the system control unit 6000. Next, the similar block identification unit 4
000 will be described in detail. As shown in FIG.
The similar block identifying unit 4000 includes a minimum distortion detecting unit 4100, a motion vector vertical component detecting unit 4200, and a motion vector horizontal component detecting unit 4300.
【0125】最小ディストーション検出ユニット410
0は、プロセッサユニット3100で算出された複数の
ディストーションを入力し、入力されたディストーショ
ンの中から最小の値をもつディストーションを検出す
る。動きベクトル垂直成分検出ユニット4200は、最
小ディストーション検出ユニット4100で検出された
最小ディストーションが算出されたプロセッサエレメン
トPE(x,y)の位置情報(行位置)に基づいて候補
ブロックを特定し、特定された候補ブロックに対応する
動きベクトル垂直成分MVyを特定する。Minimum distortion detection unit 410
0 inputs a plurality of distortions calculated by the processor unit 3100 and detects the distortion having the minimum value from the input distortions. The motion vector vertical component detection unit 4200 specifies and identifies a candidate block based on the position information (row position) of the processor element PE (x, y) for which the minimum distortion detected by the minimum distortion detection unit 4100 is calculated. The motion vector vertical component MVy corresponding to the candidate block is identified.
【0126】動きベクトル水平成分検出ユニット430
0は、最小ディストーション検出ユニット4100で検
出された最小ディストーションが算出されたプロセッサ
エレメントPE(x,y)の位置情報(列位置)に基づ
いて候補ブロックを特定し、特定された候補ブロックに
対応する動きベクトル垂直成分MVxを特定する。以
下、上記各ユニットについて説明する。Motion vector horizontal component detection unit 430
0 specifies a candidate block based on the position information (column position) of the processor element PE (x, y) for which the minimum distortion detected by the minimum distortion detection unit 4100 is calculated, and corresponds to the specified candidate block. The motion vector vertical component MVx is specified. The above units will be described below.
【0127】最小ディストーション検出ユニット410
0は、さらに、比較器4101、論理和演算器410
2、比較器4103、セレクタ4104、フリップフロ
ップ4105、セレクタ付きフリップフロップ4106
によって構成される。比較器4101は、入力端子A
0,A1,A2および出力端子M,Yを有する。入力端
子A0,A1,A2は、それぞれプロセッサエレメント
PE(0,0)、プロセッサエレメントPE(0,1)
およびプロセッサエレメントPE(0,2)の出力端子
Doに電気的に接続される。出力端子Yは、比較器41
03の入力端子Aおよびセレクタ4104の入力端子B
に電気的に接続される。出力端子Mは、動きベクトル垂
直成分検出ユニット4200のセレクタ4211の入力
端子Bに電気的に接続される。Minimum distortion detection unit 410
0 is further the comparator 4101 and the logical sum operator 410
2, comparator 4103, selector 4104, flip-flop 4105, flip-flop with selector 4106
Composed of The comparator 4101 has an input terminal A
It has 0, A1, A2 and output terminals M, Y. The input terminals A0, A1 and A2 are respectively the processor element PE (0, 0) and the processor element PE (0, 1).
And an output terminal Do of the processor element PE (0, 2). The output terminal Y is a comparator 41
03 input terminal A and selector 4104 input terminal B
Electrically connected to. The output terminal M is electrically connected to the input terminal B of the selector 4211 of the motion vector vertical component detection unit 4200.
【0128】比較器4101は、上記プロセッサエレメ
ントPE(0,y)から同時に出力されたディストーシ
ョンを、それぞれ入力端子A0,A1,A2を通して入
力し、入力された3つのディストーションの中から最小
の値をもつディストーションLMDisを出力端子Yを
通して出力する。また、最小のディストーションが入力
された入力端子を示すデータLMVyを出力端子Mから
出力する。ここで、出力端子Mから出力されるデータL
MVyは、最小のディストーションが入力された入力端
子が入力端子A0のときには0、A1のときには1、A
2のときには2を表す。The comparator 4101 inputs the distortions simultaneously output from the processor element PE (0, y) through the input terminals A0, A1 and A2, respectively, and selects the minimum value from the three distortions input. The distortion LMDis having the same is output through the output terminal Y. Also, the data LMVy indicating the input terminal to which the minimum distortion is input is output from the output terminal M. Here, the data L output from the output terminal M
MVy is 0 when the input terminal to which the minimum distortion is input is the input terminal A0, 1 when the input terminal is A1, and A
When it is 2, it represents 2.
【0129】論理和演算器4102は、入力端子A,B
および出力端子Yを有する。入力端子Aは、システム制
御ユニット6000の出力端子P9に電気的に接続さ
れ、入力端子Bは、フリップフロップ4105の出力端
子Yに電気的に接続される。出力端子Yは、比較器41
03の入力端子Bに電気的に接続される。論理和演算器
4102は、システム制御ユニット6000から出力さ
れたパルス信号LD2を入力端子Aを通して入力すると
ともに、フリップフロップ4105から出力されたデー
タを入力端子Bを通して入力し、入力された信号LD2
をビット列で表したデータと入力端子Bを通して入力さ
れたデータとの論理和を演算し、その演算結果を出力端
子Yにする。ここで、信号LD2が0のときには、信号
LD2に対応するデータは、すべてのビットが0で表さ
れ、入力端子Bから入力されたデータが論理和の演算結
果として出力される。一方、信号LD2が1のときに
は、信号LD2に対応するデータは、すべてのビットが
1で表され、そのままこのデータが最大値として出力端
子Yを通して出力される。The logical sum operator 4102 has input terminals A and B.
And an output terminal Y. The input terminal A is electrically connected to the output terminal P9 of the system control unit 6000, and the input terminal B is electrically connected to the output terminal Y of the flip-flop 4105. The output terminal Y is a comparator 41
03 is electrically connected to the input terminal B. The logical sum operator 4102 inputs the pulse signal LD2 output from the system control unit 6000 through the input terminal A, inputs the data output from the flip-flop 4105 through the input terminal B, and outputs the input signal LD2.
Is expressed by a bit string and the data input through the input terminal B is ORed, and the operation result is set to the output terminal Y. Here, when the signal LD2 is 0, all the bits of the data corresponding to the signal LD2 are represented by 0, and the data input from the input terminal B is output as the logical sum operation result. On the other hand, when the signal LD2 is 1, all the bits of the data corresponding to the signal LD2 are represented by 1, and this data is output as it is through the output terminal Y as the maximum value.
【0130】比較器4103は、入力端子A,Bおよび
出力端子Yを有する。入力端子Aは、比較器4101の
出力端子Yに電気的に接続され、入力端子Bは、論理和
演算器4102の出力端子Yに電気的に接続される。出
力端子Yは、セレクタ4104の入力端子S、動きベク
トル垂直成分検出ユニット4200のセレクタ4211
の入力端子Sおよび動きベクトル水平成分検出ユニット
4300のセレクタ4302の入力端子Sに電気的に接
続される。Comparator 4103 has input terminals A and B and output terminal Y. The input terminal A is electrically connected to the output terminal Y of the comparator 4101, and the input terminal B is electrically connected to the output terminal Y of the logical sum operator 4102. The output terminal Y is the input terminal S of the selector 4104 and the selector 4211 of the motion vector vertical component detection unit 4200.
Of the selector 4302 of the motion vector horizontal component detection unit 4300.
【0131】比較器4103は、比較器6101から出
力されたディストーションを入力端子Aを通して入力す
るとともに、論理和演算器4102から出力されたデー
タを入力端子Bを通して入力し、入力端子Aを通して入
力されたディストーションが入力端子Bを通して入力さ
れたデータ以上の大きさである場合には、出力端子Yか
ら0を表すデータMinを出力し、入力端子Aを通して
入力されたディストーションが入力端子Bを通して入力
されたデータより小さい場合には、出力端子Yから1を
表すデータMinを出力する。The comparator 4103 inputs the distortion output from the comparator 6101 through the input terminal A, inputs the data output from the logical sum operator 4102 through the input terminal B, and inputs the data through the input terminal A. When the distortion is larger than the data input through the input terminal B, the output terminal Y outputs the data Min representing 0, and the distortion input through the input terminal A is the data input through the input terminal B. If it is smaller, the data Min representing 1 is output from the output terminal Y.
【0132】セレクタ4104は、入力端子S,A,B
および出力端子Yを有する。入力端子Sは、比較器41
03の出力端子Yに電気的に接続され、入力端子Aは、
フリップフロップ4105の出力端子Yに電気的に接続
され、入力端子Bは、比較器4101の出力端子Yに電
気的に接続される。出力端子Yは、フリップフロップ4
105の入力端子Aに電気的に接続される。The selector 4104 has input terminals S, A and B.
And an output terminal Y. The input terminal S is a comparator 41
03 is electrically connected to the output terminal Y, and the input terminal A is
The output terminal Y of the flip-flop 4105 is electrically connected, and the input terminal B is electrically connected to the output terminal Y of the comparator 4101. The output terminal Y is a flip-flop 4
It is electrically connected to the input terminal A of 105.
【0133】セレクタ4104は、比較器4103から
出力されたデータMinを入力端子Sを通して入力し、
入力されたデータMinに基づいて入力端子A,Bの何
れか一方の入力端子と出力端子Yを電気的に接続する切
換器であり、データMinが0のときには、入力端子A
と出力端子Yを電気的に接続し、データMinが1のと
きには、入力端子Bと出力端子Yを電気的に接続する。The selector 4104 inputs the data Min output from the comparator 4103 through the input terminal S,
A switching device that electrically connects one of the input terminals A and B to the output terminal Y based on the input data Min. When the data Min is 0, the input terminal A
And the output terminal Y are electrically connected, and when the data Min is 1, the input terminal B and the output terminal Y are electrically connected.
【0134】フリップフロップ4105は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、システム制御ユニット6000
の出力端子P2に電気的に接続され、入力端子Aは、セ
レクタ4104の出力端子Yに電気的に接続され、出力
端子Yは、セレクタ4104の入力端子A、論理和演算
器4102の入力端子Bおよびセレクタ付きフリップフ
ロップ4106の入力端子Iに電気的に接続される。The flip-flop 4105 is a D flip-flop and has input terminals S and A and an output terminal Y. The input terminal S is the system control unit 6000.
Of the selector 4104, the input terminal A is electrically connected to the output terminal Y of the selector 4104, and the output terminal Y is the input terminal A of the selector 4104 and the input terminal B of the logical sum operator 4102. And an input terminal I of the flip-flop with selector 4106.
【0135】フリップフロップ4105は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Sを通して入力し、入力されたパルス信号CK
2の各パルスの立ち上りに同期して入力端子Aを通して
入力されたデータを出力端子Yにラッチする。セレクタ
付きフリップフロップ4106は、図21に示されたセ
レクタ付きフリップフロップ4400によって構成され
る。ここで、図21に示すように、セレクタ付きフリッ
プフロップ4400は、入力端子E,F,Iおよび出力
端子Oを有し、さらに、セレクタ4401およびフリッ
プフロップ4402から構成される。入力端子Eは、シ
ステム制御ユニット6000の出力端子P2に電気的に
接続さ、入力端子Fは、システム制御ユニット6000
の出力端子P10に電気的に接続される。The flip-flop 4105 inputs the pulse signal CK2 output from the system control unit 6000 through the input terminal S, and inputs the pulse signal CK
The data input through the input terminal A is latched at the output terminal Y in synchronization with the rising edge of each pulse 2. The flip-flop with selector 4106 is configured by the flip-flop with selector 4400 shown in FIG. Here, as shown in FIG. 21, the flip-flop with selector 4400 has input terminals E, F, and I and an output terminal O, and is further composed of a selector 4401 and a flip-flop 4402. The input terminal E is electrically connected to the output terminal P2 of the system control unit 6000, and the input terminal F is the system control unit 6000.
Is electrically connected to the output terminal P10.
【0136】セレクタ4401は、入力端子S,A,B
および出力端子Yを有し、入力端子Sは、入力端子Eと
電気的に接続され、入力端子Aは、フリップフロップ4
402の出力端子Yと電気的に接続され、入力端子B
は、入力端子Iと電気的に接続される。セレクタ440
1は、入力端子Eおよび入力端子Sを通して入力された
パルス信号SMVに基づいて入力端子Aおよび入力端子
Bの何れか一方の入力端子と出力端子Yを電気的に接続
する切換器であり、入力端子Sを通して入力された信号
が0のときには、入力端子Aと出力端子Yとを電気的に
接続し、入力端子Sを通して入力された信号が1のとき
には、入力端子Bと出力端子Yとを電気的に接続する。The selector 4401 has input terminals S, A, B
And an output terminal Y, the input terminal S is electrically connected to the input terminal E, and the input terminal A is the flip-flop 4
402 is electrically connected to the output terminal Y of the input terminal 402 and is connected to the input terminal B
Are electrically connected to the input terminal I. Selector 440
Reference numeral 1 denotes a switching device that electrically connects either one of the input terminal A and the input terminal B to the output terminal Y based on the pulse signal SMV input through the input terminal E and the input terminal S. When the signal input through the terminal S is 0, the input terminal A and the output terminal Y are electrically connected, and when the signal input through the input terminal S is 1, the input terminal B and the output terminal Y are electrically connected. Connect to each other.
【0137】フリップフロップ4402は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、入力端子Fと電気的に接続さ
れ、入力端子Aは、セレクタ4401の出力端子Yに電
気的に接続され、出力端子Yは、出力端子Oと電気的に
接続されるとともに、セレクタ4401の入力端子Aに
電気的に接続される。Flip-flop 4402 is formed of a D flip-flop and has input terminals S and A and an output terminal Y. The input terminal S is electrically connected to the input terminal F, the input terminal A is electrically connected to the output terminal Y of the selector 4401, the output terminal Y is electrically connected to the output terminal O, and It is electrically connected to the input terminal A of the selector 4401.
【0138】フリップフロップ4402は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Fおよび入力端子Sを通して入力し、入力され
たパルス信号CK2の各パルスの立ち上りに同期して入
力端子Aに入力されたデータを出力端子Yにラッチす
る。セレクタ付きフリップフロップ4106の入力端子
Iは、フリップフロップ4105の出力端子Yに電気的
に接続される。セレクタ付きフリップフロップ4106
は、システム制御ユニット6000から出力された信号
SMVを入力端子Eを通して入力し、入力された信号S
MVに基づいてセレクタ4401の入力端子と出力端子
の接続を切換え、入力端子Iから選択的に入力したデー
タを出力端子Oを通して出力する。The flip-flop 4402 inputs the pulse signal CK2 output from the system control unit 6000 through the input terminal F and the input terminal S, and inputs it to the input terminal A in synchronization with the rising edge of each pulse of the input pulse signal CK2. The input data is latched in the output terminal Y. The input terminal I of the flip-flop with selector 4106 is electrically connected to the output terminal Y of the flip-flop 4105. Flip-flop with selector 4106
Inputs the signal SMV output from the system control unit 6000 through the input terminal E, and the input signal S
The connection between the input terminal and the output terminal of the selector 4401 is switched based on the MV, and the data selectively input from the input terminal I is output through the output terminal O.
【0139】すなわち、最小ディストーション検出ユニ
ット4100は、パルス信号CK2に同期してフリップ
フロップ4105にラッチされたデータを前回までの最
小ディストーションと呼び、比較器4101から出力さ
れたデータLMDisを今回の最小ディストーションと
呼ぶとすると、論理和演算器4102の入力端子Aを通
して入力された信号が0のとき、比較器4103により
入力端子Aを通して入力された今回の最小ディストーシ
ョンと入力端子Bを通して入力された前回までの最小デ
ィストーションとを比較して小さい方のディストーショ
ンをセレクタ4104を介してフリップフロップ410
5にラッチするものである。That is, the minimum distortion detection unit 4100 calls the data latched in the flip-flop 4105 in synchronization with the pulse signal CK2 the minimum distortion up to the previous time, and the data LMDis output from the comparator 4101 is the minimum distortion of this time. When the signal input through the input terminal A of the logical sum operator 4102 is 0, the minimum distortion of this time input through the input terminal A by the comparator 4103 and the previous minimum distortion input through the input terminal B. The smaller distortion is compared with the minimum distortion, and the smaller distortion is flipped through the selector 4104.
5 is to be latched.
【0140】また、論理和演算器4102の入力端子S
に入力された信号が1のときには、最小ディストーショ
ン検出処理の初期状態として最大値を表す全てのビット
が1であるデータが比較器4103に入力され、今回の
最小ディストーションと比較される。最後にフリップフ
ロップ4105にラッチされた最小ディストーション
は、セレクタ付きフリップフロップ4106により選択
的に入力されて最小ディストーションMinDisとし
て出力される。Further, the input terminal S of the logical sum operator 4102
When the signal input to 1 is 1, the data in which all the bits representing the maximum value are 1 are input to the comparator 4103 as the initial state of the minimum distortion detection processing, and are compared with the current minimum distortion. Finally, the minimum distortion latched in the flip-flop 4105 is selectively input by the flip-flop with a selector 4106 and output as the minimum distortion MinDis.
【0141】動きベクトル垂直成分検出ユニット420
0は、セレクタ4201、フリップフロップ4202、
換算テーブル4203およびセレクタ付きフリップフロ
ップ4204によって構成される。セレクタ4201
は、入力端子S,A,Bおよび出力端子Yを有する。入
力端子Sは、最小ディストーション検出ユニット410
0の比較器4103の出力端子Yに電気的に接続され、
入力端子Aは、フリップフロップ4202の出力端子o
に電気的に接続され、入力端子Bは、最小ディストーシ
ョン検出ユニット4100の比較器4101の出力端子
Mに電気的に接続される。出力端子Yは、フリップフロ
ップ4202の入力端子Aに電気的に接続される。Motion vector vertical component detection unit 420
0 is a selector 4201, a flip-flop 4202,
It is composed of a conversion table 4203 and a flip-flop 4204 with a selector. Selector 4201
Has input terminals S, A, B and an output terminal Y. The input terminal S is the minimum distortion detection unit 410
0 is electrically connected to the output terminal Y of the comparator 4103,
The input terminal A is the output terminal o of the flip-flop 4202.
The input terminal B is electrically connected to the output terminal M of the comparator 4101 of the minimum distortion detection unit 4100. The output terminal Y is electrically connected to the input terminal A of the flip-flop 4202.
【0142】セレクタ4201は、比較器4103から
出力されたデータMinを入力端子Sを通して入力し、
入力されたデータMinに基づいて入力端子A,Bの何
れか一方の入力端子と出力端子Yとを電気的に接続する
切換器であり、データMinが0のときには、入力端子
Aと出力端子Yを電気的に接続し、データMinが1の
ときには、入力端子Bと出力端子Yを電気的に接続す
る。The selector 4201 inputs the data Min output from the comparator 4103 through the input terminal S,
It is a switcher that electrically connects one of the input terminals A and B to the output terminal Y based on the input data Min. When the data Min is 0, the input terminal A and the output terminal Y are connected. Are electrically connected, and when the data Min is 1, the input terminal B and the output terminal Y are electrically connected.
【0143】フリップフロップ4202は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、システム制御ユニット6000
の出力端子P2に電気的に接続され、入力端子Aは、セ
レクタ4201の出力端子Yに電気的に接続され、出力
端子Yは、換算テーブル4203の入力端子Aおよびセ
レクタ4201の入力端子Aに電気的に接続される。Flip-flop 4202 is formed of a D flip-flop and has input terminals S and A and an output terminal Y. The input terminal S is the system control unit 6000.
Is electrically connected to the output terminal P2 of the selector 4201, and the input terminal A is electrically connected to the output terminal Y of the selector 4201. The output terminal Y is electrically connected to the input terminal A of the conversion table 4203 and the input terminal A of the selector 4201. Connected.
【0144】フリップフロップ4202は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Sを通して入力し、入力されたパルス信号CK
2の各パルスの立ち上りに同期して入力端子Aを通して
入力されたデータを出力端子Yにラッチする。換算テー
ブル4203は、入力端子Aおよび出力端子Yを有し、
入力端子Aは、フリップフロップ4202の出力端子Y
に電気的に接続され、出力端子Yは、セレクタ付きフリ
ップフロップ4204の入力端子Iに電気的に接続され
る。換算テーブル4203は、入力端子Aを通して入力
されたデータMyに基づいて動きベクトル垂直成分MV
yを表すデータを換算テーブルからルックアップして出
力端子Yに出力する。The flip-flop 4202 inputs the pulse signal CK2 output from the system control unit 6000 through the input terminal S and inputs the input pulse signal CK.
The data input through the input terminal A is latched at the output terminal Y in synchronization with the rising edge of each pulse 2. The conversion table 4203 has an input terminal A and an output terminal Y,
The input terminal A is the output terminal Y of the flip-flop 4202.
The output terminal Y is electrically connected to the input terminal I of the flip-flop with selector 4204. The conversion table 4203 calculates the motion vector vertical component MV based on the data My input through the input terminal A.
The data representing y is looked up from the conversion table and output to the output terminal Y.
【0145】セレクタ付きフリップフロップ4204
は、セレクタ付きフリップフロップ4400によって構
成される。入力端子Iは、換算テーブル4203の出力
端子Yに電気的に接続される。セレクタ付きフリップフ
ロップ4204は、システム制御ユニット6000から
出力された信号SMVを入力端子Eを通して入力し、入
力された信号SMVに基づいてセレクタ4401の入力
端子と出力端子の接続を切換え、入力端子Iから選択的
に入力された動きベクトル垂直成分MVyを出力端子O
から出力する。Flip-flop with selector 4204
Is composed of a flip-flop 4400 with a selector. The input terminal I is electrically connected to the output terminal Y of the conversion table 4203. The flip-flop with selector 4204 inputs the signal SMV output from the system control unit 6000 through the input terminal E, switches the connection between the input terminal and the output terminal of the selector 4401 based on the input signal SMV, and from the input terminal I Selectively input the motion vector vertical component MVy to the output terminal O
Output from
【0146】動きベクトル水平成分検出ユニット430
0は、さらに、カウンタ4301、セレクタ4302、
フリップフロップ4303、換算テーブル4304およ
びセレクタ付きフリップフロップ4305によって構成
される。カウンタ4301は、入力端子CL,CKおよ
び出力端子Qnを有する。入力端子CLは、システム制
御ユニット6000の出力端子P9に電気的に接続さ
れ、入力端子CKは、システム制御ユニット6000の
出力端子P2に電気的に接続され、出力端子Qnは、セ
レクタ4302の入力端子Bに電気的に接続される。Motion vector horizontal component detection unit 430
0 is a counter 4301, a selector 4302,
It is composed of a flip-flop 4303, a conversion table 4304, and a flip-flop 4305 with a selector. The counter 4301 has input terminals CL and CK and an output terminal Qn. The input terminal CL is electrically connected to the output terminal P9 of the system control unit 6000, the input terminal CK is electrically connected to the output terminal P2 of the system control unit 6000, and the output terminal Qn is the input terminal of the selector 4302. Electrically connected to B.
【0147】カウンタ4301は、入力端子CLを通し
て入力されたパルス信号LD2が1を表すときには、デ
ータCTxを0にリセットして出力端子Qnを通して出
力するとともに、入力端子CLを通して入力された信号
が0を表すときには、入力端子CKを通して入力された
パルス信号CK2のパルスの立上がりに同期してデータ
CTxを1ずつカウントアップして、出力端子Qnを通
して出力するものである。When the pulse signal LD2 input through the input terminal CL represents 1, the counter 4301 resets the data CTx to 0 and outputs it through the output terminal Qn, and the signal input through the input terminal CL outputs 0. In this case, the data CTx is incremented by 1 in synchronization with the rising edge of the pulse of the pulse signal CK2 input through the input terminal CK and is output through the output terminal Qn.
【0148】セレクタ4302は、入力端子S,A,B
および出力端子Yを有する。入力端子Sは、最小ディス
トーション検出ユニット4100の比較器4103の出
力端子Yに電気的に接続され、入力端子Aは、フリップ
フロップ4303の出力端子Yに電気的に接続され、入
力端子Bは、カウンタ4301の出力端子Qnに電気的
に接続される。出力端子Yは、フリップフロップ430
3の入力端子Aに電気的に接続される。The selector 4302 has input terminals S, A and B.
And an output terminal Y. The input terminal S is electrically connected to the output terminal Y of the comparator 4103 of the minimum distortion detection unit 4100, the input terminal A is electrically connected to the output terminal Y of the flip-flop 4303, and the input terminal B is a counter. It is electrically connected to the output terminal Qn of 4301. The output terminal Y is a flip-flop 430.
3 is electrically connected to the input terminal A.
【0149】セレクタ4302は、比較器4103から
出力されたデータMinを入力端子Sを通して入力し、
入力されたデータMinに基づいて入力端子A,Bの何
れか一方の入力端子と出力端子Yとを電気的に接続する
切換器であり、データMinが0のときには、入力端子
Aと出力端子Yを電気的に接続し、データMinが1の
ときには、入力端子Bと出力端子Yを電気的に接続す
る。The selector 4302 inputs the data Min output from the comparator 4103 through the input terminal S,
It is a switcher that electrically connects one of the input terminals A and B to the output terminal Y based on the input data Min. When the data Min is 0, the input terminal A and the output terminal Y are connected. Are electrically connected, and when the data Min is 1, the input terminal B and the output terminal Y are electrically connected.
【0150】フリップフロップ4303は、Dフリップ
フロップからなり、入力端子S,Aおよび出力端子Yを
有する。入力端子Sは、システム制御ユニット6000
の出力端子P2に電気的に接続され、入力端子Aは、セ
レクタ4302の出力端子Yに電気的に接続され、出力
端子Yは、換算テーブル4304の入力端子およびセレ
クタ4302の入力端子Aに電気的に接続される。Flip-flop 4303 is a D flip-flop and has input terminals S and A and an output terminal Y. The input terminal S is the system control unit 6000.
Is electrically connected to the output terminal P2 of the selector 4302, the input terminal A is electrically connected to the output terminal Y of the selector 4302, and the output terminal Y is electrically connected to the input terminal of the conversion table 4304 and the input terminal A of the selector 4302. Connected to.
【0151】フリップフロップ4303は、システム制
御ユニット6000から出力されたパルス信号CK2を
入力端子Sを通して入力し、入力されたパルス信号CK
2の各パルスの立ち上りに同期して入力端子Aに入力さ
れたデータを出力端子Yにラッチする。換算テーブル4
304は、入力端子Aおよび出力端子Yを有し、入力端
子Aは、フリップフロップ4303の出力端子Yに電気
的に接続され、出力端子Yは、セレクタ付きフリップフ
ロップ4305の入力端子Iに電気的に接続される。換
算テーブル4304は、入力端子Aに入力されたデータ
Mxに基づいて換算テーブルから動きベクトル水平成分
MVxを表すデータをルックアップして出力端子Yに出
力する。The flip-flop 4303 inputs the pulse signal CK2 output from the system control unit 6000 through the input terminal S and inputs the pulse signal CK
The data input to the input terminal A is latched to the output terminal Y in synchronization with the rise of each pulse of 2. Conversion table 4
304 has an input terminal A and an output terminal Y, the input terminal A is electrically connected to the output terminal Y of the flip-flop 4303, and the output terminal Y is electrically connected to the input terminal I of the flip-flop with selector 4305. Connected to. The conversion table 4304 looks up the data representing the motion vector horizontal component MVx from the conversion table based on the data Mx input to the input terminal A, and outputs it to the output terminal Y.
【0152】ここで、求める動きベクトルが左半分ディ
ストーションの場合には、入力されたデータMxに基づ
いて左半分サーチウィンドウに対応する換算テーブルよ
り水平成分動きベクトルMVxがルックアップされ、求
める動きベクトルが右半分ディストーションの場合に
は、入力されたデータMxに基づいて右半分サーチウィ
ンドウに対応する換算テーブルより水平成分動きベクト
ルMVxがルックアップされる。Here, when the motion vector to be obtained is the left half distortion, the horizontal component motion vector MVx is looked up from the conversion table corresponding to the left half search window based on the input data Mx, and the obtained motion vector is obtained. In the case of the right half distortion, the horizontal component motion vector MVx is looked up from the conversion table corresponding to the right half search window based on the input data Mx.
【0153】セレクタ付きフリップフロップ4305
は、セレクタ付きフリップフロップ4400によって構
成される。入力端子Iは、換算テーブル4305の出力
端子Yに電気的に接続される。セレクタ付きフリップフ
ロップ4305は、システム制御ユニット6000から
出力された信号SMVを入力端子Eを通して入力し、入
力された信号SMVに基づいてセレクタ4401の入力
端子と出力端子の接続を切換え、入力端子Iから選択的
に入力した動きベクトル水平成分MVxを出力端子Oか
ら出力する。Flip-flop with selector 4305
Is composed of a flip-flop 4400 with a selector. The input terminal I is electrically connected to the output terminal Y of the conversion table 4305. The flip-flop with selector 4305 inputs the signal SMV output from the system control unit 6000 through the input terminal E, switches the connection between the input terminal and the output terminal of the selector 4401 based on the input signal SMV, and from the input terminal I The selectively input motion vector horizontal component MVx is output from the output terminal O.
【0154】次に、作用を説明する。以下、本実施例1
の動きベクトル探索装置により動きベクトルを求める動
作を図8〜図14に示されたタイムチャートに基づいて
説明する。始めに、ウィンドウデータ転送ユニット30
00によりサーチウィンドウ401の画素データを転送
するとともに、プロセッサユニット3100によりディ
ストーションを算出する動作を図8および図9に示され
たタイムチャートに基づいて説明する。Next, the operation will be described. Hereinafter, this Example 1
The operation for obtaining a motion vector by the motion vector search device of FIG. 8 will be described based on the time charts shown in FIGS. First, the window data transfer unit 30
The operation of transferring the pixel data of the search window 401 by 00 and calculating the distortion by the processor unit 3100 will be described based on the time charts shown in FIGS. 8 and 9.
【0155】ウィンドウデータ転送ユニット3000に
おけるサーチウィンドウの画素データは、各プロセッサ
エレメントPEの転送方向切換ユニット3600および
各レジスタのそれぞれのセレクタ3610,3611,
3612,3613により選択されて、それぞれのフリ
ップフロップ3620,3621,3622,3623
に保持される。Pixel data of the search window in the window data transfer unit 3000 is stored in the transfer direction switching unit 3600 of each processor element PE and the selectors 3610 and 3611 of the respective registers.
3612, 3613 select the respective flip-flops 3620, 3621, 3622, 3623.
Is held.
【0156】図8および図9に示すように、パルス信号
SU,SLおよびSRは、それぞれクロックパルス信号
CK1の各パルスのダウンエッジに同期して変化するた
め、各セレクタ3610,3611,3612の接続が
選択された後、クロックパルス信号CK1の立ち上りに
同期してサーチウィンドウの画素データがそれぞれフリ
ップフロップ3620,3621,3623にラッチさ
れる。As shown in FIGS. 8 and 9, the pulse signals SU, SL and SR change in synchronization with the down edge of each pulse of the clock pulse signal CK1, and therefore the connection of each selector 3610, 3611, 3612. Is selected, the pixel data in the search window is latched by the flip-flops 3620, 3621, 3623 in synchronization with the rising edge of the clock pulse signal CK1.
【0157】例えば、図18に示された、入力レジスタ
IR(3,y)では、パルス信号SUはクロックパルス
信号CK1の3クロック目まで0であり、セレクタ36
12に入力端子Sを通して0が入力されるので、入力端
子Aと出力端子Yとが接続され、クロックパルス信号C
K1の各パルスに同期して入力端子Aを通して入力され
たサーチウィンドウの画素データがフリップフロップ3
622にラッチされる。For example, in the input register IR (3, y) shown in FIG. 18, the pulse signal SU is 0 until the third clock of the clock pulse signal CK1, and the selector 36
Since 0 is input to 12 through the input terminal S, the input terminal A and the output terminal Y are connected, and the clock pulse signal C
The pixel data of the search window input through the input terminal A in synchronization with each pulse of K1 is flip-flop 3
Latch 622.
【0158】次いで、クロックパルス信号CK1の4ク
ロック目が発せられる前にパルス信号SUが1となり、
セレクタ3612では、入力端子Sを通して1が入力さ
れるので、入力端子Bと出力端子Yとが接続され、クロ
ックパルス信号CK1の4クロック目に同期して、入力
端子Bを通して入力されたサーチウィンドウの画素デー
タがフリップフロップ3622にラッチされる。Next, the pulse signal SU becomes 1 before the fourth clock of the clock pulse signal CK1 is issued,
In the selector 3612, since 1 is input through the input terminal S, the input terminal B and the output terminal Y are connected, and the search window input through the input terminal B is synchronized with the fourth clock of the clock pulse signal CK1. The pixel data is latched in the flip-flop 3622.
【0159】また、フリップフロップ3622にラッチ
された画素データは、出力端子YDo,YUo,YLo
を介して隣接する他の入力レジスタIR、プロセッサエ
レメントPEまたは垂直サイドレジスタVSに出力され
る。同様に、図16に示された各プロセッサエレメント
PEの転送方向切換ユニット3600では、セレクタ3
610で選択された入力端子に入力された画素データが
クロックパルス信号CK1の各パルスに同期してフリッ
プフロップ3620にラッチされ、出力端子YDo、Y
Uo,YLo,YRoを介して隣接する他のプロセッサ
エレメントPE、垂直サイドレジスタVSまたは水平サ
イドレジスタHSに出力される。Further, the pixel data latched by the flip-flop 3622 is output to the output terminals YDo, YUo, YLo.
Is output to another adjacent input register IR, processor element PE or vertical side register VS via. Similarly, in the transfer direction switching unit 3600 of each processor element PE shown in FIG.
The pixel data input to the input terminal selected in 610 is latched by the flip-flop 3620 in synchronization with each pulse of the clock pulse signal CK1, and the output terminals YDo, Y
It is output to another processor element PE, a vertical side register VS, or a horizontal side register HS which is adjacent to the processor element PE via Uo, YLo, and YRo.
【0160】また、図17に示された各垂直サイドレジ
スタVSでは、セレクタ3611で選択された入力端子
に入力された画素データがクロックパルス信号CK1の
各パルスに同期してフリップフロップ3621にラッチ
され、出力端子YDo,YUo,YLo,YRoを介し
て隣接する他のプロセッサエレメントPE、垂直サイド
レジスタVSまたは水平サイドレジスタHSに出力され
る。In each vertical side register VS shown in FIG. 17, the pixel data input to the input terminal selected by the selector 3611 is latched by the flip-flop 3621 in synchronization with each pulse of the clock pulse signal CK1. , Output to the other processor element PE, the vertical side register VS, or the horizontal side register HS, which are adjacent to each other, via the output terminals YDo, YUo, YLo, and YRo.
【0161】さらに、図19に示された各水平サイドレ
ジスタHSでは、セレクタ3613で選択された入力端
子に入力された画素データがクロックパルス信号CK1
の各パルスに同期してフリップフロップ3623にラッ
チされ、出力端子YLo,YRoを介して隣接する他の
プロセッサエレメントPE、垂直サイドレジスタVSま
たは水平サイドレジスタHSに出力される。Further, in each horizontal side register HS shown in FIG. 19, the pixel data input to the input terminal selected by the selector 3613 is the clock pulse signal CK1.
Is latched by the flip-flop 3623 in synchronism with each pulse of and is output to another adjacent processor element PE, vertical side register VS or horizontal side register HS via the output terminals YLo and YRo.
【0162】よって、以下で説明する図22〜図33に
示されたウインドウデータ転送ユニット3000におけ
るサーチウィンドウの画素データは、各プロセッサエレ
メントPEのフリップフロップ3620、各垂直サイド
レジスタVSのフリップフロップ3621、各入力レジ
スタIRのフリップフロップ3622および各水平サイ
ドレジスタHSのフリップフロップ3623においてラ
ッチされた状態を示すものとする。Therefore, the pixel data of the search window in the window data transfer unit 3000 shown in FIGS. 22 to 33, which will be described below, includes the flip-flop 3620 of each processor element PE, the flip-flop 3621 of each vertical side register VS, The states latched in the flip-flop 3622 of each input register IR and the flip-flop 3623 of each horizontal side register HS are shown.
【0163】まず、図22に示すように、クロックパル
ス信号CK1の1クロック目に同期して、システム制御
ユニット6000により参照画像メモリ2000から読
み出された画素データb(0,2)が入力レジスタIR
(3,0)に入力される。次いで、図23に示すよう
に、クロックパルス信号CK1の2クロック目に同期し
て画素データb(0,2)が入力レジスタIR(3,
0)から一つ下側に位置する入力レジスタIR(3,
1)に転送される。同時に、画素データb(0,1)お
よび画素データb(0,4)がそれぞれ入力レジスタI
R(3,0)および入力レジスタIR(3,3)に入力
される。First, as shown in FIG. 22, the pixel data b (0,2) read from the reference image memory 2000 by the system control unit 6000 is synchronized with the first clock of the clock pulse signal CK1. IR
Input to (3, 0). Next, as shown in FIG. 23, the pixel data b (0,2) is input to the input register IR (3, in synchronization with the second clock of the clock pulse signal CK1.
Input register IR (3, which is located one lower than 0)
It is transferred to 1). At the same time, the pixel data b (0,1) and the pixel data b (0,4) are input register I respectively.
It is input to R (3,0) and the input register IR (3,3).
【0164】次いで、図24に示すように、クロックパ
ルス信号CK1の3クロック目に同期して各入力レジス
タIR(3,y)に保持された画素データがそれぞれ一
つ下側に位置する入力レジスタIR(3,y+1)に転
送される。同時に、画素データb(0,0)および画素
データb(0,3)がそれぞれ入力レジスタIR(3,
0)および入力レジスタIR(3,3)に入力される。Then, as shown in FIG. 24, the pixel data held in the respective input registers IR (3, y) in synchronization with the third clock of the clock pulse signal CK1 is located in the input register one below. Transferred to IR (3, y + 1). At the same time, pixel data b (0,0) and pixel data b (0,3) are input register IR (3,
0) and the input register IR (3,3).
【0165】次いで、図25に示すように、クロックパ
ルス信号CK1の4クロック目に同期して、各入力レジ
スタIRに保持された画素データは、それぞれ一つ左側
に位置する各プロセッサエレメントPEまたは各垂直サ
イドレジスタVSに転送される。同時に、画素データb
(1,0)および画素データb(1,3)がそれぞれ入
力レジスタIR(3,0)および入力レジスタIR
(3,3)に入力される。Next, as shown in FIG. 25, the pixel data held in each input register IR is synchronized with the fourth clock of the clock pulse signal CK1 and the pixel data held in each input register IR is positioned one to the left of each processor element PE or each processor element PE. It is transferred to the vertical side register VS. At the same time, pixel data b
(1,0) and pixel data b (1,3) are input register IR (3,0) and input register IR, respectively.
Input to (3, 3).
【0166】次いで、図26に示すように、クロックパ
ルス信号CK1の5クロック目および6クロック目にお
いては、各プロセッサエレメントPEおよび各レジスタ
に保持された画素データは、それぞれ順次一つ上側に位
置するプロセッサエレメントまたはレジスタに転送さ
れ、同時に、参照画像メモリ2000から読み出された
画素データがそれぞれ入力レジスタIR(3,0)およ
び入力レジスタIR(3,3)に入力される。Then, as shown in FIG. 26, at the 5th and 6th clocks of the clock pulse signal CK1, the pixel data held in each processor element PE and each register are sequentially located one upper side. The pixel data transferred to the processor element or the register and read from the reference image memory 2000 are simultaneously input to the input register IR (3,0) and the input register IR (3,3).
【0167】このように、各プロセッサエレメントPE
および各レジスタ間では、サーチウィンドウの画素デー
タがクロックパルス信号CK1に同期して左、下、下、
左、上、上方向に6クロック毎に順次転送され、この結
果、図27に示すように、クロックパルス信号CK1の
10クロック目に同期して各プロセッサエレメント PE(0,0),PE(0,1),PE(0,2) ,PE(1,0),PE(1,1),PE(1,2) ,PE(2,0),PE(2,1),PE(2,2) にそれぞれ画素データ b(0,0),b(0,1),b(0,2) ,b(1,0),b(1,1),b(1,2) ,b(2,0),b(2,1),b(2,2) が同時に入力され、ディストーション算出が開始され
る。また、以上の動作は、クロックパルス信号CK1の
18クロック目まで繰り返される。As described above, each processor element PE
And between each register, the pixel data of the search window is synchronized with the clock pulse signal CK1 to the left, bottom, bottom,
As shown in FIG. 27, the processor elements PE (0,0), PE (0 , 1), PE (0,2), PE (1,0), PE (1,1), PE (1,2), PE (2,0), PE (2,1), PE (2, 2) pixel data b (0,0), b (0,1), b (0,2), b (1,0), b (1,1), b (1,2), b ( 2,0), b (2,1), b (2,2) are input at the same time and the distortion calculation is started. The above operation is repeated until the 18th clock of the clock pulse signal CK1.
【0168】図9に示されたクロックパルス信号CK1
の10クロック目から18クロック目において、各プロ
セッサエレメントPE(x,y)では、以下の演算処理
が行われる。まず、クロックパルス信号CK1の10ク
ロック目に同期して、各プロセッサエレメントPE
(x,y)において、フリップフロップ3620にラッ
チされたそれぞれの画素データb(x,y)が減算器3
710に入力端子Aを通して入力されるとともに、現画
像ブロック201の画素データa(0,0)が、減算器
3710に入力端子Bを通して入力される。The clock pulse signal CK1 shown in FIG.
From the 10th clock to the 18th clock of, each processor element PE (x, y) performs the following arithmetic processing. First, each processor element PE is synchronized with the 10th clock of the clock pulse signal CK1.
At (x, y), each pixel data b (x, y) latched by the flip-flop 3620 is subtracted by the subtractor 3
The pixel data a (0,0) of the current image block 201 is input to the subtractor 3710 via the input terminal B while being input to the 710 via the input terminal A.
【0169】次いで、減算器3710により b(x,y)−a(0,0) が演算され、正数変換器3720により、 |b(x,y)−a(0,0)| 局所ディストーションが求められ、加算器3730に入
力端子Aを通して入力される。Next, the subtractor 3710 calculates b (x, y) -a (0,0), and the positive number converter 3720 calculates | b (x, y) -a (0,0) | local distortion. Is calculated and input to the adder 3730 through the input terminal A.
【0170】一方、反転器3720には、入力端子Sを
通してパルス信号CLが入力される。このパルス信号C
Lは、クロックパルス信号CK1の9クロック目のダウ
ンエッジに同期して1となるため、反転器3720の入
力端子Sには1が入力され、その結果、論理積演算器3
760の出力端子Yを通してデータ0が出力され、加算
器3730に入力端子Bを通して入力される。すなわ
ち、加算器3730では、入力端子Aを通して入力され
る局所ディストーションと入力端子Bを通して入力され
る0とが加算され、 |b(x,y)−a(0,0)| がフリップフロップ3740に出力される。On the other hand, the pulse signal CL is input to the inverter 3720 through the input terminal S. This pulse signal C
Since L becomes 1 in synchronization with the 9th clock down edge of the clock pulse signal CK1, 1 is input to the input terminal S of the inverter 3720, and as a result, the logical product operator 3
Data 0 is output through the output terminal Y of the 760 and input to the adder 3730 through the input terminal B. That is, in the adder 3730, the local distortion input through the input terminal A and 0 input through the input terminal B are added, and | b (x, y) -a (0,0) | is transferred to the flip-flop 3740. Is output.
【0171】次に、クロックパルス信号CK1の11ク
ロック目では、減算器3710に入力端子Aを通して画
素データb(x,y+1)が入力され、入力端子Bを通
して現画像ブロック201の画素データa(0,1)が
入力される。この結果、減算器3710により b(x,y+1)−a(0,1) が演算され、正数変換器3720により |b(x,y+1)−a(0,1)| に変換されて、加算器3730に入力端子Aを通して入
力される。Next, at the 11th clock of the clock pulse signal CK1, the pixel data b (x, y + 1) is input to the subtractor 3710 via the input terminal A, and the pixel data a (0 , 1) is input. As a result, the subtractor 3710 calculates b (x, y + 1) -a (0,1), and the positive number converter 3720 converts it into | b (x, y + 1) -a (0,1) | It is input to the adder 3730 through the input terminal A.
【0172】一方、反転器3720では、入力端子Sを
通して0が入力される。このため、フリップフロップ3
740にラッチされた前回のデータ |b(x,y)−a(0,0)| が論理積演算器3760の出力端子Yを通して出力さ
れ、加算器3730に入力端子Bを通して入力される。On the other hand, in the inverter 3720, 0 is input through the input terminal S. Therefore, the flip-flop 3
The previous data | b (x, y) -a (0,0) | latched in 740 is output through the output terminal Y of the AND operator 3760, and input to the adder 3730 through the input terminal B.
【0173】次いで、加算器3730では、入力端子A
を通して入力された今回のデータと入力端子Bを通して
入力される前回のデータとが加算され、 |b(x,y)−a(0,0)| +|b(x,y+1)−a(0,1)| がフリップフロップ3740に出力される。Next, in the adder 3730, the input terminal A
The current data input through the input terminal B and the previous data input through the input terminal B are added, and | b (x, y) -a (0,0) | + | b (x, y + 1) -a (0 , 1) | is output to the flip-flop 3740.
【0174】次に、クロックパルス信号の12クロック
目以降では、パルス信号CLが0なので11クロック目
と同様に、論理積演算器3760では、フリップフロッ
プ3740によりラッチされた前回のデータが入力端子
Bを通して入力され、加算器3730では、入力端子A
を通して入力された今回のデータと、入力端子Bを通し
て入力された前回のデータとが加算され、出力端子Yを
通して出力される。Next, since the pulse signal CL is 0 after the twelfth clock of the clock pulse signal, as in the eleventh clock, in the logical product operator 3760, the previous data latched by the flip-flop 3740 is input terminal B. Is input through the input terminal A of the adder 3730.
This time's data input via the input terminal B and the previous data input via the input terminal B are added and output via the output terminal Y.
【0175】すなわち、クロックパルス信号CK1の1
2クロック目から18クロック目においても同様の演算
処理が行われ、この結果、 |b(x,y)−a(0,0)| +|b(x,y+1)−a(0,1)| +|b(x,y+2)−a(0,2)| +|b(x+1,y+2)−a(1,2)| +|b(x+1,y+1)−a(1,1)| +|b(x+1,y)−a(1,0)| +|b(x+2,y)−a(2,0)| +|b(x+2,y+1)−a(2,1)| +|b(x+2,y+2)−a(2,2)| が算出されて、フリップフロップ3740に出力され
る。従って、現画像ブロック201に対応するディスト
ーションが算出されたことになる。That is, 1 of the clock pulse signal CK1
Similar calculation processing is performed from the second clock to the 18th clock, and as a result, | b (x, y) -a (0,0) | + | b (x, y + 1) -a (0,1) | + | B (x, y + 2) -a (0,2) | + | b (x + 1, y + 2) -a (1,2) | + | b (x + 1, y + 1) -a (1,1) | | B (x + 1, y) -a (1,0) | + | b (x + 2, y) -a (2,0) | + | b (x + 2, y + 1) -a (2,1) | + | b (X + 2, y + 2) -a (2,2) | is calculated and output to the flip-flop 3740. Therefore, the distortion corresponding to the current image block 201 is calculated.
【0176】ここで、プロセッサユニット3100によ
り算出された現画像ブロック211に対応するディスト
ーションを第1ディストーションと呼び、DR1(x,
y)で表すことにする。以下、同様に、現画像ブロック
201に対し水平走査方向に隣接する現画像ブロック2
02に対応するディストーションを第2ディストーショ
ンと呼び、左半分ディストーションをDL2(x,y)
で表し、右半分ディストーションをDR2(x,y)で
表すことにする。Here, the distortion corresponding to the current image block 211 calculated by the processor unit 3100 is called the first distortion, and DR1 (x,
y). Hereinafter, similarly, the current image block 2 which is adjacent to the current image block 201 in the horizontal scanning direction
The distortion corresponding to 02 is called the second distortion, and the left half distortion is DL2 (x, y).
, And the right half distortion is represented by DR2 (x, y).
【0177】次に、プロセッサユニット3100によっ
て算出されたディストーションを類似ブロック特定ユニ
ット4000に転送する動作について図9のタイムチャ
ートに基づいて説明する。まず、クロックパルス信号C
K1の18クロック目のダウンエッジに同期して、パル
ス信号LD1が1となるため、各プロセッサエレメント
PE(x,y)のセレクタ3810では、入力端子Sを
通して1が入力され、入力端子Bと出力端子Yとが接続
される。Next, the operation of transferring the distortion calculated by the processor unit 3100 to the similar block specifying unit 4000 will be described with reference to the time chart of FIG. First, the clock pulse signal C
Since the pulse signal LD1 becomes 1 in synchronization with the down edge of the 18th clock of K1, the selector 3810 of each processor element PE (x, y) receives 1 as input through the input terminal S and outputs as input terminal B and output. The terminal Y is connected.
【0178】次に、クロックパルス信号CK1の19ク
ロック目に同期して、各プロセッサエレメントPE
(x,y)のフリップフロップ3740では、それぞれ
加算器3730で算出されたDR1(x,y)がラッチ
されて出力端子Yを通して出力されセレクタ3810に
入力端子Bを通して入力される。次に、クロックパルス
信号CK1の19クロック目のダウンエッジに同期し
て、パルス信号LD1が0となるため、各プロセッサエ
レメントPE(x,y)のセレクタ3810では、入力
端子Sを通して0が入力され、入力端子Aと出力端子Y
とが接続される。また、以後29クロック目まで、LD
1は0なので、この接続状態が保持される。Next, in synchronization with the 19th clock of the clock pulse signal CK1, each processor element PE
In the (x, y) flip-flop 3740, DR1 (x, y) calculated by the adder 3730 is latched and output through the output terminal Y and input to the selector 3810 through the input terminal B. Next, since the pulse signal LD1 becomes 0 in synchronization with the 19th clock down edge of the clock pulse signal CK1, 0 is input through the input terminal S in the selector 3810 of each processor element PE (x, y). , Input terminal A and output terminal Y
Are connected. Also, until the 29th clock, LD
Since 1 is 0, this connection state is held.
【0179】次に、パルス信号CK1の20クロック目
では、パルス信号CK2に同期して、各プロセッサエレ
メントPE(x,y)のフリップフロップ3820で
は、DR1(x,y)がラッチされて出力端子Yを通し
て出力され、各プロセッサエレメントPE(x,y)の
出力端子Doを通して出力される。このとき、プロセッ
サエレメントPE(0,0)、プロセッサエレメントP
E(0,1)およびプロセッサエレメントPE(0,
3)からそれぞれ出力されたDR1(0,0)、DR1
(0,1)およびDR1(0,2)は、それぞれ類似ブ
ロック特定ユニット4000に転送される。Next, at the 20th clock of the pulse signal CK1, in synchronization with the pulse signal CK2, the flip-flop 3820 of each processor element PE (x, y) latches DR1 (x, y) and outputs it. It is output through Y, and is output through the output terminal Do of each processor element PE (x, y). At this time, the processor element PE (0,0) and the processor element P
E (0,1) and processor element PE (0,
3) output DR1 (0,0), DR1 respectively
(0,1) and DR1 (0,2) are transferred to the similar block identifying unit 4000, respectively.
【0180】また、他のプロセッサエレメント(x,
y)には、それぞれ隣のプロセッサエレメントPE(x
+1,y)から出力されたDR1(x+1,y)が転送
される。次に、パルス信号CK2の21クロック目で
は、各プロセッサエレメントPE(x,y)のフリップ
フロップ3820では、パルス信号CK2に同期して、
DR1(x+1,y)がラッチされて出力端子Yを通し
て出力され、各プロセッサエレメントPE(x,y)の
出力端子Doを通して出力される。In addition, other processor elements (x,
y), each adjacent processor element PE (x
DR1 (x + 1, y) output from (+1, y) is transferred. Next, at the 21st clock of the pulse signal CK2, the flip-flop 3820 of each processor element PE (x, y) synchronizes with the pulse signal CK2,
DR1 (x + 1, y) is latched, output through the output terminal Y, and output through the output terminal Do of each processor element PE (x, y).
【0181】このとき、プロセッサエレメントPE
(0,0)、プロセッサエレメントPE(0,1)およ
びプロセッサエレメントPE(0,3)では、それぞれ
DR1(1,0)、DR1(1,1)およびDR1
(1,2)が出力され、類似ブロック特定ユニット40
00に転送されるとともに、それぞれDR1(2,
0)、DR1(2,1)およびDR1(2,2)が入力
される。At this time, the processor element PE
(0,0), processor element PE (0,1) and processor element PE (0,3) have DR1 (1,0), DR1 (1,1) and DR1 respectively.
(1, 2) is output, and the similar block identification unit 40
00, and DR1 (2,2
0), DR1 (2,1) and DR1 (2,2) are input.
【0182】次に、パルス信号CK1の22クロック目
では、パルス信号CK2に同期して、プロセッサエレメ
ントPE(0,0)、プロセッサエレメントPE(0,
1)およびプロセッサエレメントPE(0,3)のフリ
ップフロップ3820では、それぞれDR1(2,
0)、DR1(2,1)およびDR1(2,2)がラッ
チされて出力端子Doを通して出力され、類似ブロック
特定ユニット4000に転送される。Next, at the 22nd clock of the pulse signal CK1, in synchronization with the pulse signal CK2, the processor element PE (0, 0) and the processor element PE (0,
1) and the flip-flop 3820 of the processor element PE (0, 3), respectively, DR1 (2,
0), DR1 (2,1) and DR1 (2,2) are latched, output through the output terminal Do, and transferred to the similar block specifying unit 4000.
【0183】すなわち、プロセッサユニット3100で
算出されたすべてのDR1(x,y)が類似ブロック特
定ユニット4000に転送されたことになる。なお、本
実施例1では、各プロセッサエレメントPEで算出され
たディストーションを、列毎に同行に位置するプロセッ
サエレメントPE間に順次転送することで各プロセッサ
エレメントPE(0,y)から類似ブロック特定ユニッ
ト4000に転送したが、ディストーションを転送する
方向は、行単位に同列のプロセッサエレメントに転送し
て類似ブロック特定ユニット4000に転送してもよ
い。That is, all DR1 (x, y) calculated by the processor unit 3100 have been transferred to the similar block specifying unit 4000. In the first embodiment, the distortion calculated by each processor element PE is sequentially transferred between the processor elements PE located in the same row for each column, so that each processor element PE (0, y) determines a similar block specifying unit. However, the distortion may be transferred row by row to the processor elements in the same column and transferred to the similar block specifying unit 4000.
【0184】次に、類似ブロック特定ユニット4000
によって最小ディストーションMinDisおよび動き
ベクトルMVを求める動作について図13に示されたタ
イムチャートに基づいて説明する。なお、図13におけ
るMyは動きベクトル垂直成分検出ユニット4200の
フリップフロップ4202にラッチされたデータを表
し、Mxは動きベクトル水平成分検出ユニット4300
のフリップフロップ4303にラッチされたデータを表
す。また、MVx,yは、それぞれ動きベクトルMVの
水平成分および垂直成分を表す。Next, the similar block specifying unit 4000
The operation for obtaining the minimum distortion MinDis and the motion vector MV will be described with reference to the time chart shown in FIG. Note that My in FIG. 13 represents the data latched in the flip-flop 4202 of the motion vector vertical component detection unit 4200, and Mx represents the motion vector horizontal component detection unit 4300.
Represents the data latched in the flip-flop 4303. Further, MVx, y represent the horizontal component and the vertical component of the motion vector MV, respectively.
【0185】まず、クロックパルス信号CK1の19ク
ロック目のダウンエッジに同期して、パルス信号LD2
が1となるため、最小ディストーション検出ユニット4
100において、論理和演算器4102に入力端子Aを
通して1が入力され、入力端子Bを通して入力されてい
るデータ、すなわち、フリップフロップ4105の出力
端子Yを通して出力され入力されているデータに拘ら
ず、すべてのビットが1であるデータがディストーショ
ンの最大値として出力端子Yを通して出力される。First, the pulse signal LD2 is synchronized with the down edge of the 19th clock of the clock pulse signal CK1.
Therefore, the minimum distortion detection unit 4
In 100, regardless of the data input to the logical sum operator 4102 through the input terminal A and input through the input terminal B, that is, the data output through the output terminal Y of the flip-flop 4105 and input, The data whose bit is 1 is output through the output terminal Y as the maximum distortion value.
【0186】また、動きベクトル水平成分検出ユニット
4300において、カウンタ4301に入力端子CLを
通して1が入力されることにより、カウンタ4301の
内部データCTxが0にリセットされる。次に、クロッ
クパルス信号CK1の20クロック目の最小ディストー
ション検出ユニット4100において、プロセッサユニ
ット3100で算出されたDR1(0,0),DR1
(0,1),DR1(0,2)が、パルス信号CK2に
同期して、比較器4101にそれぞれ入力端子A0,A
1,A2を通して入力される。In the motion vector horizontal component detection unit 4300, when 1 is input to the counter 4301 through the input terminal CL, the internal data CTx of the counter 4301 is reset to 0. Next, in the minimum distortion detection unit 4100 at the 20th clock of the clock pulse signal CK1, DR1 (0,0), DR1 calculated by the processor unit 3100.
(0, 1) and DR1 (0, 2) are synchronized with the pulse signal CK2, and input terminals A0 and A to the comparator 4101, respectively.
1 and A2.
【0187】次いで、比較器4101では、入力された
データが比較され、その中から最も小さいディストーシ
ョンが選択されて、出力端子Yを通して最小ディストー
ションLMDisが出力される。また、比較器4101
では、この最小ディストーションが入力された端子に対
応するデータLMVyが出力端子Mを通して出力され
る。ここで、最小フディストーションは、DR1(0,
0)であり、図13に示すように、LMVy=0が出力
される。Next, the comparator 4101 compares the input data, selects the smallest distortion from the data, and outputs the minimum distortion LMDis through the output terminal Y. In addition, the comparator 4101
Then, the data LMVy corresponding to the terminal to which the minimum distortion is input is output through the output terminal M. Here, the minimum distortion is DR1 (0,
0), and LMVy = 0 is output as shown in FIG.
【0188】次いで、論理和演算器4102からすべて
のビットが1のデータが最大値として出力されるている
ので、比較器4103では、入力端子Aを通して入力さ
れた最小ディストーションLMDis=DR1(0,
0)と入力端子Bを通して入力された最大値とが比較さ
れ、DR1(0,0)の方が小さいため、出力端子Yを
通してMin=1が出力される。Next, since the data having all the bits of 1 is output from the logical sum operator 4102 as the maximum value, the minimum distortion LMDis = DR1 (0, 0,
0) and the maximum value input through the input terminal B are compared, and since DR1 (0, 0) is smaller, Min = 1 is output through the output terminal Y.
【0189】次いで、セレクタ4104では、入力端子
Sを通して1が入力されるため、入力端子Bと出力端子
Yとが接続され、DR1(0,0)が出力端子Yを通し
てフリップフロップ4105に出力される。一方、クロ
ックパルス信号CK1の20クロック目の動きベクトル
垂直成分検出ユニット4200において、セレクタ42
01では、入力端子SにMin=1が入力されるため、
入力端子Bと出力端子Yとが接続され、LMVy=0が
出力端子Yを通してフリップフロップ4202に出力さ
れる。Next, in the selector 4104, since 1 is input through the input terminal S, the input terminal B and the output terminal Y are connected, and DR1 (0,0) is output to the flip-flop 4105 through the output terminal Y. . On the other hand, in the motion vector vertical component detection unit 4200 at the 20th clock of the clock pulse signal CK1, the selector 42
In 01, since Min = 1 is input to the input terminal S,
The input terminal B and the output terminal Y are connected, and LMVy = 0 is output to the flip-flop 4202 through the output terminal Y.
【0190】さらに、クロックパルス信号CK1の20
クロック目の動きベクトル水平成分検出ユニット430
0において、カウンタ4301では、パルス信号CK2
に同期して、入力端子CLに入力された前記パルス信号
LD2によってリセットされた内部データCTx=0が
出力端子Qnを通して出力される。次いで、セレクタ4
302では、入力端子SにMin=1が入力されるた
め、入力端子Bと出力端子Yとが接続され、CTx=0
が出力端子Yを通してフリップフロップ4302に出力
される。Further, the clock pulse signal CK1 is set to 20.
Clock vector motion vector horizontal component detection unit 430
0, the counter 4301 outputs the pulse signal CK2.
In synchronization with, the internal data CTx = 0 reset by the pulse signal LD2 input to the input terminal CL is output through the output terminal Qn. Then selector 4
In 302, since Min = 1 is input to the input terminal S, the input terminal B and the output terminal Y are connected and CTx = 0.
Is output to the flip-flop 4302 through the output terminal Y.
【0191】次に、クロックパルス信号CK2の21ク
ロック目の最小ディストーション検出ユニット4100
において、フリップフロップ4105では、パルス信号
CK2に同期して、セレクタ4104から出力されたD
R1(0,0)がラッチされ、出力端子Yを通してセレ
クタ付きフリップフロップ4180に出力される。ま
た、比較器4101では、パルス信号CK2に同期し
て、DR1(1,0),DR1(1,1),DR1
(1,2)が、それぞれ入力端子A0,A1,A2を通
して入力され、その結果、最小ディストーションLMD
is=DR1(1,2)が出力端子Yを通して出力され
るとともに、DR1(1,2)が入力された入力端子A
2を表わすLMVy=2が出力端子Mを通して出力され
る。Next, the minimum distortion detection unit 4100 at the 21st clock of the clock pulse signal CK2.
In the flip-flop 4105, the D output from the selector 4104 is synchronized with the pulse signal CK2.
R1 (0, 0) is latched and output to the flip-flop with selector 4180 through the output terminal Y. In the comparator 4101, DR1 (1,0), DR1 (1,1), DR1 are synchronized with the pulse signal CK2.
(1, 2) are input through the input terminals A0, A1, A2, respectively, and as a result, the minimum distortion LMD
Input terminal A to which is = DR1 (1,2) is output through the output terminal Y and DR1 (1,2) is input
LMVy = 2 representing 2 is output through the output terminal M.
【0192】また、論理和演算器4102では、入力端
子Sを通してパルス信号LD2=0が入力されているの
で、入力端子Bを通して入力されたデータ、すなわち、
フリップフロップ4105の出力端子Yから出力された
前回の最小ディストーションのDR1(0,0)が出力
端子Bを通して入力され出力端子Yを通して出力され
る。In the OR calculator 4102, since the pulse signal LD2 = 0 is input through the input terminal S, the data input through the input terminal B, that is,
The previous minimum distortion DR1 (0,0) output from the output terminal Y of the flip-flop 4105 is input through the output terminal B and output through the output terminal Y.
【0193】次いで、比較器4103では、入力端子A
を通して入力された今回の最小ディストーションLMD
is=DR1(1,2)と、入力端子Bを通して入力さ
れた前回の最小ディストーションのDR1(0,0)と
が比較され、DR1(0,0)の方が小さいと判断さ
れ、出力端子Yを通してMin=0が出力される。次い
で、セレクタ4104では、入力端子Sに0が入力され
るため、入力端子Aと出力端子Yとが接続され、DR1
(0,0)が出力端子Yを通してフリップフロップ41
05に出力される。Next, in the comparator 4103, the input terminal A
This minimum distortion LMD input through
is = DR1 (1,2) is compared with the previous minimum distortion DR1 (0,0) input through the input terminal B, and it is determined that DR1 (0,0) is smaller, and the output terminal Y Through, Min = 0 is output. Next, in the selector 4104, since 0 is input to the input terminal S, the input terminal A and the output terminal Y are connected, and DR1
(0,0) is output through the output terminal Y to the flip-flop 41
It is output to 05.
【0194】すなわち、第1列目および第2列目のプロ
セッサエレメントPEにおける最小ディストーションが
求められたことになる。一方、クロックパルス信号CK
1の21クロック目の動きベクトル垂直成分検出ユニッ
ト4200において、フリップフロップ4202では、
パルス信号CK2に同期して、セレクタ4201から出
力されたデータ0がラッチされ、出力端子Yを通してM
y=0として換算テーブル4203に出力される。That is, the minimum distortion in the processor elements PE in the first and second columns is obtained. On the other hand, the clock pulse signal CK
In the motion vector vertical component detection unit 4200 at the 21st clock of 1 in the flip-flop 4202,
The data 0 output from the selector 4201 is latched in synchronization with the pulse signal CK2, and M is output through the output terminal Y.
It is output to the conversion table 4203 with y = 0.
【0195】次いで、換算テーブル4203では、入力
端子Aを通して入力されたデータMy=0に基づいて動
きベクトル垂直成分MVyが換算テーブルからルックア
ップされ、出力端子Yを通してセレクタ付きフリップフ
ロップ4204に出力される。また、セレクタ4201
では、比較器4103から出力されたMin=0が入力
されるため、入力端子Aと出力端子Yとが接続され、フ
リップフロップ4202にラッチされた前回LMVy=
0が再度入力端子Aを通して入力され、出力端子Yを通
してフリップフロップ4202に出力される。Next, in the conversion table 4203, the motion vector vertical component MVy is looked up from the conversion table based on the data My = 0 input through the input terminal A, and is output to the flip-flop with selector 4204 through the output terminal Y. . In addition, the selector 4201
Then, since Min = 0 output from the comparator 4103 is input, the input terminal A and the output terminal Y are connected, and the previous LMVy = latched in the flip-flop 4202 =
0 is input again through the input terminal A and is output to the flip-flop 4202 through the output terminal Y.
【0196】さらに、クロックパルス信号CK1の21
クロック目の動きベクトル水平成分検出ユニット430
0において、フリップフロップ4302では、セレクタ
4302から出力されたデータ0がラッチされ、出力端
子Yを通してMx=0として換算テーブル4304に出
力される。次いで、換算テーブル4304では、入力端
子Aを通して入力されたデータMx=0に基づいて右半
分ディストーションに対応する動きベクトル水平成分M
Vxが換算テーブルからルックアップされ、出力端子Y
を通してセレクタ付きフリップフロップ4305に出力
される。Further, the clock pulse signal CK1 21
Clock vector motion vector horizontal component detection unit 430
At 0, the flip-flop 4302 latches the data 0 output from the selector 4302 and outputs it to the conversion table 4304 as Mx = 0 through the output terminal Y. Next, in the conversion table 4304, based on the data Mx = 0 input through the input terminal A, the motion vector horizontal component M corresponding to the right half distortion is generated.
Vx is looked up from the conversion table and output terminal Y
To the flip-flop with selector 4305.
【0197】また、カウンタ4301では、CK2のパ
ルス信号に同期して、カウントアップされた出力カウン
トCTxがカウント出力端子Qnを通してCTx=1と
して出力される。次いで、セレクタ4302では、比較
器4103から出力されたMin=0が入力端子Sを通
して入力されるため、入力端子Aと出力端子Yとが接続
され、前回値のCTx=0が再度入力端子Aを通して入
力され出力端子Yを通してフリップフロップ4302に
出力される。Further, in the counter 4301, the counted output count CTx is output as CTx = 1 through the count output terminal Qn in synchronization with the pulse signal of CK2. Next, in the selector 4302, since Min = 0 outputted from the comparator 4103 is inputted through the input terminal S, the input terminal A and the output terminal Y are connected, and the previous value CTx = 0 is again inputted through the input terminal A. It is input and output to the flip-flop 4302 through the output terminal Y.
【0198】次に、クロックパルス信号CK2の22ク
ロック目の最小ディストーション検出ユニット4100
において、フリップフロップ4105では、パルス信号
CK2に同期して、セレクタ4104から出力されたD
R1(0,0)がラッチされ、出力端子Yを通してセレ
クタ付きフリップフロップ4180に出力される。ま
た、比較器4101では、パルス信号CK2に同期し
て、DR1(2,0),DR1(2,1),DR1
(2,2)が、それぞれ入力端子A0,A1,A2を通
して入力され、その結果、最小ディストーションLMD
is=DR1(2,1)が出力端子Yを通して出力され
るとともに、DR1(2,1)が入力された入力端子A
2を表わすLMVy=1が出力端子Mを通して出力され
る。Next, the minimum distortion detection unit 4100 of the 22nd clock of the clock pulse signal CK2.
In the flip-flop 4105, the D output from the selector 4104 is synchronized with the pulse signal CK2.
R1 (0, 0) is latched and output to the flip-flop with selector 4180 through the output terminal Y. Further, in the comparator 4101, DR1 (2,0), DR1 (2,1), DR1 are synchronized with the pulse signal CK2.
(2, 2) is input through the input terminals A0, A1, A2, respectively, and as a result, the minimum distortion LMD
Input terminal A to which is = DR1 (2,1) is output through the output terminal Y and DR1 (2,1) is input
LMVy = 1 representing 2 is output through the output terminal M.
【0199】また、論理和演算器4102では、入力端
子Sを通してパルス信号LD2=0が入力されているの
で、入力端子Bを通して入力されたデータ、すなわち、
フリップフロップ4105の出力端子Yから出力された
前回の最小ディストーションDR1(0,0)が出力端
子Bを通して入力され出力端子Yを通して出力される。In the OR calculator 4102, since the pulse signal LD2 = 0 is input through the input terminal S, the data input through the input terminal B, that is,
The previous minimum distortion DR1 (0,0) output from the output terminal Y of the flip-flop 4105 is input through the output terminal B and output through the output terminal Y.
【0200】次いで、比較器4103では、入力端子A
を通して入力された今回の最小ディストーションLMD
is=DR1(2,1)と、入力端子Bを通して入力さ
れた前回の最小ディストーションのDR1(0,0)と
が比較され、DR1(2,1)の方が小さいと判断さ
れ、出力端子Yを通してMin=1が出力される。次い
で、セレクタ4104では、入力端子SにMin=1が
入力されるため、入力端子Bと出力端子Yとが接続さ
れ、DR1(2,1)が出力端子Yを通してフリップフ
ロップ4105に出力される。Next, in the comparator 4103, the input terminal A
This minimum distortion LMD input through
is = DR1 (2,1) is compared with the previous minimum distortion DR1 (0,0) input through the input terminal B, and it is determined that DR1 (2,1) is smaller, and the output terminal Y Through, Min = 1 is output. Next, in the selector 4104, since Min = 1 is input to the input terminal S, the input terminal B and the output terminal Y are connected, and DR1 (2,1) is output to the flip-flop 4105 through the output terminal Y.
【0201】すなわち、プロセッサユニット3100で
算出されたすべてのDR1(x,y)から最小ディスト
ーションD(2,1)が求められたことになる。一方、
クロックパルス信号CK1の22クロック目の動きベク
トル垂直成分検出ユニット4200において、フリップ
フロップ4202では、パルス信号CK2に同期して、
セレクタ4201から出力されたデータ0がラッチさ
れ、出力端子Yを通してMy=0として換算テーブル4
203に出力される。That is, the minimum distortion D (2,1) is obtained from all DR1 (x, y) calculated by the processor unit 3100. on the other hand,
In the motion vector vertical component detection unit 4200 of the 22nd clock of the clock pulse signal CK1, in the flip-flop 4202, in synchronization with the pulse signal CK2,
The data 0 output from the selector 4201 is latched, My = 0 is set through the output terminal Y, and conversion table 4
It is output to 203.
【0202】次いで、換算テーブル4203では、入力
端子Aを通して入力されたデータMy=0の基づいて動
きベクトルMVyが換算テーブルよりルックアップさ
れ、出力端子Yを通してセレクタ付きフリップフロップ
4204に出力される。また、セレクタ4201では、
比較器4103から出力されたMin=1が入力される
ため、入力端子Bと出力端子Yとが接続され、比較器4
101から出力された今回LMVy=1が入力端子Bを
通して入力され、出力端子Yを通してフリップフロップ
4202に出力される。Next, in the conversion table 4203, the motion vector MVy is looked up from the conversion table based on the data My = 0 input through the input terminal A, and is output to the flip-flop with selector 4204 through the output terminal Y. In the selector 4201,
Since Min = 1 output from the comparator 4103 is input, the input terminal B and the output terminal Y are connected, and the comparator 4
The current LMVy = 1 output from 101 is input through the input terminal B and output to the flip-flop 4202 through the output terminal Y.
【0203】さらに、クロックパルス信号CK1の22
クロック目の動きベクトル水平成分検出ユニット430
0において、フリップフロップ4302では、セレクタ
4302から出力されたデータ0がラッチされ、出力端
子Yを通してMx=0として換算テーブル4304に出
力される。次いで、換算テーブル4304では、入力端
子Aを通して入力されたデータMx=0に基づいて右半
分ディストーションに対応する動きベクトル水平成分M
Vxが換算テーブルからルックアップされ、出力端子Y
を通してセレクタ付きフリップフロップ4305に出力
される。Furthermore, 22 of the clock pulse signal CK1
Clock vector motion vector horizontal component detection unit 430
At 0, the flip-flop 4302 latches the data 0 output from the selector 4302 and outputs it to the conversion table 4304 as Mx = 0 through the output terminal Y. Next, in the conversion table 4304, based on the data Mx = 0 input through the input terminal A, the motion vector horizontal component M corresponding to the right half distortion is generated.
Vx is looked up from the conversion table and output terminal Y
To the flip-flop with selector 4305.
【0204】また、カウンタ4301では、パルス信号
CK2のパルス信号に同期して、カウントアップされた
データCTxがカウント出力端子Qnを通してCTx=
2として出力される。次いで、セレクタ4302では、
比較器4103から出力されたMin=1が入力端子S
を通して入力されるため、入力端子Bと出力端子Yとが
接続され、今回のCTx=2が入力端子Bを通して入力
され出力端子Yを通してフリップフロップ4302に出
力される。Further, in the counter 4301, the counted-up data CTx is synchronized with the pulse signal of the pulse signal CK2, and CTx = CTx = through the count output terminal Qn.
It is output as 2. Then, in the selector 4302,
Min = 1 output from the comparator 4103 is the input terminal S
Since this is input through the input terminal B and the output terminal Y, CTx = 2 of this time is input through the input terminal B and output to the flip-flop 4302 through the output terminal Y.
【0205】次に、クロックパルス信号CK2の23ク
ロック目の最小ディストーション検出ユニット4100
において、フリップフロップ4105では、パルス信号
CK2に同期して、セレクタ4104から出力されたD
R1(2,1)がラッチされ、出力端子Yを通してセレ
クタ付きフリップフロップ4180に出力される。一
方、クロックパルス信号CK1の23クロック目の動き
ベクトル垂直成分検出ユニット4200において、フリ
ップフロップ4202では、パルス信号CK2に同期し
て、セレクタ4201から出力されたデータ1がラッチ
され、出力端子Yを通してMy=1として換算テーブル
4203に出力される。Next, the minimum distortion detection unit 4100 at the 23rd clock of the clock pulse signal CK2.
In the flip-flop 4105, the D output from the selector 4104 is synchronized with the pulse signal CK2.
R1 (2,1) is latched and output to the flip-flop with selector 4180 through the output terminal Y. On the other hand, in the motion vector vertical component detection unit 4200 at the 23rd clock of the clock pulse signal CK1, the flip-flop 4202 latches the data 1 output from the selector 4201 in synchronization with the pulse signal CK2 and outputs My through the output terminal Y. = 1 is output to the conversion table 4203.
【0206】次いで、換算テーブル4203では、入力
端子Aを通して入力されたデータMy=1に基づいて動
きベクトルMVyが換算テーブルからルックアップさ
れ、出力端子Yを通してセレクタ付きフリップフロップ
4204に出力される。さらに、クロックパルス信号C
K1の23クロック目の動きベクトル水平成分検出ユニ
ット4300において、フリップフロップ4302で
は、セレクタ4302から出力されたデータ2がラッチ
され、出力端子Yを通してMx=2として換算テーブル
4304に出力される。Next, in the conversion table 4203, the motion vector MVy is looked up from the conversion table based on the data My = 1 input through the input terminal A, and is output to the flip-flop with selector 4204 through the output terminal Y. In addition, the clock pulse signal C
In the motion vector horizontal component detection unit 4300 at the 23rd clock of K1, the flip-flop 4302 latches the data 2 output from the selector 4302 and outputs it to the conversion table 4304 through the output terminal Y as Mx = 2.
【0207】次いで、換算テーブル4304では、入力
端子Aを通して入力されたデータMx=0に基づいて右
半分ディストーションに対応する動きベクトル水平成分
MVxが換算テーブルからルックアップされ、出力端子
Yを通してセレクタ付きフリップフロップ4305に出
力される。また、クロックパルス信号CK1の23クロ
ック目のダウンエッジに同期して、パルス信号SMVが
1となるため、最小ディストーション検出ユニット41
00、動きベクトル垂直成分検出ユニット4200およ
び動きベクトル水平成分検出ユニットのそれぞれセレク
タ付きフリップフロップ4106,4204,4305
では、それぞれ入力端子Eを介してセレクタ4401に
入力端子Sを通して1が入力され、セレクタ4401の
入力端子Bと出力端子Yが電気的に接続される。Next, in the conversion table 4304, the motion vector horizontal component MVx corresponding to the right half distortion is looked up from the conversion table based on the data Mx = 0 input through the input terminal A, and through the output terminal Y, the flip-flop with selector is selected. 4305 is output. Further, since the pulse signal SMV becomes 1 in synchronization with the down edge of the 23rd clock of the clock pulse signal CK1, the minimum distortion detection unit 41
00, motion vector vertical component detection unit 4200, and motion vector horizontal component detection unit, respectively, with flip-flops 4106, 4204, 4305 with selectors
Then, 1 is input to the selector 4401 through the input terminal S via the input terminal E, respectively, and the input terminal B and the output terminal Y of the selector 4401 are electrically connected.
【0208】次に、クロックパルス信号CK2の24ク
ロック目の最小ディストーション検出ユニット4100
において、パルス信号CK2に同期して、フリップフロ
ップ4105から出力された最小ディストーションDR
1(2,1)がセレクタ付きフリップフロップ4106
のフリップフロップ4402にラッチされ、出力端子O
を通して出力される。Next, the minimum distortion detection unit 4100 at the 24th clock of the clock pulse signal CK2.
, The minimum distortion DR output from the flip-flop 4105 is synchronized with the pulse signal CK2.
1 (2,1) is a flip-flop with selector 4106
Latched in the flip-flop 4402 of the output terminal O
Is output through.
【0209】一方、クロックパルス信号CK1の24ク
ロック目の動きベクトル垂直成分検出ユニット4200
においても、同様に、換算テーブル4203から出力さ
れた動きベクトル垂直成分MVy=0が出力端子Oを通
して出力される。さらに、クロックパルス信号CK1の
24クロック目の動きベクトル水平成分検出ユニット4
300において、同様に換算テーブル4305から出力
された動きベクトル水平成分MVx=2が出力端子Oを
通して出力される。On the other hand, the motion vector vertical component detection unit 4200 at the 24th clock of the clock pulse signal CK1
In the same manner, similarly, the motion vector vertical component MVy = 0 output from the conversion table 4203 is output through the output terminal O. Furthermore, the motion vector horizontal component detection unit 4 at the 24th clock of the clock pulse signal CK1
In 300, the motion vector horizontal component MVx = 2 similarly output from the conversion table 4305 is output through the output terminal O.
【0210】また、クロックパルス信号CK1の24ク
ロック目のダウンエッジに同期して、パルス信号SMV
が0となるため、最小ディストーション検出ユニット4
100、動きベクトル垂直成分検出ユニット4200お
よび動きベクトル水平成分検出ユニットのそれぞれセレ
クタ付きフリップフロップ4106,4204,430
5では、それぞれ入力端子Eを介してセレクタ4401
に入力端子Sを通して0が入力され、セレクタ4401
の入力端子Aと出力端子Yが電気的に接続される。The pulse signal SMV is synchronized with the 24th clock down edge of the clock pulse signal CK1.
Is 0, so the minimum distortion detection unit 4
100, motion vector vertical component detection unit 4200, and motion vector horizontal component detection unit, respectively, with flip-flops 4106, 4204, 430 with selectors
5, the selector 4401 is input via the input terminal E, respectively.
0 is input to the selector 4401 through the input terminal S.
The input terminal A and the output terminal Y are electrically connected.
【0211】このため、以降34クロック目まで、各セ
レクタ付きフリップフロップ4106,4204,43
05では、最小ディストーションDR1(2,1)、動
きベクトル垂直成分MVy=0および動きベクトル水平
成分MVx=2がそれぞれ繰り返し出力される。すなわ
ち、サーチウインドウ401内の全ての候補ブロック3
01と現画像ブロック211との間の最小ディストーシ
ョンMinDis(2,1)および動きベクトルMV
x,y=(2,0)が求められたことになる。Therefore, the flip-flops 4106, 4204, 43 with selectors are selected from the 34th clock onward.
In 05, the minimum distortion DR1 (2,1), the motion vector vertical component MVy = 0, and the motion vector horizontal component MVx = 2 are repeatedly output. That is, all candidate blocks 3 in the search window 401
01 and the current image block 211, the minimum distortion MinDis (2,1) and the motion vector MV.
x, y = (2,0) is obtained.
【0212】次に、第1ディストーションDR1(x,
y)算出時に、ウインドウデータ転送ユニット3000
の1列目のプロセッサエレメントPE(0,y)および
垂直サイドレジスタSR(0,y)から出力されたサー
チウィンドウ401の画素データを、それぞれ水平サイ
ドレジスタユニット5000の各水平サイドレジスタS
Rに保持する動作を図9に示されたタイムチャートに基
づいて説明する。Next, the first distortion DR1 (x,
y) At the time of calculation, the window data transfer unit 3000
The pixel data of the search window 401 output from the processor element PE (0, y) and the vertical side register SR (0, y) in the first column of the horizontal side register S of the horizontal side register unit 5000 are respectively received.
The operation of holding in R will be described based on the time chart shown in FIG.
【0213】まず、クロックパルス信号CK1の10ク
ロック目のダウンエッジに同期してパルス信号SHが1
となり、各水平サイドレジスタHSのセレクタ3614
では、入力端子S0を通して1が入力され、入力端子B
と出力端子Yとが電気的に接続される。次に、図28に
示すように、クロックパルス信号CK1の11クロック
目に同期して、各プロセッサエレメントPE(0,y)
および各垂直サイドレジスタVS(0,y)にそれぞれ
保持されている画素データb(0,0),b(0,
1),b(0,2),b(0,3)およびb(0,4)
は、それぞれ一つ左側に位置する隣の水平サイドレジス
タユニット5000の各水平サイドレジスタHS(−
1,y)のフリップフロップ3624にラッチされる。First, the pulse signal SH is set to 1 in synchronization with the 10th clock down edge of the clock pulse signal CK1.
And the selector 3614 of each horizontal side register HS
Then, 1 is input through the input terminal S0, and the input terminal B
And the output terminal Y are electrically connected. Next, as shown in FIG. 28, each processor element PE (0, y) is synchronized with the 11th clock of the clock pulse signal CK1.
And pixel data b (0,0) and b (0,0) held in the vertical side registers VS (0, y), respectively.
1), b (0,2), b (0,3) and b (0,4)
Are the horizontal side registers HS (-
1, y) is latched in the flip-flop 3624.
【0214】次に、クロックパルス信号CK1の12ク
ロック目から15クロック目まではパルス信号SHおよ
びSRともに0であり、各水平サイドレジスタのセレク
タ3613では、入力端子S0および入力端子S1に0
が入力され、入力端子Aと出力端子Yが電気的に接続さ
れる。このため、各水平サイドレジスタのフリップフロ
ップ3623の出力端子Yを通して出力された画素デー
タが、再び、同じ水平サイドレジスタHSのフリップフ
ロップ3624の入力端子Aを通して入力される。Next, from the 12th clock to the 15th clock of the clock pulse signal CK1, both the pulse signals SH and SR are 0, and in the selector 3613 of each horizontal side register, 0 is input to the input terminals S0 and S1.
Is input, and the input terminal A and the output terminal Y are electrically connected. Therefore, the pixel data output through the output terminal Y of the flip-flop 3623 of each horizontal side register is input again through the input terminal A of the flip-flop 3624 of the same horizontal side register HS.
【0215】次に、図29に示すように、クロックパル
ス信号CK1の16クロック目に同期して、各水平サイ
ドレジスタHS(−1,y)に保持された画素データ
は、それぞれ一つ左側の水平サイドレジスタHS(−
2,y)に転送され、同時に、プロセッサエレメントP
E(0,y)および垂直サイドレジスタ(0,y)に保
持された画素データが、それぞれ水平サイドレジスタH
S(−1,y)に転送される。Next, as shown in FIG. 29, in synchronization with the 16th clock of the clock pulse signal CK1, the pixel data held in each horizontal side register HS (-1, y) is one to the left. Horizontal side register HS (-
2, y) and at the same time processor element P
The pixel data held in E (0, y) and the vertical side register (0, y) are respectively stored in the horizontal side register H.
It is transferred to S (-1, y).
【0216】次に、図30に示すように、クロックパル
ス信号CK1の17クロック目に同期して、各水平サイ
ドレジスタHS(−2,y)に保持された画素データ
は、それぞれ一つ左側の水平サイドレジスタHS(−
3,y)に転送され、同時に、各水平サイドレジスタH
S(−1,y)に保持された画素データは、それぞれ一
つ左側の水平サイドレジスタHS(−2,y)に転送さ
れ、同時に、プロセッサエレメントPE(0,y)およ
び垂直サイドレジスタ(0,y)に保持された画素デー
タが、それぞれ水平サイドレジスタHS(−1,y)に
転送される。Next, as shown in FIG. 30, in synchronization with the 17th clock of the clock pulse signal CK1, the pixel data held in each horizontal side register HS (-2, y) is one to the left. Horizontal side register HS (-
3, y), and at the same time, each horizontal side register H
The pixel data held in S (-1, y) are transferred to the left side horizontal register HS (-2, y), respectively, and at the same time, the processor element PE (0, y) and the vertical side register (0) are simultaneously transferred. , Y) are respectively transferred to the horizontal side registers HS (-1, y).
【0217】これにより、M=3列分のサーチウィンド
ウ401の画素データが水平サイドレジスタユニット5
000に保持されたことになる。次に、水平サイドレジ
スタユニット5000に保持されたサーチウィンドウ4
01の画素データを再びウィンドウデータ転送ユニット
に戻す動作を図9のタイムチャートに基づいて説明す
る。As a result, the pixel data in the search window 401 for M = 3 columns is stored in the horizontal side register unit 5.
It has been held at 000. Next, the search window 4 held in the horizontal side register unit 5000
The operation of returning the pixel data of 01 to the window data transfer unit again will be described based on the time chart of FIG.
【0218】クロックパルス信号CK1の18クロック
目のダウンエッジに同期してパルス信号SRが1とな
る。次いで、クロックパルス信号CK1の19クロック
目から21クロック目において、各水平サイドレジスタ
HSに保持されている画素データはそれぞれ、クロック
パルス信号CK1のそれぞれのパルスに同期して、一つ
右側に位置する水平サイドレジスタHS、プロセッサエ
レメントPEまたは垂直サイドレジスタVSに順次転送
される。The pulse signal SR becomes 1 in synchronization with the 18th clock down edge of the clock pulse signal CK1. Then, from the 19th clock to the 21st clock of the clock pulse signal CK1, the pixel data held in each horizontal side register HS is located one right side in synchronization with each pulse of the clock pulse signal CK1. The data is sequentially transferred to the horizontal side register HS, the processor element PE or the vertical side register VS.
【0219】詳しく説明すると、まず、クロックパルス
信号CK1の18クロック目のダウンエッジに同期して
パルス信号SRが1となるため、各プロセッサエレメン
トPE(x,y)では、それぞれセレクタ3610に入
力端子S2を通して1が入力され、セレクタ3610の
入力端子Dと出力端子Yとが電気的に接続される。ま
た、各垂直サイドレジスタVS(x,y)においても、
それぞれセレクタ3611に入力端子S2を通して1が
入力され、セレクタ3611の入力端子Dと出力端子Y
とが電気的に接続される。各水平サイドレジスタVS
(x,y)においては、それぞれセレクタ3613に入
力端子S1を通して1が入力され、セレクタ3613の
入力端子Cと出力端子Yが電気的に接続される。More specifically, first, since the pulse signal SR becomes 1 in synchronization with the 18th clock down edge of the clock pulse signal CK1, each processor element PE (x, y) has an input terminal to the selector 3610. 1 is input through S2, and the input terminal D and output terminal Y of the selector 3610 are electrically connected. Also, in each vertical side register VS (x, y),
1 is input to the selector 3611 through the input terminal S2, and the input terminal D and output terminal Y of the selector 3611 are input.
And are electrically connected. Each horizontal side register VS
In (x, y), 1 is input to the selector 3613 through the input terminal S1, and the input terminal C and the output terminal Y of the selector 3613 are electrically connected.
【0220】次に、図31に示すように、クロックパル
ス信号CK1の19クロック目に同期して、各プロセッ
サエレメントPE、各垂直サイドレジスタVSおよび各
水平サイドレジスタHSに保持されたサーチウィンドウ
401の画素データは、それぞれ一つ右側の水平サイド
レジスタHS、プロセッサエレメントPEまたは各垂直
サイドレジスタVSに転送される。Next, as shown in FIG. 31, the search window 401 held in each processor element PE, each vertical side register VS and each horizontal side register HS is synchronized with the 19th clock of the clock pulse signal CK1. The pixel data are transferred to the right side horizontal register HS, the processor element PE, or each vertical side register VS, respectively.
【0221】次いで、図32および図34に示すよう
に、クロックパルス信号CK1の20クロック目および
21クロック目に同期して、サーチウィンドウ401の
画素データは、それぞれ一つ右側のプロセッサエレメン
トPE、垂直サイドレジスタVSおよび水平サイドレジ
スタHSに順次転送され、各プロセッサエレメントPE
および各垂直サイドレジスタでは、第1ディストーショ
ン算出開始時と同じサーチウィンドウ401の画素デー
タが保持される。Next, as shown in FIGS. 32 and 34, in synchronization with the 20th clock and the 21st clock of the clock pulse signal CK1, the pixel data of the search window 401 are respectively one processor element PE on the right side and the vertical. It is sequentially transferred to the side register VS and the horizontal side register HS, and each processor element PE
And each vertical side register holds the same pixel data of the search window 401 as when the first distortion calculation was started.
【0222】次に、本実施例1の動きベクトル探索装置
においてパイプライン処理により動きベクトルMVを求
める動作を図10〜図14に示されたタイムチャートに
基づいて説明する。図10に示すように、クロックパル
ス信号CK1の21クロック目から29クロック目で
は、水平サイドレジスタユニット5000から戻された
サーチウィンドウ401の画素データにより、図6に示
された現画像ブロック212に対応する第2左半分ディ
ストーションが第1右半分ディストーションと同様にプ
ロセッサユニット3100で算出される。Next, the operation of obtaining the motion vector MV by the pipeline processing in the motion vector search device of the first embodiment will be described based on the time charts shown in FIGS. As shown in FIG. 10, from the 21st clock to the 29th clock of the clock pulse signal CK1, the pixel data of the search window 401 returned from the horizontal side register unit 5000 corresponds to the current image block 212 shown in FIG. The second left half distortion is calculated by the processor unit 3100 in the same manner as the first right half distortion.
【0223】ここで、サーチウィンドウ401の4列目
以降の画素データは、参照画像メモリ2000から再度
読み出され、入力レジスタユニット3400に供給され
る。次いで、プロセッサエユニット3100により算出
された第2左半分ディストーションDL2(x,y)
は、類似ブロック特定ユニット4000に転送される。Here, the pixel data of the fourth and subsequent columns of the search window 401 are read out again from the reference image memory 2000 and supplied to the input register unit 3400. Then, the second left half distortion DL2 (x, y) calculated by the processor unit 3100.
Is transferred to the similar block identifying unit 4000.
【0224】次いで、図14に示すように、クロックパ
ルス信号CK1の31クロック目から類似ブロック特定
ユニット4000により最小ディストーションMinD
is=DL2(1,0)および動きベクトルMVx,y
=(−2,−1)が求められ、35クロック目に出力さ
れる。なお、ここで求められた動きベクトルMVは、現
画像ブロック212に対応する左半分サーチウィンドウ
に対応する動きベクトルであるため、換算テーブル43
04により左半分の探索範囲に対応するMVxに換算さ
れている。Next, as shown in FIG. 14, from the 31st clock of the clock pulse signal CK1, the minimum distortion MinD is set by the similar block specifying unit 4000.
is = DL2 (1,0) and motion vector MVx, y
= (-2, -1) is obtained and output at the 35th clock. Since the motion vector MV obtained here is a motion vector corresponding to the left half search window corresponding to the current image block 212, the conversion table 43
It is converted into MVx corresponding to the search range of the left half by 04.
【0225】また、図11に示すように、クロックパル
ス信号CK1の30クロック目から38クロック目で
は、図6に示されたサーチウィンドウ401に対してM
画素分水平走査側にシフトしたサーチウィンドウ402
と現画像ブロック212との第2右半分ディストーショ
ンDR2(x,y)が算出されるとともに、サーチウィ
ンドウ402の一部の画素データが水平サイドレジスタ
ユニット5000に保持される。Further, as shown in FIG. 11, from the 30th clock to the 38th clock of the clock pulse signal CK1, M is compared with the search window 401 shown in FIG.
Search window 402 shifted horizontally by the number of pixels
A second right half distortion DR2 (x, y) of the current image block 212 and the current image block 212 is calculated, and part of the pixel data of the search window 402 is held in the horizontal side register unit 5000.
【0226】このとき、サーチウィンドウ402の画素
データは、各プロセッサエレメントPE間において、全
体として下、左、上、左、上方向に順次転送されるの
で、水平サイドレジスタユニット5000には(M−
1)=2列分の画素データを保持すればよい。次いで、
各水平サイドレジスタHSに保持された2列分の画素デ
ータ、並びに、1列目のプロセッサエレメントPE
(0,y)および垂直サイドレジスタVS(0,y)保
持された画素データが、それぞれ右方向に2回転送さ
れ、戻されたサーチウィンドウ402の画素データと現
画像ブロック213の画素データに基づいて第3右半分
ディストーションの算出が開始される。At this time, since the pixel data in the search window 402 is sequentially transferred in the downward, left, upward, left, and upward directions among the respective processor elements PE, the horizontal side register unit 5000 receives (M-
1) = 2 columns of pixel data may be held. Then
Pixel data for two columns held in each horizontal side register HS and the processor element PE in the first column
The pixel data held in (0, y) and the vertical side register VS (0, y) are respectively transferred to the right twice, and based on the returned pixel data of the search window 402 and the pixel data of the current image block 213. Then, the calculation of the third right half distortion is started.
【0227】すなわち、21クロック目から38クロッ
ク目までの19クロックにおいては、まず、第1右半分
ディストーション算出に使用された右半分サーチウィン
ドウ401が現画像ブロック212に対応する左半分サ
ーチウィンドウ401として第2左半分ディストーショ
ンが算出され、次いで、連続して現画像ブロック212
に対応する右半分のサーチウィンドウ402から第2右
半分ディストーションが算出されるとともに、右半分サ
ーチウィンドウ402の画素データのうち(M−1)列
分の画素データが水平サイドレジスタユニット5000
に保持され、次いで、各水平レジスタHS、並びに、1
列目のプロセッサエレメントPE(0,y)および垂直
サイドレジスタVS(0,y)にそれぞれ保持された画
素データがディストーション算出開始位置に戻される。That is, in the 19th clock from the 21st clock to the 38th clock, first, the right half search window 401 used for the first right half distortion calculation becomes the left half search window 401 corresponding to the current image block 212. The second left half distortion is calculated, and then the current image block 212
The second right half distortion is calculated from the right half search window 402 corresponding to, and pixel data of (M−1) columns of the pixel data of the right half search window 402 is the horizontal side register unit 5000.
, And then each horizontal register HS, as well as 1
The pixel data held in the processor element PE (0, y) in the column and the vertical side register VS (0, y) are returned to the distortion calculation start position.
【0228】次いで、図34に示すように、クロックパ
ルス信号CK1の39クロック目以降は、この19クロ
ックを1サイクルとし、水平走査方向に隣接した現画像
ブロックに対応するディストーションがそれぞれ左半分
および右半分のサーチウィンドウから順次算出されると
ともに、類似ブロック特定ユニット4000において
も、プロセッサユニット3100により算出されたそれ
ぞれのディストーションが転送され、順次最小ディスト
ーションMinDisおよび動きベクトルMVが求めら
れ、パイプライン処理が実現されている。Next, as shown in FIG. 34, after the 39th clock of the clock pulse signal CK1, the 19th clock is set as one cycle, and the distortions corresponding to the current image block adjacent in the horizontal scanning direction are left half and right respectively. The distortion is sequentially calculated from the half search window, and also in the similar block specifying unit 4000, the respective distortions calculated by the processor unit 3100 are transferred, and the minimum distortion MinDis and the motion vector MV are sequentially calculated, and the pipeline processing is realized. Has been done.
【0229】なお、本実施例1では、水平サイドレジス
タユニット5000に保持された画素データ、並びに、
1列目のプロセッサエレメントPE(x,y)および水
平サイドレジスタHSに保持された画素データを、その
まま右方向に転送してから次回のディストーションを算
出していたが、この次回のディストーションは、前回の
ディストーション算出時と、反対の順序に転送すること
で算出することもできる。ただし、現画像ブロックの画
素データも同様に、反対の順序でプロセッサユニット3
100に供給する必要がある。この処理は、戻し処理の
ロスを解消することができ、例えば、探索範囲を3倍に
広げる場合に有効である。In the first embodiment, the pixel data held in the horizontal side register unit 5000, and
The pixel data held in the processor element PE (x, y) in the first column and the horizontal side register HS was transferred to the right as it is, and the next distortion was calculated. It can also be calculated by transferring in the reverse order of the distortion calculation. However, the same applies to the pixel data of the current image block in the opposite order.
Need to supply 100. This process can eliminate the loss of the return process, and is effective, for example, when the search range is tripled.
【0230】すなわち、図6に示すように、まず、サー
チウィンドウ401と現画像ブロック211とからディ
ストーションを算出する。次に、サーチウィンドウ40
2と現画像ブロック211とからディストーションを算
出し、次いで、サーチウィンドウ402の画素データを
戻しながら現画像212に対応するディストーションを
算出し、次いで、サーチウィンドウ402と現画像ブロ
ック213とのディストーション算出する。That is, as shown in FIG. 6, first, the distortion is calculated from the search window 401 and the current image block 211. Next, search window 40
2 and the current image block 211, the distortion corresponding to the current image 212 is calculated while returning the pixel data of the search window 402, and then the distortion between the search window 402 and the current image block 213 is calculated. .
【0231】次に、サーチウィンドウ403と現画像ブ
ロック212とからディストーションを算出し、次い
で、サーチウィンドウ403の画素データを戻しながら
現画像213に対応するディストーションを算出し、次
いで、サーチウィンドウ403と現画像ブロック214
とのディストーション算出し、以下、順次同様に処理が
行われる。Next, the distortion is calculated from the search window 403 and the current image block 212, then the distortion corresponding to the current image 213 is calculated while returning the pixel data of the search window 403, and then the search window 403 and the current image 213 are calculated. Image block 214
And the distortion is calculated, and thereafter, the same processing is sequentially performed.
【0232】また、類似ブロック特定ユニット4000
においては、プロセッサユニット3100により算出さ
れたディストーションが転送され、順次最小ディストー
ションMinDisおよび動きベクトルMVが求められ
ることはいうまでもない。このように本実施例1の動き
ベクトル探索装置によれば、同じサーチウィンドウの画
素データを共有する複数の現画像ブロックに対して、サ
ーチウィンドウの画素データと一つの現画像ブロックの
画素データとによりディストーションを算出し、このと
きサーチウィンドウ転送ユニット3000から排出され
たサーチウィンドウの画素データを水平サイドレジスタ
ユニット5000に保持し、保持されたサーチウィンド
ウの画素データを再度サーチウィンドウ転送ユニット3
000に戻して異なる現画像ブロックに対応するディス
トーションを算出することができるので、参照画像メモ
リ2000にサーチウィンドウの画素データをアクセス
するデータ量を少なくすることができ、相対的にサーチ
ウィンドウの画素データのアクセス時間を短縮すること
ができる。従って、動きベクトル探索処理を高速化する
ことができる。Also, the similar block specifying unit 4000
It goes without saying that the distortion calculated by the processor unit 3100 is transferred, and the minimum distortion MinDis and the motion vector MV are sequentially obtained. As described above, according to the motion vector search device of the first embodiment, the pixel data of the search window and the pixel data of one current image block are used for a plurality of current image blocks sharing the same pixel data of the search window. Distortion is calculated, the pixel data of the search window discharged from the search window transfer unit 3000 at this time is held in the horizontal side register unit 5000, and the held pixel data of the search window is again searched for by the search window transfer unit 3.
Since the distortion corresponding to the different current image block can be calculated by returning to 000, the amount of data for accessing the pixel data of the search window to the reference image memory 2000 can be reduced, and the pixel data of the search window can be relatively obtained. Access time can be shortened. Therefore, the motion vector search process can be speeded up.
【0233】(実施例2)図35は、本発明に係る実施
例2の動きベクトル探索装置を示す図である。本実施例
2では、本発明の特徴部分を具体的に説明する。図35
に示すように、実施例2の動きベクトル探索装置は、実
施例1の動きベクトル装置の現画像メモリ1000とウ
ィンドウデータ転送ユニット3000との間に現画像キ
ャッシュメモリ1001を設けるとともに、参照画像メ
モリ2000とウィンドウデータ転送ユニット3000
との間に参照画像キャッシュメモリ2002を設けたも
のである。(Second Embodiment) FIG. 35 is a diagram showing a motion vector search device according to a second embodiment of the present invention. In the second embodiment, the characteristic part of the present invention will be specifically described. FIG.
As shown in FIG. 7, the motion vector search device of the second embodiment includes the current image cache memory 1001 between the current image memory 1000 and the window data transfer unit 3000 of the motion vector device of the first embodiment, and the reference image memory 2000. And window data transfer unit 3000
A reference image cache memory 2002 is provided between and.
【0234】現画像キャッシュメモリ1001は、揮発
性メモリによって構成され、システム制御ユニット60
00により、現画像メモリ1000から読み出された現
画像ブロックの画素データを記憶するとともに、記憶し
た画素データをプロセッサユニット3100に出力す
る。また、現画像キャッシュメモリ1001からウィン
ドウ転送ユニット3000のプロセッサユニット310
0への画素データの転送は、現画像メモリ1000から
現画像キャッシュメモリ1001への画素データの転送
より高速に行われる。The current image cache memory 1001 is composed of a volatile memory and has a system control unit 60.
00, the pixel data of the current image block read from the current image memory 1000 is stored, and the stored pixel data is output to the processor unit 3100. In addition, from the current image cache memory 1001 to the processor unit 310 of the window transfer unit 3000.
The transfer of pixel data to 0 is faster than the transfer of pixel data from the current image memory 1000 to the current image cache memory 1001.
【0235】参照画像キャッシュメモリ2001は、揮
発性メモリによって構成され、システム制御ユニット6
000により、参照画像メモリ2000から読み出され
たサーチウィンドウの画素データを記憶するとともに、
記憶した画素データを入力レジスタユニット3400に
出力する。また、参照画像キャッシュメモリ1001か
らウィンドウ転送ユニット3000の入力レジスタユニ
ット3400への画素データの転送は、参照画像メモリ
2000から現画像キャッシュメモリ2001への画素
データの転送速度より高速に行われる。The reference image cache memory 2001 is composed of a volatile memory, and has the system control unit 6
000 stores pixel data of the search window read from the reference image memory 2000, and
The stored pixel data is output to the input register unit 3400. Further, the transfer of pixel data from the reference image cache memory 1001 to the input register unit 3400 of the window transfer unit 3000 is performed at a higher speed than the transfer speed of pixel data from the reference image memory 2000 to the current image cache memory 2001.
【0236】このため、予め現画像メモリ1000およ
び参照画像メモリ2000からそれぞれ画素データを読
み出してそれぞれ現画像キャッシュメモリ1001およ
び参照画像キャッシュメモリ2001に記憶しておき、
ディストーション算出時には、それぞれキャッシュメモ
リ1001および2001から画素データを読み出して
プロセッサユニット3100に供給することで、より高
速にプロセッサユニット3100に現画像ブロックの画
素データを供給することができる。従って、より高速な
ディストーション算出処理を行うことができる。Therefore, pixel data are read from the current image memory 1000 and the reference image memory 2000 in advance and stored in the current image cache memory 1001 and the reference image cache memory 2001, respectively.
When calculating the distortion, the pixel data of the current image block can be supplied to the processor unit 3100 at a higher speed by reading the pixel data from the cache memories 1001 and 2001 and supplying the pixel data to the processor unit 3100. Therefore, a faster distortion calculation process can be performed.
【0237】また、実施例1で述べたように、現画像ブ
ロックおよび一部のサーチウィンドウの画素データは、
それぞれウィンドウデータ転送ユニット3000に2回
供給される。これに対し、本実施例2では、現画像メモ
リ1000および参照画像メモリ2000からそれぞれ
の画素データを読み出す回数はそれぞれ1回でよい。こ
のため、現画像メモリ1000および参照画像メモリ2
000は、高速のメモリで構成する必要がないので、安
価なメモリで構成することができる。従って、メモリの
コストを削減することができる。As described in the first embodiment, the pixel data of the current image block and some search windows are
Each is supplied to the window data transfer unit 3000 twice. On the other hand, in the second embodiment, each pixel data may be read from the current image memory 1000 and the reference image memory 2000 only once. Therefore, the current image memory 1000 and the reference image memory 2
Since 000 does not need to be configured with a high-speed memory, it can be configured with an inexpensive memory. Therefore, the cost of the memory can be reduced.
【0238】一般に、サーチウィンドウの画素データ
は、現画像ブロックの画素データよりもデータ数が膨大
であるので、特に、キャッシュメモリの採用が有効とな
る。 (実施例3)図36および図37は、本発明に係る実施
例3の動きベクトル探索装置を示す図である。本実施例
3では、本発明の特徴部分を具体的に説明する。Generally, the pixel data of the search window has a larger number of data than the pixel data of the current image block. Therefore, the use of the cache memory is particularly effective. (Third Embodiment) FIGS. 36 and 37 are diagrams showing a motion vector search device according to a third embodiment of the present invention. In the third embodiment, a characteristic part of the present invention will be specifically described.
【0239】図38に示すように、実施例3の動きベク
トル探索装置は、実施例1のウィンドウデータ転送ユニ
ット3000の第1垂直サイドレジスタユニット320
0および第2垂直サイドレジスタユニットを第3垂直サ
イドレジスタユニット3500によって構成するととも
に、入力レジスタユニット3400を入力レジスタユニ
ット3401によって構成するものである。As shown in FIG. 38, the motion vector search device of the third embodiment includes the first vertical side register unit 320 of the window data transfer unit 3000 of the first embodiment.
The 0 and second vertical side register units are configured by the third vertical side register unit 3500, and the input register unit 3400 is configured by the input register unit 3401.
【0240】垂直サイドレジスタユニット3500は、
6個の垂直サイドレジスタVSによって構成される。ま
た、入力レジスタユニット3401は、5個の入力レジ
スタIRによって構成される。ここで、ウィンドウデー
タ転送ユニット3001のプロセッサエレメントPEお
よび各レジスタVS,IRを実施例1と同様に座標
(x,y)を付して表すとすると、図36に示すよう
に、最上端、すなわち、1行目のプロセッサエレメント
PE(x,0)の入力端子YDiは最下端、すなわち、
5行目の垂直サイドレジスタVS(x,5)の出力端子
YDoと接続され、5行目の垂直サイドレジスタVS
(x,5)の入力端子YUiは1行目のプロセッサエレ
メントPE(x,0)の出力端子YUoと接続される。The vertical side register unit 3500 is
It is composed of six vertical side registers VS. The input register unit 3401 is composed of five input registers IR. Here, assuming that the processor element PE of the window data transfer unit 3001 and each register VS, IR are denoted by coordinates (x, y) as in the first embodiment, as shown in FIG. The input terminal YDi of the processor element PE (x, 0) in the first row is at the bottom end, that is,
The vertical side register VS (x, 5) of the fifth row is connected to the output terminal YDo of the vertical side register VS of the fifth row.
The input terminal YUi of (x, 5) is connected to the output terminal YUo of the processor element PE (x, 0) in the first row.
【0241】また、1行目の入力レジスタ(3,0)の
入力端子YDiは5行目の入力レジスタIR(3,5)
の出力端子YDoと接続され、5行目の入力レジスタI
R(3,5)の入力端子YUiは1行目の入力レジスタ
IR(3,0)の出力端子YUoと接続される。すなわ
ち、各プロセッサエレメントおよび各レジスタは、列毎
にリング状に接続されることになる。The input terminal YDi of the input register (3, 0) in the first row is the input register IR (3, 5) in the fifth row.
Connected to the output terminal YDo of the input register I of the fifth row
The input terminal YUi of R (3,5) is connected to the output terminal YUo of the input register IR (3,0) of the first row. That is, each processor element and each register are connected in a ring shape for each column.
【0242】1行目の各プロセッサエレメントPE
(x,0)から図36における上方向に出力されたサー
チウィンドウの画素データは、5行目の垂直サイドレジ
スタVS(x,5)に転送されるとともに、5行目の垂
直サイドレジスタVS(x,5)から図における下方向
に出力された画素データは、1行目のプロセッサエレメ
ントPE(x,0)へ転送されることになる。Each processor element PE in the first line
The pixel data of the search window output from (x, 0) in the upward direction in FIG. 36 is transferred to the vertical side register VS (x, 5) on the fifth row and the vertical side register VS (( Pixel data output downward in the figure from (x, 5) is transferred to the processor element PE (x, 0) in the first row.
【0243】また、入力レジスタユニット3421の1
行目および5行目の入力レジスタIRも同様にサーチウ
ィンドウの画素データが転送される。このため、実施例
1では、プロセッサユニット3100の両側にそれぞれ
第1および第2垂直サイドレジスタユニット3200,
3300を配置したのに対し、本実施例2では、プロセ
ッサユニット3100の片側に第3サイドレジスタユニ
ット3500を配置すればよいので、回路規模を半減す
ることができる。In addition, 1 of the input register unit 3421
Similarly, the pixel data of the search window is transferred to the input registers IR of the 5th and 5th rows. Therefore, in the first embodiment, the first and second vertical side register units 3200 are provided on both sides of the processor unit 3100, respectively.
In contrast to the arrangement of the 3300, in the second embodiment, since the third side register unit 3500 may be arranged on one side of the processor unit 3100, the circuit scale can be reduced by half.
【0244】また、実際に回路を構成する場合には、例
えば、図37に示すように、各列毎に、プロセッサエレ
メントPEおよび各垂直サイドレジスタVS間の距離を
均一に配置することで、短い転送バスを形成することが
できるので、転送動作の誤りの少ない安定した回路を構
成することができるとともに、回路規模を小さくするこ
とができる。When actually constructing the circuit, for example, as shown in FIG. 37, the distance between the processor elements PE and the vertical side registers VS is evenly arranged for each column to shorten the length. Since the transfer bus can be formed, it is possible to configure a stable circuit with few errors in the transfer operation and to reduce the circuit scale.
【0245】なお、動きベクトルMVを求める動作は、
図8〜図14に示されたタイムチャートに基づいて実施
例1と同様に行われることはいうまでもない。 (実施例4)図38は、本発明に係る実施例4の動きベ
クトル探索装置を示す図である。本実施例4では、本発
明の特徴部分を具体的に説明する。The operation for obtaining the motion vector MV is as follows:
It goes without saying that the operation is performed in the same manner as the first embodiment based on the time charts shown in FIGS. (Fourth Embodiment) FIG. 38 is a diagram showing a motion vector search device according to a fourth embodiment of the present invention. In the fourth embodiment, a characteristic part of the present invention will be specifically described.
【0246】図38に示すように、動きベクトル探索装
置は、実施例2のサーチウィンドウ転送ユニット300
1において、プロセッサエレメントPEおよび垂直サイ
ドレジスタVSを1列分増やしたものである。本実施例
4においては、現画像ブロックの列数Mを偶数とし、N
=3,M=4とし、現画像ブロックは、3行4列の画素
データによって構成されるものとする。また、サーチウ
ィンドウは、H=5,L=7とし、5行7列の画素デー
タによって構成されるものとする。この場合、探索範囲
は、(H−N+1)×(L−M+1)=12となり、ウ
ィンドウ転送ユニット3002では、12個の候補ブロ
ックに対応する3行4列のプロセッサエレメントPEに
よりそれぞれディストーションが算出される。As shown in FIG. 38, the motion vector search device is the search window transfer unit 300 of the second embodiment.
1, the processor element PE and the vertical side register VS are increased by one column. In the fourth embodiment, the number M of columns of the current image block is an even number, and N
= 3, M = 4, and the current image block is composed of pixel data in 3 rows and 4 columns. Further, it is assumed that the search window has H = 5 and L = 7 and is composed of pixel data of 5 rows and 7 columns. In this case, the search range is (H−N + 1) × (L−M + 1) = 12, and in the window transfer unit 3002, the distortions are calculated by the processor elements PE of 3 rows and 4 columns corresponding to 12 candidate blocks. It
【0247】水平サイドレジスタユニット5000は、
(M−1)×N個の水平サイドレジスタによって構成さ
れる。すなわち、現画像ブロックの列数Mが偶数の場合
には、サーチウィンドウの画素データは、ディストーシ
ョン算出開始時およびディストーション算出終了時に、
同じ垂直方向位置の各プロセッサエレメント、各垂直サ
イドレジスタまたは各水平サイドレジスタに保持され、
M列目のサーチウィンドウの画素データは、それぞれ1
列目のプロセッサエレメントPEおよび垂直サイドレジ
スタVSに保持されるので、ディストーション算出時に
1列目の各プロセッサエレメントPE(0,y)および
各垂直サイドレジスタVS(0,y)から排出されるサ
ーチウィンドウの画素データは、(M−1)列分とな
る。The horizontal side register unit 5000 is
It is composed of (M-1) × N horizontal side registers. That is, when the number of columns M of the current image block is an even number, the pixel data of the search window is displayed at the start of distortion calculation and at the end of distortion calculation.
Held in each processor element, each vertical side register or each horizontal side register at the same vertical position,
The pixel data in the search window in the Mth column is 1
Since it is held in the processor element PE in the column and the vertical side register VS, the search window discharged from each processor element PE (0, y) in the first column and each vertical side register VS (0, y) when the distortion is calculated. The pixel data of is for (M-1) columns.
【0248】なお、動きベクトルMVを求める動作は、
実施例1および実施例2と同様に行われることはいうま
でもない。このように、現画像ブロックの列数が偶数の
場合には、奇数の場合よりも1列分すくない(M−1)
列分の垂直サイドレジスタHSにより垂直サイドレジス
タユニット5000を構成することができるので、回路
規模を小さくすることができる。The operation for obtaining the motion vector MV is as follows:
It goes without saying that the same operation as in Example 1 and Example 2 is performed. In this way, when the number of columns of the current image block is even, one column is smaller than that in the case of odd numbers (M-1).
Since the vertical side register unit 5000 can be configured by the vertical side registers HS for columns, the circuit scale can be reduced.
【0249】[0249]
【効果】請求項1記載の発明によれば、同じサーチウィ
ンドウの画素データを共有する複数の現画像ブロックに
対して、サーチウィンドウの画素データと一つの現画像
ブロックの画素データとによりディストーションを算出
し、このとき第1および第2の画素データ転送保持手段
から排出されたサーチウィンドウの画素データを第3の
画素データ転送保持手段に保持し、保持されたサーチウ
ィンドウの画素データを再度第1および第2の画素デー
タ転送手段に戻して異なる現画像ブロックに対応するデ
ィストーションを算出することができるので、参照画像
の画素データの中から所望のサーチウィンドウの画素デ
ータをアクセスするデータ量を少なくすることができ、
相対的にサーチウィンドウの画素データのアクセス時間
を短縮することができる。従って、動きベクトル探索処
理を高速化することができる。According to the first aspect of the invention, for a plurality of current image blocks sharing the same search window pixel data, the distortion is calculated from the search window pixel data and one current image block pixel data. Then, at this time, the pixel data of the search window discharged from the first and second pixel data transfer and holding means is held in the third pixel data transfer and holding means, and the held pixel data of the search window is again stored in the first and second pixel data transfer holding means. Since the distortion corresponding to different current image blocks can be calculated by returning to the second pixel data transfer means, the amount of data for accessing the pixel data of the desired search window from the pixel data of the reference image can be reduced. Can
The access time of the pixel data of the search window can be shortened relatively. Therefore, the motion vector search process can be speeded up.
【0250】請求項2記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、サーチウィンドウの画素データと一つの現
画像ブロックの画素データとによりディストーションを
算出し、このとき第1および第2の画素データ転送保持
手段から排出されたサーチウィンドウの画素データを第
3の画素データ転送保持手段に保持し、保持されたサー
チウィンドウの画素データを再度第1および第2の画素
データ転送手段に戻して異なる現画像ブロックに対応す
るディストーションを算出することができるので、参照
画像の画素データが記憶された参照画像データ記憶手段
に所望のサーチウィンドウの画素データをアクセスする
データ量を少なくすることができ、相対的にサーチウィ
ンドウの画素データのアクセス時間を短縮することがで
きる。従って、動きベクトル探索処理を高速化すること
ができる。According to the second aspect of the present invention, for a plurality of current image blocks sharing the same search window pixel data, the distortion is calculated from the search window pixel data and one current image block pixel data. Then, at this time, the pixel data of the search window discharged from the first and second pixel data transfer and holding means is held in the third pixel data transfer and holding means, and the held pixel data of the search window is again stored in the first and second pixel data transfer holding means. Since the distortion corresponding to the different current image block can be returned to the second pixel data transfer means, the pixel data of the desired search window is accessed to the reference image data storage means in which the pixel data of the reference image is stored. You can reduce the amount of data to It is possible to shorten the access time. Therefore, the motion vector search process can be speeded up.
【0251】請求項3記載の発明によれば、請求項2に
記載の発明において、前記ディストーション算出手段に
よりディストーション算出終了後、前記サーチウィンド
ウの画素データをディストーション算出開始時の状態に
復帰させながら前記現画像ブロックとは異なる現画像ブ
ロックに対応するディストーション算出を行なうことが
できるので、2つの現画像ブロックに対し連続してディ
ストーションを算出することができる。従って、動きベ
クトル探索処理を高速化することができる。According to the invention of claim 3, in the invention of claim 2, after the distortion calculation is completed by the distortion calculating means, the pixel data in the search window is returned to the state at the time of starting the distortion calculation. Since the distortion calculation corresponding to the current image block different from the current image block can be performed, the distortion can be continuously calculated for the two current image blocks. Therefore, the motion vector search process can be speeded up.
【0252】請求項4記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、サーチウィンドウの画素データと一つの現
画像ブロックの画素データとによりディストーションを
算出し、このとき第1および第2の画素データ転送保持
手段から排出された(M−1)列分のサーチウィンドウ
の画素データを第3の画素データ転送保持手段に保持
し、保持された画素データを再度第1および第2の画素
データ転送手段に戻して異なる現画像ブロックに対応す
るディストーションを算出することができるので、参照
画像の画素データが記憶された参照画像データ記憶手段
に所望のサーチウィンドウの画素データをアクセスする
データ量を少なくすることができ、相対的にサーチウィ
ンドウの画素データのアクセス時間を短縮することがで
きる。従って、動きベクトル探索処理を高速化すること
ができる。According to the fourth aspect of the present invention, for a plurality of current image blocks sharing the same search window pixel data, the distortion is calculated from the search window pixel data and one current image block pixel data. Then, at this time, the pixel data of the (M-1) th column search window discharged from the first and second pixel data transfer holding means is held in the third pixel data transfer holding means, and the held pixel data is held. Can be returned to the first and second pixel data transfer means again to calculate the distortions corresponding to different current image blocks. Therefore, a desired search window can be stored in the reference image data storage means in which the pixel data of the reference image is stored. It is possible to reduce the amount of data to access the pixel data of It is possible to shorten the access time. Therefore, the motion vector search process can be speeded up.
【0253】請求項5記載の発明によれば、請求項4に
記載の発明において、ディストーション算出後、サーチ
ウィンドウの画素データがディストーション算出開始時
の位置に復帰したとき、画素データの転送方向を再度前
記行方向の一方向側に切り換えることで異なる現画像ブ
ロックに対応するディストーション算出を開始すること
ができるので、容易に前記転送方向を切り換えることが
できるとともに、速やかにディストーション算出を開始
することができる。According to the invention described in claim 5, in the invention described in claim 4, when the pixel data in the search window returns to the position at the start of the distortion calculation after the distortion calculation, the transfer direction of the pixel data is changed again. Since the distortion calculation corresponding to different current image blocks can be started by switching to one of the row directions, the transfer direction can be easily switched, and the distortion calculation can be started quickly. .
【0254】請求項6記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、サーチウィンドウの画素データと一つの現
画像ブロックの画素データとによりディストーションを
算出し、このとき第1および第2の画素データ転送保持
手段から排出されたM列分のサーチウィンドウの画素デ
ータを第3の画素データ転送保持手段に保持し、保持さ
れた画素データを再度第1および第2の画素データ転送
手段に戻して異なる現画像ブロックに対応するディスト
ーションを算出することができるので、参照画像の画素
データが記憶された参照画像データ記憶手段に所望のサ
ーチウィンドウの画素データをアクセスするデータ量を
少なくすることができ、相対的にサーチウィンドウの画
素データのアクセス時間を短縮することができる。従っ
て、動きベクトル探索処理を高速化することができる。According to the sixth aspect of the invention, for a plurality of current image blocks sharing the same search window pixel data, the distortion is calculated from the search window pixel data and one current image block pixel data. Then, at this time, the pixel data of the M columns of the search window discharged from the first and second pixel data transfer holding means is held in the third pixel data transfer holding means, and the held pixel data is again stored in the first pixel data. Since the distortion corresponding to the different current image block can be calculated by returning to the second pixel data transfer means, the pixel data of the desired search window can be stored in the reference image data storage means in which the pixel data of the reference image is stored. The amount of data to be accessed can be reduced, and the pixel data in the search window can be accessed relatively. It is possible to shorten the time. Therefore, the motion vector search process can be speeded up.
【0255】請求項7記載の発明によれば、請求項6に
記載の発明において、ディストーション算出後、サーチ
ウィンドウの画素データがディストーション算出開始時
の位置に復帰したとき、画素データの転送方向を再度前
記行方向の一方向側に切り換えることで異なる現画像ブ
ロックに対応するディストーション算出を開始すること
ができるので、容易に前記転送方向を切り換えることが
できるとともに、速やかにディストーション算出を開始
することができる。According to the invention described in claim 7, in the invention described in claim 6, when the pixel data in the search window returns to the position at the start of the distortion calculation after the distortion calculation, the transfer direction of the pixel data is changed again. Since the distortion calculation corresponding to different current image blocks can be started by switching to one of the row directions, the transfer direction can be easily switched, and the distortion calculation can be started quickly. .
【0256】請求項8記載の発明によれば、同じサーチ
ウィンドウの画素データを共有する複数の現画像ブロッ
クに対して、所望のサーチウィンドウの画素データを参
照画像データ記憶手段から読み出して高速転送記憶手段
に記憶しておき、現画像ブロックに対応するディストー
ション算出時には、参照画像データ記憶手段にアクセス
せず、高速転送記憶手段に繰り返しアクセスして第1お
よび第2画素データ転送保持手段にサーチウィンドウの
画素データを供給することができる。このため、第1お
よび第2の画素データ転送保持手段にサーチウィンドウ
の画素データを高速に転送することができるとともに、
参照画像記憶手段は、高速メモリである必要がないの
で、安価なメモリで構成することができ、コストを低減
することができる。また、サーチウィンドウの画素デー
タと一つの現画像ブロックの画素データとによりディス
トーションを算出し、このとき第1および第2の画素デ
ータ転送保持手段から排出されたサーチウィンドウの画
素データを第3の画素データ転送保持手段に保持し、保
持されたサーチウィンドウの画素データを再度第1およ
び第2の画素データ転送手段に戻して異なる現画像ブロ
ックに対応するディストーションを算出することができ
るので、高速転送記憶手段にに所望のサーチウィンドウ
の画素データをアクセスするデータ量を少なくし、相対
的にサーチウィンドウの画素データのアクセス時間を短
縮することができる。従って、動きベクトル探索処理を
高速化することができる。According to the eighth aspect of the present invention, for a plurality of current image blocks sharing pixel data of the same search window, pixel data of a desired search window is read from the reference image data storage means and stored at high speed. The reference image data storage means is not accessed when the distortion corresponding to the current image block is calculated, and the high-speed transfer storage means is repeatedly accessed to store the search window in the first and second pixel data transfer holding means. Pixel data can be provided. Therefore, the pixel data in the search window can be transferred at high speed to the first and second pixel data transfer holding means, and
Since the reference image storage means does not need to be a high speed memory, it can be configured with an inexpensive memory, and the cost can be reduced. Further, the distortion is calculated from the pixel data of the search window and the pixel data of one current image block, and the pixel data of the search window discharged from the first and second pixel data transfer holding means at this time is converted into the third pixel. Since the pixel data in the search window held by the data transfer holding means can be returned to the first and second pixel data transfer means again to calculate the distortions corresponding to different current image blocks, the high speed transfer storage can be performed. The amount of data for accessing the desired pixel data of the search window to the means can be reduced, and the access time of the pixel data of the search window can be relatively shortened. Therefore, the motion vector search process can be speeded up.
【0257】請求項9記載の発明によれば、請求項8に
記載の発明において、次に処理すべき別のサーチウィン
ドウの画素データを予め参照画像記憶手段から読み出し
て高速転送記憶手段に記憶しておくことができるので、
サーチウィンドウの画素データを第1および第2の画素
データ転送保持手段に供給する時間は、参照画像記憶手
段から高速転送記憶手段に画素データを転送する時間が
無視され、高速転送記憶手段からの転送時間のみとな
る。従って、動きベクトル探索処理を高速化することが
できる。According to the invention of claim 9, in the invention of claim 8, the pixel data of another search window to be processed next is read from the reference image storage means in advance and stored in the high-speed transfer storage means. Can be kept,
Regarding the time for supplying the pixel data of the search window to the first and second pixel data transfer holding means, the time for transferring the pixel data from the reference image storage means to the high-speed transfer storage means is ignored, and the transfer from the high-speed transfer storage means is performed. Only time is available. Therefore, the motion vector search process can be speeded up.
【0258】請求項10記載の発明によれば、請求項4
〜9の何れかに記載の発明において、第3の画素データ
転送保持手段に保持されたサーチウィンドウの各画素列
の画素データを前記転送経路と反対の行方向に全行一緒
に戻すことができるので、ディストーション算出開始時
の位置に容易に、かつ、速やかに復帰させることができ
る。According to the invention of claim 10, claim 4
In the invention described in any one of (1) to (9), the pixel data of each pixel column of the search window held in the third pixel data transfer holding means can be returned together in all rows in the row direction opposite to the transfer path. Therefore, it is possible to easily and quickly return to the position where the distortion calculation was started.
【0259】請求項11記載の発明によれば、請求項2
〜5および8〜10の何れかに記載の発明において、現
画像ブロックが偶数の画素列を有する場合、ディストー
ション算出が終了したとき、サーチウィンドウのM列目
の画素データは、それぞれディストーション算出開始時
と同じ行の1列目の第1および第2レジスタに保持され
るので、サーチウィンドウのM列目の画素データを前記
転送経路の列方向に移動することなく反対の行方向のみ
に移動するよう転送するだけでディストーション算出開
始時の位置に復帰させることができる。このため、サー
チウィンドウのM列目の画素データを容易に、かつ、速
やかにディストーション算出開始時の位置に復帰させる
ことができる。According to the invention of claim 11, claim 2
In any of the inventions 5 to 8 and 10 to 10, when the current image block has an even number of pixel columns, when the distortion calculation is completed, the pixel data of the Mth column of the search window are respectively at the start of the distortion calculation. Since it is held in the first and second registers in the first column of the same row, the pixel data of the Mth column of the search window should be moved only in the opposite row direction without moving in the column direction of the transfer path. It is possible to return to the position at the beginning of distortion calculation simply by transferring. Therefore, the pixel data of the Mth column of the search window can be easily and quickly returned to the position at the time of starting the distortion calculation.
【0260】請求項12記載の発明によれば、請求項2
および3並びに6〜10の何れかに記載の発明におい
て、現画像ブロックが奇数の画素列を有する場合、ディ
ストーション算出が終了したとき、ディストーション算
出開始時より列方向に(N−1)行シフトした1列目の
第1および第2レジスタに保持されるサーチウィンドウ
のM列目の画素データを第3レジスタに保持することが
できるので、サーチウィンドウのM列目の画素データを
前記転送経路の列方向に移動することなく反対の行方向
のみに移動するよう転送するだけでディストーション算
出開始時の第1および第2レジスタに復帰させることが
できる。このため、サーチウィンドウのM列目の画素デ
ータを容易に、かつ、速やかにディストーション算出開
始時の位置に復帰させることができる。According to the invention of claim 12, claim 2
In the invention described in any one of 3 and 6 to 10, when the current image block has an odd number of pixel columns, when the distortion calculation is completed, (N-1) rows are shifted in the column direction from the beginning of the distortion calculation. Since the pixel data of the Mth column of the search window held in the first and second registers of the first column can be held in the third register, the pixel data of the Mth column of the search window can be stored in the column of the transfer path. It is possible to return to the first and second registers at the time of the distortion calculation start only by transferring so as to move only in the opposite row direction without moving in the direction. Therefore, the pixel data of the Mth column of the search window can be easily and quickly returned to the position at the time of starting the distortion calculation.
【0261】請求項13記載の発明によれば、請求項4
〜12の何れかに記載の発明において、前記第1レジス
タおよびディストーション算出手段の各演算器をそれぞ
れ共通制御信号によって同一時刻に同一動作を行うよう
に制御することができるので、演算処理の並列化による
高速処理を行うことができる。請求項14記載の発明に
よれば、請求項4〜13の何れかに記載の発明におい
て、各列の1行目および(H−N+1)行目のプロセッ
サエレメントにそれぞれ同数の第2レジスタを配置する
ことができるので、サーチウィンドウの画素データを列
方向に往復移動するように転送するバッファ領域として
容易に回路を形成することができる。According to the invention of claim 13, claim 4
In the invention described in any one of (1) to (12), it is possible to control each of the arithmetic units of the first register and the distortion calculation means so as to perform the same operation at the same time by a common control signal. It is possible to perform high-speed processing by. According to the invention described in claim 14, in the invention described in any one of claims 4 to 13, the same number of second registers are arranged in the processor elements in the first row and the (H-N + 1) th row of each column. Therefore, the circuit can be easily formed as a buffer area for transferring the pixel data of the search window so as to reciprocate in the column direction.
【0262】請求項15記載の発明によれば、請求項4
〜13の何れかに記載の発明において、前記第1レジス
タおよび第2レジスタを各列毎にリング状に電気的に接
続することができるので、請求項14記載の第2レジス
タの半数の第2レジスタで第2の画素データ転送保持手
段を構成することができる。また、各列毎にリング状に
接続された各レジスタ間の距離を均一に配置することが
できるので、各レジスタ間に短い転送バスを形成するこ
とができるとともに、各レジスタ間の転送時間を均一に
することができる。従って、誤りの少ない安定した回路
を形成することができるとともに、回路規模を小さくす
ることができる。According to the invention of claim 15, claim 4
15. In the invention according to any one of claims 1 to 13, since the first register and the second register can be electrically connected in a ring shape for each column, a second half of the second register according to claim 14 is formed. The register can constitute the second pixel data transfer holding means. Further, since the distance between the registers connected in a ring shape for each column can be arranged uniformly, a short transfer bus can be formed between the registers and the transfer time between the registers can be made uniform. Can be Therefore, a stable circuit with few errors can be formed, and the circuit scale can be reduced.
【図1】本発明に係る実施形態の動きベクトル探索装置
の構成を示す図である。FIG. 1 is a diagram showing a configuration of a motion vector search device according to an embodiment of the present invention.
【図2】本発明に係る実施形態の動きベクトル探索装置
に適用される現画像ブロックおよびサーチウィンドウの
探索範囲を示す図である。FIG. 2 is a diagram showing a search range of a current image block and a search window applied to the motion vector search device according to the embodiment of the present invention.
【図3】本発明に係る実施例1の動きベクトル探索装置
の構成を示す図である。FIG. 3 is a diagram showing a configuration of a motion vector search device according to a first embodiment of the present invention.
【図4】本発明に係る実施例1の動きベクトル探索装置
に適用される現画像ブロックおよびサーチウィンドウを
示す図である。FIG. 4 is a diagram showing a current image block and a search window applied to the motion vector search device according to the first embodiment of the present invention.
【図5】ウィンドウデータ転送ユニット3000および
水平サイドレジスタユニット5000の構成を示す図で
ある。5 is a diagram showing configurations of a window data transfer unit 3000 and a horizontal side register unit 5000. FIG.
【図6】本発明に係る実施例1の動きベクトル探索装置
に適用される現画像ブロックおよびサーチウィンドウを
示す図である。FIG. 6 is a diagram showing a current image block and a search window applied to the motion vector search device according to the first embodiment of the present invention.
【図7】システム制御ユニット6000から各ユニット
に出力される信号を示す図である。FIG. 7 is a diagram showing signals output from the system control unit 6000 to each unit.
【図8】サーチウィンドウ転送ユニット3000および
水平サイドレジスタユニット5000の動作を示すタイ
ムチャートである。FIG. 8 is a time chart showing operations of a search window transfer unit 3000 and a horizontal side register unit 5000.
【図9】サーチウィンドウ転送ユニット3000および
水平サイドレジスタユニット5000の動作を示すタイ
ムチャートである。FIG. 9 is a time chart showing operations of the search window transfer unit 3000 and the horizontal side register unit 5000.
【図10】サーチウィンドウ転送ユニット3000およ
び水平サイドレジスタユニット5000の動作を示すタ
イムチャートである。FIG. 10 is a time chart showing operations of the search window transfer unit 3000 and the horizontal side register unit 5000.
【図11】サーチウィンドウ転送ユニット3000およ
び水平サイドレジスタユニット5000の動作を示すタ
イムチャートである。FIG. 11 is a time chart showing operations of the search window transfer unit 3000 and the horizontal side register unit 5000.
【図12】サーチウィンドウ転送ユニット3000およ
び水平サイドレジスタユニット5000の動作を示すタ
イムチャートである。FIG. 12 is a time chart showing operations of search window transfer unit 3000 and horizontal side register unit 5000.
【図13】類似ブロック特定ユニット4000の動作を
示すタイムチャートである。FIG. 13 is a time chart showing the operation of the similar block specifying unit 4000.
【図14】類似ブロック特定ユニット4000の動作を
示すタイムチャートである。FIG. 14 is a time chart showing the operation of the similar block specifying unit 4000.
【図15】プロセッサエレメントPEの端子配置を示す
図である。FIG. 15 is a diagram showing a terminal arrangement of a processor element PE.
【図16】プロセッサエレメントPEのブロック図であ
る。FIG. 16 is a block diagram of a processor element PE.
【図17】垂直サイドレジスタVSの端子配置を示す図
および垂直サイドレジスタVSのブロック図である。FIG. 17 is a diagram showing a terminal arrangement of the vertical side register VS and a block diagram of the vertical side register VS.
【図18】入力レジスタIRの端子配置を示す図および
入力レジスタIRのブロック図である。FIG. 18 is a diagram showing a terminal arrangement of an input register IR and a block diagram of the input register IR.
【図19】水平サイドレジスタHSの端子配置を示すお
よび水平サイドレジスタHSのブロック図である。FIG. 19 is a block diagram of the horizontal side register HS showing the terminal arrangement of the horizontal side register HS.
【図20】類似ブロック特定ユニット4000のブロッ
ク図である。20 is a block diagram of a similar block identifying unit 4000. FIG.
【図21】セレクタ付きフリップフロップ4400のブ
ロック図である。FIG. 21 is a block diagram of a flip-flop with selector 4400.
【図22】クロックパルス信号CK1の1クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。22 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the first clock of the clock pulse signal CK1. FIG.
【図23】クロックパルス信号CK1の2クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。23 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the second clock of the clock pulse signal CK1. FIG.
【図24】クロックパルス信号CK1の3クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。FIG. 24 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the third clock of the clock pulse signal CK1.
【図25】クロックパルス信号CK1の4クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。FIG. 25 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the fourth clock of the clock pulse signal CK1.
【図26】クロックパルス信号CK1の6クロック目の
ウインドウデータ転送ユニット3000および水平サイ
ドレジスタ5000におけるサーチウィンドウの画素デ
ータの転送状態を示す図である。FIG. 26 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 6th clock of the clock pulse signal CK1.
【図27】クロックパルス信号CK1の10クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。27 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 10th clock of the clock pulse signal CK1. FIG.
【図28】クロックパルス信号CK1の11クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。28 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 11th clock of the clock pulse signal CK1. FIG.
【図29】クロックパルス信号CK1の16クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。29 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 16th clock of the clock pulse signal CK1. FIG.
【図30】クロックパルス信号CK1の17クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。30 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 17th clock of the clock pulse signal CK1. FIG.
【図31】クロックパルス信号CK1の19クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。31 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 19th clock of the clock pulse signal CK1. FIG.
【図32】クロックパルス信号CK1の20クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。32 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 20th clock of the clock pulse signal CK1. FIG.
【図33】クロックパルス信号CK1の21クロック目
のウインドウデータ転送ユニット3000および水平サ
イドレジスタ5000におけるサーチウィンドウの画素
データの転送状態を示す図である。33 is a diagram showing a transfer state of pixel data of a search window in the window data transfer unit 3000 and the horizontal side register 5000 at the 21st clock of the clock pulse signal CK1. FIG.
【図34】パイプライン処理により動きベクトルMVを
求める動作を示す図である。FIG. 34 is a diagram showing an operation of obtaining a motion vector MV by pipeline processing.
【図35】本発明に係る実施例2の動きベクトル探索装
置の構成を示す図である。FIG. 35 is a diagram showing the configuration of a motion vector search device according to a second embodiment of the present invention.
【図36】本発明に係る実施例3の動きベクトル探索装
置のウィンドウデータ転送ユニット3001の構成を示
す図である。FIG. 36 is a diagram showing the configuration of a window data transfer unit 3001 of the motion vector search device according to the third embodiment of the present invention.
【図37】互いに間隔が等しくなるように各プロセッサ
エレメントおよび各垂直サイドレジスタVSを列毎にリ
ング状に接続して配置した図である。FIG. 37 is a diagram in which each processor element and each vertical side register VS are connected in a ring shape for each column and arranged so that their intervals are equal to each other.
【図38】本発明に係る実施例4の動きベクトル探索装
置の構成を示す図である。FIG. 38 is a diagram showing the configuration of a motion vector search device according to a fourth embodiment of the present invention.
【図39】単純フレーム間予測符号化方式を示す図であ
る。[Fig. 39] Fig. 39 is a diagram illustrating a simple interframe predictive coding method.
【図40】動き補償フレーム間予測符号化方式を示す図
である。[Fig. 40] Fig. 40 is a diagram illustrating a motion compensation interframe predictive coding method.
【図41】現画像110上の現画像ブロック220およ
び参照画像310上のサーチウィンドウ410および候
補ブロック302を示す図である。41 is a diagram showing a current image block 220 on a current image 110 and a search window 410 and a candidate block 302 on a reference image 310. FIG.
【図42】現画像ブロック220、サーチウィンドウ4
10および候補ブロック302の関係を示す図である。FIG. 42 is a current image block 220, search window 4
It is a figure which shows the relationship between 10 and the candidate block 302.
【図43】現画像ブロック220内の画素データと各候
補ブロック302内の画素データとの位置的な対応関係
を示す図である。43 is a diagram showing a positional correspondence relationship between pixel data in the current image block 220 and pixel data in each candidate block 302. FIG.
【図44】現画像ブロックの画素データと各候補ブロッ
クの画素データに基づいて各プロセッサエレメントにお
いてそれぞれのディストーションを算出する動作を示す
図である。FIG. 44 is a diagram showing an operation of calculating each distortion in each processor element based on the pixel data of the current image block and the pixel data of each candidate block.
【図45】現画像ブロックの画素データと各候補ブロッ
クの画素データに基づいて各プロセッサエレメントにお
いてそれぞれのディストーションを算出する動作を示す
図である。FIG. 45 is a diagram showing an operation of calculating each distortion in each processor element based on the pixel data of the current image block and the pixel data of each candidate block.
1 第1画素データ転送保持手段 2 第2画素データ転送保持手段 3 第3画素データ転送保持手段 4 ウィンドウデータ転送制御手段 5 ディストーション算出手段 6 類似ブロック特定手段 7 排出データ保持制御手段 8 戻しデータ転送制御手段 9 高速転送記憶手段 10 人物像 20,21 有意画素領域 100,110 現画像 201,202,203,211,212,213,2
14,220 現画像ブロック 300,310 参照画像 301,302 候補ブロック 401,402,403,410 サーチウィンドウ 501,502,503,504,505,511,5
12,513 探索範囲 1000 現画像メモリ 1001 現画像キャッシュメモリ 2000 参照画像メモリ 2001 参照画像キャッシュメモリ 3000,3001,3002 ウィンドウデータ転送
ユニット 3100 プロセッサユニット 3200 第1垂直サイドレジスタユニット 3300 第2垂直サイドレジスタユニット 3400 入力レジスタユニット 3600 転送方向切換ユニット 3610,3611,3612,3613 セレクタ 3620,3621,3622,3623 フリップフ
ロップ 3700 ディストーション算出ユニット 3710 減算器 3720 正数変換器 3730 加算器 3740 フリップフロップ 3750 反転器 3760 論理積演算器 3800 ディストーション転送ユニット 3810 セレクタ 3820 フリップフロップ 4000 類似ブロック特定ユニット 4100 最小ディストーション検出ユニット 4101 比較器 4102 論理和演算器 4103 比較器 4104 セレクタ 4105 フリップフロップ 4106 セレクタ付きフリップフロップ 4200 動きベクトル垂直成分検出ユニット 4201 セレクタ 4202 フリップフロップ 4203 換算テーブル 4204 セレクタ付きフリップフロップ 4300 動きベクトル水平成分検出ユニット 4301 カウンタ 4302 セレクタ 4303 フリップフロップ 4304 換算テーブル 4305 セレクタ付きフリップフロップ 4400 セレクタ付きフリップフロップ 4401 セレクタ 4402 フリップフロップ 5000 水平サイドレジスタユニット 6000 システム制御ユニット1 First Pixel Data Transfer Holding Means 2 Second Pixel Data Transfer Holding Means 3 Third Pixel Data Transfer Holding Means 4 Window Data Transfer Control Means 5 Distortion Calculating Means 6 Similar Block Identifying Means 7 Ejection Data Hold Control Means 8 Return Data Transfer Controls Means 9 High-speed transfer storage means 10 Human image 20,21 Significant pixel area 100,110 Current image 201,202,203,211,212,213,2
14,220 Current image block 300,310 Reference image 301,302 Candidate block 401,402,403,410 Search window 501,502,503,504,505,511,5
12,513 Search range 1000 Current image memory 1001 Current image cache memory 2000 Reference image memory 2001 Reference image cache memory 3000,3001,3002 Window data transfer unit 3100 Processor unit 3200 First vertical side register unit 3300 Second vertical side register unit 3400 Input register unit 3600 Transfer direction switching unit 3610, 3611, 3612, 3613 Selector 3620, 3621, 3622, 3623 Flip-flop 3700 Distortion calculation unit 3710 Subtractor 3720 Positive number converter 3730 Adder 3740 Flip-flop 3750 Inverter 3760 Logical product operation 3800 Distortion transfer unit 3810 Selector 382 Flip-flop 4000 Similar block identification unit 4100 Minimum distortion detection unit 4101 Comparator 4102 Logical sum operator 4103 Comparator 4104 Selector 4105 Flip-flop 4106 Selector flip-flop 4200 Motion vector vertical component detection unit 4201 Selector 4202 Flip-flop 4203 Conversion table 4204 Selector Flip-flop 4300 Motion vector horizontal component detection unit 4301 Counter 4302 Selector 4303 Flip-flop 4304 Conversion table 4305 Flip-flop with selector 4400 Flip-flop with selector 4401 Selector 4402 Flip-flop 5000 Horizontal side register unit 6000 System control unit Tsu door
Claims (15)
画像を部分的に構成する参照画像に基づいて予測するの
に用いられる動きベクトルを探索する方法であり、前記
現画像が画素データを有する複数行複数列の画素により
表わされる複数の現画像ブロックを含み、前記参照画像
がそれぞれ画素データを有する前記現画像ブロックと同
一サイズの複数の候補ブロックを含み、前記現画像ブロ
ック毎に、前記複数の候補ブロックのうち該現画像ブロ
ックに類似する何れか1つの候補ブロックのブロック位
置と該現画像ブロックのブロック位置とによって、前記
動きベクトルを特定する動きベクトル探索方法であっ
て、 前記複数の現画像ブロックの画素データと、それぞれ前
記参照画像の複数の候補ブロックのうち少なくとも2つ
の候補ブロックを含む複数のサーチウィンドウの画素デ
ータと、を準備する工程と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
ズに応じた探索領域を形成し該探索領域内に前記サーチ
ウィンドウ内の各候補ブロックの画素データの一部を入
力して保持するとともに該保持した画素データを前記探
索領域の所定方向に転送する第1の画素データ転送保持
手段と、前記第1の画素データ転送保持手段との間で画
素データを授受し前記第1の画素データ転送保持手段と
共に前記サーチウィンドウの画素データを前記探索領域
を通る所定の転送経路に沿って転送する第2の画素デー
タ転送保持手段と、前記転送経路に沿って転送された画
素データの一部を前記第1および第2の画素データ転送
保持手段から入力し出力する第3の画素データ転送保持
手段と、をそれぞれ準備する工程と、 前記サーチウィンドウの画素データを前記第1および第
2の画素データ転送保持手段に入力するとともに、前記
サーチウィンドウの各画素列の画素データが全行一緒に
列方向に往復移動しながら行方向に移動するよう、前記
第1および第2の画素データ転送保持手段により、前記
サーチウィンドウの画素データを前記転送経路に沿って
転送するウィンドウデータ転送工程と、 前記現画像ブロックの画素データと前記第1の画素デー
タ転送保持手段に保持された画素データとに基づいて、
前記現画像ブロックの各々に対し、前記現画像ブロック
と前記複数の候補ブロックとの間の画像の差を表わす複
数のディストーションをそれぞれ算出する第1のディス
トーション算出工程と、 前記現画像ブロックの各々に対し算出された複数のディ
ストーションの値のうち最小値を検出して、前記類似す
る1つの候補ブロックを特定する類似ブロック特定工程
と、を含み、 さらに、 前記第1および第2の画素データ転送保持手段に入力さ
れた前記サーチウィンドウの画素データのうち前記サー
チウィンドウの1列目から所定列分だけ各列の画素デー
タを前記第1および第2の画素データ転送保持手段から
排出しつつ前記第3の画素データ転送保持手段に保持さ
せる排出データ保持工程と、 前記第3の画素データ転送保持手段に保持された画素デ
ータを前記第3の画素データ転送保持手段から前記第1
および第2の画素データ転送保持手段に戻す画素データ
戻し工程と、 該画素データ戻し工程により前記第1および第2の画素
データ転送保持手段に戻された画素データを用いて、前
記現画像ブロックとは異なる現画像ブロックに対応する
ディストーション算出を行う第2のディストーション算
出工程と、を有することを特徴とする動きベクトル探索
方法。1. A method of searching for a motion vector used to predict a current image partially forming a moving image based on a reference image partially forming the moving image, wherein the current image is a pixel. Each of the current image blocks includes a plurality of current image blocks represented by pixels in a plurality of rows and a plurality of columns having data, and the reference image includes a plurality of candidate blocks having the same size as the current image block having pixel data. A motion vector search method for specifying the motion vector based on a block position of any one candidate block similar to the current image block among the plurality of candidate blocks and a block position of the current image block, Pixel data of a plurality of current image blocks and at least two candidate blocks of the plurality of candidate blocks of the reference image And a pixel area of each candidate block in the search window is formed in the search area and a search area corresponding to the size of the search window and the current image block is formed. A pixel is provided between the first pixel data transfer holding means for inputting and holding a part of the data and transferring the held pixel data in a predetermined direction of the search area, and the first pixel data transfer holding means. Second pixel data transfer holding means for transferring data and transferring the pixel data of the search window along with the first pixel data transfer holding means along a predetermined transfer path passing through the search area; and along the transfer path Third pixel data transfer holding means for inputting and outputting a part of the pixel data transferred by the above-mentioned first and second pixel data transfer holding means And, each of the pixel data of the search window is input to the first and second pixel data transfer / holding means, and the pixel data of each pixel column of the search window is arranged in all rows together in the column direction. A window data transfer step of transferring the pixel data of the search window along the transfer path by the first and second pixel data transfer holding means so as to move in the row direction while reciprocating to and from the current image. Based on the pixel data of the block and the pixel data held in the first pixel data transfer holding means,
For each of the current image blocks, a first distortion calculating step of calculating a plurality of distortions representing image differences between the current image block and the plurality of candidate blocks, and for each of the current image blocks. A similar block specifying step of detecting the minimum value of the plurality of calculated distortion values and specifying the similar one candidate block, and further, the first and second pixel data transfer holding Of the pixel data of the search window inputted to the means, the pixel data of each column from the first column of the search window by a predetermined number of columns are discharged from the first and second pixel data transfer holding means and the third And a step of holding the discharge data held by the pixel data transfer holding means, and the image held by the third pixel data transfer holding means. Raw data is transferred from the third pixel data transfer holding means to the first pixel data transfer holding means.
And a pixel data returning step of returning to the second pixel data transfer holding means, and the current image block using the pixel data returned to the first and second pixel data transfer holding means in the pixel data returning step. A second distortion calculation step of performing distortion calculation corresponding to different current image blocks, and a motion vector search method.
画像を部分的に構成する参照画像に基づいて予測するの
に用いられる動きベクトルを探索する装置であり、前記
現画像が画素データを有する複数行複数列の画素により
表わされる複数の現画像ブロックを含み、前記参照画像
がそれぞれ画素データを有する前記現画像ブロックと同
一サイズの複数の候補ブロックを含み、前記現画像ブロ
ック毎に、前記複数の候補ブロックのうち該現画像ブロ
ックに類似する何れか1つの候補ブロックのブロック位
置と該現画像ブロックのブロック位置とによって、前記
動きベクトルを特定する動きベクトル探索装置であっ
て、 前記参照画像の画素データを記憶し前記候補ブロックを
それぞれ少なくとも2つ含んだ複数のサーチウィンドウ
の画素データを出力可能な参照画像データ記憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
ズに応じた探索領域を形成し、該探索領域内に前記サー
チウィンドウ内の各候補ブロックの画素データの一部を
入力して保持するとともに、該保持した画素データを前
記探索領域の所定方向に転送する第1の画素データ転送
保持手段と、 前記第1の画素データ転送保持手段との間で画素データ
を授受し、前記第1の画素データ転送保持手段と共に前
記サーチウィンドウの画素データを前記探索領域を通る
所定の転送経路に沿って転送する第2の画素データ転送
保持手段と、 前記転送経路に沿って転送された画素データの一部を前
記第1および第2の画素データ転送保持手段から入力し
出力する第3の画素データ転送保持手段と、 前記サーチウィンドウの画素データを前記第1および第
2の画素データ転送保持手段に入力させ、前記複数のう
ち少なくとも2つの候補ブロックを前記探索領域内に順
次入力させるとともに、前記サーチウィンドウの各画素
列の画素データが全行一緒に列方向に往復運動しながら
行方向に移動するよう、前記第1および第2の画素デー
タ転送保持手段により前記サーチウィンドウの画素デー
タを前記転送経路に沿って転送させるウィンドウデータ
転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
タ転送保持手段に保持された画素データとに基づいて、
前記現画像ブロックの各々に対し、前記現画像ブロック
と前記複数の候補ブロックとの間の画像の差を表わす複
数のディストーションをそれぞれ算出するディストーシ
ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
ストーションの値のうち最小値を検出して、前記類似す
る1つの候補ブロックを特定する類似ブロック特定手段
と、 前記第1および第2の画素データ転送保持手段により画
素データが転送されるとき、前記第1および第2の画素
データ転送保持手段に入力された画素データのうち前記
サーチウィンドウの1列目から所定列分だけ各列の画素
データを前記第1および第2の画素データ転送保持手段
から排出しつつ前記第3の画素データ転送保持手段に保
持させる排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
転送保持手段に保持された画素データを前記第3の画素
データ転送保持手段から前記第1および第2の画素デー
タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記ディストーション算出手段が、該戻しデータ転送制
御手段により前記第3の画素データ転送保持手段から前
記第1および第2の画素データ転送保持手段に戻された
画素データを用いて、前記現画像ブロックとは異なる現
画像ブロックに対応するディストーション算出を行なう
ことを特徴とする動きベクトル探索装置。2. An apparatus for searching for a motion vector used for predicting a current image partially forming a moving image based on a reference image partially forming the moving image, wherein the current image is a pixel. Each of the current image blocks includes a plurality of current image blocks represented by pixels in a plurality of rows and a plurality of columns having data, and the reference image includes a plurality of candidate blocks having the same size as the current image block having pixel data, respectively. A motion vector search device that specifies the motion vector based on a block position of any one candidate block similar to the current image block among the plurality of candidate blocks and a block position of the current image block, Pixel data of a plurality of search windows, each of which stores pixel data of a reference image and includes at least two candidate blocks. A reference image data storage unit capable of outputting and a search area corresponding to the size of the search window and the current image block are formed, and a part of pixel data of each candidate block in the search window is input into the search area. While holding the pixel data, the pixel data is transferred between the first pixel data transfer holding means for transferring the held pixel data in a predetermined direction of the search area, and the first pixel data transfer holding means, Second pixel data transfer holding means for transferring the pixel data of the search window along the predetermined transfer path passing through the search area together with the first pixel data transfer holding means, and transferred along the transfer path. Third pixel data transfer holding means for inputting and outputting a part of the pixel data from the first and second pixel data transfer holding means, and the search window Window pixel data is input to the first and second pixel data transfer / holding means, at least two candidate blocks of the plurality are sequentially input into the search area, and pixels of each pixel column of the search window are input. Window data for causing the pixel data of the search window to be transferred along the transfer path by the first and second pixel data transfer holding means so that the data moves in the row direction while reciprocating in all columns together in the column direction. Transfer control means, based on the pixel data of the current image block and the pixel data held in the first pixel data transfer holding means,
For each of the current image blocks, distortion calculation means for respectively calculating a plurality of distortions that represent image differences between the current image block and the plurality of candidate blocks, and for each of the current image blocks. Pixel data is transferred by the similar block specifying unit that detects the minimum value of the plurality of distortion values and specifies the similar one candidate block, and the first and second pixel data transfer holding units. At this time, among the pixel data input to the first and second pixel data transfer holding means, the pixel data of each column from the first column of the search window by a predetermined column are transferred to the first and second pixel data. Discharge data holding control means for causing the third pixel data transfer holding means to hold the discharged data while discharging from the holding means; Return data transfer control means for returning the pixel data held in the third pixel data transfer holding means by the holding control means from the third pixel data transfer holding means to the first and second pixel data transfer means, The distortion calculation means uses the pixel data returned from the third pixel data transfer holding means to the first and second pixel data transfer holding means by the return data transfer control means, and A motion vector search device characterized by performing distortion calculation corresponding to a current image block different from an image block.
ストーション算出終了後、前記サーチウィンドウの画素
データがディストーション算出開始時の状態に復帰する
よう、戻しデータ転送制御手段が、前記第3の画素デー
タ転送保持手段に保持されたサーチウィンドウの画素デ
ータを前記第1および第2の画素データ転送保持手段に
戻すとともに、前記ウィンドウデータ転送制御手段が、
前記第1および第2の画素データ転送保持手段に保持さ
れたサーチウィンドウの画素データを前記転送経路と反
対の方向に転送させ、前記ディストーション算出手段
が、前記現画像ブロックとは異なる現画像ブロックに対
応するディストーション算出を行なうことを特徴とする
請求項2に記載の動きベクトル探索装置。3. The return data transfer control means causes the third pixel data transfer holding means to return the pixel data of the search window to the state at the time of starting the distortion calculation after the distortion calculation is completed by the distortion calculating means. While returning the held pixel data of the search window to the first and second pixel data transfer holding means, the window data transfer control means
The pixel data of the search window held by the first and second pixel data transfer holding means is transferred in the direction opposite to the transfer path, and the distortion calculation means changes the current image block different from the current image block. The motion vector search device according to claim 2, wherein a corresponding distortion calculation is performed.
画像を部分的に構成する参照画像に基づいて予測するの
に用いられる動きベクトルを探索する装置であり、N,
Mをそれぞれ整数とするとき、前記現画像が画素データ
を有するN行M列の画素により表わされる複数の現画像
ブロックを含み、前記参照画像がそれぞれ画素データを
有する前記現画像ブロックと同一サイズの複数の候補ブ
ロックを含み、前記現画像ブロック毎に、前記複数の候
補ブロックのうち該現画像ブロックに類似する何れか1
つの候補ブロックのブロック位置と該現画像ブロックの
ブロック位置とによって、前記動きベクトルを特定する
動きベクトル探索装置であって、 H,Lをそれぞれ整数とするとき、前記参照画像の画素
データを記憶し前記候補ブロックをそれぞれ少なくとも
2つ含んだ複数のH行L列のサーチウィンドウの画素デ
ータを出力可能な参照画像データ記憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
ズに応じた(H−N+1)行(L−M+1)列の探索領
域を形成し、該探索領域内に前記サーチウィンドウ内の
各候補ブロックの画素データの一部を入力して保持する
とともに該保持した画素データを前記探索領域の所定方
向に転送する(H−N+1)×(L−M+1)個の第1
レジスタを有する第1の画素データ転送保持手段と、 前記第1の画素データ転送保持手段の第1レジスタとの
間で画素データを授受する複数の第2レジスタを有し、
前記第1の画素データ転送保持手段と共に前記サーチウ
ィンドウの画素データを前記探索領域を通る所定の転送
経路に沿って転送する第2の画素データ転送保持手段
と、 前記転送経路に沿って転送された画素データの一部を前
記第1および第2の画素データ転送保持手段から入力し
出力する(M−1)×H個の第3レジスタを有する第3
の画素データ転送保持手段と、 前記サーチウィンドウの画素データを前記第1および第
2の画素データ転送保持手段に入力させ、前記複数のう
ち少なくとも2つの候補ブロックを前記探索領域内に順
次入力させるとともに、前記サーチウィンドウの各画素
列の画素データが全行一緒に列方向に往復移動しながら
行方向に移動するよう、前記第1および第2の画素デー
タ転送保持手段により前記サーチウィンドウの画素デー
タを前記転送経路に沿って転送させるウィンドウデータ
転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
タ転送保持手段に保持された画素データとに基づいて、
前記現画像ブロックの各々に対し、前記現画像ブロック
と前記複数の候補ブロックとの間の画像の差を表わす複
数のディストーションをそれぞれ算出するディストーシ
ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
ストーションの値のうち最小値を検出して、前記類似す
る1つの候補ブロックを特定する類似ブロック特定手段
と、 前記第1および第2画素データ転送保持手段により画素
データが転送されるとき、前記第1および第2画素デー
タ転送保持手段に入力された画素データのうち前記サー
チウィンドウの1列目から(M−1)列目までの各列の
画素データを前記第1および第2画素データ転送保持手
段から排出しつつ前記第3画素データ転送保持手段に保
持させる排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
転送保持手段に保持された画素データを前記第3の画素
データ転送保持手段から前記第1および第2の画素デー
タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記ディストーション算出手段が、該戻しデータ転送制
御手段により前記第3の画素データ転送保持手段から前
記第1および第2の画素データ転送保持手段に戻された
画素データを用いて、前記現画像ブロックとは異なる現
画像ブロックに対応するディストーション算出を行なう
ことを特徴とする動きベクトル探索装置。4. An apparatus for searching for a motion vector used for predicting a current image partially forming a moving image based on a reference image partially forming the moving image, wherein N,
When M is an integer, the current image includes a plurality of current image blocks represented by N rows and M columns of pixels having pixel data, and the reference image has the same size as the current image block having pixel data. Any one of the plurality of candidate blocks, which is similar to the current image block among the plurality of candidate blocks,
A motion vector search device that specifies the motion vector according to the block position of one candidate block and the block position of the current image block, and stores pixel data of the reference image when H and L are integers. A reference image data storage unit capable of outputting pixel data of a plurality of search windows of H rows and L columns each including at least two candidate blocks, and (H-N + 1) according to the sizes of the search window and the current image block. ) Forming a search area of row (L−M + 1) columns, inputting and holding a part of pixel data of each candidate block in the search window in the search area, and holding the held pixel data in the search area. (H−N + 1) × (L−M + 1) first 1
A first pixel data transfer holding means having a register, and a plurality of second registers for transferring pixel data between the first register of the first pixel data transfer holding means,
Second pixel data transfer holding means for transferring the pixel data of the search window along the predetermined transfer path passing through the search area together with the first pixel data transfer holding means, and transferred along the transfer path. A third having (M−1) × H third registers for inputting and outputting a part of the pixel data from the first and second pixel data transfer holding means.
And pixel data of the search window is input to the first and second pixel data transfer and holding means, and at least two candidate blocks of the plurality are sequentially input into the search area. , So that the pixel data of each pixel column of the search window moves in the row direction while reciprocating in the column direction together with all the rows, the pixel data of the search window is transferred by the first and second pixel data transfer holding means. Based on window data transfer control means for transferring along the transfer path, and pixel data of the current image block and pixel data held in the first pixel data transfer holding means,
For each of the current image blocks, distortion calculation means for respectively calculating a plurality of distortions that represent image differences between the current image block and the plurality of candidate blocks, and for each of the current image blocks. When the minimum value of the plurality of distortion values is detected and the similar block specifying unit that specifies the similar one candidate block and the pixel data are transferred by the first and second pixel data transfer holding units Of the pixel data input to the first and second pixel data transfer holding means, the pixel data of each column from the first column to the (M-1) th column of the search window are set to the first and second pixels. Discharge data holding control means for holding the third pixel data transfer holding means while discharging the data from the data transfer holding means; Return data transfer control means for returning the pixel data held in the third pixel data transfer holding means by the holding control means from the third pixel data transfer holding means to the first and second pixel data transfer means, The distortion calculation means uses the pixel data returned from the third pixel data transfer holding means to the first and second pixel data transfer holding means by the return data transfer control means, and A motion vector search device characterized by performing distortion calculation corresponding to a current image block different from an image block.
(M−1)列分の画素データが前記第3レジスタから第
1および第2レジスタに戻されると同時に、前記探索領
域の1列目の画素列に対応する第1および第2レジスタ
に保持されていた画素データを、前記行方向他方側に戻
すよう転送させ、更に、これらM列分の画素データが前
記何れかの現画像ブロックに対応するディストーション
算出開始時の位置に復帰したとき、前記入力画素データ
の転送方向を再度前記行方向の一方側に切り換え、 前記ディストーション算出手段が、前記第3レジスタか
ら第1および第2レジスタに戻された(M−1)列分の
画素データと、前記第3レジスタに前記(M−1)列分
の画素データが入力されたとき前記探索領域の1列目の
画素列に対応する第1および第2レジスタに保持されて
いた画素データとを用いて、前記現画像ブロックとは異
なる現画像ブロックに対応するディストーション算出を
開始することを特徴とする請求項4に記載の動きベクト
ル探索装置。5. The return data transfer control means returns the pixel data of the (M-1) th column from the third register to the first and second registers, and at the same time, the pixel of the first column of the search area. The pixel data held in the first and second registers corresponding to the columns are transferred so as to be returned to the other side in the row direction, and the pixel data for M columns corresponds to any of the current image blocks. When returning to the position at the time of starting the distortion calculation, the transfer direction of the input pixel data is switched again to the one side in the row direction, and the distortion calculating means is returned from the third register to the first and second registers. When the pixel data for (M-1) columns and the pixel data for (M-1) columns are input to the third register, a first pixel column corresponding to the first pixel column in the search area is input. 5. The motion vector search device according to claim 4, wherein distortion calculation corresponding to a current image block different from the current image block is started using the pixel data held in the second register and the pixel data held in the second register.
画像を部分的に構成する参照画像に基づいて予測するの
に用いられる動きベクトルを探索する装置であり、N,
Mをそれぞれ整数とするとき、前記現画像が画素データ
を有するN行M列の画素により表わされる複数の現画像
ブロックを含み、前記参照画像がそれぞれ画素データを
有する前記現画像ブロックと同一サイズの複数の候補ブ
ロックを含み、前記現画像ブロック毎に、前記複数の候
補ブロックのうち該現画像ブロックに類似する何れか1
つの候補ブロックのブロック位置と該現画像ブロックの
ブロック位置とによって、前記動きベクトルを特定する
動きベクトル探索装置であって、 前記参照画像の画素データを記憶し前記候補ブロックを
それぞれ少なくとも2つ含んだ複数のH行L列のサーチ
ウィンドウの画素データを出力可能な参照画像データ記
憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
ズに応じた(H−N+1)行(L−M+1)列の探索領
域を形成し、該探索領域内に前記サーチウィンドウ内の
各候補ブロックの画素データの一部を入力して保持する
とともに該保持した画素データを前記探索領域の所定方
向に転送する(H−N+1)×(L−M+1)個の第1
レジスタを有する第1の画素データ転送保持手段と、 前記第1の画素データ転送保持手段の第1レジスタとの
間で画素データを授受する複数の第2レジスタを有し、
前記第1の画素データ転送保持手段と共に前記サーチウ
ィンドウの画素データを前記探索領域を通る所定の転送
経路に沿って転送する第2の画素データ転送保持手段
と、 前記転送経路に沿って転送された画素データの一部を前
記第1および第2の画素データ転送保持手段から入力し
出力するM×H個の第3レジスタを有する第3の画素デ
ータ転送保持手段と、 前記サーチウィンドウの画素データを前記第1および第
2の画素データ転送保持手段に入力させるとともに、前
記複数のうち少なくとも2つの候補ブロックを前記探索
領域内に順次入力させるとともに、前記サーチウィンド
ウの各画素列の画素データが全行一緒に列方向に往復移
動しながら行方向に移動するよう、前記第1および第2
の画素データ転送保持手段により前記サーチウィンドウ
の画素データを前記転送経路に沿って転送させるウィン
ドウデータ転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
タ転送保持手段に保持された画素データとに基づいて、
前記現画像ブロックの各々に対し、前記現画像ブロック
と前記複数の候補ブロックとの間の画像の差を表わす複
数のディストーションをそれぞれ算出するディストーシ
ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
ストーションの値のうち最小値を検出して、前記類似す
る1つの候補ブロックを特定する類似ブロック特定手段
と、 前記第1および第2画素データ転送保持手段により画素
データが転送されるとき、前記第1および第2画素デー
タ転送保持手段に入力された画素データのうち前記サー
チウィンドウの1列目からM列目までの各列の画素デー
タを前記第1および第2画素データ転送保持手段から排
出しつつ前記第3画素データ転送保持手段に保持させる
排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
転送保持手段に保持された画素データを前記第3の画素
データ転送保持手段から前記第1および第2の画素デー
タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記ディストーション算出手段が、該戻しデータ転送制
御手段により前記第3の画素データ転送保持手段から前
記第1および第2の画素データ転送保持手段に戻された
画素データを用いて、前記現画像ブロックとは異なる現
画像ブロックに対応するディストーション算出を行なう
ことを特徴とする動きベクトル探索装置。6. An apparatus for searching for a motion vector used to predict a current image partially forming a moving image based on a reference image partially forming the moving image, wherein N,
When M is an integer, the current image includes a plurality of current image blocks represented by N rows and M columns of pixels having pixel data, and the reference image has the same size as the current image block having pixel data. Any one of the plurality of candidate blocks, which is similar to the current image block among the plurality of candidate blocks,
A motion vector search device for specifying the motion vector according to a block position of one candidate block and a block position of the current image block, which stores pixel data of the reference image and includes at least two candidate blocks each. Reference image data storage means capable of outputting pixel data of a plurality of search windows of H rows and L columns, and search of (H-N + 1) rows (L-M + 1) columns according to sizes of the search window and the current image block. A region is formed, a part of the pixel data of each candidate block in the search window is input and held in the search region, and the held pixel data is transferred in a predetermined direction of the search region (H-N + 1). ) × (L−M + 1) first
A first pixel data transfer holding means having a register, and a plurality of second registers for transferring pixel data between the first register of the first pixel data transfer holding means,
Second pixel data transfer holding means for transferring the pixel data of the search window along the predetermined transfer path passing through the search area together with the first pixel data transfer holding means, and transferred along the transfer path. Third pixel data transfer holding means having M × H third registers for inputting and outputting a part of the pixel data from the first and second pixel data transfer holding means, and pixel data of the search window While inputting to the first and second pixel data transfer holding means, at least two candidate blocks of the plurality are sequentially input into the search area, and the pixel data of each pixel column of the search window is stored in all rows. The first and second parts are arranged so as to move in the row direction while reciprocating in the column direction together.
Held by the window data transfer control means for transferring the pixel data of the search window along the transfer path by the pixel data transfer holding means, and the pixel data of the current image block and the first pixel data transfer holding means. Based on pixel data and
For each of the current image blocks, distortion calculation means for respectively calculating a plurality of distortions that represent image differences between the current image block and the plurality of candidate blocks, and for each of the current image blocks. When the minimum value of the plurality of distortion values is detected and the similar block specifying unit that specifies the similar one candidate block and the pixel data are transferred by the first and second pixel data transfer holding units Of the pixel data input to the first and second pixel data transfer holding means, the pixel data of each column from the first column to the Mth column of the search window is transferred to the first and second pixel data transfer holding means. Discharging data holding control means for holding the third pixel data transfer holding means while discharging the discharging data, and the discharging data holding system. Return data transfer control means for returning the pixel data held in the third pixel data transfer holding means by the means from the third pixel data transfer holding means to the first and second pixel data transfer means. The distortion calculation means uses the pixel data returned from the third pixel data transfer holding means to the first and second pixel data transfer holding means by the return data transfer control means to use the current image block. A motion vector search device characterized by performing distortion calculation corresponding to a current image block different from.
ーチウィンドウの1列目からM列目までのM列分の画素
データが前記第3レジスタから前記何れかの現画像ブロ
ックに対応するディストーション算出開始時の位置に復
帰したとき、前記入力画素データの転送方向を再度前記
行方向の一方側に切り換え、 前記ディストーション算出手段が、前記第3レジスタか
ら第1および第2レジスタに戻されたM列分の画素デー
タを用いて、前記現画像ブロックとは異なる現画像ブロ
ックに対応するディストーション算出を開始することを
特徴とする請求項6に記載の動きベクトル探索装置。7. The return data transfer control means starts distortion calculation for pixel data of M columns from the 1st column to the Mth column of the search window from the third register to correspond to any one of the current image blocks. When returning to the position of time, the transfer direction of the input pixel data is switched again to the one side in the row direction, and the distortion calculating means is equivalent to the M columns returned from the third register to the first and second registers. 7. The motion vector search device according to claim 6, wherein distortion calculation corresponding to a current image block different from the current image block is started using the pixel data of.
画像を部分的に構成する参照画像に基づいて予測するの
に用いられる動きベクトルを探索する装置であり、前記
現画像が画素データを有する複数行複数列の画素により
表わされる複数の現画像ブロックを含み、前記参照画像
がそれぞれ画素データを有する前記現画像ブロックと同
一サイズの複数の候補ブロックを含み、前記現画像ブロ
ック毎に、前記複数の候補ブロックのうち該現画像ブロ
ックに類似する何れか1つの候補ブロックのブロック位
置と該現画像ブロックのブロック位置とによって、前記
動きベクトルを特定する動きベクトル探索装置であっ
て、 前記参照画像の画素データを記憶し前記候補ブロックを
それぞれ少なくとも2つ含んだ複数のサーチウィンドウ
の画素データを出力可能な参照画像データ記憶手段と、 前記サーチウィンドウおよび前記現画像ブロックのサイ
ズに応じた探索領域を形成し、該探索領域内に前記サー
チウィンドウ内の各候補ブロックの画素データの一部を
入力して保持するとともに、該保持した画素データを前
記探索領域の所定方向に転送する第1の画素データ転送
保持手段と、 前記第1の画素データ転送保持手段との間で画素データ
を授受し、前記第1の画素データ転送保持手段と共に前
記サーチウィンドウの画素データを前記探索領域を通る
所定の転送経路に沿って転送する第2の画素データ転送
保持手段と、 前記転送経路に沿って転送された画素データの一部を前
記第1および第2の画素データ転送保持手段から入力し
出力する第3の画素データ転送保持手段と、 前記参照画像データ記憶手段から前記複数のうち何れか
のサーチウィンドウの一部の画素データを含む所定画素
領域分ずつ画素データを読み出して記憶するとともに、
記憶済のサーチウィンドウの画素データを前記参照画像
データ記憶手段からのデータ転送速度より大きい転送速
度で前記第1および第2の画素データ転送保持手段に供
給する高速転送記憶手段と、 前記高速転送記憶手段に記憶されたサーチウィンドウの
画素データを前記第1および第2の画素データ転送保持
手段に入力させ、前記複数のうち少なくとも2つの候補
ブロックを前記探索領域内に順次入力させるとともに、
前記サーチウィンドウの各画素列のデータを全行一緒に
列方向に往復運動させながら行方向に移動するよう、前
記第1および第2の画素データ転送保持手段により前記
サーチウィンドウの画素データを前記転送経路に沿って
転送させるウィンドウデータ転送制御手段と、 前記現画像ブロックの画素データと前記第1の画素デー
タ転送保持手段に保持された画素データとに基づいて、
前記現画像ブロックの各々に対し、前記現画像ブロック
と前記複数の候補ブロックとの間の画像の差を表わす複
数のディストーションをそれぞれ算出するディストーシ
ョン算出手段と、 前記現画像ブロックの各々に対し算出された複数のディ
ストーションの値のうち最小値を検出して、前記類似す
る1つの候補ブロックを特定する類似ブロック特定手段
と、 前記第1および第2画素データ転送保持手段により画素
データが転送されるとき、前記第1および第2画素デー
タ転送保持手段に入力された画素データのうち前記サー
チウィンドウの1列目から所定列分だけ各列の画素デー
タを前記第1および第2画素データ転送保持手段から排
出しつつ前記第3画素データ転送保持手段に保持させる
排出データ保持制御手段と、 該排出データ保持制御手段により前記第3の画素データ
転送保持手段に保持された画素データを前記第3の画素
データ転送保持手段から前記第1および第2の画素デー
タ転送手段に戻す戻しデータ転送制御手段と、 を備え、 前記高速転送記憶手段が、前記参照画像データ記憶手段
から読み出し記憶している前記所定画素領域分の画素デ
ータのうち、前記探索領域内に戻された画素データに続
く転送順序の画素データを前記第1および第2の画素デ
ータ転送保持手段に再度入力させ、 前記ディストーション算出手段が、前記戻しデータ転送
制御手段により前記第3画素データ転送保持手段から前
記第1および第2の画素データ転送保持手段に戻された
画素データと、前記高速転送記憶手段から前記第1およ
び第2の画素データ転送保持手段に再度入力された画素
データとを用いて、前記現画像ブロックとは異なる現画
像ブロックに対応するディストーション算出を行なうこ
とを特徴とする動きベクトル探索装置。8. An apparatus for searching for a motion vector used to predict a current image partially forming a moving image based on a reference image partially forming the moving image, wherein the current image is a pixel. Each of the current image blocks includes a plurality of current image blocks represented by pixels in a plurality of rows and a plurality of columns having data, and the reference image includes a plurality of candidate blocks having the same size as the current image block having pixel data, respectively. A motion vector search device that specifies the motion vector based on a block position of any one candidate block similar to the current image block among the plurality of candidate blocks and a block position of the current image block, Pixel data of a plurality of search windows, each of which stores pixel data of a reference image and includes at least two candidate blocks. A reference image data storage unit capable of outputting and a search area corresponding to the size of the search window and the current image block are formed, and a part of pixel data of each candidate block in the search window is input into the search area. While holding the pixel data, the pixel data is transferred between the first pixel data transfer holding means for transferring the held pixel data in a predetermined direction of the search area, and the first pixel data transfer holding means, Second pixel data transfer holding means for transferring the pixel data of the search window along the predetermined transfer path passing through the search area together with the first pixel data transfer holding means, and transferred along the transfer path. Third pixel data transfer holding means for inputting and outputting a part of the pixel data from the first and second pixel data transfer holding means, and the reference image data The pixel data is read from the data storage unit for each predetermined pixel area including a part of the pixel data of any one of the plurality of search windows and is stored, and
High-speed transfer storage means for supplying the stored pixel data of the search window to the first and second pixel data transfer holding means at a transfer rate higher than the data transfer rate from the reference image data storage means; The pixel data of the search window stored in the means is input to the first and second pixel data transfer holding means, and at least two candidate blocks of the plurality are sequentially input into the search area, and
The pixel data of the search window is transferred by the first and second pixel data transfer holding means so that the data of each pixel column of the search window is moved in the row direction while reciprocating in all the rows together in the column direction. Based on window data transfer control means for transferring along a path, pixel data of the current image block and pixel data held in the first pixel data transfer holding means,
For each of the current image blocks, distortion calculation means for respectively calculating a plurality of distortions that represent image differences between the current image block and the plurality of candidate blocks, and for each of the current image blocks. When the minimum value of the plurality of distortion values is detected and the similar block specifying unit that specifies the similar one candidate block and the pixel data are transferred by the first and second pixel data transfer holding units Of the pixel data input to the first and second pixel data transfer holding means, pixel data of each column from the first column of the search window by a predetermined number of columns are transferred from the first and second pixel data transfer holding means. Discharge data holding control means for holding the third pixel data transfer holding means while discharging, and the discharge data holding system Return data transfer control means for returning the pixel data held in the third pixel data transfer holding means by the means from the third pixel data transfer holding means to the first and second pixel data transfer means. Among the pixel data for the predetermined pixel area read and stored from the reference image data storage means, the high-speed transfer storage means stores pixel data in a transfer order subsequent to the pixel data returned in the search area. The first and second pixel data transfer holding means are input again, and the distortion calculating means is controlled by the return data transfer controlling means from the third pixel data transfer holding means to the first and second pixel data transfer holding means. The pixel data returned to the first and second pixel data transfer holding means from the high-speed transfer storage means Using the chromatography data, the motion vector search apparatus characterized by performing the distortion calculation corresponding to different current picture block from the current picture block.
第1および第2の画素データ転送保持手段に画素データ
が戻され、該画素データに続く転送順序の画素データが
前記高速転送記憶手段から前記第1および第2の画素デ
ータ転送保持手段に再度入力されることにより、前記複
数のうち何れかのサーチウィンドウの一部の画素データ
が前記探索領域に供給されるとき、 前記何れかのサーチウィンドウの残部の画素データを前
記参照画像データ記憶手段から読み出して前記高速転送
記憶手段に記憶させることを特徴とする請求項8に記載
の動きベクトル探索装置。9. Pixel data is returned from said third pixel data transfer holding means to said first and second pixel data transfer holding means, and pixel data in a transfer order following said pixel data is transferred from said high speed transfer storage means. When part of the pixel data of any one of the plurality of search windows is supplied to the search area by being input again to the first and second pixel data transfer holding means, any one of the search 9. The motion vector search device according to claim 8, wherein the pixel data of the remaining part of the window is read from the reference image data storage means and stored in the high-speed transfer storage means.
前記探索領域内におけるディストーション算出開始時の
画素データの位置を保って画素データを入力し出力する
ことを特徴とする請求項4〜9の何れかに記載の動きベ
クトル探索装置。10. The third pixel data transfer holding means comprises:
10. The motion vector search device according to claim 4, wherein the pixel data is input and output while maintaining the position of the pixel data at the start of the distortion calculation in the search area.
がそれぞれ偶数の画素列を有することを特徴とする請求
項2〜5および8〜10の何れかに記載の記載の動きベ
クトル探索装置。11. The motion vector search device according to claim 2, wherein each of the current image block and the candidate block has an even number of pixel columns.
がそれぞれ奇数の画素列を有することを特徴とする請求
項2および3並びに6〜10の何れかに記載の記載の動
きベクトル探索装置。12. The motion vector search device according to claim 2, wherein each of the current image block and the candidate block has an odd number of pixel columns.
第1レジスタと共に二次元的に配列された複数の演算器
を有するシストリックアレー構造の演算回路によって構
成されることを特徴とする請求項4〜12の何れかに記
載の動きベクトル探索装置。13. The distortion calculating means is composed of an arithmetic circuit having a systolic array structure having a plurality of arithmetic units arranged two-dimensionally together with the first register. The motion vector search device according to any one of 1.
第2レジスタが各列同数になるよう(N−1)×(L−
M+1)個設けられ、前記探索領域の列方向の一方向に
転送された画素データを入力して出力するととともに、
残りの第2レジスタが各列同数になるよう(N−1)×
(L−M+1)個設けられ、前記探索領域の列方向の他
方向に転送された画素データを入力して出力することを
特徴とする請求項4〜13の何れかに記載の動きベクト
ル探索装置。14. Among the plurality of second registers, some of the second registers have the same number in each column (N−1) × (L−).
M + 1) pieces of pixel data are provided, and the pixel data transferred in one direction in the column direction of the search area is input and output, and
(N-1) x so that the remaining second registers have the same number in each column
14. The motion vector search device according to claim 4, wherein (L−M + 1) pieces of pixel data are provided, and the pixel data transferred in the other direction of the column of the search area is input and output. .
う(N−1)×(L−M+1)個設けられ、前記探索領
域の列方向両端の画素に対応する第1レジスタ間に介在
して画素データを転送することを特徴とする請求項4〜
13の何れかに記載の動きベクトル探索装置。15. The (N-1) × (L−M + 1) number of the second registers are provided so that each column has the same number, and the second registers are interposed between the first registers corresponding to the pixels at both ends in the column direction of the search area. The pixel data is transferred by performing the above process.
13. The motion vector search device according to any one of 13.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25030095A JP2868441B2 (en) | 1995-09-28 | 1995-09-28 | Motion vector search method and search device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25030095A JP2868441B2 (en) | 1995-09-28 | 1995-09-28 | Motion vector search method and search device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0993587A true JPH0993587A (en) | 1997-04-04 |
JP2868441B2 JP2868441B2 (en) | 1999-03-10 |
Family
ID=17205863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25030095A Expired - Lifetime JP2868441B2 (en) | 1995-09-28 | 1995-09-28 | Motion vector search method and search device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2868441B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006352220A (en) * | 2005-06-13 | 2006-12-28 | Rohm Co Ltd | Sad operating unit and macro block searching device |
-
1995
- 1995-09-28 JP JP25030095A patent/JP2868441B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006352220A (en) * | 2005-06-13 | 2006-12-28 | Rohm Co Ltd | Sad operating unit and macro block searching device |
JP4519009B2 (en) * | 2005-06-13 | 2010-08-04 | ローム株式会社 | SAD operation device and macroblock search device using the same |
Also Published As
Publication number | Publication date |
---|---|
JP2868441B2 (en) | 1999-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100203913B1 (en) | Motion vector generator | |
US4937666A (en) | Circuit implementation of block matching algorithm with fractional precision | |
JP3101691B2 (en) | Method and circuit for processing a data signal representing successive pixels of a two-dimensional video | |
JP2868441B2 (en) | Motion vector search method and search device | |
JP2768646B2 (en) | Motion vector search method and search device | |
US6931066B2 (en) | Motion vector selection based on a preferred point | |
JP2868457B2 (en) | Motion vector search device | |
JP2868440B2 (en) | Motion vector search method and search device | |
JP2931783B2 (en) | Motion vector search device | |
JP2866325B2 (en) | Motion vector search device | |
JP2866324B2 (en) | Motion vector search device | |
JP2004229150A (en) | Motion vector searching method and device | |
JP2963369B2 (en) | Motion vector search device | |
JP2868444B2 (en) | Motion vector search method and search device | |
JP2866321B2 (en) | Motion vector search method and apparatus | |
JP2983170B2 (en) | Motion vector search method and search device | |
JP2872105B2 (en) | Distortion calculator | |
JP2768648B2 (en) | Motion vector search method and apparatus | |
JPH05328332A (en) | High parallel movement-compensated computing element | |
JP3698501B2 (en) | Motion vector detection device | |
JP3115511B2 (en) | Motion vector search device | |
JPH0951535A (en) | Moving vector search device | |
JP2968233B2 (en) | Motion vector search method and search device | |
JPH0537923A (en) | Method for using memory for two-step block matching search in movement compensation prediction | |
JPH06178289A (en) | Motion vector detection circuit |