JPH10164595A - Image processor - Google Patents

Image processor

Info

Publication number
JPH10164595A
JPH10164595A JP31989996A JP31989996A JPH10164595A JP H10164595 A JPH10164595 A JP H10164595A JP 31989996 A JP31989996 A JP 31989996A JP 31989996 A JP31989996 A JP 31989996A JP H10164595 A JPH10164595 A JP H10164595A
Authority
JP
Japan
Prior art keywords
image data
storage means
address
image
predetermined
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.)
Abandoned
Application number
JP31989996A
Other languages
Japanese (ja)
Inventor
Toshiro Ishikawa
敏郎 石川
Yukio Yanagida
幸雄 柳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP31989996A priority Critical patent/JPH10164595A/en
Priority to US08/979,789 priority patent/US6058142A/en
Priority to GB9822920A priority patent/GB2327827B/en
Priority to GB9725054A priority patent/GB2320388B/en
Priority to DE19752929A priority patent/DE19752929A1/en
Publication of JPH10164595A publication Critical patent/JPH10164595A/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PROBLEM TO BE SOLVED: To speedily scan and process stored image data through less power consumption. SOLUTION: Current image data are stored in a current block memory 91, and image data in the searching range of a reference picture are stored in a searching window memory 92. A register file in the memory 92 is read out through the use of a gray code to successively input referring image data into processor elements 93, and these elements 93-1 to 93-n execute pipe line processing to obtain the difference accumulated value of the current block and a candidate block as the whole processor array 93. Then difference accumulated values obtained from plural candidate blocks are compared by a comparing part 94, and the candidate block of the smallest value is extracted to detect a motion vector based on the candidate block.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、たとえば動画像の
符号化時における動き検出処理などの、画像データを順
次走査しながら所定の処理を行うのに好適な画像処理装
置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing apparatus suitable for performing a predetermined process while sequentially scanning image data, such as a motion detection process for encoding a moving image.

【0002】[0002]

【従来の技術】近年、動画像を高品質で高圧縮率で符号
化する符号化技術に進展が著しい。そのような動画像圧
縮を効率よく行うための主要技術の1つとして、画像の
動きを示す動きベクトルを求める動き検出がある。この
動きベクトルを求める手法はいくつか提案されている
が、主な手法の1つとしてブロックマッチングといわれ
る手法がある。このブロックマッチングについて図6を
参照して説明する。このブロックマッチングにおいて
は、動き検出の対照となる画像(以後、カレント画像と
言う)を、たとえばM画素×Nラインと言うようなブロ
ック(以後、カレントブロックと言う)に分割して、そ
のカレントブロックごとに動きベクトルを求める。
2. Description of the Related Art In recent years, coding techniques for coding moving images at high quality and at a high compression rate have been remarkably advanced. One of the main techniques for efficiently performing such moving image compression is motion detection for obtaining a motion vector indicating the motion of an image. Several methods for obtaining the motion vector have been proposed. One of the main methods is a method called block matching. This block matching will be described with reference to FIG. In this block matching, an image to be detected for motion detection (hereinafter referred to as a current image) is divided into blocks (hereinafter referred to as a current block) such as M pixels × N lines, and the current block is divided into blocks. A motion vector is obtained every time.

【0003】まず、動き検出をするための比較を行う通
常カレント画像より時間的に前の画像(以後、参照画像
と言う)のカレントブロックと対応する位置の近傍に所
定の探索範囲を設定し、この探索範囲内から与えられた
候補動きベクトルに基づいてカレントブロックと同じM
画素×Nラインの複数のブロック(以後、候補ブロック
と言う)を抽出する。次に、そのカレントブロックと候
補ブロックの対応する画素同士の差分を求め、さらにブ
ロック内の全画素の差分のたとえば累積値を求めてその
候補ブロックの評価値とする。そして、その評価値の最
小となる候補ブロックを探し出し、その候補ブロックに
対応する候補動きベクトルを、そのカレントブロックに
対する動きベクトルとする。
First, a predetermined search range is set near a position corresponding to a current block of an image temporally preceding a normal current image (hereinafter referred to as a reference image) for comparison for motion detection, Based on the candidate motion vector given from within this search range, the same M
A plurality of blocks of pixels × N lines (hereinafter referred to as candidate blocks) are extracted. Next, a difference between corresponding pixels of the current block and the candidate block is obtained, and further, for example, an accumulated value of differences of all pixels in the block is obtained as an evaluation value of the candidate block. Then, a candidate block having the minimum evaluation value is searched for, and a candidate motion vector corresponding to the candidate block is set as a motion vector for the current block.

【0004】ところで、このような動き検出方法におい
ては、候補ブロックの探索範囲の大きさにより、圧縮お
よび伸張された画像の品質が大きく影響を受けるため、
大きな探索範囲を用いて高速に動き検出が行えるように
している。そのために、LSI内部でこのような回路を
構成する場合などにおいては、たとえば候補ブロックを
生成する基準画像の探索範囲の画像データはレジスタフ
ァイルに記憶しておき、それを順次走査するように読み
出し、換言すればFIFO形式で読み出し、カレントブ
ロックの画素との差分算出を行っている。
In such a motion detection method, the quality of a compressed and decompressed image is greatly affected by the size of a search range for candidate blocks.
High-speed motion detection can be performed using a large search range. For this reason, when such a circuit is configured inside the LSI, for example, image data in a search range of a reference image for generating a candidate block is stored in a register file, and is read out so as to be sequentially scanned. In other words, the data is read out in the FIFO format, and the difference from the pixels in the current block is calculated.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、このよ
うな方法においてはそれらレジスタファイルの読み出し
にバイナリコードアドレスを用いているため、順次画素
データを読み出す、すなわち連続的にアドレスを変化さ
せてデータを読み出す際に、アドレスデコーダの出力に
ハザードが発生し、そのハザードによりレジスタファイ
ルの出力バスでは頻繁に出力の衝突が生じ、レジスタフ
ァイル全体の消費電力が大きくなるという問題が生じ
る。特に、前述した動き検出回路のような処理において
は、高速に処理が行われるため、出力の衝突による消費
電力は小さくない。また、このような動画像符号化回路
のような回路はLSI化されて実用化される場合が多
く、そのため、一層の低消費電力化が望まれている。
However, in such a method, since the binary code addresses are used for reading the register files, the pixel data is sequentially read, that is, the data is read by changing the address continuously. At this time, a hazard occurs in the output of the address decoder, and the hazard frequently causes an output collision on the output bus of the register file, resulting in a problem that the power consumption of the entire register file increases. In particular, in the processing such as the above-described motion detection circuit, the processing is performed at high speed, so that the power consumption due to the output collision is not small. Further, such a circuit as a moving picture coding circuit is often made into an LSI and put into practical use. Therefore, further reduction in power consumption is desired.

