(57)【要約】【課題】原画像の一部である所定の解像度レベルの画像を圧縮した圧縮画像の画質を、元々その解像度の圧縮画像の画質に近いものに制御し、且つ原画像を圧縮した圧縮画像の画質も、高画質を維持可能とする。【解決手段】量子化部１１は、所定の解像度レベルに属する低域サブバンド毎の量子化ステップサイズを、その解像度レベルの原画像をそのまま符号化する場合のサブバンド毎の量子化ステップサイズと一致させる。低域レート制御部１７は、この低域サブバンド内の全コードブロックにおける算術符号Ｄ１６の符号量が所定の目標符号量未満となるようにレート制御を行う。高域レート制御部１８は、低域サブバンド以外のサブバンド内の全コードブロックの算術符号Ｄ１７の符号量が目標符号量、すなわち最終的な目標符号量から低域サブバンドにおいて実際に発生した符号量Ｄ１８を減じた符号量未満となるようにレート制御を行う。【選択図】  図１
2004336254.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対してフィルタリング処理を施すことにより、解像度レベルの異なる複数のサブバンドを生成するフィルタリング手段と、
上記フィルタリング処理後の上記入力画像の各係数を上記サブバンド毎に設定された量子化ステップサイズで除算して量子化する量子化手段と、
上記サブバンドを分割し、所定の大きさのコードブロックを生成するコードブロック生成手段と、
上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成手段と、
上記ビットプレーン毎に生成されたコーディングパスを算術符号化する符号化手段と、
上記符号化手段によって生成された算術符号からパケットを構成して符号化コードストリームを生成する符号化コードストリーム生成手段とを備え、
上記量子化手段は、所定の解像度レベルに属するサブバンドに対して設定する量子化ステップサイズを、上記所定の解像度レベルを原画像として量子化する場合に各サブバンドに対して設定する量子化ステップサイズと一致させる
ことを特徴とする画像符号化装置。
【請求項２】
上記符号化手段によって生成された算術符号に基づいて、上記所定の解像度レベルに属する全てのコードブロックに割り当てる符号量が第１の符号量以下となるように制御する第１の符号量制御手段と、
上記符号化手段によって生成された算術符号に基づいて、上記第１の符号量制御手段による符号量制御の後に上記所定の解像度レベル以外の解像度レベルに属する全てのコードブロックに割り当てられる符号量が第２の符号量以下となるように制御する第２の符号量制御手段と
をさらに備えることを特徴とする請求項１記載の画像符号化装置。
【請求項３】
上記第２の符号量は、上記入力画像全体の目標符号量から上記所定の解像度レベルに属する全てのコードブロックに実際に割り当てられた符号量を減じたものであることを特徴とする請求項２記載の画像符号化装置。
【請求項４】
上記第１及び第２の符号量制御手段は、上記最上位ビットのビットプレーンから上記最下位ビットのビットプレーンの順に上記ビットプレーン又は上記コーディングパス毎の符号量を順次加算しながら累積符号量とそれぞれ上記第１及び第２の符号量とを比較し、該累積符号量がそれぞれ上記第１及び第２の符号量を超えた場合に加算を停止することを特徴とする請求項２記載の画像符号化装置。
【請求項５】
上記第１及び第２の符号量制御手段は、同じビット位置のビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記ビットプレーン又は上記コーディングパス毎の符号量を加算することを特徴とする請求項４記載の画像符号化装置。
【請求項６】
上記所定の解像度レベルに属するサブバンドは、上記入力画像に対して低域フィルタ及び高域フィルタを垂直方向及び水平方向に１回ずつ施して生成された４つのサブバンドのうちの最低域のサブバンドであることを特徴とする請求項１記載の画像符号化装置。
【請求項７】
入力画像に対してフィルタリング処理を施すことにより、解像度レベルの異なる複数のサブバンドを生成するフィルタリング工程と、
上記フィルタリング処理後の上記入力画像の各係数を上記サブバンド毎に設定された量子化ステップサイズで除算して量子化する量子化工程と、
上記サブバンドを分割し、所定の大きさのコードブロックを生成するコードブロック生成工程と、
上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成するビットプレーン生成工程と、
上記ビットプレーン毎に生成されたコーディングパスを算術符号化する符号化工程と、
上記符号化工程にて生成された算術符号からパケットを構成して符号化コードストリームを生成する符号化コードストリーム生成工程とを有し、
上記量子化工程では、所定の解像度レベルに属するサブバンドに対して設定する量子化ステップサイズを、上記所定の解像度レベルを原画像として量子化する場合に各サブバンドに対して設定する量子化ステップサイズと一致させる
ことを特徴とする画像符号化方法。
【請求項８】
上記符号化工程にて生成された算術符号に基づいて、上記所定の解像度レベルに属する全てのコードブロックに割り当てる符号量が第１の符号量以下となるように制御する第１の符号量制御工程と、
上記符号化工程にて生成された算術符号に基づいて、上記第１の符号量制御工程における符号量制御の後に上記所定の解像度レベル以外の解像度レベルに属する全てのコードブロックに割り当てられる符号量が第２の符号量以下となるように制御する第２の符号量制御工程と
をさらに有することを特徴とする請求項７記載の画像符号化方法。
【請求項９】
上記第２の符号量は、上記入力画像全体の目標符号量から上記所定の解像度レベルに属する全てのコードブロックに実際に割り当てられた符号量を減じたものであることを特徴とする請求項８記載の画像符号化方法。
【請求項１０】
上記第１及び第２の符号量制御工程では、上記最上位ビットのビットプレーンから上記最下位ビットのビットプレーンの順に上記ビットプレーン又は上記コーディングパス毎の符号量が順次加算されると共に累積符号量とそれぞれ上記第１及び第２の符号量とが比較され、該累積符号量がそれぞれ上記第１及び第２の符号量を超えた場合に加算が停止されることを特徴とする請求項８記載の画像符号化方法。
【請求項１１】
上記第１及び第２の符号量制御工程では、同じビット位置のビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記ビットプレーン又は上記コーディングパス毎の符号量が加算されることを特徴とする請求項１０記載の画像符号化方法。
【請求項１２】
上記所定の解像度レベルに属するサブバンドは、上記入力画像に対して低域フィルタ及び高域フィルタを垂直方向及び水平方向に１回ずつ施して生成された４つのサブバンドのうちの最低域のサブバンドであることを特徴とする請求項７記載の画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＪＰＥＧ−２０００方式に従って入力画像を圧縮する画像符号化装置及びその方法に関する。
【０００２】
【従来の技術】
従来の代表的な画像圧縮方式として、ＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｓ  Ｏｒｇａｎｉｚａｔｉｏｎ）によって標準化されたＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式がある。これは、離散コサイン変換（Ｄｅｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ；ＤＣＴ）を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像及び復号画像を供することが知られている。しかし、ある程度以上に符号化ビット数を少なくすると、ＤＣＴ特有のブロック歪みが顕著になり、主観的に劣化が目立つようになる。
【０００３】
一方、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、各帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、ＤＣＴのように高圧縮でブロック歪みが顕著になるという欠点がないことから、ＤＣＴに代わる新たな技術として有力視されている。
【０００４】
例えば２００１年１月に国際標準化が完了したＪＰＥＧ−２０００は、このウェーブレット変換に高能率なエントロピー符号化（ビットプレーン単位のビット・モデリングと算術符号化）を組み合わせた方式を採用しており、ＪＰＥＧに比べて符号化効率の大きな改善を実現している（例えば下記特許文献１参照）。
【０００５】
これらの国際規格ではデコーダ側の規格のみが定められており、エンコーダ側は自由に設計することができる。その反面、目標の圧縮率を実現するためのレート制御の効果的な手段等についての規格が存在しないため、ノウハウの確立が何よりも重要になる。
【０００６】
【特許文献１】
特開２００２−１６５０９８号公報
【０００７】
【発明が解決しようとする課題】
ところで、ＪＰＥＧ−２０００符号化器で、例えば２０００×１０００の解像度の画像を符号化する場合、画像全体の歪みが最小になるように符号量制御を行う手法が一般的である。一方、この４分の１の解像度である１０００×５００の解像度の画像を同様に符号化する場合、やはり画像全体の歪みが最小になるように符号量制御を行う。これはＲＤ（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ）特性を利用したレート制御手法であり、汎用性があるものの非常に計算負荷が高いという問題があった。また、数値上で最小歪みを与える手法が、人間の視覚特性上最高の画質を与える保証がないという問題があった。
【０００８】
また、符号量制御の応用例として、例えば２０００×１０００の画像を１０００Ｋｂｙｔｅのサイズに圧縮する際、ウェーブレット変換の特徴を利用して、２０００×１０００の低域成分である１０００×５００の画像を同時に５００Ｋｂｙｔｅに圧縮することが可能である。しかしながら、このように低域成分である１０００×５００の画像を５００Ｋｂｙｔｅに圧縮した画像は、元々が１０００×５００の原画像を５００Ｋｂｙｔｅに圧縮した場合と比較して、一般的に画質が悪くなるという問題があった。
【０００９】
本発明は、このような従来の実情に鑑みて提案されたものであり、原画像（上述の例では２０００×１０００の画像に相当）の一部である所定の解像度レベルの画像（上述の例では１０００×５００の画像に相当）を圧縮した圧縮画像の画質を、元々その解像度の圧縮画像の画質に近いものに制御し、且つ原画像を圧縮した圧縮画像の画質も高画質を維持可能とする画像符号化装置及びその方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る画像符号化装置及びその方法は、入力画像に対してフィルタリング処理を施すことにより、解像度レベルの異なる複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を上記サブバンド毎に設定された量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさのコードブロックを生成し、上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成されたコーディングパスを算術符号化し、生成された算術符号からパケットを構成して符号化コードストリームを生成するものであり、上記量子化の際に、所定の解像度レベルに属するサブバンドに対して設定する量子化ステップサイズを、上記所定の解像度レベルを原画像として量子化する場合に各サブバンドに対して設定する量子化ステップサイズと一致させるようにしたものである。
【００１１】
このような画像符号化装置及びその方法では、量子化の際に、所定の解像度レベルに属するサブバンドに対して設定する量子化ステップサイズを、この所定の解像度レベルを原画像として量子化する場合に各サブバンドに対して設定する量子化ステップサイズと一致させる。
【００１２】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１３】
先ず本実施の形態における画像符号化装置の概略構成を図１に示す。図１に示すように、画像符号化装置１は、ウェーブレット変換部１０と、量子化部１１と、コードブロック化部１２と、ビットプレーン分解部１３と、ビットモデリング部１４と、算術符号化部１５と、低域レート制御部１７と、高域レート制御部１８と、パケット生成部１９とから構成されている。ここで、ビットモデリング部１４と算術符号化部１５とにより、ＥＢＣＯＴ（Ｅｍｂｅｄｄｅｄ  Ｃｏｄｉｎｇ  ｗｉｔｈ  Ｏｐｔｉｍｉｚｅｄ  Ｔｒｕｎｃａｔｉｏｎ）部１６が構成される。
【００１４】
ウェーブレット変換部１０は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクによって実現される。なお、デジタルフィルタは、通常複数タップ長のインパルス応答（フィルタ係数）を持っているため、フィルタリングが行えるだけの入力画像を予めバッファリングしておく必要があるが、簡単のため、図１では図示を省略する。
【００１５】
ウェーブレット変換部１０は、フィルタリングに必要な最低限の画像信号Ｄ１０を入力し、ウェーブレット変換を行うフィルタリング処理を行ってウェーブレット変換係数Ｄ１１を生成する。
【００１６】
このウェーブレット変換では、通常図２に示すように低域成分が繰り返し変換されるが、これは画像のエネルギの多くが低域成分に集中しているためである。このことは、図３（Ａ）に示す分割レベル＝１から図３（Ｂ）に示す分割レベル＝３のように、分割レベルを進めていくに従って、同図のようにサブバンドが形成されていくことからも分かる。ここで、図２におけるウェーブレット変換のレベル数は２であり、この結果計７個のサブバンドが生成されている。すなわち、１回目のフィルタリング処理によって水平方向のサイズＸ＿ＳＩＺＥ及び垂直方向のサイズＹ＿ＳＩＺＥがそれぞれ１／２に分割され、ＬＬ１，ＬＨ１，ＨＬ１，ＨＨ１の４つのサブバンドが生成される。そして２回目のフィルタリング処理によってＬＬ１がさらに分割されて、ＬＬ２，ＬＨ２，ＨＬ２，ＨＨ２の４つのサブバンドが生成される。なお、図２においてＬ，Ｈはそれぞれ低域，高域を表し、Ｌ，Ｈの後の数字はウェーブレット変換分割数を表す。すなわち、例えばＬＨ１は、水平方向が低域で垂直方向が高域であるウェーブレット変換分割数＝１のサブバンドを表す。
【００１７】
量子化部１１は、ウェーブレット変換部１０から供給されたウェーブレット変換係数Ｄ１１に対して非可逆圧縮を施す。量子化手段としては、ウェーブレット変換係数Ｄ１１を量子化ステップサイズで除算するスカラ量子化を用いるのが一般的である。ここで、ＪＰＥＧ−２０００の規格上、上述の非可逆圧縮を行う場合で、非可逆の９×７ウェーブレット変換フィルタを用いる場合には、自動的にスカラ量子化を併用することが決められている。一方、可逆の５×３ウェーブレット変換フィルタを用いる場合には量子化を行わず、後段の低域レート制御部１７及び高域レート制御部１８において符号量制御が行われる。したがって、図１の量子化部１１が動作するのは、実際には非可逆の９×７ウェーブレット変換フィルタを用いた場合である。以下、この非可逆の９×７ウェーブレット変換フィルタを用いる場合を想定して説明を進める。
【００１８】
ここで、ウェーブレット変換により生成されたサブバンドのうち、ウェーブレット変換分割数が大きい、すなわち解像度レベルが小さい低域ほど画質に与える影響が大きく、ウェーブレット変換分割数が小さい、すなわち解像度レベルが大きい高域ほど画質に与える影響が小さい。したがって、この性質を利用して、低域の量子化ステップサイズを小さくして量子化を細かく行うと共に、高域の量子化ステップサイズを大きくして量子化を粗く行うことにより、視覚特性を利用した符号化を実現することができる。
【００１９】
一例として図４を用いた場合、ウェーブレット変換分割数とサブバンド毎の量子化ステップサイズＱとの関係は、例えば以下の式（１）のように関係付けることができる。
2004336254.tif 000003
【００２０】
ここで図４（Ａ）は、１０００×５００の解像度を持つ画像を符号化する場合におけるサブバンド毎に割り当てられる量子化ステップサイズＱを示し、図４（Ｂ）は、２０００×１０００の解像度を持つ画像を符号化する場合におけるサブバンド毎に割り当てられる量子化ステップサイズＱを示している。
【００２１】
図４から分かる通り、同図（Ａ）に示す１０００×５００の原画像を４回ウェーブレット変換して生成された全てのサブバンド（図中点領域）と、同図（Ｂ）に示す２０００×１０００の原画像を５回ウェーブレット変換して生成されたサブバンドのうち低域の１０００×５００のサブバンド（図中点領域）とでは、前者の方がウェーブレット変換分割数が１回少ないため、量子化ステップサイズも後者と異なる値になる。すなわち、図４（Ｂ）に示す低域の１０００×５００のサブバンドでは、図４（Ａ）に示す１０００×５００の画像をそのまま符号化する場合と比較して、例えばＱＨＨ１の代わりにＱＨＨ２が割り当てられる。
【００２２】
この２０００×１０００の画像を１０００Ｋｂｙｔｅのサイズに圧縮する際に、ウェーブレット変換の特徴を利用して、２０００×１０００の低域成分である１０００×５００の画像を同時に５００Ｋｂｙｔｅに圧縮しようとした場合、上述した式（１）よりＱＨＨ２＜ＱＨＨ１であるため、高域のサブバンドが小さい量子化ステップサイズによって画質重視されることになる。すなわち、低域成分に割り当てるビット量が減ることにより、フリッカノイズと呼ばれる視覚的な歪みが検知されるようになり、元々が１０００×５００の原画像よりも画質が悪くなるという問題が発生する。
【００２３】
そこで、本実施の形態における量子化部１１は、図５に示すように、所定の解像度レベルに属する低域のサブバンド、例えば２０００×１０００の原画像のうち低域の１０００×５００のサブバンド毎の量子化ステップサイズを、１０００×５００の原画像をそのまま符号化する場合のサブバンド毎の量子化ステップサイズと一致させるように量子化制御を行う。
【００２４】
図１に戻って、コードブロック化部１２は、量子化部１１で生成されたサブバンド毎の量子化係数Ｄ１２を、ＪＰＥＧ−２０００の符号化単位であるコードブロック単位に分割する。すなわち図６に示すように、例えば６４×６４程度のサイズのコードブロックが分割後の全てのサブバンド中に生成され、後段の符号化処理はこのコードブロック毎に行われる。なお、ＪＰＥＧ−２０００の規定では、コードブロックのサイズは水平方向、垂直方向共に２の冪乗で表され、通常は３２×３２、又は６４×６４が使用されることが多い。コードブロック化部１２は、コードブロック毎の量子化係数Ｄ１３をビットプレーン分解部１３部に供給する。
【００２５】
ビットプレーン分解部１３は、コードブロック化部１２から供給されたコードブロック毎の量子化係数Ｄ１３をビットプレーンに展開し、ビットプレーン毎の量子化係数Ｄ１４をビットモデリング部１４に供給する。このビットプレーンの概念について図７を用いて説明する。図７（Ａ）は、縦４個、横４個の計１６個の係数からなる量子化係数を仮定したものである。この１６個の係数のうち絶対値が最大のものは１３であり、２進数表現では１１０１となる。したがって、係数の絶対値のビットプレーンは、図７（Ｂ）に示すような４つのビットプレーンから構成される。なお、各ビットプレーンの要素は、全て０又は１の数を取る。一方、量子化係数の符号は、−６が唯一負の値であり、それ以外は０又は正の値である。したがって、符号のビットプレーンは、図７（Ｃ）に示すようになる。
【００２６】
ビットモデリング部１４は、ビットプレーン毎の量子化係数Ｄ１４に対して、以下のようにビットプレーン単位でビットモデリングを行い、算術符号化部１５にコンテキストＤ１５を供給する。ここで、本実施の形態では、特にＪＰＥＧ−２０００規格で定められたＥＢＣＯＴと呼ばれるエントロピー符号化を行う。このＥＢＣＯＴでは、コードブロック毎にそのコードブロック内の量子化係数の統計量を測定しながらエントロピー符号化を行う。なお、ＥＢＣＯＴについての詳細は、例えば、文献「ＩＳ０／ＩＥＣ  １５４４４−１，  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−ＪＰＥＧ  ２０００，  Ｐａｒｔ  １：Ｃｏｒｅ  ｃｏｄｉｎｇ  ｓｙｓｔｅｍ」等に記載されている。
【００２７】
各コードブロックは、最上位ビット（ＭＳＢ）から最下位ビット（ＬＳＢ）方向にビットプレーン毎に独立して符号化される。量子化係数は、ｎビットの符号付き２進数で表されており、ｂｉｔ０からｂｉｔ（ｎ−２）がＬＳＢからＭＳＢまでのそれぞれのビットを表す。なお、残りの１ビットは符号である。符号ブロックの符号化は、ＭＳＢ側のビットプレーンから順番に、以下の（ａ）〜（ｃ）に示す３種類のコーディングパスによって行われる。
（ａ）  Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ  Ｐａｓｓ
（ｂ）  Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ  Ｐａｓｓ
（ｃ）  Ｃｌｅａｎ  ｕｐ  Ｐａｓｓ
【００２８】
３つのコーディングパスの用いられる順序を図８に示す。図８に示すように、先ずビットプレーン（ｎ−２）（ＭＳＢ）がＣｌｅａｎ  ｕｐ  Ｐａｓｓ（以下、適宜「ＣＵパス」という。）によって符号化される。続いて、順次ＬＳＢ側に向かい、各ビットプレーンが、Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ  Ｐａｓｓ（以下、適宜「ＳＰパス」という。）、Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ  Ｐａｓｓ（以下、適宜「ＭＲパス」という。）、ＣＵパスの順序で用いられて符号化される。
【００２９】
但し、実際にはＭＳＢ側から何番目のビットプレーンで初めて１が出てくるかをヘッダに書き、オール０のビットプレーンは符号化しない。この順序で３種類のコーディングパスを繰返し用いて符号化し、任意のビットプレーンの任意の符号化パスまでで符号化を打ち切ることにより、符号量と画質のトレードオフを取る、すなわちレート制御を行うことができる。
【００３０】
ここで、係数の走査（スキャニング）について図９を用いて説明する。コードブロックは、高さ４個の係数毎にストライプ（ｓｔｒｉｐｅ）に分けられる。ストライプの幅は、コードブロックの幅に等しい。スキャン順とは１個のコードブロック内の全ての係数を辿る順番であり、コードブロック中では上のストライプから下のストライプへの順序、各ストライプ中では左の列から右の列への順序、各列中では上から下への順序でスキャニングされる。なお、各コーディングパスにおいてコードブロック中の全ての係数がこのスキャン順で処理される。
【００３１】
以下、上述した３つのコーディングパスについて説明する。
（ａ）  Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｐｒｏｐａｇａｔｉｏｎ  Ｐａｓｓ
あるビットプレーンを符号化するＳＰパスでは、８近傍の少なくとも１つの係数が有意（ｓｉｇｎｉｆｉｃａｎｔ）であるようなｎｏｎ−ｓｉｇｎｉｆｉｃａｎｔ係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が１である場合には、符号の正負が続けて算術符号化される。
ここでｓｉｇｎｉｆｉｃａｎｃｅとは、各係数に対して符号化器が持つ状態である。ｓｉｇｎｉｆｉｃａｎｃｅの初期値は、ｎｏｎ−ｓｉｇｎｉｆｉｃａｎｔを表す０であり、その係数で１が符号化されたときにｓｉｇｎｉｆｉｃａｎｔを表す１に変化し、以降常に１であり続ける。したがって、ｓｉｇｎｉｆｉｃａｎｃｅとは、有効桁の情報を既に符号化したか否かを示すフラグとも言える。
【００３２】
（ｂ）  Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ  Ｐａｓｓ
ビットプレーンを符号化するＭＲパスでは、ビットプレーンを符号化するＳＰパスで符号化していないｓｉｇｎｉｆｉｃａｎｔな係数のビットプレーンの値が算術符号化される。
【００３３】
（ｃ）  Ｃｌｅａｎ  ｕｐ  Ｐａｓｓ
ビットプレーンを符号化するＣＵパスでは、ビットプレーンを符号化するＳＰパスで符号化していないｎｏｎ−ｓｉｇｎｉｆｉｃａｎｔな係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が１である場合には、符号の正負が続けて算術符号化される。
【００３４】
なお、以上の３つのコーディングパスでの算術符号化では、ケースに応じてＺＣ（Ｚｅｒｏ  Ｃｏｄｉｎｇ）、ＲＬＣ（Ｒｕｎ−Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）、ＳＣ（Ｓｉｇｎ  Ｃｏｄｉｎｇ）、ＭＲ（Ｍａｇｎｉｔｕｄｅ  Ｒｅｆｉｎｅｍｅｎｔ）が使い分けられて係数のコンテキストが選択される。そして、ＭＱ符号化と呼ばれる算術符号によって選択されたコンテキストが符号化される。このＭＱ符号化は、ＪＢＩＧ２で規定された学習型の２値算術符号である。ＭＱ符号化については、例えば、文献「ＩＳＯ／ＩＥＣ  ＦＤＩＳ  １４４９２，  “Ｌｏｓｓｙ／Ｌｏｓｓｌｅｓｓ  Ｃｏｄｉｎｇ  ｏｆ  Ｂｉ−ｌｅｖｅｌ  Ｉｍａｇｅｓ”，  Ｍａｒｃｈ  ２０００」等に記載されている。ＪＰＥＧ−２０００では、全ての符号化パスで合計１９種類のコンテキストがある。
【００３５】
以上のようにしてビットモデリング部１４は、ビットプレーン毎の量子化係数Ｄ１４を３つのコーディングパスに分解し、コーディングパス毎に係数のコンテキストＤ１５を生成する。そして、算術符号化部１５は、このコンテキストＤ１５に対して算術符号化を施し、上述した量子化部１１で量子化ステップサイズを変更した所定の低域のサブバンドにおける算術符号Ｄ１６を低域レート制御部１７に供給すると共に、それ以外の高域のサブバンドにおける算術符号Ｄ１７を高域レート制御部１８に供給する。
【００３６】
低域レート制御部１７は、少なくとも一部の符号化パスの処理を行った後で、算術符号化部１５から供給された算術符号Ｄ１６、すなわち図１０に示す解像度レベル（Ｒｅｓｏｌｕｔｉｏｎ  Ｌｅｖｅｌ；ＲＬ）が０〜４である低域のサブバンド（ＲＬ０〜ＲＬ４）内に存在している全てのコードブロックの算術符号Ｄ１６の符号量を後述する所定の順序で加算し、所定の目標符号量に達した時点でそれより後の算術符号Ｄ１６を切り捨てる。このように、所定の目標符号量を超える直前で切り捨てることにより、確実に目標符号量以内に収めることができる。低域レート制御部１７は、この符号量制御完了後の算術符号Ｄ１８をパケット生成部１９に供給すると共に、その符号量Ｄ１９を高域レート制御部１８に供給する。
【００３７】
高域レート制御部１８は、算術符号化部１５から供給された算術符号Ｄ１７、すなわち図１０に示す解像度レベルが５である高域のサブバンド（ＲＬ５）内に存在している全てのコードブロックの算術符号Ｄ１７の符号量を後述する所定の順序で加算し、目標符号量以内に収まるように制御する。高域レート制御部１８は、この符号量制御完了後の算術符号Ｄ２０をパケット生成部１９に供給する。なお、この高域レート制御部１８における目標符号量は、最終的な全サブバンドにおける目標符号量から低域サブバンドにおける符号量Ｄ１８を減じた値とする。
【００３８】
この低域レート制御部１７及び高域レート制御部１８における処理を図１１のフローチャートを用いて説明する。先ずステップＳ１において、例えば図１０の低域サブバンド（ＲＬ０〜ＲＬ４）の目標符号量をＴｌｏｗと設定し、全サブバンド（ＲＬ０〜ＲＬ５）の目標符号量をＴｈｉｇｈと設定する。
【００３９】
次にステップＳ２において、低域サブバンド（ＲＬ０〜ＲＬ４）内に存在する全てのコードブロックにおける発生符号量の総和がＴｌｏｗ以下となるようにレート制御を行う。このレート制御の結果、発生符号量の総和がＣｌｏｗになったものとする。
【００４０】
続いてステップＳ３において、高域サブバンド（ＲＬ５）内に存在する全てのコードブロックにおける発生符号量の総和が（Ｔｈｉｇｈ−Ｃｌｏｗ）以下となるようにレート制御を行う。このレート制御の結果、全サブバンド（ＲＬ０〜ＲＬ５）における発生符号量の総和がＣｈｉｇｈになったものとすると、このＣｈｉｇｈはＣｈｉｇｈ＜Ｔｈｉｇｈを満足するものであるため、発生符号量を確実に目標符号量以内に収めることができる。
【００４１】
このように、本実施の形態における低域レート制御部１７及び高域レート制御部１８では、低域サブバンド（ＲＬ０〜ＲＬ４）のレート制御を高域サブバンド（ＲＬ５）のレート制御に優先して行うことにより、少なくともこの解像度レベルでの画質を維持或いは保証することができる。
【００４２】
ここで、低域レート制御部１７及び高域レート制御部１８では、以下に説明する順序に従ってコーディングパス毎又はビットプレーン毎の符号量を加算する。すなわち、各サブバンドについては、最上位ビット（ＭＳＢ）のビットプレーンから最下位ビット（ＬＳＢ）のビットプレーンの順に選択する。
【００４３】
また、各サブバンドの同じビット位置のビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に選択する。例えば図１２に示すように３回ウェーブレット変換を行った場合、低域レート制御部１７では０ＬＬ、１ＨＬ、１ＬＨ、１ＨＨ、２ＨＬ、２ＬＨ、２ＨＨの順に、高域レート制御部１８では３ＨＬ、３ＬＨ、３ＨＨの順に選択する。これは、画像の重要な部分が高域よりも低域に集まっているためである。なお、同じ解像度レベルにおけるＨＬとＬＨとについては、図１２のようにＨＬを優先させるのではなく、ＬＨを優先させるようにしてもよい。
【００４４】
また、Ｙ（輝度）、Ｕ，Ｖ（色差）の３つのコンポーネントの同じビット位置のビットプレーンについては、例えば、Ｙ、Ｕ、Ｖの順に選択する。これは、一般に色差情報よりも輝度情報に対して人間の視覚特性が敏感なためである。なお、同じ色差情報であるＵ及びＶの重要度は入力画像に依存するため、優先順位を適宜可変にすることが好ましい。
【００４５】
このビットプレーンの加算処理手順を図１３のフローチャートに示す。先ずステップＳ１０において、ＥＢＣＯＴ部１６で符号化された所定の解像度レベル又はそれ以外の解像度レベルの全コーディングパスの情報と各ビットプレーンの符号量とを保持する。
【００４６】
次にステップＳ１１において、加算符号量Ｙを０に初期化し、続くステップＳ１２において、最初のサブバンド、コンポーネント、コードブロックの最上位ビット（ＭＳＢ）のビットプレーンを選択する。
【００４７】
続いてステップＳ１３において、選択したビットプレーンの符号量Ｔ［Ｎｓ，Ｎｃ，Ｃ，Ｂ］をＹに加算する。ここで、Ｎｓ，Ｎｃ，Ｃ，Ｂは、それぞれサブバンド番号、コンポーネント番号、コードブロック番号、ビットプレーン番号を示す。
【００４８】
ステップＳ１４では、加算符号量Ｙが目標符号量以上であるか否かが判別される。加算符号量Ｙが目標符号量以上である場合（Ｙｅｓ）には加算処理を終了し、符号量Ｙが目標符号量未満である場合（Ｎｏ）にはステップＳ１５に進む。
【００４９】
ステップＳ１５では、同じビット位置のビットプレーンが存在するか否かが判別される。同じビット位置のビットプレーンが存在する場合（Ｙｅｓ）にはステップＳ１６に進み、次のビットプレーンを選択してステップＳ１３に戻る。一方、同じビット位置のビットプレーンが存在しない場合（Ｎｏ）にはステップＳ１７に進む。
【００５０】
ステップＳ１７では、最下位ビット（ＬＳＢ）か否かが判別される。最下位ビット（ＬＳＢ）である場合（Ｙｅｓ）には加算処理を終了し、そうでない場合（Ｎｏ）にはステップＳ１８において最下位ビット（ＬＳＢ）側の次のビット位置の最初のビットプレーンを選択してステップＳ１３に戻る。
【００５１】
一例として、図１４を用いて、低域レート制御部１７における処理をビットプレーンの観点から具体的に説明する。この図１４は、Ｙ（輝度）、Ｕ，Ｖ（色差）の３つのコンポーネントに対して各サブバンド内のコードブロック（ＣＢ）毎のビットプレーンを図示している。ここで、図１４において、空白領域はゼロビットプレーンを示し、斜線領域は符号化コードストリームに最終的に含まれるビットプレーンを示し、点領域はレート制御の結果、使用されないビットプレーンを示す。
【００５２】
図１４に示すように、低域レート制御部１７では、最上位ビット（ＭＳＢ）のビットプレーンから最下位ビット（ＬＳＢ）のビットプレーンの順に、コードブロック、サブバンド、コンポーネントを渡りながらビットプレーンが選択される。すなわち、同じビット位置ではサブバンドについては最低域のサブバンドから最高域のサブバンドの順に、コンポーネントについては例えばＹ、Ｕ、Ｖの順にビットプレーンが選択される。具体的には、図１４において、Ｙ−０ＬＬ，…，Ｙ−２ＨＨ，Ｕ−０ＬＬ，…，Ｕ−２ＨＨ，Ｖ−０ＬＬ，…，Ｖ−２ＨＨのサブバンドの順に選択され、各サブバンド内ではＣＢ０，…，ＣＢｎの順に、最上位ビット（ＭＳＢ）側からビットプレーンが選択される。そして、選択されたビットプレーンの符号量の総和が所定の目標符号量に達すると、加算を停止する。
【００５３】
なお、この例では、サブバンド毎の選択をコンポーネント毎の選択に優先させているが、これに限定されるものではなく、コンポーネント毎の選択をサブバンド毎の選択に優先させるようにしても構わない。
【００５４】
高域レート制御部１８においても同様に、Ｙ−３ＨＬ，…，Ｙ−３ＨＨ，Ｕ−３ＨＬ，…，Ｕ−３ＨＨ，Ｖ−３ＨＬ，…，Ｖ−３ＨＨのサブバンドの順に選択され、各サブバンド内ではＣＢ０，…，ＣＢｎの順に、最上位ビット（ＭＳＢ）側からビットプレーンが選択される。
【００５５】
このように、本実施の形態における低域レート制御部１７及び高域レート制御部１８では、最終的に選択されずに切り捨てられるビットプレーン数が、１フレーム内の全てのコードブロックに対して最下位ビット（ＬＳＢ）側から数えて最大でも１ビットプレーンしか相違しないため、サブバンド間の画質差がなくなり、全体的に高画質な画像が得られる。
【００５６】
再び図１に戻って、パケット生成部１９は、低域レート制御部１７から供給された算術符号Ｄ１８と高域レート制御部１８から供給された算術符号Ｄ２０とに対してヘッダを付加してパケットを構成し、符号化コードストリームＤ２１として出力する。この際、パケット生成部１９は、図１５に示すように同一解像度レベルから個々のパケットを生成する。すなわち、最低域であるパケット−１は解像度レベル０（ＲＬ０）のサブバンドのみを含み、パケット−２は解像度レベル１（ＲＬ１）のサブバンドのみを含み、以下同様である。パケット生成部１９は、このパケット単位で上記符号化コードストリームＤ２１を出力する。
【００５７】
以上説明したように、本実施の形態における画像符号化装置１によれば、量子化部１１において、所定の解像度レベルに属する低域のサブバンド、例えば２０００×１０００の原画像のうち低域の１０００×５００のサブバンド毎の量子化ステップサイズを、１０００×５００の原画像をそのまま符号化する場合のサブバンド毎の量子化ステップサイズと一致させるように量子化制御を行い、さらに低域レート制御部１７において、この低域サブバンドのレート制御を高域サブバンドのレート制御に優先して行うことにより、低域サブバンドの圧縮画像の画質を元々その解像度である画像を圧縮した圧縮画像の画質に近いものに制御し、且つ原画像を圧縮した圧縮画像の画質も、高画質を維持することができる。
【００５８】
また、低域レート制御部１７及び高域レート制御部１８では、最上位ビット（ＭＳＢ）のビットプレーンから最下位ビット（ＬＳＢ）のビットプレーンの順に、コードブロック、サブバンド、コンポーネントを渡りながらビットプレーンを選択してその符号量を加算し、目標符号量と比較するようにしているため、目標符号量に達した時点で直ちにレート制御を終了することができる。また、最終的に選択されずに切り捨てられるビットプレーン数が、１フレーム内の全てのコードブロックに対して最下位ビット（ＬＳＢ）側から数えて最大でも１ビットプレーンしか相違しないため、サブバンド間の画質差がなくなり、全体的に高画質な画像が得られる。
【００５９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００６０】
例えば、上述した実施の形態では、１回ウェーブレット変換した低域のサブバンド、すなわち図１０における低域サブバンド（ＲＬ０〜ＲＬ４）について特別な量子化制御及びレート制御を行う例について説明したが、これに限定されるものではなく、２回ウェーブレット変換した低域のサブバンド（ＲＬ０〜ＲＬ３）や３回ウェーブレット変換した低域のサブバンド（ＲＬ０〜ＲＬ２）等であっても構わないことは勿論である。
【００６１】
【発明の効果】
以上詳細に説明したように、本発明に係る画像符号化装置は、入力画像に対してフィルタリング処理を施すことにより、解像度レベルの異なる複数のサブバンドを生成し、上記フィルタリング処理後の上記入力画像の各係数を上記サブバンド毎に設定された量子化ステップサイズで除算して量子化し、上記サブバンドを分割して所定の大きさのコードブロックを生成し、上記コードブロック毎に最上位ビットから最下位ビットに至るビットプレーンを生成し、上記ビットプレーン毎に生成されたコーディングパスを算術符号化し、生成された算術符号からパケットを構成して符号化コードストリームを生成するものであり、上記量子化の際に、所定の解像度レベルに属するサブバンドに対して設定する量子化ステップサイズを、上記所定の解像度レベルを原画像として量子化する場合に各サブバンドに対して設定する量子化ステップサイズと一致させるようにしたものである。
【００６２】
このような画像符号化装置及びその方法によれば、量子化の際に、所定の解像度レベルに属するサブバンドに対して設定する量子化ステップサイズを、この所定の解像度レベルを原画像として量子化する場合に各サブバンドに対して設定する量子化ステップサイズと一致させることで、該所定の解像度レベルに属するサブバンドの圧縮画像の画質を元々その解像度である画像を圧縮した圧縮画像の画質に近いものに制御し、且つ原画像を圧縮した圧縮画像の画質も、高画質を維持することができる。
【図面の簡単な説明】
【図１】本実施の形態における画像符号化装置の概略構成を説明する図である。
【図２】第２レベルまでウェーブレット変換した場合のサブバンドを説明する図である。
【図３】実際の画像をウェーブレット変換した場合のサブバンドを示す図であり、同図（Ａ）は、第１レベルまでウェーブレット変換した例を示し、同図（Ｂ）は、第３レベルまでウェーブレット変換した例を示す。
【図４】従来においてサブバンド毎に割り当てられる量子化ステップサイズＱを示す図であり、同図（Ａ）は、解像度が１０００×５００である画像の例を示し、同図（Ｂ）は、解像度が２０００×１０００である画像の例を示す。
【図５】本実施の形態においてサブバンド毎に割り当てられる量子化ステップサイズＱを示す図であり、同図（Ａ）は、解像度が１０００×５００である画像の例を示し、同図（Ｂ）は、解像度が２０００×１０００である画像の例を示す。
【図６】コードブロックとサブバンドの関係を説明する図である。
【図７】ビットプレーンの説明する図であり、同図（Ａ）は、計１６個の係数から成る量子化係数を示し、同図（Ｂ）は、係数の絶対値のビットプレーンを示し、同図（Ｃ）は、符号のビットプレーンを示す。
【図８】コードブロック内のコ−ディングパスの処理手順を説明する図である。
【図９】コ−ドブロック内の係数のスキャン順序を説明する図である。
【図１０】同画像符号化装置の低域レート制御部及び高域レート制御部において処理するサブバンドの一例を示す図である。
【図１１】同低域レート制御部及び高域レート制御部における処理を説明するフローチャートである。
【図１２】同低域レート制御部及び高域レート制御部におけるサブバンド毎の優先順位を説明する図である。
【図１３】同低域レート制御部及び高域レート制御部における処理の詳細を説明するフローチャートである。
【図１４】同低域レート制御部における処理をビットプレーンの観点から具体的に説明する図である。
【図１５】同画像符号化装置のパケット生成部で生成されるパケットを説明する図である。
【符号の説明】
１  画像符号化装置、１０  ウェーブレット変換部、１１  量子化部、１２  コードブロック化部、１３  ビットプレーン分解部、１４  ビットモデリング部、１５  算術符号化部、１６  ＥＢＣＯＴ部、１７  低域レート制御部、１８  高域レート制御部、１９  パケット生成部
【図１】
2004336254.tif 000004
【図２】
2004336254.tif 000005
【図３】
2004336254.tif 000006
【図４】
2004336254.tif 000007
【図５】
2004336254.tif 000008
【図６】
2004336254.tif 000009
【図７】
2004336254.tif 000010
【図８】
2004336254.tif 000011
【図９】
2004336254.tif 000012
【図１０】
2004336254.tif 000013
【図１１】
2004336254.tif 000014
【図１２】
2004336254.tif 000015
【図１３】
2004336254.tif 000016
【図１４】
2004336254.tif 000017
【図１５】
2004336254.tif 000018