JPH10257498A - 動き検出lsi - Google Patents

動き検出lsi

Info

Publication number
JPH10257498A
JPH10257498A JP5293897A JP5293897A JPH10257498A JP H10257498 A JPH10257498 A JP H10257498A JP 5293897 A JP5293897 A JP 5293897A JP 5293897 A JP5293897 A JP 5293897A JP H10257498 A JPH10257498 A JP H10257498A
Authority
JP
Japan
Prior art keywords
data
memory
block
pixels
motion detection
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.)
Pending
Application number
JP5293897A
Other languages
English (en)
Inventor
Hiromi Watanabe
浩已 渡辺
Kenichi Tominaga
憲一 冨永
Takao Watabe
▲隆▼夫 渡部
Kazushige Ayukawa
一重 鮎川
Susumu Narita
進 成田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5293897A priority Critical patent/JPH10257498A/ja
Publication of JPH10257498A publication Critical patent/JPH10257498A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】画像の動き検出に使用するデータの読み出し時
間と演算時間の短縮。 【解決手段】動き検出する演算回路6と、参照画像フレ
ームを記憶する参照メモリ3と圧縮対象画像フレームを
記憶する入力メモリ4とを、同一チップ上に配置し、入
力メモリ4から圧縮対象ブロックの複数の画素データを
並列に読み出し、参照メモリ3から動き検出範囲内の複
数の画素データを並列に読み出す。これらのデータを用
いて、演算回路6に設けた複数の演算器61から68に
より、複数の参照ブロックと同一の圧縮対象ブロックと
の間の相関を並列に実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、動画像の圧縮等に
利用される動き検出回路を内在した太規模集積回路(L
SI)に関する。
【0002】
【従来の技術】画像を圧縮し、蓄積するあるいは伝送す
る方式として、ITU−T(国際電気通信連合電気通信
標準化部門)からH.261やH.262が、ISO
(国際標準化機構)からMPEG1(11172−2)
やMPEG2(13818−2)が勧告されている。こ
れらの方式は、動き補償フレーム間予測を採用してい
る。映像信号は、フレーム(あるいはフィールド)間の
冗長性が高いことが知られている。動き補償フレーム間
予測は、この冗長性を除去する技術である。この技術で
は、圧縮対象の画像フレームを複数のブロック(以下、
圧縮対象ブロック)に分割し、各圧縮対象ブロック単位
に処理を行う。すなわち、各圧縮対象ブロックに対し
て、時間的に前に信号処理された画像フレーム(参照画
像フレームと呼ばれる)の中のその圧縮対象ブロックの
近傍に位置する動き検出範囲から、上記圧縮対象ブロッ
クと同じ大きさの複数のブロック(以下、参照ブロック
と呼ぶ)を切り出し、これらの参照ブロックのうちで、
上記圧縮対象ブロックに最も近似した参照ブロックを探
し出す。次に、その圧縮対象ブロックと捜し出された参
照ブロックとの差分を符号化し、それによりその圧縮対
象ブロックに対する圧縮された信号(符号列)を生成す
る。動き検出とは、この最も類似した参照ブロックを探
索する処理であり、動きベクトルは、各圧縮対象ブロッ
クと、そのブロックに対して捜し出された参照ブロック
との間の画面上の変位である。このように、動き検出回
路は、通常、符号化器と一緒に使用される。
【0003】動き検出を行う回路を一つのLSIに搭載
した動き検出LSIも提案されている。例えば、電子通
信学会技報、ICD95−104号、第17頁−第23
頁あるいは同号第25頁−第32頁参照。このような動
き検出LSIは、外部のメモリより圧縮対象の画像フレ
ームを構成する画像データを順次読み出し、さらに、各
画像フレームの読み出しと同期して、そのフレームの処
理に使用する参照画像フレームを外部の他のメモリより
読み出す。これらの二つの画像フレームを使用して、圧
縮対象ブロックに対して動きベクトルを検出する。符号
化器は、その動きベクトルに基づいてその圧縮対象ブロ
ックを符号化し、さらに、そのブロックに対して動画補
償を行う。この結果得られるブロックを次の画像フレー
ムに対する参照ブロックとして、上記参照画像フレーム
用のメモリに書き込む。
【0004】動き検出LSIは、一次元のシストリック
アレー状に接続された複数の演算器を含み、この圧縮対
象ブロックのデータと、参照画像データ内の動き検出範
囲のデータとがこの演算器列の一端に順次入力され、こ
れらの演算器列が、圧縮画像ブロックの各画素のデータ
と、参照画像の動き検出範囲内の一つの参照ブロックの
各画素のデータとを用いてそれらのブロックの間の相関
を検出する。さらに、この参照ブロックを動き検出範囲
内で順次切り替えて、以上の相関計算を実行する。こう
して、動き検出範囲内の複数の参照ブロックの内で、圧
縮対象ブロックに対して最も相関度が大きい参照ブロッ
クを検出し、その参照ブロックの位置と圧縮対象ブロッ
クの位置とから、動き検出ベクトルを計算する。以上の
処理を圧縮対象ブロックを順次切り替えて繰り返す。
【0005】
【発明が解決しようとする課題】従来の動き検出LSI
では、圧縮対象画像フレームを記憶する上記メモリ及び
参照画像フレームを記憶する上記メモリが、このLSI
の外部に設けられている。一般に、LSIの外部接続用
のピン数の制限もあって、これらのメモリから動き検出
LSIには、圧縮対象ブロックおよび参照画像データを
画素データ単位に順次シリアルに供給されている。
【0006】このため、それぞれのデータを供給し始め
てから実際に上記演算器列により演算を開始するに必要
な画素数のデータが供給され終るまでの時間、すなわ
ち、上記データを供給開始してから上記演算器列の演算
が開始されるまでの時間が長くなる。すなわち、データ
の入力時間が大きいという問題がある。このために、各
フレームの圧縮時間が増大する。この問題は、動き検出
範囲が拡大するに従ってより顕著になる。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明による動き検出LSIは、第1に動き検出す
る演算回路と、圧縮対称画像フレームを記憶する第1の
メモリと参照用の画像フレームを記憶する第2のメモリ
とを、同一チップ上に有し、さらに、第1,第2のメモ
リのそれぞれを同時に複数の画素データを読み出せる構
成とした。これらのメモリからデータを読み出す回路
に、上記第1のメモリから圧縮対象のブロックに属する
上記複数の画素の内、少なくとも一部の複数の画素のデ
ータを並列に読み出し、上記第2のメモリから、上記動
き検出範囲に属する上記複数の画素の内、少なくとも一
部の複数のデータを並列に読み出す回路を設けた。上記
演算回路には、上記第2のメモリから読み出された上記
複数の画素のデータの内の異なる複数の部分のそれぞれ
と上記第1のメモリから読み出された上記複数の画素の
データとの相関を検出する並列に動作可能な複数の演算
器を設けた。
【0008】本発明のより具体的な態様では、第1のメ
モリから同時に読み出す画素データを、圧縮対象ブロッ
クの水平画素数とし、また、参照メモリから同時に読み
出す画素データを、動き検出範囲の水平画素数とし、並
列に接続された演算器を、算出する動きベクトルの水平
方向の数として、水平方向の異なる動きベクトルを並列
に同時に演算する構成とする。さらに、具体的には、動
きベクトルの演算器は、ブロックの水平画素数の減算器
と、その減算器からの出力を絶対値加算する加算器とで
構成する。
【0009】
【発明の実施の形態】以下、本発明に係る動き検出LS
Iを図面に示したいくつかの実施の形態を参照してさら
に詳細に説明する。なお、以下においては、同じ参照番
号は同じものもしくは類似のものを表わすものとする。
また、第2の実施の形態以降では、第1の実施の形態と
の相違点を主に説明する。
【0010】<発明の実施の形態1>図1において、動
き検出LSI1は、単一のチップ上に構成され、このLS
Iには、圧縮対象の画像フレームを保持するための入力
メモリ4と、参照画像フレームを保持するための参照メ
モリ3とが設けられている。入力メモリ4には、圧縮対
象の画像フレームが図示しない外部の装置から、図示し
ない信号線を介して順次1フレームづつ入力される。参
照メモリ3には、この圧縮画像フレームに対応する参照
画像フレームが図示しない符号化器から、図示しない信
号線を介して順次1フレームづつ入力される。読み出し
回路5は、アドレスデコーダ51,参照カウンタ52,
基準Yレジスタ54,基準Xレジスタ55、及び加算器
56、57とからなり、二つのメモリ3,4からデータ
を読み出すのに使用される。
【0011】この読み出し回路5は、入力メモリ4に対
して、処理中の一つの圧縮対象ブロックの垂直走査線方
向の座標(Y座標)とともに、そのブロック内の同一の
水平走査線に属する全画素の水平走査線方向の座標(X
座標)とを与える。入力メモリ4は、読み出し回路5か
ら与えられたこれらのアドレスに応答して、そのブロッ
クの同一の水平走査線に属する全ての画素を読み出し、
並列に出力するように構成されている。さらに、この読
み出し回路5は参照メモリ3に対して、この圧縮対象ブ
ロックに対応する動き検出範囲のY座標と、その範囲内
の、同一の水平走査線に属する全画素の水平走査線方向
の座標(X座標)を与える。この参照メモリ3は、これ
らのアドレスに応答して、この動き検出範囲に属し、読
み出し回路5から与えられたY座標を有する水平走査線
上の全画素のデータを並行して読み出すように構成され
ている。
【0012】演算回路6は、複数の演算器61から68
と最小値検出器69とからなり、これらのメモリの出力
から動きベクトルを検出するのに使用される。とくに、
これらの複数の演算器61から68が参照画像フレーム
中の複数のブロックのそれぞれと同じ圧縮対象ブロック
との間の相関を並行して算出可能になっている。このよ
うに、入力メモリ4および参照メモリ3から複数の画素
データを一度に出力させると、これらのメモリの出力信
号線の数が増大する。このために、本実施の形態では、
これらのメモリを動き検出LSI1内に形成し、このL
SIの外部ピンが増大するのを防いでいる。
【0013】最小値検出器69により検出された動きベ
クトルは、図示しない上記符号化器に端子7及び8を介
して供給される。この符号化器は、入力メモリ4に供給
された圧縮対象画像フレームに対して検出された動きベ
クトルを使用して、その圧縮対象画像フレームを符号化
し、圧縮された画像の符号列を得る。さらに、この圧縮
対象画像フレームに対して、それ自体公知の方法で動き
補償を実施し、その結果得られる画像フレームを、参照
画像フレームとして参照メモリ3に順次1フレームづつ
図示しない信号線を介して供給する。さらに、符号化器
は、動き検出LSIの端子2から、次に処理すべき圧縮
対象ブロックのブロック番号をアドレスデコーダ51に
供給する。なお、図では、入力メモリ4,参照メモリ3
に対してデータを書き込む回路は簡単化のために図示し
てない。
【0014】本実施の形態では、一つの圧縮対象画像フ
レーム70は、図6(a)に示すごとく、発明の原理を
示すのに必要な程度の画素数、すなわち、水平方向に1
6画素、垂直方向に12画素を有すると仮定する。な
お、図においてX,Yは、それぞれ水平走査線方向の画
素座標、垂直走査線方向の画素座標を表わす。以下で
は、一つの画素を他と区別して呼ぶときに、その画素の
X座標、Y座標を組にして、画素T(X,Y)と呼ぶこ
とがある。同様に、参照画像フレーム80も、図6
(b)に例示するごとく、16×12個の画素からなる
と仮定する。以下では、一つの画素を他と区別して呼ぶ
ときに、その画素のX座標、Y座標を組にして、画素S
(X,Y)と呼ぶことがある。圧縮対象ブロック71の
大きさを、水平4画素垂直4画素の16画素からなると
仮定する。
【0015】圧縮対象画像フレーム70は、互いに重複
する画素を含まないように複数のブロック、今の例で
は、12個のブロック#1,#1,,#12に分割され
る。同様に、各圧縮対象ブロックに対して使用する、参
照画像フレーム中の動き検出範囲82は、図6(b)に
示すごとく、各圧縮対象ブロック71に対応するブロッ
ク81対して、水平方向に−4から+3の範囲だけだけ
ずれた位置にある画素を含み、垂直方向に−4から+3
の範囲だけずれた位置にある画素を含むと仮定してい
る。したがって、動き検出範囲82は、水平11画素、
垂直11画素からなる範囲である。勿論、圧縮対象画像
フレームと圧縮対象ブロックの画素数および動き検出範
囲の位置と画素数も任意に変更可能である。
【0016】本実施の形態での動きベクトルの検出の概
要は以下の通りである。今、ブロック#7が、圧縮対象
ブロック71であると仮定すると、このブロックの動き
ベクトルを算出するには、参照画像フレーム80内の動
き検出範囲82内の画素とこの圧縮対象ブロック71の
画素とは次のように比較する必要がある。まず、動き検
出範囲72を、水平方向、垂直方向にそれぞれ1画素だ
けずれた位置にある複数の参照ブロックに区分する。従
って、これらの参照ブロックは互いに一部重複してい
る。例えば、画素群S(5,1)からS(8,1)、S
(5,2)からS(8,2)、S(5,3)からS
(8,3)、S(5,4)からS(8,4)が第1の参
照ブロックを形成し、画素群S(6,1)からS(9,
1)、S(6,2)からS(9,2)、S(6,3)か
らS(9,3)、S(6,4)からS(8,4)が上の
ブロックの右隣の第2の参照ブロックを形成し、画素群
S(5,2)からS(8,2)、S(5,3)からS
(8,3)、S(5,4)からS(8,4)、S(5,
5)からS(8,5)が第1のブロックの下側の参照ブ
ロックを形成する。即ち、第1の参照ブロックと第2の
参照ブロックとは、画素群S(6,1)からS(8,
1)、S(6,2)からS(8,2)、S(6,3)か
らS(8,3)、S(6,4)から(8,4)が重複す
ることとなり、同様に、第一の参照ブロックとその下側
のブロックもS(5,2)からS(8,5)の矩形が重
複する。このように動き検出範囲72内は、画素を重複
しながら、64個の参照ブロックに分割される。
【0017】以下では、矩形の領域に属する画素群ある
いはその領域を表すのに、その領域の左上隅の画素の座
標と右下隅の画素の座標の組により表すことがある。例
えば、上記第1の参照ブロックは、参照ブロックS
(5,1)からS(8,4)と表す。また、圧縮対象ブ
ロックも同様に、左上隅の画素の座標と右下隅の画素の
座標の組により表すことがある。例えば、上記第7番の
圧縮対象画像ブロックは、圧縮対象ブロックT(9、
5)からT(12,8)と表す。
【0018】演算回路6が、これらの参照ブロックと圧
縮対象ブロック71との間の相関を算出する。さらに、
それらの参照ブロックの内で、相関の最も大きな参照ブ
ロックを検出し、その参照ブロックの座標と、圧縮対象
ブロック71の画素との間の位置ベクトルをこの圧縮対
象ブロック71の動きベクトルとして検出する。
【0019】これらの参照ブロックと上記圧縮対象ブロ
ック71との間の相関は、以下のようにして検出され
る。動き検出範囲内の水平の参照ブロックの数と同数
(8個)の演算器61から68が、動き検出範囲82の
最も上に位置する、すなわち、第1の参照ブロックS
(5、1)からS(8、4)、第2の参照ブロックS
(6,1)からS(9,4)、第3の参照ブロックS
(7,1)からS(10,4)、第4の参照ブロックS
(8,1)からS(11,4)、第5の参照ブロックS
(9,1)からS(12、4)、第6の参照ブロックS
(10,1)からS(13,4)、第7の参照ブロック
S(11,1)からS(14,8)、第8の参照ブロッ
クS(12,1)からS(15,4)の水平方向に並ん
だ8個の参照ブロックの各々と圧縮対象ブロック71の
との誤差を並行して検出する。最小値検出器69は、こ
れらの8個の参照ブロックに対する誤差の内、最も小さ
な値とその誤差を与えた参照ブロックの座標を記憶す
る。次に、Y座標を一段下にずらし、同様に水平方向に
並んだ8個の参照ブロックについて同じ操作を演算器6
1から68により行う。いずれかの参照ブロックに対し
て先に記憶した誤差値より小さな誤差値が得られれば、
先に記憶した誤差値と参照ブロックの座標を更新する。
以下同様のことを、順次異なるY座標を有する参照ブロ
ック群に対して行う。
【0020】水平方向に並んだ8個の参照ブロックと圧
縮対象ブロック71との相関は、それぞれのブロックを
構成する水平走査線上の画素群を単位として行われる。
すなわち、各演算器61,,または68は、いずれかの
参照ブロックの最初の水平走査線上の4個の画素と、圧
縮対象ブロック71の最初の水平走査線上の4つの画素
との誤差を算出する。次に、その参照ブロックの次の水
平走査線上の4つの画素と圧縮対象ブロック71の2番
目の水平走査線の4つの画素との誤差を算出し、先に検
出した誤差値に加算する。以上の処理を第3,第4の水
平走査線上の画素に対して繰り返す。こうして、各演算
器61,,または68は、一つの参照ブロックと圧縮対
象ブロック61との間の誤差を得ることができる。
【0021】このように、8個の演算器61から68に
より8個の参照ブロックに関する誤差の計算を並行して
実行させるために、入力メモリ4は、圧縮対象ブロック
71の同じ水平走査線上の4つの画素のデータを並行し
て線401から404に読み出し可能に構成され、読み
出された4つの画素は全ての演算器61から68に供給
される。参照メモリ3は、圧縮対象ブロック71に対し
て決まる動き検出範囲82内の同一の水平走査線上の全
画素(今の場合には11画素)を線301から311に
並列に読み出し可能に構成され、これらの画素は、8個
の参照ブロックに属する8つの画素群に分けられ、各画
素群が8つの演算器61から68の一つに供給される。
例えば、動き検出範囲82内の最初の水平走査線の場
合、画素群(5,1)から(8,1)が演算器61に供
給され、画素群(6,1)から(9,1)が次の演算器
62に供給される。
【0022】以下、本実施の形態での動き検出の動作の
詳細を説明する。メモリ読み出し回路5においては、ア
ドレスデコーダ51は、図示しない符号化器から端子2
を介して入力された、圧縮対象ブロックのブロック番号
を、入力メモリ4及び参照メモリ3のX座標及びY座標
のアドレスに変換し、それぞれを基準Xアドレス、基準
Yアドレスとして基準Xレジスタ55、基準Yレジスタ
54に線515,514を介してセットする。圧縮対象
ブロック71が、図6(a)に示したブロック#7の場
合には、これらのアドレスはそれぞれ9,5である。ま
た、同時に、線511、513を介して参照カウンタ5
2およびアドレスカウンタ53をそれぞれの初期値−
4,0にリセットする。アドレスカウンタ53は、圧縮
対象のブロック71及び参照ブロックに含まれる複数の
水平走査線(例では4本)の番号(今の例では0,1,
2,3)を順次生成するのに使用される。参照カウンタ
52は、動き検出範囲82の垂直方向(Y座標方向)の
番号(今の例では−4,−3,−2,−1,0,1,
2,3)を順次生成するのに使用される。また、この参
照カウンタ52は、アドレスカウンタ53が4進する毎
に、線512を介して信号が送られ、カウントアップさ
れる。
【0023】加算器57は、基準Yレジスタ54内のY
座標とアドレスカウンタ53内の、圧縮対象ブロック内
水平走査線番号を加算して、圧縮対象画像フレーム70
内の水平走査線を表すY座標を生成し、線521を介し
て入力メモリ4に読み出しアドレスの一部として与え
る。圧縮対象ブロック71が、図6(a)に示したブロ
ック#7の場合には、この圧縮画像フレーム70内の水
平走査線番号の初期値は、5である。入力メモリ4のX
座標は、基準Xレジスタ55内のX座標を、線519を
介して入力メモリ4に、読み出しアドレスの一部として
与えられる。上記例の場合の初期値は、9である。
【0024】図5に入力メモリの構成例を示す。圧縮対
象画像フレーム70の画素データは、メモリセルアレー
42内に、X座標とデータ線4D1から4D16が、Y
座標とワードライン4W1から4W12が一致するメモ
リセルに、図示しないが、書き込み回路により記憶され
る。例えば、T(9、5)の画素データは、データ線4
D9と、ワードライン4W5が交差したメモリセルに記
憶されている。線521を介して、入力メモリ4に入力
されたY座標は、ワードライン選択器41に入力され、
入力されたY座標に対応するワードライン4W1から4
W12のいずれかを選択する。例えば、線521から5
の値が入力されると、ワードライン4W5を選択する。
線519を介して入力されたX座標は、そのX座標その
もの、そのX座標+1、そのX座標+2、そのX座標+
3の4つのアドレスを生成し、それぞれ、選択器43
3、434、435、436に入力される。それぞれの
選択器433から436は、入力されたアドレスに基づ
き、データ線4D1から4D16の中から1本のデータ
線を選択する。例えば、線519から値9が入力される
と、9、10、11、12のX座標が生成され、各選択
器433から436に入力される。選択器433は、デ
ータ線4D9を選択し、選択器434は、データ線4D
10を選択し、選択器435は、データ線4D11を選
択し、選択器436は、データ線4D12が選択され
る。入力メモリの出力線401から404からは、選択
されたワードラインとデータ線との交点のメモリセルの
データが出力される。上記例では、線401にT(9,
5)、線402にT(10,5)、線403にT(1
1,5)、線404にT(12,5)の画素データが出
力される。上記のように、入力メモリ4は、X,Y座標
を与えると、Y座標が同一で、与えたX座標から連続し
た4画素を同時に出力できる構成である。
【0025】加算器56は、加算器57から与えられた
Y座標(今の例では5)に参照カウンタ52から線51
6を介して与えられる値(今の例では−4である)を加
算して、動き検出範囲82内の最初の水平走査線のY座
標(今の例では1)を生成し、線520を介して参照メ
モリ3に読み出しアドレスの一部として与える。参照メ
モリ3のX座標は、基準Xレジスタ55内の値が、線5
19を介して、読み出しアドレスの一部として供給され
る。
【0026】図4に参照メモリ3の構成例を示す。参照
画像フレーム80の画素データは、メモリセルアレー3
2内に、X座標とデータ線4D1から4D16が、Y座
標とワードライン4W1から4W12が一致するメモリ
セルに、図示しないが、書き込み回路により記憶され
る。例えば、S(9、5)の画素データは、データライ
ン3D9と、ワードライン3W5が交差したメモリセル
に記憶されている。線520を介して、参照メモリ3に
入力されたY座標は、ワードライン選択器31に入力さ
れ、入力されたY座標に対応するワードライン3W1か
ら3W12のいずれかを選択する。例えば、線520か
ら5の値が入力されると、ワードライン3W5を選択す
る。線519を介して入力されたX座標は、そのX座標
−4、そのX座標−3、そのX座標−1、そのX座標そ
のもの、そのX座標+1、そのX座標+2、そのX座標
+3、そのX座標+4、そのX座標+5、そのX座標+
6の11のアドレスを生成し、それぞれ、選択器331
から341に入力される。それぞれの選択器331から
341は、入力されたアドレスに基づき、データ線3D
1から3D16の中から1本のデータ線を選択する。例
えば、線519から値9が入力されると、5、6、7、
8、9、10、11、12、13、14、15のX座標
が生成され、各選択器331から341に入力される。
選択器331は、データ線3D5を選択し、選択器33
2は、データ線3D6を選択し、選択器333は、デー
タ線3D7を選択するという具合にデータ線を選択す
る。参照メモリ3の出力線301から311は、選択さ
れたワードラインとデータ線との交点のメモリセルのデ
ータが出力される。上記例では、線301にS(5,
5)、線302にS(6,5)、線503にT(7,
5)という具合に画素データが出力される。上記のよう
に、参照メモリ3は、X,Y座標を与えると、Y座標が
同一で、与えたX座標から連続した11画素を同時に出
力できる構成である。
【0027】こうして読み出された圧縮対象ブロック7
1の最初の水平画素群と動き検出範囲82内の最初の水
平画素群とを用いて演算回路6により、8個の参照ブロ
ックの最初の水平画素群と圧縮対象画素群との間の誤差
が計算される。そのときの動作の詳細は後述する。この
計算が終了した時点で、データ読み出し回路5では、図
示しないクロック発生回路からのクロックに応答して、
アドレスカウンタ53がカウントアップされる。その結
果、入力メモリ4からは圧縮対象ブロック71の第2の
水平画素群が並行して読み出され、参照メモリ3から
は、動き検出範囲82内の第2の水平画素群が並行して
読み出され、演算回路6での誤差計算に供給される。圧
縮対象ブロック71の残りの水平画素群および動き検出
範囲82内の残りの水平画素群が読み出されるまで、以
下同じ動作が繰り返される。
【0028】図2に示すように、演算器61では、圧縮
対象ブロック71の水平画素数が4画素なので4個の減
算器61A,61B,61C,61Dが設けられ、これ
らの減算器には、圧縮対象ブロック71の同一の水平走
査線上の4つの画素の一つが線401から404の一つ
を介して入力され、さらに、8個の参照ブロックの内の
第1の参照ブロックに対応する水平走査線上の4つの画
素の一つが、線301から304の一つを介して入力さ
れ、それぞれに入力された一対の画素の差分6111,
6112,6113,6114を算出する。絶対値加算
器61Eは、これらの減算器61Aから61Dの差分の
それぞれと及びレジスタ61Fに蓄積されたデータとの
絶対値加算を行う。その結果をレジスタ61Fは、図示
しないクロック発生回路からのクロックに応答して取り
込む。このレジスタ61Fに保持された初期値はゼロで
ある。こうして、このレジスタ61Fには、圧縮対象ブ
ロック71の最初の水平走査線上の4つの画素と参照ブ
ロックの対応する4つの画素との誤差が得られる。
【0029】このように、本実施の形態では、ブロック
間の誤差は絶対値差分和でもって算出される。その結
果、算出された誤差が小さいほど相関が大きいことにな
る。なお、相関は他の方法で計算してもよいことは言う
までもない。演算器61は、以上の動作を、圧縮対象ブ
ロック71の後続の水平走査線上の画素群が入力メモリ
4より供給されるごとに繰り返す。これにより、圧縮対
象ブロック71とその参照ブロックの間の誤差値をレジ
スタ61Fに得ることができ、線611に出力する。こ
うして、全演算器61から68のそれぞれでの誤差値の
算出が終了するごとに、それらの演算器から算出された
誤差値が線611から618を介して最小値検出器69
に供給される。
【0030】最小値検出器69では、図3に示すよう
に、これらの誤差値が出力されるごとに、レジスタ69
1がそれらの誤差値を図示しないクロック発生回路から
のクロックに応答して取り込み、線6911から691
8に出力する。比較器692は、レジスタ691から出
力される誤差値6911から6918及び最小値記憶レ
ジスタ695に記憶された最小値とを比較し、最小の誤
差値を選択する。この最小値記憶レジスタ695の初期
値は、その初期値が比較器692により選択されないよ
うな十分大きな値を有する。ベクトルXレジスタ693
およびベクトルYレジスタ694の初期値は任意の値で
ある。
【0031】線6911から6918のいずれかから与
えられた誤差の絶対値和が最小値記憶レジスタ695に
それまで記憶されていた最小値より小さければ、比較器
692は、その小さな方の絶対値和を線6922を介し
て最小値記憶レジスタ695に送り、さらに更新信号6
923をその最小値記憶レジスタ695に送る。最小値
記憶レジスタは、更新信号6923に応答して、そこに
記憶されていた最小値をこの新たな最小値で置き換え
る。さらに、比較器692は、その最小値がどの演算器
61から68により与えられたかに依存して、−4から
+3の値をベクトルXレジスタ694に送るとともに、
更新信号6923をベクトルXレジスタ694に送る。
例えば、演算器61が処理した参照ブロックと圧縮対象
ブロック71との間の絶対値和が最小値記憶レジスタ6
95にそれまでに記憶されていた最小値より小さいとき
には、ベクトルのX座標として、−4をベクトルXレジ
スタ694に出力する。ベクトルXレジスタ694は、
最小値記憶レジスタ695と同様にして、このベクトル
のX座標を記憶する。さらに、比較器692は、ベクト
ルYレジスタ693に更新信号6923を送る。ベクト
ルYレジスタは、線516を介して参照カウンタ52
(図1)から与えられている。更新信号6923によ
り、最小値記憶レジスタ695と同様に、参照カウンタ
の値を取り込み、ベクトルのY座標として記憶する。
【0032】最小値検出器69は以上の動作を後続の演
算結果が演算器61から68により与えられるごとに繰
り返す。もし、比較器692での比較の結果、最小値記
憶レジスタ695に記憶されていた絶対値和が線691
1から6918のいずれよりも小さければ、比較器69
2は更新信号6923を出力せず、その結果、最小値記
憶レジスタ695、ベクトルXレジスタ694、ベクト
ルYレジスタ693の値は変わらない。以上の繰り返し
の結果、最小値記憶レジスタ695には、圧縮対象ブロ
ック71に対する複数の参照ブロックと間で検出された
最小の絶対値和が記憶され、ベクトルXレジスタ694
には、その最小の絶対和を与えた参照ブロックの位置を
示す動きベクトルのX成分が記憶され、ベクトルYレジ
スタ693にはその参照ブロックの位置を示す動きベク
トルのY成分記憶されることになる。
【0033】以上の動作のさらに詳細をタイムチャート
(図7)から(図9)に即して説明すると以下の通りと
なる。クロック0で、端子2から入力された圧縮対象ブ
ロックのブロックアドレス7は、アドレスデコーダ51
により、基準Xアドレス(9)、基準Yアドレス(5)
に変換され基準Xレジスタ55、基準Yレジスタ54に
それぞれ記憶される。また、同時に、アドレスカウンタ
53及び参照カウンタ52がそれぞれ0及び−4にリセ
ットされる。アドレスカウンタ53は、クロックに同期
してカウントアップされる4進のカウンタで、0、1、
2、3を繰り返す。参照カウンタ52は、アドレスカウ
ンタ53が、4進する度にカウントアップされ、−4か
ら+3までカウントアップする。、入力メモリ4から読
み出す画素データは、読み出し回路5で、前述したよう
に生成され、X座標、Y座標として、入力メモリ4に供
給される。例では、X座標9が、Y座標が、クロック1
で5、クロック2で6、クロック3で7というように与
えられる。入力メモリ4からの出力は、前述したよう
に、与えられたY座標を共通とし、与えられたX座標か
ら連続した4画素を同時に出力するので、クロック1
で、T(9、5)、T(10、5)、T(11、5)、
T(12、5)が出力され、クロック2では、T(9、
6)、T(10、6)、T(11、6)、T(12、
6)が出力というように出力される。図7及び図8のタ
イムチャートでは、T(9、5)の画素データを、T
9,5と表現している。
【0034】参照メモリ3から読み出す画素データも、
前述したように読み出し回路5で生成され、X座標、Y
座標として供給される。例では、X座標が9、Y座標
が、クロック1で1、クロック2で2、クロック3で3
というように与えられる。参照メモリ3からは、Y座標
を共通として、X座標が与えられたX座標に−4、−
3、−2,−1,0,+1,+2,+3,+4,+5,
+6した11の画素データが同時に読み出せる。即ち、
例では、クロック1で、S(5,1)、S(6、1)、
S(7、1)、S(8、1)、S(9、1)、S(1
0、1)、S(11、1)、S(12、1)、S(1
3、1)、S(14、1)、S(15、1)が同時に出
力される。クロック2では、S(5、2)、S(6、
2)、S(7、2)、S(8、2)、S(9、2)、S
(10、2)、S(11、2)、S(12、2)、S
(13、2)、S(14、2)、S(15、2)が同時
に出力されるというように出力される。図7及び図8の
タイムチャートでは、S(5、1)の画素データをS
5,1と表現している。
【0035】図8(a)は、入力メモリ4及び参照メモ
リ3から出力されたデータが演算器61で処理されるタ
イムチャートを示した図である。入力メモリ4からデー
タバス401、402、403、404を介して出力さ
れたデータは、演算器61に入力される。参照メモリ3
から出力されたデータの内、301、302、303、
304のデータバスで出力されたデータが、演算器61
に入力される。例では、クロックサイクル1で、減算器
61Aは、(S5,1)−(T9,5)を、減算器61
Bは、(S6,1)−(T10,5)を、減算器61C
は、(S7,1)−(T11,5)を、減算器61D
は、(S8,1)−(T12,5)を計算し出力する。
【0036】レジスタ61Fの値は、アドレスカウンタ
53が0を出力する度に0にクリアされる。(0クリア
の信号線は、特に図示していない。)このため、絶対値
加算器61Eは、各減算器の出力と0とを絶対値加算
し、Sum1としてレジスタ61Fにクロック2で記憶
する。同様に図8(b)に示すような演算を行い動きベ
クトルX成分−4、Y成分−4の絶対値差分和(E−
4,−4)を5クロックサイクル目で得ることができ
る。この時、同時に、演算器62では、(E−3,−
4)、演算器63では(E−2,−4)、演算器64で
は(E−1,−4)、演算器65では(E0,−4)、
演算器66では(E1,−4)、演算器67では(E
2,−4)、演算器68では(E3,−4)が計算され
ている。即ち、動きベクトルが、Y成分が−4で、X成
分が−4,−3,−2,−1,0,1,2,3の8つの
ベクトルの絶対値差分和が同時に計算される。同様に、
4クロックサイクル毎に、Y成分が−3,−2,−1,
0,1,2,3と変わりそれぞれ、X成分が−4から3
の8個の動きベクトルの絶対値差分和が出力される。
【0037】図9は、最小値検出器69の動作タイムチ
ャートを示した図である。各演算器61から68で出力
された動きベクトルの絶対値差分和は、レジスタ691
に記憶され、比較器692でその最小値が検出される。
図7の例では、クロック5で出力される、Y成分が−4
の動きベクトルの中では、X成分が−1の動きベクトル
の絶対値差分和(E−1,−4)が最小である例を示し
ている。最小値記憶レジスタ695には、この(E−
1,−4)の値が記憶され、ベクトルXレジスタ694
には、−1が記憶される。また、ベクトルYレジスタ6
93には−4が記憶される。4クロック後の、9クロッ
クでは、Y成分が−3の動きベクトルの絶対値差分和が
各演算器より出力される。最小値記憶レジスタ695か
らは、(E−1,−4)が出力され、最小値が検出され
る。図7の例では、X成分が0の動きベクトルの絶対値
差分和(E0,−3)が最小である例である。この結
果、最小値記憶レジスタ695には、(E0,−3)が
記憶され、ベクトルXレジスタ694はには0が、ベク
トルYレジスタ693には−3が記憶される。クロック
13では、Y成分が−2の動きベクトルが各演算器で計
算され、最小値記憶レジスタ695に記憶された(E
0,−3)と最小値比較が行われ、その結果最小値とな
る(E−1,−2)が検出され、最小値記憶レジスタ6
95に記憶するとともに、ベクトルXレジスタ694を
−1、ベクトルYレジスタ693に−2を記憶する。
【0038】同様にクロック17では、Y成分が−1の
動きベクトルが各演算器で計算され、最小値記憶レジス
タ695に記憶された(E−1,−2)と最小値比較が
行われる。その結果、最小値記憶レジスタ695に記憶
されている(E−1,−2)が最小となると、最小値記
憶レジスタ695は、その値を更新することなく、再び
(E−1,−2)が保持され、ベクトルXレジスタ69
4、ベクトルYレジスタ693の変更も行わない。この
結果、ベクトルXレジスタ694には−1が、ベクトル
Yレジスタ693には−2が記憶されている状態であ
る。同様に、この動作を繰り返し、全ての動きベクトル
について行うと、その結果、最小値記憶レジスタ695
には、動きベクトルの最小の絶対値差分和が記憶され、
ベクトルXレジスタ694には、動きベクトルのX成分
が記憶され、ベクトルYレジスタ693には、動きベク
トルのY成分が記憶される。図7の例では、動きベクト
ルMV(−1,−2)となる。
【0039】以上から分かるように、本実施の形態で
は、動き検出を行う演算器と参照メモリ及び入力メモリ
を同一のチップ上に搭載することにより、外づけメモリ
のデータI/Oのビット幅に制限を受けていた、画素デ
ータの読み出しを、並列に実現することが可能となっ
た。これは、従来、動き検出対象ブロックの読み出し
や、動き検出範囲の画素データの読み出しの時間を大幅
に高速化することを可能とした。また、演算器を並列に
接続する構成を可能として、動きベクトル演算の高速化
を可能とした。また、演算器に入力メモリからの画素デ
ータ及び参照メモリからの画素データを最適に供給でき
るため、従来の一次元のシストリックアレー状の演算器
で必要としていたレジスタを削減することが可能となっ
た。
【0040】<発明の実施の形態2>発明の実施の形態
では、動き検出範囲82内の各水平画素群を一度に並列
に参照メモリ3より読み出した。この方法は、動き検出
範囲82内の水平方向に並んだ複数の参照ブロックに対
する相関計算を並列に行える。しかし、参照メモリ3か
らの出力データ数が大きくなり、さらに演算器の数も多
くなる。本実施の形態では、メモリおよび回路の集積度
がそれほど高くないときでも実現可能なLSIとして、
実施の形態より少ないデータ読み出し量を有するメモリ
と、より少ない演算器を使用する他の実施の形態を示
す。
【0041】すなわち、参照メモリ3よりは、動き検出
範囲82内の水平画素群の一部を並列に読み出すように
する。例えば、7画素のデータを並列に読み出す。この
ときには4つの参照ブロックのデータが並列に読み出さ
れるので、演算器は4つ使用すればよい。実施の形態1
と同様に方法で、これら4つの参照ブロックを処理した
後に、それらの参照ブロックの右側に位置する残りの4
つの参照ブロックのデータを読み出すように、データ読
み出し回路5を構成する。その後は、実施の形態1と同
様に、それらの参照ブロックよりY方向に1だけずれた
参照ブロックを処理するようにすればよい。
【0042】<発明の実施の形態3>メモリおよび回路
の集積度が向上したときには、発明の実施の形態1に代
えて、動き検出範囲82内の全水平画素群を一度に並列
に参照メモリ3より読み出し、圧縮対象ブロック71内
の全画素のデータを並列に読み出すように、入力メモリ
4、参照メモリ3および読み出し回路5を構成し、演算
回路6を、これらのデータを用いて、動き検出範囲内の
全参照ブロックと圧縮対象ブロックとの相関を並列に計
算するように、参照ブロックの数だけ、演算器を設ける
ようにすることもできる。
【0043】<応用例>以上の実施の形態では、動き検
出ベクトルを検出するLSIを示したが、ここで使用さ
れた相関が大きな画像データを検出する部分は、圧縮対
象ブロックを未知パターンと見なし、複数の参照ブロッ
クを標準パターンとするパターン一致検出技術を含んで
いる。したがって、上記実施の形態に示した技術はパタ
ーン一致検出にも使用することができる。とくに、参照
ブロックとして、互いに異なる画素を含まないように、
参照ブロックを選んだ場合には、それらの参照ブロック
を、互いに独立の標準パターンとして使用するパターン
一致検出に応用できる。逆に、圧縮対象ブロックとして
標準パターンを使用し、参照画像フレームとして測定対
象パターンを使用すると、上記実施の形態の技術は、こ
の測定対象パターンから、この標準パターンに最もよく
一致する参照ブロックを検出するのに使用できる。
【0044】
【発明の効果】本発明によれば、動き検出対象ブロック
の読み出し時間および動き検出範囲の画素データの読み
出し時間を短縮でき、さらに、動き検出に必要な演算の
実行時間を短縮できる。
【図面の簡単な説明】
【図1】本発明による動き検出LSIの概略ブロック
図。
【図2】図1の装置に使用する演算器の概略ブロック
図。
【図3】図1の装置に使用する最小値検出器の概略ブロ
ック図。
【図4】図1の装置に使用する参照メモリの概略ブロッ
ク図。
【図5】図1の装置に使用する入力メモリの概略ブロッ
ク図。
【図6】図1の装置で使用する圧縮対象画像フレームと
参照画像フレームの構造を示す図。
【図7】図1の装置におけるメモリ読み出し動作のタイ
ムチャート。
【図8】図1の装置における演算回路の動作タイムチャ
ート。
【図9】図1の装置における最小値検出器の動作のタイ
ムチャート。
【符号の説明】
2…入力端子、5…読み出し回路、6…演算回路、7…
動きベクトルY成分出力端子、8…動きベクトルX成分
出力端子、9…動きベクトルの絶対値差分和出力端子。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鮎川 一重 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 成田 進 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】動き検出を行うべき画像フレームを記憶
    し、複数の画素データを並列に出力可能な第1のメモリ
    と、 上記動き検出に際して参照する画像フレームを記憶し、
    複数の画素データを並列に出力可能な第2のメモリと、 上記第1のメモリから圧縮対象のブロックに属する複数
    の画素のデータを読み出し、上記参照メモリから、その
    圧縮対象ブロックに対応する動き検出範囲に属する複数
    の画素のデータを読み出す回路と、 上記第1のメモリから読み出された圧縮対象のブロック
    に属する複数の画素のデータと上記参照メモリから読み
    出された複数の画素のデータに基づいて、上記圧縮対象
    ブロックに類似するブロックを上記動き検出範囲から検
    出するための演算を実行する演算回路とを有し、 上記読み出し回路は、上記第1のメモリから上記圧縮対
    象のブロックに属する上記複数の画素の内、少なくとも
    一部の複数の画素のデータを並列に読み出し、上記参照
    メモリから、上記動き検出範囲に属する上記複数の画素
    の内、少なくとも一部の複数のデータを並列に読み出す
    回路を有し、 上記演算回路は、上記第2のメモリから読み出された上
    記複数の画素のデータの内の異なる複数の部分のそれぞ
    れと上記第1のメモリから読み出された上記複数の画素
    のデータとの相関を検出する並列に動作可能な複数の演
    算器を有する動き検出LSI。
  2. 【請求項2】上記第1のメモリは、上記圧縮対象のブロ
    ックに属する一つの水平画素群の数の画素のデータを並
    列に読み出し可能に構成され、 上記第2のメモリは、上記動き検出範囲に属する一つの
    水平画素群の数の画素のデータを並列に読み出し可能に
    構成され、 上記複数の演算器の数は、上記動き検出範囲に属する一
    つの水平画素群が属する複数の参照ブロックの数であ
    り、 上記読み出し回路は、上記第1のメモリから、上記圧縮
    対象ブロックに含まれた複数の水平画素群のデータを水
    平画素群順に順次読み出し、上記第2のメモリから、上
    記動き検出範囲に含まれた複数の水平画素群のデータを
    水平画素群順に順次読み出す回路を有する請求項1記載
    の動き検出LSI。
  3. 【請求項3】各演算器は、上記動き検出範囲から読み出
    された一つ水平画素群の内、その演算器が処理する参照
    ブロックに属すべき複数の画素のデータのそれぞれと、
    上記圧縮対象ブロックから読み出された一つ水平画素群
    の内の異なる一つの画素のデータとの減算を行う複数の
    減算器と、該複数の減算器により得られた複数の減算結
    果の絶対値を加算する加算器とを有する請求項2記載の
    動き検出LSI。
