(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【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,
43は、通信インターフェースに加えてまたは代えて、外部記憶媒体用のインターフェースを含んでもよい。その場合、供給側装置30と合成側装置40との間の情報伝達は外部記憶媒体を介して行うことが可能であり、その外部記憶媒体が装置30,40間に介在する媒体50に該当する。
【0022】
画像入力部34は、デジタルカメラによって構成される。あるいは、画像入力部34は、画像データを供給する記憶装置であってもよい。画像入力部44も同様に構成される。なお、画像入力部34,44は異なる種類の装置で構成されてもよい。
【0023】
なお、供給側装置30および合成側装置40の構成は
図2の例に限定されるものではない。すなわち、上記の構成要素のうちの一部を省略してもよいし、他の構成要素を追加してもよい。
【0024】
<供給システム11の例>
図3に、供給システム11の構成例を示す。供給システム11は、以下に説明するように画像データの符号化機能を有している。かかる符号化機能によって、合成システム21に供給する第1対象画像のデータである第1対象画像データA20を符号化し、符号化画像データA50を生成する。なお、符号化画像データA50を単に符号化データA50とも呼ぶ場合もある。
【0025】
なお、一般的に、画像データの圧縮には符号化が採用されている。このため「圧縮」と「符号化」とが同義で用いられ、例えば画像圧縮が画像符号化または画像圧縮符号化と表現される場合がある。同様に、「伸張」と「復号化」とが同義で用いられ、例えば画像伸張が画像復号化または画像伸張復号化と表現される場合がある。
【0026】
符号化データA50は、符号化データA50用のビットストリーム(以下、符号化ビットストリームとも呼ぶ)Absによって供給システム11から出力され、合成システム21に供給される。
【0027】
一方、供給システム11に入力される画像は第1対象画像の源となる画像であり、このため当該入力画像を第1基礎画像と呼ぶ場合もある。実施の形態1では、第1基礎画像の全体が第1対象画像を構成する場合、すなわち第1基礎画像と第1対象画像とは同じである場合を説明する。なお、後述の説明のために、第1基礎画像のデータである第1基礎画像データに対しては、第1対象画像データの符号A20とは異なる符号A10を付している。
【0028】
第1対象画像は、ROI(関心領域)を含む画像であり、合成システム21での画像合成において主画像を提供する。第1対象画像中のROIは当然、第1基礎画像中にも存在する。なお、第1基礎画像および第1対象画像は、デジタルカメラ等によって撮影した画像であってもよいし、あるいは、コンピュータグラフィックスであってもよい。
【0029】
図3の例によれば、供給システム11は、前処理部1020と、ウエーブレット変換部1030と、量子化部1040と、マスク生成部1050と、符号化部1060と、ビットストリーム生成部1070とを含んでいる。
【0030】
<前処理部1020>
前処理部1020は、第1対象画像データA20に対して所定の前処理を行う。
図3の例では、前処理部1020は、DCレベルシフト部1021と、色空間変換部1022と、タイリング部1023とを含んでいる。
【0031】
DCレベルシフト部1021は、第1対象画像データA20のDCレベルを必要に応じて変換する。色空間変換部1022は、DCレベル変換後の画像データの色空間を変換する。例えば、RGB成分がYCbCr成分(輝度成分Yと色差成分Cb,Crとから成る)に変換される。タイリング部1023は、色空間変換後の画像データを、「タイル」と呼ばれる矩形状の複数の領域成分に分割する。そして、タイリング部1023は、タイルごとに画像データをウエーブレット変換部1030に供給する。なお、必ずしも画像データをタイルに分割する必要はなく、色空間変換部1022から出力された1フレーム分の画像データを、そのままウエーブレット変換部1030に供給してもよい。
【0032】
<ウエーブレット変換部1030>
ウエーブレット変換部1030はウエーブレット変換処理を行う。具体的には、ウエーブレット変換部1030は、前処理後の第1対象画像データA20に対して、整数型または実数型の離散ウエーブレット変換(DWT)を行い、その結果得られた変換係数を出力する。以下では、変換係数を例えば、ウエーブレット変換係数、または、ウエーブレット係数と呼ぶ場合もある。また、第1対象画像データA20に対してウエーブレット変換を行うことによって生成されるデータ(ウエーブレット係数の群)を、第1ウエーブレット係数データA21と呼ぶことにする。
【0033】
ウエーブレット変換では、2次元画像データが高域成分(換言すれば高周波成分)と低域成分(換言すれば低周波成分)とに分解される。かかる周波数分解は例えば帯域分割とも呼ばれる。また、周波数分解によって得られた各帯域成分(すなわち低域成分と高域成分のそれぞれ)はサブバンドとも呼ばれる。ここでは、JPEG(Joint Photographic Experts Group)2000の基本方式に倣い、垂直方向と水平方向の両方について低域側に分割された帯域成分のみを再帰的に帯域分割していく、オクターブ分割方式を採用するものとする。再帰的な帯域分割を行った回数は、分解レベルと呼ばれる。
【0034】
ウエーブレット変換部1030では、所定の分解レベルまで第1対象画像データA20が分解される。一般的には分解レベルが3〜5程度の場合に、良好な符号化効率が得られる。なお、ウエーブレット変換部1030における上記所定の分解レベルを、初期の分解レベルと呼ぶ場合もある。
【0035】
図4〜
図6に、2次元でのウエーブレット変換について、Mallat型のウエーブレット平面61〜63を示す。
図4〜
図6の例によれば、入力画像(2次元画像)は、分解レベル1において(
図4参照)、垂直方向と水平方向のそれぞれについて周波数分解が行われる。これにより、
図4のウエーブレット平面61に示すように、4つの帯域成分HH1,HL1,LH1,LL1に分解される。分解レベル1で得られた帯域成分LL1は、分解レベル2において(
図5のウエーブレット平面62を参照)、更に4つの帯域成分HH2,HL2,LH2,LL2に分解される。分解レベル2で得られた帯域成分LL2は、分解レベル3において(
図6のウエーブレット平面63を参照)、更に4つの帯域成分HH3,HL3,LH3,LL3に分解される。
【0036】
2次元のウエーブレット変換に関する表記について、例えばHL1は、分解レベル1における水平方向の高域成分Hと垂直方向の低域成分Lとからなる帯域成分である。その表記法は「XYm」と一般化される(XおよびYはそれぞれH,Lのいずれか。mは1以上の整数)。すなわち、分解レベルmにおける水平方向の帯域成分Xと垂直方向の帯域成分Yとからなる帯域成分は「XYm」と表記される。
【0037】
ここで、ウエーブレット平面(
図4〜
図6参照)は、ウエーブレット変換の演算結果データを、原画像(ウエーブレット変換が行われていない状態の画像)中の画素の並びに対応付けて2次元配列したデータ群である。例えばウエーブレット平面において帯域成分LL1として示されている領域内には、原画像中のある画素を注目画素として得られた演算結果データ(LL成分データ)が、原画像中での当該注目画素の位置に対応して並べられている。なお、ウエーブレット平面はウエーブレット空間、ウエーブレット領域、または、ウエーブレット画像と呼ばれる場合もある。
【0038】
分解レベル1において、帯域成分LL1は画像の本質的な情報に対応する。なお、帯域成分LL1によれば、分解前の画像の1/4のサイズの画像(換言すれば、分解前の画像に対する縮小比が1/2の画像)を提供可能である。帯域成分HL1は垂直方向に伸びるエッジの情報に対応し、帯域成分LH1は水平方向に伸びるエッジの情報に対応する。帯域成分HH
1は斜め方向に伸びるエッジの情報に対応する。これらの点は他の分解レベルについても同様である。例えば、分解レベル2の帯域成分LL2,HL2,LH2,HH2は、分解前の帯域成分LL1を原画像と見なした場合における帯域成分LL1,HL1,LH1,HH1とそれぞれ同様の関係にある。
【0039】
以下では、ウエーブレット変換が行われていない状態の原画像を分解レベル0に対応させ、当該原画像を分解レベル0のウエーブレット平面と表現する場合もある。
【0040】
また、ウエーブレット平面において最も分解された帯域成分を、最上位帯域成分と呼ぶことにする。具体的には、分解レベル3のウエーブレット平面63(
図6参照)において、最上位帯域成分はLL3,HL3,LH3,HH3である。一般化するならば、分解レベルkのウエーブレット平面において、最上位帯域成分はLLk,HLk,LHk,HHkである。また、分解回数が同じ帯域成分において、帯域成分LLを最低域の帯域成分と呼び、帯域成分HHを最高域の帯域成分と呼ぶことにする。
【0041】
なお、Mallat型では、上記のように、LL成分を水平方向と垂直方向のそれぞれについて同じ回数で、再帰的に分解する。また後述のように、Mallat型では分解とは逆の手順で帯域成分が合成される。但し、水平方向と垂直方向のそれぞれのL成分とH成分を同じ回数で、分解および合成する必要はない。すなわち、Mallat型とは異なる型式のウエーブレット変換を用いてもよい。
【0042】
また、原画像およびウエーブレット平面において左上端を座標系の原点に採り、原点を0として扱い、ウエーブレット変換のL成分出力を偶数として扱い、H成分出力を奇数として扱う例を挙げる。但し、L成分出力を奇数として扱い、H成分出力を偶数として扱うことも可能である。なお、ウエーブレット平面(
図4〜
図6参照)は、ウエーブレット変換の偶数番目および奇数番目の出力を、帯域成分ごとに再配置した概念的な平面である。
【0043】
<量子化部1040>
図3に戻り、量子化部1040は量子化処理を行う。具体的には、量子化部1040は、ウエーブレット変換部1030から供給された第1ウエーブレット係数データA21に対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより量子化ウエーブレット係数データA22を生成する。量子化ステップサイズは、例えば目標画質に応じて設定される。
【0044】
特に量子化部1040は、第1ウエーブレット係数データA21を構成する各データ(換言すれば、各係数値)について、第1対象画像中のROIに関与する係数(以下、ROI係数とも呼ぶ)と、非ROIに関与する係数(以下、非ROI係数とも呼ぶ)とを判別する係数判別処理を行う。そして、量子化部1040は、量子化後の非ROI係数が0になるように、第1ウエーブレット係数データA21の量子化を行う。このような量子化は、例えばノルムに基づいて量子化値を決定する技術(特許文献6参照)によって、実現可能である。
【0045】
量子化部1040は、係数判別処理を、マスク生成部1050から供給されるマスクデータB21に基づいて行う。マスクデータB21は、第1ウエーブレット係数データA21についてROI係数と非ROI係数とを判別するためのマスクを提供する。
【0046】
<マスク生成部1050>
マスク生成部1050はマスク生成処理を行う。具体的には、マスク生成部1050は、第1ウエーブレット係数データA21についてROI係数と非ROI係数とを判別するためのマスクのデータであるマスクデータB21を生成する。
【0047】
図7に、マスク生成部1050の構成例を示す。
図7の例によれば、マスク生成部1050は、基礎マスク生成部1051と、マスク展開部1052とを含んでいる。
【0048】
<基礎マスク生成部1051>
基礎マスク生成部1051は基礎マスク生成処理を行う。具体的には、基礎マスク生成部1051は、第1基礎画像データA10に基づいて、第1基礎画像の範囲においてROIと非ROIとを判別するための基礎マスクのデータである基礎マスクデータB10を生成する。
【0049】
基礎マスク生成部1051は、各種のマスク生成技術によって構成可能である。例えば動画像中の動体を検出する技術が知られており、この動体検出技術を利用すれば、画像中の動体をROIに設定したマスクを生成できる。動体検出技術に関しては、例えば特許文献1〜3を参照。また、例えば特許文献4,5にはパーティクルフィルタを利用して動体を追跡する技術が記載されており、かかる動体追跡技術によれば動体検出精度を向上でき、また、演算量を削減できる。
【0050】
また、デジタルカメラによって撮影された静止画像を対象として、グラフカットによって、画像全体から前景画像と背景画像とを分離する技術が知られている。この画像分離技術を利用して基礎マスク生成部1051を構成すれば、前景画像をROIに設定したマスクを生成できる。
【0051】
なお、基礎マスク生成部1051は、マスク生成に際して適宜、前処理を行う。例えば、第1基礎画像データA10が、デジタルカメラによる撮影画像データ(Bayerデータ)である場合、BayerデータをRGBカラーデータに変換する。また、第1基礎画像のサイズが大きい場合、演算量を減らすために縮小処理を行う。また、特徴量を抽出するために、白黒、YUV、HSV等への色空間変換を行う。
【0052】
ここで、
図8に第1基礎画像60の例を示す。第1基礎画像60において、移動中の人物の部分をROI60aに設定し、それ以外の部分を非ROI60bに設定するものとする。
【0053】
第1
基礎画像60の全範囲に対応する基礎マスク70を、
図9に示す。基礎マスク70は、第1基礎画像60中の各画素がROI60aと非ROI60bのどちらに属するのかを示す画像として理解できる。基礎マスク70は、第1基礎画像60中のROI60aおよび非ROI60bに対応するROI対応部分70aおよび非ROI対応部分70bを有している。
図9において、白抜き部分がROI対応部分70aであり、黒塗り部分が非ROI対応部分70bである。
【0054】
なお、動画像の場合、全てのフレーム画像を対象にして基礎マスク70を生成してもよいし、あるいは、例えば一定フレーム毎または一定時間毎に基礎マスク70を生成してもよい。また、静止画像が順次入力される場合についても、同様である。
【0055】
<マスク展開部1052>
マスク展開部1052はマスク展開処理を行う。具体的には、マスク展開部1052は、基礎マスクのROI対応部分および非ROI
対応部分を、第1ウエーブレット係数データA21に含まれる各帯域成分用に(換言すれば、第1ウエーブレット係数データA21に対応するウエーブレット平面に含まれる各帯域成分用に)展開する。このようなマスク展開処理によって、第1ウエーブレット係数データA21用のマスクである展開マスクが生成される。マスクの展開に関しては、例えば特許文献6,7および非特許文献1を参照。
【0056】
マスク展開部1052によって生成された展開マスクが、第1ウエーブレット係数データA21についてROI係数と非ROI係数とを判別するための上記マスクである。すなわち、マスク生成部1050は、上記マスクデータB21として展開マスクのデータを生成して出力する。
【0057】
図10〜
図12に、
図9の基礎マスク70を分解レベル1,2,3のウエーブレット平面61〜63(
図4〜
図6参照)に展開した展開マスク71,72,73をそれぞれ示す。展開マスク71,72,73において、ROI対応部分71a,72a,73aが白抜きで図示され、非ROI対応部分71b,72b,73bが黒塗りで図示されている。
【0058】
図13に、マスク展開処理のフローチャートを示す。
図13のマスク展開処理S200によれば、マスクの分解レベルを1段階上げる処理(以下、レベル増加単位処理とも呼ぶ)S202が行われる。第1ウエーブレット係数データA21の分解レベルが2以上である場合、その分解レベルのマスクが得られるまで、レベル増加単位処理S202が繰り返される(ステップS201参照)。
【0059】
レベル増加単位処理S202では、第1ウエーブレット平面用の第1マスクを、第1ウエーブレット平面よりも分解レベルが1段階高い第2ウエーブレット平面用の第2マスクに、変換する。なお、展開対象の第1マスクが原マスクである場合、上記の第1ウエーブレット平面はウエーブレット変換前の原画像が対応する。上記のように原画像を分解レベル0のウエーブレット平面と表現することによって、第1ウエーブレット平面には原画像も含まれることが理解できる。
【0060】
レベル増加単位処理S202の繰り返しは、再帰的に行われる。すなわち、第2マスクを新たな第1マスクに設定することによって、レベル増加単位処理S202が再度、行われる。また、レベル増加単位処理S202の繰り返しは、ウエーブレット変換の方式に従って行われる。例えば上記のMallat型の方式が採用されている場合(
図4〜
図6参照)、ウエーブレット平面は最低域の帯域成分LLのみを再帰的に分解していく。このため、マスクの展開も帯域成分LLに対応する部分に対してのみ再帰的に行う。
【0061】
レベル増加単位処理S202は所定のマスク展開条件に基づいて行われ、マスク展開条件はウエーブレット変換のフィルタのタップ数に依存する。
【0062】
例えばウエーブレット変換の演算処理において5×3フィルタが使用される場合、マスク展開条件は、
図14に基づいた2つの条件(第1展開条件と第2展開条件と呼ぶことにする)を含む。なお、5×3フィルタでは、分解側のローパスフィルタが5タップであり、分解側のハイパスフィルタが3タップである。
【0063】
第1展開条件:第1ウエーブレット平面上の偶数番目(nを整数として、2n番目と表記できる)のデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において低域成分(ローパスフィルタの側の出力データに対応する)のn番目のデータがROIに対応付けられるように、第2マスクを形成する。それと共に、第2ウエーブレット平面において高域成分(ハイパスフィルタの側の出力データに対応する)の{n−1}番目およびn番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0064】
第2展開条件:第1ウエーブレット平面上の{2n+1}番目のデータが第1マスクによってROIに対応付けられているとき、第2ウエーブレット平面において低域成分のn番目および{n+1}番目ならびに高域成分の{n−1}番目から{n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0065】
また、ウエーブレット変換の演算処理においてDaubechies9×7フィルタが用いられる場合、マスク展開条件は、
図15に基づいた2つの条件(第3展開条件と第4展開条件と呼ぶことにする)を含む。なお、Daubechies9×7フィルタでは、分解側のローパスフィルタが9タップであり、分解側のハイパスフィルタが7タップである。
【0066】
第3展開条件:第1ウエーブレット平面上の2n番目のデータが第1マスクによってROIに対応付けられているとき、第2ウエーブレット平面において低域成分の{n−1}番目から{n+1}番目および高域成分の{n−2}番目から{n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0067】
第4展開条件:第1ウエーブレット平面上の{2n+1}番目のデータが第1マスクによってROIに対応付けられているとき、第2ウエーブレット平面において低域成分の{n−1}番目から{n+2}番目および高域成分の{n−2}番目から{n+2}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0068】
第1ウエーブレット係数データA21の分解レベルが3の場合、マスク生成部1050は、分解レベル3の展開マスク73(
図12参照)を生成し、当該展開マスク73を量子化部1040に供給する。量子化部1040は、展開マスク73におけるROI対応部分73aと非ROI対応部分73bとの区別に基づいて、分解レベル3の第1ウエーブレット係数データA21、換言すれば分解レベル3のウエーブレット平面63(
図6参照)の係数判別処理を行う。そして上記のように、量子化部1040は、係数判別結果に基づいて、第1ウエーブレット係数データA21中の非ROI係数の量子化後の値が0になるように、分解レベル3の量子化ウエーブレット係数データA22を生成する。
【0069】
<符号化部1060>
図3に戻り、符号化部1060は符号化処理を行う。具体的には、符号化部1060は、量子化部1040によって生成された量子化ウエーブレット係数データA22に対して、所定の符号化を行い、それにより符号化データA50を生成する。所定の符号化では、例えば、ビットプレーン符号化を行うEBCOT(Embedded Block Coding with Optimized Truncation)に従ってエントロピー符号化が行われる。
図3の例では、符号化部1060は、係数ビットモデリング部1061と、エントロピー符号化部1062とを含んでいる。
【0070】
係数ビットモデリング部1061は、量子化されたウエーブレット係数に対して、ビットモデリング処理を行う。ここでは、ビットモデリング処理は既知技術を利用するものとし、詳細な説明は省略する。
【0071】
なお、係数ビットモデリング部1061は、入力された帯域成分を32×32または64×64程度の「コードブロック」と呼ばれる領域に分割する。そして、係数ビットモデリング部1061は、コードブロック中の各量子化ウエーブレット係数の二進値を構成する各ビット値を別々のビットプレーンに割り当てる。ビットモデリング処理は、そのようなビットプレーン単位で行われる。
【0072】
エントロピー符号化部1062は、係数ビットモデリング部1061で生成されたデータに対してエントロピー符号化を行って、符号化画像データを生成する。エントロピー符号化として、例えば既知の算術符号化が利用される。
【0073】
なお、符号化部1060では、エントロピー符号化部1062によって生成された符号化画像データに対してレート制御を行って、符号量を制御してもよい。
【0074】
<ビットストリーム生成部1070>
ビットストリーム生成部1070はビットストリーム生成処理を行う。具体的には、ビットストリーム生成部1070は、符号化部1060から出力される符号化データA50を付加情報と多重化し、それによりJPEG2000に準拠した符号化ビットストリームAbsを生成する。付加情報として例えば、ヘッダ情報,レイヤー構成、スケーラビリティ情報、量子化テーブル、等が挙げられる。
【0075】
特に、ビットストリーム生成部1070は、
図3に示すように、合成制御データC50を取得し、合成制御データC50も
符号化ビットストリーム
Absに埋め込む。合成制御データC50は、合成システム21での画像合成処理において合成具合を制御するためのデータである。ここでは、合成制御データC50は、供給システム11の側に設けられた操作部32にユーザが入力することによって、供給システム11に供給される。
【0076】
符号化ビットストリームAbsは符号化データに影響しない領域を有しており、ビットストリーム生成部1070はその領域に合成制御データC50を埋め込む。符号化ビットストリームAbsのそのような領域として、例えば、ヘッダ領域、符号化ストリームのフォーマット中のコメント領域、アプリケーションマーカ(APPマーカ)領域、等を利用できる。
【0077】
<供給システム11の動作>
図16に、供給システム11の動作を説明するフローチャートを示す。
図16の動作フローS1000によれば、供給システム11に第1基礎画像データA10が入力されると、前処理部1020およびマスク生成部1050が第1基礎画像データA10を取得する(ステップS1001)。
【0078】
前処理部1020は、第1基礎画像データA10に対して、換言すれば第1対象画像データA20に対して、所定の前処理を行う(ステップS1101)。次に、ウエーブレット変換部1030が、前処理後の第1対象画像データA20に対して所定の分解レベルまでウエーブレット変換を行い、それにより第1ウエーブレット係数データA21を生成する(ステップS1102)。
【0079】
一方、マスク生成部1050は、第1基礎画像データA10に基づいて、第1ウエーブレット係数データA21用のマスク、すなわち第1ウエーブレット係数データA21の分解レベルに対応した展開マスクのデータB21を生成する(ステップS1200)。具体的には、基礎マスク生成部1051が上記の基礎マスク生成処理を行い(ステップS1201)、マスク展開部1052が上記のマスク展開処理を行う(ステップS1202)。
【0080】
なお、
図16の例では、ステップS1200をステップS1101,S1102と並行して実行するが、ステップS1200をステップS1101,S1102の前または後で実行することも可能である。
【0081】
ステップS1102で生成された第1ウエーブレット係数データA21と、ステップS1200で生成されたマスクデータB21とは、量子化部1040に入力される。量子化部1040は、上記のように、マスクデータB21に基づいて、第1ウエーブレット係数データA21中の非ROI係数の量子化後の値が0になるように、第1ウエーブレット係数データA21に対して量子化を行う(ステップS1002)。それにより、量子化ウエーブレット係数データA22が生成される。
【0082】
量子化ウエーブレット係数データA22は符号化部1060によって符号化され、符号化データA50が生成される(ステップS1003)。符号化データA50はビットストリーム生成部1070によって、第1対象画像用の符号化ビットストリームAbsに変換される(ステップS1004)。
【0083】
また、ビットストリーム生成部1070は、合成制御データC50を取得し、合成制御データC50を上記のように符号化ビットストリームAbsに埋め込む(ステップS1005)。なお、合成制御データC50はステップS1005において入力されてもよいし、あるいは、事前に入力され保持していた合成制御データC50をステップS1005で利用してもよい。
【0084】
その後、符号化ビットストリームAbsは、ビットストリーム生成部1070から出力される(ステップS1006)。
【0085】
<媒体50>
符号化ビットストリームAbsは、上記のように合成制御データC50が埋め込まれた状態で供給システム11から出力され、
図2の例ではI/F33から供給側装置30の外部に出力される。そして、符号化ビットストリームAbsは、合成制御データC50が埋め込まれた状態で、I/F43を介して合成システム21に入力される。その際、媒体50(
図2参照)が利用される。ここでは符号化データA50用の符号化ビットストリームAbsに合成制御データC50が埋め込まれているので、符号化データA50と合成制御データC50とが、同じ媒体50(例えば通信媒体または外部記憶媒体)によって、合成システム21に供給される。
【0086】
<合成システム21の例>
図17に、合成システム21の構成例を示す。
図17の例によれば、合成システム21は、ビットストリーム解析部1210と、復号化部1220と、マスク再現部1230と、逆量子化部1240と、分解レベル変換部1250と、ウエーブレット変換部1260と、合成実行部1270と、逆ウエーブレット変換部1280と、後処理部1290とを含んでいる。
【0087】
<ビットストリーム解析部1210>
ビットストリーム解析部1210はビットストリーム解析処理を行う。具体的には、ビットストリーム解析部1210は、符号化ビットストリームAbsをJPEG2000の仕様に準拠して解析し、当該符号化ビットストリームAbsから符号化データA50と付加情報と合成制御データC50とを抽出する。符号化データA50は復号化部1220に供給される。各種の付加情報はそれぞれ所定の処理部に供給される。合成制御データC50は、分解レベル変換部1250とウエーブレット変換部1260とに供給される。
【0088】
<復号化部1220>
復号化部1220は復号化処理を行う。具体的には、復号化部1220は、符号化データA50に対して、所定の復号化を行う。所定の復号化は、符号量制御を除いて、基本的には、
図3の符号化部1060における符号化とは逆の処理にあたる。所定の復号化によって、符号化データA50から、量子化ウエーブレット係数データA22が生成される。
図17の例では、復号化部1220は、エントロピー復号化部1221と、係数ビットモデリング部1222とを含んでいる。
【0089】
エントロピー復号化部1221は、符号化データA50に対してエントロピー復号化を行って、ビットデータを生成する。エントロピー復号化は、
図3のエントロピー符号化部1062におけるエントロピー符号化とは逆の処理にあたる。
【0090】
係数ビットモデリング部1222は、エントロピー復号化部1221によって生成されたビットデータに対してビットモデリング処理を行って、量子化ウエーブレット係数データA22を復元する。ここでのビットモデリング処理は、
図3の係数ビットモデリング部1061におけるそれとは逆の処理にあたる。係数ビットモデリング部1222によって生成された量子化ウエーブレット係数データA22は、マスク再現部1230と逆量子化部1240に供給される。
【0091】
<マスク再現部1230>
マスク再現部1230はマスク再現処理を行う。具体的には、マスク再現部1230は、量子化ウエーブレット係数データA22を構成する各データの値を判別することによって、供給システム11において量子化ウエーブレット係数データA22の生成時に適用された展開マスクを再現する。
【0092】
すなわち、上記のように量子化ウエーブレット係数データA22は、第1ウエーブレット係数データA21のうちで非ROI係数の量子化後の値が0になるように、生成されている。かかる点に鑑み、マスク再現部1230は、量子化ウエーブレット係数データA22を構成する各データの値が0であるか否かを判別することによって、量子化ウエーブレット係数データA22中のROI係数と非ROI係数とを判別する(
図18のマスク
再現処理S10のステップS11参照)。そして、マスク再現部1230は、判別結果に基づいて、量子化ウエーブレット係数データA22に対応する上記展開マスクのデータであるマスクデータB21を再現する(
図18のマスク
再現処理S10のステップS12,S13参照)。
【0093】
<逆量子化部1240>
図17に戻り、逆量子化部1240は逆量子化処理を行う。具体的には、逆量子化部1240は、量子化ウエーブレット係数データA22に対して、逆量子化を行う。ここでの逆量子化は、
図3の量子化部1040における量子化とは逆の処理にあたる。逆量子化によって、量子化ウエーブレット係数データA22は、第1ウエーブレット係数データA21に変換される。
【0094】
<分解レベル変換部1250>
分解レベル変換部1250は、逆量子化部1240から第1ウエーブレット係数データA21を取得し、マスク再現部1230からマスクデータB21を取得し、ビットストリーム解析部1210から合成制御データC50を取得する。そして、分解レベル変換部1250は、第1ウエーブレット係数データA21およびマスクデータB21の分解レベルを変換する処理である分解レベル変換処理を行う。
【0095】
特に、変換後の分解レベルは、合成制御データC50によって指定される。なお、合成制御データC50によって指定された分解レベルを、第1の分解レベルと呼ぶ場合もある。ここでは、第1の分解レベルは1以上の整数とする。
【0096】
第1ウエーブレット係数データA21およびマスクデータB21の分解レベルは、この時点において(換言すれば、合成システム21に供給された時点において)、供給システム11で設定されたレベルである。分解レベル変換部1250では、この初期の分解レベルを、合成制御データC50によって指定された第1の分解レベルに変換する。すなわち、分解レベル変換部1250は、供給システム11で設定された分解レベルに在る第1ウエーブレット係数データA21およびマスクデータB21を、第1の分解レベルの第1ウエーブレット係数データA61およびマスクデータB61に変換する。
【0097】
ここで、
図19に、分解レベル変換部1250の構成例を示す。
図19の例によれば、分解レベル変換部1250は、分解レベル減少部1251と、分解レベル増加部1256とを含んでいる。
【0098】
分解レベル減少部1251は、合成制御データC50によって指定された第1の分解レベルが、第1ウエーブレット係数データA21およびマスクデータB21の初期の分解レベルよりも小さい場合に、第1ウエーブレット係数データA21およびマスクデータB21の分解レベルを減少させる分解レベル減少処理を行う。逆に、分解レベル増加部1256は、第1の分解レベルが初期の分解レベルよりも大きい場合に、第1ウエーブレット係数データA21およびマスクデータB21の分解レベルを増加させる分解レベル増加処理を行う。
【0099】
ここでは、第1の分解レベルが初期の分解レベルと等しい場合、分解レベル変換部1250は、入力された第1ウエーブレット係数データA21およびマスクデータB21をそのまま、第1ウエーブレット係数データA61およびマスクデータB61として出力するものとする。
【0100】
<分解レベル減少部1251>
分解レベル減少部1251は、逆ウエーブレット変換部1252と、マスク復元部1253とを含んでいる。
【0101】
<逆ウエーブレット変換部1252>
逆ウエーブレット変換部1252は、第1ウエーブレット係数データA21と合成制御データC50とを取得し、第1ウエーブレット係数データA21に対して、合成制御データC50によって指定された第1の分解レベルになるまで逆ウエーブレット変換(IDWT)を行う。それにより、第1の分解レベルの第1ウエーブレット係数データA61が生成される。
【0102】
逆ウエーブレット変換は、供給システム11のウエーブレット変換部1030で行われるウエーブレット変換とは逆の処理である。逆ウエーブレット変換では、帯域成分が再帰的に合成される。逆ウエーブレット変換における合成回数は、合成レベルと呼ばれる。なお、逆ウエーブレット変換前の状態の合成レベルを0と表現することにする。
【0103】
逆ウエーブレット変換部1252と後述の逆ウエーブレット変換部1280とは、同じ回路によって実現されてもよいし、あるいは別々の回路によって実現されてもよい。
【0104】
<マスク復元部1253>
マスク復元部1253は、マスクデータB21と合成制御データC50とを取得し、マスク復元処理を行う。マスク復元処理は、与えられたマスクから、分解レベルがより低いマスクを復元する処理であり、上記のマスク展開処理(
図13〜
図15参照)の逆の処理にあたる。より具体的には、マスクデータB21を、分解レベル変換部1250で生成しようとしている(すなわち、合成制御データC50によって指定された第1の分解レベルを有する)第1ウエーブレット係数データA61に含まれる各帯域成分用に変換する。それにより、第1の分解レベルのマスクデータB61が生成される。マスクの復元に関しては、例えば特許文献6,7および非特許文献1を参照。
【0105】
図20に、マスク復元処理のフローチャートを示す。
図20のマスク復元処理S220によれば、マスクの分解レベルを1段階下げる処理(以下、レベル減少単位処理とも呼ぶ)S222が行われる。初期の分解レベルと第1の分解レベルとの差が2以上である場合、第1の分解レベルのマスクが得られるまで、レベル減少単位処理S222が繰り返される(ステップS221参照)。
【0106】
レベル減少単位処理S222では、第1ウエーブレット平面用の第1マスクを、第1ウエーブレット平面よりも分解レベルが1段階低い第2ウエーブレット平面用の第2マスクに、変換する。なお、上記のように合成制御データC50によって指定される第1の分解レベルは1以上の整数であるので、復元後の第2マスクは原マスクにはならない。
【0107】
レベル減少単位処理S222の繰り返しは、再帰的に行われる。すなわち、第2マスクを新たな第1マスクに設定することによって、レベル減少単位処理S222が再度、行われる。また、レベル減少単位処理S222の繰り返しは、逆ウエーブレット変換の方式に従って行われる。例えば上記のMallat型の方式が採用されている場合(
図4〜
図6参照)、ウエーブレット平面中の最上位帯域成分(分解レベルkではLLk,HLk,LHk,HHk)のみを再帰的に分解していく。このため、マスクの復元は最上位帯域成分に対応する部分に対してのみ再帰的に行う。
【0108】
<マスク復元条件>
レベル減少単位処理S222は所定のマスク復元条件に基づいて行われる。マスク復元条件は、第1ウエーブレット平面の指定位置のデータが第1マスクによってROIに対応付けられている場合に、第2ウエーブレット平面において上記指定位置に対応付けられた位置のデータがROIに対応付けられるように第2マスクを形成することを規定している。
【0109】
マスク復元条件は逆ウエーブレット変換のフィルタのタップ数に依存する。例えば逆ウエーブレット変換の演算処理において5×3フィルタが使用される場合、マスク復元条件は
図21に基づく。また、逆ウエーブレット変換の演算処理においてDaubechies9×7フィルタが用いられる場合、マスク復元条件は
図22に基づく。
【0110】
図21および
図22のいずれの場合にも、マスク復元条件は2つの条件(第1復元条件と第2復元条件と呼ぶことにする)に大別される。すなわち、第1復元条件は、第2ウエーブレット平面において2n番目(nは整数)のデータがROIに対応付けられるように第2マスクを形成するためのものである。第2復元条件は、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように第2マスクを形成するためのものである。
【0111】
ここで、第1復元条件および第2復元条件も、第1ウエーブレット平面の指定位置のデータが第1マスクによってROIに対応付けられているという条件(復元実行条件と呼ぶことにする)を課している。
【0112】
第1復元条件において上記指定位置は、第2ウエーブレット平面の上記2n番目に対応付けられた位置である。当該位置を以下、第1指定位置と呼ぶ場合もある。
図21を参照すると5×3フィルタの場合、第1指定位置の候補は、第1ウエーブレット平面において低域成分(ローパスフィルタの側の入力データに対応する)のn番目および高域成分(ハイパスフィルタの側の入力データに対応する)の{n−1}番目とn番目である。
図22を参照するとDaubechies9×7フィルタの場合、第1ウエーブレット平面において低域成分の{n−1}番目から{n+1}番目および高域成分の{n−2}番目から{n+1}番目が、第1指定位置の候補になる。
【0113】
同様に、第2復元条件において上記指定位置は、第2ウエーブレット平面の上記{2n+1}番目に対応付けられた位置である。当該位置を以下、第2指定位置と呼ぶ場合もある。
図21を参照すると5×3フィルタの場合、第2指定位置の候補は、第1ウエーブレット平面において低域成分のn番目と{n+1}番目および高域成分の{n−1}番目から{n+1}番目である。
図22を参照するとDaubechies9×7フィルタの場合、第1ウエーブレット平面において低域成分の{n−1}番目から{n+2}番目および高域成分の{n−2}番目から{n+2}番目が、第2指定位置の候補になる。
【0114】
指定位置のこれらの候補の利用形態に応じて、第1復元条件および第2復元条件を様々に規定可能である。その結果、第2マスクを様々に調整可能である。ここでは、指定位置の候補の利用形態は、ユーザの指示によって設定されるものとする。以下、このユーザ指示を、マスク調整指示と呼ぶことにする。また、合成制御データC50がマスク調整指示を含むものとし、それによりマスク調整指示が合成システム21におけるレベル減少単位処理S222に供給されるものとする(
図20参照)。但し、マスク調整指示を、合成制御データC50とは別個に供給することも可能である。
【0115】
指定位置の候補の利用形態、換言すればマスク調整指示の内容は、数多く想定される。以下では、マスク調整指示がモード指示と低域選択指示と高域選択指示という3つの指示によって構成される例を説明する。
【0116】
モード指示(MODE)は、第1ウエーブレット平面の低域成分と高域成分とのうちでどの帯域成分を利用するのか否かに関する。低域成分のみを利用する指示を、MODE=Lと表現することにする。また、低域成分と高域成分の両方を利用する指示を、MODE=LHと表現することにする。
【0117】
低域選択指示(LSEL)は、第1ウエーブレット平面の低域成分に含まれる全ての候補に復元実行条件を課すのか否かに関する。低域成分に含まれる全ての候補が復元実行条件を満足することを要求する場合、LSEL=ANDと表現することにする。逆に、低域成分に含まれる少なくとも1つの候補が復元実行条件を満足すれば良い場合、LSEL=ORと表現することにする。
【0118】
高域選択指示(HSEL)は、第1ウエーブレット平面の高域成分に含まれる全ての候補に復元実行条件を課すのか否かに関する。高域成分に含まれる全ての候補が復元実行条件を満足することを要求する場合、HSEL=ANDと表現することにする。逆に、高域成分に含まれる少なくとも1つの候補が復元実行条件を満足すれば良い場合、HSEL=ORと表現することにする。
【0119】
なお、モード指示MODEと低域選択指示LSELと高域選択指示HSELとは、回路的には、各指示用に割り当てられた3つの信号によって、マスク復元部1253(
図19参照)に供給可能である。
【0120】
マスク調整指示の具体例のいくつかを表1に示す。但し、マスク調整指示の内容は表1の例に限定されるものではない。
【0122】
表1において、マスク調整指示#1はロスレス圧縮向けである。すなわち、供給システム11での画像圧縮(より具体的にはROI係数の量子化)がロスレスである場合、マスク調整指示#1が好適である。なお、ロスレス圧縮によれば、量子化後のROI係数は0にならない。
【0123】
マスク調整指示#2はニアロスレス圧縮向けである。ニアロスレス圧縮によれば、ロスレス圧縮に比べてデータロスは大きくなるが、ロスレス圧縮と同程度の画質が得られる。かかる点に鑑みれば、ニアロスレス圧縮は、データ上は非可逆性であるが画質上は可逆性の圧縮として捉えることができる。但し、ロスレスとロッシーという2つの大分類においては、ニアロスレスはロッシーに分類されることが多い。
【0124】
マスク調整指示#3〜#7はロッシー圧縮用である。ロッシー圧縮によれば、高域成分において量子化後のROI係数が0になりやすい傾向がある。この傾向が強くなるほど(換言すれば、量子化値が大きい(つまり圧縮率が大きい)、高域成分において、量子化後の値が0になるROI係数が多い場合)、#4、#7、#3、#6、#5の順に指示を適用するのが好ましい。
【0125】
なお、表1の例ではマスク調整指示#1,#2,#5は同じであるが、説明のために重複して記載している。
【0126】
<5×3フィルタの場合>
以下、表1を参照しつつ、逆ウエーブレット変換に5×3フィルタが使用される場合について、マスク調整指示ごとに、第1復元条件および第2復元条件を説明する。
【0127】
<5×3フィルタの場合のマスク調整指示#1,#2,#5>
マスク調整指示#1,#2,#5(MODE=LH、且つ、LSEL=AND、且つ、HSEL=AND)によれば、第1復元条件および第2復元条件は次のように規定される。
【0128】
第1復元条件:第1ウエーブレット平面の低域成分のn番目のデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−1}番目とn番目との全てのデータが第1マスクによっ
てROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0129】
第2復元条件:第1ウエーブレット平面の低域成分のn番目と{n+1}番目との全てのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−1}番目から{n+1}番目の全てのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0130】
<5×3フィルタの場合のマスク調整指示#3>
マスク調整指示#3(MODE=L、且つ、LSEL=AND)によれば、第1復元条件および第2復元条件は次のように規定される。
【0131】
第1復元条件:第1ウエーブレット平面の低域成分のn番目のデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0132】
第2復元条件:第1ウエーブレット平面の低域成分のn番目と{n+1}番目との全てのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0133】
<5×3フィルタの場合のマスク調整指示#4>
マスク調整指示#4(MODE=L、且つ、LSEL=OR)によれば、第1復元条件および第2復元条件は次のように規定される。
【0134】
第1復元条件:第1ウエーブレット平面の低域成分のn番目のデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0135】
ここでは、低域成分のn番目のみが候補であるので、この第1復元条件は上記のマスク調整指示#3と同じになる。
【0136】
第2復元条件:第1ウエーブレット平面の低域成分のn番目と{n+1}番目とのうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0137】
<5×3フィルタの場合のマスク調整指示#6>
マスク調整指示#6(MODE=LH、且つ、LSEL=AND、且つ、HSEL=OR)によれば、第1復元条件および第2復元条件は次のように規定される。
【0138】
第1復元条件:第1ウエーブレット平面の低域成分のn番目のデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−1}番目とn番目とのうちの少なくとも1つのデータが第1マスクによっ
てROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0139】
第2復元条件:第1ウエーブレット平面の低域成分のn番目と{n+1}番目との全てのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−1}番目から{n+1}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0140】
<5×3フィルタの場合のマスク調整指示#7>
マスク調整指示#
7(MODE=LH、且つ、LSEL=OR、且つ、HSEL=OR)によれば、第1復元条件および第2復元条件は次のように規定される。
【0141】
第1復元条件:第1ウエーブレット平面の低域成分のn番目のデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−1}番目とn番目とのうちの少なくとも1つのデータが第1マスクによっ
てROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0142】
ここでは、低域成分のn番目のみが候補であるので、この第1復元条件は上記のマスク調整指示#6と同じになる。
【0143】
第2復元条件:第1ウエーブレット平面の低域成分のn番目と{n+1}番目とのうちの少なくとも1つのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−1}番目から{n+1}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0144】
<Daubechies9×7フィルタの場合>
以下、表1を参照しつつ、逆ウエーブレット変換にDaubechies9×7フィルタが使用される場合について、マスク調整指示ごとに、第1復元条件および第2復元条件を説明する。
【0145】
<Daubechies9×7フィルタの場合のマスク調整指示#1,#2,#5>
マスク調整指示#1,#2,#5(MODE=LH、且つ、LSEL=AND、且つ、HSEL=AND)によれば、第1復元条件および第2復元条件は次のように規定される。
【0146】
第1復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+1}番目の全てのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−2}番目から{n+1}番目の全てのデータが第1マスクによっ
てROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0147】
第2復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+2}番目の全てのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−2}番目から{n+2}番目の全てのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0148】
<Daubechies9×7フィルタの場合のマスク調整指示#3>
マスク調整指示#3(MODE=L、且つ、LSEL=AND)によれば、第1復元条件および第2復元条件は次のように規定される。
【0149】
第1復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+1}番目の全てのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0150】
第2復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+2}番目の全てのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0151】
<
Daubechies9×7フィルタの場合のマスク調整指示#4>
マスク調整指示#4(MODE=L、且つ、LSEL=OR)によれば、第1復元条件および第2復元条件は次のように規定される。
【0152】
第1復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+1}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0153】
第2復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+2}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0154】
<Daubechies9×7フィルタの場合のマスク調整指示#6>
マスク調整指示#6(MODE=LH、且つ、LSEL=AND、且つ、HSEL=OR)によれば、第1復元条件および第2復元条件は次のように規定される。
【0155】
第1復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+1}番目の全てのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−2}番目から{n+1}番目のうちの少なくとも1つのデータが第1マスクによっ
てROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0156】
第2復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+2}番目の全てのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−2}番目から{n+2}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0157】
<Daubechies9×7フィルタの場合のマスク調整指示#7>
マスク調整指示#7(MODE=LH、且つ、LSEL=OR、且つ、HSEL=OR)によれば、第1復元条件および第2復元条件は次のように規定される。
【0158】
第1復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+1}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−2}番目から{n+1}番目のうちの少なくとも1つのデータが第1マスクによっ
てROIに対応付けられている場合、第2ウエーブレット平面において2n番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0159】
第2復元条件:第1ウエーブレット平面の低域成分の{n−1}番目から{n+2}番目のうちの少なくとも1つデータが第1マスクによってROIに対応付けられ、且つ、第1ウエーブレット平面の高域成分の{n−2}番目から{n+2}番目のうちの少なくとも1つのデータが第1マスクによってROIに対応付けられている場合、第2ウエーブレット平面において{2n+1}番目のデータがROIに対応付けられるように、第2マスクを形成する。
【0160】
<マスク調整指示>
このように、第1復元条件および第2復元条件における上記指定位置を、マスク調整指示によって指示できる。ユーザは、モード指示(MODE)と低域選択指示(LSEL)と高域選択指示(HSEL)とをそれぞれ入力することによって、マスク調整指示を入力することが可能である。あるいは、表1のように、モード指示(MODE)と低域選択指示(LSEL)と高域選択指示(HSEL)とを予め組み合わせて複数のマスク調整指示を予め規定しておき、ユーザはその中からマスク調整指示を選ぶようにしてもよい。
【0161】
なお、モード指示(MODE)を低域選択指示(LSEL)と高域選択指示(HSEL)のそれぞれに組み込むことも可能である。例えば、低域成分を利用しない指示としてLSEL=NOを追加し、高域成分を利用しない指示としてHSEL=NOを追加すれば、モード指示(MODE)を別途設ける必要がない。
【0162】
<分解レベル増加部1256>
図19に戻り、分解レベル増加部1256は、ウエーブレット変換部1257と、マスク展開部1258とを含んでいる。
【0163】
<ウエーブレット変換部1257>
ウエーブレット変換部1257は、第1ウエーブレット係数データA21と合成制御データC50とを取得し、第1ウエーブレット係数データA21に対して、合成制御データC50によって指定された第1の分解レベルになるまでウエーブレット変換を行う。それにより、第1の分解レベルの第1ウエーブレット係数データA61が生成される。
【0164】
なお、ウエーブレット変換部1257と後述のウエーブレット変換部1260とは、同じ回路によって実現されてもよいし、あるいは別々の回路によって実現されてもよい。
【0165】
<マスク展開部1258>
マスク展開部1258は、マスクデータB21と合成制御データC50とを取得し、マスク展開処理を行う。具体的には、マスクデータB21を、分解レベル変換部1250で生成しようとしている(すなわち、合成制御データC50によって指定された第1の分解レベルを有する)第1ウエーブレット係数データA61に含まれる各帯域成分用に変換する。それにより、第1の分解レベルのマスクデータB61が生成される。
【0166】
マスク展開部1258は、供給システム11のマスク展開部1052と同様に動作する(
図7、
図13〜
図15参照)。このため、ここでは重複の説明を省略する。
【0167】
<分解レベル変換部1250の変形例>
なお、分解レベル減少部1251または分解レベル増加部1256を省略してもよい。分解レベル減少部1251のみが設けられた場合、分解レベル変換部1250は、合成制御データC50によって指定された第1の分解レベルが、第1ウエーブレット係数データA21およびマスクデータB21の初期の分解レベル以下であるという使用条件に特化される。逆に、分解レベル増加部1256のみが設けられた場合、分解レベル変換部1250は、第1の分解レベルが初期の分解レベル以上であるという使用条件に特化される。
【0168】
<ウエーブレット変換部1260>
図17に戻り、ウエーブレット変換部1260は、第2対象画像のデータである第2対象画像データD50と、合成制御データC50とを取得する。第2対象画像は、第1対象画像のROIと合成される画像であり、画像合成のための背景画像を提供する。
【0169】
ここで、合成システム21には、第2対象画像の源となる第2基礎画像のデータである第2基礎画像データD10が入力されるものとする。但し、実施の形態1では、第2基礎画像の全体が第2対象画像を構成する場合、すなわち第2基礎画像と第2対象画像とは同じである場合を説明する。
【0170】
第2基礎画像データD10は、例えば、合成システム21の側に設けられた画像入力部44、または、画像処理システム20(
図1参照)の他のシステムから供給される。なお、第2基礎画像および第2対象画像は、デジタルカメラ等によって撮影した画像であってもよいし、あるいは、コンピュータグラフィックスであってもよい。
【0171】
ウエーブレット変換部1260は、第2対象画像データD50に対して、所定の分解レベル(第2の分解レベルと呼ぶことにする)までウエーブレット変換を行い、それにより第2ウエーブレット係数データD61を生成する。ウエーブレット変換部1260は、供給システム11のウエーブレット変換部1030(
図3参照)と同様の仕様によって動作する。実施の形態1では、第2ウエーブレット係数データD61の分解レベル(第2の分解レベル)は、合成制御データC50によって指定された第1の分解レベルと等しいものとする。
【0172】
なお、例えば、合成システム21のウエーブレット変換部1260を供給システム11のウエーブレット変換部1030と区別する場合、供給システム11のウエーブレット変換部1030を第1のウエーブレット変換部1030と呼び、合成システム21のウエーブレット変換部1260を第2のウエーブレット変換部1260と呼べばよい。この例に限らず、第1の、第2の、…を付記することによって、同様の名称をより明確に区別できる。
【0173】
<合成実行部1270>
合成実行部1270は、分解レベル変換部1250から第1の分解レベルの第1ウエーブレット係数データA61およびマスクデータB61を取得し、ウエーブレット変換部1260から第2の分解レベル(ここでは第1の分解レベルに等しい)の第2ウエーブレット係数データD61を取得する。そして、合成実行部1270は、これらのデータA61,B61,D61に基づいて、第1対象画像中のROIと第2対象画像との画像合成を行う(合成実行処理)。
【0174】
合成実行処理では、合成実行部1270は、第1の分解レベルの第1ウエーブレット係数データA61についてROI係数と非ROI係数とを、第1の分解レベルのマスクデータB61に基づいて判別する(係数判別処理)。そして、判別結果に基づいて、合成実行部1270は、第1ウエーブレット係数データ
A61中のROI係数と、第2ウエーブレット係数データD61中の係数とを合成する(係数合成処理)。それにより、合成実行部1270は合成済み係数データE61を生成する。
【0175】
具体的には、第1ウエーブレット係数データA61によるウエーブレット平面上の或る位置のデータが、ROI係数でない(換言すれば非ROI係数である)場合、当該非ROI係数を、第2ウエーブレット係数データD61によるウエーブレット平面上で同じ位置に存在するデータで置換する。これによれば、第1ウエーブレット係数データA61が、合成済み係数データE61に変換される。
【0176】
図23に、係数合成処理を説明するフローチャートを示す。
図23の係数合成処理S300によれば、まず、第1ウエーブレット係数データA61中から検査対象とするウエーブレット係数を1つ選択する(ステップS301)。そして、その検査対象係数がROI係数と非ROI係数のどちらであるかを判別する(ステップS302)。すなわち、ステップS302において、係数判別処理が行われる。
【0177】
検査対象係数が非ROI係数である場合、その検査対象係数を、第2ウエーブレット係数データD61中の対応するウエーブレット係数で置換する(ステップS303)。これに対し、検査対象係数がROI係数である場合、ステップS303は行わない。第1ウエーブレット係数データA61中の全てのウエーブレット係数を検査し終えるまで、ステップS301〜S303を繰り返す(ステップS304)。
【0178】
図24に、係数合成処理を説明する別のフローチャートを示す。
図24の係数合成処理S300Bでは、上記ステップS303の代わりに、ステップS303Bが設けられている。すなわち、係数判別処理ステップS302において検査対象係数がROI係数であると判別された場合、ステップS303Bにおいて第1ウエーブレット係数データA61中の当該ROI係数を、第2ウエーブレット係数データD61中の対応する位置に埋め込む。これによれば、第2ウエーブレット係数データD61が、合成済み係数データE61に変換される。
【0179】
このように、第1ウエーブレット係数データA61中のROI係数と第2ウエーブレット係数データD61中のウエーブレット係数との合成には、2種類の具体的手法(第1係数合成処理と第2係数合成処理と呼ぶことにする)がある。
【0180】
第1係数合成処理(
図23のS300を参照):第1ウエーブレット係数データA61中の非ROI係数を、第2ウエーブレット係数データD61中の対応するウエーブレット係数で置換する。
【0181】
第2係数合成処理(
図24のS300Bを参照):第1ウエーブレット係数データA61中のROI係数を、第2ウエーブレット係数データD61中の対応する位置に埋め込む。
【0182】
<逆ウエーブレット変換部1280>
図17に戻り、逆ウエーブレット変換部1280は、合成実行部1270によって生成された合成済み係数データE61に対して、分解レベルが0になるまで逆ウエーブレット変換を行う。これにより、合成済み係数データE61から、合成画像データE80が生成される。
【0183】
<後処理部1290>
後処理部1290は、逆ウエーブレット変換部1280から合成画像データE80を取得し、合成画像データE80に対して所定の後処理を行う。所定の後処理は、ここでは、
図3の供給システム11の前処理部1020で行われる所定の前処理とは逆の処理にあたる。
図17の例では、後処理部1290は、タイリング部1291と、色空間変換部1292と、DCレベルシフト部1293とを含んでいる。
【0184】
タイリング部1291は、
図3の供給システム11のタイリング部1023とは逆の処理を行う。具体的には、タイリング部1291は、逆ウエーブレット変換部1280から出力されるタイル単位の合成画像データE80を合成して、1フレーム分の画像データを生成する。なお、合成画像データE80がタイル単位で供給されない場合、換言すれば供給システム11においてウエーブレット変換がタイル単位で行われていなかった場合、タイリング部1291による処理は省略される。あるいは、タイリング部1291自体を省略してもよい。
【0185】
色空間変換部1292は、
図3の供給システム11の色空間変換部1022とは逆の処理を行う。例えば、タイリング部1291から出力された画像データをRGB成分に変換する。DCレベルシフト部1293は、色空間変換部1292から出力された画像データのDCレベルを必要に応じて変換する。
図17の例では、DCレベルシフト部1293から出力される合成画像データE100が、合成システム21の出力画像データとなる。
【0186】
合成画像データE100に基づいて表示部41に表示動作を行わせることによって、第1対象画像中のROIと第2対象画像との合成画像が表示される。
【0187】
<合成システム21の動作>
図25および
図26に、合成システム21の動作を説明するフローチャートを示す。なお、
図25および
図26のフローは結合子C1によって繋がっている。
【0188】
図25および
図26の動作フローS2000によれば、合成システム21に符号化ビットストリームAbsが入力されると、ビットストリーム解析部1210が符号化ビットストリームAbsを取得し(ステップS2101)、符号ビットストリームAbsから符号化データA50と合成制御データC50とを抽出する(ステップS2102)。
【0189】
そして、符号化データA50は、復号化部1220によって復号化され、量子化ウエーブレット係数データA22が生成される(ステップS2103)。量子化ウエーブレット係数データA22は、逆量子化部1240とマスク再現部1230とに入力される(
図17参照)。
【0190】
逆量子化部1240は、量子化ウエーブレット係数データA22に対して逆量子化を行い、第1ウエーブレット係数データA21を生成する(ステップS2104)。一方、マスク再現部1230は、上記のように、量子化ウエーブレット係数データA22に基づいて、供給システム11において量子化ウエーブレット係数データA22の生成時に適用されたマスクデータB21を再現する(ステップS2105)。なお、
図25の例では、ステップS2104,S2105を並行して実行するが、ステップS2104をステップS2105の前または後で実行することも可能である。
【0191】
そして、分解レベル変換部1250が、上記のように、第1ウエーブレット係数データA21およびマスクデータB21の分解レベルを、合成制御データC50によって指定された第1の分解レベルに変換する(ステップS2106)。これにより、第1の分解レベルの第1ウエーブレット係数データA61およびマスクデータB21が生成される。
【0192】
ここで、合成システム21に第2基礎画像データD10が入力されると、ウエーブレット変換部1260が第2基礎画像データD10を取得し(ステップS2201)、第2基礎画像データD10に対して第2の分解レベルまでウエーブレット変換を行う(ステップS2202)。これにより、第2ウエーブレット係数データD61が生成される。
【0193】
上記のように実施の形態1では、第2の分解レベルは、合成制御データC50によって指定された第1の分解レベルに等しい。このため、ウエーブレット変換のステップS2202は、合成制御データC50が取得されるステップS2102よりも後で実行される。また、実施の形態1では上記のように、第2基礎画像データD10は、画像合成に供される第2対象画像データD50として扱われる。
【0194】
ステップS2106,S2202の後、合成実行部1270が、第1ウエーブレット係数データA61と第2ウエーブレット係数データD61とを合成し、合成済み係数データE61を生成する(ステップS2301)。そして、合成済み係数データE61に対して、逆ウエーブレット変換部1280が分解レベル0まで逆ウエーブレット変換を行う(ステップS2302)。これにより、合成画像データE80が生成される。
【0195】
その後、合成画像データE80に対して後処理部1290が所定の後処理を行い(ステップS2303)、ステップS2303後の合成画像データE100が合成システム21から出力される(ステップS2304)。
【0196】
<効果>
実施の形態1によれば、第1対象画像中のROIと第2対象画像との合成は、第1ウエーブレット係数データA61および第2ウエーブレット係数データD61を用いて行われる。また、第1対象画像中のROIの判別は、第1ウエーブレット係数データA61についてROI係数を判別することによって行われる。かかる係数判別は、第1ウエーブレット係数データA61用の展開マスクのデータB61に基づいて、行われる。
【0197】
ウエーブレット変換および逆ウエーブレット変換では、処理対象の注目画素の情報だけでなくその周辺の画素の情報も利用する。ウエーブレット係数用の展開マスクの生成についても同様である。このため、実施の形態1によれば、第1対象画像データおよび第2対象画像データをそのまま合成する場合に比べて、良好な合成画像が得られる。すなわち、輪郭および/または内部に不具合を有した不十分なROIを利用しても(換言すれば、そのような不十分なROI用の原マスクを利用しても)、合成画像上では、修復されたROIを提供できる。
【0198】
また、ウエーブレット変換の分解レベルを合成制御データC50によって制御することによって、合成具合(ROIの修復、ROIの拡張、等)を調整できる。
【0199】
これらに鑑みると、実施の形態1によれば、ROIの設定に高コストな技術を利用しなくても済む。つまり、良好な合成画像を低コストで生成できる。
【0200】
また、上記のように、供給システム11の量子化部1040は、量子化後の非ROI係数が0になるように、第1ウエーブレット係数データA21の量子化を行う。したがって、マスクデータB61自体を供給システム11から出力する必要がない。このため、供給システム11と合成システム21とが有線または無線によって通信する場合、通信量を削減でき、伝送の即時性に役立つ。その結果、画像合成の高速化、換言すれば画像合成の即時性が向上する。
【0201】
ここで、マスクデータを量子化ウエーブレット係数に反映させる手法として、JPEG2000のオプション機能であるMax−shift法がある。このMax−shift法によれば、量子化および逆量子化においてウエーブレット係数のスケールアップおよびスケールダウンが行われる。これに対し、実施の形態1に係る量子化、逆量子化およびマスク再現では、そのようなスケーリング処理は必要ない。
【0202】
また、合成制御データC50が、第1対象画像用のビットストリームAbsのうちで第1対象画像の符号化データA50に影響しない領域に埋め込まれている。このため、既存の符号化ストリームに対する後方互換性を確保することができる。
【0203】
<実施の形態2>
実施の形態1では、マスクデータB21を量子化ウエーブレット係数データA22に反映させる。具体的には、供給システム11の量子化部1040が、量子化後の非ROI係数が0になるように、第1ウエーブレット係数データA21の量子化を行う。かかる手法によれば、効率良く符号化しようとすると、第1ウエーブレット係数のうちのROI係数の量子化後の値が0になってしまう場合がある。特に値が小さいROI係数について、その傾向が大きい。
【0204】
このような問題点は、分解レベル変換部1250(
図17および
図19参照)を変形することによって、解消可能である。
図27および
図28に、実施の形態2に係る分解レベル変換部1250Bを説明するブロック図およびフローチャートを示す。
【0205】
図27の分解レベル変換部1250Bは、既述の
図19との比較から分かるように、マスクデータB21は、マスク復元部1253に供給されるが、マスク展開部1258には供給されない。また、合成制御データC50は、マスク展開部1258に供給されるが、マスク復元部1253には供給されない。
【0206】
かかる構成の下、
図28の処理フローS240のステップS241,S222に示すように、マスク復元部1253は、マスクデータB21に対して、分解レベルが0になるまでマスク復元処理を行う。これにより、分解レベル0のマスク、すなわち原マスクが生成される。原マスクデータはマスク展開部1258に入力され、原マスクデータに対して、合成制御データC50によって指定された第1の分解レベルまで、マスク展開処理が行われる(
図28のステップS201,S202参照)。
【0207】
処理フローS240は
、合成制御データC50によって指定された第1の分解レベルと、第1ウエーブレット係数データA21の初期の分解レベルとの大小関係に関わらず、実行される。なお、上記問題点を解消するためには、第1の分解レベルと初期の分解レベルとが等しい場合にも処理フローS240が実行されることが、好ましい。
【0208】
なお、逆ウエーブレット変換部1252およびウエーブレット変換部1257は、合成制御データC50によって指定された第1の分解レベルと、第1ウエーブレット係数データA21の初期の分解レベルとの大小関係に応じて、実施の形態1と同様に動作する。そして、逆ウエーブレット変換部1252とウエーブレット変換部1257とのいずれか一方の出力データが、第1ウエーブレット係数データA61として、合成実行部1270に供給される。
【0209】
実施の形態2によれば、実施の形態1の効果が得られると共に、上記問題点を解消することができる。
【0210】
<実施の形態3>
図29および
図30に、実施の形態3に係る供給システム11Cおよび合成システム21Cの構成例を示す。供給システム11Cおよび合成システム21Cは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0211】
図29および
図30から分かるように、供給システム11Cおよび合成システム21Cは、基本的には、実施の形態1に係る供給システム11および合成システム21(
図3および
図17参照)と同じ構成を有している。但し、供給システム11Cは、ユーザによって入力された合成制御データC50を、符号化ビットストリームAbsに埋め込まずに出力する。このため、供給システム11Cのビットストリーム生成部1070は合成制御データC50の埋め込みを行わず、合成システム21Cのビットストリーム解析部1210は合成制御データC50の抽出を行わない。
【0212】
図31に、供給システム11Cの動作を説明するフローチャートを示す。
図31の動作フローS1000Cによれば、実施の形態1に係る動作フローS1000(
図16参照)からステップS1005が削除されている。また、ステップS1006の代わりに設けられたステップS1006Cにおいて、符号化ビットリームAbsと合成制御データC50とが出力される。
【0213】
図32に、合成システム21Cの動作を説明するフローチャートを示す。
図32の動作フローS2000Cによれば、実施の形態1に係る動作フローS2000(
図25参照)からステップS2102が削除されている。また、ステップS2101の代わりに設けられたステップS2101Cにおいて、符号化ビットリームAbsと合成制御データC50とが取得される。
図32とは違えて、符号化ビットリームAbsと合成制御データC50とを別々のステップで、換言すれば別々のタイミングで取得してもよい。
【0214】
ここでは、符号化ビットストリームAbs(すなわち符号化データA50)と合成制御データC50とが、同じ媒体50(例えば通信媒体または外部記憶媒体)によって、合成システム21Cに供給されるものとする。但し、異なる媒体50を利用してもよい。例えば、符号化データA50の供給に通信媒体を利用し、合成制御データC50の供給に外部記憶媒体を利用してもよい。
【0215】
実施の形態3によれば、実施の形態1と同様の効果を得ることができる。なお、実施の形態3は実施の形態2と組み合わせ可能であり、それにより実施の形態2と同様の効果を得ることができる。
【0216】
<実施の形態4>
図33および
図34に、実施の形態4に係る供給システム11Dおよび合成システム21Dの構成例を示す。供給システム11Dおよび合成システム21Dは、実施の形態1に係る供給システム11および合成システム21に代えて、画像処理システム1,10,20等に適用可能である。
【0217】
図33および
図34から分かるように、供給システム11Dおよび合成システム21Dは、基本的には、実施の形態1に係る供給システム11および合成システム21(
図3および
図17参照)と同じ構成を有している。但し、合成制御データC50は、合成システム21Dの側に設けられた操作部42(
図2参照)にユーザが入力することによって、合成システム21Dに供給される。このため、供給システム11Dは、合成制御データC50の入力受付およびシステム外部への出力を行わない。
【0218】
他方、符号化ビットストリームAbs(すなわち符号化データA50)は、実施の形態3と同様に、媒体50(例えば通信媒体または外部記憶媒体)によって、合成システム21Dに供給される。合成システム21Dは、合成制御データC50を、符号化データA50を供給する媒体とは異なる媒体によって取得する。
【0219】
実施の形態4によれば、実施の形態1と同様の効果を得ることができる。特に実施の形態4によれば、合成制御データC50を合成システム21Dの側で入力することができるので、合成システム21Dの側で合成具合を調整できる。なお、実施の形態4は実施の形態2と組み合わせ可能であり、それにより実施の形態2と同様の効果を得ることができる。
【0220】
<実施の形態5>
図35に、実施の形態5に係る合成システム21Eの構成例を示す。合成システム21Eは、実施の形態1に係る合成システム21に代えて、画像処理システム1,20等に適用可能である。ここでは、合成システム21Eは、実施の形態1に係る供給システム11(
図3参照)と組み合わされるものとする。
【0221】
図35を
図17と比較すれば分かるように、合成システム21Eは、実施の形態1に係る合成システム21に、セレクタ1300が追加された構成を有している。セレクタ1300は、複数の合成制御データのうちの1つを選択的に、分解レベル変換部1250およびウエーブレット変換部1260に供給する。
図35の例では、セレクタ1300に2つの合成制御データC41,C42が入力され、いずれか一方の合成制御データが合成制御データC50として出力される。
【0222】
第1合成制御データC41は、合成システム21Eの側に設けられた操作部42(
図2参照)に、合成システム21Eのユーザが入力することによって、セレクタ1300に供給される。
【0223】
第2合成制御データC42は、供給システム11から媒体50によって、セレクタ1300に供給される。より具体的には、第2合成制御データC42は供給システム11において符号化ビットストリームAbsに埋め込まれ、その符号化ビットストリームAbsが媒体50によってビットストリーム解析部1210に供給される。そして、第2合成制御データC42は、ビットストリーム解析部1210によって抽出され、セレクタ1300に入力される。つまり、第2合成制御データC42は、第1合成制御データC41とは異なる媒体によって供給される。
【0224】
セレクタ1300は、第1合成制御データC41を優先的に選択して出力するように設定されている。これによれば、実施の形態4と同様に、合成システム21Eの側で合成具合を調整できる。一方、第1合成制御データC41が入力されない場合には第2合成制御データC42が出力されるので、合成システム21Eの側での手間が省ける。
【0225】
複数の合成制御データの選択優先度は固定されていてもよいし、あるいは変更可能であってもよい。選択優先度の変更は、例えば、合成システム21Eの側に設けられた操作部42と、供給システム11の側に設けられた操作部32との一方または両方によって、行うことが想定される。
【0226】
また、実施の形態5によれば、実施の形態1と同様の効果も得ることができる。なお、実施の形態5は実施の形態2等と組み合わせ可能であり、それにより実施の形態2等と同様の効果を得ることができる。
【0227】
なお、
図35を応用すれば、第1の分解レベルの指示が供給システム11に入力され、マスク調整指示が合成システム21
Eに入力されるといった形態、および、その逆の形態も実現可能である。
【0228】
<実施の形態6>
実施の形態1では、第1基礎画像の全体が、画像合成に供される第1対象画像を構成する場合を説明した。実施の形態2〜5についても同様である。ここで、画像合成において基本的には第1基礎画像中の非ROIは不要である点に鑑みると、第1基礎画像のうちでROIを含む一部分だけを切り取り、切り取った画像を第1対象画像として合成システム21に供給する例が考えられる。
【0229】
第1基礎画像の一部分を第1対象画像として切り取ることによって、第1対象画像用の符号化データA50のサイズを削減でき、したがって符号化ビットストリームのサイズを削減することができる。このため、符号化ビットストリームが有線または無線の通信によって伝送される場合、符号化データA50の削減は、通信量を削減でき、伝送の即時性に役立つ。また、第1対象画像が小さくなるのに合わせて、第2対象画像も小さくなるので、合成システムでの演算負荷を削減できる。このため、画像合成の高速化に役立つ。これらに鑑みると、画像合成の即時性が向上する。
【0230】
<切り取り範囲決定処理>
実施の形態6に係るシステムの構成例を説明する前に、第1基礎画像から第1対象画像として切り取る範囲について説明する。
【0231】
上記のように、第1基礎画像の一部分を第1対象画像として切り取れば、供給システムから出力する符号化データのサイズを小さくできる。このため、基本的には、第1基礎画像のうちでROIを含む任意の範囲を、第1対象画像として設定可能である。そして、データサイズを大きく削減するためには、第1対象画像はできるだけ小さい方が好ましい。
【0232】
その一方で、第1対象画像と第2対象画像とはウエーブレット変換後に合成されるので、ウエーブレット係数データにおいても(換言すれば、ウエーブレット平面上においても)ROIの範囲が歪まないように、切り取り範囲を決定する必要がある。
【0233】
図36〜
図39に、切り取り範囲を説明するための図を示す。
図36には、
図8の第1基礎画像60を例にして、ROI60aを含む矩形の最小範囲81を示している。最小範囲81は矩形に設定しているので、最小範囲81の左上端座標(AX1,AY1)および右下端座標(BX1,BY1)によって、最小範囲81の位置および範囲を特定可能である。
図36等では、第1基礎画像60の左上端を座標系の原点O(0,0)に採り、第1基礎画像60の水平方向および垂直方向に直交する2つの軸を採っている。
【0234】
図37には、第1対象画像として切り取る範囲83を示している。切り取り範囲83は、最小範囲81を含み且つ最小範囲81よりも大きい。切り取り範囲83について、左上端座標を(AX3,AY3)とし、右下端座標を(BX3,BY3)とする。
【0235】
図38および
図39は、最小範囲81および切り取り範囲83を、第1基礎画像に対応する基礎マスク70に示した図である。
【0236】
図40に、切り取り範囲83の決定処理のフローチャートを示す。
図40のフローS500によれば、ステップS501において最小範囲特定処理が行われ、ステップS502において追跡処理が行われ、ステップS503において必要範囲特定処理が行われる。
【0237】
<最小範囲特定処理>
最小範囲特定処理のステップS501では、切り取り前の原画像である第1基礎画像60において、ROI60aを含む矩形の最小範囲81を特定する。最小範囲81の特定は、第1基礎画像60を対象とした原マスク、すなわち基礎マスク70に基づいて行われる。
【0238】
例えば、基礎マスク70の各行を上から順に選択して行き、選択した行が、ROI対応部分70aに属する画素を有するか否かを判別する。ROI対応部分70aに属する画素を有すると最初に判別された行の位置が、AY1に当たる。同様に、基礎マスク70の各行を下から順に選択して行くことによって、BY1を求めることができる。さらに、基礎マスク70の各列を左から順に選択して行くことによってAX1を求めることができ、基礎マスク70の各列を右から順に選択して行くことによってBX1を求めることができる。
【0239】
<追跡処理>
ウエーブレット平面上においてROIの範囲が歪まないようにするためには、最小範囲81の全域に対してウエーブレット変換を実行可能であることが必要である。ウエーブレット変換では、注目画素のデータだけでなく、その両側の画素のデータも利用する。このため、最小範囲81の外縁付近の画素に対してウエーブレット変換を行う場合、最小範囲81よりも外側の画素のデータが必要になる。かかる理由により、切り取り範囲83は最小範囲81よりも大きくなるのである。
【0240】
最小範囲81よりも外側に必要な画素の範囲の求め方は、例えば特許文献8を参照することができる。最小範囲81よりも外側に必要な画素の範囲は、ウエーブレット変換の分割フィルタのタップ数に依存する。
【0241】
例えば、分解側のローパスフィルタが5タップであり分解側のハイパスフィルタが3タップである5×3フィルタの場合、
図41に示すように、ローパスフィルタのn番目の出力を得るためには、入力側において{2n−2}番目から{2n+2}番目の5画素分のデータが必要である。また、
図42に示すように、ハイパスフィルタのn番目の出力を得るためには、入力側において2n番目から{2n+2}番目の3画素分のデータが必要である。
【0242】
また、分解側のローパスフィルタが9タップであり分解側のハイパスフィルタが7タップであるDaubechies9×7フィルタの場合、
図43に示すように、ローパスフィルタのn番目の出力を得るためには、入力側において{2n−4}番目から{2n+4}番目の9画素分のデータが必要である。また、
図44に示すように、ハイパスフィルタのn番目の出力を得るためには、入力側において{2n−2}番目から{2n+4}番目の7画素分のデータが必要である。
【0243】
さらに、最小範囲81よりも外側に必要な画素の範囲は、ウエーブレット変換の分解レベルにも依存する。なぜならば、ウエーブレット平面において最上位帯域成分(すなわち最も分解された帯域成分)については、分割フィルタによる処理が、分解レベルの回数だけ繰り返されるからである。
【0244】
これらの点に鑑み、追跡処理のステップS502では、最終的なウエーブレット平面の最上位帯域成分において、最小範囲81に対応する範囲を追跡最小範囲として特定する。
【0245】
ここで、ウエーブレット変換は供給システムのウエーブレット変換部1030(
図3等参照)において行われる。また、供給システム側におけるこの初期の分解レベルよりも、合成制御データC50によって指定された第1の分解レベルの方が大きい場合、合成システムの分解レベル変換部1250(
図17、
図27等参照)においてもウエーブレット変換が行われる。かかる点に鑑みると、初期の分解レベルと第1の分解レベルとのうちで高い方の分解レベルのウエーブレット平面を、上記の最終的なウエーブレット平面として想定することによって、ROIの範囲が歪むのをより確実に回避できる。なお、初期の分解レベルと第1の分解レベルとのうちで高い方の分解レベルを、最高分解レベルと呼ぶことにする。
【0246】
図45に、追跡最小範囲を説明するための図を示す。
図45では、分解レベル3のウエーブレット平面63のうちで最上位帯域成分LL3,HL3,LH3,HH3を拡大して図示している。また、
図45は、最上位帯域成分LL3,HL3,LH3,HH3のうちで最低域の帯域成分LL3において、最小範囲81に対応する追跡最小範囲82を特定する場合を示している。なお、ウエーブレット平面の原点O(0,0)は、原画像(すなわち第1基礎画像60)の原点Oに対応する。ウエーブレット平面63上の追跡最小範囲82について、左上端座標を(AX2,AY2)とし、右下端座標を(BX2,BY2)とする。
【0247】
図46および
図47に、ウエーブレット変換に5×3フィルタが使用される場合において、追跡最小範囲82を求めるためのフローチャートを示す。なお、
図46は左上端座標(AX2,AY2)の求め方を示し、
図47は右下端座標(BX2,BY2)の求め方を示している。
【0248】
図46の処理フローS510によれば、ステップS511においてパラメータqに最小範囲81の左上端座標(AX1,AY1)が設定される。ここでは、まず、q=AX1が設定されるとする。
【0249】
ステップS512においてqが偶数と判別された場合、ステップS513においてパラメータp=q/2に設定される。これに対し、ステップS512においてqが奇数と判別された場合、ステップS514においてp=(q−1)/2に設定される。
【0250】
そして、ステップS515において現在の分解レベルが、最高分解レベルに達していないと判別された場合、ステップS516においてpの現在値をqの新たな値に設定する(q=p)。その後、ステップS517において分解レベルを上げ、ステップS512に戻る。
【0251】
これに対し、ステップS515において現在の分解レベルが最高分解レベルに達したと判別された場合、ステップS518においてその時点のpの値を追跡最小範囲82のAX2に設定する。
【0252】
ステップS511においてq=AY1に設定することによって、ステップS518において追跡最小範囲82のAY2が求められる。
【0253】
図47の処理フローS520によれば、最小範囲81のBX1から追跡最小範囲82のBX2が求められ、最小範囲81のBY1から追跡最小範囲82のBY2が求められる。処理フローS520は、ステップS524での演算内容を除いて、基本的には
図46の処理フローS510と同様である。すなわち、ステップS522においてqが奇数と判別された場合、ステップS524においてp=(q+1)/2に設定される。
【0254】
処理フローS510,S520に鑑みると、ウエーブレット変換に5×3フィルタが使用される場合の追跡処理は次のようにも表現できる。
【0255】
AX1が偶数ならばAX1/2を新たなAX1に設定し、AX1が奇数ならば{AX1−1}/2を新たなAX1に設定するという処理(第1再帰処理と呼ぶことにする)を、最高分解レベルの値によって指定された指定回数行い、最終的に得られたAX1をAX2に設定する。
【0256】
AY1が偶数ならばAY1/2を新たなAY1に設定し、AY1が奇数ならば{AY1−1}/2を新たなAY1に設定するという処理(第2再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY1をAY2に設定する。
【0257】
BX1が偶数ならばBX1/2を新たなBX1に設定し、BX1が奇数ならば{BX1+1}/2を新たなBX1に設定するという処理(第3再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX1をBX2に設定する。
【0258】
BY1が偶数ならばBY1/2を新たなBY1に設定し、BY1が奇数ならば{BY1+1}/2を新たなBY1に設定するという処理(第4再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY1をBY2に設定する。
【0259】
図48および
図49に、ウエーブレット変換にDaubechies9×7フィルタが使用される場合において、追跡最小範囲82を求めるためのフローチャートを示す。なお、
図48は左上端座標(AX2,AY2)の求め方を示し、
図49は右下端座標(BX2,BY2)の求め方を示している。
【0260】
図48の処理フローS530によれば、最小範囲81のAX1から追跡最小範囲82のAX2が求められ、最小範囲81のAY1から追跡最小範囲82のAY2が求められる。処理フローS530は、ステップS533,S534での演算内容を除いて、基本的には
図46の処理フローS510と同様である。すなわち、ステップS532においてqが偶数と判別された場合、ステップS533においてp=q/2−1に設定される。これに対し、ステップS532においてqが奇数と判別された場合、ステップS534においてp=(q−3)/2に設定される。
【0261】
図49の処理フローS540によれば、最小範囲81のBX1から追跡最小範囲82のBX2が求められ、最小範囲81のBY1から追跡最小範囲82のBY2が求められる。処理フローS540は、ステップS543,S544での演算内容を除いて、基本的には
図46の処理フローS510と同様である。すなわち、ステップS542においてqが偶数と判別された場合、ステップS543においてp=(q+2)/2に設定される。これに対し、ステップS542においてqが奇数と判別された場合、ステップS544においてp=(q+3)/2に設定される。
【0262】
処理フローS530,S540に鑑みると、ウエーブレット変換にDaubechies9×7フィルタが使用される場合の追跡処理は次のようにも表現できる。
【0263】
AX1が偶数ならば{AX1/2−1}を新たなAX1に設定し、AX1が奇数ならば{AX1−3}/2を新たなAX1に設定するという処理(第9再帰処理と呼ぶことにする)を、最高分解レベルの値によって指定された指定回数行い、最終的に得られたAX1をAX2に設定する。
【0264】
AY1が偶数ならば{AY1/2−1}を新たなAY1に設定し、AY1が奇数ならば{AY1−3}/2を新たなAY1に設定するという処理(第10再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY1をAY2に設定する。
【0265】
BX1が偶数ならば{BX1+2}/2を新たなBX1に設定し、BX1が奇数ならば{BX1+3}/2を新たなBX1に設定するという処理(第11再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX1をBX2に設定する。
【0266】
BY1が偶数ならば{BY1+2}/2を新たなBY1に設定し、BY1が奇数ならば{BY1+3}/2を新たなBY1に設定するという処理(第12再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY1をBY2に設定する。
【0267】
なお、ステップS513,S514,S523,S524,S533,S534,S543,S544での演算内容は、フィルタのタップ数に応じて規定されている。また、演算のしやすさに鑑みて、偶数単位への桁上げを行っている。
【0268】
<必要範囲特定処理>
図40に戻り、必要範囲特定処理のステップS503では、追跡最小範囲82内のウエーブレット係数を算出するために必要なデータが、切り取り前の第1基礎画像60のどの範囲に存在するのかを特定する。特定された必要範囲が切り取り範囲83になる。
【0269】
図50に、ウエーブレット変換に5×3フィルタが使用される場合において、追跡最小範囲82から切り取り範囲83を求めるためのフローチャートを示す。
【0270】
図50の処理フローS550によれば、ステップS551においてパラメータrに追跡最小範囲82のAX2,AY2,BX2,BY2が設定される。ここでは、まず、r=AX2が設定されるとする。
【0271】
ステップS552においてrがBX2またはBY2ではないと判別された場合(換言すれば、rが追跡
最小範囲82の左上端座標であると判別された場合)、ステップS553においてパラメータs=2r−2に設定される。これに対し、ステップS552においてrがBX2またはBY2であると判別された場合(換言すれば、rが追跡
最小範囲82の
右下端座標であると判別された場合)、ステップS554においてs=2r+2に設定される。
【0272】
そして、ステップS555において現在の分解レベルが0に達していないと判別された場合、ステップS556においてsの現在値をrの新たな値に設定する(r=s)。その後、ステップS557において分解レベルを下げ、ステップS552に戻る。
【0273】
これに対し、ステップS555において現在の分解レベルが0に達したと判別された場合、ステップS558においてその時点のsの値を切り取り範囲83のAX3に設定する。
【0274】
ステップS551においてr=AY2,BX2,BY2に設定することによって、ステップS558において切り取り範囲83のAY3,BX3,BY3が求められる。
【0275】
処理フローS550に鑑みると、ウエーブレット変換に5×3フィルタが使用される場合の必要範囲特定処理は次のようにも表現できる。
【0276】
{AX2×2−2}を新たなAX2に設定するという処理(第5再帰処理と呼ぶことにする)を、最高分解レベルの値によって指定された指定回数行い、最終的に得られたAX2をAX3に設定する。
【0277】
{AY2×2−2}を新たなAY2に設定するという処理(第6再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY2をAY3に設定する。
【0278】
{BX2×2+2}を新たなBX2に設定するという処理(第7再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX2をBX3に設定する。
【0279】
{BY2×2+2}を新たなBY2に設定するという処理(第8再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY2をBY3に設定する。
【0280】
図51に、ウエーブレット変換にDaubechies9×7フィルタが使用される場合において、追跡最小範囲82から切り取り範囲83を求めるためのフローチャートを示す。
【0281】
図51の処理フローS560は、ステップS563,S564での演算内容を除いて、基本的には
図50の処理フローS550と同様である。すなわち、ステップS562においてrがBX2またはBY2ではないと判別された場合、ステップS563においてs=2r−4に設定される。これに対し、ステップS562においてrがBX2またはBY2であると判別された場合、ステップS564においてs=2r+4に設定される。
【0282】
処理フローS560に鑑みると、ウエーブレット変換にDaubechies9×7フィルタが使用される場合の必要範囲特定処理は次のようにも表現できる。
【0283】
{AX2×2−4}を新たなAX2に設定するという処理(第13再帰処理と呼ぶことにする)を、最高分解レベルの値によって指定された指定回数行い、最終的に得られたAX2をAX3に設定する。
【0284】
{AY2×2−4}を新たなAY2に設定するという処理(第14再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたAY2をAY3に設定する。
【0285】
{BX2×2+4}を新たなBX2に設定するという処理(第15再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBX2をBX3に設定する。
【0286】
{BY2×2+4}を新たなBY2に設定するという処理(第16再帰処理と呼ぶことにする)を上記指定回数行い、最終的に得られたBY2をBY3に設定する。
【0287】
<供給システム11F>
図52に、実施の形態6に係る供給システム11Fの構成例を示す。供給システム11Fは、実施の形態1に係る供給システム11に代えて、画像処理システム1,10等に適用可能である。供給システム11Fでは、マスク生成部1050に代えてマスク生成部1050Fが設けられ、第1画像切り取り部1080が追加されている。供給システム11Fのその他の構成は、実施の形態1に係る供給システム11と同様である。
【0288】
図53に、マスク生成部1050Fの構成例を示す。
図53に示すように、マスク生成部1050Fは、既述の基礎マスク生成部1051およびマスク展開部1052と、切り取り範囲決定部1053と、マスク切り取り部1054とを含んでいる。
【0289】
切り取り範囲決定部1053は、切り取り範囲83を決定する。具体的には、切り取り範囲決定部1053は、切り取り範囲決定処理S500(
図40参照)を、基礎マスクデータB10と、合成制御データC50によって指定された第1の分解レベルと、ウエーブレット変換部1030における初期の分解レベル(初期設定データH50によって与えられる)に基づいて行う。そして、切り取り範囲決定部1053は、切り取り範囲83を特定するためのデータである切り取り範囲特定データF50を生成する。切り取り範囲特定データF50は、具体的には、切り取り範囲83の左上端座標(AX3,AY3)および右下端座標(BX3,BY3)のデータである。
【0290】
マスク切り取り部1054は、切り取り範囲特定データF50に基づいて、基礎マスクデータB10のうちで切り取り範囲83(
図39参照)内のデータを、展開マスクのデータB21用に(換言すれば、展開マスクのための原マスクのデータB20として)切り取る。切り取られたマスクは、マスク展開部1052において、初期設定データH50によって指定された初期の分解レベルまで展開される。すなわち、原マスクデータB20から展開マスクデータB21が生成される。
【0291】
図52に戻り、マスク生成部1050Fで生成されたマスクデータB21は、実施の形態1と同様に量子化部1040に供給される。切り取り範囲特定データF50は、ビットストリーム生成部1070に供給され、合成制御データC50と共に符号化ビットストリームAbsに埋め込まれる。また、切り取り範囲特定データF50は、第1画像切り取り部1080に供給される。
【0292】
第1画像切り取り部1080は、切り取り範囲特定データF50に基づいて、第1基礎画像データA10のうちで切り取り範囲83内のデータを切り取る(
図37参照)。切り取ったデータは、第1対象画像データA20として、前処理部1020に供給される。
【0293】
<合成システム21F>
図54に、実施の形態6に係る合成システム21Fの構成例を示す。合成システム21Fは、実施の形態1に係る合成システム21に代えて、画像処理システム1,20等に適用可能である。合成システム21Fでは、第2画像切り取り部1310および埋め込み部1320が追加されている。合成システム21Fのその他の構成は、実施の形態1に係る合成システム21と同様である。
【0294】
第2画像切り取り部1310は、第2基礎画像データD10と、切り取り範囲特定データF50と、合成位置指定データG50とを取得する。切り取り範囲特定データF50は、ビットストリーム解析部1210において符号化ビットストリームAbsから抽出され、第2画像切り取り部1310に供給される。
【0295】
合成位置指定データG50は、第2基礎画像において第1対象画像中のROIを合成する位置を指定するデータである。合成位置指定データG50は、例えば、後述のように合成画像データE80の埋め込み位置のデータとして理解できる。より具体的には、合成画像データE80の埋め込み位置は、合成画像データE80の埋め込み範囲の左上端部の位置、あるいは、当該埋め込み範囲の中心位置、等によって指定可能である。合成位置指定データG50は、合成システム21Fの側に設けられた操作部42(
図2参照)に、合成システム21Fのユーザが入力することによって、第2画像切り取り部1310に供給される。
【0296】
第2画像切り取り部1310は、合成位置指定データG50に基づいて、第2基礎画像中に合成先範囲を設定する。合成先範囲は、第1対象画像と同じ形状および大きさの範囲であり、このため第1対象画像と合同である。あるいは、合成先範囲は、第1対象画像に対する相似比が1の相似形範囲である、と表現してもよい。合成先範囲は、ここでは切り取り範囲特定データF50によって特定されるものとする。但し、切り取り範囲特定データF50に代えて、符号化データA50から第1対象画像の同じ形状および大きさを特定するようにしてもよい。第2画像切り取り部1310は、第2基礎画像データD10のうちで合成先範囲内のデータを切り取る。切り取ったデータは、第2対象画像データD50として、ウエーブレット変換部1260に供給される。
【0297】
埋め込み部1320は、逆ウエーブレット変換部1280によって生成され後処理部1290で処理された合成画像データE80を、第2基礎画像データD10中の合成先範囲に埋め込む。合成画像データE80がはめ込まれた第2基礎画像データD10が、合成システム21Fの出力データである合成画像データE100として出力される。
【0298】
<動作>
図55および
図56に、供給システム11Fの動作を説明するフローチャートを示す。なお、
図55および
図56のフローは結合子C2によって繋がっている。
図55および
図56の動作フローS1000Fは基本的には実施の形態1に係る動作フローS1000(
図16参照)と同様であるが、次の点が異なる。動作フローS1000Fでは、マスク生成ステップS1200に代えて、マスク生成ステップS1200Fが設けられている。また、第1基礎画像切り取りステップS1103が追加されている。また、データ埋め込みステップS1005に代えて、データ埋め込みステップS1005Fが設けられている。
【0299】
マスク生成ステップS1
200Fによれば、基礎マスク生成ステップS1201において、基礎マスク生成部1051が基礎マスクデータB10を生成する。次に、切り取り範囲決定ステップS1203において、切り取り範囲決定部1053が切り取り範囲83を決定する。そして、マスク切り取りステップS1204において、マスク切り取り部1054が、基礎マスクデータB10から、展開マスク用の原マスクデータB20を生成する。次に、マスク展開ステップS1202において、マスク展開部1052が、原マスクデータB20に対してマスク展開処理を行い、展開マスクデータB21を生成する。
【0300】
第1基礎画像切り取りステップS1103では、第1画像切り取り部1080が、ステップS1203で生成された切り取り範囲特定データF50に基づいて、第1基礎画像データA10から第1対象画像データA20を切り取る。このため、ステップS1103は、ステップS1203の後に実行される。ステップS1103の後、前処理ステップS1101が実行される。
【0301】
データ埋め込みステップS1005Fでは、ビットストリーム生成部1070が、符号化ビットストリームAbsに、合成制御データC50と切り取り範囲特定データF50を埋め込む。
【0302】
図57および
図58に、合成システム21Fの動作を説明するフローチャートを示す。なお、
図57および
図58のフローは結合子C3によって繋がっている。
図57および
図58の動作フローS2000Fは基本的には実施の形態1に係る動作フローS2000(
図25および
図26参照)と同様であるが、次の点が異なる。動作フローS2000Fでは、データ抽出ステップS2102(
図25参照)に代えて、データ抽出ステップS2102Fが設けられている。また、第2基礎画像切り取りステップS2203と画像埋め込みステップS2305が追加されている。
【0303】
データ抽出ステップS2102Fでは、ビットストリーム解析部1210が符号化ビットストリームAbsから、符号化データA50と合成制御データC50と切り取り範囲特定データF50とを抽出する。
【0304】
第2基礎画像切り取りステップS2203では、第2画像切り取り部1310が、ステップS2102Fで抽出された切り取り範囲特定データF50に基づいて、第2基礎画像データD10から第2対象画像データD50を切り取る。このため、ステップS2203は、ステップS2102Fの後に実行される。ステップS2203の後、ウエーブレット変換ステップS220
2が実行される。
【0305】
画像埋め込みステップS2305は、後処理ステップS2303の後に実行される。当該ステップS2305では、埋め込み部1320が、後処理後の合成画像データE80を、第2基礎画像データD10中の合成先範囲に埋め込む。当該ステップS2305の後に、出力ステップS2304が実行される。
【0306】
<効果>
実施の形態6によれば、実施の形態1等と同様の効果を得ることができる。
【0307】
特に実施の形態6によれば、供給システム11Fは、第1基礎画像から第1対象画像を切り取って出力する。このため、符号化データA50のサイズを削減でき、したがって符号化ビットストリームAbsのサイズを削減することができる。したがって、符号化ビットストリームAbsが有線または無線の通信によって伝送される場合、通信量を削減でき、伝送の即時性に役立つ。また、第1対象画像および第2対象画像のサイズが小さくなるので、合成システム21Fでの演算負荷を削減できる。このため、画像合成の高速化に役立つ。これらに鑑みると、画像合成の即時性が向上する。
【0308】
なお、実施の形態6は実施の形態2等と組み合わせ可能であり、それにより実施の形態2等と同様の効果を得ることができる。
【0309】
<追跡処理についての考察>
ここで、上記ではウエーブレット変換が各分解レベルのウエーブレット平面に含まれる最低域の帯域成分を再帰的に分解する方式を採用していることに鑑み、追跡処理の対象にする最上位帯域成分を、最高分解レベルのウエーブレット平面において最低域の帯域成分LL3とした。これに対し、例えばウエーブレット変換がウエーブレット平面の最高域の帯域成分を再帰的に分解する方式を採用している場合、最高分解レベルのウエーブレット平面において最高域の帯域成分が追跡処理の対象になる。
【0310】
また、上記では、4つの最上位帯域成分LL3,HL3,LH3,HH3のうちで最低域の帯域成分LL3のみを、追跡処理の対象にした。すなわち、ローパスフィルタの出力のみを、追跡処理の対象にした。追跡処理に関してハイパスフィルタが不要である理由を、以下に説明する。
【0311】
<
図46のステップS514について(5×3フィルタ)>
図46のステップS512においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が奇数と判別された場合、図
14を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式1)
p=n …(式2)
これを解くと、p=(q−1)/2となる(式3)。これはステップS514に係る上記式になる。
【0312】
ここで
図14を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式4)
p=n−1 …(式5)
これを解くとp=(q−3)/2となる(式6)。
【0313】
<
図46のステップS513について(5×3フィルタ)>
図46のステップS512においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が偶数と判別された場合、
図14を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式7)
p=n …(式8)
これを解くとp=q/2となる(式9)。これはステップS513に係る式になる。
【0314】
ここで
図14を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式10)
p=n−1 …(式11)
これを解くとp=q/2−1となる(式12)。
【0315】
ここで、高域成分を再帰的に入力しない場合のMallat型を考えると、高域側の出力は入力側にはならない。よって、高域成分は最後の分解レベルだけを考えればよいことになる。低域成分を再帰的に入力する場合は、入力側のみを考えればよい。
【0316】
<
図50のステップS553について(5×3フィルタ)>
図41の5タップのローパスフィルタに、低域成分が入力されたとする。また、
図41においてn=pとする。
図50のステップS551において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS552参照)、
r=p …(式13)
s=2p−2 …(式14)
これを解くとs=2r−2となる(式15)。これはステップS553に係る式になる。
【0317】
図42の3タップのハイパスフィルタに、高域成分が入力されたとする。また、
図42においてn=pとする。
図50のステップS551において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS552参照)、
r=p …(式16)
s=2p …(式17)
これを解くとs=2rとなる(式18)。
【0318】
ここで、上記のように、
図46のステップ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を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0319】
また、上記のように、
図46のステップ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を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0320】
このように高域成分を再帰的に入力しない場合のMallat型を考えると、低域成分と高域成分のいずれを追跡しても同じ結果になる。このため、ウエーブレット変換に5×3フィルタが使用される場合の
図46、
図47および
図50の処理フローS510,S520,S550では低域成分だけに着目している。
【0321】
<
図48のステップS534について(9×7フィルタ)>
図48のステップS532においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が奇数と判別された場合、
図15を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式27)
p=n−1 …(式28)
これを解くと、p=(q−3)/2となる(式29)。これはステップS534に係る上記式になる。
【0322】
ここで
図15を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n+1 …(式30)
p=n−2 …(式31)
これを解くとp=(q−5)/2となる(式32)。
【0323】
<
図48のステップS533について(9×7フィルタ)>
図48のステップS532においてパラメータq、すなわち最小範囲81の左端座標AX1または上端座標AY1が偶数と判別された場合、
図15を参照して低域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式33)
p=n−1 …(式34)
これを解くとp=q/2−1となる(式35)。これはステップS533に係る式になる。
【0324】
ここで
図15を参照して高域成分(すなわちハイパスフィルタ側)についても考える。高域成分の左側(上側に相当)の出力をpとすると、
q=2n …(式36)
p=n−2 …(式37)
これを解くとp=q/2−2となる(式38)。
【0325】
ここで、高域成分を再帰的に入力しない場合のMallat型を考えると、高域側の出力は入力側にはならない。よって、高域成分は最後の分解レベルだけを考えればよいことになる。低域成分を再帰的に入力する場合は、入力側のみを考えればよい。
【0326】
<
図51のステップS563について(9×7フィルタ)>
図43の9タップのローパスフィルタに、低域成分が入力されたとする。また、
図43においてn=pとする。
図51のステップS561において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS562参照)、
r=p …(式39)
s=2p−4 …(式40)
これを解くとs=2r−4となる(式41)。これはステップS563に係る式になる。
【0327】
図44の7タップのハイパスフィルタに、高域成分が入力されたとする。また、
図44においてn=pとする。
図51のステップS561において追跡最小範囲82の左端座標AX2または上端座標AY2が入力された場合(ステップS562参照)、
r=p …(式42)
s=2p−2 …(式43)
これを解くとs=2r−2となる(式44)。
【0328】
ここで、上記のように、
図48のステップ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を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0329】
また、上記のように、
図48のステップ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を見れば分かるように、低域成分と高域成分とのいずれについても同様の結果になる。
【0330】
このように高域成分を再帰的に入力しない場合のMallat型を考えると、低域成分と高域成分のいずれを追跡しても同じ結果になる。このため、ウエーブレット変換に9×7フィルタが使用される場合の
図48、
図49および
図51の処理フローS530,S540,S560では低域成分だけに着目している。
【0331】
<実施の形態6の変形例>
実施の形態6では第2基礎画像は第1対象画像および第2対象画像よりも大きいものとした。しかし、第2基礎画像自体が第1対象画像および第2対象画像と同じ大きさであってもよい。この場合、第2画像切り取り部1310を削除してもよい。但し、第2画像切り取り部1310が設けられていることによって、様々な大きさの第2基礎画像に対応でき、利便性が向上する。
【0332】
<実施の形態7>
上記のように、分解レベル1において最低域の帯域成分LL1は、原画像に対する縮小比が1/2の画像(換言すれば、画像サイズが1/4の画像)を提供可能である。最低域の帯域成分LLを再帰的に分解する方式によれば、分解レベル2の帯域成分LL2は、分解前の帯域成分LL1によって提供される画像に対する縮小比が1/2の画像を提供可能であり、したがって原画像に対する縮小比が1/4(=1/2
2)の画像を提供可能である。
【0333】
一般化するならば、分解レベルmにおける最低域の帯域成分LLmは、原画像に対する縮小比が1/2
mの画像を提供可能である(
図59参照)。なお、上記のようにウエーブレット変換が行われていない状態の原画像を分解レベル0に対応させることによって、mは0以上の整数である。
【0334】
逆に考えると、原画像を1/2
mで縮小した場合の画像サイズは、原画像を分解レベルmまで分解した場合の最低域の帯域成分LLmによって提供される画像サイズと等しい。このため、1/2
mの縮小画像のサイズを、分解レベルm相当の画像サイズと表現してもよい。なお、画像サイズについての当該表現は、縮小画像を、原画像と同じ画像サイズを有する他の画像と比較する場合にも使える。
【0335】
上記の点に鑑みると、
図59の概念図に示すように、逆ウエーブレット変換の回数によって、合成画像の画像サイズを制御可能である。
図60に、実施の形態7に係る逆ウエーブレット変換部1280Gを説明するブロック図を示す。逆ウエーブレット変換部1280Gは、合成システム21等の逆ウエーブレット変換部1280(
図17等参照)に代えて、実施の形態1〜5に適用可能である。
【0336】
逆ウエーブレット変換部1280Gは、逆ウエーブレット変換処理ステップ(
図26のステップS2302を参照)において、合成済み係数データE61に対して、分解レベルが所定の終了レベルになるまで逆ウエーブレット変換を行い、逆ウエーブレット変換後のデータのうちで最低域の帯域成分LLを合成画像データE80に設定する。逆ウエーブレット変換の終了レベル、換言すれば合成画像の画像サイズは、画像サイズ制御データC60によって、逆ウエーブレット変換部1280Gに指示される。ここでは、画像サイズ制御データC60は、合成システムに、当該合成システムのユーザによって入力されるものとする。但し、画像サイズ制御データC60は、合成制御データC50と同様に、供給システムから供給されてもよい(
図3および
図29参照)。
【0337】
画像サイズ制御データC60は、例えば、逆ウエーブレット変換の終了レベルを直接的に示す数値である。あるいは、画像サイズ制御データC60は、逆ウエーブレット変換の終了レベルを導出可能なデータであってもよい。逆ウエーブレット変換の終了レベルを導出可能なデータの例として、逆ウエーブレット変換の回数を示す数値、原画像サイズに対する縮小比を示す数値、等が挙げられる。
【0338】
逆ウエーブレット変換の終了レベルは、分解レベル0以上、且つ、合成済み係数データE61の分解レベル(すなわち、合成制御データC50によって指定された分解レベル)以下の範囲で設定可能である。逆ウエーブレット変換の終了レベルが分解レベル0に設定された場合、実施の形態1〜5と同様に、原画像サイズの合成画像を得ることができる。換言すれば、実施の形態1〜5は逆ウエーブレット変換の終了レベルが0に固定された例であり、本実施の形態7は逆ウエーブレット変換の終了レベルを可変にした例である。他方、逆ウエーブレット変換の終了レベルが合成済み係数データE61の分解レベルと同じレベルに設定された場合、逆ウエーブレット変換は行われず、合成済み係数データE61中の最低域の帯域成分LLが合成画像データE80として抽出される。
【0339】
実施の形態7によれば、合成画像の画像サイズを制御することができ、原画像と同じサイズだけでなく原画像よりも小さいサイズの合成画像を得ることができる。
【0340】
<実施の形態8>
実施の形態8では、実施の形態7とは異なる手法によって、合成画像の画像サイズを制御する例を説明する。
図61に、実施の形態8に係る画像合成の概念図を示す。
図61によれば、第1基礎画像はそのまま第1対象画像として利用され、第1対象画像から第1ウエーブレット係数データが生成される。ここでは、第1ウエーブレット係数データの分解レベルが3である例を挙げる。
【0341】
他方、第2基礎画像の全体が縮小され、その縮小画像が第2対象画像として利用される。
図61の例では、第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ウエーブレット係数データの全体とが、係数合成処理に利用される。
図61の例では、第1ウエーブレット係数データの上記一部とは、第1ウエーブレット係数データのうちで、最も分解された帯域成分(すなわち最上位帯域成分)LL3,HL3,LH3,HH3と、最上位帯域成分よりも1レベル低い帯域HL2,LH2,HH2である。
【0344】
このような合成によって、第2ウエーブレット係数データと同じ分解レベル(ここでは分解レベル2)の合成済み係数データが生成される。そして、合成済み係数データに対して、分解レベル0まで逆ウエーブレット変換を行うことによって、合成画像データが生成される。この合成画像データによれば、第2対象画像と同じ大きさおよび形状を有する合成画像、換言すれば第2基礎画像および第1基礎画像に対する縮小比が1/2の合成画像が提供される。
【0345】
図62に、第2基礎画像に対する第2対象画像の縮小比が1/4(=1/2
2)である例を示す。
図62においても、第1基礎画像はそのまま第1対象画像として利用され、第1対象画像から分解レベル3の第1ウエーブレット係数データが生成される。他方、第2対象画像から分解レベル1の第2ウエーブレット係数データが生成される。この場合、第2ウエーブレット係数データの分解レベル(=1)は、第1ウエーブレット係数データの分解レベル(=3)よりも2レベル低い。
【0346】
次に、第1ウエーブレット係数データ(
図62の例では、第1ウエーブレット係数データのうちで最上位帯域成分LL3,HL3,LH3,HH3)と、第2ウエーブレット係数データとが合成される。
【0347】
このような合成によって、第2ウエーブレット係数データと同じ分解レベル(ここでは分解レベル1)の合成済み係数データが生成される。そして、合成済み係数データに対して、分解レベル0まで逆ウエーブレット変換を行うことによって、合成画像データが生成される。この合成画像データによれば、合成画像は、第2対象画像と同じ画像サイズで以て、換言すれば第2基礎画像および第1基礎画像に対して縮小比1/4(=1/2
2)で以て提供される。
【0348】
図63に、第1ウエーブレット係数の分解レベルが4であり、第2基礎画像に対する第2対象画像の縮小比が1/2である例を示す。この場合、第2ウエーブレット係数データの分解レベルは3であり、第1ウエーブレット係数データの分解レベル(=4)よりも1レベル低い。
図63の場合、第1ウエーブレット係数データのうちで、最上位帯域成分LL4,HL4,LH4,HH4から、最上位帯域成分よりも2レベル低い帯域HL2,LH2,HH2までの範囲のデータが、合成に利用される。そして、合成画像は、第2対象画像と同じ画像サイズで以て、換言すれば第2基礎画像および第1基礎画像に対して縮小比1/2で以て提供される。
【0349】
図61〜
図63から分かるように、第2対象画像の画像サイズを制御することによって、合成画像の画像サイズ
を制御できる。
図61〜
図63の例から、次の知見が得られる。
【0350】
第2対象画像は第1対象画像と相似形を成し、第1対象画像に対する第2対象画像の相似比は1未満である。なお、1未満の相似比を縮小比と呼んでもよい。第2ウエーブレット係数データの分解レベルは、第1ウエーブレット係数データの分解レベルと上記相似比とに応じて決まる。すなわち、第1ウエーブレット係数データの分解レベル(第1の分解レベル)をP1とし、第2ウエーブレット係数データの分解レベル(第2の分解レベル)をP2とし、第1対象画像に対する第2対象画像の相似比を1/2
P3とした場合、P2=P1−P3が成り立つ。ここではP1,P2,P3は自然数である。
【0351】
また、上記のように、係数合成処理は第2ウエーブレット係数データの範囲に合わせて行われる。このため、第1ウエーブレット係数データについては、最上位帯域成分から数えて所定のレベル数の範囲の帯域成分データが利用され、当該所定のレベル数は第2ウエーブレット係数データの分解レベルを表す数値で与えられる。
【0352】
係数合成処理は第2ウエーブレット係数データの範囲に合わせて行われるので、合成済み係数データの分解レベルは第2ウエーブレット係数データと同じになる。合成済み係数データに対して、分解レベル0まで逆ウエーブレット変換を行うことによって、第2対象画像と同じ画像サイズの合成画像が得られる。
【0353】
図64に、上記知見を実施の形態1に応用した例について、合成システム21Hの構成例を示す。合成システム21Hは、実施の形態1に係る合成システム21(
図17参照)に画像縮小部1330が追加された構成を有する。画像縮小部1330は、第2基礎画像データD10を取得し、第2基礎画像を縮小することによって、第1対象画像と相似形を成す第2対象画像を生成する。生成された第2対象画像データD50は、ウエーブレット変換部1260に供給される。
【0354】
例えば、第2基礎画像を1/2
P3に縮小する場合、画像縮小部1330は、第2基礎画像データD10に対するウエーブレット変換を、最低域の帯域成分LLを再帰的に分解する方式によって、分解レベルP3まで行う。そして、画像縮小部1330は、分解レベルP3における最低域の帯域成分LLを、第2対象画像データD50として抽出する。
【0355】
あるいは、平均フィルタを利用した一般的な画像縮小処理によって第2対象画像を生成するように、画像縮小部1330を構成してもよい。その場合、1/2の縮小をP3回行ってもよいし、一度に1/2
P3の縮小を行ってもよい。
【0356】
第2対象画像の画像サイズ、換言すれば合成画像の画像サイズは、画像サイズ制御データC70によって、画像縮小部1330に指示される。ここでは、画像サイズ制御データC70は、合成システム21Hに、当該合成システム21Hのユーザによって入力されるものとする。但し、画像サイズ制御データC70は、合成制御データC50と同様に、供給システムから供給されてもよい(
図3および
図29参照)。
【0357】
ここでは説明を分かりやすくするために、画像サイズ制御データC70が、第1対象画像に対する第2対象画像の相似比を上記のように1/2
P3と表現した場合におけるP3の値とする。あるいは、画像サイズ制御データC70は、P3の値を導出可能なデータであってもよい。P3の値を導出可能なデータの例として、上記相似比(1/2
P3)の値等が挙げられる。
【0358】
画像サイズ制御データC70は、ウエーブレット変換部1260にも供給される。ウエーブレット変換部1260は、既述の合成制御データC50から、第1ウエーブレット係数データA61に対して指定される第1の分解レベル、すなわち上記P1の値を取得可能である。これにより、ウエーブレット変換部1260は、合成制御データC50および画像サイズ制御データC70から得られたP1およびP3に基づいて、第2ウエーブレット係数データD61の分解レベルP2(=P1−P3)を算出する。そして、ウエーブレット変換部1260は、得られたP2が示す分解レベル(第2の分解レベル)まで、第2対象画像データD50に対してウエーブレット変換を行う。
【0359】
画像サイズ制御データC70は、
図64の例では合成実行部1270にも供給され、第1ウエーブレット係数データA61のうちで係数合成処理に供する範囲を特定するために利用される。第1ウエーブレット係数データA61のうちの当該範囲は、上記のように第2ウエーブレット係数データの分解レベルP2を表す数値に応じて決まる。
図64の例では、合成実行部1270がP2の値を算出するものとする。但し、合成実行部1270がウエーブレット変換部1260から、算出済みのP2の値を取得してもよい。その場合、合成実行部1270に対する画像サイズ制御データC70の供給を省略可能である。
【0360】
画像サイズ制御データC70は、逆ウエーブレット変換部1280にも供給され、逆ウエーブレット変換の回数を設定するために、換言すれば合成済み係数データE61の分解レベルを知るために利用される。
【0361】
図65に、合成システム21Hの動作を説明するフローチャートを示す。
図65の動作フローS2000Hでは、実施の形態1に係る動作フローS2000(
図25参照)に、ステップS2204が追加されている。当該ステップS2204では、画像縮小部1330が第2基礎画像を縮小することによって第2対象画像を生成する。
【0362】
実施の形態8によれば、合成画像の画像サイズを制御することができ、原画像よりも小さいサイズの合成画像を得ることができる。なお、実施の形態8は実施の形態2等と組み合わせ可能であり、それにより実施の形態2等と同様の効果を得ることができる。
【0363】
ここで、上記では第2基礎画像の全体を縮小することによって、第2対象画像を生成するものとした。但し、第2対象画像が第1対象画像と相似形であるという要件を満たす限り、第2基礎画像の一部分を縮小することによって、第2対象画像を生成することも可能である。同様に、縮小前の第2基礎画像は、第1対象画像と相似形でなくてもよい。第2基礎画像が第1対象画像と相似形ではなく且つ第2基礎画像の全体を縮小する場合、第2基礎画像の横方向および縦方向の縮小比を異ならせればよい。
【0364】
また、上記では、第1対象画像に対する第2対象画像の相似比を1未満とした。すなわち、当該相似比を1/2
P3と表現した場合のP3が自然数であるとした。しかし、相似比が1(このときP3は0)の場合、すなわち第2対象画像が第1対象画像と合同である場合にも、合成システム21Hを利用可能である。
【0365】
例えば、第2基礎画像が第1基礎画像および第1対象画像と合同であり、且つ、画像サイズ制御データC70によって与えられるP3の値が0である場合、画像縮小部1330は、第2基礎画像を縮小せずに、ウエーブレット変換部1260に供給すればよい。この場合、実施の形態1〜5と同様に、原画像サイズの合成画像を得ることができる。換言すれば、実施の形態1〜5は、第1対象画像に対する第2対象画像の相似比を1である場合に特化した例である。これに対し、実施の形態8によれば、当該相似比が1以下において対応可能である。
【0366】
<実施の形態9>
実施の形態8では、第2基礎画像の少なくとも一部分を縮小することによって、第1対象画像と相似形を成す第2対象画像を生成する(
図61〜
図63参照)。これに対し、実施の形態9では、
図66に示すように、第2基礎画像の一部分を、第1対象画像と相似形を成す第2対象画像として切り取る例を説明する。すなわち、第2対象画像が第1対象画像と相似形であるという要件を満たす限り、切り取りによって第2対象画像を生成することも可能である。
【0367】
図67に、実施の形態9に係る合成システム21Iの構成例を示す。合成システム21Iは、実施の形態8に係る合成システム21H(
図64参照)において画像縮小部1330の代わりに第2画像切り取り部1340を設けた構成を有する。合成システム21Iのその他の構成は、実施の形態8に係る合成システム21Hと同様である。
【0368】
第2画像切り取り部1340は、第2基礎画像データD10を取得し、第2基礎画像中に、上記相似比(すなわち第1対象画像に対する第2対象画像の相似比)で以て第1対象画像と相似形を成す相似形範囲を設定し、第2基礎画像データD10のうちで当該相似形範囲内のデータを第2対象画像データD50として切り取る。生成された第2対象画像データD50は、ウエーブレット変換部1260に供給される。
【0369】
第2対象画像の画像サイズ、換言すれば合成画像の画像サイズは、画像サイズ制御データC70によって、第2画像切り取り部1340に指示される。また、実施の形態9では、画像サイズ制御データC70が、第2対象画像として切り取る上記相似形範囲の位置を指示するデータも含むものとする。
【0370】
図68に、合成システム21Iの動作を説明するフローチャートを示す。
図68の動作フローS2000Iでは、実施の形態8に係る動作フローS2000H(
図65参照)と比較すれば分かるように、画像縮小ステップS2204の代わりに画像切り取りステップS2205が設けられている。ステップS2205では、第2画像切り取り部1340が、上記のように第2基礎画像データD10から第2対象画像データD50を切り取る。動作フローS2000Iのその他のステップは
図65の動作フローS2000Hと同様である。
【0371】
実施の形態9によれば、合成画像の画像サイズを制御することができ、原画像よりも小さいサイズの合成画像を得ることができる。なお、実施の形態
9は実施の形態2等と組み合わせ可能であり、それにより実施の形態2等と同様の効果を得ることができる。
【0372】
なお、実施の形態8と同様に、相似比が1未満である場合だけでなく1以下の場合にも、合成システム21Iを利用可能である。例えば、第2基礎画像が第1基礎画像および第1対象画像と合同であり、且つ、画像サイズ制御データC70によって与えられるP3の値が0である場合、第2画像切り取り部1340は第2基礎画像を、切り取りを行わずに、ウエーブレット変換部1260に供給すればよい。この場合、実施の形態1〜5と同様に、原画像サイズの合成画像を得ることができる。
【0373】
<実施の形態10>
図69に、実施の形態10に係る供給システム11Jの構成例を示す。供給システム11Jは、実施の形態1に係る供給システム11に代えて、画像処理システム1,10等に適用可能である。供給システム11Jは、実施の形態1に係る供給システム11に合成部1100が追加された構成を有している。
【0374】
合成部1100は、合成システム21(
図17参照)からビットストリーム解析部1210および復号化部1220を削除した構成を有しており、合成システム21と同様に動作して合成画像データE100を生成する。具体的には、合成部1100は、量子化部1040によって生成された量子化ウエーブレット係数データA22に基づいてマスク再現処理および逆量子化処理を行い、マスク再現処理および逆量子化処理の結果に基づいて分解レベル変換処理を行う。また、合成部1100は、第2対象画像データに対してウエーブレット変換処理を行う。なお、第2対象画像データの源となる第2基礎画像データD10は例えば、合成システム21から取得可能である。そして、合成部1100は、分解レベル変換処理およびウエーブレット変換処理の結果に基づいて、合成実行処理と逆ウエーブレット変換処理とを行う。逆ウエーブレット変換処理後のデータに対して、必要に応じて、後処理が行われる。これにより、合成画像データE100が生成される。
【0375】
合成部1100によって生成された合成画像データE100に基づいて、供給システム11Jの側の表示部31(
図2参照)に表示動作を行わせることによって、第1対象画像中のROIと第2対象画像との合成画像を表示できる。このため、例えば、合成システム21に符号化ビットストリームAbsを供給する前に(換言すれば、符号化データA
50を供給する前に)、供給システム11Jの側において合成画像を確認することができる。特に、合成制御データC50に応じた合成具合を確認することができる。
【0376】
ここで、合成部1100の追加により、供給側装置30(
図2参照)を単独で、画像合成機能を有する画像処理装置として応用可能である。そのような画像処理装置30Jについてハードウェア構成例を、
図70に示す。
【0377】
図70によれば、画像処理装置30Jは、画像処理システム90と、表示部31と、操作部32とを含んでいる。なお、供給側装置30に倣って、画像処理装置30JはI/F33と画像入力部34との一方または両方を含んでもよい。画像処理システム90は画像合成システム91を含み、画像合成システム91は、合成部1100と、データ準備部1110と、半導体メモリ(以下、メモリとも呼ぶ)1120とを含んでいる。合成部1100と、データ準備部1110と、メモリ1120とは、バス(有線の通信媒体の一例である)を介して繋がっている。画像処理システム90は、単一の半導体集積回路、換言すれば単一のチップとして形成可能である。画像処理システム90は、画像合成システム91だけで構成されてもよいし、他の処理システムをさらに含んでもよい。
【0378】
データ準備部1110は、供給システム11(
図3参照)から符号化部1060およびビットストリーム生成部1070を削除した構成を有しており、第1基礎画像データA10を取得する。これにより、データ準備部1110は、供給システム11と同様に動作して、第1対象画像用の量子化ウエーブレット係数データA22を生成する。
【0379】
メモリ1120は、画像合成システム91に供給された第1基礎画像データA10および第2基礎画像データD10を格納する。これにより、データ準備部1110は、メモリ1120から第1基礎画像データA10を読み出し、第1基礎画像データA10に基づいて量子化ウエーブレット係数データA22を生成する。また、合成部1100は、メモリ1120から第2基礎画像データD10を読み出して、画像合成に利用する。
【0380】
合成制御データC50は、操作部32にユーザが入力することによって、合成部1100に供給される。また、合成部1100が生成した合成画像データE100に基づいて、表示部31が合成画像を表示する。
【0381】
なお、合成部1100に、実施の形態2等に係る合成システムの構成を応用することも可能である。
【0382】
ここで、メモリ1120とデータ準備部1110とで形成される構成を、量子化ウエーブレット係数データA22を供給するデータ供給システムとして捉えることが可能である。この場合、さらに合成部1100を画像合成システムとして捉えると、
図70の構成は、データ供給システムと画像合成システムとがバス(上記のように有線の通信媒体の一例である)を介して繋がっている、と捉えることが可能である。
【0383】
また、
図70の例に鑑みると、例えばデータ供給システム11と合成システム21との組み合わせを、単一の半導体集積回路で形成することも可能である。その場合、データ供給システム11と合成システム21とがバスを介して繋げられる。単一の半導体集積回路内においてデータ供給システム11と合成システム21とは、
図2とは異なり外部I/F33,43を介さずに通信するが、媒体50に相当する上記バスを介して通信する。また、単一の半導体集積回路内でデータを転送する場合(特に画像合成機能のための一連の処理においてデータを転送する場合)、転送データの符号化および復号化を省略することが可能である。具体的には、符号化部1060とビットストリーム生成部1070とビットストリーム解析部1210と復号化部1220とを利用しなくてもよい。あるいは、符号化部1060とビットストリーム生成部1070とビットストリーム解析部1210と復号化部1220とを省略することも可能である。同様にして、データ供給システム11B等と合成システム21B等とによる他の組み合わせについても、単一の半導体集積回路で形成することが可能である。
【0384】
<付記>
本発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。