IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

<>
  • 特許-符号化装置 図1
  • 特許-符号化装置 図2
  • 特許-符号化装置 図3
  • 特許-符号化装置 図4
  • 特許-符号化装置 図5
  • 特許-符号化装置 図6
  • 特許-符号化装置 図7
  • 特許-符号化装置 図8
  • 特許-符号化装置 図9
  • 特許-符号化装置 図10
  • 特許-符号化装置 図11
  • 特許-符号化装置 図12
  • 特許-符号化装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-14
(45)【発行日】2022-03-23
(54)【発明の名称】符号化装置
(51)【国際特許分類】
   H04N 1/413 20060101AFI20220315BHJP
   B41J 5/30 20060101ALI20220315BHJP
【FI】
H04N1/413
B41J5/30 Z
【請求項の数】 3
(21)【出願番号】P 2018014634
(22)【出願日】2018-01-31
(65)【公開番号】P2019134286
(43)【公開日】2019-08-08
【審査請求日】2020-10-23
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(72)【発明者】
【氏名】白石 尚人
【審査官】橘 高志
(56)【参考文献】
【文献】特開平06-197189(JP,A)
【文献】特開昭59-117864(JP,A)
【文献】特開2000-101445(JP,A)
【文献】特開平04-241576(JP,A)
【文献】特開2010-200174(JP,A)
【文献】特開2009-159123(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/413
B41J 5/30
(57)【特許請求の範囲】
【請求項1】
画像形成装置の画像データを読み込む画像読込部と、
前記画像読込部が読み込んだ前記画像データを画素単位で符号化する画素単位符号化部と、
前記画素単位符号化部により符号化した画素単位符号を格納する第1の符号記憶手段と、
前記画像読込部が読み込んだ前記画像データをライン単位で符号化するライン単位符号化部と、
前記ライン単位符号化部により符号化したライン単位符号を格納する第2の符号記憶手段と、
前記画素単位符号データのデータ量である符号長を、所定のデータ量と比較して判断する画素単位符号長判断部と、
前記画素単位符号長判断部の判断結果に基づき、前記符号長の方が大きい場合に、前記第2の符号記憶手段に格納されたライン単位符号を選択し、小さい場合に、前記第1の符号記憶手段を選択する符号選択手段と、
前記符号選択手段で選択された符号を出力する符号出力手段と、
を有することを特徴とする符号化装置。
【請求項2】
前記所定のデータ量は、ライン単位符号長であることを特徴とする請求項1記載の符号化装置。
【請求項3】
前記所定のデータ量は、1ライン分の画像データの幅であることを特徴とする請求項1記載の符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置に関する。
【背景技術】
【0002】
従来、スキャナ等で読み取った画像データをプリンタエンジンで出力する画像形成装置では、画像データをある単位(画素単位、ブロック単位、ライン単位、バンド単位等)で分割し、分割した単位ごとに圧縮処理した結果である符号データを、いったんメモリに記憶することが知られている。その後、各符号データはメモリから読出され、復号化されてプリンタエンジンの印字スピード以内にプロッタに対して転送される。
【0003】
例えば特許文献1には、ライン単位に分割した画像データをライン単位ごとに圧縮してメモリの空き領域に記憶していき、メモリの空き領域がない場合はそのラインの画像データは間引く処理を行うことにより、記憶容量に合った画質と圧縮処理を得る画像処理装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1では、圧縮処理の結果膨張した符号データが発生した場合、プリンタエンジンによる印刷スピード以内にデータ転送が出来ずに、印刷画像が劣化する問題があった。
【課題を解決するための手段】
【0005】
上記課題を解決するために、請求項1にかかる発明は、画像形成装置の画像データを読み込む画像読込部と、前記画像読込部が読み込んだ前記画像データを画素単位で符号化する画素単位符号化部と、前記画素単位符号化部により符号化した画素単位符号を格納する第1の符号記憶手段と、前記画像読込部が読み込んだ前記画像データをライン単位で符号化するライン単位符号化部と、前記ライン単位符号化部により符号化したライン単位符号を格納する第2の符号記憶手段と、前記画素単位符号データのデータ量である符号長を、所定のデータ量と比較して判断する画素単位符号長判断部と、前記画素単位符号長判断部の判断結果に基づき、前記符号長の方が大きい場合に、前記第2の符号記憶手段に格納されたライン単位符号を選択し、小さい場合に、前記第1の符号記憶手段を選択する符号選択手段と、前記符号選択手段で選択された符号を出力する符号出力手段と、を有することを特徴とする。
【発明の効果】
【0006】
本発明によれば、プリンタエンジンによる印刷スピード以内にデータ転送が出来ずに、印字画像が劣化するのを防止できる。
【図面の簡単な説明】
【0007】
図1】第1の実施形態の符号化装置である画像形成装置のハードウェア構成図である。
図2】第1の実施形態の画像形成装置の機能ブロック図である。
図3】第1の実施形態の画像形成処理フロー図である。
図4】符号データのデータ構造の一例である。
図5】符号データのラインヘッダの一例である。
図6】復号化処理部の機能ブロック図である。
図7】符号化処理部の機能ブロック図の第一の例である。
図8】符号化処理フロー図の第一の例である。
図9】第2の実施形態の符号化装置であるプリンタサーバのハードウェア構成図である。
図10】第2の実施形態の符号化装置であるプリンタサーバの機能ブロック図である。
図11】符号化処理部の機能ブロック図の第二の例である。
図12】符号化処理フロー図の第二の例である。
図13】プリンタエンジン50のハードウェア構造図である。
【発明を実施するための形態】
【0008】
以下、添付の図面に基づき、本発明の実施の形態について説明する。なお、本発明の実施の形態を説明するための各図面において、同一の機能もしくは形状を有する部材や構成部品等の構成要素については、判別が可能な限り同一符号を付すことにより一度説明した後ではその説明を省略することがある。
【0009】
まず、本発明の第1の実施形態に係る符号化装置のハードウェア構成について説明する。図1に示すように符号化装置である画像形成装置100と、PC(Personal Computer)などの端末装置1000とが、ネットワークNによって接続され、プリントシステムP1を構成している。
【0010】
ここで、ネットワークNはLAN(Local Area Network)、インターネット、LAN経由のインターネット等を含む概念である。端末装置1000はネットワークNに有線で接続されていてもよいし、無線接続のいわゆるモバイル端末などでもよい。一つの画像形成装置100に対し、複数の端末装置1000が接続されていてもよい。
【0011】
画像形成装置100は、一例として、コピー機能、FAX機能、プリント機能、スキャナ機能、また、入力画像(スキャナ機能による読み取り原稿や、プリンタ機能あるいはFAX機能により入力された画像)を保存や配信する機能また各種情報の処理を行う情報処理装置としての機能等を複合して有する、いわゆるMFP(Multi Function Peripheral)と称される複合機である。なお、本実施形態において、画像形成装置100で処理される「画像データ」には、内容としては画像が含まれていないデータ、つまりテキスト情報のみのデータも含むものとする。
【0012】
画像データは、画素データの集合からなり、またその画素データはビット列からなるデジタルデータである。画像データを構成する画素領域としては、1ページ分の画像データをライン状に分けたライン単位、複数のラインからなるバンド単位、また複数画素×複数画素からなるブロック単位などがあるが、以降「バンド画像」はバンド単位の画像データを、「バンド符号」はバンド単位の画像データを符号化した符号データを意味する。
【0013】
画像形成装置100は、プリンタコントローラボード10と、用紙などの記憶媒体に画像を印刷するプリンタエンジン50を有する。画像形成装置100内の各装置、各部材間を接続する矢印はバスを表し、これらバスにより画像形成装置100内で各データの受け渡しが可能である。
【0014】
端末装置1000は、ユーザが入力する印刷指示の操作に従い、画像形成装置100に対する印刷指示データを作成し、画像形成装置100に送信する。印刷指示データは、プリンタ等への出力イメージを記述してプリンタに対して指示する言語であるPDL(Page Description Language)で記述されるため、以降PDLデータとよぶこともある。
【0015】
プリンタコントローラボード10は、ROM(Read Only Memory)1と、メモリコントローラ内蔵CPU(Central Processing Unit)2と、メインメモリ3と、画像処理コントローラ4と、エンジンコントローラ5と、ラインメモリ6a、6bを有する。各装置、各部材間を接続するバスの中で、メモリコントローラ内蔵CPU2と画像処理コントローラ4間は一例としてシリアル転送インターフェースであるPCIeバス7で接続されている。
【0016】
ここでメインメモリ3は、描画コマンド領域3a(図1中では「描画コマンド」と示す。)と、PDLデータ領域3b(図1中ではこのデータ領域を「PDLデータ」と示す。)と、バンド画像領域3c、バンド符号領域3dからなる記憶領域を有する。
【0017】
バンド画像領域3cは、シアン用バンド画像の記憶領域であるC版バンド画像領域(図1中ではこのデータ領域を「C版バンド画像」と示す。)、マゼンタ用バンド画像の記憶領域であるM版バンド画像領域(図1中ではこのデータ領域を「M版バンド画像」と示す。)、イエロー用バンド画像の記憶領域であるY版バンド画像領域(図1中ではこのデータ領域を「Y版バンド画像」と示す。)、ブラック用バンド画像の記憶領域であるK版バンド画像領域(図1中ではこのデータ領域を「K版バンド画像」と示す。)を有する。
【0018】
バンド符号領域3dは、シアン用バンド符号の記憶領域であるC版バンド符号領域(図1中ではこのデータ領域を「C版バンド符号」と示す。)、マゼンタ用バンド符号の記憶領域であるM版バンド符号領域(図1中ではこのデータ領域を「M版バンド符号」と示す。)、イエロー用バンド符号の記憶領域であるY版バンド符号領域(図1中ではこのデータ領域を「Y版バンド符号」と示す。)、ブラック用バンド符号の記憶領域であるK版バンド符号領域(図1中ではこのデータ領域を「K版バンド符号」と示す。)を有している。
【0019】
ROM1は、画像形成装置100の動作に関する各種のプログラムや、文字などのフォント情報を格納する。
【0020】
メモリコントローラ内蔵CPU2は後述するように、CPU21とメモリコントローラ24を内蔵し、プリンタコントローラボード10に搭載された各装置および各装置間のやり取りに関する全体の制御を行う。
【0021】
メモリコントローラ内蔵CPU2は、CPU21と、CPU I/F(Interface)22と、メモリアービタ23(図1中「メモリABR」と示す。)と、メモリコントローラ24と、DMAC(Direct Memory Access Controller)25と、バスコントローラ26と、ネットワークI/F27とを有する。
【0022】
CPU21は、プリンタコントローラボード10全体を制御し、プリントシステムP1のプリンタコントローラとして機能する。一例として、端末装置1000から送られてきたPDLデータを解析して、CMYK各画像の画像データを生成し、メインメモリ3のPDLデータ領域3bの各色に対応する領域に記憶する。また、端末装置1000から送られてきたPDLデータを解析してCMYK各画像の画像データを生成して、バンド画像領域3cへCMYK画像部を生成する。
【0023】
CPU I/F22は、CPU21のインターフェースであり、メモリアービタ23を介して、メインメモリ3や各種コントローラと接続されている。
【0024】
メモリアービタ23は、メインメモリ3と各種のコントローラ間の調停を行う。
【0025】
メモリコントローラ24は、メインメモリ3をコントロールし、メモリアービタ23を介して、各種コントローラやCPU21と接続されている。
【0026】
DMAC(Direct Memory Access Controller)25は、メモリコントローラ24と、画像処理コントローラ4間のダイレクトメモリアクセスを制御する。
【0027】
バスコントローラ26はバスとつながる各周辺コントローラとのバスの調停を行う。
【0028】
ネットワークI/F27は、ネットワークNに接続されており、ネットワークNから各種データやコマンドなどを受け取り、メモリアービタ23を介して各種のコントローラに接続されている。
【0029】
画像処理コントローラ4は一例としてASIC(Application Specific Integrated Circuit)からなり、画像データを符号化して符号データを生成したり、符号データを復号化したりする。
【0030】
エンジンコントローラ5は、プリンタエンジン50が実行する印刷を制御する。
【0031】
ラインメモリ6a、6bは、エンジンコントローラ5の制御に従い、エンジンコントローラ5がプリンタエンジン50に転送する前のライン単位の画像データを、それぞれ一時記憶する。
【0032】
画像処理コントローラ4は、さらにバスI/F41と、復号化部42と、符号化部43を有する。
【0033】
バスI/F41は、画像処理コントローラ4とバスとのインターフェースであり、画像処理コントローラ4とメモリコントローラ内蔵CPU2とを、PCIeバス7を介して接続する。
【0034】
復号化部42は、メインメモリ3のバンド符号領域3dからメモリコントローラ24およびバス等を介して取得したCMYK各版のバンド符号データに対して復号化を行い、復号化の結果である画像データを、エンジンコントローラ5に転送する。
【0035】
符号化部43は、メインメモリ3のバンド画像領域3cからメモリコントローラ24およびバス等を介して取得したCMYK各版のバンド画像データを読み込んで符号化を行い、符号化の結果である符号データを、バス等およびメモリコントローラ24を介してバンド符号領域3dに記憶する。
【0036】
なお画像形成装置100はさらに、不揮発性記憶媒体、一例としてHDD(Hard Disk Drive)などを有していても良い。また画像形成装置100は、符号化部43を有しているため、符号化装置ということもできる。
【0037】
図2は、画像形成装置100の機能ブロック図である。
【0038】
画像形成装置100は、通信処理部110と、制御部120と、読出・書込処理部130と、読出・書込処理部140と、第一記憶部150と、第二記憶部160とを有する。
【0039】
通信処理部110は、ネットワークI/F27の処理によって実現され、端末装置1000などの外部装置とネットワーク経由で通信する機能を実行する。
【0040】
制御部120はCPU21がROM1やHDD等に記憶されたプログラムを実行することによって実現され、プリントシステムP1全体を制御するプリンタコントローラとして機能する。
【0041】
画像形成装置100は、PDL解析部121と、描画処理部122と、符号化処理部123と、復号化処理部124と、エンジン制御部125とを有する。
【0042】
PDL解析部121は、CPU21がROM1やHDD等に記憶されたプログラムを実行することによって実現され、端末装置1000から受信したPDLデータを解析して、画像データを生成する。
【0043】
描画処理部122は、CPU21がROM1やHDD等に記憶されたプログラムを実行することによって実現され、描画コマンドから画像データ作成する。
【0044】
符号化処理部123は、符号化部43によって実現され、画像データを符号化したバンド符号データを生成する。
【0045】
復号化処理部124は、復号化部42によって実現され、バンド符号データを復号化し、画像データを生成する。
【0046】
エンジン制御部125は、エンジンコントローラ5によって実現され、プリンタエンジン50による画像印刷の制御を行う。
【0047】
読出・書込処理部130は、メモリコントローラ24によって実現され、第一の記憶部150に各種データを記憶させたり、記憶された各種データを読み出したりする機能を実行する。
【0048】
読出・書込処理部140は、エンジンコントローラ5によって実現され、第二の記憶部160に画像データを記憶させたり、記憶された画像データを読み出したりする機能を実行する。
【0049】
第一の記憶部150は、メインメモリ3によって実現される。第一の記憶部150は、PDLデータ記憶部151と、描画コマンド記憶部152と、バンド画像記憶部153と、バンド符号記憶部154とを有し、それぞれ、PDLデータ領域3b、描画コマンド領域3a、バンド画像領域3c、バンド符号領域3dによって実現され、それぞれPDLデータ、描画コマンド、画像データとしてのバンド画像データ、バンド符号データを記憶する機能を実行する。
【0050】
第二の記憶部160は、第一ライン記憶部161、第二ライン記憶部162からなり、第一ライン記憶部161と第二ライン記憶部162はそれぞれ、ラインメモリ6a、ラインメモリ6bによって実現され、復号化された結果であるライン単位の画像データを記憶する。
【0051】
図3は、画像形成装置100が実施する画像形成処理フロー図である。プリンタコントローラとしての制御部120が本処理フロー全体を制御している。
【0052】
まず、通信処理部110は、端末装置1000で生成されたPDLデータを受信する通信処理を行う(S1)。
【0053】
読出・書込処理部130は、通信処理部110が受信したPDLデータをPDLデータ記憶部151に記憶させる(S2)。
【0054】
PDL解析部121は、読出・書込処理部130を介しPDLデータを読み込みPDLデータから描画コマンドを生成する(S3)。
【0055】
読出・書込処理部130は、描画処理部122が生成した描画コマンドを、描画コマンド記憶部152に記憶させる(S4)。
【0056】
描画処理部122は、読出・書込処理部130を介し描画コマンドを読み込み、描画コマンドからCMYK各画像データを生成する(S5)。
【0057】
読出・書込処理部130は、描画処理部122が生成した画像データを、バンド画像記憶部153に記憶させる(S6)。
【0058】
符号化処理部123は、読出・書込処理部130を介しバンド画像記憶部153から画像データを読み込んで符号化し、CMYK各バンド符号データを生成する(S7)。
【0059】
読出・書込処理部130は、符号化処理部123が生成したバンド符号データを、バンド符号記憶部154に記憶させる(S8)。
【0060】
復号化処理部124は、読出・書込処理部130を介しバンド符号データを読み込んで復号化し、復号化されたデータ、つまり画像データを、エンジン制御部125に転送する(S10)。
【0061】
エンジン制御部125は、転送された画像データに基づき、用紙等の記憶媒体に印刷を行う(S11)。
【0062】
ここで、符号データのデータ構造を説明する。図4は、Nラインからなる1バンド分の画像データを符号化した符号データのデータ構造の一例を示す図である。
【0063】
図4において、1ライン符号~Nライン符号と示されるように、バンド画像データはバンド画像データを構成する1ライン毎に符号化されており、1ライン毎に符号化は完結している。各ライン符号の先頭にはラインヘッダがある。ラインヘッダは、その後に続く符号が、画素単位符号データまたはライン単位符号データのいずれかであることを表す。
【0064】
ラインヘッダに続き、図4中で「画素単位/ライン単位符号」と記載されている箇所は、画素単位符号データもしくはライン単位符号データを示している。続いて「ライン終端」が、各ラインデータの終了を示している。終端符号の後ろに領域が余った場合は、余ったビット数分のデータを付加する。図4中、1ライン符号、2ライン符号、Nライン符号それぞれについて余ったビット数分のデータを、xバイトNOP、yバイトNOP、zバイトNOPと示す。
【0065】
ここで、上述の画素単位符号データとライン単位符号データ、それぞれを生成する符号化の特徴について説明する。まず1ライン毎の符号化には、画素単位の符号化とライン単位の符号化の2種類を用いている。この時、1ライン分の画素数である複数画素からなる画像データに対し、画素単位に符号化を行った結果の符号データを、画素単位符号データと呼ぶ。そして、1ライン分の複数画素からなる画像データに対し、1ライン単位に符号化を行った結果の符号データをライン単位符号データと呼ぶ。
【0066】
画素単位符号(バイト単位)は、画素単位符号であることを示すラインヘッダに続き、1ライン分の圧縮された画素データで構成されている。ライン単位符号は、ライン単位符号であることを示すラインヘッダに続き、圧縮されていない1ライン分の画素データで構成されている。
【0067】
画素単位符号は、画素単位に符号化する為に、圧縮率は高いが、膨張が発生した場合、膨張率が高い符号化方式である。それに対しライン単位符号化は、ライン単位に符号化する為、符号化した場合の膨張率(最悪圧縮率時の符号長とラインのデータ量の倍率)が小さいが、あまりデータ量を圧縮出来ない符号化方式である。言い換えると、前述したように圧縮されていない1ライン分の画素データをそのまま含むため圧縮率は低いが、その一方大きく膨張することはなく符号データのデータ量の最大が決まっているといえる。
【0068】
なお、圧縮方式としてはハフマン符号化、LZ符号化方式、ランレングス符号化方式などの可逆符号化であってもよいし、JPEG(Joint Photographic Experts Group)方式による符号化のような非可逆符号化であってもよく、またこれらに限られない。画素単位符号化とライン単位符号化で異なる符号化方式を行っても良い。
【0069】
図5は、符号データのラインヘッダの一例を示す図である。画素単位符号のライン符号には、ラインヘッダとして図5(a)に示すように「0」を付与し、ライン単位符号のラインヘッダとしては図5(b)に示すように「1」を付与する。
【0070】
図6は復号化処理部124の機能ブロック図である。図6を用いて復号化処理の各工程を説明する。なお、図6においては、画像データを「画像」、符号データを「符号」と省略して示している。
【0071】
符号読込部1241は、バンド符号記憶部154から符号データを読み込み、読み込まれた符号データを、ライン単位復号部1242および画素単位復号部1243に入力する。
【0072】
ライン単位復号部1242は、受け取った符号データを復号し、出力符号選択部1244へ入力する。
【0073】
画素単位復号部1243は、受け取った符号データを復号し出力符号選択部1244へ入力する。
【0074】
符号解析部1246は、符号読込部1241で読み込まれた符号データの最初のヘッダを認識して、その符号データがライン単位符号データなのか、画素単位符号データなのかを判断する。そしてライン単位復号部1242と画素単位復号部1243とを制御し、出力符号選択部1244へ切り替え信号を入力する。なお本実施形態においては、ヘッダが0であれば画素単位符号データ、ヘッダが1であればライン単位符号データと判断する。
【0075】
出力符号選択部1244は、符号解析部1246からの切り替え信号により切り替えられ、ライン単位復号部1242および画素単位復号部1243から入力された画像データのうちいずれかを画素書込部1245へ入力する。
【0076】
画素書込部1245は、出力符号選択部1244から受け取った画像データである画素値を、エンジン制御部125および読出・書込処理部140を介して第一ライン記憶部161または第二ライン記憶部162いずれかに書き込むことにより記憶させる。
【0077】
ここで、図3で説明したフロー実行時の、プリントシステムP1内で転送されるデータについて説明する。以下にデータ転送処理T1,T2,T3,T4を、再度図1を参照しながら説明する。
【0078】
制御部120は、バンド画像領域3cのバンド画像データを符号化部43へ転送する(T1)。すると符号化部43は画像データに符号化を行い、バンド符号データを生成する。
【0079】
次に制御部120は、符号化部43からバンド符号データを、各種バスを経由させてバンド符号領域3dに記憶するためにメインメモリ3に転送する(T2)。さらに制御部120は、バンド符号領域3dのバンド符号データを、プリンタエンジン50の印刷動作に同期するように,各種バスを介して復号化部42へ転送する(T3)。すると復号化部42は、転送されたバンド符号データを復号する。
【0080】
そして制御部120は、復号化された画像データをエンジンコントローラ5へ転送し、エンジンコントローラ5はバンド画像データをライン単位に、二つのラインメモリ6aまたは6bどちらかに順次書き込み、その後ラインメモリ6aまたは6bの、いずれか書き込んだラインメモリから、画像データをプリンタエンジン50へ転送する。つまり制御部120は転送処理T4として、復号化された結果の画像データを、復号化部42からエンジンコントローラ5へ転送し、エンジンコントローラ5から画像データを1ライン毎にラインメモリ6aまたはラインメモリ6bへ、そしてラインメモリ6aまたはラインメモリ6bから再度エンジンコントローラ5を経て、プリンタエンジン50の印刷動作に同期するようにプリンタエンジン50へと転送する(T4)。
【0081】
T4において,プリンタエンジン50は、二つのラインメモリ6a、6bを有し、画像データを1ライン毎にラインメモリ6aまたは6bを使用してプリンタエンジン50の印刷動作に同期するタイミングで転送するため、T3~T4のデータの転送処理が、一例としてPCIeバス7の転送レートが低い等の理由で、プリンタエンジン50の1ラインの線速に間に合わないと印刷画像に異常が発生する。
【0082】
ここで従来の符号化では、ライン単位の画像データを符号化する際の符号長が制御されていないため、符号データが膨張することがあった。その場合、転送する符号データ量自体が増えてしまう。加えて、転送するデータ量以外の、データ転送スピードを遅くする条件、例えばバスの転送スピードがあまり高くない、またはCPU21でのメモリ競合によりWAITが入るなどの条件が重なると、さらに転送にかかる時間が増え、プリンタエンジン50の線速に対して、必要な画像データの転送が間に合わないことがあった。
【0083】
そこで本実施形態においては、符号化を実施した結果、符号データがライン単位に膨張しないような符号化装置、符号化方法を提供する。
【0084】
図7は符号化処理部の機能ブロック図である。なお、図7のブロック図を用いて第一の実施形態の符号化処理の各工程を説明する。なお、図7においては、画像データを「画像」、符号データを「符号」と省略して示している。
【0085】
画像読込部1231は、所定の複数画素単位の画像データを読み込む機能を有する。つまり制御部120が転送し、符号化処理部123に入力された画像データを、所定の複数画素毎に読み込む。本実施形態においては一例として、符号化処理部123に入力されたバンド画像データを、画像読取部1231が所定の複数画素単位の画像データとして1ライン分の複数画素毎に読み込む場合として説明するがこれに限られない。
【0086】
画像読込部1231は、読み込んだ所定の複数画素単位の画像データである所定単位画像データを、所定単位符号化部としての、ライン単位符号化部1232と、画素単位符号化部としての、画素単位符号化部1234との両方に一例として同時に入力する。
【0087】
ライン単位符号化部1232は、画像データをライン単位に符号化し、符号化結果であるライン単位符号データを、所定単位符号データ記憶部である、ライン単位符号のラインメモリ1233に書き込む。
【0088】
ライン単位符号のラインメモリ1233は、符号化された1ライン分のライン単位符号データを一時的に記憶する。
【0089】
画素単位符号化部1234は、画像データを画素単位に符号化し、符号化結果である画素単位符号データを、画素単位符号データ記憶部である、画素単位符号のラインメモリ1235に書き込む。また画素単位符号化部1234は、画素単位符号データの符号長、一例としてバイト数を後述の画素単位符号長判断部1237に入力する。
【0090】
画素単位符号のラインメモリ1235は、画素単位に符号化された1ライン分のライン単位符号データを一時的に記憶する。
【0091】
画素単位符号長判断部1237は、画素単位符号データの符号長を判断する。すなわち、まず、画素単位符号長判断部1237は、制御部120が転送し、符号化部123に入力された画像データの、1ライン分の幅、一例としてバイト数(図7中、ライン幅バイト数、と示す。)を取得する。そして、画素単位符号長判断部1237は、この画像データ1ライン分の幅と、画素単位符号化部1234から入力された1ライン分の画素単位符号の符号長とを比較する。
【0092】
そして、画素単位符号の符号長の方が長ければ、画素単位符号化によるデータの膨張が発生していると判断する。この場合、データの膨張が発生している画素単位符号データよりも、ライン単位符号データを選択した方が、システム上で転送すべきデータ量が少なくて済む。そこで、画素単位符号長判断部1237は、出力符号選択部1236にライン単位符号データを使用するように切り替え信号を入力する。このように画素単位符号長判断部1237は、判断の結果、どちらの符号を使用するかを出力符号選択部1236に入力する。
【0093】
出力符号選択部1236は、画素単位符号長判断部1237の判断結果に基づき出力する符号を選択する処理を行う。なお、出力符号選択部1236は、図7中では、MUX(multiplexer)と示している。そして符号書込部1238は、出力符号選択部1236から入力されたバンド符号を、バンド符号記憶部154に書き込むことにより記憶させる。
【0094】
なお、上述の画素単位符号長判断部1237は、1ライン分の画像データの幅と、1ライン分の画素単位符号の符号長とを比較して画素単位符号化の膨張を判断したが、1ライン分の画像データの幅に替えて、1ライン分のライン単位符号の符号長を用いてもよい。すなわち1ライン分の画素単位符号の符号長1ライン分のライン単位符号の符号長と比べて長ければ画素単位符号化の膨張が起きていると判断できる。
【0095】
図8は、図7の符号化処理部123の符号化処理フロー図である。特に出力符号選択部1236へ符号データを入力する工程までを説明する。
【0096】
まず、画像読込部1231は画像読込工程として、画素データつまり1バイトの画素データを所定の複数画素単位、一例として1ライン分読み込み、ライン単位符号化部1232および画素単位符号化部1234に画像データをそれぞれ入力する(S71-1)。この入力は一例として同時に行われる。
【0097】
画像データを入力されたライン単位符号化部1232は、所定単位符号化工程としてライン単位の符号化を行い、そして符号データをライン単位符号用のラインメモリ1233に記憶する(S71-2)。またデータを渡された画素単位符号化部1234は、画素単位符号化工程として画素単位の符号化を行い、そして符号データを画素単位符号用のラインメモリ1235に書き込む(S71-3)。このライン単位の符号化と画素単位の符号化は一例として同時に行われる。
【0098】
符号化処理部123は、1ライン分の符号化処理が完了までS71-1~S71-3のデータの読み込みから符号データの書き込みまでを繰り返し、1ライン分の処理が完了すると、次のステップに移行する(S71-4)。
【0099】
次のステップでは、画素単位符号長判断部1237が、画素単位符号長判断工程として1ライン分の画素単位符号の符号長が1ライン分の画像データ1ライン分の幅を超えたかを判断し、そして出力符号選択部1236へ前述の切り替え信号を入力する(S71-5)。
【0100】
出力符号選択部1236は、出力符号選択工程として画素単位符号長判断部1237からのライン単位の符号の切り替え信号に基づき、画素単位符号の符号長が1ライン分の画像データの幅を超えた場合は、ライン単位符号のラインメモリ1233の符号(S71-6)を、超えていない場合は画素単符号のラインメモリ1235の符号を、選択して出力(S71-7)する。
【0101】
そして、符号化処理部123は、バンド高さ分の符号化処理が完了までS71-1~S71-7の処理を繰り返し、1バンド分の処理が完了すると終了する(S71-8)。
【0102】
このように、画素単位の符号化、言い換えると1バイト単位の符号化の結果の符号データが,所定単位、一例として1ライン単位のバイト数を超えた場合は、1ライン単位の符号データを出力することで,所定単位、つまり本実施形態でいうところの1ライン単位で、符号データの膨張を抑制する。
【0103】
すなわち、図4で説明したように、ライン単位符号化は、圧縮率は低いが、大きく膨張することはなく最大の符号長が決まっている。一方、画素単位(バイト単位)符号は、画素単位に符号化する為に、圧縮率は高いが、膨張が発生した場合、膨張率が高い符号化方式である。本実施形態により、画素単位符号化の圧縮率が高い場合は画素単位符号化の結果である画素単位符号データを、画素単位符号化が膨張してしまった場合は、ライン単位符号化の結果であるライン単位符号データを用いるため、1ライン単位で圧縮率が高く、かつ符号データの膨張を抑制した符号化を行うことができる。
【0104】
このような符号化の結果、印刷時のバスを介した転送データは、所定の複数画素単位、一例として1ライン単位で最大量が決まった範囲内になる。本実施形態においては、1ライン単位で最大のデータ量は、ライン単位符号データのデータ量、つまりヘッダと符号化されていない1ライン分の画素データ分のデータ量である。したがって、プリントシステムにおいて扱う最大データ量を見積もることが可能であり、想定外のデータの転送遅れ発生を防ぐことができる。その結果、線速を保ちかつ異常画像の発生を防ぐことができる。
【0105】
また1ライン単位で、ライン単位符号化と、画素単位符号化を並列して(パラレルに)実行し記憶するため、すでに記憶されたそれぞれの符号データから適切な方を選択して出力すればよく、無駄な処理時間を消費することがなく、高速処理が可能である。
【0106】
次に第2の実施形態について説明する。図9は、第2の実施形態の符号化装置であるプリンタサーバ300と、画像形成装置100それぞれのハードウェア構成図である。
【0107】
図1の第1の実施形態との相違点を述べると、本第2の実施形態においては、画像形成装置100と端末装置1000との間にネットワークNを介してプリンタサーバ300が接続されている。そして画像形成装置100とプリンタサーバ300と端末装置1000とからによるプリントシステムP2を構成している。
【0108】
プリンタサーバ300は、一例として複数の端末装置が画像形成装置100に対して印刷指示を与えるシステムにおいて、複数の端末装置からの画像形成装置100への印刷指示を効率よく実行できるよう制御する機能等を有する。その他、あらかじめ決められた各端末の画像形成装置100に対する指示の優先順位やアクセス権に従って処理を行う場合もある。なお端末装置1000自体がプリンタサーバ300として機能してもよい。
【0109】
そして、画像形成装置100のハードウェア構成については、実施形態1では、画像形成装置100に搭載された符号化部43が、画像データを符号化する機能を有していたのに対し、本実施形態では後述のように、プリンタサーバ300が、その機能を有している。
【0110】
また、第1の実施形態では画像形成装置100に搭載された描画コマンド領域3aと、PDLデータ領域3bと、バンド画像領域3cが、それぞれ、描画コマンド、PDLデータ、バンド画像データを記憶する機能を有していた。それに対し本実施形態2では、画像形成装置100のメインメモリ3は、少なくともバンド符号領域3dを有していれば良い。
【0111】
画像形成装置100のその他のハードウェア構成は、第1の実施形態と同様であるため説明を省略する。
【0112】
さらに図9を用いて第2の実施形態のプリンタサーバ300のハードウェア構成を説明する。
【0113】
プリンタサーバ300は、CPU301と、ROM302と、メインメモリ303と、HDD304と、ネットワークI/F305とを備え、これらがシステムバス306介して相互に接続されている。
【0114】
CPU301は、ROM302又はHDD304に記憶されたOS(Operating System)、その他の各種プログラムを実行することで、プリンタサーバ300全体の動作を制御する。
【0115】
また、ROM302又はHDD304には、符号化プログラムが記憶されている。この符号化プログラムは、プリンタサーバ300にあらかじめインストールされている場合に限られず、読み取り可能な記憶媒体に格納されて提供されるものであっても、または有線若しくは無線による通信手段を介して配信されるものであってもよい。プリンタサーバ300のCPU301が符号化プログラムを実行することにより画像データを符号化する機能を有しており、第2実施例においては、プリンタサーバ300が符号化装置として機能する。
【0116】
メインメモリ303は、描画コマンド領域303a(図9中では「描画コマンド」と示す。)と、PDLデータ領域303b(図9中ではこのデータ領域を「PDLデータ」と示す。)と、バンド画像領域303c、バンド符号領域303dからなる記憶領域を有する。それぞれの領域の詳細説明は、実施形態1の描画コマンド領域3a、PDLデータ領域3b、バンド画像領域3c、バンド符号領域3dの説明と共通であるため、省略する。
【0117】
ネットワークI/F305は、例えば、ネットワークNを介して、端末装置1000からの印刷指示を受け付け、画像形成装置100へと通信するための通信手段である。
【0118】
プリンタサーバ300は、その他に、各種メディアの読出し、書込みをするためのメディアI/F等を有していてもよい。
【0119】
また、プリンタサーバ300が端末装置1000を兼ねてもよい。つまり、ROM302又はHDD304に記憶された各種プログラムとして、プリンタドライバ用アプリケーション、印刷指示作成用のアプリケーションソフト、プリンタドライバが記憶されていれば、一つの装置でプリンタサーバ300と端末装置1000の両方として動作可能である。
【0120】
図10は、実施形態2における画像形成装置100およびプリンタサーバ300の機能ブロック図である。
【0121】
まずプリンタサーバ300について説明すると、プリンタサーバ300は、通信処理部310と、制御部320とPDL解析部321と、描画処理部322と、符号化処理部323と、読出・書込処理部330と、第一記憶部350とを有する。
【0122】
通信処理部310はネットワークI/F305の処理によって実現され、端末装置1000などの外部装置とネットワーク経由で通信する機能を実行する。
【0123】
制御部320はCPU301がROM302やHDD304に記憶されたプログラムを実行することによって実現され、プリントシステムP2全体を制御するプリンタコントローラとして機能する。
【0124】
PDL解析部321は、CPU301がROM302やHDD304に記憶されたプログラムを実行することによって実現され、端末装置1000から受信したPDLデータを解析して、画像データを生成する。
【0125】
描画処理部322は、CPU301がROM302やHDD304に記憶されたプログラムを実行することによって実現され、描画コマンドから画像データ作成する。
【0126】
符号化処理部323は、CPU301がROM302やHDD304に記憶された符号化プログラムを実行することによって実現され、画像データを符号化したバンド符号データを生成する。
【0127】
読出・書込処理部330は、CPU301がROM302やHDD304に記憶された符号化プログラムを実行することによって実現され、第一の記憶部350に各種データを記憶させたり、記憶された各種データを読み出したりする機能を実行する。
【0128】
第一の記憶部350は、メインメモリ303によって実現される。第一の記憶部350は、PDLデータ記憶部351と、描画コマンド記憶部352と、バンド画像記憶部353と、バンド符号記憶部354とを有し、それぞれ、描画コマンド領域303a、PDLデータ領域303b、バンド画像領域303c、バンド符号領域303dによって実現され、それぞれPDLデータ、描画コマンド、画像データとしてのバンド画像データ、バンド符号データを記憶する機能を実行する。
【0129】
画像形成装置100は、通信処理部110と、制御部120と、復号化処理部124と、エンジン制御部125と、読出・書込処理部140と、読出・書込処理部170と、第二記憶部160と、第三記憶部180とを有する。
【0130】
通信処理部110は、ネットワークI/F27の処理によって実現され、プリンタサーバ300などの外部装置とネットワーク経由で通信する機能を実行する。
【0131】
制御部120はCPU21がROM1やHDD等に記憶されたプログラムを実行することによって実現され、プリントシステムP1全体を制御するプリンタコントローラとして機能する。
【0132】
復号化処理部124は、第1の実施形態と同様、復号化部42によって実現され、バンド符号データを復号化し、画像データを生成する。
【0133】
エンジン制御部125は、第1の実施形態と同様、エンジンコントローラ5によって実現され、プリンタエンジン50による画像印刷の制御を行う。
【0134】
読出・書込処理部140は、第1の実施形態と同様、エンジンコントローラ5によって実現され、第二の記憶部160に画像データを記憶させたり、記憶された画像データを読み出したりする機能を実行する。
【0135】
第二の記憶部160は、第1の実施形態と同様、第一ライン記憶部161、第二ライン記憶部162からなり、第一ライン記憶部161と第二ライン記憶部162はそれぞれ、ラインメモリ6a、ラインメモリ6bによって実現され、復号化された結果であるライン単位の画像データを記憶する。
【0136】
第三の記憶部180は、バンド符号記憶部181を有し、メインメモリ3のバンド符号領域3dによって実現され、バンド符号データを記憶する機能を実行する。
【0137】
本第2の実施形態の処理フローを、図3を用いて説明する。制御部120と制御部320とで、本処理フロー全体を制御している。
【0138】
まず、通信処理部310は、プリンタサーバ300で生成されたPDLデータを受信する通信処理を行う(S1)。
【0139】
読出・書込処理部330は、通信処理部310が受信したPDLデータをPDLデータ記憶部351に記憶させる(S2)。
【0140】
PDL解析部321は、読出・書込処理部330を介しPDLデータを読み込み、PDLデータから描画コマンドを生成する(S3)。
【0141】
読出・書込処理部330は、描画処理部322が生成した描画コマンドを、描画コマンド記憶部352に記憶させる(S4)。
【0142】
描画処理部322は、読出・書込処理部330を介し描画コマンドを読み込み、描画コマンドからCMYK各画像データを生成する(S5)。
【0143】
読出・書込処理部330は、描画処理部322が生成した画像データを、バンド画像記憶部353に記憶させる(S6)。
【0144】
符号化処理部323は、読出・書込処理部330を介し画像データを読み込んで符号化し、CMYK各バンド符号データを生成する(S7)。
【0145】
読出・書込処理部330は、符号化処理部323が生成したバンド符号データを、バンド符号記憶部354に記憶させる(S8)。
【0146】
復号化処理部124は、読出・書込処理部170が通信処理部110を介してバンド符号記憶部354から取得し、バンド符号記憶部181に記憶したバンド符号データを読み込んで復号化し、復号化されたデータ、つまり画像データをエンジン制御部125に転送する(S10)。
【0147】
エンジン制御部125は、転送された画像データに基づき、用紙等の記憶媒体に印刷を行う(S11)。
【0148】
ここで、第2の実施形態において図3で説明したフロー実行時の、プリンタシステムP2内で転送されるデータについて説明する。以下にデータ転送処理T5、T6,T7,T8、T9を、再度図9を参照しながら説明する。
【0149】
制御部320は、バンド画像領域303cのバンド画像データを読み出し(T5)、符号化プログラムを実行して符号化し、さらに符号化の結果生成されたバンド符号データをバンド符号領域303dに書き込む(T6)。
【0150】
次に制御部320は、バンド符号領域303dからバンド符号データを、各種バスを経由させてバンド符号領域3dに記憶させるためにメインメモリ3まで転送する(T7)。さらに制御部120は、バンド符号領域3dのバンド符号データを、プリンタエンジン50の印刷動作に同期するように,各種バスを介して復号化部42へ転送する(T8)。
【0151】
すると復号化部42はバンド符号データを復号する。制御部120は、復号化された画像
データを、エンジンコントローラ5へ転送し,エンジンコントローラ5はバンド画像データをライン単位に、二つのラインメモリ6aまたは6bどちらかに順次書き込み、その後、ラインメモリ6aまたは6bの、いずれか書き込んだラインメモリから、画像データをプリンタエンジン50へ転送する。つまり制御部120は転送処理T9として、復号化された結果の画像データを、復号化部42からエンジンコントローラ5へ転送し、エンジンコントローラ5から画像データを1ライン毎にラインメモリ6aまたはラインメモリ6bへ、そしてラインメモリ6aまたはラインメモリ6bから再度エンジンコントローラ5を経て、プリンタエンジン50の印刷動作に同期するようにプリンタエンジン50へと転送する(T9)。
【0152】
T9において,プリンタエンジン50は、二つのラインメモリ6a、6bを有し、画像データを1ライン毎にラインメモリ6aまたは6bを使用してプリンタエンジン50の印刷動作に同期するタイミングで転送するため、T8~T9のデータの転送処理が、一例としてPCIeバス7の転送レートが低い等の理由で、プリンタエンジン50の1ラインの線速に間に合わないと、印刷画像に異常が発生する。
【0153】
ここで従来の符号化では、ライン単位の画像データを符号化する際の符号長が制御されていないため、符号データが膨張することがあった。その場合、転送する符号データ量自体が増えてしまう。加えて、転送するデータ量以外の、データ転送スピードを遅くする条件、例えばバスの転送スピードがあまり高くない、またはCPU21でのメモリ競合によりWAITが入るなどの条件が重なると、さらに転送にかかる時間が増え、プリンタエンジン50の線速に対して、必要な画像データの転送が間に合わないことがあった。
【0154】
そこで本実施形態においては、符号化を実施した結果、符号データがライン単位に膨張しないような符号化装置、符号化方法を提供する。
【0155】
図11は、第2の実施形態における、符号化処理部323の詳細な機能ブロック図である。図11のブロック図を用いて第二の実施形態の符号化処理の各工程を説明する。なお、図11においては、画像データを「画像」、符号データを「符号」と省略して示している。
【0156】
画像読込部3231は、所定の複数画素単位の画像データを読み込む機能を有する。つまり制御部320が転送し、符号化処理部323に入力された画像データを、所定の複数画素毎に読み込む。本実施形態においては一例として、符号化処理部323に入力されたバンド画像データを、画像読取部3231が所定の複数画素単位の画像データとして1ライン分の複数画素毎に読み込む場合として説明するがこれに限られない。
【0157】
画像読込部3231は、読み込んだ所定の複数画素単位の画像データである所定単位画像データを、画像データのラインメモリ3232に入力する。
【0158】
所定単位画像データ記憶部としての、画像データのラインメモリ3232は、入力された1ライン分の画素である画像データを一時記憶する。
【0159】
所定単位符号化部としての、ライン単位符号化部3233は、画像データのラインメモリ3232から、画像データを読み込み、ライン単位に符号化し、符号化結果であるライン符号データを、後述する出力符号選択部3236に入力する。なお、出力符号選択部3236は、図11中で、MUX(multiplexer)と示している。
【0160】
画素単位符号化としての、画素単位符号化部3234は、画像データのラインメモリ3232から、画像データを読み込み、画素単位に符号化し、さらに符号化結果である画素単位符号データを、画素単位符号のラインメモリ3235に入力する。
【0161】
画素単位符号データ記憶部としての、画素単位符号データのラインメモリ3235は、一時的に1ライン分の画素単位符号データを記憶する。
【0162】
画素単位符号長判断部3237は、画素単位符号データの符号長を判断する。すなわち、まず、画素単位符号長判断部3237は、制御部320が転送し、符号化部323に入力された画像データの、1ライン分の幅、一例としてバイト数(図11中、ライン幅バイト数、と示す。)を取得する。そして、画素単位符号長判断部3237は、この画像データ1ライン分の幅と、画素単位符号化部3234から入力された1ライン分の画素単位符号データの符号長とを比較する。
【0163】
この時、画素単位符号の符号長の方が長ければ、画素単位符号化によるデータの膨張が発生していると判断する。すなわち、符号データとしてライン単位符号データの方がシステム上で転送すべきデータ量が少なくて済む。したがって、その場合は、出力符号選択部3236にライン単位符号データを使用するように切り替え信号を入力する。画素単位符号の符号長の方が短ければ、符号データとして画素段位符号データの方が転送すべきデータ量が少ないため、画素単位符号データを使用するように切り替え信号を入力する。このように画素単位符号長判断部3237は、判断の結果、どちらの符号を使用するかを出力符号選択部1236に入力する。
【0164】
出力符号選択部3236は、画素単位符号長判断部3237の判断結果に基づき、出力する符号を選択する処理を行う。
【0165】
符号書込部3238は出力符号選択部3236から受け取ったバンド符号データを、バンド符号記憶部354に書き込むことにより記憶させる。
【0166】
図12は、図11の符号化処理部323の符号化処理フロー図である。特に出力符号選択部3236へ符号データを入力する工程までを説明する。
【0167】
まず、画像読込部3231が、画像読込工程として画素データつまり1バイトの画像データを読み込み(S72-1)、そして所定単位画像データ記憶工程として画像データのラインメモリ3232へ書き込む(S72-2)。
【0168】
符号化処理部323は、1ライン分が完了するまでS72-1、S72-2のデータの読込み、書き込みを繰り返し、1ライン分の処理が完了すると、次のステップに移行する(S72-3)。
【0169】
次に画素単位符号化部3234は、画素単位符号化工程として画像データのラインメモリ3232から画像データを読み込み(S72-4)、画素単位符号化を行う(S72-5)。
【0170】
ライン単位符号化部3233は、1ライン分の符号化処理が完了するまでS72-4,S72-5の符号化処理を繰り返し、1ライン分の処理が完了すると、次のステップに移行する(S72-6)。
【0171】
次のステップでは、画素単位符号長判断部3237が、生成した画素単位符号データが1ラインの画素バイト数を超えているかどうか判断し、出力符号選択部3236へ前述の切り替え信号を入力する(S72-7)。
【0172】
出力符号選択部3236は、画素単位符号長判断部3237からの切り替え信号に基づき、画素単位符号の符号長が1ライン分の画像データの幅を超えた場合は、ライン単位符号化部3233に画像データのラインメモリ3232の画像データを符号化させ、生成されたライン単位符号データを出力し(S72-8)、超えていない場合は画素単符号のラインメモリ3235に記憶された画素単位符号データを選択して出力する(S72-9)。
【0173】
そして、符号化処理部323は、バンド高さ分の符号化処理が完了までS72-1~S72-9の処理を繰り返し、1バンド分の処理が完了すると本処理フローは終了する(S72-10)。
【0174】
以上説明したように第二の実施形態においては、所定単位の画像データ、つまり1ライン単位の画像データを、まずは画像データのラインメモリ3232に記憶するにとどめ、ライン単位符号化を行わない。そして画素単位符号長判断部3237により画素単位符号データの膨張が判断された場合に、所定単位符号化つまりライン単位符号化を行う。
【0175】
すなわち、二つの符号化を並列(パラレル)ではなくシリアルに実行するため、無駄なライン単位符号化処理を行わない。したがって、本実施形態においては、第一の実施形態の効果に加え、符号化の高速化やシステムにかかる負荷の軽減をすることが出来る。
【0176】
また、一度記憶した画像データをラインメモリから読み出して符号化を行う処理は、ASICなどのハードウェアで実行すると比較的時間を要する。したがって、本実施形態の符号化処理は、プログラムによりソフトウェアで実行するとより効果的に処理速度を速くすることができる。
【0177】
なお、第一の実施形態における符号化部43が実行した符号化処理は、当該符号化処理を実行させるプログラムをROM1やHDDなどに記憶し、CPU21で実行することも可能である。また、第二の実施形態において符号化プログラムが実行した符号化処理は、当該符号化処理を行うASICなどの回路を第一の実施形態の符号化部43として設けることで、第1の実施形態のプリンタシステムP1で実行することも可能である。
【0178】
図13は、前述のプリンタエンジン50のハードウェア構造図である。プリンタエンジン50は、作像部510と、給紙部520とを備えている。
【0179】
給紙部520は、用紙サイズの異なる記録紙を収納する給紙カセット521,522と、給紙カセット521,522に収納された記録紙を作像部510に搬送する各種ローラからなる給紙手段523とを有している。
【0180】
作像部510は、露光装置511と、感光体ドラム512y、512m、512c、512kと、現像装置513y、513m、513c、513kと、転写ベルト514と、定着装置515とを備えている。
【0181】
まず露光装置511が、画像データに基づき感光体ドラム512y、512m、512c、512kを露光し、感光体ドラム512y、512m、512c、512kそれぞれに潜像が形成される。現像装置513y、513m、513c、513kは感光体ドラム512y、512m、512c、512それぞれに異なる色、つまりY色、M色、C色、K色のトナーを供給して現像する。
【0182】
そして、感光体ドラム512y、512m、512c、512kに現像された異なるトナー色の4つのトナー画像は転写ベルト514に重ねて転写される。さらに、転写ベルト514に転写されたトナー画像は、給紙部520から供給された記録紙に転写される。定着装置515は、記録紙に転写されたトナー画像のトナーを溶融して、記録紙にカラー画像を定着し、画像形成装置100外に排出する。
【0183】
画像形成装置100はさらに、原稿を光学的に読み取るスキャナ部60を有していてもよい。また、プリンタエンジン50における画像形成は上述の電子写真方式の他、インクジェット方式などを採用することができるが、これらに限られない。
【符号の説明】
【0184】
100 画像形成装置
300 プリンタサーバ
120、320 制御部
124、324 符号化処理部
1231,3231 画像読込部
1232,3233 ライン単位符号化部
1234,3234 画素単位符号化部
1236,3236 出力符号選択部
1237,3237 画素単位符号長判断部
【先行技術文献】
【特許文献】
【0185】
【文献】特開2005-86601
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13