(57)【特許請求の範囲】
【請求項１】
現画像に対する予測画像を参照画像と動きベクトルから生成する動画像の画像圧縮符号化方法において、
マクロブロックを、マクロブロックより小さい複数のサブブロックに分割し、
次に、サブブロックの初期動きベクトルを選択し、
次に、ＴＢｉ，ｊが現画像のテンプレートブロック内の画素位置（ｉ，ｊ）における画素値を表し、ＳＷｉ，ｊが予測画像のサーチウィンドウ内の画素位置（ｉ，ｊ）における画素値を表し、Ｖｘ、Ｖｙがベクトル値を表わすとき、各サブブロックに対して、それぞれ独立して、現画像と参照画像との差を表す第１の評価値Ｅ
【数１】
0003715283.tif 000026
と、その微係数
【数２】
0003715283.tif 000027
と
【数３】
0003715283.tif 000028
を計算して、微係数が示す下り勾配の最も急な方向に向かって第１の評価値Ｅを計算し、
次に、各サブブロックの探索で得られた第１の評価値Ｅのうち最も小さい評価値Ｅを示すベクトルを各サブブロックの最適ベクトルとし、
次に、各サブブロックについて、最適ベクトルに対応するサブブロックの分割前のマクロブロックにおける位置を維持したまま参照画像で補完してマクロブロックを構成し、このマクロブロックに対して第２の評価値Ｅ
【数４】
0003715283.tif 000029
を計算し、
次に、複数のサブブロックについて得られた第２の評価値Eの中で最も小さい第２の評価値Eを示すベクトルを動きベクトルと決定する
画像圧縮符号化方法。
【請求項２】
さらに、マクロブロックについて、第２の評価値Ｅとその微係数を計算し、微係数が示す下り勾配の最も急な方向に向かって所定ステップ幅で第２の評価値Ｅを計算して、第２の評価値Ｅが最小となるベクトルを決定し、この決定したベクトルを、前記のサブブロックの初期動きベクトルとすることを特徴とする請求項１に記載された画像圧縮符号化方法。
【請求項３】
さらに、マクロブロックについて、第２のＥとその微係数を計算し、微係数が示す下り勾配の最も急な方向に向かって所定ステップ幅で評価値Ｅを計算して、第２の評価値Ｅが最小となるベクトルを決定し、
サブブロックにより決定されたベクトルとマクロブロックにより決定されたベクトルの中で最小の第２の評価値Ｅを有するベクトルを動きベクトルと決定する
ことを特徴とする請求項１に記載された画像圧縮符号化方法。
【請求項４】
前記の微係数の計算と第１又は第２の評価値Ｅの計算をｎ階層（ｎは自然数）で行い、（ｍ＋１）階層画像はｍ階層画像（ｍはｎ以下の自然数）の１／４サンプリングで生成することを特徴とする請求項１〜３のいずれかに記載された画像圧縮符号化方法。
【請求項５】
さらに、マクロブロックまたはサブブロックが参照画像の上、下、左または右の境界をはみ出す場合、はみ出した側と反対の側の画素で補完して探索を続行することを特徴とする請求項１〜４のいずれかに記載された画像圧縮符号化方法。
【請求項６】
マクロブロックのサイズのテンプレートブロックのデータを記憶するテンプレートブロックメモリと、
サーチウィンドウのデータを記憶するサーチウィンドウメモリと、
マクロブロックを、マクロブロックより小さい複数のサブブロックに分割して得られる各サブロックについて、探索点や探索範囲内のサブブロックの画素データのアドレスを発生し、テンプレートブロックメモリとサーチウィンドウメモリに出力するアドレス生成回路と、
テンプレートブロックメモリとサーチウィンドウメモリのサブブロックの画素データを入力して、ＴＢｉ，ｊが現画像のテンプレートブロックの位置（ｉ，ｊ）における画素値を表し、ＳＷｉ，ｊが予測画像のサーチウィンドウの位置（ｉ，ｊ）における画素値を表し、Ｖｘ、Ｖｙがベクトル値を表わすとき、
【数５】
0003715283.tif 000030
と、（ｉ＋Ｖｘ，ｊ＋Ｖｙ）位置でのｘ方向の画素値の差分とｙ方向の画素値の差分、及び、それらの積を、探索範囲の１ラインについて並列に計算する１６個の演算素子と、探索範囲の各ラインの演算素子の演算結果を加算して、サブブロックについての第１の評価値Ｅ
【数６】
0003715283.tif 000031
と、その微係数
【数７】
0003715283.tif 000032
と
【数８】
0003715283.tif 000033
および、マクロブロックについての第２の評価値Ｅ
【数９】
0003715283.tif 000034
を求める加算回路とからなる評価値・微係数計算部と、
評価値・微係数計算部の計算結果より動きベクトルを生成するベクトル生成回路と、
評価値・微係数計算部に第１又は第２の評価値Ｅとその微係数のいずれを演算するかを設定し、アドレス生成回路を制御して、サブブロック又はマクロブロックについて探索範囲内を設定して演算を繰り返させて、その演算結果を加算回路に加算させ、得られた第１又は第２の評価値Ｅと微係数を出力させるシーケンサであって、評価値・微係数計算部に、各サブブロックに対して、それぞれ独立して、現画像と参照画像との差を表す第１の評価値Ｅと、その微係数を計算させ、微係数が示す下り勾配の最も急な方向に向かって第１の評価値Ｅを計算させ、各サブブロックの探索で得られた第１の評価値Eのうち最も小さい評価値Ｅを示すベクトルを各サブブロックの最適ベクトルとし、次に、各サブブロックについて、最適ベクトルに対応するサブブロックの分割前のマクロブロックにおける位置を維持したまま参照画像で補完してマクロブロックを構成し、このマクロブロックに対して第２の評価値Eを計算させ、ベクトル生成回路に、得られた複数の第２の評価値Ｅの中で最も小さい第２の評価値Ｅを示すベクトルを動きベクトルと決定させるシーケンサと
を備える画像圧縮符号化装置。
【請求項７】
前記の演算素子は、
テンプレートブロックメモリからの画素データ、サーチウィンドウメモリからの画素データ、及び、サーチウィンドウメモリからの隣の画素データを記憶する複数のレジスタと
＋入力端子への入力値と−入力端子への入力値との差を演算する第１と第２の減算回路と、
ライン方向に垂直な方向に遅延する遅延回路を含み、前記のシーケンサからの制御信号に応じて、前記のレジスタに記憶されている画素データ、または、遅延回路により遅延した画素データを、第１と第２の減算回路のいずれかの入力端子に導く接続回路と、
第１と第２の減算回路の出力データを乗算する乗算回路と
からなることを特徴とする請求項６に記載された画像圧縮符号化装置。
【請求項８】
前記のレジスタは、テンプレートブロックメモリからの画素データを記憶する第１レジスタ、サーチウィンドウメモリからの左隣の画素データを記憶する第２レジスタ、サーチウィンドウメモリからの画素データを記憶する第３レジスタ、サーチウィンドウメモリからの右隣の画素データを記憶する第４レジスタ、サーチウィンドウメモリからの右隣または左隣の画素のデータを記憶する第５レジスタを含むことを特徴とする請求項７に記載された画像圧縮符号化装置。
【請求項９】
前記の演算素子が、さらに、サーチウィンドウメモリからの画素データから半画素のデータを生成するハーフペルブレンダを備えることを特徴とする請求項６に記載された画像圧縮符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像の画像符号化技術に関するものである。
【０００２】
【従来の技術】
現在、携帯情報端末機器が著しく普及し、いつでも、どこでも、だれとでも会話し、動画像を送ることができるようになった。したがって、限られた電池容量での長時間動作の需要が拡大している。
【０００３】
動画像の圧縮を行うＭＰＥＧエンコーダでは、動き補償予測器で画像間の動きを予測して予測符号化を行う。ここで、現画像において、参照画像の中で最もよくマッチングするマクロブロックの位置を見つけ、その位置の画像を予測画像とし、その位置を動きベクトル情報として伝送する。この動きベクトルを用いて動きを補償して符号化を行う。動きベクトルを決定するために用いられるブロックマッチングの手法として全探索法が用いられる。全探索法を用いるＭＰＥＧエンコーダにおいて、演算処理は、大部分が動き補償予測器の演算処理であるので、動き補償予測器の低消費電力化が必要不可欠である。
【０００４】
ブロックマッチングに用いられる全探索法とは、網羅的に探索を行う手法である。この手法では、現画像のマクロブロック（TB：１６×１６画素のテンプレートブロック）について、参照画像の探索範囲（SW：サーチウィンドウ）内のすべてのマクロブロックについて、評価値としてたとえば歪値のブロック内総和(差分自乗和)を計算し、それが最小となるものを動きベクトル(Vx, Vy)として検出する。ここで探索範囲が±１６×±１６の場合は、３２２のベクトルを計算することになる。全探索法は、すべてのベクトルについて計算するため、画像の質が非常によいが、演算量が膨大になってしまう。
【０００５】
全探索法に比べて演算量を著しく削減できる手法として、追跡法（たとえば非特許文献１）や勾配法（たとえば非特許文献２）がある。追跡法では、まず初期ベクトルを計算する。ここで、上ベクトル、右上ベクトル、左ベクトルの中で最も評価値Ｅ（たとえば差分自乗和）が小さくなるベクトルを初期ベクトルとして選択する。次に、周囲４近傍のブロックマッチングを半画素精度で行って、最小値の方向にマクロブロックを半画素精度で移動させる。この処理を繰り返し、極小値に移動したと判定すると、処理を終了する。
【０００６】
勾配法は、最急降下法の１種であり、ある探索点における評価値Ｅの微係数を計算し、その微係数の示す下り勾配の最も急な方向に向かって評価値を計算して評価値が最小値となるベクトルを求め動きベクトルと決定する。具体的には、まず初期動きベクトルの評価値を計算する。次に、微係数を計算して、その方向に向かって評価値Ｅを計算し、１次元探索を行って最小値を決定する。この方法では、微係数を計算し、その方向の評価値のみを計算するので、演算量が少なくなる。
【０００７】
【特許文献１】
特開平８−７９７６０号公報
【特許文献２】
特開２０００−１０２０１６号公報
【非特許文献１】
H. Nakayama et al., "An MPEG-4 Video LSI with an Error-Resilient Codec Core based on a Fast Motion Estimation", Proc. ISSCC 2002, 22-2, 2002
【非特許文献２】
M. Takabayashi et al., "A Fast Motion Vector Detection based on Gradient Method", Technical Report of IEICE, IE2001-74, Sep., 2001
【０００８】
【発明が解決しようとする課題】
動き予測の演算処理においては、さらに低演算量化や高画質化が望ましい。ところで、勾配法は、初期値によって局所解に非常に陥りやすいという欠点がある。そのため、最適な動きベクトルを検出できず、画質が劣化してしまうことがある。したがって、演算量を削減できるとともに、画質を劣化しない演算処理が望ましい。
【０００９】
なお、後で説明するように，本発明では探索のためにマクロブロックより小さいサブブロックを用いているが、マクロブロック内に複雑な動きがある場合、実際の動きと異なる動きベクトルを選定するという問題を解決するため、特許文献１，２に記載された動き補償予測器では、マクロブロックを８×８画素のサブブロックに分割し、サブブロック単位でブロックマッチングを行っている。４個のサブブロックについての４個の動きベクトルを求めて、適当な動きベクトルを設定する。
【００１０】
この発明の目的は、追跡法アルゴリズムと同等の演算量でかつ高画質とすることが可能な勾配法を用いた画像圧縮符号化を提供することである。
【００１１】
【課題を解決するための手段】
本発明に係る動画像の画像符号化方法では、現画像に対する予測画像を参照画像と動きベクトルから生成する動画像の画像圧縮符号化方法において、マクロブロックを、マクロブロックより小さい複数のサブブロックに分割し、次に、サブブロックの初期動きベクトルを選択し、次に、ＴＢｉ，ｊが現画像のテンプレートブロック内の画素位置（ｉ，ｊ）における画素値を表し、ＳＷｉ，ｊが予測画像のサーチウィンドウ内の画素位置（ｉ，ｊ）における画素値を表し、Ｖｘ、Ｖｙがベクトル値を表わすとき、各サブブロックに対して、それぞれ独立して、現画像と参照画像との差を表す第１の評価値Ｅ
【数１０】
0003715283.tif 000002
と、その微係数
【数１１】
0003715283.tif 000003
と
【数１２】
0003715283.tif 000004
を計算して、微係数が示す下り勾配の最も急な方向に向かって第１の評価値Ｅを計算し、次に、各サブブロックの探索で得られた第１の評価値Eを示すベクトルを各サブブロックの最適ベクトルとし、次に、各サブブロックについて、最適ベクトルに対応するサブブロックの分割前のマクロブロックにおける位置を維持したまま参照画像で補完してマクロブロックを構成し、このマクロブロックに対して第２の評価値Ｅ
【数１３】
0003715283.tif 000005
を計算し、次に、複数のサブブロックについて得られた第２の評価値Ｅの中で最も小さい第２の評価値Eを示すベクトルを動きベクトルと決定する。
【００１２】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施の形態を説明する。なお、図面において、同じ参照記号は同一または同等のものを示す。
【００１３】
図１は、ＭＰＥＧ符号化において用いられる画像圧縮などを行う標準の画像エンコーダの構成を示す。符号化対象の現画像の画像データとフレーム情報が入力される。差分回路１０では現画像と予測画像との差分が求められ、差分は、離散コサイン変換回路１２で離散コサイン変換され、量子化回路１４で量子化される。その後、エントロピー符号化回路１６で量子化データの符号化がされた後、圧縮されたデータはバッファ１８を経てビットストリームとして出力される。一方、量子化データは、逆量子化回路２０と逆ＤＣＴ回路２２を経て復号されて加算器２４で予測画像と加算され、元のデータに再構成される。動き補償予測器２６では、参照画像から現画像を予測する動きベクトルが決定され、予測画像が作成される。
【００１４】
動き補償予測器２４における動きベクトルの決定において、従来の勾配法では、まず初期動きベクトルＶを計算して探索点を求める。評価値Ｅを歪値のブロック内総和(差分自乗和)で表わすと、探索点における評価値Ｅは、ＴＢｉ，ｊが現フレームのテンプレートブロック（符号化対象画像）の画素位置（ｉ，ｊ）における画素値を表し、ＳＷｉ，ｊが予測画像（たとえば前フレーム画像）のサーチウィンドウの画素位置（ｉ，ｊ）における画素値を表すとすると、以下の通りである。
【数１４】
0003715283.tif 000006
(ここに、ｉ，ｊは、テンプレートブロックの画素位置を表す０〜１５の整数)。上述の初期探索点で評価値Ｅの微係数（勾配）を計算して、微係数が示す下り勾配の最も急な方向に向かって評価値Ｅを計算し、１次元探索を行って最小値を決定する。
【００１５】
従来は、探索は、ブロックマッチングをするときのマクロブロック（１６×１６＝２５６画素）の単位で行っていた。しかし、小さいサイズの画像、細かい画像（空間周波数の高い画像）などの場合、マクロブロックのサイズが大きすぎるため、最適な動きベクトルが決定できず、画質が劣化してしまう危険性がある。そこで、マクロブロックより小さいサブブロックの単位で探索を行ったところ、画質が向上することがわかった。以下に説明する例では、サブブロックは、マクロブロックを４つに分割した１つのブロック（８画素×８画素のブロック）とする。ただし、サブブロックとはマクロブロックより小さいサイズのブロックをいい、８画素×８画素のサイズには限定されない。
【００１６】
図２は、高画質化のためサブブロック探索を導入した勾配法のアルゴリズムを示す。画像の中の１つのマクロブロックについて、まず初期動きベクトルを選択する（Ｓ１０）。次に、マクロブロック探索を行う（Ｓ１２）。「マクロブロック探索」とは、前述のマクロブロックの単位での探索をいう。また、これと並列に、サブブロック探索を行う（Ｓ１４）。「サブブロック探索」とは、マクロブロックより小さいサイズのサブブロックの単位での探索をいう。次に、得られた評価値の中での最小値を判定する（Ｓ１６）。ここで、マクロブロック探索結果と、４つのサブブロックのそれぞれについての探索結果の５種類のベクトルの評価値Ｅをすべて計算し、最適なベクトルを選択して、動きベクトルとする。最後に、最終調整を行う（Ｓ１８）。最終調整では、以上の探索結果を中心に、半画素精度で周囲８点または４点に対して探索する。これにより、半画素精度で動きベクトルを決定する。
【００１７】
ここでは、マクロブロック探索とサブブロック探索とを並列に行うので、処理時間が短縮できる。一方、マクロブロック探索の後で、その結果を参照してサブブロック探索を行うようにしてもよい。これにより動きベクトルをより精度よく決定できる。
【００１８】
マクロブロック探索（Ｓ１２）においては、評価値Ｅの微係数
【数１５】
0003715283.tif 000007
【数１６】
0003715283.tif 000008
を計算し（Ｓ２０）、微係数の表わす方向に向かって評価値Ｅを計算し、１次元探索を行って最小値を決定する（Ｓ２２）。
【００１９】
サブブロック探索（Ｓ１４）においては、まず、マクロブロック（１６画素×１６画素）をサブブロック（８画素×８画素）に分割する（Ｓ３０）。ここで、図３に示すように、１つのマクロブロック（ＭＢ）が４つのサブブロック（ＳＢａ、ＳＢｂ、ＳＢｃ、ＳＢｄ）に分割される。
【００２０】
次に、サブブロックの初期ベクトルを選択する（Ｓ３２）。なお、マクロブロック検索（Ｓ１２）とサブブロック検索（Ｓ１４）を並列に行う場合、サブブロックの初期ベクトルはマクロベクトルの初期ベクトルと等しいベクトルとするが、マクロブロック検索（Ｓ１２）の後でサブブロック検索（Ｓ１４）を行う場合、サブブロックの初期ベクトルは、マクロブロックの最適ベクトルと等しいベクトルとする。
【００２１】
次に、図４に示すように、各サブブロックに対して、それぞれ独立して、マクロブロック探索と同様に、評価値Ｅの微係数
【数１７】
0003715283.tif 000009
【数１８】
0003715283.tif 000010
を計算して（Ｓ３４）、評価値を計算して探索方向
【数１９】
0003715283.tif 000011
でベクトル（Vx, Vy）の探索を行う（Ｓ３６）。（なお、後で説明するように探索方向は丸める。）低演算量化のため、探索点（動きベクトル）の範囲は狭いことが望ましい。そこで、画質と探索点の範囲との関連を調べ、探索範囲を±１６×±１６と決定する。ここで、探索方向に向かって評価値Ｅ
【数２０】
0003715283.tif 000012
を計算し、図５に示すように、１次元探索を行って最小値を決定する。１次元探索では、探索方向に向かって所定のステップ幅（たとえば１画素）で評価値を計算して行き、評価値が増加したら探索を終了する。ここで、探索を終了した１つ手前の微係数を計算し、そこでの微係数で表わされる探索方向θ'を計算する。θ'がθと同じでなければその方向で１次元探索を行う。θ'がθと同じであれば探索を終了する。マクロブロック検索（Ｓ１２）とサブブロック検索（Ｓ１４）を並列に行う場合は、マクロブロックも検索し最適ベクトルを探す。
【００２２】
次に、サブブロックをマクロブロックに拡張する（Ｓ３８）。ここで、図６に示すように、各サブブロックの欠けている部分を補完するように拡張する。
【００２３】
局所解に陥らないようにするため、サブブロック探索もマクロブロック探索も、微係数と評価値の計算を、ｎ階層で行う。図７に示すように、階層画像は、処理を簡単にするため、１／４サンプリング（間引き）で生成する。ｎ＋１階層画像は、ｎ階層画像の画像を１／２に間引いた画像であり、ｎ階層画像の４分の１の画素数からなる。サブブロック探索では、１階層画像は、８×８画素からなり、マクロブロック探索では、１階層画像は、１６×１６画素からなる。上位階層から順に動きベクトルの探索を行う。たとえば３階層の場合、図８に示すように、３階層探索（Ｓ５０）、２階層探索（Ｓ５２）、１階層探索（Ｓ５０）の順に探索を行う。探索範囲は、３階層では±４×±４、２階層では±８×±８、１階層では±１６×±１６である。各階層で、前述の微係数の計算と評価値の計算を行い、間引きをしない一番下の階層（１階層）で動きベクトルを決定する。上位階層では下位階層よりもスムージング効果が働くので、局所解に陥る確率を低減でき、画質の向上を図れる。
【００２４】
最小値の判定（Ｓ１６）では、４つのサブブロック探索（及びマクロブロックへの拡張）の結果及びマクロブロック探索の結果の５種類のベクトルの評価値Ｅをすべて計算する。そして、最適なベクトルを選択し、動きベクトルとする。サブブロックだけを行う場合は、ここで、各サブブロックについて得られたベクトルの中から最適ベクトルを選択すればよい。
【００２５】
最後に、最終調整（Ｓ１８）では、全画素精度で求めた結果に対し、半画素精度で周囲８近傍または周囲４近傍のブロックマッチングを行い、動きベクトルの補正を行う。図９を用いて説明すると、実線で描かれた円は整数画素を表し、破線で描かれた円は半画素を表す。ここで、半画素での値は、４近傍の場合、注目画素とその反対側に隣接する画素の値の平均値として求め、８近傍の場合、注目画素を含む４近傍の画素の値の平均値として求める。勾配法で求めた動きベクトル（実線）を中心に、周囲反画素精度の８近傍（または４近傍）の中から最適な動きをベクトル検索する。また、この最終調整を、必要に応じて複数回繰り返すことにより、画質の改善が図れる。さらに、動きベクトルを半画素精度で得られるので、動きベクトルの精度が向上し画質を改善できる。
【００２６】
演算においては、ＶＬＳＩ化のために、以下の点を考慮する。
（１）微係数と評価値はすべて整数画素精度で計算する。
（２）微係数を計算するとき、探索方向は周囲の８近傍方向に丸め込みを行う。
（３）探索ステップ幅は、微係数の値によって変化せず、常に１画素とする。
（４）階層画像の生成には、前に述べたように、１／４サブサンプリングを用いる。
（５）また、微係数の算出に必要な画素は、マクロブロック＋周囲１画素となる。しかし、ハードウェア化の容易性から、周囲１画素はマクロブロックの端の画素で代用する。
【００２７】
探索方向の８近傍丸め込みについて図１０により説明する。８近傍方向とは、注目画素の上、下、左、右および４つの斜めの方向Ｄ１〜Ｄ８（図では▲１▼〜▲８▼で示す）である。探索方向を決定するときに周囲の８近傍方向Ｄ１〜Ｄ８に探索方向を丸める。探索のステップ幅は1画素である。
（１）第１象限にｔａｎθがある場合（０°≦θ≦９０°すなわちｄｘ＞０かつｄｙ＞０）、
｜ｄｘ｜＞２＊｜ｄｙ｜のとき、探索方向はＤ１とする。
２＊｜ｄｘ｜＜｜ｄｙ｜のとき、探索方向はＤ３とする。
その他のとき、探索方向はＤ２とする。
（２）第２象限にｔａｎθがある場合（９０°≦θ≦１８０°すなわちｄｘ＜０かつｄｙ＞０）、
｜ｄｘ｜＞２＊｜ｄｙ｜のとき、探索方向はＤ５とする。
２＊｜ｄｘ｜＜｜ｄｙ｜のとき、探索方向はＤ３とする。
その他のとき、探索方向はＤ４とする。
（３）第３象限にｔａｎθがある場合（１８０°≦θ≦２７０°すなわちｄｘ＜０かつｄｙ＜０）、
｜ｄｘ｜＞２＊｜ｄｙ｜のとき、探索方向はＤ５とする。
２＊｜ｄｘ｜＜｜ｄｙ｜のとき、探索方向はＤ７とする。
その他のとき、探索方向はＤ６とする。
（４）第４象限にｔａｎθがある場合（２７０°≦θ≦３６０°すなわちｄｘ＞０かつｄｙ＜０）、
｜ｄｘ｜＞２＊｜ｄｙ｜のとき、探索方向はＤ１とする。
２＊｜ｄｘ｜＜｜ｄｙ｜のとき、探索方向はＤ７とする。
その他のとき、探索方向はＤ８とする。
ここで、ｄｘはｘ微分を表わし、ｄｙはｙ微分を表わす。したがって、たとえば、θ＝３１°であれば、Ｄ２方向に丸める。
【００２８】
また、サブブロックまたはマクロブロックが参照画像の境界をはみ出る場合は境界探索法を採用する。「境界探索法」とは、参照画像の上下左右の境界をそれぞれ反対側の画素で補完する探索法である。左右の場合の例を説明すると、図１１の概念図に示すように、もし探索範囲のブロックが左端をはみ出してしまう場合、通常は左側で探索を終了するが、境界探索法では、はみ出した部分を補完し、探索を続行する。この境界探索法により、画像全体が左右上下にゆっくりと移動しているような場合、大きな効果が得られる。なお、双方向予測を行えば同じ結果が得られるが、演算量が約２倍に大きくなってしまう。
【００２９】
最後に、全画素精度で得られた判定結果について、半画素精度で最終調整を行う（Ｓ５０）。ここで、ｎ階層探索の結果に対し周囲の８近傍（または４近傍）のすべての評価値を計算し、動きベクトルの誤差を半画素単位で調整する。
【００３０】
次に、シミュレーション結果を示す。ここで、表１〜表５は、ＱＣＩＦ画像（１７６×１４４画素）についてのシミュレーション結果であり。表６〜表１０は、ＣＩＦ画像（３５２×２８８画素）についてのシミュレーション結果を示す。ここで、探索範囲は、いずれの場合も±１６×±１６画素である。また、探索法の表記について説明すると、ＦＳは、全探索法を表す。ここで、ＭＳＥは、評価値として差分自乗和平均を用いることを表し、ＭＡＥは、評価値として差分絶対値和を用いることを表し、１／４ＭＡＥは、１／４サブサンプリングを用いた差分絶対値和を表す。１／４サブサンプリングとは、縦横それぞれ２画素ごとのサンプリングであり、候補となるベクトルの数は４分の１となる。ＧＲＳは、追跡法を表す。ここで、Ｈ２とＨ１は２階層と１階層を表す。ＧＤＳは、従来の勾配法を表し、ＧＤＳ＋ＳＢが本発明のサブブロックを用いた勾配法を表す。ここで、(Hn,p:q:r)において、Ｈｎは探索の階層がｎ階層であることを表し、p:q:rは、３階層目、２階層目、１階層目での探索回数を表す。また、基本とは、境界探索法を用いない方法により動きベクトルを求めたことを表し、「境界」とは、さらに境界探索法を用いたことを表す。「８近傍最終調整」とはさらに周囲８近傍の最終調整を行ったことを表し、「４近傍最終調整」とはさらに周囲４近傍の最終調整を行ったことを表す。
【００３１】
表１は、サンプル画像（QCIF-salesman）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表１】
0003715283.tif 000013
【００３２】
表２は、サンプル画像（QCIF-Susie）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表２】
0003715283.tif 000014
【００３３】
表３は、サンプル画像（QCIF-mobile & calendar）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表３】
0003715283.tif 000015
【００３４】
表４は、サンプル画像（QCIF-bus）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表４】
0003715283.tif 000016
【００３５】
表５は、サンプル画像（QCIF-flower garden）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表５】
0003715283.tif 000017
【００３６】
次に、ＣＩＦ画像（３５２×２８８画素）の場合のシミュレーション結果を説明する。表６は、サンプル画像（salesman）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表６】
0003715283.tif 000018
【００３７】
表７は、サンプル画像（CIF-Susie）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表７】
0003715283.tif 000019
【００３８】
表８は、サンプル画像（CIF-mobile & calendar）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表８】
0003715283.tif 000020
【００３９】
表９は、サンプル画像（CIF-bus）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表９】
0003715283.tif 000021
【００４０】
表１０は、サンプル画像（CIF-flower garden）に対して各種探索法を用いたときのシミュレーション結果を示す。
【表１０】
0003715283.tif 000022
【００４１】
図１２は、ＱＣＩＦ画像における演算量と画質との関係を示し、図１３は、ＣＩＦ画像における演算量と画質との関係を示す。なお、これらの図に示したのは、高画質１モード（サブブロック探索、基本＋４近傍最終調整）と高画質２モード（サブブロック探索、基本＋８近傍最終調整）の他、低演算量１モード（マクロブロック探索、基本＋４近傍最終調整）、低演算量２モード（マクロブロック探索、基本＋８近傍最終調整）及び追跡法であり、各データは上述のシミュレーションの対象とした画像の平均である。これらのシミュレーション結果から分かるように、勾配法は、全探索法に比べると、演算量は大幅に削減でき、従って消費電力が大幅に削減できる。追跡法や低演算量１モード、低演算量２モードと比べると、高画質２モードと高画質１モードが、いずれも演算量は２倍程度に増加するが、画質が全探索法と同じ程度に優れている。高画質１モードと高画質２モードの中では、高画質２モードの方が画質がよい。画像と演算量とはトレードオフの関係にある。したがって、これらの複数のモードを導入して使用者が選択できるようにしてもよい。
【００４２】
次に、サブブロック探索を行うＭＰＥＧエンコーダ（画像圧縮符号化装置）のアーキテクチャについて説明する。このＭＰＥＧエンコーダにおいて、動き補償予測器はサブブロック探索を行って動きベクトルを決定する。図１４は、この動き補償予測器の主要なブロックを示し、図１５は、その構成を別の観点から書いたものである。動き補償予測器は、上述の４つのモード（高画質モード１、高画質モード２、低演算量モード１、低演算量モード２）で動作するように構成されている。ＶＬＳＩアーキテクチャの特徴は、（１）評価値・微係数計算部における評価値と微係数の計算が可能な１つの演算素子の採用、（２）１６個の演算素子を並列に接続したＳＩＭＤデータパスの採用、（３）画像データキャッシュのための低消費電力の３ポートＲＡＭの画像メモリの搭載である。前述の演算素子の採用により、１つの演算素子に適当な画素データと制御信号を入力することにより、評価値と微係数の計算に必要な各種の演算が可能である。また、１６個の演算素子の並列接続により、１サイクルで１６画素（探索ブロックの１ライン）の計算ができる。また、画像データキャッシュ（ＴＢメモリとＳＷメモリ）は低消費電力のメモリ素子を採用するので、メモリの消費電力が大幅に削減できる。これ等の特徴により、消費電力を見積もると、動き補償予測器についてサブｍＷを達成する見通しがたった。
【００４３】
図１４の動き補償予測器の構成について説明すると、シーケンサ１０２は、ＣＰＵバスインタフェース１００とＣＰＵバスを介してＣＰＵ（図示しない）に接続される。また、ＳＷメモリ１１４とＴＢメモリ１１６は、メモリバスインタフェース１１２とメモリバスを介してフレームメモリ（図示しない）に接続される。ＴＢメモリ１１６は、動きベクトル検出のためのテンプレートブロックデータを格納するＲＡＭである。３階層探索を行うため、階層ごとにテンプレートブロックを持つ。１６×１６画素のサイズを備え、現在のマクロブロックの処理中に次のマクロブロックのデータが書きこまれる。ＳＷメモリ１１４は、動きベクトル検出のためのテンプレートブロックデータを格納するＲＡＭである。３階層探索を行うため、階層ごとにテンプレートブロックを持つ。各階層での最大探索範囲は３階層では±４×±４、２階層では±８×±８、１階層では±１６×±１６である。現在のマクロブロックの処理中に次のマクロブロックの画像データをライトするために必要な画素数は、３階層で４×１０画素、２階層で８×２０画素、１階層で１６×４０画素である。シーケンサ１０２は、制御状態レジスタ１０４を含み、制御状態レジスタ１０４には、ＣＰＵから各種パラメータ、コマンドなどが設定され、また、探索により得られた評価値Ｅや動きパラメータＶｘ，Ｖｙが記憶される。このパラメータなどには、サーチウィンドウのベースアドレスとオフセット、サーチウィンドウの探索範囲、初期ベクトル、動きベクトル検出コマンド、割込みのための動きベクトル検出開始情報、探索して点の数が含まれる。また、シーケンサ１０２は、パイプラインレジスタ１０６を含み、この回路は、評価値と微係数の計算に最適化されたパイプライン構成を採る。ＳＷリードアドレス生成回路１０８とＴＢリードアドレス生成回路１１０は、シーケンサ１０２からのパラメータに応じて、ＳＷメモリ１１４とＴＢメモリ１１６にアドレス、たとえば画素位置（i, j）や（i+Vx, j+Vy）に対応するアドレスを出力する。ＳＷメモリ１１４の画素データは評価値・微係数計算部１２０に出力され、また、ＴＢメモリ１１６の画素データはクロスパス１１８を経て評価値・微係数計算部１２０に出力される。実際には、評価値・微係数計算部１２０の中の演算素子が並列に演算を行い、評価値・微係数計算部１２０の中の加算回路が演算素子の演算結果を加算して、評価値とｘ微係数、ｙ微係数を出力する。評価値・微係数計算部１２０は、制御信号に応じて評価値、ｘ微係数、ｙ微係数などの異なる種類の演算を行う。なお、演算素子にハーフペルブレンダを搭載することにより半画素精度の探索が可能である。
【００４４】
なお、図１５において、ＡＧはＳＷリードアドレス生成回路１０８とＴＢリードアドレス生成回路１１０に対応し、ＳＥＱはシーケンサ１０２に対応し、ＴＢはＴＢメモリ１１６に対応し、ＳＷ０〜ＳＷ７は複数のＳＷメモリに対応し、ＰＥは演算素子に対応し、ＡＴは加算回路に対応する。１６個の演算素子ＰＥを備えるので、評価値・微係数の計算を１６画素／サイクルで実行できる。探索範囲でこの演算を繰り返して、その演算結果を加算回路で加算して、得られた結果（評価値と微係数）を出力する。
【００４５】
ＣＰＵがフレームごとに制御状態レジスタ１０４にフレーム単位のパラメタ（サーチウィンドウのサイズ、動きベクトル検出コマンド）を設定する。さらに、ＣＰＵがマクロブロックごとにフレームメモリからＴＢメモリ１１６とＳＷメモリ１１４に画像データを書き込む。また、ＣＰＵが、マクロブロックごとに、制御状態レジスタ１０４にマクロブロック単位のパラメタ（ベース、オフセットアドレス、探索範囲、初期ベクトル数、カレントテンプレートバッファ）を設定する。
【００４６】
次に、マクロブロックごとの動き検出を行う。ＣＰＵが、制御状態レジスタ１０４の動き検出開始レジスタにコマンド数、割り込みのパラメタを設定して、動き検出を開始する。動き検出処理では、マクロブロックごとに、制御状態レジスタ１０４のパラメータに従い、シーケンサが、ＴＢアドレス生成回路１１０、ＳＷアドレス生成回路１０８及び評価値・微係数計算部１２０、ＡＴヘ制御信号を出力する。ＴＢアドレス生成回路１１６、ＳＷアドレス生成回路１１４は、シーケンサ１０２の制御信号に従ってＴＢメモリ１１６とＳＷメモリ１１４ヘアドレスを出力し、ＴＢメモリ１１６とＳＷメモリ１１４は、評価値・微係数計算部１２０へ画素データを出力する。評価値・微係数計算部１２０は、シーケンサ１０２の制御信号に従って、ＴＢメモリ１１６とＳＷメモリ１１４から画素データを入力し、評価値と微係数を計算し、動きベクトルを検出し、動きベクトルを制御状態レジスタ１０４へ出力する。
【００４７】
一方、サブブロックごとの動き検出を行う。ＣＰＵが、制御状態レジスタ１０４の動き検出開始レジスタにコマンド数、割り込みのパラメタを設定して、動き検出を開始する。動き検出処理では、サブブロックごとに、制御状態レジスタ１０４のパラメータに従い、シーケンサ１０２が、ＴＢアドレス生成回路１１０、ＳＷアドレス生成回路１０８及び評価値・微係数計算部１２０、ＡＴヘ制御信号を出力する。ＴＢアドレス生成回路１１０、ＳＷアドレス生成回路１０８は、シーケンサ１０２の制御信号に従ってＴＢメモリ１１６とＳＷメモリ１１４ヘアドレスを出力し、ＴＢメモリ１１６とＳＷメモリ１１４は、評価値・微係数計算部１２０へ画素データを出力する。評価値・微係数計算部１２０は、シーケンサ１０２の制御信号に従って、ＴＢメモリ１１６とＳＷメモリ１１４から画素データを入力し、評価値と微係数を計算し、動きベクトルを検出し、動きベクトルを制御状態レジスタ１０４へ出力する。
【００４８】
次に、最終調整を行う。ここで、制御状態レジスタ１０４のパラメータに従い、シーケンサ１０２が、ＴＢアドレス生成回路１１０、ＳＷアドレス生成回路１０８及び評価値・微係数計算部１２０、ＡＴヘ制御信号を出力する。ＴＢアドレス生成回路１１０、ＳＷアドレス生成回路１０８は、シーケンサ１０２の制御信号に従ってＴＢメモリ１１６とＳＷメモリ１１４ヘアドレスを出力し、ＴＢメモリ１１６とＳＷメモリ１１４は、評価値・微係数計算部１２０へ画素データを出力する。ただし、ＳＷデータは、ハーフペルブレンダで半画素単位で処理される。評価値・微係数計算部１２０は、制御信号に従って、画素データを使って評価値計算と微係数計算を行い、動きベクトルを制御状態レジスタ１０４へ書き込む。
【００４９】
最後に、マクロブロックごとにＣＰＵが制御状態レジスタ１０４の動きベクトルを読み出す。
【００５０】
この回路構成の特徴は評価値・微係数計算部１２０を用いて評価値と微係数を計算することであり、評価値・微係数計算部１２０については以下に説明する。図１６は、評価値と微係数の両方を計算する演算素子ＰＥのブロック図である。先に説明したように、評価値と微係数の計算において、ＴＢｉ,ｊ−ＳＷｉ＋Vx,ｊ＋Vyの減算、ＳＷｉ−１,ｊ−ＳＷｉ＋１,ｊ、ＳＷｉ,ｊ＋１−ＳＷｉ,ｊ−１といったｘ方向差分とｙ方向差分の演算、２つのそれらの因子の乗算、及び、乗算結果の加算が必要である。ここで、ｉは、０〜７や０〜１５の範囲で変化され、得られた結果が加算される。１６個の演算素子ＰＥを備えるので、１サイクルで１ラインの１６画素についての計算が並列して行える。評価値と微係数の両方を計算できる構成を備えるので、１種の演算素子ＰＥで動き検出に必要な計算が可能となる。表１１は、この演算素子ＰＥへの入出力信号を示す。
【００５１】
【表１１】
0003715283.tif 000023
【００５２】
８ビットの画素データとクリア信号clrが第１〜第５のＡＮＤ素子に並列に入力可能であり、その出力値が第１〜第５のレジスタREGに記憶される。これらの５個のレジスタを用いることにより差分演算において、両隣の画素値の差を用いることができ、上述のｘ微係数とｙ微係数が計算できる。ＡＮＤ素子への入力データは、表１１に示されるように、ＴＢメモリからの入力ｔ、ＳＷメモリからの入力（左隣の画素）ｓ０、ＳＷメモリからの入力ｓ１、ＳＷメモリからの入力（右隣の画素）ｓ２、ＳＷメモリからの入力（右隣または左隣の画素）ｓ３である。これらのＡＮＤ素子への入力は、シーケンサ１０２からのコントロール信号ctrlにより制御される。第１と第３のレジスタREGのデータは、直接にマルチプレクサMUXに入力されるとともに、さらに別のレジスタREGで記憶された後、同じマルチプレクサMUXに入力される。第１のマルチプレクサの出力は、スイッチ回路SPPと第１の減算回路に送られる。第２のレジスタの出力はスイッチ回路SPPに送られる。第２のマルチプレクサの出力は、直接に及びハーフペルブレンダHPBを介してスイッチ回路SPPに送られ、また、レジスタを介して、第３のマルチプレクサMUXに送られる。ハーフペルブレンダHPBは、コントロール信号ctrl_hpb（表１２参照）により制御される。第４のレジスタの出力はスイッチ回路SPPに送られる。第５のレジスタの出力は第３のマルチプレクサMUXに送られる。第３のマルチプレクサMUXの出力信号は、直接に、及び、別のレジスタREGで記憶された後に、スイッチ回路SPPに送られる。スイッチ回路SPPは制御信号ctrlにより制御される。スイッチ回路SPPの３つの出力信号は、第１の減算回路の他方の入力と、第２の減算回路の２つの入力に送られる。スイッチ回路SPPは、９つの入力信号を入力可能であり、３つの出力信号を出力可能である。具体的には、シーケンサ１０２は、スイッチ回路SPPへのコントロール信号ctrlと第１〜第３のマルチプレクサMUXへの信号に応じて、図１７〜図２７に示すように、入力信号の出力先を切り換える。スイッチ回路SPPは、具体的には、複数の各種スイッチ素子を組み合わせて構成されるが、その詳細な構成の説明は省略する。第１と第２の減算回路の出力信号はそれぞれレジスタを介して乗算回路に送られ、乗算結果はレジスタに記憶され、出力される。
【００５３】
コントロール信号ctrlは、探索モードの指定、探索階層の指定、サブブロック探索の指定、ＴＢサイズの指定、ステップ幅の指定を含む。探索モードは、初期値計算、ｘ微係数計算、ｙ微係数計算、評価値計算、一次元探索、４近傍最終調整、８近傍最終調整を含む。
【００５４】
ハーフペルブレンダHPBを制御するコントロール信号ctrl_hpbを、演算素子PEの内部にデコーダを設けて発生させている。表１２は、デコーダへの入力信号ctrl[3:0]と出力信号ctrl_pel[3:0]との対応を示す。
【００５５】
【表１２】
0003715283.tif 000024
【００５６】
図１７〜図２７は、それぞれ、演算素子ＰＥの状態図を示す。
【００５７】
図１７は、演算素子の評価値計算において(ＴＢｉ,ｊ−ＳＷｉ,ｊ)２が計算されている状態を表す。
【００５８】
図１８は、演算素子のｘ微係数計算（左端: ｉ＝０）において(ＴＢ０,ｊ−ＳＷ０,ｊ)(ＴＢ０,ｊ−ＳＷ１,ｊ)が計算されている状態を表し、図１９は、演算素子のｘ微係数計算（左端、右端以外）において(ＴＢｉ,ｊ−ＳＷｉ,ｊ)(ＳＷｉ−１,ｊ−ＳＷｉ＋１,ｊ)が計算されている状態を表し、図２０は、演算素子のｘ微係数計算（右端：ｉ＝１５）において(ＴＢ１５,ｊ−ＳＷ１５,ｊ)(ＳＷ１４,ｊ−ＳＷ１５,ｊ)が計算されている状態を表す。なお、微係数の算出に必要な画素は、マクロブロック＋周囲１画素となるが、ハードウェア化の容易性のため、周囲１画素はマクロブロックの端の画素で代用している。
【００５９】
図２１は、演算素子のｙ微係数計算（１階層／上端：ｙ＝０）において(ＴＢｉ,０−ＳＷｉ,０)(ＳＷｉ,０−ＳＷｉ,１)が計算されている状態を表す。図２２は、演算素子のｙ微係数計算（１階層／上端及び下端以外）において(ＴＢｉ,ｊ−ＳＷｉ,ｊ)(ＳＷｉ,ｊ−ＳＷｉ,ｊ+１)が計算されている状態を表す。図２３は、演算素子のｙ微係数計算（１階層／下端：ｙ＝１５）において(ＴＢｉ,１５−ＳＷｉ,１５)(ＳＷｉ,１４−ＳＷｉ,１５)が計算されている状態を表す。
【００６０】
図２４は、演算素子のｙ微係数計算（２行読み込み［２，３階層］／サイクル１）において偶数行について(ＴＢｉ,０−ＳＷｉ,０)(ＳＷｉ,０−ＳＷｉ,１)が計算されている状態を表す。図２５は、演算素子のｙ微係数計算（２行読み込み［２，３階層］／サイクル２，４）において偶数行について(ＴＢｉ２,ｉ４,ｉ６−ＳＷｉ１,ｉ３,ｉ７)(ＳＷｉ１,ｉ３,ｉ５−ＳＷｉ３,ｉ５,ｉ７)が、奇数行について(ＴＢｉ１,ｉ３,ｉ５−ＳＷｉ１,ｉ３,ｉ７)(ＳＷｉ０,ｉ２,ｉ４−ＳＷｉ２,ｉ４,ｉ６)が計算されている状態を表す。図２６は、演算素子のｙ微係数計算（２行読み込み［２，３階層］／サイクル５）において奇数行について(ＴＢｉ７−ＳＷｉ７)(ＳＷｉ６−ＳＷｉ７)が計算されている状態を表す。
【００６１】
図２７は、演算素子の最終調整計算において(ＴＢｉ,ｊ−ＳＷｉ,ｊ)２が計算されている状態を表す。ここで、ハーフペルブレンダHPBで計算された信号ＨＳが用いられる。
【００６２】
また、図２８〜図３２は、それぞれ、評価値計算時、ｘ微係数計算時、ｙ微係数計算時（１階層）、ｙ微係数計算時（２，３階層）、最終計算時のタイミング図である。
【００６３】
ハーフペルブレンダ（HPB）は半画素のデータを出力する。ハーフペルブレンダを用いることにより半画素精度での探索が可能になる。半画素の生成の概略を、図３３を用いて説明する。ここで、Ｘは整数画素の位置を示し、○は、半画素の位置を表す。Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉは、それぞれ、対応する位置の整数画素の画素データを表し、ａ、ｂ、ｃ、ｄ、ｆ、ｇ、ｈ、ｉは、それぞれ、対応する位置での半画素の画素データを表す。たとえば、ａ、ｂ、ｃは、以下のように計算される。
ａ＝（Ａ＋Ｂ＋Ｃ＋Ｄ）／４
ｂ＝（Ｂ＋Ｄ）／２
ｃ＝（Ａ＋Ｂ）／２
ｄ、ｆ〜ｉも同様に計算される。
【００６４】
表１３は、ハーフペルブレンダの入出力信号を表す。
【表１３】
0003715283.tif 000025
【００６５】
図３４は、ハーフペルブレンダ（HPB）の構成を示す。デマルチプレクサDEMUXに入力された入力信号を基に、半画素値が生成され、マルチプレクサMUXから出力される。その構成の詳細な説明は省略する。図３５は、ハーフペルブレンダのタイミング図を示す。制御信号sw1_regに対応して８個の半画素データａ〜ｉが順次出力されていく。
【００６６】
【発明の効果】
動画像の圧縮符号化における動き補償予測において、サブブロック探索を導入するので、全探索法に比べて、演算量が大幅に削減できる一方、画質があまり劣化しない。
【図面の簡単な説明】
【図１】  画像符号化器のブロック図
【図２】  サブブロック探索を導入した勾配法のアルゴリズムを示すフローチャート
【図３】  サブブロックへの分割を示す図
【図４】  サブブロックに対しそれぞれ独立に探索することを示す図
【図５】  １次元探索の状況を示す図
【図６】  サブブロックをマクロブロックに拡張する処理を示す図
【図７】  階層画像の生成を説明するための図
【図８】  階層探索を示すフローチャート
【図９】  最終調整を説明するための図
【図１０】  探索方向の８近傍丸め込みと４近傍丸め込みを説明するための図
【図１１】  境界探索法を説明するための図
【図１２】  ＱＣＩＦ画像における演算量と画質との関係を示すグラフ
【図１３】  ＣＩＦ画像における演算量と画質との関係を示すグラフ
【図１４】  サブブロック探索を行う動き補償予測器の全体ブロック図
【図１５】  動き補償予測器の別のブロック図
【図１６】  演算素子のブロック図
【図１７】  演算素子の評価値計算における状態を表す図
【図１８】  演算素子のｘ微係数計算（左端）における状態を表す図
【図１９】  演算素子のｘ微係数計算（左端、右端以外）における状態を表す図
【図２０】  演算素子のｘ微係数計算（右端）における状態を表す図
【図２１】  演算素子のｙ微係数計算（１階層）における状態を表す図
【図２２】  演算素子のｙ微係数計算（１階層）における状態を表す図
【図２３】  演算素子のｙ微係数計算（１階層）における状態を表す図
【図２４】  演算素子のｙ微係数計算（２，３階層）における状態を表す図
【図２５】  演算素子のｙ微係数計算（２，３階層）における状態を表す図
【図２６】  演算素子のｙ微係数計算（２，３階層）における状態を表す図
【図２７】  演算素子の最終調整計算における状態を表す図
【図２８】  評価値計算時のタイミング図
【図２９】  ｘ微係数計算時のタイミング図
【図３０】  ｙ微係数計算時（１階層）のタイミング図
【図３１】  ｙ微係数計算時（２，３階層）のタイミング図
【図３２】  最終調整計算時のタイミング図
【図３３】  半画素の生成の概略を説明するための図
【図３４】  ハーフペルブレンダのブロック図
【図３５】  ハーフペルブレンダのタイミング図
【符号の説明】
２４  動き補償予測器、    １０２  シーケンサ１０２、    １０４  制御状態レジスタ、    １１４  ＳＷメモリ、    １１６  ＴＢメモリ、    １０８  ＳＷリードアドレス生成回路、    １１０  ＴＢリードアドレス生成回路、    １２０  評価値・微係数計算部、    ＰＥ  演算素子、    ＡＤＤＥＲ  ＴＲＥＥ  加算回路。
【図１】
0003715283.tif 000035
【図２】
0003715283.tif 000036
【図３】
0003715283.tif 000037
【図４】
0003715283.tif 000038
【図５】
0003715283.tif 000039
【図６】
0003715283.tif 000040
【図７】
0003715283.tif 000041
【図８】
0003715283.tif 000042
【図９】
0003715283.tif 000043
【図１０】
0003715283.tif 000044
【図１１】
0003715283.tif 000045
【図１２】
0003715283.tif 000046
【図１３】
0003715283.tif 000047
【図１４】
0003715283.tif 000048
【図１５】
0003715283.tif 000049
【図１６】
0003715283.tif 000050
【図１７】
0003715283.tif 000051
【図１８】
0003715283.tif 000052
【図１９】
0003715283.tif 000053
【図２０】
0003715283.tif 000054
【図２１】
0003715283.tif 000055
【図２２】
0003715283.tif 000056
【図２３】
0003715283.tif 000057
【図２４】
0003715283.tif 000058
【図２５】
0003715283.tif 000059
【図２６】
0003715283.tif 000060
【図２７】
0003715283.tif 000061
【図２８】
0003715283.tif 000062
【図２９】
0003715283.tif 000063
【図３０】
0003715283.tif 000064
【図３１】
0003715283.tif 000065
【図３２】
0003715283.tif 000066
【図３３】
0003715283.tif 000067
【図３４】
0003715283.tif 000068
【図３５】
0003715283.tif 000069