(57)【要約】【課題】所定の演算の過程で得られる中間信号を演算手段で生成および出力し、続いて当該中間信号を演算手段に入力して演算を行って上記所定の演算を行う場合に、上記中間信号を上記演算手段の入力ビット長に適合させることができる信号処理装置を提供する。【構成】符号化装置２は、動き予測・補償回路３５が、１／８画素精度の補間画素信号を生成する場合に、水平方向の画素補間演算で、丸め制御回路３３からの丸め誤差調整信号ｒｕｎを基に水平方向の補間画素信号が１６ビットになるように丸め処理を行う。これにより、１６ビットの入力ビット長を有する汎用のプロセッサを用いて、垂直方向の画素補間演算を行うことができる。【選択図】　図９
2004140676.tif 000002
【特許請求の範囲】
【請求項１】
入力ビット長が規定された単数または複数の演算手段
を有し、
第１の前記演算手段が、前記入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成し、前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力し、
前記第１の演算手段または第２の前記演算手段が、前記第１の演算手段が出力した前記第３の信号を入力して処理する
信号処理装置。
【請求項２】
丸め誤差調整信号を生成する丸め制御手段
をさらに有し、
前記第１の演算手段は、前記丸め制御手段が生成した前記丸め誤差調整信号を基に、前記第２の信号に丸め処理を行って前記第３の信号を生成する
請求項１に記載の信号処理装置。
【請求項３】
前記第１の演算手段は、２×ｎ（ｎは３以上の整数）の第２のビット長の前記第２の信号を生成し、前記入力ビット長が２×ｍ（ｍはｎより小さい２以上の整数）の場合に、前記第２の信号に前記丸め誤差調整信号を加算して得た第４の信号を、２ｍ−２ｎで除算するのに相当する演算を行って前記第３の信号を生成する
請求項２に記載の信号処理装置。
【請求項４】
前記第１の演算手段は、前記２ｍ−２ｎが４である場合に、前記丸め誤差調整信号に２を乗じた信号を前記第２の信号に加算して前記第４の信号を生成し、
前記丸め制御手段は、０または１を示す前記誤差調整信号を生成する
請求項３に記載の信号処理装置。
【請求項５】
前記丸め制御手段は、０または１をランダムに示す前記丸め誤差調整信号を生成する
請求項４に記載の信号処理装置。
【請求項６】
記憶回路から読み出された第１の画像信号の画素信号を補間して得られた第２の画像信号を用いて所定の画像信号の動きベクトルを生成するために、前記第２の画像信号を構成する補間された画素信号を生成する場合に、前記第１の演算手段は、前記第１の画像信号の前記入力ビット長の第１の画素信号を前記第１の信号として入力し、当該第１の画素信号を用いて水平方向の補間演算を行って、水平方向に補間された前記第２の信号としての第２の画素信号を生成し、前記第２の画素信号に丸め処理を行って、前記入力ビット長以下の前記第３の信号としての第３の画素信号を生成し、前記第３の画素信号を出力して前記第１の画素信号として当該第１の演算手段または第２の前記演算手段に入力させ、
前記第１の演算手段または前記第２の演算手段は、前記第１の演算手段が出力した前記第３の画素信号を入力し、当該第３の画素信号を用いて垂直方向の補間演算を行って、垂直方向に補間された第４の画素信号を生成する
請求項１に記載の信号処理装置。
【請求項７】
前記第１の画像信号の画素信号が属する所定のブロックを単位として、丸め誤差調整信号が示す値を切り換える丸め制御手段
をさらに有し、
前記第１の演算手段は、前記丸め制御手段が生成した前記丸め誤差調整信号を基に、前記第２の画素信号に丸め処理を行って前記第３の画素信号を生成する
請求項６に記載の信号処理装置。
【請求項８】
入力ビット長が規定された単数または複数の演算手段を用いた信号処理方法であって、
第１の前記演算手段が、前記入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成する第１の工程と、
前記第１の演算手段が、前記第１の工程で生成した前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力する第２の工程と、
前記第１の演算手段または第２の前記演算手段が、前記第２の工程で前記第１の演算手段が出力した前記第３の信号を入力して処理する第３の工程と
を有する信号処理方法。
【請求項９】
丸め誤差調整信号を生成する第４の工程
をさらに有し、
前記第２の工程において、前記第４の工程で生成した前記丸め誤差調整信号を基に、前記第２の信号に丸め処理を行って前記第３の信号を生成する
請求項８に記載の信号処理方法。
【請求項１０】
入力ビット長が規定された単数または複数の演算手段を用いた信号処理装置が実行するプログラムであって、
第１の前記演算手段が、前記入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成する第１の手順と、
前記第１の演算手段が、前記第１の手順で生成した前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力する第２の手順と、
前記第１の演算手段または第２の前記演算手段が、前記第２の手順で前記第１の演算手段が出力した前記第３の信号を入力して処理する第３の手順と
を有するプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力ビット長が規定された演算手段を用いた信号処理装置、その方法およびそのプログラムに関する。
【０００２】
【従来の技術】
近年、画像信号をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するＭＥＰＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ１３８１８−２）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。
ＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
ＭＰＥＧ２は主として放送用に適合する高画質符号化を対象としていたが、ＭＰＥＧ１より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してＭＰＥＧ４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にＩＳＯ／ＩＥＣ１４４９６−２としてその規格が国際標準に承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、Ｈ．　２６Ｌ　（ＩＴＵ−Ｔ　Ｑ６／１６　ＶＣＥＧ）という標準の規格化が進んでいる。Ｈ．２６ＬはＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、ＭＰＥＧ４の活動の一環として、このＨ．２６Ｌをベースに、Ｈ．２６Ｌ規格ではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がＪｏｉｎｔ　Ｍｏｄｅｌ　ｏｆ　Ｅｎｈａｎｃｅｄ−Ｃｏｍｐｒｅｓｓｉｏｎ　Ｖｉｄｅｏ　Ｃｏｄｉｎｇとして行われている。
【０００６】
このようなＨ．２６Ｌ規格の符号化および復号では、符号化効率を上げるために、１／４および１／８画素精度など高い画素精度で動き予測・補償処理が行われる。
この場合に、動き予測・補償処理において、フレームメモリから整数精度の複数の画素信号（原画素信号）を読み出し、当該整数精度の画素信号をＦＩＲフィルタ処理して１／４および１／８画素精度の補間画素信号を生成し、上記整数精度の画素信号および上記補間画素信号によって構成される１／４および１／８画素精度の画像信号を用いて動きベクトルの生成を行う。
上述したＦＩＲフィルタ処理は、例えば、入力ビット長が１６ビットのプロセッサを用いて行われる。
ところで、上記プロセッサは、上述した１／８画素精度の補間画素信号を生成する場合に、整数精度の８ビットの画素信号を入力し、当該８ビットの画素信号に８タップＦＩＲフィルタ処理を行って水平方向に補間された１８ビットの補間画素信号を生成し、これをメモリに格納する。
そして、上記プロセッサが、上記メモリから読み出した上記水平方向に補間された１８ビットの補間画素信号を入力し、当該補間画素信号に８タップＦＩＲフィルタ処理を行ってさらに垂直方向に補間された上記１／８画素精度の補間画素信号を生成する。そのため、プロセッサの開発に多大な労力が必要になるという問題がある。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した１／８画素精度の補間画素信号の生成では、垂直方向の補間を行うために、水平方向に補間された１８ビットの補間画素信号を上記プロセッサに入力する必要があり、上記プロセッサとして１６ビットの入力ビット長を有する汎用のプロセッサを用いることができない。
【０００８】
本発明はかかる事情に鑑みてなされたものであり、その目的は、所定の演算の過程で得られる中間信号（第３の信号）を演算手段で生成および出力し、続いて当該中間信号を演算手段に入力して演算を行って上記所定の演算を行う場合に、当該中間信号を入力して処理する演算手段の入力ビット長に上記中間信号を適合させることができる信号処理装置、その方法およびそのプログラムを提供することにある。
【０００９】
【課題を解決するための手段】
上述した目的を達成するために、第１の発明の信号処理装置は、入力ビット長が規定された単数または複数の演算手段を有し、第１の前記演算手段が、前記入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成し、前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力し、前記第１の演算手段または第２の前記演算手段が、前記第１の演算手段が出力した前記第３の信号を入力して処理する。
【００１０】
第１の発明の信号処理装置の作用は以下のようになる。
第１の演算手段が、当該第１の演算手段の入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成する。
そして、前記第１の演算手段が、前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力する。
そして、前記第１の演算手段または第２の演算手段が、前記第１の演算手段が出力した前記第３の信号を入力して処理する。
【００１１】
また、第１の信号処理装置は、好ましくは、丸め誤差調整信号を生成する丸め制御手段をさらに有し、前記第１の演算手段は、前記丸め制御手段が生成した前記丸め誤差調整信号を基に、前記第２の信号に丸め処理を行って前記第３の信号を生成する。
【００１２】
また、第１の信号処理装置は、記憶回路から読み出された第１の画像信号の画素信号を補間して得られた第２の画像信号を用いて所定の画像信号の動きベクトルを生成するために、前記第２の画像信号を構成する補間された画素信号を生成する場合に、前記第１の演算手段は、前記第１の画像信号の前記入力ビット長の第１の画素信号を前記第１の信号として入力し、当該第１の画素信号を用いて水平方向の補間演算を行って、水平方向に補間された前記第２の信号としての第２の画素信号を生成し、前記第２の画素信号に丸め処理を行って、前記入力ビット長以下の前記第３の信号としての第３の画素信号を生成し、前記第３の画素信号を出力して前記第１の画素信号として当該第１の演算手段または第２の前記演算手段に入力させ、前記第１の演算手段または前記第２の演算手段は、前記第１の演算手段が出力した前記第３の画素信号を入力し、当該第３の画素信号を用いて垂直方向の補間演算を行って、垂直方向に補間された第４の画素信号を生成する。
【００１３】
第２の発明の信号処理方法は、入力ビット長が規定された単数または複数の演算手段を用いた信号処理方法であって、第１の前記演算手段が、前記入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成する第１の工程と、前記第１の演算手段が、前記第１の工程で生成した前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力する第２の工程と、前記第１の演算手段または第２の前記演算手段が、前記第２の工程で前記第１の演算手段が出力した前記第３の信号を入力して処理する第３の工程とを有する。
【００１４】
第３の発明のプログラムは、入力ビット長が規定された単数または複数の演算手段を用いた信号処理装置が実行するプログラムであって、第１の前記演算手段が、前記入力ビット長以下の第１のビット長の第１の信号を入力し、当該第１の信号に所定の処理を施して第２の信号を生成する第１の手順と、前記第１の演算手段が、前記第１の手順で生成した前記第２の信号に丸め処理を行って前記入力ビット長以下の第３の信号を生成し、前記第３の信号を出力する第２の手順と、前記第１の演算手段または第２の前記演算手段が、前記第２の手順で前記第１の演算手段が出力した前記第３の信号を入力して処理する第３の手順とを有する。
【００１５】
【発明の実施の形態】
以下、本発明の実施形態を説明する。
【００１６】
〔本発明の関連技術〕
図１は、本発明の関連技術に係わる符号化装置５００の機能ブロック図である。
図１に示す符号化装置５００において、入力となる画像信号は、まず、Ａ／Ｄ変換回路５０１においてデジタル信号に変換される。次に、出力となる画像圧縮情報のＧＯＰ（Ｇｒｏｕｐ　ｏｆ　Ｐｉｃｔｕｒｅｓ）構造に応じ、画面並べ替え回路５０２においてフレームの並べ替えが行われる。
そして、イントラ符号化が行われる画像に関しては、フレーム全体の画像情報が直交変換回路５０４に入力され、直交変換回路５０４において離散コサイン変換やカルーネン・レーベ変換等の直交変換が施される。
直交変換回路５０４の出力となる変換係数は、量子化回路５０５において量子化処理される。
量子化回路５０５の出力となる、量子化された変換係数は、可逆変換回路５０６に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、バッファ５０７に蓄積され、圧縮された画像信号として出力される。
量子化回路５０５における量子化レートは、レート制御回路５１２によって制御される。同時に、量子化回路５０５の出力となる、量子化された変換係数は、逆量子化回路５０８に入力され、さらに逆直交変換回路５０９において逆直交変換処理が施されて、復号された画像信号となり、その画像信号はフレームメモリ５１０に蓄積される。
【００１７】
一方、インター符号化が行われる画像に関しては、先ず、その画像信号は動き予測・補償回路５１１に入力される。同時に参照となる画像信号がフレームメモリ５１０より読み出され、動き予測・補償回路５１１によって動き予測・補償処理が施され、予測画像信号が生成される。予測画像信号は演算回路５０３に出力され、演算回路５０３において、画面並べ替え回路５０２からの画像信号と、動き予測・補償回路５１１からの予測画像信号との差分信号である画像信号が生成され、当該画像信号が直交変換回路５０４に出力される。
また、動き補償・予測回路５１１は、動きベクトルＭＶを可逆符号化回路５０６に出力し、可逆符号化回路５０６において、動きベクトルＭＶが可変長符号化あるいは算術符号化といった可逆符号化処理され、画像信号のヘッダ部に挿入される。その他の処理はイントラ符号化を施される画像信号と同様である。
【００１８】
Ｈ．２６Ｌにおいて、１／４，１／８画素精度の動き予測補償が規定されている。
先ず、動き予測・補償回路５１１による１／４画素精度の動き予測補償について説明する。
１／４画素精度の動き補償予測では、整数画素の画素信号から、１／４画素精度の補間画素信号を生成する。
図２は、当該１／４画素精度の補間画素信号の生成方法を説明するための図である。
この場合には、図２に示す画素位置（位相）Ａの画素信号から、１／２画素位置（補間画素位置）ｂの補間画素信号が、６タップのＦＩＲフィルタによって生成される。
この場合に、フィルタ係数｛１，−５，２０，２０，−５，１｝が用いられる。
そして、補間画素位置ｂの補間画素信号Ｓｂが、（Ｓｂ＋１６）／３２に相当する正規化処理を行い、〔０，２５５〕の範囲でクリッピング処理される。
また、上記正規化処理される前の補間画素位置ｂの補間用画素信号に、６タップフィルタ処理を行い補間画素位置ｃの補間画素信号Ｓｃを生成し、（Ｓｃ＋５１２）／１０２４に相当する正規化処理を行い、その結果を〔０，２５５〕の範囲でクリッピングして図２に示す補間画素位置ｃの補間画素信号Ｓｃを生成する。
【００１９】
また、下記式（１），（２），（３），（４），（５）に基づいて、補間画素位置ｄ，ｇ，ｅ，ｆ，ｉの補間用画素信号Ｓｄ，Ｓｇ，Ｓｅ，Ｓｆ，Ｓｉを、各補間画素位置の近傍の位置の画素位置Ａの整数精度の画素信号ＳＡ、並びに補間画素位置ｂの補間画素信号Ｓｂを用いて生成する。
【００２０】
【数１】
Ｓｄ＝（ＳＡ＋Ｓｂ）／２　　　　　　　　　　　…（１）
【００２１】
【数２】
Ｓｇ＝（Ｓｂ＋Ｓｃ）／２　　　　　　　　　　　…（２）
【００２２】
【数３】
Ｓｅ＝（ＳＡ＋Ｓｂ）／２　　　　　　　　　　　…（３）
【００２３】
【数４】
Ｓｆ＝（Ｓｂ＋Ｓｃ）／２　　　　　　　　　　　…（４）
【００２４】
【数５】
Ｓｉ＝（ＳＡ１＋ＳＡ２＋ＳＡ３＋ＳＡ４＋２）／４…（５）
【００２５】
動き予測・補償回路５１１は、動きベクトルの検出対象の画像の画像信号Ｓ５０２と、参照画像の画像信号Ｓ５１０について生成された１／４画素精度の画像信号とを用いて、動きベクトルＭＶを生成する。
また、動き予測・補償回路５１１は、動きベクトルＭＶと参照画像に対応する画像信号とを用いて１／４画素精度で予測画像信号を生成し、これを演算回路５０３に出力する。
【００２６】
次に、動き予測・補償回路５１１による１／８画素精度の動き予測補償について説明する。
１／８画素精度の動き補償予測では、整数画素の画素信号から、１／８画素精度の補間画素信号を生成する。
図３は、当該１／８画素精度の補間画素信号の生成方法を説明するための図である。
動き予測・補償回路５１１は、以下に示すように、図３に示す整数画素精度の画素位置Ａ（Ａ１，Ａ２，．．．）の画素信号ＳＡ（ＳＡ１，ＳＡ２，．．．）を用いて、小数画素精度の補間画素位置ｂ（ｂ１，ｂ２，．．．），ｃ（ｃ１１，ｃ１２，ｃ１３，．．．），ｄ，ｅ，ｆ，ｇの補間画素信号Ｓｂ，Ｓｃ，Ｓｄ，Ｓｅ，Ｓｆ，Ｓｇを生成する。
〔補間画素信号Ｓｃの生成〕
動き予測・補償回路５１１は、図４に示すように、先ず、フレームメモリ５１０から読み出した原画素である整数画素精度の画素位置Ａ１〜Ａ８の各々８ビットの画素信号ＳＡ１〜ＳＡ８（画素信号Ｓ５１０）を用いて８タップのＦＩＲ（Ｆｉｎｉｔｅ　Ｉｍｐｕｌｓｅ　Ｒｅｓｐｏｎｓｅ）　フィルタ演算を行うことで、水平方向の画素補間演算を行い、図３に示す補間画素位置ｂ（ｂ１，ｂ２，ｂ３，．．．）の１８ビットの補間画素信号Ｓｂ（Ｓｂ１，Ｓｂ２，Ｓｂ３，．．．）を生成する。
すなわち、補間演算回路４５は、下記（６）に示されるように、水平方向に連続して位置する８画素分の整数精度の画素位置Ａ１〜Ａ８の画素信号ＳＡ１〜ＳＡ８を用いて、画素信号ＳＡ１〜ＳＡ８のそれぞれに下記（７）で規定される係数ａ１〜ａ８を乗じて、１／４，２／４，３／４画素位置ｂ（ｂ１，ｂ２，ｂ３）の１８ビットの補間画素信号Ｓｂ（Ｓｂ１，Ｓｂ２，Ｓｂ３）を生成する。
【００２７】
【数６】
Ｓｂ＝（ａ１・ＳＡ１＋ａ２・ＳＡ２＋ａ３・ＳＡ３＋ａ４・ＳＡ４＋ａ５・ＳＡ５＋ａ６・ＳＡ６＋ａ７・ＳＡ７＋ａ８・ＳＡ８）…（６）
【００２８】
【数７】
2004140676.tif 000003
【００２９】
次に、動き予測・補償回路５１１は、図４に示すように、上述した水平方向の画素補間演算で得られた１８ビットの補間画素信号Ｓｂを用いて８タップのＦＩＲフィルタ演算を行うことで、垂直方向の画素補間演算を行い、図３に示す補間画素位置ｃ（ｃ１１，ｃ２１，ｃ３１．．．）の２６ビットの補間画素信号Ｓｃを生成する。
すなわち、補間演算回路４５は、図３に示す垂直方向に連続した８画素分の各々１８ビットの補間画素信号Ｓｂのそれぞれに上記（７）で規定される係数ａ１〜ａ８を乗算し、これらを加算して補間画素位置ｃ（ｃ１１，ｃ２１，ｃ３１，．．．）の２６ビットの補間画素信号Ｓｃ（Ｓｃ１１，Ｓｃ２１，Ｓｃ３１，．．．）を生成する。
【００３０】
動き予測・補償回路５１１は、上述したように生成した補間画素位置ｂ，ｃの補間画素信号Ｓｂ，Ｓｃを、それぞれ（Ｓｂ＋１２８）／２５６および（Ｓｃ＋３２７６８）／６５５３６に相当する正規化処理を行い、〔０，２５５〕の範囲でクリッピングして生成した補間用画素信号Ｓｂ’，Ｓｃ’を生成する。
また、動き予測・補償回路５１１は、上記補間用画素信号Ｓｂ’，Ｓｃ’、並びにフレームメモリ５１０から入力した整数画素精度の画像信号Ｓ５１０内の画素信号を用いて、図３に示す補間画素位置ｄ，ｅ，ｆ，ｇの補間画素信号Ｓｄ，Ｓｅ，Ｓｆ，Ｓｇを生成する。
【００３１】
具体的には、動き予測・補償回路５１１は、１／８画素の補間位置の補間用画素信号を図５に示すアルゴリズムに基づいて生成する。
動き予測・補償回路５１１は、図３に示す補間画素位置ｄの補間画素信号Ｓｄを、水平方向若しくは垂直方向でもっとも近くの位相に存在する画素位置Ａの画素信号ＳＡ、補間画素位置ｂあるいはｃの２つの補間画素信号Ｓｂ，Ｓｃの平均を計算して生成する。
【００３２】
また、動き予測・補償回路５１１は、図３に示す１／８画素精度の位相に対応する補間画素位置ｅの補間画素信号Ｓｅを、補間画素位置ｂ１に対応する補間画素信号を用いて、平均処理及び丸め処理を行って生成する。
また、動き予測・補償回路５１１は、図３に示す補間画素位置ｇに対応する補間画素信号Ｓｇを、「（ＳＡ＋３・Ｓｃ２２）＋２）／４」の演算を行って生成する。また、補間演算回路４５は、図３に示す補間画素位置ｆに対応する補間画素信号Ｓｆを、その対角線に沿って、「（３・Ｓｂ１＋Ｓｂ１＋２）／４」の演算を行って生成する。
【００３３】
動き予測・補償回路５１１は、上述したようにして生成した補間画素信号Ｓｂ，Ｓｃ，Ｓｄ，Ｓｅ，Ｓｆ，Ｓｇと、整数画素制度の当該補間画素信号と、画像信号Ｓ５１０内の画素信号とを用いて構成される１／８画素精度の画像信号を基に、動きベクトル生成、並びに予測画像生成を行う。
【００３４】
ところで、動き予測・補償回路５１１では、上述した補間画素信号Ｓｃの生成を、所定の入力ビット長を持つプロセッサを用いて行う。
すなわち、上記プロセッサで上記水平補間演算を行って水平方向に補間された１８ビットの補間画素信号を生成し、これをメモリに格納する。そして、上記プロセッサが、上記水平方向に補間された１８ビットの補間画素信号を上記メモリから読み出し、これを用いて上記垂直補間演算を行って、垂直方向に補間された２６ビットの補間画素信号を生成および出力する。
動き予測・補償回路５１１は、例えば、ＳＩＭＤ方式のプロセッサを用いて、上述した８タップフィルタ演算を構成する積和演算を並列に実行する。
ここで、汎用のＳＩＭＤ方式のプロセッサを構成する各々のＰＥ（Ｐｒｏｃｅｓｓｏｒ　Ｅｌｅｍｅｎｔ）は、１６ビットの入力ビット長を有している。
【００３５】
図６は、ＳＩＭＤ方式のプロセッサを用いて、上述した水平方向に補間された補間画素信号の説明を行う手順を説明するための図である。
ＳＩＭＤ方式のプロセッサのＰＥ１〜ＰＥ４に、８ビットの画素信号ＳＡ１〜ＳＡ４、並びにフィルタ係数ａ１〜ａ４がそれぞれ並列に入力され、積和演算処理が並列に行われ、信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２」および「ＳＡ３＊ａ３＋ＳＡ４＊ａ４」が生成され、これがプロセッサ内のレジスタに格納される。
ＰＥ１〜ＰＥ４に、画素信号ＳＡ５〜ＳＡ８、並びにフィルタ係数ａ５〜ａ８がそれぞれ並列に入力され、積和演算処理が並列に行われ、信号「ＳＡ５＊ａ５＋ＳＡ６＊ａ６」および「ＳＡ７＊ａ７＋ＳＡ８＊ａ８」が生成され、これが上記レジスタに格納される。
次に、例えばＰＥ１が、上記レジスタから読み出した信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２」と「ＳＡ３＊ａ３＋ＳＡ４＊ａ４」とを加算して、信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２＋ＳＡ３＊ａ３＋ＳＡ４＊ａ４」を生成し、これを上記プロセッサの外部に出力してメモリに格納する。
しかしながら、上述したプロセッサでは、水平方向の画素補間演算において、上述したよう１８ビットの補間画素信号を生成し、これをプロセッサ外部のメモリに格納するため、垂直方向の画素補間演算を行うプロセッサとして、１８ビット以上の入力ビット長を有するプロセッサを用いる必要があり、汎用のＳＩＭＤ方式のプロセッサを用いることができないという問題がある。
【００３６】
図７は、図１に示す符号化装置５００に対応する復号回路６０２の機能ブロック図である。
図７に示す復号回路６０２では、入力となる画像信号がバッファ６１３に格納された後、可逆復号回路６１４に出力される。そして、可逆復号回路６１４において、定められた画像圧縮情報のフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレームがインター符号化されたものである場合には、可逆復号回路６１４において、画像信号のヘッダ部に格納された動きベクトルＭＶも復号され、その動きベクトルＭＶが動き予測・補償装置６２０に出力される。
【００３７】
可逆復号回路６１４の出力となる、量子化された変換係数は、逆量子化回路６１５に入力され、ここで変換係数が生成される。当該変換係数には、逆直交変換回路６１６において、定められた画像圧縮情報のフォーマットに基づき、逆離散コサイン変換や逆カルーネン・レーベ変換等の逆直交変換が施される。当該フレームがイントラ符号化されたものである場合には、逆直交変換処理が施された画像情報は画面並べ替え回路６１８に格納され、Ｄ／Ａ変換回路６１９によるＤ／Ａ変換処理を経て出力される。
【００３８】
一方、当該フレームがインター符号化されたものである場合には、動き予測・補償回路６２０において生成された動きベクトルＭＶ、及びフレームメモリ６２１に格納された参照用の画像信号を基に予測画像信号が生成され、この予測画像信号と、逆直交変換回路６１６から出力された画像信号とが加算器６１７において加算される。その他の処理はイントラ符号化されたフレームと同様である。
【００３９】
上述した動き予測・補償回路６２０では、予測画像信号を生成するために、フレームメモリ６２１から読み出した整数画素精度の画素信号を用いて、前述した図１に示す動き予測・補償回路５１１と同じ手法で、１／４および１／８画素精度の補間画素信号を生成する。
そのため、動き予測・補償回路５１１と同様の上述した問題がある。
【００４０】
以下、上述した関連技術の問題を解決する本発明の実施の形態について説明する。
第１実施形態
以下、本発明の実施形態について説明する。
図８は、本実施形態の通信システム１の概念図である。
図８に示すように、通信システム１は、送信側に設けられた符号化装置２と、受信側に設けられた復号装置３とを有する。
通信システム１では、送信側の符号化装置２において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮した画像信号（ビットストリーム）を生成し、当該画像信号を変調した後に、衛星放送波、ケーブルＴＶ網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張した画像信号を生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
なお、本実施形態では、符号化装置２および復号装置３において１／８画素精度で動き予測・補償を行う場合を説明する。
【００４１】
図９は、図８に示す符号化装置２の全体構成図である。
図９に示すように、符号化装置２は、例えば、Ａ／Ｄ変換回路２２、画面並べ替え回路２３、演算回路２４、直交変換回路２５、量子化回路２６、可逆符号化回路２７、バッファ２８、逆量子化回路２９、逆直交変換回路３０、フレームメモリ３１、レート制御回路３２、丸め制御回路３３および動き予測・補償回路３５を有する。
ここで、例えば、符号化装置２が本発明の信号処理装置に対応し、動き予測・補償回路３５が本発明の演算手段に対応し、丸め制御回路３３が本発明の丸め制御手段に対応し、フレームメモリ３１が本発明の記憶回路に対応している。
【００４２】
符号化装置２は、動き予測・補償回路３５が、前述した関連技術で説明した１／８画素精度の補間画素信号を生成する場合に、水平方向の画素補間演算で、水平方向の補間画素信号が１６ビットになるように丸め処理を行うことを特徴としている。これにより、１６ビットの入力ビット長を有する汎用のプロセッサを用いて、垂直方向の画素補間演算を行うことができる。
動き予測・補償回路３５は、丸め制御回路３３からの丸め誤差調整信号ｒｕｎを基に上記丸め処理を行う。
【００４３】
以下、符号化装置２の構成要素について説明する。
Ａ／Ｄ変換回路２２は、入力されたアナログの輝度信号Ｙ、色差信号Ｐｂ，Ｐｒから構成される画像信号をデジタルの画像信号に変換し、これを画面並べ替え回路２３に出力する。
画面並べ替え回路２３は、Ａ／Ｄ変換回路２２から入力した画像信号内のフレーム画像信号を、そのピクチャタイプＩ，Ｐ，ＢからなるＧＯＰ（Ｇｒｏｕｐ　Ｏｆ　Ｐｉｃｔｕｒｅｓ）　構造に応じて、符号化する順番に並べ替えた画像信号Ｓ２３を演算回路２４および動き予測・補償回路３５に出力する。
【００４４】
演算回路２４は、画像信号Ｓ２３内のフレーム画像信号がインター（Ｉｎｔｅｒ）　符号化される場合には、当該フレーム画像信号と、動き予測・補償回路３５から入力した予測画像信号Ｓ３５ａとの差分を示す信号Ｓ２４を生成し、これを直交変換回路２５に出力する。
また、演算回路２４は、画像信号Ｓ２３内のフレーム画像信号がイントラ（Ｉｎｔｒａ）　符号化される場合には、当該フレーム画像信号を信号Ｓ２４として直交変換回路２５に出力する。
直交変換回路２５は、信号Ｓ２４に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像信号（例えばＤＣＴ係数信号）Ｓ２５を生成し、これを量子化回路２６に出力する。
量子化回路２６は、レート制御回路３２から入力した量子化スケールで、画像信号Ｓ２５を量子化して信号Ｓ２６を生成し、これを可逆符号化回路２７および逆量子化回路２９に出力する。
【００４５】
可逆符号化回路２７は、信号Ｓ２６を可変長符号化あるいは算術符号化した信号をバッファ２８に格納する。
このとき、可逆符号化回路２７は、動き予測・補償回路３５から入力した動きベクトルＭＶあるいはその差分を符号化してスライスヘッダなどのヘッダデータに格納する。
また、可逆符号化回路２７は、後述する動き予測・補償回路３５の処理によって得られたフィルタ選択情報をヘッダデータなどに格納してもよい。
バッファ２８に格納された信号は、変調等された後に送信される。
逆量子化回路２９は、信号Ｓ２６を逆量子化した信号を生成し、これを逆直交変換回路３０に出力する。
逆直交変換回路３０は、逆量子化回路２９から入力した信号に、上記直交変換の逆変換を施して生成したフレーム画像信号（参照用の画像信号、本発明の第１の信号および第１の画像信号）をフレームメモリ３１に格納する。
レート制御回路３２は、バッファ２８から読み出した信号を基に量子化スケールを生成し、これを量子化回路２６に出力する。
【００４６】
丸め制御回路３３は、丸め誤差調整信号ｒｕｎを生成し、これを動き予測・補償回路３５に出力する。
丸め誤差調整信号ｒｕｎは、後述する動き予測・補償回路３５における補間画素信号の生成処理において、補間画素信号に丸め処理による誤差が偏らないように調整するために用いられる。
丸め制御回路３３は、例えば、０または１をランダムに切り換えて示すように丸め誤差調整信号ｒｕｎを生成する。具体的には、丸め制御回路３３は、Ｍ系列により０および１の乱数値を発生し、当該乱数値を示す丸め誤差調整信号ｒｕｎを生成する。
また、丸め制御回路３３は、０および１のいずれか一方を常に示す丸め誤差調整信号ｒｕｎを生成してもよい。
丸め制御回路３３は、例えば、動き予測・補償回路３５における補間画素信号の生成に用いられる画素信号が属するピクチャ、スライスあるいはマクロブロックを単位として、０および１を切り換えて示す丸め誤差調整信号ｒｕｎを生成する。
図１０に示すように、動画像を構成するＧＯＰは、Ｉ，Ｐ，Ｂの３種類の複数のピクチャから構成されている。
各ピクチャは、各画面を表示する画像情報であり、複数のスライスに分割されている。
スライスは、各画面内で横長の帯状の領域に対応した画像情報であり、複数のマクロブロックに分割されている。
マクロブロックは、１６画素×１６ラインの画素信号で構成されている。
【００４７】
動き予測・補償回路３５は、画像信号Ｓ２３と、参照用の画像信号Ｓ３１とを入力し、画像信号Ｓ３１を１／８画素補間して生成した補間画像信号（本発明の第２の信号および第２の画像信号）を用いて、例えば、１６画素×１６ラインのマクロブロックを単位として、画像信号Ｓ２３に対応したフレーム画像の動きベクトルＭＶを１／８画素精度で生成する。
そして、動き予測・補償回路３５は、上記動きベクトルＭＶと、参照用の画像信号Ｓ３１から、動き予測された１／８画素精度の予測画像信号Ｓ３５ａを生成し、これを演算回路２４に出力する。
【００４８】
図１１は、図９に示す動き予測・補償回路３５の機能ブロック図である。
図１１に示すように、動き予測・補償回路３５は、例えば、メモリアクセス回路４０、補間演算回路４５、動きベクトル生成回路４６および予測画像生成回路４７を有する。
【００４９】
メモリアクセス回路４０は、所定のタイミングで、フレームメモリ３１から、画像信号Ｓ２３の参照画像信号（本発明の第１の信号および第１の画像信号）を構成する画素信号Ｓ３１（本発明の第１の画素信号）をフレームメモリ３１から読み出して画素信号Ｓ４０として補間演算回路４５に出力する。
ここで、画素信号Ｓ４０は、図３に示す整数画素精度の画素位置Ａ（Ａ１，Ａ２，．．．）の画素信号ＳＡ（ＳＡ１，ＳＡ２，．．．）である。
【００５０】
補間演算回路４５は、以下に示すように、上述した画素信号ＳＡ（ＳＡ１，ＳＡ２，．．．）を用いて、小数画素精度の補間画素位置ｂ（ｂ１，ｂ２，．．．），ｃ（ｃ１１，ｃ１２，ｃ１３，．．．），ｄ，ｅ，ｆ，ｇの補間画素信号Ｓｂ，Ｓｃ，Ｓｄ，Ｓｅ，Ｓｆ，Ｓｇを生成する。
【００５１】
〔補間画素信号Ｓｂの生成〕
補間演算回路４５は、メモリアクセス回路４０からの画素信号Ｓ４０を用いて８タップのＦＩＲ（Ｆｉｎｉｔｅ　Ｉｍｐｕｌｓｅ　Ｒｅｓｐｏｎｓｅ）　フィルタ演算を行うことで、水平方向の画素補間演算を行い、図３に示す補間画素位置ｂ（ｂ１，ｂ２，ｂ３，．．．）の補間画素信号Ｓｂ（Ｓｂ１，Ｓｂ２，Ｓｂ３，．．．）を生成する。
すなわち、補間演算回路４５は、下記式（８）に示されるように、水平方向に連続して位置する８画素分の整数精度の画素位置Ａ１〜Ａ８の画素信号ＳＡ１〜ＳＡ８（画素信号Ｓ４０）を用いて、画素信号ＳＡ１〜ＳＡ８のそれぞれに下記（９）で規定される係数ａ１〜ａ８を乗じて、１／４，２／４，３／４画素位置ｂ（ｂ１，ｂ２，ｂ３）の補間画素信号Ｓｂ（Ｓｂ１，Ｓｂ２，Ｓｂ３）を生成する。
図３に示す例では、補間画素位置ｂ１が１／４画素位置、補間画素位置ｂ２が２／４画素位置、補間画素位置ｂ３が３／４画素位置になる。
【００５２】
【数８】
Ｓｂ＝（ａ１・ＳＡ１＋ａ２・ＳＡ２＋ａ３・ＳＡ３＋ａ４・ＳＡ４＋ａ５・ＳＡ５＋ａ６・ＳＡ６＋ａ７・ＳＡ７＋ａ８・ＳＡ８）…（８）
【００５３】
【数９】
2004140676.tif 000004
【００５４】
〔補間画素信号Ｓｃの生成〕
図１２は、補間演算回路４５による補間画素信号Ｓｃの生成工程を説明するための図である。
補間演算回路４５は、図１２に示すステップＳＴ１で、メモリアクセス回路４０からの入力した、水平方向に連続して位置する８画素分の整数精度の画素位置Ａ１〜Ａ８の画素信号ＳＡ１〜ＳＡ８（画素信号Ｓ４０）を用いて８タップのＦＩＲフィルタ演算および１６ビットの丸め処理を行うことで、水平方向の画素補間演算を行い、図３に示す補間画素位置ｂ（ｂ１，ｂ２，ｂ３，．．．）の補間画素信号Ｓｂ（Ｓｂ１，Ｓｂ２，Ｓｂ３，．．．）を生成する。
すなわち、補間演算回路４５は、下記式（１０）に示されるように、図３に示す水平方向に連続した８画素分の整数精度の画素位置Ａ１〜Ａ８の画素信号ＳＡ１〜ＳＡ８のそれぞれに上記（９）で規定される係数ａ１〜ａ８を乗算し、当該乗算の結果に丸め誤差調整信号ｒｕｎに２を乗じた信号を加算し、これを４で除算して（丸め処理を行って）、１／４，２／４，３／４画素位置、すなわち補間画素位置ｂ（ｂ１，ｂ２，ｂ３，．．．）の１６ビットの補間画素信号Ｓｂ（Ｓｂ１，Ｓｂ２，Ｓｂ３，．．．）を生成する。
上記４で除算する処理は、例えば、信号を２ビット右シフトすることで実現できる。
【００５５】
【数１０】
Ｓｂ＝（ａ１・ＳＡ１＋ａ２・ＳＡ２＋ａ３・ＳＡ３＋ａ４・ＳＡ４＋ａ５・ＳＡ５＋ａ６・ＳＡ６＋ａ７・ＳＡ７＋ａ８・ＳＡ８＋２・ｒｕｎ）／４…（１０）
【００５６】
次に、補間演算回路４５は、図１２に示すステップＳＴ２で、上述した水平方向の画素補間演算で得られた１６ビットの補間画素信号Ｓｂを用いて８タップのＦＩＲフィルタ演算を行うことで、垂直方向の画素補間演算を行い、図３に示す補間画素位置ｃ（ｃ１１，ｃ２１，ｃ３１．．．）の補間画素信号Ｓｃを生成する。
すなわち、補間演算回路４５は、下記式（１１）に示されるように、図３に示す垂直方向に連続した８画素分の１６ビットの補間画素信号Ｓｂのそれぞれに上記（９）で規定される係数ａ１〜ａ８を乗算し、１／４，２／４，３／４画素位置ｃ（ｃ１１，ｃ２１，ｃ３１，．．．）の２４ビットの補間画素信号Ｓｃ（Ｓｃ１１，Ｓｃ２１，Ｓｃ３１，．．．）を生成する。
図３に示す例では、補間画素位置ｃ１１が１／４画素位置、補間画素位置ｃ２１が２／４画素位置、補間画素位置ｃ３１が３／４画素位置になる。
【００５７】
【数１１】
Ｓｃ＝（ａ１・ｂ１＋ａ２・ｂ２＋ａ３・ｂ３＋ａ４・ｂ４＋ａ５・ｂ５＋ａ６・ｂ６＋ａ７・ｂ７＋ａ８・ｂ８）…（１１）
【００５８】
補間演算回路４５は、例えば、図１２に示すステップＳＴ３で、上述したように生成した補間画素位置ｂ，ｃの補間画素信号Ｓｂ，Ｓｃを、正規化処理を行った後に、〔０，２５５〕の範囲でクリッピングして生成した補間用画素信号Ｓｂ’，Ｓｃ’を生成する。
また、補間演算回路４５は、上記補間用画素信号Ｓｂ’，Ｓｃ’、並びにメモリアクセス回路４０から入力した画像信号Ｓ４０内の画素信号を用いて、図３に示す補間画素位置ｄ，ｅ，ｆ，ｇの補間画素信号Ｓｄ，Ｓｅ，Ｓｆ，Ｓｇを生成し、当該補間画素信号と、画像信号Ｓ４０内の画素信号とを用いて構成される１／８画素精度の画素信号からなる画像信号Ｓ４５を得て、これを動きベクトル生成回路４６および予測画像生成回路４７に出力する。
【００５９】
具体的には、補間演算回路４５は、式（８）により生成された補間画素位置ｂの補間画素信号Ｓｂを、「（Ｓｂ＋１２８）／２５６」により正規化して，〔０，２５５〕の範囲でクリッピングして補間用画素信号Ｓｂ’を生成する。
また、補間演算回路４５は、図３に示す補間画素位置ｃの位相に対応する補間画素信号Ｓｃに対して、「（Ｓｃ＋８１９２）／１６３８４」により正規化して、　［　０，２５５］　の範囲でクリッピング処理を行って補間画素信号Ｓｃ’生成する。
そして、補間演算回路４５は、１／８画素の補間位置の補間用画素信号を図５に示すアルゴリズムに基づいて生成する。
具体的には、補間演算回路４５は、図３に示す補間画素位置ｄの補間画素信号Ｓｄを、水平方向若しくは垂直方向でもっとも近くの位相に存在する画素位置Ａの画素信号ＳＡ、補間画素位置ｂあるいはｃの２つの補間画素信号Ｓｂ’，Ｓｃ’の平均を計算して生成する。
【００６０】
また、補間演算回路４５は、図３に示す１／８画素精度の位相に対応する補間画素位置ｅの補間画素信号Ｓｅを、補間画素位置ｂ１に対応する補間画素信号を用いて、平均処理及び丸め処理を行って生成する。
また、補間演算回路４５は、図３に示す補間画素位置ｇに対応する補間画素信号Ｓｇを、「（ＳＡ＋３・Ｓｃ２２’）＋２）／４」の演算を行って生成する。また、補間演算回路４５は、図３に示す補間画素位置ｆに対応する補間画素信号Ｓｆを、その対角線に沿って、「（３・Ｓｂ１’＋Ｓｂ１’＋２）／４」の演算を行って生成する。
【００６１】
以下、補間演算回路４５による上述した補間画素信号Ｓｃの生成処理を、図１３に示す演算回路１５０を用いて行う手順について説明する。
図１３は、補間演算回路４５の一部を構成する演算回路１５０を説明するための図である。
また、図１４は、図１３に示す演算回路１５０において各ＰＥに入力される画素信号のビット長を説明するための図である。
演算回路１５０が本発明の信号処理装置に対応している。
【００６２】
図１３に示すように、演算回路１５０は、例えば、プロセッサ１００、メモリ１０１およびプロセッサ１０２を有する。
なお、プロセッサ１００および１０２の機能を一つのプロセッサで実現してもよい。この場合には、プロセッサ１００の演算結果をメモリ１０１に格納し、これを読み出して再びプロセッサ１００に入力する。
プロセッサ１００，１０２は、図示しないメモリから読み出されたプログラムＰＲＧ（本発明のプログラム）を基に動作する。
ここで、プロセッサ１００が本発明の第１の演算手段に対応し、プロセッサ１０２が本発明の第２の演算手段に対応している。
プロセッサ１００は、ＳＩＭＤ（Ｓｉｎｇｌｅ　Ｉｎｓｔｒｕｃｔｉｏｎ　Ｍｕｌｔｉ−Ｄａｔａ　ｓｔｒｅａｍ）方式の汎用プロセッサであり、プロセッサエレメントＰＥ１，ＰＥ２，ＰＥ３，ＰＥ４を有する。
プロセッサエレメントＰＥ１，ＰＥ２，ＰＥ３，ＰＥ４は、それぞれ２入力１出力のインタフェースを有し、１入力の入力ビット長が１６ビットである。
プロセッサ１００は、水平方向に連続して位置する８画素分の整数精度の画素位置Ａ１〜Ａ８のそれぞれ８ビットの画素信号ＳＡ１〜ＳＡ８を用いて前述した水平方向の画素補間演算、並びに丸め処理を行い、図１４に示すように１６ビットの補間画素信号Ｓｂ（Ｓｂ１〜Ｓｂ８）を生成し、これをメモリ１０１に格納する。
【００６３】
プロセッサ１０２は、ＳＩＭＤ方式の汎用プロセッサであり、プロセッサエレメントＰＥ１１，ＰＥ１２，ＰＥ１３，ＰＥ１４を有する。
プロセッサエレメントＰＥ１１，ＰＥ１２，ＰＥ１３，ＰＥ１４は、それぞれ２入力１出力のインタフェースを有し、１入力の入力ビット長が１６ビットである。
プロセッサ１０２は、メモリ１０１から読み出した図３に示す垂直方向に連続した８画素分の１６ビットの補間画素信号Ｓｂを用いて前述した垂直補間演算を行い、図１４に示すように２４ビットの補間画素信号Ｓｃ（Ｓｃ１１，Ｓｃ２１，Ｓｃ３１，．．．）を生成する。
そして、補間演算回路４５は、２４ビットの補間画素信号Ｓｃを正規化して８ビットの補間画素信号Ｓｃ’を生成する。
【００６４】
以下、図１２に示す演算回路１５０の演算過程を説明する。
図１５は、当該演算過程を説明するための図である。
図１３に示すプロセッサ１００のＰＥ１〜ＰＥ４に、それぞれ８ビットの画素信号ＳＡ１〜ＳＡ４（本発明の第１の信号）、並びにフィルタ係数ａ１〜ａ４がそれぞれ並列に入力され、積和演算処理が並列に行われ、信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２」および「ＳＡ３＊ａ３＋ＳＡ４＊ａ４」が生成され、当該信号がプロセッサ１００内のレジスタに格納される。
次に、プロセッサ１００の例えばＰＥ１が、上記レジスタから読み出した信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２」と「ＳＡ３＊ａ３＋ＳＡ４＊ａ４」とを加算して、信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２＋ＳＡ３＊ａ３＋ＳＡ４＊ａ４」（本発明の第２の信号の一部）を生成し、これを上記レジスタに格納する。
次に、プロセッサ１００のＰＥ１〜ＰＥ４に、それぞれ８ビットの画素信号ＳＡ５〜ＳＡ８、並びにフィルタ係数ａ５〜ａ８がそれぞれ並列に入力され、積和演算処理が並列に行われ、信号「ＳＡ５＊ａ５＋ＳＡ６＊ａ６」および「ＳＡ７＊ａ７＋ＳＡ８＊ａ８」が生成され、これが上記レジスタに格納される。
次に、プロセッサ１００の例えばＰＥ１が、上記レジスタから読み出した「ＳＡ５＊ａ５＋ＳＡ６＊ａ６」と「ＳＡ７＊ａ７＋ＳＡ８＊ａ８」とを加算して信号「ＳＡ５＊ａ５＋ＳＡ６＊ａ６＋ＳＡ７＊ａ７＋ＳＡ８＊ａ８」（本発明の第２の信号の一部）を生成し、これを上記レジスタに格納する。
次に、ＰＥ１が、上記レジスタから読み出した信号「ＳＡ１＊ａ１＋ＳＡ２＊ａ２＋ＳＡ３＊ａ３＋ＳＡ４＊ａ４」と、図９に示す丸め制御回路３３から入力した丸め誤差調整信号ｒｕｎとを加算して信号ＳＩＧ１を生成し、これを上記レジスタに格納する。
また、それと並行して、ＰＥ２が、上記レジスタから読み出した信号「ＳＡ５＊ａ５＋ＳＡ６＊ａ６＋ＳＡ７＊ａ７＋ＳＡ８＊ａ８」と、丸め誤差調整信号ｒｕｎとを加算して信号ＳＩＧ２を生成し、これを上記レジスタに格納する。
次に、ＰＥ１が、上記レジスタから読み出した信号ＳＩＧ１とＳＩＧ２とを加算して信号ＳＩＧ３を生成し、これを上記レジスタに格納する。
次に、ＰＥ１が、信号ＳＩＧ３を２ビット右シフトして信号ＳＩＧ４（本発明の第３のデータ）を生成し、これを図１３に示すメモリ１０１に書き込む。
【００６５】
動きベクトル生成回路４６は、動きベクトルの検出対象の画像の画像信号Ｓ２３と、上述した補間演算回路４５が生成した１／８画素精度の画素信号Ｓ４５から構成される画像信号Ｓ４５とを用いて、所定のブロックを単位として動きベクトルＭＶを生成し、動きベクトルＭＶを予測画像生成回路４７および可逆符号化回路２７に出力する。
【００６６】
予測画像生成回路４７は、動きベクトルＭＶと参照画像に対応する画像信号Ｓ４５とを用いて１／８画素精度で予測画像信号Ｓ３５ａを生成し、これを演算回路２４に出力する。
【００６７】
以下、図１１に示す動き予測・補償回路３５の動作例を説明する。
メモリアクセス回路４０が、所定のタイミングで、フレームメモリ３１から、画像信号Ｓ２３の参照画像信号を構成する画素信号Ｓ３１を読み出して画素信号Ｓ４０として補間演算回路４５に出力する。
ここで、画素信号Ｓ４０は、図３に示す整数画素精度の画素位置Ａ（Ａ１，Ａ２，．．．）の画素信号ＳＡ（ＳＡ１，ＳＡ２，．．．）である。
【００６８】
そして、補間演算回路４５が、図１２〜図１５を用いて前述したように、上述した整数画素精度の画素信号ＳＡ（ＳＡ１，ＳＡ２，．．．）を用いて、小数画素精度の補間画素位置ｂ（ｂ１，ｂ２，．．．），ｃ（ｃ１１，ｃ１２，ｃ１３，．．．），ｄ，ｅ，ｆ，ｇの補間画素信号Ｓｂ，Ｓｃ，Ｓｄ，Ｓｅ，Ｓｆ，Ｓｇを生成する。
そして、補間演算回路４５が、上記補間画素信号と、画像信号Ｓ４０内の画素信号とを用いて構成される１／８画素精度の画素信号からなる画像信号Ｓ４５を得て、これを動きベクトル生成回路４６および予測画像生成回路４７に出力する。
【００６９】
そして、動きベクトル生成回路４６において、動きベクトルの検出対象の画像の画像信号Ｓ２３と、参照画像の画像信号Ｓ３１について生成された１／８画素精度の画像信号Ｓ４５とを用いて、所定のブロックを単位として動きベクトルＭＶが生成され、動きベクトルＭＶが予測画像生成回路４７および可逆符号化回路２７に出力される。
【００７０】
そして、予測画像生成回路４７において、動きベクトルＭＶと参照画像に対応する画像信号Ｓ４５とを用いて１／８画素精度で予測画像信号Ｓ３５ａが生成され、これが演算回路２４に出力される。
【００７１】
次に、図９に示す符号化装置２の全体動作を説明する。
入力となる画像信号は、まず、Ａ／Ｄ変換回路２２においてデジタル信号に変換される。次に、出力となる画像圧縮情報のＧＯＰ構造に応じ、画面並べ替え回路２３においてフレームの並べ替えが行われる。
そして、イントラ符号化が行われる画像に関しては、フレーム全体の画像情報が直交変換回路２５に入力され、直交変換回路２５において離散コサイン変換やカルーネン・レーベ変換等の直交変換が施される。
直交変換回路２５の出力となる変換係数は、量子化回路２６において量子化処理される。
量子化回路２６の出力となる、量子化された変換係数は、可逆変換回路２７に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、バッファ２８に蓄積され、圧縮された画像信号として出力される。
量子化回路２６における量子化レートは、レート制御回路３２によって制御される。同時に、量子化回路２６の出力となる、量子化された変換係数は、逆量子化回路２９に入力され、さらに直交変換回路３０において逆直交変換処理が施されて、復号された画像信号となり、その画像信号はフレームメモリ３１に蓄積される。
【００７２】
一方、インター符号化が行われる画像に関しては、前述したように、丸め制御回路３３が丸め誤差調整信号ｒｕｎを生成し、これを動き予測・補償回路３５に出力する。
そして、動き予測・補償回路３５において、フレームメモリ３１からの画像信号Ｓ３１と、画像信号Ｓ２３と、丸め制御回路３３が丸め誤差調整信号ｒｕｎとを用いて前述した動き予測・補償処理が施され、予測画像信号Ｓ３５ａが生成される。予測画像信号Ｓ３５ａは演算回路２４に出力され、演算回路２４において、画面並べ替え回路２３からの画像信号Ｓ２３と、動き予測・補償回路３５からの予測画像信号Ｓ３５ａとの差分信号である画像信号Ｓ２４が生成され、当該画像信号Ｓ２４が直交変換回路２５に出力される。
また、動き補償・予測回路３５は、動きベクトルＭＶを生成し、これを可逆符号化回路２７に出力し、可逆符号化回路２７において、動きベクトルＭＶが可変長符号化あるいは算術符号化といった可逆符号化処理され、画像信号のヘッダ部に挿入される。その他の処理はイントラ符号化を施される画像信号と同様である。
【００７３】
以上説明したように、符号化装置２では、動き予測・補償回路３５における動き予測・補償処理において、水平方向の画素補間演算を行う１／８画素精度の補間画素信号Ｓｃを生成する場合に、図１２に示すステップＳＴ１で説明したように、画素信号ＳＡ１〜ＳＡ８（画素信号Ｓ４０）を用いて８タップのＦＩＲフィルタ演算および１６ビットの丸め処理を行って、１６ビットの補間画素信号Ｓｂを生成し、これをメモリ１０１に格納する。
そのため、図１３に示すプロセッサ１０２として、それぞれ入力ビット長が１６ビットの複数のＰＥ１１〜ＰＥ１４で構成される汎用のプロセッサを用いることができ、演算回路２４の開発負担を軽減できる。
符号化装置２では、動き予測・補償回路３５が、図９に示す丸め制御装置３３が生成した丸め誤差調整信号ｒｕｎを基に、上記式（１０）に示す演算を行うことで、丸め処理による誤差が偏ることを回避できる。
【００７４】
以下、図８に示す復号装置３について説明する。
復号装置３が本発明の第３の画像処理装置に対応している。
図１６は、復号装置３の機能ブロック図である。
図１６に示すように、復号装置３は、例えば、蓄積バッファ７１、可逆復号化回路７２、逆量子化回路７３、逆直交変換回路７４、演算回路７５、画面並べ替え回路７６、Ｄ／Ａ変換回路７７、フレームメモリ７８、丸め制御回路７９および動き予測・補償回路８１を有する。
蓄積バッファ７１は、図９に示す送信側の符号化装置２で符号化され、続いて変調されて送信された画像信号が受信され、当該画像信号が復調されると、当該復調によって得られた画像信号を記憶する。
【００７５】
可逆復号化回路７２は、蓄積バッファ７１から入力した画像信号に対して、図９に示す可逆符号化回路２７の符号化処理に対応する復号処理を行い、それによって得られた画像信号を逆量子化回路７３に出力し、当該復号処理の過程で得られた動きベクトルＭＶを動き予測・補償回路８１に出力する。
逆量子化回路７３は、可逆復号化回路７２から入力した画像信号を逆量子化して画像信号を生成し、これを逆直交変換回路７４に出力する。
逆直交変換回路７４は、逆量子化回路７３から入力した画像信号に、図９に示す直交変換回路２５の直交変換処理に対応する逆直交変換処理を施し、それによって得られた画像信号Ｓ７４を演算回路７５に出力する。
【００７６】
演算回路７５は、逆直交変換回路７４からの画像信号Ｓ７４と、動き予測・補償回路８１からの予測画像信号Ｓ８１とを加算して画像信号Ｓ７５を生成し、これを画面並べ替え回路７６およびフレームメモリ７８に出力する。
画面並べ替え回路７６は、画像信号Ｓ７５のフレーム画像信号を表示順に並べ替えた画像信号を生成し、これをＤ／Ａ変換回路７７に出力する。
Ｄ／Ａ変換回路７７は、画面並べ替え回路７６から入力したデジタルの画像信号をアナログの画像信号に変換して出力する。
【００７７】
フレームメモリ７８は、画像信号Ｓ７５を記憶する。
丸め制御回路７９は、丸め誤差調整信号ｒｕｎを生成し、これを動き予測・補償回路８１に出力する。
丸め制御回路７９による丸め誤差調整信号ｒｕｎの生成方法の種類は、基本的に、前述した丸め制御回路３３と同じである。
【００７８】
動き予測・補償回路８１は、フレームメモリ７８から読み出された画像信号Ｓ７８を入力し、画像信号Ｓ７８を１／８画素精度に補間し、当該補間された画像信号と、可逆復号化回路７２から入力した動きベクトルＭＶとを用いて、１／８画素精度の予測画像信号Ｓ８１ａを生成し、これを演算回路７５に出力する。
動き予測・補償回路８１における１／８画素精度の補間演算は、図１１〜図１５を用いて前述した動き予測・補償回路３５の場合と同様である。
【００７９】
図１７は、図１６に示す動き予測・補償回路８１の機能ブロック図である。
図１７に示すように、動き予測・補償回路８１は、例えば、補間演算回路８４および予測画像生成回路８５を有する。
補間演算回路８４は、丸め制御回路７９から入力した丸め誤差調整信号ｒｕｎおよび画像信号Ｓ７８を基に、図１１に示す補間演算回路４５と同様の処理を行って１／８画素精度の画像信号Ｓ８４を生成し、これを予測画像生成回路８５に出力する。
予測画像生成回路８５は、可逆復号化回路７２から入力した動きベクトルＭＶと、補間演算回路８４から入力された画像信号Ｓ８４とを用いて１／８画素精度の予測画像信号Ｓ８１ａを生成し、これを図１６に示す演算回路７５に出力する。
【００８０】
以下、復号装置３の全体動作例を説明する。
復号装置３では、入力となる画像信号がバッファ７１に格納された後、可逆復号化回路７２に出力される。そして、可逆復号化回路７２において、定められた画像圧縮情報のフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレームがインター符号化されたものである場合には、可逆復号化回路７２において、画像信号のヘッダ部に格納された動きベクトルＭＶも復号され、その動きベクトルＭＶが動き予測・補償装置８１に出力される。
【００８１】
可逆復号化回路７２の出力となる、量子化された変換係数は、逆量子化回路７３に入力され、ここで変換係数が生成される。当該変換係数には、逆直交変換回路７４において、定められた画像圧縮情報のフォーマットに基づき、逆離散コサイン変換や逆カルーネン・レーベ変換等の逆直交変換が施される。当該フレームがイントラ符号化されたものである場合には、逆直交変換処理が施された画像情報は画面並べ替え回路７６に格納され、Ｄ／Ａ変換回路７７によるＤ／Ａ変換処理を経て出力される。
一方、当該フレームがインター符号化されたものである場合には、動き予測・補償回路８１において、動きベクトルＭＶ、及びフレームメモリ７８に格納された参照用の画像信号Ｓ７８を基に予測画像信号Ｓ８１ａが生成され、この予測画像信号Ｓ８１ａと、逆直交変換回路７４から出力された画像信号Ｓ７４とが、加算器７５において加算される。
【００８２】
以上説明したように、復号装置３によれば、符号化装置２によって符号化された画像信号を、符号化装置２と同様に、図１７に示す補間演算回路８４として汎用のプロセッサを用いることができる。
【００８３】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、動き予測・補償における画素信号の補間演算を行う場合に本発明を適用したが、本発明は、入力ビット長が規定された演算手段を用いて中間信号（本発明の第３信号）を生成および出力し、当該中間信号を再び上記入力ビット長が規定された演算手段に入力して処理するその他の場合に適用できる。
また、上述した実施形態では、本発明のｎが９、ｍが８の場合を例示したが、ｎは３以上、ｍは２以上でｎより小さければ、ｍ，ｎとしてその他の値を用いてもよい。
【００８４】
【発明の効果】
以上、説明したように、本発明によれば、所定の演算の過程で得られる中間信号（第３の信号）を演算手段で生成および出力し、続いて当該中間信号を演算手段に入力して演算を行って上記所定の演算を行う場合に、上記中間信号を入力して処理する演算手段の入力ビット長に上記中間信号を適合させることができる信号処理装置、その方法およびそのプログラムを提供することができる。
【図面の簡単な説明】
【図１】図１は、本発明の関連技術に係わる符号化装置の機能ブロック図である。
【図２】図２は、１／４画素精度の画像信号を説明するための図である。
【図３】図３は、１／８画素精度の画像信号を説明するための図である。
【図４】図４は、図１に示す動き予測・補償装置における画素補間演算を説明するための図である。
【図５】図５は、図１に示す動き予測・補償装置における画素補間演算を説明するための図である。
【図６】図６は、図１に示す動き予測・補償装置における画素補間演算を説明するための図である。
【図７】図７は、本発明の関連技術に係わる復号装置の機能ブロック図である。
【図８】図８は、本発明の実施形態に係わる通信システムの構成図である。
【図９】図９は、図８に示す符号化装置の機能ブロック図である。
【図１０】図１０は、ＧＯＰの構成を説明するための図である。
【図１１】図１１は、図９に示す動き予測・補償回路の機能ブロック図である。
【図１２】図１２は、図１１に示す補間演算回路における補間演算を説明するための図である。
【図１３】図１３は、図１１に示す補間演算回路の構成図である。
【図１４】図１４は、図１１に示す補間演算回路の処理を説明するための図である。
【図１５】図１５は、図１１に示す補間演算回路の処理を説明するための図である。
【図１６】図１６は、図８に示す復号装置の機能ブロック図である。
【図１７】図１７は、図１６に示す動き予測・補償回路の機能ブロック図である。
【符号の説明】
２…符号化装置、３…復号装置、２２…Ａ／Ｄ変換回路、２３…画像並べ替え回路、２４…演算回路、２５…直交変換回路、２６…量子化回路、２７…可逆符号化回路、２８…バッファ、２９…逆量子化回路、３０…逆直交変換回路、３１…フレームメモリ、３２…レート制御回路、３３…丸め制御回路、３５…動き予測・補償回路、４０…選択回路、４１…メモリ、４５…補間演算回路、４６…動きベクトル生成回路、４７…予測画像生成回路、７１…バッファ、７２…可逆復号化回路、７３…逆量子化回路、７４…逆直交変換回路、７５…演算回路、７６…画像並べ替え回路、７７…Ｄ／Ａ変換回路、７８…フレームメモリ、７９…丸め制御回路、８１…動き予測・補償回路
【図１】
2004140676.tif 000005
【図２】
2004140676.tif 000006
【図３】
2004140676.tif 000007
【図４】
2004140676.tif 000008
【図５】
2004140676.tif 000009
【図６】
2004140676.tif 000010
【図７】
2004140676.tif 000011
【図８】
2004140676.tif 000012
【図９】
2004140676.tif 000013
【図１０】
2004140676.tif 000014
【図１１】
2004140676.tif 000015
【図１２】
2004140676.tif 000016
【図１３】
2004140676.tif 000017
【図１４】
2004140676.tif 000018
【図１５】
2004140676.tif 000019
【図１６】
2004140676.tif 000020
【図１７】
2004140676.tif 000021