JP2000270328A - 動きベクトル検出装置 - Google Patents

動きベクトル検出装置

Info

Publication number
JP2000270328A
JP2000270328A JP7133499A JP7133499A JP2000270328A JP 2000270328 A JP2000270328 A JP 2000270328A JP 7133499 A JP7133499 A JP 7133499A JP 7133499 A JP7133499 A JP 7133499A JP 2000270328 A JP2000270328 A JP 2000270328A
Authority
JP
Japan
Prior art keywords
pixel data
data
shift
sub
motion vector
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.)
Withdrawn
Application number
JP7133499A
Other languages
English (en)
Inventor
Kazuya Ishihara
和哉 石原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7133499A priority Critical patent/JP2000270328A/ja
Priority to US09/420,572 priority patent/US6687303B1/en
Publication of JP2000270328A publication Critical patent/JP2000270328A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

(57)【要約】 【課題】 ハードウェア量を増大させることなく、高精
度でかつ高速に動きベクトルを検出する。 【解決手段】 要素プロセッサ(PE00−PE3F)
に対応して配置されるシフトレジスタ(SR00−SR
3F)とシフトレジスタ列(SRL0−SRL3)に対
応して設けられる遅延バッファ(DLB0−DLB3)
の間のデータ転送経路をサブサンプリングレート情報に
応じて変更する。この遅延バッファおよびシフトレジス
タ列によりサーチウィンドウブロック画素データ(SW
D)が転送される。要素プロセッサにはテンプレートブ
ロック画素データが格納される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、動画像の動き補
償に用いられる動きベクトルを検出するための装置に関
し、特に、ブロックマッチング法に従って動きベクトル
を検出するための動きベクトル検出装置に関する。
【0002】
【従来の技術】膨大なデータ量を有する画像信号の伝送
または蓄積のためには、データ量を削減するデータ圧縮
技術が必要不可欠となる。画像データは、近隣画素間の
相関関係および人間の知覚特性などに起因するかなりの
冗長度を備える。この画像データの冗長度を抑圧して伝
送データ量を削減するデータ圧縮技術は、高能率符号化
と呼ばれる。この高能率符号化方式の1つに、フレーム
(フィールド)間予測符号化方式がある。このフレーム
(フィールド)間予測符号化方式においては、以下の処
理が実行される。
【0003】符号化対象の現フレーム(またはフィール
ド)の画素データと参照する時間的に前または後のフレ
ーム(またはフィールド)の同じ位置にある画素データ
の差分である予測誤差を各画素ごとに算出する。この算
出された予測誤差を以降の符号化に用いる。この方式に
従えば、動きの少ない画像に関しては、フレーム(また
はフィールド)間の相関が大きいため予測誤差値は小さ
く、高能率な符号化を行なうことができる。しかしなが
ら、動きの大きな画像については、フレーム(またはフ
ィールド)間の相関が小さいため、誤差が大きくなり、
逆に伝送されるデータ量が増加するという欠点が生じ
る。このような問題点を解決する方法として、動き補償
付フレーム(またはフィールド)間予測符号化方式があ
る。
【0004】図50は、従来の予測符号化回路の構成を
概略的に示す図である。図50において、この予測符号
化回路は、前段の前処理回路から与えられる画像信号に
対して動きベクトルを検出し、かつこの動きベクトルに
従って動き補償された参照画像を生成する動き補償予測
器920と、動き補償予測器920から読出された参照
画像画素データに対してフィルタ処理を行なうループフ
ィルタ922と、入力画像信号とループフィルタ922
の出力信号の差分を求める減算器924と、減算器92
4の出力信号(データ)に直交変換を行なう直交変換器
926と、直交変換器926の出力データを量子化する
量子化器928を含む。
【0005】動き補償予測器920は、先行フレーム
(またはフィールド)の画素データを格納するためのフ
レームメモリを有し、この先行フレームの画素データと
入力画像信号データとに従って動き補償された参照画像
画素データを生成しかつこの生成された動き補償参照画
像画素データを別のバッファメモリに格納する。ループ
フィルタ922は、画質を改善するために設けられる。
【0006】直交変換器926は、所定のサイズ(通
常、8×8画素)のブロック単位で減算器924から与
えられたデータにDCT変換などの直交変換を行なう。
量子化器920は、この直交変換された画素データを量
子化する。
【0007】動き補償予測器920および減算器924
は、動き補償のために、フレーム間予測(またはフィー
ルド間予測)を行ない、動画像の時間的な冗長度を低減
する。また、直交変換器926による直交変換により、
動画像における空間的な冗長度が低減される。
【0008】この符号化回路は、さらに、量子化器92
8により量子化されたデータを元の信号状態に変換する
ための逆量子化器930と、逆量子化器930の出力デ
ータに逆直交変換を行なう逆直交変換器932と、ルー
プフィルタ922の出力データと逆直交変換器932の
出力データを加算する加算器934を含む。逆量子化器
930および逆直交変換器932により、後続のフレー
ム(またはフィールド)のためのフレーム(フィール
ド)間予測に用いられる画像データが生成される。すな
わち、この逆直交変換器から、送信される差分値コード
が生成される。加算器934により、ループフィルタ9
22の出力データと逆直交変換器932からのフレーム
(フィールド)間差分データを加算することにより、現
フレーム(フィールド)の画像データが再生される。こ
の加算器934の出力データは、動き補償予測器920
に含まれるフレームバッファに書込まれる。次に、この
動き補償予測器920における動きベクトルmvを検出
する方法について説明する。
【0009】今、図51に示すように、画像950が、
352ドット(画素)×288行で構成される場合を考
える。この画像950は、各々が16×16画素を含む
グループ単位で複数のブロックに分割される。動きベク
トルは、ブロック単位で検出される。動きベクトルを探
索する範囲を示すサーチエリアが、画素ブロック956
で構成されると仮定する。この画素ブロック(サーチエ
リア)956は、画面上水平および垂直方向において、
ブロック955に対して±16画素分大きい。ブロック
954は、対象ブロック(テンプレートブロック)95
2と同じ位置にある。テンプレートブロック952が、
現画像ブロックであり、このテンプレートブロック95
2に対し、動きベクトルが検出される。この動きベクト
ルの探索方法は、以下の手順で行なわれる。
【0010】図51において、ベクトル(i,j)で示
すブロックは、テンプレートブロック952に対し、変
位(i,j)を有し、このベクトル(i,j)が、動き
ベクトル候補である。テンプレートブロック952の各
画素データと変位ベクトル(i,j)を有するブロック
の各画素(同じ位置にある画素)の差分絶対値和(また
は差分二乗和)のような評価関数値が求められる。この
評価関数値を求める操作が、ベクトル(i,j)の(−
16,−16)から(+16,+16)の範囲のすべて
の変位について実行される。このサーチエリア956内
の画像ブロック(サーチウィンドウブロック)のすべて
のブロック(予測画像ブロック)に対して評価関数値が
求められると、最小評価関数値を有する予測画像ブロッ
クが検出される。この最小評価関数値を有する予測画像
ブロックが有するブロック954に対する変位が、この
テンプレートブロック952に対する動きベクトルとし
て決定される。
【0011】この動きベクトル検出は、予測誤差を算出
する前に行なわれる。予測画像は、現フレーム(または
フィールド)と時間的に前または後のフレーム(または
フィールド)である。この算出された動きベクトルに従
って、参照するフレーム(またはフィールド)の予測画
像を移動させる。すなわち、参照するフレーム(または
フィールド)の動きベクトルだけずれた位置の画像デー
タを参照画像とし、この参照画像の各画素を予測値とし
て用いる。移動後の参照フレーム(またはフィールド)
と現フレーム(またはフィールド)の同一位置の画素間
の予測誤差を算出し、この算出された予測誤差を動きベ
クトルとともに伝送する。
【0012】
【発明が解決しようとする課題】現画像および参照画像
をブロック分割し、この参照画像ブロックと最も相関度
の高い参照画像ブロックを求める方法をブロックマッチ
ング法と称す。このブロックマッチング法に従えば、画
素ブロック単位で最も相関度の高い参照画像ブロックを
検出することができ、予測誤差を小さくすることがで
き、高能率の符号化を実現することができる。この動き
ベクトルは、各画素ブロックごとに伝送する必要があ
る。ブロックサイズが小さい場合には、ブロック数が増
大し、応じて伝送情報量が増大する。一方、ブロックサ
イズが大きい場合には、効果的な動き検出を行なうこと
ができない。したがって、上述のように、一般にこの画
素ブロックは、16・16画素の大きさに設定される。
【0013】動きベクトルの探索範囲は、探索範囲が広
い場合には、より相関度の高い参照画素ブロックを検出
することができ、動きベクトルの検出精度が高くなる。
しかしながら、このサーチエリアを広くした場合、動き
ベクトル候補の数が多くなり、動きベクトル検出に要す
る時間が長くなる。1画素ブロックが、上述のように、
16・16画素で構成される場合、256画素の差分絶
対値を求め、これらの総和を求める必要がある。この総
和演算により、1つの動きベクトル候補に対する評価値
を求めることができる。この評価値が、サーチエリア内
の各ブロックについて求められて、最小値を与える参照
画像ブロックが求められる。したがって、最適動きベク
トルを求めるために、サーチエリアを拡張した場合、高
速で動きベクトルを検出することができず、応じて高速
で画像データを符号化することができなくなるという問
題が生じる。
【0014】それゆえ、この発明の目的は、高速かつ高
精度で動きベクトルを検出することのできる動きベクト
ル検出装置を提供することである。
【0015】この発明の他の目的は、異なるサイズのサ
ーチエリアに対し容易に対応することのできる動きベク
トル検出装置を提供することである。
【0016】この発明のさらに他の目的は、容易に、異
なるサブサンプリングレートで入力画素データをサブサ
ンプリングして動きベクトルを高速で検出することので
きる動きベクトル検出装置を提供することである。
【0017】
【課題を解決するための手段】請求項1に係る動きベク
トル検出装置は、テンプレートブロック画素データおよ
びサーチエリア画素データを入力し、入力画素データを
サブサンプリングして出力する画像データ入力手段と、
この画像データ入力手段からのテンプレートブロック画
素データおよびサーチエリア画素データを受け、テンプ
レートブロックに対するブロックマッチング法に従った
動きベクトルの候補を示す評価値を算出する演算手段
と、この演算手段からの評価値を受け、該受けた評価値
に従ってテンプレートブロックに対する動きベクトルを
決定する動きベクトル決定手段を備える。
【0018】この演算手段は、一方方向に画素データを
転送するシフトレジスタを含み、画像データ入力手段か
ら与えられたサーチエリア画素データを転送しかつ格納
するためのシフトレジスタ回路と、シフトレジスタに対
応して設けられる複数の要素プロセッサとを含む。これ
ら複数の要素プロセッサの各々は、画像データ入力手段
から与えられるテンプレートブロック画素データを格納
するデータレジスタ回路と、このデータレジスタ回路の
格納データと対応のシフトレジスタの格納データとを受
けて所定の演算処理を施して評価値成分として出力する
計算手段とを含む。複数の要素プロセッサのデータレジ
スタ回路においては同一のテンプレートブロックに関し
て異なる画素データが格納される。
【0019】請求項1に係る動きベクトル検出装置は、
さらに、サブサンプリングレート情報に応じてシフトレ
ジスタ回路のデータ転送経路を変更するための経路設定
手段を備える。
【0020】請求項2に係る動きベクトル検出装置は、
請求項1の演算手段が、各々が行列状に配列される複数
の要素プロセッサを含む複数の演算ユニットを含む。シ
フトレジスタ回路は、要素プロセッサの列に対応してそ
れぞれ配置される複数の遅延バッファ回路を含む。シフ
トレジスタは要素プロセッサの行列に応じて行列状に配
列される。また、経路設定手段が、複数の遅延バッファ
回路とシフトレジスタ列との接続経路を変更することに
より、シフトレジスタ回路におけるサーチエリア画素デ
ータの転送経路を変更する。
【0021】請求項3に係る動きベクトル検出装置は、
請求項1の装置において、演算手段が、各々が行列状に
配列される複数の要素プロセッサを含む複数の演算ユニ
ットを含む。シフトレジスタ回路は、所定数の演算ユニ
ットに共通にそれぞれ設けられる複数のシフトユニット
を含む。これら複数のシフトユニットの各々には、対応
の演算ユニットの要素プロセッサに対応してシフトレジ
スタが行列状に配列される。このシフトレジスタ回路
は、さらに、各シフトユニットに対応して設けられ、各
々が対応のシフトユニットのシフトレジスタ列に対応し
て設けられる複数の遅延バッファを含む複数のバッファ
回路を含む。
【0022】経路設定手段は、サブサンプリングレート
情報に従って、複数のデータバッファ回路間の接続およ
び複数のデータバッファ回路と対応のシフトユニットと
の間の接続を設定するための手段を含む。シフトレジス
タ回路には、サーチエリア画素データのサンプリングレ
ートに応じた画素数の画素データが格納される。また、
データバッファ回路およびシフトレジスタ回路を介して
一方方向にサーチエリア画素データが転送される。
【0023】請求項4に係る動きベクトル検出装置は、
請求項1の装置において、各要素プロセッサのデータレ
ジスタ回路が、互いに異なる複数のテンプレートブロッ
クの同一位置の画素データを格納する複数のデータレジ
スタを含む。計算手段は、時分割態様で複数のデータレ
ジスタに格納された画素データと与えられたサーチエリ
ア画素データとの所定の計算を行なう手段を含む。
【0024】請求項5に係る動きベクトル検出装置は、
請求項1の装置において、演算手段が、各々がp行q列
に配列される要素プロセッサを含む第1ないし第4の演
算ユニットを含む。シフトレジスタ回路が、第1および
第2の演算ユニットに共有されかつp行q列に配列され
て一方方向に画素データを伝達するための複数のシフト
レジスタを含む第1のシフトユニットと、第3および第
4の演算ユニットに共有されかつp行q列に配列されて
一方方向に画素データを転送するための複数のシフトレ
ジスタを含む第2のシフトユニットと、第1のシフトユ
ニットの各シフトレジスタ列に対応して設けられ、各々
が与えられた画素データを遅延して互いに並列に出力す
る複数の遅延バッファを含む第1のデータバッファ回路
と、第2のシフトユニットの各シフトレジスタ列に対応
して設けられ、各々が与えられた画素データを遅延して
互いに並列に出力する複数の遅延バッファを含む第2の
データバッファ回路を含む。
【0025】経路設定手段は、第2のシフトユニットと
第1および第2のデータバッファ回路との間に設けら
れ、サブサンプリングレート情報に従って第1および第
2のデータバッファ回路からの画素データを選択的に第
2のシフトユニットへ与えるための第1の選択回路と、
第2のデータバッファ回路からの並列画素データの組と
第1のシフトユニットの第1から第(q−1)列のシフ
トレジスタ列の最終段のシフトレジスタおよび第2のシ
フトユニットの第q列の最終段のシフトレジスタの出力
画素データの組の一方をサブサンプリングレート情報に
従って第1のデータバッファ回路へ与えるための第2の
選択回路とを含む。
【0026】第1のデータバッファ回路の出力画素デー
タは、また、第1のシフトユニットへも与えられる。第
2のデータバッファ回路の遅延バッファ各々は、第2の
シフトユニットの対応の列の1列前のシフトレジスタ列
の最終段のシフトレジスタの出力画素データを並列に受
けかつ最初の列の遅延バッファは画像データ入力手段か
らのサーチエリア画素データを受ける。
【0027】請求項6に係る動きベクトル検出装置は、
請求項1の画像データ入力手段が、入力したテンプレー
トブロック画素データおよびサーチエリア画素データを
受ける係数2n の水平フィルタを備える。係数2n はサ
ブサンプリングレートに対応する。
【0028】請求項7に係る動きベクトル検出装置は、
請求項6の水平フィルタが、活性化時係数2n で所定の
フィルタ処理を行ないかつ非活性化時2n 個の画素デー
タの1つを選択して出力する手段を含む。
【0029】請求項8に係る動きベクトル検出装置は、
請求項1の画像データ入力手段が、サブサンプリングさ
れた画素データに所定の演算処理を施してこの出力デー
タの精度を低くする手段を含む。
【0030】請求項9に係る動きベクトル検出装置は、
請求項1の画像データ入力手段が、サブサンプリングさ
れた画素データを格納するためのバッファメモリをさら
に有する。このバッファメモリから読出された画素デー
タが演算手段へ与えられる。
【0031】請求項10に係る動きベクトル検出装置
は、請求項1の演算手段が、複数の予測モードに従った
評価値を並列に生成する手段を含む。
【0032】請求項11に係る動きベクトル検出装置
は、請求項1の演算手段に含まれる要素プロセッサの数
は、テンプレートブロックに含まれる画面上の画素数と
等しい。
【0033】サブサンプリングレートに応じてシフトレ
ジスタ回路のデータ転送経路を切換えることにより、要
素プロセッサに対応するシフトレジスタにサブサンプリ
ングされたサーチエリア画素データを格納することがで
きる。要素プロセッサに対しても、サブサンプリングさ
れたテンプレートブロック画素データを格納する。この
とき、また、演算手段には、サブサンプリングレートに
応じた数のテンプレートブロックの画素データを格納す
る。これにより、演算手段内において、並列してサブサ
ンプリングレートに応じたテンプレートブロックに対す
る評価値算出を行なうことができ、サーチエリアを拡張
しても演算処理時間を増大させることなく動きベクトル
を検出することができる。また、単にシフトレジスタ回
路のデータ転送経路を切換えるだけであり、ハードウェ
ア量の増大を抑制しつつ複数のサブサンプリングレート
に対応することができる。また、複数のサブサンプリン
グレートに対応することができることにより、用途に応
じて最適なサーチエリアを設定することができる。
【0034】
【発明の実施の形態】[実施の形態1]図1は、この発
明の実施の形態1に従う動きベクトル検出装置の全体の
構成を概略的に示す図である。図1において、動きベク
トル検出装置1は、入力画像データを受け、所定のサブ
サンプリングレートでサブサンプリングしてテンプレー
トブロックデータTBDおよびサーチウィンドウ画素デ
ータSWDを生成する入力部2と、入力部2から与えら
れるテンプレートブロック画素データTBDおよびサー
チウィンドウ画素データSWDを受け、所定の演算処理
を行なって、評価値EALL、EODDおよびEEVN
を生成する演算部4と、演算部4からの評価値EAL
L、EODDおよびEEVNを並列に受け、これらの与
えられた評価値に従って動きベクトルMVTP、MVO
S、MVOEを生成する比較部6を含む。
【0035】この図1に示す動きベクトル検出装置1
は、フレームを単位として画素データを符号化する。演
算部4は、後にその構成は詳細に説明するが、要素プロ
セッサアレイを含み、フレーム単位のテンプレートブロ
ックに対する評価値EALL、奇数フィールドにおける
テンプレートブロックに対する評価値EODD、および
偶数フィールドにおけるテンプレートブロックに対する
評価値EEVNを並列に生成する。比較部6は、これら
の評価値EALL、EODDおよびEEVNを受け、テ
ンプレートブロックに対する動きベクトルMVTP、奇
数サブテンプレートブロックに対する動きベクトルMV
OS、および偶数サブテンプレートブロックに対する動
きベクトルMVOEを生成する。サブテンプレートブロ
ックは、フレーム単位におけるテンプレートブロックに
含まれるフィールド単位のテンプレートブロックを示
す。
【0036】入力部2へは、サーチウィンドウ画素デー
タおよびテンプレートブロック画素データが並列に別々
のポートを介して与えられてもよく、同じポートを介し
て時分割態様で与えられてもよい。テンプレートブロッ
ク画素データは、たとえばTVカメラからの画像データ
がメモリに格納された後、このメモリから所定のシーケ
ンスで与えられる。サーチエリア画素データは、図示し
ないフレームバッファに格納される予測画像データから
生成される。
【0037】この動きベクトル検出装置1の動作は、制
御部10により制御される。制御部10は、またこの動
きベクトル検出装置1と同じチップ上に形成されてもよ
く、また別のチップに形成され、他の画像データ符号化
制御部に含まれてもよい。この図1に示す動きベクトル
検出装置1は、パイプライン的にクロック信号(図示せ
ず)に従って演算操作を行なう。演算部4においては、
その内部構成(サーチウィンドウ画素データ転送経路)
が、制御部10の制御の下に、サブサンプリングレート
に応じて変更され、サブサンプリング画素データに基づ
いて評価値算出が行なわれる。
【0038】図2は、図1に示す入力部2の構成を概略
的に示す図である。図2において、入力部2は、与えら
れた画像データに対し所定のフィルタ処理を施して出力
するフィルタ演算器2aと、フィルタ演算器2aから出
力されるサーチウィンドウ画素データを順次格納するサ
ーチウィンドウメモリ2bと、フィルタ演算器2aから
与えられるテンプレートブロック画素データを格納する
テンプレートブロックメモリ2cを含む。サーチウィン
ドウメモリ2bから所定のシーケンスでサーチウィンド
ウ画素データSWDが読出され、テンプレートブロック
メモリ2cからテンプレートブロック画素データTBD
が読出される。
【0039】フィルタ演算器2aは、所定のサブサンプ
リングレートで与えられた画像データに含まれる画素デ
ータをサブサンプリングし、処理すべき画素数を低減す
る。このフィルタ演算器2aの構成については後に詳細
に説明する。フィルタ演算器2aへは、サーチウィンド
ウ画素データおよびテンプレートブロック画素データが
同じポートを介して与えられるように示される。これ
は、演算部4においては、テンプレートブロック画素デ
ータが、内部に含まれる要素プロセッサに常駐し、一
方、サーチウィンドウ画素データは評価値計算サイクル
ごとに、1画素データずつサーチウィンドウメモリ2b
から読出され、これらのテンプレートブロック画素デー
タおよびサーチウィンドウ画素データは、時分割態様で
フィルタ演算器2aへ与えられるためである。このフィ
ルタ演算器2aへは、サーチウィンドウ画素データおよ
びテンプレートブロック画素データがそれぞれ別々のポ
ートを介して与えられるように構成されてもよい。
【0040】図3は、テンプレートブロックTBとサー
チウィンドウの位置関係を示す図である。サーチエリア
956は、テンプレートブロックTBに対し、所定の水
平および垂直ベクトル成分範囲内に存在する画素を含
む。サーチウィンドウSWは、このサーチエリア956
内において同じ水平ベクトル成分を有するブロックを含
む。サーチウィンドウSWの水平方向の幅は、テンプレ
ートブロックTBの水平方向の幅(画素数)と同じであ
る。このサーチウィンドウSWに含まれるサーチウィン
ドウブロックとテンプレートブロックTBとの間で評価
値の算出が行なわれる。
【0041】図4は、図2に示すフィルタ演算器2aの
構成の一例を示す図である。図4において、フィルタ演
算器2aは、各々が与えられた画素データを1クロック
サイクル期間遅延する縦続接続される遅延回路12a,
12bおよび12cと、入力画素データと遅延回路12
aの出力画素データを加算する加算器12dと、遅延回
路12bおよび12cの出力画素データを加算する加算
器12eと、加算器12dの出力データを1ビット下位
方向にシフトするシフタ12fと、加算器12eの出力
データを1ビット下位方向にシフトするシフタ12g
と、シフタ12fおよび12gの出力データを加算する
加算器12hと、加算器12hの出力データを1ビット
下位方向にシフトするシフタ12iと、選択信号φSE
Lに従ってシフタ12fおよび12iの出力データの一
方を選択するセレクタ12jと、セレクタ12jから出
力されるデータのビット幅を調整し、サブサンプリング
された画素データの精度を少し低くする精度調整回路1
2kを含む。この精度調整回路12kの出力データD
が、図2に示すサーチウィンドウメモリ2bまたはテン
プレートブロックメモリ2cに与えられて格納される。
【0042】シフタ12fおよび12gは、画素データ
の転送クロック信号の周波数fの2倍の周期(周波数が
f/2)で活性化されてシフト動作を行なう。シフタ1
2iは、この転送クロック信号の4倍の周期(周波数が
1/4)で活性化されて加算器12hの出力データのシ
フトを行なう。これらのシフタ12f,12gおよび1
2iは、その1ビットシフト動作により、係数2で除算
する割算器として作用する。この図4に示すフィルタ演
算器2aは、サブサンプリングレートの4:1または
2:1に対応して動作する。セレクタ12aは、サブサ
ンプリングレート指示信号φSELに従ってシフタ12
fおよび12iの出力データの一方を選択する。
【0043】精度調整回路12kは、たとえば画素デー
タが8ビットデータのとき、このセレクタ12jから与
えられるデータをたとえば7ビットのデータに変換す
る。この精度調整回路12kは、下位ビットを切り捨て
る回路であってもよく、また切上げを行なう回路であっ
てもよく、また所定値との比較による丸め処理を行なう
回路であってもよい。この精度調整回路12kは、サブ
サンプリングされた画素データの精度(ビット数)を低
下させる機能を備えていればよい。この精度調整回路1
2kによるデータビット幅調整により、サーチウィンド
ウメモリ2bおよびテンプレートブロックメモリ2cに
おける格納画素データビット数を低減し、応じてこれら
のメモリ2bおよび2cの記憶容量が増大するのを抑制
する。次に、図4に示すフィルタ演算器2aの動作につ
いて説明する。
【0044】画素データPは、図5に示すように、現画
像メモリ14aおよび参照画像メモリ14bから与えら
れる。現画像メモリ14aは、符号化対象となる現画像
の画素データを格納し、参照画像メモリ14bは、この
現画像に対する時間的に前または後の参照画像の画素デ
ータを格納する。この現画像メモリ14aおよび参照画
像メモリ14bは、動きベクトル検出装置1の外部に設
けられ、制御部10の制御の下に、画素データの書込/
読出が実行される。
【0045】図6(A)および(B)は、入力画素デー
タPの入力シーケンスを概略的に示す図である。図6
(A)および(B)に示すように、テンプレートブロッ
クTBaの画素データは演算部に1演算サイクルの間常
駐する。ここで、1演算サイクルは、このテンプレート
ブロックTBaに対する動きベクトルを検出するサイク
ルを示す。したがって、この1演算サイクル内において
は、図2に示すテンプレートブロックメモリ2cから演
算部2へ、テンプレートブロック画素データTBDを転
送する必要はない。一方、サーチウィンドウ画素データ
SWDは、評価値算出ごとに1画素サーチウィンドウメ
モリ2bから読出されて演算部へ与えられる(この構成
については後に詳細に説明する)。
【0046】このサーチウィンドウメモリ2bへのデー
タ読出と交互に、サーチエリア内のサーチウィンドウの
画素データが入力されて、サーチウィンドウメモリ2b
に格納される。サーチエリアSE内の画素データがすべ
て入力されて、サーチウィンドウブロックメモリ2bに
格納されると、次に処理されるテンプレートブロックT
Bbの画素データが入力される。したがって、サーチエ
リアSEの画素データとテンプレートブロックTBの画
素データは、時分割態様で与えられるため、1つのポー
トを介して、フィルタ演算器2aへ画素データが与えら
れる。
【0047】また、これに代えて、図6(B)に示すよ
うに、サーチウィンドウSW単位で画素データが入力さ
れ、このサーチウィンドウSWの画素データ入力と交互
に次に処理されるテンプレートブロックTBの画素デー
タが入力されてもよい。この場合においても、サーチウ
ィンドウSWの画素データと次に処理されるテンプレー
トブロックTBの画素データが時分割態様で与えられる
ため、入力部に対する画素データ入力ポートをテンプレ
ートブロック画素データおよびサーチエリア画素データ
に対し共用することができる。この図6(A)および
(B)に示す画素データ入力シーケンスのいずれが用い
られてもよい。サーチウィンドウメモリの記憶容量に応
じて適当なシーケンスが定められればよい。この入力シ
ーケンスに応じて、入力部2においては、サーチウィン
ドウメモリ2bおよびテンプレートブロックメモリ2c
へサブサンプリングされた画素データが入力される。
【0048】今、図7(A)に示すように、入力部2に
おいては、2:1のサブサンプリングが行なわれる場合
の動作について説明する。2:1のサブサンプリングレ
ートの場合、選択信号φSELに従って、図4に示すセ
レクタ12jは、シフタ12fの出力データを選択す
る。このとき、また遅延回路12bおよび12c、加算
器12e、シフタ12gおよび12i、ならびに加算器
12hは非作動状態とされる。この非作動状態の設定
は、単に電源電圧の供給を停止すれぱ容易に実現され
る。
【0049】図7(A)に示すように、入力画素データ
p0,p1,p2,…が、クロック信号CLKに同期し
て入力される場合の動作を考える。遅延回路12aは、
入力画素データをこのクロック信号CLKの1周期T遅
延して出力する。加算器12dおよびシフタ12fは、
このクロック信号CLKの1/2の周波数f/2で動作
する。したがって、遅延回路12aから画素データP1
が入力されると、このシフタ12fから(P0+P1)
/2の画素データが出力され、2クロックサイクル期間
この画素データがシフタ12fにおいて保持される。こ
の2クロックサイクル期間の保持は、シフタ12fの出
力部に、たとえば、周波数f/2で動作するラッチ回路
が設けられていれば容易に実現される。また、これに代
えて、加算器12dの入力部に、周波数f/2で動作す
るラッチ回路が設けられていてもよい。このセレクタ1
2jにより選択された画素データ(P0+P1)/2
は、精度調整回路12kへ与えられ、精度低減(ビット
幅調整)が行なわれ、データD0が生成される。以降、
2クロックサイクルごとに、シフタ12fの画素データ
が変化する。したがって、周期2TでデータD0,D
1,D2,D3が生成される。
【0050】すなわち、図7(B)に示すように、入力
画素データP0,P1,…は、2画素データを単位とし
て、1画素データにサブサンプリングされる。すなわ
ち、画素データP0およびP1からサブサンプリングさ
れた画素データD0が生成され、画素データP2および
P3からサブサンプリングされた画素データD1が生成
され、画素データP4およびP5からサブサンプリング
された画素データD2が生成される。サブサンプリング
された画素データD0,D1,D2,…を用いて以下に
詳細に説明する評価値算出が行なわれる。したがって、
たとえばテンプレートブロックのサイズが16×16画
素の場合、水平方向において2:1のサブサンプリング
が行なわれた場合、テンプレートブロックのサイズは1
6行・8列画素となる。演算部において、テンプレート
ブロックサイズに対応する要素プロセッサを配置した場
合、このサブサンプリングされた画素データを利用する
ことにより、2つのテンプレートブロックを格納するこ
とができ、2つのテンプレートブロックに対し同時に評
価値算出を行なうことができる。したがって、水平方向
の探索範囲が2倍に拡張された場合においても、2つの
テンプレートブロックについて同時に評価値算出が行な
われ、また評価点も低減されるため、演算時間は増大せ
ず、高速な動きベクトル検出が実現される。
【0051】次に、4:1サブサンプリングの場合に
は、図4に示すセレクタ12jは、シフタ12iの出力
データを選択する。この4:1サブサンプリングレート
の場合には図4に示すフィルタ演算器の構成要素はすべ
て動作する。図8(A)に示すように、クロック信号C
LKに同期して画素データP0,P1,…が入力され
る。2クロックサイクルごとに、シフタ12fの出力デ
ータが確定する。これにより、2クロックサイクルごと
に、隣接2画素のデータの平均値がシフタ12fから出
力される。シフタ12gは、遅延回路12cの入力およ
び出力画素データの加算値の加算器12eを介して受け
る。したがって、シフタ12gからは、シフタ12fの
出力データを2クロックサイクル遅延した画素データが
出力される。シフタ12fおよび12gの出力データは
加算器12hにおいて加算される。この加算器12hの
加算データは、シフタ12iへ与えられる。加算器12
hおよびシフタ12iは、周波数f/4で動作する。し
たがって、シフタ12iの出力データは4クロックサイ
クルごとに変化する。シフタ12iは、この加算器12
hの出力データを1ビット下位方向にシフトしており、
係数2で除算している。したがって、シフタ12iから
は、4つの隣接画素の平均値が出力される。このシフタ
12iの出力データはセレクタ12jを介して精度調整
回路12kへ与えられる。したがって、4クロックサイ
クルごとに、精度が調整されたデータD0,D1が、順
次出力される。
【0052】すなわち、図8(B)に示すように、4隣
接画素データP0−P4により、サブサンプリング画素
データD0が生成され、次の4隣接画素データP4−P
7により、次のサブサンプリング画素データD1が生成
される。4画素データから1つの画素データが生成され
ており、4:1のサブサンプリングが実行されている。
これにより、テンプレートブロックの画素数を、1/4
に低減することができる。
【0053】[フィルタ演算器の変更例]図9(A)
は、図2に示すフィルタ演算器2aの変更例の構成を概
略的に示す図である。図9(A)において、フィルタ演
算器2aは、画素データPを一方入力に受ける加算器1
6aと、加算器16aの出力データを格納するレジスタ
16bと、レジスタ16bの出力データをラッチする出
力ラッチ16cと、出力ラッチ16cの出力ラッチデー
タと係数1/2n とを乗算する乗算器16dを含む。加
算器16aは、入力画素データPとレジスタ16bに格
納された画素データを加算する。レジスタ16bは、リ
セット信号φRSTに従ってその格納データが“0”に
リセットされる。出力ラッチ16cは、ラッチ指示信号
φLTHに従ってレジスタ16bの出力データを取込む
スルー状態およびレジスタ16bの出力データを無視す
るラッチ状態となる。乗算器16dに与えられる係数1
/2n は、サブサンプリングレートに応じて設定され
る。この乗算器16dの出力データは、図4に示す精度
調整回路12kへ与えられる。次に、この図9(A)に
示すフィルタ演算器の動作を図9(B)に示すタイミン
グ図を参照して説明する。
【0054】クロック信号CLKに同期して画素データ
Pが与えられる。2:1サブサンプリングレートの場
合、リセット信号φRSTが2クロックサイクルごとに
活性化され、また、ラッチ指示信号φLTHも、2クロ
ックサイクルごとに出力ラッチ16cをスルー状態に設
定する。この2:1サブサンプリングレートの場合に
は、レジスタ16bに、2画素のデータの加算値が格納
されると、出力ラッチ16cにラッチされる。この出力
ラッチ16cがラッチ状態となると、レジスタ16dが
リセットされ、その格納データが“0”に設定される。
したがって、レジスタ16bには、2画素単位で加算値
が格納され、出力ラッチ16cには、その2画素データ
の加算値がラッチされる。乗算器16dにおいては、
2:1サブサンプリングレートの場合には、係数1/2
の乗算を行なう。したがって、乗算器16dからは、2
画素の平均値が出力される。
【0055】一方、4:1サブサンプリングレートの場
合には、ラッチ指示信号φLTHは4クロックサイクル
ごとに出力ラッチ16cをスルー状態に設定して、レジ
スタ16bの出力データを出力ラッチ16cに取込ませ
る。リセット信号φRSTは、このラッチ指示信号φL
THが活性化され、出力ラッチ16cがラッチ状態とな
ると活性化されてレジスタ16bの格納データをリセッ
トする。したがって、レジスタ16bには、4画素デー
タの加算値が格納され、その4画素の加算値が、出力ラ
ッチ16cにラッチされる。乗算器16dは、4:1サ
ブサンプリングレートの場合には係数1/22 で乗算を
行ない、4画素データの平均値を出力する。この図9
(A)に示す累算器の累算サイクルを、サブサンプリン
グレートに応じて設定することにより、容易に、入力画
素データのサブサンプリングを行なうことができる。乗
算器16dは、ビット位置を下位ビット方向へシフトす
るシフタで構成される。このシフタは、シフトレジスタ
回路で構成されてもよく、また単に、配線経路の切換に
より実現されてもよい。入力部の配線と出力部の配線
を、1ビットずらせることにより、2:1サブサンプリ
ングレートのサブサンプリングが実現され、入力部の配
線を2ビット下位ビット方向にシフトさせて出力部の配
線に接続することにより、2ビットシフト動作を実現す
ることができる。この場合、上位ビットの配線には、接
地電位に接続され、“0”のデータを出力する。
【0056】なお、上述の説明においては、サブサンプ
リングレートとして2:1および4:1を説明してい
る。しかしながら、このサブサンプリングレートとして
は、8:1であってもよく、一般に2n :1であればよ
い。
【0057】また、上述のフィルタ処理においては、入
力画素の平均値がとられている。しかしながら、このフ
ィルタ処理として、処理単位内における画素データの位
置に応じて、その重みが変更されてもよい。たとえば、
4:1サブサンプリングレートの場合、第1画素および
第4画素に対する重みを1/2とし、第2画素および第
3画素に対する重みを“1”とするフィルタ処理が行な
われてもよい。この重みを変更する構成は、図4に示す
構成において加算器の入力部に、重み係数を乗算する乗
算器が設けられていればよい。
【0058】[フィルタ演算器の変更例2]図10はフ
ィルタ演算器2aのさらに他の変更例を示す図である。
図10において、フィルタ演算器2aは、活性化信号A
CTの活性化時活性化され、入力画素データPに対し所
定のフィルタ演算処理を行なうフィルタ演算処理回路1
8aと、可変分周回路18cからのサンプリングクロッ
ク信号SCKに応答して入力画素データPを通過させる
トランスミッションゲート18bと、このトランスミッ
ションゲート18bおよびフィルタ演算処理回路18a
の一方から与えられた画素データに精度調整を行なう精
度調整回路12kを含む。
【0059】可変分周回路18cは、その分周比がサブ
サンプリングレート情報SSRに従って決定され、活性
化信号ZACTの活性化時活性化され、クロック信号C
LKに同期して所定の分周比のサンプリングクロック信
号SCKを生成する。この可変分周回路18cからのサ
ンプリングクロック信号SCKはまた、インバータ18
dを介してトランスミッションゲート18bへ与えられ
る。
【0060】可変分周回路18cは、たとえば、リング
状に接続されかつその段数が変更可能なシフトレジスタ
回路で構成される。シフトレジスタの段数は、サブサン
プリングレート情報SSRに従って設定され、また
“1”に初期設定されるシフトレジスタが設定される。
【0061】活性化信号ACTおよびZACTは互いに
相補な信号であり、フィルタ演算処理回路18aの活性
化時、可変分周回路18cは非活性状態にあり、逆に、
可変分周回路18cの活性化時、フィルタ演算処理回路
18aは非活性状態にある。次にこの図10に示すフィ
ルタ演算器2aの動作を図11(A)および(B)を参
照して説明する。
【0062】クロック信号CLKに同期して、画素デー
タPが入力される。活性化信号ZACTがHレベルの活
性状態のときには、可変分周回路18cが活性化され、
一方フィルタ演算処理回路18aは非活性状態にある。
トランスミッションゲート18bは、この可変分周回路
18cからのサンプリングクロック信号SCKに従って
画素データを通過させる。サブサンプリングレートが
2:1の場合、サンプリングクロック信号SCKは、ク
ロック信号CLKの2クロックサイクルごとにHレベル
に立上がり、トランスミッションゲート18bが、2ク
ロックサイクルごとに導通する。サブサンプリングレー
トが4:1の場合には、このサンプリングクロック信号
SCKは、4クロックサイクルに1回Hレベルとなり、
トランスミッションゲート18bが導通する。したがっ
て、入力画素データPのうち、サブサンプリング単位に
おいて先頭位置の画素データが選択されて精度調整回路
12kへ与えられる。
【0063】一方、フィルタ演算処理回路18aが所定
のフィルタ演算処理を行なう場合には、活性化信号ZA
CTはLレベルであり、可変分周回路18cは非活性状
態にある。この状態においては、サンプリングクロック
信号SCKはLレベルを維持し、トランスミッションゲ
ート18eは非導通状態にある。このフィルタ演算処理
回路18aは、先の図4または図9(A)に示す構成を
備える。したがって、この状態においては、入力画素デ
ータに対し所定のフィルタ演算処理が行なわれてサブサ
ンプリング画素データが生成される。
【0064】このフィルタ演算処理を行なわずに、入力
画素データを単に選択する場合、フィルタ演算処理を行
なう必要がなく、早いタイミングで、サブサンプリング
画素データを出力することができる(演算時間を省略す
ることができるため)。これにより、高速の処理が可能
となる。
【0065】なお、この図10に示すフィルタ演算器の
構成において、精度調整回路12kが、トランスミッシ
ョンゲート18bおよびフィルタ演算処理回路18aに
共通に設けられている。しかしながら、この精度調整回
路12kは、フィルタ演算処理回路18a内に設けら
れ、トランスミッションゲート18bからの画素データ
が、そのままメモリ内に格納されてもよい。
【0066】フィルタ演算処理回路18aを選択的に活
性化する構成としては、たとえば、入力部において画素
データPと活性化信号ACTを受けるANDゲートを設
ける。活性化信号ACTが活性状態のHレベルのときに
はANDゲートがバッファ回路として動作して、画素デ
ータPを通過させる。活性化信号ACTの非活性化時、
画素データPの転送が禁止される。可変分周回路18c
においては、クロック信号CLKと活性化信号ZACT
をAND回路で受けて分周用のクロック信号を生成す
る。
【0067】図12は、このフィルタ演算処理回路18
aの活性制御部の他の構成を概略的に示す図である。図
12において、フィルタ演算処理回路18aは、所定の
演算処理を行なうフィルタ演算処理部18aaと、活性
化信号ACTを反転するインバータ18abと、インバ
ータ18abの出力信号がLレベルのとき導通し、電源
ノードVCCを、内部電源線18adに接続するpチャ
ネルMOSトランジスタ18acを含む。この内部電源
線18ad上の電源電圧を、フィルタ演算処理部18a
aが一方動作電源電圧として受けて所定のフィルタ演算
処理を実行する。
【0068】この図12に示す構成の場合、活性化信号
ACTがLレベルの非活性状態のときには、インバータ
回路18abの出力信号がHレベルであり、MOSトラ
ンジスタ18acが非導通状態にある。したがって、内
部電源線18adは電源ノードVCCから切り離される
ため、この内部電源線18adは、放電により接地電圧
レベルに放電される。したがって、フィルタ演算処理部
18aaは、その内部ノードが接地電圧レベルに固定さ
れ、動作が停止される。この図12に示すような電源構
成を、可変分周回路18cに対して設けてもよい。図1
2に示すような電源制御部を設けることにより、非活性
化すべき回路部分を確実に非活性状態に保持することが
でき、消費電流を低減することができる。
【0069】精度調整回路12kは、高速動作のため、
たとえばビット幅縮小回路で構成され、その配線接続に
より、単にデータビット数を低減する(たとえば8ビッ
トデータを7ビットデータに縮小)。精度調整回路12
kは、また、これに代えて、丸め処理、切上げ処理など
を行なって、8ビットデータを7ビットデータに縮小す
る構成が用いられてもよい。
【0070】[サーチエリアの構成]図13(A)は、
4:1サブサンプリングモード時におけるサーチエリア
SEの構成を概略的に示す図である。図13(A)にお
いて、4:1サブサンプリングモード時においては、水
平ベクトル成分−128〜+127および垂直ベクトル
成分−48〜+47の範囲に設定する。垂直方向におい
て、96画素、すなわち96個の垂直ベクトル成分が存
在する。水平方向においては、252の水平ベクトル成
分、すなわち252画素(評価点)が存在する。この水
平方向においては、4画素を単位として1つの画素が代
表点として抽出される。ここで、図13(A)において
+127画素に対し4の倍数として示しているのは、水
平ベクトル成分0から+127の128個のうち4の倍
数のベクトル成分が評価されるためである。
【0071】図13(B)は、2:1サブサンプリング
モード時のサーチエリアSEの構成を示す図である。
2:1サブサンプリングモード時においては、サーチエ
リアSEは、水平ベクトル成分−64〜+63および垂
直ベクトル成分−24〜+23の範囲を有する。2:1
サブサンプリングモード時においては、水平方向におい
て2画素が1画素にサブサンプリングされている。した
がって、この0〜+63画素(評価点)の範囲におい
て、2の倍数の水平ベクトル成分を有するブロックが存
在する。
【0072】図14は、テンプレートブロックの構成を
示す図である。テンプレートブロックTBは、画面上1
6行・16列に配列される画素を含む。4:1サブサン
プリングモード時においては、水平方向において隣接4
画素が1画素にサブサンプリングされるため、テンプレ
ートブロックは、16行・4列の画素で構成される。
【0073】図15は、2:1サブサンプリングモード
時のテンプレートブロックの構成を示す図である。この
2:1サブサンプリングモード時においては、テンプレ
ートブロックの画素は、隣接2画素が1画素にサブサン
プリングされるため、16行・8列の画素でテンプレー
トブロックが構成される。これらのサブサンプリングさ
れたサーチウィンドウ画素データおよびテンプレートブ
ロック画素データを用いて動きベクトル検出を行なう。
【0074】4:1サブサンプリングモード時および
2:1サブサンプリングモードにおいて探索範囲が異な
る。水平ベクトル成分の数がそれぞれ1/4および1/
2に低減されている。したがって、水平方向の探索範囲
が4倍および2倍に増加しても、何ら処理時間が増大す
ることはない。
【0075】[演算部の構成]図16は、図1に示す演
算部4の構成を概略的に示す図である。図16におい
て、演算部4は、それぞれが、行列状に配列される複数
の要素プロセッサを含み、サブサンプリングされた画素
データについて評価値算出を行なう複数の演算ユニット
E♯0〜E♯3と、1つの演算ユニットE♯0およびE
♯2に共有されかつこれらの演算ユニットE♯0および
E♯2に含まれる要素プロセッサに対応して配置される
シフトレジスタを含み、サーチウィンドウ画素データを
一方方向に沿ってシフトするサーチウィンドウデータシ
フトユニットS♯0と、演算ユニットE♯1およびE♯
3の要素プロセッサに対応して配置されるシフトレジス
タを含み、一方方向にサーチウィンドウ画素データを転
送するサーチウィンドウデータシフトユニットS♯1
と、サブサンプリングレートに応じてこれらのサーチウ
ィンドウデータシフトユニットS♯0およびS♯1に選
択的に結合され、サーチウィンドウ画素データを格納し
かつ一方方向に転送するサーチウィンドウデータバッフ
ァ34を含む。
【0076】演算ユニットE♯0〜E♯3の各々は、画
面上の水平方向に隣接する複数画素の代表位置(サブサ
ンプリング画素データ位置)に対応して配置される要素
プロセッサに対応の画素データを格納する。要素プロセ
ッサの各々は、格納したテンプレートブロック画素デー
タと対応のシフトレジスタから与えられるサーチウィン
ドウブロック画素データに対し所定の演算処理(本実施
例においては差分絶対値を求める)を行なう。
【0077】演算ユニットE♯0−E♯3の各々は、さ
らに要素プロセッサでの演算結果値を所定の順序で加算
して、総和を求めることにより、評価値を算出する総和
部を含む。後に説明するが、これらの要素プロセッサ
は、複数のテンプレートブロックの画素データを格納
し、時分割態様で、これら複数のテンプレートブロック
各々と共通のサーチウィンドウブロックとの相関度を示
す評価値成分を算出する。
【0078】演算ユニットE♯0〜E♯3の要素プロセ
ッサには、このテンプレートブロックに対する動きベク
トルを求めるサイクル(演算サイクル)中、テンプレー
トブロック画素データが常時格納されている。一方、サ
ーチウィンドウ画素データは、サーチウィンドウデータ
バッファ34を介してサーチウィンドウデータシフトユ
ニットS♯0およびS♯1内を1画素ずつシフトされ、
垂直ベクトル成分を1ずつシフトする。このサーチウィ
ンドウデータシフトユニットS♯0およびS♯1ならび
にサーチウィンドウデータバッファ34におけるサーチ
ウィンドウ画素データの転送経路が、サブサンプリング
レートに応じて設定される。サーチウィンドウデータバ
ッファ34は、与えられたサーチウィンドウ画素データ
を所定時間遅延して出力する遅延バッファ回路を含む。
【0079】サーチウィンドウデータバッファ34内
に、サーチウィンドウのサーチウィンドウブロック(評
価値算出が行なわれているサーチウィンドウのブロッ
ク)を除く領域(サイド領域)の画素データが格納され
る。このサーチウィンドウデータバッファ34を介して
のサーチウィンドウ画素データの転送経路を切換えるこ
とにより、垂直方向の探索の範囲変更に対処する。水平
方向成分の変更は、サブサンプリングレートの変更によ
り対応する。
【0080】図17は、図16に示す演算ユニットE♯
0〜E♯3の構成を示す図である。図17において1つ
の演算ユニットE♯を代表的に示す。図17において演
算ユニットE♯は、16行4列に配列される要素プロセ
ッサPE00〜PE3Fを含む。これらの要素プロセッ
サPE00〜PE3Fに対応して、サーチウィンドウデ
ータシフトユニットのシフトレジスタが配置される。シ
フトレジスタの格納データSW00〜SW3Fがそれぞ
れ対応の要素プロセッサPE00〜PE3Fへ与えられ
る。要素プロセッサPE00〜PE3Fへは、データバ
ス35を介してテンプレートブロック画素データTBD
がロードされる。1列に整列して配置される要素プロセ
ッサPEi0〜PEiFに対して共通にこのグローバル
データバス35に接続されるデータバスが配置される。
すなわち、要素プロセッサPE00〜PE0Fには、デ
ータバス35aを介してテンプレートブロック画素デー
タがロードされ、要素プロセッサPE10〜PE1Fに
対してはデータバス35bが共通に配設されて、テンプ
レートブロック画素データが伝達される。要素プロセッ
サPE20〜PE2Fに対してはデータバス35cを介
してテンプレートブロック画素データが伝達される。要
素プロセッサPE30〜PE3Fに対してデータバス3
5dを介してテンプレートブロック画素データが伝達さ
れる。
【0081】これらの要素プロセッサPE00〜PE3
Fにおいては、同じテンプレートブロックについて異な
る画素データが格納される。要素プロセッサPE00〜
PE3Fの各々は、この与えられたシフトレジスタから
のサーチウィンドウブロック画素データと格納している
テンプレートブロック画素データとの差分絶対値AEを
求めて出力する。要素プロセッサPE00〜PE3Fか
らの差分絶対値AE00〜AE3Fは、並列に、加算回
路36へ与えられる。
【0082】加算回路36は、この与えられた差分絶対
値AE00〜AE3Fを所定の順序で加算し、複数の予
測モードに従う評価値MTE、MSEaおよびMSEb
を生成する。評価値MTEはテンプレートブロックの画
素データすべてについての評価値を示し、テンプレート
ブロックモードと称す。評価値MSEaは、サブテンプ
レートブロックの画素データを用いて求められた評価値
であり、また評価値MSEbは、残りのサブテンプレー
トブロックの画素データを用いて算出された評価値を示
す。後に詳細に説明するが、1つのテンプレートブロッ
クは2つのサブテンプレートブロックを含む。テンプレ
ートブロックがフレーム画素で構成される場合、偶数フ
ィールド画素および奇数フィールド画素の両者をテンプ
レートブロックが含む。またテンプレートブロックがフ
ィールド画素の場合、テンプレートブロックは上半分の
テンプレートブロックおよび下半分のテンプレートブロ
ックに分割することができる。用いられる予測モードに
従って、加算演算が行なわれる。加算回路36における
加算は、要素プロセッサPE00〜PE3Fからの差分
絶対値(評価値成分)AE00〜AE3Fを振分けるこ
とにより、実行される。これは、要素プロセッサPE0
0〜PE3F配置位置が、テンプレートブロック内の代
表画素位置に対応するためであり、上側サブテンプレー
トブロック、下側サブテンプレートブロック、偶数フィ
ールドサブテンプレートブロックおよび奇数フィールド
サブテンプレートブロックの画素データの分類は、要素
プロセッサの位置により容易に実現される。加算回路3
6における評価値成分の振分けは単に配線を用いて実現
される。
【0083】図18は、要素プロセッサPEijの構成
を概略的に示す図である。図18において、要素プロセ
ッサPEijは、並列に設けられるテンプレートブロッ
ク画素データ格納用のデータレジスタTMBR0〜TM
BR3と、選択信号φCKに従ってこれらのデータレジ
スタTMBR0〜TMBR3および固定値の1つを選択
するセレクタ40と、図示しない選択信号に従ってサー
チウィンドウブロック画素データSWijおよび固定値
の一方を選択するセレクタ41と、セレクタ40および
41から与えられるデータの差分絶対値(誤差絶対値)
を求める差分絶対値回路42を含む。
【0084】データレジスタTMBR0〜TMBR3に
は、互いに異なるテンプレートブロックの同じ位置の画
素データが格納される。セレクタ40はこれらのデータ
レジスタTMBR0〜TMBR3を選択信号φCKに従
って順次選択する。セレクタ40および41は、与えら
れたサーチウィンドウブロック画素データSWijがた
とえばサーチエリア外部の画素データなどの場合には、
固定値を選択して差分絶対値回路42へ与える。固定値
が選択された場合、差分絶対値回路42においては、差
分絶対値は“0”または最大値であり、評価値成分AE
ijは、評価値に対する寄与はしない。データレジスタ
TMBR0〜TMBR3へは、データバス35b(35
a−35d)を介してテンプレートブロック画素データ
TMDが与えられる。アドレス指定されたデータレジス
タに対しテンプレートブロック画素データTMDが格納
される。
【0085】図19(A)は、4つのテンプレートブロ
ックTBa〜TBdと1つのサーチウィンドウブロック
SWBの位置関係を概略的に示す図である。サーチエリ
アは、テンプレートブロックよりも十分広い(図13
(A)および図13(B)参照)。したがってテンプレ
ートブロックTBa〜TBdがサーチエリア内のサーチ
ウィンドウブロックを共有することができる。テンプレ
ートブロックTBa−TBdは、サーチウィンドウブロ
ックSWBに対し、それぞれ変位ベクトルDPa〜DP
dを有する。共通のサーチウィンドウブロックSWBを
用いて4つのテンプレートブロックに対する評価値を時
分割で算出する。
【0086】すなわち、図19(B)に示すように、ク
ロック信号CLKの4倍の周波数の選択信号φCKを用
いてセレクタ40を制御する。セレクタ40は、選択信
号φCKに従ってデータレジスタTMBR0〜TMBR
3の格納データTBa−TBdを順次選択する。サーチ
ウィンドウデータSWijはクロック信号CLKに従っ
て転送される。したがって、差分絶対値回路42におい
ては、これらのテンプレートブロックTBa−TBdそ
れぞれについての評価値成分AEa〜AEdが時分割に
生成される。
【0087】テンプレートブロックTBa−TBdのサ
ーチエリアは異なっている(水平方向16ずつずれ
る)。したがって各テンプレートブロックの動きベクト
ル検出をパイプライン的に検出することができ、高速の
動きベクトル検出を実現することができる。また、共通
のサーチウィンドウブロックSWBを用いて複数のテン
プレートブロックTBa−TBdの動きベクトル評価値
算出を行なっているため、サーチウィンドウ画素データ
を効率的に利用することができ、高速処理が可能とな
る。
【0088】図20は、要素プロセッサへのテンプレー
トブロック画素データ書込の制御部の構成を概略的に示
す図である。図20において、要素プロセッサPEの行
それぞれに対して、ロードクロック信号φ0〜φ15と
レジスタ選択信号RSを受けるドライブ回路DR0〜D
R15が設けられる。要素プロセッサPEは、テンプレ
ートブロック画素データを格納するためのレジスタR0
〜R3(TMBR0−TMBR3)を含む。レジスタ選
択信号RSは、これらの4つのレジスタR0〜R3の1
つを指定する。ロードクロック信号φ0〜φ15は、1
6行の要素プロセッサのうち1行の要素プロセッサを指
定する。データバス35は、4画素のデータ4・PF
(PFa−PFd)を並列に伝達する。要素プロセッサ
列PEL0〜PEL3それぞれに対応して設けられるデ
ータバス35a−35dは、それぞれ1画素の画素デー
タPXa−PXdを伝達する。したがって、レジスタ選
択信号RSとロードクロック信号φ0〜φ15により選
択された1行の要素プロセッサのうちそれぞれにおいて
4つのレジスタR0〜R3のうち1つのレジスタへの画
素データのロードが行なわれる。図20においては、第
1行目の要素プロセッサのレジスタR0へのテンプレー
トブロック画素データが書込まれる状態を一例として示
す。
【0089】なお、データバス35が1画素データを伝
達する場合には、ドライブ回路DR0〜DR15を、要
素プロセッサ列PEL0〜PEL3それぞれに対応して
設け、要素プロセッサが列選択信号をさらに受けるよう
に構成すれば、1画素単位での書込が実現される。
【0090】1つの要素プロセッサ内に4つのテンプレ
ートブロック画素データを格納するためのレジスタR0
〜R3(TMBR0〜TMBR3)を設けて、これらの
レジスタを時分割的に選択することにより、図21に示
すように、テンプレートブロックの動きベクトル検出を
パイプライン的に実行することができる。図21におい
ては、テンプレートブロックTBa〜TBdが、パイプ
ライン的に処理される。テンプレートブロックTBaの
動きベクトルが検出された後、このテンプレートブロッ
クTBaの画素データを格納するレジスタへは、次のテ
ンプレートブロックTBeの画素データが格納される。
1つのテンプレートブロックTBに対する1演算サイク
ル自体は、低減されないが、パイプライン的に処理する
ことにより、実効的に、テンプレートブロックの動きベ
クトル検出時間を、1/4に低減することができる(1
演算サイクル終了時にテンプレートブロックの動きベク
トルが検出されているため、1/4演算サイクルごとに
異なるテンプレートブロックの動きベクトルが検出され
る)。
【0091】[シフトユニットの構成]図22は、図1
6に示すサーチウィンドウデータシフトユニットおよび
サーチウィンドウデータバッファの構成を示す図であ
る。図22においては、1つのサーチウィンドウデータ
シフトユニットS♯の構成を示す。図22において、サ
ーチウィンドウデータシフトユニットS♯は、行列状に
配列されるシフトレジスタSR00〜SR3Fを含む。
これらのシフトレジスタSR00〜SR3Fは、図17
に示す演算ユニットE♯の要素プロセッサPE00〜P
E3Fに対応して配置される。したがって、シフトレジ
スタSR00〜SR3Fは、16行・4列に配置され
る。シフトレジスタSR00〜SR3Fの格納データS
W00〜SW3Fが、対応の演算ユニットの要素プロセ
ッサPE00〜PE3Fへ与えられる。これらのシフト
レジスタSR00〜SR3Fは、一方方向にサーチウィ
ンドウ画素データを転送することができる。
【0092】サーチウィンドウデータバッファ34は、
サーチウィンドウデータシフトユニットS♯に対応して
設けられるデータバッファ回路34♯を含む。このデー
タバッファ回路34♯が、サーチウィンドウデータシフ
トユニットS♯0およびS♯1それぞれに対して設けら
れる。データバッファ回路34♯は、サーチウィンドウ
データシフトユニットS♯のシフトレジスタ列SRL0
〜SRL3それぞれに対応して設けられる遅延バッファ
DLB0〜DLB3を含む。これらの遅延バッファDL
B0〜DLB3は、ファーストイン・ファーストアウト
(FIFO)構成を有し、与えられたサーチウィンドウ
画素データを順次所定時間遅延して出力する。
【0093】図22においては、サーチウィンドウデー
タシフトユニットS♯に含まれるシフトレジスタSR0
0〜SR3Fと遅延バッファDLB0〜DLB3が、一
方方向に沿って画素データを転送するように接続され
る。すなわち、シフトレジスタ列SRL3の最終段のシ
フトレジスタSR30の出力画素データが次段の遅延バ
ッファDLB2へ与えられる。シフトレジスタ列SRL
2の最終段のシフトレジスタSR20の出力画素データ
が次段の遅延バッファDLB1へ与えられる。シフトレ
ジスタ列SRL1の最終段のシフトレジスタSR11の
出力画素データが、遅延バッファDLB0へ与えられ
る。これらの遅延バッファDLB0〜DLB3の出力画
素データは対応のシフトレジスタ列の初段シフトレジス
タSR0F〜SR3Fへ与えられる。遅延バッファDL
B3には、入力部2のサーチウィンドウデータメモリか
らのサーチウィンドウ画素データSWDが与えられる。
演算サイクルにおいては、1クロックサイクルごとに、
1画素のデータのシフトが行なわれる。したがって、演
算ユニットの要素プロセッサには、テンプレートブロッ
クの画素データが常駐し、一方サーチウィンドウデータ
シフトユニットにおいては、サーチウィンドウ画素デー
タが1画素シフトする。この1画素のシフトにより、サ
ーチウィンドウブロックが垂直方向に1画素移動する。
この動作については後に詳細に説明する。
【0094】この図22に示すサーチウィンドウデータ
シフトユニットS♯のシフトレジスタ列SRL0〜SR
L3とサーチウィンドウデータバッファ34♯の遅延バ
ッファDLB0〜DLB3の接続経路を、サブサンプリ
ングレートに応じて変更する。
【0095】図23は、サーチウィンドウデータバッフ
ァ34の構成をより詳細に示す図である。図23におい
て、サーチウィンドウデータバッファ34は、サーチウ
ィンドウデータシフトユニットS♯0およびS♯1それ
ぞれに対応して設けられるデータバッファ回路34♯0
および34♯1と、サブサンプリングレート指示信号φ
SSRに従って、データバッファ回路34♯0および3
4♯1の一方の出力画素データを選択してサーチウィン
ドウデータシフトユニットS♯1へ伝達する選択回路5
0と、サブサンプリングレート指示信号φSSRに従っ
て、データバッファ回路34♯1の出力データおよびシ
フトユニットS♯0およびS♯1の出力画素データの一
方を選択してデータバッファ回路34♯0へ与える選択
回路52を含む。これらの選択回路50および52にお
いて、サブサンプリングレート指示信号φSSRに従っ
て選択経路を切換えることにより、演算部におけるサー
チウィンドウ画素データの転送経路を切換え、応じて、
サブサンプリングレートに従って、サーチウィンドウブ
ロックのサイズを変更する。
【0096】データバッファ回路34♯0および34♯
1の各々は、遅延バッファDLB0−DLB3を含む。
これらの遅延バッファDLB0−DLB3の各々は、た
とえば48ワードのFIFOメモリで構成される。1ワ
ードが1画素データに対応する。
【0097】選択回路50は、サーチウィンドウデータ
シフトユニットS♯1のシフトレジスタ列SRL0〜S
RL3それぞれに対応して設けられるセレクタ50a−
50dを含む。セレクタ50aは、データバッファ34
♯0および34♯1の遅延バッファDLB0の出力デー
タの一方を選択して、シフトユニットS♯1のシフトレ
ジスタ列SRL0の初段のシフトレジスタSR0Fへ与
える。セレクタ50bは、データバッファ34♯0およ
び34♯1の遅延バッファDLB1の出力データの一方
を選択して、シフトユニットS♯1のシフトレジスタ列
SRL1の初段シフトレジスタSR1Fへ与える。セレ
クタ50cは、データバッファ34♯0および34♯1
の遅延バッファDLB2の出力データの一方を選択して
シフトユニットS♯1のシフトレジスタ列SRL2の初
段シフトレジスタSR2Fへ与える。セレクタ50a
は、データバッファ回路34♯0および34♯1の出力
データの一方を選択してシフトユニットS♯1のシフト
レジスタ列SRL3の初段シフトレジスタSR3Fへ与
える。
【0098】選択回路52は、データバッファ回路34
♯0の遅延バッファDLB0−DLB3それぞれに対応
して設けられるセレクタ52a−52dを含む。セレク
タ52aは、シフトユニットS♯0の前列のシフトレジ
スタ列SRL1の最終段のシフトレジスタSR10の出
力データとデータバッファ回路34♯1の遅延バッファ
DLB0の出力データの一方を選択して、データバッフ
ァ回路34♯0の遅延バッファDLB0へ与える。セレ
クタ52bは、シフトユニットS♯0の前列のシフトレ
ジスタ列SRL2の最終段のシフトレジスタSR20の
出力データとデータバッファ回路34♯1の遅延バッフ
ァDLB1の出力データの一方を選択して、データバッ
ファ回路34♯0の遅延バッファDLB1へ与える。セ
レクタ52cは、シフトユニットS♯0内の前列のシフ
トレジスタ列SRL3の最終段シフトレジスタSR30
の出力データとデータバッファ回路34♯1の遅延バッ
ファDLB2の出力データの一方を選択してデータバッ
ファ回路34♯0の遅延バッファDLB2へ与える。セ
レクタ52dは、シフトユニットS♯1の最終列のシフ
トレジスタ列SRL0の最終段シフトレジスタSR00
の出力データとデータバッファ回路34♯1の遅延バッ
ファDLB3の出力データの一方を選択してデータバッ
ファ回路34♯0の遅延バッファDLB3へ与える。
【0099】このデータバッファ回路34♯0の遅延バ
ッファDLB0〜DLB3の出力画素データは、シフト
ユニットS♯0の対応のシフトレジスタ列の初段シフト
レジスタSR0F−SR3Fへも与えられる。
【0100】データバッファ回路34♯1において、遅
延バッファDLB0〜DLB2は、シフトユニットS♯
1の前列のシフトレジスタ列の最終段のシフトレジスタ
SR10,SR20およびSR30の出力画素データを
それぞれ受ける。データバッファ回路34♯1の遅延バ
ッファDLB3へは、画素データ入力部からのサーチウ
ィンドウ画素データSWDが与えられる。
【0101】図24は、4:1サブサンプリングモード
時におけるデータバッファおよびシフトユニットの接続
経路を概略的に示す図である。図24において、4:1
サブサンプリングモード時においては、選択回路50
が、データバッファ回路34♯0の出力画素データを選
択してシフトユニットS♯1へ与える。選択回路52
は、データバッファ回路34♯1の出力画素データを選
択してデータバッファ回路34♯0へ与える。したがっ
て、図24に示すように、データバッファ回路34♯0
および34♯1において、同じ列に配列される遅延バッ
ファが直列に接続される。データバッファ回路34♯0
の遅延バッファDLB0〜DLB3の出力画素データは
並列に、シフトユニットS♯0およびS♯1のシフトレ
ジスタ列SRL0〜SRL3へそれぞれ与えられる。し
たがって、シフトユニットS♯0およびS♯1に、同じ
サーチウィンドウ画素データが与えられる。
【0102】シフトユニットS♯0およびS♯1の各々
は、2つの演算ユニットにより共有される。サブサンプ
リングされたテンプレートブロックのサイズは、16画
素行・4画素列となる。データバッファ回路34♯0お
よび34♯1においては、遅延バッファDLB0−DL
B3それぞれが、48画素データを格納するため、デー
タバッファ回路34♯0および34♯1各列において9
6画素のデータが格納される。シフトユニットS♯1な
らびにデータバッファ回路34♯0および34♯1が、
一方方向に沿ってサーチウィンドウ画素データSWDを
転送する。これは、データバッファ回路34♯1におい
て、遅延バッファDLB0−DLB2が、それぞれの前
列のシフトレジスタ列SRL1−SRL3の出力画素デ
ータを受けるためである。
【0103】図25は、2:1サブサンプリングモード
時におけるサーチウィンドウデータバッファ回路および
シフトユニットの接続を概略的に示す図である。2:1
サブサンプリングモード時においては、図23に示す選
択回路50は、データバッファ回路34♯1の出力画素
データを選択してシフトユニットS♯1へ与える。選択
回路52は、シフトユニットS♯1の最終列SR0の出
力データおよびシフトユニットS♯0の前列SRL1−
SEL3の出力データを選択してシフトユニットS♯0
へ与える。したがってこの2:1サブサンプリングモー
ド時においては、データバッファ回路34♯1、シフト
ユニットS♯1、データバッファ回路34♯0およびシ
フトユニットS♯0は、サーチウィンドウ画素データS
WDを、蛇行して一方方向に転送するように接続され
る。すなわち、シフトレジスタSRL0−SRL3は、
それぞれ次段に設けられた遅延バッファDLB0−DL
B3を介して一方方向にサーチウィンドウ画素データを
転送する。
【0104】この図25に示す接続においては、サーチ
ウィンドウブロックが16行・8列の画素となる(シフ
トユニットS♯0およびS♯1には同じサーチウィンド
ウブロックの画素データが格納されてシフトされるた
め)。データバッファ回路34♯0および34♯1は、
シフトレジスタ列間に、1つの遅延バッファを介挿す
る。遅延バッファDLB0−DLB3の各々は、48画
素のデータを格納する。したがって垂直方向探索範囲
は、−24〜+23となる。次に、各サブサンプリング
モード時の動きベクトル検出動作について説明する。
【0105】[4:1サブサンプリングモード動作]い
ま、フレーム画像を、図26に示すように、16画素・
16画素のマクロブロックに分割した状態を考える。図
26においては、水平方向に16ブロック、垂直方向に
7ブロックに分割された状態が一例として示される。こ
の領域はマクロブロックTB8のサーチエリアに対応す
る。マクロブロックTB8を符号化対象ブロックすなわ
ちテンプレートブロックとする。
【0106】図27に示すように、画面上のテンプレー
トブロックTBは、16画素・16画素のサイズを備え
る。テンプレートブロックTBは、フレーム画素で構成
されており、偶数フィールドおよび奇数フィールドの画
素データを含む。
【0107】入力部2により、4:1サブサンプリング
が行なわれると、水平方向の16画素が4画素にサブサ
ンプリングされる。したがって、演算部に格納されるテ
ンプレートブロックは、水平方向4画素、垂直方向16
画素のサブサンプリングテンプレートブロックとなる。
このサブサンプリングテンプレートブロックにおいて
は、奇数フィールドODDの画素データおよび偶数フィ
ールドEVNの画素データが交互に垂直方向に配列され
る。サブサンプリングされたテンプレートブロックのう
ち偶数フィールドの画素で構成される偶数サブテンプレ
ートは8行・4列の画素を備える。一方、奇数フィール
ドODDの画素で構成される奇数サブテンプレートも同
様、8行・4列の画素で構成される。このテンプレート
ブロック、偶数サブテンプレートブロックTBeおよび
奇数サブテンプレートブロックTBoについて動きベク
トルを並列に検出する。
【0108】図28に示すように、4:1サブサンプリ
ング時においては水平方向は、−128〜+127の水
平ベクトル成分の範囲で動きベクトルの探索が行なわれ
る。いま、テンプレートブロックTB8を考えると、水
平方向に整列して配置されるテンプレートブロックTB
1〜TB16は、このサーチエリア内に含まれる。これ
らの16個のテンプレートブロックTB1〜TB16に
対し、パイプライン的に、動きベクトルを検出する。演
算ユニットE♯0内においては、テンプレートブロック
TB1−TB4の画素データが格納され、演算ユニット
E♯1内においては、テンプレートブロックTB5−T
B8の画素データが格納される。演算ユニットE♯2内
においてはテンプレートブロックTB9−TB12の画
素データが格納され、演算ユニットE♯3内においては
テンプレートブロックTB13−TB16の画素データ
が格納される。これら4つのテンプレートブロックの画
素データは、図18に示すように、各要素プロセッサに
おいて4つのテンプレートブロックデータレジスタTM
BR0−TMBR3(R0−R3)にそれぞれ格納され
る。
【0109】4:1サブサンプリング時においてデータ
バッファ回路34♯0および34♯1が直列に接続され
る。この直列に接続されるデータバッファ回路34♯0
および34♯1には、垂直方向96画素のデータが格納
される。シフトユニットS♯0およびS♯1へ同じサー
チウィンドウ画素データが与えられる。シフトユニット
S♯0およびS♯1各々は、16行4列に配列されるシ
フトレジスタを備える。これらのシフトレジスタにサー
チウィンドウ画素データが格納される。
【0110】図29は、ある時点におけるサーチウィン
ドウデータの演算部内の格納状態を示す図である。図2
9において、テンプレートブロックTB8の真裏のサー
チウィンドウブロックの変位を(0,0)とする。デー
タシフトユニットS♯0およびS♯1には、変位ベクト
ル(0,−48)のサーチウィンドウブロックの画素デ
ータが格納される。96行4列のサーチウィンドウ画素
データがデータバッファ回路34♯0および34♯1内
に格納される。サーチウィンドウブロックに対し、テン
プレートブロックTB1−TB16は、それぞれ互いに
異なる変位ベクトルを有し、これらのテンプレートブロ
ックTB−TB16に対する評価値が算出される。
【0111】この図29に示す状態は、図30に示すよ
うに、テンプレートブロックTB8に関しては、フレー
ム変位ベクトル(0,−48)に対応する。偶数サブテ
ンプレートブロックTB8eについては、偶数フィール
ドに対するフィールド変位ベクトル(0,−24)とな
る。また、奇数サブテンプレートブロックTB8oにつ
いては、奇数フィールドに対するフィールド変位ベクト
ル(0,−24)となる。これは、テンプレートブロッ
クの各画素に対応して要素プロセッサが配置されている
ため、偶数フィールドの画素に対応して配置される要素
プロセッサが、偶数フィールドのサーチウィンドウブロ
ック画素データを入力し、また奇数フィールド画素に対
して配置される要素プロセッサは、奇数フィールドのサ
ブサーチウィンドウブロック画素データを受けるためで
ある。
【0112】評価値算出は、図29に示すテンプレート
ブロックTB1−TB16について演算ユニットE♯0
−E♯3それぞれにおいて時分割態様で実行される。こ
れらのテンプレートブロックTB1−TB16各々は、
画面上16画素(水平方向)に対応しており、テンプレ
ートブロックの水平方向の変位が16ずつずれている。
【0113】この演算処理においては、サーチウィンド
ウ画素データが4クロックサイクル期間の間各要素プロ
セッサにシフトユニットから与えられる。各クロックサ
イクルにおいて、演算ユニットE♯0−E♯3それぞれ
において異なる4つのテンプレートブロックの評価値の
算出が行なわれる。
【0114】サーチウィンドウブロック1つについての
評価値算出サイクルが完了すると、テンプレートブロッ
ク画素データを各要素プロセッサPE内に保持した状態
で、サーチウィンドウ画素データを1画素転送する。す
なわち、入力部2からサーチウィンドウ画素データが1
画素分与えられ、シフトユニットおよびデータバッファ
回路34♯0および34♯1において1画素のデータ転
送が実行される。シフトユニットS♯0へはシフトユニ
ットS♯1と同じサーチウィンドウ画素データが格納さ
れる。シフトユニットS♯1ならびにデータバッファ回
路34♯0および34♯1では、データ転送経路が連続
的に形成されており、シフトユニットS♯0 およびS♯
1ならびにデータバッファ回路34♯0および34♯1
において同時に1画素のデータ転送が実行される。
【0115】データバッファ回路34♯0からは、対応
のシフトレジスタ列SRL0−SRL3へ画像データが
転送される。したがって、図29に示すサーチウィンド
ウブロックにおいて最上行の画素が、転送動作によりデ
ータバッファ回路34♯1内へ転送され、逆にデータバ
ッファ回路34♯0から、シフトユニットS♯0および
S♯1へ1画素行のデータが転送される。
【0116】図31に、この1画素転送動作を行なった
ときのサーチウィンドウデータの格納状態を示す。最上
列(最終列)SRL0の最終段のシフトレジスタSR0
0の保持していたサーチウィンドウデータはシフトアウ
トされ、一方、1画素データがデータバッファ回路にシ
フトインされる。したがって、このデータバッファ回路
34♯0および34♯1の保持するサーチウィンドウ画
素データは、96画素×4画素である。一方、シフトユ
ニットS♯0およびS♯1内においては、1画素分、垂
直方向にずれたサーチウィンドウブロックSWBの画素
データが格納される。この状態で、各演算ユニットE♯
0−E♯3において、評価値算出が行なわれる。
【0117】図32は、この図31に示す状態における
テンプレートブロックTB8の変位を示す図である。サ
ーチウィンドウブロックSWBは、垂直方向に1画素シ
フトしている。したがって、最上行の奇数フィールドO
DDの画素がシフトアウトされて、また新たに奇数フィ
ールドODDの画素データがシフトインされている。テ
ンプレートブロックTB8の画素データは転送されてお
らず、常駐している。したがって、テンプレートブロッ
クTB8のフレーム変位ベクトルは、(0,−47)と
なる。偶数サブテンプレートブロックTB8eは、奇数
フィールドに対するフィールド変位ベクトル(0,−2
3)を有する。一方、奇数サブテンプレートブロックT
B8oは、偶数フィールドEVENの画素データに対応
しており、この偶数フィールドEVENの画素データは
変化していない。したがって先のサイクルの偶数フィー
ルドの変位ベクトルと同じであり、奇数サブテンプレー
トブロックTB8aは、偶数フィールドに対し変位
(0,−24)を有する。この変位ベクトルについて、
差分絶対値の演算が各要素プロセッサにおいて行なわ
れ、要素プロセッサからの差分絶対値に対する総和演算
が行なわれ、それぞれの変位ベクトルに対する評価値が
演算される。
【0118】このサーチウィンドウ画素データ転送動作
を、1水平変位についての垂直変位分(−48〜+47
の96変位分)繰返し実行する。この状態において、図
33に示すように、サーチウィンドウブロックの最も下
の位置のサーチウィンドウブロックがシフトユニットS
♯0およびS♯1内に格納される。データバッファ回路
34♯0および34♯1内においては、次の水平変位ベ
クトル成分に対応するサーチウィンドウ画素データ(9
6画素)が新たにシフトインされ、不要となった画素デ
ータはシフトアウトされる。
【0119】この図33に示す状態は、テンプレートブ
ロックTB8に対してはフレーム変位ベクトルは(0,
47)であり、偶数サブテンプレートブロックTB8e
および奇数サブテンプレートブロックTB8aはそれぞ
れ、偶数フィールドおよび奇数フィールドに対するフィ
ールド変位ベクトル(0,+23)を有する。この状態
で、評価値算出が実行される。これにより、1水平変位
成分についてのベクトル探索動作が終了する。この探索
動作が終了すると、16個のサーチウィンドウ画素デー
タをデータバッファ回路内に入力するために、16サイ
クルサーチウィンドウ画素データの転送が行なわれる。
この16サイクルの転送動作時においては、評価値演算
処理は実行されない。
【0120】図34は、この16画素をシフトインした
後のサーチウィンドウ画素データの格納状態を概略的に
示す図である。この図34に示すように、16画素シフ
トインすることにより、次の水平ベクトル成分(+4加
算される)に対応するサーチウィンドウ画素データが演
算ユニット内に格納される。シフトユニットS♯0およ
びS♯1のシフトレジスタには、テンプレートブロック
TB8に対し、変位ベクトル(+4,−48)のサーチ
ウィンドウブロックの画素データが格納される。残りの
画素データは、データバッファ回路34♯0および34
♯1内に格納される。したがって、この16画素データ
のシフトイン後、同じ処理を繰返すことにより、水平ベ
クトル成分が+4加算されたサーチウィンドウにおいて
動きベクトル探索を行なうことができる。以降、この動
作をサーチエリア内の変位ベクトルについて実行する。
【0121】図35は、図17に示す加算回路36の構
成を概略的に示す図である。図17に示すように、要素
プロセッサPEijは、テンプレートブロックの画素に
対応して配置される。したがって、その配置位置によ
り、各要素プロセッサは、偶数フィールドEVENの画
素に対応して配置されているのか、奇数フィールドOD
Dの画素に対応して配置されているのかを識別すること
ができる。加算回路36は、この特徴を利用して、3つ
の予測モードについての評価値を算出する。
【0122】図35において、加算回路36は、奇数フ
ィールドの画素に対応して配置される要素プロセッサの
出力データ(評価値成分)PEo(AEo)の総和を求
める総和回路36aと、偶数フィールドEVENの画素
に対応して配置される要素プロセッサの出力データ(差
分絶対値AEe)PEeの総和を求める総和回路36b
と、総和回路36aおよび36bの出力値を加算する加
算回路36cを含む。総和回路36aから奇数サブテン
プレートブロックについての動きベクトルの評価値Σo
|a−b|が出力され、総和回路36bから、偶数サブ
テンプレートブロックについての動きベクトル評価値Σ
e|a−b|が出力される。加算回路36cから、テン
プレートブロックの評価値Σ|a−b|が出力される。
したがって、フレーム予測、偶数フィールド予測、およ
び奇数フィールド予測の3つの予測モードに従った評価
値を並行して導出することができる。
【0123】要素プロセッサPE内においては、4つの
テンプレートブロックの画素データが格納されている。
これら4つのテンプレートブロックの評価値算出が時分
割的に行なわれる。したがって、4クロックサイクルで
4つのテンプレートブロックについての動きベクトル評
価値が算出される。4クロックサイクルごとに、サーチ
ウィンドウ画素データの転送が行なわれる。
【0124】なお、図26に示す画面分割においては、
水平方向に整列する16個のテンプレートブロックTB
1−TB16を含む領域がサーチエリアとして想定され
ている。このサーチエリアの水平方向が、1画面のサイ
ズと同じである必要はない。画面水平方向が32分割さ
れ、16個のテンプレートブロックについて動きベクト
ル検出が行なわれてもよい。
【0125】サーチエリア内においての動きベクトル評
価値がすべて算出されると、図1に示す比較部6におい
て、最小の評価値を与えるテンプレートブロックの変位
ベクトルが、各予測モードに対する動きベクトルとして
決定される。比較部6は、単にレジスタと比較器を含
み、与えられる評価値とレジスタに格納された評価値と
の比較を行ない、小さな評価値が与えられるごとにレジ
スタの内容を更新し、そのときの変位ベクトル値を併せ
て格納する構成を備える。同じ評価値成分が与えられる
とき予め定められた優先順位に従って動きベクトル候補
の変位ベクトルの更新が行なわれてもよい。
【0126】4:1サブサンプリングデータ時において
は、水平方向において、画素が4:1の割合でサブサン
プリングされており、水平ベクトル成分を4倍に拡張し
ても、算出される評価値の数は、変化せず、広いサーチ
エリアにおいて動きベクトル探索を行なうことができ
る。また、複数のテンプレートブロックについて並行し
て、動きベクトル算出が行なわれるため、高速で、動き
ベクトル検出を行なうことができる。
【0127】[2:1サブサンプリングレート時の動
作]2:1サブサンプリングモード時においては、シフ
トユニットS♯0およびS♯1およびデータバッファ回
路34♯0および34♯1は、図25に示すように、連
続的に一方方向に画素データを転送するように選択回路
50および52により接続される。すなわち、シフトユ
ニットS♯0およびS♯1においては、遅延バッファD
LB0−DLB3の有する遅延時間ずれたサーチウィン
ドウ画素データが格納される。また、1フレーム画像
を、図36に示すように水平方向8個のマクロブロック
に分割する状態を考える。この領域はテンプレートブロ
ックTB4のサーチエリアに対応する。マクロブロック
は、16画素・16画素で構成される。
【0128】図37は、2:1サブサンプリングモード
時に演算部で処理されるテンプレートブロックの構成を
概略的に示す図である。2:1サブサンプリングモード
時においては、水平方向の隣接2画素が1画素にサブサ
ンプリングされる。したがって、16画素・16画素の
テンプレートブロックTB4は、16画素行・8画素列
のフレームテンプレートブロックに縮小される。このフ
レームテンプレートブロックは偶数フィールドEVEN
および奇数フィールドODDの画素データを含んでい
る。したがって奇数サブテンプレートブロックは、8画
素行・8画素列で構成され、また偶数サブテンプレート
ブロックも、8画素行・8画素列で構成される。
【0129】テンプレートブロックTB4についての動
きベクトルを検出する動作を考える。
【0130】図38は、演算部の配置を概略的に示す図
である。図38において、シフトユニットS♯0および
データバッファ回路34♯0は、4画素列を転送するサ
ブシフトブロックSSB0を構成し、シフトユニットS
♯1およびデータバッファ回路34♯1が、4列のサー
チウィンドウ画素データを転送するサブシフトブロック
SSB1を構成する。シフトユニットS♯1からシフト
アウトされた画素データが、データバッファ回路34♯
0へ与えられる。演算ユニットE♯0には、テンプレー
トブロックTB1〜TB4それぞれの、左半分の画素デ
ータが格納され、演算ユニットE♯1においては、テン
プレートブロックTB1〜TB4の右半分の画素データ
が格納される。演算ユニットE♯2においてはテンプレ
ートブロックTB5〜TB8それぞれの、左半分の画素
データが格納され、演算ユニットE♯3に、テンプレー
トブロックTB5〜TB8の右半分の画素データが格納
される。データバッファ回路34♯0および34♯1そ
れぞれは、水平方向48画素のサーチウィンドウ画素デ
ータを格納する。2:1サブサンプリングモード時にお
いては、垂直方向の探索範囲は−24〜+23である。
したがって、シフトユニットS♯0およびS♯1には、
垂直方向に関して同じ位置のサーチウィンドウ画素デー
タが格納される。
【0131】図39は、テンプレートブロックTB4に
対する画素データの格納状態を示す図である。演算ユニ
ットE♯0内においては、16画素行・4画素列のテン
プレートブロックTB4の左半分の画像データが格納さ
れる。演算ユニットE♯1内においては、16行・4列
のテンプレートブロックTB4の右半分のブロックの画
素データが格納される。シフトユニットS♯0内におい
ては、16画素行・4画素列のサーチウィンドウ画素デ
ータが格納され、データバッファ回路34♯0内におい
て、48画素行・4画素列のサーチウィンドウ画素デー
タが格納される。
【0132】シフトユニットS♯1内においては、16
画素行・4画素列のサーチウィンドウ画素データが格納
され、データバッファ回路34♯1内においては、48
画素行・4画素列のサーチウィンドウ画素データが格納
される。サブシフトブロックSSB0およびSSB1内
に格納される画素データを合わせると、図39に示すよ
うに、シフトユニットS♯0およびS♯1内に16画素
行・8画素列のサーチウィンドウブロック画素データが
格納され、データバッファ回路34♯0および34♯1
内に48画素行・8画素列のサーチウィンドウ画素デー
タが格納される。したがって、演算ユニットE♯0にお
いてはテンプレートブロックTB4の左半分の画素デー
タについての評価値成分を生成し、演算ユニットE♯1
内においてテンプレートブロックTB4の右半分の画素
データについての評価値成分を算出する。これらの評価
値成分を加算することにより、テンプレートブロックT
B4の評価値が生成される。
【0133】図39から明らかなように、サーチウィン
ドウ画素データのシフト動作は、4:1サブサンプリン
グモード時と同じように、1画素ずつシフトインして、
サブシフトブロックSSB0およびSSB1において1
画素シフトさせることにより行なう。
【0134】図39に示すサブシフトブロックSSB0
およびSSB1におけるサーチウィンドウ画素データの
格納状態においては、フレームテンプレートブロックT
B4に対しては、変位ベクトル(0,−24)であり、
奇数サブテンプレートブロックTB4oは、奇数フィー
ルドODDに対するフィールド変位ベクトル(0,−1
2)となる。偶数サブテンプレートブロックTB4e
は、複数フィールドEVENに対するフィールド変位ベ
クトル(0,−12)となる。これらの変位ベクトルに
対し、各要素プロセッサPEijが、シフトユニットの
対応のシフトレジスタSRijから出力されるサーチウ
ィンドウ画素データSWijと格納するテンプレートブ
ロック画素データとの差分絶対値を求める。この求めら
れた差分絶対値が総和部36において総和される。すな
わち奇数サブテンプレートブロックTB4oについての
差分絶対値の総和、偶数サブテンプレートブロックTB
4eについての差分絶対値の総和がそれぞれ求められ
る。その後、これらの総和をさらに加算して、テンプレ
ートブロックTB4に対する差分絶対値の総和が求めら
れる。演算ユニットE♯0−E♯3から出力される差分
絶対値の総和値は、それぞれテンプレートブロックの半
分の画素データの差分絶対値の和である。したがって、
さらに別に設けられた総和部において、これらの各演算
ユニットから出力された変位ベクトルの差分絶対値の総
和がさらに加算される。これにより、テンプレートブロ
ックTB4に対するフレーム予測、偶数フィールド予
測、および奇数フィールド予測の3つの予測モードに従
った評価値が生成される。
【0135】要素プロセッサPEijにおいては、4つ
のテンプレートブロックの画素データが格納される。こ
れは先の4:1サブサンプリングモード時と同じであ
る。したがって、4クロックサイクル期間サーチウィン
ドウ画素データはシフトレジスタ内に保持され、4つの
テンプレートブロックそれぞれに対する評価値成分の算
出が実行される。4クロックサイクルが経過すると、サ
ーチウィンドウ画素データが1画素シフトされる。
【0136】図40は、1画素シフトした後のサーチウ
ィンドウ画素データのサブシフトブロックSSB0およ
びSSB1における格納状態を概略的に示す図である。
図40において、1画素のサーチウィンドウデータが、
データバッファ回路34♯内へシフトインされる。これ
により、サブシフトブロックSSB1およびSSB0に
おいて、1画素のシフト動作が行なわれる。シフトユニ
ットS♯1からシフトアウトされた画素データがデータ
バッファ回路34♯0にシフトインされる。また、シフ
トユニットS♯0から、1画素のデータがシフトアウト
される。サブシフトブロックSSB0内において、図の
最上行の4画素および下部の47画素・4画素が格納さ
れる。また、16画素・4画素のサーチウィンドウブロ
ック画素データがサブシフトブロックSSB0に格納さ
れる。サブシフトブロックSSB1において、図40の
最上行の4画素および下側の47画素・4画素のサーチ
ウィンドウ画素データが格納される。シフトユニットS
♯1内において、16画素・4画素のサーチウィンドウ
ブロック画素データが格納される。
【0137】この状態は、フレームテンプレートブロッ
クTB4に対して、テンプレートブロックのフレーム変
位ベクトル(0,−23)、奇数サブテンプレートブロ
ックTB4oは、偶数フィールドEVENに対するフィ
ールド変位ベクトル(0,−12)、および偶数サブテ
ンプレートブロックTB4eは、奇数フィールドODD
に対するフィールド変位ベクトル(0,−11)のサー
チウィンドウブロックがシフトユニットS♯0およびS
♯1に格納された状態に対応する。シフトユニットS♯
0およびS♯1に格納されたサーチウィンドウブロック
に対して、上述と同様の差分絶対値および総和演算が行
なわれ、フレーム予測、偶数フィールド予測および奇数
フィールド予測の各予測モードに従った評価値が算出さ
れる。
【0138】上述のサーチウィンドウ画素データの転送
動作を、1水平変位についての垂直変位分(−24〜+
23の48変位分)繰返す。この状態において、図41
に示すように、サーチウィンドウブロックが、最下部に
移動する。この状態で、テンプレートブロックTB4の
フレーム変位ベクトル(0,23)、偶数サブテンプレ
ートブロックTB4eは、偶数フィールドに対するフィ
ールド変位ベクトル(0,11)、奇数サブテンプレー
トブロックTB4oは、奇数フィールドに対するフィー
ルド変位ベクトル(0,11)のサーチウィンドウブロ
ックが格納された状態に対応する。データバッファ回路
において、すでに、48個のサーチウィンドウ画素デー
タが格納されている。この状態で、評価値算出が行なわ
れる。データバッファ回路34♯0および34♯1内に
おいては、シフトユニットS♯0およびS♯1に格納さ
れたサーチウィンドウ画素データと、水平方向について
1サブサンプリング画素ずれた位置のサーチウィンドウ
画素データが格納される。
【0139】この演算動作完了後、サーチウィンドウ画
素データの転送のみ(演算は行なわず)の動作を16回
(16クロックサイクル)繰返す。この結果、図42に
示すように、次の水平変位ベクトル(+2加算)に対す
る最初の垂直変位点についての評価を行なうことのでき
る状態となる。
【0140】すなわち、水平方向に1サブサンプリング
画素データずれた位置のサーチウィンドウの画素データ
が演算部に格納される。ここで、1サブサンプリング画
素は、画面上の2画素に対応する。以降、評価値算出動
作を、サーチエリア内の全ベクトルについてすべて実行
する。
【0141】この評価値に対し、比較部6においてテン
プレートブロックそれぞれに対する3つの予測モード
(フレーム予測、偶数フィールド予測、および奇数フィ
ールド予測)に対する最小評価値が求められ、これらの
最小評価値に対する変位ベクトルが、テンプレートブロ
ック、奇数サブテンプレートブロックおよび偶数サブテ
ンプレートブロックに対する動きベクトルとして決定さ
れる。
【0142】図43は、加算部の構成を概略的に示す図
である。図43において、演算ユニットE♯0およびE
♯1はそれぞれ、加算回路36を備える。したがって、
演算ユニットE♯0およびE♯1からは、半分のテンプ
レートブロックについての評価値成分が出力される。こ
れらの演算ユニットE♯0およびE♯1に対し、サブサ
ンプリングレート指示信号φSSRに従って演算ユニッ
トE♯1からの評価値成分ΣPHRと固定値“0”の一
方を選択するセレクタ60と、セレクタ60の出力デー
タと演算ユニットE♯0からの評価値成分ΣPHLを加
算する加算回路62が設けられる。加算回路62の出力
データが比較部6へ与えられる。比較部6は、サブサン
プリングレート指示信号φSSRに従って、演算ユニッ
トE♯1から与えられる評価値成分データΣPHRを有
効/無効とする。
【0143】4:1サブサンプリングモード時において
は、セレクタ60は、固定値“0”を選択する。したが
って加算回路62からは、演算ユニットE♯0から与え
られる評価値成分ΣPHLが出力されて比較部6へ与え
る。比較部6は、この4:1サブサンプリングモード時
においては、サブサンプリングモード指示信号φSSR
に従って加算回路62の出力データおよび演算ユニット
E♯1からの出力データをともに有効として、最適動き
ベクトル検出動作を行なう(最小評価値を与える変位ベ
クトルの検出を行なう)。
【0144】一方、2:1サブサンプリングモード時に
おいては、セレクタ60は、演算ユニットE♯1からの
評価値成分ΣPHRを選択する。したがって加算回路6
2は、演算ユニットE♯0およびE♯1からの評価値成
分ΣPHLおよびΣPHRを加算して比較部6へ与え
る。比較部6は、この2:1サブサンプリングモード時
において、加算回路62の出力データに従って最小評価
値を検出する。このとき比較部6は、演算ユニットE♯
1から与えられる評価値成分ΣPHRは無視する。
【0145】図43に示す加算部の構成が、演算ユニッ
トE♯2およびE♯3に対しても設けられる。なお、図
43において算ユニットE♯0およびE♯1から出力さ
れる評価値成分ΣPHLおよびΣPHRは、3つの予測
モードそれぞれに対する評価値成分を代表的に示す。
【0146】以上のように、この発明の実施の形態1に
従えば、サブサンプリングレートに応じて、内部のサー
チウィンドウ画素データの転送経路を切換えるように構
成しているため、異なるサブサンプリングレートでの動
きベクトルに対しても柔軟に対応することができ、ハー
ドウェア量を増加させることなく、広範囲な動きベクト
ル探索を行なうことができ、高機能な画像符号化システ
ムを構築することができる。
【0147】[実施の形態2]図44は、この発明の実
施の形態2におけるテンプレートブロックの構成を概略
的に示す図である。図44に示す実施の形態2において
は、入力画像は、フィールドを単位として構成される。
このフィールド画像におけるテンプレートブロックは1
6画素・16画素のサイズを有する。フィールドテンプ
レートブロックTBは、上側の8画素行・16画素列の
上側サブテンプレートブロックUSBと、下半分の8画
素行・16画素列の下側サブテンプレートブロックLS
Bとに分割される。このフィールドテンプレートブロッ
クTB、上側サブテンプレートブロックUSBおよび下
側サブテンプレートブロックLSBそれぞれについて評
価値の算出が行なわれる。
【0148】図45は、この発明の実施の形態2におけ
る動きベクトル検出装置の構成を概略的に示す図であ
る。図45において、動きベクトル検出装置は、入力画
像データを受けて、所定のサブサンプリングレートでサ
ブサンプリングしてサブサンプリングテンプレートブロ
ックデータおよびサブサンプリングサーチウィンドウ画
素データTBDおよびSWDを生成する入力部2と、入
力部2から与えられる画素データTBDおよびSWDに
従って評価値算出を行なう演算部4と、演算部4からの
評価値EALL、EUPおよびELWに従って入力テン
プレートブロックに対する動きベクトルMVTP、上側
サブテンプレートブロックに対する動きベクトルMVU
P、および下側サブテンプレートブロックに対する動き
ベクトルMVLWを検出する比較部6を含む。演算部4
は、フィールドテンプレートブロックの評価値EAL
L、上側サブテンプレートブロックに対する評価値EU
Pおよび下側サブテンプレートブロックに対する評価値
ELWを生成する。
【0149】この図45に示す動きベクトル検出装置の
構成は、図1に示す動きベクトル検出装置の構成と同じ
である。入力画像データがフィールド単位で与えられる
点が、図1に示す動きベクトル検出装置と異なる。した
がって内部構成はすべて同じであって、また、その評価
値算出動作も同じである。すなわち、画面上16画素・
16画素のフィールドテンプレートブロックが、4:1
サブサンプリングモード時においては、16画素行・4
画素列にサブサンプリングされる。応じて、上側サブテ
ンプレートブロックUSBも、8画素行・4画素列にサ
ブサンプリングされる。また下側サブテンプレートブロ
ックLSBも、8画素行・4画素列にサブサンプリング
される。各テンプレートブロックのサイズは、先の実施
の形態1と同じであり、したがって演算部に含まれるシ
フト部の接続は、同じである。要素プロセッサPEの出
力する評価値成分の加算回路への振分けが異なる。
【0150】図46は、図45に示す演算部4に含まれ
る加算回路36の構成を示す図である。図46におい
て、加算回路36は、対応の演算ユニット内の要素プロ
セッサPEのうち、上側サブテンプレートブロックに対
応する要素プロセッサからの評価値成分PEu(差分絶
対値AEu)の総和を求める総和回路36dと、対応の
演算ユニットにおける要素プロセッサのうち、下側サブ
テンプレートブロックの画素に対応して配置される要素
プロセッサからの評価値成分PEl(差分絶対値AE
l)の総和を求める総和回路36eと、総和回路36d
および36eの出力値を加算する加算回路36fを含
む。総和回路36dから、上側サブテンプレートブロッ
クに対する評価値Σu|a−b|が出力され、総和回路
36eから、下側サブテンプレートブロックLSBに対
する評価値Σl|a−b|が出力される。加算回路36
fから、フィールドテンプレートブロックに対する評価
値Σ|a−b|が出力される。これらの評価値に従っ
て、比較部6が、最小評価値を与える変位ベクトルを求
める。2:1サブサンプリングモード時に利用される追
加の加算回路は、図43に示す構成と同様の構成を有す
る。
【0151】したがって、この実施の形態2において
も、フィールド単位で画像データを符号化する場合、フ
ィールドテンプレートブロック、上側サブテンプレート
ブロックおよび下側サブテンプレートブロックそれぞれ
を単位として評価値を求める予測モードに対し並列に評
価値を算出することができる。またサブサンプリングレ
ートが異なる場合においても、実施の形態1と同様に対
応することができる。これにより、実施の形態1と同様
の効果を得ることができる。
【0152】[実施の形態3]図47は、この発明の実
施の形態3における要素プロセッサの配列を概略的に示
す図である。図47において、要素プロセッサPEは、
テンプレートブロックの上半分にありかつ奇数フィール
ドの画素に対応する要素プロセッサ群PE♯OUと、テ
ンプレートブロックの上半分のサブブロックに存在しか
つ偶数フィールドの画素に対応して配置される要素プロ
セッサ群PE♯EUと、テンプレートブロックの下半分
の奇数フィールドの画素に対応して配置される要素プロ
セッサ群PE♯OLと、テンプレートブロックの下半分
の偶数フィールドの画素に対応して配置される要素プロ
セッサ群PE♯ELに分割する。この要素プロセッサP
Eを4つのグループに分割することにより、入力画像デ
ータに対するフレーム単位およびフィールド単位の符号
化のいずれにも対応することのできる動きベクトル検出
装置を実現する。
【0153】図48は、この発明の実施の形態3に従う
動きベクトル検出装置の全体の構成を概略的に示す図で
ある。図48において、この動きベクトル検出装置は、
先の実施の形態1および2と同様、入力画像データを受
けてサブサンプリングしてテンプレートブロック画素デ
ータTBDおよびサーチウィンドウ画素データSWDを
生成する入力部2と、これらの画素データTBDおよび
SWDに従って、3つの予測モードに従って評価値EA
LL、EU/OD、およびEL/EVを生成する演算部
4と、この演算部4からの評価値に従って3つの予測モ
ードそれぞれに対し、動きベクトルMVTP、MVU/
ODおよびMVL/EVを生成する比較部6を含む。
【0154】評価値EALLは、テンプレートブロック
の画素すべてを用いて計算された評価値である。評価値
EU/ODは、上側サブテンプレートブロック予測モー
ドまたは奇数フィールド予測モードに従って生成される
評価値を示す。評価値EL/EVは、下側サブテンプレ
ートブロック予測モードまたは偶数フィールド予測モー
ドいずれかに従って生成される評価値を示す。動きベク
トルMVTPは、テンプレートブロックについての動き
ベクトルを示す。動きベクトルMVU/ODは、上側サ
ブテンプレートブロックまたは奇数フィールドに対する
動きベクトルを示す。動きベクトルMVL/EVは、下
側サブテンプレートブロックまたは偶数フィールドに対
する動きベクトルを示す。
【0155】実施の形態3においては、フレーム単位で
の符号化が行なわれる場合には、フレームテンプレート
ブロック予測モード、偶数フィールド予測モードおよび
奇数フィールド予測モードの3つの予測モードが用いら
れる。符号化がフィールド単位で実行される場合、予測
モードとして、フィールド予測モード、上側サブテンプ
レートブロック予測モード、および下側サブテンプレー
トブロック予測モードが用いられる。これにより、フレ
ーム単位およびフィールド単位いずれに対しても、対応
することのできる動きベクトル検出装置を実現すること
ができる。
【0156】図49は、演算部4に含まれる1つの演算
ユニットにおける加算回路36の構成を概略的に示す図
である。要素プロセッサPEijの配置およびシフト部
の構成は実施の形態1および2と同じである。図49に
おいて、加算回路36は、対応の演算ユニット内におい
て上半分ブロックに配置されかつ奇数フィールドの画素
に対応して配置される要素プロセッサ群PE♯OUから
与えられる評価値成分AEouの総和を求める総和器3
6gと、対応の演算ユニットの上半分ブロックの偶数フ
ィールドの画素に対応して配置される要素プロセッサ群
PE♯EUの出力する評価値成分AEeuの総和を求め
る総和器36hと、対応の演算ユニットの下半分ブロッ
クに配置されかつ奇数フィールドの画素に対応して配置
される要素プロセッサ群PE♯OLからの評価値成分A
Eolの総和を求める総和器36iと、対応の演算ユニ
ットの下半分ブロックの偶数フィールドの画素に対応し
て配置される要素プロセッサ群PE♯ELからの評価値
成分AEelの総和を求める総和器36jと、符号化単
位指示信号φFSに従って総和器36hおよび36iの
一方の出力データを選択するセレクタ36kと、符号化
単位指示信号φFSに従って総和器36hおよび36i
の出力信号の一方を選択するセレクタ36lと、総和器
36gの出力データとセレクタ36kの出力データを加
算する加算器36mと、セレクタ36lからの出力デー
タと総和器36jの出力データを加算する加算器36n
と、加算器36mおよび36nの出力値を加算する加算
器36qを含む。
【0157】セレクタ36kはフレーム単位での符号化
時には、総和器36iの出力データを選択し、フィール
ド単位での符号化時には、セレクタ36kは、総和器3
6hの出力データを選択する。セレクタ36lはセレク
タ36kと相補な態様で選択動作を行ない、フレーム単
位での符号化時には、セレクタ36lは、総和器36h
の出力データを選択し、フィールド単位での符号化時に
は、セレクタ36lは、総和器36iの出力データを選
択する。
【0158】加算器36mから評価値Σo/u|a−b
|が出力され、加算器36nから評価値Σe/l|a−
b|が出力され、加算器36qから評価値Σ|a−b|
が出力される。
【0159】フレーム単位での符号化時には、セレクタ
36kが総和器36iの出力データを選択し、セレクタ
36lが、総和器36hの出力データを選択する。した
がって、加算器36mからは、奇数フィールドについて
の評価値Σo|a−b|が出力され、加算器36nから
偶数フィールドについての評価値Σe|a−b|が出力
される。加算器36qからは、テンプレートブロックに
ついての評価値が出力される。
【0160】フィールド単位での符号化時においては、
セレクタ36kが総和器36hの出力データを選択し、
セレクタ36lが、総和器36iの出力データを選択す
る。したがって、加算器36mからは、上側サブテンプ
レートブロックについての評価値Σu|a−b|が出力
され、加算器36nからは、下側サブテンプレートブロ
ックについての評価値Σl|a−b|が出力される。
【0161】各演算ユニットに設けられる加算回路36
の出力評価値は、さらに、図43に示すセレクタ60お
よび加算回路62へ与えられる。
【0162】この図49に示す加算回路を利用すること
により、要素プロセッサの位置に応じて、各要素プロセ
ッサの出力データの伝達経路を配線により切りわけ、4
つの領域それぞれについて総和を求め、その符号化単位
に応じて、総和の組合せを切換えることにより、フレー
ム予測モード、偶数フィールド予測モードおよび奇数フ
ィールド予測モードの3つの予測モードおよびフィール
ド予測モード、上側サブテンプレートブロック予測モー
ド、および下側サブテンプレートブロック予測モードの
3つの予測モードのいずれにも容易に対応することがで
きる。
【0163】以上のように、この発明の実施の形態3に
従えば、要素プロセッサを、その配置位置に応じて4つ
のグループに分割し、符号化単位に応じて、総和をとる
要素プロセッサの組合せを変更しているため、容易に、
フレーム単位での符号化およびフィールド単位での符号
化に対応することのできる動きベクトル検出装置を実現
することができる。また、実施の形態1および2と同様
の効果を得ることができる。
【0164】[他の変更例]上述の説明においては、遅
延バッファは、48ワードの画素データを格納してい
る。しかしながら、この遅延バッファは、垂直方向のサ
ーチエリアに従ってその遅延段数が変更可能にされても
よい。また、演算ユニットの数は、4に限定されない。
最大のサブサンプリングレートに応じて1つの演算ユニ
ット内に含まれる要素プロセッサ列の数を低減し、応じ
て演算ユニットの数が増大されてもよい。
【0165】また、遅延バッファの格納画素データ数
は、垂直方向のサーチウィンドウの画素数M−16(1
6はテンプレートブロックの垂直方向の画素数)であれ
ばよい。また、2:1サブサンプリングレート時の垂直
方向のサーチエリアと4:1サブサンプリング時の垂直
方向のサーチエリアも、遅延バッファを可変遅延バッフ
ァで構成することにより、任意の値に設定することがで
きる。
【0166】
【発明の効果】以上のように、この発明に従えば、ハー
ドウェア量を増加させることなく複数のサブサンプリン
グレートで動きベクトルの検出を行なうことができ、サ
ーチエリアを拡大して高精度で動きベクトルを検出する
ことができる。
【0167】すなわち、請求項1に係る発明に従えば、
一方方向にデータを伝達するシフトレジスタ回路および
テンプレート画素に対応して配置される要素プロセッサ
とを有する演算部の内部のサーチウィンドウ画素データ
転送経路をサブサンプリングレートに応じて変更するよ
うに構成しているため、サーチウィンドウブロックサイ
ズをサブサンプリングレートに応じて変更できハードウ
ェア量を増大させることなく複数のサブサンプリングレ
ートに従って動きベクトルの検出を行なうことができ
る。
【0168】請求項2に係る発明に従えば、サーチウィ
ンドウブロック画素データを格納するシフトレジスタ列
と残りのサーチウィンドウ画素データを格納する複数の
遅延バッファ回路との接続経路を変更することにより、
サーチエリア画素データの転送経路を変更しているた
め、簡易な回路構成で、容易に内部のサーチウィンドウ
画素データ転送経路を切換えてサーチウィンドウブロッ
クサイズを変更することができ、サーチウィンドウブロ
ックサイズおよびサーチエリアサイズ切換のための構成
を簡略化することができる。
【0169】請求項3に係る発明に従えば、一方方向に
サーチウィンドウ画素データを伝達するシフトレジスタ
回路およびデータバッファ回路の接続を、サブサンプリ
ングレート情報に従って変更しているため、複雑な経路
変更を行なうことなく、容易にサーチエリア画素データ
の転送経路を変更して、サブサンプリングレートに応じ
たサーチウィンドウブロック画素データを生成すること
ができる。
【0170】請求項4に係る発明に従えば、演算手段に
含まれる要素プロセッサを、テンプレートブロックの画
素に対応して配置させ、かつ複数のテンプレートブロッ
クの同一位置のテンプレートブロック画素データを各要
素プロセッサに格納し、時分割態様で、これらの複数の
テンプレートブロックの評価値成分を計算するように構
成しているため、高速で、動きベクトルの検出を行なう
ことができる。
【0171】請求項5に係る発明に従えば、演算手段に
おいて、シフトレジスタを、複数の演算ユニットで共用
し、かつこのシフトレジスタ列と遅延バッファ回路との
接続をサブサンプリングレート情報に応じて変更してい
るため、ハードウェア量を増大させることなく、容易に
演算ユニットに対し、サブサンプリングレートに応じた
サーチウィンドウブロック画素データを供給することが
できる。また、遅延バッファ回路の接続を変更すること
により、サブサンプリングレート情報に応じて、垂直方
向のサーチエリア範囲も容易に変更することができる。
【0172】請求項6に係る発明に従えば、テンプレー
トブロック画素データおよびサーチエリア画素データを
係数2n の水平フィルタを用いてサブサンプリングして
いるため、動きベクトル検出のためのバッファメモリの
記憶容量を低減することができ、また演算部においてサ
ブサンプリングする必要がなく、容易に、サブサンプリ
ングされた画素データに従って動きベクトルの検出を行
なうことができる。また、テンプレートブロックおよび
サーチエリアの両画素を同じ係数でサブサンプリングし
ているため、テンプレートブロックおよびサーチウィン
ドウブロックの画素の対応関係を容易に保持することが
できる。
【0173】請求項7に係る発明に従えば、水平フィル
タを活性化時所定のフィルタ処理を行ないかつ非活性化
時画面上の画素に対応する画素データを選択するように
構成しているため、容易に処理用途に応じて、画素デー
タの精度を変更することができる。
【0174】請求項8に係る発明に従えば、サブサンプ
リング画素データの精度を低くしているため、サンプリ
ング画素データのビット数を低減することができ、演算
ユニットの規模を増大させることなく、高速で評価値算
出を行なうことができる。
【0175】請求項9に係る発明に従えば、サブサンプ
リング画素データをバッファメモリに格納しているた
め、正確に、所定のタイミングおよびシーケンスで必要
なサーチエリア画素データおよびテンプレートブロック
画素データを読出して動きベクトル評価値成分算出を行
なうことができる。
【0176】請求項10に係る発明に従えば、複数の予
測モードに従って評価値を並列に生成するように構成し
ているため、最適な動きベクトルを容易に検出すること
ができる。
【0177】請求項11に係る発明に従えば、演算手段
内に含まれる要素プロセッサの数を、テンプレートブロ
ックの画面上の画素数と等しくしているため、必要最小
限の要素プロセッサで、容易にサブサンプリングされた
テンプレートブロックに要素プロセッサを分類すること
ができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に従う動きベクトル
検出装置の全体の構成を概略的に示す図である。
【図2】 図1に示す入力部の構成を概略的に示す図で
ある。
【図3】 サーチエリアおよびテンプレートブロックの
関係を示す図である。
【図4】 図2に示すフィルタ演算器の構成の一例を示
す図である。
【図5】 入力画像データ生成部の構成を概略的に示す
図である。
【図6】 入力画像データ転送シーケンスの一例を示す
図である。
【図7】 (A)は、図4に示すフィルタ演算器の動作
を示すタイミングチャート図であり、(B)は、入力画
素データおよび出力画素データの対応を示す図である。
【図8】 (A)は、図4に示すフィルタ演算器の4:
1サブサンプリングモード時の動作を示すタイミングチ
ャート図であり、(B)は、入力画素データと出力画素
データの対応関係を示す図である。
【図9】 (A)は、図2に示すフィルタ演算器の変更
例を示し、(B)は、(A)に示すフィルタ演算器の動
作を示すタイミングチャート図である。
【図10】 図2に示すフィルタ演算器のさらに他の構
成を示す図である。
【図11】 (A)および(B)は、図10に示すフィ
ルタ演算器の動作を示すタイミングチャート図である。
【図12】 図10に示すフィルタ演算器の活性制御部
の構成を概略的に示す図である。
【図13】 (A)は、4:1サブサンプリングモード
時のサーチエリアを示し、(B)は、2:1サブサンプ
リングモード時のサーチエリアを示す図である。
【図14】 4:1サブサンプリングモード時のテンプ
レートブロックの構成を概略的に示す図である。
【図15】 2:1サブサンプリングモード時のテンプ
レートブロックの構成を概略的に示す図である。
【図16】 図1に示す演算部の構成を概略的に示す図
である。
【図17】 図16に示す演算ユニットの構成を概略的
に示す図である。
【図18】 図17に示す要素プロセッサの構成を概略
的に示す図である。
【図19】 (A)は、図18に示す要素プロセッサに
格納されるテンプレートブロックとサーチウィンドウブ
ロックとの対応を示し、(B)は、図18に示す要素プ
ロセッサの動作を示すタイミングチャート図である。
【図20】 図17に示す演算ユニットへのテンプレー
トブロック画素データのロードの態様を示す図である。
【図21】 図17に示す演算ユニットの評価値算出シ
ーケンスを概略的に示す図である。
【図22】 図16に示すサーチウィンドウデータに対
するシフトユニットおよびデータバッファの構成を概略
的に示す図である。
【図23】 図22に示すサーチウィンドウデータバッ
ファの構成を概略的に示す図である。
【図24】 4:1サブサンプリングモード時のシフト
レジスタ列および遅延バッファの接続を概略的に示す図
である。
【図25】 2:1サブサンプリングモード時のシフト
レジスタ列および遅延バッファの接続を概略的に示す図
である。
【図26】 4:1サブサンプリングモード時の画面分
割の構成の一例を示す図である。
【図27】 4:1サブサンプリングモード時のサーチ
ウィンドウブロックおよびテンプレートブロックの構成
を概略的に示す図である。
【図28】 この発明の実施の形態1におけるテンプレ
ートブロック画素の演算ユニットへの格納状態を示す図
である。
【図29】 4:1サブサンプリングモード時の演算部
の格納データの状態を概略的に示す図である。
【図30】 図29に示す画素データにおける変位ベク
トルを示す図である。
【図31】 1評価値算出サイクル経過時の演算部に格
納されるサーチウィンドウ画素データの格納状態を示す
図である。
【図32】 図31に示す格納データにおける変位ベク
トルを示す図である。
【図33】 1水平成分に対する評価値算出完了時のサ
ーチウィンドウ画素データの格納状態を示す図である。
【図34】 次の水平成分に対するサーチウィンドウ画
素データの格納状態を示す図である。
【図35】 図16に示す加算回路の構成を概略的に示
す図である。
【図36】 2:1サブサンプリングモード時の画面分
割の構成を概略的に示す図である。
【図37】 2:1サブサンプリングモード時のテンプ
レートブロックの構成を概略的に示す図である。
【図38】 2:1サブサンプリングモード時の演算部
の接続を概略的に示す図である。
【図39】 2:1サブサンプリングモード時の画素デ
ータ格納状態を概略的に示す図である。
【図40】 1評価値算出サイクル経過時のサーチウィ
ンドウ画素データの格納状態を示す図である。
【図41】 1水平成分についての演算完了時のサーチ
ウィンドウ画素データの格納状態を示す図である。
【図42】 次の水平成分に対するサーチウィンドウ画
素データの格納状態を示す図である。
【図43】 演算部の比較部前段の構成を概略的に示す
図である。
【図44】 この発明の実施の形態2におけるテンプレ
ートブロックの構成を概略的に示す図である。
【図45】 この発明の実施の形態2における動きベク
トル検出装置の全体の構成を概略的に示す図である。
【図46】 演算部に含まれる加算回路に対する評価値
成分の分布を概略的に示す図である。
【図47】 この発明の実施の形態3におけるテンプレ
ートブロックの構成および要素プロセッサの配置を概略
的に示す図である。
【図48】 この発明の実施の形態3における動きベク
トル検出装置の全体の構成を概略的に示す図である。
【図49】 この発明の実施の形態3における加算回路
の構成を概略的に示す図である。
【図50】 従来の画像符号化装置の構成を概略的に示
す図である。
【図51】 動きベクトル検出を説明するための図であ
る。
【符号の説明】
1 動きベクトル検出装置、2 入力部、4 演算部、
6 比較部、10 制御部、2a フィルタ演算器、2
b サーチウィンドウメモリ、2c テンプレートブロ
ックメモリ、SW サーチウィンドウ、TB テンプレ
ートブロック、12k 精度調整回路、18a フィル
タ演算処理回路、18c 可変分周回路、18b トラ
ンスミッションゲート、E♯0〜E♯3 演算ユニッ
ト、S♯0,S♯1 サーチウィンドウデータシフトユ
ニット、34 サーチウィンドウデータバッファ、PE
00−PE3F 要素プロセッサ、35,35a〜35
dデータバス、36 加算回路、TMBR0−TMBR
3,R0−R3 データレジスタ、40,41 セレク
タ、42 差分絶対値回路、34♯0,34♯1,34
♯2 データバッファ回路、DLB0〜DLB3 遅延
バッファ、SR00−SR3F シフトレジスタ、SR
L0−SRL3 シフトレジスタ列、50,52 選択
回路、50a−50d,52a−52d セレクタ、3
6a,36b総和回路、36c 加算回路、SSB0,
SSB1 サブシフトブロック、60 セレクタ、62
加算回路、36d,36e 総和回路、36f 加算
回路、36g−36j 総和器、36k,36l セレ
クタ、36m,36n,36q 加算器。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 テンプレートブロック画素データおよび
    サーチエリア画素データを入力し、該入力した画素デー
    タをサブサンプリングして出力する画像データ入力手
    段、 前記画像データ入力手段からのテンプレートブロック画
    素データおよびサーチエリア画素データを受け、前記テ
    ンプレートブロックに対するブロックマッチング法に従
    った動きベクトルの候補を示す評価値を算出するための
    演算手段、および前記演算手段からの評価値を受け、該
    受けた評価値に従って前記テンプレートブロックに対す
    る動きベクトルを決定するための動きベクトル決定手段
    を備え、 前記演算手段は、 一方方向に画素データを伝達するシフトレジスタを含
    み、前記画像データ入力手段からのサーチエリア画素デ
    ータを順次転送しかつ格納するためのシフトレジスタ回
    路と、 前記シフトレジスタ回路のシフトレジスタに対応して設
    けられる複数の要素プロセッサとを備え、前記複数の要
    素プロセッサの各々は、前記画像データ入力手段から与
    えられるテンプレートブロック画素データを格納するた
    めのデータレジスタと、前記データレジスタに格納され
    た画素データと対応のシフトレジスタの格納データとを
    受けて所定の処理を施して前記評価値の成分を生成して
    出力する計算手段とを含み、前記複数の要素プロセッサ
    は前記テンプレートブロックの互いに異なる画素データ
    を格納し、さらに、 前記サブサンプリングレート情報に応じて前記シフトレ
    ジスタ回路のデータ転送経路を変更するための経路設定
    手段を備える、動きベクトル検出装置。
  2. 【請求項2】 前記演算手段は、各々が行列状に配列さ
    れる複数の要素プロセッサを含む複数の演算ユニットを
    含み、 前記シフトレジスタ回路は、前記要素プロセッサの列に
    対応して配置される複数の遅延バッファ回路を含み、前
    記シフトレジスタは前記要素プロセッサの行および列に
    応じて行列状に配列され、 前記経路設定手段は、前記複数の遅延バッファ回路とシ
    フトレジスタ列との接続経路を変更することにより前記
    シフトレジスタ回路におけるサーチエリア画素データの
    転送経路を変更する手段を含む、請求項1記載の動きベ
    クトル検出装置。
  3. 【請求項3】 前記演算手段は、各々が行列状に配列さ
    れる複数の前記要素プロセッサを含む複数の演算ユニッ
    トを含み、 前記シフトレジスタ回路は、所定数の前記演算ユニット
    に共通に各々が設けられる複数のシフトユニットを含
    み、前記複数のシフトユニットの各々は、対応の演算ユ
    ニットの要素プロセッサに対応して前記シフトレジスタ
    が行列状に配列され、 前記シフトレジスタ回路は、さらに、前記シフトユニッ
    トそれぞれに対応して設けられ、各々が対応のシフトユ
    ニットのシフトレジスタ列に対応して配置される複数の
    遅延バッファを含む複数のバッファ回路を含み、 前記経路設定手段は、前記サブサンプリングレート情報
    に従って前記複数のバッファ回路間の接続および前記複
    数のバッファ回路と対応のシフトユニットの間の接続を
    設定する手段を含み、前記シフトレジスタ回路には、前
    記サーチエリア画素データの前記サブサンプリングレー
    トに応じた画素数の画素データが格納されかつ前記遅延
    バッファおよびシフトレジスタを介して一方方向に沿っ
    てサーチエリア画素データが転送される、請求項1記載
    の動きベクトル検出装置。
  4. 【請求項4】 各前記要素プロセッサのデータレジスタ
    は、互いに異なるテンプレートブロックの同一位置の画
    素データを格納する複数のデータレジスタ回路を含み、 前記計算手段は、時分割態様で前記複数のデータレジス
    タ回路の格納画素データと与えられたサーチエリア画素
    データとの前記所定の処理を行なう手段を含む、請求項
    1記載の動きベクトル検出装置。
  5. 【請求項5】 前記演算手段は、各々がp行q列に配列
    される前記要素プロセッサを含む第1ないし第4の演算
    ユニットを含み、 前記シフトレジスタ回路は、 前記第1および第2の演算ユニットに共有されかつ前記
    p行q列に配列されて一方方向に与えられた画素データ
    を転送する複数のシフトレジスタを含む第1のシフトユ
    ニットと、 前記第3および第4の演算ユニットに共有されかつ前記
    p行q列に配列されて一方方向に与えられた画素データ
    を転送する複数のシフトレジスタを含む第2のシフトユ
    ニットと、 前記第1のシフトユニットの各列に対応して設けられ、
    各々が与えられた画素データを所定時間遅延して並列に
    遅延画素データを出力する複数の遅延バッファを含む第
    1のデータバッファ回路と、 前記第2のシフトユニットの各列に対応して設けられ、
    各々が与えられた画素データを遅延して互いに並列に出
    力する複数の遅延バッファを含む第2のデータバッファ
    回路とを含み、 前記経路設定手段は、 前記第2のシフトユニットと前記第1および第2のデー
    タバッファ回路との間に設けられ、前記サブサンプリン
    グレート情報に従って前記第1および第2のデータバッ
    ファ回路からの画素データを選択的に前記第2のシフト
    ユニットへ与えるための第1の選択回路と、 前記第2のデータバッファ回路からの並列画素データの
    組と前記第1のシフトユニットの第1から第(q−1)
    列のシフトレジスタ列の最終段のシフトレジスタおよび
    前記第2のシフトユニットの第q列の最終段のシフトレ
    ジスタの出力画素データの組の一方を前記サブサンプリ
    ングレート情報に従って前記第1のデータバッファ回路
    へ与える第2の選択回路とを含み、 前記第1のデータバッファ回路の出力画素データは、ま
    た、前記第1のシフトユニットへ与えられ、 前記第2のデータバッファ回路の遅延バッファは、それ
    ぞれ、前記第2のシフトユニットの対応する列の1列前
    のシフトレジスタ列の最終段のシフトレジスタからの出
    力画素データを受け、かつ最初の列の遅延バッファは前
    記画像データ入力手段からのサーチエリア画素データを
    受ける、請求項1記載の動きベクトル検出装置。
  6. 【請求項6】 前記画像データ入力手段は、 前記テンプレートブロック画素データおよび前記サーチ
    エリア画素データを受ける係数2n の水平フィルタを備
    え、前記係数2n は、前記サブサンプリングレートに対
    応する、請求項1記載の動きベクトル検出装置。
  7. 【請求項7】 前記水平フィルタは、活性化時、前記係
    数で所定のフィルタ処理を行ない、かつ非活性化時2n
    個の画素データの1つを選択して出力する手段を含む、
    請求項6記載の動きベクトル検出装置。
  8. 【請求項8】 前記画像データ入力手段は、入力画素デ
    ータをサブサンプリングするサブサンプリング回路と、
    前記サブサンプリング回路の出力データに所定の演算処
    理を施して前記出力データの精度を低くする手段を含
    む、請求項1記載の動きベクトル検出装置。
  9. 【請求項9】 前記画像データ入力手段は、前記サブサ
    ンプリングされた画素データを格納するバッファメモリ
    をさらに有し、前記バッファメモリから読出された画素
    データが前記演算手段へ与えられる、請求項1記載の動
    きベクトル検出装置。
  10. 【請求項10】 前記演算手段は、前記複数の要素プロ
    セッサからの評価値成分を並列に受け、複数の予測モー
    ドに従った評価値を並列に生成する手段を含む、請求項
    1記載の動きベクトル検出装置。
  11. 【請求項11】 前記要素プロセッサの数は前記テンプ
    レートの画面上の画素の数と等しい、請求項1記載の動
    きベクトル検出装置。
