(57)【特許請求の範囲】
【請求項１】
入力画像を算術符号化し、符号化コードストリームを生成する算術符号化手段と、
上記符号化コードストリームを複数のレイヤに分割するレイヤ分割手段と、
各レイヤ毎に複数のパケットを生成するパケット生成手段と、
最上位レイヤ以外の所定レイヤにおける上記パケットのデータを算術符号化された任意のバイナリデータで置換する置換手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
上記置換手段は、最下位レイヤにおける上記パケットのデータを上記バイナリデータで置換することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
上記置換手段は、上記所定レイヤにおけるパケットボディに上記バイナリデータを埋め込み、上記所定レイヤにおけるパケットヘッダに上記バイナリデータのデータ量を記録することを特徴とする請求項１記載の画像符号化装置。
【請求項４】
上記置換手段は、最下位のレイヤ及びその１つ上位のレイヤにおける上記パケットのデータを所定レイヤのデータ及び任意のバイナリデータで置換することを特徴とする請求項１記載の画像符号化装置。
【請求項５】
入力画像を算術符号化し、符号化コードストリームを生成する算術符号化工程と、
上記符号化コードストリームを複数のレイヤに分割するレイヤ分割工程と、
各レイヤ毎に複数のパケットを生成するパケット生成工程と、
最上位レイヤ以外の所定レイヤにおける上記パケットのデータを算術符号化された任意のバイナリデータで置換する置換工程と
を有することを特徴とする画像符号化方法。
【請求項６】
画像符号化装置において入力画像を算術符号化して符号化コードストリームを生成し、上記符号化コードストリームを複数のレイヤに分割して各レイヤ毎に複数のパケットを生成し、最上位レイヤ以外の所定レイヤにおける上記パケットのデータを算術符号化された任意のバイナリデータで置換して得た符号化コードストリームを入力して上記入力画像を復号する画像復号装置であって、
上記所定レイヤにおける上記パケットから上記バイナリデータを抽出して出力するデータ抽出手段と、
上記所定レイヤ以外の上記符号化コードストリームを復号する復号手段と
を備えることを特徴とする画像復号装置。
【請求項７】
画像符号化装置において入力画像を算術符号化して符号化コードストリームを生成し、上記符号化コードストリームを複数のレイヤに分割して各レイヤ毎に複数のパケットを生成し、最上位レイヤ以外の所定レイヤにおける上記パケットのデータを算術符号化された任意のバイナリデータで置換して得た符号化コードストリームを入力して上記入力画像を復号する画像復号方法であって、
上記所定レイヤにおける上記パケットから上記バイナリデータを抽出して出力するデータ抽出工程と、
上記所定レイヤ以外の上記符号化コードストリームを復号する復号工程と
を有することを特徴とする画像復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＪＰＥＧ−２０００方式に従って画像を圧縮する際に、符号化コードストリーム中にデータを埋め込む画像符号化装置及びその方法、並びに少なくとも埋め込まれたデータを抽出する画像復号装置及びその方法に関する。
【０００３】
【従来の技術】
従来の代表的な画像圧縮方式として、ＩＳＯ（International Standards Organization）によって標準化されたＪＰＥＧ（Joint Photographic Experts Group）方式がある。これは、離散コサイン変換（DCT:Descrete Cosine Transform）を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像及び復号画像を供することが知られている。しかし、ある程度以上に符号化ビット数を少なくすると、ＤＣＴ特有のブロック歪みが顕著になり、主観的に劣化が目立つようになる。
【０００４】
一方、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、各帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、ＤＣＴのように高圧縮でブロック歪みが顕著になるという欠点がないことから、ＤＣＴに代わる新たな技術として有力視されている。
【０００５】
例えば２００１年１月に国際標準化が完了したＪＰＥＧ−２０００は、このウェーブレット変換に高能率なエントロピー符号化（ビットプレーン単位のビット・モデリングと算術符号化）を組み合わせた方式を採用しており、ＪＰＥＧに比べて符号化効率の大きな改善を実現している。
【０００６】
【発明が解決しようとする課題】
ところで、従来、デジタル画像にデータを視覚的に認知し難い形式で挿入する電子透かしという技術が研究されている。この技術は、画像の２次使用の防止や個人認証等の不正使用を想定したものと、それ以外のものに分けられる。
【０００７】
既に学会や研究会等で報告された先行例としては、「小林弘幸、野口祥宏、貴家仁志：『ＪＰＥＧ符号化列へのバイナリデータの埋め込み法』, 信学論（D-II）, Vol.J83-D-II, No.6, pp.1469-1476, June 2000」や、「貴家仁志：『ＪＰＥＧ，ＭＰＥＧ画像へのバイナリデータの埋め込み法』, 信学論(A), Vol.J83-A, No.12, pp.1349-1356, Dec 2000」等が挙げられる。
【０００８】
しかしながら、これらの先行例は、ＤＣＴの使用を前提としているため、ＪＰＥＧ方式やＭＰＥＧ（Moving Picture Experts Group）方式に適用することはできるものの、上述したようにウェーブレット変換を用いるＪＰＥＧ−２０００方式に適用することができない。また、データの埋め込みが符号化時のビットレート制御に影響を与えるため、データ埋め込みを独立に行えないという問題があった。
【０００９】
一方、従来、伝送データが通信路で失われても受信側で完全に再生するために、伝送データにエラー訂正符号を埋め込むエラー訂正技術が研究されている。このエラー訂正符号の代表例としては、例えばリードソロモン符号、ビタビ符号、或いはターボ符号等が挙げられる。しかしながら、エラー訂正符号を埋め込むと遅延が生じる上、データ長が長くなってしまうという問題があり、動画像のリアルタイム通信には不適である。
【００１０】
ここで、ＪＰＥＧ−２０００の規格では、エラー耐性を強化する目的で、主としてマーカ・コード挿入による手段とエントロピー符号化のモード指定による手段の２つの手段が備わっている。このうち、後者はアルゴリズムが複雑であるため、通常は前者で対応するケースが多くなる。しかしながら、エラー耐性の有効性を考えるとマーカ・コードの挿入のみでは不十分であり、あくまで補助的な手段であることが指摘されている。このことから、代替となる容易且つ効果的な手段が望まれている。
【００１１】
本発明は、このような従来の実情に鑑みて提案されたものであり、符号化側のビットレート制御とは独立して、すなわちビットレート制御の影響を受けずに、例えばＪＰＥＧ−２０００方式で符号化して生成された符号化コードストリーム中にデータを埋め込むことが可能な画像符号化装置及びその方法、並びに少なくとも埋め込まれたデータを抽出する画像復号装置及びその方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明に係る画像符号化装置及びその方法は、上述した目的を達成するために、入力画像を算術符号化して符号化コードストリームを生成し、この符号化コードストリームを複数のレイヤに分割して各レイヤ毎に複数のパケットを生成し、最上位レイヤ以外の所定レイヤ、例えば最下位レイヤにおけるパケットのデータを算術符号化された任意のバイナリデータで置換する。
【００１４】
また、本発明に係る画像復号装置及びその方法は、上述した目的を達成するために、上述の画像符号化装置からの符号化コードストリームを入力し、符号化側で算術符号化されたバイナリデータの埋め込まれた所定レイヤ、例えば最下位レイヤにおけるパケットからバイナリデータを抽出して出力し、この所定レイヤ以外の符号化コードストリームを復号する。
【００１５】
このような画像符号化装置及び方法、並びに画像復号装置及び方法では、符号化側において、符号化コードストリームの所定レイヤ、例えば最下位レイヤにバイナリデータが埋め込まれ、復号側において、そのレイヤからバイナリデータが抽出され、出力される。
【００３８】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３９】
ここで、以下の第１の実施の形態乃至第４の実施の形態は、本発明を、ＪＰＥＧ−２０００方式で符号化して生成された符号化コードストリーム中に画像に関連したデータを埋め込む画像符号化装置及びデータ埋め込みシステム、並びにその圧縮された画像を復号すると共に、埋め込まれたデータを抽出する画像復号装置及び埋め込みデータ抽出システムに適用したものである。
【００４０】
また、以下の第５の実施の形態及び第６の実施の形態は、本発明を、ＪＰＥＧ−２０００符号化コードストリームの特徴を生かしたエラー耐性手段を実現する画像符号化装置及びレイヤデータ置換システム、並びにその圧縮された画像を復号する画像復号装置及びレイヤデータ復元システムに適用したものである。
【００４１】
（１）第１の実施の形態
（１−１）
先ず第１の実施の形態における画像符号化装置の概略構成を図１に示す。図１に示すように、画像符号化装置１０は、ウェーブレット変換部１１と、量子化部１２と、コードブロック化部１３と、係数ビットモデリング部１４と、算術符号化部１５と、レート制御部１７と、レイヤ生成部１８と、データ埋め込み部１９と、パケットヘッダ記録部２０と、パケット生成部２１とから構成されている。ここで、コードブロック化部１３と、係数ビットモデリング部１４と、算術符号化部１５とにより、ＥＢＣＯＴ（Embedded Coding with Optimized Truncation）部１６が構成される。
【００４２】
ウェーブレット変換部１１は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクによって実現される。なお、デジタルフィルタは、通常複数タップ長のインパルス応答（フィルタ係数）を持っているため、フィルタリングが行えるだけの入力画像を予めバッファリングしておく必要があるが、簡単のため、図１では図示を省略する。
【００４３】
ウェーブレット変換部１１は、フィルタリングに必要な最低限の画像信号Ｄ１０を入力し、ウェーブレット変換を行うフィルタリング処理を行ってウェーブレット変換係数Ｄ１１を生成する。
【００４４】
このウェーブレット変換では、通常図２に示すように低域成分が繰り返し変換されるが、これは画像のエネルギの多くが低域成分に集中しているためである。ここで、図２におけるウェーブレット変換のレベル数は２であり、この結果計７個のサブバンドが形成されている。すなわち、１回目のフィルタリング処理によって水平方向のサイズX_SIZE及び垂直方向のサイズY_SIZEがそれぞれ１／２に分割され、ＬＬ−１，ＬＨ−１，ＨＬ−１，ＨＨ−１の４つのサブバンドが生成される。そして２回目のフィルタリング処理によってＬＬ−１がさらに分割されて、ＬＬ−２，ＬＨ−２，ＨＬ−２，ＨＨ−２の４つのサブバンドが生成される。なお、図２においてＬ，Ｈはそれぞれ低域，高域を表し、Ｌ，Ｈの後の数字は分割レベルを表す。すなわち、例えばＬＨ−１は、水平方向が低域で垂直方向が高域である分割レベル＝１のサブバンドを表す。
【００４５】
量子化部１２は、ウェーブレット変換部１１から供給されたウェーブレット変換係数Ｄ１１に対して非可逆圧縮を施す。量子化手段としては、ウェーブレット変換係数Ｄ１２を量子化ステップサイズで除算するスカラ量子化を用いることができる。
【００４６】
コードブロック化部１３は、量子化部１１で生成されたサブバンド毎の量子化係数Ｄ１２を、ＪＰＥＧ−２０００の符号化単位であるコードブロック単位に分割する。すなわち図３に示すように、例えば６４×６４程度のサイズの符号ブロックが、分割後のすべてのサブバンド中に生成される。なお、ＪＰＥＧ−２０００の規定では、コードブロックのサイズは水平方向、垂直方向共に２の冪乗で表され、通常は、３２×３２、又は６４×６４が使用されることが多い。コードブロック化部１３は、コードブロック毎の量子化係数Ｄ１３を係数ビットモデリング部１４に供給する。
【００４７】
係数ビットモデリング部１４は、コードブロック毎の量子化係数Ｄ１３に対して、以下のようにビットプレーン単位で係数ビットモデリングを行う。このビットプレーンの概念について図４を用いて説明する。図４（Ａ）は、縦４個、横４個の計１６個の係数から成る量子化係数を仮定したものである。この１６個の係数のうち絶対値が最大のものは１３であり、２進数表現では１１０１となる。したがって、係数の絶対値のビットプレーンは、図４（Ｂ）に示すような４つのビットプレーンから構成される。なお、各ビットプレーンの要素は、すべて０又は１の数を取る。一方、量子化係数の符号は、−６が唯一負の値であり、それ以外は０又は正の値である。したがって、符号のビットプレーンは、図４（Ｃ）に示すようになる。
【００４８】
ここで、本実施の形態では、特にＪＰＥＧ−２０００規格で定められたＥＢＣＯＴと呼ばれるエントロピー符号化を行う。ＥＢＣＯＴの処理単位が上述のコードブロックである。なお、このＥＢＣＯＴについては、例えば、文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」等に詳細に記載されている。
【００４９】
各コードブロックは、最上位ビット（MSB）から最下位ビット（LSB）方向にビットプレーン毎に独立して符号化される。量子化係数は、ｎビットの符号付き２進数で表されており、ｂｉｔ０からｂｉｔ(ｎ−２)がＬＳＢからＭＳＢまでのそれぞれのビットを表す。なお、残りの１ビットは符号である。符号ブロックの符号化は、ＭＳＢ側のビットプレーンから順番に、以下の(a)〜(c)に示す３種類のコーディングパスによって行われる。
【００５０】
(a) Significant Propagation Pass
(b) Magnitude Refinement Pass
(c) Cleanup Pass
３つのコーディングパスの用いられる順序を図５に示す。図５に示すように、先ずビットプレーン（ｎ−２）（MSB）がCleanup Passによって符号化される。続いて、順次ＬＳＢ側に向かい、各ビットプレーンが、Significant Propagation Pass、Magnitude Refinement Pass、Cleanup Passの順序で用いられて符号化される。
【００５１】
但し、実際にはＭＳＢ側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、オール０のビットプレーンは符号化しない。この順序で３種類のコーディングパスを繰返し用いて符号化し、任意のビットプレーンの任意の符号化パスまでで符号化を打ち切ることにより、符号量と画質のトレードオフを取る、すなわちレート制御を行うことができる。
【００５２】
ここで、係数の走査（スキャニング）について図６を用いて説明する。コードブロックは、高さ４個の係数毎にストライプ（stripe）に分けられる。ストライプの幅は、コードブロックの幅に等しい。スキャン順とは１個のコードブロック内の全ての係数を辿る順番であり、コードブロック中では上のストライプから下のストライプへの順序、各ストライプ中では左の列から右の列への順序、各列中では上から下への順序でスキャニングされる。なお、各コーディングパスにおいてコードブロック中のすべての係数がこのスキャン順で処理される。
【００５３】
以下、上述した３つのコーディングパスについて説明する。
【００５４】
(a) Significance Propagation Pass
あるビットプレーンを符号化する Significance Propagation Passでは、８近傍の少なくとも１つの係数が有意（significant）であるようなnon-significant係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が１である場合には、符号の正負が続けて算術符号化される。
【００５５】
ここでsignificanceとは、各係数に対して符号化器が持つ状態である。significanceの初期値は、non-significantを表す０であり、その係数で１が符号化されたときにsignificantを表す１に変化し、以降常に１であり続ける。したがって、significanceとは、有効桁の情報を既に符号化したか否かを示すフラグとも言える。
【００５６】
(b) Magnitude Refinement Pass
ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化する Significance Propagation Passで符号化していないsignificantな係数のビットプレーンの値が算術符号化される。
【００５７】
(c) Cleanup Pass
ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Passで符号化していないnon-significantな係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が１である場合には、符号の正負が続けて算術符号化される。
【００５８】
なお、以上の３つのコーディングパスでの算術符号化では、ケースに応じてＺＣ（Zero Coding）、ＲＬＣ（Run-Length Coding）、ＳＣ（Sign Coding）、ＭＲ（Magnitude Refinement）が使い分けられて係数のコンテキストが選択される。そして、ＭＱ符号化と呼ばれる算術符号によって選択されたコンテキストが符号化される。このＭＱ符号化は、ＪＢＩＧ２で規定された学習型の２値算術符号である。ＭＱ符号化については、例えば、文献「ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi-level Images”, March 2000」等に記載されている。ＪＰＥＧ−２０００では、すべての符号化パスで合計１９種類のコンテキストがある。
【００５９】
以上のようにして係数ビットモデリング部１４は、コードブロック毎の量子化係数Ｄ１３をビットプレーンに分解すると共に各ビットプレーンを３つのコーディングパスに分解し、コーディングパス毎に量子化係数Ｄ１４を生成する。そして、算術符号化部１５は、このコーディングパス毎の量子化係数Ｄ１４に対して算術符号化を施す。
【００６０】
レート制御部１７は、算術符号化部１５から供給された算術符号Ｄ１５の符号量をカウントしながら、目標のビットレート又は圧縮率に近づけるように、符号量制御を行う。具体的には、レート制御部１７は、コードブロック毎のコーディングパスの少なくとも一部を切り捨てる（Truncateする）ことにより符号量制御を行う。
【００６１】
レイヤ生成部１８は、レート制御部１７から供給されたレート制御終了後のコードブロック毎の符号化コードストリームＤ１６を所定個数のレイヤに分ける。
【００６２】
ここでレイヤの概念について図７を用いて説明する。図７はレイヤ０，１、２の３つのレイヤに分割した場合の例を示しており、１つのレイヤが４個のパケットから構成されている。すなわち、レイヤ０（最上位レイヤ、MSB）の最低域（ＬＬ成分）がパケット−０、次の解像度レベルがパケット−１、さらにその次がパケット−２、最も高域の解像度レベルがパケット−３となっている。以下のレイヤについても全く同様にパケットが定義できるため、レイヤ２ではパケット−１１までが生成される。
【００６３】
なお、図７の例では、ウェーブレット変換の分割レベル＝３であるため各レイヤで３個のパケットが構成されるが、分割レベル数が変化すれば各レイヤにおけるパケット数も変わることは勿論である。
【００６４】
各パケットは、図８に示すように、パケットヘッダとパケットボディから構成されており、パケットヘッダには、パケット内に存在する複数個のコードブロックの各種の情報が記述されている。この記述内容は、全てＪＰＥＧ−２０００規格で定義されている。一方、パケットボディには、それらのコードブロックの実際の符号化コードストリームが記録されている。
【００６５】
図１に戻って、レイヤ生成部１８は、複数レイヤに分割された符号化コードストリームのうち、データ埋め込み対象となるレイヤのパケットＤ１７をデータ埋め込み部１９に供給し、それ以外のパケットＤ１８をパケット生成部２１に供給する。
【００６６】
データ埋め込み部１９は、パケットＤ１７のパケットボディの元々のデータを、埋め込まれるバイナリデータＤ１９で置き換え、埋め込まれたレイヤのパケットＤ２０をパケット生成部２１に供給する。ここで、バイナリデータＤ１９としては、画像に関する各種情報、例えばその画像を撮影した日時や場所等のＧＰＳ情報、氏名・住所・電話番号等の所有者情報が挙げられる。なお、バイナリデータＤ１９で置き換えられた元々のデータは廃棄され、復号には用いられない。
【００６７】
パケットヘッダ記録部２０は、埋め込まれるバイナリデータＤ１９のデータ長の情報を記録して、更新されたパケットヘッダＤ２１をパケット生成部２１に供給する。
【００６８】
パケット生成部２１は、バイナリデータＤ１９が埋め込まれたレイヤのパケットボディＤ２０、パケットヘッダＤ２１及び通常のレイヤのパケットＤ１８を、パケットヘッダ、パケットボディの順番に、最上位レイヤから最下位レイヤまで並べ、データが埋め込まれて更新された符号化コードストリームＤ２２を出力する。
【００６９】
なお、データ埋め込み先のレイヤは、最上位レイヤ以外とする。すなわち、最上位レイヤは、画質に与える影響が最も大きいため、データ埋め込み先から除外する必要がある。逆に、最下位レイヤは、画質に与える影響が最も小さいため、データ埋め込み先として特に好ましい。
【００７０】
但し、実験によれば最上位レイヤの次の下位レイヤを廃棄しても大きな画質劣化にならないことが判明しているため、埋め込みデータのサイズが大きい場合には、最上位レイヤ以外の複数レイヤに埋め込むようにしても構わない。この場合、図１においてデータ埋め込み対象となるレイヤのパケットＤ１７は、複数レイヤのパケットが含まれることになる。
【００７１】
データ埋め込みの一例を図９に示す。この図９は、元々のレイヤ数が４個であり、最下位のレイヤ３のデータが、あるバイナリデータによって置き換えられる例を示したものである。この際、バイナリデータのデータ長の情報がヘッダに記録される。
【００７２】
このように本実施の形態における画像符号化装置１は、１つのデータストリーム中に、本来の画像の符号化コードストリームと埋め込み情報とを含め、コンパクト化して出力する。
【００７３】
なお、バイナリデータを埋め込む際に、ＪＰＥＧ−２０００で定義されているマーカ・コードが発生する可能性がある。すなわち、ＪＰＥＧ−２０００では、特定範囲の値の符号（１６進数表示でＦＦ９０からＦＦＦＦ）がマーカ・コードとして予約されており、符号化コードストリーム中で特別な意味に用いられている。このため、埋め込むデータ中にマーカ・コードと一致する符号（以下、偽マーカ・コードという。）が存在すると、符号化コードストリーム中の正常な復号が妨げられることがある。
【００７４】
そこで、埋め込むバイナリデータがマーカ・コードを含まない様に事前に変換しておく必要がある。偽マーカ・コードを回避する手段としては種々考えられるが、例えば、埋め込むバイナリデータに対してＪＰＥＧ−２０００で用いられている算術符号化を施すことが有効である。これは、ＪＰＥＧ−２０００の算術符号化手段がマーカ・コードが発生しないように設計されており、また、既に実装されている算術符号化部をそのまま用いることができるためＨ／Ｗ規模も増えないで済むという利点があるためである。
【００７５】
（１−２）
次に第１の実施の形態における画像復号装置の概略構成を図１０に示す。図１０に示すように、第１の実施の形態における画像復号装置３０は、パケット解読部３１と、レイヤ展開部３２と、パケットヘッダ解読部３３と、埋め込みデータ抽出部３４と、算術復号部３５と、ビットデモデリング復号部３６と、コードブロック復元部３７と、逆量子化部３９と、ウェーブレット逆変換部４０とから構成されている。ここで、算術復号部３５と、ビットモデリング復号部３６と、コードブロック復元部３７とからＥＢＣＯＴ復号部３８が構成される。
【００７６】
パケット解読部３１は、パケット化された符号化コードストリームＤ３０を入力し、符号化コードストリームＤ３０に含まれているパケット数や、パケットボディ、パケットヘッダの情報を解読する。パケット解読部３１は、解読後の全てのパケット情報Ｄ３１をレイヤ展開部３２に供給する。
【００７７】
レイヤ展開部３２は、既に所定のレイヤ数にレイヤ化されている符号化コードストリームについて、パケットが指定のレイヤに配置されるように、パケットボディ及びパケットヘッダを並べる。そして、レイヤ展開部３２は、データが埋め込まれたレイヤのパケットヘッダＤ３２及びパケットボディＤ３３をそれぞれパケットヘッダ解読部３３、埋め込みデータ抽出部３４に供給すると共に、データの埋め込まれていないレイヤのパケットＤ３４を算術復号部３５に供給する。
【００７８】
パケットヘッダ解読部３３は、レイヤ展開部３２から供給されたパケットヘッダＤ３２に基づいて、データの埋め込まれたパケットのデータ長の情報Ｄ３５を埋め込みデータ抽出部３４に供給する。
【００７９】
埋め込みデータ抽出部３４は、データが埋め込まれたレイヤのパケットボディＤ３３とデータ長の情報Ｄ３５とを用いて埋め込みデータＤ３６を抽出し、この埋め込みデータＤ３６を出力する。
【００８０】
このように、本実施の形態における画像復号装置３０は、データが埋め込まれていたレイヤのパケットを一切復号しない。これは、データが埋め込まれていたレイヤを他のレイヤと同様に復号すると、本来原画像とは関係のない情報である埋め込みデータも一緒に復号されてしまうため、画質劣化が大きくなるためである。
【００８１】
算術復号部３５は、データが埋め込まれていないレイヤのパケットＤ３４のパケットボディ中のコーディングパス毎の符号化コードストリームを算術復号して、コーディングパス毎の量子化係数Ｄ３７を生成し、ビットデモデリング復号部３６は、コーディングパス毎の量子化係数Ｄ３７からビットプレーン単位の量子化係数Ｄ３８を復元する。そして、コードブロック復元部３７は、ビットプレーン単位の量子化係数Ｄ３８からコードブロック単位の量子化係数Ｄ３９を復元する。コードブロック復元部３７は、このコードブロック単位の量子化係数Ｄ３９を逆量子化部３９に供給する。
【００８２】
逆量子化部３９は、コードブロック復元部３７から供給された量子化係数Ｄ３９を逆量子化してウェーブレット変換係数Ｄ４０に変換する。
【００８３】
ウェーブレット逆変換部４０は、ウェーブレット変換係数Ｄ４０を逆変換して復号画像Ｄ４１を出力する。
【００８４】
以上のように、本実施の形態において画像符号化装置１０は、１つのデータストリーム中に本来の画像の符号化コードストリームと埋め込みデータとを含め、画像復号装置３０は、データが埋め込まれたレイヤのパケットヘッダから抽出したデータ長の情報に基づいてパケットボディから埋め込みデータを抽出し、出力する。このように、符号化コードストリームと共に画像に関連した各種情報を埋め込むことにより、例えば画像のセキュリティ、著作権保護、プライバシー保護等を図ることができる。
【００８５】
また、データを埋め込むレイヤとして最上位レイヤ以外、特に最下位レイヤを選択することで、画質の劣化を殆ど伴わないで秘密通信を行うことができる。
【００８６】
さらに、データが埋め込まれた後の符号化コードストリームもＪＰＥＧ−２０００規格に準拠しているため、汎用の画像復号装置で復号することが可能である。すなわち、図１１に示すように元々のレイヤ数が４個であり最下位のレイヤ３のデータが、あるバイナリデータによって置き換えられているような場合、最下位レイヤを廃棄するのみで、画質を維持したまま画像を復号することができる。
【００８７】
（２）第２の実施の形態
（２−１）
上述した第１の実施の形態では、データ埋め込み手段を画像符号化装置１０の内部に有していたのに対して、本実施形態では、これらの手段を外部に有することを特徴としている。先ず本実施の形態におけるデータ埋め込みシステムの概略構成を図１２に示す。図１２に示すように、本実施の形態におけるデータ埋め込みシステム５０は、画像符号化部５１と、符号化コードストリーム解析・レイヤ化部５２と、データ埋め込み部５３とから構成されている。
【００８８】
画像符号化部５１は、ＪＰＥＧ−２０００準拠のアルゴリズムに従って入力画像Ｄ５０を符号化し、生成された符号化コードストリームＤ５１を符号化コードストリーム解析・レイヤ化部５２に供給する。
【００８９】
符号化コードストリーム解析・レイヤ化部５２は、先ず符号化コードストリームＤ５１の内容を解析する。解析する内容としては、例えば原画像の解像度、コンポーネント数、タイルの有無、ウェーブレット変換のレベル数、使用したウェーブレット変換フィルタの種類、コードブロック（符号化単位のブロック）のサイズ等が挙げられる。次に符号化コードストリーム解析・レイヤ化部５２は、符号化コードストリームＤ５１を所定のレイヤに展開する。なお、予め符号化コードストリームＤ５１が所定のレイヤ数にレイヤ化されていた場合には、この処理を省略する。符号化コードストリーム解析・レイヤ化部５２は、このレイヤ化された符号化コードストリームＤ５２をデータ埋め込み部５３に供給する。
【００９０】
データ埋め込み部５３は、レイヤ化された符号化コードストリームＤ５２の最上位レイヤ以外のレイヤ、特に最下位レイヤに外部からのバイナリデータＤ５３を埋め込む。ここで、バイナリデータＤ５３としては、第１の実施の形態と同様に、画像に関する各種情報、例えばその画像を撮影した日時や場所等のＧＰＳ情報、氏名・住所・電話番号等の所有者情報が挙げられる。そして、データ埋め込み部５３は、バイナリデータが埋め込まれた符号化コードストリームＤ５４を出力する。なお、このデータ埋め込み部５３としては、例えば図１３に示すような構成とすることができる。これは、図１に示した画像符号化装置１０の後段の構成と同様であるため、同一の符号を付して詳細な説明を省略する。
【００９１】
（２−２）
次に第２の実施の形態におけるデータ抽出システムの概略構成を図１４に示す。図１４に示すように、本実施の形態におけるデータ抽出システム７０は、埋め込みデータ抽出部７１と、画像復号部７２とから構成されている。
【００９２】
埋め込みデータ抽出部７１は、既に所定のレイヤ数にレイヤ化されている符号化コードストリームＤ７０について、パケットが指定のレイヤに配置されるように、パケットボディ及びパケットヘッダを並べる。そして、データが埋め込まれたレイヤのパケットヘッダから抽出したデータ長の情報に基づいてパケットボディから埋め込みデータＤ７１を抽出し、この埋め込みデータＤ７１を出力する。埋め込みデータ抽出部７１は、データが埋め込まれていないレイヤのパケットＤ７２については、そのまま画像復号部７２に供給する。したがって、パケットＤ７２は、最初の符号化コードストリームＤ７０よりも、データが埋め込まれていたレイヤ数分だけレイヤが少なくなっている。なお、この埋め込みデータ抽出部７１としては、例えば図１５に示すような構成とすることができる。これは、図１０に示した画像復号装置３０の前段の構成と同様であるため、同一の符号を付して詳細な説明を省略する。
【００９３】
画像復号部７２は、ＪＰＥＧ−２０００準拠のアルゴリズムに従ってデータが埋め込まれていないレイヤのパケットＤ７２を復号し、復号画像Ｄ７３を出力する。
【００９４】
以上のように、本実施の形態では、画像符号化部５１で符号化された符号化コードストリームの所定のレイヤに外部からのバイナリデータを埋め込み、埋め込みデータ抽出部７１このデータを抽出して出力することができる。このバイナリデータとして、画像に関連した各種情報を埋め込むことにより、例えば画像のセキュリティ、著作権保護、プライバシー保護等を図ることができる。
【００９５】
（３）第３の実施の形態
（３−１）
本実施の形態は、第１の実施の形態における画像符号化装置１０の後段部分に関するものである。そこで、以下では、必要な部分のみ、図１と同一の符号を付し、図１を参照しながら説明する。
【００９６】
レイヤ生成部１８は、レート制御部１７から供給されたレート制御終了後のコードブロック毎の符号化コードストリームＤ１６を所定個数のレイヤに分ける。レイヤ生成部１８は、複数レイヤに分割された符号化コードストリームのうち、データ埋め込み対象となるレイヤのパケットＤ１７をデータ埋め込み部１９に供給し、それ以外のパケットＤ１８をパケット生成部２１に供給する。
【００９７】
データ埋め込み部１９は、最下位レイヤのパケットＤ１７のパケットボディの元々のデータを、埋め込まれるバイナリデータＤ１９で置き換え、埋め込まれたレイヤのパケットＤ２０をパケット生成部２１に供給する。ここで、バイナリデータＤ１９としては、上述と同様に、画像に関する各種情報、例えばその画像を撮影した日時や場所等のＧＰＳ情報、氏名・住所・電話番号等の所有者情報が挙げられる。
【００９８】
パケットヘッダ記録部２０は、埋め込まれるバイナリデータＤ１９のデータ長の情報を記録して、更新されたパケットヘッダＤ２１をパケット生成部２１に供給する。
【００９９】
パケット生成部２１は、バイナリデータＤ１９が埋め込まれた最下位レイヤのパケットボディＤ２０、パケットヘッダＤ２１及び通常のレイヤのパケットＤ１８を、パケットヘッダ、パケットボディの順番に、最上位レイヤから最下位レイヤまで並べ、データが埋め込まれて更新された符号化コードストリームＤ２２を出力する。この際、パケット生成部２１は、通常のレイヤパケットＤ１８から最上位レイヤのパケットを選択して抽出し、最下位レイヤの１つ上位レイヤのパケットを、抽出した最上位レイヤのパケットで置き換える処理を行う。
【０１００】
以上の処理を具体的に図１６に示す。なお、この図１６は、元々のレイヤ数が４個である例について説明するものである。データ埋め込み部１９は、最下位のレイヤ３のデータを、あるバイナリデータによって置き換える。また、パケットヘッダ記録部２０は、このバイナリデータのデータ長の情報をヘッダに記録する。さらに、パケット生成部２１は、最下位レイヤの１つ上位レイヤであるレイヤ２のデータを、最上位のレイヤ０のデータで置き換える。この結果、最終的にパケット生成部２１から出力される符号化コードストリームＤ２２は、最下位レイヤにデータ埋め込みがなされ、その１つ上位レイヤには最上位レイヤのパケットがあり、それ以外のレイヤは不変という内容になる。
【０１０１】
（３−２）
次に復号側における処理について図１７を参照しながら説明する。なお、図１７に示す画像復号装置９０の基本的な構成は図１０に示した画像復号装置３０と同様であるため、同様な構成については図１０と同一の符号を付し、必要な部分のみ説明する。
【０１０２】
パケット解読部３１は、パケット化された符号化コードストリームＤ３０を入力し、符号化コードストリームＤ３０に含まれているパケット数や、パケットボディ、パケットヘッダの情報を解読する。パケット解読部３１は、解読後の全てのパケット情報Ｄ３１をレイヤ展開部３２に供給する。
【０１０３】
レイヤ展開部３２は、既に所定のレイヤ数にレイヤ化されている符号化コードストリームについて、パケットが指定のレイヤに配置されるように、パケットボディ及びパケットヘッダを並べる。そして、レイヤ展開部３２は、データが埋め込まれたレイヤのパケットヘッダＤ３２及びパケットボディＤ３３をそれぞれパケットヘッダ解読部３３、埋め込みデータ抽出部３４に供給すると共に、下位２つ以外のレイヤのパケットＤ３４を算術復号部３５に供給する。したがって、上述した第１の実施の形態と比較して、復号対象となるレイヤ数は１つ少なくなる。さらにレイヤ展開部３２は、最上位レイヤのパケットＤ９０と最下位レイヤの１つ上位レイヤのパケットＤ９１とをレイヤデータ比較部９１に供給する。
【０１０４】
パケットヘッダ解読部３３は、レイヤ展開部３２から供給されたパケットヘッダＤ３２に基づいて、データの埋め込まれたパケットのデータ長の情報Ｄ３５を埋め込みデータ抽出部３４に供給する。
【０１０５】
埋め込みデータ抽出部３４は、データが埋め込まれたレイヤのパケットボディＤ３３とデータ長の情報Ｄ３５とを用いて埋め込みデータＤ３６を抽出し、この埋め込みデータＤ３６を出力する。
【０１０６】
レイヤデータ比較部９１は、最上位レイヤのパケットＤ９０と最下位レイヤの１つ上位レイヤのパケットＤ９１とを比較する。
【０１０７】
すなわち、ＪＰＥＧ−２０００が利用される分野であるデジタルカメラや監視カメラでは、撮影して得られた画像をそのまま証拠写真として利用するケースが多い。例えば事故写真や見合い写真、工事現場写真、清掃現場写真等がそれに該当する。これらの画像は改竄されてしまう可能性があるが、使用目的からして決して改竄されてはならないものである。したがって、何らかの形で改竄された場合にその証拠が残る、又は判明するような手段が施されている必要がある。
【０１０８】
ここで、元々の符号化コードストリームを１度復号して何らかの改竄を行い、再符号化した場合には、最下位レイヤの１つ上位レイヤの内容は更新されてしまう。そこで、本実施の形態のように、最上位レイヤのパケットＤ９０と最下位レイヤの１つ上位レイヤのパケットＤ９１とを比較することにより、改竄の有無を判別することができる。
【０１０９】
改竄の有無を判別するだけの目的であるならば、最下位レイヤの１つ上位レイヤに書き込むレイヤは、最上位レイヤでなくてもよい。しかし、最上位レイヤのデータを書き込むことにより、例えば最上位レイヤのパケットＤ９０と最下位レイヤの１つ上位レイヤのパケットＤ９１とを後段の算術復号部３５以降に入力させて実際に最上位レイヤの復号画像を目で比較し、改竄の有無を視覚的に判断がすることができる。
【０１１０】
なお、本実施の形態では、最下位レイヤにバイナリデータを埋め込み、最下位レイヤの１つ上位レイヤに最上位レイヤのデータを埋め込むものとして説明したが、これに限定されるものではなく、それらの順番を逆にしても構わない。すなわち、最下位レイヤに最上位レイヤのデータを埋め込み、最下位レイヤの１つ上位レイヤにバイナリデータを埋め込むようにしても構わない。
【０１１１】
（４）第４の実施の形態
（４−１）
上述した第３の実施の形態では、データ埋め込み手段を画像符号化装置の内部に有していたのに対して、本実施形態では、これらの手段を外部に有することを特徴としている。なお、実際の構成は第２の実施の形態で説明したデータ埋め込みシステム５０と同様でよい。また、データ埋め込み部５３としては、例えば図１３に示すような構成とすることができる。但し、パケット生成部２１は、通常のレイヤパケットＤ１８から最上位レイヤのパケットを選択して抽出し、最下位レイヤの１つ上位レイヤのパケットを、抽出した最上位レイヤのパケットで置き換える処理を行う。
【０１１２】
（４−２）
次に第４の実施の形態におけるデータ抽出システムについて説明する。第３の実施の形態では、画像復号装置の内部に最下位レイヤのデータとその１つ上のレイヤのデータとを分離・抽出する手段を有していたのに対し、本実施形態ではそれらを外部に有することを特徴としている。なお、実際の構成は第３の実施の形態で説明したデータ抽出システム７０と同様でよい。また、埋め込みデータ抽出部７１としては、例えば図１８に示すような構成とすることができる。これは、図１７に示した画像復号装置９０の後段の構成と同様であるため、同一の符号を付して詳細な説明を省略する。
【０１１３】
以上のように、本実施の形態において画像符号化部５１は、符号化された符号化コードストリームの所定のレイヤ、例えば最下位レイヤに外部からのバイナリデータを埋め込むと共に、最下位レイヤの１つ上位レイヤに最上位レイヤのデータを埋め込む。そして、埋め込みデータ抽出部７１は、この埋め込みデータを抽出して出力する。また、埋め込みデータ抽出部７１は、最上位レイヤのデータと最下位レイヤの１つ上位レイヤのデータとを抽出して比較し、改竄の有無を判別することができる。
【０１１４】
（５）第５の実施の形態
（５−１）
上述の実施の形態では、画像のセキュリティ、著作権保護、プライバシー保護等を図るために、符号化コードストリームの例えば最下位レイヤに画像に関連した各種情報を埋め込み、復号側でこの埋め込みデータを抽出し出力するものとして説明した。しかしながら、符号化コードストリーム中に埋め込むデータとしては、上述したような画像に関連したデータに限定されるものではなく、例えば最上位レイヤのデータとしてもよい。
【０１１５】
以下、このように最上位レイヤのデータを符号化コードストリーム中に重複して埋め込む画像符号化装置について、詳細に説明する。ここで、図１９に示す画像符号化装置１１０の基本的な構成は図１に示した画像符号化装置１０と同様であるため、同様な構成については図１と同一の符号を付し、必要な部分のみ説明する。
【０１１６】
レイヤ生成部１１１は、レート制御部１７から供給されたレート制御終了後のコードブロック毎の符号化コードストリームＤ１６を所定個数のレイヤに分ける。そして、レイヤ生成部１１１は、複数レイヤに分割された符号化コードストリームのうち、最上位レイヤのデータＤ１１０をレイヤデータ置換部１１２及びパケット生成部１１３に供給し、埋め込み先のレイヤのパケットＤ１１１をレイヤデータ置換部１１２に供給する。また、レイヤ生成部１１１は、それ以外のレイヤのデータＤ１１２をパケット生成部１１３に供給する。
【０１１７】
なお、埋め込み先のレイヤは、最上位レイヤ以外とする。すなわち、最上位レイヤは、画質に与える影響が最も大きいため、埋め込み先から除外する必要がある。逆に、最下位レイヤは、画質に与える影響が最も小さいため、埋め込み先として特に好ましい。
【０１１８】
レイヤデータ置換部１１２は、埋め込み先のレイヤのデータＤ１１１の部分に、最上位レイヤのデータＤ１１０を入れ替える処理を行う。この結果、最下位レイヤのデータＤ１１１には、最上位レイヤのデータＤ１１０がコピーされる。そして、レイヤデータ置換部１１２は、置換後の埋め込み先レイヤのデータＤ１１３をパケット生成部１１３に供給する。
【０１１９】
以上の処理を具体的に図２０に示す。なお、この図２０は、元々のレイヤ数が４個であり、埋め込み先のレイヤを最下位のレイヤ３とする例について説明するものである。図２０（Ａ）に示すように、レイヤデータ置換部１１２は、最上位のレイヤ０のデータを、最下位のレイヤ３のデータの場所にコピーする。
【０１２０】
ここで、最上位レイヤと最下位レイヤとのデータ部分の大きさが常に同じになるとは限らない。例えば、図２０（Ｂ）に示すように、最下位レイヤのデータ部分よりも、最上位レイヤのデータ部分の方が大きい場合が考えられる。この場合には、最下位レイヤのデータ部分に最上位レイヤのデータがコピーされることにより、全レイヤのデータサイズは、増大する。一方、図２０（Ｃ）に示すように、最下位レイヤのデータ部分の大きさが、最上位レイヤのデータ部分の大きさよりも大きい場合には、最下位レイヤのデータ部分に最上位レイヤのデータがコピーされることにより、全レイヤのデータサイズは縮小する。
【０１２１】
なお、上述の説明では、最上位レイヤ以外、例えば最下位レイヤのデータに対して最上位レイヤのデータをコピーしたが、例えば最上位レイヤ以外のパケットヘッダの情報を、同位置にある最上位レイヤのパケットヘッダの情報で置き換え、最上位レイヤ以外のパケットボディの情報を、同位置にある最上位レイヤのパケットボディの情報で置換するようにしてもよい。この場合には、コピーする必要はなく、データの内容を書き換える。
【０１２２】
パケット生成部１１３は、置換後の埋め込み先レイヤのデータＤ１１３、最上位レイヤのデータＤ１１０及びそれ以外のレイヤのデータＤ１１１をパケットヘッダとパケットボディとから成るパケットに構成し、最終的な符号化コードストリームＤ１１４を出力する。
【０１２３】
このように本実施の形態における画像符号化装置１１０は、符号化コードストリーム中の所定のレイヤのデータ部分に最上位レイヤのデータをコピーし、最上位レイヤのデータを重複して出力する。
【０１２４】
（５−２）
次に第５の実施の形態における画像復号装置の概略構成を図２１に示す。図２１に示す画像復号装置１３０の基本的な構成は図１０に示した画像復号装置３０と同様であるため、同様な構成については図１０と同一の符号を付し、必要な部分のみ説明する。
【０１２５】
パケット解読部１３１は、パケット化された符号化コードストリームＤ１３０を入力し、符号化コードストリームＤ１３０に含まれているパケット数や、パケットボディ、パケットヘッダの情報を解読する。パケット解読部１３１は、解読後の全てのパケット情報Ｄ１３１をレイヤ展開部１３２に供給する。
【０１２６】
レイヤ展開部１３２は、既に所定のレイヤ数にレイヤ化されている符号化コードストリームについて、パケットが指定のレイヤに配置されるように、パケットボディ及びパケットヘッダを並べる。そして、レイヤ展開部１３２は、最上位レイヤのデータＤ１３２をエラー検知部１３３及びレイヤデータ復元部１３４に供給すると共に、最下位レイヤのデータＤ１３３をレイヤデータ復元部１３４に供給する。また、レイヤ展開部１３２は、それ以外のレイヤのデータＤ１３４を算術復号部３５に供給する。
【０１２７】
エラー検知部１３３は、最上位レイヤのデータＤ１３２、例えばパケットヘッダ及びパケットボディが正しく検出或いは解読できたか否かを示す制御コードＤ１３５をレイヤデータ復元部１３４に送信する。
【０１２８】
レイヤデータ復元部１３４は、エラー検知部１３３から、最上位レイヤのデータＤ１３２が正しく検出できなかった旨の制御コードＤ１３５を受信すると、最下位レイヤのデータＤ１３３のパケットヘッダ及びパケットボディを解読し、これらを最上位レイヤに入れ、置換後の最上位レイヤのデータＤ１３６を算術符号化部３５に供給する。なお、解読された最下位レイヤのパケットは、復号対象から除外される。これは、復号の過程で本来の画像の最下位レイヤのデータでないものを復号すると、画面全体にノイズが発生してしまうためである。一方、レイヤデータ復元部１３４は、エラー検知部１３３から、最上位レイヤのデータＤ１３２が正しく検出できた旨を示す制御コードＤ１３５を受信すると、最下位レイヤのデータＤ１３３を廃棄し、最上位レイヤのデータＤ１３６を算術符号化部３５に供給する。
【０１２９】
以上の処理を具体的に図２２に示す。なお、この図２２は、元々のレイヤ数が４個であり、最下位であるレイヤ３のデータ部分に最上位であるレイヤ０のデータが埋め込まれている例について説明するものである。エラー検知部１３３が最上位レイヤのデータを正しく検出できなかったことを検知すると、レイヤデータ復元部１３４は、最下位レイヤのデータを最上位レイヤに埋め込む。
【０１３０】
なお、最下位レイヤのデータも解読不能の場合には画像を復元することができないが、どちらのレイヤのデータも解読できないことは稀であるため、実用上、問題はない。
【０１３１】
以上のように、本実施の形態において画像符号化装置１１０は、符号化コードストリーム中の所定のレイヤのデータ部分に最上位レイヤのデータをコピーし、最上位レイヤのデータを重複して出力し、画像復号装置１３０は、最上位レイヤのデータを正しく検出できなかったことを検知すると、当該所定レイヤのデータを最上位レイヤに埋め込む。
【０１３２】
このように、画質に与える影響が最も大きい最上位レイヤのデータを重複して符号化コードストリーム中に埋め込むことにより、何らかの原因で最上位レイヤのデータが欠落してしまった場合にも埋め込んだデータを用いることができ、画質を維持することができる。また、最上位レイヤのデータを重複して埋め込むレイヤとして、特に最下位レイヤを選択することで、画像の劣化を極力低減することができる。
【０１３３】
なお、重複して符号化コードストリーム中に埋め込むレイヤとしては、最上位レイヤに限定されるものではないが、画質に与える影響が最も大きい最上位レイヤのデータを重複させることが、画質を維持する上で最も好ましい。
【０１３４】
（６）第６の実施の形態
（６−１）
上述した第５の実施の形態では、レイヤデータ置換手段を画像符号化装置１１０の内部に有していたのに対して、本実施形態では、これらの手段を外部に有することを特徴としている。先ず本実施の形態におけるレイヤデータ置換システムの概略構成を図２３に示す。図２３に示すように、本実施の形態におけるレイヤデータ置換システム１５０は、画像符号化部１５１と、符号化コードストリーム解析・レイヤ化部１５２と、レイヤデータ置換部１５３とから構成されている。
【０１３５】
画像符号化部１５１は、ＪＰＥＧ−２０００準拠のアルゴリズムに従って入力画像Ｄ１５０を符号化し、生成された符号化コードストリームＤ１５１を符号化コードストリーム解析・レイヤ化部１５２に供給する。
【０１３６】
符号化コードストリーム解析・レイヤ化部１５２は、先ず符号化コードストリームＤ１５１の内容を解析する。解析する内容としては、例えば原画像の解像度、コンポーネント数、タイルの有無、ウェーブレット変換のレベル数、使用したウェーブレット変換フィルタの種類、コードブロック（符号化単位のブロック）のサイズ等が挙げられる。次に符号化コードストリーム解析・レイヤ化部１５２は、符号化コードストリームＤ１５１を所定のレイヤに展開する。なお、予め符号化コードストリームＤ１５１が所定のレイヤ数にレイヤ化されていた場合には、この処理を省略する。符号化コードストリーム解析・レイヤ化部１５２は、このレイヤ化された符号化コードストリームＤ１５２をレイヤデータ置換部１５３に供給する。
【０１３７】
レイヤデータ置換部１５３は、レイヤ化された符号化コードストリームＤ１５２の最上位レイヤ以外のレイヤ、例えば最下位レイヤに対して、最上位レイヤのデータをコピーする。そして、レイヤデータ置換部１５３は、最終的な符号化コードストリームＤ１５３を出力する。なお、このデータ置換部１５３としては、例えば図２４に示すような構成とすることができる。これは、図１９に示した画像符号化装置１１０の後段の構成と同様であるため、同一の符号を付して詳細な説明を省略する。
【０１３８】
（６−２）
次に第６の実施の形態におけるレイヤデータ復元システムの概略構成を図２５に示す。図２５に示すように、本実施の形態におけるデータ復元システム１７０は、レイヤデータ逆置換部１７１と、画像復号部１７２とから構成されている。
【０１３９】
レイヤデータ逆置換部１７１は、既に所定のレイヤ数にレイヤ化されている符号化コードストリームＤ１７０について、パケットが指定のレイヤに配置されるように、パケットボディ及びパケットヘッダを並べる。そして、最上位レイヤのデータ、例えばパケットヘッダ及びパケットボディが正しく検出或いは解読できなかった場合に、例えば最下位レイヤのデータのパケットヘッダ及びパケットボディを解読し、これらを最上位レイヤに入れる。レイヤデータ逆置換部１７１は、このようにして復元した符号化コードストリームＤ１７１を画像復号部１７２に供給する。なお、このレイヤデータ逆置換部１７１としては、例えば図２６に示すような構成とすることができる。これは、図２１に示した画像復号装置１３０の前段の構成と同様であるため、同一の符号を付して詳細な説明を省略する。
【０１４０】
画像復号部１７２は、ＪＰＥＧ−２０００準拠のアルゴリズムに従って符号化コードストリームＤ１７１を復号し、復号画像Ｄ１７２を出力する。
【０１４１】
以上のように、本実施の形態においてレイヤデータ置換部１５３は、レイヤ化された符号化コードストリームの例えば最下位レイヤに対して最上位レイヤのデータをコピーし、レイヤデータ逆置換部１７１は、最上位レイヤのデータを正しく検出できなかったことを検知すると、例えば最下位レイヤのデータを最上位レイヤに埋め込む。
【０１４２】
これにより、何らかの原因で最上位レイヤのデータが欠落してしまった場合にも埋め込んだデータを用いることができ、画質を維持することができる。
【０１４３】
（７）その他
本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１４４】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【０１４５】
【発明の効果】
以上詳細に説明したように本発明に係る画像符号化装置及びその方法は、入力画像を算術符号化して符号化コードストリームを生成し、この符号化コードストリームを複数のレイヤに分割して各レイヤ毎に複数のパケットを生成し、最上位レイヤ以外の所定レイヤ、例えば最下位レイヤにおけるパケットのデータを算術符号化された任意のバイナリデータで置換する。
【０１４６】
また、本発明に係る画像復号装置及びその方法は、上述の画像符号化装置からの符号化コードストリームを入力し、符号化側で算術符号化されたバイナリデータの埋め込まれた所定レイヤ、例えば最下位レイヤにおけるパケットからバイナリデータを抽出して出力し、この所定レイヤ以外の符号化コードストリームを復号する。
【０１４７】
このような画像符号化装置及び方法、並びに画像復号装置及び方法では、符号化側において、符号化コードストリームの所定レイヤ、例えば最下位レイヤに算術符号化されたバイナリデータを埋め込み、復号側において、そのレイヤからバイナリデータが抽出して、出力する。
【０１４８】
ここで、画像に関連した各種情報を埋め込むことにより、例えば画像のセキュリティ、著作権保護、プライバシー保護等を図ることができる。また、データを埋め込むレイヤとして、特に最下位レイヤを選択することで、画質の劣化を殆ど伴わないで秘密通信を行うことができる。
【図面の簡単な説明】
【図１】第１の実施の形態における画像符号化装置の概略構成を説明する図である。
【図２】第２レベルまでウェーブレット変換した場合のサブバンドを説明する図である。
【図３】コードブロックとサブバンドの関係を説明する図である。
【図４】ビットプレーンの説明する図であり、同図（Ａ）は、計１６個の係数から成る量子化係数を示し、同図（Ｂ）は、係数の絶対値のビットプレーンを示し、同図（Ｃ）は、符号のビットプレーンを示す。
【図５】コードブロック内のコ−ディングパスの処理手順を説明する図である。
【図６】コ−ドブロック内の係数のスキャン順序を説明する図である。
【図７】レイヤ０乃至レイヤ２のレイヤとパケット構造を説明する図である。
【図８】パケットヘッダ及びパケットボディを説明する図である。
【図９】最下位レイヤにバイナリデータを埋め込む具体例を説明する図である。
【図１０】第１の実施の形態における画像復号装置の概略構成を説明する図である。
【図１１】  最下位レイヤに埋め込まれていたバイナリデータを廃棄する具体例を説明する図である。
【図１２】第２の実施の形態におけるデータ埋め込みシステムの概略構成を説明する図である。
【図１３】同データ埋め込みシステムにおけるデータ埋め込み部の詳細な構成を説明する図である。
【図１４】第２の実施の形態におけるデータ抽出システムの概略構成を説明する図である。
【図１５】第２の実施の形態における埋め込みデータ抽出部の詳細な構成を説明する図である。
【図１６】最下位レイヤより１つ上位レイヤに、最上位レイヤのデータを埋め込む具体例を説明する図である。
【図１７】第３の実施の形態における画像復号装置の概略構成を説明する図である。
【図１８】第４の実施の形態のデータ抽出システムにおける埋め込みデータ抽出部の詳細な構成を説明する図である。
【図１９】第５の実施の形態における画像符号化装置の概略構成を説明する図である。
【図２０】最下位レイヤのデータに、最上位レイヤのデータをコピーする具体例を説明する図であり、同図（Ａ）は、最下位レイヤのデータと最上位レイヤのデータとが同サイズである例を示し、同図（Ｂ）は、最下位レイヤのデータよりも最上位レイヤのデータが大きい例を示し、同図（Ｃ）は、最下位レイヤのデータよりも最上位レイヤのデータが小さい例を示す。
【図２１】第５の実施の形態における画像復号装置の概略構成を説明する図である。
【図２２】最上位レイヤのデータが解読不可の場合に、最下位レイヤのデータを解読して復号する具体例を説明する図である。
【図２３】第６の実施の形態におけるレイヤデータ置換システムの概略構成を説明する図である。
【図２４】同レイヤデータ置換システムにおけるレイヤデータ置換部の詳細な構成を説明する図である。
【図２５】第６の実施の形態におけるレイヤデータ復元システムの概略構成を説明する図である。
【図２６】同レイヤデータ復元システムにおけるレイヤデータ逆置換部の詳細な構成を説明する図である。
【符号の説明】
１０  画像符号化装置、１８  レイヤ生成部、１９  データ埋め込み部、２０パケットヘッダ記録部、２１  パケット生成部、３０  画像復号装置、３１  パケット解読部、３２  レイヤ展開部、３３  パケットヘッダ解読部、３４  埋め込みデータ抽出部、５０  データ埋め込みシステム、５１  画像符号化部、５２  符号化コードストリーム解析・レイヤ化部、５３  データ埋め込み部、７０データ抽出システム、７１  埋め込みデータ抽出部、７２  画像復号部、９０画像復号装置、９１  レイヤデータ比較部、１１０  画像符号化装置１１０、１１１  レイヤ生成部、１１２  レイヤデータ置換部、１１３  パケット生成部、１３０  画像復号装置、１３１  パケット解読部、１３２  レイヤ展開部、１３３  エラー検知部、１３４  レイヤデータ復元部、１５０  レイヤデータ置換システム、１５１  画像符号化部、１５２  符号化コードストリーム解析・レイヤ化部、１５３  レイヤデータ置換部、１７０  データ復元システム、１７１  レイヤデータ逆置換部、１７２  画像復号部
【図１】
0003720791.tif 000002
【図２】
0003720791.tif 000003
【図３】
0003720791.tif 000004
【図４】
0003720791.tif 000005
【図５】
0003720791.tif 000006
【図６】
0003720791.tif 000007
【図７】
0003720791.tif 000008
【図８】
0003720791.tif 000009
【図９】
0003720791.tif 000010
【図１０】
0003720791.tif 000011
【図１１】
0003720791.tif 000012
【図１２】
0003720791.tif 000013
【図１３】
0003720791.tif 000014
【図１４】
0003720791.tif 000015
【図１５】
0003720791.tif 000016
【図１６】
0003720791.tif 000017
【図１７】
0003720791.tif 000018
【図１８】
0003720791.tif 000019
【図１９】
0003720791.tif 000020
【図２０】
0003720791.tif 000021
【図２１】
0003720791.tif 000022
【図２２】
0003720791.tif 000023
【図２３】
0003720791.tif 000024
【図２４】
0003720791.tif 000025
【図２５】
0003720791.tif 000026
【図２６】
0003720791.tif 000027