(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】画像処理装置および画像処理プログラム
(51)【国際特許分類】
H04N 1/387 20060101AFI20240910BHJP
B41J 3/36 20060101ALI20240910BHJP
B41J 21/00 20060101ALI20240910BHJP
【FI】
H04N1/387 110
B41J3/36 Z
B41J21/00 Z
(21)【出願番号】P 2020210684
(22)【出願日】2020-12-18
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】梶川 佳史
【審査官】鈴木 明
(56)【参考文献】
【文献】特開2007-268775(JP,A)
【文献】特開2004-295523(JP,A)
【文献】特開2019-180046(JP,A)
【文献】特開2019-180047(JP,A)
【文献】特開2019-188741(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/387
B41J 3/36
B41J 21/00
(57)【特許請求の範囲】
【請求項1】
印刷媒体に画像を印刷するように構成された印刷部と、
前記印刷部を制御するように構成された制御部と
を備える画像処理装置であって、
前記制御部は、
予め設定された配列方向に沿って交互に配置された複数のバーと互いに隣接する2つの前記バーの間に配置された複数のスペースとによって表されるバーコードを複数含む画像データに基づいて、複数の前記バーコードのうち、1つの前記バーコードを対象バーコードとし、前記対象バーコードに対して前記配列方向に沿って隣接している1つの前記バーコードを隣接バーコードとして、前記対象バーコードと前記隣接バーコードとの大小を比較する比較処理と、
前記対象バーコードと前記隣接バーコードとの間に配置されている空白領域を対象空白領域とし、前記比較処理において小さいと判断された前記バーコードを小バーコードとし、前記比較処理において大きいと判断された前記バーコードを大バーコードとし、前記小バーコードを配置するために前記小バーコードと前記小バーコードの周囲の空白領域とを含むように設定される領域を小バーコード配置領域とし、前記大バーコードを配置するために前記大バーコードと前記大バーコードの周囲の空白領域とを含むように設定される領域を大バーコード配置領域として、前記小バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さが、前記大バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さよりも長くなるように、前記小バーコード配置領域および前記大バーコード配置領域を設定する大小領域設定処理と
を実行するように構成されている画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記大小領域設定処理は、前記小バーコードに付加されるクワイエットゾーンの前記配列方向に沿った長さである小クワイエットゾーン幅以下の長さで前記配列方向に沿って前記大バーコード配置領域と重複するようにして前記小バーコード配置領域を設定する画像処理装置。
【請求項3】
印刷媒体に画像を印刷するように構成された印刷部と、
前記印刷部を制御するように構成された制御部と
を備える画像処理装置であって、
前記制御部は、
予め設定された配列方向に沿って交互に配置された複数のバーと互いに隣接する2つの前記バーの間に配置された複数のスペースとによって表されるバーコードを複数含む画像データに基づいて、複数の前記バーコードのうち、1つの前記バーコードを対象バーコードとし、前記対象バーコードに対して前記配列方向に沿って隣接している1つの前記バーコードを隣接バーコードとして、前記対象バーコードの大きさと前記隣接バーコードの大きさとの比率であるバーコード比率を算出する比率算出処理と、
前記対象バーコードと前記隣接バーコードとの間に配置されている空白領域を対象空白領域とし、前記対象バーコードを配置するために前記対象バーコードと前記対象バーコードの周囲の空白領域とを含むように設定される領域を対象バーコード配置領域とし、前記隣接バーコードを配置するために前記隣接バーコードと前記隣接バーコードの周囲の空白領域とを含むように設定される領域を隣接バーコード配置領域として、前記対象バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さと、前記隣接バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さとの比率が前記バーコード比率に一致するように前記対象バーコード配置領域および前記隣接バーコード配置領域を設定する比率領域設定処理と
を実行するように構成されている画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
前記制御部は、
前記対象バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さと、前記隣接バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さとの比率が前記バーコード比率に一致するように前記対象バーコード配置領域および前記隣接バーコード配置領域を設定することが可能であるか否かを判断する可能判断処理と、
前記バーコード比率に一致するように前記対象バーコード配置領域および前記隣接バーコード配置領域を設定することが可能ではないと前記可能判断処理が判断した場合に、前記対象バーコード配置領域が前記対象バーコードのクワイエットゾーンを含み、且つ、前記隣接バーコード配置領域が前記隣接バーコードのクワイエットゾーンを含むように前記対象バーコード配置領域および前記隣接バーコード配置領域を設定する不可能時領域設定処理と
を実行するように構成されている画像処理装置。
【請求項5】
印刷媒体に画像を印刷するように構成された印刷部と、
前記印刷部を制御するように構成された制御部と
を備えた画像処理装置において、前記制御部が実行可能な画像処理プログラムであって、
前記制御部に、
予め設定された配列方向に沿って交互に配置された複数のバーと互いに隣接する2つの前記バーの間に配置された複数のスペースとによって表されるバーコードを複数含む画像データに基づいて、複数の前記バーコードのうち、1つの前記バーコードを対象バーコードとし、前記対象バーコードに対して前記配列方向に沿って隣接している1つの前記バーコードを隣接バーコードとして、前記対象バーコードと前記隣接バーコードとの大小を比較する比較処理と、
前記対象バーコードと前記隣接バーコードとの間に配置されている空白領域を対象空白領域とし、前記比較処理において小さいと判断された前記バーコードを小バーコードとし、前記比較処理において大きいと判断された前記バーコードを大バーコードとし、前記小バーコードを配置するために前記小バーコードと前記小バーコードの周囲の空白領域とを含むように設定される領域を小バーコード配置領域とし、前記大バーコードを配置するために前記大バーコードと前記大バーコードの周囲の空白領域とを含むように設定される領域を大バーコード配置領域として、前記小バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さが、前記大バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さよりも長くなるように、前記小バーコード配置領域および前記大バーコード配置領域を設定する大小領域設定処理と
を実行させるように構成されている画像処理プログラム。
【請求項6】
印刷媒体に画像を印刷するように構成された印刷部と、
前記印刷部を制御するように構成された制御部と
を備えた画像処理装置において、前記制御部が実行可能な画像処理プログラムであって、
前記制御部に、
予め設定された配列方向に沿って交互に配置された複数のバーと互いに隣接する2つの前記バーの間に配置された複数のスペースとによって表されるバーコードを複数含む画像データに基づいて、複数の前記バーコードのうち、1つの前記バーコードを対象バーコードとし、前記対象バーコードに対して前記配列方向に沿って隣接している1つの前記バーコードを隣接バーコードとして、前記対象バーコードの大きさと前記隣接バーコードの大きさとの比率であるバーコード比率を算出する比率算出処理と、
前記対象バーコードと前記隣接バーコードとの間に配置されている空白領域を対象空白領域とし、前記対象バーコードを配置するために前記対象バーコードと前記対象バーコードの周囲の空白領域とを含むように設定される領域を対象バーコード配置領域とし、前記隣接バーコードを配置するために前記隣接バーコードと前記隣接バーコードの周囲の空白領域とを含むように設定される領域を隣接バーコード配置領域として、前記対象バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さと、前記隣接バーコード配置領域に含まれる前記対象空白領域における前記配列方向に沿った長さとの比率が前記バーコード比率に一致するように前記対象バーコード配置領域および前記隣接バーコード配置領域を設定する比率領域設定処理と
を実行させるように構成されている画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、バーコードを表す画像データを処理する技術に関する。
【背景技術】
【0002】
特許文献1には、予め設定された配列方向に沿って複数のバーと複数のスペースとを交互に配置して構成される複数のバーコードを印刷媒体上に印刷する装置が記載されている。
【0003】
2つのバーコードが隣接している場合に、隣接する各バーコードの配置領域が互いに重複すると、縮小後に、隣接するバーコード同士が重なったり、各バーコードのクワイエットゾーンが不足したりする等の問題が生じる可能性がある。
【0004】
このため、従来、互いに隣接するバーコードの間に形成される空白領域の中央で空白領域を分割するようにして、互いに隣接する各バーコードの配置領域を設定していた。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の空白領域における中央で分割するようにしてバーコードの配置領域を設定すると、縮小後のバーコードの品質が低下することがあった。
本開示は、縮小によるバーコードの品質低下を抑制することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様は、印刷媒体に画像を印刷するように構成された印刷部と、印刷部を制御するように構成された制御部とを備え、制御部は、比較処理と、大小領域設定処理とを実行するように構成されている画像処理装置である。
【0008】
比較処理は、予め設定された配列方向に沿って交互に配置された複数のバーと互いに隣接する2つのバーの間に配置された複数のスペースとによって表されるバーコードを複数含む画像データに基づいて、対象バーコードと隣接バーコードとの大小を比較する。対象バーコードは、複数のバーコードのうち、1つのバーコードである。隣接バーコードは、複数のバーコードのうち、対象バーコードに対して配列方向に沿って隣接している1つのバーコードである。
【0009】
大小領域設定処理は、小バーコード配置領域に含まれる対象空白領域における配列方向に沿った長さが、大バーコード配置領域に含まれる対象空白領域における配列方向に沿った長さよりも長くなるように、小バーコード配置領域および大バーコード配置領域を設定する。
【0010】
対象空白領域は、対象バーコードと隣接バーコードとの間に配置されている空白領域である。小バーコードは、比較処理において小さいと判断されたバーコードである。大バーコードは、比較処理において大きいと判断されたバーコードである。小バーコード配置領域は、小バーコードを配置するために小バーコードと小バーコードの周囲の空白領域とを含むように設定される領域である。大バーコード配置領域は、大バーコードを配置するために大バーコードと大バーコードの周囲の空白領域とを含むように設定される領域である。
【0011】
このように構成された本開示の画像処理装置は、縮小による品質劣化が大きい方のバーコード配置領域(すなわち、小バーコード配置領域)を可能な限り広くすることができる。これにより、本開示の画像処理装置は、縮小による品質劣化が大きい方のバーコード(すなわち、小バーコード)の縮小度合いを抑制することができ、縮小によるバーコードの品質低下を抑制することができる。
【0012】
本開示の別の態様は、印刷部と、制御部とを備え、制御部は、比率算出処理と、比率領域設定処理とを実行するように構成されている画像処理装置である。
比率算出処理は、バーコードを複数含む画像データに基づいて、対象バーコードの大きさと隣接バーコードの大きさとの比率であるバーコード比率を算出する。
【0013】
比率領域設定処理は、対象バーコード配置領域に含まれる対象空白領域における配列方向に沿った長さと、隣接バーコード配置領域に含まれる対象空白領域における配列方向に沿った長さとの比率がバーコード比率に一致するように対象バーコード配置領域および隣接バーコード配置領域を設定する。
【0014】
対象バーコード配置領域は、対象バーコードを配置するために対象バーコードと対象バーコードの周囲の空白領域とを含むように設定される領域である。隣接バーコード配置領域は、隣接バーコードを配置するために隣接バーコードと隣接バーコードの周囲の空白領域とを含むように設定される領域である。
【0015】
このように構成された本開示の画像処理装置は、互いに隣接するバーコードのそれぞれに対して、バーコードの大きさに応じたバーコード配置領域を設定する。
このため、本開示の画像処理装置は、小さい方のバーコードの縮小度合いが大きい方のバーコードの縮小度合いより大きくなってしまうという事態の発生を抑制することができる。これにより、本開示の画像処理装置は、小さい方のバーコードの縮小度合いが大きくなるのを抑制することができ、縮小によるバーコードの品質低下を抑制することができる。
【0016】
本開示の更に別の態様は、印刷部と、制御部とを備えた画像処理装置において、制御部に、比較処理と、大小領域設定処理とを実行させるように構成されている画像処理プログラムである。
【0017】
本開示の画像処理プログラムによって制御されるコンピュータは、本開示の一態様の画像処理装置の一部を構成することができ、本開示の一態様の画像処理装置と同様の効果を得ることができる。
【0018】
本開示の更に別の態様は、印刷部と、制御部とを備えた画像処理装置において、制御部に、比率算出処理と、比率領域設定処理とを実行させるように構成されている画像処理プログラムである。
【0019】
本開示の画像処理プログラムによって制御されるコンピュータは、本開示の別の態様の画像処理装置の一部を構成することができ、本開示の別の態様の画像処理装置と同様の効果を得ることができる。
【図面の簡単な説明】
【0020】
【
図4】シッピングラベル縮小処理を示すフローチャートである。
【
図5】第1実施形態のリサイズ処理を示すフローチャートである。
【
図6】第1実施形態におけるバーコード配置領域の設定方法を示す図である。
【
図7】第2実施形態のリサイズ処理を示すフローチャートである。
【
図8】第2実施形態におけるバーコード配置領域の設定方法を示す図である。
【
図9】比率により分割できない場合におけるバーコード配置領域の設定方法を示す図である。
【発明を実施するための形態】
【0021】
[第1実施形態]
以下に本開示の第1実施形態を図面とともに説明する。
(1-1)プリンタ1の構成
本実施形態のプリンタ1は、ラベルに画像を印刷するラベルプリンタであり、
図1に示すように、制御部11と、表示部12と、入力部13と、通信部14と、印刷部15とを備える。
【0022】
制御部11は、CPU21およびメモリ22を備える。CPU21は、メモリ22に記憶されたプログラムを実行し、これにより、プリンタ1の各種機能が実現される。なお、制御部11により実現される各種機能は、プログラムの実行によって実現することに限るものではなく、その一部または全部について、一つあるいは複数のハードウェアを用いて実現してもよい。メモリ22は、非遷移的実体的記録媒体である半導体メモリ(例えば、ROM、RAMおよびフラッシュメモリ)を備え、プログラムおよびデータを記憶する。
【0023】
表示部12は、図示しない表示装置を備え、表示装置に各種画像を表示する。入力部13は、表示部12の表示画面の周囲に設置されたスイッチを備える。そして入力部13は、利用者がスイッチを介して行った入力操作を特定するための入力操作情報を出力する。
【0024】
通信部14は、LANを用いた有線通信、LANを用いた無線通信、USBを用いた有線通信、または、Bluetooth規格に準拠した方式の近距離無線通信によって、データ通信を行う。LANは、Local Area Networkの略である。USBは、Universal Serial Busの略である。Bluetoothは登録商標である。
【0025】
印刷部15は、感熱方式の印刷機構を備え、所定幅(例えば、4インチ)の感熱ロール紙に画像を印刷することができる。なお、印刷部15は、カット紙に対して印刷可能に構成されていてもよいし、感熱方式以外の周知の記録方式(例えば、インクジェット方式)で印刷可能に構成されていてもよい。
【0026】
(1-2)バーコードの構成
本実施形態で用いられるバーコードは、バーコード規格の1つであるCode128で規定された仕様で作成されるバーコードである。バーコードは、例えば
図2に示すように、バーコード配列方向BDに沿って、左から順に、スタートキャラクタSTC、第1,2,3,4,5データキャラクタDC1,DC2,DC3,DC4,DC5、シンボルチェックキャラクタSCおよびストップキャラクタSPCを配置して構成される。そして、バーコードの左端にはクワイエットゾーンQZ1が付加され、バーコードの右端にはクワイエットゾーンQZ2が付加される。
【0027】
スタートキャラクタSTC、第1~5データキャラクタDC1~DC5およびシンボルチェックキャラクタSCは、3本のバーと3本のスペースとを交互に配置して構成される。ストップキャラクタSPCは、4本のバーと3本のスペースとを交互に配置して構成される。バーは、モジュールのうち、反射率が低いモジュールである。スペースは、モジュールのうち、反射率が高いモジュールである。なお、モジュールは、1本のバーまたはスペースである。またシンボルキャラクタは、バーおよびスペース等による数字、文字および記号の表現である。
【0028】
Code128では、バーおよびスペースの幅は、1モジュール幅、2モジュール幅、3モジュール幅および4モジュール幅の4種類である。1モジュール幅は、バーコードを構成するバーおよびスペースにおいて最も狭い幅である。2モジュール幅は、1モジュール幅の2倍の幅である。3モジュール幅は、1モジュール幅の3倍の幅である。4モジュール幅は、1モジュール幅の4倍の幅である。
【0029】
そしてシンボルキャラクタは、3本のバーと3本のスペースとを交互に配置することにより表現される。なお、シンボルキャラクタでは、3本のバーおよび3本のスペースの合計の幅が11モジュール幅となるように、3本のバーおよび3本のスペースの幅が設定される。
【0030】
クワイエットゾーンQZ1,QZ2は、最小モジュール幅の10倍の幅、または2.54mmの幅のうち、大きい方の幅を有する余白である。なお、最小モジュール幅は、0.191mmである。
【0031】
スタートキャラクタSTCは、データキャラクタの直前に配置されるキャラクタであり、データの始まりを示す。スタートキャラクタSTCには、バーコードで使用するキャラクタセットを示す3種類のコードセット「CODE A」、「CODE B」および「CODE C」の何れか一つが設定される。
【0032】
第1~5データキャラクタDC1~DC5は、データを表すシンボルキャラクタである。
シンボルチェックキャラクタSCには、バーコードのデータが正しいか否かをチェックするためのデータが設定される。
【0033】
ストップキャラクタSPCは、シンボルチェックキャラクタSCの直後に配置されるキャラクタであり、データの終わりを示す。ストップキャラクタSPCは、4本のバーと3本のスペースとを交互に配置することにより表現される。なお、ストップキャラクタSPCでは、4本のバーおよび3本のスペースの合計の幅が13モジュール幅となるように、4本のバーおよび3本のスペースの幅が設定される。
【0034】
(1-3)プリンタ1において実行される処理
プリンタ1は、シッピングラベルを縮小して印刷するためにシッピングラベル縮小処理を実行する。
【0035】
シッピングラベルは、商品が収納された配送箱を販売代行業者へ配送する際に配送箱に貼り付けられる。シッピングラベルは、所定サイズ(例えば、A4サイズ)のシートであり、販売代行業者へ配送するために必要な所定事項が記載されている。販売業者は、シッピングラベルのデータファイルを、販売代行業者のウェブサイトなどからダウンロードすることにより取得することができる。販売業者は、シッピングラベルのデータファイルをプリンタ1から印刷することでシッピングラベルを作成し、作成したシッピングラベルを配送箱に貼り付ける。
【0036】
プリンタ1で用いられる印刷媒体の幅は例えば4インチであるため、例えばA4サイズのシッピングラベルのデータファイルを印刷する場合には、シッピングラベルが印刷媒体に収まるようにシッピングラベルを縮小する必要がある。なお、A4サイズは、11.69インチ×8.27インチである。
【0037】
シッピングラベルは、例えば
図3に示すように、第1バーコードBC1が配置される矩形状の第1バーコード配置領域R1と、第2バーコードBC2が配置される矩形状の第2バーコード配置領域R2と、配送箱の配送先などを示す文字および数字等が記載された情報記載領域R3とを備える。すなわち、シッピングラベルを構成する全領域のうち、第1バーコード配置領域R1および第2バーコード配置領域R2を除外した領域が、情報記載領域R3である。第1バーコードBC1は、第1バーコード配置領域R1の略中央に配置される。第2バーコードBC2は、第2バーコード配置領域R2の略中央に配置される。
【0038】
次に、プリンタ1のCPU21が実行するシッピングラベル縮小処理の手順を説明する。シッピングラベル縮小処理は、シッピングラベルのデータファイルを印刷するための入力操作が入力部13に対して行われた後に開始される処理である。
【0039】
シッピングラベル縮小処理が実行されると、CPU21は、
図4に示すように、まずS10にて、入力画像の画像データにおいてバーコード配置可能領域を探索する。入力画像とは、シッピングラベル縮小処理が開始される起因となった入力操作において印刷対象として特定されたデータファイルで表されるシッピングラベルの画像である。
【0040】
バーコード配置可能領域は、シッピングラベルに含まれるバーコード毎に設定される矩形状の領域であり、対応するバーコード以外で2値データの黒を含まない最も広い領域が設定される。例えば、
図3において一点鎖線で示す領域R11は第1バーコードBC1のバーコード配置可能領域であり、
図3において一点鎖線で示す領域R12は第2バーコードBC2のバーコード配置可能領域である。
【0041】
次にCPU21は、
図4に示すように、S20にて、バーコード配置可能領域をリサイズして、バーコード配置領域を設定するリサイズ処理を実行する。具体的には、CPU21は、S10で設定された1または複数のバーコード配置可能領域のそれぞれについて、バーコード配置可能領域の領域内に含まれるように、且つ、互いに隣接するバーコード配置領域内に配置される各バーコードが互いに重ならないようにして、各バーコード配置可能領域に対応するバーコード配置領域を設定する。
図3における第1バーコード配置領域R1は、バーコード配置可能領域R11に対応するバーコード配置領域であり、
図3における第2バーコード配置領域R2は、バーコード配置可能領域R12に対応するバーコード配置領域である。なお、リサイズ処理の詳細な手順は後述する。
【0042】
次にCPU21は、
図4に示すように、S30にて、シッピングラベルの幅と、印刷媒体の幅とに基づいて、シッピングラベルが印刷媒体に収まるようにシッピングラベルの縮小率を算出する。例えば、CPU21は、シッピングラベルの幅をWsとし、印刷媒体の幅をWmとした場合に、縮小率を(Wm/Ws)で算出する。シッピングラベルの幅は、例えば
図3に示すシッピングラベルの横方向の長さである。
【0043】
そしてCPU21は、S40にて、S30で算出された縮小率に基づいて、縮小が必要であるか否かを判断する。具体的には、CPU21は、S30で算出された縮小率が100%未満である場合には、縮小が必要であると判断し、縮小率が100%以上である場合には、縮小が必要でないと判断する。
【0044】
ここで、縮小が必要でない場合には、CPU21は、S50にて、入力画像を出力画像に設定して、シッピングラベル縮小処理を終了する。
一方、縮小が必要である場合には、CPU21は、S60にて、入力画像においてバーコードと背景とを分離する。背景は、入力画像においてバーコード以外の部分である。
【0045】
そしてCPU21は、S70にて、S60で分離されたバーコードのうち、後述するS80~S120の処理が行われていないバーコード(以下、未処理のバーコード)があるか否かを判断する。
【0046】
ここで、未処理のバーコードがない場合には、CPU21は、S130に移行する。一方、未処理のバーコードがある場合には、CPU21は、S80にて、未処理のバーコードを1つ選択する。
【0047】
そしてCPU21は、S90にて、S80で選択したバーコードの領域が、対応する縮小バーコード配置領域より大きいか否かを判断する。具体的には、CPU21は、まず、S80で選択したバーコードに対応するバーコード配置領域を、S30で算出された縮小率で縮小した縮小バーコード配置領域を生成する。そしてCPU21は、S80で選択したバーコードの領域が、生成した縮小バーコード配置領域より大きいか否かを判断する。
【0048】
ここで、バーコードの領域が縮小バーコード配置領域より大きい場合には、CPU21は、S100にて、S80で選択したバーコードを縮小する。具体的には、CPU21は、S80で選択したバーコードの縮小前におけるバーコード内最小モジュール幅をピクセル単位で小さくすることによって、縮小後のバーコードの領域が縮小バーコード配置領域以下となる最大の縮小サイズを算出し、算出した縮小サイズでバーコードを縮小する。
【0049】
例えば、縮小前におけるバーコード内最小モジュール幅が5ピクセルであるとすると、縮小サイズ候補値は、4ピクセル、3ピクセル、2ピクセル、1ピクセルとなる。例えば、縮小サイズ候補値が4ピクセルである場合には、縮小率は80%(すなわち、4/5=0.8)であり、縮小サイズ候補値が3ピクセルである場合には、縮小率は60%(すなわち、3/5=0.6)である。
【0050】
但し、プリンタ1の出力解像度に応じて、縮小サイズ候補値の下限値が異なる。例えば、縮小サイズ候補値の下限値は、出力解像度が300dpiである場合には3ピクセルであり、出力解像度が200dpiである場合には2ピクセルである。
【0051】
そして、CPU21は、算出された縮小サイズをバーコード内最小モジュール幅としてバーコードを再構築することによって、バーコードを縮小する。
さらにCPU21は、S130にて、縮小する前と後とで、S100で縮小したバーコードの配置の見た目が異ならないように、S100で縮小したバーコードの縮小バーコード配置領域内における位置を調整し、S70に移行する。
【0052】
またS90にて、バーコードの領域が縮小バーコード配置領域より大きくない場合には、CPU21は、S120にて、縮小する前と後とで、S80で選択したバーコードの配置の見た目が異ならないように、S80で選択したバーコードの縮小バーコード配置領域内における位置を調整し、S70に移行する。
【0053】
そして、S130に移行すると、CPU21は、S60で分離した背景を示す背景画像を、S30で算出された縮小率で縮小し、縮小背景画像を生成する。
さらにCPU21は、S140にて、S60で分離されたバーコードと、S130で生成された縮小背景画像とを統合するマージ処理を実行する。
【0054】
マージ処理では、具体的には、CPU21は、まず、S60で分離されたバーコード毎に、縮小されたか否かを判断する。ここで、縮小された場合には、CPU21は、縮小された後のバーコードを、S110で調整された位置で、縮小背景画像において対応する縮小バーコード配置領域内に配置する。一方、縮小されていない場合には、CPU21は、S60で分離されたバーコードをそのまま、S120で調整された位置で、縮小背景画像において対応する縮小バーコード配置領域内に配置する。そして、全てのバーコードについて縮小背景画像への配置が終了すると、CPU21は、全てのバーコードが配置された縮小背景画像を出力画像に設定し、マージ処理を終了する。
【0055】
マージ処理が終了すると、CPU21は、シッピングラベル縮小処理を終了する。
次に、S20で実行されるリサイズ処理の手順を説明する。
リサイズ処理が実行されると、CPU21は、
図5に示すように、まずS210にて、入力画像に含まれるバーコードのうち、後述するS220の処理で選択されていないバーコード(以下、未処理のバーコード)があるか否かを判断する。
【0056】
ここで、未処理のバーコードがない場合には、CPU21は、リサイズ処理を終了する。一方、未処理のバーコードがある場合には、CPU21は、S220にて、未処理のバーコードを1つ選択する。
【0057】
そしてCPU21は、S230にて、S220で選択したバーコード(以下、対象バーコード)に対してバーコード配列方向BDに沿って隣接しているバーコード(以下、隣接バーコード)があるか否かを判断する。
【0058】
ここで、隣接バーコードがない場合には、CPU21は、S210に移行する。一方、隣接バーコードがある場合には、CPU21は、S240にて、対象バーコードと隣接バーコードとの間に配置されている空白領域の中で、後述するS250~S280の処理が行われていない空白領域(以下、未処理の空白領域)があるか否かを判断する。
【0059】
ここで、未処理の空白領域がない場合には、CPU21は、S210に移行する。一方、未処理の空白領域がある場合には、CPU21は、S250にて、未処理の空白領域を1つ選択する。
【0060】
そしてCPU21は、S260にて、S250で選択した空白領域おけるバーコード配列方向BDに沿った一端側に配置されているバーコード(以下、第1判断対象バーコード)のバーコード内最小モジュール幅と、S250で選択した空白領域おけるバーコード配列方向BDに沿った他端側に配置されているバーコード(以下、第2判断対象バーコード)のバーコード内最小モジュール幅とを算出する。
【0061】
さらにCPU21は、S270にて、第1判断対象バーコードおよび第2判断対象バーコードのうち、バーコード内最小モジュール幅が小さい方のバーコードを特定する。以下、第1判断対象バーコードおよび第2判断対象バーコードのうち、バーコード内最小モジュール幅が小さい方のバーコードを小バーコード、バーコード内最小モジュール幅が大きい方のバーコードを大バーコードという。なお、CPU21は、バーコード内最小モジュール幅の大小に基づいて、クワイエットゾーンQZ1,QZ2の大小を判断している。
【0062】
そしてCPU21は、S280にて、小バーコードのバーコード配置領域(以下、小バーコード配置領域)に含まれる空白領域におけるバーコード配列方向BDに沿った長さが、大バーコードのバーコード配置領域(以下、大バーコード配置領域)に含まれる空白領域におけるバーコード配列方向BDに沿った長さよりも長くなるように、小バーコード配置領域および大バーコード配置領域を設定し、S240に移行する。
【0063】
具体的には、例えば
図6に示すように、小バーコードSBCの小バーコード配置領域SR1と大バーコードBBCの大バーコード配置領域BR1とが互いに、大バーコードBBCのクワイエットゾーンBQZにおける大バーコードBBCと接していない側の端で接するように、小バーコード配置領域SR1および大バーコード配置領域BR1が設定される。
【0064】
小バーコード配置領域SR1は小バーコードSBCのクワイエットゾーンSQZを含み、大バーコード配置領域BR1は大バーコードBBCのクワイエットゾーンBQZを含む。そして、小バーコード配置領域SR1に含まれる空白領域におけるバーコード配列方向BDに沿った長さSL1は、大バーコード配置領域BR1に含まれる空白領域におけるバーコード配列方向BDに沿った長さBL1より長い。
【0065】
(1-4)効果
このように構成されたプリンタ1は、印刷部15と制御部11とを備える。印刷部15は、印刷媒体に画像を印刷する。制御部11は、印刷部15を制御する。
【0066】
そして制御部11は、バーコード配列方向BDに沿って交互に配置された複数のバーと互いに隣接する2つのバーの間に配置された複数のスペースによって表されるバーコードを複数含む画像データに基づいて、対象バーコードと隣接バーコードとの大小を比較する。
【0067】
また制御部11は、小バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さが、大バーコード配置領域に含まれる対象空白領域におけるバーコード配列方向BDに沿った長さよりも長くなるように、小バーコード配置領域および大バーコード配置領域を設定する。
【0068】
このように構成されたプリンタ1は、縮小による品質劣化が大きい方のバーコード配置領域(すなわち、小バーコード配置領域)を可能な限り広くすることができる。これにより、プリンタ1は、縮小による品質劣化が大きい方のバーコード(すなわち、小バーコード)の縮小度合いを抑制することができ、縮小によるバーコードの品質低下を抑制することができる。
【0069】
以上説明した実施形態において、プリンタ1は画像処理装置に相当し、S260,S270は比較処理に相当し、S280は大小領域設定処理に相当し、バーコード配列方向BDは配列方向に相当する。
【0070】
[第2実施形態]
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
【0071】
(2-1)リサイズ処理
第2実施形態のプリンタ1は、リサイズ処理が変更された点が第1実施形態と異なる。
次に、第2実施形態のリサイズ処理の手順を説明する。
【0072】
第2実施形態のリサイズ処理は、
図7に示すように、S270,S280の処理が省略された点と、S410~S440の処理が追加された点とが第1実施形態と異なる。
すなわち、S260の処理が終了すると、CPU21は、S410にて、第1判断対象バーコードのバーコード内最小モジュール幅と、第2判断対象バーコードのバーコード内最小モジュール幅との比率(以下、最小モジュール幅比率)を算出する。なお、小バーコードSBCのバーコード内最小モジュール幅を1とし、大バーコードBBCのバーコード内最小モジュール幅をkとすると、最小モジュール幅比率はkである。
【0073】
そしてCPU21は、S420にて、最小モジュール幅比率による分割が可能であるか否かを判断する。具体的には、CPU21は、
図8に示すように、空白領域おけるバーコード配列方向BDに沿った長さ(以下、空白領域長L
BA)を(1+k)で除した値が、小バーコードSBCのクワイエットゾーンSQZの幅W
SQZ以上である場合に、最小モジュール幅比率による分割が可能であると判断する。なお、
図8は、k=2であるときのバーコード配置領域を示す。
【0074】
ここで、最小モジュール幅比率による分割が可能である場合には、CPU21は、
図7に示すように、S430にて、最小モジュール幅比率によって、バーコード配置領域を設定し、S240に移行する。具体的には、CPU21は、小バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さと、大バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さと比率が最小モジュール幅比率に一致するように小バーコード配置領域および大バーコード配置領域を設定する。
【0075】
例えば、
図8に示すように、CPU21は、小バーコード配置領域SR21に含まれる空白領域におけるバーコード配列方向BDに沿った長さがL
BA/(1+k)になり、大バーコード配置領域BR21に含まれる空白領域におけるバーコード配列方向BDに沿った長さがk×L
BA/(1+k)になるように、小バーコード配置領域SR21および大バーコード配置領域BR21を設定する。
【0076】
一方、最小モジュール幅比率による分割が可能でない場合には、CPU21は、
図7に示すように、S440にて、クワイエットゾーンの幅によって、バーコード配置領域を設定し、S240に移行する。具体的には、CPU21は、小バーコード配置領域が小バーコードSBCのクワイエットゾーンSQZを含み、且つ、大バーコード配置領域が大バーコードBBCのクワイエットゾーンBQZを含むように小バーコード配置領域および大バーコード配置領域を設定する。
【0077】
例えば
図9に示すように、小バーコード配置領域SR31が小バーコードSBCのクワイエットゾーンSQZを含み、大バーコード配置領域BR31が大バーコードBBCのクワイエットゾーンBQZを含む。そして、小バーコードSBCの小バーコード配置領域SR31と大バーコードBBCの大バーコード配置領域BR31とが互いに、小バーコードSBCのクワイエットゾーンSQZにおける小バーコードSBCと接していない側の端で接するように、小バーコード配置領域SR31および大バーコード配置領域BR31が設定される。
【0078】
なお、CPU21は、S440にて、
図9の小バーコード配置領域SR41および大バーコード配置領域BR41で示すように、小バーコードSBCのクワイエットゾーンSQZを含むようにして大バーコード配置領域BR41を設定してもよい。
【0079】
(2-2)効果
このように構成されたプリンタ1は、印刷部15と制御部11とを備える。
そして制御部11は、バーコードを複数含む画像データに基づいて、対象バーコードのバーコード内最小モジュール幅と隣接バーコードのバーコード内最小モジュール幅との比率(以下、最小モジュール幅比率)を算出する。
【0080】
また制御部11は、対象バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さと、隣接バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さとの比率が最小モジュール幅比率に一致するように対象バーコード配置領域および隣接バーコード配置領域を設定する。対象バーコード配置領域は、対象バーコードを配置するために対象バーコードと対象バーコードの周囲の空白領域とを含むように設定される領域である。隣接バーコード配置領域は、隣接バーコードを配置するために隣接バーコードと隣接バーコードの周囲の空白領域とを含むように設定される領域である。
【0081】
このようにプリンタ1は、互いに隣接するバーコードのそれぞれに対して、バーコードの大きさに応じたバーコード配置領域を設定する。
このため、プリンタ1は、小さい方のバーコードの縮小度合いが大きい方のバーコードの縮小度合いより大きくなってしまうという事態の発生を抑制することができる。これにより、プリンタ1は、小さい方のバーコードの縮小度合いが大きくなるのを抑制することができ、縮小によるバーコードの品質低下を抑制することができる。
【0082】
また制御部11は、対象バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さと、隣接バーコード配置領域に含まれる空白領域におけるバーコード配列方向BDに沿った長さとの比率が最小モジュール幅比率に一致するように対象バーコード配置領域および隣接バーコード配置領域を設定することが可能であるか否かを判断する。
【0083】
そして制御部11は、最小モジュール幅比率に一致するように対象バーコード配置領域および隣接バーコード配置領域を設定することが可能ではないと判断した場合に、対象バーコード配置領域が対象バーコードのクワイエットゾーンを含み、且つ、隣接バーコード配置領域が隣接バーコードのクワイエットゾーンを含むように対象バーコード配置領域および隣接バーコード配置領域を設定する。
【0084】
これにより、プリンタ1は、最小モジュール幅比率に応じてバーコード配置領域を設定することができない場合であっても、バーコード配置領域を設定することができる。
以上説明した実施形態において、S410は比率算出処理に相当し、S430は比率領域設定処理に相当し、最小モジュール幅比率はバーコード比率に相当する。
【0085】
また、S420は可能判断処理に相当し、S440は不可能時領域設定処理に相当する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
【0086】
[変形例1]
例えば上記実施形態では、小バーコード配置領域SR1と大バーコード配置領域BR1とが互いにクワイエットゾーンBQZの端で接するように小バーコード配置領域SR1および大バーコード配置領域BR1が設定される形態を示した。しかし、CPU21が、S280にて、
図6の小バーコード配置領域SR11および大バーコード配置領域BR11で示すように、小バーコードSBCのクワイエットゾーンSQZの幅W
SQZ以下の長さでバーコード配列方向BDに沿って大バーコード配置領域BR11と重複するようにして小バーコード配置領域SR11を設定してもよい。これにより、プリンタ1は、縮小による品質劣化が大きい方のバーコード配置領域を更に広くすることができ、縮小によるバーコードの品質低下を更に抑制することができる。
【0087】
[変形例2]
上記第1実施形態では、バーコード内最小モジュール幅に基づいて対象バーコードと隣接バーコードとの大小を比較する形態を示した。しかし、バーコード内最小モジュール幅を用いずにバーコードの大小を比較してもよい。例えば、バーコードのバーコード配列方向BDに沿った長さに基づいてバーコードの大小を比較してもよい。
[変形例3]
上記実施形態では、Code128で規定された仕様で作成されるバーコードを用いたが、他のバーコード規格で規定された仕様で作成されるバーコードであってもよい。他のバーコード規格としては、例えば、GS1-128、ITF、CODE39、CODABAR(NW-7)、CODE93、UPC、JAN、EAN等が挙げられる。
【0088】
上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
【0089】
上述したプリンタ1の他、当該プリンタ1を構成要素とするシステム、当該プリンタ1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、画像処理方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0090】
1…プリンタ、11…制御部、15…印刷部