IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2024-37306コンピュータプログラム、および、データ処理装置
<>
  • 特開-コンピュータプログラム、および、データ処理装置 図1
  • 特開-コンピュータプログラム、および、データ処理装置 図2
  • 特開-コンピュータプログラム、および、データ処理装置 図3
  • 特開-コンピュータプログラム、および、データ処理装置 図4
  • 特開-コンピュータプログラム、および、データ処理装置 図5
  • 特開-コンピュータプログラム、および、データ処理装置 図6
  • 特開-コンピュータプログラム、および、データ処理装置 図7
  • 特開-コンピュータプログラム、および、データ処理装置 図8
  • 特開-コンピュータプログラム、および、データ処理装置 図9
  • 特開-コンピュータプログラム、および、データ処理装置 図10
  • 特開-コンピュータプログラム、および、データ処理装置 図11
  • 特開-コンピュータプログラム、および、データ処理装置 図12
  • 特開-コンピュータプログラム、および、データ処理装置 図13
  • 特開-コンピュータプログラム、および、データ処理装置 図14
  • 特開-コンピュータプログラム、および、データ処理装置 図15
  • 特開-コンピュータプログラム、および、データ処理装置 図16
  • 特開-コンピュータプログラム、および、データ処理装置 図17
  • 特開-コンピュータプログラム、および、データ処理装置 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024037306
(43)【公開日】2024-03-19
(54)【発明の名称】コンピュータプログラム、および、データ処理装置
(51)【国際特許分類】
   H04N 1/58 20060101AFI20240312BHJP
   G06T 7/00 20170101ALI20240312BHJP
   G06V 10/764 20220101ALI20240312BHJP
   B41J 21/00 20060101ALI20240312BHJP
   B41J 3/407 20060101ALI20240312BHJP