【0006】したがって、本発明の目的は、より少ない
消費電力で記憶した画像データを高速に走査して処理す
ることができる画像処理装置を提供することにある。
Accordingly, it is an object of the present invention to provide an image processing apparatus which can scan and process stored image data at a high speed with less power consumption.

【0007】[0007]

【課題を解決するための手段】前記課題を解決するため
に、読み出しアドレスが連続的に変化するような場合に
は、アドレスとしてグレイコード値を使用することによ
り、バスの衝突を避け、消費電力の増大を抑えるように
した。
In order to solve the above-mentioned problem, when the read address changes continuously, a gray code value is used as the address to avoid bus collision and reduce power consumption. Of increase.

【0008】したがって、本発明の画像処理装置は、画
像データを順次走査して所定の処理を行う装置であっ
て、各々アドレスが付与された複数の記憶手段であっ
て、前記画像データを所定の単位ごとに各々記憶し、連
続する該所定の単位ごとの画像データを前記アドレスが
1ビットのみ異なる記憶手段に順に記憶する複数の記憶
手段と、前記複数の記憶手段ごとに設けられ、当該記憶
手段の選択信号が印加された時のみ当該記憶手段に記憶
されている内容を出力する複数の出力ゲート手段と、連
続する前記所定の単位ごとの画像データが記憶されてい
る各々1ビットずつ異なる前記アドレスを順に生成する
アドレス生成手段と、前記生成されたアドレスをデコー
ドして前記複数の記憶手段のいずれかを選択する選択信
号を生成し、当該記憶手段に設けられている前記出力ゲ
ート手段に印加するデコード手段と、前記複数の出力ゲ
ート手段を介して順次出力される前記画像データを用い
て、前記所定の処理を行う画像処理手段とを有する。
Therefore, the image processing apparatus of the present invention is an apparatus for performing predetermined processing by sequentially scanning image data, and includes a plurality of storage means each assigned an address, and stores the image data in a predetermined manner. A plurality of storage means for storing the image data of each of the predetermined units successively in a storage means in which the address differs by only one bit, and a plurality of storage means provided for each of the plurality of storage means; A plurality of output gate means for outputting the contents stored in the storage means only when the selection signal is applied, and the address in which the image data for each of the continuous predetermined units is stored is different by one bit each. And an address generating means for generating a selection signal for decoding the generated address and selecting one of the plurality of storage means. Using a decoding means for applying to said output gate means provided on the stage, the image data are sequentially outputted through the plurality of output gate means, and an image processing means for performing predetermined processing.

【0009】好適には、本発明の画像処理装置は、入力
される画像データを、所定の単位ごとに、連続する該所
定の単位ごとの画像データがアドレスが1ビットのみ異
なる前記記憶手段に記憶されるように、前記複数の記憶
手段に記憶する画像データ書き込み手段をさらに有す
る。特定的には、前記各手段は、集積回路上に構成さ
れ、前記複数の記憶手段と、該複数の記憶手段に対応し
て構成される前記複数の出力ゲート手段と、前記アドレ
スに基づいて前記出力ゲート手段に前記選択信号を印加
するデコード手段とは、レジスタファイル手段として構
成される。好適には、前記複数の記憶手段の各記憶手段
は、前記画像データの1画素ごとの画素データを各々記
憶する。
Preferably, the image processing apparatus according to the present invention stores the input image data in the storage means for each predetermined unit, in which the image data for each of the continuous predetermined units differs in address by only one bit. The image data writing means for storing the image data in the plurality of storage means. Specifically, each of the means is configured on an integrated circuit, the plurality of storage means, the plurality of output gate means corresponding to the plurality of storage means, and the plurality of output gate means based on the address. The decoding means for applying the selection signal to the output gate means is configured as a register file means. Preferably, each storage unit of the plurality of storage units stores pixel data for each pixel of the image data.

【0010】また特定的には、前記複数の記憶手段に
は、動き検出を行うための参照画像の少なくとも所定の
動き探索範囲内の画像データが記録され、前記アドレス
生成手段は、前記記憶されている所定の動き探索範囲内
の画像データより抽出される複数の候補ブロックの画像
データを順次出力するようなアドレスを生成し、前記画
像処理手段は、前記生成されたアドレスに基づいて順次
出力される複数の候補ブロックの画像データと、動き検
出対象の画像ブロックの画像データとの、対応する各画
素の差分値に基づいた所定の評価値を前記各候補ブロッ
クごとに抽出し、該評価値に基づいて当該動き検出対象
の画像ブロックの画像データに対応する前記候補ブロッ
クを抽出し、該抽出された候補ブロックに基づいて動き
ベクトルを検出する。
More specifically, image data within at least a predetermined motion search range of a reference image for performing motion detection is recorded in the plurality of storage units, and the address generation unit stores the stored image data. An address for sequentially outputting image data of a plurality of candidate blocks extracted from image data within a predetermined motion search range, and the image processing means is sequentially output based on the generated address. A predetermined evaluation value based on a difference value of each corresponding pixel between the image data of the plurality of candidate blocks and the image data of the image block of the motion detection target is extracted for each of the candidate blocks, and based on the evaluation value, Extracting the candidate block corresponding to the image data of the image block to be motion detected, and detecting a motion vector based on the extracted candidate block.

【0011】[0011]

