JP4101645B2 - 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体 - Google Patents

動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体 Download PDF

Info

Publication number
JP4101645B2
JP4101645B2 JP2002378510A JP2002378510A JP4101645B2 JP 4101645 B2 JP4101645 B2 JP 4101645B2 JP 2002378510 A JP2002378510 A JP 2002378510A JP 2002378510 A JP2002378510 A JP 2002378510A JP 4101645 B2 JP4101645 B2 JP 4101645B2
Authority
JP
Japan
Prior art keywords
data
field
reference data
error amount
block
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.)
Expired - Fee Related
Application number
JP2002378510A
Other languages
English (en)
Other versions
JP2004214733A5 (ja
JP2004214733A (ja
Inventor
省造 藤井
勝彦 吉田
雅夫 岡部
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2002378510A priority Critical patent/JP4101645B2/ja
Publication of JP2004214733A publication Critical patent/JP2004214733A/ja
Publication of JP2004214733A5 publication Critical patent/JP2004214733A5/ja
Application granted granted Critical
Publication of JP4101645B2 publication Critical patent/JP4101645B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は,動画像の動き補償符号化の際に用いる動きベクトルを,ブロックマッチング法により検出する動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体に関するものである。
【0002】
【従来の技術】
近年,動画像符号化方式として,MPEG−2(ITU−T H.262)など,フレーム間相関を用いた符号化方式が用いられるようになってきた。これらの方式では符号化する画像を小さな矩形領域である符号化ブロックに分割し,各符号化ブロック毎に参照画像から検出した動きベクトルにより予測ブロックを求め,符号化ブロックと予測ブロックとの差分を圧縮符号化する動き補償符号化方式が用いられる。
【0003】
代表的な動きベクトル検出方式としてブロックマッチング方式があげられる。ブロックマッチング方式とは,ある符号化ブロックの動きベクトル検索領域から符号化ブロックと同じサイズの予測ブロック候補を取り出し,取り出した予測ブロック候補が予測ブロックとして採用するのに適切であるかどうかを符号化ブロックと予測ブロック候補の誤差量を算出することにより評価する方式である。動きベクトル検索領域内にあるすべての予測ブロック候補を評価して,評価結果が最適であるものが予測ブロックとして採用され,また採用した予測ブロックと符号化ブロックとの位置座標の差分が動きベクトルとなる。誤差量としては(数1)に示すように,予測候補ブロックの画素データrm+i,n+jと符号化ブロックの画素データtm,nとの差分の絶対値をブロックの全画素に対して加算する差分絶対値総和AEが用いられることが多い。(数1)で(j,i)が現在評価している予測ブロック候補のベクトルを意味し(ベクトルの第1成分は水平方向に関し,ベクトルの第2成分は垂直方向に関する),AEi,jがその予測ブロック候補の評価結果である差分絶対値総和を示している。また,M,Nはブロックの水平垂直の画素数を,さらに,−K〜K−1は符号化ベクトルの位置を基準とした検索領域の水平方向の範囲を,−L〜L−1が垂直方向の範囲をそれぞれ意味している。
【0004】
【数1】
Figure 0004101645
ブロックマッチング方式は最も確実な動きベクトル検出方式であるが,その具現化には回路規模が大きく処理量が多いなどの課題が多く,それらの課題を解決するために多くの構成法が考案されている。その中でも特に効率的な方式として複数の演算ユニットによりパイプラインを構成する方式が知られている(たとえば,下記の特許文献1参照)。
【0005】
以下に上述した従来の動きベクトル検出装置として従来例1と従来例2の2つの構成を順に説明する。
【0006】
(従来例1)
まず,従来例1の動きベクトル検出装置について説明する。これは特許文献1の請求項1,請求項2に該当する装置である。図35は従来例1の構成を示すブロック図である。図35の動きベクトル検出装置は,直列に接続したレジスタ801,802,803,804と,直列に接続した演算ユニット(以下PEと略す)805,806,807と,PE805,806,807の間に配置した演算データ遅延器811,812と,同様に直列に接続したPE808,809,810と,PE808,809,810の間に配置した演算データ遅延器813,814とからなる。各PE805〜807と各PE808〜810にはレジスタ801〜804の出力が入力されるとともに,端子815から符号化画素データがそれぞれ入力される。
【0007】
図36はPE805の構成を示すブロック図である。このPE805は,直列に配置され順次符号化画素データを格納するレジスタ819〜822と,各レジスタ819〜822の格納値と各レジスタ801〜804の格納値が入力される差分絶対値演算器823〜826と,各差分絶対値演算器823〜826の演算結果を加算する加算器827と,加算器827の演算値と他のPEからの演算値とを加算する加算器828とからなる。図35のPE806〜810の構造はすべて図36のPE805の構造と同一であるから説明を省略する。図37は演算データ遅延器811の構成を示すブロック図である。この演算データ遅延器811はPE805の演算結果8個を記憶する直列接続されたレジスタ829〜836と,その動作タイミングを制御するタイミング制御部837とから構成される。図35の演算データ遅延器811〜814の構造はすべて図37の演算データ遅延器811の構造と同一であるから説明を省略する。なお,図35,図36と図37においてレジスタ801〜804とレジスタ819〜822はそれぞれ1つの画素の値を記憶する複数ビットからなるレジスタ,レジスタ829〜836はPEの演算結果データを記憶する複数ビットからなるレジスタである。レジスタ801〜804の出力には個々の信号名称a0〜a3とし,a0〜a3をまとめた信号をAとして図中に接続関係を記載している。
【0008】
以下,従来例1の動作について説明する。図38は本従来例の符号化画像と参照画像で各ブロックと画素および検索領域の位置関係を示す領域関係図,図39,図41は動作の詳細を示すタイミングチャートである。
【0009】
まず,図38でPE805〜PE810と符号化ブロックとの関係と動作の概要を説明する。
【0010】
従来例1では予測ブロック候補と符号化ブロックとの誤差量として(数1)の差分絶対値総和AEを採用しており,ブロックの大きさは水平N=3,垂直M=4,ベクトルの検索領域は水平方向に−3〜2(K=3),垂直方向に−4〜3(L=4)としている。図38で符号化ブロックT0は参照画像上で図中Cの太枠に示す検索範囲をもち,符号化ブロックT1はDの太枠波線に示す検索範囲を,符号化ブロックT2はEの一点鎖線に示す検索範囲をそれぞれ持つ。なお,図38の検索範囲はブロックマッチングに使用する参照画素の範囲を示しているので,たとえば図中におけるCの太枠は横8画素(2K+N−1),縦11画素(2L+M−1)の大きさとなっている。従来例1は符号化ブロックT0と符号化ブロックT1の動きベクトル検出動作を行うが,各符号化ブロックは縦4画素からなる小ブロック3つに分割してそれぞれを図38に示した対応関係のPEに格納し,各PEでは予測ブロック候補の縦4画素からなる小ブロックとの誤差量演算を一括して実行しつつ,3つのPEの演算結果を総合して各予測ブロック候補に対するAEを算出するという方式をとっている。
【0011】
この方式は,(数1)に示す差分絶対値総和AEi,jがmとnに関する2次元の総和となっているが,これを(数2)に示すようにnに関する列方向M画素の差分絶対値和AEi,j,nを求めたのち,(数3)に示すようにnに関してN列分加算するという2段階の演算に分割しても,(数1)と同じく差分絶対値総和AEi,jが求められるという関係を動作の根拠とするものである。図36で各PEの加算器827の出力が(数2)に示すそれぞれの列方向4画素の差分絶対値和AEi,j,nに対応し,PE807の加算器828の出力が符号化ブロックT0に対する差分絶対値総和AEi,jに,PE810の加算器828の出力が符号化ブロックT1に対する差分絶対値総和AEi,jにそれぞれ対応する。
【0012】
【数2】
Figure 0004101645
【0013】
【数3】
Figure 0004101645
以下に図39,図41を用いて動作の詳細を説明する。
【0014】
まず図39のタイミングF0で符号化ブロックT0の動きベクトル検出動作が開始されると,符号化ブロックT0の左端の列の4つの画素データt4,3,t5,3,t6,3,t7,3が図35の符号化画素データ入力端子815から順に入力され,PE805のレジスタ819〜822にシフトしながら順次格納され,図39のタイミングF4の時点でPE805の準備が完了する。このときPE805のレジスタの出力は(b0,b1,b2,b3)=(t4,3,t5,3,t6,3,t7,3)となり,この値は符号化ブロックT0の動きベクトル検索が終了するまで保持される。一方,参照候補画素データは,図38に示すように符号化ブロックT0の検索範囲の左上から縦にr0,0,r1,0からr10,0まで11個の画素データが順に図35の参照画素データ入力端子816から入力され,レジスタ801から804に順にシフトしながら一時記憶されていく。いま,図39のタイミングF4のときレジスタ801〜804の出力は(a0,a1,a2,a3)=(r0,0,r1,0,r2,0,r3,0)となっている。図40はレジスタ801〜804が格納する参照画素の検索領域内での位置を示すものであり,タイミングF4のとき図40の小ブロックF4に示す4画素を記憶している。PE805は常に(a0,a1,a2,a3)と(b0,b1,b2,b3)の差分絶対値和を算出するから,タイミングF4のサイクルでは図中Gに示すように|r0,0−t4,3|+|r1,0−t5,3|+|r2,0−t6,3|+|r3,0−t7,3|が求められることになる。これは符号化ブロックT0の左上座標(3,4)を基準に添え字を相対表記すれば,(数2)の定義式より,AE-4,-3,0が求められたことが分かる。つまり図38に示したベクトル(−3,−4)に対応する差分絶対値総和の3分の1が求められたことになる。以下,図39に示した有効期間8サイクルの間,(a0,a1,a2,a3)は,図40のF4からF11に至る矢印のように順次検索範囲左端を1画素ずつ下がりながら参照画素データ4個を出力することとなるから,PE805はベクトル(−3,−4),(−3,−3),(−3,−2)から(−3,3)までのそれぞれ対応する差分絶対値和,すなわちAE-4,-3,0,AE-3,-3,0,AE-2,-3,0からAE3,-3,0まで8種類の差分絶対値和を出力するものである。
【0015】
レジスタ801〜804の状態が図40の小ブロックF11に示す状態,つまり図38で検索範囲の左下の参照画素データr10,0を入力完了すると,図39のタイミングF11の1個のダミーデータを挟んでr0,1から始まる参照画素データ11個が引き続き入力される。ここで1個のダミーデータを挟んだために図39で次の有効期間8サイクルが開始する前に4サイクルの無効期間が生じている。この4サイクルの無効期間を利用して符号化ブロックT0のt4,4,t5,4,t6,4,t7,4の4個の符号化画素データが符号化画素データ入力端子815から順に入力され,PE806のレジスタ819〜822に格納され,タイミングH4の時点でPE806の準備が完了する。また,参照データはこのタイミングH4のサイクルにおいて,レジスタ801〜804が図40のH4の状態となるから,PE806の差分絶対値演算は|r0,1−t4,4|+|r1,1−t5,4|+|r2,1−t6,4|+|r3,1−t7,4|を求めることとなる。これは符号化ブロックT0の左上座標を基準に相対表記すれば,AE-4,-3,1が求められたことを意味する。以下,タイミングH4から始まる8サイクルの有効期間においてPE806はAE-4,-3,1,AE-3,-3,1,からAE3,-3,1まで8種類の差分絶対値和を順次算出することになる。一方,この間もPE805のレジスタはt4,3,t5,3,t6,3,t7,3を保持しているから,PE805はAE-4,-2,0,AE-3,-2,0,からAE3,-2,0まで8種類の差分絶対値和を算出する。図39のタイミングI4から開始される有効範囲8サイクルにおいても同様にPE805,PE806,PE807がそれぞれ差分絶対値和AEi,j,0,AEi,j,1,AEi,j,2を順次算出することとなる。
【0016】
演算データ遅延器811はPE805の有効期間8サイクルの演算結果であるAE-4,-3,0からAE3,-3,0をレジスタ829〜836に格納し,タイミング制御部837はそれに続く4サイクルの期間8個の演算データをレジスタ829〜836に保持させ,次の有効期間が開始すると保持していた8個の演算データを順次PE806に供給すると同時にPE805の新たな演算結果を格納する。従って演算データ遅延器811は8個の有効な演算結果を12サイクル遅延させる先入れ先出しバッファとして機能している。いま図39のタイミングF4でPE805から出力された差分絶対値和AE-4,-3,0は演算データ遅延器811で12サイクル遅延され,タイミングH4でPE806に供給される。PE806はPE806がタイミングH4で算出したAE-4,-3,1と演算データ遅延器811から供給されたAE-4,-3,0とを加算器828で加算し出力する。出力されたAE-4,-3,0+AE-4,-3,1は演算データ遅延器812で12サイクル遅延され,タイミングI4に至るとPE807の加算器828でAE-4,-3,2と加算され,PE807の演算結果として出力端子817に出力される。従って,この出力はAE-4,-3,0+AE-4,-3,1+AE-4,-3,2となるが,これは(数3)よりAE-4,-3が,すなわちベクトル(−3,−4)に対応する予測ブロック候補と符号化ブロックT0の差分絶対値総和が求められたこととなる。以下,同様に出力端子817には検索範囲の全ての予測ブロック候補と符号化ブロックT0との差分絶対値総和AEi,jが,無効4サイクルを挟みながら有効8サイクルの期間に順次出力されるから,この値を比較し最も誤差量の小さなベクトルを動きベクトルとして採用することにより符号化ブロックT0に対する動きベクトル検出の機能を果たすことが出来る。
【0017】
以上のように符号化ブロックT0の処理に着目すれば,この従来例1ではPE805〜PE807からなる3つの演算ユニットを12サイクル遅延の演算データ遅延器811と812で結ぶことにより3段のパイプラインを構成し,差分絶対値総和の演算を実現するものである。
【0018】
次に処理する符号化ブロックの移行について説明する。
【0019】
図41は符号化ブロックT0の動きベクトル検出動作の後半のタイミングチャートである。PE805〜PE807で算出された符号化ブロックT0に対する差分絶対値総和はPE807から順次出力されるが,PE805はタイミングJ11でAE3,2,0の算出を終えると符号化ブロックT0に対する演算を終了する。4サイクル後のタイミングO4の時点でレジスタ801〜804の出力は(a0,a1,a2,a3)=(r0,6,r1,6,r2,6,r3,6)となっているが,これは図38のEに示す符号化ブロックT2の検索領域の左上端に位置する参照画素である。そこでタイミングJ11からタイミングO4に至る無効4サイクルの期間を用いてPE805に符号化ブロックT2の左端列4画素データを格納することにより,タイミングO4の時点で(b0,b1,b2,b3)=(t4,9,t5,9,t6,9,t7,9)となり,PE805は符号化ブロックT2のベクトル(−3,−4)に対応する差分絶対値和AE-4,-3,0の算出を開始することが出来る。この間もPE806とPE807は符号化ブロックT0のために差分絶対値和演算を継続中である。さらに12サイクル後,PE806がT0の演算を終了するとT2の画素データ4個が格納され,T2の差分絶対値和演算が開始される。すなわちPE805〜PE807は符号化ブロックT0の演算を終了すると順に符号化ブロックT2の演算を開始することができ,PE807からは符号化ブロックT0の最後の差分絶対値総和AE3,2が出力されると,無効4クロックを挟んで次の有効8クロックから符号化ブロックT2の差分絶対値総和AEi,jを順次出力することとなる。
【0020】
以上のように従来例1ではPE805〜PE807を用いて符号化ブロックT0の演算を行い,ついでT2,T4と偶数番号の符号化ブロックを1つの系列として順に動きベクトル検出を処理していくことになる。このとき,T0の演算が終了したPEから順に次に処理する符号化ブロックT2の画素データ格納することにより,パイプラインを出来る限り滞らせることなく符号化マクロの移行を実現している。
【0021】
次に並列処理について説明する。
【0022】
奇数番号の符号化ブロックの系列の処理はPE805〜PE807を用いることが出来ないため(後述の,従来例1の回路規模と処理速度についての説明も参照せよ),これとは別にPE808〜PE810を設けて並列処理を実現している。図41で今タイミングP4のサイクルでレジスタ801〜804の出力は(a0,a1,a2,a3)=(r0,3,r1,3,r2,3,r3,3)となっているが,これは図38のDに示す符号化ブロックT1の検索領域の左上端に位置する参照画素である。そこでタイミングP4の直前の無効4サイクルの期間を用いてPE808に符号化ブロックT1の左端列4画素データを格納することにより,タイミングP4の時点で(b0,b1,b2,b3)=(t4,6,t5,6,t6,6,t7,6)となり,PE808は符号化ブロックT1のベクトル(−3,−4)に対応する差分絶対値和AE-4,-3,0の算出を開始することが出来る。以下は偶数番号系列の場合のPE805〜PE807の動作と同様にPE808〜PE810が奇数番号系列の符号化ブロックの動きベクトル検出を実行していくこととなる。
【0023】
以上のように従来例1では4画素分の参照画素データをレジスタ801〜804に格納して共通データとし,これを参照範囲に含む複数の符号化ブロックを個別のPEに格納することにより並列処理を可能としている。図35の構成例では符号化ブロックの偶数番と奇数番の2系統の並列処理が実現されているわけである。
【0024】
ここで,従来例1の回路規模と処理速度について説明する。
【0025】
表1は従来例1の回路規模を示すものである。表1で,Mは符号化ブロックの縦の画素数,Nは同じく横の画素数2Kは検索範囲の横幅,2Lは同じく縦幅,Qは並列処理可能な系列数である。QはN×Q≧2Kを満たす最小のQとして求めることができる。図35の従来例1の構成ではM=4,N=3,K=3,L=4であり,3×Q≧2×3であるからちょうどQ=2となる。従って,表1より画素データを記憶するレジスタは28画素分,演算結果のデータを記憶する演算データ遅延器のレジスタは32個分で構成されている。画素データのレジスタを1画素あたり8ビット,データレジスタを1個あたり10ビットと仮定すると総ビット数は544ビット,すなわち544個のフリップフロップで構成される。図35でPE805〜PE807を用いる1系列のみの処理構成とし,偶数番の符号化ブロックの動きベクトル検出を全て完了した後に奇数番の符号化ブロックの動きベクトル検出を行うとした場合はQ=1であり,フリップフロップは288個で構成できる。また,MPEG2の場合の現実的な仕様として,720×480画素のインタレース映像(以下480iと略す)を入力とし,M=16,N=16,K=64,L=32,としたとき,QはちょうどQ=8となり,8系列並列処理となる。このとき画素データを記憶するレジスタは2064画素分,演算結果のデータを記憶するレジスタは7680個分であり,フリップフロップは約9万3千個で構成される。さらに高精細映像の例として,1920×1080画素のインタレース映像(以下1080iと略す)を入力とし,M=16,N=16,K=128,L=64,としたとき,16系列並列処理ができ,フリップフロップは約34万個で構成される。
【0026】
【表1】
Figure 0004101645
表2は従来例1の演算速度を示すものである。表2で有効サイクル数とは,ある1つの符号化ブロックの演算結果が出力されるのに必要な有効サイクル数であり,ロスサイクル数とはその間に入る無効サイクルのことである。従って,1つの符号化ブロック当たりの平均サイクル数とは,有効サイクル数とロスサイクル数の合計を並列処理する系列数で割った値となる。また,QがN×Q=2Kを満たす場合をのぞき,符号化ブロックの切り替え時にロスサイクルが発生することになるが,表2ではいずれもN×Q=2Kの場合について算出している。表2から,図35の構成,すなわち2系列並列処理では平均36サイクルで1つの符号化ブロックの動きベクトル検出完了すると考えることができ,1系列の場合は72クロックで1ブロック完了する。表1の場合と同じ条件の480iの場合8系列並列処理となるので平均1280サイクルで1ブロックの処理が完了すると考えることができる。これは約52MHzのクロックで動作させることを意味する。1080iの場合は2304サイクルに1ブロックの演算速度となり,これは560MHzのクロックで動作させることを意味する。
【0027】
【表2】
Figure 0004101645
(従来例2)
次に,従来の動きベクトル検出装置の第2の例について説明する。これは特許文献1の請求項3,請求項4に該当する装置である。図42は従来例2の構成を示すブロック図であり,図43はこの動きベクトル検出装置のPE847〜849の構造を示す図である。図42及び図43において図35,図36と同一の部分に関しては同一の符合を付して説明を省略する。
【0028】
図42で従来例2の構成では,レジスタ801〜804に対し直列に参照画素データを記憶するレジスタ838〜841を設け,レジスタ841とレジスタ801の間に画素データ遅延器842を挿入し,レジスタ838〜841の出力がレジスタ801〜804に比べて更に4サイクル遅延するように構成している。レジスタ801〜804とレジスタ838〜841の出力はセレクタ843〜846で選択され,4個の参照画素データ出力のみがPE847〜849に供給される。図中ではセレクタ843〜846で選択された4個の出力にa0,a1,a2,a3と信号名を付している。また,PE間を接続する演算データ遅延器850,851は有効サイクルの8個のデータを16サイクル遅延する遅延器に変更されている。
【0029】
図43に示すPE847の構造は図36に示す従来例1のPE805の構造と比較して,符号化画素データを記憶するレジスタ819〜822に対して並列にレジスタ853〜856が設けられ,レジスタ819〜822とレジスタ853〜856の出力はセレクタ857〜860で選択されるという構造に変更されている。図中ではセレクタ857〜860で選択された4個の出力にb0,b1,b2,b3と信号名を付して,選択された参照画素出力a0,a1,a2,a3との対応関係を示している。
【0030】
以下,従来例2の動きベクトル検出装置の動作について説明する。従来例2は偶数番の符号化ブロックの系列と奇数番の符号化ブロックの系列との2つの系列をそれぞれPE内部のレジスタ819〜822とレジスタ853〜856に記憶しておき,それぞれの動きベクトル検出動作を進めるものであるが,従来例1では無効サイクル4サイクルを挟みながら2つの系列の符号化ブロックに対する処理が並列処理で実行される構成であったことに対し,従来例2では無効サイクルを8サイクルに拡大して,2つの系列の符号化ブロックの処理が互いの無効サイクルで実行される時分割処理となっている点が異なる。
【0031】
図44は従来例2の動作を示すタイミングチャートである。図44は既に動きベクトル検出動作が開始され,定常状態に入っている時点を示している。参照画素は図38の参照画像検索範囲の縦1列に相当する11画素が連続して入力されるが,それに引き続いて5サイクル期間の無効データが入力される。入力された参照画素は図44に示すように順次レジスタ801〜804に積み上げられ,レジスタ801の出力は画素データ遅延器842で4サイクル遅延された後レジスタ838〜841に順次積み上げられる。その結果,レジスタ801〜804を1つの組,レジスタ838〜841を1つの組としたとき,それぞれの組は8サイクルの有効期間を持ち,互いの有効期間は重ならず交互に有効になるという関係になっている。セレクタ843〜846は有効である方の組のレジスタを選択することで,その出力(a0,a1,a2,a3)には常に有効な参照画素データが8サイクル期間ずつ2回繰り返して出力され,PE847〜849に供給することができる。図44に表記した動作の範囲では既にPE847〜849のそれぞれについてレジスタ819〜822には符号化ブロックT0の画素データが,レジスタ853〜856には符号化ブロックT1の画素データが格納されている。いま,タイミングV4のサイクルから始まる有効8サイクル期間ではPE847〜849のセレクタ857〜860はレジスタ819〜822を,すなわち符号化ブロックT0の画素データを選択するので,符号化ブロックT0と参照画素データ(a0,a1,a2,a3)との差分絶対値総和が演算されることになる。タイミングW4のサイクルから始まる有効8サイクル期間ではセレクタ857〜860はレジスタ853〜856を,すなわち符号化ブロックT1の画素データを選択するので,符号化ブロックT1と参照画素データ(a0,a1,a2,a3)との差分絶対値総和が演算されることになる。タイミングV4から開始される8サイクルで演算された符号化ブロックT0に関する演算結果は,演算データ遅延器850,851で16サイクル遅延させたのち隣接するPEに伝達される。従って,タイミングW4から開始される8サイクルの符号化ブロックT1に関する演算期間を越えて,タイミングY4から開始される符号化ブロックT0の演算に引き渡される。
【0032】
このように,16サイクル遅延の演算データ遅延器850,851でPE847〜849を接続することにより符号化ブロックT0と符号化ブロックT1に関する差分絶対値総和の演算を,それぞれ独立のパイプラインとして実行することができるのである。また,タイミングY4から開始される有効8サイクルではPE847のレジスタ819〜822が符号化ブロックT2の画素データに切り替わっており,PE848,849では符号化ブロックT0の演算が継続しながら,PE847では符号化ブロックT2の演算が開始されることは上述した従来例1の場合と同じである。
【0033】
以上のように従来例2では参照画素を記憶するレジスタ(図42参照)と,符号化ブロックの画素データを記憶するレジスタ(図43参照)とをそれぞれ2重構造とすることで,符号化ブロックの偶数番の系列と奇数番の系列の2つの系列をロスサイクル無く時分割処理しているのである。
【0034】
以上のように従来の動きベクトル検出装置では,複数の演算ユニットPEをもうけ,隣接するPE間を演算データ遅延器で接続することによりパイプラインを構成して差分絶対値総和の演算を実現し,また,符号化ブロックの演算を終了した演算ユニットから順に次に処理すべき符号化ブロックの画素データを格納することにより,符号化ブロックの移行時にもパイプラインの停滞を最低限に押さえるものである。更に,従来例1では演算ユニット毎に符号化ブロックの画素データを格納するレジスタを設け,複数の系列の演算ユニットを有することで並列処理を可能とし,従来例2では参照画素のレジスタと符号化ブロックのレジスタをそれぞれ2重構造とすることで時分割処理を可能としている。
【0035】
【特許文献1】
特開平10−136377号公報
【0036】
【発明が解決しようとする課題】
しかしながら,上述した従来の動きベクトル検出装置には,回路規模が増大してしまうという課題があった。
【0037】
本発明者は,演算データ遅延器の回路規模が検索範囲の大きさに比例してしまうという弊害と,並列処理あるいは時分割処理で符号化ブロックを記憶するレジスタが系列毎に独立に必要であるなど系列間で共有できる回路が極めて少ないため,回路規模が処理系列数にほぼ比例して増大してしまうという弊害とが相乗的に回路規模の増大をもたらしてしまうものであると,分析している。
【0038】
なお,従来の動きベクトル検出装置の構成には,検索範囲の大きさが比較的小さい場合には配線効率が小さくて済むという長所があるが,検索範囲の大きさが大きい場合には演算データ遅延器の回路規模が爆発的に大きくなってしまうという決定的な短所がある。
【0039】
このような回路規模の増大は実装上の改善では解消することが不可能であり,現実の映像信号に対して実用的な検索範囲を実現することが極めて困難となっている。例えば,表1に示した480i映像の場合で9万6千個以上のフリップフロップが必要となるから容易に実現することはできず,1080iでは560MHzクロックで動作させても約34万個のフリップフロップが必要となるから実現は極めて困難である。
【0040】
(1)なお,上記従来技術では,並列処理の装置構成に自由度がない。複数系列からなる並列処理において1つの系列に着目すると,符号化ブロックの処理順がT0の次にT2が処理されるなど符号化画像上で離れた位置に飛んだ順に処理されており,またその位置間隔は符号化ブロックの大きさと検索範囲の大きさの比率で一義的に決まってしまうという特徴がある。処理順が飛び飛びであれば動きベクトル検出処理に続く符号化処理が実現困難となってしまうから,並列処理で装置を構成せざるをえない。しかも並列処理の系列数もやはり前記符号化ブロックの大きさと検索範囲の大きさの比率で一義的に決まってしまうから,処理速度を要求されない装置であっても,極めて高速処理を要求される装置であっても一義的に決まる系列数だけ並列処理回路を持たなければならないことになり,使用目的に応じた最小の回路規模で実現することができない。
【0041】
(2)また,上記従来技術では,フレームベクトルと2種類のフィールドベクトルとの3種類のベクトルの差分絶対値総和を同時に求めることができないから,独立に算出するしかなく,更なる回路規模が必要となる。MPEG2規格ではフレーム構造のピクチャーの場合にフレームベクトルか又は2種類のフィールドベクトルかいずれか有利なものを符号化ブロック毎に選択することができるが,そのためにはフレームベクトルとフィールドベクトルの検索が必要である。これを最低限の回路増加で同時に求めるという方式が求められているが,上記従来技術では実現することができない。
【0042】
(3)また,従来例2の回路規模と処理速度について表3と表4にまとめる。表3は従来例2の回路規模を示すものであり,表4は従来例2の処理速度を示すものである。表3,表4の算出条件は表1,表2の従来例1の場合と同じであるが,Qは時分割多重できる系列数を意味する。従来例2の場合もQはN×Q≧2Kを満たす最小のQとして求められる。特許文献1の動きベクトル検出装置では2系統時分割処理に限定した技術として記載されており,Q=2以外のものは本発明者が独自に算出したものである。また,Q=1の場合は上述した従来例1の構成でQ=1の場合に他ならないので省略した。
【0043】
表3,表4と表1,表2とを比較すると回路規模は同程度であるが,時分割処理となっているため処理速度は従来例2が劣る(したがって,従来例2の場合には,実用的な検索範囲を実現することが従来例1の場合以上に困難となる)。従来例2は後述する本発明の構成との対比においてその差異をより明確にするために説明した。
【0044】
【表3】
Figure 0004101645
【0045】
【表4】
Figure 0004101645
本発明は,上記従来のこのような課題を考慮し,回路規模をより小さく抑えることができる動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体を提供することを目的とするものである。
【0046】
【課題を解決するための手段】
第1の本発明は、符号化画像上の矩形領域である符号化ブロック(T0〜T2、図3参照)を構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロック出力ステップと,
参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する参照データ出力ステップであって,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御うち少なくともいずれかの制御を行う参照データ出力ステップと,
1組の前記参照データと1組の前記符号化データとの誤差量を演算する演算ユニット(7〜9,図1参照)を1×N個利用して,1組の前記参照データとN組の前記符号化データとの全ての組み合わせの誤差量を算出する演算ステップと,
前記符号化ブロック内で最も端に位置する符号化データの組の誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算ステップとを備えた動きベクトル検出方法である。
【0047】
第2の本発明は、符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,前記符号化ブロック(T0〜T2,図3参照)内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタ(2,図1参照)と,
参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する第1の参照レジスタ(1,図1参照)であって,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタ(1,図1参照)と,
1組の前記参照データと1組の前記符号化データとの誤差量を演算する演算ユニット(7〜9,図1参照)であって,1組の前記参照データとN組の前記符号化データとの全ての組み合わせの誤差量を算出する1×N個の演算ユニット(7〜9,図1参照)と,
前記符号化ブロック(T0〜T2,図3参照)内で最も端に位置する符号化データの組の誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算アレイ(10,図1参照)とを備えた動きベクトル検出装置である。
【0048】
第3の本発明は、符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロック出力ステップと,
参照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の前記参照データを出力する参照データ出力ステップであって,(1)前記参照データが前記参照画像上縦に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御及び(2)前記参照データが前記参照画像上横に配置されたM+Q−1個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御うち少なくもいずれかの制御を行う参照データ出力ステップと,
1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニット(7〜9,図14参照)をQ×N個利用して,Q組の前記参照データとN組の前記符号化データとの全ての組み合わせの前記誤差量を算出する演算ステップと,
前記符号化ブロック内で最も端に位置する前記符号化データの組の誤差量を1サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりN個の前記誤差量の総和をQ個の累積加算アレイ(10,203,図14参照)を利用して求める累積加算ステップとを備えた動きベクトル検出方法である。
【0049】
第4の本発明は、符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,前記符号化ブロック(T0〜T2,図3参照)内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタ(2,図14参照)と,
照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の前記参照データを出力する第1の参照レジスタ(201,図14参照)であって,(1)前記参照データが前記参照画像上縦に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタ(201,図14参照)と,
1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニット(7〜9,図14参照)であって,Q組の前記参照データとN組の前記符号化データとの全ての組み合わせの前記誤差量を算出するQ×N個の演算ユニット(7〜9,図14参照)と,
前記符号化ブロック(T0〜T2,図3参照)内で最も端に位置する前記符号化データの組の誤差量を1サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりN個の前記誤差量の総和を求めるQ個の累積加算アレイ(10,203,図14参照)とを備えた動きベクトル検出装置である。
【0050】
第5の本発明は、前記第1の参照レジスタ(1,図20参照)とは相異なる第2の参照レジスタ(401,図20参照)と,
前記第1の参照レジスタ(1,図20参照)から供給される参照データか前記第2の参照レジスタ(401,図20参照)から供給される参照データかいずれかを選択する参照データ切り替えスイッチ(407〜409,図20参照)と,
前記第1の参照レジスタ(1,図20参照)が順次前記参照データを更新し,前記演算ユニット(7〜9,図20参照)に参照データを供給する第1のモードと,前記第2の参照レジスタ(401,図20参照)が順次前記参照データを更新し前記演算ユニット(7〜9,図20参照)に前記参照データを供給する第2のモードとの移行時には,移行前の有効な演算が終了した前記演算ユニット(7〜9,図20参照)から順に前記参照データ切り替えスイッチ(407〜409,図20参照)を切り替えるモード制御手段(410,図20参照)とをさらに備えた第2または第4の本発明の動きベクトル検出装置である。
【0051】
第6の本発明は、前記モード制御手段(410,図20参照)は,新たな前記符号化ブロック(T0〜T2,図3参照)のデータを前記符号化ブロックレジスタ(402,図20参照)に記憶させる場合,前記参照データ切り替えスイッチ(407〜409,図20参照)の切り替え動作に同期して新たな前記符号化ブロック(T0〜T2,図3参照)のデータを1組ずつ順に前記符号化ブロックレジスタ(402,図20参照)に記憶させる第5の本発明の動きベクトル検出装置である。
【0052】
第7の本発明は、前記累積加算アレイ(501,図23参照)は,(a)個々の前記演算ユニット(108〜111,図23参照)の前記誤差量の加算結果を1回遅延して隣接する符号化データの組の誤差量に加算することで,N個の前記誤差量を累積加算するフレーム加算アレイ(502,図23参照)と,(b)偶数または奇数番目であるN/2個の演算ユニット(108〜111,図23参照)に対して2サイクル遅延しながら前記誤差量を前記累積加算構造で加算するフィールド加算アレイ(503,図23参照)と,(c)前記フレーム加算アレイ(502,図23参照)と前記フィールド加算アレイ(503,図23参照)との結果の差を求める演算手段(506,図23参照)とを有する第2,4,5,6の本発明の何れかの動きベクトル検出装置である。
【0053】
第8の本発明は、前記演算ユニット(602〜604,図25参照)は,入力された前記参照データの組と前記符号化データの組とに対して,それぞれの偶数位置の画素に対する誤差量と,それぞれの奇数位置の画素に対する誤差量との2種類の誤差量を求め,
前記累積加算アレイ(605,図25参照)は,(a)前記2種類の誤差量を独立にそれぞれ累積加算構造で加算する第1のフィールド加算アレイ(606,図25参照)と,(b)第2のフィールド加算アレイ(607,図25参照)とを有する第2,4,5,6の本発明の何れかの動きベクトル検出装置である。
【0054】
第9の本発明は、前記演算ユニット(602,図28参照)は,入力された前記参照データの組と前記符号化データの組とに対して,それぞれの偶数位置または奇数位置の画素に対する第1の誤差量と,全ての前記画素に対する第2の誤差量との2種類の誤差量を求め,
前記累積加算アレイ(605,図25参照)は,(a)前記第1の誤差量を独立に累積加算するフィールド加算アレイ(606,図25参照)と,(b)前記第2の誤差量を独立に累積加算するフレーム加算アレイ(607,図25参照)と,(c)前記フィールド加算アレイと前記フレーム加算アレイとの結果の差を求める演算手段(608,図25参照)とを有する第2,4,5,6の本発明の何れかの動きベクトル検出装置である。
【0055】
第10の本発明は、符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,同一フィールドにおけるM個の前記画素データを1つの組として,第1フィールドの符号化データN/2組と第2フィールドの符号化データN/2組とを出力する符号化ブロックレジスタ(102,図29参照)と,
参照画像の同一フィールドにおけるM個の画素データを記憶し,これを1つの組の参照データとして出力する第1フィールドおよび第2フィールドに対応する参照レジスタ(701〜703,図3参照)と,
前記参照データ1組と前記符号化データN/2組とを入力とし,フィールド誤差量を求めることができるフィールド評価手段(704〜707,図29参照)と,
前記第1フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量とを加算する第1の加算器(720,図29参照)と,
前記第1フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量とを加算する第2の加算器(721,図29参照)とを備え,
前記参照レジスタ(701〜703,図3参照)は,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納する制御機能及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納する制御機能のうち少なくともいずれかの制御機能を有し,
前記フィールド評価手段(704〜707,図29参照)は,1組の前記参照データとN/2組の前記符号化データとの全ての組み合わせの誤差量を算出するN/2個の演算ユニット(708〜715,図29参照)を有し,前記N/2個の誤差量から累積加算構造で総和を求め前記フィールド誤差量として出力する動きベクトル検出装置である。
【0057】
11の本発明は、第2の本発明の動きベクトル検出装置の,符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,前記符号化ブロック(T0〜T2,図3参照)内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタ(2,図1参照)と,参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する第1の参照レジスタ(1,図1参照)であって,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタ(1,図1参照)と,1組の前記参照データと1組の前記符号化データとの誤差量を演算する演算ユニット(7〜9,図1参照)であって,1組の前記参照データとN組の前記符号化データとの全ての組み合わせの誤差量を算出する1×N個の演算ユニット(7〜9,図1参照)と,前記符号化ブロック(T0〜T2,図3参照)内で最も端に位置する符号化データの組の誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算アレイ(10,図1参照)としてコンピュータを機能させるためのプログラムである。
【0059】
12の本発明は、第4の本発明の動きベクトル検出装置の,符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,前記符号化ブロック(T0〜T2,図3参照)内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタ(2,図14参照)と,参照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の前記参照データを出力する第1の参照レジスタ(201,図14参照)であって,(1)前記参照データが前記参照画像上縦に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタ(201,図14参照)と,1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニット(7〜9,図14参照)であって,Q組の前記参照データとN組の前記符号化データとの全ての組み合わせの前記誤差量を算出するQ×N個の演算ユニット(7〜9,図14参照)と,前記符号化ブロック(T0〜T2,図3参照)内で最も端に位置する前記符号化データの組の誤差量を1サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりN個の前記誤差量の総和を求めるQ個の累積加算アレイ(10,203,図14参照)としてコンピュータを機能させるためのプログラムである。
【0060】
13の本発明は、第10の本発明の動きベクトル検出装置の,符号化画像上の矩形領域である符号化ブロック(T0〜T2,図3参照)を構成する画素データを記憶し,同一フィールドにおけるM個の前記画素データを1つの組として,第1フィールドの符号化データN/2組と第2フィールドの符号化データN/2組とを出力する符号化ブロックレジスタ(102,図29参照)と,参照画像の同一フィールドにおけるM個の画素データを記憶し,これを1つの組の参照データとして出力する第1フィールドおよび第2フィールドに対応する参照レジスタ(701〜703,図3参照)と,前記参照データ1組と前記符号化データN/2組とを入力とし,フィールド誤差量を求めることができるフィールド評価手段(704〜707,図29参照)と,前記第1フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量とを加算する第1の加算器(720,図29参照)と,前記第1フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量とを加算する第2の加算器(721,図29参照)としてコンピュータを機能させるためのプログラムであって,
前記参照レジスタは,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納する制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納する制御機能のうち少なくともいずれかの制御機能を有し,
前記フィールド評価手段は,1組の前記参照データとN/2組の前記符号化データとの全ての組み合わせの誤差量を算出するN/2個の演算ユニットを有し,前記N/2個の誤差量から累積加算構造で総和を求め前記フィールド誤差量として出力する,プログラムである。
【0061】
14の本発明は、第11から13の本発明の何れかのプログラムを担持した記録媒体であって,コンピュータにより処理可能な記録媒体である。
【0062】
【発明の実施の形態】
以下,本発明の実施の形態について,図面を用いて説明する。
【0063】
(実施の形態1)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0064】
図1は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0065】
実施の形態1は,上述した第1,第2の本発明に関するものであり,第1,第2の本発明の縦1列のM個の画素データを1つの組とする場合に相当するものである。この実施の形態1では予測ブロック候補と符号化ブロックとの誤差量として,(数1)および(数2),(数3)に示した差分絶対値総和を採用し,符号化ブロックの大きさは水平N=3,垂直M=4,検索領域は水平方向にK=3すなわち−3〜2の範囲,垂直方向にL=4すなわち−4〜3の範囲としている。
【0066】
本明細書においては,符号化ブロックを分解した小ブロックの画素数を記号Mで表記し,小ブロックの個数を記号Nで表記するようにしている。したがって,(1)符号化ブロックを列方向に分解する場合には,縦方向に関する量をMで表記し,横方向に関する量をNで表記し,(2)符号化ブロックを行方向に分解する場合には,縦方向に関する量をNで表記し,横方向に関する量をMで表記している(符号化ブロックを列方向に分解するのか行方向に分解するのかにかかわらず,水平検索範囲をKで表記し,垂直検索範囲をLで表記している)。なお,Nが奇数である場合には,N/2は(N+1)/2と解釈される。もちろん,これらに関しては,以下の実施の形態においても同様である。
【0067】
図1で参照レジスタ1は参照画像のa0〜a3から成る4個の画素を一時記憶して,これを1つの組の参照データAとして出力し,符号化ブロックレジスタ2は12個の画素から成る符号化ブロックを縦1列に配置された4個のデータを1つの小ブロックとして3つの組に分け,第0列に相当するb00〜b30を記憶する符号化小ブロックレジスタ3と,第1列に相当するb01〜b31を記憶する符号化小ブロックレジスタ4と,第2列に相当するb02〜b32を記憶する符号化小ブロックレジスタ5とから構成され,それぞれの出力を符号化データB0,B1,B2の3つの組として出力する。演算ブロック6は演算ユニット7〜9で構成され,演算ユニット7は参照データAと符号化データB0を,演算ユニット8は参照データAと符号化データB1を,演算ユニット9は参照データAと符号化データB2をそれぞれ入力とし,(数2)に該当する差分絶対値和AEi, j,nを出力する。演算ユニット7〜9の出力は累積加算アレイ10に接続され,累積加算アレイ10は(数3)に該当する差分絶対値総和AEi,jを出力する。累積加算アレイ10は,演算ユニット7の出力を遅延器11を介して演算ユニット8の出力と加算器12で加算し,その出力を遅延器13を介して演算ユニット9の出力と加算器14で加算するという構成である。図2は演算ユニット7の内部構成を示すブロック図である。演算ユニット7は図2で入力された参照データAと符号化データB0の対応する各要素を差分絶対値演算器15〜18に接続し,その出力を加算器19〜21で加算する構成である。演算ユニット8,9の構成は図2の演算ユニット7の構成と同一であり,符号化データの対応関係がB0からB1とB2に変更されるのみであるから説明を省略する。
【0068】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。なお,本実施の形態の動きベクトル検出装置の動作について説明しながら,本発明の動きベクトル検出方法の一実施の形態についても説明する(以下の実施の形態についても同様である)。
【0069】
図3は本実施の形態の符号化画像と参照画像で各ブロックと画素および検索領域の位置関係を示す領域関係図,図4は動作の詳細を示すタイミングチャートである。
【0070】
まず,実施の形態1での符号化ブロックT0の動きベクトル検出動作を説明する。図3で符号化ブロックT0の検索範囲は参照画像上でCに示す範囲であり,ベクトル(−3,−4)すなわち検索範囲の左上端から誤差量の評価を開始する。図4のタイミングD0のサイクルから符号化ブロックT0の演算を開始するが,その直前サイクルで符号化小ブロックレジスタ3には図3の符号化ブロックT0の左端列の小ブロック(b00,b10,b20,b30)=(t4,3,t5,3,t6,3,t7,3)が,符号化小ブロックレジスタ4には中央列の小ブロック(b01,b11,b21,b31)=(t4,4,t5,4,t6,4,t7,4)が,符号化小ブロックレジスタ5には右端列の小ブロック(b02,b12,b22,b32)=(t4,5,t5,5,t6,5,t7,5)がそれぞれ読み込まれており,3つの出力の組B0,B1,B2として既に出力されているものとする。いま図4タイミングD0のサイクルで動作が開始すると,参照レジスタ1には図3の参照画素データ(a0,a1,a2,a3)=(r0,0,r1,0,r2,0,r3,0)が格納され,1組の出力Aとして出力される。このサイクルD0で演算ユニット7では入力された参照データAと符号化データB0に関してその差分絶対値和を求めるが,その結果は|r0,0−t4,3|+|r1,0−t5,3|+|r2,0−t6,3|+|r3,0−t7,3|であり,(数2)より差分絶対値和AE-3,-4,0を求めたことになる。続いてタイミングD1のサイクルで,参照レジスタ1には(a0,a1,a2,a3)=(r0,1,r1,1,r2,1,r3,1)が読み込まれる。図5は参照画像の検索領域において参照レジスタ1が格納する小ブロックデータの領域を示す参照データ領域図である。図5でタイミングD0の時点で参照レジスタ1が格納する参照データは図中小ブロックD0で示す検索領域左上端の縦4画素であったが,タイミングD1ではそれが水平方向に隣接する4画素の小ブロックD1に移動したことを示している。すなわち,上述した第1,第2の本発明の参照データが縦に配列された4画素である場合は水平方向に移動することに相当するが,この移動制御方法は図40に示した従来例の移動方法とは大きく異なるものである。この間も符号化ブロックレジスタ2は符号化ブロックT0の画素を格納,保持する。さて,図4に示したタイミングD1では,演算ユニット7が|r0,1−t4,3|+|r1,1−t5,3|+|r2,1−t6,3|+|r3,1−t7,3|を,すなわちAE-4,-2,0を算出し,演算ユニット8が|r0,0−t4,4|+|r1,0−t5,4|+|r2,0−t6,4|+|r3,0−t7,4|を,すなわち(数2)よりAE-4,-3,1を算出する。同様にタイミングD2のサイクルでは,演算ユニット7〜9がAE-4,-1,0,AE-4,-2,1,AE-4,-3,2をそれぞれ算出することとなる。以下,順に符号化ブロックT0に関するAEi,j,nが算出される。
【0071】
演算ユニット7〜8の出力は累積加算アレイ10で加算され,差分絶対値総和が求められる。いま,図4のタイミングD0のサイクルで演算ユニット7で求められたAE-4,-3,0は累積加算アレイ10の遅延器11で1サイクル遅延され,タイミングD1のサイクルで演算ユニット8で求められたAE-4,-3,1と加算器12で加算され,AE-4,-3,0+AE-4,-3,1が演算される。その結果は遅延器13で1サイクル遅延され,タイミングD2のサイクルで演算ユニット9で求められたAE-4,-3,2と加算器14で加算され,AE-4,-3,0+AE-4,-3,1+AE-4,-3,2が求められる。これは(数3)と比較してAE-4,-3であることが分かる。すなわちベクトル(−3,−4)の予測ブロック候補と符号化ブロックT0との誤差量である差分絶対値総和AE-4,-3が求められたわけである。この遅延器11と遅延器13で3つの演算ユニット7〜9を結ぶことによりパイプライン演算が構成され,AE-4,-3,AE-4,-2〜AE-4,2まで毎サイクル求めることができるのである。
【0072】
この一連のパイプライン動作により,図5で検索範囲内の小ブロックD0から小ブロックD7まで高さ4画素の帯状の領域が左から右へ順に評価されたことになる。図4タイミングD7でAE-4,2の算出を完了すると,次にタイミングE0のサイクルに移行して,参照レジスタ1には参照画素データ(a0,a1,a2,a3)=(r1,0,r2,0,r3,0,r4,0)が読み込まれ,同時に演算ユニット7がAE-3,-3,0を算出し,新たに一連のパイプライン動作が開始される。この間も符号化ブロックレジスタ2は符号化ブロックT0の画素を格納,保持しているから,タイミングE0からタイミングE7に至る一連のパイプライン動作では,図6の小ブロックE0〜小ブロックE7まで高さ4画素の帯状の領域の領域を左から右へ順に,符号化ブロックT0と予測ブロック候補との誤差量評価を実行することとなる。図5と図6で演算評価される帯状の領域を比較すると,図6では図5より1画素分下がって動作していることがわかる。これはD0〜D7に至る演算で検索領域の最上段の1行分の画素が評価対象として演算完了したことによる。同じように,E0〜E7の演算で上段2行分の画素が評価対象として演算を完了する。以下順次新たなパイプライン動作を開始する度に帯状の演算領域が1行ずつ下がり,パイプライン動作8巡目である図7のF0〜F7の演算を完了すると符号化ブロックT0の誤差量演算が全て完了することとなる。この間の差分絶対値総和の最小値を調べることにより符号化ブロックT0の動きベクトルを決定することができる。なお,求められるベクトルは,符号化画像と参照画像がフレーム構造の場合はフレームベクトルが,フィールド構造の場合はフィールドベクトルである。
【0073】
図7の小ブロックF7の演算を完了すると,符号化ブロックレジスタ2には新たに符号化ブロックT1の12個の画素が図3の関係に従って格納され,同時に符号化ブロックT2に対応する検索領域の左上端の4画素が参照レジスタ1に格納され,符号化ブロックT0の場合と全く同様にパイプライン動作が開始されるのである。すなわち,従来例とは異なり,参照レジスタ1が格納する参照データを複数の符号化ブロックで使用することにならず,新たな符号化ブロックを開始する場合には同時に参照データも新たに読み込むことが出来るから,符号化ブロックT0の処理の次にはT1を開始することができ,さらにその次はT2と,符号化画像上の位置をとばすことなく順番に処理を完了することが出来るものである。
【0074】
実施の形態1の回路規模と処理速度について表5と表6にまとめる。表5は実施の形態1の回路規模を示すものであり,表6は実施の形態1の処理速度を示すものである。表5,表6の算出条件は表1,表2の従来例1の算出条件と同じである。本実施の形態1は並列演算していないので,表5,表6の図1の場合と,従来例1の表1,表2でQ=1の場合(すなわち,1系列の場合)とを比較すると,本実施の形態では必要とされるフリップフロップの数は約半減し,1ブロック当たりに必要なサイクル数も少なくなっている。これはパイプライン演算を構成するために演算ユニット7〜9をつなぐ遅延器11,13が検索範囲の大きさに関わりなく常に1画素分で構成できているためにレジスタ数が半減でき,また演算ユニットが有効な演算を実行していないロスサイクルが減少できているために演算速度が改善されたのである。また,480iや1080iの例では従来例1と比較して,並列演算していないので処理サイクルは約8.5倍,約15倍とそれぞれ増加しているが,フリップフロップ数は約2.5%,約0.7%と激減している。
【0075】
【表5】
Figure 0004101645
【0076】
【表6】
Figure 0004101645
以上のように実施の形態1によれば,予測ブロック候補の縦1列を小ブロックに設定し,それを参照画面上水平方向に順次ずらしながらパイプライン演算を行う構成としたことにより,演算ユニットが有効な演算を実行しないロスサイクルを減少させ高速な処理が実現でき,検索範囲の大小にかかわらず演算ユニット間を1画素分のみの遅延器で接続してパイプライン演算を構成するからレジスタ数が最小となり,小さな回路規模で実現できているものである。また,処理する符号化ブロックがT0,T1,T2と画像上連続した位置で順に処理完了することができるから,動きベクトル検出に引き続き実行される符号化処理の構成が容易であり,多重化構成を前提とせずとも装置を構成でき,用途に応じて高速処理が必要ではない場合など極めて小さな回路で動きベクトル検出装置を実現できるものである。
【0077】
(実施の形態2)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0078】
図8は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0079】
実施の形態2も,上述した第1,第2の本発明に関するものであり,第1,第2の本発明の横1行のM個の画素データを1つの組とする場合に相当するものである。また,この実施の形態2でも予測ブロック候補と符号化ブロックとの誤差量として,差分絶対値総和を採用する。(数4)に実施の形態2での差分絶対値和の定義式を示すが,(数1)に示した定義式とはM,Nの扱いを逆にしている(小ブロックの分解において行を単位とするか列を単位とするかが異なっているからである)。すなわち,Mは符号化ブロックの水平の大きさ,Nは垂直の大きさである。(数4)の差分絶対値総和AEi,jはmとnについての2重総和となっているが,これを(数5)に示すmに関する総和,すなわち同一行内の差分絶対値和AEi,j,nと,(数6)に示すnに関する総和の2段階に分解しても同じく差分絶対値総和AEi,jを求めることが出来る。実施の形態2ではこの(数5)と(数6)の関係を用いて符号化ブロックと予測ブロック候補との差分絶対値総和を演算するものである。また,実施の形態2のブロックの大きさは水平M=3,垂直N=4とし,検索領域については,水平方向にK=3すなわち−3〜2の範囲,垂直方向にL=4すなわち−4〜3の範囲としている。
【0080】
【数4】
Figure 0004101645
【0081】
【数5】
Figure 0004101645
【0082】
【数6】
Figure 0004101645
以下,図8で本実施の形態2の構成を説明するが,上述した図1の実施の形態1と同一部分には同一番号を付し説明を省略する。
【0083】
図8で参照レジスタ101は参照画像のa0〜a2から成る3個の画素を一時記憶して,これを1つの組として参照データAを出力する。符号化ブロックレジスタ102は12個の画素から成る符号化ブロックを横1行に配置された3個データを組として4つの組に分け,第0行の小ブロックに相当するb00〜b02を記憶する符号化小ブロックレジスタ103と,第1行の小ブロックに相当するb10〜b12を記憶する符号化小ブロックレジスタ104と,第2行の小ブロックに相当するb20〜b22を記憶する符号化小ブロックレジスタ105と,第3行の小ブロックに相当するb30〜b32を記憶する符号化小ブロックレジスタ106とから構成され,それぞれの出力を符号化データB0,B1,B2,B3の4つの組として出力する。演算ブロック107は演算ユニット108〜111から構成され,参照データAと符号化データB0〜B2をそれぞれ入力とし(数5)に該当する差分絶対値和を出力する。演算ユニット108〜111の出力は累積加算アレイ112に接続され,累積加算アレイ112は(数6)に該当する差分絶対値総和を出力する。累積加算アレイ112の構造は,実施の形態1の図1に示された累積加算アレイ10に対して遅延器113と加算器114が増設されたものである。図9は演算ユニット108の内部構成を示すブロック図である。演算ユニット108の内部構造は実施の形態1の図2演算ユニット7から差分絶対値演算器18と加算器20が削除されたものである。演算ユニット109〜111の構成は図9の演算ユニット108の構成と同一であり,符号化データの対応関係がB0からB1,B2,B3に変更されるのみであるから説明を省略する。
【0084】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。
【0085】
図10は動作の詳細を示すタイミングチャート,図11〜図13は参照レジスタ101が保持するデータが参照画像の検索範囲内に占める位置関係を示す領域関係図である。
【0086】
実施の形態2は符号化ブロックT0の動きベクトル検出について,ベクトル(−3,−4)すなわち検索範囲の左上端から誤差量の演算を開始する。図10のタイミングG0のサイクルで参照レジスタ101には参照画素データ(a0,a1,a2)=(r0,0,r0,1,r0,2)が読み込まれており,1つの出力の組Aとして出力され,符号化小ブロックレジスタ103には(b00,b01,b02)=(t4,3,t4,4,t4,5)が,符号化小ブロックレジスタ104には(b10,b11,b12)=(t5,3,t5,4,t5,5)が,符号化小ブロックレジスタ105には(b20,b21,b22)=(t6,3,t6,4,t6,5)が,符号化小ブロックレジスタ106には(b30,b31,b32)=(t7,3,t7,4,t7,5)がそれぞれ読み込まれており,4つの出力の組B0,B1,B2,B3として出力されている。実施の形態1と異なるのは参照レジスタ101は予測ブロック候補の行を単位とする小ブロックを1つ記憶する点と,符号化小ブロックレジスタ103〜106は符号化ブロックT0の行を単位とする小ブロック4つを記憶し,その出力は4つの出力の組として取り扱われる点である。誤差量演算が開始されると,タイミングG0のサイクルで(数5)に基づき演算ユニット108がAE-4,-3,0を算出し,タイミングG1では演算ユニット108〜109がAE-3,-3,0とAE-4,-3,1を求め,以下演算ユニット108〜111が符号化ブロックT0と参照ブロック候補の差分絶対値和AEi,j,nを順次演算する。一方累積加算アレイ112は演算ユニット108〜111の演算結果を1サイクル遅延させながら加算することでパイプライン演算を構成し,差分絶対値総和AEi,jを算出していく。
【0087】
以上は上述した実施の形態1の図4に示した動作と類似した動作となっているが,実施の形態2では参照レジスタ101に格納されるデータの更新方法が実施の形態1と異なっている。タイミングG0のとき参照レジスタ101は図11で検索領域左上端の横3画素からなる小ブロックG0を格納して誤差量演算を開始するが,タイミングG1に進むとそれを垂直方向に隣接する3画素である小ブロックG1に移動させ,以下タイミングG10で検索領域の下端の小ブロックG10に至るまで幅3画素の帯状の領域を上から下へと移動させながら一連のパイプライン動作で誤差量演算を実行するものである。タイミングG10で一連のパイプライン演算を終了すると,タイミングH0のサイクルに移り,参照レジスタ101には参照画素データ(a0,a1,a2)=(r0,1,r0,2,r0,3)が読み込まれ,新たに一連のパイプライン動作が開始される。この間も符号化ブロックレジスタ102は符号化ブロックT0の画素を保持している。タイミングH0からタイミングH10に至る一連のパイプライン動作では,図12の小ブロックH0〜小ブロックH10の幅3画素の帯状の領域を上から下へ順に演算して,符号化ブロックT0と予測ブロック候補との誤差量評価を実行することになる。以下,一連のパイプライン動作が完了する毎に上記帯状の演算領域が1列ずつ右に移動し,パイプライン動作6巡目である図13の小ブロックI0〜小ブロックI10の演算を完了すると符号化ブロックT0に関する誤差量演算が完了する。この間の差分絶対値総和の最小値を調べることにより符号化ブロックT0の動きベクトルを決定することができるのである。
【0088】
実施の形態2の回路規模と演算速度については,上述した実施の形態1の場合とほぼ同じであるから説明を省略する。
【0089】
以上のように実施の形態2によれば,予測ブロック候補の横1行を小ブロックに設定し,それを参照画面上垂直方向に順次ずらしながらパイプライン演算を行う構成としたことにより,演算ユニットが有効な演算を実行しないロスサイクルを減少させ高速な処理が実現でき,検索範囲の大小にかかわらず演算ユニット間を1画素分のみの遅延器で接続してパイプライン演算を構成するから,レジスタ数が最小となり,小さな回路規模で実現できるものである。また,処理する符号化ブロックがT0,T1,T2と画像上連続した位置で順に処理完了することができるから,多重化構成を前提とせずとも構成でき,用途に応じて高速処理が要求されない場合など極めて小さな回路で動きベクトル検出装置を実現できるものである。
【0090】
実施の形態1と実施の形態2は全く同じ効果を持ちつつ,参照画像に対する読み込み方法が異なるものであるから,動きベクトル検出装置に接続して使用するメモリなどの参照画像記憶媒体の特性,動作条件に応じて,実施の形態1あるいは実施の形態2からより有利である形態を選択して具現化することが出来る。
【0091】
(実施の形態3)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0092】
図14は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0093】
実施の形態3は,上述した第3,第4の本発明に関するものであり,第3,第4の本発明の参照データが縦1列のM+Q−1個のデータである場合に相当するものである。また,この実施の形態では予測ブロック候補と符号化ブロックとの誤差量として,(数1)および(数2),(数3)に示した差分絶対値総和を採用し,符号化ブロックの大きさは水平N=3,垂直M=4,検索領域は水平方向にK=3すなわち−3〜2の範囲,垂直方向にL=4すなわち−4〜3の範囲としている。
【0094】
図14で本実施の形態3の構成を説明するが,上述した図1の実施の形態1と同一部分には同一番号を付して説明を省略する。
【0095】
参照レジスタ201は参照画像のa0〜a4から成る5個の画素を一時記憶して,連続する4個の画素を組とし,参照データAa=(a0,a1,a2,a3)を1つの出力の組,参照データAb=(a1,a2,a3,a4)を1つの出力の組とするレジスタである。演算ブロック6は前記参照データAaと符号化データB0〜B2を入力とし,演算ブロック202は演算ブロック6と全く同一の構成を採り,前記参照データAbと符号化データB0〜B2を入力とする。累積加算アレイ203は累積加算アレイ10と全く同一の構成を採るものであり,演算ブロック202の3つの出力を入力として累積加算する。
【0096】
本実施の形態3の構成では,参照レジスタ201のa0〜a3と,符号化ブロックレジスタ2と演算ブロック6と累積加算アレイ10から構成される部分は上述した実施の形態1の構成(図1参照)と同じものであり,参照レジスタ201のa1〜a4と,符号化ブロックレジスタ2と演算ブロック202と累積加算アレイ203から構成される部分もまた上述した実施の形態1の構成(図1参照)と同じものである。即ち,参照レジスタ201を図1の参照レジスタ1に対して1画素増設したことにより,参照レジスタ201のa1〜a3と符号化ブロックレジスタ2を共通化しながら2つの動きベクトル検出装置を合体した構造となっているものである。
【0097】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。
【0098】
図15は動作の詳細を示すタイミングチャート,図16〜図18は参照レジスタ201が保持するデータが参照画像の検索範囲内に占める位置関係を示す領域関係図である。
【0099】
実施の形態2は図15のタイミングJ0のサイクルから符号化ブロックT0の動きベクトル検出動作を開始する。図15のタイミングJ0からJ7に至る期間,参照データAa,符号化データB0〜B2を入力とした演算ブロック6と累積加算アレイ10による一連のパイプライン演算は上述した実施の形態1の図4サイクルD0〜D7のパイプライン動作と全く同一の動作である。また,この期間の参照データAaの検索領域内での位置は実施の形態1の図5の小ブロックD0〜小ブロックD7と同じである。一方,図15のタイミングJ0からJ7に至る期間,参照データAb,符号化データB0〜B2を入力とした演算ブロック202と累積加算アレイ203による一連のパイプライン演算は上述した実施の形態1の図4サイクルE0〜E7のパイプライン動作と全く同一の動作であり,参照データAbの検索領域内での位置は実施の形態1の図6の小ブロックE0〜小ブロックE7と同じである。すなわち,実施の形態1で2巡回のパイプライン演算つまり16サイクルで実現していた差分絶対値総和演算を,パイプライン構造を2系統並列処理することで図15のJ0〜J7の8サイクルで完了するものである。この期間,参照レジスタ201に格納される参照データは図16の小ブロックJ0〜小ブロックJ7に示す高さ5画素の帯状の領域であり,参照レジスタ201は左端の縦5画素の小ブロックJ0を格納する状態から格納データを順次右に移動させることで2系統のパイプライン演算並列処理を実行させるのである。また,図16の小ブロックJ7の演算を完了すると検索領域内の上端2行分の参照画素はそれ以降の符号化ブロックT0の誤差量演算に不要となるので,続くタイミングP0のサイクルでは参照レジスタ201に格納される参照画素は(a0,a1,a2,a3,a4)=(r2,0,r3,0,r4,0,r5,0,r6,0)となり,新たな2系統並列処理のパイプライン動作が開始される。このパイプライン動作では図17で小ブロックP0〜小ブロックP7に示ように上端から2画素下がった位置で高さ5画素の帯状の領域を左から右へと演算することに相当する。このようにパイプライン演算を完了するたびに2行ずつ下方にシフトしながら処理を進めるが,パイプライン演算4巡回目に図18に示す状態となり,この小ブロックS7の演算完了を以て符号化ブロックT0の全ての予測ブロック候補の誤差量演算を完了するのである。この間の累積加算アレイ10と累積加算アレイ203の出力である差分絶対値総和の最小値を調べることにより符号化ブロックT0の動きベクトルを決定することができる。
【0100】
図18の小ブロックS7の演算を完了すると,符号化ブロックレジスタ2には新たに符号化ブロックT1の12個の画素が格納され,符号化ブロックT1に対応する検索領域の左上端の5画素が参照レジスタ201に格納され,符号化ブロックT0の場合と全く同様に符号化ブロックT1のパイプライン動作が開始されるのである。すなわち,実施の形態1,実施の形態2と同じく符号化ブロックT0の処理からT1,T2へと画像上の位置をとばすことなく順番に処理を完了することが出来ている。
【0101】
【表7】
Figure 0004101645
【0102】
【表8】
Figure 0004101645
実施の形態3の回路規模と処理速度について表7と表8にまとめる。表7は実施の形態3の回路規模を示すものであり,表8は実施の形態3の処理速度を示すものである。表7,表8の算出条件は表1,表2の従来例1の場合,表5,表6の実施の形態1の場合と同じである。まず,表5,表6に示した本発明実施の形態1の図1の場合と,表7,表8の本発明実施の形態3の図14の場合を比較すると,実施の形態3では多重化系列数Q=2に並列処理することにより演算速度はちょうど2倍に改善できているが,一方レジスタは僅かに画素値レジスタ個数Sが1画素分とデータレジスタ個数Uが2データ分増加するのみであり,極めて効率的に並列処理化が実現できていることがわかる。また,表1,表2の従来例1の図35の場合と比較すると,いずれも多重化系列数Q=2であり演算速度は互いに遜色ない程度となっているが,本実施の形態3ではフリップフロップ数がわずか3分の1で構成できており,著しい効果があることがわかる。現実的な映像のブロックサイズ,検索範囲とすればこの差はより顕著なものとなり,従来例1と比較して480iの例では処理速度は同程度であるがフリップフロップ数は約3.7%で構成でき,1080iの例では処理速度を2倍以上に高速化しつつもフリップフロップ数は約2.1%で構成できるという,劇的な効果を示している。これは以下の2点によるものである。第1に,従来方式では並列構成にするためには大量のフリップフロップを要する符号化ブロックレジスタを多重に持つ必要があったが,本発明では多重化系列すべてが同じ符号化ブロックを演算するのであるから,ただ1つの符号化ブロックを記憶するレジスタで構成できていること。第2に,演算データレジスタは本発明でも従来技術でも系列数に比例して増設する必要があるが,従来は検索範囲に比例する演算データレジスタが必要であったため,実用的な検索範囲では並列化と検索範囲の相乗効果で膨大な規模が要求されたことに対して,本発明では演算データレジスタが検索範囲の大きさにかかわらず常に1データ分のみで構成できるようになったことによるものである。
【0103】
以上のように本発明の実施の形態3では,上述した第3,第4の本発明の参照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の参照データを出力する参照レジスタ201が前記参照データを参照画面上水平方向に順次ずらしながら取り出して格納する制御機能をもち,1つの符号化ブロックと複数の予測ブロック候補との誤差量を同時に複数のパイプライン演算で求める構成としたことにより,符号化ブロックレジスタと参照レジスタを共用化して多重化並列処理回路を構成することができ,また,系列数に比例して増加する演算データ遅延器が常に最小の1データ分で構成できるから,極めて小さな回路規模で並列演算できる動きベクトル検出装置を構成できるものである。また,実施の形態1,実施の形態2と同じくすべての演算ユニットのロスサイクルが少なく,Q系列が全て全く同時に動作するから符号化ブロック1つ当たりの演算速度は正確にQ倍に高速化できる。さらに,本発明では符号化ブロックを1つずつ処理していくものであり,表7,表8では多重化系列数Q=2の場合,8の場合,32の場合を例示しているが,本発明では多重化系列数の設定は符号化ブロックの大きさや検索範囲の大きさなどには一切の影響を受けず,系列数Qは1を含んで任意に設定することが出来る。そのため,回路規模の要求と処理速度の要求から適切な多重化系列数を任意に選択し,用途,条件に適合した動きベクトル検出装置を構成することが出来るものである。
【0104】
(実施の形態4)
はじめに,本実施の形態の動きベクトル検出装置の構成および動作について説明する。
【0105】
図19は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0106】
実施の形態3では第3,第4の本発明の参照データが縦1列のM+Q−1個のデータである場合に相当するものであったが,実施の形態4は,第3,第4の本発明の参照データが横1行のM+Q−1個のデータである場合に相当するものである。
【0107】
図19で参照レジスタ301は図8の参照レジスタ101を1画素拡張し,連続する3画素を1つの組として参照データAaと参照データAbを出力するレジスタであり,演算ブロック302は演算ブロック107と,累積加算アレイ303は累積加算アレイ112と同じ構成のものである。図19では図8の実施の形態2と同一部分には同一番号を付している。
【0108】
実施の形態4の動作は,実施の形態1に対して実施の形態3が並列処理を実現したことと全く同様に実施の形態2に対して並列処理を実現するものであるから,詳細な説明を省略する。
【0109】
実施の形態4と実施の形態3は全く同じ効果を持ちつつ,参照画像に対する読み込み方法が異なるものである。従って,動きベクトル検出装置に接続して使用するメモリなど参照画像記憶媒体の特性,動作条件に応じて,実施の形態4あるいは実施の形態3からより適した形態を選択することが出来るものである。
【0110】
(実施の形態5)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0111】
図20は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0112】
実施の形態5は,実施の形態1を基本として,第5,第6の本発明の技術を適用したものである。従って,この実施の形態5では予測ブロック候補と符号化ブロックとの誤差量として,(数1)および(数2),(数3)に示した差分絶対値総和を採用し,符号化ブロックの大きさは水平N=3,垂直M=4,検索領域は水平方向にK=3すなわち−3〜2の範囲,垂直方向にL=4すなわち−4〜3の範囲としている。
【0113】
図20を用いて本実施の形態5の構成を説明するが,図1の実施の形態1の構成と同一部分には同一番号を付して説明を省略する。参照レジスタ401は参照レジスタ1を第1の参照データレジスタとして新たに増設された第2の参照レジスタであり,その出力は1つの組の参照データCとして出力する。符号化ブロックレジスタ402は符号化小ブロックレジスタ403〜405から構成されるが,実施の形態1の構成と異なるのは新たな符号化ブロックの画素データを読み込むタイミングが3つの符号化小ブロックレジスタ403〜405でそれぞれ独立に制御できるように構成されていることである。演算ブロック406には符号化データB0,B1,B2,参照データAに加え参照データCが入力され,参照データAと参照データBは参照データ切り替えスイッチであるスイッチ407でいずれかが選択されて演算ユニット7に入力され,スイッチ408で選択されて演算ユニット8に入力され,スイッチ409で選択されて演算ユニット9に入力されている。スイッチ407,スイッチ408,スイッチ409はそれぞれ独立に制御される。モード制御部410は符号化小ブロックレジスタ403〜405の読み込みタイミングとスイッチ407〜409の切り替えを制御する制御部である。
【0114】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。
【0115】
図21と図22は本実施の形態5の動作を示すタイミングチャートである。図中の記号D,E,Fは図5,図6,図7の記号に対応させている。
【0116】
実施の形態5はスイッチ407〜409が全て参照データAを選択している状態から動作を開始する。図21のタイミングD0のサイクルで符号化ブロックレジスタ402は符号化ブロックT0の格納を完了し,列を単位に3つの出力の組B0,B1,B2を出力し,参照レジスタ1は図5の検索範囲で左上端の縦4画素である小ブロックD0を格納完了し参照データAとして出力する。スイッチ407〜409は全て参照データAを選択しているから,まず,タイミングD0で演算ユニット7が差分絶対値和AE-4,-3,0を演算するが,以下参照データAは図5に示す帯状の領域を左から右に順次シフトし,演算ユニット7〜9と累積加算アレイ10がパイプラインを構成して差分絶対値総和AEi,jを順次算出していくことは上述した実施の形態1の場合と同じである。一方参照レジスタ401は図21のE0のサイクルで図6に示す帯状の領域の左端に位置する縦4画素の小ブロックE0を格納し,それを1組の参照データCとして出力開始する。以下参照レジスタ401は図6の帯状の領域を左から右へ順次シフトしながら参照データを出力していく。ここで,図21で参照レジスタ1のD6〜D7と,参照レジスタ401のE0〜E7は時間的に重なりを持ち,2サイクル期間同時にそれぞれ参照データAと参照データCに出力されている。
【0117】
ここで演算ユニット7に着目する。演算ユニット7は図5の帯状の領域で小ブロックD0〜小ブロックD5に対して有効な差分絶対値和AE-4,-3,0〜AE-4,2,0を算出するが,小ブロックD6とD7はAE-4,3,0とAE-4,4,0を意味し,これはベクトル(3,−4)とベクトル(4,−4)に該当するから検索範囲外であって算出不要なものである。いま,モード制御部410は演算ユニット7がD5のサイクルで有効な演算が終了したことを検知すると,それに続くサイクルでスイッチ407を制御して参照データCを選択するように切り替える。切り替わったサイクル,すなわちE0では参照データCには図6の小ブロックE0が出力されているから,演算ユニット7はC=(r1,0,r2,0,r3,0,r4,0)とB0の差分絶対値和すなわちAE-3,-3,0を算出することとなる。この間もモード制御部410はスイッチ408,スイッチ409には参照データAを選択させている。つまり,演算ユニット7は図6の小ブロックE0を,演算ユニット8,9は図5の小ブロックD6を同時に演算しているのである。モード制御部410は続くD7のサイクルでスイッチ408も参照データCを選択するように切り替えるから,演算ユニット7,8は図6の小ブロックE1を,演算ユニット9は図5の小ブロックD7を同時に演算することとなる。その結果,図4の実施の形態1の動作ではパイプラインの切り替え時に3つの演算ユニットに2サイクルずつロスサイクルが存在したが,図21の本実施の形態5の動作には存在せず,ある符号化ブロックの演算を開始すると,それ以降全ての演算ユニットが常に有効な演算となるから,パイプライン演算が隙間無く実行することができている。
【0118】
以上のように本実施の形態5によれば,第5の本発明に従って,参照レジスタ1が図5の小ブロックD0〜小ブロックD7まで順次データを更新して参照データAを演算ブロック406に供給する第1のモードと,参照レジスタ2が図6の小ブロックE0〜小ブロックE7まで順次データを更新して参照データCを供給する第2のモードを設け,モード移行時には有効な演算を終了した演算ユニット7から順に参照データをAからCへスイッチを切り替えるモード制御部410を設けたことにより,パイプライン演算にロスサイクルを発生させず,最大効率で演算続行させることが出来るものである。図21の例では図4の場合に8サイクル必要であった1巡のパイプライン演算が6サイクルに短縮されており,更なる高速化が実現できている。
【0119】
実施の形態5は上述したように符号化ブロック,例えばT0の演算を開始すると,それ以降ロスサイクルなく,最大効率で演算続行できるものである。次に,ある符号化ブロックの演算が完了し,次の符号化ブロックの演算を開始する場合の動作について説明する。
【0120】
図22のタイミングチャートで,F0からF7のサイクルが符号化ブロックT0の最後の演算部分であり,図22の開始時点では符号化ブロックレジスタ402には符号化ブロックT0が格納されている。参照レジスタ401が図7の小ブロックF6,F7すなわち符号化ブロックT0の検索範囲の最後の2サイクル分の参照データをCに出力している間に,参照レジスタ1は符号化ブロックT1に関する検索範囲の左上端である図5の小ブロックD0,D1を参照データAに出力開始する。モード制御部410は図22サイクルF5で演算ユニット7の有効な演算が終了したと判断すると,それに続くサイクルでスイッチ407を制御して参照データAを選択するように切り替える。これは図21で説明した第5の本発明に従う動作である。この切り替えサイクルD0で,モード制御部410はスイッチ407の切り替えに同期して符号化小ブロックレジスタ403を制御して符号化ブロックT1の左端小ブロックを読み込み格納させ,B0に出力させる。すなわち,B0=(t4,6,t5,6,t6,6,t7,6)とする。一方符号化小ブロックレジスタ404,405には格納データを保持させるから,図22サイクルD0ではB0が符号化ブロックT1,B1とB2が符号化ブロックT0となっている。その結果,演算ユニット7は符号化ブロックT1の符号化データB0と符号化ブロックT1検索範囲の左上端の参照データである小ブロックD0が出力Aから供給されるから,その結果符号化ブロックT1に対するAE-4,-3,0を算出し,一方の演算ユニット8,9は符号化ブロックT0のAE3,2,1とAE3,1,2とを算出している。引き続き,サイクルD1では演算ユニット7,8が符号化ブロックT1のために図5の小ブロックD1を,演算ユニット9が符号化ブロックT0のために図7の小ブロックF7をそれぞれ演算し,その結果,符号化ブロックT0の差分絶対値総和演算を全て終了する。さらにD2のサイクルで符号化ブロックレジスタ402は全て符号化ブロックT1に切り替わり,移行を完了する。このように,符号化ブロックT0からT1への移行においても,全ての演算ユニットに常に有効な演算を連続させ,一切のロスサイクルを生じず,パイプライン演算をすき間無く実行することができるものである。
【0121】
以上のように本実施の形態5によれば,第6の本発明に従って,参照レジスタ1が図5の小ブロックD0〜小ブロックD7まで順次データを更新して,参照データモード制御部410が新たな符号化ブロックのデータを符号化ブロックレジスタ402に記憶させる場合,参照データのスイッチ407〜409の切り替え動作に同期して新たな符号化ブロックのデータを1組ずつ順に符号化ブロックレジスタ402に記憶させることにより,符号化ブロックの移行時においてもパイプライン演算にロスサイクルを生じず,最大効率で演算続行することができ,符号化ブロック数が多い場合など更なる高速化が実現できるものである。
【0122】
なお,本実施の形態5は実施の形態1のように符号化ブロックを列を単位に分解する場合であって,かつ多重化処理しない場合に対して第5,第6の本発明の技術を適用させたが,実施の形態2のように符号化ブロックを行を単位に分解し多重化処理しない場合,実施の形態3のように列を単位に分解し,多重化構成とする場合,実施の形態4のように行を単位に分解し多重化構成とする場合,いずれに対しても第5,第6の本発明の技術を,実施の形態5と全く同様に適用することができる。また,いずれの場合にもその効果は,符号化ブロックの処理中も符号化ブロックの移行時も一切のロスサイクルを発生せず,パイプライン演算に隙間が生じず最大効率で演算実行でき,高速演算が実現できることである。
【0123】
【表9】
Figure 0004101645
【0124】
【表10】
Figure 0004101645
以上の効果を具体的に数値で表9と表10にまとめる。表9は実施の形態5の回路規模を示すものであり,表10は実施の形態5の処理速度を示すものである。表9,表10の算出条件は表1,表2の従来例1の場合,表5,表6の実施の形態1の場合,表7,表8の実施の形態3の場合と同じである。表1,表2の従来例1の場合と比較すれば回路規模,処理速度とも劇的な改善となっているが,その理由に関しては既に実施の形態1および実施の形態3で述べた通りであるので説明を省略し,本発明の実施の形態1と実施の形態5の比較で第5,第6の本発明の技術の効果を確認する。
【0125】
まず,表5,表6に示した本発明実施の形態1の図1の場合と,表9,表10の本発明実施の形態5の図20の場合を比較して,実施の形態5では実施の形態1に対して回路規模で約22%増加するが処理速度では約1.33倍高速化が実現できていることがわかる。次に実施の形態5でQ=2の例とは図14の実施の形態3に対して第5,第6の本発明の技術を適応した場合を意味する。実施の形態5のQ=2の例は表7,表8の実施の形態3図14の例に対してやはり回路規模で約23%増加するが処理速度は約1.33倍高速化できている。480iの例では実施の形態5の場合は表7,表8の実施の形態3の場合に対して回路規模で約5%増加するが処理速度では約1.12倍高速化でき,1080iの例では実施の形態5の場合は表7,表8の実施の形態3の場合に対して回路規模で約5%増加するが処理速度では約1.06倍高速化できている。
【0126】
これら実施の形態5の場合,すなわち第5,第6の本発明の技術を用いた場合は,全てのサイクルで有効な差分絶対値総和が隙間無く,重複もなく求まり,しかも並列演算との組み合わせでも全く無駄が発生しないので,パイプライン演算の原理的な最高速度を実現しているものである。いずれも若干の回路増加を伴うが,特に高速動作を要求される用途では効果大なるものである。
【0127】
最後に,第5,第6の本発明を説明した構成例5で,従来例2と見かけの構成上類似した点があるので,その差異を以下に説明する。
【0128】
まず,第5の本発明に関する見かけ上の類似点について説明する。従来例2では図42でレジスタ801〜804とレジスタ838〜842の2組の参照レジスタをもち,それをセレクタ843〜846で選択するという構成であるが,本発明では図20で参照レジスタ1と参照レジスタ401の2組の参照レジスタをもち,それをスイッチ407〜409で選択するという構成である。しかしながら,従来例2ではセレクタ843〜846は全ての演算ユニットに共通のセレクタであり,選択した参照データは全ての演算ユニットに同じものが供給されることに対して,本発明では各演算ユニットに固有のスイッチであって,各演算ユニットに供給される参照データは個別に選択されるという構成上の実質相違がある。
【0129】
これを技術思想の点から相違を詳しく説明する。従来例2は2つの符号化ブロックT0とT1を時分割演算するという目的のために,有効期間8サイクルの参照データを2回ずつ繰り返す必要があり,その繰り返し実現のために2組の参照レジスタとセレクタを設けているのである。一方本発明では,1つの符号化ブロックT0の演算であって時分割とは無関係である。本発明では,パイプライン演算の移行時に演算ユニットに無駄なサイクルが発生することを防ぎ,最大速度を実現するという目的のために,移行時にも常に全ての演算ユニットに独立に有効な参照データを供給する必要があるから,2組の参照レジスタと演算ユニット毎に個別のスイッチを設けたものである。これは,全く異質の技術思想であって,本発明の技術思想を従来例に適応しようとしても無意味であるし,また従来例の技術思想を本発明に応用しようとしても無意味なものである。
【0130】
次に,第6の本発明に関する見かけ上の類似点について説明する。従来例2では図44のY4のサイクルでPE847のレジスタ819〜822に符号化ブロックT2を格納するが,他のPE848,PE849のレジスタ819〜822には符号化ブロックT0を保持するから,符号化ブロック移行時にT0とT2の演算を同時に行っている。本発明では図22のF6あるいはD0で符号化小ブロックレジスタ403に符号化ブロックT1を格納するが,他の符号化小ブロックレジスタ404,405には符号化ブロックT0を保持して,符号化ブロックの移行時にT0とT1の演算を同時に行っている。しかしながら,本発明では参照レジスタを2組設け,それぞれにT0用,T1用の参照データを格納し,演算ユニット毎に切り替えながら,その切り替えと同期して対応する符号化小ブロックレジスタにT1を格納させるという制御手段を必然の要素としている。従来例にはその制御要素が無く,実質相違がある。
【0131】
この相違を技術思想の点から詳しく説明する。従来例の技術思想ではPE内部に記憶した符号化ブロックのデータについて演算完了すると,参照データが自然に次に処理する符号化ブロックの検索範囲に入ってくるのを待ち,しかる後,新しい符号化ブロックのデータを格納することで符号化ブロックの移行時のロスを最小限度に押さえようとするものである。従来例1では並列処理,従来例2では時分割処理で常に複数の符号化ブロックを処理しているから,参照データはいずれかの符号化ブロックの処理に使用されているから,ある符号化ブロックのPEが演算完了したといってもそれに合わせて参照データを入れ替えることはできない。従来例1,従来例2では符号化ブロックT0の演算が完了すると,その直後に参照データが次の符号化ブロックT2の検索範囲に入り,直ちにT2の演算が開始できているが,これは符号化ブロックの大きさと検索範囲を調整した特別な動作例の場合だけであって,一般的な用途では符号化ブロックの移行時に大きなロス時間が発生する。本発明では,ある符号化小ブロックレジスタのデータについて演算完了すると,その符号化小ブロックレジスタに次の符号化ブロックの該当する符号化データを読み込ませるだけではなく,それと同時に参照レジスタにも該当する検索範囲の最初の参照データを読み込ませている。新しい符号化ブロックのデータの読み込みとその演算に組み合わせる参照データの読み込みを同期させる制御手段を持つことが第6の本発明の本質であって,それにより符号化ブロックの大きさや検索範囲を任意に設定しても全くロスサイクルを発生させないものである。第1〜第4の本発明の方法および装置に従来例の技術思想を適応したものであれば,従来例と同じ問題点を生じる。つまり符号化ブロックの大きさと検索範囲が特別な値になっていなければ大きなロス時間を発生する。すなわち第6の本発明は従来例と異質の技術思想によるものであって,容易に類推できるものではない。
【0132】
(実施の形態6)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0133】
図23は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0134】
実施の形態6は実施の形態2を基本として第7の本発明の技術を適用したものである。MPEG2規格ではインターレース映像でフレーム構造ピクチャーの場合に符号化ブロックに対してフレームベクトルばかりでなくフィールドベクトルを選択付与することが出来る。フレームベクトルは符号化画像と参照画像をともにフレーム構成の1枚の画像として取り扱い,符号化ブロックのフレーム成分を予測する1つのベクトルで構成されるものである。一方,フィールドベクトルは符号化映像と参照映像をそれぞれ第1フィールドと第2フィールドの2枚の画像に分解して取り扱い,参照画像のいずれかのフィールドから符号化ブロックの第1フィールド成分を予測する第1のフィールドベクトルと,参照画像のいずれかのフィールドから符号化ブロックの第2フィールド成分を予測する第2のフィールドベクトルとの2つのフィールドベクトルから構成される。符号化ブロックサイズは何れ場合も16画素×16画素であるから,フィールドベクトルの場合符号化ブロックの第1フィールド成分は横16画素×縦8画素,第2フィールド成分も横16画素×縦8画素となる。
【0135】
実施の形態6はフレームベクトルと2つのフィールドベクトルに関してそれぞれの誤差量を同時に算出するものである。フレームベクトルの誤差量として,(数4)および(数5),(数6)に示した差分絶対値総和AEi,jを採用し,第1フィールドのフィールドベクトルの誤差量として(数5),(数7)の差分絶対値総和TFAEi,jを,第2フィールドのフィールドベクトルの誤差量として(数5),(数8)の差分絶対値総和BFAEi,jを採用するものとする。また,(数5),(数7),(数8)より,AEi,jとTFAEi,j,BFAEi,jの間には(数9)の関係が成り立っている。
【0136】
【数7】
Figure 0004101645
【0137】
【数8】
Figure 0004101645
【0138】
【数9】
Figure 0004101645
また,実施の形態6では実施の形態2と同じく符号化ブロックの大きさは水平M=3,垂直N=4,検索領域は水平方向にK=3すなわち−3〜2の範囲,垂直方向にL=4すなわち−4〜3の範囲としている。
【0139】
図23を用いて本実施の形態6の構成を説明する。図23において,図8の実施の形態2の構成と同一部分には同一番号を付して説明を省略する。累積加算アレイ501はフレーム加算アレイ502とフィールド加算アレイ503からなる構成を有している。フレーム加算アレイ502は図8の累積加算アレイ112と全く同じ構成であるが,フィールド加算アレイ503は演算ユニット109の出力AEi,j,1を入力とし,2サイクル遅延器504を経由して演算ユニット111の出力AEi,j,3と加算器505で加算する構造である。更にフレーム加算アレイ502の出力AEi,jからフィールド加算アレイ503の出力BFAEi,jを減算しTFAEi,jを出力する減算器506が設けられている。
【0140】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。
【0141】
図24は本実施の形態6の動作を示すタイミングチャートである。図24で記号G,Hは実施の形態2の図10,図11,図12に対応させている。
【0142】
実施の形態6では参照レジスタ101,符号化ブロックレジスタ102,演算ブロック107,フレーム加算アレイ502の動作は上述した実施の形態2の動作と全く同じであり,パイプライン動作により誤差量として差分絶対値総和AEi,jが求められる。これは(数6)に示すフレームベクトルの差分絶対値総和を求めたことに他ならない。一方フィールド加算アレイ503は演算ユニット109の出力AEi,j,1を2サイクル遅延させ,演算ユニット111の出力AEi,j,3に加算する。いま,図24でG1のサイクルの演算ユニット109出力AE-3,-4,1はG3のサイクルまで遅延させ演算ユニット111の出力AE-3,-4,3に加算するからフィールド加算アレイ503の出力はAE-3,-4,1+AE-3,-4,3となる。これは(数8)より,第2フィールドのフィールドベクトルに対する差分絶対値総和BFAE-3,-4が求められたことになる。フィールドの対応関係では,この場合は参照ブロックの第2フィールドと符号化ブロックの第2フィールドのブロックマッチングの誤差量が求められているのである。以下,同様に順次フィールド加算アレイ503は符号化ブロック第2フィールドのブロックマッチングの差分絶対値総和BFAEi,jを算出していくものである。一方,減算器506はフレーム加算アレイ502の出力AEi,jからフィールド加算アレイ503の出力BFAEi,jを減算している。いま,G3のサイクルではAE-4,-3−BFAE-4,-3を求めているが,これは(数9)よりTFAE-4,-3が求められたことになる。フィールドの対応関係では,これは参照ブロックの第1フィールドと符号化ブロックの第1フィールドのブロックマッチング誤差量にあたる。続くG4のサイクルでは同様にAE-3,-3とTFAE-3,-3とBFAE-3,-3が求められる。フィールドの対応関係に関しては,この場合G3のサイクルの場合と比較して予測ブロック候補が参照画面で1行下がった位置に移動しているから第1フィールドと第2フィールドの関係が逆転することとなり,TFAE-3,-3は符号化ブロックの第1フィールドと予測ブロック候補の第2フィールドのブロックマッチング誤差量に,BFAE-3,-3は符号化ブロックの第2フィールドと予測ブロック候補の第1フィールドのブロックマッチング誤差量に対応する。以下,順次予測ブロック候補を移動させながら3種類の誤差量が求められることとなる。
【0143】
即ち,実施の形態6では,一連のパイプライン動作により,フレームベクトルはもちろんのこと,フィールドベクトルの第1フィールド,第2フィールド全ての組み合わせの誤差量を漏れなく求めることになるから,フレームベクトルの誤差量AEi,jと,第1フィールド誤差量TFAEi,jと,第2フィールドの誤差量BFAEi,jの3種類についての誤差量をそれぞれ最小値を調べることにより,それぞれの最適なベクトル検出を実現することができるものである。
【0144】
以上のように本実施の形態6によれば,第7の本発明に従って,累積加算アレイ501に,個々の演算ユニットの誤差量の加算結果を1回遅延して隣接する符号化データの組の誤差量に加算することで,N個の誤差量を累積加算するフレーム加算アレイ502と,奇数番目であるN/2個の演算ユニットに対して2サイクル遅延しながら誤差量を累積加算構造で加算するフィールド加算アレイ503と,フレーム加算アレイ502とフィールド加算アレイ503の結果の差を求める演算手段である減算器506とを設けたことにより,フレームベクトルに対する誤差量とフィールドベクトルに対する誤差量2種類とを同時に,漏れなく求めることが出来るから,フレームベクトル検出とフィールドベクトル検出の両方を一度に実現できるものである。また,図23と図8を比較すれば増設する回路はフィールド加算アレイ503と減算器506のみであり,480iの実用装置を想定しても30%程度の回路増加に押さえることが出来る。一方,3種類の誤差量を同時に算出するのであるから,図24と図10を比較しても明らかに1つの符号化ブロックの処理リサイクル数は変わらず,高速処理できるという利点は損なわないものである。
【0145】
なお,本実施の形態6はフィールド加算アレイ503を演算ユニットの奇数番目を処理する加算アレイとしたが,偶数番目を処理する加算アレイとしても良い。この場合はフィールド加算アレイ503の出力が第1フィールドの差分絶対値総和TFAEi,jとなり,減算器506の出力が第2フィールドの差分絶対値総和BFAEi,jとなる。
【0146】
また,本実施の形態6は実施の形態2に対して第7の本発明の技術を適用したものとして構成したが,実施の形態4に対して第7の本発明の技術を適応しても構成することができ,また,更に第5,第6の本発明の技術と組み合わせて構成することも可能である。それらの場合,パイプライン演算に一切の隙間が生じない最高速度の実現,並列処理による更なる高速化など個々の効果を損うことなく,フレーム,フィールド両ベクトルの同時検出を実現することが出来るものである。
【0147】
また,本実施の形態ではTFAEi,j,BFAEi,jを(数7),(数8)としたが,この定義は添え字jがフレーム画像のライン番号を基準としたものであって,上述したMPEG2の定義のものとは異なる。MPEG2のための動きベクトル検出装置として用いる場合はTFAEi,j,BFAEi,jに対して以下の変換により求められる。TFAEi,jの場合,jが偶数であれば符号化ブロック第1フィールドが参照画像第1フィールドを参照し,フィールドベクトル(j/2,i)である。jが奇数であれば参照画像第2フィールドを参照し,フィールドベクトル((j−1)/2,i)である。一方,BFAEi,jの場合は,jが偶数であれば符号化ブロック第2フィールドが参照画像第2フィールドを参照し,フィールドベクトル(j/2,i)である。jが奇数であれば参照画像第1フィールドを参照し,フィールドベクトル((j+1)/2,i)である。
【0148】
(実施の形態7)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0149】
図25は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0150】
実施の形態7は実施の形態1を基本として第8の本発明の技術を適用したものであって,フレームベクトルと2つのフィールドベクトルに関してそれぞれの誤差量を同時に算出するものである。本実施の形態7でもフレームベクトルの誤差量として,(数1)に示した差分絶対値総和AEi,jを採用する。また,(数1)の2重総和の演算は(数2)に示す同一列内の総和であるAEi,j,nを求めた後,その総和を(数3)のように求めても良いことは既に示したとおりである。ここで,(数2)に再度着目し,(数2)の総和に関して偶数成分と奇数成分に分け,偶数成分を(数10)のTFAEi,j,nとし,奇数成分を(数11)のBFAEi,j,nと表記したとき,TFAEi,j,nは符号化ブロックの第n列の第1フィールドに関する差分絶対値和となっており,BFAEi,j,nは第n列の第2フィールドに関する差分絶対値和になっている。そこで,TFAEi,j,nとBFAEi,j,nのそれぞれを独立にnについて総和を求めれば,(数12),(数13)に示すようにTFAEi,jとBFAEi,jが求められる。これはそれぞれ第1フィールドに関する差分絶対値総和と第2フィールドに関する差分絶対値総和になっている。また,TFAEi,jとBFAEi,jを加えたものは(数1)のフレームとしての差分絶対値総和AEi,jであるから,(数9)も成り立っている。
【0151】
【数10】
Figure 0004101645
【0152】
【数11】
Figure 0004101645
【0153】
【数12】
Figure 0004101645
【0154】
【数13】
Figure 0004101645
本実施の形態7では第1フィールドのフィールドベクトルの誤差量として(数10),(数12)の差分絶対値総和TFAEi,jを,第2フィールドのフィールドベクトルの誤差量として(数11),(数13)の差分絶対値総和BFAEi,jを採用するものである。また,フレームベクトルの誤差量は(数1)を直接算出するのではなく,(数12),(数13)で求められたフィールドベクトルの誤差量を加算して,すなわち(数9)の関係を用いて求めるものである。
【0155】
図25,図26を用いて本実施の形態7の構成を説明する。図25,図26において,図1,図2の実施の形態1の構成と同一部分には同一番号を付して説明を省略する。図25で演算ブロック601は3つの演算ユニット602〜604で構成され,累積加算アレイ605は2つの独立なフィールド加算アレイ606,607からなり,フィールド加算アレイ606の出力とフィールド加算アレイ607の出力は加算器608で加算される構成である。フィールド加算アレイ606,607それぞれの内部構造は図1の累積加算アレイ10と同じ構造である。図26で演算ユニット602の内部構成は差分絶対値演算器15と17の出力を加算器609で加算し,その結果をTFAEi,j,nとして出力する一方,差分絶対値演算器16と18の出力を加算器610で加算し,その結果をBFAEi,j,nとして出力するように構成されている。演算ユニット603,604の内部構造は図26に示した演算ユニット602の内部構造と同一である。
【0156】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。
【0157】
図27は本実施の形態7の動作を示すタイミングチャートである。図27で記号D,Eは実施の形態1の図4,図5,図6,図7に対応させており,参照レジスタ1が参照画像の画素を順次読み込み格納する動作は図4〜図7の実施の形態1の参照レジスタ1の動作と全く同じである。
【0158】
いま,図27のタイミングD0のサイクルではB0=(t4,3,t5,3,t6,3,t7,3),A=(r0,0,r1,0,r2,0,r3,0)であるから演算ユニット602の加算器609は|r0,0−t4,3|+|r2,0−t6,3|を求めている。これは符号化ブロックT0の左上端画素t4,3の座標を原点として相対表記に書き直せば|r-4,-3−t0,0|+|r-2,-3−t2,0|となり,これは(数10)のTFAE-4,-3,0を算出したことに他ならない。同様に演算ユニット602の加算器610は(数11)のBFAE-4,-3,0を算出している。次いで,タイミングD1のサイクルで演算ユニット602はTFAE-4,-2,0とBFAE-4,-2,0を算出し,演算ユニット603はTFAE-4,-3,1とBFAE-4,-3,1を算出する。以下順次,演算ユニット602〜604はそれぞれTFAEi,j,nとBFAEi,j,nを算出していくこととなる。
【0159】
演算ユニット602〜604の出力であるTFAEi,j,0〜TFAEi,j,2はフィールド加算アレイ606で加算され,またBFAEi,j,0〜BFAEi,j,2はフィールド加算アレイ607で加算され,それぞれの差分絶対値総和が求められる。フィールド加算アレイ606に着目すると,いま,図27タイミングD0のサイクルで演算ユニット602で求められたTFAE-4,-3,0はフィールド加算アレイ606の遅延器11で1サイクル遅延され,タイミングD1のサイクルで演算ユニット603で求められたTFAE-4,-3,1と加算器12で加算され,TFAE-4,-3,0+TFAE-4,-3,1が演算される。更にその結果は遅延器13で1サイクル遅延され,タイミングD2のサイクルで演算ユニット604で求められたTFAE-4,-3,2と加算器14で加算され,TFAE-4,-3,0+TFAE-4,-3,1+TFAE-4,-3,2が求められる。これは(数12)よりTFAE-4,-3,すなわちベクトル(−3,−4)の予測ブロック候補の第1フィールドと符号化ブロックT0の第1フィールドとのブロックマッチングによる差分絶対値総和TFAE-4,-3が求められたわけである。同じくフィールド加算アレイ607では(数13)により同じ予測ブロック候補の第2フィールドと符号化ブロックT0の第2フィールドとのブロックマッチングによる差分絶対値総和BFAE-4,-3が求められている。また,加算器608はTFAE-4,-3+BFAE-4,-3を算出するから,(数9)よりAE-4,-3,つまり同じ予測ブロック候補と符号化ブロックT0のフレームとしての差分絶対値総和を求めている。
【0160】
即ち,D0からD7に至る一連のパイプライン演算で,フィールド加算アレイ606,607と加算器608の出力はそれぞれ,符号化ブロック第1フィールドと参照ブロック第1フィールドのブロックマッチング誤差量TFAEi,jと,符号化ブロック第2フィールドと参照ブロック第2フィールドのブロックマッチング誤差量BFAEi,jと,フレーム予測の場合の差分絶対値総和AEi,jとの3つの誤差量が同時に求められているのである。
【0161】
図27のE0から開始される一連のパイプライン演算では参照レジスタ1は図6に示すようにフレーム構造で1画素下にずれた領域を演算するが,これは誤差量演算で参照フィールドの第1,第2の関係が逆転したことを意味する。従って,E0からE7に至る一連のパイプライン演算では,フレーム予測の場合の差分絶対値総和AEi,jと,符号化ブロック第1フィールドと参照ブロック第2フィールドのブロックマッチング誤差量TFAEi,jと,符号化ブロック第2フィールドと参照ブロック第1フィールドのブロックマッチング誤差量BFAEi,jとの3つの誤差量が同時に求められることとなる。以上のように実施の形態7ではフレームベクトルと,2つのフィールドのフィールドベクトルとの誤差量を漏れなく,同時に演算するものであるから,それぞれの最小値を調べることにより,それぞれの最適なベクトルを検出することが出来るものである。
【0162】
以上のように本実施の形態7によれば,第8の本発明に従って,演算ユニット602〜604は入力された参照データの組と符号化データの組に対してそれぞれ偶数位置の画素に対する誤差量と奇数位置の画素に対する誤差量の2種類の誤差量をもとめ,累積加算アレイ605は上記2種類の誤差量を独立に累積加算構造で加算する第1のフィールド加算アレイ606と第2のフィールド加算アレイ607とを設ける構成としたことにより,フレームベクトルに対する誤差量と2種類フィールドベクトルに対する誤差量とを同時に,漏れなく求めることが出来るから,フレームベクトル検出とフィールドベクトル検出の両方を実現できるものである。また,図25と図1を比較すれば,増設する回路はフィールド加算アレイ607と加算器608のみであり,480iの実用仕様を想定しても30%程度の回路増加に押さえることが出来る。また,3種類の誤差量を同時に算出するのであるから,図27と図4を比較しても明らかに,1つの符号化ブロックの処理サイクル数は変わらず,高速処理できるという利点は損なわないものである。
【0163】
また,本実施の形態7は実施の形態1に対して第8の本発明の技術を適用したものとして構成したが,実施の形態1に対して第9の本発明の技術を適用して構成してもよい。この場合,図25の構成に対して演算ユニット602〜604を図28に示す演算ユニットに置き換えることになる。図28の演算ユニットは加算器611を増設してTFAEi,j,nとBFAEi,j,nの和,即ちAEi,j,nを出力する構造となっている。これは第9の本発明において,入力された偶数位置の画素に対する第1の誤差量としてのTFAE i,j,n と,全ての前記画素に対する第2の誤差量としてのAE i,j,n との,2種類の誤差量を求めたことに相当する。図25でフィールド加算アレイ607を同じ構造のままフレーム加算アレイとして用いることとし,置き換えた演算ユニットの出力AEi,j,nをフレーム加算アレイ607で累積加算し,フレーム誤差量である差分絶対値和AEi,jを求める。さらにAEi,jからフィールド加算アレイ606の出力である第1フィールド誤差量TFAEi,jを減算して第2フィールド誤差量BFAEi,jが求められる構成となる。この場合においても,回路規模の程度と効果は上述した第8の本発明を用いた場合と全く同じである。
【0164】
また,本実施の形態7は実施の形態1に対して第8の本発明の技術を適用したものとして構成したが,実施の形態3に対して第8の本発明の技術を適応しても構成することができ,また,更に第5,第6の本発明の技術と組み合わせて構成することも可能である。それらの場合,パイプライン演算に一切の隙間が生じない最高速度の実現,並列処理による更なる高速化など個々の効果を損うことなく導入して,フレーム,フィールド両ベクトルの同時検出を実現することが出来るものである。
【0165】
実施の形態6と実施の形態7は全く同じ効果を持ちつつ,参照画像に対する読み込み方法が異なるものであるから,動きベクトル検出装置に接続して使用するメモリなどの参照画像記憶媒体の特性,動作条件に応じて,実施の形態6あるいは実施の形態7からより適した形態を選択することが出来るものである。
【0166】
また,本実施の形態においてもMPEG2のための動きベクトル検出装置として用いる場合はTFAEi,j,BFAEi,jの添え字jに対して,実施の形態6で説明した変換を行うことにより適切なベクトルを得ることができる。
【0167】
(実施の形態8)
はじめに,本実施の形態の動きベクトル検出装置の構成について説明する。
【0168】
図29は本実施の形態の動きベクトル検出装置を示すブロック図である。
【0169】
実施の形態8は第10の本発明の技術を適用したものであり,第10の本発明の参照レジスタが参照画像上縦に配置されたM個のデータを記憶する場合に相当するものである。実施の形態8もフレームベクトルと2つのフィールドベクトルに関してそれぞれの誤差量を同時に算出するものである。本実施の形態8でもフレームベクトルの誤差量として,(数4)に示した差分絶対値総和AEi,jを採用する。用いる算式は実施の形態6と同じく第1フィールドの差分絶対値総和TFAEi,jとして(数5),(数7)を,第2フィールドの差分絶対値総和BFAEi,jとして(数5),(数8)を,フレームの差分絶対値総和AEi,jとして(数9)を,それぞれ用いる。
【0170】
また,実施の形態8は実施の形態6と同じく符号化ブロックの大きさは水平M=3,垂直N=4,検索領域は水平方向にK=3すなわち−3〜2の範囲,垂直方向にL=4すなわち−4〜3の範囲としている。
【0171】
図29を用いて本実施の形態8の構成を説明する。図29で参照レジスタ701〜703はそれぞれ参照画像の行方向に連続する3画素を記憶するレジスタであって,3つのレジスタで列方向に連続する3行分を記憶し,それぞれ参照データA0,A1,A2を出力するレジスタである。演算ブロック704は演算ユニット708,709から構成され,符号化ブロックレジスタ102の4つの出力の組から第1フィールドのデータであるB0,B2と,参照レジスタ701の参照データA0とを入力し,その差分絶対値和AEi,j,n(但しnは偶数)を(数5)に基づいて算出する演算ブロックであり,演算ブロック705は演算ユニット710,711から構成され,符号化ブロックレジスタ102の第2フィールドのデータであるB1,B3と,参照レジスタ702の参照データA1とを入力し,その差分絶対値和AEi,j,n(但しnは奇数)を(数5)に基づいて算出する演算ブロックであり,演算ブロック706は演算ユニット712,713から構成され,符号化ブロックレジスタ102の第1フィールドのデータであるB0,B2と,参照レジスタ702の参照データA1とを入力し,その差分絶対値和AEi,j,n(但しnは偶数)を算出する演算ブロックであり,演算ブロック707は演算ユニット714,715から構成され,符号化ブロックレジスタ102の第2フィールドのデータであるB1,B3と,参照レジスタ703の参照データA2とを入力し,その差分絶対値和AEi,j,n(但しnは奇数)を算出する演算ブロックである。累積加算アレイ716〜719はそれぞれ演算ブロック704〜707の出力を受け,累積加算することでフィールド誤差量を算出するフィールド加算アレイである。累積加算アレイ716と717の出力は加算器720で加算されフレーム誤差量となり,累積加算アレイ718と719の出力は加算器721で加算されフレーム誤差量が求められる構成である。演算ユニット708〜715の内部構造は既に実施の形態2の図9に示したものと同一である。その他,実施の形態2の図8の構成と同一部分には同一番号を付している。
【0172】
つぎに,本実施の形態の動きベクトル検出装置の動作について説明する。
【0173】
図30は本実施の形態8の動作を示すタイミングチャートである。
【0174】
本実施の形態8の動作は,演算ブロック704と累積加算アレイ716による第1のフィールド評価手段と,演算ブロック705と累積加算アレイ717による第2のフィールド評価手段と,演算ブロック706と累積加算アレイ718による第3のフィールド評価手段と,演算ブロック707と累積加算アレイ719による第4のフィールド評価手段とに分けられ,4つのパイプライン演算から構成されている。
【0175】
まず,図30の第1のパイプライン演算として,演算ブロック704はG0のサイクルで符号化データとしてB0=(t4,3,t4,4,t4,5),B2=(t6,3,t6,4,t6,5)を,参照データとしてA0=(r0,0,r0,1,r0,2)を入力とし,演算ブロック708が|r0,0−t4,3|+|r0,1−t4,4|+|r0,2−t4,5|を演算する。これは符号化ブロックの左上端座標を基準に正規化すれば(数5)よりAE-4,-3,0であることがわかる。このときの参照データA0が参照画像の検索範囲内で占める位置は図31に示す小ブロックG0である。図30の第1のパイプラインで,G0に続いてG2のサイクルでは参照レジスタ701は図32に示す小ブロックG2,すなわち2行下方に移動した位置のA0=(r2,0,r2,1,r2,2)を格納し参照データA0に出力する。このとき演算ユニット708はTFAE-2,-3,0を,演算ユニット709はAE-4,-3,2を算出することとなる。以下同様に参照データA1は検索範囲を2行ずつ下方に移動して演算ユニット708,709にAEi,j,0とAEi,j,2を演算させる。累積加算アレイ716は演算ユニット708の出力を1サイクル遅延させて演算ユニット709の出力に加算するから,図30の第1のパイプラインでサイクルG0の演算ユニット708出力であるAE-4,-3,0はサイクルG1で演算ユニット709の出力TFAE-4,-3,2に加算され,TFAE-4,-3,0+TFAE-4,-3,2が求められる。これは(数7)よりTFAE-4,-3を求めたことになる。以下順次,TFAE-2,-3,TFAE0,-3,・・・と求めることができる。つまり,第1のパイプラインは符号化ブロックの第1フィールドのデータB0,B1と参照画像の第1フィールドのデータA0を入力とするパイプライン演算であり,その結果は符号化ブロックの第1フィールドと参照ブロック候補の第1フィールドをブロックマッチングした場合の誤差量となるから,TFAEi,j(但しiは偶数)を順に求めるものである。
【0176】
次に図30の第2のパイプラインについて説明する。演算ブロック705はG1のサイクルで符号化データとしてB1=(t5,3,t5,4,t5,5),B2=(t7,3,t7,4,t7,5)を,参照データとしてA1=(r1,0,r1,1,r1,2)を入力とし,演算ユニット710は(数5)よりAE-4,-3,1を算出する。このときの参照データA1が参照画像の検索範囲内で占める位置は図31に示す小ブロックG1である。G1に続くG3のサイクルでは参照レジスタ702は図32に示す小ブロックG3,すなわち2行下方に移動した位置のA1=(r3,0,r3,1,r3,2)を出力する。このとき演算ユニット710はAE-2,-3,1を,演算ユニット711はAE-4,-3,3を算出することとなる。累積加算アレイ717は演算ユニット710の出力を1サイクル遅延させて演算ユニット711の出力に加算するから,順次,BFAE-4,-3,BFAE-2,-3,・・・と求められることとなる。つまり,第2のパイプラインは符号化ブロックの第2フィールドのデータB1,B3と参照画像の第2フィールドのデータA1を入力として符号化ブロックの第2フィールドと参照ブロック候補の第2フィールドをブロックマッチングした場合の誤差量を求めるもので,BFAEi,j(但しiは偶数)を順に求めるものである。
【0177】
第1のパイプラインで求められた第1フィールドの誤差量と第2のパイプラインで求められた第2フィールドの誤差量は加算器720で加算されるが,これは(数9)の演算に相当し,AEi,j(ただしiは偶数)すなわちフレーム誤差量が求められることとなる。
【0178】
以上のように,符号化ブロックの第1フィールドと予測ブロック候補の第1フィールドのブロックマッチングによるフィールド誤差量を求める第1のパイプラインと符号化ブロックの第2フィールドと予測ブロック候補の第2フィールドのブロックマッチングによるフィールド誤差量を求める第2のパイプラインと,それぞれのフィールド誤差量を加算してフレーム誤差量を求める加算器を設けたことにより,動きベクトルのY成分が偶数である予測ブロック候補に対する3種類の誤差量を漏らすことなく求めることができているものである。
【0179】
演算ブロック706と累積加算アレイ718からなる図30の第3のパイプラインでは,符号化データB0,B2すなわち第1フィールドデータと,参照データA1すなわち第2フィールドデータを入力とするから,符号化ブロックの第1フィールドと予測ブロック候補の第2フィールドとのブロックマッチングにおけるフィールド誤差量AEi,j(但しiは奇数)を算出する。最後に演算ブロック707と累積加算アレイ719からなる第4のパイプラインでは,符号化データB1,B3すなわち第2フィールドデータと,参照データA2すなわち第1フィールドデータを入力とするから,符号化ブロックの第2フィールドと予測ブロック候補の第1フィールドとのブロックマッチングにおけるフィールド誤差量AEi,j(但しiは奇数)を算出する。加算器721は第1フィールド誤差量と第2フィールド誤差量を加算することでフレーム誤差量AEi,j(但しiは奇数)を算出する。以上のように第3のパイプラインと第4のパイプラインによって,動きベクトルのY成分が奇数である予測ブロック候補に対する3種類の誤差量を漏らすことなく求めることができるものである。
【0180】
ここで,第4のパイプラインでは参照データA2は図30の動作開始のG2サイクルでA2=(r2,0,r2,1,r2,2)となっており,これは図31で検索範囲内の小ブロックG2に位置する参照データである。図30で第1のパイプラインのG0サイクルと第2,第3のパイプラインのG1サイクルと第4のパイプラインのG2サイクルはいずれも同時刻であり,動作開始のサイクルである。この動作開始のサイクルで参照レジスタ701〜703の3つのレジスタが出力するA0,A1,A2は図31の小ブロックG0,G1,G2に示す領域のデータである。第2サイクルでは図32に示すようにA0,A1,A2は小ブロックG2,G3,G4と,2行ずつ下方にシフトさせている。以下順次2行ずつシフトさせ,図33に示すG8,G9,G10の状態で最初のパイプラインを終了し,引き続き図34のH0,H1,H2に示すように1画素右にずれた領域の上部3つの小ブロックから新たなパイプラインを開始する。以上のように参照レジスタ701〜703は検索範囲で幅3画素の帯状の領域を上から下へ2行ずつずらしながら参照画素を格納し,下端に達すると1画素右にずれた幅3画素の帯状の領域を同様に上から下へ格納していくことで,第1のパイプラインと第2のパイプラインの組み合わせによる誤差量演算と,第3のパイプラインと第4のパイプラインの組み合わせによる誤差量評価が互いにY成分の奇数,偶数の関係となり,重複せず,かつ漏れずに全てのベクトルを評価することができているのである。
【0181】
【表11】
Figure 0004101645
【0182】
【表12】
Figure 0004101645
実施の形態8の効果を具体的に数値で表11と表12にまとめる。表11は実施の形態8の回路規模を示すものであり,表12は実施の形態8の処理速度を示すものである。表11,表12の480iの場合,1080iの場合の算出条件は表1,表2の従来例1の場合などと同じである。表1,表2の従来例1の場合との比較では劇的な改善となっているが,既に実施の形態1および実施の形態2で述べた通りであるので説明を省略し,実施の形態8と本発明の実施の形態1,実施の形態2との比較で第10の本発明の技術の効果を確認する。
【0183】
まず,表5,表6に示した本発明実施の形態1の図1の場合と,表11,表12の本発明実施の形態8の図29の場合を比較して,実施の形態8では実施の形態1に対して回路規模で約40%増加するが処理速度では2倍以上高速化されていることがわかる。実施の形態8では図30のタイムチャートをみれば,第1のパイプラインと第2のパイプラインから構成される第1の系列と,第3のパイプラインと第4のパイプラインから構成される第2の系列の,2つの系列の並列処理となっているため約2倍の処理速度を持っているのである。この実施の形態8固有の並列処理構造は実施の形態3,実施の形態4に示した第5の本発明の並列処理技術とは独立なものであり,第10の本発明の並列化技術と第5の本発明の並列化技術とを組み合わせて装置を実現することもできる性質のものである。表11,表12の多重化系列数Qは第5の本発明の技術による多重化系列数を意味しており,図29の例では第5の本発明の技術を用いていないのでQ=1としている。実施の形態8に第5の本発明を適用してQ=2とした場合,表12より処理速度が純粋に2倍となる。表7,表8実施の形態3と同じ仕様の480iの例,1080iの例と比較すると,表11,表12では第10の本発明に固有の並列処理の効果があるため第5の本発明による多重化系列数Qは表7,表8に対して2分の1に設定して,ほぼ同じ処理速度をほぼ同じ回路規模で実現できている。
【0184】
以上のように本実施の形態8によれば,第10の本発明に従って,符号化ブロックの同一フィールドの3個の画素データを1つの組として,第1フィールドの符号化データを2組と第2フィールドの符号化データ2組とを出力する符号化ブロックレジスタ102と,参照画像の同一フィールドの3個の画素を記憶しこれを1つの組の参照データとして出力する,3つの参照レジスタ701〜703と,参照データ1組と符号化データ2組とを入力としフィールド誤差量を求める4個のフィールド評価手段である演算ブロック704〜707と,第1フィールドの参照データA0と第1フィールドの符号化データB0,B2に対するフィールド誤差量と第2フィールドの参照データA1と第2フィールドの符号化データB1,B3に対するフィールド誤差量とを加算する加算器720と,第1フィールドの参照データA2と第2フィールドの符号化データB1,B3に対するフィールド誤差量と,第2フィールドの参照データA1と第1フィールドの符号化データB0,B2に対するフィールド誤差量とを加算する加算器721と,を備え,参照レジスタ701〜703は前記参照データを参照画面上垂直方向に順次ずらしながら取り出して格納する制御機能を具備し,演算ブロック704〜707は,2個の演算ユニットと,2個の誤差量から累積加算構造で総和をもとめフィールド誤差量として出力する構成としたことにより,フレームマッチングによる誤差量と,符号化ブロックの第1フィールドに対するフィールドマッチングによる誤差量と第2フィールドに対するフィールドマッチングによる誤差量の3種類の誤差量を同時に求めることができ,しかも実用的な映像信号を処理する場合に回路規模を増加させることなく実施の形態1や2の処理速度の高速性を保持することが出来るものである。
【0185】
また,本実施の形態においてもMPEG2のための動きベクトル検出装置として用いる場合はTFAEi,j,BFAEi,jの添え字jに対して,実施の形態6で説明した変換を行うことにより適切なベクトルを得ることができる。
【0186】
なお,第10の本発明にも第5の本発明の技術を適応しても良いことは既に述べたが,それ以外にも第6,第7の本発明の技術を適応しても良い。その場合図20と同様に図29の構成に対して参照レジスタを3本増設し,その出力C0,C1,C2と参照レジスタ701〜703の出力A0,A1,A2を演算ユニット708〜715の入力位置で切り替えるスイッチを設け,前記スイッチの切り替えタイミングと符号化小ブロックレジスタ103〜106の読み込みタイミングを制御するモード制御部を設ける構成となる。またその動作は図30のタイミングチャートで各パイプラインを隙間なく前詰めで動作させることとなり,最大効率で最高速度を実現することが出来る。
【0187】
また,本実施の形態8では参照レジスタを701〜703の3個設ける構成としたが,参照レジスタ703を省略して参照レジスタ2個とし,参照データA2に変えて参照データA0を供給する構成とすることも出来る。この場合図30のタイミングチャートで第4のパイプラインの動作が1サイクル遅れることとなるため,第3のパイプラインで累積加算アレイ718の出力を1サイクル遅延させることで,第4のパイプラインと同期させ,3種類の誤差量を求める機能を果たすことが出来る。
【0188】
更に,本実施の形態8は第10の本発明で参照データが参照画像上横に配置されたM個のデータである場合の例であるが,これを参照データが参照画像上縦に配置されたM個のデータである場合ととし,参照レジスタ,符号化小ブロックレジスタを全て同一フィールドの縦M個の画素を記憶する構成とし,参照レジスタは検索領域を水平方向に1画素ずつずらしながらパイプライン演算を実行するものとしても良い。
【0189】
本発明の実施の形態1〜8において,ブロックマッチングの誤差量は全て差分絶対値総和であるとしたが,これは差分自乗総和や分散など差分絶対値総和以外のものとしても良い。このとき,誤差量が(数3)或いは(数6)で表記可能であるものであれば本発明の技術を全て適応することが出来る。
【0190】
以上においては,本実施の形態1〜8について詳細に説明した。
【0191】
第1の本発明の動きベクトル検出方式は,符号化ブロックの画素データを記憶し,符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロック出力ステップと,参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する参照データ出力ステップであって,前記参照データが参照画像上縦に配置されたM個のデータである場合は前記参照データを参照画面上水平方向に順次ずらしながら取り出して記憶するための第1の制御か,前記参照データが参照画像上横に配置されたM個のデータである場合は前記参照データを参照画面上垂直方向に順次ずらしながら取り出して記憶するための第2の制御のうち,少なくともいずれかの制御を行う参照データ出力ステップと,1組の参照データと1組の符号化データの誤差量を演算する演算ユニットを1×N個利用する演算ステップと,前記誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算ステップとを備えた動きベクトル検出方法である。
【0192】
第1の本発明の動きベクトル検出方式を採用した第2の本発明の動きベクトル検出装置では,符号化ブロックの画素データを記憶し,符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタと,参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力するレジスタであって,前記参照データが参照画像上縦に配置されたM個のデータである場合は前記参照データを参照画面上水平方向に順次ずらしながら取り出して格納する第1の制御機能か,前記参照データが参照画像上横に配置されたM個のデータである場合は前記参照データを参照画面上垂直方向に順次ずらしながら取り出して格納する第2の制御機能か,少なくともいずれかの制御機能を具備した参照レジスタと,1組の参照データと1組の符号化データの誤差量を演算するN個の演算ユニットと,前記誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算アレイとから構成したものである。
【0193】
この構成により,画素データを格納するレジスタは符号化ブロック1個分の符号化ブロックレジスタと1行又は1列分の参照レジスタのみで構成されるので,参照レジスタがN−1行分またはN−1列分削減することができ,また,パイプラインの間をつなぐ演算データ遅延も検索範囲の大きさにかかわらず常に1サイクル分のみで構成できるから,実用的な映像信号を実用的な検索範囲で動きベクトル検出する場合も極めて小さな回路規模で実現できるものである。また,演算速度は1サイクルで1予測ブロック候補の誤差量演算が確定し,ロスサイクルも少なく,短いサイクル数で機能を果たす高速な動きベクトル検出動作を得るものである。また符号化ブロックを1つづつ処理完了させることが出来るから符号化ブロックの処理順番に制約が無く,動きベクトル検出装置に続く符号化装置も容易に構成でき,高速処理が要求されない用途では多重化しない極めて小さい回路を提供して実用になる極めて有効なものである。
【0194】
第3の本発明の動きベクトル検出方式は,符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロック出力ステップと,参照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の参照データを出力する参照データ出力ステップであって,前記参照データを参照画面上水平方向に順次ずらしながら取り出して記憶するための第1の制御か,前記参照データを参照画面上垂直方向に順次ずらしながら取り出して記憶するための第2の制御か,少なくともいずれかの制御を行う参照データ出力ステップと,1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニットをQ×N個利用して誤差量を算出する演算ステップと,累積加算構造によりN個の前記誤差量の総和をQ個の累積加算アレイを利用して求める累積加算ステップとを備えた動きベクトル検出方法である。
【0195】
第3の本発明の動きベクトル検出方式を採用した第4の本発明の動きベクトル検出装置は,符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタと,参照画像のM+Q−1個の画素を格納し,連続するM個の画素を1組の参照データとしてQ組の参照データを出力するレジスタであって,前記参照データを参照画面上水平方向に順次ずらしながら取り出して格納する第1の制御機能か,前記参照データを参照画面上垂直方向に順次ずらしながら取り出して格納する第2の制御機能か,少なくともいずれかの制御機能を具備した参照レジスタと,Q×N個の演算ユニットと,累積加算構造により演算ユニットのN個の誤差量の総和を求めるQ個の累積加算アレイとから構成するものである。
【0196】
この構成により,系列数をQとする並列処理によるQ倍の高速処理が実現され,しかも,画素データを格納するレジスタはQ系列分必要となるのではなく,僅かに参照レジスタQ−1画素分が増加するのみで構成できる。また,パイプラインをつなぐ演算データ遅延器はQ系列分必要になるが,そのそれぞれが1サイクル遅延ですみ,極めて小さな回路で実現できるから回路増加を最低限に押さえることが出来る。その結果,全体としての回路規模は従来技術に比して劇的に減少させることができ,ことに実用映像信号を実用的な検索範囲で動きベクトル検出する場合に極めて顕著であって,その効果は絶大なるものである。また多重化数Qはブロックの大きさ,検索範囲の大きさ,その他何らの条件にも拘束されず,完全に任意に設定できるものであるから,要求される処理速度,使用目的に応じて最小の回路規模の装置を提供することが出来るものである。
【0197】
第5,6の本発明の動きベクトル検出装置は,第2の参照レジスタを備え,演算ユニットは第1の参照レジスタから供給される参照データか第2の参照レジスタから供給される参照データかいずれかを選択する参照データ切り替えスイッチを具備し,参照データを供給する参照レジスタを切り替えるモード移行時には,移行前のモードの有効な演算が終了した演算ユニットから順に参照データ切り替えスイッチを切り替え,また,新たな符号化ブロックの誤差量演算を開始する場合には前記参照データ切り替えスイッチの切り替え動作に同期して新たな符号化ブロックのデータを1組ずつ順に符号化ブロックレジスタに記憶させるモード制御手段とを備えたことにより,2つの参照レジスタを演算ユニット毎に使い分け,各演算ユニットに常に有効な参照データを供給することができ,また新たな符号化ブロックの演算開始に当たっても演算を開始できる状態になった演算ユニットから直ちに新たな符号化データとそれに対応した参照データを供給することができるから,全ての演算ユニットに常に有効な演算を実行させることができ,しかも同じ演算を重複することがないから最大効率を実現することとなって,処理速度を向上させることができるものである。
【0198】
第7の本発明の動きベクトル検出装置は,累積加算アレイが,演算ユニットのN個の誤差量を累積加算するフレーム加算アレイと,偶数または奇数番目であるN/2個の誤差量を2サイクル遅延しながら累積加算構造で加算するフィールド加算アレイとを備えたことにより,フレーム加算アレイで予測ブロック候補のフレーム誤差量を算出する一方,フィールド加算アレイで符号化ブロックの第1フィールド成分或いは第2フィールド成分と,前記予測ブロック候補との誤差量を求めることとができ,前記フレーム誤差量から前記フィールド誤差量を減算することで残りのフィールド誤差量も求めることができる。また,フィールド加算アレイが増加するのみであるから,わずかな回路増加で同一の予測ブロック候補に対するフレーム誤差量と2種類のフィールド誤差量を同時に算出することができるものである。
【0199】
第8,9の本発明の動きベクトル検出装置は,演算ユニットが入力された参照データの組と符号化データの組に対してそれぞれの偶数位置の画素に対する誤差量か,それぞれの奇数位置の画素に対する誤差量か,或いは全ての画素に対する誤差量かの3種類のうちいずれかの2種類の誤差量をもとめ,累積加算アレイは上記2種類の誤差量を独立に累積加算構造で加算する構造としたことにより,同一の予測ブロック候補に対するフレーム誤差量と2種類のフィールド誤差量を同時に算出することができるものである。
【0200】
第10の本発明の動きベクトル検出装置は,同一フィールドのM個の画素データを1つの組として第1フィールドの符号化データをN/2組と第2フィールドの符号化データN/2組とを出力する符号化ブロックレジスタと,参照画像の同一フィールドのM個の画素を記憶しこれを1つの組の参照データとして出力する少なくとも第1フィールドと第2フィールドの2つの参照レジスタと,参照データ1組と符号化データN/2組とからフィールド誤差量を求める4個のフィールド評価手段と,第1フィールド参照データと第1フィールド符号化データによるフィールド誤差量と第2フィールド参照データと第2フィールド符号化データによるフィールド誤差量とを加算する第1の加算器と,第1フィールド参照データと第2フィールド符号化データによるフィールド誤差量と第2フィールドの参照データと第1フィールド符号化データによるフィールド誤差量とを加算する第2の加算器とを備えたことにより,符号化ブロックと予測ブロック候補の全てのフィールド組み合わせのフィールド誤差量を並列構造で求めるから,2種類のフィールド誤差量とその加算によるフレーム誤差量を求めることができるものである。しかも,4つのフィールド評価手段が必要であるがこれらはいずれもフレーム評価の場合の略2分の1程度の規模で構成されるから全体としての回路規模の増加は僅かであるにもかかわらず,処理速度は並列処理となっているから2倍の高速処理が実現でき,実用的な映像信号を実用的な検索範囲で動きベクトル検出する場合に適応して極めて効果の大きなものである。
【0201】
尚,本発明のプログラムは,上述した本発明の動きベクトル検出装置の全部又は一部の手段(又は,装置,素子等)の機能をコンピュータにより実行させるためのプログラムであって,コンピュータと協働して動作するプログラムである。
【0202】
又,本発明のプログラムは,上述した本発明の動きベクトル検出方法の全部又は一部のステップ(又は,工程,動作,作用等)の動作をコンピュータにより実行させるためのプログラムであって,コンピュータと協働して動作するプログラムである。
【0203】
又,本発明の記録媒体は,上述した本発明の動きベクトル検出装置の全部又は一部の手段(又は,装置,素子等)の全部又は一部の機能をコンピュータにより実行させるためのプログラムを担持した記録媒体であり,コンピュータにより読み取り可能且つ,読み取られた前記プログラムが前記コンピュータと協動して前記機能を実行する記録媒体である。
【0204】
又,本発明の記録媒体は,上述した本発明の動きベクトル検出方法の全部又は一部のステップ(又は,工程,動作,作用等)の全部又は一部の動作をコンピュータにより実行させるためのプログラムを担持した記録媒体であり,コンピュータにより読み取り可能且つ,読み取られた前記プログラムが前記コンピュータと協動して前記動作を実行する記録媒体である。
【0205】
尚,本発明の上記「一部の手段(又は,装置,素子等)」とは,それらの複数の手段の内の,一つ又は幾つかの手段を意味し,本発明の上記「一部のステップ(又は,工程,動作,作用等)」とは,それらの複数のステップの内の,一つ又は幾つかのステップを意味する。
【0206】
又,本発明の上記「手段(又は,装置,素子等)の機能」とは,前記手段の全部又は一部の機能を意味し,本発明の上記「ステップ(又は,工程,動作,作用等)の動作」とは,前記ステップの全部又は一部の動作を意味する。
【0207】
又,本発明のプログラムの一利用形態は,コンピュータにより読み取り可能な記録媒体に記録され,コンピュータと協働して動作する態様であっても良い。
【0208】
又,本発明のプログラムの一利用形態は,伝送媒体中を伝送し,コンピュータにより読みとられ,コンピュータと協働して動作する態様であっても良い。
【0209】
又,記録媒体としては,ROM等が含まれ,伝送媒体としては,インターネット等の伝送媒体,光・電波・音波等が含まれる。
【0210】
又,上述した本発明のコンピュータは,CPU等の純然たるハードウェアに限らず,ファームウェアや,OS,更に周辺機器を含むものであっても良い。
【0211】
尚,以上説明した様に,本発明の構成は,ソフトウェア的に実現しても良いし,ハードウェア的に実現しても良い。
【0212】
【発明の効果】
本発明は,たとえば,回路規模をより小さく抑えることができることができるという長所を有する。
【図面の簡単な説明】
【図1】実施の形態1における動きベクトル検出装置のブロック図
【図2】実施の形態1の演算ユニット7の構成を示すブロック図
【図3】実施の形態1の画像の領域関係図
【図4】実施の形態1の動作のタイミングチャート
【図5】実施の形態1の参照データ領域図
【図6】実施の形態1の参照データ領域図
【図7】実施の形態1の参照データ領域図
【図8】実施の形態2における動きベクトル検出装置のブロック図
【図9】実施の形態2の演算ユニット108の構成を示すブロック図
【図10】実施の形態2の動作のタイミングチャート
【図11】実施の形態2の参照データ領域図
【図12】実施の形態2の参照データ領域図
【図13】実施の形態2の参照データ領域図
【図14】実施の形態3における動きベクトル検出装置のブロック図
【図15】実施の形態3の動作のタイミングチャート
【図16】実施の形態2の参照データ領域図
【図17】実施の形態2の参照データ領域図
【図18】実施の形態2の参照データ領域図
【図19】実施の形態4における動きベクトル検出装置のブロック図
【図20】実施の形態5における動きベクトル検出装置のブロック図
【図21】実施の形態5の動作のタイミングチャート
【図22】実施の形態5の動作のタイミングチャート
【図23】実施の形態6における動きベクトル検出装置のブロック図
【図24】実施の形態6の動作のタイミングチャート
【図25】実施の形態7における動きベクトル検出装置のブロック図
【図26】実施の形態7の演算ユニット602の構成を示すブロック図
【図27】実施の形態7の動作のタイミングチャート
【図28】実施の形態7の演算ユニット602の別構成を示すブロック図
【図29】実施の形態8における動きベクトル検出装置のブロック図
【図30】実施の形態8の動作のタイミングチャート
【図31】実施の形態8の参照データ領域図
【図32】実施の形態8の参照データ領域図
【図33】実施の形態8の参照データ領域図
【図34】実施の形態8の参照データ領域図
【図35】従来例1における動きベクトル検出装置のブロック図
【図36】従来例1のPE805の構成を示すブロック図
【図37】従来例1の演算データ遅延器811の構成を示すブロック図
【図38】従来例1の画像の領域関係図
【図39】従来例1の動作のタイミングチャート
【図40】従来例1の動作のタイミングチャート
【図41】従来例1の動作のタイミングチャート
【図42】従来例2における動きベクトル検出装置のブロック図
【図43】従来例2のPE847の構成を示すブロック図
【図44】従来例2の動作のタイミングチャート
【符合の説明】
1,101,201,301,401,701,702,703 参照レジスタ
2,102,402,601 符号化ブロックレジスタ
3,4,5,103,104,105,106,403,404,405 符号化小ブロックレジスタ
6,107,202,302,406,704,705,706,707 演算ブロック
7,8,9,108,109,110,111,602,603,604,708,709,710,711,712,713,714,715 演算ユニット
10,112,203,303,501,605,716,717,718,719 累積加算アレイ
11,13,113 遅延器
12,14,19,20,21,114,505,608,609,610,611,720,721 加算器
15,16,17,18 差分絶対値演算器
407,408,409 スイッチ
410 モード制御部
502 フレーム加算アレイ
503,606,607 フィールド加算アレイ
504 2サイクル遅延器
506 減算器
801,802,803,804,819,820,821,822 829,830,831,832,833,834,835,836,838,839,840,841,853,854,855,856 レジスタ
805,806,807,808,809,810,847,848,849演算ユニット
811,812,813,814,850,851 演算データ遅延器
815,816,817,818,852 端子
823,824,825,826 差分絶対値演算器
827,828 加算器
837 タイミング制御部
842 画素データ遅延器
843,844,845,846,857,858,859,860 セレクタ

Claims (14)

  1. 符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロック出力ステップと,
    参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する参照データ出力ステップであって,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御うち少なくともいずれかの制御を行う参照データ出力ステップと,
    1組の前記参照データと1組の前記符号化データとの誤差量を演算する演算ユニットを1×N個利用して,1組の前記参照データとN組の前記符号化データとの全ての組み合わせの誤差量を算出する演算ステップと,
    前記符号化ブロック内で最も端に位置する符号化データの組の誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算ステップとを備えた動きベクトル検出方法。
  2. 符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタと,
    参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する第1の参照レジスタであって,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に、前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタと,
    1組の前記参照データと1組の前記符号化データとの誤差量を演算する演算ユニットであって,1組の前記参照データとN組の前記符号化データとの全ての組み合わせの誤差量を算出する1×N個の演算ユニットと,
    前記符号化ブロック内で最も端に位置する符号化データの組の誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算アレイとを備えた動きベクトル検出装置。
  3. 符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロック出力ステップと,
    参照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の前記参照データを出力する参照データ出力ステップであって,(1)前記参照データが前記参照画像上縦に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御及び(2)前記参照データが前記参照画像上横に配置されたM+Q−1個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御うち少なくもいずれかの制御を行う参照データ出力ステップと,
    1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニットをQ×N個利用して,Q組の前記参照データとN組の前記符号化データとの全ての組み合わせ の前記誤差量を算出する演算ステップと,
    前記符号化ブロック内で最も端に位置する前記符号化データの組の誤差量を1サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりN個の前記誤差量の総和をQ個の累積加算アレイを利用して求める累積加算ステップとを備えた動きベクトル検出方法。
  4. 符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタと,
    照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の前記参照データを出力する第1の参照レジスタであって,(1)前記参照データが前記参照画像上縦に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタと,
    1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニットであって,Q組の前記参照データとN組の前記符号化データとの全ての組み合わせの前記誤差量を算出するQ×N個の演算ユニットと,
    前記符号化ブロック内で最も端に位置する前記符号化データの組の誤差量を1サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりN個の前記誤差量の総和を求めるQ個の累積加算アレイとを備えた動きベクトル検出装置。
  5. 前記第1の参照レジスタとは相異なる第2の参照レジスタと,
    前記第1の参照レジスタから供給される参照データか前記第2の参照レジスタから供給される参照データかいずれかを選択する参照データ切り替えスイッチと,
    前記第1の参照レジスタが順次前記参照データを更新し,前記演算ユニットに参照データを供給する第1のモードと,前記第2の参照レジスタが順次前記参照データを更新し前記演算ユニットに前記参照データを供給する第2のモードとの移行時には,移行前の有効な演算が終了した前記演算ユニットから順に前記参照データ切り替えスイッチを切り替えるモード制御手段とをさらに備えた請求項2または4記載の動きベクトル検出装置。
  6. 前記モード制御手段は,新たな前記符号化ブロックのデータを前記符号化ブロックレジスタに記憶させる場合,前記参照データ切り替えスイッチの切り替え動作に同期して新たな前記符号化ブロックのデータを1組ずつ順に前記符号化ブロックレジスタに記憶させる請求項5記載の動きベクトル検出装置。
  7. 前記累積加算アレイは,(a)個々の前記演算ユニットの前記誤差量の加算結果を1回遅延して隣接する符号化データの組の誤差量に加算することで,N個の前記誤差量を累積加算するフレーム加算アレイと,(b)偶数または奇数番目であるN/2個の演算ユニットに対して2サイクル遅延しながら前記誤差量を前記累積加算構造で加算するフィールド加算アレイと,(c)前記フレーム加算アレイと前記フィールド加算アレイとの結果の差を求める演算手段とを有する請求項2,4,5,6の何れかに記載の動きベクトル検出装置。
  8. 前記演算ユニットは,入力された前記参照データの組と前記符号化データの組とに対して,それぞれの偶数位置の画素に対する誤差量と,それぞれの奇数位置の画素に対する誤差量との2種類の誤差量を求め,
    前記累積加算アレイは,(a)前記2種類の誤差量を独立にそれぞれ累積加算構造で加算する第1のフィールド加算アレイと,(b)第2のフィールド加算アレイとを有する請求項2,4,5,6の何れかに記載の動きベクトル検出装置。
  9. 前記演算ユニットは,入力された前記参照データの組と前記符号化データの組とに対して,それぞれの偶数位置または奇数位置の画素に対する第1の誤差量と,全ての前記画素に対する第2の誤差量との2種類の誤差量を求め,
    前記累積加算アレイは,(a)前記第1の誤差量を独立に累積加算するフィールド加算アレイと,(b)前記第2の誤差量を独立に累積加算するフレーム加算アレイと,(c)前記フィールド加算アレイと前記フレーム加算アレイとの結果の差を求める演算手段とを有する請求項2,4,5,6の何れかに記載の動きベクトル検出装置。
  10. 符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,同一フィールドにおけるM個の前記画素データを1つの組として,第1フィールドの符号化データN/2組と第2フィールドの符号化データN/2組とを出力する符号化ブロックレジスタと,
    参照画像の同一フィールドにおけるM個の画素データを記憶し,これを1つの組の参照データとして出力する第1フィールドおよび第2フィールドに対応する参照レジスタと,
    前記参照データ1組と前記符号化データN/2組とを入力とし,フィールド誤差量を求めることができるフィールド評価手段と,
    前記第1フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量とを加算する第1の加算器と,
    前記第1フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量とを加算する第2の加算器とを備え,
    前記参照レジスタは,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納する制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納する制御機能のうち少なくともいずれかの制御機能を有し,
    前記フィールド評価手段は,1組の前記参照データとN/2組の前記符号化データとの全ての組み合わせの誤差量を算出するN/2個の演算ユニットを有し,前記N/2個の誤差量から累積加算構造で総和を求め前記フィールド誤差量として出力する動きベクトル検出装置。
  11. 請求項2記載の動きベクトル検出装置の,符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタと,参照画像のM個の画素を一時記憶し,これを1つの組の参照データとして出力する第1の参照レジスタであって,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合に,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタと,1組の前記参照データと1組の前記符号化データとの誤差量を演算する演算ユニットであって,1組の前記参照データとN組の前記符号化データとの全ての組み合わせの誤差量を算出する1×N個の演算ユニットと,前記符号化ブロック内で最も端に位置する符号化データの組の誤差量を1サイクル遅延させて隣接する符号化データの組の誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する誤差量に加算していく累積加算構造により前記N個の誤差量の総和を求める累積加算アレイとしてコンピュータを機能させるためのプログラム。
  12. 請求項4記載の動きベクトル検出装置の,符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,前記符号化ブロック内で縦1列または横1行に配置されたM個の画素データを1つの組としてN組の符号化データを出力する符号化ブロックレジスタと,参照画像のM+Q−1個の画素を一時記憶し,連続するM個の画素を1組の参照データとしてQ組の前記参照データを出力する第1の参照レジスタであって,(1)前記参照データが前記参照画像上縦に配置されたM+Q−1個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納するための制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM+Q−1個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納するための制御機能のうち少なくともいずれかの制御機能を有する第1の参照レジスタと,1組の前記参照データと1組の前記符号化データの誤差量を演算する演算ユニットであって,Q組の前記参照データとN組の前記符号化データとの全ての組み合わせの前記誤差量を算出するQ×N個の演算ユニットと,前記符号化ブロック内で最も端に位置する前記符号化データの組の誤差量を1サイクル遅延させて隣接する前記符号化データの組の前記誤差量に加算し,以下順次その加算結果を1サイクル遅延させ隣接する前記誤差量に加算していく累積加算構造によりN個の前記誤差量の総和を求めるQ個の累積加算アレイとしてコンピュータを機能させるためのプログラム。
  13. 請求項10記載の動きベクトル検出装置の,符号化画像上の矩形領域である符号化ブロックを構成する画素データを記憶し,同一フィールドにおけるM個の前記画素データを1つの組として,第1フィールドの符号化データN/2組と第2フィールドの符号化データN/2組とを出力する符号化ブロックレジスタと,参照画像の同一フィールドにおけるM個の画素データを記憶し,これを1つの組の参照データとして出力する第1フィールドおよび第2フィールドに対応する参照レジスタと,前記参照データ1組と前記符号化データN/2組とを入力とし,フィールド誤差量を求めることができるフィールド評価手段と,前記第1フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量とを加算する第1の加算器と,前記第1フィールドの参照データと前記第2フィールドの符号化データとに対するフィールド誤差量と,前記第2フィールドの参照データと前記第1フィールドの符号化データとに対するフィールド誤差量とを加算する第2の加算器としてコンピュータを機能させるためのプログラムであって,
    前記参照レジスタは,(1)前記参照データが前記参照画像上縦に配置されたM個のデータである場合に,前記参照データを前記参照画像上水平方向に順次ずらしながら取り出して格納する制御機能,及び(2)前記参照データが前記参照画像上横に配置されたM個のデータである場合は,前記参照データを前記参照画像上垂直方向に順次ずらしながら取り出して格納する制御機能のうち少なくともいずれかの制御機能を有し,
    前記フィールド評価手段は,1組の前記参照データとN/2組の前記符号化データとの全ての組み合わせの誤差量を算出するN/2個の演算ユニットを有し,前記N/2個の誤差量から累積加算構造で総和を求め前記フィールド誤差量として出力する,プログラム
  14. 請求項11から13の何れかに記載のプログラムを担持した記録媒体であって,コンピュータにより処理可能な記録媒体。
JP2002378510A 2002-12-26 2002-12-26 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体 Expired - Fee Related JP4101645B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002378510A JP4101645B2 (ja) 2002-12-26 2002-12-26 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002378510A JP4101645B2 (ja) 2002-12-26 2002-12-26 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体

Publications (3)

Publication Number Publication Date
JP2004214733A JP2004214733A (ja) 2004-07-29
JP2004214733A5 JP2004214733A5 (ja) 2006-02-16
JP4101645B2 true JP4101645B2 (ja) 2008-06-18

Family

ID=32815334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002378510A Expired - Fee Related JP4101645B2 (ja) 2002-12-26 2002-12-26 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体

Country Status (1)

Country Link
JP (1) JP4101645B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4547321B2 (ja) * 2005-09-22 2010-09-22 オリンパスイメージング株式会社 動きベクトル検出装置及び撮像装置
JP6763156B2 (ja) * 2016-03-10 2020-09-30 日本電気株式会社 誤差演算装置
KR102370881B1 (ko) * 2017-07-21 2022-03-07 삼성전자주식회사 이미지 데이터의 속성에 기반하여 이미지를 압축할 수 있는 전자 장치 및 방법
EP3668369B1 (en) 2017-08-14 2021-03-31 Optos plc Retinal position tracking

Also Published As

Publication number Publication date
JP2004214733A (ja) 2004-07-29

Similar Documents

Publication Publication Date Title
EP1120747A2 (en) Motion estimator
US6516031B1 (en) Motion vector detecting device
JP3101691B2 (ja) 二次元動画像の連続するピクセルを表わすデータ信号を処理するための方法および回路
JP2834640B2 (ja) 動き推定装置及びその方法
WO2008036237A2 (en) Multiprocessor decoder system and method
JPH04294469A (ja) 相関装置
US8509567B2 (en) Half pixel interpolator for video motion estimation accelerator
TW201836357A (zh) 視頻編解碼的高效自適應環路濾波處理
JP2002304624A (ja) フィルタ処理装置及び撮像装置
US5550591A (en) Motion compensator for digital image restoration
JP4101645B2 (ja) 動きベクトル検出装置,動きベクトル検出方法,プログラム,および記録媒体
KR20020050395A (ko) 계층탐색을 이용한 움직임 추정장치 및 방법
JPH09182088A (ja) 動き検出システムに於けるマトリックス配列データ処理方法
JPWO2004012460A1 (ja) 動きベクトル検出装置及び動きベクトル検出方法
JP3545004B2 (ja) 演算回路
KR100225690B1 (ko) 상관도 연산장치, 병렬상관도 연산장치 및 상관도연산방법
JP4217408B2 (ja) フィルタ処理装置
JP4170173B2 (ja) ブロックマッチング演算装置
KR100571907B1 (ko) 동영상 추정 알고리즘에 있어서 프로세싱 엘레멘트 수 결정 방법
JP3652909B2 (ja) 擬似多ポートメモリ装置
JP2931783B2 (ja) 動きベクトル探索装置
JP2618146B2 (ja) 動きベクトル検出回路
JP3374014B2 (ja) 画像相関器
KR100549919B1 (ko) 소요클럭사이클수 감축을 위한 초대규모 집적회로 장치
JPH03250995A (ja) 画像信号のdpcm符号化装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140328

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees