(57)【要約】      （修正有）【課題】動画像の圧縮における動きベクトル探索と，伸長におけるポストフィルタリングとをより少ないハードウェア資源で実行するための技術を提供する。【解決手段】画像処理回路は，動きベクトル検出回路及びポストフィルタリングの主要部分を共通のハードウェアにより構成されている。【選択図】図３
2005354381.tif 000002
【特許請求の範囲】
【請求項１】
画素データをそれぞれに保持する複数のレジスタと，
複数の差分絶対値演算／加算器と，
それぞれが，前記複数のレジスタの一と前記複数の差分絶対値演算／加算器の一との間に介設された，少なくとも一の選択乗算器と，
前記複数の差分絶対値演算／加算器の出力の和を算出する加算部
とを備え，
前記選択乗算器のそれぞれは，対応する前記レジスタに保持されている前記画素データを，対応する前記差分絶対値演算／加算器の入力にそのまま出力する動作と，対応する前記レジスタに保持されている前記画素データと所定の係数との積を，対応する前記差分絶対値演算／加算器の入力に出力する動作とを選択的に行うことができるように構成されており，
前記複数の差分絶対値演算／加算器のそれぞれは，その２つの入力に入力される前記画素データの差分の絶対値を出力する動作と，前記２つの入力に入力される前記画素データの和を出力する動作とを選択的に行うことができるように構成されている
画像処理回路。
【請求項２】
請求項１に記載の画像処理回路であって，
当該画像処理回路が第１モードに設定されると，前記選択乗算器のそれぞれは，対応する前記レジスタに保持されている前記画素データを，対応する前記差分絶対値演算／加算器の入力にそのまま出力し，且つ，前記複数の差分絶対値演算／加算器のそれぞれは，その２つの入力に入力される前記画素データの差分の絶対値を出力し，
当該画像処理回路が第２モードに設定されると，前記選択乗算器のそれぞれは，対応する前記レジスタに保持されている前記画素データと所定の係数との積を，対応する前記差分絶対値演算／加算器の入力に出力し，且つ，前記複数の差分絶対値演算／加算器のそれぞれは，前記２つの入力に入力されるデータの和を出力する
画像処理回路。
【請求項３】
請求項２に記載の画像処理回路であって，
更に，
当該画像処理回路が前記第１モードに設定されたとき，前記加算部によって算出された前記複数の差分絶対値演算／加算器の出力の和から動きベクトルを推定し，当該画像処理回路が前記第２モードに設定されたとき，前記複数の差分絶対値演算／加算器の出力の和から，前記画素データに対応する画素のうちの対象画素の，ポストフィルタリング後の画素データを算出する演算部
を備える
画像処理回路。
【請求項４】
請求項２に記載の画像処理回路であって，
更に，
当該画像処理回路が前記第２モードに設定されると，前記複数のレジスタのうちの一部をリセットするリセット手段
を備える
画像処理回路。
【請求項５】
請求項１に記載の画像処理回路であって，
前記選択乗算器は，対応する前記レジスタに保持されている前記画素データと，対応する前記レジスタに保持されている前記画素データがｎビット（ｎ：整数）だけシフトされたデータであるシフトデータとを選択的に出力するマルチプレクサを含む
画像処理回路。
【請求項６】
（Ａ１）  動きベクトル推定の対象である画素の画素データの，少なくともその一部を選択乗算器に供給し，前記選択乗算器に供給されない画素データを直接に差分絶対値演算／加算器の入力に供給するステップと，
（Ａ２）  前記選択乗算器が，それに供給された前記画素データをそのまま前記差分絶対値演算／加算器の入力に供給するステップと，
（Ａ３）  前記差分絶対値演算／加算器が，その２つの入力に供給されたデータの差分の絶対値を算出するステップと，
（Ａ４）  前記差分の絶対値の和を算出するステップと，
（Ａ５）  前記前記差分の絶対値の和を用いて，前記ブロックの動きベクトルを推定するステップと，
（Ｂ１）  ポストフィルタリングの対象である対象画素及びその周辺の画素の画素データの，少なくともその一部を前記選択乗算器に，前記選択乗算器に供給されない画素データを直接に差分絶対値演算／加算器の入力に供給するステップと，
（Ｂ２）前記選択乗算器が，前記画素データと所定の係数との積を前記差分絶対値演算／加算器の入力に供給するステップと，
（Ｂ３）  前記差分絶対値演算／加算器が，その２つの入力に供給されたデータの和を算出するステップと，
（Ｂ４）  前記差分絶対値演算／加算器の出力の和から，前記対象画素のポストフィルタリング後の画素データを算出するステップ
とを備える
画像処理回路の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像処理回路に関し，特に，動画像の圧縮及び伸長を行うための画像処理回路に関する。
【背景技術】
【０００２】
動画像の圧縮及び伸長には，様々な演算処理が関係している。例えば，標準勧告書（Ｈ．２６１）に対応した動画像の圧縮及び伸長には，一般に，ＤＣＴ（離散コサイン変換），量子化，逆量子化，逆ＤＣＴ，及び動き補償が関係している（非特許文献１参照）。また，ＭＰＥＧに準拠する動画像の圧縮及び伸長では，これらの演算処理に加えて可変長符号化が行われる。
【０００３】
動きベクトルの探索は，動画像の圧縮において行われる重要な演算処理の一つである。動きベクトルとは，概略的には，あるフレームの特定の領域の画像が次のフレームにおいてどの位置に移動したかを示すベクトルであり，動き補償に密接な関連がある。ＭＰＥＧに準拠する動画像の圧縮及び伸長では，動きベクトルの探索は，１６×１６画素で構成されるブロック毎に行われる。
【０００４】
図１を参照して，あるブロックの動きベクトルの探索は，典型的には，動きベクトルの探索空間内のベクトルそれぞれについてＳＡＤ（Sum of Absolute Difference）を算出することによって行われる。ＳＡＤとは，入力ブロックの画素の画素データと参照ブロックの対応する画素の画素データとの差分の絶対値の，入力ブロックの全ての画素についての和である；入力ブロックとは，処理の対象の画像（入力画像）のＳＡＤの算出の対象であるブロックであり，参照ブロックとは，参照画像のＳＡＤの算出の対象であるブロックである。例えば，入力画像の座標（ｉ，ｊ）に位置する画素の画素データをＡ（ｉ，ｊ），参照画像の座標（ｉ’，ｊ’）の画素の画素データをＢ（ｉ’，ｊ’）とすると，ある入力ブロックのベクトルＶ（ｍｖｘ，ｍｖｙ）についてのＳＡＤは，下記式（１）：
【数１】
2005354381.tif 000003
によって算出される。ここで，Σは，入力ブロックに含まれる画素の全てについての和を算出することを意味している。例えば，左上の座標が（０，０），右下の座標が（１５，１５）である入力ブロックの，ベクトル（１，０）についてのＳＡＤは，下記式（１’）：
【数２】
2005354381.tif 000004
で与えられる。ある入力ブロックの動きベクトルは，式（１）によって算出されるＳＡＤを最小にするベクトルＶであると決定される。
【０００５】
一方，伸長された動画像の画質を向上させる有力な演算処理の一つが，ポストフィルタリングである。ポストフィルタリングとは，ブロックひずみを緩和するための処理である。動画像の圧縮及び伸長に関連する演算処理がブロックごとに行われることに起因して，伸長された動画像には，しばしば，ブロックの境界において不連続的な変化が発生する。この不連続的な変化は，ブロックひずみとよばれ，動画像の画質を劣化させる原因の一つである。ポストフィルタリングは，ブロックの境界における画像のスムーズさを向上し，動画像の画質を有効に向上させる。
【０００６】
ポストフィルタリングは，対象画素と，その近傍の画素の画素データの重み付け平均（weighted average）を算出することによって行われる。図２は，水平方向のポストフィルタリングを説明する図である。処理される画像の対象画素の座標を（ｘ，ｙ）とし，ポストフィルタリング前の座標（ｉ，ｊ）に位置する画素の画素データをＣ（ｉ，ｊ）とすると，水平方向のポストフィルタリング後の対象画素の画素データＣ’（ｘ，ｙ）は，典型的には，対象画素の水平方向において隣接する画素の画素データを用いて，下記式（２）：
【数３】
2005354381.tif 000005
によって算出される。重み付け係数ｃｉは，一般には，ｉがｘに一致する場合に最大値を取り，ｉがｘから離れるほど小さい値をとる。（ｍ＋ｎ＋１）個の画素の画素データを使用する式（２）のポストフィルタリングは，（ｍ＋ｎ＋１）タップのポストフィルタリングと呼ばれる。例えば，９タップのポストフィルタリングは，下記式（２’）：
Ｃ’（ｘ，ｙ）＝｛Ｃ（ｘ−４，ｙ）＋２Ｃ（ｘ−３，ｙ）＋４Ｃ（ｘ−２，ｙ）
＋８Ｃ（ｘ−１，ｙ）＋１６Ｃ（ｘ，ｙ）＋８Ｃ（ｘ＋１，ｙ）
＋４Ｃ（ｘ＋２，ｙ）＋２Ｃ（ｘ＋３，ｙ）＋Ｃ（ｘ＋４，ｙ）／４６，
・・・（２’）
によって対象画素の画素データＣ’（ｘ，ｙ）を算出することによって行われる。垂直方向のポストフィルタリングも同様にして行われる。
【０００７】
動きベクトル探索，及びポストフィルタリングを行う上での一つの問題は，これらの処理が多くのハードウェア資源を必要とすることである。動きベクトル探索は，近年の動画像の圧縮及び伸長を行うコーデック（codec）のハードウェア資源の３０〜４０％を占めるといわれている。加えて，ポストフィルタリングは，コーデックのハードウェア資源の１０〜２０％を占めるといわれている。
【０００８】
このような背景から，動きベクトル探索，及びポストフィルタリングの処理に必要なハードウェア資源を削減するための技術の提供が望まれている。
【非特許文献１】藤原  洋監修，マルチメディア通信研究会編，「ポイント図解式  最新ＭＰＥＧ教科書」，初版，アスキー出版局，１９９４年８月１日，ｐ．７４−７５
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は，概略的には，動画像の圧縮及び伸長を，より少ないハードウェア資源で実行するための技術を提供することにある。
より具体的には，本発明の目的は，動画像の圧縮における動きベクトル探索と，伸長におけるポストフィルタリングとをより少ないハードウェア資源で実行するための技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために，本発明は，以下に述べられる手段を採用する。その手段に含まれる技術的事項の記述には，［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために，［発明を実施するための最良の形態］で使用される番号・符号が付加されている。但し，付加された番号・符号は，［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明の画像処理回路は，画素データをそれぞれに保持する複数のレジスタ（１１１−１１１６）と，複数の差分絶対値演算／加算器（３１−３８）と，それぞれが，前記複数のレジスタ（１１１−１１１６）の一つと複数の差分絶対値演算／加算器（３１−３８）の一つとの間に介設された，少なくとも一の選択乗算器（２２−２８）と，複数の差分絶対値演算／加算器の出力の和を算出する加算部（４）とを備えている。選択乗算器（２２−２８）のそれぞれは，対応するレジスタ（１１２−１１８）に保持されている前記画素データを，対応する前記差分絶対値演算／加算器（３１−３４）の入力にそのまま出力する動作と，対応するレジスタ（１１２−１１８）に保持されている画素データと所定の係数との積を，対応する前記差分絶対値演算／加算器（３１−３４）の入力に出力する動作とを選択的に行うことができるように構成されている。一方，複数の差分絶対値演算／加算器（３１−３８）のそれぞれは，その２つの入力に入力される前記画素データの差分の絶対値を出力する動作と，前記２つの入力に入力される前記画素データの和を出力する動作とを選択的に行うことができるように構成されている。
【００１２】
このような構成の画像処理回路は，共通のハードウェア資源により，動きベクトル推定及びポストフィルタリングの演算の主要部分を実行することができる。具体的には，動きベクトル推定及びポストフィルタリングの演算は，以下のようにして行われ得る。
【００１３】
当該画像処理回路が動きベクトル推定が行われる第１モードに設定されると，選択乗算器（２２−２８）のそれぞれは，対応するレジスタ（１１２−１１８）に保持されている画素データを，対応する前記差分絶対値演算／加算器（３１−３４）の入力にそのまま出力するように設定され，複数の差分絶対値演算／加算器（３１−３８）のそれぞれは，その２つの入力に入力される前記画素データの差分の絶対値を出力するように設定される。この場合，加算部（４）によって算出された複数の差分絶対値演算／加算器（３１−３８）の出力の和から動きベクトルを推定することができる。
【００１４】
一方，当該画像処理回路がポストフィルタリングが行われる第２モードに設定されると，選択乗算器（２２−２８）のそれぞれは，対応するレジスタ（１１２−１１８）に保持されている画素データと所定の係数との積を，対応する差分絶対値演算／加算器（３１−３４）の入力に出力するように設定され，複数の差分絶対値演算／加算器（３１−３８）のそれぞれは，その２つの入力に入力されるデータの和を出力するように設定される。この場合，前記複数の差分絶対値演算／加算器の出力の和から，前記画素データに対応する画素のうちの対象画素の，ポストフィルタリング後の画素データが算出される。
【００１５】
好適には，選択乗算器（２２−２８）は，対応するレジスタ（１１２−１１８）に保持されている画素データと，対応するレジスタ（１１２−１１８）に保持されている画素データがｎビット（ｎ：整数）だけシフトされたデータであるシフトデータとを選択的に出力するマルチプレクサ（２２ａ）で構成されることが好適である。マルチプレクサ（２２ａ）は，当該画像処理回路が第１モードに設定されると，対応するレジスタ（１１２−１１８）に保持されている画素データを出力し，当該画像処理回路が第２モードに設定されると，前記シフトデータを出力するように構成される。
【００１６】
当該画像処理回路は，更に，当該画像処理回路が前記第２モードに設定されると，前記複数のレジスタのうちの一部をリセットするリセット手段を備えることが好適である。これにより，ポストフィルタリングに使用されないレジスタをリセットし，ポストフィルタリング後の画素データを正しく算出することが可能になる。
【００１７】
本発明による画像処理回路の動作方法は，
（Ａ１）  動きベクトル推定の対象である画素の画素データの，少なくともその一部を選択乗算器（２２−２８）に供給し，選択乗算器（２２−２８）に供給されない画素データを直接に差分絶対値演算／加算器（３１−３８）の入力に供給するステップと，
（Ａ２）  選択乗算器（２２−２８）が，それに供給された画素データをそのまま差分絶対値演算／加算器（３１−３８）の入力に供給するステップと，
（Ａ３）  前記差分絶対値演算／加算器（３１−３８）が，その２つの入力に供給されたデータの差分の絶対値を算出するステップと，
（Ａ４）  前記差分の絶対値の和を算出するステップと，
（Ａ５）  前記前記差分の絶対値の和を用いて，前記ブロックの動きベクトルを推定するステップと，
（Ｂ１）  ポストフィルタリングの対象である対象画素及びその周辺の画素の画素データの，少なくともその一部を選択乗算器（２２−２８）に，前記選択乗算器（２２−２８）に供給されない画素データを直接に差分絶対値演算／加算器（３１−３８）の入力に供給するステップと，
（Ｂ２）選択乗算器（２２−２８）が，画素データと所定の係数との積を前記差分絶対値演算／加算器（３１−３８）の入力に供給するステップと，
（Ｂ３）  差分絶対値演算／加算器（３１−３８）が，その２つの入力に供給されたデータの和を算出するステップと，
（Ｂ４）  前記差分絶対値演算／加算器（３１−３８）の出力の和から，前記対象画素のポストフィルタリング後の画素データを算出するステップ
とを備えている。このような画像処理回路の動作方法によれば，共通のハードウェア資源により，動きベクトル推定及びポストフィルタリングの演算の主要部分を実行することができる。
【発明の効果】
【００１８】
本発明により，動画像の圧縮における動きベクトル探索と，伸長におけるポストフィルタリングとをより少ないハードウェア資源で実行することが可能になる。
【発明を実施するための最良の形態】
【００１９】
第１  画像処理回路の構成
図３は，本発明の一実施形態の画像処理回路１０の構成を示すブロック図である。画像処理回路１０は，シフトレジスタ部１と，乗算部２と，差分絶対値演算／加算部３と，加算部４と，演算部５とを備えている。画像処理回路１０は，これらの回路によって動きベクトル探索とポストフィルタリングとの両方を行うことができるように構成されている。
【００２０】
シフトレジスタ部１は，レジスタ１１１〜１１１６と，セレクタ１２１〜１２１６とを備えている。シフトレジスタ部１は，概略的には，第１入力端子１３，第２入力端子１４に供給される画素データを，レジスタ１１１〜１１１６の所望のレジスタに転送し，当該画素データを転送先のレジスタで保持するように構成されている。セレクタ１２１〜１２１６は，画像処理回路１０の用途に応じて画素データを転送する経路を切り替えるために使用される。動きベクトル探索が行われる場合，セレクタ１２１〜１２１６は，第１入力端子１３に順次に入力される画素データが奇数番目のレジスタ１１１，１１３，・・・１１１５に順次に転送され，第２入力端子１４に順次に入力される画素データが偶数番目のレジスタ１１２，１１４，・・・１１１６に順次に転送されるように，レジスタ１１１〜１１１６を接続する。一方，ポストフィルタリングが行われる場合，セレクタ１２１〜１２１６は，第１入力端子１３に順次に入力される画素データが，レジスタ１１１，レジスタ１１２，・・・に順次に転送されるようにレジスタ１１１〜１１１６を接続する。以下では，レジスタ１１１〜１１１６が保持する画素データは，それぞれ，画素データＤ１〜Ｄ１６と記載される。
【００２１】
セレクタ１２１〜１２１６の一部は，レジスタに”０”を供給可能に構成されている。具体的には，レジスタ１１１０〜１１１６の入力に接続されているセレクタ１２９〜１２１５は，その一の入力に“０”が供給されている。セレクタ１２９〜１２１５からレジスタ１１１０〜１１１６に“０”を供給することにより，レジスタ１１１０〜１１１６を“０”にリセットすることができる。
【００２２】
乗算部２は，それぞれレジスタ１１２〜１１８に接続されている７つのシフタ２２〜２８を含んで構成されている。シフタ２２〜２８は，それぞれ，レジスタ１１２〜１１８から画素データＤ２〜Ｄ８を受け取り，当該画素データＤ２〜Ｄ８に対して必要に応じて左方向へのビットシフトを行うことができるように構成されている。“必要に応じて”とは，シフタ２２〜２８は，常にビットシフトを行うとは限らないことを意味している。具体的には，シフタ２２〜２８は，動きベクトル探索が行われる場合には，受け取った画素データをそのまま出力し，ポストフィルタリングが行われる場合には，受け取った画素データに対して左方向のビットシフトを行う。
【００２３】
シフタ２２〜２８が左方向へのビットシフトを行うビットの数は，以下のように設定されている；両端のシフタ２２，２８は，１ビットシフトを実行可能に構成され，端から２番目のシフタ２３，２７は，２ビットの左シフトを実行可能に構成されている。端から３番目のシフタ２４，２６は，３ビットの左シフトを実行可能に構成され，中央のシフタ２５は，４ビットの左シフトを実行可能に構成されている。
【００２４】
あるデータをｎビットだけ左方向にシフトすることは，当該データに値２ｎを乗じることと等価であるから，シフタ２２は，画素データＤ２と，画素データＤ２の２倍の値とのうちの一方を選択的に出力可能な乗算器として機能する。同様に，シフタ２３は，画素データＤ３と，画素データＤ３の４倍の値とを選択的に出力可能な乗算器として機能し，シフタ２４は，画素データＤ４と，画素データＤ３の８倍の値とを選択的に出力可能な乗算器として機能する。更に，シフタ２５は，画素データＤ５と，画素データＤ５の１６倍の値とを選択的に出力可能な乗算器として機能し，シフタ２６は，画素データＤ６と，画素データＤ６の８倍の値とを選択的に出力可能な乗算器として機能する。最後に，シフタ２７は，画素データＤ７と，画素データＤ７の４倍の値とを選択的に出力可能な乗算器として機能し，シフタ２８は，画素データＤ８と，画素データＤ８の２倍の値とを選択的に出力可能な乗算器として機能する。
【００２５】
図４に示されているように，シフタ２２は，好適には，画素データＤ２と，１ビットの左シフトが行われた画素データＤ２との一方を選択的に出力するマルチプレクサ２２ａで構成される。マルチプレクサ２２ａの第１入力ＩＮ１には，画素データＤ２が入力され，第２入力ＩＮ２には，１ビットの左シフトが行われた画素データＤ２が入力される。より具体的には，マルチプレクサ２２ａの第１入力ＩＮ１の最上位ビットには，“０”が入力され，上位から２番目のビットから最下位ビットには，それぞれ，レジスタ１１２の画素データＤ２の最上位ビットから最下位ビットが入力される。一方，マルチプレクサ２２ａの第２入力ＩＮ２の最上位ビットから下位から２番目のビットには，それぞれ，レジスタ１１２の画素データＤ２の最上位ビットから最下位ビットが入力され，最下位ビットには，“０”が入力される。第１入力ＩＮ１が選択されると，マルチプレクサ２２ａは，画素データＤ２をそのまま出力し，第２入力ＩＮ２が選択されると，マルチプレクサ２２ａは，１ビットの左シフトが行われた画素データＤ２，即ち，画素データＤ２の２倍の値を出力する。このように，シフタ２２をマルチプレクサで構成することは，回路構成をシンプルにできるため好適である。
【００２６】
他のシフタ２２〜２８も同様にしてマルチプレクサによって実現可能である。シフタ２３は，画素データＤ３と，２ビットの左シフトが行われた画素データＤ３との一方を選択的に出力可能に構成され，シフタ２４は，画素データＤ４と，３ビットの左シフトが行われた画素データＤ４との一方を選択的に出力可能に構成される。シフタ２５は，画素データＤ５と，４ビットの左シフトが行われた画素データＤ５との一方を選択的に出力可能に構成され，シフタ２６は，画素データＤ６と，３ビットの左シフトが行われた画素データＤ６との一方を選択的に出力可能に構成される。更に，シフタ２７は，画素データＤ７と，２ビットの左シフトが行われた画素データＤ７との一方を選択的に出力可能に構成され，シフタ２８は，画素データＤ８と，１ビットの左シフトが行われた画素データＤ８との一方を選択的に出力可能に構成される。
【００２７】
差分絶対値演算／加算部３は，２入力の差分絶対値演算／加算器３１〜３８を含んで構成されている。差分絶対値演算／加算器３１〜３８のそれぞれは，外部から供給される制御信号に応答して，差分絶対値演算と加算とを選択的に実行可能な演算器である。差分絶対値演算／加算器３１〜３８の入力は，レジスタ１１１〜１１１６の出力に，直接に又はシフタ２２〜２８を介して接続されている。具体的には，差分絶対値演算／加算器３１の第１入力はレジスタ１１１に直接に接続され，第２入力はシフタ２２の出力に接続されている。差分絶対値演算／加算器３１は，レジスタ１１１に保持されている画素データＤ１と，シフタ２２から供給されるデータとに対して差分絶対値演算又は加算を行い，その演算結果を出力する。シフタ２２から供給されるデータは，画素データＤ２そのもの，又は，画素データＤ２の２倍の値であることに留意されたい。同様に，差分絶対値演算／加算器３２〜３４は，それぞれ，シフタ２３とシフタ２４とから供給されるデータ，シフタ２５とシフタ２６とから供給されるデータ，及びシフタ２７とシフタ２８とから供給されるデータに対して差分絶対値演算又は加算を行い，その演算結果を出力する。一方，差分絶対値演算／加算器３５〜３８は，レジスタ１１９〜１１１６の，それぞれが対応する２つのレジスタから供給される画素データに対して差分絶対値演算又は加算を行い，その演算結果を出力する。
【００２８】
加算部４は，差分絶対値演算／加算器３１〜３８の出力の和を算出するためのものであり，２入力の加算器４１〜４７，及びレジスタ４８を含んで構成される。加算器４１の入力は，差分絶対値演算／加算器３１，３２の出力に接続され，加算器４２の入力は，差分絶対値演算／加算器３３，３４の出力に接続されている。加算器４３の入力は，差分絶対値演算／加算器３５，３６の出力に接続され，加算器４４の入力は，差分絶対値演算／加算器３７，３８の出力に接続されている。加算器４５の入力は，加算器４１，４２の出力に接続され，加算器４６の入力は，加算器４３，４４の出力に接続されている。加算器４７の入力は，加算器４５，４６の出力に接続され，レジスタ４８の入力は，加算器４７の出力に接続されている。
【００２９】
演算部５は，加算部４のレジスタ４８の出力（即ち，差分絶対値演算／加算器３１〜３８の出力の和）から動きベクトルの推定を行い，更に，ポストフィルタリングの結果を算出する機能を有している。後述されるように，画像処理回路１０によって動きベクトルの推定が行われる場合，レジスタ４８の出力は，ある入力ブロックとある参照ブロックとについて算出されるＳＡＤの一部の項の和である。演算部５は，レジスタ４８の出力からＳＡＤを逐次に算出し，動きベクトルを推定する。一方，ポストフィルタリングが行われる場合，レジスタ４８の出力は，対象画素及びその近傍の画素の画素データの重み付き和（weighted sum）となる。演算部５は，レジスタ４８の出力からポストフィルタリング後の対象画素の画素データを算出する。
【００３０】
第２  本実施の形態の画像処理回路の動作
本実施の形態の画像処理回路１０は，シフタ２２〜２８の動作，及び，差分絶対値演算／加算器３１〜３８の動作を適切に設定することにより，動きベクトル推定，及びポストフィルタリングの両方の演算の主要部分を実行することができる。具体的には，画像処理回路１０が動きベクトル推定を行う動作モードに設定されると，シフタ２２〜２８は，それらが受け取った画素データをそのまま出力するように設定され，差分絶対値演算／加算器３１〜３８を，差分絶対値演算を行うように設定される。これにより，動きベクトル推定で使用されるＳＡＤを算出することができる。一方，画像処理回路１０がポストフィルタリングを行う動作モードに設定されると，シフタ２２〜２８は，それらが受け取った画素データと所定値との積を出力するように設定され，差分絶対値演算／加算器３１〜３８が加算を行うように設定される。これにより，ポストフィルタリングの，対象画素の画素データを算出することができる。このような動作を行う画像処理回路１０は，動きベクトル推定とポストフィルタリングの演算の主要部分を共通のハードウェア資源で実行可能であり，ハードウェア資源の削減に有効である。以下では，画像処理回路１０を用いて動きベクトル推定とポストフィルタリングとを行う手順が詳細に説明される。
【００３１】
１．動きベクトル推定の手順
ある入力ブロックの動きベクトルの推定は，下記の手順で行われる。以下の説明において，入力ブロックの左上の座標は（０，０），右下の座標は（１５，１５）であると仮定される。入力ブロックの座標（ｉ，ｊ）に位置する画素の画素データはＡ（ｉ，ｊ）と記載される。
【００３２】
まず，動きベクトルの探索空間内の一のベクトルが選択される。入力ブロックと，そのベクトルから，参照画像の参照ブロックが定まる。例えば，選択されたベクトルＶが（１，０）である場合には，参照ブロックの左上の座標は（１，０），右下の座標は（１６，１５）である。以下では，参照ブロックの座標（ｉ，ｊ）に位置する画素の画素データはＢ（ｉ，ｊ）と記載される。
【００３３】
続いて，入力ブロックの画素データＡ（０，０）〜Ａ（７，０）が第１入力端子１３に順次に供給され，それに対応する参照ブロックの画素データＢ（１，０）〜Ｂ（８，０）が第２入力端子１４に順次に供給される。画素データＡ（０，０）〜Ａ（７，０）は，それぞれ，セレクタ奇数番目のレジスタ１１１，１１３，１１５，１１７，・・・１１１５に転送されて保存される。一方，参照ブロックの画素データＢ（１，０）〜Ｂ（８，０）は，それぞれ，偶数番目のレジスタ１１２，１１４，１１６，１１８，・・・１１１６に転送されて保存される。
【００３４】
シフタ２２〜２８は，レジスタ１１２〜１１８が出力する画素データＤ２〜Ｄ８をそのまま差分絶対値演算／加算器３１〜３４に出力するように設定され，差分絶対値演算／加算器３１〜３８は，それぞれが受け取った一組のデータの差分絶対値を算出するように設定される。言い換えれば，乗算部２と差分絶対値演算／加算部３とは，差分絶対値演算／加算器３１〜３８が，それぞれ，絶対値｜Ｄ１−Ｄ２｜，｜Ｄ３−Ｄ４｜，｜Ｄ５−Ｄ６｜，・・・，｜Ｄ１５−Ｄ１６｜を出力するように設定される。Ｄｉは，レジスタ１１ｉに保持されている画素データであるから，差分絶対値演算／加算器３１〜３８は，それぞれ，絶対値｜Ａ（０，０）−Ｂ（１，０）｜，｜Ａ（１，０）−Ｂ（２，０）｜，・・・，｜Ａ（７，０）−Ｂ（８，０）｜を出力することになる。
【００３５】
続いて，加算部４により，差分絶対値演算／加算器３１〜３８の出力の和が算出される。この結果，加算部４は，下記式（３）で表される出力ＤＯＵＴを生成することになる。
【数４】
2005354381.tif 000006
式（３）に示されている加算部４の出力ＤＯＵＴが，式（１’）のＳＡＤの一部の項についての和であることに留意されたい。演算部５は，加算部４の出力ＤＯＵＴを受け取って保存する。
【００３６】
続いて，入力ブロックの他の８つの画素について同様の演算が行われる。奇数番目のレジスタ１１１，１１３，１１５，１１７，・・・１１１５に，入力ブロックの画素データＡ（８，０）〜Ａ（１５，０）がそれぞれ転送され，偶数番目のレジスタ１１２，１１４，１１６，１１８，・・・１１１６に，それに対応する参照ブロックの画素データＢ（９，０）〜Ｂ（１６，０）がそれぞれ転送される。続いて，差分絶対値演算／加算器３１〜３８によって絶対値｜Ａ（８，０）−Ｂ（９，０）｜，｜Ａ（９，０）−Ｂ（１０，０）｜，・・・，｜Ａ（１５，０）−Ｂ（１６，０）｜が算出され，これらの絶対値の和が，加算器４によって算出される。
【００３７】
演算部５は，画素データＡ（０，０）〜Ａ（７，０）について得られた加算部４の出力ＤＯＵＴと，画素データＡ（８，０）〜Ａ（１５，０）について得られた加算部４の出力ＤＯＵＴとの和を算出し，算出された和を保存する。
【００３８】
残りの画素についても，同様の処理が行われる。入力ブロックの更に他の８つの画素の画素データが，奇数番目のレジスタ１１１，１１３，１１５，１１７，・・・１１１５に転送され，参照ブロックの対応する８つの画素の画素データがレジスタ１１２，１１４，１１６，１１８，・・・１１１６に転送される。画素データの転送の後，上記の演算が行われ，加算部４の出力ＤＯＵＴが生成される。入力ブロックの全ての画素について上記の演算が行われ，当該入力ブロックについて得られた加算部４の出力ＤＯＵＴの和が算出される。算出された出力ＤＯＵＴの和が，求めるべきＳＡＤである。
【００３９】
同様の過程により，動きベクトルの探索空間の全てのベクトルについて，ＳＡＤが算出される。ＳＡＤが最小であるベクトルが，求めるべき動きベクトルである。
【００４０】
２．ポストフィルタリング
伸長された画像についてのポストフィルタリングは，以下の手順で行われる。以下の説明において，対象画素の座標は（ｘ，ｙ）と記述され，座標（ｉ，ｊ）に位置する画素のポストフィルタリング前の画素データはＣ（ｉ，ｊ）と記述されることに留意されたい。
【００４１】
まず，ポストフィルタリングが行われる対象画像のうちから対象画素が選択される。対象画素とは，ポストフィルタリングによって画素データが算出される対象の画素である。
対象画素は，ブロックの境界の近傍の画素から選択される。
【００４２】
続いて，対象画素，及びその周辺に位置する８つの画素の画素データが，順次に第１入力端子１３に入力され，レジスタ１２１〜１２８を用いてレジスタ１１１〜１１９に転送される。具体的には，水平方向のポストフィルタリングが行われる場合，対象画素の画素データＣ（ｘ，ｙ）はレジスタ１１５に転送される。更に，対象画素に隣接する画素の画素データＣ（ｘ−１，ｙ），Ｃ（ｘ＋１，ｙ）が，それぞれ，レジスタ１１４，レジスタ１１６に転送され，対象画素から水平方向において２番目に位置する画素の画素データＣ（ｘ−２，ｙ），Ｃ（ｘ＋２，ｙ）が，それぞれレジスタ１１３，レジスタ１１７に転送される。加えて，対象画素から水平方向において３番目に位置する画素の画素データＣ（ｘ−３，ｙ），Ｃ（ｘ＋３，ｙ）が，それぞれレジスタ１１２，レジスタ１１８に転送され，４番目に位置する画素の画素データＣ（ｘ−４，ｙ），Ｃ（ｘ＋４，ｙ）が，レジスタ１１１，１１８に転送される。
【００４３】
残りのレジスタ１１１０〜１１１６には，セレクタ１２９〜１２１５から”０”が供給され，”０”にリセットされる。
【００４４】
シフタ２２〜２８は，それぞれに定められた所定のビット数だけレジスタ１１２〜１１８が出力する画素データＤ２〜Ｄ８をシフトして差分絶対値演算／加算器３１〜３４に出力するように設定され，差分絶対値演算／加算器３１〜３８は，それぞれが受け取った一組のデータの和を算出するように設定される。このような設定がなされることにより，差分絶対値演算／加算器３１〜３５は，それぞれ，Ｄ１＋２Ｄ２，４Ｄ３＋８Ｄ４，１６Ｄ５＋８Ｄ６，４Ｄ７＋２Ｄ８，Ｄ９を出力する。Ｄｉは，レジスタ１１ｉに保持されている画素データであるから，差分絶対値演算／加算器３１〜３５は，それぞれ，Ｃ（ｘ−４，ｙ）＋２Ｃ（ｘ−３，ｙ），４Ｃ（ｘ−２，ｙ）＋８Ｃ（ｘ−１，ｙ），１６Ｃ（ｘ，ｙ）＋８Ｃ（ｘ＋１，ｙ），４Ｃ（ｘ＋２，ｙ）＋２Ｃ（ｘ＋３，ｙ），Ｃ（ｘ＋４，ｙ）を出力することになる。残りの差分絶対値演算／加算器３６〜３８は，レジスタ１１１１〜１１１６から”０”を受け取るから，その出力はいずれも”０”である。
【００４５】
続いて，加算部４により，差分絶対値演算／加算器３１〜３８の出力の和が算出される。加算部４は，下記式（４）で表される出力ＤＯＵＴ（ｘ，ｙ）を生成することになる：
ＤＯＵＴ（ｘ，ｙ）＝Ｃ（ｘ−４，ｙ）＋２Ｃ（ｘ−３，ｙ）＋４Ｃ（ｘ−２，ｙ）
＋８Ｃ（ｘ−１，ｙ）＋１６Ｃ（ｘ，ｙ）＋８Ｃ（ｘ＋１，ｙ）
＋４Ｃ（ｘ＋２，ｙ）＋２Ｃ（ｘ＋３，ｙ）＋Ｃ（ｘ＋４，ｙ），
・・・（４）
式（４）に示されている出力ＤＯＵＴ（ｘ，ｙ）は，画素データＣ（ｘ−４，ｙ）〜Ｃ（ｘ＋４，ｙ）の重み付け和であり，その全体に１／４６が掛けられていない点を除いて上記の式（２’）と同一の形式を有していることに留意されたい。
【００４６】
演算部５は，加算部４の出力ＤＯＵＴ（ｘ，ｙ）を，式（４）の各項の係数の和（即ち，４６）で割ることにより，対象画素のポストフィルタリング後の画素データＣ’（ｘ，ｙ）を算出する。
【００４７】
他の対象画像の他の所望の画素についても同様の演算が行われる。所望の全ての画素について上記の演算が行われることにより，ポストフィルタリングが完了する。
【００４８】
第３  まとめ及び補足
以上に述べられているように，本実施の形態の画像演算装置は，動きベクトル推定及びポストフィルタリングの両方の演算の主要部分を共通のハードウェア資源を用いて実行することができる。これは，動きベクトル推定及びポストフィルタリングに必要なハードウェア資源の量を有効に抑制する。
【００４９】
本発明は，その趣旨に反しない限り，本実施形態の画像演算装置の構成に限定されないことに留意されるべきである。例えば，本実施形態の画像演算装置の構成は，ポストフィルタリングにおける重み付け平均の算出方法に応じて適宜に変更可能である。重み付け平均の算出に用いられる重み付け係数として，２の累乗でない値が用いられる場合には，シフタ２２〜２８の代わりに，画素データ，又は，該画素データと係数との積を選択的に出力するように構成された乗算器が使用され得る。加えて，重み付け平均の算出に用いられる画素データの数が変更される場合には，レジスタ１１１〜１１１６と差分絶対値演算／加算器３１〜３８の間に介設されるシフタ（又は乗算器）の数，及びそれらに設定される重み付け係数も，画素データの数に合わせて変更される。
【００５０】
加えて、本実施の形態において，乗算部２のシフタは，左シフトではなく，右シフトを行うように構成されることも可能である。あるデータをｎビットだけ右シフトすることは，当該データを２−ｎ倍することに相当することを考慮すれば，本実施の形態の画像演算処理装置は，例えば，図５のように構成され得る。図５の画像演算処理装置では，乗算部２が，シフタ２１’〜２４’，及びシフタ２６’〜２９’を含んで構成される。シフタ２１’〜２４’は，レジスタ１１１〜１１４から画素データＤ１〜Ｄ４を受け取り，当該画素データＤ１〜Ｄ４に対して必要に応じて右方向へのビットシフトを行うことができるように構成されている。同様に，シフタ２６’〜２９’は，レジスタ１１６〜１１９から画素データＤ〜Ｄ４を受け取り，当該画素データＤ１〜Ｄ４に対して必要に応じて右方向へのビットシフトを行うことができるように構成されている。シフタ２１’〜２４’，２６’〜２９が右方向へのビットシフトを行うビットの数は，以下のように設定されている；両端のシフタ２１’，２９’は，４ビットの右シフトを実行可能に構成され，端から２番目のシフタ２２’，２８’は，３ビットの右シフトを実行可能に構成されている。端から３番目のシフタ２３’，２７’は，２ビットの右シフトを実行可能に構成され，端から４番目のシフタ２２’，２６’は，１ビットの右シフトを実行可能に構成されている。これにより，図５の画像演算処理装置は，上述の実施形態とは異なる重み付け係数を用いた重み付け和の算出が可能である。具体的には，図５の画像演算処理装置は，下記式（４）’：
ＤＯＵＴ（ｘ，ｙ）＝（１／１６）Ｃ（ｘ−４，ｙ）＋（１／８）Ｃ（ｘ−３，ｙ）
＋（１／４）Ｃ（ｘ−２，ｙ）＋（１／２）Ｃ（ｘ−１，ｙ）
＋Ｃ（ｘ，ｙ）
＋（１／２）Ｃ（ｘ＋１，ｙ）＋（１／４）Ｃ（ｘ＋２，ｙ）
＋（１／８）Ｃ（ｘ＋３，ｙ）＋（１／１６）Ｃ（ｘ＋４，ｙ），
・・・（４）’
によって重み付け和を算出する。式（４）’が，上述の式（４）と等価であることは，当業者であれば容易に理解されよう。
【図面の簡単な説明】
【００５１】
【図１】図１は，動きベクトル推定を説明する概念図である。
【図２】図２は，ポストフィルタリングを説明する概念図である。
【図３】図３は，本発明の一実施形態における画像処理回路の構成を示すブロック図である。
【図４】図４は，本発明の一実施形態におけるシフタの構成を示すブロック図である。
【図５】図５は，本発明の他の実施形態における画像処理回路の構成を示すブロック図である。
【符号の説明】
【００５２】
１：シフトレジスタ部
２：乗算部
３：差分絶対値演算／加算部
４：加算部
５：演算部
１０：画像処理回路
１１１〜１１１６：レジスタ
１２１〜１２１６：セレクタ
１３：第１入力端子
１４：第２入力端子
２２〜２８：シフタ
３１〜３８：差分絶対値演算／加算器
４１〜４７：加算器
４８：レジスタ
【図１】
2005354381.tif 000007
【図２】
2005354381.tif 000008
【図３】
2005354381.tif 000009
【図４】
2005354381.tif 000010
【図５】
2005354381.tif 000011