JP7133499A 1999-03-17 1999-03-17 動きベクトル検出装置 Withdrawn JP2000270328A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7133499A JP2000270328A (ja) 1999-03-17 1999-03-17 動きベクトル検出装置
US09/420,572 US6687303B1 (en) 1999-03-17 1999-10-19 Motion vector detecting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7133499A JP2000270328A (ja) 1999-03-17 1999-03-17 動きベクトル検出装置

Publications (1)

Publication Number Publication Date
JP2000270328A true JP2000270328A (ja) 2000-09-29

Family

ID=13457533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7133499A Withdrawn JP2000270328A (ja) 1999-03-17 1999-03-17 動きベクトル検出装置

Country Status (2)

Country Link
US (1) US6687303B1 (ja)
JP (1) JP2000270328A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968011B2 (en) 2001-11-08 2005-11-22 Renesas Technology Corp. Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
JP2016506160A (ja) * 2012-12-19 2016-02-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated 縮小されたラインバッファを有するデブロッキングフィルタ

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278924A (ja) * 2001-03-19 2002-09-27 Oki Electric Ind Co Ltd データの転送制御システム,転送制御方法およびそのプログラム
EP1303074B1 (en) * 2001-10-15 2015-04-08 Broadcom Corporation Symbol synchronisation in EDGE handsets
US7120196B2 (en) * 2002-04-29 2006-10-10 Ess Technology, Inc. Intra-prediction using intra-macroblock motion compensation
US7536052B2 (en) * 2003-12-15 2009-05-19 Xerox Corporation Corner sharpening of text and line art in a super resolution anti-aliasing image path
US7953152B1 (en) 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
GB2439119B (en) * 2006-06-12 2011-04-20 Tandberg Television Asa Motion estimator
US20080129361A1 (en) * 2006-12-05 2008-06-05 Rajesh Mamidwar Method and system for programmable delays on transport outputs
US7873938B2 (en) * 2008-06-27 2011-01-18 Transwitch Corporation Method for constructing a variable bitwidth video processor
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8311111B2 (en) * 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
JP5768491B2 (ja) * 2011-05-17 2015-08-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US9332276B1 (en) 2012-08-09 2016-05-03 Google Inc. Variable-sized super block based direct prediction mode
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
JP6173198B2 (ja) * 2013-12-09 2017-08-02 オリンパス株式会社 画像処理装置、画像処理方法、および撮像装置
JP6173199B2 (ja) * 2013-12-09 2017-08-02 オリンパス株式会社 画像処理装置、画像処理方法、および撮像装置
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4322343C2 (de) * 1992-07-06 1996-10-02 Mitsubishi Electric Corp Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors
JPH07250328A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 動きベクトル検出装置
US5987178A (en) * 1996-02-22 1999-11-16 Lucent Technologies, Inc. Apparatus and method for a programmable video motion estimator
KR100246918B1 (ko) * 1997-12-31 2000-03-15 윤종용 모션벡터 검출장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968011B2 (en) 2001-11-08 2005-11-22 Renesas Technology Corp. Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
JP2016506160A (ja) * 2012-12-19 2016-02-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated 縮小されたラインバッファを有するデブロッキングフィルタ

