(57)【要約】【課題】  量子化を利用する符号化方式で、効率的な符号量割り当てを実現する。【解決手段】  ＤＣＴ部（１０５）は、入力画像又は予測画像との差分画像を離散コサイン変換する。量子化部（１０６）は、量子化制御部（１１５）により設定される量子化ステップに従い、ＤＣＴ部（１０５）からのＤＣＴ変換係数を量子化する。量子化制御部（１１５）には、レート制御部（１１４）からバッファメモリ（１１３）の占有量に関する情報が入力され、符号化制御部（１１７）から量子化制御のための情報が入力される。量子化制御部（１１５）は、これらの情報に基づき、目標データレートになるように各フレームの目標符号量を割り当てるとともに、量子化ブロックのサイズに応じた量子化ステップ下限値を設定し、設定された量子化ステップ下限値を下回らないように量子化ブロックごとの量子化ステップを設定する。【選択図】  図１
2014003587.tif 000002
【特許請求の範囲】
【請求項１】
符号化されるブロックのサイズを複数のサイズの中から選択可能な符号化方式に対応する画像符号化装置であって、
符号化対象の画像において、前記ブロックごとに量子化ステップサイズを割り当てて量子化を行う量子化手段と、
前記量子化手段によって量子化された前記ブロックに係る画像データを符号化する符号化手段と、
前記ブロックのサイズに応じた量子化ステップの下限値を設定し、前記符号化対象の画像の各ブロックに対して適用する下限値設定手段と、
前記ブロックの各々において、前記量子化ステップの下限値を下回らないように前記量子化ステップサイズを決定する量子化ステップ決定手段
とを具備することを特徴とする画像符号化装置。
【請求項２】
前記下限値設定手段は、前記量子化ステップの下限値を、量子化されるブロックのサイズと、目標データレートとに基づいて設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記量子化ステップ決定手段は、前記量子化ステップの下限値を設定したことによって生じさせた符号量を、前記量子化ステップの下限値を超えているブロックに割り当てるよう量子化ステップサイズを調整することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
前記量子化されるブロックに対応する画像の特徴を抽出する特徴抽出手段をさらに具備し、
前記下限値設定手段は、前記量子化ステップの下限値を、量子化されるブロックのサイズと、画像の特徴とに基づいて設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項５】
前記下限値設定手段は、前記量子化ステップの下限値を、量子化されるブロックのサイズと、主要被写体領域の情報に基づいて設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項６】
前記下限値設定手段は、量子化されるブロックのサイズが大きくなるほど、量子化ステップの下限値が小さい値になるように設定することを特徴とする請求項１乃至５の何れか１項に記載の画像符号化装置。
【請求項７】
前記下限値設定手段は、量子化されるブロックのサイズが大きくなるほど、量子化ステップの下限値が大きい値になるように設定することを特徴とする請求項１乃至５の何れか１項に記載の画像符号化装置。
【請求項８】
前記下限値設定手段は、複数の下限値設定モードを有することを特徴とする請求項１に記載の画像符号化装置。
【請求項９】
前記下限値設定手段は、量子化の対象となるブロックが主要被写体領域内に有るか無いかに応じて、前記複数の下限値設定モードを使い分けることを特徴とする請求項８に記載の画像符号化装置。
【請求項１０】
前記下限値設定手段は、量子化の対象となるブロックが主要被写体領域内に有る場合と、無い場合とで、同じブロックサイズであっても設定される下限値の値を異ならせることを特徴とする請求項１に記載の画像符号化装置。
【請求項１１】
符号化されるブロックのサイズを複数のサイズの中から選択可能な符号化方式に対応する画像符号化方法であって、
符号化対象の画像において、前記ブロックごとに量子化ステップサイズを割り当てて量子化を行う量子化工程と、
前記量子化工程で量子化された前記ブロックに係る画像データを符号化する符号化工程と、
前記ブロックのサイズに応じた量子化ステップの下限値を設定し、前記符号化対象の画像の各ブロックに対して適用する下限値設定工程と、
前記ブロックの各々において、前記量子化ステップの下限値を下回らないように前記量子化ステップサイズを決定する量子化ステップ決定工程
とを具備することを特徴とする画像符号化方法。
【請求項１２】
前記下限値設定工程は、前記量子化ステップの下限値を、量子化されるブロックのサイズと、目標データレートとに基づいて設定することを特徴とする請求項１１に記載の画像符号化方法。
【請求項１３】
前記量子化ステップ決定工程は、前記量子化ステップの下限値を設定したことによって生じさせた符号量を、前記量子化ステップの下限値を超えているブロックに割り当てるよう量子化ステップサイズを調整することを特徴とする請求項１１又は１２に記載の画像符号化方法。
【請求項１４】
前記量子化されるブロックに対応する画像の特徴を抽出する特徴抽出工程をさらに具備し、
前記下限値設定工程は、前記量子化ステップの下限値を、量子化されるブロックのサイズと、画像の特徴とに基づいて設定することを特徴とする請求項１１に記載の画像符号化方法。
【請求項１５】
前記下限値設定工程は、前記量子化ステップの下限値を、量子化されるブロックのサイズと、主要被写体領域の情報に基づいて設定することを特徴とする請求項１１に記載の画像符号化方法。
【請求項１６】
前記下限値設定工程は、量子化されるブロックのサイズが大きくなるほど、量子化ステップの下限値が小さい値になるように設定することを特徴とする請求項１１乃至１５の何れか１項に記載の画像符号化方法。
【請求項１７】
前記下限値設定工程は、量子化されるブロックのサイズが大きくなるほど、量子化ステップの下限値が大きい値になるように設定することを特徴とする請求項１１乃至１５の何れか１項に記載の画像符号化方法。
【請求項１８】
前記下限値設定工程は、複数の下限値設定モードを有することを特徴とする請求項１１に記載の画像符号化方法。
【請求項１９】
前記下限値設定工程は、量子化の対象となるブロックが主要被写体領域内に有るか無いかに応じて、前記複数の下限値設定モードを使い分けることを特徴とする請求項１８に記載の画像符号化方法。
【請求項２０】
前記下限値設定工程は、量子化の対象となるブロックが主要被写体領域内に有る場合と、無い場合とで、同じブロックサイズであっても設定される下限値の値を異ならせることを特徴とする請求項１１に記載の画像符号化方法。
【請求項２１】
コンピュータに、請求項１１に記載の画像符号化方法の各工程を実行させるためのプログラム。
【請求項２２】
コンピュータに、請求項１１に記載の画像符号化方法の各工程を実行させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を圧縮符号化する画像符号化装置及びその方法に関する。
【背景技術】
【０００２】
近年、デジタルビデオカメラやハードディスクレコーダーなど、動画像を記録できるデジタル機器が普及している。これらのデジタル機器では、情報量の多い動画像を容量に制限のあるフラッシュメモリやハードディスクといった記録メディアに効率的に記録するため、動画像データの圧縮符号化を行っている。代表的な動画像の圧縮符号化方式にＭＰＥＧ２やＨ．２６４が挙げられる。これら動画像の圧縮符号化方式では、多くの映像信号が有する自己相関性の高さ（すなわち、冗長性）を利用して情報量（データ量）を圧縮する。映像信号が有する冗長性には、時間冗長性と二次元（画面内）の空間冗長性がある。時間冗長性は、ブロック単位の動き検出及び動き補償を用いて低減できる。一方、空間冗長性は、離散コサイン変換（ＤＣＴ）や量子化を用いて低減出来る。動画像の圧縮符号化では更に、エントロピー符号化を用いてデータ量を圧縮する。
【０００３】
これらの動画像の圧縮符号化方式では、先に述べた通り、ＤＣＴ後のＤＣＴ係数データを量子化するが、量子化を行うための量子化ステップサイズは、１６画素×１６画素のマクロブロックに対して１つ与えるのみである。特許文献１には、動きの少ない／大きい画像など種々の動画像に対して、効率的に符号量を割り当てるために、与える量子化ステップの下限値をフレーム毎に決めることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１０２００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、動画像圧縮符号化の分野では、量子化を行うブロックの単位を可変にすることにより、更なる符号化効率の向上を目指した技術提案がなされている。特許文献１に記載の技術は、量子化ステップサイズの割当て対象であるマクロブロック（量子化を行うブロック）が固定のサイズであることを前提としており、そのままでは量子化を行うブロックの単位が可変である動画像の圧縮符号化方法に適用できない。
【０００６】
本発明は上記問題点に鑑み、量子化ステップサイズの割当て対象であるブロックの単位が可変である動画像圧縮符号化方法に適用可能とし、量子化ステップ下限値を設定可能にした画像符号化装置及びその方法を提示することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る画像符号化装置は、符号化されるブロックのサイズを複数のサイズの中から選択可能な符号化方式に対応する画像符号化装置であって、符号化対象の画像において、前記ブロックごとに量子化ステップサイズを割り当てて量子化を行う量子化手段と、前記量子化手段によって量子化された前記ブロックに係る画像データを符号化する符号化手段と、前記ブロックのサイズに応じた量子化ステップの下限値を設定し、前記符号化対象の画像の各ブロックに対して適用する下限値設定手段と、前記ブロックの各々において、前記量子化ステップの下限値を下回らないように前記量子化ステップサイズを決定する量子化ステップ決定手段とを具備することを特徴とする。
【０００８】
また、本発明に係る画像符号化方法は、符号化されるブロックのサイズを複数のサイズの中から選択可能な符号化方式に対応する画像符号化方法であって、符号化対象の画像において、前記ブロックごとに量子化ステップサイズを割り当てて量子化を行う量子化工程と、前記量子化工程で量子化された前記ブロックに係る画像データを符号化する符号化工程と、前記ブロックのサイズに応じた量子化ステップの下限値を設定し、前記符号化対象の画像の各ブロックに対して適用する下限値設定工程と、前記ブロックの各々において、前記量子化ステップの下限値を下回らないように前記量子化ステップサイズを決定する量子化ステップ決定工程とを具備することを特徴とする
【発明の効果】
【０００９】
本発明によれば、量子化されるブロックのサイズに応じて量子化ステップ下限値を設定するので、効率的かつ高画質な符号化が可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施例の概略構成ブロック図である。
【図２】第１実施例に係るブロックサイズに応じた量子化ステップ下限値の説明図である。
【図３】量子化ステップサイズの分布例である。
【図４】第２実施例に係るブロックサイズに応じた量子化ステップ下限値の説明図である。
【図５】本発明の第２実施例の概略構成ブロック図である。
【図６】本発明の第１実施例をあるシーンに適用した説明例である。
【図７】本発明の第１実施例に係るフローチャートである。
【図８】本発明の第２実施例をあるシーンに適用した説明例である。
【図９】本発明の第２実施例に係るフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明に係る画像符号化装置の一実施例の概略構成ブロック図を示す。図１に示す実施例において、入力信号は、撮像素子からの画像信号である。カメラ信号処理部１００は、入力信号をマトリクス処理することによって輝度信号と色差信号を生成し、ガンマ処理及びＡ／Ｄ変換などの処理を行う。カメラ信号処理部１００は、処理後の信号と処理の際に用いた情報を画像符号化装置１０１に出力する。
【００１３】
符号化制御部１１７及び量子化制御部１１５は、ＣＰＵ等の演算部を有し、符号化制御部１１７は、量子化制御部１１５を含む画像符号化装置１０１の各動作を制御するための制御信号を発する。量子化制御部１１５は、符号化制御部１１７からの制御信号等に基づいて量子化処理を制御する。フレーム並び替え部１０２は、画像符号化装置１０１に入力される入力画像信号を符号化されるフレーム順序に応じた順番に並べ替え、スイッチ１０３、減算器１０４、動き補償予測部１１１及び特徴抽出部１１６に出力する。
【００１４】
画像符号化装置１０１は、入力画像信号の各フレーム（ピクチャ）を、画面内符号化（Ｉピクチャ）及び画面間予測符号化（Ｐピクチャ／Ｂピクチャ）を用いて、所定の符号化順序で符号化する。符号化順序は、Ｈ．２６５等、符号化ブロックのサイズが可変の符号化方式に従う。入力画像信号は、可変のブロックサイズにてブロック化され、量子化され、符号化される。符号化制御部１１７は、Ｉピクチャとして符号化されるフレームの画像信号に対してスイッチ１０３を端子Ａに接続し、Ｐ／Ｂピクチャとして符号化されるフレームの画像信号に対してスイッチ１０３を端子Ｂに接続する。スイッチ１０３が端子Ａに接続するとき、フレーム並び替え部１０２から出力される画像信号がそのまま離散コサイン変換（ＤＣＴ）部１０５に入力する。
【００１５】
減算器１０４は、フレーム並べ替え部１０２からのＰ／Ｂピクチャの画像信号と、動き補償予測部１１１から出力される予測画像信号の差分を算出する。減算器１０４の出力する残差信号は、スイッチ１０３を介してＤＣＴ部１０５に供給される。入力画像信号から予測画像信号を減算することにより、時間軸方向の冗長度が削減される。
【００１６】
ＤＣＴ部１０５は、スイッチ１０３からの画像信号（Ｐ／Ｂピクチャの場合には残差信号）に離散コサイン変換処理を施し、得られるＤＣＴ係数を量子化部１０６に出力する。量子化部１０６は、量子化制御部１１５から指示された、量子化対象のブロック（量子化ブロック）に対する量子化ステップサイズに従い、ＤＣＴ部１０５からのＤＣＴ係数を量子化し、量子化されたＤＣＴ係数をエントロピー符号化部１１２に出力する。
【００１７】
量子化部１０６により得られる量子化されたＤＣＴ係数は、局所復号化のための逆量子化部１０７にも供給される。逆量子化部１０７は、量子化部１０６からの量子化されたＤＣＴ係数を逆量子化し、ＤＣＴ係数代表値を逆離散コサイン変換（ＩＤＣＴ）部１０８に出力する。ＩＤＣＴ部１０８は、逆量子化部１０７からのＤＣＴ係数代表値に逆ＤＣＴ処理を施し、得られる局所復号化画像信号を加算器１０９に出力する。
【００１８】
符号化制御部１１７は、ＩＤＣＴ部１０８がＩピクチャの局所復号化画像信号を出力するときスイッチ１１０をオフに切り替え、ＩＤＣＴ部１０８がＰ／Ｂピクチャの局所復号化画像信号を出力するときスイッチ１１０をオンに切り替える。スイッチ１１０がオフのとき、加算器１０９は、ＩＤＣＴ部１０８の出力信号をそのまま動き補償予測部１１１に出力する。スイッチ１１０がオンのとき、加算器１０９は、動き補償予測部１１１からの予測画像信号をＩＤＣＴ部１０８からの局所復号化画像信号に加算し、加算結果を動き補償予測部１１１に出力する。
【００１９】
動き補償予測部１１１は、加算器１０９から出力されるＩピクチャ及びＰピクチャの局所復号化画像信号を内蔵メモリに記憶し、複数の画素からなるブロック単位に分割し、ブロックごとに読み出す。動き補償予測部１１１は、内蔵メモリから画像信号をフレーム並び替え部１０２からのＰ／Ｂピクチャの画像信号とブロック単位で比較し、差が最も少なくなる動きベクトルを検出し、予測画像信号を生成する。動き補償予測部１１１は、生成した予測画像信号を減算器１０４及びスイッチ１１０に供給し、検出した動きベクトルをエントロピー符号化部１１２に出力する。
【００２０】
エントロピー符号化部１１２は、量子化部１０６からの量子化ＤＣＴ係数（すなわち量子化された画像データ）をエントロピー符号化し、動き補償予測部１１１からの動きベクトルを多重して、バッファメモリ１１３に出力する。レート制御部１１４は、バッファメモリ１１３に記憶される符号化画像データの占有量を監視し、量子化制御部１１５に通知する。
【００２１】
量子化制御部１１５には、レート制御部１１４からバッファメモリ１１３における符号化画像データの占有量（発生符号量）に関する情報が入力される。また、量子化制御部１１５には、符号化制御部１１７から量子化の制御信号として、符号化されるフレームのピクチャタイプ情報及び目標データレートが入力される。ピクチャタイプ情報は、Ｉピクチャ／Ｐピクチャ／Ｂピクチャの何れかのピクチャを示す情報である。目標データレートは、発生する符号化画像データのデータレートの指標となる目標値である。さらに、符号化制御部１１７は、符号化対象のフレーム内の量子化ブロックのサイズを複数の値から選択可能であり、選択されたブロックのサイズをフレーム内の量子化ブロックの情報として、量子化制御部１１５に通知する。
【００２２】
量子化制御部１１５は、これらの情報に基づき、目標データレートに従って各フレームの目標符号量を割り当てる。さらに量子化制御部１１５は、フレーム内の各ブロックに対して、フレームの目標符号量と当該フレーム内の量子化ブロックの情報（サイズ、位置、個数など）とに応じて、各ブロックに割り当てられるべき符号量を決定づける量子化ステップサイズを決定する。このとき、量子化制御部１１５は、量子化を行うべき各量子化ブロックを量子化の単位にして、量子化ステップ下限値を設定して適用する。
【００２３】
図２は、量子化ステップ下限値を説明する模式図である。本実施例では、４画素×４画素、８画素×８画素、１６画素×１６画素のサイズのブロックを量子化ブロックの単位として選択できるものとする。なお、このサイズの選択範囲は、上記に限らず３２画素×３２画素、６４画素×６４画素など、その他のブロックサイズを含んでも良い。そして、図２では、量子化ブロック単位ごとに、さらに、そのピクチャタイプごとに、量子化ステップ下限値（ＭｉｎＱｓ）を設定する例を示している。ブロックのサイズが大きいと量子化によるブロックノイズ（画質劣化）が視覚的に目立つようになるので、いずれも、ブロックのサイズが大きくなるほど、量子化ステップ下限値が小さい値になるように（高画質になるように）している。
【００２４】
例えば、目標データレートが６Ｍｂｐｓの場合、量子化制御部１１５は、ピクチャタイプごと及び量子化ブロックのサイズごとに、図２に例示した値の量子化ステップ下限値を設定し、ブロックごとに平均的に符号量を割り当てて量子化ステップを算出する。即ち、ピクチャタイプ毎に、ブロックサイズと目標データレート（目標符号量）とに従って、量子化ステップ下限値が設定される。さらに、量子化制御部１１５は、設定された量子化ステップ下限値を下回らないように、量子化ブロックごとの量子化ステップを設定する。即ち、量子化制御部１１５は、量子化ステップ下限値を設定する量子化ステップ下限値設定手段としての機能と、量子化ステップ下限値を下回らないように量子化ステップサイズを設定する量子化ステップ決定手段としての機能を具備する。
【００２５】
また、量子化制御部１１５は、特徴抽出部１１６による量子化ブロックに対応する画像の特徴に従い量子化ステップサイズを調整する機能を有する。即ち、量子化制御部１１５は、特徴抽出部１１６により抽出された特徴に応じて、量子化ステップ下限値を下回らない範囲で量子化ブロックごとの量子化ステップサイズを調整する。量子化ステップ下限値を設定した結果、発生する符号量が目標符号量に届かないブロックが発生しうる。その場合、量子化制御部１１５は、余った符号量を、量子化ステップサイズが量子化ステップ下限値を大きく超えている他のブロックに割り当てるために、当該他のブロックの量子化ステップサイズを下限値に近づけるように調整する。量子化制御部１１５は、このように調整された各量子化ブロックに対する量子化ステップサイズを量子化部１０６に設定する。
【００２６】
図３は、フレーム内の、量子化ブロックごとの量子化ステップサイズの分布例を示す。図３（ａ）は、量子化ステップ下限値を設けない場合の量子化ステップサイズの分布の様子を示す。図３（ｂ）は、本実施例において量子化ステップ下限値を設けた場合の量子化ステップサイズの分布の様子を示す。
【００２７】
図３（ａ）では、フレーム内の上方で、ブロックのサイズに関わらず量子化ステップが６〜１３と比較的小さく、下方では１４〜１９と比較的大きく設定されている。これは、フレーム内の上方で量子化ステップサイズを小さくし過ぎたため、符号量が足りなくなり、フレーム内の下方で適切な値よりも量子化ステップサイズが大きくなってしまった現象である。
【００２８】
これに対し、図３（ｂ）では、フレーム内の上方で量子化ステップ下限値による制限がかかるので、ブロック毎の量子化ステップサイズがその下限値を下回ることがない。その結果、フレーム内の上方で発生符号量の浪費を抑え、適切な符号量の余りを発生させることができ、フレーム内の下方のブロックにその余った符号量を割り当てることが可能となる。従って、フレーム内の下方のブロックにおける量子化ステップが図３（ａ）に示す例に比べて小さくなる。そのうえ、ブロックサイズごとに量子化ステップ下限値を異ならせたことによって、ブロックサイズが大きい場合は劣化が目立つので、下限値を他よりも小さくすることで、視覚的劣化軽減との両立を維持できる。
【００２９】
図６は、本実施例を実際のシーンの符号化に適当したブロック分割例である。符号化制御部１１７は、図６のように、肌色や空など同一色で平坦な画像領域には１６画素×１６画素のブロックを、複雑な絵柄の画像領域には８画素×８画素、又は、４画素×４画素のブロックを割り当てている。従来技術では、フレーム内の上方の背景部分や髪の毛の部分に符号量を浪費してしまい、フレーム内の下方の顔の部分で画質が低下する懸念があった。それに対し、本実施例によれば、図６のように、例えば顔のアップのときなどに、フレーム内の下方にある肌色のブロックにも適切な符号量が行き渡る。すなわち、フレーム内の下方に、特にサイズの大きいブロックが多発するようなシーンであっても、符号化による劣化を軽減することができる。
【００３０】
図７は、本実施例で量子化制御部１１５が実行する制御処理の一例を説明するフローチャートである。このフローチャートは、量子化制御部１１５が有するＲＯＭに格納されているプログラムをＲＡＭに展開し、ＣＰＵが実行することにより実現される。
【００３１】
量子化制御部１１５は、目標データレートの情報を取得し（ステップＳ７０１）、符号化対象の画像のピクチャタイプの情報を取得する（ステップＳ７０２）。量子化制御部１１５は、ピクチャタイプ毎に、目標データレートに基づいてブロックサイズごとの量子化ステップ下限値Ａ，Ｂ，Ｃを設定する（ステップＳ７０３）。４画素×４画素の量子化ステップ下限値をＡ、８画素×８画素の量子化ステップ下限値をＢ、１６画素×１６画素の量子化ステップ下限値をＣとした場合、本実施例では、Ａ＞Ｂ＞Ｃを満たす値に設定する。ここで設定される量子化ステップ下限値は、図２に例示した値のようになる。
【００３２】
量子化制御部１１５は、対象となる量子化ブロックのサイズが４画素×４画素の場合（ステップＳ７０４）、量子化ステップ下限値Ａを適用する（ステップＳ７０５）。そして、下限値Ａを下回らない範囲で量子化ステップサイズを調整し、その値を決定する（ステップＳ７０６）。
【００３３】
量子化制御部１１５は、対象となる量子化ブロックのサイズが８画素×８画素の場合（ステップＳ７０７）、量子化ステップ下限値Ｂを適用する（ステップＳ７０８）。そして、下限値Ｂを下回らない範囲で量子化ステップサイズを調整し、その値を決定する（ステップＳ７０９）。
【００３４】
量子化制御部１１５は、対象となる量子化ブロックのサイズが４画素×４画素又は８画素×８画素でない場合、量子化ブロックのサイズは１６画素×１６画素として（ステップＳ７１０）、そのブロックに量子化ステップ下限値Ｃを適用する（ステップＳ７１１）。さらに、量子化制御部１１５は、下限値Ｃを下回らない範囲で量子化ステップサイズを調整し、その値を決定する（ステップＳ７１２）。Ｓ７０６、Ｓ７０９、Ｓ７１２のいずれかにより量子化ステップサイズが決定されると、量子化制御部１１５は、符号化対象のフレームの最終ブロックであるかどうかを判断する（ステップＳ７１３）。最終ブロックでなければ次の量子化ブロックに対してＳ７０４からフローを繰り返す。Ｓ７１３で最終ブロックであればフローは終了となり、次のフレームを量子化するまで待機する。
【００３５】
以上、説明したように、本実施例では、量子化ブロックごとにブロックサイズに依存して量子化ステップ下限値を設定する。これにより、量子化ステップを小さくしても視覚的な効果が期待できないブロックに対して無駄に符号量を割り当てることを避けることができる。なおかつ、フレーム全体、特にフレーム内の下方のブロックにおいて、画質の向上が期待できる。
【実施例２】
【００３６】
上記実施例では、符号化制御部１１７による指示に応じて、ブロックサイズと目標データレートに基づいて量子化ステップ下限値を設定した。一方、本実施例では、量子化制御部１１５が、ブロックサイズと、入力画像中の主要被写体かどうかの情報と、符号化難易度とに応じて量子化ステップ下限値を設定する。図５は、本発明の第２実施例の概略構成ブロック図を示す。画像符号化装置５０１は特徴抽出部５０２を備え、特徴抽出部５０２は、各ブロックの画像の特徴情報として、ブロックごとの符号化難易度である分散値を演算によって検出する機能を有する。さらに、特徴抽出部５０２は、距離検出や顔検出の技術を用いて、符号化対象画像（フレーム）中の主要被写体領域のブロックを検出する機能を有する。そして、特徴抽出部５０２は、符号化対象フレーム中の、符号化難易度に関する情報と、主要被写体領域に関する情報とを含む特徴情報を符号化制御部１１７及び量子化制御部１１５に出力する。なお、画像符号化装置５０１におけるその他のブロックは、図１で説明した同じ符号を有するブロックと同様の機能を有するので、ここでの詳細な説明は省略する。
【００３７】
被写体の絵柄が複雑でごちゃごちゃした画像（すなわち、高周波成分の多い画像）の場合、分散値が高くなり、視覚的に劣化が目立ち難い。この場合、量子化ブロックが小さいほど、ＤＣＴ係数以外のオーバーヘッドが増えてしまう。そこで、本実施例の量子化制御部１１５は、図４（ａ）に示すように、複雑な画像ならば、量子化ブロックのサイズが小さくなるに従って量子化ステップ下限値が大きくなるように設定するモードを有する。
【００３８】
他方、分散値が高いブロックであっても、それが主要被写体に含まれている場合には、ディテールにこだわった画質が要求されると考えられる。例えば、一面平坦な画像領域の中に存在する一部の複雑な模様の領域や、顔画像の中やその周辺に存在する複雑な画像領域（目、鼻、髪等）などが、それに該当する。このようなケースを想定して、本実施例では、量子化制御部１１５は、図４（ｂ）に示すように、量子化ブロックのサイズが小さくなるに従い、量子化ステップ下限値が小さくなるように設定するモードも有する。本実施例の画像符号化装置は、このような符号化対象の画像の特徴に応じて、量子化ステップの下限値設定モードを異ならせる。
【００３９】
図８は、本実施例を実際のシーンの符号化に適当したブロック分割例である。符号化制御部１１７は、図８のように、画像の特徴に応じて、肌色の平坦で一様な画像領域には１６画素×１６画素のブロックを、複雑な絵柄の画像領域には８画素×８画素、又は、４画素×４画素のブロックを割り当てる。さらに、本実施例では、符号化制御部１１７が、各ブロックが、主要被写体領域に含まれるブロックか、主要被写体領域に含まれないブロック（すなわち、背景部分）かを分類する。図８の例では、クロスハッチングを付加した部分が主要被写体領域と判定されたブロックを示している。そして、主要被写体領域と判定された各ブロックには、量子化制御部１１５が、量子化ブロックのサイズが小さくなるに従い、量子化ステップ下限値が小さくなるモードを適用する。他方、主要被写体領域と判定されなかった各ブロックには、量子化制御部１１５が、量子化ブロックのサイズが小さくなるに従い、量子化ステップ下限値が大きくなるモードを適用する。
【００４０】
本実施例によれば、図８のように、例えば顔のアップのときなどに、フレーム内の下方にある肌色のブロックにも適切な符号量が行き渡るだけでなく、顔等の主要被写体内のディテールも高画質に量子化及び符号化できる。
【００４１】
図９は本実施例の量子化制御部１１５が実行する制御処理の一例を説明するフローチャートである。このフローチャートは、量子化制御部１１５が有するＲＯＭに格納されているプログラムをＲＡＭに展開し、ＣＰＵが実行することにより実現される。
【００４２】
量子化制御部１１５は、目標データレートの情報を取得し（ステップＳ９０１）、主要被写体領域に関する情報を取得する（ステップＳ９０２）。量子化制御部１１５は、目標データレートに基づいてブロックサイズごとの量子化ステップ下限値Ａ，Ｂ，Ｃを設定する。ここで、量子化制御部１１５は、主要被写体領域外（背景部分）の量子化ブロックに適用するモード１と、主要被写体領域内（主被写体）の量子化ブロックに適用するモード２を設定する（ステップＳ９０３）。モード１では、４画素×４画素の量子化ステップ下限値をＡ、８画素×８画素の量子化ステップ下限値をＢ、１６画素×１６画素の量子化ステップ下限値をＣとした場合、Ａ＞Ｂ＞Ｃを満たす値に設定される。モード１で設定される量子化ステップ下限値は、図４（ａ）に例示した値のようになる。モード２では、４画素×４画素の量子化ステップ下限値をＡ、８画素×８画素の量子化ステップ下限値をＢ、１６画素×１６画素の量子化ステップ下限値をＣとした場合、Ａ＜Ｂ＜Ｃを満たす値に設定される。モード２で設定される量子化ステップ下限値は、図４（ｂ）に例示した値のようになる。このように、本実施例では、複数のモードが適用される。
【００４３】
量子化制御部１１５は、対象となる量子化ブロックが主要被写体領域内に存在するか否かを判断する（ステップＳ９０４）。主要被写体領域内になければ、量子化制御部１１５はモード１を適用し（ステップＳ９０５）、主要被写体領域内にあれば、量子化制御部１１５はモード２を適用する（ステップＳ９０６）。
【００４４】
対象となる量子化ブロックに適用されるモードが決定された以降、ブロックサイズに応じて下限値Ａ，Ｂ，Ｃを適用するフローは、第１実施例の図７を用いて説明した内容（ステップＳ７０４乃至ステップＳ７１３）と同様となるので、説明は省略する。なお、本実施例のステップＳ７０５、Ｓ７０８、Ｓ７１１で適用される各下限値は、ステップＳ９０５又はＳ９０６で決定されたモード１又はモード２のいずれかが適用される。
【００４５】
本実施例では、ブロックのサイズと画像の特徴から量子化ステップ下限値を設定し、特に複数の下限値設定モードを有することで、量子化ステップを小さくしても視覚的な効果が期待できないブロックに対する無駄な符号量割当てを減らすことができる。さらに、それにより余った符号量を、顔等の主要被写体や、更にその中のディテールのブロックに好適に振り分けられるので、効率的な符号化により高画質な画像を提供できる。
【００４６】
なお、上記の説明では、特徴抽出部５０２が出力するブロックごとの分散値を用いて符号化難易度を推定したが、動き補償予測部１１１が発生する動き探索の予測誤差（差分情報）を用いてもよい。
【００４７】
また、特徴抽出部５０２が検出する分散値をブロックごととしたが、フレームとしての総和を用いてもよい。
【００４８】
また、上述した各実施例では、４画素×４画素、８画素×８画素及び１６画素×１６画素の各量子化ブロックの量子化ステップ下限値をＡ，Ｂ，Ｃとするとき、Ａ＜Ｂ＜Ｃ又はＡ＞Ｂ＞Ｃとしたが、Ａ≦Ｂ≦Ｃ又はＡ≧Ｂ≧Ｃと設定してもよい（Ａ＝Ｂ＝Ｃは除く）。
【００４９】
本発明は、本発明の技術思想の範囲内において、上記実施例に限定されるものではなく、対象となる回路形態により適時変更されて適応するべきものである。
【００５０】
（その他の実施形態）
【００５１】
さらに、上述した本発明の実施形態における図７、図９に示した各処理は、各処理の機能を実現する為のコンピュータプログラムを本件発明の画像符号化装置が動作するシステムのメモリから読み出してシステムのＣＰＵが実行することによっても実現できる。この場合、メモリに記憶されたプログラムは本件発明を構成する。
【００５２】
上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５３】
また、図７、図９に示した各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。また、図７、図９に示した各処理の機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００５４】
ここで、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置を含む。さらに、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００５６】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
【００５７】
以上、本発明を好ましい実施例により説明したが、本発明は上述した実施例に限ることなくクレームに示した範囲で種々の変更が可能である。
【図１】
2014003587.tif 000003
【図２】
2014003587.tif 000004
【図３】
2014003587.tif 000005
【図４】
2014003587.tif 000006
【図５】
2014003587.tif 000007
【図６】
2014003587.tif 000008
【図７】
2014003587.tif 000009
【図８】
2014003587.tif 000010
【図９】
2014003587.tif 000011