説明

画像符号化方法および画像復号方法

【課題】画素にノイズが多く含まれる環境下でのロスレス符号化方式の圧縮率を高める。
【解決手段】ランレングス符号化モードと、重み付け予測符号化モードと、それ以外の符号化モードを持ち、符号化モードの判定において符号化対象画素の周囲画素が含むノイズ量を判別し、ノイズ量に応じて符号化モードを適切に切り換え、ノイズ量は、周囲画素の分散、あるいは周波数変換後の係数の絶対値和を用いて測定する画像符号化方式を用いる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロスレス画像符号化技術に関する。
【背景技術】
【0002】
画像符号化技術は、ロスレスとロッシーに分類される。ロスレス画像符号化技術は、医療用画像など、オリジナルデータの保存が必要な場合に利用されている。たとえば、医療用画像はDICOM(Digital Imaging and COmmunication in Medicine)と呼ばれる規格方式に従ってデジタルデータ化して記録される。具体的には、ロスレス圧縮方式であるJPEG-LS規格(ISO-14495-1 / ITU-T T.87)等が用いられている。
【0003】
このようなロスレス画像符号化技術では、符号化対象画面内の対象画素に隣接する画素を用いて画素予測を行うことによって圧縮率を高めている。効率的に予測を行うための手法として、最小二乗法を用いて重みを学習する方式が特許文献1に開示されている。また、これをマルチスライス画像に用いる方式も特許文献2に開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007-49594
【特許文献2】特開2007-295170
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来の重みを学習する方式では、ノイズが多く含まれるために、画素予測のための重みパラメータが適切に設定されずに、圧縮率が低かった。
【0006】
本発明は、上記課題に鑑みて為されたものであり、その目的はロスレス画像符号化における圧縮率を高めることにある。
【課題を解決するための手段】
【0007】
上記目的を達成する手段を本願は複数含むものであるが、その代表的な発明は次の通りである。
【0008】
複数の符号化モードの中から決定された符号化モードを利用して画像を符号化する画像符号化方法であって、
前記複数の符号化モードとして、ランレングス符号化を含む第1モードと、重み付け予測符号化を含む第2モードと、それ以外の符号化を行う第3モードを備え、
前記画像の符号化の際に利用する符号化モードは、
符号化対象画素の周囲にある画素が含むノイズ量を測定し、
ノイズ量の差が一定以下の画素が連続する場合には第1モードを利用し、
第1モードを利用しない場合、ノイズ量の差が一定以下の場合には第2モードを利用し、
さらに、第1モード及び第2モードを利用しない場合、第3のモードを利用することを特徴とする画像符号化方法。
【発明の効果】
【0009】
本発明によれば、ロスレス画像符号化の圧縮率を向上することができる。
【図面の簡単な説明】
【0010】
【図1】画像符号化装置のブロック図である。
【図2】画像復号装置のブロック図である。
【図3】画素予測方式の説明図である。
【図4】画像符号化方法のフロー図である。
【図5】画像復号方法のフロー図である。
【図6】画像符号化モードの判定フロー図である。
【発明を実施するための形態】
【0011】
以下、マルチスライス型医療用機器で撮像されたモノクロ画像が入力される場合を例に、本発明のロスレス符号化について説明するが、非医療用機器で撮像された画像や、マルチスライス撮像でない画像、カラー画像でも本発明が適用できる。カラー画像に適用する場合、各フレームについて同様の処理を行う。
【実施例1】
【0012】
図1に画像符号化装置のブロック図を示す。画像符号化装置100は、入力画像を保持する入力画像バッファ101と、参照画像を保持する参照画像バッファ102と、画素の予測方式を決定するモード判定部103と、予測パラメータを学習する予測パラメータ学習部104と、パラメータを出力するパラメータ出力部105と、画素の重み付け予測を行う重み付け予測部106と、予測値の補正を行う第一のコンテキスト処理部107と、エントロピー符号化のための確率分布を取得する第一の確率分布調整部108と、エントロピー符号化を行う第一のエントロピー符号化部109と、画素指定による予測を行う画素指定予測部110と、予測値の補正を行う第二のコンテキスト処理部111と、エントロピー符号化のための確率分布を取得する第二の確率分布調整部112と、エントロピー符号化を行う第二のエントロピー符号化部109と、ラン長を計測するラン長計測部114と、エントロピー符号化を行う第三のエントロピー符号化部115を備える。
【0013】
入力画像バッファ101は、符号化する対象画像を保持するバッファである。以下では画素単位でラスタスキャン順に符号化する処理を例に挙げて説明するが、ブロック単位で処理してもよく、また順序も逆ラスタスキャン順、あるいはヒルベルトスキャン順などを用いてもよい。対象画像の符号化後、画像を参照画像バッファ102に送り保持する。
【0014】
参照画像バッファ102は、参照画像を保持するバッファである。対象画像の符号化後に、入力画像バッファ101から画像を受け取り保持する。参照画像は1枚でも複数枚でもよい。
【0015】
モード判定部103は入力画像の画素を順番に取りだし符号化していく手順において、その画素をどのモードで符号化すべきかを判定する。符号化モードの候補には、以下のものが含まれる。
【0016】
一つ目は、重み付け予測モードである。これは符号化対象画素の予測値を複数の周辺画素の画素値の重み付け和として求める方式である。周辺画素の画素値に対する重み付けパラメータは予め定めておいてもよいし、機械学習を用いて求めてもよい。以下では機械学習を用いて最適化したパラメータを求める方式を例に挙げて説明する。
【0017】
二つ目は、画素指定予測モードである。これは符号化対象画素の予測値を複数の周辺画素の候補の中から一つ選ぶ方式である。例えば、対象画素の左隣の画素の画素値又は対象画素の上隣の画素の画素値を選択する。選択方法は周辺画素の画素値を入力とした一定の式に当てはめて決めてもよいし、対象画素に一番近い値を持つ画素をフラグで指定してもよい。フラグで指定する場合、例えば左隣は0、上隣は1というような信号を予め決めておく。以下ではフラグで指定する方法を例に挙げて説明する。
【0018】
三つ目のモードはランモードである。これは対象画素に同じ値が連続する場合に、連続する数(ラン長)を計測して記録するモードである。ラン長の符号化方式にはゴロム・ライス符号やハフマン符号を用いればよい。
【0019】
モード判定部103において複数のモードの中から対象画素を符号化するのに最も適切な符号化モードを判定する方法の一例について説明する。上記の符号化モードは、それぞれ画像の特徴に応じて圧縮効率の特性が異なる。例えば、重み付け予測モードは他の符号化モードと比較して、ノイズの少ない予測の容易な画像領域に対する圧縮率が高い。一方で、画素指定予測モードは、ノイズの少ない領域の圧縮率は低いがノイズの多い領域の圧縮率が高い。ランモードは同じ値が連続する場合にのみ高い圧縮率を発揮する。従って、符号化対象画素の周囲のノイズが多いか少ないか、同じ値が連続しているか否かを判別してモードを決定すればよい。まず、同じ値が連続していればランモードを選択し、そうでなければそれ以外のモードとする。次に画像領域のノイズ量を判定し、ノイズが一定値より大きければ画素指定予測モードを選択し、小さければ重み付け予測モードを選択すればよい。
【0020】
ノイズ量の判定には画素の分散値を用いればよい。例えば、判定に用いる周辺画素をXiとし、これらの平均をmとした時、式1によって計算できる。
【0021】
【数1】

