(57)【要約】【課題】縮小すべき縮小率が異なる画像が複数含まれる縮小画像データを出力する場合であっても、画像全体を適切な縮小率で縮小した縮小画像データを出力できる、画像処理装置および画像処理プログラムを提供する。【解決手段】第１バーコードの第１縮小率および第２バーコードの第１縮小率が個別に決定され（Ｓ１３）、その第１縮小率のうち最も低い第１縮小率がラベル画像の第２縮小率に決定される（Ｓ１６）。そして、第１バーコードを第１縮小率で縮小した第１縮小バーコード、第２バーコードを第１縮小率で縮小した第２縮小バーコードおよびラベル画像を第２縮小率で縮小した縮小ラベル画像を含む縮小画像データが生成されて出力される（Ｓ１９，Ｓ２０）。【選択図】図２
2019180046.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１画像と前記第１画像以外の画像を表す第２画像とを含む画像データを出力部により出力するための出力サイズに基づき仮縮小率を決定する第１決定部と、
前記複数の第１画像に対する第１縮小率であって、前記第１決定部により決定された前記仮縮小率以上の縮小率となる前記第１縮小率を個別に決定する第２決定部と、
前記第２決定部により決定した第１縮小率のうち最も低い第１縮小率を前記第２画像の第２縮小率に決定する第３決定部と、
前記第２決定部により前記第１画像ごとに決定された前記第１縮小率で縮小した複数の第１縮小画像と、前記第３決定部により決定した前記第２縮小率で前記第２画像を縮小した第２縮小画像とが配置された縮小画像データを生成する生成部と、
前記生成部で生成した前記縮小画像データを出力する前記出力部と、を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記出力部は、画像を媒体に印刷する印刷装置に前記縮小画像データを出力し、
前記仮縮小率は、前記縮小画像データに係る画像が前記媒体に収まる前記出力サイズの縮小率に決定される、画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
前記第１縮小率による縮小方法は、補間計算を伴わない方法であり、
前記第２縮小率による縮小方法は、補間計算を伴う方法である 、画像処理装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理装置であって、
前記第１画像は、１次元バーコードを含み、
前記生成部は、前記１次元バーコードを構成する複数のバーのうち一番細いバーの線幅方向のドット数を特定し、その特定したドット数分の１の整数倍となる縮小率のうち前記仮縮小率以上の縮小率でドット数が最大となる縮小率を前記第１縮小率に決定する、画像処理装置。
【請求項５】
請求項１〜４のいずれか一項に記載の画像処理装置であって、
前記第１画像は、２次元コードを含み、
前記生成部は、前記２次元コードを構成する最小モジュールの水平または垂直方向のドット数を特定し、その特定したドット数分の１の整数倍となる縮小率のうち前記仮縮小率以上の縮小率でドット数が最大となる縮小率を前記第１縮小率に決定する、画像処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の画像処理装置であって、
前記生成部は、前記第２画像と前記第１画像との配置関係にしたがって、前記第２縮小率に基づいて縮小した第２縮小画像に前記第１縮小画像が配置された前記縮小画像データを生成する、画像処理装置。
【請求項７】
複数の第１画像と前記第１画像以外の画像を表す第２画像とを含む画像データを出力処理で出力するための出力サイズに基づき仮縮小率を決定する第１決定処理と、
前記複数の第１画像に対する第１縮小率であって、前記第１決定処理で決定された前記仮縮小率以上の縮小率となる前記第１縮小率を個別に決定する第２決定処理と、
前記第２決定処理で決定した第１縮小率のうち最も低い第１縮小率を前記第２画像の第２縮小率に決定する第３決定処理と、
前記第２決定処理で前記第１画像ごとに決定された前記第１縮小率で縮小した複数の第１縮小画像と、前記第３決定処理で決定した前記第２縮小率で前記第２画像を縮小した第２縮小画像とが配置された縮小画像データを生成する生成処理と、
前記生成処理で生成した前記縮小画像データを出力する前記出力処理と、をコンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラベルプリンタなどの印刷装置で出力される画像を処理する画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
たとえば、ラベルプリンタなどの印刷装置において、バーコードを含む画像が元画像のサイズから縮小されて印刷されることがある。このとき、縮小率によっては、印刷物に含まれるバーコードがバーコード規格を逸脱してしまい、そのバーコードを読み取れないといったことが生じる。
【０００３】
そこで、特許文献１では、バーコードを縮小して印刷する場合に、バーコードの種類に対応する規格内容に合致するように、バーコードの縮小率を決定することが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３１００５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、その提案に係る技術では、縮小率の異なる複数のバーコードを含む画像全体の縮小率については、何らの考慮もなされていない。
【０００６】
本発明の目的は、縮小すべき縮小率が異なる画像が複数含まれる縮小画像データを出力する場合であっても、画像全体を適切な縮小率で縮小した縮小画像データを出力できる、画像処理装置および画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００７】
前記の目的を達成するため、本発明の一の局面に係る画像処理装置は、複数の第１画像と第１画像以外の画像を表す第２画像とを含む画像データを出力部により出力するための出力サイズに基づき仮縮小率を決定する第１決定部と、複数の第１画像に対する第１縮小率であって、第１決定部により決定された仮縮小率以上の縮小率となる第１縮小率を個別に決定する第２決定部と、第２決定部により決定した第１縮小率のうち最も低い第１縮小率を第２画像の第２縮小率に決定する第３決定部と、第２決定部により第１画像ごとに決定された第１縮小率で縮小した複数の第１縮小画像と、第３決定部により決定した第２縮小率で第２画像を縮小した第２縮小画像とが配置された縮小画像データを生成する生成部と、生成部で生成した縮小画像データを出力する出力部と、を備える。
【０００８】
この構成によれば、複数の第１画像の第１縮小率が個別に決定され、その第１縮小率のうち最も低い第１縮小率が第２縮小率に決定される。これにより、縮小すべき縮小率が異なる画像が複数含まれる縮小画像データを出力する場合であっても、画像全体を適切な縮小率で縮小した縮小画像データを出力できる。
【０００９】
なお、本発明は、画像処理装置の形態で実現することができるだけでなく、たとえば、画像処理プログラムの形態で実現することもできる。
【発明の効果】
【００１０】
本発明によれば、縮小すべき縮小率が異なる画像が複数含まれる縮小画像データを出力する場合であっても、画像全体を適切な縮小率で縮小した縮小画像データを出力することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るプリンタの電気的構成を示すブロック図である。
【図２】シッピングラベル縮小処理（１）の流れを示すフローチャートである。
【図３】シッピングラベルの元画像ならびにラベル画像、第１バーコードおよび第２バーコードが分離された状態を示す図である。
【図４】ラベル画像が仮縮小率で縮小された状態を示す図である。
【図５】第１バーコードおよび第１バーコードを第１縮小率で縮小した第１縮小バーコードならびに第２バーコードおよび第２バーコードを第１縮小率で縮小した第２縮小バーコードを示す図である。
【図６】ラベル画像およびラベル画像を第２縮小率で縮小した縮小ラベル画像を示す図である。
【図７】縮小ラベル画像に第１縮小バーコードおよび第２縮小バーコードが配置される様子を示す図である。
【図８】シッピングラベル縮小処理（２）の流れを示すフローチャートである。
【図９】シッピングラベルの元画像およびシッピングラベル縮小処理（２）により得られる縮小画像を示す図である。
【図１０】シッピングラベル縮小処理（１）の変形例を説明するための図である。
【図１１】シッピングラベルに二次元コードが含まれる場合のシッピングラベル縮小処理（２）について説明するための図である。
【発明を実施するための形態】
【００１２】
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
【００１３】
＜電気的構成＞
図１に示されるプリンタ１は、ラベルに画像を印刷するラベルプリンタである。プリンタ１は、印刷部１１、操作表示部１２、ＡＳＩＣ（Application Specific Integrated Circuit）１３、ＲＯＭ１４、ＲＡＭ１５および通信部１６を備えている。印刷部１１、操作表示部１２、ＡＳＩＣ１３、ＲＯＭ１４、ＲＡＭ１５および通信部１６は、バス１７を介して、データ通信可能に接続されている。
【００１４】
印刷部１１（出力部の一例）は、プリンタ１の外殻をなす筐体内に設けられている。印刷部１１は、搬送経路上を搬送されるラベルに画像、たとえば、モノクロ画像またはカラー画像を形成する機構である。ラベルは、所定幅（例えば、４インチ）を持つ長尺上のロール紙で構成され、図示しないカッターによりカットすることで、所定幅で所定長のラベルとして印刷物が形成される。画像形成の方式は、感熱方式であってもよいし、熱転写方式であってもよい。
【００１５】
操作表示部１２は、たとえば、筐体の上面に設けられている。操作表示部１２には、操作部２１および表示部２２が備えられている。操作部２１は、たとえば、各種の操作キーを備えている。ユーザが操作キーを操作することにより、各種の設定や指示が操作部２１に受け付けられる。操作部２１に設定や指示が受け付けられると、その設定や指示の内容に応じた信号（データ）が操作表示部１２からＡＳＩＣ１３に向けて送信される。表示部２２は、たとえば、液晶ディスプレイからなる。
【００１６】
なお、操作部２１および表示部２２は、タッチパネルを構成していてもよい。タッチパネルを構成する表示部２２には、各種の情報や操作キーなどの画像が表示される。ユーザが表示部２２に表示される操作キーを押操作（タッチ操作）することにより、その操作が操作部２１に受け付けられて、その操作の内容に応じた信号（データ）が操作表示部１２から出力される。以下では、操作部２１および表示部２２がタッチパネルを構成する場合を取り上げる。
【００１７】
ＡＳＩＣ１３（第１決定部、第２決定部、第３決定部、生成部の一例）は、ＣＰＵ（Central Processing Unit）２３を備えている。
【００１８】
ＲＯＭ１４およびＲＡＭ１５は、データの書き換えが可能な不揮発性メモリである。
【００１９】
通信部１６は、ＰＣ（パーソナルコンピュータ）などの外部機器との間でのコンピュータネットワークを経由した通信のためのネットワークインタフェースのほか、ＵＳＢ（Universal Serial Bus）メモリなどの外部機器が接続されて、その外部機器との通信のためのＵＳＢインタフェースなどの各種の通信インタフェースを備えている。
【００２０】
＜シッピングラベル縮小処理１＞
ＡＳＩＣ１３のＣＰＵ２３は、シッピングラベルの元画像３１を縮小してラベルに印刷するため、図２に示されるシッピングラベル縮小処理を実行する。たとえば、シッピングラベルは所定サイズ（例えば、Ａ４サイズ）に所定事項が記入されたシートで、販売代行業者のシステムにより生成され、販売業者がＷｅｂサイトなどからダウンロードすることで入手できる。販売業者は、これをプリンタ１により印刷することでシッピングラベルを生成し、対象となる荷物に貼り付けて配送業者に荷物を引き渡す。本実施例におけるプリンタ１は、ラベルの幅が固定されているため、ラベルの幅サイズに収まるよう元画像３１を縮小する必要がある。以下、図３の左端に示される元画像３１を一例として取り上げて、その元画像３１を縮小してラベルに印刷する際に実行されるシッピングラベル縮小処理について説明する。元画像３１には、荷物の配送先などの情報が記載されたラベル画像３２（第２画像の一例）と、ラベル画像３２の第１バーコード配置領域３３に配置された第１バーコード３４（第１画像の一例）と、ラベル画像３２の第２バーコード配置領域３５に配置された第２バーコード３６（第１画像の一例）とが含まれる。第１バーコード配置領域３３は、元画像３１の縦方向の略中央に設けられ、第２バーコード配置領域３５は、元画像３１の縦方向の下寄りの位置に設けられている。第１バーコード３４および第２バーコード３６は、１次元バーコードである。
【００２１】
シッピングラベル縮小処理では、ＣＰＵ２３は、まず、元画像からバーコードとラベル画像とを分離する。すなわち、ＣＰＵ２３は、第１バーコード３４および第２バーコード３６とラベル画像３２とを分離する（Ｓ１１）。具体的には、公知のバーコード認識処理を行い、元画像の中から画素値に所定の特徴を示す領域をバーコード領域としてそれぞれ特定する。特定されたバーコード領域に含まれる画像を第１バーコード３４、第２バーコード３６として扱う。一方、第１バーコード３４、第２バーコード３６として分離された残りの画像をラベル画像３２として扱う。
【００２２】
次に、ＣＰＵ２３は、ラベル画像３２の横方向の幅と、媒体の一例であるラベルの幅サイズとから、図４に示されるように、ラベル画像３２の縮小後の画像がラベルに収まるサイズとなるラベル画像３２の縮小率であって最も低い縮小率を仮縮小率Ｓｍ％に決定する（Ｓ１２）。最も低い縮小率とは、縮小度合いが最も小さいことを意味する。なお、本実施形態では、ラベル画像３２の横方向の幅がラベルの幅サイズに収まる仮縮小率を決定しているが、これはラベル画像３２の向きと印刷方向とが一致している場合（すなわち印刷方向が図３の矢印方向である場合）であり、印刷方向が画像の向きに対して垂直方向（図３の矢印と垂直方向）である場合には、ラベル画像３２の縦方向の幅がラベルの幅サイズに収まる仮縮小率を決定する。
【００２３】
次に、ＣＰＵ２３は、第１バーコード３４を構成する複数のバーのうちで最も細い細バーの線幅方向に連続する画素値から、細バーの線幅方向のドット数を特定する。そして、その特定したドット数分の１の整数倍となる縮小率のうち仮縮小率Ｓｍ％以上の縮小率でドット数が最大となる第１縮小率を決定する（Ｓ１３）。たとえば、細バーの線幅方向のドット数が３ドットの場合、第１縮小率の候補として、細バーの線幅方向のドット数が２ドットである（１／３）×２≒６６．６％と、１ドットである（１／３）×１≒３３．３％が挙げられる。ここで、仮縮小率Ｓｍ＝８５％である場合、第１縮小率は、８５％以上でドット数が最大となる細バーの線幅方向のドット数が２ドットの（１／３）×２≒６６．６％に決定される。その後、ＣＰＵ２３は、補間計算されない縮小法であるニアレストネイバー法により、図５に示されるように、第１バーコード３４を第１縮小率、たとえば、６６．６％で縮小する（Ｓ１４）。
【００２４】
次いで、ＣＰＵ２３は、すべてのバーコードに対する縮小処理を完了したか否かを判別する（Ｓ１５）。このとき、図３の例では、第１バーコード３４に対する縮小処理は完了したが、第２バーコード３６に対する縮小処理が完了していないので、ＣＰＵ２３は、すべてのバーコードに対する縮小処理が完了していないと判別する（Ｓ１５：ＮＯ）。
【００２５】
そして、第２バーコード３６を構成する複数のバーのうちで最も細い細バーの線幅方向のドット数を特定する。そして、その特定したドット数分の１の整数倍となる縮小率のうち仮縮小率Ｓｍ％以上の縮小率でドット数が最大となる第１縮小率を決定する（Ｓ１３）。たとえば、細バーの線幅方向のドット数が５ドットであり、仮縮小率Ｓｍ＝８５％である場合、第１縮小率は（１／５）×４＝８０．０％に決定される。
【００２６】
その後、ＣＰＵ２３は、補間計算されない縮小法であるニアレストネイバー法により、図５に示されるように、第２バーコード３６を第１縮小率、たとえば、８０．０％で縮小する（Ｓ１４）。
【００２７】
こうして、すべてのバーコードに対する縮小処理が完了すると（Ｓ１５：ＹＥＳ）、ＣＰＵ２３は、すべてのバーコードの第１縮小率のうち最も低い第１縮小率をラベル画像３２の縮小率である第２縮小率に決定する（Ｓ１６）。すなわち、第１バーコード３４の第１縮小率が６６．６％であり、第２バーコード３６の第１縮小率が８０．０％であるから、ＣＰＵ２３は、第２バーコード３６の第１縮小率である８０．０％を第２縮小率に決定する。その後、ＣＰＵ２３は、補間計算される縮小法であるバイリニア法により、図６に示されるように、ラベル画像３２を第２縮小率で縮小する（Ｓ１７）。
【００２８】
ラベル画像３２の縮小後、ＣＰＵ２３は、元画像３１におけるラベル画像３２と第１バーコード３４および第２バーコード３６との配置関係にしたがって、図７に示されるように、ラベル画像３２を第２縮小率で縮小した縮小ラベル画像４１（第２縮小画像の一例）における第１バーコード３４を第１縮小率で縮小した第１縮小バーコード４２（第１縮小画像の一例）の配置可能領域４３と、第２バーコード３６を第１縮小率で縮小した第２縮小バーコード４４（第１縮小画像の一例）の配置可能領域４５とを特定する（Ｓ１８）。たとえば、元画像３１におけるラベル画像３２に配置された第１バーコード３４の座標位置および第２縮小率から、縮小ラベル画像４１における第１縮小バーコード４２の座標位置を特定する。また、元画像３１におけるラベル画像３２に配置された第２バーコード３６の座標位置および第２縮小率から、縮小ラベル画像４１における第２縮小バーコード４４の座標位置を特定する。
【００２９】
そして、ＣＰＵ２３は、縮小ラベル画像４１の配置可能領域４３，４５の特定された座標位置に、それぞれ第１縮小バーコード４２および第２縮小バーコード４４が配置された縮小画像データを生成する（Ｓ１９）。その後、ＣＰＵ２３は、印刷部１１を制御して、縮小画像データに係る画像をラベルに印刷させ（Ｓ２０）、シッピングラベル縮小処理を終了する。
【００３０】
＜作用効果＞
以上のように、プリンタ１で印刷可能な媒体サイズの制限により、元画像３１を縮小する必要がある場合であっても、適切な縮小率で画像全体を縮小した縮小画像データを印刷することができる。ＣＰＵ２３は、第１バーコード３４および第２バーコード３６のそれぞれについて、細バーを構成するドット数を基準に、縮小後の第１縮小バーコード４２および第２縮小バーコード４４も整数ドットで構成されるよう、第１バーコード３４の第１縮小率および第２バーコード３６の第１縮小率を個別に決定する。これにより、第１バーコード３４および第２縮小バーコード３６を含む元画像３１の全体を縮小して印刷する場合であっても、部分画像である第１バーコード３４および第２縮小バーコード３６のそれぞれをそれらに含まれる情報を読み取り可能な状態で適切に縮小して印刷することができる。また、第１バーコード３４と第２バーコード３６は補間計算を伴わないニアレストネイバー法にて縮小を行うことで、それらに含まれる情報を読み取り可能な状態で適切に縮小して印刷することができる。一方で、ラベル画像３２については、補間方法を伴うバイリニア法にて縮小することで、画質の劣化を防ぐことができる。バーコードごとに個別に決定された第１縮小率のうち、最も低い第１縮小率がラベル画像３２の第２縮小率に決定される。これにより、第１バーコード３４を第１縮小率で縮小した第１縮小バーコード４２、第２バーコード３６を第１縮小率で縮小した第２縮小バーコード４４およびラベル画像３２を第２縮小率で縮小した縮小ラベル画像４１を含む場合であっても、シッピングラベルの元画像３１の全体を適切な縮小率で縮小した縮小画像データを出力することができる。
【００３１】
また、第２縮小率が最も低い第１縮小率に合わされるので、第１縮小率と第２縮小率とを無関係に決定した場合と比較して、シッピングラベルの縮小後の画像全体としてのバランスを元画像３１のバランスに近づけることができる。
【００３２】
第１縮小率の決定前に、ラベル画像３２の縮小後の画像がラベルに収まるサイズとなるラベル画像３２の縮小率であって最も低い縮小率が仮縮小率Ｓｍ％に決定され、第１縮小率が仮縮小率Ｓｍ％以上の縮小度合いとなる縮小率に決定される。そのため、第１バーコード３４を第１縮小率で縮小した第１縮小バーコード４２および第２バーコード３６を第１縮小率で縮小した第２縮小バーコード４４を、ラベル画像３２を第２縮小率で縮小した縮小ラベル画像４１内に、適切に配置することができる。なお、仮縮小率Ｓｍ％は、ラベル画像３２ではなく元画像３１から求めてもよい。元画像３１のラベル画像３２における第１バーコード３４、第２バーコード３６の各座標位置と第２縮小率とから、縮小ラベル画像４１における第１縮小バーコード４２、第２縮小バーコード４４の配置位置を決定するため、シッピングラベルの縮小後の画像全体としてのバランスを元画像３１のバランスに近づけることができる。
【００３３】
＜シッピングラベル縮小処理２＞
ＡＳＩＣ１３のＣＰＵ２３は、シッピングラベルの元画像３１を縮小してラベルに印刷するため、図２に示されるシッピングラベル縮小処理に代えて、図８に示されるシッピングラベル縮小処理を実行してもよい。
【００３４】
図８に示されるシッピングラベル縮小処理では、図２のステップＳ１１と同様に、ＣＰＵ２３は、バーコードとラベル画像とを分離する。すなわち、ＣＰＵ２３は、まず、第１バーコード３４および第２バーコード３６とラベル画像３２とを分離する（Ｓ３１）。
【００３５】
次に、ＣＰＵ２３は、ラベル画像３２の横方向の幅と媒体の一例であるラベルの幅サイズとから、ラベル画像３２の縮小後の画像がラベルに収まるサイズとなるラベル画像３２の縮小率であって最も低い縮小率を第２縮小率に決定する（Ｓ３２）。この第２縮小率の決定処理は、図２のステップＳ１２で決定する仮縮小率の決定処理と同様の処理である。そして、図８のシッピングラベル縮小処理では、第１縮小率を決定する前に、決定した第２縮小率によりラベル画像３２を縮小する。すなわち、ステップＳ３２で第２縮小率を決定すると、ＣＰＵ２３は、補間計算される縮小法であるバイリニア法により、ラベル画像３２を第２縮小率で縮小する（Ｓ３３）。この縮小処理は、図２のステップＳ１７と同様の処理である。
【００３６】
ラベル画像３２の縮小後、ＣＰＵ２３は、元画像３１に第１バーコード３４が配置されていた領域に対応する領域を縮小ラベル画像４１から特定し、その領域を含む余白領域（白色座標が矩形状に連続する最大領域）の座標位置を特定する。縮小ラベル画像４１における第１縮小バーコードの配置可能領域４３、第２縮小バーコードの配置可能領域４５は、それぞれ白座標が所定範囲連続する余白領域となる。図９の例では、元画像３１における第１バーコード３４の配置領域は、ｘ座標が元画像３１の全体を囲む枠線の内部となるｘ１であり、ｙ座標が文字列「ＡＡＡ  １２３  ４−５６」の次のラインとなるｙ１である座標（ｘ１，ｙ１）と、ｘ座標が元画像３１の全体を囲む枠線の内部となるｘ２であり、ｙ座標が第１バーコードの下にある罫線より手前のラインとなるｙ２である座標（ｘ２，ｙ２）とを頂点にもつ矩形領域である。そして、第２縮小率で縮小した後の第１縮小バーコード４２の配置可能領域４３は、ラベル画像３２を第１縮小率で縮小した後の座標（ｘ１，ｙ１）と座標（ｘ２，ｙ２）とを頂点にもつ矩形領域に対応する領域、すなわち（ｘ１´，ｙ１´）と座標（ｘ２´，ｙ２´）とを頂点にもつ矩形領域となる。なお、本実施形態では、縮小ラベル画像４１を生成し、生成した縮小ラベル画像４１の連続する白座標領域を探索することで、配置可能領域を特定しているが、これに限らず、元画像３１におけるラベル画像３２と第１バーコード３４との配置関係および第２縮小率にしたがって、ラベル画像３２を第２縮小率で縮小した縮小ラベル画像４１における第１バーコード３４を第１縮小率で縮小した第１縮小バーコード４２の配置可能領域４３を特定してもよい。この場合、図２に示すシッピングラベル縮小処理と同様、ステップＳ３２では仮縮小率としてラベル画像３２の縮小率を決定し、後述するステップＳ４１のあと、すなわちステップＳ４２の前に、ステップＳ３３の処理を実行してもよい。
【００３７】
そして、第１バーコード３４の縮小後の横幅が配置可能領域４３の横幅に収まる最大となるよう、第１バーコード３４の第１縮小率が決定される（Ｓ３５）。具体的には、第１バーコード３２の横幅は、左端のバー（スタートコード）から右端のバー（ストップコード）までの複数のバーで表されるバーコードシンボルと、バーコードシンボルの左右端に必要な余白幅（クワイエットゾーン）とを含む長さにより求められる。ここで、クワイエットゾーンとして必要な幅は、バーコードの規格で予め決められており、例えば、Ｃｏｄｅ１２８では、左右夫々に対し、バーコードに含まれる最も細いバーの線幅の１０倍以上の余白幅を必要とする。第１バーコード３４に含まれる最も細いバーの線幅方向のドット数の整数分の１の整数倍したバーコードの横幅が（ｘ２´−ｘ１´）に収まる縮小率でドット数が最大となる縮小率を第１縮小率として決定する。ここで、第１縮小率は、１００％であってもよい。すなわち、第１バーコード３２の細バーの線幅方向のドット数が３ドットの場合、第１縮小率の候補は、１００％、６６．６％、３３．３％となり、それぞれの第１縮小率の候補により縮小したバーコードの横幅が、（ｘ２´−ｘ１´）に収まるかを判断する。そして、（ｘ２´−ｘ１´）に収まると判断した第１縮小率のうち、縮小率が最も低い第１縮小率（すなわち、ドット数が最大となる縮小率）を第１バーコード３２の第１縮小率として決定する。その後、ＣＰＵ２３は、図２のステップＳ１４と同様の方法である補間計算されない縮小法であるニアレストネイバー法により、第１バーコード３４を第１縮小率で縮小する（Ｓ３６）。
【００３８】
また、ＣＰＵ２３は、第１縮小バーコード４２のバーの長さＬと配置可能領域４３の高さＨとを比較して、長さＬが高さＨよりも小さいか否かを判別する（Ｓ３７）。すなわち、第１縮小バーコード４２が、配置可能領域４３の高さ方向の長さ（ｘ２´−ｘ１´）内に収まるかを判断する。第１縮小バーコード４２のバーの長さＬが配置可能領域４３の高さＨ以上である場合（Ｓ３７：ＮＯ）、ＣＰＵ２３は、第１縮小バーコード４２のバーの長さＬが配置可能領域４３の高さＨに収まるよう、第１縮小バーコード４２の上端または下端をカットする（Ｓ３８）。第１縮小バーコード４２のバーの長さＬが配置可能領域４３の高さＨよりも小さい場合（Ｓ３７：ＹＥＳ）、ＣＰＵ２３は、第１縮小バーコード４２をカットしない。図９の例では、第１縮小率が１００％、すなわち等倍の第１縮小バーコード４２の横幅が、（ｘ２´−ｘ１´）に収まると判断した場合を示している。また、第１縮小バーコード４２は、配置可能領域４３の高さＨに収まると判断されるため、第１縮小バーコード４２をカットしない。つまり、第１縮小バーコード４２は、第１バーコード３２と同じである。
【００３９】
その後、ＣＰＵ２３は、すべてのバーコードに対する縮小処理を完了したか否かを判別する（Ｓ３９）。このとき、図９の例では、第１バーコード３４に対する縮小処理は完了したが、第２バーコード３６に対する縮小処理が完了していないので、ＣＰＵ２３は、すべてのバーコードに対する縮小処理が完了していないと判別する（Ｓ３９：ＮＯ）。
【００４０】
そして、ＣＰＵ２３は、元画像３１におけるラベル画像３２と第２バーコード３６との配置関係にしたがって、縮小ラベル画像４１における第２バーコード３６を第１縮小率で縮小した第２縮小バーコード４４の配置可能領域４５を特定する（Ｓ３４）。
【００４１】
そして、第２バーコード３６の縮小後の横幅が配置可能領域４５の横幅に収まる最大となるよう、第２バーコード３６の第１縮小率が決定される（Ｓ３５）。第１縮小率は、１００％であってもよい。その後、ＣＰＵ２３は、補間計算されない縮小法であるニアレストネイバー法により、第２バーコード３６を第１縮小率で縮小する（Ｓ３６）。また、ＣＰＵ２３は、第２縮小バーコード４４のバーの長さＬと配置可能領域４３の高さＨとを比較して、長さＬが高さＨよりも小さいか否かを判別する（Ｓ３７）。第２縮小バーコード４４のバーの長さＬが配置可能領域４５の高さＨ以上である場合（Ｓ３７：ＮＯ）、ＣＰＵ２３は、第２縮小バーコード４４のバーの長さＬが配置可能領域４５の高さＨに収まるよう、第２縮小バーコード４４の上端または下端をカットする（Ｓ３８）。第２縮小バーコード４４の上側または下側に文字列が含まれる場合、ＣＰＵ２３は、その文字列がない側の端をカットする。第２縮小バーコード４４のバーの長さＬが配置可能領域４５の高さＨよりも小さい場合（Ｓ３７：ＹＥＳ）、ＣＰＵ２３は、第２縮小バーコード４４をカットしない。図９に示されるように、第２バーコード３６の第１縮小率は１００％に決定されるため、第２バーコード３６と第２縮小バーコード４４との横幅は同じである。一方、第２縮小バーコード４４のバーの長さＬは配置可能領域４５の高さＨ以上であるため、配置可能領域４５の高さＨに収まるよう、第２縮小バーコード４４の上端または下端はカットされている。すなわち、第２縮小バーコード４４は、第２バーコード４４の高さ方向の長さが短くなったバーコードであると言い換えることができる。
【００４２】
こうして、すべてのバーコードに対する縮小処理が完了すると（Ｓ３９：ＹＥＳ）、ＣＰＵ２３は、縮小ラベル画像４１の第２縮小率と、各縮小バーコード４２、４４の第１縮小率とを比較する（Ｓ４０）。複数の第１縮小率のうち最も低い縮小率である第１縮小率が第２縮小率より大きい場合、すなわちすべての第１縮小率により縮小される画像サイズが第２縮小率で縮小される画像サイズより小さい場合、ステップＳ４１へ移行し、第２縮小率を最も低い縮小率である第１縮小率の値に変更する。そして、ＣＰＵ２３は、ラベル画像３２を変更後の第２縮小率でバイリニア法により縮小した縮小ラベル画像４１を再生成する。そして、縮小ラベル画像４１の配置可能領域４３，４５にそれぞれ第１縮小バーコード４２および第２縮小バーコード４４が配置された縮小画像データを生成する（Ｓ４２）。その後、ＣＰＵ２３は、印刷部１１を制御して、縮小画像データに係る画像をラベルに印刷させ（Ｓ４３）、シッピングラベル縮小処理を終了する。
【００４３】
＜作用効果＞
以上のように、縮小画像データに係る画像では、縮小ラベル画像４１の配置可能領域４３，４５にそれぞれ第１縮小バーコード４２および第２縮小バーコード４４が配置される。縮小ラベル画像４１は、コード画像以外のラベル画像３２を第２縮小率で縮小した画像である。第２縮小バーコード４４は、第２バーコード３６を第１縮小率で縮小し、その縮小画像におけるバーの長さ方向の長さを配置可能領域４５に収まる長さとした画像である。そのため、第２縮小バーコード４４がコード画像以外の画像に重なることが抑制される。
【００４４】
バーコードは、細・太のバーとスペースの組みあわせにより構成されているため、バーコードの読取精度を保つためには、バーコードの長さ方向よりバーコードの横幅方向の画像を元画像に近い状態で維持することが好ましい。第１バーコード３４の第１縮小率は、第１縮小バーコード４２におけるバーの配列方向の幅に基づいて、当該幅が配置可能領域４３における配列方向の幅に収まる最大限に決定される。第２バーコード３６の第１縮小率は、第２縮小バーコード４４におけるバーの配列方向の幅に基づいて、当該幅が配置可能領域４５における配列方向の幅に収まる最大限に決定される。これにより、縮小画像データに係る画像において、第１縮小バーコード４２および第２縮小バーコード４４のサイズを可及的大きなサイズに維持することができる。
【００４５】
よって、第１縮小バーコード４２および第２縮小バーコード４４がラベル画像３２と重ならずに、第１縮小バーコード４２および第２縮小バーコード４４のサイズが可及的大きなサイズに維持される縮小画像データを出力することができる。
【００４６】
第２縮小率は、縮小画像データに係る画像が媒体であるラベルに収まる縮小率に設定される。よって、縮小ラベル画像４１の全体をラベルに印刷することができる。また、第２縮小率が第１縮小率より大きい場合には、第２縮小率を最も低い第１縮小率と同じ縮小率に変更される。これにより、第１縮小率と第２縮小率とを無関係に決定した場合と比較して、シッピングラベルの縮小後の画像全体としてのバランスを元画像３１のバランスに近づけることができる。なお、別の実施例では、第２縮小率はステップＳ３２により決定した値により縮小してもよい。すなわち、ステップＳ４０の判断処理やステップＳ４１の縮小ラベル画像４１の再生成処理を行わなくてもよい。
【００４７】
＜変形例＞
以上、本発明の一実施形態について説明したが、本発明は、他の形態で実施することもできる。
【００４８】
上記実施形態では、バーコードとして一次元コードを例に説明した。バーコード認識処理において二次元コード（二次元バーコード）が特定された場合には、図１０に示すように、二次元コードを第１縮小率で縮小してもよい。すなわち、シッピングラベル縮小処理（１）の例では、図２のステップＳ１２の処理のあと、バーコードとして特定されたバーコードのうち、縮小処理の対象となるバーコードの種類を特定する（Ｓ２１）。ステップＳ２１にて一次元コードであることが特定される場合、ステップＳ１３に移行し、図２と同様の処理を実行する。Ｓ２１にて二次元コードであることが特定される場合、図１０で示されるステップＳ１３´の処理を実行する。すなわち、二次元コード５２における縦方向または横方向のうちの所定方向でドット数が最小である最小モジュールが特定されて、その最小モジュールの所定方向のドット数分の１の整数倍となる縮小率のうち仮縮小率Ｓｍ％以上の縮小率でドット数が最大となる縮小率が第１縮小率に決定される。特定されたバーコードが一次元コードであるか二次元コードであるかに関わらず、それぞれのバーコードを決定した第１縮小率で縮小する。そして、特定されたバーコードが一次元コードであるか二次元コードであるかに関わらず、決定した第１縮小率のうち最も低い第１縮小率をラベル画像の第２縮小率として決定する。
【００４９】
また、図８に示されるシッピングラベル縮小処理の例では、ステップＳ３５の前にバーコードの種類が一次元コードであるか二次元コードであるかを特定し、一次元コードであればステップＳ３５を実行し、二次元コードであれば、平行方向の余白幅と垂直方向の余白幅のうち、短い余白幅に収まる画像サイズを第１縮小率として決定してもよい。特定されたバーコードが二次元コードである場合について、図１１の例を用いて説明する。
【００５０】
図１１（ａ）は、シッピングラベルの元画像５１に二次元コード（二次元バーコード）５２が含まれる例を表している。図１１（ｂ）は、第２縮小率で縮小した縮小ラベル画像５３の例である。図１１（ｂ）の点線で囲まれた矩形領域が、縮小バーコードの配置可能領域５４である。二次元コードの例として、縦横比が同じであるコード画像を例に示している。この場合、配置可能領域５４の横方向の長さと縦方向の長さとのうち、短い方向の長さを縮小率を決定する対象の長さとする。図１１（ｂ）の例では、配置可能領域５４の縦横比が同じであるため、任意の一方向の長さ（例えば縦方向）を対象とする。
【００５１】
二次元コード５２における縦方向または横方向のうちの所定方向（例えば縦方向）でドット数が最小である最小モジュールを特定する。その最小モジュールの所定方向のドット数分の１の整数倍となる縮小率の候補を求める。このとき１００％も縮小率の候補として含まれる。縮小率の候補のうち、最小モジュールのドット数が最大となる縮小率が最も大きい縮小率（すなわち、最も低い縮小率）を第１縮小率として決定する。ステップＳ４２で、縮小ラベル画像に縮小バーコードが配置された縮小画像データが生成される。図１１（ｂ）の例では、配置可能領域５４が十分大きいため、第１縮小率は１００％に決定される。決定された第１縮小率（１００％）で縮小された縮小バーコード５５（すなわち元画像５１に含まれる二次元コード５２）が配置可能領域５４に配置された縮小画像データに係る画像の例を図１１（ｃ）に示す。
【００５２】
なお、二次元コードの例として、縦横比が同じコード画像を例に説明したが、縦横比が異なるコード画像に適用してもよい。この場合、縮小ラベル画像の配置可能領域に、縮小コード画像が収まるサイズを第１縮小率として決定する。すなわち、配置可能領域を示す矩形領域と二次元コードとの間の余白幅の少ない方の辺を基準に、縮小バーコードが収まるサイズが第１縮小率として決定される。言い換えると、二次元コードをあらわすコード画像に対し、平行方向の余白幅と垂直方向の余白幅のうち、短い余白幅に収まる画像サイズとなる第１縮小率を決定する。このような構成により、バーコードが二次元コードの場合であっても、ラベル画像３２と重ならずに、二次元コードのサイズが可及的大きなサイズに維持される縮小画像データを出力することができる。
【００５３】
バーコードの種類は、上記実施形態の例に限らず、一次元シンボルと二次元シンボルとを上下に合成した合成シンボルであってもよい。この場合、合成シンボルで表される一次元シンボル部分のバーの長さをカットして縮小バーコードを作成してもよい。また、バーコードに限らず、画像の種類により、画像の品質保持にために適切な縮小率が異なる部分画像を複数含む対象画像の全体を縮小して印刷する際に、本発明を適用してもよい。
【００５４】
図９の例では、第２縮小バーコード４４の長さ方向については、第２縮小バーコード４４の配置可能領域の上下端に所定の余白領域が含まれるサイズにカットしているが、この所定の余白領域と予め決められた値であって、例えば、その値は「０」であってもよい。
【００５５】
上記実施形態では、バーコードはニアレストネイバー法で縮小し、ラベル画像はバイリニア法で縮小しているが、これに限らない。バーコードは補間計算を伴わない方法で縮小し、ラベル画像は、補間計算を伴う方法で縮小してもよい。補間計算を伴う別の縮小方法の例として、例えば、バイキュービックや平均画素法などが挙げられる。
【００５６】
前述の実施形態では、本発明がプリンタ１に適用された場合を取り上げたが、本発明は、パーソナルコンピュータなどの電子機器に適用されてもよいし、パーソナルコンピュータなどにインストールされるプリンタドライバの形態で実現されてもよい。プリンタ１は、ラベルプリンタに限らず、レーザー式やインクジェット式のプリンタであってもよい。この場合、ユーザにより指定された媒体サイズに応じて画像を縮小する際に行われる縮小処理に、本発明を適用してもよい。
【００５７】
また、ＣＰＵ２３が各処理を実行する場合について説明した。しかしながら、ＡＳＩＣ１３が複数のＣＰＵを備え、複数のＣＰＵが協働して各処理を実行してもよい。
【００５８】
その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００５９】
１：プリンタ
１１：印刷部
２３：ＣＰＵ
３１，５１：元画像
３２：ラベル画像
３４：第１バーコード
３６：第２バーコード
４１，５３：縮小ラベル画像
４２：第１縮小バーコード
４４：第２縮小バーコード
５２：二次元コード
５５：縮小バーコード
【図１】
2019180046.tif 000003
【図２】
2019180046.tif 000004
【図３】
2019180046.tif 000005
【図４】
2019180046.tif 000006
【図５】
2019180046.tif 000007
【図６】
2019180046.tif 000008
【図７】
2019180046.tif 000009
【図８】
2019180046.tif 000010
【図９】
2019180046.tif 000011
【図１０】
2019180046.tif 000012
【図１１】
2019180046.tif 000013