【発明の実施の形態】本発明の画像処理装置の一実施の
形態として、動画像符号化装置に適用される動き検出装
置について図1〜図5を参照して説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS As an embodiment of an image processing apparatus according to the present invention, a motion detecting apparatus applied to a moving picture coding apparatus will be described with reference to FIGS.

【0012】まず、本実施の形態の動き検出装置を説明
する前に、この動き検出装置を好適に適用することので
きる動画像符号化装置について説明する。図1はその動
画像符号化装置の構成を示すブロック図である。この動
画像符号化装置10は、MPEG2方式(Moving Pictur
e coding Experts Groupによる高品質動画符号化方式)
により入力されるデジタルビデオデータを圧縮符号化す
る装置である。
First, before describing the motion estimation device of the present embodiment, a video encoding device to which the motion estimation device can be suitably applied will be described. FIG. 1 is a block diagram showing the configuration of the video encoding device. This moving picture coding apparatus 10 is based on the MPEG2 method (Moving Pictur
(High quality video coding system by e coding Experts Group)
Is a device for compressing and encoding digital video data input by a digital camera.

【0013】動画像符号化装置10は、フォーマット変
換部11、並び換え部12、加算器13、DCT部1
4、量子化部15、可変長符号化部16、バッファ1
7、レート制御部18、逆量子化部19、逆DCT部2
0、加算器21、フレームメモリ22および動き補償予
測部23を有する。この動画像符号化装置10において
は、入力されたデジタルビデオデータは、まずフォーマ
ット変換部11で符号化に用いる空間解像度に変換され
る。また、B(Bidirectionally predictive coded)ピ
クチャでは時間的に前後した画面を用いて符号化を行う
ため、並び換え部12においてピクチャタイプ(I(In
tracoded )ピクチャ、P(Predictive coded)ピクチ
ャ、Bピクチャ)に合わせて画面の並び換えが行われ
る。
The moving picture coding apparatus 10 includes a format conversion unit 11, a rearrangement unit 12, an adder 13, and a DCT unit 1.
4, quantization unit 15, variable length coding unit 16, buffer 1
7, rate control unit 18, inverse quantization unit 19, inverse DCT unit 2
0, an adder 21, a frame memory 22, and a motion compensation prediction unit 23. In the moving picture coding apparatus 10, input digital video data is first converted into a spatial resolution used for coding by a format conversion unit 11. Also, in the case of a B (Bidirectionally predictive coded) picture, encoding is performed using a screen that precedes and follows in time.
(tracoded) picture, P (Predictive coded) picture, B picture).

【0014】次に、この各入力画面は、8画素×8ライ
ンのマクロブロック単位で符号化が行われる。まず、そ
のマクロブロックの符号化モードが動き補償予測モード
の場合には、加算器13において、参照画面から動き予
測によって得られるマクロブロック画像データの差分が
取られ、予測誤差信号が生成される。この予測誤差信号
が、DCT部14でDCT符号化される。得られたDC
T符号化係数は、ターゲットビットや視覚特性に応じて
量子化部15において量子化され、低周波成分から順に
スキャンニングされて1次元情報に変換される。そし
て、動きベクトルや符号化モード情報とともに可変長符
号化部16において可変長符号化され、バッファ17に
蓄積された後、MPEGビデオビットストリームとして
出力される。
Next, each input screen is encoded in units of macroblocks of 8 pixels × 8 lines. First, when the coding mode of the macroblock is the motion compensation prediction mode, the adder 13 calculates the difference between macroblock image data obtained by motion prediction from the reference screen, and generates a prediction error signal. This prediction error signal is DCT-coded by the DCT unit 14. DC obtained
The T-coded coefficients are quantized in the quantization unit 15 according to the target bits and visual characteristics, and are sequentially scanned from the low-frequency components and converted into one-dimensional information. Then, the data is variable-length encoded by the variable-length encoding unit 16 together with the motion vector and the encoding mode information, stored in the buffer 17, and then output as an MPEG video bit stream.

【0015】また、符号化した画面が、Iピクチャまた
はPピクチャの場合には、後で動き補償予測の参照画面
として用いる必要があるため、逆量子化部19において
量子化された情報が逆量子化され、逆DCT部20にお
いて逆DCTされ、さらに加算器21により動き補償さ
れて局部復号化が行われ、復号化装置と同一の画像に復
元されてフレームメモリ22に蓄積される。このフレー
ムメモリ22に蓄積された画像データに基づいて、入力
された画像データに対して動き補償予測部23において
動き補償予測が行われ、予測誤差を求めるための基準信
号として加算器13に出力される。なお、可変長符号化
部16より発生される符号量は可変となるため、符号化
データを固定ビットレートにする場合には、レート制御
部18がバッファ17を監視してビット量を把握し、タ
ーゲットビットレートに合わせた量子化制御を行う。
When the coded picture is an I picture or a P picture, it is necessary to use the picture as a reference picture for motion compensation prediction later. The image data is subjected to inverse DCT in the inverse DCT unit 20 and further subjected to motion compensation by the adder 21 to perform local decoding, restored to the same image as that of the decoding device, and stored in the frame memory 22. Based on the image data stored in the frame memory 22, the motion-compensated prediction unit 23 performs motion-compensated prediction on the input image data, and outputs to the adder 13 as a reference signal for obtaining a prediction error. You. Since the code amount generated by the variable length coding unit 16 is variable, when setting the coded data to a fixed bit rate, the rate control unit 18 monitors the buffer 17 to grasp the bit amount, Perform quantization control according to the target bit rate.

【0016】このような動画像符号化装置10におい
て、本実施の形態の動き検出装置は、動き補償予測部2
3における動きベクトルの検出に適用される。その本発
明に係わる動き検出装置について図2〜図5を参照して
説明する。図2は、その動き検出装置90の構成を示す
ブロック図である。動き検出装置90は、カレントブロ
ックメモリ91、サーチウィンドウメモリ92、プロセ
ッサエレメントアレイ93および比較部94を有する。
In such a moving picture coding apparatus 10, the motion detection apparatus according to the present embodiment includes a motion compensation prediction unit 2.
3 is applied to the detection of the motion vector. The motion detection device according to the present invention will be described with reference to FIGS. FIG. 2 is a block diagram showing the configuration of the motion detection device 90. The motion detection device 90 includes a current block memory 91, a search window memory 92, a processor element array 93, and a comparison unit 94.

