(57)【要約】【課題】  ０以上２2n−２以下（ｎは自然数）の数値Ｘを２n −１で除算する演算回路の提供。【解決手段】  図３の演算回路は、入力部に入力された０以上２2n−２以下（ｎは自然数）の数値Ｘの上位ｎビット（すなわちＸ／２n ）と上記数値Ｘと２進数の数値１とを加算回路にて加算し、その演算結果の上位ｎビット（すなわち上記加算結果を２n で割った値）を出力部が出力する。この出力部に出力された数値は、数値Ｘを２n −１で除算した商とすることができる。【選択図】図３
2011039842.tif 000002
【特許請求の範囲】
【請求項１】
０以上２2n−２以下（ｎは自然数）の数値Ｘを２n −１で除算する演算回路であって、
上記数値Ｘが２進数のデータとして入力される入力部と、
上記入力部に入力された数値Ｘの上位ｎビットと上記数値Ｘと数値１とを加算する加算回路と、
上記数値Ｘを２n −１で除算した商として上記加算回路の演算結果の上位ｎビットを出力する出力部と、
を備えたことを特徴とする演算回路。
【請求項２】
画像データを透明度に応じて透明化処理を行う演算回路であって、
上記数値Ｘは、上記画像データの階調度を表すｎビットの数値と上記透明度を表すｎビットの数値との積であり、
上記ｎビットの商を、上記透明度に応じた透明化処理後のｎビットの階調度として出力することを特徴とする請求項１記載の演算回路。
【請求項３】
上記入力部に入力された数値Ｘの上位ｎビットのデータを上記加算回路に入力する第１の信号線と、
上記入力部に入力された数値Ｘの全ビットのデータを上記加算回路に入力する第２の信号線と、
上記加算回路の演算結果の上位ｎビットのデータを上記出力部に入力する第３の信号線と、
を更に備えたことを特徴とする請求項１または２記載の演算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２進数のデータとして入力された数値を除算する演算回路であって、詳しくは、０以上２2n−２以下（ｎは自然数）の数値Ｘを２n −１で除算する演算回路に関する。
【背景技術】
【０００２】
従来より、２進数のデータとして入力された数値を適宜の数値で除算する処理は、種々の分野で必要とされている。例えば、プリンタなどの画像形成装置における８ビットの階調度で表される画像データを透明化する処理では、０〜２５５の数値を取る画素の階調度に、透明度を表す０〜２５５の数値をかけて、２５５で除算する処理がなされる。２進数のデータを２５６等のような２n で除算する処理は入力された数値を２進数のビットとして取り扱い右にビットをシフトするシフト演算処理を用いれば容易であるが、２５５等のような２n −１で除算する処理は容易ではない。
【０００３】
２進数のデータとして入力された数値を除算する演算回路としては、例えば、除数の逆数を２のべき数の逆数で級数展開しておき、シフト演算処理と加算処理とによって商を求める装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１６８１０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述した透明化処理のように、２進数のデータとして入力された数値を２n −１（例、２５５）で除算する場合、通常行われる筆算（乗算と減算の組み合わせで除算を実現する方法）をハード化した引き戻し法による除算回路や上記特許文献（１）の除算回路を用いて実行すると、複雑な回路構成となり、回路規模も大きくなると共に、演算にも時間がかかっていた。
【０００６】
そこで、本発明は、０以上２2n−２以下（ｎは自然数）の数値Ｘを２n −１で除算する場合において、簡単な回路で迅速に除算を実行できる演算回路の提供を目的としてなされた。
【課題を解決するための手段】
【０００７】
上記目的を達するためになされた本発明は、０以上２2n−２以下（ｎは自然数）の数値Ｘを２n −１で除算する演算回路であって、上記数値Ｘが２進数のデータとして入力される入力部と、上記入力部に入力された数値Ｘの上位ｎビットと上記数値Ｘと数値１とを加算する加算回路と、上記数値Ｘを２n −１で除算した商として上記加算回路の演算結果の上位ｎビットを出力する出力部と、を備えたことを特徴としている。
【０００８】
入力部に入力された０以上２2n−２以下（ｎは自然数）の数値Ｘの上位ｎビット（すなわち数値Ｘを２nで割った値 ）と上記数値Ｘと数値１とを加算回路にて加算し、その演算結果の上位ｎビット（すなわち上記加算結果を２n で割った値）を出力部が出力する。この出力部に出力された数値は、上記数値Ｘを２n −１で除算した商となる。このように、本発明の演算回路では、０以上２2n−２以下（ｎは自然数）の数値Ｘを２n −１で除算する場合において、上位ｎビットを取り出す処理と３つの数値に対する加算処理のみによって商が出力できるので、被除数及び除数の範囲が制限されるものの簡単な回路で迅速に除算を実行することができる。
【０００９】
なお、本発明は以下の構成に限定されるものではないが、画像データを透明度に応じて透明化処理を行う演算回路であって、上記数値Ｘは、上記画像データの階調度を表すｎビットの数値と上記透明度を表すｎビットの数値との積であり、上記ｎビットの商を、上記透明度に応じた透明化処理後のｎビットの階調度として出力してもよい。この場合、ｎビットの数値（０〜２n −１）同士の積は２2n−２以下であるので入力される階調度と透明度の組み合わせ全てに対して上記計算方法が成立する。そして、この場合、前述のように煩雑な処理を必要としていた透明化処理を、簡単な回路で迅速に実行することができる。
【００１０】
また、上記入力部に入力された数値Ｘの上位ｎビットのデータを上記加算回路に入力する第１の信号線と、上記入力部に入力された数値Ｘの全ビットのデータを上記加算回路に入力する第２の信号線と、上記加算回路の演算結果の上位ｎビットのデータを上記出力部に入力する第３の信号線と、を更に備えてもよい。
【００１１】
この場合、入力部に入力された数値Ｘの上位ｎビットのデータが第１の信号線を介して加算回路に入力され、その加算回路の演算結果の上位ｎビットのデータが第３の信号線を介して出力部に入力される。すなわち、信号線の結線によって上位ｎビットのデータを取り出すだけで、上記数値Ｘを２n −１で除算した商を求めることができ、一層迅速に除算を実行することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明が適用されたプリンタの制御系の構成を表すブロック図である。
【図２】その制御系の透明化処理回路の動作を模式的に表すブロック図である。
【図３】その透明化処理回路の構成を概略的に表すブロック図である。
【図４】本発明の原理を一例を挙げて表す説明図である。
【図５】その原理をより簡単な例を挙げて表す説明図である。
【図６】上記制御系における処理の一例を表すフローチャートである。
【図７】その処理による透明化及び重ね合わせの具体例を表す説明図である。
【図８】上記制御系における処理の他の例を表すフローチャートである。
【発明を実施するための形態】
【００１３】
［本実施の形態の制御系の構成］
次に、本発明の実施の形態を、図面と共に説明する。図１は、本発明が適用されたプリンタ１（画像形成装置の一例）の制御系の構成を表すブロック図である。図１に示すように、本実施の形態のプリンタ１は、レーザスキャナユニット，感光体ドラム等を備えて被記録媒体の一例としての用紙に電子写真方式で画像を形成する画像形成部２と、その画像形成部２を制御するＡＳＩＣ３とを備えている。ＡＳＩＣ３は、ＣＰＵ４，ＲＯＭ５，ＲＡＭ６を備え、更に、外部のパーソナルコンピュータまたはＵＳＢメモリ（いずれも図示省略）から画像データが入力されるデータ入力部７と、その画像データに対する透明化処理を実行する透明化処理回路８（演算回路の一例）とを備えている。
【００１４】
図２は、その透明化処理回路８の動作を模式的に表すブロック図である。図２（Ａ）に示すように、Ｒ（赤），Ｇ（緑），Ｂ（青）の３原色からなる画像データは、各画素に対して各色の階調度を表す８ビットの数値Ｒ，Ｇ，Ｂが設定されている。この画像データに対して、透明度を表す８ビットの数値α（０〜２５５）が設定されているとすると、透明化処理回路８は、Ｒ’＝Ｒ＊α／２５５等の式によって透明化処理後の階調度を表す８ビットの数値Ｒ’，Ｇ’，Ｂ’を算出する。
【００１５】
また、画像データがＣ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（黒）の４原色からなる場合、透明化処理回路８は図２（Ｂ）に示すように動作する。すなわち、各色の階調度を表す８ビットの数値Ｃ，Ｍ，Ｙ，Ｋに対して、透明度を表す８ビットの数値αが設定されているとすると、Ｃ’＝Ｃ＊α／２５５等の式によって透明化処理後の階調度を表す８ビットの数値Ｃ’，Ｍ’，Ｙ’，Ｋ’を算出する。
【００１６】
［透明化処理回路の構成］
図３は、透明化処理回路８の構成を概略的に表すブロック図である。図３に示すように、透明化処理回路８は、加算回路の一例としての加算器８１と、入力部の一例としての入力レジスタ８２と、出力部の一例としての出力レジスタ８３とを備えている。入力レジスタ８２には、画素の階調度に透明度をかけた上記Ｒ＊α等の数値（以下、数値Ｘという）が、１６ビットの２進数のデータ（被除数）として入力される。
【００１７】
この入力レジスタ８２に入力された数値Ｘの上位８ビットのデータは、第１の信号線の一例としての信号線８５ｂを介して加算器８１の８ビットの入力ポート８１ｂ（入力ｂ）に入力される。また、入力レジスタ８２に入力された数値Ｘの全ビットのデータは、第２の信号線の一例としての信号線８５ｃを介して加算器８１の１６ビットの入力ポート８１ｃ（入力ｃ）に入力される。
【００１８】
そして、加算器８１は、２進数の数値１（入力ａ）と上記入力ポート８１ｂ，８１ｃに入力された各数値（入力ｂ，入力ｃ）とを加算し、演算結果（加算結果ＳＵＭ［１５：０］）を１６ビットの出力ポート８１ｄに出力する。なお、上記２進数の数値１は、数値Ｘと同様に加算器８１の外部から図示省略した入力ポートを介して入力されても、加算器８１が自身の内部に保持していてもよい。
【００１９】
上記のようにして出力ポート８１ｄに出力された１６ビットの数値の上位８ビットは、第３の信号線の一例としての信号線８５ｄを介して出力レジスタ８３に入力される。すると、この出力レジスタ８３に入力された数値は、次のように、数値Ｘを２５５で除算した値（端数を切り捨てた値）となっている。
【００２０】
ここで、上記いずれの場合もＲ＊α等の数値を２５５による除算を、通常行われる筆算をハード化した引き戻し法による除算回路や上記特許文献（１）の除算回路を用いて実行すると、複雑な回路構成となり、回路規模も大きくなる。そこで、本実施の形態では、次のような簡単な回路で迅速に除算を実行可能とした。次に、本実施の形態における回路の原理について説明する。
【００２１】
［本発明の原理］
数値Ｘを２n −１で除算する処理の原理について説明する。以下、ｎ＝８の場合を例に取り、商は端数を切り捨てるものする。
【００２２】
その場合、図４に示すように、Ｘ／２５５の値が変化する点は、Ｘ＝２５５×１，２５５×２（＝５１０），２５５×３（＝７６５），…であり、Ｘ／２５６の値が変化する点は、Ｘ＝２５６×１，２５６×２（＝５１２），２５６×３（＝７６８），…となる。そのため、Ｘ／２５５の値が変化する点は、Ｘ／２５６の変化する点の数値Ｘを基準とすると、その点よりもＸ／２５６手前となる。これは、Ｘ／２５５の値が変化する点の数値Ｘを基準とした場合に、その点の数値Ｘに１＋Ｘ／２５６を加えた値を２５６で除算した商が、上記数値Ｘを２５５で除算した商と一致することを表す。同様に数値Ｘを２n −１で除算する場合、Ｘ＋１＋Ｘ／２n を２n で除算すればよいことになる。
【００２３】
但し、ｎ＝８の場合、図４に示すように、Ｘ＝２５５＊２５７となると上記計算方法は成立しない。すなわち、Ｘ／２５６の変化点である２５６＊２５７よりも２５７手前の点（２５５＊２５７）では、図４の最下段に示すように１＋Ｘ／２５６の値がまだ２５６でしかないので、上記式では変化点の差分２５７を数値Ｘに加算することができないのである。
【００２４】
同様に、数値Ｘを２n −１で除算する場合に一般化して考えるならば、Ｘ／２n の変化点とＸ／（２n −１）の変化点との差分が２n を超えると上記計算方法が成立しなくなる。図５は、より簡略化して考えるために２ビット（ｎ＝２）の場合を全ての数値Ｘに対して示したもので、Ｘ／４の変化点とＸ／３の変化点との差分が４を超えるＸ＝１５となったとき、Ｘ＋１＋Ｘ／２n （＝１９）を４で割った値は、Ｘを（２n −１）で割った値、すなわち１５／３（＝５）と一致しない。
【００２５】
ここで、Ｘ／２n の変化点は２n ＊ｍ（ｍは自然数）で表され、Ｘ／（２n −１）の変化点は（２n −１）＊ｍで表されるから、２n ＊ｍ−（２n −１）＊ｍ＞２n なる式を解いて上記変化点の差分が２n を超えるｍを求めると、ｍ＞２n となる。すなわち、ｍ＝２n ＋１のときに上記計算方法が成立しなくなることが分かる。このときの数値Ｘの値は（２n −１）＊（２n ＋１）＝２2n−１であるから、０≦Ｘ≦２2n−２の範囲であれば上記計算方法が成立することになる。
【００２６】
［上記制御系における処理］
次に、ＡＳＩＣ３のＣＰＵ４は、ＲＯＭ５に記憶されたプログラムに基づき、上記のような透明化処理回路８を用いて次のような処理を実行する。図６は、データ入力部７に画像データが入力されたときにＣＰＵ４が実行する処理を表すフローチャートである。図６に示すように、処理が開始されると、先ず、Ｓ１（Ｓはステップを表す：以下同様）にて、その画像データが透明化処理の必要なデータか否かが判断される。透明化処理が必要でない場合は（Ｓ１：Ｎ）、処理はＳ２へ移行し、その画像データをそのまま利用して画像形成部２による印刷処理が実行され、処理は一旦終了して次の画像データの入力まで待機する。
【００２７】
一方、透明化処理が必要な場合は（Ｓ１：Ｙ）、処理はＳ３へ移行し、透明化処理のうちの図形の重ね合わせの処理が実行される。この処理では、例えば図７に具体例を示すように、丸，三角，四角の３つの図形を重ね合わせる場合であっても、重ね合わせる順番によって演算結果が変化する。図７（Ａ）は上から三角，四角，丸の順で図形が重ね合わされた例を表し、図７（Ｂ）は上から四角，丸，三角の順で図形が重ね合わされた例を表し、図７（Ｃ）は上から丸，三角，四角の順で図形が重ね合わされた例を表している。
【００２８】
この例では、Ｓ３の処理は、丸，三角，四角の各図形に対して各色の階調度を表す８ビットの数値Ｒ１，Ｇ１，Ｂ１，Ｒ２，Ｇ２，Ｂ２，Ｒ３，Ｇ３，Ｂ３が設定され、各図形に対して透明度を表す８ビットの数値α１，α２，α３が設定されている場合に、描画エリアの各画素の階調度及び透明度を各図形の重なりに応じて公知の方法で計算する処理である。そして、続くＳ４では、重ね合わせ処理後の各画素の階調度を表すデータＲ，Ｇ，Ｂと透明度を表すデータαとに基づき、透明化処理回路８を用いてＲ＊α／２５５等の計算を行う最終透明化処理が実行される。更に、続くＳ５では、その透明化処理後の画像データが画像形成部２に向けて出力され、続いて処理が前述のＳ２へ移行することにより、透明度を有する図形が重なり合った画像が画像形成部２によって印刷される。
【００２９】
［上記実施の形態の効果及びその変形例］
このように、本実施の形態では、シフト処理すら必要なく、上位８ビットのデータを信号線８５ｂ，８５ｄを介して取り出す処理（構成）と３つの数値に対する加算器８１による加算処理のみによって、Ｒ＊α／２５５等の除算を伴う計算が実行できる。このため、本実施の形態では、従来は煩雑な処理を必要としていた透明化処理を、簡単な回路で迅速に実行することができる。
【００３０】
なお、入力レジスタ８２等の入力部に入力された数値Ｘの上位ｎビットのデータを取り出す処理または構成や、上記加算結果の上位ｎビットを取り出す処理または構成としては、種々の形態が考えられる。但し、上記実施の形態では、信号線８５ｂ，８５ｄによって上位ｎビット（８ビット）の数値をハード的に取り出しているため、一層迅速に除算を実行することができる。
【００３１】
また、本発明は上記実施の形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の形態で実施することができる。例えば、画像データがＣ，Ｍ，Ｙ，Ｋで構成される場合にも、本発明は同様に適用することができ、画像形成部２がインクジェットプリンタ等である場合にも、本発明は同様に適用することができる。
【００３２】
更に、上記実施の形態では、重ね合わせの処理（Ｓ３）を行った後に除算を伴う最終透明化処理（Ｓ４）を実行しているが、除算を伴う透明化処理は先に実行してもよい。図８は、そのような処理を表すフローチャートである。なお、この処理では、前述のＳ３，Ｓ４の代わりにＳ１３，Ｓ１４を設けた点のみが異なるので、以下、相違点のみについて説明する。
【００３３】
図８に示すように、この処理では、前述のＳ１にて透明化処理が必要と判断された場合（Ｓ１：Ｙ）、Ｓ１３にて透明化処理としての除算処理が実行される。この処理では、各図形に対して各色の階調度を表す８ビットの数値Ｒ１，Ｇ１，Ｂ１，Ｒ２，Ｇ２，Ｂ２，Ｒ３，Ｇ３，Ｂ３が設定され、各図形に対して透明度を表す８ビットの数値α１，α２，α３が設定されている場合、Ｒ１＊α１／２５５等の計算が透明化処理回路８を用いて各図形毎に実行される。続くＳ１４では、その除算を伴う透明化処理後の各図形が公知の処理により重ね合わされ、処理は前述のＳ５へ移行する。このような処理を採用した場合も、前述のように、従来は煩雑な処理を必要としていた透明化処理を簡単な回路で迅速に実行することができる。
【符号の説明】
【００３４】
１…プリンタ                  ２…画像形成部              ３…ＡＳＩＣ
４…ＣＰＵ                    ５…ＲＯＭ                  ６…ＲＡＭ
７…データ入力部              ８…透明化処理回路          ８１…加算器
８１ｂ，８１ｃ…入力ポート    ８１ｄ…出力ポート          ８２…入力レジスタ
８３…出力レジスタ            ８５ｂ，８５ｃ，８５ｄ…信号線
【図１】
2011039842.tif 000003
【図２】
2011039842.tif 000004
【図３】
2011039842.tif 000005
【図４】
2011039842.tif 000006
【図５】
2011039842.tif 000007
【図６】
2011039842.tif 000008
【図８】
2011039842.tif 000009
【図７】
2011039842.tif 000010