分散値以外にも周辺画素の値をWavelet変換して係数の和を取る、あるいはDCT変換しDC値以外の係数の和を取る、のような方法によってもノイズ量は判定できる。なお、周辺画素は予め領域を決めておいてもよいし、画素毎に領域を変更してもよい。領域を選択する際には、符号化対象画素と異なる画像領域(前景か背景か)の画素が含まれないように、エッジ等を判別して画素を選択してもよい。
【0022】
上記では周辺画素のノイズ量を計算し予め設定した閾値を超えるか否かによって自動的に判別する例を説明したが、符号化モードをフラグによって明示的に伝送してもよい。自動的に判別する場合にはフラグの情報量を削減できるというメリットがあり、フラグによって示す場合には正確にモードを判別できるというメリットがある。またフラグによって示す場合、ロスレス符号化ではどの符号化モードの符号量が最も小さくなるかによって判別すればよい。ロッシー符号化では、Rate-Distortion最適化法等を用いて、符号量と誤差(原画像と復号画像の差)を考慮して決定すればよい。
【0023】
予測パラメータ学習部104は、重み付け予測モードにおける予測パラメータを機械学習によって最適化する。以下では画像1枚毎にパラメータを最適化する例を挙げて説明するが、複数枚毎に最適化してもよいし、1枚の画像の一部領域を単位として最適化してもよい。学習の方法には、最小二乗法(線形回帰)、Support Vector Machine、AdaBoost等があるが、以下では最小二乗法を例に説明する。
【0024】
図3に重み付け予測モードにおける予測方法の概要を示す。以下では符号化対象フレームの符号化済み画素と、マルチスライス画像の符号化を想定して1つ前のフレームの符号化済み画素を参照する例について説明する。参照画像を用いずに符号化フレームの画素のみを用いてもよい。符号化対象画像の予測値をXとし、符号化フレームの周辺画素をA,B,C,D、1つ前のフレームの周辺画素をS,P,Qとする。Aは符号化対象画素の左、Bは上、Cは左上、Dは右上、Sは1つ前のフレームの同じ位置、Pは1つ前のフレームの左、Qは1つ前のフレームの上の位置の画素である。A〜Qの画素値に対する重みをw0j〜w6jとすると、Xは式2によって求めることができる。
【0025】
X=w0j・A+w1j・B+w2j・C+w3j・D+w4j・S+w5j・P+w6j・Q … 式2
式2の予測式はjによって場合分けされる。これは画素の条件によって最適な予測パラメータが異なるためである。j=0〜2の3つとし、画素毎に場合分けする。各画素において、|C-A|、|C-B|、|P-A|、|Q-B|の最小値を求め、|C-A|が最小の場合にはj=0、|C-B|が最小の場合にはj=1、それ以外が最小の場合にはj=2として画像全体でパラメータを学習する。学習方法には最小二乗法を用いる。これにより重み付けパラメータはj=0〜2について各7つ、合計21個の重みが求められ、これは付加情報として伝送される。
【0026】
パラメータ出力部105は予測パラメータ学習部104において求められた重み付けパラメータを符号化ストリームに出力する。
【0027】
重み付け予測部106は、予測パラメータ学習部104において設定された重み付けパラメータを用いて、式2によって符号化対象画素の予測値を計算し、符号化対象画素との差分を取る。
【0028】
第一のコンテキスト処理部107は重み付け予測モードにおけるコンテキスト処理による補正を行う。コンテキスト処理はJPEG-LS方式に用いられるような一般的な手法を用いればよい。これは周辺画素の値や差分値の出現頻度を手掛かりとして、重み付け予測部106において計算された差分値を補正する処理である。
【0029】
第一の確率分布調整部108は補正された差分値の出現頻度を記録し、エントロピー符号化のための確率分布を作成する。エントロピー符号化方式にはゴロム・ライス符号、ハフマン符号、算術符号、算術符号の一種であるレンジコーダによる符号等を用いることができる。算術符号やレンジコーダによる符号では、適切な確率分布を設定する必要がある。確率分布の設定方法としては、符号化開始時には適当な分布を定めておき、符号化を進めるにつれてこれを修正し、徐々に画像に適した形に設定していく方法と、一旦画像全体について符号化する値の出現頻度を調べ、これを確率分布として設定する方法がある。後者では確率分布に関する情報をストリームに付加して伝送する必要がある。またマルチスライス画像の処理では、連続するフレーム間の確率分布は近い形になる場合が多いので、1つ前のフレームの確率分布を設定することも有効である。この方式では最初の1枚以外では確率分布をストリームに付加する必要がない。1つ前のフレームの確率分布を現フレームに適用するためには、数値の出現範囲が現フレームと一致するように拡大または縮小する処理と、符号化されない数値が出ないように1つ前のフレームの確率分布において頻度数が0であった数値を適当な頻度数に変換する(例えば一番近い0でない頻度数をコピーする)必要がある。従って、各フレームの符号化時に出現する数値の最大値と最小値が分かっていればよく、これらの値をストリームに出力する。以下では、エントロピー符号化方式としてレンジコーダを用い、設定する確率分布は1つ前のフレームの確率分布を利用する場合を例に挙げて説明する。第一の確率分布調整部108は1つ前のフレームの確率分布を保持し、これをレンジコーダによるエントロピー符号化に用いる。また同時に現在のフレームの補正された差分値の出現頻度を記録し、次のフレームの符号化のために保持する。
【0030】
第一のエントロピー符号化部109は、第一の確率分布調整部108の保持する確率分布を利用して第一のコンテキスト処理部107の出力する補正された差分値をエントロピー符号化する。エントロピー符号化方式にはゴロム・ライス符号、ハフマン符号、算術符号、算術符号の一種であるレンジコーダによる符号等を用いることができる。レンジコーダはバイト単位で符号化データをストリームに出力する。これは一般的なレンジコーダのアルゴリズムを用いればよい。
【0031】
画素指定予測部110は画素を指定することにより符号化対象画素の予測値を決定する。例えば、対象画素に一番近い値を持つ画素をフラグで指定する。左隣は0、上は1というような信号を予め決めておき、フラグで伝送すればよい。またJPEG-LSのように、予め設定した一定の式を用いて予測する画素を判別してもよい。この場合にはフラグを伝送する必要はない。決定した予測値を用いて符号化対象画素との差分を取る。
【0032】
第二のコンテキスト予測部111は画素指定予測モードにおけるコンテキスト処理による補正を行う。これは第一のコンテキスト予測部107と同様の処理であり、画素指定予測部110において計算された差分値を補正する処理である。
【0033】
第二の確率分布調整部112は補正された差分値の出現頻度を記録し、エントロピー符号化のための確率分布を作成する。これは第一の確率分布調整部108と同様の処理であり、第二のエントロピー符号化部113のための確率分布を保持する。
【0034】
第二のエントロピー符号化部113は、第二の確率分布調整部112の保持する確率分布を利用して第二のコンテキスト処理部111の出力する補正された差分値をエントロピー符号化する。これは第一のエントロピー符号化部109と同様の処理である。
【0035】
ラン長計測部114は、ランモードにおいて同じ値が連続する画素の数を計測する。この値(ラン長)を第三のエントロピー符号化部115に渡す。
【0036】
第三のエントロピー符号化部115はラン長計測部114にて取得されたラン長をエントロピー符号化する。ラン長の符号化方式にはゴロム・ライス符号やハフマン符号を用いればよい。
【0037】
予測パラメータの学習や確率分布の調整は、まず画面全体についてこれらの値を調べ、その後で符号化に用いてもよいし、予め一定の値を設定し、順に符号化していくと同時にこれらの値をアップデートしてもよい。上記のような処理がラスタスキャン順に入力画像の各画素に対して行われ、入力画像が符号化され効率的に圧縮される。
【0038】
図2は画像復号装置のブロック図である。画像復号装置200は、ストリームを分離するデータ分離部201と、画素の予測方式を決定するモード判定部202と、エントロピー符号の復号を行う第一のエントロピー復号部203と、予測値の補正を行う第一のコンテキスト処理部204と、重み付け予測のパラメータを設定するパラメータ設定部205と、重み付け予測を行って画素を再構成する重み付け予測合成部206と、復号画像を保持する復号画像バッファ207と、エントロピー符号の復号のための確率分布を保持する確率分布設定部208と、参照画像を保持する参照画像バッファ209と、エントロピー符号の復号を行う第二のエントロピー復号部210と、予測値の補正を行う第二のコンテキスト処理部211と、画素指定による予測を行って画素を再構成する画素指定予測合成部212と、エントロピー符号の復号を行う第三のエントロピー復号部213と、ラン長に従って画素を再構成するラン長モード合成部214を備える。
【0039】
データ分離部201では、ヘッダと、重み付けパラメータ、確率分布の情報と他の符号化された画素の情報を分離し、それぞれパラメータ設定部205、確率分布設定部208、モード判定部202等に送る。
【0040】
モード判定部202は画素を順番に復号していく手順において、その画素をどのモードで復号するかを判定する。符号化モードの候補は符号化時に使われたモードであり、ここでは重み付け予測モード、画素指定予測モード、ランモードである。符号化モードがフラグによって示されている場合には、示された符号化モードによって画素を復号する。フラグで示されない場合には、符号化時と同じ条件で周辺画素の情報を手掛かりに符号化モードを決定する。符号化モードの判定方法は前述の通りであり、符号化時に使われたのと同じ方法を用いる。
【0041】
第一のエントロピー復号部203は重み付け予測モードによって符号化された時の補正された差分値を復号する。これには確率分布設定部208に設定された確率分布を用いる。確率分布はストリームに付加された情報を用いるか、1つ前のフレームで得られた確率分布を設定して用いる。エントロピー符号化方式にはゴロム・ライス符号、ハフマン符号、算術符号、算術符号の一種であるレンジコーダによる符号等があるが、算術符号やレンジコーダを用いる場合に確率分布の設定が必要となる。復号には符号化方式に対応した方式が用いられる。
【0042】
第一のコンテキスト処理部204は、重み付け予測モードにおけるコンテキスト処理による補正を行う。これは符号化に対応した逆の処理を行えばよい。この処理により画素の差分値が取得される。
【0043】
パラメータ設定部205は符号化ストリームから重み付けパラメータの情報を取得し、これを保持する。
【0044】
重み付け予測部206は、パラメータ設定部205から重み付けパラメータを取得し、前述の式2によって符号化対象画素の予測値を計算し、これと第一のコンテキスト処理部204から得られる画素の差分値を合成して画素を復元する。復元した画素は復号画像バッファ207に保持される。重み付け予測の方法は前述の通りである。
【0045】
復号画像バッファ207は復元された画素を保持する。
【0046】
確率分布設定部208はエントロピー復号のための確率分布を保持する。第一のエントロピー復号部203、第二のエントロピー復号部210にそれぞれ別の確率分布を設定する。確率分布の情報はフレーム毎にストリームに記録されている場合と、1つ前のフレームの確率分布を利用する場合がある。後者の場合には現フレームのエントロピー復号を行うと同時に次のフレームのために復号される数値の出現頻度を記録しておく。
【0047】
参照画像バッファ209は復号画像バッファ207から画像を受け、参照画像として保持する。
【0048】
第二のエントロピー復号部210は画素指定予測モードによって符号化された時の補正された差分値を復号する。これには確率分布設定部208に設定された確率分布を用いる。確率分布はストリームに付加された情報を用いるか、1つ前のフレームで得られた確率分布を設定して用いる。エントロピー符号化方式にはゴロム・ライス符号、ハフマン符号、算術符号、算術符号の一種であるレンジコーダによる符号等があるが、算術符号やレンジコーダを用いる場合に確率分布の設定が必要となる。復号には符号化方式に対応した方式が用いられる。
【0049】
第二のコンテキスト処理部211は、画素指定予測モードにおけるコンテキスト処理による補正を行う。これは符号化に対応した逆の処理を行えばよい。この処理により画素の差分値が取得される。
【0050】
画素指定予測合成部212は指定された画素を用いて符号化対象画素を予測し、これと第二のコンテキスト処理部211から得られる画素の差分値を合成して画素を復元する。復元した画素は復号画像バッファ207に保持される。画素指定予測モードによる画素予測の方法は前述の通りである。
【0051】
第三のエントロピー復号部213はランモードによって符号化された時のラン長を復号する。
【0052】
ラン長モード合成部214はラン長を用いて同じ画素の値が続く範囲を特定し、画素をコピーすることによって復元する。復元した画素は復号画像バッファ207に保持される。
【0053】
上記のような処理がラスタスキャン順行われ、画像が復号される。
【0054】
図4は画像符号化方法のフロー図である。まずステップ401において原画像を入力する。
【0055】
次にステップ402において画素単位予測における条件判定が行われる。この条件判定では、入力画像の画素を順番に取りだし符号化していく手順において、その画素をどのモードで符号化すべきかを判定する。符号化モードの候補には、以下のものが含まれる。一つ目は、重み付け予測モードである。これは符号化対象画素の予測値を複数の周辺画素の重み付け和として求める方式である。周辺画素の重み付けパラメータは予め定めておいてもよいし、機械学習を用いてパラメータを求めてもよい。以下では機械学習を用いて最適化したパラメータを求める方式を例に挙げて説明する。二つ目は、画素指定予測モードである。これは符号化対象画素の予測値を複数の周辺画素の候補の中から一つ選ぶ方式である。例えば、対象画素の左隣の画素、上の画素のような形で選択する。選択方法は周辺画素の値を入力とした一定の式に当てはめて決めてもよいし、対象画素に一番近い値を持つ画素をフラグで指定してもよい。フラグで指定する場合、例えば左隣は0、上は1というような信号を予め決めておく。以下ではフラグで指定する方法を例に挙げて説明する。三つ目のモードはランモードである。これは対象画素に同じ値が連続する場合に、連続する数(ラン長)を計測して記録するモードである。ラン長の符号化方式にはゴロム・ライス符号やハフマン符号を用いればよい。
【0056】
複数のモードの中から対象画素を符号化するのに最も適切な符号化モードを判定する方法の一例について説明する。上記の符号化モードは、それぞれ画像の特徴に応じて圧縮効率の特性が異なる。例えば、重み付け予測モードは他の符号化モードと比較して、ノイズの少ない予測の容易な画像領域に対する圧縮率が高い。一方で、画素指定予測モードは、ノイズの少ない領域の圧縮率は低いがノイズの多い領域の圧縮率が高い。ランモードは同じ値が連続する場合にのみ高い圧縮率を発揮する。従って、符号化対象画素の周囲のノイズが多いか少ないか、同じ値が連続しているか否かを判別してモードを決定すればよい。まず、同じ値が連続していればランモードを選択し、そうでなければそれ以外のモードとする。次に画像領域のノイズ量を判定し、ノイズが一定値より大きければ画素指定予測モードを選択し、小さければ重み付け予測モードを選択すればよい。
【0057】
ノイズ量の判定には画素の分散値を用いればよい。判定方法は前述の通りである。分散値以外にも周辺画素の値をWavelet変換して係数の和を取る、あるいはDCT変換しDC値以外の係数の和を取る、のような方法によってもノイズ量は判定できる。なお、周辺画素は予め領域を決めておいてもよいし、画素毎に領域を変更してもよい。領域を選択する際には、符号化対象画素と異なる画像領域(前景か背景か)の画素が含まれないように、エッジ等を判別して画素を選択してもよい。
【0058】
上記では周辺画素のノイズ量を計算し予め設定した閾値を超えるか否かによって自動的に判別する例を説明したが、符号化モードをフラグによって明示的に伝送してもよい。自動的に判別する場合にはフラグの情報量を削減できるというメリットがあり、フラグによって示す場合には正確にモードを判別できるというメリットがある。またフラグによって示す場合、ロスレス符号化ではどの符号化モードの符号量が最も小さくなるかによって判別すればよい。ロッシー符号化では、Rate-Distortion最適化法等を用いて、符号量と誤差(原画像と復号画像の差)を考慮して決定すればよい。
【0059】
ステップ403では、ステップ402において重み付け予測モードとして判定された画素について、重み付けパラメータと誤差の計測を行う。以下では符号化対象フレームの符号化済み画素と、マルチスライス画像の符号化を想定して1つ前のフレームの符号化済み画素を参照する例について説明する。参照画像を用いずに符号化フレームの画素のみを用いてもよい。図3において符号化対象画像の予測値をXとし、符号化フレームの周辺画素をA,B,C,D、1つ前のフレームの周辺画素をS,P,Qとし、A〜Qの画素値に対する重みをw0j〜w6jとすると、Xは前述の式2によって求めることができる。式2の予測式はjによって場合分けされ、各画素において、|C-A|、|C-B|、|P-A|、|Q-B|の最小値を求め、|C-A|が最小の場合にはj=0、|C-B|が最小の場合にはj=1、それ以外が最小の場合にはj=2として画像全体で重み付けパラメータと誤差を計測する。各画素について、最小二乗法のプロセスに基づいて重み付けパラメータとXと画素値の誤差を計測し、画像全体について処理するためステップ402との間をループする。
【0060】
ステップ404では、画像全体について計測した値を用いて、最小二乗法に基づいて重み付けパラメータを決定し出力する。前述の例では重み付けパラメータはj=0〜2について各7つ、合計21個となり、付加情報として伝送される。
【0061】
ステップ405では、再び入力画像の画素を順番に取りだし符号化していく手順において、ステップ402と同様の方式により、その画素をどのモードで符号化すべきかを判定する。符号化モードは、重み付け予測モード、画素指定予測モード、ランモードである。判定方法は前述の通りである。重み付け予測モードと判定された場合にはステップ406、画素指定予測モードと判定された場合にはステップ409、ランモードと判定された場合にはステップ412に進む。
【0062】
ステップ406では、設定された重み付けパラメータを用いて、前述の式2によって符号化対象画素の予測値を計算し、符号化対象画素との差分を取る。
【0063】
ステップ407では、ステップ406にて計算された符号化対象画素と予測値の差分に対して、コンテキスト処理による補正を行う。コンテキスト処理はJPEG-LS方式に用いられるような一般的な手法を用いればよい。これは周辺画素の値や差分値の出現頻度を手掛かりとして差分値を補正する処理である。
【0064】
ステップ408では、ステップ407にて補正された差分値である残差数値の計測を行い、出現頻度を記録し、エントロピー符号化のための確率分布を作成する。エントロピー符号化方式にはゴロム・ライス符号、ハフマン符号、算術符号、算術符号の一種であるレンジコーダによる符号等を用いることができるが、算術符号やレンジコーダによる符号では、適切な確率分布を設定する必要がある。確率分布の設定方法としては、符号化開始時には適当な分布を定めておき、符号化を進めるにつれてこれを修正し、徐々に画像に適した形に設定していく方法と、一旦画像全体について符号化する値の出現頻度を調べ、これを確率分布として設定する方法がある。後者では確率分布に関する情報をストリームに付加して伝送する必要がある。またマルチスライス画像の処理では、連続するフレーム間の確率分布は近い形になる場合が多いので、1つ前のフレームの確率分布を設定することも有効である。この方式では最初の1枚以外では確率分布をストリームに付加する必要がない。以下では、エントロピー符号化方式としてレンジコーダを用い、設定する確率分布は1つ前のフレームの確率分布を利用する場合を例に挙げて説明する。ここでは現在のフレームの補正された差分値(残差数値)の出現頻度を記録し、次のフレームの符号化のために保持する。
【0065】
ステップ409では、画素を指定することにより符号化対象画素の予測値を決定する。例えば、対象画素に一番近い値を持つ画素をフラグで指定する。左隣は0、上は1というような信号を予め決めておき、フラグで伝送すればよい。またJPEG-LSのように、予め設定した一定の式を用いて予測する画素を判別してもよい。この場合にはフラグを伝送する必要はない。決定した予測値を用いて符号化対象画素との差分を取る。
【0066】
ステップ410では、ステップ409にて計算された符号化対象画素と予測値の差分に対して、コンテキスト処理による補正を行う。コンテキスト処理はJPEG-LS方式に用いられるような一般的な手法を用いればよい。これは周辺画素の値や差分値の出現頻度を手掛かりとして差分値を補正する処理である。
【0067】
ステップ411では、ステップ410にて補正された差分値である残差数値の計測を行い、出現頻度を記録し、エントロピー符号化のための確率分布を作成する。これは前述のステップ408と同様の処理を画素指定予測モードに適用したものである。
【0068】
ステップ412では、ランモードにおいて同じ値が連続する画素の数を計測する。
【0069】
ステップ413では、ラン長の出現確率を計測する。ラン長をハフマン符号化する場合にはハフマンテーブルを作成する。ゴロム・ライス符号化する場合には、平均符号長が最小となるように符号化方式を最適化する。
【0070】
ステップ414では、各符号化モードについてエントロピー符号化のための確率情報を決定する。算術符号、レンジコーダによる符号の場合には符号化に確率分布の情報が必要であり、ステップ408、ステップ411にて計測した出現確率等の情報をヒストグラムとして保持する。ハフマン符号の場合にはハフマンテーブル(符号化テーブル)を用意する。ゴロム・ライス符号の場合には符号化の構成方法を最適化する。画像全体について処理するためステップ405との間をループする。
【0071】
ステップ415では、前段のステップによって画像全体に対して計測した確率分布の情報を最適化し、エントロピー符号化装置に設定する。また必要に応じて確率分布の情報、テーブル等をストリームに出力する。
【0072】
ステップ416では、再び入力画像の画素を順番に取りだし符号化していく手順において、ステップ402、405と同様の方式により、その画素をどのモードで符号化すべきかを判定する。符号化モードは、重み付け予測モード、画素指定予測モード、ランモードである。判定方法は前述の通りである。重み付け予測モードと判定された場合にはステップ417、画素指定予測モードと判定された場合にはステップ420、ランモードと判定された場合にはステップ423に進む。
【0073】
ステップ417では、設定された重み付けパラメータを用いて、前述の式2によって符号化対象画素の予測値を計算し、符号化対象画素との差分を取る。
【0074】
ステップ418では、ステップ418にて計算された符号化対象画素と予測値の差分に対して、コンテキスト処理による補正を行う。これはステップ407と同様である。
【0075】
ステップ417、418はステップ406、407と同様の処理であり、これらを再度行うのではなく、ステップ406、407にて処理した値をメモリに格納しておき取り出してもよい。
【0076】
ステップ419では、ステップ417にて補正された差分値である残差数値をエントロピー符号化する。算術符号、算術符号の一種であるレンジコーダによる符号等を用いる場合、事前に設定された確率分布を用いる。マルチスライス画像の処理では、連続するフレーム間の確率分布は近い形になる場合が多いので、1つ前のフレームの確率分布を設定して用いてもよい。
【0077】
ステップ420では、画素を指定することにより符号化対象画素の予測値を決定し、この予測値を用いて符号化対象画素との差分を取る。
【0078】
ステップ421では、ステップ420にて計算された符号化対象画素と予測値の差分に対して、コンテキスト処理による補正を行う。
【0079】
ステップ420、421はステップ409、410と同様の処理であり、これらを再度行うのではなく、ステップ409、410にて処理した値をメモリに格納しておき取り出してもよい。
【0080】
ステップ422では、ステップ421にて補正された差分値である残差数値の計測を行い、エントロピー符号化する。これは前述のステップ419と同様の処理を画素指定予測モードに適用したものである。
【0081】
ステップ423では、ランモードにおいて同じ値が連続する画素の数を計測する。ステップ423はステップ412と同様の処理であり、これらを再度行うのではなく、ステップ412にて処理した値をメモリに格納しておき取り出してもよい。
【0082】
ステップ424では、ラン長をエントロピー符号化する。ラン長をハフマン符号化する場合にはハフマンテーブルを参照して符号化する。
【0083】
ステップ425では、各符号化モードについて作成されたエントロピー符号化後の符号をストリームに出力する。画像全体について処理するためステップ416との間をループする。
【0084】
ステップ426では、処理した入力画像を参照画像として参照画像バッファに格納する。
【0085】
上記のような処理によって効率的に画像が圧縮される。
【0086】
図5は画像復号方法のフロー図を示したものである。
【0087】
まず、ステップ501において符号化ストリームを入力する。以下、まず1枚目の画像を復号するステップについて説明する。
【0088】
ステップ502では、符号化ストリームから重み付けパラメータを分離し情報を取得する。重み付けパラメータについては前述の通りである。
【0089】
ステップ503では、符号化ストリームから確率分布を分離し情報を取得する。この確率分布の情報には、ハフマン符号におけるテーブルや、算術符号、レンジコーダによる符号における出現頻度の情報等を含む。この情報は画像1枚毎に付加してもよいし、複数枚の画像につき1つ付加してもよい。また1枚目の画像にだけ付加し、後続の画像については1つ前の画像を復号した時に取得される情報を利用してもよい。
【0090】
ステップ504では、復号画像の画素を順番に取りだし復号していく手順において、その画素をどのモードで符号化すべきかを判定する。符号化モードがフラグによって示されている場合には、示された符号化モードによって画素を復号する。フラグで示されない場合には、符号化時と同じ条件で周辺画素の情報を手掛かりに符号化モードを決定する。符号化モードには、重み付け予測モード、画素指定予測モード、ランモードが含まれる。符号化モードの判定方法は前述の通りであり、符号化時に使われたのと同じ方法を用いる。重み付け予測モードと判定された場合にはステップ505、画素指定予測モードと判定された場合にはステップ508、ランモードと判定された場合にはステップ511に進む。
【0091】
ステップ505では、設定された重み付けパラメータを用いて、前述の式2によって符号化対象画素の予測値を計算する。
【0092】
ステップ506では、ステップ505にて計算された予測値に対して、コンテキスト処理による補正を行う。これは符号化時のステップ407、418において差分値に対して行った処理の逆の処理を行うことに相当する。
【0093】
ステップ507では、符号化ストリームから残差数値をエントロピー復号によって取得する。算術符号、算術符号の一種であるレンジコーダによる符号等を用いる場合、事前に設定された確率分布を用いる。ハフマン符号ではテーブルを用いる。また復号時に、得られた数値に関する出現確率と確率分布の情報を更新する。
【0094】
ステップ508では、符号化ストリームのフラグ、あるいは周辺画素と一定の式に従い指定された画素を参照し符号化対象画素の予測値を計算する。
【0095】
ステップ509では、ステップ508にて計算された予測値に対して、コンテキスト処理による補正を行う。これは符号化時のステップ409、410において差分値に対して行った処理の逆の処理を行うことに相当する。
【0096】
ステップ510では、符号化ストリームから残差数値をエントロピー復号によって取得する。算術符号、算術符号の一種であるレンジコーダによる符号等を用いる場合、事前に設定された確率分布を用いる。ハフマン符号ではテーブルを用いる。また復号時に、得られた数値に関する出現確率と確率分布の情報を更新する。
【0097】
ステップ511では、符号化ストリームからラン長をエントロピー復号によって取得する。ハフマン符号ではテーブルを用いる。
【0098】
ステップ512では、画素の復元を行う。重み付け予測モード及び画素指定予測モードでは、予測値とコンテキスト処理による補正値、及びエントロピー復号された差分値を合成して画素を復元する。ランモードでは、復号されたラン長に従って前に復元された画素をコピーすることによって対象画素を復元する。画像全体を復元するために、ステップ504との間をループする。上記ではコンテキスト処理は予測値を補正し、これに差分値を合成する形で記述したが、差分値を補正して予測値と合成しても同様である。
【0099】
ステップ513では、復号された画像をバッファに格納する。
【0100】
ステップ514では、ステップ507、510において更新された復号する数値の出現確率、確率分布の情報を次の画像のエントロピー復号のために設定する。
【0101】
ステップ515では、復号された画像を参照画像とするため参照画像バッファに格納する。複数の画像を復号するために、ステップ501との間をループする。
【0102】
以上のような処理により圧縮された画像を復号することができる。
【0103】
図6は、画像符号化モードの判定フロー図である。このこの条件判定では、その画素をどのモードで符号化すべきか、復号すべきかを判定する。符号化モードの候補には、重み付け予測モード、画素指定予測モード、ランモードが含まれる。
【0104】
ステップ601では、対象画素の周辺画素を取得する。例えば、図3におけるA〜Qの画素に相当する。周辺画素は予め領域を決めておいてもよいし、画素毎に領域を変更してもよい。領域を選択する際には、符号化対象画素と異なる画像領域(前景か背景か)の画素が含まれないように、エッジ等を判別して画素を選択してもよい。
【0105】
ステップ602では、対象画素と一つ前の処理画素の差が一定以下であるか否かを判定する。例えば、図3におけるAの値とXの値を比較し、差が0であるか否かを判定する。ここでYesであればステップ603に進み、Noであればステップ604に進む。ステップ603はランモードであり、ステップ604は他のモードである。ランモードは同じ値が連続する場合に高い圧縮率を実現できるため、差が0であればランモードとして処理し、そうでなければ他のモードとする。
【0106】
ステップ603では、ランモードとして画素を処理する。符号化時には同じ値が連続する画素の数を計測し、これをラン長として符号化する。復号時にはラン長に従って前の画素の値をコピーして画像を復元する。ランモードの処理については前述の通りである。
【0107】
ステップ604では、周辺画素の分散値、あるいは周波数変換係数の和が一定以下か否かを判定する。例えば画素の分散値は、周辺画素をXiとし、これらの平均をmとした時、前述の式1によって計算できる。周波数変換係数の和は、同様にXiを連続する1次元の数列とみなし、これに対してWavelet変換、あるいはDCT(Discrete Cosine Transform)変換を行い、DC(Direct Current)成分以外の数値の絶対値を合計して求めることができる。これらの数値によって、符号化対象画素の周囲のノイズが多いか少ないかを判定できる。数値が大きい場合はノイズが多く、小さい場合はノイズが少ないと判定できる。ノイズが少ない場合には重み付け予測モードが適しており、ノイズが多い場合には画素指定予測モードが適している。判定がYesであればステップ605に進み、Noであればステップ606に進む。
【0108】
ステップ605では、重み付け予測モードとして画素を処理する。重み付け予測モードの処理については前述の通りである。
【0109】
ステップ606では、画素指定予測モードとして画素を処理する。画素指定予測モードの処理については前述の通りである。
【0110】
上記のような処理により、画像の特徴に応じた画素単位での符号化モードの判定を行うことができる。
【0111】
以上説明した各図に示される実施の形態を組み合わせた形態も本願の発明である。
【0112】
さらに、本発明の画像符号化技術を画像記録装置、画像伝送装置に適用することにより、大容量の画像記録、帯域幅の小さい画像伝送が可能な医療用画像診断装置、CT、MRI等の撮影装置を提供することができる。
【符号の説明】
【0113】
100…画像符号化装置、101…入力画像バッファ、102…参照画像バッファ、103…モード判定部、104…予測パラメータ学習部、105…パラメータ出力部、106…重み付け予測部、107…第一のコンテキスト処理部、108…第一の確率分布調整部、109…第一のエントロピー符号化部、110…画素指定予測部、111…第二のコンテキスト処理部、112…第二の確率分布調整部、113…第二のエントロピー符号化部、114…ラン長計測部、115…第三のエントロピー符号化部、200…画像復号装置、201…データ分離部、202…モード判定部、203…第一のエントロピー復号部、204…第一のコンテキスト処理部、205…パラメータ設定部、206…重み付け予測合成部、207…復号画像バッファ、208…確率分布設定部、209…参照画像バッファ、210…第二のエントロピー復号部、211…第二のコンテキスト処理部、212…画素指定予測合成部、213…第三のエントロピー復号部、214…ラン長モード合成部。

