(57)【特許請求の範囲】
【請求項１】
符号化対象の画像データを複数のタイルに分割し、当該タイルを単位に符号化する画像符号化装置であって、
符号化対象の画像データを複数のタイルに分割するタイル分割手段と、 
前記タイル分割手段により分割されたタイルに対して周波数変換することで複数のサブバンドを生成する周波数変換手段と、
タイル間の同一サブバンドに対し固定であって同一の量子化パラメータで量子化する第１の量子化方法、または、タイル間の同一サブバンドに対して可変の量子化パラメータで量子化する第２の量子化方法のいずれかの量子化方法により、前記周波数変換手段により生成されたサブバンドを量子化する量子化手段と、
前記量子化手段で量子化されたデータを符号化する符号化手段と、
前記符号化対象の画像データの目標データ量に応じて、前記第１の量子化方法で量子化するか、前記第２の量子化方法で量子化するかを切り換える制御手段と、
を備えることを特徴とする画像符号化装置。
【請求項２】
前記制御手段は、
画像データの目標データ量が所定値より小さい場合には、前記周波数変換手段で生成された全てのサブバンドに対して前記第１の量子化方法で量子化すると決定し、
画像データの目標データ量が前記所定値以上の場合には、前記周波数変換手段で生成された複数のサブバンドのうち、低域のサブバンドは前記第１の量子化方法で量子化し、高域サブバンドは前記第２の量子化方法で量子化すると決定する
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記符号化対象の画像データのビットレートを設定する設定手段を有し、
前記制御手段は、前記設定手段により設定されたビットレートに応じて、前記第１の量子化方法で量子化するか、前記第２の量子化方法で量子化するかを決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記制御手段は、
前記設定手段で設定したビットレートが、第１の閾値を下回る場合は前記周波数変換手段で生成された全サブバンドを前記第１の量子化方法で量子化すると決定し、
前記設定手段で設定したビットレートが、前記第１の閾値を下回らない場合は前記周波数変換手段で生成された複数のサブバンドのうち予め設定されたサブバンドには前記第１の量子化方法で量子化し、上記以外のサブバンドには前記第２の量子化方法で量子化すると決定する
ことを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記制御手段は、
前記周波数変換で得られる複数のサブバンドを周波数の低い順に並べた場合の、最も低い周波数から高い周波数に向かうＭ個のサブバンドについては第１の量子化方法を適用し、Ｍ＋１個目から最も高い周波数までのＮ個のサブバンドについては第２の量子化方法を適用し、
前記ビットレートが低いほど前記Ｍを大きくする
ことを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記制御手段は、着目タイルから得られた全サブバンドのうち最も低い周波数のサブバンドについては、前記ビットレートとは無関係に前記第１の量子化方法を適用するものとして決定する
ことを特徴とする請求項３乃至５のいずれか１項に記載の画像符号化装置。
【請求項７】
前記第２の量子化方法は、着目サブバンドのラインを単位に量子化パラメータを決定する
ことを特徴とする請求項３乃至６のいずれか１項に記載の画像符号化装置。
【請求項８】
前記制御手段は、前記第２の量子化方法に従って着目サブバンドを量子化する際の量子化パラメータの許容範囲を、ビットレートに従って決定する
ことを特徴とする請求項３乃至７のいずれか１項に記載の画像符号化装置。
【請求項９】
前記許容範囲は、ビットレートが低いほど狭くすることを特徴とする請求項８に記載の画像符号化装置。
【請求項１０】
前記周波数変換手段は、ウェーブレット変換手段であることを特徴とする請求項１乃至９のいずれか１項に記載の画像符号化装置。
【請求項１１】
符号化対象の画像データを複数のタイルに分割し、当該タイルを単位に符号化する画像符号化装置の制御方法であって、
符号化対象の画像データを複数のタイルに分割するタイル分割工程と、 
前記タイル分割工程により分割されたタイルに対して周波数変換することで複数のサブバンドを生成する周波数変換工程と、
タイル間の同一サブバンドに対し固定であって同一の量子化パラメータで量子化する第１の量子化方法、または、タイル間の同一サブバンドに対して可変の量子化パラメータで量子化する第２の量子化方法のいずれかの量子化方法により、前記周波数変換工程により生成されたサブバンドを量子化する量子化工程と、
前記量子化工程で量子化されたデータを符号化する符号化工程と、
前記符号化対象の画像データの目標データ量に応じて、前記第１の量子化方法で量子化するか、前記第２の量子化方法で量子化するかを切り換える制御工程と、
を備えることを特徴とする画像符号化装置の制御方法。
【請求項１２】
コンピュータが読み込み実行することで、前記コンピュータを、請求項１乃至１０のいずれか１項に記載の画像符号化装置が有する各手段として機能させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の符号化技術に関するものである。
【背景技術】
【０００２】
現在、画像データを高効率に圧縮符号化する符号化手法が提案されている。その中の代表的な符号化方式として、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）が挙げられる。このＪＰＥＧ方式では、周波数変換において、ＤＣＴ（離散コサイン変換：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）が用いられる。しかし、ＪＰＥＧにおけるＤＣＴは、８×８画素の固定ブロック単位で処理する為、低ビットレートにおいて、ブロック歪みが発生しやすいことで知られている。
【０００３】
一方、このＪＰＥＧの後継として規格化されたＪＰＥＧ２０００と呼ばれる符号化方式では、周波数変換において、ＤＷＴ（離散ウェーブレット変換：Ｄｉｓｃｒｅｔｅ  Ｗａｖｅｌｅｔ  Ｔｒａｎｓｆｏｒｍ）が用いられている。ＤＷＴは、ハイパスフィルタとローパスフィルタを組み合わせたフィルタバンクと呼ばれるフィルタによって、画像データを複数の周波数帯域成分に分割する。ＤＣＴが固定ブロック単位で周波数変換を行うのに対し、ＤＷＴはそのサイズに実質的に制限はなく、たとえば画面単位に周波数変換を行うことができ、量子化に伴うブロック歪みが発生しない。そして、画像データを複数の周波数帯域（以降サブバンドと呼ぶ）に分割した後、サブバンド毎に量子化してから符号化する。量子化においては、人間の視覚特性を考慮して、低域サブバンドに符号量を多く割り当てることで、主観画質を損なわずに符号量を削減する手法が静止画や動画における量子化の一般的な考え方である。
【０００４】
ここで、ＪＰＥＧ２０００におけるＤＷＴ及び量子化は、任意の矩形ブロック（以降タイルと呼ぶ）に対して適応可能である。このタイルに分割して符号化する技術により、処理の並列度を上げたり、内部で保持するＲＡＭ（ラインバッファ）容量を削減することができる。例えば、画像データを左右に２分割する場合を考察する。この場合、左右のタイルそれぞれの水平１ラインの画素数は、オリジナルのそれの半分になり、符号化する際に保持するラインバッファの容量も、オリジナルの場合の半分に削減できる。しかし、各タイルが独立した量子化を実行するため、各タイルの量子化誤差に差異が生じ、特に高圧縮時にはタイル境界部分で歪みが生じることが課題となっている。
【０００５】
先行技術として、ＤＷＴベースのタイル分割を行う画像符号化方式において、符号量制御のための下位ビットの破棄によって生じる画質の歪みを低減する方法が下記の特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１７５８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
各タイルが共通の量子化パラメータを使用することができれば、タイル境界の歪みは発生しない。しかし、各タイルが同一の量子化パラメータを適用するようにすると、逆に符号量の制御性が悪化し、目標ビットレートに収束しないケースが発生し得る。
【０００８】
ここで、上述の特許文献１には、エンベデッド符号化（ＥＢＣＯＴ）によるビットプレーン量子化を用いた符号量制御における、タイル間の下位ビット破棄位置が異なることで発生する境界歪みの低減方法が記載されている。詳細には、破棄すべき誤差データをタイルデータとは別に符号化して保持しておき、復号時には、保持していた誤差データを用いてタイルデータを復号することで境界歪みを低減する仕組みとなっている。しかし、この手法では、誤差データの符号化処理部、誤差データの復号処理部、復号時のタイルデータと誤差データの合成処理部が別途必要となるため、複雑かつ実装規模の増大が懸念される。
【０００９】
本発明は上記問題に鑑みなされたものであり、タイル分割した画像データを量子化、および符号化する際に、実装規模の増大を抑えつつ容易な制御方法で、タイル境界歪みの低減と符号量の高い制御性の両立を図る技術を提供しようとするものである。
【課題を解決するための手段】
【００１０】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
符号化対象の画像データを複数のタイルに分割し、当該タイルを単位に符号化する画像符号化装置であって、
符号化対象の画像データを複数のタイルに分割するタイル分割手段と、 
前記タイル分割手段により分割されたタイルに対して周波数変換することで複数のサブバンドを生成する周波数変換手段と、
タイル間の同一サブバンドに対し固定であって同一の量子化パラメータで量子化する第１の量子化方法、または、タイル間の同一サブバンドに対して可変の量子化パラメータで量子化する第２の量子化方法のいずれかの量子化方法により、前記周波数変換手段により生成されたサブバンドを量子化する量子化手段と、
前記量子化手段で量子化されたデータを符号化する符号化手段と、
前記符号化対象の画像データの目標データ量に応じて、前記第１の量子化方法で量子化するか、前記第２の量子化方法で量子化するかを切り換える制御手段とを備える。
【発明の効果】
【００１１】
本発明によれば、タイル分割した画像データを量子化、および符号化する際に、実装規模の増大を抑えつつ容易な制御で、タイル境界歪みの低減と符号量の高い制御性の両立を図ることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態における撮像装置のブロック構成図。
【図２】実施形態における２つの量子化方法を説明するための図。
【図３】第１実施形態における量子化方法の決定処理を示すフローチャート。
【図４】第１実施形態におけるサブバンドの分割例と、ビットレートと各サブバンドに適用する量子化方法との関係を示す図。
【図５】第２実施形態におけるビットレートと量子化パラメータの許容範囲との関係と、量子化パラメータの推移を示す図。
【図６】サブバンドの符号化時の符号量の推移を示す図。
【図７】符号化処理手順を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下の説明において、画像符号化装置の適用する装置として、デジタルカメラに代表される撮像装置を例にして説明する。従って符号化対象の画像データの発生源は、撮像装置が有する撮像部となる。しかし、本発明は撮像装置のみに適用されるものではない。また、符号化対象の画像データの発生源は、撮像部に限らず、符号化対象の画像データを記憶した記憶媒体でもよく、その種類も問わない。あくまで理解を容易にするためであると理解されたい。
【００１４】
［第１実施形態］
図１は、第１実施形態が適用する撮像装置１００のブロック構成図である。撮像装置１００は、撮像した画像情報を複数のタイルに分割してから、記録する構成となっている。また、タイルのサイズは可変で、例えば、画像データ全体を１つのタイルとして設定してもよい。制御部１１０は参照符号１０１乃至１０９の各構成要素を制御し、装置全体の制御を司るものである。典型的には、制御部１１０は、ＣＰＵ、ＣＰＵの処理手順を示すプログラムやデータを格納したＲＯＭ、ＣＰＵのワークエリア等として利用するＲＡＭで構成されるものである。なお、参照符号１０１乃至１０９のいくつか、もしくは全部が制御部１１０の処理により実現しても構わない。
【００１５】
操作部１０１は、ユーザの指令を受け付け、指令に応じた制御信号を生成する。例えば、撮像指示、タイル分割数（タイルのサイズ）、記録ビットレートの設定などもこの操作部１０１から入力される。入力されたタイル分割数はタイル分割部１０３に供給される。また、記録ビットレートは量子化制御部１０６に供給される。
【００１６】
撮像部１０２は、操作部１０１からの制御信号に基づき、撮像センサの画素毎に配置される赤、緑、青（ＲＧＢ）のカラーフィルターを透過した光強度の信号を画像情報に変換してタイル分割部１０３に出力する。本第１実施形態は、撮像部１０２から出力される画像データを、生（未現像）の画像を意味するＲＡＷ画像データと称す。撮像部１０２に配置されるカラーフィルターの一例としてベイヤ―配列がある。ベイヤ―配列は、赤（Ｒ）、緑（Ｇ）、青（Ｂ）が画素毎にモザイク状に配置されていて、２×２の４画素につき赤（Ｒ）１画素、青（Ｂ）１画素、緑（Ｇ１、Ｇ２）２画素を１セットにして規則的に並べられた構造となっている。
【００１７】
タイル分割部１０３は、撮像部１０２から入力されるＲＡＷ画像を一旦内部メモリに格納し、操作部１０１から供給されるタイル分割数に基づき、ＲＡＷ画像データを１つ以上のタイルに分割する。なお、操作部１０１からのタイル分割数はＭ×Ｎの形式であり、分割されるタイルは基本的に同じサイズとする。ただし、オリジナルのＲＡＷ画像データの水平画素数がＭの整数倍となるとは限らないが、余った画素は予め設定された条件に従って適当なタイルにわりあてるものとする。かかる点は垂直方向の分割数Ｎについても同様である。タイル分割部１０３は、分割して得られたタイルをプレーン形成部１０４へ順次供給する。なお、操作部１０１から入力されるタイル分割数を用いずに、撮像部１０２から入力される画像サイズに応じて、内部のメモリリソースが破綻しないような分割数を自動的に算出するようにしてもよい。
【００１８】
プレーン形成部１０４は、タイル分割部１０３から供給されたタイルのＲＡＷ画像データを色成分毎に分解して色プレーンを形成する。ベイヤ配列のＲＡＷ画像であるため、色プレーン形成部１０４は、赤（Ｒ）、緑（Ｇ１）、緑（Ｇ２）、青（Ｂ）の各色成分を抜き出し、色プレーンを形成する。そして、プレーン形成部１０４は、形成したＲプレーン、Ｇ１プレーン、Ｇ２プレーン、そして、Ｂプレーンを、例えばこの順に周波数変換部１０５に供給する。
【００１９】
周波数変換部１０５は、プレーン形成部１０４より受信したＲプレーンに対して離散ウェーブレット変換を実行し、その結果得られた変換係数データを量子化部１０７に供給する。この離散ウェーブレット変換では、例えば、ＪＰＥＧ２０００で規定される整数型５×３型フィルタであってもよく、又は実数型９×７フィルタを用いても良い。そして、周波数変換部１０５は、プレーン形成部」１０４から受信した他のプレーン（Ｇ１，Ｇ２，Ｂプレーン）に対しても離散ウェーブレット変換を実行し、その結果得られた変換係数データを量子化部１０７に供給する。
【００２０】
量子化制御部１０６は、操作部１０１から入力される記録ビットレートに基づき、量子化部１０７が使用する量子化パラメータを決定して、量子化部１０７に供給する。ここで、実施形態における量子化制御部１０６は、２つの量子化方法から量子化パラメータを決定する構成となっている。この２つの量子化方法の詳細は後述する。
【００２１】
量子化部１０７は、周波数変換部１０５から受信した変換係数データに対して、量子化制御部１０６から受信した量子化パラメータを用いて量子化を実行し、量子化後の係数をエントロピー符号化部１０８に供給する。
【００２２】
エントロピー符号化部１０８は、量子化部１０７から受信した量子化後の変換係数データを圧縮符号化し、符号化データを生成する。そして、エントロピー符号化部１０８は生成した符号化データを記憶媒体１０９に供給する。この圧縮符号化は、例えば、ゴロム符号化のようなエントロピー符号化を用いて実施する。
【００２３】
記憶媒体１０９は、エントロピー符号化部１０８から受信した符号化データを記憶する不揮発性メモリ（例えば脱着可能な記憶媒体（ＳＤカード）等）である。
【００２４】
次に、量子化制御部１０６における、第１の量子化方法と、第２の量子化方法について、図２（ａ）、図２（ｂ）を用いて説明する。
【００２５】
図２（ａ）は、第１の量子化方法を示す概念図であり、図２（ｂ）は、第２の量子化方法を示す概念図である。以下、これらについてさらに詳しく説明する。なお、実施形態における周波数変換部１０５は、１つのタイルに対して、離散ウェーブレット変換を２回行うものとして説明する。結果、図４（ａ）に示すように、１つのタイルから７つのサブバンドＳＢ０乃至ＳＢ６が生成される。なお、この離散ウェーブレット変換の実行回数は２回に限らず、１回以上であればその回数に制限はない。場合によっては、操作部１０１からその回数を設定できるようにしても良い。
【００２６】
＜第１の量子化方法＞
図２（ａ）に示すように、１つのサブバンドを面で均一に量子化する方法である。この量子化方法における量子化パラメータは、１サブバンドにつき１パラメータの関係が固定であり、各タイルにおける同一サブバンドの量子化パラメータ（量子化ステップ）が、隣接タイル間で同一の値とを取る。各タイルのサブバンドはタイル間で同一の量子化パラメータが設定されるため、量子化によるタイル境界の歪みが発生することはない。なお、本実施形態での量子化パラメータは、操作部１０１から入力されるビットレート付近に収束するような統計値を予め用意して量子化に適用する方法で説明する。
【００２７】
なお、実施形態では、周波数変換部１０５から、１つのタイルから７つのサブバンドが生成される。それ故、それぞれに対してサブバンドに対し、予め設定した量子化パラメータが設定される。
【００２８】
＜第２の量子化方法＞
図２（ｂ）に示すように、１つのサブバンドをライン単位に分割し、各ラインが異なる量子化パラメータ（Ｑ＃ｘ）（ｘ＝０，１，２…）を用いて量子化する方法である。この量子化方法は、ライン毎に量子化パラメータを変更することが可能であるため、設定ビットレートへの収束性が高い。
【００２９】
第１の量子化方法および第２の量子化方法の決定処理の基本的な考え方を説明する。ビットレートが低い場合（目標圧縮率が高い場合）は、符号量を抑制するために量子化パラメータが大きく設定されるため、量子化誤差は大きくなる。つまり、タイル境界部の歪みが視認しやすくなる傾向になる。かかる点に従い、タイル境界の画質を優先した第１の量子化方法に決定する。
【００３０】
一方、ビットレートが高い場合（目標圧縮率が低い場合）は、量子化パラメータが小さく設定されるため、量子化誤差は小さい。タイル境界部の歪みが視認しにくいことから、ビットレートの収束性を優先した第２の量子化方法に決定する。
【００３１】
続いて、ＲＡＷ画像の符号化処理に対して、量子化制御部１０６が行う量子化方法決定処理について図３に示すフローチャートを基に説明を行う。
【００３２】
Ｓ３０１にて、量子化制御部１０６は、ユーザが設定した操作部１０１からビットレートＲを取得する。なお、ビットレートは、ユーザがそれを変更しない限りメモリに保持される場合には、そのメモリよりビットレートを取得しても構わない。Ｓ３０２にて、量子化制御部１０６は、取得したビットレートＲと予め設定された閾値Ｔと比較し、大小判定を行う。ビットレートＲが閾値Ｔ０を下回る場合（Ｒ＜０Ｔの場合）はＳ３０３に処理を進める。また、ビットレートＲが閾値Ｔ０以上の場合にはＳ３０４に処理を進める。なお、閾値Ｔ０の設定例は後述する。
【００３３】
Ｓ３０３にて、量子化制御部１０６は、着目タイルの各サブバンドの量子化方法を、第１の量子化方法を用いるとして決定する。また、Ｓ３０４に処理が進んだ場合、量子化制御部１０６は、着目タイルの各サブバンドの量子化方法として、第１の量子化方法と第２の量子化方法との組み合わせを用いるものとして決定する。
【００３４】
ここで、閾値Ｔの設定例と、第１の量子化方法と第２の量子化方法とを組み合わせた量子化方法について、図４（ａ）、図４（ｂ）を用いて説明する。
【００３５】
図４（ａ）は、１つのタイルに対し、離散ウェーブレット変換を２回実行した場合に生成されるサブバンドを示している。各サブバンドは以下の意味を持つ。
・サブバンドＳＢ０（２ＬＬとも表現する）：
１回目の離散ウェーブレット変換で得られる低域成分の変換係数データの集合（１ＬＬ）に対して、垂直方向ローパスフィルタ処理、水平方向ローパスフィルタ処理を施して得られた変換係数データの集合である。
・サブバンドＳＢ１（２ＨＬとも表現する）：
１回目の離散ウェーブレット変換で得られる低域成分の変換係数データの集合（１ＬＬ）に対して、垂直方向ローパスフィルタ処理、水平方向ハイパスフィルタ処理を施して得られた変換係数データの集合である
・サブバンドＳＢ２（２ＬＨとも表現する）：
１回目の離散ウェーブレット変換で得られる低域成分の変換係数データの集合（１ＬＬ）に対して、垂直方向ハイパスフィルタ処理、水平方向ローパスフィルタ処理を施して得られた変換係数データの集合である。
・サブバンドＳＢ３（２ＨＨとも表現する）：
１回目の離散ウェーブレット変換で得られる低域成分の変換係数データの集合（１ＬＬ）に対して、垂直方向ハイパスフィルタ処理、水平方向ハイパスフィルタ処理を施して得られた変換係数データの集合である。
・サブバンドＳＢ４（１ＨＬとも表現する）：
タイルに対して、垂直方向ローパスフィルタ処理、水平方向ハイパスフィルタ処理を施して得られた変換係数データの集合である。
・サブバンドＳＢ５（１ＬＨとも表現する）：
タイルに対して、垂直方向ハイパスフィルタ処理、水平方向ローパスフィルタ処理を施して得られた変換係数データの集合である。
・サブバンドＳＢ６（１ＨＨとも表現する）：
タイルに対して、垂直方向ハイパスフィルタ処理、水平方向ハイパスフィルタ処理を施して得られた変換係数データの集合である。
【００３６】
ここで、量子化制御部３０４のＳ３０３，Ｓ３０４の処理の具体例を説明する。図４（ｂ）は、各サブバンドの量子化方法適用パターンを示したテーブルである。閾値の大小関係は、Ｔ０＜Ｔ１＜Ｔ２＜Ｔ３である。
・パターン１：
ビットレートＲが、閾値Ｔ０未満の場合に、着目タイルから得られた全サブバンドに第１の量子化方法を適用するパターンである。このパターン１に相当する場合の処理がＳ３０３の処理でもある。以下に説明するパターン２乃至パターン５は、Ｓ３０４における処理となる。
・パターン２：
ビットレートＲが、閾値Ｔ０以上Ｔ１未満の場合に、サブバンドＳＢ６に第２の量子化方法が適用され、それ以外のサブバンドＳＢ０乃至５に対しては第１の量子化方法を適用するパターンである。
・パターン３：
ビットレートＲが、閾値Ｔ１以上Ｔ２未満の場合に、サブバンドＳＢ４乃至ＳＢ６に第２の量子化方法が適用され、それ以外のサブバンドＳＢ０乃至３に対しては第１の量子化方法を適用するパターンである。
・パターン４：
ビットレートＲが、閾値Ｔ２以上Ｔ３未満の場合に、サブバンドＳＢ３乃至ＳＢ６に第２の量子化方法が適用され、それ以外のサブバンドＳＢ０乃至２に対しては第１の量子化方法を適用するパターンである。
・パターン５：
ビットレートＲが、閾値Ｔ３以上の場合に、サブバンドＳＢ１〜ＳＢ６に対して第２の量子化方法が適用され、サブバンドＳＢ０に対しては第１の量子化方法を適用するパターンである。
【００３７】
ビットレートが最も高いパターン５においては、タイル境界部の歪みが視認しにくいため、第２の量子化方法を適用するサブバンドが最も多く、ビットレートの収束性を重視した制御となっている。
【００３８】
実施形態におけるサブバンドはＳＢ＃（＃＝０，１，２、…）と表現している。ウェーブレット変換を行う回数が２以外でもかかる表現を用いるのであれば、周波数成分の低い順で表していると言える。上記のパターン１乃至５における量子化制御部１０６の処理は以下（１）、（２）のようにまとめることができる。
（１）周波数変換で得られる複数のサブバンドを周波数の低い順に並べた場合の、最も低い周波数から高い周波数に向かうＭ個のサブバンドについては第１の量子化方法を適用し、Ｍ＋１個目から最も高い周波数までのＮ個のサブバンドについては第２の量子化方法を適用する。
（２）ビットレートが低いほどＭを大きくする（または、ビットレートは高いほどＮを大きくする）
また、最も周波数の低いサブバンドＳＢ０（実施形態では２ＬＬ）は、ビットレートとは無関係に、第１の量子化方法を採用する。
【００３９】
以上のようにすることで、タイル分割した画像の符号化において、ビットレートに応じて量子化方法を動的に切り替えることで、タイル境界歪みの抑制と符号量の制御性を両立可能な画像符号化装置を提供することができる。
【００４０】
なお、第１の量子化方法に基づく符号化処理は、着目サブバンドの全変換係数を同じ量子化パラメータに基づき量子化し、符号化することになるので、その説明は不要であろう。そこで以下では、第２の量子化方法にもとづく、各ラインの量子化パラメータの変更がどのようにして推移するのかを、その符号化処理と共に説明する。
【００４１】
着目サブバンドのライン０、１、２…と符号化を行っていくと、各ラインの符号化データが生成されていく。つまり、各ラインの符号化を継続していく限り、総符号量は単調増加していく。
【００４２】
着目サブバンドの全ラインの符号化を終えた際の目標符号量は、ユーザが設定したビットレートＲに加え、分割タイル数、ウェーブレット変換の回数、並びに、着目サブバンドの種類で決まる。
【００４３】
図６は、着目サブバンドをライン０から順に量子化、符号化を行った際の符号量の推移を示している。図示の右肩上がりの直線は、目標符号量と原点を結ぶ理想推移を示す直線（以下、理想直線という）を示している。第０ラインから第ｉラインまでの累積目標符号量を『ＴＡ（ｉ）』と表している。実際に量子化、符号化がこの理想直線上を推移するとは限らず、理想直線を上回ったり、下回ったりしながら累積符号量は増えていく。理想直線を上回った場合、符号量の発生を抑制する必要があることを意味する。それ故、次ラインの量子化の際には、量子化パラメータ（量子化ステップ）を所定値だけ増加させる。一方、理想直線を下回った場合、符号量を増やして画質を高めても良いことを意味する。それ故、次ラインの量子化の際には、量子化パラメータ（量子化ステップ）を所定値だけ減少させる。
【００４４】
かかる点を踏まえ、実施形態における制御部１１０の制御下における或るサブバンドの符号化処理を図７のフローチャートに従って説明する。なお、以下の説明で用いる変数ｉはライン番号を特定するために用いられる。また、変数Ａは、第０〜第ｉラインまでの累積符号量を格納するために用いられるものである。
【００４５】
まず、制御部１１０は、Ｓ１にて、量子化制御部１０６を制御し、着目サブバンドの符号化に先立ち、量子化パラメータＲに初期値を設定する。この初期値は、ユーザが設定したビットレートＲ、分割タイル数、ウェーブレット変換の回数、並びに、着目サブバンドの種類で決まる。
【００４６】
次に、Ｓ２にて、制御部１１０は変数ｉ、Ａをそれぞれ０クリアする。そして、Ｓ３にて、制御部１１０は量子化部１０７を制御し、着目サブバンドから第ｉラインの変換係数データを周波数変換部１０５から入力させ、Ｓ４にて量子化パラメータＲを用いて量子化を行わせる。そして、Ｓ５にて、制御部１１０はエントロピー符号化部１０８を制御して、量子化後の１ライン分の変換係数データに対しエントロピー符号化を実行させる。そして、制御部１１０は、Ｓ６にて、変数Ａに第ｉラインの符号化データ量を加算することで、変数Ａを更新する。
【００４７】
次いで制御部１１０は、Ｓ７にて第ｉラインまでの累積符号量Ａと累積目標符号量ＴＡ（ｉ）との差が、予め設定した閾値ε以下であるか否かを判定する。閾値ε以下である場合、処理はＳ１１に進み、制御部１１０は全ラインの符号化を終えたか否かを判定し、否の場合にはＳ１２にて変数ｉを“１”増加させ、Ｓ３以降の処理を繰り返す。
【００４８】
また、第ｉラインまでの累積符号量Ａと累積目標符号量ＴＡ（ｉ）との差が閾値εを超える場合、制御部１１０は処理をＳ８に進め、Ａ＜ＴＡ（ｉ）であるか否か、つまり、累積符号量Ａが累積目標符号量ＴＡ（ｉ）を下回っているか否かを判定する。Ａ＜ＴＡ（ｉ）である場合、符号量を増やしても良いことになる。それ故、制御部１１０は、Ｓ９にて、量子化パラメータＲを予め設定された正の所定値ΔＲだけ減少させる。また、Ａ＞ＴＡ（ｉ）であった場合、符号量を減らす必要がある。それ故、制御部１１０は、Ｓ１０にて、量子化パラメータＲを所定値ΔＲだけ増加させる。
【００４９】
以上の結果、着目サブバンドの量子化パラメータをライン単位に変更した符号化が実現できる。
【００５０】
［第２実施形態］
第２実施形態に係る装置構成は、上記第１の実施形態と同様であるため、構成説明を省略する。また、量子化制御部１０６が行う量子化方法決定処理についても第１の実施形態と同様であるため省略する。異なる点は、本第２の実施形態における第２の量子化方法（図２（ｂ））では、隣接タイルにおける同一サブバンド間の量子化パラメータが、所定の範囲内に収まるように、ライン毎の量子化パラメータを決定する構成とする点である。
【００５１】
第１実施形態における第２の量子化方法は、ビットレートに依存することなく処理内容は常に同じであり、タイル間の量子化パラメータの差分について考慮されていなかった。そのため、特に、低ビットレート時は、隣接タイル間の量子化パラメータ差分量が大きい場合に、タイル境界の歪みが発生し得る可能性があった。
【００５２】
そこで、本第２の実施形態の第２の量子化方法は、ビットレートに応じて隣接タイル間のライン毎の量子化パラメータに設定範囲を設けることで、より細かく画質とビットレートの収束性のバランスを最適にすることを目的とする。以下かかる詳細を説明する。
【００５３】
本第２実施形態における第２の量子化方法における量子化パラメータの設定方法、設定値の範囲について説明する。本第２実施形態では、分割したタイルの着目タイルのサブバンドの先頭ラインの量子化パラメータが、タイル間で同値であるものとする。
【００５４】
図５（ａ）は、タイルの所定のサブバンドの量子化パラメータの設定範囲を示している。また、図５（ｂ）は、図５（ａ）で示した設定範囲の中に収まるように、ライン毎の量子化パラメータが推移していることを表している。図５（ａ）中の閾値Ｔ０，Ｔ１の設定方法については、例えば、記録可能な最大ビットレートを等割にした値を設定すればよい。ただし、閾値の大小関係はＴ０＜Ｔ１であり、閾値に基づく設定パターンは３つであるものとして説明する。また、量子化パラメータ差分の許容範囲Ａ、Ｂ、Ｃの大小関係はＡ＜Ｂ＜Ｃである。
・パターン１：
ビットレートＲが、閾値Ｔ０未満の場合に、第２の量子化方法で用いる各ラインの量子化パラメータが、先頭ラインの量子化パラメータに対して、±Ａの範囲に収まるように設定する。
・パターン２：
ビットレートＲが、閾値Ｔ０以上Ｔ１未満の場合に、第２の量子化方法で用いる量子化パラメータが、先頭ラインの量子化パラメータに対して、±Ｂの範囲に収まるように設定する。
・パターン３：
ビットレートＲが、閾値Ｔ１以上の場合に、第２の量子化方法で用いる量子化パラメータが、先頭ラインの量子化パラメータに対して、±Ｃの範囲に収まるように設定する。
【００５５】
図５（ａ）、図５（ｂ）から分かるように、ビットレートが最も高いパターン３においては、タイル境界部の歪みが視認しにくいため、より広い範囲で量子化パラメータを設定する。
【００５６】
一方、ビットレートが最も低いパターン１においては、ビットレートが下がるとタイル境界部の歪みが視認しやすくなるため、より狭い範囲で量子化パラメータを設定することでタイル歪みを抑制している。
【００５７】
以上のようにすることで、タイル分割した画像の符号化において、ビットレートに応じて量子化パラメータの設定範囲を動的に切り替えることで、より細かく画質とビットレート収束性のバランスを調整することが可能な画像符号化装置を提供することができる。
【００５８】
なお、本実施形態の量子化パラメータの設定範囲を１つのサブバンドに着目して説明したが、設定範囲Ａ、Ｂ、Ｃは、いずれのサブバンドにおいても同様の大小関係が成り立つ。また、設定範囲Ａ，Ｂ，Ｃは、量子化パラメータのリミッタとして用いることになる。図７のフローチャートに適用するのであれば、設定値Ａを適用する場合には、Ｓ９、Ｓ１０の直後等に、『量子化パラメータの初期値±Ａ』の範囲を超えた場合に範囲内に戻す処理を追加すればよい。
【００５９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６０】
１００…撮像装置、１０１…操作部、１０２…撮像部、１０３…タイル分割部、１０４…プレーン形成部、１０５…周波数変換部、１０６…量子化制御部、１０７…量子化部、１０８…エントロピー符号化部、１０９…記憶媒体、１１０…制御部
【図１】
0006564314.tif 000002
【図２】
0006564314.tif 000003
【図３】
0006564314.tif 000004
【図４】
0006564314.tif 000005
【図５】
0006564314.tif 000006
【図６】
0006564314.tif 000007
【図７】
0006564314.tif 000008