(57)【特許請求の範囲】
【請求項１】
ラインバッファを制御してスムージング用マッチングマトリックスパターンを生成するラインバッファ制御装置において、
前記ラインバッファは、ｎライン×ｍドットのスムージング用マッチングマトリックスパターンのライン数ｎから「１」を引いたｎ−１ライン分のラインバッファであり、
ビットマップデータを蓄積するビットマップメモリと、ｎビットのレジスタと、前記スムージング用マッチングマトリックスパターンを生成する際に、前記ラインバッファに１ビット単位のリード／ライトを行なう手段とを設け、
前記リード／ライトを行う手段は、前記ビットマップメモリから１ライン目の１番目の１ビットデータを読み込んで前記レジスタの０ビット目に格納すると同時に、前記ラインバッファの最初のアドレスのｎ−１ビットデータを読み込んで前記レジスタのｎ−１ビット目から１ビット目に格納し、その後前記レジスタのｎ−２ビット目から０ビット目のｎ−１ビットデータを前記ラインバッファの最初のアドレスに書き込み、以後ビットマップメモリから１ライン目の２番目の１ビットデータを読み込む時には前記ラインバッファの次のアドレスに、３番目の１ビットデータを読み込む時には前記ラインバッファの更に次のアドレスにと順次アクセスしていき、１ライン分のアクセスが終わった後、以上の制御を前記ビットマップメモリの２ライン目からｎライン目までのデータに対しても繰り返し行う手段であることを特徴とするラインバッファ制御装置。
【請求項２】
ラインバッファを制御してスムージング用マッチングマトリックスパターンを生成するラインバッファ制御装置において、
前記ラインバッファは、ｎライン×ｍドットのスムージング用マッチングマトリックスパターンのライン数ｎから「１」を引いたｎ−１ライン×ａ（ｎ−１）ビット分のラインバッファであり、
ビットマップデータを蓄積するビットマップメモリと、ａ×ｎビットのレジスタと、前記スムージング用マッチングマトリックスパターンを生成する際に、前記ラインバッファにａビット単位のリード／ライトを行なう手段とを設け、
前記リード／ライトを行う手段は、前記ビットマップメモリから１ライン目の１番目からａ番目までのａビットデータを読み込んで前記レジスタのａ−１ビット目から０ビット目に格納すると同時に、前記ラインバッファの最初のアドレスのａ×（ｎ−１）ビットデータを読み込んで前記レジスタのａ×ｎ−１ビット目からａビット目に格納し、その後前記レジスタのａ×（ｎ−１）−１ビット目から０ビット目のａ×（ｎ−１）ビットデータを前記ラインバッファの最初のアドレスに書き込み、以後ビットマップメモリから１ライン目のａ＋１番目からａ×２番目までのａビットデータを読み込む時には前記ラインバッファの次のアドレスに、ａ×２＋１番目からａ×３番目までのａビットデータを読み込む時には前記ラインバッファの更に次のアドレスにと順次アクセスしていき、１ライン分のアクセスが終わった後、以上の制御を前記ビットマップメモリの２ライン目からｎライン目までのデータに対しても繰り返し行う手段であることを特徴とするラインバッファ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ラインバッファ制御装置に関する。
【０００２】
【従来の技術】
現状のプリンタ等の画像形成装置では、印刷文字の平滑化を行なうスムージング制御は一般化している。
そして、そのスムージング処理を行なうために、ラインバッファ制御装置がラインバッファを制御することにより、例えば９ライン×１３ドットのマッチングマトリックスパターンを生成し、マッチングデータとの比較を行なっている。
【０００３】
【発明が解決しようとする課題】
ところで、従来のラインバッファ制御装置において、スムージング用マッチングマトリックスパターンを生成するためには、例えば９ライン×１３ドットであれば、９ライン分ものラインバッファが必要であり、その分のコストアップが否めなかった。
【０００４】
この発明は上記の点に鑑みてなされたものであり、ラインバッファ制御装置のコストを低減できるようにすることを目的とする。
【０００５】
【課題を解決するための手段】
この発明は上記の目的を達成するため、ラインバッファを制御してスムージング用マッチングマトリックスパターンを生成するラインバッファ制御装置において、ラインバッファを、ｎライン×ｍドットのスムージング用マッチングマトリックスパターンのライン数ｎから「１」を引いたｎ−１ライン分のラインバッファとし、ビットマップデータを蓄積するビットマップメモリと、ｎビットのレジスタと、スムージング用マッチングマトリックスパターンを生成する際に、ラインバッファに１ビット単位のリード／ライトを行なう手段とを設け、そのリード／ライトを行う手段を、ビットマップメモリから１ライン目の１番目の１ビットデータを読み込んでレジスタの０ビット目に格納すると同時に、ラインバッファの最初のアドレスのｎ−１ビットデータを読み込んでレジスタのｎ−１ビット目から１ビット目に格納し、その後レジスタのｎ−２ビット目から０ビット目のｎ−１ビットデータをラインバッファの最初のアドレスに書き込み、以後ビットマップメモリから１ライン目の２番目の１ビットデータを読み込む時にはラインバッファの次のアドレスに、３番目の１ビットデータを読み込む時にはラインバッファの更に次のアドレスにと順次アクセスしていき、１ライン分のアクセスが終わった後、以上の制御をビットマップメモリの２ライン目からｎライン目までのデータに対しても繰り返し行う手段としたものである。
【０００６】
あるいは、ラインバッファを、ｎライン×ｍドットのスムージング用マッチングマトリックスパターンのライン数ｎから「１」を引いたｎ−１ライン×ａ（ｎ−１）ビット分のラインバッファとし、ビットマップデータを蓄積するビットマップメモリと、ａ×ｎビットのレジスタと、スムージング用マッチングマトリックスパターンを生成する際に、ラインバッファにａビット単位のリード／ライトを行なう手段とを設け、そのリード／ライトを行う手段を、ビットマップメモリから１ライン目の１番目からａ番目までのａビットデータを読み込んでレジスタのａ−１ビット目から０ビット目に格納すると同時に、ラインバッファの最初のアドレスのａ×（ｎ−１）ビットデータを読み込んでレジスタのａ×ｎ−１ビット目からａビット目に格納し、その後レジスタのａ×（ｎ−１）−１ビット目から０ビット目のａ×（ｎ−１）ビットデータをラインバッファの最初のアドレスに書き込み、以後ビットマップメモリから１ライン目のａ＋１番目からａ×２番目までのａビットデータを読み込む時にはラインバッファの次のアドレスに、ａ×２＋１番目からａ×３番目までのａビットデータを読み込む時にはラインバッファの更に次のアドレスにと順次アクセスしていき、１ライン分のアクセスが終わった後、以上の制御をビットマップメモリの２ライン目からｎライン目までのデータに対しても繰り返し行う手段とするようにしてもよい。
【０００７】
【発明の実施の形態】
以下、この発明の実施形態を図面を参照して具体的に説明する。
図１は、請求項１の発明を実施したラインバッファ制御装置の構成例を示すブロック図である。
【０００８】
このラインバッファ制御装置は、ｎライン×ｍドットのマッチングマトリックスパターンのライン数ｎから「１」を引いた（ｎ−１）ライン分のラインバッファ１と、ビットマップデータを蓄積するビットマップメモリ２と、９ビットのレジスタ３とを備えている。
図１３は、マッチングマトリックスの一例を示す図である。
【０００９】
このマッチングマトリックスは、９ライン×１３ドットのスムージング用マッチングマトリックスパターンである。このなかで、Ｌ１（１）と記載されているものは１ライン目の１番目のデータ（ドット）ということであり、Ｌ２（３）と記載されているものは２ライン目の３番目のデータということである。
なお、この実施形態では、９ラインのマッチングマトリックスを生成するため、図１のラインバッファ１を８（９−１）ラインのラインバッファとする。
【００１０】
以下、図１に示したラインバッファ制御装置の動作について、図２〜図６をも参照して具体的に説明する。
まず、ビットマップメモリ２から１ライン目の１番目のデータを読み込み、それを９ビットレジスタ３のＬＳＢ（０ビット目）に格納すると同時に、ラインバッファ１のアドレス「０」のリードを行ない、このリードデータ（８ビットデータ）を９ビットレジスタ３の８ビット目から１ビット目までに格納する。
【００１１】
その後、９ビットレジスタ３の７ビット目から０ビット目までのデータをラインバッファ１のアドレス「０」にライトする。これは、１ライン目の１番目のデータであり、順次ビットマップメモリ２から１ライン目の２番目のデータを読み込む時はラインバッファ１のアドレス「１」に、３番目のデータを読み込む時はアドレス「２」にアクセスすることにより、ラインバッファ１は図３に示すようなデータ格納となる。
【００１２】
そして、１ライン分のビット数の全てのアクセスが終わったら、次に２ライン目の制御を上述と同様に行なう。
ラインバッファ１のアドレス「０」の８ビットデータをリードした時は、その０ビット目（ＬＳＢ）に１ライン目の１番目のデータが入っており、その８ビットデータを９ビットレジスタ３の８ビット目から１ビット目までに格納する。よって、９ビットレジスタ３の１ビット目のデータは、１ライン目の１番目のデータとなる。同時に、ビットマップメモリ２から２ライン目の１番目のデータを読み込み、９ビットレジスタ３の０ビット目に格納する。
【００１３】
そして、この９ビットレジスタ３の下位８ビット分（７ビット目から０ビット目）のデータをラインバッファ１のアドレス「０」にライトする。これは、１，２ライン目の１番目のデータであり、順次ビットマップメモリ２から２ライン目の２番目のデータを読み込む時はラインバッファ１のアドレス「１」に、３番目のデータを読み込む時はアドレス「２」にアクセスすることにより、ラインバッファ１は図４に示すようなデータ格納となる。
【００１４】
以下、このような手順で８ライン目まで制御を行なうと、ラインバッファ１は図５に示すようなデータ格納となる。
その後、９ライン目では、図２に示すように、９ビットレジスタ３の８ビット目から１ビット目にはラインバッファ１の１ライン目から８ライン目までのデータが、０ビット目にはビットマップメモリ２からの９ライン目のデータが格納されるため、９ライン分のデータが揃うことになる。
【００１５】
この９ライン分のデータを図示しないシフトレジスタに入れることにより、図１３のようなマッチングマトリックスを生成することができる。
以後、上述と同様にしてｎラインまでアクセスを行なえば、全てのデータを生成したことになり、ラインバッファ１は図６に示すようなデータ格納となる。
【００１６】
このように、この実施形態のラインバッファ制御装置では、スムージング用マッチングマトリックスパターンを生成する際に、ラインバッファ１に１ビット単位のアクセス（リード／ライト）を行なうため、ｎライン×ｍドット（ここでは９ライン×１３ドットとしたが、これに限らない）のマッチングマトリックスを生成する場合、ラインバッファ１はｎライン分のものは必要なく、（ｎ−１）ライン分のもので済む。したがって、ラインバッファ制御装置のコスト低減を実現することができる。
【００１７】
図７は、請求項２の発明を実施したラインバッファ制御装置の構成例を示すブロック図である。
このラインバッファ制御装置は、ｎライン×ｍドットのマッチングマトリックスパターンのライン数ｎから「１」を引いた（ｎ−１）ライン×３２ビットのラインバッファ１１と、ビットマップデータを蓄積するビットマップメモリ１２と、３６ビットのレジスタ１３と、９ビットのレジスタ１４とを備えている。なお、この実施形態でも、図１３に示したような９ラインのマッチングマトリックスを生成するため、ラインバッファ１１を８（９−１）ライン分のラインバッファとする。
【００１８】
以下、図７に示したラインバッファ制御装置の動作について、図８〜図１２をも参照して具体的に説明する。なお、図８〜図１２において、Ｌ１（１：４）と記載されているものは１ライン目の１番目から４番目のデータ、Ｌ３（５：８）と記載されているものは３ライン目の５番目から８番目のデータということである。
【００１９】
まず、ビットマップメモリ１２から１ライン目の１番目から４番目のデータ（４ビットデータ）を読み込み、それを３６ビットレジスタ１３の３ビット目から０ビット目までに格納すると同時に、ラインバッファ１１のアドレス「０」のリードを行ない、このリードデータ（３２ビットデータ）を３６ビットレジスタ１３の３５ビット目から４ビット目までに格納する。
【００２０】
その後、３６ビットレジスタ１３の３１ビット目から０ビット目までのデータをラインバッファ１１のアドレス「０」にライトする。これは、１ライン目の１番目から４番目までのデータであり、順次ビットマップメモリ２から１ライン目の５番目から８番目までのデータを読み込む時はラインバッファ１のアドレス「４ｈ」に、９番目から１２番目までのデータを読み込む時はアドレス「８ｈ」にアクセスすることにより、ラインバッファ１１に図９に示すようなデータ格納となる。
【００２１】
１ライン分のビット数の全てのアクセスが終わったら、次に２ライン目の制御を上述と同様に行なう。
ラインバッファ１１のアドレス「０」の３２ビットデータをリードした時は、その３ビット目から０ビット目（ＬＳＢ）までに１ライン目の１番目から４番目までのデータが入っており、その３２ビットデータを３６ビットレジスタ１３の３５ビット目から４ビット目までに格納する。よって、３６ビットレジスタ１３の７ビット目から４ビット目までのデータは、１ライン目の１番目から４番目までのデータとなる。同時に、ビットマップメモリ１２から２ライン目の１番目から４番目からのデータを読み込み、３６ビットレジスタ１３の３ビット目から０ビット目までに格納する。
【００２２】
そして、この３６ビットレジスタ１３の下位３２ビット分（３１ビット目から０ビット目）のデータをラインバッファ１１のアドレス「０」にライトする。これは、１，２ライン目の１番目から４番目までのデータであり、順次ビットマップメモリ２から２ライン目の５番目から８番目までのデータを読み込む時はラインバッファ１のアドレス「４ｈ」に、９番目から１２番目までのデータを読み込む時はアドレス「８ｈ」にアクセスすることにより、ラインバッファ１１は図１０に示すようなデータ格納となる。
【００２３】
以下、このような手順で８ライン目まで制御を行なうと、ラインバッファ１１は図１１に示すようなデータ格納となる。
その後、９ライン目では、図８に示すように、３６ビットレジスタ１３の３５ビット目から４ビット目にはラインバッファ１１の１ライン目から８ライン目までのデータが、３ビット目から０ビット目にはビットマップメモリ１２からの９ライン目のデータが格納される。
【００２４】
したがって、この３６ビットレジスタ１３の３５ビット目，３１ビット目，２７ビット目，２３ビット目，１９ビット目，１５ビット目，１１ビット目，７ビット目，３ビット目のデータを取り出し、９ビットレジスタ１４に格納することにより、９ライン分のデータが揃うことになる。
【００２５】
この９ライン分のデータを図示しないシフトレジスタに入れることにより、図１３のようなマッチングマトリックスを生成することができる。
以後、上述と同様にしてｎラインまでアクセスを行なえば、全てのデータを生成したことになり、ラインバッファ１１は図１２に示すようなデータ格納となる。
【００２６】
このように、この実施形態のラインバッファ制御装置では、スムージング用マッチングマトリックスパターンを生成する際に、ラインバッファ１１に複数ビット単位のアクセスを行なうため、ｎライン×ｍドットのマッチングマトリックスを生成する場合、ラインバッファ１１はｎライン分のものは必要なく、（ｎ−１）ライン分のもので済む。したがって、ラインバッファ制御装置のコスト低減を実現することができる。また、ラインバッファ１１へのアクセスを１ビット単位でなく複数ビット（ここでは４ビットとしたが、これに限らない）単位としたので、その分だけ処理スピードが上がり、処理時間が短縮する。
【００２７】
【発明の効果】
以上説明してきたように、請求項１，２の発明のラインバッファ制御装置によれば、（ｎ−１）ライン分のラインバッファを制御してｎライン×ｍドットのマッチングマトリックスを生成することができるため、コスト低減を実現することができる。
さらに、請求項２の発明のラインバッファ制御装置によれば、処理スピードを上げ、処理時間を短縮することができる。
【図面の簡単な説明】
【図１】請求項１の発明を実施したラインバッファ制御装置の構成例を示すブロック図である。
【図２】図１に示したラインバッファ制御装置の作用説明に供する説明図である。
【図３】図１のラインバッファ１における１ライン目の書き込みを説明するための図である。
【図４】同じく２ライン目の書き込みを説明するための図である。
【図５】同じく８ライン目の書き込みを説明するための図である。
【図６】同じくｎライン目の書き込みを説明するための図である。
【図７】請求項２の発明を実施したラインバッファ制御装置の構成例を示すブロック図である。
【図８】図７に示したラインバッファ制御装置の作用説明に供する説明図である。
【図９】図７のラインバッファ１１における１ライン目の書き込みを説明するための図である。
【図１０】同じく２ライン目の書き込みを説明するための図である。
【図１１】同じく８ライン目の書き込みを説明するための図である。
【図１２】同じくｎライン目の書き込みを説明するための図である。
【図１３】図１３は、マッチングマトリックスの一例を示す図である。
【符号の説明】
１，１１：ラインバッファ
２，１２：ビットマップメモリ
３，１３，１４：レジスタ
【図１】
0003782882.tif 000002
【図７】
0003782882.tif 000003
【図２】
0003782882.tif 000004
【図３】
0003782882.tif 000005
【図４】
0003782882.tif 000006
【図５】
0003782882.tif 000007
【図６】
0003782882.tif 000008
【図８】
0003782882.tif 000009
【図９】
0003782882.tif 000010
【図１０】
0003782882.tif 000011
【図１１】
0003782882.tif 000012
【図１２】
0003782882.tif 000013
【図１３】
0003782882.tif 000014