説明

画像形成装置及びプログラム

【課題】画像形成にかかる時間を短縮することができる画像形成装置、及びプログラムを提供する。
【解決手段】画像形成装置1は、スキャンライン描画部9を備えている。スキャンライン描画部9は、先頭のコピーコマンドのポインタ値に、当該先頭のコピーコマンドの画素長及びフィルコマンドの画素長の値を加算し、加算後のポインタ値が次のコピーコマンドのポインタ値に一致しなくなるまで、先頭のコピーコマンドのポインタ値に、コマンド群に含まれるコピーコマンドの画素長及びフィルコマンドの画素長を加算するディスクリプタ解釈部21と、加算後のポインタ値が次のコピーコマンドのポインタ値に一致しない場合に、先頭のコピーコマンドのポインタ値と、加算後のポインタ値との間に含まれる画素に対応する画像データをシステムメモリ3から読み出すDMA部22とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置及びプログラムに関する。
【背景技術】
【0002】
従来より、PDL(page description language)で記述された1ページ分の文書データをランレングスエンコーディングによる中間形式のデータとドットパターンのデータとが混在する中間データに変換し、少ないメモリ容量で大きなページサイズの画像情報を出力する画像出力装置が知られている(例えば、特許文献1参照)。1ページ分の文書データが、背景画像の上にテキストが記載されているページである場合、1ページ分の文書データに含まれる少なくとも1つのラインは、背景画像のデータ部分及びテキストのデータ部分が混在する。従って、このラインに含まれるデータがメモリから読み出されるときには、背景画像のデータ部分及びテキストのデータ部分が交互にメモリから読み出される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−347894号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、画像形成にかかる時間を短縮することができる画像形成装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するため、請求項1の画像形成装置は、画像データの一部であるドットパターンの先頭アドレスを示すポインタ値及び画素長を含む第1コマンドの複数と、テキストデータを構成する少なくとも1つの画素の画素値及び画素長を含む少なくとも1つの第2コマンドとが混在するコマンド群をメモリから取得する取得手段と、先頭の第1コマンドのポインタ値に、当該先頭の第1コマンドの画素長及び前記第2コマンドの画素長の値を加算し、加算後のポインタ値が次の第1コマンドのポインタ値に一致しなくなるまで、前記先頭の第1コマンドのポインタ値に、前記コマンド群に含まれる第1コマンドの画素長及び第2コマンドの画素長を加算する加算手段と、前記加算後のポインタ値が前記次の第1コマンドのポインタ値に一致しない場合に、前記先頭の第1コマンドのポインタ値と、前記加算後のポインタ値との間に含まれる画素に対応する画像データを前記メモリから読み出す読出手段とを備えることを特徴とする。
【0006】
請求項2の画像形成装置は、請求項1に記載の画像形成装置において、前記第1コマンドを受信する度に、受信した第1コマンドに基づいて、前記読み出された画像データの一部を画像形成部に出力し、前記第2コマンドを受信する度に、受信した第2コマンドに基づいて、前記読み出された画像データの一部を当該第2コマンドの画素値に置き換えて、当該画素値を前記画像形成部に出力する出力手段を備えることを特徴とする。
【0007】
請求項3のプログラムは、コンピュータを、画像データの一部であるドットパターンの先頭アドレスを示すポインタ値及び画素長を含む第1コマンドの複数と、テキストデータを構成する少なくとも1つの画素の画素値及び画素長を含む少なくとも1つの第2コマンドとが混在するコマンド群をメモリから取得する取得手段、先頭の第1コマンドのポインタ値に、当該先頭の第1コマンドの画素長及び前記第2コマンドの画素長の値を加算し、加算後のポインタ値が次の第1コマンドのポインタ値に一致しなくなるまで、前記先頭の第1コマンドのポインタ値に、前記コマンド群に含まれる第1コマンドの画素長及び第2コマンドの画素長を加算する加算手段、及び前記加算後のポインタ値が前記次の第1コマンドのポインタ値に一致しない場合に、前記先頭の第1コマンドのポインタ値と、前記加算後のポインタ値との間に含まれる画素に対応する画像データを前記メモリから読み出す読出手段として機能させることを特徴とする。
【発明の効果】
【0008】
請求項1の発明によれば、複数のドットパターン(画像データの一部)を1つずつメモリから読み出す場合に比べて、画像形成にかかる時間が短縮される。
【0009】
請求項2の発明によれば、画像データを一度にメモリから読み出した場合でも、各コマンドに従った画像の形成が可能である。
【0010】
請求項3の発明によれば、複数のドットパターン(画像データの一部)を1つずつメモリから読み出す場合に比べて、画像形成にかかる時間が短縮される。
【図面の簡単な説明】
【0011】
【図1】画像形成装置の構成を示すブロック図である。
【図2】(A)は、1ページ分の文書データの一例を示す図であり、(B)は、図2(A)の文書データ上のスキャンラインnのデータ構成を示す図であり、(C)は、システムメモリ3に含まれるデータを示す図である。
【図3】スキャンライン描画部9の構成を示すブロック図である。
【図4】ディスクリプタと、形成されるべきスキャンラインnと、システムメモリ3から読み出される画像データとの関係を示す図である。
【図5】スキャンライン描画部9で実行される処理を示すフローチャートである。
【図6】ディスクリプタ解釈部21で実行される処理を示すフローチャートである。
【図7】フィル部24で実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を参照して説明する。
【0013】
図1は、画像形成装置の構成を示すブロック図である。
【0014】
図1の画像形成装置1は、例えば、複合機(MFP(Multi Function Peripheral)である。画像形成装置1は、装置全体の動作を制御するCPU2、各種のプログラムやデータを記憶するシステムメモリ3、入力された1ページ分の文書データをランレングスエンコーディングによる中間形式のデータとドットパターンのデータとが混在する中間データに変換し、当該中間データをシステムメモリ3に出力するデコンポーザ4、バス6及びバス7をブリッジするバスブリッジ5、ネットワーク10を介して他の装置(不図示)と通信する通信制御部8、文書データに含まれる各ライン毎に、中間データを展開し、展開された中間データに含まれる画像データ及びテキストデータを画像形成部10に出力するスキャンライン描画部9、及びスキャンライン描画部9から出力された画像データ及びテキストデータを記録媒体上に形成する画像形成部10を備えている。尚、画像データは、絵、写真、グラフ、又は表などを含む。また、画像データは、gif、jpeg、又はbitmapのようなフォーマットのデータを含む。
【0015】
バス6及びバス7は、PCI(Peripheral Component Interconnect)バス又はPCI Expressバスで構成されている。CPU2は、バスブリッジ5及びバス6を介してメインメモリ3及びデコンポーザ4と通信し、バスブリッジ4及びバス7を介して通信制御部8及びスキャンライン描画部9と通信する。通信制御部8は、通信制御装置としてのネットワークインタフェースカードである。画像形成部10は、ドラム、転写ベルト、現像器及び定着器等(不図示)を備えている。
【0016】
ランレングスエンコーディングによる中間形式のデータは、フィルコマンド(第2のコマンド)として形成されており、連続した画素値が続く画素データ列を画素値(色要素)及び画素長で表す。フィルコマンドはテキストデータを構成する画素を示すために使用される。ドットパターンのデータは、コピーコマンド(第1のコマンド)として形成され、画像データの一部であるドットパターンの先頭アドレスを示すポインタ値と、画素長とを含む。コピーコマンドは、画像データの一部を構成する画素を示すために使用される。
【0017】
図2(A)は、1ページ分の文書データの一例を示す図であり、図2(B)は、図2(A)の文書データ上のスキャンラインnのデータ構成を示す図であり、図2(C)は、システムメモリ3に含まれるデータを示す図である。
【0018】
例えば、図2(A)に示すように、画像データ上にテキストデータ「A」を形成する場合、スキャンラインnに対応するデータは、図2(B)に示すように、画像データの一部とテキストデータの一部が交互に出現するように構成されている。このため、システムメモリ3には、図2(C)に示すように、コピーコマンドとフィルコマンドとが交互に形成された中間データが保存されている。また、システムメモリ3には、画像データ自身も保存されている。尚、コピーコマンド及びフィルコマンドは、総称としてディスクリプタと呼ばれている。
【0019】
図3は、スキャンライン描画部9の構成を示すブロック図である。
【0020】
図3において、システムメモリ3は、コピーコマンド及びフィルコマンド等で構成されるディスクリプタ31、及び画像データ32を備えている。スキャンライン描画部9は、ディスクリプタ解釈部21(取得手段、加算手段)、DMA(Direct Memory Access)部22(読出手段)、FIFO(First-In First-Out)部23、及びフィル部24(出力手段)を備えている。ディスクリプタ解釈部21は、システムメモリ3から順次ディスクリプタ31、即ちコピーコマンド及びフィルコマンドを取得し、DMA部22にコピーコマンドに基づく画像データ32の読み出し動作を指示し、FIFO部23にコピーコマンド及びフィルコマンドを格納する。DMA部22は、コピーコマンドに基づいて画像データ32を読み出し、フィル部24に読み出された画像データ32を出力する。FIFO部23はコピーコマンド及びフィルコマンドを格納し、格納した順番に従ってコピーコマンド及びフィルコマンドをフィル部24に出力する。フィル部24は、FIFO部23からのコピーコマンドに基づいて画像データ32を画像形成部10に出力し、FIFO部23からのフィルコマンドに基づいて、画像データ32をフィルコマンドに対応する画素値、即ちテキストデータに置き換えて、テキストデータを画像形成部10に出力する。
【0021】
図4は、ディスクリプタと、形成されるべきスキャンラインnと、システムメモリ3から読み出される画像データとの関係を示す図である。
【0022】
ディスクリプタ31は、例えば、コピーコマンド41,43,45,46及びフィルコマンド42,44を含む。コピーコマンド41は、ドットパターンの先頭アドレスを示すポインタ値「0」と、画素長「3」とを含む。コピーコマンド43は、ポインタ値「6」と、画素長「2」とを含む。コピーコマンド45は、ポインタ値「10」と、画素長「4」とを含む。コピーコマンド46は、ポインタ値「18」と、画素長「2」とを含む。フィルコマンド42は、例えば、黒色を示す画素値「1」と、画素長「3」とを含む。フィルコマンド44は、例えば、黒色を示す画素値「1」と、画素長「2」とを含む。
【0023】
ディスクリプタ解釈部21は、システムメモリ3からコピーコマンド41を読み出し、コピーコマンド41のポインタ値「0」にコピーコマンド41の画素長「3」を加算する。加算後のポインタ値は「3」になる。次に、ディスクリプタ解釈部21は、システムメモリ3からフィルコマンド42を読み出し、加算後のポインタ値「3」にフィルコマンド42の画素長「3」を加算する。加算後のポインタ値は「6」になる。
【0024】
次いで、ディスクリプタ解釈部21は、システムメモリ3からコピーコマンド43を読み出す。このとき、ディスクリプタ解釈部21は、加算後のポインタ値がコピーコマンド43のポインタ値と一致するか否かを判別する。図4の例では、加算後のポインタ値「6」がコピーコマンド43のポインタ値「6」と一致する。加算後のポインタ値がコピーコマンド43のポインタ値と一致する場合には、画像データ51及び画像データ52は一続きの画像データである。これは、DMA部32がシステムメモリ3から画像データ51及び画像データ52を一度に読み出すことができることを示す。一方、加算後のポインタ値がコピーコマンド43のポインタ値と一致しない場合には、画像データ51及び画
像データ52はそれぞれ別の画像データに基づくことになる。
【0025】
同様に、ディスクリプタ解釈部21は、加算後のポインタ値「6」にコピーコマンド43及びフィルコマンド44の画素長を加算し、加算後のポインタ値がコピーコマンド45のポインタ値と一致するか否かを判別する。図4の例では、加算後のポインタ値「10(=6+2+2)」がコピーコマンド45のポインタ値「10」と一致する。これは、DMA部32がシステムメモリ3から画像データ51〜53を一度に読み出すことができることを示す。
【0026】
同様に、ディスクリプタ解釈部21は、加算後のポインタ値「10」にコピーコマンド45の画素長を加算し、加算後のポインタ値がコピーコマンド46のポインタ値と一致するか否かを判別する。図4の例では、加算後のポインタ値「14(=10+4)」がコピーコマンド46のポインタ値「18」と一致しない。これは、DMA部32がシステムメモリ3から画像データ51〜53と画像データ54とを一度に読み出すことができないことを示す。即ち、画像データ51〜53と画像データ54とはそれぞれ別の画像データに基づくことを示す。
【0027】
図5は、スキャンライン描画部9で実行される処理を示すフローチャートである。
【0028】
ディスクリプタ解釈部21は、システムメモリ3から順次ディスクリプタ、即ちコピーコマンド及びフィルコマンドを取得し、FIFO部23にコピーコマンド及びフィルコマンドに送信する(ステップS1)。さらに、ディスクリプタ解釈部21は、取得したコピーコマンドのポインタ値に、当該コピーコマンドの画素長及びフィルコマンドの画素長を加算し(ステップS2)、加算後のポインタ値が次のコピーコマンドのポインタ値に一致するか否かを判断する(ステップS3)。
【0029】
ステップS3でYESの場合には、ステップS2に戻り、ディスクリプタ解釈部21は、加算後のポインタ値が次のコピーコマンドのポインタ値に一致しなくなるまで、コピーコマンドのポインタ値に、コピーコマンドの画素長及びフィルコマンドの画素長を加算する処理を繰り返し実行する。
【0030】
ステップS3でNOの場合には、ディスクリプタ解釈部21は、先頭のコピーコマンドのポインタ値と、加算後のポインタ値との間に含まれる画素に対応する画像データをDMA部22に読み出すように指示する。即ち、ディスクリプタ解釈部21は、複数のドットパターン(画像データの一部)を1つずつシステムメモリ3から読み出す指示をDMA部22に送らず、複数のドットパターン(画像データの一部)を含む1つの画像データをシステムメモリ3から読み出す指示をDMA部22に送る(ステップS4)。ステップS4によれば、複数のドットパターン(画像データの一部)を1つずつシステムメモリ3から読み出す場合に比べて、画像データの読み出し時間が短縮され、画像形成にかかる時間が短縮される。
【0031】
DMA部22は、上記指示に基づいて複数のドットパターンを含む1つの画像データを読み出し、フィル部24に読み出された画像データを出力する(ステップS5)。FIFO部23は、ディスクリプタ解釈部21から送信されたコピーコマンド及びフィルコマンドを格納し、格納した順番に従ってコピーコマンド及びフィルコマンドをフィル部24に出力する(ステップS6)。
【0032】
フィル部24は、FIFO部23からコピーコマンドを受信する度に、受信したコピーコマンドに基づいて、DMA部22から受信した画像データの一部を画像形成部10に出力し、FIFO部23からフィルコマンドを受信する度に、受信したフィルコマンドに基づいて、DMA部22から受信した画像データの一部を当該フィルコマンドの画素値(即ちテキストデータ)に置き換えて、当該画素値を画像形成部10に出力し(ステップS7)、本処理を終了する。ステップS7の処理後、画像形成部10は、受信した画像データ及び画素値(即ちテキストデータ)に基づいて、画像を形成する。形成される画像は、例えば、図2(A)、(B)に示すような、スキャンラインnに対応する画像である。
【0033】
図6は、ディスクリプタ解釈部21で実行される処理を示すフローチャートである。以下の説明では、図4を適宜参照する。
【0034】
まず、ディスクリプタ解釈部21は、自身が有する変数「1stPsaved」に「false」を設定する(ステップS100)。ここで、変数「1stPsaved」は、ディスクリプタ解釈部21がコピーコマンドを1回でも取得したら、「true」に変更される変数である。「false」は、ディスクリプタ解釈部21がコピーコマンドを取得していないことを示す。「true」は、ディスクリプタ解釈部21がコピーコマンドを1回以上取得していることを示す。
【0035】
ディスクリプタ解釈部21は、1個のコマンドをシステムメモリ3から取得する(ステップS101)。ディスクリプタ解釈部21は、取得したコマンドがエンドコマンド以外のコマンドであるか否かを判別する(ステップS102)。エンドコマンドとは、本処理の終了を示すコマンドである。
【0036】
ステップS102でNOの場合には、本処理を終了する。ステップS102でYESの場合には、ディスクリプタ解釈部21は、取得したコマンドがフィルコマンドであるか否かを判別する(ステップS103)。
【0037】
ステップS103でNOの場合、即ち、取得したコマンドがコピーコマンドである場合には、ディスクリプタ解釈部21は、変数「1stPsaved」が「false」に設定されているか否かを判別する(ステップS107)。ステップS107でYESの場合には、コピーコマンドに含まれる、画像データの先頭アドレスを示すポインタ値を変数「saddr」に設定し、コピーコマンドに含まれる画素長を変数「size」に設定する(ステップS108)。図4のコピーコマンド41の処理時では、変数「saddr」に「0」が設定され、変数「size」に「3」が設定される。尚、変数「saddr」及び変数「size」は、ディスクリプタ解釈部21に含まれている。次に、ディスクリプタ解釈部21は、変数「1stPsaved」に「true」を設定し、変数「naddr」に変数「saddr」及び変数「size」の合計値を設定する(ステップS109)。図4のコピーコマンド41の処理時では、変数「saddr」は「0」であり、変数「size」は「3」であるので、変数「naddr」は「3」になる。その後、ディスクリプタ解釈部21は、FIFO部23にコマンド及び変数「1stPsaved」に格納する(ステップS115)。
【0038】
ステップS103でYESの場合、即ち、取得したコマンドがフィルコマンドである場合には、ディスクリプタ解釈部21は、変数「1stPsaved」が「true」に設定されているか否かを判別する(ステップS104)。ステップS104でNOの場合には、ステップS115に進む。このループ処理(ステップS101→ステップS104でNO→ステップS115→ステップS101)は、ディスクリプタ解釈部21がフィルコマンドのみを取得している場合を示す。ステップS104でYESの場合には、ディスクリプタ解釈部21は、フィルコマンドに含まれる画素長を変数「size」に設定する(ステップS105)。図4のフィルコマンド42の処理時では、フィルコマンド42の画素長「3」が変数「size」に設定される。ディスクリプタ解釈部21は、変数「naddr」に現在の変数「naddr」及び現在の変数「size」の合計値を設定する(ステップS106)。図4のフィルコマンド42の処理時では、現在の変数「naddr」は「3」であり、現在の変数「size」はフィルコマンド42の画素長「3」であるので、変数「naddr」は、「6」になる。その後、ステップS115の工程に進む。
【0039】
ステップS107でNOの場合には、ディスクリプタ解釈部21は、コピーコマンドに含まれる、画像データの先頭アドレスを示すポインタ値を変数「addr」に設定し、コピーコマンドに含まれる画素長を変数「size」に設定する(ステップS110)。図4のコピーコマンド43の処理時では、画像データの先頭アドレスを示すポインタ値「6」が変数「addr」に設定され、コピーコマンド43に含まれる画素長「2」が変数「size」に設定される。次に、ディスクリプタ解釈部21は、変数「addr」の値が現在の変数「naddr」の値と一致するか否かを判別する(ステップS111)。図4のコピーコマンド43の処理時では、変数「addr」は「6」であり、現在の変数「naddr」は、ステップS106で示したように「6」であるので、変数「addr」の値が現在の変数「naddr」の値と一致する。ディスクリプタ解釈部21は、変数「naddr」に現在の変数「naddr」及び現在の変数「size」の合計値を設定する(ステップS112)。図4のコピーコマンド43の処理時では、現在の変数「naddr」は「6」であり、現在の変数「size」はコピーコマンド43の画素長「2」であるので、変数「naddr」は、「8」になる。その後、ステップS115の工程に進む。
【0040】
ディスクリプタ解釈部21は、フィルコマンド44の処理時に、ステップS101〜S106の工程を繰り返す。ステップS106では、現在の変数「naddr」は「8」であり、現在の変数「size」はフィルコマンド44の画素長「2」であるので、変数「naddr」は、「10」になる。その後、ステップS115の工程に進む。
【0041】
ディスクリプタ解釈部21は、コピーコマンド45の処理時に、ステップS101、ステップS103でNO、ステップS107でNO、及びステップS110〜S112の工程を繰り返す。ステップS112では、現在の変数「naddr」は「10」であり、現在の変数「size」はコピーコマンド45の画素長「4」であるので、変数「naddr」は、「14」になる。その後、ステップS115の工程に進む。
【0042】
ディスクリプタ解釈部21は、コピーコマンド46の処理時に、ステップS101、ステップS103でNO、ステップS107でNO及びステップS110の工程を繰り返す。ステップS110では、図4のコピーコマンド46の処理時では、画像データの先頭アドレスを示すポインタ値「18」が変数「addr」に設定され、コピーコマンド46に含まれる画素長「2」が変数「size」に設定される。その後、ディスクリプタ解釈部21は、変数「addr」の値が現在の変数「naddr」の値と一致するか否かを判別する(ステップS111)。図4のコピーコマンド46の処理時では、変数「addr」は「18」であり、現在の変数「naddr」は、コピーコマンド41〜45の合計値「14」であるので、変数「addr」の値が現在の変数「naddr」の値と一致しない。
【0043】
ステップS111でNOの場合には、ディスクリプタ解釈部21は、変数「saddr」が示すポインタ値を基準にして、(naddr−saddr)に対応するサイズの画像データをシステムメモリ3から読み出す指示をDMA部22に送信する(ステップS113)。図4のコピーコマンド46の処理時では、変数「saddr」は「0」であり、変数「saddr」は「14」であるので、14画素分の画像データがシステムメモリ3から読み出される。
【0044】
次に、ディスクリプタ解釈部21は、変数「saddr」に変数「addr」を設定し、変数「naddr」に変数「saddr」及び変数「size」の合計値を設定する(ステップS114)。図4のコピーコマンド46の処理時では、変数「addr」は「18」であり、変数「size」は「2」であるので、変数「saddr」は「18」になり、変数「naddr」は「20」になる。その後、ステップS115の工程に進む。
【0045】
図7は、フィル部24で実行される処理を示すフローチャートである。
【0046】
フィル部24は、FIFO部23から1セットのコマンド(コピーコマンド又はフィルコマンド)と変数「1stPsaved」の値を読み出す(ステップS200)。フィル部24は、読み出したコマンドがコピーコマンドであるか否かを判別する(ステップS201)。
【0047】
ステ
ップS201でYESの場合には、フィル部24は、コピーコマンドに含まれる画素長を変数「tsize」に設定する(ステップS202)。変数「tsize」はフィル部24に含まれている。フィル部24は、DMA部22から入力される、変数「tsize」に相当するサイズの画像データを画像形成部10に出力し(ステップS203)、ステップS200に戻る。
【0048】
ステップS201でNOの場合には、フィル部24は、フィルコマンドに含まれる画素長を変数「fsize」に設定する(ステップS204)。変数「fsize」はフィル部24に含まれている。次に、フィル部24は、読み出した変数「1stPsaved」の値が「true」であるか否かを判別する(ステップS205)。
【0049】
ステップS205でYESの場合には、フィル部24は、変数「fsize」で指定される画素長分だけ、フィルコマンドで指定される画素値(テキストデータ)を画像形成部10に出力し(ステップS206)、ステップS200に戻る。ステップS205でNOの場合には、フィル部24は、DMA部22から入力される、変数「tsize」に相当するサイズの画像データをフィルコマンドで指定される画素値(テキストデータ)に置換し、置換された画素値を画像形成部10に出力し(ステップS207)、ステップS200に戻る。
【0050】
本実施の形態によれば、ディスクリプタ解釈部21が画像データの一部であるドットパターンの先頭アドレスを示すポインタ値及び画素長を含むコピーコマンドの複数と、テキストデータを構成する少なくとも1つの画素の画素値及び画素長を含む少なくとも1つのフィルコマンドとが混在するコマンド群をシステムメモリ3から取得する。また、ディスクリプタ解釈部21は、先頭のコピーコマンドのポインタ値に、当該先頭のコピーコマンドの画素長及びフィルコマンドの画素長の値を加算し、加算後のポインタ値が次のコピーコマンドのポインタ値に一致しなくなるまで、先頭のコピーコマンドのポインタ値に、コマンド群に含まれるコピーコマンドの画素長及びフィルコマンドの画素長を加算する。DMA部22は、加算後のポインタ値が次のコピーコマンドのポインタ値に一致しない場合に、先頭のコピーコマンドのポインタ値と、加算後のポインタ値との間に含まれる画素に対応する画像データをシステムメモリ3から読み出す。よって、複数のドットパターン(画像データの一部)を1つずつメモリから読み出す場合に比べて、画像データの読み出し時間が短縮され、画像形成にかかる時間が短縮される。
【0051】
また、フィル部24は、コピーコマンドを受信する度に、受信したコピーコマンドに基づいて、読み出された画像データの一部を画像形成部10に出力し、フィルコマンドを受信する度に、受信したフィルコマンドに基づいて、読み出された画像データの一部を当該フィルコマンドの画素値に置き換えて、当該画素値を画像形成部10に出力する。よって、画像データを一度にシステムメモリ3から読み出した場合でも、各コマンドに従った画像の形成が可能である。
【0052】
画像形成装置1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、画像形成装置1に供給し、CPU2が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。
【0053】
また、画像形成装置1が、画像形成装置1の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【符号の説明】
【0054】
1 画像形成装置 2 CPU 3 システムメモリ 4 デコンポーザ 8 通信制御部 9 スキャンライン描画部 10 画像形成部 21 ディスクリプタ解釈部 22 DMA部 23 FIFO部 24 フィル部

【特許請求の範囲】
【請求項1】
画像データの一部であるドットパターンの先頭アドレスを示すポインタ値及び画素長を含む第1コマンドの複数と、テキストデータを構成する少なくとも1つの画素の画素値及び画素長を含む少なくとも1つの第2コマンドとが混在するコマンド群をメモリから取得する取得手段と、
先頭の第1コマンドのポインタ値に、当該先頭の第1コマンドの画素長及び前記第2コマンドの画素長の値を加算し、加算後のポインタ値が次の第1コマンドのポインタ値に一致しなくなるまで、前記先頭の第1コマンドのポインタ値に、前記コマンド群に含まれる第1コマンドの画素長及び第2コマンドの画素長を加算する加算手段と、
前記加算後のポインタ値が前記次の第1コマンドのポインタ値に一致しない場合に、前記先頭の第1コマンドのポインタ値と、前記加算後のポインタ値との間に含まれる画素に対応する画像データを前記メモリから読み出す読出手段と
を備えることを特徴とする画像形成装置。
【請求項2】
前記第1コマンドを受信する度に、受信した第1コマンドに基づいて、前記読み出された画像データの一部を画像形成部に出力し、前記第2コマンドを受信する度に、受信した第2コマンドに基づいて、前記読み出された画像データの一部を当該第2コマンドの画素値に置き換えて、当該画素値を前記画像形成部に出力する出力手段を備えることを特徴とする請求項1に記載の画像形成装置
【請求項3】
コンピュータを、
画像データの一部であるドットパターンの先頭アドレスを示すポインタ値及び画素長を含む第1コマンドの複数と、テキストデータを構成する少なくとも1つの画素の画素値及び画素長を含む少なくとも1つの第2コマンドとが混在するコマンド群をメモリから取得する取得手段、
先頭の第1コマンドのポインタ値に、当該先頭の第1コマンドの画素長及び前記第2コマンドの画素長の値を加算し、加算後のポインタ値が次の第1コマンドのポインタ値に一致しなくなるまで、前記先頭の第1コマンドのポインタ値に、前記コマンド群に含まれる第1コマンドの画素長及び第2コマンドの画素長を加算する加算手段、及び
前記加算後のポインタ値が前記次の第1コマンドのポインタ値に一致しない場合に、前記先頭の第1コマンドのポインタ値と、前記加算後のポインタ値との間に含まれる画素に対応する画像データを前記メモリから読み出す読出手段
として機能させることを特徴とするプログラム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−186700(P2011−186700A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−50192(P2010−50192)
【出願日】平成22年3月8日(2010.3.8)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】