(57)【特許請求の範囲】
【請求項１】
画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダと、
前記量子化処理における量子化パラメータを制御する制御部と、
を備え、
前記制御部は、
直前の第１の所定数のマクロブロックに関して使用した発生符号量を求める第１の処理部と、
１フレーム内に含まれるマクロブロックの総数未満の第２の所定数以下のマクロブロックあたりの目標符号量と、前記第１の処理部によって求められた前記発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第３の所定数のマクロブロックに関して使用可能な許容符号量を求める第２の処理部と、
前記第３の所定数のマクロブロックに関して使用が予想される予想符号量を求める第３の処理部と、
前記第２の処理部によって求められた前記許容符号量と、前記第３の処理部によって求められた前記予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する第４の処理部と、
を有し、
前記第３の処理部は、前記第３の所定数のマクロブロックの各々に関する、少なくとも画像の複雑さに応じて定まる属性値に基づいて、前記予想符号量を求め、
量子化パラメータが基準値に設定された場合の基準符号量が、複数の属性値の各々に対応して予め設定されており、
前記複数の属性値の各々に対応して量子化パラメータがそれぞれ設定された複数のパラメータセットが予め設定されており、
前記第３の処理部は、前記基準符号量に基づいて、前記複数のパラメータセットの各々に関する前記予想符号量をそれぞれ算出し、
前記基準符号量は、現在処理しているフレームより前の対象フレーム内における発生符号量が、第１の閾値未満である場合には、第１の値に設定され、前記第１の閾値以上である場合には、前記第１の値より大きい第２の値に設定される、画像処理装置。
【請求項２】
前記基準符号量は、前記対象フレーム内における発生符号量が、前記第１の閾値より大きい第２の閾値未満である場合には、前記第２の値に設定され、前記第２の閾値以上である場合には、前記第２の値より大きい第３の値に設定される、請求項１に記載の画像処理装置。
【請求項３】
前記対象フレームは、現在処理しているフレームの直前の第１フレーム、及び当該第１フレームの直前の第２フレームのうち、発生符号量が大きいフレームである、請求項１又は２に記載の画像処理装置。
【請求項４】
画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダと、
前記量子化処理における量子化パラメータを制御する制御部と、
前記エンコーダに入力される前記画像信号を生成する画像生成部と、
を備え、
前記制御部は、
直前の第１の所定数のマクロブロックに関して使用した発生符号量を求める第１の処理部と、
１フレーム内に含まれるマクロブロックの総数未満の第２の所定数以下のマクロブロックあたりの目標符号量と、前記第１の処理部によって求められた前記発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第３の所定数のマクロブロックに関して使用可能な許容符号量を求める第２の処理部と、
前記第３の所定数のマクロブロックに関して使用が予想される予想符号量を求める第３の処理部と、
前記第２の処理部によって求められた前記許容符号量と、前記第３の処理部によって求められた前記予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する第４の処理部と、
を有し、
前記第３の処理部は、前記第３の所定数のマクロブロックの各々に関する、少なくとも画像の複雑さに応じて定まる属性値に基づいて、前記予想符号量を求め、
量子化パラメータが基準値に設定された場合の基準符号量が、複数の属性値の各々に対応して予め設定されており、
前記複数の属性値の各々に対応して量子化パラメータがそれぞれ設定された複数のパラメータセットが予め設定されており、
前記第３の処理部は、前記基準符号量に基づいて、前記複数のパラメータセットの各々に関する前記予想符号量をそれぞれ算出し、
前記制御部は、処理する画像がフレーム間の動きが小さい画像であることを示す情報が前記画像生成部から入力された場合には、前記基準符号量を第１の値に設定し、処理する画像がフレーム間の動きが大きい画像であることを示す情報が前記画像生成部から入力された場合には、前記基準符号量を前記第１の値より大きい第２の値に設定する、画像処理装置。
【請求項５】
前記第３の処理部は、前記基準値とは異なる量子化パラメータが設定された場合に実際に発生した符号量に基づいて、量子化パラメータが前記基準値に設定された場合の実際の発生符号量を算出し、前記基準符号量の設定値を、初期値から当該実際の発生符号量の値に更新する、請求項１〜４のいずれか一つに記載の画像処理装置。
【請求項６】
前記第３の処理部は、前記基準値の量子化パラメータを用いて符号化処理を行い、前記基準符号量の設定値を、当該符号化処理によって実際に発生した符号量の値に更新する、請求項１〜４のいずれか一つに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、画像圧縮における符号量制御アルゴリズムに関する。
【背景技術】
【０００２】
下記特許文献１には、背景技術に係る画像処理装置が開示されている。当該画像処理装置では、直前に処理したＹ個（例えば１１２０個）のマクロブロックに関する発生符号量と、１フレーム未満のＸ個（例えば１２００個）のマクロブロックあたりの目標符号量とに基づいて、直後に処理するＮ個（例えば８０個）のマクロブロックに関して使用可能な許容符号量が求められる。また、直後に処理するＮ個のマクロブロックに関して使用が予想される予想符号量が求められる。そして、許容符号量と予想符号量とに基づいて、処理対象のマクロブロックに関する量子化パラメータが設定される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２１７１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１に開示された画像処理装置によると、予め準備されたパラメータセットの設定値の都合により、量子化パラメータを「２０」以上にしか設定できないため、特に静止画を表示する場合に画質が十分でない状況が生じ得る。
【０００５】
本発明はかかる問題を解決するために成されたものであり、動画の画質劣化を回避しつつ、静止画を高画質で表示することが可能な画像処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る画像処理装置は、画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダと、前記量子化処理における量子化パラメータを制御する制御部と、を備え、前記制御部は、直前の第１の所定数のマクロブロックに関して使用した発生符号量を求める第１の処理部と、１フレーム内に含まれるマクロブロックの総数未満の第２の所定数以下のマクロブロックあたりの目標符号量と、前記第１の処理部によって求められた前記発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第３の所定数のマクロブロックに関して使用可能な許容符号量を求める第２の処理部と、前記第３の所定数のマクロブロックに関して使用が予想される予想符号量を求める第３の処理部と、前記第２の処理部によって求められた前記許容符号量と、前記第３の処理部によって求められた前記予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する第４の処理部と、を有し、前記第３の処理部は、前記第３の所定数のマクロブロックの各々に関する、少なくとも画像の複雑さに応じて定まる属性値に基づいて、前記予想符号量を求め、量子化パラメータが基準値に設定された場合の基準符号量が、複数の属性値の各々に対応して予め設定されており、前記複数の属性値の各々に対応して量子化パラメータがそれぞれ設定された複数のパラメータセットが予め設定されており、前記第３の処理部は、前記基準符号量に基づいて、前記複数のパラメータセットの各々に関する前記予想符号量をそれぞれ算出し、前記基準符号量は、現在処理しているフレームより前の対象フレーム内における発生符号量が、第１の閾値未満である場合には、第１の値に設定され、前記第１の閾値以上である場合には、前記第１の値より大きい第２の値に設定されることを特徴とするものである。
【０００７】
第１の態様に係る画像処理装置によれば、第３の処理部は、基準符号量に基づいて、複数のパラメータセットの各々に関する予想符号量をそれぞれ算出し、基準符号量は、処理する画像が静止画である場合（現在処理しているフレームより前の対象フレーム内における発生符号量が第１の閾値未満である場合）と動画である場合（現在処理しているフレームより前の対象フレーム内における発生符号量が第１の閾値以上である場合）とで異なる値に設定される。従って、処理する画像が静止画である場合には、基準符号量を小さく設定することにより、値の小さい量子化パラメータを含むパラメータセットを選択することができ、その結果、静止画の画質を向上することが可能となる。また、処理する画像が動画である場合には、基準符号量を大きく設定することにより、値の大きい量子化パラメータを含むパラメータセットを選択することができ、その結果、発生符号量が予想符号量を大幅に超える事態を回避することが可能となる。従って、動画の画質劣化を回避しつつ、静止画を高画質で表示することが可能となる。
【０００９】
また、第１の態様に係る画像処理装置によれば、基準符号量は、現在処理しているフレームより前の対象フレーム内における発生符号量が、第１の閾値未満である場合には、静止画用の第１の値に設定され、第１の閾値以上である場合には、第１の値より大きい動画用の第２の値に設定される。従って、対象フレームの発生符号量を第１の閾値と比較するという簡易な処理によって、基準符号量を静止画又は動画に応じた最適値に設定することが可能となる。
【００１０】
本発明の第２の態様に係る画像処理装置は、第１の態様に係る画像処理装置において特に、前記基準符号量は、前記対象フレーム内における発生符号量が、前記第１の閾値より大きい第２の閾値未満である場合には、前記第２の値に設定され、前記第２の閾値以上である場合には、前記第２の値より大きい第３の値に設定されることを特徴とするものである。
【００１１】
第２の態様に係る画像処理装置によれば、基準符号量は、対象フレーム内における発生符号量が、第１の閾値より大きい第２の閾値未満である場合には、第２の値に設定され、第２の閾値以上である場合には、第２の値より大きい動画用の第３の値に設定される。従って、動きの小さい動画（つまり発生符号量の少ない動画）を処理する場合には、基準符号量を第２の値に設定することにより、値の小さい量子化パラメータを含むパラメータセットを選択することができ、その結果、動画の画質を向上することが可能となる。また、動きの大きい動画（つまり発生符号量の多い動画）を処理する場合には、基準符号量を第３の値に設定することにより、値の大きい量子化パラメータを含むパラメータセットを選択することができ、その結果、発生符号量が予想符号量を大幅に超える事態を回避することが可能となる。しかも、対象フレームの発生符号量を第２の閾値と比較するという簡易な処理によって、基準符号量を動きの大小に応じた最適値に設定することが可能となる。
【００１２】
本発明の第３の態様に係る画像処理装置は、第１又は第２の態様に係る画像処理装置において特に、前記対象フレームは、現在処理しているフレームの直前の第１フレーム、及び当該第１フレームの直前の第２フレームのうち、発生符号量が大きいフレームであることを特徴とするものである。
【００１３】
第３の態様に係る画像処理装置によれば、対象フレームは、現在処理しているフレームの直前の第１フレーム、及び当該第１フレームの直前の第２フレームのうち、発生符号量が大きいフレームである。従って、例えばフレームレートが３０ｆｐｓの動画をフレームコピーによって６０ｆｐｓの動画として処理する場合であっても、第１フレーム及び第２フレームの一方の発生符号量は第１の閾値以上となるため、正確に動画と判別することができ、その結果、基準符号量を動画用の第２の値又は第３の値に適切に設定することが可能となる。
【００１４】
本発明の第４の態様に係る画像処理装置は、画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダと、前記量子化処理における量子化パラメータを制御する制御部と、前記エンコーダに入力される前記画像信号を生成する画像生成部と、を備え、前記制御部は、直前の第１の所定数のマクロブロックに関して使用した発生符号量を求める第１の処理部と、１フレーム内に含まれるマクロブロックの総数未満の第２の所定数以下のマクロブロックあたりの目標符号量と、前記第１の処理部によって求められた前記発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第３の所定数のマクロブロックに関して使用可能な許容符号量を求める第２の処理部と、前記第３の所定数のマクロブロックに関して使用が予想される予想符号量を求める第３の処理部と、前記第２の処理部によって求められた前記許容符号量と、前記第３の処理部によって求められた前記予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する第４の処理部と、を有し、前記第３の処理部は、前記第３の所定数のマクロブロックの各々に関する、少なくとも画像の複雑さに応じて定まる属性値に基づいて、前記予想符号量を求め、量子化パラメータが基準値に設定された場合の基準符号量が、複数の属性値の各々に対応して予め設定されており、前記複数の属性値の各々に対応して量子化パラメータがそれぞれ設定された複数のパラメータセットが予め設定されており、前記第３の処理部は、前記基準符号量に基づいて、前記複数のパラメータセットの各々に関する前記予想符号量をそれぞれ算出し、前記制御部は、処理する画像がフレーム間の動きが小さい画像であることを示す情報が前記画像生成部から入力された場合には、前記基準符号量を第１の値に設定し、処理する画像がフレーム間の動きが大きい画像であることを示す情報が前記画像生成部から入力された場合には、前記基準符号量を前記第１の値より大きい第２の値に設定することを特徴とするものである。
【００１５】
第４の態様に係る画像処理装置によれば、制御部は、処理する画像がフレーム間の動きが小さい画像であることを示す情報が画像生成部から入力された場合には、基準符号量を第１の値に設定し、処理する画像がフレーム間の動きが大きい画像であることを示す情報が画像生成部から入力された場合には、基準符号量を第１の値より大きい第２の値に設定する。このように、画像生成部から入力される情報に基づいて静止画であるか動画であるかを判別することにより、基準符号量を静止画又は動画に応じた最適値に設定することが可能となる。
【００１８】
本発明の第５の態様に係る画像処理装置は、第１〜第４のいずれか一つの態様に係る画像処理装置において特に、前記第３の処理部は、前記基準値とは異なる量子化パラメータが設定された場合に実際に発生した符号量に基づいて、量子化パラメータが前記基準値に設定された場合の実際の発生符号量を算出し、前記基準符号量の設定値を、初期値から当該実際の発生符号量の値に更新することを特徴とするものである。
【００１９】
第５の態様に係る画像処理装置によれば、第３の処理部は、基準値とは異なる量子化パラメータが設定された場合に実際に発生した符号量に基づいて、量子化パラメータが前記基準値に設定された場合の実際の発生符号量を算出し、前記基準符号量の設定値を、初期値から当該実際の発生符号量の値に更新する。従って、基準値の量子化パラメータを用いて符号化処理を行い、当該符号化処理によって実際に発生した符号量に基づいて基準符号量を補正する場合と比較すると、追加の符号化処理が不要となるため、全体として演算量を削減することができる。
【００２０】
本発明の第６の態様に係る画像処理装置は、第１〜第４のいずれか一つの態様に係る画像処理装置において特に、前記第３の処理部は、前記基準値の量子化パラメータを用いて符号化処理を行い、前記基準符号量の設定値を、当該符号化処理によって実際に発生した符号量の値に更新することを特徴とするものである。
【００２１】
第６の態様に係る画像処理装置によれば、第３の処理部は、基準値の量子化パラメータを用いて符号化処理を行い、基準符号量の設定値を、当該符号化処理によって実際に発生した符号量の値に更新する。従って、基準値とは異なる量子化パラメータが設定された場合に実際に発生した符号量に基づいて補正後の基準符号量を算出する場合と比較すると、補正の精度を向上することができる。
【発明の効果】
【００２２】
本発明によれば、動画の画質劣化を回避しつつ、静止画を高画質で表示することが可能な画像処理装置を得ることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】マクロブロック単位でのエンコード処理の一例を示す図である。
【図２】本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図３】図２に示した制御部の構成例を示すブロック図である。
【図４】図３に示した第３処理部の構成例を示すブロック図である。
【図５】パラメータセットの例を示す図である。
【図６】基準符号量の設定例を示す図である。
【図７】属性値の決定手法の一例を示すフローチャートである。
【図８】パラメータセットの選択手法の一例を示す図である。
【図９】パラメータセットの選択手法の一例を示す図である。
【図１０】第１の変形例に係る画像処理装置の構成を示すブロック図である。
【図１１】フレーム補間部から出力されるフレーム列の一部を抜き出して示す図である。
【図１２】第２の変形例に係る画像処理装置の構成を示すブロック図である。
【図１３】図１２に示した制御部の構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００２５】
図１は、マクロブロック単位でのエンコード処理の一例を示す図である。図１には、行方向（横方向）に１２８０画素、列方向（縦方向）に７２０画素を有する１フレームの画像を例示している。１フレームは、行方向に１６画素ごと、列方向に１６画素ごとにマクロブロックとして分割される。従って、１フレームは、行方向に８０個、列方向に４５個のマクロブロックに分割される。なお、１行分に相当する８０個のマクロブロックの集合は、マクロブロックラインと称される。
【００２６】
図２は、本発明の実施の形態に係る画像処理装置１の構成を示すブロック図である。図２に示すように、画像処理装置１は、画像生成部４、エンコーダ２、及び制御部３を備えて構成されている。画像生成部４は、画像を生成し、その画像信号Ｓ１をエンコーダ２に入力する。エンコーダ２は、ＭＰＥＧ−２、ＭＰＥＧ−４、又はＨ．２６４等の動画像に関する規格に準拠しており、圧縮符号化前の画像信号Ｓ１に対して量子化処理及び符号化処理等の画像処理を施すことにより、圧縮符号化後の画像信号Ｓ４を出力する。画像信号Ｓ４は、画像処理装置１から無線ＬＡＮ等によって表示装置（図示しない）に伝送され、表示装置において画像（静止画及び動画を含む）が表示される。
【００２７】
制御部３には、画像信号Ｓ１，Ｓ４が入力されるとともに、１マクロブロックあたりの最大許容符号量を示す信号Ｓ２Ａと、１マクロブロックあたりの目標符号量を示す信号Ｓ２Ｂとが入力される。ここで、１マクロブロックあたりの最大許容符号量は、画像処理装置１から表示装置への最大ビットレート（例えば９Ｍｂｐｓ）と、動画像のフレームレート（例えば６０ｆｐｓ）と、１フレーム内のマクロブロックの総数（例えば３６００個）とに基づいて算出される。同様に、１マクロブロックあたりの目標符号量は、画像処理装置１から表示装置への目標ビットレート（例えば８．１Ｍｂｐｓ）と、動画像のフレームレートと、１フレーム内のマクロブロックの総数とに基づいて算出される。制御部３は、これらの信号Ｓ１，Ｓ２Ａ，Ｓ２Ｂ，Ｓ４に基づいて、エンコーダ２内での量子化処理における量子化パラメータを、制御信号Ｓ３によって制御する。本実施の形態に係る画像処理装置１においては、許容伝送遅延に相当するＸ個のマクロブロック（例えば１５マクロブロックラインに含まれる１２００個のマクロブロック）に関する発生符号量が、Ｘ個のマクロブロックに関する最大許容符号量（例えば、９００００００／６０／３＝５００００ビット）を超えないように、量子化パラメータを制御する。
【００２８】
図３は、図２に示した制御部３の構成例を示すブロック図である。図３の接続関係で示すように、制御部３は、第１処理部１１、第２処理部１２、第３処理部１３、及び第４処理部１４を備えて構成されている。
【００２９】
第１処理部１１は、画像信号Ｓ４に基づいて、直前に処理したＹ個のマクロブロックに関して使用した発生符号量を求める。具体的には、Ｙ個のマクロブロックの各々に関する発生符号量をそれぞれ求め、それらを合計することにより、Ｙ個のマクロブロックに関する発生符号量を算出する。算出したＹ個のマクロブロックに関する発生符号量は、信号Ｓ１１として第１処理部１１から第２処理部１２に入力される。
【００３０】
第２処理部１２は、信号Ｓ２Ａ，Ｓ２Ｂに基づいて、Ｘ個のマクロブロックあたりの目標符号量を求める。また、第２処理部１２は、求めた目標符号量と、第１処理部１１から入力されたＹ個のマクロブロックに関する発生符号量とに基づいて、直後に処理するＮ個のマクロブロック（例えば、現在の処理対象のマクロブロックを先頭とする、１マクロブロックラインに含まれる８０個のマクロブロック）に関して使用可能な許容符号量を求める。求めた許容符号量は、信号Ｓ１２として第２処理部１２から第４処理部１４に入力される。
【００３１】
ここで、第２処理部１２は、既に発生符号量が求まっているマクロブロックの個数（Ｙ個）が、許容伝送遅延に相当するマクロブロックの個数（Ｘ個）から、発生符号量の予想が可能なマクロブロックの個数（Ｎ個）を差し引いた値以上である場合（つまりＹ≧Ｘ−Ｎの関係を満たす場合）には、Ｘ個のマクロブロックに関する目標符号量から、直前のＸ−Ｎ個のマクロブロックに関して使用した発生符号量を差し引いた値を、直後に処理するＮ個のマクロブロックに関して使用可能な許容符号量とする。一方、既に発生符号量が求まっているマクロブロックの個数（Ｙ個）が、許容伝送遅延に相当するマクロブロックの個数（Ｘ個）から、発生符号量の予想が可能なマクロブロックの個数（Ｎ個）を差し引いた値未満である場合（つまりＹ＜Ｘ−Ｎの関係を満たす場合）には、Ｙ＋Ｎ個のマクロブロックに関する目標符号量から、直前のＹ個のマクロブロックに関して使用した発生符号量を差し引いた値を、直後に処理するＮ個のマクロブロックに関して使用可能な許容符号量とする。従って、Ｙ≧Ｘ−Ｎの関係を満たす場合であっても、Ｙ＜Ｘ−Ｎの関係を満たす場合であっても、許容符号量を適切に求めることができる。
【００３２】
第３処理部１３は、画像信号Ｓ１に基づいて、直後Ｎ個のマクロブロックに関して使用が予想される予想符号量を求める（詳細は後述）。求めた予想符号量は、信号Ｓ１３として第３処理部１３から第４処理部１４に入力される。
【００３３】
第４処理部１４は、第２処理部１２から入力された許容符号量と、第３処理部１３から入力された予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する（詳細は後述）。設定した量子化パラメータは、信号Ｓ３として第４処理部１４から図２に示したエンコーダ２に入力される。
【００３４】
図４は、図３に示した第３処理部１３の構成例を示すブロック図である。図４の接続関係で示すように、第３処理部１３は、全体評価値演算部２１、部分評価値演算部２２、ソベルフィルタ処理部２３、予想符号量演算部２４、記憶部２５、及び補正部２６を備えて構成されている。
【００３５】
全体評価演算部２１は、画像信号Ｓ１に基づいて、直後Ｎ個のマクロブロックの各々について、各マクロブロックの全体領域（縦１６画素×横１６画素）に関する活発性評価値ａｃｔ１を算出する。ここで、活発性評価値は、マクロブロック内における画素値のばらつきの度合いを示す指標であり、例えば、そのマクロブロックの輝度平均値と各画素の輝度値との差分絶対値和を、そのマクロブロック内の画素数で除算した値として得られる。このように活発性評価値ａｃｔ１を用いることにより、全体が滑らかである属性のマクロブロック（つまり画質の劣化が目立つマクロブロック）に関しては、小さい量子化パラメータ（つまり大きい符号量）を見積もることにより、適切な予想符号量を求めることができる。
【００３６】
部分評価値演算部２２は、画像信号Ｓ１に基づいて、直後Ｎ個のマクロブロックの各々について、各マクロブロックの複数の部分領域に関する活発性評価値の最小値ａｃｔ２を算出する。つまり、各マクロブロックの上辺を含む縦４画素×横１６画素の領域、下辺を含む縦４画素×横１６画素の領域、左辺を含む縦１６画素×横４画素の領域、及び右辺を含む縦１６画素×横４画素の領域に関する活発性評価値をそれぞれ算出し、その最小値ａｃｔ２を求める。このように最小値ａｃｔ２を用いることにより、例えば、全体が複雑であり、文字領域を含んでおらず、かつ滑らかな部分を一部に含んでいない属性のマクロブロック（つまり画質の劣化が目立たないマクロブロック）に関しては、大きい量子化パラメータ（つまり小さい符号量）を見積もることにより、適切な予想符号量を求めることができる。また、例えば、全体が複雑であり、文字領域を含んでいないが、滑らかな部分を一部に含んでいる属性のマクロブロック（つまり滑らかな部分において画質の劣化が目立つマクロブロック）に関しては、やや小さい量子化パラメータ（つまりやや大きい符号量）を見積もることにより、適切な予想符号量を求めることができる。
【００３７】
ソベルフィルタ処理部２３は、画像信号Ｓ１に基づいて、直後Ｎ個のマクロブロックの各々について、各マクロブロックの複数の部分領域に関して、ソベルフィルタを用いてエッジ抽出処理を実行し、そのフィルタ結果の最大値Ｓｏｂｅｌを求める。つまり、各マクロブロックの上辺を含む縦４画素×横１６画素の領域、下辺を含む縦４画素×横１６画素の領域、左辺を含む縦１６画素×横４画素の領域、及び右辺を含む縦１６画素×横４画素の領域に関してエッジ抽出処理を実行し、そのフィルタ結果の最大値Ｓｏｂｅｌを求める。このように最大値Ｓｏｂｅｌを用いることにより、例えば、全体が複雑であり、かつ文字領域を一部に含んでいる属性のマクロブロック（つまり文字領域において画質の劣化が目立つマクロブロック）に関しては、中程度の量子化パラメータ（つまり中程度の符号量）を見積もることにより、適切な予想符号量を求めることができる。
【００３８】
図５は、図４に示した記憶部２５に記憶されているパラメータセットの例を示す図である。複数のパラメータセットＱＰＳ０〜ＱＰＳ１０の各々には、マクロブロックの属性値ＡＣＴ０〜ＡＣＴ４に対応して量子化パラメータがそれぞれ設定されている。例えばパラメータセットＱＰＳ０に関しては、属性値ＡＣＴ０〜ＡＣＴ４に対応して「８」の量子化パラメータが設定されている。また、例えばパラメータセットＱＰＳ１に関しては、属性値ＡＣＴ０，ＡＣＴ２，ＡＣＴ３に対応して「１４」の量子化パラメータが設定されており、属性値ＡＣＴ１，ＡＣＴ４に対応して「８」の量子化パラメータが設定されている。また、例えばパラメータセットＱＰＳ７に関しては、属性値ＡＣＴ０に対応して値「３８」の量子化パラメータが設定されており、属性値ＡＣＴ１に対応して「２０」の量子化パラメータが設定されており、属性値ＡＣＴ２に対応して「３８」の量子化パラメータが設定されており、属性値ＡＣＴ３に対応して「４４」の量子化パラメータが設定されており、属性値ＡＣＴ４に対応して「２６」の量子化パラメータが設定されている。また、例えばパラメータセットＱＰＳ１０に関しては、属性値ＡＣＴ０〜ＡＣＴ４に対応して「５１」の量子化パラメータが設定されている。
【００３９】
また、量子化パラメータが基準値（例えばＨ．２６４の規格上の最大値である「５１」）に設定された場合に発生が想定される符号量（基準符号量）Ｐ０〜Ｐ４が、マクロブロックの属性値ＡＣＴ０〜ＡＣＴ４に対応してそれぞれ設定されている。
【００４０】
図６は、基準符号量Ｐ０〜Ｐ４の設定例を示す図である。基準符号量Ｐ０〜Ｐ４は、現在処理しているフレームの直前のフレームにおける発生符号量Ｚ（つまり直前の１フレーム分の発生符号量）に基づいて設定される。つまり、現在処理しているフレームの直前のフレームを対象フレームとして、対象フレーム内における発生符号量Ｚが、第１の閾値ＴＨ１未満である場合には、静止画用の基準符号量が設定され、第１の閾値ＴＨ１以上かつ第２の閾値ＴＨ２未満である場合には、動きが少ない動画用の基準符号量が設定され、第２の閾値ＴＨ２以上である場合には、動きが大きい動画用の基準符号量が設定される。なお、本実施の形態では二つの閾値ＴＨ１，ＴＨ２を用いることによって三段階の基準符号量を設定する例について述べるが、一つの閾値を用いることによって二段階の基準符号量を設定することや、三つ以上の閾値を用いることによって四段階以上の基準符号量を設定することもできる。
【００４１】
図６に示した例では、発生符号量Ｚが第１の閾値ＴＨ１未満である場合には、静止画用の基準符号量として、基準符号量Ｐ０〜Ｐ４はいずれも４ビットに設定される。発生符号量Ｚが第１の閾値ＴＨ１以上かつ第２の閾値ＴＨ２未満である場合には、動きが少ない動画用の基準符号量として、基準符号量Ｐ０，Ｐ２，Ｐ３は１６ビットに設定され、基準符号量Ｐ１は４ビットに設定され、基準符号量Ｐ４は６ビットに設定される。発生符号量Ｚが第２の閾値ＴＨ２以上である場合には、動きが大きい動画用の基準符号量として、基準符号量Ｐ０，Ｐ２，Ｐ３は３２ビットに設定され、基準符号量Ｐ１は４ビットに設定され、基準符号量Ｐ４は８ビットに設定される。
【００４２】
第１の閾値ＴＨ１及び第２の閾値ＴＨ２の値としては、静止画及び動画の双方において画質の劣化が生じないような最適値が、実験又はシミュレーションによって求められる。本実施の形態の例において、第１の閾値ＴＨ１は、１フレームあたりの最大許容符号量の１／４（本実施の形態の例では３７５００ビット）に設定され、第２の閾値ＴＨ２は、１フレームあたりの最大許容符号量の１／２（本実施の形態の例では７５０００ビット）に設定される。
【００４３】
図４を参照して、予想符号量演算部２４は、直後Ｎ個のマクロブロックの各々について、全体評価値演算部２１によって求められた活発性評価値ａｃｔ１と、部分評価値演算部２２によって求められた最小値ａｃｔ２と、ソベルフィルタ処理部２３によって求められた最大値Ｓｏｂｅｌと、記憶部２５から読み出したパラメータセットとに基づいて、直後Ｎ個のマクロブロックに関して使用が予想される予想符号量を求める。具体的には以下の通りである。
【００４４】
予想符号量演算部２４は、まず、直後Ｎ個のマクロブロックの各々について、属性値を決定する。図７は、属性値の決定手法の一例を示すフローチャートである。図７のフローチャートで示すように、各マクロブロックの属性値は、活発性評価値ａｃｔ１が「２」以下であるという第１の条件を満たす場合には属性値ＡＣＴ１に決定され、第１の条件を満たさず活発性評価値ａｃｔ１が「６」以下であるという第２の条件を満たす場合には属性値ＡＣＴ４に決定され、第２の条件を満たさず最大値Ｓｏｂｅｌが「１２０」以上であるという第３の条件を満たす場合には属性値ＡＣＴ０に決定され、第３の条件を満たさず最小値ａｃｔ２が「５」以下であるという第４の条件を満たす場合には属性値ＡＣＴ２に決定され、第４の条件を満たさない場合には属性値ＡＣＴ３に決定される。予想符号量演算部２４は、直後Ｎ個のマクロブロックの中に、各属性値ＡＣＴ０〜ＡＣＴ４に決定されたマクロブロックが何個ずつ含まれているかをカウントする。
【００４５】
予想符号量演算部２４は、次に、パラメータセットＱＰＳ０〜ＱＰＳ９の各々を適用した場合の、直後Ｎ個のマクロブロックの合計の予想符号量をそれぞれ算出する。図５に示したように、パラメータセットＱＰＳ０〜ＱＰＳ１０の量子化パラメータは、「８」、「１４」、「２０」、「２６」、「３２」、「３８」、「４４」、及び「５１」のいずれかに設定されている。また、Ｈ．２６４の規格により、量子化パラメータが「６」だけ小さくなれば、量子化精度は２倍になる。従って、量子化パラメータが「８」、「１４」、「２０」、「２６」、「３２」、「３８」、「４４」、及び「５１」に設定された場合に発生が想定される符号量は、それぞれ基準符号量の１２８倍、６４倍、３２倍、１６倍、８倍、４倍、２倍、及び１倍となる。
【００４６】
従って、直後Ｎ個のマクロブロックの中に、属性値ＡＣＴ０，ＡＣＴ１，ＡＣＴ２，ＡＣＴ３，ＡＣＴ４に決定されたマクロブロックがそれぞれＫ０個、Ｋ１個、Ｋ２個、Ｋ３個、Ｋ４個ずつ含まれている場合において、例えば発生符号量Ｚが第２の閾値ＴＨ２以上の状況下で、例えばパラメータセットＱＰＳ７を適用した場合の合計の予想符号量は、３２（ビット）×４（倍）×Ｋ０（個）＋４×３２×Ｋ１＋３２×４×Ｋ２＋３２×２×Ｋ３＋８×１６×Ｋ４なる演算によって求まる。また、例えば発生符号量Ｚが第１の閾値ＴＨ１未満の状況下で、例えばパラメータセットＱＰＳ１を適用した場合の合計の予想符号量は、４×６４×Ｋ０＋４×１２８×Ｋ１＋４×６４×Ｋ２＋４×６４×Ｋ３＋４×１２８×Ｋ４なる演算によって求まる。
【００４７】
予想符号量演算部２４は、各パラメータセットＱＰＳ０〜ＱＰＳ９を適用した場合の合計の予想符号量を、上記のように算出する。そして、各パラメータセットＱＰＳ０〜ＱＰＳ９を適用した場合の合計の予想符号量を、信号Ｓ１３として図３に示した第４処理部１４に入力する。
【００４８】
図８及び図９は、第４処理部１４によるパラメータセットの選択手法の一例を示す図である。図８は、動画を処理している際の選択の一例を示しており、図９は、静止画を処理している際の選択の一例を示している。直後Ｎ個のマクロブロックに関する許容符号量は、Ｘ個のマクロブロックに関する目標符号量から、直前に処理したＸ−Ｎ個のマクロブロックに関する発生符号量を差し引いた値として得られる。
【００４９】
第４処理部１４は、複数のパラメータセットＱＰＳ０〜ＱＰＳ９のうち、予想符号量が許容符号量以下で最大となるパラメータセットを選択する。この例によれば、発生符号量を目標符号量以下に抑えつつ、可能な限り画質を向上することができる。
【００５０】
図８に示した例では、第４処理部１４はパラメータセットＱＰＳ８を選択する。そして、第４処理部１４は、選択したパラメータセットＱＰＳ８に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する。例えば、現在の処理対象のマクロブロックの属性値が属性値ＡＣＴ０である場合には、当該マクロブロックに関する量子化パラメータを、図５においてＱＰＳ８とＡＣＴ０との交点に規定されている「３８」に設定する。
【００５１】
図９に示した例では、第４処理部１４はパラメータセットＱＰＳ０を選択する。そして、第４処理部１４は、選択したパラメータセットＱＰＳ０に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する。例えば、現在の処理対象のマクロブロックの属性値が属性値ＡＣＴ２である場合には、当該マクロブロックに関する量子化パラメータを、図５においてＱＰＳ０とＡＣＴ２との交点に規定されている「８」に設定する。
【００５２】
他の例として、第４処理部１４は、複数のパラメータセットＱＰＳ０〜ＱＰＳ９のうち、予想符号量が許容符号量に最も近いパラメータセットを選択する。図８に示した例では、パラメータセットＱＰＳ７が選択される。そして、第４処理部１４は、選択したパラメータセットＱＰＳ７に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する。例えば、現在の処理対象のマクロブロックの属性値が属性値ＡＣＴ１である場合には、当該マクロブロックに関する量子化パラメータを、図５においてＱＰＳ７とＡＣＴ１との交点に規定されている「２０」に設定する。この例によれば、発生符号量を目標符号量に近付けることができるため、安定した符号量制御を行うことが可能となる。なお、この例において、予想符号量が許容符号量を超えることにより、発生符号量と予想符号量との和が目標符号量の例えば１０５％以上となる場合には、許容符号量を超える予想符号量となるパラメータセットの選択を禁止してもよい。
【００５３】
また、複数のパラメータセットＱＰＳ０〜ＱＰＳ９のうち予想符号量が最小となるパラメータセットＱＰＳ９を選択しても、予想符号量が許容符号量を超える場合には、第４処理部１４は、図５に示したパラメータセットＱＰＳ１０を選択する。パラメータセットＱＰＳ１０が選択された場合には、現在の処理対象のマクロブロックに関する量子化パラメータは、規格上の最大値である「５１」に設定される。
【００５４】
また、図４を参照して、補正部２６は、あるマクロブロックに関して求めた予想符号量と、そのマクロブロックに関して実際に発生した符号量とに基づいて、基準符号量を補正する。このように基準符号量の補正を行うことにより、フレーム毎に設定される基準符号量の初期値（つまり基準符号量Ｐ０〜Ｐ４）が正確でなかった場合であっても、実際に発生した符号量に基づいて基準符号量を補正することにより、フレーム内におけるその後の処理においては正確な予想符号量を求めることができる。
【００５５】
第１の例として、補正部２６は、画像信号Ｓ４に基づいて、直後Ｎ個のマクロブロックのうちイントラマクロブロック以外の特定のマクロブロックに関して、実際に発生した符号量を求める。また、上記特定のマクロブロックに関して実際に発生した符号量と、その特定のマクロブロックに関して設定した量子化パラメータとに基づいて、量子化パラメータが「５１」に設定されていたと仮定した場合の発生符号量を算出する。例えば、量子化パラメータが「３２」に設定されていた場合には、実際に発生した符号量を「８」で除算することによって得られる値が、量子化パラメータが「５１」に設定されていたと仮定した場合の発生符号量として得られる。そして、この発生符号量が、予め設定されている基準符号量の初期値より大きい場合には、基準符号量の値を、初期値からこの発生符号量の値に更新する。かかる基準符号量の補正処理は定期的に行われ、発生符号量の値が基準符号量の初期値以下となった場合には、基準符号量の値を初期値に戻す。第１の例によれば、後述する第２の例と比較すると、追加の符号化処理が不要となるため、全体として演算量を削減することができる。
【００５６】
第２の例として、上記特定のマクロブロックに関してエンコーダ２において符号化処理を行う際に、この符号化処理に並行して、量子化パラメータを基準値（この例では「５１」）に設定して追加の符号化処理を行う。そして、補正部２６は、当該追加の符号化処理によって実際に発生した符号量を用いて、基準符号量の値を補正する。例えば、基準符号量の値を、予め設定されている初期値から、この実際に発生した符号量の値に更新する。第２の例によれば、上述した第１の例と比較すると、補正の精度を向上することができる。
【００５７】
＜第１の変形例＞
図１０は、第１の変形例に係る画像処理装置１の構成を示すブロック図である。画像生成部４とエンコーダ２との間に、フレーム補間部５が挿入されている。画像生成部４は、例えば３０ｆｐｓのフレームレートで画像を生成する。フレーム補間部５は、画像のフレームレートを３０ｆｐｓから例えば６０ｆｐｓに変換するために、画像生成部４から入力された画像の各フレームをコピーすることによって新たなフレームを生成し、その新たなフレームをコピー元のフレームの直後に挿入する。
【００５８】
図１１は、フレーム補間部５から出力されるフレーム列の一部を抜き出して示す図である。フレームＦ１Ｂ，Ｆ２Ｂ，Ｆ３Ｂは、それぞれフレームＦ１Ａ，Ｆ２Ａ，Ｆ３Ａをコピーしたものである。画像生成部４が静止画を生成している場合には、フレームＦ１Ａ〜Ｆ３Ｂは全て同一である。
【００５９】
一方、画像生成部４が動画を生成している場合には、フレームＦ１ＡとフレームＦ１Ｂとは同一であり、フレームＦ２ＡとフレームＦ２Ｂとは同一であり、フレームＦ３ＡとフレームＦ３Ｂとは同一である。また、フレームＦ１Ａ，Ｆ１Ｂと、フレームＦ２Ａ，Ｆ２Ｂと、フレームＦ３Ａ，Ｆ３Ｂとは互いに相違する。従って、フレームＦ１Ｂ，Ｆ２Ｂ，Ｆ３Ｂに関する発生符号量は小さくなり、フレームＦ１Ａ，Ｆ２Ａ，Ｆ３Ａに関する発生符号量は大きくなる。
【００６０】
上記実施の形態では、現在処理しているフレームの直前のフレームを対象フレームとして、基準符号量Ｐ０〜Ｐ４が設定された。この場合、現在処理しているフレームが例えばフレームＦ２Ａである場合には、対象フレームはフレームＦ１Ｂとなり、フレームＦ１Ｂの発生符号量は小さいため、たとえ画像生成部４が動画を生成していても静止画用の基準符号量Ｐ０〜Ｐ４が設定されてしまう。
【００６１】
そこで第１の変形例では、現在処理しているフレームの直前のフレーム（第１フレーム）と、その第１フレームの直前のフレーム（第２フレーム）とのうち、発生符号量が大きいフレームを対象フレームとして、基準符号量Ｐ０〜Ｐ４を設定する。
【００６２】
図１１を参照して、現在処理しているフレームが例えばフレームＦ２Ａである場合には、第１フレームとなるフレームＦ１Ｂと、第２フレームとなるフレームＦ１Ａとのうち、発生符号量が大きいフレームＦ１Ａが対象フレームとなる。また、現在処理しているフレームが例えばフレームＦ２Ｂである場合には、第１フレームとなるフレームＦ２Ａと、第２フレームとなるフレームＦ１Ｂとのうち、発生符号量が大きいフレームＦ２Ａが対象フレームとなる。そして、上記実施の形態と同様に、対象フレーム内における発生符号量Ｚと、第１の閾値ＴＨ１及び第２の閾値ＴＨ２との比較結果に基づいて、基準符号量Ｐ０〜Ｐ４が設定される。
【００６３】
＜第２の変形例＞
図１２は、第２の変形例に係る画像処理装置１の構成を示すブロック図である。画像生成部４から制御部３に対して、現在生成している画像が静止画であるか動画であるかを示す信号Ｓ５が入力されている。これにより、制御部３は、現在処理している画像が静止画であるか動画であるか（つまり各フレームが静止画のフレームであるか動画のフレームであるか）を判別することができる。
【００６４】
図１３は、図１２に示した制御部３の構成例を示すブロック図である。信号Ｓ５は、第３処理部１３に入力される。第３処理部１３は、現在処理しているフレームが静止画のフレームであるか動画のフレームであるかを、信号Ｓ５に基づいて判別する。そして、静止画のフレームである場合には静止画用の基準符号量Ｐ０〜Ｐ４を設定し、動画のフレームである場合には動画用の基準符号量Ｐ０〜Ｐ４を設定する。
【００６５】
＜まとめ＞
このように本実施の形態に係る画像処理装置１によれば、第３処理部１３は、基準符号量Ｐ０〜Ｐ４に基づいて、複数のパラメータセットＱＰＳ０〜ＱＰＳ９の各々に関する予想符号量をそれぞれ算出し、基準符号量Ｐ０〜Ｐ４は、処理する画像が静止画である場合と動画である場合とで異なる値に設定される。従って、処理する画像が静止画である場合には、基準符号量Ｐ０〜Ｐ４を小さく設定することにより、値の小さい量子化パラメータを含むパラメータセットを選択することができ、その結果、静止画の画質を向上することが可能となる。また、処理する画像が動画である場合には、基準符号量Ｐ０〜Ｐ４を大きく設定することにより、値の大きい量子化パラメータを含むパラメータセットを選択することができ、その結果、発生符号量が予想符号量を大幅に超える事態を回避することが可能となる。従って、動画の画質劣化を回避しつつ、静止画を高画質で表示することが可能となる。
【００６６】
また、本実施の形態に係る画像処理装置１によれば、基準符号量Ｐ０〜Ｐ４は、現在処理しているフレームより前の対象フレーム内における発生符号量Ｚが、第１の閾値ＴＨ１未満である場合には、静止画用の第１の値に設定され、第１の閾値ＴＨ１以上である場合には、第１の値より大きい動画用の第２の値に設定される。従って、対象フレームの発生符号量Ｚを第１の閾値ＴＨ１と比較するという簡易な処理によって、基準符号量Ｐ０〜Ｐ４を静止画又は動画に応じた最適値に設定することが可能となる。
【００６７】
また、本実施の形態に係る画像処理装置１によれば、基準符号量Ｐ０〜Ｐ４は、対象フレーム内における発生符号量Ｚが、第１の閾値ＴＨ１以上かつ第２の閾値ＴＨ２未満である場合には、第２の値に設定され、第２の閾値ＴＨ２以上である場合には、第２の値より大きい動画用の第３の値に設定される。従って、動きの小さい動画（つまり発生符号量の少ない動画）を処理する場合には、基準符号量Ｐ０〜Ｐ４を第２の値に設定することにより、値の小さい量子化パラメータを含むパラメータセットを選択することができ、その結果、動画の画質を向上することが可能となる。また、動きの大きい動画（つまり発生符号量の多い動画）を処理する場合には、基準符号量Ｐ０〜Ｐ４を第３の値に設定することにより、値の大きい量子化パラメータを含むパラメータセットを選択することができ、その結果、発生符号量が予想符号量を大幅に超える事態を回避することが可能となる。しかも、対象フレームの発生符号量Ｚを第２の閾値ＴＨ２と比較するという簡易な処理によって、基準符号量Ｐ０〜Ｐ４を動きの大小に応じた最適値に設定することが可能となる。
【００６８】
また、第１の変形例に係る画像処理装置１によれば、対象フレームは、現在処理しているフレームの直前の第１フレーム、及び当該第１フレームの直前の第２フレームのうち、発生符号量Ｚが大きいフレームである。従って、例えばフレームレートが３０ｆｐｓの動画をフレームコピーによって６０ｆｐｓの動画として処理する場合であっても、第１フレーム及び第２フレームの一方の発生符号量Ｚは第１の閾値ＴＨ１以上となるため、正確に動画と判別することができ、その結果、基準符号量Ｐ０〜Ｐ４を動画用の第２の値又は第３の値に適切に設定することが可能となる。
【００６９】
また、第２の変形例に係る画像処理装置１によれば、制御部３は、画像生成部４から入力される情報（信号Ｓ５）に基づいて、処理する画像が静止画であるか動画であるかを判別する。このように、画像生成部４から入力される情報に基づいて静止画であるか動画であるかを判別することにより、基準符号量Ｐ０〜Ｐ４を静止画又は動画に応じた最適値に設定することが可能となる。
【符号の説明】
【００７０】
１  画像処理装置
２  エンコーダ
３  制御部
４  画像生成部
１１  第１処理部
１２  第２処理部
１３  第３処理部
１４  第４処理部
２５  記憶部
２６  補正部
【図１】
0005930781.tif 000002
【図２】
0005930781.tif 000003
【図３】
0005930781.tif 000004
【図４】
0005930781.tif 000005
【図５】
0005930781.tif 000006
【図６】
0005930781.tif 000007
【図７】
0005930781.tif 000008
【図８】
0005930781.tif 000009
【図９】
0005930781.tif 000010
【図１０】
0005930781.tif 000011
【図１１】
0005930781.tif 000012
【図１２】
0005930781.tif 000013
【図１３】
0005930781.tif 000014