(57)【要約】【課題】  ツリー構造を有する絶対差演算部の構造を効率よく改善した絶対差演算装置とそれを用いた動き推定装置及び動映像符号化装置を提供する。【解決手段】  絶対差計算のための複数の仮絶対差計算部から出力されるキャリーアウト値を加算器ツリー内のそれぞれの加算器にキャリーイン値として入力して計算させることによって、各絶対差計算部で必要な加算器の数を減少させうる絶対差演算装置。【選択図】  図５
2005168028.tif 000002
【特許請求の範囲】
【請求項１】
絶対差演算装置において、
複数の仮絶対差（ｐｓｅｕｄｏ  ａｂｓｏｌｕｔｅ  ｄｉｆｆｅｒｅｎｃｅ）計算部と、
前記複数の仮絶対差計算部の出力値を加算するための少なくとも１つ以上の加算器よりなる加算器ツリーと、
前記加算器ツリーの最終値及び前記複数の仮絶対差計算部のうち何れか１つより生成された符号決定値を入力されて絶対差を計算する付加加算器と、を含み、
前記加算器ツリーを構成する加算器それぞれは前記複数の仮絶対差計算部で生成された符号決定値のうち何れか１つの符号決定値をキャリーインとして入力されることを特徴とする装置。
【請求項２】
前記複数の仮絶対差計算部で生成されたあらゆる符号決定値は前記加算器と異なる加算器に入力されることを特徴とする請求項１に記載の装置。
【請求項３】
前記仮絶対差計算部は、
２つの入力値の差値を計算するための差値計算部と、
前記差値計算部のキャリーアウト値をインバート変換するためのインバータと、前記インバート変換された値と前記差値計算部の出力値とを入力されてＸＯＲ論理和値を出力するためのＸＯＲゲートを含む仮絶対値計算部と、を含むことを特徴とする請求項１に記載の装置。
【請求項４】
前記キャリーアウト値は、前記差値計算部で計算された差値の最上位ビット（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：ＭＳＢ）であり、前記符号決定値は前記最上位ビットのインバートされた値であることを特徴とする請求項３に記載の装置。
【請求項５】
前記仮絶対差計算部の出力値は、前記ＸＯＲ論理和値であることを特徴とする請求項３に記載の装置。
【請求項６】
請求項１の絶対差演算装置を用いて動き推定を行う動き推定装置。
【請求項７】
請求項６の動き推定装置を使用して動映像符号化を行う動映像符号化装置。
【請求項８】
絶対差演算装置において、
複数の仮絶対差計算部と、
前記複数の仮絶対差計算部のうち２つの仮絶対差計算部で計算された仮絶対差を入力値とし、前記複数の仮絶対差計算部で生成された符号決定値のうち１つの符号決定値をキャリーインとして、加算値を計算する複数の１次加算器と、を含むことを特徴とする装置。
【請求項９】
前記複数の加算器のうち２つの１次加算器で計算された加算値を入力値とし、前記複数の絶対差計算部で生成された符号決定値のうち使用されていない１つの符号決定値をキャリーインとして、加算値を計算する２次加算器をさらに含むことを特徴とする請求項８に記載の装置。
【請求項１０】
前記２次加算器で計算された加算値と、前記複数の絶対差計算部で生成された符号決定値のうち使われていない１つの符号決定値をキャリーインとして、加算値を計算する３次加算器を含むことを特徴とする請求項９に記載の装置。
【請求項１１】
前記仮絶対差計算部は、
２つの入力値の差値を計算するための差値計算部と、
前記差値計算部のキャリーアウト値をインバート変換するためのインバータと、前記インバート変換された値と前記差値の計算部の出力値とを入力されてＸＯＲ論理和値を出力するためのＸＯＲゲートとを含む仮絶対値計算部と、を含むことを特徴とする請求項８に記載の装置。
【請求項１２】
前記キャリーアウト値は、前記差値計算部で計算された差値の最上位ビットであり、前記符号決定値は、前記最上位ビットのインバートされた値であることを特徴とする請求項１１に記載の装置。
【請求項１３】
前記仮絶対差計算部の出力値は、前記ＸＯＲ論理和値であることを特徴とする請求項１１に記載の装置。
【請求項１４】
請求項８の絶対差演算装置を用いて動き推定を行う動き推定装置。
【請求項１５】
請求項１４の動き推定装置を使用して動映像符号化を行う動映像符号化装置。
【請求項１６】
前記加算器は第１加算部、第２加算部、第３加算部及び第４加算部を含み、
前記仮絶対差計算部それぞれは、
２つの入力値間の差値に対応する差値を計算する差値計算部と、
前記第４加算部にキャリーインとして入力されるキャリーアウトを有する第１仮絶対差計算部と、
前記第１加算部にキャリーインとして入力されるキャリーアウトを有する第２仮絶対差計算部と、
前記第３加算部にキャリーインとして入力されるキャリーアウトを有する第３仮絶対差計算部と、
前記第２加算部にキャリーインとして入力されるキャリーアウトを有する第４仮絶対差計算部と、を含むことを特徴とする請求項１に記載の装置。
【請求項１７】
前記キャリーアウト値は、前記差値計算部で計算された差値の最上位ビットであり、前記符号決定値は、前記最上位ビットのインバートされた値であることを特徴とする請求項１６に記載の装置。
【請求項１８】
絶対差値を演算するためのコンピュータ可読コードが記録された記録媒体において、
前記コンピュータ可読コードは、
複数の仮絶対差計算部を使用して複数の仮絶対差を決定するための命令語と、
前記複数の仮絶対差計算部の出力値を加算するための少なくとも１つ以上の加算器よりなる加算器ツリーを使用するための命令語と、
前記加算器ツリーの最終値及び前記複数の仮絶対差計算部のうち何れか１つより生成された符号決定値を入力されて絶対差を計算するために付加加算器を使用するための命令語と、を含み、
前記加算器ツリーを構成する加算器それぞれは前記複数の仮絶対差計算部で生成された符号決定値のうち何れか１つの符号決定値をキャリーインとして入力されることを特徴とするコンピュータ可読記録媒体。
【請求項１９】
前記コンピュータ可読コードは、前記複数の仮絶対差計算部で生成されたあらゆる符号決定値を前記加算器と異なる加算器とに入力させる命令語を含むことを特徴とする請求項１８に記載のコンピュータ可読記録媒体。
【請求項２０】
前記仮絶対差計算部は、
２つの入力値の差値を計算するための命令語と、
インバータを使用して前記差値のキャリーアウト値をインバート変換するための命令語と、ＸＯＲゲートを使用して前記インバート変換された値と前記差値計算部の出力値を入力されてＸＯＲ論理和値とを出力するための命令語とを含んで仮絶対差を決定するための命令語と、を含むことを特徴とする請求項１８に記載のコンピュータ可読記録媒体。
【請求項２１】
前記キャリーアウト値は、前記差値の最上位ビットであり、前記符号決定値は、前記最上位ビットのインバートされた値であることを特徴とする請求項２０に記載のコンピュータ可読記録媒体。
【請求項２２】
前記仮絶対差計算部の出力値は、前記ＸＯＲ論理和値であることを特徴とする請求項２０に記載のコンピュータ可読記録媒体。
【請求項２３】
絶対差を計算するためのコンピュータ可読コードが記録されたコンピュータ可読記録媒体において、
前記コンピュータ可読コードは、
複数の仮絶対差計算部を使用して複数の仮絶対差を計算するための命令語と、
前記複数の仮絶対差計算部のうち２つの仮絶対差計算部で計算された仮絶対差を入力値として入力される複数の１次加算器を使用し、前記複数の仮絶対差計算部で生成された符号決定値のうち何れか１つの符号決定値をキャリーインとして、前記２個の仮絶対差計算部からの入力値の加算値を計算するための命令語と、を含むことを特徴とするコンピュータ可読記録媒体。
【請求項２４】
前記複数の加算器のうち２つの１次加算器で計算された加算値を入力値とする２次加算器を使用し、前記複数の絶対差計算部で生成された符号決定値のうち使われていない１つの符号決定値をキャリーインとして、前記２つの１次加算器で計算された加算値の加算値を計算するための命令語をさらに含むことを特徴とする請求項２３に記載のコンピュータ可読記録媒体。
【請求項２５】
３次加算器を使用し、前記複数の絶対差計算部で生成された符号決定値のうち使われていない１つの符号決定値をキャリーインとして、前記２次加算器で計算された加算値に基づいて、最終加算値を計算するための命令語を含むことを特徴とする請求項２３に記載のコンピュータ可読記録媒体。
【請求項２６】
前記仮絶対差計算部は、
差値計算部を使用して、２つの入力値の差値を計算するための命令語と、
前記差値計算部のキャリーアウト値をインバート変換するためのインバータと、前記インバート変換された値と前記差値計算部の出力値とを入力されてＸＯＲ論理和値を出力するためのＸＯＲゲートを含む仮絶対値計算部を実行させるための命令語と、を含むことを特徴とする請求項２３に記載のコンピュータ可読記録媒体。
【請求項２７】
前記キャリーアウト値は、前記差値計算部で計算された差値の最上位ビットであり、前記符号決定値は、前記最上位ビットのインバートされた値であることを特徴とする請求項２６に記載のコンピュータ可読記録媒体。
【請求項２８】
前記仮絶対差計算部の出力値は、前記ＸＯＲ論理和値であることを特徴とする請求項２６に記載のコンピュータ可読記録媒体。
【請求項２９】
前記加算器は、第１加算部、第２加算部、第３加算部及び第４加算部を含み、
前記仮絶対差計算部それぞれは、
差値計算部を使用し、２つの入力値間の差値に対応する差値を計算するための命令語と、
前記第４加算部にキャリーインとして入力されるキャリーアウトを有する第１仮絶対差計算部を実行させるための命令語と、
前記第１加算部にキャリーインとして入力されるキャリーアウトを有する第２仮絶対差計算部を実行させるための命令語と、
前記第３加算部にキャリーインとして入力されるキャリーアウトを有する第３仮絶対差計算部を実行させるための命令語と、
前記第２加算部にキャリーインとして入力されるキャリーアウトを有する第４仮絶対差計算部を実行させるための命令語と、を含むことを特徴とする請求項１８に記載のコンピュータ可読記録媒体。
【請求項３０】
前記キャリーアウト値は、前記差値計算部で計算された差値の最上位ビットであり、前記符号決定値は、前記最上位ビットのインバートされた値であることを特徴とする請求項２９に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は絶対差演算装置及びそれを用いた動き推定装置に係り、特にツリー構造を有する絶対差演算部の構造を効率よく改善した絶対差演算装置及びそれを用いた動き推定装置に関する。
【背景技術】
【０００２】
最近、ＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）やＰＶＲ（Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）の大衆化につれて、映像圧縮についての研究開発が活発になっている。既存のＤＶＲやＰＶＲでは、入力映像の特性、すなわち時間的複雑度を考慮せずに映像を固定された解像度としてのみ圧縮するために、圧縮の効率性が落ちる問題点があった。
【０００３】
図１は、従来の動映像エンコーダを示すブロック図である。
まず、入力される映像データは８×８画素のブロックに分解される。ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）部１１０は空間的相関性を除去するために８×８画素ブロック単位で入力される映像データに対してＤＣＴ演算を行う。量子化部（Ｑｕａｎｔｉｚａｔｉｏｎ：Ｑ）１２０はＤＣＴ部１２０から得られたＤＣＴ係数に対して量子化を行い、幾つかの代表値で表現することによって、高効率損失圧縮を行う。可変長符号化部（ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ：ＶＬＣ）１３０は量子化処理されたＤＣＴ変換係数に対してエントロピー符号化を行い、エントロピー符号化されたデータストリームを出力する。
【０００４】
逆量子化部（Ｉｎｖｅｒｓｅ  Ｑｕａｎｔｉｚａｔｉｏｎ：ＩＱ）１４０は量子化部１２０で量子化された映像データを逆量子化する。逆ＤＣＴ部１５０は逆量子化部１４０で逆量子化された映像データに対してＩＤＣＴ変換を行う。フレームメモリ部１６０は、ＩＤＣＴ部１５０でＩＤＣＴ変換された映像データをフレーム単位で保存する。動き推定部（Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ：ＭＥ）１７０は入力される現在フレームの映像データとフレームメモリ部１６０に保存された以前フレームの映像データとを用いて時間的相関性を除去するために使われる。
【０００５】
図１に示されたような、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）２及びＭＰＥＧ４のようなブロック基盤動映像符号器の核心的なモジュールは動き推定器、すなわち図１の動き推定部１７０である。このような動き推定部１７０は、基本的に最も多い演算量を占めるだけでなく、ハードウェアの具現時にも複雑度によって多くのゲート数を有する。
【０００６】
このような動き推定器の最も頻繁な演算機能がブロック単位のＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）である。一般的に、ＭＰＥＧ２のような比較的に大きい映像を扱う場合には、１クロックの間に複数のＳＡＤを同時に計算して比較する。したがって、ＳＡＤ演算のためには絶対差演算器及びツリー構造の加算器が必須である。
【０００７】
図１に示されたような符号化装置は、特許文献１に開示されている。
図２は、図１の動き推定部１７０で使われる一般的なＳＡＤ演算部を示す図面であり、図３は図２のＳＡＤ演算部でのＳＡＤ演算のための１６×１６画素サイズの２つのマクロブロック（Ｍａｃｒｏ  Ｂｌｏｃｋ：ＭＢ）を示す図面である。図３で現在ＭＢのｉ番目の画素はＣｉ、所定サイズの動きベクトルを有する探索領域内の１つの参照ＭＢのｉ番目の画素はＲｉと定義する。
【０００８】
図２のそれぞれの絶対差演算部、すなわち｜ＤＩＦＦ０｜，｜ＤＩＦＦ１｜，｜ＤＩＦＦ２｜，｜ＤＩＦＦ３｜，…｜ＤＩＦＦ２５５｜は現在ＭＢの画素それぞれの画素値Ｃｉ、すなわちＣ０，Ｃ１，Ｃ２，Ｃ３，…Ｃ２５５と参照ＭＢの画素それぞれの画素値Ｒｉ、すなわちＲ０，Ｒ１，Ｒ２，Ｒ３，…Ｒ２５５との間の絶対差を計算する。ここで、ＤＩＦＦｉはＣｉ−Ｒｉを意味する。
【０００９】
また、図２のＳＡＤ演算部は、絶対差演算部を用いて２つの対象ブロックの各画素別絶対差を求めた後、その結果を加算器ツリーを使用して該当動きベクトルに対応するＳＡＤを計算する。一般的に、図２に示されたように、２５６個の絶対差値がある場合、加算器ツリーを用いてＳＡＤを計算する。
【００１０】
図４は、図２の絶対差演算部の構造を示す図面である。図４に示されたような絶対差計算のためのモジュールはＳＡＤ演算部が累算器の構造ではない、図２に示されたようにツリー構造である場合に使われる。図４に示されたように、図２の絶対差演算部それぞれには２つの加算器が必要である。したがって、１６×１６マクロブロックのＳＡＤを求めるためには絶対差演算部でのみ２５６×２、すなわち５１２個の加算器が必要である。
【００１１】
このように、従来のＳＡＤ演算部には絶対差演算部それぞれが少なくとも２つ以上の加算器を必要とするために、多数の加算器が要求され、全体ＳＡＤ演算部のハードウェア負担が増加する問題点があった。
【特許文献１】ＵＳ第６，１２２，３２１号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明が解決しようとする技術的課題は、ＳＡＤ演算部の構造を効率よく改善し、ＳＡＤ演算部に必要な加算器の数を減少させるための絶対差演算装置及びそれを用いて動き予測を行う動き予測装置を提供することである。
【課題を解決するための手段】
【００１３】
前記技術的課題は、本発明に係る複数の仮絶対差計算部と、前記複数の仮絶対差計算部の出力値を加算するための少なくとも１つ以上の加算器よりなる加算器ツリーと、前記加算器ツリーの最終値及び前記複数の仮絶対差計算部のうち何れか１つより生成された符号決定値を入力されて絶対差を計算する付加加算器と、を含み、前記加算器ツリーを構成する加算器それぞれは前記複数の仮絶対差計算部で生成された符号決定値のうち何れか１つの符号決定値をキャリーイン(carry-in)として入力される絶対差演算装置により達成される。
【００１４】
また、前記技術的課題は、本発明に係る複数の仮絶対差計算部と、前記複数の仮絶対差計算部のうち２つの仮絶対差計算部で計算された仮絶対差を入力値とし、前記複数の仮絶対差計算部で生成された符号決定値のうち１つの符号決定値をキャリーインとして、加算値を計算する複数の１次加算器を含むことを特徴とする絶対差演算装置により達成される。
【００１５】
一方、本発明に係る絶対差演算装置は、複数の加算器のうち２つの加算器で計算された加算値を入力値として、複数の絶対差計算部で生成された符号決定値のうち使われていない１つの符号決定値をキャリーインとして、加算値を計算する加算器及び前記複数の加算器のうち２つの加算器で計算された加算値を入力とする加算器で計算された加算値と、複数の絶対差計算部で生成された符号決定値のうち使われていない１つの符号決定値とをキャリーインとして、加算値を計算する加算器をさらに含むことも可能である。
【発明の効果】
【００１６】
本発明に係る絶対差演算方法を使用することによって、絶対差演算のために使われる加算器の数を減少させ、絶対差演算装置及びそれを用いる動き推定装置及び動映像符号化器のハードウェアの負担を減らせる。
【発明を実施するための最良の形態】
【００１７】
以下、添付された図面を参照して本発明の望ましい実施例を説明する。
なお、本明細書では値(式(1))
【００１８】
【数１】
2005168028.tif 000003
【００１９】
をＸ￣と示す(但し、Ｘは任意の値とする)。
図５は、本発明の一実施例に係る２×２ブロック間のＳＡＤ計算部を示す。
本実施例には説明の便宜上、２×２ブロックを例として説明したが、１６×１６ブロックについても同じ方式が適用されうる。
【００２０】
図５に示されたＳＡＤ計算部は、第１差値計算部５１０、第２差値計算部５３０、第３差値計算部５５０、第４差値計算部５７０、第１仮絶対値計算部５２０、第２仮絶対値計算部５４０、第３仮絶対値計算部５６０、第４仮絶対値計算部５８０、第１加算部５９０、第２加算部５９２、第３加算部５９４、及び第４加算部５９６を含む。
【００２１】
ここで、第１加算部５９０及び第２加算部５９２は、１次加算部、第３加算部５９４は２次加算部、第４加算部５９６は３次加算部に分類される。
また、第１差値計算部５１０及び第１仮絶対値計算部５２０は、第１仮絶対差計算部、第２差値計算部５３０及び第２仮絶対値計算部５４０は第２仮絶対差計算部、第３差値計算部５５０及び第３仮絶対値計算部５６０は第３仮絶対差計算部、第４差値計算部５７０及び第４仮絶対値計算部５８０は第４仮絶対差計算部と定義する。
【００２２】
第１差値計算部５１０は排他的論理和（ＸＯＲ）ゲート５１２及び加算器５１４を含む。以下では、現在及び参照ブロックの画素値の解像度が８ビットである場合を例として説明する。
ＸＯＲゲート５１２では、図３に示された参照ＭＢの０番目の画素値Ｒ０と１とを入力されてＲ０の補数Ｒ0￣を生成する。
加算器５１４は、ＸＯＲゲート５１２で生成されたＲ０の補数Ｒ0￣と、図３に示された現在ＭＢの０番目の画素値Ｃ０と、キャリーイン‘１’とを入力され、出力値Ｚ0＝Ｃ0＋Ｒ0￣＋1及びキャリーアウトＣout0＝[256＊(Ｃ0＋Ｒ0￣＋1)/256]を出力する。すなわち、キャリーアウトＣｏｕｔ０は加算器５１４で計算された９ビット値のうち最上位ビット（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ：ＭＳＢ）であって、サインビット、すなわち符号決定ビットとして機能する。
このように、第１差値計算部５１０は、出力値Ｚ０及びキャリーアウトＣｏｕｔ０を出力する。
【００２３】
第１仮絶対値計算部５２０は、インバータ５２２及びＸ０Ｒゲート５２４を含む。
インバータ５２２は、第１差値計算部５１０から出力されたキャリーアウトＣｏｕｔをインバータ変換したＣout0￣をＸＯＲゲート５２４及び第１加算部５９０に出力する。
ＸＯＲゲート５２４は、インバータ５２２から出力されたＣout0￣と第１差値計算部５１０の加算器５１４の出力値Ｚ0＝Ｃ0＋Ｒ0￣＋1とを入力値として、出力値Ｏ0＝Ｚ0＋Ｃout0￣を出力する。
このように、第１仮絶対値計算部はＣout0￣及びＯ０を出力する。
【００２４】
第２差値計算部５３０は、ＸＯＲゲート５３２及び加算器５３４を含む。
ＸＯＲゲート５３２では、図３に示された参照ＭＢの最初の画素値Ｒ１と１とを入力されてＲ１の補数Ｒ1￣を生成する。
加算器５３４は、ＸＯＲゲート５３２で生成されたＲ１の補数Ｒ1￣と、図３に示された現在ＭＢの最初の画素値Ｃ１と、キャリーイン‘１’とを入力され、出力値Ｚ1＝Ｃ1＋Ｒ1￣＋1及びキャリーアウトＣout1＝[256＊(Ｃ1＋Ｒ1￣＋1)/256]を出力する。
このように、第２差値計算部５３０は出力値Ｚ１及びキャリーアウトＣｏｕｔ１を出力する。
【００２５】
第２仮絶対値計算部５４０は、インバータ５４２及びＸ０Ｒゲート５４４を含む。
インバータ５４２は、第１差値計算部５３０から出力されたキャリーアウトＣｏｕｔ１をインバータ変換したＣout1￣をＸＯＲゲート５４４及び第３加算部５９４に出力する。
ＸＯＲゲート５４４は、インバータ５４２から出力されたＣout1￣と第１差値計算部５３０の加算器５３４の出力値Ｚ1＝Ｃ1＋Ｒ1￣＋1を入力値として、出力値Ｏ1＝Ｚ1＋Ｃout1￣を出力する。
このように、第２仮絶対値計算部５４０はＣout1￣及びＯ１を出力する。
【００２６】
第３差値計算部５５０及び第４差値計算部５７０は、前述した第１差値計算部５１０及び第２差値計算部５３０と同じ機能を行う。したがって、説明の便宜上、その詳細な説明は省略する。
また、第３仮絶対値計算部５６０及び第４仮絶対値計算部５８０は、前述した第１仮絶対値計算部５２０及び第２仮絶対値計算部５４０と同じ機能を行う。したがって、説明便宜上、その詳細な説明は省略する。
ここで、第３仮絶対値計算部５６０は、第１仮絶対値計算部５６０と同じ方式で出力値Ｃout2￣及びＯ２を出力する。
また、第４仮絶対値計算部５８０は、第１仮絶対値計算部５６０と同じ方式で出力値Ｃout3￣及びＯ３を出力する。
【００２７】
第１加算部５９０は、第１仮絶対値計算部５２０の出力Ｏ０及び第２仮絶対値計算部５４０の出力Ｏ１を入力値として、第１仮絶対値計算部５２０のキャリーアウトＣout0￣をキャリーインとして、１次加算値、すなわちＡＤＤ１を計算して出力する。
また、第２加算部５９２は、第３仮絶対値計算部５６０の出力Ｏ２及び第４仮絶対値計算部５８０の出力Ｏ３を入力値とし、第３仮絶対値計算部５６０のキャリーアウトＣout2￣をキャリーインとして、もう１つの１次加算値、すなわちＡＤＤ２を計算して出力する。
【００２８】
第３加算部５９４は、第１加算部５９０及び第２加算部５９２から出力された２つの１次加算値ＡＤＤ１及びＡＤＤ２を入力とし、第２絶対値計算部５４０のキャリーアウトＣout1￣をキャリーインとして、２次加算値、すなわちＡＤＤ３を計算して出力する。
第４加算部５９６は、第３加算部５９４から出力されたＡＤＤ３及び第４仮絶対値計算部５８０のキャリーアウトＣout3￣をキャリーインとして、３次加算値を計算して出力する。
ここで、前記第４加算部５９６で計算された３次加算値は２×２ブロック間で求められたＳＡＤ値である。
【００２９】
図５に示された本発明に係る実施例では、各仮絶対値計算部５２０、５４０、５６０、５８０から出力されたキャリーアウトＣout0￣，Ｃout1￣，Ｃout2￣，Ｃout3￣を特定加算部５９０、５９４、５９２、５９６に各々付加した。しかし、前記キャリーアウトが入力される加算部を特定する必要なく、前記キャリーアウトを前記加算部のうち任意の１つに各々入力しても良い。
【００３０】
図６は、本発明に係るさらに他の実施例を示す図面である。
第１仮絶対値計算部６２０から出力されたＣout0￣値が第３加算部６９４のキャリーインとして入力され、第２仮絶対値計算部６４０から出力されたＣout1￣値が第１加算部６９０のキャリーインとして入力される点を除いては、図５に示された絶対差演算部と同じ機能を行う。したがって、説明の便宜上、各機能部に関する詳細な説明は省略する。
【００３１】
図７は、本発明に係るさらに他の実施例を示す図面である。
第１仮絶対値計算部７２０から出力されたＣout0￣値が第４加算部７９６のキャリーインとして入力され、第２仮絶対値計算部７４０から出力されたＣout1￣値が第１加算部７９０のキャリーインとして入力され、第３仮絶対値計算部７６０から出力されたＣout2￣値が第３加算部７９４のキャリーインとして入力され、第４仮絶対値計算部７８０から出力されたＣout3￣値が第２加算部７９２のキャリーインとして入力される点を除いては、図５に示された絶対差演算部と同じ機能を行う。したがって、説明の便宜上、各機能部に関する説明は省略する。
【００３２】
このように、本発明に係るＳＡＤ演算装置では従来の絶対差計算部で最終的に加えられるキャリーアウト値を加算器ツリー内のあらゆる加算器のキャリーインとして入力して分散させて計算することによって、絶対差計算部内の加算器を減少させることが可能である。
【００３３】
例えば、２×２ブロック間にＳＡＤを求める場合、図５に示されたように、４個の仮絶対値計算部で４個のキャリーアウトが出力され、この中、３つのキャリーアウトが、加算器ツリーの３つの加算部５９０、５９２、５９４に入力される。そして、加算器ツリーから得られた結果と残りの１つのキャリーアウトを１つの加算部５９６を使用して加算することによって、最終ＳＡＤを求め得る。このように、最終端で１つの加算器を追加することによって、絶対差演算部内の加算器の数を１／２に減らせる。
【００３４】
例えば、図５に示された２×２ブロック間のＳＡＤを求める場合には４−１個の加算器を減らせる。また、１６×１６ブロックの整合時には２５６−１個の加算器を減らせる。
本実施例では、説明の便宜上、２×２ブロックでのＳＡＤを求める方式を説明したが、１６×１６ブロックに対しても同じ方式でＳＡＤを求めうる。
【００３５】
また、図５に示された絶対差演算装置を、図１に示された動映像符号化器の動き予測部１７０及び動映像符号化器に適用してハードウェア複雑度をも減らせる。
本発明は、前記実施例に限定されず、本発明の思想内で当業者による変形が可能であることは言うまでもない。
【００３６】
本発明は、またコンピュータ可読記録媒体にコンピュータ可読コードとして具現しうる。コンピュータ可読記録媒体は、コピュータシステムによって読込まれうるデータが保存されるあらゆる種類の記録装置を含む。コンピュータ可読記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、ハードディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じた伝送）の形にも具現されうる。また、コンピュータ可読記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータ可読コードとして保存されて実行されうる。
【産業上の利用可能性】
【００３７】
本発明は、ツリー構造を有する絶対差演算部の構造を効率よく改善した絶対差演算装置及びそれを用いた動き推定装置に関するものであって、映像圧縮技術分野で好適に適用されうる。
【図面の簡単な説明】
【００３８】
【図１】従来の動映像エンコーダを示すブロック図である。
【図２】図１の動き推定部１７０で使われる従来のＳＡＤ演算部を示す図面である。
【図３】ＳＡＤ演算を説明するための１６×１６画素サイズの２つのマクロブロックを示す図面である。
【図４】図２のＳＡＤ演算部に使われる絶対差演算部の構造を示す図面である。
【図５】本発明の一実施例に係るＳＡＤ演算部を示す図面である。
【図６】本発明の他の実施例に係るＳＡＤ演算部を示す図面である。
【図７】本発明のさらに他の実施例に係るＳＡＤ演算部を示す図面である。
【符号の説明】
【００３９】
５１０        第１差値計算部
５１２        排他的論理和（ＸＯＲ）ゲート
５１４        加算器
５２０        第１仮絶対値計算部
５３０        第２差値計算部
５４０        第２仮絶対値計算部
５５０        第３差値計算部
５６０        第３仮絶対値計算部
５７０        第４差値計算部
５８０        第４仮絶対値計算部
５９０        第１加算部
５９２        第２加算部
５９４        第３加算部
５９６        第４加算部
【図１】
2005168028.tif 000004
【図２】
2005168028.tif 000005
【図３】
2005168028.tif 000006
【図４】
2005168028.tif 000007
【図５】
2005168028.tif 000008
【図６】
2005168028.tif 000009
【図７】
2005168028.tif 000010