(57)【特許請求の範囲】
【請求項１】
複数のブロックサイズのブロックを組み合わせて映像の符号化を行う映像符号化装置であって、
複数の前記ブロックサイズに対して画像の特徴量に基づいて量子化ステップを表す値の変化量を算出するΔＱＰ値算出手段と、
異なる前記ブロックサイズ間の前記量子化ステップを表す値が事前に設定した所定の閾値以上異なるか否かを判定し、前記所定の閾値以上異なる場合は、より小さなブロックサイズの選択を促進させるオフセット値を出力する分割促進オフセット算出手段と、
前記オフセット値を加算したコスト値を用いて符号化モード判定を行う符号化モード判定手段と
を備える映像符号化装置。
【請求項２】
前記分割促進オフセット算出手段は、前記ブロックサイズにおける量子化ステップを表す値と、該ブロックサイズを１回分割した分割ブロックサイズのいずれかの量子化ステップを表す値との差分が、所定の閾値を超えている場合に、前記分割ブロックサイズが選択されやすくなるように事前に設定したモード判定オフセット値を与える請求項１に記載の映像符号化装置。
【請求項３】
前記所定の閾値と前記オフセット値は、前記映像を符号化する際に用いる量子化ステップの大きさに基づいて決定する請求項１または２に記載の映像符号化装置。
【請求項４】
複数のブロックサイズのブロックを組み合わせて映像の符号化を行う映像符号化装置が実行する映像符号化方法であって、
複数の前記ブロックサイズに対して画像の特徴量に基づいて量子化ステップを表す値の変化量を算出するΔＱＰ値算出ステップと、
異なる前記ブロックサイズ間の前記量子化ステップを表す値が事前に設定した所定の閾値以上異なるか否かを判定し、前記所定の閾値以上異なる場合は、より小さなブロックサイズの選択を促進させるオフセット値を出力する分割促進オフセット算出ステップと、
前記オフセット値を加算したコスト値を用いて符号化モード判定を行う符号化モード判定ステップと
を有する映像符号化方法。
【請求項５】
コンピュータを、請求項１から３のいずれか１項に記載の映像符号化装置として機能させるための映像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を可変のブロックサイズに分割して符号化処理を行う映像符号化装置、映像符号化方法及び映像符号化プログラムに関する。
【背景技術】
【０００２】
映像符号化技術は、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４／ＡＶＣが多く用いられており、最近では次世代の映像符号化規格であるＨＥＶＣ（High Efficiency Video Coding）／Ｈ．２６５が策定され、今後普及していくと考えられる。映像符号化における符号量制御および量子化制御のアルゴリズムのひとつとして、ＴＭ５（Test Model 5）が広く知られている（例えば、非特許文献１参照）。ＴＭ５はステップ１、２、３の３段階で量子化制御を行っている。ステップ１はピクチャ単位で目標符号量をもとに量子化値を算出するステップ、ステップ２はピクチャ内で目標とする符号量と発生した符号量との差分をもとにフィードバック制御を行って量子化値を修正するステップであり、いずれも発生符号量を目標符号量に近づけるためのステップである。
【０００３】
これに対してＴＭ５のステップ３は、画像の局所的な特性、具体的にはアクティビティと呼称される画像の複雑度に応じて、ステップ２までで求めた量子化値から上下に変動させ、符号化画像の視覚的な品質向上を目的としている。具体的には、視覚的に劣化の目立ちやすい平坦部（輝度変化の少ない部分、すなわちアクティビティが低い部分）に符号量が多く配分されるように量子化値を小さく設定し、逆に視覚的に劣化の目立ちにくい非平坦部（輝度変化の大きい部分、すなわちアクティビティが高い部分）は符号量を削減するように量子化値を大きく設定することで、平均して同一の符号量においても視覚特性を改善しようとするステップである。以降、このステップ３に着目して説明を行う。
【０００４】
ＭＰＥＧ−２やＨ．２６４など従来の映像符号化方式においては、量子化パラメータ値（もしくは符号化ストリーム内で量子化ステップの幅を示すために使用される値。以下の説明では以降、ＱＰ値と呼称する）を指定できる単位はマクロブロックであり、マクロブロックのサイズは１６ｘ１６ピクセルに固定であった。それに対し、ＨＥＶＣ／Ｈ．２６５符号化標準においては、最大６４ｘ６４ピクセルからなるＣＴＵ（Coding Tree Unit）を、３２ｘ３２や１６ｘ１６や８ｘ８ピクセルからなるＣＵ（Coding Unit）の組み合わせとして表現することができ、ＱＰ値は例えばＣＵ単位で設定することが可能である。
【０００５】
そのため、あるＣＴＵを構成するＣＵのサイズの組み合わせが決定した場合、ＨＥＶＣ／Ｈ．２６５符号化器においては、各ＣＵを構成する画像のアクティビティをもとにステップ３の処理が行われることになる。ここでもちろん、アクティビティ以外の画像特徴量を用いてステップ３制御を行ってもよい。
【０００６】
また、アクティビティに代表される画像特徴量を用いて、ＨＥＶＣで特徴的な可変ブロックサイズ予測や可変ブロックサイズ変換の候補サイズを事前に絞り込む提案もなされている（例えば、特許文献１参照）。これらの提案はもっぱら、多数のブロックサイズに対する予測演算が困難なため、ブロックサイズを予め決定ないし制限し、符号化に要する演算量を削減する目的で行われている。
【０００７】
なお、本明細書において、画像とは、静止画像、または動画像を構成する１フレーム分の画像のことをいう。また映像とは、動画像と同じ意味であり、一連の画像の集合である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１５−２６９６４号公報
【非特許文献】
【０００９】
【非特許文献１】総合マルチメディア選書ＭＰＥＧ、映像情報メディア学会（編）、オーム社、平成８年４月２０日発行
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ＨＥＶＣ／Ｈ．２６５符号化器において、あるＣＴＵを構成するＣＵのサイズの組み合わせは一般的に、符号化効率が最良となるように、すなわち、ある一定のビット量に対して原画像と符号化画像の誤差が最小となるように決定される。この決定手法として一般的に知られている手法はＲＤ最適化と呼ばれ、所定の値λを用いてＤ＋λ・Ｒ（Ｄは符号化画像と原画像との画素値差分の自乗和として得られる歪み量、Ｒは符号量）が最小となるＣＵの組み合わせを選択するものである。あるいは、Ｄ＋λ・Ｒの演算が困難である場合は、Ｄのかわりに差分絶対値和（ＳＡＤ値）ないしアダマール変換後の差分絶対値和（ＳＡＴＤ値）、Ｒとして正確な符号量ではない仮見積もり符号量が使用されることも多い。
【００１１】
ところがこの場合、前述したステップ３の処理とは独立して、符号化効率が最良となるようなＣＵサイズの組み合わせが選択されることになる。図５は、ＴＭ５ステップ３によって計算されるＱＰ値の上下動（ΔＱＰ）の値を、ブロックサイズ別に計算した結果を例示した図である。図５に示すように、ＨＥＶＣ符号化器において６４ｘ６４ピクセルのＣＴＵを用いて符号化する場合、選択できるＣＵは６４ｘ６４、３２ｘ３２、１６ｘ１６ピクセルの組み合わせとなる。ステップ３の手法を用いてＱＰ値をＣＵ単位に変化させることとし、変化させるＱＰ値の量をΔＱＰと表記することとすると、各ＣＵに含まれる画像領域の画像特徴量（アクティビティ等）を用いてステップ３制御が行われ、ΔＱＰが計算される。図５では、６４ｘ６４ＣＵのΔＱＰをΔＱＰ６４［０］と、３２ｘ３２ＣＵ（全４ヶ）のΔＱＰをΔＱＰ３２［０］〜ΔＱＰ３２［３］と、１６ｘ１６ＣＵ（全１６ヶ）のΔＱＰをΔＱＰ１６［０］〜ΔＱＰ３２［１５］とそれぞれ表記している。
【００１２】
図６は、同一ブロック内に、複雑な領域と平坦な領域が混在する場合について示した図である。図６に示すように、画像特徴量として画素値の変化が少ない平坦な領域（図中で白色で示された領域）と、画素値の変化が大きい複雑な領域（図中で灰色で示された領域）が含まれているＣＴＵがあるものとする。ステップ３制御に基づき、平坦な領域に属するＣＵのΔＱＰは小さく（図中ではこれを「ΔＱＰ↓」と表現している）、複雑な領域に属するＣＵのΔＱＰは大きく（図中ではこれを「ΔＱＰ↑」と表現している）制御されることになる。
【００１３】
このとき、最終的に符号化されるＣＵサイズの組み合わせとして、１６ｘ１６ＣＵが選択された場合は、画像の特徴量が変化する境界におおむね沿って「ΔＱＰ↑」と「ΔＱＰ↓」のステップ３制御を行ったＱＰ値で符号化することができる。しかし、より大きなＣＵサイズの組み合わせ、例えば６４ｘ６４ＣＵが最終的に選択された場合、複雑な領域と平坦な領域が１つのＣＵの中に混在するため、ステップ３制御に基づく適切なΔＱＰが設定されてないという問題が発生する。すなわち、同一のＣＵ内で複雑な領域は、ΔＱＰが十分大きくならずに符号量が出すぎるという問題が発生し、逆に同一のＣＵ内の平坦な領域でΔＱＰが十分小さくならなかった場合には、視覚的な劣化が発生するという問題がある。
【００１４】
本発明は、このような事情に鑑みてなされたもので、ＣＴＵの中で画像の特徴量が異なる領域が混在する場合に、複雑な領域と平坦な領域が１つのＣＵの中に混在することを抑制することができる映像符号化装置、映像符号化方法及び映像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一態様は、複数のブロックサイズのブロックを組み合わせて映像の符号化を行う映像符号化装置であって、複数の前記ブロックサイズに対して画像の特徴量に基づいて量子化ステップを表す値の変化量を算出するΔＱＰ値算出手段と、異なる前記ブロックサイズ間の前記量子化ステップを表す値が事前に設定した所定の閾値以上異なるか否かを判定し、前記所定の閾値以上異なる場合は、より小さなブロックサイズの選択を促進させるオフセット値を出力する分割促進オフセット算出手段と、前記オフセット値を加算したコスト値を用いて符号化モード判定を行う符号化モード判定手段とを備える映像符号化装置である。
【００１６】
本発明の一態様は、前記映像符号化装置であって、前記分割促進オフセット算出手段は、前記ブロックサイズにおける量子化ステップを表す値と、該ブロックサイズを１回分割した分割ブロックサイズのいずれかの量子化ステップを表す値との差分が、所定の閾値を超えている場合に、前記分割ブロックサイズが選択されやすくなるように事前に設定したモード判定オフセット値を与える。
【００１７】
本発明の一態様は、前記映像符号化装置であって、前記所定の閾値と前記オフセット値は、前記映像を符号化する際に用いる量子化ステップの大きさに基づいて決定する。
【００１８】
本発明の一態様は、複数のブロックサイズのブロックを組み合わせて映像の符号化を行う映像符号化装置が実行する映像符号化方法であって、複数の前記ブロックサイズに対して画像の特徴量に基づいて量子化ステップを表す値の変化量を算出するΔＱＰ値算出ステップと、異なる前記ブロックサイズ間の前記量子化ステップを表す値が事前に設定した所定の閾値以上異なるか否かを判定し、前記所定の閾値以上異なる場合は、より小さなブロックサイズの選択を促進させるオフセット値を出力する分割促進オフセット算出ステップと、前記オフセット値を加算したコスト値を用いて符号化モード判定を行う符号化モード判定ステップとを有する映像符号化方法である。
【００１９】
本発明の一態様は、コンピュータを、前記映像符号化装置として機能させるための映像符号化プログラムである。
【発明の効果】
【００２０】
本発明によれば、ＣＴＵの中で画像の特徴量が異なる領域が混在する場合に、複雑な領域と平坦な領域が１つのＣＵの中に混在することを抑制することができるという効果が得られる。この結果、同一のＣＵ内で画像の複雑な領域でΔＱＰが十分大きくならずに符号量が出すぎるという問題や、逆に同一のＣＵ内の画像の平坦な領域でΔＱＰが十分小さくならずに視覚的な劣化が発生するという問題を解決することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示す分割促進オフセット算出部２の動作を示すフローチャートである。
【図３】分割促進オフセット算出部２で算出されたオフセットを、符号化モード判定部３３に反映する例を示す図である。
【図４】閾値およびオフセット値を、符号化の際の代表的な量子化パラメータであるベースＱＰ図をもとにテーブル引きで求める例を示す図である。
【図５】ＴＭ５ステップ３によって計算されるＱＰ値の上下動（ΔＱＰ）の値を、ブロックサイズ別に計算した結果を例示した図である。
【図６】同一ブロック内に、複雑な領域と平坦な領域が混在する場合について示した図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の一実施形態による映像符号化装置を説明する。図１は同実施形態の構成を示すブロック図である。以下、ＨＥＶＣ規格に基づく映像符号化装置を想定し、図６に示したものと同様にＣＴＵサイズは６４ｘ６４、ＣＵサイズは６４ｘ６４、３２ｘ３２、１６ｘ１６の３種類が選択可能なものとして説明を行う。図１において映像符号化部３は、映像符号化標準（本実施形態ではＨＥＶＣ標準）に基づいて映像を符号化する符号化器の構成である。
【００２３】
外部から符号化対象画像を入力すると、予測部３１は画面内予測符号化（イントラ符号化）および参照画像予測符号化（インター符号化）を用いた予測処理を行う。予測部３１の予測結果を受けて、符号化コスト評価部３２は候補となる予測符号化モードで符号化を行う場合のコストを計算する。コストの計算方法としては、前述のＲＤ最適化に基づくＤ＋λ・Ｒの値を計算する、もしくはＤのかわりに差分絶対値和（ＳＡＤ値）ないしアダマール変換後の差分絶対値和（ＳＡＴＤ値）、Ｒとして正確な符号量ではない仮見積もり符号量を使用するのが一般的である。ここで計算したコスト値を受けて、符号化モード判定部３３は符号化コストが最小となる予測モードおよびブロックサイズの組み合わせを選択する。この選択結果を受けて、符号化部３４では実際に符号化を行い、符号化ストリームを出力する。
【００２４】
本実施形態においては、映像符号化部３に加えて、マルチブロックサイズΔＱＰ値算出部１および分割促進オフセット算出部２を備えている。以下、それぞれの動作を詳細に説明する。
【００２５】
マルチブロックサイズΔＱＰ値算出部１は、複数のブロックサイズに対して、画像の特徴量をもとにΔＱＰを算出する機能を持つ。ΔＱＰの算出は、例えばＭＰＥＧ−２  ＴＭ５のステップ３の考え方に基づいて算出することができるため、詳細な説明を省略する。ここでは、まずＭＰＥＧ−２  ＴＭ５のステップ３の演算の説明を行う。ＴＭ５においては、１６ｘ１６ピクセルからなるマクロブロックのアクティビティを算出するために、フィールド（飛越し走査）で構成した４つの８ｘ８ブロック、フレーム（非飛越し走査）で構成した４つの８ｘ８ブロック、合計８つの８ｘ８ブロックに対して、まず分散ｖａｒ  ｓｂｌｋを（式１）によって求める。ただしＰｋは各画素の画素値、Ｐａｖｇは８ｘ８ブロック６４画素の画素平均値である。
【数１】
0006053210.tif 000002
【００２６】
次に、マクロブロックのアクティビティａｃｔｊは、上記分散の最小値を選択し、選択した最小値に１を加えることで（式２）によって計算する。
【数２】
0006053210.tif 000003
【００２７】
そのうえで、０．５以上２．０以下の値をとる正規化アクティビティを（式３）によって求める。ただしａｖｇ＿ａｃｔは直前に符号化した画像の平均アクティビティであり、アクティビティがａｖｇ＿ａｃｔと同じ値であれば１となるように正規化されることになる。
【数３】
0006053210.tif 000004
【００２８】
ＴＭ５のステップ２で求まった量子化スケール値Ｑｊに対し、上記Ｎａｃｔｊを乗算する（式４）ことにより、ステップ３後の量子化スケール値ｍｑｕａｎｔｊが求められる。
【数４】
0006053210.tif 000005
【００２９】
上記ｍｑｕａｎｔｊとＱｊを、符号化標準に規定される量子化ステップに従ってそれぞれ量子化パラメータ値に変換した際に、両者の差分に当たる値が、ステップ３処理による量子化パラメータ値の上下動をあらわす数値、すなわちΔＱＰ値である。
【００３０】
なお、上記の説明をＨＥＶＣ符号化標準に適用するにあたっては、まずＨＥＶＣにフィールド／フレーム混在符号化は存在しないため、（式１）および（式２）のｖａｒ  ｓｂｌｋは８ヶではなく、１６ｘ１６ブロックサイズごとに４ヶでよい。さらにＨＥＶＣ符号化標準ではブロックサイズが可変のため、例えば図５に示すように１６ｘ１６、３２ｘ３２、６４ｘ６４の３ブロックサイズについてΔＱＰ値を求めるにあたっては、（式１）や（式２）の演算は、３２ｘ３２ではｖａｒ  ｓｂｌｋの数が４ヶｘ４＝１６ヶ、６４ｘ６４では４ヶｘ１６＝６４ヶとなる。また、（式２）はｍｉｎでなければならない必要性はなく、平均値をとってもよい。
【００３１】
なお、分散は８ｘ８単位で求めても、１６ｘ１６単位（２５６画素単位）で求めてもよい。
【００３２】
繰り返すが、上記のΔＱＰ値の算出方法は、ＭＰＥＧ−２  ＴＭ５のステップ３の求め方にもとづいて計算した場合の例であり、本実施形態においてのΔＱＰ値の算出方法は上記に限定するものではない。アクティビティ以外の画像特徴量を用いてΔＱＰ値を計算してもよい。
【００３３】
前述のような方法により、図５に示すように１６ｘ１６、３２ｘ３２、６４ｘ６４ブロックサイズのそれぞれについてΔＱＰ値が求まれば、マルチブロックサイズΔＱＰ値算出部１はこれをΔＱＰ値として、分割促進オフセット算出部２に出力する。
【００３４】
次に、図２を参照して、分割促進オフセット算出部２が、ΔＱＰ値をもとに分割促進オフセットを算出する処理動作を説明する。図２は、分割促進オフセット算出部２が、ΔＱＰ値をもとに分割促進オフセットを算出する処理動作を示すフローチャートである。ここでは、図５に示すものと同様に、１６ｘ１６、３２ｘ３２、６４ｘ６４の３ブロックサイズについてΔＱＰ値が求まっていることを前提とする。
【００３５】
まず、分割促進オフセット算出部２は、変数ｋに最小ブロックサイズ、すなわち１６を設定する（ステップＳ１）。図２において「←」は代入を表す。続いて、分割促進オフセット算出部２は、変数ｉに０を設定する（ステップＳ２）。
【００３６】
次に、分割促進オフセット算出部２は、事前に設定されている閾値ＴＨ＿Ａ＿ｋを用いて、以下の（式５）によって第一の閾値比較を行う（ステップＳ３）。
ΔＱＰｋｘ２［ｉ］−ΔＱＰｋ［⊂ΔＱＰｋｘ２［ｉ］］＞ＴＨ＿Ａ＿ｋ      （式５）
【００３７】
いまはｋ＝１６，ｉ＝０のため、この（式５）は
ΔＱＰ３２［０］−ΔＱＰ１６［⊂ΔＱＰ３２［０］］＞ＴＨ＿Ａ＿ｋ
となる。ΔＱＰ３２［０］は、図５で示す、３２ｘ３２ＣＵで左上に位置するＣＵのΔＱＰである。
【００３８】
ΔＱＰ１６［⊂ΔＱＰ３２［０］］とは、同じ３２ｘ３２ＣＵの位置に「含まれる」１６ｘ１６ＣＵのΔＱＰを意味しており、すなわち、図５の１６ｘ１６ＣＵにおけるΔＱＰ１６［０］，ΔＱＰ１６［１］，ΔＱＰ１６［２］，ΔＱＰ１６［３］の４つの位置のΔＱＰを意味している。ＴＨ＿Ａ＿ｋは、ｋ＝１６，３２のそれぞれについて事前に設定されている閾値であり、今はｋ＝１６のため、ＴＨ＿Ａ＿１６が選択される。
【００３９】
換言すると、（式５）は
ΔＱＰ３２［０］−ΔＱＰ１６［０］＞ＴＨ＿Ａ＿１６    （式６−１）
ΔＱＰ３２［０］−ΔＱＰ１６［１］＞ＴＨ＿Ａ＿１６    （式６−２）
ΔＱＰ３２［０］−ΔＱＰ１６［２］＞ＴＨ＿Ａ＿１６    （式６−３）
ΔＱＰ３２［０］−ΔＱＰ１６［３］＞ＴＨ＿Ａ＿１６    （式６−４）
の４式を内包しており、（式６−１）から（式６−４）のいずれかが、真になるかを意味している。（式６−１）から（式６−４）のいずれかが真であれば、ステップＳ３は真、すべて偽であればステップＳ３は偽となる。
【００４０】
ステップＳ３が真の場合、１６ｘ１６ＣＵのΔＱＰ値に比べて、３２ｘ３２ＣＵのΔＱＰ値が、事前に設定された閾値ＴＨ＿Ａ＿１６を超えて大きくなる差分が発生していることになり、１６ｘ１６ＣＵが選択されやすくなるような分割促進オフセットを適用することになる。すなわち、分割促進オフセット算出部２は、事前に設定されているオフセット値ＯＦＳ＿Ａ＿ｋをオフセットに設定する（ステップＳ４）。いまはｋ＝１６，ｉ＝０のため、ステップＳ４では
ＯＦＦＳＥＴ３２［０］←ＯＦＳ＿Ａ＿１６
が実行されることになる。オフセット値は正の数である。
一方、ステップＳ３が偽の場合、分割促進オフセット算出部２は、上記オフセットに０を設定する（ステップＳ５）。
【００４１】
ステップＳ３では、１６ｘ１６ＣＵのΔＱＰに比べて、３２ｘ３２ＣＵのΔＱＰが、閾値以上に大きいかを比較するステップであったが、逆に、１６ｘ１６ＣＵのΔＱＰに比べて、３２ｘ３２ＣＵのΔＱＰが閾値以上に小さいかを比較するステップが、ステップＳ６である。分割促進オフセット算出部２は、ステップＳ６の式によって、第二の閾値比較を行う（ステップＳ６）。
【００４２】
いまはｋ＝１６，ｉ＝０のため、ステップＳ６の式は
ΔＱＰ３２［０］−ΔＱＰ１６［０］＜−ＴＨ＿Ｂ＿１６    （式７−１）
ΔＱＰ３２［０］−ΔＱＰ１６［１］＜−ＴＨ＿Ｂ＿１６    （式７−２）
ΔＱＰ３２［０］−ΔＱＰ１６［２］＜−ＴＨ＿Ｂ＿１６    （式７−３）
ΔＱＰ３２［０］−ΔＱＰ１６［３］＜−ＴＨ＿Ｂ＿１６    （式７−４）
の４式を内包しており、（式７−１）から（式７−４）のいずれかが、真になるかを意味している。（式７−１）から（式７−４）のいずれかが真であれば、ステップＳ６は真、すべて偽であればステップＳ６は偽となる。
【００４３】
ステップＳ６が真の場合、１６ｘ１６ＣＵのΔＱＰに比べて、３２ｘ３２ＣＵのΔＱＰが、事前に設定された閾値ＴＨ＿Ｂ＿１６を超えて小さくなる差分が発生していることになり、この場合も、１６ｘ１６ＣＵが選択されやすくなるような分割促進オフセットを適用することになる。すなわち、分割促進オフセット算出部２は、事前に設定されているオフセット値ＯＦＳ＿Ｂ＿ｋが、すでにセットされているオフセット値よりも小さいのであれば（ステップＳ７で真）、オフセットＯＦＳ＿Ｂ＿ｋをオフセットに設定する（ステップＳ８）。いまはｋ＝１６，ｉ＝０のため、ステップＳ８では
ＯＦＦＳＥＴ３２［０］←ＯＦＳ＿Ｂ＿１６
が実行されることになる。
【００４４】
一方、ステップＳ６が偽の場合、またはステップＳ７において、すでにＯＦＳ＿Ｂ＿ｋよりも大きな値がオフセットとして設定されている場合（すなわち、ＯＦＳ＿Ａ＿ｋ＞ＯＦＳ＿Ｂ＿ｋであって、ステップＳ３が真であった場合）には、オフセット値は更新されない。
【００４５】
次に、分割促進オフセット算出部２は、ｉを１増加させながら（ステップＳ９）、ｉが１〜３の場合についてループ処理を行う（ステップＳ１０）。これは図５で示す、３２ｘ３２ＣＵで右上、左下、右下に位置するＣＵのΔＱＰであり、これらについても、ステップＳ３〜Ｓ８のオフセット設定処理が行われることになる。
【００４６】
次に、分割促進オフセット算出部２は、ｋを２倍することにより（ステップＳ１１）、ｋ＝３２となり、さらに大きなブロックサイズについて同様の処理が行われる。すなわち、６４ｘ６４ブロックと、３２ｘ３２ブロック４つについて、同様の比較およびオフセット値の設定が行われる。ステップＳ１０において、ｋ＝３２の場合、比較条件はｉ＜１なので、ｉによるループは実施されない。最後に分割促進オフセット算出部２は、ｋ＝６４となったところで処理を終了する（ステップＳ１２）。
【００４７】
このように演算された各オフセットが、分割推進オフセットとして、分割促進オフセット算出部２から符号化モード判定部３３に対して出力される。
【００４８】
次に、図３を参照して、符号化モード判定部３３における分割推進オフセットの適用形態について説明する。図３は、分割促進オフセット算出部２で算出されたオフセットを、符号化モード判定部３３に反映する例を示す図である。前述のＲＤ最適化およびそれに類する方法により、各ＣＵの符号化コストＣｏｓｔ６４［０］、Ｃｏｓｔ３２［０］〜Ｃｏｓｔ３２［３］、Ｃｏｓｔ１６［０］〜Ｃｏｓｔ１６［１５］が演算されているものとする。分割推進オフセットがすべて０の場合、符号化モード判定部３３は、これらコスト値の組み合わせが最小となるようなＣＵの組み合わせを選択することになる。
【００４９】
ここで、分割促進オフセット算出部２で算出された分割推進オフセットは、ＯＦＦＳＥＴ３２［０］〜ＯＦＦＳＥＴ３２［３］がまず、それぞれＣｏｓｔ３２［０］〜Ｃｏｓｔ３２［３］に加算される。これにより、Ｃｏｓｔ１６と比べてＣｏｓｔ３２のコスト値は大きくなり、１６ｘ１６ブロックサイズが選択される比率が増加する。
【００５０】
さらに、Ｃｏｓｔ６４［０］には、ＯＦＦＳＥＴ６４［０］の値が加算され、６４ｘ６４ブロックと比べて３２ｘ３２ブロックが選択される比率を増加させる。加えてＣｏｓｔ６４［０］にはＯＦＦＳＥＴ３２［０］〜ＯＦＦＳＥＴ３２［３］の合計値もあわせて加算されている。これは１６ｘ１６と３２ｘ３２の比較で１６ｘ１６ブロックサイズが選択されたとしても、最終的に６４ｘ６４ブロックのコストが最小と判断された場合、１６ｘ１６ブロックサイズが選択されたか否かにかかわりなく６４ｘ６４ブロックが選択されてしまうため、これを防ぎ、６４ｘ６４ブロックサイズを抑制して１６ｘ１６ブロックサイズの発生比率を増加させるために加算されるものである。
【００５１】
以上説明した方法により、あるＣＴＵの中で画像の特徴量が異なる領域が混在する場合に、ＣＵ分割を促進することにより、複雑な領域と平坦な領域が１つのＣＵの中に混在することを抑制することができる。この結果、同一のＣＵ内で画像の複雑な領域でΔＱＰが十分大きくならずに符号量が出すぎるという問題や、逆に同一のＣＵ内の画像の平坦な領域でΔＱＰが十分小さくならずに視覚的な劣化が発生するという問題を解決することができる。
【００５２】
また、本実施形態では、符号化に用いるブロックサイズを事前に決定ないし制限するのではなく、ＣＵ分割が促進されるようオフセット値を加えるのみとしている。そのため、本実施形態によってＣＵ分割を促進したとしても、符号化効率の観点で大きなブロックサイズがオフセット値を超えて優れている場合には、大きなブロックサイズが選択される。そのため、符号化に用いるブロックサイズを事前に決定ないし制限する方法と比較して、符号化効率の低下を抑制するという効果がある。
【００５３】
なお、前述した実施形態において、閾値およびオフセット値は事前に設定された値としたが、これを固定値ではなく、符号化の条件に応じて可変とすることもできる。例えば、本実施形態で行っているＣＵブロックサイズ判定は、符号化を行う際の代表的な量子化パラメータ値（ベースＱＰ）の影響が大きいことから、図４に示すように、各閾値およびオフセット値を、ベースＱＰの関数としてテーブル参照によって求めてもよい。図４は、閾値およびオフセット値を、符号化の際の代表的な量子化パラメータであるベースＱＰ図をもとにテーブル参照によって求める際のテーブル構造を示す図である。
【００５４】
ベースＱＰは、例えばＴＭ５のステップ２符号化制御によって、ピクチャ単位、もしくはマクロブロックライン単位（ＨＥＶＣではＣＴＵライン単位）に決定されるから、本実施形態による処理を行う前に、ピクチャ単位、もしくはマクロブロックライン単位（ＨＥＶＣではＣＴＵライン単位）で図４に示すようなテーブルによって閾値およびオフセット値を決定し、本実施形態による処理を行えばよい。
【００５５】
また、前述した実施形態はあくまで本発明に基づく実施の一形態に過ぎない。例えば本実施形態においては、あるブロックサイズにおけるΔＱＰ値と、そのブロックサイズを１回分割（４つに分割）したブロックサイズのいずれかのΔＱＰ値との差分が、事前に設定した一定の値を超えている場合に、モード判定時の分割促進オフセットを加算する方式としているが、分割促進オフセットを加算する条件はもちろん上記に限定されるものではない。
【００５６】
また、あるブロックサイズにおけるΔＱＰ値と、そのブロックサイズを１回分割（４つに分割）したブロックサイズのΔＱＰ値との差分が、すべて事前に設定した一定の値を超えている場合とすることもできるし、４つのうち一定の個数が超えている場合とすることもできる。すなわち、ステップＳ３およびステップＳ６において、内包する４式のいずれかが真であれば真としたが、これを、内包する４式のうち事前に定めた個数の式が真であれば真とするようにしてもよいし、内包する４式すべてが真の場合に限って真とするようにしてもよい。
【００５７】
また、モード判定オフセットは、コスト値に一定の値を加減算するものに限られることなく、例えばＣｏｓｔ６４［０］やＣｏｓｔ３２［０］〜Ｃｏｓｔ３２［３］に一定の値α（αは例えば１．１）を乗ずることにより、小さなブロックサイズを選択されやすくするようにしてもよい。また、乗算と加算の混合とするようにしてもよい。
【００５８】
以上説明したように、異なるＣＵサイズのΔＱＰの差が一定の値以上となる場合により小さいブロックサイズが選択されるようなオフセット値を算出し（図２に示す処理動作）、このオフセット値をＣＵの符号化コストに加算したコストを用いてＣＵ分割を決定することにより、同一のＣＵ内に複雑な領域と平坦な領域が混在する場合において、複雑な領域では符号量が出すぎる一方で平坦な領域では視覚的な劣化が発生するという問題を解決することができる。
【００５９】
特に、あるＣＴＵの中で、画像の特徴量が異なる領域が混在する場合、より具体的にはステップ３制御の結果として異なるΔＱＰを持つブロックが存在する場合には、ＣＴＵ内のＣＵ分割を起こりやすくするような制御、具体的にはより小さなＣＵが発生しやすいようなオフセット値を加減算してＣＵサイズ判定を行うようにした。この処理により、あるＣＴＵの中で画像の特徴量が異なる領域が混在する場合に、ＣＵ分割を促進することにより、複雑な領域と平坦な領域が１つのＣＵの中に混在することを抑制することができる。
【００６０】
この構成によれば、あるＣＴＵの中で画像の特徴量が異なる領域が混在する場合に、ＣＵ分割を促進することにより、複雑な領域と平坦な領域が１つのＣＵの中に混在することを抑制することができる。この結果、同一のＣＵ内で画像の複雑な領域でΔＱＰが十分大きくならずに符号量が出すぎるという問題や、逆に同一のＣＵ内の画像の平坦な領域でΔＱＰが十分小さくならずに視覚的な劣化が発生するという問題を解決することができる。
【００６１】
前述した実施形態における映像符号化装置の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００６２】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００６３】
複数のブロックサイズの組み合わせを用いて映像を符号化することが不可欠な用途に適用できる。
【符号の説明】
【００６４】
１・・・マルチブロックサイズΔＱＰ値算出部、２・・・分割促進オフセット算出部、３・・・映像符号化部、３１・・・予測部、３２・・・符号化コスト評価部、３３・・・符号化モード判定部、３４・・・符号化部
【要約】
【課題】ＣＴＵの中で画像の特徴量が異なる領域が混在する場合に、複雑な領域と平坦な領域が１つのＣＵの中に混在することを抑制する。
【解決手段】複数のブロックサイズのブロックを組み合わせて映像の符号化を行う映像符号化装置であって、複数のブロックサイズに対して画像の特徴量に基づいて量子化ステップを表す値の変化量を算出するΔＱＰ値算出手段と、異なるブロックサイズ間の量子化ステップを表す値が事前に設定した所定の閾値以上異なるか否かを判定し、所定の閾値以上異なる場合は、より小さなブロックサイズの選択を促進させるオフセット値を出力する分割促進オフセット算出手段と、オフセット値を加算したコスト値を用いて符号化モード判定を行う符号化モード判定手段とを備える。
【選択図】図１【図１】
0006053210.tif 000006
【図２】
0006053210.tif 000007
【図３】
0006053210.tif 000008
【図４】
0006053210.tif 000009
【図５】
0006053210.tif 000010
【図６】
0006053210.tif 000011