(57)【要約】【課題】整数型除算器に使用する加算器の数を減らして省電力化を図ると共に、不必要な高速化を避け、各加算器の演算が集中しないよう順次演算するように制御することで電力消費の平均化が行われ、バッテリー電源の負担が軽減できる整数型除算器を提供する。【解決手段】前の演算結果の剰余か被除数を選択する第１セレクタと、前段のセレクタの出力から除数の減算を行い、減算結果とキャリーを得る第１、第２減算器と、キャリーに応じて減算結果かセレクタの出力を選択し、下位ビットに被除数の所定のビットを挿入する第２、第３セレクタと、制御信号に応じて第３セレクタの出力を所定の期間ラッチし中間剰余として第１セレクタに供給するラッチ回路と、第２セレクタの出力を所定の期間ラッチし剰余として出力する剰余出力回路と、第１、第２減算器のキャリーから商を生成し出力する商生成回路とを具備した整数型除算器とする。【選択図】図１
2008003893.tif 000002
【特許請求の範囲】
【請求項１】
入力データに基づいた被除数と除数で除算を行って商と剰余を算出し、算出された剰余を再び被除数として入力し前記除数で除算することを繰り返す整数型除算器において、
装置内の動作を制御する制御信号を出力する制御手段と、
前記制御信号に応じて前の演算で得られた剰余か若しくは前記入力された被除数の所定ビットのいずれかを選択してデータを出力する第１のセレクト手段と、
前記第１のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余と減算できたことを示すキャリーデータを出力する第１の減算手段と、
前記第１の減算手段から出力されたキャリーデータに応じて前記第１の減算手段からの剰余か若しくは前記第１のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第２のセレクト手段と、
前記第２のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余とキャリーデータを出力する第２の減算手段と、
前記第２の減算手段から出力されたキャリーデータに応じて前記第２の減算手段からの剰余か若しくは前記第２のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第３のセレクト手段と、
前記制御信号に応じて前記第３のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を中間剰余として前記第１のセレクト手段に供給する中間剰余ラッチ手段と、
前記制御信号に応じて前記第２若しくは第３のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を除算の最終剰余として出力する剰余出力手段と、
前記制御信号に応じて前記第１及び第２減算手段から出力されるキャリーデータを合成し除算の商を生成して出力する商生成手段と、
を具備したことを特徴とする整数型除算器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、整数型除算器に係り、特に演算回路における消費電力の集中を避ける繰り返し型整数型除算器に関する。
【背景技術】
【０００２】
近年、ビデオカメラで撮影して得た動画の映像信号をビデオテープや光ディスク、ハードディスク、あるいは半導体メモリ等の記録媒体にデジタル記録する可搬性を持ったビデオ撮像装置が広く普及している。
通常、このようなビデオ撮像装置では、記録時間を延ばす目的から映像信号に含まれる冗長性を減らすような圧縮加工を行ない、記録する信号のデータ量を少なくしている。このとき用いる圧縮加工の技術としてはMPEGやJPEGと呼ばれる圧縮方式が良く知られており、こうした圧縮方式には、映像信号をデジタル画像データにした後に離散コサイン変換などで周波数成分の情報信号に変換する直交変換を行う信号処理が含まれ、この処理過程には除算を含む演算回路が必要となる。他にも画像の動きベクトルの算出等に除算の演算回路が必要になるなど、ビデオ撮像装置に用いる画像処理回路には除算器が不可欠である。
【０００３】
画像処理回路は映像信号をリアルタイムで圧縮信号に変換しなくてはならないので高速性が要求される。そのため、従来から画像処理回路に使用される除算器は高速化を図るための改良技術が数多く提案されている（例えば、下記特許文献１参照）。
従来、除算器等の演算回路は高速であればある程画像処理能力が高まるので良しとしているが、一方、高速化されると演算時に消費電力が集中する問題が発生する。殊に可搬性を持ったビデオ撮像装置の駆動電源にはバッテリーが使用されるので、消費電力にピークがあるとそれに合わせてバッテリー容量を勘案しなければならなくなる。そのため、このような装置の消費電力はピークが出ないように平均化されることが望ましい。
【０００４】
ここで従来の整数型除算器の基本構成と動作を簡単に説明する。図２は従来の整数型除算器の基本構成を示すブロック図である。なお、図２では５ビット整数を任意の整数で除算する例を示している。
同図において、被除数Ｒｊが信号線２１０を介して第１の加算器２４０の一方の入力端と第１のセレクタ２６０の一方の入力端とに供給されている。除数Ｄの２の補数が信号線２２０を介して第１の加算器２４０と第２の加算器２４１、第３の加算器２４２、第４の２４３、第５の加算器２４４の他方の入力端に夫々接続されている。
第１の加算器２４０の加算出力は信号線２５０を介して第１のセレクタ２６０の他方の入力端に接続され、またキャリー出力は信号線２３０を介して第１のセレクタ２６０の制御入力端に接続されている。
【０００５】
第１のセレクタ２６０の出力端は信号線２１１を介して第２の加算器２４１の一方の入力端に接続されており、第２の加算器２４１の加算出力は信号線２５１を介して第２のセレクタ２６１の他方の入力端に接続され、またキャリー出力は信号線２３１を介して第２のセレクタ２６１の制御入力端に接続されている。
以下同様な従属接続により、第５のセレクタ２６４の出力端に接続されている信号線２１５には除算の「剰余」が出力される。又、第１の加算器２４０のキャリー出力は信号線２３０を、第２の加算器２４１のキャリー出力は信号線２３１を、第３の加算器２４２のキャリー出力は信号線２３２を、第４の加算器２４３のキャリー出力は信号線２３３を、第５の加算器２４４のキャリー出力は信号線２３４を介して夫々信号線２３５に接続され、これらのキャリー出力は連結が行われ除算の「商」として出力される。
【０００６】
次に、図２に示す従来の整数型除算器の動作について説明する。まず被除数Ｒｊの最上位ビットが信号線２１０に供給される。一方、信号線２２０には除数の２の補数が供給され、第１の加算器２４０は信号線２１０の被除数Ｒｊの最上位の１ビットと信号線２２０の除数の２の補数とを加算する。第１の加算器２４０において被除数から除数が引けない時にはキャリー出力が信号線２３０に出力されない。この場合、第１のセレクタ２６０は信号線２１０から供給される被除数Ｒｊの上位２ビットを信号線２１１を介して第２の加算器２４１の一方の入力端に出力する。
【０００７】
一方、第１の加算器２４０において被除数から除数が引け、キャリー出力が信号線２３０に出力されると信号線２５０に加算結果が出力される。この場合には、第１のセレクタ２６０はこの加算結果を１ビットシフトし、この加算結果の最下位ビットに信号線２１０の被除数Ｒｊの次の上位の１ビットを挿入し、信号線２１１を介して第２の加算器２４１の一方の入力端に出力する。
この後、第１のセレクタ２６０からの信号線２１１の出力と信号線２２０からの除数の２の補数とが第２の加算器２４１で加算される。第２の加算器２４１において、被除数から除数が引けずキャリー出力が信号線２３１に出力されない場合には、信号線２１１の出力が第２のセレクタ２６１で選択され、又、被除数から除数が引けキャリー出力が信号線２３１に出力された場合には加算結果が選択され、１ビットシフトして最下位ビットに信号線２１１の被除数Ｒｊの更に次の上位の１ビットを挿入して信号線２１２に出力する。
以下同様に、第３の加算器２４２、第４の加算器２４３、第５の加算器２４４と演算が実行され、この結果、信号線２３５に出力される「商」と信号線２１５に出力される「剰余」が得られ除算を完了する。
【特許文献１】特開平６−２５９２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図２に示す従来の整数型除算器の場合、被除数Ｒｊと除数Ｄの２の補数とが印加されると加算器ＡＤＤ０からＡＤＤ４までの全加算器が一斉に動作を始める。このために各加算器が消費する電力が集中し、消費電力がピークを示すという問題を有している。
又、特許文献１に記載の除算器は、独自の回路構成と動作制御によって、これまでより高速に除算が行われるように工夫がなされているものであるが、高速処理であるためにマクロ的には内部の演算回路がすべて同時に演算処理を行っている状態になるものであり、このため演算時には顕著に消費電力の集中が起きる問題を有している。
こうしたことから、電源に瞬間的に大きな負担がかかるので、バッテリー駆動のビデオ撮像装置で使用する画像処理回路に従来の除算器を用いることは望ましくない。
【０００９】
画像処理回路に用いる除算器は使用目的により特に高速性は必要ではなく、むしろ消費電力が平均化されることが重要になる場合がある。この場合、所定のクロックサイクル数で演算が終了すれば良いのであるが、従来の除算器の場合には演算速度を任意に制御することができない問題を有している。
本発明は、このような従来の問題点に鑑みなされたものであり、整数型除算器に使用する加算器の数を減らして省電力化を図ると共に、不必要な高速化を避け、各加算器の演算が集中しないよう任意のサイクル期間を使って順次演算するように制御することで電力消費の平均化ができ、使用する装置のバッテリー負担が軽減できる整数型除算器を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決する手段として以下に記載の構成からなる。すなわち、
入力データに基づいた被除数と除数で除算を行って商と剰余を算出し、算出された剰余を再び被除数として入力し前記除数で除算することを繰り返す整数型除算器において、装置内の動作を制御する制御信号を出力する制御手段と、前記制御信号に応じて前の演算で得られた剰余か若しくは前記入力された被除数の所定ビットのいずれかを選択してデータを出力する第１のセレクト手段と、前記第１のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余と減算できたことを示すキャリーデータを出力する第１の減算手段と、前記第１の減算手段から出力されたキャリーデータに応じて前記第１の減算手段からの剰余か若しくは前記第１のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第２のセレクト手段と、前記第２のセレクト手段の出力データから前記除数の減算を行い、減算できた場合には剰余とキャリーデータを出力する第２の減算手段と、前記第２の減算手段から出力されたキャリーデータに応じて前記第２の減算手段からの剰余か若しくは前記第２のセレクト手段の出力データのいずれかを選択すると共にビットシフトし、シフトにより空いた下位ビットに前記入力された被除数の所定のビットを挿入してデータを出力する第３のセレクト手段と、前記制御信号に応じて前記第３のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を中間剰余として前記第１のセレクト手段に供給する中間剰余ラッチ手段と、前記制御信号に応じて前記第２若しくは第３のセレクト手段の出力データを所定の期間ラッチし、ラッチ出力を除算の最終剰余として出力する剰余出力手段と、前記制御信号に応じて前記第１及び第２減算手段から出力されるキャリーデータを合成し除算の商を生成して出力する商生成手段とを具備したことを特徴とする整数型除算器を提供する。
【発明の効果】
【００１１】
本発明に係る請求項１によれば、加算器の数を減らして省電力化が図れると共に、従来の除算器が演算の高速化のためにマクロ的に見ると瞬時に演算が完了し、この間に電力消費が集中しているのに対して、本発明では、不必要な高速化を避け、加算器の演算が集中しないよう時間をかけて所定のサイクル数で演算が完了するように制御をすることが可能であるので、電力消費にピークが発生せず平均化される特徴がある。これにより、本発明をバッテリ駆動の携帯型機器に適用すれば、瞬間的な電力消費が集中しなくなるのでバッテリーの電流負担を軽減することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態に係る整数型除算器について、図面を参照して説明する。
図１は本発明に係る整数型除算器の基本構成を示すブロック図である。なお、図１の構成は５ビットの被除数を任意のビット数で除算し、且つ３サイクル期間で除算を完了する例を示している。
【００１３】
まず本発明に係る整数型除算器の構成を説明する。同図において、被除数Ｒｊは信号線１０１を介して第１のセレクタ１５９の一方の入力端に供給されている。第１のセレクタ１５９の他方の入力端には信号線１９１を介して後述のラッチ回路１７０からの「中間剰余」が入力される。又、セレクタ１５９の制御端には制御信号線１８２を介してクロックサイクル毎の動作を制御する有限状態マシン回路１８０からの制御信号が入力されている。セレクタ１５９の出力端は信号線１１０を介して第１の加算器１４０と第２のセレクタ１６０の夫々の一方の入力端に接続されている。なお、上記有限状態マシン回路１８０はマイクロシーケンサに置き換えることも可能である。
【００１４】
除数Ｄの２の補数は信号線１２０を介して第１の加算器１４０と第２の加算器１４１の夫々の他方の入力端に接続されている。
第１の加算器１４０の加算出力は信号線１５０を介して第２のセレクタ１６０の他方の入力端に接続され、またキャリー出力は信号線１３０を介して第２のセレクタ１６０の制御入力端と後述の商生成回路１７２の入力端に接続されている。
第２のセレクタ１６０の出力端は信号線１１１を介して第２の加算器１４１と第３のセレクタ１６１の夫々の一方の入力端、及び後述の剰余出力回路１７３に供給されている。第２の加算器１４１の加算出力は信号線１５１を介して第３のセレクタ１６１の他方の入力端に接続され、またキャリー出力は信号線１３１を介して第３のセレクタ１６１の制御入力端に供給されている。
【００１５】
第３のセレクタ１６１の出力は「中間剰余」として信号線１１２を介してラッチ回路１７０に接続されており、ラッチ回路１７０の出力は信号線１９１を介して前述の第１のセレクタ１５９の一方の入力端に供給される。
又、第１の加算器１４０のキャリー出力は信号線１３０を介し、第２の加算器１４１のキャリー出力は信号線１３１を介して夫々信号線１３２に接続され、これらのキャリー出力は連結して除算の「中間商」としてラッチ回路１７１に入力されている。ラッチ回路１７１の出力は信号線１９２を介して除算の商を生成する商生成回路１７２の一方の入力端に接続されている。このラッチ回路１７０とラッチ回路１７１のラッチのタイミングと期間は夫々制御信号線１８３と１８４を介して供給される有限状態マシン回路１８０からの制御信号で制御される。
【００１６】
前述したように商生成回路１７２の他方の入力端には信号線１３０を介して第１の加算器１４０のキャリー出力が入力されており、このラッチ回路１７１から入力された「中間商」との両入力から商生成回路１７２の出力端の信号線１９３には除算の「商」が得られる。なお、商生成回路１７２の制御端には信号線１８５を介して有限状態マシン回路１８０からの制御信号が供給されている。
一方、第２のセレクタ１６０の出力が信号線１１１を介して供給される剰余出力回路１７３は制御信号線１８６を介して供給される有限状態マシン回路１８０からの制御信号で所定の期間ラッチされて信号線１９４に除算の「剰余」が得られる。
【００１７】
次に、本発明に係る整数型除算器の動作について説明する。
被除数Ｒｊが信号線１０１に接続され第１のセレクタ１５９の一方の入力端に供給されており、除数Ｄの２の補数が信号線１２０に接続され第１の加算器１４０と第２の加算器１４１の夫々の入力端に供給されている。
第１のサイクルでは、第１のセレクタ１５９は制御信号線１８２を介して有限状態マシン回路１８０から供給された制御信号に応じて被除数Ｒｊの最上位ビットが選択されて信号線１１０に出力される。第１の加算器１４０はこの信号線１１０から入力された被除数Ｒｊの最上位の１ビットと信号線１２０の除数Ｄの２の補数とを加算する。第１の加算器１４０において被除数から除数が引けない時にはキャリー出力が信号線１３０に出力されない。この場合、第２のセレクタ１６０は信号線１１０から供給される被除数を１ビットシフトし、最下位ビットに信号線１０１の被除数Ｒｊの次の上位の１ビットを挿入し、信号線１１１を介して第２の加算器１４１の一方の入力端に出力する。
【００１８】
一方、第１の加算器１４０において被除数から除数が引け、キャリー出力が信号線１３０に出力されると信号線１５０に加算結果が出力される。この場合には第２のセレクタ１６０はこの加算結果を１ビットシフトし、この加算結果の最下位ビットに信号線１０１の被除数Ｒｊの次の上位の１ビットを挿入し、信号線１１１を介して第２の加算器１４１の一方の入力端に出力する。
【００１９】
次いで、信号線１１１を介して入力された第２のセレクタ１６０からの出力と信号線１２０からの除数Ｄの２の補数とが第２の加算器１４１で加算される。第２の加算器１４１において、被除数から除数が引けずにキャリー出力が信号線１３１に出力されない場合には信号線１１１の出力が第３のセレクタ１６１で選択され、又、被除数から除数が引けキャリー出力が信号線１３１に出力された場合には、信号線１５１に加算結果が出力されるので、第３のセレクタ１６１はこの加算結果を選択する。次いで１ビットシフトして最下位ビットに信号線１１１の被除数Ｒｊの更に次の上位１ビットを挿入して信号線１１２を介して出力する。
【００２０】
これらの動作により被除数Ｒｊの上位２ビットに関する除算が終了し、信号線１１２には除算の「中間剰余」が出力されてラッチ１７０に格納される。
又、第１の加算器１４０と第２の加算器１４１のキャリー出力が接続されている信号線１３２には、キャリーの発生があったか否かで判別される「中間商」が得られてラッチ１７１に格納される。
【００２１】
次に、第２のサイクルでは、制御信号線１８２を介して有限状態マシン回路１８０から供給された制御信号により、第１のセレクタ１５９では信号線１９１を介して供給された「中間剰余」が選択される。その後は前記過程と同様に第１の加算器１４０と第２の加算器１４１により被除数Ｒｊの３ビット目と４ビット目の演算が実行され、その結果である「中間商」と「中間剰余」はラッチ回路１７１と同１７０に夫々格納される。
【００２２】
次いで、第３のサイクルでは、制御信号線１８２を介して有限状態マシン回路１８０から供給された制御信号により、第１のセレクタ１５９では信号線１９１を介して供給されたすでに完了した上位４ビットの「中間剰余」が選択され、被除数Ｒｊの最下位ビット（５ビット目）を付加したデータが被除数として信号線１１０に供給される。
信号線１２０には、除数Ｄの２の補数が供給されているので、第１の加算器１４０はこの信号線１１０の上記の中間剰余と被除数Ｒｊの最下位ビットを付加したデータと信号線１２０の除数Ｄの２の補数とを加算する。
【００２３】
第１の加算器１４０において被除数から除数が引けない時には、キャリー出力が信号線１３０に出力されない。この場合、第２のセレクタ１６０は信号線１１０から供給される被除数を出力信号線１１１に出力する。
一方、キャリー出力が信号線１３０に出力されると、出力信号線１５０に加算結果が出力されるので、この場合には、第２のセレクタ１６０はこの加算結果を信号線１１１に出力する。また、信号線１３０に出力された第１の加算器１４０のキャリー信号は、信号線１９２のこれまでの「中間商」を１ビットシフトした値と最終の商を生成する商生成回路１７２でビットの連結が行われ除算の最終の「商」として信号線１９３に出力される。
【００２４】
一方、第２のセレクタ１６０の出力は除算の最終の「剰余」として、信号線１１１を介して剰余出力回路１７３に供給され、ここで制御信号線１８６を介して供給される有限状態マシン回路１８０からの制御信号で所定の期間ラッチ制御されて信号線１９４に「剰余」が出力される。
以上により５ビットの被除数を任意のビット数で割り商と剰余を算出する除算が完了する。なお、被除数が５ビット以上の奇数ビットの場合には繰り返し数を増すことで同様の動作が適用可能である。又、被除数が偶数ビットの場合には、除算の最終の「剰余」として信号線１１２に出力される「剰余」を剰余出力回路１７３に供給するように構成を変えるとよい。
【００２５】
有限状態マシン回路１８０は要求仕様に応じたサイクル数にて演算を実行させるために、信号線１８１に供給された演算開始信号によって動作を開始し、所定のタイミングで各制御信号１８２、１８３、１８４、１８５、１８６を発生せしめて除算の「商」と「剰余」を算出させ、信号線１８７に演算終了信号を出力して後段に最終商と最終剰余が出力されていることを知らせる。
【００２６】
以上詳述したように、本発明の整数型除算器によれば、５ビットの被除数の除算に対して２つの加算器を用い、所定のタイミングで順次上位ビットから２ビットずつ除算を繰り返し行い、３回目の繰り返しで、第１の加算器１４０の演算結果からの「剰余」と商生成回路１７２からの最終の「商」とを得て除算を完了している。これにより従来のように５つの加算器を使用することなく、又、有限状態マシン回路１８０の制御により演算のタイミングが決められるので各加算器が同時に演算を行う状態を避けることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明に係る整数型除算器の基本構成を示すブロック図である。
【図２】従来の整数除算器の基本構成を示すブロック図である。
【符号の説明】
【００２８】
１０１，１１０，１１１，１１２，１２０，１３０，１３１，１３２，１５０，１５１，１８１，１８７，１９１，１９２，１９３，１９４・・・信号線
１４０・・・第１の加算器（第１の減算手段）
１４１・・・第２の加算器（第２の減算手段）
１５９・・・第１のセレクタ（第１のセレクト手段）
１６０・・・第２のセレクタ（第２のセレクト手段）
１６１・・・第３のセレクタ（第３のセレクト手段）
１７０・・・ラッチ回路（中間剰余ラッチ手段）
１７１・・・ラッチ回路
１７２・・・商生成回路（商生成手段）
１７３・・・剰余出力回路（剰余出力手段）
１８０・・・有限状態マシン回路（制御手段）
１８２，１８３，１８４，１８５，１８６・・・制御信号線
【図１】
2008003893.tif 000003
【図２】
2008003893.tif 000004