Also Published As

Publication number Publication date
US6687303B1 (en) 2004-02-03

Similar Documents

Publication Publication Date Title
JP2000270328A (ja) 動きベクトル検出装置
US5949486A (en) Unit for detecting motion vector for motion compensation
US20020009144A1 (en) Motion vector detecting device capable of accomodating a plurality of predictive modes
US6765965B1 (en) Motion vector detecting apparatus
US6292589B1 (en) Method for choosing rate control parameters in motion-compensated transform-based picture coding scheme using non-parametric technique
US6516031B1 (en) Motion vector detecting device
US20060098735A1 (en) Apparatus for motion estimation using a two-dimensional processing element array and method therefor
KR101578052B1 (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
KR0160618B1 (ko) 실시간 움직임 추정장치 및 그 방법
EP1120747A2 (en) Motion estimator
US20040151392A1 (en) Image encoding of moving pictures
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
JPH10327415A (ja) 動きベクトル検出装置
KR20040047963A (ko) 움직임 예측 유닛 및 방법 및 이러한 움직임 예측 유닛을구비하는 이미지 처리 장치
JP3084170B2 (ja) 動きベクトル検出装置
Akin et al. High performance hardware architectures for one bit transform based motion estimation
Miyakoshi et al. A low-power systolic array architecture for block-matching motion estimation
Celebi et al. An all binary sub-pixel motion estimation approach and its hardware architecture
KR0178302B1 (ko) 양방향 병렬 파이프라인 구조에 근거한 탐색 이동 예측처리기
US20030012283A1 (en) Motion vector detecting device and self-testing method therein
JP2960328B2 (ja) シストリックアーキテクチャ内に配置される「n+1」個の演算子にオペランドを供給するための装置
Muralidhar et al. Efficient architecture for variable block size motion estimation in H. 264/AVC
Choi et al. VLSI architecture for a flexible motion estimation with parameters
KR100274014B1 (ko) Mpeg2용 반 화소 이동벡터 추출장치
Yang et al. Very high efficiency VLSI chip-pair for full search block matching with fractional precision

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606