(57)【要約】【課題】ハーフトーニング処理で複数色が干渉する場合でも、これを適切に処理できる装置及びプログラムを提供する。【解決手段】データ処理装置１０のＣＰＵ１０１は、立体造形物データ（３Ｄデータ）を入力し、立体造形物データをボクセルデータに変換し、さらにハーフトーニング処理して立体造形装置１２に出力する。ＣＰＵ１０１は、カラーデータをハーフトーニング処理する場合において同一ボクセルで２以上の色が干渉するときに、２以上の色の濃度比率を用いていずれかの色として出力する。【選択図】図１
2018065293.tif 000002
【特許請求の範囲】
【請求項１】
立体造形物の形状および色を規定した第１のデータを受け付ける受付手段と、
前記第１のデータにおける色情報に基づき、複数の色成分ごとにハーフトーニング処理を行った結果、一のボクセルで２以上の前記色成分が干渉するときに、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いて、前記２以上の色成分のうちいずれか１つの色成分を前記一のボクセルの色情報として付与してカラーボクセルデータを生成する生成手段と、
を備えるデータ処理装置。
【請求項２】
立体造形物の形状および色を規定した第１のデータを受け付ける受付手段と、
前記第１のデータにおける色情報に基づき、各ボクセルに色情報を付与するか否かを複数の色成分ごとに判定する判定手段と、
前記判定手段により、一のボクセルで２以上の前記色成分が付与されると判定されたとき、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いて、前記２以上の色成分のうちいずれか１つの色成分を前記一のボクセルの色情報として付与してカラーボクセルデータを生成する生成手段と、
を備えるデータ処理装置。
【請求項３】
前記複数の色成分は、立体造形装置で造形可能な複数の色信号に対応する色成分であって、
前記生成手段は、全てのボクセルに対し、前記複数の色成分のうちいずれか１つの色成分が色情報として付与されるよう、前記カラーボクセルデータを生成する
請求項１、２のいずれかに記載のデータ処理装置。
【請求項４】
前記生成手段は、前記２以上の色成分の濃度比率に反比例させた確率でいずれかの色を出力する
請求項１、２のいずれかに記載のデータ処理装置。
【請求項５】
前記生成手段は、前記２以上の色成分の濃度比率が大きいほど、その確率が低くなるようにいずれかの色を出力する
請求項１、２のいずれかに記載のデータ処理装置。
【請求項６】
前記生成手段は、第１の色と第２の色の２つの色が干渉するときに、第１の色と第２の色の濃度比率をｘ：ｙとすると、
第１の色の確率＝ｙ／（ｘ＋ｙ）
第２の色の確率＝ｘ／（ｘ＋ｙ）
となるように第１の色と第２の色のいずれかの色を出力する
請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記生成手段は、第１の色と第２の色と第３の色の３つの色が干渉するときに、第１の色と第２の色と第３の色の濃度比率をｘ：ｙ：ｚとすると、
Ｘが選択される確率＝（ｙ＋ｚ−ｘ）／（ｘ＋ｙ＋ｚ）
Ｙが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
Ｚが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
となるように第１の色と第２の色と第３の色のいずれかの色を出力する
請求項１〜５のいずれかに記載のデータ処理装置。
【請求項８】
前記生成手段は、前記２以上の色成分の濃度比率に加えて、既に処理済みのボクセルの総数及びその出力結果を用いていずれかの色として出力する
請求項１〜７のいずれかに記載のデータ処理装置。
【請求項９】
請求項１〜８のいずれかに記載のデータ処理装置と、
前記データ処理装置から出力されたデータを用いて立体造形物を形成する立体造形装置と、
を備える立体造形システム。
【請求項１０】
コンピュータに、
立体造形物の形状および色を規定した第１のデータを受け付けるステップと、
前記第１のデータにおける色情報に基づき、複数の色成分ごとにハーフトーニング処理を行った結果、一のボクセルで２以上の前記色成分が干渉するときに、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いていずれかの色として出力するステップと、
を実行させるプログラム。
【請求項１１】
コンピュータに、
立体造形物の形状および色を規定した第１のデータを受け付けるステップと、
前記第１のデータにおける色情報に基づき、各ボクセルに色情報を付与するか否かを複数の色成分ごとに判定するステップと、
一のボクセルで２以上の前記色成分が付与されると判定されたとき、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いて、前記２以上の色成分のうちいずれか１つの色成分を前記一のボクセルの色情報として付与してカラーボクセルデータを生成するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、立体造形システム及びプログラムに関する。
【背景技術】
【０００２】
従来から、立体造形装置、いわゆる３Ｄプリンタが提案されている。そして３Ｄプリンタを用いて立体造形を行うにあたっては、入力データとして造形物の形状および色を規定したデータ（例.ポリゴンデータ）を受け付けると共に、受け付けたデータを造形装置で造形可能となるようにボクセルデータに変換し、変換したボクセルデータを基にして造形を行う技術が一般に知られている。また、複数の着色材料を出力可能な造形装置であれば、ボクセルごとに色情報が割り当てられたカラーのボクセルデータを基にして、カラーの３次元造形物を造形することもできる。
【０００３】
特許文献１には、立体造形物の外側面の色を正確に表現するための立体造形装置および立体造形データ作成プログラムが記載されている。立体造形装置は、それぞれの造形層のうち、着色される立体造形物の外側面を構成する端部から造形層の内側へ広がる領域をカラー領域とする。造形層に隣接する隣接層の端部が、造形層の端部よりも内側に位置する場合、隣接層の端部または前記端部よりも内側に広がる領域をカラー領域とする。カラー領域には、着色する色を発色させる量のカラー造形液を吐出させる。カラー領域よりも内側に、無色造形液のみを吐出する無色領域を形成する。カラー領域と無色領域の間の領域を、カラー造形液と無色造形液を共に吐出する混合領域とする。
【０００４】
特許文献２には、積層方向とは異なる方向に隣接する画素よりも積層方向に隣接する画素に対し拡散する誤差を大きくして縦スジの形成を防止できる立体造形データ作成装置およびプログラムが記載されている。ＰＣのＣＰＵは、立体造形物の表面部に対応する表面画素を抽出した画素集合体に誤差拡散処理を行って造形データを作成する。ＣＰＵは処理対象の対象画素を量子化した際の差分値を同じ画素集合体の隣接画素と内部側の画素集合体の対象画素および隣接画素に拡散する。ＣＰＵは積層方向に隣接する隣接画素に対する差分値の割合を他の隣接画素よりも大きくする。ＣＰＵは同じ画素集合体の隣接画素に対する差分値の割合を内部側の画素集合体の隣接画素よりも大きくする。
【０００５】
特許文献３には、複数の層を積層することによって立体造形された構造物において、所望の色調を実現した造形物を提供する技術が記載されている。造形物は、複数の層を積層することによって製造され、各層は、表層側（外周側）から内側（中心部側）に向かって、透明インクから形成された第２の透明層の一部分と、着色剤を含むインクから形成された加飾層の一部分と光反射性を有するインクから形成された反射層がこの順で形成される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−７５３９０号公報
【特許文献２】特開２０１５−４４２９９号公報
【特許文献３】特開２０１５−１４７３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、入力データからカラーのボクセルデータを生成する際、複数の色成分ごとに例えばディザや誤差拡散等のハーフトーニング処理を実行する場合がある。この場合、ある１つのボクセルに着目すると、ハーフトーニング処理の結果、その１つのボクセルにおいて複数の色成分が干渉してしまう場合がある。カラーの立体造形装置で１つのボクセルに１つの色成分のインクしか吐出できない場合には、このような干渉が生じたボクセルのカラーをどのように決定するかが問題となり得る。
【０００８】
本発明の目的は、カラーの立体造形物を示す入力データからカラーのボクセルデータを生成処理する構成において、前記入力データに基づくハーフトーニング処理の結果、一のボクセルに対し複数の色成分が干渉した場合であっても、当該一のボクセルに対し１つの色成分を適切に選択することができる装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、立体造形物の形状および色を規定した第１のデータを受け付ける受付手段と、前記第１のデータにおける色情報に基づき、複数の色成分ごとにハーフトーニング処理を行った結果、一のボクセルで２以上の前記色成分が干渉するときに、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いて、前記２以上の色成分のうちいずれか１つの色成分を前記一のボクセルの色情報として付与してカラーボクセルデータを生成する生成手段とを備えるデータ処理装置である。
【００１０】
請求項２に記載の発明は、立体造形物の形状および色を規定した第１のデータを受け付ける受付手段と、前記第１のデータにおける色情報に基づき、各ボクセルに色情報を付与するか否かを複数の色成分ごとに判定する判定手段と、前記判定手段により、一のボクセルで２以上の前記色成分が付与されると判定されたとき、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いて、前記２以上の色成分のうちいずれか１つの色成分を前記一のボクセルの色情報として付与してカラーボクセルデータを生成する生成手段とを備えるデータ処理装置である。
【００１１】
請求項３に記載の発明は、前記複数の色成分は、立体造形装置で造形可能な複数の色信号に対応する色成分であって、前記生成手段は、全てのボクセルに対し、前記複数の色成分のうちいずれか１つの色成分が色情報として付与されるよう、前記カラーボクセルデータを生成する請求項１、２のいずれかに記載のデータ処理装置である。
【００１２】
請求項４に記載の発明は、前記生成手段は、前記２以上の色成分の濃度比率に反比例させた確率でいずれかの色を出力する請求項１、２のいずれかに記載のデータ処理装置である。
【００１３】
請求項５に記載の発明は、前記生成手段は、前記２以上の色成分の濃度比率が大きいほど、その確率が低くなるようにいずれかの色を出力する請求項１、２のいずれかに記載のデータ処理装置である。
【００１４】
請求項６に記載の発明は、前記生成手段は、第１の色と第２の色の２つの色が干渉するときに、第１の色と第２の色の濃度比率をｘ：ｙとすると、
第１の色の確率＝ｙ／（ｘ＋ｙ）
第２の色の確率＝ｘ／（ｘ＋ｙ）
となるように第１の色と第２の色のいずれかの色を出力する請求項１〜５のいずれかに記載のデータ処理装置である。
【００１５】
請求項７に記載の発明は、前記生成手段は、第１の色と第２の色と第３の色の３つの色が干渉するときに、第１の色と第２の色と第３の色の濃度比率をｘ：ｙ：ｚとすると、
Ｘが選択される確率＝（ｙ＋ｚ−ｘ）／（ｘ＋ｙ＋ｚ）
Ｙが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
Ｚが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
となるように第１の色と第２の色と第３の色のいずれかの色を出力する請求項１〜５のいずれかに記載のデータ処理装置である。
【００１６】
請求項８に記載の発明は、前記生成手段は、前記２以上の色成分の濃度比率に加えて、既に処理済みのボクセルの総数及びその出力結果を用いていずれかの色として出力する請求項１〜７のいずれかに記載のデータ処理装置である。
【００１７】
請求項９に記載の発明は、請求項１〜８のいずれかに記載のデータ処理装置と、前記データ処理装置から出力されたデータを用いて立体造形物を形成する立体造形装置とを備える立体造形システムである。
【００１８】
請求項１０に記載の発明は、コンピュータに、立体造形物の形状および色を規定した第１のデータを受け付けるステップと、前記第１のデータにおける色情報に基づき、複数の色成分ごとにハーフトーニング処理を行った結果、一のボクセルで２以上の前記色成分が干渉するときに、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いていずれかの色として出力するステップとを実行させるプログラムである。
【００１９】
請求項１１に記載の発明は、コンピュータに、立体造形物の形状および色を規定した第１のデータを受け付けるステップと、前記第１のデータにおける色情報に基づき、各ボクセルに色情報を付与するか否かを複数の色成分ごとに判定するステップと、一のボクセルで２以上の前記色成分が付与されると判定されたとき、前記第１のデータにおける前記２以上の色成分に対応する色の濃度比率を用いて、前記２以上の色成分のうちいずれか１つの色成分を前記一のボクセルの色情報として付与してカラーボクセルデータを生成するステップとを実行させるプログラムである。
【発明の効果】
【００２０】
請求項１、２、３、９、１０、１１に記載の発明によれば、入力データに基づくハーフトーニング処理の結果、一のボクセルに対し複数の色成分が干渉した場合であっても、当該一のボクセルに対し１つの色成分を適切に選択することができる。
【００２１】
請求項４、５に記載の発明によれば、さらに、入力色とほぼ同等の出力色を得ることができる。
【００２２】
請求項６に記載の発明によれば、さらに、２色が干渉するときでも入力色とほぼ同等の出力色を得ることができる。
【００２３】
請求項７に記載の発明によれば、さらに、３色が干渉するときでも入力色とほぼ同等の出力色を得ることができる。
【００２４】
請求項８に記載の発明によれば、さらに、処理済みのボクセルの総数及びその出力結果を用いてより適切に処理できる。
【図面の簡単な説明】
【００２５】
【図１】システム構成図である。
【図２】全体処理フローチャートである。
【図３】スライスデータ説明図である。
【図４】ハーフトーニング処理説明図である。
【図５】実施形態の処理フローチャートである。
【図６】他の実施形態の処理フローチャートである。
【図７】処理済みボクセルに基づく判定の説明図である。
【発明を実施するための形態】
【００２６】
以下、図面に基づき本発明の実施形態について説明する。なお、本明細書において用いられる用語の定義は、以下の通りである。
「ボクセル」：立体物の表現に用いられる小さな立方体の最小単位のこと。二次元画像におけるピクセル（画素）に相当する。これらのボクセルを組み合わせることで立体物を可視化することができることから、一般に造形装置で立体物を造形する際には、造形対象物をボクセルの集合体として記述したデータに基づき、造形を行う。また、二次元の際のピクセルと同様、各ボクセルに色情報を付加すれば、ボクセル単位で色をつけることができる。
「ボクセルデータ」：造形対象物をボクセルの集合体として記述したデータのこと。
「カラーボクセルデータ」：各ボクセルに色情報が付加されたボクセルデータのこと。
「ハーフトーニング処理」：誤差拡散やディザ等により各ボクセルに色情報を付与するか否か判定する処理のこと。
「干渉」：１つのボクセルで複数の色成分が付与されること。
【００２７】
図１は、本実施形態における立体造形システムの構成図を示す。立体造形システムは、データ処理装置１０と、立体造形装置１２を備える。データ処理装置１０と立体造形装置１２は、通信ネットワーク１４で接続される。
【００２８】
データ処理装置１０は、立体造形物データ（３Ｄデータ）を入力し、所定の処理を施して通信ネットワーク１４を介して立体造形装置１２に出力する。データ処理装置１０は、受付手段及び生成手段を備え、具体的には、ＣＰＵ１０１、ＲＯＭやＳＳＤ、ＨＤＤ等のプログラムメモリ１０２、ＲＡＭ等のワーキングメモリ１０３、キーボードやマウス、ＣＤ−ＲＯＭ等の光ディスク、ＵＳＢメモリ、ＳＤカード等の半導体メモリ、及びディスプレイ等との入出力を行う入出力インターフェイス（Ｉ／Ｆ）１０４、立体造形装置１２を含む外部機器との通信を行う通信インターフェイス（Ｉ／Ｆ）１０５、及びＨＤＤ等の記憶部１０６を備える。受付手段は入出力Ｉ／Ｆ１０４及び通信Ｉ／Ｆ１０５であり、生成手段はＣＰＵ１０１である。データ処理装置１０は、コンピュータあるいはタブレット端末等で構成され得る。
【００２９】
ＣＰＵ１０１は、プログラムメモリ１０２に記憶された処理プログラムを読み出し実行することで、立体造形物データに対して処理を施し、通信Ｉ／Ｆ１０５及び通信ネットワーク１４を介して立体造形装置１２に出力する。ＣＰＵ１０１で実行される主な処理は、
・立体造形物データ（３Ｄデータ）を構成するポリゴンのボクセルへの変換処理
・各ボクセルについて、カラーボクセルとするか無彩色ボクセルとするかの決定処理
・各ボクセルのカラーデータの、立体造形装置１２で処理し得るデータ形式への変換処理
である。
【００３０】
カラーボクセルとするか無彩色ボクセルとするかの決定処理には、処理対象となるボクセルに最も近いポリゴンまでの距離の算出処理が含まれる。カラーボクセルについてのカラーデータの決定処理には、最も近いポリゴンのカラー濃度が用いられ、必要に応じて最も近いポリゴンまでの距離も用いられる。立体造形装置１２で処理し得るデータ形式への変換処理には、カラーボクセルのカラーデータのＣＭＹＫへの変換処理、ハーフトーニング処理、スライス処理が含まれる。
【００３１】
立体造形装置１２は、いわゆる３Ｄプリンタとして機能する。立体造形装置１２は、ＣＰＵ１２１、ＲＯＭ等のプログラムメモリ１２２、ワーキングメモリ１２３、通信インターフェイス（Ｉ／Ｆ）１２４、操作部１２５、モータ駆動部１２６、ヘッド駆動部１２７、カラーヘッド１２８、及びクリアヘッド１２９を備える。
【００３２】
ＣＰＵ１２１は、プログラムメモリ１２２に記憶された処理プログラムに従い、操作部１２５からの操作指令に基づいて、通信Ｉ／Ｆ１２４を介して入力したデータ処理装置１０からの立体造形物データを用いてモータ駆動部１２６及びヘッド駆動部１２７に制御信号を出力して各種モータ及びヘッドを駆動する。
【００３３】
モータ駆動部１２６は、造形物を支持する支持台（ステージ）移動モータやヘッド移動モータを含む各種モータを駆動する。
【００３４】
ヘッド駆動部１２７は、カラーヘッド１２８及びクリアヘッド１２９のそれぞれのインク（造形液）の吐出を制御する。カラーヘッド１２８は、シアン（Ｃ）ヘッド、マゼンタ（Ｍ）ヘッド、イエロー（Ｙ）ヘッド、ブラック（Ｋ）ヘッドから構成される。また、クリアヘッド１２９は、着色されていない透明のインク（造形液）を吐出する。ヘッド駆動部１２７は、例えば各ヘッドの吐出チャンネルに設けられた圧電素子を駆動することで吐出を制御するが、駆動方法はこれに限定されない。また、クリアヘッド１２９は、透明のインクを吐出するのではなく、白インクを吐出してもよい。白あるいは透明は、シアン、マゼンタ、イエロー、ブラックのカラーに対する無彩色として定義される。
【００３５】
立体造形装置１２は、データ処理装置１０から出力された立体造形物のスライスデータを用いて、カラーヘッド１２８、クリアヘッド１２９のインクを吐出し、高さ方向にスライスを順次積み重ねることで所望の立体造形物を形成する。具体的には、カラーヘッド１２８及びクリアヘッド１２９をＸＹＺの３軸方向に順次移動させながらインク（造形液）を吐出して立体造形物を形成する。カラーヘッド１２８及びクリアヘッド１２９を固定し、その下方に設けられたステージをＸＹＺの３軸方向に順次移動させてもよい。
【００３６】
カラーヘッド１２８は、シアン（Ｃ）ヘッド、マゼンタ（Ｍ）ヘッド、イエロー（Ｙ）ヘッドから構成されていてもよく、あるいはシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）に加え、さらに別の色から構成されていてもよい。
【００３７】
通信ネットワーク１４は、インターネットやＬＡＮ（ローカルエリアネットワーク）、Ｗｉ−Ｆｉ（登録商標）、ブルートゥース（登録商標）(Bluetooth)等が用いられる。
【００３８】
図２は、立体造形システムの全体処理フローチャートを示す。
【００３９】
まず、データ処理装置１０のＣＰＵ１０１は、立体造形物データ（３Ｄデータ）を取得する（Ｓ１０１）。３Ｄデータは、キーボードやＣＤ−ＲＯＭ等の光ディスク、ＵＳＢメモリ等から入出力Ｉ／Ｆ１０４を介して取得してもよく、通信Ｉ／Ｆ１０５を介して通信ネットワーク１４に接続された他のコンピュータから取得してもよい。３Ｄデータは、物体の三次元形状を示すデータであり、物体の外形の形状と表面のカラーを示す。３Ｄデータは、例えばポリゴンにより構成されており、物体表面のカラーデータ（例えばＲＧＢデータ）が含まれる。ポリゴンは、三角形や四角形の組み合わせで物体を表現する時の各要素である。３Ｄデータの形式は特に限定されず、ＣＡＤソフトで作成されたデータ形式であっても、ＣＧソフトで作成されたデータ形式であってもよい。
【００４０】
次に、データ処理装置１０のＣＰＵ１０１は、プログラムメモリ１０２に記憶された処理プログラムに従い、３Ｄデータをボクセルデータに変換するとともに、そのカラーデータを決定する（Ｓ１０２）。ここでのボクセルデータは、物体表面からの深さデータＤと、カラーデータ（ｒ，ｇ，ｂ）を備えている。
【００４１】
深さデータＤは、ボクセル中心と、ボクセル中心から最も近いポリゴンとの距離である。深さデータＤは、例えば、ボクセル中心と、最も近いポリゴン各点（ポリゴンが三角形であれば三角形の各頂点）までの距離の平均値として算出される。
【００４２】
また、カラーデータは、各ボクセルについて、その深さデータＤから、当該ボクセルをカラーボクセルとするか、あるいは無彩色（白あるいは透明）ボクセルとするかを決定することで設定される。ＣＰＵ１０１は、深さデータＤが所定の閾値以下であればカラーボクセルとし、所定の閾値を超える場合には無彩色ボクセルとする。すなわち、表面から所定深さまでカラーボクセルとし、それよりも内部のボクセルは無彩色ボクセルとする。カラーボクセルのカラーデータは、最も近いポリゴンのカラーデータをそのまま用いる。
【００４３】
次に、データ処理装置１０のＣＰＵ１０１は、処理プログラムに従い、各ボクセルに割り当てられたカラーデータ（ｒ，ｇ，ｂ）をＣＭＹＫのデータに変換する（Ｓ１０３）。ＲＧＢからＣＭＹＫへの変換は公知であり、２Ｄプリンタと同様に補色変換やルックアップテーブル（ＬＵＴ）等を用いることができる。なお、立体造形装置１２のクリアヘッド１２９が無色透明のインク（造形液）を吐出するのであれば、カラーデータ（ｒ，ｇ，ｂ）が示す色が白（ＲＧＢの全ての値が最大値）であれば、これを無彩色に変換する。
【００４４】
次に、データ処理装置１０のＣＰＵ１０１は、処理プログラムに従い、ハーフトーニング処理及び出力色決定処理により各ボクセルの出力色を決定する（Ｓ１０４）。ハーフトーニング処理は公知であり、２Ｄプリンタと同様に誤差拡散や閾値ディザマトリクス等を用いることができる。例えば、閾値ディザマトリクスを用いるハーフトーニング処理では、ＣＭＹＫの各色に対応した３次元閾値ディザマトリクスを予めプログラムメモリ１０２に記憶しておき、各色で、そのカラーデータと閾値ディザマトリクスの値を大小比較し、カラーデータが閾値以上であればＯＮ、閾値未満であればＯＦＦと判定し、ＯＮと判定された場合のみカラーデータを残す。
【００４５】
但し、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）の色毎にディザや誤差拡散等でハーフトーニング処理を順次実行する場合に、あるボクセル（３次元空間での正規格子単位）に着目した場合に、ハーフトーニング処理により当該ボクセルにおいて複数の色が干渉してしまう場合がある。例えば、当該ボクセルにおいて、シアン（Ｃ）の判定結果がＯＮであり、かつ、マゼンタ（Ｍ）の判定結果もＯＮとなってしまう等である。
【００４６】
そこで、ＣＰＵ１０１は、このように複数色が重なり合って干渉してしまう場合に、入力濃度を用いて複数色のいずれかを選択して当該ボクセルのカラーデータに決定する。この出力色決定処理についてはさらに詳述する。
【００４７】
Ｓ１０４でのハーフトーニング処理及び出力色決定処理により、各ボクセルのカラーデータは、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）、無彩色（白あるいは透明）のいずれか１つを示すデータとなる。
【００４８】
次に、データ処理装置１０のＣＰＵ１０１は、処理プログラムに従い、カラーデータが決定されたボクセルから、１スライス分のデータを抽出する（Ｓ１０５）。この１スライスは、立体造形装置１２のカラーヘッド１２８及びクリアヘッド１２９が１移動で吐出できる分量に相当する。ＣＰＵ１０１は、ボクセルからスライスデータを抽出すると、抽出したスライスデータを通信Ｉ／Ｆ１０５及び通信ネットワーク１４を介して立体造形装置１２に送信する。
【００４９】
立体造形装置１２のＣＰＵ１２１は、通信Ｉ／Ｆ１２４を介してスライスデータを受信し、スライスデータを用いてモータ駆動部１２６及びヘッド駆動部１２７を制御し、カラーヘッド１２８及びクリアヘッド１２９からインク（造形液）を吐出させて立体物を造形する（Ｓ１０６）。スライス抽出と、カラーヘッド１２８及びクリアヘッド１２９によるインク吐出を繰り返し、高さ方向にスライスを積み重ねることで立体物を造形する。
【００５０】
図３は、スライスデータを模式的に示す。図３（ａ）に示すように、３Ｄデータをボクセルデータに変換し、各ボクセルのカラーデータを決定すると、これらのボクセルから構成される３Ｄデータ１６を所定のスライス面１８で順次スライスしていき、図３（ｂ）に示すようにスライスデータ２０を抽出する。スライスデータ２０は、複数のボクセルデータから構成され、無彩色ボクセル２０１のデータやカラーボクセル２０２のデータを含む。各ボクセルが無彩色ボクセル２０１となるかカラーボクセル２０２となるかは、上記のように当該ボクセルに最も近いポリゴンのカラー濃度と深さデータＤから自動的に決定される。
【００５１】
次に、ＣＰＵ１０１における各ボクセルのハーフトーニング処理について説明する。
【００５２】
図４は、例としてディザマトリクスを用いたハーフトーニング処理を模式的に示す。図４（ａ）は、シアン（Ｃ）の入力濃度データを示す。数字は、各ボクセルにおけるシアン（Ｃ）の濃度を示す。図４（ｂ）は、シアン（Ｃ）の３Ｄディザマトリクスを示す。数字は、各ボクセルにおける閾値を示す。通常、各色でマトリクスサイズが異なる、あるいは閾値の並び方が異なり得る。各ボクセルにおいて、その入力濃度と閾値とを大小比較し、
入力濃度＞閾値であればＯＮ
入力濃度≦閾値であればＯＦＦ
と判定していく。オンと判定されたボクセルについてはシアン（Ｃ）に決定され、ＯＦＦと判定されたボクセルについては無彩色に決定される。この処理を各色の全てのボクセルについて実行していく。
【００５３】
各色で入力濃度と閾値とを大小比較してＯＮ／ＯＦＦを判定した場合、あるボクセルについて、その判定結果は以下の４通りのいずれかとなる。
（１）どの色についてもＯＦＦと判定される
（２）いずれかの色のみＯＮと判定される
（３）２つの色がともにＯＮと判定される
（４）３つ以上の色がともにＯＮと判定される
【００５４】
このうち、（１）の場合は当該ボクセルについては無彩色に決定できる。また、（２）の場合もＯＮと判定された色のカラーボクセルに決定できる。他方、（３）、（４）の場合には、複数色が干渉しているため、何らかの方法でいずれかの色に決定する必要が生じる。１つのボクセルには１色分のインク（造形液）しか吐出できないからである。
【００５５】
図５は、ＣＰＵ１０１におけるハーフトーニング処理のフローチャートを示す。
【００５６】
ＣＰＵ１０１は、各ボクセルに割り当てられたカラーデータ（ｒ、ｇ、ｂ）をＣＭＹＫのデータに変換した後（図２のＳ１０３）、各色にディザマトリクスを用いてハーフトーニング処理を実行する（Ｓ２０１）。この処理により、各ボクセルは、各色についてＯＮ／ＯＦＦ判定される。ＯＮ／ＯＦＦ判定の結果は、ワーキングメモリ１０３に格納される。例えば、ボクセルをボクセル１、ボクセル２、ボクセル３等とすると、
ボクセル１：Ｃ（ＯＮ）、Ｍ（ＯＦＦ）、Ｙ（ＯＦＦ）、Ｋ（ＯＦＦ）
ボクセル２：Ｃ（ＯＮ）、Ｍ（ＯＮ）、Ｙ（ＯＦＦ）、Ｋ（ＯＦＦ）
ボクセル３：Ｃ（ＯＦＦ）、Ｍ（ＯＦＦ）、Ｙ（ＯＦＦ）、Ｋ（ＯＦＦ）
・
・
等である。
【００５７】
次に、ＣＰＵ１０１は、処理対象ボクセル（該当ボクセル）について、そのＯＮの個数をカウントする（Ｓ２０２）。
【００５８】
ＯＮが０個であれば、当該ボクセルを無彩色に決定する（Ｓ２０３）。
【００５９】
ＯＮが１個であれば、当該ボクセルをＯＮ判定された色に決定する（Ｓ２０４）。
【００６０】
ＯＮが２個であれば、所定の二次色判定式で色を決定する（Ｓ２０５）。
【００６１】
ＯＮが３個以上であれば、所定の多次色判定式で色を決定する（Ｓ２０６）。
【００６２】
以下、二次色判定式及び多次色判定式について説明する。
【００６３】
＜二次色判定式＞
入力色がＸ色ｘ％、Ｙ色ｙ％の二次色で、ハーフトーニングした結果、２色ともＯＮ判定になった場合、入力濃度に基づき、
Ｘ色が選択される確率＝ｙ／（ｘ＋ｙ）
Ｙ色が選択される確率＝ｘ／（ｘ＋ｙ）
となるよう疑似乱数を用いて決定する。具体的には、０以上１未満の値を出力する擬似乱数列値を生成する乱数に対し、
０≦ｘ＜ｙ／（ｘ＋ｙ）≦ｙ＜１
で出力色を決定する。
【００６４】
より詳細には、入力色がＸ色ｘ％、Ｙ色ｙ％の二次色に対し、ハーフトーニングした結果、割合が、
Ｘ色のみＯＮ＝ｘ１％、
Ｙ色のみＯＮ＝ｙ１％、
Ｘ色及びＹ色がともにＯＮ＝ｘｙ１％、
Ｘ色及びＹ色がともにＯＦＦ（無彩色ボクセル）＝ｘｙ０％
となった場合、Ｘ色及びＹ色がともにＯＮのボクセル＝ｘｙ１％についてその色を決定する。
【００６５】
前提として、
x1=x-xy1
y1=y-xy1
x1+y1+xy1+xy0=1
であり、これは
(x-xy1)+(y-xy1)+xy1+xy0=1
であり、さらに、
xy1=x+y+xy0-1
である。Ｘ色の最終的に占める割合（ｘ２）は、
x2=x1+xy1＊y/(x+y)
=(x-(x+y+xy0-1))+(x+y+xy0-1)＊y/(x+y)
=((x+y)＊(-y-xy0+1))+y＊(x+y+xy0-1)) /(x+y)
=x＊(1-xy0)/(x+y)
である。
【００６６】
同様に、Ｙ色の最終的に占める割合（ｙ２）は、
y2= y1+xy1＊x/(x+y)
= y＊(1-xy0)/(x+y)
となる。
【００６７】
この結果は、Ｘ色とＹ色の入力濃度比ｘ：ｙを維持しているので、入力色と同等の出力色（色相）を得ることができることを意味する。
【００６８】
具体的に説明すると以下の通りである。
【００６９】
入力色がシアン（Ｃ）７０％、マゼンタ（Ｍ）３０％の二次色の３次元物体の場合、シアン（Ｃ）とマゼンタ（Ｍ）の入力濃度比は、７：３である。
【００７０】
ハーフトーニングした結果、期待値的にボクセル比率は、
シアン（Ｃ）のみＯＮ＝０．７＊（１−０．３）＝４９％
マゼンタ（Ｍ）のみＯＮ＝（１−０．７）＊０．３＝９％
シアン（Ｃ）及びマゼンタ（Ｍ）がともにＯＮ＝０．７＊０．３＝２１％
シアン（Ｃ）及びマゼンタ（Ｍ）がともにＯＦＦ（無彩色ボクセル）＝（１−０．７）＊（１−０．３）＝２１％
となる。
【００７１】
シアン（Ｃ）及びマゼンタ（Ｍ）がともにＯＮのボクセル比率＝２１％について、シアン（Ｃ）にするかマゼンタ（Ｍ）にするかを決定する場合、上記の式から、
シアン（Ｃ）をＯＮとする確率＝３０／（７０＋３０）＝０．３
シアン（Ｃ）に配分するボクセル比率＝２１＊３０／（７０＋３０）＝６．３％
最終的なシアン（Ｃ）ボクセル比率＝４９＋６．３＝５５．３％
マゼンタ（Ｍ）をＯＮとする確率＝７０／（７０＋３０）＝０．７
マゼンタ（Ｍ）に配分するボクセル比率＝２１＊７０／（７０＋３０）＝１４．７％
最終的なマゼンタ（Ｍ）のボクセル比率＝９＋１４．７＝２３．７％
最終的な無彩色のボクセル率＝２１％
となる。
【００７２】
最終的なシアン（Ｃ）ボクセルと、最終的なマゼンタ（Ｍ）ボクセルの比率は、
５５．３：２３．７＝７０：３０
であり、シアン（Ｃ）とマゼンタ（Ｍ）の入力濃度比を維持している。つまり、入力色と同等の出力色（色相）を得ることができる。
【００７３】
このように、二次色判定式を用いることで、入力濃度が大きい（濃い）ほど選択される確率が低くなるように色を決定する、あるいは、入力濃度に反比例させて選択される確率を設定して色を決めることで、入力色と同等の出力色が得られる。
【００７４】
＜多元色判定式＞
入力色がＸ色ｘ％、Ｙ色ｙ％、Ｚ色ｚ％の三次色で、ハーフトーニングした結果、三色ともＯＮ判定になった場合、入力濃度に基づき、
Ｘが選択される確率＝（ｙ＋ｚ−ｘ）／（ｘ＋ｙ＋ｚ）
Ｙが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
Ｚが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
となるよう疑似乱数を用いて決定する。
【００７５】
具体的には、０以上１未満の値を出力する擬似乱数列値を生成する乱数に対し、
０≦ｘ＜（ｙ＋ｚ−ｘ）／（ｘ＋ｙ＋ｚ）≦ｙ＜（ｙ＋ｚ−ｘ）／（ｘ＋ｙ＋ｚ）＋（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）≦ｚ＜１
で出力色を決定する。これにより、入力色と同等の出力色（色相）を得ることができる。三次色以上についても同様である。
【００７６】
なお、多次色の入力濃度によっては、計算の結果、選択される確率がマイナスになる色が発生し得るが、この場合には色の確率を０とし、他の色は比率を保ったまま、和が１になるよう修正すればよい。多元色判定式を用いることで、二元色判定式の場合と同様に、入力濃度が大きい（濃い）ほど選択される確率が低くなるように色を決定して入力色と同等の出力色が得られる。
【００７７】
図６は、ＣＰＵ１０１における他のハーフトーニング処理のフローチャートを示す。
【００７８】
ＣＰＵ１０１は、各ボクセルに割り当てられたカラーデータ（ｒ、ｇ、ｂ）をＣＭＹＫのデータに変換した後（図２のＳ１０３）、各色にディザマトリクスを用いてハーフトーニング処理を実行する（Ｓ３０１）。この処理により、各ボクセルは、各色についてＯＮ／ＯＦＦ判定される。ＯＮ／ＯＦＦ判定の結果は、ワーキングメモリ１０３に格納される。例えば、ボクセルをボクセル１、ボクセル２、ボクセル３等とすると、
ボクセル１：Ｃ（ＯＮ）、Ｍ（ＯＦＦ）、Ｙ（ＯＦＦ）、Ｋ（ＯＦＦ）
ボクセル２：Ｃ（ＯＮ）、Ｍ（ＯＮ）、Ｙ（ＯＦＦ）、Ｋ（ＯＦＦ）
ボクセル３：Ｃ（ＯＦＦ）、Ｍ（ＯＦＦ）、Ｙ（ＯＦＦ）、Ｋ（ＯＦＦ）
・
・
等である。
【００７９】
次に、ＣＰＵ１０１は、処理対象ボクセル（該当ボクセル）について、そのＯＮの個数をカウントする（Ｓ３０２）。
【００８０】
ＯＮが０個であれば、当該ボクセルを無彩色に決定する（Ｓ３０３）。
【００８１】
ＯＮが１個であれば、当該ボクセルをＯＮ判定された色に決定する（Ｓ３０４）。
【００８２】
ＯＮが２個であれば、所定の二次色判定式２で色を決定し（Ｓ３０５）、さらに判定結果を更新する（Ｓ３０６）。
【００８３】
ＯＮが３個以上であれば、所定の多次色判定式２で色を決定し（Ｓ３０７）、さらに判定結果を更新する（Ｓ３０８）。
【００８４】
以下、二次色判定式２及び多次色判定式２について説明する。
【００８５】
＜二次色判定式２＞
入力色がＸ色ｘ％、Ｙ色ｙ％の二次色で、ハーフトーニングした結果、２色ともＯＮ判定になった場合、入力濃度に基づき、上記の二次色判定式と同様に、
Ｘ色が選択される確率（理想値）＝ｙ／（ｘ＋ｙ）
Ｙ色が選択される確率（理想値）＝ｘ／（ｘ＋ｙ）
となるように処理する。そして、最終的にＸ色を選択するかＹ色を選択するかの判定は、既に処理した二次色ボクセルの総数と、その判定結果(Ｘ色のボクセル数、Ｙ色のボクセル数)から、より理想値に近くなる方を選択する。
【００８６】
例えば、Ｘ色７０％、Ｙ色３０％の場合は、図７に示すようになる。
【００８７】
図７において、１ボクセル目は処理済みボクセル数が０であり、Ｘ色の存在比率の理想値は、３０／（７０＋３０）＝３０％である。このボクセルでＸ色を選択した場合のＸ色存在比率は１００％であり、理想値との差分は１００−３０＝７０％である。また、このボクセルでＹ色を選択した場合のＸ存在比率は０％であり、理想値との差分は３０％であり、
Ｘ色を選択した場合の差分：７０％
Ｙ色を選択した場合の差分：３０％
となるから、理想値からの差分が小さいＹ色を選択する。
【００８８】
２ボクセル目は処理済みボクセル数が１であり、Ｘ色判定累積数は０、Ｙ色判定累積数は１である。そして、このボクセルでＸ色を選択した場合のＸ色存在比率は５０％であり、理想値との差分は２０％である。また、このボクセルでＹ色を選択した場合のＸ色存在比率は１００％であり、理想値との差分は７０％となるから、理想値からの差分が小さいＸ色を選択する。
【００８９】
３ボクセル目は処理済みボクセル数が２であり、Ｘ色判定累積数は１、Ｙ色判定累積数は１である。そして、このボクセルでＸ色を選択した場合のＸ色存在比率は６７％であり、理想値との差分は３７％である。また、このボクセルでＹ色を選択した場合のＸ色存在比率は３３％であり、理想値との差分は３％となるから、理想値からの差分が小さいＹ色を選択する。
【００９０】
４ボクセル目は処理済みボクセル数が３であり、Ｘ色判定累積数は１、Ｙ色判定累積数は２である。そして、このボクセルでＸ色を選択した場合のＸ色存在比率は５０％であり、理想値との差分は２０％である。また、このボクセルでＹ色を選択した場合のＸ色存在比率は２５％であり、理想値との差分は５％となるから、理想値からの差分が小さいＹ色を選択する。
【００９１】
５ボクセル目は処理済みボクセル数が４であり、Ｘ色判定累積数は１、Ｙ色判定累積数は３である。そして、このボクセルでＸ色を選択した場合のＸ色存在比率は４０％であり、理想値との差分は１０％である。また、このボクセルでＹ色を選択した場合のＸ色存在比率は２０％であり、理想値との差分は１０％となる。この場合、理想値からの差分が同じなのでいずれか、例えばＸ色を選択する。
【００９２】
６ボクセル目は処理済みボクセル数が５であり、Ｘ色判定累積数は２、Ｙ色判定累積数は３である。そして、このボクセルでＸ色を選択した場合のＸ色存在比率は５０％であり、理想値との差分は２０％である。また、このボクセルでＹ色を選択した場合のＸ色存在比率は３３％であり、理想値との差分は３％となるから、理想値からの差分が小さいＹ色を選択する。
【００９３】
以下、同様にして、既に処理したボクセルの判定結果に基づき、Ｘ色を選択した場合とＹ色を選択した場合とで、理想値との差分が小さくなるような色を選択していく。Ｘ色をシアン（Ｃ）、Ｙ色をマゼンタ（Ｍ）とすると、
１ボクセル目：マゼンタ（Ｍ）
２ボクセル目：シアン（Ｃ）
３ボクセル目：マゼンタ（Ｍ）
４ボクセル目：マゼンタ（Ｍ）
５ボクセル目：シアン（Ｃ）
６ボクセル目：マゼンタ（Ｍ）
となる。既に処理したボクセルの判定結果を考慮することで、より適切に出力色を決定できる。
【００９４】
＜多元色判定式２＞
入力色がＸ色ｘ％、Ｙ色ｙ％、Ｚ色ｚ％の三次色で、ハーフトーニングした結果、三色ともＯＮ判定になった場合、入力濃度に基づき、上記の多元色判定式と同様に、
Ｘが選択される確率＝（ｙ＋ｚ−ｘ）／（ｘ＋ｙ＋ｚ）
Ｙが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
Ｚが選択される確率＝（ｚ＋ｘ−ｙ）／（ｘ＋ｙ＋ｚ）
となるように決定する。そして、最終的にＸ色、Ｙ色、Ｚ色のいずれを選択するかの判定は、既に処理したボクセルの総数と、その判定結果（Ｘ色のボクセル数、Ｙ色のボクセル数、Ｚ色のボクセル数）から、より理想値に近くなる色を選択する。
【００９５】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、種々の変形が可能である。以下、これらの変形例について説明する。
【００９６】
＜変形例１＞
実施形態では、図２に示すように、３Ｄデータを取得すると（Ｓ１０１）、ボクセルデータに変換してカラーボクセルとするか否かを決定し（Ｓ１０２）、その後にＲＧＢデータをＣＭＹＫデータに変換しているが（Ｓ１０３）、３Ｄデータを取得した後にＲＧＢデータをＣＭＹＫデータに変換し、その後にボクセルデータに変換してカラーボクセルとするか否かを決定してもよい。
【００９７】
また、実施形態では、データ処理装置１０に入力される３ＤデータのカラーデータをＲＧＢとしているが、３Ｄデータのカラーデータは当初からＣＭＹＫでもよい。
【００９８】
＜変形例２＞
実施形態では、処理対象のボクセルと最も近いポリゴンとの距離を算出しているが、このとき、処理対象のボクセルに対して半径Ｒ内に存在するポリゴンを探索し、なければ半径Ｒを順次拡大してポリゴンを探索し、半径Ｒ内に存在するポリゴンとの距離を算出してもよい。
【００９９】
＜変形例３＞
実施形態では、処理対象のボクセルに対し、最も近いポリゴンのカラーデータを用いて当該ボクセルのカラーデータを決定しているが、深くなるほどその色が薄くなるように補正してもよい。
【０１００】
＜変形例４＞
実施形態では、データ処理装置１０と立体造形装置１２が別個に存在し、これらが通信ネットワーク１４でデータ送受可能に接続される構成であるが、データ処理装置１０と立体造形装置１２が物理的に一体化して立体造形システムを構成してもよい。
【０１０１】
また、データ処理装置１０とネットワークサーバが通信ネットワーク１４で接続され、データ処理装置１０がクライアントとして取得した３Ｄデータをネットワークサーバに送信し、ネットワークサーバで図２のＳ１０１〜Ｓ１０５の処理を実行し、スライスデータをクライアントであるデータ処理装置１０に返信する、あるいは立体造形装置１２に出力する構成としてもよい。この場合、当該ネットワークサーバがデータ処理装置１０として機能する。
【０１０２】
＜変形例５＞
実施形態では、図２におけるＳ１０１〜Ｓ１０５までのステップをデータ処理装置１０で実行し、Ｓ１０６のステップを立体造形装置１２で実行しているが、Ｓ１０３あるいはＳ１０４までのステップをデータ処理装置１０で実行し、残りのステップを立体造形装置１２で実行してもよい。要するに、データ処理装置１０は、Ｓ１０２の処理を実行し、その結果としてのボクセルデータ（カラーボクセルデータ及び無彩色ボクセルデータを含む）を出力し、立体造形装置１２に供給すればよい。データ処理装置１０の出力データを一旦記録媒体等に格納し、当該記録媒体から立体造形装置１２に供給してもよい。
【符号の説明】
【０１０３】
１０  データ処理装置、１２  立体造形装置、１４  通信ネットワーク、１６  ３Ｄデータ、１８  スライス面、２０  スライスデータ、２２  立体造形物。
【図１】
2018065293.tif 000003
【図２】
2018065293.tif 000004
【図３】
2018065293.tif 000005
【図４】
2018065293.tif 000006
【図５】
2018065293.tif 000007
【図６】
2018065293.tif 000008
【図７】
2018065293.tif 000009