【0017】まず、この動き検出装置30の各部の構成
および機能について説明する。カレントブロックメモリ
31は、カレント画像データを16画素×16ラインの
ブロックに分割して得られる動きベクトル検出対象の各
カレントブロックが順次入力されるメモリである。
First, the configuration and function of each unit of the motion detection device 30 will be described. The current block memory 31 is a memory to which each current block to be detected as a motion vector obtained by dividing the current image data into blocks of 16 pixels × 16 lines is sequentially input.

【0018】サーチウィンドウメモリ92は、カレント
画像より時間的に1フレーム前の画像の、カレントブロ
ックの近傍の所定のサーチ範囲の画像データを記録する
レジスタファイルである。このサーチ範囲は、本実施の
形態においては、カレントブロックの水平方向に±32
画素、垂直方向に±16ラインの範囲である。すなわ
ち、N=M=16とした時の、図6に示すような範囲の
参照画像データが、サーチウィンドウメモリ34に記憶
される。
The search window memory 92 is a register file for recording image data within a predetermined search range near the current block of an image one frame before the current image in time. In this embodiment, the search range is ± 32 in the horizontal direction of the current block.
Pixels have a range of ± 16 lines in the vertical direction. That is, when N = M = 16, reference image data in a range as shown in FIG. 6 is stored in the search window memory 34.

【0019】このサーチウィンドウメモリ92の詳細な
構成について図3を参照して説明する。図3は、サーチ
ウィンドウメモリ92の構成を示すブロック図であり、
サーチウィンドウメモリ92は、ライトアドレスデコー
ダ921、m個のメモリセルユニット922-1〜922
-mを有するセルユニットアレイ923、m個のメモリセ
ルユニット922-1〜922-mに対応してその出力部に
設けられているm個の出力ゲート924-1〜924-m
よびリードアドレスデコーダ925を有する。
The detailed configuration of the search window memory 92 will be described with reference to FIG. FIG. 3 is a block diagram showing a configuration of the search window memory 92.
The search window memory 92 includes a write address decoder 921, and m memory cell units 922 -1 to 922.
-m output gates 924 -1 to 924 -m and read address decoders provided at the output portions thereof corresponding to the m memory cell units 922 -1 to 922 -m. 925.

【0020】そして、このサーチウィンドウメモリ92
においては、m個のメモリセルユニット922-1〜92
-mに対してグレイコードによりアドレスが付与されて
いる。すなわち、物理的に先頭の位置より順に0000
b(=0),0001b(=1),0011b(=
2),0010b(=3),0110b(=4),01
11b(=5),0101b(=6),0100b(=
7),1100b(=8)・・・のように、隣接するメ
モリセルユニット同士ではそのアドレスが必ず1ビット
しか違わないようなアドレスが付与される。なお、前記
bはその表記が2進法表記であることを示す。
The search window memory 92
, M memory cell units 922 -1 to 92-2
An address is given to 2- m by a gray code. That is, 0000 in order from the physically leading position.
b (= 0), 0001b (= 1), 0011b (=
2), 0010b (= 3), 0110b (= 4), 01
11b (= 5), 0101b (= 6), 0100b (=
7), 1100b (= 8),..., Addresses adjacent to each other are assigned such that their addresses always differ by one bit. Note that b indicates that the notation is a binary notation.

【0021】そして、ライトアドレスデコーダ921に
おいては、これらのグレイコードアドレスで入力される
ライトアドレスをデコードし、そのアドレスで示される
メモリセルユニット922に対して選択信号およびライ
トイネーブル信号を出力して、入力されるデータをその
メモリセルユニット922に書き込む。また、リードア
ドレスデコーダ925においては、同じくグレイコード
アドレスで入力されるリードアドレスをデコードし、そ
のアドレスで示されるメモリセルユニット922に対応
して設けられている出力ゲート924に対して、出力を
オンにするための出力イネーブル信号を出力する。
The write address decoder 921 decodes the write address inputted by these gray code addresses, and outputs a select signal and a write enable signal to the memory cell unit 922 indicated by the address. The input data is written to the memory cell unit 922. The read address decoder 925 also decodes the read address input by the gray code address and turns on the output to the output gate 924 provided corresponding to the memory cell unit 922 indicated by the address. An output enable signal is output for setting

【0022】また、このサーチウィンドウメモリ92に
対しては、図示せぬ動き検出装置90の制御部からアド
レス信号や制御信号が入力されて制御される。これによ
り、参照画像の探索範囲の画像データがライトアドレス
デコーダ921を介して順次セルユニットアレイ923
に記録される。また記録された画像データより適宜候補
ブロックが抽出され、その候補ブロックの画像データを
示すリードアドレス信号がリードアドレスデコーダ92
5に入力され、その候補ブロックの画素データが順次サ
ーチウィンドウメモリ92より出力される。
The search window memory 92 is controlled by inputting an address signal and a control signal from a control unit of a motion detection device 90 (not shown). Thus, the image data in the search range of the reference image is sequentially transferred to the cell unit array 923 via the write address decoder 921.
Will be recorded. Further, a candidate block is appropriately extracted from the recorded image data, and a read address signal indicating the image data of the candidate block is supplied to the read address decoder 92.
5, and the pixel data of the candidate block is sequentially output from the search window memory 92.

【0023】なお、その候補ブロックの画素データとし
ては、セルユニットアレイ923に記録されている画像
データより抽出可能な、カレントブロックと同じ16画
素×16ラインのブロックが全て抽出され順次出力され
る。すなわち、まず探索範囲の画像の左上位置より順次
1画素ずつずらされて16画素×16ラインの候補ブロ
ックが順次抽出され、右上のブロックが抽出されたら今
度は1ライン下方向に範囲をずらして同じく左方向より
右方向に順次候補ブロックが抽出される。
As the pixel data of the candidate block, all the blocks of 16 pixels × 16 lines, which are the same as the current block, which can be extracted from the image data recorded in the cell unit array 923, are extracted and sequentially output. That is, first, a candidate block of 16 pixels × 16 lines is sequentially extracted by being shifted one pixel at a time from the upper left position of the image in the search range, and once the upper right block is extracted, the range is shifted downward by one line. Candidate blocks are sequentially extracted rightward from left.

