(57)【要約】【課題】指定される印刷設定に適した調整を行う。【解決手段】印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズと、シートの複数のサイズの中から指定されたサイズである指定サイズを特定する。デフォルトサイズと指定サイズとを用いて、直線領域を決定する。直線領域内に配置されているオブジェクト画素の総数が減少するように、元画像に含まれるオブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、元画像を調整する。または、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす複数の第１種画素と条件を満たさない複数の第２種画素とのうちの直線領域内に配置されている第２種画素の総数が減少するように、元画像に含まれるオブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、元画像を調整する。【選択図】  図１
2018026714.tif 000002
【特許請求の範囲】
【請求項１】
画像処理のためのコンピュータプログラムであって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第１特定機能と、
オブジェクトを含む元画像を表す第１画像データを取得する取得機能と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第２特定機能と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、前記オブジェクトを表す複数のオブジェクト画素と、前記オブジェクトを表さない複数の非オブジェクト画素と、のうち、少なくとも前記非オブジェクト画素が配置されるべき領域であるＮ個（Ｎは１以上の整数）の直線領域を決定する決定機能であって、前記Ｎ個の直線領域のそれぞれは、少なくとも、前記元画像を２つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、
前記直線領域の決定後に、前記Ｎ個の直線領域内に配置されている前記オブジェクト画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、
調整済の画像を表す第２画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項２】
画像処理のためのコンピュータプログラムであって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第１特定機能と、
オブジェクトを含む元画像を表す第１画像データを取得する取得機能と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第２特定機能と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす画素である複数の第１種画素と、前記条件を満たさない画素である複数の第２種画素と、のうち、少なくとも前記第１種画素が配置されるべき領域であるＮ個（Ｎは１以上の整数）の直線領域を決定する決定機能であって、前記Ｎ個の直線領域のそれぞれは、少なくとも、前記元画像を２つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、
前記直線領域の決定後に、前記Ｎ個の直線領域内に配置されている前記第２種画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、
調整済の画像を表す第２画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項３】
請求項１または２に記載のコンピュータプログラムであって、
前記調整機能は、前記指定サイズが前記デフォルトサイズよりも大きいことを含む条件が満たされる場合に、前記元画像を調整する、コンピュータプログラム。
【請求項４】
請求項１から３のいずれかに記載のコンピュータプログラムであって、
前記決定機能は、前記指定サイズのシートを前記デフォルトサイズ以下の複数の部分領域に区分するＮ個の直線をそれぞれ含む前記Ｎ個の直線領域を決定する機能を含む、
コンピュータプログラム。
【請求項５】
請求項１から４のいずれかに記載のコンピュータプログラムであって、
前記決定機能は、
前記印刷実行部による印刷のために指定された印刷方式が、片面印刷方式である場合には、前記Ｎ個の直線領域を、前記元画像を２つの部分領域に区分する第１直線を含む第１領域に決定し、
前記印刷方式が両面印刷方式である場合には、前記Ｎ個の直線領域を、前記第１直線を含む前記第１領域と、前記２つの部分領域のうちの一方の部分領域を前記第１直線に平行に更に２つの部分領域に区分する第２直線を含む第２領域と、に決定する、
機能を含む、コンピュータプログラム。
【請求項６】
請求項１から４のいずれかに記載のコンピュータプログラムであって、
前記元画像の種類が、ポスターであるか否かを判定する判定機能をコンピュータに実現させ、
前記決定機能は、前記元画像の種類が前記ポスターであると判定された場合には、第１決定を行い、前記元画像の種類が前記ポスターではないと判定された場合には、第２決定を行い、
前記第１決定と前記第２決定との間では、前記直線領域の決定の方法が異なる、
コンピュータプログラム。
【請求項７】
請求項６に記載のコンピュータプログラムであって、
前記第１決定は、前記印刷実行部による印刷のために指定された印刷方式が、片面印刷方式と両面印刷方式とのいずれであっても、前記Ｎ個の直線領域を、前記元画像を２つの部分領域に区分する第１直線を含む第１領域に決定し、
前記第２決定は、
前記印刷方式が前記片面印刷モードである場合には、前記Ｎ個の直線領域を、前記第１直線を含む前記第１領域に決定し、
前記印刷モードが前記両面印刷モードである場合には、前記Ｎ個の直線領域を、前記第１直線を含む前記第１領域と、前記２つの部分領域のうちの一方の部分領域を前記第１直線に平行に更に２つの部分領域に区分する第２直線を含む第２領域と、に決定する、
コンピュータプログラム。
【請求項８】
請求項６または７に記載のコンピュータプログラムであって、
前記第１決定は、前記指定サイズが前記デフォルトサイズの２倍以下である場合には、前記直線領域を決定し、前記指定サイズが前記デフォルトサイズの２倍よりも大きい場合には、前記直線領域を決定せず、
前記第２決定は、前記指定サイズが前記デフォルトサイズのＵ倍（Ｕは２よりも大きい値）以下である場合には、前記直線領域を決定し、前記指定サイズが前記デフォルトサイズのＵ倍よりも大きい場合には、前記直線領域を決定せず、
前記印刷制御機能は、前記直線領域が決定されない場合には、前記第１画像データを用いて、前記印刷実行部に前記元画像を印刷させる、
コンピュータプログラム。
【請求項９】
請求項１から８のいずれかに記載のコンピュータプログラムであって、
前記印刷制御機能は、前記第２画像データを、前記コンピュータを備える装置の外部の装置に備えられる前記印刷実行部に送信する機能を含む、
コンピュータプログラム。
【請求項１０】
請求項１から９のいずれかに記載のコンピュータプログラムであって、
前記Ｎ個の直線領域は、それぞれ一定幅の帯状の領域である、コンピュータプログラム。
【請求項１１】
画像処理装置であって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第１特定部と、
オブジェクトを含む元画像を表す第１画像データを取得する取得部と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第２特定部と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、前記オブジェクトを表す複数のオブジェクト画素と、前記オブジェクトを表さない複数の非オブジェクト画素と、のうち、少なくとも前記非オブジェクト画素が配置されるべき領域であるＮ個（Ｎは１以上の整数）の直線領域を決定する決定部であって、前記Ｎ個の直線領域のそれぞれは、少なくとも、前記元画像を２つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定部と、
前記直線領域の決定後に、前記Ｎ個の直線領域内に配置されている前記オブジェクト画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整部と、
調整済の画像を表す第２画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御部と、
を備える、画像処理装置。
【請求項１２】
画像処理装置であって、
印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第１特定部と、
オブジェクトを含む元画像を表す第１画像データを取得する取得部と、
画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第２特定部と、
前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす画素である複数の第１種画素と、前記条件を満たさない画素である複数の第２種画素と、のうち、少なくとも前記第１種画素が配置されるべき領域であるＮ個（Ｎは１以上の整数）の直線領域を決定する決定部であって、前記Ｎ個の直線領域のそれぞれは、少なくとも、前記元画像を２つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定部と、
前記直線領域の決定後に、前記Ｎ個の直線領域内に配置されている前記第２種画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整部と、
調整済の画像を表す第２画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御部と、
を備える、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、印刷すべき画像を調整する技術に関する。
【背景技術】
【０００２】
従来から、紙などのシートに画像を印刷する技術が用いられている。また、印刷後にシートを折る場合に、画像を折り目から外すための補正処理（例えば、画像の移動）を実行する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３５２４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、従来の技術では、印刷設定に依らず、折り目の位置が予め画一的に決められているので、調整された画像の位置が、指定される印刷設定に適していない場合があった。
【０００５】
本明細書は、指定される印刷設定に適した調整を、容易に行うことができる技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書は、例えば、以下の適用例を開示する。
【０００７】
［適用例１］画像処理のためのコンピュータプログラムであって、印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第１特定機能と、オブジェクトを含む元画像を表す第１画像データを取得する取得機能と、画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第２特定機能と、前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、前記オブジェクトを表す複数のオブジェクト画素と、前記オブジェクトを表さない複数の非オブジェクト画素と、のうち、少なくとも前記非オブジェクト画素が配置されるべき領域であるＮ個（Ｎは１以上の整数）の直線領域を決定する決定機能であって、前記Ｎ個の直線領域のそれぞれは、少なくとも、前記元画像を２つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、前記直線領域の決定後に、前記Ｎ個の直線領域内に配置されている前記オブジェクト画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、調整済の画像を表す第２画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、をコンピュータに実現させるコンピュータプログラム。
【０００８】
この構成によれば、少なくとも非オブジェクト画素が配置されるべき直線領域が、デフォルトサイズと、ユーザによって指定された指定サイズと、に応じて決定され、直線領域に含まれるオブジェクト画素の総数が減少するように元画像が調整されるので、画像を、指定される印刷設定に基づいて適切に調整できる。
【０００９】
［適用例２］画像処理のためのコンピュータプログラムであって、印刷に用いられるシートのデフォルトのサイズであるデフォルトサイズを特定する第１特定機能と、オブジェクトを含む元画像を表す第１画像データを取得する取得機能と、画像を印刷実行部によって印刷するためにシートの複数のサイズの中から指定されたサイズである指定サイズを特定する第２特定機能と、前記デフォルトサイズと前記指定サイズとを特定後に、前記デフォルトサイズと前記指定サイズとを用いて、隣の画素との色の差が所定の閾値よりも大きいことを示す条件を満たす画素である複数の第１種画素と、前記条件を満たさない画素である複数の第２種画素と、のうち、少なくとも前記第１種画素が配置されるべき領域であるＮ個（Ｎは１以上の整数）の直線領域を決定する決定機能であって、前記Ｎ個の直線領域のそれぞれは、少なくとも、前記元画像を２つの部分領域に区分する前記元画像の特定の縁から反対側の縁まで延びる直線形状の領域である、前記決定機能と、前記直線領域の決定後に、前記Ｎ個の直線領域内に配置されている前記第２種画素の総数が減少するように、前記元画像に含まれる前記オブジェクトの移動と縮小との少なくとも一方を含む処理を実行することによって、前記元画像を調整する調整機能と、調整済の画像を表す第２画像データを用いて、前記印刷実行部に前記調整済の画像を印刷させる印刷制御機能と、をコンピュータに実現させるコンピュータプログラム。
【００１０】
この構成によれば、少なくとも第１種画素が配置されるべき直線領域が、デフォルトサイズと、ユーザによって指定された指定サイズと、に応じて決定され、直線領域に含まれる第２種画素の総数が減少するように元画像が調整されるので、画像を、指定される印刷設定に基づいて適切に調整できる。
【００１１】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１２】
【図１】実施例のデータ処理装置１００を示す説明図である。
【図２】印刷処理の例を示すフローチャートである。
【図３】シートの折り方の例を示す概略図である。
【図４】直線領域の決定処理の例を示すフローチャートである。
【図５】閾サイズデータＴの説明図である。
【図６】第１決定処理の例を示すフローチャートである。
【図７】直線領域の例を示す概略図である。
【図８】第２決定処理の例を示すフローチャートである。
【図９】文字オブジェクト領域の調整処理の例を示すフローチャートである。
【図１０】文字オブジェクト領域の調整の例を示す説明図である。
【図１１】非文字オブジェクト領域の調整処理の例を示すフローチャートである。
【図１２】対象オブジェクト領域内の画像の特徴に基づく調整処理の例を示すフローチャートである。
【図１３】画像の特徴に基づく調整処理の例を示す説明図である。
【発明を実施するための形態】
【００１３】
Ａ．第１実施例：
図１は、実施例のデータ処理装置１００（画像処理装置１００とも呼ぶ）を示す説明図である。データ処理装置１００は、例えば、パーソナルコンピュータである（例えば、デスクトップコンピュータ、タブレットコンピュータ）。データ処理装置１００は、プロセッサ１１０と、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、画像を表示する表示部１４０と、ユーザによる操作を受け入れる操作部１５０と、インタフェース１９０と、を有している。これらの要素は、バスを介して互いに接続されている。
【００１４】
プロセッサ１１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置１２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、フラッシュメモリである。不揮発性記憶装置１３０は、プログラム１３２を格納している。プロセッサ１１０は、プログラム１３２を実行することによって、プリンタ２１０に画像を印刷させる印刷処理を実行する（詳細は後述）。プログラム１３２は、例えば、プリンタドライバであってよい。プロセッサ１１０は、プログラム１３２の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置１２０、不揮発性記憶装置１３０のいずれか）に、一時的に格納する。
【００１５】
表示部１４０は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部１５０は、ユーザによる操作を受け取る装置であり、例えば、表示部１４０上に重ねて配置されたタッチパネルである。ユーザは、操作部１５０を操作することによって、種々の指示をデータ処理装置１００に入力可能である。
【００１６】
インタフェース１９０は、他の装置と通信するためのインタフェースである（例えば、ＵＳＢインタフェース、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。本実施例では、インタフェース１９０は、有線または無線のネットワークインタフェースであり、ネットワークＮＴに接続されている。ネットワークＮＴには、プリンタ２１０が接続されている。データ処理装置１００は、インタフェース１９０とネットワークＮＴとを介して、プリンタ２１０と通信可能である。
【００１７】
プリンタ２１０は、用紙（印刷媒体の一例）などのシートの上に画像を印刷する装置である。本実施例では、プリンタ２１０は、シアンＣとマゼンタＭとイエロＹとブラックＫのそれぞれのインクを用いるインクジェット式の印刷装置である。なお、プリンタ２１０としては、他の方式（例えば、レーザ方式）の印刷装置を採用してもよい。プリンタ２１０は、印刷を実行する印刷実行部の例である。
【００１８】
図２は、印刷処理の例を示すフローチャートである。本実施例では、データ処理装置１００（図１）のプロセッサ１１０は、プリンタドライバとして、印刷処理を実行する。この印刷処理は、例えば、文書作成プログラムや画像作成プログラムなどのアプリケーションプログラムに対してユーザが印刷指示を入力して、そのアプリケーションプログラムから、プリンタドライバが呼び出された場合に実行される。
【００１９】
Ｓ１００では、プロセッサ１１０は、印刷処理のための種々の設定項目のそれぞれのデフォルトの設定を取得する。印刷処理のための設定項目は、例えば、「シートサイズ」と「印刷方式」とを含んでいる。「シートサイズ」は、予め決められた複数のサイズの中から選択される（例えば、「Ａ４」、「レター」など）。印刷方式は、「片面印刷方式」と「両面印刷方式」とのいずれかに設定される。「片面印刷方式」は、シートの一方側の面のみに画像を印刷する印刷方式である。「両面印刷方式」は、シートの一方側の面と反対側の面との両方に画像を印刷する印刷方式である。本実施例では、プリンタ２１０は、「片面印刷方式」による印刷と「両面印刷方式」による印刷との両方を実行できるように構成されている。
【００２０】
各設定項目のデフォルトの設定は、ユーザが設定を入力しない場合に利用される設定である。デフォルトの設定を表すデフォルトデータは、不揮発性記憶装置１３０に格納されている（図示省略）。プロセッサ１１０は、不揮発性記憶装置１３０のデフォルトデータを参照して、各設定項目のそれぞれのデフォルトの設定を取得する。以下、デフォルトのシートサイズを、デフォルトサイズとも呼ぶ。なお、プロセッサ１１０は、ユーザの指示に応じて、デフォルトデータを、ユーザによって指示された設定を表すように、修正できる。
【００２１】
Ｓ１０５では、プロセッサ１１０は、ユーザからの印刷指示を取得する。プロセッサ１１０は、表示部１４０（図１）に、印刷用の設定画面を表示させる。図示を省略するが、設定画面は、各設定項目の設定を入力するための入力部（例えば、プルダウンメニューや、ラジオボタンなど）を含んでいる。例えば、設定画面は、「シートサイズ」を入力するためのサイズ入力部と、「印刷方式」を入力するための方式入力部と、を含んでいる。ユーザは、操作部１５０を操作することによって、各入力部に好みの設定を入力できる。
【００２２】
ユーザが設定を入力する前には、プロセッサ１１０は、設定画面の各入力部として、対応する設定項目のデフォルトの設定が選択された状態の入力部を、表示する。このように、設定画面には、各設定項目のデフォルトの設定が、表示されている。ユーザは、設定画面を観察することによって、容易に、デフォルトの設定を確認できる。以下、Ｓ１０５で設定されたシートサイズを「指定サイズ」とも呼ぶ。指定サイズは、デフォルトサイズと同じであり得る。ユーザがサイズを指定する情報を入力しなかった場合、指定サイズは、デフォルトサイズと同じである。また、Ｓ１０５で設定された印刷方式を「指定印刷方式」とも呼ぶ。
【００２３】
Ｓ１１０では、プロセッサ１１０は、印刷処理の対象の画像データを取得する（対象データと呼ぶ）。プロセッサ１１０は、プリンタドライバを呼び出したアプリケーションプログラムによって提供される画像データを用いて、対象データを取得する。アプリケーションプログラムによって提供される画像データのデータ形式としては、任意の形式を採用可能である（例えば、ＪＰＥＧ（Joint Photographic Experts Group）形式や、ＰＤＦ（Portable Document Format）形式）。プロセッサ１１０は、提供された画像データを、印刷処理用の解像度のビットマップデータに変換し、得られたビットマップデータを、対象データとして利用する。印刷処理用の解像度、すなわち、矩形状の画像の縦方向の画素数と横方向の画素数とは、予め決められている。これに代えて、印刷処理用の解像度は、Ｓ１０５で設定された指定サイズに応じて決定されてもよい。例えば、印刷に用いられるシート上での画素密度が予め決められた画素密度となるように、印刷処理用の解像度が決定されてもよい。また、本実施例では、対象データは、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の３つの色成分の階調値で各画素の色を表していることとする。
【００２４】
図２のＳ１１０の左側には、対象データによって表される画像ＩＭａ（元画像ＩＭａとも呼ぶ）の例が示されている。元画像ＩＭａは、文字列のオブジェクトＯＢ１と、イラストのオブジェクトＯＢ２と、を表している。なお、元画像ＩＭａは、このような２個のオブジェクトＯＢ１、ＯＢ２を含む画像に代えて、他の種々の数の種々のオブジェクトを含み得る。
【００２５】
なお、プロセッサ１１０は、ユーザによって指定された画像データを用いて、対象データを取得してもよい。例えば、ユーザが、設定画面（Ｓ１０５）に、画像データを特定するための情報（例えば、画像データを格納するデータファイルのファイル名など）を入力してもよい。プロセッサ１１０は、入力された情報によって特定される画像データを用いて、対象データを取得すればよい。いずれの場合も、対象データの取得に用いられる画像データとしては、データ処理装置１００の記憶装置（例えば、不揮発性記憶装置１３０）に格納された画像データが用いられてよく、また、データ処理装置１００に接続された他の装置（例えば、インタフェース１９０に接続されたフラッシュメモリなどの記憶装置）に格納された画像データが用いられてもよい。
【００２６】
Ｓ１２０では、プロセッサ１１０は、対象画像を解析することによって、元画像ＩＭａ内のオブジェクトを表す領域であるオブジェクト領域を特定し、オブジェクト領域毎にオブジェクト領域の種類を「文字」と「非文字」とのいずれかに決定する。
【００２７】
オブジェクト領域を特定する方法としては、公知の方法を採用可能である。例えば、以下の方法を採用してよい。プロセッサ１１０は、公知のエッジ検出フィルタ（例えば、ソーベルフィルタ）を対象データに適用して、元画像ＩＭａ内のエッジを抽出し、そして、エッジ量が予め決められた基準より大きい領域を、オブジェクト領域として特定する。ここで、プロセッサ１１０は、元画像を複数の処理領域（例えば、所定サイズの矩形領域）に分割し、処理領域毎にエッジ量を算出してよい。そして、プロセッサ１１０は、エッジ量が基準よりも大きい処理領域が連続することによって構成される１つの連続な領域を、１つのオブジェクト領域として特定してよい。図２の例では、Ｓ１２０によって、第１オブジェクトＯＢ１を表す第１オブジェクト領域ＯＡ１と、第２オブジェクトＯＢ２を表す第２オブジェクト領域ＯＡ２と、が特定されている。
【００２８】
オブジェクト領域の種類が文字であるか否かを判定する方法としては、公知の方法を採用可能である。例えば、以下の方法を採用してよい。プロセッサ１１０は、オブジェクト領域の輝度のヒストグラムを用いて、当該領域内に含まれる輝度値の種類数Ｃｎを算出する。また、プロセッサ１１０は、オブジェクト領域に含まれる複数の画素を、オブジェクト領域の周囲の色（背景色）に近い色を有する背景画素と、背景画素以外のオブジェクト画素と、に分類し、オブジェクト画素の比率Ｄを算出する。例えば、オブジェクト領域の外周側に隣接する複数の画素の色値の各色成分の平均値（例えば、赤Ｒ、緑Ｇ、青Ｂのそれぞれの平均値Ｒａ、Ｇａ、Ｂａ）が、背景色の色値として用いられる。背景色の色値を中心とする所定範囲が、背景色範囲として用いられる。そして、オブジェクト領域内の複数の画素のうち背景色範囲内の色値を有する画素が、背景画素として用いられる。オブジェクト領域内の複数の画素のうち背景画素以外の画素は、オブジェクト画素として用いられる。オブジェクト画素の比率Ｄは、（オブジェクト画素の数）／（背景画素の数）で表される。文字のオブジェクト領域では、文字以外のオブジェクト領域と比べて、輝度値の種類数Ｃｎ（色の種類数）、および、オブジェクト画素の比率Ｄが、小さい傾向がある。プロセッサ１１０は、判定対象のオブジェクト領域の輝度値の種類数Ｃｎ（色の種類数）が予め決められた第１の閾値より小さく、かつ、オブジェクト画素の比率Ｄが予め決められた第２の閾値より小さい場合に、当該オブジェクト領域の種類が文字であると判定する。図２の例では、第１オブジェクト領域ＯＡ１の種類は、文字と判定され、第２オブジェクト領域ＯＡ２の種類は、非文字と判定される。
【００２９】
Ｓ１３０では、プロセッサ１１０は、対象データを解析することによって、元画像ＩＭａの種類が「ポスター」であるか否かを判定する。元画像の種類がポスターであると判定するためのポスター条件としては、種々の条件を採用可能である。例えば、ポスター条件は、「元画像の面積に対する元画像内の非文字のオブジェクト領域の総面積の割合が、予め決められた閾値以上である」という面積条件が満たされることであってよい。ポスターの画像は、大きな非文字のオブジェクト（例えば、イラストや写真など）を含む場合が多い。従って、上記面積条件を用いて適切な判定が可能である。なお、面積条件の閾値としては、ゼロ％よりも大きく、かつ、１００％よりも小さい種々の値を採用可能である。また、ポスター条件は、「元画像内の文字のオブジェクトによって表される文字の最大サイズが、予め決められた閾サイズ以上である」という文字サイズ条件が満たされることであってもよい。ポスターの画像が文字を含む場合、文字の大きさが大きい場合が多い。従って、上記文字サイズ条件を用いて適切な判定が可能である。また、ポスター条件は、面積条件が満たされ、かつ、文字サイズ条件が満たされることであってもよい。
【００３０】
Ｓ１４０では、プロセッサ１１０は、元画像中の直線領域の決定処理を実行する。直線領域は、シートの折線に対応する領域である。画像の印刷に大きなシートが用いられる場合、印刷済の大きなシートは、折り畳まれて利用され得る。後述するように、元画像内のオブジェクト領域の位置は、オブジェクト領域のうちの特定の部分がシートの折線に重ならないように、調整される。
【００３１】
折り畳まれたシートは、別の小さなシートと共に利用され得る。例えば、折り畳まれた大きなシートと、別の小さなシートとが、１つのファイルに綴じられる。Ｓ１００で説明したデフォルトサイズは、頻繁に利用されるシートのサイズを表している場合が多い。Ｓ１０５で説明した指定サイズがデフォルトサイズよりも大きい場合、ユーザは、指定サイズのシートと、デフォルトサイズの多数のシートとを、まとめて利用しようとしている可能性がある。
【００３２】
シートの折り方には、種々の折り方がある。図３は、シートの折り方の例を示す概略図である。図３（Ａ）〜図３（Ｃ）には、シートＳＨが折り畳まれる様子が示されている。図３（Ａ）の例では、矩形状のシートＳＨが、第１折線Ｌ１で二つ折りにされている。第１折線Ｌ１は、シートＳＨの長辺Ｓａから反対側の長辺Ｓｂまで延びる直線であり、シートＳＨを二等分する直線である。すなわち、第１折線Ｌ１は、長辺Ｓａの中点Ｐａから、反対側の長辺Ｓｂの中点Ｐｂまで延びている。図３（Ｂ）の例では、シートＳＨが、第１折線Ｌ１で二つ折りにされ、さらに、シートＳＨのうちの第１折線Ｌ１から見て一方側の部分ＳＨａが、第１折線Ｌ１に平行な第２折線Ｌ２でさらに二つ折りにされている。第２折線Ｌ２は、部分ＳＨａを二等分する直線である。図３（Ｃ）の例では、シートＳＨが、第１折線Ｌ１と第３折線Ｌ３とで、四つ折りにされている。第３折線Ｌ３は、第１折線Ｌ１を垂直に二等分する直線であり、シートＳＨの短辺Ｓｃの中点Ｐｃから反対側の短辺Ｓｄの中点Ｐｄまで延びている。このように、シートＳＨは、種々の折り方で折り畳まれ得る。
【００３３】
指定サイズのシートの適切な折り方は、状況に応じて異なり得る。指定サイズのシートとデフォルトサイズのシートとがまとめて利用される場合、指定サイズのシートの適切な折り方は、指定サイズとデフォルトサイズとの組み合わせに応じて異なり得る。例えば、指定サイズがデフォルトサイズの２倍のサイズである場合、図３（Ａ）のような二つ折りが適切である。ここで、両面印刷方式が利用される場合、ユーザは、図３（Ｂ）の折り方を採用することによって、シートの一方側の面と反対側の面との両方を容易に観察できる。また、指定サイズがデフォルトサイズの４倍のサイズである場合、図３（Ｃ）のような四つ折りが適切である。
【００３４】
図２のＳ１４０では、プロセッサ１１０は、デフォルトサイズと指定サイズとを用いて、元画像内の直線領域を決定する。決定される直線領域は、画像が印刷された指定サイズのシートを折り畳む場合の折線に重なることが想定された領域である。図４は、直線領域の決定処理の例を示すフローチャートである。Ｓ３００では、プロセッサ１１０は、指定サイズが閾サイズよりも大きいか否かを判定する。デフォルトサイズと比べて指定サイズが大幅に大きい場合、例えば、デフォルトサイズがＡ６サイズであり、指定サイズがＡ３サイズである場合、ユーザは、指定サイズのシートを折り畳むことを意図していないと推定される。そこで、本実施例では、指定サイズが、閾サイズよりも大きい場合（Ｓ３００：Ｙｅｓ）、図４の処理を終了して、直線領域を決定する処理をキャンセルする。なお、本実施例では、２つのシートサイズの間の大小関係は、各シートサイズの面積を用いて、判定される。例えば、指定サイズの面積が閾サイズの面積よりも大きい場合に、指定サイズが閾サイズよりも大きいと判定される。２つのシートサイズの大きさを比較する後述する他のステップについても、同様である。
【００３５】
図５は、閾サイズデータＴの説明図である。閾サイズデータＴは、デフォルトサイズと閾サイズとの対応関係を表すデータであり、プログラム１３２に予め組み込まれている。図５では、複数のデフォルトサイズが、小さい順番に並んで示されている。図５の例では、閾サイズは、デフォルトサイズよりも大きいサイズに設定されている。例えば、Ａ６のデフォルトサイズには、デフォルトサイズの４倍のＡ４の閾サイズが対応付けられている。Ｂ６のデフォルトサイズには、デフォルトサイズの４倍のＢ４の閾サイズが対応付けられている。Ａ５のデフォルトサイズには、デフォルトサイズの４倍のＡ３の閾サイズが対応付けられている。なお、本実施例では、プリンタ２１０が印刷に利用可能なシートの最大サイズは、Ａ３サイズである。従って、最大のデフォルトサイズは、Ａ３サイズである。また、最大の閾サイズは、Ａ３サイズである。図４のＳ３００では、プロセッサ１１０は、この閾サイズデータＴを参照して、デフォルトサイズに対応付けられた閾サイズを特定し、指定サイズが閾サイズよりも大きいか否かを判定する。指定サイズが閾サイズよりも大きい場合（Ｓ３００：Ｙｅｓ）、プロセッサ１１０は、図４の処理を終了する。
【００３６】
なお、図５の閾サイズデータＴでは、Ａ３のデフォルトサイズに対応する閾サイズは、省略されている。デフォルトサイズに対応する閾サイズが省略されている場合、指定サイズに拘わらず、指定サイズは閾サイズよりも大きいと判断される。
【００３７】
指定サイズが閾サイズ以下である場合（図４：Ｓ３００：Ｎｏ）、Ｓ３１０で、プロセッサ１１０は、指定サイズがデフォルトサイズより大きいか否かを判定する。指定サイズがデフォルトサイズ以下である場合、ユーザは、指定サイズのシートを折り畳むことを意図していないと推定される。本実施例では、指定サイズがデフォルトサイズ以下である場合（Ｓ３１０：Ｎｏ）、図４の処理を終了して、直線領域を決定する処理をキャンセルする。
【００３８】
指定サイズがデフォルトサイズより大きい場合（Ｓ３１０：Ｙｅｓ）、Ｓ３２０で、プロセッサ１１０は、元画像の種類が「ポスター」であるか否かを判定する。元画像の種類がポスターである場合（Ｓ３２０：Ｙｅｓ）、プロセッサ１１０は、Ｓ３３０で、第１決定処理を実行して元画像内の直線領域を決定し、図４の処理を終了する。元画像の種類がポスターではない場合（Ｓ３２０：Ｎｏ）、プロセッサ１１０は、Ｓ３４０で、第２決定処理を実行して元画像内の直線領域を決定し、図４の処理を終了する。
【００３９】
図６は、第１決定処理（図４：Ｓ３３０）の例を示すフローチャートである。Ｓ４００では、プロセッサ１１０は、指定サイズがデフォルトサイズの２倍以下であるか否かを判定する。指定サイズがデフォルトサイズの２倍よりも大きい場合には、ユーザは、デフォルトサイズとは無関係に、大きい指定サイズのシートにポスターを印刷することを意図しており、印刷されたポスターを折り畳むことを意図していない可能性がある。本実施例では、指定サイズがデフォルトサイズの２倍よりも大きい場合（Ｓ４００：Ｎｏ）、プロセッサ１１０は、図６の処理を終了して、直線領域を決定する処理をキャンセルする。
【００４０】
指定サイズがデフォルトサイズの２倍以下である場合（Ｓ４００：Ｙｅｓ）、Ｓ４１０で、プロセッサ１１０は、直線領域を、元画像を２つの部分領域に区分する第１直線を含む第１領域に、決定する。そして、プロセッサ１１０は、図６の処理を終了する。
【００４１】
図７は、直線領域の例を示す概略図である。図７（Ａ）には、元画像ＩＭｂが示されている。この元画像ＩＭｂは、非文字のオブジェクトＯＢ２を含んでいる。また、元画像ＩＭｂの種類は「ポスター」であると判定されたこととする。元画像ＩＭｂ中の点線で示された第１直線Ｌａは、矩形状の元画像ＩＭｂを２つの部分領域に区分する直線である。この第１直線Ｌａは、元画像ＩＭｂの長辺Ｓｅのおおよそ中央の位置Ｐｅから、元画像ＩＭｂの反対側の長辺Ｓｆのおおよそ中央の位置Ｐｆまで延びている。この第１直線Ｌａは、指定サイズのシートを二等分するライン（例えば、図３（Ａ）の第１折線Ｌ１）に対応している。すなわち、元画像ＩＭｂが指定サイズのシートに印刷される場合に、第１直線Ｌａは、シートの第１折線Ｌ１に重なる。図７（Ａ）中の第１直線領域Ａａは、第１直線Ｌａを含む領域である。本実施例では、第１直線領域Ａａは、第１直線Ｌａに沿って延びる領域であり、第１直線Ｌａを中心とする一定幅の帯状の領域である。図３（Ａ）の領域Ａ１は、第１折線Ｌ１に沿って延びる一定幅の領域である。図７（Ａ）の元画像ＩＭｂが図３（Ａ）のシートＳＨ上に印刷される場合、元画像ＩＭｂ上の第１直線領域Ａａは、シートＳＨ上の領域Ａ１に重なる。
【００４２】
プロセッサ１１０は、図６のＳ４１０で、このような第１直線を含む第１直線領域を決定し、そして、図６の処理を終了する。なお、後述するように、本実施例では、第１直線領域Ａａの幅は、オブジェクト領域の位置を調整する複数種類の調整処理の間で、異なっている。プロセッサ１１０は、複数種類の調整処理のために、幅が異なる複数種類の第１直線領域を決定する。具体的には、本実施例では、Ｅ画素分の幅（Ｅは２以上の整数。例えば、Ｅ＝１０）の第１直線領域Ａａと、１画素分の幅の第１直線領域Ａａｘと、の２種類の第１直線領域Ａａ、Ａａｘが決定される。後述する他の決定処理で決定される直線領域についても、同様に、幅が異なる２種類の直線領域が決定される。以下、幅の広い直線領域を、広直線領域と呼び、幅の狭い直線領域を、狭直線領域とも呼ぶ。
【００４３】
図８は、第２決定処理（図４：Ｓ３４０）の例を示すフローチャートである。Ｓ４００は、図６のＳ４００と同じである。指定サイズがデフォルトサイズの２倍よりも大きい場合（Ｓ４００：Ｎｏ）、Ｓ４２０で、プロセッサ１１０は、直線領域を、以下のように決定する。すなわち、指定サイズのシートを、デフォルトサイズ以下の複数の部分領域に区分するＮ本（Ｎは、１以上の整数）の折線に対応するＮ本の直線を含むＮ個の直線領域で構成される２組の直線領域セットが決定される。ここで、第１組の直線領域セットは、Ｎ個の広直線領域で構成されるセットであり、第２組の直線領域セットは、Ｎ個の狭直線領域で構成されるセットである。例えば、指定サイズがデフォルトサイズの４倍である場合、図３（Ｃ）の２本の折線Ｌ１、Ｌ３に対応する２本の直線を含む２個の直線領域で構成される直線領域セットが、決定される。図３（Ｃ）の領域Ａ１は、第１折線Ｌ１に沿って延びる一定幅の帯状の領域であり、領域Ａ３は、第３折線Ｌ３に沿って延びる一定幅の帯状の領域である。また、図３（Ｃ）には、シートＳＨに印刷される場合の元画像ＩＭｘの輪郭が、点線で示されている。この元画像ＩＭｘ上の広直線領域のセットは、領域Ａ１に重なる帯状の直線領域と、領域Ａ３に重なる帯状の直線領域と、で構成される。また、元画像ＩＭｘ上の狭直線領域のセットは、第１折線Ｌ１に重なる直線領域と、第３折線Ｌ３に重なる直線領域と、で構成される。
【００４４】
なお、Ｓ４２０で決定される直線領域は、指定サイズとデフォルトサイズとの組み合わせに対応付けて、予め決められている。いずれの場合も、１組の直線領域セットとしては、指定サイズのシートを、デフォルトサイズ以下の複数の部分領域に区分するＮ本（Ｎは、１以上の整数）の直線状の折線に対応する元画像上のＮ本の直線に沿って延びる一定幅のＮ個の直線領域が、決定される。Ｓ４２０で直線領域が決定されたことに応じて、図８の処理は終了する。
【００４５】
指定サイズがデフォルトサイズの２倍以下である場合（Ｓ４００：Ｙｅｓ）、Ｓ４０５で、プロセッサ１１０は、指定印刷方式が「片面印刷方式」であるか否かを判定する。指定印刷方式が「片面印刷方式」である場合（Ｓ４０５：Ｙｅｓ）、Ｓ４１０で、プロセッサ１１０は、直線領域を、元画像を２つの部分領域に区分する第１直線を含む第１領域に、決定する。このＳ４１０は、図６のＳ４１０と同じである。Ｓ４１０で直線領域が決定されたことに応じて、図８の処理は終了する。
【００４６】
指定印刷方式が「片面印刷方式」ではない場合、すなわち、指定印刷方式が「両面印刷方式」である場合（Ｓ４０５：Ｎｏ）、Ｓ４１５で、プロセッサ１１０は、元画像を２つの部分領域に区分する第１直線を含む第１直線領域と、２つの部分領域のうちの一方の部分領域を第１直線に平行に更に２つの部分領域に区分する第２直線を含む第２直線領域と、で構成される２組の直線領域セットを決定する。
【００４７】
Ｓ４１５で決定される各直線領域セットの２つの直線領域は、図３（Ｂ）の２本の折線Ｌ１、Ｌ２に、それぞれ対応している。図３（Ｂ）の領域Ａ１は、第１折線Ｌ１に沿って延びる一定幅の帯状の領域であり、領域Ａ２は、第２折線Ｌ２に沿って延びる一定幅の帯状の領域である。また、図３（Ｂ）には、シートＳＨに印刷される場合の元画像ＩＭｘの輪郭が、点線で示されている。この元画像ＩＭｘ上の広直線領域のセットは、領域Ａ１に重なる帯状の直線領域と、領域Ａ２に重なる帯状の直線領域と、で構成される。また、元画像ＩＭｘ上の狭直線領域のセットは、第１折線Ｌ１に重なる直線領域と、第２折線Ｌ２に重なる直線領域と、で構成される。Ｓ４１５で直線領域が決定されることに応じて、図８の処理は終了する。
【００４８】
以上のように、図６、図８の決定処理が終了することによって、図４の決定処理（すなわち、図２のＳ１４０）が終了する。図２のＳ１４５では、プロセッサ１１０は、直線領域が決定されたか否かを判定する。直線領域が決定されていない場合（Ｓ１４５：Ｎｏ）、Ｓ２１０で、プロセッサ１１０は、元画像を表す印刷データを生成する。本実施例では、対象データに対して、印刷コマンドなどの制御データを付加するデータ形成処理が実行されて、印刷データが生成される。印刷データは、指定サイズのシートに、指定印刷方式で、画像を印刷するための印刷コマンドを含んでいる。
【００４９】
Ｓ２２０では、プロセッサ１１０は、生成された印刷データを、プリンタ２１０へ送信する。Ｓ２３０では、プリンタ２１０は、受信した印刷データに従って、画像をシートに印刷する。これにより、図２の印刷処理が終了する。
【００５０】
図２のＳ１４０で直線領域が決定された場合（Ｓ１４５：Ｙｅｓ）、Ｓ１５０で、プロセッサ１１０は、文字オブジェクト領域の調整処理を実行する。図９は、文字オブジェクト領域の調整処理の例を示すフローチャートである。この調整処理では、文字オブジェクト領域内の複数の画素から、文字を表す複数のオブジェクト画素と、文字を表さない複数の非オブジェクト画素と、が特定され、直線領域内に配置されているオブジェクト画素の総数が減少するように、文字オブジェクト領域の位置が調整される。直線領域のセットとして、広直線領域のセットが用いられる。なお、図９の調整処理は、１つの文字オブジェクト領域の処理を示している。元画像に複数の文字オブジェクト領域が含まれる場合には、文字オブジェクト領域毎に、図９の処理が実行される。以下、処理対象のオブジェクト領域を、単に、対象オブジェクト領域とも呼ぶ。また、図９では図示を省略するが、文字オブジェクト領域が直線領域に重なっていない場合、プロセッサ１１０は、その文字オブジェクト領域を、移動させない（調整処理はキャンセルされる）。
【００５１】
図１０は、文字オブジェクト領域の調整の例を示す説明図である。図１０（Ａ）には、元画像ＩＭｃが示されている。この元画像ＩＭｃは、文字のオブジェクトＯＢ１を含んでいる。図１０（Ａ）の例では、図７（Ａ）の例と同様に、元画像ＩＭｃを２つの部分領域に区分する第１直線領域Ａａが、決定されている。以下、図１０（Ａ）のオブジェクト領域ＯＡ１を処理対象のオブジェクト領域の例として用いて、説明を行う。
【００５２】
図９のＳ５００では、プロセッサ１１０は、対象オブジェクト領域内の複数の画素を、オブジェクト（ここでは、文字）を表すオブジェクト画素と、オブジェクトを表さない非オブジェクト画素と、に分類する。分類方法としては、種々の方法を採用可能である。例えば、図２のＳ１２０のオブジェクト領域の種類が文字であるか否かを判定する方法で用いたオブジェクト領域の複数の画素をオブジェクト画素と背景画素とに分類する方法と同じ方法を採用してよい。背景画素は、非オブジェクト画素として用いられる。このように、非オブジェクト画素としては、元画像中の背景を表す画素が用いられる。
【００５３】
図９のＳ５０５では、プロセッサ１１０は、対象オブジェクト領域の移動量Ａｍを、１に初期化する。Ｓ５１０では、プロセッサ１１０は、対象オブジェクト領域の仮移動の位置を、元の位置から、対象オブジェクト領域に重なる直線領域の延びる方向に垂直な第１方向に向かって移動量Ａｍだけ移動した位置に、決定する。図１０（Ａ）には、第１方向Ｄｉと第２方向Ｄｊとが示されている。第１直線領域Ａａの延びる方向（すなわち、第１直線Ｌａに平行な方向）に垂直な２つの方向のうち、一方が第１方向Ｄｉとして用いられ、他方（すなわち、第１方向Ｄｉに反対の方向）が第２方向Ｄｊとして用いられる。図１０（Ａ）の例では、図９のＳ５１０で、プロセッサ１１０は、オブジェクト領域ＯＡ１の仮移動の位置を、元の位置から第１方向Ｄｉに向かって移動量Ａｍだけ移動した位置に、決定する。本実施例では、移動量Ａｍの単位は、画素数である。図１０（Ｂ）は、仮移動の位置に移動したオブジェクト領域ＯＡ１の例を示している。この例では、オブジェクト領域ＯＡ１は、元の位置（図１０（Ａ））から、第１方向Ｄｉに向かって、移動している。
【００５４】
図９のＳ５２０では、プロセッサ１１０は、仮移動の位置の対象オブジェクト領域が、以下の条件Ｃ１、Ｃ２を満たすか否かを判定する。
条件Ｃ１）対象オブジェクト領域が、他のオブジェクト領域に重ならない。
条件Ｃ２）直線領域内の総画素数に対する対象オブジェクト領域のオブジェクト画素の総数の割合Ｒｏ（オブジェクト画素割合Ｒｏと呼ぶ）が、予め決められた閾値Ｒｔｈ以下である
【００５５】
条件Ｃ１は、元画像では互いに離れていた複数のオブジェクト領域がオブジェクト領域の移動によって重なることを避けるための条件である。既に、他のオブジェクト領域の位置が調整済である場合、仮移動の位置の対象オブジェクト領域が、調整された位置の他のオブジェクト領域に重なるか否かが判定される。条件Ｃ２は、文字を表すオブジェクト画素が直線領域に配置されることを抑制するための条件である。すなわち、条件Ｃ２は、直線領域が、非オブジェクト画素が配置されるべき領域であることを示している。
【００５６】
図１０（Ａ）の例では、オブジェクト領域ＯＡ１の文字が第１直線領域Ａａに重なっている。これにより、第１直線領域Ａａ内において、文字を表すオブジェクト画素の割合Ｒｏは、閾値Ｒｔｈよりも大きい。一方、図１０（Ｂ）の例では、仮移動の位置のオブジェクト領域ＯＡ１の複数の文字列の行間の背景部分が、第１直線領域Ａａに重なっている。これにより、第１直線領域Ａａ内において、文字を表すオブジェクト画素の割合Ｒｏは、閾値Ｒｔｈ以下である。
【００５７】
Ｓ５２０において、条件Ｃ１、Ｃ２の両方が満たされる場合（Ｓ５２０：Ｙｅｓ）、Ｓ５７０で、プロセッサ１１０は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す調整済画像データを生成し、図９の処理を終了する。例えば図１０（Ｂ）のように、仮移動の位置のオブジェクト領域ＯＡ１の文字が第１直線領域Ａａに重ならない場合に、オブジェクト領域ＯＡ１は、仮移動の位置に移動され、移動したオブジェクト領域ＯＡ１を表す調整済画像ＩＭｃｍを表す調整済画像データが、生成される。以上により、文字が折り目に重なって読みにくくなることを抑制できる。なお、調整済画像データは、例えば、対象データを修正することによって、生成される。
【００５８】
図９のＳ５２０で条件Ｃ１、Ｃ２の少なくとも１つが満たされない場合（Ｓ５２０：Ｎｏ）、Ｓ５３０で、プロセッサ１１０は、対象オブジェクト領域の仮移動の位置を、元の位置から、Ｓ５１０で用いた第１方向に反対の第２方向に向かって移動量Ａｍだけ移動した位置に、決定する。そして、Ｓ５４０では、プロセッサ１１０は、仮移動の位置の対象オブジェクト領域が、上述した条件Ｃ１、Ｃ２を満たすか否かを判定する。条件Ｃ１、Ｃ２が満たされる場合（Ｓ５４０：Ｙｅｓ）、Ｓ５７０で、プロセッサ１１０は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す画像データを生成し、図９の処理を終了する。
【００５９】
Ｓ５４０で条件Ｃ１、Ｃ２の少なくとも１つが満たされない場合（Ｓ５４０：Ｎｏ）、Ｓ５５０で、プロセッサ１１０は、移動量Ａｍを、より大きな値に更新する。本実施例では、移動量Ａｍに１が加算される。Ｓ５６０では、プロセッサ１１０は、移動量Ａｍが、予め決められた上限量Ａｍｔｈ未満であるか否かを判定する。上限量Ａｍｔｈは、オブジェクト領域を移動させる場合の最大の移動量である。上限量Ａｍｔｈは、オブジェクト領域の移動に起因して画像全体の外観が過度に損なわれないように、予め決定される。
【００６０】
移動量Ａｍが上限量Ａｍｔｈ未満である場合（Ｓ５６０：Ｙｅｓ）、プロセッサ１１０は、Ｓ５１０に移行し、更新された移動量Ａｍを用いた処理を実行する。そして、条件Ｃ１、Ｃ２が満たされる、または、移動量Ａｍが上限量Ａｍｔｈ以上となるまで、移動量Ａｍの更新と更新済みの移動量Ａｍを用いた処理とが、繰り返される。移動量Ａｍが上限量Ａｍｔｈ以上となった場合（Ｓ５６０：Ｎｏ）、プロセッサ１１０は、対象オブジェクト領域を移動させずに、図９の処理を終了する。以上により、文字オブジェクトの調整処理、すなわち、図２のＳ１５０が終了する。
【００６１】
図２のＳ１６０では、プロセッサ１１０は、非文字オブジェクト領域の調整処理を実行する。図１１は、非文字オブジェクト領域の調整処理の例を示すフローチャートである。この調整処理では、非文字オブジェクト領域は、直線領域と重ならない位置に、移動される。直線領域のセットとしては、広直線領域のセットが用いられる。また、直線領域と重ならない位置に移動するための移動量が上限量を超える場合、非文字オブジェクト領域内の画像に応じて、位置が調整される（Ｓ６７０）。なお、図１１の調整処理は、１つの非文字オブジェクト領域の処理を示している。元画像に複数の非文字オブジェクト領域が含まれる場合には、非文字オブジェクト領域毎に、図１１の処理が実行される。以下、処理対象のオブジェクト領域を、単に、対象オブジェクト領域とも呼ぶ。また、図１１では図示を省略するが、非文字オブジェクト領域が直線領域に重なっていない場合、プロセッサ１１０は、その非文字オブジェクト領域を、移動させない（調整処理はキャンセルされる）。
【００６２】
図７（Ａ）、図７（Ｂ）には、非文字オブジェクト領域の調整の例が示されている。図７（Ａ）の例では、第２オブジェクト領域ＯＡ２は、第１直線領域Ａａに重なっている。以下、この第２オブジェクト領域ＯＡ２を対象オブジェクト領域の例として用いて、説明を行う。
【００６３】
図１１のＳ６００では、プロセッサ１１０は、対象オブジェクト領域を直線領域に重ならない位置に直線領域の延びる方向に垂直な方向に移動させる場合の最短移動量Ｌｉ、Ｌｊ（図７（Ａ））を特定する。第１最短移動量Ｌｉは、直線領域の延びる方向に垂直な第１方向Ｄｉにオブジェクト領域ＯＡ２を移動させる場合の最短移動量である。第２最短移動量Ｌｊは、第１方向Ｄｉとは反対の第２方向Ｄｊにオブジェクト領域ＯＡ２を移動させる場合の最短移動量である。プロセッサ１１０は、特定した最短移動量Ｌｉ、Ｌｊのうち、小さい方の移動量を、第１候補移動量Ｌｐとして選択し、大きい方の移動量を、第２候補移動量Ｌｑとして選択する。例えば、図７（Ａ）の例では、比較的小さい第２最短移動量Ｌｊが、第１候補移動量Ｌｐとして選択され、比較的大きい第１最短移動量Ｌｉが、第２候補移動量Ｌｑとして選択される。
【００６４】
図１１のＳ６１０では、プロセッサ１１０は、第１候補移動量Ｌｐが上限量Ｌｔｈ未満であるか否かを判定する。上限量Ｌｔｈは、オブジェクト領域を移動させる場合の最大の移動量である。上限量Ｌｔｈは、オブジェクト領域の移動に起因して画像全体の外観が過度に損なわれないように、予め決定される。なお、上限量Ｌｔｈは、図９のＳ５６０で用いられた上限量Ａｍｔｈと同じである。ただし、上限量Ｌｔｈが、上限量Ａｍｔｈと異なっていてもよい。
【００６５】
第１候補移動量Ｌｐが上限量Ｌｔｈ以上である場合（Ｓ６１０：Ｎｏ）、Ｓ６７０で、プロセッサ１１０は、対象オブジェクト領域内の画像の特徴に基づく調整処理を実行し、そして、図１１の処理を終了する。Ｓ６７０の詳細については、後述する。
【００６６】
第１候補移動量Ｌｐが上限量Ｌｔｈ未満である場合（Ｓ６１０：Ｙｅｓ）、Ｓ６２０で、プロセッサ１１０は、対象オブジェクト領域の仮移動の位置を、第１候補移動量Ｌｐに対応付けられた方向に向かって元の位置から第１候補移動量Ｌｐだけ移動した位置に、決定する。第１最短移動量Ｌｉ（図７（Ａ））には、第１方向Ｄｉが対応付けられ、第２最短移動量Ｌｊには、第２方向Ｄｊが対応付けられている。
【００６７】
図１１のＳ６３０では、プロセッサ１１０は、仮移動の位置の対象オブジェクト領域が、他のオブジェクト領域に重ならないという条件Ｃ１が満たされるか否かを判定する。この条件Ｃ１は、図９のＳ５２０の条件Ｃ１と同じである。対象オブジェクト領域が他のオブジェクト領域に重ならない場合（Ｓ６３０：Ｙｅｓ）、Ｓ６８０で、プロセッサ１１０は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す画像データを生成し、図１１の処理を終了する。
【００６８】
図７（Ｂ）は、仮移動の位置に移動したオブジェクト領域ＯＡ２の例を示している。この例では、オブジェクト領域ＯＡ２は、元の位置（図７（Ａ））から、第２方向Ｄｊに向かって、第２最短移動量Ｌｊだけ移動している。移動済のオブジェクト領域ＯＡ２は、第１直線領域Ａａに重なっていない。図１１のＳ６８０では、移動したオブジェクト領域ＯＡ２を表す調整済画像ＩＭｂｍを表す調整済画像データが、生成される。この場合、オブジェクト領域ＯＡ２の美感が折り目によって損なわれることを抑制できる。
【００６９】
図１１のＳ６３０において条件Ｃ１が満たされない場合（Ｓ６３０：Ｎｏ）、Ｓ６４０で、プロセッサ１１０は、第２候補移動量Ｌｑが上限量Ｌｔｈ未満であるか否かを判定する。第２候補移動量Ｌｑが上限量Ｌｔｈ以上である場合（Ｓ６４０：Ｎｏ）、Ｓ６７０で、プロセッサ１１０は、対象オブジェクト領域内の画像の特徴に基づく調整処理を実行し、そして、図１１の処理を終了する（詳細は後述）。
【００７０】
第２候補移動量Ｌｑが上限量Ｌｔｈ未満である場合（Ｓ６４０：Ｙｅｓ）、Ｓ６５０で、プロセッサ１１０は、対象オブジェクト領域の仮移動の位置を、第２候補移動量Ｌｑに対応付けられた方向に向かって元の位置から第２候補移動量Ｌｑだけ移動した位置に、決定する。
【００７１】
Ｓ６６０では、プロセッサ１１０は、仮移動の位置の対象オブジェクト領域が、他のオブジェクト領域に重ならないという条件Ｃ１が満たされるか否かを判定する。対象オブジェクト領域が他のオブジェクト領域に重ならない場合（Ｓ６６０：Ｙｅｓ）、Ｓ６８０で、プロセッサ１１０は、仮移動の位置に移動した対象オブジェクト領域を表す調整済画像を表す調整済画像データを生成し、図１１の処理を終了する。
【００７２】
Ｓ６６０において条件が満たされない場合（Ｓ６６０：Ｎｏ）、Ｓ６７０で、プロセッサ１１０は、対象オブジェクト領域内の画像の特徴に基づく調整処理を実行し、そして、図１１の処理を終了する。
【００７３】
図１２は、図１１のＳ６７０の処理、すなわち、対象オブジェクト領域内の画像の特徴に基づく調整処理の例を示すフローチャートである。図１３は、画像の特徴に基づく調整処理の例を示す説明図である。図１３（Ａ）には、元画像ＩＭｄが示されている。元画像ＩＭｄは、非文字のオブジェクトＯＢ２を含んでいる。図１２の処理では、狭直線領域が用いられる。図１３（Ａ）の例では、図７（Ａ）の狭い第１直線領域Ａａｘと同様に、元画像ＩＭｄを２つの部分領域に区分する第１直線領域Ａａｘが、決定されている。
【００７４】
図１３（Ａ）には、オブジェクト領域ＯＡ２のうちの第１直線領域Ａａｘからの距離が上限距離Ｌｒ以下である許容範囲Ｒｍが示されている。図１２の処理では、第１直線領域Ａａｘが許容範囲Ｒｍ内に位置する範囲内で、オブジェクト領域ＯＡ２の第１直線領域Ａａｘに垂直な方向（例えば、第１方向Ｄｉ）の位置が調整される。上限距離Ｌｒは、オブジェクト領域を移動させる場合の最大の移動量を表している。上限距離Ｌｒは、オブジェクト領域の移動に起因して画像全体の外観が過度に損なわれないように、予め決定される。なお、上限距離Ｌｒは、図９のＳ５６０で用いられた上限量Ａｍｔｈと同じである。ただし、上限量Ｌｔｈが、上限量Ａｍｔｈと異なっていてもよい。以下、元画像ＩＭｄ（図１３（Ａ））においてオブジェクト領域ＯＡ２のうちの第１直線領域Ａａｘに重なる第１方向Ｄｉの画素位置を、元位置Ｐｓと呼ぶ。許容範囲Ｒｍは、元位置Ｐｓを中心とし、上限距離Ｌｒの２倍の幅を有する範囲である。
【００７５】
図１３（Ｂ）には、仮移動の位置に配置されたオブジェクト領域ＯＡ２が示されている。仮移動の位置は、第１直線領域Ａａｘに垂直な第１方向Ｄｉの位置が調整された位置である。仮移動の位置のオブジェクト領域ＯＡ２のうちの第１直線領域Ａａｘに重なる第１方向Ｄｉの画素位置を、第１位置Ｐｔと呼び、第１位置Ｐｔの第１方向Ｄｉ側の隣の画素位置を、第２位置Ｐｕと呼ぶ。仮移動の位置は、第１位置Ｐｔによって特定される。
【００７６】
図１２のＳ７００では、プロセッサ１１０は、第１位置Ｐｔを、「Ｐｓ−Ｌｒ」に初期化する。すなわち、第１位置Ｐｔは、許容範囲Ｒｍ（図１３（Ａ））の第２方向Ｄｊ側の端Ｓｓの位置に、初期化される。後述するように、第１位置Ｐｔは、この端Ｓｓの位置から、許容範囲Ｒｍの第１方向Ｄｉ側の端Ｓｔの位置まで、１画素ずつ更新される。
【００７７】
図１２のＳ７１０では、プロセッサ１１０は、最大指標値Ｄｍａｘを、ゼロに初期化する。最大指標値Ｄｍａｘは、後述する指標値Ｄｔの最大値を示すように更新される。
【００７８】
Ｓ７２０では、プロセッサ１１０は、第１位置Ｐｔが、「Ｐｓ＋Ｌｒ」以上であるか否かを判定する。第１位置Ｐｔが「Ｐｓ＋Ｌｒ」であることは、第１位置Ｐｔが、許容範囲Ｒｍ（図１３（Ａ））の第１方向Ｄｉ側の端Ｓｔの位置と同じであること、すなわち、許容範囲Ｒｍ内の全ての第１位置Ｐｔの処理が完了したことを示している。Ｓ７２０の判定結果がＹｅｓである場合、プロセッサ１１０は、Ｓ７６０に移行する。Ｓ７６０以降の処理については、後述する。
【００７９】
Ｓ７２０の判定結果がＮｏである場合、Ｓ７３０で、プロセッサ１１０は、指標値Ｄｔを算出し、算出した指標値Ｄｔが、最大指標値Ｄｍａｘよりも大きいか否かを判定する。図１３（Ｃ）は、指標値Ｄｔの説明図である。図中には、オブジェクト領域ＯＡ２の複数の画素のうち、第１位置Ｐｔの画素ラインの複数の画素と、隣の第２位置Ｐｕの画素ラインの複数の画素と、が示されている。値ｎは、各画素ラインの画素数を示している。各画素ラインの複数の画素を、画素の並び順に１から始まる整数の番号で識別することとする。第１位置Ｐｔの画素ラインのｋ番の画素を画素Ｐｔ（ｋ）とも呼び、第２位置Ｐｕの画素ラインのｋ番の画素を画素Ｐｕ（ｋ）とも呼ぶ。２本の画素ラインの同じ番号ｋ（１≦ｋ≦ｎ）の２つの画素Ｐｔ（ｋ）、Ｐｕ（ｋ）は、互いに隣接している。以下、同じ番号ｋで特定される画素Ｐｔ（ｋ）、Ｐｕ（ｋ）のペアを、隣接ペアＰｔ（ｋ）、Ｐｕ（ｋ）と呼ぶ。
【００８０】
指標値Ｄｔは、２つの位置Ｐｔ、Ｐｕで特定される２本の画素ラインにおける色の差が大きい隣接ペアの数を表している。指標値Ｄｔが大きいほど、色の差が大きい隣接ペアの数が多い。本実施例では、指標値Ｄｔは、隣接ペアＰｔ（ｋ）、Ｐｕ（ｋ）から算出される画素指標値Ｄｓを、１からｎまでの全ての番号ｋについて足し合わせて得られる値である。画素指標値Ｄｓは、２個の画素Ｐｔ（ｋ）、Ｐｕ（ｋ）のそれぞれの色値Ｖ（Ｐｔ（ｋ））、Ｖ（Ｐｕ（ｋ））の差分の絶対値が、予め決められた閾値Ｄｔｈ以下である場合には、ゼロである。差分の絶対値が閾値Ｄｔｈよりも大きい場合には、画素指標値Ｄｓは、１である。色値Ｖとしては、種々の色成分の階調値を採用可能である。例えば、緑Ｇの階調値、または、ＲＧＢの階調値から算出される輝度値を、色値Ｖとして用いてもよい。１つの色値Ｖに代えて、複数の色成分の複数の差分を用いて、画素指標値Ｄｓを決定してもよい。例えば、赤Ｒと緑Ｇと青Ｂとの３つの差分のうち、少なくとも１つの差分が閾値Ｄｔｈを超えている場合に、画素指標値Ｄｓが１であり、３個の差分の全てが閾値Ｄｔｈ以下である場合に、画素指標値Ｄｓがゼロであってもよい。一般的には、画素指標値Ｄｓとしては、２個の画素Ｐｔ（ｋ）、Ｐｕ（ｋ）の間の色の差が大きい場合に大きくなるような、種々の値を採用可能である。
【００８１】
図１３（Ａ）のオブジェクトＯＢ２は、地面を表す地面領域Ｏｇと、地面領域Ｏｇの輪郭線Ｏｇｏに接するように描かれた自動車Ｏｃと、を表すイラストである。ここで、地面領域Ｏｇは、色が均一な領域であり、地面領域Ｏｇの輪郭線Ｏｇｏは、第１直線領域Ａａｘにおおよそ平行な直線で表されていることとする。指標値Ｄｔは、オブジェクトＯＢ２のうちの第１位置Ｐｔと重なる部分に応じて、変化する。例えば、第１位置Ｐｔが地面領域Ｏｇと重なる場合、指標値Ｄｔは、小さくなる。第１位置Ｐｔが自動車Ｏｃと重なる場合、指標値Ｄｔは、大きくなる。第１位置Ｐｔが、地面領域Ｏｇの輪郭線Ｏｇｏに重なる場合、指標値Ｄｔは、最も大きくなる。
【００８２】
図１２のＳ７３０で、指標値Ｄｔが最大指標値Ｄｍａｘよりも大きい場合（Ｓ７３０：Ｙｅｓ）、Ｓ７４０で、プロセッサ１１０は、最大指標値Ｄｍａｘを、現行の指標値Ｄｔに更新し、最大位置Ｐｐを、現行の第１位置Ｐｔに更新する。そして、プロセッサ１１０は、Ｓ７５０へ移行する。
【００８３】
指標値Ｄｔが最大指標値Ｄｍａｘ以下である場合（Ｓ７３０：Ｎｏ）、プロセッサ１１０は、Ｓ７４０をスキップして、Ｓ７５０へ移行する。
【００８４】
Ｓ７５０では、プロセッサ１１０は、第１位置Ｐｔに１を加算して、第１位置Ｐｔを更新する。そして、プロセッサ１１０は、Ｓ７２０へ移行して、更新された第１位置Ｐｔの処理を実行する。
【００８５】
許容範囲Ｒｍ内の全ての第１位置Ｐｔの処理が終了した場合（Ｓ７２０：Ｙｅｓ）、Ｓ７６０で、プロセッサ１１０は、仮移動の位置を、最大位置Ｐｐに決定する。Ｓ７７０では、プロセッサ１１０は、仮移動の位置の対象オブジェクト領域が、他のオブジェクト領域に重ならないという条件Ｃ１が満たされるか否かを判定する。この条件は、図９のＳ５２０の条件Ｃ１と同じである。対象オブジェクト領域が他のオブジェクト領域に重ならない場合（Ｓ７７０：Ｙｅｓ）、Ｓ７８０で、プロセッサ１１０は、仮移動の位置に対象オブジェクト領域が移動した画像である調整済画像を表す調整済画像データを生成し、図１２の処理を終了する。
【００８６】
図１３（Ｄ）は、仮移動の位置に移動したオブジェクト領域ＯＡ２の例を示している。この例では、オブジェクト領域ＯＡ２は、第１直線領域Ａａｘが地面領域Ｏｇの輪郭線Ｏｇｏに重なる位置に、移動している。これにより、オブジェクト領域ＯＡ２内において、シートの折り目が目立つことを、抑制できる。図１２のＳ７８０では、移動したオブジェクト領域ＯＡ２を表す調整済画像ＩＭｄｍを表す調整済画像データが、生成される。
【００８７】
Ｓ７７０において条件Ｃ１が満たされない場合（Ｓ７７０：Ｎｏ）、プロセッサ１１０は、Ｓ７８０をスキップして、図１２の処理を終了する。この場合、対象オブジェクト領域の位置は、調整されない。
【００８８】
以上により、図１２の処理、すなわち、図１１のＳ６７０の処理が終了する。そして、図１１の処理、すなわち、図２のＳ１６０が終了する。以上説明したＳ１５０、Ｓ１６０の処理を通じて、プロセッサ１１０は、オブジェクト領域の位置が調整された調整済画像を表す調整済画像データを生成する。
【００８９】
図２のＳ１７０では、プロセッサ１１０は、調整済の画像を、表示部１４０（図１）に表示させる。Ｓ１８０では、ユーザは、印刷用の画像として、調整済の画像と、元画像との、いずれかを選択し、操作部１５０を介して、選択結果を入力する。プロセッサ１１０は、操作部１５０を介して、選択結果を取得する。
【００９０】
Ｓ１９０では、プロセッサ１１０は、調整済画像が選択されたか否かを判定する。元画像が選択された場合（Ｓ１９０：Ｎｏ）、プロセッサ１１０は、Ｓ２１０に移行して、元画像を印刷するための上述した処理（Ｓ２１０、Ｓ２２０、Ｓ２３０）を実行し、図２の処理を終了する。
【００９１】
調整済の画像が選択された場合（Ｓ１９０：Ｙｅｓ）、Ｓ２００で、プロセッサ１１０は、調整済の画像を表す印刷データを生成する。本実施例では、Ｓ１５０、Ｓ１６０を通じて生成された調整済画像データに対して、Ｓ２１０の処理と同様の処理（ここでは、データ形成処理）を行うことにより、調整済画像を表す印刷データが生成される。
【００９２】
Ｓ２２０では、プロセッサ１１０は、Ｓ２００で生成された印刷データを、プリンタ２１０へ送信する。Ｓ２３０では、プリンタ２１０は、受信した印刷データに従って、画像をシートに印刷する。これにより、図２の印刷処理が終了する。
【００９３】
以上、オブジェクト領域の位置を調整する調整処理を、第１直線Ｌａに対応する第１直線領域Ａａ、Ａａｘが決定された場合を例として用いて、説明した。図３（Ｂ）、図３（Ｃ）の例のように、複数の直線に対応する複数の直線領域が決定された場合にも、同様に、対象オブジェクト領域の位置が調整される。図３（Ｃ）の例のように、互いに異なる方向に延びる複数の直線領域が決定された場合には、各直線領域に垂直な複数の方向のそれぞれの移動量が決定される。例えば、図９の調整処理では、広直線領域のセットを構成する全ての直線領域を用いて算出されたオブジェクト画素割合Ｒｏを用いてよい。また、図１１の調整処理では、例えば、広直線領域のセットを構成する全ての直線領域と重ならない位置へ移動するための最短移動量を用いてよい。また、図１２の調整処理では、狭直線領域のセットを構成する全ての狭直線領域を用いて算出された指標値Ｄｔを用いてよい。
【００９４】
以上のように、図６と図８のそれぞれの決定処理では、非オブジェクト画素が配置されるべき直線領域が、デフォルトサイズとユーザによって指定された指定サイズとに応じて決定される。そして、図９、図１０の調整処理と、図１１、図７の調整処理とでは、１組の直線領域セット（ここでは、広直線領域のセット）のＮ個（Ｎは１以上の整数）の直線領域内に配置されているオブジェクト画素の総数が減少するように、オブジェクトが移動される。従って、画像を、ユーザによって指定される印刷の設定に基づいて、適切に調整できる。例えば、オブジェクトの途中でシートが折り曲げられることを、抑制できる。なお、図７のオブジェクト領域ＯＡ２のように非文字のオブジェクト領域に関しては、オブジェクト領域内の全ての画素を、オブジェクトを表すオブジェクト画素として扱うことができる。
【００９５】
また、図６と図８のそれぞれの決定処理では、隣の画素との色の差が所定の閾値Ｄｔｈ（図１３（Ｃ））よりも大きいことを示す条件を満たす第１種画素（ここでは、画素指標値Ｄｓが１である画素Ｐｔ（ｋ））が配置されるべき直線領域が、デフォルトサイズとユーザによって指定された指定サイズとに応じて決定される。そして、図１２の調整処理では、１組の直線領域セット（ここでは、狭直線領域のセット）のＮ個（Ｎは１以上の整数）の直線領域内に配置されている、第２種画素の総数が減少するように、オブジェクトが移動される。ここで、第２種画素は、隣の画素との色の差が所定の閾値Ｄｔｈ（図１３（Ｃ））よりも大きいことを示す条件を満たさない画素（ここでは、画素指標値Ｄｓがゼロである画素Ｐｔ（ｋ））である。従って、画像を、ユーザによって指定される印刷の設定に基づいて、適切に調整できる。例えば、オブジェクトのうちの色が均一な部分でシートが折り曲げられることを抑制できる。
【００９６】
また、図４のＳ３１０で説明したように、指定サイズがデフォルトサイズより大きいことを含む条件が満たされる場合に、直線領域が決定され、オブジェクトの位置が調整される。従って、指定サイズのシートが折り畳まれる可能性が高い場合に、オブジェクトの位置を調整できる。また、指定サイズがデフォルトサイズ以下である場合、すなわち、指定サイズのシートが折り畳まれる可能性が低い場合に、意図せずにオブジェクトの位置が調整されることを、抑制できる。
【００９７】
また、図６のＳ４１０は、指定サイズがデフォルトサイズの２倍以下である場合に（Ｓ４００：Ｙｅｓ）、実行される。従って、Ｓ４１０で用いられる第１直線（例えば、図３（Ａ）の第１折線Ｌ１）は、指定サイズのシートをデフォルトサイズ以下の２つの部分領域に区分する直線である。また、図８のＳ４１０、Ｓ４１５は、指定サイズがデフォルトサイズの２倍以下である場合に（Ｓ４００：Ｙｅｓ）、実行される。従って、Ｓ４１０、Ｓ４１５で用いられる第１直線（例えば、図３（Ａ）、図３（Ｂ）の第１折線Ｌ１）は、指定サイズのシートをデフォルトサイズ以下の２つの部分領域に区分する直線である。従って、図６の決定処理（Ｓ４１０）と、図８の決定処理（Ｓ４１０、Ｓ４１５、Ｓ４２０）では、指定サイズのシートをデフォルトサイズ以下の複数の部分領域に区分するＮ個の直線に対応するＮ個の直線領域で構成される２組の直線領域セットが決定される。従って、指定サイズのシートをデフォルトサイズ以下のサイズに折り畳む場合に、直線領域に配置されるべき画素とは異なる画素が、折り目に重なることを抑制できる。なお、直線領域に配置されるべき画素は、例えば、非オブジェクト画素、または、隣の画素との色の差が所定の閾値Ｄｔｈ（図１３（Ｃ））よりも大きい画素である。
【００９８】
また、図８のＳ４０５で説明したように、指定印刷方式が片面印刷方式である場合（Ｓ４０５：Ｙｅｓ）、Ｓ４１０で、元画像を２つの部分領域に区分する第１直線を含む直線領域が決定される。また、指定印刷方式が両面印刷方式である場合（Ｓ４０５：Ｎｏ）、Ｓ４１５で、元画像を２つの部分領域に区分する第１直線を含む第１直線領域と、２つの部分領域のうちの一方の部分領域を第１直線に平行に更に２つの部分領域に区分する第２直線を含む第２直線領域と、が決定される。従って、片面印刷方式と両面印刷方式とのそれぞれにおいて、直線領域に配置されるべき画素とは異なる画素が、折り目に重なることを抑制できる。
【００９９】
また、図４のＳ３２０で説明したように、元画像の種類がポスターであると判定された場合（Ｓ３２０：Ｙｅｓ）、Ｓ３３０で第１決定処理が実行され、元画像の種類がポスターではないと判定された場合（Ｓ３２０：Ｎｏ）、Ｓ３４０で、第１決定処理とは決定方法が異なる第２決定処理が実行される。図６で説明したように、第１決定処理では、指定印刷方式が片面印刷方式と両面印刷方式とのいずれであっても、Ｓ４１０で、元画像を２つの部分領域に区分する第１直線を含む直線領域が決定される。また、図８で説明したように、第２決定処理では、指定印刷方式に応じて、直線領域が決定される。これらの結果、元画像の種類と指定印刷方式とに適した直線領域を決定できる。
【０１００】
また、図６のＳ４００で説明したように、第１決定処理では、指定サイズがデフォルトサイズの２倍以下である場合（Ｓ４００：Ｙｅｓ）、直線領域が決定され、指定サイズがデフォルトサイズの２倍より大きい場合（Ｓ４００：Ｎｏ）、直線領域は決定されない。また、図４のＳ３００と、図８のＳ４００とを考慮すると、図８の第２決定処理のＳ４２０による直線領域の決定は、指定サイズがデフォルトの２倍よりも大きい場合に（但し、指定サイズはデフォルトサイズに対応付けられた閾サイズ以下）、実行される。ここで、閾サイズが、デフォルトサイズのＵ倍であるとすると、Ｕは、２よりも大きい値である。そして、指定サイズがデフォルトサイズのＵ倍よりも大きい場合（すなわち、指定サイズが閾サイズよりも大きい場合）、図４のＳ３００の判定結果がＹｅｓであるので、直線領域は決定されない。そして、図２のＳ１４５で説明したように、直線領域が決定されない場合（Ｓ１４５：Ｎｏ）、プロセッサ１１０は、元画像を表す対象データを用いて、プリンタ２１０に、元画像を印刷させる（Ｓ２１０、Ｓ２２０、Ｓ２３０）。以上により、指定サイズがデフォルトサイズと比べて大幅に大きい場合には、元画像が意図せず調整されることを抑制できる。
【０１０１】
また、図１と図２のＳ２２０とで説明したように、プロセッサ１１０は、調整済画像データを、データ処理装置１００の外部の装置であるプリンタ２１０に送信する。従って、データ処理装置１００に印刷実行部が設けられていない場合であっても、プロセッサ１１０は、プリンタ２１０に調整済の画像を適切に印刷させることができる。
【０１０２】
また図７（Ａ）等で説明したように、直線領域（例えば、第１直線領域Ａａ、Ａａｘ）は、一定の幅の帯状の領域である。従って、一定幅の直線領域に従って、画像を適切に調整できる。ここで、幅は、１画素分の幅であってもよく、Ｅ画素分の幅（Ｅは２以上の整数）であってもよい。Ｅ画素分の幅を有する直線領域が位置の調整処理に用いられる場合には、印刷済のシートの実際の折線の位置がずれた場合であっても、オブジェクト領域が折線に重なることを抑制できる。また、オブジェクトのうちの色が均一な部分が折線に重なることを抑制できる。
【０１０３】
Ｂ．変形例：
（１）直線領域としては、上記の実施例の直線領域に代えて、他の種々の領域を採用可能である。例えば、図６、図８のＳ４１０、図８のＳ４１５で決定される第１直線は、指定サイズのシートを、ｘ：１−ｘ（ｘは、ゼロ以上、０．５未満）の比率で２つの部分領域に区分する直線に対応していてもよい。一般的には、直線領域としては、元画像を２つの部分領域に区分する元画像の特定の縁から反対側の縁まで延びる種々の直線形状の領域を採用可能である。なお、直線形状の領域とは、少なくとも、元画像の特定の縁から反対側の縁まで延びる連続する複数の画素が、１本の直線を表現するように配置されるべき領域を含む領域である。また、図９の調整処理で、狭直線領域が用いられてもよい。また、図１１の調整処理で、狭直線領域が用いられてもよい。また、図９の調整処理で用いられる直線領域の幅が、図１１の調整処理で用いられる直線領域の幅と、異なっていてもよい。この場合、図９の調整処理のための直線領域のセットと、図１１の調整処理のための直線領域のセットとが、決定され得る。いずれの場合も、１ページの画像が文字のオブジェクトと非文字のオブジェクトとを含む場合、図２のＳ１５０、Ｓ１６０のそれぞれの調整処理が実行される。例えば、図９、図１０で説明した文字オブジェクト領域の調整処理と、図１１〜図１３で説明した非文字オブジェクト領域の調整処理とが、１ページの画像のための処理で、実行され得る。この場合、各調整処理のための直線領域のセット（例えば、図１０の処理で用いられる直線領域のセットと、図１３の処理で用いられる直線領域のセット）が、１ページの画像のための処理で決定され得る。そして、直線領域の各セットを利用して、オブジェクト領域の調整処理（例えば、移動と後述する縮小との少なくとも一方を含む処理）が行われる。また、調整処理に拘わらずに、直線領域の幅が同じ（例えば、１画素分の幅）であってよい。この場合、常に、１組の直線領域のセットが決定される。
【０１０４】
（２）直線領域を決定する処理としては、上記の処理に代えて、他の種々の処理を採用可能である。例えば、図２のＳ１４０では、直線領域の基準となる基準直線を決定し、調整処理（Ｓ１５０、Ｓ１６０）において、基準直線を用いて、調整処理に対応付けられた幅の直線領域を決定してもよい。この場合、広直線領域のセットと、狭直線領域のセットと、のうちの一方のみが決定される場合がある。
【０１０５】
（３）図３（Ａ）〜図３（Ｅ）には、カギ括弧で囲まれたデフォルトサイズ（左）と指定サイズ（右）との組み合わせの例が示されている。上記の実施例では、デフォルトサイズと指定サイズとの以下のような組み合わせに対して、以下の折り方に対応する直線領域が決定される。図３（Ａ）の［Ａ４、Ａ３］、［Ａ４、Ｂ４］のように、指定サイズがデフォルトサイズの２倍以上４倍未満である場合（図６、図８：Ｓ４００：Ｙｅｓ）、図３（Ａ）の折り方に対応する直線領域が決定される。ここで、指定印刷方式が両面印刷方式である場合（Ｓ４０５：Ｎｏ）、図３（Ａ）の折り方に代えて、図３（Ｂ）の折り方に対応する直線領域が決定される。また、図３（Ｃ）の［Ａ５、Ａ３］のように指定サイズがデフォルトサイズの４倍である場合（図８：Ｓ４００：Ｎｏ）、図３（Ｃ）の折り方に対応する直線領域が決定される。
【０１０６】
また、図３（Ｄ）に示すように、デフォルトサイズがレターサイズであり、指定サイズがＡ４サイズである場合、これらのサイズの間で面積はおおよそ同じである。しかし、レターサイズのシートＳＨ２にＡ４サイズのシートＳＨ１を重ねると、Ａ４サイズのシートＳＨ１の一部は、レターサイズのシートＳＨ２の外にはみ出る。この場合、はみ出る部分の面積が小さいので、直線領域の決定がキャンセルされてもよい。また、レターサイズからはみ出ないようにＡ４のシートＳＨ１を二つ折りにすることを想定して、直線領域が決定されてもよい。
【０１０７】
また、図３（Ｅ）に示すように、デフォルトサイズがレターサイズであり、指定サイズがＡ３サイズである場合、Ａ３サイズを二つ折りにして得られるＡ４サイズをレターサイズのシートに重ねると、Ａ４サイズの一部が、レターサイズの外にはみ出る。ここで、はみ出る部分の面積が小さいので、Ａ３サイズを二つ折りにすることを想定して、直線領域が決定されてよい。これに代えて、Ａ３サイズのシートを、レターサイズからはみ出ないような小さいサイズ（例えば、Ａ５サイズ）に折り畳むことを想定して、直線領域が決定されてもよい。
【０１０８】
一般的には、指定サイズがデフォルトサイズよりも小さい場合であっても、指定サイズのシートをデフォルトサイズのシートに重ねると指定サイズのシートの一部がデフォルトサイズのシートの外にはみ出る場合がある。このような場合には、指定サイズのシートがデフォルトサイズのシートからはみ出ないように、指定サイズのシートを折り畳むことを想定して、直線領域が決定されてもよい。
【０１０９】
また、直線領域を決定するための条件としては、上記のような条件に代えて、他の種々の条件を採用可能である。例えば、図４のＳ３００が省略されてもよい。また、図４のＳ３２０が省略されてもよい。この場合、元画像の種類に拘わらずに、第１決定処理が実行されてよい。また、元画像の種類に拘わらずに、第２決定処理が実行されてよい。
また、図８のＳ４００、Ｓ４２０が省略されてもよい。この場合、図３（Ａ）、図３（Ｂ）のいずれかの折り方を想定して、直線領域が決定されてよい。また、プリンタ２１０（図１）が、両面印刷方式に対応していなくてもよい。この場合、図８のＳ４０５、Ｓ４１５が省略されてよい。
【０１１０】
（４）オブジェクト領域の位置を調整する調整処理としては、上記の調整処理に代えて、他の種々の処理を採用可能である。例えば、オブジェクト領域の種類に拘わらずに、図１１の処理が実行されてもよい。また、図１１の処理のうちＳ６７０以外の処理を省略してもよい。調整処理として、図１１の処理を省略して、図１２の処理を採用してもよい。
【０１１１】
（５）オブジェクトを調整する処理は、オブジェクト領域を移動させる処理に代えて、オブジェクト領域を縮小させる処理であってもよい。例えば、オブジェクト領域の重心の位置を変えずに、直線領域に配置されているオブジェクト画素の総数が減少するように、オブジェクト領域を縮小してもよい。また、直線領域に配置されている第２種画素の総数が減少するように、オブジェクト領域を縮小してもよい。なお、第２種画素は、隣の画素との色の差が所定の閾値Ｄｔｈ（図１３（Ｃ））よりも大きいことを示す条件を満たさない画素（ここでは、画素指標値Ｄｓがゼロである画素Ｐｔ（ｋ））である。いずれの場合も、縮小後のオブジェクト領域の大きさは、大きいことが好ましい。元のオブジェクト領域の大きさに対する縮小後のオブジェクト領域の大きさの割合（例えば、長さの割合。以下、倍率と呼ぶ）は、例えば、図９のＳ５２０で説明したオブジェクト画素割合Ｒｏが閾値Ｒｔｈ以下であるという条件下での最大の倍率であってよい。また、倍率は、オブジェクト領域が直線領域に重ならないという条件下での最大の倍率であってよい。また、オブジェクト領域の移動と縮小との両方を行ってもよい。一般的には、オブジェクト領域の移動と縮小との少なくとも一方を含む処理を実行することが好ましい。
【０１１２】
（６）対象データは、複数ページの画像を表してもよい。ここで、指定印刷方式が片面印刷方式である場合、ページ毎に、直線領域の決定処理とオブジェクトの調整処理とを実行すればよい。また、指定印刷方式が両面印刷方式である場合、１つのシートの裏面に印刷される画像に関しては、同じシートの表面の画像に応じて決定された直線領域に従って、オブジェクトの調整処理を実行することが好ましい。
【０１１３】
（７）対象データの色空間は、ＲＧＢ色空間に代えて、他の任意の色空間であってよい。例えば、ＹＣｂＣｒ色空間やＣＭＹＫ色空間を採用してよい。
【０１１４】
（８）プリンタ２１０に供給される印刷データは、ＲＧＢのビットマップデータに印刷コマンドを付加して得られるデータに代えて、プリンタ２１０が解釈可能な他の任意の形式のデータであってよい。例えば、以下の処理で生成されるデータを、印刷データとして用いてもよい。すなわち、対象データまたは調整済画像データに対して、色変換処理が実行される。色変換処理は、ＲＧＢ値を、複数の印材の色（例えば、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロ）、Ｋ（ブラック））に対応する複数の色成分のそれぞれの階調値を含む色値（例えば、ＣＭＹＫ値）に変換する処理である。そして、色変換処理後の画像データに対して、誤差拡散法やディザ法などを用いたハーフトーン処理が実行される。そして、ハーフトーン処理後の画像データを印刷に用いられる順序で並び替えて、印刷コマンドなどの制御データを付加するデータ形成処理が実行されて、印刷データが生成される。
【０１１５】
（９）印刷処理の手順は、図２に示す手順に代えて、他の種々の手順であってよい。例えば、図２のＳ１０５では、ユーザは、直線領域を用いるオブジェクト領域の調整処理を行うか否かを選択する指示を入力してもよい（例えば、設定画面のチェックボックスを用いて、指示が入力される）。オブジェクト領域の調整処理を行わないことが選択された場合、プロセッサ１１０は、Ｓ１１０からＳ２１０へ移行して、直線領域を決定せずに、元画像をプリンタ２１０に印刷させてよい。
【０１１６】
（１０）図１の画像処理装置１００は、パーソナルコンピュータとは異なる種類の装置であってもよい（例えば、デジタルカメラ、スキャナ、スマートフォン）。画像処理装置１００は、印刷実行部を備える印刷装置（例えば、複合機）の一部であってもよい。また、ネットワークを介して互いに通信可能な複数の装置（例えば、コンピュータ）が、画像処理装置１００による画像処理の機能を一部ずつ分担して、全体として、画像処理装置１００の機能を提供してもよい（これらの装置を備えるシステムが画像処理装置に対応する）。
【０１１７】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図６と図８の決定処理の機能を、専用のハードウェア回路によって実現してもよい。
【０１１８】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【０１１９】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１２０】
１００...データ処理装置、１１０...プロセッサ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１３２...プログラム、１４０...表示部、１５０...操作部、１９０...インタフェース、２１０...プリンタ、Ｔ...閾サイズデータ
【図１】
2018026714.tif 000003
【図２】
2018026714.tif 000004
【図３】
2018026714.tif 000005
【図４】
2018026714.tif 000006
【図５】
2018026714.tif 000007
【図６】
2018026714.tif 000008
【図７】
2018026714.tif 000009
【図８】
2018026714.tif 000010
【図９】
2018026714.tif 000011
【図１０】
2018026714.tif 000012
【図１１】
2018026714.tif 000013
【図１２】
2018026714.tif 000014
【図１３】
2018026714.tif 000015