(57)【要約】【課題】非正方格子状に配置されたデータを容易に読み出すための技術を提供する。【解決手段】ライン上を走査してデータを読み出す画像処理装置であって、非正方格子状に配置された複数のデータの読み出しにおいて、走査しているライン上の走査位置のアドレスと、次の読み出し対象のデータのアドレスとの間に、前記読み出しに係る読み出しラインを変化させる変化点が存在するか否かを判定する判定手段と、前記判定手段により変化点が存在すると判定された場合、前記変化点に基づいて読み出しラインを変更して次に読み出すデータのアドレスを取得する第１の取得手段と、を有することによって課題を解決する。【選択図】図７
2015056680.tif 000002
【特許請求の範囲】
【請求項１】
ライン上を走査してデータを読み出す画像処理装置であって、
非正方格子状に配置された複数のデータの読み出しにおいて、走査しているライン上の走査位置のアドレスと、次の読み出し対象のデータのアドレスとの間に、前記読み出しに係る読み出しラインを変化させる変化点が存在するか否かを判定する判定手段と、
前記判定手段により変化点が存在すると判定された場合、前記変化点に基づいて読み出しラインを変更して次に読み出すデータのアドレスを取得する第１の取得手段と、
を有する画像処理装置。
【請求項２】
前記第１の取得手段は、１つ前に読み出されたデータのアドレスと、読み出しラインにおける画像データ数と、変更前後の読み出しラインにおける変化点の位相とに基づいて次に読み出すデータのアドレスを導出して取得する請求項１記載の画像処理装置。
【請求項３】
前記第１の取得手段は、変更後の読み出しラインに画像データが存在しない場合、更に隣の読み出しラインに基づいて次に読み出すデータのアドレスを取得する請求項１又は２記載の画像処理装置。
【請求項４】
前記第１の取得手段により次に読み出すデータのアドレスが取得されると、前記走査位置のアドレスを前記変化点におけるアドレスに更新する更新手段を更に有する請求項１乃至３何れか１項記載の画像処理装置。
【請求項５】
前記判定手段により変化点が存在しないと判定された場合、１つ前に読み出されたデータのアドレスと同一のラインの次のアドレスを取得する第２の取得手段と、
前記第２の取得手段により取得されたアドレスのデータを読み出す読み出し手段と、
を更に有する請求項１乃至４何れか１項記載の画像処理装置。
【請求項６】
前記データは、入力画像を領域毎に縮小処理した画像データである請求項１乃至５何れか１項記載の画像処理装置。
【請求項７】
画像処理装置が実行する情報処理方法であって、
非正方格子状に配置された複数のデータの読み出しにおいて、走査しているライン上の走査位置のアドレスと、次の読み出し対象のデータのアドレスとの間に、前記読み出しに係る読み出しラインを変化させる変化点が存在するか否かを判定する判定ステップと、
前記判定ステップにより変化点が存在すると判定された場合、前記変化点に基づいて読み出しラインを変更して次に読み出すデータのアドレスを取得する第１の取得ステップと、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年、ＰＣやデジタルカメラの普及に伴い、デジタル画像データを取り扱う機会が増加している。ダウンロードや撮影によって取得されるデジタル画像データは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置に保存される。また、デジタル画像データを加工する場合は、記憶装置に保存された画像データを逐次読み出しながら画像処理を施すか、画像データを一旦ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等に展開してから画像処理を施す。
記憶装置に保存されるデジタル画像データは、コストや可搬性等の観点からできるだけデータ容量が小さいことが好ましく、画像中の余分な情報を圧縮して記憶装置に保存し、これを伸長して画像処理を行うことが一般的に行われる。
特許文献１に開示されている技術は、デジタル画像データ中の階調画像部分を網点化した結果、生じる個々の網点を、表現する位置情報と、その網点サイズ値とを関係付けて、網点スクリーンライン毎に再構成可能な網点符号化データとして符号化する。また、この技術は、デジタル画像データを網点化することを前提としており、この網点化の特性に応じた符号化を行うことでデジタル画像データを圧縮している。
【０００３】
一方、デジタル画像データに施される画像処理には多種多様な処理が存在する。その中には、デジタル画像データを取得する際又は出力する際の変形量に合わせて画像データを変形させる処理が存在する。
特許文献２に開示されている技術は、スキャナで読み取った原稿の傾きから主走査読み出し間隔、主走査読み出し開始位置及び主走査読み出し終了位置を算出し、これらの位置を基に原稿を読み出すことで斜行補正を行う。
特許文献３に開示されている技術は、画像メモリのアドレス空間に対応した仮想座標空間を設定し、この仮想座標空間上での座標値を基に、読み出す画像データのアドレスと、拡大処理における補間係数とを算出する。これにより、特許文献３に開示されている技術は、任意倍率拡大に対応した千鳥配列の印字データを生成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２２３３４７号公報
【特許文献２】特開２００５−１２３９５号公報
【特許文献３】特開平７−３０７８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている技術は、網点スクリーンライン毎に画像データを符号化することで、データ容量を圧縮することができる。しかしながら、特許文献１に開示されている技術は、このように網点スクリーンライン毎に符号化されたデータに対して、任意位置のデータを記憶装置から読み出すことができない。なぜならば、記憶装置上の網点符号化データは、ラスタ走査順に並んだデータ列ではなく、網点スクリーンライン毎に並んだデータ列となっているからである。したがって、特許文献１に開示されている技術は、圧縮された網点符号化データを画像データの左上からラスタ走査順に出力しようとした場合、１ページ分の記憶領域を確保して、この領域に逐次網点符号化データを展開した後にラスタ順に読み出す必要があった。
また、特許文献２に開示されている技術は、算出した主走査読み出し間隔、主走査読み出し開始位置及び主走査読み出し終了位置を基に読み取った原稿を読み出すことで、斜行補正することができる。しかしながら、特許文献２に開示されている技術は、原稿読み取りの際にプレビュー等の目的で千鳥配列等の非正方格子状の間引きパターンによって読み取り画素数が削減されている場合、傾きに合わせて画像データを読み出すことができない。なぜならば、主走査読み出し間隔中の画素数がラインによって異なるためである。
更に、特許文献３に開示されている技術は、画像メモリに格納された画像データが非正方格子状の配置を有する場合、任意位置の画像データを読み出すために、複雑な座標計算を要する。一般的に、画像メモリのアドレス空間は１次元又はそれを拡張した２次元正方格子状の座標空間であり、特許文献３に開示されている技術における仮想座標空間もこの正方格子状の座標空間を拡張したものである。この仮想座標空間で非正方格子状に配置された画像データを読み出すためには、仮想座標空間での座標計算に加え、非正方格子状の座標空間への座標変換が必要となるため、画像データを読み出すことが困難となる。
【０００６】
本発明は、非正方格子状に配置されたデータを容易に読み出すための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、ライン上を走査してデータを読み出す画像処理装置であって、非正方格子状に配置された複数のデータの読み出しにおいて、走査しているライン上の走査位置のアドレスと、次の読み出し対象のデータのアドレスとの間に、前記読み出しに係る読み出しラインを変化させる変化点が存在するか否かを判定する判定手段と、前記判定手段により変化点が存在すると判定された場合、前記変化点に基づいて読み出しラインを変更して次に読み出すデータのアドレスを取得する第１の取得手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、非正方格子状に配置されたデータを容易に読み出すための技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理装置の構成の一例を示す図である。
【図２】画像処理部の構成の一例を示す図である。
【図３】入力画像データの一例を示す図である。
【図４】縮小画像データと、アドレスとの対応関係の一例を示す図である。
【図５】入力画像データに変形を加えた場合の画像データの一例を示す図である。
【図６】縮小画像データの読み出しイメージの一例を示す図である。
【図７】アドレス算出処理のフローチャートの一例を示す図である。
【図８】アドレス演算に使用される各変数の一例を示す図（その１）である。
【図９】縮小画像データの一例を示す図（その１）である。
【図１０】位相に基づく値の算出結果の概念の一例を示す図である。
【図１１】アドレス演算に使用される各変数の一例を示す図（その２）である。
【図１２】縮小画像データの一例を示す図（その２）である。
【図１３】ドットパターンの形状と、成長順とのイメージの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
＜実施形態１＞
以下、画像処理装置が周期的な領域毎に縮小処理した画像を記憶装置に格納し、ユーザが所望する変形量に合わせて画像データを読み出し、ハーフトーン処理を施す実施形態について説明する。
図１は、本実施形態における画像処理装置の構成の一例を示す図である。
画像処理装置１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１４、入力部１５、表示部１６、スキャナ１７及び画像処理部１８を有する。
ＣＰＵ１１は、ＲＯＭ１３等に格納されているプログラムを実行することにより、画像処理装置１０全体を制御し、後述するフローチャートの処理（情報処理）を実行する。
ＲＡＭ１２は、プログラムやデータを一時記憶するワークメモリとして機能する。
ＲＯＭ１３は、各種のプログラム、画像処理装置１０の処理に要する各種のデータ及び設定値に関するデータ等を記憶している。
ネットワークＩ／Ｆ１４は、画像処理装置１０と、ネットワークを介して通信可能な外部の機器とを接続する。
入力部１５は、ユーザが画像処理装置１０に指示を入力するために用いるキー等を有する。なお、入力部１５は、表示部１６と一体となっているタッチパネル等であってもよい。
表示部１６は、画像処理装置１０における情報を表示するディスプレイ等である。なお、表示部１６は、上述したように入力部１５と一体となっていてもよい。
スキャナ１７は、原稿を画像データ等として読み取る。
画像処理部１８は、読みとられた画像データ等を処理する。なお、画像処理部１８の詳細については、図２等を用いて後述する。
【００１１】
図２は、画像処理部１８の構成の一例を示す図である。
画像処理部１８は、縮小処理部１００、記憶装置書き込み部１０１、記憶装置１０２、記憶装置読み出し部１０３及びハーフトーン処理部１０４を有する。
縮小処理部１００は、外部から多値の入力画像データが入力されると、画像データを縮小する。記憶装置書き込み部１０１は、記憶装置１０２へ書き込みアクセスをして、縮小画像データを格納する。記憶装置１０２は、ＤＲＡＭやＨＤＤ等で構成されており、大容量な記憶領域を有している。記憶装置読み出し部１０３は、ユーザが所望する変形量に合わせて記憶装置１０２へ読み出しアクセスをして、縮小画像データを読み出す。そして、ハーフトーン処理部１０４は、画像データを二値化する。
【００１２】
以下、画像処理部１８の機能について、より具体的に説明する。
縮小処理部１００は、入力された入力画像データを縮小処理することで、画像データ数を減少させて、記憶装置１０２に保存する画像データの容量及び帯域を削減する。ここでは、縮小処理部１００が、図３に示すような色毎に異なる周期的な領域の平均値を出力する縮小処理を例に説明する。
図３は、色毎の入力画像データの一例を示す図である。図３の（ａ）から（ｄ）までは、各々、シアン、マゼンタ、イエロー、ブラックの場合における入力画像データを示している。
縮小処理部１００は、各色において、図３に示す太線で囲まれた領域の画素平均値を、斜線が描かれた画素が示すポイントにおいて、太線で囲む領域毎に１つずつ出力する。これにより、縮小処理部１００は、色毎に異なる圧縮率で入力される画像データの画素数を削減する。縮小処理部１００は、一般的な正方格子状の矩形領域による縮小処理だけではなく、後述するハーフトーン処理部１０４により非正方格子状に配置された領域に対して領域毎に縮小処理をする場合もある。ここで図３からわかるように、本実施形態における縮小処理部１００は、イエローの入力画像データに対しては正方格子状の矩形領域による縮小処理を行い、シアン、マゼンタ、ブラックに対しては、非正方格子状に配置された領域毎の縮小処理を行う。
ハーフトーン処理部１０４は、濃度パターン法と呼ばれる手法により、多値の階調データを基に二値のドットパターンを生成する。その際、ハーフトーン処理部１０４は、色間モアレと呼ばれる各色のドットパターンの干渉縞を低減するために、夫々の色においてスクリーン角と呼ばれる傾きを持ったドットパターンを形成する。また、ハーフトーン処理部１０４は、夫々の色に対して、ドットパターンの大きさを調整することができる度合を示すスクリーン線数を設定する。縮小処理部１００は、図３に示すように、ハーフトーン処理部１０４が設定するスクリーン角度及びスクリーン線数に従って、各色の平均値を取得する領域を設定している。これにより、縮小処理部１００は、ハーフトーン処理部１０４が使用しない情報だけを選択的に圧縮することができ、画質劣化を防止しつつ、記憶装置１０２に格納するデータの容量及び帯域を低減することができる。
【００１３】
図２の説明に戻る。
記憶装置書き込み部１０１は、縮小処理部１００で縮小処理された画像データを左上の画素からラスタ走査順に受け取り、記憶装置１０２に画像データを保存するためのアクセス制御を行う。記憶装置書き込み部１０１は、縮小処理された画像データを受け取った順番に記憶装置１０２のデータ格納領域を示すアドレスを指定する。
図４は、縮小処理された色毎の画像データと、記憶装置１０２のアドレスとの対応関係の一例を示す図である。図４の（ａ）から（ｄ）までは、各々、シアン、マゼンタ、イエロー、ブラックの場合における縮小処理された画像データと、記憶装置１０２のアドレスとの対応関係を示している。
記憶装置書き込み部１０１は、図４に示す数字に各色のベースアドレスを加えることで記憶装置１０２内の実際のデータ格納領域を指定することができ、指定した格納領域に縮小された画像データを格納する。
記憶装置１０２は、他のメモリアクセス制御部ともバスを介して共有化されていることが一般的である。そのため、他のメモリアクセス制御部のアクセス時間を遅延させることがないように、記憶装置１０２へアクセスするデータ容量を低減することに加え、占有するバスの帯域をできるだけ低減させることが好ましい。
記憶装置読み出し部１０３は、予め設定された読み出しライン変化点を基に、記憶装置１０２に保存された複数の縮小画像データのアドレスを算出（導出）し、ユーザが所望する変形を加えながら縮小画像データを読み出す。ここで、読み出しラインとは、記憶装置読み出し部１０３が読み出す縮小画像データが配置されているラインのことである。また、読み出しライン変化点とは、記憶装置読み出し部１０３が縮小画像データを読み出す際の読み出しラインを変更する変化点である。
【００１４】
図５は、入力画像データに変形を加えた場合の画像データの一例を示す図である。
画像処理装置１０は、読み出しライン変化点を、図５に示す入力画像データ４００の形状と、ユーザが所望する変形が加えられた画像データ４０１の形状とから算出する。記憶装置読み出し部１０３は、読み出しライン変化点において、画像がＹ軸方向に変形したＸ座標値と、変形量との情報を取得する。なお、読み出しライン変化点は、入力画像データに対する変形量から算出されるため、記憶装置１０２に格納された縮小画像データよりも高い分解能を有している。本実施形態では、画像処理装置１０が、図５に示すように読み出しライン変化点４０２、４０３、４０４及び４０５を設定したものとする。
図６は、図５に示すような読み出しライン変化点が与えられた場合の縮小画像データの読み出しイメージの一例を示す図である。
記憶装置読み出し部１０３は、図６の矢印が示す読み出し順の通りに図中の左上端からライン毎に縮小画像データを読み出せるようにアドレスを算出する。なお、本実施形態では読み出しライン変化点を各色共通としているが、色毎に異なるようにしてもよい。
【００１５】
図７は、記憶装置読み出し部１０３が実行するアドレス算出処理のフローチャートの一例を示す図である。
以下、マゼンタの縮小画像データのアドレス算出方法と、ブラックの縮小画像データのアドレス算出方法とを例に挙げて説明する。
＜マゼンタの縮小画像データ読み出し＞
まず、記憶装置読み出し部１０３が、記憶装置１０２に格納された図４の（ｂ）に示すマゼンタの縮小画像データを図６の（ｂ）に示す読み出しライン変化点に合わせて読み出す場合のアドレス算出方法について説明する。記憶装置読み出し部１０３は、アドレスを算出するため、図４の（ｂ）に示すマゼンタの縮小画像データに対して、入力画像データの座標空間に一致するＸＹ座標空間を定義する。
図８は、アドレス演算に使用される各変数の一例を示す図である。
画像幅Ｗは、縮小処理がされる前の画像幅である。
ラインオフセット（ＬＩＮＥ＿ＯＦＦＳＥＴ）［Ｙ］は、各ラインの左端の縮小画像データのＸ座標値である。ラインオフセットの値は、各ラインで異なる。しかし、周期的な間隔で縮小処理が行われているため、記憶装置読み出し部１０３は、ラインオフセットの値を予め算出することができる。
周期Ｐは、読み出しライン変化がない場合の１ライン上での縮小画像データの間隔であり、今回の周期的な間隔の縮小処理では、各ライン共通の値となる。
以下、記憶装置読み出し部１０３が、図４の（ｂ）のマゼンタの縮小画像データのうちアドレスを示す数字が７の縮小画像データを直前に読み出した状態である場合に、次に読み出す縮小画像データのアドレスを算出する処理について、図７に従って説明する。
【００１６】
Ｓ６００において、記憶装置読み出し部１０３は、現在の位置（走査位置）から次の読み出し対象の縮小画像データまでの間に読み出しライン変化点があるか否かを判定し、読み出しライン変化点があると判定した場合、処理をＳ６０１に進める。一方、記憶装置読み出し部１０３は、読み出しライン変化点がないと判定した場合、処理をＳ６０３に進める。以下、Ｓ６００の処理について、図９を用いて詳述する。
図９は、アドレスが７の縮小画像データの周りの縮小画像データの一例を示す図である。
ここで、現在の位置はＸ座標で５の位置である。Ｓ６００において、記憶装置読み出し部１０３は、Ｘ座標が５の位置から次の縮小画像データまでの間隔、即ち、周期Ｐの間隔中に読み出しライン変化点があるか否か判定する。図９の場合、記憶装置読み出し部１０３は、最も左側にある読み出しライン変化点４０２を検出する。即ち、記憶装置読み出し部１０３は、読み出しライン変化点があると判定し、処理をＳ６０１に進める。
【００１７】
Ｓ６０１において、記憶装置読み出し部１０３は、縮小画像データを読み出すためにアドレスの更新を行い、処理をＳ６０２に進める。ここで、直前の読み出しアドレスをａｄｄｒ１、縮小画像データ１ライン分のデータ数をＬＩＮＥ＿ＮＵＭとする。また、変更前の読み出しラインの変化点と、変更後の読み出しラインの変化点との位相から求まる値をＤとする。その場合、記憶装置読み出し部１０３は、式（１）から更新後のアドレスであるａｄｄｒ２を求める。なお、ＬＩＮＥ＿ＮＵＭ及びＤの算出方法については、後述する。
ａｄｄｒ２＝ａｄｄｒ１±ＬＩＮＥ＿ＮＵＭ＋Ｄ・・・（１）
ここで、記憶装置読み出し部１０３は、読み出しライン変化点で上下どちらのラインに変化するかによって、ＬＩＮＥ＿ＮＵＭを加算するか又は減算するかを決定する。より具体的にいうと、記憶装置読み出し部１０３は、上のラインに読み出しラインを変化させる場合にはＬＩＮＥ＿ＮＵＭを減算し、下のラインに変化させる場合には加算する。また、ラインの位置をＹとすると、記憶装置読み出し部１０３は、縮小画像データ１ライン分のデータ数を示すＬＩＮＥ＿ＮＵＭを、式（２）から算出する。
ＬＩＮＥ＿ＮＵＭ＝（Ｗ−ＬＩＮＥ＿ＯＦＦＳＥＴ［Ｙ］）／Ｐ・・・（２）
但し、記憶装置読み出し部１０３は、除算の商の小数点以下を切り下げる。ＬＩＮＥ＿ＮＵＭの値は、式（２）から明らかなように、各ラインによって異なる場合がある。記憶装置読み出し部１０３は、読み出しライン変化点において、１つ上のラインに読み出しラインを変化させる場合には、この上のラインのＬＩＮＥ＿ＮＵＭの値をアドレス更新に使用する。また、記憶装置読み出し部１０３は、読み出しライン変化点において、１つ下のラインに読み出しラインを変化させる場合には、変化前の読み出し中のラインのＬＩＮＥ＿ＮＵＭの値をアドレス更新に使用する。
【００１８】
また、読み出しライン変化点の位置をＸ、読み出し中のラインの位置をＹとすると、記憶装置読み出し部１０３は、この位置での読み出しライン変更前後のラインにおける位相から求まる値Ｄを式（３）から算出する。
Ｄ＝（Ｘ−ＬＩＮＥ＿ＯＦＦＳＥＴ［Ｙ±１］）／Ｐ−（Ｘ−ＬＩＮＥ＿ＯＦＦＳＥＴ［Ｙ］）／Ｐ・・・（３）
但し、記憶装置読み出し部１０３は、除算の商の小数点以下を切り下げる。また、記憶装置読み出し部１０３は、読み出しライン変化点で上下どちらのラインに変化するかによって、ＬＩＮＥ＿ＯＦＦＳＥＴのインデックス値Ｙに１を加算するか、１を減算するかを決定する。より具体的にいうと、記憶装置読み出し部１０３は、上のラインに読み出しラインを変化させる場合には１を減算し、下のラインに変化させる場合には１を加算する。記憶装置読み出し部１０３が式（３）から算出した値Ｄは、読み出しライン変更前後の２つのラインにおいて、各ラインの先頭位置から読み出しライン変化点までの縮小画像データ数の差分になっている。
【００１９】
図１０は、値Ｄの計算結果の概念の一例を示す図である。より具体的にいうと、図１０の（ａ）は、図８のＹ座標値５のラインから１つ上のＹ座標値４のラインに変化する場合におけるＤの計算結果の概念の一例を示す図である。図１０の（ｂ）は、図８のＹ座標値５のラインから１つ下のＹ座標値６のラインに変化する場合におけるＤの計算結果の概念の一例を示す図である。
本実施形態の場合、読み出しライン変更前後の２つのラインは、縮小画像データの配置が周期Ｐの間隔で変化しているため、縮小画像データ数の差分も周期的に変化する。そのため、記憶装置読み出し部１０３は、読み出しライン変更前後の２つのラインにおいて、縮小画像データの一周期内の読み出しライン変化点の位置を示す位相を特定すれば、値Ｄを算出することができる。また、画像処理装置１０は、これらの値を予めテーブルとして記憶装置１０２に格納しておいてもよい。そして、記憶装置読み出し部１０３は、読み出しライン変化点の直前の縮小画像データの位置を読み出し基準位置とし、その読み出し基準位置から読み出しライン変化点までの距離に基づいて、前記テーブルを検索して値Ｄを参照するようにしてもよい。
記憶装置読み出し部１０３は、直前に読み出した縮小画像データのアドレス（ａｄｄｒ１）を７とした場合、上記の演算の結果により、記憶装置読み出し部１０３は、縮小画像データ１ライン分のデータ数ＬＩＮＥ＿ＮＵＭを１、読み出しライン変化点の位相から求まる値Ｄを−１と算出する。そして、記憶装置読み出し部１０３は、更新されたアドレス（ａｄｄｒ２）を５と算出する。
【００２０】
図７の説明に戻る。
Ｓ６０２において、記憶装置読み出し部１０３は、現在位置の更新を行う。本実施形態では読み出しライン変化点４０２が検出されているので、記憶装置読み出し部１０３は、現在の位置を読み出しライン変化点４０２の位置に更新する。但し、読み出しライン変化点４０２はＸ座標の整数値の間に位置しているため、記憶装置読み出し部１０３は、便宜上、Ｘ座標値を切り下げて９とする。そして、記憶装置読み出し部１０３は、Ｓ６０２の処理で更新された現在の位置に対して再度Ｓ６００の処理を実行する。
Ｓ６００の処理については、上述した通りである。現在の位置が読み出しライン変化点４０２の位置にあるとすると、アドレスが６の縮小画像データまでの間に読み出しライン変化点は存在しないので、記憶装置読み出し部１０３は、処理をＳ６０３に進める。
Ｓ６０３において、記憶装置読み出し部１０３は、アドレスを１つインクリメント（加算）し、処理をＳ６０４に進める。そのため、記憶装置読み出し部１０３が次に読み出す縮小画像データのアドレスは、６になる。
Ｓ６０４において、記憶装置読み出し部１０３は、Ｓ６０３で算出したアドレスのデータ格納領域にある縮小画像データを記憶装置１０２にアクセスすることで読み出し、処理をＳ６０５に進める。
【００２１】
Ｓ６０５において、記憶装置読み出し部１０３は、現在の位置を読み出した縮小画像データの位置に更新し、処理をＳ６０６に進める。本実施形態において、記憶装置読み出し部１０３は、図９に示すアドレスが６である位置の縮小画像データを読み出したので、現在の位置をＸ座標値１０に更新する。
Ｓ６０６において、記憶装置読み出し部１０３は、全ての縮小画像データの読み出しを終了したか否かを判定し、終了したと判定した場合、処理を終了し、終了していないと判定した場合、処理をＳ６００に戻す。
以上の処理により、記憶装置読み出し部１０３は、記憶装置１０２に格納された縮小画像データを読み出しライン変化点に合わせて読み出す際のアドレスを算出することができるようになる。
【００２２】
＜ブラックの縮小画像データ読み出し＞
次に、記憶装置読み出し部１０３が、図４の（ｄ）に示すブラックの縮小画像データを図６の（ｄ）に示す読み出しライン変化点に合わせて読み出す場合のアドレス算出方法について説明する。ブラックの縮小画像データは、上述のマゼンタの縮小画像データと縮小処理を行う周期的な領域が異なり、縮小画像データの読み出しの際に変形を加えない場合には、読み出す必要のないラインが存在する。以下、マゼンタの縮小画像データのアドレス算出方法とは異なる点について詳細に説明し、重複する点については説明を省略する。
記憶装置読み出し部１０３は、図４の（ｄ）に示すブラックの縮小画像データに対して、入力画像データの座標空間に一致するＸＹ座標空間を定義する。
図１１は、アドレス演算に使用される各変数の一例を示す図である。
図１１の（ａ）に示すように、ブラックの縮小画像データの場合、Ｙ座標が１、３、５、７、９、１１のラインについては、縮小画像データが存在しない。しかし、画像処理装置１０が、ユーザが所望する変形を加えるために読み出しライン変化点を設定し、図７のフローチャートに従って縮小画像の読み出しを行うためには、１ラインに少なくとも１つ以上の画像データが必要となる。そこで、図１１の（ｂ）に示すように、縮小画像データのないラインを仮想ラインとし、この仮想ラインには、１つ上のラインに存在する縮小画像データと同じ縮小画像データが存在すると仮定する。ここで、図４の（ｄ）のブラックの縮小画像データにおいて、直前にアドレスを示す数字が１３の縮小画像データが読み出された状態にあると仮定する。
【００２３】
図１２は、アドレスが１３の縮小画像データの周りの縮小画像データの一例を示す図である。
図７に示すフローチャートによると、記憶装置読み出し部１０３は、次の縮小画像データのアドレスを算出するため、Ｓ６００で読み出しライン変化点４０２を検出した場合、Ｓ６０１でアドレスを更新し、Ｓ６０２で現在位置の更新を行う。ここでは、読み出しライン変化点４０２において、１つ上の仮想ラインへ読み出しラインを変化させるため、現在位置はＸ座標値１０、Ｙ座標値３となる。更に、記憶装置読み出し部１０３は、Ｓ６００において次の縮小画像データまでの間に読み出しライン変化点がないと判定した場合、Ｓ６０３でアドレスが９の縮小画像データを読み出すためのアドレスのインクリメントを行う。
Ｓ６０４において、記憶装置読み出し部１０３は、通常の読み出しラインであればアドレスが９の縮小画像データを記憶装置１０２から読み出す。しかし、ここで、記憶装置読み出し部１０３が読み出そうとしているアドレスが９の縮小画像データは、仮想ラインのデータであり実際に存在しないデータである。そのため、記憶装置読み出し部１０３は、Ｓ６０４で仮想ラインのデータを読み出さない。更に、記憶装置読み出し部１０３は、仮想ラインのアドレスが９の縮小画像データの位置から次の縮小画像データを読み出すために、読み出しライン変化点４０３によって、読み出しラインを仮想ラインから１つ上のラインへ変化させる。この際、記憶装置読み出し部１０３は、Ｓ６０１でアドレスを更新するが、もともと仮想ラインには１つ上のラインと同じ縮小画像データが存在すると仮定している。そのため、記憶装置読み出し部１０３は、同じ縮小画像データが存在すると仮定したライン間での読み出しラインの変化においては、例外的にアドレスを更新しないこととする。即ち、記憶装置読み出し部１０３は、仮想ラインの１つ上のラインにおいてアドレスが９の縮小画像データを読み出す。
【００２４】
上述した仮想ラインに対する処理によって、記憶装置読み出し部１０３は、ブラックの縮小画像データであっても、容易に画像データを読み出すことができる。より具体的にいうと、記憶装置読み出し部１０３は、もともと読み出す画像データが存在しないラインを含む画像データの場合でも、ユーザが所望する変形を実現する読み出しライン変化点に従って、画像データを読み出すことができる。
上述したように、記憶装置読み出し部１０３は、図７に示すフローチャートの処理を繰り返すことで、図４に示す記憶装置１０２に格納された縮小画像データを図６に示すような読み出しイメージの順に読み出すことができるようになる。なお、読み出しライン変化点における読み出しラインの変化量が２以上の場合、記憶装置読み出し部１０３は、Ｓ６０１におけるアドレス更新において、ライン変化量分の縮小画像データ数をＬＩＮＥ＿ＮＵＭとして計算すればよい。
【００２５】
ハーフトーン処理部１０４は、読み出した縮小画像データから濃度パターン法によって、二値データを生成する。
図１３は、縮小画像データが与えられた場合の各色のドットパターンの形状と、成長順とのイメージの一例を示す図である。
上述したように、各色のスクリーン線数によってドットパターンの大きさが異なっており、各色の最大のドットパターンを占める領域と、縮小処理部１００が平均値を取得する領域とが同一の範囲にある。また、各色のドットパターンは異なるスクリーン角を有しているが、縮小処理部１００は、既にスクリーン角に相当する周期的な領域の平均値を抽出している。また、記憶装置読み出し部１０３は、ユーザが所望する変形に合わせた縮小画像データの読み出しを行っている。そのため、ハーフトーン処理部１０４は、読み出された縮小画像データの階調を表現するドットパターンを生成すればよい。
以上、本実施形態における画像処理装置１０は、ハーフトーン処理の特性に合わせて非正方格子状となる周期によって縮小処理した画像を記憶装置１０２に格納し、ユーザが所望する変形量に合わせて画像データを読み出し、ハーフトーン処理を施す。ハーフトーン処理に関した縮小処理が施されるために、記憶装置１０２に格納される画像データは非正方格子状となるが、画像処理装置１０は、ユーザが所望する変形に合わせて任意位置の画像データを読み出すことができるようになる。
【００２６】
＜その他の実施形態＞
画像処理部１８がＣＰＵを有しており、画像処理部１８のＣＰＵが記憶装置１０２に記憶されたプログラムを実行することにより、画像処理部１８の機能を実現するような構成であってもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２７】
以上、上述した各実施形態によれば、非正方格子状に配置されたデータを容易に読み出すための技術を提供することができる。より具体的にいうと、記憶装置に格納された非正方格子状に配置された画像データの変形に係るアドレス演算が容易となる。そのため、画像処理装置１０は、変形のための記憶領域を確保せずに、読み出すラインを変更しながら画像データを読み出して変形させることができる。
【００２８】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2015056680.tif 000003
【図２】
2015056680.tif 000004
【図３】
2015056680.tif 000005
【図４】
2015056680.tif 000006
【図５】
2015056680.tif 000007
【図６】
2015056680.tif 000008
【図７】
2015056680.tif 000009
【図８】
2015056680.tif 000010
【図９】
2015056680.tif 000011
【図１０】
2015056680.tif 000012
【図１１】
2015056680.tif 000013
【図１２】
2015056680.tif 000014
【図１３】
2015056680.tif 000015