(57)【特許請求の範囲】
【請求項１】
ディジタル信号を積和するディジタル信号演算装置において、
入力されたディジタル信号から抽出されたｎ個のディジタル信号に対応するアドレス信号に応じて、メモリからｎ種類の予測係数を読み出す予測係数読み出し手段と、
上記読み出されたｎ種類の予測係数と、上記入力されたディジタル信号から抽出されたｎ個のディジタル信号とがそれぞれ供給され、積和演算が行われるｎタップの積和演算手段と、
上記積和演算が行われたデータを制限するリミッタ手段とを有し、
上記積和演算手段は、少なくとも、
上記ｎ種類の予測係数と、上記ｎ個のディジタル信号とをそれぞれ積算するｎ個の積算器と、
上記ｎ個の積算器による積算結果の少なくとも一部を加算すると共に、加算結果をクリップして出力する第１階層の加算器と、
上記第１階層の加算器による加算結果の少なくとも一部を加算すると共に、加算結果をクリップして出力する第２階層の加算器と、
上記第１及び第２階層の加算器の間に設けられるレジスタとから構成されるようにしたことを特徴とするディジタル信号演算装置。
【請求項２】
上記第１及び第２階層の加算器を含む階層構造で構成される複数の加算器は、
上記出力するデータに対して、演算の段数を重ねるにつれて上位ビット方向に増加させず、下位ビットに対して丸め処理となるクリップを行うようにしたことを特徴とする請求項１に記載のディジタル信号演算装置。
【請求項３】
上記予測係数読み出し手段は、
上記入力されたディジタル信号から抽出されたｎ個のディジタル信号に基づき決定されるクラスに応じて発生されるアドレス信号に応じて、上記メモリからｎ種類の予測係数を読み出すことを特徴とする請求項１に記載のディジタル信号演算装置。
【請求項４】
上記予測係数読み出し手段は、
上記入力されたディジタル信号を圧縮することにより生成される値に基づき決定されるクラスに応じて発生されるアドレス信号に応じて、上記メモリからｎ種類の予測係数を読み出すようにしたことを特徴とする請求項３に記載のディジタル信号演算装置。
【請求項５】
上記リミッタ手段は、
上記入力されたディジタル信号と同じビット数になるように上記データを制限するようにしたことを特徴とする請求項１に記載のディジタル信号演算装置。
【請求項６】
上記積和演算手段は、
上記ｎタップのうちの中心タップに対応するディジタル信号の積算結果を、上記第１及び第２階層の加算器を含む階層構造で構成される複数の加算器のうちの最終段に近い階層の加算器で加算することを特徴とする請求項１に記載のディジタル信号演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ディジタル化された画素データまたは音声データの積和演算において、演算精度をおとさずに回路規模を削減することができるディジタル信号演算装置に関する。
【０００２】
【従来の技術】
従来、ディジタル化された画素データまたは音声データの積和演算を行う装置においては、演算精度を落とさないために積算器、加算器および周辺素子などがともにワーストケース（語長が最も長くなる場合）のビット数が扱えるようにしていたため、タップ数を増やすとそれだけ回路規模が大きくなる傾向があった。
【０００３】
このような従来方式のカスケードに接続された係数時変の積和演算回路のブロック図を図４に示す。４１で示す入力端子から８ビットにディジタル化された画素データが供給され、その画素データは、ｎタップブロック化回路４２へ供給される。ｎタップブロック化回路４２では、入力画素データをフィルタ演算のタップに応じたブロック化がなされる。ブロック化がなされた信号は、アドレス信号発生回路４３およびレジスタ４５へ供給される。
【０００４】
アドレス信号発生回路４３では、供給されたブロックに含まれる画素に対応するアドレス信号を発生し、そのアドレス信号は、予測係数メモリ回路４４1 へ供給される。予測係数メモリ回路４４1 は、レジスタ５１、５４、アドレスデコーダ回路５２およびメモリセル５３から構成される。アドレス信号発生回路４３からのアドレス信号は、レジスタ５１へ供給され、保持される。保持されたアドレス信号は、この装置のシステムクロックに基づいて、レジスタ５１から予測係数メモリ回路４４2 およびアドレスデコーダ回路５２へ供給される。
【０００５】
このように、システムクロックに基づいてアドレス信号は、予測係数メモリ回路４４n まで供給され、その予測係数メモリ回路では、以下に示すような処理がなされる。アドレスデコーダ回路５２では、メモリセル５３に対応するように供給されたアドレス信号の変換が行われる。アドレスデコーダ回路５２において、変換されたアドレス信号は、メモリセル５３へ供給され、対応する予測係数が読み出される。読み出された予測係数は、メモリセル５３からレジスタ５４を介して、積和演算回路４７1 へ供給される。
【０００６】
積和演算回路４７1 は、積算器５５、レジスタ５６、５８および加算器５７から構成される。この積和演算回路４７1 には、レジスタ４５からブロック化された画素データ、丸め処理回路４６から２５ビットからなる８タップのデータおよび予測係数が供給される。供給された８ビットからなる画素データと１０ビットからなる予測係数は、積算器５５において、積算され、１８ビットの積算結果として、レジスタ５６を介して加算器５７へ供給される。加算器５７では、丸め処理回路４６からのデータと積算器５５の積算結果とが加算され、レジスタ５８を介して積和演算回路４７2 へ供給される。
【０００７】
このように、積和演算回路４７n まで同様の処理が行われ、積和演算回路４７n からの出力は、リミッタ回路４８へ供給される。リミッタ回路４８では、供給された２５ビットのデータが８ビットに制限される。この図４に示す回路には、特に途中の演算精度を落とさないために、ビット幅方向にはオーバーフローまたはアンダーフローが起こらないように充分な幅（２５ビット）を有する。
【０００８】
ここで、予測係数が時変であることが条件となる画像における簡単なフィルタリングの例として、例えばサンプリングレート変換のようなものがあり、４ｆscのクロックによるデータ系列から３ｆscのクロックによるデータ系列に変換することを想定する。この場合図５に示すように、４ｆscのデータ系列の間の画素データをフィルタによって算出しなければならない。したがって、フィルタの係数は画素位置に応じて３種類（Ｂ０、Ｂ１、Ｂ２）を予め用意しておく必要があり、３ｆscのデータ系列へ変換するためには、これらをタイミングに応じて切り換える必要がある。
【０００９】
このように、図４に示すようなパイプライン方式でサンプリングレート変換を行う場合、ｎタップのブロック化回路４２は、削除することも可能であり、入力画素データが順次各積和演算回路４７1〜４７nに供給されていれば良い。アドレス信号発生回路４３では、上述したように画素位置に応じたアドレス信号が発生し、各予測係数メモリ回路４４1〜４４nに順次ラッチを介して供給される。各予測係数メモリ回路４４1〜４４nでは、アドレスデコーダ回路５２でメモリセル５３の該当箇所が選択され、メモリセル５３から予測係数が読み出され、各積和演算回路４７1〜４７nに供給される。積和演算回路４７1〜４７nでは、順次供給される画素データと予測係数の積が計算され、前段の積和演算回路４７1〜４７n-1の結果と足し合わされる。以上のようにして、順次タップ毎の積の結果が足し込まれ、最後にリミッタ回路４８から８ビットに制限して出力される。
【００１０】
【発明が解決しようとする課題】
しかしながら、演算のためのビット数（２５ビット）を充分すぎるくらい持っていることと、パイプライン処理の弊害で予測係数メモリ回路のアドレスデコーダ回路が個別になっていることで、かなり回路規模が大きくなる問題があった。
【００１１】
従って、この発明の目的は、予測係数メモリ回路のパイプライン処理を並列にすることで、メモリセルの利用効率を上げることができ、それによって、回路全体の規模を縮小化することができるディジタル信号演算装置を提供することにある。
【００１２】
【課題を解決するための手段】
請求項１に記載の発明は、ディジタル信号を積和するディジタル信号演算装置において、入力されたディジタル信号から抽出されたｎ個のディジタル信号に対応するアドレス信号に応じて、メモリからｎ種類の予測係数を読み出す予測係数読み出し手段と、読み出されたｎ種類の予測係数と、入力されたディジタル信号から抽出されたｎ個のディジタル信号とがそれぞれ供給され、積和演算が行われるｎタップの積和演算手段と、積和演算が行われたデータを制限するリミッタ手段とを有し、積和演算手段は、少なくとも、ｎ種類の予測係数と、ｎ個のディジタル信号とをそれぞれ積算するｎ個の積算器と、ｎ個の積算器による積算結果の少なくとも一部を加算すると共に、加算結果をクリップして出力する第１階層の加算器と、第１階層の加算器による加算結果の少なくとも一部を加算すると共に、加算結果をクリップして出力する第２階層の加算器と、第１及び第２階層の加算器の間に設けられるレジスタとから構成されるようにしたことを特徴とするディジタル信号演算装置である。
【００１４】
入力画素データが８ビットであり、フィルタ演算された最終結果も８ビットであることを考慮すると、ここまでビット数に余裕を持たせておく必要もなく、途中で最適に丸めることで、ビット数を削除することが可能である。
【００１５】
【発明の実施の形態】
以下、この発明の一実施例について図面を参照して説明する。まず、ディジタル信号演算装置の一実施例のブロック図を図１に示す。１で示す入力端子から８ビットにディジタル化された画素データが供給され、その画素データは、ｎタップブロック化回路２へ供給される。ｎタップブロック化回路２では、入力画素データをフィルタ演算のｎタップに対応したブロック化がなされる。すなわち、このｎタップブロック化回路２では、ｎ画素毎にブロック化が行われ、ブロック化された各画素がｎ個の積和演算回路（ＭＰＹ）９1 〜９n へ供給されるとともに、アドレス信号発生回路３へ供給される。
【００１６】
アドレス信号発生回路３では、供給されたブロックに含まれる画素に対応するアドレス信号を発生し、そのアドレス信号は、予測係数メモリ回路４へ供給される。予測係数メモリ回路４は、レジスタ５、８1 〜８n 、アドレスデコーダ回路６およびメモリセル７から構成される。アドレス信号発生回路３からのアドレス信号は、レジスタ５へ供給され、保持される。保持されたアドレス信号は、この装置のシステムクロックに基づいてレジスタ５からアドレスデコーダ回路６へ供給される。
【００１７】
アドレスデコーダ回路６では、メモリセル７に対応するように供給されたアドレス信号の変換が行われる。アドレスデコーダ回路６において、変換されたアドレス信号は、メモリセル７へ供給され、後段の積和演算回路９1 〜９n にそれぞれ対応する予測係数（ＣＭ）が読み出される。読み出された予測係数は、１０ビットからなり、メモリセル７からレジスタ８1 〜８n を介して、積和演算回路９1 〜９n に供給される。
【００１８】
積和演算回路９1 は、レジスタ１０、１２および積算器１１から構成される。そして、上述したようにｎタップブロック化回路２から供給された８ビットの画素データは、レジスタ１０へ供給される。その８ビットの画素データと１０ビットの予測係数は、積算器１１において、積算される。その積算結果は、１８ビットのデータとして、レジスタ１２を介して、積和演算回路９1 の出力として加算器１３へ供給される。また、積和演算回路９2 〜９n は、積和演算回路９1 と同様の処理を行い、各積和演算回路９2 〜９n は、対応する加算器へ１８ビットのデータを出力する。
【００１９】
すなわち、加算器１３には、積和演算回路９1 および９2 からの１８ビットのデータが供給される。そして、その加算結果は、下位の１ビットを切り捨てることでビット幅を増やすことなく、すなわち１８ビットのデータとして、レジスタ１４を介して、次の階層となる加算器１５へ供給される。加算器１５では、レジスタ１７を介して供給される積和演算回路９3 と図示しない積和演算回路９4 との加算結果と、レジスタ１４を介して供給された加算結果との加算が行われる。そして、その加算結果は、加算器１３と同様に下位の１ビットを切り捨てることで１８ビットのデータとして、次の階層へ出力される。
【００２０】
同様に、加算器１９では、図示しない積和演算回路９n-1 の出力と積和演算回路９n の出力との加算が行われる。その加算結果は、レジスタ２０を介して次の階層へ出力される。このようにして、最終階層の加算器２１では、２つの１８ビットのデータが加算される。そして、上述の加算器と同様に加算器２１の加算結果は、下位１ビットを切り捨てることで１８ビットのデータとして、レジスタ２２を介してリミッタ回路２３へ供給される。リミッタ回路２３では、供給された１８ビットのデータが８ビットのデータに制限され、出力端子２４から伝送される。
【００２１】
ここで、図２は、この上述の積和演算回路を２５タップの一例で示したものである。また、この図２は、上述の実施例よりさらに積極的に途中の階層でビットの削減を行っている。この例は、２５タップからなるため、きれいな階層構造ができないことから、一番下のタップとなる積算器３１25の積算結果を最終段に近い階層で加算するようにしている。この積算器３１25には、一般にタップの中心となるデータの演算が行われるように配置すると、精度良く演算が行われるという利点も生じる。
【００２２】
２の補数を用いた表現で符号を含む９ビットからなる入力画素データと、固定小数点を用いた表現で符号を含む１０ビットからなる予測係数とが積算器３１に供給され、積算される。図３に示すように、この積算器３１において、最初の計算の結果は、フルビットの幅では１８ビットとなるが、下位の３ビットを切り捨て、１５ビットとして出力される。このようにして積算器３１1 の出力は、レジスタを介して、加算器３２1 へ供給される。同様に積算器３１2 〜３１24の出力もレジスタを介して、加算器３２1 〜３２12へ供給される。
【００２３】
そして、加算器３２1 、すなわち第１階層の加算器は、加算結果において、図３に示すように、上位ビット方向に１ビット伸びるが、下位の１ビットを切り捨てることでビット幅を同じ１５ビットとしている。同様に第１階層の加算器３２2 〜３２12では、積算器３１3 〜３１24から供給された１５ビットのデータが加算され、それぞれの加算結果は、１５ビットのデータとして、第２階層の加算器３３1 〜３３6 へ供給される。
【００２４】
第２階層の加算器３３1 には、加算器３２1 および３２2 から出力された１５ビットからなるデータが供給される。その加算器３３1 の加算結果は、図３に示すように、上位ビット方向への伸びを抑え、下位の１ビットを切り捨て、１４ビットのデータとしてレジスタを介して加算器３４1 へ供給される。同様に第２階層の加算器３３2 〜３３6 では、第１階層の加算器３２3 〜３２12から供給される１５ビットのデータが加算され、それぞれの加算結果は、１４ビットのデータとして、第３階層の加算器３４1 〜３４3 へ供給される。
【００２５】
第３階層の加算器３４1 には、加算器３３1 および３３2 から出力された１４ビットからなるデータが供給される。その加算器３４1 の加算結果は、図３に示すように、上位ビット方向への伸びを抑え、下位の１ビットを切り捨て、１３ビットのデータとしてレジスタを介して加算器３５1 へ供給される。同様に第３階層の加算器３４2 および３４3 では、第２階層の加算器３３3 〜３３6 から供給された１４ビットのデータが加算され、それぞれの加算結果は、１３ビットのデータとして、第４階層の加算器３５1 および３５2 へ供給される。
【００２６】
第４階層の加算器３５1 には、加算器３４1 および３４2 から出力された１３ビットからなるデータが供給される。その加算器３５1 の加算結果は、図３に示すように、上位ビット方向への伸びを抑え、下位の１ビットを切り捨て、１２ビットのデータとしてレジスタを介して加算器３６へ供給される。同様に第４階層の加算器３５2 では、第３階層の加算器３４3 および積算器３１25から供給された１３ビットのデータが加算され、その加算結果は、１２ビットのデータとして、第５階層の加算器３６へ供給される。
【００２７】
この加算器３５2 へ供給される積算器３１25では、上述したようにタップの中心となるデータ（９ビット）と予測係数（１０ビット）が積算される。この積算器３１25から出力されるデータは、上述した積算器３１1 〜３１24と同様に１８ビットとなる。しかしながら、この積算器３１25の出力は、第４階層の加算器３５2 へ供給されるため、上位ビット方向に１ビット伸ばし、下位の６ビットを削除することにより１３ビットとして、加算器３５2 へ供給される。
【００２８】
そして、第５階層の加算器３６には、加算器３５1 および３５2 から出力された１２ビットからなるデータ供給される。その加算器３６の加算結果は、図３に示すように、上位ビット方向の伸びを抑え、下位の１ビットを切り捨て、すなわち小数点以下のビットが全て削除された１１ビットのデータとしてリミッタ回路３７へ供給される。リミッタ回路３７では、供給された１１ビットのデータが８ビットに制限され、予測値は、出力端子２４から出力される。
【００２９】
この実施例で用いられているアドレス信号発生装置３は、供給されたブロックに含まれる画素データに対応するアドレス信号を発生させるが、ブロックに含まれる画素データに対して、例えばＡＤＲＣ（ダイナミックレンジ適応符号化）、ＤＰＣＭ（予測符号化）、ＤＣＴ（離散的コサイン変換）、ＶＱ（ベクトル量子化）、ＢＴＣ（ブロックトランケーション符号化）等を用いて圧縮することによって、その圧縮された値をそのブロックのクラスとして、アドレス信号を発生するクラス分類の手法を使用することも可能である。
【００３０】
すなわち、クラス分類によって予測係数が読み出され、読み出された予測係数と画素データとを用いた線形一次結合によって、予測値が生成される。このように、予測値が生成されることによって、例えば、ＳＤ（Standard Difinition ）信号からＨＤ（High Difinition ）信号へのアップコンバージョン、またはサブサンプリングにより間引かれた画素の予測がなされる。
【００３１】
さらに、この実施例では、係数ゲインが１に近いフィルタの場合、充分にオーバーフローまたはアンダーフローに耐えられる構造となっており、この実施例の最終的な演算結果と、フルビット演算による最終的な演算結果を８ビットに丸めた場合とを比較しても、±１〜±２程度の誤差しか生じておらず、その画像をモニタ表示した場合においても、差異が識別できないという評価がなされている。
【００３２】
また、この実施例では、画素データを用いて説明したが、音声データを用いても同じ結果を得ることができる。
【００３３】
【発明の効果】
この発明に依れば、画像を扱う場合において、８ビットで入力される画素データを最終段において、８ビットに丸めて出力する場合、それほど厳密に精度をとる必要はなく、演算の途中の段階で最適に丸め処理を重ねる、すなわち積算結果を足し込む階層毎の加算器の結果の下位ビットを切り捨てて削減し、足し込むに毎にビット幅が増加しないようにしたものでも、それ程精度は、劣化しない。
【００３４】
さらに、この発明に依れば、積和演算回路を並列化とし、予測係数メモリ回路へ供給するアドレス信号を１つとし、アドレスデコーダ回路を共通化し、さらにメモリセルの利用効率を上げるものであり、画像のフィルタ演算を行う積和演算回路の回路規模を削減することができる。
【図面の簡単な説明】
【図１】この発明のディジタル信号演算装置の一実施例を示すブロック図である。
【図２】この発明に係る積算演算回路の一例を示すブロック図である。
【図３】この発明に係る積算演算回路の階層に応じたビット幅の一例を示す略線図である。
【図４】従来のディジタル信号演算装置のブロック図である。
【図５】信号変換の説明に用いる図である。
【符号の説明】
２  ｎタップブロック化回路
３  アドレス信号発生回路
４  予測係数メモリ回路
６  アドレスデコーダ回路
７  メモリセル
９  積和演算回路
１１  積算器
１３、１６、１９、１５、２１  加算器
２３  リミッタ回路
【図１】
0003733627.tif 000002
【図２】
0003733627.tif 000003
【図３】
0003733627.tif 000004
【図４】
0003733627.tif 000005
【図５】
0003733627.tif 000006