【0024】プロセッサエレメントアレイ93は、カレ
ントブロックメモリ91より入力されて適宜プロセッサ
エレメント93-1〜93-n間をシフトされるカレントブ
ロックの各画素データと、サーチウィンドウメモリ92
より入力される候補ブロックの各画素データの、対応す
る画素同士の差を各プロセッサエレメント93-i(i=
1〜n)で求める。そして、求められた差を各プロセッ
サエレメント93-1〜93-nについて順次伝搬させて累
積ることにより、最終的に各候補ブロックに対する累積
エラー値が求められ、比較部94に出力される。
The processor element array 93 includes pixel data of the current block which is input from the current block memory 91 and is appropriately shifted between the processor elements 93-1 to 93 - n, and a search window memory 92.
The difference between the corresponding pixels of the pixel data of the candidate block input from the processor block 93 -i (i =
1 to n). Then, the obtained difference is sequentially propagated and accumulated for each of the processor elements 93 -1 to 93 -n , so that an accumulated error value for each candidate block is finally obtained and output to the comparing unit 94.

【0025】そのプロセッサエレメントアレイ93
-i(i=1〜n)の詳細な構成を図4に示す。プロセッ
サエレメントアレイ93-iは、カレントブロックデータ
を記憶する第1のレジスタ931、第1のレジスタ93
1に記憶されたカレントブロックデータと、入力される
候補ブロックデータの差を算出する差分算出回路93
2、差分算出回路932で算出された差分と、前段のプ
ロセッサエレメントアレイ93-iで算出された差分の累
積値(累積エラー値)とを加算する演算器932、およ
び、その演算器932で算出された累積エラー値を記憶
する第2のレジスタ934を有する。
The processor element array 93
FIG. 4 shows the detailed configuration of -i (i = 1 to n). The processor element array 93 -i includes a first register 931 and a first register 93 for storing current block data.
1 and a difference calculation circuit 93 for calculating a difference between the input block data and the current block data.
2. An arithmetic unit 932 that adds the difference calculated by the difference calculation circuit 932 and the accumulated value (accumulated error value) of the difference calculated by the preceding processor element array 93 -i , and the arithmetic unit 932 calculates And a second register 934 for storing the accumulated error value.

【0026】そして、プロセッサエレメント934の出
力は、順次次段のプロセッサエレメント93-i+1に入力
されるようになっており、これにより基本的にカレント
ブロックデータと候補ブロックデータの全画素の差分の
累積値が得られる。また、第1のレジスタ931も順次
次段のプロセッサエレメント93-i+1に入力されてお
り、n個のプロセッサエレメント93-1〜93-nにより
実質的にシフトレジスタが構成されている。そして、入
力される候補ブロックデータに応じて、カレント画像デ
ータを順次プロセッサエレメントからプロセッサエレメ
ントにシフトすることにより、各候補ブロックにおける
対応する画素同士の演算が行えるようにしている。
The output of the processor element 934 is sequentially input to the next-stage processor element 93 -i + 1 , whereby the difference between all pixels of the current block data and the candidate block data is basically obtained. Is obtained. The first register 931 is also sequentially input to the next-stage processor element 93- i + 1 , and the shift register is substantially constituted by the n processor elements 93-1 to 93 - n . Then, the current image data is sequentially shifted from the processor element to the processor element according to the input candidate block data, so that the operation of the corresponding pixels in each candidate block can be performed.

【0027】比較部94は、プロセッサエレメントアレ
イ93において各候補ブロックに対して順次求められた
差分累積値を順次比較して、その最小値を検出し、その
時の候補ブロックを抽出する。そして、動き検出装置9
0内の図示せぬ制御部において、最終的に比較部37に
おいて抽出された差分累積値が最小になる候補ブロック
に基づいて候補ベクトルを検出し、前述し動画像符号化
装置10の可変長符号化部16などに出力する。
The comparing section 94 sequentially compares the difference accumulation values sequentially obtained for each candidate block in the processor element array 93, detects the minimum value, and extracts the candidate block at that time. And the motion detection device 9
In a control unit (not shown) within 0, a candidate vector is finally detected based on the candidate block having the smallest difference accumulated value extracted by the comparison unit 37, and the variable length code of the moving image Output to the conversion unit 16 and the like.

【0028】このような動き検出装置90においては、
カレントブロックメモリ91にカレント画像データを保
存し、サーチウィンドウメモリ92に基準画像の探索範
囲内の画像データを保存する。これらカレントブロック
メモリ91およびサーチウィンドウメモリ92に記憶さ
れたカレントブロックおよび候補ブロックの各画素デー
タは、プロセッサエレメントアレイ93内のプロセッサ
エレメント(PE)93-1〜93-nに入力され、このプ
ロセッサエレメント93-1〜93-nがパイプライン処理
を行うことにより、プロセッサアレイ93全体としてカ
レントブロックおよび候補ブロックの差分累積値を求め
る。そして、複数の候補ブロックから得られた差分累積
値を比較部94において比較し、その値の最も小さい候
補ブロックを抽出し、その候補ブロックに基づいて動き
ベクトルを検出する。
In such a motion detecting device 90,
Current image data is stored in the current block memory 91, and image data within the search range of the reference image is stored in the search window memory 92. Each pixel data of the current block and the candidate block stored in the current block memory 91 and the search window memory 92 is input to the processor elements (PE) 93-1 to 93 - n in the processor element array 93, and this processor element 93 -1 to 93 -n perform the pipeline processing to obtain the accumulated difference of the current block and the candidate block as the whole processor array 93. Then, the comparison unit 94 compares the accumulated difference values obtained from the plurality of candidate blocks, extracts a candidate block having the smallest value, and detects a motion vector based on the candidate block.

