(57)【要約】【課題】  除算の高速化をはかり、印刷装置の処理能力を向上させることを目的とする。【解決手段】  データの大きさを比較するコンパレータを備え、その比較結果を用いて、商および余りを計算する足算回路を印刷装置に備える。【選択図】  図１
2006113792.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータ等の上位装置より制御コード、文字データ等からなる文章データやイメージデータを入力し印刷する印刷装置又は、画像処理装置等の除算回路を備えた装置において、２Ｍビット又はそれ以下の数値を（２M＋１）で割算する場合、比較回路・及び足算回路により一度の演算処理で除算を実行できる事を特徴とする演算回路を備えた装置（Ｍは１以上）。
【請求項２】
上記で記述した比較回路・足算回路は以下の計算方法で求められる事を特徴とする演算回路を備えた装置。
比較方法：
(１)上位・下位が等しい場合  商：上位or下位  余：なし
(２)上位が大きい場合        商：上位−１    余：１＆（０がＭビット）
＋下位−商
(３)下位が大きい場合        商：上位        余：下位−上位
【請求項３】
上記印刷装置に於いて、２Ｍビットより大きい数値であるＮビットのデータを（２M＋１）で割算する場合は、請求項１で示した比較回路・足算回路を組み合わせる事により、（Ｎ−２Ｍ）／Ｍ回で割る事ができる装置（余り繰り上げ）。
比較方法：
(１)割られる数の上位（Ｍ＋１）ビット目が１の場合  商：１がＭビット
余：下位＋１
(２)上位・下位が等しい場合  商：上位        余：なし
(３)下位が大きい場合        商：上位        余：下位−上位
(４)上位が大きい場合        商：上位−１    余：１＆（０がＭビット）
下位−上位
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向性インタフェースを介してホストコンピュータに接続されるプリンタ等の出力装置及び画像処理装置など除算回路を備えた装置に関する。
【背景技術】
【０００２】
従来、ホストコンピュータ等の上位装置より印刷データを入力し印刷する印刷装置及びそれに類する画像処理装置などの、除算回路が組み込まれている装置において、ある特定の除算を行うための除算回路を実装する際は、一般的な除算回路が用いられていた。
【特許文献１】特開平０７−３２３５３４号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記で説明したように、一般的な除算回路では除算に要する実行時間を短くする事は難しく、全体の処理時間が長くなるなどの問題があった。
【課題を解決するための手段】
【０００４】
本発明は、除算の高速化を図る事により装置の処理能力を向上する事を目的とする。
【０００５】
上記目的を達成する本発明の出力装置は以下に示す構成を備える。
【０００６】
即ち、データの大きさを比較するコンパレータを備える。
【０００７】
即ち、比較結果を用いて商・余りを計算する足算回路を備える。
【発明の効果】
【０００８】
以上述べたように本発明によれば、短時間で割算処理が実行できる効果がある。
【発明を実施するための最良の形態】
【０００９】
本実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタの構成について図１、図２を参照しながら説明する。なお、本実施例で示す装置は、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ等、ハードウェアを用いて除算を行う処理部分を備えた装置であることは言うまでもない。
【００１０】
図１は本発明を適用可能な第一の出力装置の構成を示す断面図であり、レーザビームプリンタ（ＬＢＰ）の場合を示す。
【００１１】
図において、１５００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給される印刷情報（文字コード等）やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。１５０１は操作のためのスイッチ及びＬＥＤ表示器等が配されている操作パネル、１０００はＬＢＰ本体１５００全体の制御及びホストコンピュータから供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット１０００は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザユニット１５０２に出力する。レーザユニット１５０２は半導体レーザを駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザから発射されるレーザ光をオン・オフ切り換えする。レーザ光は回転多面鏡で左右方向に振らされて感光ドラム１５０６上を走査露光する。これにより、感光ドラム１５０６上には文字パターンの静電潜像が形成されることになる。この潜像は、黒カートリッジ１５０７、３色カートリッジユニット１５０８でそれぞれの色に転写されて、転写ドラム１５０９により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１５００に装着した用紙カセット１５１０に収納され、給紙ローラ１５１１及び搬送ローラ１５１２により、装置内に取り込まれて、定着ユニット１５１３に供給されトナーが紙に融着する。ここで、図２に示すように、最大紙サイズがＡ３の場合、即ち中間転写体１５０９の外周がＡ３の大きさに設定されている場合は、Ａ４用紙で印刷した場合もＡ３用紙印刷時間と全く同じになってしまう。ただし、Ａ４サイズを２枚続けて印刷すれば、従来通り倍のスピードが達成できるという特徴がある。
【００１２】
また、ＬＢＰ本体１５００には、図示しないカードスロットを少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なる制御カード（エミュレーションカード）を接続できるように構成されている。ここで、中間転写体１５０９の円周分が最大用紙サイズであり、この用紙サイズで印刷速度が決定される。
【００１３】
図３は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１４】
図において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムデバイス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００１５】
また、このＲＯＭ３のプログラム用ＲＯＭには、ＣＰＵ１の制御プログラム等を記憶し、ＲＯＭ３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭは上記文書処理等を行う際に使用する各種データを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピィーディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００１６】
プリンタ１５００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等を記憶する。ＲＯＭ１３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ１３のデータ用ＲＯＭにはハードディスク等の外部メモリ１４がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１４は、ディスクコントローラ（ＤＫＣ）２０によりアクセスを制御される。演算回路２３は、カラーデータの色処理等に使用される演算回路で、ＲＡＭ・ＲＯＭ内部に格納されている画像情報を随時変換する場合使用される。
【００１７】
外部メモリ１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、１８は前述した操作パネルで操作のためのスイッチ及びＬＥＤ表示器等が配されている。
【００１８】
また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、ＮＶＲＡＭ２２は、印刷装置の設定を記憶しておく不揮発性メモリであり、インタフェースの設定・装着されているオプション・印刷枚数等の情報が格納されており、操作パネル１５０１からのプリンタモード設定情報を記憶する事もできる。
【００１９】
ハードディスク部２３はＲＡＭ１９と同様にホストコンピュータ３０００から送られてくる情報を保持しておくための記憶部である。
【００２０】
このように構成されたプリンタ制御システムにおいて、ホストコンピュータより出力された文章データは、まず入力部１８に格納される。ＣＰＵ１２は、入力された情報をＲＯＭ１３を参照しながら翻訳し、翻訳した内容をＲＡＭ１９に蓄える。ここでＲＡＭ１９の格納方法は、１６，３２，４８ビット幅の中間フォームで格納または、ビットマップメモリとして格納される。ここで、文字データ、イメージデータをＲＡＭ１９に格納する際、今まで１つのページメモリとして使用していたＲＡＭ１９を、２つのページメモリとして分割し、一方を文字領域、もう一方をイメージ領域として分割定義する。そこで、このそれぞれの領域に文字情報を展開したフォームとイメージ情報を展開したフォームをそれぞれ格納する事を特徴としている。この格納方法は、中間のオブジェクトを精製する際に文字情報やイメージ情報が持っているそれぞれのヘッダをもとに認識し、それぞれの領域に展開させる。ＲＡＭ１９は、一般的に１ページ分のメモリ領域を持っているため、文字とイメージの領域が分けられただけでメモリの追加は必要ないが、バンド処理のため省メモリで動作している場合は、ＲＡＭを追加する必要がある。
【００２１】
ここで展開された文章データは、印刷部Ｉ／Ｆを通じて印刷部１７に送られ、印刷部１７から送られる同期信号に同期して随時出力され印刷が行われる。
【実施例１】
【００２２】
ここで、上記で説明した演算回路１３は、ホストコンピュータ等の上位装置より送られてきた多値の白黒データのテーブル変換やＲＧＢから構成させる画像データをＹＭＣＫの色データの変換する際の割算回路に使用される。ここで、割算回路を構成するための一般的な割算の手法として、引き離し法が上げられる。
【００２３】
例えば「１０１０１００１」を「１０００１」で割る演算をこの方法を用いて行う場合、図４に示すように、数値の高いくらいから順番に演算を行っていく。この中で、演算結果が負・即ち最上位ビットが０の場合は、結果が負の場合は加算（＋１０００１）を行い、演算結果が正・即ち１の倍は結果が正の場合は減算（＋０１１１１）となり、この結果をまとめると、商（１００１）になる。
【００２４】
しかしながら、この方法では計算が終了するまでに４回足算を行わなければならず、演算に時間がかかっていた。ここで、先ほどの結果が負の場合に加算（＋１０００１）を行う理由は、引きすぎた結果を元に戻して、右シフトした除数を引く事は、引きすぎた結果を元に戻さずに右シフトした除数を加えるのと同じである、ためである。
【００２５】
例（０１０００００１−０１０００１）＋０１０００１−００１０００１
＝（０１０００００１−０１０００１）＋２×０１０００１−００１０００１
＝（０１０００００１−０１０００１）＋００１０００１
ここで、割る数値である「１０００１」に注目してみると、１０００１の倍数は以下に示すように上位４ビットと下位４ビットがまったく等しい。
１７      ０００１｜０００１
３４      ００１０｜００１０
５１      ００１１｜００１１
・        ・・・・・・
２５５      １１１１｜１１１１
そこで、上記より上位と下位でデータを比較することで計算結果を簡単に導き出す事ができる事が分かる。
【００２６】
まとめてみると、
１．上位・下位対象ならば割り切れる  商：上位      余り：０
２．上位が大きい場合                商：上位−１  余り：10000＋下位−商
３．下位が大きい場合                商：上位      余り：下位−上位
であり、実際に計算を実施すると、
例  ００１１：０００１  場合２  商：００１０    余り：１００００−００
１０＋０００１＝１１１１
例  １０１１：０１１０          商：１０１０    余り：１００００−１０
１０＋０１１０＝１１００
例  ０１１０：１１１１  場合３  商：０１１０    余り１１１１−０１１０
＝１００１
となり正しい答えを導き出せたことが分かる。
【００２７】
そこで、これを回路に変換したブロック図を図５に示す。
【００２８】
割られる数は、コンパレータ１５内部で、上位ビット・下位ビットの比較が行われ、その結果を足算回路５２に渡される。この比較結果を元に、足算回路内部では商・余りの計算が行われ演算を行う事ができる。
【００２９】
ここで、割る数（例えば１００１）はあらかじめコンパレータ・足算回路に設定しておくが、外部信号として入力してもよい。また、足算回路は同期でも非同期でも構わない。ここでは同期を想定しており、起動信号が発生してから次のクロックの変化点で演算結果が出力される。
【００３０】
以上を一般式にまとめると、
２Ｍビット以下の数値を（２M＋１）で割算する場合、一回の比較計算で実行できる事を特徴とする演算回路は、（Ｍは１以上）
比較方法：
(１)上位・下位が等しい場合  商：上位or下位  余：なし    下位−商
(２)上位が大きい場合        商：上位−１    余：１＆（０がＭビット）
下位−上位
（３）下位が大きい場合      商：上位        余：下位−上位
【実施例２】
【００３１】
次に、第二の実施例として、２Ｍビットより大きいＮビットの数値を（２M＋１）で割算する場合に関して説明する。
【００３２】
まず第一に１０ビットのデータを実施例１と同様に１７（１０００１）で割算を行う場合に関して説明する。
【００３３】
図６に例として１０ビットのデータ「１０１００００１」に関して説明する。
【００３４】
まず、Ｄ８〜Ｄ２までの８ビットを実施例１と同様な方法で、コンパレータ・足算回路を通じて計算すると、第一の商１０１０と余り０００１が得られる。次に残りのＤ５〜Ｄ０までの６ビットに対して本計算を行うと商は００余り０１００となり、１０ビットの割算を２回比較回路を通す事で実施できる。
【００３５】
次に図７に示すように、９ビット目と１０ビット目の値が０の場合、上記と同様の方法で実施すると、商００１０１０余り０１１０となり、正しい商：１０１０  余り：１００と値が異なってしまう。
【００３６】
また、図８に示すように途中で余りが１００００のようにＭビットの範囲を超えている場合も、正しい商１０１０１１１１余り１００１と異なってしまう。
【００３７】
そこで、上記２点の不具合を解決する方法を図９に示す。
【００３８】
ここで示すように、最下位ビットに合わせてＭビットの単位で計算を行うと、割られる数１０ビットに対して、Ｍ＝４の倍数である１２ビットを想定する。
【００３９】
先ず、Ｄ１１〜Ｄ４に対して実施例１と同様に計算を行い、商００００余り１０１０となり、次にＤ７〜Ｄ０に対して計算を行うと、商１０１０余り０１００となり正しい結果が得られることができる。
【００４０】
以上より、図１０に上記計算方法を演算回路にまとめて変換したブロック図を示す。
【００４１】
ここで、コンパレータ５３は、割る数のビット幅に合わせて、割られる数をシフトさせるシフトレジスタと請求項１で記載したコンパレータ５１からなり、スタート信号とクロックに同期してデータをシフトさせながら、足算回路５４からフィードバックされる余りを元に随時比較計算を行う。また、足算回路５４も請求項１で記載した足算回路５２と同様に、コンパレータ５３から送られてくる比較結果を元に、割られる数・余りを元に順次計算を行う事で、高速な演算を行う事ができる事を特徴とする。
【００４２】
ここでは同期式を示したが、非同期の場合でも手法は同様である。
【００４３】
また、割る数はそれぞれの回路内部で固定式にしてあるが、もちろん外部より入力しても構わない。
【００４４】
以上のように、２Ｍビット以上の演算を高速で実施できる事を特徴とする印刷装置。
【００４５】
以下は、比較回路内部の定義に関する一般式である。
【００４６】
比較方法：
(１)割られる数の上位（Ｍ＋１）ビット目が１の場合  商：１がＭビット
余：下位＋１
(２)上位・下位が等しい場合  商：上位        余：なし
(３)下位が大きい場合        商：上位        余：下位−上位
(４)上位が大きい場合        商：上位−１    余：１＆（０がＭビット）
下位−上位
以上により、Ｎビットを（２M＋１）で割る場合は、（Ｎ−２Ｍ）／Ｍ回で割る事ができる演算回路を実施できる（余り繰り上げ）。
【図面の簡単な説明】
【００４７】
【図１】本発明を適用可能な第一の出力装置の構成を示す断面図である。
【図２】本発明の適用可能な第一出力装置の詳細を示す断面図である。
【図３】本発明を示すプリンタ制御システムの構成を説明するブロック図である。
【図４】本発明の１実施例を示すプリンタ制御システムの演算方法の例である。
【図５】本発明の１実施例を示すプリンタ制御システムの演算回路の構成を示すブロック図である。
【図６】本発明の２実施例を示すプリンタ制御システムの演算方法の例である。
【図７】本発明の２実施例を示すプリンタ制御システムの演算方法の例である。
【図８】本発明の２実施例を示すプリンタ制御システムの演算方法の例である。
【図９】本発明の２実施例を示すプリンタ制御システムの演算方法の例である。
【図１０】本発明の２実施例を示すプリンタ制御システムの演算回路の構成を示すブロック図である。
【符号の説明】
【００４８】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  システムバス
１２  ＣＰＵ
１３  ＲＯＭ
１４  外部メモリ
１５  システムバス
１６  印刷部Ｉ／Ｆ
１７  印刷部
１８  入力部
１９  ＲＡＭ
３０００  ホストコンピュータ
１５００  プリンタ
１５０１  操作パネル
１５０２  スキャナユニット
１５０６  感光ドラム
１５０７  黒トナーカートリッジ
１５０８  ３色トナーカートリッジユニット
１５０９  中間転写体
１５１０  ペーパーカセット
１５１１  給紙ローラー
１５１２  搬送ローラー
１５１３  定着器ユニット
１０００  プリンタ制御ユニット
【図１】
2006113792.tif 000003
【図２】
2006113792.tif 000004
【図３】
2006113792.tif 000005
【図４】
2006113792.tif 000006
【図５】
2006113792.tif 000007
【図６】
2006113792.tif 000008
【図７】
2006113792.tif 000009
【図８】
2006113792.tif 000010
【図９】
2006113792.tif 000011
【図１０】
2006113792.tif 000012