(57)【要約】      （修正有）【課題】符号化情報量の消費を抑制し、映像全体の画質低下を抑制する動画像符号化装置、動画像符号化方法及びプログラムを提供する。【解決手段】ダミー量子化値挿入部６０は、符号化対象のＣＵ（Ｃｏｄｉｎｇ  Ｕｎｉｔ）が先頭ＣＵである場合に、レート制御量子化値で量子化された量子化変換係数の全てがゼロであるか否かを判定し、量子化変換係数が全てゼロの場合に、いずれかの係数を非ゼロにした無歪み係数付加量子化変換係数を生成する。そして、非ゼロ係数に対応するＴＵ（Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ）に基づいて、復号予測誤差ブロックの値がゼロとなる量子化値を無歪み量子化値として選択する。符号化対象の先頭ＣＵの予測誤差に対する、先頭ＣＵが属する量子化設定単位の他のＣＵの予測誤差の大きさに応じて、無歪み量子化値より大きな値の補正最適量子化値を生成する。【選択図】図４
2016092494.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置であって、
第１量子化値に基づいて前記第１サブブロックを符号化する第１符号化手段と、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定する第１判定手段と、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１符号化手段により量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定する第２判定手段と、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成する第１付加手段と、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択する第１選択手段と、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成する生成手段と、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定する設定手段と、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する第２符号化手段と
を備える、
ことを特徴とする符号化装置。
【請求項２】
前記第１候補値と前記第１量子化値との間で複数の候補量子化値を選択する第２選択手段と、
前記候補量子化値のそれぞれに対し、前記量子化変換係数に非ゼロの値を付加した場合の符号化情報量の推定値である符号化コストを算出する第１算出手段と、
算出された前記符号化コストの内で最小の符号化コストに対応する候補量子化値を第２候補値として特定する第１特定手段と、
前記第２候補値に対応する前記量子化変換係数に非ゼロの値を付加した第２係数付加量子化変換係数を生成する第２付加手段と、
前記第１候補値と前記第２候補値とを比較して、値がより大きい候補値を最適候補値として特定する第２特定手段と、
を、更に、備え、
前記生成手段は、符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記最適候補値をより大きな値に補正した第２量子化値を生成し、
前記設定手段は、前記第１係数付加量子化変換係数と前記第２係数付加量子化変換係数との内で前記最適候補値に対応する非ゼロの値を付加した係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定する、
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
周波数変換対象である予測誤差ブロックを生成する際に用いられる予測ブロックは、イントラ予測によるイントラ予測ブロックとインター予測によるインター予測ブロックの２種類あり、
符号化対象の前記先頭の第１サブブロックに対応する予測ブロックがイントラ予測ブロックである場合に、該先頭の第１サブブロックに属する、前記第１サブブロックを分割した周波数変換処理の単位である第３サブブロックの内で周波数変換処理順が最後の第３サブブロックに基づいて、前記復号予測誤差ブロックの値がゼロとなる量子化値の範囲を特定し、特定した範囲の内で略最大の値を第３候補値として選択する第３選択手段を、更に、備え、
前記第２選択手段は、符号化対象の前記先頭の第１サブブロックに対応する予測ブロックがイントラ予測ブロックである場合に、前記第３候補値と前記第１量子化値との間で複数の前記候補量子化値を選択する、
ことを特徴とする請求項２に記載の符号化装置。
【請求項４】
符号化対象の前記先頭の第１サブブロックに対応する原画ブロックの画像の複雑さを示す指標である複雑度に基づいて、前記量子化変換係数に非ゼロの値を付加することに起因する前記復号予測誤差ブロックにおけるノイズが目立たない状態を維持できる量子化値の上限値を算出する第２算出手段を、更に、備え、
前記生成手段は、前記上限値を超えないように前記第１候補値又は前記最適候補値を補正して前記第２量子化値を生成する、
ことを特徴とする請求項１乃至３のいずれか一に記載の符号化装置。
【請求項５】
前記生成手段は、符号化対象の前記先頭の第１サブブロックの予測誤差における前記複雑度に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差における前記複雑度の比率に基づいて、前記第１候補値又は前記最適候補値をより大きな値に補正する、
ことを特徴とする請求項１乃至４のいずれか一に記載の符号化装置。
【請求項６】
符号化に起因するブロック境界におけるブロックノイズを低減するためのデブロッキングフィルタを、更に、備え、
前記デブロッキングフィルタは、前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックにおけるフィルタ強度を設定する、
ことを特徴とする請求項１乃至５のいずれか一に記載の符号化装置。
【請求項７】
前記第１付加手段は、符号化対象の前記先頭の第１サブブロックに属する前記第３サブブロックの内で最大サイズの第３サブブロックを特定し、特定した前記第３サブブロックに対応する前記量子化変換係数のいずれかの係数に非ゼロの値を付加した前記第１係数付加量子化変換係数を生成する、
ことを特徴とする請求項１乃至６のいずれか一に記載の符号化装置。
【請求項８】
周波数変換対象である予測誤差ブロックを生成する際に用いられる予測ブロックは、イントラ予測によるイントラ予測ブロックとインター予測によるインター予測ブロックの２種類あり、
前記第１付加手段は、符号化対象の前記先頭の第１サブブロックに対応する前記予測ブロックが前記インター予測ブロックである場合には、符号化方式において選択し得る最大サイズの第３サブブロックを特定する、
ことを特徴とする請求項７に記載の符号化装置。
【請求項９】
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置の符号化方法であって、
第１量子化値に基づいて前記第１サブブロックを符号化し、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成し、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定し、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する、
ことを特徴とする符号化方法。
【請求項１０】
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置のコンピュータに、
第１量子化値に基づいて前記第１サブブロックを符号化し、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成し、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定し、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する、
処理を実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、符号化方法、及び、プログラムに関する。
【背景技術】
【０００２】
これまでＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）やＬａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ（ＬＳＩ）では動作周波数の増加により処理能力を向上させてきた。しかし、消費電力等の要因から動作周波数の増加による処理能力の向上が難しくなり、複数ＣＰＵコアや並列処理により処理能力の増加を行うようになってきている。
【０００３】
また、符号化技術では、さらなる圧縮率の向上を実現するために、複雑で処理負荷の高いアルゴリズムが採用されてきている。そのため、符号化装置では、負荷の高い処理を高速化するために、符号化対象の画像を画面内で分割して並列処理する等の並列処理が行われている。
【０００４】
画像符号化の国際標準であるＭＰＥＧ−４  ＡＶＣ（ＩＳＯ／ＩＥＣ  １４４９６−１０｜ＩＴＵ−Ｔ  Ｈ．２６４）（以下、単にＨ．２６４という）及びＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ，ＩＳＯ／ＩＥＣ  ２３００８−２｜ＩＴＵ−Ｔ  Ｈ．２６５）（以下、単にＨＥＶＣという）に準拠した動画像符号化装置では、入力された原画像は、符号化単位となる矩形のブロックに分割される。そして、画像の空間的・時間的類似性（相関）を利用したイントラ予測（フレーム内予測）あるいはインター予測（フレーム間予測）により生成される予測ブロック（イントラ予測ブロックあるいはインター予測ブロック）を、各ブロックから減算して、空間的・時間的冗長性が取り除かれた予測誤差ブロックを生成する。
【０００５】
そして、予測誤差ブロックに対し、空間的な相関が高いことを利用して冗長性を低減する周波数変換を行い、その後、量子化を行うことで、量子化変換係数を生成する。そして、量子化変換係数に対し、可変長符号化を行い、符号化データストリームとして出力する。また、量子化変換係数に対して、逆量子化・逆周波数変換を行うことで予測誤差ブロックを復元し、復元した予測誤差ブロックに予測ブロックを加算することで、復号ブロックを生成する。そして、復号ブロックに対して、デブロッキングフィルタ処理を適用し、局所復号ブロックを生成する。局所復号ブロックは、以降に符号化される画像のインター予測（フレーム間予測）時に参照される。
【０００６】
ここで、Ｈ．２６４とＨＥＶＣの規格の相違点について簡単に説明する。まず、符号化を行う処理単位である符号化単位は、Ｈ．２６４では、図２１Ａに示すように、マクロブロックである。マクロブロックは、１６画素×１６画素の矩形ブロックである。これに対し、ＨＥＶＣでは、図２１Ｂと図２１Ｃに示すように、符号化対象の画像をＣｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ（ＣＴＵ）に分割し、ＣＴＵを更に分割したＣｏｄｉｎｇ  Ｕｎｉｔ（ＣＵ）を符号化単位としている。ＣＴＵは、１６画素×１６画素、３２画素×３２画素、６４画素×６４画素から選択可能である。また、ＣＵは、図２１Ｃに示すように、ＣＴＵを再帰的に四分木分割したものである。ＣＵのサイズは、属するＣＴＵのサイズと等しいか又はそれ以下のサイズであり、８画素×８画素、１６画素×１６画素、３２画素×３２画素、６４画素×６４画素から選択可能である。なお、図２１Ａは、Ｈ．２６４の場合の符号化単位を説明するための図であり、図２１Ｂと図２１Ｃは、いずれも、ＨＥＶＣの場合の符号化単位を説明するための図である。
【０００７】
周波数変換を行う処理単位である周波数変換単位は、Ｈ．２６４では、図２２Ａに示すように、マクロブロックを４画素×４画素に分割したブロックである。なお、符号化対象の画面が大きい場合には、８画素×８画素も可能となっている。ＨＥＶＣでは、図２２Ｂに示すように、周波数変換単位はＴｒａｎｓｆｏｒｍ  Ｕｎｉｔ（ＴＵ）と称されており、ＣＵを再帰的に分割した構造となっている。ＴＵのサイズは、属するＣＵのサイズ以下であり、４画素×４画素、８画素×８画素、１６画素×１６画素、３２画素×３２画素から選択することが可能である。図２２Ｂの例では、例えば、３２画素×３２画素のＣＵを、１６画素×１６画素と８画素×８画素のＴＵに分割した場合を示している。なお、図２２Ａは、Ｈ．２６４の場合の周波数変換単位を説明するための図であり、図２２Ｂは、ＨＥＶＣの場合の周波数変換単位を説明するための図である。
【０００８】
変換係数の量子化処理の調整を行うパラメータである量子化値（Ｑｕａｎｔｉｚａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ（ＱＰ））を符号化する処理単位である量子化設定単位（Ｑｕａｎｔｉｚａｔｉｏｎ  Ｇｒｏｕｐ（ＱＧ））は、Ｈ．２６４では、図２３Ａに示すように、マクロブロック単位である。これに対し、ＨＥＶＣでは、図２３Ｃに示すように、１つの量子化値ＱＰを複数のＣＵが共用することが可能である。量子化設定単位ＱＧのサイズは、最小ＣＵサイズからＣＴＵサイズの間で、８画素×８画素、１６画素×１６画素、３２画素×３２画素、６４画素×６４画素から選択可能である。図２３Ｂの例は、ＣＴＵが６４画素×６４画素で、量子化設定単位ＱＧが１６画素×１６画素の場合の例であり、図２３Ｃは、量子化設定単位ＱＧが３２画素×３２画素の場合の例である。量子化設定単位ＱＧが３２画素×３２画素の場合、量子化値ＱＰ２と量子化値ＱＰ３は、複数のＣＵで共用されている。なお、図２３Ａは、Ｈ．２６４の場合の量子化設定単位ＱＧを説明するための図であり、図２３Ｂと図２３Ｃは、いずれも、ＨＥＶＣの場合の量子化設定単位ＱＧを説明するための図である。
【０００９】
Ｈ．２６４では、画面内を並列に符号化処理する場合には、図２４に示すように、符号化単位であるマクロブロックの水平ライン（以下、マクロブロックラインという）を単位として、符号化対象の画像を垂直方向に分割して処理することが一般的である。分割されたマクロブロックラインを（物理的に、あるいは、論理的に）複数のＣＰＵに割り当てることで、並列に符号化処理を行っている。各マクロブロックラインの先頭のマクロブロックの量子化値ＱＰを予め決めておき、ＣＰＵが各々担当するマクロブロックラインの符号化を並行して行う。可変長符号化処理において、符号化データストリームに符号化する量子化値情報は、直前の符号化単位の量子化値ＱＰとの差分値である。例えば、図２４を参照して、上から２番目のマクロブロックラインの先頭のマクロブロックＭＢ＿Ｃｕｒｒで符号化される量子化値情報は、直前のマクロブロックライン（一番上のマクロブロックライン）の最後のマクロブロックＭＢ＿Ｐｒｅｖの量子化値をＱＰＡＥＮＤ、ＭＢ＿Ｃｕｒｒの量子化値をＱＰＢとすると、ＱＰＢ−ＱＰＡＥＮＤとなる。なお、図２４は、符号化処理を並列に行った場合の、従来技術の問題点を説明するための図である。
【００１０】
Ｈ．２６４では、符号化対象のマクロブロックに非ゼロの量子化変換係数が１つもない場合には、このマクロブロックにおいては量子化値情報が符号化されない。この場合、符号化データストリームの復号時にこのマクロブロックに適用する量子化値は、符号化時の量子化値ではなく、処理順で直前のマクロブロックの量子化値と同じ値とすることが規定されている。
【００１１】
例えば、図２４を参照して、符号化対象のマクロブロックが、マクロブロックラインの先頭のマクロブロックであるＭＢ＿Ｃｕｒｒである場合、処理順で直前のマクロブロックは、一番上のマクロブロックラインの最後のマクロブロックＭＢ＿Ｐｒｅｖとなる。つまり、画面内を並列処理した結果、マクロブロックラインの先頭のマクロブロックにおいて量子化変換係数が全て“０”になった場合、符号化装置と復号装置とで異なった量子化値でデブロッキングフィルタ処理が行われてしまう。そのため、符号化装置の局所復号ブロックと復号装置の局所復号ブロックが異なってしまう。その結果、符号化装置で予測に用いた画像と異なる画像が、復号装置側で復号した予測誤差に加算されるため、復号装置の復号画像の画質が劣化するという問題がある。
【００１２】
この問題は、例えば、符号化対象のマクロブロックにおいて非ゼロ係数を含む量子化変換係数を発生させることで解決することができる（例えば、特許文献１を参照）。
【００１３】
特許文献１で提案されている方法は、マクロブロックラインの先頭のマクロブロックに非ゼロの量子化変換係数が１つもない場合に、いずれか１つの量子化変換係数（通常はＤＣ成分の係数）を非ゼロの整数（例えば、“１”）に置換すると共に、非ゼロ係数を付加した量子化変換係数を逆量子化・逆周波数変換しても予測誤差ブロックの画素値が全て“０”となる小さな量子化値（ダミー量子化値）に、適用する量子化値を変更する。適用する量子化値をダミー量子化値に変更することにより、量子化値情報を符号化することが可能になる。また、量子化変換係数を置換しない場合と同一の局所復号ブロックを得ることができるため、非ゼロ係数の付加に起因するノイズが発生を抑えることが可能となる。更に、非ゼロの量子化変換係数を発生させることで、符号化装置と復号装置の局所復号ブロックの相違を抑制し、画質劣化を抑制することが可能となる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００７−２５１７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、特許文献１で提案されている方法では、非ゼロ係数による情報量と、量子化値情報量（直前の量子化設定単位ＱＧ（Ｈ．２６４の場合は、符号化単位）の量子化値ＱＰとの差分）が増加してしまうことが多いという問題（第１の問題）がある。このように量子化値情報量が増加するのは、逆量子化・逆周波数変換を行っても予測誤差が全て“０”になるような量子化値ＱＰは非常に小さいため、符号化制御により決定される量子化値ＱＰとの差分が大きくなることが多いためである。
【００１６】
第１の問題については、符号化装置における符号時の復号画像と復号装置における復号画像のミスマッチを抑制するために設定するダミー量子化値を、非ゼロ係数の付加に起因する画質劣化を抑えつつ、なるべく大きくすることで解決することができる。つまり、この問題は、非ゼロ係数の付加に起因する画質劣化と、量子化値を小さくすることで増加する符号化情報量とのトレードオフを考慮して、最適な量子化値を決定することで解決することができる。しかしながら、このような量子化値は依然として小さいため、先頭ＣＵの予測誤差と比較して、ＣＵ＿Ｆｏｌｌｏｗの予測誤差が大きいと、多くの符号化情報量を消費してしまい、映像全体における画質が低下してしまう。
【００１７】
また、特許文献１で提案されている方法を、ＨＥＶＣに適用した場合、ＨＥＶＣでは上述したように、複数のＣＵに対して１つの量子化値を割り当てる場合がある。例えば、符号化対象の画像を分割したスライスの先頭のＣＴＵの最初のＣＵ（以下、先頭ＣＵという）が属する量子化設定単位ＱＧに先頭ＣＵ以外のＣＵ（以下、ＣＵ＿Ｆｏｌｌｏｗという）が存在する場合、つまり、先頭ＣＵのサイズが量子化設定単位ＱＧより小さい場合を想定する。この場合、先頭ＣＵの量子化変換係数が全て“０”だとすると、小さく変更された量子化値ＱＰ（ダミー量子化値）は、先頭ＣＵが属する量子化設定単位ＱＧの他のＣＵ（ＣＵ＿Ｆｏｌｌｏｗ）に対しても適用されることとなる。そのため、先頭ＣＵの予測誤差と比較して、ＣＵ＿Ｆｏｌｌｏｗの予測誤差が大きいと、通常の場合と比較して、非ゼロの量子化変換係数が多く発生しまう。そのため、通常の場合と比較して、多くの符号化情報量を消費するため、映像全体における画質が低下してしまう（第２の問題）。
【００１８】
一つの側面では、符号化対象の画像を分割したスライスの先頭のＣＵの量子化変換係数が全て“０”の場合に、非ゼロ係数を付加するＣＵ（先頭のＣＵ）が属する量子化設定単位ＱＧの他のＣＵ（ＣＵ＿Ｆｏｌｌｏｗ）の予測誤差が、先頭のＣＵの予測誤差と比較して大きくても、符号化情報量の消費を抑制し、映像全体の画質低下を抑制することを可能とする符号化装置、符号化方法、及び、プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１９】
一態様における符号化装置は、符号化対象の画像を複数のブロックに分割し、複数のブロックから構成される領域毎に並列に符号化処理し、ブロックを分割した符号化を行う単位である第１サブブロックのサイズとブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置であって、第１量子化値に基づいて第１サブブロックを符号化する第１符号化手段と、符号化対象の第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定する第１判定手段と、符号化対象の第１サブブロックが先頭の第１サブブロックである場合に、第１符号化手段により量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定する第２判定手段と、量子化変換係数の全てがゼロである場合に、量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成する第１付加手段と、非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択する第１選択手段と、符号化対象の先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、第１候補値より大きな値の第２量子化値を生成する生成手段と、第１係数付加量子化変換係数と第２量子化値とを符号化データとして設定する設定手段と、量子化変換係数に非ゼロの値を付加した場合に、第２量子化値に基づいて、符号化対象の先頭の第１サブブロックが属する第２サブブロックの他の第１サブブロックを符号化する第２符号化手段と、を備えることを特徴としている。
【００２０】
一態様における符号化方法は、符号化対象の画像を複数のブロックに分割し、複数のブロックから構成される領域毎に並列に符号化処理し、ブロックを分割した符号化を行う単位である第１サブブロックのサイズとブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置の符号化方法であって、第１量子化値に基づいて第１サブブロックを符号化し、符号化対象の第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、符号化対象の第１サブブロックが先頭の第１サブブロックである場合に、第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、量子化変換係数の全てがゼロである場合に、量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、符号化対象の先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、第１候補値より大きな値の第２量子化値を生成し、第１係数付加量子化変換係数と第２量子化値とを符号化データとして設定し、量子化変換係数に非ゼロの値を付加した場合に、第２量子化値に基づいて、符号化対象の先頭の第１サブブロックが属する第２サブブロックの他の第１サブブロックを符号化する、ことを特徴としている。
【００２１】
一態様におけるプログラムは、符号化対象の画像を複数のブロックに分割し、複数のブロックから構成される領域毎に並列に符号化処理し、ブロックを分割した符号化を行う単位である第１サブブロックのサイズとブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置のコンピュータに、第１量子化値に基づいて第１サブブロックを符号化し、符号化対象の第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、符号化対象の第１サブブロックが先頭の第１サブブロックである場合に、第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、量子化変換係数の全てがゼロである場合に、量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、符号化対象の先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、第１候補値より大きな値の第２量子化値を生成し、第１係数付加量子化変換係数と第２量子化値とを符号化データとして設定し、量子化変換係数に非ゼロの値を付加した場合に、第２量子化値に基づいて、符号化対象の先頭の第１サブブロックが属する第２サブブロックの他の第１サブブロックを符号化する、処理を実行させることを特徴としている。
【発明の効果】
【００２２】
一つの側面では、符号化対象画像の左端に位置し、共通の量子価値を適用する複数のサブブロック（ＱＧ単位）での先頭のサブブロック（先頭のＣＵ）の量子化変換係数が全て“０”の場合に、非ゼロ係数を付加する先頭のサブブロックが属する他のサブブロック（ＣＵ＿Ｆｏｌｌｏｗ）の予測誤差が、先頭のサブブロックの予測誤差と比較して大きくても、符号化情報量の消費を抑制し、映像全体の画質低下を抑制することが可能となる。
【図面の簡単な説明】
【００２３】
【図１】実施形態における動画像符号化装置の構成例を示す機能ブロック図である。
【図２】実施形態における制御部内の情報の概略的な流れを示す図である。
【図３】実施形態における量子化値範囲管理テーブルの例を示す図である。
【図４】実施形態における符号化部の構成例を示す機能ブロック図である。
【図５】実施形態における一つの符号化部に注目した場合の制御部内の情報の概略的な流れを示す図である。
【図６】実施形態における符号化対象画像の分割態様の例を示す図である。
【図７】実施形態における符号化対象画像の分割態様の別の例を示す図である。
【図８】実施形態におけるダミー量子化値挿入部の構成例を示す機能ブロック図である。
【図９】実施形態におけるダミー量子化値挿入部内の情報の概略的な流れを示す図である。
【図１０】実施形態における量子化値候補生成部の構成例を示す機能ブロック図である。
【図１１】実施形態における符号化条件選択部の構成例を示す機能ブロック図である。
【図１２】実施形態における量子化値補正部の構成例を示す機能ブロック図である。
【図１３】ＡとＢは、いずれも、実施形態における補正最適量子化値の特定方法を説明するための図である。
【図１４】実施形態における符号化処理のフローを説明するためのフローチャートの例である。
【図１５】実施形態におけるダミー量子化値挿入処理のフローを説明するためのフローチャートの例である。
【図１６】実施形態における最適量子化値特定処理のフローを説明するためのフローチャートの例である。
【図１７】実施形態におけるイントラ処理のフローを説明するためのフローチャートの例である。
【図１８】実施形態におけるインター処理のフローを説明するためのフローチャートの例である。
【図１９】実施形態における局所復号ブロック生成処理のフローを説明するためのフローチャートの例である。
【図２０】実施形態における動画像符号化装置のハードウェア構成の例を示す図である。
【図２１】Ａは、Ｈ．２６４の場合の符号化単位を説明するための図であり、ＢとＣは、いずれも、ＨＥＶＣの場合の符号化単位を説明するための図である。
【図２２】Ａは、Ｈ．２６４の場合の周波数変換単位を説明するための図であり、Ｂは、ＨＥＶＣの場合の周波数変換単位を説明するための図である。
【図２３】Ａは、Ｈ．２６４の場合の量子化設定単位を説明するための図であり、ＢとＣは、いずれも、ＨＥＶＣの場合の量子化設定単位を説明するための図である。
【図２４】符号化処理を並列に行った場合の、従来技術の問題点を説明するための図である。
【発明を実施するための形態】
【００２４】
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
図１は、本実施形態における動画像符号化装置１の構成例を示す機能ブロック図である。図２は、本実施形態における制御部４０内の情報の概略的な流れを示す図である。
【００２５】
本実施形態における動画像符号化装置１は、例えばＨＥＶＣのように入力された動画像の各画像を多段階に分割して符号化することが可能な符号化方式に従って、符号化対象の各画像を符号化する装置である。つまり、本実施形態における動画像符号化装置１は、例えばＨＥＶＣであれば、ＣＴＵライン毎に、並列に符号化処理する装置である。本実施形態における動画像符号化装置１は、図１に示すように、入力部１０と、記憶部２０と、出力部３０と、制御部４０と、を含んでいる。
【００２６】
入力部１０は、例えば、カメラを接続するための機器インターフェース、あるいは、通信モジュールなどで構成され、外部装置から処理対象の動画像の画像を順次受け付ける。そして、入力部１０は、受け付けた画像を、分割部４１（詳しくは後述）に出力する。この際、入力部１０は、受け付けた画像をバッファ（不図示）に順次格納し、分割部４１は、符号化処理のタイミングに合わせてバッファから処理対象の画像を順次取得してもよい。
【００２７】
記憶部２０は、例えば、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）などを備えている。記憶部２０は、制御部４０が備える、例えば、ＣＰＵのワークエリア、動画像符号化装置１全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリアとして機能する。また、記憶部２０は、量子化された変換係数（以下、量子化変換係数という）の周波数ごとの重みを調整するための行列であるスケーリングリスト（ＳｃａｌｉｎｇＬｉｓｔ）や、量子化値範囲管理テーブルＴ１（詳しくは後述）などの各種データを格納するデータエリアとして機能する。
【００２８】
また、記憶部２０は、図１に示すように、局所復号画像記憶部２１として機能する。局所復号画像記憶部２１は、デブロッキングフィルタ５９（詳しくは後述）により生成された局所復号ブロックを格納する。格納されている局所復号ブロックは、予測ブロックを生成する際に参照される。
【００２９】
ここで、図３を参照して、本実施形態における量子化値範囲管理テーブルＴ１について説明する。図３は、本実施形態における量子化値範囲管理テーブルＴ１の例を示す図である。量子化値範囲管理テーブルＴ１は、逆量子化・逆周波数変換処理より復元された予測誤差ブロックの値ｒｉｊ（詳しくは後述）が“０”になる量子化値ＱＰの範囲（以下、ＱＰ範囲という）をスケーリングリストＤＣの値毎に管理しているテーブルである。
【００３０】
量子化値範囲管理テーブルＴ１のＴＵサイズとＱＰ範囲の対応関係からわかるように、ＴＵサイズが大きいほどＱＰ範囲の最大値が大きくなる。また、画像内では、局所的には空間的相関があるため、符号化対象のＣＵのレート制御量子化値ＱＰｒｃは、周囲のＣＵにおいて使用されるレート制御量子化値ＱＰｒｃと近い値となる。つまり、選択可能なＴＵサイズの内で最大のＴＵサイズにおけるＱＰ範囲の最大値を無歪み量子化値ＱＰｎｄとすることで、量子化値の符号化情報量の増加を抑制することが可能となる。
【００３１】
出力部３０は、例えば、通信モジュールなどを備えており、結合部４３（詳しくは後述）により生成された符号化データストリームを出力する。
【００３２】
制御部４０は、例えば、ＣＰＵなどを備えており、記憶部２０のプログラムエリアに格納されている動作プログラムを実行する。動作プログラムを実行することで、制御部４０は、図１に示すように、分割部４１と、複数の符号化部４２（４２−１〜４２−ｎ）と、結合部４３としての機能を実現する。また、制御部４０は、動画像符号化装置１全体を制御する制御処理や詳しくは後述の符号化処理などの処理を実行する。なお、以下において、各符号化部４２−１〜４２−ｎを区別する必要がない場合には、符号化部４２として総称する。
【００３３】
分割部４１は、動画像の各画像を、水平方向にＣＴＵが並んだＣＴＵラインごとに分割する。そして、分割部４１は、図２に示すように、各ＣＴＵラインのデータを、それぞれ、符号化部４２−１〜４２−ｎの何れかに出力する。なお、分割対象の画像は、フレーム又はフィールドの何れであってもよい。フレームは、動画像中の一つの静止画像であり、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
【００３４】
符号化部４２は、入力されたＣＴＵラインに含まれる各ＣＴＵを符号化する。そして、符号化部４２は、図２に示すように、入力されたＣＴＵラインに含まれる各ＣＴＵの符号化データを結合部４３に出力する。なお、符号化部４２については、更に詳細に後述する。
【００３５】
結合部４３は、入力された各ＣＴＵの符号化データに基づいて、動画像の符号化データストリームを生成し、出力部３０を介して、生成した符号化データストリームを出力する。
【００３６】
より具体的には、結合部４３は、入力された各ＣＴＵの符号化データを、一番上のＣＴＵラインに含まれるＣＴＵの符号化データからラスタスキャン順に結合する。そして、結合部４３は、そのデータストリームに含まれる各種の符号化データを、生起確率が高い信号値ほど短くなるように可変長符号化する。この際、可変長符号化として、結合部４３は、例えば、コンテキスト適応可変長符号化（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｈｔ  Ｃｏｄｉｎｇ（ＣＡＶＬＣ））、あるいはコンテキスト適応バイナリ算術符号化（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ（ＣＡＢＡＣ））を用いることができる。
【００３７】
結合部４３は、可変長符号化により生成されたデータストリームに所定の符号化データのフォーマットに従ってヘッダ情報などを付加することで、符号化対象の画像の符号化データストリームを生成する。また、結合部４３は、画像毎の符号化順序に従って、各画像の符号化データストリームを結合し、結合した符号化データストリームに所定の符号化データのフォーマットに従ってヘッダ情報などを付加することで、動画像の符号化データストリームを生成する。
【００３８】
次に、図４と図５を参照して、本実施形態における符号化部４２について詳細に説明する。図４は、本実施形態における符号化部４２の構成例を示す機能ブロック図である。図５は、本実施形態における一つの符号化部４２に注目した場合の制御部４０内の情報の概略的な流れを示す図である。
【００３９】
符号化部４２のそれぞれは、図４に示すように、イントラ予測部５１と、インター予測部５２と、予測ブロック選択部５３と、予測誤差ブロック生成部５４と、符号化制御部５５と、変換・量子化部５６と、逆量子化・逆変換部５７と、復号ブロック生成部５８と、デブロッキングフィルタ５９と、ダミー量子化値挿入部６０と、を含んでいる。
【００４０】
イントラ予測部５１は、予測対象ブロックに対しイントラ予測（フレーム内予測）を適用し、イントラ予測ブロックを生成する。そして、イントラ予測部５１は、図５に示すように、生成したイントラ予測ブロックを予測ブロック選択部５３に出力する。イントラ予測は、符号化済みの隣接ブロックの画素値から予測対象ブロックの画素値を予測することでイントラ予測ブロックを生成するものである。
【００４１】
インター予測部５２は、局所復号画像記憶部２１に格納されている局所復号ブロックを参照画像として、予測対象ブロックに対しインター予測（フレーム間予測）を適用し、インター予測ブロックを生成する。そして、インター予測部５２は、図５に示すように、生成したインター予測ブロックを予測ブロック選択部５３に出力する。インター予測は、時間的相関を利用してインター予測ブロックを生成するものである。
【００４２】
予測ブロック選択部５３は、従来技術に従って、入力されたイントラ予測結果とインター予測結果を比較し、より適切な予測ブロックを選択する。そして、予測ブロック選択部５３は、図５に示すように、選択した予測ブロックを、予測誤差ブロック生成部５４と復号ブロック生成部５８とダミー量子化値挿入部６０に出力する。また、予測ブロック選択部５３は、選択した予測ブロックの予測タイプを示す選択情報を生成し、生成した選択情報を変換・量子化部５６とダミー量子化値挿入部６０に出力する。
【００４３】
予測誤差ブロック生成部５４は、原画ブロックから入力された予測ブロックを減算して予測誤差ブロックを生成する。そして、予測誤差ブロック生成部５４は、図５に示すように、生成した予測誤差ブロックを、変換・量子化部５６とダミー量子化値挿入部６０に出力する。
【００４４】
符号化制御部５５は、直前のＣＵにおける符号化情報量に基づいて、量子化値の予測値であるレート制御量子化値ＱＰｒｃを生成する。そして、符号化制御部５５は、図５に示すように、生成したレート制御量子化値ＱＰｒｃを変換・量子化部５６とダミー量子化値挿入部６０などに出力する。
【００４５】
変換・量子化部５６は、選択情報に基づいて、入力された予測誤差ブロックを適切なサイズのＴＵに分割し、ＴＵ毎に周波数変換することで、予測誤差ブロックの水平方向と垂直方向の周波数成分を表す変換係数を求める。例えば、ＨＥＶＣにおいては、周波数変換として、離散コサイン変換（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ（ＤＣＴ））あるいは離散サイン変換（Ｄｉｓｃｒｅｔｅ  Ｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ（ＤＳＴ））が適応的に選択され用いられる。
【００４６】
そして、変換・量子化部５６は、ＴＵ毎の変換係数を量子化し、量子化変換係数を求める。より具体的には、変換・量子化部５６は、以下の式１に従って、入力されたレート制御量子化値ＱＰｒｃに基づいて、量子化ステップＱｓｔｅｐ（ＱＰ）を算出する。なお、本実施形態においては、量子化変換係数が置換されたＣＵ（詳しくは後述）が属する量子化設定単位ＱＧの他のＣＵ（ＣＵ＿Ｆｏｌｌｏｗ）に対しては、レート制御量子化値ＱＰｒｃの替わりに、ダミー量子化値挿入部６０より入力される補正最適量子化値ＱＰｃｏｒ（詳しくは後述）に基づいて量子化が行われる。これは、上述したように、量子化設定単位ＱＧ内では一度しか量子化値ＱＰを通知することができないからである。
【００４７】
【数１】
2016092494.tif 000003
【００４８】
そして、変換・量子化部５６は、以下の式２に従って、算出した量子化ステップＱｓｔｅｐ（ＱＰ）と上述したスケーリングリストとに基づいて算出される量子化幅で変換係数を量子化する。そして、変換・量子化部５６は、量子化変換係数とＴＵの分割形態を示すＴＵ分割情報を逆量子化・逆変換部５７とダミー量子化挿入部６０に出力する。
【００４９】
【数２】
2016092494.tif 000004
【００５０】
なお、式２中のｃ’ｉｊは（ｉ，ｊ）成分の変換係数をｃｉｊとした場合の対応する量子化変換係数であり、ＳＬ（ｉ，ｊ）はスケーリングリストの（ｉ，ｊ）成分の値である。また、式２中のＲｏｕｎｄ（）は整数へ丸める関数であり、Ｓｉｇｎ（）は正負の符号を出力する、いわゆる符号関数である。また、式２中のＡｂｓ（）は絶対値を出力する関数であり、演算子‘ａ＞＞ｂ’はパラメータａを下位方向にｂビットシフト（ｂビット右シフト）させるシフト演算子である。
【００５１】
逆量子化・逆変換部５７は、各ＴＵの量子化変換係数を逆量子化し、復元された変換係数に対して逆周波数変換を行うことで、予測誤差ブロックを復元する。そして、逆量子化・逆変換部５７は、図５に示すように、復元した予測誤差ブロックを復号ブロック生成部５８に出力する。例えば、変換・量子化部５６が周波数変換としてＤＣＴを用いている場合には、逆量子化・逆変換部５７は、逆周波数変換として逆ＤＣＴ処理を行う。これにより、逆量子化・逆変換部５７は、ＴＵ毎に、符号化前の予測誤差ブロックと同程度の情報を有する予測誤差ブロックを復元する。なお、以下において、復元された予測誤差ブロックを復号予測誤差ブロックと称する。
【００５２】
なお、本実施形態においては、量子化変換係数が置換されたＣＵが属する量子化設定単位ＱＧに対しては、レート制御量子化値ＱＰｒｃの替わりに、ダミー量子化値挿入部６０より設定される補正最適量子化値ＱＰｃｏｒ（ダミー量子化値）に基づいて、変換・量子化部５６より入力された量子化変換係数あるいはダミー量子化値挿入部６０より入力された非ゼロ係数が付加された量子化変換係数の逆量子化が行われる。これは、上述したように、量子化設定単位ＱＧ内では一度しか量子化値ＱＰを通知することができないからである。
【００５３】
逆量子化・逆変換部５７は、より具体的には、以下の式３に従って変換係数ｄｉｊを復元する。なお、式３中の演算子“ａ＜＜ｂ”は、パラメータａを上位方向へｂビットシフト（ｂビット左シフト）させるシフト演算子である。
【００５４】
【数３】
2016092494.tif 000005
【００５５】
復号ブロック生成部５８は、ＴＵ毎に、入力された予測ブロックの各画素値に復号予測誤差ブロックの対応する値を加算することで、復号ブロックを生成する。そして、復号ブロック生成部５８は、図５に示すように、生成した復号ブロックをデブロッキングフィルタ５９に出力する。
【００５６】
デブロッキングフィルタ５９は、入力された復号ブロックに対して、符号化によって生じたブロック境界の歪み（ブロックノイズ）を低減するために、デブロッキングフィルタ処理を行う。そして、デブロッキングフィルタ５９は、復号ブロックに対してデブロッキングフィルタ処理を施すことにより生成される局所復号ブロックを、参照画像として局所復号画像記憶部２１に格納する。これにより、インター予測時に、ブロックノイズを含んだ復号ブロックを参照することで、画質の劣化がフレーム間で伝播してしまうのを防ぐことができる。
【００５７】
ＨＥＶＣの場合、従来では、デブロッキングフィルタ５９は、量子化変換係数の１つ以上が非ゼロのＣＵ、すなわち、量子化値ＱＰが符号化されるＣＵについては、そのＣＵ自身の量子化値ＱＰに基づいて、デブロッキングフィルタの強度を設定する。一方、量子化変換係数の全てが“０”であるＣＵについては、デブロッキングフィルタ５９は、既に符号化されている他のＣＵの量子化値ＱＰに基づいて、デブロッキングフィルタの強度を設定する。
【００５８】
これに対し、本実施形態においては、デブロッキングフィルタ５９は、後述するように、量子化変換係数が置換されたＣＵ（量子化変換係数の全てが“０”であるＣＵ）については、ダミー量子化値挿入部６０により設定された補正最適量子化値ＱＰｃｏｒ（ダミー量子化値）に基づいて、例えば、ＨＥＶＣの規格に従ってデブロッキングフィルタの強度を設定する。これにより、動画像符号化装置１と復号装置とで異なった量子化値ＱＰに基づいてデブロッキングフィルタ処理させることに起因する復号装置における復号画像の画質劣化を解決することが可能となる。
【００５９】
ダミー量子化値挿入部６０は、符号化対象の画像を分割したスライスの先頭のＣＴＵの最初のＣＵ（以下、先頭ＣＵという）の量子化変換係数が全て“０”の場合に、符号化制御部５５が生成するレート制御量子化値ＱＰｒｃとは異なる補正最適量子化値ＱＰｃｏｒ（ダミー量子化値）を符号化処理などで用いる量子化値（符号化量子化値ともいう）として設定する。また、ダミー量子化値挿入部６０は、非ゼロ係数を付加した最適量子化変換係数を生成する。そして、ダミー量子化値挿入部６０は、補正最適量子化値ＱＰｃｏｒ（ダミー量子化値）を変換・量子化部５６と逆量子化・逆変換部５７とデブロッキングフィルタ５８と結合部４３に出力する。また、ダミー量子化値挿入部６０は、非ゼロ係数を付加した最適量子化変換係数を逆量子化・逆変換部５７と結合部４３に出力する。
【００６０】
なお、符号化対象の画像の分割態様は任意であり、上述の図２４に示したような符号化対象画像を８分割した分割態様以外であってもよい。例えば、図６に示すように、符号化対象画面を２分割したような分割態様であってもよい。また、図７に示すように、符号化対象画面を３分割したような分割態様であってもよい。さらに、図７に示すように、分割した領域の一部において、その領域の先頭のＣＴＵが画像の左端以外になるような分割態様であってもよい。ここで、図６は、本実施形態における符号化対象画像の分割態様の例を示す図である。図７は、本実施形態における符号化対象画像の分割態様の別の例を示す図である。
【００６１】
一方、符号化対象の画像を分割したスライスの先頭ＣＵの量子化変換係数が全て“０”ではない場合には、ダミー量子化値挿入部６０は、補正最適量子化値ＱＰｃｏｒ（ダミー量子化値）の設定及び非ゼロ係数を付加した最適量子化変換係数の生成を行わない。この場合、ダミー量子化値挿入部６０は、変換・量子化部５６より入力された量子化変換係数を結合部４３に出力する。
【００６２】
次に、図８乃至図１２を参照して、ダミー量子化値挿入部６０について更に詳細に説明する。図８は、本実施形態におけるダミー量子化値挿入部６０の構成例を示す機能ブロック図である。図９は、本実施形態におけるダミー量子化値挿入部６０内の情報の概略的な流れを示す図である。
【００６３】
ダミー量子化値挿入部６０は、図８に示すように、量子化値候補生成部６１と、ＲＤコスト算出部６２と、符号化条件選択部６３と、量子化値補正部６４と、を含んでいる。
【００６４】
図１０は、本実施形態における量子化値候補生成部６１の構成例を示す機能ブロック図である。量子化値候補生成部６１は、ダミー量子化値の候補を生成する機能部であり、図１０に示すように、無歪み係数付加量子化変換係数生成部６１Ａと、無歪み量子化値選択部６１Ｂと、ＲＤ量子化値候補算出部６１Ｃと、を含んでいる。
【００６５】
無歪み係数付加量子化変換係数生成部６１Ａは、符号化対象の画像を分割したスライスの先頭ＣＵの量子化変換係数が全て“０”の場合に、無歪み係数付加量子化変換係数を生成する。そして、無歪み係数付加量子化変換係数生成部６１Ａは、図９に示すように、生成した無歪み係数付加量子化変換係数を符号化条件選択部６３に出力する。無歪み係数付加量子化変換係数は、復号予測誤差ブロックの値ｒｉｊが“０”となる無歪み量子化値ＱＰｎｄ（詳しくは後述）が無歪み量子化値選択部６１Ｂにより選択されるＴＵの量子化変換係数を置換したものである。
【００６６】
より具体的には、無歪み係数付加量子化変換係数生成部６１Ａは、入力された選択情報に基づいて、符号化対象のＣＵがイントラＣＵかインターＣＵかを判定する。そして、インターＣＵの場合には、無歪み係数付加量子化変換係数生成部６１Ａは、分割形態を変更し、ＨＥＶＣの規格においてとりうるＴＵサイズの中で最大サイズのＴＵを選択する。これは、符号化対象の画像を分割したスライスの先頭ＣＵの量子化変換係数が全て“０”であると、インターＣＵの場合、分割形態を変更しても問題は生じないからである。一方、イントラＣＵの場合には、無歪み係数付加量子化変換係数生成部６１Ａは、入力されたＴＵ分割情報が示す分割形態の中で最大サイズのＴＵを特定する。イントラＣＵの場合に、分割形態を変更せずにＴＵを選択するのは、分割形態を変更するとイントラ予測に用いる画素が変わってしまうからである。
【００６７】
そして、無歪み係数付加量子化変換係数生成部６１Ａは、選択したＴＵのＤＣ成分を表す係数を非ゼロ（“１”又は“−１”）の値に置換することで、無歪み係数付加量子化変換係数を算出する。なお、量子化変換係数の内のどの周波数成分を表す係数が非ゼロの値に置換されてもよいが、結合部４３での可変長符号化に要するビット数が少ない点で、ＤＣ成分を表す係数を非ゼロの値に置換することが好ましい。同様に、置換する非ゼロの値も、“０”以外の任意の整数値とすることができるが、結合部４３での可変長符号化に要するビット数が少ない点で、“１”又は“−１”とすることが好ましい。
【００６８】
次に、最大サイズのＴＵを選択する理由について説明する。量子化変換係数のいずれかの係数が“０”から“１”に置換された場合、逆量子化・逆周波数変換により得られる、復号予測誤差ブロックの値ｒｉｊも“０”から他の値に変化する。量子化変換係数のいずれかの係数を置換した場合の復号予測誤差ブロックと量子化変換係数の係数を置換しない場合の復号予測誤差ブロックとの差は、量子化変換係数の置換により生じるノイズとみなすことができる。したがって、量子化変換係数の置換により生じるノイズが、復号後の画質に影響しないように、そのノイズは小さいほうが好ましい。よって、量子化変換係数の置換により生じるノイズが小さくなるように、量子化変換係数を置換するＴＵを選択することが好ましい。
【００６９】
量子化変換係数のＤＣ成分を表す係数（すなわち、ｉ＝０，ｊ＝０）の値を“１”に置換したとき、逆量子化・逆周波数変換後の復号予測誤差ブロックの値ｒｉｊは、量子化値ＱＰと、ＴＵサイズと、そのＴＵサイズに対応するスケーリングリストのＤＣ成分の値であるｓｃａｌｉｎｇＬｉｓｔＤＣと、に基づいて求めることができる。すなわち、ＴＵの量子化変換係数ｃ’ｉｊの全てが“０”である場合に、ｃ’００を“１”に置換としたときの逆量子化後の変換係数のＤＣ成分ｄ’００は、以下の式４に従って算出される。
【００７０】
【数４】
2016092494.tif 000006
【００７１】
そして、ＤＣ成分が“１”の場合に逆周波数変換（この例では、逆ＤＣＴ）により復元される復号予測誤差ブロックの値ｒｉｊは、ｄ’００に基づいて、以下の式５に従って算出される。
【００７２】
【数５】
2016092494.tif 000007
【００７３】
ＤＣ成分の量子化変換係数ｃ’００の値が置換されなければｒｉｊ＝０なので、ｒｉｊの絶対値が小さくなるようにＤＣ成分の量子化変換係数ｃ’００の値を置換するＴＵを選択することで、ノイズを低下できる。つまり、式４と式５から明らかなように、ｒｉｊを小さくするには、ｄ００を小さくすればよい。
【００７４】
すなわち、式３から明らかなように、ＴＵサイズが大きいほどｄｉｊが小さくなるので、ノイズを可能な限り低減するためには、無歪み係数付加量子化変換係数生成部６１Ａは、選択可能なＴＵサイズの内で最大サイズのＴＵを選択すればよいことがわかる。
【００７５】
無歪み量子化値選択部６１Ｂは、無歪み係数付加量子化変換係数生成部６１Ａにより選択されたＴＵにおいて、復号予測誤差ブロックの値ｒｉｊが“０”になるＱＰ範囲内、つまり、歪みが発生しないＱＰ範囲内で、レート制御量子化値ＱＰｒｃに最も近い値、すなわち、最大の値を無歪み量子化値ＱＰｎｄとして選択する。より具体的には、無歪み量子化値選択部６１Ｂは、量子化値範囲管理テーブルＴ１を参照して、対応するＱＰ範囲を特定し、特定したＱＰ範囲の最大値を無歪み量子化値ＱＰｎｄとして選択する。なお、特定したＱＰ範囲の最大値がレート制御量子化値ＱＰｒｃ以上である場合には、無歪み量子化値選択部６１Ｂは、レート制御量子化値ＱＰｒｃの値を無歪み量子化値ＱＰｎｄとして選択してもよい。
【００７６】
そして、無歪み量子化値選択部６１Ｂは、選択した無歪み量子化値ＱＰｎｄを符号化条件選択部６３に出力する。また、インターＣＵの場合には、無歪み量子化値選択部６１Ｂは、この最大サイズのＴＵの無歪み量子化値ＱＰｎｄをＲＤ量子化値候補算出部６１Ｃに出力する。
【００７７】
このように、レート制御量子化値ＱＰｒｃに最も近い値をダミー量子化値の候補として選択することで、量子化値の符号化情報量を削減することが可能となる。
【００７８】
また、無歪み量子化値選択部６１Ｂは、イントラＣＵの場合には、更に、分割形態における最後のＴＵにおいて、復号予測誤差ブロックの値ｒｉｊが“０”になるＱＰ範囲の最大値を無歪み量子化値ＱＰｎｄとして選択する。そして、無歪み量子化値選択部６１Ｂは、最後のＴＵの無歪み量子化値ＱＰｎｄをＲＤ量子化値候補算出部６１Ｃに出力する。
【００７９】
ＲＤ量子化値候補算出部６１Ｃは、入力されたレート制御量子化値ＱＰｒｃと無歪み量子化値ＱＰｎｄとに基づいて、ＲＤ量子化値候補を算出する。より具体的には、ＲＤ量子化値候補算出部６１Ｃは、レート制御量子化値ＱＰｒｃと無歪み量子化値ＱＰｎｄとその間の値（例えば、レート制御量子化値ＱＰｒｃと無歪み量子化値ＱＰｎｄとの平均値）をＲＤ量子化値候補として算出する。そして、ＲＤ量子化値候補算出部６１Ｃは、算出したＲＤ量子化値候補をＲＤコスト算出部６２に出力する。
【００８０】
ＲＤコスト算出部６２は、以下の式６により、入力された各ＲＤ量子化値候補に対するＲａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ（ＲＤ）コストＣを算出する。式６中のλは、ラグランジュ乗数である。このＲＤコストは、符号化情報量の推定値である符号化コストである。つまり、ＲＤコスト算出部６２は、各ＲＤ量子化値候補に対し、非ゼロ係数を付加した場合の符号化コストを算出する。
【００８１】
【数６】
2016092494.tif 000008
【００８２】
式６の符号化誤差（ＣＵ全体の歪み）は、以下のように求めることができる。まず、画素ｉにおいて、予測ブロックの画素値をｐｒｅｄ＿ｐｘｌ（ｉ）とすると、復号されたＣＵにおける画素値Ｉｄｅｃ＿ｐｘｌ（ｉ）は、以下の式７で表される。なお、式７中のｄｃｖａｌ（ＱＰ）は、逆量子化・逆周波数変換により得られる復号予測誤差ブロックの値ｒｉｊであり、このｒｉｊは、画素位置に依らず全て同一の値となる。
【００８３】
【数７】
2016092494.tif 000009
【００８４】
ここで、原画ブロックの画素ｉの画素値をｏｒｇ＿ｐｘｌ（ｉ）とすると、予測誤差ブロックの画素値ｄｉｆｆ＿ｐｘｌ（ｉ）は、以下の式８で表される。
【００８５】
【数８】
2016092494.tif 000010
【００８６】
符号化誤差は、原画像の画素と復号画像の対応画素との間の画素値の誤差の２乗和で表すことができる。したがって、式７と式８を用いて、符号化誤差は、以下の式９で表される。
【００８７】
【数９】
2016092494.tif 000011
【００８８】
つまり、逆量子化・逆周波数変換を行わなくても、予測誤差ブロックの画素値の２乗和Σ（ｄｉｆｆ＿ｐｘｌ（ｉ））２と、予測誤差ブロックの画素値の和Σｄｉｆｆ＿ｐｘｌ（ｉ）を算出しておくことにより、ＲＤコスト算出部６２は、符号化誤差を算出できる。
【００８９】
また、Σｄｉｆｆ＿ｐｘｌ（ｉ）は、周波数変換におけるＤＣ成分の計算過程で算出されるため、ＲＤコスト算出部６２は、変換・量子化部５６からΣｄｉｆｆ＿ｐｘｌ（ｉ）を受け取ってもよい。
【００９０】
また、ＲＤコスト算出部６２は、入力されたＲＤ量子化値候補に対応するＴＵの量子化変換係数のＤＣ成分を非ゼロに置換したＲＤ係数付加量子化変換係数を生成する。そして、ＲＤコスト算出部６２は、ＲＤ量子化値候補と、そのＲＤコストと、そのＲＤ係数付加量子化変換係数と、を対応付けた候補組み合わせを、符号化条件選択部６３に出力する。
【００９１】
図１１は、本実施形態における符号化条件選択部６３の構成例を示す機能ブロック図である。符号化条件選択部６３は、複数の候補の中から最適量子化値ＱＰｉｄと最適係数付加量子化変換係数を特定する機能部であり、図１１に示すように、最適ＲＤ量子化値特定部６３Ａと、最適量子化値特定部６３Ｂと、を含んでいる。
【００９２】
最適ＲＤ量子化値特定部６３Ａは、入力された候補組み合わせの中から、最小のＲＤコストの候補組み合わせを特定する。そして、最適ＲＤ量子化値特定部６３Ａは、特定した候補組み合わせのＲＤ量子化値候補とＲＤ係数付加量子化変換係数を、最適ＲＤ量子化値ＱＰｒｄと最適ＲＤ係数付加量子化変換係数として、最適量子化値特定部６３Ｂに出力する。
【００９３】
最適量子化値特定部６３Ｂは、無歪み量子化値選択部６１Ｂより入力された無歪み量子化値ＱＰｎｄと最適ＲＤ量子化値ＱＰｒｄとレート制御量子化値ＱＰｒｃの中から、最適量子化値ＱＰｉｄを特定する。また、最適量子化値特定部６３Ｂは、無歪み係数付加量子化変換係数と最適ＲＤ係数付加量子化変換係数の内で、最適係数付加量子化変換係数を特定する。そして、最適量子化値特定部６３Ｂは、特定した最適量子化値ＱＰｉｄを量子化値補正部６４に出力する。また、最適量子化値特定部６３Ｂは、特定した最適係数付加量子化変換係数を逆量子化・逆変換部５７と結合部４３に出力する。
【００９４】
より具体的には、最適量子化値特定部６３Ｂは、入力された選択情報に基づいて、予測タイプがイントラであるか否かを判定する。そして、予測タイプがイントラの場合には、つまり、符号化対象のＣＵがイントラＣＵの場合には、最適量子化値特定部６３Ｂは、更に、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下であるか否かを判定する。
【００９５】
レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下である場合には、最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。つまり、無歪み量子化値ＱＰｎｄを選択した時点で、無歪み量子化値ＱＰｎｄとレート制御量子化値ＱＰｒｃとを比較して、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下である場合には、ＲＤ量子化値候補の選択などを行うことなく、最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定してもよい。
【００９６】
一方、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄより大きい場合には、最適量子化値特定部６３Ｂは、更に、最適ＲＤ量子化値ＱＰｒｄが無歪み量子化値ＱＰｎｄ以下であるか否かを判定する。そして、最適ＲＤ量子化値ＱＰｒｄが無歪み量子化値ＱＰｎｄ以下である場合には、最適量子化値特定部６３Ｂは、無歪み量子化値ＱＰｎｄを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。
【００９７】
一方、最適ＲＤ量子化値ＱＰｒｄが無歪み量子化値ＱＰｎｄより大きい場合には、最適量子化値特定部６３Ｂは、最適ＲＤ量子化値ＱＰｒｄを最適量子化値ＱＰｉｄとして特定すると共に、最適ＲＤ係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。
【００９８】
予測タイプがインターの場合には、つまり、符号化対象のＣＵがインターＣＵの場合には、最適量子化値特定部６３Ｂは、更に、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下であるか否かを判定する。
【００９９】
そして、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下である場合には、最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。つまり、無歪み量子化値ＱＰｎｄを選択した時点で、無歪み量子化値ＱＰｎｄとレート制御量子化値ＱＰｒｃとを比較して、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下である場合には、ＲＤ量子化値候補の選択などを行うことなく、最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定してもよい。
【０１００】
一方、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄより大きい場合には、最適量子化値特定部６３Ｂは、最適ＲＤ量子化値ＱＰｒｄを最適量子化値ＱＰｉｄとして特定すると共に、最適ＲＤ係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。
【０１０１】
以上のように、インターＣＵの場合とイントラＣＵの場合とで、処理が異なるのは、インターＣＵでは、ダミー量子化値の候補とする無歪み量子化値ＱＰｎｄと最適ＲＤ量子化値ＱＰｒｄを同じＴＵで求め、イントラＣＵでは、ダミー量子化値の候補とする無歪み量子化値ＱＰｎｄと最適ＲＤ量子化値ＱＰｒｄをそれぞれ異なるＴＵで求める場合があるからである。そして、インターＣＵでは、無歪み量子化値ＱＰｎｄと最適ＲＤ量子化値ＱＰｒｄを同じＴＵで求めていることから、常に、最適ＲＤ量子化値ＱＰｒｄは無歪み量子化値ＱＰｎｄ以上となる。一方、イントラＣＵでは、無歪み量子化値ＱＰｎｄと最適ＲＤ量子化値ＱＰｒｄをそれぞれ異なるＴＵで求めていることから、最適ＲＤ量子化値ＱＰｒｄと無歪み量子化値ＱＰｎｄとを比較して、より大きい方の値を最適量子化値ＱＰｉｄとして特定する。
【０１０２】
図１２は、本実施形態における量子化値補正部６４の構成例を示す機能ブロック図である。量子化値補正部６４は、量子化設定単位ＱＧの非ゼロ係数を付加するＣＵ以外のＣＵ（ＣＵ＿Ｆｏｌｌｏｗ）の予測誤差が、非ゼロ係数を付加するＣＵの予測誤差と比較して大きい場合であっても、符号化情報量の増加を抑制するように、符号化条件選択部６３により特定された最適量子化値ＱＰｉｄを補正して大きくする機能部である。
【０１０３】
量子化値補正部６４は、図１２に示すように、第１複雑度算出部６４Ａと、第２複雑度算出部６４Ｂと、量子化上限値算出部６４Ｃと、量子化目標値算出部６４Ｄと、補正部６４Ｅと、を含んでいる。
【０１０４】
第１複雑度算出部６４Ａは、非ゼロ係数を付加するＣＵ（以下、ＣＵ＿Ｃｕｒｒという）、つまり、符号化対象の画像を分割したスライスの先頭ＣＵであって量子化変換係数が全て“０”となるＣＵの原画ブロックの画素値ｏｒｇ＿ｐｘｌ（ｉ）に基づいて、原画ブロックの複雑度を算出する。そして、第１複雑度算出部６４Ａは、算出した原画ブロックの複雑度を量子化上限値算出部６４Ｃに出力する。この複雑度は画像の複雑さを示す指標であり、複雑度としては、例えば、画素値の分散Ｖａｒ、あるいは、画素値の平均値との差分絶対値和Ａｃｔを用いることができる。なお、第１複雑度算出部６４Ａは、予測ブロックの複雑度を算出してもよい。
【０１０５】
画素値の分散Ｖａｒは、以下の式１０に従って、算出することができる。なお、式１０中のＡｖｅＰｘｌは、以下の式１１で表される原画ブロックの画素値ｏｒｇ＿ｐｘｌ（ｉ）の平均値である。
【０１０６】
【数１０】
2016092494.tif 000012
【０１０７】
【数１１】
2016092494.tif 000013
【０１０８】
画素値の平均値ＡｖｅＰｘｌとの差分絶対値和Ａｃｔは、以下の式１２に従って、算出することができる。
【０１０９】
【数１２】
2016092494.tif 000014
【０１１０】
第２複雑度算出部６４Ｂは、第１複雑度算出部６４ＡがＣＵ＿Ｃｕｒｒの原画ブロックに対して行ったように、ＣＵ＿ＣｕｒｒとＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの複雑度を算出する。そして、第２複雑度算出部６４Ｂは、算出したＣＵ＿Ｃｕｒｒの予測誤差ブロックの複雑度とＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの複雑度を量子化目標値算出部６４Ｄに出力する。
【０１１１】
量子化上限値算出部６４Ｃは、最適量子化値ＱＰｉｄとレート制御量子化値ＱＰｒｃとＣＵ＿Ｃｕｒｒの原画ブロックの複雑度とに基づいて、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用するダミー量子化値の上限（以下、量子化上限値ＱＰ＿Ｕｐｐｅｒという）を算出する。そして、量子化上限値算出部６４Ｃは、算出した量子化上限値ＱＰ＿Ｕｐｐｅｒを補正部６４Ｅに出力する。このように量子化上限値ＱＰ＿Ｕｐｐｅｒを設定するのは、ＣＵ＿Ｃｕｒｒの画像が複雑な場合には、非ゼロ係数を付加することに起因するノイズは目立ちにくいため、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用する量子化値ＱＰを最適量子化値ＱＰｉｄより大きな値に設定しても問題ないからである。つまり、量子化上限値ＱＰ＿Ｕｐｐｅｒは、非ゼロ係数を付加することに起因するノイズが目立ちにくい状態を維持できる量子化値ＱＰの上限である。
【０１１２】
具体的には、量子化上限値算出部６４Ｃは、以下の式１３に従って、量子化上限値ＱＰ＿Ｕｐｐｅｒを算出する。式１３は、ＣＵ＿Ｃｕｒｒにおける画像の複雑度が所定の閾値β（β＞０）以上である場合に、複雑度に比例してＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用する最適量子化値ＱＰｉｄ（ダミー量子化値）を大きくできることを示している。なお、式１３は、複雑度が画素値の分散Ｖａｒの場合の式である。また、γは、Ｖａｒ＜βの場合には、γ＝０であり、Ｖａｒ≧βの場合には、γ＝（Ｖａｒ−β）である。
【０１１３】
【数１３】
2016092494.tif 000015
【０１１４】
量子化値目標値算出部６４Ｄは、ＣＵ＿Ｃｕｒｒの予測誤差ブロックの複雑度とＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの複雑度と最適量子化値ＱＰｉｄとレート制御量子化値ＱＰｒｃとに基づいて、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧにおける量子化目標値ＱＰ＿Ｔａｒｇｅｔを算出する。そして、量子化値目標値算出部６４Ｄは、算出した量子化目標値ＱＰ＿Ｔａｒｇｅｔを補正部６４Ｅに出力する。量子化目標値ＱＰ＿Ｔａｒｇｅｔを設定するのは、ＣＵ＿Ｃｕｒｒの予測誤差ブロックの複雑度と比較して、ＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの複雑度が大きい場合に、最適量子化値ＱＰｉｄで量子化するとＣＵ＿Ｆｏｌｌｏｗの符号化情報量が増加してしまうためである。したがって、量子化値目標値算出部６４Ｄは、ＣＵ＿Ｆｏｌｌｏｗの符号化情報量の増加を抑制できるように、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用する量子化値ＱＰが最適量子化値ＱＰｉｄより大きくなるように量子化目標値ＱＰ＿Ｔａｒｇｅｔを設定する。つまり、量子化目標値ＱＰ＿Ｔａｒｇｅｔは、ＣＵ＿Ｆｏｌｌｏｗの符号化情報量の増加を抑制できるようにするための目標値である。
【０１１５】
具体的には、量子化値目標値算出部６４Ｄは、以下の式１４に従って、量子化目標値ＱＰ＿Ｔａｒｇｅｔを算出する。式１４は、ＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックがＣＵ＿Ｃｕｒｒの予測誤差ブロックと比較して複雑であり、ＣＵ＿Ｆｏｌｌｏｗを最適量子化値ＱＰｉｄで量子化した場合に発生する符号化情報量が多いと推定される場合には、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用する最適量子化値ＱＰｉｄ（ダミー量子化値）を大きくすることを示している。なお、式１４中のκは正の定数であり、Ｖａｒ＿ＣｕｒｒとＶａｒ＿Ｆｏｌｌｏｗは、それぞれ、ＣＵ＿Ｃｕｒｒの予測誤差ブロックの画素値の分散（複雑度）、ＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの画素値の分散（複雑度）である。
【０１１６】
【数１４】
2016092494.tif 000016
【０１１７】
補正部６４Ｅは、量子化上限値ＱＰ＿Ｕｐｐｅｒと量子化目標値ＱＰ＿Ｔａｒｇｅｔとに基づいて、ＣＵ＿Ｃｕｒｒにおける非ゼロ係数付加に起因するノイズによる画質劣化を目立ちにくい状態に保ちつつも、ＣＵ＿Ｆｏｌｌｏｗにおける符号化情報量の増加を抑制することを可能とする補正最適量子化値ＱＰｃｏｒを算出する。具体的には、補正部６４Ｅは、以下の式１５に従って、補正最適量子化値ＱＰｃｏｒを算出する。
【０１１８】
【数１５】
2016092494.tif 000017
【０１１９】
図１３を参照して、量子化目標値ＱＰ＿Ｔａｒｇｅｔが量子化上限値ＱＰ＿Ｕｐｐｅｒより大きい場合には、量子化目標値ＱＰ＿Ｔａｒｇｅｔにするとノイズによる画質劣化が目立つため、図１３Ａに示すように、補正部６４Ｅは、量子化上限値ＱＰ＿Ｕｐｐｅｒを補正最適量子化値ＱＰｃｏｒとして算出する。一方、量子化上限値ＱＰ＿Ｕｐｐｅｒが量子化目標値ＱＰ＿Ｔａｒｇｅｔより大きい場合には、量子化目標値ＱＰ＿Ｔａｒｇｅｔとしてもノイズによる画質劣化は目立たないため、図１３Ｂに示すように、補正部６４Ｅは、量子化目標値ＱＰ＿Ｔａｒｇｅｔを補正最適量子化値ＱＰｃｏｒとして算出する。なお、図１３Ａと図１３Ｂは、いずれも、本実施形態における補正最適量子化値ＱＰｃｏｒの特定方法を説明するための図である。
【０１２０】
そして、ダミー量子化値挿入部６０は、この補正最適量子化値ＱＰｃｏｒを、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用するダミー量子化値（符号化量子化値）として設定する。そのため、補正部６４Ｅは、算出した補正最適量子化値ＱＰｃｏｒを、変換・量子化部５６と逆量子化・逆変換部５７とデブロッキングフィルタ５９と結合部４３に出力する。
【０１２１】
次に、図１４を参照して、本実施形態における符号化処理の流れについて説明する。図１４は、本実施形態における符号化処理のフローを説明するためのフローチャートの例である。
【０１２２】
予測ブロック選択部５３は、イントラ予測部５１によるイントラ予測結果（イントラ予測ブロック）とインター予測部５２によるインター予測結果（インター予測ブロック）とを比較し、より適切な予測ブロックを選択する（ステップＳ００１）。そして、予測誤差ブロック生成部５４は、原画ブロックから予測ブロック選択部５３により選択された予測ブロックを減算して予測誤差ブロックを生成する（ステップＳ００２）。
【０１２３】
そして、変換・量子化部５６は、選択情報に基づいて、生成された予測誤差ブロックを適切なサイズのＴＵに分割し、ＴＵ毎に周波数変換して変換係数を求める（ステップＳ００３）。そして、変換・量子化部５６は、符号化量子化値（レート制御量子化値ＱＰｒｃあるいは補正最適量子化値ＱＰｃｏｒ）に基づいて、ＴＵ毎の変換係数を量子化し、量子化変換係数を求める（ステップＳ００４）。
【０１２４】
そして、ダミー量子化値挿入部６０は、符号化対象のＣＵが符号化対象の画像を分割したスライスの先頭ＣＵであるか否かを判定する（ステップＳ００５）。符号化対象のＣＵが符号化対象の画像を分割したスライスの先頭ＣＵであると判定した場合には（ステップＳ００５；ＹＥＳ）、ダミー量子化値挿入部６０は、更に、符号化対象の先頭ＣＵの量子化変換係数が全て“０”であるか否かを判定する（ステップＳ００６）。
【０１２５】
符号化対象の先頭ＣＵの量子化変換係数が全て“０”であると判定した場合には（ステップＳ００６；ＹＥＳ）、ダミー量子化値挿入部６０は、ダミー量子化値挿入処理を実行して、最適係数付加量子化変換係数を特定すると共に、補正最適量子化値ＱＰｃｏｒを算出し、算出した補正最適量子化値ＱＰｃｏｒを先頭ＣＵが属する量子化設定単位ＱＧにおける符号化量子化値として設定する（ステップＳ００７）。そして、処理は後述のステップＳ００８へと進む。
【０１２６】
一方、ダミー量子化値挿入部６０により、符号化対象の先頭ＣＵの量子化変換係数は全て“０”ではないと判定された場合には（ステップＳ００６；ＮＯ）、処理は後述のステップＳ００８へと進む。
【０１２７】
ステップＳ００５の処理において、ダミー量子化値挿入部６０により、符号化対象のＣＵが符号化対象の画像を分割したスライスの先頭ＣＵではないと判定された場合には（ステップＳ００５；ＮＯ）、デブロッキングフィルタ５９は、逆量子化・逆変換５７と復号ブロック生成部５８と連係して、局所復号ブロック生成処理を実行して、局所復号ブロックを生成する（ステップＳ００８）。
【０１２８】
そして、結合部４３は、動画像の符号化データストリームを生成し、出力部３０を介して、生成した符号化データストリームを出力する（ステップＳ００９）。そして、本処理は終了する。
【０１２９】
次に、図１５を参照して、本実施形態におけるダミー量子化値挿入処理の流れについて説明する。図１５は、本実施形態におけるダミー量子化値挿入処理のフローを説明するためのフローチャートの例である。本ダミー量子化値挿入処理は、符号化処理のステップＳ００７の処理に対応する処理である。
【０１３０】
無歪み係数付加量子化変換係数生成部６１Ａは、無歪み係数付加量子化変換係数を生成する（ステップＳ１０１）。そして、無歪み量子化値選択部６１Ｂは、無歪み係数付加量子化変換係数生成部６１Ａにより選択されたＴＵにおいて、復号予測誤差ブロックの値ｒｉｊが“０”になるＱＰ範囲の最大値を無歪み量子化値ＱＰｎｄとして選択する（ステップＳ１０２）。
【０１３１】
そして、ＲＤ量子化値候補算出部６１Ｃは、レート制御量子化値ＱＰｒｃと無歪み量子化値ＱＰｎｄとに基づいて、ＲＤ量子化値候補を算出する（ステップＳ１０３）。ＲＤ量子化値候補を算出する際に用いられる無歪み量子化値ＱＰｎｄは、インターＣＵの場合には、無歪み係数付加量子化変換係数生成部６１Ａにより選択された最大サイズのＴＵにおける無歪み量子化値ＱＰｎｄであり、イントラＣＵの場合には、ＴＵ分割情報が示す分割形態での最後のＴＵにおける無歪み量子化値ＱＰｎｄである。
【０１３２】
そして、ＲＤコスト算出部６２は、各ＲＤ量子化値候補に対するＲＤコストを算出すると共に（ステップＳ１０４）、ＲＤ量子化値候補に対応するＴＵの量子化変換係数のＤＣ成分を非ゼロに置換したＲＤ係数付加量子化変換係数を生成する（ステップＳ１０５）。
【０１３３】
そして、最適ＲＤ量子化値特定部６３Ａは、候補組み合わせの中から、最小のＲＤコストの候補組み合わせを特定する（ステップＳ１０６）。そして、最適量子化値特定部６３Ｂは、最適量子化値特定処理を実行して、最適量子化値ＱＰｉｄを特定すると共に、最適係数付加量子化変換係数を特定する（ステップＳ１０７）。
【０１３４】
そして、第１複雑度算出部６４Ａは、ＣＵ＿Ｃｕｒｒの原画ブロックの画素値ｏｒｇ＿ｐｘｌ（ｉ）に基づいて、原画ブロックの複雑度を算出する（ステップＳ１０８）。そして、量子化上限値算出部６４Ｃは、最適量子化値ＱＰｉｄとレート制御量子化値ＱＰｒｃとＣＵ＿Ｃｕｒｒの原画ブロックの複雑度とに基づいて、量子化上限値ＱＰ＿Ｕｐｐｅｒを算出する（ステップＳ１０９）。
【０１３５】
そして、第２複雑度算出部６４Ｂは、ＣＵ＿ＣｕｒｒとＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの複雑度を算出する（ステップＳ１１０）。そして、量子化値目標値算出部６４Ｄは、ＣＵ＿Ｃｕｒｒの予測誤差ブロックの複雑度とＣＵ＿Ｆｏｌｌｏｗの予測誤差ブロックの複雑度と最適量子化値ＱＰｉｄとレート制御量子化値ＱＰｒｃとに基づいて、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧにおける量子化目標値ＱＰ＿Ｔａｒｇｅｔを算出する（ステップＳ１１１）。
【０１３６】
そして、補正部６４Ｅは、量子化上限値ＱＰ＿Ｕｐｐｅｒと量子化目標値ＱＰ＿Ｔａｒｇｅｔとに基づいて、ＣＵ＿Ｃｕｒｒにおける非ゼロ係数付加に起因するノイズによる画質劣化を目立ちにくい状態に保ちつつも、ＣＵ＿Ｆｏｌｌｏｗにおける符号化情報量の増加を抑制することを可能とする補正最適量子化値ＱＰｃｏｒを算出する（ステップＳ１１２）。そして、ダミー量子化値挿入部６０は、この補正最適量子化値ＱＰｃｏｒを、ＣＵ＿Ｃｕｒｒが属する量子化設定単位ＱＧに適用するダミー量子化値（符号化量子化値）として設定する（ステップＳ１１３）。そして、本処理は終了し、符号化処理のステップＳ００８の処理へと移行する。
【０１３７】
次に、図１６を参照して、本実施形態における最適量子化値特定処理の流れについて説明する。図１６は、本実施形態における最適量子化値特定処理のフローを説明するためのフローチャートの例である。本最適量子化値特定処理は、ダミー量子化値挿入処理のステップＳ１０７の処理に対応する処理である。
【０１３８】
最適量子化値特定部６３Ｂは、選択情報に基づいて、予測タイプがイントラであるか否かを判定する（ステップＳ２０１）。そして、予測タイプがイントラであると判定した場合（ステップＳ２０１；ＹＥＳ）、つまり、符号化対象のＣＵがイントラＣＵの場合には、最適量子化値特定部６３Ｂは、イントラ処理を実行する（ステップＳ２０２）。そして、本処理は終了して、ダミー量子化値挿入処理のステップＳ１０８の処理へと移行する。
【０１３９】
一方、予測タイプがインターであると判定した場合（ステップＳ２０１；ＮＯ）、つまり、符号化対象のＣＵがインターＣＵの場合には、最適量子化値特定部６３Ｂは、インター処理を実行する（ステップＳ２０３）。そして、本処理は終了して、ダミー量子化値挿入処理のステップＳ１０８の処理へと移行する。
【０１４０】
次に、図１７を参照して、本実施形態におけるイントラ処理の流れについて説明する。図１７は、本実施形態におけるイントラ処理のフローを説明するためのフローチャートの例である。本イントラ処理は、最適量子化値特定処理のステップＳ２０２の処理に対応する処理である。
【０１４１】
最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下であるか否かを判定する（ステップＳ３０１）。そして、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下であると判定した場合には（ステップＳ３０１；ＹＥＳ）、最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する（ステップＳ３０２）。そして、本処理は終了する。
【０１４２】
一方、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄより大きいと判定した場合には（ステップＳ３０１；ＮＯ）、最適量子化値特定部６３Ｂは、更に、最適ＲＤ量子化値ＱＰｒｄが無歪み量子化値ＱＰｎｄ以下であるか否かを判定する（ステップＳ３０３）。そして、最適ＲＤ量子化値ＱＰｒｄが無歪み量子化値ＱＰｎｄ以下であると判定した場合には（ステップＳ３０３；ＹＥＳ）、最適量子化値特定部６３Ｂは、無歪み量子化値ＱＰｎｄを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する（ステップＳ３０４）。そして、本処理は終了する。
【０１４３】
一方、最適ＲＤ量子化値ＱＰｒｄが無歪み量子化値ＱＰｎｄより大きいと判定した場合には（ステップＳ３０３；ＮＯ）、最適量子化値特定部６３Ｂは、最適ＲＤ量子化値ＱＰｒｄを最適量子化値ＱＰｉｄとして特定すると共に、最適ＲＤ係数付加量子化変換係数を最適係数付加量子化変換係数として特定する（ステップＳ３０５）。そして、本処理は終了する。
【０１４４】
次に、図１８を参照して、本実施形態におけるインター処理の流れについて説明する。図１８は、本実施形態におけるインター処理のフローを説明するためのフローチャートの例である。本インター処理は、最適量子化値特定処理のステップＳ２０３の処理に対応する処理である。
【０１４５】
最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下であるか否かを判定する（ステップＳ４０１）。そして、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下であると判定した場合には（ステップＳ４０１；ＹＥＳ）、最適量子化値特定部６３Ｂは、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する（ステップＳ４０２）。そして、本処理は終了する。
【０１４６】
一方、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄより大きいと判定した場合には（ステップＳ４０１；ＮＯ）、最適量子化値特定部６３Ｂは、最適ＲＤ量子化値ＱＰｒｄを最適量子化値ＱＰｉｄとして特定すると共に、最適ＲＤ係数付加量子化変換係数を最適係数付加量子化変換係数として特定する（ステップＳ４０３）。そして、本処理は終了する。
【０１４７】
次に、図１９を参照して、本実施形態における局所復号ブロック生成処理の流れについて説明する。図１９は、本実施形態における局所復号ブロック生成処理のフローを説明するためのフローチャートの例である。本局所復号ブロック生成処理は、符号化処理のステップＳ００８の処理に対応する処理である。
【０１４８】
逆量子化・逆変換部５７は、符号化量子化値（レート制御量子化値ＱＰｒｃ又は補正最適量子化値ＱＰｃｏｒ）に基づいて、各ＴＵの量子化変換係数（含む、最適係数付加量子化変換係数）を逆量子化して変換係数を復元する（ステップＳ５０１）。そして、逆量子化・逆変換部５７は、復元された変換係数に対して逆周波数変換を行い、復号予測誤差ブロックを生成する（ステップＳ５０２）。
【０１４９】
そして、復号ブロック生成部５８は、ＴＵ毎に、予測ブロックの各画素値に復号予測誤差ブロックの値ｒｉｊを加算することで、復号ブロックを生成する（ステップＳ５０３）。そして、デブロッキングフィルタ５９は、復号ブロックに対して、符号化によって生じたブロック境界の歪み（ブロックノイズ）を低減するために、デブロッキングフィルタ処理を行い、局所復号ブロックを生成する（ステップＳ５０４）。そして、デブロッキングフィルタ５９は、生成した局所復号ブロックを、参照画像として局所復号画像記憶部２１に格納する（ステップＳ５０５）。そして、本処理は終了し、処理は符号化処理のステップＳ００９の処理へと移行する。
【０１５０】
上記実施形態によれば、動画像符号化装置１は、符号化対象の画像を分割したスライス毎に並列に符号化処理を行う際に、符号化対象の画像を分割したスライスの先頭ＣＵの量子化変換係数が全て“０”である場合に、量子化変換係数のいずれかを非ゼロの値に置換して無歪み係数付加量子化変換係数を生成する。そして、動画像符号化装置１は、非ゼロの値に置換した係数に対応するＴＵに基づいて、非ゼロの係数を付加した量子化変換係数を逆量子化・逆周波数変換して得られる復号予測誤差ブロックの値ｒｉｊが“０”となるＱＰ範囲を特定し、特定したＱＰ範囲の最大値を無歪み量子化値ＱＰｎｄとして選択する。そして、動画像符号化装置１は、無歪み量子化値ＱＰｎｄとレート制御量子化値ＱＰｒｃとに基づいて、ＲＤ量子化値候補を算出し、算出した各ＲＤ量子化値候補のＲＤコスト（符号化コスト）を算出する。また、動画像符号化装置１は、ＲＤ量子化値候補を算出する際に用いた無歪み量子化値ＱＰｎｄに対応するＴＵの量子化変換係数のいずれかを非ゼロの値に置換したＲＤ係数付加量子化変換係数を生成する。
【０１５１】
そして、動画像符号化装置１は、算出したＲＤコストが最小のＲＤ量子化値候補を最適ＲＤ量子化値ＱＲｒｄとして特定すると共に、対応するＲＤ係数付加量子化変換係数を最適ＲＤ係数付加量子化変換係数として特定する。そして、動画像符号化装置１は、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄ以下の場合には、レート制御量子化値ＱＰｒｃを最適量子化値ＱＰｉｄとして特定すると共に、無歪み係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。一方、レート制御量子化値ＱＰｒｃが無歪み量子化値ＱＰｎｄより大きい場合には、動画像符号化装置１は、無歪み量子化値ＱＰｎｄと最適ＲＤ量子化値ＱＲｒｄの内でより大きい方の値を最適量子化値ＱＰｉｄとして特定すると共に、大きい方の値に対応する係数付加量子化変換係数を最適係数付加量子化変換係数として特定する。そして、動画像符号化装置１は、最適係数付加量子化変換係数を符号化データとする。
【０１５２】
また、動画像符号化装置１は、先頭ＣＵが属する量子化設定単位ＱＧの他のＣＵの予測誤差が、非ゼロ係数を付加した先頭ＣＵの予測誤差と比較して大きい場合に増加する符号化情報量を抑えるために最適量子化値ＱＰｉｄをより大きな値に補正した補正最適量子化値ＱＰｃｏｒを算出する。そして、動画像符号化装置１は、算出した補正最適量子化値ＱＰｃｏｒを先頭ＣＵが属する量子化設定単位ＱＧのダミー量子化値（符号化量子化値）として設定する。
【０１５３】
こうすることで、符号化対象の画像を分割したスライスの先頭ＣＵの量子化変換係数が全て“０”の場合に、非ゼロ係数を付加する先頭ＣＵが属する量子化設定単位ＱＧの他のＣＵの予測誤差が、先頭ＣＵの予測誤差と比較して大きくても、符号化情報量の消費を抑制し、映像全体の画質低下を抑制するが可能となる。
【０１５４】
また、上記実施形態によれば、動画像符号化装置１は、非ゼロ係数を付加するＣＵの原画ブロックの画素値ｏｒｇ＿ｐｘｌ（ｉ）に基づいて画像の複雑度を算出し、算出した原画ブロックの複雑度と最適量子化値ＱＰｉｄとレート制御量子化値ＱＰｒｃとに基づいて、非ゼロ係数を付加することに起因するノイズが目立ちにくい状態を維持できる量子化値ＱＰの上限である量子化上限値ＱＰ＿Ｕｐｐｅｒを算出する。そして、動画像符号化装置１は、算出した量子化上限値ＱＰ＿Ｕｐｐｅｒを超えないように最適量子化値ＱＰｉｄをより大きな値に補正した補正最適量子化値ＱＰｃｏｒを算出する。
【０１５５】
こうすることで、非ゼロ係数付加に起因するノイズによる画質劣化を目立ちにくい状態に保ちつつも、先頭ＣＵが属する量子化設定単位ＱＧの他のＣＵにおける符号化情報量の増加を抑制することが可能となる。
【０１５６】
また、上記実施形態によれば、動画像符号化装置１は、ＤＣ成分を表す係数を非ゼロに置換する。また、動画像符号化装置１は、置換する非ゼロの値を、“１”又は“−１”とする。こうすることで、符号化情報量を削減することが可能となる。
【０１５７】
また、上記実施形態によれば、動画像符号化装置１は、非ゼロ係数を付加する量子化変換係数に対応するＴＵを選択する際に、選択可能なサイズの内で最大サイズのＴＵを選択する。こうすることで、レート制御量子化値ＱＰｒｃにより近い大きな値を無歪み量子化値ＱＰｎｄとして選択可能となる。したがって、量子化値の符号化情報量を削減することが可能となる。
【０１５８】
図２０は、本実施形態における動画像符号化装置１のハードウェア構成の例を示す図である。図１などに示す動画像符号化装置１は、例えば、図２０に示す各種ハードウェアにより実現されてもよい。図２０の例では、動画像符号化装置１は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、カメラを接続するための機器インターフェース２０５、通信モジュール２０６、読取装置２０７を備え、これらのハードウェアはバス２０８を介して接続されている。
【０１５９】
ＣＰＵ２０１は、ＨＤＤ２０４に格納されている動作プログラムをＲＡＭ２０２にロードし、ＲＡＭ２０２をワーキングメモリとして使いながら各種処理を実行する。ＣＰＵ２０１は、動作プログラムを実行することで、図１などに示す制御部４０の各機能部を実現することができる。
【０１６０】
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ（ＤＶＤ）、Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  ｄｉｓｋ（ＭＯ）などのコンピュータで読み取り可能な記録媒体２０９に記憶して配布し、これを動画像符号化装置１の読取装置２０７で読み取ってコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、通信モジュール２０６を介して、動画像符号化装置１のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
【０１６１】
なお、実施形態に応じて、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４以外の他の種類の記憶装置が利用されてもよい。例えば、動画像符号化装置１は、Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ（ＣＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）、Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＤＲＡＭ）などの記憶装置を有してもよい。
【０１６２】
なお、実施形態に応じて、動画像符号化装置１のハードウェア構成は図２０とは異なっていてもよく、図２０に例示した規格・種類以外のその他のハードウェアを動画像符号化装置１に適用することもできる。
【０１６３】
例えば、図１などに示す動画像符号化装置１の制御部４０の各機能部は、ハードウェア回路により実現されてもよい。具体的には、ＣＰＵ２０１の代わりに、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）などのリコンフィギュラブル回路や、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）などにより、図１などに示す制御部４０の各機能部が実現されてもよい。もちろん、ＣＰＵ２０１とハードウェア回路の双方により、これらの機能部が実現されてもよい。
【０１６４】
以上において、いくつかの実施形態について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【０１６５】
以上に説明した実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置であって、
第１量子化値に基づいて前記第１サブブロックを符号化する第１符号化手段と、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定する第１判定手段と、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１符号化手段により量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定する第２判定手段と、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成する第１付加手段と、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択する第１選択手段と、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成する生成手段と、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定する設定手段と、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する第２符号化手段と
を備える、
ことを特徴とする符号化装置。
（付記２）
前記第１候補値と前記第１量子化値との間で複数の候補量子化値を選択する第２選択手段と、
前記候補量子化値のそれぞれに対し、前記量子化変換係数に非ゼロの値を付加した場合の符号化情報量の推定値である符号化コストを算出する第１算出手段と、
算出された前記符号化コストの内で最小の符号化コストに対応する候補量子化値を第２候補値として特定する第１特定手段と、
前記第２候補値に対応する前記量子化変換係数に非ゼロの値を付加した第２係数付加量子化変換係数を生成する第２付加手段と、
前記第１候補値と前記第２候補値とを比較して、値がより大きい候補値を最適候補値として特定する第２特定手段と、
を、更に、備え、
前記生成手段は、符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記最適候補値をより大きな値に補正した第２量子化値を生成し、
前記設定手段は、前記第１係数付加量子化変換係数と前記第２係数付加量子化変換係数との内で前記最適候補値に対応する非ゼロの値を付加した係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定する、
ことを特徴とする付記１に記載の符号化装置。
（付記３）
周波数変換対象である予測誤差ブロックを生成する際に用いられる予測ブロックは、イントラ予測によるイントラ予測ブロックとインター予測によるインター予測ブロックの２種類あり、
符号化対象の前記先頭の第１サブブロックに対応する予測ブロックがイントラ予測ブロックである場合に、該先頭の第１サブブロックに属する、前記第１サブブロックを分割した周波数変換処理の単位である第３サブブロックの内で周波数変換処理順が最後の第３サブブロックに基づいて、前記復号予測誤差ブロックの値がゼロとなる量子化値の範囲を特定し、特定した範囲の内で略最大の値を第３候補値として選択する第３選択手段を、更に、備え、
前記第２選択手段は、符号化対象の前記先頭の第１サブブロックに対応する予測ブロックがイントラ予測ブロックである場合に、前記第３候補値と前記第１量子化値との間で複数の前記候補量子化値を選択する、
ことを特徴とする付記２に記載の符号化装置。
（付記４）
符号化対象の前記先頭の第１サブブロックに対応する原画ブロックの画像の複雑さを示す指標である複雑度に基づいて、前記量子化変換係数に非ゼロの値を付加することに起因する前記復号予測誤差ブロックにおけるノイズが目立たない状態を維持できる量子化値の上限値を算出する第２算出手段を、更に、備え、
前記生成手段は、前記上限値を超えないように前記第１候補値又は前記最適候補値を補正して前記第２量子化値を生成する、
ことを特徴とする付記１乃至３のいずれか一に記載の符号化装置。
（付記５）
前記生成手段は、符号化対象の前記先頭の第１サブブロックの予測誤差における前記複雑度に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差における前記複雑度の比率に基づいて、前記第１候補値又は前記最適候補値をより大きな値に補正する、
ことを特徴とする付記１乃至４のいずれか一に記載の符号化装置。
（付記６）
符号化に起因するブロック境界におけるブロックノイズを低減するためのデブロッキングフィルタを、更に、備え、
前記デブロッキングフィルタは、前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックにおけるフィルタ強度を設定する、
ことを特徴とする付記１乃至５のいずれか一に記載の符号化装置。
（付記７）
前記第１付加手段は、符号化対象の前記先頭の第１サブブロックに属する前記第３サブブロックの内で最大サイズの第３サブブロックを特定し、特定した前記第３サブブロックに対応する前記量子化変換係数のいずれかの係数に非ゼロの値を付加した前記第１係数付加量子化変換係数を生成する、
ことを特徴とする付記１乃至６のいずれか一に記載の符号化装置。
（付記８）
周波数変換対象である予測誤差ブロックを生成する際に用いられる予測ブロックは、イントラ予測によるイントラ予測ブロックとインター予測によるインター予測ブロックの２種類あり、
前記第１付加手段は、符号化対象の前記先頭の第１サブブロックに対応する前記予測ブロックが前記インター予測ブロックである場合には、符号化方式において選択し得る最大サイズの第３サブブロックを特定する、
ことを特徴とする付記７に記載の符号化装置。
（付記９）
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置の符号化方法であって、
第１量子化値に基づいて前記第１サブブロックを符号化し、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成し、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定し、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する、
ことを特徴とする符号化方法。
（付記１０）
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置のコンピュータに、
第１量子化値に基づいて前記第１サブブロックを符号化し、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成し、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定し、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する、
処理を実行させる、
ことを特徴とするプログラム。
（付記１１）
符号化対象の画像を複数のブロックに分割し、複数の前記ブロックから構成される領域毎に並列に符号化処理し、前記ブロックを分割した符号化を行う単位である第１サブブロックのサイズと前記ブロックを分割した量子化幅を確定する量子化値が符号化される単位である第２サブブロックのサイズとが異なる符号化装置のコンピュータに、
第１量子化値に基づいて前記第１サブブロックを符号化し、
符号化対象の前記第１サブブロックが、属するブロックの符号化処理順において先頭の第１サブブロックであるか否かを判定し、
符号化対象の前記第１サブブロックが前記先頭の第１サブブロックである場合に、前記第１量子化値で量子化された変換係数である量子化変換係数の全てがゼロであるか否かを判定し、
前記量子化変換係数の全てがゼロである場合に、前記量子化変換係数のいずれかの係数に非ゼロの値を付加した第１係数付加量子化変換係数を生成し、
前記非ゼロの値を付加した係数に対応する、逆量子化して復元される予測誤差ブロックである復号予測誤差ブロックの値がゼロとなる量子化値を第１候補値として選択し、
符号化対象の前記先頭の第１サブブロックの予測誤差に対する、該先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックの予測誤差の大きさに応じて、前記第１候補値より大きな値の第２量子化値を生成し、
前記第１係数付加量子化変換係数と前記第２量子化値とを符号化データとして設定し、
前記量子化変換係数に非ゼロの値を付加した場合に、前記第２量子化値に基づいて、符号化対象の前記先頭の第１サブブロックが属する前記第２サブブロックの他の第１サブブロックを符号化する、
処理を実行させるプログラムを記憶した記録媒体。
【符号の説明】
【０１６６】
１      動画像符号化装置
１０    入力部
２０    記憶部
２１    局所復号画像記憶部
３０    出力部
４０    制御部
４１    分割部
４２    符号化部
５１    イントラ予測部
５２    インター予測部
５３    予測ブロック選択部
５４    予測誤差ブロック生成部
５５    符号化制御部
５６    変換・量子化部
５７    逆量子化・逆変換部
５８    復号ブロック生成部
５９    デブロッキングフィルタ
６０    ダミー量子化値挿入部
６１    量子化値候補生成部
６１Ａ  無歪み係数付加量子化変換係数生成部
６１Ｂ  無歪み量子化値選択部
６１Ｃ  ＲＤ量子化値候補算出部
６２    ＲＤコスト算出部
６３    符号化条件選択部
６３Ａ  最適ＲＤ量子化値特定部
６３Ｂ  最適量子化値特定部
６４    量子化値補正部
６４Ａ  第１複雑度算出部
６４Ｂ  第２複雑度算出部
６４Ｃ  量子化上限値算出部
６４Ｄ  量子化目標値算出部
６４Ｅ  補正部
４３    結合部
Ｔ１    量子化値範囲管理テーブル
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  ＨＤＤ
２０５  機器インターフェース
２０６  通信モジュール
２０７  読取装置
２０８  バス
２０９  記録媒体
【図１】
2016092494.tif 000018
【図２】
2016092494.tif 000019
【図３】
2016092494.tif 000020
【図４】
2016092494.tif 000021
【図５】
2016092494.tif 000022
【図７】
2016092494.tif 000023
【図８】
2016092494.tif 000024
【図９】
2016092494.tif 000025
【図１０】
2016092494.tif 000026
【図１１】
2016092494.tif 000027
【図１２】
2016092494.tif 000028
【図１３】
2016092494.tif 000029
【図１４】
2016092494.tif 000030
【図１５】
2016092494.tif 000031
【図１６】
2016092494.tif 000032
【図１７】
2016092494.tif 000033
【図１８】
2016092494.tif 000034
【図１９】
2016092494.tif 000035
【図２０】
2016092494.tif 000036
【図２３】
2016092494.tif 000037
【図６】
2016092494.tif 000038
【図２１】
2016092494.tif 000039
【図２２】
2016092494.tif 000040
【図２４】
2016092494.tif 000041