【0029】そして特に、サーチウィンドウメモリ92
においては、動き検出装置90の制御部で生成されるリ
ードアドレス信号に従って順次画像データが読み出さ
れ、順次プロセッサエレメントアレイ93に対して出力
されるが、この時にそのリードアドレスはグレイコード
が用いられているので、ハザードが全く生じず、サーチ
ウィンドウメモリ92内のm個のメモリセルユニット9
22-1〜922-mによるバスの衝突も全く生じない。
In particular, the search window memory 92
In, the image data is sequentially read out according to the read address signal generated by the control unit of the motion detecting device 90 and sequentially output to the processor element array 93. At this time, the read address uses a gray code. Therefore, no hazard occurs, and the m memory cell units 9 in the search window memory 92
There is no bus collision caused by 22 -1 to 922 -m .

【0030】このことについて図5を参照して説明す
る。図5は、セルユニットアレイ923に記憶されてい
る画素データをリードする際のアドレス信号の波形を示
す図であり、(A)はリードアドレスを示す図、(B)
はビットごとに展開されたバイナリコードによるアドレ
スを示す図、(C)はビットごとに展開されたグレイコ
ードによるアドレスを示す図、(D)はバイナリコード
によるアドレスをデコードして得られた出力ゲートイネ
ーブル信号を示す図である。
This will be described with reference to FIG. FIG. 5 is a diagram showing a waveform of an address signal when pixel data stored in the cell unit array 923 is read, (A) showing a read address, and (B) showing a read address.
Is a diagram showing an address by a binary code expanded for each bit, (C) is a diagram showing an address by a gray code expanded for each bit, and (D) is an output gate obtained by decoding the address by the binary code. FIG. 4 is a diagram illustrating an enable signal.

【0031】図5(A)に示すようにリードアドレスが
0,1,2・・・と変化した場合に、バイナリコードに
よりこのアドレスが入力されていたとすると、このアド
レスの各ビットの信号は図5(B)に示すように変化す
る。すなわち、2本以上の信号線が同時に変化する場合
が生じる。その結果、そのデコード結果である出力イネ
ーブル信号には図5(D)に示すようなハザードが生
じ、この時にバス衝突が生じる。一方で、このリードア
ドレスがグレイコードアドレスで入力されていたとする
と、図5(C)に示すように変化する信号線は必ず1本
である。その結果、図5(D)に示したようなハザード
が全く生じず、バス衝突も発生しない。
As shown in FIG. 5A, when the read address changes to 0, 1, 2,..., If this address is input by a binary code, the signal of each bit of this address is 5 (B). That is, two or more signal lines may change at the same time. As a result, a hazard as shown in FIG. 5D occurs in the output enable signal which is the decoding result, and at this time, a bus collision occurs. On the other hand, if the read address is input as a gray code address, there is always one signal line that changes as shown in FIG. As a result, there is no hazard as shown in FIG. 5D, and no bus collision occurs.

【0032】なお、このような回路において一般に消費
電力は式1のように示され、本実施の形態においては、
Σ(dQ/dt) の項を0にすることができたことになる。
In general, the power consumption of such a circuit is expressed by the following equation (1).
This means that the term Σ (dQ / dt) has been reduced to zero.

【0033】[0033]

【数1】 P=PCK+PD +PDC+Σ(dQ/dt) V ・・・(1) ただし、PCKは、クロックライン消費電力、PD は、デ
ータライン消費電力、PDCは、直流貫通電流による消費
電力、Σ(dQ/dt) は、ダイナミックハザードによる消
費電力である。
P = P CK + P D + P DC + Σ (dQ / dt) V (1) where P CK is clock line power consumption, P D is data line power consumption, and P DC is DC Power consumption due to through current, 電力 (dQ / dt), is power consumption due to dynamic hazard.

【0034】このように、本実施の形態の動き検出装置
90においては、レジスタファイルからデータを連続的
に読み出す際に、読み出しアドレスとしてグレイコード
アドレスを採用するようにしたので、レジスタファイル
の出力バスに対するバッファのオンオフの介すを削減す
ることができ、消費電力を削減することができる。その
結果、たとえばMPEGエンコードをLSI化した場合
などで、特に高速なFIFOを必要する場合などに好ま
しい画像処理装置を提供することができた。
As described above, in the motion detection device 90 of the present embodiment, when data is continuously read from the register file, the gray code address is adopted as the read address. Can be reduced by turning the buffer on and off, and power consumption can be reduced. As a result, it is possible to provide an image processing apparatus that is preferable when, for example, MPEG encoding is implemented as an LSI, particularly when a high-speed FIFO is required.

【0035】なお、本発明は本実施の形態に限られるも
のではなく、種々の改変が可能である。たとえば、本実
施の形態の動き検出装置90のサーチウィンドウメモリ
92においては、セルユニットアレイ923に対してデ
ータを書き込む際のライトアドレスデコーダ921およ
びデータを読み出す際のリードアドレスデコーダ925
の両方についてグレイコードアドレスを採用している。
しかしながら、これはリードアドレスデコーダ925の
みに採用するような構成でもよい。すなわち、ライトア
ドレスデコーダ921の方は、通常のバイナリコードに
よりアクセスを行うようにしてもよい。ただし、その場
合にはセルユニットアレイ923の各メモリセルユニッ
ト922に対してライトアドレスとリードアドレスの2
つのアドレッシングがなされることになる。しかし、バ
イナリコードを使用したい場合にはこのような構成でも
よい。
The present invention is not limited to the present embodiment, and various modifications are possible. For example, in search window memory 92 of motion detecting apparatus 90 of the present embodiment, write address decoder 921 when writing data to cell unit array 923 and read address decoder 925 when reading data from cell unit array 923.
Use Gray code addresses for both.
However, this may be a configuration adopted only in the read address decoder 925. That is, the write address decoder 921 may access using a normal binary code. However, in that case, the write address and the read address for each memory cell unit 922 of the cell unit
Addressing will be performed. However, if a binary code is to be used, such a configuration may be used.

