(57)【要約】【課題】原画像データからの部分画像の切り出し範囲を変更した場合でも、変更後の切り出し範囲に対する部分画像のデータ圧縮が不要な方式を提供する。【解決手段】画像圧縮部２２は、ブロック単位で圧縮を行う圧縮方式を用い、隣接するブロック同士の境界（ブロックの先頭でも、末尾でもよい）が検出可能なデータ形式の圧縮画像を生成し、記憶装置２４に記憶する。指示受付部２６に対し、原画像の一部分を切り出して出力する指示が入力された場合、制御部２８は、指定された切り出し範囲をブロック単位に換算し、切り出し部３０に対し、圧縮原画像データからのその切り出し範囲に相当する部分の切り出しを指示する。切り出し部３０は、圧縮原画像データのブロックの境界をカウントすることで、切り出し範囲に該当するブロックの範囲を特定し、それら範囲のブロック群を切り出す。【選択図】図３
2010041675.tif 000002
【特許請求の範囲】
【請求項１】
原画像データをあらかじめ定められたサイズのブロックごとに圧縮し、各ブロックの圧縮結果である各圧縮ブロックが前記原画像データにおけるブロック配列に対応する配列で並んだ圧縮原画像データを生成する圧縮手段と、
前記圧縮原画像データを記憶する記憶手段と、
前記原画像データから切り出すべき部分画像の位置的範囲を特定する部分特定情報の入力を受け付ける受付手段と、
前記配列に従って前記圧縮原画像データ中の各圧縮ブロックを認識していくことで、前記部分特定情報により特定される部分画像の位置的範囲に対応する前記圧縮原画像データ中の圧縮ブロック群の範囲を特定し、特定した範囲に属する圧縮ブロック群を前記部分画像の圧縮データとして前記圧縮原画像データから切り出す切り出し手段と、
前記切り出し手段が切り出した前記部分画像の圧縮データを伸長し、出力する伸長出力手段と、
を備える画像処理装置。
【請求項２】
前記圧縮手段は、前記原画像データの各ブロックを、前記圧縮原画像データにおける当該ブロックの境界を示す境界符号と、当該ブロックの圧縮結果であるデータ符号と、を含む圧縮ブロックへと変換し、
前記切り出し手段は、前記圧縮原画像データから各圧縮ブロックの境界符号を検出することにより前記各圧縮ブロックを識別し、識別の結果に基づき前記切り出すべき部分画像の位置的範囲に対応する圧縮ブロック群の範囲を求める、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記受付手段は、前記部分特定情報として前記原画像データを分割出力する場合の分割単位の画像サイズに関する指定を受け付け、
前記切り出し手段は、前記部分特定情報が表す前記分割単位の画像サイズに基づき前記原画像データの分割結果である各部分画像の位置的範囲をそれぞれ特定し、特定した各部分画像の位置的範囲に対応する範囲の圧縮ブロック群を、それぞれ前記各部分画像の圧縮データとして前記圧縮原画像データから切り出す、
ことを特徴とする請求項１記載の画像処理装置。
【請求項４】
コンピュータを、
原画像データをあらかじめ定められたサイズのブロックごとに圧縮し、各ブロックの圧縮結果である各圧縮ブロックが前記原画像データにおけるブロック配列に対応する配列で並んだ圧縮原画像データを生成する圧縮手段、
前記圧縮原画像データを記憶する記憶手段、
前記原画像データから切り出すべき部分画像の位置的範囲を特定する部分特定情報の入力を受け付ける受付手段、
前記配列に従って前記圧縮原画像データ中の各圧縮ブロックを認識していくことで、前記部分特定情報により特定される部分画像の位置的範囲に対応する前記圧縮原画像データ中の圧縮ブロック群の範囲を特定し、特定した範囲に属する圧縮ブロック群を前記部分画像の圧縮データとして前記圧縮原画像データから切り出す切り出し手段、
前記切り出し手段が切り出した前記部分画像の圧縮データを伸長し、出力する伸長出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
プリンタ、複写機、又は複合機（プリンタ、スキャナ、複写機の機能を併せ持つ装置）などの画像処理装置の中には、当該装置が持つ用紙よりも面積が大きい画像を複数に分割し、複数枚の用紙に分けて印刷出力する機能を持つものが存在する。この種の装置は、例えばＡ１サイズの画像をＡ３サイズ４枚に分けて印刷したり、Ａ４サイズ８枚に分けて印刷したりする。このような印刷処理を、以下では分割印刷と呼ぶこととする。
【０００３】
特許文献１には、例えばＡ２サイズの画像ならＡ３サイズの用紙２枚、Ａ１サイズの画像ならＡ３サイズの用紙４枚などと、画像を予め設定された用紙サイズ単位に分割して出力する分割印刷機能を有する画像処理装置が開示されている。また、出力用紙サイズをクライアントコンピュータで指定すると、画像処理装置がその指定された用紙サイズ単位に画像を分割して出力することも開示されている。いずれの場合も、画像処理装置は、入力されたページ記述言語データを解釈してラスター画像を生成し、そのラスター画像を予め設定された用紙サイズ又はユーザから指定された用紙サイズごとに分割し、分割後の小面積のラスター画像をそれぞれ用紙に印刷する。
【０００４】
いったんある用紙サイズの設定で分割印刷を行った後、使用する用紙サイズを変更して再び分割印刷を行う場合、従来技術では、ページ記述言語データを再度解釈してラスター画像を再度生成し、そのラスター画像を使用する用紙サイズごとに分割することとなる。
【０００５】
一方、画像メモリ・プリントエンジン間などといった画像データ転送路におけるデータ転送量を少なくしたり、一時的に保存する画像データ量を低減したりするために、いったん生成したラスター画像をデータ圧縮する機能を備えた画像処理装置も普及している。この種の画像処理装置において、使用する用紙のサイズを変更して何度も分割印刷を行う場合、印刷の都度、ラスター画像の再生成、分割、分割後の小面積の各画像の圧縮、という一連の処理を繰り返すこととなる。
【０００６】
分割前のラスター画像そのものを画像処理装置内に保存しておけば、ラスター画像の再生成は不要となるが、画像処理装置の記憶容量を大量に使用してしまうことになる。また、この方法では、分割後の各画像の圧縮処理は依然必要である。
【０００７】
また、分割前のラスター画像の圧縮画像を保存しておき、再度分割印刷が指示された場合にその圧縮画像を伸長して元のラスター画像を再生し、用紙サイズ単位に分割することも考えられる。しかし、この方法では、圧縮画像を伸長する処理が必要になる。また、分割後の各画像の圧縮処理は依然必要である。
【０００８】
また、原画像の一部分を切り出して印刷する機能（いわゆるトリミング機能）を備える画像処理装置が存在する。この種の装置で切り出す部分を変更しながら複数回印刷を行う場合、その都度、ページ記述言語データの解釈又は圧縮画像の伸長により原画像を生成し、原画像から部分画像を切り出し、圧縮するという処理を行うことになる。
【０００９】
【特許文献１】特開２００３−０４６７６２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、原画像データからの切り出し範囲を変更した場合でも、変更後の切り出し範囲に対する部分画像のデータ圧縮が不要な方式を提供する。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、原画像データをあらかじめ定められたサイズのブロックごとに圧縮し、各ブロックの圧縮結果である各圧縮ブロックが前記原画像データにおけるブロック配列に対応する配列で並んだ圧縮原画像データを生成する圧縮手段と、前記圧縮原画像データを記憶する記憶手段と、前記原画像データから切り出すべき部分画像の位置的範囲を特定する部分特定情報の入力を受け付ける受付手段と、前記配列に従って前記圧縮原画像データ中の各圧縮ブロックを認識していくことで、前記部分特定情報により特定される部分画像の位置的範囲に対応する前記圧縮原画像データ中の圧縮ブロック群の範囲を特定し、特定した範囲に属する圧縮ブロック群を前記部分画像の圧縮データとして前記圧縮原画像データから切り出す切り出し手段と、前記切り出し手段が切り出した前記部分画像の圧縮データを伸長し、出力する伸長出力手段と、を備える画像処理装置である。
【００１２】
請求項２に係る発明は、請求項１に係る発明において、前記圧縮手段は、前記原画像データの各ブロックを、前記圧縮原画像データにおける当該ブロックの境界を示す境界符号と、当該ブロックの圧縮結果であるデータ符号と、を含む圧縮ブロックへと変換し、前記切り出し手段は、前記圧縮原画像データから各圧縮ブロックの境界符号を検出することにより前記各圧縮ブロックを識別し、識別の結果に基づき前記切り出すべき部分画像の位置的範囲に対応する圧縮ブロック群の範囲を求める、ことを特徴とする。
【００１３】
請求項３に係る発明は、請求項１に係る発明において、前記受付手段は、前記部分特定情報として前記原画像データを分割出力する場合の分割単位の画像サイズに関する指定を受け付け、前記切り出し手段は、前記部分特定情報が表す前記分割単位の画像サイズに基づき前記原画像データの分割結果である各部分画像の位置的範囲をそれぞれ特定し、特定した各部分画像の位置的範囲に対応する範囲の圧縮ブロック群を、それぞれ前記各部分画像の圧縮データとして前記圧縮原画像データから切り出す、ことを特徴とする。
【００１４】
請求項４に係る発明は、コンピュータを、原画像データをあらかじめ定められたサイズのブロックごとに圧縮し、各ブロックの圧縮結果である各圧縮ブロックが前記原画像データにおけるブロック配列に対応する配列で並んだ圧縮原画像データを生成する圧縮手段、前記圧縮原画像データを記憶する記憶手段、前記原画像データから切り出すべき部分画像の位置的範囲を特定する部分特定情報の入力を受け付ける受付手段、前記配列に従って前記圧縮原画像データ中の各圧縮ブロックを認識していくことで、前記部分特定情報により特定される部分画像の位置的範囲に対応する前記圧縮原画像データ中の圧縮ブロック群の範囲を特定し、特定した範囲に属する圧縮ブロック群を前記部分画像の圧縮データとして前記圧縮原画像データから切り出す切り出し手段、前記切り出し手段が切り出した前記部分画像の圧縮データを伸長し、出力する伸長出力手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１又は４に係る発明によれば、原画像データから切り出す位置的範囲を変更した場合でも、変更後の範囲の圧縮データが得られ、再度の圧縮が不要である。
【００１６】
請求項２に係る発明によれば、境界符号を探索することで切り出すべき位置的範囲に対応する圧縮原画像データ上の範囲を特定することができる。
【００１７】
請求項３に係る発明によれば、原画像データを複数の部分画像に分割して出力することが可能となる。
【発明を実施するための最良の形態】
【００１８】
この実施形態における画像分割処理の方式を、図１を参照して説明する。例えば、最大の用紙サイズがＡ３であるプリンタで、Ａ１サイズの原画像データ１０をＡ３サイズの４枚の画像に分割して印刷出力する場合を例にとる。
【００１９】
従来技術では、原画像データ１０を例えばＡ３サイズ４枚に分割したあと、それら分割結果の画像（分割画像と呼ぶ）を画像圧縮して一時保存し、その後伸長して印刷していた。
【００２０】
これに対して、この実施形態では、原画像データ１０を画像圧縮し、圧縮結果である圧縮原画像データ１２を４つの圧縮部分画像データ１４ａ、１４ｂ、１４ｃ、１４ｄに分割する。そして、圧縮部分画像データ１４ａ、１４ｂ、１４ｃ、１４ｄをそれぞれ伸長し、印刷することで、Ａ３サイズの４分割の印刷結果１６ａ，１６ｂ，１６ｃ，１６ｄを得る。
【００２１】
このように圧縮画像データのレベルで画像を分割するために、この実施形態では、原画像データ上での位置に対応する圧縮画像データ上の位置を特定できるような画像圧縮方式を用いる。
【００２２】
このような要件を満たす画像圧縮方式はいくつか存在するが、ここでは、原画像をあらかじめ定められたサイズのブロックに分割してブロック単位で圧縮を行い、ブロックごとに当該ブロックの境界を示すコードを含んだ圧縮データを生成する圧縮方式を用いる。このような圧縮方式として、例えば次のようなものを用いることができる。
【００２３】
この方式では、印刷対象の原画像を構成する画素データを、主走査方向に連続したｋ画素（ｋは２以上の整数）ごとにブロックを生成し、それら画素のデータをブロック単位で圧縮する。例えば１画素が１バイトのデータ幅を持つ場合、原画像の主走査方向のラインデータは、Ｍ（Ｍは自然数）個のｋバイト固定長のブロックに分割され、それらブロックごとに圧縮される。ブロックを圧縮するための圧縮アルゴリズムとしてどのようなものを用いるかはこの実施形態における画像分割方式にとって本質的なことではないが、例えば、特開２００７−８８６８５号公報に示されるのと同様の、注目ブロックとその近傍（例えば直前又は直上）の参照ブロックとの画像の一致（あるいは誤差）を利用して符号化する予測符号化方式を用いることができる。この種の圧縮アルゴリズムにより得られる圧縮結果のデータ構造の一例を図２に示す。
【００２４】
図２に例示するように、１ページの画像の圧縮結果であるページ符号１００は、ヘッダ符号１１０と、主走査方向のラインごとの圧縮結果であるＭ個のライン符号１２０−１〜１２０−Ｍ（以下、ライン符号１２０と総称）を含む。すなわち、この例では１ページはＭラインを含む。ヘッダ符号１１０には、当該ページの幅及び高さ（例えば画素数単位）などのように、ページの特等を示す情報が含まれる。
【００２５】
個々のライン符号１２０は、マーカー符号１３０と、ブロックごとの圧縮結果であるＮ個のブロック符号１４０−１〜１４０−Ｎ（以下、ブロック符号１４０と総称）とを含む。
【００２６】
マーカー符号１３０は、ライン全体の情報を示す符号であり、識別子符号１５０とデータ符号１６０とを含む。識別子符号１５０は、ラインの先頭を表すあらかじめ定められた符号である。データ符号１６０は、例えば、当該ラインの符号量など、当該ラインの圧縮データの特徴を示す情報が含まれる。なお、ライン単位のマーカー符号１３０は、圧縮データの編集作業（例えば圧縮データのまま画像を１８０度回転させるなど）などを想定して、ラインを区別しやすくするために導入された符号であり、復号のためには必須のものではない。ヘッダ情報１１０にページのサイズ（幅及び高さ）の情報が含まれているため、マーカー符号１３０がなくても、復号結果の画素データをページの幅ごとに折り返してラスター走査順に並べることで、ページを再構成できるからである。
【００２７】
ブロック符号１４０は、識別子符号１７０とデータ符号１８０とを含む。識別子符号１７０は、例えば、圧縮結果であるデータ符号１８０が当該ブロック近傍のどの参照ブロックを基準にしたものかを示す情報を含む符号である。データ符号１８０は、例えば、当該ブロックが参照ブロックと一致する場合には、例えばその一致の回数（ランレングス）を符号化した値を持ち、当該ブロックが参照ブロックに一致しない場合は、両者の誤差を符号化した値を持つ。
【００２８】
識別子符号１５０及び１７０には、データ符号１６０及び１８０には用いられない符号語を用い、識別子符号１５０及び１７０の位置以外にはそれら識別子符号１５０及び１７０に該当する符号語が現れないようにする。これにより、圧縮画像データから識別子符号１５０及び１７０を探すことで、各ラインの先頭や、各ブロックの先頭を特定することが可能になる。これにより、圧縮画像データを、ブロック単位で分割したり、切り出したりすることが可能となる。
【００２９】
なお、印刷対象の画像がカラー画像である場合、例えばシアン、マゼンタ、イエロー、ブラックの各色の画像ごとに、上述の圧縮を施すこともできる。
【００３０】
次に、図３を参照して、この実施形態の画像処理装置の機能構成の一例を説明する。この例では、画像処理装置は画像入力部２０、画像圧縮部２２、記憶装置２４、指示受付部２６、制御部２８、切り出し部３０、画像伸長部３２、印刷部３４を備える。
【００３１】
画像入力部２０は、印刷対象の原画像を入力する部分である。画像入力部２０は、例えばページ記述言語で記述された印刷データを処理してラスター画像データを生成するインタープリタである。また、画像入力部２０は、紙原稿を光学的に読み取ってラスター画像データを生成するスキャナであってもよい。
【００３２】
画像圧縮部２２は、画像入力部２０から入力された原画像（ラスター画像）データを、上に例示したように、原画像データ上での位置に対応する圧縮画像データ上の位置を特定できるような画像圧縮方式で圧縮する。この圧縮の結果である圧縮画像データは、ハードディスク等の記憶装置２４に記憶される。記憶装置２４に記憶された圧縮画像データは、制御部２８により読み出され、印刷に供される。
【００３３】
指示受付部２６は、例えば、当該画像処理装置に対するユーザからの指示を受け付けるユーザインターフェイス機構である。この実施形態との関連で言えば、指示受付部２６は、原画像データについての分割出力指示や、原画像データから一部分を切り出して出力するトリミング指示などを受け付ける。また、分割出力やトリミングの指示は、ページ記述言語の印刷データ中に記述される場合もある。
【００３４】
制御部２８は、画像処理装置の印刷処理を制御する。この実施形態との関連で言えば、制御部２８は、割出力指示やトリミング指示に応じて切り出し部３０に圧縮画像データの切り出しを行わせる。切り出し部３０は、圧縮画像データの中から、制御部２８から指示された部分を切り出す処理を実行する。
【００３５】
画像伸長部３２は、画像圧縮部２２の圧縮方式に対応した伸長方式で圧縮画像データを伸長し、ラスター画像データを再生する。再生されたラスター画像データは印刷部３４により用紙上に印刷される。
【００３６】
原画像データの分割出力指示を受けた場合の制御部２８の処理手順の一例を、図４を参照して説明する。
【００３７】
分割出力の指示には、例えば、分割単位のサイズを求める基礎となるサイズ特定情報が含まれる。サイズ特定情報としては、例えば、分割単位の用紙サイズ、あるいは原画像を何分割するかという分割数、などがある。また、記憶装置２４に記憶された圧縮原画像データに対する分割出力指示には、分割出力の対象とする圧縮原画像データを特定する情報が含まれる。
【００３８】
このような分割出力指示を受けた制御部２８は、サイズ特定情報に基づき、分割結果である各分割画像が原画像データにおいて占める位置的範囲（言い換えれば、各分割画像の境界の位置）を計算する（Ｓ１０）。この位置的範囲は、例えば、画素を単位として記述される。
【００３９】
例えば、原画像データがＡ１サイズ（横（ｘ）方向の画素数がＰ，縦（ｙ）方向の画素（ライン）数がＱ、とする）であり、分割単位のサイズとしてＡ３が指定された場合を例にとると次のようになる。すなわち、この場合、原画像データは４つの分割画像へと分割され、第１の分割画像の位置的範囲は、左端がｘ＝１、右端がｘ＝Ｐ／２、上端がｙ＝１、下端がｙ＝Ｑ／２の四辺で囲まれる範囲となる。同様に、第２の分割画像の位置的範囲はｘ＝（Ｐ／２）＋１〜Ｐ、ｙ＝１〜（Ｑ／２）、第３の分割画像の位置的範囲はｘ＝１〜（Ｐ／２）、ｙ＝（Ｑ／２）＋１〜Ｑ、第４の分割画像の位置的範囲はｘ＝（Ｐ／２）＋１〜Ｐ、ｙ＝（Ｑ／２）＋１〜Ｑ、である。
【００４０】
次に制御部２８は、それら各分割画像の位置的範囲を、ブロック単位に換算する（Ｓ１２）。１ブロックが縦１ライン×横ｋ画素であるとすると、例えば上述の第１の分割画像は、ブロック単位では、左端がｘ＝１、右端がｘ＝（Ｐ／２）／ｋ、上端がｙ＝１、下端がｙ＝（Ｑ／２）の範囲となる。第２〜第４の分割画像についても、同様にブロック単位での範囲が求められる。
【００４１】
次に制御部２８は、切り出し部３０に対し、圧縮原画像データからの各分割画像に相当する部分の切り出しを指示する（Ｓ１４）。この切り出し指示には、各分割画像について、ブロック単位で表された切り出し範囲（すなわち当該分割画像の範囲）の情報が含まれる。
【００４２】
制御部２８は、この指示のあと、切り出し部３０から各分割画像の圧縮画像データが渡されるのを待ち（Ｓ１６）、各分割画像の圧縮画像データを受け取ると、それら各圧縮画像データを画像伸長部３２に渡して伸長させ、その伸長結果を印刷部３４に印刷させる（Ｓ１８）。
【００４３】
次に、図５を参照して、切り出し部３０の処理手順の一例を説明する。この例では、分割の対象である圧縮原画像データが図２に例示したデータ構造を有しているとする。
【００４４】
この手順では、まず圧縮原画像データ（すなわちページ符号１００）の先頭にあるヘッダ符号１１０をスキップし（Ｓ２０）、マーカー符号１３０を探索することで切り出し開始ライン（すなわち切り出し範囲の上端のライン）を見つける（Ｓ２２）。すなわち、切り出し部３０は、例えば、圧縮原画像データを順に読み取りながら、マーカー符号１３０中の識別子符号１５０に該当する符号語パターンを探索し、識別子符号１５０が見つかるたびにライン数カウンタをカウントアップしていく。ライン数カウンタは、切り出し部３０が処理しているライン（現在ラインと呼ぶ）の番号（ｙ座標）を示す。ライン数カウンタの値が切り出し開始ラインのライン番号に達した時点でステップＳ２２の探索を終了すればよい。探索終了時点では、切り出し部３０は、圧縮原画像データ上で、切り出し開始ラインの先頭を見ていることになる。
【００４５】
なお、圧縮原画像データがラインの先頭を表すマーカー符号１３０を有しない場合でも、１ラインあたりのブロック数は既知なので、ブロック符号１４０の識別子符号１５０を検出してカウントしていくことで、現在ラインのライン番号を求めることができる。
【００４６】
次に、切り出し部３０は、切り出し開始ラインの先頭から順に、ブロックの識別子符号１７０を探索することで切り出し開始ブロック（すなわち切り出し範囲の左端に該当するブロック）を見つける（Ｓ２４）。すなわち、切り出し部３０は、例えば、当該ラインの圧縮画像データを順に読み取りながら、ブロック符号１４０中の識別子符号１７０に該当する符号語パターンを探索し、識別子符号１７０が見つかるたびにブロック数カウンタをカウントアップしていく。ブロック数カウンタは、切り出し部３０の処理がラインの先頭に達するごとにクリアする。したがって、ブロック数カウンタは、切り出し部３０が処理しているブロック（現在ブロックと呼ぶ）のライン先頭から見た時の番号（ｘ座標）を示す。ブロック数カウンタの値が切り出し開始ブロックの番号に達した時点でステップＳ２４の探索を終了すればよい。探索終了時点では、切り出し部３０は、圧縮原画像データ上で、切り出し開始ライン上の切り出し開始ブロックを見ていることになる。
【００４７】
次に切り出し部３０は、現在ラインの各ブロック符号を順に読み進め、現在ブロック（切り出し開始ブロック）から切り出し終了ブロック（すなわち切り出し範囲の右端に該当するブロック）までの各ブロック符号１４０を切り出す（Ｓ２６）。現在ラインから切り出されたブロック符号１４０群は、画像処理装置のメモリ（図示省略）上に確保された切り出し画像域へと追加される。
【００４８】
なお、この追加に先立ち、切り出し画像領域には、切り出し結果の圧縮画像を表すヘッダ符号２１０（図６参照）が、例えば制御部２８により作成され、格納されている。このヘッダ符号２１０には、切り出し結果の画像のサイズ（幅及び高さ）を画素数単位で表す情報が含まれる。この情報は、原画像データのサイズと、分割出力指示とから求めることができる。ステップＳ２６で切り出されたブロック符号１４０群は、このヘッダ符号２１０の後に追加される。
【００４９】
次に切り出し部３０は、ライン数カウンタが示す現在ラインが切り出し終了ライン（すなわち切り出し範囲の下端のライン）に達したか否かを判定する（Ｓ２８）。現在ラインが切り出し終了ラインに達していなければ、現在ブロックから順に圧縮原画像データをスキャンしながら、例えば次のマーカー符号１３０を探索することで、次のラインに移動する（Ｓ３０）。そして、当該ラインに対しステップＳ２４〜Ｓ２８の処理を行うことで、当該ライン上の切り出し範囲内のブロック符号１４０群を切り出し、切り出し画像領域へと追加する。
【００５０】
以上に説明したステップＳ２４〜Ｓ３０の処理を切り出し開始ラインから切り出し終了ラインまで繰り返すことで、メモリ上の切り出し画像領域に、切り出し範囲の圧縮画像データが形成される。切り出し部３０は、切り出し画像領域内の圧縮画像データを切り出し結果として制御部２８に渡す（Ｓ３２）。
【００５１】
図６は、切り出し画像領域内に形成される圧縮画像データのデータ構造の一例を示す。この例では、切り出された圧縮画像データ（ページ符号２００）は、ヘッダ符号２１０と、各ラインのライン符号２２０−１，２２０−２，…，２２０−ｍ（以下ライン符号２２０と総称。ｍは切り出しライン数）とを含む。そして、ライン符号２２０は、ブロック符号２４０−１，２４０−２，…，２４０−ｎ（ｎは、１ラインあたりの切り出しブロック数）を含むが、マーカー符号１３０は含まない。マーカー符号１３０がなくても、ヘッダ情報に含まれる１ラインあたりの画素数の情報を参照すれば、復号結果の画素データをラインごとに配列することができるので、復号は可能である。
【００５２】
分割出力の場合、切り出し部３０は、切り出し範囲（分割画像）ごとに、上に例示した切り出し処理を行えばよい。なお、この代わりに、メモリ上に４つの切り出し範囲のそれぞれに対応する切り出し画像領域を確保し、圧縮原画像データを先頭から末尾までスキャンする間に、各切り出し範囲に属するブロック符号１４０をそれぞれ対応する切り出し画像領域に追加していってもよい。このような処理によれば、圧縮原画像データを一度スキャンする間に、４つの分割画像が並列的に生成される。
【００５３】
以上に説明したように、この実施形態では、圧縮原画像データの分割は、識別子符号１７０（及び１５０）を探索してカウントすることで行われる。このような処理は、圧縮原画像データを復号するよりも計算コストがはるかに少なくて済む。このように、この実施形態では、圧縮原画像データを復号することなく、圧縮データのままで分割するのである。
【００５４】
このように、この実施形態の画像処理装置は、圧縮原画像データを分割することで各分割画像の圧縮画像データを生成する。したがって、分割後の画像を圧縮しなくてよい。例えば、分割出力を行ったあと、分割の仕方（例えば分割単位の用紙サイズ）を変えて再度分割出力を行う場合でも、この実施形態では圧縮原画像データを分割し直すだけでよく、分割後の再圧縮の必要がない。
【００５５】
なお、この実施形態の手法は、画像の分割出力のみならず、トリミング出力にも適用できる。トリミング出力の場合の制御部２８の処理手順の一例を図７に示す。
【００５６】
トリミング出力の指示には、例えば、トリミング対象の位置的範囲（切り出し範囲）の指定が含まれる。切り出し範囲は、例えば原画像データにおける切り出し範囲の上端及び下端のｙ座標、と左端及び右端のｘ座標の組（各座標は画素単位）により表される。
【００５７】
このような切り出し範囲の指定を含むトリミング指示を受けると、制御部２８は、その切り出し範囲をブロック単位に換算する（Ｓ４０）。換算の仕方は分割出力の場合と同様でよい。なお、圧縮画像データの切り出しはブロック単位なので、原画像データ上での切り出し範囲もブロックのサイズ単位での指定となる。
【００５８】
次に制御部２８は、切り出し部３０に対し、圧縮原画像データからのその切り出し範囲に相当する部分の切り出しを指示する（Ｓ４２）。この切り出し指示にはブロック単位で表された切り出し範囲の情報が含まれる。
【００５９】
制御部２８は、この指示のあと、切り出し部３０から切り出し範囲の圧縮画像データが渡されるのを待ち（Ｓ４４）、その圧縮画像データを受け取ると、その圧縮画像データを画像伸長部３２に渡して伸長させ、その伸長結果を印刷部３４に印刷させる（Ｓ４６）。
【００６０】
この実施形態によれば、切り出し範囲を変えて再度トリミング出力を行う場合も、圧縮原画像データから切り出し範囲を切り出せばよく、切り出した画像データを再度圧縮する必要はない。
【００６１】
以上の実施形態では、ブロックのサイズは縦１画素×横ｋ画素であったが、上述の構成及び処理手順の例から明らかなように、ブロックの縦サイズを複数画素とした場合でも、同様の処理が可能である。
【００６２】
また、画像圧縮部２２の圧縮方式は、上に例示したものに限らず、ブロック単位で圧縮を行い、かつ圧縮画像データのデータ形式が隣接するブロック同士の境界（ブロックの先頭でも、末尾でもよい）が検出可能なデータ形式であるものであればよい。
【００６３】
以上に説明した画像処理装置の演算処理部分は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図８に示すように、ＣＰＵ３００等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）３０２およびリードオンリメモリ（ＲＯＭ）３０４等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）３０６を制御するＨＤＤコントローラ３０８、各種Ｉ／Ｏ（入出力）インターフェイス３１０、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース３１２等が、たとえばバス３１４を介して接続された回路構成を有する。また、そのバス３１４に対し、例えばＩ／Ｏインターフェイス３１０経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ３１６、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ３１８、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭ３０２に読み出されＣＰＵ３００等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用ＬＳＩ(Large Scale Integration)、ＡＳＩＣ（Application Specific Integrated Circuit、特定用途向け集積回路）又はＦＰＧＡ（Field Programmable Gate Array）等のハードウエア回路として構成してもよい。
【図面の簡単な説明】
【００６４】
【図１】実施形態における画像の分割出力処理を説明するための図である。
【図２】実施形態で用いられる圧縮方式による圧縮データのデータ構造の一例を示す図である。
【図３】実施形態の画像処理装置の機能構成の例を示す図である。
【図４】分割出力指示を受けた場合の制御部の処理手順の例を示すフローチャートである。
【図５】切り出し部の処理手順の例を示す図である。
【図６】切り出し部が生成した部分画像の圧縮データの構造の例を示す図である。
【図７】トリミング指示を受けた場合の制御部の処理手順の例を示すフローチャートである。
【図８】コンピュータのハードウエア構成の一例を示す図である。
【符号の説明】
【００６５】
２０  画像入力部、２２  画像圧縮部、２４  記憶装置、２６  指示受付部、２８  制御部、３０  切り出し部、３２  画像伸長部、３４  印刷部。
【図２】
2010041675.tif 000003
【図３】
2010041675.tif 000004
【図４】
2010041675.tif 000005
【図５】
2010041675.tif 000006
【図６】
2010041675.tif 000007
【図７】
2010041675.tif 000008
【図８】
2010041675.tif 000009
【図１】
2010041675.tif 000010