(57)【要約】【課題】周波数変換を用いた画像符号化処理において、エッジの画質劣化を抑えつつ符号化効率を高めることを可能とする技術を提供する。【解決手段】符号化装置であって、画像から複数のサブバンドデータを生成する生成手段と、前記複数のサブバンドデータに含まれる各サブバンド係数に割り当てる量子化パラメータを決定する決定手段と、前記決定手段が決定した前記量子化パラメータを用いて前記複数のサブバンドデータを量子化する量子化手段と、前記量子化手段における量子化結果を符号化する符号化手段とを備え、前記決定手段は、前記サブバンド係数がエッジ部に分類される場合に、前記サブバンド係数がエッジ部に分類されない場合よりも値が小さくなるように、前記割り当てる量子化パラメータを決定する。【選択図】  図１
2019029802.tif 000002
【特許請求の範囲】
【請求項１】
画像から複数のサブバンドデータを生成する生成手段と、
前記複数のサブバンドデータに含まれる各サブバンド係数に割り当てる量子化パラメータを決定する決定手段と、
前記決定手段が決定した前記量子化パラメータを用いて前記複数のサブバンドデータを量子化する量子化手段と、
前記量子化手段における量子化結果を符号化する符号化手段と
を備え、
前記決定手段は、前記サブバンド係数がエッジ部に分類される場合に、前記サブバンド係数がエッジ部に分類されない場合よりも値が小さくなるように、前記割り当てる量子化パラメータを決定する
ことを特徴とする符号化装置。
【請求項２】
前記決定手段は、
前記複数のサブバンドデータに含まれるサブバンド係数のうち、高周波成分を含むサブバンド係数に基づき、画像の複雑度を判定し、
前記判定により前記複雑度が高いと判定されたサブバンド係数について、該サブバンド係数が前記エッジ部に分類される場合に、前記エッジ部に分類されない場合よりも値が小さくなるように、前記割り当てる量子化パラメータを決定することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記決定手段は、前記複雑度が高いと判定されたサブバンド係数についてのみ、前記エッジ部に分類されるかどうかを判定することを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記決定手段は、前記複雑度が高いと判定されなかったサブバンド係数について、前記複雑度が高いと判定されたサブバンド係数よりも小さい量子化パラメータを割り当てることを特徴とする請求項２または３に記載の符号化装置。
【請求項５】
前記決定手段は、前記高周波成分を含むサブバンド係数の平均値、又は、最大値に基づき前記複雑度を判定することを特徴とする請求項２から４のいずれか１項に記載の符号化装置。
【請求項６】
前記画像は、所定サイズのブロックに分割され、
前記決定手段は、
前記画像の複雑度を前記所定サイズのブロックを単位として判定し、
前記判定により前記複雑度が高いと判定されたブロックに含まれるサブバンド係数を、前記複雑度が高いと判定されたサブバンド係数として、前記エッジ部に分類されるか否かを更に判定することを特徴とする請求項２に記載の符号化装置。
【請求項７】
前記決定手段は、
前記画像において複雑度の高い領域を特定し、
前記複雑度が高いと判定された領域に含まれるサブバンド係数を、前記複雑度が高いと判定されたサブバンド係数として、前記エッジ部に分類されるか否かを更に判定することを特徴とする請求項２に記載の符号化装置。
【請求項８】
前記決定手段は、
前記複数のサブバンドデータに含まれるサブバンド係数のうち、水平方向に対する高周波成分に関連するサブバンド係数から垂直エッジを検出するか、
前記複数のサブバンドデータに含まれるサブバンド係数のうち、垂直方向に対する高周波成分に関連するサブバンド係数から水平エッジを検出するか、または
前記垂直エッジ及び前記水平エッジの両方を検出する
ことによりエッジ検出を行い、
前記エッジ検出の結果に基づいて前記複雑度が高いと判定されたサブバンド係数が前記エッジ部に分類されるかどうかを判定することを特徴とする請求項２から７のいずれか１項に記載の符号化装置。
【請求項９】
前記決定手段は、
前記エッジ検出の結果に基づき、同一方向に連続するエッジの振幅値が、前記エッジ部に分類されるかどうかの判定対象のサブバンド係数で急峻に変化している場合に、前記判定対象のサブバンド係数をエッジ部に分類することを特徴とする請求項８に記載の符号化装置。
【請求項１０】
前記決定手段は、
前記同一方向に連続するエッジの振幅値を閾値と比較し、前記判定対象のサブバンド係数で前記閾値を跨いだ変化が発生している場合に、前記判定対象のサブバンド係数を前記エッジ部に分類することを特徴とする請求項９に記載の符号化装置。
【請求項１１】
前記決定手段は、前記割り当てる量子化パラメータを決定しようとするサブバンド係数の前記複雑度の高さ、及び、該サブバンド係数が前記エッジ部に分類されるかどうかに応じて、前記複数のサブバンドデータのそれぞれについて予め定められた量子化パラメータから、前記割り当てる量子化パラメータを決定することを特徴とする請求項２から１０のいずれか１項に記載の符号化装置。
【請求項１２】
前記決定手段は、前記複数のサブバンドデータを量子化し、符号化した場合の、符号化の目標符号量と符号化した結果の発生符号量との差分に基づいて決定される基準となる量子化パラメータに基づいて、前記割り当てる量子化パラメータを決定することを特徴とする請求項２から１０のいずれか１項に記載の符号化装置。
【請求項１３】
前記決定手段は、前記基準となる量子化パラメータを、前記割り当てる量子化パラメータを決定しようとするサブバンド係数の前記複雑度の高さ、及び、該サブバンド係数が前記エッジ部に分類されるかどうかに応じて補正することにより、前記割り当てる量子化パラメータを決定することを特徴とする請求項１２に記載の符号化装置。
【請求項１４】
前記決定手段は、前記基準となる量子化パラメータの補正を、前記割り当てる量子化パラメータを決定しようとするサブバンド係数の前記複雑度の高さ、及び、該サブバンド係数が前記エッジ部に分類されるか否かに応じて、予め決定された補正値を選択して行うことを特徴とする請求項１３に記載の符号化装置。
【請求項１５】
前記決定手段は、前記複雑度が高いと判定されていない低周波成分のサブバンド係数には前記基準となる量子化パラメータを割り当て、
前記複雑度が高いと判定されていない低周波成分の前記サブバンド係数以外の他のサブバンド係数を前記補正値により補正することにより、前記割り当てる量子化パラメータを決定することを特徴とする請求項１４に記載の符号化装置。
【請求項１６】
前記生成手段は、ウェーブレット変換により前記複数のサブバンドデータを生成することを特徴とする請求項１から１５のいずれか１項に記載の符号化装置。
【請求項１７】
前記画像を取得する取得手段を更に備えることを特徴とする請求項１から１６のいずれか１項に記載の符号化装置。
【請求項１８】
符号化装置が実行する符号化方法であって、
画像から複数のサブバンドデータを生成する生成工程と、
前記複数のサブバンドデータに含まれる各サブバンド係数に割り当てる量子化パラメータを決定する決定工程と、
前記決定工程において決定された前記量子化パラメータを用いて前記複数のサブバンドデータを量子化する量子化工程と、
前記量子化工程における量子化結果を符号化する符号化工程と
を含み、
前記決定工程では、前記サブバンド係数がエッジ部に分類される場合に、前記サブバンド係数がエッジ部に分類されない場合よりも値が小さくなるように、前記割り当てる量子化パラメータが決定される
ことを特徴とする符号化方法。
【請求項１９】
コンピュータを請求項１から１６のいずれか１項に記載の符号化装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、符号化方法、及び、プログラムに関する。
【背景技術】
【０００２】
高効率な画像圧縮を実現するために様々な符号化手法が提案されている。代表的な画像の符号化方式として、ＪＰＥＧ２０００がある。このＪＰＥＧ２０００では、ＤＷＴ（離散ウェーブレット変換：Discrete Wavelet Transform）と呼ばれる周波数変換手法を用いて画像を複数の周波数成分に分割し、周波数成分毎に量子化して符号化する。こうした周波数変換を用いた符号化方式では、一般的に、視覚的な劣化の目立ちにくい高周波成分の符号量を削減することで高い符号化効率を得ている。特許文献１は周波数変換を用いた符号化において、視覚周波数特性に基づく量子化制御によって符号化効率を高める方法を提案している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−４９５８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の提案手法では、高周波成分に含まれるエッジ成分に対しても他の高周波成分と同様な量子化処理が実行されてしまう。一般的にエッジは視覚的な劣化が目立ちやすい箇所であるため、エッジに対する量子化処理は他の高周波成分と比べて細かいステップで実行することが望ましい。
【０００５】
そこで本発明は、周波数変換を用いた画像符号化処理において、エッジの画質劣化を抑えつつ符号化効率を高めることを可能とする技術を提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明は、符号化装置であって、
画像から複数のサブバンドデータを生成する生成手段と、
前記複数のサブバンドデータに含まれる各サブバンド係数に割り当てる量子化パラメータを決定する決定手段と、
前記決定手段が決定した前記量子化パラメータを用いて前記複数のサブバンドデータを量子化する量子化手段と、
前記量子化手段における量子化結果を符号化する符号化手段と
を備え、
前記決定手段は、前記サブバンド係数がエッジ部に分類される場合に、前記サブバンド係数がエッジ部に分類されない場合よりも値が小さくなるように、前記割り当てる量子化パラメータを決定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、周波数変換を用いた画像符号化処理において、エッジの画質劣化を抑えつつ符号化効率を高めることができる。
【図面の簡単な説明】
【０００８】
【図１】発明の実施形態に係る符号化装置の構成例を示す図、及び、ベイヤー配列の画像データの色分離及びプレーン形成方法を説明するための図。
【図２】ウェーブレット変換処理を説明するための図、及び、ウェーブレット変換後のサブバンド形成結果の一例を示す図。
【図３】発明の実施形態１に係る処理の一例を示すフローチャート。
【図４】発明の実施形態１に係るエッジ検出方法、及び、エッジ部の有無を判定する方法を説明するための図。
【図５】発明の実施形態に係る量子化パラメータの設定方法を説明するための図。
【図６】発明の実施形態２に係る処理の一例を示すフローチャート。
【図７】発明の実施形態２に係るエッジ検出方法、及び、エッジ部の有無を判定する方法を説明するための図。
【図８】発明の実施形態３に係る処理の一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
［実施形態１］
まず、発明の第１の実施形態について説明する。発明の実施形態に対応する符号化装置１００の構成及び処理の流れについて図面を参照しながら説明を行う。まず、図１（Ａ）に示す符号化装置１００は、例えばデジタルカメラ、デジタルビデオカメラとして実現することができる。また、それ以外に、例えばパーソナルコンピュータ、携帯電話、スマートフォン、ＰＤＡ、タブレット端末、携帯型メディアプレーヤなどの任意の情報処理端末或いは撮像装置として実現することもできる。なお、図１（Ａ）は、デジタルカメラ等として機能する場合を考慮して、画像を取得するための構成として撮像部１０２を含む例を示した。しかし、発明の実施形態として、例えば記録媒体１０９に記録されている非圧縮のＲＡＷデータを処理対象の画像として取得し、これを圧縮・記録することが可能な画像符号化装置、画像記録装置、画像圧縮装置等として、撮像部１０２を有しない構成で実現してもよい。
【００１０】
図１（Ａ）の符号化装置１００において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵ等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。
【００１１】
図１（Ａ）に示す符号化装置１００において、制御部１０１は、符号化装置１００を構成する各処理部を制御する。撮像部１０２は、光学レンズ、絞り、フォーカス制御及びレンズ駆動部を含む光学ズームが可能なレンズ光学系とレンズ光学系からの光情報を電気信号に変換するＣＣＤイメージセンサ又は、ＣＭＯＳセンサなどの撮像素子を含む。撮像部１０２は、撮像素子により得られた電気信号をディジタル信号に変換したＲＡＷデータをプレーン変換部１０３へ出力する。なお、ＲＡＷデータは、ベイヤー配列のＲ（赤）、Ｇ１（緑）、Ｇ２（緑）、Ｂ（青）の４つの色要素で構成されるものとして説明する。
【００１２】
プレーン変換部１０３は、撮像部１０２から入力されたＲＡＷデータを読み出し、４つの独立したプレーンデータに変換する。ここで、プレーンデータへの変換例を図１（Ｂ）に示す。図１（Ｂ）の例では、ベイヤー配列をＲ、Ｇ１、Ｇ２、Ｂに分離して、４つの画素プレーンデータを生成する。そして、生成した４つのプレーンデータを周波数変換部１０４に出力する。
【００１３】
周波数変換部１０４は、プレーン変換部１０３から出力されたプレーンデータを読み出してそれぞれに対して周波数変換を施して、それぞれがサブバンド係数からなる複数のサブバンドデータを生成する。そして、得た変換係数をメモリ１０５に出力する。本実施形態の周波数変換では、分解レベル１のサブバンド分割処理に関わるウェーブレット変換を実施するものとして説明する。図２（Ａ）は、ｌｅｖ＝１のサブバンド分割処理に関わる離散ウェーブレット変換を実現するためのフィルタバンク構成を示しており、離散ウェーブレット変換処理を水平、垂直方向に実行した結果、図２（Ｂ）に示すように１つの低周波成分係数（ＬＬ）と３つの高周波成分係数（ＨＬ、ＬＨ、ＨＨ）からなる４種類のサブバンド係数で構成されるサブバンドデータへ分割される。図２（Ａ）に示すローパスフィルタ（以降、ｌｐｆと呼ぶ）及びハイパスフィルタ（以降、ｈｐｆと呼ぶ）の伝達関数をそれぞれ下式１，２に示す。
ｌｐｆ(ｚ)=(−ｚ-2＋２ｚ-1＋６＋２ｚ−ｚ2)／８      式１
ｈｐｆ(ｚ)=(−ｚ-1＋２−ｚ)／２                    式２
【００１４】
また、「↓２」は２対１のダウンサンプリングを表す。従って、水平方向と垂直方向とで１回ずつのダウンサンプリングが実行されるので、サブバンドのサイズは元のサイズの１／４となる。ｌｅｖが１よりも大きい場合には、低周波成分係数（ＬＬ）に対して階層的にサブバンド分割が実行されてもよい。ここでは離散ウェーブレット変換は上記式１、２に示すように５タップのｌｐｆと３タップのｈｐｆで構成しているが、これとは異なるタップ数及び異なる係数のフィルタ構成であっても良い。
【００１５】
メモリ１０５は、周波数変換部１０４から出力される各プレーンデータの変換係数を格納するための例えば揮発性メモリで構成される記憶領域である。量子化制御部１０６は、メモリ１０５に格納される高周波成分係数（ＨＬ、ＬＨ、ＨＨ）を用いた画像の複雑度の算出とエッジ検出による特徴分類を行い、分類結果に応じて量子化部１０７で使用する、各サブバンドデータのサブバンド係数に割り当てられる量子化パラメータを決定する。量子化パラメータの決定方法の詳細は後述する。量子化部１０７は、メモリ１０５に格納される変換係数を読み出し、量子化制御部１０６から入力される量子化パラメータを用いて量子化処理を実行し、量子化後の係数をエントロピー符号化部１０８に出力する。
【００１６】
エントロピー符号化部１０８は、量子化部１０７における量子化結果として得られた係数を圧縮符号化し、符号化データを記録媒体１０９に出力する。この圧縮符号化は、例えば、ハフマン符号化、ゴロム符号化等のエントロピー符号化方式を用いて実施する。記録媒体１０９は、例えば不揮発性メモリで構成される記録メディアである。エントロピー符号化部１０８が出力した符号化データを保持する。
【００１７】
次に、量子化制御部１０６が行う量子化パラメータ決定処理について、図３に示すフローチャートを用いて説明する。該フローチャートに対応する処理は、例えば、量子化制御部１０６として動作・機能する専用ロジック回路、または、量子化制御部１０６として動作・機能する１以上のプロセッサが対応するプログラム（ＲＯＭ等に格納）を実行すること、により実現できる。  
【００１８】
まずＳ３０１において、量子化制御部１０６は、メモリ１０５に格納した各プレーンデータを周波数変換して得られた高周波成分係数（ＨＬ、ＬＨ、ＨＨ）を読み出して、画像の複雑度を算出する。画像の複雑度とは、画像にどの程度の高周波成分が含まれるかを示す指標であって、例えば、空間的に同一位置にあるＨＬサブバンド係数、ＬＨサブバンド係数、ＨＨサブバンド係数、それぞれを絶対値化した３係数の平均であり、算出した複雑度はサブバンド間共通の評価値となる。本実施形態の複雑度は、絶対値化した３係数の平均値として説明するが、絶対値化した３係数の最大値であってもよい。また、これらに限定されるものではない。  
【００１９】
次にＳ３０２では、量子化制御部１０６はＳ３０１で算出した複雑度の高さに基づいて、各プレーンのサブバンド係数を複雑部と非複雑部に分類する。分類においては、例えば、複雑度の閾値を予め設けておき、閾値との大小関係によって分類すればよい。具体的には、複雑度の値が閾値より大きい場合は複雑度が高いとして「複雑部」と分類し、閾値以下となる場合は複雑度が高くないとして「非複雑部」と分類することができる。複雑部と判定された部分は、高周波成分が多く含まれており、視覚的な劣化の目立ち難いといえる。一方、非複雑部と判定された部分は、低周波成分が多く含まれており、視覚的な劣化の目立ちやすいといえる。本実施形態では複雑部に分類されたサブバンド係数の量子化パラメータをエッジ検出結果に応じて調整するため、複雑部に分類される場合は、処理はＳ３０３に進む。一方、非複雑部に分類される場合は、処理はＳ３０７に進む。
【００２０】
続くＳ３０３では、量子化制御部１０６はＳ３０２で複雑部に分類された高周波成分係数に対して垂直エッジ検出を行う。ここで、垂直エッジ検出方法を図４を参照して説明する。垂直エッジ検出に用いる高周波成分を図４（Ａ）に示す。垂直エッジは水平方向に対する高周波成分であるため、水平方向に対する高周波成分に関連するＨＬサブバンドの係数をメモリ１０５から読み出して垂直エッジ検出を行う。また、垂直エッジ検出では、振幅強度の連続性からエッジの有無を判定するため、判定対象の係数の近傍の係数もメモリ１０５から読み出す。
【００２１】
本実施形態では、判定対象の係数と同一方向に隣接して連続する左右２係数（エッジ検出対象係数の水平座標を起点ｎとして、１係数ずれた位置にある係数はｎ±１、２係数ずれた位置にある係数は±２）による垂直エッジの有無を判定する例を示す。次に、垂直エッジ有りと判定する係数の並びを図４（Ｂ）に示す。図４（Ｂ）の水平軸は水平座標、垂直軸は各水平座標の係数値であり、水平座標については図４（Ａ）と対応付けている。
【００２２】
まず、係数毎に振幅の強度を判定する。判定においては、予め係数の閾値を設け、閾値より大きい場合は振幅値大、閾値以下の場合は振幅値小と分類すれば良い。そして、振幅値の大小分類の並びから垂直エッジの有無を判定する。図４（Ｂ）に示す通り、エッジ有りと判定される振幅値の関係は以下の２通りである。
［条件１］ｎ−２：振幅値小、ｎ−１：振幅値小、ｎ：振幅値大
［条件２］ｎ：振幅値大、ｎ＋１：振幅値小、ｎ＋２：振幅値小
【００２３】
条件１と条件２を満たす場合は、判定対象の係数ｎにおいて、閾値を跨いだ振幅値の変化が発生しており、振幅値に急峻な変化があって連続性が保たれないケースに該当するため、垂直エッジ有りと判定する。一方、判定対象の係数ｎにおいて閾値を跨いだ振幅値の変化が発生していない場合は垂直エッジ無しと判定する。そして、空間的に同一位置にあるＬＬサブバンド係数、ＬＨサブバンド係数、ＨＨサブバンド係数に対して、エッジ有無の判定結果を共通して付加する。
【００２４】
続くＳ３０４では、量子化制御部１０６はＳ３０３の垂直エッジ検出によるエッジ有無の判定結果に基づいて、各サブバンド係数をエッジ部と非エッジ部に分類する。Ｓ３０３で垂直エッジ有りと判定されたサブバンド係数はエッジ部として、処理はＳ３０５に進む。一方、垂直エッジ無しと判定されたサブバンド係数は非エッジ部として、処理はＳ３０６に進む。
【００２５】
Ｓ３０５、Ｓ３０６、Ｓ３０７は、Ｓ３０２における複雑部であるか否かの判定結果と、Ｓ３０４でのエッジ部であるか否かの判定結果に応じて、各サブバンド係数に対して割り当てる量子化パラメータを決定する。本実施形態では、各サブバンド係数に対して割り当てる候補となる量子化パラメータを量子化マトリクス（量子化テーブル）として予め用意しておき、判定結果に従っていずれか１つの量子化パラメータを選択する。
【００２６】
図５（Ａ）は、本実施形態に対応する量子化マトリクスのデータ構成の一例を示す図である。量子化マトリクス５００には非複雑部、エッジ部、非エッジ部の各分類について、ＬＬ、ＨＬ、ＬＨ、ＨＨのサブバンド係数毎の量子化パラメータの値が登録されている。非複雑部に分類される場合の量子化パラメータは、Ａ０（ＬＬ）、Ａ１（ＨＬ）、Ａ２（ＬＨ）、Ａ３（ＨＨ）である。また、エッジ部に分類される場合の量子化パラメータは、Ｂ０（ＬＬ）、Ｂ１（ＨＬ）、Ｂ２（ＬＨ）、Ｂ３（ＨＨ）である。さらに、非エッジ部に分類される場合の量子化パラメータは、Ｃ０（ＬＬ）、Ｃ１（ＨＬ）、Ｃ２（ＬＨ）、Ｃ３（ＨＨ）とする。
【００２７】
このとき、非複雑部と複雑部では、非複雑部の量子化パラメータの方が小さくなるようにする。但し、エッジ部と判定されたサブバンド係数については、非複雑部と同等の量子化パラメータとしてもよい。その場合、分類間の量子化パラメータの大小関係は、例えばＡ≦Ｂ＜Ｃ（非複雑部≦エッジ部＜非エッジ部）と表現することができる。また、サブバンド間の関係については、低周波成分が多いほど視覚的な劣化が目立ちやすくなるので量子化パラメータを小さくする。そこでサブバンド間では「ＬＬ≦ＨＬ＝ＬＨ≦ＨＨ」の大小関係を満たすように量子化パラメータが設定される。
【００２８】
Ｓ３０５、Ｓ３０６、Ｓ３０７では、判定対象のサブバンド係数が属する分類と、該サブバンド係数の種類に応じて、量子化マトリクス５００に登録されているいずれかの量子化パラメータが選択される。Ｓ３０５では、量子化制御部１０６は、サブバンド係数に対する量子化パラメータを、上述したエッジ部の量子化パラメータＢ０からＢ３のいずれかに決定する。例えば、エッジ部のＨＬについては、Ｓ３０５において量子化パラメータＢ１が選択される。Ｓ３０６では、量子化制御部１０６はサブバンド係数に対する量子化パラメータを、上述した非エッジ部用の量子化パラメータＣ０からＣ３のいずれかに決定する。Ｓ３０７は、量子化制御部１０６はサブバンド係数に対する量子化パラメータを、上述した非複雑部用の量子化パラメータＡ０からＡ３のいずれかに決定する。
【００２９】
上記処理は、ＲＡＷデータを変換して得られたＲ、Ｇ１、Ｇ２、Ｂの各プレーンについて実行する。その際、４つのプレーンのサブバンド係数について並列に処理を実行してもよいし、プレーン毎の処理を４回繰り返すようにしてもよい。
【００３０】
なお、上記の実施形態においては、プレーンに含まれる全てのサブバンド係数について複雑部か非複雑部かを判定して、量子化パラメータの調整を行ったが、これ以外にも量子化パラメータの調整は以下のように行ってもよい。例えば、複雑部か非複雑部か判定を所定サイズの画素領域に相当するブロック単位に行うこととし、複雑部と判定されたブロックに属するサブバンド係数についてエッジ検出結果に応じた量子化パラメータの調整を行ってもよい。具体的に、ＲＡＷデータがＲ、Ｇ１、Ｇ２、Ｂに分離され４つの画素プレーンデータで処理される場合、１画素プレーンにつき所定サイズのブロックが処理対象となる。ブロックサイズは、例えば要求される画質等に応じた任意の大きさとすることができる。このとき、ブロック単位の複雑度は、例えばブロック内に含まれる高周波成分のサブバンド係数の平均値、最大値、最大値と最小値との差分、又は、分散として算出することができる。また、複雑部と非複雑部とのいずれに属するかは、算出した複雑度と所定の閾値との比較により判定することができる。
【００３１】
また、量子化パラメータを調整する単位はブロック単位でなくてもよい。例えば、高周波成分のサブバンド係数で所定の閾値以上の値を有する係数を包含する領域を設定することで、高周波成分がより多く含まれる領域を特定する。そして、当該領域に含まれるサブバンド係数についてエッジ検出結果に応じた量子化パラメータの調整を行ってもよい。
【００３２】
これらの変形例では、複雑度の高い部分においてエッジ部と非エッジ部とで量子化パラメータを切替えて量子化処理を実行することで画質の劣化を抑制しつつ、複雑部か否かの判定処理の負荷を軽減することができる。
【００３３】
上記の実施形態では、量子化パラメータ決定処理において、画像の特徴の分類結果やエッジ部か否かの判定結果に基づき固定的に量子化パラメータを決定する場合を説明した。この場合、割り当てられる量子化パラメータは固定されているので、先に実行された符号化処理で発生した符号量が多かった場合に、符号量の収束性を考慮して後の符号化処理で使用する量子化パラメータを調整し発生符号量を下げることができない。この場合、上記実施形態の変形例として、量子化パラメータ自体を保持しておくのではなく、画像特徴やエッジの有無に応じた量子化パラメータの補正値をマトリクスとして予め保持しておくことができる。この場合、符号量制御に基づく可変の量子化パラメータに対して補正を実行することで、符号量の収束性を考慮しつつ、エッジの画質劣化を抑えることができる。
【００３４】
図５（Ｂ）は、量子化パラメータ補正値のマトリクスの一例を示す。マトリクスに登録される各補正値は、図５（Ａ）の各量子化パラメータの相対的関係に対応した値とすることができる。図５（Ｂ）においては、非複雑部ＬＬ成分を基準となる量子化パラメータとしている。よって、非複雑部ＬＬであるサブバンド係数以外の他のサブバンド係数のための他の量子化パラメータは、非複雑部ＬＬ成分の量子化パラメータの値との差分に基づく補正値として表すことができる。まず、非複雑部のＬＬ成分は補正値０となる。マトリクスの横方向は、ＨＬ、ＬＨの補正値を等しくし、ＨＨの補正値が最大となるようにしている。また、縦方向については、下に行くほど、補正値が大きくなるようにしている。これにより、符号量制御を行なう場合であっても、エッジの画質劣化を抑えつつ符号化効率を高めることが可能となる。
【００３５】
また、符号量制御に基づく可変の量子化パラメータについては、例えば以下のようにして算出することができる。まず、量子化制御部１０６は、符号化対象のサブバンドを複数の領域に分割し、領域毎にＬＬ成分の量子化パラメータを決定する。領域の分割方法は、例えば、サブバンドをそれぞれ垂直方向に所定のラインごとに分割することができるが、これに限定されないものであって、より細かく分割してもよいし、より粗く分割してもよい。次に量子化制御部１０６は、分割により得られた各領域に目標符号量を割り当てる。目標符号量は、各領域に対して均一に割り当ててもよいし、或いは、画像の特徴に応じて、例えば高周波成分の多い領域により多くの目標符号量を割り当ててもよい。
【００３６】
次に、量子化制御部１０６は、処理対象の領域に対応する目標符号量と発生符号量とを比較し、次の処理対象の領域の符号化処理における発生符号量を目標発生符号量に近づけるようにフィードバック制御を行い、各サブバンドに共通の量子化パラメータを生成する。このときの符号量の制御は、例えば以下の式３に従って実行することができる。
【００３７】
Ｑｐ（ｉ）＝Ｑｐ（０）＋ｒ×Σ｛Ｓ（ｉ−１）−Ｔ（ｉ−１）｝    式３
Ｑｐ(０) : 初期量子化パラメータ
Ｑｐ(i)：i番目の量子化パラメータ（ｉ＞０）
r：制御感度
S：発生符号量
T：目標符号量
【００３８】
式３では、サブバンドデータに設定された各領域のうちの先頭の領域に対して設定した初期量子化パラメータを基準とし、発生符号量と目標符号量との差分の大きさに応じて当該初期量子化パラメータを調整する。具体的に、先頭領域以降に発生した符号量の合計（総発生符号量）と、対応する目標符号量の合計（総目標符号量）との符号量差分が小さくなるように初期量子化パラメータの値を調整して、処理対象の領域のための量子化パラメータを決定する。先頭領域に対して設定される初期量子化パラメータは、圧縮率などに基づいて量子化制御部１０６が決定したパラメータを用いることができる。
【００３９】
以上のように、本実施形態では、画像が有する複雑度や垂直エッジ有無の特徴に応じた量子化パラメータを選択するので、複雑度の高い部分においても、エッジ部と非エッジ部とで量子化パラメータを切替えて量子化処理を実行することができる。これにより、エッジの画質劣化を抑えつつ符号化効率を高めることが可能となる。
【００４０】
［実施形態２］
次に、発明の第２の実施形態を説明する。上述の実施形態１では、垂直エッジ検出によってエッジ有無を判定して量子化パラメータを決定していたが、本実施形態では、水平エッジ検出によってエッジ有無を判定して量子化パラメータを決定する方法について説明する。本実施形態に係る符号化装置の構成は、図１（Ａ）に示す符号化装置１００と同じであるため、構成に関する説明は省略する。
【００４１】
次に、図６に示すフローチャートに基づいて、本実施形態における量子化制御部１０６が行う量子化パラメータ決定手順について説明する。該フローチャートに対応する処理は、例えば、量子化制御部１０６として動作・機能する専用ロジック回路、または、量子化制御部１０６として動作・機能する１以上のプロセッサが対応するプログラム（ＲＯＭ等に格納）を実行すること、により実現できる。なお、本実施形態は、実施形態１の処理を包含しており、実施形態１と同様の処理に関しては詳細な説明を省略する。
【００４２】
まずＳ６０１において、量子化制御部１０６は、メモリ１０５に格納されている各プレーンデータを周波数変換して得られた高周波成分係数（ＨＬ、ＬＨ、ＨＨ）を読み出して、複雑度を算出する。当該処理は、実施形態１のＳ３０１に相当する。続くＳ６０２では、量子化制御部１０６はＳ６０１で算出した複雑度に基づいて、各プレーンのサブバンド係数を複雑部と非複雑部に分類する。当該処理は、実施形態１のＳ３０２に相当する。複雑部に分類される場合、処理はＳ６０３に進み、非複雑部に分類される場合、処理はＳ６０７に進む。
【００４３】
続くＳ６０３は、量子化制御部１０６はＳ６０２で複雑部に分類された高周波成分係数に対して水平エッジ検出を行う。ここで、水平エッジ検出方法を図７を参照して説明する。水平エッジ検出に用いる高周波成分を図７（Ａ）に示す。水平エッジは垂直方向に対する高周波成分であるため、垂直方向に対する高周波成分に関連するＬＨサブバンドの係数をメモリ１０５から読み出して水平エッジ検出を行う。また、水平エッジ検出では、振幅強度の連続性からエッジの有無を判定するため、判定対象の係数の近傍の係数もメモリ１０５から読み出す。
【００４４】
本実施形態では、判定対象の係数と同一方向に隣接して連続する上下２係数（エッジ検出対象係数の垂直座標を起点ｎとして、１係数ずれた位置にある係数はｎ±１、２係数ずれた位置にある係数は±２）による水平エッジの有無を判定する例を示す。次に、水平エッジ有りと判定する係数の並びを図７（Ｂ）に示す。図７（Ｂ）の水平軸は垂直座標、垂直軸は各垂直座標の係数値であり、垂直座標については図７（Ａ）と対応付けている。
【００４５】
まず、係数毎に振幅の強度を判定する。判定においては、予め係数の閾値を設け、閾値より大きい場合は振幅値大、閾値以下の場合は振幅値小と分類すれば良い。そして、振幅値の大小分類の並びから垂直エッジの有無を判定する。図７（Ｂ）に示す通り、エッジ有りと判定される振幅値の関係は以下の２通りである。
［条件１］ｎ−２：振幅値小、ｎ−１：振幅値小、ｎ：振幅値大
［条件２］ｎ：振幅値大、ｎ＋１：振幅値小、ｎ＋２：振幅値小
【００４６】
条件１と条件２を満たす場合は、判定対象の係数ｎの前後において、閾値を跨いだ振幅の変化が発生しており、振幅値に急峻な変化があって連続性が保たれないケースに該当するため、水平エッジ有りと判定する。一方、判定対象の係数ｎの前後において、閾値を跨いだ振幅の変化が発生していない場合は水平エッジ無しと判定する。そして、空間的に同一位置にあるＬＬサブバンド係数、ＨＬサブバンド係数、ＨＨサブバンド係数に対して、エッジ有無の判定結果を共通して付加する。
【００４７】
続くＳ６０４では、量子化制御部１０６はＳ６０３の水平エッジ検出によるエッジ有無の判定結果に基づいて、各サブバンド係数をエッジ部と非エッジ部に分類する。当該処理は、実施形態１のＳ３０４に相当する。Ｓ６０３で垂直エッジ有りと判定されたサブバンド係数はエッジ部として、処理はＳ６０５に進む。一方、垂直エッジ無しと判定されたサブバンド係数は非エッジ部として、処理はＳ６０６に進む。
【００４８】
Ｓ６０５、Ｓ６０６、Ｓ６０７では、Ｓ６０２における複雑部であるか否かの判定結果と、Ｓ６０４でのエッジ部であるか否かの判定結果に応じて、各サブバンド係数に対して割り当てる量子化パラメータを決定する。これらのステップにおける処理は、それぞれ実施形態１のＳ３０５、Ｓ３０６、Ｓ３０７に対応する。本実施形態でも、各サブバンド係数に対して割り当てる候補となる量子化パラメータを量子化マトリクスとして予め用意しておき、判定結果に従っていずれか１つの量子化パラメータを選択することができる。
【００４９】
Ｓ６０５、Ｓ６０６、Ｓ６０７では、それぞれ処理対象のサブバンド係数が属する分類と、サブバンド係数の種類に応じて、量子化マトリクス５００に登録されているいずれかの量子化パラメータが選択される。Ｓ６０５では、量子化制御部１０６は、サブバンド係数に対する量子化パラメータを、上述したエッジ部の量子化パラメータＢ０からＢ３のいずれかに決定する。Ｓ６０６では、量子化制御部１０６はサブバンド係数に対する量子化パラメータを、上述した非エッジ部用の量子化パラメータＣ０からＣ３のいずれかに決定する。Ｓ６０７は、量子化制御部１０６はサブバンド係数に対する量子化パラメータを、上述した非複雑部用の量子化パラメータＡ０からＡ３のいずれかに決定する。
【００５０】
また、本実施形態でも実施形態１と同様に、符号量の収束性を考慮し、画像の特徴に応じた量子化パラメータの補正値をマトリクスとして予め保持しておき、符号量制御に基づく可変の量子化パラメータに対して補正を実行する構成としてもよい。また、本実施形態においても実施形態１と同様に、量子化パラメータの調整を、所定サイズのブロック単位、或いは、高周波成分がより多く含まれると判定された領域について行ってもよい。
【００５１】
以上のように、本実施形態では、画像が有する複雑度や水平エッジ有無の特徴に応じた量子化パラメータを選択するので、複雑度の高い部分においても、エッジ部と非エッジ部とで量子化パラメータを切替えて量子化処理を実行することができる。これにより、エッジの画質劣化を抑えつつ符号化効率を高めることが可能となる。
【００５２】
［実施形態３］
次に、発明の第３の実施形態を説明する。上述の実施形態１では垂直エッジ検出、実施形態２では水平エッジ検出によってエッジ有無を判定して量子化パラメータを決定していたが、本実施形態では、水平エッジ検出と垂直エッジ検出の両方を用いてエッジ有無を判定して量子化パラメータを決定する方法について説明する。本実施形態に係る符号化装置の構成は、図１（Ａ）に示す符号化装置１００と同じであるため、構成に関する説明は省略する。
【００５３】
次に、図８に示すフローチャートに基づいて、本実施形態における量子化制御部１０６が行う量子化パラメータ決定手順について説明する。該フローチャートに対応する処理は、例えば、量子化制御部１０６として動作・機能する専用ロジック回路、または、量子化制御部１０６として動作・機能する１以上のプロセッサが対応するプログラム（ＲＯＭ等に格納）を実行すること、により実現できる。なお、本実施形態は、実施形態１及び実施形態２の処理を包含しており、実施形態１及び実施形態２と同様の処理に関しては詳細な説明を省略する。
【００５４】
まず、Ｓ８０１において、量子化制御部１０６は、メモリ１０５に格納されている各プレーンデータを周波数変換して得られた高周波成分係数（ＨＬ、ＬＨ、ＨＨ）を読み出して、画像の複雑度を算出する。当該処理は、実施形態１のＳ３０１、実施形態２のＳ６０１に相当する。続くＳ８０２では、量子化制御部１０６はＳ８０１で算出した複雑度に基づいて、各プレーンのサブバンド係数を複雑部と非複雑部に分類する。当該処理は、実施形態１のＳ３０２、実施形態２のＳ６０２に相当する。複雑部に分類される場合、処理はＳ８０３に進み、非複雑部に分類される場合、処理はＳ８０８に進む。
【００５５】
Ｓ８０３は、量子化制御部１０６はＳ８０２で複雑部に分類された高周波成分係数に対して垂直エッジ検出を行う。当該処理は実施形態１のＳ３０３に相当する。続くＳ８０４では、量子化制御部１０６はＳ８０２で複雑部に分類された高周波成分係数に対して水平エッジ検出を行う。当該処理は、実施形態２のＳ６０３に相当する。続くＳ８０５では、量子化制御部１０６はＳ８０３の垂直エッジ検出によるエッジ有無の判定結果と、Ｓ８０４の水平エッジ検出によるエッジ有無の判定結果に基づいて、処理対象のサブバンド係数をエッジ部と非エッジ部に分類する。ここでは、垂直エッジ、水平エッジの少なくともいずれかが有ると判定されたサブバンド係数はエッジ部として、処理はＳ８０６に進む。一方、垂直エッジ、水平エッジ、いずれも無いと判定された係数は、非エッジ部として処理はＳ８０７に進む。
【００５６】
Ｓ８０６、Ｓ８０７、Ｓ８０８では、Ｓ８０２における複雑部であるか否かの判定結果と、Ｓ８０５でのエッジ部であるか否かの判定結果に応じて、各サブバンド係数に対して割り当てる量子化パラメータを決定する。これらのステップにおける処理は、それぞれ実施形態１のＳ３０５、Ｓ３０６、Ｓ３０７、実施形態２のＳ６０５、Ｓ６０６、Ｓ６０７に対応する。本実施形態でも、各サブバンド係数に対して割り当てる候補となる量子化パラメータを量子化マトリクスとして予め用意しておき、判定結果に従っていずれか１つの量子化パラメータを選択することができる。
【００５７】
Ｓ８０６、Ｓ８０７、Ｓ８０８では、それぞれ処理対象のサブバンド係数が属する分類と、サブバンド係数の種類に応じて、量子化マトリクス５００に登録されているいずれかの量子化パラメータが選択される。Ｓ８０６では、量子化制御部１０６は、サブバンド係数に対する量子化パラメータを、上述したエッジ部の量子化パラメータＢ０からＢ３のいずれかに決定する。Ｓ８０７では、量子化制御部１０６はサブバンド係数に対する量子化パラメータを、上述した非エッジ部用の量子化パラメータＣ０からＣ３のいずれかに決定する。Ｓ８０８は、量子化制御部１０６はサブバンド係数に対する量子化パラメータを、上述した非複雑部用の量子化パラメータＡ０からＡ３のいずれかに決定する。
【００５８】
なお、本実施形態でも実施形態１と同様に、符号量の収束性を考慮し、画像の特徴に応じた量子化パラメータの補正値をマトリクスとして予め保持しておき、符号量制御に基づく可変の量子化パラメータに対して補正を実行するような構成としてもよい。また、本実施形態においても実施形態１と同様に、量子化パラメータの調整を、所定サイズのブロック単位、或いは、高周波成分がより多く含まれると判定された領域について行ってもよい。  
【００５９】
以上のように、本実施形態では、画像が有する複雑度、エッジ有無の特徴に応じた量子化パラメータを選択するので、複雑度の高い部分においても、エッジ部と非エッジ部とで量子化パラメータを切替えて量子化処理を実行することができる。特に、本実施形態では垂直エッジ検出と水平エッジ検出の両方を用いてエッジ有無の判定を行うことで、より高い精度でエッジと非エッジを分類することが可能となり、画質劣化の目立ちやすいエッジの画質を保護することができる。これにより、エッジの画質劣化を更に抑えつつ符号化効率を高めることが可能となる。
【００６０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６１】
１００：符号化装置、１０１：制御部、１０２：撮像部、１０３：プレーン変換部、１０４：周波数変換部、１０５：メモリ、１０６：量子化制御部、１０７：量子化部、１０８：エントロピー符号化部、１０９：記録媒体
【図１】
2019029802.tif 000003
【図２】
2019029802.tif 000004
【図３】
2019029802.tif 000005
【図４】
2019029802.tif 000006
【図５】
2019029802.tif 000007
【図６】
2019029802.tif 000008
【図７】
2019029802.tif 000009
【図８】
2019029802.tif 000010