【0036】また、本実施の形態においてはカレントブ
ロックメモリ91およびサーチウィンドウメモリ92は
別個の画像メモリのような構成となっているが、実質的
に同一のメモリ手段により構成するようにしてもよい。
また、本実施の形態においては、各画素データの差分の
全画素の合計値をその候補ブロックの評価値として、複
数の候補ブロックより1のブロックを選択しているが、
たとえば、各画素ごとに差分の自乗値を求め、それを全
画素について合計し、その候補ブロックの評価値とする
ようにしてもよい。その場合には、プロセッサエレメン
トアレイ93の各プロセッサエレメントの演算器933
は、自乗演算を行うことになる。もちろん、各プロセッ
サエレメントの構成はそのような構成でもよく、図4に
示した本実施の形態の構成に限られるものではない。
Further, in the present embodiment, the current block memory 91 and the search window memory 92 are configured as separate image memories, but may be configured by substantially the same memory means. .
Further, in the present embodiment, one block is selected from a plurality of candidate blocks, with the total value of all pixels of the difference of each pixel data as the evaluation value of the candidate block.
For example, the square value of the difference may be calculated for each pixel, and the sum may be calculated for all the pixels to obtain the evaluation value of the candidate block. In that case, the arithmetic unit 933 of each processor element of the processor element array 93
Performs a square operation. Of course, the configuration of each processor element may be such a configuration, and is not limited to the configuration of the present embodiment shown in FIG.

【0037】[0037]

【発明の効果】以上説明したように、本発明の画像処理
装置によれば、レジスタファイルを用いて画像データを
順次走査するような場合に、その消費電力を少なくする
ことができる。
As described above, according to the image processing apparatus of the present invention, power consumption can be reduced when image data is sequentially scanned using a register file.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の画像処理装置を適用するのに好適な動
画像符号化装置の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a moving image encoding device suitable for applying an image processing device of the present invention.

【図2】本発明の一実施の形態の動き検出装置の構成を
示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration of a motion detection device according to an embodiment of the present invention.

【図3】図2に示した動き検出装置のサーチウィンドウ
メモリの構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a search window memory of the motion estimation device shown in FIG.

【図4】図2に示した動き検出装置のプロセッサエレメ
ントの構成を示すブロック図である。
FIG. 4 is a block diagram showing a configuration of a processor element of the motion detection device shown in FIG.

【図5】図3に示したサーチウィンドウメモリのセルユ
ニットアレイに記憶されている画素データをリードする
際のアドレス信号の波形を示す図であり、(A)はリー
ドアドレスを示す図、(B)はビットごとに展開された
バイナリコードによるアドレスを示す図、(C)はビッ
トごとに展開されたグレイコードによるアドレスを示す
図、(D)はバイナリコードによるアドレスをデコード
して得られた出力ゲートイネーブル信号を示す図であ
る。
5A is a diagram showing a waveform of an address signal when pixel data stored in a cell unit array of the search window memory shown in FIG. 3 is read, FIG. 5A is a diagram showing a read address, and FIG. ) Shows an address in binary code expanded for each bit, (C) shows an address in gray code expanded for each bit, and (D) shows an output obtained by decoding an address in binary code. FIG. 6 is a diagram illustrating a gate enable signal.

【図6】カレントブロック、動きベクトル探索範囲、お
よび、候補ブロックを説明するための図である。
FIG. 6 is a diagram illustrating a current block, a motion vector search range, and a candidate block.

【符号の説明】[Explanation of symbols]

