説明

画像符号化装置、画像符号化方法および画像符号化プログラム

【課題】階調を拡張すると想定される部分では小さな符号化歪で符号化し、階調を縮小すると想定される部分では大きな符号化歪で符号化することにより、階調補正後の画質が向上する。
【解決手段】歪計算部111が各符号化パスの符号化により生じる歪を計算し、歪修正部112が再生画像に施される階調補正特性に応じて歪を修正する。符号量計算部113が各符号化パスの符号量を計算して、傾き計算部114が修正した歪と符号量の関係に基づく傾きを算出する。切り捨てポイント導出部115がその傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、階調補正を想定して画像信号を符号化する画像符号化装置、ならびにその方法およびプログラムに関するものである。
【背景技術】
【0002】
現在、インターネットを中心に静止画像符号化方式であるJPEGが広く普及しているが、さらなる性能改善、機能付加の要求を背景として、JPEG2000符号化方式が標準化された。以下に、非特許文献1として挙げた勧告書に従ってJPEG2000符号化アルゴリズムの基本方式の概略を説明する。
【0003】
このアルゴリズムに入力される画像信号は、ウェーブレット変換部で2次元のウェーブレット変換が施され、複数のサブバンドに帯域分割される。ここで、2次元のウェーブレット変換は1次元のウェーブレット変換の組み合わせとして実現される。つまり、垂直方向の1次元ウェーブレット変換を列毎に順次行う処理と、水平方向の1次元ウェーブレット変換をライン毎に順次行う処理である。ここで、1次元のウェーブレット変換は、図11に示すように、所定の特性を持つローパスフィルタとハイパスフィルタ、およびダウンサンプラから構成されるものである。
【0004】
こうして生成された2次元のウェーブレット変換係数は、低域成分をL、高域成分をHとし、水平方向の変換を1文字目、垂直副走査方向の変換を2文字目で表現することで、図12に示すようにLL,HL,LH,HHと表現される。また、これらの帯域分割された成分はサブバンドと呼ばれている。ここで、水平、垂直方向の低域成分(LL成分)は再帰的にウェーブレット変換が施される。再帰的に施される各ウェーブレット変換によって生成される各サブバンドを分解レベルと称し、図12中LL,HL,LH,HHの前に記載された数字がこれにあたる。即ち、ウェーブレット変換の分解回数2の場合には、最低解像度成分の分解レベルは2となり、反対に最高解像度成分のHL,LH,HHの分解レベルは1になる。
【0005】
次に、各サブバンドのウェーブレット変換係数は、サブバンド毎に設定された量子化ステップサイズに従って量子化される。続いて、各サブバンドの量子化後のウェーブレット変換係数をコードブロックと呼ばれる固定サイズの領域に分割した後、多値データからなるコードブロックを2値のビットプレーン表現に変換し、各ビットプレーンを3通りの符号化パス(Significant Propagation Decoding Pass,Magnitude Refinement Pass,Cleanup Pass)に分割する。
【0006】
3つの符号化パスから出力される2値信号は、それぞれの符号化パス毎にコンテクストモデリングが行われ、エントロピ符号化が行われる。また、エントロピ符号化処理と並行して、各コードブロックに於いて符号化パス毎の符号量と歪情報を計算する。
【0007】
最後に、ラグランジェの乗数法を用いて画質劣化(歪)を最小にしながら、目標とする符号サイズ以下に符号量を調整するレート制御が行われる。レート制御の方法は、標準化されているわけではなくアプリケーションに応じて任意の方法を使うことができるが、以下に非特許文献1として挙げた勧告書のJ.14.3に参考情報として記載されているレート制御部のメカニズムについて概略を説明する。
【0008】
この方法では、各コードブロックiにおける切り捨てポイントをni、各切り捨てポイントまでの符号量をR(i,ni)、歪をD(i,ni)とした時、ラグランジェの乗数法を使い、次式(1)を最大にする切り捨てポイントによって生ずる画面全体での総符号量Rが目標符号量Rmaxの範囲内であることを満足するまで変数λを調整する。
Σ(R(i,ni)−λD(i,ni)) (1)
【0009】
ここで、歪とは、ある符号化パスまでの符号を送った時に再生画像の平均二乗誤差が符号データを伝送しない時と比較してどれだけ減少したかを示すもので、厳密に言えば、歪の減少量ということになる。従って、符号化前は歪Dは0、最終ビットプレーンまで符号化すると歪Dは平均二乗誤差に等しくなる。
【0010】
上式(1)を最大にする切り捨てポイントを見つけることは、図13に示すように、各コードブロックの符号量Rと歪Dをグラフに表した時(以下、RD曲線と称する)、その接線の傾きがλ−1となる切り捨てポイントを見つけることと等価である。図13では、2つのコードブロックc1,c2において、接線の傾きがλ−1となる切り捨てポイントがnc1,nc2で、その切り捨てポイントまでの符号量がR(c1,nc1),R(c2,nc2)となることを表している。レート制御では、このようなRを全てのコードブロックに対して加算し、Rmaxと比較する処理となる。
【0011】
これをコードブロック毎に見た場合、(R(i,ni)−λD(i,ni))を最大化する切り捨てポイントniを次のように見つける必要がある。
【0012】
Set ni=0
For k=1,2,3,・・・
Set ΔR(i,k)=R(i,k)−R(i,ni)
and ΔD(i,k)=D(i,k)−D(i,ni)
If(ΔD(i,k)/ΔR(i,k))>λ−1 then set ni=k
【0013】
なお、このアルゴリズムでは、多数のλに対して上記処理を実行しなければ切り捨てポイントniを求めることができない。そこで、傾きS(i,k)=ΔD(i,k)/ΔR(i,k)がkについて単調減少になるように予め補正しておく。
【0014】
全てのコードブロックでこれらの情報の導出が完了したら、総符号量が目標符号量Rmaxとなるような符号データを作成する。具体的には、あるλに対する総符号量Rsumに対してRsum≦Rmaxを満たす最大のRsumを与えるλを見つけることになる。ここで、あるλに対する総符号量は各コードブロックに於いて切り捨てポイントを一意に求め、その切り捨てポイントまでの符号データの総和を算出して初めてわかる。そこで、Rsum≦Rmaxを満たす最大のRsumを与えるλを見つけるには、通常は、λの複数の候補に対する総符号量を算出して、所望の値に近い総符号量を与えるλを収束演算により算出する。λが求まったら、そのλに対応する切り捨てポイントまでの符号データを全てのコードブロックから集めて、更に各コードブロックにおける符号化パス数を付加情報として付け加え、最終的な符号データを構成する。こうして、目標符号量Rmaxのもとで歪を最小とする符号データを生成することができる。
【0015】
上記の方法では、総符号量Rsumが目標符号量Rmax以下の条件で画面全体での総歪量(平均二乗誤差)が最小となる切り捨てポイントを算出している。しかし、平均二乗誤差を最小化した画像が、必ずしも主観的に最適な画質であるとは限らない。そこで、人の視覚特性に応じて、上式(1)の歪D(i,ni)を修正して主観画質の改善を図る手法も提案されている。JPEG2000規格書J.12に「Visual frequency weighting」として紹介されている方法では、サブバンド毎に重み係数w(n)(nはサブバンドのインデックス)を設定し、主観画質への影響が小さい高域のサブバンドに対しては重み係数を小さな値に、主観画質への影響が大きい低域のサブバンドに対しては重み係数を大きな値にする。そして、各コードブロックの歪D(i,ni)に対して、そのコードブロックが属するサブバンドに設定された重み係数を掛けることにより、歪の修正値D’を算出する。
D’(i,ni,)=D(i,ni)・w(n) (2)
【0016】
歪を修正した後は、前述した総歪量を最小化する手順と同じ手順で各コードブロックの切り捨て符号化パス数を決定する。これにより、平均二乗誤差最小化の条件で生成した符号データに比べて、低域のサブバンドでは切り捨て符号化パス数が少なく、高域のサブバンドでは切り捨て符号化パス数が多くなり、主観的な画質向上が期待できる。
【0017】
以上のようなJPEG2000国際標準規格は、ISOおよびITU−T等の標準化機関を通して入手することができる。また、JPEG2000の最新情報については、http://www.jpeg.orgを参照することにより入手することができる。
【先行技術文献】
【非特許文献】
【0018】
【非特許文献1】勧告書(ISO/IEC 15444−1:2002)
【発明の概要】
【発明が解決しようとする課題】
【0019】
リモートセンシングなどの用途では、遠隔地で撮影された画像信号を伝送した後、再生された画像に対し、階調補正、解像度変換、輪郭強調・抽出、ノイズ除去、カラーシェーディングなど目標となる被写体が判別し易くなるよう様々な画像処理を施して、画像の判読を行う。階調補正では、人の視覚感度を考慮し、暗い部分の輝度レベルを明るくする、コントラストの低い部分の階調を拡張するなどの処理がよく行われる。
【0020】
しかしながら、従来の符号化処理ではこのような一連の後処理を考慮せずに、原信号領域での平均二乗誤差を最小にするように設計することが多い。そのため、再生画像の階調を拡張すると、拡張した部分で符号化歪も強調されてしまい、画像の判読性に悪影響を及ぼすことがある。逆に、判読時に階調を縮小する部分にも他の部分と同様に符号化を施すので、不要に精度の高い符号化となり、符号量の増加に繋がるという問題があった。
【0021】
この発明は、上記のような課題を解決するためになされたもので、階調を拡張すると想定される部分では小さな符号化歪で符号化し、階調を縮小すると想定される部分では大きな符号化歪で符号化することにより、階調補正後の画質が向上することを目的とする。
【課題を解決するための手段】
【0022】
この発明に係る画像符号化装置は、画像信号に直交変換を施し、複数の周波数成分の変換係数を生成する変換部と、変換部が生成した変換係数に対して量子化を行う量子化部と、量子化部が量子化した変換係数を複数のコードブロックに分割し、当該コードブロックをビットプレーンに分解し、各ビットプレーンを一つ以上の符号化パスに分割し、当該符号化パス毎に符号化して符号データを生成するエントロピ符号化部と、エントロピ符号化部が生成した符号データを記憶する符号メモリ部と、レート制御に必要な歪と符号量の計算に基づいて符号化パスの切り捨てポイントを決定するレート制御情報抽出部と、レート制御情報抽出部が決定した切り捨てポイントまでの符号データを符号メモリ部から抽出し符号ストリームとして出力する符号データ抽出部とを備え、レート制御情報抽出部は、各符号化パスの符号化により生じる歪を算出する歪計算部と、歪計算部が計算した歪を、画像信号の再生画像に施される階調補正特性に応じて修正する歪修正部と、各符号化パスの符号量を算出する符号量計算部と、歪修正部が修正した歪と符号量計算部が計算した符号量とから各コードブロックにおける歪と符号量の関係に基づく傾きを算出する傾き計算部と、傾き計算部が計算した傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出部とを有するものである。
【0023】
また、この発明に係る画像符号化方法は、画像信号に直交変換を施し、複数の周波数成分の変換係数を生成する変換ステップと、変換ステップで生成した変換係数に対して量子化を行う量子化ステップと、量子化ステップで量子化した変換係数を複数のコードブロックに分割し、当該コードブロックをビットプレーンに分解し、各ビットプレーンを一つ以上の符号化パスに分割し、当該符号化パス毎に符号化して符号データを生成するエントロピ符号化ステップと、エントロピ符号化ステップで生成した符号データを符号メモリ部に記憶する符号メモリステップと、レート制御に必要な歪と符号量の計算に基づいて符号化パスの切り捨てポイントを決定するレート制御情報抽出ステップと、レート制御情報抽出ステップで決定した切り捨てポイントまでの符号データを符号メモリ部から抽出し符号ストリームとして出力する符号データ抽出ステップとを備え、レート制御情報抽出ステップは、各符号化パスの符号化により生じる歪を算出する歪計算ステップと、歪計算ステップで計算した歪を、画像信号の再生画像に施される階調補正特性に応じて修正する歪修正ステップと、各符号化パスの符号量を算出する符号量計算ステップと、歪修正ステップで修正した歪と符号量計算ステップで算出した符号量とから各コードブロックにおける歪と符号量の関係に基づく傾きを算出する傾き計算ステップと、傾き計算ステップで算出した傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出ステップとを有するものである。
【0024】
また、この発明に係る画像符号化プログラムは、コンピュータを、画像信号に直交変換を施し、複数の周波数成分の変換係数を生成する変換手段と、変換手段が生成した変換係数に対して量子化を行う量子化手段と、量子化手段が量子化した変換係数を複数のコードブロックに分割し、当該コードブロックをビットプレーンに分解し、各ビットプレーンを一つ以上の符号化パスに分割し、当該符号化パス毎に符号化して符号データを生成するエントロピ符号化手段と、エントロピ符号化手段が生成した符号データを記憶する符号メモリ手段と、レート制御に必要な歪と符号量の計算に基づいて符号化パスの切り捨てポイントを決定するレート制御情報抽出手段と、レート制御情報抽出手段が決定した切り捨てポイントまでの符号データを符号メモリ手段から抽出し符号ストリームとして出力する符号データ抽出手段として機能させ、レート制御情報抽出手段は、各符号化パスの符号化により生じる歪を算出する歪計算手段と、歪計算手段が計算した歪を、画像信号の再生画像に施される階調補正特性に応じて修正する歪修正手段と、各符号化パスの符号量を算出する符号量計算手段と、歪修正手段が修正した歪と符号量計算手段が算出した符号量とから各コードブロックにおける歪と符号量の関係に基づく傾きを算出する傾き計算手段と、傾き計算手段が算出した傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出手段として機能させるものである。
【発明の効果】
【0025】
この発明によれば、各符号化パスの符号化により生じる歪を、画像信号の再生画像に施される階調補正特性に応じて修正し、各コードブロックにおける修正した歪と符号量の関係に基づく傾きを算出して切り捨てポイントを導出するようにしたので、階調を拡張すると想定される部分では小さな符号歪で符号化でき、また、階調を縮小すると想定される部分では大きな符号化歪で符号化できるようになり、階調補正後の画質を向上させることができる。
【図面の簡単な説明】
【0026】
【図1】この発明の実施の形態1に係る画像符号化装置の構成を示すブロック図である。
【図2】この発明の実施の形態1に係るレート制御情報抽出部の構成を示すブロック図である。
【図3】図1に示すエントロピ符号化部によるビットプレーンの分解を説明する図である。
【図4】図1に示すエントロピ符号化部によるビットプレーンから符号化パスへの分解を説明する図である。
【図5】再生画像に施されると想定する階調補正を示すグラフである。
【図6】図1に示す歪修正部による歪の修正値の算出処理を示すフローチャートである。
【図7】2レベルのウェーブレット変換係数の例を示す図である。
【図8】図1に示す歪修正部による歪の修正値の別の算出処理を示すフローチャートである。
【図9】この発明の実施の形態2に係る歪修正部による歪の修正値の算出処理を示すフローチャートである。
【図10】実施の形態2に係る歪修正部による歪の修正値の別の算出処理を示すフローチャートである。
【図11】従来技術におけるウェーブレット変換部の構成を示す図である。
【図12】従来技術におけるウェーブレット変換の流れを示す図である。
【図13】従来技術における最適な符号化パス導出を説明するグラフである。
【発明を実施するための形態】
【0027】
実施の形態1.
図1に示す画像符号化装置100は、入力された画像信号に対し、直交変換の一種である2次元のウェーブレット変換を再帰的に行う変換部101、変換部101によって生成されたウェーブレット変換係数を予め設定された量子化ステップサイズで量子化処理する量子化部102、量子化されたウェーブレット変換係数をビットプレーンに分解し2値算術符号化するエントロピ符号化部103、エントロピ符号化された符号データを一時的に格納する符号メモリ部104、レート制御に必要な歪と符号量を計算し、どの符号化パスまでの符号データを符号ストリームとして出力するかを判断するレート制御情報抽出部105、レート制御情報抽出部105が判断した切り捨てポイントまでの符号データを符号メモリ部104から抽出して符号ストリームとして出力する符号データ抽出部106を備える。
【0028】
図2に、レート制御情報抽出部105の内部構成を示す。
レート制御情報抽出部105は、符号化パス毎の歪を計算する歪計算部111、符号化パス毎の歪を修正する歪修正部112、符号化パス毎の符号量をカウントする符号量計算部113、歪と符号量からRD曲線の傾きSを計算する傾き計算部114、各コードブロックで切り捨てる符号化パスを決定する切り捨てポイント導出部115を備える。
【0029】
なお、画像符号化装置100における処理は1または複数のプログラムによりコンピュータ上で実現してもよく、または、その少なくとも一部をハードウェアで実現してもよい。例えば画像符号化装置100をコンピュータで構成する場合には、変換部101、量子化部102、エントロピ符号化部103、レート制御情報抽出部105および符号データ抽出部106の処理内容を記述しているプログラムをコンピュータのメモリに格納し、また、符号メモリ部104をRAM等の記憶装置によって構成し、コンピュータのCPUがメモリに格納されているプログラムを実行する。
【0030】
次に、画像符号化装置100の動作を説明する。
まず、不図示の画像入力装置(例えば、イメージセンサ等)から入力された画像信号に対して、変換部101が1次元のウェーブレット変換を垂直方向、水平方向の両方向に2次元的に施し、サブバンドに帯域分割する。ここで、1次元のウェーブレット変換は、低域通過フィルタ(L)と高域通過フィルタ(H)のフィルタバンクによって構成される。先立って図12を用いて説明したように、2次元のウェーブレット変換を例えば2回再帰的に施す場合、まず第1回目のウェーブレット変換により1LL,1HL,1LH,1HHが生成される。続いてその1LLのサブバンドに対して2回目のウェーブレット変換を施し、2LL,2HL,2LH,2HHが生成される。先頭の数字は分解レベルを表しており、続くLまたはHの2つの英字は、水平方向、垂直方向のフィルタの種類を表している。
【0031】
続いて、量子化部102が、サブバンド毎に設定された量子化ステップサイズによりウェーブレット変換係数を量子化する。
【0032】
続いて、エントロピ符号化部103が、各サブバンドのウェーブレット変換係数をコードブロックと呼ばれる固定サイズの矩形領域に分割した後、多値データからなるそれぞれのコードブロックを2値のビットプレーンに変換する。通常、このコードブロックの大きさは64×64、32×32などのサイズに設定される。
【0033】
ここで、図3を用いてビットプレーンの分解について詳しく説明する。
図3(a)は4×4のコードブロックの一例を表している。図内の数値は、量子化後の変換係数の値を示している。これらのデータを、正負を表す1ビットの信号と絶対値の表現に変換し、変換したデータを縦方向に2進表現した結果を各行単位に並べたものが図3(b)となる。次に、図3(b)のデータのうち、同一のビット番号のビットを集めたものが図3(c)となる。ここで、最下位ビット(LSB:Least Significant Bit)を第0ビット、最上位ビット(MSB:Most Significant Bit)を第3ビットとした時、第0ビットで集めたものを第0ビットプレーン、第1ビットで集めたものを第1ビットプレーン、第2ビットで集めたものを第2ビットプレーン、第3ビットで集めたものを第3ビットプレーンとしている。これ以外にも、正負を表すビットの集まりとして符号ビットプレーンを作成する。
【0034】
続いて、エントロピ符号化部103が、ビットプレーン内の各ビットを、そのコンテクストに応じて、3通りの符号化パス、シグニフィカントプロパゲーションデコーディングパス(Significant Propagation Decoding Pass)、マグニチュードリファインメントパス(Magnitude Refinement Pass)、クリーンナップパス(Cleanup Pass)に分割する。
【0035】
エントロピ符号化部103は続いて、それぞれの符号化パス毎に算術符号化するためのコンテクストモデリングを行う。図4に、コードブロックのビットプレーン数が6で、有効なビットプレーン数が4の場合の例を示す。MSBプレーンから数えて全て0となるビットプレーンはコンテクストモデリング、符号化は行わず、全て0のビットプレーンの数をヘッダに書くだけとする。そして、最初に1が出現したビットプレーンについては全てのビットがクリーンナップパスに分類されるが、その他のビットプレーンについては前述したように3種類の符号化パスに分類される。
エントロピ符号化部103はコンテクストモデリングが終了すると、算術符号によるエントロピ符号化を実施する。
【0036】
エントロピ符号化処理と並行して、歪計算部111では、各コードブロックにおいてあるパスの符号化が終了する度にその符号化パスと1つ前の符号化パスにおける歪Dの差分ΔDを計算する。ここで、歪とは、ある符号化パスまでの符号を送った時に再生画像の平均二乗誤差が符号データを伝送しない時と比較してどれだけ減少したかを示すもので、厳密に言えば歪の減少量ということになる。従って、最終ビットプレーンまで差分ΔDを累積するとその平均二乗誤差に等しくなる。本実施の形態では、画像判読時に再生画像の階調を補正することを想定して、歪計算部111で算出した歪を補正後の画像信号領域における歪に換算するために、歪修正部112で歪Dの差分ΔDをΔD’に修正する。歪の修正方法の詳細は、フローチャートを使って後述する。
【0037】
符号量計算部113は、各コードブロックにおいてあるパスの符号化が終了する度にその符号化パスでの出力バイト数ΔRをカウントする。
傾き計算部114は、現符号化パスでの出力バイト数ΔRと歪の修正値ΔD’からRD曲線の傾きSを算出する。
【0038】
切り捨てポイント導出部115は、傾きSとレート制御用のパラメータλから、各コードブロックで傾きSがλ−1に最も近い符号化パスを検出し、その切り捨てポイントとする。そして、切り捨てポイントを符号データ抽出部106に送る。
【0039】
符号データ抽出部106は、符号メモリ部104から、各コードブロックにおける切り捨てポイントから定まる符号化パスまでの符号データを読み込み、各コードブロックに含まれる符号化パス数を付加情報として付け加えた後、それらのデータを指定された順に並べて、所定のヘッダ情報を付加した上で符号ストリームとして出力する。
【0040】
ここで、歪修正部112の歪修正処理の詳細を説明する。この処理では、画像再生後の判読時に再生画像の階調を補正することを想定して歪Dの値を修正し、階調補正後の画質向上を図る。
【0041】
図5は、想定する階調補正を示すグラフである。グラフの横軸は原信号の入力輝度レベル、縦軸は階調補正後の補正輝度レベルを示し、階調補正をしない場合は破線の特性になる。本実施の形態1では、画像判読時に輝度レベルを図5の太実線のように対数変換して、視覚感度の鈍い暗い部分の階調を特に拡張して表示することを想定し、切り捨てパスを決定する。修正後の輝度レベルf(x)は、次式(3)で表されるとする。
f(x)=(log(x)−log(xmin))
/(log(xmax)−log(xmin))・255 (3)
ただし、xは原信号の輝度レベル、xmax,xminは画面内での輝度レベル最大値、最小値である。
【0042】
以下、各コードブロックの符号量Rと歪Dの関係の傾きSを導出する時に、符号化パス間の歪Dの差分ΔDを修正する処理を、図6に示すフローチャートを使って説明する。
歪修正部112は、まずステップST1にて、符号化対象コードブロックにおける全ての符号化パスにおいて、一つ前の符号化パスと歪Dの差分ΔDを算出する。これは、符号化対象の符号化パスを切り捨てることに伴う二乗誤差の変化量である。
【0043】
次にステップST2にて、符号化対象コードブロック(CB)がLL成分に属すか否かを判断し、LL成分でなければ(ステップST2“NO”)、符号化対象コードブロックと空間的に同一位置に存在する低域成分のウェーブレット変換係数を特定する(ステップST3)。
【0044】
図7に、3レベルのウェーブレット変換係数の例を示す。高域成分(1HL)の符号化対象コードブロックと、そのコードブロックと空間的に同一位置に存在する低域成分(2LL)のウェーブレット変換係数の位置関係を示している。空間的に同一位置に存在する低域成分のウェーブレット変換係数は以下のように特定する。高域成分のサブバンドの左上、右下の座標をそれぞれ(0,0)、(x0_1HL,y0_1HL)、低域成分のサブバンドの左上、右下の座標をそれぞれ(0,0)、(x0_2LL,y0_2LL)とする。また、高域成分のサブバンドにおける符号化対象コードブロックの左上、右下の座標をそれぞれ(cx0,cy0)、(cx1,cy1)とする。
【0045】
このとき、処理対象のサブバンドからnレベル(図7の場合は2レベル)解像度の低い低域成分における空間的に同一位置のウェーブレット変換係数の左上、右下の座標(bx0,by0)、(bx1,by1)を、次式(4)から算出する。
bx0=[cx0/2n−1
by0=[cy0/2n−1] (4)
bx1=[cx1/2n−1
by1=[cy1/2n−1
ただし、[x]は、xを超えない最大の整数を表す。
【0046】
次にステップST4にて、符号化対象コードブロックと空間的に同一位置に存在するLL成分のウェーブレット変換係数の平均値Laを算出する。なお、符号化対象コードブロックがLL成分の場合には、符号化対象コードブロックのウェーブレット変換係数の平均値Laを算出する。
【0047】
次にステップST5にて、判読時に想定される階調補正式の傾き、即ち、輝度レベルLaにおける微分係数を利用して、符号化対象コードブロックに対する重み係数K1を算出する。階調補正式として上式(3)を想定している場合には、図5に細実線で示す微分係数は次式(5)のようになり、これを利用して次式(6)より重み係数K1を算出する。
f’(x)=(log(xmax)−log(xmin))・255/x (5)
K1=(log(max)−log(xmin))・255/La (6)
【0048】
次にステップST6にて、全ての符号化パスでの歪Dの差分ΔDに重み係数K1の二乗を掛けて、歪Dの修正値ΔD’を算出する。
【0049】
歪修正部112は、上記方法により、階調補正特性の微分係数から傾きを算出したが、これ以外の方法で重み係数を算出することも可能である。以下では、階調補正特性の導関数を使用せずに、符号化対象コードブロックに対する重み係数を算出する方法を、図8に示すフローチャートを使って説明する。この方法のステップST11〜ST13でも図6のステップST1〜ST3と同様に、符号化対象コードブロックと同一位置のLL成分ウェーブレット変換係数、符号化パス間の歪Dの差分ΔDを算出する。
【0050】
次にステップST14にて、符号化対象コードブロックと空間的に同一位置にあるLL成分ウェーブレット変換係数の中から最大値Lmax、最小値Lminを検出する。そして、ステップST15にて、Lmin,Lmaxから定まる階調補正値の傾きから符号化対象コードブロックの重み係数K1を算出し、ステップST16にて歪Dの修正値ΔD’を算出する。
【0051】
なお、本実施の形態1では輝度信号の1成分のみに対する処理を説明したが、RGBの3成分など複数の成分が符号化対象であってもよく、各々の成分に対して同様の処理を適用することにより本実施の形態1と同様の効果を得ることが可能である。
【0052】
以上より、本実施の形態1に係る画像符号化装置100のレート制御情報抽出部105は、各符号化パスの符号化により生じる歪Dの差分ΔDを算出する歪計算部111と、符号化対象コードブロックと空間的に同一位置にある低域のウェーブレット変換係数の平均値Laを求め、当該平均値Laにおける階調補正特性の微分係数を階調補正特性の傾きとして用いて符号化対象コードブロックの重み係数K1を算出し、当該重み係数K1を用いて歪計算部111が計算した歪Dの差分ΔDを補正する歪修正部112と、各符号化パスの符号量である出力バイト数ΔRを算出する符号量計算部113と、歪修正部112が修正した歪Dの修正値ΔD’と符号量計算部113が算出した出力バイト数ΔRとから各コードブロックにおける歪Dと符号量Rの関係に基づく傾きSを算出する傾き計算部114と、傾き計算部114が算出した傾きSに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出部115とを有するように構成した。このため、画像判読時に再生画像の階調を補正することを想定して、階調を拡張すると想定される部分では符号化歪が小さくなるようにし、拡張を縮小すると想定される部分では大きな符号化歪を許容するように、コードブロック毎の切り捨て符号化パスを決定することができる。これにより、再生画像の高画質化が図れ、判読性が向上するという効果が得られる。
【0053】
また、歪修正部112は、符号化対象コードブロックと空間的に同一位置にある低域のウェーブレット変換係数の最大値Lmaxおよび最小値Lminから定まる傾きを階調補正特性の傾きとして用いて符号化対象コードブロックの重み係数K1を算出し、当該重み係数K1を用いて歪Dの差分ΔDを補正するように構成してもよい。この構成の場合にも、上記同様の効果が得られる。
【0054】
なお、事前に前処理として、原信号に対して階調補正処理を施し、階調補正後の画像信号を符号化対象にするという方法も考えられる。しかしその場合、復号側で原信号と同じ階調表現が必要な場合に、階調補正の逆変換を別途行う必要がある。また、階調補正は全ての画素に対して施す必要があるために処理量が大きくなる。
それに対して、上記実施の形態1ではコードブロックに対して1回の修正で足り、また、符号化の過程で算出されるウェーブレット変換係数を利用するため、前処理として原信号に階調補正処理を施す方式に比べて演算負荷が軽くなるという効果も有する。
【0055】
実施の形態2.
上記実施の形態1では、符号化対象コードブロックと空間的に同一位置にある画像信号の輝度レベルの大きさに応じて、符号化対象コードブロックに対する重み係数を決定した。再生画像判読時の階調補正では、暗い部分の輝度レベルを明るくするだけでなく、コントラストの低い部分の階調を拡張することもよく行われる。そこで、輝度レベルが低く、コントラストが低い部分を小さな符号化歪で符号化すれば、階調補正後の画質向上が期待できる。本実施の形態2では、輝度レベルの大きさだけでなく、符号化対象コードブロックと空間的に同一位置にある画像信号のコントラストに応じて、符号化対象コードブロックに対する重み係数を決定する方法を説明する。
【0056】
本実施の形態2の画像符号化装置100は、図1および図2に示す画像符号化装置100と図面上では同様の構成であるため、以下では図1および図2を援用して説明する。
【0057】
本実施の形態2において上記実施の形態1との違いは、歪修正部112の処理であるので、以下では歪修正部112の歪修正処理の詳細を説明する。この方法では、画像再生後の判読時に再生画像の階調を補正することを想定して歪Dの値を修正し、階調補正後の画質向上を図る。本実施の形態2では、画像判読時に輝度レベルを図5のように対数変換して、視覚感度の鈍い暗い部分の階調を特に拡張して表示することを想定し、切り捨てパスを決定する。
【0058】
以下、各コードブロックの符号量Rと歪Dの関係の傾きSを導出する時に、符号化パス間の歪Dの差分ΔDを修正する処理を、図9に示すフローチャートを使って説明する。この方法のステップST21〜ST25でも上記実施の形態1の図8に示すステップST11〜ST15と同様に、符号化対象コードブロックと同一位置のLL成分ウェーブレット変換係数とその最大値Lmax、最小値Lmin、符号化パス間の歪Dの差分ΔD、符号化対象コードブロックの一つ目の重み係数K1を算出する。
【0059】
次にステップST26にて、符号化対象コードブロックと空間的に同一位置に存在するLL成分ウェーブレット変換係数の最大値Lmax、最小値Lminの差分にパラメータαを乗じた値を二つ目の重み係数K2とする。一つ目の重み係数K1が、符号化対象コードブロックの輝度レベルの大きさに対応する重み係数であるのに対し、二つ目の重み係数K2は、符号化対象コードブロックの輝度レベルのコントラストに対応する重み係数である。パラメータαは0以上の正数であり、任意の固定値を設定することができる。
【0060】
次にステップST27では、全ての符号化パスでの歪Dの差分ΔDに一つ目の重みK1の二乗、二つ目の重み係数K2を掛けて、歪Dの修正値ΔD’を算出する。
【0061】
歪修正部112は、上記方法では符号化対象コードブロックと空間的に同一位置に存在するLL成分ウェーブレット変換係数の最大値Lmax、最小値Lminを利用して二つ目の重み係数K2を算出したが、これ以外の方法で算出することも可能である。以下では、符号化対象コードブロックのウェーブレット変換係数の絶対値から二つ目の重み係数K2を算出する方法を、図10に示すフローチャートを使って説明する。この方法のステップST31〜ST34でも図9に示すステップST21〜ST23,ST25と同様に処理を行い、一つ目の重み係数K1を算出する。
【0062】
次にステップST35にて、符号化対象コードブロックにおいてウェーブレット変換係数の絶対値の最大値Hmaxを算出する。次にステップST36にて、絶対値の最大値Hmaxにパラメータαを乗じた値を二つ目の重み係数K2とする。パラメータαは上記同様に0以外の正数であり、任意の固定値を設定することができる。次にステップST37にて、全ての符号化パスでの歪Dの差分ΔDに一つ目の重み係数K1の二乗、二つ目の重み係数K2を掛けて、歪Dの修正値ΔD’を算出する。
【0063】
以上より、本実施の形態2に係る画像符号化装置100のレート制御情報抽出部105は、各符号化パスの符号化により生じる歪Dの差分ΔDを算出する歪計算部111と、再生画像に施される階調補正特性の傾きから符号化対象コードブロックの重み係数K1を算出すると共に、当該符号化対象コードブロックと空間的に同一位置にある低域のウェーブレット変換係数の最大値Lmaxおよび最小値Lminの差を画像信号のコントラストとして用いて当該符号化対象コードブロックの重み係数K2を算出し、重み係数K1,K2を用いて歪計算部111が計算した歪Dの差分ΔDを補正する歪修正部112と、各符号化パスの符号量である出力バイト数ΔRを算出する符号量計算部113と、歪修正部112が修正した歪Dの修正値ΔD’と符号量計算部113が算出した出力バイト数ΔRとから各コードブロックにおける歪Dと符号量Rの関係に基づく傾きSを算出する傾き計算部114と、傾き計算部114が算出した傾きSに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出部115とを有するように構成した。このため、画像判読時に再生画像の階調を補正することを想定して、階調を拡張すると想定される部分では符号化歪が小さくなるようにし、拡張を縮小すると想定される部分では大きな符号化歪を許容するように、コードブロック毎の切り捨て符号化パスを決定することができる。これにより、再生画像の高画質化が図れ、判読性が向上するという効果が得られる。
【0064】
また、歪修正部112は、符号化対象コードブロックにおいてウェーブレット変換係数の絶対値が最大となる値Hmaxを画像信号のコントラストとして用いて当該符号化対象コードブロックの重み係数K2を算出し、重み係数K1,K2を用いて歪Dの差分ΔDを補正するように構成してもよい。この構成の場合にも、上記同様の効果が得られる。
【0065】
なお、上記実施の形態1でも述べたように、事前に前処理として、原信号に対して階調補正処理を施し、補正後の画像信号を符号化対象にするという方法も考えられる。しかしその場合、復号側で原信号と同じ階調表現が必要な場合に、階調補正の逆変換を別途行う必要がある。また、階調補正は全ての画素に対して施す必要があるために処理量が大きくなる。
それに対して、上記実施の形態2ではコードブロックに対して1回の修正で足り、また、符号化の過程で算出されるウェーブレット変換係数を利用するため、前処理として原信号に階調補正処理を施す方式に比べて演算負荷が軽くなるという効果も有する。
【0066】
また、本実施の形態2でも上記実施の形態1と同様に、輝度信号の1成分のみに対する処理を説明したが、RGBの3成分など複数の成分が符号化対象であってもよく、各々の成分に対して同様の処理を適用することにより本実施の形態2と同様の効果を得ることが可能である。
【0067】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0068】
100 画像符号化装置、101 変換部、102 量子化部、103 エントロピ符号化部、104 符号メモリ部、105 レート制御情報抽出部、106 符号データ抽出部、111 歪計算部、112 歪修正部、113 符号量計算部、114 傾き計算部、115 切り捨てポイント導出部。

【特許請求の範囲】
【請求項1】
画像信号に直交変換を施し、複数の周波数成分の変換係数を生成する変換部と、
前記変換部が生成した変換係数に対して量子化を行う量子化部と、
前記量子化部が量子化した変換係数を複数のコードブロックに分割し、当該コードブロックをビットプレーンに分解し、各ビットプレーンを一つ以上の符号化パスに分割し、当該符号化パス毎に符号化して符号データを生成するエントロピ符号化部と、
前記エントロピ符号化部が生成した符号データを記憶する符号メモリ部と、
レート制御に必要な歪と符号量の計算に基づいて前記符号化パスの切り捨てポイントを決定するレート制御情報抽出部と、
前記レート制御情報抽出部が決定した切り捨てポイントまでの符号データを前記符号メモリ部から抽出し符号ストリームとして出力する符号データ抽出部とを備え、
前記レート制御情報抽出部は、
各符号化パスの符号化により生じる歪を算出する歪計算部と、
前記歪計算部が計算した歪を、前記画像信号の再生画像に施される階調補正特性に応じて修正する歪修正部と、
各符号化パスの符号量を算出する符号量計算部と、
前記歪修正部が修正した歪と前記符号量計算部が算出した符号量とから各コードブロックにおける歪と符号量の関係に基づく傾きを算出する傾き計算部と、
前記傾き計算部が算出した傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出部とを有する画像符号化装置。
【請求項2】
前記歪修正部は、再生画像に施される階調補正特性の傾きを用いて符号化対象コードブロックの重み係数を算出し、当該重み係数を用いて歪を修正することを特徴とする請求項1記載の画像符号化装置。
【請求項3】
前記歪修正部は、符号化対象コードブロックと空間的に同一位置にある低域の変換係数の平均値を求め、当該平均値における階調補正特性の微分係数を階調補正特性の傾きとして用いることを特徴とする請求項2記載の画像符号化装置。
【請求項4】
前記歪修正部は、符号化対象コードブロックと空間的に同一位置にある低域の変換係数の最大値および最小値から定まる傾きを階調補正特性の傾きとして用いることを特徴とする請求項2記載の画像符号化装置。
【請求項5】
前記歪修正部は、再生画像に施される階調補正特性の傾きと、符号化対象コードブロックと空間的に同一位置にある画像信号のコントラストとを用いて当該符号化対象コードブロックの重み係数を算出し、当該重み係数を用いて歪を修正することを特徴とする請求項1記載の画像符号化装置。
【請求項6】
前記歪修正部は、符号化対象コードブロックと空間的に同一位置にある低域の変換係数の最大値および最小値の差を画像信号のコントラストとして用いることを特徴とする請求項5記載の画像符号化装置。
【請求項7】
前記歪修正部は、符号化対象コードブロックにおいて変換係数の絶対値が最大となる値を画像信号のコントラストとして用いることを特徴とする請求項5記載の画像符号化装置。
【請求項8】
画像信号に直交変換を施し、複数の周波数成分の変換係数を生成する変換ステップと、
前記変換ステップで生成した変換係数に対して量子化を行う量子化ステップと、
前記量子化ステップで量子化した変換係数を複数のコードブロックに分割し、当該コードブロックをビットプレーンに分解し、各ビットプレーンを一つ以上の符号化パスに分割し、当該符号化パス毎に符号化して符号データを生成するエントロピ符号化ステップと、
前記エントロピ符号化ステップで生成した符号データを符号メモリ部に記憶する符号メモリステップと、
レート制御に必要な歪と符号量の計算に基づいて前記符号化パスの切り捨てポイントを決定するレート制御情報抽出ステップと、
前記レート制御情報抽出ステップで決定した切り捨てポイントまでの符号データを前記符号メモリ部から抽出し符号ストリームとして出力する符号データ抽出ステップとを備え、
前記レート制御情報抽出ステップは、
各符号化パスの符号化により生じる歪を算出する歪計算ステップと、
前記歪計算ステップで計算した歪を、前記画像信号の再生画像に施される階調補正特性に応じて修正する歪修正ステップと、
各符号化パスの符号量を算出する符号量計算ステップと、
前記歪修正ステップで修正した歪と前記符号量計算ステップで算出した符号量とから各コードブロックにおける歪と符号量の関係に基づく傾きを算出する傾き計算ステップと、
前記傾き計算ステップで算出した傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出ステップとを有する画像符号化方法。
【請求項9】
コンピュータを、
画像信号に直交変換を施し、複数の周波数成分の変換係数を生成する変換手段と、
前記変換手段が生成した変換係数に対して量子化を行う量子化手段と、
前記量子化手段が量子化した変換係数を複数のコードブロックに分割し、当該コードブロックをビットプレーンに分解し、各ビットプレーンを一つ以上の符号化パスに分割し、当該符号化パス毎に符号化して符号データを生成するエントロピ符号化手段と、
前記エントロピ符号化手段が生成した符号データを記憶する符号メモリ手段と、
レート制御に必要な歪と符号量の計算に基づいて前記符号化パスの切り捨てポイントを決定するレート制御情報抽出手段と、
前記レート制御情報抽出手段が決定した切り捨てポイントまでの符号データを前記符号メモリ手段から抽出し符号ストリームとして出力する符号データ抽出手段として機能させ、
前記レート制御情報抽出手段は、
各符号化パスの符号化により生じる歪を算出する歪計算手段と、
前記歪計算手段が計算した歪を、前記画像信号の再生画像に施される階調補正特性に応じて修正する歪修正手段と、
各符号化パスの符号量を算出する符号量計算手段と、
前記歪修正手段が修正した歪と前記符号量計算手段が算出した符号量とから各コードブロックにおける歪と符号量の関係に基づく傾きを算出する傾き計算手段と、
前記傾き計算手段が算出した傾きに基づいて、各コードブロックから切り捨てる符号化パスを示す切り捨てポイントを導出する切り捨てポイント導出手段として機能させる画像符号化プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−119841(P2012−119841A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−266488(P2010−266488)
【出願日】平成22年11月30日(2010.11.30)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】