(57)【要約】【課題】三次元画像データを複数に分割して分割印刷用の三次元形状データを作成する際に、接合した後の継ぎ目を目立たなくすることができる印刷データ分割装置を提供する。【解決手段】三次元画像データが有する画素情報に基づき、三次元画像データから特定の被写体を検出する被写体検出手段と、画素情報に基づき三次元画像データの特徴を検出する特徴検出手段と、被写体及び特徴に基づき検出された被写体及び特徴の境界に従って、三次元画像データを指定された印刷サイズに分割する分割手段と、分割した三次元画像データのそれぞれについて三次元形状データを作成する作成手段とを備える。【選択図】図２
2016168828.tif 000002
【特許請求の範囲】
【請求項１】
三次元画像データが有する画素情報に基づき、前記三次元画像データから特定の被写体を検出する被写体検出手段と、
前記画素情報に基づき前記三次元画像データの特徴を検出する特徴検出手段と、
前記被写体及び前記特徴に基づき検出された前記被写体及び前記特徴の境界に従って、前記三次元画像データを指定された印刷サイズに分割する分割手段と、
分割した三次元画像データのそれぞれについて三次元形状データを作成する作成手段と
を備える、印刷データ分割装置。
【請求項２】
前記画素情報は、各画素の奥行きを表す奥行き情報を含み、
前記特徴検出手段は、前記特徴として前記特定の被写体における奥行き情報を検出し、
前記分割手段は、前記特定の被写体及び前記奥行き情報に基づき検出された境界に従って、前記三次元画像データを分割することを特徴とする請求項１に記載の印刷データ分割装置。
【請求項３】
前記奥行き情報は、隣接する画素が有するそれぞれの奥行き情報における奥行きの差であることを特徴とする請求項２に記載の印刷データ分割装置。
【請求項４】
前記奥行き情報は、前記隣接する画素におけるそれぞれの前記奥行きの差の差分であることを特徴とする請求項３に記載の印刷データ分割装置。
【請求項５】
前記画素情報は色情報を含み、
前記特徴検出手段は、前記特徴として前記色情報を検出し、
前記分割手段は、前記色情報に基づき検出された境界に従って、前記三次元画像データを分割することを特徴とする請求項１乃至４のいずれか１項に記載の印刷データ分割装置。
【請求項６】
前記画素情報は輝度情報を含み、
前記特徴検出手段は、前記特徴として前記輝度情報を検出し、
前記分割手段は、前記輝度情報に基づき検出された境界に従って、前記三次元画像データを分割することを特徴とする請求項１乃至５のいずれか１項に記載の印刷データ分割装置。
【請求項７】
前記画素情報は、各画素の奥行きを表す奥行き情報を含み、
前記特徴検出手段は、前記特徴として、前記奥行き情報、前記色情報、及び前記輝度情報を検出し、
前記分割手段は、前記奥行き情報、または前記色情報及び前記輝度情報の情報に基づき検出された境界に従って前記三次元画像データを分割し、次に他方の情報に基づき検出された境界に従って前記三次元画像データを分割することを特徴とする請求項１乃至６のいずれか１項に記載の印刷データ分割装置。
【請求項８】
コンピュータに実行させるプログラムであって、
三次元画像データが有する画素情報に基づき、前記三次元画像データから特定の被写体を検出するステップ、
前記画素情報に基づき前記三次元画像データの特徴を検出するステップ、
前記被写体及び前記特徴に基づき検出された前記被写体及び前記特徴の境界に従って、前記三次元画像データを指定された印刷サイズに分割するステップ、
分割した三次元画像データのそれぞれについて三次元形状データを作成するステップ
として機能させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを複数に分割して印刷するための印刷データ分割装置に関する。
【背景技術】
【０００２】
三次元形状データに基づいて複数の部分の造形を行い、造形された複数の部分を互いに接合することによって一体化する模型の製造方法が知られている。特許文献１には、模型の頭部と胴体部とを互いに異なる材質の材料によって準備し、三次元形状データに基づいて頭部及び胴体部の造形を行い、造形された頭部と胴体部とを互いに接合することによって一体化する模型の製造方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２１６２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１では、製作サイズと模型の形状が予め決まっている模型の製造を想定しているため、例えば模型サイズが造形装置の造形可能な最大サイズを超えてしまう場合、造形可能な最大サイズ以内に細かく分割して造形し、接合する必要がある。また、予め決まった形状を分割する場合には、予め目立ちにくい分割線を設定することも可能だが、様々な形状を分割する場合には、予め目立ちにくい分割線を設定することが困難である。造形装置の造形可能サイズで分割することを前提として、例えば等分割で直線的に分割するように分割線が定められてしまう場合には、接合した後の継ぎ目が目立つことがある。
【０００５】
本発明の目的は、三次元画像データを複数に分割して分割印刷用の三次元形状データを作成する際に、接合した後の継ぎ目を目立たなくすることができる印刷データ分割装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る印刷データ分割装置は、三次元画像データが有する画素情報に基づき、前記三次元画像データから特定の被写体を検出する被写体検出手段と、前記画素情報に基づき前記三次元画像データの特徴を検出する特徴検出手段と、前記被写体及び前記特徴に基づき検出された前記被写体及び前記特徴の境界に従って、前記三次元画像データを指定された印刷サイズに分割する分割手段と、分割した三次元画像データのそれぞれについて三次元形状データを作成する作成手段とを備える。
【発明の効果】
【０００７】
本発明によれば、後からの接合を前提に分割して三次元形状データを作成する際に、分割線を特定被写体の範囲を避け、画像特徴の境界に紛れ込むように定めることができるので、分割印刷後に接合したときの継ぎ目が目立ち難い。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る印刷データ分割装置のブロック図である。
【図２】本発明の実施形態に係る領域分割処理を説明するフローチャートである。
【図３】本発明の実施形態に係る縦横方向の領域分割処理を説明するフローチャートである。
【図４】画像情報の特徴に基づく領域分割の一例を示す図である。
【図５】本発明の実施形態に係る奥行き方向の領域分割処理を説明するフローチャートである。
【図６】被写体の検出結果に基づく領域分割を示す一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本発明の第１実施形態について説明する。図１は、本発明の実施形態に適用可能な印刷データ分割装置１００の構成の一例を示す。図１に示すように、印刷データ分割装置１００は一般的なパーソナルコンピュータを用いて構成可能である。
【００１０】
図１において、印刷データ分割装置１００は、ＣＰＵ１０１、ハードディスク（以下、ＨＤＤという）１０２、メモリ１０３、表示制御部１０４、操作部１０５、ドライブ装置１０６、ディスプレイ１０７、内部バス１０８、及び通信装置１０９を備えている。
【００１１】
被写体検出手段、特徴検出手段、分割手段、作成手段としてのＣＰＵ（Central Processing Unit）１０１は、印刷データ分割装置１００を制御するコントローラである。ＨＤＤ１０２は、三次元画像データ、二次元画像データ、三次元形状データ、その他のデータ、及びＣＰＵ１０１が動作するための各種プログラムなどを格納する。メモリ１０３は、例えばＲＡＭからなる。ＣＰＵ１０１は、例えばＨＤＤ１０２に格納されるプログラムに従い、メモリ１０３をワークメモリとして用いて、印刷データ分割装置１００の各部を制御する。なお、ＣＰＵ１０１が動作するためのプログラムは、ＨＤＤ１０２に限らず、例えば図示しないＲＯＭに予め記憶しておいてもよい。
【００１２】
表示制御部１０４は、ディスプレイ１０７に対して画像を表示させるための表示信号を出力する。例えば、表示制御部１０４に対して、ＣＰＵ１０１がプログラムに従い生成した表示制御信号が送信される。表示制御部１０４は、送信された表示制御信号に基づき表示信号を生成してディスプレイ１０７に出力する。例えば、表示制御部１０４は、ＣＰＵ１０１から送信される表示制御信号に基づき、ＧＵＩ(Graphical User Interface)を構成するＧＵＩ画面をディスプレイ１０７に表示する。
【００１３】
操作部１０５は、ユーザ操作を受け付け、操作に応じた制御信号を生成し、ＣＰＵ１０１に送信する。例えば、操作部１０５は、ユーザ操作を受け付ける入力デバイスとして、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイスなどを有する。ＣＰＵ１０１は、入力デバイスに対してなされたユーザ操作に応じて操作部１０５から送信される制御信号に基づき、プログラムに従い印刷データ分割装置１００の各部を制御する。これにより、印刷データ分割装置１００は、ユーザ操作に応じた動作を行うことができる。
【００１４】
タッチパネルは、例えば平面的に構成された操作部に対して接触された位置に応じた座標情報が出力されるように構成される。操作部１０５としてタッチパネルを用いる場合、操作部１０５とディスプレイ１０７とを一体的に構成することができる。例えば、タッチパネルを光の透過率がディスプレイ１０７の表示を妨げないように構成し、ディスプレイ１０７の表示面の上層に取り付け、タッチパネルにおける入力座標と、ディスプレイ１０７上の表示座標とを対応付ける。これにより、ユーザがディスプレイ１０７上に表示された画面を直接的に操作可能なＧＵＩを構成することができる。
【００１５】
ドライブ装置１０６は、ＣＤやＤＶＤなどの外部記憶媒体（図示せず）を装着可能であり、ＣＰＵ１０１の制御に基づき、装着した外部記憶媒体からのデータの読み出しや、当該外部記憶媒体に対するデータの書き込みを行う。なお、ドライブ装置１０６が装着可能な外部記憶媒体は、ＣＤやＤＶＤなどのディスク記録媒体に限られず、例えばメモリカードなどの不揮発性の半導体メモリであってもよい。
【００１６】
ＣＰＵ１０１、ＨＤＤ１０２、メモリ１０３、表示制御部１０４、操作部１０５、ドライブ装置１０６、及び通信装置１０９は、内部バス１０８に接続される。内部バス１０８に接続される各部は、内部バス１０８を介して互いにデータの書き込みや読み取りを行うことができるように構成されている。通信装置１０９は、ＣＰＵ１０１の制御に基づき、ＬＡＮやインターネットといったネットワーク（図示せず）に対する通信を行う。
【００１７】
本実施形態では、画素毎の色、輝度等からなる二次元の画像情報に対し画素毎の奥行き情報としての距離情報を付加した三次元画像データの分割方法において特定の被写体検出結果と画像情報の特徴に基づき画素を複数領域に分割する。複数領域に分割した画素に対応する三次元画像データに基づいて分割印刷用の三次元形状データへ変換する処理について以下に述べる。図２は領域分割処理を説明するフローチャートであり、特定の被写体検出結果と距離情報及び画像情報の特徴に基づき縦横奥行き分割印刷用の三次元形状データを作成する処理を示している。図３は縦横方向の領域分割処理を説明するフローチャートである。図４は画像情報の特徴に基づく領域分割の一例を示す図である。図５は奥行き方向の領域分割処理を説明するフローチャートである。図６は被写体の検出結果に基づく領域分割を示す一例を示す図であり、実寸サイズが印刷装置で印刷可能なサイズになるまで距離情報と被写体検出結果に基づき奥行き方向分割される一例を示している。
【００１８】
なお、本実施形態で用いる三次元画像データは、画素情報として色情報及び輝度情報を含む他の情報としての画像情報と、他の情報としての距離情報とを有していればよい。三次元画像データは、例えば赤外線やレーザ光等を用いて取得した三次元距離画像データでもよいし、二次元画像データの画像間の位相差に基づく距離情報を取得し、二次元画像データの画素情報に距離情報を付加した三次元画像データでもよい。但しこれは一例であり、三次元画像データを取得することができればこれに限られない。また、距離情報とは、画素の奥行きを表す情報であり、例えば画像情報を取得した撮像装置と被写体との距離を表している。
【００１９】
ステップＳ２０１では、ＣＰＵ１０１は、使用する印刷装置の縦横厚みの最大印刷サイズの入力を促す入力画面を表示する表示制御信号を表示制御部１０４に送信する。最大印刷サイズとは、印刷装置において印刷可能な縦、横、及び厚さの最大の印刷サイズである。入力可能な最大印刷サイズは、使用する印刷装置の仕様に依存する。ディスプレイ１０７には、使用する印刷装置の縦横厚みの最大印刷サイズを入力するための入力画面が表示される。
【００２０】
ステップＳ２０２では、ＣＰＵ１０１は、ディスプレイ１０７に表示された入力画面において、操作部１０５によって最大印刷サイズの入力が確定したか否かを判定する。入力が確定している場合（ステップＳ２０２：ＹＥＳ）、ＣＰＵ１０１は、最大印刷サイズをメモリ１０３に記憶し、接合後の希望サイズの入力を促す入力画面を表示する（ステップＳ２０３）。入力が確定していない場合（ステップＳ２０２：ＮＯ）、ＣＰＵ１０１は入力が確定するまで待機する。
【００２１】
ステップＳ２０３では、ＣＰＵ１０１は、接合後の希望縦横サイズの入力表示および印刷希望厚みサイズの入力を促す入力画面を表示する表示制御信号を表示制御部１０４に送信する。本実施形態の印刷物はレリーフ形状であり、希望縦横サイズとは印刷物を接合してレリーフ形状にしたときの縦方向及び横方向のサイズである。希望厚みサイズとは印刷物を接合してレリーフ形状にしたときの奥行き方向のサイズである。ディスプレイ１０７には、接合後の希望縦横サイズ及び希望厚みサイズを入力するための入力画面が表示される。
【００２２】
ステップＳ２０４では、ＣＰＵ１０１は、操作部１０５によって縦、横、及び厚みの希望サイズの入力が確定したか否かを判定する。希望サイズの入力が確定している場合（ステップＳ２０４：ＹＥＳ）、ＣＰＵ１０１は希望サイズをメモリ１０３に記憶してＨＤＤ１０２に格納されている三次元画像データについて縦横領域の分割処理を行う（ステップＳ２０５）。希望サイズの入力が確定していない場合（ステップＳ２０４：ＮＯ）、ＣＰＵ１０１は入力が確定するまで待機する。三次元画像データの画像情報を三次元印刷する場合には、画素位置が縦横サイズに相似な情報になる。なお、三次元画像データの距離情報を三次元印刷する場合には、距離情報における相対的な距離差、つまり距離情報の最大値及び最小値の差が厚みサイズと相似な情報になる。
【００２３】
ステップＳ２０５では、ＣＰＵ１０１は、被写体検出結果を第一優先的に用い、距離特徴を第二優先的に用い、画像特徴を補助的に用いて三次元画像データの縦横方向の領域分割を行う。つまりステップＳ２０５では、被写体検出結果を用いて境界を検出した後、距離特徴を用いて距離特徴の境界を検出し、その後さらに画像特徴、つまり色情報及び輝度情報の特徴を用いて境界を検出し、検出されたそれぞれの境界に従って領域を分割する。
【００２４】
ステップＳ２０５について図３を用いて詳細を説明する。ステップＳ３０１では、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データの二次元の画像情報から特定の被写体の検出を行い、被写体の検出結果をメモリ１０３に記憶する。例えば顔検出の場合、画像情報から輪郭情報を抽出し、その輪郭情報と、多数の顔画像を標準化した顔特徴情報とを比較し、所定値以上の合致率で一致する領域があるかを検出する。被写体の検出処理はこれに限らず、ニューラルネットワークによる学習データを用いた物体認識等、公知の方法を用いても良い。本実施形態に適用できる領域分割のための被写体検出技術は特定の検出技術に限定されない。なお、特定の被写体とは、その被写体領域において縦横方向に分割線を発生させたくない被写体、例えば顔や人体などを表している。
【００２５】
ステップＳ３０２では、ＣＰＵ１０１は、ステップＳ３０１の被写体の検出結果を用いて被写体の輪郭を境界として領域分割を行い、分割した領域のそれぞれをメモリ１０３に記憶する。特定の被写体が検出されなかった場合は、単一領域のままとなる。ステップＳ３０３では、ＣＰＵ１０１は、メモリ１０３から分割領域を読み出し、分割された領域毎の印刷サイズを算出する。例えば、全画素に対する分割領域毎の画素の比率を算出することによって、接合後の希望縦横サイズで印刷しようとした場合に、個々の分割領域が縦横方向でどのくらいの印刷サイズになるかを算出できる。ステップＳ３０４では、ＣＰＵ１０１は、縦横分割領域の印刷サイズが印刷装置の最大印刷サイズを超えている分割領域が存在するか否かを判定する。最大印刷サイズを超える分割領域が存在している場合（ステップＳ３０４：ＹＥＳ）、ＣＰＵ１０１は距離情報から距離特徴線を検出する（ステップＳ３０５）。一方、最大印刷サイズを超える分割領域が存在していない場合（ステップＳ３０４：ＮＯ）、ＣＰＵ１０１は最大印刷サイズ範囲内で隣接する分割領域を結合する（ステップＳ３２５）。
【００２６】
ステップＳ３０５では、ＣＰＵ１０１は、二次元の画像情報に対し画素毎に付加された距離情報の距離特徴として距離特徴線の検出処理を行い、検出した距離特徴線をメモリ１０３に記憶する。距離特徴線とは、尾根線や距離差に基づく段差を表す線などである。距離特徴線の検出方法として、例えば画素毎の距離値を山の高さとみなした二次元投影データから所定の領域内における距離値の最大値を有する画素座標を検出し、所定の領域内の各画素について重みづけをして選択された画素を結び尾根線を抽出する方法がある。当該方法は、画素に代えて二次元投影データを格子状に区切り配列したセルとみなし、各セルの距離値を示すデータを備え、当該セルを用いて尾根線を検出してもよい。また、対象とする画素の高さと、対象とする画素に隣接する画素の高さとの差分を１階導関数として、即ち接線の傾きとして算出し、値の大小を検出することによって大きい段差を検出できる。これにより、隣接する画素の奥行きの差を算出することができる。また、対象とする画素の高さの算出された差分と、対象とする画素に隣接する複数の画素の高さの差分との差分を２階導関数として、即ち接線の変曲として算出することによって傾斜が反転する尾根線検出が可能である。これにより、対象とする画素の奥行きの差と、隣接する複数の画素の奥行きの差との差分を算出することができる。他にも尾根線検出、段差検出の技術は数々提案されており、本実施形態に適用できる領域分割のための距離特徴線の尾根線検出、段差検出技術は特定の検出技術に限定されない。ステップＳ３０６では、ＣＰＵ１０１は、ステップＳ３０５で検出された距離特徴線をメモリ１０３から読み出し、距離特徴線の両端が分割対象の領域を分断しているか否かを判定する。距離特徴線の両端が分割対象の領域を分断していない場合（ステップＳ３０６：ＮＯ）、ＣＰＵ１０１は距離特徴線を境界として分割対象の領域を分割できていないと判定して色情報に基づき領域分割を行う（ステップＳ３０７）。距離特徴線の両端が分割対象の領域を分断している場合（ステップＳ３０６：ＹＥＳ）、ＣＰＵ１０１は距離特徴線を境界として分割対象の領域を分割していると判定して分割領域毎のサイズを算出する（ステップＳ３１３）。つまり、距離特徴線が分割対象の領域の途中までしか抽出できず途切れている場合は、ＣＰＵ１０１は色情報に基づき領域分割を行う（ステップＳ３０７）。
【００２７】
ステップＳ３０７では、ＣＰＵ１０１は、色情報を画像特徴として領域分割を行い、分割した領域をメモリ１０３に記憶する。例えば、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データにおいて画像データ領域を１つのブロックとし、ブロック内の各画素の画素情報の色相を判定して、ブロック内の色相が一様でないならブロックの細分化を繰り返す。そして、ＣＰＵ１０１は、隣接しているブロックにおける色相の差分、つまり色差が分割閾値以内の類似色である場合、隣接しているブロックを結合することで類似色が集まった領域毎に分割し、分割した領域をメモリ１０３に記憶する。なお、色情報とは、例えば各画素の３原色（ＲＧＢ）の画素値や色差などを示す情報である。また分割閾値は、色差閾値であり、予め設定されていてもよいし、演算して求めてもよい。
【００２８】
図４は距離情報を付加した三次元画像データの画像特徴に基づく領域分割の一例を示し、図４（ａ）から図４（ｅ）までは分割過程、図４（ｆ）から図４（ｉ）までは結合過程、図４（ｊ）は領域分割結果を示している。図４（ａ）は右斜め斜線部、左斜め斜線部、白部の三色系の色特徴を持つ三次元画像データを表している。図４（ａ）に示す三次元画像データにおける画像データ領域を１つのブロックとする。このような三次元画像データでは色相ヒストグラム解析により色特徴が一様でないと判定され、画像データ領域が細分化される。図４（ｂ）は図４（ａ）のブロックを６分割した図である。例えばブロック４０１は色相ヒストグラム解析により色特徴が一様でないと判定され細分化の対象となる。同様に、色相ヒストグラム解析によりブロック４０２以外は色特徴が一様でないと判定され細分化の対象となる。図４（ｃ）は図４（ｂ）の６ブロックのうち色特徴が一様でないと判定されたブロックをさらに４分割した図である。例えばブロック４０３は色相ヒストグラム解析により色特徴が一様でないと判定され細分化の対象となる。図４（ｄ）は図４（ｃ）で２４分の１に分割された各ブロックのうち色特徴が一様でないと判断されたブロックをさらに４分割した図である。例えばブロック４０４は色相ヒストグラム解析により色特徴が一様でないと判断され細分化の対象となる。図４（ｅ）は図４（ｄ）で９６分の１に分割された各ブロックのうち色特徴が一様でないと判断されたブロックをさらに４分割した図である。ブロックの最小サイズは、図４（ａ）に示すブロックの３８４分の１となる。このように色特徴が一様でないと判断されたブロックの細分化が繰り返される。
【００２９】
図４（ｆ）は図４（ｅ）の３８４分の１ブロックのうち色相の差、つまり色特徴の差が閾値以内であるブロックを結合した図である。例えば隣接するブロック４０５とブロック４０６との色特徴の差が閾値以内であればブロック４０７として結合される。図４（ｇ）は図４（ｆ）に示すブロックのうち色特徴の差が閾値以内であるブロックを結合した図である。例えば隣接するブロック４０８とブロック４０９との色特徴の差が閾値以内であればブロック４１０として結合される。図４（ｈ）でも同様に色特徴の差が閾値以内のブロックの結合を繰り返す。図４（ｉ）は色特徴の差が閾値以内のブロックの結合が終了した図である。図４（ｊ）は図４（ｉ）までの過程で定まった分割線により、領域４１１、４１２、４１３のように３つの三次元画像データに領域を分割した図である。この分割された三次元画像データ毎に三次元形状データに変換することが可能である。画像特徴による領域分割の技術は種々提案されており、本実施形態に適用できる分割技術は特定の分割技術に限定されない。図４（ｊ）では、分割線は階段状であるが、説明の都合によりブロックが粗いためであり、ブロックのサイズをさらに小さくすることによって滑らかな分割線とすることが可能である。
【００３０】
ステップＳ３０８では、ＣＰＵ１０１は、メモリ１０３から距離特徴線及び色情報に基づいて分割した領域を読み出し、ステップＳ３０５で検出された距離特徴線とステップＳ３０７で色情報に基づく分割線とが交差する点があるか否かを判定する。距離特徴線と分割線とが交差していない場合（ステップＳ３０８：ＮＯ）、ＣＰＵ１０１は距離特徴線と色情報に基づく分割線とによる領域の分割はできないと判定して輝度情報に基づき領域分割を行う（ステップＳ３０９）。距離特徴線と分割線とが交差している場合（ステップＳ３０８：ＹＥＳ）、ＣＰＵ１０１は領域を分割可能であると判定して領域分割を行う（ステップＳ３１２）。
【００３１】
ステップＳ３０９では、ＣＰＵ１０１は、輝度情報を画像特徴として領域分割を行い、分割した領域をメモリ１０３に記憶する。例えば、ＣＰＵ１０１は、輝度のヒストグラム解析などによって輝度が一様でないと判断したブロックを分割し、図４に示す色特徴の領域分割の場合と同様にブロックの分割を繰り返す。そして、ＣＰＵ１０１は、三次元画像データにおける全画素の輝度標準偏差を算出し、輝度標準偏差から分割閾値を算出し、隣接画素との輝度差の絶対値が分割閾値以内の画素を結合することによって類似輝度が集まった領域の境界で画像データを分割できる。なお、分割閾値は、輝度差閾値であり、ユーザによって設定されてもよいし、演算して求めてもよい。ステップＳ３１０では、ＣＰＵ１０１は、メモリ１０３から距離特徴線及び輝度情報に基づいて分割した領域を読み出し、ステップＳ３０５で検出された距離特徴線と輝度情報に基づく分割線とが交差する点があるか否かを判定する。距離特徴線と分割線とが交差していない場合（ステップＳ３１０：ＮＯ）、ＣＰＵ１０１は距離特徴線と輝度情報に基づく分割線とによる領域の分割はできないと判定して距離特徴線に基づき領域分割を行う（ステップＳ３１１）。一方、距離特徴線と分割線とが交差している場合（ステップＳ３１０：ＹＥＳ）、ＣＰＵ１０１は領域を分割可能であると判定して領域分割を行う（ステップＳ３１２）。ステップＳ３１１では、ＣＰＵ１０１は、ステップＳ３０５で検出された距離特徴線の両端を当該距離特徴線の接線方向へ伸ばし、領域が分断できるまで距離特徴線を延長した線を分割線として領域分割を行い、分割した領域をメモリ１０３に記憶する。つまり、距離特徴線と交差する画像特徴に基づく分割線がない場合は、距離特徴線から画像特徴の分割線への接続はできないので、距離特徴線の延長線によって領域を分割する。ステップＳ３１２では、ＣＰＵ１０１は、ステップＳ３０５で検出された距離特徴線と、距離特徴線の最も両端側にある色情報に基づく分割線または輝度情報に基づく分割線との交点までを、距離特徴による領域分割線として決定する。ＣＰＵ１０１は、距離特徴線と分割線との交点からは距離特徴線から画像特徴による分割線へと接続するように結線して領域分割を行い、分割した領域をメモリ１０３に記憶する。つまり、ＣＰＵ１０１は、距離特徴線の途中から色または輝度の境界に沿うように領域分割する。本実施形態では、画像情報を用いて分割した分割線は合体後に着色を施すまで目立たなくならないので距離特徴を優先しているが、着色を施すことが前提であれば、画像特徴を優先して用いることも可能である。
【００３２】
ステップＳ３１３では、ＣＰＵ１０１は、メモリ１０３から分割領域を読み出し、分割された領域毎の印刷サイズを算出する。ステップＳ３１４では、ＣＰＵ１０１は、分割領域の印刷サイズが印刷装置の最大印刷サイズを超えている分割領域が存在するか否かを判定する。最大印刷サイズを超える分割領域が存在している場合（ステップＳ３１４：ＹＥＳ）、ＣＰＵ１０１は、分割領域が印刷可能なサイズではないため距離特徴線の検出について判定する（ステップＳ３１５）。一方、最大印刷サイズを超える分割領域が存在していない場合（ステップＳ３１４：ＮＯ）、ＣＰＵ１０１は分割領域が印刷可能なサイズであるため最大印刷サイズ範囲内で隣接する分割領域を結合する（ステップＳ３２５）。ステップＳ３１５では、ステップＳ３０５で距離特徴線が検出不可であったか否かを判定する。距離特徴線が検出不可であった場合（ステップＳ３１５：ＹＥＳ）、ＣＰＵ１０１は距離特徴線を検出できなかったと判定して色差閾値及び輝度差閾値を設定する（ステップＳ３１６）。一方、距離特徴線が検出できた場合（ステップＳ３１５：ＮＯ）、ＣＰＵ１０１は次の距離特徴線を検出する（ステップＳ３０５）。距離情報として遠距離のため距離分解能が粗く距離特徴線が検出できないような画像の場合、ステップＳ３１６へ処理が移る。
【００３３】
ステップＳ３１６では、ＣＰＵ１０１は、色差閾値及び輝度差閾値の初期値を設定し、設定した色差閾値及び輝度差閾値をメモリ１０３に記憶する。ステップＳ３１７では、ＣＰＵ１０１は、メモリ１０３から色差閾値を読み出し、分割領域の印刷サイズが印刷装置の最大印刷サイズを超えている分割領域に対して色情報を画像特徴として領域分割を行い、分割した領域をメモリ１０３に記憶する。色情報に基づく領域分割は、ステップＳ３０７の処理と同様である。ステップＳ３１８では、ＣＰＵ１０１は、分割された領域毎の印刷サイズを算出する。ステップＳ３１９では、ＣＰＵ１０１は、メモリ１０３から印刷装置の最大印刷サイズを読み出し、分割領域の印刷サイズがステップＳ２０２で指定された最大印刷サイズを超えている分割領域が存在するか否かを判定する。最大印刷サイズを超える分割領域が存在している場合（ステップＳ３１９：ＹＥＳ）、ＣＰＵ１０１は、分割領域が印刷可能なサイズではないと判定して輝度情報に基づく領域分割を行う（ステップＳ３２０）。一方、最大印刷サイズを超える分割領域が存在していない場合（ステップＳ３１９：ＮＯ）、ＣＰＵ１０１は、分割領域は印刷可能なサイズであると判定して最大印刷サイズ範囲内で隣接する分割領域を結合する（ステップＳ３２５）。
【００３４】
ステップＳ３２０では、ＣＰＵ１０１は、メモリ１０３から輝度差閾値を読み出し、分割領域の印刷サイズが印刷装置の最大印刷サイズを超えている分割領域に対して、輝度情報を画像特徴として領域分割を行い、分割した領域をメモリ１０３に記憶する。輝度情報に基づく領域分割は、ステップＳ３０９と同様である。ステップＳ３２１では、ＣＰＵ１０１は、分割された領域毎の印刷サイズを算出する。ステップＳ３２２では、ＣＰＵ１０１は、分割領域の印刷サイズが印刷装置の最大印刷サイズを超えている分割領域が存在しないか否かを判定する。最大印刷サイズを超える分割領域が存在している場合（ステップＳ３２２：ＹＥＳ）、ＣＰＵ１０１は、分割領域は印刷可能なサイズではないと判定して色差閾値を変更する（ステップＳ３２３）。一方、最大印刷サイズを超える分割領域が存在していない場合（ステップＳ３２２：ＮＯ）、ＣＰＵ１０１は、分割領域は印刷可能なサイズであると判定して最大印刷サイズ範囲内で隣接する分割領域を結合する（ステップＳ３２５）。ステップＳ３２３では、ＣＰＵ１０１は、色情報を画像特徴として領域分割する場合、より小さい領域に分割されるように色差閾値を変更して色差閾値をメモリ１０３に記憶する。ステップＳ３２４では、ＣＰＵ１０１は、輝度情報を画像特徴として領域分割する場合、より小さい領域に分割されるように輝度差閾値を変更してメモリ１０３に記憶し、色情報に基づき領域分割を行う（ステップＳ３１７）。ステップＳ３２５では、ＣＰＵ１０１は、最大印刷サイズを超えない範囲内で隣接する分割領域同士を同一分割領域として結合し、結合した領域をメモリ１０３に記憶する。これにより、総分割数を減らし、細分割化され過ぎることによる不必要な継ぎ目の発生を抑制できる。
【００３５】
このように、被写体検出結果を用いた境界検出の後に、距離特徴を用いて距離特徴の境界を検出し、その後さらに画像特徴、つまり色情報及び輝度情報の特徴を用いて境界を検出し、検出されたそれぞれの境界に従って領域を分割する。これにより、特定の被写体を分割後、距離情報の特徴に基づき複数領域に分割し、距離情報の特徴が見つけられなくなった後に画像情報を用いて再分割するので、三次元印刷データの縦横方向において１つの被写体が複数に分割されることを抑制できる。また、三次元印刷データの縦横方向において被写体が分割される場合でも、距離特徴及び画像特徴により検出した境界に従って領域を分割するので、印刷後に接合しても継ぎ目を目立たなくすることができる。
【００３６】
図２に戻って、ステップＳ２０６では、ＣＰＵ１０１は、分割前の三次元画像データにおける全画素の距離情報の最大距離差を印刷希望厚みに正規化する。これにより、全画素内の全ての距離情報において、距離情報の最大値、即ち最も遠距離から、距離情報の最小値、即ち最も近距離までの距離差が印刷時の印刷希望厚みに変換される。ステップＳ２０７では、ＣＰＵ１０１は、分割領域を１つ選択し、ステップＳ２０６で用いた距離情報の最大値から、選択した分割領域の画素の距離情報における距離情報の最小値までの距離差と最大距離差との比から縦横分割領域の印刷厚みに変換する。その後、ＣＰＵ１０１は変換した印刷厚みをメモリ１０３に記憶する。なお、ＣＰＵ１０１は、既に選択された分割領域を選択しないものとする。ステップＳ２０８では、ＣＰＵ１０１は、メモリ１０３から印刷装置の最大印刷サイズを読み出し、ステップＳ２０７で変換された印刷厚みが、ステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。印刷厚みが最大印刷厚みを超える場合（ステップＳ２０８：ＹＥＳ）、ＣＰＵ１０１は、選択した分割領域の印刷厚みは印刷可能な厚みではないと判定して領域分割を行う（ステップＳ２０９）。一方、印刷厚みが最大印刷厚み以下である場合（ステップＳ２０８：ＮＯ）、ＣＰＵ１０１は、選択した分割領域の印刷厚みは印刷可能な厚みであると判定して三次元形状データを作成する（ステップＳ２１２）。印刷厚みが最大印刷厚み以下であるということは、分割領域の画像情報が縦横方向、及び分割領域の距離差が厚み方向の印刷可能な最大印刷サイズ内であるので、そのまま形状データへ変換できる。ステップＳ２０９では、ＣＰＵ１０１は、距離特徴を第一優先的に用い、被写体検出結果を第二優先的に用いて奥行き方向の領域分割を行い、分割した領域をメモリ１０３に記憶する。
【００３７】
ステップＳ２０９について図５を用いて詳細を説明する。ステップＳ５０１では、ＣＰＵ１０１は、分割領域内の全ての距離情報において、距離情報の最大値、即ち最も遠距離から、距離情報の最小値、即ち最も近距離までの距離差に相当する印刷厚みを算出し、印刷厚みをメモリ１０３に記憶する。ステップＳ５０２では、ＣＰＵ１０１は、算出した印刷厚みがステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。印刷厚みが最大印刷厚みを超える場合（ステップＳ５０２：ＹＥＳ）、ＣＰＵ１０１は、距離情報のみで奥行き方向に分割するための厚さを決められないので、分割領域の画像データから被写体を検出する（ステップＳ５０７）。一方、算出した印刷厚みが最大印刷厚み以下である場合（ステップＳ５０２：Ｎ）、距離情報のみで奥行き方向に分割するための厚さを決められるので、ＣＰＵ１０１は奥行き方向に領域を分割する（ステップＳ５０３）。ステップＳ５０３では、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データの距離情報から縦横分割領域内の最も厚い部分（最も近距離部分）から奥行き方向に最大印刷厚みで分割する。
【００３８】
図６（ａ）のブロック６０１は最大印刷サイズを印刷した場合の形状を示しており、最大横サイズ６０１ｗ、最大縦サイズ６０１ｈ、最大厚みサイズ６０１ｄである。本実施形態では最大横サイズ６０１ｗと最大縦サイズ６０１ｈとは等しく、最大厚みサイズ６０１ｄは最大横サイズ６０１ｗ、最大縦サイズ６０１ｈの二辺に対して小さい。図６（ｂ）のブロック６０２はステップＳ２０５の処理で分割された領域の立体画像である。ブロック６０２で示す立体画像の最も距離情報が小さい近距離部分６０２ａと最も距離情報が大きい遠距離部分６０２ｂとの距離差に相当する印刷厚みが６０２ｄ１である。印刷厚み６０２ｄ１は最大厚みサイズ６０１ｄ以内であるので、ブロック６０２は最も厚い部分（表面６０２ｃ）から最大印刷厚み６０１ｄの厚さで分割される。なお、図６において奥行き方向とは、ブロック６０１〜６０３、６０６の鉛直方向下側に向かう方向を表している。
【００３９】
ステップＳ５０４では、ＣＰＵ１０１は、ステップＳ５０３で分割した残りの領域の厚みがステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。残りの領域の厚みが最大印刷厚みを超える場合（ステップＳ５０４：ＹＥＳ）、ＣＰＵ１０１は、残りの領域の再分割が必要なので、残りの領域を再分割する（ステップＳ５０５）。一方、残りの厚みが最大印刷厚み以下である場合（ステップＳ５０４：ＮＯ）、ＣＰＵ１０１は、もう分割は必要ないので、奥行き方向の分割処理の状態を設定する（ステップＳ５０６）。ステップＳ５０５では、残りの領域を最大印刷厚みで奥行き方向に再分割し、再分割後の残りの厚みの判定を行う（ステップＳ５０４）。
【００４０】
図６（ｂ）のブロック６０２において、ステップＳ５０３の分割後の残りの領域は残りの厚み６０２ｄ２が最大印刷厚み６０１ｄを越えるので、残りの領域は最大印刷厚み６０１ｄの厚さで再分割される。これによりブロック６０２は最大印刷サイズ内にそれぞれ分割され、分割された各領域は印刷可能な厚さになる。
【００４１】
ステップＳ５０６では、ＣＰＵ１０１は、奥行き方向の領域分割処理の状態を「印刷希望厚みエラーなし」と設定して処理を終える。
【００４２】
ステップＳ５０７では、ＣＰＵ１０１は、ステップＳ３０１と同じ処理を行う。特定の被写体とは、その被写体領域の表面部分（例えば近距離部分６０２ａ）を奥行き方向に所定の厚さで分割する場合に被写体領域を分断するような奥行き分割線を発生させたくない、顔、人体等を表している。ステップＳ５０８では、ＣＰＵ１０１は、ステップＳ５０７で特定の被写体が検出されたか否かを判定する。特定の被写体が検出された場合（ステップＳ５０８：ＹＥＳ）、ＣＰＵ１０１は被写体検出結果を用いて分割する厚さを算出する（ステップＳ５０９）。一方、特定の被写体が検出されていない場合（ステップＳ５０８：ＮＯ）、ＣＰＵ１０１は、距離情報のみで分割する厚さを決められるので、奥行き方向に領域を分割する（ステップＳ５０３）。特定の被写体が検出されていない場合には、図６（ｂ）のブロック６０２のように印刷可能な厚さになるまで最大印刷厚み６０１ｄの厚さ以下になるように奥行き方向の分割が繰り返される。
【００４３】
ステップＳ５０９では、ＣＰＵ１０１は、縦横方向に分割した分割領域内の最も厚い部分（近距離部分）と被写体検出結果の中から最も奥（遠距離部分）とで検出された各被写体の距離差から、最も厚い部分の被写体の厚みを算出する。ステップＳ５０９以降のステップで算出する厚みは印刷厚みである。その後、ＣＰＵ１０１は算出した被写体の厚みをメモリ１０３に記憶する。ステップＳ５１０では、ＣＰＵ１０１は、ステップＳ５０９で算出した被写体の厚みがステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。被写体の厚みが最大印刷厚みを超える場合（ステップＳ５１０：ＹＥＳ）、最奥の特定の被写体領域の表面部分に奥行き分割線が発生してしまう可能性がある。このため、ＣＰＵ１０１は最奥の被写体よりも１つ手前にある被写体までの印刷厚みを算出する（ステップＳ５１２）。一方、被写体の厚みが最大印刷厚み以下である場合（ステップＳ５１０：ＮＯ）、最奥の特定の被写体領域の表面部分に奥行き方向の分割線が発生する可能性は無いので、ＣＰＵ１０１は奥行き方向に領域を分割する（ステップＳ５１１）。ステップＳ５１１では、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データの距離情報に基づき、縦横分割領域内の最も厚い部分の表面からステップＳ５０９で算出した厚さで領域を奥行き方向に分割する。その後、ＣＰＵ１０１は残りの領域の印刷厚みの判定を行う（ステップＳ５０４）。
【００４４】
図６（ｃ）のブロック６０３はステップＳ２０５の処理で分割された領域の立体画像である。ブロック６０３において、例えば特定の被写体が検出されない場合、最も近距離にある近距離部分６０５ａと最も奥にある遠距離部分６０３ａとの距離差に相当する印刷厚みは６０３ｄ１である。印刷厚み６０３ｄ１は最大厚みサイズ６０１ｄを超えるので、ブロック６０３を奥行き方向に分割する必要がある。一方、ブロック６０３において、特定の被写体６０４、６０５が検出された場合、ブロック６０３の近距離部分６０５ａから、特定の被写体として検出された被写体部分６０４、６０５の奥行き方向の遠距離部分６０３ｂまでの厚みは６０２ｄである。厚み６０２ｄは最大厚みサイズ６０１ｄ以内なので、被写体６０４、６０５における近距離部分６０５ａから最も奥の遠距離部分６０３ｂまでの厚み６０２ｄで奥行き方向に分割される。図６（ｃ）のブロック６０３は、特定の被写体６０４、６０５の被写体領域が分割された残りの厚み６０３ｄ２が最大印刷厚み６０１ｄを超えるので、分割後のブロック６０３は、最大印刷厚み６０１ｄの厚みで再分割される。このようにブロック６０３は、特定の被写体の表面部分に奥行き方向の分割線が発生しないように分割され、最大印刷サイズ内に分割されて印刷可能な厚さになる。
【００４５】
ステップＳ５１２では、ＣＰＵ１０１は、縦横方向に分割した分割領域内の最も厚い部分から被写体検出結果での前回の算出より一つ手前（近距離側）に検出された特定の被写体までの距離差から、最も厚い部分の被写体の厚みを算出する。その後、ＣＰＵ１０１は算出した厚みをメモリ１０３に記憶する。従って、ステップＳ５１２の一回目の実行では最奥の被写体より一つ手前の被写体、二回目の実行では最奥の被写体より二つ手前の被写体が被写体の厚みを算出する対象になる。ステップＳ５１３では、ＣＰＵ１０１は、今回算出した被写体の厚みがステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。今回の被写体の厚みが最大印刷厚みを超える場合（ステップＳ５１３：ＹＥＳ）、今回分割する領域において特定の被写体領域の表面部分に奥行き方向の分割線が発生してしまう可能性がある。そのため、ＣＰＵ１０１は今回厚みの算出に用いた奥側の被写体よりも手前に存在する被写体の有無を判定する（ステップＳ５１４）。一方、今回の被写体の厚みが最大印刷厚み以下である場合（ステップＳ５１３：ＮＯ）、今回厚みの算出に用いた奥側にある特定の被写体領域の表面部分に奥行き方向の分割線が発生する可能性は無い。よって、ＣＰＵ１０１は最も厚い部分の領域を奥行き方向に分割する（ステップＳ５１５）。ステップＳ５１４では、ＣＰＵ１０１は、被写体検出結果の中から、奥行き方向において最も手前に検出された被写体まで、ステップＳ２０２で指定された最大印刷厚みと比較したか否かを判定する。最も手前の被写体まで比較している場合（ステップＳ５１４：ＹＥＳ）、最も手前の特定の被写体領域の表面部分に奥行き方向の分割線が発生してしまうため、ＣＰＵ１０１は最大印刷厚みサイズ内で分割が可能になる厚さを算出する（ステップＳ５２４）。一方、最も手前の被写体まで比較していない場合（ステップＳ５１４：ＮＯ）、より手前の特定の被写体領域の表面部分に奥行き方向の分割線が発生しない可能性があるため、ＣＰＵ１０１はさらに１つ手前の被写体までの厚みを算出する（ステップＳ５１２）。ステップＳ５１５では、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データの距離情報に基づき、縦横方向の分割領域内の最も厚い部分から今回算出した特定の被写体の厚みで奥行き方向に分割する。
【００４６】
図６（ｄ）のブロック６０６はステップＳ２０５の処理で分割された領域の立体画像であり、２つの被写体領域６１１、６１２を有している。被写体領域６１１は被写体領域６０７、６０８を有し、被写体領域６１２は被写体領域６０９、６１０を有している。ブロック６０６の最も厚い部分の被写体領域の近距離部分６０８ａと、近距離部分６０８ａから見て最も奥側にある遠距離部分６０６ａとの距離差に相当する印刷厚みが６０５ｄである。図６（ｄ）に示すように、印刷厚み６０５ｄは最大厚みサイズ６０１ｄを超えるので、分割する必要がある。ブロック６０６の近距離部分６０８ａから最も奥の特定の被写体として検出された被写体領域６０９、６１０における奥行き部分６０６ｂまでの被写体の厚みが６０４ｄであり、最大厚みサイズ６０１ｄを超えてしまう。ここで最大印刷厚みサイズ６０１ｄの厚さでブロック６０６を奥行き方向に分割すると被写体領域６０９、６１０の表面部分に、被写体領域６０９、６１０を水平方向に分断するような奥行き方向の分割線が発生してしまう可能性がある。しかし、一つ手前の特定の被写体として検出された被写体領域６０７、６０８の奥行き部分６０６ｃまでの被写体の厚みは６０２ｄであり、最大厚みサイズ６０１ｄ以内である。そこでまず、ブロック６０６は、近距離部分６０８ａから特定の被写体６０７、６０８の印刷厚み６０２ｄで、奥行き方向に分割される。
【００４７】
ステップＳ５１６では、ＣＰＵ１０１は、ステップＳ５１５で分割した残りの領域の表面からステップＳ５０９での最奥の被写体までの被写体の厚みを算出して、算出した被写体の厚みをメモリ１０３に記憶する。ステップＳ５１７では、ＣＰＵ１０１は、今回算出した被写体厚みがステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。今回算出した被写体厚みが最大印刷厚みを超える場合（ステップＳ５１７：ＹＥＳ）、最奥の特定の被写体領域の表面部分を分断するような奥行き方向の分割線が発生してしまう可能性がある。このため、ＣＰＵ１０１は今回厚みの算出に用いた奥側にある被写体の一つ手前にある被写体の印刷厚さを算出する（ステップＳ５１９）。一方、今回の被写体厚みが最大印刷厚み以下である場合（ステップＳ５１７：ＮＯ）、最奥の特定の被写体領域の表面部分に奥行き方向の分割線が発生する可能性は無いので、ＣＰＵ１０１は残りの領域を奥行き方向に分割する（ステップＳ５１８）。ステップＳ５１８では、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データの距離情報からステップＳ５１５の分割後に残った領域に対して、残った領域の表面から最奥の特定の被写体の厚みで奥行き方向に分割する。その後、ＣＰＵ１０１は分割後に残った領域の厚みの判定を行う（ステップＳ５０４）。
【００４８】
図６（ｄ）のブロック６０６は厚み６０２ｄで分割され、ブロック６０６の残った領域の表面６０６ｃから、最も奥の特定の被写体として検出された被写体６０９、６１０の奥行き部分６０６ｂまでの被写体の厚みが６０１ｄとなる。この厚み６０１ｄは最大厚みサイズ６０１ｄ以内となる。そこで、ブロック６０６の残った領域の厚み６０６ｄは、今回の特定の被写体の厚み６０１ｄで奥行き方向に分割される。分割後のブロック６０６の残りの厚み６０１ｄは最大印刷厚み６０１ｄ以内なので、これ以上の再分割は行われない。このようにブロック６０６は特定の被写体領域の表面部分に奥行き方向の分割線が発生しないように、かつ最大印刷サイズ内で印刷可能なように奥行き方向に分割される。
【００４９】
ステップＳ５１９では、ＣＰＵ１０１は、分割後の残りの領域と被写体検出結果の中から前回の算出より一つ手前に検出された被写体との距離差から被写体の厚みを算出して、算出した被写体の厚みをメモリ１０３に記憶する。従って、一回目の実行ではステップＳ５１５の分割後の領域の表面から最奥より一つ手前の被写体まで、二回目の実行ではステップＳ５１５の分割後の領域の表面から最奥より二つ手前の被写体までが被写体の厚みを算出する対象になる。ステップＳ５２０では、ＣＰＵ１０１は、今回算出した被写体の厚みがステップＳ２０２で指定された最大印刷厚みを超えるか否かを判定する。今回の被写体の厚みが最大印刷厚みを超える場合（ステップＳ５２０：ＹＥＳ）、今回分割する被写体領域の表面部分に奥行き方向に分割線が発生してしまう可能性がある。このため、ＣＰＵ１０１は残りの領域の中で最も手前にある被写体まで比較したか判定する（ステップＳ５２３）。一方、今回の被写体の厚みが最大印刷厚み以下である場合（ステップＳ５２０：ＮＯ）、今回の特定の被写体領域の表面部分に奥行き方向の分割線が発生する可能性は無いので、ＣＰＵ１０１は領域を奥行き方向に分割する（ステップＳ５２１）。ステップＳ５２１では、ＣＰＵ１０１は、ＨＤＤ１０２から読み出した三次元画像データの距離情報に基づき、ステップＳ５１５で分割した残りの領域を今回算出した特定の被写体の厚みで奥行き方向に分割する。ステップＳ５２２では、ＣＰＵ１０１は、ステップＳ５２１で分割した残りの領域に対して、領域の表面からステップＳ５０９での最奥の被写体までの被写体の厚みを算出してメモリ１０３に記憶する。その後、ＣＰＵ１０１は算出した被写体の厚みが印刷可能か判定する（ステップＳ５１７）。
【００５０】
ステップＳ５２３では、ＣＰＵ１０１は、分割した被写体より奥行き方向にあり、かつ分割した残りの領域の中で最も手前にある被写体の被写体領域まで、ステップＳ２０２で指定された最大印刷厚みと比較したか否かを判定する。分割した残りの領域の中で最も手前にある被写体とは、分割後の領域の表面から最も近距離にある被写体を表している。残りの領域の最も手前の被写体まで比較している場合（ステップＳ５２３：ＹＥＳ）、最も手前の特定の被写体領域の表面部分に奥行き方向の分割線が発生してしまう。このため、ＣＰＵ１０１は最大印刷厚みサイズ内で分割が可能になる厚さを算出する（ステップＳ５２４）。一方、最も手前の被写体まで比較していない場合（ステップＳ５２３：ＮＯ）、より手前の特定の被写体領域なら表面部分に奥行き方向の分割線が発生しない可能性があるため、ＣＰＵ１０１は一つ手前の被写体領域の印刷厚さを算出する（ステップＳ５１９）。
【００５１】
ステップＳ５２４では、ＣＰＵ１０１は、ステップＳ２０２で指定された最大印刷厚み内で、ステップＳ５１３またはステップＳ５２０で比較した被写体の厚みが印刷可能になる限界厚みを算出する。ステップＳ５２５では、ＣＰＵ１０１は、奥行き方向の領域分割処理の状態を「印刷希望厚みエラーあり」と設定して処理を終わる。このように、ＣＰＵ１０１は、特定の被写体領域の表面部分を分断するような奥行き方向の分割線が発生しないように、かつ最大印刷厚みサイズ内での分割印刷が可能でないと判定した場合には、奥行き方向の分割処理を中止する。奥行き方向の分割が特定の被写体の輪郭線の最も奥側（最も遠距離側）で実行される場合には、奥行き方向において最も遠距離側よりも手前にある特定の被写体領域の表面部分に奥行き方向の分割線が発生する可能性を低減できる。
【００５２】
図２に戻って、ステップＳ２１０では、ＣＰＵ１０１は、ステップＳ２０９の領域分割処理の状態が「印刷希望厚みエラーあり」になっているか否かを判定する。領域分割処理の状態が「印刷希望厚みエラーあり」の場合（ステップＳ２１０：ＹＥＳ）、ＣＰＵ１０１は、現在の印刷希望厚みでは継ぎ目が目立ちにくい分割印刷ができないと判定する。そしてＣＰＵ１０１は、印刷希望厚みサイズの再入力を促す入力画面を表示する（ステップＳ２１１）。領域分割処理の状態が印刷希望厚みエラーなしの場合（ステップＳ２１０：ＮＯ）、ＣＰＵ１０１は、継ぎ目が目立ちにくい奥行き分割印刷ができると判定して、分割した領域の三次元形状データを作成する（ステップＳ２１２）。ステップＳ２１１では、ＣＰＵ１０１は、アドバイス表示としてステップＳ２０９で算出した限界厚みサイズ、及び印刷希望厚みサイズの再入力を促す入力画面を表示する表示制御信号を表示制御部１０４に送信して処理を終了する。
【００５３】
ステップＳ２１２では、ＣＰＵ１０１は、分割された三次元画像データに基づいて分割印刷用の三次元形状データを作成し、ＨＤＤ１０２に記憶する。ここで三次元形状データとは三次元印刷ファイルとも言われ、例えばＳＴＬ形式データ、ＶＲＭＬ形式データなどで記述された３次元造形装置で利用可能な形状データファイルであり、変換先のファイル形式に制約はない。三次元レリーフ形状の印刷において、見た目の違和感が出ないように二次元の画像方向の縦横比は維持されることが一般的だが、奥行きは立体感を強調する程度によって変わり、距離情報から厚み情報への変換が例えば対数比的な非線形になることも考えられる。しかし、距離情報から厚み情報への変換が非線形になる場合であっても、被写体の輪郭、画像情報における色差、輝度差のような境界が消えるわけではないので、境界と分割線が重なっていれば継ぎ目が目立ち難くなる。本実施形態では、領域内の相対的な距離差が最も大きい部分、つまり最も厚い部分の厚みが最大印刷サイズにおける厚み以内になるように処理を行っているものとする。これにより、距離情報から厚み情報へ変換された分割印刷用の三次元形状データが作成される。
【００５４】
ステップＳ２１３では、ＣＰＵ１０１は、ステップＳ２０５で分割された全ての縦横領域の三次元形状データ作成が終了したかどうかを判定する。三次元形状データ作成が終了している場合（ステップＳ２１３：ＹＥＳ）、ＣＰＵ１０１は処理を終了する。一方、三次元形状データ作成が終了していない場合（ステップＳ２１３：ＮＯ）、ＣＰＵ１０１はまだ処理されていない分割領域を選択し、選択した分割領域の距離情報を印刷厚みに変換する（ステップＳ２０７）。
【００５５】
以上のように本実施形態では、特定の被写体検出結果を用いて被写体の境界を検出し、次に距離情報を用い、さらに次に画像情報の特徴として輝度情報及び色情報を用いて、三次元画像データの縦横方向における特徴の境界を検出する。検出した境界に従って縦横サイズが印刷装置の最大印刷サイズ内で印刷できるサイズになるまで領域分割する。それにより、被写体の輪郭のような被写体特徴、距離情報における尾根、崖、及び谷のような距離特徴線、または輝度差及び色差が大きいところに継ぎ目が沿うように縦横方向に領域分割される。そのため印刷後に接合させたときの継ぎ目が立体像の凹凸や画像の輪郭に重なり目立ち難くなる。また被写体の輪郭のような被写体特徴と距離情報とに基づき奥行き方向に領域分割することによって、特定の被写体表面部分上で分割されず、被写体領域を分断するような水平方向の継ぎ目が現れ難くする。
【００５６】
また、本発明は、デジタル一眼レフやデジタルコンパクトカメラに限らず、デジタルビデオカメラ、携帯電話、３次元スキャナ、コンピュータ装置における三次元印刷データの生成装置に適用可能である。
【００５７】
また、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５８】
１００  印刷データ分割装置
１０１  ＣＰＵ
【図１】
2016168828.tif 000003
【図２】
2016168828.tif 000004
【図３】
2016168828.tif 000005
【図４】
2016168828.tif 000006
【図５】
2016168828.tif 000007
【図６】
2016168828.tif 000008