説明

高速除算回路を備えた装置

【課題】 除算の高速化をはかり、印刷装置の処理能力を向上させることを目的とする。
【解決手段】 データの大きさを比較するコンパレータを備え、その比較結果を用いて、商および余りを計算する足算回路を印刷装置に備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、双方向性インタフェースを介してホストコンピュータに接続されるプリンタ等の出力装置及び画像処理装置など除算回路を備えた装置に関する。
【背景技術】
【0002】
従来、ホストコンピュータ等の上位装置より印刷データを入力し印刷する印刷装置及びそれに類する画像処理装置などの、除算回路が組み込まれている装置において、ある特定の除算を行うための除算回路を実装する際は、一般的な除算回路が用いられていた。
【特許文献1】特開平07−323534号
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記で説明したように、一般的な除算回路では除算に要する実行時間を短くする事は難しく、全体の処理時間が長くなるなどの問題があった。
【課題を解決するための手段】
【0004】
本発明は、除算の高速化を図る事により装置の処理能力を向上する事を目的とする。
【0005】
上記目的を達成する本発明の出力装置は以下に示す構成を備える。
【0006】
即ち、データの大きさを比較するコンパレータを備える。
【0007】
即ち、比較結果を用いて商・余りを計算する足算回路を備える。
【発明の効果】
【0008】
以上述べたように本発明によれば、短時間で割算処理が実行できる効果がある。
【発明を実施するための最良の形態】
【0009】
本実施例の構成を説明する前に、本実施例を適用するに好適なレーザビームプリンタの構成について図1、図2を参照しながら説明する。なお、本実施例で示す装置は、レーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ等、ハードウェアを用いて除算を行う処理部分を備えた装置であることは言うまでもない。
【0010】
図1は本発明を適用可能な第一の出力装置の構成を示す断面図であり、レーザビームプリンタ(LBP)の場合を示す。
【0011】
図において、1500はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。1501は操作のためのスイッチ及びLED表示器等が配されている操作パネル、1000はLBP本体1500全体の制御及びホストコンピュータから供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット1000は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザユニット1502に出力する。レーザユニット1502は半導体レーザを駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザから発射されるレーザ光をオン・オフ切り換えする。レーザ光は回転多面鏡で左右方向に振らされて感光ドラム1506上を走査露光する。これにより、感光ドラム1506上には文字パターンの静電潜像が形成されることになる。この潜像は、黒カートリッジ1507、3色カートリッジユニット1508でそれぞれの色に転写されて、転写ドラム1509により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP1500に装着した用紙カセット1510に収納され、給紙ローラ1511及び搬送ローラ1512により、装置内に取り込まれて、定着ユニット1513に供給されトナーが紙に融着する。ここで、図2に示すように、最大紙サイズがA3の場合、即ち中間転写体1509の外周がA3の大きさに設定されている場合は、A4用紙で印刷した場合もA3用紙印刷時間と全く同じになってしまう。ただし、A4サイズを2枚続けて印刷すれば、従来通り倍のスピードが達成できるという特徴がある。
【0012】
また、LBP本体1500には、図示しないカードスロットを少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なる制御カード(エミュレーションカード)を接続できるように構成されている。ここで、中間転写体1509の円周分が最大用紙サイズであり、この用紙サイズで印刷速度が決定される。
【0013】
図3は本発明の実施例を示すプリンタ制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【0014】
図において、3000はホストコンピュータで、ROM3のプログラム用ROMに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムデバイス4に接続される各デバイスをCPU1が総括的に制御する。
【0015】
また、このROM3のプログラム用ROMには、CPU1の制御プログラム等を記憶し、ROM3のフォント用ROMには上記文書処理の際に使用するフォントデータ等を記憶し、ROM3のデータ用ROMは上記文書処理等を行う際に使用する各種データを記憶する。2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)、フロッピィーディスク(FD)等の外部メモリ11とのアクセスを制御する。8はプリンタコントローラ(PRTC)で、所定の双方向性インタフェース(インタフェース)21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【0016】
プリンタ1500において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラム等或いは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース16を介して接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ROM13のデータ用ROMにはハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。19はCPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、ディスクコントローラ(DKC)20によりアクセスを制御される。演算回路23は、カラーデータの色処理等に使用される演算回路で、RAM・ROM内部に格納されている画像情報を随時変換する場合使用される。
【0017】
外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチ及びLED表示器等が配されている。
【0018】
また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、NVRAM22は、印刷装置の設定を記憶しておく不揮発性メモリであり、インタフェースの設定・装着されているオプション・印刷枚数等の情報が格納されており、操作パネル1501からのプリンタモード設定情報を記憶する事もできる。
【0019】
ハードディスク部23はRAM19と同様にホストコンピュータ3000から送られてくる情報を保持しておくための記憶部である。
【0020】
このように構成されたプリンタ制御システムにおいて、ホストコンピュータより出力された文章データは、まず入力部18に格納される。CPU12は、入力された情報をROM13を参照しながら翻訳し、翻訳した内容をRAM19に蓄える。ここでRAM19の格納方法は、16,32,48ビット幅の中間フォームで格納または、ビットマップメモリとして格納される。ここで、文字データ、イメージデータをRAM19に格納する際、今まで1つのページメモリとして使用していたRAM19を、2つのページメモリとして分割し、一方を文字領域、もう一方をイメージ領域として分割定義する。そこで、このそれぞれの領域に文字情報を展開したフォームとイメージ情報を展開したフォームをそれぞれ格納する事を特徴としている。この格納方法は、中間のオブジェクトを精製する際に文字情報やイメージ情報が持っているそれぞれのヘッダをもとに認識し、それぞれの領域に展開させる。RAM19は、一般的に1ページ分のメモリ領域を持っているため、文字とイメージの領域が分けられただけでメモリの追加は必要ないが、バンド処理のため省メモリで動作している場合は、RAMを追加する必要がある。
【0021】
ここで展開された文章データは、印刷部I/Fを通じて印刷部17に送られ、印刷部17から送られる同期信号に同期して随時出力され印刷が行われる。
【実施例1】
【0022】
ここで、上記で説明した演算回路13は、ホストコンピュータ等の上位装置より送られてきた多値の白黒データのテーブル変換やRGBから構成させる画像データをYMCKの色データの変換する際の割算回路に使用される。ここで、割算回路を構成するための一般的な割算の手法として、引き離し法が上げられる。
【0023】
例えば「10101001」を「10001」で割る演算をこの方法を用いて行う場合、図4に示すように、数値の高いくらいから順番に演算を行っていく。この中で、演算結果が負・即ち最上位ビットが0の場合は、結果が負の場合は加算(+10001)を行い、演算結果が正・即ち1の倍は結果が正の場合は減算(+01111)となり、この結果をまとめると、商(1001)になる。
【0024】
しかしながら、この方法では計算が終了するまでに4回足算を行わなければならず、演算に時間がかかっていた。ここで、先ほどの結果が負の場合に加算(+10001)を行う理由は、引きすぎた結果を元に戻して、右シフトした除数を引く事は、引きすぎた結果を元に戻さずに右シフトした除数を加えるのと同じである、ためである。
【0025】
例(01000001−010001)+010001−0010001
=(01000001−010001)+2×010001−0010001
=(01000001−010001)+0010001
ここで、割る数値である「10001」に注目してみると、10001の倍数は以下に示すように上位4ビットと下位4ビットがまったく等しい。
17 0001|0001
34 0010|0010
51 0011|0011
・ ・・・・・・
255 1111|1111
そこで、上記より上位と下位でデータを比較することで計算結果を簡単に導き出す事ができる事が分かる。
【0026】
まとめてみると、
1.上位・下位対象ならば割り切れる 商:上位 余り:0
2.上位が大きい場合 商:上位−1 余り:10000+下位−商
3.下位が大きい場合 商:上位 余り:下位−上位
であり、実際に計算を実施すると、
例 0011:0001 場合2 商:0010 余り:10000−00
10+0001=1111
例 1011:0110 商:1010 余り:10000−10
10+0110=1100
例 0110:1111 場合3 商:0110 余り1111−0110
=1001
となり正しい答えを導き出せたことが分かる。
【0027】
そこで、これを回路に変換したブロック図を図5に示す。
【0028】
割られる数は、コンパレータ15内部で、上位ビット・下位ビットの比較が行われ、その結果を足算回路52に渡される。この比較結果を元に、足算回路内部では商・余りの計算が行われ演算を行う事ができる。
【0029】
ここで、割る数(例えば1001)はあらかじめコンパレータ・足算回路に設定しておくが、外部信号として入力してもよい。また、足算回路は同期でも非同期でも構わない。ここでは同期を想定しており、起動信号が発生してから次のクロックの変化点で演算結果が出力される。
【0030】
以上を一般式にまとめると、
2Mビット以下の数値を(2M+1)で割算する場合、一回の比較計算で実行できる事を特徴とする演算回路は、(Mは1以上)
比較方法:
(1)上位・下位が等しい場合 商:上位or下位 余:なし 下位−商
(2)上位が大きい場合 商:上位−1 余:1&(0がMビット)
下位−上位
(3)下位が大きい場合 商:上位 余:下位−上位
【実施例2】
【0031】
次に、第二の実施例として、2Mビットより大きいNビットの数値を(2M+1)で割算する場合に関して説明する。
【0032】
まず第一に10ビットのデータを実施例1と同様に17(10001)で割算を行う場合に関して説明する。
【0033】
図6に例として10ビットのデータ「10100001」に関して説明する。
【0034】
まず、D8〜D2までの8ビットを実施例1と同様な方法で、コンパレータ・足算回路を通じて計算すると、第一の商1010と余り0001が得られる。次に残りのD5〜D0までの6ビットに対して本計算を行うと商は00余り0100となり、10ビットの割算を2回比較回路を通す事で実施できる。
【0035】
次に図7に示すように、9ビット目と10ビット目の値が0の場合、上記と同様の方法で実施すると、商001010余り0110となり、正しい商:1010 余り:100と値が異なってしまう。
【0036】
また、図8に示すように途中で余りが10000のようにMビットの範囲を超えている場合も、正しい商10101111余り1001と異なってしまう。
【0037】
そこで、上記2点の不具合を解決する方法を図9に示す。
【0038】
ここで示すように、最下位ビットに合わせてMビットの単位で計算を行うと、割られる数10ビットに対して、M=4の倍数である12ビットを想定する。
【0039】
先ず、D11〜D4に対して実施例1と同様に計算を行い、商0000余り1010となり、次にD7〜D0に対して計算を行うと、商1010余り0100となり正しい結果が得られることができる。
【0040】
以上より、図10に上記計算方法を演算回路にまとめて変換したブロック図を示す。
【0041】
ここで、コンパレータ53は、割る数のビット幅に合わせて、割られる数をシフトさせるシフトレジスタと請求項1で記載したコンパレータ51からなり、スタート信号とクロックに同期してデータをシフトさせながら、足算回路54からフィードバックされる余りを元に随時比較計算を行う。また、足算回路54も請求項1で記載した足算回路52と同様に、コンパレータ53から送られてくる比較結果を元に、割られる数・余りを元に順次計算を行う事で、高速な演算を行う事ができる事を特徴とする。
【0042】
ここでは同期式を示したが、非同期の場合でも手法は同様である。
【0043】
また、割る数はそれぞれの回路内部で固定式にしてあるが、もちろん外部より入力しても構わない。
【0044】
以上のように、2Mビット以上の演算を高速で実施できる事を特徴とする印刷装置。
【0045】
以下は、比較回路内部の定義に関する一般式である。
【0046】
比較方法:
(1)割られる数の上位(M+1)ビット目が1の場合 商:1がMビット
余:下位+1
(2)上位・下位が等しい場合 商:上位 余:なし
(3)下位が大きい場合 商:上位 余:下位−上位
(4)上位が大きい場合 商:上位−1 余:1&(0がMビット)
下位−上位
以上により、Nビットを(2M+1)で割る場合は、(N−2M)/M回で割る事ができる演算回路を実施できる(余り繰り上げ)。
【図面の簡単な説明】
【0047】
【図1】本発明を適用可能な第一の出力装置の構成を示す断面図である。
【図2】本発明の適用可能な第一出力装置の詳細を示す断面図である。
【図3】本発明を示すプリンタ制御システムの構成を説明するブロック図である。
【図4】本発明の1実施例を示すプリンタ制御システムの演算方法の例である。
【図5】本発明の1実施例を示すプリンタ制御システムの演算回路の構成を示すブロック図である。
【図6】本発明の2実施例を示すプリンタ制御システムの演算方法の例である。
【図7】本発明の2実施例を示すプリンタ制御システムの演算方法の例である。
【図8】本発明の2実施例を示すプリンタ制御システムの演算方法の例である。
【図9】本発明の2実施例を示すプリンタ制御システムの演算方法の例である。
【図10】本発明の2実施例を示すプリンタ制御システムの演算回路の構成を示すブロック図である。
【符号の説明】
【0048】
1 CPU
2 RAM
3 ROM
4 システムバス
12 CPU
13 ROM
14 外部メモリ
15 システムバス
16 印刷部I/F
17 印刷部
18 入力部
19 RAM
3000 ホストコンピュータ
1500 プリンタ
1501 操作パネル
1502 スキャナユニット
1506 感光ドラム
1507 黒トナーカートリッジ
1508 3色トナーカートリッジユニット
1509 中間転写体
1510 ペーパーカセット
1511 給紙ローラー
1512 搬送ローラー
1513 定着器ユニット
1000 プリンタ制御ユニット