【特許請求の範囲】
【請求項1】
複数の符号化モードの中から決定された符号化モードを利用して画像を符号化する画像符号化方法であって、
前記複数の符号化モードとして、ランレングス符号化を含む第1モードと、重み付け予測符号化を含む第2モードと、それ以外の符号化を行う第3モードを備え、
前記画像の符号化の際に利用する符号化モードは、
符号化対象画素の周囲にある画素が含むノイズ量を測定し、
ノイズ量の差が一定以下の画素が連続する場合には第1モードを利用し、
第1モードを利用しない場合、ノイズ量の差が一定以下の場合には第2モードを利用し、
さらに、第1モード及び第2モードを利用しない場合、第3のモードを利用することを特徴とする画像符号化方法。
【請求項2】
請求項1において、
前記第3モードは、符号化対象画素に対して指定された画素の画素値を用いて予測することを特徴とする画像符号化方法。
【請求項3】
請求項1において、
前記モード判定部は、周囲画素の分散値、あるいは周波数変換後の係数の絶対値和を用いノイズ量を測定することを特徴とする画像符号化方法。
【請求項4】
請求項1において、
前記第2モードとして、機械学習方式、あるいは最小二乗法による方式を用いて重み付けパラメータの最適化を行う方式を用いることを特徴とする画像符号化方法。
【請求項5】
請求項1において、
前記第1モード乃至第3モードのいずれかの符号化を行った後、エントロピー符号化を行い、そのエントロピー符号化方式として算術符号化、あるいはレンジコーダを用いた符号化方式を用いることを特徴とする画像符号化方法。
【請求項6】
複数の復号モードの中から決定された復号モードを利用して画像を復号する画像復号方法であって、
前記複数の復号モードとして、ランレングス復号を含む第1モードと、重み付け予測復号を含む第2モードと、それ以外の復号を行う第3モードを備え、
復号対象画素がどのモードで復号するかを判定するステップを備え、
前記判定ステップは、
複合化対象画素の周囲にある画素が含むノイズ量を測定し、
ノイズ量の差が一定以下の画素が連続する場合には第1モードを利用し、
第1モードを利用しない場合、ノイズ量の差が一定以下の場合には第2モードを利用し、
さらに、第1モード及び第2モードを利用しない場合、第3のモードを利用することを特徴とする画像復号方法。
【請求項7】
請求項6において、
前記第3モードは、復号対象画素に対して指定された画素の画素値を用いて予測することを特徴とする画像復号方法。
【請求項8】
請求項6において、
モードを判定するステップにおけるノイズ量の判別方式として、周囲画素の分散値、あるいは周波数変換後の係数の絶対値和を用いることを特徴とする画像復号方法。
【請求項9】
請求項6において、
前記重み付け予測復号モードとして、機械学習方式、あるいは最小二乗法による方式を用いて重み付けパラメータの最適化を行う方式を用いることを特徴とする画像復号方法。
【請求項10】
請求項6において、
エントロピー復号を行うステップとして算術符号化、あるいはレンジコーダを用いた符号化方式を復号する方式を用いることを特徴とする画像復号方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−62752(P2013−62752A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−201280(P2011−201280)
【出願日】平成23年9月15日(2011.9.15)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】