10…動画像符号化装置、11…フォーマット変換部、
12…並び換え部、13…加算器、14…DCT部、1
5…量子化部、16…可変長符号化部、17…バッフ
ァ、18…レート制御部、19…逆量子化部、20…逆
DCT部、21…加算器、22…フレームメモリ、23
…動き補償予測部、90…動き検出回路、91…カレン
トブロックメモリ、92…サーチウィンドウメモリ、9
21…ライトアドレスデコーダ、922…メモリセルユ
ニット、923…セルユニットアレイ、924…出力ゲ
ート、925…サーチウィンドウメモリ、93…プロセ
ッサエレメント、931…第1のレジスタ、932,9
33…演算器、934…第2のレジスタ、94…比較部
10: moving image encoding device, 11: format conversion unit,
12: rearrangement unit, 13: adder, 14: DCT unit, 1
5 Quantizer, 16 Variable length encoder, 17 Buffer, 18 Rate controller, 19 Inverse quantizer, 20 Inverse DCT unit, 21 Adder, 22 Frame memory, 23
... Motion compensation prediction unit, 90 ... Motion detection circuit, 91 ... Current block memory, 92 ... Search window memory, 9
21: Write address decoder, 922: Memory cell unit, 923: Cell unit array, 924: Output gate, 925: Search window memory, 93: Processor element, 931: First register, 932, 9
33: arithmetic unit, 934: second register, 94: comparison unit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】画像データを順次走査して所定の処理を行
う画像処理装置であって、 各々アドレスが付与された複数の記憶手段であって、前
記画像データを所定の単位ごとに各々記憶し、連続する
該所定の単位ごとの画像データを前記アドレスが1ビッ
トのみ異なる記憶手段に順に記憶する複数の記憶手段
と、 前記複数の記憶手段ごとに設けられ、当該記憶手段の選
択信号が印加された時のみ当該記憶手段に記憶されてい
る内容を出力する複数の出力ゲート手段と、 連続する前記所定の単位ごとの画像データが記憶されて
いる各々1ビットずつ異なる前記アドレスを順に生成す
るアドレス生成手段と、 前記生成されたアドレスをデコードして前記複数の記憶
手段のいずれかを選択する選択信号を生成し、当該記憶
手段に設けられている前記出力ゲート手段に印加するデ
コード手段と、 前記複数の出力ゲート手段を介して順次出力される前記
画像データを用いて、前記所定の処理を行う画像処理手
段とを有する画像処理装置。
1. An image processing apparatus for performing predetermined processing by sequentially scanning image data, comprising a plurality of storage means each having an address, wherein the storage means stores the image data in predetermined units. A plurality of storage means for sequentially storing image data for each of the predetermined units in a storage means in which the address differs by only one bit; and a plurality of storage means provided for each of the plurality of storage means, and a selection signal of the storage means is applied. A plurality of output gate means for outputting the contents stored in the storage means only when the image data is stored, and an address generation means for sequentially generating the addresses, each of which is different by one bit and in which the continuous image data of each predetermined unit is stored. Means for decoding the generated address to generate a selection signal for selecting one of the plurality of storage means, and outputting the selection signal provided in the storage means. An image processing apparatus comprising: decoding means for applying to the force gate means; and image processing means for performing the predetermined processing by using the image data sequentially output through the plurality of output gate means.
【請求項2】入力される画像データを、所定の単位ごと
に、連続する該所定の単位ごとの画像データがアドレス
が1ビットのみ異なる前記記憶手段に記憶されるよう
に、前記複数の記憶手段に記憶する画像データ書き込み
手段をさらに有する請求項1記載の画像処理装置。
2. A method according to claim 1, wherein the input image data is stored in the plurality of storage units such that successive image data in the predetermined unit is stored in the storage unit having a different address by one bit. 2. The image processing apparatus according to claim 1, further comprising an image data writing unit that stores the image data in the image data.
【請求項3】前記各手段は、集積回路上に構成され、前
記複数の記憶手段と、該複数の記憶手段に対応して構成
される前記複数の出力ゲート手段と、前記アドレスに基
づいて前記出力ゲート手段に前記選択信号を印加するデ
コード手段とは、レジスタファイル手段として構成され
る請求項2記載の画像処理装置。
3. Each of the means is configured on an integrated circuit, the plurality of storage means, the plurality of output gate means corresponding to the plurality of storage means, and the plurality of output gate means based on the address. 3. The image processing apparatus according to claim 2, wherein the decoding means for applying the selection signal to the output gate means is configured as a register file means.
【請求項4】前記複数の記憶手段の各記憶手段は、前記
画像データの1画素ごとの画素データを各々記憶する請
求項3記載の画像処理装置。
4. The image processing apparatus according to claim 3, wherein each storage means of said plurality of storage means stores pixel data for each pixel of said image data.
【請求項5】前記複数の記憶手段には、動き検出を行う
ための参照画像の少なくとも所定の動き探索範囲内の画
像データが記録され、 前記アドレス生成手段は、前記記憶されている所定の動
き探索範囲内の画像データより抽出される複数の候補ブ
ロックの画像データを順次出力するようなアドレスを生
成し、 前記画像処理手段は、前記生成されたアドレスに基づい
て順次出力される複数の候補ブロックの画像データと、
動き検出対象の画像ブロックの画像データとの、対応す
る各画素の差分値に基づいた所定の評価値を前記各候補
ブロックごとに抽出し、該評価値に基づいて当該動き検
出対象の画像ブロックの画像データに対応する前記候補
ブロックを抽出し、該抽出された候補ブロックに基づい
て動きベクトルを検出する請求項4記載の画像処理装
置。
5. A plurality of storage means for recording image data within a predetermined motion search range of a reference image for performing motion detection, wherein said address generation means stores said predetermined motion data. Generating an address for sequentially outputting image data of a plurality of candidate blocks extracted from the image data within the search range, wherein the image processing means comprises: a plurality of candidate blocks sequentially output based on the generated address. Image data and
A predetermined evaluation value based on the difference value of each corresponding pixel with the image data of the motion detection target image block is extracted for each of the candidate blocks, and the motion detection target image block is extracted based on the evaluation value. The image processing apparatus according to claim 4, wherein the candidate block corresponding to the image data is extracted, and a motion vector is detected based on the extracted candidate block.
JP31989996A 1996-11-29 1996-11-29 Image processor Abandoned JPH10164595A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP31989996A JPH10164595A (en) 1996-11-29 1996-11-29 Image processor
US08/979,789 US6058142A (en) 1996-11-29 1997-11-26 Image processing apparatus
GB9822920A GB2327827B (en) 1996-11-29 1997-11-26 Image processing apparatus
GB9725054A GB2320388B (en) 1996-11-29 1997-11-26 Image processing apparatus
DE19752929A DE19752929A1 (en) 1996-11-29 1997-11-28 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31989996A JPH10164595A (en) 1996-11-29 1996-11-29 Image processor

Publications (1)

Publication Number Publication Date
JPH10164595A true JPH10164595A (en) 1998-06-19

Family

ID=18115483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31989996A Abandoned JPH10164595A (en) 1996-11-29 1996-11-29 Image processor

Country Status (1)

Country Link
JP (1) JPH10164595A (en)

Similar Documents

Publication Publication Date Title
US7444026B2 (en) Image processing apparatus and method of motion vector detection in a moving picture, and recording medium used therewith
KR100333229B1 (en) Image signal coding method
JP2744871B2 (en) Image signal encoding method and image signal encoding device
US6058142A (en) Image processing apparatus
KR980007742A (en) Picture coding apparatus and picture decoding apparatus
JP2007507987A (en) Rectangular motion search
US20240244221A1 (en) Image processing method
JPS6075184A (en) System and apparatus for coding dynamic picture signal
JP4675383B2 (en) Image decoding apparatus and method, and image encoding apparatus
JPH10136381A (en) Moving image encoding/decoding device and method therefor
JPH06351000A (en) Picture signal encoder and picture signal decoder
JPH10164595A (en) Image processor
JPH10164596A (en) Motion detector
GB2327827A (en) Motion vector detection image processing apparatus
JP3549175B2 (en) Motion vector detection method and apparatus
JP2000050278A (en) Motion vector calculation method, and recording medium recorded with motion vector calculation program therein
JP3129279B2 (en) Encoding device, encoding method, and recording medium
JPH1042300A (en) Motion vector detection device
JP2001268581A (en) Image predictive decoding method, image predictive decoder, image predictive encoding method, image predictive encoder and data storage medium
JP2000078589A (en) Method for calculating movement vector and storage medium for recording movement vector calculating program
JP4264606B2 (en) Data processing apparatus and data processing method
JPH0795526A (en) Apparatus and method for processing of image
JPH09214976A (en) Device and method for generating still picture data
JPH0714205B2 (en) Sequential reproduction vector quantization encoding / decoding device
JP2953351B2 (en) Predictive coding device for television signals

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20060320