(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024101657
(43)【公開日】2024-07-30
(54)【発明の名称】画像処理装置、および、コンピュータプログラム
(51)【国際特許分類】
H04N 1/387 20060101AFI20240723BHJP
H04N 1/393 20060101ALI20240723BHJP
B41J 21/00 20060101ALI20240723BHJP
【FI】
H04N1/387
H04N1/393
B41J21/00 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023005678
(22)【出願日】2023-01-18
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】▲高▼須 将也
【テーマコード(参考)】
2C187
5C076
【Fターム(参考)】
2C187AD14
2C187BF11
2C187BG03
2C187CD08
2C187DB30
2C187DC07
2C187DC08
5C076AA17
5C076AA21
5C076BA06
(57)【要約】
【課題】 コード画像を含む画像を形成する。
【解決手段】
画像の形成サイズとしての第1形成サイズの指定を受け付ける。Q枚(Qは2以上の整数)の入力ページのそれぞれの画像を表す入力画像データを受け付ける。Q枚の入力ページは、第1コード画像を含む第1入力ページと、コード画像を含まない第2入力ページと、を含む。形成実行部に入力画像データの画像形成を実行させる。第1形成サイズよりも大きい第2形成サイズで、第1入力ページの画像形成を形成実行部に実行させ、第1形成サイズで、第2入力ページの画像形成を形成実行部に実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像処理装置であって、
画像の形成サイズとしての第1形成サイズの指定を受け付ける第1の受付部と、
Q枚(Qは2以上の整数)の入力ページのそれぞれの画像を表す入力画像データを受け付ける第2の受付部であって、前記Q枚の入力ページは、第1コード画像を含む第1入力ページとコード画像を含まない第2入力ページとを含む、前記第2の受付部と、
形成実行部に前記入力画像データの画像形成を実行させる形成処理部と、
を備え、
前記形成処理部は、
前記第1形成サイズよりも大きい第2形成サイズで、前記第1入力ページの前記画像形成を前記形成実行部に実行させ、
前記第1形成サイズで、前記第2入力ページの前記画像形成を前記形成実行部に実行させる、
画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記Q枚の入力ページは、さらに、第2コード画像を含む第3入力ページを含み、
前記第1入力ページは、前記第1入力ページの前記画像形成が前記第1形成サイズで実行されると仮定する場合において、前記第1コード画像のサイズが前記第1コード画像の解読のための第1基準サイズよりも小さいように、構成されており、
前記第3入力ページは、前記第3入力ページの前記画像形成が前記第1形成サイズで実行されると仮定する場合において、前記第2コード画像のサイズが前記第2コード画像の解読のための第2基準サイズ以上であるように、構成されており、
前記形成処理部は、前記第1形成サイズで、前記第3入力ページの前記画像形成を前記形成実行部に実行させる、
画像処理装置。
【請求項3】
請求項1または2に記載の画像処理装置であって、
前記Q枚の入力ページは、さらに、複数のコード画像を含む入力ページである第4入力ページを含み、
前記複数のコード画像は、前記複数のコード画像のうちの最小サイズのコード画像である最小コード画像を含み、
前記形成処理部は、前記第4入力ページの前記画像形成が前記第1形成サイズで実行されると仮定する場合において、前記最小コード画像のサイズが前記最小コード画像の解読のための第3基準サイズ以上であることを含む特定の場合に、前記第1形成サイズで前記第4入力ページの前記画像形成を前記形成実行部に実行させる、
画像処理装置。
【請求項4】
請求項1または2に記載の画像処理装置であって、
前記形成処理部は、前記第1入力ページの前記画像形成が前記第2形成サイズで実行されると仮定する場合において、前記第1コード画像のサイズが前記第1コード画像の解読のための第1基準サイズであるように、前記第2形成サイズを決定する、
画像処理装置。
【請求項5】
請求項1または2に記載の画像処理装置であって、
前記Q枚の入力ページは、さらに、第3コード画像と、前記第3コード画像に接する空白部分と、を含む入力ページである第5入力ページを含み、
前記第5入力ページは、前記第5入力ページの前記画像形成が前記第1形成サイズで実行されると仮定する場合において、前記第3コード画像のサイズが、前記第3コード画像の解読のための第4基準サイズよりも小さいように、構成されており、
前記形成処理部は、前記第5入力ページの前記画像形成が前記第1形成サイズで実行されると仮定する場合において、前記第3コード画像を前記空白部分の範囲内で拡大する部分拡大処理を実行することによって前記第4基準サイズ以上のサイズを有する前記第3コード画像が形成可能である場合には、
前記第3コード画像の前記部分拡大処理を実行することによって、前記第4基準サイズ以上のサイズで形成されるように拡大された第3コード画像を表す前記第5入力ページの修正済画像を生成し、
前記第5入力ページの前記修正済画像の前記画像形成を、前記第1形成サイズで、前記形成実行部に実行させる、
画像処理装置。
【請求項6】
請求項1または2に記載の画像処理装置であって、
前記第1形成サイズの前記指定は、画像を形成すべきシートのサイズとしての第1シートサイズの指定を含み、
前記第2形成サイズは、前記第1シートサイズのシートに1枚の入力ページを印刷するための予め決められた標準の形成サイズ、または、前記第1シートサイズよりも大きい第2シートサイズのシートに1枚の入力ページを印刷するための予め決められた標準の形成サイズ、である、
画像処理装置。
【請求項7】
請求項1または2に記載の画像処理装置であって、
前記第1形成サイズの前記指定は、1枚の出力ページ上に配置すべき入力ページの総数の設定としてのNページ(Nは2以上の整数)のレイアウト設定を含み、
第2形成サイズは、Mページ(Mは1以上、N未満の整数)のレイアウト設定のための形成サイズである、
画像処理装置。
【請求項8】
請求項1または2に記載の画像処理装置であって、さらに、
前記形成実行部を備える、
画像処理装置。
【請求項9】
コンピュータプログラムであって、
画像の形成サイズとしての第1形成サイズの指定を受け付ける第1の受付機能と、
Q枚(Qは2以上の整数)の入力ページのそれぞれの画像を表す入力画像データを受け付ける第2の受付機能であって、前記Q枚の入力ページは、第1コード画像を含む第1入力ページとコード画像を含まない第2入力ページとを含む、前記第2の受付機能と、
形成実行部に前記入力画像データの画像形成を実行させる形成処理機能と、
をコンピュータに実現させ、
前記形成処理機能は、
前記第1形成サイズよりも大きい第2形成サイズで、前記第1入力ページの前記画像形成を前記形成実行部に実行させ、
前記第1形成サイズで、前記第2入力ページの前記画像形成を前記形成実行部に実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、画像を形成する技術に関する。
【背景技術】
【0002】
プリンタによって、種々の画像が印刷される。印刷される画像は、バーコードを含み得る。また、画像は、縮小して印刷され得る。ここで、バーコードを含む画像の全体が均一に縮小されると、印刷済の画像からバーコードを読み取ることができない場合がある。特許文献1は、バーコードのみ等倍で印刷し、他の箇所を所望のサイズに縮小する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
バーコード以外の箇所を所望のサイズに縮小する場合、バーコードと他の箇所の画像とが重なる場合があった。このような問題は、バーコードに限らず、情報を示す種々のコード画像を含む画像の形成に共通する問題であった。
【0005】
本明細書は、コード画像を含む画像を適切に形成する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]画像処理装置であって、画像の形成サイズとしての第1形成サイズの指定を受け付ける第1の受付部と、Q枚(Qは2以上の整数)の入力ページのそれぞれの画像を表す入力画像データを受け付ける第2の受付部であって、前記Q枚の入力ページは、第1コード画像を含む第1入力ページとコード画像を含まない第2入力ページとを含む、前記第2の受付部と、形成実行部に前記入力画像データの画像形成を実行させる形成処理部と、を備え、前記形成処理部は、前記第1形成サイズよりも大きい第2形成サイズで、前記第1入力ページの前記画像形成を前記形成実行部に実行させ、前記第1形成サイズで、前記第2入力ページの前記画像形成を前記形成実行部に実行させる、画像処理装置。
【0008】
この構成によれば、画像処理装置は、第1コード画像を含む第1入力ページの画像形成を、第1形成サイズよりも大きい第2形成サイズで、形成実行部に実行させるので、画像処理装置は、コード画像を含む入力ページの適切な画像形成を、形成実行部に実行させることができる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
【
図1】一実施例としての画像形成装置を示す図である。
【
図3】(A)は、入力ページの例を示す図である。(B)は、対象レイアウト設定に忠実に従う場合の出力ページの例を示す図である。
【
図4】1ページレイアウト処理の例を示すフローチャートである。
【
図6】再配置処理の例を示すフローチャートである。
【
図8】再配置処理の別の実施例を示すフローチャートである。
【
図10】再配置処理の別の実施例を示すフローチャートである。
【
図12】印刷処理の別の実施例を示すフローチャートである。
【
図13】(A)は、入力ページの例を示す図である。(B)は、1ページレイアウト処理で生成される出力ページの例を示す図である。(C)は、出力ページの例を示す図である。(D)は、修正済の出力ページの例を示す図である。
【
図14】コード拡大判断処理の例を示すフローチャートである。
【
図15】(A)は、コード画像のサイズの説明図である。(B)は、出力ページPo6のうちのコード画像ICfを含む部分を示す図である。(C)-(F)は、最大サイズの算出の例を示す図である。(G)は、拡大されたコード画像ICfの例を示す図である。
【
図16】印刷処理の別の実施例を示すフローチャートである。
【
図17】印刷処理の別の実施例を示すフローチャートである。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.装置構成:
図1は、一実施例としての画像形成装置を示す図である。本実施例では、画像形成装置100は、印刷機能を有する複合機である。画像形成装置100は、データ処理装置190と、表示部140と、操作部150と、通信インタフェース170と、形成実行部300と、を有している。データ処理装置190は、プロセッサ110と、記憶装置115と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。
【0012】
プロセッサ110は、データを処理するように構成された装置である。プロセッサ110は、例えば、CPU(Central Processing Unit)、または、SoC(System on a chip)であってよい。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。不揮発性記憶装置130は、プログラム131のデータを格納している。
【0013】
表示部140は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部150は、ボタン、レバー、表示部140上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部150を操作することによって、種々の指示を画像形成装置100に入力可能である。通信インタフェース170は、他の装置と通信するためのインタフェースである。通信インタフェース170は、例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェース、産業用カメラのインタフェース(例えば、CameraLink、CoaXPressなど)、のうちの1種以上を含む。
【0014】
形成実行部300は、画像形成の例である画像印刷を実行する装置である。本実施例では、形成実行部300は、いわゆるインクジェットプリンタである。形成実行部300は、印刷データに従って、1種類以上のインク(例えば、シアンとマゼンタとイエローとブラックの4色のインク)を使用して、画像を印刷するように構成されている。なお、形成実行部300は、他の方式で画像を印刷する装置であってよい(例えば、レーザープリンタ)。データ処理装置190は、形成実行部300による印刷のための画像処理を実行する画像処理装置の例である。
【0015】
A2.印刷処理:
図2は、印刷処理の例を示すフローチャートである。画像形成装置100(
図1)のプロセッサ110は、画像形成指示に応じて、プログラム131に従って、印刷処理を実行する。S110では、プロセッサ110は、画像形成指示を取得する。本実施例では、画像形成指示は、入力画像データと、レイアウト設定と、シートサイズ設定と、を含んでいる。
【0016】
入力画像データは、印刷すべきQ枚(Qは1以上の整数)の入力ページのそれぞれの画像を表す画像データである。入力画像データのデータ形式は、任意の形式であってよい。本実施例では、入力画像データのデータ形式は、ページ記述言語で記述されるデータ形式である(PDL(Page Description Language)形式とも呼ばれる)。PDL形式としては、例えば、PDF(Portable Document Format)、XPS(XML Paper Specification)、PCL(Printer Control Language)、GDI(Graphics Device Interface)、PostScript(登録商標)など、種々の形式が採用されてよい。
【0017】
レイアウト設定は、1枚のシート(例えば、用紙)、すなわち、1枚の出力ページ上に配置すべき入力ページの総数Nを示している(Nは1以上の整数)。このようなレイアウト設定は、「N in 1 印刷」、または、「N up 印刷」とも呼ばれる。以下、1枚の出力ページ上に配置すべき入力ページの総数を、レイアウト数と呼ぶ。
【0018】
シートサイズ設定は、印刷に使用すべきシートのサイズを示している。シートサイズは、形成実行部300によって使用可能な複数のシートサイズ(例えば、A4、A5、レターサイズ、など)から選択される。
【0019】
画像形成指示を取得する方法は、任意の方法であってよい。本実施例では、ユーザは、画像形成装置100の通信インタフェース170と通信可能な図示しない端末装置(例えば、パーソナルコンピュータ、スマートフォンなど)を操作することによって、印刷のための種々の設定を端末装置に入力する。例えば、ユーザは、端末装置に格納された1以上の画像データから印刷すべき画像データを選択する指示と、レイアウト数Nを選択する指示と、シートサイズを選択する指示と、を端末装置に入力する。端末装置上で動作するアプリケーション(例えば、印刷のためのアプリケーション)は、選択された画像データを使用して入力画像データを準備する。アプリケーションは、選択された画像データを、そのまま、入力画像データとして使用してよい。これに代えて、アプリケーションは、選択された画像データを使用して、画像形成装置100に適する入力画像データを生成してよい。アプリケーションは、入力画像データと、種々の設定を示すデータとを、通信インタフェース170を介して、画像形成装置100に送信する。プロセッサ110は、通信インタフェース170を介して、画像形成指示を示すデータを取得する。
【0020】
また、プロセッサ110は、ユーザによって操作部150に入力された情報に従って、画像形成指示を取得してよい。印刷すべき画像データとしては、画像形成装置100の記憶装置115(例えば、不揮発性記憶装置130)、または、通信インタフェース170に接続される他の装置(例えば、USBフラッシュメモリ、デジタルカメラなど)、に格納済の画像データが、選択されてよい。プロセッサ110は、選択された画像データを、そのまま、入力画像データとして使用してよい。これに代えて、プロセッサ110は、選択された画像データを使用して、入力画像データを生成してよい。
【0021】
いずれの場合も、プロセッサ110は、画像形成指示に含まれる入力画像データと種々の印刷設定を受け付ける。S110は、S110aとS110bとS110cとを含んでいる。S110aでは、プロセッサ110は、入力画像データを受け付ける。S110bでは、プロセッサ110は、レイアウト設定(具体的には、レイアウト数Nの指定)を受け付ける。S110cでは、プロセッサ110は、シートサイズ設定(具体的には、シートサイズの指定)を受け付ける。プロセッサ110は、受け付けた入力画像データと受け付けた印刷設定とを使用して、印刷処理を進行する。
【0022】
なお、印刷設定(例えば、ユーザによる印刷設定)は、画像形成指示から省略されてよい。印刷設定が省略される場合、プロセッサ110は、予め決められた標準の印刷設定を使用してよい。例えば、レイアウト数Nの設定が省略される場合、プロセッサ110は、標準のレイアウト数(例えば、1)を使用してよい。シートサイズの設定が省略される場合、プロセッサ110は、標準のシートサイズ(例えば、A4)を使用してよい。標準の印刷設定は、予め決められた固定的な設定であってよい。このように、プロセッサ110は、予め決められた固定的な設定の指定を、受け付けてよい。これに代えて、プロセッサ110は、ユーザによって決定された標準の印刷設定を予め受け付けてよい。プロセッサ110は、標準の印刷設定の指定を受け付ける処理(例えば、S110bに相当する処理と、S110cに相当する処理と、の一方、または、両方)を、画像形成指示の取得よりも前に、実行してよい。
【0023】
このように、印刷処理では、プロセッサ110は、画像形成指示によって指定される印刷設定、または、標準の印刷設定を、使用する。以下、印刷処理で使用される印刷設定を、対象印刷設定、または、単に対象設定と呼ぶ。印刷処理で使用されるレイアウト設定とシートサイズ設定とを、それぞれ、対象レイアウト設定と対象シートサイズ設定と呼ぶ。印刷処理で使用される複数の対象設定のセットを、対象設定セットと呼ぶ。対象レイアウト設定によって定められるレイアウト数Nを、対象レイアウト数Nと呼ぶ。対象シートサイズ設定によって定められるシートサイズを、対象シートサイズSSと呼ぶ。本実施例では、対象レイアウト数Nが、2以上であることとする。以下、対象レイアウト数Nが4であり、対象シートサイズSSが「A4」であることとして、説明する。
【0024】
図3(A)は、入力ページの例を示す図である。本実施例では、入力画像データが、8枚の入力ページPi1-Pi8を表していることとする。各入力ページは、第1方向Dxiに平行な2辺(下側の辺PSを含む)と、第1方向Dxiに垂直な第2方向Dyiに平行な2辺と、を有する矩形状の領域を表している。第3入力ページPi3は、第1コード画像ICaを含み、第6入力ページPi6は、第2コード画像ICbを含み、第8入力ページPi8は、第3コード画像ICcを含んでいる。コード画像ICa、ICb、ICcは、それぞれ、情報を表す種々のコード画像であってよい。コード画像は、例えば、一次元コード画像(例えば、バーコード)、または、二次元コード画像(例えば、QRコード(登録商標))であってよい。本実施例では、入力ページに含まれるコード画像が、QRコードであることとする。なお、図中では、各ページのコード画像以外の部分の詳細の図示は、省略されている。
【0025】
図3(B)は、対象レイアウト設定に忠実に従って入力ページPi1-Pi8が印刷されると仮定する場合の出力ページの例を示す図である。各出力ページPo1、Po2は、第1方向Dxoに平行な2辺と、第1方向Dxoに垂直な第2方向Dyoに平行な2辺と、を有する矩形状の領域を表している。図示するように、第1出力ページPo1には、4枚の入力ページPi1-Pi4が割り付けられ、第2出力ページPo2には、続く4枚の入力ページPi5-Pi8が割り付けられる。1枚の入力ページが1枚の出力ページに割り付けられる場合と比べて、出力ページPo1、Po2中では、入力ページPi1-Pi8(ひいては、コード画像ICa、ICb、ICc)は、縮小される。プロセッサ110は、コード画像の解読の容易化(すなわち、可読性の向上)のために、コード画像をより大きいサイズで形成実行部300に印刷させ得る。
【0026】
S112(
図2)では、プロセッサ110は、画像形成指示を表すデータ(入力画像データと、種々の対象設定を示すデータと、を含む)を、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0027】
S120では、プロセッサ110は、1ページレイアウト処理を実行する。1ページレイアウト処理は、対象設定セットに従って1枚の出力ページ上にN枚の入力ページを割り付ける処理である。
【0028】
図4は、1ページレイアウト処理の例を示すフローチャートである。S310では、プロセッサ110は、未処理の入力ページのうちの最先の入力ページを、注目ページとして選択する。注目ページの入力画像データは、S112(
図2)で、記憶装置115(例えば、不揮発性記憶装置130)に格納済である。S320では、プロセッサ110は、記憶装置115から注目ページの入力画像データを取得し、取得した入力画像データをNup印刷に適する画素密度でラスタライズすることによって、印刷用のラスタデータを生成する。本実施例では、印刷用のラスタデータは、処理解像度で表されるR(赤)G(緑)B(青)のカラービットマップデータである(解像度は、画素密度とも呼ばれる)。本実施例では、処理解像度は、形成実行部300の印刷解像度(単位は、例えば、ppi(pixel per inch))に、設定されている。なお、印刷用のラスタデータは、他の色空間(例えば、印刷に使用可能な印刷材の色(ここでは、シアン、マゼンタ、イエロー、ブラック)の色空間)で表されてよい。
【0029】
ここで、印刷された状態における入力ページのサイズを、形成サイズと呼ぶ。また、出力ページ上に対象レイアウト数Nと対象シートサイズSSに従って入力ページが割り付けられる場合の形成サイズを、対象形成サイズ、または、第1形成サイズと呼ぶ。形成サイズは、実際の長さによって表現可能である(例えば、入力ページ(
図3(A))の第1方向Dxiに平行な辺PSの長さ(単位は、mm))。
【0030】
対象形成サイズは、対象シートサイズSSのシート上にNup印刷が行われる場合の形成サイズを示している。対象レイアウト数Nと対象シートサイズSSとの組み合わせと、対象形成サイズと、の対応関係は、予め決められている。S320では、プロセッサ110は、対象形成サイズを、対象レイアウト数Nと対象シートサイズSSとの組み合わせに対応付けられる形成サイズに決定する。そして、プロセッサ110は、対象形成サイズで、注目ページをラスタライズする。すなわち、プロセッサ110は、対象形成サイズで注目ページが印刷されるように、注目ページのラスタデータを生成する。例えば、プロセッサ110は、対象形成サイズの注目ページを印刷解像度で表現する画素密度で、注目ページのラスタライズを実行する。このように、プロセッサ110は、印刷解像度と形成サイズとで決まる画素密度で入力ページをラスタライズすることによって、任意の形成サイズのためのラスタデータを生成できる。
【0031】
なお、形成サイズは、長さ縮小率によって表現可能である。ここで、100%の長さ縮小率は、1枚のシート(すなわち、1枚の出力ページ)に1枚の入力ページが割り付けられる場合の入力ページの予め決められた標準の形成サイズを示すこととする。標準の形成サイズは、形成サイズに関する設定を変更せずに、標準の設定(デフォルト設定とも呼ばれる)に従って印刷が行われる場合の形成サイズである。標準の形成サイズは、例えば、1枚のシートの印刷可能領域内に1枚の入力ページの全体を配置する場合の入力ページの最大サイズであってよい。このような標準の形成サイズを、「1up形成サイズ」と呼ぶ。4up印刷が行われる場合、長さ縮小率は、50%であってよい(面積は25%に縮小される)。4枚の入力ページの間に隙間を設けるために、長さ縮小率は、50%よりも小さい値(例えば、48%)に設定されてよい。以下、長さ縮小率を、単に縮小率と呼ぶ。また、対象設定セットに基づく長さ縮小率を、対象縮小率RL1と呼ぶ。対象形成サイズは、対象縮小率RL1で縮小済の入力ページの形成サイズを示している。
【0032】
S330では、プロセッサ110は、S320で生成されたラスタデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0033】
S350では、プロセッサ110は、
図4の処理によって生成済のラスタデータの総数L(すなわち、処理済の入力ページの数L)が対象レイアウト数Nと同じであるか否かを判断する。生成済のラスタデータの総数LがN未満であり、かつ、未処理の入力ページが残っている場合(S350:No)、プロセッサ110は、S310へ移行し、次の入力ページを処理する。
【0034】
N個のラスタデータが
図4の処理によって生成済である場合(S350:Yes)、S360で、プロセッサ110は、N個のラスタデータを使用して1枚の出力ページのラスタデータである出力ページデータを生成する。出力ページデータは、1枚の出力ページ上に対象レイアウト設定に従って配置されたN枚の入力ページを表している。例えば、
図3(B)の出力ページPo1を表す出力ページデータが生成される。N個のラスタ画像データは、S330で記憶装置115(例えば、不揮発性記憶装置130)に格納済である。プロセッサ110は、記憶装置115からN個のラスタ画像データを取得し、取得したN個のラスタ画像データを組み合わせることによって、出力ページデータを生成する。
【0035】
なお、S350で、生成済のラスタデータの総数LがN未満であっても、未処理の入力ページが残っていない場合(すなわち、全ての入力ページが処理済である場合)、プロセッサ110は、判断結果を「Yes」に設定する。そして、S360で、プロセッサ110は、L個のラスタデータを使用して1枚の出力ページの出力ページデータを生成する。L枚の入力ページは、1枚の出力ページ上に対象レイアウト数Nに従って配置される。
【0036】
S370では、プロセッサ110は、出力ページデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、
図4の処理、すなわち、
図2のS120の処理を、終了する。
【0037】
S130では、プロセッサ110は、出力ページからコード画像を検出する。本実施例では、プロセッサ110は、出力ページデータを分析することによって、コード画像を検出する。これに代えて、プロセッサ110は、現行の出力ページに割り付けられたL枚の入力ページ(現行入力ページと呼ぶ)のL個のラスタデータを分析することによって、コード画像を検出してよい。また、プロセッサ110は、入力画像データのうちL枚の現行入力ページを表すL個の画像データを分析することによって、コード画像を検出してもよい
【0038】
コード画像の検出方法は、任意の方法であってよい。例えば、プロセッサ110は、コード画像の特徴的な部分を表すテンプレート画像を使用するテンプレートマッチングによって、コード画像を検出してよい。QRコードの検出には、3個のファインダーパターンを表すテンプレート画像が使用されてよい。一次元のバーコードの検出には、バーコードの端部を形成するガードバーを表すテンプレート画像が使用されてよい。また、プロセッサ110は、種々のコード画像を検出するように訓練済の機械学習モデル(例えば、YOLOなどの物体検出モデル)を使用して、コード画像を検出してよい。
【0039】
S140では、プロセッサ110は、コード画像が検出されるか否かを判断する。コード画像が検出されない場合(S140:No)、プロセッサ110は、S280へ移行する。1以上のコード画像が検出される場合(S140:Yes)、S150で、プロセッサ110は、入力ページの画像形成が対象形成サイズで実行される場合の各コード画像のサイズ指標値を算出する。サイズ指標値は、印刷された状態におけるコード画像の実際のサイズを示す指標値である。
【0040】
図5は、サイズ指標値の例を示す図である。図中には、第1出力ページPo1に含まれるコード画像ICa(ここでは、QRコード)が示されている。QRコードは、矩形の画像である。QRコードは、3個のファインダーパターンFPと、複数のモジュールMd(セルとも呼ばれる)と、を表している。モジュールMdは、最小の要素であり、白または黒の矩形領域である。図中では、1個のモジュールMdが示され、複数のモジュールの図示が省略されている。複数のモジュールの配置パターンは、種々の情報を表している。
【0041】
縮小されたコード画像ICaが印刷される場合、印刷されたコード画像ICaの解読が困難であり得る。例えば、形成実行部300の印刷解像度が足りずに、形成実行部300が、縮小されたコード画像ICaのモジュールMdを適切に印刷できない場合がある。また、デジタルカメラのような読取装置の画素分解能が足りずに、読取装置が、縮小されたコード画像ICaのモジュールMdを適切に読み取ることができない場合がある。
【0042】
コード画像の解読の困難性は、コード画像を構成する最小の要素のサイズを使用して、推定可能である。最小の要素が小さいほど、コード画像の解読はより困難である。コード画像がQRコードを表す場合、最小の要素は、モジュールMdである。モジュールMdのサイズとしては、例えば、コード画像ICaの特定辺QS1に平行な方向の幅Smを採用可能である(単位は、例えば、mm)。幅Smは、特定辺QS1の長さW(単位は、例えば、mm)を、特定辺QS1に平行に並ぶモジュールMdの総数Nmで除算することによって、算出可能である。特定辺QS1の長さWは、出力ページPo1を表す出力ページデータの処理解像度(単位は、例えば、ppi(pixel per inch))と、出力ページPo1上の特定辺QS1の長さ(単位は、例えば、画素数)と、を使用して算出可能である。特定辺QS1に平行に並ぶモジュールMdの総数Nmは、QRコードのバージョンに応じて、異なっている。QRコードのバージョンVは、1以上、40以下の整数である。モジュールMdの総数Nmは、21+4*Vで表される。バージョンVが1上がるごとに、1辺あたりのモジュールMdの数は、4増加する。なお、QRコードは、正方形のコードである。特定辺QS1に垂直な辺QS2の長さHは、特定辺QS1の長さWと同じである。また、辺QS2に平行に並ぶモジュールMdの総数は、総数Nmと同じである。
【0043】
S150(
図2)では、プロセッサ110は、入力画像データのうち、コード画像を含む現行入力ページを表す画像データを分析することによって、総数Nmを取得する。プロセッサ110は、特定辺QS1に平行にモジュールMdの数を数えることによって、総数Nmを取得してよい。QRコードは、バージョンVを表す領域を含み得る(例えば、バージョンVが7以上である場合)。プロセッサ110は、このような領域を分析することによってバージョンVを取得し、バージョンVを使用して総数Nmを算出してよい。プロセッサ110は、入力画像データに代えて、出力ページデータ、または、入力ページを表すうラスタデータを分析することによって、総数Nmを取得してよい。
【0044】
プロセッサ110は、出力ページの処理解像度(単位は、ppi)と、出力ページ上のコード画像の特定辺QS1(
図5)の長さ(単位は、画素数)と、を使用して、特定辺QS1の長さW(単位は、mm)を算出する。出力ページ上の特定辺QS1の長さ(単位は、画素数)は、出力ページデータ、または、入力ページを表すラスタデータを分析することによって、取得される。これに代えて、プロセッサ110は、入力画像データを分析することによって、出力ページ上の特定辺QS1の長さ(単位は、画素数)を取得してよい。
【0045】
プロセッサ110は、長さWを総数Nmで除算することによって、モジュールMdの幅Sm(単位は、mm)を算出する。本実施例では、幅Smは、サイズ指標値の例である。
【0046】
なお、1枚の出力画像からは、Nc個(Ncは1以上の整数)をコード画像が検出され得る。プロセッサ110は、Nc個のコード画像のそれぞれのサイズ指標値(本実施例では、幅Sm)を算出する。
【0047】
S160(
図2)では、プロセッサ110は、Nc個のサイズ指標値のそれぞれが基準閾値未満であるか否かを判断する。基準閾値は、サイズ指標値が基準閾値以上である場合に、コード画像の解読が容易であり、サイズ指標値が基準閾値未満である場合に、コード画像の解読が困難であるように、予め実験的に決定される。幅Smの基準閾値は、例えば、0.5mmに設定される。
【0048】
Nc個のコード画像のNc個のサイズ指標値のそれぞれが基準閾値以上である場合(S160:No)、プロセッサ110は、S280へ移行する。
【0049】
1以上のサイズ指標値が基準閾値未満である場合(S160:Yes)、S270で、プロセッサ110は、再配置処理を実行する。
図6は、再配置処理の例を示すフローチャートである。S410では、プロセッサ110は、現行出力ページに含まれるL枚の現行入力ページから、基準閾値未満のサイズ指標値を示すコード画像(過小コード画像とも呼ぶ)を含む最先の入力ページを選択する(最先過小ページと呼ぶ)。そして、プロセッサ110は、L枚の現行入力ページのうち最先過小ページよりも先の入力ページを、対象設定セットに従って1枚の出力ページ上に割り付ける。
【0050】
図3(A)、
図3(B)の例において、コード画像ICa、ICcが基準閾値未満のサイズ指標値を示し、第2コード画像ICbが基準閾値以上のサイズ指標値を示すこととする。現行の出力ページが第1出力ページPo1である場合、第3入力ページPi3が最先過小ページとして選択される。プロセッサ110は、最先過小ページPi3よりも先の入力ページPi1、Pi2を、対象レイアウト数Nに従って1枚の出力ページ上に割り付ける。
図7は、出力ページの例を示す図である。第1出力ページPo1は、
図3(B)の第1出力ページPo1に基づくS410(
図6)の処理によって生成される更新された出力ページを示している。2枚の入力ページPi1、Pi2が、対象設定セット(ここでは、4in1)に従って、第1出力ページPo1上に割り付けられている。
【0051】
上述したように、L枚の現行入力ページの対象形成サイズでのラスタデータは、
図2のS120(具体的には、
図4のS320、S330)で、生成済である。プロセッサ110は、最先過小ページよりも先の入力ページのラスタデータを記憶装置115(例えば、不揮発性記憶装置130)から取得し、取得したラスタデータを組み合わせることによって、出力ページデータを生成する。
【0052】
S420(
図6)では、プロセッサ110は、S410で生成された出力ページデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0053】
S430では、プロセッサ110は、対象形成サイズよりも大きい拡大形成サイズを決定する。本実施例では、拡大形成サイズは、「1up形成サイズ」である(すなわち、対象シートサイズSSの1枚の出力ページに1枚の入力ページを印刷するための標準の形成サイズ)。プロセッサ110は、記憶装置115から最先過小ページの入力画像データを取得し、取得した入力画像データを拡大形成サイズでラスタライズすることによって、ラスタデータを生成する。S440では、プロセッサ110は、S430で生成されたラスタデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0054】
S470では、プロセッサ110は、S430で生成されたラスタデータを記憶装置115から取得し、取得したラスタデータを使用して1枚の出力ページのラスタデータである出力ページデータを生成する。
図7の第2出力ページPo2は、最先過小ページPi3を表す出力ページの例である。最先過小ページPi3の形成サイズ(すなわち、拡大形成サイズ)は、1in1のレイアウト設定で最先過小ページPi3が印刷される場合の形成サイズと、同じである。
【0055】
S480(
図6)では、プロセッサ110は、出力ページデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、
図6の処理、すなわち、
図2のS270の処理を、終了する。なお、再配置処理では、L枚の現行入力ページのうち最先過小ページよりも後の入力ページは、出力ページに割り付けられない。S270の後、プロセッサ110は、S280へ移行する。
【0056】
S280では、プロセッサ110は、全ての入力ページが出力ページに割り付け済であるか否かを判断する。未割付の入力ページが残っている場合(S280:No)、プロセッサ110は、S120へ移行し、残りの入力ページを処理する。
【0057】
図7の第3出力ページPo3は、第2出力ページPo2上の最先過小ページPi3の割り付け(
図2:S270)の後のS120で生成される出力ページの例を示している。第3出力ページPo3には、最先過小ページPi3に続く4枚の入力ページPi4-Pi7が、対象設定セット(ここでは、4in1)に従って割り付けられている。第6入力ページPi6のコード画像ICbのサイズ指標値は、基準閾値以上である(S160:No)。他の入力ページPi4、Pi5、Pi7は、コード画像を含まない。従って、プロセッサ110は、第3出力ページPo3(
図7)を、そのまま維持する。次のS120では、未割付の入力ページ(ここでは、第8入力ページPi8)が、1枚の出力ページに、対象設定セットに従って割り付けられる(図示省略)。ここで、第8入力ページPi8のコード画像ICcのサイズ指標値が基準閾値未満である(S160:Yes)。この場合、S270で、プロセッサ110は、拡大形成サイズの第8入力ページPi8を表す出力ページを生成する。
図7の第4出力ページPo4は、第8入力ページPi8を表す出力ページの例である。
【0058】
全ての入力ページが出力ページに割り付け済である場合(S280:Yes)、S290で、プロセッサ110は、記憶装置115から全ての出力ページの出力ページデータを取得し、取得した出力ページデータを使用して形成実行部300に全ての出力ページの印刷を実行させる。本実施例では、
図7の出力ページPo1-Po4が印刷される。なお、プロセッサ110は、全ての入力ページの割り付けが完了するよりも前に、生成済の出力ページデータを使用する画像印刷を開始してよい。
【0059】
形成実行部300に印刷を実行させる方法は、種々の方法であってよい。本実施例では、プロセッサ110は、出力ページデータを使用して、形成実行部300を制御するための印刷データを生成する。印刷データを生成する処理は、種々の処理を含んでよい。本実施例では、印刷データの生成処理は、出力ページデータの色空間をRGB色空間から印刷材の色空間(ここでは、CMYK色空間)に変換する色変換処理と、色変換済の出力ページデータのハーフトーン処理と、ハーフトーン処理で生成された画像データから印刷データを生成する処理と、を含んでいる。プロセッサ110は、印刷データを形成実行部300に出力する。形成実行部300は、印刷データに従って、出力ページの画像を印刷する。そして、
図2の処理が終了する。
【0060】
以上のように、本実施例では、データ処理装置190のプロセッサ110は、以下の処理を実行する。
図2のS110では、プロセッサ110は、種々の印刷設定を受け付ける(S110b、S110c)。S320(
図4)では、プロセッサ110は、S110で受け付けた印刷設定のセット(本実施例では、対象レイアウト設定と対象シートサイズ設定を含む)に対応付けられる形成サイズに、対象形成サイズ(すなわち、第1形成サイズ)を決定する。そして、プロセッサ110は、第1形成サイズで注目ページが印刷されるように、注目ページのラスタデータを生成する。このように、S110で受け付けられる印刷設定のセットは、画像の形成サイズとしての第1形成サイズの指定の例である。
【0061】
S110a(
図2)では、プロセッサ110は、入力画像データを受け付ける。
図3(A)に示すように、入力画像データは、Q枚(Qは1以上の整数)の入力ページのそれぞれの画像を表している。ここで、入力ページの総数Qは、2以上であってよい。Q枚の入力ページは、コード画像を含む入力ページ(例えば、第3入力ページPi3)と、コード画像を含まない入力ページ(例えば、第1入力ページPi1)と、を含み得る。
【0062】
S120-S290(
図2)では、プロセッサ110は、形成実行部300に入力画像データの画像形成を実行させる。
図4のS320、
図7で説明したように、プロセッサ110は、コード画像を含まない第1入力ページPi1の画像形成を、第1形成サイズ(すなわち、対象形成サイズ)で、形成実行部300に実行させる。このように、プロセッサ110は、受け付けた印刷設定のセット(すなわち、第1形成サイズの指定)に適する画像形成を、形成実行部300に実行させることができる。また、
図6のS430、
図7で説明したように、プロセッサ110は、コード画像を含む第3入力ページPi3の画像形成を、第1形成サイズよりも大きい形成サイズである拡大形成サイズ(第2形成サイズと呼ぶ)で、形成実行部300に実行させる。このように、プロセッサ110は、コード画像を含む入力ページの適切な画像形成を、形成実行部300に実行させることができる。例えば、印刷された入力ページに含まれるコード画像の解読の容易性を向上できる。
【0063】
また、
図7に示すように、プロセッサ110は、第2形成サイズでの画像形成(例えば、第3入力ページPi3の形成)を、入力ページの全体が拡大されるように、形成実行部300に実行させる。仮に、入力ページ内のコード画像のみが拡大される場合には、拡大されたコード画像が、入力ページ内の他の要素(例えば、文字など)に重なり得る。本実施例では、そのような不具合の可能性は、低減される。
【0064】
また、本実施例では、入力ページの全体が拡大されることによって、入力ページに含まれるコード画像が、そのまま、拡大される。大きなコード画像を生成する他の方法としては、例えば、コード画像を解読し、解読された情報をエンコードすることによって大きなコード画像を生成する方法が、考えられる。本実施例では、エンコード処理は実行されないので、印刷処理を簡素化できる。
【0065】
また、本実施例では、S160、S270(
図2)で説明したように、プロセッサ110は、基準閾値未満のサイズ指標値を示すコード画像を含む入力ページの画像形成を、第2形成サイズで、形成実行部300に実行させる。サイズ指標値は、S150(
図2)で説明したように、コード画像のサイズの指標値である。S150、S160で使用されるサイズ指標値は、入力ページの画像形成が第1形成サイズ(すなわち、対象形成サイズ)で実行されると仮定する場合における、コード画像のサイズを示している。基準閾値は、コード画像の解読のための基準サイズの例である。
【0066】
Q枚の入力ページは、
図3(A)の第3入力ページPi3と第6入力ページPi6とのように、コード画像を含む2種類の入力ページを含み得る。ここで、第3入力ページPi3は、コード画像ICaのサイズ指標値が基準閾値よりも小さいように、構成されている。第6入力ページPi6は、コード画像ICbのサイズ指標値が基準閾値以上であるように構成されている。そして、
図7に示すように、プロセッサ110は、第3入力ページPi3の画像形成を、第2形成サイズで、形成実行部300に実行させる。このように、プロセッサ110は、形成されたコード画像の解読の容易性を向上できる。また、
図7に示すように、プロセッサ110は、第6入力ページPi6の画像形成を、第1形成サイズで、形成実行部300に実行させる。このように、プロセッサ110は、サイズ指標値が基準閾値以上である場合には、受け付けた印刷設定のセット(すなわち、第1形成サイズの指定)に適する画像形成を、形成実行部300に実行させることができる。
【0067】
また、本実施例では、S110(
図2)は、S110cを含んでいる。S110cでは、プロセッサ110は、シートサイズ設定を受け付ける。S320(
図4)で説明したように、プロセッサ110は、対象シートサイズSS(第1シートサイズSSとも呼ぶ)を含む対象設定セットを使用して、対象形成サイズ(すなわち、第1形成サイズ)を決定する。すなわち、第1形成サイズの指定は、画像を形成すべきシートのサイズとしての第1シートサイズの指定を含んでいる。S430(
図6)で説明したように、拡大形成サイズ(すなわち、第2形成サイズ)は、第1シートサイズSSのシートに1枚の入力ページを印刷するための予め決められた標準の形成サイズである。このように、プロセッサ110は、コード画像を含む入力ページの適切な画像形成を、形成実行部300に実行させることができる。例えば、コード画像を含む第3入力ページPi3(
図7)は、出力ページPo2上で、最大サイズで印刷される。従って、コード画像ICaの解読の容易性を適切に向上できる。また、第1シートサイズSSとは異なるサイズのシートの準備は、省略可能である。
【0068】
また、本実施例では、S110(
図2)は、S110bを含み得る。S110bでは、プロセッサ110は、レイアウト設定を受け付ける。レイアウト設定が受け付けられる場合(すなわち、レイアウト数Nが指定される場合)、S320(
図4)で説明したように、プロセッサ110は、対象レイアウト数Nを含む対象設定セットを使用して、対象形成サイズ(すなわち、第1形成サイズ)を決定する。すなわち、第1形成サイズの指定は、1枚の出力ページ上に配置すべき入力ページの総数の設定としてのNページ(Nは2以上の整数)のレイアウト設定を含んでいる。レイアウト数Nが指定される場合に、プロセッサ110は、対象レイアウト数Nに基づく適切な第1形成サイズを使用できる。
【0069】
B.第2実施例:
図8は、再配置処理の別の実施例を示すフローチャートである。
図8の処理は、
図6の処理の代わりに、S270(
図2)で実行される。
図8のフローチャートは、
図6のS430をS430bに置換したものである。S430bとS430との間の差異は、S430bで決定される拡大形成サイズが、基準閾値に対応付けられる基準形成サイズである点だけである。基準形成サイズは、入力ページの画像形成が基準形成サイズで実行される場合に、印刷された状態のコード画像のサイズ指標値(ここでは、モジュールMdの幅Sm)が基準閾値となるような、形成サイズである。基準形成サイズの決定方法は、種々の方法であってよい。例えば、プロセッサ110は、S150(
図2)で算出されるサイズ指標値に対する基準閾値の比率(>1)を、対象設定セットに対応する対象形成サイズに乗じることによって、基準形成サイズを算出する。S430bでは、プロセッサ110は、記憶装置115から最先過小ページの入力画像データを取得し、取得した入力画像データを基準形成サイズでラスタライズすることによって、ラスタデータを生成する。S470で生成される出力ページデータは、1枚の出力ページ上に配置された拡大形成サイズ(すなわち、基準形成サイズ)の1枚の最先過小ページを表している。
【0070】
図9は、出力ページの例を示す図である。
図9は、
図3(A)の入力ページPi1-Pi8が処理される場合の例を示している。
図7の結果との差異は、
図9の入力ページPi3、Pi8の形成サイズが、それぞれ、
図7の入力ページPi3、Pi8の形成サイズよりも小さい点である。なお、
図9の出力ページPo2、Po4上のコード画像ICa、ICcのそれぞれのサイズ指標値は、基準閾値と同じである。
【0071】
このように、本実施例では、プロセッサ110は、入力ページPi3の画像形成が拡大形成サイズ(すなわち、第2形成サイズ)で実行されると仮定する場合において、形成されるコード画像のサイズ指標値が基準閾値であるように、第2形成サイズを決定する。上述したように、サイズ指標値は、コード画像のサイズの指標値であり、基準閾値は、コード画像の解読のための基準サイズの例である。すなわち、プロセッサ110は、入力ページの画像形成が第2形成サイズで実行されると仮定する場合において、コード画像のサイズが基準サイズであるように、第2形成サイズを決定する。従って、プロセッサ110は、形成されたコード画像の解読の容易性を向上できる。また、プロセッサ110は、対象形成サイズ(すなわち、第1形成サイズ)に近い形成サイズで、画像形成を形成実行部300に実行させることができる。
【0072】
なお、本実施例で使用される第2形成サイズは、
図6、
図7の実施例で使用される第2形成サイズよりも小さいサイズであり得る。従って、本実施例では、画像の形成に使用される印刷材(インク、トナーなど)の消費量を低減できる。
【0073】
なお、本実施例では、プロセッサ110は、出力ページの左上の部分に、拡大形成サイズの入力ページを配置する(例えば、出力ページPo2、Po4の左上の部分に、入力ページPi3、Pi8が配置される)。出力ページ上の拡大形成サイズの入力ページの配置は、他の種々の配置であってよい。例えば、出力ページの中央部分に、拡大形成サイズの入力ページが配置されてよい。
【0074】
C.第3実施例:
図10は、再配置処理の別の実施例を示すフローチャートである。
図10の処理は、
図6、または、
図8の処理の代わりに、S270(
図2)で実行される。
図10のフローチャートは、
図6のS430をS430cに置換し、S440とS470との間にS450c、S460cを追加したものである。本実施例では、対象設定セット(すなわち、N up印刷)に基づくコード画像のサイズ指標値が基準閾値未満である場合に、プロセッサ110は、対象レイアウト数Nよりも小さいレイアウト数MのMin1印刷を進行する。
【0075】
S430cでは、プロセッサ110は、「N up」の印刷のために使用可能な複数のレイアウト数のうち、対象レイアウト数Nよりも1段階少ない数を、再配置用のレイアウト数Mとして選択する。例えば、「N up」の印刷として、「1 up」と「2 up」と「4 up」と「8 up」とが使用可能であることとする。そして、対象レイアウト数Nが「4」である場合、プロセッサ110は、再配置用のレイアウト数Mを「4」よりも1段階少ない「2」に設定する。プロセッサ110は、拡大形成サイズを、再配置用のレイアウト数Mと他の印刷設定(本実施例では、対象シートサイズSS)とに予め対応付けられる形成サイズに決定する。そして、プロセッサ110は、記憶装置115から最先過小ページの入力画像データを取得し、取得した入力画像データを拡大形成サイズでラスタライズすることによって、ラスタデータを生成する。
【0076】
S440では、プロセッサ110は、生成したラスタデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0077】
S450cでは、プロセッサ110は、
図10の処理によって生成済のラスタデータの総数R(すなわち、処理済の入力ページ数R)が再配置用のレイアウト数Mと同じであるか否かを判断する。生成済のラスタデータの総数RがM未満であり、かつ、未処理の入力ページが残っている場合(S450c:No)、S460cで、プロセッサ110は、記憶装置115から次の入力ページの入力画像データを取得し、取得した入力画像データを拡大形成サイズでラスタライズすることによって、ラスタデータを生成する。そして、S440で、プロセッサ110は、生成したラスタデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0078】
M個のラスタデータが
図10の処理によって生成済である場合(S450c:Yes)、プロセッサ110は、S470、S480を実行し、
図10の処理を終了する。S470で生成される出力ページデータは、1枚の出力ページ上に再配置用のレイアウト数Mに従って配置されたM枚の入力ページ(最先過小ページを含む)を表している。
【0079】
図11は、出力ページの例を示す図である。
図11は、
図3(A)の入力ページPi1-Pi8が処理される場合の例を示している。第1出力ページPo1は、
図7の第1出力ページPo1と同じである。第2出力ページPo2には、再配置用のレイアウト数M(ここでは、M=2)に従って2枚の入力ページPi3、Pi4が配置されている。第4入力ページPi4の拡大形成サイズのラスタデータは、S460c(
図10)で生成される。
【0080】
第3出力ページPo3は、以下のように、生成される。第2出力ページPo2上の入力ページPi3、Pi4の割り付け(
図2:S270)の後のS120では、プロセッサ110は、第3出力ページPo3上に、対象設定セット(対象レイアウト数N=4)に従って4枚の入力ページPi5-Pi8を割り付ける(図示省略)。ここで、第8入力ページPi8のコード画像ICcのサイズ指標値は、基準閾値未満である(S160:Yes)。続くS270、すなわち、
図10のS410で、プロセッサ110は、最先過小ページPi8よりも先の3枚の入力ページPi5、Pi6、Pi7を、対象設定セット(対象レイアウト数N=4)に従って、1枚の第3出力ページPo3上に割り付ける。これにより、プロセッサ110は、
図11の第3出力ページPo3を表す出力ページデータを生成する。
【0081】
第3出力ページPo3の出力ページデータの生成(S410、S420(
図10))の後、S430c-S480で、プロセッサ110は、最先過小ページPi8を含む出力ページの出力ページデータを生成する。S430cでは、プロセッサ110は、拡大形成サイズで最先過小ページPi8のラスタライズすることによって、ラスタデータを生成する。続くS450cでは、処理済の入力ページ数R(ここでは、1)は、レイアウト数M(ここでは、2)未満である。プロセッサ110は、未処理の入力ページが残っているか否かを判断する。
図11の例では、最先過小ページPi8のラスタライズの後には、未処理の入力ページは残っていない。プロセッサ110は、S450cの判断結果をYesに設定し、S470へ移行する。S470では、プロセッサ110は、R枚の入力ページを、再配置用のレイアウト数Mに従って、1枚の出力ページ上に配置する。
図11の例では、第4出力ページPo4上に、再配置用のレイアウト数M(ここでは、M=2)に従って、1枚の第8入力ページPi8が割り付けられる。
【0082】
以上のように、本実施例では、S320(
図4)で説明したように、プロセッサ110は、対象レイアウト数Nを含む対象設定セットを使用して、第1形成サイズ(すなわち、対象形成サイズ)を決定する。すなわち、第1形成サイズの指定は、1枚の出力ページ上に配置すべき入力ページの総数の設定としてのNページ(Nは2以上の整数)のレイアウト設定を含んでいる。S430c(
図10)で説明したように、プロセッサ110は、Mページ(Mは1以上、N未満の整数)のレイアウト設定のための形成サイズに拡大形成サイズを決定する。すなわち、プロセッサ110は、拡大形成サイズ(すなわち、第2形成サイズ)を、再配置用のレイアウト数M(M<N)と他の印刷設定(本実施例では、対象シートサイズSS)とに予め対応付けられる形成サイズに決定する。このように、プロセッサ110は、再配置用のレイアウト数Mを使用して、適切な第2形成サイズを決定できる。
【0083】
なお、対象レイアウト数Nが2以上である場合、再配置用のレイアウト数Mは、対象レイアウト数N未満の種々の整数であってよい。プロセッサ110は、使用可能な複数のレイアウト数のうち、対象レイアウト数NよりもT段階(Tは、1以上の整数)少ない数に、再配置用のレイアウト数Mを設定してよい。例えば、対象レイアウト数Nが「8」である場合、プロセッサ110は、再配置用のレイアウト数Mを「8」よりも2段階少ない値(例えば、2)に設定してよい。対象レイアウト数Nと再配置用のレイアウト数Mとの間の段階数は、予め決められてよい。また、プロセッサ110は、ユーザの指示に従って、再配置用のレイアウト数Mを決定してよい。いずれの場合も、再配置用のレイアウト数Mは、2以上であることが好ましい。再配置用のレイアウト数Mが2以上である場合、M=1の場合と比べて、印刷に使用されるシート(例えば、用紙)を節約できる。
【0084】
D.第4実施例:
図12は、印刷処理の別の実施例を示すフローチャートである。
図2の実施例との差異は、2点ある。第1の差異は、1枚の出力ページに複数のコード画像が含まれる場合に、最小サイズのコード画像に基づいて、コード画像が小さいか否かが判断される点である。第2の差異は、コード画像に接する空白部分が十分な大きさを有する場合に、再配置処理の代わりに、コード画像が空白部分の範囲内で拡大される点である。
図12において、
図2のステップと同じステップには、同じ符号を付して、説明を省略する。また、上記の実施例と同様に、対象レイアウト数Nが4であり、対象シートサイズSSが「A4」であることとする。
【0085】
図13(A)は、入力ページの例を示す図である。本実施例では、入力画像データが、
図3(A)の入力ページPi1-Pi8に加えて、
図13(A)の入力ページPi9-Pi13を表していることとする。第9入力ページPi9は、2個のコード画像ICd、ICeを含んでいる。ここで、第4コード画像ICdは、第5コード画像ICeよりも小さいこととする。第13入力ページPi13は、第6コード画像ICfを含んでいる。第6コード画像ICfの周囲には、大きい空白部分BLが形成されている。
【0086】
後述するように、過小コード画像に接する空白部分が小さい場合、上記の各実施例と同様に、再配置処理(
図12:S270)によって、出力ページデータが生成される。本実施例のS270には、上記の各実施例(
図6、
図8、
図10)から任意に選択された実施例の再配置処理を適用可能である。以下、
図6、または、
図8の再配置処理が適用されることとする。そして、入力ページPi1-Pi8を表す出力ページとして、
図7、または、
図9の出力ページPo1-Po4が生成されることとする。以下、本実施例の印刷処理のうちの上記の各実施例と異なる部分について、
図13(A)の入力ページPi9-Pi13を参照して説明する。
【0087】
図12のS110、S112、S120、S130、S140は、
図2のS110、S112、S120、S130、S140と、それぞれ同じである。出力ページからコード画像が検出されない場合(S140:No)、プロセッサ110は、S280へ移行する。
【0088】
出力ページから1以上のコード画像が検出される場合(S140:Yes)、S170dで、プロセッサ110は、検出された1以上のコード画像から、最小サイズのコード画像を選択する。コード画像のサイズとしては、モジュールMd(
図5)のサイズではなく、出力ページ上のコード画像のサイズ(例えば、特定辺QS1(
図5)の長さ)が採用される(単位は、画素数)。
【0089】
図13(B)は、S120(
図12)の1ページレイアウト処理(
図4)で生成される出力ページの例を示す図である。出力ページPo5は、対象レイアウト設定(ここでは、4up)に従って配置された4枚の入力ページPi9-Pi12を表している。S130では、この出力ページPo5から、2個のコード画像ICd、ICeが検出される。S170dでは、プロセッサ110は、検出されたコード画像ICd、ICeから、最小のコード画像ICdを選択する。
【0090】
S180dでは、プロセッサ110は、最小のコード画像を使用して、可能縮小率RLaを算出する。S320(
図4)で説明したように、縮小率は、入力ページの形成サイズを示している。可能縮小率RLaは、入力ページの画像形成が可能縮小率RLaによって示される形成サイズで実行される場合に、印刷された状態のコード画像のサイズ指標値(ここでは、モジュールMd(
図5)の幅Sm)が基準閾値となるような、縮小率である。可能縮小率RLaよりも小さい縮小率が使用される場合、サイズ指標値が基準閾値未満となる。可能縮小率RLaによって示される形成サイズは、
図8のS430bで説明した基準形成サイズを示している。プロセッサ110は、基準形成サイズを「1up形成サイズ」で除算することによって、可能縮小率RLaを算出する。
【0091】
図13(B)の出力ページPo5が現行の出力ページである場合、最小のコード画像ICdから、可能縮小率RLaが算出される。
【0092】
S190d(
図12)では、プロセッサ110は、対象縮小率RL1が可能縮小率RLa未満であるか否かを判断する。以下に説明するように、S190dで使用される「RL1<RLa」という条件は、S160(
図2)で使用される「サイズ指標値<基準閾値」という条件と、実質的に同じである。対象縮小率RL1は、S320(
図4)で説明したように、対象設定セット(本実施例では、対象レイアウト数Nと対象シートサイズSS)に基づく縮小率である。RL1<RLaである場合、入力ページの画像形成が対象形成サイズで実行される場合のコード画像のサイズ指標値は、基準閾値未満である。
【0093】
対象縮小率RL1が可能縮小率RLa以上である場合(S190d:No)、プロセッサ110は、S280へ移行する。S280で、未割付の入力ページが残っている場合(S280:No)、プロセッサ110は、S120へ移行する。ここで、
図13(B)の出力ページPo5から算出される可能縮小率RLaが、対象縮小率RL1より大きいこととする(S190d:No)。この場合、プロセッサ110は、次のS120で、未割付の入力ページ(ここでは、1枚の第13入力ページPi13)を、1枚の出力ページに、対象設定セット(ここでは、4up)に従って割り付ける。
図13(C)は、生成される出力ページの例を示す図である。
【0094】
出力ページPo6が現行の出力ページである場合、S130(
図12)では、プロセッサ110は、第6コード画像ICfを検出する(S140:Yes)。S170dでは、プロセッサ110は、第6コード画像ICfを選択する。S180dでは、プロセッサ110は、第6コード画像ICfを使用して、可能縮小率RLaを算出する。ここで、対象縮小率RL1が可能縮小率RLa未満であることとする(S190d:Yes)。
【0095】
RL1<RLaである場合(S190d:Yes)、S200dで、プロセッサ110は、コード拡大判断処理を実行する。コード拡大判断処理は、コード画像を拡大するための十分なサイズをコード画像に接する空白部分が有しているか否かを判断する処理である。
図14は、コード拡大判断処理の例を示すフローチャートである。プロセッサ110は、現行の出力ページから検出される全てのコード画像のそれぞれに関して、開始L1sと終了L1eとの間のループ処理S505(S510-S550を含む)を実行する。
【0096】
S510では、プロセッサ110は、未処理のコード画像を、処理対象のコード画像である注目コード画像として選択する。
【0097】
S520では、プロセッサ110は、S180d(
図12)で算出された可能縮小率RLaで縮小された注目コード画像のサイズを算出する。
図15(A)は、コード画像のサイズの説明図である。図中には、第6コード画像ICfが示されている。長さWj、Hjは、コード画像ICfの辺QS1、QS2の長さを、それぞれ、示している(単位は、画素数)。これらの長さWj、Hjは、コード画像ICfを含む入力ページPi13(
図13(A))の画像形成が「1up形成サイズ(縮小率=100%)」で実行される場合の、出力ページ上のサイズを示している。以下、長さWj、Hjを、1up長さWj、Hjと呼ぶ。
【0098】
プロセッサ110は、入力画像データを分析することによって、1up長さWj、Hjを算出する。例えば、プロセッサ110は、入力画像データのうち、注目コード画像を含む入力ページ(例えば、
図13(A)の入力ページPi13)を表す画像データを分析する。プロセッサ110は、この分析によって、入力ページの辺PSの長さに対する注目コード画像の特定辺QS1の長さの比率である第2比率を取得する。プロセッサ110は、レイアウト数N=1の場合の出力ページ上の入力ページの辺PSの長さ(単位は、画素数)に第2比率を乗じることによって、特定辺QS1の1up長さWj(単位は、画素数)を算出する。本実施例では、Hj=Wjである。プロセッサ110は、1up長さWj、Hjに可能縮小率RLaを乗じることによって、可能縮小率RLaで縮小されたコード画像の長さWja、Hjaを算出する。この長さWja、Hjaで形成されるコード画像ICfのサイズ指標値は、基準閾値と同じである。以下、長さWja、Hjaを、可能縮小長さWja、Hjaと呼ぶ。また、可能縮小率RLaで縮小された注目コード画像を、可能縮小コード画像と呼ぶ。
【0099】
なお、プロセッサ110は、複数のコード画像に対して、
図14のループ処理S505(すなわち、S520)を実行し得る。本実施例では、プロセッサ110は、複数のコード画像に同じ可能縮小率RLa適用する。一回の画像形成指示で使用される入力画像データによって表される複数のコード画像の間では、モジュールMd(
図5)のサイズは、おおよそ同じであることが期待される。可能縮小率RLaを導いたコード画像とは異なるコード画像に可能縮小率RLaが適用される場合であっても、可能縮小率RLaに従って形成されるコード画像(すなわち、可能縮小コード画像)のサイズ指標値は基準閾値と同じであることが、期待される。
【0100】
S530(
図14)では、プロセッサ110は、現行の出力ページデータを分析することによって、注目コード画像に接する空白部分を検出する。
図15(B)は、出力ページPo6のうちのコード画像ICfを含む部分を示す図である。プロセッサ110は、所定の背景色(本実施例では、白色)を有する複数の画素で構成される連続な部分であって、コード画像ICfに接続される部分を、空白部分BLとして検出する。空白部分BLの外側には、種々のオブジェクト(例えば、文字、イラスト、写真など)を表すオブジェクト部分OPが、配置されている。
【0101】
図15(B)では、空白部分BLは、コード画像ICfを囲んでいる。すなわち、空白部分BLは、コード画像ICfの輪郭の全体と接している。なお、入力ページは、種々の画像を表し得る。例えば、空白部分は、コード画像の輪郭の一部分のみと接し得る。互いに離れた複数の空白部分のそれぞれが、コード画像の輪郭の一部分のみと接し得る。S530(
図14)では、プロセッサ110は、コード画像の輪郭の一部分のみと接する空白部分を検出してよい。コード画像に接する複数の空白部分が検出される場合、プロセッサ110は、以下のように1つの空白部分を選択してよい。プロセッサ110は、コード画像の輪郭のうちの空白部分と接する部分の長さである接触長を、空白部分毎に算出する。そして、プロセッサ110は、最も長い接触長を有する空白部分を選択してよい。なお、プロセッサ110は、コード画像の輪郭の一部分のみと接する空白部分を検出せずに、コード画像を囲む空白部分を検出してよい。
【0102】
S540(
図14)では、プロセッサ110は、空白部分の範囲内で拡大可能なコード画像の最大サイズを算出する。
図15(C)-
図15(F)は、最大サイズの算出の例を示す図である。各図中には、コード画像ICfと、コード画像ICfに接する空白部分BLと、が示されている。
【0103】
本実施例では、
図15(C)に示すように、プロセッサ110は、コード画像ICfを拡大することによって、拡大領域A1を形成する。拡大領域A1は、コード画像ICfと相似な形状を有する領域である。コード画像ICfと拡大領域A1との間では、大きさは異なるが、形状と向きとは同じである。本実施例では、拡大領域A1の形状は、コード画像ICfの形状と同じ矩形である。拡大領域A1の輪郭は、コード画像ICfの辺QS1に平行な2辺L1、L3と、コード画像ICfの辺QS2に平行な2辺L2、L4と、で構成される。
【0104】
コード画像ICfの輪郭の全体がオブジェクト部分OPから離れている場合、プロセッサ110は、拡大領域A1の輪郭の全周に亘って、拡大領域A1を拡大する。
図15(C)の例では、プロセッサ110は、辺L1-L4のそれぞれを、外側に向かって移動させる。ここで、プロセッサ110は、拡大領域A1の重心の位置を、コード画像ICfの重心の位置と同じ位置に維持してよい。
【0105】
図15(D)は、
図15(C)の拡大領域A1から拡大された拡大領域A1を示している。
図15(D)では、拡大領域A1の輪郭の一部(ここでは、辺L2)が、オブジェクト部分OPに接している。プロセッサ110は、拡大領域A1がオブジェクト部分OPの内部と重ならないように、拡大領域A1を更に拡大する。
図15(D)の例では、プロセッサ110は、辺L2を移動させずに、辺L1、L3、L4を外側に移動させる。この結果、拡大領域A1の重心は、コード画像ICfの重心の位置から移動する(図示省略)。
【0106】
図15(E)は、
図15(D)の拡大領域A1から拡大された拡大領域A1を示している。
図15(E)では、拡大領域A1の輪郭の複数の部分(ここでは、辺L1、L2、L3)が、オブジェクト部分OPに接している。この状態からの拡大領域A1の拡大は、オブジェクト部分OPによって禁止される。
【0107】
このように、プロセッサ110は、拡大領域A1の更なる拡大がオブジェクト部分OPによって禁止されるまで、拡大領域A1を拡大する。以下、オブジェクト部分OPとの接触により更なる拡大が禁止されるような拡大領域A1を、接触最大領域A1cと呼ぶ。
【0108】
接触最大領域A1cを決定する方法は、種々の方法であってよい。例えば、プロセッサ110は、拡大領域A1の形状を維持しつつ、拡大領域A1の輪郭を、空白部分BLの範囲内で、少しずつ(例えば、1画素ずつ)拡大することによって、接触最大領域A1cを決定してよい。プロセッサ110は、このような接触最大領域A1cを、空白部分の範囲内で拡大可能なコード画像の領域(最大コード領域と呼ぶ)として採用してよい。
【0109】
なお、コード画像の形成には、クワイエットゾーンと呼ばれるコード画像に接する空白部分を設けることが推奨される場合がある。例えば、QRコードの形成には、QRコードを囲むクワイエットゾーンを設けることが推奨される。プロセッサ110は、接触最大領域A1cの端部にクワイエットゾーンQZを配置し、クワイエットゾーンQZよりも内側の領域を、最大コード領域として採用することが好ましい。
【0110】
図15(F)は、
図15(E)の接触最大領域A1cから得られる最大コード領域A1mの例を示している。プロセッサ110は、接触最大領域A1c(
図15(E))の端部にクワイエットゾーンQZを配置し、クワイエットゾーンQZを除いた残りの領域を、最大コード領域A1mとして採用する。クワイエットゾーンの好ましい大きさは、コード画像の種類毎に予め決められている。例えば、QRコードのクワイエットゾーンの幅(例えば、
図15(E)のクワイエットゾーンQZの幅QW)は、1個のモジュールMd(
図5)の幅Smの4倍以上であることが推奨される。プロセッサ110は、コード画像が接触最大領域と同じサイズまで拡大される場合のコード画像のモジュールMdの幅Smに基づいて、クワイエットゾーンの大きさを決定してよい。
図15(E)、
図15(F)では、プロセッサ110は、接触最大領域A1cと同じサイズまで拡大されたコード画像ICfのモジュールMdの幅Smの4倍に、クワイエットゾーンQZの幅QWを決定する。
【0111】
図15(F)には、最大コード領域A1mの長さWb、Hbが示されている。長さWbは、辺L1、L3の長さであり、長さHbは、辺L2、L4の長さである。以下、長さWb、Hbを、最大長さWb、Hbと呼ぶ。最大長さWb、Hbは、コード画像の最大サイズの例である。
【0112】
S550(
図14)では、プロセッサ110は、可能縮小コード画像(S520)が空白部分の範囲内に配置可能であるか否かを判断する。本実施例では、Yesの判断結果のための配置条件は、最大長さWbが、対応する可能縮小長さWja以上であり、かつ、最大長さHbが、対応する可能縮小長さHja以上であることである。以下、
図15(A)、
図15(F)の長さWja、Hja、Wb、Hbが、配置条件を満たすこととする。配置条件が満たされる場合(S550:Yes)、プロセッサ110は、S510へ移行し、次のコード画像のループ処理S505を実行する。
【0113】
全てのコード画像に関して配置条件が満たされる場合(S550:Yes)、S560で、プロセッサ110は、コード拡大判断処理の判断結果を「空白十分」に設定し、
図14の処理、すなわち、
図12のS200dの処理を終了する。
図13(C)の出力ページPo6が現行の出力ページである場合、全てのコード画像(ここでは、1個のコード画像ICf)の配置条件(S550(
図14))が満たされ、判断結果は「空白十分」に設定されることとする。
【0114】
なお、1以上のコード画像に関して配置条件が満たされない場合(
図14:S550:No)、プロセッサ110は、ループ処理S505を終了し、S570で、判断結果を「空白不十分」に設定する。そして、プロセッサ110は、
図14の処理、すなわち、
図12のS200dの処理を終了する。
【0115】
S200d(
図12)の後、S210dで、プロセッサ110は、コード拡大判断処理の判断結果が「空白十分」であるか否かを判断する。判断結果が「空白不十分」である場合(S210d:No)、S270で、プロセッサ110は、再配置処理を実行し、S280へ移行する。ここで、
図3(A)の入力ページPi3、Pi8は、S270で処理されることとする。すなわち、入力ページPi3、Pi8のコード画像ICa、ICcに関しては、
図12のS190dの判断結果がYesであり、
図14のS550の配置条件が満たされないこととする(
図12:S210d:No)。この場合、S270で、プロセッサ110は、拡大形成サイズの入力ページPi3、Pi8を表す出力ページを生成する。上述したように、本実施例のS270には、
図6、または、
図8の再配置処理が適用されることとする。そして、
図7、または、
図9の出力ページPo1-Po4が生成されることとする。
【0116】
コード拡大判断処理の判断結果が「空白十分」である場合(S210d:Yes)、S220dで、プロセッサ110は、現行の出力ページに含まれる過小コード画像のそれぞれを空白部分の範囲内で拡大する。
図15(G)は、拡大されたコード画像ICfの例を示す図である。長さWjc、Hjcは、拡大されたコード画像ICfの辺QS1、QS2の長さを、それぞれ、示している(単位は、画素数)。後述するように、拡大されたコード画像ICfを含む入力ページの画像形成は、対象形成サイズで実行される。長さWjc、Hjcは、このような画像形成が実行される場合に、拡大されたコード画像ICfのサイズ指標値が基準閾値以上となるように、決定される。本実施例では、プロセッサ110は、最小限の拡大を行う。すなわち、プロセッサ110は、拡大されたコード画像ICfのサイズ指標値が基準閾値と同じであるように、長さWjc、Hjcを決定する。これに代えて、プロセッサ110は、長さWjc、Hjcを、最大コード領域A1mの最大長さWb、Hbに設定してよい。
【0117】
ここで、1up長さWj、Hj(
図15(A))に対する、拡大されたコード画像の長さWjc、Hjcの比率を、コード縮小率RLcと呼ぶ。コード縮小率RLcは、対象縮小率RL1よりも大きい。すなわち、コード画像は、拡大されている。
【0118】
S220dでは、プロセッサ110は、入力画像データのうち、過小コード画像を含む入力ページを表す画像データを、拡大されたコード画像を表すように、修正する。プロセッサ110は、修正済の入力画像データを使用して、修正済の入力ページを対象形成サイズでラスタライズする。これにより、修正済の入力ページを表す修正済のラスタデータが生成される。ここで、現行の出力ページに含まれる入力ページの総数がU枚であることとする(Uは、1以上、N以下の整数)。プロセッサ110は、U枚の入力ページのうち、過小コード画像を含む全ての入力ページの修正済のラスタデータを生成する。そして、プロセッサ110は、修正済のラスタデータを含むU個のラスタデータを使用して、修正済の出力ページデータを生成する。
【0119】
図13(D)は、S220d(
図12)で生成される修正済の出力ページの例を示している。この修正済の出力ページPo6mは、
図13(C)の出力ページPo6に対応する修正済の出力ページの例である。図示するように、出力ページPo6mは、レイアウト設定に従って配置された修正済の入力ページPi13mを表している。修正済の入力ページPi13mに含まれるコード画像ICfは、
図13(C)のコード画像ICfよりも大きい。
【0120】
このように、S220d(
図12)で生成される出力ページデータは、1枚の出力ページ上に対象設定セットに従って配置されたU枚の入力ページを表している。また、出力ページデータは、拡大されたコード画像を表している。
【0121】
なお、S220dにおいて、修正済の入力ページを表す修正済のラスタデータを生成する方法は、種々の方法であってよい。例えば、プロセッサ110は、拡大されたコード画像を表すように入力ページのラスタデータを修正することによって、修正済のラスタデータを生成してよい。また、プロセッサ110は、拡大されたコード画像を表すように出力ページデータを修正することによって、修正済の出力ページデータを生成してよい。
【0122】
S230dでは、プロセッサ110は、S220dで生成した修正済の出力ページデータを記憶装置115(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、S280へ移行する。
【0123】
未割付の入力ページが残っている場合(S280:No)、プロセッサ110は、S120へ移行する。全ての入力ページが出力ページに割り付け済である場合(S280:Yes)、S290で、プロセッサ110は、形成実行部300に全ての出力ページの印刷を実行させる。
【0124】
以上のように、入力画像データによって表されるQ枚の入力ページは、
図13(A)の第9入力ページPi9のように、複数のコード画像を含む入力ページを含み得る。複数のコード画像は、複数のコード画像のうちの最小サイズのコード画像である最小コード画像を含んでいる(例えば、第9入力ページPi9の複数のコード画像ICd、ICeは、最小コード画像ICdを含んでいる)。
図12のS170d-S190d、S280、S290では、プロセッサ110は、以下の処理を実行する。入力ページPi9の最小コード画像ICdの可能縮小率RLaが対象縮小率RL1以下である場合(S190d:No)、プロセッサ110は、入力ページPi9を含む出力ページPo5(
図13(B))を、変更せずに、維持する。すなわち、S290で、プロセッサ110は、入力ページPi9の第1形成サイズでの画像形成を形成実行部300に実行させる。上述したように、S190dの「RL1<RLa」という条件は、S160(
図2)で使用される「サイズ指標値<基準閾値」という条件と、実質的に同じである。すなわち、プロセッサ110は、最小コード画像ICdのサイズが最小コード画像ICdの解読のための基準サイズ以上である場合に、入力ページPi9の第1形成サイズでの画像形成を形成実行部300に実行させる。このように、プロセッサ110は、複数のコード画像のうちの最小コード画像を使用して、入力ページの画像形成を第1形成サイズで実行すべきか否かを判断できる。プロセッサ110は、全てのコード画像の可能縮小率RLaを算出する場合と比べて、速やかに判断できる。
【0125】
なお、第9入力ページPi9(
図13(B))の上記の処理(すなわち、第1形成サイズでの画像形成)は、出力ページPo5に含まれる他の入力ページPi10-Pi12がコード画像ICdよりも小さいコード画像を含まないことと、S190dの判断結果がNoであることと(すなわち、最小コード画像ICdのサイズ指標値が基準閾値以上であること)、を含む特定の場合に、実行される。出力ページPo5に含まれる他の入力ページがコード画像ICdよりも小さいコード画像を含む場合には、プロセッサ110は、その小さいコード画像を使用して、入力ページPi9の画像形成を第1形成サイズで実行すべきか否かを判断してよい。
【0126】
また、入力画像データによって表されるQ枚の入力ページは、
図13(A)の第13入力ページPi13のように、コード画像と、コード画像に接する空白部分と、を含む入力ページを含み得る(第13入力ページPi13は、コード画像ICfと空白部分BLとを含んでいる)。ここで、対象縮小率RL1が、コード画像ICfの可能縮小率RLa未満であることとする(S190d:Yes)。この場合、コード画像ICfのサイズ指標値は、基準閾値未満である。
【0127】
図15(A)-
図15(F)で説明したように、プロセッサ110は、
図12のS200dで、基準閾値以上のサイズ指標値を有するコード画像ICfを、部分拡大処理を実行することによって形成可能であるか否か判断する。ここで、部分拡大処理は、コード画像ICfを空白部分BLの範囲内で拡大する処理である。サイズ指標値は、入力ページPi13の画像形成が対象形成サイズ(すなわち、第1形成サイズ)で実行されると仮定する場合のサイズ指標値である。「空白十分」の判断結果は、基準閾値以上のサイズ指標値を有するコード画像ICfが形成可能であることを示している。
【0128】
S200dの判断結果が「空白十分」である場合(S210d:Yes)、プロセッサ110は、S220dで、コード画像ICfの部分拡大処理を実行することによって、修正済の入力ページPi13m(
図13(D))の画像を生成する。修正済の入力ページPi13mは、基準閾値以上のサイズ指標値を示すサイズで形成されるように拡大されたコード画像ICfを表している。S290(
図12)では、プロセッサ110は、対象設定セットに従って割り付けられた修正済の入力ページPi13mを含む修正済の出力ページPo6mの画像形成を、形成実行部300に実行させる。すなわち、プロセッサ110は、修正済の入力ページPi13mの画像の形成を、対象形成サイズ(すなわち、第1形成サイズ)で、形成実行部300に実行させる。
【0129】
このように、プロセッサ110は、第1形成サイズでの入力ページの画像形成によって、基準閾値以上のサイズ指標値を示すコード画像を形成できる。
【0130】
E.第5実施例:
図16、
図17は、印刷処理の別の実施例を示すフローチャートである。
図2の実施例との差異は、対象レイアウト数Nが1である点である。この場合、レイアウト数Nの低減によってコード画像を拡大する方法が使用できない。本実施例では、シートサイズを大きくすることによって、コード画像を拡大する。
図16、
図17において、
図2のステップと同じステップには、同じ符号を付して、説明を省略する。
【0131】
S110では、プロセッサ110は、画像形成指示を取得する。ここで、対象レイアウト数Nが「1」であり、対象シートサイズSSが「A5」であり、入力画像データが
図3(A)の入力ページPi1-Pi8を表すこととする。S112は、
図2のS112と同じである。
【0132】
S114eでは、プロセッサ110は、未処理の入力ページのうちの最先の入力ページを、注目ページとして選択する。S116eでは、プロセッサ110は、注目ページの入力画像データを、対象形成サイズ(すなわち、第1形成サイズ)でラスタライズすることによって、ラスタデータを生成する。本実施例では、対象形成サイズは、対象シートサイズSSのための「1up形成サイズ(対象縮小率RL1=100%)」である。プロセッサ110は、生成したラスタデータを使用して、出力ページデータを生成する(ここで、1枚の注目ページが、1枚の出力ページに割り付けられる)。S118eでは、プロセッサ110は、S116eで生成された出力ページデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。
【0133】
S130、S140、S150、S160は、
図2のS130、S140、S150、S160と、それぞれ同じである。出力ページからコード画像が検出されない場合(S140:No)、プロセッサ110は、S280(
図17)へ移行する。検出された全てのコード画像の全てのサイズ指標値が基準閾値以上である場合(S160:No)、プロセッサ110は、S280(
図17)へ移行する。S280では、プロセッサ110は、全ての入力ページが出力ページに割り付け済であるか否かを判断する。未割付の入力ページが残っている場合(S280:No)、プロセッサ110は、S114e(
図16)へ移行し、残りの入力ページを処理する。
【0134】
図18は、出力ページの例を示す図である。ここで、第3入力ページPi3以外の入力ページは、対象シートサイズSSの出力ページに割り付けられることとする(すなわち、
図16のS140:No、または、S160:No)。
【0135】
1以上のサイズ指標値が基準閾値未満である場合(
図16:S160:Yes)、S164eで、プロセッサ110は、注目ページの入力画像データを、第1形成サイズよりも大きい第2形成サイズでラスタライズすることによって、ラスタデータを生成する。本実施例では、第2形成サイズは、対象シートサイズSSよりも大きいシートサイズ(拡大シートサイズと呼ぶ)のための「1up形成サイズ(対象縮小率RL1=100%)」である。拡大シートサイズは、印刷のために使用可能な複数のシートサイズのうち、対象シートサイズSSよりも大きい種々のシートサイズであってよい。本実施例では、拡大シートサイズと対象シートサイズSSとの間の対応関係は、予め決められている。以下、形成実行部300(
図1)は、「A4」と「A5」を使用可能であることとする。そして、「A5」の対象シートサイズSSには、「A4」の拡大シートサイズが対応付けられていることとする。プロセッサ110は、生成したラスタデータを使用して、出力ページデータを生成する(ここで、1枚の注目ページが、1枚の出力ページに割り付けられる)。
【0136】
図18の例では、第3入力ページPi3のコード画像ICaのサイズ指標値が基準閾値未満であることとする(
図16:S160:Yes)。S164eでは、プロセッサ110は、第3入力ページPi3を、「A5」よりも大きい「A4」の出力ページPo3mに割り付けるための標準の形成サイズで、ラスタライズする。
【0137】
S166eでは、プロセッサ110は、S164eで生成された出力ページデータを、記憶装置115(例えば、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、S280(
図17)へ移行する。
【0138】
S280で、全ての入力ページが出力ページに割り付け済である場合(S280:Yes)、S290で、プロセッサ110は、形成実行部300に全ての出力ページの印刷を実行させる。そして、
図16、
図17の印刷処理を終了する。
【0139】
以上のように、本実施例では、S110c(
図16)で、プロセッサ110は、シートサイズ設定を受け付ける。そして、S114e-S290(
図16、
図17)では、プロセッサ110は、形成実行部300に入力画像データの画像形成を実行させる。S116eで説明したように、プロセッサ110は、対象シートサイズSS(すなわち、第1シートサイズ)を含む対象設定セットを使用して、対象形成サイズ(すなわち、第1形成サイズ)を決定する。すなわち、第1形成サイズの指定は、画像を形成すべきシートのサイズの指定を含んでいる。
図18の第1入力ページPi1は、コード画像を含まずに第1形成サイズで印刷される入力ページの例である。S164e(
図16)で説明したように、第1形成サイズよりも大きい第2形成サイズは、対象シートサイズSS(第1シートサイズとも呼ぶ)よりも大きい第2シートサイズのシートに1枚の入力ページを印刷するための予め決められた標準の形成サイズである。
図18の第3入力ページPi3は、コード画像を含み第2形成サイズで印刷される入力ページの例である。このように、プロセッサ110は、コード画像を含む入力ページの適切な画像形成を、形成実行部300に実行させることができる。また、本実施例では、コード画像を含む第3入力ページPi3は、第2シートサイズの出力ページPo3m上で、最大サイズで印刷される。従って、コード画像ICaの解読の容易性を適切に向上できる。
【0140】
F.変形例:
(1)印刷処理は、上記の実施例の印刷処理に限らず、他の種々の処理であってよい。
例えば、
図12の印刷処理において、S170dが省略され、S180dでは、プロセッサ110は、現行の出力ページから検出される全てのコード画像の可能縮小率RLaを算出してよい。S190dでは、プロセッサ110は、対象縮小率RL1が、全てのコード画像の全ての可能縮小率RLa以上である場合に、Noと判断してよい。また、プロセッサ110は、1以上の可能縮小率RLaが、対象縮小率RL1よりも大きい場合に、Yesと判断してよい。この構成によれば、不適切な判断の可能性は低減する。例えば、複数のコード画像の間で、QRコードのバージョンが異なり得る。大きいコード画像のモジュールMd(
図5)の密度は、小さいコード画像のモジュールMdの密度よりも、高い場合がある。この場合、大きいコード画像のモジュールMdの幅Smは、小さいコード画像のモジュールMdの幅Smよりも、小さい。このような場合に、プロセッサ110は、S190dで全てのコード画像の全ての可能縮小率RLaを使用することによって、適切な判断を実行できる。
【0141】
(2)
図12の印刷処理において、S190の判断結果がYesである場合に、プロセッサ110は、S270へ移行してよい。すなわち、S200d、S210d、S220d、S230dは、省略されてよい。
【0142】
(3)
図12の最小コード画像を使用する判断処理S400d(S170d、S180d、S190dで構成される)は、上記の他の実施例に適用されてよい。例えば、
図2、
図16の印刷処理において、S150、S160の代わりに、
図12のS400dが実行されてよい。
【0143】
(4)
図12の部分拡大処理(S220d)は、上記の他の実施例に適用されてよい。例えば、
図2の印刷処理において、S270の代わりに、
図12のS500d(S200d、S210d、S220d、S230d、S270で構成される)が実行されてよい。
【0144】
また、
図16、
図17の印刷処理において、S160の判断結果がYesである場合に、プロセッサ110は、
図12のS600d(S200d、S210d、S220d、S230dで構成される)を実行してよい。ここで、S210dの判断結果がNoである場合に、プロセッサ110は、
図16のS164e、S166eを実行してよい。
【0145】
(5)
図16のS164eで、プロセッサ110は、ユーザの指示に従って拡大シートサイズを決定してよい。
【0146】
(6)
図16、
図17の印刷処理は、対象レイアウト数Nが1である場合の処理である。データ処理装置190には、この印刷処理と、対象レイアウト数Nが2以上である場合の印刷処理(例えば、
図2の印刷処理)と、の両方が実装されてよい。また、
図12の印刷処理は、対象レイアウト数Nが2以上の場合に実行されてよい。そして、データ処理装置190には、
図12の印刷処理と、
図16、
図17の印刷処理と、の両方が実装されてよい。なお、
図12の印刷処理は、対象レイアウト数Nが1である場合にも、実行されてよい。
【0147】
(7)入力ページに含まれるコード画像は、QRコードに限らず、他の種々のコードを表してよい。例えば、コード画像は、1次元バーコードを表してよい。この場合、サイズ指標値(S150(
図2、
図16))は、ナローバーの幅であってよい。可能縮小率RLa(S180d(
図12))は、ナローバーの幅が基準閾値となるように、決定されてよい。コード拡大判断処理(
図12:S200d)では、1次元バーコードの両端のクワイエットゾーンが考慮されることが好ましい。いずれの場合も、基準閾値は、コード画像の種類に適する値に、予め実験的に決定される。コード拡大判断処理では、コード画像の種類に適するクワイエットゾーンが考慮されることが好ましい。
【0148】
(8)入力ページは、複数種類のコード画像を含んでよい。例えば、入力ページは、1次元バーコードとQRコードを含んでよい。コード画像のサイズ指標値(S150(
図2、
図16))の算出方法は、コード画像の種類に応じて異なってよい。サイズ指標値と比較される基準閾値(S160(
図2、
図16))、すなわち、コード画像の解読のための基準サイズは、コード画像の種類に応じて異なってよい。入力ページが複数種類のコード画像を含む場合、基準閾値はコード画像毎に異なってよい。同じ種類の複数のコード画像の間では、基準閾値は同じであってよい。
【0149】
(9)印刷処理は、上記の実施例と変形例との処理に限らず、他の種々の処理であってよい。例えば、
図2、
図16の印刷処理において、S150、S160は省略されてよい。すなわち、コード画像が検出される場合(S140:Yes)、プロセッサ110は、コード画像のサイズに拘わらずに、S270、S164eへ移行してよい。また、プロセッサ110は、全ての入力ページの割り付けが完了するよりも前に、生成済の出力ページデータを使用する画像形成を開始してよい。
【0150】
(10)変更可能な印刷設定からは、レイアウト設定が省略されてよい(すなわち、S110b(
図2、
図12、
図16)は省略されてよい)。この場合、対象レイアウト数Nは固定値(例えば、1)であってよい。この場合、プロセッサ110は、例えば、
図12、または、
図16の印刷処理を実行してよい。
【0151】
変更可能な印刷設定からは、シートサイズ設定が省略されてよい(すなわち、S110c(
図2、
図12、
図16)は省略されてよい)。この場合、対象シートサイズSSは、固定サイズ(例えば、A4)であってよい。この場合、プロセッサ110は、例えば、
図2、または、
図12の印刷処理を実行してよい。
【0152】
(11)出力ページデータのデータ形式は、ビットマップ形式に代えて、他の形式(例えば、PDL形式)であってよい。出力ページデータがPDL形式のデータである場合、プロセッサ110は、特定の形成サイズ(第1形成サイズ、または、第2形成サイズ)で入力ページをラスタライズする処理に代えて、特定の形成サイズでの入力ページの形成を記述するPDL形式の出力ページデータを生成してよい。
【0153】
(12)入力画像データのデータ形式は、PDL形式に代えて、他の形式(例えば、ビットマップ形式)であってよい。入力画像データがビットマップデータである場合、プロセッサ110は、特定の形成サイズ(第1形成サイズ、または、第2形成サイズ)で入力ページをラスタライズする処理に代えて、特定の形成サイズに対応付けられる解像度への解像度変換処理を実行してよい。
【0154】
(13)形成実行部300の構成は、画像を印刷する種々の構成であってよい。例えば、形成実行部300は、印刷用のシートを収容する複数のトレーを備えてよい。複数のトレーの間では、シートのサイズが異なってよい。形成実行部300は、シートを切断するカッターを備えてよい。例えば、トレーはA4サイズのシートを収容し、カッターは、A4サイズのシートを半分に切断することによって、A5サイズのシートを生成してよい。
【0155】
印刷データのデータ形式は、形成実行部300に適する任意のデータ形式であってよい。例えば、印刷データは、RGBのビットマップデータであってよい。また、印刷データは、印刷材の色空間(例えば、CMYK色空間)のビットマップデータであってよい。
【0156】
(14)印刷処理を実行する画像処理装置は、画像形成装置100(
図1)に組み込まれたデータ処理装置190に代えて、パーソナルコンピュータ、スマートフォン、デジタルカメラ、スキャナなど、他の種々の装置であってよい。画像処理装置は、印刷処理(すなわち、印刷のためのデータ処理)を実行する処理装置と、画像を印刷するように構成された形成実行部と、の両方を備えてよい。
図1の画像形成装置100は、印刷処理を実行する処理装置(具体的には、データ処理装置190)と、形成実行部(具体的には、形成実行部300)と、の両方を備える画像処理装置の例である。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、画像処理装置による印刷処理の機能を一部ずつ分担して、全体として、印刷処理の機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
【0157】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、
図2のコード画像の検出機能(S130)を、専用のハードウェア回路によって実現してもよい。
【0158】
また、本開示の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0159】
上記の実施例と変形例とは、適宜に組み合わせることができる。また、上記の実施例と変形例とは、本開示の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0160】
100…画像形成装置、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、130…不揮発性記憶装置、131…プログラム、140…表示部、150…操作部、170…通信インタフェース、190…データ処理装置、300…形成実行部