JP3704644B2 - Image coding apparatus and method thereof, and image decoding apparatus and method thereof - Google Patents
Image coding apparatus and method thereof, and image decoding apparatus and method thereof Download PDFInfo
- Publication number
- JP3704644B2 JP3704644B2 JP2000322022A JP2000322022A JP3704644B2 JP 3704644 B2 JP3704644 B2 JP 3704644B2 JP 2000322022 A JP2000322022 A JP 2000322022A JP 2000322022 A JP2000322022 A JP 2000322022A JP 3704644 B2 JP3704644 B2 JP 3704644B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- arithmetic code
- image
- coefficient
- code data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は画像符号化装置及びその方法並びに画像復号化装置及びその方法に関し、例えば、画像を提供する画像提供システムに適用して好適なものである。
【0002】
【従来の技術】
近年、画像送信装置と画像受信装置とをネットワークを介して接続し、当該画
像送信装置から画像受信装置に向けて画像を提供する画像提供システムが考えられている。
【0003】
【発明が解決しようとする課題】
ところで、かかる画像提供システムにおいては、提供対象の画像に対する著作権を保護する目的で、その画像に電子透かしを埋め込むことにより不正コピーを防止したり、画像を暗号化した状態で誰でも自由に取得できるようにしておき、例えば画像を購入する人にのみ暗号化を解く鍵を渡して見せるようにすることが提案されている。
【0004】
ところが、画像の著作権を保護するために当該画像に電子透かしを埋め込む方法では、その画像の画像データの一部が電子透かしのデータに置き変わって画質が劣化するため、高画質な画像の提供等には不向きである。
【0005】
また、画像を暗号化する方法では、当該画像の絵柄等の概要を全く視認することができないように暗号化すると、その画像が全く見えないために購入意欲を高めるまでには至らず、画像を容易には提供し難くなる。
【0006】
このため、最近では、画像提供システムにおいて、画像に対して絵柄等の概要をある程度は視認させることができるような暗号化(以下、これを特にスクランブルと呼ぶ)を施しておき、実際に購入する人にのみスクランブルを解く鍵を渡して画像を見せるようにすることが提案されている。
【0007】
また、かかる画像提供システムにおいては、画像を提供する場合、画像送信装置において、その画像の画像データをJPEG(Joint Photographic Experts Group)方式により圧縮符号化して画像受信装置に送信することにより画像の伝送効率を向上させることも提案されている。
【0008】
従って、かかる画像提供システムにおいては、画像送信装置において、画像データを離散コサイン変換(DCT:Discrete Cosine Transform )し、得られた離散コサイン変換係数を量子化して量子化係数を生成し、当該生成した量子化係数にスクランブル処理を施した後、ハフマン符号化処理を施すことにより、当該画像データを圧縮符号化するようになされている。
【0009】
ここで、ハフマン符号化とは、スクランブル処理した量子化係数を符号化し、得られた符号に発生頻度が高ければ短いコードを割り当て、当該符号に発生頻度が低ければ比較的長いコードを割り当てるようにした変換処理である。
【0010】
ところが、画像送信装置においては、量子化係数にスクランブル処理を施した時点でその量子化係数の並びがランダムに変化することにより、スクランブル処理した量子化係数を符号化して得られる符号としては、短いコードを割り当てるべき比較的発生頻度の高い符号が大幅に減少し、これとは逆に長いコードを割り当てるべき比較的発生頻度の低い符号が増加するため、画像データを圧縮符号化して得られる圧縮符号化データのデータ量が増加する。
【0011】
このため、画像提供システムにおいては、画像データを圧縮符号化しているものの、所望する圧縮率よりも格段的に高い圧縮率で送信する問題があった。
【0012】
本発明は以上の点を考慮してなされたもので、画像データの圧縮率の低下を防止し得る画像符号化装置及びその方法並びに画像復号化装置及びその方法を提案しようとするものである。
【0013】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、画像データに対して低域成分を再帰的にフィルタリングするウェーブレット変換を施すことによりフィルタ係数としてサブバンド単位のウェーブレット係数を生成し、当該生成したウェーブレット係数を量子化して量子化係数を生成し、その量子化係数を所定の符号化方式で符号化処理して算術符号データを生成した後、当該算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施すと共に、その算術符号データに基づいて符号化処理に関する所定の符号化情報を生成し、当該生成した符号化情報を格納して生成したヘッダデータにスクランブル処理を施した算術符号データを付加してパケットデータを生成するようにした。
【0014】
従って、量子化係数を符号化処理した後に、その符号化処理して得られた算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施すため、画像データに基づく画像に対し画質の劣化を小さくすることができると共に、量子化係数を符号化したときにデータ量が増加することを防止することができる。
【0015】
また、本発明においては、画像データに対して低域成分を再帰的にフィルタリングするウェーブレット変換を施してフィルタ係数として生成されたサブバンド単位のウェーブレット係数が量子化された後、所定の符号化方式で符号化処理されて算術符号データが生成されたときの符号化情報が格納されたヘッダデータに、任意のサブバンド単位の特定した部位にスクランブル処理が施された算術符号データが付加されて生成されたパケットデータから、ヘッダデータと、スクランブル処理された算術符号データとを分離し、当該スクランブル処理が施された算術符号データにデスクランブル処理を施して元の算術符号データに戻すと共に、ヘッダデータに格納されている符号化情報に基づいて、その元に戻された算術符号データを所定の復号化方式で復号化処理して量子化係数を生成し、当該生成した量子化係数を逆量子化してフィルタ係数を生成した後、そのフィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して画像データを生成するようにした。
【0016】
従って、このような構成にすれば、画像データの符号化側では当該構成と可逆的な構成を有することになり、量子化係数を符号化した後、その符号化処理して得られた算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施すため、画像データに基づく画像に対し画質の劣化を小さくすることができると共に、量子化係数を符号化したときにデータ量が増加することを防止することができる。
【0017】
図1において、1は全体として本発明を適用した画像提供システムを示し、次世代の静止画国際標準規格であるJPEG−2000と呼ばれる圧縮符号化方式が適用された画像送信装置2及び画像受信装置3をネットワーク4を介して接続して構成されている。
【0018】
この場合、画像提供システム1においては、例えば、画像受信装置3からネットワーク4を介して画像送信装置2に画像の取得を要求すると、当該画像送信装置2から要求に応じた画像の画像データをJPEG−2000方式で圧縮符号化した後、ネットワーク4を介して画像受信装置3に送信すると共に、当該画像受信装置3において、その圧縮符号化されている画像データを受信するとJPEG−2000方式で伸張復号化するようになされている。
【0019】
実際上、図2に示すように、画像送信装置2においては、画像の送信時、例えば、内部の所定の記録媒体(図示せず)から再生した提供対象の画像の画像データD1をウェーブレット変換部10に取り込む。
【0020】
ウェーブレット変換部10は、画像データD1を低域フィルタ及び高域フィルタを用いたフィルタリングによりウェーブレット変換し、得られたウェーブレット変換係数D2を量子化部11に送出する。
【0021】
量子化部11は、ウェーブレット変換部10から与えられるウェーブレット変換係数D2に対して所定の量子化ステップサイズで除算するスカラ量子化を施し、得られた量子化係数D3を符号化部12に送出する。
【0022】
符号化部12は、量子化部11から与えられる量子化係数D3に対して所定のコードブロック(code-block)単位で、JPEG−2000方式で規定されているEBCOT(Embedded Coding with Optimized Truncation )と呼ばれるエントロピー符号化を施し、得られた符号にMQ符号化と呼ばれる算術符号化を施すことにより、得られた算術符号データD4を順次コードブロック単位でレート制御部13に送出する。
【0023】
因みに、MQ符号化は、JBIG2(Joint Bi-Level Image Coding ExpertsGroup 2 )で規定されている学習型の2値算術符号化である。
【0024】
レート制御部13は、符号化部12から順次コードブロック単位で与えられる算術符号データD4の符号量(すなわち、データ量)をカウントしながら、当該コードブロック毎に算術符号データD4の一部又は全てを切り捨てるようにして目標のビットレート又は圧縮符号化率となるように符号量を一定に制御し、この結果得られた目標のビットレート又は圧縮符号化率に応じた符号量の算術符号データD5を算術符号抽出部14及びヘッダ生成部15に送出する。
【0025】
ここで、画像送信装置2においては、スクランブル処理を施すべき算術符号データD5を任意に指定し得るようになされており、算術符号抽出部14は、レート制御部13から与えられるコードブロック単位の算術符号データD5に対して、スクランブル処理を施すように指定されたコードブロック単位の算術符号データD5であるか、又はスクランブル処理を施さないように指定されたコードブロック単位の算術符号データD5であるかを表す情報を付加してスクランブル処理部16に送出する。
【0026】
スクランブル処理部16は、図示しない制御部から公開鍵データが与えられており、算術符号抽出部14から与えられるコードブロック単位の算術符号データD5のうちのスクランブル処理を施すように指定された算術符号データD5に対しては公開鍵データを用いてスクランブル処理を施し、得られたスクランブルデータD6をパケット生成部17に送出すると共に、スクランブル処理を施さないように指定されているコードブロック単位の算術符号データD5はそのままパケット生成部17に送出する。
【0027】
このとき、ヘッダ生成部15は、コードブロック単位の算術符号データD5に基づいて、そのデータ長や、符号化処理に関する所定の符号化情報、さらには、スクランブル処理した算術符号データD5を表す情報等を生成し、当該生成した各種情報をJPEG−2000方式で定義されているパケットヘッダに格納してヘッダデータD7を生成し、そのヘッダデータD7をパケット生成部17に送出する。
【0028】
従って、パケット生成部17は、ヘッダ生成部15から与えられるヘッダデータD7に、スクランブル処理部16から与えられる対応するコードブロック単位の複数のスクランブルデータD6又はコードブロック単位の複数の算術符号データD5を付加して順次パケットデータを生成すると共に、当該生成したパケットデータを一本化し、得られたパケットストリームD8を所定のインターフェース回路18からネットワーク4を介して画像送信装置3に送信する。
【0029】
一方、図3に示すように、画像受信装置3においては、画像送信装置2からネットワーク4を介して送信されるパケットストリームD8を所定のインターフェース回路20を介してパケット解読部21に取り込む。
【0030】
パケット解読部21は、取り込んだパケットストリームD8を順次パケットデータに分離し、そのパケットデータに含まれるヘッダデータD7をヘッダ解読部22に送出すると共に、当該パケットデータに含まれるスクランブルデータD6又は算術符号データD5をデスクランブル処理部23に送出する。
【0031】
デスクランブル処理部22は、このとき、図示しない制御部から公開鍵データが与えられると共に、ヘッダ解読部22からヘッダデータD7に基づいて得られた、スクランブル処理を施している算術符号データD5を示す情報が与えられており、当該情報に基づいて、パケット解読部21から与えられるスクランブルデータD6及び算術符号データD5のうちのスクランブルデータD6を選択して公開鍵データでデスクランブル処理を施し、得られた元の算術符号データD5を算術符号解読部24に送出すると共に、送信時にスクランブル処理されていない算術符号データD5はそのまま算術符号解読部24に送出する。
【0032】
算術符号解読部24は、デスクランブル処理部22から算術符号データD5がシーケンシャルに与えられるため、当該シーケンシャルな算術符号データD5をコードブロック状に並べ替えて復号化部25に送出する。
【0033】
このとき、ヘッダ解読部22は、パケット解読部21から与えられるパケットデータD7に基づいて、パケットヘッダに格納されているデータ長や符号化情報を取り出し、当該取り出したデータ長や符号化情報に応じた復号化制御データD10を生成してこれを復号化部25に送出する。
【0034】
従って、復号化部25は、ヘッダ解読部22から与えられる復号化制御データD10に基づき、算術符号解読部24から与えられるコードブロック単位の算術符号データD5に対して算術復号化処理を施した後、エントロピー復号化処理を施し、得られた量子化係数D11を逆量子化部26に送出する。
【0035】
逆量子化部26は、復号化部25から与えられる量子化係数D11を逆量子化し、得られたウェーブレット変換係数D12をウェーブレット逆変換部27に送出する。
【0036】
ウェーブレット逆変換部27は、逆量子化器26から与えられるウェーブレット変換係数D12を低域フィルタ及び高域フィルタを用いたフィルタリングによりウェーブレット逆変換し、得られた画像データD13を例えば所定の表示部(図示せず)に送出することにより、当該表示部に画像データD13に基づく画像を表示させることができる。
【0037】
ここで、画像送信装置2において、ウェーブレット変換部10には、複数タップ長のフィルタ係数を有し、画像の垂直方向へのフィルタリング(以下、これを垂直フィルタリングと呼ぶ)及び水平方向へのフィルタリング(以下、これを水平フィルタリングと呼ぶ)に用いる低域フィルタ及び高域フィルタが設けられると共に、所定のラインバッファが設けられている。
【0038】
そして、図4に示すように、ウェーブレット変換部10は、記録媒体から画像データD1を、当該画像データD1に基づく画像SGのラインLI単位で読み出してラインバッファ30に格納し、ウェーブレット変換における垂直フィルタリングに必要なだけの複数ラインLI分のデータを格納すると、当該複数ラインLI分のデータに対して垂直フィルタリングを施し、得られた複数ラインLI分のデータに引き続き水平フィルタリングを施す。
【0039】
これにより、図5(A)及び(B)に示すように、ウェーブレット変換部10は、4つの帯域でなる第1レベルの最低域サブバンドLL1と、低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を求めることができる。
【0040】
ここで、ウェーブレット変換部10は、第1レベルの最低域サブバンドLL1と、低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を求めるように指定されていれば、これら最低域サブバンドLL1と、低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を引き続き求めながら、当該求めた最低域サブバンドLL1と、低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を順次量子化部11に送出し、当該量子化部11にウェーブレット変換係数D2に対する量子化処理を並行して実行させると共に、この後1フレーム分の画像SGから指定された第1レベルの全てのウェーブレット変換係数D2を求めるまでこの一連の処理を継続する。
【0041】
これに対して、ウェーブレット変換部10は、図6に示すような第2レベルまでの最低域サブバンドLL2と、低高域サブバンドLH2と、高低域サブバンドHL2と、最高域サブバンドHH2とのウェーブレット変換係数D2までを求めるように指定されていれば、図7(A)及び(B)に示すように、第1レベルの最低域サブバンドLL1と、低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を引き続き求めながら、当該求めた高域側の低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を順次量子化部11に送出する。
【0042】
これに加えて、ウェーブレット変換部10は、第1レベルの最低域サブバンドLL1のウェーブレット変換係数をライン単位で順次ラインバッファ30に格納し、当該ラインバッファ30にウェーブレット変換における垂直フィルタリングに必要なだけの複数ライン分のウェーブレット変換係数を格納すると、その複数ライン分のウェーブレット変換係数に対して垂直フィルタリングを施した後、水平フィルタリングを施すことにより、当該第1レベルの最低域サブバンドLL1を4つの帯域に分割してなる第2レベルの最低域サブバンドLL2と、低高域サブバンドLH2と、高低域サブバンドHL2と、最高域サブバンドHH2とのウェーブレット変換係数D2を求める。
【0043】
これにより、ウェーブレット変換部10は、順次求めている第1レベルの低高域サブバンドLH1と、高低域サブバンドHL1と、最高域サブバンドHH1とのウェーブレット変換係数D2を量子化部11に送出しながら、第2レベルの最低域サブバンドLL2と、低高域サブバンドLH2と、高低域サブバンドHL2と、最高域サブバンドHH2とのウェーブレット変換係数D2を求めて量子化部11に送出し、この後1フレーム分の画像SGから指定された第2レベルまでの全てのウェーブレット変換係数D2を求めるまでこの一連の処理を継続する。
【0044】
このようにして、ウェーブレット変換部10は、1フレーム分の画像SGに応じた大容量のメモリを用いることなく、小容量のラインバッファを用い、当該ラインバッファに所定量のデータ(又はウェーブレット変換係数D2)が蓄積される毎に順次ウェーブレット変換を効率良く実行し得るようになされている。
【0045】
因みに、図8(A)及び(B)に示すように、ウェーブレット変換部10は、例えば、第3レベルや第4レベルまでの最低域サブバンドLL3、LL4と、低高域サブバンドLH3、LH4と、高低域サブバンドHL3、HL4と、最高域サブバンドHH3、HH4とのウェーブレット変換係数D2まで求めるように指定されている場合には、所望するレベルよりも一段下のレベルの最低域サブバンドに対して図6(A)及び(B)について上述したようなフィルタリング処理に準じたフィルタリング処理を実行すれば、当該所望するレベルまでのサブバンドのウェーブレット変換係数D2を求めることができる。
【0046】
また、図9に示すように、量子化部11は、ウェーブレット変換部10から順次与えられるウェーブレット変換係数D2を各サブバンドのライン毎に量子化し、得られた量子化係数D3を符号化部12に送出する。
【0047】
符号化部12は、図10(A)及び(B)に示すように、量子化部11から与えられる各サブバンド毎の量子化係数D3が矢印aに示す垂直方向に沿って例えば64個のサンプル数h1に達すると、当該サブバンド毎の量子化係数D3から垂直方向及びこれと直交する水平方向に同一のサンプル数h1及びh2(すなわち、h1及びh2が共に64サンプル)でなるコードブロックを切り出し、当該切り出したコードブロック毎に符号化して算術符号データD4を生成する。
【0048】
因みに、図10(A)及び(B)は、第2レベルまでのサブバンドを示しており、図7(A)及び(B)について上述したように、第1レベルのサブバンドと、第2レベルのサブバンドとのウェーブレット変換係数D2を求めるまでには、時間差が生じるため、符号化部12は、先に垂直方向に沿って所定サンプル数h1に達する第1レベルのサブバンドの量子化係数D3に対してコードブロック単位で符号化し、この後、第2レベルのサブバンドの量子化係数D3が垂直方向に沿って所定サンプル数h1(64サンプル)に達すると、当該第1レベルのサブバンドの量子化係数D3に加えて、第2レベルのサブバンドの量子化係数D3にもコードブロック単位で符号化する。
【0049】
このようにして、符号化部12は、1フレーム分の画像から得られた全てのサブバンドの量子化係数D3に対してコードブロック単位で符号化するようになされている。
【0050】
実際上、図11(A)に示すように、コードブロック単位の量子化係数D3は、当該コードブロック内のサンプル毎に例えば絶対値の最大値が13(2進表現では「1101」)のようにそれぞれ係数値を有している。
【0051】
このため、符号化部12は、図11(B)及び(C)に示すように、符号化を実行する場合、量子化部11から与えられるコードブロック単位の量子化係数D3に基づいて、当該量子化係数D3の絶対値を最下位ビット(LSB:Least Significant Bit )から最上位ビット(MSB:Most Significant Bit)までの各ビットで順次スライスするようにして各サンプルに対応する「1」又は「0」の係数値を有する絶対値のビットプレーン(以下、これを絶対値ビットプレーンと呼ぶ)を生成する(この場合、4種類の絶対値ビットプレーンを生成する)と共に、各係数値の符号(±)のビットプレーン(以下、これを符号ビットプレーンと呼ぶ)を生成する。
【0052】
因みに、図11(A)〜(C)は、便宜上、絶対値ビットプレーン及び符号ビットプレーンのサイズをそれぞれ縦横4ビットとして表しているが、実際にはこれら絶対値ビットプレーン及び符号ビットプレーンの縦横のサイズは、それぞれコードブロックの縦横の64サンプルに対応させた64ビットである。
【0053】
そして、符号化部12は、図12に示すように、絶対値ビットプレーンに対してそれぞれそのブロックを、例えば4ビットの高さ(縦)を有し、かつ64ビットの幅(横)を有する複数のストライプSTに分割し、当該ストライプST内を実線の矢印b及び点線の矢印cに示す方向に沿って順次上から下に係数値を走査(実線の矢印b)しながらその走査を順次左から右に遷移(点線の矢印c)させるようにして各ストライプST内の全ての係数値を走査して当該係数値を符号化する。
【0054】
ところで、符号化部12で用いられるEBCOTと呼ばれるエントロピー符号化では、絶対値ビットプレーン内の係数値に対する符号化方式として、シグニフィカンスパス(Significance Pass )、リファイメントパス(Refinement Pass)及びクリーンナップパス(Cleanup Pass)と呼ばれる3種類の符号化パスが規定されている。
【0055】
また、かかるエントロピー符号化では、シグニフィカンスパス、リファイメントパス及びクリーンナップパスの符号化パスが用いられるときには、絶対値ビットプレーンのブロック内の全ての係数値にそれぞれ対応させた有効(Significant )又は無効(non-Significant )の符号化の状態変数を表すデータテーブル(以下、これを状態変数テーブルと呼ぶ)が用いられている。
【0056】
一方、符号化部12は、符号化パス内で実行する算術符号化として、MQ符号化によりコードブロック単位毎に算術符号化の統計量を測定しながらZC(ZeroCoding )、RLC(Run-Length Coding )、SC(Sign Coding )及びMR(Magnitude Refinement)を適宜選択して実行するようになされている。この結果、かかるエントロピー符号化の符号化パス内で算術符号化を実行するJPEG−2000方式では、全ての符号化パスで合計19種類のコンテキストがある。
【0057】
従って、符号化部12は、図13に示すように、コードブロック単位の量子化係数D3が最下位ビットから最上位ビットまでに絶対値でnビットの係数値を有すると、最上位ビット(n−1ビット)の絶対値ビットプレーンに対しては図12について上述したように係数値を走査しながらクリーンナップパスのみで符号化し、続くn−2から最下位ビット(0ビット)までの各絶対値ビットプレーンに対してはそれぞれ図12について上述したように係数値を走査しながら絶対値ビットプレーン毎にシグニフィカンスパス、リファイメントパス及びクリーンナップパスの順番で独立して順次3種類の符号化処理を実行する。
【0058】
この際、符号化部12は、内部のメモリに予め状態変数テーブルを格納しており、1つのコードブロック単位の量子化係数D3に対して符号化処理を開始すると、当該メモリからその状態変数テーブルを読み出して全ての状態変数をそれぞれ初期値として無効を表す例えば「0」に設定する。
【0059】
そして、符号化部12は、いずれかの係数値を符号化すると状態変数テーブル上で対応する状態変数を有効を表す例えば「1」に変更し、このようにして1つのコードブロック単位の量子化係数D3に対する符号化処理が終了するまでは有効となった状態変数をそのまま変更せずに新たに符号化された係数値に対応する状態変数のみを順次有効に変更するようにして用いる。
【0060】
因みに、状態変数テーブル内の状態変数は、このように係数値を符号化する毎に順次無効から有効に変更するため、有効桁の情報(すなわち、係数値)をすでに符号化したか否かを表すフラグと言うことができる。
【0061】
実際に、符号化部12は、絶対値ビットプレーンをシグニフィカンスパスで符号化する場合、状態変数が無効である係数値を走査したとき、当該係数値を取り囲む8近傍の各係数値のうちの少なくとも1つの係数値の状態変数が有効であれば、その走査した係数値(すなわち、状態変数が無効である)を算術符号化すると共に、当該算術符号化した係数値が「1」であるときには、符号化ビットプレーンの対応する符号が「+」であるか、又は「−」であるかを続けて算術符号化し、このようにして1つの絶対値ビットプレーン全体に対してシグニフィカンスパスで符号化する。
【0062】
また、符号化部12は、絶対値ビットプレーンをリファイメントパスで符号化する場合、当該絶対値ビットプレーン内の状態変数が有効である係数値のうち、先のシグニフィカンスパスで符号化していない係数値を算術符号化し、このようにして1つの絶対値ビットプレーン全体に対してリファイメントパスで符号化する。
【0063】
さらに、符号化部12は、絶対値ビットプレーンをクリーンナップパスで符号化する場合、当該絶対値ビットプレーン内の状態変数が無効である係数値のうち、先のシグニフィカンスパスで符号化していない係数値を算術符号化すると共に、当該算術符号化した係数値が「1」であるときには、符号化ビットプレーンの対応する符号が「+」であるか、又は「−」であるかを続けて算術符号化し、このようにして1つの絶対値ビットプレーン全体に対してクリーンナップパスで符号化する。
【0064】
ただし、符号化部12は、最上位ビット(n−1ビット)の絶対値ビットプレーンに対してクリーンナップパスで符号化する場合、状態変数テーブル内の状態変数が全て初期化されて無効となっているため、当該絶対値ビットプレーン内の各係数値のうちの「1」である係数値を算術符号化すると共に、「0」の係数値に対しては、「0」の連続する数を検出して例えばMQ符号化によりRLCを実行する。
【0065】
ここで、算術符号抽出部14に対しては、スクランブル処理を施すべき算術符号データD5を単体で指定することもできるが、例えば、図14(A)及び(B)に示すように、第1レベルの低高域サブバンドLH1、高低域サブバンドHL1及び最高域サブバンドHH1や、第2レベルの低高域サブバンドLH2、高低域サブバンドHL2及び最高域サブバンドHH2のように、サブバンド単位で指定することもできる。
【0066】
従って、算術符号抽出部14は、スクランブル処理を施すべきサブバンドが指定されると、当該指定された第1レベルの低高域サブバンドLH1、高低域サブバンドHL1及び最高域サブバンドHH1や、第2レベルの低高域サブバンドLH2、高低域サブバンドHL2及び最高域サブバンドHH2に属する全てのコードブロック単位の算術符号データD5に対してそれぞれスクランブル処理を施すように指定する情報を付加する。
【0067】
また、算術符号抽出部14に対しては、1つの画像に対してスクランブル処理を施すべきサブバンドとして、全てのサブバンドやレベルを指定したり、複数レベルのサブバンドを同時に指定することもできるようになされている。
【0068】
因みに、所定レベルまでのサブバンドは、画像を構成するエネルギーの多くが低域成分に集中しているため、図14(A)及び(B)について上述したように、第1レベルの低高域サブバンドLH1、高低域サブバンドHL1及び最高域サブバンドHH1や、第2レベルの低高域サブバンドLH2、高低域サブバンドHL2及び最高域サブバンドHH2に対してのみスクランブル処理を施すように指定するよりも、最低域サブバンドLL1、LL2のみにスクランブル処理を施すように指定すれば、その分、スクランブル強度を高めることができる。
【0069】
そして、スクランブル処理部16は、スクランブル処理を施すように指定された算術符号データD5に対して、ブラウフィッシュ(Blowfish)法と呼ばれる共通鍵ブロック暗号化方式に基づいて、当該算術符号データD5を固定長のデータ列に区切り、そのデータ列毎に共通鍵データを用いてスクランブル処理を施している。
【0070】
この際、スクランブル処理部16は、コードブロック単位の算術符号データD5がレート制御部13により一定のデータ長を有するようにその符号量が制御されているため、当該算術符号データD5をスクランブル処理用の所定データ列に容易に区切ることができるようになされている。
【0071】
また、スクランブル処理部16は、ブロック暗号化方式により算術符号データD5を固定長のデータ列に区切り、そのデータ列毎に共通鍵データを用いてスクランブル処理を施すことにより、スクランブル処理の後でデータ量が増加することをほぼ確実に防止し得るようになされている。
【0072】
ところで、スクランブル処理を施す算術符号データD5を任意に指定すると、当該指定した算術符号データD5を画像受信装置3に通知する必要がある。
【0073】
このため、ヘッダ生成部15は、図15に示すように、パケットヘッダの一部として、例えば、JEPG−200方式ではTableA−10として定義されているRsizという16ビットのパラメータを用い、当該Rsizに存在するオール「0」以外は未使用(reserved)となっている16ビットの情報格納領域JK1の空きビットを利用して、スクランブル処理を施すように指定された算術符号データD5を通知する。
【0074】
ここで、ヘッダ生成部15は、算術符号データD5にスクランブル処理が施された場合はRsizの空きビット内の先頭のビットに「1」を割り当て、これとは逆に算術符号データD5にスクランブル処理が施されていない場合はRsizの空きビット内の先頭のビットに「0」を割り当てる。
【0075】
また、ヘッダ生成部15は、Rsizの空きビット内の先頭のビットに「1」を割り当てた場合には、続く2ビット目から4ビット目までの3ビットにウェーブレット変換のレベルの情報を割り当てる。因みに、ウェーブレット変換のレベルの情報には、3ビットを利用するため、当該3ビットにより0レベルから7レベルまでを指定することができる。
【0076】
さらに、ヘッダ生成部15は、Rsizの空きビットに対して5ビット目以降にはスクランブル処理を施すレベルを割り当てる。実際には、例えば、5ビット目から9ビット目までの5ビットを順次第1レベルから第5レベルまでと対応させて、その5ビットに「10010」を割り当てると、第1レベルと第4レベルに対してスクランブル処理が施してあり、第2レベル、第3レベル及び第5レベルに対してはスクランブル処理を施していないことを通知することができる。
【0077】
このようにしてヘッダ生成部15は、スクランブル処理の有無の情報をヘッダデータとして画像受信装置3に適確に通知し得るようになされている。
【0078】
これにより、画像受信装置3において、デスクランブル処理部23は、そのヘッダデータD7に示すスクランブル処理に関する情報に基づいて、スクランブルデータD6に適確にデスクランブル処理を施すことができ、かくして、図16に示すように、画像SGAを適確に視認させることができる。
【0079】
ところで、画像送信装置2は、ヘッダデータD7にはスクランブル処理を施さずに、算術符号データD5のみにスクランブル処理を施している。
【0080】
従って、図3について上述した画像受信装置3とデスクランブル処理部23を除いて同様に構成された画像受信装置であれば、画像送信装置2から送信されたパケットストリームD8を受信したとき、当該パケットストリームD8に基づいて得られるヘッダデータD7に復号化に必要となる符号化情報が格納されているため、その符号化情報に基づいて算術符号データD5(送信時にスクランブル処理を施していないデータ)と共にスクランブルデータD6をそのまま復号化することができる。
【0081】
そして、かかる画像受信装置においては、算術符号データD5及びスクランブルデータD6を復号化するようにして画像データを生成すると、当該スクランブルデータD6が適確に復号化できない分、その画像データに基づいて、図17乃至図19に示すように、画像の絵柄等の概要をある程度までは視認させ得るようになされている。
【0082】
因みに、図17に示すように、第1レベルのみにスクランブル処理を施すように指定された画像SGBと、図18に示すように、第4レベルのみにスクランブル処理を施すように指定された画像SGCとを比較すると、小さいレベルに対してスクランブル処理を施した方が画質の劣化が小さいことが分かる。
【0083】
また、図19に示す第5レベル及び第6レベルにスクランブル処理を施すように指定された画像SGDのように、同時に異なるレベルに対してスクランブル処理を施すように指定すると、1つのレベルのみにスクランブル処理を施すように指定された場合に比べてスクランブル処理の強度を細かく選択し得ることが分かる。
【0084】
このようにして、この画像提供システム1においては、共通鍵データを持たないユーザに対して、画像の概略をある程度見せるようにする場合でも、その度合いを細かく制御して画像を提供することができる。
【0085】
以上の構成において、この画像提供システム1では、画像送信装置2により、提供対象の画像の画像データD1をウェーブレット変換し、得られたウェーブレット変換係数D2を量子化して量子化係数D3を生成し、当該生成した量子化係数D3を順次コードブロック単位で符号化パス内で算術符号化するようにして算術符号データD5を生成する。
【0086】
そして、画像送信装置2では、このようにして生成したコードブロック単位の算術符号データD5に対して指定に応じてスクランブル処理を施し、得られたスクランブルデータD6に符号化処理の内容を表す符号化情報を格納したヘッダデータD7を付加してパケットデータを生成し、当該パケットデータを画像受信装置3に送信する。
【0087】
一方、画像受信装置3では、画像送信装置2から送信されたパケットデータを受信すると、そのパケットデータをヘッダデータD7及びスクランブルデータD6に分離して当該スクランブルデータにデスクランブル処理を施し、得られた元の算術符号データD5をヘッダデータD7に格納されている符号化情報に基づいて復号化パス内で算術復号化するようにして量子化係数D11を生成すると共に、当該量子化係数D11を逆量子化し、得られたウェーブレット変換係数D12をウェーブレット逆変換するようにして画像データD13を生成する。
【0088】
従って、この画像提供システム1では、画像送信装置2において、画像データD1を符号化した後、得られた算術符号データD5にスクランブル処理を施すため、量子化係数を符号化した後でデータ量が大幅に増加することを防止することができる。
【0089】
これに加えて、この画像提供システム1では、画像送信装置2において、ブロック暗号化方式により算術符号データD5を所定のデータ長に区切ってスクランブル処理を施すため、当該算術符号データD5のデータ量がスクランブル処理の後に増加することも合わせて防止することができる。
【0090】
また、画像提供システム1では、このような画像送信装置2から送信されたパケットデータを受信する画像受信装置3でも、デスクランブル処理は送信側のスクランブル処理と可逆的であり、かつ復号化は送信側の符号化と可逆的であるため、当該画像送信装置2と同様に、受信したパケットデータをデスクランブル処理を介して復号化するまでの間にデータの圧縮率が低下することを防止することができる。
【0091】
以上の構成によれば、画像送信装置2において、画像データD1をウェーブレット変換した後量子化し、得られた量子化係数D3を順次コードブロック単位で符号化パス内で算術符号化して算術符号データD5を生成し、当該生成したコードブロック単位の算術符号データD5にスクランブル処理を施した後、ヘッダデータD7を付加して画像受信装置3に送信すると共に、当該画像送信装置3において、受信したパケットデータをヘッダデータD7及びスクランブルデータD6に分離して当該スクランブルデータにデスクランブル処理を施し、得られた元の算術符号データD5をヘッダデータD7に格納されている符号化情報に基づいて復号化パス内で算術復号化し、得られた量子化係数D11を逆量子化した後、ウェーブレット逆変換して画像データD13を生成するようにしたことにより、画像送信装置2において、量子化係数D3を符号化した後、スクランブル処理を施してパケットデータとして送信するまでの間にデータ量が増大することを防止することができると共に、これに応じて、当該画像送信装置2と対応する構成を有する画像受信装置3でパケットデータを受信してから復号化するまでの間にデータ量が増大することも防止することができ、かくして、画像データをスクランブル処理して送信するものの、データの圧縮率が低下することを防止し得る画像提供システムを実現することができる。
【0092】
なお、上述の実施の形態においては、スクランブル処理を施すコードブロック単位の個々の算術符号データD5や、レベル及びサブバンドを任意に指定することにより画像の一部又は全体に対してスクランブル処理を施すようにした場合について述べたが、本発明はこれに限らず、図20(A)及び(B)に示すように、各サブバンドの上下が画像SGEの上下に対応していることにより、当該画像SGEに対してスクランブル処理を施したい部位を特定し、当該特定した部位に対応させて実際にスクランブル処理を施す算術符号データD5を指定するようにしても良い。
【0093】
これに加えて、算術符号データD5の深さ、すなわち、算術符号データD5を所定のデータ長で区切って抽出部分にスクランブル処理を施すように指定するようにしても良く、この場合には算術符号データD5を区切るためのデータ長に応じてスクランブルの強度を調節することができる。
【0094】
また、上述の実施の形態においては、ヘッダデータD7にコードブロック単位の算術符号データD5又はコードブロック単位のスクランブルデータD6を付加してパケットデータを生成するようにした場合について述べたが、本発明はこれに限らず、複数の算術符号データD5から階層的なレイヤを生成し、当該レイヤ毎にパケットデータを生成するようにしても良い。
【0095】
因みに、かかるパケットデータを生成するには、例えば、図21に示すように、符号化部12において例えばコードブロック0乃至コードブロック3の量子化係数D3を符号化する前に当該コードブロック0乃至コードブロック3毎にそれぞれ各絶対値ビットプレーンを例えばパケットデータ0乃至パケットデータNに階層的に分散させるように対応付けておき、図22に示すように、符号化部12において実際にコードブロック0乃至コードブロック3の量子化係数D3をそれぞれ符号化した時点で、当該コードブロック0乃至コードブロック3毎にそれぞれパケットデータ0乃至パケットデータNに階層的に分散させるように対応付けた絶対値ビットプレーンにおける符号化結果(すなわち、算術符号)同士を階層的なレイヤ0乃至レイヤNとし、これらレイヤ0乃至レイヤN毎にパケットデータを生成すれば良い。
【0096】
なお、図21において、Cはクリーンナップパスを示すと共に、Sはシグニフィカンスパスを示し、Mはリファイメントパスを示すと共に、0はパスが存在していないことを示しており、符号化の前に予めパケットデータ0乃至パケットデータNにレイヤ0乃至レイヤNを対応付けるようにしてそのレイヤの数が設定されている。また、図22において、各レイヤ0乃至レイヤNはそれぞれパケットデータ0乃至パケットデータNに対応しており、レイヤ0乃至レイヤN毎の斜線で示すブロックはその高さにより算術符号の符号量を表すと共に、Emptyは算術符号が存在しないことを表している。
【0097】
そして、図23に示すように、レイヤ化した算術符号(Body)にヘッダデータD7を付加するようにしてパケットストリームD20を生成し、レイヤ係数をλとして0(最上位)から2、……、Λ(最下位)までで表すと共に、解像度係数をlとして0(最低解像度)から1、……、L、(最高解像度)までで表し、色成分インデックスをCとして1、2……として表すようにして、例えば、色成分インデックスCが1つであった場合、同一レイヤに属するパケットデータ(λの値が同じ)を対応する空間解像度の低い方から高い方に順番にまとめ、これらまとめたパケットデータをレイヤ係数λの低い方から高い方(λを1からΛまで)に順番に並べるようにすれば、SNR(Signal to Noise Ratio )プログレッシブを実現することができる。
【0098】
また、図24に示すように、レイヤ化した算術符号(Body)にヘッダデータD7を付加するようにしてパケットストリームD21を生成し、色成分インデックスCが1つであった場合、同一空間解像度に相当するパケットデータをレイヤ係数λの低い方から高い方(λが1からΛまで)に順番に並べ、これらを並べたパケットデータを空間解像度の低い方から高い方(lを0からLまで)に並べるようにすれば、解像度プログレッシブを実現することができる。
【0099】
なお、このようにプログレッシブを実現した場合、図25に示すように、画像送信装置2のヘッダ生成部15は、例えば、JPEG−2000方式ではTableA−10として定義されているScodという8ビットのパラメータにより、8ビットのうちの上位4ビットが空きビット(Reserved)となっている情報格納領域JK2を利用すれば、レイヤ番号等を画像受信装置に通知することができる。
【0100】
また、レイヤ構造化したパケットストリームでは、例えば、レイヤ係数λが0の全ての解像度のもののように、特定のレイヤに存在するパケットデータ内の算術符号のみにスクランブル処理を施すようにすれば良い。すなわち、SNRプログレッシブでは、レイヤが上位にあるものほど画質に与える影響が大きいため、上位レイヤに存在するパケットデータ内の算術符号にスクランブル処理を施せば、下位レイヤのものに比べて、より強くスクランブルをかけることができる。
【0101】
さらに、スクランブル処理を施すレイヤを1つだけ指定するのではなく、例えば、最上位レイヤから数えて特定数のレイヤを指定したり、又は、最低位レイヤから数えて特定数のレイヤを指定することもできる。
【0102】
さらに、上述の実施の形態においては、量子化係数D3を縦横がそれぞれ64サンプルのコードブロック単位で符号化するようにした場合について述べたが、本発明はこれに限らず、EBCOTでは、コードブロックの縦横のサンプル数を4から 256までの2のべき乗と規定されているため、縦横それぞれ32サンプルや、縦が 128サンプルで横が32サンプルのコードブロックのように種々のサイズのコードブロック単位で量子化係数D3を符号化したり、又は、コードブロックのサイズを任意に変更するようにしても良い。
【0103】
さらに、上述の実施の形態においては、本発明を図1〜図25について上述した画像提供システム1の画像送信装置2及び画像受信装置3に適用するようにした場合について述べたが、本発明はこれに限らず、画像を符号化及び又は復号化するものであれば、画像を符号化及び復号化する双方の構成を有する画像データ記録再生装置やビデオカメラ、また、画像の提供を受けることのできる携帯電話機やパーソナルコンピュータ、PDA(Personal Digital Assistance )等のように、この他種々の構成の画像符号化装置及び画像復号化装置に広く適用することができる。
【0104】
さらに、上述の実施の形態においては、画像データに低域フィルタ及び高域フィルタを用いてフィルタリングしてフィルタ係数を生成するフィルタ係数生成手段として、ウェーブレット変換部10を適用するようにした場合について述べたが、本発明はこれに限らず、画像データに低域フィルタ及び高域フィルタを用いてフィルタリングしてフィルタ係数を生成することができれば、この他種々の構成のフィルタ係数生成手段を広く適用することができる。
【0105】
さらに、上述の実施の形態においては、量子化係数を所定の符号化方式で符号化処理して算術符号データを生成する符号化手段として、符号化部12を適用するようにした場合について述べたが、本発明はこれに限らず、量子化係数を所定の符号化方式で符号化処理して算術符号データを生成することができれば、この他種々の構成でなる符号化手段を広く適用することができる。
【0106】
さらに、上述の実施の形態においては、ヘッダデータに格納されている符号化情報に基づいて、デスクランブル処理手段で元に戻された算術符号データを所定の復号化方式で復号化処理して量子化係数を生成する復号化手段として、復号化部25を適用するようにした場合について述べたが、本発明はこれに限らず、ヘッダデータに格納されている符号化情報に基づいて、デスクランブル処理手段で元に戻された算術符号データを所定の復号化方式で復号化処理して量子化係数を生成することができれば、この他種々の構成の復号化手段を広く適用することができる。
【0107】
さらに、上述の実施の形態においては、フィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して画像データを生成する画像データ生成手段として、ウェーブレット逆変換部27を適用するようにした場合について述べたが、本発明はこれに限らず、フィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して画像データを生成することができれば、この他種々の構成の画像データ生成手段を広く適用することができる。
【0108】
【発明の効果】
上述のように本発明によれば、画像データに対して低域成分を再帰的にフィルタリングするウェーブレット変換を施すことによりフィルタ係数としてサブバンド単位のウェーブレット係数を生成し、当該生成したウェーブレット係数を量子化して量子化係数を生成し、その量子化係数を所定の符号化方式で符号化処理して算術符号データを生成した後、当該算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施すと共に、その算術符号データに基づいて符号化処理に関する所定の符号化情報を生成し、当該生成した符号化情報を格納して生成したヘッダデータにスクランブル処理を施した算術符号データを付加してパケットデータを生成するようにしたことにより、量子化係数を符号化処理した後に、その符号化処理して得られた算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施す分、画像データに基づく画像に対し画質の劣化を小さくすることができると共に、量子化係数を符号化したときにデータ量が増加することを防止することができ、かくして、画像データの圧縮率の低下を防止することができる。
【0109】
また、本発明によれば、画像データに対して低域成分を再帰的にフィルタリングするウェーブレット変換を施してフィルタ係数として生成されたサブバンド単位のウェーブレット係数が量子化された後、所定の符号化方式で符号化処理されて算術符号データが生成されたときの符号化情報が格納されたヘッダデータに、任意のサブバンド単位の特定した部位にスクランブル処理が施された算術符号データが付加されて生成されたパケットデータから、ヘッダデータと、スクランブル処理された算術符号データとを分離し、当該スクランブル処理が施された算術符号データにデスクランブル処理を施して元の算術符号データに戻すと共に、ヘッダデータに格納されている符号化情報に基づいて、その元に戻された算術符号データを所定の復号化方式で復号化処理して量子化係数を生成し、当該生成した量子化係数を逆量子化してフィルタ係数を生成した後、そのフィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して画像データを生成するようにしたことにより、このような構成にすれば、画像データの符号化側では当該構成と可逆的な構成を有することになり、量子化係数を符号化した後、その符号化処理して得られた算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施す分、画像データに基づく画像に対し画質の劣化を小さくすることができると共に、量子化係数を符号化したときにデータ量が増加することを防止することができ、かくして、画像データの圧縮率の低下を防止することができる。
【図面の簡単な説明】
【図1】本発明による画像提供システムの構成の一実施の形態を示すブロック図である。
【図2】画像送信装置の回路構成を示すブロック図である。
【図3】画像受信装置の回路構成を示すブロック図である。
【図4】ウェーブレット変換の説明に供する略線図である。
【図5】第1レベルのウェーブレット変換によるサブバンドを示す略線図である。
【図6】第2レベルまでのサブバンドを示す略線図である。
【図7】第2レベルまでのウェーブレット変換によるサブバンドを示す略線図である。
【図8】第3及び第4レベルまでのサブバンドを示す略線図である。
【図9】量子化器における量子化の説明に供する略線図である。
【図10】符号化部における符号化の説明に供する略線図である。
【図11】符号化部におけるビットプレーンの生成の説明に供する略線図である。
【図12】符号化部における絶対値ビットプレーンの走査の説明に供する略線図である。
【図13】1つのコードブロックに対する各絶対値ビットプレーンの符号化の説明に供する略線図である。
【図14】スクランブル処理すべき算術符号データの指定の説明に供する略線図である。
【図15】パケットデータの一部として用いるRsicの構成を示す略線図である。
【図16】デスクランブル処理を施して得られた画像の説明に供する略線図である。
【図17】第1レベルにスクランブル処理を施した画像の説明に供する略線図である。
【図18】第4レベルにスクランブル処理を施した画像の説明に供する略線図である。
【図19】第5レベル及び第6レベルにスクランブル処理を施した画像の説明に供する略線図である。
【図20】他の実施の形態による画像の任意の部位にスクランブル処理を施す場合の説明に供する略線図である。
【図21】各コードブロック内の絶対値ビットプレーンを予めパケットデータに対応付けした場合の説明に供する略線図である。
【図22】他の実施の形態によるパケットデータのレイヤ化の説明に供する略線図である。
【図23】レイヤによるSNRプログレッシブを実現する場合の説明に供する略線図である。
【図24】レイヤによる解像度プログレッシブを実現する場合の説明に供する略線図である。
【図25】パケットデータの一部として用いるScodの説明に供する略線図である。
【符号の説明】
1……画像提供システム、2……画像送信装置、3……画像受信装置、10……ウェーブレット変換部、11……量子化部、12……符号化部、13……レート制御部、14……算術符号抽出部、15……ヘッダ生成部、16……スクランブル処理部、17……パケット生成部、21……パケット解読部、22……ヘッダ解読部、23……デスクランブル処理部、24……算術符号解読部、25……復号化部、26……逆量子化部、27……ウェーブレット逆変換部、HH1、HH2、HH3、HH4……最高域サブバンド、HL1、HL2、HL3、HL4……高低域サブバンド、LH1、LH2、LH3、LH4……低高域サブバンド、LL1、LL2、LL3、LL4……最低域サブバンド、D1、D13……画素データ、D2、D12……ウェーブレット変換係数、D3、D11……量子化係数、D4、D5……算術符号データ、D6……スクランブルデータ、D7……ヘッダデータ、D8……パケットストリーム。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image encoding apparatus and method, an image decoding apparatus and method, and is suitable for application to, for example, an image providing system that provides an image.
[0002]
[Prior art]
In recent years, an image transmission device and an image reception device have been connected via a network, and the image
An image providing system that provides an image from an image transmitting apparatus to an image receiving apparatus is considered.
[0003]
[Problems to be solved by the invention]
By the way, in such an image providing system, for the purpose of protecting the copyright for the image to be provided, anyone can freely acquire it by embedding a digital watermark in the image to prevent unauthorized copying or encrypting the image. It has been proposed to make it possible, for example, to show only the person who purchases the image a key for decryption.
[0004]
However, in the method of embedding a digital watermark in the image in order to protect the copyright of the image, a part of the image data of the image is replaced with the data of the digital watermark and the image quality is deteriorated. It is unsuitable for etc.
[0005]
Also, in the method of encrypting the image, if the encryption is performed so that the outline of the image and the like of the image cannot be visually recognized at all, the image is not visible at all. It becomes difficult to provide easily.
[0006]
For this reason, recently, in an image providing system, encryption is performed so that an outline of a pattern or the like can be visually recognized to some extent on an image (hereinafter referred to as “scramble” in particular), and the image is actually purchased. It has been proposed that only a person can pass a key to unscramble and show an image.
[0007]
Further, in such an image providing system, when an image is provided, the image transmitting apparatus compresses and encodes the image data of the image by a JPEG (Joint Photographic Experts Group) method and transmits the image data to the image receiving apparatus. It has also been proposed to improve efficiency.
[0008]
Therefore, in such an image providing system, the image transmission device performs discrete cosine transform (DCT) on the image data, quantizes the obtained discrete cosine transform coefficient to generate a quantized coefficient, After the scramble process is performed on the quantized coefficient, the image data is compressed and encoded by performing a Huffman encoding process.
[0009]
Here, Huffman coding encodes a scrambled quantized coefficient, assigns a short code to the obtained code if the frequency of occurrence is high, and assigns a relatively long code to the code if the frequency of occurrence is low. Conversion process.
[0010]
However, in the image transmission apparatus, when the quantized coefficients are scrambled, the arrangement of the quantized coefficients changes randomly, so that the codes obtained by encoding the scrambled quantized coefficients are short. Compressed codes obtained by compressing and encoding image data because codes with relatively high occurrence frequency to which codes are assigned are greatly reduced, and codes with relatively low occurrence frequencies to which long codes are assigned are increased. The amount of data in the computerized data increases.
[0011]
For this reason, although the image providing system compresses and encodes image data, there is a problem in that the image data is transmitted at a compression rate much higher than a desired compression rate.
[0012]
The present invention has been made in consideration of the above points, and an object of the present invention is to propose an image encoding apparatus and method, an image decoding apparatus and method that can prevent a reduction in the compression rate of image data.
[0013]
[Means for Solving the Problems]
In order to solve such a problem, in the present invention, wavelet transform for recursively filtering low-frequency components is performed on image data to generate wavelet coefficients in subband units as filter coefficients, and the generated wavelet coefficients are Quantize to generate a quantized coefficient, encode the quantized coefficient with a predetermined encoding method to generate arithmetic code data, and then scramble to the specified part of the arbitrary subband unit of the arithmetic code data Performs processing, generates predetermined coding information related to the coding processing based on the arithmetic code data, and adds the scrambled arithmetic code data to the header data generated by storing the generated coding information To generate packet data.
[0014]
Therefore, after the quantization coefficient is encoded, the specified portion of the arbitrary subband unit of the arithmetic code data obtained by the encoding process is subjected to the scramble process, so that the image quality of the image based on the image data is improved. Deterioration can be reduced, and an increase in the amount of data when the quantized coefficients are encoded can be prevented.
[0015]
Further, in the present invention, the wavelet transform for recursively filtering the low-frequency component is applied to the image data, and the sub-band wavelet coefficients generated as filter coefficients are quantized, and then a predetermined encoding method is used. Generated by adding arithmetic code data that is scrambled to the specified part of any subband unit to the header data that stores the encoding information when arithmetic code data is generated by encoding Header data and scrambled arithmetic code data are separated from the received packet data, the scrambled arithmetic code data is descrambled to return to the original arithmetic code data, and the header data Based on the encoded information stored in the After generating a quantized coefficient by decoding with the method, the generated quantized coefficient is dequantized to generate a filter coefficient, and then the filter coefficient is filtered using a low-pass filter and a high-pass filter. Image data was generated.
[0016]
Therefore, with such a configuration, the image data encoding side has a reversible configuration with the configuration, and after encoding the quantized coefficient, the arithmetic code obtained by the encoding process is obtained. Since scramble processing is performed on a specified part of an arbitrary subband unit of data, image quality degradation can be reduced with respect to an image based on image data, and the amount of data increases when a quantization coefficient is encoded. This can be prevented.
[0017]
In FIG. 1,
[0018]
In this case, in the
[0019]
In practice, as shown in FIG. 2, in the
[0020]
The
[0021]
The
[0022]
The
[0023]
Incidentally, MQ coding is learning type binary arithmetic coding defined by JBIG2 (Joint Bi-Level Image Coding Experts Group 2).
[0024]
The
[0025]
Here, in the
[0026]
The
[0027]
At this time, the
[0028]
Therefore, the packet generation unit 17 adds a plurality of scrambled data D6 in units of code blocks or a plurality of arithmetic code data D5 in units of code blocks provided from the
[0029]
On the other hand, as shown in FIG. 3, in the
[0030]
The
[0031]
At this time, the
[0032]
Since the arithmetic code data D5 is sequentially supplied from the
[0033]
At this time, the
[0034]
Therefore, the
[0035]
The
[0036]
The wavelet
[0037]
Here, in the
[0038]
Then, as shown in FIG. 4, the
[0039]
As a result, as shown in FIGS. 5A and 5B, the
[0040]
Here, the
[0041]
On the other hand, the
[0042]
In addition, the
[0043]
Thereby, the
[0044]
In this way, the
[0045]
Incidentally, as shown in FIGS. 8A and 8B, the
[0046]
As shown in FIG. 9, the
[0047]
As shown in FIGS. 10A and 10B, the
[0048]
10A and 10B show subbands up to the second level. As described above with reference to FIGS. 7A and 7B, the first level subbands and the second level subbands are shown in FIG. Since there is a time difference until the wavelet transform coefficient D2 with the level subband is obtained, the
[0049]
In this manner, the
[0050]
Actually, as shown in FIG. 11 (A), the quantization coefficient D3 in units of code blocks has a maximum absolute value of 13 (for example, “1101” in binary representation) for each sample in the code block. Each has a coefficient value.
[0051]
Therefore, as illustrated in FIGS. 11B and 11C, the
[0052]
Incidentally, in FIGS. 11A to 11C, for the sake of convenience, the size of the absolute value bit plane and the sign bit plane are represented as vertical and horizontal 4 bits, respectively. The size of each is 64 bits corresponding to 64 samples in the vertical and horizontal directions of the code block.
[0053]
Then, as shown in FIG. 12, the
[0054]
By the way, in entropy coding called EBCOT used in the
[0055]
Also, in such entropy coding, when a significance pass, a refinement pass, and a cleanup pass coding pass are used, each of the coefficient values in each block of the absolute value bit plane is valid (significant) or A data table (hereinafter referred to as a state variable table) representing an invalid (non-significant) encoding state variable is used.
[0056]
On the other hand, the
[0057]
Accordingly, as shown in FIG. 13, when the quantization coefficient D3 in units of code blocks has an absolute value of n-bit coefficient values from the least significant bit to the most significant bit, the
[0058]
At this time, the
[0059]
Then, when one of the coefficient values is encoded, the
[0060]
Incidentally, since the state variables in the state variable table are sequentially changed from invalid to valid each time the coefficient values are encoded in this way, it is determined whether or not the information on the effective digits (that is, the coefficient values) has already been encoded. It can be said that it represents a flag.
[0061]
Actually, when the absolute value bit plane is encoded by a significance path, the
[0062]
In addition, when the
[0063]
Furthermore, when the absolute value bit plane is encoded by the cleanup path, the
[0064]
However, when the
[0065]
Here, for the arithmetic
[0066]
Therefore, when the subband to be scrambled is designated, the arithmetic
[0067]
For the arithmetic
[0068]
Incidentally, in the subbands up to a predetermined level, most of the energy constituting the image is concentrated in the low-frequency component, and as described above with reference to FIGS. Designates to scramble only subband LH1, high and low band subband HL1 and highest band subband HH1, and second level low and high band subband LH2, high and low band subband HL2, and highest band subband HH2. Instead, if it is specified that only the lowest subbands LL1 and LL2 are to be scrambled, the scramble strength can be increased accordingly.
[0069]
Then, the
[0070]
At this time, since the code amount is controlled by the
[0071]
In addition, the
[0072]
If the arithmetic code data D5 to be scrambled is arbitrarily designated, it is necessary to notify the
[0073]
Therefore, as shown in FIG. 15, the
[0074]
Here, when the arithmetic code data D5 is scrambled, the
[0075]
Further, when “1” is assigned to the first bit in the free bit of Rsiz, the
[0076]
Further, the
[0077]
In this way, the
[0078]
Thereby, in the
[0079]
By the way, the
[0080]
Therefore, if the image receiving device is configured similarly except for the
[0081]
In such an image receiving device, when image data is generated so as to decode the arithmetic code data D5 and the scrambled data D6, the scrambled data D6 cannot be properly decoded. As shown in FIGS. 17 to 19, an outline of an image pattern or the like can be visually recognized to some extent.
[0082]
Incidentally, as shown in FIG. 17, an image SGB designated to scramble only the first level and an image SGC designated to scramble only the fourth level as shown in FIG. As compared with the above, it can be seen that the image quality degradation is smaller when the scramble processing is applied to a small level.
[0083]
Further, if it is specified that the scramble process is applied to different levels at the same time as the image SGD specified to be scrambled at the fifth level and the sixth level shown in FIG. 19, it is scrambled to only one level. It can be seen that the strength of the scramble process can be selected more finely than the case where it is designated to perform the process.
[0084]
In this way, in the
[0085]
In the above configuration, in the
[0086]
Then, the
[0087]
On the other hand, when the
[0088]
Therefore, in this
[0089]
In addition, in this
[0090]
In the
[0091]
According to the above configuration, in the
[0092]
In the above-described embodiment, the scramble process is performed on a part or the whole of the image by arbitrarily specifying the individual arithmetic code data D5 in units of code blocks to be scrambled and the level and subband. However, the present invention is not limited to this, and as shown in FIGS. 20A and 20B, the top and bottom of each subband corresponds to the top and bottom of the image SGE. A part to be scrambled with respect to the image SGE may be specified, and the arithmetic code data D5 that is actually subjected to the scramble process corresponding to the specified part may be designated.
[0093]
In addition to this, the depth of the arithmetic code data D5, that is, the arithmetic code data D5 may be divided by a predetermined data length and specified to be subjected to the scramble processing. In this case, the arithmetic code data D5 may be specified. The scramble strength can be adjusted according to the data length for delimiting the data D5.
[0094]
In the above-described embodiment, the case has been described in which packet data is generated by adding arithmetic code data D5 in code block units or scrambled data D6 in code block units to header data D7. However, the present invention is not limited to this, and a hierarchical layer may be generated from a plurality of arithmetic code data D5, and packet data may be generated for each layer.
[0095]
Incidentally, in order to generate such packet data, for example, as shown in FIG. 21, before encoding the quantization coefficient D3 of the
[0096]
In FIG. 21, C indicates a cleanup path, S indicates a significance path, M indicates a refinement path, and 0 indicates that no path exists. The number of layers is set in advance so that the
[0097]
Then, as shown in FIG. 23, a packet stream D20 is generated by adding header data D7 to layered arithmetic codes (Body), and a layer coefficient is set to λ from 0 (most significant) to 2,. In addition to Λ (lowest order), the resolution coefficient is 1 and is expressed from 0 (lowest resolution) to 1,..., L, (highest resolution), and the color component index is expressed as 1, 2,. For example, when there is one color component index C, packet data belonging to the same layer (the same value of λ) is collected in order from the corresponding spatial resolution from the lowest to the higher, and the collected packets SNR (Signal to Noise Ratio) progressive can be realized by arranging the data in order from the lowest layer coefficient λ to the higher one (λ from 1 to Λ).
[0098]
Further, as shown in FIG. 24, when the packet stream D21 is generated by adding the header data D7 to the layered arithmetic code (Body) and the color component index C is one, the same spatial resolution is obtained. Corresponding packet data are arranged in order from the lowest layer coefficient λ (λ is from 1 to Λ), and the packet data in which these are arranged is arranged from the lowest spatial resolution to the higher (l from 0 to L) If they are arranged in order, resolution progressive can be realized.
[0099]
When progressive is realized in this way, as shown in FIG. 25, the
[0100]
Further, in a layered packet stream, for example, a scramble process may be performed only on an arithmetic code in packet data existing in a specific layer, such as one having all resolutions with a layer coefficient λ of 0. That is, in SNR progressive, the higher the layer, the greater the effect on the image quality. Therefore, if the scrambling process is performed on the arithmetic code in the packet data existing in the upper layer, the scrambling process is stronger than that in the lower layer. Can be applied.
[0101]
Furthermore, instead of designating only one layer to be scrambled, for example, a specific number of layers counted from the highest layer or a specific number of layers counted from the lowest layer You can also.
[0102]
Further, in the above-described embodiment, the case where the quantization coefficient D3 is encoded in units of code blocks each having 64 samples in length and width has been described, but the present invention is not limited to this, and in EBCOT, code blocks Since the number of vertical and horizontal samples is specified as a power of 2 from 4 to 256, code blocks of various sizes such as code blocks of 32 samples each in length and width and 128 samples in length and 32 samples in width The quantization coefficient D3 may be encoded, or the code block size may be arbitrarily changed.
[0103]
Further, in the above-described embodiment, the case where the present invention is applied to the
[0104]
Furthermore, in the above-described embodiment, the case where the
[0105]
Furthermore, in the above-described embodiment, a case has been described in which the
[0106]
Furthermore, in the above-described embodiment, based on the encoding information stored in the header data, the arithmetic code data restored by the descrambling processing means is decoded by a predetermined decoding method to be quantized. Although the case where the
[0107]
Furthermore, in the above-described embodiment, when the wavelet
[0108]
【The invention's effect】
As described above, according to the present invention, wavelet transform for recursively filtering low frequency components is performed on image data to generate wavelet coefficients in subband units as filter coefficients, and the generated wavelet coefficients are quantized. To generate a quantized coefficient, encode the quantized coefficient with a predetermined encoding method to generate arithmetic code data, and then scramble the specified part of the arithmetic code data in an arbitrary subband unit And generating predetermined coding information relating to the coding process based on the arithmetic code data, and adding the scrambled arithmetic code data to the header data generated by storing the generated coding information. Packet data is generated by encoding the quantization coefficient, and then the encoding process is performed. As a result of performing scramble processing on the specified parts of arbitrary subband units of the arithmetic code data obtained in this way, image quality degradation can be reduced for images based on image data, and quantization coefficients are encoded Sometimes it is possible to prevent the amount of data from increasing, thus preventing a reduction in the compression rate of the image data.
[0109]
According to the present invention, the wavelet transform for recursively filtering the low frequency component is applied to the image data, and the subband unit wavelet coefficients generated as filter coefficients are quantized and then subjected to predetermined encoding. Arithmetic code data obtained by performing scramble processing on a specified part in an arbitrary subband unit is added to header data storing encoding information when arithmetic code data is generated by the encoding method. The header data and the scrambled arithmetic code data are separated from the generated packet data, the scrambled arithmetic code data is descrambled to return to the original arithmetic code data, and the header Based on the encoding information stored in the data, the original arithmetic code data is decoded to the predetermined After generating the quantized coefficient by decoding with the equation, and generating the filter coefficient by dequantizing the generated quantized coefficient, the filter coefficient is filtered using the low pass filter and the high pass filter By generating image data, if this configuration is used, the image data encoding side will have a reversible configuration, and after encoding the quantized coefficients, the code As the scramble process is applied to the specified part of the arbitrary subband unit of the arithmetic code data obtained by the conversion process, image quality degradation can be reduced for the image based on the image data, and the quantization coefficient is encoded. It is possible to prevent the amount of data from increasing when the image data is converted, and thus to prevent a reduction in the compression rate of the image data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a configuration of an image providing system according to the present invention.
FIG. 2 is a block diagram illustrating a circuit configuration of the image transmission apparatus.
FIG. 3 is a block diagram illustrating a circuit configuration of the image receiving apparatus.
FIG. 4 is a schematic diagram for explaining wavelet transform;
FIG. 5 is a schematic diagram showing subbands by first-level wavelet transform.
FIG. 6 is a schematic diagram showing subbands up to a second level.
FIG. 7 is a schematic diagram illustrating subbands obtained by wavelet transform up to a second level.
FIG. 8 is a schematic diagram showing subbands up to third and fourth levels.
FIG. 9 is a schematic diagram for explaining quantization in a quantizer;
FIG. 10 is a schematic diagram for describing encoding in an encoding unit.
FIG. 11 is a schematic diagram for explaining generation of a bit plane in an encoding unit.
FIG. 12 is a schematic diagram for explaining scanning of an absolute value bit plane in an encoding unit;
FIG. 13 is a schematic diagram for describing encoding of each absolute value bit plane for one code block;
FIG. 14 is a schematic diagram for explaining the designation of arithmetic code data to be scrambled.
FIG. 15 is a schematic diagram showing a configuration of Rsic used as part of packet data.
FIG. 16 is a schematic diagram for explaining an image obtained by performing descrambling processing;
FIG. 17 is a schematic diagram for explaining an image in which a first level is scrambled.
FIG. 18 is a schematic diagram for explaining an image in which a fourth level is scrambled.
FIG. 19 is a schematic diagram for explaining an image obtained by performing scrambling on the fifth level and the sixth level.
FIG. 20 is a schematic diagram for explanation when a scramble process is performed on an arbitrary part of an image according to another embodiment;
FIG. 21 is a schematic diagram for explanation when an absolute value bit plane in each code block is associated with packet data in advance.
FIG. 22 is a schematic diagram for explaining packet data layering according to another embodiment;
FIG. 23 is a schematic diagram for explanation when realizing SNR progressive by layers;
FIG. 24 is a schematic diagram for explaining the case of realizing resolution progressive by layers.
FIG. 25 is a schematic diagram for explaining a Scod used as a part of packet data.
[Explanation of symbols]
DESCRIPTION OF
Claims (6)
上記ウェーブレット係数を量子化して量子化係数を生成する量子化手段と、
上記量子化係数を所定の符号化方式で符号化処理して算術符号データを生成する符号化手段と、
上記算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施すスクランブル処理手段と、
上記算術符号データに基づいて上記符号化処理に関する所定の符号化情報を生成し、当該生成した符号化情報を格納したヘッダデータを生成するヘッダデータ生成手段と、
上記ヘッダデータに上記スクランブル処理を施した上記算術符号データを付加してパケットデータを生成するパケットデータ生成手段と
を具えることを特徴とする画像符号化装置。A wavelet coefficient generating means for generating a wavelet coefficient of the sub-band unit as the filter coefficients by performing wavelet transform to filter recursively low-frequency components for the image data,
Quantization means for quantizing the wavelet coefficients to generate quantization coefficients;
Encoding means for generating arithmetic code data by encoding the quantized coefficient according to a predetermined encoding method;
A scramble processing means for performing a scramble process on a specified part of an arbitrary subband unit of the arithmetic code data;
Header data generating means for generating predetermined encoding information related to the encoding process based on the arithmetic code data, and generating header data storing the generated encoding information;
An image encoding apparatus comprising: packet data generation means for generating packet data by adding the arithmetic code data subjected to the scramble processing to the header data.
上記スクランブル処理が施された上記算術符号データにデスクランブル処理を施して元の上記算術符号データに戻すデスクランブル処理手段と、
上記ヘッダデータに格納されている上記符号化情報に基づいて、上記元に戻された上記算術符号データを所定の復号化方式で復号化処理して上記量子化係数を生成する復号化手段と、
上記量子化係数を逆量子化して上記フィルタ係数を生成する逆量子化手段と、
上記フィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して上記画像データを生成する画像データ生成手段と
を具えることを特徴とする請求項1に記載の画像符号化装置。Separation means for separating the header data and the scrambled arithmetic code data from the packet data;
Descrambling processing means for performing descrambling on the arithmetic code data subjected to the scramble processing and returning the arithmetic code data to the original arithmetic code data;
Based on the coding information stored in the header data, and decoding means for generating the quantized coefficients of the arithmetic code data returned to the original processing decoded in a predetermined decoding method,
Inverse quantization means for inversely quantizing the quantization coefficient to generate the filter coefficient;
The image coding apparatus according to claim 1, further comprising: an image data generation unit configured to filter the filter coefficient using a low- pass filter and a high-pass filter to generate the image data.
上記ウェーブレット係数を量子化して量子化係数を生成する量子化ステップと、
上記量子化係数を所定の符号化方式で符号化処理して算術符号データを生成する符号化ステップと、
上記算術符号データの任意のサブバンド単位の特定した部位にスクランブル処理を施すスクランブル処理ステップと、
上記算術符号データに基づいて上記符号化処理に関する所定の符号化情報を生成し、当該生成した符号化情報を格納したヘッダデータを生成するヘッダデータ生成ステップと、
上記ヘッダデータに上記スクランブル処理を施した上記算術符号データを付加してパケットデータを生成するパケットデータ生成ステップと
を具えることを特徴とする画像符号化方法。A wavelet coefficient generation step of generating a wavelet coefficient of the sub-band unit as the filter coefficients by performing recursive filtering to wavelet transform low-frequency components for the image data,
A quantization step for quantizing the wavelet coefficient to generate a quantization coefficient;
An encoding step for encoding the quantized coefficient by a predetermined encoding method to generate arithmetic code data;
A scramble processing step of performing a scramble process on a specified part of an arbitrary subband unit of the arithmetic code data;
A header data generation step of generating predetermined encoding information related to the encoding process based on the arithmetic code data and generating header data storing the generated encoding information;
And a packet data generation step of generating packet data by adding the arithmetic code data subjected to the scramble processing to the header data.
上記スクランブル処理が施された上記算術符号データにデスクランブル処理を施して元の上記算術符号データに戻すデスクランブル処理ステップと、
上記ヘッダデータに格納されている上記符号化情報に基づいて、上記元に戻された上記算術符号データを所定の復号化方式で復号化処理して上記量子化係数を生成する復号化ステップと、
上記量子化係数を逆量子化して上記フィルタ係数を生成する逆量子化ステップと、
上記フィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して上記画像データを生成する画像データ生成ステップと
を具えることを特徴とする請求項3に記載の画像符号化方法。A separation step of separating the header data and the scrambled arithmetic code data from the packet data;
A descrambling process step of performing descrambling on the arithmetic code data subjected to the scrambling process and returning the arithmetic code data to the original arithmetic code data;
Based on the coding information stored in the header data, a decoding step of generating the quantized coefficients of the arithmetic code data returned to the original processing decoded in a predetermined decoding method,
An inverse quantization step of dequantizing the quantization coefficient to generate the filter coefficient;
The image encoding method according to claim 3 , further comprising: an image data generation step of generating the image data by filtering the filter coefficient using a low- pass filter and a high-pass filter.
上記スクランブル処理が施された上記算術符号データにデスクランブル処理を施して元の上記算術符号データに戻すデスクランブル処理手段と、
上記ヘッダデータに格納されている上記符号化情報に基づいて、上記デスクランブル処理手段で元に戻された上記算術符号データを所定の復号化方式で復号化処理して量子化係数を生成する復号化手段と、
上記量子化係数を逆量子化して上記フィルタ係数を生成する逆量子化手段と、
上記フィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して上記画像データを生成する画像データ生成手段と
を具えることを特徴とする画像復号化装置。The wavelet transform that recursively filters the low-frequency components of the image data is subjected to quantization, and the wavelet coefficients in subband units generated as filter coefficients are quantized and then encoded using a predetermined encoding method to perform arithmetic From the packet data generated by adding the above arithmetic code data subjected to the scramble processing to the specified portion of any subband unit to the header data storing the encoding information when the code data is generated, Separation means for separating the header data and the scrambled arithmetic code data;
Descrambling processing means for performing descrambling on the arithmetic code data subjected to the scramble processing and returning the arithmetic code data to the original arithmetic code data;
Decoding that generates a quantized coefficient by decoding the arithmetic code data restored by the descrambling processing means using a predetermined decoding method based on the encoding information stored in the header data And
Inverse quantization means for inversely quantizing the quantization coefficient to generate the filter coefficient;
An image decoding apparatus comprising: image data generating means for generating the image data by filtering the filter coefficient using a low- pass filter and a high-pass filter.
上記スクランブル処理が施された上記算術符号データにデスクランブル処理を施して元の上記算術符号データに戻すデスクランブル処理ステップと、
上記ヘッダデータに格納されている上記符号化情報に基づいて、上記元に戻された上記算術符号データを所定の復号化方式で復号化処理して量子化係数を生成する復号化ステップと、
上記量子化係数を逆量子化して上記フィルタ係数を生成する逆量子化ステップと、
上記フィルタ係数を低域フィルタ及び高域フィルタを用いてフィルタリング処理して上記画像データを生成する画像データ生成ステップと
を具えることを特徴とする画像復号化方法。The wavelet transform that recursively filters the low-frequency components of the image data is subjected to quantization, and the wavelet coefficients in subband units generated as filter coefficients are quantized and then encoded using a predetermined encoding method to perform arithmetic From the packet data generated by adding the above arithmetic code data subjected to the scramble processing to the specified portion of any subband unit to the header data storing the encoding information when the code data is generated, A separation step of separating the header data and the scrambled arithmetic code data;
A descrambling process step of performing descrambling on the arithmetic code data subjected to the scrambling process and returning the arithmetic code data to the original arithmetic code data;
A decoding step of generating a quantized coefficient by decoding the arithmetic code data returned to the original by a predetermined decoding method based on the encoding information stored in the header data;
An inverse quantization step of dequantizing the quantization coefficient to generate the filter coefficient;
An image decoding method comprising: an image data generation step of generating the image data by filtering the filter coefficient using a low- pass filter and a high-pass filter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000322022A JP3704644B2 (en) | 2000-10-20 | 2000-10-20 | Image coding apparatus and method thereof, and image decoding apparatus and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000322022A JP3704644B2 (en) | 2000-10-20 | 2000-10-20 | Image coding apparatus and method thereof, and image decoding apparatus and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002135594A JP2002135594A (en) | 2002-05-10 |
JP3704644B2 true JP3704644B2 (en) | 2005-10-12 |
Family
ID=18799975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000322022A Expired - Fee Related JP3704644B2 (en) | 2000-10-20 | 2000-10-20 | Image coding apparatus and method thereof, and image decoding apparatus and method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3704644B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192140A (en) * | 2002-12-09 | 2004-07-08 | Sony Corp | Data communication system, data transmitting device, data receiving device and method, and computer program |
JP2004236225A (en) | 2003-01-31 | 2004-08-19 | Ricoh Co Ltd | Image processing apparatus, program, and storage medium |
JP4932452B2 (en) * | 2006-11-24 | 2012-05-16 | 三菱電機株式会社 | Data conversion apparatus, data conversion method, and program |
JP4254867B2 (en) * | 2007-01-31 | 2009-04-15 | ソニー株式会社 | Information processing apparatus and method, program, and recording medium |
JP2010279496A (en) * | 2009-06-03 | 2010-12-16 | Fujifilm Corp | Data transfer system, transmitter, receiver, radiographic image transfer system and radiographic image diagnosis system |
BR112012019388A2 (en) | 2010-02-03 | 2016-05-03 | Thomson Licensing | valid overwrite data in encoded video |
-
2000
- 2000-10-20 JP JP2000322022A patent/JP3704644B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002135594A (en) | 2002-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grosbois et al. | Authentication and access control in the JPEG 2000 compressed domain | |
Marcellin et al. | An overview of JPEG-2000 | |
JP3743384B2 (en) | Image encoding apparatus and method, and image decoding apparatus and method | |
US7200277B2 (en) | Method for transcoding a JPEG2000 compressed image | |
Noda et al. | Application of bit-plane decomposition steganography to JPEG2000 encoded images | |
JP4273996B2 (en) | Image encoding apparatus and method, and image decoding apparatus and method | |
CA2340357C (en) | Embedded quadtree wavelets in image compression | |
JP2004336254A (en) | Device and method for encoding image | |
JPH11284516A (en) | Data processor, data processing method and storage medium thereof | |
Li | Image compression: The mathematics of JPEG 2000 | |
JP2006304329A (en) | Encoding method, decoding method, encoding device, and decoding device | |
Rehna et al. | Wavelet based image coding schemes: A recent survey | |
Liu et al. | An efficient embedded zerotree wavelet image codec based on intraband partitioning | |
Wheeler et al. | Low-memory packetized SPIHT image compression | |
JP3704644B2 (en) | Image coding apparatus and method thereof, and image decoding apparatus and method thereof | |
JP2004166254A (en) | Image encoder and method, program and recording medium | |
JP3213561B2 (en) | Image encoding device and image decoding device | |
Osborne et al. | Multiple embedding using robust watermarks for wireless medical images | |
Suruliandi et al. | Empirical evaluation of EZW and other encoding techniques in the wavelet-based image compression domain | |
Boliek et al. | Decoding compression with reversible embedded wavelets (CREW) codestreams | |
Noda et al. | Video steganography based on bit-plane decomposition of wavelet transformed video | |
Navas et al. | Lossless watermarking in JPEG2000 for EPR data hiding | |
Li | Image Compression-the Mechanics of the JPEG 2000 | |
JP4372327B2 (en) | Image encoding apparatus, image encoding method, decoding apparatus, and decoding method | |
KR101423466B1 (en) | Method and apparatus for transforming bit-plane image, and method and apparatus for inverse-transforming bit-plane image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050510 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050617 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050713 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090805 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100805 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |