説明

画像処理装置

【課題】画像再生の状況に応じて画質及び遅延量を適切に調整することが可能な画像処理装置を得る。
【解決手段】画像処理装置1は、画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダ2と、量子化処理における量子化パラメータを制御する制御部3とを備え、制御部3は、規定数Zのマクロブロックあたりの目標符号量と、直前に処理した所定数のマクロブロックに関する発生符号量との差に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定し、規定数Zは、制御部3によって可変に設定可能である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関し、特に、動画像圧縮における符号量制御アルゴリズムに関する。
【背景技術】
【0002】
符号量制御とは、発生符号量を制御することによって画質の最適化を図る技術である(例えば下記特許文献1,2参照)。現行の符号量制御アルゴリズムでは、GOP(Group Of Picture)単位又はフレーム単位で符号量制御を行うものが一般的である。例えばフレーム単位の符号量制御では、1フレームに対する割り当て符号量が算出され、当該符号量を超えないように、フレーム内の各マクロブロックに対する量子化パラメータが制御される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平10−215460号公報
【特許文献2】特開平10−243399号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
GOP単位又はフレーム単位の符号量を目標符号量として制御する方法では、目標コンスタントビットレートを得るための平均区間が長く、符号量のピーク値として比較的大きな値が許容されるため、画質の向上を図ることが可能である。しかしながら、平均区間が長いということはバッファ時間が大きいことを意味し、エンコード処理に伴う遅延量が必然的に大きくなる。従って、GOP単位又はフレーム単位の符号量制御は、遅延制限の厳しくない状況での画像再生には適しているが、遅延制限の厳しい状況での画像再生には適していない。従って、遅延制限の厳しい状況での画像再生においては、画質よりも遅延量を優先することが望ましい。一方、遅延制限が厳しくない状況での画像再生においては、GOP単位又はフレーム単位の符号量を目標符号量として制御することにより、遅延量よりも画質を優先することが望ましい。
【0005】
本発明はかかる事情に鑑みて成されたものであり、画像再生の状況に応じて画質及び遅延量を適切に調整することが可能な画像処理装置を得ることを目的とするものである。
【課題を解決するための手段】
【0006】
本発明の第1の態様に係る画像処理装置は、画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダと、前記量子化処理における量子化パラメータを制御する制御部とを備え、前記制御部は、規定数のマクロブロックあたりの目標符号量と、直前に処理した所定数のマクロブロックに関する発生符号量との差に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定し、前記規定数は、前記制御部によって可変に設定可能であることを特徴とするものである。
【0007】
第1の態様に係る画像処理装置によれば、制御部は、規定数のマクロブロックあたりの目標符号量と、直前に処理した所定数のマクロブロックに関する発生符号量との差に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定する。そして、規定数は、制御部によって可変に設定可能である。従って、遅延制限の厳しい状況での画像再生においては、制御部によって規定数を比較的小さく設定することにより、画質よりも遅延量を優先することができる。また、遅延制限の厳しくない状況での画像再生においては、制御部によって規定数を比較的大きく設定することにより、遅延量よりも画質を優先することができる。その結果、画像再生の状況に応じて画質及び遅延量を適切に調整することが可能となる。
【0008】
本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、前記制御部は、現在の処理対象のマクロブロックに関する量子化パラメータを、基準値に対する増減値として決定し、前記規定数のマクロブロックあたりの目標符号量と、直前に処理した当該規定数のマクロブロックに関する発生符号量との差に基づいて、前記増減値を決定することを特徴とするものである。
【0009】
第2の態様に係る画像処理装置によれば、制御部は、現在の処理対象のマクロブロックに関する量子化パラメータを、基準値に対する増減値として決定する。また、制御部は、規定数のマクロブロックあたりの目標符号量と、直前に処理した当該規定数のマクロブロックに関する発生符号量との差に基づいて、増減値を決定する。このように、規定数のマクロブロックあたりの目標符号量と直前に処理した当該規定数のマクロブロックに関する発生符号量との差に基づいて増減値を決定することにより、現在の処理対象のマクロブロックに関する量子化パラメータを、画像再生の状況に応じて適切に決定することが可能となる。
【0010】
本発明の第3の態様に係る画像処理装置は、第2の態様に係る画像処理装置において特に、前記制御部は、直前に処理した前記規定数のマクロブロックに関する発生符号量が、最大許容符号量に応じて設定される所定のしきい値を超えている場合には、前回処理したマクロブロックに関する量子化パラメータに定数値を加算した値を、現在の処理対象のマクロブロックに関する量子化パラメータとして設定することを特徴とするものである。
【0011】
第3の態様に係る画像処理装置によれば、制御部は、直前に処理した規定数のマクロブロックに関する発生符号量が、最大許容符号量に応じて設定される所定のしきい値を超えている場合には、前回処理したマクロブロックに関する量子化パラメータに定数値を加算した値を、現在の処理対象のマクロブロックに関する量子化パラメータとして設定する。このように、発生符号量がしきい値を超えている場合には強制的に量子化パラメータを大きく設定するという例外処理を行うことにより、発生符号量が最大許容符号量を超える事態を回避することが可能となる。
【0012】
本発明の第4の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、前記制御部は、直前の第1の所定数のマクロブロックに関して使用した発生符号量を求める第1の処理部と、前記規定数である第2の所定数のマクロブロックあたりの目標符号量と、前記第1の処理部によって求められた前記発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第3の所定数のマクロブロックに関して使用可能な許容符号量を求める第2の処理部と、前記第3の所定数のマクロブロックに関して使用が予想される予想符号量を求める第3の処理部と、前記第2の処理部によって求められた前記許容符号量と、前記第3の処理部によって求められた前記予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定する第4の処理部と、を有することを特徴とするものである。
【0013】
第4の態様に係る画像処理装置によれば、第1の処理部は、直前の第1の所定数のマクロブロックに関して使用した発生符号量を求める。また、第2の処理部は、規定数である第2の所定数のマクロブロックあたりの目標符号量と、第1の処理部によって求められた発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第3の所定数のマクロブロックに関して使用可能な許容符号量を求める。また、第3の処理部は、第3の所定数のマクロブロックに関して使用が予想される予想符号量を求める。そして、第4の処理部は、第2の処理部によって求められた許容符号量と、第3の処理部によって求められた予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定する。このように、規定数である第2の所定数のマクロブロックあたりの目標符号量に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定することにより、現在の処理対象のマクロブロックに関する量子化パラメータを、画像再生の状況に応じて適切に決定することが可能となる。
【発明の効果】
【0014】
本発明によれば、画像再生の状況に応じて画質及び遅延量を適切に調整することが可能となる。
【図面の簡単な説明】
【0015】
【図1】マクロブロック単位でのエンコード処理の一例を示す図である。
【図2】本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。
【図3】図2に示した制御部の構成例を示すブロック図である。
【図4】増減値の決定手法の一例を示す図である。
【図5】増減値の決定手法の一例を示す図である。
【図6】増減値の決定手法の一例を示す図である。
【図7】本発明の実施の形態2に係る画像処理装置の構成を示すブロック図である。
【図8】図7に示した制御部の構成例を示すブロック図である。
【図9】図8に示した第3処理部の構成例を示すブロック図である。
【図10】図9に示した記憶部に記憶されているパラメータセットの第1の例を示す図である。
【図11】図9に示した記憶部に記憶されているパラメータセットの第2の例を示す図である。
【図12】属性値の決定手法の一例を示すフローチャートである。
【図13】第4処理部によるパラメータセットの選択手法の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0017】
図1は、マクロブロック単位でのエンコード処理の一例を示す図である。図1には、行方向(横方向)に1280画素、列方向(縦方向)に720画素を有する1フレームの画像を例示している。1フレームは、行方向に16画素ごと、列方向に16画素ごとにマクロブロックとして分割される。従って、1フレームは、行方向に80個、列方向に45個のマクロブロックに分割される。なお、1行分に相当する80個のマクロブロックの集合は、マクロブロックラインと称される。
【0018】
<実施の形態1>
図2は、本発明の実施の形態1に係る画像処理装置1の構成を示すブロック図である。図2に示すように、画像処理装置1は、エンコーダ2及び制御部3を備えて構成されている。エンコーダ2は、MPEG−2又はMPEG−4等の動画像に関する規格に準拠しており、圧縮符号化前の画像信号S1に対して量子化処理及び符号化処理等の画像処理を施すことにより、圧縮符号化後の画像信号S4を出力する。画像信号S4は、画像処理装置1から無線LAN等によって表示装置(図示しない)に伝送され、表示装置において動画像が表示される。
【0019】
制御部3には、画像信号S1,S4が入力されるとともに、1マクロブロックあたりの最大許容符号量を示す信号S2Aと、1マクロブロックあたりの目標符号量を示す信号S2Bと、目標符号量の設定単位となるマクロブロックの個数(以下「規定数Z」と称す)を設定するための基礎情報を示す信号S2Cとが入力される。ここで、1マクロブロックあたりの最大許容符号量は、画像処理装置1から表示装置への最大ビットレート(例えば18Mbps)と、動画像のフレームレート(例えば60fps)と、1フレーム内のマクロブロックの総数(例えば3600個)とに基づいて算出される。同様に、1マクロブロックあたりの目標符号量は、画像処理装置1から表示装置への目標ビットレート(例えば14Mbps)と、動画像のフレームレートと、1フレーム内のマクロブロックの総数とに基づいて算出される。
【0020】
また、画像処理装置1が例えばテレビ会議システムに利用される場合には、カメラのズーム倍率を示す基礎情報が信号S2Cとして入力される。会議に出席している多数の人物を広角(つまり低いズーム倍率)で撮影している場合には、画像内で各人物の顔を区別するために高画質が要求される。従って、制御部3は、マクロブロックの規定数Zを比較的大きな値に設定する。例えば、規定数ZをGOP単位又はフレーム単位に設定する。規定数Zを大きな値に設定することにより、遅延量は大きくなるが平均的な画質は向上する。つまり、制御部3は、遅延制限が厳しくない状況での画像再生においては、規定数Zを比較的大きな値に設定することにより、遅延量よりも画質を優先する。
【0021】
一方、発言している一人の人物を望遠(つまり高いズーム倍率)で撮影している場合には、発言者の口の動きと音声とを同期させるために少ない遅延量が要求される。従って、制御部3は、マクロブロックの規定数Zを比較的小さな値に設定する。例えば、規定数Zを1フレーム内のマクロブロックの総数の1/3に設定する。規定数Zを小さな値に設定することにより、平均的な画質は低下するが遅延量は減少する。つまり、制御部3は、遅延制限が厳しい状況での画像再生においては、規定数Zを比較的小さな値に設定することにより、画質よりも遅延量を優先する。
【0022】
なお、制御部3は、信号S2Cで与えられるズーム倍率に応じて、例えば1以上GOP単位未満の範囲内で、規定数Zをダイナミックに変化させてもよい。また、規定数Zは、GOP単位に限らず、任意のマクロブロック数(つまり任意の時間)に設定することが可能である。また、画像処理装置1は、テレビ会議システム以外の用途にも利用することが可能である。
【0023】
制御部3は、これらの信号S1,S2A〜S2C,S4に基づいて、エンコーダ2内での量子化処理における量子化パラメータを、制御信号S3によって制御する。
【0024】
図3は、図2に示した制御部3の構成例を示すブロック図である。図3に示すように、制御部3は、全体評価値演算部110、部分評価値演算部111、パラメータ決定部112、記憶部113、及びビット数カウンタ114を備えて構成されている。画像信号S1は、全体評価値演算部110及び部分評価値演算部111に入力される。信号S2A〜S2Cは、パラメータ決定部112に入力される。画像信号S4は、ビット数カウンタ114に入力される。制御信号S3は、パラメータ決定部112から出力される。
【0025】
全体評価演算部110は、画像信号S1に基づいて、現在の処理対象のマクロブロックの全体領域に関する活発性評価値act1(詳細は後述)を算出する。部分評価値演算部111は、画像信号S1に基づいて、現在の処理対象のマクロブロックの複数の部分領域に関する活発性評価値の最小値act2(詳細は後述)を算出する。記憶部113には、後述する各種のしきい値や定数値等に関するデータが記憶されている。ビット数カウンタ114は、画像信号S4に基づいて発生符号量を求める。
【0026】
以下、本実施の形態に係る画像処理装置1の動作について説明する。パラメータ決定部112は、現在の処理対象のマクロブロックに関する量子化パラメータQP1を、基準値QP2に対する増減値QP3として決定する。つまり、パラメータ決定部112は、QP1=QP2+QP3なる演算を行うことにより、量子化パラメータQP1を求める。
【0027】
パラメータ決定部112は、現在の処理対象のマクロブロックから遡った規定数Zのマクロブロックに関する量子化パラメータの平均値を、基準値QP2として用いる。但し、先頭のマクロブロックに関しては、所定の定数値が基準値QP2として用いられる。また、処理済みのマクロブロックの総数が規定数Zに満たない場合には、処理済みのマクロブロックに関する量子化パラメータの平均値が基準値QP2として用いられる。
【0028】
また、パラメータ決定部112は、QP3=QP3A+QP3B+QP3Cなる演算を行うことにより、増減値QP3を求める。
【0029】
具体的に、パラメータ決定部112は、規定数Zのマクロブロックあたりの目標符号量と、直前に処理した規定数Zのマクロブロックに関する発生符号量との差(ΔB1=発生符号量−目標符号量)に基づいて、増減値QP3Aを決定する。図4は、増減値QP3Aの決定手法の一例を示す図である。この例では、パラメータ決定部112によって規定数Zが80(つまり1マクロブロックライン相当)に設定されている。差ΔB1がしきい値Th00(例えば−1000ビット)未満である場合には、増減値QP3Aは値α0(例えば−4)に設定される。差ΔB1がしきい値Th00以上かつしきい値Th01(例えば−500ビット)未満である場合には、増減値QP3Aは値α1(例えば−2)に設定される。差ΔB1がしきい値Th01以上かつしきい値Th02(例えば0ビット)未満である場合には、増減値QP3Aは値α2(例えば−1)に設定される。差ΔB1がしきい値Th02以上かつしきい値Th03(例えば500ビット)未満である場合には、増減値QP3Aは値α3(例えば1)に設定される。差ΔB1がしきい値Th03以上かつしきい値Th04(例えば1000ビット)未満である場合には、増減値QP3Aは値α4(例えば2)に設定される。差ΔB1がしきい値Th04以上である場合には、増減値QP3Aは値α5(例えば4)に設定される。
【0030】
また、パラメータ決定部112は、現在の処理対象のマクロブロックにおける四辺の各領域(つまり、上辺を含む縦4画素×横16画素の領域、下辺を含む縦4画素×横16画素の領域、左辺を含む縦16画素×横4画素の領域、及び右辺を含む縦16画素×横4画素の領域)に関する活発性評価値の最小値(act2)に基づいて、増減値QP3Bを決定する。図5は、増減値QP3Bの決定手法の一例を示す図である。最小値act2がしきい値Th10(例えば2)未満である場合には、増減値QP3Bは値β0(例えば−4)に設定される。最小値act2がしきい値Th10以上かつしきい値Th11(例えば5)未満である場合には、増減値QP3Bは値β1(例えば−2)に設定される。最小値act2がしきい値Th11以上かつしきい値Th12(例えば10)未満である場合には、増減値QP3Bは値β2(例えば0)に設定される。最小値act2がしきい値Th12以上かつしきい値Th13(例えば30)未満である場合には、増減値QP3Bは値β3(例えば2)に設定される。最小値act2がしきい値Th13以上である場合には、増減値QP3Bは値β4(例えば4)に設定される。なお、活発性評価値は、マクロブロック内における画素値のばらつきの度合いを示す指標(画素情報)であり、例えば、そのマクロブロックの輝度平均値と各画素の輝度値との差分絶対値和を、そのマクロブロック内の画素数で除算した値として得られる。
【0031】
また、パラメータ決定部112は、前回処理したマクロブロックに関する発生符号量(PB)に基づいて、増減値QP3Cを決定する。図6は、増減値QP3Cの決定手法の一例を示す図である。発生符号量PBがしきい値Th20(例えば1マクロブロックあたりの目標符号量の1/2)未満である場合には、増減値QP3Cは値γ0(例えば−2)に設定される。発生符号量PBがしきい値Th20以上かつしきい値Th21(例えば目標符号量)未満である場合には、増減値QP3Cは値γ1(例えば−1)に設定される。発生符号量PBがしきい値Th21以上かつしきい値Th22(例えば目標符号量の3/2)未満である場合には、増減値QP3Cは値γ2(例えば1)に設定される。発生符号量PBがしきい値Th22以上である場合には、増減値QP3Cは値γ3(例えば2)に設定される。
【0032】
上記の通り、パラメータ決定部112は、現在の処理対象のマクロブロックに関する量子化パラメータQP1を、基準値QP2に対する増減値QP3として決定する。ここで、パラメータ決定部112は、現在の処理対象のマクロブロックに関する量子化パラメータを、前回処理したマクロブロックに関する量子化パラメータに対して増加させる場合において、基準値QP2が所定値K1未満である場合には、基準値QP2として所定値K1を用いる。同様に、パラメータ決定部112は、現在の処理対象のマクロブロックに関する量子化パラメータを、前回処理したマクロブロックに関する量子化パラメータに対して減少させる場合において、基準値QP2が所定値K2を超える場合には、基準値QP2として所定値K2を用いる。
【0033】
所定値K1,K2は、現在の処理対象のマクロブロックの全体領域に関する活発性評価値(act1)に応じて異なる値に設定される。例えば、所定値K1は、活発性評価値act1が5未満である場合は20に、5以上10未満である場合には25に、10以上である場合には30に、それぞれ設定される。また例えば、所定値K2は、活発性評価値act1が5未満である場合には25に、5以上である場合には51に、それぞれ設定される。
【0034】
また、パラメータ決定部112は、直前に処理した規定数Zのマクロブロックに関する発生符号量が、最大許容符号量に応じて設定される所定のしきい値(例えば最大許容符号量の98%)を超えている場合には、上述したアルゴリズムによる量子化パラメータの決定処理を行わずに、所定の例外処理を実行する。具体的に、パラメータ決定部112は、前回処理したマクロブロックに関する量子化パラメータに定数値(例えば2)を加算した値を、現在の処理対象のマクロブロックに関する量子化パラメータとして設定する。当該発生符号量が当該しきい値以下となるまで、例外処理は継続される。
【0035】
このように本実施の形態に係る画像処理装置1によれば、制御部3は、規定数Zのマクロブロックあたりの目標符号量と、直前に処理した所定数(本実施の形態では規定数Z)のマクロブロックに関する発生符号量との差ΔB1に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータQP1を決定する。そして、規定数Zは、制御部3によって可変に設定可能である。従って、遅延制限の厳しい状況での画像再生においては、制御部3によって規定数Zを比較的小さく設定することにより、画質よりも遅延量を優先することができる。また、遅延制限の厳しくない状況での画像再生においては、制御部3によって規定数Zを比較的大きく設定することにより、遅延量よりも画質を優先することができる。その結果、画像再生の状況に応じて画質及び遅延量を適切に調整することが可能となる。
【0036】
また、本実施の形態に係る画像処理装置1によれば、制御部3は、現在の処理対象のマクロブロックに関する量子化パラメータQP1を、基準値QP2に対する増減値QP3として決定する。また、制御部3は、規定数Zのマクロブロックあたりの目標符号量と、直前に処理した規定数Zのマクロブロックに関する発生符号量との差ΔB1に基づいて、増減値QP3を決定する。このように、規定数Zのマクロブロックあたりの目標符号量と直前に処理した規定数Zのマクロブロックに関する発生符号量との差ΔB1に基づいて増減値QP3を決定することにより、現在の処理対象のマクロブロックに関する量子化パラメータQP1を、画像再生の状況に応じて適切に決定することが可能となる。
【0037】
また、本実施の形態に係る画像処理装置1によれば、制御部3は、直前に処理した規定数Zのマクロブロックに関する発生符号量が、最大許容符号量に応じて設定される所定のしきい値を超えている場合には、前回処理したマクロブロックに関する量子化パラメータに定数値を加算した値を、現在の処理対象のマクロブロックに関する量子化パラメータとして設定する。このように、発生符号量がしきい値を超えている場合には強制的に量子化パラメータを大きく設定するという例外処理を行うことにより、発生符号量が最大許容符号量を超える事態を回避することが可能となる。
【0038】
<実施の形態2>
図7は、本発明の実施の形態2に係る画像処理装置1の構成を示すブロック図である。図7に示すように、画像処理装置1は、エンコーダ2及び制御部3を備えて構成されている。エンコーダ2は、MPEG−2、MPEG−4、又はH.264等の動画像に関する規格に準拠しており、圧縮符号化前の画像信号S1に対して量子化処理及び符号化処理等の画像処理を施すことにより、圧縮符号化後の画像信号S4を出力する。画像信号S4は、画像処理装置1から無線LAN等によって表示装置(図示しない)に伝送され、表示装置において動画像が表示される。
【0039】
上記実施の形態1と同様に、制御部3には、画像信号S1,S4が入力されるとともに、1マクロブロックあたりの最大許容符号量を示す信号S2Aと、1マクロブロックあたりの目標符号量を示す信号S2Bと、目標符号量の設定単位となるマクロブロックの個数(規定数Z)を設定するための基礎情報を示す信号S2Cとが入力される。ここで、1マクロブロックあたりの最大許容符号量は、画像処理装置1から表示装置への最大ビットレート(例えば9Mbps)と、動画像のフレームレート(例えば60fps)と、1フレーム内のマクロブロックの総数(例えば3600個)とに基づいて算出される。同様に、1マクロブロックあたりの目標符号量は、画像処理装置1から表示装置への目標ビットレート(例えば8.1Mbps)と、動画像のフレームレートと、1フレーム内のマクロブロックの総数とに基づいて算出される。また、上記実施の形態1と同様に、画像処理装置1が例えばテレビ会議システムに利用される場合には、カメラのズーム倍率を示す基礎情報が信号S2Cとして制御部3に入力される。上記実施の形態1と同様に、制御部3は、遅延制限が厳しくない状況での画像再生においては、規定数Zを比較的大きな値に設定することにより遅延量よりも画質を優先し、一方、遅延制限が厳しい状況での画像再生においては、規定数Zを比較的小さな値に設定することにより画質よりも遅延量を優先する。
【0040】
制御部3は、これらの信号S1,S2A〜S2C,S4に基づいて、エンコーダ2内での量子化処理における量子化パラメータを、制御信号S3によって制御する。本実施の形態に係る画像処理装置1においては、許容伝送遅延に相当する規定数Z(Z個)のマクロブロックに関する発生符号量が、規定数Zのマクロブロックに関する最大許容符号量を超えないように、量子化パラメータを制御する。
【0041】
図8は、図7に示した制御部3の構成例を示すブロック図である。図8の接続関係で示すように、制御部3は、第1処理部211、第2処理部212、第3処理部213、及び第4処理部214を備えて構成されている。
【0042】
第1処理部211は、画像信号S4に基づいて、直前に処理したY個のマクロブロックに関して使用した発生符号量を求める。求めた発生符号量は、信号S11として第1処理部211から第2処理部212に入力される。
【0043】
第2処理部212は、信号S2A〜S2Cに基づいて、規定数Zのマクロブロックあたりの目標符号量を求める。また、第2処理部212は、求めた目標符号量と、第1処理部211から入力されたY個のマクロブロックに関する発生符号量とに基づいて、直後に処理するN個のマクロブロック(例えば、現在の処理対象のマクロブロックを先頭とする、1マクロブロックラインに含まれる80個のマクロブロック)に関して使用可能な許容符号量を求める。求めた許容符号量は、信号S12として第2処理部212から第4処理部214に入力される。
【0044】
ここで、第2処理部212は、既に発生符号量が求まっているマクロブロックの個数(Y個)が、許容伝送遅延に相当するマクロブロックの個数(Z個)から、発生符号量の予想が可能なマクロブロックの個数(N個)を差し引いた値以上である場合(つまりY≧Z−Nの関係を満たす場合)には、Z個のマクロブロックに関する目標符号量から、直前のZ−N個のマクロブロックに関して使用した発生符号量を差し引いた値を、直後に処理するN個のマクロブロックに関して使用可能な許容符号量とする。一方、既に発生符号量が求まっているマクロブロックの個数(Y個)が、許容伝送遅延に相当するマクロブロックの個数(Z個)から、発生符号量の予想が可能なマクロブロックの個数(N個)を差し引いた値未満である場合(つまりY<Z−Nの関係を満たす場合)には、Y+N個のマクロブロックに関する目標符号量から、直前のY個のマクロブロックに関して使用した発生符号量を差し引いた値を、直後に処理するN個のマクロブロックに関して使用可能な許容符号量とする。従って、Y≧Z−Nの関係を満たす場合であっても、Y<Z−Nの関係を満たす場合であっても、許容符号量を適切に求めることができる。
【0045】
第3処理部213は、画像信号S1に基づいて、直後N個のマクロブロックに関して使用が予想される予想符号量を求める(詳細は後述)。求めた予想符号量は、信号S13として第3処理部213から第4処理部214に入力される。
【0046】
第4処理部214は、第2処理部212から入力された許容符号量と、第3処理部213から入力された予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する(詳細は後述)。設定した量子化パラメータは、信号S3として第4処理部214から図7に示したエンコーダ2に入力される。
【0047】
図9は、図8に示した第3処理部213の構成例を示すブロック図である。図9の接続関係で示すように、第3処理部213は、全体評価値演算部221、部分評価値演算部222、ソベルフィルタ処理部223、予想符号量演算部224、及び記憶部225を備えて構成されている。
【0048】
全体評価演算部221は、画像信号S1に基づいて、直後N個のマクロブロックの各々について、各マクロブロックの全体領域(縦16画素×横16画素)に関する活発性評価値act1を算出する。ここで、活発性評価値は、マクロブロック内における画素値のばらつきの度合いを示す指標であり、例えば、そのマクロブロックの輝度平均値と各画素の輝度値との差分絶対値和を、そのマクロブロック内の画素数で除算した値として得られる。このように活発性評価値act1を用いることにより、全体が滑らかである属性のマクロブロック(つまり画質の劣化が目立つマクロブロック)に関しては、小さい量子化パラメータ(つまり大きい符号量)を見積もることにより、適切な予想符号量を求めることができる。
【0049】
部分評価値演算部222は、画像信号S1に基づいて、直後N個のマクロブロックの各々について、各マクロブロックの複数の部分領域に関する活発性評価値の最小値act2を算出する。つまり、各マクロブロックの上辺を含む縦4画素×横16画素の領域、下辺を含む縦4画素×横16画素の領域、左辺を含む縦16画素×横4画素の領域、及び右辺を含む縦16画素×横4画素の領域に関する活発性評価値をそれぞれ算出し、その最小値act2を求める。このように最小値act2を用いることにより、例えば、全体が複雑であり、文字領域を含んでおらず、かつ滑らかな部分を一部に含んでいない属性のマクロブロック(つまり画質の劣化が目立たないマクロブロック)に関しては、大きい量子化パラメータ(つまり小さい符号量)を見積もることにより、適切な予想符号量を求めることができる。また、例えば、全体が複雑であり、文字領域を含んでいないが、滑らかな部分を一部に含んでいる属性のマクロブロック(つまり滑らかな部分において画質の劣化が目立つマクロブロック)に関しては、やや小さい量子化パラメータ(つまりやや大きい符号量)を見積もることにより、適切な予想符号量を求めることができる。
【0050】
ソベルフィルタ処理部223は、画像信号S1に基づいて、直後N個のマクロブロックの各々について、各マクロブロックの複数の部分領域に関して、ソベルフィルタを用いてエッジ抽出処理を実行し、そのフィルタ結果の最大値Sobelを求める。つまり、各マクロブロックの上辺を含む縦4画素×横16画素の領域、下辺を含む縦4画素×横16画素の領域、左辺を含む縦16画素×横4画素の領域、及び右辺を含む縦16画素×横4画素の領域に関してエッジ抽出処理を実行し、そのフィルタ結果の最大値Sobelを求める。このように最大値Sobelを用いることにより、例えば、全体が複雑であり、かつ文字領域を一部に含んでいる属性のマクロブロック(つまり文字領域において画質の劣化が目立つマクロブロック)に関しては、中程度の量子化パラメータ(つまり中程度の符号量)を見積もることにより、適切な予想符号量を求めることができる。
【0051】
図10は、図9に示した記憶部225に記憶されているパラメータセットの第1の例を示す図である。複数のパラメータセットQPS0〜QPS7の各々には、マクロブロックの属性値ACT0〜ACT4に対応して量子化パラメータがそれぞれ設定されている。例えばパラメータセットQPS4に関しては、属性値ACT0に対応して値「38」の量子化パラメータが設定されており、属性値ACT1に対応して「20」の量子化パラメータが設定されており、属性値ACT2に対応して「38」の量子化パラメータが設定されており、属性値ACT3に対応して「44」の量子化パラメータが設定されており、属性値ACT4に対応して「26」の量子化パラメータが設定されている。また、例えばパラメータセットQPS7に関しては、属性値ACT0〜ACT4に対応して「51」の量子化パラメータが設定されている。
【0052】
また、量子化パラメータが基準値(例えばH.264の規格上の最大値である「51」)に設定された場合に発生が想定される符号量(基準符号量)が、マクロブロックの属性値ACT0〜ACT4に対応してそれぞれ設定されている。この例では、属性値ACT0に対応して32ビット、属性値ACT1に対応して4ビット、属性値ACT2に対応して32ビット、属性値ACT3に対応して32ビット、及び属性値ACT4に対応して8ビットの基準符号量が、それぞれ設定されている。基準符号量を適切に設定することにより、複数のパラメータセットQPS0〜QPS7の各々に関して、適切な予想符号量を求めることができる。
【0053】
図11は、図9に示した記憶部225に記憶されているパラメータセットの第2の例を示す図である。図10に示したパラメータセットQPS7に代えて、パラメータセットQPS8が設定されている。パラメータセットQPS8に関しては、属性値ACT0〜ACT4に対応して「52」の量子化パラメータが設定されている。ここで、「52」の量子化パラメータは、符号化処理のスキップを意味する。つまり、量子化パラメータが「52」に設定されたマクロブロックに関しては、符号化処理を省略して、直前のフレーム内の同一箇所のマクロブロックに関する値を当該マクロブロックに関して適用することを意味する。
【0054】
図9を参照して、予想符号量演算部224は、直後N個のマクロブロックの各々について、全体評価値演算部221によって求められた活発性評価値act1と、部分評価値演算部222によって求められた最小値act2と、ソベルフィルタ処理部223によって求められた最大値Sobelと、記憶部225から読み出したパラメータセットとに基づいて、直後N個のマクロブロックに関して使用が予想される予想符号量を求める。具体的には以下の通りである。
【0055】
予想符号量演算部224は、まず、直後N個のマクロブロックの各々について、属性値を決定する。図12は、属性値の決定手法の一例を示すフローチャートである。図12のフローチャートで示すように、各マクロブロックの属性値は、活発性評価値act1が「2」以下であるという第1の条件を満たす場合には属性値ACT1に決定され、第1の条件を満たさず活発性評価値act1が「6」以下であるという第2の条件を満たす場合には属性値ACT4に決定され、第2の条件を満たさず最大値Sobelが「120」以上であるという第3の条件を満たす場合には属性値ACT0に決定され、第3の条件を満たさず最小値act2が「5」以下であるという第4の条件を満たす場合には属性値ACT2に決定され、第4の条件を満たさない場合には属性値ACT3に決定される。予想符号量演算部224は、直後N個のマクロブロックの中に、各属性値ACT0〜ACT4に決定されたマクロブロックが何個ずつ含まれているかをカウントする。
【0056】
予想符号量演算部224は、次に、パラメータセットQPS0〜QPS6の各々を適用した場合の、直後N個のマクロブロックの合計の予想符号量をそれぞれ算出する。図10,11に示したように、パラメータセットQPS0〜QPS6の量子化パラメータは、「20」、「26」、「32」、「38」、「44」、及び「51」のいずれかに設定されている。また、H.264の規格により、量子化パラメータが「6」だけ小さくなれば、量子化精度は2倍になる。従って、量子化パラメータが「20」、「26」、「32」、「38」、「44」、及び「51」に設定された場合に発生が想定される符号量は、それぞれ基準符号量の32倍、16倍、8倍、4倍、2倍、及び1倍となる。従って、直後N個のマクロブロックの中に、属性値ACT0,ACT1,ACT2,ACT3,ACT4に決定されたマクロブロックがそれぞれK0個、K1個、K2個、K3個、K4個ずつ含まれている場合において、例えばパラメータセットQPS4を適用した場合の合計の予想符号量は、32(ビット)×4(倍)×K0(個)+4×32×K1+32×4×K2+32×2×K3+8×16×K4なる演算によって求まる。予想符号量演算部224は、他のパラメータセットQPS0〜QPS3,QPS5,QPS6を適用した場合の合計の予想符号量についても、上記と同様に算出する。そして、各パラメータセットQPS0〜QPS6を適用した場合の合計の予想符号量を、信号S13として図8に示した第4処理部214に入力する。
【0057】
図13は、第4処理部214によるパラメータセットの選択手法の一例を示す図である。直後N個のマクロブロックに関する許容符号量は、Z個のマクロブロックに関する目標符号量から、直前に処理したZ−N個のマクロブロックに関する発生符号量を差し引いた値として得られる。
【0058】
第4処理部214は、複数のパラメータセットQPS0〜QPS6のうち、予想符号量が許容符号量以下で最大となるパラメータセットを選択する。図13に示した例では、パラメータセットQPS4が選択される。そして、第4処理部214は、選択したパラメータセットQPS4に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する。例えば、現在の処理対象のマクロブロックの属性値が属性値ACT0である場合には、当該マクロブロックに関する量子化パラメータを、図10又は図11においてQPS4とACT0との交点に規定されている「38」に設定する。この例によれば、発生符号量を目標符号量以下に抑えつつ、可能な限り画質を向上することができる。
【0059】
他の例として、第4処理部214は、複数のパラメータセットQPS0〜QPS6のうち、予想符号量が許容符号量に最も近いパラメータセットを選択する。図13に示した例では、パラメータセットQPS3が選択される。そして、第4処理部214は、選択したパラメータセットQPS3に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを設定する。例えば、現在の処理対象のマクロブロックの属性値が属性値ACT0である場合には、当該マクロブロックに関する量子化パラメータを、図10又は図11においてQPS3とACT0との交点に規定されている「32」に設定する。この例によれば、発生符号量を目標符号量に近付けることができるため、安定した符号量制御を行うことが可能となる。なお、この例において、予想符号量が許容符号量を超えることにより、発生符号量と予想符号量との和が目標符号量の例えば105%以上となる場合には、許容符号量を超える予想符号量となるパラメータセットの選択を禁止してもよい。
【0060】
また、複数のパラメータセットQPS0〜QPS6のうち予想符号量が最小となるパラメータセットQPS6を選択しても、予想符号量が許容符号量を超える場合には、第4処理部214は、図10に示したパラメータセットQPS7、又は図11に示したパラメータセットPQS8を選択する。パラメータセットQPS7が選択された場合には、現在の処理対象のマクロブロックに関する量子化パラメータは、規格上の最大値である「51」に設定される。また、パラメータセットQPS8が選択された場合には、現在の処理対象のマクロブロックに関する符号化処理はスキップされる。符号化処理がスキップされることにより、当該マクロブロックに関しては画質が劣化するが、符号化処理の省略によって発生符号量を削減できるため、その後のマクロブロックの処理において許容符号量を大きくすることができる。
【0061】
このように本実施の形態に係る画像処理装置1によれば、制御部3は、規定数Zのマクロブロックあたりの目標符号量と、直前に処理した所定数(本実施の形態ではY個)のマクロブロックに関する発生符号量との差に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定する。そして、規定数Zは、制御部3によって可変に設定可能である。従って、遅延制限の厳しい状況での画像再生においては、制御部3によって規定数Zを比較的小さく設定することにより、画質よりも遅延量を優先することができる。また、遅延制限の厳しくない状況での画像再生においては、制御部3によって規定数Zを比較的大きく設定することにより、遅延量よりも画質を優先することができる。その結果、画像再生の状況に応じて画質及び遅延量を適切に調整することが可能となる。
【0062】
また、本実施の形態に係る画像処理装置1によれば、第1処理部211は、直前に処理したY個のマクロブロックに関して使用した発生符号量を求める。また、第2処理部212は、Z個のマクロブロックあたりの目標符号量と、第1処理部211によって求められた発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後N個のマクロブロックに関して使用可能な許容符号量を求める。また、第3処理部213は、直後N個のマクロブロックに関して使用が予想される予想符号量を求める。そして、第4処理部214は、第2処理部212によって求められた許容符号量と、第3処理部213によって求められた予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定する。このように、規定数Zのマクロブロックあたりの目標符号量に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定することにより、現在の処理対象のマクロブロックに関する量子化パラメータを、画像再生の状況に応じて適切に決定することが可能となる。
【符号の説明】
【0063】
1 画像処理装置
2 エンコーダ
3 制御部
110,221 全体評価値演算部
111,222 部分評価値演算部
112 パラメータ決定部
113,225 記憶部
114 ビット数カウンタ
211 第1処理部
212 第2処理部
213 第3処理部
214 第4処理部
223 ソベルフィルタ処理部
224 予想符号量演算部


