(57)【要約】【課題】１フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制し、画質の劣化の少ない画像符号化装置を提供することを課題とする。【解決手段】画像符号化装置１は、各マクロブロックのアクティビティを算出する。ブロックラインＢＬ１，ＢＬ３の全マクロブロックは、イントラ符号化の候補となるイントラ候補マクロブロック（イントラ候補ＭＢ）に設定される。ブロックラインＢＬ２，ＢＬ４では、イントラ候補ＭＢが一つおきに設定される。各ブロックラインのイントラ候補ＭＢのうち、アクティビティが最小のマクロブロックが、フレームＦ１のイントラマクロブロックとして決定される。イントラＭＢとして決定されたマクロブロックは、イントラ候補ＭＢからイントラ禁止マクロブロックに変更される。イントラ候補ＭＢの設定状態が変更された後に、フレームＦ１の次に入力されるフレームのイントラマクロブロックが決定される。【選択図】図３Ａ
2011166512.tif 000002
【特許請求の範囲】
【請求項１】
マクロブロック内における第１フレームの画像の複雑さを示すアクティビティを算出するアクティビティ算出部と、
横方向に一列に並ぶマクロブロックのラインごとに、第１フレームでイントラ符号化することができるイントラ候補マクロブロックを設定するイントラ候補設定部と、
前記ラインに含まれる前記第１フレームのイントラ候補マクロブロックのうち、アクティビティが最小のマクロブロックを、前記第１フレームのイントラマクロブロックとして決定するイントラマクロブロック決定部と、
前記イントラマクロブロックをイントラ符号化する符号化部と、
を備える画像符号化装置。
【請求項２】
請求項１に記載の画像符号化装置において、
第２フレームは、前記第１フレームの次に入力されるフレームであり、
前記イントラ候補設定部は、前記最小のマクロブロックを、前記第２フレームのイントラ候補マクロブロックから除外する画像符号化装置。
【請求項３】
請求項２に記載の画像符号化装置において、
前記イントラ候補設定部は、前記ラインのうち第１ラインに含まれる全てのマクロブロックが前記第２フレームのイントラ候補マクロブロックから除外された場合、前記全てのマクロブロックを前記第２フレームのイントラ候補マクロブロックとして再設定する画像符号化装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像符号化装置において、
前記ラインは、
第１ラインと、
前記第１ラインに接する第２ラインと、
を含み、
前記第１ラインで設定されるイントラ候補マクロブロックの割合と、前記第２ラインで設定されるイントラ候補マクロブロックの割合とが互いに異なる画像符号化装置。
【請求項５】
請求項４に記載の画像符号化装置において、
前記ラインごとのイントラ候補マクロブロックの割合が一定の間隔で変化する画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化し、圧縮画像を生成する装置に関する。詳しくは、イントラ符号化処理とインター符号化処理とを用いて画像を符号化する装置に関する。
【背景技術】
【０００２】
ＭＰＥＧ２やＨ．２６４などの画像符号化技術においては、イントラ符号化処理とインター符号化処理とが用いられる。イントラ符号化処理は、参照フレームを利用せずに、符号化対象のフレーム内で符号化処理が完結する。インター符号化処理は、参照フレームを利用することで符号化対象のフレームに対する符号化が行われる。
【０００３】
Ｉピクチャに含まれる全てのマクロブロックは、イントラ符号化処理により符号化される。ＰピクチャおよびＢピクチャに含まれるマクロブロックは、インター符号化処理により符号化される。Ｉピクチャの発生符号量は、全てのマクロブロックがイントラ符号化されるため、ＰピクチャあるいはＢピクチャの発生符号量よりも大きい。Ｈ．２６４においては、イントラ予測技術が利用されるが、やはり、ＰピクチャあるいはＢピクチャと比較すると発生符号量が大きい。
【０００４】
低遅延の再生あるいは伝送が求められるシステムにおいては、Ｉピクチャにおける発生符号量の上昇が問題となる。また、Ｉピクチャの出現周期で発生符号量が振動するという問題がある。発生符号量が振動すると、一時的にバッファのサイズが多く必要となり、非効率である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２１５２５２号公報
【非特許文献１】パイオニア株式会社、技術解説（ＭＰＥＧ技術解説）、平成２１年１２月１０日検索、インターネット＜ＵＲＬ：http://pioneer.jp/crdl/tech/mpeg/3-2.html＞
【非特許文献２】特許庁、資料室、平成２１年１２月１０日検索、インターネット＜ＵＲＬ：http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/nle/nle-7-1.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、フレーム内の全てのマクロブロックがイントラ符号化処理されるＩピクチャが存在する場合、Ｉピクチャの処理で遅延が発生する可能性があり、低遅延なシステムには向かない。そこで、非特許文献１に示すような、符号化方法が提案されている。
【０００７】
非特許文献１において、フレーム内の全てのマクロブロックがイントラ符号化されるＩピクチャは利用されない。非特許文献１では、イントラマクロブロックがスライス単位で配置される。フレーム内のあるスライス内の全てのマクロブロックを、予測を用いずに直接ＤＣＴを行うイントラマクロブロックとして符号化する。このようなスライスをイントラスライスと呼ぶ。イントラスライスを適用する場所をフレームごとにずらしていくと、一定周期で画面全体をイントラスライスが巡回していき、画面がリフレッシュされることになる。Ｉピクチャに比べ、イントラスライスに要する発生符号量は少ないため、バッファサイズを減少させ、遅延を減らすことができる。
【０００８】
非特許文献２においても、同様に、イントラスライスを利用する技術が開示されている。
【０００９】
非特許文献１および非特許文献２で示すように、イントラスライスを用いることで、イントラブロックをＧＯＰ内に分散させることができる。
【００１０】
しかし、スライス内の全てのマクロブロックをイントラ符号化処理し、かつ、フレームごとにイントラスライスの位置を１列ずつずらしていく方法であるので、画質劣化の原因となっていた。具体的には、画像を連続再生したときイントラスライスが走査線のように見えてしまうという問題があった。
【００１１】
上記特許文献１では、イントラマクロブロックをマクロブロック単位で分散させるようにしている。しかし、イントラマクロブロックが複雑な画像である場合、イントラマクロブロックの符号量が増加する傾向にある。イントラマクロブロックの符号量を抑制するためには、イントラマクロブロックを粗く量子化することが考えられる。イントラマクロブロックを粗く量子化した場合、イントラマクロブロックの画質と、イントラマクロブロックの周囲に位置するインターマクロブロックの画質とに差が生じる。この結果、イントラマクロブロックの位置が目立つという問題があった。
【００１２】
本発明の目的は、１フレーム当たりのイントラマクロブロックの符号量のばらつきを抑制し、画質の劣化の少ない画像符号化装置を提供することである。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、請求項１記載の発明は、画像符号化装置であって、マクロブロック内における第１フレームの画像の複雑さを示すアクティビティを算出するアクティビティ算出部と、横方向に一列に並ぶマクロブロックのラインごとに、第１フレームでイントラ符号化することができるイントラ候補マクロブロックを設定するイントラ候補設定部と、前記ラインに含まれる前記第１フレームのイントラ候補マクロブロックのうち、アクティビティが最小のマクロブロックを、前記第１フレームのイントラマクロブロックとして決定するイントラマクロブロック決定部と、前記イントラマクロブロックをイントラ符号化する符号化部と、を備える。
【００１４】
請求項２記載の発明は、請求項１に記載の画像符号化装置において、第２フレームは、前記第１フレームの次に入力されるフレームであり、前記イントラ候補設定部は、前記最小のマクロブロックを、前記第２フレームのイントラ候補マクロブロックから除外する。
【００１５】
請求項３記載の発明は、請求項２に記載の画像符号化装置において、前記イントラ候補設定部は、前記ラインのうち第１ラインに含まれる全てのマクロブロックが前記第２フレームのイントラ候補マクロブロックから除外された場合、前記全てのマクロブロックを前記第２フレームのイントラ候補マクロブロックとして再設定する。
【００１６】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載の画像符号化装置において、前記ラインは、第１ラインと、前記第１ラインに接する第２ラインと、を含み、前記第１ラインで設定されるイントラ候補マクロブロックの割合と、前記第２ラインで設定されるイントラ候補マクロブロックの割合とが互いに異なる。
【００１７】
請求項５記載の発明は、請求項４に記載の画像符号化装置において、前記ラインごとのイントラ候補マクロブロックの割合が一定の間隔で変化する。
【発明の効果】
【００１８】
本発明の画像符号化装置は、ラインごとに設定されたイントラ候補マクロブロックのうちアクティビティが最小のマクロブロックをイントラマクロブロックとして決定する。ラインごとにイントラ候補ＭＢが設定されるため、各ラインでアクティビティの高いマクロブロックがイントラ符号化されることが防止される。したがって、１フレームあたりのイントラマクロブロックの符号量が急激に増加することを防止することができる。
【００１９】
第１フレームのイントラマクロブロックとして決定されたマクロブロックは、イントラ候補マクロブロックから除外される。このため、第１フレームのイントラマクロブロックが、次のフレームのイントラマクロブロックとなることが防止される。フレーム間でイントラマクロブロックが分散して配置されるため、イントラマクロブロックの位置を目立たなくすることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態による画像符号化装置の構成を示す機能ブロック図である。
【図２】各フレームにおけるマクロブロックの構成を示す図である。
【図３Ａ】イントラマクロブロック（イントラＭＢ）として指定することができるマクロブロック（イントラ候補ＭＢ）の初期状態での分布を示す図である。
【図３Ｂ】イントラＭＢ及びイントラ候補ＭＢの分布を示す図である。
【図３Ｃ】更新処理後のイントラ候補ＭＢの分布を示す図である。
【図３Ｄ】イントラＭＢ及びイントラ候補ＭＢの分布を示す図である。
【図４Ａ】イントラ候補ＭＢの分布を示す図である。
【図４Ｂ】復帰処理後のイントラ候補ＭＢの分布を示す図である。
【図５】本発明の実施の形態の変形例におけるイントラ候補ＭＢの初期状態での分布を示す図である。
【図６】実施例１におけるイントラマクロブロックの符号量の変化を示す図である。
【図７】実施例２におけるイントラマクロブロックの符号量の変化を示す図である。
【図８】実施例３におけるイントラマクロブロックの符号量の変化を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【００２２】
＜画像符号化装置の構成＞
図１は、本実施の形態に係る画像符号化装置１の構成を示す機能ブロック図である。画像符号化装置１は、符号化部１１と、アクティビティ算出部１２と、イントラ候補設定部１３と、イントラマクロブロック決定部１４とを備える。以下、イントラマクロブロック決定部１４を、「イントラＭＢ決定部１４」と呼ぶ（ＭＢ：ＭａｃｒｏＢｌｏｃｋ）。
【００２３】
符号化部１１は、非圧縮画像データ２１を入力する。符号化部１１は、入力した非圧縮画像データ２１に対して画像符号化処理を行い、圧縮画像データ２２を出力する。符号化部１１は、たとえば、ＭＰＥＧ２やＨ．２６４などの符号化方式で画像符号化処理を実行する。
【００２４】
アクティビティ算出部１２は、非圧縮画像データ２１を入力する。アクティビティ算出部１２は、非圧縮画像データ２１のマクロブロックごとに、アクティビティＡＣＴを算出する。アクティビティＡＣＴは、マクロブロック内の画像の複雑さを示す数値である。
【００２５】
イントラ候補設定部１３は、イントラ符号化の対象となり得るイントラ候補マクロブロックをブロックラインごとに設定する。以下、イントラ候補マクロブロックを「イントラ候補ＭＢ」と呼ぶ。ブロックラインとは、横方向に一列に並んでいるマクロブロックによって構成される帯状の領域である。イントラ候補設定部１３は、イントラ候補ＭＢに関する情報をＭＢ分類情報３１として保持する。
【００２６】
イントラＭＢ決定部１４は、ＭＢ分類情報３１と各マクロブロックのアクティビティＡＣＴとに基づいて、各フレームに配置するイントラＭＢを決定する。イントラＭＢ決定部１４は、ブロックラインに含まれるイントラ候補ＭＢのうち、アクティビティが最小のマクロブロックをイントラＭＢとして決定する。ブロックラインごとに一つのイントラＭＢが配置されるため、各フレームでイントラＭＢが分散して配置される。
【００２７】
本実施の形態において、画像符号化装置１は、非圧縮画像データ２１を符号化するときに、全てのイントラマクロブロックが符号化されたＩピクチャを生成しない。画像符号化装置１は、各フレームにイントラＭＢを分散して配置する。
【００２８】
＜イントラＭＢの決定の概要＞
各フレームのイントラＭＢを決定するまでの手順の概要を説明する。図２は、非圧縮画像データのフレームの構造を示す図である。図２に示すように、１フレームが、２４個のマクロブロックＭ０〜Ｍ２３で構成されている場合を例に説明する。１フレームは、横６個×縦４個のマクロブロックで構成される。フレームには、ブロックラインＢＬ１〜ＢＬ４が形成されている。
【００２９】
画像符号化装置１は、各フレームのイントラＭＢを、（手順ａ）〜（手順ｄ）に従って決定する。
【００３０】
（手順ａ）イントラ候補ＭＢの初期設定
イントラ候補ＭＢの初期設定は、非圧縮画像データ２１の符号化が開始される前に行われる。イントラ候補設定部１３は、各フレームにおけるイントラＭＢの位置を分散させるために、ブロックラインごとにイントラ候補ＭＢを設定する。
【００３１】
（手順ｂ）アクティビティＡＣＴの算出
アクティビティ算出部１２は、フレームが入力されるたびに、各マクロブロックのアクティビティＡＣＴを算出する。
【００３２】
（手順ｃ）イントラＭＢの決定
イントラＭＢ決定部１４は、ＭＢ分類情報３１及び算出したアクティビティＡＣＴを用いて、ブロックラインごとに一つずつイントラＭＢを決定する。具体的には、各ブロックラインのイントラ候補ＭＢの中でアクティビティが最小のマクロブロックをイントラＭＢに決定する。アクティビティＡＣＴの低いマクロブロックが優先的にイントラ符号化されるため、イントラＭＢの符号量を抑制することができる。
【００３３】
（手順ｄ）ＭＢ分類情報３１の更新
イントラ候補設定部１３は、イントラＭＢとして決定されたマクロブロックをイントラ候補ＭＢからイントラ禁止ＭＢに変更する。イントラ禁止ＭＢは、イントラ符号化が許可されていないマクロブロックである。これにより、ＭＢ分類情報３１が更新される。次のフレームのイントラＭＢの決定には、更新されたＭＢ分類情報３１が用いられる。
【００３４】
フレームが入力されるたびに（手順ｂ）〜（手順ｄ）の処理が繰り返される。（手順ａ）〜（手順ｄ）の詳細について、フレームＦ１のイントラＭＢを決定するケースを例に説明する。フレームＦ１の次には、フレームＦ２，Ｆ３，・・・Ｆ６，・・・Ｆ１２，・・・が順次入力される。以下、ブロックラインＢＬ１，ＢＬ３を「奇数ライン」と呼ぶ。ブロックラインＢＬ２，ＢＬ４を「偶数ライン」と呼ぶ。
【００３５】
＜イントラ候補ＭＢの初期設定（手順ａ）＞
図３Ａは、初期設定時におけるイントラ候補ＭＢの分布を示す図である。図３Ａにおいて、イントラ候補ＭＢを白で示す。イントラ禁止ＭＢをハッチングで示す。
【００３６】
ブロックラインＢＬ１では、マクロブロックＭ０〜Ｍ５がイントラ候補ＭＢに設定される。ブロックラインＢＬ２では、マクロブロックＭ６，Ｍ８，Ｍ１０がイントラ候補ＭＢに設定される。ブロックラインＢＬ３では、マクロブロックＭ１２〜Ｍ１７がイントラ候補ＭＢに設定される。ブロックラインＢＬ４では、マクロブロックＭ１８，Ｍ２０，Ｍ２２がイントラ候補ＭＢに設定される。
【００３７】
初期設定時には、奇数ラインの全マクロブロックがイントラ候補ＭＢに設定される。初期設定時には、偶数ラインでは、イントラ候補ＭＢが一つおきに設定される。イントラ候補ＭＢの割合が１００％のブロックラインと、イントラ候補ＭＢの割合が５０％のブロックラインとが交互に繰り返されるように、イントラ候補ＭＢが設定されている。偶数ラインにおいて、イントラ候補ＭＢの割合が５０％であれば、イントラ候補ＭＢは、一つおきに配置されていなくてもよい。つまり、あるブロックラインと、あるブロックラインに接するブロックラインとの間でイントラ候補ＭＢの割合が異なるように、イントラ候補ＭＢが設定されればよい。
【００３８】
＜アクティビティＡＣＴの算出（手順ｂ）＞
アクティビティ算出部１２は、フレームが入力されるたびに、各マクロブロックのアクティビティＡＣＴを算出する。上述したように、アクティビティＡＣＴは、マクロブロック内の画像の複雑さを示す数値である。アクティビティ算出部１２は、マクロブロック内の各画素の画素値の分散をアクティビティＡＣＴとして算出する。画素値として、マクロブロック内の画素の輝度値や、各色成分の画素値を用いることができる。
【００３９】
各マクロブロックの画像の複雑さを示す数値であれば、他の計算方法を用いてもよい。たとえば、マクロブロック内のある画素（注目画素）の画素値と、注目画素の右隣に接する画素の画素値との差分絶対値の総和を、アクティビティＡＣＴとして算出してもよい。
【００４０】
＜イントラＭＢの決定（手順ｃ）＞
図３Ｂは、イントラ候補ＭＢと、フレームＦ１のアクティビティとの対応を示す図である。イントラＭＢ決定部１４は、各ブロックラインに設定されたイントラ候補ＭＢのうち、アクティビティＡＣＴが最小のマクロブロックをイントラＭＢとして決定する。
【００４１】
ブロックラインＢＬ１では、イントラ候補ＭＢであるマクロブロックＭ０〜Ｍ５の中から、アクティビティＡＣＴが最小であるマクロブロックＭ１がイントラＭＢとして決定される。同様に、ブロックラインＢＬ２，ＢＬ３，ＢＬ４のマクロブロックＭ１０，Ｍ１４，Ｍ２２が、イントラＭＢとして決定される。図３Ｂにおいて、イントラＭＢとして決定されたマクロブロックＭ１，Ｍ１０，Ｍ１４，Ｍ２２を砂地模様で示す。各ブロックラインにイントラＭＢが一つずつ配置されていることがわかる。
【００４２】
奇数ラインでは、イントラ禁止ＭＢが設定されていない。このため、各奇数ラインで最小のアクティビティＡＣＴを有するマクロブロックが、イントラＭＢとして決定される。
偶数ラインでは、アクティビティＡＣＴが最小のマクロブロックがイントラ候補ＭＢに設定されるとは限らない。たとえば、ブロックラインＢＬ２では、アクティビティＡＣＴの値が下位から数えて３番目のマクロブロックＭ１０がイントラＭＢとして決定されている。奇数ラインと偶数ラインとでイントラ候補ＭＢの割合を変化させることにより、イントラＭＢのアクティビティＡＣＴのレベルを分散させることができる。
【００４３】
イントラＭＢのアクティビティＡＣＴのレベルを、奇数ラインと偶数ラインとの間で分散させることにより、フレームＦ１のイントラＭＢの符号量総和が、他のフレームのイントラＭＢの符号量総和に比べて非常に大きくなることを防止できる。この理由について説明する。
【００４４】
通常、符号量を抑制するために、アクティビティＡＣＴの大きい（画像が複雑な）マクロブロックを符号化する場合、画像が複雑なマクロブロックは粗く量子化される。しかし、本実施の形態において、画像が複雑なイントラＭＢを粗く量子化した場合、イントラＭＢの画質と、イントラＭＢの周囲に位置するインターマクロブロックの画質とに差が生じるため、イントラＭＢの位置が目立つおそれがある。このため、画像が複雑なイントラＭＢであっても、細かく量子化する必要がある。
【００４５】
画像が複雑なイントラＭＢと、アクティビティＡＣＴの小さい（画像が平坦な）イントラＭＢとを同じ粗さで量子化した場合、画像が複雑なイントラＭＢの符号量が、画像が平坦なイントラＭＢの符号量よりも大きくなる。これは、画像が平坦なマクロブロックでは、高周波成分の量子化値がほぼ０になるため、画像が平坦なマクロブロックの符号量が抑制されるためである。
【００４６】
上述したように、画像符号化装置１は、イントラＭＢのアクティビティＡＣＴのレベルを、奇数ラインと偶数ラインとの間で分散させる。これにより、奇数ラインと偶数ラインとで、アクティビティＡＣＴの大きいイントラＭＢを同時に符号化することがないため、フレームＦ１のイントラＭＢの符号量総和が極端に上昇することを防ぐことができる。
【００４７】
フレームＦ１の符号化の際に、イントラＭＢとして決定されたマクロブロックＭ１，Ｍ１０，Ｍ１４，Ｍ２２はイントラ符号化される。なお、シーケンスの先頭フレームをＩピクチャとしてもよい。これにより、圧縮画像データ２２を先頭フレームから生成することができる。
【００４８】
＜イントラ候補ＭＢの更新（手順ｄ）＞
イントラＭＢ決定部１４は、フレームＦ１のイントラＭＢとして決定したマクロブロックＭ１，Ｍ１０，Ｍ１４，Ｍ２２のインデックスＩｄｘを、イントラ候補設定部１３に通知する。イントラ候補設定部１３は、通知されたインデックスＩｄｘに基づいて、マクロブロックＭ１，Ｍ１０，Ｍ１４，Ｍ２２をイントラ禁止ＭＢに変更して、ＭＢ分類情報３１を更新する。
【００４９】
図３Ｃは、フレームＦ１のイントラＭＢが決定された後のイントラ候補ＭＢの分布を示す図である。図３Ｃに示すように、フレームＦ１のイントラＭＢであるマクロブロックＭ１，Ｍ１０，Ｍ１４，Ｍ２２がイントラ禁止ＭＢに設定されている。各ブロックラインでマクロブロックが一つずつイントラ符号化されるため、フレームが符号化されるたびにイントラ禁止ＭＢの数が一つずつ増加する。しかし、イントラ候補ＭＢの割合は、奇数ラインと偶数ラインとの間で異なったままである。
【００５０】
＜フレームＦ２，Ｆ３のイントラＭＢの決定＞
フレームＦ２が、フレームＦ１の次に入力される。アクティビティ算出部１２は、フレームＦ２に対応する各マクロブロックのアクティビティＡＣＴを算出する（手順ｂ）。ＭＢ分類情報３１が更新されているため、フレームＦ２のイントラＭＢは、図３Ｃに示すイントラ候補ＭＢの中から決定される。
【００５１】
図３Ｄは、イントラ候補ＭＢとフレームＦ２のアクティビティＡＣＴとの対応を示す図である。イントラＭＢ決定部１４は、（手順ｃ）に基づいて、マクロブロックＭ５，Ｍ８，Ｍ１５，Ｍ２０をフレームＦ２のイントラＭＢとして決定する。ＭＢ分類情報３１が更新されるため、フレームＦ１のイントラＭＢ（マクロブロックＭ１，Ｍ１０，Ｍ１４，Ｍ２２）は、フレームＦ２のイントラＭＢとして決定されない。したがって、イントラＭＢを、各フレームで分散して配置することができる。
【００５２】
図３Ｄに示すように、奇数ラインでは、アクティビティＡＣＴが下位〜中位のマクロブロックＭ５，Ｍ１５がイントラＭＢとして決定されている。偶数ラインでは、アクティビティＡＣＴが中位〜上位のマクロブロックＭ８，Ｍ２０がイントラＭＢとして決定されている。
【００５３】
このように、ブロックラインにおけるイントラ候補ＭＢの割合が少なくなるにつれて、イントラＭＢのアクティビティＡＣＴが大きくなる。しかし、奇数ラインと偶数ラインとでイントラ候補ＭＢの割合が異なるため、アクティビティＡＣＴの大きいマクロブロックが、奇数ラインと偶数ラインでイントラＭＢとして同時に選ばれることはない。上述のように、画質の劣化を防ぐために、アクティビティＡＣＴの大きいイントラＭＢを細かく量子化した場合でも、１フレーム当たりのイントラＭＢの符号量総和が極端に上昇することを防ぐことができる。
【００５４】
図３Ｄを参照して、マクロブロックＭ５，Ｍ８，Ｍ１５，Ｍ２０は、フレームＦ２のイントラＭＢとして決定されたため、イントラ禁止ＭＢに変更される（手順ｄ）。この結果、偶数ラインのイントラ候補ＭＢの数は、一つとなる。たとえば、ブロックラインＢＬ２では、イントラ候補ＭＢは、マクロブロックＭ６だけとなる。
【００５５】
フレームＦ２の次に、フレームＦ３が入力される。フレームＦ３のイントラＭＢが決定される（手順ｃ）。ブロックラインＢＬ２のイントラ候補ＭＢはマクロブロックＭ６だけであるため、マクロブロックＭ６がフレームＦ３のイントラＭＢとして決定される。マクロブロックＭ６が、ブロックラインＢＬ２で最大のアクティビティＡＣＴを有するとは限らない。つまり、（手順ｃ）でイントラＭＢを決定することにより、各ブロックラインで最大のアクティビティＡＣＴを有するマクロブロックがイントラＭＢとして決定される頻度が低下する。したがって、１フレーム当たりのイントラＭＢの符号量の総和が極端に上昇することを防止することができる。
【００５６】
＜復帰処理＞
フレームＦ３のイントラＭＢとして決定されたマクロブロックは、イントラ禁止ＭＢに変更される（手順ｄ）。ブロックラインＢＬ２では、マクロブロックＭ６がイントラＭＢに決定されるため、ブロックラインＢＬ２の全マクロブロックがイントラ禁止ＭＢに設定される。ブロックラインＢＬ４も同様である。
【００５７】
図４Ａは、フレームＦ３のイントラＭＢ決定後におけるイントラ候補ＭＢの分布を示す図である。偶数ラインの全マクロブロックがイントラ禁止ＭＢに設定されている。このため、フレームＦ３の次にフレームＦ４が入力されても、偶数ラインのイントラＭＢを決定することができない。
【００５８】
イントラ候補設定部１３は、偶数ラインのイントラＭＢの決定を可能にするために、偶数ラインに対して復帰処理を実行する。復帰処理とは、全マクロブロックがイントラ禁止ＭＢに設定されたブロックライン（復帰対象ライン）が存在する場合、復帰対象ラインの全マクロブロックをイントラ候補ＭＢに再設定する処理をいう。
【００５９】
図４Ｂは、復帰処理後のイントラ候補ＭＢの分布を示す図である。復帰処理により、偶数ラインの全マクロブロックがイントラ禁止ＭＢからイントラ候補ＭＢに変化している。奇数ラインは、フレームＦ３のイントラＭＢが決定された後でも、イントラ候補ＭＢに設定されたマクロブロックを有している（図４Ａ参照）。このため、奇数ラインは、復帰処理の対象とならない。
【００６０】
復帰処理により、偶数ラインにおけるイントラ候補ＭＢの割合は、１００％となる。奇数ラインにおけるイントラ候補ＭＢの割合は、５０％である。奇数ライン及び偶数ラインのイントラ候補ＭＢの割合が、初期状態の時と比べて逆転する。復帰処理により、フレームＦ４では、奇数ラインで中位程度のアクティビティＡＣＴを有するマクロブロックがイントラＭＢとして決定される。偶数ラインで最小のアクティビティＡＣＴを有するマクロブロックがイントラＭＢとして決定される。復帰処理が行われた後でも、奇数ラインと偶数ラインとで、イントラＭＢのアクティビティＡＣＴを分散させることができる。
【００６１】
奇数ラインの復帰処理は、フレームＦ６のイントラＭＢの決定後に実行される。奇数ラインの復帰処理により、奇数ライン及び偶数ラインで設定されたイントラ候補ＭＢの割合は、初期状態と同様に、１００％，５０％となる。このとき、偶数ラインにおいてイントラ候補ＭＢが一つおきに設定されるとは限らない。フレームＦ４〜Ｆ６において、偶数ラインのイントラＭＢとして、アクティビティＡＣＴの低いイントラ候補ＭＢが優先的に選択されるためである。
【００６２】
つまり、奇数ラインの復帰処理は、フレームＦ６，Ｆ１２，Ｆ１８，・・・のイントラＭＢを決定した後に行われる。偶数ラインの復帰処理は、フレームＦ３，Ｆ９，Ｆ１５，・・・のイントラＭＢを決定した後に行われる。つまり、偶数ラインに予めイントラ禁止ＭＢを設定しておくことにより（図３Ａ参照）、奇数ライン及び偶数ラインの復帰処理のタイミングをずらすことができる。
【００６３】
復帰処理が行われたブロックラインに属するマクロブロックは、６フレーム以内にイントラＭＢとして決定される。ただし、各マクロブロックがイントラＭＢとして決定される間隔（イントラ間隔）は、１〜１１フレームの範囲で変化する。一般的には、イントラ間隔は、１〜｛（ブロックラインのマクロブロック数×２）−１｝となる。
【００６４】
イントラ間隔が１となる例について説明する。フレームＦ３のイントラＭＢとして、ブロックラインＢＬ２に属するマクロブロックＭ６が決定されたとする。ブロックラインＢＬ２の復帰処理に伴って、マクロブロックＭ６は、イントラ候補ＭＢに再び設定される（図４Ａ、図４Ｂ参照）。マクロブロックＭ６がフレームＦ４のイントラＭＢとして決定された場合、マクロブロックＭ６がフレームＦ３，Ｆ４で続けてイントラ符号化されるため、イントラ間隔が１となる。
【００６５】
イントラ間隔が１１となる例について説明する。フレームＦ１のイントラＭＢとして、ブロックラインＢＬ１に属するマクロブロックＭ１が決定されたとする（図３Ａ）。ブロックラインＢＬ１の復帰処理は、フレームＦ６のイントラＭＢが決定された後に実行される。復帰処理後、マクロブロックＭ１は、フレームＦ１２が入力されるまで、イントラＭＢとして決定されない可能性がある。このようなケースのときに、イントラ間隔は１１となる。
【００６６】
｛変形例｝
上記実施の形態では、ブロックラインにおけるイントラ候補ＭＢの割合を、奇数ラインと偶数ラインとで変化させる例を説明した。しかし、ブロックラインごとに設定されるイントラ候補ＭＢの割合を変化させる間隔（設定間隔）を大きくすることにより、１フレームあたりのイントラＭＢの符号量の総和のばらつきをさらに抑制することができる。
【００６７】
図５は、イントラ候補ＭＢの割合を４ブロックラインおきに変化させたときのイントラ候補ＭＢの初期状態を示す図である。本変形例では、非圧縮画像データ２１のフレームが、３２個のマクロブロックＭ０〜Ｍ３１で構成されている場合を例に説明する。１フレームは、横４個×縦８個のマクロブロックで構成される。
【００６８】
設定間隔をＰとする。図５に示す例では、設定間隔Ｐの値は４となる。上記実施の形態で説明した例（図３Ａ参照）では、設定間隔Ｐの値は２である。設定間隔Ｐの値は、Ｎ＝２，４以外の値でもよい。ただし、設定間隔Ｐの最大値は、非圧縮画像データ２１のブロックラインの数である。
【００６９】
ブロックラインＢＬ１，ＢＬ５は、イントラ候補ＭＢの割合が１００％である。ブロックラインＢＬ２，ＢＬ６は、イントラ候補ＭＢの割合が７５％である。ブロックラインＢＬ３，ＢＬ７は、イントラ候補ＭＢの割合が５０％である。ブロックラインＢＬ４，ＢＬ８は、イントラ候補ＭＢの割合が２５％である。
【００７０】
このように、ブロックラインＢＬ１〜ＢＬ８において、イントラ候補ＭＢの割合を４ブロックラインごとに変化させることにより、各ブロックラインで選択されるイントラＭＢのアクティビティＡＣＴが、上記実施の形態に比べてさらに分散する。設定間隔Ｐを大きくすることにより、アクティビティＡＣＴのレベルが上位のマクロブロックが、イントラＭＢとして決定される頻度が低下するため、１フレームあたりのイントラＭＢの符号量の変化をさらに抑制することができる。
【００７１】
設定間隔Ｐを大きくすることにより、アクティビティＡＣＴのレベルが低いマクロブロックがイントラＭＢとして決定される頻度も低下する。たとえば、アクティビティＡＣＴの低い移動物体が移動する場合であっても、移動物体が優先的にイントラ符号化されることを防ぐことができる。移動物体が連続的にイントラ符号化され、背景が連続的にインター符号化されることが防止されるため、移動物体の位置が目立つことが防止される。
【実施例】
【００７２】
以下、上述の画像符号化装置１を用いて設定間隔Ｐの値を変えて非圧縮画像データ２１を符号化した実施例について説明する。図６〜図８は、各フレームに配置されたイントラＭＢの平均符号量の変化を示す図である。
【００７３】
図６は、設定間隔Ｐ＝２でイントラ候補ＭＢを初期設定した場合における、イントラＭＢの平均符号量の変化を示すグラフである（実施例１）。画像のサイズが異なるものの、初期設定で図３Ａに示すようにイントラ候補ＭＢが設定されている。横軸は、フレーム番号を示す。縦軸は、各フレームのイントラＭＢの平均符号量を示す。比較例として、各フレームのイントラＭＢをランダムに配置した場合における、各フレームのイントラＭＢの平均符号量を示す。
【００７４】
実施例１及び比較例は、Ｉピクチャを使用せず、各フレームにイントラＭＢを分散して配置している。このため、図には示していないが、Ｉピクチャを使用する場合と比べて、フレーム間での符号量の変動が抑制されている。
【００７５】
図６に示すように、実施例１の平均符号量が、４０フレームおきに増減を繰り返している。これは、４０フレームおきに復帰処理が行われているためである。比較例の平均符号量が、３５０〜６００ビットの範囲で変動しているのに対し、実施例１の平均符号量が、１００〜６００ビットの範囲で変動している。したがって、実施例１は、比較例と比べてシーケンス全体でのイントラＭＢの平均符号量を抑制できていることがわかる。
【００７６】
図７は、設定間隔Ｐ＝４でイントラ候補ＭＢを初期設定した場合における、イントラＭＢの平均符号量の変化を示すグラフである（実施例２）。初期状態では、イントラ候補ＭＢは、図５に示すように配置されている。
【００７７】
図７に示すように、実施例２の平均符号量が、２０フレームおきに増減を繰り返している。これは、２０フレームおきに復帰処理が行われているためである。比較例の平均符号量が、３５０〜６００ビットの範囲で変動しているのに対し、実施例２の平均符号量が、１００〜５００ビットの範囲で変動している。実施例２の平均符号量が比較例１の平均符号量と比べて低いレベルで変動しているため、実施例２は、比較例１と比べてシーケンス全体でのイントラＭＢの平均符号量を抑制できていることがわかる。
【００７８】
図８は、設定間隔Ｐ＝８でイントラ候補ＭＢを初期設定した場合における、イントラＭＢの平均符号量の変化を示すグラフである（実施例３）。初期状態では、イントラ候補ＭＢの割合が８ブロックラインごとに変化するように、イントラ候補ＭＢが設定されている。
【００７９】
設定間隔Ｐ＝８の場合、１０フレームおきに復帰処理が行われているが、実施例３の平均符号量の増減が、実施例１，２ほど明瞭に現れていない。比較例の平均符号量が、３５０〜６００ビットの範囲で変動しているのに対し、実施例３の平均符号量は、１００〜４００ビットの範囲で変動している。実施例３の平均符号量が比較例１の平均符号量と比べて低いレベルで変動しているため、実施例３は、比較例１と比べてシーケンス全体でのイントラＭＢの平均符号量を抑制できていることがわかる。
【００８０】
図６〜図８に示すように、設定間隔Ｐを大きくすることに伴って、イントラＭＢの平均符号量が低いレベルで変動するようになる。また、設定周期Ｐを大きくすることに伴って、イントラＭＢの平均符号量のばらつきが縮小していることがわかる。
【符号の説明】
【００８１】
１  画像符号化装置
１１  符号化部
１２  アクティビティ算出部
１３  イントラ候補設定部
１４  イントラマクロブロック決定部
【図１】
2011166512.tif 000003
【図２】
2011166512.tif 000004
【図３Ａ】
2011166512.tif 000005
【図３Ｂ】
2011166512.tif 000006
【図３Ｃ】
2011166512.tif 000007
【図３Ｄ】
2011166512.tif 000008
【図４Ａ】
2011166512.tif 000009
【図４Ｂ】
2011166512.tif 000010
【図５】
2011166512.tif 000011
【図６】
2011166512.tif 000012
【図７】
2011166512.tif 000013
【図８】
2011166512.tif 000014