JP2005161822A - データ転送装置、データ転送方法、及びプリンタ - Google Patents
データ転送装置、データ転送方法、及びプリンタ Download PDFInfo
- Publication number
- JP2005161822A JP2005161822A JP2003407813A JP2003407813A JP2005161822A JP 2005161822 A JP2005161822 A JP 2005161822A JP 2003407813 A JP2003407813 A JP 2003407813A JP 2003407813 A JP2003407813 A JP 2003407813A JP 2005161822 A JP2005161822 A JP 2005161822A
- Authority
- JP
- Japan
- Prior art keywords
- data
- width
- memory
- transferred
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】バスのビット幅が異なるメモリ間でデータ転送を行う際に、処理時間を短縮することのできるデータ転送装置等を提供する。
【解決手段】第一データ幅の転送元メモリ18に納められた第一幅データを、第一デー
タ幅より大きい第二データ幅の転送先メモリ20に転送するデータ転送装置17が、前記転送元メモリ18から順次送られる前記第一幅データを順番に第二データ幅に格納し、前記転送先メモリ20に転送する前に第二データ幅の第二幅データとするレジスタ25と、前記レジスタ25における第二幅データが、前記転送先メモリ20に転送すべき第一幅データで占められていない場合に、当該第二幅データを前記転送先メモリ20に転送する前に、当該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れるフィルタ26とを有する。
【選択図】 図2
【解決手段】第一データ幅の転送元メモリ18に納められた第一幅データを、第一デー
タ幅より大きい第二データ幅の転送先メモリ20に転送するデータ転送装置17が、前記転送元メモリ18から順次送られる前記第一幅データを順番に第二データ幅に格納し、前記転送先メモリ20に転送する前に第二データ幅の第二幅データとするレジスタ25と、前記レジスタ25における第二幅データが、前記転送先メモリ20に転送すべき第一幅データで占められていない場合に、当該第二幅データを前記転送先メモリ20に転送する前に、当該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れるフィルタ26とを有する。
【選択図】 図2
Description
本発明は、バスのビット幅が異なるメモリ間におけるデータ転送の技術に関し、特に、転送にかかる処理時間を短縮することのできる技術に関する。
デジタルデータを扱う様々な装置において、バスのビット幅(データ幅)が異なるメモリ間でデータを転送する必要性が生じる場合がある。例えば、インクジェットプリンタの場合には、近年、ノズルの数が多い大ヘッドで高速な印刷を行う傾向にあり、エンジン側の高速化が先行する状況にある。これにより、プリンタのエンジン側と他の部分とでバス幅に隔たりが生じており、取り扱うイメージデータの転送において、データ幅が異なるメモリ間でのデータ転送が必要になっている。
このようなデータ幅の異なるメモリ間でのデータ転送については、従来から幾つかの技術が提案されている(例えば、下記特許文献1)。かかるデータ転送において、一つの課題は、データ幅の小さいメモリからデータ幅の大きいメモリへデータ転送をする際に、転送するデータの量によっては、転送データが転送先のメモリ(データ幅の大きいメモリ)においてデータ幅一杯にメモリを埋めない場合があることである。例えば、32ビット幅のメモリから128ビット幅のメモリへ、5つの32ビットデータを転送する場合には、転送先の128ビット幅のメモリにおいて、1列目の領域は4つの32ビットデータで128ビット幅一杯に埋められるが、2列目の領域は5つ目の32ビットデータでその1/4の領域が埋められるだけである。
このような状況が発生すると、転送されたデータで埋められなかった残りの領域には、通常、前のデータが残っているため、その後の処理においてその部分も送信されてしまい問題が生じる。従って、かかる問題が発生するのを避けるために、従来は、データ転送前にデータ転送先のメモリを全てクリアするという処理を行っていた。これにより、上述のように、転送データによってデータ幅一杯に埋められない場合にも、前のデータが残っていることがないので上記問題を避けることができた。
特開2003−196041号公報
しかしながら、データ転送先のメモリを全てクリアするという従来の方法では、転送先メモリの全てにヌル(null)データを書き込む処理が必要になり、かかる処理に時間がかかるという課題があった。プリンタにおいては、このことが処理速度向上の妨げとなっていた。
そこで、本発明の目的は、バスのビット幅が異なるメモリ間でデータ転送を行う際に、処理時間を短縮することのできるデータ転送装置等を提供することである。
上記の目的を達成するために、本発明の一つの側面は、第一データ幅の転送元メモリに
納められた第一幅データを、第一データ幅より大きい第二データ幅の転送先メモリに転送するデータ転送装置が、前記転送元メモリから順次送られる前記第一幅データを順番に第二データ幅に格納し、前記転送先メモリに転送する前に第二データ幅の第二幅データとするレジスタと、前記レジスタにおける第二幅データが、前記転送先メモリに転送すべき第一幅データで占められていない場合に、当該第二幅データを前記転送先メモリに転送する前に、当該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れるフィルタとを有することである。従って、本発明によれば、正しいデータ転送ができると共に、そのためのヌルデータの書き込みも最小限に抑えられるのでデータ転送時間を短縮することができる。
納められた第一幅データを、第一データ幅より大きい第二データ幅の転送先メモリに転送するデータ転送装置が、前記転送元メモリから順次送られる前記第一幅データを順番に第二データ幅に格納し、前記転送先メモリに転送する前に第二データ幅の第二幅データとするレジスタと、前記レジスタにおける第二幅データが、前記転送先メモリに転送すべき第一幅データで占められていない場合に、当該第二幅データを前記転送先メモリに転送する前に、当該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れるフィルタとを有することである。従って、本発明によれば、正しいデータ転送ができると共に、そのためのヌルデータの書き込みも最小限に抑えられるのでデータ転送時間を短縮することができる。
更に、上記の発明において、その好ましい態様は、前記第二幅データが転送すべき第一幅データで占められていないことの判断と、前記第二幅データの転送すべき第一幅データで占められていない部分の判断が、前記第一幅データを前記転送元メモリから転送する回数に基づいて行われることを特徴とする。
上記の目的を達成するために、本発明の別の側面は、第一データ幅の転送元メモリに納められた第一幅データを、第一データ幅より大きい第二データ幅の転送先メモリに転送するデータ転送方法において、前記転送元メモリから順次送られる前記第一幅データを順番に第二データ幅に並べ、前記転送先メモリに転送する前に第二データ幅の第二幅データとし、前記第二幅データが、前記転送先メモリに転送すべき第一幅データで占められていない場合に、当該第二幅データを前記転送先メモリに転送する前に、当該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れることである。
上記の目的を達成するために、本発明の更に別の側面は、第一データ幅の第一メモリに納められた印刷データである第一幅データを、第一データ幅より大きい第二データ幅の第二メモリに転送し、前記第二メモリのデータを印刷エンジンに入力して印刷を行うプリンタが、前記第一メモリから順次送られる前記第一幅データを順番に第二データ幅に格納し、前記第二メモリに転送する前に第二データ幅の第二幅データとするレジスタと、前記レジスタにおける第二幅データが、前記第二メモリに転送すべき第一幅データで占められていない場合に、当該第二幅データを前記第二メモリに転送する前に、当該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れるフィルタとを有することである。これにより、正しいデータ転送を行うための処理時間を短縮することができ、プリンタにおける処理速度の向上に貢献することができる。
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
図1は、本発明を適用したプリンタの実施の形態例に係る構成図である。図1に示すハードウェアI/Fユニット17が本発明のデータ転送装置に相当する部分であり、データ幅の異なる展開メモリ18と2値化データメモリ20との間のデータ転送を司る。本実施の形態例に係るプリンタ1は、当該ハードウェアI/Fユニット17により、上記メモリ間のデータ転送を迅速に行おうとするものである。
プリンタ1は、図1に示すようにホストコンピュータ2と接続され、ホストコンピュータ2から送信される印刷データに基づいて印刷を実行する。図に示すように、プリンタ1は、大きくコントローラユニット3とエンジンユニット4とから構成される。コントローラユニット3には、CPU11、ROM12、RAM13、ホストI/F14、画像処理ユニット15、展開メモリ18、ハーフトーン2値化ユニット19、及び2値化データメモリ20等が備えられている。ホストI/F14は、ホストコンピュータ2から送信された印刷データ等を受信するインターフェースであり、ROM12は、CPU11等で実行される各種制御プログラム等を記憶している部分である。CPU11は、本実施の形態例に係るプリンタ1における各種制御の中心的役割を担う部分である。
また、画像処理ユニット15には、画像データ伸長ユニット16及びハードウェアI/Fユニット17等が備えられている。画像データ伸長ユニット16は、前記ホストI/F14で受信されたJPEG形式等に圧縮された画像データを伸長する部分であり、伸長後の画像データは展開メモリ18に納められる。ハードウェアI/Fユニット17は、前述の通り、本発明の主要部分であり、詳細な構成と機能は後述するが、前記展開メモリ18に納められた画像データを取り出してハーフトーン2値化ユニット19等へ引き渡すなどの処理を司る。
また、展開メモリ18は、上述の通り、伸長(展開)後の画像データを格納するメモリであり、ハードウェアI/Fユニット17が行うデータ転送の転送元となる部分である。そして、当該メモリのデータ幅は、後述する2値化データメモリ20のデータ幅よりも小さく、例えば、32ビットのバス23でハードウェアI/Fユニット17と繋がれている。
ハーフトーン2値化ユニット19は、展開メモリ18から取り出された画像データに対してハーフトーン処理等を実行する部分であり、処理後の2値化されたデータはエンジンユニット4に送られて処理される。また、2値化データメモリ20は、2値化されエンジンユニット4へ送られるデータを格納するメモリであり、ハードウェアI/Fユニット17が行うデータ転送の転送先となる部分である。そして、当該メモリのデータ幅は、前述した展開メモリ18のデータ幅よりも大きく、例えば、128ビットのバス23でハードウェアI/Fユニット17と繋がれている。なお、コントローラユニット3内の各部分は図1に示すようにバス23で繋がれている。
次に、エンジンユニット4は、エンジンコントローラ21とエンジン22を有し、コントローラユニット3から送信された2値化データに基づいて紙などの媒体に印字を行う部分である。
図2は、前記ハードウェアI/Fユニット17の内部構成を模式的に表した図である。図2に示すように、ハードウェアI/Fユニット17は、入力I/F24、レジスタ25、フィルタ26、メモリコントローラ27、テーブル28、及び転送回数レジスタ29等を備えている。入力I/F24は、前記展開メモリ18に納められた32ビットのデータを32ビット幅のバス23aを介して受け取る部分である。レジスタ25は、前記入力I/F24が受信した32ビットのデータを順次受け取り、4つの32ビットデータを128ビットのデータとして格納する部分である。図2に示すように、例えば、展開メモリ18に納められた4つの32ビットデータ(1)〜(4)が、順次入力I/F24に受け取られ、図に示すような状態でレジスタ25に格納される。
次に、フィルタ26は、前記レジスタ25に納められた128ビットのデータを受け取り、必要に応じてフィルタ処理を行い、処理後のデータを2値化データメモリ20へ引き渡す部分である。具体的な処理内容は後述するが、レジスタ25から受け取ったデータの必要な部分のみをヌルデータとする処理を実行する。また、メモリコントローラ27は、フィルタ26での処理後、128ビットのデータを128ビット幅のバス23bを介して2値化データメモリ20へ転送する部分である。
また、テーブル28は、前記フィルタ26での処理に用いられるマスクビットパターンを納めた部分である。納められるマスクビットパターンは、転送先メモリのデータ幅を転送元メモリのデータ幅で割った数の種類のものが用意される。本実施の形態例の場合、即ち、32ビット幅のメモリから128ビット幅のメモリに転送する場合には、4種類のものが用意される。具体的なマスクビットパターンの内容については後述する。転送回数レジスタ29は、展開メモリ18からハードウェアI/Fユニット17へのデータの転送回数等を納めるレジスタである。なお、前記メモリコントローラ27によって転送された128ビットデータは、2値化データメモリ20の所定領域に格納され(例えば、図2における2値化データメモリ20内の(1)〜(4))、その後、所定タイミングでエンジンユニット4へ引き渡される。
図3は、展開メモリ18から2値化データメモリ20へのデータ転送処理の手順を例示したフローチャートである。また、図4は、当該データ転送処理の際の転送データ等を時系列に示した図である。以下、図3、4等に基づいて、本実施の形態例におけるデータ転送装置であるハードウェアI/Fユニット17の機能を説明する。
まず、転送開始時に、今回展開メモリ18から転送するデータの量、即ち、32ビットデータを展開メモリ18から何回送るかをCPU11が把握し、その転送回数を転送回数レジスタ29に設定する(図3のステップS1)。ここで、当該転送回数を2進法の32桁で表現し、CNT[31:0]と表記することとする。かかる設定が終了すると、CPU11から転送命令が発せられ(図3のステップS2)、転送が開始される(図4におけるイ)。
ここでハードウェアI/Fユニット17は、前記転送回数レジスタ29に設定された転送回数CNT[31:0]の下2桁を除いた部分、即ち、CNT[31:2]を変数CNTの値として設定する(図3のステップS3、図4のロ)。このCNT[31:2]という値は、展開メモリ18からの転送回数CNT[31:0]を4で割ったときの商を表している。換言すれば、今回転送するデータについての、ハードウェアI/Fユニット17から2値化データメモリ20への128ビットデータの転送回数よりも1少ない数を意味している。なお、CNT[31:2]という値を用いたのは、本実施の形態例においては、転送先のデータ幅が転送元のデータ幅の4倍になっているからであり、当該データ幅の倍数が異なれば、上記変数CNTの値も異なる値に設定する。
次に、ハードウェアI/Fユニット17は、上記CNTの値が0であるか否かをチェックし(図3のステップS4)、0でなければ(図3のステップS4のNo)、展開メモリ18から32ビットのデータを4回受信し、受信した4つの32ビットデータを順次レジスタ25に格納する(例えば、図4のハ)。これにより、図2に例示したように、レジスタ25内で128ビットデータが生成され、その後、レジスタ25から当該128ビットデータがフィルタ26に引き渡される。しかし、この場合には、フィルタ26では処理を行わずに、受け取った128ビットデータをそのまま2値化データメモリ20へ転送する(図3のステップS5、図4のニ)。その後、ハードウェアI/Fユニット17は、前記CNTの値を1つ減らす(図3のステップS6、図4のホ)。そして、再度、図3のステップS4に戻り、CNTの値が0になるまで、同様の処理(図3のステップS4〜S6)を繰り返し実行する。
一方、図3のステップS4において、CNTの値が0であれば(図3のステップS4のYes)、ハードウェアI/Fユニット17は、今回転送するデータのうち展開メモリ18に残されているデータを受信し、順次レジスタ25に格納する(図3のステップS7、図4のへ)。なお、この場合に、展開メモリ18にデータが残っていない場合もあるが、この場合には前記データ転送及び格納は行わない。このCNTの値が0になった場合とは、当該データ転送処理において、ハードウェアI/Fユニット17から2値化データメモリ20への最後の転送の場合である。そして、この場合には、前記図3のステップS7における32ビットデータの受信とレジスタ25への格納は、0回〜3回のいずれかとなる。従って、今回の展開メモリ18からの転送により、最大96ビットのデータ(32ビットデータが3つ)しかレジスタ25に書き込まれないので、レジスタ25で生成される128ビットデータには、少なくとも32ビット分の古いデータ(前回転送時のデータ)が含まれることとなる。換言すれば、ここで生成される128ビットデータは、転送すべきデータだけで占められておらず、転送すべきでないデータも含むこととなる。その後、この128ビットデータがフィルタ26に引き渡される。
次に、ハードウェアI/Fユニット17は、前記転送回数レジスタ29に設定された転送回数CNT[31:0]の下2桁の部分CNT[1:0]を抽出する。このCNT[1:0]は、転送回数CNT[31:0]を4で割った際の余りを表しており、上記ステップS7において、今回展開メモリ18から転送されレジスタ25に書き込まれた32ビットデータの数に相当する。従って、CNT[1:0]は、0〜3の値(2進法では“00”〜“11”の値)をとることになる。図4に示す例では、へ部に示すように、CNT[1:0]は2進法で“10”となる。
ハードウェアI/Fユニット17は、抽出したCNT[1:0]値に基づいて、テーブル28に納められたマスクビットパターンの一つを選択しそれをフィルタ26に設定する(図3のステップS8)。図5は、テーブル28に納められるマスクビットパターンを例示した図である。前述の通り、本実施の形態例においては4種類のマスクビットパターンが用意されており、上記CNT[1:0]の各値に対応している。このマスクビットパターンはF[127:0]で表記され、128の“0”あるいは“1”の値で構成される。図5では、このマスクビットパターンF[127:0]を16進法で表現している。例えば、上述した図4の例では、CNT[1:0]が“10”であるので、テーブル28から図5のトに示すマスクビットパターンが選択されて設定される。
図6は、フィルタ26の構成を例示した図である。図6に示す例では、フィルタ26は図に示すようなフィルタ回路261を有しており、この回路を用いてフィルタ処理を実行する。フィルタ回路261は、128個の論理積をとる演算回路が用意され、前記マスクビットパターンの設定とは、各回路の片側の入力値(例えば、図6のチ)として、選択されたマスクビットパターンF[127:0]の各値(フィルタ値)を設定することである。
次に、ハードウェアI/Fユニット17は、前記レジスタ25に生成された128ビットデータに対してフィルタ処理を実行する(図3のステップS9)。具体的には、当該128ビットデータのうちの、前述した古いデータ(前回転送時のデータ)が残っている部分、即ち、転送すべきデータでない部分をヌル(データ)とする処理を実施する。図6に基づいてより詳細に説明すると、フィルタ26では、前記フィルタ回路261がレジスタ25に生成された上記128ビットデータを入力値DIN[127:0]とし、その128個の各値がそれぞれ前述した各演算回路の片側(例えば、図6のリ)に入力される。各演算回路では、前述した、もう一方の入力値であるマスクビットパターンF[127:0]の各値(フィルタ値)と当該入力値DIN[127:0]の各値との間で論理積がとられ、その結果の値が出力値DOUT[127:0]として出力される。
ここで、前記マスクビットパターンF[127:0]は、前述の通り、CNT[1:0]により、即ち、今回展開メモリ18から転送されレジスタ25に書き込まれた32ビットデータの数により決定されており、図5に示した例からもわかるように、各マスクビットパターンの、今回レジスタ25に書き込まれた32ビットデータに対応する部分は“1”のフィルタ値となっており、一方、古いデータが残っている部分に対応する部分は“0”のフィルタ値となっている。例えば、CNT[1:0]が“10”の場合には、2つの32ビットデータが新しくレジスタ25に書き込まれ、残りの64ビット分の領域には古いデータが残っていることとなるが、この場合に選択されるマスクビットパターンF[127:0]は、図5のトに示されるように、前半の64のフィルタ値が“1”を示しており、後半の64のフィルタ値が“0”を示している。
従って、前述したようなフィルタ回路261における論理積をとる演算が行われると、今回展開メモリ18から転送されレジスタ25に書き込まれたデータはそのまま出力され、残っていた古いデータは“0”(ヌル)として出力されることになる。よって、前述したように、当該フィルタ処理により、レジスタ25の128ビットデータのうち古いデータ(前回転送時のデータ)が残っている部分にヌル(データ)を書き込むという処理が実行されることになる。換言すれば、128ビットデータのうち転送すべきデータでない部分にヌル(データ)が書き込まれる。
このようにフィルタ回路261から出力され、フィルタ26での処理を終えた128ビットデータDOUT[127:0]は、メモリコントローラ27により2値化データメモリ20へ転送される(図3のステップS10、図4のヌ)。
以上の処理により、展開メモリ18から2値化データメモリ20へのデータ転送処理が終了し、今回転送しようとしたデータの全てが展開メモリ18から2値化データメモリ20に移されたことになる。この転送の結果、2値化データメモリ20には、今回転送された32ビットデータが順次4つずつ128ビット幅で収められて128ビットデータを形成し(例えば、図2のル)、最後に形成された128ビットデータにおいては、今回転送された32ビットデータでない部分がヌルデータとなっている。このように、転送元のデータが転送先においてもそのまま再現されることになる。転送され128ビットとなった2値化データメモリ20のデータは、その後、順次エンジンユニット4に送られるが、当該データには古いデータを含んでしまっていることもなく、問題を起すことなくその後の処理が実行される。
図7は、本実施の形態例におけるデータ転送処理の一例を説明するための図である。図7に示す例は、展開メモリ18に納められた5つの32ビットデータ(図に示す(1)〜(5))を2値化データメモリ20に転送する場合である。図7の(A)及び(B)は、それぞれ、ハードウェアI/Fユニット17から2値化データメモリ20への1回目の転送と2回目の転送を示している。
まず、最初の段階では、前記CNT[31:0]が10進法では5回でありCNT[31:2]が10進法では“1”となるのでCNT値が“0”ではなく、図7の(A)に示されるように、32ビットデータ(1)〜(4)が展開メモリ18から転送され、それらが順次レジスタ25に書き込まれる。その後、128ビットデータとなった(1)〜(4)は、フィルタ処理されることなくそのまま出力され、2値化データメモリ20へ転送される。即ち、フィルタ回路261では処理を施されずに元のままの(1)〜(4)が、図7の(A)に示すように、2値化データメモリ20に格納される。
次に、CNTの値が1減少するので、CNT=0となり、展開メモリ18に残った32ビットデータ(5)がレジスタ25に転送されて書き込まれる。その結果、図7の(B)に示すように、レジスタ25には、今回転送された(5)と前回転送されて残っている(2)〜(4)による128ビットデータが生成される。その後、この例のCNT[1:0]は“01”であるので、それに対応するマスクビットパターン(図5のヲ)がフィルタ回路261に設定され、上記生成された128ビットデータに対して前述のフィルタ処理が行われる。フィルタ処理により、(5)以外の部分にはヌルが書き込まれる処理がなされるので、当該処理の結果、図7の(B)に示すように、32ビットの(5)と96ビットのヌルデータからなる128ビットデータが出力される。出力された当該データは、2値化データメモリ20に転送されて格納される。以上の処理で、本例におけるデータ転送処理は終了し、転送結果は、図7の(B)における2値化データメモリ20に示すような状態となる。
以上説明したように、本実施の形態例に係るプリンタ1においては、転送元よりデータ幅の大きい転送先にデータを転送する際に、転送先のメモリ(2値化データメモリ20)を予め全てクリアする処理、即ち、転送先のメモリ全てにヌルデータを書き込む処理を行わずに、転送先メモリの一部のみをヌルデータとすればよい。より具体的には、最大で、転送先のデータ幅の1列に相当する領域(本実施の形態例においては、128ビットのデータを納める領域)についてヌルデータとすればよい。従って、転送先のメモリを全てクリアする従来法よりも大幅にデータ転送処理時間を短縮することができる。これにより、プリンタ1における全体の処理時間向上に貢献することができる。
なお、前述した実施の形態例においては、転送元から転送しようとするデータの数が、転送先のデータ幅(例えば、128ビット)を転送元のデータ幅(例えば、32ビット)で割った数(例えば、4)の倍数(例えば、8)である場合に、転送先のデータ幅1列分のヌルデータを付加することになるが、かかる場合に、全くヌルデータを付加しないようにしてもよい。具体的には、この場合にはCNT[1:0]が“00”となるので、図3に示した処理フローにおいて、CNT=0となった時点(ステップS4のYes)で、CNT[1:0]値をチェックし、その値が“00”であればその時点で転送処理を終了し、それ以外の値であれば、ステップS7に処理を移行するようにする。これにより、かかるCNT[1:0]が“00”の場合、換言すれば、転送するデータを転送先のデータ幅にした際に余計な領域が発生しない場合には全くヌルデータが付加されずに、CNT[1:0]が“00”以外の場合、換言すれば、転送するデータを転送先のデータ幅にした際に余計な領域が発生する場合にはその余計な領域にヌルデータが付加されることになる。従って、このような処理を行うことにより、更にヌルデータを書き込む処理が減少し、データ転送処理時間を更に短縮することが可能となる。
また、本実施の形態例では、プリンタにおけるデータ転送処理として説明したが、本発明に係るデータ転送装置及びデータ転送方法は、プリンタ以外の装置にも適用することが可能である。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
1 プリンタ、 2 ホストコンピュータ、 3 コントローラユニット、 4 エンジンユニット、 11 CPU、 12 ROM、 13 RAM、 14 ホストI/F、 15 画像処理ユニット、 16 画像データ伸長ユニット、 17 ハードウェアI/Fユニット、 18 展開メモリ、 19 ハーフトーン2値化ユニット、 20 2値化データメモリ、 21 エンジンコントローラ、 22 エンジン、 23 バス、 24 入力I/F、 25 レジスタ、 26 フィルタ、 27 メモリコントローラ、 28 テーブル、 29 転送回数レジスタ、 261 フィルタ回路
Claims (4)
- 第一データ幅の転送元メモリに納められた第一幅データを、第一データ幅より大きい第二データ幅の転送先メモリに転送するデータ転送装置であって、
前記転送元メモリから順次送られる前記第一幅データを順番に第二データ幅に格納し、前記転送先メモリに転送する前に第二データ幅の第二幅データとするレジスタと、
前記レジスタにおける第二幅データが、前記転送先メモリに転送すべき第一幅データ で占められていない場合に、当該第二幅データを前記転送先メモリに転送する前に、当 該第二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを 入れるフィルタとを有する
ことを特徴とするデータ転送装置。 - 請求項1において、
前記第二幅データが転送すべき第一幅データで占められていないことの判断と、前記 第二幅データの転送すべき第一幅データで占められていない部分の判断が、前記第一幅 データを前記転送元メモリから転送する回数に基づいて行われる
ことを特徴とするデータ転送装置。 - 第一データ幅の転送元メモリに納められた第一幅データを、第一データ幅より大きい第二データ幅の転送先メモリに転送するデータ転送方法であって、
前記転送元メモリから順次送られる前記第一幅データを順番に第二データ幅に並べ、 前記転送先メモリに転送する前に第二データ幅の第二幅データとし、
前記第二幅データが、前記転送先メモリに転送すべき第一幅データで占められていな い場合に、当該第二幅データを前記転送先メモリに転送する前に、当該第二幅データの 前記転送すべき第一幅データで占められていない部分にヌルデータを入れる
ことを特徴とするデータ転送方法。 - 第一データ幅の第一メモリに納められた印刷データである第一幅データを、第一データ幅より大きい第二データ幅の第二メモリに転送し、前記第二メモリのデータを印刷エンジンに入力して印刷を行うプリンタであって、
前記第一メモリから順次送られる前記第一幅データを順番に第二データ幅に格納し、 前記第二メモリに転送する前に第二データ幅の第二幅データとするレジスタと、
前記レジスタにおける第二幅データが、前記第二メモリに転送すべき第一幅データで 占められていない場合に、当該第二幅データを前記第二メモリに転送する前に、当該第 二幅データの前記転送すべき第一幅データで占められていない部分にヌルデータを入れ るフィルタとを有する
ことを特徴とするプリンタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003407813A JP2005161822A (ja) | 2003-12-05 | 2003-12-05 | データ転送装置、データ転送方法、及びプリンタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003407813A JP2005161822A (ja) | 2003-12-05 | 2003-12-05 | データ転送装置、データ転送方法、及びプリンタ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005161822A true JP2005161822A (ja) | 2005-06-23 |
Family
ID=34729743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003407813A Pending JP2005161822A (ja) | 2003-12-05 | 2003-12-05 | データ転送装置、データ転送方法、及びプリンタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005161822A (ja) |
-
2003
- 2003-12-05 JP JP2003407813A patent/JP2005161822A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007043577A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体 | |
JP5212886B2 (ja) | 画像形成システム、及び、画像形成プログラム | |
JP2005161822A (ja) | データ転送装置、データ転送方法、及びプリンタ | |
US20060092438A1 (en) | Laser print apparatus with toner explosion compensation | |
US8427660B2 (en) | Image processing apparatus, image forming apparatus, and computer readable medium storing program | |
JP5851201B2 (ja) | 画像処理装置および印刷システム | |
JPH11254753A (ja) | 印刷装置 | |
JPS59201870A (ja) | 印字装置 | |
JP6191106B2 (ja) | 画像処理装置および画像処理方法 | |
JPH01191572A (ja) | 画像生成装置 | |
JP3184544B2 (ja) | 画像処理装置 | |
JP2889390B2 (ja) | プリンタ装置 | |
JP2007124230A (ja) | 画像形成装置、色変換装置、及び色変換ルックアップテーブルの作成方法 | |
JP3770580B2 (ja) | 画像形成装置 | |
JP6140973B2 (ja) | 画像処理装置、画像処理方法ならびにプログラム | |
JP2006048655A (ja) | 画像処理回路、電子機器、及び画像処理方法 | |
JPH0725072A (ja) | カラープリンタ装置 | |
JPH09252409A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JP2007122318A (ja) | 印刷制御装置 | |
JPH08307677A (ja) | 多値画像を印刷可能なページプリンタ | |
JP2006256105A (ja) | 印刷装置及びデータ処理方法 | |
JP2001014116A (ja) | プリンタ制御回路、プリンタ及びプリントシステム | |
JPH07320041A (ja) | カラー画像印刷システム | |
JPH0689019A (ja) | 帳票描画システム及び校正紙 | |
JPH01255541A (ja) | 電子機器 |