(57)【要約】【課題】コードを含む画像データに対する画素数変換によりコードの品質が低下するおそれがあった。【解決手段】画像処理装置は、画像データに含まれているコードを検出するコード検出部と、前記画像データの画素数をＮ倍することにより前記画像データの画素数を増加させる画素数変換部と、を備え、前記画素数変換部は、前記Ｎが非整数である場合は、前記画像データ内の前記コードを含む第１領域の画素数を整数倍し、前記画像データ内の前記第１領域以外の第２領域の画素数をＮ倍する。【選択図】図２
2020155803.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれているコードを検出するコード検出部と、
前記画像データの画素数をＮ倍することにより前記画像データの画素数を増加させる画素数変換部と、を備え、
前記画素数変換部は、前記Ｎが非整数である場合は、前記画像データ内の前記コードを含む第１領域の画素数を整数倍し、前記画像データ内の前記第１領域以外の第２領域の画素数をＮ倍する、ことを特徴とする画像処理装置。
【請求項２】
前記画素数変換部は、前記Ｎが非整数である場合は、前記Ｎに最も近い整数Ｍを決定し、前記第１領域の画素数をＭ倍する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画素数変換部は、前記Ｎに最も近い整数が２つ有る場合は、前記２つの整数のうち小さい方の整数を前記整数Ｍに決定する、ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画素数変換部は、前記Ｎが非整数である場合は、前記Ｎよりも小さい整数のうち前記Ｎに最も近い整数Ｍを決定し、前記第１領域の画素数をＭ倍する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記画素数変換部は、前記Ｎが非整数である場合は、画素数を整数倍した後の前記第１領域と、画素数をＮ倍した後の前記第２領域に含まれているオブジェクトとが重ならない条件を満たす前記整数である整数Ｍを決定し、前記第１領域の画素数をＭ倍する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記画素数変換部は、前記画像データに基づく縁無し印刷のために前記Ｎを非整数にする、ことを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
画像データに含まれているコードを検出するコード検出工程と、
前記画像データの画素数をＮ倍することにより前記画像データの画素数を増加させる画素数変換工程と、を備え、
前記画素数変換工程では、前記Ｎが非整数である場合は、前記画像データ内の前記コードを含む第１領域の画素数を整数倍し、前記画像データ内の前記第１領域以外の第２領域の画素数をＮ倍する、ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの画素数変換を実行する画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
画像データに対する画像処理において、画像データの画素数を印刷等の出力条件に合わせて変換する画素数変換処理が行われる。
関連技術として、画像データからバーコード情報を有する第１の領域とバーコード情報を有しない第２の領域とを検出し、第１の領域についての第１の解像度よりも低い第２の解像度となるように第２の領域に対して解像度変換を施す画像処理装置が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９‐２７２６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
バーコード等のコードを含む画像データに対して画素数変換を施した場合、変換の倍率によっては、変換後のコードの領域に不要な色の中間調データが発生したり、コードを構成する要素同士の比率が変動したりして、コードの品質が低下するおそれがあった。
【課題を解決するための手段】
【０００５】
画像処理装置は、画像データに含まれているコードを検出するコード検出部と、前記画像データの画素数をＮ倍することにより前記画像データの画素数を増加させる画素数変換部と、を備え、前記画素数変換部は、前記Ｎが非整数である場合は、前記画像データ内の前記コードを含む第１領域の画素数を整数倍し、前記画像データ内の前記第１領域以外の第２領域の画素数をＮ倍する。
【０００６】
画像処理装置は、画像データに含まれているコードを検出するコード検出部と、前記画像データの画素数を１／Ｎ倍することにより前記画像データの画素数を減少させる画素数変換部と、を備え、前記画素数変換部は、前記Ｎが非整数である場合は、整数Ｍを用いて、前記画像データ内の前記コードを含む第１領域の画素数を１／Ｍ倍し、前記画像データ内の前記第１領域以外の第２領域の画素数を１／Ｎ倍する。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置の構成を簡易的に示すブロック図。
【図２】第１実施形態の画像処理を示すフローチャート。
【図３】第１実施形態の画素数変換の一例を説明するための図。
【図４】第１実施形態の画素数変換による効果を説明するための図。
【図５】図４に対する比較例として従来技術を説明するための図。
【図６】第２実施形態の画像処理を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、各図を参照しながら本発明の実施形態を説明する。なお各図は、本実施形態を説明するための例示に過ぎない。各図は例示であるため、互いに整合していなかったり、一部が省略されていたりする場合がある。
【０００９】
１．装置構成：
図１は、本実施形態にかかる画像処理装置１０の構成を簡易的に示している。
画像処理装置１０は、画像処理方法を実行する。画像処理装置１０は、制御部１１、表示部１３、操作受付部１４、通信インターフェイス１５等を備える。インターフェイスをＩＦと略して表記する。制御部１１は、プロセッサーとしてのＣＰＵ１１ａ、ＲＯＭ１１ｂ、ＲＡＭ１１ｃ等を有する一つ又は複数のＩＣや、その他の不揮発性メモリー等を含んで構成される。
【００１０】
制御部１１では、プロセッサーつまりＣＰＵ１１ａが、ＲＯＭ１１ｂや、その他のメモリー等に保存されたプログラムに従った演算処理を、ＲＡＭ１１ｃ等をワークエリアとして用いて実行することにより、画像処理装置１０を制御する。制御部１１は、画像処理プログラム１２に従うことにより、コード検出部１２ａ、画素数変換部１２ｂ、色変換部１２ｃ、ＨＴ処理部１２ｄ等として機能する。ＨＴは、ハーフトーンの略である。なお、プロセッサーは、一つのＣＰＵに限られることなく、複数のＣＰＵや、ＡＳＩＣ等のハードウェア回路により処理を行う構成としてもよいし、ＣＰＵとハードウェア回路とが協働して処理を行う構成としてもよい。
【００１１】
表示部１３は、視覚的情報を表示するための手段であり、例えば、液晶ディスプレイや、有機ＥＬディスプレイ等により構成される。表示部１３は、ディスプレイと、ディスプレイを駆動するための駆動回路とを含む構成であってもよい。操作受付部１４は、ユーザーによる操作を受け付けるための手段であり、例えば、物理的なボタンや、タッチパネルや、マウスや、キーボード等によって実現される。むろん、タッチパネルは、表示部１３の一機能として実現されるとしてもよい。
【００１２】
表示部１３や操作受付部１４は、画像処理装置１０の構成の一部であってもよいが、画像処理装置１０に対して外付けされた周辺機器であってもよい。通信ＩＦ１５は、画像処理装置１０が公知の通信規格を含む所定の通信プロトコルに準拠して有線又は無線で外部と通信を実行するための一つまたは複数のＩＦの総称である。
【００１３】
印刷部１６は、画像処理装置１０が通信ＩＦ１５を介して接続する外部の装置である。つまり、印刷部１６は、画像処理装置１０によって制御される印刷装置である。印刷装置を、プリンター、記録装置、等とも呼ぶ。印刷部１６は、画像処理装置１０から送信される印刷データに基づいて、インクジェット方式や電子写真方式等により、印刷媒体への印刷を実行可能である。印刷媒体は、代表的には紙であるが、紙以外の素材の媒体であってもよい。例えば、インクジェット方式によれば、印刷データに基づいて印刷媒体に対してインクのドットが記録される。
【００１４】
画像処理装置１０は、例えば、パーソナルコンピューター、スマートフォン、タブレット型端末、携帯電話機、或いはそれらと同程度の処理能力を有する情報処理装置によって実現される。また、画像処理装置１０は、独立した一つの情報処理装置によって実現されるだけでなく、ネットワークを介して互いに通信可能に接続した複数の情報処理装置によって実現されてもよい。
画像処理装置１０と印刷部１６とを含む構成を、システムとして捉えることができる。
あるいは、画像処理装置１０と印刷部１６とは一体的な装置であってもよい。つまり、一台の印刷装置が、画像処理装置１０および印刷部１６を有する構成であってもよい。
【００１５】
２．画像処理：
２‐１．第１実施形態：
図２は、制御部１１が画像処理プログラム１２に従って実行する第１実施形態にかかる画像処理を、フローチャートにより示している。
ステップＳ１００では、制御部１１は、処理対象の画像データを取得する。制御部１１は、例えば、操作受付部１４を介したユーザーによる画像データの選択指示に応じて、画像データの保存元から画像データを取得する。画像データの保存元は、例えば、画像処理装置１０内のメモリーやハードディスクドライブ、あるいは、制御部１１がアクセス可能な外部のメモリーやサーバー等様々である。
【００１６】
画像データは、例えば、画素毎にＲＧＢ（レッド、グリーン、ブルー）毎の階調値を有するビットマップデータである。むろん、制御部１１は、取得した画像データのフォーマットを適宜変換することにより、処理対象としてのＲＧＢのビットマップデータを得ることができる。
【００１７】
ステップＳ１１０では、画素数変換部１２ｂは、画像データの画素数変換の倍率Ｎを決定する。画素数変換は、基本的には、画像データの解像度を印刷部１６による印刷解像度に合わせるための処理である。例えば、画像データの解像度が縦横それぞれ３６０ｄｐｉであり、印刷解像度が縦横それぞれ７２０ｄｐｉであれば、画像データの縦横の画素数をそれぞれ２倍にする。この場合は、Ｎ＝２である。ｄｐｉは、１インチあたりの画素数を意味する。
【００１８】
画素数変換部１２ｂは、画像データの縦横それぞれの画素数を、印刷部１６による出力条件にとって必要な画素数に変換するための縦横それぞれの倍率Ｎを決定する。出力条件とは、印刷解像度や印刷部１６が印刷に使用する印刷媒体のサイズ等である。出力条件は、印刷部１６の製品仕様や、ユーザーが操作受付部１４を介して予め入力した印刷に関する設定により、制御部１１にとって既知であるとする。
【００１９】
画像データの画素数と出力条件にとって必要な画素数との比によって、画素数変換の倍率は、１より大きかったり、１より小さく且つ０より大きかったりする。倍率が１より大きい場合は、画素数変換は画素数を増加させる処理となり、倍率が１より小さく且つ０より大きい場合は、画素数変換は画素数を減少させる処理となる。画素数の増加は画素の補間により実現され、画素数の減少は画素の間引きにより実現される。
第１実施形態は、画素数変換の倍率が１より大きい場合の説明である。
【００２０】
ステップＳ１２０では、コード検出部１２ａは、画像データからコードを検出する。本実施形態において「コード」とは、情報がコード化されたパターン画像の一種であり、具体的には、バーコードや、ＱＲコード（登録商標）や、その他の２次元コードである。コードの検出方法としては、公知の方法を含めて種々の方法を採用可能である。例えば、コード検出部１２ａは、画像データ内において単色のバーがバーの長さ方向と交差する方向に所定数以上並んでなるパターン画像をバーコードとして検出することができる。
ステップＳ１１０およびステップＳ１２０の実行順序は、図２に示した順序と逆であってもよい。あるいは、ステップＳ１１０およびステップＳ１２０は、並行して実施してもよい。
【００２１】
ステップＳ１３０では、コード検出部１２ａは、ステップＳ１２０における画像データからのコードの検出に成功したか否かにより以降の処理を分岐する。コード検出部１２ａは、ステップＳ１２０において画像データから１つ以上のコードの検出に成功した場合には、ステップＳ１３０の“Ｙｅｓ”の判定から処理をステップＳ１４０へ進める。一方、ステップＳ１２０において画像データからコードを検出することができなかった場合には、コード検出部１２ａは、ステップＳ１３０の“Ｎｏ”の判定から処理をステップＳ１７０へ進める。
【００２２】
ステップＳ１４０では、画素数変換部１２ｂは、ステップＳ１１０で決定した倍率Ｎが整数であるか否かにより以降の処理を分岐する。画素数変換部１２ｂは、倍率Ｎが整数であればステップＳ１４０の“Ｙｅｓ”の判定から処理をステップＳ１７０へ進める。一方、倍率Ｎが整数でなければ、つまり非整数であれば、画素数変換部１２ｂは、ステップＳ１４０の“Ｎｏ”の判定から処理をステップＳ１５０へ進める。本実施形態において整数とは、１以上の整数を指す。
【００２３】
なお、図２では記載を簡略化しているが、制御部１１は、倍率Ｎの決定（ステップＳ１１０）およびステップＳ１４０の判定を含む画素数変換処理（ステップＳ１４０〜Ｓ１６０又はステップＳ１４０，Ｓ１７０）は、画像データの縦方向と横方向とのそれぞれについて実行する。
【００２４】
ステップＳ１７０では、画素数変換部１２ｂは、ステップＳ１１０で決定した倍率Ｎを用いて通常の画素数変換を実行する。つまり、画素数変換部１２ｂは、画像データの画素数をＮ倍することにより画像データの画素数を増加させる。通常の画素数変換では、後述の第１領域および第２領域は、それらが区別されることなく同じ倍率が適用される。
【００２５】
ステップＳ１５０では、ステップＳ１２０で検出したコードを含む領域を画素数変換するための倍率Ｍを決定する。Ｍは整数とする。画素数変換部１２ｂは、倍率Ｎに最も近い整数を倍率Ｍに決定する。例えば、Ｎ＝２．２であれば、Ｍ＝２とする。また、例えば、Ｎ＝２．８であれば、Ｍ＝３とする。
【００２６】
ただし、倍率Ｎに最も近い整数が２つ有る場合がある。例えば、Ｎ＝２．５であれば、Ｎに最も近い整数は２および３である。このように、倍率Ｎに最も近い整数が２つ有る場合は、画素数変換部１２ｂは、倍率Ｎに最も近い２つの整数のうち小さい方の整数を倍率Ｍに決定する、としてもよい。
【００２７】
あるいは、画素数変換部１２ｂは、倍率Ｎよりも小さい整数のうち倍率Ｎに最も近い整数を倍率Ｍに決定するとしてもよい。例えば、Ｎ＝２．２であれば、Ｍ＝２とする。また、例えば、Ｎ＝２．８であっても、Ｍ＝２とする。
【００２８】
ステップＳ１６０では、画素数変換部１２ｂは、ステップＳ１１０で決定した倍率ＮとステップＳ１５０で決定した倍率Ｍとを用いて、領域別の画素数変換を実行する。画像データから検出したコードを含む領域を「第１領域」と呼ぶ。画像データ内の第１領域以外の領域を「第２領域」と呼ぶ。つまり、領域別の画素数変換では、画素数変換部１２ｂは、第１領域の画素数をＭ倍し、第２領域の画素数をＮ倍する。
【００２９】
図３は、第１実施形態における画素数変換の一例を説明するための図である。図３において、画像データ２０は、画素数変換前の画像データであり、画像データ３０は、画像データ２０を画素数変換した後の画像データである。画像データ２０内には、例えば、文字やイラストや写真等の何らかのオブジェクトが何らかの色で表現されている。図３の例では、画像データ２０についてステップＳ１１０で決定した画素数変換の倍率Ｎは、画像の横方向の倍率Ｎが“２．２”、画像の縦方向の倍率Ｎが“２”であったとする。この場合、画像の縦方向については、倍率Ｎが整数“２”であるため、画素数変換部１２ｂは、ステップＳ１４０の“Ｙｅｓ”から進んだステップＳ１７０において、画像データ２０の縦方向の画素数を２倍にする通常の画素数変換を実行する。
【００３０】
符号２１は、ステップＳ１２０において画像データ２０から検出されたコードを含む第１領域を示している。このような、コードに対応する第１領域２１は、画像データ２０内の複数箇所に在ってもよい。画像データ２０内の第１領域２１を除く領域が、第２領域２２である。第２領域２２に、上述のオブジェクトが含まれている。画像データ３０内において符号３１で示す領域は、第１領域２１を画素数変換した後の第１領域３１である。画像データ３０内の第１領域３１を除く領域が、画素数変換後の第２領域３２である。
【００３１】
図３の例では、画像の横方向の倍率Ｎは非整数“２．２”である。そのため、画像の横方向については、ステップＳ１４０の“Ｎｏ”から進んだステップＳ１５０において、画素数変換部１２ｂは、倍率Ｎ＝２．２に対応して、例えば、倍率Ｍ＝２と決定する。そして、画素数変換部１２ｂは、ステップＳ１６０において、画像データ２０の第１領域２１の横方向の画素数を２倍にし、かつ、画像データ２０の第２領域２２の横方向の画素数を２．２倍にする、領域別の画素数変換を実行する。
【００３２】
Ｍ＞Ｎである場合は、画像データのサイズに対する第１領域のサイズの比率は、画素数変換前よりも画素数変換後の方が大きくなる。Ｎ＞Ｍである場合は、画像データのサイズに対する第１領域のサイズの比率は、画素数変換前よりも画素数変換後の方が小さくなる。Ｎ＞Ｍである場合は、これら倍率Ｎ，Ｍの違いに起因して、画素数変換後の第１領域３１と第２領域３２との間に隙間が生じる。画素数変換部１２ｂは、このような隙間を第２領域３２の画素を用いて埋める。画素数変換部１２ｂは、例えば、前記隙間の周囲の第２領域３２の画素と同色の画素で前記隙間を埋めればよい。従って、図３の例では、画像データ３０は、全体のサイズとしては画像データ２０と比べると縦方向の画素数が２倍に増加し、横方向の画素数が２．２倍に増加したことになる。
【００３３】
ステップＳ１６０及び又はステップＳ１７０の後、色変換部１２ｃは、画素数変換後の画像データに対して、色変換処理を実行する（ステップＳ１８０）。色変換処理は、画像データの表色系を、印刷部１６が印刷に使用する出力表色系へ変換する処理である。画像データの表色系は、例えば、上述したＲＧＢであり、出力表色系は、例えば、シアン、マゼンタ、イエロー、ブラック等の複数のインク色による表色系である。
【００３４】
ステップＳ１９０では、ＨＴ処理部１２ｄは、色変換後の画像データに対してＨＴ処理を施す。ＨＴ処理は、概略、画像データの画素毎かつインク色毎の階調値を、インクの記録（ドットオン）または不記録（ドットオフ）を示す情報へ二値化する処理である。
【００３５】
ステップＳ２００では、制御部１１は、ＨＴ処理後の画像データを、印刷データとして印刷部１６へ出力する。ステップ２００の出力処理では、ＨＴ処理後の画像データを、印刷部１６が使用するタイミングや順番に合わせて適宜並べ替えた上で、印刷部１６へ出力する。このような出力処理を、ラスタライズ処理とも言う。この結果、印刷部１６は、画像処理装置１０から出力された印刷データに基づいて印刷を実行する。
【００３６】
図４は、第１実施形態の画素数変換による効果を説明するための図である。
図５は、図４に対する比較例であり、従来技術を説明するための図である。図４，５では、画像データ２０内の第１領域２１に対して、画素数変換や色変換やＨＴの各処理を施すことで画像データが遷移していく様子を簡単に示している。図４，５では、画像の横方向への画素数変換を施した例を示しており、夫々の見方は概ね同じである。図４，５に示す個々の矩形は、画像データを構成する個々の画素である。図４，５の第１領域２１は、バーコードの一部を表現している。つまり、第１領域２１においては、グレー色の画素の集合がバーコードを構成するバーであり、白色の画素の集合がバーとバーとの間の空白である。バーコードを構成するバーのように、画像としてのコードを構成する要素を「コード要素」と呼ぶ。また、バーとバーとの間の空白のような、コード要素とコード要素との間の空白を「要素間空白」と呼ぶ。
【００３７】
図４においては、画素数変換の倍率は“２”である。上述したように第１実施形態では、ステップＳ１１０で決定した倍率Ｎが非整数であっても、第１領域２１に対する倍率Ｍは整数となる。第１領域２１の画素数を整数倍する場合は、コード要素の色と、要素間空白の色との夫々がコピーされて、各コード要素の画素及び各要素間空白の画素が単純に整数倍される。そのため、画素数変換後の第１領域３１内に、コード要素の色と要素間空白の色とのいずれにも該当しない色は、発生しない。
【００３８】
図４の符号４１は、第１領域３１に対して色変換処理およびＨＴ処理を施した後の第１領域を示している。第１領域４１を構成する各画素はインクの記録または不記録のいずれかを規定している。つまり、第１領域４１におけるグレー色の画素はドットオン画素であり、白色の画素はドットオフ画素である。
【００３９】
一方、図５においては、画素数変換の倍率は“２．２”である。従来の画素数変換では、画素数変換前の画像データの画素数と、出力条件にとって必要な画素数と、の比により導かれた倍率が、第１領域２１を含む画像データ２０全体に適用される。従って、第１領域２１の画素数が非整数倍され得る。第１領域２１の画素数を非整数倍すると、コード要素の色と要素間空白の色との間の色、つまり中間調データが、補間により発生する。図５において、画素数変換後の第１領域３１０内に示す薄いグレー色の画素が、このような中間調データを有する中間調画素３１１である。
【００４０】
図５の符号４１０は、第１領域３１０に対して色変換処理およびＨＴ処理を施した後の第１領域を示している。図４の第１領域４１と同様に、図５の第１領域４１０におけるグレー色の画素はドットオン画素であり、白色の画素はドットオフ画素である。中間調画素３１１に対してＨＴ処理を施した場合、中間調画素３１１はドットオン画素に変換されたり、ドットオフ画素に変換されたりする。図５において、符号４１１で示す画素は、中間調画素３１１から変換されたドットオン画素４１１である。
【００４１】
第１領域２１の画素数が非整数倍され得る従来構成においては、コード要素と、要素間空白との間に、中間調画素３１１が発生し易く、これによりドットオン画素４１１が発生する。ドットオン画素４１１は、バーコードを構成するバー等のコード要素の形状を不安定にさせ、コードの品質を低下させる。品質が低下したコードは、正しく読み取られない場合がある。これに対して、第１実施形態の画素数変換では、第１領域２１の画素数は必ず整数倍される。そのため、中間調画素３１１が発生せず、これによりコードの品質低下が生じない。
【００４２】
２‐２．第２実施形態：
図６は、制御部１１が画像処理プログラム１２に従って実行する第２実施形態にかかる画像処理を、フローチャートにより示している。第２実施形態については、図２等を用いて説明した第１実施形態と異なる点について主に説明する。
【００４３】
ステップＳ５００は、ステップＳ１００と同じ処理である。
ステップＳ５１０では、画素数変換部１２ｂは、画像データの画素数変換の倍率１／Ｎを決定する。画素数変換部１２ｂは、ステップＳ１１０で説明したように、画像データの縦横それぞれの画素数を、印刷部１６による出力条件にとって必要な画素数に変換するための縦横それぞれの倍率を決定する。
【００４４】
画素数変換の倍率を決定するという意味では、ステップＳ１１０およびステップＳ５１０は同じ処理である。画素数変換部１２ｂは、このように決定した倍率が１より大きい値であれば、当該倍率をＮとして扱い、第１実施形態のステップＳ１２０以下を実行する。一方、画素数変換部１２ｂは、このように決定した倍率が１より小さく且つ０より大きい値であれば、当該倍率を分子が１の分数で表したときの分母を、Ｎとして扱い、第２実施形態のステップＳ５２０以下を実行する。
【００４５】
ステップＳ５２０は、ステップＳ１２０と同じ処理である。
ステップＳ５３０では、コード検出部１２ａは、ステップＳ５２０における画像データからのコードの検出に成功した場合に、“Ｙｅｓ”の判定から処理をステップＳ５４０へ進める。一方、ステップＳ５２０において画像データからコードを検出することができなかった場合には、コード検出部１２ａは、ステップＳ５３０の“Ｎｏ”の判定から処理をステップＳ５７０へ進める。
【００４６】
ステップＳ５４０では、画素数変換部１２ｂは、ステップＳ５１０で決定した倍率１／Ｎの分母Ｎが整数であるか否かにより以降の処理を分岐する。画素数変換部１２ｂは、Ｎが整数であればステップＳ５４０の“Ｙｅｓ”の判定から処理をステップＳ５７０へ進める。一方、Ｎが整数でなければ、画素数変換部１２ｂは、ステップＳ５４０の“Ｎｏ”の判定から処理をステップＳ５５０へ進める。制御部１１は、倍率１／Ｎの決定（ステップＳ５１０）およびステップＳ５４０の判定を含む画素数変換処理（ステップＳ５４０〜Ｓ５６０又はステップＳ５４０，Ｓ５７０）は、画像データの縦方向と横方向とのそれぞれについて実行する。
【００４７】
ステップＳ５７０では、画素数変換部１２ｂは、ステップＳ５１０で決定した倍率１／Ｎを用いて通常の画素数変換を実行する。つまり、画素数変換部１２ｂは、画像データの画素数を１／Ｎ倍することにより画像データの画素数を減少させる。
【００４８】
ステップＳ５５０では、ステップＳ５２０で検出したコードを含む第１領域を画素数変換するための倍率１／Ｍの分母Ｍを決定する。Ｍは整数とする。画素数変換部１２ｂは、Ｎに最も近い整数をＭに決定する。ただし、Ｎに最も近い整数が２つ有る場合は、画素数変換部１２ｂは、Ｎに最も近い２つの整数のうち小さい方の整数をＭに決定する、としてもよい。あるいは、画素数変換部１２ｂは、Ｎよりも小さい整数のうちＮに最も近い整数をＭに決定するとしてもよい。
【００４９】
ステップＳ５６０では、画素数変換部１２ｂは、ステップＳ５１０で決定した倍率１／ＮとステップＳ５５０で決定した整数Ｍを分母とする倍率１／Ｍとを用いて、領域別の画素数変換を実行する。つまり、画素数変換部１２ｂは、第１領域の画素数を１／Ｍ倍し、第２領域の画素数を１／Ｎ倍する。１／Ｍ＞１／Ｎである場合は、画像データのサイズに対する第１領域のサイズの比率は、画素数変換前よりも画素数変換後の方が大きくなる。１／Ｎ＞１／Ｍである場合は、画像データのサイズに対する第１領域のサイズの比率は、画素数変換前よりも画素数変換後の方が小さくなる。１／Ｎ＞１／Ｍである場合は、これら倍率１／Ｎ，１／Ｍの違いに起因して、画素数変換後の第１領域と第２領域との間に隙間が生じる。画素数変換部１２ｂは、このような隙間を第２領域の画素を用いて埋める。
ステップＳ５６０及び又はステップＳ５７０の後のステップＳ５８０，Ｓ５９０，Ｓ６００は、ステップＳ１８０，Ｓ１９０，Ｓ２００と同じ処理である。
【００５０】
３．まとめ：
このように第１実施形態によれば、画像処理装置１０は、画像データに含まれているコードを検出するコード検出部１２ａと、画像データの画素数をＮ倍することにより画像データの画素数を増加させる画素数変換部１２ｂと、を備える。そして、画素数変換部１２ｂは、前記Ｎが非整数である場合は、画像データ内のコードを含む第１領域の画素数を整数倍し、画像データ内の第１領域以外の第２領域の画素数をＮ倍する。
【００５１】
前記構成によれば、画像データの画素数変換に用いる倍率Ｎが非整数であっても、画像データ内のコードを含む第１領域に対しては、画素数変換の倍率として整数が用いられる。これにより、画素数変換後の第１領域において中間調データが発生せず、コードの品質低下が回避される。
【００５２】
また、画素数変換部１２ｂは、前記Ｎが非整数である場合は、前記Ｎに最も近い整数Ｍを決定し、第１領域の画素数をＭ倍する、としてもよい。
前記構成によれば、画素数変換における第２領域の倍率と第１領域の倍率との乖離をできるだけ小さくすることができる。
【００５３】
また、画素数変換部１２ｂは、前記Ｎに最も近い整数が２つ有る場合は、前記２つの整数のうち小さい方の整数を整数Ｍに決定する、としてもよい。
前記構成によれば、画素数変換における第２領域の倍率との乖離ができるだけ小さい第１領域の倍率を、容易に決定することができる。加えて、画素数変換後の第１領域が、画素数変換後の第２領域内のオブジェクトの一部と重なることを回避することができる。
【００５４】
また、画素数変換部１２ｂは、前記Ｎが非整数である場合は、前記Ｎよりも小さい整数のうち前記Ｎに最も近い整数Ｍを決定し、前記第１領域の画素数をＭ倍する、としてもよい。
前記構成によれば、画素数変換における第２領域の倍率との乖離ができるだけ小さい第１領域の倍率を、容易に決定することができる。加えて、画素数変換後の第１領域が、画素数変換後の第２領域内のオブジェクトの一部と重なることを回避することができる。
【００５５】
また、第１実施形態によれば、画像データに含まれているコードを検出するコード検出工程（ステップＳ１２０）と、画像データの画素数をＮ倍することにより画像データの画素数を増加させる画素数変換工程（ステップＳ１４０〜Ｓ１６０又はステップＳ１４０，Ｓ１７０）と、を備え、画素数変換工程では、前記Ｎが非整数である場合は、画像データ内のコードを含む第１領域の画素数を整数倍し、画像データ内の第１領域以外の第２領域の画素数をＮ倍する（ステップＳ１６０）、画像処理方法が開示される。
【００５６】
また、第２実施形態によれば、画像処理装置１０は、画像データに含まれているコードを検出するコード検出部１２ａと、画像データの画素数を１／Ｎ倍することにより画像データの画素数を減少させる画素数変換部１２ｂと、を備える。そして、画素数変換部１２ｂは、前記Ｎが非整数である場合は、整数Ｍを用いて、画像データ内のコードを含む第１領域の画素数を１／Ｍ倍し、画像データ内の第１領域以外の第２領域の画素数を１／Ｎ倍する。
前記構成によれば、画像データの画素数変換に用いる倍率１／Ｎの分母Ｎが非整数であっても、画像データ内のコードを含む第１領域に対しては、画素数変換の倍率として整数Ｍを分母とする倍率１／Ｍが用いられる。これにより、画素数変換後の第１領域においてコードの品質低下が抑制される。
【００５７】
例えば、画像データ内において、所定色の画素が画像の縦方向に連続する画素列が画像の横方向に複数列連続することで、バーコードの各要素としての各バーが表現されている。バーコードの各バーは、例えば、４画素列で構成されていたり、２画素列で構成されていたりして、その太さは様々である。このようなバーコードを含んだ第１領域に対して、非整数Ｎを分母とする倍率１／Ｎを掛けて画素数を減少させる第１の場合と、整数Ｍを分母とする倍率１／Ｍを掛けて画素数を減少させる第２の場合とを比較すると、第２の場合の方が、バー同士の太さの比率の、画素数変換前後における変動が少ない。例えば、第１領域の画素列数を間引いて１／２．２倍にする第１の場合と、第１領域の画素列数を間引いて単純に１／２倍にする第２の場合とでは、第２の場合の方が、バー同士の太さの比率が保たれ易い。従って、第２実施形態によれば、画素数変換によるコードの品質低下が抑制されると言える。
【００５８】
また、第２実施形態によれば、画像データに含まれているコードを検出するコード検出工程（ステップＳ５２０）と、画像データの画素数を１／Ｎ倍することにより画像データの画素数を減少させる画素数変換工程（ステップＳ５４０〜Ｓ５６０又はステップＳ５４０，Ｓ５７０）と、を備え、画素数変換工程では、前記Ｎが非整数である場合は、整数Ｍを用いて、画像データ内のコードを含む第１領域の画素数を１／Ｍ倍し、画像データ内の第１領域以外の第２領域の画素数を１／Ｎ倍する（ステップＳ５６０）、画像処理方法が開示される。
【００５９】
４．他の実施形態：
本実施形態に含まれる種々の態様を、更に幾つか説明する。
画素数変換部１２ｂは、ステップＳ１６０やステップＳ５６０で領域別の画素数変換を実行する場合に、画素数変換の前後で画像データに対する第１領域の位置を保持するとしてもよい。画素数変換部１２ｂは、画像データの基準点を定義する。画像データの基準点は、例えば、画像データの左上の角である。そして、画素数変換部１２ｂは、例えば、基準点から横方向の、画像データの長さと第１領域の重心までの距離との比、および、前記基準点から縦方向の、画像データの長さと第１領域の重心までの距離との比が、画素数変換の前後で保たれるように、画素数変換後の第１領域の位置を調整する。これにより、画素数変換の前後で、画像データと第１領域との相対的な位置関係がほぼ保持される。
【００６０】
ステップＳ１６０の領域別の画素数変換において、第１領域に適用する倍率Ｍが、第２領域に適用する倍率Ｎよりも大きい場合は、画素数変換後において、第１領域が、第２領域内の文字等のオブジェクトの一部と重なる可能性がある。そこで、画素数変換部１２ｂは、前記Ｎが非整数である場合は、画素数を整数倍した後の第１領域と、画素数をＮ倍した後の第２領域に含まれているオブジェクトとが重ならない条件を満たす整数である整数Ｍを決定し、第１領域の画素数をＭ倍する、としてもよい。
【００６１】
ステップＳ１５０において、画素数変換部１２ｂが、非整数であるＮよりも大きい整数を整数Ｍに決定した場合を想定する。この場合、画素数変換部１２ｂは、整数Ｍの決定を仮決定とし、画素数をＭ倍した第１領域が画素数をＮ倍した第２領域に含まれているオブジェクトの一部に重なるか否かを、シミュレーションする。そして、シミュレーションの結果、画素数をＭ倍した第１領域が、画素数をＮ倍した第２領域に含まれているオブジェクトの一部に重ならないのであれば、画素数変換部１２ｂは、前記仮決定の整数Ｍを、整数Ｍとして本決定し、ステップＳ１６０を実行する。一方、前記シミュレーションの結果、画素数をＭ倍した第１領域が、画素数をＮ倍した第２領域に含まれているオブジェクトの一部に重なるのであれば、画素数変換部１２ｂは、非整数であるＮよりも小さい整数を整数Ｍに決定し、ステップＳ１６０を実行する。
【００６２】
このような、画素数変換後に第１領域が第２領域内のオブジェクトと重ならないように、第１領域に適用する倍率を決定する思想は、当然、第２実施形態のステップＳ５５０でも採用することができる。
【００６３】
ユーザーは、操作受付部１４を介して、縁無し印刷か縁有り印刷かの選択を、印刷部１６による出力条件の一つとして設定することができる。縁無し印刷は、印刷媒体の上下左右の縁に余白を残さない印刷方法である。縁有り印刷は、印刷媒体の上下左右の縁に余白を残す印刷方法である。縁無し印刷を実現するには、画素数変換部１２ｂは、印刷媒体の上下左右の縁に余白が残らないように、画像データの縦横のサイズを、印刷媒体の縦横のサイズよりも大きくする必要がある。あくまで一例であるが、Ａ４サイズに対応する画像データの解像度が３６０ｄｐｉであり、縁有り印刷では、Ａ４サイズの印刷用紙へ印刷解像度７２０ｄｐｉで印刷する場合に、縁無し印刷では、Ａ４サイズの印刷用紙に対応させて、印刷解像度７６０ｄｐｉに合った画像データが必要とされる。印刷部１６が一画素に対応して記録するドットサイズは決まっているため、解像度がより高い画像データを生成することで、印刷部１６が印刷する画像サイズをより大きくすることができる。
【００６４】
そこで、本実施形態の一つとして、画素数変換部１２ｂは、画像データに基づく縁無し印刷のために前記Ｎを非整数にする、としてもよい。つまり、画素数変換部１２ｂは、少なくとも縁無し印刷が設定されている場合には、ステップＳ１１０において倍率Ｎを非整数に決定する。この非整数としての倍率Ｎは、当然、画像データの画素数を縁無し印刷に必要な画素数に増加させるための倍率である。言い換えると、画像データの画素数を縁無し印刷に必要な画素数に増加させるための倍率は、実態として、整数になることは殆ど無い。上述の例では、３６０ｄｐｉを７６０ｄｐｉに変換するための約２．１１という非整数が、倍率Ｎに決定される。このような構成によれば、画像データを縁無し印刷するために画像データの画素数を非整数倍して増加させる場合に、画像データに含まれているコードの品質低下を防ぐことができる。
【００６５】
本実施形態は、画像データを表示部１３等のディスプレイへ出力する場合にも適用可能である。つまり、本実施形態による画素数変換を施した画像データを、制御部１１は、ディスプレイへ表示させることができる。このとき、品質劣化が無い或いは抑制されたコードを含んだ画像データが表示される。
【符号の説明】
【００６６】
１０…画像処理装置、１１…制御部、１２…画像処理プログラム、１２ａ…コード検出部、１２ｂ…画素数変換部、１２ｃ…色変換部、１２ｄ…ＨＴ処理部、１３…表示部、１４…操作受付部、１５…通信ＩＦ、１６…印刷部、２０…画素数変換前の画像データ、２１…画素数変換前の第１領域、２２…画素数変換前の第２領域、３０…画素数変換後の画像データ、３１…画素数変換後の第１領域、３２…画素数変換後の第２領域
【図１】
2020155803.tif 000003
【図２】
2020155803.tif 000004
【図３】
2020155803.tif 000005
【図４】
2020155803.tif 000006
【図５】
2020155803.tif 000007
【図６】
2020155803.tif 000008