【特許請求の範囲】
【請求項1】
ホストコンピュータ等の上位装置より制御コード、文字データ等からなる文章データやイメージデータを入力し印刷する印刷装置又は、画像処理装置等の除算回路を備えた装置において、2Mビット又はそれ以下の数値を(2M+1)で割算する場合、比較回路・及び足算回路により一度の演算処理で除算を実行できる事を特徴とする演算回路を備えた装置(Mは1以上)。
【請求項2】
上記で記述した比較回路・足算回路は以下の計算方法で求められる事を特徴とする演算回路を備えた装置。
比較方法:
(1)上位・下位が等しい場合 商:上位or下位 余:なし
(2)上位が大きい場合 商:上位−1 余:1&(0がMビット)
+下位−商
(3)下位が大きい場合 商:上位 余:下位−上位
【請求項3】
上記印刷装置に於いて、2Mビットより大きい数値であるNビットのデータを(2M+1)で割算する場合は、請求項1で示した比較回路・足算回路を組み合わせる事により、(N−2M)/M回で割る事ができる装置(余り繰り上げ)。
比較方法:
(1)割られる数の上位(M+1)ビット目が1の場合 商:1がMビット
余:下位+1
(2)上位・下位が等しい場合 商:上位 余:なし
(3)下位が大きい場合 商:上位 余:下位−上位
(4)上位が大きい場合 商:上位−1 余:1&(0がMビット)
下位−上位

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−113792(P2006−113792A)
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願番号】特願2004−300030(P2004−300030)
【出願日】平成16年10月14日(2004.10.14)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】