(57)【要約】【課題】動画像符復号化における１／２画素値演算を連続的に行う演算装置において、前回の１／２画素値演算で用いた画素値を今回の１／２画素値演算で再利用し、高速化を図る。【解決手段】第１、第２の画素値を加算する加算器４と、前サイクルの加算器４の加算結果又は第１の画素値を記憶するレジスタ６と、レジスタ６が記憶する前サイクルの加算器４の加算結果又は第１の画素値と現サイクルの加算器４の加算結果又は第１の画素値とを加算する加算器７と、加算器７の結果又は第１の画素値をシフトするシフタ９とを備えた。【選択図】  図１
2004343589.tif 000002
【特許請求の範囲】
【請求項１】
サイクル毎に入力される第１、第２の画素値から１／２整数画素値を算出する画素値演算装置であって、
前記第１、第２の画素値をそれぞれ入力する第１、第２の入力端と、
前記第１、第２の入力端から入力された第１、第２の画素値を加算する第１の加算器と、
前記第１の加算器の加算結果又は前記第１の画素値のいずれかを記憶するレジスタと、
前記レジスタが、前サイクルの前記第１の画素値を記憶している場合に、該画素値と現サイクルの第１の画素値を加算するとともに、前記レジスタが、前サイクルの前記第１の加算器の加算結果を記憶している場合に、該加算結果と現サイクルの前記第１の加算器の加算結果とを加算する第２の加算器と、
前記第１の加算器の加算結果と前記第２の加算器の加算結果とのいずれかを所定のビット数分シフトするシフタと、
前記第１の入力端から入力された第１の画素値と前記シフタの出力のいずれか一方を１／２画素値として出力する最終セレクタと、
を備えたことを特徴とする画素値演算装置。
【請求項２】
前記第１の加算器の加算結果と前記第１の入力端から入力された第１の画素値のいずれかを切り換えて出力する第１のセレクタと、
前記第１のセレクタが出力するデータと前記第２の加算器の出力とを切り換えて出力する第２のセレクタとをさらに備え、
前記レジスタは、前記第１のセレクタの出力を記憶し、
前記シフタは前記第２のセレクタの出力を記憶することを特徴とする請求項１に記載の画素値演算装置。
【請求項３】
請求項１に記載の画素値演算装置をｎ個備え、前記ｎ個の画素値演算装置（Ｒ（１）〜Ｒ（ｎ）とする。ただしｎは２以上の整数）について、画素値演算装置Ｒ（ｋ）（ただしｋはｎ以下の自然数）の第１の入力端には画素Ｓ（ｋ）の画素値を、第２の入力端には画素Ｓ（ｋ＋１）（画素Ｓ（ｋ＋１）は画素Ｓ（ｋ）に隣接する画素とする）の画素値を、それぞれ並列に入力して、水平方向に連続するｎ＋１個の画素Ｓ（１）〜Ｓ（ｎ＋１）の画素値から前記１／２画素値を算出することを特徴とする画素値並列演算装置。
【請求項４】
画像の前フレームから取得された第１、第２の画素値を前記第１、第２の入力端にそれぞれ入力し、前記１／２画素値を算出する請求項１に記載の画素値演算装置と、
前記画像の現フレームの画素値と前記画素値演算装置が算出する１／２画素値との差分を算出する減算器と、
を備えることを特徴とする動画像符号装置。
【請求項５】
画像の前フレームから取得された第１、第２の画素値を前記第１、第２の入力端にそれぞれ入力し、前記１／２画素値を算出する請求項１に記載の画素値演算装置と、
差分画素値と前記画素値演算装置が算出する１／２画素値とを加算する加算器と、
を備えることを特徴とする動画像復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半画素精度の動きベクトルを検出し、あるいは補償機能を有する動画像符復号技術に係るものであり、特に効率よく半画素値を算出する画素値演算装置及び動画像符復号装置に関する。
【０００２】
【従来の技術】
近年の蓄積メディアの大容量化、放送のデジタル化、通信のブロードバンド化に伴い、ＤＶＤ、デジタル放送、マルチメディア通信をはじめとする画像圧縮伸長技術を応用したサービスが急速に発展している。この圧縮伸長アルゴリズムは、ＭＰＥＧ−１／２／４、Ｈ．２６１／３等、その用途別に標準化がなされている。これらのアルゴリズムによる演算において、演算量の多くを占めているのが動きベクトル検出である。動きベクトル検出、動き予測は画質向上には欠かせない処理であり、ＭＰＥＧやＨ．２６３以降の標準化では、これらの処理の精度向上のため１／２整数画素単位での動きベクトル検出、動き予測にも対応することになった。
【０００３】
１／２整数画素単位での動きベクトル検出のためには、整数画素のデータから１／２整数画素単位のデータを作成する必要がある。動きベクトル検出は、探索点を減らす探索アルゴリズムの工夫によって全体処理量を削減することは可能であるが、１／２整数画素単位の精度が求められる限り、１／２整数画素単位の画素値を作成する処理は不可欠となる。
【０００４】
ＭＰＥＧ−４（ＩＳＯ／ＩＥＣ  １４４９６−２／ＡＭＤ．１  「Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  −  Ｐａｒｔ  ２：  Ｖｉｓｕａｌ」）の動きベクトル検出においても１／２整数画素単位の精度が求められており、前フレームからの予測画像と現入力画像の差分計算は、まず予測画像の画素値を周辺画素の値から算出して求め、次に現入力画像の画素値と予測画像の画素値の差分を求めるという２段階の手順で行われる。
【０００５】
１／２整数画素データの作成方法について図１６を用いて説明すると、図の大きめの○で描かれた画素１〜４に対して、１／２整数画素データの作成は小さい○で描かれた部分のデータを求めることに相当する。例えば画素１〜４の画素値をそれぞれｄ［１］、ｄ［２］、ｄ［３］、ｄ［４］とすると、小さな○のＢ、Ｃ、Ｄはそれぞれ（ｄ［１］＋ｄ［２］）／２、（ｄ［１］＋ｄ［３］）／２、（ｄ［１］＋ｄ［２］＋ｄ［３］＋ｄ［４］）／４で求められる。このような演算をすべての画素について繰り返していくことにより、１／２整数画素データを取得することになる。
【０００６】
ところで、毎回メモリ上の２〜４個の画素から画素値を取得して、１／２画素値を求める処理を繰り返すのは負担が大きい。そこで、これら連続する１／２画素値演算を２項演算とみなし、前回の１／２画素値演算で用いた画素値を今回の１／２画素値演算で再利用するようにして、メモリへのアクセス回数を少なく抑え、１／２画素値演算を効率的に行う方法もある（例えば、特許文献１）。
【０００７】
【特許文献１】
特開平１０−３３７８  「演算装置および演算方法」  第１図、第４頁〜第５頁
【０００８】
【発明が解決しようとする課題】
上記方法によれば、Ｎ回の連続する２項演算をＮ＋４回のクロックで実現することができるとしているが、大量の画素にまたがるこれらの演算を多数のフレーム間で実行するためには、より効率のよい演算方法が望まれる。
【０００９】
この発明は、１／２整数画素単位の精度が求められる動きベクトル検出の処理において、整数画素の画素値から算出した１／２整数画素の画素値の記憶媒体への格納処理と記憶媒体からの読み出し処理を不要としつつ、動きベクトル検出の処理速度をさらに向上することを目的とする。
【００１０】
【課題を解決するための手段】
この発明に係る画素値演算装置は、サイクル毎に入力される第１、第２の画素値から１／２整数画素値を算出する画素値演算装置であって、
前記第１、第２の画素値をそれぞれ入力する第１、第２の入力端と、
前記第１、第２の入力端から入力された第１、第２の画素値を加算する第１の加算器と、
前記第１の加算器の加算結果又は前記第１の画素値のいずれかを記憶するレジスタと、
前記レジスタが、前サイクルの前記第１の画素値を記憶している場合に、該画素値と現サイクルの第１の画素値を加算するとともに、前記レジスタが、前サイクルの前記第１の加算器の加算結果を記憶している場合に、該加算結果と現サイクルの前記第１の加算器の加算結果とを加算する第２の加算器と、
前記第１の加算器の加算結果と前記第２の加算器の加算結果とのいずれかを所定のビット数分シフトするシフタと、
前記第１の入力端から入力された第１の画素値と前記シフタの出力のいずれか一方を１／２画素値として出力する最終セレクタと、
を備えるものである。
【００１１】
【発明の実施の形態】
実施の形態１．
図１は、この発明の実施の形態１の画素値演算装置の構成を示すブロック図である。図において、画素値演算装置１は、参照画像において水平方向に隣り合う２つの画素値を垂直方向に連続的に、かつ、サイクル毎に取り込む入力端２（第１の入力端）及び入力端３（第２の入力端）と、入力端２および３から入力された画素値を加算する加算器４（第１の加算器）と、入力端２から入力された画素値と加算器４の出力とのいずれか一方を出力するセレクタ５（第１のセレクタ）と、セレクタ５の出力を１サイクル分保持して出力値とするレジスタ６と、セレクタ５の出力とレジスタ６の前回の値を加算する加算器７（第２の加算器）と、セレクタ５の出力と加算器７の出力のいずれか一方を出力するセレクタ８（第２のセレクタ）と、外部からの制御信号１０により決定される所定のビット数だけセレクタ８の出力データをシフトするシフタ９と、入力端２とシフタ９の出力値とのいずれか一方の値を画素値演算装置１が出力する１／２画素値として出力するセレクタ１１（最終セレクタ）から構成されている。
【００１２】
なお、上記において、レジスタという語はいわゆるフリップフロップを用いて構成される回路又は素子を指すものとする。さらに、シフタ９は入力データのビットを左右に移動する処理を行うが、代わりに除算器を用いてもよい。また外部からの制御信号１０はシフタ９の他にセレクタ５、８、１１のモード切替も制御するようになっている。
【００１３】
次に画素値演算装置１の動作について説明する。画素値演算装置１が１／２画素値の演算を行うに先立って、画素値演算装置１の外部に存在する図示せぬメモリポインタによる指定によって、画像の水平方向に隣接する２つの画素の値を、画素配列から取得する。そしてこれら２つの画素の一方を入力端２に、そして他方を入力端３に転送する。
【００１４】
図２〜図４は、以降の説明で便宜上用いる画素配列の例を示した図およびそのメモリ上の物理的な配置、予測画像の画素の位置を示した図である。ただし画素値演算装置１が処理する画素は、必ずしもこのような配列・配置に限られるわけではなく、入力端２および３に入力する画素値が隣接する２つの画素のものであれば、外部に存在する画像を構成する画素のメモリ上の配列がどのようになっていても構わない。
【００１５】
図２において○で囲まれた部分は画素を示しており、ｄ（１）〜ｄ（１０）はそれぞれの画素の画素値である。以降の例では、これらの画素値が８ビットで表現される値域（０〜２５５）の値をとるものとする。また図３は、これらの画素値のメモリにおける物理的格納状態の例を示す図である。図に示すように、実施の形態１による画素値演算装置１の処理対象となる画素値は、１ワード（１６ビット）の領域に２個ずつ格納されている。このようにすることで、１６ビット幅のバスでデータリードして、上位８ビットのバスを入力端２に接続し、下位８ビットのバスを入力端３に接続すれば、１回のメモリアクセスで２つの画素値を取得することが可能となる。
【００１６】
図４は、前フレームの画素値から１／２整数画素単位で算出される予測画像の画素の位置の関係を示した図である。図のＡ（１）、Ａ（２）、Ａ（３）…（以降Ａ（ｎ）とする。ただしｎは自然数）は、動きベクトルが水平方向０、垂直方向０の場合の画素の位置を示す。Ｂ（１）、Ｂ（２）、Ｂ（３）…（以降Ｂ（ｎ）とする）は、動きベクトルが水平方向１／２、垂直方向０の場合の画素の位置を示す。同様に、Ｃ（１）、Ｃ（２）、Ｃ（３）…（以降Ｃ（ｎ）とする）は動きベクトルが水平方向０、垂直方向１／２の場合の画素の位置を、Ｄ（１）、Ｄ（２）、Ｄ（３）…（以降Ｄ（ｎ）とする）は動きベクトルが水平方向１／２、垂直方向１／２の場合の画素の位置を示す。そうすると、図２に示したような画素値の配列に基づいて表せば、Ａ（２ｎ−１）の画素値はｄ（２ｎ−１）、Ｂ（２ｎ−１）の画素値は（ｄ（２ｎ−１）＋ｄ（２ｎ））／２、Ｃ（２ｎ−１）の画素値は（ｄ（２ｎ−１）＋ｄ（２ｎ＋１））／２、Ｄ（２ｎ−１）の画素値は（ｄ（２ｎ−１）＋ｄ（２ｎ）＋ｄ（２ｎ＋１）＋ｄ（２ｎ＋２））／４で求められる。
【００１７】
動きベクトルが水平方向０、垂直方向０の場合と、動きベクトルが水平方向１／２、垂直方向０の場合、動きベクトルが水平方向０、垂直方向１／２の場合、そして動きベクトルが水平方向１／２、垂直方向１／２の場合のそれぞれのモードの切り換えは制御信号１０によって行われる。
【００１８】
（動きベクトルが水平方向０、垂直方向０の場合）
まず動きベクトルが水平方向０、垂直方向０の画素値Ａ（２ｎ−１）を算出する場合について説明する。図５は、Ａ（２ｎ−１）を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ１２は、第１の入力端から入力されたデータを選択するように接続している。この結果、各サイクル毎に入力端２に入力された画素値ｄ（２ｎ−１）を、画素値演算装置１の出力値Ａ（２ｎ−１）として出力する。
【００１９】
（動きベクトルが水平方向１／２、垂直方向０の場合）
次に、動きベクトルが水平方向１／２、垂直方向０の画素値Ｂ（２ｎ−１）を算出する場合について説明する。図６は、Ｂ（２ｎ−１）を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ５とセレクタ８は、は加算器４の出力を選択するように接続している。またセレクタ１１はシフタ９の出力を選択するように接続している。またシフタ９は制御信号１０によって１ビット右シフトする処理を行うようになっている。
【００２０】
この場合において、入力端２から入力された画素値ｄ（２ｎ−１）と入力端３から入力された画素値ｄ（２ｎ）は、加算器４で加算されて、加算値（ｄ（２ｎ−１）＋ｄ（２ｎ））が得られる。さらに、その加算結果がシフタ９によって２で除算され、（ｄ（２ｎ−１）＋ｄ（２ｎ））／２が得られ、画素値演算装置１の出力値Ｂ（ｎ）として出力する。図７は、入力端２と入力端３のそれぞれに（ｄ（１），ｄ（２））、（ｄ（３），ｄ（４））、（ｄ（５），ｄ（６））、（ｄ（７），ｄ（８））などの画素値が入力された場合の加算器４、シフタ９の出力を示すタイミングチャートである。この図からも分かるように、Ｎ回連続する２項演算に対して（Ｎ＋１）回のサイクルで演算結果を出力する。
【００２１】
（動きベクトルが水平方向０、垂直方向１／２の場合）
次に、動きベクトルが水平方向０、垂直方向１／２の画素値Ｃ（２ｎ−１）を算出する場合について説明する。図８は、Ｃ（２ｎ−１）を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ５は、入力端２を選択するように接続している。またセレクタ８は、加算器４の出力を選択するように接続している。またセレクタ１１はシフタ９の出力を選択するように接続している。またシフタ９は制御信号１０によって１ビット右シフトする処理を行うようになっている。
【００２２】
この場合において、入力端２から入力された画素値ｄ（２ｎ−１）は１サイクルの間レジスタ６に記憶される。次に入力端２から画素値ｄ（２ｎ＋１）が入力されると、前回サイクルにおいてレジスタ６に記憶されていた画素値ｄ（２ｎ−１）と今回入力端２から入力された画素値ｄ（２ｎ＋１）とが加算器７により加算されてｄ（２ｎ−１）＋ｄ（２ｎ＋１）が結果として得られる。またそれと同時に今回入力端２から入力された画素値ｄ（２ｎ＋１）はレジスタ６に記憶され、次回の動きベクトルが水平方向０、垂直方向１／２の画素値の算出に用いられる。
【００２３】
そして、シフタ９は加算器７の加算結果ｄ（２ｎ−１）＋ｄ（２ｎ＋１）を２で除算してｄ（２ｎ−１）＋ｄ（２ｎ＋１）／２を画素値演算装置１の出力Ｃ（ｎ）として出力する。図９は、入力端２にｄ（１）、ｄ（３）、ｄ（５）、ｄ（７）などの画素値が入力された場合のレジスタ６、加算器４、シフタ９の出力を示すタイミングチャートである。この図からも分かるように、Ｎ回連続する２項演算に対して（Ｎ＋１）回のサイクルで演算結果を出力する。
【００２４】
（動きベクトルが水平方向１／２、垂直方向１／２の場合）
次に、動きベクトルが水平方向１／２、垂直方向１／２の画素値Ｄ（２ｎ−１）を算出する場合について説明する。図８は、Ｄ（２ｎ−１）を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ５は加算器４の加算結果を選択するように接続している。またセレクタ８は加算器７の加算結果を選択するように接続している。セレクタ１１はシフタ９の出力を選択するように接続している。また、制御信号１０によって２ビット右シフトする処理を行うようになっている。
【００２５】
この場合において、入力端２から画素値ｄ（２ｎ−１）、入力端３から画素値ｄ（２ｎ）が入力されると、加算器４において加算結果ｄ（２ｎ−１）＋ｄ（２ｎ）が得られて、レジスタ６に１サイクルの間記憶される。
【００２６】
次のサイクルにおいて、入力端２から画素値ｄ（２ｎ＋１）、入力端３から画素値ｄ（２ｎ＋２）が入力されると、加算器４において加算結果ｄ（２ｎ＋１）＋ｄ（２ｎ＋２）が得られる。そして加算器７において加算器４の加算結果ｄ（２ｎ＋１）＋ｄ（２ｎ＋２）と、前回サイクルにおいてレジスタ６により記憶されたｄ（２ｎ−１）＋ｄ（２ｎ）とが加算されて、ｄ（２ｎ−１）＋ｄ（２ｎ）＋ｄ（２ｎ＋１）＋ｄ（２ｎ＋２）が得られる。同時に、加算器４の加算結果ｄ（２ｎ＋１）＋ｄ（２ｎ＋２）は、レジスタ６に記憶されて、次回の動きベクトルが水平方向１／２、垂直方向１／２の画素値の算出に用いられる。
【００２７】
さらにシフタ９では２ビット右シフトされて、（ｄ（２ｎ−１）＋ｄ（２ｎ）＋ｄ（２ｎ＋１）＋ｄ（２ｎ＋２））／４が得られ、画素値演算装置１の出力Ｄ（ｎ）となる。図１１は、入力端２と入力端３のそれぞれに（ｄ（１），ｄ（２））、（ｄ（３），ｄ（４））、（ｄ（５），ｄ（６））、（ｄ（７），ｄ（８））などの画素値が入力された場合の加算器４、レジスタ６、加算器７、シフタ９の出力を示すタイミングチャートである。この図からも分かるように、Ｎ回連続する２項演算に対して（Ｎ＋１）回のサイクルで演算結果を出力する。
【００２８】
以上から明らかなように、実施の形態１による画素値演算装置１によれば、Ｎ回連続する２項演算に対して、（Ｎ＋１）回のサイクルで演算結果を出力することができるので、極めて高速に１／２画素の演算を行うことができる。
【００２９】
なお、実施の形態１では図１に示したようにセレクタ５を加算器４と入力端２のいずれか一方を選択する用途として配置し、さらにセレクタ８をセレクタ５と加算器７のいずれか一方を選択する用途として配置することとした。しかし、この発明の特徴を発揮する構成はこの限りではない。たとえば、図１２に示すようにセレクタ５の出力と、加算器７の結果のそれぞれに対してシフタ９−１、９−２を設け、それらの結果をセレクタ１１で選択するという構成を採れば、セレクタ８のような構成要素は不要となる。
【００３０】
つまり、この発明の特徴を発揮するためには、少なくとも次のような条件（１）〜（６）が満たされていればよい。すなわち、（１）入力端２および３と、加算器４、レジスタ６、加算器７、シフタ９、セレクタ１１が備えられていることである。
【００３１】
（２）加算器４が入力端２および３から入力された画素値を加算することが必要である。これによって（ｄ（２ｎ−１）＋ｄ（２ｎ））、すなわち動きベクトルが水平方向１／２、垂直方向０の画素値を求めるための画素の加算値を算出することになる。
【００３２】
（３）レジスタ６が加算器４の加算結果または入力端２から入力された画素値のいずれかを記憶するようになっていることが必要である。加算器４の加算結果を記憶する必要がある理由は、動きベクトルが水平方向１／２、垂直方向１／２の画素値を算出するためである。また、入力端２から入力された画素値を記憶する必要がある理由は、動きベクトルが水平方向０、垂直方向１／２の画素値を算出するためである。
【００３３】
（４）加算器７は、レジスタ６が前サイクルにおいて入力端２から入力された画素値ｄ（２ｎ−１）を記憶している場合、すなわち、動きベクトルが水平方向０、垂直方向１／２の画素値を算出する場合に、ｄ（２ｎ−１）と現サイクルの画素値ｄ（２ｎ＋１）とを加算してｄ（２ｎ−１）＋ｄ（２ｎ＋１）を得るようになっている必要がある。また同時に、レジスタ６が前サイクルにおいて加算器４の加算結果、すなわちｄ（２ｎ−１）＋ｄ（２ｎ）を記憶している場合、すなわち、動きベクトルが水平方向１／２、垂直方向１／２の画素値を算出する場合に、ｄ（２ｎ−１）＋ｄ（２ｎ）と現サイクルの加算器４の加算結果、すなわちｄ（２ｎ＋１）＋ｄ（２ｎ＋２）とを加算して、ｄ（２ｎ−１）＋ｄ（２ｎ）＋ｄ（２ｎ＋１）＋ｄ（２ｎ＋２）を得るようになっている必要がある。
【００３４】
（５）シフタ９は、加算器４と加算器７とのいずれかをシフトするようになっている必要がある。動きベクトルが水平方向１／２、垂直方向０の場合、動きベクトルが水平方向０、垂直方向１／２の場合、動きベクトルが水平方向１／２、垂直方向１／２の場合において、隣接する画素値を加算した後に２または４で除算するためである。
【００３５】
最後に（６）セレクタ１１は、シフタ９と入力端２から入力された画素値のいずれかを画素値演算装置１の出力値として選択するようになっている必要がある。
【００３６】
以上の（１）〜（６）が満たされているのであれば、セレクタ、レジスタや加算器、シフタの配置箇所や個数にかかわらず、実施の形態１の発明の範囲に含まれる。
【００３７】
実施の形態２．
なお、実施の形態１による画素値演算装置１は、水平方向に隣接する２個の画素について、１／２画素の演算を行うものであったが、実施の形態１による画素値演算装置１を並列に複数台接続して、２個を超える隣接する画素について１／２画素の演算を同時に実行させるようにしてもよい。図１３はこのような画素値並列演算装置の構成と画素配列との対応を示すブロック図である。図の画素値並列演算装置１２は、実施の形態１による画素値演算装置１と同じ画素値演算装置Ｒ（１）〜Ｒ（４）を複数備えており（この例では４台）、さらに画素値演算装置Ｒ（１）〜Ｒ（４）のそれぞれの入力端２−１〜２−４および入力端３−１〜３−４が画素値並列演算装置１２の外部に入力端として設けられている。また図の○は画素配列であり、それぞれＳ（１）〜Ｓ（２５）の符号が付されている。それぞれの○の中に表示されているｄ（１）〜ｄ（２５）は画素値である。
【００３８】
次に画素値並列演算装置１２の動作について説明する。画素値並列演算装置１２の入力端２−１〜２−４および入力端３−１〜３−４に対して各サイクル毎に同時に画素値が入力される。各行の画素をＳ（５ｎ−４）、Ｓ（５ｎ−３）、Ｓ（５ｎ−２）、Ｓ（５ｎ−１）、Ｓ（５ｎ）（ｎは自然数）と表すと、画素配列の要素Ｓ（５ｎ−４）とＳ（５ｎ−３）は画素値演算装置Ｒ（１）によって処理され、Ｓ（５ｎ−３）とＳ（５ｎ−２）は画素値演算装置Ｒ（２）によって処理され、Ｓ（５ｎ−２）とＳ（５ｎ−１）は画素値演算装置Ｒ（３）によって処理され、Ｓ（５ｎ−１）とＳ（５ｎ）は画素値演算装置Ｒ（４）によって処理される。
【００３９】
またＳ（５ｎ−４）の画素値ｄ（５ｎ−４）は入力端２−１に入力され、Ｓ（５ｎ−３）の画素値ｄ（５ｎ−３）は入力端３−１および２−２に入力され、Ｓ（５ｎ−２）の画素値ｄ（５ｎ−２）は入力端３−２および２−３に入力され、Ｓ（５ｎ−１）の画素値ｄ（５ｎ−１）は入力端３−３および２−４に入力され、Ｓ（５ｎ）の画素値ｄ（５ｎ）は入力端３−４に入力されるようになっている。
【００４０】
画素値に対する処理方法は、実施の形態１で説明したので、ここでは説明を省略する。その結果、複数の１／２画素値が得られる。
【００４１】
以上から明らかなように、実施の形態２による画素値並列演算装置１２によれば、画素値演算装置１−１〜１−４が同時に１／２画素を算出する演算を行うので、Ｎ行の画素列に対する１／２画素の算出処理を最大（Ｎ＋１）サイクルで完了させることができる。
【００４２】
実施の形態３．
実施の形態３では、実施の形態１による画素値演算装置１を用いて構成された動画像符号化装置について説明する。図１４は、実施の形態３による動画像符号化装置の構成を示したブロック図である。図において、動画像符号化装置１３は画素値演算装置１と減算器１４とを備え、動画の前フレームを格納する前フレーム格納部１５と、現フレームを格納する原フレーム格納部１７とから画素値を入力されるようになっている。画素値演算装置１は、実施の形態１で説明した画素値演算装置１と同様である。また減算器１４は画素値演算装置１の出力する１／２画素値と現フレーム格納部１７から入力される画素値との差を求めて差分画素を出力するようになっている。
【００４３】
また前フレーム格納部１５は前フレームの画像を格納したメモリブロックであって、メモリポインタ１６によってアドレッシングされて、画素値を転送させるようになっている。現フレーム格納部１７は現フレームの画像を格納したメモリブロックであって、メモリポインタ１８によってアドレッシングされて、画素値を転送させるようになっている。なおメモリポインタ１６とメモリポインタ１８は前フレームと現フレームにおいて、それぞれ相対的に同じ画像位置の画素をアドレッシングするようになっている。
【００４４】
次に動画像符号化装置１３の動作について説明する。画素値演算装置１は、実施の形態１で説明したように、前フレーム格納部から入力端２および３に入力された画素値に基づいて、１／２画素値を算出する。次に減算器１４は画素値演算装置１の出力した１／２画素値と現フレーム格納部１７から入力された画素値その差異を求めて、動きベクトル検出時に使用する差分画素を出力する。
【００４５】
以上から明らかなように、実施の形態３の動画像符号化装置１３によれば、画素値演算装置１を用いて効率よく１／２画素値を算出することができるので、高速に差分画素を求めることができる、という効果を奏する。
【００４６】
実施の形態４．
なお実施の形態３の動画像符号化装置１３の減算器１４を図１５に示すように加算器２１に置換し、さらに入力画素値のうち現フレーム格納部１７を、差分画素値を格納する差分画素格納部２２に置換することで、動き補償時に使用する動画像復号化装置２０を得る。
【００４７】
以上から明らかなように、実施の形態４の動画像符号化装置２０によれば、画素値演算装置１を用いて効率よく１／２画素値を算出することができるので、高速に復号化することができる、という効果を奏する。
【００４８】
【発明の効果】
この発明は、第１、第２の画素値を加算する第１の加算器と、
前記第１の加算器の加算結果又は前記第１の画素値のいずれかを記憶するレジスタと、
前記レジスタが、前サイクルの前記第１の画素値を記憶している場合に、該画素値と現サイクルの第１の画素値を加算するとともに、前記レジスタが、前サイクルの前記第１の加算器の加算結果を記憶している場合に、該加算結果と現サイクルの前記第１の加算器の加算結果とを加算する第２の加算器と、
前記第１の加算器の加算結果と前記第２の加算器の加算結果との少なくともいずれかをシフトするシフタと、
前記第１の画素値と前記シフタの出力のいずれか一方を１／２画素値として出力する最終セレクタとを備えたので、Ｎ回連続する２項演算に対して、（Ｎ＋１）サイクルで演算結果を出力することができるので、高速に１／２画素の演算を行うことができるという極めて有利な効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態１による画素値演算装置の構成を示すブロック図である。
【図２】この発明の実施の形態１による画素値の配列を示す図である。
【図３】この発明の実施の形態１による画素値がメモリに格納されている状態を示す図である。
【図４】この発明の実施の形態１による画素値と１／２画素値の配列を示す図である。
【図５】この発明の実施の形態１による画素値演算装置のセレクタの第１の接続状態を示すブロック図である。
【図６】この発明の実施の形態１による画素値演算装置のセレクタの第２の接続状態を示すブロック図である。
【図７】この発明の実施の形態１による画素値演算装置のセレクタの第２の接続状態によるタイミングチャートである。
【図８】この発明の実施の形態１による画素値演算装置のセレクタの第３の接続状態を示すブロック図である。
【図９】この発明の実施の形態１による画素値演算装置のセレクタの第３の接続状態によるタイミングチャートである。
【図１０】この発明の実施の形態１による画素値演算装置のセレクタの第４の接続状態を示すブロック図である。
【図１１】この発明の実施の形態１による画素値演算装置と同一の効果を得る別の画素値演算装置の構成を示すブロック図である。
【図１２】この発明の実施の形態１による画素値演算装置のセレクタの第４の接続状態を示すタイミングチャートである。
【図１３】この発明の実施の形態２による画素値並列演算装置の構成を示すブロック図である。
【図１４】この発明の実施の形態３による動画像符号装置の構成を示すブロック図である。
【図１５】この発明の実施の形態４による動画像復号装置の構成を示すブロック図である。
【図１６】従来例による１／２画素値算出方法の説明図である。
【符号の説明】
１  画素値演算装置、
２〜３  入力端、
４  加算器、
５  セレクタ、
６  レジスタ、
７  加算器、
８  セレクタ、
９  シフタ、
１１  セレクタ、
１２  画素値並列演算装置、
１３  動画像符号化装置、
１４  減算器、
１５  前フレーム格納部、
１６  メモリポインタ、
１７  現フレーム格納部、
１８  メモリポインタ、
２０  動画像復号化装置、
２１  加算器、
２２  差分画素格納部。
【図１】
2004343589.tif 000003
【図２】
2004343589.tif 000004
【図３】
2004343589.tif 000005
【図４】
2004343589.tif 000006
【図５】
2004343589.tif 000007
【図６】
2004343589.tif 000008
【図７】
2004343589.tif 000009
【図８】
2004343589.tif 000010
【図９】
2004343589.tif 000011
【図１０】
2004343589.tif 000012
【図１１】
2004343589.tif 000013
【図１２】
2004343589.tif 000014
【図１３】
2004343589.tif 000015
【図１４】
2004343589.tif 000016
【図１５】
2004343589.tif 000017
【図１６】
2004343589.tif 000018