動き検出装置
技術分野
[0001] 本発明は、動画像符号ィ匕技術に関し、特に、被符号化画像と参照画像とから被符 号ィ匕画像の動きベクトルを検出する動き検出装置に関するものである。
背景技術
[0002] 今日、動画像の伝送技術と蓄積技術は、我々の生活を豊かなものにする上で非常 に重要な技術となっている。
[0003] 例えば、携帯情報端末を用いた遠隔地でのテレビ電話が可能となって 、る。このテ レビ電話では、音声に同期させて、動画像を相互に伝送できるため、従来に比べより 豊かな表現力のあるコミュニケーションが実現ができる。テレビ電話の伝送路は無線 であり、現在の伝送速度は、 64kbps (bit per second)である。将来的には、 2Mb ps程度まで高速ィ匕される可能性はある。しかし、比較的低い伝送速度の下で、伝送 する画像の画質を向上させるためには、動画像の伝送技術、特に、動画像の圧縮符 号ィ匕技術が重要である。
[0004] もう一方の重要技術である動画像の蓄積技術は、年々発展して!/、る。近年では、 D VD (Digital Versatile Disk)レコーダを使って、ディジタル方式でテレビ番組を 録画することも可能となっている。 DVDレコーダは年々販売台数を伸ばし、 VHSレコ ーダが全て DVDレコーダに置き換わるのも時間の問題である。 VHSレコーダと同様 に、 DVDレコーダにおいても、高画質で長時間録画できることは、重要なセールスポ イントである。 DVDレコーダに使用される記録媒体(DVD—RAM、 DVD—RW、ブ ルーレイディスクなど)の記録密度は、年々向上している力 現状では、ハイビジョン 番組を高画質で長時間録画するまでには至って 、な 、。記録媒体の限られた領域 に、長時間の映像を画質を保ちつつ録画するためには、画質を落とさずに映像を低 ビットレートで符号ィ匕する動画像符号ィ匕技術が重要となる。
[0005] 動画像符号ィ匕技術には、様々な方式が提案されて!ヽる。画像圧縮技術の標準規 格としては、 ITU-T (国際電気通信連合電気通信標準化部門)の H. 261、 H. 263
、 ISO (国際標準化機構)の MPEG- 1、 MPEG- 2、 MPEG- 4などがある。(MPEG は、 Moving Picture Experts Groupの略語。 )
これらの動画像符号化処理において、符号化の対象となる入力画像は、縦 16画素 X横 16画素の輝度成分、縦 8画素 X横 8画素の色差成分 (Cb)、および、縦 8画素 X横 8画素の色差成分(Cr)力 構成されるマクロブロックに分割される。各マクロブ ロックは、参照画像力 最も類似したブロックが探索され (いわゆる動き検出処理が行 われ)、探索された参照画像のブロックとの差分がとられる。そして、その差分は周波 数領域に変換された後、可変長符号化されてビットストリームに変換される。
[0006] これらの符号化処理の中で、画質を大きく左右する処理が動き検出処理である。 M PEG符号ィ匕処理装置において、重要な構成要素である動き検出部について、先ず 、説明する。
[0007] 動き検出には、様々な手法が存在するが、最も代表的な方法がブロックマッチング 法である。ブロックマッチング法は、現画像のマクロブロックと、参照画像のある特定 の範囲(以降、探索範囲と呼ぶ)から生成される、マクロブロックと同じサイズのブロッ クとの間で、画素レベルの演算を行い、相関度を示す評価値を求め、その評価値が 最もよ 、結果となる参照画像上の位置を動きベクトルとして検出する方法である。評 価値として、一般に、差分絶対値和(SAD)や差分二乗和(SSD)が用いられ、その 値が小さ!/、ほど相関性が高 、とみなされる。
[0008] 従来、階層的に動き検出を実施する例がある。たとえば、文献 1 (日本国特開 2002 — 218474号公報)は、動きベクトルの検出を 1Z2画素精度で実施するために、第 1 ステップとして、比較的大きな探索範囲で整数画素精度の動きベクトル検出を実施し 、第 2ステップとして、第 1ステップで検出した動きベクトルの周囲で、かつ、第 1ステツ プより小さい探索範囲で、 1Z2画素精度の動きベクトルを検出する技術を開示して いる。
[0009] 図 22と図 23とを参照して、従来技術による動き検出の方法を具体的に説明する。
[0010] 図 22は、従来の一般的な動き検出部のブロック図である。図 22に示す従来の一般 的な動き検出部は、整数画素精度動き検出部 1、 1Z2画素精度動き検出部 2、動き 補償部 3、第 1ローカルメモリ 4、第 2ローカルメモリ 5、第 3ローカルメモリ 6、 DMAコン
トローラ 7、及び、 SDRAM8を備える。
[0011] 図 23は、従来の一般的な動き検出部のフローチャートである。
[0012] 図 23のステップ S1において、 SDRAM8に格納されている入力画像から、符号化 対象のマクロブロック(以下、カレントマクロブロックと呼ぶ)を第 1ローカルメモリ 4へ転 送する。
[0013] ステップ S2において、カレントマクロブロック力 決定される動き検出範囲、すなわ ち、探索範囲の画像データ、例えば、— 32く =Xく = + 32、 - 32< =Y< = + 32 の探索範囲の画像データ力 参照画像として、 SDRAM8から第 1ローカルメモリ 4へ 転送される。
[0014] ステップ S3において、整数画素精度動き検出部 1は、第 1ローカルメモリ 4に転送さ れた、カレントマクロブロックと参照画像の探索範囲に対して、整数画素精度動き検 出を行う。整数画素精度動き検出では、整数画素精度動き検出部 1は、整数画素の みを用いて、カレントマクロブロックと最も相関の強い同じサイズのブロックを探索範 囲力 検出し、動きベクトルを求める。動きベクトルは、カレントマクロブロックの左端 上の座標に対する、検出したブロックの左端上の座標の相対位置で表現する。相関 の強さは、例えば、 2つのブロック内の対応する画素における輝度成分の差分絶対 値和(SAD)や差分二乗和(SSD)として評価される。
[0015] 階層化して動き検出を行う場合、一般的に整数画素精度動き検出は、それ以降の 階層の動き検出より探索範囲が大きい。そのため、必要とされるメモリ容量が大きくな る。
[0016] メモリ容量増大を回避するために、例えば、画素を間引いてメモリへ転送し、動き検 出の精度を落とす方法がある。図 24は、 1画素毎に間引かれた整数画素を示す。す なわち、図 24に示す例では、横方向に 1画素毎に画素 P2が間引かれて、画素 P1の みが参照画像として用いられる。このように間引くと、間引かない場合と比較して横方 向の検出精度が 1Z2に落ちる。しかし、第 1ローカルメモリ 4に確保されるべき参照 画像用の領域は、 1Z2に削減できる。この方法により、同じ探索範囲を少ないメモリ 容量で探索できる。または、同じメモリ容量で広範囲の動き検出を行うことができる。 どのような間引き方法を採用するかは、検出精度が落ちることによる画質劣化と、探
索範囲が広がることによる画質向上のトレードオフ関係により、決定される。
[0017] 図 23に戻って、ステップ S4において、ステップ S3の整数画素精度動き検出で求め た動きベクトル MV-INTを基に、 1Z2画素精度動き検出に必要な参照画像が、 S DRAM8から第 2ローカルメモリ 5へ転送される。
[0018] 上述したように、整数画素精度動き検出の参照画像の画素を間引いた場合、 1/2 画素精度動き検出のための参照画像を、 SDRAM8より再び取得する必要がある。 なぜなら、後述するように、規格上、 1Z2画素を算出するためには、必ず隣接する整 数画素が必要となる力 である。整数画素精度動きベクトル MV— INTの周辺 8点の 1Z2画素に対して、 1Z2画素精度動き検出を行う場合、 SDRAM8に格納されてい る参照画像から、動きベクトル MV— INTを基準として、 X方向に「一 1」、 Y方向に「 1」移動した座標位置から、横方向に 18画素、縦方向に 18ラインの画像が取得さ れ、第 2ローカルメモリ 5に転送される。 SDRAM8に対して、 32ビット単位のアクセス しかできない場合は、参照画像として必要のない画素データを読み出してしまう場合 があり、最大で横 24画素、縦 18ライン分の画像データを読み出す場合もある。
[0019] ステップ S5において、 1Z2画素精度動き検出部 2は、 1Z2画素精度動き検出を 実施する。例えば、動きベクトル MV— INTの周辺 8点において、ステップ S4におい て第 2ローカルメモリ 5に転送された参照画像を用いて、 1Z2画素を生成し、その 8 個の 1Z2画素及び探索中心位置の整数画素と、カレントマクロブロックとで差分絶 対値和演算を行う。
[0020] 図 25は、整数画素 Bの近傍に生成された 1Z2画素を示す。すなわち、探索中心 位置である整数画素 Bの周りに、 1Z2画素 a〜hが生成されている。 1Z2画素は、例 えば、 MPEG— 4のシンプルプロファイルの場合、整数画素 A〜Dを用いて、次のよ うに算出される。
[0021] 図 25の 1Z2画素 fと 1Z2画素 dは、それぞれ、
f= (A+B + C + D+ 2-R) /4
d= (A+B+ l -R) /2
と算出される。ここで、 Rは、 rounding controlと呼ばれ、「0」または「1」が代入され る。
[0022] 1Z2画素精度動き検出部 2は、探索中心位置の整数画素 Bとその周りの 8個の 1 Z2画素 a〜hの計 9点の画素に対して、差分絶対値和の値が最も小さくなる点を求 める。求めた差分絶対値和の値が最も小さくなる点に対する探索中心位置力ものォ フセット座標を、動きベクトル MV— INTに加算することにより、 1Z2画素精度の動き ベクトル MV— HALFが算出される。
[0023] さらに検出精度を向上させるために、 1Z2画素精度動き検出で求めた動きベクトル MV— HALFを基に、 1Z4画素精度動き検出を実施する場合もある。例えば、 1/2 画素精度動き検出と同様に、動きベクトル MV— HALFの周辺 8点において、参照 画像を用いて 1Z4画素を生成し、探索中心位置の 1Z2画素とその周りに生成した 8 個の 1Z4画素の計 9点の画素に対して、差分絶対値和の値が最も小さくなる点を探 索する。探索した点に対する探索中心位置力ものオフセット座標を、動きベクトル M V— HALFに加算することにより、 1Z4画素精度の動きベクトルを算出する。なお、 図 22及び図 23においては、 1Z4画素精度動き検出のための構成要素と処理ステツ プを省略して図示して 、な 、。
[0024] ステップ S6において、動き検出に続く動き補償のために、ステップ S5の 1Z2画素 精度動き検出において最終的に決定した動きベクトルが示す位置の参照画像が、 S DRAM8から第 3ローカルメモリ 6に転送される。
[0025] 一般的に、動きベクトル検出は、画素データの輝度成分に対して実施される。その ため、輝度成分に関しては、多くの場合、 1Z2画素精度動き検出で第 2ローカルメモ リ 5に取得した参照領域は、動き補償に必要な領域を包含している。データ転送量を 削減するために、第 2ローカルメモリ 5のデータを、第 3ローカルメモリ 6へ転送する場 合と、第 2ローカルメモリ 5を動き補償部 3が直接アクセスする場合とがある。ただし、 色差成分に関しては、第 2ローカルメモリ 5に転送されていないため、 SDRAM8より 第 3ローカルメモリ 6へ転送する必要がある。
[0026] ステップ S7にお ヽて、動き補償部 3は、動き補償を実施する。動き補償で取得する 色差成分の画像データは、輝度成分の動きベクトルに基づ ヽて決定される色差動き ベクトルによって決定される。 MPEG— 4の場合、輝度成分の動きベクトルの 1Z2倍 したものが色差成分の動きベクトルとして定義される。例えば、輝度成分の動きべタト
ルの XY座標(0. 5、 1. 5)は、 1Ζ2倍すると、 (0. 25、 0. 75)になるが、これは(0. 5、 0. 5)に丸められる。
[0027] 前述したとおり、動画像符号化処理は、動き検出、動き補償、 DCT、可変長符号化 などの複数の処理から構成される。これらの処理を、一つのハードウェア資源 (例え ばプロセッサ)を用いて、マクロブロック単位に実行する場合、一つのマクロブロックの 処理が終了するまで、次のマクロブロック処理が開始できない。このような逐次処理で は、画面サイズや入力のフレームレートが大きい場合、マクロブロック処理が間に合 わずに、コマ落ちが生じてしまうことがある。
[0028] これを解決するために、処理単位毎のハードウェア資源を用意し、マクロブロック処 理をパイプライン的に実行する方法がある。
[0029] 図 26は、動画像符号ィ匕処理のフローチャートである。図 26に示すように、一般的な 動画像符号化処理は、ステップ S11の動き検出、ステップ S12の動き補償、ステップ S13の DCTZ量子化処理、及び、ステップ S 14の可変長符号化処理力もなる。これ らの処理を、 4段のパイプランに分割すると、図 27のような処理になる。
[0030] 図 27は、動画像符号化のパイプライン処理を示す。同図において、横軸は時間を 表し、各処理の 0内の数字は、処理しているマクロブロック番号を示す。図 27に示す ように、パイプライン処理では、マクロブロック番号「0」の動き検出処理が終了すると、 マクロブロック番号「0」の動き補償処理が開始され、それと同時に、マクロブロック番 号「1」の動き検出の処理がスタートする。
[0031] 図 27に示す 4つの処理のうち、最も処理時間が長い処理の処理時間を時間 Tとす ると、パイプライン処理では、時間 Tの間隔でストリーム化されたマクロブロックが出力 されることになる。 4つの処理の合計時間を時間 Uとすると、 1マクロブロックあたりの 処理時間は、逐次処理では時間 U,パイプライン処理では時間 Tとなり、 U > T は自明であるため、パイプライン処理によって、マクロブロック処理のスループットが 向上する。
[0032] しかし、このようなパイプライン処理を実行するためには、各処理の間にパイプライ ンバッファが必要となる。パイプラインバッファとは、パイプラインの切れ目でデータを 保持しておくための中間バッファである。よって、パイプラインィ匕は、性能とコストのトレ
ードオフを考慮して実施しなければならな 、。
[0033] 図 28は、動き検出のフローチャートである。図 28は、複数に階層化された動き検出 における、ある階層の動き検出の処理フローを示している。
[0034] ステップ S21において、第 (m—1)階層(mは 2以上の自然数)の動き検出が行わ れる。ステップ S21において行われる第 (m—1)階層の動き検出力 図 24に示したよ うな間引された参照画像に対して実施される場合、ステップ S22において、第 (m—1 )階層で検出された動きベクトルを基に、次の第 (m)階層の動き検出のための参照 画像データを転送しなければならない。ステップ S23において、転送された参照画像 データを用いて、第 (m)階層の動き検出が行われる。
[0035] 図 29は、動き検出のパイプラインの構成を示し、図 28の動き検出に対応するもの である。動き検出において、広い範囲を探索する場合、その探索範囲のデータを取 得するためのデータ転送に時間を要する。そのため、図 29に示すパイプラインの構 成例では、 stage (k+ 1)に、データ転送のためのパイプラインステージを設けて、ス ループットを向上させるている。
[0036] 以上説明したような、従来技術による手法は、パイプライン処理によって動画像処 理のスループットが向上する反面、動き検出の階層が増えた場合には、ノ ィプライン 段数が深くなり、レイテンシが増大すると同時に、必要なパイプラインバッファの数が 増大するという欠点がある。
特許文献 1:特開 2002— 218474号公報 (第 3図)
特許文献 2:特開 2001— 15872号公報
発明の開示
発明が解決しょうとする課題
[0037] そこで本発明は、パイプライン処理における時間遅延を低減してフレーム遅延の発 生を抑制し、さらに、パイプラインバッファの数を削減できる、動画像符号化用の動き 検出装置を提供することを目的とする。
課題を解決するための手段
[0038] 第 1の発明に係る動き検出装置は、参照画像と被符号化画像との相関により、階層 的に動きベクトルを検出する動き検出装置であって、プロセッサと、第 1段階の動きべ
タトル検出用の第 1参照画像を格納する第 1記憶手段と、第 1記憶手段に格納された 第 1参照画像を用いて、第 1段階の動きベクトルを検出する第 1動き検出手段と、第 1 動き検出手段で検出した第 1段階の動きベクトルを用いて実施する第 2段階の動きべ タトル検出のための第 2参照画像を格納する第 2記憶手段と、第 2記憶手段に格納さ れた第 2参照画像を用いて、第 2段階の動きべ外ルを検出する第 2動き検出手段と 、第 2動き検出手段で検出した第 2段階の動きべ外ルを用いて実施する第 3段階の 動きベクトル検出のための第 3参照画像を格納する第 3記憶手段と、第 3記憶手段に 格納された第 3参照画像を用いて、第 3段階の動きベクトルを検出する第 3動き検出 手段と、参照画像と被符号化画像を格納する主記憶手段と、主記憶手段と第 1記憶 手段の間のデータ転送、主記憶手段と第 2記憶手段の間のデータ転送、及び、主記 憶手段と第 3記憶手段の間のデータ転送を制御するデータ転送制御手段とを備え、 第 1段階の動きベクトルの参照が必要な場合、プロセッサは、第 2段階の動きベクトル の検出が完了する前に、第 1段階で検出した動きベクトルに基づいて、主記憶手段 から第 3記憶手段へ第 3参照画像のデータを転送し、第 1段階の動きベクトルの参照 が不必要な場合、プロセッサは、第 1段階の動きベクトルの検出が完了する前に、主 記憶手段から第 3記憶手段へ第 3参照画像のデータを転送する。
[0039] この構成によれば、第 1段階で検出した動きベクトルを参照する場合、第 3段階の 動きベクトル検出用の参照画像の転送と、第 2段階の動きベクトル検出の実行を同時 に実施するため、第 3段階の動きべ外ル検出が遅延なく開始できる。また、第 1段階 で検出した動きベクトルを参照しない場合、第 3段階の動きベクトルの検出を遅延なく 開始できる。
[0040] 第 2の発明に係る動き検出装置は、参照画像と被符号化画像との相関により、階層 的に動きベクトルを検出する動き検出装置であって、プロセッサと、第 1段階の動きべ タトル検出用の第 1参照画像を格納する第 1記憶手段と、第 1記憶手段に格納された 第 1参照画像を用いて、第 1段階の動きベクトルを検出する第 1動き検出手段と、第 1 動き検出手段で検出した第 1段階の動きベクトルを用いて実施する第 2段階の動きべ タトル検出のための第 2参照画像を格納する第 2記憶手段と、第 2記憶手段に格納さ れた第 2参照画像を用いて、第 2段階の動きべ外ルを検出する第 2動き検出手段と
、第 2動き検出手段で検出した第 2段階の動きべ外ルを用いて実施する動き補償の ための第 3参照画像を格納する第 3記憶手段と、第 3記憶手段に格納された第 3参照 画像を用いて、動き補償を実施する動き補償手段と、参照画像と被符号化画像を格 納する主記憶手段と、主記憶手段と第 1記憶手段の間のデータ転送、主記憶手段と 第 2記憶手段の間のデータ転送、及び、主記憶手段と第 3記憶手段の間のデータ転 送を制御するデータ転送制御手段とを備え、第 1段階の動きベクトルの参照が必要 な場合、プロセッサは、第 2段階の動きベクトルの検出が完了する前に、第 1段階で 検出した動きベクトルに基づいて、主記憶手段から第 3記憶手段へ第 3参照画像の データを転送し、第 1段階で検出した動きベクトル非参照の場合、プロセッサは、第 1 段階の動きベクトルの検出が完了する前に、主記憶手段から第 3記憶手段へ第 3参 照画像のデータを転送する。
[0041] この構成によれば、第 1段階で検出した動きべ外ルを参照する場合、動き補償用 の参照画像の転送と、第 2段階の動きベクトル検出の実行を同時に実施するため、 動き補償が遅延なく開始できる。また、第 1段階で検出した動きべ外ルを参照しない 場合、第 3段階の動き補償を遅延なく開始できる。
[0042] 第 3の発明に係る動き検出装置は、参照画像と被符号化画像との相関により、階層 的に動きベクトルを検出する動き検出装置であって、プロセッサと、第 1段階の動きべ タトル検出用の第 1参照画像を格納する第 1記憶手段と、第 1記憶手段に格納された 第 1参照画像を用いて、第 1段階の動きベクトルを検出する第 1動き検出手段と、第 1 動き検出手段で検出した第 1段階の動きベクトルを用いて実施する第 2段階の動きべ タトル検出のための第 2参照画像を格納する第 2記憶手段と、第 2記憶手段に格納さ れた第 2参照画像を用いて、第 2段階の動きべ外ルを検出する第 2動き検出手段と 、参照画像と被符号化画像を格納する主記憶手段と、主記憶手段と第 1記憶手段の 間のデータ転送、及び、主記憶手段と第 2記憶手段の間のデータ転送を制御するデ ータ転送制御手段とを備え、プロセッサは、第 1段階の動きベクトル検出が完了する 前に、主記憶手段から第 2記憶手段へ第 2参照画像のデータを転送する。
[0043] この構成によれば、第 2段階の動きベクトル検出用の参照画像の転送と、第 1段階 の動きベクトル検出の実行を同時に実施するため、第 2段階の動きベクトル検出が遅
延なく開始できる。
[0044] 第 4の発明に係る動き検出装置は、参照画像と被符号化画像との相関により、動き ベクトルを検出する動き検出装置であって、プロセッサと、第 1段階の動きベクトル検 出用の第 1参照画像を格納する第 1記憶手段と、第 1記憶手段に格納された第 1参 照画像を用いて、第 1段階の動きベクトルを検出する第 1動き検出手段と、第 1動き検 出手段で検出した第 1段階の動きべ外ルを用いて実施する動き補償のための第 2 参照画像を格納する第 2記憶手段と、第 2記憶手段に格納された第 2参照画像を用 いて、動き補償を実施する動き補償手段と、参照画像と被符号化画像を格納する主 記憶手段と、主記憶手段と第 1記憶手段の間のデータ転送、及び、主記憶手段と第 2記憶手段の間のデータ転送を制御するデータ転送制御手段とを備え、プロセッサ は、第 1段階の動きベクトルの検出が完了する前に、主記憶手段から第 2記憶手段へ 第 2参照画像のデータを転送する。
[0045] この構成によれば、動き補償用の参照画像の転送と、第 1段階の動きベクトル検出 の実行を同時に実施するため、動き補償用が遅延なく開始できる。
[0046] 第 5の発明に係る動き検出装置では、第 1動き検出手段は、整数画素精度の動き ベクトルを検出する。
[0047] 第 6の発明に係る動き検出装置では、第 2動き検出手段は、 1Z2画素精度の動き ベクトルを検出する。
[0048] 第 7の発明に係る動き検出装置では、第 3動き検出手段は、 1Z4画素精度の動き ベクトルを検出する。
[0049] これらの構成によれば、整数画素精度の動きベクトル検出から 1Z4画素精度の動 きベクトル検出まで、段階的に実行できる。さらに、整数画素精度の動きベクトル検出 までを行う動き検出装置、 1Z2画素精度の動きベクトル検出までを行う動き検出装 置、あるいは、 1Z4画素精度の動きベクトル検出までを行う動き検出装置を、応用目 的に応じて随意に構成できる。
[0050] 第 8の発明に係る動き検出装置では、動き補償手段は、輝度画像の動き補償を実 施する。
[0051] この構成によれば、輝度データに対して動き補償を行う動き検出装置を実現できる
[0052] 第 9の発明に係る動き検出装置では、動き補償手段は、色差画像の動き補償を実 施する。
[0053] この構成によれば、色差データに対して動き補償を行う動き検出装置を実現できる
[0054] 第 10の発明に係る動き検出装置では、第 1記憶手段と第 2記憶手段とは、メモリで 実装され、第 1記憶手段のメモリサイズは、第 2記憶手段のメモリサイズより大きい。
[0055] この構成によれば、第 1記憶手段を利用する第 1動き検出手段は、第 2記憶手段を 利用する第 2動き検出手段よりも、より広い範囲にわたって動きベクトルを探索するこ とがでさる。
[0056] 第 11の発明に係る動き検出装置では、第 2記憶手段と第 3記憶手段とは、メモリで 実装され、第 2記憶手段のメモリサイズは、第 3記憶手段のメモリサイズより大きい。
[0057] この構成によれば、第 2記憶手段を利用する第 2動き検出手段は、第 3記憶手段を 利用する第 3動き検出手段よりも、より広い範囲にわたって動きベクトルを探索するこ とがでさる。
[0058] 第 12の発明に係る動き検出装置では、第 2記憶手段には、データ転送制御手段と 第 2動き検出手段の 、ずれか一方がアクセスする。
[0059] 第 13の発明に係る動き検出装置では、第 3記憶手段には、データ転送制御手段と 第 3動き検出手段の 、ずれか一方がアクセスする。
[0060] 第 14の発明に係る動き検出装置では、第 3記憶手段には、データ転送制御手段と 動き補償手段の 、ずれか一方がアクセスする。
[0061] これらの構成によれば、パイプラインバッファを設けなくても、データ転送と動き検出 を実行できる。
[0062] 第 15の発明に係る動き検出装置では、第 1動き検出手段で検出した動きベクトルを 基準にして、必要な範囲の参照画像のデータが、第 2記憶手段から第 3記憶手段へ 転送される。
[0063] この構成によれば、主記憶手段から第 3記憶手段へのデータ転送を割愛できる。
[0064] 第 16の発明に係る動き検出装置では、第 1動き検出手段で検出した動きベクトルを
基準にして、必要な範囲の参照画像のデータが、第 1記憶手段から前記第 2記憶手 段へ転送される。
[0065] この構成によれば、主記憶手段から第 2記憶手段へのデータ転送を割愛できる。
発明の効果
[0066] 本発明によれば、パイプライン処理における時間遅延を低減してフレーム遅延の発 生を抑制し、さらに、パイプラインバッファの数を削減できる、動画像符号化用の動き 検出装置を提供することができる。
図面の簡単な説明
[0067] [図 1]本発明の実施の形態 1における動き検出装置のブロック図
[図 2]本発明の実施の形態 1における動き検出装置のフローチャート
[図 3]本発明の実施の形態 1における参照画像の 1Z4に間引かれた整数画素配置 図
[図 4]本発明の実施の形態 1における参照画像の 1Z4に間引かれた 1Z2画素配置 図
[図 5]本発明の実施の形態 1における参照画像の 1Z4画素配置図
[図 6]本発明の実施の形態 1における参照画像の転送範囲を示す説明図
[図 7]本発明の実施の形態 1における動き検出装置のノ ィプラインの構成図
[図 8]本発明の実施の形態 2における動き検出装置のブロック図
[図 9]本発明の実施の形態 2における動き検出装置のフローチャート
[図 10]本発明の実施の形態 2における輝度座標と色差座標の対応表
[図 11]本発明の実施の形態 2における色差データの転送範囲の説明図
[図 12]従来技術による動き検出装置のパイプライン構成図
[図 13]本発明の実施の形態 2における動き検出装置のノ ィプラインの構成図
[図 14]本発明の実施の形態 3における動き検出装置のブロック図
[図 15]本発明の実施の形態 3における動き検出装置のフローチャート
[図 16]本発明の実施の形態 3における動き検出装置のノ ィプラインの構成図
[図 17]本発明の実施の形態 4における動き検出装置のフローチャート
[図 18]本発明の実施の形態 4における動き検出装置のノ ィプラインの構成図
[図 19]本発明の実施の形態 5における動き検出装置のブロック図
[図 20]本発明の実施の形態 5における動き検出装置のフローチャート
[図 21]本発明の実施の形態 5における動き検出装置のノ ィプラインの構成図
[図 22]従来の一般的な動き検出部のブロック図
[図 23]従来の一般的な動き検出部のフローチャート
[図 24] 1画素毎に間引かれた整数画素の例示図
[図 25]整数画素 Bの近傍に生成された 1Z2画素の例示図
[図 26]動画像符号ィ匕処理のフローチャート
[図 27]動画像符号ィ匕のパイプライン処理の例示図
[図 28]動き検出のフローチャート
[図 29]動き検出のパイプラインの構成図
符号の説明
1 整数画素精度動き検出部
2 1Z2画素精度動き検出部
3 動き補償部
4 第 1ローカルメモリ
5 第 2ローカルメモリ
6 第 3ローカルメモリ
7 DMAコントローラ
8 SDRAM
20 プロセッサ
21 整数画素精度動き検出器
22 1Z2画素精度動き検出器
23 1Z4画素精度動き検出器
24 動き補償器
31、 32、 33 ローカルメモジ
41 SDRAM
42 DMAコントローラ
発明を実施するための最良の形態
[0069] 次に、図面を参照しながら、本発明の実施の形態を説明する。
[0070] (実施の形態 1)
図 1は、本発明の実施の形態 1における動き検出装置のブロック図である。本形態 の動き検出装置は、図 1に示すように、整数画素精度動き検出器 21、 1Z2画素精度 動き検出器 22、 1Z4画素精度動き検出器 23、ローカルメモリ 31、 32、 33、 SDRA M41、 DMAコントローラ 42、及び、プロセッサ 20を備える。
[0071] 整数画素精度動き検出器 21は、第 1動き検出手段に相当し、 1Z2画素精度動き 検出器 22は、第 2動き検出手段に相当し、 1Z4画素精度動き検出器 23は、第 3動 き検出手段に相当する。
[0072] ローカルメモリ 31は、第 1記憶手段に相当し、整数画素精度動き検出器 21が使用 する参照画像データと符号化対象のマクロブロックの画像データを格納する。ロー力 ルメモリ 32は、第 2記憶手段に相当し、 1Z2画素精度動き検出器 22が使用する参 照画像データと符号化対象のマクロブロックの画像データを格納する。ローカルメモ リ 33は、第 3記憶手段に相当し、 1Z4画素精度動き検出器 23が使用する参照画像 データと符号化対象のマクロブロックの画像データを格納する。 SDRAM41は、主 記憶装置に相当し、現フレームと参照フレームの画像データを格納する。
[0073] DMAコントローラ 42は、データ転送制御手段に相当し、 SDRAM41とローカルメ モリ 31、 32、 33の間のデータ転送を制御する。プロセッサ 20は、動き検出装置全体 の処理を制御する。また、図 1において、実線はデータ線を表し、点線は制御線を表 す。
[0074] 図 2は、本発明の実施の形態 1における動き検出装置のフローチャートである。図 1 を参照しつつ、図 2に従って、本形態の動き検出装置の動作を説明する。
[0075] ステップ S31において、整数画素精度動き検出に使用する参照画像データと符号 化対象のマクロブロックの画像データが、 DMAコントローラ 42の制御の下、 SDRA
M41からローカルメモリ 31に転送される。
[0076] ステップ S32において、整数画素精度動き検出器 21は、ローカルメモリ 31に転送さ れた参照画像データと符号化対象のマクロブロックの画像データを使用して、整数画
素精度動き検出を実施する。整数画素動き検出は、ブロックマッチング法に従って実 施される。
[0077] 以下の説明では、本形態の整数画素精度動き検出を、水平方向に 1Z4に間引か れた参照画像に対して実施する例について述べる。
[0078] 図 3は、本発明の実施の形態 1における参照画像の 1Z4に間引かれた整数画素 配置図である。同図において、白丸の画素 Fplは、間引かれていない整数画素を表 し、黒丸の画素 Fp2は、間引かれた整数画素を表す。この例では、参照画像は、水 平方向に 1Z4に間引かれている。水平方向で 4画素単位に有効データが存在する ため、水平方向の動き検出の精度が 1Z4になる。
[0079] 整数画素精度動き検出の方法は、数多く提案されており、代表的なものとして、全 探索、勾配法、ダイアモンドサーチ、 One— at— a— Timeなどがある。本発明では、 どの方法を用いても良い。また、整数画素精度動き検出の評価関数には、従来技術 の差分絶対値和、差分二乗和などが利用できる。
[0080] 図 2に戻り、ステップ S33において、 1Z2画素精度動き検出に使用される参照画像 データと符号化対象のマクロブロックの画像データ力 プロセッサ 20の命令によって 、 SDRAM41からローカルメモリ 32に転送される。
[0081] ステップ S34において、 1Z2画素精度動き検出器 22は、整数画素精度動き検出 で検出した動きベクトルの周辺で、 1Z2画素精度動き検出を実施する。本形態の 1 Z2画素精度動き検出では、整数画素精度動き検出で検出した動きベクトルの周辺 の 8個の 1Z2画素に対して、 1Z2画素精度動き検出が実施される。
[0082] 以下の説明では、本形態の 1Z2画素精度動き検出を、水平方向に 1Z4に間引か れた参照画像に対して実施する例について述べる。
[0083] 図 4は、本発明の実施の形態 1における参照画像の 1Z4に間引かれた 1Z2画素 配置図である。図 4において、白丸の画素 Fplは、間引かれていない整数画素を表 し、黒丸の画素 Fp2は、間引かれた整数画素を表す。また、小さい白丸の画素 Hp 1 は、間引かれていない整数画素 Fplから算出された 1Z2画素を表す。
[0084] 1Z2画素は、前述したように、整数画素値の平均で算出する。図 4に示すように、 ある探索位置に注目すると、 1Z2画素は、横方向に 4画素単位で有効である。また、
同じ 1Z4に間引きされた処理でも、 1Z2画素精度動き検出には、整数画素精度動 き検出の時に比較して、より多くの参照画像データが必要になることが分かる。
[0085] 図 2に戻り、ステップ S35において、 1Z4画素精度動き検出に使用される参照画像 データと符号化対象のマクロブロックの画像データ力 プロセッサ 20からの命令によ つて、 SDRAM41からローカルメモリ 33に転送される。
[0086] ステップ S36において、 1Z4画素精度動き検出器 23は、 1Z2画素精度動き検出 で検出した動きベクトルの周辺で、 1Z4画素精度動き検出を実施する。
[0087] 動き検出の最後の階層である 1Z4画素精度動き検出では、動き検出の精度を向 上させるために、画素の間引きは行われない。
[0088] 図 5は、本発明の実施の形態 1における参照画像の 1Z4画素配置図である。図 5 において、白丸の画素 Fplは、整数画素を表し、小さい白丸の画素 Hplは、 1Z2画 素を表し、小さい黒丸の画素 Qplは、 1Z4画素を表す。画素 Fpl,画素 Hpl,及び
、画素 Qplの符号付けは、代表的であって、すべての画素に符号を付しているので はない。
[0089] 1Z4画素の算出は、 1Z2画素が整数画素から算出された場合と同様に、 1Z2画 素の平均値として求められる。図 5に示した 1Z4画素の配置、 1Z4画素を算出する ための 1Z2画素の配置、さらに、 1Z2画素を算出するための整数画素の配置から 明白なように、 1Z4画素精度動き検出では整数画素を間引くことができない。従って 、間引きのある 1Z2画素力 の 1Z2画素精度動き検出が終了したら、 1Z4画素精 度動き検出用として、間引きのない参照画像データを転送する必要がある。
[0090] ところで、前述したように、 1Z4画素精度動き検出用の参照画像データの転送の終 了を待って、 1Z4画素精度動き検出を実施すると、 1Z4画素精度動き検出の開始 が遅くなり、レイテンシが増加する。そこで、図 2に示すステップ S35では、整数画素 精度動き検出が終了した時点で、 1Z2画素精度動き検出における探索範囲を含む ように、 1Z4画素精度動き検出用のデータを転送する。
[0091] 図 6は、本発明の実施の形態 1における参照画像の転送範囲を示す説明図である 。図 6において、各画素の符号は、図 5と同様であり、説明を省略する。
[0092] 図 6に示す例では、符号化するマクロブロックは、 3画素 X 3画素から構成されると
仮定している。(実際は、符号化するマクロブロックは、 16画素 X 16画素から構成さ れる。)実線の枠 51が、整数画素精度動き検出でマッチングの取れたマクロブロック であり、その整数画素精度動きベクトル MV— INTの位置は、枠 51の左上の画素 Fp 3の座標で与えられる。点線で示す枠 52は、 1Z4画素精度動き検出用に転送すベ き参照画像の範囲を示す。すなわち、枠 52は、 1Z2画素精度動き検出において、 画素 Fp3で示される動きベクトル MV— INTの位置から、その周辺の 8個の 1Z2画 素の 、ずれに 1Z2画素精度動きベクトル MV— HALFの検出結果が落ち着 ヽても 、次の 1Z4画素精度動き検出のための 1Z4画素を生成するために必要な整数画 素が必ず含まれるような画素の範囲を示して!/ヽる。
[0093] このように、 1Z4画素精度動き検出のための参照画像データの転送範囲を枠 52で 示す範囲に設定すれば、 1Z4画素精度動き検出のための参照画像データを、整数 画素精度動き検出において動きベクトル MV— INTが確定した段階で、図 1の SDR AM41からローカルメモリ 33へ転送することができる。この結果、 1Z2画素精度動き 検出の結果を待たずに、 1Z4画素精度動き検出用の参照画像データを転送できる ため、 1Z4画素精度動き検出のデータ待ち時間が削減され、マクロブロック処理の レイテンシが改善する。
[0094] 図 7は、本発明の実施の形態 1における動き検出装置のパイプラインの構成を示す 。図 7は、本形態の動き検出装置の処理のパイプラインが、動き検出処理と参照画像 DMA転送処理とに分けて、 stage— 0から stage— 4にわたつて構成されていること を表している。上述したように、本形態の動き検出装置では、 stage— 3において、 1 Z2画素精度動き検出と同時に、 1Z4画素精度動き検出用の参照画像データの転 送が実施できるため、パイプラン段数を一段少なく出来る。
[0095] 以上説明したように、本形態の動き検出装置によれば、パイプライン段数を一段少 なくできて、その分だけ動き検出処理を高速に実施できるので、ノ ィプライン処理に おける時間遅延を低減してフレーム遅延の発生を抑制出来る。
[0096] (実施の形態 2)
図 8は、本発明の実施の形態 2における動き検出装置のブロック図である。図 8にお いて、図 1と同様な構成要素については、同一の符号を付すことにより、説明を省略
する。
[0097] 本形態の動き検出装置は、図 8に示すように、整数画素精度動き検出器 21、 1/2 画素精度動き検出器 22、動き補償器 24、ローカルメモリ 31、 32、 33、 SDRAM41, DMAコントローラ 42、及び、プロセッサ 20を備える。
[0098] ローカルメモリ 31は、第 1記憶手段に相当し、整数画素精度動き検出器 21が使用 する参照画像データと符号化対象のマクロブロックの画像データを格納する。ロー力 ルメモリ 32は、第 2記憶手段に相当し、 1Z2画素精度動き検出器 22が使用する参 照画像データと符号化対象のマクロブロックの画像データを格納する。ローカルメモ リ 33は、第 3記憶手段に相当し、動き補償器 24が使用する参照画像データと符号化 対象のマクロブロックの画像データを格納する。 SDRAM41は、主記憶装置に相当 し、現フレームと参照フレームの画像データを格納する。
[0099] DMAコントローラ 42は、データ転送制御手段に相当し、 SDRAM41とローカルメ モリ 31、 32、 33の間のデータ転送を制御する。プロセッサ 20は、動き検出装置全体 の処理を制御する。また、図 8において、実線はデータ線を表し、点線は制御線を表 す。
[0100] 本形態の動き検出装置では、動き検出は、整数画素精度と 1Z2画素精度の 2階層 で実施され、 1Z4画素精度動き検出は実施されない。また、 1Z2画素精度動き検 出では、参照画像の画素を間引かないものとする。 1Z2画素精度動き検出の後、動 き補償が実施される。
[0101] 図 9は、本発明の実施の形態 2における動き検出装置のフローチャートである。
[0102] 図 8を参照しつつ、図 9に従って、本形態の動き検出装置の動作を説明する。
[0103] ステップ S41における整数画素精度動き検出用の参照画像データと符号化対象の マクロブロック画像データの転送、ステップ S42における整数画素精度動き検出、ス テツプ S43における 1Z2画素精度動き検出用の参照画像データと符号ィ匕対象のマ クロブロック画像データの転送、及び、ステップ S44における 1Z2画素精度動き検出 は、図 2に示した本発明の実施の形態 1における動き検出装置のフローチャートのス テツプ S31、ステップ S32、ステップ S33、及び、ステップ S34と同様であり、説明を省 略する。
[0104] ステップ S44において、 1Z2画素精度動き検出が終了すると、次に動き補償を実 施する。動き補償は、輝度成分の参照画像と、色差成分の参照画像に対して実施さ れる。しかし、この段階では、色差成分の参照画像データは、ローカルメモリ 33にま だ転送されていない。また、色差成分の参照画像データ領域は、輝度成分の動きべ タトルが確定した後でなければ特定できないため、従来技術では、 1Z2画素精度動 き検出の確定後に、色差成分の参照画像データを転送する必要があった。
[0105] そこで、本形態の動き検出装置では、ステップ S45において、整数画素動きべタト ルが確定した段階で、 1Z2画素精度動き検出の探索範囲を含むように、色差成分 の参照画像データの転送を開始する。すなわち、実施の形態 1における図 2のステツ プ S35の 1Z4画素精度動き検出用参照画像転送と同様に、 1Z2画素精度動き検 出のいかなる探索結果にも対応できるように、必要な色差成分の参照画像データ領 域を定義し、その領域の色差成分の参照画像データを、整数画素精度動き検出に おける動きベクトルの決定直後に、図 8に示す SDRAM41からローカルメモリ 33へ 転送する。
[0106] ステップ S46において、ステップ S44における 1Z2画素精度動き検出結果に従つ て、ローカルメモリ 33に格納されている、輝度成分の参照画像データと色差成分の 参照画像データとを読出し、動き補償を行う。
[0107] 上述したステップ S45における色差成分の参照画像データの具体的な転送方法を さらに説明する。
[0108] 図 10は、本発明の実施の形態 2における輝度座標と色差座標の対応表である。こ の対応表は、水平方向と垂直方向の座標に等しく適用できる。
[0109] 色差成分の参照画像データ(以下、色差データと呼ぶ)は、水平方向と垂直方向の それぞれにおいて、輝度成分の参照画像データ (以下、輝度データと呼ぶ)の半分 の量であるため、それぞれの方向で輝度データ 2つに対して色差データ 1つが対応 する。(画面全体では、輝度データ 4つに対して色差データ 1つが対応する。)すなわ ち、図 10に示すように、輝度の座標値「0」は、色差の座標値「0」に、輝度の座標値「 0. 5」「1」「1. 5Jは、色差の座標値「0. 5Jに、輝度の座標値「2」は、色差の座標値「 1」に、それぞれ対応するといつた具合である。この座標変換ルールによれば、たとえ
ば、輝度データの XY座標(1. 5、 2. 5)に対応する色差データの ΧΥ座標は、(0. 5 、 1. 5)である。
[0110] 動き補償において、被符号ィ匕マクロブロックの 16画素 X 16画素の輝度データに対 応して生成しなければならない色差データは、 8画素 X 8画素である。図 11は、本発 明の実施の形態 2における色差データの転送範囲の説明図である。図 11は、説明を 簡単にするために、水平方向における輝度データの座標から色差データの座標に 座標変換する例を示して ヽる。
[0111] いま、輝度データにおいて、整数画素精度動き検出の結果、整数画素精度動きべ タトル MV— ΙΝΤの位置は、黒丸の整数画素 Fpl2に求まったと仮定する。次の階層 の 1Z2画素精度動き検出では、 1Z2画素精度動きベクトルが検出される可能性の ある座標位置は、整数画素 Fpl2の左右の 1Z2画素 Hpl lと 1Z2画素 Hpl2、およ び、整数画素 Fp 12そのものである。例えば、整数画素 Fp 12の X座標が「2」である場 合、 1Z2画素精度動きベクトルが検出される可能性のある画素 Hpl l, Fpl2, Hpl 2の X座標は、それぞれ、「1. 5」、「2」、「2. 5」となる。
[0112] これらの輝度データの座標に対応する色差データの座標と画素は、図 10の座標変 換ルールより、座標「0. 5」の 1Z2画素 Hp20、座標「1」の整数画素 Fp21、座標「1 . 5」の 1Z2画素 Hp21となる。つまり、色差データの 1ライン 8画素分として生成さ れる可能性のある画素の座標は、次の 3つの場合の 、ずれかである。
(1) 0. 5、 1. 5、 2. 5、 3. 5、 4. 5、 5. 5、 6. 5、 7. 5
(2) 1. 0、 2. 0、 3. 0、 4. 0、 5. 0、 6. 0、 7. 0、 8. 0
(3) 1. 5、 2. 5、 3. 5、 4. 5、 5. 5、 6. 5、 7. 5、 8. 5
座標「0. 5」の 1/2画素 Hp20から座標「7. 5」の 1/2画素 Hp27までを含む場合 (1)の色差データを生成するためには、座標「0」の整数画素 Fp20から座標「8. 0」 の整数画素 Fp28までを、 SDRAM41からローカルメモリ 33に転送する必要がある。
[0113] 座標「1. 5」の整数画素 Hp21から座標「8. 5」の整数画素 Hp28を含む場合(3)の 色差データを生成するためには、座標「1」の整数画素 Fp21から座標「9. 0」の整数 画素 Fp29までを、 SDRAM41からローカルメモリ 33に転送する必要がある。
[0114] 以上より、場合(1)、(2)、(3)の色差データをすベて生成できるようにするためには
、座標「0」の整数画素 Fp20から座標「9. 0」の整数画素 Fp29までを、 SDRAM41 力もローカルメモリ 33に転送すれば良い。このように計算することで、 1Z2画素精度 動き検出が終了する前に、色差の参照画像データを転送することが可能である。
[0115] このように、本形態の動き検出装置によれば、 1Z2画素精度動き検出の結果を待 たずに、動き補償用の参照画像データを転送できるため、動き補償に必要な参照画 像データを取得するための待ち時間が削減され、マクロブロック処理のレイテンシが 改善する。
[0116] ここで、本形態の動き検出装置における必要なパイプライン段数とパイプラインバッ ファ数の削減効果をより明確にするため、従来技術と比較しょう。
[0117] 図 12は、従来技術による動き検出装置のパイプライン構成を示す。同時に、図 12 には、各段で必要なパイプラインバッファを示して 、る。
[0118] 図 12に示すように、 stage— 0において、現在転送している参照画像の輝度データ を保持するための参照画像バッファ (輝度)が必要となる。これは、異なるマクロブロッ ク世代において、データ転送と処理が stage— 0と stage— 1で同時に実施されている ためである。例えば、 stage— 1で (n)番目のマクロブロックの整数画素精度動き検出 を実行して 、る時に、 stage— 0で (n+ 1)番目のマクロブロックの整数画素精度動き 検出用の参照画像データを並行して転送している。この時、(n)番目のマクロブロック の整数画素精度動き検出で参照して 、るメモリ領域を破壊しな 、ために、 stage - 0 におけるデータ転送のために別途バッファを設ける必要がある。さらに、 stage— 1の 整数画素精度動き検出に使用する現画像のマクロブロックデータ (輝度データと色差 データ)を、 stage— 0において同時に転送するために、現マクロブロックバッファ(輝 度 ·色差)が必要である。
[0119] 従来技術による動き検出装置では、動き補償用データの転送が、 stage— 2の 1Z
2画素精度動き検出が完了した後に実行されるため、動き補償を stage— 2とは別の s tage— 3で行う必要がある。これは、 1Z2画素精度動き検出と動き補償の処理を同 じ段に収めることが性能的に難しいためである。この結果、 stage— 2に、輝度データ 転送用の参照画像バッファ (輝度)と、色差データ転送用の参照画像バッファ (色差) と、 stage— 3に、輝度データ動き補償用の参照画像バッファ (輝度)と、色差データ
動き補償用の参照画像バッファ (色差)とが必要となる。
[0120] このように、従来技術による動き検出装置では、 4段のパイプラインが必要であり、 ノ ィプラインバッファは、合計 10個必要である。
[0121] 図 13は、本発明の実施の形態 2における動き検出装置のパイプラインの構成を示 す。本形態のパイプライン構成によれば、 stage— 0において整数画素精度動き検出 用データ転送を行い、 stage— 1において整数画素精度動き検出を行い、その結果 を受けて 1Z2画素精度動き検出用データ転送を行う。 stage— 2において 1Z2画素 精度動き検出と動き補償用データ (色差データ)転送を並行して行 、、その後動き補 償を実施する。
[0122] このように、本形態の動き検出装置によれば、 stage— 1の整数画素精度動き検出 の結果によって、動き補償用データ (色差データ)の転送範囲を特定して、動き補償 用データ (輝度データと色差データ)の転送を、 stage— 2にお 、て 1Z2画素精度動 き検出と並行して実施できるので、必要なパイプライン段数は、 3段である。これは、 図 12に示した従来技術による動き検出装置よりも 1段少ない。
[0123] 図 13には、パイプラインの各段で必要となるノ ィプラインバッファも同時に示してい る。本形態の動き検出装置では、必要なパイプラインバッファは、各段の輝度データ 用の参照画像バッファ (輝度)と、輝度データと色差データ用の現マクロブロックバッ ファ (輝度 ·色差)、及び、 stage— 2の色差データ用の参照画像バッファ (色差)の、 計 7個である。すなわち、本形態の動き検出装置では、 stage— 3が不要となった効 果として、パイプラインバッファ数を、図 12に示した従来技術による動き検出装置の 1 0個から 7個に削減できる。
[0124] (実施の形態 3)
図 14は、本発明の実施の形態 3における動き検出装置のブロック図である。図 14 において、図 1と同様な構成要素については、同一の符号を付すことにより、説明を 省略する。
[0125] 本形態の動き検出装置は、図 14に示すように、整数画素精度動き検出器 21、 1/ 2画素精度動き検出器 22、ローカルメモリ 31、 32、 SDRAM41, DMAコントローラ 42、及び、プロセッサ 20を備える。
[0126] 本形態の動き検出装置では、整数画素精度動き検出の後に、 1Z2画素精度動き 検出を実施し、 1Z4画素精度動き検出は実施しない。また、 1Z2画素精度動き検 出では、参照画像の画素を間引かないものとする。
[0127] 図 15は、本発明の実施の形態 3における動き検出装置のフローチャートである。
[0128] 図 15に示すように、本形態の動き検出装置は、ステップ S51において、整数画素 精度動き検出用の参照画像データを SDRAM41からローカルメモリ 31に転送する。
[0129] ステップ S52において、整数画素精度動き検出を行う。
[0130] ステップ S53において、 1Z2画素精度動き検出用の参照画像データを SDRAM4
1からローカルメモリ 32に転送する。この 1Z2画素精度動き検出用の参照画像デー タの転送は、ステップ S51の整数画素精度動き検出用の参照画像データの転送と並 行して行っても良いし、ステップ S52の整数画素精度動き検出と並行して行っても良 い。
[0131] 1Z2画素精度動き検出用の参照画像データの転送する領域は、整数画素精度動 き検出の探索結果に依存せずに決定される。その決定の方法は、本発明の実施の 形態 1における 1Z4画素精度動き検出用の参照画像データの転送領域の決定の方 法と同様である(図 6参照)。すなわち、現在符号ィ匕中のマクロブロックに対して、整数 精度動きベクトルがどの位置に落ち着いても、 1Z2画素精度動き検出に必要な参照 画像データが必ず含まれるように、 1Z2画素精度動き検出用の参照画像データの 転送する領域を決定する。
[0132] ステップ S54において、ステップ S52の整数画素精度動き検出の探索結果を基に、 ステップ S53で転送した 1Z2画素精度動き検出用の参照画像データを用いて、 1/ 2画素精度動き検出を行う。
[0133] このように、本形態の動き検出装置によれば、整数画素精度動き検出の結果を待 たずに、 1Z2画素精度動き検出用の参照画像データを転送できるため、 1Z2画素 精度動き検出用の参照画像データの待ち時間が削減され、マクロブロック処理のレイ テンシが改善する。
[0134] 図 16は、本発明の実施の形態 3における動き検出装置のパイプラインの構成を示 す。本形態の動き検出装置によれば、 stage— 1において、 1Z2画素精度動き検出
用の参照画像データ転送が実施できるため、パイプラン段数がひとつ少なくて済む。
[0135] (実施の形態 4)
本発明の実施の形態 4の動き検出装置は、図 1に示した本発明の実施の形態 1の 動き検出装置と同じブロック構成である。従って、本形態の動き検出装置の説明は、 図 1を参照して行う。
[0136] 本形態の動き検出装置は、本発明の実施の形態 1と実施の形態 3を組み合わせた ものであり、整数画素精度動き検出、 1Z2画素精度動き検出、及び、 1Z4画素精度 動き検出を実施する。また、本形態の動き検出装置は、 1Z2画素精度動き検出用の 参照画像転送を整数画素精度動き検出の結果を待たずに実施でき、かつ、 1Z4画 素精度動き検出用の参照画像転送を、整数画素精度動き検出において動きべタト ルが確定した直後に開始できる。
[0137] 図 17は、本発明の実施の形態 4における動き検出装置のフローチャートである。図 1を参照しつつ、図 17に従って、本形態の動き検出装置の動作を説明する。
[0138] ステップ S61において、整数画素精度動き検出用参照画像データの転送を行う。
[0139] ステップ S62において、整数画素精度動き検出を行う。
[0140] ステップ S62と同時に、ステップ S63において、 1Z2画素精度動き検出用参照画 像データの転送を行う。
[0141] ステップ S64において、ステップ S62の整数画素精度動き検出の探索結果を基に、 ステップ S63で転送した 1Z2画素精度動き検出用の参照画像データを用いて、 1/
2画素精度動き検出を行う。
[0142] ステップ S64と同時に、ステップ S65において、ステップ S62の整数画素精度動き 検出の探索結果を基に決定されたデータ転送領域について、 1Z4画素精度動き検 出用参照画像データの転送を行う。
[0143] ステップ S66において、テツプ S64の 1Z2画素精度動き検出の探索結果を基に、 ステップ S65で転送した 1Z4画素精度動き検出用の参照画像データを用いて、 1/
4画素精度動き検出を行う。
[0144] このように、本形態の動き検出装置は、整数画素精度動き検出の結果を待たずに、
1Z2画素精度動き検出用の参照画像データを転送できるため、 1Z2画素精度動き
検出用の参照画像データの待ち時間が削減される。さらに、 1Z2画素精度動き検出 の結果を待たずに、 1Z4画素精度動き検出用の参照画像データを転送できるため 、 1Z4画素精度動き検出用の参照画像データの待ち時間が削減される。この結果、 本形態の動き検出装置によれば、マクロブロック処理のレイテンシが大幅に改善する
[0145] 図 18は、本発明の実施の形態 4における動き検出装置のパイプラインの構成を示 す。図 18に示すように、本形態の動き検出装置は、 stage— 1において、 1Z2画素 精度動き検出用の参照画像データの転送が実施でき、かつ、 stage— 2において、 1 Z4画素精度動き検出用の参照画像データの転送が実施できる。その結果、本形態 の動き検出装置では、パイプライン段数が 2段削減される。さらに、本形態の動き検 出装置は、マクロブロック処理のレイテンシカ 動きベクトル検出の実行時間のみによ つて決定され、データ転送による遅延が生じな!/ヽと!ヽぅ特徴を有する。
[0146] (実施の形態 5)
図 19は、本発明の実施の形態 5における動き検出装置のブロック図である。図 19 において、図 1と同様な構成要素については、同一の符号を付すことにより、説明を 省略する。
[0147] 本形態の動き検出装置は、図 19に示すように、整数画素精度動き検出器 21、動き 補償器 24、ローカルメモリ 31、 32、 SDRAM41, DMAコントローラ 42、及び、プロ セッサ 20を備える。
[0148] 本形態の動き検出装置では、整数画素精度動き検出の後に、動き補償を行う。
[0149] 図 20は、本発明の実施の形態 5における動き検出装置のフローチャートである。
[0150] 図 20に示すように、本形態の動き検出装置は、ステップ S71において、整数画素 精度動き検出用の参照画像データを SDRAM41からローカルメモリ 31に転送する。
[0151] ステップ S72において、ステップ S71においてローカルメモリ 31に転送された参照 画像データを用いて、整数画素精度動き検出を行う。
[0152] ステップ S73において、動き補償用の参照画像データを SDRAM41からローカル メモリ 32に転送する。この参照画像データの転送は、ステップ S72の整数画素精度 動き検出と並行して実施する。
[0153] ステップ S74において、ステップ S73で転送した動き補償用の参照画像データを用 いて、ステップ S72の整数画素精度動き検出の探索結果を基に、動き補償を行う。
[0154] このように、本形態の動き検出装置によれば、整数画素精度動き検出の結果を待 たずに、動き補償用の参照画像データを転送できるため、動き補償用の参照画像デ ータの待ち時間が削減され、マクロブロック処理のレイテンシが改善する。
[0155] 図 21は、本発明の実施の形態 5における動き検出装置のパイプラインの構成を示 す。本形態の動き検出装置によれば、 stage— 1において、動き補償用の参照画像 データ転送が実施できるため、パイプラン段数がひとつ少なくて済む。
[0156] 以上説明したように、本発明の動き検出装置によれば、 1Z2画素精度動き検出用 の参照画像データの転送と 1Z4画素精度動き検出用の参照画像データの転送とを 、それぞれ上位の階層の画素精度動き検出の結果を待たずに、実施できるので、参 照画像データの転送に伴う遅延が生ぜず、マクロブロック処理のレイテンシが大幅に 改善する。また、本発明の動き検出装置によれば、パイプライン段数の削減と、パイ プラインバッファ数の削減が可能となる。この結果、高速処理可能な動画像の動き検 出装置を、より小型に低コストで実現できる。
[0157] 本発明の趣旨は、参照画像データの転送に伴うマクロブロック処理のレイテンシを 改善し、さらに、パイプラインバッファの必要個数を削減できる、動画像符号化用動き 検出装置を実現することにあるのであって、本発明の趣旨を逸脱しない限り、種々の 適用が可能である。
産業上の利用可能性
[0158] 本発明に係わる動き検出装置は、例えば、動画像の符号ィ匕装置とその応用分野に おいて利用できる。