(57)【特許請求の範囲】
【請求項１】
動画像を構成するピクチャ上に独立に符号化される領域を設け、符号化対象ピクチャにおける前記領域内の符号化対象ブロックを動き探索した際の参照先ブロックが参照ピクチャにおいて前記領域内にあるか否かを判定し、前記参照先ブロックの少なくとも一部が前記参照ピクチャにおいて前記領域外にある場合、前記領域内にある前記参照先ブロックの画素データを用いて前記領域外にある前記参照先ブロックの画素を生成した上で、動き予測を行うことを特徴とする符号化方法であって、
前記参照先ブロックの少なくとも一部が前記参照ピクチャにおいて前記独立に符号化される領域外にある場合に、前記参照ピクチャにおける当該領域内にある前記参照先ブロックの画素データを用いて当該領域外にある前記参照先ブロックの画素を生成することにより生成される第１の参照先ブロックによる動き予測符号化の符号量と、当該領域外にある前記参照先ブロックの画素を前記参照ピクチャにおける当該領域外の対応する位置にある画素で代用することにより生成される第２の参照先ブロックによる動き予測符号化の符号量とを比較し、符号量がより少なくなる方の参照先ブロックを選択し、選択された参照先ブロックを識別する情報を前記動画像の符号化データに含めることを特徴とする符号化方法。
【請求項２】
前記独立に符号化される領域は、他の領域とは異なる品質で符号化されることを特徴とする請求項１に記載の符号化方法。
【請求項３】
前記独立に符号化される領域のピクチャ間での移動を追跡し、追跡された前記参照ピクチャにおける当該領域内に前記参照先ブロックがあるか否かを判定し、追跡された前記参照ピクチャにおける当該領域の位置情報を前記動画像の符号化データに含めることを特徴とする請求項１または２に記載の符号化方法。
【請求項４】
前記参照先ブロックの全体が前記参照ピクチャにおいて前記独立に符号化される領域外にある場合、前記参照先ブロックに最も近い、前記参照ピクチャにおける前記独立に符号化される領域内の画素データを用いて前記参照先ブロックの画素を生成することを特徴とする請求項１から３のいずれかに記載の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する符号化方法、特に動画像を領域毎に符号化する符号化方法に関する。
【背景技術】
【０００２】
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、ＤＶＤなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、ＭＰＥＧ４の規格やＨ．２６４／ＡＶＣ規格がある。また、１つのストリームで、符号量に応じて、異なる画質（たとえば高画質と低画質）、異なる解像度（たとえば高解像度と低解像度）、異なるフレームレート（たとえば高フレームレートと低フレームレート）の画像の圧縮および伸長を実現することのできる、Ｈ．２６４／ＡＶＣの拡張として規格化が進められているＳＶＣ（Scalable Video Coding）のような次世代画像圧縮技術がある。
【０００３】
次世代画像圧縮技術であるＳＶＣでは、動画像を複数の異なる解像度、フレームレート、画質で再生することができるように、空間スケーラビリティ、時間スケーラビリティ、ＳＮＲスケーラビリティなどの各種スケーラビリティをもたせて動画像を符号化する。これらのスケーラビリティを任意に組み合わせて符号化することも可能であり、ＳＶＣのスケーラビリティ機能は柔軟性に富んでいる。
【０００４】
画像の注目領域（Region of Interest;ＲＯＩ）を他の領域とは異なる画質で符号化する技術としてＲＯＩ符号化がある。また、ＳＶＣにおいては、インタラクティブＲＯＩ（Interactive Region of Interest;ＩＲＯＩ）符号化が要求仕様（Requirements）の１つに挙げられている。ＳＶＣのインタラクティブＲＯＩ符号化は、動画像の再生時にユーザが画像を見ながら画面上で注目領域の位置やサイズを逐次指定可能であり、注目領域を異なる品質で再生することを可能にするものである。ＳＶＣでは動画像を各種のスケーラビリティをもたせて符号化するため、再生時にユーザが指定した注目領域を他の領域とは異なる品質で復号することが可能である。
【０００５】
動画像の圧縮符号化では、動き補償が行われる。特許文献１には、前フレームの重要領域の範囲内で、符号化対象のフレームの分割領域毎に相関性が高い画素集合を探索し、各分割領域のデータと、探索した画素集合のデータとの差分を取るフレーム間予測手段を設けた動画像符号化装置が開示されている。
【特許文献１】特開２００６−１４０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
注目領域を符号化する際、注目領域内の画素データをバッファに格納し、注目領域内でマクロブロック単位で動きベクトルを検出することになる。仮に動きベクトルの参照先が注目領域から外れてしまうと、バッファには注目領域内の画素データしか保持されていないため、参照先の画素データが得られない。動きベクトルの探索範囲を注目領域内に限定することもできるが、動き探索の精度が落ちるため符号効率が悪化し、画質の低下を招く。
【０００７】
本発明はこうした状況に鑑みてなされたもので、その目的は、動き補償により動画像を符号化する際、画質を向上させることのできる符号化技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある態様の符号化方法は、動画像を構成するピクチャ上に独立に符号化される領域を設け、符号化対象ピクチャにおける前記領域内の符号化対象ブロックを動き探索した際の参照先ブロックが参照ピクチャにおいて前記領域内にあるか否かを判定し、前記参照先ブロックの少なくとも一部が前記参照ピクチャにおいて前記領域外にある場合、前記領域内にある前記参照先ブロックの画素データを用いて前記領域外にある前記参照先ブロックの画素を生成した上で、動き予測を行う。
【０００９】
ここでピクチャは符号化の単位であり、その概念にはフレーム、フィールド、ＶＯＰ（Video Object Plane）などを含む。
【００１０】
この態様によると、動画像上に異なる画質で符号化される領域を設けて符号化する際、動き探索による参照先が領域の外部に外れた場合でも、参照先の画素を領域内の画素データを用いて生成して参照画像を生成することができるため、動き補償予測により符号化された動画像の画質が向上する。
【００１１】
前記独立に符号化される領域は、他の領域とは異なる品質で符号化されてもよい。異なる品質で符号化するとは、空間解像度、フレームレート、画質レベル、ＳＮＲレベルなどを異ならせて符号化することを含む。
【００１２】
前記独立に符号化される領域のピクチャ間での移動を追跡し、追跡された前記参照ピクチャにおける当該領域内に前記参照先ブロックがあるか否かを判定し、追跡された前記参照ピクチャにおける当該領域の位置情報を前記動画像の符号化データに含めてもよい。前記領域のピクチャ間での移動の追跡は、動き探索により行われてもよく、領域内にあるべき特定のオブジェクトを抽出することにより行われてもよい。動画像上に設定された領域そのものが移動する場合に、領域を追跡して動き補償を行うことができる。また、追跡された領域の位置情報が符号化データに含まれるため、復号側で参照先ブロックが追跡された領域から外れるかどうかの判定を容易に行うことができる。
【００１３】
前記参照先ブロックの全体が前記参照ピクチャにおいて前記独立に符号化される領域外にある場合、前記参照先ブロックに最も近い、前記参照ピクチャにおける前記独立に符号化される領域内の画素データを用いて前記参照先ブロックの画素を生成してもよい。あるいは、前記参照先ブロックの全体が前記参照ピクチャにおいて前記領域外にある場合、前記参照先ブロックに最も近い、前記参照ピクチャにおける前記領域内の画素と前記参照先ブロックの少なくとも一部が重複するように前記参照先ブロックを移動させ、動き探索の参照先が移動後の参照先ブロックを指すように変更してもよい。このように移動させた後の参照先ブロックについては、参照先ブロックの少なくとも一部は前記参照ピクチャにおいて前記領域と重複するため、前記領域内にある前記参照先ブロックの画素データを用いて前記領域外にある前記参照先ブロックの画素を生成することができる。
【００１４】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１５】
本発明によれば、動き補償を用いた動画像の符号化および復号において、動画像の画質を高めることができる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１
図１は、実施の形態１に係る符号化装置１００の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
【００１７】
本実施の形態の符号化装置１００は、国際標準化機関であるＩＳＯ（International Organization for Standardization）／ＩＥＣ（International Electrotechnical Commission）によって標準化されたＭＰＥＧ（Moving Picture Experts Group）シリーズの規格（ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４）、電気通信に関する国際標準機関であるＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standardization Sector）によって標準化されたＨ．２６ｘシリーズの規格（Ｈ．２６１、Ｈ．２６２およびＨ．２６３）、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるＨ．２６４／ＡＶＣ（両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264）に準拠して動画像の符号化を行う。
【００１８】
ＭＰＥＧシリーズの規格では、フレーム内符号化を行うフレームをＩ（Intra）フレーム、過去のフレームを参照フレームとして順方向のフレーム間予測符号化を行うフレームをＰ（Predictive）フレーム、過去と未来のフレームを参照フレームとして双方向のフレーム間予測符号化を行うフレームをＢフレームという。
【００１９】
一方、Ｈ．２６４／ＡＶＣでは、参照フレームとして利用できるフレームは、時間の先後を問わず、過去の２枚のフレームを参照フレームとしてもよく、未来の２枚のフレームを参照フレームとしてもよい。また、参照フレームとして利用できるフレームの枚数も問わず、３枚以上のフレームを参照フレームとして用いることもできる。したがって、ＭＰＥＧ−１／２／４では、Ｂフレームは双方向予測（Bi-directional prediction）フレームのことを指していたが、Ｈ．２６４／ＡＶＣでは、Ｂフレームは、参照フレームの時間の先後は問わないため、双予測（Bi-predictive prediction）フレームのことを指すことに留意する。
【００２０】
なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はＭＰＥＧ−４におけるＶＯＰであってもよい。
【００２１】
符号化装置１００は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。
【００２２】
ブロック生成部１０は、入力された動画像のフレームをマクロブロックに分割する。フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部１０は生成したマクロブロックを差分器１２と動き補償予測処理部６０に供給する。
【００２３】
差分器１２は、ブロック生成部１０から供給されるフレームがＩフレームであれば、そのままＤＣＴ部２０に出力するが、ＰフレームまたはＢフレームであれば、動き補償予測処理部６０から供給される予測フレームとの差分を計算してＤＣＴ部２０に供給する。
【００２４】
ＲＯＩ初期設定部６２は、動画像上にＲＯＩ（Region of Interest）領域を初期設定する。ＲＯＩ領域は、ユーザが画像上の特定の領域を指定することによって選択されてもよく、画像の中心領域などあらかじめ定まった領域が選択されてもよい。また、人物や文字が映っている領域などの重要領域がＲＯＩ領域として自動的に抽出されてもよい。
【００２５】
ＲＯＩ領域を特徴づけるパラメータには、ＲＯＩ領域の左上隅の座標値、ＲＯＩ領域の幅および高さ、他の領域に対するＲＯＩ領域の相対的な画質レベル、ＲＯＩ領域の形状などがある。
【００２６】
符号化装置１００は、ＲＯＩ領域を他の領域とは異なる品質で符号化する。たとえば、ＲＯＩ領域を他の領域とは異なる空間解像度、フレームレート、画質レベル、ＳＮＲレベル、あるいはこれらの組み合わせで符号化する。
【００２７】
たとえば、ＲＯＩ領域を他の領域よりも高画質で符号化する場合、ＲＯＩ領域については、量子化の際に、異なる量子化テーブルを用いて、適用される量子化ステップを小さくしたり、量子化により切り捨てる下位ビット数を減らすなどにより、有効ビット数を多めに確保することで他の領域よりも高画質で符号化する。また、ＲＯＩ領域を他の領域よりも高い解像度で符号化してもよい。
【００２８】
ＲＯＩ領域は、必ずしも高画質で再生することだけを目的として設定されるとは限られないことに留意する。たとえば、プライバシーを保護する目的では、人物の顔が写っている注目領域を低画質で再生することが必要となる。そこで、プライバシー保護の必要のある領域をＲＯＩ領域に指定し、あらかじめ他の領域よりは画質を落として符号化することもできる。
【００２９】
ＲＯＩ初期設定部６２は、動画像に対してＲＯＩ領域を設定し直してもよい。ここでは、ＲＯＩ領域の再設定も初期設定に含める。ＲＯＩ初期設定部６２は、初期設定されたＲＯＩ領域の位置情報を動き補償予測処理部６０に与える。
【００３０】
動き補償予測処理部６０は、フレームバッファ８０に格納されている過去または未来のフレームを参照フレームとして利用し、ブロック生成部１０から入力されたＰフレームまたはＢフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測フレームを生成する。動き補償予測処理部６０は、生成した動きベクトルを可変長符号化部９０に供給し、予測フレームを差分器１２と加算器１４に供給する。
【００３１】
動き補償予測処理部６０は、ＲＯＩ初期設定部６２により初期設定されたＲＯＩ領域を追跡し、ＲＯＩ領域内の動き探索を行う。動き補償予測処理部６０は、符号化対象フレームのＲＯＩ領域内のマクロブロックについて、動きベクトルにより参照されるマクロブロックがＲＯＩ領域から外れた場合、後述の例外処理を行う。動き補償予測処理部６０は、符号化対象フレームのＲＯＩ領域の位置情報を可変長符号化部９０に与える。
【００３２】
差分器１２は、ブロック生成部１０から出力される現在の符号化対象フレームと、動き補償予測処理部６０から出力される予測フレームとの差分を求め、ＤＣＴ部２０に出力する。ＤＣＴ部２０は、差分器１２から与えられた差分フレームを離散コサイン変換（ＤＣＴ）し、ＤＣＴ係数を量子化部３０に与える。
【００３３】
量子化部３０は、ＤＣＴ係数を量子化し、可変長符号化部９０に与える。可変長符号化部９０は、動き補償予測処理部６０から与えられた動きベクトルとともに差分フレームの量子化されたＤＣＴ係数を可変長符号化し、符号化ストリームを生成する。可変長符号化部９０は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
【００３４】
また、可変長符号化部９０は、動き補償予測処理部６０から与えられたＲＯＩ領域の位置情報も適宜符号化して符号化ストリームに含める。ＲＯＩ領域の位置情報は、符号化ストリームのヘッダ部に含めてもよい。符号化ストリームには、ＲＯＩ領域の位置情報以外の各種パラメータも格納される。
【００３５】
量子化部３０は、フレームの量子化されたＤＣＴ係数を逆量子化部４０に供給する。逆量子化部４０は、与えられた量子化データを逆量子化し、逆ＤＣＴ部５０に与え、逆ＤＣＴ部５０は、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化されたフレームが復元される。復元されたフレームは加算器１４に入力される。
【００３６】
加算器１４は、逆ＤＣＴ部５０から供給されるフレームがＩフレームであれば、そのままフレームバッファ８０に格納する。加算器１４は、逆ＤＣＴ部５０から供給されるフレームがＰフレームまたはＢフレームであれば、それは差分フレームであるため、逆ＤＣＴ部５０から供給された差分フレームと動き補償予測処理部６０から供給される予測フレームとを加算することにより、元のフレームを再構築し、フレームバッファ８０に格納する。
【００３７】
フレームバッファ８０に格納された再構築フレームは、動き補償予測処理部６０による動き補償の参照フレームとして利用される。
【００３８】
ＰフレームもしくはＢフレームの符号化処理の場合は、上述のように動き補償予測処理部６０が動作するが、Ｉフレームの符号化処理の場合は、動き補償予測処理部６０は動作せず、ここでは図示しないが、フレーム内予測が行われる。
【００３９】
図２は、動き補償予測処理部６０の構成図である。
【００４０】
ＲＯＩ追跡部６４は、ＲＯＩ初期設定部６２により初期設定されたＲＯＩ領域の位置情報と動き探索部６６により検出される動きベクトル情報をもとにして、ＲＯＩ領域を追跡する。具体的には、ＲＯＩ領域内のオブジェクトなどの動きを検出し、ＲＯＩ領域の初期位置からの移動量と移動方向を求め、符号化対象フレームにおけるＲＯＩ領域の位置を決定する。
【００４１】
ＲＯＩ追跡部６４は、符号化対象フレームのＲＯＩ領域の位置情報（「ＲＯＩ位置情報」という）を符号化データに含めるために可変長符号化部９０に与えるとともに、ＲＯＩ情報保持部６７に保持する。ＲＯＩ情報保持部６７に保持された符号化対象フレームのＲＯＩ位置情報は、動き補償の際、参照フレームのＲＯＩ位置情報として利用される。
【００４２】
ＲＯＩ追跡部６４は、ＲＯＩ初期設定部６２によりＲＯＩ領域が再設定されるまでは、ＲＯＩ情報保持部６７に保持された直近のＲＯＩ位置情報をもとにして、それ以降のＲＯＩ領域の自動追跡を行う。
【００４３】
動き探索部６６は、ブロック生成部１０から与えられた符号化対象フレームのマクロブロック（「対象マクロブロック」という）に対して、フレームバッファ８０に格納された再構築フレームを参照フレームとして、参照フレーム内をマクロブロック単位で探索し、対象マクロブロックとの差分が最も小さいマクロブロックを参照マクロブロックとして選択する。これにより、対象マクロブロックから参照マクロブロックへの動きを示す動きベクトルが定まる。動き探索部６６は、対象マクロブロックの動きベクトルを可変長符号化部９０に与える。
【００４４】
動き探索部６６は、符号化対象フレームのＲＯＩ領域以外の通常領域の対象マクロブロックについては、参照マクロブロックの画素データをそのまま動き予測部７２に供給するだけであるが、符号化対象フレームのＲＯＩ領域内の対象マクロブロックに対しては、参照マクロブロックがＲＯＩ領域内にない場合には、参照マクロブロックに対して例外処理を施してから、例外処理後の参照マクロブロックを動き予測部７２に供給する。
【００４５】
動き探索部６６は、ＲＯＩ領域内の対象マクロブロックについては、その対象マクロブロックに対応する参照マクロブロックの位置情報をＲＯＩ内外判定部６８に与える。ＲＯＩ内外判定部６８は、ＲＯＩ情報保持部６７から参照フレームのＲＯＩ領域の位置情報を取得し、動き探索部６６により検出された参照マクロブロックが参照フレームのＲＯＩ領域内にあるかどうかを判定する。参照マクロブロックの少なくとも一部が参照フレームのＲＯＩ領域の外側にある場合、ＲＯＩ内外判定部６８は、例外処理の一例として、パディング部７０にパディング処理を実行するよう指示する。
【００４６】
パディング部７０は、参照マクロブロック内の画素の内、参照フレームのＲＯＩ領域の外側にある画素については、ＲＯＩ領域内にある参照マクロブロックの画素データを用いて補填するパディング処理を行う。これにより動き探索によって検出された参照マクロブロックの少なくとも一部がＲＯＩ領域から外れた場合であっても、参照マクロブロックの画素データを生成することができる。パディング部７０は、パディング処理された参照マクロブロックの画素データを動き予測部７２に与える。
【００４７】
動き予測部７２は、動き探索部６６から与えられる参照マクロブロックの画素データの他、パディング部７０から与えられるパディング処理後の参照マクロブロックの画素データを適宜用いて、動き補償された予測フレームを生成し、差分器１２および加算器１４に与える。
【００４８】
図３（ａ）、（ｂ）は、符号化対象フレームの対象マクロブロックと参照フレームの参照マクロブロックの関係を説明する図である。
【００４９】
図３（ａ）には、符号化対象フレーム２００のＲＯＩ領域２１０が図示されており、図３（ｂ）には、参照フレーム２０２のＲＯＩ領域２１２が図示されている。注目しているオブジェクト２３０、２３２が移動するため、それに伴って、ＲＯＩ領域２１０、２１２も２つのフレーム間で移動する。ＲＯＩ領域２１０、２１２の追跡は、ＲＯＩ追跡部６４によりなされる。
【００５０】
動き探索部６６により検出された動きベクトルにより、符号化対象フレーム２００のＲＯＩ領域２１０内の対象マクロブロック２２０が、参照フレーム２０２の参照マクロブロック２２２を参照していたとする。図３（ｂ）に示されるように、この参照マクロブロック２２２の一部は、参照フレーム２０２のＲＯＩ領域２１２の外側にある。
【００５１】
この場合、参照フレーム２０２のＲＯＩ領域２１２の外側では、参照フレーム２０２はＲＯＩ符号化されていないため、画質の低い画素データしか存在しない。ＲＯＩ領域２１２から外れた参照マクロブロック２２２の画素に対して、仮に、ＲＯＩ領域２１２外部のＲＯＩ符号化されていない画素データを利用して画素値を決めてしまうと、ＲＯＩ符号化される対象マクロブロック２２０との間で整合性が取れず、一般には予測誤差が大きくなり、符号化効率が悪化する。
【００５２】
そこで、パディング部７０により、ＲＯＩ領域２１２から外れた参照マクロブロック２２２の画素については、ＲＯＩ領域２１２内部にある参照マクロブロック２２２の画素データを利用して画素値を補填するパディング処理が行われる。
【００５３】
図４（ａ）〜（ｃ）は、パディング処理の例を説明する図である。図４（ａ）は、参照マクロブロック２２２がＲＯＩ領域２１２の右端の境界をまたぐ場合を示す。参照マクロブロック２２２の右半分（斜線で示す）は、ＲＯＩ領域２１２の外側にあり、参照マクロブロック２２２の左半分は、ＲＯＩ領域２１２の内側にある。
【００５４】
この場合、参照マクロブロック２２２の右半分については、ＲＯＩ領域２１２の画素データが存在しないため、パディング部７０は、ＲＯＩ領域２１２内部にある参照マクロブロック２２２の画素であって、最も外側にある画素のデータをＲＯＩ領域２１２外部にある参照マクロブロック２２２の画素にそのまま複製する。同図に示すように、ＲＯＩ領域２１２の右端の画素列ａ〜ｇがＲＯＩ領域２１２外部にある参照マクロブロック２２２の画素列に水平右方向にパディングされ、参照マクロブロック２２２の右半分の画素が補填される。
【００５５】
図４（ｂ）は、参照マクロブロック２２２がＲＯＩ領域２１２の上端の境界をまたぐ場合を示し、参照マクロブロック２２２の上半分は、ＲＯＩ領域２１２の外側にあり、参照マクロブロック２２２の下半分は、ＲＯＩ領域２１２の内側にある。この場合、パディング部７０は、ＲＯＩ領域２１２の上端の画素列ａ〜ｇをＲＯＩ領域２１２外部にある参照マクロブロック２２２の画素列に垂直上方向にパディングすることにより、参照マクロブロック２２２の上半分の画素を補填する。
【００５６】
図４（ｃ）は、参照マクロブロック２２２がＲＯＩ領域２１２の右上隅の境界をまたぐ場合を示す。この場合、パディング部７０は、ＲＯＩ領域２１２の上端の画素列ａ〜ｄを垂直上方向にパディングし、ＲＯＩ領域２１２の右端の画素列ｄ〜ｇを水平右方向にパディングする。さらに、パディング部７０は、ＲＯＩ領域２１２の右上隅の画素ｄを斜め右上方向にパディングする。これにより、ＲＯＩ領域２１２からはみ出した参照マクロブロック２２２の部分の画素がすべて補填される。
【００５７】
図５（ａ）、（ｂ）は、参照マクロブロック２２２がＲＯＩ領域２１２から完全に外れる場合のパディング処理を説明する図である。
【００５８】
図５（ａ）のように、参照マクロブロック２２２全体がＲＯＩ領域２１２の右端よりも右側にある場合、パディング部７０は、参照マクロブロック２２２と水平方向の位置が同じＲＯＩ領域２１２の右端の画素列ａ〜ｇをそのまま参照マクロブロック２２２の各画素列に複製することにより、参照マクロブロック２２２のすべての画素を補填する。
【００５９】
別の方法として、参照マクロブロック２２２全体がＲＯＩ領域２１２から外れた場合、パディング部７０は、図５（ｂ）に示すように、参照マクロブロック２２２をＲＯＩ領域２１２の最も近い辺に１画素列だけ重複するように移動させる。その上で、パディング部７０は、移動後の参照マクロブロック２２４に対して、図４（ａ）で説明したように、ＲＯＩ領域２１２の右端の画素列ａ〜ｇを水平右方向にパディングして、参照マクロブロック２２４の各画素列を補填する。このとき、動きベクトルの参照先は移動後の参照マクロブロックを指すように変更される。
【００６０】
図６は、動き補償予測処理部６０による動き補償予測の手順を説明するフローチャートである。
【００６１】
動き探索部６６は、動画像の符号化対象フレームと参照フレームとの間でマクロブロック単位で動きベクトルを検出する（Ｓ１０）。ＲＯＩ追跡部６４は、動きベクトル情報を利用して動画像の各フレームにおいてＲＯＩ領域を自動追跡する（Ｓ１２）。
【００６２】
ＲＯＩ内外判定部６８は、符号化対象フレームのＲＯＩ領域内の対象マクロブロックについて、動きベクトルにより参照される参照マクロブロックが参照フレームのＲＯＩ領域内にあるかどうかを判定する（Ｓ１４）。
【００６３】
参照マクロブロックがＲＯＩ領域内にない場合（Ｓ１４のＮ）、パディング部７０は、パディング処理によりＲＯＩ領域外の参照マクロブロックの画素を補填し（Ｓ１６）、ステップＳ１８に進む。参照マクロブロックがＲＯＩ領域内にある場合（Ｓ１４のＹ）、パディング処理をすることなく、ステップＳ１８に進む。動き予測部７２は、必要に応じてパディング処理が施された参照マクロブロックを用いて予測フレームを生成する（Ｓ１８）。
【００６４】
図７は、実施の形態１に係る復号装置３００の構成図である。これらの機能ブロックもハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。
【００６５】
復号装置３００は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。
【００６６】
可変長復号部３１０は、入力された符号化ストリームを可変長復号し、復号された画像データを逆量子化部３２０に供給し、動きベクトル情報を動き補償処理部３６０に供給する。
【００６７】
逆量子化部３２０は、可変長復号部３１０により復号された画像データを逆量子化し、逆ＤＣＴ部３３０に供給する。逆量子化部３２０により逆量子化された画像データはＤＣＴ係数である。逆ＤＣＴ部３３０は、逆量子化部３２０により逆量子化されたＤＣＴ係数を逆離散コサイン変換（ＩＤＣＴ）することにより、元の画像データを復元する。逆ＤＣＴ部３３０により復元された画像データは、加算器３１２に供給される。
【００６８】
加算器３１２は、逆ＤＣＴ部３３０から供給された画像データが、Ｉフレームである場合、そのＩフレームの画像データをそのまま出力するとともに、ＰフレームやＢフレームの予測フレームを生成するための参照フレームとして、フレームバッファ３８０に格納する。
【００６９】
加算器３１２は、逆ＤＣＴ部３３０から供給された画像データが、Ｐフレームである場合、その画像データは差分フレームであるから、逆ＤＣＴ部３３０から供給された差分フレームと動き補償処理部３６０から供給される予測フレームを加算することにより、元の画像データを復元し、出力する。
【００７０】
動き補償処理部３６０は、可変長復号部３１０から供給される動きベクトル情報と、フレームバッファ３８０に格納された参照フレームを用いて、ＰフレームまたはＢフレームの予測フレームを生成し、加算器３１２に供給する。
【００７１】
動き補償処理部３６０は、可変長復号部３１０から各フレームのＲＯＩ領域の位置情報を取得し、復号対象フレームのＲＯＩ領域内のマクロブロックについて、動きベクトルにより参照されるマクロブロックがＲＯＩ領域から外れた場合、符号化装置１００の動き補償予測処理部６０と同様の例外処理を行う。
【００７２】
図８は、動き補償処理部３６０の構成図である。
【００７３】
ＲＯＩ取得部３６４は、可変長復号部３１０から復号対象フレームのＲＯＩ領域の位置情報を取得し、ＲＯＩ情報保持部３６７に保持する。ＲＯＩ情報保持部３６７に保持された復号対象フレームのＲＯＩ位置情報は、動き補償の際、参照フレームのＲＯＩ位置情報として利用される。
【００７４】
動き特定部３６６は、可変長復号部３１０から復号対象フレームの動きベクトルを取得し、復号対象フレームの対象マクロブロックに対して、動きベクトルが参照する参照マクロブロックを特定する。
【００７５】
動き特定部３６６は、復号対象フレームのＲＯＩ領域以外の通常領域の対象マクロブロックについては、参照マクロブロックの画素データをそのまま動き補償部３７２に供給するだけであるが、復号対象フレームのＲＯＩ領域内の対象マクロブロックに対しては、参照マクロブロックがＲＯＩ領域内にない場合には、参照マクロブロックに対して例外処理を施してから、例外処理後の参照マクロブロックを動き補償部３７２に供給する。
【００７６】
動き特定部３６６は、ＲＯＩ領域内の対象マクロブロックについては、その対象マクロブロックに対応する参照マクロブロックの位置情報をＲＯＩ内外判定部３６８に与える。ＲＯＩ内外判定部３６８は、ＲＯＩ情報保持部３６７から参照フレームのＲＯＩ領域の位置情報を取得し、動き特定部３６６により特定された参照マクロブロックが参照フレームのＲＯＩ領域内にあるかどうかを判定する。参照マクロブロックの少なくとも一部が参照フレームのＲＯＩ領域の外側にある場合、ＲＯＩ内外判定部３６８は、例外処理の一例として、パディング部３７０にパディング処理を実行するよう指示する。
【００７７】
パディング部３７０は、参照マクロブロック内の画素の内、参照フレームのＲＯＩ領域の外側にある画素については、ＲＯＩ領域内の画素データを用いて補填するパディング処理を行う。これにより動きベクトルによって特定された参照マクロブロックの少なくとも一部がＲＯＩ領域から外れた場合であっても、参照マクロブロックの画素データを生成することができる。パディング部３７０は、パディング処理された参照マクロブロックの画素データを動き補償部３７２に与える。
【００７８】
パディング部３７０によるパディング処理は、符号化装置１００のパディング部７０によるパディング処理と同じである。
【００７９】
動き補償部３７２は、動き特定部３６６から与えられる参照マクロブロックの画素データもしくは、パディング部３７０から与えられるパディング処理後の参照マクロブロックの画素データを用いて、動き補償された予測フレームを生成し、加算器３１２に与える。
【００８０】
本実施の形態によれば、ＲＯＩ領域を指定し、ＲＯＩ領域を他の領域とは異なる画質で符号化および復号するＲＯＩ符号化および復号処理において、ＲＯＩ領域内のマクロブロックについて、動き予測による参照先のマクロブロックがＲＯＩ領域から外れるようなことがあっても、ＲＯＩ領域内の画素データを用いてＲＯＩ領域から外れたマクロブロックの画素を補填することができる。
【００８１】
これにより、参照先のマクロブロックがＲＯＩ領域から外れる場合にも、より正確な予測フレームを生成することが可能となり、動き補償予測による符号化効率の悪化を防ぐとともに、ＲＯＩ符号化および復号における動画の画質を維持することができる。特に、ＲＯＩ領域が時間とともに移動する場合、参照先のマクロブロックがＲＯＩ領域を外れることが多くなるため、本実施の形態で説明したパディング処理の効果が大きくなる。
【００８２】
実施の形態２
図９は、実施の形態２に係る符号化装置１００の構成図である。実施の形態１と共通する構成については同一符号を付し、説明を適宜省略する。
【００８３】
実施の形態１の符号化装置１００では、ＲＯＩ領域からはみ出た参照マクロブロックについては、ＲＯＩ領域内の画素値で補填するパディング処理が行われた。実施の形態２の符号化装置１００では、ＲＯＩ領域内の画素値によるパディング処理の他に、ＲＯＩ領域内の画素値でパディングする代わりに、参照マクロブロックの位置にある非ＲＯＩ領域の画素値で代用する画素代用処理を実行可能であり、符号化効率の面で有利な処理を選択することができる。
【００８４】
動き補償予測処理部６０は、パディング処理により生成された参照マクロブロックによる予測フレームと、画素代用処理により生成された参照マクロブロックによる予測フレームの両方を生成し、各予測フレームを差分器１２と加算器１４に供給する。本実施の形態の符号化装置１００のＤＣＴ部２０、量子化部３０および可変長符号化部９０は、これら２種類の予測フレームをそれぞれ処理し、各予測フレームによる差分符号化データを生成する。
【００８５】
符号量判定部９２は、２種類の予測フレームのそれぞれを用いて差分符号化された符号化フレームの符号量を可変長符号化部９０から取得し、符号量が少ない方を選択し、符号量が少なくなる方の予測フレームを識別するフラグを可変長符号化部９０に与える。可変長符号化部９０は、この識別フラグで識別される方の予測フレームによる符号化フレームを採用し、他方の符号化フレームは破棄する。可変長符号化部９０は、各符号化フレームにおいていずれの種類の予測フレームを採用したかを示す識別フラグの情報を符号化ストリームに含める。
【００８６】
上記の説明では、符号化対象フレーム単位でパディング処理または画素代用処理のいずれかを選択したが、符号化対象フレーム内のマクロブロック毎にパディング処理または画素代用処理のいずれかを選択してもよく、その場合、マクロブロック毎に識別フラグの情報が設けられ、符号化ストリーム内に符号化される。また、複数の符号化対象フレームを含むグループ単位でパディング処理または画素代用処理のいずれかを選択してもよい。
【００８７】
図１０は、動き補償予測処理部６０の構成図である。本実施の形態の動き補償予測処理部６０では、パディング部７０とは別に代用画素取得部７４が設けられる点が、実施の形態１の動き補償予測処理部６０とは異なる。
【００８８】
ＲＯＩ内外判定部６８が参照マクロブロックの少なくとも一部が参照フレームのＲＯＩ領域外にあると判定した場合、パディング部７０は、実施の形態１と同様にパディング処理によりＲＯＩ領域外の参照マクロブロックの画素を補填して参照マクロブロックを生成し、動き予測部７２に与える。このパディング処理と並行して、代用画素取得部７４は、ＲＯＩ領域外の参照マクロブロックの画素について、同一位置もしくはその近傍にある非ＲＯＩ領域の画素値をそのまま利用して参照マクロブロックを生成し、動き予測部７２に与える。
【００８９】
動き予測部７２は、実施の形態１と同様に、動き探索部６６から与えられる参照マクロブロックの画素データの他、パディング部７０から与えられるパディング処理後の参照マクロブロックの画素データを適宜用いて、動き補償された予測フレームを生成する。それとともに、動き予測部７２は、動き探索部６６から与えられる参照マクロブロックの画素データの他、代用画素取得部７４から与えられる非ＲＯＩ領域の画素による代用処理後の参照マクロブロックの画素データを適宜用いて、動き補償された予測フレームを生成する。動き予測部７２は、これら２種類の予測フレームを差分器１２および加算器１４に与える。
【００９０】
図１１は、実施の形態２に係る復号装置３００の構成図である。実施の形態１と共通する構成については同一符号を付し、説明を適宜省略する。
【００９１】
本実施の形態の復号装置３００は、切替フラグ取得部３９０をもつ。切替フラグ取得部３９０は、参照マクロブロックがＲＯＩ領域から外れる場合に、符号化においてパディング処理または画素代用処理のいずれを採用したかを示す識別するフラグを取得し、動き補償処理部３６０に与える。この識別フラグは、フレーム単位、マクロブロック単位、複数のフレームを含むグループ単位のいずれであってもよい。
【００９２】
動き補償処理部３６０は、切替フラグ取得部３９０が取得した識別フラグにより、ＲＯＩ領域からはみ出る参照マクロブロックについては、パディング処理または画素代用処理のいずれに切り替えて参照マクロブロックを生成し、参照マクロブロックを用いて予測フレームを生成して出力する。
【００９３】
図１２は、動き補償処理部３６０の構成図である。本実施の形態の動き補償処理部３６０では、パディング部３７０とは別に代用画素取得部３７４と切替部３７６が設けられる点が、実施の形態１の動き補償処理部３６０とは異なる。
【００９４】
切替部３７６は、切替フラグ取得部３９０から得た識別フラグを参照して、パディング部３７０と代用画素取得部３７４のどちらかを選択して、選択した方のみが動作するように切替制御する。
【００９５】
切替部３７６によりパディング部３７０に切り替えられた場合、パディング部３７０は、ＲＯＩ領域外の参照マクロブロックの画素については、ＲＯＩ領域内の画素データを用いて補填するパディング処理を行い、パディング処理後の参照マクロブロックの画素データを動き補償部３７２に与える。切替部３７６により代用画素取得部３７４に切り替えられた場合、代用画素取得部３７４は、ＲＯＩ領域外の参照マクロブロックの画素について、同一位置もしくはその近傍にある非ＲＯＩ領域の画素値をそのまま利用する画素代用処理を行い、画素代用処理後の参照マクロブロックの画素データを動き補償部３７２に与える。
【００９６】
切替部３７６の作用により、本実施の形態の符号化装置１００においてパディング処理がなされた参照マクロブロックについては、符号化装置１００と同様にパディング処理された参照マクロブロックが動き補償に利用される。また、本実施の形態の符号化装置１００において画素代用処理がなされた参照マクロブロックについては、同様に画素代用処理された参照マクロブロックが動き補償に利用される。
【００９７】
本実施の形態によれば、ＲＯＩ符号化において、ＲＯＩ領域内のマクロブロックについて、動き予測による参照先のマクロブロックがＲＯＩ領域から外れる場合、ＲＯＩ領域内の画素データを用いてパディング処理した場合と、パディング処理によらずに非ＲＯＩ領域の画素データで代用した場合とを比較して、符号効率の良い方を選択することができる。
【００９８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９９】
上記の説明では、動画像上にＲＯＩ領域を設けて動き探索を行う際、動き探索の参照先のマクロブロックがＲＯＩ領域を外れたときの例外処理を説明したが、本発明は、ＲＯＩ領域という領域分割に限らず、他の要因で領域を分割して領域単位で動き探索を行う場合にも適用することができる。たとえば、動画像を構成するピクチャ内をスライスに分け、スライス単位で画質を異ならせて符号化する場合、動き探索の参照先がスライスの領域を外れたときに同様の例外処理を行ってもよい。
【０１００】
また、例外処理の一例として、パディング処理を説明したが、これ以外の例外処理を用いてもよい。たとえば、参照先のマクロブロックが参照フレームのＲＯＩ領域から外れているが、当該参照フレーム以外の他のフレームのＲＯＩ領域内にある場合は、当該他のフレームのＲＯＩ領域内の対応する位置の画素で参照先のマクロブロックの画素を補填してもよい。
【０１０１】
実施の形態で述べたＲＯＩ符号化と動き探索の際の例外処理は、ＳＶＣにおけるスケーラブル階層符号化にも同様に適用することができる。スケーラブル階層符号化とは、スケーラビリティをもたせて画像を階層的に符号化することであり、たとえば空間解像度、フレームレートおよび画質レベルなどの動画像の再生品質を異ならせて符号化し、複数の再生品質レベルの符号化データを生成することを含み、このようにしてスケーラブル階層符号化された動画像は、任意の再生品質レベルを選択して復号することができるというスケーラビリティをもつ。ＳＶＣではＲＯＩ領域にスケーラビリティをもたせて階層的に符号化できるため、ＲＯＩ領域の再生品質を多段階に異ならせて復号することができる。
【図面の簡単な説明】
【０１０２】
【図１】実施の形態１に係る符号化装置の構成図である。
【図２】図１の動き補償予測処理部の構成図である。
【図３】符号化対象フレームの対象マクロブロックと参照フレームの参照マクロブロックの関係を説明する図である。
【図４】パディング処理の例を説明する図である。
【図５】参照マクロブロックがＲＯＩ領域から完全に外れる場合のパディング処理を説明する図である。
【図６】図２の動き補償予測処理部による動き補償予測の手順を説明するフローチャートである。
【図７】実施の形態１に係る復号装置の構成図である。
【図８】図７の動き補償処理部の構成図である。
【図９】実施の形態２に係る符号化装置の構成図である。
【図１０】図９の動き補償予測処理部の構成図である。
【図１１】実施の形態２に係る復号装置の構成図である。
【図１２】図１１の動き補償処理部の構成図である。
【符号の説明】
【０１０３】
１０  ブロック生成部、  ２０  ＤＣＴ部、  ３０  量子化部、  ４０  逆量子化部、  ５０  逆ＤＣＴ部、  ６０  動き補償予測処理部、  ６２  ＲＯＩ初期設定部、  ６４  ＲＯＩ追跡部、  ６６  動き探索部、  ６７  ＲＯＩ情報保持部、  ６８  ＲＯＩ内外判定部、  ７０  パディング部、  ７２  動き予測部、  ７４  代用画素取得部、  ８０  フレームバッファ、  ９０  可変長符号化部、  ９２  符号量判定部、  １００  符号化装置、  ３００  復号装置、  ３１０  可変長復号部、  ３２０  逆量子化部、  ３３０  逆ＤＣＴ部、  ３６０  動き補償処理部、  ３６４  ＲＯＩ取得部、  ３６６  動き特定部、  ３６７  ＲＯＩ情報保持部、  ３６８  ＲＯＩ内外判定部、  ３７０  パディング部、  ３７２  動き補償部、  ３７４  代用画素取得部、  ３７６  切替部、  ３８０  フレームバッファ、  ３９０  切替フラグ取得部。
【図１】
0004703449.tif 000002
【図２】
0004703449.tif 000003
【図３】
0004703449.tif 000004
【図４】
0004703449.tif 000005
【図５】
0004703449.tif 000006
【図６】
0004703449.tif 000007
【図７】
0004703449.tif 000008
【図８】
0004703449.tif 000009
【図９】
0004703449.tif 000010
【図１０】
0004703449.tif 000011
【図１１】
0004703449.tif 000012
【図１２】
0004703449.tif 000013