(57)【要約】【課題】効率的に圧縮することができるパターンデータを用いてプリンタなどの出力結果の画質評価をおこなうことにより、ＰＣなどの周辺機器をプリンタに接続することなく適切な画質評価をおこなうことができる画像データ処理方法を提供する。【解決手段】本発明にかかる画像データ処理方法は、画像をカンマ区切りのテキスト形式で定義した簡易パターンファイル１００であって、画像の主走査方向のラインを構成する画素値と当該画素値の所定の画素数とを関連付けて定義するライン定義部１０１と、ライン定義部１０１によって定義されたラインと、当該ラインの副走査方向へのライン数とを関連付けて定義するライン配置部１０２と、によって構成されている簡易パターンファイル１００を簡易パターンファイル１００の行が変わることを示すターミネータ情報とあわせてラインごとに連続的に出力する。【選択図】図１
2007280246.tif 000002
【特許請求の範囲】
【請求項１】
画像をカンマ区切りのテキスト形式で定義したパターンデータであって、前記画像の主
走査方向のラインを構成する画素値と当該画素値の所定の画素数とを関連付けて定義する
ライン定義データと、前記ライン定義データによって定義されたラインと当該ラインの副
走査方向へのライン数とを関連付けて定義するライン配置データと、によって構成されて
いるパターンデータを出力する画像データ処理方法であって、
前記パターンデータを構成する複数のデータラインについて、当該データラインの行方
向への読み込みを連続しておこなう読込工程と、
前記読込工程によって読み込まれた前記パターンデータを、読み込まれた順に当該パタ
ーンデータを構成する構成成分の種別ごとに異なる記憶領域に振り分けて保存し、前記パ
ターンデータの行が変わる部分には、当該行が変わることを示す付加情報をあわせて保存
する保存工程と、
前記保存工程によって保存されている前記パターンデータを、前記画像を形成するため
の順序にしたがって、前記付加情報とあわせて前記記憶領域からそれぞれ読み出す読出工
程と、
前記読出工程によって読み出された前記パターンデータを、前記付加情報とあわせて前
記ラインごとに連続的に出力するデータ出力工程と、
を含むことを特徴とする画像データ処理方法。
【請求項２】
前記データ出力工程によって連続して出力されるラインとラインとの間に、つぎのライ
ンの先頭画素にアクセスするまでの期間相当分のクロック（待ちクロック）を設定するク
ロック設定工程をさらに含み、
前記データ出力工程は、
前記クロック設定工程によって設定された待ちクロックをライン間に付加して、前記パ
ターンデータを出力することを特徴とする請求項１に記載の画像データ処理方法。
【請求項３】
前記読出工程によって読み出されたパターンデータに、前記付加情報が含まれているか
否かを判断する判断工程をさらに含み、
前記データ出力工程は、
前記判断工程の判断結果に基づいて、前記読出工程によって読み出されたパターンデー
タを出力することを特徴とする請求項１または２に記載の画像データ処理方法。
【請求項４】
前記読出工程によって読み出されたパターンデータを、読み出された順に第１の記憶領
域および第２の記憶領域に順番に一時保存する一時保存工程をさらに含み、
前記判断工程は、
前記読出工程によって読み出されたパターンデータに前記付加情報が含まれていると判
断した場合は、当該付加情報のつぎに読み出された前記パターンデータの内容をさらに判
断し、
前記データ出力工程は、
前記判断工程の判断結果に基づいて、前記第１の記憶領域または前記第２の記憶領域か
ら前記パターンデータを読み出して出力することを特徴とする請求項３に記載の画像デー
タ処理方法。
【請求項５】
画像をカンマ区切りのテキスト形式で定義したパターンデータであって、前記画像の主
走査方向のラインを構成する画素値と当該画素値の所定の画素値とを関連付けて定義する
ライン定義データと、前記ライン定義データによって定義されたラインと当該ラインの副
走査方向へのライン数とを関連付けて定義するライン配置データと、によって構成されて
いるパターンデータを出力する画像データ処理装置であって、
前記パターンデータを構成する複数のデータラインについて、当該データラインの行方
向への読み込みを連続しておこなう読込手段と、
前記読込手段によって読み込まれた前記パターンデータを、読み込まれた順に当該パタ
ーンデータに含まれる種別ごとに異なる記憶領域に振り分けて保存し、前記パターンデー
タの行が変わる部分には、当該行が変わることを示す付加情報をあわせて保存する保存手
段と、
前記保存手段によって保存されている前記パターンデータを、前記画像を形成するため
の順序にしたがって、前記付加情報とあわせて前記記憶領域からそれぞれ読み出す読出手
段と、
前記読出手段によって読み出された前記パターンデータを、前記付加情報とあわせて前
記ラインごとに連続的に出力するデータ出力手段と、
を備えることを特徴とする画像データ処理装置。
【請求項６】
請求項１に記載の画像データ処理方法をコンピュータに実行させることを特徴とする画
像データ処理プログラム。
【請求項７】
請求項６に記載の画像データ処理プログラムを記録したコンピュータに読み取り可能な
記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、パターンデータを用いてプリンタなどによる印刷結果の画質評価をおこな
う際の画像データ処理方法、画像データ処理装置、画像データ処理プログラムおよび記録
媒体に関する。
【背景技術】
【０００２】
従来より、プリンタなどによって印刷出力した印刷結果の画質評価をおこなう際に、細
かい線の繰り返し画像や円などの一定パターンの繰り返し画像など、多種類の画像を印刷
出力して画質評価をおこなっていた。このように、ユーザが任意に選択した任意の画像を
用いてプリンタなどの画質評価をおこなうことができる装置として、つぎのような画像デ
ータ処理装置が提供されている。
【０００３】
まず、画像データ処理装置は、画質評価をおこなうための原画像を印刷出力し、画質評
価用の出力画像を形成する。つぎに、画像データ処理装置は、この出力画像を読み取って
得られた入力画像と原画像との相関係数がもっとも高くなるように出力画像の読み取りの
基準となる画像開始点を求める。そして、画像データ処理装置は、この画像開始点を基準
として出力画像を原画像と同じ解像度で再度読み取り、この読み取り結果と原画像とをＣ
ＩＥ（国際照明委員会）が定めたＸＹＺ表色系に変換し、この変換結果に基づいて画質評
価をおこなう（たとえば、下記特許文献１参照。）。
【０００４】
【特許文献１】特開２０００−２５１０７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１の従来技術の画像データ処理装置では、画質評価を
おこなうためにユーザが任意に選択した画像のデータ量の大きさによっては、印刷出力す
るまでに多くの処理時間がかかってしまう場合があり、ユーザの利便性の向上を図ること
が難しかった。
【０００６】
また、上述した画像データ処理装置では、出力画像を読み取った後、読み取った入力画
像を一時保存するためのメモリが必要であった。このため、たとえば画質評価をおこなう
際には、装置本体とバッファメモリなどの記憶領域を有したＰＣ（パーソナルコンピュー
タ）とを接続する必要があり、ユーザの利便性の向上を図ることが難しかった。
【０００７】
また、ユーザが画質評価をおこなうための画像データとして、容易に作成、編集するこ
とができる画像データが望まれているが、上述した画像データは、データ内容や編集内容
によっては、作成したり編集したりすることが困難となる場合があり、ユーザの利便性の
向上を図ることが難しかった。
【０００８】
この発明は、上述した従来技術による問題点を解消するため、効率的に圧縮することが
できるパターンデータを用いてプリンタなどの出力結果の画質評価をおこなうことにより
、ＰＣなどの周辺機器をプリンタに接続することなく、適切な画質評価をおこなうことが
できる画像データ処理方法、画像データ処理装置、画像データ処理プログラムおよび記録
媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために本発明にかかる画像データ処理方法は、画像をカンマ区
切りのテキスト形式で定義したパターンデータであって、前記画像の主走査方向のライン
を構成する画素値と当該画素値の所定の画素数とを関連付けて定義するライン定義データ
と、前記ライン定義データによって定義されたラインと、当該ラインの副走査方向へのラ
イン数とを関連付けて定義するライン配置データと、によって構成されているパターンデ
ータを出力する画像データ処理方法であって、前記パターンデータを構成する複数のデー
タラインについて、当該データラインの行方向への読み込みを連続しておこなう読込工程
と、前記読込工程によって読み込まれた前記パターンデータを、読み込まれた順に当該パ
ターンデータを構成する構成成分の種別ごとに異なる記憶領域に振り分けて保存し、前記
パターンデータの行が変わる部分には、当該行が変わることを示す付加情報をあわせて保
存する保存工程と、前記保存工程によって保存されている前記パターンデータを、前記画
像を形成するための順序にしたがって、前記付加情報とあわせて前記記憶領域からそれぞ
れ読み出す読出工程と、前記読出工程によって読み出された前記パターンデータを、前記
付加情報とあわせて前記ラインごとに連続的に出力するデータ出力工程と、を含むことを
特徴とする。
【００１０】
本発明の画像データ処理方法によれば、読み込んだパターンデータを異なる記憶領域に
連続的に読み出すことができる状態で再配置して保存し、この保存したパターンデータを
画像を形成するための順序にしたがって読み出すことができる。そして、読み出した画像
データを画像のラインごとに連続的に出力することができるため、たとえばユーザが任意
に選択した画像を用いてプリンタなどの画質評価をおこなう際に、出力された画像が途中
で途切れてしまうなどの不具合を防ぐことができ、適切な画質評価をおこなうことができ
る。
【００１１】
また、本発明にかかる画像データ処理方法は、前記データ出力工程によって連続して出
力されるラインとラインとの間に、つぎのラインの先頭画素にアクセスするまでの期間相
当分のクロック（待ちクロック）を設定するクロック設定工程をさらに含み、前記データ
出力工程は、前記クロック設定工程によって設定された待ちクロックをライン間に付加し
て、前記パターンデータを出力することを特徴とする。
【００１２】
本発明の画像データ処理方法によれば、連続して出力されるラインとラインとの間に、
つぎのラインの先頭画素にアクセスするまでの待ちクロックを設定することができるため
、たとえばユーザが任意に選択した画像を用いてプリンタなどの画質評価をおこなう際に
、１つのラインの出力が終了してつぎのラインの先頭画素にアクセスするまでのクロック
によって先頭画素の読み出しが間に合わず、ラインとラインとの間で画像が途切れてしま
うなどの不具合を防ぐことができ、適切な画質評価をおこなうことができる。
【００１３】
また、本発明にかかる画像データ処理方法は、前記読出工程によって読み出されたパタ
ーンデータに、前記付加情報が含まれているか否かを判断する判断工程をさらに含み、前
記データ出力工程は、前記判断工程の判断結果に基づいて、前記読出工程によって読み出
されたパターンデータを出力することを特徴とする。
【００１４】
本発明の画像データ処理方法によれば、読み出されたパターンデータに付加情報が含ま
れているか否かをあらかじめ判断することができ、この判断結果に応じてパターンデータ
を連続的に出力することができるため、たとえばユーザが任意に選択した画像を用いてプ
リンタなどの画質評価をおこなう際に、出力された画像が途中で途切れてしまうなどの不
具合を防ぐことができ、適切な画質評価をおこなうことができる。
【００１５】
また、本発明にかかる画像データ処理方法は、前記読出工程によって読み出されたパタ
ーンデータを、読み出された順に第１の記憶領域および第２の記憶領域に順番に一時保存
する一時保存工程をさらに含み、前記判断工程は、前記読出工程によって読み出されたパ
ターンデータに前記付加情報が含まれていると判断した場合は、当該付加情報のつぎに読
み出された前記パターンデータの内容をさらに判断し、前記データ出力工程は、前記判断
工程の判断結果に基づいて、前記第１の記憶領域または前記第２の記憶領域から前記パタ
ーンデータを読み出して出力することを特徴とする。
【００１６】
本発明の画像データ処理方法によれば、読み出されたパターンデータに含まれる付加情
報のつぎに読み出されるパターンデータの内容をあらかじめ判断し、この判断結果に応じ
て第１の記憶領域または第２の記憶領域からパターンデータを読み出してパターンデータ
を連続的に出力することができるため、たとえばユーザが任意に選択した画像を用いてプ
リンタなどの画質評価をおこなう際に、出力された画像が途中で途切れてしまうなどの不
具合を防ぐことができ、適切な画質評価をおこなうことができる。
【００１７】
本発明にかかる画像データ処理装置は、画像をカンマ区切りのテキスト形式で定義した
パターンデータであって、前記画像の主走査方向のラインを構成する画素値と当該画素値
の所定の画素値とを関連付けて定義するライン定義データと、前記ライン定義データによ
って定義されたラインと、当該ラインの副走査方向へのライン数とを関連付けて定義する
ライン配置データと、によって構成されているパターンデータを出力する画像データ処理
装置であって、前記パターンデータを構成する複数のデータラインについて、当該データ
ラインの行方向への読み込みを連続しておこなう読込手段と、前記読込手段によって読み
込まれた前記パターンデータを、読み込まれた順に当該パターンデータに含まれる種別ご
とに異なる記憶領域に振り分けて保存し、前記パターンデータの行が変わる部分には、当
該行が変わることを示す付加情報をあわせて保存する保存手段と、前記保存手段によって
保存されている前記パターンデータを、前記画像を形成するための順序にしたがって、前
記付加情報とあわせて前記記憶領域からそれぞれ読み出す読出手段と、前記読出手段によ
って読み出された前記パターンデータを、前記付加情報とあわせて前記ラインごとに連続
的に出力するデータ出力手段と、を備えることを特徴とする。
【００１８】
本発明の画像データ処理装置によれば、読み込んだパターンデータを異なる記憶領域に
連続的に読み出すことができる状態で再配置して保存し、この保存したパターンデータを
画像を形成するための順序にしたがって読み出すことができる。そして、読み出した画像
データを画像のラインごとに連続的に出力することができるため、たとえばユーザが任意
に選択した画像を用いてプリンタなどの画質評価をおこなう際に、出力された画像が途中
で途切れてしまうなどの不具合を防ぐことができ、適切な画質評価をおこなうことができ
る。
【００１９】
さらに、画像データ処理装置によれば、たとえば読み出した１ページ分の画像を形成す
るためのパターンデータを、バッファメモリなどに一時保存することなく連続的に出力す
ることができる。このため、たとえばプリンタの画質評価をおこなう際に、プリンタ内部
にバッファメモリを設けたり、バッファメモリを備えたパーソナルコンピュータなどの周
辺機器をプリンタに接続する作業を必要とせず、ユーザの利便性の向上を図ることができ
る。
【００２０】
本発明にかかる画像データ処理プログラムは、上記の画像データ処理方法をコンピュー
タに実行させることを特徴とする。
【００２１】
本発明の画像データ処理プログラムによれば、この画像データ処理プログラムを実行す
ることにより、上述した画像データ処理方法によって得られる動作がコンピュータによっ
て実現される。これにより、上述した画像データ処理方法の実現によって得られる各種効
果を奏することができる。
【００２２】
本発明にかかる記録媒体は、上記の画像データ処理プログラムをコンピュータに読み取
り可能に記録したことを特徴とする。
【００２３】
本発明の記録媒体によれば、この記録媒体に記録された画像データ処理プログラムをコ
ンピュータによって読み取らせ、実行させることによって、上述した画像データ処理方法
によって得られる動作がコンピュータによって実現される。これにより、上述した画像デ
ータ処理方法の実現によって得られる各種効果を奏することができる。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、この発明にかかる画像データ処理方法、画像データ処理プ
ログラムおよび記録媒体の好適な実施の形態を詳細に説明する。まず、画像データ処理方
法に用いられる簡易パターンについて説明する。
【００２５】
（簡易パターンのデータ構造）
図１は、簡易パターンファイルのデータ構造の一例を示す説明図である。簡易パターン
ファイル１００は、画像をカンマ区切りのテキスト形式で定義しているパターンデータで
ある。この簡易パターンファイル１００に基づいて、細かい線の繰り返し画像や円などの
一定パターンの繰り返し画像など多種類の画像を作成して印刷することによって、プリン
タなどにより印刷出力された画像の画質評価をおこなうことができる。
【００２６】
図１に示すように、簡易パターンファイル１００は、主走査方向側の定義であるライン
定義部１０１（図中上側の破線で囲んだ領域）と、副走査方向側の定義であるライン配置
部１０２（図中下側の破線で囲んだ領域）とによって構成されている。ここで、主走査方
向とは、たとえばレーザプリンタによって印刷出力された画像の画質評価をおこなう場合
に、筐体内部に設けられた感光体に照射されるレーザ光などが走査される方向であり感光
体の進行方向と垂直な方向である。また、副走査方向とは、主走査方向と垂直な方向であ
り、感光体の進行方向と同一方向である。
【００２７】
また、簡易パターンファイル１００の先頭行１０３にある「Ｘ」は、「簡易パターンフ
ァイル識別子」である。この識別子「Ｘ」は、簡易パターンファイル１００がどのような
パターンに定義されるかを示した識別子である。この識別子「Ｘ」を用いれば、たとえば
、後述するプリンタ４０３の固有の仕様などを示すことができる。具体的には、識別子「
Ｘ」は、プリンタ４０３の仕様にあわせて、画素値の上「２Ｂｉｔ」が画素値の配置情報
（右寄せ、左寄せ、中央寄せなど）で、下「６Ｂｉｔ」がピクセル値であることを示して
いる。
【００２８】
他に識別子を用いて示すことができる情報としては、たとえば画像を構成する画素値の
配置情報、プリンタ４０３内に設けられたプリンタヘッドの進行方向、主走査方向の最大
の長さ、印刷をおこなう際における印刷出力する色の順番などの情報が挙げられる。また
、簡易パターンファイル１００に基づいて作成された画像を印刷する際には、この識別子
「Ｘ」が示す識別情報に応じて印刷処理をおこなう。
【００２９】
ライン定義部１０１は、主走査方向のラインを構成する画素値と当該画素値の所定の画
素数とを関連付けて定義するものであり、複数のラインについてライン定義することがで
きる。また、ライン配置部１０２は、ライン定義部１０１によって定義されたラインと、
当該ラインの副走査方向へのライン数とを関連付けて定義する。さらに、ライン配置部１
０２は、画像として用いられる色ごとに定義することができる。具体的には、ライン定義
部１０１で定義された各ラインを副走査方向にどのように配置するかを定義するものであ
り、たとえば、Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブラック）などの
色ごとに定義されている。
【００３０】
なお、簡易パターンファイル１００におけるライン定義部１０１とライン配置部１０２
との間には、２行の空行（３２行目および３３行目）が設けられており、この空行により
ライン定義部１０１とライン配置部１０２とを区切っている。つぎに、簡易パターンファ
イル１００内の各部の構成を示す際に用いる用語の説明をするとともに、ライン定義部１
０１とライン配置部１０２との詳細な説明をする。
【００３１】
まず、ライン定義部１０１は、ライン定義された複数のラインによって構成されている
。また、ライン定義部１０１の複数のラインにはそれぞれ番号が付されており、上から順
番にライン定義１（１１０）、ライン定義２（１１１）、ライン定義３（１１２）、ライ
ン定義４（１１３）、ライン定義５（１１４）、ライン定義６（１１５）、ライン定義７
（１１６）となっている。さらに、図示は省略しているが、ライン定義１〜７とは異なる
ライン定義０も存在している。ライン定義０は、予約番号であり、「画素値０」がライン
幅分並んでいることを示した白べたラインとなる。
【００３２】
また、ライン定義１〜７のそれぞれのラインの間には、１行の空行が設けられており、
たとえば５行目の空行により、ライン定義１（１１０）とライン定義２（１１１）とを区
切っている。なお、ここではライン定義の定義数をライン定義０〜７の８個としたが、定
義することができるライン定義の定義数は、固定ではなく任意に変更することができる。
具体的には、たとえば簡易パターンファイル１００のライン定義部１０１に、最大で２５
６個までのライン定義を任意に定義することができる。
【００３３】
それぞれのライン定義１〜７は、少なくとも１つのグループによって構成されており、
さらに、それぞれのグループは、少なくとも１回のグループユニットの繰り返しによって
構成されている。また、ライン定義部１０１の「Ａ列」には、それぞれのグループユニッ
トが何回繰り返されたかを示す繰り返し回数がそれぞれのグループユニットにあわせて付
されている。なお、ライン定義において、ある画素値以降はすべて白データ（画像として
何も表現されていない白べたライン）となる場合は、この白データを定義しなくてもよい
。さらに、あるライン以降はすべて空白行となる場合は、この空白行を定義しなくてもよ
い。つぎに、ライン定義３（１１２）を例に挙げてライン定義についての詳細な説明をお
こなう。
【００３４】
図２−１は、ライン定義の一例を示す図である。また、図２−２は、図２−１に示すラ
イン定義の内容を示す説明図である。図２−１に示すように、ライン定義３（１１２）は
、グループ１（２０１）とグループ２（２０２）とが順番に並べられて構成されている。
また、グループ１（２０１）は、グループユニット１（２１０）によって構成されており
、グループユニット１（２１０）が１回繰り返されたことを示す「１」がグループユニッ
ト１（２１０）とともに付されている。さらに、グループユニット１（２１０）は、画素
値０が１１８画素並んでいることを示すペア１（２１１）と、画素値０が８０画素並んで
いることを示すペア２（２１２）と、画素値６３が４画素並んでいることを示すペア３（
２１３）とによって構成されている。
【００３５】
このように、ライン定義３（１１２）において、ペア１（２１１）とペア２（２１２）
ペア３（２１３）とが並んでグループユニット１（２１０）を形成し、このグループユニ
ット１（２１０）が１回繰り返されてグループ１（２０１）を形成している。また、図２
−２に示すように、グループ２（２０２）も同様の構成で形成されている。具体的には、
ペア４（２２１）とペア５（２２２）とペア６（２２３）とが並んでグループユニット２
（２２０）を形成し、このグループユニット２（２２０）が１回繰り返されてグループ２
（２０２）を形成している。
【００３６】
以上説明したように、ライン定義３（１１２）は、上記グループ１（２０１）とグルー
プ２（２０２）とが順に並んで構成されており、ライン定義３（１１２）の画素値の並び
は順番に、画素値「０」が１１８画素、画素値「０」が８０画素、画素値「６３」が４画
素、画素値「０」が７６画素、画素値「０」が６６２０画素、画素値「０」が１１８画素
となる。
【００３７】
また、簡易パターンファイル１００のライン定義部１０１において、同じ画素値のペア
を並べて定義することができる（たとえば、図１に示すライン定義３（１１２）における
、画素値「０」が１１８画素、画素値「０」が８０画素の部分。）。これにより、たとえ
ばすべてのライン定義の先頭に余白部分を設けるためのペアを定義することで、各ライン
の先頭に共通の余白部分を設けることができる。さらに、副走査方向に連続するパターン
を形成する際にも、同様に同じ画素値のペアを並べて定義することができる。
【００３８】
つぎに、ライン配置部１０２についての詳細な説明をする。ライン配置部１０２は、複
数のゾーンによって構成されている。また、ライン配置部１０２の複数のゾーンにはそれ
ぞれゾーン番号が付されており、上から順番にゾーン０，１，２，３（図１に示す１２０
，１２１，１２２，１２３）となっている。さらに、ライン配置部１０２の先頭行（３４
行目）には、それぞれの色のページが何番目から何番目までのゾーンで形成されているか
をあらわす色情報が示されている。
【００３９】
また、それぞれのゾーン０〜３（１２０〜１２３）には、ライン定義部１０１において
定義されたある番号のライン定義がいくつか並んで形成されたラインセットと、いくつか
のラインセットが並んで形成されたゾーンユニットとによって構成されており、それぞれ
のゾーンユニットには、ゾーンユニットが何回繰り返されているかを示すゾーン回数が付
されている。なお、ここではゾーンの定義数をゾーン０〜３（１２０〜１２３）の４個と
したが、ライン定義の定義数と同様に最大で２５６個までのゾーンを任意に定義すること
ができる。ここで、図３を用いてライン配置部１０２についての詳細な説明をおこなう。
【００４０】
図３は、ライン配置の一例を示す図である。図３に示すように、ライン配置部１０２は
、色情報１２４と、ゾーン０（１２０）と、ゾーン１（１２１）と、ゾーン２（１２２）
と、ゾーン（１２３）とによって構成されている。
【００４１】
ゾーン０（１２０）は、ゾーンユニット１（３１２）が１回繰り返されて並んでいる構
成である。また、ゾーンユニット１（３１２）は、ラインセット１（３１１）によって構
成されており、このラインセット１（３１１）は、図１に示すライン定義１（１１０）が
９６８５ライン並んでいることを示している。
【００４２】
ゾーン１（１２１）は、ゾーンユニット２（３２８）が１回繰り返されて並んでいる構
成である。また、ゾーンユニット２（３２８）は、ラインセット２（３２１）と、ライン
セット３（３２２）と、ラインセット４（３２３）と、ラインセット５（３２４）と、ラ
インセット６（３２５）と、ラインセット７（３２６）と、ラインセット８（３２７）と
によって構成されている。
【００４３】
ラインセット２（３２１）は、図１に示すライン定義０が９５２５ライン並んでいるこ
とを示している。また、ラインセット３（３２２）〜ラインセット８（３２７）について
もラインセット２（３２１）と同様であり、所定のライン定義がいくつ並んでいるかを示
している。なお、ゾーン２（１２２）およびゾーン３（１２３）の構成は、上記ゾーン０
（１２０）およびゾーン１（１２１）と同様のため説明を省略する。
【００４４】
つぎに、ライン配置部１０２の先頭行（３４行目）に示された、色情報について詳細に
説明する。色情報は、３４行目の左から順番に、第１色目に応じた色情報３３１として（
１，１）、第２色目に応じた色情報３３２として（０，０）、第３色目に応じた色情報３
３３として（２，２）、第４色目に応じた色情報３３４として（３，３）が示されている
。たとえば、第１色目の色情報３３１である（１，１）は、第１色目の先頭ゾーン番号が
「１」であり、終了ゾーン番号が「１」であることを示している。
【００４５】
なお、ここでは色情報として開始ゾーン番号および終了ゾーン番号がすべて同じ番号と
なっているが、開始ゾーン番号および終了ゾーン番号は、それぞれ異なる番号であっても
よい。具体的には、たとえば、色情報を（０，１）とすることによって、先頭ゾーン番号
を「０」、終了ゾーン番号を「１」としてもよい。
【００４６】
具体的には、ライン配置部１０２の第１色目のライン配置は、順番に、ライン定義０が
９５２５ライン、ライン定義２（１１１）が４ライン、ライン定義３（１１２）が３４ラ
イン、ライン定義２（１１１）が４ライン、ライン定義３（１１２）が３４ライン、ライ
ン定義２（１１１）が４ライン、ライン定義０が８０ライン並んでいる配置となる。
【００４７】
また、第２色目の色情報は（０，０）であるため、第２色目の先頭ゾーン番号は「０」
であり、終了ゾーン番号が「０」である。このため、ライン配置部１０２の第２色目のラ
イン配置は、ライン定義１（１１０）が９５８５ライン並んでいる配置となる。
【００４８】
さらに、第３色目の色情報は（２，２）であるため、第３色目の先頭ゾーン番号は「２
」であり、終了ゾーン番号が「２」である。このため、ライン配置部１０２の第３色目の
ライン配置は、ライン定義０が９５２５ライン、ライン定義４（１１３）が４ライン、ラ
イン定義５（１１４）が３４ライン、ライン定義４（１１３）が４ライン、ライン定義５
（１１４）が３４ライン、ライン定義４（１１３）が４ライン、ライン定義０が８０ライ
ン並んでいる配置となる。
【００４９】
さらに、第４色目の色情報は（３，３）であるため、第３色目の先頭ゾーン番号は「３
」であり、終了ゾーン番号が「３」である。このため、ライン配置部１０２の第４色目の
ライン配置は、ライン定義０が９５２５ライン、ライン定義６（１１５）が４ライン、ラ
イン定義７（１１６）が３４ライン、ライン定義６（１１５）が４ライン、ライン定義７
（１１６）が３４ライン、ライン定義６（１１５）が４ライン、ライン定義０が８０ライ
ン並んでいる配置となる。
【００５０】
以上説明したように、簡易パターンファイル１００に基づいて画像を作成する場合、ラ
イン定義部１０１で定義された各ラインが、色ごとに、ライン配置部１０２に示すライン
配置に基づいて副走査方向に配置され、画像が形成されることとなる。つぎに、この発明
の実施の形態にかかるシステム構成について説明する。
【００５１】
（システム構成）
図４は、この発明の実施の形態にかかる画像データ処理システムのシステム構成の一例
を示すブロック図である。図４において、画像データ処理システム４００は、操作基板４
０１と、メイン基板４０２と、プリンタ４０３とを備えて構成されている。なお、操作基
板４０１およびメイン基板４０２は一体となって構成されていてもよいし、さらには、プ
リンタ４０３内部に操作基板４０１およびメイン基板４０２を設ける構成としてもよい。
【００５２】
操作基板４０１は、プリンタ４０３において印刷出力する簡易パターンファイルを選択
する。ここで、選択される簡易パターンは、後述するフラッシュメモリ４０４に保存され
ており、簡易パターンごとにそれぞれヘッダ情報（ファイル名など）が付加されている。
ユーザは、たとえば図示しない操作部を操作することによって図示しないＬＣＤに表示さ
れた複数の簡易パターンファイル名の中から印刷出力するための簡易パターンファイルを
選択し、図示しないスタートボタンを押下してプリンタ４０３に印刷を開始させる。
【００５３】
メイン基板４０２は、フラッシュメモリ４０４と、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒ
ａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）４０５とを備えている。フラッシュメモリ４０
４は、ブートプログラム、画像データ処理プログラムなどの各種プログラムや複数の簡易
パターンファイルなどを格納している。ＦＰＧＡ４０５は、フラッシュメモリ４０４から
簡易パターンファイルを読み出して復号化（デコード処理）し、復号化した簡易パターン
ファイルをプリンタ４０３に転送する。
【００５４】
プリンタ４０３は、ＦＰＧＡ４０５の制御に基づいて、転送された簡易パターンファイ
ルを印刷出力する。プリンタ４０３としては、レーザプリンタ、インクジェットプリンタ
および熱転写プリンタなどが用いられる。
【００５５】
（画像データ処理の内容）
つぎに、フラッシュメモリ４０４に格納されている簡易パターンファイルを読み出して
復号化する際のデコード処理について詳細に説明する。ＦＰＧＡ４０５は、フラッシュメ
モリ４０４から読み出した簡易パターンファイルに対するデコード処理をリアルタイムに
（連続して）実行し、デコード処理された簡易パターンファイルを順次プリンタ４０３に
転送する。これにより、たとえばデコード処理された１ページ分の画像データを一時保存
するためのメモリなどを必要とすることなく、印刷出力される画像が途中で途切れてしま
うなどの不具合を防止することができる。
【００５６】
上述したように、ＦＰＧＡ４０５はリアルタイムにデコード処理を実行するため、フラ
ッシュメモリ４０４から読み出された簡易パターンファイルを、デコード処理しやすい形
式でＦＰＧＡ４０５内に保存する。具体的には、たとえばフラッシュメモリ４０４から読
み出された簡易パターンファイルを、ＦＰＧＡ４０５内に設けられた簡易パターンファイ
ル格納用内部ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）にテーブル形式で保
存する。
【００５７】
図５は、簡易パターンファイル格納用内部ＲＡＭの概要を説明するための説明図である
。図５に示すように、簡易パターンファイルは、フラッシュメモリ４０４内に設けられた
簡易パターンファイル格納用内部ＲＡＭ５０１に保存される。ここで、それぞれの内部Ｒ
ＡＭ（Ｎｏ．１〜Ｎｏ．９）に保存される内容について説明する。なお、簡易パターンフ
ァイル格納用内部ＲＡＭ５０１は、ライン定義に関するブロック５０２、ライン配置に関
するブロック５０３およびアドレス取得用に関するブロック５０４の３つの分類ブロック
に分けられて設けられている。
【００５８】
ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）には、ライン定義されているすべての画素値
を保存している。画素値を保存する際には、定義された画素値を順番に並べて保存し、簡
易パターンファイルにおける行が変わる部分（グループが変わる場合）には、行が変わる
ことを示す（グループが変わったことを示す）付加情報としてターミネータ情報を画素値
と画素値との間に入れて保存する。具体的には、たとえば図１に示す簡易パターンファイ
ル１００のライン定義部１０１において定義された画素値を保存する場合、ＲＡＭ＿Ｎｏ
．１（ＲＡＭ＿ＰＵＬＳＥ）には、画素値が「０，６３，０，ターミネータ情報，０，０
，６３，０，０，ターミネータ情報，０，…」と順番に並べられて保存される。
【００５９】
ＲＡＭ＿Ｎｏ．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）には、ライン定義されているすべて
の画素の繰り返し回数を保存している。画素値の繰り返し回数を保存する際も上記と同様
に、定義された画素値の繰り返し回数を順番に並べて保存し、グループが変わる場合には
、グループが変わったことを示すターミネータ情報を繰り返し回数と繰り返し回数との間
に入れて保存する。具体的には、たとえば図１に示す簡易パターンファイル１００のライ
ン定義部１０１において定義された画素値の繰り返し回数を保存する場合、ＲＡＭ＿Ｎｏ
．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）には、繰り返し回数が「１１８，６７８０，１１８
，ターミネータ情報，１１８，８０，８０，６６２０，１１８，ターミネータ情報，１１
８，…」と順番に並べられて保存される。
【００６０】
ＲＡＭ＿Ｎｏ．３（ＲＡＭ＿ＲＥＰＥＡＴ＿Ｘ）には、ライン定義されているすべての
グループユニットの繰り返し回数を保存している。グループユニットの繰り返し回数を保
存する際には、定義されたグループユニットの繰り返し回数を順番に並べて保存し、簡易
パターンファイルにおけるライン定義とライン定義との間で行が変わる場合（ライン定義
が変わる場合）は、行が変わったことを示す（ライン定義が変わったことを示す）ターミ
ネータ情報を繰り返し回数と繰り返し回数との間に入れて保存する。具体的には、たとえ
ば図１に示す簡易パターンファイル１００のライン定義部１０１において定義されたグル
ープユニットの繰り返し回数を保存する場合、ＲＡＭ＿Ｎｏ．３（ＲＡＭ＿ＲＥＰＥＡＴ
＿Ｘ）には、繰り返し回数が「１，ターミネータ情報，１，ターミネータ情報，１，１，
ターミネータ情報，１，…」と順番に並べられて保存される。
【００６１】
ＲＡＭ＿Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）には、配置されるすべてのライン定義のライン
定義番号を保存している。ライン定義番号を保存する際も上記と同様に、ライン定義番号
を順番に並べて保存し、ライン定義番号とライン定義番号との間で行が変わる場合（ゾー
ンが変わる場合）は、行が変わったことを示す（ゾーンが変わったことを示す）ターミネ
ータ情報をライン定義番号とライン定義番号との間に入れて保存する。具体的には、たと
えば図１に示す簡易パターンファイル１００のライン配置部１０２において定義されたラ
イン配置に基づいて、配置されるライン定義のライン定義番号を保存する場合、ＲＡＭ＿
Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）には、ライン定義番号が「１，ターミネータ情報，０，２
，３，２，３，２，０，ターミネータ情報，０，…」と順番に並べられて保存される。
【００６２】
ＲＡＭ＿Ｎｏ．５（ＲＡＭ＿ＬＩＮＥ＿ＮＵＭ）には、配置されるすべてのライン定義
の繰り返し回数を保存している。ライン定義の繰り返し回数を保存する際も上記と同様に
、定義されたライン定義の繰り返し回数を順番に並べて保存し、ゾーンが変わる場合には
、ゾーンが変わったことを示すターミネータ情報を繰り返し回数と繰り返し回数との間に
入れて保存する。具体的には、たとえば図１に示すライン配置部１０２において定義され
たライン配置に基づいて、配置されるライン定義の繰り返し回数を保存する場合、ＲＡＭ
＿Ｎｏ．５（ＲＡＭ＿ＬＩＮＥ＿ＮＵＭ）には、繰り返し回数が「９６８５，ターミネー
タ情報，９５２５，４，３４，４，３４，４，８０，ターミネータ情報，９５２５，…」
と順番に並べられて保存される。
【００６３】
ＲＡＭ＿Ｎｏ．６（ＲＡＭ＿ＲＥＰＥＡＴ＿Ｙ）には、配置されるすべてのゾーンユニ
ットの繰り返し回数を保存している。ゾーンユニットの繰り返し回数を保存する際も上記
と同様に、ゾーンユニットの繰り返し回数を順番に並べて保存する。また、ゾーンユニッ
トの繰り返し回数を順番に並べた最後の部分には、ターミネータ情報を入れて保存する。
具体的には、たとえば図１に示すライン配置部１０２において定義されたライン配置に基
づいて、配置されるゾーンユニットの繰り返し回数を保存する場合、ＲＡＭ＿Ｎｏ．６（
ＲＡＭ＿ＲＥＰＥＡＴ＿Ｙ）には、繰り返し回数が「１，１，１，１，ターミネータ情報
」と順番に並べられて保存される。
【００６４】
ＲＡＭ＿Ｎｏ．７（ＲＡＭ＿ＢＮＤ＿ＰＵＬＳＥ）には、ライン定義されているすべて
の画素値が保存されているＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）内にアクセスするた
めのアドレスが保存される。さらに、ＲＡＭ＿Ｎｏ．７（ＲＡＭ＿ＢＮＤ＿ＰＵＬＳＥ）
には、ライン定義されているすべての画素の繰り返し回数が保存されているＲＡＭ＿Ｎｏ
．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）内にアクセスするためのアドレスが保存される。
【００６５】
ＲＡＭ＿Ｎｏ．８（ＲＡＭ＿ＢＮＤ＿ＲＥＰＥＡＴ＿Ｘ）には、ライン定義されている
すべてのグループユニットの繰り返し回数が保存されているＲＡＭ＿Ｎｏ．３（ＲＡＭ＿
ＲＥＰＥＡＴ＿Ｘ）内にアクセスするためのアドレスが保存される。
【００６６】
ＲＡＭ＿Ｎｏ．９（ＲＡＭ＿ＢＮＤ＿ＬＩＮＥ）には、配置されるすべてのライン定義
のライン定義番号が保存されているＲＡＭ＿Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）内および配置
されるすべてのライン定義の繰り返し回数が保存されているＲＡＭ＿Ｎｏ．５（ＲＡＭ＿
ＬＩＮＥ＿ＮＵＭ）内にアクセスするためのアドレスが保存される。つぎに、具体的なサ
ンプリングを例に挙げて簡易パターンファイル格納用内部ＲＡＭ状態の説明をする。
【００６７】
図６−１は、簡易パターンファイルのサンプルの一例を示す説明図である。また、図６
−２は、図６−１に示す簡易パターンファイルを保存した場合の簡易パターンファイル格
納用内部ＲＡＭ状態を示すテーブルである。図６−１に示すように、簡易パターンファイ
ル６００のライン定義部６０１には、破線であらわされた２つのラインについてのライン
定義が示されており、それぞれのライン定義を構成するグループが太線によってあらわさ
れている。
【００６８】
さらに、簡易パターンファイル６００のライン配置部６０２には、一点鎖線であらわす
３つのゾーンが示されている。また、図６−２には、ＦＰＧＡ４０５内に設けられた９つ
の内部ＲＡＭ６２０のそれぞれのＲＡＭに保存されている内容がアドレス６３０と関連付
けられて示されている。なお、図６−１に示す簡易パターンファイル６００は、簡易パタ
ーンファイル格納用内部ＲＡＭ状態の説明をおこなうために、図１に示す簡易パターンフ
ァイル１００の一部を省略して示したものである。
【００６９】
図６−２に示すＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）には、簡易パターンファイル
６００においてライン定義されているすべての画素値が保存されている。このとき、それ
ぞれのアドレスには、１つの画素値が順番に保存されている。また、グループとグループ
との間には、グループ間を区別するためのターミネータ情報を保存する。さらに、ライン
定義されているすべての画素値が保存されたことを示すターミネータ情報を最後のアドレ
スに保存する。なお、ターミネータ情報を保存するアドレスには、ターミネータ情報を示
す下線付きの「０」が示されている。また、デコード処理を一意化するために、アドレス
Ｎｏ．０には空行を示す「画素値０」が保存されており、アドレスＮｏ．１には、ターミ
ネータ情報が保存されている。
【００７０】
また、ＲＡＭ＿Ｎｏ．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）には、ライン定義されている
すべての画素の繰り返し回数が保存されている。このとき、それぞれのアドレスには、１
つの画素の繰り返し回数が順番に保存されている。また、グループとグループとの間には
、グループ間を区別するためのターミネータ情報を保存する。さらに、ライン定義されて
いるすべての画素の繰り返し回数が保存されたことを示すターミネータ情報を最後のアド
レスに保存する。また、デコード処理を一意化するために、アドレスＮｏ．０には空行を
示すための画像幅が保存されており、アドレスＮｏ．１には、ターミネータ情報が保存さ
れている。なお、保存される画像幅は、後述する画像サイズ算出部７０２において計算さ
れる。
【００７１】
つぎに、ＲＡＭ＿Ｎｏ．３（ＲＡＭ＿ＲＥＰＥＡＴ＿Ｘ）には、ライン定義されている
すべてのグループユニットの繰り返し回数が保存されている。このとき、それぞれのアド
レスには、１つのグループユニットの繰り返し回数が順番に保存されている。また、グル
ープとグループとの間には、グループ間を区別するためのターミネータ情報を保存する。
さらに、ライン定義されているすべてのグループユニットの繰り返し回数が保存されたこ
とを示すターミネータ情報を最後のアドレスに保存する。また、デコード処理を一意化す
るために、アドレスＮｏ．０には空行を示すための繰り返し回数「１」が保存されており
、アドレスＮｏ．１には、ターミネータ情報が保存されている。
【００７２】
また、ＲＡＭ＿Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）には、配置されるすべてのライン定義の
ライン定義番号が保存されている。このとき、それぞれのアドレスには、１つのライン定
義番号が順番に保存されている。また、ゾーンとゾーンとの間には、ゾーン間を区別する
ためのターミネータ情報を保存する。さらに、配置されるすべてのライン定義のライン定
義番号が保存されたことを示すターミネータ情報を最後のアドレスに保存する。
【００７３】
つぎに、ＲＡＭ＿Ｎｏ．５（ＲＡＭ＿ＬＩＮＥ＿ＮＵＭ）には、配置されるすべてのラ
イン定義の繰り返し回数が保存されている。このとき、それぞれのアドレスには、１つの
ライン定義の繰り返し回数が順番に保存されている。また、ゾーンとゾーンとの間には、
ゾーン間を区別するためのターミネータ情報を保存する。さらに、配置されるすべてのラ
イン定義におけるライン定義の繰り返し回数が保存されたことを示すターミネータ情報を
最後のアドレスに保存する。
【００７４】
また、ＲＡＭ＿Ｎｏ．６（ＲＡＭ＿ＲＥＰＥＡＴ＿Ｙ）には、配置されるすべてのゾー
ンユニットの繰り返し回数が保存されている。このとき、それぞれのアドレスには、１つ
のゾーンユニットの繰り返し回数が順番に保存されている。また、配置されるすべてのゾ
ーンユニットの繰り返し回数が保存されたことを示すターミネータ情報を最後のアドレス
に保存する。
【００７５】
つぎに、ＲＡＭ＿Ｎｏ．７（ＲＡＭ＿ＢＮＤ＿ＰＵＬＳＥ）には、ＲＡＭ＿Ｎｏ．１（
ＲＡＭ＿ＰＵＬＳＥ）およびＲＡＭ＿Ｎｏ．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）内のいず
れかに保存されているデータにアクセスするためのアドレスを保存している。たとえば、
ライン定義「Ｘ」のデータにアクセスするためには、ＲＡＭ＿Ｎｏ．７（ＲＡＭ＿ＢＮＤ
＿ＰＵＬＳＥ）内のアドレス「Ｘ」に保存している値が、ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿Ｐ
ＵＬＳＥ）およびＲＡＭ＿Ｎｏ．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）におけるライン定義
「Ｘ」の先頭アドレスとなる。
【００７６】
また、ＲＡＭ＿Ｎｏ．８（ＲＡＭ＿ＢＮＤ＿ＲＥＰＥＡＴ＿Ｘ）には、ＲＡＭ＿Ｎｏ．
３（ＲＡＭ＿ＲＥＰＥＡＴ＿Ｘ）内に保存されているデータにアクセスするためのアドレ
スを保存している。たとえば、ライン定義「Ｘ」のデータにアクセスするためには、ＲＡ
Ｍ＿Ｎｏ．８（ＲＡＭ＿ＢＮＤ＿ＲＥＰＥＡＴ＿Ｘ）のアドレス「Ｘ」に保存されている
値が、ＲＡＭ＿Ｎｏ．３（ＲＡＭ＿ＲＥＰＥＡＴ＿Ｘ）におけるライン定義「Ｘ」の先頭
アドレスとなる。
【００７７】
つぎに、ＲＡＭ＿Ｎｏ．９（ＲＡＭ＿ＢＮＤ＿ＬＩＮＥ）には、ＲＡＭ＿Ｎｏ．４（Ｒ
ＡＭ＿ＬＩＮＥ）およびＲＡＭ＿Ｎｏ．５（ＲＡＭ＿ＬＩＮＥ＿ＮＵＭ）内に保存されて
いるデータにアクセスするためのアドレスを保存している。たとえば、ゾーン「Ｘ」のデ
ータにアクセスするためには、ＲＡＭ＿Ｎｏ．９（ＲＡＭ＿ＢＮＤ＿ＬＩＮＥ）のアドレ
ス「Ｘ」に保存されている値が、ＲＡＭ＿Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）およびＲＡＭ＿
Ｎｏ．５（ＲＡＭ＿ＬＩＮＥ＿ＮＵＭ）におけるゾーン「Ｘ」の先頭アドレスとなる。
【００７８】
ここで、図６−１および図６−２を用いて、ライン定義２（６０３）の３個目の画素値
「６３」にアクセスする場合について説明する。まず、ライン定義２（６０３）の先頭ア
ドレスとしてＲＡＭ＿Ｎｏ．７（ＲＡＭ＿ＢＮＤ＿ＰＵＬＳＥ）内のアドレス「２」に保
存されている「５」を取得する。
【００７９】
つぎに、ライン定義２（６０３）の３個目の画素値「６３」にアクセスするため、先頭
アドレス「５」に２（３−１＝２）を加算する。これにより、算出された「７」の値がラ
イン定義２（６０３）の３個目の画素値「６３」のアドレスとなる。そして、このアドレ
ス「７」をＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）に指定し、ＲＡＭ＿Ｎｏ．１（ＲＡ
Ｍ＿ＰＵＬＳＥ）のアドレス「７」から画素値「６３」を取得する。つぎに、上述した簡
易パターンファイルのデコード処理を実行するＦＰＧＡ４０５の機能的構成について説明
する。
【００８０】
（ＦＰＧＡの機能的構成）
図７は、この発明の実施の形態にかかるＦＰＧＡの機能的構成を示すブロック図である
。図７に示すように、ＦＰＧＡ４０５は、保存部７０１と、画像サイズ算出部７０２と、
デコード処理部７０３と、出力部７０４とを含む構成となっている。
【００８１】
保存部７０１は、フラッシュメモリ４０４に格納されている簡易パターンファイルの行
方向への読み込みを連続しておこない、読み込まれた簡易パターンファイルを読み込まれ
た順に、簡易パターンファイルに含まれる種別ごとに異なる記憶領域に振り分けて保存す
る。このとき、簡易パターンファイルの行が変わる部分には、当該行が変わることを示す
付加情報（ターミネータ情報）をあわせて保存する。具体的には、保存部７０１は、簡易
パターンファイルを読み込んで、ＦＰＧＡ４０５内に設けられた簡易パターンファイル格
納用内部ＲＡＭの複数の内部ＲＡＭにテーブル形式で保存する。
【００８２】
画像サイズ算出部７０２は、ＦＰＧＡ４０５内の内部ＲＡＭに保存されているデータに
基づいて、簡易パターンファイルの画像サイズを算出する。具体的には、画像サイズ算出
部７０２は、ＦＰＧＡ４０５内に設けられた内部ＲＡＭから簡易パターンファイルを読み
出し、読み出した簡易パターンファイルの画像の幅を算出するとともに、画像の高さを算
出する。また、画像の高さは、画像の色ごとに（たとえば、Ｃ（シアン），Ｍ（マゼンタ
），Ｙ（イエロー），Ｋ（ブラック））、それぞれ算出する。
【００８３】
デコード処理部７０３は、保存部７０１によって保存されている簡易パターンファイル
を、画像を形成するための順序にしたがって、付加情報であるターミネータ情報とあわせ
て簡易パターンファイル格納用内部ＲＡＭの複数の内部ＲＡＭから読み出す。そして、読
み出された簡易パターンファイルを、付加情報であるターミネータ情報とあわせて画像の
主走査方向のラインごとに連続してデコード処理する。
【００８４】
出力部７０４は、デコード処理部７０３によってデコード処理された簡易パターンファ
イルをＦＰＧＡ４０５内に設けられた図示しないビデオメモリへ、付加情報であるターミ
ネータ情報とあわせて画像の主走査方向のラインごとに連続的に出力する。ここで、ビデ
オメモリとは、ＦＰＧＡ４０５内に設けられた記憶領域であり、ビデオメモリに格納され
たデータは、古いデータ（一番始めに格納されたデータ）から順に読み出される。つぎに
、フラッシュメモリ４０４から読み出した簡易パターンファイルがプリンタ４０３に転送
されるまでの間に、ＦＰＧＡ４０５が簡易パターンファイルに対しておこなう処理の内容
について説明する。
【００８５】
（ＦＰＧＡの画像データ処理手順）
図８は、この発明の実施の形態にかかるＦＰＧＡの処理の手順を示すフローチャートで
ある。図８のフローチャートにおいて、まず、操作基板４０１から印刷開始を示す信号が
通知された場合、ＦＰＧＡ４０５の保存部７０１は、フラッシュメモリ４０４に格納され
ている簡易パターンファイルを読み込んで、ＦＰＧＡ４０５内に設けられた複数の簡易パ
ターンファイル格納用内部ＲＡＭにテーブル形式で保存する（ステップＳ８０１）。
【００８６】
つぎに、画像サイズ算出部７０２は、ＦＰＧＡ４０５内の内部ＲＡＭに格納されている
データに基づいて、簡易パターンファイルの画像サイズを算出する（ステップＳ８０２）
。そして、デコード処理部７０３は、ＦＰＧＡ４０５内の内部ＲＡＭに格納されているデ
ータに基づいて、簡易パターンファイルに対するデコード処理を実行する（ステップＳ８
０３）。
【００８７】
最後に、デコード処理部７０３によってデコード処理された簡易パターンファイルをＦ
ＰＧＡ４０５内に設けられたビデオメモリへ出力して（ステップＳ８０４）、本フローチ
ャートによる一連の処理を終了する。つぎに、ステップＳ８０１において、保存部７０１
がフラッシュメモリ４０４から読み込んだ簡易パターンファイルを、ＦＰＧＡ４０５内に
設けられた簡易パターンファイル格納用内部ＲＡＭに保存する際の処理について詳細に説
明する。
【００８８】
図９−１および図９−２は、ＦＰＧＡの保存部がおこなう処理の手順を示すフローチャ
ートである。図９−１のフローチャートにおいて、まず、ＦＰＧＡ４０５の保存部７０１
は、フラッシュメモリ４０４に格納されている簡易パターンファイルの１行分のデータを
読み込む（ステップＳ９０１）。具体的には、簡易パターンファイル１００（図１参照、
以下同様。）の行方向への読み込みを連続して、上から順に１行ずつ（１行目、２行目、
…）おこなう。
【００８９】
そして、保存部７０１は、読み込んだ１行が空行か否かを判断する（ステップＳ９０２
）。具体的には、たとえば保存部７０１は、簡易パターンファイル１００の５行目を読み
込んだ場合に、空行であると判断する。ここで、読み込んだ１行が空行ではなかった場合
（ステップＳ９０２：Ｎｏ）は、つぎに、読み込んだ１行分のデータに基づいて、グルー
プユニットの繰り返し回数を保存する（ステップ９０３）。具体的には、たとえばステッ
プＳ９０１において簡易パターンファイル１００の２行目を読み込んだ場合、グループユ
ニットの繰り返し回数を「１」と判断し、ＦＰＧＡ４０５の所定の内部ＲＡＭにグループ
ユニットの繰り返し回数「１」を保存する。
【００９０】
つぎに、保存部７０１は、新たに簡易パターンファイルの１行分のデータを読み込む（
ステップＳ９０４）。そして、保存部７０１は、読み込んだ１行分のデータに基づいて、
グループの画素値を保存する（ステップＳ９０５）。具体的には、たとえばステップＳ９
０４において簡易パターンファイル１００の２行目を読み込んだ場合、グループの画素値
を「０，６３，０」と判断し、ＦＰＧＡ４０５の所定の内部ＲＡＭに画素値を「０，６３
，０」と順に並べて保存する。
【００９１】
ここで、グループ内（読み込んだ１行分）の画素値をすべて保存した場合、保存部７０
１は、ターミネータ情報を追加して保存する（ステップＳ９０６）。つぎに、保存部７０
１は、また新たに簡易パターンファイルの１行分のデータを読み込む（ステップＳ９０７
）。そして、保存部７０１は、読み込んだ１行分のデータに基づいて、グループの画素値
の繰り返し回数を保存する（ステップＳ９０８）。具体的には、たとえば簡易パターンフ
ァイル１００の３行目を読み込んだ場合、グループの画素値の繰り返し回数を「１１８，
６７８０，１１８」と判断し、ＦＰＧＡ４０５の所定の内部ＲＡＭにグループの画素値の
繰り返し回数を「１１８，６７８０，１１８」と順に並べて保存する。
【００９２】
ここで、グループ内（読み込んだ１行分）の画素値の繰り返し回数をすべて保存した場
合、保存部７０１は、ターミネータ情報を追加して保存し（ステップＳ９０９）、ステッ
プＳ９０１に戻り、本フローチャートによる一連の処理を繰り返す。
【００９３】
また、ステップＳ９０２において、読み込んだ１行が空行であると判断された場合（ス
テップＳ９０２：Ｙｅｓ）、保存部７０１は、新たに簡易パターンファイルの１行分のデ
ータを読み込む（ステップＳ９１０）。そして、保存部７０１は、ステップＳ９０２およ
びステップＳ９１０において読み込んだ２行分のデータに基づいて、連続して空行か否か
を判断する（ステップＳ９１１）。
【００９４】
ここで、連続して空行ではないと判断された場合（ステップＳ９１１：Ｎｏ）、保存部
７０１は、ターミネータ情報を追加して保存し（ステップＳ９１２）、ステップＳ９０３
に移行し、本フローチャートによる一連の処理をおこなう。また、ステップＳ９１１にお
いて、連続して空行であると判断された場合は（ステップＳ９１１：Ｙｅｓ）、、保存部
７０１は、ライン定義の読み込みが終了したと判断し、図９−２に示すステップＳ９２１
に移行する。
【００９５】
図９−２に示すフローチャートのステップＳ９２１において、保存部７０１は、新たに
簡易パターンファイルの１行分のデータを読み込む（ステップＳ９２１）。具体的には、
たとえば簡易パターンファイル１００のライン配置部１０２の最初の行である３４行目を
読み込む。つぎに、保存部７０１は、読み込んだ１行分のデータに基づいて、１色分の開
始ゾーンを内部ＲＡＭに保存し（ステップＳ９２２）、１色分の終了ゾーンを内部ＲＡＭ
に保存する（ステップＳ９２３）。具体的には、簡易パターンファイル１００の３４行目
を読み込んだ場合、１色分の開始ゾーンを「１」として保存し、１色分の終了ゾーンを「
１」として保存する。
【００９６】
そして、保存部７０１は、すべての色について開始ゾーンおよび終了ゾーンが保存され
たか否かを判断する（ステップＳ９２４）。具体的には、簡易パターンファイル１００の
３４行目に示されている４色分すべての開始ゾーンおよび終了ゾーンを保存したか否かを
判断する。ここで、すべての色について開始ゾーンおよび終了ゾーンが保存されていない
場合（ステップＳ９２４：Ｎｏ）は、ステップＳ９２２に戻り、一連の処理を繰り返す。
【００９７】
また、すべての色について開始ゾーンおよび終了ゾーンが保存された場合（ステップＳ
９２４：Ｙｅｓ）、保存部７０１は、新たに簡易パターンファイルの１行分のデータを読
み込む（ステップＳ９２５）。そして、すべての簡易パターンファイルの読み込みが終了
したか否かを判断する（ステップＳ９２６）。ここで、読み込みが終了していないと判断
された場合（ステップＳ９２６：Ｎｏ）は、ステップＳ９２５において読み込んだ１行分
のデータに基づいて、ゾーンユニットの繰り返し回数を保存する（ステップＳ９２７）。
具体的には、たとえば簡易パターンファイル１００の３５行目を読み込んだ場合、ゾーン
ユニットの繰り返し回数を「１」と判断し、所定の内部ＲＡＭにゾーンユニットの繰り返
し回数「１」を保存する。
【００９８】
つぎに、保存部７０１は、新たに簡易パターンファイルの１行分のデータを読み込む（
ステップＳ９２８）。そして、保存部７０１は、読み込んだ１行分のデータに基づいて、
ゾーンのライン定義番号を保存する（ステップＳ９２９）。具体的には、たとえば簡易パ
ターンファイル１００の３９行目を読み込んだ場合、ゾーンのライン定義番号を「０，２
，３，２，３，２，０」と判断し、内部ＲＡＭにゾーンのライン定義番号「０，２，３，
２，３，２，０」を保存する。
【００９９】
ここで、ゾーン内（読み込んだ１行分）のライン定義番号をすべて保存した場合、保存
部７０１は、ターミネータ情報を追加して保存する（ステップＳ９３０）。つぎに、保存
部７０１は、新たに簡易パターンファイルの１行分のデータを読み込む（ステップＳ９３
１）。そして、保存部７０１は、読み込んだ１行分のデータに基づいて、ゾーンのライン
定義の繰り返し回数を保存する（ステップＳ９３２）。具体的には、たとえば簡易パター
ンファイル１００の４０行目を読み込んだ場合、ゾーンのライン定義の繰り返し回数を「
９５２５，４，３４，４，３４，４，８０」と判断し、内部ＲＡＭにゾーンのライン定義
の繰り返し回数「９５２５，４，３４，４，３４，４，８０」を保存する。
【０１００】
ここで、グループ内（読み込んだ１行分）のゾーンのライン定義の繰り返し回数をすべ
て保存した場合、保存部７０１は、ターミネータ情報を追加して保存し（ステップＳ９３
３）、つぎに、ステップＳ９２５に戻り、本フローチャートによる一連の処理を繰り返す
。また、ステップＳ９２６において、読み込みが終了したと判断された場合（ステップＳ
９２６：Ｙｅｓ）は、本フローチャートによる一連の処理を終了する。
【０１０１】
つぎに、図８に示すフローチャートのステップＳ８０２において、画像サイズ算出部７
０２がＦＰＧＡ４０５内の内部ＲＡＭに保存されているデータに基づいて、簡易パターン
ファイルの画像サイズを算出する際の処理について詳細に説明する。
【０１０２】
図１０−１は、ＦＰＧＡの画像サイズ算出部がおこなう幅算出処理の手順を示すフロー
チャートである。また、図１０−２は、ＦＰＧＡの画像サイズ算出部がおこなう高さ算出
処理の手順を示すフローチャートである。図１０−１のフローチャートにおいて、まず、
ＦＰＧＡ４０５の画像サイズ算出部７０２は、ＦＰＧＡ４０５の簡易パターンファイル格
納用内部ＲＡＭに保存されている画素値の繰り返し回数およびグループユニットの繰り返
し回数を読み出す（ステップＳ１００１）。具体的には、図６−２に示す簡易パターンフ
ァイル格納用内部ＲＡＭ状態を示すテーブルに示すように、ＲＡＭ＿Ｎｏ．２に保存され
ている画素値の繰り返し回数を読み出し、ＲＡＭ＿Ｎｏ．３に保存されているグループユ
ニットの繰り返し回数を読み出す。
【０１０３】
つぎに、画像サイズ算出部７０２は、グループユニットの繰り返し回数がターミネータ
情報か否かを判断する（ステップＳ１００２）。具体的には、画像サイズ算出部７０２は
、ステップＳ１００１において読み出したグループユニットの繰り返し回数が下線付きの
「０」であるか否かを判断し、下線付きの「０」であった場合にターミネータ情報である
と判断する。
【０１０４】
ここで、グループユニットの繰り返し回数がターミネータ情報ではなかった場合（ステ
ップＳ１００２：Ｎｏ）は、つぎに、画素値の繰り返し回数がターミネータ情報か否を判
断する（ステップＳ１００３）。具体的には、画像サイズ算出部７０２は、ステップＳ１
００１において読み出した画素値の繰り返し回数が下線付きの「０」であるか否かを判断
し、下線付きの「０」であった場合にターミネータ情報であると判断する。
【０１０５】
そして、画素値の繰り返し回数がターミネータ情報であった場合（ステップＳ１００３
：Ｙｅｓ）は、画像サイズ算出部７０２は、画素数カウント値およびグループユニットの
繰り返し回数の乗算結果を幅に加算する（ステップＳ１００４）。つぎに、画像サイズ算
出部７０２は、画素数カウント値をリセットし（ステップＳ１００５）、グループユニッ
トの繰り返し回数のアドレスをつぎのアドレスに移行する（ステップＳ１００６）。
【０１０６】
さらに、画像サイズ算出部７０２は、画素値の繰り返し回数のアドレスをつぎのアドレ
スに移行し（ステップＳ１００７）、つぎに、ステップＳ１００１に戻り、本フローチャ
ートによる一連の処理を繰り返す。また、ステップＳ１００３において、画素値の繰り返
し回数がターミネータ情報ではなかった場合（ステップＳ１００３：Ｎｏ）は、画像サイ
ズ算出部７０２は、画素数カウント値を更新し（ステップＳ１００８）、ステップＳ１０
０７に移行する。
【０１０７】
また、ステップＳ１００２において、グループユニットの繰り返し回数がターミネータ
情報であった場合（ステップＳ１００２：Ｙｅｓ）は、画像サイズ算出部７０２は、画像
の幅をすべて算出したと判断して、本フローチャートによる一連の処理を終了する。
【０１０８】
つぎに、画像サイズ算出部７０２がおこなう画像の高さを算出する処理について図１０
−２を用いて説明する。図１０−２のフローチャートにおいて、まず、ＦＰＧＡ４０５の
画像サイズ算出部７０２は、保存部７０１によってＦＰＧＡ４０５の簡易パターンファイ
ル格納用内部ＲＡＭに保存されているライン定義の繰り返し回数およびゾーンユニットの
繰り返し回数を読み出す（ステップＳ１０２０）。具体的には、図６−２に示すＲＡＭ＿
Ｎｏ．５に保存されているライン定義の繰り返し回数を読み出し、ＲＡＭ＿Ｎｏ．６に保
存されているゾーンユニットの繰り返し回数を読み出す。
【０１０９】
そして、画像サイズ算出部７０２は、すべての色についてライン定義の繰り返し回数お
よびゾーンユニットの繰り返し回数の読み出しが終了したか否かを判断する（ステップＳ
１０２１）。ここで、すべての色について読み出しが終了していない場合（ステップＳ１
０２１：Ｎｏ）、画像サイズ算出部７０２は、１色分のライン定義の繰り返し回数および
ゾーンユニットの繰り返し回数の読み出しが終了したか否かを判断する（ステップＳ１０
２２）。
【０１１０】
ここで、１色分の読み出しが終了していない場合（ステップＳ１０２２：Ｎｏ）、画像
サイズ算出部７０２は、ライン定義の繰り返し回数がターミネータ情報か否かを判断する
（ステップＳ１０２３）。そして、ライン定義の繰り返し回数がターミネータ情報ではな
かった場合（ステップＳ１０２３：Ｎｏ）、画像サイズ算出部７０２は、高さカウント値
を更新する（ステップＳ１０２４）。具体的には、画像サイズ算出部７０２は、画像の高
さにライン定義の繰り返し回数を加算する。
【０１１１】
そして、画像サイズ算出部７０２は、ライン定義の繰り返し回数のアドレスをつぎのア
ドレスに移行し（ステップＳ１０２５）、ステップＳ１０２０に戻り、本フローチャート
による一連の処理を繰り返す。また、ステップＳ１０２１において、すべての色について
読み出しが終了した場合（ステップＳ１０２１：Ｙｅｓ）は、本フローチャートによる一
連の処理を終了する。
【０１１２】
さらに、ステップＳ１０２３において、ライン定義の繰り返し回数がターミネータ情報
であった場合（ステップＳ１０２３：Ｙｅｓ）、画像サイズ算出部７０２は、高さカウン
ト値とゾーンユニットの繰り返し回数との乗算結果を画像の高さに加算する（ステップＳ
１０２６）。そして、画像サイズ算出部７０２は、高さカウント値をリセットする（ステ
ップＳ１０２７）。つぎに、画像サイズ算出部７０２は、ゾーンユニットの繰り返し回数
のアドレスをつぎのアドレスに移行し（ステップＳ１０２８）、ステップＳ１０２５に移
行する。
【０１１３】
また、ステップＳ１０２２において、１色分の読み出しが終了したと判断された場合（
ステップＳ１０２２：Ｙｅｓ）、画像サイズ算出部７０２は、色番号の更新をおこない（
ステップＳ１０２９）、ステップＳ１０２７に移行する。
【０１１４】
つぎに、図８に示すフローチャートのステップＳ８０３において、デコード処理部７０
３がＦＰＧＡ４０５内の内部ＲＡＭに格納されているデータに基づいて、簡易パターンフ
ァイルに対するデコード処理を実行し、デコード処理をおこなった簡易パターンファイル
をＦＰＧＡ４０５内に設けられたビデオメモリへ出力する際の処理について詳細に説明す
る。
【０１１５】
図１１は、ＦＰＧＡのデコード処理部がおこなう処理の手順を示すフローチャートであ
る。図１１のフローチャートにおいて、まず、ＦＰＧＡ４０５のデコード処理部７０３は
、ＦＰＧＡ４０５の簡易パターンファイル格納用内部ＲＡＭに保存されている１色分の開
始ゾーン番号および終了ゾーン番号を取得する（ステップＳ１１０１）。つぎに、デコー
ド処理部７０３は、取得したゾーン内の先頭ライン定義番号を取得する（ステップＳ１１
０２）。これにより、デコード処理部７０３は、ライン定義されている画素値にアクセス
することができる。
【０１１６】
そして、デコード処理部７０３は、内部ＲＡＭから画素値を読み出す（ステップＳ１１
０３）。具体的には、図６−２に示すＲＡＭ＿Ｎｏ．１に保存されている画素値を読み出
す。つぎに、デコード処理部７０３は、読み出した画素値を出力する（ステップＳ１１０
４）。このとき、デコード処理部７０３は、画素値の繰り返し回数を判断し、それぞれの
画素値の繰り返し回数分、ＦＰＧＡ４０５内に設けられたビデオメモリへ出力する。たと
えば、デコード処理部７０３は、図６−２に示すＲＡＭ＿Ｎｏ．２から読み出した画素値
の繰り返し回数に基づいて、繰り返し回数分出力したか否かを判断する。
【０１１７】
ここで、デコード処理部７０３は、画素値を画素値の繰り返し回数分、ビデオメモリへ
出力したか否かを判断する（ステップＳ１１０５）。そして、すべて出力した場合（ステ
ップＳ１１０５：Ｙｅｓ）は、つぎに、デコード処理部７０３は、１つのグループユニッ
ト内のすべての画素値の出力が終了したか否かを判断する（ステップＳ１１０６）。また
、ステップＳ１１０５において、画素値を画素値の繰り返し回数分出力していない場合（
ステップＳ１１０５：Ｎｏ）は、ステップＳ１１０３に戻り、本フローチャートによる一
連の処理を繰り返す。
【０１１８】
ステップＳ１１０６において、１つのグループユニット内のすべての画素値の出力が終
了した場合（ステップＳ１１０６：Ｙｅｓ）、デコード処理部７０３は、グループユニッ
トの繰り返しが終了したか否かを判断する（ステップＳ１１０７）。具体的には、たとえ
ばデコード処理部７０３は、図６−２に示すＲＡＭ＿Ｎｏ．３から読み出したグループユ
ニットの繰り返し回数に基づいて、グループユニットの繰り返し回数が終了したか否かを
判断する。
【０１１９】
また、１つのグループユニット内のすべての画素値の出力が終了していない場合（ステ
ップＳ１１０６：Ｎｏ）、ステップＳ１１０３に戻り、本フローチャートによる一連の処
理を繰り返す。
【０１２０】
ステップＳ１１０７において、グループユニットの繰り返しが終了するのを待って、終
了した場合（ステップＳ１１０７：Ｙｅｓ）、つぎに、デコード処理部７０３は、１ライ
ン分（１つのライン定義）の画素値の出力が終了したか否かを判断する（ステップＳ１１
０８）。ここで、１ライン分の画素値の出力が終了した場合（ステップＳ１１０８：Ｙｅ
ｓ）、つぎに、デコード処理部７０３は、ライン定義の繰り返しが終了したか否かを判断
する（ステップＳ１１０９）。また、ステップＳ１１０８において、１ライン分の画素値
の出力が終了していないと判断された場合（ステップＳ１１０８：Ｎｏ）は、ステップＳ
１１０３に戻り、本フローチャートによる一連の処理を繰り返す。
【０１２１】
ステップＳ１１０９においてライン定義の繰り返しが終了するのを待って、繰り返しが
終了した場合（ステップＳ１１０９：Ｙｅｓ）、１つのゾーンユニット内のすべてのライ
ン定義の繰り返しが終了したか否かを判断する（ステップＳ１１１０）。具体的には、た
とえばデコード処理部７０３は、図６−２に示すＲＡＭ＿Ｎｏ．４およびＲＡＭ＿Ｎｏ．
５からライン定義番号およびライン定義の繰り返し回数を読み出す。そして、デコード処
理部７０３は、読み出したライン定義番号およびライン定義の繰り返し回数に基づいて、
１つのゾーンユニット内に配置されている順にそれぞれのライン定義の繰り返しが終了し
たか否かを判断するとともに、ゾーンユニット内のすべてのライン定義の繰り返しが終了
したか否かを判断する。
【０１２２】
ここで、１つのゾーンユニット内のすべてのライン定義の繰り返しが終了したと判断さ
れた場合（ステップＳ１１１０：Ｙｅｓ）は、デコード処理部７０３は、ゾーンユニット
の繰り返しが終了したか否かを判断する（ステップＳ１１１１）。具体的には、たとえば
デコード処理部７０３は、図６−２に示すＲＡＭ＿Ｎｏ．６から読み出したゾーンユニッ
トの繰り返し回数に基づいて、ゾーンユニットの繰り返しが終了したか否かを判断する。
【０１２３】
そして、ゾーンユニットの繰り返しが終了するのを待って、繰り返しが終了した場合（
ステップＳ１１１１：Ｙｅｓ）は、１色分についての画素値の出力が終了したか否かを判
断する（ステップＳ１１１２）。具体的には、ステップＳ１１０１において取得した１色
分の開始ゾーン番号および終了ゾーン番号に基づいて、１色分についての画素値の出力が
終了したか否かを判断する。
【０１２４】
ここで、１色分についての画素値の出力が終了した場合（ステップＳ１１１２：Ｙｅｓ
）、本フローチャートによる一連の処理を終了する。なお、たとえば簡易パターンファイ
ル１００に示すように、４色分のライン配置が定義されている場合には、デコード処理部
７０３は、４色分のすべてについて上述した一連の処理と同様の処理をおこなう。また、
ステップＳ１１１２において、１色分についての画素値の出力が終了していない（ステッ
プＳ１１１２：Ｎｏ）、ステップＳ１１０３に戻り、本フローチャートによる一連の処理
を繰り返す。
【０１２５】
図１１のフローチャートで説明したデコード処理部７０３がおこなう処理は、リアルタ
イムでおこなう必要があるため、デコード処理部７０３は、たとえばつぎのような制約に
基づいて上記処理をおこなうようにしてもよい。デコード処理部７０３は、図１１のステ
ップＳ１１０３において、ＲＡＭ＿Ｎｏ．１に保存されている画素値を読み出す際には、
複数の内部ＲＡＭからのデータの読み出しを連続的におこなっている。ここで、デコード
処理部７０３が画素値を読み出す際の詳細な説明を図１２を用いて説明する。
【０１２６】
図１２は、ラインの先頭の画素値を読み出すまでのクロック数を示す説明図である。図
１２に示すように、ラインの先頭の画素値を読み出す際には、まず、デコード処理部７０
３は、図１２中矢印Ａで示す１クロック目にＲＡＭ＿Ｎｏ．９（ＲＡＭ＿ＢＮＤ＿ＬＩＮ
Ｅ）に対してゾーン番号を指定する。このとき、指定するゾーン番号は、たとえば、図１
１のフローチャートのステップＳ１１０１において取得した開始ゾーン番号などである。
【０１２７】
つぎに、デコード処理部７０３は、図１２中矢印Ｂで示す２クロック目にＲＡＭ＿Ｎｏ
．９（ＲＡＭ＿ＢＮＤ＿ＬＩＮＥ）から１クロック目に指定したゾーン番号の先頭アドレ
スを取得して、取得した先頭アドレスをＲＡＭ＿Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）に対して
指定する。そして、デコード処理部７０３は、図１２中矢印Ｃで示す３クロック目にＲＡ
Ｍ＿Ｎｏ．４（ＲＡＭ＿ＬＩＮＥ）から２クロック目に指定した先頭アドレスに応じたラ
イン定義番号を取得して、取得したライン定義番号をＲＡＭ＿Ｎｏ．７（ＲＡＭ＿ＢＮＤ
＿ＰＵＬＳＥ）に対して指定する。
【０１２８】
つぎに、デコード処理部７０３は、図１２中矢印Ｄで示す４クロック目にＲＡＭ＿Ｎｏ
．７（ＲＡＭ＿ＢＮＤ＿ＰＵＬＳＥ）から３クロック目に指定したライン定義番号の先頭
アドレスを取得して、取得したライン定義番号の先頭アドレスをＲＡＭ＿Ｎｏ．１（ＲＡ
Ｍ＿ＰＵＬＳＥ）に対して指定する。そして、デコード処理部７０３は、図１２中矢印Ｅ
で示す５クロック目にＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）から４クロック目に指定
したライン定義番号に応じたラインの画素値を取得する。
【０１２９】
以上説明したように、ラインの先頭の画素値を取得（読み出す）するには、ライン間に
おいて５クロック分の待ち時間（待ちクロック）が必要となる。このため、デコード処理
部７０３によって連続して出力されるラインとラインとの間に、つぎのラインの先頭画素
にアクセスするまでの期間相当分のクロック（待ちクロック）を設定する。これにより、
ラインが変わる際に、ラインの先頭の画素値を読み出す際に必要となる５クロック分のク
ロック差により、印刷出力するためのデコード処理が追いつかず、プリンタ４０３におい
て印刷出力するときの画像が途中で途切れてしまうなどの不具合を防ぐことができる。
【０１３０】
なお、同一ラインにおける画素値の読み出しをおこなう際は、デコード処理部７０３は
、ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）に対して順にアドレスを指定して、指定した
順に画素値を読み出していけばよいため、図１２に示すような複数の内部ＲＡＭからのデ
ータの読み出しを連続的におこなう必要はない。
【０１３１】
このため、同一ラインにおけるすべての画素値の読み出しをおこなう際において、最初
の画素値を読み出した以降は、ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）のアドレスのみ
を更新することによってリアルタイムに画素値を読み出すことができる。具体的には、画
素値の繰り返し回数の最後の画素値を読み出すクロックと同クロックにおいて、ＲＡＭ＿
Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）のアドレスを更新することによって連続して１つのライ
ン分の画素値を読み出すことができる。
【０１３２】
しかしながら、読み出したデータがグループが変わったことを示すターミネータ情報で
あった場合には、ターミネータ情報を読み出したクロックと同一クロックにおいて出力す
べき画素値の読み出しをおこなうことができないため、連続して１ライン分の画素値を読
み出すことができなくなってしまう。ここで、ターミネータ情報を読み出してしまうこと
によって、連続して１ライン分の画素値を読み出すことができない場合の一例を図１３を
用いて説明する。
【０１３３】
図１３は、連続して１ライン分の画素値を読み出すことができない場合の一例を示す説
明図である。図１３に示す読み出し例は、図２−１に示すライン定義に基づいて画素値を
出力した場合の読み出し例である。図１３に示すように、デコード処理部７０３は、図１
３中矢印Ａで示すクロックにおいて、図２に示すペア１（２１１）の１１８個目の画素値
「０」を読み出し、ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）のアドレスを１つ加算（更
新）する。つぎに、デコード処理部７０３は、図２に示すペア２（２１２）の１個目の画
素値「０」を読み出す。このとき、デコード処理部７０３は、ＲＡＭ＿Ｎｏ．１（ＲＡＭ
＿ＰＵＬＳＥ）のアドレスを更新しない。
【０１３４】
そして、デコード処理部７０３は、ペア２（２１２）の画素値を順に読み出し、図１３
中矢印Ｂで示すクロックにおいて、ペア２（２１２）の８０個目画素値「０」を読み出し
、ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）のアドレスを１つ加算（更新）する。つぎに
、デコード処理部７０３は、図１３中矢印Ｃで示すクロックにおいて、図２に示すペア３
（２１３）の１個目の画素値「６３」を読み出す。このとき、デコード処理部７０３は、
ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）のアドレスを更新しない。
【０１３５】
そして、デコード処理部７０３は、ペア３（２１３）の画素値を順に読み出し、図１３
中矢印Ｅで示すクロックにおいて、ペア３（２１３）の４個目画素値「６３」を読み出し
、ＲＡＭ＿Ｎｏ．１（ＲＡＭ＿ＰＵＬＳＥ）のアドレスを１つ加算（更新）する。つぎに
、デコード処理部７０３は、図１３中矢印Ｆで示すクロックにおいて、図２に示すペア４
（２２１）の１個目の画素値「０」を読み出す必要があるのだが、ターミネータ情報を読
み出してしまう。
【０１３６】
このため、ターミネータ情報を読み出したクロックと同一クロックにおいて出力すべき
ペア４（２２１）の１個目の画素値「０」の読み出しをおこなうことができないため、連
続して１ライン分の画素値を読み出すことができない。この不具合を防ぐために、ＦＰＧ
Ａ４０５に設けられている簡易パターンファイル格納用内部ＲＡＭをデュアルポートＲＡ
Ｍとし、デコード処理部７０３は、リアルタイムに出力するための画素値（着目アドレス
の画素値）を読み出すとともに、１つ先のアドレス（着目アドレスに「１」を加算したア
ドレス）の画素値および画素値の繰り返し回数を読み出すようにする。
【０１３７】
ここで、デュアルポートＲＡＭとは、データの入出力のための信号のポート（出入口）
が２つ設けられたＲＡＭのことであり、１つのポートからデータを読み出すとともに、同
時にもう一方のポートからデータを読み出すことができる。このとき、新たな記憶領域で
ある内部ＲＡＭをさらに設け、この内部ＲＡＭに余分に読み出したデータを一時保存する
ようにしてもよい。そして、デコード処理部７０３は、デュアルポートＲＡＭから読み出
したデータを用いて、アドレスを更新するか否かを判断するようにしてもよい。
【０１３８】
また、デコード処理部７０３は、着目アドレスの画素値を繰り返し回数分読み出した際
に、つぎのようにアドレスを更新する。デコード処理部７０３は、読み出されたデータ（
パターンデータ）に、付加情報であるターミネータ情報が含まれているか否かを判断する
。そして、デコード処理部７０３は、上記判断結果に基づいて、読み出されたデータを出
力する。
【０１３９】
具体的には、デコード処理部７０３は、着目アドレスのつぎのアドレスのデータがター
ミネータ情報か否を判断する。そして、着目アドレスのつぎのアドレスのデータがターミ
ネータ情報ではなかった場合には、デコード処理部７０３は、アドレスを「着目アドレス
＋１」に更新する。また、たとえば着目アドレスのつぎのアドレスのデータがターミネー
タ情報であった場合は、グループユニットの繰り返しが終了しているか否かによってアド
レスの更新方法が異なる。
【０１４０】
まず、グループユニットの繰り返しが終了していなかった場合、デコード処理部７０３
は、現在出力中のグループユニットの先頭アドレスにアドレスを更新する。つぎに、グル
ープユニットの繰り返しが終了している場合、デコード処理部７０３は、つぎのグループ
ユニットの先頭アドレス（着目アドレス＋２）にアドレスを更新する。
【０１４１】
したがって、デコード処理部７０３は、アドレスを更新する際に、その時点でどのよう
にアドレスを更新すればよいのかを把握しておく必要がある。このため、デコード処理部
７０３は、アドレスの更新をおこなうクロックの１つ前のクロックにおいて、更新方法を
示すフラグを状態に応じてアドレスを更新する。なお、フラグのＯＮ／ＯＦＦの制御は、
デコード処理部７０３がそれぞれの画素値の繰り返し回数をカウントしながら判断するよ
うにしてもよい。
【０１４２】
図１４は、アドレス更新方法フラグの内容を示す説明図である。図１４に示すアドレス
更新表１４００には、フラグ名称１４０１、フラグ名称が示す状態１４０２およびフラグ
がＯＮになる条件１４０３が示されている。なお、図１４に示す各フラグは、同時にＯＮ
になる場合もあるが、アドレス更新表１４００に示すフラグ名称１４０１の最上行から順
に優先順位が付されている。このため、たとえば複数のフラグがＯＮとなった場合、デコ
ード処理部７０３は、最も優先度が高いフラグのみをＯＮにするようにしてもよい。
【０１４３】
ここで、デコード処理部７０３によってフラグがＯＮに制御される際の一例を説明する
。たとえば、読み出した画素値のカウント値が「画素値の繰り返し回数−１」となった場
合、具体的には、画素値を「繰り返し回数−１」分出力した際に、デコード処理部７０３
は、ＰｉｘＲｅｐＥｎｄフラグ１４０４をＯＮにする。
【０１４４】
上述したように、デコード処理部７０３は、リアルタイムに画素値を出力するために、
着目アドレスと着目アドレスに「１」を加算したアドレスに関するデータは常に読み出し
ておく必要がある。しかしながら、デコード処理部７０３によってつぎのアドレスに関す
るデータを読み出して把握していたとしても、ターミネータ情報のつぎの画素値の繰り返
し回数が「１」であった場合には、つぎのような問題が発生してしまう。
【０１４５】
図１５は、簡易パターンファイルのライン定義の一例を示す図である。また、図１６は
、連続して１ライン分の画素値を読み出すことができない場合の一例を示す説明図である
。図１６に示す読み出し例は、図１５に示すライン定義に基づいて画素値を出力した場合
の読み出し例である。図１６中矢印Ａで示すクロックにおいて、デコード処理部７０３は
、図１５に示すペア１５０３の３個目の画素値「６３」を読み出すとともに、つぎのアド
レスのデータであるターミネータ情報１５０４を把握している。このとき、図１４に示す
ＰｉｘＲｅｐＥｎｄフラグ１４０４がＯＮとなる。
【０１４６】
また、図１６中矢印Ｂで示すクロックにおいて、デコード処理部７０３は、ペア１５０
３の４個目の画素値「６３」を読み出すとともに、つぎのアドレスのデータであるターミ
ネータ情報１５０４を把握している。このとき、ＰｉｘＲｅｐＥｎｄフラグ１４０４がＯ
Ｎであり、かつ、つぎのデータがターミネータ情報１５０４であるため、アドレスを「着
目アドレス＋２」に更新する。そして、図中１６中矢印Ｃで示すクロックにおいて、デコ
ード処理部７０３は、ペア１５０４の１個目の画素値「０」を読み出すとともに、つぎの
アドレスへの更新をおこなう。
【０１４７】
しかしながら、図中１６中矢印Ｃで示すクロックにおいて、アドレス変更方法が不定の
ため、つぎのアドレスへの更新をおこなうことができず、連続して１つのライン分の画素
値を読み出すことができなくなってしまう問題が生じる。この問題は、ターミネータ情報
１５０４のつぎのデータが事前にわかっていないために発生する問題であるため、つぎの
ような対策をすることによって解決することができる。
【０１４８】
たとえば、ＲＡＭ＿Ｎｏ．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）に保存されているデータ
と同じデータを保存する別の内部ＲＡＭを設ける（たとえばＲＡＭ＿Ｎｏ．１０（ＲＡＭ
＿ＰＵＬＳＥ＿ＮＵＭ）とする。）。そして、デコード処理部７０３は、ＲＡＭ＿Ｎｏ．
２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）に「着目アドレス」を指定して、「着目アドレス」の
データおよび「着目アドレス＋１」のデータを読み出す。また、同時にデコード処理部７
０３は、ＲＡＭ＿Ｎｏ．１０（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）に「着目アドレス＋２」を
指定して、「着目アドレス＋２」のデータおよび「着目アドレス＋３」のデータを読み出
す。
【０１４９】
このように、デコード処理部７０３は、２つの内部ＲＡＭを用いて４つのアドレス分の
データを読み出すようにする。着目アドレスの更新は最大で「＋２」であるため（つぎの
グループユニットに変わる場合）、デコード処理部７０３は、グループユニットが変わっ
た直後であっても、常に着目アドレスの画素値の繰り返し回数と「着目アドレス＋１」の
画素値の繰り返し回数を把握することができるようになる。
【０１５０】
なお、ＲＡＭ＿Ｎｏ．２（ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）およびＲＡＭ＿Ｎｏ．１０（
ＲＡＭ＿ＰＵＬＳＥ＿ＮＵＭ）を用いてデコード処理部７０３が読み出したデータは、Ｆ
ＰＧＡ４０５内に設けられた、それぞれ異なる第１の記憶領域および第２の記憶領域に一
時保存されるように構成してもよい。
【０１５１】
ここで、着目アドレスを更新する際の読み出しデータの切り替え方法について説明する
。デコード処理部７０３は、読み出されたデータ（パターンデータ）に付加情報であるタ
ーミネータ情報が含まれていると判断した場合は、ターミネータ情報のつぎに読み出され
たデータ（パターンデータ）の内容をさらに判断する。そして、この判断結果に基づいて
、上述した第１の記憶領域または第２の記憶領域からデータ（パターンデータ）を読み出
して、読み出した当該パターンデータを出力する。
【０１５２】
具体的には、たとえばデコード処理部７０３が図１５に示すペア１５０１を出力してい
るときには、デコード処理部７０３が読み出しておくべき読出データは、ペア１５０１、
ペア１５０２、ペア１５０３、ターミネータ情報１５０４であり、必要としている読出デ
ータは、ペア１５０１およびペア１５０２である。このとき、ペア１５０１の画素値「０
」が１１８回繰り返された場合は、必要とする読出データをペア１５０２およびペア１５
０３に切り替える。
【０１５３】
また、デコード処理部７０３が図１５に示すペア１５０２を出力しているときには、デ
コード処理部７０３が読み出しておくべき読出データは、ペア１５０２、ペア１５０３、
ターミネータ情報１５０４、ペア１５０５であり、必要としている読出データは、ペア１
５０２およびペア１５０３である。このとき、ペア１５０２の画素値「０」が８０回繰り
返された場合は、必要とする読出データをペア１５０３およびターミネータ情報１５０４
に切り替える。
【０１５４】
さらに、デコード処理部７０３が図１５に示すペア１５０３を出力しているときには、
デコード処理部７０３が読み出しておくべき読出データは、ペア１５０３、ターミネータ
情報１５０４、ペア１５０５、ペア１５０６であり、必要としている読出データは、ペア
１５０３およびターミネータ情報１５０４である。このとき、ペア１５０３の画素値「６
３」が４回繰り返された場合は、必要とする読出データをペア１５０５およびペア１５０
６に切り替える。
【０１５５】
なお、上述したように４つ分のアドレスに関するデータを読み出すように構成したのは
、つぎのような問題が生じてしまう場合があるからである。具体的には、たとえばターミ
ネータ情報の直後のデータが、画素値の繰り返し回数が「１」であり、かつそのつぎのデ
ータがターミネータ情報であった場合、画素値の繰り返し回数が「１」のつぎのデータが
ターミネータ情報であることをあらかじめデコード処理部７０３が把握することができず
、アドレス変更方法が不定となってしまう問題が生じてしまうためである。
【０１５６】
また、この発明の実施の形態にかかる画像データ処理システム４００では、フラッシュ
メモリ４０４から読み出した画像を形成するためのパターンデータを、バッファメモリな
どに一時保存することなく連続的に出力する構成としたが、パターンデータを出力する際
の方式はこれに限られない。たとえば、画像データ処理システム４００にバッファメモリ
を備えたＰＣ（パーソナルコンピュータ）を接続し、画像を形成するためのパターンデー
タをすべてＰＣのバッファメモリに一時保存する。そして、ＦＰＧＡ４０５は、ＰＣ内部
のバッファメモリからパターンデータを読み出して、プリンタ４０３に画像のパターンデ
ータを印刷出力させる構成としてもよい。
【０１５７】
以上説明したように、この発明の実施の形態にかかる画像データ処理方法によれば、読
み込んだ簡易パターンファイル１００を簡易パターンファイル格納用内部ＲＡＭである複
数の内部ＲＡＭに、連続的に読み出すことができる状態で再配置して保存し、この保存し
た簡易パターンファイル１００を画像を形成するための順序にしたがって読み出すことが
できる。そして、読み出した画像データを画像のラインごとに連続的に出力することがで
きるため、プリンタ４０３の画質評価をおこなう際に、出力された画像が途中で途切れて
しまうなどの不具合を防ぐことができ、適切な画質評価をおこなうことができる。
【０１５８】
さらに、この画像データ処理方法によれば、連続して出力されるラインとラインとの間
に、つぎのラインの先頭画素にアクセスするまでの待ちクロックを設定することができる
ため、プリンタ４０３の画質評価をおこなう際に、１つのラインの出力が終了してつぎの
ラインの先頭画素にアクセスするまでのクロックによって先頭画素の読み出しが間に合わ
ず、ラインとラインとの間で画像が途切れてしまうなどの不具合を防ぐことができ、適切
な画質評価をおこなうことができる。
【０１５９】
また、この画像データ処理方法によれば、読み出された簡易パターンファイル１００に
ターミネータ情報が含まれているか否かをあらかじめ判断することができ、この判断結果
に応じて簡易パターンファイル１００を連続的に出力することができるため、プリンタ４
０３の画質評価をおこなう際に、出力された画像が途中で途切れてしまうなどの不具合を
防ぐことができ、適切な画質評価をおこなうことができる。
【０１６０】
さらに、この画像データ処理方法によれば、読み出された簡易パターンファイル１００
に含まれるターミネータ情報のつぎに読み出される簡易パターンファイル１００の内容を
あらかじめ判断し、この判断結果に応じて第１の記憶領域または第２の記憶領域から簡易
パターンファイル１００を読み出して簡易パターンファイル１００を連続的に出力するこ
とができるため、プリンタ４０３の画質評価をおこなう際に、出力された画像が途中で途
切れてしまうなどの不具合を防ぐことができ、適切な画質評価をおこなうことができる。
【０１６１】
なお、本実施の形態で説明した画像データ処理方法は、あらかじめ用意されたプログラ
ムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行すること
により実現することができる。このプログラムは、ハードディスク、フレキシブルディス
ク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録さ
れ、コンピュータによって記録媒体から読み出されることによって実行される。またこの
プログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒
体であってもよい。
【図面の簡単な説明】
【０１６２】
【図１】簡易パターンファイルのデータ構造の一例を示す説明図。
【図２−１】簡易パターンファイルのライン定義の一例を示す図。
【図２−２】図２−１に示すライン定義の内容を示す説明図。
【図３】簡易パターンファイルのライン配置の一例を示す図。
【図４】画像データ処理システムのシステム構成の一例を示すブロック図。
【図５】簡易パターンファイル格納用内部ＲＡＭの概要を説明するための説明図。
【図６−１】簡易パターンファイルのサンプルの一例を示す説明図。
【図６−２】簡易パターンファイル格納用内部ＲＡＭ状態を示すテーブル。
【図７】ＦＰＧＡの機能的構成を示すブロック図。
【図８】ＦＰＧＡの処理の手順を示すフローチャート。
【図９−１】保存部がおこなう処理の手順を示すフローチャート。
【図９−２】保存部がおこなう処理の手順を示すフローチャート。
【図１０−１】画像サイズ算出部がおこなう処理の手順を示すフローチャート。
【図１０−２】画像サイズ算出部がおこなう処理の手順を示すフローチャート。
【図１１】デコード処理部がおこなう処理の手順を示すフローチャート。
【図１２】ラインの先頭の画素値を読み出すまでのクロック数を示す説明図。
【図１３】画素値を読み出すことができない場合の一例を示す説明図。
【図１４】アドレス更新方法フラグの内容を示す説明図。
【図１５】簡易パターンファイルのライン定義の一例を示す図。
【図１６】画素値を読み出すことができない場合の一例を示す説明図。
【符号の説明】
【０１６３】
１００，６００  簡易パターンファイル、１０１，６０１  ライン定義部、１０２，６
０２  ライン配置部、１１１０  ライン定義１、１１１  ライン定義２、１１２  ライン
定義３、１１３  ライン定義４、１１４  ライン定義５、１１５  ライン定義６、１１６
ライン定義７、１２０  ゾーン０、１２１  ゾーン１、１２２  ゾーン２、１２３  ゾ
ーン３、２０１、グループ１、２１０  グループユニット１、２１１  ペア１、３１２  
ゾーンユニット１、３１２  ラインセット１、４００  画像データ処理システム、４０１
操作基板、４０２  メイン基板、４０３  プリンタ、４０４  フラッシュメモリ、４０
５  ＦＰＧＡ、５０１  簡易パターンファイル格納用内部ＲＡＭ、５０２  ライン定義に
関するブロック、５０３  ライン配置に関するブロック、５０４  アドレス取得用に関す
るブロック、７０１  保存部、７０２  画像サイズ算出部、７０３  デコード処理部、７
０４  出力部、１４００  アドレス更新表、１４０１  フラグ名称、１４０２  フラグ名
称が示す状態、１４０３  フラグがＯＮになる条件、１５０４  ターミネータ情報
【図１】
2007280246.tif 000003
【図２−１】
2007280246.tif 000004
【図２−２】
2007280246.tif 000005
【図３】
2007280246.tif 000006
【図４】
2007280246.tif 000007
【図５】
2007280246.tif 000008
【図６−１】
2007280246.tif 000009
【図６−２】
2007280246.tif 000010
【図７】
2007280246.tif 000011
【図８】
2007280246.tif 000012
【図９−１】
2007280246.tif 000013
【図９−２】
2007280246.tif 000014
【図１０−１】
2007280246.tif 000015
【図１０−２】
2007280246.tif 000016
【図１１】
2007280246.tif 000017
【図１２】
2007280246.tif 000018
【図１３】
2007280246.tif 000019
【図１４】
2007280246.tif 000020
【図１５】
2007280246.tif 000021
【図１６】
2007280246.tif 000022