JP5293897A 1997-03-07 1997-03-07 動き検出lsi Pending JPH10257498A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5293897A JPH10257498A (ja) 1997-03-07 1997-03-07 動き検出lsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5293897A JPH10257498A (ja) 1997-03-07 1997-03-07 動き検出lsi

Publications (1)

Publication Number Publication Date
JPH10257498A true JPH10257498A (ja) 1998-09-25

Family

ID=12928821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5293897A Pending JPH10257498A (ja) 1997-03-07 1997-03-07 動き検出lsi

Country Status (1)

Country Link
JP (1) JPH10257498A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016201784A (ja) * 2015-04-09 2016-12-01 日本電信電話株式会社 参照画像バッファ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016201784A (ja) * 2015-04-09 2016-12-01 日本電信電話株式会社 参照画像バッファ

Similar Documents

Publication Publication Date Title
US6263025B1 (en) Motion vector detecting apparatus
JPH0520036B2 (ja)
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
JP3089165B2 (ja) 動きベクトル探索装置
JPH03256485A (ja) 動きベクトル検出回路
US20060002472A1 (en) Various methods and apparatuses for motion estimation
KR101017688B1 (ko) 반도체 장치, 화상 데이터 처리 장치 및 그 방법
US5793443A (en) Motion vector detection circuit
JP4597103B2 (ja) 動きベクトル探索方法及び装置
JP4695124B2 (ja) 動画像符号化における動き探索装置
JPH08315151A (ja) 動き評価の場合のアンダーサンプリングの方法及び回路配置
JPH10257498A (ja) 動き検出lsi
KR20010045766A (ko) 상태천이도를 이용하여 제어부를 구현한 움직임 추정 장치
KR100282614B1 (ko) 저 전송률 비디오 코덱을 위한 움직임 예측장치
JP2000287214A (ja) 動き検出方法および装置
JP2004229150A (ja) 動きベクトル探索方法および装置
US5548665A (en) Vector correlation detecting circuit
JPH05300497A (ja) 画像処理装置及びディジタル信号処理プロセッサ
JP2006217486A (ja) 動き補償型ip変換処理装置及び動き補償型ip変換処理方法
JP2885039B2 (ja) 動きベクトル検出回路
JP3698501B2 (ja) 動きベクトル検出装置
US20040120402A1 (en) Motion estimation apparatus for image data compression
JP3225598B2 (ja) 画像の手振れ検出装置
JP3252415B2 (ja) 画像の手振れ補正装置
JPH11187424A (ja) 動きベクトル検出装置及び動きベクトル検出方法