【解決手段】ウエーブレット変換部510は、画像データA60,D60に対して、合成制御データC50によって指定された指定の分解レベルまでウエーブレット変換を行って、ウエーブレット係数データA61,D61を生成する。合成実行部520は、上記係数データA61についてROIに関与するROI係数と非ROI係数とを、マスクデータB60に基づいて判別し、上記係数データA61中のROI係数と上記係数データD61中のウエーブレット係数とを合成することによって、合成済み係数データE61を生成する。逆ウエーブレット変換部530は、上記係数データE61に対して、分解レベルが0になるまで逆ウエーブレット変換を行って、合成画像データE80を生成する。
(a)ROI(関心領域)を有する第1対象画像のデータである第1対象画像データと、前記第1対象画像の範囲において前記ROIと非ROIとを判別するための対象マスクのデータである対象マスクデータと、前記第1対象画像と相似形を成し前記第1対象画像に対する相似比が1以下である第2対象画像のデータである第2対象画像データと、前記第1対象画像中の前記ROIと前記第2対象画像との合成具合を制御するための合成制御データとを取得するステップと、
(b)前記第1対象画像データに対して、前記合成制御データによって指定された指定の分解レベルまでウエーブレット変換を行うことによって、第1ウエーブレット係数データを生成し、前記第2対象画像データに対して、前記指定の分解レベルおよび前記相似比に応じて決まる分解レベルまで前記ウエーブレット変換を行うことによって、第2ウエーブレット係数データを生成するステップと
を備え、
前記第1ウエーブレット係数データの前記指定の分解レベルをP1とし、前記第2ウエーブレット係数データの前記分解レベルをP2とし、前記相似比を1/2P3とした場合、P2=P1−P3であり、
(c)前記第1ウエーブレット係数データについて前記ROIに関与するROI係数と前記非ROIに関与する非ROI係数とを、前記対象マスクデータに基づいて判別する係数判別処理を行い、前記第1ウエーブレット係数データ中の前記ROI係数と前記第2ウエーブレット係数データ中のウエーブレット係数とを合成する係数合成処理を行い、それにより、画像サイズおよび分解レベルが前記第2ウエーブレット係数データと同じである合成済み係数データを生成するステップと、
(d)前記合成済み係数データに対して、分解レベルが所定の終了レベルになるまで逆ウエーブレット変換を行うことによって、合成画像データを生成するステップと
を備える、画像処理方法。
【発明を実施するための形態】
【0013】
<実施の形態1>
<システムの概要>
図1に、実施の形態1に係る画像処理システム1の概念図を示す。
図1に示すように、画像処理システム1は2つの画像処理システム10,20を含んでいる。一方の画像処理システム10はデータ供給システム11を含み、もう一方の画像処理システム20は画像合成システム21を含んでいる。画像合成システム21は画像合成処理を実行する。データ供給システム11は画像合成処理に使用するデータを出力する。以下では、画像処理システム1を全体システム1と呼び、データ供給システム11を供給システム11と呼び、画像合成システム21を合成システム21と呼ぶ場合もある。
【0014】
画像処理システム10は、供給システム11だけで構成されてもよいし、他の処理システムをさらに含んでもよい。同様に、画像処理システム20は、合成システム21だけで構成されてもよいし、他の処理システムをさらに含んでもよい。また、
図1から分かるように、供給システム11は、画像処理システム10に含まれると共に全体システム1にも含まれる。同様に、合成システム21は、画像処理システム20に含まれると共に全体システム1にも含まれる。
【0015】
画像処理システム10,20は、ここでは、半導体集積回路によって提供される。すなわち、画像処理システム10,20の各種の機能および処理は、回路的に、換言すればハードウェア的に実現される。但し、機能および処理の一部または全部を、マイクロプロセッサを機能させるプログラムによって、換言すればソフトウェアによって実現することも可能である。
【0016】
<全体システム1の例>
図2に、全体システム1の適用例を示す。
図2の例では、画像処理システム10がデータ供給側装置30に設けられ、画像処理システム20が画像合成側装置40に設けられている。以下では、データ供給側装置30を供給側装置30と呼び、画像合成側装置40を合成側装置40と呼ぶ場合もある。供給側装置30のユーザは合成側装置40のユーザとは異なるものとするが、この例に限定されるものではない。
【0017】
供給側装置30は、画像処理システム10の他に、表示部31と、操作部32と、外部インターフェース33と、画像入力部34とを含んでいる。合成側装置40は、画像処理システム20の他に、表示部41と、操作部42と、外部インターフェース43と、画像入力部44とを含んでいる。以下では、外部インターフェース33,43をI/F33,43と呼ぶ場合もある。
【0018】
表示部31,41は例えば液晶表示装置で構成されるが、表示部31,41は異なる種類の表示装置で構成されてもよい。操作部32,42は、ユーザが装置30,40に対して、換言すれば画像処理システム10,20に対して、指示、データ等を入力するための操作媒体である。操作部32,42はキーボード、マウス、ボタン、スイッチ等の1つまたは複数の装置によって構成される。
【0019】
I/F33は供給側装置30が装置外部と信号の入出力を行う部分である。同様に、I/F43は合成側装置40が装置外部と信号の入出力を行う部分である。I/F33,43を利用することによって、供給側装置30と合成側装置40との間で情報(データ、指示等)の伝達が可能になる。
【0020】
具体的にI/F33,43は通信インターフェースを含んでおり、それにより供給側装置30と合成側装置40とがI/F33,43によって通信可能になる。装置30,40間の通信方式は、有線と、無線と、それらの組み合わせとのいずれでもよい。装置30,40間の情報伝達には、媒体50が介在する。上記のように通信の場合、媒体50は無線または有線の通信媒体(換言すれば通信経路)である。
【0021】
I/F33,34は、通信インターフェースに加えてまたは代えて、外部記憶媒体用のインターフェースを含んでもよい。その場合、供給側装置30と合成側装置40との間の情報伝達は外部記憶媒体を介して行うことが可能であり、その外部記憶媒体が装置30,40間に介在する媒体50に該当する。
【0022】
画像入力部34は、デジタルカメラによって構成される。あるいは、画像入力部34は、画像データを供給する記憶装置であってもよい。画像入力部44も同様に構成される。なお、画像入力部34,44は異なる種類の装置で構成されてもよい。
【0023】
なお、供給側装置30および合成側装置40の構成は
図2の例に限定されるものではない。すなわち、上記の構成要素のうちの一部を省略してもよいし、他の構成要素を追加してもよい。
【0024】
<供給システム11および合成システム21の例>
図3に、供給システム11および合成システム21のより具体的な構成例を示す。
図3では、図面の煩雑化を避けるため、表示部31,41等を省略している。
図3に示すように、供給システム11は、画像データ出力部100と、マスクデータ出力部200とを含んでいる。画像データ出力部100は画像エンコーダ150を含み、マスクデータ出力部200はマスク生成部210とマスクエンコーダ250とを含んでいる。合成システム21は、画像デコーダ300と、マスクデコーダ400と、合成部500とを含んでいる。
【0025】
<画像データ出力部100>
画像データ出力部100は、全体画像のデータである全体画像データA10を取得し、第1基礎画像のデータである第1基礎画像データA50を出力する。全体画像データA10は、例えば画像入力部34または画像処理システム10内の他のシステムから供給される。第1基礎画像データA50は供給システム11から出力される。
【0026】
全体画像は、合成システム21における画像合成のために、ROI(関心領域)を含む主画像を提供する。すなわち、全体画像はROIを含んでいる。第1基礎画像は画像データ出力部100から出力される画像であり、第1基礎画像は全体画像のうちでROIを含む一部分、または、全体画像の全範囲によって構成される。換言すれば、全体画像は第1基礎画像の源となる画像である。実施の形態1では、画像データ出力部100は全体画像の全範囲を第1基礎画像として出力するものとする(後述の
図26参照)。
【0027】
後述するが、第1基礎画像のうちで合成部500において合成処理の対象にされる範囲を、第1対象画像と呼ぶことにする。第1対象画像は、合成システム21に供給される第1基礎画像のうちでROIを含む一部分、または、第1基礎画像の全範囲によって構成される。第1基礎画像と全体画像との上記関係に鑑みると、第1対象画像は、全体画像のうちでROIを含む一部分、または、全体画像の全範囲によって構成されることになる。すなわち、全体画像および第1基礎画像は、第1対象画像の源となる画像である。
【0028】
なお、全体画像、第1基礎画像および第1対象画像は、デジタルカメラ等によって撮影した画像であってもよいし、あるいは、コンピュータグラフィックスであってもよい。
【0029】
上記のように、画像データ出力部100は画像エンコーダ150を含んでいる。画像エンコーダ150は、出力データである第1基礎画像データA50を符号化することによって、第1基礎画像データA50の符号化ビットストリームAbsを生成する。この符号化ビットストリームAbsを画像ビットストリームAbsと呼ぶ場合もある。画像ビットストリームAbsはI/F33から供給側装置30の外部に出力される。
【0030】
画像エンコーダ150は、各種の画像エンコーダ、例えば既知のコーデック規格(H.264、MPEG(Moving Pictures Experts Group)、JPEG(Joint Photographic Experts Group)、JPEG2000、等)に準拠したエンコーダによって構成可能である。すなわち、画像エンコーダ150の仕様は特に限定されるものではない。
【0031】
図4に、画像エンコーダ150として動画像用の一般的な画像エンコーダ150sを利用する場合のブロック図を示す。画像エンコーダ150sによれば、動き補償部が、入力画像(具体的には、動画像を構成する各フレームの画像)に対して、動き補償を行う。動き補償後の画像は、周波数変換部によって周波数変換され、その後、量子化部によって量子化される。量子化されたデータは、エントロピー符号化部によって符号化される。符号化データは、ビットストリーム生成部によって、画像エンコーダ150sのコーデック仕様に準拠したビットストリームに変換される。一方、量子化部によって生成された量子化データは、動き補償にフィードバックするために、逆量子化部によって逆量子化され、逆周波数変換部によって逆周波数変換される。逆周波数変換されたデータは、動き補償部に入力される。動き補償部は前後フレームの動き差分を計算し、その計算結果が周波数変換部に入力される。
【0032】
図5に、画像エンコーダ150として静止画像用の一般的な画像エンコーダ150tを利用する場合のブロック図を示す。画像エンコーダ150tは、
図4の画像エンコーダ150sから、動き補償部と、逆量子化部と、逆周波数変換部とを取り除いた構成を有している。すなわち、入力された静止画像は、周波数変換部と、量子化部と、エントロピー符号化と、ビットストリーム生成部とによって、画像エンコーダ150tのコーデック仕様に準拠したビットストリームに変換される。
【0033】
<マスクデータ出力部200>
図3に戻り、マスクデータ出力部200は、全体画像データA10を取得し、全体画像データA10に基づいて基礎マスクのデータである基礎マスクデータB50を生成し、基礎マスクデータB50を出力する。基礎マスクデータB50は供給システム11から出力される。
【0034】
上記のように、マスクデータ出力部200はマスク生成部210とマスクエンコーダ250とを含んでいる。マスク生成部210は、
図3に示すように、全体マスク生成部211を含んでいる。全体マスク生成部211は、全体画像データA10に基づいて、全体マスクのデータである全体マスクデータB10を生成する。
【0035】
全体マスクは、全体画像の全範囲においてROIと非ROIとを判別するためのマスクである。基礎マスクはマスクデータ出力部200から出力されるマスクであり、基礎画像の範囲についてのマスクである。上記のように実施の形態1では全体画像の全範囲を第1基礎画像とするので、基礎マスクは全体画像の範囲についてのマスクである(後述の
図26参照)。後述するが、第1対象画像の範囲についてのマスクを、対象マスクと呼ぶことにする。すなわち、全体マスクは基礎マスクおよび対象マスクの源となるマスクであり、基礎マスクは対象マスクの源となるマスクである。
【0036】
マスクエンコーダ250は、全体マスクデータB10を、出力データである基礎マスクデータB50として取得し、基礎マスクデータB50を符号化することによって、基礎マスクデータB50の符号化ビットストリームBbsを生成する。この符号化ビットストリームBbsをマスクビットストリームBbsと呼ぶ場合もある。マスクビットストリームBbsはI/F33から供給側装置30の外部に出力される。
【0037】
マスク生成部210は、各種のマスク生成技術によって構成可能である。例えば動画像中の動体を検出する技術が知られており、この動体検出技術を利用すれば、画像中の動体をROIに設定したマスクを生成できる。動体検出技術に関しては、例えば特許文献1〜3を参照。また、例えば特許文献4,5にはパーティクルフィルタを利用して動体を追跡する技術が記載されており、かかる動体追跡技術によれば動体検出精度を向上でき、また、演算量を削減できる。
【0038】
また、デジタルカメラによって撮影された静止画像を対象として、グラフカットによって、画像全体から前景画像と背景画像とを分離する技術が知られている。この画像分離技術を利用してマスク生成部210を構成すれば、前景画像をROIに設定したマスクを生成できる。
【0039】
なお、マスク生成部210は、マスク生成に際して適宜、前処理を行う。例えば、全体画像データA10が、デジタルカメラによる撮影画像データ(Bayerデータ)である場合、BayerデータをRGBカラーデータに変換する。また、全体画像のサイズが大きい場合、演算量を減らすために縮小処理を行う。また、特徴量を抽出するために、白黒、YUV、HSV等への色空間変換を行う。
【0040】
ここで、
図6に全体画像60の例を示す。全体画像60において、移動中の人物の部分をROI60aに設定し、それ以外の部分を非ROI60bに設定するものとする。
【0041】
全体画像60の全範囲に対応する全体マスク70を、
図7に示す。全体マスク70は、全体画像60中の各画素がROI60aと非ROI60bのどちらに属するのかを示す画像として理解できる。全体マスク70は、全体画像60中のROI60aおよび非ROI60bに対応するROI対応部分70aおよび非ROI対応部分70bを有している。
図7において、白抜き部分がROI対応部分70aであり、黒塗り部分が非ROI対応部分70bである。
【0042】
なお、動画像の場合、全てのフレーム画像を対象にして全体マスク70を生成してもよいし、あるいは、例えば一定フレーム毎または一定時間毎に全体マスク70を生成してもよい。また、静止画像が順次入力される場合についても、同様である。
【0043】
マスクエンコーダ250は、各種の画像エンコーダによって構成可能である。ここで、全体マスク70(基礎マスクとしてマスクエンコーダ250に入力される)はROI対応部分70aと非ROI対応部分70bとを区別できればよい。このため、全体マスク70は本質的には2値画像である。かかる点に鑑みると、マスクエンコーダ250は、ファクシミリで用いられるコーデック規格に準拠したエンコーダによって構成可能である。ファクシミリで用いられるコーデック規格として、JBIG(Joint Bi-level Image Experts Group)、JBIG2、MH(Modified Huffman)、MR(Modified READ(Relative Element Address Designate))、MMR(Modified Modified READ)、等がある。
【0044】
図8に、マスクエンコーダ250として、ファクシミリ用の一般的な画像エンコーダ250uを利用する場合のブロック図を示す。画像エンコーダ250uによれば、前処理部が入力マスク画像に対して所定の前処理(例えばランレングス処理)を行う。前処理後のデータはエントロピー符号化部によって符号化され、エントロピー符号化部が、画像エンコーダ250uのコーデック仕様に準拠した符号化ビットストリームを出力する。エントロピー符号化には、算術符号化、可変長符号化、等がある。なお、マスクは2値画像であるので、エントロピー符号化等の高度な符号化を利用しなくても、例えばランレングス処理(換言すればランレングス符号化)によってある程度の圧縮率が得られる。
【0045】
特にマスクエンコーダ250は、
図3に示すように、合成具合を制御するための合成制御データC50を取得し、合成制御データC50を付加情報としてマスクビットストリームBbsに埋め込む。具体的には、マスクビットストリームBbsは基礎マスクデータB50に影響しない領域を有しており、エントロピー符号化部はその領域に合成制御データC50を埋め込む。マスクビットストリームBbsのそのような領域として、例えばヘッダ領域が挙げられる。合成制御データC50は、供給システム11の側に設けられた操作部32にユーザが入力することによって、供給システム11に供給される。
【0046】
ここで、マスクエンコーダ250は、基礎マスクデータB50(
図3の例では全体マスクデータB10)のビットストリームであるマスクビットストリームBbsを、所定の仕様に準拠して生成するマスクビットストリーム生成部250の一例である。また、符号化ビットストリームBbsは、マスクビットストリームBbsの一例である。換言すれば、マスクビットストリームBbsは、符号化されていないデータのビットストリームであってもよい。その場合、符号化を行わないビットストリーム生成仕様が採用される。上記のようにマスクは2値画像であるので、基礎マスクのデータサイズは第1基礎画像に比べて小さいことが多い。このため、基礎マスクデータB50を符号化しなくても、ある程度の実用性は得られる。また、符号化に関わる演算量を削減できる。
【0047】
<第1基礎画像データA50と基礎マスクデータB50>
供給システム11の上記構成によれば、第1基礎画像データA50は、画像ビットストリームAbsによって、供給側装置30の外部に(したがって供給システム11の外部に)出力される。また、基礎マスクデータB50は、マスクビットストリームBbsによって、供給側装置30の外部に出力される。また、合成制御データC50は、基礎マスクデータB50と共に、マスクビットストリームBbsによって、供給側装置30の外部に出力される。特に、画像ビットストリームAbsとマスクビットストリームBbsとは、別個のビットストリームとして、供給側装置30の外部に出力される。
【0048】
また、供給システム11の上記構成によれば、マスク生成部210は、第1基礎画像データA50の符号化(符号化アルゴリズム)から独立したアルゴリズムによって、基礎マスクデータB50を生成する。参考として、例えばJPEG2000のオプション機能であるMax−shift法によれば、画像データの符号化アルゴリズムの中に、ROIを指定する情報(換言すれば、マスクに関する情報)の生成アルゴリズムが組み込まれている。したがって、供給システム11では、Max−shift法等とは異なるアルゴリズムによって、基礎マスクデータB50が生成される。
【0049】
<供給システム11の動作>
図9に、供給システム11の動作を説明するフローチャートを示す。
図9の動作フローS100によれば、供給システム11に全体画像データA10が入力されると(ステップS101)、画像データ出力部100では、画像エンコーダ150が、全体画像データA10を取得し、全体画像データA10を第1基礎画像データA50として符号化を行うことによって画像ビットストリームAbsを生成する(ステップS112)。
【0050】
他方、マスクデータ出力部200では、マスク生成部210が全体画像データA10に基づいて、基礎マスクデータB50としての全体マスクデータB10を生成する(ステップS122)。そして、マスクエンコーダ250が、全体マスクデータB10を基礎マスクデータB50として取得し、基礎マスクデータB50を符号化してマスクビットストリームBbsを生成する(ステップS123)。その後、マスクエンコーダ250は、マスクビットストリームBbsに、合成制御データC50を埋め込む(ステップS124)。
【0051】
そして、画像データ出力部100から画像ビットストリームAbsが出力され、マスクデータ出力部200からマスクビットストリームBbsが出力される(ステップS105)。
【0052】
なお、
図9ではステップS112とステップS122〜S124とが並行して実行されるが、ステップS112とステップS122〜S124とを順次、実行してもよい。また、合成制御データC50はステップS101において入力されてもよいし、あるいは、事前に入力され保持していた合成制御データC50をステップS124で利用してもよい。
【0053】
<媒体50>
第1基礎画像データA50と基礎マスクデータB50と合成制御データC50とは、供給システム11からI/F33を介して出力され、I/F43を介して合成システム21に入力される。その際、媒体50(
図2参照)が利用される。ここでは、第1基礎画像データA50と基礎マスクデータB50と合成制御データC50とが、同じ媒体50(例えば通信媒体または外部記憶媒体)によって、合成システム21に供給されるものとする。但し、異なる媒体50を利用してもよい。例えば、第1基礎画像データA50の供給に通信媒体を利用し、基礎マスクデータB50と合成制御データC50の供給に外部記憶媒体を利用してもよい。
【0054】
<画像デコーダ300>
図3に戻り、画像デコーダ300は、画像ビットストリームAbsを取得し、画像ビットストリームAbsを復号化することによって第1基礎画像データA50を取得する。画像デコーダ300は画像エンコーダ150に対応していればよく、各種の画像デコーダ、例えば既知のコーデック規格に準拠したデコーダによって画像デコーダ300を構成可能である。すなわち、画像デコーダ300の仕様は特に限定されるものではない。
【0055】
図10に、画像デコーダ300として、動画像用の一般的な画像デコーダ300sを利用する場合のブロック図を示す。画像デコーダ300sによれば、画像ビットストリームAbsは、ビットストリーム解析部によって解析され、エントロピー復号化部によって復号化され、逆量子化部によって逆量子化され、逆周波数変換部によって逆周波数変換される。その後、動き補償部が前後フレームとの相関から動き補償を行い、それにより復号化画像データ、すなわち第1基礎画像データA50が生成される。
【0056】
図11に、画像デコーダ300として、静止画像用の一般的な画像デコーダ300tを利用する場合のブロック図を示す。画像デコーダ300tは、
図10の画像デコーダ300sから、動き補償部を取り除いた構成を有している。すなわち、ビットストリーム解析部と、エントロピー復号化部と、逆量子化部と、逆周波数変換部によって、画像ビットストリームAbsから第1基礎画像データA50が取得される。
【0057】
<マスクデコーダ400>
マスクデコーダ400は、マスクビットストリームBbsを取得し、マスクビットストリームBbsを復号化することによって基礎マスクデータB50を取得する。ここで、上記のように供給システム11は、マスクビットストリームBbsを、画像ビットストリームAbsとは別個のビットストリームによって出力する。このため、合成システム21は、マスクビットストリームBbsと画像ビットストリームAbsとを、別個のビットストリームによって取得する。
【0058】
マスクデコーダ400は、マスクエンコーダ250に対応していれば、各種の画像デコーダによって構成可能である。すなわち、マスクデコーダ400の仕様は特に限定されるものではない。ここでは、マスクデコーダ400として、ファクシミリ用の一般的な画像デコーダを利用する場合を挙げる。
図12に、ファクシミリ用の一般的な画像デコーダ400uのブロック図を示す。画像デコーダ400uによれば、マスクビットストリームBbsはエントロピー復号化部によって復号化され、復号化データに対して後処理部が所定の後処理を行う。
【0059】
ここで、エントロピー復号化部は、復号化の前にマスクビットストリームBbsを解析する。その解析において、マスクビットストリームBbsの所定領域にデータが埋め込まれているか否かを点検する。そして、データが埋め込まれている場合、エントロピー復号化部はそのデータを抽出する。ここでは、合成制御データC50がマスクビットストリームBbsに埋め込まれた状態で合成システム21に取得されているので、エントロピー復号化部は合成制御データC50を抽出する。
【0060】
また、マスクデコーダ400によれば、画像デコーダ300における画像ビットストリームAbsの復号化から独立したアルゴリズムによって、マスクビットストリームBbsを復号化する。
【0061】
ここで、マスクデコーダ400は、画像ビットストリームAbsの復号化から独立したアルゴリズムによって、マスクビットストリームBbsから基礎マスクデータB50を復元するマスクデータ復元部400の一例である。上記のように、マスクビットストリームBbsは符号化ビットストリームでなくてもよい。その場合、復号化を行わないデータ復元仕様が採用され、復号化に関わる演算量を削減できる。
【0062】
<合成部500>
図3に戻り、合成部500は、第1基礎画像データA50と、基礎マスクデータB50と、合成制御データC50と、第2基礎画像データD50とを取得し、これらのデータを利用して画像合成を行い、合成画像のデータである合成画像データE100を出力する。
【0063】
第2基礎画像は、画像合成のための背景画像を提供する。第2基礎画像のデータである第2基礎画像データD50は、例えば、合成システム21の側に設けられた画像入力部44、または、画像処理システム20(
図1参照)の他のシステムから供給される。なお、第2基礎画像および後述の第2対象画像は、デジタルカメラ等によって撮影した画像であってもよいし、あるいは、コンピュータグラフィックスであってもよい。
【0064】
図13に、合成部500の構成例を示す。
図13に示すように、合成部500は、ウエーブレット変換部510と、合成実行部520と、逆ウエーブレット変換部530とを含んでいる。
【0065】
<ウエーブレット変換部510>
ウエーブレット変換部510は、第1対象画像のデータである第1対象画像データA60と第2対象画像のデータである第2対象画像データD60とのそれぞれに対して、整数型または実数型の離散ウエーブレット変換(DWT)を行い、その結果得られた変換係数を出力する。以下では、変換係数を例えば、ウエーブレット変換係数、または、ウエーブレット係数と呼ぶ場合もある。
【0066】
第1対象画像は、第1基礎画像のうちでウエーブレット変換を行う範囲の画像である。実施の形態1では合成部500において、第1基礎画像の全範囲が第1対象画像として扱われ、よって第1基礎画像データA50が第1対象画像データA60として処理される(後述の
図26参照)。同様に、第2対象画像は、第2基礎画像のうちでウエーブレット変換を行う範囲の画像である。すなわち、第2基礎画像は第2対象画像の源となる画像である。実施の形態1では合成部500において、第2基礎画像の全範囲が第2対象画像として扱われ、よって第2基礎画像データD50が第2対象画像データD60として処理される(後述の
図26参照)。
【0067】
ここでは、第2対象画像が第1対象画像と同じ形状および大きさを有している例、換言すれば第2対象画像が第1対象画像と合同である例を挙げる。なお、画像の対比に関し、例えば画像が合同であるという表現は、基本的には、画像全体の外形が合同であることを意味するものとする。すなわち、画像の具体的表示内容を対比対象に含めるか否かは、対比の目的等に応じて決まるものとする。
【0068】
第1対象画像データA60に対してウエーブレット変換を行うことによって生成されるデータ(ウエーブレット係数の群)を、第1ウエーブレット係数データA61と呼ぶことにする。同様に、第2対象画像データD60に対してウエーブレット変換を行うことによって生成されるデータ(ウエーブレット係数の群)を、第2ウエーブレット係数データD61と呼ぶことにする。
【0069】
ウエーブレット変換では、2次元画像データが高域成分(換言すれば高周波成分)と低域成分(換言すれば低周波成分)とに分解される。かかる周波数分解は例えば帯域分割とも呼ばれる。また、周波数分解によって得られた各帯域成分(すなわち低域成分と高域成分のそれぞれ)はサブバンドとも呼ばれる。ここでは、JPEG2000の基本方式に倣い、垂直方向と水平方向の両方について低域側に分割された帯域成分のみを再帰的に帯域分割していく、オクターブ分割方式を採用するものとする。再帰的な帯域分割を行った回数は、分解レベルと呼ばれる。
【0070】
ウエーブレット変換の分解レベルは、合成制御データC50によって指定される。ここでは、合成制御データC50による指定値が3である場合を例示する。この場合、ウエーブレット変換部510では、分解レベル3のウエーブレット変換が行われる。
【0071】
図14〜
図16に、2次元でのウエーブレット変換について、Mallat型のウエーブレット平面61〜63を示す。
図14〜
図16の例によれば、入力画像(2次元画像)は、分解レベル1において(
図14参照)、垂直方向と水平方向のそれぞれについて周波数分解が行われる。これにより、
図14のウエーブレット平面61に示すように、4つの帯域成分HH1,HL1,LH1,LL1に分解される。分解レベル1で得られた帯域成分LL1は、分解レベル2において(
図15のウエーブレット平面62を参照)、更に4つの帯域成分HH2,HL2,LH2,LL2に分解される。分解レベル2で得られた帯域成分LL2は、分解レベル3において(
図16のウエーブレット平面63を参照)、更に4つの帯域成分HH3,HL3,LH3,LL3に分解される。なお、合成制御データC50による分解レベルの指定値は3に限定されるものではない。
【0072】
2次元のウエーブレット変換に関する表記について、例えばHL1は、分解レベル1における水平方向の高域成分Hと垂直方向の低域成分Lとからなる帯域成分である。その表記法は「XYm」と一般化される(XおよびYはそれぞれH,Lのいずれか。mは1以上の整数)。すなわち、分解レベルmにおける水平方向の帯域成分Xと垂直方向の帯域成分Yとからなる帯域成分は「XYm」と表記される。
【0073】
ここで、ウエーブレット平面(
図14〜
図16参照)は、ウエーブレット変換の演算結果データを、原画像(ウエーブレット変換が行われていない状態の画像)中の画素の並びに対応付けて2次元配列したデータ群である。例えばウエーブレット平面において帯域成分LL1として示されている領域内には、原画像中のある画素を注目画素として得られた演算結果データ(LL成分データ)が、原画像中での当該注目画素の位置に対応して並べられている。なお、ウエーブレット平面はウエーブレット空間、ウエーブレット領域、または、ウエーブレット画像と呼ばれる場合もある。
【0074】
分解レベル1において、帯域成分LL1は画像の本質的な情報に対応する。なお、帯域成分LL1によれば、分解前の画像の1/4のサイズの画像(換言すれば、分解前の画像に対する縮小比が1/2の画像)を提供可能である。帯域成分HL1は垂直方向に伸びるエッジの情報に対応し、帯域成分LH1は水平方向に伸びるエッジの情報に対応する。帯域成分HHは斜め方向に伸びるエッジの情報に対応する。これらの点は他の分解レベルについても同様である。例えば、分解レベル2の帯域成分LL2,HL2,LH2,HH2は、分解前の帯域成分LL1を原画像と見なした場合における帯域成分LL1,HL1,LH1,HH1とそれぞれ同様の関係にある。
【0075】
以下では、ウエーブレット変換が行われていない状態の原画像を分解レベル0に対応させ、当該原画像を分解レベル0のウエーブレット平面と表現する場合もある。
【0076】
また、ウエーブレット平面において最も分解された帯域成分を、最上位帯域成分と呼ぶことにする。具体的には、分解レベル3のウエーブレット平面63(
図16参照)において、最上位帯域成分はLL3,HL3,LH3,HH3である。一般化するならば、分解レベルkのウエーブレット平面において、最上位帯域成分はLLk,HLk,LHk,HHkである。また、分解回数が同じ帯域成分において、帯域成分LLを最低域の帯域成分と呼び、帯域成分HHを最高域の帯域成分と呼ぶことにする。
【0077】
なお、Mallat型では、上記のように、LL成分を水平方向と垂直方向のそれぞれについて同じ回数で、再帰的に分解する。また後述のように、Mallat型では分解とは逆の手順で帯域成分が合成される。但し、水平方向と垂直方向のそれぞれのL成分とH成分を同じ回数で、分解および合成する必要はない。すなわち、Mallat型とは異なる型式のウエーブレット変換を用いてもよい。
【0078】
また、原画像およびウエーブレット平面において左上端を座標系の原点に採り、原点を0として扱い、ウエーブレット変換のL成分出力を偶数として扱い、H成分出力を奇数として扱う例を挙げる。但し、L成分出力を奇数として扱い、H成分出力を偶数として扱うことも可能である。なお、ウエーブレット平面(
図14〜
図16参照)は、ウエーブレット変換の偶数番目および奇数番目の出力を、帯域成分ごとに再配置した概念的な平面である。
【0079】
<合成実行部520>
合成実行部520は、第1ウエーブレット係数データA61について、ROIに関与する係数(以下、ROI係数とも呼ぶ)と、非ROIに関与する係数(以下、非ROI係数とも呼ぶ)とを判別する係数判別処理を行う。そして、合成実行部520は、第1ウエーブレット係数データA61中のROI係数と、第2ウエーブレット係数データD61中のウエーブレット係数とを合成する係数合成処理を行うことによって、合成済み係数データE61を生成する。
【0080】
<係数判別処理>
係数判別処理は、第1対象画像の範囲においてROIと非ROIとを判別するための対象マスクのデータである対象マスクデータB60に基づいて行う。実施の形態1では第1基礎画像の全範囲が第1対象画像であるので、第1基礎画像の範囲についての基礎マスクが、第1対象画像の範囲についての対象マスクになる(後述の
図26参照)。
【0081】
係数判別処理は、上記のように第1ウエーブレット係数データA61に対して行われる。一方、実施の形態1では、対象マスクは原画像(ウエーブレット変換が行われていない状態の画像)である第1対象画像を対象にしている。このため、合成実行部520は、マスク展開部521を含んでいる。
【0082】
ここで、原画像を対象にしたマスクを、原マスクと呼ぶことにする。原マスクは、原画像中の各画素がROIと非ROIのどちらに属するのかを示す画像として理解できる。原マスクは、原画像中のROIおよび非ROIに対応するROI対応部分および非ROI対応部分を有している。全体マスク70(
図7参照)は原マスクであり、実施の形態1では基礎マスクおよび対象マスクも原マスクである。
【0083】
マスク展開部521は、原マスクのROI対応部分および非ROIを、第1ウエーブレット係数データA61に含まれる各帯域成分用に(換言すれば、第1ウエーブレット係数データA61に対応するウエーブレット平面に含まれる各帯域成分用に)展開する。このようなマスク展開処理によって、第1ウエーブレット係数データA61用のマスクである展開マスクが生成される。マスクの展開に関しては、例えば特許文献6,7および非特許文献1を参照。
【0084】
図17〜
図19に、
図7の全体マスク70を分解レベル1,2,3のウエーブレット平面61〜63(
図14〜
図16参照)に展開した展開マスク71,72,73をそれぞれ示す。展開マスク71,72,73において、ROI対応部分71a,72a,73aが白抜きで図示され、非ROI対応部分71b,72b,73bが黒塗りで図示されている。
【0085】
図20に、マスク展開処理のフローチャートを示す。
図20のマスク展開処理S200によれば、マスクの分解レベルを1段階上げる処理(以下、単位処理とも呼ぶ)S202が行われる。合成制御データC50によって指定された分解レベルが2以上である場合、その指定された分解レベルのマスクが得られるまで、単位処理S202が繰り返される(ステップS201参照)。
【0086】
単位処理S202では、第1ウエーブレット平面用の第1マスクを、第1ウエーブレット平面よりも分解レベルが1段階高い第2ウエーブレット平面用の第2マスクに、変換する。なお、展開対象の第1マスクが原マスクである場合、上記の第1ウエーブレット平面はウエーブレット変換前の原画像が対応する。上記のように原画像を分解レベル0のウエーブレット平面と表現することによって、第1ウエーブレット平面には原画像も含まれることが理解できる。
【0087】
単位処理S202の繰り返しは、再帰的に行われる。すなわち、第2マスクを新たな第1マスクに設定することによって、単位処理S202が再度、行われる。また、単位処理S202の繰り返しは、ウエーブレット変換の方式に従って行われる。例えば上記のMallat型の方式が採用されている場合(
図14〜
図16参照)、ウエーブレット平面は最低域の帯域成分LLのみを再帰的に分解していく。このため、マスクの展開も帯域成分LLに対応する部分に対してのみ再帰的に行う。
【0088】
単位処理S202は所定のマスク展開条件に基づいて行われ、マスク展開条件はウエーブレット変換のフィルタのタップ数に依存する。
【0089】
例えばウエーブレット変換の演算処理において5×3フィルタが使用される場合、マスク展開条件は、
図21に基づいた2つの条件(第1条件と第2条件と呼ぶことにする)を含む。なお、5×3フィルタでは、分解側のローパスフィルタが5タップであり、分解側のハイパスフィルタが3タップである。
【0090】
第1条件:第1ウエーブレット平面上の偶数番目(nを整数として、2n番目と表記できる)のデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において低域成分(ローパスフィルタの側の出力データに対応する)のn番目のデータがROIに対応付けられるように、第2マスクを形成する。それと共に、第2ウエーブレット平面において高域成分(ハイパスフィルタの側の出力データに対応する)の{n−1}番目およびn番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0091】
第2条件:第1ウエーブレット平面上の{2n+1}番目のデータが第1マスクによってROIに対応付けられているとき、第2ウエーブレット平面において低域成分のn番目および{n+1}番目ならびに高域成分の{n−1}番目から{n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0092】
また、ウエーブレット変換の演算処理においてDaubechies9×7フィルタが用いられる場合、マスク展開条件は、
図22に基づいた2つの条件(第3条件と第4条件と呼ぶことにする)を含む。なお、Daubechies9×7フィルタでは、分解側のローパスフィルタが9タップであり、分解側のハイパスフィルタが7タップである。
【0093】
第3条件:第1ウエーブレット平面上の2n番目のデータが第1マスクによってROIに対応付けられているとき、第2ウエーブレット平面において低域成分の{n−1}番目から{n+1}番目および高域成分の{n−2}番目から{n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0094】
第4条件:第1ウエーブレット平面上の{2n+1}番目のデータが第1マスクによってROIに対応付けられているとき、第2ウエーブレット平面において低域成分の{n−1}番目から{n+2}番目および高域成分の{n−2}番目から{n+2}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0095】
合成制御データC50によって指定された分解レベルが3の場合、合成実行部520は、展開マスク73(
図19参照)におけるROI対応部分73aと非ROI対応部分73bとの区別に基づいて、係数判別処理を行う。
【0096】
<係数合成処理>
上記のように、合成実行部520は、第1ウエーブレット係数データA61中のROI係数と、第2ウエーブレット係数データD61中のウエーブレット係数とを合成する係数合成処理を行うことによって、合成済み係数データE61を生成する。
【0097】
具体的には、第1ウエーブレット係数データA61によるウエーブレット平面上の或る位置のデータが、ROI係数でない(換言すれば非ROI係数である)場合、当該非ROI係数を、第2ウエーブレット係数データD12によるウエーブレット平面上で同じ位置に存在するデータで置換する。これによれば、第1ウエーブレット係数データA61が、合成済み係数データE61に変換される。
【0098】
図23に、係数合成処理のフローチャートを示す。
図23の係数合成処理S300によれば、まず、第1ウエーブレット係数データA61中から検査対象とするウエーブレット係数を1つ選択する(ステップS301)。そして、その検査対象係数がROI係数と非ROI係数のどちらであるかを判別する(ステップS302)。すなわち、ステップS302において、係数判別処理が行われる。
【0099】
検査対象係数が非ROI係数である場合、その検査対象係数を、第2ウエーブレット係数データD61中の対応するウエーブレット係数で置換する(ステップS303)。これに対し、検査対象係数がROI係数である場合、ステップS303は行わない。第1ウエーブレット係数データA61中の全てのウエーブレット係数を検査し終えるまで、ステップS301〜S303を繰り返す(ステップS304)。
【0100】
図24に、係数合成処理の別のフローチャートを示す。
図24の係数合成処理S300Bでは、上記ステップS303の代わりに、ステップS303Bが設けられている。すなわち、係数判別処理ステップS302において検査対象係数がROI係数であると判別された場合、ステップS303Bにおいて第1ウエーブレット係数データA61中の当該ROI係数を、第2ウエーブレット係数データD61中の対応する位置に埋め込む。これによれば、第2ウエーブレット係数データD61が、合成済み係数データE61に変換される。
【0101】
このように、第1ウエーブレット係数データA61中のROI係数と第2ウエーブレット係数データD61中のウエーブレット係数との合成には、2種類の具体的手法(第1係数合成処理と第2係数合成処理と呼ぶことにする)がある。
【0102】
第1係数合成処理(
図23のS300を参照):第1ウエーブレット係数データA61中の非ROI係数を、第2ウエーブレット係数データD61中の対応するウエーブレット係数で置換する。
【0103】
第2係数合成処理(
図24のS300Bを参照):第1ウエーブレット係数データA61中のROI係数を、第2ウエーブレット係数データD61中の対応する位置に埋め込む。
【0104】
<逆ウエーブレット変換部530>
図13に戻り、逆ウエーブレット変換部530は、合成実行部520によって生成された合成済み係数データE61に対して、分解レベルが0になるまで逆ウエーブレット変換(IDWT)を行う。これにより、合成済み係数データE61から、合成画像データE80が生成される。実施の形態1では、合成画像データE80が、合成部500から出力され、出力データである合成画像データE100になる。
【0105】
逆ウエーブレット変換は、ウエーブレット変換部510で行われるウエーブレット変換とは逆の処理である。逆ウエーブレット変換では、帯域成分が再帰的に合成される。逆ウエーブレット変換における合成回数は、合成レベルと呼ばれる。なお、逆ウエーブレット変換前の状態の合成レベルを0と表現することにする。例えば合成制御データC50によって指定された分解レベルが3である場合、分解レベル3が合成レベル0に対応する。
【0106】
合成画像データE100に基づいて表示部41に表示動作を行わせることによって、第1対象画像中のROIと第2対象画像との合成画像が表示される。
【0107】
<合成システム21の動作>
図25に、合成システム21の動作を説明するフローチャートを示す。また、
図26に、画像合成の概念図を示す。
図25の動作フローS400は、データ取得処理のステップS410と、ウエーブレット変換処理のステップS440と、合成実行処理のステップS450と、逆ウエーブレット変換処理のステップS460とに大別される。
【0108】
データ取得ステップS410では、合成システム21に画像ビットストリームAbsとマスクビットストリームBbsと第2基礎画像データD50とが入力されると(ステップS411)、画像デコーダ300が画像ビットストリームAbsを復号化して第1基礎画像データA50を取得する(ステップS422)。他方、マスクデコーダ400がマスクビットストリームBbsから合成制御データC50を抽出する(ステップS432)。その後、マスクデコーダ400はマスクビットストリームBbsを復号化して基礎マスクデータB50を取得する(ステップS433)。
【0109】
ここで、
図26に示すように実施の形態1では、第1基礎画像の全範囲が第1対象画像として扱われ、基礎マスクの全範囲が対象マスクとして扱われ、第2基礎画像の全範囲が第2対象画像として扱われる。このため、第1基礎画像データA50と基礎マスクデータB50と第2基礎画像データD50とは、合成部500において第1対象画像データA60と対象マスクデータB60と第2対象画像データD60として扱われる(
図13参照)。
【0110】
ウエーブレット変換ステップS440では、ウエーブレット変換部510が、第1対象画像データA60と第2対象画像データD60のそれぞれに対して、合成制御データC50によって指定された分解レベルまでウエーブレット変換を行う。これにより、第1対象画像データA60と第2対象画像データD60とから、第1ウエーブレット係数データA61と第2ウエーブレット係数データD61とが生成される。
【0111】
合成実行ステップS450では、マスク展開部521が、対象マスクデータB60に基づいて、合成制御データC50によって指定された分解レベルの展開マスクデータを生成する(ステップS451)。マスク展開については、
図20のマスク展開処理S200を参照。そして、合成実行部520が、係数判別処理および係数合成処理を行って、合成済み係数データE61を生成する(ステップS452)。
【0112】
逆ウエーブレット変換ステップS460では、逆ウエーブレット変換部530が、合成済み係数データE61に対して逆ウエーブレットを行って、合成画像データE80(実施の形態1では出力データE100となる)を生成する。
【0113】
なお、
図25ではステップS422とステップS432〜S433とが並行して実行されるが、ステップS422とステップS432〜S433とを順次、実行してもよい。また、ステップS440とステップS451とを並行に実行してもよい。
【0114】
<効果>
実施の形態1によれば、第1対象画像中のROIと第2対象画像との合成は、第1ウエーブレット係数データA61および第2ウエーブレット係数データD61を用いて行われる。また、第1対象画像中のROIの判別は、第1ウエーブレット係数データA61についてROI係数を判別することによって行われる。かかる係数判別は、対象マスクデータB60に基づいて、より具体的には第1ウエーブレット係数データA61用の展開マスクデータ(対象マスクデータB60に基づいて生成される)に基づいて、行われる。
【0115】
ウエーブレット変換および逆ウエーブレット変換では、処理対象の注目画素の情報だけでなくその周辺の画素の情報も利用する。ウエーブレット係数用の展開マスクの生成についても同様である。このため、実施の形態1によれば、第1対象画像データおよび第2対象画像データをそのまま合成する場合に比べて、良好な合成画像が得られる。すなわち、輪郭および/または内部に不具合を有した不十分なROIを利用しても(換言すれば、そのような不十分なROI用の原マスクを利用しても)、合成画像上では、修復されたROIを提供できる。
【0116】
また、ウエーブレット変換の分解レベルを合成制御データC50によって制御することによって、合成具合(ROIの修復、ROIの拡張、等)を調整できる。
【0117】
図27〜
図37に具体例を示す。
図27は第1対象画像の例であり、
図27において子供の部分をROIとする。
図27に対応する原マスクを
図28に示す。
図28の原マスク(実施の形態1では対象マスクでもある)から生成された分解レベル1,2,3の展開マスクをそれぞれ
図29〜
図31に示す。
図28〜
図31において、白抜き部分がROI対応部分であり、黒塗り部分が非ROI対応部分である。
図32は第2対象画像の例である。
【0118】
図33は実施の形態1に拠らない合成画像である。具体的には、
図27の画像から
図28のマスクに基づいてROIを切り取り、切り取ったROIと
図32の画像とを合成することによって、
図33の合成画像が得られる。これに対し、
図34〜
図36に、実施の形態1によって合成された画像を示す。
図34〜
図36は分解レベル1,2,3で合成した画像にそれぞれ対応する。なお、参考までに、
図37に分解レベル5で合成した画像を示す。
【0119】
図28によれば、ROIの自動設定技術においてROIの輪郭(ここでは子供の輪郭)を正確に判別することの難しさが分かる。例えば子供の右腕部の輪郭は正確さに欠ける。また、ROI内に、欠損を成す非ROIが散見される。このため、
図33に示すように、実施の形態1に拠らない合成画像では、不自然さが目立つ。
【0120】
これに対し、
図34〜
図36の合成画像によれば、ROIの輪郭および内部における不具合が修復されている。また、合成を行う分解レベルが高くなるほど、修復効果が高い。
【0121】
また、
図34〜
図36、さらには
図37を参照すれば分かるように、
図27の第1対象画像から切り取られる範囲が、合成を行う分解レベルが高くなるほど、広くなっている。言うなれば、元々のROI(子供の部分)が外側に且つ全方位的に拡張され、その拡張部分は、合成を行う分解レベルが高くなるほど広い。なお、合成を行う分解レベルが高くなるほど、拡張部分と第2対象画像との境界をぼかすことができる。
【0122】
これらに鑑みると、実施の形態1によれば、ROIの設定に高コストな技術を利用しなくても済む。つまり、良好な合成画像を低コストで生成できる。
【0123】
ここで、マスクの生成は、第1基礎画像の符号化から独立したアルゴリズムによって行われる。さらに、合成システム21における基礎マスクデータの復号化は、第1基礎画像の復号化から独立したアルゴリズムによって行われる。このため、画像エンコーダ150および画像デコーダ300の選択の自由度が高くなる。
【0124】
<実施の形態2>
図38に、実施の形態2に係る供給システム11Bおよび合成システム21Bの構成例を示す。供給システム11Bおよび合成システム21Bは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0125】
供給システム11Bおよび合成システム21Bは、実施の形態1に係る供給システム11および合成システム21(
図3参照)と基本的に同様であるが、次の点が異なる。供給システム11Bでは、画像データ出力部100の代わりに、画像エンコーダ150Bを有する画像データ出力部100Bが設けられている。合成システム21Bでは、画像デコーダ300の代わりに、画像デコーダ300Bが設けられている。
【0126】
画像エンコーダ150Bは、マスクエンコーダ250からマスクビットストリームBbsを取得し、マスクビットストリームBbsを付加情報として、画像ビットストリームAbsに埋め込む。具体的には、画像ビットストリームAbsは第1基礎画像データA50に影響しない領域を有しており、その領域にマスクビットストリームBbsを埋め込む。画像エンコーダ150Bのその他の動作は、画像エンコーダ150と同様である。
【0127】
画像ビットストリームAbsの上記領域として、例えば、符号化ストリームのフォーマット中のコメント領域を利用できる。あるいは、コメント領域に代えてまたは加えて、アプリケーションマーカ(APPマーカ)領域を利用してもよい。
【0128】
図39に、画像エンコーダ150Bとして、動画像用の一般的な画像エンコーダ150uを利用する場合のブロック図を示す。画像エンコーダ150uによれば、ビットストリーム生成部がマスクビットストリームBbsを画像ビットストリームAbsに埋め込む。画像エンコーダ150uのその他の構成は、
図4の画像エンコーダ150sと同様である。
【0129】
図40に、画像エンコーダ150Bとして、静止画像用の一般的な画像エンコーダ150vを利用する場合のブロック図を示す。画像エンコーダ150vによれば、ビットストリーム生成部がマスクビットストリームBbsを画像ビットストリームAbsに埋め込む。画像エンコーダ150vのその他の構成は、
図5の画像エンコーダ150tと同様である。
【0130】
図38に戻り、画像デコーダ300Bは、画像ビットストリームAbsを取得し、画像ビットストリームAbsからマスクビットストリームBbsを抽出し、マスクビットストリームBbsをマスクデコーダ400に供給する。画像デコーダ300Bのその他の動作は、画像デコーダ300と同様である。
【0131】
図41に、画像デコーダ300Bとして、動画像用の一般的な画像デコーダ300uを利用する場合のブロック図を示す。画像デコーダ300uによれば、ビットストリーム解析部が画像ビットストリームAbsからマスクビットストリームBbsを抽出する。画像デコーダ300uのその他の構成は、
図10の画像デコーダ300sと同様である。
【0132】
図42に、画像デコーダ300Bとして、静止画像用の一般的な画像デコーダ300vを利用する場合のブロック図を示す。画像デコーダ300vによれば、ビットストリーム解析部が画像ビットストリームAbsからマスクビットストリームBbsを抽出する。画像デコーダ300vのその他の構成は、
図11の画像デコーダ300tと同様である。
【0133】
実施の形態2によれば、画像ビットストリームAbsとマスクビットストリームBbsとが単一のビットストリームによって、供給システム11Bから出力され、合成システム21Bに取得される。但し、実施の形態1と同様に、第1基礎画像データA50と基礎マスクデータB50は別個のデータとして存在する。なぜならば、実施の形態1と同様に、基礎マスクデータB50の生成アルゴリズムは、第1基礎画像データA50の符号化アルゴリズムから独立しているからである。
【0134】
ここで、マスクビットストリームBbsには合成制御データC50が埋め込まれている。このため、第1基礎画像データA50と基礎マスクデータB50と合成制御データC50とが、単一のビットストリームによって、供給システム11Bから出力され、合成システム21Bに取得される。この場合、画像エンコーダ150Bは、マスクビットストリームBbs(換言すれば基礎マスクデータB50)と合成制御データC50との両方を、画像ビットストリームAbsに埋め込むことになる。また、画像デコーダ300Bは、マスクビットストリームBbsと合成制御データC50との両方を、画像ビットストリームAbsから抽出することになる。
【0135】
なお、画像エンコーダ150Bが、合成制御データC50をマスクビットストリームBbsに埋め込まれていない状態で取得し(したがって、合成制御データC50とマスクビットストリームBbsとを別個に取得し)、合成制御データC50とマスクビットストリームBbsとの両方を画像ビットストリームAbsの上記領域に埋め込んでもよい。
【0136】
図43に、供給システム11Bの動作を説明するフローチャートを示す。
図43の動作フローS100Bによれば、実施の形態1に係る動作フローS100(
図9参照)にステップS106が追加されている。ステップS106では、画像エンコーダ150Bが画像ビットストリームAbsにマスクビットストリームBbsを埋め込む。
【0137】
図44に、合成システム21Bの動作を説明するフローチャートを示す。
図44の動作フローS400Bは基本的には、実施の形態1に係る動作フローS400(
図25参照)と同様であるが、次の点が異なる。データ取得ステップS410に代えて、ステップS408が追加されたデータ取得ステップS410Bが設けられている。ステップS408では、画像デコーダ300Bが画像ビットストリームAbsからマスクビットストリームBbsを抽出する。
【0138】
実施の形態2によれば、実施の形態1と同様の効果を得ることができる。特に実施の形態2によれば、マスクビットストリームBbsが画像ビットストリームAbsのうちで第1基礎画像データA50に影響しない領域に埋め込まれている。このため、既存の符号化ストリームに対する後方互換性を確保しつつ、実施の形態1と同様の効果を得ることができる。
【0139】
<実施の形態3>
図45に、実施の形態3に係る供給システム11Cおよび合成システム21Cの構成例を示す。供給システム11Cおよび合成システム21Cは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0140】
供給システム11Cおよび合成システム21Cは、実施の形態1に係る供給システム11および合成システム21(
図3参照)と基本的に同様であるが、次の点が異なる。供給システム11Cでは、マスクデータ出力部200の代わりにマスクデータ出力部200Cが設けられ、マスクデータ出力部200Cはマスクエンコーダ250の代わりにマスクエンコーダ250Cを有している。合成システム21Cでは、マスクデコーダ400の代わりに、マスクデコーダ400Cが設けられている。
【0141】
供給システム11Cでは、ユーザによって入力された合成制御データC50が、マスクビットストリームBbsに埋め込まれずに出力される。このため、マスクエンコーダ250Cは合成制御データC50の埋め込みを行わず、マスクデコーダ400Cは合成制御データC50の抽出を行わない。
【0142】
図46に、供給システム11Cの動作を説明するフローチャートを示す。
図44の動作フローS100Cによれば、実施の形態1に係る動作フローS100(
図9参照)からステップS124が削除されている。なお、ステップS105において、画像ビットストリームAbsと、マスクビットストリームBbsと、合成制御データC50とが出力される。
【0143】
図47に、合成システム21Cの動作を説明するフローチャートを示す。
図45の動作フローS400Cによれば、実施の形態1に係る動作フローS400(
図25参照)からステップS432が削除されている。なお、ステップS411において、画像ビットストリームAbsと、マスクビットストリームBbsと、合成制御データC50とが取得される。
【0144】
ここでは、第1基礎画像データA50と基礎マスクデータB50と合成制御データC50とが、同じ媒体50(例えば通信媒体または外部記憶媒体)によって、合成システム21に供給されるものとする。但し、異なる媒体50を利用してもよい。例えば、第1基礎画像データA50と基礎マスクデータB50の供給に通信媒体を利用し、合成制御データC50の供給に外部記憶媒体を利用してもよい。
【0145】
実施の形態3によれば、実施の形態1等と同様の効果を得ることができる。
【0146】
<実施の形態4>
図48に、実施の形態4に係る供給システム11Dおよび合成システム21Dの構成例を示す。供給システム11Dおよび合成システム21Dは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0147】
供給システム11Dおよび合成システム21Dは、実施の形態3に係る供給システム11Cおよび合成システム21C(
図45参照)と基本的に同様であるが、次の点が異なる。実施の形態4では合成制御データC50は、合成システム21Dの側に設けられた操作部42(
図2参照)にユーザが入力することによって、合成システム21Dに供給される。他方、第1基礎画像データA50および基礎マスクデータB50は、実施の形態3と同様に、媒体50(例えば通信媒体または外部記憶媒体)によって、合成システム21Dに供給される。つまり、合成システム21Dは、合成制御データC50を、第1基礎画像データA50および基礎マスクデータB50を供給する媒体とは異なる媒体によって取得する。
【0148】
実施の形態4によれば、実施の形態1等と同様の効果を得ることができる。特に実施の形態4によれば、合成制御データC50を合成システム21Dの側で入力することができるので、合成システム21Dの側で合成具合を調整できる。
【0149】
<実施の形態5>
図49に、実施の形態5に係る供給システム11Eおよび合成システム21Eの構成例を示す。供給システム11Eおよび合成システム21Eは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0150】
図49を
図3と比較すれば分かるように、供給システム11Eは実施の形態1に係る供給システム11と同様である。他方、合成システム21Eでは、セレクタ600が追加されている。合成システム21Eのその他の構成は、実施の形態1に係る合成システム21と同様である。
【0151】
セレクタ600は、複数の合成制御データのうちの1つを選択的に合成部500に供給する。
図49の例では、セレクタ600に2つの合成制御データC41,C42が入力され、いずれか一方の合成制御データが合成制御データC50として出力され、合成部500に供給される。
【0152】
第1合成制御データC41は、合成システム21Eの側に設けられた操作部42(
図2参照)に、合成システム21Eのユーザが入力することによって、セレクタ600に供給される。
【0153】
第2合成制御データC42は、供給システム11Eから媒体50によって、セレクタ600に供給される。より具体的には、第2合成制御データC42は供給システム11EにおいてマスクビットストリームBbsに埋め込まれ、そのマスクビットストリームBbsが媒体50によってマスクデコーダ400に供給される。そして、第2合成制御データC42は、マスクデコーダ400によって抽出され、セレクタ600に入力される。つまり、第2合成制御データC42は、第1合成制御データC41とは異なる媒体によって合成部500に供給される。
【0154】
セレクタ600は、第1合成制御データC41を優先的に選択して出力するように設定されている。これによれば、実施の形態4と同様に、合成システム21Eの側で合成具合を調整できる。一方、第1合成制御データC41が入力されない場合には第2合成制御データC42が出力されるので、合成システム21Eの側での手間が省ける。
【0155】
複数の合成制御データの選択優先度は固定されていてもよいし、あるいは変更可能であってもよい。選択優先度の変更は、例えば、合成システム21Eの側に設けられた操作部42と、供給システム11Eの側に設けられた操作部32との一方または両方によって、行うことが想定される。
【0156】
また、実施の形態5によれば、実施の形態1等と同様の効果も得ることができる。なお、実施の形態5は実施の形態2等と組み合わせることも可能である。
【0157】
<実施の形態6>
図50および
図51に実施の形態6に係るマスクデータ出力部200Fおよび合成部500Fの構成例を示す。また、
図52に、実施の形態6に係る供給システム11Fおよび合成システム21Fについて、画像合成の概念図を示す。ここでは、マスクデータ出力部200Fは、既述の画像データ出力部100と組み合わされて、供給システム11Fを構成するものとする。また、合成部500Fは、既述の画像デコーダ300およびマスクデコーダ400と組み合わされて、合成システム21Fを構成するものとする。供給システム11Fおよび合成システム21Fは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0158】
まず
図51を
図13と比較すれば分かるように、合成部500Fの合成実行部520Fは、マスク展開部521を有していない。これに対し、
図50に示すように、マスクデータ出力部200Fのマスク生成部210Fに、マスク展開部521が設けられている。すなわち、実施の形態6では、マスク展開部521が供給システム11Fに設けられている。
【0159】
また、マスク生成部210Fには、原マスク生成部220が設けられている。原マスク生成部220は、基礎画像の範囲について原マスクを生成する。実施の形態6では原マスク生成部220は、既述の全体マスク生成部211を含んでおり、全体マスク生成部211によって生成された全体マスクデータB10が、原マスクデータB20として出力される。マスク展開部521は、原マスクデータB20に対して既述のマスク展開処理を行ことによって、展開マスクデータB21を生成する。なお、マスク展開部521は、マスク展開処理に際して、合成制御データC50を取得する。
【0160】
実施の形態6では、全体画像の全範囲について原マスクおよび展開マスクが生成され、展開マスクデータB21が基礎マスクデータB50として、マスク生成部210Fから出力される。マスクエンコーダ250は、基礎マスクデータB50としての展開マスクデータB21を符号化して、マスクビットストリームBbsを生成する。
【0161】
マスクデータ出力部200Fおよび合成部500Fのその他の構成は、実施の形態1に係るマスクデータ出力部200および合成部500と同様である。
【0162】
図53に、供給システム11Fの動作を説明するフローチャートを示す。
図53の動作フローS100Fでは、基礎マスク生成ステップS122(
図9参照)に代えて、基礎マスク生成ステップS122Fが設けられている。動作フローS100Fのその他のステップは
図9の動作フローS100と同様である。
【0163】
基礎マスク生成ステップS122Fによれば、ステップS131において原マスク生成部220が原マスクデータB20を生成し(原マスク生成処理)、ステップS132においてマスク展開部521が原マスクデータB20から展開マスクデータB21を生成する(マスク展開処理)。なお、マスク展開ステップS132は、実施の形態1において合成システム21の側で行われていたマスク展開ステップS451(
図25参照)と同様である。展開マスクデータB21は、その後、基礎マスクデータB50として処理される。すなわち、次のステップS123では、展開マスクデータB21が符号化されて、マスクビットストリームBbsが生成される。
【0164】
図54に、合成システム21Fの動作を説明するフローチャートを示す。
図54の動作フローS400Fでは、合成実行ステップS450(
図25参照)に代えて、合成実行ステップS450Fが設けられている。合成実行ステップS450Fでは、合成実行ステップS450から、マスク展開ステップS451が削除されている。動作フローS400Fのその他のステップは
図25の動作フローS400と同様である。
【0165】
実施の形態6によれば、
図52に示すように、供給システム11Fにおいて展開マスクが生成され、当該展開マスクが基礎マスクとして合成システム21Fに供給される。なお、実施の形態6は実施の形態2等と組み合わせることも可能である。
【0166】
実施の形態6によれば、実施の形態1等と同様の効果を得ることができる。また、合成システム21Fにおいてマスク展開処理の演算負荷を削減できる。
【0167】
<実施の形態7>
実施の形態1では、全体画像の全範囲についての全体マスクを合成システム21に供給する例を説明した。実施の形態2〜6についても同様である。ここでマスクはROIを特定できればよい点に鑑みると、全体マスクのうちでROI対応部分を含む一部分だけを合成システム21に供給する例が考えられる。実施の形態7では、そのような例を説明する。
【0168】
<合成の概要>
まず、
図55の概念図を参照して、実施の形態7の概要を説明する。
図55によれば、供給システム11Gにおいて全体マスクのうちでROI対応部分を含む一部分を部分マスクとして切り取る。当該部分マスクが基礎マスクとして供給システム11Gから出力される。合成システム21Gでは、取得した基礎マスクを対象マスクとして扱い、当該対象マスクに基づいて展開マスクを生成する。すなわち、供給システム11Gは、全体マスクから、ウエーブレット変換の対象となる第1対象画像の範囲についてのマスクである対象マスクを切り取る。そして、供給システム11Gは、対象マスクデータを基礎マスクデータとして出力する。
【0169】
また、合成システム21Gは、第1基礎画像として全体画像の全範囲を取得する。そして、第1基礎画像のうちで対象マスクに対応する範囲を、第1対象画像として切り取り、当該第1対象画像を対象にしてウエーブレット変換を行う。
【0170】
同様に、第2基礎画像から第2対象画像を切り取り、当該第2対象画像を対象にしてウエーブレット変換を行う。第2対象画像は第1対象画像と同じ形状および大きさで切り取られるが、第2基礎画像における第2対象画像の位置は任意に設定可能である。すなわち、第2基礎画像における第2対象画像の位置は、全体画像における第1対象画像の位置と同じである必要はない。
【0171】
第1対象画像および第2対象画像から生成された第1ウエーブレット係数データおよび第2ウエーブレット係数データは、実施の形態1と同様に合成され、合成済み係数データに対して逆ウエーブレット変換が行われる。それにより、第1対象画像中のROIと第2対象画像とが合成される。そして、合成画像は、第2基礎画像のうちで第2対象画像の位置に埋め込まれる。その結果、実施の形態1と同様に、第2基礎画像と同じサイズの合成画像が得られる。
【0172】
全体マスクの一部分を基礎マスクとして切り取ることによって、基礎マスクデータのサイズを削減でき、したがってマスクビットストリームのサイズを削減することができる。このため、マスクビットストリームが有線または無線の通信によって伝送される場合、基礎マスクデータの削減は、通信量を削減でき、伝送の即時性に役立つ。また、基礎マスクデータの削減に伴って、第1対象画像および第2対象画像のデータサイズも小さくなるので、合成システム21Gでの演算負荷を削減できる。このため、画像合成の高速化に役立つ。これらに鑑みると、画像合成の即時性が向上する。
【0173】
<切り取り範囲決定処理>
実施の形態7に係る供給システム11Gおよび合成システム21Gの構成例を説明する前に、全体マスクから基礎マスクとして切り取る範囲について説明する。
【0174】
上記のように、全体マスクの一部分を基礎マスクとして切り取れば、供給システム11Gから出力する基礎マスクのデータサイズを小さくできる。このため、基本的には、全体マスクのうちでROI対応部分を含む任意の範囲を、基礎マスクとして設定可能である。そして、データサイズを大きく削減するためには、基礎マスクはできるだけ小さい方が好ましい。
【0175】
その一方で、全体マスクから基礎マスクとして切り取る範囲は、第1基礎画像(実施の形態7では全体画像に等しい)から第1対象画像を切り取る範囲でもある点に留意が必要である。すなわち、第1対象画像と第2対象画像とはウエーブレット変換後に合成されるので、ウエーブレット係数データにおいても(換言すれば、ウエーブレット平面上においても)ROIの範囲が歪まないように、切り取り範囲を決定する必要がある。
【0176】
図56〜
図59に、切り取り範囲を説明するための図を示す。
図56には、
図6の全体画像60を例にして、ROI60aを含む矩形の最小範囲81を示している。最小範囲81は矩形に設定しているので、最小範囲81の左上端座標(AX1,AY1)および右下端座標(BX1,BY1)によって、最小範囲81の位置および範囲を特定可能である。
図56等では、全体画像60の左上端を座標系の原点O(0,0)に採り、全体画像60の水平方向および垂直方向に直交する2つの軸を採っている。
【0177】
図57には、第1対象画像として切り取る範囲83を示している。切り取り範囲83は、最小範囲81を含み且つ最小範囲81よりも大きい。切り取り範囲83について、左上端座標を(AX3,AY3)とし、右下端座標を(BX3,BY3)とする。
【0178】
図58および
図59は、最小範囲81および切り取り範囲83を全体マスク70に示した図である。
【0179】
図60に、切り取り範囲83の決定処理のフローチャートを示す。
図60のフローS500によれば、ステップS501において最小範囲特定処理が行われ、ステップS502において追跡処理が行われ、ステップS503において必要範囲特定処理が行われる。
【0180】
<最小範囲特定処理>
最小範囲特定処理のステップS501では、切り取り前の原画像である全体画像60において、ROI60aを含む矩形の最小範囲81を特定する。最小範囲81の特定は、全体画像60を対象とした原マスク、すなわち全体マスク70に基づいて行われる。
【0181】
例えば、全体マスク70の各行を上から順に選択して行き、選択した行が、ROI対応部分70aに属する画素を有するか否かを判別する。ROI対応部分70aに属する画素を有すると最初に判別された行の位置が、AY1に当たる。同様に、全体マスク70の各行を下から順に選択して行くことによって、BY1を求めることができる。さらに、全体マスク70の各列を左から順に選択して行くことによってAX1を求めることができ、全体マスク70の各列を右から順に選択して行くことによってBX1を求めることができる。
【0182】
<追跡処理>
ウエーブレット平面上においてROIの範囲が歪まないようにするためには、最小範囲81の全域に対してウエーブレット変換を実行可能であることが必要である。ウエーブレット変換では、注目画素のデータだけでなく、その両側の画素のデータも利用する。このため、最小範囲81の外縁付近の画素に対してウエーブレット変換を行う場合、最小範囲81よりも外側の画素のデータが必要になる。かかる理由により、切り取り範囲83は最小範囲81よりも大きくなるのである。
【0183】
最小範囲81よりも外側に必要な画素の範囲の求め方は、例えば特許文献8を参照することができる。最小範囲81よりも外側に必要な画素の範囲は、ウエーブレット変換の分割フィルタのタップ数に依存する。
【0184】
例えば、分解側のローパスフィルタが5タップであり分解側のハイパスフィルタが3タップである5×3フィルタの場合、
図61に示すように、ローパスフィルタのn番目の出力を得るためには、入力側において{2n−2}番目から{2n+2}番目の5画素分のデータが必要である。また、
図62に示すように、ハイパスフィルタのn番目の出力を得るためには、入力側において2n番目から{2n+2}番目の3画素分のデータが必要である。
【0185】
また、分解側のローパスフィルタが9タップであり分解側のハイパスフィルタが7タップであるDaubechies9×7フィルタの場合、
図63に示すように、ローパスフィルタのn番目の出力を得るためには、入力側において{2n−4}番目から{2n+4}番目の9画素分のデータが必要である。また、
図64に示すように、ハイパスフィルタのn番目の出力を得るためには、入力側において{2n−2}番目から{2n+4}番目の7画素分のデータが必要である。
【0186】
さらに、最小範囲81よりも外側に必要な画素の範囲は、ウエーブレット変換の分解レベル、すなわち合成制御データによる分解レベルの指定値にも依存する。なぜならば、ウエーブレット平面において最上位帯域成分(すなわち最も分解された帯域成分)については、分割フィルタによる処理が、分解レベルの回数だけ繰り返されるからである。
【0187】
これらの点に鑑み、追跡処理のステップS502では、最終的なウエーブレット平面(すなわち、合成制御データC50で指定された指定の分解レベルのウエーブレット平面)の最上位帯域成分において、最小範囲81に対応する範囲を追跡最小範囲として特定する。
【0188】
図65に、追跡最小範囲を説明するための図を示す。
図65では、分解レベル3のウエーブレット平面63のうちで最上位帯域成分LL3,HL3,LH3,HH3を拡大して図示している。また、
図65は、最上位帯域成分LL3,HL3,LH3,HH3のうちで最低域の帯域成分LL3において、最小範囲81に対応する追跡最小範囲82を特定する場合を示している。なお、ウエーブレット平面の原点O(0,0)は、原画像(すなわち全体画像60)の原点Oに対応する。ウエーブレット平面63上の追跡最小範囲82について、左上端座標を(AX2,AY2)とし、右下端座標を(BX2,BY2)とする。
【0189】
図66および
図67に、ウエーブレット変換に5×3フィルタが使用される場合において、追跡最小範囲82を求めるためのフローチャートを示す。なお、
図66は左上端座標(AX2,AY2)の求め方を示し、
図67は右下端座標(BX2,BY2)の求め方を示している。
【0190】
図66の処理フローS510によれば、ステップS511においてパラメータqに最小範囲81の左上端座標(AX1,AY1)が設定される。ここでは、まず、q=AX1が設定されるとする。
【0191】
ステップS512においてqが偶数と判別された場合、ステップS513においてパラメータp=q/2に設定される。これに対し、ステップS512においてqが奇数と判別された場合、ステップS514においてp=(q−1)/2に設定される。
【0192】
そして、ステップS515において現在の分解レベルが、合成制御データC50によって指定された分解レベルに達していないと判別された場合、ステップS516においてpの現在値をqの新たな値に設定する(q=p)。その後、ステップS517において分解レベルを上げ、ステップS512に戻る。
【0193】
これに対し、ステップS515において現在の分解レベルが指定の分解レベルに達したと判別された場合、ステップS518においてその時点のpの値を追跡最小範囲82のAX2に設定する。
【0194】
ステップS511においてq=AY1に設定することによって、ステップS518において追跡最小範囲82のAY2が求められる。
【0195】
図67の処理フローS520によれば、最小範囲81のBX1から追跡最小範囲82のBX2が求められ、最小範囲81のBY1から追跡最小範囲82のBY2が求められる。処理フローS520は、ステップS524での演算内容を除いて、基本的には
図66の処理フローS510と同様である。すなわち、ステップS522においてqが奇数と判別された場合、ステップS524においてp=(q+1)/2に設定される。
【0196】
処理フローS510,S520に鑑みると、ウエーブレット変換に5×3フィルタが使用される場合の追跡処理は次のようにも表現できる。
【0197】
AX1が偶数ならばAX1/2を新たなAX1に設定し、AX1が奇数ならば{AX1−1}/2を新たなAX1に設定するという処理(第1再帰処理と呼ぶことにする)を、合成制御データC50によって指定された指定回数行い、最終的に得られたAX1をAX2に設定する。
【0198】
AY1が偶数ならばAY1/2を新たなAY1に設定し、AY1が奇数ならば{AY1−1}/2を新たなAY1に設定するという処理(第2再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY1をAY2に設定する。
【0199】
BX1が偶数ならばBX1/2を新たなBX1に設定し、BX1が奇数ならば{BX1+1}/2を新たなBX1に設定するという処理(第3再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX1をBX2に設定する。
【0200】
BY1が偶数ならばBY1/2を新たなBY1に設定し、BY1が奇数ならば{BY1+1}/2を新たなBY1に設定するという処理(第4再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY1をBY2に設定する。
【0201】
図68および
図69に、ウエーブレット変換にDaubechies9×7フィルタが使用される場合において、追跡最小範囲82を求めるためのフローチャートを示す。なお、
図68は左上端座標(AX2,AY2)の求め方を示し、
図69は右下端座標(BX2,BY2)の求め方を示している。
【0202】
図68の処理フローS530によれば、最小範囲81のAX1から追跡最小範囲82のAX2が求められ、最小範囲81のAY1から追跡最小範囲82のAY2が求められる。処理フローS530は、ステップS533,S534での演算内容を除いて、基本的には
図66の処理フローS510と同様である。すなわち、ステップS532においてqが偶数と判別された場合、ステップS533においてp=q/2−1に設定される。これに対し、ステップS532においてqが奇数と判別された場合、ステップS534においてp=(q−3)/2に設定される。
【0203】
図69の処理フローS540によれば、最小範囲81のBX1から追跡最小範囲82のBX2が求められ、最小範囲81のBY1から追跡最小範囲82のBY2が求められる。処理フローS540は、ステップS543,S544での演算内容を除いて、基本的には
図66の処理フローS510と同様である。すなわち、ステップS542においてqが偶数と判別された場合、ステップS543においてp=(q+2)/2に設定される。これに対し、ステップS542においてqが奇数と判別された場合、ステップS544においてp=(q+3)/2に設定される。
【0204】
処理フローS530,S540に鑑みると、ウエーブレット変換にDaubechies9×7フィルタが使用される場合の追跡処理は次のようにも表現できる。
【0205】
AX1が偶数ならば{AX1/2−1}を新たなAX1に設定し、AX1が奇数ならば{AX1−3}/2を新たなAX1に設定するという処理(第9再帰処理と呼ぶことにする)を、合成制御データC50によって指定された指定回数行い、最終的に得られたAX1をAX2に設定する。
【0206】
AY1が偶数ならば{AY1/2−1}を新たなAY1に設定し、AY1が奇数ならば{AY1−3}/2を新たなAY1に設定するという処理(第10再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY1をAY2に設定する。
【0207】
BX1が偶数ならば{BX1+2}/2を新たなBX1に設定し、BX1が奇数ならば{BX1+3}/2を新たなBX1に設定するという処理(第11再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX1をBX2に設定する。
【0208】
BY1が偶数ならば{BY1+2}/2を新たなBY1に設定し、BY1が奇数ならば{BY1+3}/2を新たなBY1に設定するという処理(第12再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY1をBY2に設定する。
【0209】
なお、ステップS513,S514,S523,S524,S533,S534,S543,S544での演算内容は、フィルタのタップ数に応じて規定されている。また、演算のしやすさに鑑みて、偶数単位への桁上げを行っている。
【0210】
<必要範囲特定処理>
図60に戻り、必要範囲特定処理のステップS503では、追跡最小範囲82内のウエーブレット係数を算出するために必要なデータが、切り取り前の全体画像60のどの範囲に存在するのかを特定する。特定された必要範囲が切り取り範囲83になる。
【0211】
図70に、ウエーブレット変換に5×3フィルタが使用される場合において、追跡最小範囲82から切り取り範囲83を求めるためのフローチャートを示す。
【0212】
図70の処理フローS550によれば、ステップS551においてパラメータrに追跡最小範囲82のAX2,AY2,BX2,BY2が設定される。ここでは、まず、r=AX2が設定されるとする。
【0213】
ステップS552においてrがBX2またはBY2ではないと判別された場合(換言すれば、rが追跡必要範囲82の左上端座標であると判別された場合)、ステップS553においてパラメータs=2r−2に設定される。これに対し、ステップS552においてrがBX2またはBY2であると判別された場合(換言すれば、rが追跡必要範囲82の左下端座標であると判別された場合)、ステップS554においてs=2r+2に設定される。
【0214】
そして、ステップS555において現在の分解レベルが0に達していないと判別された場合、ステップS556においてsの現在値をrの新たな値に設定する(r=s)。その後、ステップS557において分解レベルを下げ、ステップS552に戻る。
【0215】
これに対し、ステップS555において現在の分解レベルが0に達したと判別された場合、ステップS558においてその時点のsの値を切り取り範囲83のAX3に設定する。
【0216】
ステップS551においてr=AY2,BX2,BY2に設定することによって、ステップS558において切り取り範囲83のAY3,BX3,BY3が求められる。
【0217】
処理フローS550に鑑みると、ウエーブレット変換に5×3フィルタが使用される場合の必要範囲特定処理は次のようにも表現できる。
【0218】
{AX2×2−2}を新たなAX2に設定するという処理(第5再帰処理と呼ぶことにする)を、合成制御データC50によって指定された指定回数行い、最終的に得られたAX2をAX3に設定する。
【0219】
{AY2×2−2}を新たなAY2に設定するという処理(第6再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY2をAY3に設定する。
【0220】
{BX2×2+2}を新たなBX2に設定するという処理(第7再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX2をBX3に設定する。
【0221】
{BY2×2+2}を新たなBY2に設定するという処理(第8再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY2をBY3に設定する。
【0222】
図71に、ウエーブレット変換にDaubechies9×7フィルタが使用される場合において、追跡最小範囲82から切り取り範囲83を求めるためのフローチャートを示す。
【0223】
図71の処理フローS560は、ステップS563,S564での演算内容を除いて、基本的には
図70の処理フローS550と同様である。すなわち、ステップS562においてrがBX2またはBY2ではないと判別された場合、ステップS563においてs=2r−4に設定される。これに対し、ステップS562においてrがBX2またはBY2であると判別された場合、ステップS564においてs=2r+4に設定される。
【0224】
処理フローS560に鑑みると、ウエーブレット変換にDaubechies9×7フィルタが使用される場合の必要範囲特定処理は次のようにも表現できる。
【0225】
{AX2×2−4}を新たなAX2に設定するという処理(第13再帰処理と呼ぶことにする)を、合成制御データC50によって指定された指定回数行い、最終的に得られたAX2をAX3に設定する。
【0226】
{AY2×2−4}を新たなAY2に設定するという処理(第14再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY2をAY3に設定する。
【0227】
{BX2×2+4}を新たなBX2に設定するという処理(第15再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX2をBX3に設定する。
【0228】
{BY2×2+4}を新たなBY2に設定するという処理(第16再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY2をBY3に設定する。
【0229】
<供給システム11G>
図72に、実施の形態7に係るマスクデータ出力部200Gの構成例を示す。ここでは、マスクデータ出力部200Gは、既述の画像データ出力部100と組み合わされて、供給システム11Gを構成するものとする。供給システム11Gは、実施の形態1に係る供給システム11に代えて、画像処理システム1,10等に適用可能である。
【0230】
図72に示すように、マスクデータ出力部200Gは、マスク生成部210Gと、既述のマスクエンコーダ250とを含んでいる。マスク生成部210Gは、既述の全体マスク生成部211と、切り取り範囲決定部232と、マスク切り取り部233とを含んでいる。
【0231】
切り取り範囲決定部232は、切り取り範囲83(全体画像における第1対象画像の範囲であると共に、全体マスクにおける対象マスクの範囲である)を決定する。具体的には、切り取り範囲決定部232は、切り取り範囲決定処理S500(
図60参照)を、全体マスクデータB10および合成制御データC50に基づいて行う。そして、切り取り範囲決定部232は、切り取り範囲83を特定するためのデータである切り取り範囲特定データF50を生成する。切り取り範囲特定データF50は、具体的には、切り取り範囲83の左上端座標(AX3,AY3)および右下端座標(BX3,BY3)のデータである。
【0232】
マスク切り取り部233は、切り取り範囲特定データF50に基づいて、全体マスクデータB10のうちで切り取り範囲83内のデータを、基礎マスクデータ用に切り取る。特に実施の形態7では、全体マスクデータB10のうちで切り取り範囲83内のデータが、基礎マスクデータB50として切り取られる。なお、切り取ったデータは、対象マスクデータB60を構成する。
【0233】
すなわち、マスクエンコーダ250は、対象マスクデータB60を基礎マスクデータB50として取得し、対象マスクデータB60を符号化してマスクビットストリームBbsを生成する。また、マスクエンコーダ250は、合成制御データC50および切り取り範囲特定データF50を、マスクビットストリームBbsに埋め込む。
【0234】
<合成システム21G>
図73に、実施の形態7に係る合成システム21Gの構成例を示す。合成システム21Gは、実施の形態1に係る合成システム21に代えて、画像処理システム1,20等に適用可能である。合成システム21Gでは、マスクデコーダ400および合成部500(
図3参照)の代わりに、マスクデコーダ400Gおよび合成部500Gが設けられている。合成システム21Gのその他の構成は、実施の形態1に係る合成システム21と同様である。
【0235】
マスクデコーダ400Gは、マスクビットストリームBbsから、合成制御データC50および切り取り範囲特定データF50を抽出する。また、マスクデコーダ400Gは、既述のように、マスクビットストリームBbsを復号化して基礎マスクデータB50を取得する。基礎マスクデータB50と、合成制御データC50と、切り取り範囲特定データF50とは、合成部500Gに供給される。
【0236】
図74に、合成部500Gの構成例を示す。
図74を
図13と比較すれば分かるように、合成部500Gは、実施の形態1に係る合成部500に、第1画像切り取り部540と、第2画像切り取り部550と、埋め込み部560とが追加されている。合成部500Gのその他の構成は基本的に、実施の形態1に係る合成部500と同様である。
【0237】
第1画像切り取り部540は、第1基礎画像データA50と切り取り範囲特定データF50とを取得する。そして、第1画像切り取り部540は、切り取り範囲特定データF50に基づいて、第1基礎画像データA50(ここでは全体画像データA10である)のうちで切り取り範囲83内のデータを切り取る(
図55参照)。切り取ったデータは、第1対象画像データA60として、ウエーブレット変換部510に供給される。
【0238】
第2画像切り取り部550は、第2基礎画像データD50と、切り取り範囲特定データF50と、合成位置指定データG50とを取得する。合成位置指定データG50は、第2基礎画像において第1対象画像中のROIを合成する位置を指定するデータである。合成位置指定データG50は、例えば、後述のように合成画像データE80の埋め込み位置のデータとして理解できる。より具体的には、合成画像データE80の埋め込み位置は、合成画像データE80の埋め込み範囲の左上端部の位置、あるいは、当該埋め込み範囲の中心位置、等によって指定可能である。合成位置指定データG50は、合成システム21Gの側に設けられた操作部42(
図2参照)に、合成システム21Gのユーザが入力することによって、合成部500Gに供給される。
【0239】
第2画像切り取り部550は、合成位置指定データG50に基づいて、第2基礎画像中に合成先範囲を設定する。合成先範囲は、第1対象画像と同じ形状および大きさの範囲であり、このため第1対象画像と合同である。あるいは、合成先範囲は、第1対象画像に対する相似比が1の相似形範囲である、と表現してもよい。合成先範囲は、ここでは切り取り範囲特定データF50によって特定されるものとする。但し、切り取り範囲特定データF50に代えて、第1対象画像データA60から直接、第1対象画像の同じ形状および大きさを特定するようにしてもよい。第2画像切り取り部550は、第2基礎画像データD50のうちで合成先範囲内のデータを切り取る。切り取ったデータは、第2対象画像データD60として、ウエーブレット変換部510に供給される。
【0240】
ウエーブレット変換部510と合成実行部520と逆ウエーブレット変換部530とは、実施の形態1と同様に動作する。それにより、上記のように切り取られた第1対象画像データA60および第2対象画像データD60から、合成画像データE80が生成される。
【0241】
埋め込み部560は、逆ウエーブレット変換部530によって生成された合成画像データE80を、第2基礎画像データD50中の合成先範囲に埋め込む。合成画像データE80がはめ込まれた第2基礎画像データD50が、合成部500Gの出力データである合成画像データE100として出力される。
【0242】
<動作>
図75に、供給システム11Gの動作を説明するフローチャートを示す。
図75の動作フローS100Gは基本的には実施の形態1に係る動作フローS100(
図9参照)と同様であるが、次の点が異なる。動作フローS100Gでは、基礎マスク生成ステップS122に代えて、基礎マスク生成ステップS122Gが設けられている。また、データ埋め込みステップS124に代えて、データ埋め込みステップS124Gが設けられている。
【0243】
基礎マスク生成ステップS122Gによれば、全体マスク生成ステップS141において、全体マスク生成部221が全体マスクデータB10を生成する。切り取りステップS142において、切り取り範囲決定部232およびマスク切り取り部233が、全体マスクデータB10から対象マスクデータB60を生成する。対象マスクデータB60は、その後、基礎マスクデータB50として扱われる。すなわち、次のステップS123では、対象マスクデータB60が符号化されて、マスクビットストリームBbsが生成される。
【0244】
データ埋め込みステップS124Gでは、マスクエンコーダ250が、マスクビットストリームBbsに、合成制御データC50と切り取り範囲特定データF50を埋め込む。
【0245】
図76に、合成システム21Gの動作を説明するフローチャートを示す。
図76の動作フローS400Gは基本的には実施の形態1に係る動作フローS400(
図25参照)と同様であるが、次の点が異なる。動作フローS400Gでは、データ取得ステップS410(
図25参照)に代えて、データ取得ステップS410Gが設けられている。また、画像埋め込みステップS480が追加されている。
【0246】
データ取得ステップS410Gでは、ステップS432の代わりにデータ抽出ステップS432Gが設けられ、切り取りステップS470が追加されている。データ抽出ステップS432Gでは、マスクデコーダ400GがマスクビットストリームBbsから、合成制御データC50と切り取り範囲特定データF50とを抽出する。切り取りステップS470では、第1画像切り取り部540が第1基礎画像データA50から第1対象画像データA60を切り取り、第2画像切り取り部550が第2基礎画像データD50から第2対象画像データD60を切り取る。
【0247】
画像埋め込みステップS480では、埋め込み部560が、逆ウエーブレット変換部530によって生成された合成画像データE80を、第2基礎画像データD50中の合成先範囲に埋め込む。
【0248】
<効果>
実施の形態7によれば、実施の形態1等と同様の効果を得ることができる。
【0249】
特に実施の形態7によれば、供給システム11Gは、全体マスクから基礎マスクを切り取り、当該切り取った基礎マスクをマスクビットストリームBbsによって出力する。このため、基礎マスクデータB50のサイズを削減でき、したがってマスクビットストリームBbsのサイズを削減することができる。このため、マスクビットストリームが有線または無線の通信によって伝送される場合、通信量を削減でき、伝送の即時性に役立つ。また、基礎マスクのサイズ削減に伴って、第1対象画像および第2対象画像のサイズも小さくなるので、合成システム21Gでの演算負荷を削減できる。このため、画像合成の高速化に役立つ。これらに鑑みると、画像合成の即時性が向上する。
【0250】
なお、実施の形態7は、実施の形態2等と組み合わせることも可能である。
【0251】
<追跡処理についての考察>
ここで、上記ではウエーブレット変換が各分解レベルのウエーブレット平面に含まれる最低域の帯域成分を再帰的に分解する方式を採用していることに鑑み、追跡処理の対象にする最上位帯域成分を、最終的なウエーブレット平面において最低域の帯域成分LL3とした。これに対し、例えばウエーブレット変換がウエーブレット平面の最高域の帯域成分を再帰的に分解する方式を採用している場合、最終的なウエーブレット平面において最高域の帯域成分が追跡処理の対象になる。
【0252】
また、上記では、4つの最上位帯域成分LL3,HL3,LH3,HH3のうちで最低域の帯域成分LL3のみを、追跡処理の対象にした。すなわち、ローパスフィルタの出力のみを、追跡処理の対象にした。追跡処理に関してハイパスフィルタが不要である理由を、以下に説明する。
【0253】
<
図66のステップS514について(5×3フィルタ)>
図66のステップS512においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が奇数と判別された場合、
図21を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式1)
p=n …(式2)
これを解くと、p=(q−1)/2となる(式3)。これはステップS514に係る上記式になる。
【0254】
ここで
図21を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式4)
p=n−1 …(式5)
これを解くとp=(q−3)/2となる(式6)。
【0255】
<
図66のステップS513について(5×3フィルタ)>
図66のステップS512においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が偶数と判別された場合、
図21を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式7)
p=n …(式8)
これを解くとp=q/2となる(式9)。これはステップS513に係る式になる。
【0256】
ここで
図21を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式10)
p=n−1 …(式11)
これを解くとp=q/2−1となる(式12)。
【0257】
ここで、高域成分を再帰的に入力しない場合のMallat型を考えると、高域側の出力は入力側にはならない。よって、高域成分は最後の分解レベルだけを考えればよいことになる。低域成分を再帰的に入力する場合は、入力側のみを考えればよい。
【0258】
<
図70のステップS553について(5×3フィルタ)>
図61の5タップのローパスフィルタに、低域成分が入力されたとする。また、
図61においてn=pとする。
図70のステップS551において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS552参照)、
r=p …(式13)
s=2p−2 …(式14)
これを解くとs=2r−2となる(式15)。これはステップS553に係る式になる。
【0259】
図62の3タップのハイパスフィルタに、高域成分が入力されたとする。また、
図62においてn=pとする。
図70のステップS551において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS552参照)、
r=p …(式16)
s=2p …(式17)
これを解くとs=2rとなる(式18)。
【0260】
ここで、上記のように、
図66のステップS512においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が奇数と判別された場合、低域成分については式13,3から、r=(q−1)/2が得られる(式19)。また、式19,15からs=q−3が得られる(式20)。これに対し、高域成分については式16,6から、r=(q−3)/2が得られる(式21)。また、式21,18からs=q−3が得られる(式22)。式20,22を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0261】
また、上記のように、
図66のステップS512においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が偶数と判別された場合、低域成分については式13,9から、r=q/2が得られる(式23)。また、式23,15からs=q−2が得られる(式24)。これに対し、高域成分については式16,12から、r=q/2−1が得られる(式25)。また、式25,18からs=q−2が得られる(式26)。式24,26を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0262】
このように高域成分を再帰的に入力しない場合のMallat型を考えると、低域成分と高域成分のいずれを追跡しても同じ結果になる。このため、ウエーブレット変換に5×3フィルタが使用される場合の
図66、
図67および
図70の処理フローS510,S520,S550では低域成分だけに着目している。
【0263】
<
図68のステップS534について(9×7フィルタ)>
図68のステップS532においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が奇数と判別された場合、
図22を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式27)
p=n−1 …(式28)
これを解くと、p=(q−3)/2となる(式29)。これはステップS534に係る上記式になる。
【0264】
ここで
図22を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式30)
p=n−2 …(式31)
これを解くとp=(q−5)/2となる(式32)。
【0265】
<
図68のステップS533について(9×7フィルタ)>
図68のステップS532においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が偶数と判別された場合、
図22を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式33)
p=n−1 …(式34)
これを解くとp=q/2−1となる(式35)。これはステップS533に係る式になる。
【0266】
ここで
図22を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式36)
p=n−2 …(式37)
これを解くとp=q/2−2となる(式38)。
【0267】
ここで、高域成分を再帰的に入力しない場合のMallat型を考えると、高域側の出力は入力側にはならない。よって、高域成分は最後の分解レベルだけを考えればよいことになる。低域成分を再帰的に入力する場合は、入力側のみを考えればよい。
【0268】
<
図71のステップS563について(9×7フィルタ)>
図63の9タップのローパスフィルタに、低域成分が入力されたとする。また、
図63においてn=pとする。
図71のステップS561において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS562参照)、
r=p …(式39)
s=2p−4 …(式40)
これを解くとs=2r−4となる(式41)。これはステップS563に係る式になる。
【0269】
図64の7タップのハイパスフィルタに、高域成分が入力されたとする。また、
図64においてn=pとする。
図71のステップS561において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS562参照)、
r=p …(式42)
s=2p−2 …(式43)
これを解くとs=2r−2となる(式44)。
【0270】
ここで、上記のように、
図68のステップS532においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が奇数と判別された場合、低域成分については式39,29から、r=(q−3)/2が得られる(式45)。また、式45,41からs=q−7が得られる(式46)。これに対し、高域成分については式42,32から、r=(q−5)/2が得られる(式47)。また、式47,44からs=q−7が得られる(式48)。式46,48を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0271】
また、上記のように、
図68のステップS532においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が偶数と判別された場合、低域成分については式39,35から、r=q/2が得られる(式49)。また、式49,41からs=q−6が得られる(式50)。これに対し、高域成分については式42,38から、r=q/2−2が得られる(式51)。また、式51,44からs=q−6が得られる(式52)。式50,52を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0272】
このように高域成分を再帰的に入力しない場合のMallat型を考えると、低域成分と高域成分のいずれを追跡しても同じ結果になる。このため、ウエーブレット変換に9×7フィルタが使用される場合の
図68、
図69および
図71の処理フローS530,S540,S560では低域成分だけに着目している。
【0273】
<実施の形態8>
図77に、実施の形態8に係る供給システム11Hおよび合成システム21Hについて、画像合成の概念図を示す。供給システム11Hおよび合成システム21Hは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
図77を
図55と比較すれば分かるように、実施の形態8では供給システム11Hは、全体マスクだけでなく全体画像に対しても切り取りを行う。
【0274】
すなわち、供給システム11Hは、実施の形態7と同様に、全体マスクから、ウエーブレット変換の対象となる第1対象画像の範囲についてのマスクである対象マスクを切り取り、対象マスクデータB60を基礎マスクデータB50として出力する。また、供給システム11Hは、全体画像から第1対象画像を切り取り、第1対象画像データA60を第1基礎画像データA50として出力する。
【0275】
図78に、供給システム11Hの構成例を示す。供給システム11Hは、実施の形態8に係る画像データ出力部100Hと、実施の形態7に係るマスクデータ出力部200Gとを含んでいる。画像データ出力部100Hは、実施の形態7において合成システム21Gに設けられていた第1画像切り取り部540と、既述の画像エンコーダ150とを含んでいる。
【0276】
第1画像切り取り部540は、供給システム11Hにおいて、全体画像データA10を取得し、切り取り範囲決定部232から切り取り範囲特定データF50を取得する。そして、第1画像切り取り部540は、切り取り範囲特定データF50に基づいて、全体画像データA10のうちで切り取り範囲83内のデータを切り取る。切り取った部分画像データは、合成システム21Hにおいてウエーブレット変換の対象となる第1対象画像データA60である。
【0277】
当該第1対象画像データA60は、第1基礎画像データA50として画像エンコーダ150に供給される。それにより、第1対象画像データA60は、第1基礎画像データA50として、画像ビットストリームAbsによって供給システム11Hから出力される。
【0278】
供給システム11Hの構成に対応して、合成システム21Hの合成部500H(
図79参照)は、実施の形態7に係る合成部500G(
図74参照)から第1画像切り取り部540が削除された構成を有する。
【0279】
図80に、供給システム11Hの動作を説明するフローチャートを示す。
図80の動作フローS100Hでは、
図75の動作フローS100Gに、切り取りステップS151が追加されている。切り取りステップS151では、第1画像切り取り部540が、切り取りステップS142で生成された切り取り範囲特定データF50に基づいて、全体画像データA10から第1対象画像データA60を切り取る。
【0280】
ステップS151で切り取られた第1対象画像データA60は、ステップS112において第1基礎画像データA50として処理される。すなわち、画像エンコーダ150によって、第1対象画像データA60から、第1基礎画像データA50の画像ビットストリームAbsが生成される。
【0281】
図81に、合成システム21Hの動作を説明するフローチャートを示す。
図81の動作フローS400Hは、ステップS470の代わりにステップS470Hが設けられている点を除いて、
図76の動作フローS400Gと同様である。実施の形態7に係るステップS470(
図76参照)では第1基礎画像および第2基礎画像から第1対象画像および第2対象画像を切り取った。これに対し、実施の形態8では、第1基礎画像は第1対象画像として供給されるので、ステップS470Hでは第2対象画像の切り取りのみが行われる。
【0282】
ここで、上記では実施の形態7と同様に、切り取り範囲特定データF50が供給システム11Hから合成システム21Hに供給され、切り取り範囲特定データF50は第2画像切り取り部550で利用されるものとした。但し、実施の形態8では、切り取り範囲特定データF50を供給システム11Hから合成システム21Hに供給しないことも可能である。
【0283】
なぜならば、実施の形態8では、合成システム21Hにおいて第1対象画像を切り取る必要がないので、第1対象画像に関しては切り取り範囲特定データF50を利用しないからである。さらに、実施の形態7で述べたように、第2対象画像を切り取る際に切り取り範囲特定データF50の代わりに第1対象画像データA60を参照しても、第2対象画像を第1対象画像と同じ形状および大きさで切り取ることが可能だからである。
【0284】
実施の形態8によれば、実施の形態7と同様の効果を得ることができる。
【0285】
特に実施の形態8によれば、供給システム11Hは、全体画像から第1基礎画像を切り取り、当該切り取った第1基礎画像を画像ビットストリームAbsによって出力する。このため、基礎マスクデータB50だけでなく、第1基礎画像データA50についても、データサイズを削減できる。このため、画像ビットストリームAbsおよびマスクビットストリームBbsが有線または無線の通信によって伝送される場合、通信量を削減でき、伝送の即時性に役立つ。
【0286】
なお、実施の形態8は、実施の形態2等と組み合わせることも可能である。
【0287】
<実施の形態9>
図82に、実施の形態9に係る供給システム11Iおよび合成システム21Iについて、画像合成の概念図を示す。供給システム11Iおよび合成システム21Iは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
図82を
図55と比較すれば分かるように、実施の形態9では全体マスクおよび全体画像に対する切り取りを、合成システム21Iで行う。
【0288】
すなわち、供給システム11Iは、実施の形態1と同様に、第1対象画像を一部分に含む全体画像のデータである全体画像データA10を第1基礎画像データA50として出力し、全体画像の範囲について基礎マスクデータB50を生成して出力する。また、供給システム11Iは、実施の形態7と同様に、切り取り範囲特定データF50を生成して出力する。
【0289】
他方、合成システム21Iは、第1基礎画像および基礎マスクから、切り取り範囲特定データF50で特定される範囲を切り取り、切り取った部分を第1対象画像および対象マスクとして使用する。また、合成システム21Iは、第2基礎画像から第2対象画像を切り取る。
【0290】
図83に、供給システム11Iのマスクデータ出力部200Iの構成例を示す。ここでは、マスクデータ出力部200Iは、実施の形態1に係る画像データ出力部100(
図3参照)と組み合わされて、供給システム11Iを構成するものとする。マスクデータ出力部200Iは、実施の形態9に係るマスク生成部210Iと、既述のマスクエンコーダ250とを含んでいる。
【0291】
マスク生成部210Iは、実施の形態7に係るマスク生成部210G(
図72参照)からマスク切り取り部233を削除した構成を有している。このため、マスク生成部210Iは、全体マスクデータB10を基礎マスクデータB50として、マスクエンコーダ250に供給する。切り取り範囲決定部232は、実施の形態7と同様に、切り取り範囲決定処理を行い、切り取り範囲特定データF50をマスクエンコーダ250に供給する。
【0292】
供給システム11Iの構成に対応して、合成システム21Iの合成部500I(
図84参照)は、実施の形態7に係る合成部500G(
図74参照)に、マスク切り取り部233が追加された構成を有する。マスク切り取り部233は、基礎マスクデータB50として全体マスクデータB10を取得し、切り取り範囲特定データF50を取得する。そして、マスク切り取り部233は、実施の形態7と同様に、切り取り範囲特定データF50に基づいて、全体マスクデータB10から対象マスクデータB60を切り取る。対象マスクデータB60は、合成実行部520に供給される。
【0293】
図85に、供給システム11Iの動作を説明するフローチャートを示す。
図85の動作フローS100Iでは、
図75の動作フローS100Gにおいて、切り取りステップS142の代わりに、切り取り範囲決定ステップS143が設けられている。切り取り範囲決定ステップS143では、切り取り範囲決定部232が切り取り範囲特定データF50を生成する。
【0294】
図86に、合成システム21Iの動作を説明するフローチャートを示す。
図86の動作フローS400Iのデータ取得ステップS410Iは、実施の形態7に係る動作フローS400G(
図76参照)のデータ取得ステップS410Gにおいて、切り取りステップS470の代わりに、切り取りステップS470Iが設けられている。
【0295】
切り取りステップS470Iでは、第1画像切り取り部540が第1基礎画像データA50から第1対象画像データA60を切り取り、第2画像切り取り部550が第2基礎画像データD50から第2対象画像データD60を切り取り、マスク切り取り部233が基礎マスクデータB50から対象マスクデータB60を切り取る。
【0296】
実施の形態9によれば、実施の形態1等と同様の効果を得ることができる。
【0297】
特に実施の形態9によれば、実施の形態7と同様に、第1対象画像および第2対象画像のサイズが小さくなるので、合成システム21Gでの演算負荷を削減できる。このため、画像合成の高速化に役立つ。
【0298】
また、実施の形態9では、供給システム11Iにおいて対象マスクおよび第1対象画像の切り取りを行わない。このため、供給システム11Iでの演算負荷を削減できる。
【0299】
なお、実施の形態9は、実施の形態2等と組み合わせることも可能である。
【0300】
<実施の形態10>
図87に、実施の形態10に係る供給システム11Jおよび合成システム21Jについて、画像合成の概念図を示す。供給システム11Jおよび合成システム21Jは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
図87を
図55と比較すれば分かるように、実施の形態10では全体マスクに対する切り取りは合成システム21Jで行い、全体画像に対する切り取りは供給システム11Jで行う。
【0301】
すなわち、供給システム11Jは、実施の形態8(
図77参照)と同様に、全体画像から第1対象画像を切り取り、第1対象画像データA60を第1基礎画像データA50として出力する。また、供給システム11Jは、実施の形態9(
図82参照)と同様に、全体画像の範囲について基礎マスクデータB50を生成して出力する。
【0302】
他方、合成システム21Jは、実施の形態8(
図77参照)と同様に、取得した第1基礎画像の全範囲を第1対象画像として使用する。また、合成システム21Jは、実施の形態9(
図82参照)と同様に、取得した基礎マスクから、切り取り範囲特定データF50によって特定される範囲を切り取り、切り取った部分を対象マスクとして使用する。
【0303】
図88に、供給システム11Jの構成例を示す。
図88に示すように、供給システム11Jは、実施の形態8に係る画像データ出力部100H(
図78参照)と、実施の形態9に係るマスクデータ出力部200I(
図83参照)とを組み合わせによって構成されている。
【0304】
図89に、合成システム21Jの合成部500Jの構成例を示す。ここでは、合成部500Jは、実施の形態7に係る画像デコーダ300およびマスクデコーダ400G(
図73参照)と組み合わされて、合成システム21Jを構成するものとする。
図89に示すように、合成部500Jは、実施の形態9に係る合成部500I(
図84参照)から第1画像切り取り部540が削除された構成を有する。
【0305】
図90に、供給システム11Jの動作を説明するフローチャートを示す。
図90の動作フローS100Jでは、実施の形態9に係る動作フローS100I(
図85参照)に、実施の形態8に係る切り取りステップS151(
図80参照)が追加されている。すなわち、切り取りステップS151では、第1画像切り取り部540が、ステップS143で生成された切り取り範囲特定データF50に基づいて、全体画像から第1対象画像を第1基礎画像として切り取る。
【0306】
図91に、合成システム21Jの動作を説明するフローチャートを示す。
図91の動作フローS400Jのデータ取得ステップS410Jは、実施の形態9に係る動作フローS400I(
図86参照)のデータ取得ステップS410Iにおいて、切り取りステップS470Iの代わりに、切り取りステップS470Jが設けられている。
【0307】
切り取りステップS470Jでは、第2画像切り取り部550が第2基礎画像データD50から第2対象画像データD60を切り取り、マスク切り取り部233が基礎マスクデータB50から対象マスクデータB60を切り取る。
【0308】
実施の形態10によれば、実施の形態1等と同様の効果を得ることができる。
【0309】
特に実施の形態10によれば、実施の形態7と同様に、第1対象画像および第2対象画像のサイズが小さくなるので、合成システム21Jでの演算負荷を削減できる。このため、画像合成の高速化に役立つ。
【0310】
また、実施の形態8と同様に、第1基礎画像データA50について、データサイズを削減できる。このため、画像ビットストリームAbsが有線または無線の通信によって伝送される場合、通信量を削減でき、伝送の即時性に役立つ。
【0311】
なお、実施の形態10は、実施の形態2等と組み合わせることも可能である。
【0312】
<実施の形態11>
実施の形態7〜10では、切り取り範囲決定処理を供給システム11G〜11Jにおいて行うものとした。実施の形態11では、切り取り範囲決定処理を合成システムにおいて行う例を説明する。
図92に、実施の形態11に係る画像合成の概念図を示す。ここでは、実施の形態11に係る合成システム21Kは、実施の形態1に係る供給システム11と組み合わされるものとする。なお、合成システム21Kは、実施の形態1に係る合成システム21に代えて、画像処理システム1,20等に適用可能である。
【0313】
図93に、合成システム21Kの合成部500Kの構成例を示す。ここでは、合成部500Jは、実施の形態7に係る画像デコーダ300およびマスクデコーダ400G(
図73参照)と組み合わされて、合成システム21Kを構成するものとする。
図93に示すように、合成部500Kは、実施の形態9に係る合成部500I(
図84参照)に、既述の切り取り範囲決定部232が追加された構成を有する。
【0314】
合成部500Kにおいて切り取り範囲決定部232は、全体マスクデータB10(基礎マスクデータB50として合成システム21Kに供給される)と、合成制御データC50とに基づいて、切り取り範囲決定処理を行い、切り取り範囲特定データF50を生成する。切り取り範囲特定データF50は、第1画像切り取り部540と、第2画像切り取り部550と、マスク切り取り部233とに供給される。
【0315】
図94に、合成システム21Jの動作を説明するフローチャートを示す。
図94の動作フローS400Kは基本的には実施の形態9に係る動作フローS400I(
図86参照)と同様であるが、次の点が異なる。
【0316】
まず、
図94の動作フローS400Kのデータ取得ステップS410Kでは、ステップS432Gの代わりに、マスクビットストリームBbsから合成制御データC50を抽出する既述のデータ抽出ステップS432が設けられている。なぜならば、切り取り範囲特定データF50は合成システム21Kの内部で生成されるので、マスクビットストリームBbsには切り取り範囲特定データF50が埋め込まれていないからである。
【0317】
また、データ取得ステップS410Kでは、既述の切り取り範囲決定ステップS143が追加されている。当該ステップS143では、切り取り範囲決定部232が、切り取り範囲決定処理を行い、切り取り範囲特定データF50を生成する。
【0318】
実施の形態11によれば、実施の形態9等と同様の効果を得ることができる。特に、実施の形態9とは異なり、切り取り範囲決定処理は合成システム21Kにおいて行われる。このため、供給システム11での演算負荷を増大させることがない。
【0319】
なお、実施の形態11は、実施の形態2等と組み合わせることも可能である。
【0320】
<実施の形態12>
実施の形態7〜11は、上記のように実施の形態2等と組み合わせることも可能である。実施の形態12では、それらの組み合わせのうちで、実施の形態7を実施の形態6と組み合わせた例を説明する。
図95に、実施の形態12に係る供給システム11Lおよび合成システム21Lについて、画像合成の概念図を示す。供給システム11Lおよび合成システム21Lは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
図95を
図52および
図55と比較すれば分かるように、実施の形態12では、供給システム11Lにおいてマスクの切り取りおよび展開を行う。
【0321】
図96に、供給システム11Lのマスクデータ出力部200Lの構成例を示す。ここではマスクデータ出力部200Lは、既述の画像データ出力部100と組み合わされて、供給システム11Lを構成するものとする。
【0322】
図96に示すように、マスクデータ出力部200Lは、マスク生成部210Lと、既述のマスクエンコーダ250とで構成されている。マスク生成部210Lは、実施の形態6に係るマスク生成部210F(
図50参照)と同様に、原マスク生成部220Lと、マスク展開部521とを含んでいる。
【0323】
実施の形態12に係る原マスク生成部220Lは、実施の形態7に係るマスク生成部210G(
図72参照)と同じ構成を有している。すなわち、原マスク生成部220Lは、全体マスク生成部211と、切り取り範囲決定部232と、マスク切り取り部233とを含んでいる。これにより、原マスク生成部220Lは、全体画像に基づいて、第1対象画像の範囲についての原マスクを生成する。
【0324】
そして、マスク展開部521が、当該原マスクに対してマスク展開処理を行うことによって、第1対象画像の範囲についての展開マスクを生成する。生成された展開マスクデータB21は基礎マスクデータB50として、マスクビットストリームBbsによって、マスクデータ出力部200Lから出力される。
【0325】
ここで、マスク切り取り部233は、実施の形態7等と同様に、全体マスクデータB10のうちで切り取り範囲83内のデータを、基礎マスクデータ用に切り取る。但し、実施の形態7等とは異なり、切り取られたデータは上記のようにマスク展開処理に供されるので、当該切り取られたデータがそのまま基礎マスクデータB50になるわけではない。
【0326】
図97に、合成システム21Lの合成部500Lの構成例を示す。ここでは、合成部500Lは、実施の形態7に係る画像デコーダ300およびマスクデコーダ400G(
図73参照)と組み合わされて、合成システム21Lを構成するものとする。合成部500Lは、実施の形態7に係る合成部500G(
図74参照)と基本的には同様であるが、次の点が異なる。合成実行部520の代わりに、マスク展開部521を有さない合成実行部520F(実施の形態6に係る
図51を参照)が設けられている。
【0327】
図98に、供給システム11Lの動作を説明するフローチャートを示す。
図98の動作フローS100Lは、実施の形態7に係る動作フローS100G(
図75参照)と基本的には同様であるが、次の点が異なる。基礎マスク生成ステップS122Gに代えて、基礎マスク生成ステップS122Lが設けられている。
【0328】
基礎マスク生成ステップS122Lは、実施の形態6に係る基礎マスクステップS122F(
図53参照)と同様に、原マスク生成ステップS131Lと、マスク展開ステップS132とに大別される。実施の形態12に係る原マスク生成ステップS131Lは、実施の形態7に係る全体マスク生成ステップS141およびマスク切り取りステップS142(
図75参照)で構成されている。マスク展開ステップS132は既述の通りである。
【0329】
図99に、合成システム21Lの動作を説明するフローチャートを示す。
図99の動作フローS400Lは、実施の形態7に係る動作フローS400G(
図76参照)と基本的には同様であるが、次の点が異なる。合成実行ステップS450に代えて、合成実行ステップS450Lが設けられている。合成実行ステップS450Lでは、合成実行ステップS450から、マスク展開ステップS451が削除されている。
【0330】
実施の形態12によれば、実施の形態6,7と同様の効果を得ることができる。なお、実施の形態12では、実施の形態7を実施の形態6と組み合わせた例を説明したが、実施の形態6は他の実施の形態とも組み合わせ可能である。
【0331】
<実施の形態7〜12の変形例>
実施の形態7〜12では第2基礎画像は第1対象画像および第2対象画像よりも大きいものとした。しかし、第2基礎画像自体が第1対象画像および第2対象画像と同じ大きさであってもよい。この場合、第2画像切り取り部550を削除してもよい。但し、第2画像切り取り部550が設けられていることによって、様々な大きさの第2基礎画像に対応でき、利便性が向上する。
【0332】
<実施の形態13>
上記のように、分解レベル1において最低域の帯域成分LL1は、原画像に対する縮小比が1/2の画像(換言すれば、画像サイズが1/4の画像)を提供可能である。最低域の帯域成分LLを再帰的に分解する方式によれば、分解レベル2の帯域成分LL2は、分解前の帯域成分LL1によって提供される画像に対する縮小比が1/2の画像を提供可能であり、したがって原画像に対する縮小比が1/4(=1/2
2)の画像を提供可能である。
【0333】
一般化するならば、分解レベルmにおける最低域の帯域成分LLmは、原画像に対する縮小比が1/2
mの画像を提供可能である(
図100参照)。なお、上記のようにウエーブレット変換が行われていない状態の原画像を分解レベル0に対応させることによって、mは0以上の整数である。
【0334】
逆に考えると、原画像を1/2
mで縮小した場合の画像サイズは、原画像を分解レベルmまで分解した場合の最低域の帯域成分LLmによって提供される画像サイズと等しい。このため、1/2
mの縮小画像のサイズを、分解レベルm相当の画像サイズと表現してもよい。なお、画像サイズについての当該表現は、縮小画像を、原画像と同じ画像サイズを有する他の画像と比較する場合にも使える。
【0335】
上記の点に鑑みると、
図100の概念図に示すように、逆ウエーブレット変換の回数によって、合成画像の画像サイズを制御可能である。
図101に、実施の形態13に係る逆ウエーブレット変換部530Mを説明するブロック図を示す。逆ウエーブレット変換部530Mは、逆ウエーブレット変換部530(
図13等参照)に代えて、実施の形態1〜6に適用可能である。
【0336】
逆ウエーブレット変換部530Mは、逆ウエーブレット変換処理ステップ(
図25のステップS460を参照)において、合成済み係数データE61に対して、分解レベルが所定の終了レベルになるまで逆ウエーブレット変換を行い、逆ウエーブレット変換後のデータのうちで最低域の帯域成分LLを合成画像データE80に設定する。逆ウエーブレット変換の終了レベル、換言すれば合成画像の画像サイズは、画像サイズ制御データC60によって、逆ウエーブレット変換部530Mに指示される。ここでは、画像サイズ制御データC60は、合成システムに、当該合成システムのユーザによって入力されるものとする。但し、画像サイズ制御データC60は、合成制御データC50と同様に、供給システムから供給されてもよい(
図3,
図38、
図45、
図49参照)。
【0337】
画像サイズ制御データC60は、例えば、逆ウエーブレット変換の終了レベルを直接的に示す数値である。あるいは、画像サイズ制御データC60は、逆ウエーブレット変換の終了レベルを導出可能なデータであってもよい。逆ウエーブレット変換の終了レベルを導出可能なデータの例として、逆ウエーブレット変換の回数を示す数値、原画像サイズに対する縮小比を示す数値、等が挙げられる。
【0338】
逆ウエーブレット変換の終了レベルは、分解レベル0以上、且つ、合成済み係数データE61の分解レベル(すなわち、合成制御データC50によって指定された分解レベル)以下の範囲で設定可能である。逆ウエーブレット変換の終了レベルが分解レベル0に設定された場合、実施の形態1〜6と同様に、原画像サイズの合成画像を得ることができる。換言すれば、実施の形態1〜6は逆ウエーブレット変換の終了レベルが0に固定された例であり、本実施の形態13は逆ウエーブレット変換の終了レベルを可変にした例である。他方、逆ウエーブレット変換の終了レベルが合成済み係数データE61の分解レベルと同じレベルに設定された場合、逆ウエーブレット変換は行われず、合成済み係数データE61中の最低域の帯域成分LLが合成画像データE80として抽出される。
【0339】
実施の形態13によれば、合成画像の画像サイズを制御することができ、原画像と同じサイズだけでなく原画像よりも小さいサイズの合成画像を得ることができる。
【0340】
<実施の形態14>
実施の形態14では、実施の形態13とは異なる手法によって、合成画像の画像サイズを制御する例を説明する。
図102に、実施の形態14に係る画像合成の概念図を示す。
図102によれば、第1基礎画像はそのまま第1対象画像として利用され、第1対象画像から第1ウエーブレット係数データが生成される。ここでは、第1ウエーブレット係数データの分解レベルが3である例を挙げる。
【0341】
他方、第2基礎画像の全体が縮小され、その縮小画像が第2対象画像として利用される。
図102の例では、第2基礎画像は第1基礎画像と同じ大きさおよび形状を有し(換言すれば、第2基礎画像は第1基礎画像と合同である)、第2基礎画像の全体が1/2の縮小比で以て縮小される。すなわち、第2基礎画像および第1基礎画像に対する第2対象画像の縮小比は、1/2である。換言すれば、第2対象画像の画像サイズは、第2基礎画像および第1基礎画像に対して1/4である。
【0342】
そして、第2対象画像から第2ウエーブレット係数データが生成される。ここでは、第2ウエーブレット係数データの分解レベルは2であり、第1ウエーブレット係数データの分解レベル(=3)よりも1レベル低い。
【0343】
次に、第1ウエーブレット係数データと第2ウエーブレット係数データとが、実施の形態1と同様に合成される。但し、第1対象画像と第2対象画像との画像サイズが異なるので、画像サイズの小さい第2対象画像の範囲に合わせて、換言すれば第2ウエーブレット係数データの範囲に合わせて、合成が行われる。すなわち、第1ウエーブレット係数データの一部(第2ウエーブレット係数データに対応する部分)と、第2ウエーブレット係数データの全体とが、係数合成処理に利用される。
図102の例では、第1ウエーブレット係数データの上記一部とは、第1ウエーブレット係数データのうちで、最も分解された帯域成分(すなわち最上位帯域成分)LL3,HL3,LH3,HH3と、最上位帯域成分よりも1レベル低い帯域HL2,LH2,HH2である。
【0344】
このような合成によって、第2ウエーブレット係数データと同じ分解レベル(ここでは分解レベル2)の合成済み係数データが生成される。そして、合成済み係数データに対して、分解レベル0まで逆ウエーブレット変換を行うことによって、合成画像データが生成される。この合成画像データによれば、第2対象画像と同じ大きさおよび形状を有する合成画像、換言すれば第2基礎画像および第1基礎画像に対する縮小比が1/2の合成画像が提供される。
【0345】
図103に、第2基礎画像に対する第2対象画像の縮小比が1/4(=1/2
2)である例を示す。
図103においても、第1基礎画像はそのまま第1対象画像として利用され、第1対象画像から分解レベル3の第1ウエーブレット係数データが生成される。他方、第2対象画像から分解レベル1の第2ウエーブレット係数データが生成される。この場合、第2ウエーブレット係数データの分解レベル(=1)は、第1ウエーブレット係数データの分解レベル(=3)よりも2レベル低い。
【0346】
次に、第1ウエーブレット係数データ(
図103の例では、第1ウエーブレット係数データのうちで最上位帯域成分LL3,HL3,LH3,HH3)と、第2ウエーブレット係数データとが合成される。
【0347】
このような合成によって、第2ウエーブレット係数データと同じ分解レベル(ここでは分解レベル1)の合成済み係数データが生成される。そして、合成済み係数データに対して、分解レベル0まで逆ウエーブレット変換を行うことによって、合成画像データが生成される。この合成画像データによれば、合成画像は、第2対象画像と同じ画像サイズで以て、換言すれば第2基礎画像および第1基礎画像に対して縮小比1/4(=1/2
2)で以て提供される。
【0348】
図104に、第1ウエーブレット係数の分解レベルが4であり、第2基礎画像に対する第2対象画像の縮小比が1/2である例を示す。この場合、第2ウエーブレット係数データの分解レベルは3であり、第1ウエーブレット係数データの分解レベル(=4)よりも1レベル低い。
図104の場合、第1ウエーブレット係数データのうちで、最上位帯域成分LL4,HL4,LH4,HH4から、最上位帯域成分よりも2レベル低い帯域HL2,LH2,HH2までの範囲のデータが、合成に利用される。そして、合成画像は、第2対象画像と同じ画像サイズで以て、換言すれば第2基礎画像および第1基礎画像に対して縮小比1/2で以て提供される。
【0349】
図102〜
図104から分かるように、第2対象画像の画像サイズを制御することによって、合成画像の画像サイズに制御できる。
図102〜
図104の例から、次の知見が得られる。
【0350】
第2対象画像は第1対象画像と相似形を成し、第1対象画像に対する第2対象画像の相似比は1未満である。なお、1未満の相似比を縮小比と呼んでもよい。第2ウエーブレット係数データの分解レベルは、第1ウエーブレット係数データの分解レベルと上記相似比とに応じて決まる。すなわち、第1ウエーブレット係数データの分解レベルをP1とし、第2ウエーブレット係数データの分解レベルをP2とし、第1対象画像に対する第2対象画像の相似比を1/2
P3とした場合、P2=P1−P3が成り立つ。ここではP1,P2,P3は自然数である。
【0351】
また、上記のように、係数合成処理は第2ウエーブレット係数データの範囲に合わせて行われる。このため、第1ウエーブレット係数データについては、最上位帯域成分から数えて所定のレベル数の範囲の帯域成分データが利用され、当該所定のレベル数は第2ウエーブレット係数データの分解レベルを表す数値で与えられる。
【0352】
係数合成処理は第2ウエーブレット係数データの範囲に合わせて行われるので、合成済み係数データの分解レベルは第2ウエーブレット係数データと同じになる。合成済み係数データに対して、分解レベル0まで逆ウエーブレット変換を行うことによって、第2対象画像と同じ画像サイズの合成画像が得られる。
【0353】
図105に、上記知見を実施の形態1に応用した例について、合成部500Nのブロック図を示す。合成部500Nは、実施の形態1に係る合成部500(
図13参照)に画像縮小部570が追加された構成を有する。画像縮小部570は、第2基礎画像データD50を取得し、第2基礎画像を縮小することによって、第1対象画像と相似形を成す第2対象画像を生成する。生成された第2対象画像データD60は、ウエーブレット変換部510に供給される。
【0354】
例えば、第2基礎画像を1/2
P3に縮小する場合、画像縮小部570は、第2基礎画像データD50に対するウエーブレット変換を、最低域の帯域成分LLを再帰的に分解する方式によって、分解レベルP3まで行う。そして、画像縮小部570は、分解レベルP3における最低域の帯域成分LLを、第2対象画像データD60として抽出する。
【0355】
あるいは、平均フィルタを利用した一般的な画像縮小処理によって第2対象画像を生成するように、画像縮小部570を構成してもよい。その場合、1/2の縮小をP3回行ってもよいし、一度に1/2
P3の縮小を行ってもよい。
【0356】
第2対象画像の画像サイズ、換言すれば合成画像の画像サイズは、画像サイズ制御データC70によって、画像縮小部570に指示される。ここでは、画像サイズ制御データC70は、合成システムに、当該合成システムのユーザによって入力されるものとする。但し、画像サイズ制御データC70は、合成制御データC50と同様に、供給システムから供給されてもよい(
図3,
図38、
図45、
図49参照)。
【0357】
ここでは説明を分かりやすくするために、画像サイズ制御データC70が、第1対象画像に対する第2対象画像の相似比を上記のように1/2
P3と表現した場合におけるP3の値とする。あるいは、画像サイズ制御データC70は、P3の値を導出可能なデータであってもよい。P3の値を導出可能なデータの例として、上記相似比(1/2
P3)の値等が挙げられる。
【0358】
画像サイズ制御データC70は、ウエーブレット変換部510にも供給される。ウエーブレット変換部510は、既述の合成制御データC50から、第1ウエーブレット係数データA61に対する指定の分解レベル、すなわち上記P1の値を取得可能である。これにより、ウエーブレット変換部510は、合成制御データC50および画像サイズ制御データC70から得られたP1およびP3に基づいて、第2ウエーブレット係数データD61の分解レベルP2(=P1−P3)を算出する。そして、ウエーブレット変換部510は、得られたP2が示す分解レベルまで、第2対象画像データD60に対してウエーブレット変換を行う。
【0359】
画像サイズ制御データC70は、
図105の例では合成実行部520にも供給され、第1ウエーブレット係数データA61のうちで係数合成処理に供する範囲を特定するために利用される。第1ウエーブレット係数データA61のうちの当該範囲は、上記のように第2ウエーブレット係数データの分解レベルP2を表す数値に応じて決まる。
図105の例では、合成実行部520がP2の値を算出するものとする。但し、合成実行部520がウエーブレット変換部510から、算出済みのP2の値を取得してもよい。その場合、合成実行部520に対する画像サイズ制御データC70の供給を省略可能である。
【0360】
画像サイズ制御データC70は、逆ウエーブレット変換部530にも供給され、逆ウエーブレット変換の回数を設定するために、換言すれば合成済み係数データE61の分解レベルを知るために利用される。
【0361】
図106に、合成部500Nを実施の形態1に適用した場合の合成システムの動作を説明するフローチャートを示す。
図106の動作フローS400Nは基本的には実施の形態1に係る動作フローS400(
図25参照)と同様であるが、データ取得ステップS410の代わりに、ステップS490が追加されたデータ取得ステップS410Nが設けられている。ステップS490では、画像縮小部570が第2基礎画像を縮小することによって第2対象画像を生成する。動作フローS400Nのその他のステップは基本的には、
図25の動作フローS400と同様である。
【0362】
なお、第2対象画像のサイズを制御する画像サイズ制御データC70を、供給システムから取得しない場合、
図109の例とは違えて、ステップS490PをステップS411,S422,S432,S433と並列に実行することも可能である。
【0363】
実施の形態14によれば、合成画像の画像サイズを制御することができ、原画像よりも小さいサイズの合成画像を得ることができる。なお、合成部500Nは、合成部500等に代えて、実施の形態2〜6,13にも適用可能である。
【0364】
ここで、上記では第2基礎画像の全体を縮小することによって、第2対象画像を生成するものとした。但し、第2対象画像が第1対象画像と相似形であるという要件を満たす限り、第2基礎画像の一部分を縮小することによって、第2対象画像を生成することも可能である。同様に、縮小前の第2基礎画像は、第1対象画像と相似形でなくてもよい。第2基礎画像が第1対象画像と相似形ではなく且つ第2基礎画像の全体を縮小する場合、第2基礎画像の横方向および縦方向の縮小比を異ならせればよい。
【0365】
また、上記では、第1対象画像に対する第2対象画像の相似比を1未満とした。すなわち、当該相似比を1/2
P3と表現した場合のP3が自然数であるとした。しかし、相似比が1(このときP3は0)の場合、すなわち第2対象画像が第1対象画像と合同である場合にも、合成部500Nを利用可能である。
【0366】
例えば、第2基礎画像が第1基礎画像および第1対象画像と合同であり、且つ、画像サイズ制御データC70によって与えられるP3の値が0である場合、画像縮小部570は、第2基礎画像を縮小せずに、ウエーブレット変換部510に供給すればよい。この場合、実施の形態1〜6と同様に、原画像サイズの合成画像を得ることができる。換言すれば、実施の形態1〜6は、第1対象画像に対する第2対象画像の相似比を1である場合に特化した例である。これに対し、実施の形態14によれば、当該相似比が1以下において対応可能である。
【0367】
<実施の形態15>
実施の形態14では、第2基礎画像の少なくとも一部分を縮小することによって、第1対象画像と相似形を成す第2対象画像を生成する(
図102〜
図104参照)。これに対し、実施の形態15では、
図107に示すように、第2基礎画像の一部分を、第1対象画像と相似形を成す第2対象画像として切り取る例を説明する。すなわち、第2対象画像が第1対象画像と相似形であるという要件を満たす限り、切り取りによって第2対象画像を生成することも可能である。
【0368】
図108に、実施の形態15に係る合成部500Pのブロック図を示す。合成部500Pは、実施の形態14に係る合成部500N(
図105参照)において画像縮小部570の代わりに第2画像切り取り部570Pを設けた構成を有する。合成部500Pのその他の構成は、実施の形態14に係る合成部500Nと同様である。
【0369】
第2画像切り取り部570Pは、第2基礎画像データD50を取得し、第2基礎画像中に、上記相似比(すなわち第1対象画像に対する第2対象画像の相似比)で以て第1対象画像と相似形を成す相似形範囲を設定し、第2基礎画像データD50のうちで当該相似形範囲内のデータを第2対象画像データD60として切り取る。生成された第2対象画像データD60は、ウエーブレット変換部510に供給される。
【0370】
第2対象画像の画像サイズ、換言すれば合成画像の画像サイズは、画像サイズ制御データC70によって、第2画像切り取り部570Pに指示される。また、実施の形態15では、画像サイズ制御データC70が、第2対象画像として切り取る上記相似形範囲の位置を指示するデータも含むものとする。
【0371】
図109に、合成部500Pを実施の形態1に適用した場合の合成システムの動作を説明するフローチャートを示す。
図109の動作フローS400Pでは、実施の形態14に係る動作フローS400N(
図106参照)と比較すれば分かるように、データ取得ステップS410Nの代わりにデータ取得ステップS410Pが設けられ、ステップS490の代わりにステップS490Pが設けられている。ステップS490Pでは、第2画像切り取り部570Pが、上記のように第2基礎画像データD50から第2対象画像データD60を切り取る。動作フローS400Pのその他のステップは
図106の動作フローS400Nと同様である。
【0372】
なお、第2対象画像のサイズを制御する画像サイズ制御データC70を、供給システムから取得しない場合、
図109の例とは違えて、ステップS490PをステップS411,S422,S432,S433と並列に実行することも可能である。
【0373】
実施の形態15によれば、合成画像の画像サイズを制御することができ、原画像よりも小さいサイズの合成画像を得ることができる。なお、合成部500Pは、合成部500等に代えて、実施の形態2〜6,13にも適用可能である。
【0374】
なお、実施の形態14と同様に、相似比が1未満である場合だけでなく1以下の場合にも、合成部500Pを利用可能である。例えば、第2基礎画像が第1基礎画像および第1対象画像と合同であり、且つ、画像サイズ制御データC70によって与えられるP3の値が0である場合、第2画像切り取り部570Pは第2基礎画像を、切り取りを行わずに、ウエーブレット変換部510に供給すればよい。この場合、実施の形態1〜6と同様に、原画像サイズの合成画像を得ることができる。
【0375】
<実施の形態16>
図110に、実施の形態16に係る画像合成の概念図を示す。ここでは、実施の形態16に係る供給システム11Qは、実施の形態1に係る合成システム21と組み合わされるものとする。供給システム11Qは、実施の形態1に係る供給システム11に代えて、画像処理システム1,10等に適用可能である。
【0376】
また、
図111に、実施の形態16に係るマスクデータ出力部200Qのブロック図を示す。ここでは、マスクデータ出力部200Qが、実施の形態1に係る供給システム11においてマスクデータ出力部200の代わりに適用されるものとする。マスクデータ出力部200Qは、マスク生成部210Qと、既述のマスクエンコーダ250とを含んでいる。マスク生成部210Qは、小画像生成部241と、小マスク生成部242と、マスク拡大部243とを含んでいる。
【0377】
<小画像生成部241>
小画像生成部241は、全体画像データA10を取得し、全体画像を縮小して小画像を生成する(
図110参照)。ここでは、小画像生成部241が全体画像の1/2
Rの縮小比で小画像を生成する例を挙げる(Rは自然数)。なお、縮小比1/2
Rは固定されていてもよいし、あるいは変更可能であってもよい。
【0378】
例えば、小画像生成部241は、全体画像データA10に対するウエーブレット変換を、最低域の帯域成分LLを再帰的に分解する方式によって、分解レベルRまで行う。そして、小画像生成部241は、分解レベルRにおける最低域の帯域成分LLを、小画像のデータのデータである小画像データA30として抽出する。
【0379】
あるいは、平均フィルタを利用した一般的な画像縮小処理によって小画像を生成するように、小画像生成部241を構成してもよい。その場合、1/2の縮小をR回行ってもよいし、一度に1/2
Rの縮小を行ってもよい。
【0380】
<小マスク生成部242>
小マスク生成部242は、小画像生成部241から小画像データA30を取得し、小画像を対象にしたマスクである小マスクを生成する(
図110参照)。小マスク生成部242は、既述の全体マスク生成部211(
図3参照)と同様に構成可能である。すなわち、マスク生成対象の画像サイズが異なるだけなので、同じマスク生成技術を利用可能である。
【0381】
<マスク拡大部243>
マスク拡大部243は、小マスク生成部242から小マスクのデータである小マスクデータB31を取得し、小マスクを全体画像と同じ画像サイズに拡大して拡大マスクを生成する(
図110参照)。実施の形態16では、拡大マスクのデータである拡大マスクデータB32が基礎マスクデータB50として、マスク生成部210Qから出力される。
【0382】
ここでは、マスク拡大部243が、小マスクに対して、拡大比2の拡大処理をR回行うことによって、拡大マスクを生成する例を挙げる。そのようなマスク拡大処理を説明するフローチャートを
図112に示す。
図112の処理フローS600によれば、ステップS602において拡大比2の拡大処理が実行される。拡大比2の拡大処理が所定回数(ここではR回)実行済みであるとステップS601において判別されるまで、ステップS602が実行される。
【0383】
図113に、拡大比2の拡大処理について説明図を示す。
図113によれば、拡大前のマスクにおいてi番目(iは整数)のデータがROIに対応する場合、拡大比2で拡大した後のマスクにおいて{2i−1}番目から{2i+1}番目までのデータがROIに対応すると推定する。
【0384】
図113の推定規則を2次元に発展させると、
図114に示すように、マスク画像の縦方向および横方向のそれぞれに
図113の推定規則が適用される。具体的には、拡大前のマスクにおいて座標(I,J)の点のデータがROIに対応する場合、1段階(すなわち拡大比2
1)拡大した後のマスクにおいて座標(2I,2J)を中心にした3×3点の範囲のデータがROIに対応すると推定する。換言すれば、座標(2I−1,2J−1)および座標(2I+1,2J+1)を対角点とする矩形範囲のデータをROIに対応付ける。同様に、2段階(すなわち拡大比2
2)拡大した後のマスクでは、座標(4I,4J)を中心にした5×5点の範囲、換言すれば、座標(4I−2,2J−2)および座標(2I+2,2J+2)を対角点とする矩形範囲のデータがROIに対応付ける。
図115に、より具体的な図を例示する。
【0385】
なお、
図112の処理フローS600とは違えて、一度に1/2
Rの拡大を行うことも可能である。
【0386】
<平滑化処理>
拡大処理後に、マスク画像に対して平滑化処理を行ってもよい。マスク画像は2値画像であるので、2値画像の平滑化処理を利用可能である。例えば、膨張(Dilation)と収縮(Erosion)とを数回組み合わせて行う処理であるモフォロジー処理がある。なお、膨張とは、注目画素を中心にした周辺領域内に1画素でも白い画素があれば、その注目画素を白に置き換える処理である。逆に収縮とは、周辺領域内に1画素でも黒い画素があれば、注目画素を黒に置き換える処理である。周辺領域として3×3、5×5、7×7等の範囲が設定される。モフォロジー処理によれば、マスク画像を平滑化する(ギザギザ形状を減らして滑らかにする)ことができ、さらに孤立点除去(換言すれば、穴埋め)等にも有効である。
【0387】
マスク拡大部243は、R回の拡大処理のうちの少なくとも1回の終了時点で、拡大後のマスクに対して平滑化処理を行う。
図116の処理フローS600Bによれば、R回目の(すなわち最後の)拡大処理の後に、平滑化処理ステップS603が行われる。また、
図117の処理フローS600Cによれば、毎回の拡大処理の後に、平滑化処理ステップS603が行われる。但し、平滑化処理ステップS603の実行タイミングおよび実行回数は、
図116および
図117の例に限定されるものではない。
【0388】
図118に、平滑化処理を行わない場合(
図112参照)について、全体画像と同じ画像サイズに拡大された拡大マスクを例示する。また、
図118の拡大マスクに対して膨張処理を2回行った場合の拡大マスクを、
図119に示す。また、
図119の拡大マスクに対して収縮処理を2回行った場合の拡大マスクを、
図120に示す。なお、
図119および
図120は
図116の処理フローS600Bによって生成された拡大マスクであり、膨張処理および縮小処理の上記周辺領域として7×7の範囲を設定した。
図120によれば、
図118に比べてギザギザ形状が平滑化されていることが分かる。
【0389】
<供給システム11Qの動作>
図121に、供給システム11Qの動作を説明するフローチャートを示す。
図121の動作フローS100Qによれば、
図9の動作フローS100において、基礎マスク生成ステップS122の代わりに、基礎マスク生成ステップS122Qが設けられている。
【0390】
基礎マスク生成ステップS122Qによれば、ステップS161において小画像生成部241が全体画像を縮小して小画像を生成し、ステップS162において小マスク生成部242が小画像を対象にした小マスクを生成する。そして、ステップS163において、マスク拡大部243が、小マスクを全体画像と同じ画像サイズに拡大して拡大マスクを生成する。なお、ステップS163に、平滑化処理を採用してもよい。
【0391】
マスク拡大部243によって生成された拡大マスクは、その後、基礎マスクとして処理される。すなわち、次のステップS123では、拡大マスクデータB32が符号化されて、マスクビットストリームBbsが生成される。
【0392】
なお、供給システム11Qでは、
図110に示すように、全体画像が第1基礎画像として合成システム21へ出力され、小画像は合成システム21へ出力されない。
【0393】
ここでは、上記のように、供給システム11Qは、実施の形態1に係る合成システム21と組み合わされるものとする。すなわち、合成システム21は、実施の形態1に係る動作フローS400(
図25参照)に従って動作するものとする。
【0394】
<効果>
実施の形態16によれば、全体画像ではなく、小画像を対象にしてマスクを生成する。このため、全体画像を対象にしたマスク生成に比べて、マスク生成に要する演算量を削減できる。なお、上記例とは違えて、縮小比を1/2
R以外の値に設定することも可能であり、その場合も同様の効果が得られる。
【0395】
また、平滑化処理を採用することによって、小マスクの拡大に伴って生じる、ROI対応部分の輪郭のギザギザ形状を滑らかにすることができる。例えば全体画像中のROIが、人の外形のように曲線で設定される場合、マスクのROI対応部分を滑らかな曲線で形成できる。その結果、合成画像においてROIを滑らかな外形を表示できる。
【0396】
ここで、実施の形態16においても、ウエーブレット平面によって、すなわち画像合成は第1ウエーブレット係数データおよび第2ウエーブレット係数データによって、行われる。このため、ROIおよびROI対応部分がギザギザ形状であっても、第1対象画像データおよび第2対象画像データをそのまま合成する場合に比べて、良好な合成画像が得られる。したがって、平滑化処理を採用することによって、さらに良好な合成画像が得られる。平滑化処理を採用するか否かは、システムの演算量、合成画像に求められる滑らかさ、等を考慮して決めればよい。
【0397】
なお、実施の形態16において、実施の形態1と同様の構成に関しては、実施の形態1と同様の効果が得られる。また、実施の形態16は実施の形態2〜15とも組み合わせ可能である。
【0398】
<実施の形態17>
図122に、実施の形態17に係る供給システム11Rおよび合成システム21Rについて、画像合成の概念図を示す。供給システム11Rおよび合成システム21Rは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
図122を
図110と比較すれば分かるように、実施の形態17では、供給システム11Rは小マスクを基礎マスクとして出力し、合成システム21Rが小マスクを拡大して対象マスクを生成する。
【0399】
図123および
図124に、実施の形態17に係るマスクデータ出力部200Rおよび合成部500Rのブロック図を示す。ここでは、マスクデータ出力部200Rが、実施の形態1に係る供給システム11においてマスクデータ出力部200の代わりに適用されるものとする。同様に、合成部500Rが、実施の形態1に係る合成システム21において合成部500の代わりに適用されるものとする。
【0400】
図123に示すように、マスクデータ出力部200Rは、マスク生成部210Rと、既述のマスクエンコーダ250とを含んでいる。マスク生成部210Rは、実施の形態16に係るマスク生成部210Q(
図111参照)からマスク拡大部243が削除された構成を有する。これに伴い、小マスクデータB31が基礎マスクデータD50として、マスク生成部210Rから出力される。
【0401】
これに対し、合成部500Rは、
図124に示すように、既述の合成部500(
図13参照)にマスク拡大部243が追加された構成を有する。より具体的には、マスク拡大部243は、小マスクデータB31を基礎マスクデータB50として取得し、小マスクを第1対象画像の画像サイズに拡大することによって拡大マスクを生成する。そして、マスク拡大部243は、拡大マスクデータB32を対象マスクデータB60として合成実行部520に供給する。
【0402】
図125に、供給システム11Rの動作を説明するフローチャートを示す。
図125の動作フローS100Rによれば、実施の形態16に係る動作フローS100Q(
図121参照)において、基礎マスク生成ステップS122Qの代わりに、基礎マスク生成ステップS122Rが設けられている。基礎マスク生成ステップS122Rは、
図121の基礎マスク生成ステップS122Qから、マスク拡大ステップS163が削除された構成を有する。
【0403】
これにより、ステップS162で生成された小マスクは、基礎マスクとしてマスクエンコーダ250に供給され、ステップS123において符号化されてマスクビットストリームBbsを形成する。なお、小マスクの縮小比のデータが小マスクデータB31と共に合成システム21Rに供給されるものとするが、この例に限定されるものではない。
【0404】
ここで、供給システム11Rでは、
図122に示すように、全体画像が第1基礎画像として出力される。このため、基礎マスクである小マスクは、第1基礎画像の縮小画像に対応するマスクである。なお、供給システム11Rにおいても、小画像は合成システム21Rへ出力されない。
【0405】
図126に、合成システム21Rの動作を説明するフローチャートを示す。
図126の動作フローS400Rによれば、実施の形態1に係る動作フローS400(
図25参照)において、データ取得処理ステップS410の代わりに、データ取得処理ステップS410Rが設けられている。データ取得処理ステップS410Rは、
図25のデータ取得処理ステップS410RにおいてステップS433の次にマスク拡大ステップS163が追加された構成を有する。
【0406】
ステップS163では、マスク拡大部243が上記のように、基礎マスクとして取得した小マスクを第1対象画像の画像サイズに拡大し、当該拡大マスクを対象マスクとして合成実行部520に供給する。
【0407】
実施の形態17によれば、基礎マスクは小マスクであるので、基礎マスクのデータ量を削減でき、よって通信量を削減できる。マスクは2値画像であるのでマスクの各画素に1ビットを割り当てた場合、例えばXGA(eXtended Graphics Array)のマスクは、{1024×768画素}×1bit=786432bit=96Kbyteのデータサイズを有することになる。これに対し、縮小比1/2の小マスクによれば、データサイズは1/4の24Kbyteにできる。同様に、縮小比1/2
2によればデータサイズは6Kbyteにでき、縮小比1/2
3によればデータサイズは1.5Kbyteにできる。なお、例えば縮小比1/2
3の場合、小マスクの画像サイズは128×96画素になる。
【0408】
このように基礎マスクのデータサイズを削減可能である点に鑑みると、基礎マスクデータを符号化せずに伝送することも現実的である。その場合、符号化および復号化に関わる演算量を削減できる。
【0409】
図127に、基礎マスクデータを符号化せずに伝送する場合について、供給システム11RBおよび合成システム21RBの構成例を示す。供給システム11RBのマスクデータ出力部200RBは、
図123のマスクデータ出力部200Rにおいてマスクエンコーダ250の代わりに、マスクビットストリーム生成部250RBを設けた構成を有する。他方、合成システム21RBでは、マスクデコーダ(
図3のマスクデコーダ400を参照)の代わりに、マスクデータ復元部400RBが設けられている。
【0410】
マスクビットストリーム生成部250RBは、符号化を行わないビットストリーム生成仕様に従って、基礎マスクデータB50(ここでは小マスクデータB31)のビットストリームをマスクビットストリームBbsとして生成する。他方、マスクデータ復元部400RBは、復号化を行わないデータ復元仕様に従って、マスクビットストリームBbsから基礎マスクデータB50(ここでは小マスクデータB31)を復元する。
【0411】
なお、
図127の構成は
図3の構成を利用しているので、マスクビットストリーム生成部250RBがマスクビットストリームBbsに合成制御データC50を埋め込み、マスクデータ復元部400RBがマスクビットストリームBbsから合成制御データC50を抽出する。
【0412】
実施の形態17において、実施の形態1と同様の構成に関しては、実施の形態1と同様の効果が得られる。また、実施の形態17は実施の形態2〜5,7,8,13〜15とも組み合わせ可能である。
【0413】
<実施の形態18>
実施の形態18では、実施の形態17と実施の形態7との組み合わせ例を説明する。実施の形態17では、
図122に示したように、全体マスクではなく、小マスクを合成システムに供給する。また、実施の形態7では、
図55に示したように、全体マスクのうちでROI対応部分を含む一部分だけを合成システムに供給する。そして、本実施の形態18では、
図128の概念図に示すように、小マスクのうちでROI対応部分を含む一部分だけを合成システムに供給する。
【0414】
<システムの構成例>
図129および
図130に、実施の形態18に係るマスクデータ出力部200Sおよび合成部500Sのブロック図を示す。ここでは、マスクデータ出力部200Sが実施の形態7に係る供給システム11Gにおいてマスクデータ出力部200G(
図72参照)の代わりに適用され、それにより実施の形態18に係る供給システム11S(
図128参照)が構成されるものとする。同様に、合成部500Sが実施の形態7に係る合成システム21Gにおいて合成部500G(
図73および
図74参照)の代わりに適用され、それにより実施の形態18に係る合成システム21S(
図128参照)が構成されるものとする。
【0415】
図129に示すように、マスクデータ出力部200Sは、マスク生成部210Sと、既述のマスクエンコーダ250とを含んでいる。マスク生成部210Sは、基本的には、マスクデータ出力部200G(
図72参照)において全体マスク生成部211の代わりに、既述の小画像生成部241と小マスク生成部242とマスク拡大部243とを設けた構成を有する。但し、小マスクに対して切り取り範囲を決定するように変形された切り取り範囲決定部232Sが、既述の切り取り範囲決定部232の代わりに設けられている。
【0416】
図130に示すように、合成部500Sは、合成部500(
図74参照)にマスク拡大部244を追加した構成を有する。マスク拡大部244は実施の形態17に係るマスク拡大部243と同様に動作する。具体的には、マスク拡大部244は、部分マスク(すなわち供給システム11Sで切り取られた小マスクの一部分)のデータを基礎マスクデータB50として取得する。マスク拡大部244は、当該部分マスクを第1対象画像の画像サイズに拡大することによって拡大マスクを生成する。そして、マスク拡大部244は、拡大マスクデータB32を対象マスクデータB60として合成実行部520に供給する。
【0417】
<切り取り範囲決定部232S>
図129に加え
図131を参照しつつ、切り取り範囲決定部232Sの動作を説明する。
図131に示すように、切り取り範囲決定処理のフローS500Sは、実施の形態7で説明したステップS501〜S503(
図60参照)を含んでいる。このため、切り取り範囲決定部232Sは、ステップS501〜S503を実行することによって、全体画像における第1対象画像の範囲である切り取り範囲83(
図57参照)を決定する。
【0418】
但し、実施の形態7では最小範囲特定処理のステップS501において、全体マスク70に基づいて最小範囲81を決定するが(
図58参照)、実施の形態18では、全体マスクの代わりに、拡大マスクを利用する。拡大マスクは、全体マスクと同じ画像サイズ(すなわち全体画像と同じ画像サイズ)を有し、小画像生成部241と小マスク生成部242とマスク拡大部243によって生成されて切り取り範囲決定部232Sに供給される。
【0419】
切り取り範囲決定処理のフローS500Sは、
図131に示すように、さらにステップS504を含んでいる。ステップS504において切り取り範囲決定部232Sは、ステップS503の必要範囲特定処理によって特定された切り取り範囲83が、小マスクのどの範囲に対応するのかを特定する処理である小マスク必要範囲特定処理を行う。
【0420】
すなわち、実施の形態7では、全体マスクは全体画像と同じ画像サイズを有するので、ステップS504で特定された切り取り範囲83は全体マスクと全体画像とに共通である。これに対し、実施の形態18では、全体マスクではなく小マスクを切り取るので、ステップS504の小マスク必要範囲特定処理が必要になる。
【0421】
図132に、小マスク必要範囲特定処理の概念図を示す。
図132では縮小比が1/2の小マスク70Sを例示しているが、この例に限定されるものではない。
図132において、符号70aSはROI対応部分を示し、符号70bSは非ROI対応部分を示している。また、符号83Sは、全体画像における切り取り範囲83に対応する、小マスク切り取り範囲を示している。なお、説明を分かりやすくするために、以下では、ステップS503で特定される切り取り範囲83を、画像切り取り範囲83と呼ぶ場合もある。
【0422】
図132から分かるように、小マスク切り取り範囲83Sの左上端座標(AX4,AY4)および右下端座標(BX4,BY4)は、画像切り取り範囲83の左上端座標(AX3,AY3)および右下端座標(BX3,BY3)に対して、次の関係を有する。すなわち、AX4=AX3/2、AY4=AY3/2、BX4=BX3/2、BY4=BY3/2。一般化すれば、AX4、AY4、BX4およびBY4は、AX3、AY3、BX3およびBY3に、全体画像に対する小マスク70Sの縮小比を乗算することによって求められる。
【0423】
ここで、小マスク70Sの縮小比が1/2
Rである場合、上記乗算はビットシフトによって実現可能である。すなわち、AX3の値(より具体的には、AX3の値を示すビット列)をRビット、右シフトすれば、AX4の値が得られる。AY3,BX3,BY3の各値についても同様である。
【0424】
上記処理は、
図133の処理フローS570としてまとめられる。すなわち、ステップS571においてパラメータtに、画像切り取り範囲83のAX3,AY3,BX3,BY3が設定される。ここでは、まず、t=AX3が設定されるとする。次に、ステップS572において、tに小マスク70Sの縮小比が乗算される。上記のように、小マスク70Sの縮小比が1/2
Rである場合、tのビット列がRビット、右シフトされる。そして、演算後のtが、ステップS573において、小マスク切り取り範囲83SのAX4に設定される。同様に、上記ステップS571においてtにAY3,BX3,BY3が設定されることによって、ステップS573においてAY4,BX4,BY4が求められる。
【0425】
図129に示すように、小マスク切り取り範囲83Sを特定するための小マスク切り取り範囲特定データF50Sは、マスク切り取り部233に供給される。マスク切り取り部233は、本実施の形態18では小マスクデータB31を取得し、小マスク切り取り範囲特定データF50Sに基づいて、小マスクデータB31のうちで小マスク切り取り範囲83S内のデータを基礎マスクデータB50用に切り取る。
【0426】
他方、画像切り取り範囲83を特定するための切り取り範囲特定データF50は、実施の形態7と同様に、マスクエンコーダ250に供給され、マスクビットストリームBbSに埋め込まれる。なお、小マスク切り取り範囲特定データF50SもマスクビットストリームBbSに埋め込んで、合成システム21Sに供給してもよい。
【0427】
<システムの動作>
図134に、供給システム11Sの動作を説明するフローチャートを示す。
図134の動作フローS100Sによれば、実施の形態7に係る動作フローS100G(
図75参照)において、基礎マスク生成ステップS122Gの代わりに、基礎マスク生成ステップS122Sが設けられている。基礎マスク生成ステップS122Sは、基礎マスク生成ステップS122G(
図75参照)において全体マスク生成ステップS141の代わりに、既述の小画像生成ステップS161と小マスク生成ステップS162とマスク拡大ステップS163とがこの順序で設けられた構成を有する。
【0428】
図135および
図136に、合成システム21Sの動作を説明するフローチャートを示す。なお、
図135および
図136のフローは結合子Cによって繋がっている。
図135および
図136の動作フローS400Sによれば、実施の形態7に係る動作フローS400G(
図76参照)において、データ取得処理ステップS410Gの代わりに、データ取得処理ステップS410Sが設けられている。データ取得処理ステップS410Sは、
図76のデータ取得処理ステップS410GにおいてステップS433の次にマスク拡大ステップS164が追加された構成を有する。
【0429】
ステップS164では、マスク拡大部244が上記のように、基礎マスクとして取得した部分マスク(すなわち供給システム11Sで切り取られた小マスクの一部分)を第1対象画像の画像サイズに拡大する。当該拡大マスクは対象マスクとして合成実行部520に供給される。
【0430】
<効果>
実施の形態18によれば、基礎マスクのデータ量をさらに削減でき、よって通信量をさらに削減できる。このため、
図127と同様に、マスクエンコーダの代わりにマスクビットストリーム生成部250RBを利用し、マスクデコーダの代わりにマスクデータ復元部400RBを利用してもよい。この場合、符号化および復号化に関わる演算量を削減できる。
【0431】
上記では、実施の形態17と実施の形態7との組み合わせ例を説明した。この例は、実施の形態17と実施の形態8(
図77参照)との組み合わせに変形可能である。具体的には、第1画像切り取り部540(
図130参照)を、合成側システム21Sの合成部500Sから削除し、供給システム11Sの画像データ出力部に追加する(
図78に示した実施の形態8に係る画像データ出力部100Hを参照)。これによれば、
図137の概念図に示すように、全体画像のうちで画像切り取り範囲83の部分を第1基礎画像として、供給システム11SBから合成システム21SBに供給することができる。なお、供給システム11SBおよび合成システム21SBのその他の構成は、ここでは上記の供給システム11Sおよび合成システム21Sと同様である。
【0432】
<実施の形態19>
図138に、実施の形態19に係る画像処理システムのブロック図を示す。
図138では、実施の形態19に係る供給システム11Tが、実施の形態1に係る合成システム21と組み合わされている。供給システム11Tは、実施の形態1に係る供給システム11に代えて、画像処理システム1,10等に適用可能である。供給システム11Tは、実施の形態1に係る供給システム11に合成部700が追加された構成を有している。
【0433】
合成部700は、合成システム21の合成部500と同様の構成を有しており、第1基礎画像データA50(実施の形態1では全体画像データA10と同じである)と、合成制御データC50と、第2基礎画像データD50とを取得する。なお、第2基礎画像データD50は例えば、合成システム21から取得可能である。また、合成部700は、マスク生成部210から基礎マスクデータB50を取得する。これにより、合成部700は、合成部500と同様に動作して、合成画像データE100を生成可能である。
【0434】
合成部700によって生成された合成画像データE100に基づいて、供給システム11Tの側の表示部31(
図2参照)に表示動作を行わせることによって、第1対象画像中のROIと第2対象画像との合成画像を表示できる。このため、例えば、合成システム21にマスクビットストリームBbsを供給する前に、供給システム11Tの側において合成画像を確認することができる。特に、合成制御データC50に応じた合成具合を確認することができる。
【0435】
ここで、合成部700の追加により、供給側装置30(
図2参照)を単独で、画像合成機能を有する画像処理装置として応用可能である。そのような画像処理装置30Tについてハードウェア構成例を、
図139に示す。
【0436】
図139によれば、画像処理装置30Tは、画像処理システム90と、表示部31と、操作部32とを含んでいる。なお、供給側装置30に倣って、画像処理装置30TはI/F33と画像入力部34との一方または両方を含んでもよい。画像処理システム90は画像合成システム91を含み、画像合成システム91は、既述のマスク生成部210と、合成部700と、半導体メモリ(以下、メモリとも呼ぶ)800とを含んでいる。マスク生成部210と、合成部700と、メモリ800とは、バス(有線の通信媒体の一例である)を介して繋がっている。画像処理システム90は、単一の半導体集積回路、換言すれば単一のチップとして形成可能である。画像処理システム90は、画像合成システム91だけで構成されてもよいし、他の処理システムをさらに含んでもよい。
【0437】
メモリ800は、画像合成システム91に供給された全体画像データA10および第2基礎画像データD50を格納する。これにより、マスク生成部210は、メモリ800から全体画像データA10を読み出し、全体画像データA10に基づいて基礎マスクデータB50を生成する。また、合成部700は、メモリ800から全体画像データA10と第2基礎画像データD50とを読み出して、画像合成に利用する。
【0438】
合成制御データC50は、操作部32にユーザが入力することによって、合成部700に供給される。また、合成部700が生成した合成画像データE100に基づいて、表示部31が合成画像を表示する。
【0439】
なお、合成部700に、実施の形態6〜12,14,15,17,18に係る合成部500F〜500L,500N,500P,500R,500Sの構成を採用することも可能である。
【0440】
ここで、メモリ800とマスク生成部210とで形成される構成を、全体画像データA10と基礎マスクデータB50とを供給するデータ供給システムとして捉えることが可能である。この場合、さらに合成部700を画像合成システムとして捉えると、
図139の構成は、データ供給システムと画像合成システムとがバス(上記のように有線の通信媒体の一例である)を介して繋がっている、と捉えることが可能である。
【0441】
また、
図139の例に鑑みると、例えばデータ供給システム11と合成システム21との組み合わせを、単一の半導体集積回路で形成することも可能である。その場合、データ供給システム11と合成システム21とがバスを介して繋げられる。単一の半導体集積回路内においてデータ供給システム11と合成システム21とは、
図2とは異なり外部I/F33,43を介さずに通信するが、媒体50に相当する上記バスを介して通信する。また、単一の半導体集積回路内でデータを転送する場合(特に画像合成機能のための一連の処理においてデータを転送する場合)、転送データの符号化および復号化を省略することが可能である。具体的には、画像エンコーダ150と画像デコーダ300とマスクエンコーダ250とマスクデコーダ400とを利用しなくてもよい。あるいは、画像エンコーダ150と画像デコーダ300とマスクエンコーダ250とマスクデコーダ400とを省略することも可能である。同様にして、データ供給システム11B等と合成システム21B等とによる他の組み合わせについても、単一の半導体集積回路で形成することが可能である。
【0442】
<付記>
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。