【特許請求の範囲】
【請求項1】
画像信号に対する量子化処理を含むエンコード処理を実行するエンコーダと、
前記量子化処理における量子化パラメータを制御する制御部と
を備え、
前記制御部は、規定数のマクロブロックあたりの目標符号量と、直前に処理した所定数のマクロブロックに関する発生符号量との差に基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定し、
前記規定数は、前記制御部によって可変に設定可能である、画像処理装置。
【請求項2】
前記制御部は、
現在の処理対象のマクロブロックに関する量子化パラメータを、基準値に対する増減値として決定し、
前記規定数のマクロブロックあたりの目標符号量と、直前に処理した当該規定数のマクロブロックに関する発生符号量との差に基づいて、前記増減値を決定する、請求項1に記載の画像処理装置。
【請求項3】
前記制御部は、直前に処理した前記規定数のマクロブロックに関する発生符号量が、最大許容符号量に応じて設定される所定のしきい値を超えている場合には、前回処理したマクロブロックに関する量子化パラメータに定数値を加算した値を、現在の処理対象のマクロブロックに関する量子化パラメータとして設定する、請求項2に記載の画像処理装置。
【請求項4】
前記制御部は、
直前の第1の所定数のマクロブロックに関して使用した発生符号量を求める第1の処理部と、
前記規定数である第2の所定数のマクロブロックあたりの目標符号量と、前記第1の処理部によって求められた前記発生符号量とに基づいて、現在の処理対象のマクロブロックを含む直後の第3の所定数のマクロブロックに関して使用可能な許容符号量を求める第2の処理部と、
前記第3の所定数のマクロブロックに関して使用が予想される予想符号量を求める第3の処理部と、
前記第2の処理部によって求められた前記許容符号量と、前記第3の処理部によって求められた前記予想符号量とに基づいて、現在の処理対象のマクロブロックに関する量子化パラメータを決定する第4の処理部と、
を有する、請求項1に記載の画像処理装置。



【図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−109902(P2012−109902A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2010−258712(P2010−258712)
【出願日】平成22年11月19日(2010.11.19)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】