(57)【要約】【課題】セルサイズ補正が行われたマトリクス型２次元シンボルに対して連結補正を確実に効果的に行うことが可能な画像処理技術を提供する。【解決手段】エンコーダ４５１は、シンボル生成パラメータを用いてシンボル画像を生成し、当該シンボル画像に対してセルサイズ補正量を用いてセルサイズ補正を行い、セルサイズ補正後のシンボル画像及びセルサイズ補正量を連結補正処理部４５２に渡す。連結補正処理部４５２は、セルサイズ補正量を用いてシンボル画像に対して連結補正を行い、連結補正後のシンボル画像をプリンタドライバ４３０に渡す。プリンタドライバ４３０は、連結補正後のシンボル画像を描画データにおいて重畳した後に印刷データに変換して、これをスプーラ４４０に渡す。印刷処理部４６０は、スプーラ４４０を介して印刷データを受け取り、当該印刷データを用いて印刷処理を実行する。【選択図】図４
2010217981.tif 000002
【特許請求の範囲】
【請求項１】
情報がエンコードされた画像であって少なくとも１つの画素を含み明暗のいずれかの色を表す複数のセルが２次元で配置されたマトリクス型２次元シンボルの画像であるシンボル画像に対して、セル間の間隔を変えずに、暗又は明を表す第１セルのサイズを縮小する負のセルサイズ補正が行なわれたシンボル画像の入力を受け付ける画像入力受付手段と、
前記シンボル画像に基づいて、当該シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する画素であって当該第１セルとは異なる色を表す画素の色を、当該第１セルと同じ色に変更する連結補正を行なう連結補正手段とを備える
ことを特徴とする画像処理装置。
【請求項２】
前記連結補正手段が連結補正を行なった前記シンボル画像を出力する出力手段を更に備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像入力受付手段は、ラスタ形式で表される前記シンボル画像の入力を受け付け、
前記連結補正手段は、
前記シンボル画像のシンボルタイプの入力を受け付けるタイプ入力受付手段と、
前記シンボルタイプに応じて前記シンボル画像に固定的に配置されるセルのパターンを識別して、当該パターンに含まれる各画素を探索することによって前記シンボル画像に配置された各セルの位置を示す位置情報を各々取得する位置情報取得手段と、
前記位置情報を用いて前記シンボル画像において隣接する２つ以上の第１セルを識別して、前記シンボル画像に対して、前記連結補正を行なう第１補正手段とを有する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記位置情報取得手段は、前記セルの前記位置情報を取得できない場合、当該セルの前後に配置されたセル間の中点を示す位置情報を、前記セルの前記位置情報として取得する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記連結補正手段は、前記シンボル画像の９０度単位での回転角度、上下反転の有無及び左右反転の有無のうち少なくとも１つの入力を受け付ける入力受付手段を更に有し、
前記位置情報取得手段は、前記回転角度、上下反転の有無及び左右反転の有無のうち少なくとも１つによって、前記シンボルタイプに応じた前記パターンにおいて画素を探索する際の探索手順を変更して、前記位置情報を各々取得する
ことを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記連結補正手段は、前記位置情報の正当性を検証する検証手段を更に有し、
前記第１補正手段は、前記位置情報が正常でないと検証された場合、前記シンボル画像に含まれる各画素のうち各画素を探索して、水平方向に並ぶ２つの画素であって前記第１セルと同じ色を表す第１画素の間に存在し当該第１セルと異なる色を表す第２画素の数が第１所定値以下である場合、前記第２画素の色を前記第１セルと同じ色に変更することにより、水平方向の連結補正を行なうと共に、垂直方向に並ぶ２つの画素であって前記第１セルと同じ色を表す第１画素の間に存在し当該第１セルと異なる色を表す第２画素の数が第２所定値以下である場合、前記第２画素の色を前記第１セルと同じ色に変更することにより、垂直方向の連結補正を行なう
ことを特徴とする請求項３乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像入力受付手段は、ラスタ形式で表される前記シンボル画像の入力を受け付け、
前記連結補正手段は、
前記シンボル画像に含まれる各画素のうち各画素を探索して、水平方向に並ぶ２つの画素であって前記第１セルと同じ色を表す第１画素の間に存在し当該第１セルと異なる色を表す第２画素の数が所定値以下である場合、前記第２画素の色を前記第１セルと同じ色に変更することにより、水平方向の連結補正を行なう第２補正手段と、
前記シンボル画像に含まれる各画素のうち各画素を探索して、垂直方向に並ぶ２つの画素であって前記第１セルと同じ色を表す第１画素の間に存在し当該第１セルと異なる色を表す第２画素の数が第２所定値以下である場合、前記第２画素の色を前記第１セルと同じ色に変更することにより、垂直方向の連結補正を行なう第３補正手段とを有する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項８】
前記連結補正手段は、前記第１セルのサイズを縮小させる量を示すセルサイズ補正量の入力を受け付ける補正量入力受付手段を更に有し、
前記第１所定値及び第２所定値のうち少なくとも１つは、前記セルサイズ補正量又は前記セルサイズ補正量を用いて設定された値である
ことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記シンボル画像のシンボルタイプの入力を受け付けるタイプ入力受付手段を更に備え、
前記連結補正手段は、前記シンボルタイプを用いて、前記シンボル画像がマトリクス型２次元シンボルであるか否かを判断するタイプ判断手段を更に有し、
前記第２補正手段は、前記シンボル画像がマトリクス型２次元シンボルであると判断された場合に、当該シンボル画像に対して水平方向の前記連結補正を行い、前記シンボル画像がマトリクス型２次元シンボルでないと判断された場合には、当該シンボル画像に対して水平方向の前記連結補正を行わず、
前記第３補正手段は、前記シンボル画像がマトリクス型２次元シンボルであると判断された場合に、当該シンボル画像に対して垂直方向の前記連結補正を行い、前記シンボル画像がマトリクス型２次元シンボルでないと判断された場合に、当該シンボル画像に対して垂直方向の前記連結補正を行わない
ことを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
前記補正量入力受付手段は、前記第１セルのサイズを変更させる量を示すセルサイズ補正量の入力を受け付け、
前記連結補正手段は、
前記セルサイズ補正量によって示される量が前記第１セルのサイズを縮小させるものである場合、前記シンボル画像に対して負のセルサイズ補正が行なわれていると判断し、前記セルサイズ補正量によって示される量が前記第１セルのサイズを縮小させるものではない場合、前記シンボル画像に対して負のセルサイズ補正が行なわれていないと判断する補正量検証手段とを更に有し、
前記第２補正手段は、前記シンボル画像に対して負のセルサイズ補正が行なわれていると判断された場合に、当該シンボル画像に対して水平方向の前記連結補正を行い、前記シンボル画像に対して負のセルサイズ補正が行なわれていないと判断された場合には、当該シンボル画像に対して水平方向の前記連結補正を行わず、
前記第３補正手段は、前記シンボル画像に対して負のセルサイズ補正が行なわれていると判断された場合に、当該シンボル画像に対して垂直方向の前記連結補正を行い、前記シンボル画像に対して負のセルサイズ補正が行なわれていないと判断された場合には、当該シンボル画像に対して垂直方向の前記連結補正を行わない
ことを特徴とする請求項７乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
前記補正量入力受付手段は、水平方向の前記セルサイズ補正量及び垂直方向の前記セルサイズ補正量の各々の入力を受け付け、
前記補正量検証手段は、水平方向の前記セルサイズ補正量及び垂直方向の前記セルサイズ補正量を用いて、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれているか否か及び前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれているか否かを判断し、
前記第２補正手段は、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれていると判断された場合に、水平方向の前記連結補正を行い、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれていないと判断された場合には、水平方向の前記連結補正を行わず、
前記第３補正手段は、前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれていると判断された場合に、垂直方向の前記連結補正を行い、前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれていないと判断された場合には、垂直方向の前記連結補正を行わない
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記画像入力受付手段は、前記第１セルを矩形領域としてその座標が表されるベクタ形式の前記シンボル画像の入力を受け付け、
前記連結補正手段は、
前記シンボル画像を解析して前記第１セルの座標を各々識別し、当該シンボル画像に含まれる各セルの位置を示す位置情報を各々取得する位置情報取得手段と、
前記位置情報を用いて前記シンボル画像において隣接する２つ以上の第１セルを識別して、前記シンボル画像に対して、前記連結補正を行なう第１補正手段とを有する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１３】
前記第１補正手段は、前記シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する領域であってその色を前記第１セルと同じ色に変更した領域の集合を新たな矩形領域として追加する又は当該領域を含むよう前記第１セルの座標を変更することにより、前記連結補正を行なう
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記連結補正手段は、前記シンボルタイプを用いて、前記シンボル画像がマトリクス型２次元シンボルであるか否かを判断するタイプ判断手段を更に有し、
前記第１補正手段は、前記シンボル画像がマトリクス型２次元シンボルであると判断された場合、当該シンボル画像に対して前記連結補正を行い、前記シンボル画像がマトリクス型２次元シンボルでないと判断された場合、当該シンボル画像に対して前記連結補正を行なわない
ことを特徴とする請求項３乃至６、１２又は１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記連結補正手段は、
前記第１セルのサイズを変更させる量を示すセルサイズ補正量の入力を受け付ける補正量入力受付手段と、
前記セルサイズ補正量によって示される量が前記第１セルのサイズを縮小させるものである場合、前記シンボル画像に対して負のセルサイズ補正が行なわれていると判断し、前前記セルサイズ補正量によって示される量が前記第１セルのサイズを縮小させるものではない場合、前記シンボル画像に対して負のセルサイズ補正が行なわれていないと判断する補正量検証手段とを更に有し、
前記第１補正手段は、前記シンボル画像に対して負のセルサイズ補正が行なわれていると判断された場合に、当該シンボル画像に対して前記連結補正を行い、前記シンボル画像に対して負のセルサイズ補正が行なわれていないと判断された場合には、当該シンボル画像に対して前記連結補正を行わない
ことを特徴とする請求項３乃至６、１２乃至１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記画像入力受付手段は、ラスタ形式で表される前記シンボル画像の入力を受け付け、
前記補正量入力受付手段は、水平方向の前記セルサイズ補正量及び垂直方向の前記セルサイズ補正量の各々の入力を受け付け、
前記補正量検証手段は、水平方向の前記セルサイズ補正量及び垂直方向の前記セルサイズ補正量を用いて、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれているか否か及び前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれているか否かを判断し、
前記第１補正手段は、前記シンボル画像に対して水平方向及び垂直方向のいずれも負のセルサイズ補正が行なわれていると判断された場合、前記連結補正を行い、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれていると判断された場合に、前記シンボル画像に含まれる各画素のうち各画素を探索して、水平方向に並ぶ２つの画素であって前記第１セルと同じ色を表す第１画素の間に存在し当該第１セルと異なる色を表す第２画素の数が所定値以下である場合、前記第２画素の色を前記第１セルと同じ色に変更することにより、水平方向の連結補正を行い、前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれていると判断された場合に、前記シンボル画像に含まれる各画素のうち各画素を探索して、垂直方向に並ぶ２つの画素であって前記第１セルと同じ色を表す第１画素の間に存在し当該第１セルと異なる色を表す第２画素の数が所定値以下である場合、前記第２画素の色を前記第１セルと同じ色に変更することにより、垂直方向の連結補正を行い、前記シンボル画像に対して水平方向及び垂直方向のいずれも負のセルサイズ補正が行なわれていないと判断された場合、前記連結補正を行なわない
ことを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記画像入力受付手段は、ベクタ形式で表される前記シンボル画像の入力を受け付け、
前記補正量入力受付手段は、水平方向の前記セルサイズ補正量及び垂直方向の前記セルサイズ補正量の各々の入力を受け付け、
前記補正量検証手段は、水平方向の前記セルサイズ補正量及び垂直方向の前記セルサイズ補正量を用いて、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれているか否か及び前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれているか否かを判断し、
前記第１補正手段は、前記シンボル画像に対して水平方向及び垂直方向のいずれも負のセルサイズ補正が行なわれていると判断された場合、前記連結補正を行い、前記シンボル画像に対して水平方向の負のセルサイズ補正が行なわれていると判断された場合に、前記シンボル画像に対して、当該シンボル画像において水平方向に隣接する２つ以上の第１セルの間に存在する領域であってその色を前記第１セルと同じ色に変更した領域の集合を新たな矩形領域として追加する又は当該領域を含むよう前記第１セルの座標を変更することにより、水平方向の連結補正を行い、前記シンボル画像に対して垂直方向の負のセルサイズ補正が行なわれていると判断された場合に、前記シンボル画像に対して、当該シンボル画像において垂直方向に隣接する２つ以上の第１セルの間に存在する領域であってその色を前記第１セルと同じ色に変更した領域の集合を新たな矩形領域として追加する又は当該領域を含むよう前記第１セルの座標を変更することにより、垂直方向の連結補正を行い、前記シンボル画像に対して水平方向及び垂直方向のいずれも負のセルサイズ補正が行なわれていないと判断された場合、前記連結補正を行なわない
ことを特徴とする請求項１５に記載の画像処理装置。
【請求項１８】
出力された前記シンボル画像を印刷媒体に印刷する印刷手段を更に備える
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１９】
印刷範囲の画像を表す印刷データの入力を受け付けるデータ入力受付手段を更に備え、
前記印刷手段は、前記印刷データにおける印刷範囲内の所定位置に前記シンボル画像を重畳して、前記画像と共に前記シンボル画像を印刷媒体に印刷する
ことを特徴とする請求項１８に記載の画像処理装置。
【請求項２０】
前記第１セルのサイズを縮小させる量を示すセルサイズ補正量を記憶する記憶手段と、
前記情報をエンコードして前記シンボル画像を生成する生成手段と、
前記セルサイズ補正量を用いて、前記シンボル画像に対して、前記セルサイズ補正を行なうセルサイズ補正手段を更に備え、
前記画像入力受付手段は、前記セルサイズ補正手段が前記セルサイズ補正を行なった前記シンボル画像の入力を受け付ける
ことを特徴とする請求項１９に記載の画像処理装置。
【請求項２１】
画像処理装置で実行される画像処理方法であって、
情報がエンコードされた画像であって少なくとも１つの画素を含み明暗のいずれかの色を表す複数のセルが２次元で配置されたマトリクス型２次元シンボルの画像であるシンボル画像に対して、セル間の間隔を変えずに、暗又は明を表す第１セルのサイズを縮小する負のセルサイズ補正が行なわれたシンボル画像の入力を受け付ける画像入力受付ステップと、
前記シンボル画像に基づいて、当該シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する画素であって当該第１セルとは異なる色を表す画素の色を、当該第１セルと同じ色に変更する連結補正を行なう連結補正ステップとを含む
ことを特徴とする画像処理方法。
【請求項２２】
請求項２１に記載の画像処理方法をコンピュータに実行させるための画像処理プログラム。
【請求項２３】
印刷装置で実行される印刷方法であって、
情報がエンコードされた画像であって少なくとも１つの画素を含み明暗のいずれかの色を表す複数のセルが２次元で配置されたマトリクス型２次元シンボルの画像であるシンボル画像に対して、セル間の間隔を変えずに、暗又は明を表す第１セルのサイズを縮小する負のセルサイズ補正が行なわれたシンボル画像の入力を受け付ける画像入力受付ステップと、
前記シンボル画像に基づいて、当該シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する画素であって当該第１セルとは異なる色を表す画素の色を、当該第１セルと同じ色に変更する連結補正を行なう連結補正ステップと、
連結補正を行なった前記シンボル画像を出力する出力ステップと、
出力された前記シンボル画像を印刷媒体に印刷する印刷ステップとを含む
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セルサイズ補正が行われたマトリクス型２次元シンボルに対して連結補正を行う画像処理装置、画像処理方法、画像処理プログラム及び印刷方法に関する。
【背景技術】
【０００２】
従来より、デジタルデータを機械読み取り可能な形態に変換して紙やフィルムなどの記録媒体に可視状態で印刷し、当該デジタルデータを管理して様々な用途に用いる方法が知られている。機械読み取り可能な形態としては、流通・販売・在庫などの商品管理の分野で一般に広く普及しているシンボルとして１次元バーコードが周知である。これらは所定の長さのバーが横一列に複数並べられた幾何学パターンであり、光学的読取装置でバーコードを読み取ることにより当該バーコードに変換されたデジタルデータを読み出すことが可能になる。しかしながら１次元バーコードは、変換できるデジタルデータのデータ量が非常に少ないことが欠点である。一方、変換可能なデータ量を増やすことを目的として多種の２次元シンボルが開発され、普及してきている。２次元シンボルの代表的なものとしてはスタック型２次元シンボルであるPDF417や、マトリクス型２次元シンボルであるQRコード、DataMatrixなどがあり、自動認識協会（AIM）によって規格化されている。スタック型２次元シンボルは１次元バーコードを積み上げた形のもので、水平方向にしかデジタルデータを変換することができないため、変換可能なデータ量はそう多くはない。マトリクス型２次元シンボルは、シンボルを構成するための最小単位であるセルと呼ばれる矩形要素を格子状に配置するもので、水平方向及び垂直方向の両方向でデジタルデータを変換可能であるため、スタック型２次元シンボルよりも多くのデータ量のデジタルデータを変換可能である。セルは、例えば、複数の画素から構成され、縦×横の画素数が4×4や6×6などで構成される。各画素の色は画素値によって表され、セルに含まれる全ての画素の色は全て同じである。
【０００３】
このマトリクス型２次元シンボルの読み取りにあたって、当該シンボルの画像（シンボル画像という）を印刷する際の印字太りが問題となることが多い。各セルは白（明）又は黒（暗）のいずれかの色を有しているが、理想的には、白い色を有するセル（白セルという）と黒い色を有するセル（黒セルといいう）との大きさのバランスが1：1になることが望ましい。しかし、殆どの場合、黒セルが白セルよりも大きくなり、所謂、印刷太りしてしまい、この結果、白セルの部分が黒く潰され、読み取りが困難になり得る（図５８参照）。これはセルサイズが小さい場合において特に顕著になる。このような印刷太りによる読み取り精度の低下を軽減するために、セルサイズ補正と呼ばれる技術が開発されている（例えば特許文献１参照）。特許文献１に記載されている方法では、印刷時における黒セルの印字太りを予め考慮して、全ての黒セルのセルサイズを予め小さくしておく。しかしながらこの方法では連続したセルのセルサイズも小さくなってしまうことで隣接する黒セル間に隙間ができてしまう。この結果、印刷時にもわずかな隙間（白すじ）が発生してしまったり、黒セルが連続することにより形成される直線が、団子状の黒セルが連続するいびつな形になってしまったりして、読み取り精度を向上できない恐れがあった（図５９参照）。
【０００４】
近年では、このようなセルサイズ補正での問題点を解消するために、連結補正という技術が開発されている（例えば特許文献２参照）。特許文献２に記載されている方法では、セルサイズ補正の際に、黒セルが連続している部分についてはセルサイズ補正が適用されないようにすることで、隣接する黒セル間にわずかな隙間（白すじ）が印刷時に発生することがなくなる（図６０参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献２の技術では、サーマル印刷での事情に特化した内容であり、電子写真など他の方式に汎用的に適用できない。また、紙搬送方向の補正しか考慮されておらず、連結補正を十分に行うことができなかった。
【０００６】
本発明は、上記に鑑みてなされたものであって、セルサイズ補正が行われたマトリクス型２次元シンボルに対して連結補正を確実に効果的に行うことが可能な画像処理装置、画像処理方法、画像処理プログラム及び印刷方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、本発明は、画像処理装置であって、情報がエンコードされた画像であって少なくとも１つの画素を含み明暗のいずれかの色を表す複数のセルが２次元で配置されたマトリクス型２次元シンボルの画像であるシンボル画像に対して、セル間の間隔を変えずに、暗又は明を表す第１セルのサイズを縮小する負のセルサイズ補正が行なわれたシンボル画像の入力を受け付ける画像入力受付手段と、前記シンボル画像に基づいて、当該シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する画素であって当該第１セルとは異なる色を表す画素の色を、当該第１セルと同じ色に変更する連結補正を行なう連結補正手段とを備えることを特徴とする。
【０００８】
また、本発明は、画像処理装置で実行される画像処理方法であって、情報がエンコードされた画像であって少なくとも１つの画素を含み明暗のいずれかの色を表す複数のセルが２次元で配置されたマトリクス型２次元シンボルの画像であるシンボル画像に対して、セル間の間隔を変えずに、暗又は明を表す第１セルのサイズを縮小する負のセルサイズ補正が行なわれたシンボル画像の入力を受け付ける画像入力受付ステップと、前記シンボル画像に基づいて、当該シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する画素であって当該第１セルとは異なる色を表す画素の色を、当該第１セルと同じ色に変更する連結補正を行なう連結補正ステップとを含むことを特徴とする。
【０００９】
また、本発明は、上記の画像処理方法をコンピュータに実行させるための画像処理プログラムである。
【００１０】
また、本発明は、印刷装置で実行される印刷方法であって、情報がエンコードされた画像であって少なくとも１つの画素を含み明暗のいずれかの色を表す複数のセルが２次元で配置されたマトリクス型２次元シンボルの画像であるシンボル画像に対して、セル間の間隔を変えずに、暗又は明を表す第１セルのサイズを縮小する負のセルサイズ補正が行なわれたシンボル画像の入力を受け付ける画像入力受付ステップと、前記シンボル画像に基づいて、当該シンボル画像に対して、当該シンボル画像において隣接する２つ以上の第１セルの間に存在する画素であって当該第１セルとは異なる色を表す画素の色を、当該第１セルと同じ色に変更する連結補正を行なう連結補正ステップと、連結補正を行なった前記シンボル画像を出力する出力ステップと、出力された前記シンボル画像を印刷媒体に印刷する印刷ステップとを含むことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、セルサイズ補正が行われたマトリクス型２次元シンボルに対して連結補正を確実に効果的に行うことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１の実施の形態にかかる画像処理システム全体の構成を例示する図である。
【図２】図２は、同実施の形態にかかるパーソナルコンピュータ１０１のハードウェア構成を例示する図である。
【図３】図３は、同実施の形態にかかる複写機１０２のハードウェア構成を例示する図である。
【図４】図４は、同実施の形態にかかる画像処理システムについて印刷処理に関する機能的構成を例示する図である。
【図５】図５は、同実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順を示すフローチャートである。
【図６】図６は、同実施の形態にかかる電子文書1１０１によって表される文書を例示する図である。
【図７】図７は、同実施の形態にかかる印刷設定ダイアログ１２０１の表示例を示す図である。
【図８】図８は、同実施の形態にかかるエンコーダ４５１がセルサイズ補正を行ったシンボル画像を例示する図である。
【図９】図９は、同実施の形態にかかる連結補正後のシンボル画像を例示する図である。
【図１０】図１０は、同実施の形態にかかる電子文書１１０１に対してシンボル画像１３０１が付加された画像を例示する図である。
【図１１】図１１は、ステップＳ８で同実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図１２】図１２は、同実施の形態にかかるステップＳ５０２で行う水平方向の連結補正処理の詳細な手順を示すフローチャートである。
【図１３】図１３は、図８に例示したセルサイズ補正後のシンボル画像に対して水平方向の連結補正処理を行ったシンボル画像を例示する図である。
【図１４】図１４は、図１１のステップＳ５０３で行う垂直方向の連結補正処理の詳細な手順を示すフローチャートである。
【図１５】図１５は、第２の実施の形態にかかる連結補正処理部４５２が行う処理の手順を示すフローチャートである。
【図１６】図１６は、同実施の形態にかかるステップＳ１５０２で行うセル位置情報を取得する処理の詳細な手順を示すフローチャートである。
【図１７】図１７は、「Ｌ字アライメントパターン」を示す図である。
【図１８】図１８は、同実施の形態にかかるシンボル画像を左上隅から左斜め下方向に探索する例を示す図である。
【図１９】図１９は、垂直方向の各セルの開始位置の座標、終了位置の座標及び垂直方向のセル数（n）を例示する図である。
【図２０】図２０は、水平方向の各セルの開始位置の座標、終了位置の座標及び水平方向のセル数（m）を例示する図である。
【図２１】図２１は、全てのセルについて開始位置及び終了位置をセル位置情報として取得した例を示す図である。
【図２２】図２２は、各セルの開始位置にある画素を各セルの代表画素を例示する図である。
【図２３】図２３は、シンボルタイプがQRである場合のセル位置情報を取得する処理の手順を示すフローチャートである。
【図２４】図２４は、「ファインダパターン」と「タイミングパターン」とを示す図である。
【図２５】図２５は、シンボル画像を左上隅から左斜め下方向に探索する例を示す図である。
【図２６】図２６は、途中の偶数番目のセルを除く垂直方向の各セルの開始位置の座標、終了位置の座標及び垂直方向のセル数（n）を例示する図である。
【図２７】図２７は、黒セルの画素の探索を例示する図である。
【図２８】図２８は、全てのセルについて開始位置及び終了位置をセル位置情報として取得した例を示す図である。
【図２９】図２９は、図１５のステップＳ１５０３で行う連結補正処理の詳細な手順を示すフローチャートである。
【図３０】図３０は、前景色に変更される矩形領域を例示する図である。
【図３１】図３１は、前景色に変更される矩形領域を例示する図である。
【図３２】図３２は、前景色に変更される矩形領域を例示する図である。
【図３３】図３３は、連結補正前のシンボル画像と連結補正後のシンボル画像とを対比するための図である。
【図３４】図３４は、シンボルタイプがDataMatrixである場合に、第１の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図である。
【図３５】図３５は、シンボルタイプがDataMatrixである場合に、第２の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図である。
【図３６】図３６は、シンボルタイプがQRである場合に、第１の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図である。
【図３７】図３７は、シンボルタイプがQRである場合に、第２の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図である。
【図３８】図３８は、第３の実施の形態にかかる印刷設定ダイアログを例示する図である。
【図３９】図３９は、一部のセルについてセルサイズ補正が行われていない画像を例示する図である。
【図４０】図４０は、同実施の形態にかかる連結補正処理部４５２が行う処理の手順を示すフローチャートである。
【図４１】図４１は、第４の実施の形態にかかる印刷設定ダイアログを例示する図である。
【図４２】図４２は、同実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図４３】図４３は、第５の実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図４４】図４４は、第６の実施の形態にかかる印刷設定ダイアログを例示する図である。
【図４５】図４５は、同実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図４６】図４６は、第７の実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図４７】図４７は、第８の実施の形態にかかる印刷設定ダイアログを例示する図である。
【図４８】図４８は、同実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図４９】図４９は、第９の実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図５０】図５０は、第１０の実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図５１】図５１は、同実施の形態の一変形例にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図５２】図５２は、同実施の形態の一変形例にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図５３】図５３は、同実施の形態の一変形例にかかる連結補正処理部４５２が行う処理の詳細な手順を示すフローチャートである。
【図５４】図５４は、一変形例にかかる画像処理システムについて印刷処理に関する機能的構成を例示する図である。
【図５５】図５５は、シンボルタイプがDataMatrixであるシンボル画像の回転角度が各々0度、90度、180度、270度である場合にセル位置情報を取得する際の探索例を各々例示する図である。
【図５６】図５６は、シンボルタイプがQRであるシンボル画像の回転角度が各々0度、90度、180度、270度である場合にセル位置情報を取得する際の探索例を各々例示する図である。
【図５７】図５７は、シンボルタイプがDataMatrix及びQR以外のシンボル画像を例示する図である。
【図５８】図５８は、従来のシンボル画像の印刷例を例示する図である。
【図５９】図５９は、従来のシンボル画像の印刷例を例示する図である。
【図６０】図６０は、従来のシンボル画像の印刷例を例示する図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の最良な実施の形態を詳細に説明する。
【００１４】
[第１の実施の形態]
＜画像処理システムの構成＞
図１は、本実施の形態における画像処理システム全体の構成を例示する図である。同図に示されるように、画像処理システムは、パーソナルコンピュータ１０１と複写機１０２とが接続機構を介して接続されて構成される。接続機構とは、例えば、LAN（Local Area Network）のネットワークやUSB（Universal Serial Bus）などの接続回線である。なお、同図においては、パーソナルコンピュータ１０１と複写機１０２が一対一で接続されている例を示しているが、ネットワークによる接続の場合、多対多の接続も可能である。
【００１５】
＜パーソナルコンピュータの構成＞
図２は、パーソナルコンピュータ１０１のハードウェア構成を例示する図である。パーソナルコンピュータ１０１は、パーソナルコンピュータ１０１全体を制御するCPU（Central Processing Unit）２０１と、各種制御プログラムや各種データなどを記憶するROM（Read Only Memory）やRAM（Random Access Memory）などの記憶部２０２と、各種アプリケーションプログラムや各種データを記憶するHDD（Hard Disk Drive）などの外部記憶部２０３と、外部装置とのデータ通信を制御する通信部２０４と、ドライブ装置２０５と、これらを接続するバス２０９とを有する一般的なコンピュータの構成を有している。更に、パーソナルコンピュータ１０１には、有線又は無線の接続機構を介して、モニタなどの表示装置２０７と、マウスやキーボードなどの入力装置２０８とが接続される。また、パーソナルコンピュータ１０１の記憶部２０２には後述のプリンタドライバが記憶される。プリンタドライバがＣＰＵ２０１により起動されると、ユーザからの印刷指示に応じて、通信部２０４を介して、複写機１０２に印刷命令を送信する。
【００１６】
＜複写機の構成＞
図３は、複写機１０２のハードウェア構成を例示する図である。本図に示すように、複写機１０２は、コントローラ３１０とエンジン部（Engine）３６０とをPCI（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ３１０は、複写機１０２全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部３６０は、PCIバスに接続可能なプリンタエンジン等であり、スキャナなどの走査部を備えると共に、たとえば白黒プロッタ、1ドラムカラープロッタ、４ドラムカラープロッタ等の印刷部（いずれも図示せず）を備える。なお、このエンジン部３６０には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。その他、複写機１０２は、紙をスキャンして画像を読み取るスキャナなどの画像読取部を備える。また、複写機１０２は、ユーザからの操作が入力される操作装置と情報を表示する表示装置とを一体的に形成した操作パネル３２０を備える。操作パネル３２０は、ＡＳＩＣ３１６に接続される。また、コントローラ３１０が有するＣＰＵ３１１は、計時機能を有し、現在日時を計時する。このような複写機１０２の詳細な構成については、例えば特開２００６-１７７９９０号公報に開示されているため、その説明を省略する。
【００１７】
図４は、画像処理システムについて印刷処理に関する機能的構成を例示する図である。同図に示されるように、パーソナルコンピュータ１０１は、文書データ等の操作及び印刷制御に関する機能として、アプリケーション４１０、グラフィックエンジン４２０、プリンタドライバ４３０、スプーラ４４０及び連結補正シンボル画像作成処理部４５０を有している。また、複写機１０２は印刷処理部４６０を有している。
【００１８】
アプリケーション４１０は、文書を電子的なデータとして表す電子文書等、複写機やプリンタに印刷させる情報の生成等に利用されるワープロソフトや表計算ソフト等の一般的なアプリケーションである。グラフィックエンジン４２０は、複写機やプリンタ、ディスプレイ等のデバイスの差異を吸収した描画用の関数インターフェースをアプリケーション４１０に提供するモジュールである。グラフィックエンジン４２０は、アプリケーション４１０からの関数呼び出しに応じ、印刷範囲の電子文書をアプリケーション非依存の形式のデータ（例えばEMF（Enhanced Meta File）形式等のデータ、以下「描画データ」と呼ぶことにする）に変換し、生成された描画データをプリンタドライバ４３０に出力するモジュールであり、OS（Operating System）によって提供される。例えば、Windows（登録商標）環境においては、GDI（Graphics Device Interface）がグラフィックエンジン４２０に相当する。
【００１９】
尚、図示していないが、セルサイズ補正量記憶部は、複写機１０２のエンジン部３６０の印字太り特性を考慮して予め決定されたセルサイズ補正量が記憶されている。このセルサイズ補正量が用いられることで印刷時に黒セルと白セルとの大きさのバランスが理想的な1：1に近くなるようになっている。ここではセルサイズ補正量記憶部にセルサイズ補正量として負の値である「-1[dot]」が記憶されているものとする。即ち、ここでは、黒セルを構成する画素の数を水平方向及び垂直方向に各々「1[dot]」分減らしてそのセルサイズを縮小することにより、セルサイズ補正が行われる。プリンタドライバ４３０は、グラフィックエンジン４２０によって出力された描画データを、当該プリンタドライバ４３０が対応する複写機又はプリンタに解釈可能又は処理可能な形式のデータ（例えばPDL（Page Description Language）、以下「印刷データ」と呼ぶことにする）に変換する。但し、本実施の形態におけるプリンタドライバ４３０は、描画データを印刷データに変換する過程において、シンボル画像を生成するためにユーザにより設定されたエンコード文字列、シンボルタイプ、シンボル画像の埋め込み位置及び埋め込み位置の調整量を含むシンボル生成パラメータと、セルサイズ補正量記憶部に記憶されたセルサイズ補正量とを連結補正シンボル画像作成処理部４５０に渡す。尚、シンボル画像の画像サイズは、シンボルタイプ毎に予め設定されていても良いし、ユーザにより設定されるようにしても良い。また、プリンタドライバ４３０は、連結補正シンボル画像作成処理部４５０が生成してセルサイズ補正及び連結補正を行ったシンボル画像を受け取り、受け取ったシンボル画像を描画データにおいて印刷範囲内の所定位置に重畳した後に印刷データに変換して、これをスプーラ４４０に渡す。所定位置とは、埋め込み位置及び埋め込み位置の調整量にとって定められる位置である。
【００２０】
スプーラ４４０は、印刷ジョブを記憶しておき、順次プリントアウトできるようにするためのモジュールである。スプーラ４４０はプリンタドライバ４３０から印刷データを受け取り、複写機１０２に印刷データを送る。通常は、複写機１０２に印刷データを送る速度よりもプリンタドライバ４３０が印刷データを生成する速度の方が速いため、スプーラ４４０には印刷データが一時的に保存されることになる。スプーラ４４０は、すべての印刷データを送り終わったときに、印刷データを削除する。
【００２１】
連結補正シンボル画像作成処理部４５０は、プリンタドライバ４３０からシンボル生成パラメータ及びセルサイズ補正量を受け取ってこれらを用いてシンボル画像を生成して連結補正を行うモジュールであり、エンコーダ４５１及び連結補正処理部４５２を有する。エンコーダ４５１は、シンボル生成パラメータを基に、1次元バーコードや２次元コードのシンボル画像に符号化するモジュールである。1次元バーコードとしてはCode39、EAN-8、EAN-13、Codebar(NW-7)、Code1２8などがあり、２次元コードとしてはスタック型２次元コードであるPDF417、マトリクス型２次元コードであるQR、DataMatrixなどがある。エンコーダについてはすでに公知の技術や製品が多く存在するが、本実施例で対象とするエンコーダ４５１は、シンボル生成パラメータを用いて、エンコード文字列をエンコードしたマトリクス型２次元シンボルの画像（シンボル画像）を生成し、生成したシンボル画像に対して、セルサイズ補正量を用いてセルサイズ補正を行う。尚、本実施の形態においてはシンボル画像のデータ形式は、ラスタ形式であるとする。そして、エンコーダ４５１は、セルサイズ補正後のシンボル画像及びセルサイズ補正量を連結補正処理部４５２に渡す。連結補正処理部４５２は、セルサイズ補正後のシンボル画像及びセルサイズ補正量をエンコーダ４５１から受け取ると、当該セルサイズ補正量を用いて当該シンボル画像に対して連結補正を行い、連結補正後のシンボル画像をプリンタドライバ４３０に渡すモジュールである。
【００２２】
印刷処理部４６０は、スプーラ４４０から印刷データを受け取り、当該印刷データを用いて印刷処理を実行するモジュールである。
【００２３】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について図５を用いて説明する。まず、アプリケーション４１０が、図６に示されるような文書を表す電子文書１１０１を作成したとする（ステップＳ１）。そして、アプリケーション４１０は当該電子文書を印刷するためのユーザインターフェースとして印刷メニューを表示装置２０７に表示させる。そして、当該印刷メニューにおいてユーザが、印刷先として複写機１０２を選択すると、アプリケーション４１０は、図７に示されるような印刷設定ダイアログ１２０１を表示装置２０７に表示させる（ステップＳ２）。印刷設定ダイアログ１２０１には、印刷条件の一部としてシンボル埋め込み設定タブ１２０２を備えている。本タブには、シンボル画像を埋め込むかを選択するためのチェックボックス１２０３、埋め込むシンボルタイプ（ここではQRまたはDataMatrix）を設定するためのコンボボックス１２０４、シンボル画像にエンコードするエンコード文字列を指定するためのテキストボックス１２０５、埋め込み位置を指定するためのラジオボタングループ１２０６、埋め込み位置を微調整するためのエディットボックス１２０７〜１２０８が含まれている。エンコード文字列は、文字列やバイト配列である。また、印刷処理を実行するためのOKボタン１２０９、印刷処理をキャンセルするためのキャンセルボタン１２１０を備えている。このような画面においてユーザが、エンコード文字列及びシンボルタイプ、シンボル画像の埋め込み位置及び埋め込み位置の調整量を指定してOKボタン１２０９を押下すると（ステップＳ３）、グラフィックエンジン４２０は、電子文書を描画データに変換し、描画データと、指定されたエンコード文字列、シンボルタイプ、埋め込み位置及び埋め込み位置の調整量を示すシンボル生成パラメータを含む印刷条件とをプリンタドライバ４３０に渡す（ステップＳ４）。ここではシンボルタイプとしてQR、エンコード文字列として「会議資料2008/02/22」、埋め込み位置として左上、埋め込み位置の調整量として縦方向及び横方向ともに「10[mm]」が指定されるものとする。
【００２４】
描画データ及び印刷条件がプリンタドライバ４３０に渡されると、プリンタドライバ４３０は印刷条件に含まれるシンボル生成パラメータに含まれるエンコード文字列及びシンボルタイプを連結補正シンボル画像作成処理部４５０に渡す（ステップＳ５）。このとき、プリンタドライバ４３０はセルサイズ補正量をセルサイズ補正量記憶部から取得し、取得したセルサイズ補正量も連結補正シンボル画像作成処理部４５０に渡す。また、クワイエットゾーンなどのその他シンボル生成パラメータはシンボルタイプに応じた所定の値を渡すものとする。
【００２５】
連結補正シンボル画像作成処理部４５０のエンコーダ４５１は、エンコード文字列、シンボルタイプ及びセルサイズ補正量を受け取ると、エンコード文字列及びシンボルタイプを用いてシンボル画像を生成し、生成したシンボル画像に対して、セルサイズ補正量を用いてセルサイズ補正を行う（ステップＳ６）。図８は、エンコーダ４５１がセルサイズ補正を行ったシンボル画像７０１を例示する図である。同図に示されるように、シンボル画像としてＱＲコードが生成されセルサイズ補正が行われているが、連続する黒セル間に隙間が発生している。そして、エンコーダ４５１は、セルサイズ補正後のシンボル画像及びセルサイズ補正量を連結補正処理部４５２に渡す（ステップＳ７）。
【００２６】
次に、連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びセルサイズ補正量（ここでは-1[dot]）を受け取ると、これらを用いて、連結補正を行う（ステップＳ８）。図９は、連結補正後のシンボル画像を例示する図である。同図に示されるように、図８に示されるセルサイズ補正後のシンボル画像に対して連続補正が行われることにより、連続する黒セル間に発生していた隙間が黒く埋められている。そして、連結補正処理部４５２は、連結補正後のシンボル画像１００１をプリンタドライバ４３０に渡す（ステップＳ９）。尚、ステップＳ８で連結補正処理部４５２が行う処理の手順については後述する。
【００２７】
プリンタドライバ４３０は、連結補正後のシンボル画像１００１を受け取ると、当該シンボル画像１００１を、印刷条件に含まれるシンボル生成パラメータに含まれる埋め込み位置及び埋め込み位置の調整量に基づいて描画データに重畳する。そして、プリンタドライバ４３０は、連結補正後のシンボル画像が重畳された描画データを複写機１０２が解釈可能な印刷データに変換し（ステップＳ１０）、スプーラ４４０を介して複写機１０２の印刷処理部４６０に渡す（ステップＳ１１）。印刷処理部４６０は、印刷データを受け取ると、当該印刷データを用いて印刷を実行する（ステップＳ１２）。その結果、ステップＳ１で作成された電子文書に対して、ステップＳ７で生成されセルサイズ補正が行われ更にステップＳ８で連結補正が行われたシンボル画像が付加された画像が印刷される。図１０は、電子文書１１０１に対してシンボル画像１３０１が付加された画像を例示する図である。同図に示されるように、図６に示される電子文書１１０１に対して、図７に示される印刷設定ダイアログ1２０１を介してユーザが指定した埋め込み位置に、ユーザが指定したエンコード文字列が変換されたシンボル画像１３０１が付加されている。
【００２８】
次に、ステップＳ８で連結補正処理部４５２が行う処理の詳細な手順について図１１を用いて説明する。連結補正処理部４５２は、エンコーダ４５１からシンボル画像とセルサイズ補正量とを受け取ると（ステップＳ５０１）、水平方向の連結補正処理（ステップＳ５０２）及び垂直方向の連結補正処理（ステップＳ５０３）を行なう。これらの処理の詳細な手順については後述する。そして、連結補正処理部４５２は、連結補正後のシンボル画像を出力する（ステップＳ５０４）。尚、図１１の例では水平方向の連結補正処理を行なった後に垂直方向の連結補正処理を行なっているが、この順番は逆でも構わない。
【００２９】
ここで、まず、ステップＳ５０２で行う水平方向の連結補正処理の詳細な手順について図１２を用いて説明する。連結補正処理部４５２は、まず始めに、注目画素の位置を初期化する（ステップＳ６０１）。次に、連結補正処理部４５２は、注目画素が背景色であるかを判断する（ステップＳ６０２）。ここで背景色とはマトリクス型２次元シンボルにおいて黒セルを構成していない画素の色を意味し、ここでは白であるとする。これが白セルとなる。また、前景色とはマトリクス型２次元シンボルにおいて黒セルを構成している画素の色を意味し、ここでは黒である。尚、背景色を黒とし、前景色を白としても構わない。
【００３０】
注目画素が背景色である場合（ステップＳ６０２:ＹＥＳ）、連結補正処理部４５２は、注目画素の左隣の画素が前景色であるかを判断する（ステップＳ６０３）。注目画素の左隣の画素が前景色である場合（ステップＳ６０３：ＹＥＳ）、連結補正処理部４５２は、注目画素から右方向に走査していき、連続する背景色の画素の数をカウントしていく（ステップＳ６０４）。そして、連結補正処理部４５２は、カウントした背景色の画素数が規定値以下であるかを判断する（ステップＳ６０５）。ここで規定値とは、例えば負のセルサイズ補正量である。あるいはエンコーダとシンボル生成パラメータの設定によっては実際のセルサイズ補正量がセル毎に多少ばらつく場合があるので、負のセルサイズ補正量にマージンを設けた値を規定値としても構わない。背景色の画素数が規定値以下であった場合（ステップＳ６０５：ＹＥＳ）、連結補正処理部４５２は、該連続した背景色の画素を前景色に置き換える（ステップＳ６０６）。そして、連結補正処理部４５２は、シンボル画像に含まれる全ての画素について探索が完了したかを判断し（ステップＳ６０７）、全ての画素について探索が完了していない場合（ステップＳ６０７:ＮＯ）は注目画素を次の画素に移し（ステップＳ６０８）、ステップＳ６０２に戻って上述の処理を繰り返す。注目画素の次の画素とは、例えば、当該注目画素の右隣の画素とし、注目画素が右端の場合は次の画素を当該注目画素の下隣又は左端の画素とする。なお、ステップＳ６０２において注目画素が背景色でなかった場合、ステップＳ６０３において注目画素の左隣の画素が前景色でなかった場合、ステップＳ６０５において背景色の画素数が規定値以下でなかった場合は、何もせずにステップＳ６０７の処理に移行する。一方、全ての画素の探索が完了した場合は（ステップＳ６０７：ＹＥＳ）、処理を終了する。図１３は、図８に例示したセルサイズ補正後のシンボル画像に対して水平方向の連結補正処理を行ったシンボル画像を例示する図である。同図に示されるように、水平方向に連続する黒セル間の隙間が、連結補正によって黒く埋められている。
【００３１】
次に、図１１のステップＳ５０３で行う垂直方向の連結補正処理の詳細な手順について図１４を用いて説明する。連結補正処理部４５２は、まず初めに、注目画素の位置を初期化する（ステップＳ９０１）。次に、連結補正処理部４５２は、注目画素が背景色であるかを判断する（Ｓ９０２）。注目画素が背景色である場合（ステップＳ９０２：ＹＥＳ）、連結補正処理部４５２は、注目画素の上隣の画素が前景色であるかを判断する（ステップＳ９０３）。注目画素の上隣の画素が前景色である場合（ステップＳ９０３:ＹＥＳ）、連結補正処理部４５２は、注目画素から下方向に走査していき、連続する背景色の画素数をカウントしていく（ステップＳ９０４）。そして、連結補正処理部４５２は、カウントした背景色の画素数が規定値以下であるかを判断する（ステップＳ９０５）。ここでの規定値は、上述の水平方向の連結補正処理で用いた規定値と同じであっても良いし異なる値であっても良い。背景色の画素数が規定値以下であった場合（ステップＳ９０５:ＹＥＳ）、連結補正処理部４５２は、該連続した背景色の画素を前景色に置き換える（ステップＳ９０６）。そして、連結補正処理部４５２は、シンボル画像に含まれる全ての画素について探索が完了したかを判断し（ステップＳ９０７）、全ての画素について探索が完了していない場合（ステップＳ９０７:ＮＯ）は注目画素を次の画素に移し（ステップＳ９０８）、ステップＳ９０２に戻って上述の処理を繰り返す。注目画素の次の画素とは、例えば、当該注目画素の下隣の画素とし、注目画素が下端の場合は次の画素を当該注目画素の右隣又は上端の画素とする。なお、ステップＳ９０２において注目画素が背景色でなかった場合、ステップＳ９０３において注目画素の上隣の画素が前景色でなかった場合、ステップＳ９０５において背景色の画素数が規定値以下でなかった場合は、何もせずにステップＳ９０７の処理に移行する。全ての画素について探索が完了した場合は（ステップＳ９０７：ＹＥＳ）、処理を終了する。図１３に例示した水平方向の連結補正処理後のシンボル画像に対して垂直方向の連結補正処理を行ったシンボル画像は、図９に例示される通りである。同図に示されるシンボル画像は、結果的に、図８に例示されたセルサイズ補正が行われたシンボル画像に対して、水平方向に加え、垂直方向に連続する黒セル間の隙間が、連結補正によって黒く埋められた画像となる。
【００３２】
なお、図１２,１４の例ではシンボル画像のクワイエットゾーン（余白領域）も含めた全ての画素を探索しているが、必ずしもシンボル画像に含まれる全ての画素を探索する必要はなく、少なくともシンボル画像に含まれる部分が探索できれば良い。従って、クワイエットゾーンが既知の場合（エンコーダ４５１から設定時のクワイエットゾーンを受け取る場合など）は、その領域については画素の探索をスキップするなどしても良い。また、シンボル画像に含まれる部分の画素の探索中にも、高速化のために所定の画素をスキップするようにしても良い。
【００３３】
また、図１２の例では画素の探索方向を左から右方向としているが、左右逆にしても構わない。あるいは注目画素の移行処理のみを上から下方向、または下から上方向に行うようにしても構わない。画像データの格納方式によってはその方が、メモリ参照が高速になる場合があるためである。また、図１４の例では、画素の探索方向を上から下方向ではなく、上下逆にしても構わない。あるいは注目画素の移行処理のみを左から右方向、または右から左方向に行うようにしても構わない。
【００３４】
以上のようにして、セルサイズ補正が行われたシンボル画像に対して連結補正を行う。この結果得られるシンボル画像は、複写機１０２での印字太りを考慮して黒セルのセルサイズを予め縮小しているため、印刷時には前景色のセル（黒セル）と背景色のセル（白セル）とのセルサイズのバランスが理想的な1：1に近い状態となる。また、通常のエンコーダによるセルサイズ補正で問題となる隣接する黒セル間の隙間を連結補正によって埋めているため、印刷時には連続した黒セル間にわずかな隙間が発生することがなくなる。このようにして、セルサイズ補正を行う機能有する一般的なエンコーダを用いながら、読み取り精度の非常に高いシンボル画像を生成することができる。また、セルサイズの小さいシンボル画像も高精度で生成可能になる。そして、印刷時にはシンボル画像が高精度で印刷されるため、シンボル画像を小さい画像サイズで印刷したとしても、当該シンボル画像を読み取る際に読み取りエラーが発生しにくくなる。
【００３５】
また、連結補正処理では、シンボル画像の領域を構成する全ての画素を探索するため、どのようなマトリクス型２次元シンボルに対しても共通に適用することができる。更に、シンボル画像の回転角度や上下反転、左右反転有無に関らず共通に適用することができる。
【００３６】
ここで、セルサイズ補正後のシンボル画像を連結補正処理部４５２に入力することの意義について説明する。連結補正の別の方法として、エンコーダ４５１からセルサイズ補正が行われていないシンボル画像を受け取り、その画像に対してErosion（侵食）フィルタを適用して画像全体を細らせる（即ち、黒の画素を減らす）こと等も考えられるが、本実施の形態ではそのような方法を採っていない。この理由は、上記の方法では、シンボル画像の生成に関るエラーチェックや警告等の判断を連結補正処理部４５２で行なう必要が出てくるからである。例えばシンボル画像の全体の画像サイズを指定してセルサイズ補正量が「0」のシンボル画像を生成する場合、全体サイズおよびエンコード文字列等の組み合わせによっては１セルを構成する画素数（ドット数）が非常に小さくなり、そのような画像を細らせた結果黒セルがなくなってしまう可能性がある。また、黒セルがなくならない場合でもセルサイズに対するセルサイズ補正量が大きすぎてスキャングレード（ISOで規定されているバーコードシンボル印刷品質の評価基準）を達成できず、結果としてシンボル規格外のシンボル画像が生成されてしまう可能性もある。エンコーダは通常シンボル画像の生成時にこのようなエラーやワーニング等を出力する機能を有しているが、上記の方法ではエンコーダにセルサイズ補正前のシンボル画像を生成させるため、画像を細らせることによるセルサイズ補正を行った後のシンボル画像に対して連結補正処理部４５２が独自にエラーチェックやワーニング処理を行なう必要がある。このような処理を実装するには各種シンボル規格やスキャングレードの項目等を熟知している必要があり、それを実現するためのコストが非常に掛かる。また、エンコーダ独自のエラー処理がある場合、その処理も連結補正処理部４５２に取り入れる必要が出てくる。このため、利用するエンコーダに応じて個別の処理が必要になってしまい、連結補正処理部４５２での処理が非常に煩雑になる。しかし、本実施の形態のように、連結補正処理部４５２にセルサイズ補正後のシンボル画像を入力するようにすれば、セルサイズ補正を含むシンボル画像の生成に関るエラーチェックやワーニング処理をすべてエンコーダ４５１側に一任できる。その結果、連結補正処理部４５２には適切なシンボル画像が入力されるため、連結補正処理部４５２でシンボル画像の生成に関るエラーチェックやワーニング処理を行なう必要がない。従って連結補正処理部４５２の処理がシンプルになり、連結補正の実現が容易になるという効果がある。
【００３７】
[第２の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００３８】
（１）構成
上述の第１の実施の形態の連結補正処理においては、シンボル画像のシンボルタイプによらず、シンボル画像に含まれる全ての画素について背景色（白）であるか前景色（黒）であるかの探索を行うように構成した。本実施の形態においては、シンボルタイプに応じて、シンボル画像内で黒セルが固定的に配置される固定パターンを利用して、各セルの位置を示すセル位置情報を取得して、各セルが白セルであるか黒セルであるかの探索を行う。
【００３９】
本実施の形態における画像処理システムの構成は、エンコーダ４５１及び連結補正処理部４５２の機能が下記の点で第１の実施の形態と異なる。エンコーダ４５１は、セルサイズ補正後のシンボル画像及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びシンボルタイプを受け取ると、当該シンボル画像に対して、当該シンボルタイプの固定パターンを識別し、当該固定パターンに応じて各セルのセル位置情報を取得し、当該セル位置情報を用いて連結補正を行い、連結補正後のシンボル画像をプリンタドライバ４３０に渡す。
【００４０】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様であるが、ステップＳ７〜８の処理が上述の第１の実施の形態と異なる。本実施の形態では、ステップＳ７では、エンコーダ４５１は、セルサイズ補正後のシンボル画像及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。次に、ステップＳ８では、連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びシンボルタイプを受け取ると、これらを用いて、連結補正を行う。
【００４１】
ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の手順について図１５を用いて説明する。連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びシンボルタイプを受け取ると（ステップＳ１５０１）、シンボルタイプ別に、当該シンボル画像に配置された全てのセルのセル位置情報を取得する（ステップＳ１５０２）。セル位置情報を取得する処理の詳細については後述する。次に、連結補正処理部４５２は、ステップＳ１５０２で取得したセル位置情報を用いて、隣接する黒セル間の連結補正処理を行なう（ステップＳ１５０３）。この連結補正処理の詳細についても後述する。そして、連結補正処理部４５２は、連結補正を行ったシンボル画像を出力して終了する（ステップＳ１５０４）。
【００４２】
ここで、ステップＳ１５０２で行うセル位置情報を取得する処理の詳細な手順について図１６を用いて説明する。ここでは、シンボルタイプがDataMatrixである場合のセル位置情報を取得する例について説明する。シンボルタイプがDataMatrixである場合、固定パターンとして、図１７に示される「Ｌ字アライメントパターン」がある。「Ｌ字アライメントパターン」は、同図に示されるように、左側の辺を構成するセル及び下側を構成するセルが全て黒セルである。このような固定パターンにおいて、連結補正処理部４５２は、まず初めに、シンボル画像において左上隅の頂点の画素を検出する（ステップＳ１６０１）。頂点の画素の検出は、図１８に示されるように、シンボル画像を左上隅から左斜め下方向に探索し、前景色の画素を検出することで行なう。次に、連結補正処理部４５２は、ステップＳ１６０１で検出した頂点の画素の座標から下方向(垂直方向)に画素を探索していき、背景色から前景色に変わる画素及び前景色から背景色に変わる画素を順次検出していく（ステップＳ１６０２）。尚、探索する領域はＬ字アライメントパターンにおける左側の辺であり、前景色のセル（黒セル）が並んでいる状態である。このため、この探索により、図１９に示されるように垂直方向の各セルの開始位置（Vs(1), Vs(2), …, Vs(n)）の座標、終了位置（Ve(1), Ve(2), …, Ve(n) ）の座標及び垂直方向のセル数（n）が取得できる。これらの情報をまとめて垂直方向のセル位置情報と呼ぶことにする。次に、連結補正処理部４５２は、ステップＳ１６０２で得られた垂直方向の終了位置（Ve(n)）から右方向（水平方向）に画素を探索していき、背景色から前景色に変わる画素及び前景色から背景色に変わる画素を順次検出していく（ステップＳ１６０３）。ここで探索する領域はＬ字アライメントパターンにおける下側の辺であり、前景色のセル（黒セル）が並んでいる状態である。このため、この探索により、図２０に示されるように、水平方向の各セルの開始位置（Hs(1), Hs(2), …, Hs(m)）の座標、終了位置（He(1), He(2), …, He(m) ）の座標及び水平方向のセル数（m）が取得できる。これらの情報をまとめて水平方向のセル位置情報と呼ぶことにする。
【００４３】
以上のようにして、水平方向のセル位置情報及び垂直方向のセル位置情報を全て取得すれば、図２１に示されるように、全てのセルについて開始位置及び終了位置がセル位置情報として取得できる。このとき、図２２に示されるように、各セルの開始位置にある画素を各セルの代表画素とすると、セルが黒セルであれば、代表画素は必ず黒（前景色）となり、セルが白セルであれば、代表画素は必ず白（背景色）となる。このような性質を利用することで、後述する連結補正処理では全画素を探索する必要はなく、探索を簡単に行うことができるようになる。
【００４４】
尚、図１６の例では頂点の画素の検出に斜め方向の探索をしているが、水平方向や垂直方向の探索でも構わない。また、水平方向のセル位置情報及び垂直方向のセル位置情報を取得する際の探索は、Ｌ字アライメントパターンを探索する方法であれば、図１６の例に限定されるものではない。
【００４５】
次に、シンボルタイプがQRである場合のセル位置情報を取得する例について図２３を用いて説明する。シンボルタイプがQRである場合、固定パターンとして、図２４に示されるように「ファインダパターン」と「タイミングパターン」とがある。同図に示されるように、ファインダパターンでは、四方の各々７つのセルが全て黒セルであり、中心の９つのセルが黒セルである。タイミングパターンは、１行又は１列に白セルと黒セルが交互に並んで（セルの数は例えば、７つが並んで）が並んでいるものである。連結補正処理部４５２は、まず初めに、シンボル画像において左上隅の頂点の画素を検出する（ステップＳ２２０１）。頂点の画素の検出は、図２５に示されるように、シンボル画像を左上隅から左斜め下方向に探索し、前景色の画素を検出することで行なう。次に、連結補正処理部４５２は、ステップＳ２２０１で検出した頂点の画素の座標から右方向に画素を探索していき、背景色から前景色に変わる画素及び前景色から背景色へ変わる画素を順次検出していく（ステップＳ２２０２）。ここで探索する領域は「ファインダパターン」であり、７つの前景色のセル（黒セル）が並んでいる状態である。このため、この探索により、図２６に示されるように、水平方向に７つのセルの開始位置（Hs(1), Hs(2), …, Hs(7)の座標及び終了位置（He(1), He(2), …, He(7) ）の座標が取得できる。
【００４６】
次に、連結補正処理部４５２は、ステップＳ２２０２で得られた、左方向（水平方向）に７番目のセルの終了位置（He(7) ）から下方向に画素を探索していき、背景色から前景色に変わる画素及び前景色から背景色へ変わる画素を順次検出していく（ステップＳ２２０３）。ここで探索する領域は、「ファインダパターン」、「タイミングパターン」、「ファインダパターン」の順であり、初めの７つのセル、途中の奇数番目のセル、終わりの７つのセルは全て黒セルが並んでいる状態である。このため、この探索により、図２６に示されるように、途中の偶数番目のセルを除く垂直方向の各セルの開始位置（Vs(1), Vs(2), …, Vs(7), Vs(9), Vs(11), …, Vs(n-8), …, Vs(n-6), Vs(n-5), … , Vs(n) ）の座標及び終了位置（Ve(1), Ve(2), …, Ve(7), Ve(9), Ve(11), …, Ve(n-8), Ve(n-6), Ve(n-5), … , Ve(n) ）の座標及び垂直方向のセル数（n）が取得できる。次に、連結補正処理部４５２は、ステップＳ２２０３で得られた下方向（垂直方向）に７番目のセルの終了位置（Ve(7) ）から右方向に画素を探索していき、背景色から前景色に変わる画素及び前景色から背景色へ変わる画素を順次検出していく（ステップＳ２２０４）。ここで探索する領域は「タイミングパターン」、「ファインダパターン」の順であり、途中の奇数番目のセル、終わりの７つのセルは全て黒セルが並んでいる状態である。このため、この探索により、図２６に示されるように、ステップＳ２２０２の処理と合わせて途中の偶数番目のセルを除く水平方向の各セルの開始位置（Hs(1), Hs(2), …, Hs(7), Hs(9), Hs(11), …, Hs(m-8), Hs(m-6), Hs(m-5), … , Hs(m) ）の座標及び終了位置（He(1), He(2), …, He(7), He(9), He(11), …, He(m-8), He(m-6), He(m-5), … , He(m) ）の座標、及び水平方向のセル数（m）が取得できる。
【００４７】
次に、連結補正処理部４５２は、タイミングパターンを構成する背景色のセル（白セル）の垂直方向のセル位置情報を取得する（ステップＳ２２０５）。ここでは連結補正処理部４５２は、ステップＳ２２０３で得られた垂直方向のセルのうち、タイミングパターンを構成する白セルの１つ上隣の各セルの終了位置（Ve(7), Ve(9), …, Ve(n-8)）からそれぞれ下方向に画素を探索していき、背景色から前景色に変わる画素及び前景色から背景色へ変わる画素を順次検出していく。このとき、水平方向のどの位置に白セルが存在するかは未知であるので、図２７に示されるように、黒セルの画素の探索では各垂直位置においてHs(1)〜Hs(m)の水平方向に対し探索していく。このとき、連結補正処理部４５２は、Hs(1)〜Hs(m)の全ての画素について探索するのではなく、まずは既知の水平方向のセルの開始位置（Hs(1), Hs(2), …, Hs(7), Hs(9), Hs(11), …, Hs(m-8), Hs(m-6), Hs(m-5), … , Hs(m)）を探索し、それでも前景色の画素が見つからなかった場合は未知の水平方向のセルが存在する領域（He(7)〜Hs(9), He(9)〜Hs(11), He(m-8)〜Hs(m-6)）を探索するようにしても良い。こうすることで余計な画素の探索を省くことができ、処理が高速になる。前景色の画素が見つかった場合、連結補正処理部４５２は、そこから下方向に探索していき、背景色の画素を検出する。このようにすることで、タイミングパターンを構成する背景色のセル（白セル）の垂直方向のセルの開始位置（Vs(8), Vs(10), …, Vs(n-7)）の座標及び終了位置（Ve(8), Ve(10), …, Ve(n-7)）の座標が取得できる。
【００４８】
尚、ステップＳ２２０５において、タイミングパターンを構成するセルが全て白セルである場合が稀にある。その場合、連結補正処理部４５２は、セルのセル位置情報を取得できないが、当該セルの前後に配置されたセルの位置の中点を、当該セルの位置として当該セルのセル位置情報を取得する。
【００４９】
次に、連結補正処理部４５２は、タイミングパターンを構成する白セルの水平方向のセル位置情報を取得する（ステップＳ２２０６）。これはステップＳ２２０５と同様に探索を行うことで取得することができる。ステップＳ２２０６でも、タイミングパターンを構成するセルが全て白セルである場合が稀にある。その場合は前後のセルの位置の座標の中点をそのセルの座標とする。以上のような処理の結果、図２８に示されるように、全てのセルについての開始位置の座標及び終了位置の座標を取得することができる。シンボルタイプがQRである場合も、シンボルタイプがDataMatrixである場合と同様に、各セルの開始位置にある画素を各セルの代表画素とすると、セルが黒セルであれば、代表画素は必ず黒（前景色）となり、セルが白セルであれば、代表画素は必ず白（背景色）となる。
【００５０】
なお、図２３の例では頂点の画素の検出に斜め方向の探索をしているが、水平方向、垂直方向の探索でも構わない。また、水平方向のセル位置情報及び垂直方向のセル位置情報を取得する際の探索は、ファインダパターン及びタイミングパターンを探索する方法であれば、図２３の例に限定されるものではない。
【００５１】
次に、図１５のステップＳ１５０３で行う連結補正処理の詳細な手順について図２９を用いて説明する。連結補正処理部４５２は、まず初めに注目セルを初期化する（ステップＳ２９０１）。ここでは水平方向に１番目及び垂直方向に１番目のセルを注目セルとする。以降の説明では便宜のため、水平方向にi番目及び垂直方向にj番目のセルをCell(i, j)と標記する。次に、連結補正処理部４５２は、注目セルCell(i, j)が前景色であるかを判断する（ステップＳ２９０２）。これは、上述した各セルの代表画素の色、即ち、各セル開始位置の座標「{x, y} = {Hs(i), Vs(j)}」の画素値を参照することで判断することができる。注目セルが前景色である場合（Ｓ２９０２：ＹＥＳ）はステップＳ２９０３に進み、注目セルが背景色である場合（ステップＳ２９０２：ＮＯ）はステップＳ２９０９に進む。ステップＳ２９０３では、連結補正処理部４５２は、注目セルCell(i, j)の右隣のセルCell(i+1, j)、下隣のセルCell(i, j+1)及び右下隣のセルCell(i+1, j+1)が全て前景色であるか否かを判断する。これらが全て前景色である場合（ステップＳ２９０３：ＹＥＳ）、連結補正処理部４５２は、図３０に示されるように、注目セルから右隣のセルまでの矩形領域、注目セルから下隣のセルまでの矩形領域及び注目セルから右下隣のセルまでの矩形領域を前景色に変更する（ステップＳ２９０４）。具体的に説明すると、連結補正処理部４５２は、「{左上隅座標}−{右下隅座標}」で表される以下の矩形領域を前景色に変更する。そして、ステップＳ２９０９に進む。
注目セルから右隣のセルまでの矩形領域：{He(i), Vs(j)}−{ Hs(i+1), Ve(j)}
注目セルから下隣のセルまでの矩形領域： {Hs(i), Ve(j)}−{ He(i), Vs(j+1)}
注目セルから右下隣のセルまでの矩形領域：{He(i), Ve(j)}−{ Hs(i+1), Vs(j+1)}
【００５２】
一方、ステップＳ２９０３の判断結果が否定的である場合、連結補正処理部４５２は、注目セルの右隣のセルが前景色であるか否かを判断する（ステップＳ２９０５）。このセルが前景色である場合（ステップＳ２９０５：ＹＥＳ）、連結補正処理部４５２は、図３１に示されるように、注目セルから右隣セルまでの矩形領域を前景色に変更して（ステップＳ２９０６）、ステップＳ２９０７に進む。ステップＳ２９０５の判断結果が否定的である場合はステップＳ２９０７に進む。ステップＳ２９０７では、連結補正処理部４５２は、注目セルの下隣のセルが前景色であるか否かを判断する。このセルが前景色である場合（ステップＳ２９０７：ＹＥＳ）、連結補正処理部４５２は、図３２に示されるように、注目セルから下隣のセルまでの矩形領域を前景色に変更して（ステップＳ２９０８）、ステップＳ２９０９に進む。ステップＳ２９０７の判断が否定的である場合はステップＳ２９０９に進む。ステップＳ２９０９では、連結補正処理部４５２は、全てのセルを注目セルとして処理したか否かを判断する。全てのセルを注目セルとして処理していない場合（ステップＳ２９０９：ＮＯ）、連結補正処理部４５２は、注目セルを次のセルに移し（ステップＳ２９１０）、ステップＳ２９０２に戻って上述の処理を繰り返す。尚、注目セルの次のセルは、例えば注目セルの右隣のセルCell(i+1, j)とし、注目セルが右端（i=m）のセルである場合は、当該次のセルを当該注目セルの下隣左端のセルCell(1, j+1) ）にする。そして、ステップＳ２９０９において全てのセルを注目セルとして処理したと判断した場合は（ステップＳ２９０９：ＹＥＳ）、連結補正処理部４５２は処理を終了する。この結果、図３３の（ａ）に示されるように黒セル間に発生していた隙間が、（ｂ）に示されるように黒く埋められる。
【００５３】
なお、図２９の例では注目セルの移行処理を左から右方向としているが、全てのセルを注目セルとして処理するものであれば、処理の順序は図２９の例に限定されるものではない。また、ステップＳ２９０３〜Ｓ２９０８についても、隣接する黒セル間の連結補正処理を行うものであれば、その処理の手順は図２９の例に限定されるものではない。
【００５４】
以上のようにして、本実施の形態にかかる連結補正処理では、シンボルタイプに応じた固定パターンを利用することで、各セルのセル位置情報をシンボルタイプに応じて取得し、各セルの位置情報を用いて、各セルの代表画素及び隣接するセルを識別することができる。そして各セルの代表画素を用いて各セルが黒セルであるか否かをセル毎に判断し、更に、黒セル毎に隣接するセルが黒セルか白セルかを判断することにより、余計な画素の探索を行なわなくて済む。このため、非常に高速に処理を行うことができる。図３４は、シンボルタイプがDataMatrixである場合に、第１の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図であり、図３５は、第２の実施の形態に構成による連結補正処理にかかる処理時間の測定結果を示す図である。図３６は、シンボルタイプがQRである場合に、第１の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図であり、図３７は、シンボルタイプがQRである場合に、第２の実施の形態にかかる構成による連結補正処理にかかる処理時間の測定結果を示す図である。この測定は、OSが Windows XP Professional SP2であり、CPUがPentium（登録商標）4 2.19GHz、Memoryが512MBであるパーソナルコンピュータの環境にて行なった。また、連結補正の対象となるシンボル画像は8bitグレースケール形式のRaw画像（1画素1byte、前景色の画素が黒（0x00）、背景色の画素が白（0xFF）のbyte配列）であり、それぞれの条件（セルサイズとシンボル画像の画像サイズ（縦横セル数）の組み合わせ）において「-1[pixel]」のセルサイズ補正がなされている。なお、本測定でDataMatrixのシンボル画像及びQRのシンボル画像の最大の画像サイズは各々「10512×10512[pixel]、「13320×13320[pixel]」にもなる（通常ここまで大きなシンボル画像を作成することは考えられないが、処理速度の差を見るためにそうしている）。結果を比較すると、第２の実施の形態のように固定パターンを利用した連結補正処理の方が、第１の実施の形態のようにシンボル画像の領域の全ての画素を探索して行う連結補正処理に比べて処理速度が格段に速く、最大で約40倍もの差が出ていることが分かる。
【００５５】
従って、本実施の形態にかかる構成によれば、非常に短時間で連結補正処理を行うことができる。
【００５６】
[第３の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第３の実施の形態について説明する。なお、上述の第１の実施の形態又は第２の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００５７】
（１）構成
本実施の形態における画像処理システムの構成は、連結補正処理部４５２の機能が下記の点で第２の実施の形態と異なる。連結補正処理部４５２は、エンコーダ４５１が生成してセルサイズ補正を行ったシンボル画像に対して、シンボルタイプの固定パターンを識別し、当該固定パターンに応じて各セルのセル位置情報を取得するが、セル位置情報の正当性を判断して、当該判断結果が肯定的である場合に、当該セル位置情報を用いて連結補正を行い、連結補正後のシンボル画像をプリンタドライバ４３０に渡す。
【００５８】
上述の各実施の形態では、シンボル画像の画像サイズは、シンボルタイプ毎に予め設定されていても良いし、ユーザにより設定されるようにしても良いとしたが、１つのセルのセルサイズが画素数で指定されるのではなく、シンボル画像について全体の画像サイズが指定される場合がある。図３８は、本実施の形態にかかる印刷設定ダイアログを例示する図である。これには、図７に例示した印刷設定ダイアログと異なり、シンボル画像の全体の画像サイズを指定するためのエディットボックス３４０１〜３４０２が含まれている。ここで指定された画像サイズの場合、１つのセルのサイズがプリンタドット、即ち、画素の正数倍にならない場合がある。例えば、１つのセルのセルサイズが「3.3[pixel]」となることがある。このような場合、セルサイズ補正量とエンコーダ４５１の種類によっては、非常に稀なケースとして図３９に示されるように、一部のセルについてセルサイズ補正が行われていない画像が生成される場合がある。このような場合、第２の実施の形態で説明したセル位置情報を取得する処理では、正しいセル位置情報が取得できず、結果として連結補正処理も正常に行なわれなくなる。そこで、本実施の形態においては、セル位置情報の正当性を判断することで、連結補正処理を正常に行うようにする。
【００５９】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順自体は第２の実施の形態と同様である。ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の手順について図４０を用いて説明する。ステップＳ１５０１〜Ｓ１５０２の処理は上述の第２の実施の形態と同様である。ステップＳ３２０１では、連結補正処理部４５２は、ステップＳ１５０２で取得したセル位置情報の正当性を検証する。具体的には例えば、連結補正処理部４５２は、他のセルのサイズに比べて極端に大きいセルがないかを調べれば良い。即ち、水平方向のセルサイズ（Hs(i+1)‐Hs(i), i=1,２,...,m-1）及び垂直方向のセルサイズ（Vs(j+1)‐Vs(j), j=1,２,...,n-1）の最大値及び最小値を求め、その差が所定値（例えば2[dot]）以上の場合は不正なセル位置情報であると連結補正処理部４５２は判断するようにすれば良い。その他、セルの数がそのシンボルタイプにおいて取り得ない値である場合、例えばQRにおいてセル数が21未満である場合や水平方向と垂直方向とでセルの数が異なる場合に、連結補正処理部４５２は不正なセル位置情報であると判断するようにしても良い。
【００６０】
そして、セル位置情報が正常であると判断した場合（ステップＳ３２０２：ＹＥＳ）、連結補正処理部４５２は、第２の実施の形態と同様にして、ステップＳ１５０３〜Ｓ１５０４の処理を行う。一方、セル位置情報が正常ではないと判断した場合（ステップＳ３２０２：ＮＯ）、連結補正処理部４５２は、第１の実施の形態と同様に、シンボル画像に含まれる全ての画素を探索することにより連結補正処理を行う（ステップＳ３２０３）。この処理の手順は、図１１のステップＳ５０２〜Ｓ５０３で説明した通りである。その後、連結補正処理部４５２は、ステップＳ１５０４の処理を行う。
【００６１】
以上のような構成によれば、一部のセルについてセルサイズ補正が行われていないシンボル画像が入力されたとしても、連結補正処理を正しく行うことができる。
【００６２】
[第４の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第４の実施の形態について説明する。なお、上述の第１の実施の形態乃至第３の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００６３】
（１）構成
本実施の形態においては、上述の第１の実施の形態の構成に加え、シンボルタイプを用いて連結補正処理を行うか否かを判断する。本実施の形態における画像処理システムの構成は、エンコーダ４５１及び連結補正処理部４５２の機能が下記の点で第１の実施の形態と異なる。エンコーダ４５１は、セルサイズ補正後のシンボル画像と、セルサイズ補正量と、シンボル生成パラメータに含まれるシンボルタイプとを連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像と、セルサイズ補正量と、シンボルタイプとをエンコーダ４５１から受け取ると、シンボルタイプがマトリクス型２次元シンボルであるか否かを判断し、当該判断結果が否定的である場合には、連結補正を行わない。図４１は、本実施の形態にかかる印刷設定ダイアログを例示する図である。同図に示される印刷設定ダイアログでは、ユーザは、シンボルタイプを設定するためのコンボボックス１２０４において、マトリクス型２次元シンボル以外のシンボルタイプを設定することができる。
【００６４】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様であるが、ステップＳ７〜８の処理が上述の第１の実施の形態と異なる。本実施の形態では、ステップＳ７では、エンコーダ４５１は、セルサイズ補正後のシンボル画像、セルサイズ補正量及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。次に、ステップＳ８では、連結補正処理部４５２は、エンコーダ４５１からシンボル画像、セルサイズ補正量及びシンボルタイプを受け取ると、これらを用いて、連結補正を行う。ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図４２を用いて説明する。連結補正処理部４５２は、エンコーダ４５１からシンボル画像、セルサイズ補正量及びシンボルタイプを受け取ると（ステップＳ３５０１）、シンボルタイプがマトリクス型２次元シンボルであるか否かを判断し（ステップＳ３５０２）、当該判断結果が肯定的である場合に（ステップＳ３５０２：ＹＥＳ）、上述の第１の実施の形態で説明した水平方向の連結補正処理（ステップＳ５０２）及び垂直方向の連結補正処理（ステップＳ５０３）を行ない、ステップＳ５０４で連結補正後のシンボル画像を出力する。ステップＳ３５０２の判断結果が否定的である場合は、連結補正処理部４５２は、連結補正処理を行わずにステップＳ５０４に進み、ステップＳ５０１で受け取ったシンボル画像を出力する。
【００６５】
以上のような構成によれば、マトリクス型２次元シンボルでないシンボル画像が入力された場合においても誤動作や余計な処理を行なうことがなくなる。従って、マトリクス型２次元シンボル以外のシンボル画像を取り扱う構成においても、本実施の形態の構成を適用可能となる。
【００６６】
[第５の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第５の実施の形態について説明する。なお、上述の第１の実施の形態乃至第３の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００６７】
（１）構成
本実施の形態においては、上述の第２の実施の形態の構成に加え、シンボルタイプを用いて連結補正処理を行うか否かを判断する。本実施の形態における画像処理システムの構成は、エンコーダ４５１及び連結補正処理部４５２の機能が下記の点で第２の実施の形態又は第４の実施の形態と異なる。エンコーダ４５１は、セルサイズ補正後のシンボル画像と、シンボル生成パラメータに含まれるシンボルタイプとを連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像と、シンボルタイプとをエンコーダ４５１から受け取ると、シンボルタイプがマトリクス型２次元シンボルであるか否かを判断し、当該判断結果が否定的である場合には、連結補正を行わない。
【００６８】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様であるが、ステップＳ７〜８の処理が上述の第１の実施の形態と異なる。本実施の形態では、ステップＳ７では、エンコーダ４５１は、セルサイズ補正後のシンボル画像及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。次に、ステップＳ８では、連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びシンボルタイプを受け取ると、これらを用いて、連結補正を行う。ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図４３を用いて説明する。連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びシンボルタイプを受け取ると（ステップＳ１５０１）、シンボルタイプがマトリクス型２次元シンボルであるか否かを判断し（ステップＳ４５０２）、当該判断結果が肯定的である場合に（ステップＳ４５０２：ＹＥＳ）、上述の第２と同様にして、ステップＳ１５０２〜Ｓ１５０４の処理を行う。一方、ステップＳ４５０２の判断結果が否定的である場合は、連結補正処理部４５２は、連結補正処理を行わずにステップＳ１５０４に進み、ステップＳ１５０１で受け取ったシンボル画像を出力する。
【００６９】
以上のような構成によっても、マトリクス型２次元シンボルでないシンボル画像が入力された場合においても誤動作や余計な処理を行なうことがなくなる。従って、マトリクス型２次元シンボル以外のシンボル画像を取り扱う構成においても、本実施の形態の構成を適用可能となる。
【００７０】
[第６の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第６の実施の形態について説明する。なお、上述の第１の実施の形態乃至第５の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００７１】
（１）構成
本実施の形態においては、上述の第１の実施の形態の構成に加え、セルサイズ補正量を用いて連結補正処理を行うか否かを判断する。本実施の形態における画像処理システムの構成は、連結補正処理部４５２の機能が下記の点で第１の実施の形態と異なる。連結補正処理部４５２は、シンボル画像及びセルサイズ補正量をエンコーダ４５１から受け取ると、セルサイズ補正量が負の値であるか否かを判断し、当該判断結果が否定的である場合には、連結補正を行わない。セルサイズ補正量が負の値であるということは、即ち、印刷太りが考慮された負のセルサイズ補正が行われており、セルを構成する画素数が減らされているということである。一方、セルサイズ補正量が負の値でなければ、印刷太りが考慮された負のセルサイズ補正が行われていないということであり、連結補正を行う必要がない。図４４は、本実施の形態にかかる印刷設定ダイアログを例示する図である。同図に示される印刷設定ダイアログでは、ユーザは、セルサイズ補正量を手動設定するためのエディットボックス４００２において、セルサイズを変更するためのセルサイズ補正量として「０」以上の値を設定することができる。このような印刷設定ダイアログでの手動での設定は、例えば、印刷する紙種によってセルサイズ補正量を手動で変えたい場合などに有用である。ここで設定された値は、上述のセルサイズ補正量記憶部に記憶される。
【００７２】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様である。ここで、図５のステップＳ８で本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図４５を用いて説明する。連結補正処理部４５２は、シンボル画像及びセルサイズ補正量をエンコーダ４５１から受け取ると（ステップＳ５０１）、セルサイズ補正量が負の値であるか否かを判断し（ステップＳ３８０１）、当該判断結果が肯定的である場合に（ステップＳ３８０１：ＹＥＳ）、上述の第１の実施の形態と同様にして、ステップＳ５０２〜５０４の処理を行う。ステップＳ３８０１の判断結果が否定的である場合は、連結補正処理部４５２は、連結補正処理を行わずにステップＳ５０４に進み、ステップＳ５０１で受け取ったシンボル画像を出力する。
【００７３】
以上のような構成によれば、セルサイズ補正が行なわれていないシンボル画像が入力された場合であっても誤動作や余計な処理を行なうことがなくなる。従って、セルサイズ補正量４００２の値が「０」以上に設定され得る構成においても、本実施の形態の構成を適用可能となる。
【００７４】
[第７の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第７の実施の形態について説明する。なお、上述の第１の実施の形態乃至第６の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００７５】
（１）構成
本実施の形態においては、上述の第２の実施の形態の構成に加え、セルサイズ補正量を用いて連結補正処理を行うか否かを判断する。本実施の形態における画像処理システムの構成は、エンコーダ４５１及び連結補正処理部４５２の機能が下記の点で第２の実施の形態又は第６の実施の形態と異なる。エンコーダ４５１は、セルサイズ補正後のシンボル画像、セルサイズ補正量及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像、セルサイズ補正量及びシンボルタイプをエンコーダ４５１から受け取ると、セルサイズ補正量が負の値であるか否かを判断し、当該判断結果が否定的である場合には、連結補正を行わない。
【００７６】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様であるが、ステップＳ７〜８の処理が上述の第１の実施の形態と異なる。本実施の形態では、ステップＳ６の後、ステップＳ７では、エンコーダ４５１は、セルサイズ補正後のシンボル画像、セルサイズ補正量及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。次に、ステップＳ８では、連結補正処理部４５２は、エンコーダ４５１からシンボル画像、セルサイズ補正量及びシンボルタイプを受け取ると、これらを用いて、連結補正を行う。ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図４６を用いて説明する。連結補正処理部４５２は、シンボル画像、セルサイズ補正量及びシンボルタイプをエンコーダ４５１から受け取ると（ステップＳ３９０１）、セルサイズ補正量が負の値であるか否かを判断し（ステップＳ３９０２）、当該判断結果が肯定的である場合に（ステップＳ３９０２：ＹＥＳ）、上述の第２の実施の形態と同様にして、ステップＳ１５０２〜１５０４の処理を行う。ステップＳ３９０２の判断結果が否定的である場合は、連結補正処理部４５２は、連結補正処理を行わずにステップＳ１５０４に進み、ステップＳ３９０１で受け取ったシンボル画像を出力する。
【００７７】
以上のような構成によっても、セルサイズ補正が行なわれていないシンボル画像が入力された場合であっても誤動作や余計な処理を行なうことがなくなる。従って、セルサイズ補正量４００２の値が「０」以上に設定され得る構成においても、本実施の形態の構成を適用可能となる。
【００７８】
[第８の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第８の実施の形態について説明する。なお、上述の第１の実施の形態乃至第７の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００７９】
（１）構成
本実施の形態においては、上述の第６の実施の形態と同様に、セルサイズ補正量を用いて連結補正処理を行うか否かを判断するが、水平方向及び垂直方向のそれぞれについて設定されたセルサイズ補正量を用いて各方向の連結補正を行うか否かを判断する。図４７は、本実施の形態にかかる印刷設定ダイアログを例示する図である。同図に示される印刷設定ダイアログでは、ユーザは、セルサイズ補正量を手動設定するためのエディットボックス３０１〜４３０２において、縦方向（垂直方向）及び横方向（水平方向）の各々についてセルサイズ補正量の値を設定することができる。ここで設定された値は、垂直方向及び水平方向別に上述のセルサイズ補正量記憶部に記憶される。このように設定されたセルサイズ補正量によって、水平方向のみ又は垂直方向のみセルサイズ補正が行われ得る。
【００８０】
本実施の形態における画像処理システムの構成は、プリンタドライバ４３０、エンコーダ４５１及び連結補正処理部４５２の機能が下記の点で第１の実施の形態と異なる。プリンタドライバ４３０は、シンボル生成パラメータに含まれるエンコード文字列及びシンボルタイプと共に、セルサイズ補正量記憶部に記憶された垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正シンボル画像作成処理部４５０に渡す。エンコーダ４５１は、エンコード文字列、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると、シンボル画像を生成してセルサイズ補正を行い、セルサイズ補正後のシンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量をエンコーダ４５１から受け取ると、水平方向のセルサイズ補正量が負の値であるか否かを判断し、当該判断結果が否定的である場合には、水平方向の連結補正処理を行わない。また、連結補正処理部４５２は、垂直方向のセルサイズ補正量が負の値であるか否かを判断し、当該判断結果が否定的である場合には、垂直方向の連結補正処理を行わない。
【００８１】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様であるが、ステップＳ５〜８の処理が上述の第１の実施の形態と異なる。本実施の形態では、ステップＳ５では、プリンタドライバ４３０は、シンボル生成パラメータに含まれるエンコード文字列及びシンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正シンボル画像作成処理部４５０に渡す。ステップＳ６では、エンコーダ４５１は、エンコード文字列、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると、エンコード文字列及びシンボルタイプを用いてシンボル画像を生成し、生成したシンボル画像に対して、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を用いてセルサイズ補正を行い、セルサイズ補正後のシンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正処理部４５２に渡す。次に、ステップＳ８では、連結補正処理部４５２は、エンコーダ４５１からシンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると、これらを用いて、連結補正を行う。
【００８２】
ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図４８を用いて説明する。連結補正処理部４５２は、エンコーダ４５１からシンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると（ステップＳ４１０１）、水平方向のセルサイズ補正量が負の値であるか否かを判断し（ステップＳ４１０２）、当該判断結果が肯定的である場合に（ステップＳ４１０２：ＹＥＳ）、上述の第１と同様にして、ステップＳ５０２の処理を行う。次いで、連結補正処理部４５２は、垂直方向のセルサイズ補正量が負の値であるか否かを判断し（ステップＳ４１０３）、当該判断結果が肯定的である場合に（ステップＳ４１０３：ＹＥＳ）、上述の第１と同様にして、ステップＳ５０３の処理を行う。ステップＳ４０１３の判断結果が否定的である場合には、ステップＳ５０４に進む。ステップＳ５０４では、ステップＳ４１０２の判断結果及びＳ４１０３の判断結果の両方が否定的である場合には、連結補正処理が行われずにステップＳ４１０１で受け取られたシンボル画像が出力され、ステップＳ４１０２の判断結果が肯定的及びＳ４１０３の判断結果の否定的である場合には、水平方向の連結補正処理のみが行われたシンボル画像が出力される。
【００８３】
以上のような構成によれば、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量を個別に設定できる場合であっても、誤動作および余計な処理を行なうことがなくなる。
【００８４】
なお、図４８では、ステップＳ４１０２、Ｓ５０２で水平方向についての処理を行った後、ステップＳ４１０３，Ｓ５０３で垂直方向についての処理を行うようにしたが、この順番は逆でも構わない。
【００８５】
[第９の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第９の実施の形態について説明する。なお、上述の第１の実施の形態乃至第７の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００８６】
（１）構成
本実施の形態においては、上述の第７の実施の形態と同様に、セルサイズ補正量を用いて連結補正処理を行うか否かを判断するが、水平方向及び垂直方向のそれぞれについて設定されたセルサイズ補正量を用いて各方向の連結補正を行うか否かを判断する。
【００８７】
本実施の形態における画像処理システムの構成は、プリンタドライバ４３０、エンコーダ４５１及び連結補正処理部４５２の機能が下記の点で第２の実施の形態又は第８の実施の形態と異なる。プリンタドライバ４３０は、シンボル生成パラメータに含まれるエンコード文字列及びシンボルタイプと共に、セルサイズ補正量記憶部に記憶された垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正シンボル画像作成処理部４５０に渡す。エンコーダ４５１は、エンコード文字列、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると、シンボル画像を生成してセルサイズ補正を行い、セルサイズ補正後のシンボル画像、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量をエンコーダ４５１から受け取ると、水平方向のセルサイズ補正量が負の値及び垂直方向のセルサイズ補正量が負の値である場合には、連結補正処理部４５２は、第２の実施の形態と同様にして、シンボルタイプ別に、当該シンボル画像に配置された全てのセルのセル位置情報を取得し、取得したセル位置情報を用いて連結補正処理を行う。水平方向のセルサイズ補正量のみが負の値である場合、連結補正処理部４５２は、上述の第１の実施の形態と同様にして、水平方向の連結補正処理を行う。垂直方向のセルサイズ補正量のみが負の値である場合、連結補正処理部４５２は、上述の第１の実施の形態と同様にして、垂直方向の連結補正処理を行う。水平方向のセルサイズ補正量が負の値及び垂直方向のセルサイズ補正量が共に負の値でない場合には、連結補正処理部４５２は、連結補正処理を行わない。
【００８８】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順は図５に示したものと略同様であるが、ステップＳ５〜８の処理が上述の第１の実施の形態と異なる。本実施の形態では、ステップＳ５では、プリンタドライバ４３０は、シンボル生成パラメータに含まれるエンコード文字列及びシンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正シンボル画像作成処理部４５０に渡す。ステップＳ６では、エンコーダ４５１は、エンコード文字列、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると、エンコード文字列及びシンボルタイプを用いてシンボル画像を生成し、生成したシンボル画像に対して、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を用いてセルサイズ補正を行い、セルサイズ補正後のシンボル画像、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正処理部４５２に渡す。次に、ステップＳ８では、連結補正処理部４５２は、エンコーダ４５１からシンボル画像、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると、これらを用いて、連結補正を行う。
【００８９】
ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図４９を用いて説明する。連結補正処理部４５２は、エンコーダ４５１からシンボル画像、シンボルタイプ、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を受け取ると（ステップＳ４２０１）、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量が共に負の値であるか否かを判断し（ステップＳ４２０２）、当該判断結果が肯定的である場合に（ステップＳ４２０２：ＹＥＳ）、第２の実施の形態と同様にして、ステップＳ１５０２〜Ｓ１５０４の処理を行う。一方、ステップＳ４２０２の判断結果が否定的である場合、連結補正処理部４５２は、水平方向のセルサイズ補正量のみが負の値であるか否かを判断し（ステップＳ４２０３）、当該判断結果が肯定的である場合に、上述の第１の実施の形態と同様にして、ステップＳ５０２の処理を行う。ステップＳ４２０３の判断結果が否定的である場合、連結補正処理部４５２は、垂直方向のセルサイズ補正量のみが負の値であるか否かを判断し（ステップＳ４２０５）、当該判断結果が肯定的である場合に、上述の第１の実施の形態と同様にして、ステップＳ５０３の処理を行う。ステップＳ４２０５の判断結果が否定的である場合には、即ち、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量が共に負の値でない場合、ステップＳ１５０４に進み、連結補正処理部４５２は、ステップＳ４２０１で受け取ったシンボル画像を出力する。
【００９０】
以上のような構成によれば、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量を個別に設定できる場合であっても、誤動作および余計な処理を行なうことがなくなる。
【００９１】
尚、図４９におけるステップＳ４２０２，Ｓ４２０３，Ｓ４２０５の処理の順序はこの通りでなくても構わない。
【００９２】
[第１０の実施の形態]
次に、画像処理装置、画像処理方法、画像処理プログラム及び印刷方法の第１０の実施の形態について説明する。なお、上述の第１の実施の形態乃至第９の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００９３】
（１）構成
上述の各実施の形態においては、シンボル画像のデータ形式は、ラスタ形式であるとしたが、本実施の形態においては例えばEMF（Enhanced Meta File）などのベクタ形式であるとする。ベクタ形式のデータ（ベクタデータという）では、シンボル画像に配置された各黒セルが矩形領域としてその座標が表される。このため、ベクタ形式のシンボル画像を例えば第２の実施の形態で取り扱う場合、各黒セルの座標を調べることで、全てのセルについて図２１や図２６に示したようなセル位置情報を取得することができる。
【００９４】
本実施の形態にかかるエンコーダ４５１及び連結補正処理部４５２の機能は下記の点で第２の実施の形態と異なる。エンコーダ４５１は、ベクタ形式で表される、セルサイズ補正後のシンボル画像を連結補正処理部４５２に渡す。連結補正処理部４５２は、エンコーダ４５１からシンボル画像を受け取ると、当該シンボル画像に配置された全てのセルのセル位置情報を取得し、当該セル位置情報を用いて連結補正を行い、連結補正後のシンボル画像をプリンタドライバ４３０に渡す。
【００９５】
（２）動作
次に、本実施の形態にかかる画像処理システムで行うシンボル画像印刷処理の手順について説明する。このシンボル画像印刷処理の手順自体は第２の実施の形態と同様である。ここで、本実施の形態にかかる連結補正処理部４５２が行う処理の詳細な手順について図５０を用いて説明する。連結補正処理部４５２は、まず初めにエンコーダ４５１からシンボル画像を受け取ると（ステップＳ４４０１）、当該に配置された各黒セルの座標を調べて、当該シンボル画像に配置された全てのセルのセル位置情報を取得する（ステップＳ４４０２）。次に、連結補正処理部４５２は、ステップＳ４４０２で取得したセル位置情報を用いて、隣接する黒セル間の連結補正処理を行なう（ステップＳ４４０３）。尚、ここでの連結補正処理の手順については、図２９に示したものと略同様であるが、ステップＳ２９０２,Ｓ２９０３,Ｓ２９０５,Ｓ２９０７において注目セルが前景色である（黒セル）か否かを判断することは、当該注目セルが矩形領域としてその座標が表されているか否かを連結補正処理部４５２は調べることにより行う。また、注目セルが黒セルである場合、ステップＳ２９０４,Ｓ２９０６,Ｓ２９０８において、注目セルから右隣のセルまでの矩形領域や注目セルから下隣のセルまでの矩形領域や注目セルから右下隣のセルまでの矩形領域を各々前景色に変更するには、連結補正処理部４５２は、各矩形領域を前景色の矩形領域として各々追加する又はそれと同じ結果になるように、即ち、注目セルから右隣のセルまでの矩形領域や注目セルから下隣のセルまでの矩形領域や注目セルから右下隣のセルまでの矩形領域を含むように、注目セルの座標を変更する。その後、連結補正処理部４５２は、連結補正を行ったシンボル画像を出力して終了する（ステップＳ４４０４）。
【００９６】
以上のような構成によれば、ベクタ形式で表されるシンボル画像についても、セルサイズ補正後に連結補正を行うことで、セルサイズ補正を行う機能有する一般的なエンコーダを用いながら、読み取り精度の非常に高いシンボル画像を生成することができる。このため、当該シンボル画像を読み取る際に読み取りエラーが発生しにくくなる。
【００９７】
尚、図５０においてステップＳ４７０２,Ｓ４７０３,Ｓ４７０５の処理の順序はこの通りでなくても構わない。
【００９８】
（３）他の実施の形態への適用例
本実施の形態にかかるベクタ形式のシンボル画像を例えば第５の実施の形態で取り扱う場合、エンコーダ４５１は、セルサイズ補正後のシンボル画像及びシンボル生成パラメータに含まれるシンボルタイプを連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像及びシンボルタイプをエンコーダ４５１から受け取ると、シンボルタイプがマトリクス型２次元シンボルであるか否かを判断し、当該判断結果が否定的である場合には、連結補正を行わない。具体的には、図５１に示されるように、連結補正処理部４５２は、エンコーダ４５１からシンボル画像及びシンボルタイプを受け取ると（ステップＳ４５０１）、シンボルタイプがマトリクス型２次元シンボルであるか否かを判断し（ステップＳ４５０２）、当該判断結果が肯定的である場合に（ステップＳ４５０２：ＹＥＳ）、ステップＳ４４０２〜Ｓ４４０４の処理を行う。一方、ステップＳ４５０２の判断結果が否定的である場合は、連結補正処理部４５２は、連結補正処理を行わずにステップＳ４４０４に進み、ステップＳ４５０１で受け取ったシンボル画像を出力する。
【００９９】
以上のような構成によっても、マトリクス型２次元シンボルでないシンボル画像が入力された場合においても誤動作や余計な処理を行なうことがなくなる。
【０１００】
また、ベクタ形式のシンボル画像を例えば第７の実施の形態で取り扱う場合、エンコーダ４５１は、セルサイズ補正後のシンボル画像及びセルサイズ補正量を連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像及びセルサイズ補正量をエンコーダ４５１から受け取ると、セルサイズ補正量が負の値であるか否かを判断し、当該判断結果が否定的である場合には、連結補正を行わない。具体的には、図５２に示されるように、連結補正処理部４５２は、シンボル画像及びセルサイズ補正量をエンコーダ４５１から受け取ると（ステップＳ４６０１）、セルサイズ補正量が負のであるか否かを判断し（ステップＳ４６０２）、当該判断結果が肯定的である場合に（ステップＳ４６０２：ＹＥＳ）、上述の第２の実施の形態と同様にして、ステップＳ４４０２〜４４０４の処理を行う。ステップＳ４６０２の判断結果が否定的である場合は、連結補正処理部４５２は、連結補正処理を行わずにステップＳ４４０４に進み、ステップＳ４６０１で受け取ったシンボル画像を出力する。
【０１０１】
以上のような構成によっても、セルサイズ補正が行なわれていないシンボル画像が入力された場合であっても誤動作や余計な処理を行なうことがなくなる。
【０１０２】
また、ベクタ形式のシンボル画像を例えば第９の実施の形態で取り扱う場合、エンコーダ４５１は、セルサイズ補正後のシンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量を連結補正処理部４５２に渡す。連結補正処理部４５２は、シンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量をエンコーダ４５１から受け取ると、当該シンボル画像に配置された全てのセルのセル位置情報を取得し、水平方向のセルサイズ補正量が負の値及び垂直方向のセルサイズ補正量が負の値である場合には、連結補正処理部４５２は、取得したセル位置情報を用いて連結補正処理を行う。また、水平方向のセルサイズ補正量のみが負の値である場合、連結補正処理部４５２は、水平方向についてのみ隣接する黒セル間の連結補正処理を行う。また、垂直方向のセルサイズ補正量のみが負の値である場合、連結補正処理部４５２は、垂直方向についてのみ隣接する黒セル間の連結補正処理を行う。水平方向のセルサイズ補正量が負の値及び垂直方向のセルサイズ補正量が共に負の値でない場合には、連結補正処理部４５２は、連結補正処理を行わない。
【０１０３】
具体的には、図５３に示されるように、連結補正処理部４５２は、連結補正処理部４５２は、エンコーダ４５１からシンボル画像、垂直方向のセルサイズ補正量及び水平方向のセルサイズ補正量とを受け取ると（ステップＳ４７０１）、ステップＳ４４０４で、当該シンボル画像に配置された全てのセルのセル位置情報を取得した後、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量が共に負の値であるか否かを判断し（ステップＳ４７０２）、当該判断結果が肯定的である場合に（ステップＳ４７０２：ＹＥＳ）、ステップＳ４４０３〜Ｓ４４０４の処理を行う。一方、ステップＳ４７０２の判断結果が否定的である場合、連結補正処理部４５２は、水平方向のセルサイズ補正量のみが負の値であるか否かを判断し（ステップＳ４７０３）、当該判断結果が肯定的である場合に、ステップＳ４７０４で、水平方向についてのみ隣接する黒セル間の連結補正処理を行う。即ち、連結補正処理部４５２は、注目セルから右隣のセルまでの矩形領域を前景色に変更する。ステップＳ４７０３の判断結果が否定的である場合、連結補正処理部４５２は、垂直方向のセルサイズ補正量のみが負の値であるか否かを判断し（ステップＳ４７０５）、当該判断結果が肯定的である場合に、垂直方向についてのみ隣接する黒セル間の連結補正処理を行う。即ち、連結補正処理部４５２は、注目セルから下隣のセルまでの矩形領域を前景色に変更する。ステップＳ４７０５の判断結果が否定的である場合には、即ち、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量が共に負の値でない場合、ステップＳ１５０４に進み、連結補正処理部４５２は、ステップＳ４７０１で受け取ったシンボル画像を出力する。
【０１０４】
以上のような構成によれば、水平方向のセルサイズ補正量及び垂直方向のセルサイズ補正量を個別に設定できる場合であっても、誤動作および余計な処理を行なうことがなくなる。
【０１０５】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【０１０６】
＜変形例１＞
上述した各実施の形態において、複写機１０２で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【０１０７】
＜変形例２＞
上述した第１の実施の形態において、連結補正シンボル画像作成処理部４５０は、パーソナルコンピュータ１０１に実装されるようにしたが、複写機１０２内に実装されるようにしても良い。図５４は、本変形例にかかる画像処理システムについて印刷処理に関する機能的構成を例示する図である。パーソナルコンピュータ１０１は、アプリケーション４１０、グラフィックエンジン４２０、プリンタドライバ４３０及びスプーラ４４０を有し、複写機１０２は印刷処理部４６０及び連結補正シンボル画像作成処理部４５０を有している。アプリケーション４１０、グラフィックエンジン４２０、スプーラ４４０及びエンコーダ４５１の各機能は上述の第１の実施の形態と同様である。
【０１０８】
本変形例にかかるプリンタドライバ４３０は、描画データを印刷データに変換する過程において、シンボル生成パラメータ及びセルサイズ補正量記憶部に記憶されたセルサイズ補正量と共に、描画データを変換した印刷データをスプーラ４４０に渡す。一方、印刷処理部４６０は、スプーラ４４０を介して、シンボル生成パラメータ、セルサイズ補正量及び印刷データを受け取ると、シンボル生成パラメータ及びセルサイズ補正量を連結補正シンボル画像作成処理部４５０に渡す。また、印刷処理部４６０は、連結補正シンボル画像作成処理部４５０が生成してセルサイズ補正及び連結補正を行ったシンボル画像を受け取り、受け取ったシンボル画像を印刷データの所定位置に重畳し、当該印刷データを用いて印刷を実行する。連結補正処理部４５２は、エンコーダ４５１が生成してセルサイズ補正を行ったシンボル画像に対して、セルサイズ補正量を用いて連結補正を行い、連結補正後のシンボル画像を印刷処理部４６０に渡す。
【０１０９】
又は、プリンタドライバ４３０は、シンボル生成パラメータを用いて自身がシンボル画像を生成して、これとセルサイズ補正量と印刷データとを、スプーラ４４０を介して印刷処理部４６０に渡すようにしても良い。この場合、印刷処理部４６０は、シンボル画像及びセルサイズ補正量をエンコーダ４５１に渡し、エンコーダ４５１は、これらを用いてセルサイズ補正を行うようにしても良い。また、セルサイズ補正量記憶部は、複写機１０２が備えるように構成しても良い。
【０１１０】
このように、一般にパーソナルコンピュータ１０１よりも処理スペックの低い複写機１０２に連結補正シンボル画像作成処理部４５０の機能を組み込んだ構成を、更に、上述の第２の実施の形態を適用する場合、処理時間が問題になるということがなく、複写機１０２でも十分に速い連結補正処理を実現させることができる。第３〜第１０の実施の形態に適用する場合についても同様である。
【０１１１】
＜変形例３＞
上述した第２の実施の形態において、シンボル画像の回転角度が0度の場合について説明したが、エンコーダによっては90度単位で回転されたシンボル画像を生成する機能を持つものや、鏡像反転画像（上下や左右が反転された画像）を生成する機能を持つものもある。その場合は、連結補正処理部４５２は、ステップＳ１５０１においてシンボル画像の回転角度や上下反転の有無、左右反転の有無の情報をエンコーダ４５１から受け取り、その情報に応じてセル位置情報を取得するようにすれば良い。図５５は、シンボルタイプがDataMatrixであるシンボル画像の回転角度が各々0度、90度、180度、270度である場合にセル位置情報を取得する際の探索例を各々例示する図である。図５６は、シンボルタイプがQRであるシンボル画像の回転角度が各々0度、90度、180度、270度である場合にセル位置情報を取得する際の探索例を各々例示する図である。さらに上下反転や左右反転がある場合も、これらのいずれかのパターンに該当させることができる。このような構成によれば、シンボル画像が90度単位で回転されている場合や上下反転されている場合や左右反転されている場合でもセル位置情報の取得が可能になる。
【０１１２】
また、上述した第２の実施の形態において、シンボルタイプがDataMatrixとQRとの場合についてセル位置情報を取得する例について説明したが、他のシンボルタイプのマトリクス型２次元シンボルでも各種固定パターンを用いることで同様の方法でセル位置情報が取得可能である。他のシンボルタイプには、例えば、図５７に示すように、Aztec、Micro QR、CP、Veriなどがある。
【０１１３】
＜変形例４＞
上述の各実施の形態においては、画像処理装置を複写機１０２に適用した例を示したが、これに限定されるものではなく、プリンタエンジンを有するプリンタや、ファクシミリや、コピー機能、プリンタ機能及びファクシミリ機能を複合的に有する複合機等にも適用することが可能である。
【符号の説明】
【０１１４】
１０１  パーソナルコンピュータ
１０２  複写機
２０２  記憶部
２０３  外部記憶部
２０４  通信部
２０５  ドライブ装置
２０７  表示装置
２０８  入力装置
２０９  バス
３１０  コントローラ
３２０  操作パネル
３６０  エンジン部
４１０  アプリケーション
４２０  グラフィックエンジン
４３０  プリンタドライバ
４４０  スプーラ
４５０  連結補正シンボル画像作成処理部
４５１  エンコーダ
４５２  連結補正処理部
４６０  印刷処理部
１２０１  印刷設定ダイアログ
【先行技術文献】
【特許文献】
【０１１５】
【特許文献１】特開平１０-４９６１０号公報
【特許文献２】特開２００２-１２７４８７号公報
【図１】
2010217981.tif 000003
【図２】
2010217981.tif 000004
【図３】
2010217981.tif 000005
【図４】
2010217981.tif 000006
【図５】
2010217981.tif 000007
【図６】
2010217981.tif 000008
【図７】
2010217981.tif 000009
【図８】
2010217981.tif 000010
【図９】
2010217981.tif 000011
【図１０】
2010217981.tif 000012
【図１１】
2010217981.tif 000013
【図１２】
2010217981.tif 000014
【図１３】
2010217981.tif 000015
【図１４】
2010217981.tif 000016
【図１５】
2010217981.tif 000017
【図１６】
2010217981.tif 000018
【図１７】
2010217981.tif 000019
【図１８】
2010217981.tif 000020
【図１９】
2010217981.tif 000021
【図２０】
2010217981.tif 000022
【図２１】
2010217981.tif 000023
【図２２】
2010217981.tif 000024
【図２３】
2010217981.tif 000025
【図２４】
2010217981.tif 000026
【図２５】
2010217981.tif 000027
【図２６】
2010217981.tif 000028
【図２７】
2010217981.tif 000029
【図２８】
2010217981.tif 000030
【図２９】
2010217981.tif 000031
【図３０】
2010217981.tif 000032
【図３１】
2010217981.tif 000033
【図３２】
2010217981.tif 000034
【図３３】
2010217981.tif 000035
【図３４】
2010217981.tif 000036
【図３５】
2010217981.tif 000037
【図３６】
2010217981.tif 000038
【図３７】
2010217981.tif 000039
【図３８】
2010217981.tif 000040
【図３９】
2010217981.tif 000041
【図４０】
2010217981.tif 000042
【図４１】
2010217981.tif 000043
【図４２】
2010217981.tif 000044
【図４３】
2010217981.tif 000045
【図４４】
2010217981.tif 000046
【図４５】
2010217981.tif 000047
【図４６】
2010217981.tif 000048
【図４７】
2010217981.tif 000049
【図４８】
2010217981.tif 000050
【図４９】
2010217981.tif 000051
【図５０】
2010217981.tif 000052
【図５１】
2010217981.tif 000053
【図５２】
2010217981.tif 000054
【図５３】
2010217981.tif 000055
【図５４】
2010217981.tif 000056
【図５５】
2010217981.tif 000057
【図５６】
2010217981.tif 000058
【図５７】
2010217981.tif 000059
【図５８】
2010217981.tif 000060
【図５９】
2010217981.tif 000061
【図６０】
2010217981.tif 000062