【FI】
H04N1/58
G06T7/00 350B
G06V10/764
B41J21/00 Z
B41J3/407
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022142044
(22)【出願日】2022-09-07
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110001058
【氏名又は名称】鳳国際弁理士法人
(72)【発明者】
【氏名】近藤 真樹
(72)【発明者】
【氏名】渡邉 航平
【テーマコード(参考)】
2C187
5C079
5L096
【Fターム(参考)】
2C187AC08
2C187AE07
2C187AF03
2C187AG15
2C187BF08
2C187DB21
2C187DB41
5C079HB01
5C079HB03
5C079KA12
5C079LA02
5C079LA10
5C079LA24
5C079LA31
5C079LC01
5C079MA13
5C079NA02
5C079PA03
5L096AA02
5L096BA07
5L096FA44
5L096KA04
(57)【要約】
【課題】滲みの影響を軽減する
【解決手段】
対象文字部分と対象背景部分とを含む対象領域を入力画像から検出する。対象領域に対応付けられる対象クラスを、対象文字部分の色と対象背景部分の色と対応データとを使用してQ個(Qは2以上の整数)のクラスから選択する。Q個のクラスは、第1クラスと、第1クラスによって示される滲みの度合いよりも大きい滲みの度合いを示す第2クラスと、を含む。対象領域の印刷すべき印刷パターンを対象領域の対象画像と対象クラスとを使用して決定する。対象クラスが第2クラスである場合の印刷パターンは、対象クラスが第1クラスである場合の印刷パターンと比べて、印刷済の画像に対する滲みの影響を軽減するように構成される。
【選択図】 図13
【特許請求の範囲】
【請求項1】
コンピュータプログラムであって、
印刷すべき入力画像の入力画像データを分析することによって、文字を表す部分である対象文字部分と前記対象文字部分に隣接する背景を表す部分である対象背景部分とを含む対象領域を前記入力画像から検出する検出機能と、
前記対象領域に対応付けられる対象クラスを、前記対象文字部分の色と前記対象背景部分の色と対応データとを使用してQ個(Qは2以上の整数)のクラスから選択するクラス選択機能であって、前記対応データは、文字を表す参考文字部分と前記参考文字部分に隣接する参考背景部分とを含む参考画像を印刷済の画像中における、前記参考文字部分と前記参考背景部分との間の境界での印刷材の滲みの度合いを示すクラスと、前記参考画像の印刷用画像データから得られる色情報であって前記参考文字部分の色と前記参考背景部分の色とを表す前記色情報と、の予め決められた対応関係である色クラス対応関係を示し、前記Q個のクラスは、第1クラスと、前記第1クラスによって示される滲みの度合いよりも大きい滲みの度合いを示す第2クラスと、を含む、前記クラス選択機能と、
前記対象領域の印刷すべき印刷パターンを前記対象領域の対象画像と前記対象クラスとを使用して決定する印刷パターン決定機能であって、前記対象クラスが前記第2クラスである場合の前記印刷パターンは、前記対象クラスが前記第1クラスである場合の前記印刷パターンと比べて、印刷済の画像に対する滲みの影響を軽減するように構成される、前記印刷パターン決定機能と、
決定された印刷パターンに基づいて前記対象画像の印刷を印刷実行部に実行させる印刷処理機能と、
をコンピュータに実現させる、コンピュータプログラム。
【請求項2】
請求項1に記載のコンピュータプログラムであって、
前記印刷用画像データによって表される前記参考文字部分は、単色の部分であり、
前記印刷用画像データによって表される前記参考背景部分は、単色の部分であり、
前記クラス選択機能は、
前記対象領域の前記対象画像を分析することによって前記対象領域から前記対象文字部分と前記対象背景部分と抽出する機能と、
前記対象文字部分の内の複数の位置の複数の色の代表色と、前記対象背景部分の内の複数の位置の複数の色の代表色と、前記対応データと、を使用して前記対象クラスを選択する機能と、
を含む、コンピュータプログラム。
【請求項3】
請求項2に記載のコンピュータプログラムであって、
前記印刷パターン決定機能は、抽出された対象文字部分と抽出された対象背景部分とを使用して、前記対象領域の前記印刷すべき印刷パターンを決定する、
コンピュータプログラム。
【請求項4】
請求項1から3のいずれかに記載のコンピュータプログラムであって、
前記クラスの数Qは、3以上である、
コンピュータプログラム。
【請求項5】
請求項1から3のいずれかに記載のコンピュータプログラムであって、
前記対応データは、訓練画像に対応付けられる正解クラスを前記訓練画像を使用して予測するように訓練済の予測モデルを表し、
前記訓練画像は、前記参考文字部分の前記色を有する文字を表す部分である訓練文字部分と、前記参考背景部分の前記色を有するとともに前記訓練文字部分に隣接する背景部分である訓練背景部分と、を表すようにランダムに生成される画像であり、
前記正解クラスは、前記訓練文字部分の色と前記訓練背景部分の色との組み合わせに前記色クラス対応関係によって対応付けられるクラスであり、
前記クラス選択機能は、前記対応データによって表される前記予測モデルに、前記対象文字部分の少なくとも一部と前記対象背景部分の少なくとも一部とを表す画像を入力することによって予測されるクラスを、前記対象クラスとして選択する、
コンピュータプログラム。
【請求項6】
請求項1から3のいずれかに記載のコンピュータプログラムであって、
前記色情報は、前記参考文字部分の前記色を示すT個(Tは2以上の整数)の色成分のT個の文字色成分値と、前記参考背景部分の前記色を示す前記T個の色成分のT個の背景色成分値と、を含み、
前記対応データは、
前記T個の文字色成分値と前記T個の背景色成分値とクラスとの対応関係である前記色クラス対応関係を示すテーブルと、
前記T個の文字色成分値と前記T個の背景色成分値とから、前記T個の文字色成分値と前記T個の背景色成分値とに前記色クラス対応関係によって対応付けられるクラスを予測するように勾配ブースティングにより訓練済の予測モデルと、
のいずれかを表し、
前記クラス選択機能は、
前記対象領域の前記対象画像を分析することによって前記対象領域から前記対象文字部分と前記対象背景部分と抽出する機能と、
前記対象文字部分の内の複数の位置の複数の色の代表色を示す前記T個の色成分のT個の色成分値と、前記対象背景部分の内の複数の位置の複数の色の代表色を示す前記T個の色成分のT個の色成分値と、前記対応データと、を使用して前記対象クラスを選択する機能と、
を含む、コンピュータプログラム。
【請求項7】
データ処理装置であって、
印刷すべき入力画像の入力画像データを分析することによって、文字を表す部分である対象文字部分と前記対象文字部分に隣接する背景を表す部分である対象背景部分とを含む対象領域を前記入力画像から検出する検出部と、
前記対象領域に対応付けられる対象クラスを、前記対象文字部分の色と前記対象背景部分の色と対応データとを使用してQ個(Qは2以上の整数)のクラスから選択するクラス選択部であって、前記対応データは、文字を表す参考文字部分と前記参考文字部分に隣接する参考背景部分とを含む参考画像を印刷済の画像中における、前記参考文字部分と前記参考背景部分との間の境界での印刷材の滲みの度合いを示すクラスと、前記参考画像の印刷用画像データから得られる色情報であって前記参考文字部分の色と前記参考背景部分の色とを表す前記色情報と、の予め決められた対応関係である色クラス対応関係を示し、前記Q個のクラスは、第1クラスと、前記第1クラスによって示される滲みの度合いよりも大きい滲みの度合いを示す第2クラスと、を含む、前記クラス選択部と、
前記対象領域の印刷すべき印刷パターンを前記対象領域の対象画像と前記対象クラスとを使用して決定する印刷パターン決定部であって、前記対象クラスが前記第2クラスである場合の前記印刷パターンは、前記対象クラスが前記第1クラスである場合の前記印刷パターンと比べて、印刷済の画像に対する滲みの影響を軽減するように構成される、前記印刷パターン決定部と、
決定された印刷パターンに基づいて前記対象画像の印刷を印刷実行部に実行させる印刷処理部と、
を備える、データ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、印刷のためのデータ処理に関する。
【背景技術】
【0002】
用紙、布などの記録媒体上にインクなどの印刷材を使用して画像を印刷する技術が使用されている。印刷材は、記録媒体上で、滲み得る。注目画素に対して走査方向に並ぶ複数個の周辺画素の成分値に基づいて注目画素が滲み抑制対象画素であるかを判定し、滲み抑制対象画素であると判定された画素のK(黒)の成分値を低減してCMYの成分値に置換する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5263101号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、印刷済の画像に対する印刷材の滲みの影響を適切に軽減することは容易ではなかった。例えば、滲みの影響を軽減するための処理の度合いの不足、または、過剰により、画質が低下する場合があった。
【0005】
本明細書は、滲みの影響を軽減する技術を開示する。
【課題を解決するための手段】
【0006】
本明細書に開示された技術は、以下の適用例として実現することが可能である。
【0007】
[適用例1]コンピュータプログラムであって、印刷すべき入力画像の入力画像データを分析することによって、文字を表す部分である対象文字部分と前記対象文字部分に隣接する背景を表す部分である対象背景部分とを含む対象領域を前記入力画像から検出する検出機能と、前記対象領域に対応付けられる対象クラスを、前記対象文字部分の色と前記対象背景部分の色と対応データとを使用してQ個(Qは2以上の整数)のクラスから選択するクラス選択機能であって、前記対応データは、文字を表す参考文字部分と前記参考文字部分に隣接する参考背景部分とを含む参考画像を印刷済の画像中における、前記参考文字部分と前記参考背景部分との間の境界での印刷材の滲みの度合いを示すクラスと、前記参考画像の印刷用画像データから得られる色情報であって前記参考文字部分の色と前記参考背景部分の色とを表す前記色情報と、の予め決められた対応関係である色クラス対応関係を示し、前記Q個のクラスは、第1クラスと、前記第1クラスによって示される滲みの度合いよりも大きい滲みの度合いを示す第2クラスと、を含む、前記クラス選択機能と、前記対象領域の印刷すべき印刷パターンを前記対象領域の対象画像と前記対象クラスとを使用して決定する印刷パターン決定機能であって、前記対象クラスが前記第2クラスである場合の前記印刷パターンは、前記対象クラスが前記第1クラスである場合の前記印刷パターンと比べて、印刷済の画像に対する滲みの影響を軽減するように構成される、前記印刷パターン決定機能と、決定された印刷パターンに基づいて前記対象画像の印刷を印刷実行部に実行させる印刷処理機能と、をコンピュータに実現させる、コンピュータプログラム。
【0008】
この構成によれば、対象領域に対応付けられる対象クラスが、対象文字部分の色と対象背景部分の色と対応データとを使用して選択され、対象領域の印刷すべき印刷パターンが、対象領域の対象画像と対象クラスとを使用して決定されるので、滲みの影響を適切に軽減できる。
【0009】
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、データ処理方法およびデータ処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
【図面の簡単な説明】
【0010】
図1】印刷システムの実施例を示すブロック図である。
図2】プリンタ200の外観を示す斜視図である。
図3】印刷される画像と印刷材の滲みとの説明図である。
図4】色クラスデータ136の生成処理の例を示すフローチャートである。
図5】(A)は、色クラス対応関係CCRの例を示す図である。(B)は、クラス番号CLと滲みの度合いBLとの対応関係を示す図である。(C)-(F)は、参考画像の例を示す図である。
図6】印刷処理の例を示すフローチャートである。
図7】(A)は、入力画像の例を示す図である。(B)は、対象領域の例を示す図である。(C)は、対象領域E21-E25のそれぞれの画像を示す図である。
図8】分離処理の例を示すフローチャートである。
図9】(A)-(G)は、分離処理の概要を示す図である。
図10】クラス分類処理の例を示すフローチャートである。
図11】クラス分類処理の説明図である。
図12】(A)、(B)は、クラス番号CLの選択方法の例を示す図である。
図13】滲み影響軽減処理の例を示す図である。
図14】予測モデルM2の訓練処理の例を示すフローチャートである。
図15】クラス分類処理の例を示すフローチャートである。
図16】予測モデルM3の訓練処理の別の実施例を示すフローチャートである。
図17】(A)-(H)は、訓練画像の例を示す図である。
図18】クラス分類処理の例を示すフローチャートである。
【発明を実施するための形態】
【0011】
A.第1実施例:
A1.装置構成:
図1は、印刷システムの実施例を示すブロック図である。本実施例では、印刷システム1000は、データ処理装置100と、データ処理装置100に接続されるプリンタ200と、を含んでいる。
【0012】
データ処理装置100は、プリンタ200のユーザが使用する計算機であり、例えば、パーソナルコンピュータ、または、スマートフォンである。データ処理装置100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース170と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を含んでいる。
【0013】
プロセッサ110は、データを処理するように構成された装置である。プロセッサ110は、例えば、CPU(Central Processing Unit)、または、SoC(System-on-a-chip)であってよい。揮発性記憶装置120は、例えば、DRAMであり、不揮発性記憶装置130は、例えば、フラッシュメモリである。不揮発性記憶装置130は、プログラム131、132と、色クラス対応関係CCRを示す色クラスデータ136と、検出モデルM1のデータ137と、を格納している。検出モデルM1は、予め訓練された機械学習モデルである。本実施例では、検出モデルM1のデータ137は、プログラムモジュールである。プログラム131、132と色クラス対応関係CCRと検出モデルM1との詳細については、後述する。なお、図中の予測モデルM2、M3は、後述する他の実施例で使用される。
【0014】
表示部140は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部150は、ボタン、レバー、表示部140上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部150を操作することによって、種々の指示をデータ処理装置100に入力可能である。通信インタフェース170は、他の装置と通信するためのインタフェースである。通信インタフェース170は、例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェースのうちの1種以上を含む。
【0015】
プリンタ200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、印刷機構300と、を有している。これらの要素は、バスを介して互いに接続されている。記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を含んでいる。
【0016】
プロセッサ210は、データを処理するように構成された装置である。プロセッサ210は、例えば、CPU、または、SoCであってよい。揮発性記憶装置220は、例えば、DRAMであり、不揮発性記憶装置230は、例えば、フラッシュメモリである。不揮発性記憶装置230は、プログラム231を格納している。プログラム231の詳細については、後述する。
【0017】
表示部240は、液晶ディスプレイ、有機ELディスプレイなどの、画像を表示するように構成された装置である。操作部250は、ボタン、レバー、表示部240上に重ねて配置されたタッチパネルなどの、ユーザによる操作を受け取るように構成された装置である。ユーザは、操作部250を操作することによって、種々の指示をプリンタ200に入力可能である。通信インタフェース270は、他の装置と通信するためのインタフェースである。通信インタフェース270は、例えば、USBインタフェース、有線LANインタフェース、IEEE802.11の無線インタフェースのうちの1種以上を含む。通信インタフェース270は、データ処理装置100の通信インタフェース170に接続されている。
【0018】
印刷機構300は、ブラックK、シアンC、マゼンタM、イエローYの各インク(液滴)を印刷材として使用して画像を印刷するインクジェット方式の印刷機構である。印刷機構300は、印刷ヘッド310とヘッド駆動部320と主走査部330と搬送部340とを備えている。プロセッサ210は、プログラム231を実行することにより、データ処理装置100からの印刷データに従って印刷機構300を制御することによって、印刷データによって表される画像を記録媒体上に印刷する。本実施例では、記録媒体として布地が想定されている。印刷機構300は、例えば、Tシャツなどの衣服上に画像を印刷できる。
【0019】
図2は、プリンタ200の外観を示す斜視図である。プリンタ200は、筐体201を有している。図示を省略するが、筐体201内には、印刷ヘッド310、ヘッド駆動部320、主走査部330、搬送部340(図1)が収容されている。
【0020】
主走査部330(図1)は、筐体201(図2)の内部において、図示しない主走査モータの動力を用いて、印刷ヘッド310を搭載するキャリッジ(図示省略)を主走査方向(図2のX方向)に沿って往復動させる。これによって、衣服Sなどの記録媒体に対して主走査方向(X方向)に沿って印刷ヘッド310を往復動させる主走査が実現される。
【0021】
搬送部340は、図2に示すプラテン342とトレイ344とを有している。プラテン342の上面は、衣服Sなどの記録媒体を載置するための載置面を形成する。プラテン342は、プラテン342の下方向側に配置された板状のトレイ344に固定されている。プラテン342とトレイ344とによって、衣服Sなどの記録媒体が保持される。プラテン342とトレイ344は、図示しない副走査モータの動力を用いて、主走査方向に交差する搬送方向(図2のY方向)に搬送される(本実施例では、Y方向は、X方向に垂直である)。これによって、衣服Sなどの記録媒体を印刷ヘッド310に対して搬送方向に搬送する副走査が実現される。
【0022】
ヘッド駆動部320(図1)は、主走査部330が印刷ヘッド310の主走査を行っている最中に、印刷ヘッド310に駆動信号を供給して、印刷ヘッド310を駆動する。印刷ヘッド310は、図示しない複数個のノズルを備え、駆動信号に従って、搬送部340によって搬送される記録媒体上にインクを吐出してドットを形成する。
【0023】
本実施例では、衣服Sは、Tシャツである。印刷システム1000は、例えば、Tシャツを販売する店舗に設置されている。印刷システム1000は、例えば、店舗の店員によって管理されている。印刷システム1000は、後述するように、例えば、店舗の顧客や店員がデータ処理装置100を操作することによって動作する。このように、印刷システム1000のユーザは、例えば、店舗の店員や顧客である。
【0024】
A2.印刷材の滲みの影響の軽減処理:
図3は、印刷される画像と印刷材の滲みとの説明図である。図中の画像D1は、印刷すべき画像である対象画像の例を示している。図中のX方向とY方向とは、図2に示すX方向とY方向とに、それぞれ対応している。対象画像D1は、X方向とY方向とに沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値によって、表されている。色値は、例えば、赤R、緑G、青Bの3個の階調値で表される。各階調値は、例えば、0から255までの256段階で表される。対象画像D1は、文字を表す部分である文字部分C1と、文字部分C1に隣接する背景を表す部分である背景部分B1と、を含んでいる。ここで、文字部分C1がブラックKのインクの色を有し、背景部分B1がイエローYのインクの色を有していることとする。
【0025】
対象画像D1中の注目部分IPは、文字部分C1と背景部分B1との間の境界を含む部分である。図3内の対象画像D1の下には、注目部分IPの拡大図が示されている。図示するように、文字部分C1と背景部分B1とは、境界部分X1aで接している。
【0026】
図3中の注目部分IPの拡大図の下には、第1印刷済画像P1aが示されている。第1印刷済画像P1aは、対象画像D1を印刷して得られる印刷済画像の例を示している。第1印刷済画像P1aは、印刷された文字部分C1である文字部分CP1aと、印刷された背景部分B1である背景部分BP1aと、を含んでいる。図示するように、背景部分BP1aと文字部分CP1aとの間の境界部分XP1aでは、インクの滲みが生じ得る。例えば、境界部分XP1aでは、背景部分BP1aから文字部分CP1aへイエローYのインクが意図せずに移動し得、また、文字部分CP1aから背景部分BP1aへブラックKのインクが意図せずに移動し得る。このように、他の色を有する部分へ意図せずに移動したインクは、滲みとして、印刷済画像の観察者に観察され得る。
【0027】
本実施例では、印刷済の画像に対する滲みの影響を軽減するために、対象画像に滲み影響軽減処理(以下、軽減処理とも呼ぶ)が実行される。図3中の中央部分に示される部分画像IPbは、対象画像D1に軽減処理を実行することによって得られる処理済の画像のうちの注目部分IPに対応する部分の例を示してる(第1処理済部分IPbと呼ぶ)。第1処理済部分IPbは、文字部分C1と、背景部分B1に対応する処理済背景部分B1bと、を含んでいる。文字部分C1と処理済背景部分B1bとの間の境界部分X1bには、インクの無い色(本実施例では、白色)の第1幅Wbを有する隙間A1bが形成されている。本実施例では、軽減処理によって、背景部分B1のうちの文字部分C1に接する第1幅Wbを有する部分の色が白色に変更される。これにより、文字部分C1を囲む隙間A1bが形成される。
【0028】
図3中の第1処理済部分IPbの下には、第2印刷済画像P1bが示されている。第2印刷済画像P1bは、対象画像D1に軽減処理を行って得られる画像を印刷して得られる印刷済画像の例を示している。第2印刷済画像P1bは、印刷された文字部分C1である文字部分CP1bと、印刷された処理済背景部分B1bである背景部分BP1bと、を含んでいる。図示するように、背景部分BP1bと文字部分CP1bとの間の境界部分XP1bでは、インクの滲みは目立たない。この理由は、軽減処理によって形成される隙間A1bが、背景部分BP1bから文字部分CP1bへのインクの移動の可能性と、文字部分CP1bから背景部分BP1bへのインクの移動の可能性とを、低減するからである。例えば、文字部分CP1bのブラックKのインクは、文字部分CP1bから隙間A1bに対応する部分へ移動し得る。しかし、ブラックKのインクが、さらに、背景部分BP1bへ移動する可能性は、低減される。同様に、背景部分BP1bのイエローYのインクは、背景部分BP1bから隙間A1bに対応する部分へ移動し得る。しかし、イエローYのインクが、さらに、文字部分CP1bへ移動する可能性は、低減される。
【0029】
軽減処理における隙間の幅(例えば、隙間A1bの第1幅Wb)は、印刷結果を変化させ得る。図3内の右部分に示される画像IPcは、隙間A1cの第2幅Wcが第1幅Wbよりも大きい場合の軽減処理済の画像の例を示している(第2処理済部分IPcと呼ぶ)。第1処理済部分IPbとの差異は、第2幅Wcが第1幅Wbよりも大きい点だけである。処理済背景部分B1cは、背景部分B1に対応する部分である。
【0030】
図3内の第2処理済部分IPcの下には、第3印刷済画像P1cが示されている。第3印刷済画像P1cは、対象画像D1に第2幅Wcの軽減処理を行って得られる画像を印刷して得られる印刷済画像の例を示している。文字部分CP1cは、印刷された文字部分C1であり、背景部分BP1cは、印刷された処理済背景部分B1cである。図示するように、背景部分BP1cと文字部分CP1cとの間の境界部分XP1cでは、インクの無い隙間が生じ得る。
【0031】
このように、軽減処理によって形成される隙間の幅が大き過ぎる場合、印刷済画像の背景部分と文字部分との間の境界部分に、インクのない隙間が、意図せず形成され得る。一方、軽減処理によって形成される隙間の幅が小さ過ぎる場合、印刷済画像の背景部分と文字部分との間の境界部分で、インクの滲みが観察され得る。背景部分と文字部分との間の境界部分での滲みの度合いは、種々の要因によって変化し得る。例えば、記録媒体である布の種類(織物の織り方、編み物の編み方、糸の太さ、など)、インクの種類(染料、顔料、など)、文字部分と背景部分のそれぞれで使用されるインクの組み合わせ(ブラックとイエロー、シアンとマゼンタ、など)、各インクの印刷濃度、境界部分の形状(曲線、直線、折れ線、など)、などの要因に応じて、滲みの度合いは変化する。従って、軽減処理の適切な幅は、種々の要因によって変化し得る。
【0032】
そこで、本実施例では、データ処理装置100は、文字部分の色と背景部分の色と滲みの度合いとの予め決められた対応関係である色クラス対応関係CCRを使用して、軽減処理によって形成される隙間の幅を決定する。
【0033】
A3.色クラスデータの生成処理:
図4は、色クラス対応関係CCRを表す色クラスデータ136の生成処理の例を示すフローチャートである。図5(A)は、色クラス対応関係CCRの例を示す図である。本実施例では、色クラス対応関係CCRは、番号iと、i番の色ベクトルCV(i)と、i番のクラス番号CL(i)と、の対応関係を示している。番号iは、対応関係の番号であり、1から始まる昇順の番号である。色ベクトルCVは、背景色CBと文字色CCとを表している。背景色CBと文字色CCとは、それぞれ、赤R、緑G、青Bの3個の階調値で表される。各階調値は、例えば、0から255までの256段階で表される。このように、色ベクトルCVは、6個の階調値で表される6次元ベクトルである。クラス番号CLは、滲みの度合いを示すクラスの番号を示している。
【0034】
図5(B)は、クラス番号CLと滲みの度合いBLとの対応関係を示している。以下、色クラス対応関係CCRによって表されるクラスの総数がQ個(Qは2以上の整数)であることとする。本実施例では、Q=4である。クラス番号CLは、ゼロ番から3番までの4個の番号のいずれかである。本実施例では、0番は、滲みがないことを示している。1番は、小の度合いを示している。2番は、中の度合いを示している。3番は、大の度合いを示している。本実施例では、作業者が、印刷済画像を観察することによって、滲みの度合い(すなわち、クラス番号CL)を評価する。作業者は、印刷に関する有識者であることが好ましい。
【0035】
本実施例では、色クラスデータ136の生成は、プリンタ200(図1)の製造者によって、行われる。色クラスデータ136の生成は、プリンタ200と、プリンタ200に接続されるデータ処理装置と、を使用して行われる。データ処理装置としては、印刷システム1000のデータ処理装置100が使用されることとする。これに代えて、他のデータ処理装置(図示せず)が使用されてよい。
【0036】
図4の生成処理では、データ処理装置100(図1)のプロセッサ110は、第1プログラム131に従って、評価のための画像の印刷と、作業者による評価結果に基づく色クラスデータ136の生成とを、行う。作業者は、操作部150を操作することによって、生成処理の開始指示を入力する。プロセッサ110は、開始指示に応じて、生成処理を開始する。
【0037】
S110では、プロセッサ110は、複数の参考画像データを生成する。図5(C)-図5(F)は、参考画像の例を示す図である。参考画像D11-D14は、文字を表す文字部分C11-C14と、文字部分C11-C14に隣接する背景部分B11-B14と、をそれぞれ含んでいる。以下、参考画像に含まれる文字部分を、参考文字部分と呼ぶ。参考画像中の参考文字部分に隣接する背景部分を、参考背景部分と呼ぶ。文字部分C11-C14は、参考文字部分の例である。背景部分B11-B14は、参考背景部分の例である。
【0038】
1枚の参考画像は、1以上の文字(例えば、単語)を含んでいる。文字の種類は、ラテンアルファベット、平仮名、漢字など、後述する印刷処理で印刷され得る任意の種類であってよい。本実施例では、プロセッサ110は、単語と、文字の色と、背景の色と、文字のサイズと、参考画像内の単語の位置と、のそれぞれを、乱数を使用して決定する。これらの項目のそれぞれは、例えば、予め準備されたリストからランダムに選択されてよい。プロセッサ110は、決定された単語と背景とを表す参考画像の画像データを生成する。本実施例では、参考文字部分は、単色の部分であり、参考背景部分は、単色の部分である。
【0039】
なお、複数の参考画像データは、記憶装置115(例えば、不揮発性記憶装置130)に予め格納されてよい。予め格納される参考画像データの単語の色と背景の色との組み合わせは、衣服Sへの印刷の可能性が高い組み合わせに、設定されてよい。S110では、プロセッサ110は、複数の参考画像データを記憶装置115から取得してよい。
【0040】
S120(図4)では、プロセッサ110は、複数の参考画像データを使用して、複数の参考画像をプリンタ200に印刷させる。本実施例では、プロセッサ110は、参考画像データを使用して、印刷データを生成する。プロセッサ110は、印刷データをプリンタ200に出力する。プリンタ200のプロセッサ110は、印刷データに従って印刷機構300を制御することによって、印刷機構300に参考画像を印刷させる。記録媒体としては、後述する印刷処理で使用される記録媒体(例えば、布地)と同じものが使用されることが好ましい。
【0041】
印刷データの生成方法は、プリンタ200に適する印刷データを生成する任意の方法であってよい。本実施例では、印刷データの生成処理は、処理対象の画像データ(例えば、参考画像データ)を使用して印刷用の解像度のラスタデータを生成する処理と、ラスタデータの色変換処理と、色変換済のラスタデータを使用するハーフトーン処理と、ハーフトーン処理の結果を使用して印刷データを生成する処理と、を含んでいる。色変換処理は、各画素の色値を、変換前の色空間(本実施例では、RGB色空間)の色値から、印刷用の色空間である印刷色空間の色値に変換する処理である。印刷色空間は、プリンタ200によって使用される印刷材に対応する色成分で表される色空間である(本実施例では、KCMY色空間)。変換前の色空間の色値と印刷色空間の色値との対応関係は、予め決められている。ハーフトーン処理は、例えば、誤差拡散法や、ディザマトリクスを用いる方法など、種々の方法の処理であってよい。
【0042】
S130では、作業者は、印刷済の画像を観察することによって、滲みの度合いを4段階で評価し(図5(B))、クラス番号CLを決定する。作業者は、操作部150を操作することによって、各参考画像のクラス番号CLを、データ処理装置100に入力する。
【0043】
S140では、プロセッサ110は、色クラス対応関係CCR(図5(A))を表す色クラスデータ136を生成する。色クラス対応関係CCRは、複数の参考画像のそれぞれについて、参考背景部分の色を示す背景色CBと、参考文字部分の色を示す文字色CCと、クラス番号CLと、の対応関係を表している。プロセッサ110は、背景色CBと文字色CCとを、印刷に使用される参考画像データを参照することによって、取得する。プロセッサ110は、クラス番号CLを、S130で取得する。対応関係の番号iは、1から始まる昇順の番号に決定される。以下、色クラス対応関係CCRが、N個(Nは2以上の整数)の対応関係を表すこととする。
【0044】
S150では、プロセッサ110は、色クラスデータ136を記憶装置115(本実施例では、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、図4の処理を終了する。
【0045】
なお、生成される色クラスデータ136は、複数のプリンタ200に共通に使用されてよい。例えば、プリンタ200の製造者は、サーバ等を通じて、色クラスデータ136を配布してよい。これに代えて、プリンタ200のユーザが、色クラスデータ136の生成処理を行ってよい。この場合、S130では、ユーザが、滲みの度合いを評価してよい。
【0046】
A4.印刷処理:
図6は、印刷処理の例を示すフローチャートである。データ処理装置100のプロセッサ110(図1)は、データ処理装置100に入力される印刷指示に応じて、第2プログラム132に従って、印刷処理を実行する。印刷指示の入力方法は、任意の方法であってよい。本実施例では、ユーザは、操作部150を操作することによって、印刷指示を入力する。印刷指示は、印刷すべき入力画像のデータである入力画像データを指定する入力データ情報を含んでいる。入力データ情報は、記憶装置115(例えば、不揮発性記憶装置130)、通信インタフェース170に接続される図示しない記憶装置(例えば、USBフラッシュドライブ)、データ処理装置100と通信可能なサーバの記憶装置、などの種々の記憶装置に格納される入力画像データを指定してよい。なお、ユーザは、データ処理装置100と通信可能な図示しない端末装置(例えば、スマートフォンなど)を通じて、印刷指示をデータ処理装置100に入力してよい。
【0047】
S210では、プロセッサ110は、入力画像データを取得する。図7(A)は、入力画像の例を示す図である。本実施例では、入力画像D20は、X方向(ここでは、水平方向)に平行な2辺とY方向に平行な2辺とを有する矩形の画像である。入力画像D20は、X方向とY方向とに沿ってマトリクス状に並ぶ複数の画素のそれぞれの色値(本実施例では、R、G、Bの3個の階調値)によって、表されている。入力画像D20は、人物の顔と、5個の単語W21、W22、W23、W24、W25を表している。本実施例では、入力画像(例えば、入力画像D20)上で、文字は、単色の背景上に配置されることとする。また、文字の色は、背景の色よりも暗い単色であることとする。
【0048】
S220(図6)では、プロセッサ110は、入力画像から対象領域を検出する。対象領域は、文字を表す部分である文字部分と、文字部分に隣接する背景を表す部分である背景部分と、を含む領域である。本実施例では、プロセッサ110は、入力画像のデータを検出モデルM1に入力することによって、入力画像から対象領域を検出する。検出モデルM1は、文字を検出するように構成される種々の物体検出モデルであってよい。本実施例では、検出モデルM1は、CRAFTと呼ばれる機械学習モデルである。CRAFTは、例えば、論文「Youngmin Baek, Bado Lee, Dongyoon Han, Sangdoo Yun and Hwalsuk Lee, "Character Region Awareness for Text Detection", arXiv:1904.01941, 3 Apr 2019, http://arxiv.org/abs/1904.01941」に開示されている。
【0049】
CRAFTは、画素が文字の中心である確率を表す領域スコア(region score)と、画素が隣り合う2個の文字の間のスペースの中心である確率を表すアフィニティスコア(affinity score)とを、画素毎に予測する。大きい領域スコアを有する複数の画素が連続する1個の領域は、1個の文字を表す可能性が高い。大きいアフィニティスコアを有する複数の画素が連続する1個の領域は、隣り合う2個の文字(例えば、単語に含まれる隣り合う2個の文字)の間のスペースを表す可能性が高い。CRAFTは、領域スコアとアフィニティスコアを二値化する。これにより、大きい領域スコアを有する領域と、大きいアフィニティスコアを有する領域とが、取得される。CRAFTは、これらの領域を結合し、ラベリング処理を行う。これにより、単語を構成する複数の文字を表す結合領域が取得される。CRAFTは、結合領域を囲む最小面積の回転矩形を、ラベル毎に決定する。回転矩形の辺は、X方向に対して斜めに傾斜し得る。1個の回転矩形は、1個の単語の領域を表している。単語の領域を表す矩形は、単語ボックスとも呼ばれる。なお、ラベリングと矩形の検出とは、OpenCV(Open Source Computer Vision Library)の関数を使用して行われる。検出モデルM1は、CRAFTの上記の論文に記載の訓練方法によって、予め訓練される。
【0050】
図7(B)は、入力画像D20から検出される対象領域の例を示している。図示するように、単語W21-W25を表す単語ボックスBX1-BX5が、検出される。本実施例では、単語ボックスBX1-BX5によって囲まれる領域E21-E25が、対象領域E21-E25として使用される。図7(C)は、検出される対象領域E21-E25のそれぞれの画像を示している。図示するように、第1対象領域E21は、X方向に対して、傾いている。
【0051】
S230(図6)では、プロセッサ110は、S220で検出される対象領域から、未処理の対象領域を、注目領域を選択する。S240では、プロセッサ110は、注目領域から文字部分と背景部分とを分離する分離処理を実行する。
【0052】
図8は、分離処理の例を示すフローチャートである。S305では、プロセッサ110は、注目領域の傾き補正を行う。図9(A)-図9(G)は、分離処理の概要を示す図である。ここで、第1対象領域E21が、注目領域であることとする。図9(A)-図9(C)は、傾き補正の例を示している。図9(A)には、第1対象領域E21が示されている。頂点P1-P4は、第1対象領域E21の頂点である。第1頂点P1は、最も左に位置する頂点であり、第2頂点P2は、最も上に位置する頂点であり、第3頂点P3は、最も下に位置する頂点であり、第4頂点P4は、最も右に位置する頂点である。ここで、右方向は、X方向であり、下方向は、Y方向である。
【0053】
図9(B)は、第1対象領域E21の傾斜角AGを示している。図中には、第1頂点P1を通りX方向に平行な第1線L1と、第1頂点P1と第2頂点P2と結ぶ第2線L2と、が示されている。傾斜角AGは、第1線L1と第2線L2とのなす角度である。プロセッサ110は、第1頂点P1の座標と第2頂点P2の座標とを使用することによって、傾斜角AGを算出する。プロセッサ110は、第1対象領域E21の画像を時計回りに傾斜角AGだけ回転させる。
【0054】
図9(C)は、回転済の第1対象領域E21を示している。回転済の第1対象領域E21は、X方向に平行な2辺とY方向に平行な2辺とを有している。プロセッサ110は、トリミングを行い、回転済の第1対象領域E21の内部の画像を抽出する。このように、プロセッサ110は、注目領域(例えば、第1対象領域E21)の傾きを補正する。
【0055】
なお、傾斜角AGの算出方法は、他の種々の方法であってよい。例えば、プロセッサ110は、第3頂点P3を通りX方向に平行な線と、第3頂点P3と第4頂点P4とを結ぶ線と、のなす角度を傾斜角AGとして算出してよい。
【0056】
S310(図8)では、プロセッサ110は、注目領域の画像を表すグレースケール画像データを生成する。図9(D)は、注目領域D21(ここでは、第1対象領域E21)を示している。注目領域D21は、単語W21を構成する複数の文字を表す文字部分C21と、文字部分C21に隣接する背景部分B21と、を含んでいる。プロセッサ110は、公知の計算式を使用して、注目領域D21の各画素の色値(本実施例では、RGBの色値)を輝度値に変換する。例えば、RGB値とYCbCr色空間の輝度値Yとを対応付ける計算式が用いられる。図9(E)は、グレースケール画像データによって表される注目領域D21gを示している(以下、グレー注目領域D21gとも呼ぶ)。グレー注目領域D21gは、文字部分C21に対応する文字部分C21gと、背景部分B21に対応する注目領域D21gと、を含んでいる。文字部分C21gの色と背景部分B21gの色とは、それぞれ、輝度値で表される。
【0057】
S320(図8)では、プロセッサ110は、グレー注目領域のデータを使用して、輝度値のヒストグラムを生成する。図9(F)は、ヒストグラムの例を示している。横軸は、輝度値Vを示し、縦軸は頻度fを示している(輝度値Vは、例えば、0から255までの256段階で表される)。上述したように、本実施例では、入力画像(例えば、入力画像D20(図7(A)))上で、文字は、単色の背景上に配置され、文字の色は、背景の色よりも暗い単色である。この場合、ヒストグラムは、2個の大きいピークPK1、PK2を示す。第1ピークPK1の輝度値V1は、第2ピークPK2の輝度値V2よりも大きい。第1ピークPK1は、背景部分を示し、第2ピークPK2は、文字部分を示す。
【0058】
S330(図8)では、プロセッサ110は、ヒストグラム(図9(F))の頻度fを参照し、明るい第1ピークPK1の輝度値V1(第1ピーク値V1と呼ぶ)と、暗い第2ピークPK2の輝度値V2(第2ピーク値V2と呼ぶ)と、を取得する。第1ピーク値V1は、背景部分の輝度値を示している。第2ピーク値V2は、文字部分の輝度値を示している。
【0059】
S340では、プロセッサ110は、第1ピーク値V1(図9(F))を含む第1輝度範囲VR1内の輝度値Vを有する複数の画素を、背景画素として選択する。本実施例では、第1輝度範囲VR1は、第1ピーク値V1を中心とする所定幅の範囲である。図9(G)の右部には、S340で選択される複数の背景画素によって形成される領域SB1が、ハッチングで示されている(背景セグメント領域SB1と呼ぶ)。本実施例では、この背景セグメント領域SB1は、背景部分B21(図9(D))と同じである。
【0060】
S350では、プロセッサ110は、第2ピーク値V2(図9(F))を含む第2輝度範囲VR2内の輝度値Vを有する複数の画素を、文字画素として選択する。本実施例では、第2輝度範囲VR2は、第2ピーク値V2を中心とする所定幅の範囲である。図9(G)の左部には、S350で選択される複数の文字画素によって形成される領域SC1が、ハッチングで示されている(文字セグメント領域SC1と呼ぶ)。本実施例では、この文字セグメント領域SC1は、文字部分C21(図9(D))と同じである。
【0061】
なお、輝度範囲VR1、VR2のそれぞれの幅は、ヒストグラムを使用してグレー注目領域を文字部分の領域と背景部分の領域とに適切に区分できるように、予め実験的に決定される。
【0062】
S360では、プロセッサ110は、セグメントマップを生成する。図9(G)の下部には、セグメントマップの例が示されている。このセグメントマップSM1は、S340で選択される背景セグメント領域SB1と、S350で選択される文字セグメント領域SC1と、を示している。
【0063】
S370では、プロセッサ110は、セグメントマップを表すデータを、記憶装置115(本実施例では、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、図8の処理、すなわち、S240(図6)の処理を終了する。このように、プロセッサ110は、注目領域から文字部分と背景部分とを抽出する。
【0064】
S250では、プロセッサ110は、注目領域のクラス分類処理を実行する。図10は、クラス分類処理の例を示すフローチャートである。S410では、プロセッサ210は、注目領域の文字部分の色を表す文字色値を取得する。図11は、クラス分類処理の説明図である。図11の左部に示すように、プロセッサ110は、注目領域D21からセグメントマップSM1の文字セグメント領域SC1に対応する領域AC1を抽出する。本実施例では、文字部分C21が、領域AC1として抽出される。プロセッサ110は、抽出される領域AC1の複数の画素の複数の色値の代表色値を、文字色値VC1として算出する。代表色値は、要約統計量とも呼ばれる種々の値であってよい(例えば、平均値、最頻値、中央値など)。本実施例では、プロセッサ110は、RGBのそれぞれの平均値である3個の階調値(文字色成分値とも呼ぶ)を、文字色値VC1として採用する。
【0065】
S420(図10)では、プロセッサ210は、注目領域の背景部分の色を表す背景色値を取得する。図11の右部に示すように、プロセッサ110は、注目領域D21からセグメントマップSM1の背景セグメント領域SB1に対応する領域AB1を抽出する。本実施例では、背景部分B21が、領域AB1として抽出される。プロセッサ110は、抽出される領域AB1の複数の画素の複数の色値の代表色値を、背景色値VB1として算出する。S420での代表色値の算出方法は、S410での代表色値の算出方法と同じである。本実施例では、プロセッサ110は、RGBのそれぞれの平均値である3個の階調値(背景色成分値とも呼ぶ)を、背景色値VB1として採用する。
【0066】
S430では、プロセッサ110は、注目領域の注目色ベクトルCVtを決定する。図5(A)に示すように、色ベクトルは、背景色のRGBの3個の階調値と文字色のRGBの3個の階調値とで表される6次元ベクトルである。プロセッサ110は、背景色値VB1(図11)のRGBの3個の階調値と文字色値VC1のRGBの3個の階調値との6個の階調値で表されるベクトルを、注目色ベクトルCVtとして採用する。
【0067】
S440(図10)では、プロセッサ110は、注目色ベクトルCVtと色クラス対応関係CCR(図5(A))とを使用して、注目領域のクラス番号CLを選択する。図12(A)、図12(B)は、クラス番号CLの選択方法の例を示す図である。図12(A)に示される「Sc(CVt、CV(i))」は、注目色ベクトルCVtと、色クラス対応関係CCRのi番の色ベクトルCV(i)と、の間のコサイン類似度を示している。コサイン類似度は、2つのベクトルの内積を、2つのベクトルのそれぞれのL2ノルムで除算することによって、算出される。プロセッサ110は、色クラス対応関係CCRのN個の色ベクトルCV(i)のそれぞれと色ベクトルCVtとのN個のコサイン類似度を算出する。プロセッサ110は、N個の色ベクトルCV(i)のうち最大の類似度を導く色ベクトルCV(i)の番号iを、注目領域の番号i_tとして採用する。図12(B)に示すように、プロセッサ110は、色クラス対応関係CCRによって番号i_tに対応付けられるクラス番号CL(i_t)を、注目領域のクラス番号CL_tとして採用する。
【0068】
このように、プロセッサ110は、注目領域のクラス番号CL_tを選択する(注目番号CL_tと呼ぶ)。そして、プロセッサ110は、図10の処理、すなわち、図6のS250の処理を終了する。
【0069】
S260では、プロセッサ110は、入力画像中の注目領域に対して、注目番号CL_tに対応する滲み影響軽減処理を実行する。図13は、滲み影響軽減処理の例を示す図である。図3で説明したように、本実施例では、軽減処理によって、背景部分のうちの文字部分に接する部分の色が白色に変更される。これにより、文字部分を囲む隙間が形成される。プロセッサ110は、隙間の幅を、注目番号CL_tに応じて調整する。図13には、0番から3番の注目番号CL_tにそれぞれ対応する幅W0-W3が示されている。本実施例では、0=W0<W1<W2<W2である。
【0070】
図13には、0番から3番の注目番号CL_tにそれぞれ対応する軽減処理済の領域D30-D33が示されている。これらの処理済領域D30-D33は、同じ画像に対する軽減処理によって生成される画像を示している。処理済領域D30-D33は、共通の文字部分C30を含んでいる。処理済領域D30-D33は、さらに、背景部分B30-B33を、それぞれ含んでいる。クラス番号CL_tがゼロである場合、幅の形成は省略される。処理済領域D30中では、背景部分B30は文字部分C30に隣接している。クラス番号CL_tが1以上である場合、処理済領域D31-D33中では、文字部分C30と背景部分B31-B33との間には、幅W1-W3を有する隙間A31-A33が、それぞれ形成される。幅W1-W3は、種々の画像の印刷結果を使用して、適切な印刷結果が得られるように、予め実験的に決定される。
【0071】
なお、S260(図6)では、プロセッサ110は、S240(すなわち、図8の処理)で抽出される文字部分と背景部分とを使用して、入力画像上で隙間を形成する。S305(図8)で算出される傾斜角AGがゼロではない場合、プロセッサ110は、S240で抽出される文字部分と背景部分との傾きを傾斜角AGを使用して元に戻すことによって、入力画像上の文字部分と背景部分とを決定する。図9(A)の対象領域E21が処理される場合、背景部分B21のうちの文字部分C21に隣接する部分に、隙間が形成される。
【0072】
S270(図6)では、プロセッサ110は、全ての対象領域が処理されたか否かを判断する。未処理の対象領域が残っている場合(S270:No)、プロセッサ110は、S230へ移行して、未処理の対象領域を処理する。
【0073】
全ての対象領域が処理された場合(S270:Yes)、S280で、プロセッサ110は、S220-S270による処理済の入力画像のデータを使用して、プリンタ200に入力画像を印刷させる。本実施例では、プロセッサ110は、処理済の入力画像のデータを使用して、印刷データを生成する。印刷データの生成方法は、S120(図4)で説明した方法と同じである。プロセッサ110は、印刷データをプリンタ200に供給する。プリンタ200のプロセッサ210は、印刷データに従って、入力画像を記録媒体(例えば、衣服S)上に印刷する。そして、図6の処理は、終了する。
【0074】
以上のように、本実施例では、データ処理装置100のプロセッサ110は、以下の処理を実行する。S220(図6)では、プロセッサ110は、印刷すべき入力画像の入力画像データを分析することによって、文字を表す部分である対象文字部分と対象文字部分に隣接する背景を表す部分である対象背景部分とを含む対象領域を入力画像から検出する。例えば、図7(B)に示すように、入力画像D20から、対象領域E21-E25が検出される。図9(D)に示すように、第1対象領域E21は、対象文字部分C21と、対象文字部分C21に隣接する対象背景部分B21と、を有している。他の対象領域E22-E25(図7(C))も、同様に、単語W22-W25を示す対象文字部分C22-C25と、対象文字部分C22-C25に隣接する対象背景部分B22-B25と、をそれぞれ含んでいる。
【0075】
S250(図6)、すなわち、図10の処理では、プロセッサ110は、注目領域に対応付けられるクラス番号CL_tを、注目色ベクトルCVtと色クラスデータ136とを使用して、Q個のクラス番号CL(図5(B))から選択する。注目領域は、処理対象の対象領域である。クラス番号CL_tは、対象領域に対応付けられるクラスである対象クラスを示している。注目色ベクトルCVtは、文字色値VC1(図11)と背景色値VB1とを表している。文字色値VC1は、注目領域の文字部分(例えば、文字部分C21)の色を表している(S410(図10))。背景色値VB1は、注目領域の背景部分(例えば、背景部分B21)の色を表している(S420)。
【0076】
色クラスデータ136は、予め決められた色クラス対応関係CCR(図5(A))を表している。色クラス対応関係CCRは、クラス番号CLと、色ベクトルCVと、の対応関係を表している。クラス番号CLは、図5(B)に示すように、滲みの度合いBLを示している。滲みの度合いBLは、S130(図4)、図5(C)-図5(F)で説明したように、参考画像の印刷済の画像中のインクの滲みの度合いを示している。参考画像は、図5(C)-図5(F)の参考画像D11-D14のように、文字を表す参考文字部分(例えば、文字部分C11-C14)と、参考文字部分に隣接する参考背景部分(例えば、背景部分B11-B14)と、を含んでいる。インクの滲みの度合いは、参考文字部分と参考背景部分との間の境界でのインクの滲みの度合いを示している。クラス番号CLは、このようなインクの滲みの度合いを示している。
【0077】
色クラス対応関係CCR(図5(A))の色ベクトルCVは、文字色CCと背景色CBとを表している。文字色CCと背景色CBとは、S140(図4)で説明したように、印刷に使用される参考画像データ(すなわち、参考画像の印刷用画像データ)から得られる。文字色CCは、参考画像の参考文字部分の色を示している(例えば、図5(C)-図5(F)の文字部分C11-C14の色)。背景色CBは、参考画像の参考背景部分の色を示している(例えば、背景部分B11-B14の色)。色ベクトルCVは、参考文字部分の色と参考背景部分の色とを表す色情報の例である。
【0078】
図5(B)に示すように、Q個のクラス番号CLは、0番のクラスと、0番のクラスによって示される滲みの度合いよりも大きい滲みの度合いを示す1番のクラスと、を含んでいる。
【0079】
色クラスデータ136は、このような色クラス対応関係CCRを表す対応データの例である。
【0080】
S260(図6)では、プロセッサ110は、対象領域(ここでは、注目領域)の画像である対象画像と、対象領域に対応付けられるクラス番号CL_tと、を使用して、滲み影響軽減処理を実行する。この軽減処理によって、対象領域の印刷すべき画像である印刷パターンが、決定される。図13で説明したように、クラス番号CL_tが1番である場合の幅W1は、クラス番号CL_tが0番である場合の幅W0よりも、大きい。クラス番号CL_tが1番である場合の印刷パターンは、クラス番号CL_tが0番である場合の印刷パターンと比べて、印刷済の画像に対する滲みの影響を軽減するように構成される。
【0081】
S280(図6)では、プロセッサ110は、決定された印刷パターンに基づいて対象画像の印刷をプリンタ200に実行させる。
【0082】
このように、対象領域に対応付けられるクラス番号CL_tは、対象文字部分の色と対象背景部分の色と色クラスデータ136とを使用して選択される。対象領域の印刷すべき印刷パターンは、対象領域の対象画像とクラス番号CL_tとを使用して決定されるので、滲みの影響を適切に軽減できる。
【0083】
また、図4図5(C)-図5(F)で説明したように、本実施例では、色クラス対応関係CCRの決定のために、参考画像データ(すなわち、参考画像の印刷用画像データ)が使用される。参考画像データによって表される参考文字部分は、単色の部分である(例えば、文字部分C11-C13(図5(C)-図5(F)))。参考画像データによって表される参考背景部分は、単色の部分である(例えば、背景部分B11-B14(図5(C)-図5(F)))。
【0084】
プロセッサ110は、図6のS240、S250を実行することによって、注目領域(すなわち、対象領域)のクラス番号CL_tを選択する。S240では、プロセッサ110は、対象領域の対象画像を分析することによって、対象領域から対象文字部分と対象背景部分と抽出する。例えば、図9(G)に示すように、プロセッサ110は、背景部分B21を示す背景セグメント領域SB1と、文字部分C21を示す文字セグメント領域SC1と、を抽出する。
【0085】
S250(図6)では、プロセッサ110は、図10の処理を実行する。S410では、プロセッサ110は、文字部分を示す領域(例えば、文字部分C21(図11)を示す領域AC1)の複数の画素(すなわち、複数の位置)の複数の色値の代表色値を、文字色値VC1として算出する。S420で、プロセッサ110は、背景部分を示す領域(例えば、背景部分B21(図11)を示す領域AB1)の複数の画素(すなわち、複数の位置)の複数の色値の代表色値を、背景色値VB1として算出する。S440で、プロセッサ110は、背景色値VB1と文字色値VC1とを表す色ベクトルCVtと、色クラスデータ136と、を使用して、クラス番号CL_tを選択する。
【0086】
このように、色クラス対応関係CCR(図5(A))は、単色の背景部分の背景色CBと単色の文字部分の文字色CCとクラス番号CLとの対応関係を示している。そして、対象領域の文字部分の代表色と背景部分の代表色と色クラス対応関係CCRとを使用して、対象領域のクラス番号CL_tが選択される。従って、適切なクラス番号CL_tが選択される。
【0087】
また、S260(図6)で説明したように、プロセッサ110は、S240で抽出された対象文字部分と対象背景部分とを使用して、対象領域の印刷すべき印刷パターンを決定する。従って、プロセッサ110は、適切な印刷パターンを決定できる。例えば、文字部分と背景部分との間の境界部分とは異なる部分に、境界部分に対して実行すべき処理(例えば、隙間の形成)が行われる可能性は、低減する。
【0088】
また、色クラス対応関係CCR(図5(A))によって表されるクラスの数Q(図5(B))は、2以上の種々の値であってよい。クラスの数Qが多いほど、滲みの度合いBLが細かく評価される。従って、クラスの数Qが多いほど、対象領域に適する軽減処理を実行できる。本実施例では、Q=4であるので、適切な軽減処理を実行できる。なお、クラスの数Qは、2以上が好ましく、3以上が特に好ましく、4以上が、最も好ましい。なお、クラスの数Qが多い場合、色クラス対応関係CCRの準備のための負担が増大する。従って、クラスの数Qは、20以下が好ましく、15以下が特に好ましく、10以下が、最も好ましい。なお、数Qは、2、3、4から任意に選択される下限以上、20、15、10から任意に選択される上限以下の範囲内に設定されてよい。
【0089】
また、色情報の例である色ベクトルCV(図5(A))は、背景色CBと文字色CCを含んでいる。文字色CCは、参考画像の参考文字部分(例えば、図5(C)-図5(F)の文字部分C11-C14)の色を示すT個の色成分のT個の文字色成分値を表している(本実施例では、RGBの3色の成分値)。背景色CBは、参考画像の参考背景部分(例えば、背景部分B11-B14)の色を示すT個の色成分のT個の背景色成分値を表している(本実施例では、RGBの3色の成分値)。
【0090】
図5(A)に示すように、対応データの例である色クラスデータ136は、色クラス対応関係CCRを示すテーブルを表している。色クラス対応関係CCRは、T個の文字色成分値(ここでは、文字色CCのRGBの階調値)とT個の背景色成分値(ここでは、背景色CBのRGBの階調値)とクラス(ここでは、クラス番号CL)との対応関係を表している。
【0091】
プロセッサ110は、図6のS240、S250を実行することによって、注目領域(すなわち、対象領域)のクラス番号CL_tを選択する。S240では、プロセッサ110は、対象領域の対象画像を分析することによって、対象領域から対象文字部分と対象背景部分と抽出する。例えば、図9(G)に示すように、プロセッサ110は、背景部分B21を示す背景セグメント領域SB1と、文字部分C21を示す文字セグメント領域SC1と、を抽出する。
【0092】
S250では、プロセッサ110は、図10の処理を実行する。S410では、プロセッサ110は、対象文字部分を示す領域(例えば、文字部分C21(図11)を示す領域AC1)の複数の画素(すなわち、複数の位置)の複数の色値の代表色値を、文字色値VC1として算出する。文字色値VC1は、3個の色成分(ここでは、RGB)の3個の色成分値で、代表色を示している。S420では、プロセッサ110は、対象背景部分を示す領域(例えば、背景部分B21を示す領域AB1)の複数の画素(すなわち、複数の位置)の複数の色値の代表色値を、背景色値VB1として算出する。背景色値VB1は、3個の色成分(ここでは、RGB)の3個の色成分値で、代表色を示している。
【0093】
S440では、プロセッサ110は、背景色値VB1の3個の色成分値と、文字色値VC1の3個の色成分値と、色クラスデータ136と、を使用して、クラス番号CL_tを選択する。
【0094】
このように、プロセッサ110は、対象文字部分の複数の位置の複数の色の代表色を示す3個の成分値と、対象背景部分の複数の位置の複数の色の代表色を示す3個の成分値と、色クラス対応関係CCRを示すテーブルを表す色クラスデータ136と、を使用することによって、クラス番号CL_tを選択する。従って、プロセッサ110は、対象領域の適切なクラス番号CL_tを選択できる。
【0095】
B.第2実施例:
図14は、予測モデルM2(図1)の訓練処理の例を示すフローチャートである。本実施例では、図6のS250では、図10の処理に代えて、予測モデルM2を使用する後述の処理が実行される。本実施例では、予測モデルM2のデータ138は、プログラムモジュールである。予測モデルM2は、色ベクトルCVt(図10:S430)を使用して注目領域のクラス番号CL_tを予測するように構成される任意のモデルであってよい。本実施例では、予測モデルM2は、勾配ブースティングと呼ばれる訓練方法に従って訓練される予測モデルである。予測モデルM2としては、複数の弱い予測モデルの組み合わせが、使用される。弱い予測モデルは、例えば、決定木であってよい。複数の決定木で構成される予測モデルであって、勾配ブースティングによって訓練される予測モデルは、勾配ブースティング決定木(Gradient Boosting Decision Tree)とも呼ばれる。本実施例では、予測モデルM2は、勾配ブースティング決定木である。
【0096】
本実施例では、予測モデルM2は、図14の処理によって、訓練される。予測モデルM2の訓練は、プリンタ200(図1)の製造者によって、行われる。予測モデルM2の訓練には、印刷システム1000のデータ処理装置100が使用されることとする。これに代えて、他のデータ処理装置(図示せず)が使用されてよい。
【0097】
S510では、プロセッサ110は、色クラス対応関係CCR(図5(A))を表す色クラスデータ136を、記憶装置115(ここでは、不揮発性記憶装置130)から取得する。上述したように、色クラスデータ136は、色ベクトルCVとクラス番号CLとの適切な対応関係を表している。色クラスデータ136は、予測モデルM2の訓練用の訓練データとして使用される。
【0098】
S530では、プロセッサ110は、色クラスデータ136を使用して、予測モデルM2を訓練する。予測モデルM2は、色クラス対応関係CCR(図5(A))から選択される色ベクトルCVが入力される場合に、色クラス対応関係CCRによって色ベクトルCVに対応付けられるクラス番号CLを予測するように、訓練される。訓練方法としては、勾配ブースティングと呼ばれる種々の訓練方法を採用可能である。本実施例では、LightGBM(Light Gradient Boosting Machine)と呼ばれる訓練方法が採用される。LightGBMは、例えば、論文「Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, Tie-Yan Liu. “LightGBM: A Highly Efficient Gradient Boosting Decision Tree.” Advances in Neural Information Processing Systems 30 (NIPS 2017), pp. 3149-3157.」に開示されている。予測モデルM2は、この論文に基づいて構成されてよい。
【0099】
S540では、プロセッサ110は、訓練済の予測モデルM2のデータ138を、記憶装置115(本実施例では、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、図14の処理を終了する。訓練済の予測モデルM2のデータ138は、複数のプリンタ200に共通に使用されてよい。例えば、プリンタ200の製造者は、サーバ等を通じて、データ138を配布してよい。
【0100】
図15は、クラス分類処理の例を示すフローチャートである。この処理は、図6のS250で、図10の処理の代わりに実行される。S410-S430は、図10のS410-S430と、それぞれ同じである。S440bでは、プロセッサ110は、注目色ベクトルCVtを予測モデルM2に入力することによって、注目領域のクラス番号CL_tを予測する。本実施例では、プロセッサ110は、注目色ベクトルCVtを使用して予測モデルM2の演算を実行することによって、注目領域のクラス番号CL_tを予測する。図14で説明したように、予測モデルM2は、色クラス対応関係CCR(図5(A))によって定められる色ベクトルCVとクラス番号CLとの対応関係を予測するように、訓練済である。従って、プロセッサ110は、注目色ベクトルCVtから、注目色ベクトルCVtに適するクラス番号CL_tを、予測できる。クラス番号CL_tの予測の後、プロセッサ110は、図15の処理、すなわち、図6のS250の処理を終了する。
【0101】
以上のように、本実施例では、予測モデルM2は、参考画像の文字色CC(図5(A))と背景色CBとから、色クラス対応関係CCRによって文字色CCと背景色CBとに対応付けられるクラス番号CLを予測するように、勾配ブースティングにより訓練済の予測モデルである。このように、訓練済の予測モデルM2のデータ138は、色クラス対応関係CCRを示す対応データの例である。なお、文字色CCは、T個の文字色成分値(本実施例では、RGBの3個の成分値)を表している。背景色CBは、T個の背景色成分値(本実施例では、RGBの3個の成分値)を表している。
【0102】
S440b(図15)で、プロセッサ110は、背景色値VB1と、文字色値VC1と、予測モデルM2と、を使用して、対象画像のクラス番号CL_tを選択する。文字色値VC1は、対象画像の対象文字部分の複数の位置の複数の色の代表色を示している(S410、図10図15)。文字色値VC1は、代表色を示すT個の色成分値(本実施例では、RGBの3個の色成分値)を表している。背景色値VB1は、対象画像の対象背景部分の複数の位置の複数の色の代表色を示している(S420、図10図15)。背景色値VB1は、代表色を示すT個の色成分値(本実施例では、RGBの3個の色成分値)を表している。
【0103】
このように、プロセッサ110は、対象文字部分の複数の位置の複数の色の代表色を示す3個の成分値と、対象背景部分の複数の位置の複数の色の代表色を示す3個の成分値と、予測モデルM2と、を使用することによって、クラス番号CL_tを選択する。従って、プロセッサ110は、対象領域の適切なクラス番号CL_tを選択できる。
【0104】
C.第3実施例:
図16は、予測モデルM3の訓練処理の例を示すフローチャートである。本実施例では、図6のS250では、図10の処理に代えて、予測モデルM3を使用する後述の処理が実行される。本実施例では、予測モデルM3は、プログラムモジュールである。本実施例では、予測モデルM3は、注目領域の画像データを使用して注目領域のクラス番号CL_tを予測するように構成される任意のモデルであってよい。例えば、予測モデルM3は、畳込分類器と呼ばれる機械学習モデルであってよい。本実施例では、予測モデルM3の構成は、VGG16と呼ばれる機械学習モデルの構成と同じである。VGG16は、畳込分類器の例である。
【0105】
本実施例では、予測モデルM3は、図16の処理によって、訓練される。予測モデルM3の訓練は、プリンタ200(図1)の製造者によって、行われる。予測モデルM3の訓練には、印刷システム1000のデータ処理装置100が使用されることとする。これに代えて、他のデータ処理装置(図示せず)が使用されてよい。
【0106】
S610では、プロセッサ110は、色クラス対応関係CCR(図5(A))を表す色クラスデータ136を、記憶装置115(ここでは、不揮発性記憶装置130)から取得する。上述したように、色クラスデータ136は、色ベクトルCVとクラス番号CLとの適切な対応関係を表している。
【0107】
S620では、プロセッサ110は、色クラス対応関係CCRの文字色CCと背景色CBとに従って、複数の訓練画像データを、ランダムに生成する。図17(A)-図17(H)は、訓練画像の例を示す図である。訓練画像D41-D48は、文字を表す文字部分C41-C48と、文字部分C41-C48に隣接する背景部分B41-B48と、をそれぞれ含んでいる。
【0108】
プロセッサ110は、色クラス対応関係CCR(図5(A))から、ランダムに色ベクトルCVを選択する。プロセッサ110は、選択された色ベクトルCVの文字色CCを有する文字部分と背景色CBを有する背景部分とを有する訓練画像のデータを生成する。ここで、プロセッサ110は、文字部分を形成する単語と、文字のサイズと、訓練画像内の単語の位置と、訓練画像のサイズ(高さと幅)と、訓練画像のアスペクト比と、を含む複数のパラメータのそれぞれを、ランダムに決定する。
【0109】
プロセッサ110は、複数の色ベクトルCVを使用して、複数の訓練画像を生成する。また、プロセッサ110は、同じ色ベクトルCVから、複数の訓練画像を生成する。例えば、図17(A)-図17(D)の訓練画像D41-D44は、1番の色ベクトルCV(1)に基づいて生成されている。図17(E)-図17(H)の訓練画像D45-D48は、7番の色ベクトルCV(7)に基づいて生成されている。
【0110】
S630(図16)では、プロセッサ110は、複数の訓練画像データを使用して、予測モデルM3を訓練する。訓練方法は、予測モデルM3に適する任意の方法であってよい。例えば、プロセッサ110は、訓練画像データを使用して予測モデルM3の演算を実行することによって、クラス番号CLを示す出力値を算出する。プロセッサ110は、出力値と正解のクラス番号CLとの間の差分を示す損失が小さくなるように、予測モデルM3の複数のパラメータを調整する。正解のクラス番号CLは、出力値の算出に使用された訓練画像データの文字部分の色と背景部分の色とに、色クラス対応関係CCR(図5(A))によって対応付けられるクラス番号CLである。予測モデルM3の複数のパラメータは、例えば、誤差逆伝播法と勾配降下法とを使用する方法によって、調整される。損失は、例えば、いわゆる交差エントロピーであってよい。
【0111】
このように、本実施例では、予測モデルM3は、色クラス対応関係CCR(図5(A))から選択される色ベクトルCVによって示される文字色CCの文字部分と背景色CBの背景部分とを有する画像が入力される場合に、色クラス対応関係CCRによって色ベクトルCVに対応付けられるクラス番号CLを予測するように、訓練される。すなわち、訓練済の予測モデルM3は、色クラス対応関係CCR(すなわち、色ベクトルCVとクラス番号CLとの対応関係)を示している。訓練済の予測モデルM3のデータ139は、色クラス対応関係CCRを表す対応データの例である。
【0112】
S640では、プロセッサ110は、訓練済の予測モデルM3のデータ139を、記憶装置115(本実施例では、不揮発性記憶装置130)に格納する。そして、プロセッサ110は、図16の処理を終了する。訓練済の予測モデルM3のデータ139は、複数のプリンタ200に共通に使用されてよい。例えば、プリンタ200の製造者は、サーバ等を通じて、データ139を配布してよい。
【0113】
図18は、クラス分類処理の例を示すフローチャートである。この処理は、図6のS250で、図10の処理の代わりに実行される。
【0114】
S710では、プロセッサ110は、入力画像データのうちの注目領域の画像を表す部分画像データを使用して、予測モデルM3に入力するための画像データであるモデル用画像データを生成する。モデル用画像データは、モデル用画像データの画像であるモデル用画像が注目領域の画像のうちの文字部分の少なくとも一部と背景部分の少なくとも一部を含むように、生成される。例えば、プロセッサ110は、注目領域の画像の解像度を、予測モデルM3に適する解像度に変換することによって、モデル用画像データを生成する。
【0115】
S720では、プロセッサ110は、モデル用画像データを予測モデルM3に入力することによって、注目領域のクラス番号CL_tを予測する。本実施例では、プロセッサ110は、モデル用画像データを使用して予測モデルM3の演算を実行することによって、クラス番号CLを示す出力値を算出する。図16で説明したように、予測モデルM3は、色クラス対応関係CCR(図5(A))によって定められる色ベクトルCVとクラス番号CLとの対応関係を予測するように、訓練済である。従って、プロセッサ110は、注目領域の文字部分の色と背景部分の色とに適するクラス番号CL_tを予測できる。クラス番号CL_tの予測の後、プロセッサ110は、図18の処理、すなわち、図6のS250の処理を終了する。
【0116】
なお、モデル用画像データは、注目領域の画像のうちの文字部分の少なくとも一部と背景部分の少なくとも一部を表すように、構成される。すなわち、モデル用画像データは、文字部分の色と背景部分の色とを表している。本実施例では、プロセッサ110は、注目領域の文字部分の色と背景部分の色と予測モデルM3とを使用して、注目領域のクラス番号CL_tを選択している。
【0117】
以上のように、本実施例では、予測モデルM3は、訓練画像に対応付けられる正解クラスを訓練画像を使用して予測するように訓練済である(図16)。図16のS610、S620、図17(A)-図17(H)で説明したように、訓練画像D41-D48は、文字を表す文字部分C41-C48(訓練文字部分とも呼ぶ)と、文字部分C41-C48に隣接する背景部分B41-B48(訓練背景部分とも呼ぶ)とを表すように、ランダムに生成される。訓練文字部分C41-C48は、色クラス対応関係CCR(図5(A))の文字色CCを有する文字を表している。文字色CCは、参考画像の文字部分の色を示している(例えば、図5(C)-図5(F)の参考画像D11-D14の文字部分C11-C14のいずれかの色)。訓練背景部分B41-B48は、色クラス対応関係CCRの背景色CBを有している。背景色CBは、参考画像の背景部分の色を示している(例えば、図5(C)-図5(F)の参考画像D11-D14の背景部分B11-B14のいずれかの色)。S630で説明したように、正解クラスは、訓練文字部分の色と訓練背景部分の色との組み合わせに色クラス対応関係CCRによって対応付けられるクラスである。
【0118】
図18のS720では、プロセッサ110は、予測モデルM3にモデル用画像データを入力することによって予測されるクラスを、注目領域のクラス(本実施例では、クラス番号CL_t)として採用する。S710で説明したように、モデル用画像データのモデル用画像は、注目領域の文字部分の少なくとも一部と背景部分の少なくとも一部とを表している。
【0119】
このように、プロセッサ110は、注目領域の文字部分の少なくとも一部と背景部分の少なくとも一部とを表す画像を訓練済の予測モデルM3に入力することによって、注目領域の適切なクラス番号CL_tを選択できる。
【0120】
D.変形例:
(1)文字部分と背景部分とを含む対象領域を入力画像から検出する方法は、CRAFTを使用する方法に代えて、他の任意の方法であってよい。例えば、検出モデルM1は、YOLO(You only look once)、SSD(Single Shot MultiBox Detector)、R-CNN(Region Based Convolutional Neural Networks)など、文字を表す領域を検出する種々の物体検出モデルであってよい。また、検出モデルM1は、CNNを含まない物体検出モデル(例えば、複数の全結合層で構成されるモデル)であってよい。また、プロセッサ110は、検出モデルM1を使用せずに、文字のテンプレート画像を使用するテンプレートマッチングによって、対象領域を検出してよい。
【0121】
(2)対象領域から文字部分と背景部分とを検出する処理は、図8の処理に代えて、他の種々の処理であってよい。例えば、入力画像の文字の色と背景の色とは、予め決められてよい。この場合、プロセッサ110は、文字の色を含む所定の文字色範囲内の色を有する複数の画素を、文字部分として検出してよい。また、プロセッサ110は、背景の色を含む所定の背景色範囲内の色を有する複数の画素を、背景部分として検出してよい。また、プロセッサ110は、種々の二値化によって、対象領域を文字部分と背景部分とに区分してよい。例えば、大津の二値化が採用されてよい。
【0122】
(3)参考画像の文字部分(例えば、図5(C)-図5(F)の参考画像D11-D14の文字部分C11-C14)は、互いに異なる色を有する複数の部分を含んでよい。この場合、図5(A)の文字色CCは、文字部分の複数の画素の複数の色値の代表色値であってよい。代表色値を使用することによって、色クラス対応関係CCRは、文字部分の色とクラス番号CLとの適切な対応関係を定めることができる。ここで、文字部分の内の色のばらつきが小さいことが好ましい。色のばらつきが小さいほど、代表色値は、文字部分の色を適切に近似できる。
【0123】
同様に、参考画像の背景部分(例えば、図5(C)-図5(F)の参考画像D11-D14の背景部分B11-B14)は、互いに異なる色を有する複数の部分を含んでよい。この場合、図5(A)の背景色CBは、背景部分の複数の画素の複数の色値の代表色値であってよい。代表色値を使用することによって、色クラス対応関係CCRは、背景部分の色とクラス番号CLとの適切な対応関係を定めることができる。ここで、背景部分の内の色のばらつきが小さいことが好ましい。色のばらつきが小さいほど、代表色値は、背景部分の色を適切に近似できる。
【0124】
(4)入力画像の文字部分(例えば、図9(A)の第1対象領域E21の文字部分C21)は、互いに異なる色を有する複数の部分を含んでよい。図10のS410で算出される代表色値(すなわち、文字色値VC1)を使用することによって、プロセッサ110は、文字部分の色に適するクラス番号CL_tを選択できる。ここで、文字部分の内の色のばらつきが小さいことが好ましい。色のばらつきが小さいほど、代表色値(ここでは、文字色値VC1)は、文字部分の色を適切に近似できる。
【0125】
同様に、入力画像の背景部分(例えば、図9(A)の第1対象領域E21の背景部分B21)は、互いに異なる色を有する複数の部分を含んでよい。図10のS420で算出される代表色値(すなわち、背景色値VB1)を使用することによって、プロセッサ110は、背景部分の色に適するクラス番号CL_tを選択できる。ここで、背景部分の内のばらつきが小さいことが好ましい。色のばらつきが小さいほど、代表色値(ここでは、背景色値VB1)は、背景部分の色を適切に近似できる。
【0126】
(5)上記各実施例と各変形例とにおいて、注目部分(例えば、文字部分、または、背景部分)の代表色値は、注目部分の全ての画素ではなく、注目部分の一部の領域の複数の画素を使用して決定されてよい。また、代表色値は、色成分毎の代表値(例えば、RGBのそれぞれの代表値)を表してよい。代表値は、平均値、最頻値、中央値など、種々の要約統計量であってよい。
【0127】
(6)図10のS440でのクラス番号CL_tの選択方法は、図12(A)、図12(B)で説明した方法に代えて、他の種々の方法であってよい。例えば、注目色ベクトルCVtと色ベクトルCV(i)との間の類似度は、コサイン類似度とは異なる種々の類似度であってよい。例えば、ユークリッド距離が使用されてよい。類似度は、ユークリッド距離が小さいほど、高い。また、2個のベクトルCVt、CV(i)の類似度を使用する方法に代えて、他の方法でクラス番号CL_tが選択されてよい。例えば、プロセッサ110は、いわゆるk近傍法によって、色クラス対応関係CCR(図5(A))の複数の対応関係の複数のクラス番号CLから、注目色ベクトルCVtに対応付けるべきクラス番号CL_tを選択してよい。
【0128】
(7)図18のS710では、モデル用画像データのモデル用画像は、注目領域の画像のうちの文字部分の一部と背景部分の一部とで構成される画像であってよい。例えば、プロセッサ110は、注目領域の一部を抽出することによって、モデル用画像データを生成してよい。
【0129】
(8)図18のS720で使用される予測モデルM3は、VGG16に代えて、他の種々のモデルであってよい。例えば、予測モデルM3は、1以上の畳込層を含む種々の畳込分類器であってよい。また、予測モデルM3は、畳込層を含まないモデルであってよい。例えば、予測モデルM3は、複数の全結合層で構成されてよい。
【0130】
(9)図14のS530での予測モデルM2の訓練方法は、LightGBMに代えて、勾配ブースティングと呼ばれる種々の訓練方法を採用可能である。例えば、XGBoost(eXtreme Gradient Boosting)、または、Catboost(Category Boosting)と呼ばれる訓練方法が採用されてよい。予測モデルM2の構成は、訓練方法に適する種々の構成であってよい。
【0131】
また、予測モデルM2の構成と訓練方法とは、単純な決定木、または、ランダムフォレストと呼ばれるアーキテクチャに基づいて、構成されてよい。
【0132】
なお、文字部分の色数は、少ない場合が多い(例えば、文字部分は、単色で表現される)。背景部分の色数についても、同様である。このように、クラス番号CL_tの選択に使用されるデータ(例えば、文字部分の色と背景部分の色を示す色ベクトルCVt、または、対象領域の画像データ)は、疎なデータであり得る。勾配ブースティングは、決定木や畳込分類器に比べて、疎なデータを使用する分類に適している。
【0133】
(10)滲み影響軽減処理(図6:S260)は、印刷済の画像に対する滲みの影響を軽減する種々の処理であってよい。図13の実施例では、プロセッサ110は、文字部分C30を変更せずに、背景部分B31-B33に隙間A31-A33を形成する。従って、文字が細い線を含む場合に、隙間の形成による細い線の消失を防止できる。これに代えて、隙間は、背景部分のうちの文字部分に接する部分と、文字部分のうちの背景部分に接する部分と、の両方を含んでよい。また、文字が太い線で形成される場合、プロセッサ110は、背景部分を変更せずに、文字部分に隙間を形成してよい。
【0134】
隙間の色は、インクの無い色(本実施例では、白)に代えて、他の色に設定されてよい。例えば、プロセッサ110は、隙間を形成すべき部分の色を薄くすることによって、隙間を形成してよい(例えば、明度が高められてよい)。
【0135】
なお、滲み影響軽減処理は、入力画像データの色空間(ここでは、RGB色空間)に代えて、他の色空間(例えば、使用可能なインクの色に対応する色空間。本実施例では、KCMY色空間)で実行されてよい。プロセッサ110は、入力画像データを使用する色変換処理によって生成されるKCMYのラスタデータを使用して、滲み影響軽減処理を実行してよい。例えば、図6のS220-S260は、KCMYのラスタデータを使用して実行されてよい。この場合、色クラス対応関係CCR(図5(A))の背景色CBと文字色CCと、S410、S420(図10図15)で算出される各代表色とは、RGBの3個の成分値に代えて、KCMYの4個の成分値で表されてよい。
【0136】
(11)印刷機構300の構成は、図1図2の構成に代えて、他の種々の構成であってよい。例えば、印刷機構300は、固定された印刷ヘッドに対して記録媒体が移動するように構成されてよい。使用可能な印刷材は、2以上の任意の印刷材であってよい(例えば、CMYの3色、KYの2色、など)。印刷材は、インクに限らず、着色材を含む任意の印刷材(例えば、トナー)であってよい。使用可能な記録媒体は、複数種類の布地を含んでよい(例えば、綿生地、麻生地、ポリエステル生地、など)。使用可能な記録媒体は、布地に限らず、紙、樹脂製のフィルム、皮、など、種々の記録媒体を含んでよい。複数種類の記録媒体が使用可能である場合、色クラス対応関係CCR(ひいては、予測モデルM2、M3)は、記録媒体の種類毎に準備されてよい。
【0137】
(12)印刷材の滲みの度合い(図5(B))の評価方法は、種々の方法であってよい。例えば、「ISO13660」の「raggedness」の「ぼやけ度」の測定結果が、Q個のクラスに分類されてよい。
【0138】
(13)印刷処理(図6)を実行するデータ処理装置は、プリンタ200の一部であってよい。例えば、プリンタ200のプロセッサ210が、印刷処理を実行してよい。また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、データ処理装置による印刷処理の機能を一部ずつ分担して、全体として、印刷処理の機能を提供してもよい(これらの装置を備えるシステムがデータ処理装置に対応する)。
【0139】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1のS260の滲み影響軽減処理の機能を、専用のハードウェア回路によって実現してもよい。
【0140】
また、本開示の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD-ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含み得る。
【0141】
上記の実施例と変形例とは、適宜に組み合わせることができる。また、上記した実施例と変形例とは、本開示の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【0142】
100…データ処理装置、110…プロセッサ、115…記憶装置、120…揮発性記憶装置、130…不揮発性記憶装置、131…第1プログラム、132…第2プログラム、136…色クラスデータ、CCR…色クラス対応関係、137、138、139…データ、M1…検出モデル、M2、M3…予測モデル、140…表示部、150…操作部、170…通信インタフェース、200…プリンタ、201…筐体、210…プロセッサ、215…記憶装置、220…揮発性記憶装置、230…不揮発性記憶装置、231…プログラム、240…表示部、250…操作部、270…通信インタフェース、300…印刷機構、310…印刷ヘッド、320…ヘッド駆動部、330…主走査部、340…搬送部、342…プラテン、344…トレイ、1000…印刷システム、S…衣服
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18