(57)【要約】【課題】予測データ精緻化を使用してビデオを符号化する方法及び装置を提供する。【解決手段】装置は、ピクチャの画像領域を符号化する符号化器（３００）を含む。符号化器（３００）は、画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化するための予測精緻化フィルタ（３３３）を有する。予測精緻化フィルタ（３３３）は、先行復号化データ及び先行符号化データの少なくとも一方を使用して画像領域のインター予測を精緻化し、先行復号化データ及び先行符号化データは、画像領域に対する近傍領域内の画素値に対応する。【選択図】図３
2013258771.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
ピクチャの画像領域を符号化する符号化器を備え、前記符号化器は、残差誤差が生成される前に、かつ、入力画像領域の予測を符号化ループにおいて処理するフィルタを有し、前記符号化器は、前記画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化し、
前記フィルタは、前記画像領域の前記インター予測を精緻化し、前記フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用し、前記先行復号化データ及び前記先行符号化データは、前記画像領域に対する近傍領域における画素値に対応し、
前記符号化器は、逆変換器及び逆量子化器装置、並びに合成器を更に備え、前記逆変換器及び逆量子化器装置は前記合成器の第１の入力に直結した出力を有し、前記合成器は前記フィルタの出力に直結した第２の入力を有し、
前記符号化器はデブロッキング・フィルタを更に備え、前記合成器の出力は、前記フィルタの入力及び前記デブロッキング・フィルタの入力に直結する装置。
【請求項２】
請求項１記載の装置であって、前記画像領域は、同一又は類似のシーンのマルチビュー・ビデオ・コンテンツ、単一ビュー・ビデオ・コンテンツ、及び前記同一のシーンのスケーラブル層の組からのスケーラブル層の何れかに対応する装置。
【請求項３】
請求項１記載の装置であって、前記フィルタは、前記画像領域及び前記近傍領域の少なくとも一方に対応するデータ特性及びデータ統計の少なくとも一方に応じて適合的にイネーブル、又はディセーブルされ、
前記フィルタは、前記ピクチャの第１パス符号化において施されることなく、前記ピクチャの第２パス符号化において選択的に施される装置。
【請求項４】
請求項３記載の装置であって、データ特性及びデータ統計の前記少なくとも一方は、符号化モード、動きデータ、及び残差データのうちの少なくとも１つを含む装置。
【請求項５】
方法であって、
残差誤差が生成される前に、かつ、入力画像領域の予測を符号化ループにおいて処理するフィルタを使用してピクチャの画像領域を符号化する工程を含み、前記画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化し、
前記フィルタが前記画像領域の前記インター予測を精緻化する場合、前記フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用し、前記先行復号化データ及び前記先行符号化データは、前記画像領域に対する近傍領域における画素値に対応し、
前記符号化する工程は前記フィルタを備える符号化器において行われ、前記符号化器は更に、逆変換器及び逆量子化器装置、並びに合成器を更に備え、前記逆変換器及び逆量子化器装置は前記合成器の第１の入力に直結した出力を有し、前記合成器は前記フィルタの出力に直結した第２の入力を有し、
前記符号化器はデブロッキング・フィルタを更に備え、前記合成器の出力は、前記フィルタの入力及び前記デブロッキング・フィルタの入力に直結する方法。
【請求項６】
請求項５記載の方法であって、画像ブロックは、同一又は類似のシーンのマルチビュー・ビデオ・コンテンツ、単一ビュー・ビデオ・コンテンツ、及び前記同一のシーンのスケーラブル層の組からのスケーラブル層の何れかに対応する方法。
【請求項７】
請求項５記載の方法であって、前記フィルタは、前記画像ブロックに対応するデータ特性及びデータ統計の少なくとも一方に応じて適合的にイネーブル又はディセーブルされ、
前記フィルタは、前記ピクチャの第１パス符号化において施されることなく、前記ピクチャの第２パス符号化において選択的に施される方法。
【請求項８】
請求項７記載の方法であって、データ特性及びデータ統計の前記少なくとも一方は、符号化モード、動きデータ、及び残差データのうちの少なくとも１つを含む方法。
【請求項９】
装置であって、
ピクチャの画像領域を復号化する復号化器であって、前記復号化器は、残差誤差が付加される前に、かつ、入力画像領域の予測を復号化ループにおいて処理するフィルタを有し、前記復号化器は、前記画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化し、
前記フィルタが前記画像領域の前記インター予測を精緻化する場合、前記フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用し、
前記先行復号化データ及び前記先行符号化データは、前記画像領域に対する近傍領域における画素値に対応し、
前記復号化器は、逆変換器及び逆量子化器装置、並びに合成器を更に備え、
前記逆変換器及び逆量子化器装置は前記合成器の第１の入力に直結した出力を有し、前記合成器は前記フィルタの出力に直結した第２の入力を有し、
前記復号化器はデブロッキング・フィルタを更に備え、前記合成器の出力は、前記フィルタの入力及び前記デブロッキング・フィルタの入力に直結する装置。
【請求項１０】
請求項９記載の装置であって、前記フィルタは、画像ブロックに対応するデータ特性及びデータ統計の少なくとも一方に応じて適合的にイネーブル又はディセーブルされる装置。
【請求項１１】
請求項１０記載の装置であって、前記フィルタのイネーブル情報又はディセーブル情報は少なくとも１つの高位構文要素から復号化され、又は、
前記フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用して前記画像領域の前記イントラ予測を精緻化し、前記先行復号化データ及び前記先行符号化データは、前記画像領域に対する近傍領域における画素値に対応する装置。
【請求項１２】
請求項９記載の装置であって、前記少なくとも１つの高位構文要素は、スライス・ヘッダ・レベル、補助拡張情報（SEI）レベル、ピクチャ・パラメータ組レベル、系列パラメータ組レベル、及びネットワーク抽象化層ユニット・ヘッダ・レベルのうちの少なくとも１つにおいて配置される装置。
【請求項１３】
方法であって、
残差誤差が付加される前に、かつ、入力画像領域の予測を復号化ループにおいて処理するフィルタを使用してピクチャの画像領域を復号化する工程を含み、前記画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化し、
前記フィルタが前記画像領域の前記インター予測を精緻化する場合、前記フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用し、前記先行復号化データ及び前記先行符号化データは、前記画像領域に対する近傍領域における画素値に対応し、
前記復号化する工程は前記フィルタを備える復号化器において行われ、前記復号化器は、逆変換器及び逆量子化器装置、並びに合成器を更に備え、前記逆変換器及び逆量子化器装置は前記合成器の第１の入力に直結した出力を有し、前記合成器は前記フィルタの出力に直結した第２の入力を有し、
前記復号化器はデブロッキング・フィルタを更に備え、前記合成器の出力は、前記フィルタの入力及び前記デブロッキング・フィルタの入力に直結する方法。
【請求項１４】
請求項１３記載の方法であって、前記フィルタが、反復欠落データ推定方法及び非反復欠落データ推定方法に関して施され、
前記フィルタは、画像ブロックに対応するデータ特性及びデータ統計の少なくとも一方に応じて適合的にイネーブル又はディセーブルされ、
データ特性及びデータ統計の前記少なくとも一方は、符号化モード、動きデータ、及び残差データのうちの少なくとも１つを含む方法。
【請求項１５】
請求項１３記載の方法であって、前記復号化する工程は、前記画像ブロックに対応する前記フィルタのパラメータを適合的に判定するための補助情報を復号化する工程を更に含み、前記補助情報は、マクロブロック・レベル、スライス・レベル、ピクチャ・レベル及び系列レベルのうちの少なくとも１つから復号化される方法。
【請求項１６】
ビデオ信号データを符号化させた記憶媒体であって、
残差誤差が生成される前に、かつ、入力画像領域の予測を符号化ループにおいて処理するフィルタを使用してピクチャの画像領域を符号化する工程を含み、前記画像領域のイントラ予測及びインター予測の少なくとも一方が精緻化され、    
前記フィルタが前記画像領域の前記インター予測を精緻化する場合、前記フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用し、前記先行復号化データ及び前記先行符号化データは、前記画像領域に対する近傍領域における画素値に対応し、
前記符号化する工程は前記フィルタを備える符号化器において行われ、前記符号化器は、逆変換器及び逆量子化器装置、並びに合成器を更に備え、前記逆変換器及び逆量子化器装置は前記合成器の第１の入力に直結した出力を有し、
前記合成器は前記フィルタの出力に直結した第２の入力を有し、
前記符号化器はデブロッキング・フィルタを更に備え、前記合成器の出力は、前記フィルタの入力及び前記デブロッキング・フィルタの入力に直結する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全部を本明細書及び特許請求の範囲に援用する、西暦２００６年１０月１８日付出願の米国特許仮出願第６０／８５２５２９号の利益を主張する。本出願は、その内容全部を本明細書及び特許請求の範囲に援用する、西暦２００７年４月１３日付出願の米国特許仮出願第６０／９１１５３６号の利益も主張する。
【０００２】
本出願の原理は、一般に、ビデオの符号化及び復号化に関し、特に、予測データ精緻化を使用してビデオを符号化する方法及び装置に関する。
【背景技術】
【０００３】
ビデオ符号化手法は、効率的になるように予測ベースの符号化を使用することができる。特定のフレームにおけるデータがブロック単位で、既に復号化されたデータから予測される（他の参照フレームから（すなわち、「インター」予測）であってもよく、又は同じフレームで既に復号化されたデータから（すなわち、「イントラ」予測）であってもよい。予測が元のデータから減算された後に生成される残差誤差が、次いで、通常、変換、量子化及び符号化される。特定のフレームの特定の空間位置で使用される予測のタイプは、最後の符号化が、できる限り効率的であるように適合的に選択される。この選択は、レート歪み尺度の最適化に依存する。実際に、最低のビットレートの最低の歪みにつながる予測器は、考えられる予測モード全てのうちから選択される。
【０００４】
場合によっては、レート歪みの点で最良の予測器は、正しい予測データをもたらさず、その場合、符号化されなければならない高い量の残差誤差をもたらすことが有り得る。精度が低いことは、予測器の選択がビットレート・コストと歪みとの間の妥協につながるレート制約によるものであり得るか、又は単に、利用可能な予測モデルが適切でないからであり得る。国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）動画像専門家グループ−４（ＭＰＥＧ−４）パート１０  高度ビデオ符号化（ＡＶＣ）標準／国際電気通信連合  電気通信標準化部門（ＩＴＵ−Ｔ）Ｈ．２６４勧告（以降、「ＭＰＥＧ−４  ＡＶＣ標準」）は、その復号化された近傍ブロックからの情報を使用して特定のブロック内のデータを予測する。しかし、前述の予測器は、高周波及びテクスチャ・データを扱うことができない。
【０００５】
一部の従来技術のビデオ符号化器／復号化器（例えば、ＭＰＥＧ−４  ＡＶＣ標準に準拠したものなど）では、いわゆる「デブロッキング・フィルタ」の使用による予測精緻化が符号化／復号化処理において利用される。残差誤差の変換ベースの符号化によってもたらされる符号化の低精度は、符号化ループにおける最後の工程として再構成フレームを処理するフィルタによって軽減することができる。他のループ内フィルタが、ＭＰＥＧ−４  ＡＶＣ標準デブロッキング・フィルタの制約に対応するために提案されている。通常、前述のフィルタは再構成ピクチャに対して施される。
【０００６】
再構成後のループ内フィルタリングは、誤差残差符号化における量子化工程中に失われた情報の一部の回復を可能にする。しかし、再構成画像に対して施されるような、現在のピクチャ内で符号化される対象の情報の量の削減に寄与することは期待されていない。符号化する対象の情報の量を削減するために、予測信号を改良することが可能である。従来、これは、一層高度な予測モードを含めることによって行われている。
【０００７】
欠けているデータの推定のためのアルゴリズム（このうちの一部は、「インペインティング」アルゴリズムとして表すことができる）は、例えば、拡散原理及び／若しくはテクスチャ成長、又は、非線形疎分解雑音除去に基づき得る。前述のアルゴリズムは、既知の近傍データに基づいて、欠けているデータの値を推定しようとし得る。実際に、ピクチャ内の欠けているブロックを有し、欠けているブロックを、特定の近傍ブロックにおいて利用可能なデータから、欠けているブロックを推定することにより、欠けているブロックを回復することを想定し得る。前述のアルゴリズムは一般に、欠けているデータについての知識が何もないものとする、すなわち、近傍の利用可能データに依拠して欠けているデータを推定するに過ぎない。
【０００８】
図１を参照すれば、ＭＰＥＧ−４  ＡＶＣ標準によってビデオ符号化を行うことができるビデオ符号化器は全体を参照符号１００で示す。
【０００９】
ビデオ符号化器１００は、合成器１８５の非反転入力と信号通信する出力を有するフレーム配列バッファ１１０を含む。合成器１８５の出力は、変換器及び量子化器１２５の第１の入力と信号通信で接続される。変換器及び量子化器１２５の出力は、エントロピ符号化器１４５の第１の入力及び逆変換器及び逆量子化器１５０の第１の入力と信号通信で接続される。エントロピ符号化器１４５の出力は、合成器１９０の第１の非反転入力と信号通信で接続される。合成器１９０の出力は、出力バッファ１３５の第１の入力と信号通信で接続される。
【００１０】
符号化器コントローラ１０５の第１の出力は、フレーム配列バッファ１１０の第２の入力、逆変換器及び逆量子化器１５０の第２の入力、ピクチャタイプ決定モジュール１１５の入力、マクロブロックタイプ（ＭＢタイプ）決定モジュール１２０の入力、イントラ予測モジュール１６０の第２の入力、デブロッキング・フィルタ１６５の第２の入力、動き補償器１７０の第１の入力、動き推定器１７５の第１の入力、及び参照ピクチャ・バッファ１８０の第２の入力と信号通信で接続される。
【００１１】
符号化器コントローラ１０５の第２の出力は、付加拡張情報（ＳＥＩ）挿入器１３０の第１の入力、変換器及び量子化器１２５の第２の入力、エントロピ符号化器１４５の第２の入力、出力バッファ１３５の第２の入力、並びに、系列パラメータ組（ＳＰＳ）及びピクチャ・パラメータ組（ＰＰＳ）挿入器１４０の入力と信号通信で接続される。
【００１２】
ピクチャタイプ決定モジュール１１５の第１の出力はフレーム配列バッファ１１０の第３の入力と信号通信で接続される。ピクチャタイプ決定モジュール１１５の第２の出力は、マクロブロックタイプ決定モジュール１２０の第２の入力と信号通信で接続される。
【００１３】
系列パラメータ組（ＳＰＳ）及びピクチャ・パラメータ組（ＰＰＳ）挿入器１４０の出力は、合成器１９０の第３の非反転入力と信号通信で接続される。
【００１４】
逆量子化器及び逆変換器１５０の出力は、合成器１１９の第１の非反転入力と信号通信で接続される。合成器１１９の出力は、イントラ予測モジュール１６０の第１の入力及びデブロッキング・フィルタ１６５の第１の入力と信号通信で接続される。デブロッキング・フィルタ１６５の出力は参照ピクチャ・バッファ１８０の第１の入力と信号通信で接続される。参照ピクチャ・バッファ１８０の出力は、動き推定器１７５の第２の入力と信号通信で接続される。動き推定器１７５の第１の出力は動き補償器１７０の第２の入力と信号通信で接続される。参照ピクチャ・バッファ１８０の出力は、動き補償器１７０の第３の入力と信号通信で接続される。動き推定器１７５の第２の出力は、エントロピ符号化器１４５の第３の入力と信号通信で接続される。
【００１５】
動き推定器１７０の出力はスイッチ１９７の第１の入力と信号通信で接続される。イントラ予測モジュール１６０の出力はスイッチ１９７の第２の入力と信号通信で接続される。マクロブロックタイプの決定モジュール１２０の出力はスイッチ１９７の第３の入力と信号通信で接続される。スイッチ１９７の第３の入力は、（制御入力、すなわち、第３の入力と比較して）スイッチの「データ」入力を動き補償器１７０又はイントラ予測モジュール１６０によって供給されるか否かを判定する。スイッチ１９７の出力は、合成器１１９の第２の非反転入力、及び合成器１８５の反転入力と信号通信で接続される。
【００１６】
フレーム配列バッファ１１０及び符号化器コントローラ１０５の入力は、入力ピクチャ１０１を受信するために、符号化器１００の入力として利用可能である。更に、付加拡張情報（ＳＥＩ）挿入器１３０の入力は、メタデータを受信するために、符号化器１００の入力として利用可能である。出力バッファ１３５の出力は、ビットストリームを出力するために、符号化器１００の出力として利用可能である。
【００１７】
図２に移れば、ＭＰＥＧ−４  ＡＶＣによってビデオ復号化を行うことができるビデオ復号化器は全体を参照符号２００で示す。
【００１８】
ビデオ復号化器２００は、エントロピ復号化器２４５の第１の入力と信号通信で接続された出力を有する入力バッファ２１０を含む。エントロピ復号化器２４５の第１の出力は、逆変換器及び逆量子化器２５０の第１の入力と信号通信で接続される。逆変換器及び逆量子化器２５０の出力は合成器２２５の第２の非反転入力と信号通信で接続される。合成器２２５の出力はデブロッキング・フィルタ２６５の第２の入力及びイントラ予測モジュール２６０の第１の入力と信号通信で接続される。デブロッキング・フィルタ２６５の第２の出力は、参照ピクチャ・バッファ２８０の第１の入力と信号通信で接続される。参照ピクチャ・バッファ２８０の出力は、動き補償器２７０の第２の入力と信号通信で接続される。
【００１９】
エントロピ復号化器２４５の第２の出力は、動き補償器２７０の第３の入力及びデブロッキング・フィルタ２６５の第１の入力と信号通信で接続される。エントロピ復号化器２４５の第３の出力は復号化器コントローラ２０５の入力と信号通信で接続される。復号化器コントローラ２０５の第１の出力はエントロピ復号化器２４５の第２の入力と信号通信で接続される。復号化器コントローラ２０５の第２の出力は、逆変換器及び逆量子化器２５０の第２の入力と信号通信で接続される。復号化器コントローラ２０５の第３の出力は、デブロッキング・フィルタ２６５の第３の入力と信号通信で接続される。復号化器コントローラ２０５の第４の出力は、イントラ予測モジュール２６０の第２の入力、動き補償器２７０の第１の入力、及び参照ピクチャ・バッファ２８０の第２の入力と信号通信で接続される。
【００２０】
動き補償器２７０の出力は、スイッチ２９７の第１の入力と信号通信で接続される。イントラ予測モジュール２６０の出力は、スイッチ２９７の第２の入力と信号通信で接続される。スイッチ２９７の出力は、合成器２２５の第１の非反転入力と信号通信で接続される。
【００２１】
入力バッファ２１０の入力は、入力ビットストリームを受信するために、復号化器２００の入力として利用可能である。デブロッキング・フィルタ２６５の第１の出力は、出力ピクチャを出力するために、復号化器２００の出力として利用可能である。
【発明の概要】
【発明が解決しようとする課題】
【００２２】
従来技術の前述並びに他の弊害及び欠点が、予測データ精緻化を使用してビデオを符号化する方法及び装置に関する本願の原理によって対処される。
【課題を解決するための手段】
【００２３】
本願の原理の局面によれば、装置が提供される。装置は、ピクチャの画像領域を符号化する符号化器を含む。符号化器は、画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化するための予測精緻化フィルタを有する。予測精緻化フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用して画像領域のインター予測を精緻化し、先行復号化データ及び先行符号化データは、画像領域に対する近傍領域内の画素値に対応する。
【００２４】
本願の原理の別の局面によれば、方法が提供される。方法は、予測精緻化フィルタを使用してピクチャの画像領域を符号化して、画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化する工程を含む。予測精緻化フィルタは、先行復号化データ及び先行符号化データの少なくとも１つを使用して画像領域のインター予測を精緻化し、先行復号化データ及び先行符号化データは、画像領域に対する近傍領域内の画素値に対応する。
【００２５】
本願の原理の更に別の局面によれば、装置が提供される。装置は、ピクチャの画像領域を復号化する復号化器を含む。復号化器は、画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化するための予測精緻化フィルタを有する。予測精緻化フィルタは、画像領域に対する近傍領域内の画素値に対応する先行復号化データを使用して画像領域のインター予測を精緻化する。
【００２６】
本願の原理の別の局面によれば、方法が提供される。方法は、予測精緻化フィルタを使用してピクチャの画像領域を復号化して、画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化する工程を含む。予測精緻化フィルタは、画像領域に対する近傍領域内の画素値に対応する先行復号化データを使用して画像領域のインター予測を精緻化する。
【図面の簡単な説明】
【００２７】
【図１】ＭＰＥＧ―４  ＡＶＣ標準によってビデオ符号化を行うことができるビデオ符号化器を示すブロック図である。
【図２】ＭＰＥＧ―４  ＡＶＣ標準によってビデオ復号化を行うことができるビデオ復号化器を示すブロック図である。
【図３】本願の原理の実施例による、本願の原理に使用されるために修正及び／又は拡張された、ＭＰＥＧ−４ＡＶＣ標準によるビデオ符号化を行うことができるビデオ符号化器を示すブロック図である。
【図４】本願の原理の実施例による、本願の原理に使用されるために修正及び／又は拡張された、ＭＰＥＧ−４  ＡＶＣ標準によるビデオ復号化を行うことができるビデオ復号化器を示すブロック図である。
【図５Ａ】本願の原理の実施例による、符号化されている現在の４×４イントラ・ブロック、及び予測精緻化の参照として使用される適切な因果的近傍を示す図である。
【図５Ｂ】本願の原理の実施例による、符号化されている現在の４×４イントラ・ブロック、及び予測精緻化の参照として使用される適切な非因果的近傍を示す図である。
【図６】本願の原理の実施例による、予測精緻化を使用して画像データを符号化する方法を示すフロー図である。
【図７】本願の原理の実施例による、予測精緻化を使用して画像データを復号化する方法を示すフロー図である。
【図８】本願の原理の実施例による、精緻化を予測に設けるための例示的な装置を示すブロック図である。
【図９】本願の原理の実施例による、精緻化された予測を生成するための例示的な方法を示すフロー図である。
【図１０】本願の原理の実施例による、精緻化されているマクロブロック内の同心画像層組を例示した図である。
【発明を実施するための形態】
【００２８】
本発明の前述及び他の局面、構成及び利点は、添付図面とともに読まれる例示的な実施例の以下の詳細な説明から明らかになるであろう。
【００２９】
本願の原理は、以下の例示的な図により、更に詳細に理解することができる。
【実施例】
【００３０】
本願の原理は、予測データ精緻化を使用してビデオを符号化する方法及び装置に関する。
【００３１】
本明細書及び特許請求の範囲は、本願の原理を示す。よって、本明細書及び特許請求の範囲に明示的に説明し、又は示している訳でないが、本願の原理を実施し、その趣旨及び範囲内に含まれる種々の配置を当業者が考え出すことができるであろう。
【００３２】
本明細書及び特許請求の範囲記載の例及び条件付文言は全て、本願の原理、及び当該技術分野を発展させるために本願の発明者が貢献する概念の、読者の理解を支援するための教示の目的を意図しており、前述の、特記した例及び条件への限定なしであると解釈するものとする。
【００３３】
更に、本願の原理、局面、及び実施例、並びにそれらの特定例を記載した、本明細書及び特許請求の範囲の記載は全て、その構造的均等物及び機能的均等物を包含することを意図している。更に、前述の均等物は、現在知られている均等物、及び将来に開発される均等物（すなわち、構造にかかわらず、同じ機能を行う、開発された何れかの構成要素）をともに含むことが意図されている。
【００３４】
よって、例えば、本明細書及び特許請求の範囲に提示されたブロック図が、本願の原理を実施する例証的な回路の概念図を表すことは当業者によって認識されるであろう。同様に、フローチャート、フロー図、状態遷移図、擬似コード等は何れも、コンピュータ読み取り可能な媒体において実質的に表し、コンピュータ又はプロセッサにより、前述のコンピュータ又はプロセッサが明記されているかにかかわらず、実行し得る種々の処理を表す。
【００３５】
図に示す種々の構成要素の機能は、専用ハードウェア、及び適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用によって備えることができる。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって提供されるか、単一の共有プロセッサによって提供されるか、又は、複数の個々のプロセッサ（この一部は共有であり得る）によって提供され得る。更に、「プロセッサ」又は「コントローラ」の語を明示的に使用していることは、ソフトウェアを実行することができるハードウェアを専ら表すものと解するべきでなく、暗黙的には、無制限に、ディジタル信号プロセッサ（「ＤＳＰ」）ハードウェア、ソフトウェアを記憶するための読み取り専用メモリ（「ＲＯＭ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）及び不揮発性記憶装置を含み得る。
【００３６】
他のハードウェア（汎用及び／又はカスタム）も含まれ得る。同様に、図に示すスイッチは何れも概念のみである。その機能は、プログラム・ロジックの動作により、専用ロジックにより、プログラム制御及び専用ロジックの相互作用により、又は手作業によって行うことができ、特定の手法は、コンテキストから更に具体的に分かるように実現者によって選択可能である。
【００３７】
本願の特許請求の範囲では、特定の機能を行う手段として表される構成要素は何れも、その機能を行う何れの手段（例えば、ａ）その機能を行う回路構成要素の組合せや、ｂ）機能を行うためにそのソフトウェアを実行する適切な回路と組み合わせた、ファームウェア、マイクロコード等を含む、何れかの形態のソフトウェア）も包含することが意図される。前述の特許請求の範囲で規定された本願の原理は、記載された種々の手段によって提供される機能が、請求項が要求するやり方で組合せられ、集約されるということに存在する。よって、前述の機能を提供することが可能な手段は何れも、本願の明細書及び特許請求の範囲記載のものと均等であるとみなされる。
【００３８】
本願明細書における、本願の原理の「ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ」又は「ａｎ  ｅｍｂｏｄｉｍｅｎｔ」への言及は、本願の実施例に関して説明した特定の構成、構造又は特性等が本願の原理の少なくとも一実施例に含まれていることを意味している。よって、本明細書全体の種々の箇所に記載された「ｉｎ  ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ」又は「ｉｎ  ａｎ  ｅｍｂｏｄｉｍｅｎｔ」の句は、必ずしも、同じ実施例を全て表している訳でない。
【００３９】
本明細書及び特許請求の範囲では、「高位構文」は、階層的にマクロブロック層の上の、ビットストリーム内に存在している構文を表す。例えば、本明細書及び特許請求の範囲記載の高位構文は、スライス・ヘッダ・レベル、付加拡張情報（ＳＥＩ）レベル、ピクチャ・パラメータ組レベル、シーケンス・パラメータ組レベル、及びＮＡＬ装置ヘッダ・レベルを表し得るが、それらに限定されない。
【００４０】
「画像データ」という句は、静止画像及び動画像（すなわち、動きを含む画像の系列）の何れかに対応するデータを表すことを意図している。
【００４１】
「インペインティング」という語は、画像内で部分的又は完全に欠けているデータ及び／又はデータ成分を、近傍の利用可能データを使用して、推定し、補間し、かつ／又は予測する手法を表す。
【００４２】
「希薄性ベースのインペインティング」という句は、希薄性ベースの原理を使用して、画像内で部分的又は全体的に欠けているデータ及び／データ成分を推定、補間及び／又は予測する「インペインティング」手法の特定の実施例を表す。
【００４３】
「因果的デ―タ近傍」及び「非因果的データ近傍」の句はそれぞれ、通常の走査順序（例えば、ＭＰＥＧ−４ＡＶＣ標準におけるラスタ走査及び／又はジグザグ走査）によってピクチャ内の先行処理データを含むデータ近傍、及び、通常の走査順序（例えば、Ｈ．２６４／ＡＶＣにおけるジグザグ走査及び／又はラスタ走査）による現行データに対して後方位置に配置された領域から進む少なくとも特定のデータを含むデータ近傍を表す。因果的走査順序の例を図５Ａに関して示す。非因果的走査順序の例を図５Ｂに関して示す。
【００４４】
「及び／又は」の語を使用していること、例えば、「Ａ及び／又はＢ」の場合は、最初に挙げられた選択肢（Ａ）の選択、第２に挙げられた選択肢（Ｂ）の選択、又は両方の選択肢（Ａ及びＢ）の選択を包含することが意図されている。更なる例として、「Ａ、Ｂ、及び／又はＣ」の場合、前述の句は、第１に挙げられた選択肢（Ａ）の選択、第２に挙げられた選択肢（Ｂ）の選択、第３に挙げられた選択肢（Ｃ）の選択、第１に挙げられた選択肢及び第２に挙げられた選択肢（Ａ及びＢ）の選択、第１に挙げられた選択肢及び第３に挙げられた選択肢（Ａ及びＣ）の選択、第２に挙げられた選択肢及び第３に挙げられた選択肢（Ｂ及びＣ）の選択、又は、３つの選択肢（Ａ、Ｂ及びＣ）全ての選択を包含することを意図している。当該技術分野及び関連技術分野において通常の知識を有する者が容易に分かるように、このことは、挙げられたいくつもの項目について拡張することができる。
【００４５】
更に、本願の原理の１つ又は複数の実施例は本明細書及び特許請求の範囲においてＭＰＥＧ−４  ＡＶＣ標準に関して説明しているが、本願の原理は単にこの標準に限定されず、よって、本願の原理の趣旨を維持しながら、他のビデオ符号化の標準、勧告、及びその拡張（ＭＰＥＧ−４ＡＶＣ標準のマルチビュー拡張（及び非マルチビュー拡張）などの拡張を含む）に関して利用することができる。
【００４６】
更に、本願の原理は、これらに限定されないが、予測ビデオ符号化、マルチビュー・ビデオ符号化、スケーラブル・ビデオ符号化等を含む予測を使用する何れかのビデオ符号化ストラテジに関して使用することができる。
【００４７】
図３を参照すれば、本願の原理に使用するために修正及び／又は拡張された、ＭＰＥＧ−４  ＡＶＣ標準によってビデオ符号化を行うことができるビデオ符号化器は全体を参照符号３００で示す。
【００４８】
ビデオ符号化器３００は、合成器３８５の非反転入力と信号通信する出力を有するフレーム配列バッファ３１０を含む。合成器３８５の出力は、変換器及び量子化器３２５の第１の入力と信号通信で接続される。変換器及び量子化器３２５の出力は、エントロピ符号化器３４５の第１の入力、並びに、逆変換器及び逆量子化器３５０の第１の入力と信号通信で接続される。エントロピ符号化器３４５の出力は、合成器３９０の第１の非反転入力と信号通信で接続される。合成器３９０の出力は、出力バッファ３３５の第１の入力と信号通信で接続される。
【００４９】
符号化器コントロ―ラ３０５の第１の出力は、フレーム配列バッファ３１０の第２の入力、逆変換器及び逆量子化器３５０の第２の入力、ピクチャタイプ決定モジュール３１５の入力、マクロブロックタイプ（ＭＢタイプ）決定モジュール３２０の入力、イントラ予測モジュール３６０の第２の入力、デブロッキング・フィルタ３６５の第２の入力、動き補償器３７０の第１の入力、動き推定器３７５の第１の入力、参照ピクチャ・バッファ３８０の第２の入力、及び予測精緻化フィルタ３３３の第１の入力と信号通信で接続される。
【００５０】
符号化器コントローラ３０５の第２の出力は、付加拡張情報（ＳＥＩ）挿入器３３０の第１の入力、変換器及び量子化器３２５の第２の入力、エントロピ符号化器３４５の第２の入力、出力バッファ３３５の第２の入力、並びに、系列パラメータ組（ＳＰＳ）及びピクチャ・パラメータ組（ＰＰＳ）挿入器３４０の入力と信号通信で接続される。
【００５１】
ピクチャタイプ決定モジュール３１５の第１の出力は、フレーム配列バッファ３１０の第３の入力と信号通信で接続される。ピクチャタイプ決定モジュール３１５の第２の出力は、マクロブロックタイプ決定モジュール３２０の第２の入力と信号通信で接続される。
【００５２】
系列パラメータ組（ＳＰＳ）及びピクチャ・パラメータ組（ＰＰＳ）挿入器３４０の出力は、合成器３９０の第３の非反転入力と信号通信で接続される。
【００５３】
逆量子化器及び逆変換器３５０の出力は、合成器３１９の第１の非反転入力と信号通信で接続される。合成器３１９の出力は、イントラ予測モジュール３６０、デブロッキング・フィルタ３６５の第１の入力、及び予測精緻化フィルタ３３３の第２の入力と信号通信で接続される。デブロッキング・フィルタ３６５の出力は参照ピクチャ・バッファ３８０の第１の入力と信号通信で接続される。参照ピクチャ・バッファ３８０の出力は、動き推定器３７５の第２の入力及び動き補償器３７０の第３の入力と信号通信で接続される。動き推定器３７５の第１の出力は、動き補償器３７０の第２の入力と信号通信で接続される。動き推定器３７５の第２の出力は、エントロピ符号化器３４５の第３の入力と信号通信で接続される。
【００５４】
動き補償器３７０の出力はスイッチ３９７の第１の入力と信号通信で接続される。イントラ予測モジュール３６０の出力はスイッチ３９７の第２の入力と信号通信で接続される。マクロブロックタイプ決定モジュール３２０の出力はスイッチ３９７の第３の入力と信号通信で接続される。スイッチ３９７の第３の入力は、（制御入力、すなわち、第３の入力と比較して）スイッチの「データ」入力を動き補償器３７０又はイントラ予測モジュール３６０によって供給されるか否かを判定する。スイッチ３９７の出力は、予測精緻化フィルタ３３３の第３の入力と信号通信で接続される。予測精緻化フィルタ３３３の第１の出力は、合成器３１９の第２の非反転入力と信号通信で接続される。予測精緻化フィルタ３３３の第２の出力は合成器３８５の反転入力と信号通信で接続される。
【００５５】
フレーム配列バッファ３１０及び符号化器コントローラ３０５の入力は、入力ピクチャ３０１を受信するために、符号化器３００の入力として利用可能である。更に、付加拡張情報（ＳＥＩ）挿入器３３０の入力は、メタデータを受信するために、符号化器３００の入力として利用可能である。出力バッファ３３５の出力は、ビットストリームを出力するために、符号化器３００の出力として利用可能である。
【００５６】
図４に移れば、本願の原理に使用するために修正及び／拡張された、ＭＰＥＧ−４ＡＶＣ標準によるビデオ復号化を行うことができるビデオ復号化器は全体を参照符号４００で示す。
【００５７】
ビデオ復号化器４００は、エントロピ復号化器４４５の第１の入力と信号通信で接続された出力を有する入力バッファ４１０を含む。エントロピ復号化器４４５の第１の出力は、逆変換器及び逆量子化器４５０の第１の入力と信号通信で接続される。逆変換器及び逆量子化器４５０の出力は合成器４２５の第２の非反転入力と信号通信で接続される。合成器４２５の出力は、デブロッキング・フィルタ４６５の第２の入力、イントラ予測モジュール４６０の第１の入力、及び予測精緻化フィルタ４３３の第３の入力と信号通信で接続される。デブロッキング・フィルタ４６５の第２の出力は、参照ピクチャ・バッファ４８０の第１の入力と信号通信で接続される。参照ピクチャ・バッファ４８０の出力は、動き補償器４７０の第２の入力と信号通信で接続される。
【００５８】
エントロピ復号化器４４５の第２の出力は、動き補償器４７０の第３の入力、デブロッキング・フィルタ４６５の第１の入力、及び予測精緻化フィルタ４３３の第４の入力と信号通信で接続される。エントロピ復号化器４４５の第３の出力は復号化器コントローラ４０５の入力と信号通信で接続される。復号化器コントローラ４０５の第１の出力はエントロピ復号化器４４５の第２の入力と信号通信で接続される。復号化器コントローラ４０５の第２の出力は、逆変換器及び逆量子化器４５０の第２の入力と信号通信で接続される。復号化器コントローラ４０５の第３の出力はデブロッキング・フィルタ４６５の第３の入力と信号通信で接続される。復号化器コントローラ４０５の第４の出力は、イントラ予測モジュール４６０の第２の入力、動き補償器４７０の第１の入力、参照ピクチャ・バッファ４８０の第２の入力、並びに、予測精緻化フィルタ４３３の第１の入力と信号通信で接続される。
【００５９】
動き補償器４７０の出力は、スイッチ４９７の第１の入力と信号通信で接続される。イントラ予測モジュール４６０の出力は、スイッチ４９７の第２の入力と信号通信で接続される。スイッチ４９７の出力は、予測精緻化フィルタ４３３の第２の入力と信号通信で接続される。予測精緻化フィルタ４３３の出力は、合成器４２５の第１の非反転入力と信号通信で接続される。
【００６０】
入力バッファ４１０の入力は、入力ビットストリームを受信するために、復号化器４００の入力として利用可能である。デブロッキング・フィルタ４６５の第１の出力は、出力ピクチャを出力するために、復号化器４００の出力として利用可能である。
【００６１】
前述の通り、本願の原理は、予測データ精緻化を使用してビデオを符号化する方法及び装置に関する。
【００６２】
一実施例では、適合フィルタが、予測ビデオ符号化及び／又は復号化に使用される。適合フィルタは、予測データを拡充し、かつ／又は他のやり方で精緻化するために、符号化ループ及び／又は復号化ループにおいて実現することができる。一実施例では、予測段階後、かつ誤り残差の生成の前に適合フィルタを施す。
【００６３】
一実施例では、予測段階で生成されたデータをフィルタするために、希薄性ベースのインペインティング手法を使用することができる。考えられる予測モードのうちの何れかが、（例えば、所定の基準に対して）十分に正確な予測を生成した場合、本願の原理の実施例により、選択された予測に施され、既に復号化されたデータを使用したフィルタは、より小さな残差誤差がもたらされるように予測データを精緻化し、よって、場合によっては、残差符号化に必要な情報の量を削減し、かつ／又は、予測データの忠実度を増加させることが可能である。
【００６４】
従来技術のビデオ符号化では、ビデオ符号化器／復号化器のパラダイムのモード選択及び予測段階中に予測されたデータは、予測残差の生成において直接使用される。更に、欠けている画像領域の再生（例えば、インペインティング）における従来技術は、特定の雑音除去手法を前述の目的で使用することが可能である。その代わりに、本願の原理の実施例では、部分的に欠けているデータの再生のための雑音除去ベースの手法であり得る予測残差の生成に先行して、更に精緻化するために予測データに対してフィルタを使用することを提案する。一実施例では、提案された手法を使用して、予測モードから得られた予測を拡張／精緻化することが可能である。一実施例では、予測後（、及び残差誤差が生成される前）、精緻化フィルタの使用が、ビデオ符号化アルゴリズムに提案されている。
【００６５】
本願の原理は、（例えば、近傍のブロック、フレーム、及び／又はピクチャからの、）受信器において利用可能な復号化データを使用して、残差誤差がもたらされる前に予測データを精緻化することが可能である。
【００６６】
イントラ予測精緻化
イントラ予測に関する実施例（以降「イントラ予測の実施例」）を次いで説明する。イントラ予測の実施例を本明細書及び特許請求の範囲において例証の目的で記載するものとし、よって、本明細書及び特許請求の範囲記載の本願の原理の教示があれば、当該及び関連の技術分野において通常の知識を有する者は、本願の原理の趣旨を維持しながら、イントラ予測に対する本願の原理の種々の修正及び変形を考え出すであろう。
【００６７】
イントラ予測について提案された手法には、既存のイントラ符号化モードの予測精度を向上させるループ内イントラ符号化精緻化処理が関係する。通常、固有に低域通過処理である標準的なイントラ符号化手法は一般に、高周波コンテンツを効果的に予測することができない。一実施例では、周囲ブロック上のサンプルを考慮に入れて、標準的なイントラ予測を介して得られた既存の予測を精緻化する。例えばＭＰＥＧ−４  ＡＶＣ標準において使用されるような伝統的なイントラ予測では、近傍ブロックからの画素の第１層のみを使用して、現在のブロック内の画素予測値を計算する。これは、近傍ブロック内の信号の構造又はテクスチャについての情報が予測に何ら利用可能でないことを示唆している。よって、例えば、前述の近傍情報又は考えられる輝度勾配から現在のブロックの考えられるテクスチャを予測することは可能でない。一実施例では、ＭＰＥＧ−４  ＡＶＣ標準に対応する予測に係わる画素数よりも多い数の画素を、周囲（すなわち、近傍）ブロックから使用する。例えば、テクスチャに関する情報を考慮に入れることができるので、これにより、現在のブロックにおける予測に対する改良が可能になる。その結果、提案されたイントラ予測精緻化手順は、現在のブロックにおける高周波コンテンツ又は構造化コンテンツの予測を拡張することができる。
【００６８】
新たなイントラ予測精緻化手法には、予測モード選択処理と、残差誤差の計算との間の精緻化工程が挿入される。イントラ予測マクロブロックに対しては、本願の原理の実施例には以下の工程が関係し得る。
【００６９】
（１）利用可能なイントラ予測モード（例えば、４×４、８×８、１６×１６）全てを使用してイントラ予測を行い、最善のイントラ予測モードを（例えば、レート歪みの意味合いで）選択する。
【００７０】
（２）予測結果を使用して予測精緻化アルゴリズムを初期化する。
【００７１】
（３）予測精緻化アルゴリズムを施す。  
（４）精緻化処理が現在のブロックの予測を（例えば、レート歪みの意味合いで）向上させたか否かを判定する。
【００７２】
（５）向上があった場合、精緻化アルゴリズムの出力において得られる予測が、そのモード及びブロックのＭＰＥＧ−４  ＡＶＣ標準からの「伝統的な」イントラ予測の代わりに使用される。
【００７３】
イントラ予測精緻化処理に関する必要情報は、例えば、サブマクロブロック、マクロブロック、又はより高い構文レベルにおいて埋め込むことが可能な構文を使用して復号化器に送信することが可能である。
【００７４】
上記方法に対する拡張として、近傍復号化データの利用可能性に対する精緻化を適合させる。例えば、ＭＥＰＧ−４  ＡＶＣ標準に関する実施例では、復号化された近傍の因果的特性を考慮に入れる。例えば、４×４予測モードの場合、現在のブロックの予測を精緻化するために使用される近傍は、現在のブロックを取り囲む因果的近傍である（図５Ｂ参照）。
【００７５】
図５Ｂに移れば、符号化されている現在の４×４イントラ・ブロック、及びインペインティングの適切な近傍の図は全体を参照符号５００で示す。特に、現在の４×４ブロックは参照符号５１０で示し、適切な近傍ブロックは参照符号５２０で示し、適切でない近傍ブロックは参照符号５３０で示す。
【００７６】
予測精緻化手法は、以下を含めるよう表すことができる。
【００７７】
予測精緻化手法には、開始閾値Ｔ０を求め、かつ／又は導き出すことが関係する。これは、周囲の復号化データ及び／又は画素近傍の特定の統計に基づき、かつ／又は、符号化処理中に使用される符号化品質又は量子化ステップに基づいて暗黙的に導き出すことが可能である。更に、開始閾値は、構文レベルを使用して復号化器に明示的に送信することができる。実際に、マクロブロック・レベル又は高位構文を使用して前述の情報を配置することができる。
【００７８】
予測精緻化手法には、精緻化特性の最大化のために全ブロックに対して行う対象の反復の最大数及び／又は最終閾値Ｔｆを求めることも関係する。反復の最大数及び／又は閾値は、周囲復号化近傍の特定の統計に基づいて、かつ／又は、符号化手順中に使用される量子化ステップ又は符号化品質に基づいて導き出すことができる。最終閾値は、例えば、高位構文を使用して復号化器に送信することができる。高位構文は例えば、マクロブロック、スライス、ピクチャ、及び／又は系列レベルにおいて配置することができる。
【００７９】
予測精緻化イネーブルされたビデオ符号化器及び／又は復号化器の一実施例では、雑音除去アルゴリズムを使用して予測精緻化を行うことが可能である。予測精緻化フィルタの特定の実施例には以下の工程が関係する。
【００８０】
１）Ｔ＝Ｔ０
２）現在のブロックをＬ個の層に分解する。
【００８１】
３）層の画素を、現在のブロックのイントラ予測値で初期化する。
【００８２】
４）Ｔ＞Ｔｆであり、かつ／又は、行われる反復の数  ＜  最大値である間、
ａ）ｉ＝１，．．．，Ｌ（Ｌが最も内側の層である）で、
ｉ．０％でないが、５０％以下だけ、層１，．．．，Ｌと重なる離散コサイン変換（ＤＣＴ）ブロック全てを見つける。
【００８３】
ｉｉ．閾値Ｔを使用して係数をハード閾値化する
ｉｉｉ．層の適切な部分に重なる過剰完全逆変換を平均化することにより、層ｉ内の画素を逆変換し、更新する。
【００８４】
ｂ）Ｔ＝Ｔ-ΔＴ
この特定の実施例は、特性において反復的である。しかし、本願の原理の他の実施例は、単一の反復で実行するよう実現することができる。
【００８５】
よって、一実施例では、画像インペインティング手法が、ビデオ圧縮アプリケーションのループ内精緻化コンポーネントとしての使用に提案されている。一実施例では、予測後（及び、残差誤差の生成前）の精緻化工程が、拡張符号化特性について提案されている。一実施例では、雑音除去ベースのインペインティング手法の使用が、前述の予測精緻化に提案されている。
【００８６】
インター予測精緻化
本明細書及び特許請求の範囲記載の本願の原理の教示があれば、上記イントラ予測精緻化手法は、本願の原理の趣旨を維持しながら、当該及び関連の技術分野において通常の知識を有する者により、インター予測精緻化における使用に容易に拡張される。更に、動き補償モード及び／又は動き補償データ（動きベクトル、参照フレーム）、並びに近傍ブロックとのそれらの関係に応じて、動き補償予測モード及び／又は動き補償（ＭＣ）予測データに応じた精緻化処理の調節（例えば、閾値適合、及び／又は反復数の設定、及び／又は精緻化イネーブル）が関係し得る。
【００８７】
一実施例では、精緻化工程は、マクロブロック全てが第１の符号化処理に従った後に、選択されたブロック又はマクロブロックに対する第２のパスの精緻化工程としてのインター・データに施すことが可能である。これは、インター・フレームが符号化される場合に考慮に入れることが可能である。一実施例では、第２の符号化パス中に、選択されたブロック、マクロブロック及び／又は領域は、非因果的データ近傍を使用して予測精緻化の更なる工程を使用することが可能である（図５Ａ参照）。図５Ｂに移れば、符号化された現在の４×４イントラ・ブロック、及びインペインティングに適切な非因果的近傍は全体を参照符号５５０で示す。特に、現在の４×４ブロックは参照符号５６０で示し、適切な近傍ブロックは参照符号５７０で示す。
【００８８】
精緻化工程は、ピクチャの何れかの領域の形状若しくは寸法、例えば、サブブロック、マクロブロックに、又はサブブロック及び／若しくはマクロブロックの和集合を含む復号領域に施すことが可能である。次いで、予測についての更なる精緻化工程を考慮に入れ、符号化する対象の最終残差誤差が生成される。
【００８９】
本願の原理の実施例による例示的なマクロブロック・ヘッダを表１に示す。
【００９０】
【表１】
2013258771.tif 000003
図６を参照すれば、予測精緻化を使用して画像データを符号化する方法は全体を参照符号６００で示す。図６の特定例では、予測精緻化の使用の有無についてのマクロブロック単位の適合度のみが、話を単純にする目的で考慮に入れられる。
【００９１】
方法６００は、開始ブロック６０５を含む。開始ブロック６０５は、制御を機能ブロック６１０に渡す。機能ブロック６１０は、イントラ予測を行い、最善のイントラ予測モードを選択し、歪みの尺度をＤ＿ｉｎｔｒａとして記録し、制御を機能ブロック６１５に渡す。機能ブロック６１５は、イントラ予測データに対して予測精緻化を行い、歪みの尺度をＤ＿ｒｅｆｉｎｅｍｅｎｔとして記録し、制御を決定ブロック６２０に渡す。決定ブロック６２０は、Ｄ＿ｒｅｆｉｎｅｍｅｎｔ＋イントラ・モードの符号化コストの尺度（ｉｎｔｒａ＿ｃｏｓｔ）及び精緻化選択コスト（ｒｅｆｉｎｅｍｅｎｔ＿ｃｏｓｔ）の和が、Ｄ＿ｉｎｔｒａ＋イントラ・モードの符号化コストの尺度（ｉｎｔｒａ＿ｃｏｓｔ）よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック６２５に渡される。さもなければ、制御は機能ブロック６３０に渡される。
【００９２】
機能ブロック６２５は、ｐｒｅｄｉｃｔｉｏｎ＿ｒｅｆｉｎｅｍｅｎｔ＿ｆｌａｇを１に等しくセットし、制御を機能ブロック６３５に渡す。
【００９３】
機能ブロック６３０は、ｐｒｅｄｉｃｔｉｏｎ＿ｒｅｆｉｎｅｍｅｎｔ＿ｆｌａｇを０に等しくセットし、制御を機能ブロック６３２に渡す。
【００９４】
機能ブロック６３２は、予測の得られた精緻化を廃棄し、機能ブロック６３５に制御を渡す。
【００９５】
機能ブロック６３５は、残差を計算し、現在のマクロブロックをエントロピ符号化し、終了ブロック６９９に制御を渡す。
【００９６】
図７に移れば、予測精緻化を使用して画像データを復号化する方法は全体を参照符号７００で示す。
【００９７】
方法７００は、開始ブロック７０５を含む。開始ブロック７０５は機能ブロック７１０に制御を渡す。機能ブロック７１０は、ビットストリームを解析し、イントラ予測モード及びｐｒｅｄｉｃｔｉｏｎ＿ｒｅｆｉｎｅｍｅｎｔ＿ｆｌａｇを取得し（求め）、機能ブロック７１５に制御を渡す。機能ブロック７１５は、イントラ予測を行い、制御を決定ブロック７２０に渡す。決定ブロック７２０は、ｐｒｅｄｉｃｔｉｏｎ＿ｒｅｆｉｎｅｍｅｎｔ＿ｆｌａｇが１に等しいか否かを決定する。肯定の場合、制御は機能ブロック７２５に渡される。さもなければ、制御は機能ブロック７３０に渡される。
【００９８】
機能ブロック７２５は、イントラ予測データに対して予測精緻化を行い、機能ブロック７３０に制御を渡す。
【００９９】
機能ブロック７３０は、残差を加え、現在のマクロブロックを再構成し、終了ブロック７９９に制御を渡す。
【０１００】
図８を参照すれば、精緻化を伴って予測を提供する例示的な装置は全体を参照符号８００で示す。装置８００は、図３及び図４それぞれの予測精緻化フィルタ３３３及び／又は予測精緻化フィルタ４３３を含めるよう実現することができる。
【０１０１】
装置８００は、予測選択器及び／又は混合器８１５の第１の入力と信号通信で接続された出力を有するイントラ予測モジュール８０５を含む。予測選択器及び／又は混合器８１５の出力は、精緻化算出器８２０の第１の入力、予測選択器及び／又は混合器８２５の第１の入力、初期閾値推定器８３０の第１の入力、及び最終閾値推定器８３５の第１の入力と信号通信で接続される。精緻化算出器８２０の出力は、予測選択器及び／又は混合器８２５の第２の入力と信号通信で接続される。
【０１０２】
インター予測モジュール８１０の出力は、予測選択器及び／又は混合器８１５の第２の入力と信号通信で接続される。
【０１０３】
初期閾値推定器８３０の出力は、精緻化算出器８２０の第２の入力及び反復数算出器８４０の第１の入力と信号通信で接続される。
【０１０４】
最終閾値推定器８３５の出力は、反復数算出器８４０の第２の入力及び精緻化算出器８２０の第３の入力と信号通信で接続される。
【０１０５】
反復数算出器８４０の出力は、精緻化算出器８２０の第４の入力と信号通信で接続される。
【０１０６】
イントラ予測モジュール８０５の入力、初期閾値推定器８３０の入力、及び最終閾値推定器８３５の入力は、現在のピクチャにおいて既に復号化されたデータを受信するための装置８００の入力として利用可能である。
【０１０７】
イントラ予測モジュール８１０の入力、初期閾値推定器８３０の第２の入力、及び最終閾値推定器８３５の第２の入力は、既に復号化されたピクチャを受信するために、装置８００の入力として利用可能である。
【０１０８】
初期閾値推定器８３０の第４の入力、最終閾値推定器８３５の第４の入力、及び反復数算出器８４０の第３の入力は、制御パラメータを受信するために、装置８００の入力として利用可能である。
【０１０９】
予測選択器及び／又は混合器８２５の出力は、精緻化予測を出力するために、装置８００の出力として利用可能である。
【０１１０】
精緻化算出器８２０、初期閾値推定器８３０、最終閾値推定器８３５、反復数算出器８４０、並びに予測選択器及び／又は混合器８２５は、精緻化モジュール８７７の一部である。精緻化モジュール８７７は同様に、装置８００の一部である。
【０１１１】
図９に移れば、精緻化された予測を生成する例示的な方法は全体を参照符号９００で示す。方法９００は、機能ブロック９１０で表す予測部分及びブロック９１５乃至９７０で表す精緻化部分を含むものとみなし得る。精緻化部分は、参照符号９６６でも示す。
【０１１２】
方法９００は開始ブロック９０５を含む。開始ブロック９０５は機能ブロック９１０に制御を渡す。機能ブロック９１０は、例えば、ＭＰＥＧ−４  ＡＶＣ標準に基づいて予測工程を行い、決定ブロック９１５に制御を渡す。決定ブロック９１５は、予測に精緻化を使用するか否かを判定する。肯定の場合、制御は機能ブロック９２０に渡される。さもなければ、制御は終了ブロック９９９に渡される。
【０１１３】
機能ブロック９２０は、画素層上の現在の予測ブロックの分解を行い、制御をループ限度ブロック９２５に渡す。ループ限度ブロック９２５は、現在のブロックの各層Ｉにわたるループを行い、機能ブロック９３０に制御を渡す。機能ブロック９３０は、閾値ＴをＴ＿ｓｔａｒｔに等しくセットし、ループ限度ブロック９３５に制御を渡す。ループ限度ブロック９３５は、反復毎にループを行い、制御を機能ブロック９４０に渡す。機能ブロック９４０は、既に復号化された空間近傍との（本明細書及び特許請求の範囲に記載したような）好適な重なりを伴う変換の変換係数を生成し、制御を機能ブロック９４５に渡す。機能ブロック９４５は、係数に対して閾値化処理を行い（例えば、特定の閾値を上回る振幅を有する係数を維持し、前述の閾値を下回る係数を０にセットし）、制御を機能ブロック９５０に渡す。機能ブロック９５０は、既に復号化された空間近傍との好適な重なりを伴った変換の閾値化係数を逆変換し、制御を機能ブロック９５５に渡す。機能ブロック９５５は、閾値化処理が復号化画素に影響を及ぼさないように復号化画素を回復し、制御を機能ブロック９６０に渡す。機能ブロック９６０は閾値Ｔを低減させ、制御をループ限度ブロック９６５に渡す。ループ限度ブロック９６５は、反復毎にループを終え、ループ限度ブロック９７０に制御を渡す。ループ限度ブロック９７０は、現在の予測ブロックの各層ｉにわたるループを終え、制御を終了ブロック９９９に渡す。
【０１１４】
図１０に移れば、精緻化されているマクロブロック内の同心画素層組の例示は全体を参照符号１０００で示す。マクロブロック１０１０は、マクロブロックの非因果的近傍１０２０を有する。
【０１１５】
次いで、一部は上述した、本発明に伴う多くの利点／特徴の一部を説明する。例えば、一利点／特徴は、ピクチャの画像領域を符号化する符号化器を有する装置である。符号化器は、画像領域のイントラ予測及びインター予測の少なくとも一方を精緻化するための予測精緻化フィルタを有する。予測精緻化フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用して画像領域のインター予測を精緻化し、先行復号化データ及び先行符号化データは、画像領域に対する近傍領域内の画素値に対応する。
【０１１６】
別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、画像領域は、ブロック、マクロブロック、ブロックの和集合、及びマクロブロックの和集合のうちの少なくとも１つである装置である。
【０１１７】
更に別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタは、線形タイプ及び非線形タイプの何れか一方である装置である。
【０１１８】
更に別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、画像領域は、同一又は類似のシーンのマルチビュー・ビデオ・コンテンツ、単一ビュー・ビデオ・コンテンツ、及び、同一のシーンのスケーラブル層組からのスケーラブル層の何れかに対応する装置である。
【０１１９】
更に、別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタが、反復雑音低減手法及び非反復雑音低減手法に対して施される装置である。
【０１２０】
更に、別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタが、反復欠落データ推定手法及び非反復欠落データ推定手法に対して施される装置である。
【０１２１】
更に、別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタは、画像領域及び近傍領域の少なくとも一方に対応するデータ特性及びデータ統計の少なくとも一方に応じて適応的にイネーブル又はディセーブルされる装置である。
【０１２２】
更に、別の利点／特徴は、上記のように適合的にイネーブル又はディセーブルされた予測精緻化フィルタを備えた符号化器を有する装置であって、データ特性及びデータ統計の少なくとも一方は、符号化モード、動きデータ及び残差データのうちの少なくとも１つを含む装置である。
【０１２３】
更に、別の利点／特徴は、上記のように適合的にイネーブル又はディセーブルされる予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタのイネーブル情報又はディセーブル情報は、歪みの尺度、及び符号化コストの尺度の少なくとも一方が最小にされるように求められる装置である。
【０１２４】
更に、別の利点／特徴は、上記のように適合的にイネーブル又はディセーブルされる予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタのイネーブル情報又はディセーブル情報は、サブブロック・レベル構文要素、ブロック・レベル構文要素、マクロブロック・レベル構文要素、及び高位構文要素のうちの少なくとも１つを使用して通知される装置である。
【０１２５】
更に、別の利点／特徴は、予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタのイネーブル情報又はディセーブル情報は、上記のようなサブブロック・レベル構文要素、ブロック・レベル構文要素、マクロブロック・レベル構文要素、及び高位構文要素のうちの少なくとも１つを使用して通知され、少なくとも１つの高位構文要素は、スライス・ヘッダ・レベル、付加拡張情報（ＳＥＩ）レベル、ピクチャ・パラメータ組レベル、系列パラメータ組レベル、及びネットワーク抽象化層ユニット・ヘッダ・レベルのうちの少なくとも１つにおいて配置される装置である。
【０１２６】
更に、別の利点／特徴は、上記のような予測精緻化フィルタを備えた符号化器を有する装置であって、符号化器は、画像ブロックに対応する予測精緻化フィルタのパラメータを適合的に示すための補助情報を送信し、補助情報は、サブマクロブロック・レベル、マクロブロック・レベル、スライス・レベル、ピクチャ・レベル及び系列レベルのうちの少なくとも１つにおいて送信される装置である。
【０１２７】
更に、別の利点／特徴は、予測精緻化フィルタを備えた符号化器を有する装置であって、符号化器は上記補助情報を送信し、予測精緻化フィルタのパラメータは、画像領域及び近傍領域の少なくとも一方に対応するデータ特性及びデータ統計の少なくとも一方に少なくとも部分的に基づいて適合的に示される装置である。
【０１２８】
更に、別の利点／特徴は、予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタのパラメータは、上記のように適合的に示され、データ特性及びデータ統計の少なくとも一方は、符号化モード、動きデータ、再構成データ、及び残差データのうちの少なくとも１つを含む装置である。
【０１２９】
更に、別の利点／特徴は、上記予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタは、ピクチャの第１パス符号化において施されることなく、ピクチャの第２パス符号化において選択的に施される装置である。
【０１３０】
更に、別の利点／特徴は、上記のような予測精緻化フィルタを備えた符号化器を有する装置であって、予測精緻化フィルタは、先行復号化データ及び先行符号化データの少なくとも一方を使用して画像領域のイントラ予測を精緻化し、先行復号化データ及び先行符号化データは、画像領域に対して近傍領域における画素値に対応する装置である。
【０１３１】
本願の原理の前述並びに他の特徴及び利点は、本明細書及び特許請求の範囲記載の教示に基づいて、当業者が容易に確かめることができる。本願の原理の教示は、種々の形態のハードウェア、ソフトウェア、ファームウェア、特殊用途向プロセッサ、又はそれらの組み合わせで実現することができる。
【０１３２】
最も好ましくは、本願の原理の教示は、ハードウェア及びソフトウェアの組合せとして実現される。更に、ソフトウェアは、プログラム記憶装置上に有形に実施されたアプリケーション・プログラムとして実現することができる。アプリケーション・プログラムは、何れかの適切なアーキテクチャを有するマシンにアップロードし、前述のマシンによって実行することができる。好ましくは、マシンは、１つ又は複数の中央処理装置（「ＣＰＵ」）、ランダム・アクセス・メモリ（「ＲＡＭ」）や、入出力（「Ｉ／Ｏ」）インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上に実現される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、ＣＰＵによって実行することができるアプリケーション・プログラムの一部若しくはマイクロ命令コードの一部（又はそれらの組み合わせ）であり得る。更に、種々の他の周辺装置を、更なるデータ記憶装置や、印刷装置などのコンピュータ・プラットフォームに接続することができる。
【０１３３】
添付図面に表す構成システム部分及び方法の一部は好ましくはソフトウェアで実現されるので、システム構成部分（又は処理機能ブロック）間の実際の接続は、本願の原理がプログラムされるやり方によって変わり得る。本明細書及び特許請求の範囲記載の教示があれば、当業者は、本願の原理の前述及び同様な実現形態又は構成に想到することができるであろう。
【０１３４】
例証的な実施例を添付図面を参照して本明細書及び特許請求の範囲において記載しているが、本願の原理は上述のまさにその実施例に限定されず、本願の原理の範囲又は趣旨から逸脱しない限り、種々の変更及び修正を当業者によって行うことができる。前述の変更及び修正は全て、特許請求の範囲記載の本願の原理の範囲内に含まれることが意図されている。
【図１】
2013258771.tif 000004
【図２】
2013258771.tif 000005
【図３】
2013258771.tif 000006
【図４】
2013258771.tif 000007
【図５Ａ】
2013258771.tif 000008
【図５Ｂ】
2013258771.tif 000009
【図６】
2013258771.tif 000010
【図７】
2013258771.tif 000011
【図８】
2013258771.tif 000012
【図９】
2013258771.tif 000013
【図１０】
2013258771.tif 000014
【外国語明細書】
METHOD  AND  APPARATUS  FOR  VIDEO  CODING  USING  PREDICTION  DATA  REFINEMENT  
CROSS-REFERENCE  TO  RELATED  APPLICATIONS  
This  application  claims  the  benefit  of  U.S.  Provisional  Application  Serial  No.
60/852,529,  filed  October  18,  2006,  which  is  incorporated  by  reference  herein  in  its  entirety.  This  application  also  claims  the  benefit  of  U.S.  Provisional  Application  Serial  No.  60/911,536,  filed  April  13,  2007,  and  which  is  also  incorporated  by  reference  herein  in  its  entirety.
TECHNICAL  FIELD  
The  present  principles  relate  generally  to  video  encoding  and  decoding  and,  more  particularly,  to  methods  and  apparatus  for  video  coding  using  prediction  data  refinement.  
BACKGROUND  ART  
Video  coding  techniques  may  use  prediction  based  coding  in  order  to  be  efficient.  Data  at  a  given  frame  is  predicted,  on  a  block  basis,  from  already  decoded  data,  which  can  either  be  from  other  reference  frames  (i.e.,  "inter"  prediction),  or  from  the  already  decoded  data  at  the  same  frame  (i.e.,  "intra"  prediction).  The  residual  error,  generated  after  prediction  is  subtracted  from  the  original  data,  is  then  typically  transformed,  quantized,  and  encoded.  The  type  of  prediction  used  at  a  given  spatial  location  of  a  given  frame  is  adaptively  selected  such  that  final  coding  is  as  efficient  as  possible.  This  selection  relies  on  the  optimization  of  a  rate-distortion  measure.  Indeed,  the  predictor  leading  to  the  lowest  distortion  with  the  lowest  bitrate  is  typically  selected  among  all  possible  prediction  modes.  
In  some  cases,  the  best  predictor  in  terms  of  rate  distortion  may  not  give  accurate  predicted  data,  generating,  then,  a  high  amount  of  residual  error  that  has  to  be  coded.  Inaccuracy  may  be  due  to  the  rate  constraint  which  leads  the  predictor  selection  to  a  compromise  between  bitrate  cost  and  distortion  or  simply  because  available  prediction  models  aren't  appropriate.  Intra  prediction  in  the  International  Organization  for  Standardization/International  Electrotechnical  Commission  
(ISO/IEC)  Moving  Picture  Experts  Group-4  (MPEG-4)  Part  10  Advanced  Video  Coding  (AVC)  standard/International  Telecommunication  Union,  Telecommunication  Sector  (ITU-T)  H.264  recommendation  (hereinafter  the  "MPEG-4  AVC  standard"  is  an  example  where  a  low-pass  operator  is  used  to  predict  the  data  in  a  given  block  using  information  from  its  decoded  neighboring  blocks.  However,  such  predictors  are  unable  to  handle  high  frequencies  and  textured  data.  
In  some  state  of  the  art  video  encoders/decoders  such  as,  for  example,  those  in  compliance  with  the  MPEG-4  AVC  Standard,  prediction  refinement  by  the  use  of  the  so-called  "deblocking  filter"  is  utilized  within  the  coding/decoding  process.  
Coding  inaccuracies,  introduced  by  transform-based  coding  of  the  residual  error,  may  be  reduced  by  means  of  a  filter  that  operates  on  reconstructed  frames  as  a  last  step  in  the  coding  loop.  Other  in-loop  filters  have  been  proposed  in  order  to  overcome  the  limitations  of  the  MPEG-4  AVC  Standard  deblocking  filter.  Typically,  these  filters  are  applied  on  the  reconstructed  pictures.  
In-loop  filtering  after  reconstruction  allows  for  the  recovery  of  part  of  the  information  lost  during  the  quantization  step  in  error  residual  coding.  However,  it  is  not  expected  to  help  reduce  the  amount  of  information  to  be  encoded  in  the  current  picture,  as  it  is  applied  on  reconstructed  images.  In  order  to  reduce  the  amount  of  information  to  be  encoded,  the  prediction  signal  can  be  improved.  Traditionally,  this  has  been  done  by  the  inclusion  of  increasingly  more  sophisticated  prediction  modes.  Algorithms  for  the  estimation  of  missing  data,  some  of  which  may  be  referred  to  as  "inpainting"  algorithms,  may  be  based  on,  for  example,  diffusion  principles  and/or  texture  growing,  or  nonlinear  sparse  decompositions  de-noising.  These  algorithms  may  try  to  estimate  the  values  of  missing  data  based  on  known  
neighboring  data.  Indeed,  one  could  imagine  having  a  missing  block  within  a  picture,  and  recovering  the  missing  block  by  estimating  the  missing  block  from  the  data  available  in  some  neighboring  block.  These  algorithms  generally  assume  there  is  no  knowledge  about  the  data  missing,  i.e.,  they  only  rely  upon  the  neighboring  available  data  to  estimate  the  missing  data.  
Turning  to  FIG.  1  ,  a  video  encoder  capable  of  performing  video  encoding  in  accordance  with  the  MPEG-4  AVC  standard  is  indicated  generally  by  the  reference  numeral  100.  
The  video  encoder  100  includes  a  frame  ordering  buffer  110  having  an  output  in  signal  communication  with  a  non-inverting  input  of  a  combiner  185.  An  output  of  the  combiner  185  is  connected  in  signal  communication  with  a  first  input  of  a  transformer  and  quantizer  125.  An  output  of  the  transformer  and  quantizer  125  is  connected  in  signal  communication  with  a  first  input  of  an  entropy  coder  145  and  a  first  input  of  an  inverse  transformer  and  inverse  quantizer  150.  An  output  of  the  entropy  coder  145  is  connected  in  signal  communication  with  a  first  non-inverting  input  of  a  combiner  190.  An  output  of  the  combiner  190  is  connected  in  signal  communication  with  a  first  input  of  an  output  buffer  135.  
A  first  output  of  an  encoder  controller  105  is  connected  in  signal  
communication  with  a  second  input  of  the  frame  ordering  buffer  110,  a  second  input  of  the  inverse  transformer  and  inverse  quantizer  150,  an  input  of  a  picture-type  decision  module  115,  an  input  of  a  macroblock-type  (MB-type)  decision  module  120,  a  second  input  of  an  intra  prediction  module  160,  a  second  input  of  a  deblocking  filter  165,  a  first  input  of  a  motion  compensator  170,  a  first  input  of  a  motion  estimator  175,  and  a  second  input  of  a  reference  picture  buffer  180.  
A  second  output  of  the  encoder  controller  105  is  connected  in  signal  communication  with  a  first  input  of  a  Supplemental  Enhancement  Information  (SEI)  inserter  130,  a  second  input  of  the  transformer  and  quantizer  125,  a  second  input  of  the  entropy  coder  145,  a  second  input  of  the  output  buffer  135,  and  an  input  of  the  Sequence  Parameter  Set  (SPS)  and  Picture  Parameter  Set  (PPS)  inserter  140.  
A  first  output  of  the  picture-type  decision  module  115  is  connected  in  signal  communication  with  a  third  input  of  a  frame  ordering  buffer  110.  A  second  output  of  the  picture-type  decision  module  115  is  connected  in  signal  communication  with  a  second  input  of  a  macroblock-type  decision  module  120.  
An  output  of  the  Sequence  Parameter  Set  (SPS)  and  Picture  Parameter  Set  (PPS)  inserter  140  is  connected  in  signal  communication  with  a  third  non-inverting  input  of  the  combiner  190.  
An  output  of  the  inverse  quantizer  and  inverse  transformer  150  is  connected  in  signal  communication  with  a  first  non-inverting  input  of  a  combiner  119.  An  output  of  the  combiner  119  is  connected  in  signal  communication  with  a  first  input  of  the  intra  prediction  module  160  and  a  first  input  of  the  deblocking  filter  165.  An  output  of  the  deblocking  filter  165  is  connected  in  signal  communication  with  a  first  input  of  a  reference  picture  buffer  180.  An  output  of  the  reference  picture  buffer  180  is  connected  in  signal  communication  with  a  second  input  of  the  motion  estimator  175.  
A  first  output  of  the  motion  estimator  175  is  connected  in  signal  communication  with  a  second  input  of  the  motion  compensator  170.  An  output  of  reference  picture  buffer  180  is  connected  in  signal  communication  with  a  third  input  of  the  motion  
compensator  170.  A  second  output  of  the  motion  estimator  175  is  connected  in  signal  communication  with  a  third  input  of  the  entropy  coder  145.  
An  output  of  the  motion  compensator  170  is  connected  in  signal  
communication  with  a  first  input  of  a  switch  197.  An  output  of  the  intra  prediction  module  160  is  connected  in  signal  communication  with  a  second  input  of  the  switch  197.  An  output  of  the  macroblock-type  decision  module  120  is  connected  in  signal  communication  with  a  third  input  of  the  switch  197.  The  third  input  of  the  switch  197  determines  whether  or  not  the  "data"  input  of  the  switch  (as  compared  to  the  control  input,  i.e.,  the  third  input)  is  to  be  provided  by  the  motion  compensator  170  or  the  intra  prediction  module  160.  The  output  of  the  switch  197  is  connected  in  signal  communication  with  a  second  non-inverting  input  of  the  combiner  119  and  with  an  inverting  input  of  the  combiner  185.  
Inputs  of  the  frame  ordering  buffer  110  and  the  encoder  controller  105  are  available  as  input  of  the  encoder  100,  for  receiving  an  input  picture  101.  Moreover,  an  input  of  the  Supplemental  Enhancement  Information  (SEI)  inserter  130  is  available  as  an  input  of  the  encoder  100,  for  receiving  metadata.  An  output  of  the  output  buffer  135  is  available  as  an  output  of  the  encoder  100,  for  outputting  a  bitstream.  
Turning  to  FIG.  2,  a  video  decoder  capable  of  performing  video  decoding  in  accordance  with  the  MPEG-4  AVC  standard  is  indicated  generally  by  the  reference  numeral  200.  
The  video  decoder  200  includes  an  input  buffer  210  having  an  output  connected  in  signal  communication  with  a  first  input  of  the  entropy  decoder  245.  A  first  output  of  the  entropy  decoder  245  is  connected  in  signal  communication  with  a  first  input  of  an  inverse  transformer  and  inverse  quantizer  250.  An  output  of  the  inverse  transformer  and  inverse  quantizer  250  is  connected  in  signal  communication  with  a  second  non-inverting  input  of  a  combiner  225.  An  output  of  the  combiner  225  is  connected  in  signal  communication  with  a  second  input  of  a  deblocking  filter  265  and  a  first  input  of  an  intra  prediction  module  260.  A  second  output  of  the  deblocking  filter  265  is  connected  in  signal  communication  with  a  first  input  of  a  reference  picture  buffer  280.  An  output  of  the  reference  picture  buffer  280  is  connected  in  signal  communication  with  a  second  input  of  a  motion  compensator  270.  
A  second  output  of  the  entropy  decoder  245  is  connected  in  signal  
communication  with  a  third  input  of  the  motion  compensator  270  and  a  first  input  of  the  deblocking  filter  265.  A  third  output  of  the  entropy  decoder  245  is  connected  in  signal  communication  with  an  input  a  decoder  controller  205.  A  first  output  of  the  decoder  controller  205  is  connected  in  signal  communication  with  a  second  input  of  the  entropy  decoder  245.  A  second  output  of  the  decoder  controller  205  is  connected  in  signal  communication  with  a  second  input  of  the  inverse  transformer  and  inverse  quantizer  250.  A  third  output  of  the  decoder  controller  205  is  connected  in  signal  communication  with  a  third  input  of  the  deblocking  filter  265.  A  fourth  output  of  the  decoder  controller  205  is  connected  in  signal  communication  with  a  second  input  of  the  intra  prediction  module  260,  with  a  first  input  of  the  motion  compensator  270,  and  with  a  second  input  of  the  reference  picture  buffer  280.  
An  output  of  the  motion  compensator  270  is  connected  in  signal  
communication  with  a  first  input  of  a  switch  297.  An  output  of  the  intra  prediction  module  260  is  connected  in  signal  communication  with  a  second  input  of  the  switch  297.  An  output  of  the  switch  297  is  connected  in  signal  communication  with  a  first  non-inverting  input  of  the  combiner  225.  
An  input  of  the  input  buffer  210  is  available  as  an  input  of  the  decoder  200,  for  receiving  an  input  bitstream.  A  first  output  of  the  deblocking  filter  265  is  available  as  an  output  of  the  decoder  200,  for  outputting  an  output  picture.
BRIEF  SUMMARY  OF  THE  INVENTION  
These  and  other  drawbacks  and  disadvantages  of  the  prior  art  are  addressed  by  the  present  principles,  which  are  directed  to  methods  and  apparatus  for  video  coding  using  prediction  data  refinement.  
According  to  an  aspect  of  the  present  principles,  there  is  provided  an  apparatus.  The  apparatus  includes  an  encoder  for  encoding  an  image  region  of  a  picture.  The  encoder  has  a  prediction  refinement  filter  for  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region.  The  prediction  refinement  filter  refines  the  inter  prediction  for  the  image  region  using  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.  
According  to  another  aspect  of  the  present  principles,  there  is  provided  a  method.  The  method  includes  encoding  an  image  region  of  a  picture  using  a  prediction  refinement  filter  to  refine  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region.  The  prediction  refinement  filter  refines  the  inter  prediction  for  the  image  region  using  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.  
According  to  yet  another  aspect  of  the  present  principles,  there  is  provided  an  apparatus.  The  apparatus  includes  a  decoder  for  decoding  an  image  region  of  a  picture.  The  decoder  has  a  prediction  refinement  filter  for  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region.  The  prediction  refinement  filter  refines  the  inter  prediction  for  the  image  region  using  previously  decoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.  
According  to  a  further  aspect  of  the  present  principles,  there  is  provided  a  method.  The  method  includes  decoding  an  image  region  of  a  picture  using  a  prediction  refinement  filter  to  refine  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region.  The  prediction  refinement  filter  refines  the  inter  prediction  for  the  image  region  using  previously  decoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.  
BRIEF  DESCRIPTION  OF  THE  DRAWINGS  
FIG.  1  shows  a  block  diagram  for  a  video  encoder  capable  of  performing  video  encoding  in  accordance  with  the  MPEG-4  AVC  Standard;  
FIG.  2  shows  a  block  diagram  for  a  video  decoder  capable  of  performing  video  decoding  in  accordance  with  the  MPEG-4  AVC  Standard;  
FIG.  3  shows  a  block  diagram  for  a  video  encoder  capable  of  performing  video  encoding  in  accordance  with  the  MPEG-4  AVC  Standard,  modified  and/or  extended  for  use  with  the  present  principles,  according  to  an  embodiment  of  the  present  principles;  
FIG.  4  shows  a  block  diagram  for  a  video  decoder  capable  of  performing  video  decoding  in  accordance  with  the  MPEG-4  AVC  Standard,  modified  and/or  extended  for  use  with  the  present  principles,  according  to  an  embodiment  of  the  present  principles;  
FIG.  5A  shows  a  diagram  for  a  current  intra  4x4  block  being  coded  and  the  relevant  causal  neighborhood  used  as  a  reference  for  prediction  refinement,  according  to  an  embodiment  of  the  present  principles;  
FIG.  5B  shows  a  diagram  for  a  current  intra  4x4  block  being  coded  and  the  relevant  non-causal  neighborhood  used  as  a  reference  for  prediction  refinement,  according  to  an  embodiment  of  the  present  principles;  
FIG.  6  shows  a  flow  diagram  for  a  method  for  encoding  image  data  using  prediction  refinement,  according  to  an  embodiment  of  the  present  principles;  
FIG.  7  shows  a  flow  diagram  for  a  method  for  decoding  image  data  using  prediction  refinement,  according  to  an  embodiment  of  the  present  principles;  
FIG.  8  shows  a  block  diagram  for  an  exemplary  apparatus  for  providing  a  prediction  with  refinement,  according  to  an  embodiment  of  the  present  principles;  
FIG.  9  shows  a  flow  diagram  for  an  exemplary  method  for  generating  a  refined  prediction,  according  to  an  embodiment  of  the  present  principles;  and  
FIG.  10  shows  a  diagram  for  an  exemplary  set  of  concentric  pixel  layers  in  a  macroblock  under  refinement,  according  to  an  embodiment  of  the  present  principles.
DETAILED  DESCRIPTION  
These  and  other  aspects,  features  and  advantages  of  the  present  principles  will  become  apparent  from  the  following  detailed  description  of  exemplary  embodiments,  which  is  to  be  read  in  connection  with  the  accompanying  drawings.
The  present  principles  may  be  better  understood  in  accordance  with  the  following  exemplary  figures.
The  present  principles  are  directed  to  methods  and  apparatus  for  video  coding  using  prediction  data  refinement.  
The  present  description  illustrates  the  present  principles.  It  will  thus  be  appreciated  that  those  skilled  in  the  art  will  be  able  to  devise  various  arrangements  that,  although  not  explicitly  described  or  shown  herein,  embody  the  present  principles  and  are  included  within  its  spirit  and  scope.  
All  examples  and  conditional  language  recited  herein  are  intended  for  pedagogical  purposes  to  aid  the  reader  in  understanding  the  present  principles  and  the  concepts  contributed  by  the  inventor(s)  to  furthering  the  art,  and  are  to  be  construed  as  being  without  limitation  to  such  specifically  recited  examples  and  conditions.  
Moreover,  all  statements  herein  reciting  principles,  aspects,  and  
embodiments  of  the  present  principles,  as  well  as  specific  examples  thereof,  are  intended  to  encompass  both  structural  and  functional  equivalents  thereof.  
Additionally,  it  is  intended  that  such  equivalents  include  both  currently  known  equivalents  as  well  as  equivalents  developed  in  the  future,  i.e.,  any  elements  developed  that  perform  the  same  function,  regardless  of  structure.  
Thus,  for  example,  it  will  be  appreciated  by  those  skilled  in  the  art  that  the  block  diagrams  presented  herein  represent  conceptual  views  of  illustrative  circuitry  embodying  the  present  principles.  Similarly,  it  will  be  appreciated  that  any  flow  charts,  flow  diagrams,  state  transition  diagrams,  pseudocode,  and  the  like  represent  various  processes  which  may  be  substantially  represented  in  computer  readable  media  and  so  executed  by  a  computer  or  processor,  whether  or  not  such  computer  or  processor  is  explicitly  shown.  
The  functions  of  the  various  elements  shown  in  the  figures  may  be  provided  through  the  use  of  dedicated  hardware  as  well  as  hardware  capable  of  executing  software  in  association  with  appropriate  software.  When  provided  by  a  processor,  the  functions  may  be  provided  by  a  single  dedicated  processor,  by  a  single  shared  processor,  or  by  a  plurality  of  individual  processors,  some  of  which  may  be  shared.  Moreover,  explicit  use  of  the  term  "processor"  or  "controller"  should  not  be  construed  to  refer  exclusively  to  hardware  capable  of  executing  software,  and  may  implicitly  include,  without  limitation,  digital  signal  processor  ("DSP")  hardware,  read-only  memory  ("ROM")  for  storing  software,  random  access  memory  ("RAM"),  and  non-volatile  storage.  
Other  hardware,  conventional  and/or  custom,  may  also  be  included.  
Similarly,  any  switches  shown  in  the  figures  are  conceptual  only.  Their  function  may  be  carried  out  through  the  operation  of  program  logic,  through  dedicated  logic,  through  the  interaction  of  program  control  and  dedicated  logic,  or  even  manually,  the  particular  technique  being  selectable  by  the  implementer  as  more  specifically  understood  from  the  context.  
In  the  claims  hereof,  any  element  expressed  as  a  means  for  performing  a  specified  function  is  intended  to  encompass  any  way  of  performing  that  function  including,  for  example,  a)  a  combination  of  circuit  elements  that  performs  that  function  or  b)  software  in  any  form,  including,  therefore,  firmware,  microcode  or  the  like,  combined  with  appropriate  circuitry  for  executing  that  software  to  perform  the  function.  The  present  principles  as  defined  by  such  claims  reside  in  the  fact  that  the  functionalities  provided  by  the  various  recited  means  are  combined  and  brought  together  in  the  manner  which  the  claims  call  for.  It  is  thus  regarded  that  any  means  that  can  provide  those  functionalities  are  equivalent  to  those  shown  herein.  
Reference  in  the  specification  to  "one  embodiment"  or  "an  embodiment"  of  the  present  principles  means  that  a  particular  feature,  structure,  characteristic,  and  so  forth  described  in  connection  with  the  embodiment  is  included  in  at  least  one  embodiment  of  the  present  principles.  Thus,  the  appearances  of  the  phrase  "in  one  embodiment"  or  "in  an  embodiment"  appearing  in  various  places  throughout  the  specification  are  not  necessarily  all  referring  to  the  same  embodiment.  
As  used  herein,  "high  level  syntax"  refers  to  syntax  present  in  the  bitstream  that  resides  hierarchically  above  the  macroblock  layer.  For  example,  high  level  syntax,  as  used  herein,  may  refer  to,  but  is  not  limited  to,  syntax  at  the  slice  header  level,  Supplemental  Enhancement  Information  (SEI)  level,  picture  parameter  set  level,  sequence  parameter  set  level  and  NAL  unit  header  level.  
The  phrase  "image  data"  is  intended  to  refer  to  data  corresponding  to  any  of  still  images  and  moving  images  (i.e.,  a  sequence  of  images  including  motion).  
The  term  "inpainting"  refers  to  a  technique  that,  using  neighboring  available  data,  estimates,  interpolates  and/or  predicts  data  and/or  components  of  data  that  are  partially  or  totally  missing  in  an  image.  
The  phrase  "sparsity  based  inpainting"  refers  to  a  particular  embodiment  of  an  "inpainting"  technique  where  sparsity  based  principles  are  used  to  estimate,  interpolate  and/or  predict  data  and/or  components  of  data  that  are  partially  or  totally  missing  in  an  image.  
The  phrases  "causal  data  neighborhood"  and  "non-causal  data  neighborhood"  respectively  refer  to  a  data  neighborhood  including  previously  processed  data  in  a  picture  according  to  regular  scanning  order  (e.g.,  raster-scan  and/or  zig-zag  scan  in  the  MPEG-4  AVC  Standard),  and  to  a  data  neighborhood  comprising  at  least  some  data  proceeding  from  regions  located  in  a  posterior  position  with  respect  to  the  current  data  according  to  a  regular  scanning  order  (e.g.  raster-scan  and/or  zig-zag  scan  in  H.264/AVC).  An  example  of  causal  scanning  order  is  provided  with  respect  to  FIG.  5A.  An  example  of  non-causal  scanning  order  is  provided  with  respect  to  FIG.  5B.  
It  is  to  be  appreciated  that  the  use  of  the  term  "and/or",  for  example,  in  the  case  of  "A  and/or  B",  is  intended  to  encompass  the  selection  of  the  first  listed  option  (A),  the  selection  of  the  second  listed  option  (B),  or  the  selection  of  both  options  (A  and  B).  As  a  further  example,  in  the  case  of  "A,  B,  and/or  C",  such  phrasing  is  intended  to  encompass  the  selection  of  the  first  listed  option  (A),  the  selection  of  the  second  listed  option  (B),  the  selection  of  the  third  listed  option  (C),  the  selection  of  the  first  and  the  second  listed  options  (A  and  B),  the  selection  of  the  first  and  third  listed  options  (A  and  C),  the  selection  of  the  second  and  third  listed  options  (B  and  C),  or  the  selection  of  all  three  options  (A  and  B  and  C).  This  may  be  extended,  as  readily  apparent  by  one  of  ordinary  skill  in  this  and  related  arts,  for  as  many  items  listed.  
Moreover,  it  is  to  be  appreciated  that  while  one  or  more  embodiments  of  the  present  principles  are  described  herein  with  respect  to  the  MPEG-4  AVC  standard,  the  present  principles  are  not  limited  to  solely  this  standard  and,  thus,  may  be  utilized  with  respect  to  other  video  coding  standards,  recommendations,  and  extensions  thereof,  including  extensions  such  as  multi-view  (and  non-multi-view)  extensions  of  the  MPEG-4  AVC  standard,  while  maintaining  the  spirit  of  the  present  principles.  
Further,  it  is  to  be  appreciated  that  the  present  principles  may  be  used  with  respect  to  any  video  coding  strategy  that  uses  prediction  including,  but  not  limited  to,  predictive  video  coding,  multi-view  video  coding,  scalable  video  coding,  and  so  forth.
Turning  to  FIG.  3,  a  video  encoder  capable  of  performing  video  encoding  in  accordance  with  the  MPEG-4  AVC  standard,  modified  and/or  extended  for  use  with  the  present  principles,  is  indicated  generally  by  the  reference  numeral  300.  
The  video  encoder  300  includes  a  frame  ordering  buffer  310  having  an  output  in  signal  communication  with  a  non-inverting  input  of  a  combiner  385.  An  output  of  the  combiner  385  is  connected  in  signal  communication  with  a  first  input  of  a  transformer  and  quantizer  325.  An  output  of  the  transformer  and  quantizer  325  is  connected  in  signal  communication  with  a  first  input  of  an  entropy  coder  345  and  a  first  input  of  an  inverse  transformer  and  inverse  quantizer  350.  An  output  of  the  entropy  coder  345  is  connected  in  signal  communication  with  a  first  non-inverting  input  of  a  combiner  390.  An  output  of  the  combiner  390  is  connected  in  signal  communication  with  a  first  input  of  an  output  buffer  335.  
A  first  output  of  an  encoder  controller  305  is  connected  in  signal  
communication  with  a  second  input  of  the  frame  ordering  buffer  310,  a  second  input  of  the  inverse  transformer  and  inverse  quantizer  350,  an  input  of  a  picture-type  decision  module  315,  an  input  of  a  macroblock-type  (MB-type)  decision  module  320,  a  second  input  of  an  intra  prediction  module  360,  a  second  input  of  a  deblocking  filter  365,  a  first  input  of  a  motion  compensator  370,  a  first  input  of  a  motion  estimator  375,  a  second  input  of  a  reference  picture  buffer  380,  and  a  first  input  of  a  prediction  refinement  filter  333.  
A  second  output  of  the  encoder  controller  305  is  connected  in  signal  communication  with  a  first  input  of  a  Supplemental  Enhancement  Information  (SEl)  inserter  330,  a  second  input  of  the  transformer  and  quantizer  325,  a  second  input  of  the  entropy  coder  345,  a  second  input  of  the  output  buffer  335,  and  an  input  of  the  Sequence  Parameter  Set  (SPS)  and  Picture  Parameter  Set  (PPS)  inserter  340.  
A  first  output  of  the  picture-type  decision  module  315  is  connected  in  signal  communication  with  a  third  input  of  a  frame  ordering  buffer  310.  A  second  output  of  the  picture-type  decision  module  315  is  connected  in  signal  communication  with  a  second  input  of  a  macroblock-type  decision  module  320.  
An  output  of  the  Sequence  Parameter  Set  (SPS)  and  Picture  Parameter  Set  (PPS)  inserter  340  is  connected  in  signal  communication  with  a  third  non-inverting  input  of  the  combiner  390.  
An  output  of  the  inverse  quantizer  and  inverse  transformer  350  is  connected  in  signal  communication  with  a  first  non-inverting  input  of  a  combiner  319.  An  output  of  the  combiner  319  is  connected  in  signal  communication  with  a  first  input  of  the  intra  prediction  module  360,  a  first  input  of  the  deblocking  filter  365,  and  a  second  input  of  the  prediction  refinement  filter  333.  An  output  of  the  deblocking  filter  365  is  connected  in  signal  communication  with  a  first  input  of  a  reference  picture  buffer  380.  An  output  of  the  reference  picture  buffer  380  is  connected  in  signal  
communication  with  a  second  input  of  the  motion  estimator  375  and  a  third  input  of  the  Motion  Compensation  370.  A  first  output  of  the  motion  estimator  375  is  connected  in  signal  communication  with  a  second  input  of  the  motion  compensator  370.  A  second  output  of  the  motion  estimator  375  is  connected  in  signal  
communication  with  a  third  input  of  the  entropy  coder  345.  
An  output  of  the  motion  compensator  370  is  connected  in  signal  
communication  with  a  first  input  of  a  switch  397.  An  output  of  the  intra  prediction  module  360  is  connected  in  signal  communication  with  a  second  input  of  the  switch  397.  An  output  of  the  macroblock-type  decision  module  320  is  connected  in  signal  communication  with  a  third  input  of  the  switch  397.  The  third  input  of  the  switch  397  determines  whether  or  not  the  "data"  input  of  the  switch  (as  compared  to  the  control  input,  i.e.,  the  third  input)  is  to  be  provided  by  the  motion  compensator  370  or  the  intra  prediction  module  360.  The  output  of  the  switch  397  is  connected  in  signal  communication  with  a  third  input  of  the  prediction  refinement  filter  333.  A  first  output  of  the  prediction  refinement  filter  333  is  connected  in  signal  communication  with  a  second  non-inverting  input  of  the  combiner  319.  A  second  output  of  the  prediction  refinement  filter  333  is  connected  in  signal  communication  with  an  inverting  input  of  the  combiner  385.  
Inputs  of  the  frame  ordering  buffer  310  and  the  encoder  controller  305  are  available  as  input  of  the  encoder  300,  for  receiving  an  input  picture  301.  Moreover,  an  input  of  the  Supplemental  Enhancement  Information  (SEI)  inserter  330  is  available  as  an  input  of  the  encoder  300,  for  receiving  metadata.  An  output  of  the  output  buffer  335  is  available  as  an  output  of  the  encoder  300,  for  outputting  a  bitstream.  
Turning  to  FIG.  4,  a  video  decoder  capable  of  performing  video  decoding  in  accordance  with  the  MPEG-4  AVC  standard,  modified  and/or  extended  for  use  with  the  present  principles,  is  indicated  generally  by  the  reference  numeral  400.  
The  video  decoder  400  includes  an  input  buffer  410  having  an  output  connected  in  signal  communication  with  a  first  input  of  the  entropy  decoder  445.  A  first  output  of  the  entropy  decoder  445  is  connected  in  signal  communication  with  a  first  input  of  an  inverse  transformer  and  inverse  quantizer  450.  An  output  of  the  inverse  transformer  and  inverse  quantizer  450  is  connected  in  signal  communication  with  a  second  non-inverting  input  of  a  combiner  425.  An  output  of  the  combiner  425  is  connected  in  signal  communication  with  a  second  input  of  a  deblocking  filter  465,  a  first  input  of  an  intra  prediction  module  460,  and  a  third  input  of  a  prediction  refinement  filter  433.  A  second  output  of  the  deblocking  filter  465  is  connected  in  signal  communication  with  a  first  input  of  a  reference  picture  buffer  480.  An  output  of  the  reference  picture  buffer  480  is  connected  in  signal  communication  with  a  second  input  of  a  motion  compensator  470.  
A  second  output  of  the  entropy  decoder  445  is  connected  in  signal  
communication  with  a  third  input  of  the  motion  compensator  470,  a  first  input  of  the  deblocking  filter  465,  and  a  fourth  input  of  the  prediction  refinement  filter  433.  A  third  output  of  the  entropy  decoder  445  is  connected  in  signal  communication  with  an  input  a  decoder  controller  405.  A  first  output  of  the  decoder  controller  405  is  connected  in  signal  communication  with  a  second  input  of  the  entropy  decoder  445.  A  second  output  of  the  decoder  controller  405  is  connected  in  signal  communication  with  a  second  input  of  the  inverse  transformer  and  inverse  quantizer  450.  A  third  output  of  the  decoder  controller  405  is  connected  in  signal  communication  with  a  third  input  of  the  deblocking  filter  465.  A  fourth  output  of  the  decoder  controller  405  is  connected  in  signal  communication  with  a  second  input  of  the  intra  prediction  module  460,  with  a  first  input  of  the  motion  compensator  470,  with  a  second  input  of  the  reference  picture  buffer  480,  and  with  a  first  input  of  the  prediction  refinement  filter  433.  
An  output  of  the  motion  compensator  470  is  connected  in  signal  
communication  with  a  first  input  of  a  switch  497.  An  output  of  the  intra  prediction  module  460  is  connected  in  signal  communication  with  a  second  input  of  the  switch  497.  An  output  of  the  switch  497  is  connected  in  signal  communication  with  a  second  input  of  the  prediction  refinement  filter  433.  An  output  of  the  prediction  refinement  filter  433  is  connected  in  signal  communication  with  a  first  non-inverting  input  of  the  combiner  425.  
An  input  of  the  input  buffer  410  is  available  as  an  input  of  the  decoder  400,  for  receiving  an  input  bitstream.  A  first  output  of  the  deblocking  filter  465  is  available  as  an  output  of  the  decoder  400,  for  outputting  an  output  picture.  
As  noted  above,  the  present  principles  are  directed  to  methods  and  apparatus  for  video  coding  using  prediction  data  refinement.  
In  an  embodiment,  an  adaptive  filter  is  used  for  predictive  video  coding  and/or  decoding.  The  adaptive  filter  may  be  implemented  in  the  encoding  and/or  decoding  loops  to  enhance  and/or  otherwise  refine  prediction  data.  In  an  embodiment,  we  apply  the  adaptive  filter  after  the  prediction  stage  and  prior  to  the  generation  of  an  error  residual.  
In  an  embodiment,  sparsity  based  inpainting  techniques  may  be  used  in  order  to  filter  the  data  generated  at  the  prediction  step.  In  the  event  that  any  of  the  possible  prediction  modes  generates  a  prediction  that  is  sufficiently  accurate  (for  example,  per  pre-defined  criteria),  a  filter  using  already  decoded  data  and  applied  to  the  selected  prediction  in  accordance  with  an  embodiment  of  the  present  principles  can  refine  the  predicted  data  such  that  a  smaller  residual  error  is  generated,  thus  potentially  reducing  the  amount  of  information  required  for  residual  coding  and/or  increasing  the  fidelity  of  the  predicted  data.  
In  the  prior  art  of  video  coding,  data  predicted  during  the  mode  selection  and  prediction  stage  of  a  video  encoder/decoder  paradigm  is  used  directly  in  the  generation  of  the  prediction  residual.  Also,  the  prior  art  in  the  recovery  of  missing  image  regions  (e.g.,  inpainting)  suggests  that  certain  de-noising  techniques  can  be  used  for  such  a  purpose.  Instead,  in  an  embodiment  of  the  present  principles,  we  propose  to  use  a  filter  on  the  predicted  data  in  order  to  refine  it  further,  previous  to  the  generation  of  the  prediction  residual  which  can  be  a  de-noising  based  technique  for  the  recovery  of  partially  missing  data.  In  an  embodiment,  the  proposed  approach  could  be  used  to  enhance/refine  the  prediction  obtained  from  a  prediction  mode.  In  an  embodiment,  the  use  of  a  refining  filter  after  prediction  (and  before  the  residual  error  is  generated)  is  proposed  for  video  coding  algorithms.  
The  present  principles  make  use  of  the  fact  that  the  decoded  data  available  at  the  receiver  (for  example,  from  neighboring  blocks,  frames,  and/or  pictures)  could  be  used  to  refine  predicted  data  before  the  residual  error  is  produced.
INTRA  PREDICTION  REFINEMENT  
An  embodiment  (hereinafter  "intra  prediction  embodiment")  directed  to  intra  prediction  will  now  be  described.  It  is  to  be  appreciated  that  the  intra  prediction  embodiment  is  described  herein  for  the  sake  of  illustration  and,  thus,  it  is  to  be  appreciated  that  given  the  teachings  of  the  present  principles  provided  herein,  one  of  ordinary  skill  in  this  and  related  arts  will  contemplate  various  modifications  and  variations  of  the  present  principles  with  respect  to  intra  prediction,  while  maintaining  the  spirit  of  the  present  principles.  
The  proposed  approach  for  intra  prediction  involves  an  in-loop  intra-coding  refinement  process  that  improves  the  prediction  accuracy  of  existing  intra  coding  modes.  Standard  intra-coding  methods,  which  are  typically  inherently  low-pass  operations,  are  generally  unable  to  effectively  predict  high  frequency  content.  In  an  embodiment,  we  refine  an  existing  prediction,  obtained  through  standard  intra  prediction,  taking  into  account  the  samples  on  the  surrounding  blocks.  In  classic  intra-prediction,  as  used  in,  for  example,  the  MPEG-4  AVC  Standard,  only  the  first  layer  of  pixels  from  neighboring  blocks  is  used  to  compute  pixels  prediction  in  a  current  block.  This  implies  that  no  information  about  the  structure  or  texture  of  the  signal  in  neighboring  blocks  is  available  for  prediction.  Hence,  for  example,  one  cannot  predict  the  possible  texture  of  the  current  block  from  such  neighbor  information  or  possible  luminance  gradients.  In  an  embodiment,  a  higher  number  of  pixels  than  those  involved  in  a  prediction  corresponding  to  MPEG-4  AVC  Standard  are  used  from  surrounding  (i.e.,  neighboring)  blocks.  This  allows  an  improvement  to  the  prediction  in  the  current  block  as  it  is  able  to  take  into  account,  for  example,  information  related  to  texture.  As  a  consequence,  the  proposed  intra  prediction  refinement  procedure  is  able  to  enhance  the  prediction  of  high  frequency  or  structured  content  in  the  current  block.  
The  new  intra-prediction  refinement  method  inserts  a  refinement  step  between  the  prediction  mode  selection  process  and  the  computation  of  the  residual  error.  On  an  intra-predicted  macroblock,  an  embodiment  of  the  present  principles  may  involve  the  following  steps:
(1)  Perform  intra-prediction  using  all  intra-prediction  modes  available  (e.g.,  4x4,  8x8  and  16x16)  and  select  the  best  intra-prediction  mode  (e.g.,  in  a  rate  distortion  sense).  
(2)  Use  the  prediction  result  to  initialize  a  prediction  refinement  algorithm.  
(3)  Apply  the  prediction  refinement  algorithm.  
(4)  Determine  whether  or  not  the  refinement  process  improves  the  prediction  of  the  current  block  (e.g.,  in  a  rate  distortion  sense).  
(5)  If  there  is  improvement,  then  the  prediction  obtained  at  the  output  of  the  refinement  algorithm  is  used  instead  of  the  "classic"  intra  prediction  from  the  MPEG-4  AVC  Standard  for  that  mode  and  block.
The  necessary  information  regarding  the  intra-prediction  refinement  process  could  be  transmitted  to  the  decoder  using,  for  example,  a  syntax  which  can  be  embedded  at,  for  example,  a  sub-macroblock,  macroblock  or  higher  syntax  level.  
As  an  enhancement  to  the  method  described  above,  we  adapt  the  refinement  to  the  availability  of  neighboring  decoded  data.  For  example,  in  an  embodiment  directed  to  the  MPEG-4  AVC  Standard,  the  causal  nature  of  decoded  neighborhoods  is  taken  into  account.  In  the  case  of  a  4x4  prediction  mode,  for  example,  the  neighborhood  used  to  refine  the  prediction  of  the  current  block  is  the  causal  neighborhood  surrounding  the  current  block  (see  FIG.  5B).  
Turning  to  FIG.  5B,  a  diagram  for  a  current  intra  4x4  block  being  coded  and  the  relevant  neighborhood  for  inpainting  is  indicated  generally  by  the  reference  numeral  500.  In  particular,  the  current  4x4  block  is  indicated  by  reference  numeral  510,  the  relevant  neighborhood  blocks  are  indicated  by  the  reference  numerals  520,  and  the  non-relevant  neighborhood  block  is  indicated  by  the  reference  numeral  530.
The  prediction  refinement  approach  may  be  described  to  include  the  following.  
The  prediction  refinement  approach  involves  determining  and/or  deriving  a  starting  threshold  T0.  This  can  be  implicitly  derived  based  on  some  statistics  of  the  surrounding  decoded  data  and/or  pixels  neighborhood  and/or  based  on  the  coding  quality  or  quantization  step  used  during  the  coding  process.  Also,  the  starting  threshold  may  be  explicitly  transmitted  to  the  decoder  using  a  syntax  level.  Indeed,  a  macroblock  level  or  high  level  syntax  may  be  used  to  place  such  information.  
The  prediction  refinement  approach  also  involves  determining  a  final  threshold  Tf  and/or  the  maximum  number  of  iterations  to  be  performed  on  every  block  for  a  maximum  refinement  performance.  The  threshold  and/or  maximum  number  of  iterations  may  be  derived  based  on  some  statistics  of  the  surrounding  decoded  neighborhood  and/or  based  on  the  coding  quality  or  quantization  step  used  during  the  coding  procedure.  The  final  threshold  may  be  transmitted  to  the  decoder,  for  example,  using  a  high  level  syntax.  The  high  level  syntax  may  be  placed,  for  example,  at  a  macroblock,  a  slice,  a  picture  and/or  a  sequence  level.  
In  an  embodiment  of  the  prediction  refinement  enabled  video  encoder  and/or  decoder,  one  can  use  a  de-noising  algorithm  to  perform  prediction  refinement.  A  particular  embodiment  of  the  prediction  refinement  filter  may  involve  the  following  steps:
1)  T  =  T0 
2)  Decompose  the  current  block  into  L  layers.  
3)  Initialize  the  layer  pixels  with  the  intra  predicted  values  for  the  
current  block.  
4)  While  T  >  Tf  and/or  the  number  of  iterations  performed  <  
maximum.  
a)  For  i=1  ,...,L  (with  L  being  the  inner-most  layer)  
i.  Find  all  Discrete  Cosine  Transform  (DCT)  
blocks  that  overlap  layers  i,...,  L  by  50%  or  
less,  but  not  0%  
ii.  Hard  threshold  the  coefficients  using  
threshold  T.  
iii.  Inverse  transform  and  update  the  pixels  in  
layer  i  by  averaging  the  over  complete  
inverse  transforms  that  overlap  the  relevant  
part  of  the  layer.  
b)  T  =  T-ΔT,
This  particular  embodiment  is  iterative  in  nature.  However,  it  is  to  be  appreciated  that  other  embodiments  of  the  present  principles  may  be  implemented  to  run  in  a  single  iteration.  
Thus,  in  an  embodiment,  image  inpainting  techniques  are  proposed  for  use  as  an  in-loop  refinement  component  for  video  compression  applications.  In  an  embodiment,  a  refinement  step  after  prediction  (and  prior  to  residual  error  generation)  is  proposed  for  enhanced  coding  performance.  In  an  embodiment,  the  use  of  de-noising-based  inpainting  techniques  is  proposed  for  such  a  prediction  refinement.
INTER-PREDICTION  REFINEMENT  
Given  the  teachings  of  the  present  principles  provided  herein,  it  is  to  be  appreciated  that  the  intra-prediction  refinement  approach  described  above  is  readily  extended  for  use  in  inter-prediction  refinement  by  one  of  ordinary  skill  in  this  and  related  arts,  while  maintaining  the  spirit  of  the  present  principles.  It  should  be  further  appreciated  that  inter-prediction  refinement  may  involve  tuning  of  the  refinement  process  depending  on  the  Motion  Compensated  prediction  mode  and/or  Motion  Compensation  (MC)  prediction  data  (e.g.  thresholds  adaptation  and/or  iteration  number  setting  and/or  refinement  enable)  depending  on  the  motion  compensation  modes  and/or  motion  compensation  data  (motion  vectors,  reference  frames)  and  their  relation  with  neighboring  blocks.  
In  an  embodiment,  the  refinement  step  could  be  applied  to  inter  data  as  a  second  pass  refinement  step  on  selected  blocks  or  macroblocks  after  all  
macroblocks  have  followed  a  first  encoding  process.  This  can  be  considered  when  inter  frames  are  coded.  In  an  embodiment,  during  the  second  encoding  pass,  selected  blocks,  macroblocks  and/or  regions  can  use  the  additional  step  of  prediction  refinement  using,  if  desired,  a  non-causal  data  neighborhood  (see  FIG.  5A).  Turning  to  FIG.  5B,  a  diagram  for  a  current  intra  4x4  block  being  coded  and  the  relevant  non-causal  neighborhood  for  inpainting  is  indicated  generally  by  the  reference  numeral  550.  In  particular,  the  current  4x4  block  is  indicated  by  reference  numeral  560,  the  relevant  neighborhood  blocks  are  indicated  by  the  reference  numerals  570.  
The  refinement  step  can  be  applied  to  any  region  shape  or  size  of  the  picture,  e.g.  sub-blocks,  macroblocks  or  to  a  compound  region  made  of  the  union  of  sub-blocks  and/or  macroblocks.  Then,  the  final  residual  error  to  be  encoded  is  generated,  taking  into  account  the  additional  refinement  step  on  the  prediction.  
An  exemplary  macroblock  header  in  accordance  with  an  embodiment  of  the  present  principles  is  shown  in  TABLE  1.  
TABLE  1
2013258771.tif 000015
Turning  to  FIG.  6,  a  method  for  encoding  image  data  using  prediction  refinement  is  indicated  generally  by  the  reference  numeral  600.  In  the  particular  example  of  FIG.  6,  only  macroblock-wise  adaptivity  for  the  use  or  not  of  prediction  refinement  is  considered  for  the  sake  of  simplicity.  
The  method  600  includes  a  start  block  605  that  passes  control  to  a  function  block  610.  The  function  block  610  performs  intra  prediction  and  selects  the  best  intra  prediction  mode,  records  a  measure  of  the  distortion  as  D_intra,  and  passes  control  to  a  function  block  615.  The  function  block  615  performs  a  prediction  refinement  on  intra  predicted  data,  records  the  distortion  measure  as  D_refinement,  and  passes  control  to  a  decision  block  620.  The  decision  block  620  determines  whether  or  not  D_refinement  plus  the  addition  of  a  measure  of  coding  costs  of  intra  mode  (intra_cost)  and  refinement  selection  costs  (refinement_cost)  is  less  than  D_intra  plus  the  addition  of  a  measure  of  coding  costs  of  intra  mode  (intra_cost).  If  so,  then  control  is  passed  to  a  function  block  625.  Otherwise,  control  is  passed  to  a  function  block  630.  
The  function  block  625  sets  prediction_refinement_flag  equal  to  one,  and  passes  control  to  a  function  block  635.  
The  function  block  630  sets  prediction_refinement_flag  equal  to  zero,  and  passes  control  to  the  function  block  632.  
The  function  block  632  discards  the  obtained  refinement  of  the  prediction,  and  passes  control  to  the  function  block  635.  
The  function  block  635  computes  the  residue  and  entropy  codes  the  current  macroblock,  and  passes  control  to  an  end  block  699.  
Turning  to  FIG.  7,  a  method  for  decoding  image  data  using  prediction  refinement  is  indicated  generally  by  the  reference  numeral  700.  
The  method  700  includes  a  start  block  705  that  passes  control  to  a  function  block  710.  The  function  block  710  parses  the  bitstream  and  gets  (determines)  an  intra  prediction  mode  and  prediction_refinement_flag,  and  passes  control  to  a  function  block  715.  The  function  block  715  performs  intra  prediction,  and  passes  control  to  a  decision  block  720.  The  decision  block  720  determines  whether  or  not  prediction_refinement_flag  is  equal  to  one.  If  so,  then  control  is  passed  to  a  function  block  725.  Otherwise,  control  is  passed  to  a  function  block  730.  
The  function  block  725  performs  prediction  refinement  on  intra  predicted  data,  and  passes  control  to  the  function  block  730.  
The  function  block  730  adds  the  residue  and  reconstructs  the  current  macroblock,  and  passes  control  to  an  end  block  799.  
Turning  to  FIG.  8,  an  exemplary  apparatus  for  providing  a  prediction  with  refinement  is  indicated  generally  by  the  reference  numeral  800.  The  apparatus  800  may  be  implemented  to  include,  for  example,  prediction  refinement  filter  333  and/or  prediction  refinement  filter  433  of  FIG.  3  and  FIG.  4,  respectively.  
The  apparatus  800  includes  an  intra-prediction  module  805  having  an  output  connected  in  signal  communication  with  a  first  input  of  a  prediction  selector  and/or  blender  815.  An  output  of  the  prediction  selector  and/or  blender  815  is  connected  in  signal  communication  with  a  first  input  of  a  refinement  calculator  820,  a  first  input  of  a  prediction  selector  and/or  blender  825,  a  first  input  of  an  initial  threshold  estimator  830,  and  a  first  input  of  a  final  threshold  estimator  835.  An  output  of  the  refinement  calculator  820  is  connected  in  signal  communication  with  a  second  input  of  the  prediction  selector  and/or  blender  825.  
An  output  of  an  inter  prediction  module  810  is  connected  in  signal  
communication  with  a  second  input  of  the  prediction  selector  and/or  blender  815.  
An  output  of  the  initial  threshold  estimator  830  is  connected  in  signal  communication  with  a  second  input  of  the  refinement  calculator  820  and  a  first  input  of  a  number  of  iterations  calculator  840.  
An  output  of  the  final  threshold  estimator  835  is  connected  in  signal  communication  with  a  second  input  of  the  number  of  iterations  calculator  840  and  a  third  input  of  the  refinement  calculator  820.  
An  output  of  the  number  of  iterations  calculator  840  is  connected  in  signal  communication  with  a  fourth  input  of  the  refinement  calculator  820.  
An  input  of  the  intra  prediction  module  805,  an  input  of  the  initial  threshold  estimator  830,  and  an  input  of  the  final  threshold  estimator  835  are  available  as  inputs  of  the  apparatus  800,  for  receiving  already  decoded  data  in  the  current  picture.  
An  input  of  the  inter  prediction  module  810,  the  second  input  of  the  initial  threshold  estimator  830,  and  a  second  input  of  the  final  threshold  estimator  835  are  available  as  inputs  of  the  apparatus  800,  for  receiving  already  decoded  pictures.  
A  fourth  input  of  the  initial  threshold  estimator  830,  a  fourth  input  of  the  final  threshold  estimator  835,  and  a  third  input  of  the  number  of  iterations  calculator  840  are  available  as  input  of  the  apparatus  800,  for  receiving  control  parameters.  
An  output  of  the  prediction  selector  and/or  blender  825  is  available  as  an  output  of  the  apparatus  800,  for  outputting  a  refined  prediction.  
The  refinement  calculator  820,  the  initial  threshold  estimator  830,  the  final  threshold  estimator  835,  the  number  of  iterations  calculator  840,  and  the  prediction  selector  and/or  blender  825  are  part  of  a  refinement  module  877  that,  in  turn,  is  part  of  the  apparatus  800.  
Turning  to  FIG.  9,  an  exemplary  method  for  generating  a  refined  prediction  is  indicated  generally  by  the  reference  numeral  900.  The  method  900  may  be  considered  to  include  a  prediction  portion  represented  by  function  block  910  and  a  refinement  portion  represented  by  blocks  915  through  970.  The  refinement  portion  is  also  indicated  by  the  reference  numeral  966.  
The  method  900  includes  a  start  block  905  that  passes  control  to  a  function  block  910.  The  function  block  910  performs  a  prediction  step(s),  for  example,  based  on  the  MPEG-4  AVC  Standard,  and  passes  control  to  a  decision  block  915.  The  decision  block  915  determines  whether  or  not  to  use  a  refinement  for  the  prediction.  If  so,  then  control  is  passed  to  a  function  block  920.  Otherwise,  control  is  passed  to  an  end  block  999.  
The  function  block  920  performs  a  decomposition  of  the  current  predicted  block  on  layers  of  pixels,  and  passes  control  to  a  loop  limit  block  925.  The  loop  limit  block  925  performs  a  loop  over  each  layer  I  of  the  current  block,  and  passes  control  to  a  function  block  930.  The  function  block  930  sets  a  threshold  T  equal  to  T_start,  and  passes  control  to  a  loop  limit  block  935.  The  loop  limit  block  935  performs  a  loop  for  each  iteration,  and  passes  control  to  a  function  block  940.  The  function  block  940  generates  transform  coefficients  of  those  transforms  with  good  overlap  (as  used  herein,  "good  overlap"  refers  to  an  overlap  of  at  least  50%)  with  already  decoded  spatial  neighbors,  and  passes  control  to  a  function  block  945.  The  function  block  945  performs  a  thresholding  operation  on  the  coefficients  (e.g.,  keeping  those  coefficients  which  have  an  amplitude  above  a  given  threshold  value,  and  setting  to  zero  those  that  are  below  such  the  threshold  value),  and  passes  control  to  a  function  block  950.  The  function  block  950  inverse  transforms  the  thresholded  coefficients  of  those  transforms  with  good  overlap  with  already  decoded  spatial  neighbors,  and  passes  control  to  a  function  block  955.  The  function  block  955  restores  the  decoded  pixels  such  that  the  thresholding  operation  does  not  affect  the  decoded  pixels,  and  passes  control  to  a  function  block  960.  The  function  block  960  decreases  the  threshold  T,  and  passes  control  to  a  loop  limit  block  965.  The  loop  limit  block  965  ends  the  loop  over  each  iteration,  and  passes  control  to  a  loop  limit  block  970.  The  loop  limit  block  970  ends  the  loop  over  each  layer  i  of  the  current  predicted  block,  and  passes  control  to  the  end  block  999.  
Turning  to  FIG.  10,  an  exemplary  set  of  concentric  pixel  layers  in  a  
macroblock  under  refinement  is  indicated  generally  by  the  reference  numeral  1000.  The  macroblock  1010  has  a  non-causal  neighborhood  of  macroblocks  1020.  
A  description  will  now  be  given  of  some  of  the  many  attendant  
advantages/features  of  the  present  invention,  some  of  which  have  been  mentioned  above.  For  example,  one  advantage/feature  is  an  apparatus  having  an  encoder  for  encoding  an  image  region  of  a  picture.  The  encoder  has  a  prediction  refinement  filter  for  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region.  The  prediction  refinement  filter  refines  the  inter  prediction  for  the  image  region  using  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.  
Another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  image  region  is  at  least  one  of  a  block,  a  macroblock,  a  union  of  blocks,  and  a  union  of  macroblocks.  
Yet  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  prediction  refinement  filter  is  at  least  one  of  a  linear  type  and  a  non-linear  type  
Still  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  image  region  
corresponds  to  any  of  multi-view  video  content  for  a  same  or  similar  scene,  single-view  video  content,  and  a  scalable  layer  from  a  set  of  scalable  layers  for  the  same  scene.  
Moreover,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  prediction  refinement  filter  is  applied  with  respect  to  an  iterative  noise  reduction  method  and  a  non-iterative  noise  reduction  method.  
Further,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  prediction  refinement  filter  is  applied  with  respect  to  an  iterative  missing  data  estimation  method  and  a  non-iterative  missing  data  estimation  method.  
Also,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  prediction  refinement  filter  is  adaptively  enabled  or  disabled  depending  upon  at  least  one  of  data  characteristics  and  data  statistics  corresponding  to  at  least  one  of  the  image  region  and  neighboring  regions.  
Additionally,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  that  is  adaptively  enabled  or  disabled  as  described  above,  wherein  the  at  least  one  of  data  characteristics  and  data  statistics  comprise  at  least  one  of  coding  modes,  motion  data  and  residue  data.  
Moreover,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  that  is  adaptively  enabled  or  disabled  as  described  above,  wherein  enablement  information  or  disablement  information  for  the  prediction  refinement  filter  is  determined  such  that  at  least  one  of  a  distortion  measure  and  a  coding  cost  measure  is  minimized.  
Further,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  that  is  adaptively  enabled  or  disabled  as  described  above,  wherein  enablement  information  or  disablement  information  for  the  prediction  refinement  filter  is  signaled  using  at  least  one  of  a  sub-block  level  syntax  element,  a  block  level  syntax  element,  a  macroblock  level  syntax  element,  and  high  level  syntax  element.  
Also,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  wherein  enablement  information  or  disablement  information  for  the  prediction  refinement  filter  is  signaled  using  at  least  one  of  a  sub-block  level  syntax  element,  a  block  level  syntax  element,  a  macroblock  level  syntax  element,  and  high  level  syntax  element  as  described  above,  wherein  the  at  least  one  high  level  syntax  element  is  placed  at  at  least  one  of  a  slice  header  level,  a  
Supplemental  Enhancement  Information  (SEI)  level,  a  picture  parameter  set  level,  a  sequence  parameter  set  level  and  a  network  abstraction  layer  unit  header  level.  
Additionally,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  encoder  transmits  side  information  to  adaptively  indicate  parameters  of  the  prediction  refinement  filter  corresponding  to  the  image  block,  the  side  information  being  transmitted  at  at  least  one  of  a  sub-macroblock  level,  a  macroblock  level,  a  slice  level,  a  picture  level,  and  a  sequence  level.  
Moreover,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  wherein  the  encoder  transmits  side  information  as  described  above,  wherein  the  parameters  of  the  prediction  refinement  filter  are  adaptively  indicated  based  at  least  in  part  on  at  least  one  of  data  characteristics  and  data  statistics  corresponding  to  at  least  one  of  the  image  region  and  neighboring  regions.  
Further,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter,  wherein  the  parameters  of  the  prediction  refinement  filter  are  adaptively  indicated  as  described  above,  wherein  the  at  least  one  of  data  characteristics  and  data  statistics  comprise  at  least  one  of  coding  modes,  motion  data,  reconstructed  data,  and  residue  data.  
Also,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  prediction  refinement  filter  is  selectively  applied  in  a  second  pass  encoding  of  the  picture  without  being  applied  in  a  first  pass  encoding  of  the  picture.  
Additionally,  another  advantage/feature  is  the  apparatus  having  the  encoder  with  the  prediction  refinement  filter  as  described  above,  wherein  the  prediction  refinement  filter  refines  the  intra  prediction  for  the  image  region  using  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.  
These  and  other  features  and  advantages  of  the  present  principles  may  be  readily  ascertained  by  one  of  ordinary  skill  in  the  pertinent  art  based  on  the  teachings  herein.  It  is  to  be  understood  that  the  teachings  of  the  present  principles  may  be  implemented  in  various  forms  of  hardware,  software,  firmware,  special  purpose  processors,  or  combinations  thereof.  
Most  preferably,  the  teachings  of  the  present  principles  are  implemented  as  a  combination  of  hardware  and  software.  Moreover,  the  software  may  be  
implemented  as  an  application  program  tangibly  embodied  on  a  program  storage  unit.  The  application  program  may  be  uploaded  to,  and  executed  by,  a  machine  comprising  any  suitable  architecture.  Preferably,  the  machine  is  implemented  on  a  computer  platform  having  hardware  such  as  one  or  more  central  processing  units  ("CPU"),  a  random  access  memory  ("RAM"),  and  input/output  ("I/O")  interfaces.  The  computer  platform  may  also  include  an  operating  system  and  microinstruction  code.  The  various  processes  and  functions  described  herein  may  be  either  part  of  the  microinstruction  code  or  part  of  the  application  program,  or  any  combination  thereof,  which  may  be  executed  by  a  CPU.  In  addition,  various  other  peripheral  units  may  be  connected  to  the  computer  platform  such  as  an  additional  data  storage  unit  and  a  printing  unit.  
It  is  to  be  further  understood  that,  because  some  of  the  constituent  system  components  and  methods  depicted  in  the  accompanying  drawings  are  preferably  implemented  in  software,  the  actual  connections  between  the  system  components  or  the  process  function  blocks  may  differ  depending  upon  the  manner  in  which  the  present  principles  are  programmed.  Given  the  teachings  herein,  one  of  ordinary  skill  in  the  pertinent  art  will  be  able  to  contemplate  these  and  similar  implementations  or  configurations  of  the  present  principles.  
Although  the  illustrative  embodiments  have  been  described  herein  with  reference  to  the  accompanying  drawings,  it  is  to  be  understood  that  the  present  principles  is  not  limited  to  those  precise  embodiments,  and  that  various  changes  and  modifications  may  be  effected  therein  by  one  of  ordinary  skill  in  the  pertinent  art  without  departing  from  the  scope  or  spirit  of  the  present  principles.  All  such  changes  and  modifications  are  intended  to  be  included  within  the  scope  of  the  present  principles  as  set  forth  in  the  appended  claims.  
1.     An  apparatus,  comprising:
an  encoder  for  encoding  an  image  region  of  a  picture,  said  encoder  having  a  filter,  operating  in  a  coding  loop  on  a  prediction  for  an  input  image  region  and  before  a  residual  error  is  generated,  characterized  by  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region,  
wherein,  when  said  filter  refines  the  inter  prediction  for  the  image  region,  said  filter  uses  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region,  and
wherein  said  encoder  further  includes  an  inverse  transformer  and  inverse  quantizer  unit  and  a  combiner,  the  inverse  transformer  and  inverse  quantizer  unit  having  an  output  directly  connected  to  a  first  input  of  the  combiner,  the  combiner  having  a  second  input  directly  connected  to  an  output  of  the  filter,    
wherein  the  encoder  further  comprises  a  deblocking  filter,  and  an  output  of  the  combiner  is  directly  connected  to  both  an  input  of  the  filter  and  an  input  of  the  deblocking  filter.
2.     The  apparatus  of  claim  1,  wherein  the  image  region  corresponds  to  any  of  multi-view  video  content  for  a  same  or  similar  scene,  single-view  video  content,  and  a  scalable  layer  from  a  set  of  scalable  layers  for  the  same  scene.
3.     The  apparatus  of  claim  1,  wherein  said  filter  is  adaptively  enabled  or  disabled  depending  upon  at  least  one  of  data  characteristics  and  data  statistics  corresponding  to  at  least  one  of  the  image  region  and  neighboring  regions;  or
wherein  said  filter  is  selectively  applied  in  a  second  pass  encoding  of  the  picture  without  being  applied  in  a  first  pass  encoding  of  the  picture.
4.     The  apparatus  of  claim  3,  wherein  the  at  least  one  of  data  characteristics  and  data  statistics  comprise  at  least  one  of  coding  modes,  motion  data  and  residue  data.
5.     A  method,  comprising:
encoding  an  image  region  of  a  picture  using  filter,  operating  in  a  coding  loop  on  a  prediction  for  an  input  image  region  and  before  a  residual  error  is  generated,  characterized  by  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region,
wherein,  when  said  filter  refines  the  inter  prediction  for  the  image  region,  said  filter  uses  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region,  and
wherein  said  encoding  step  is  performed  in  an  encoder  that  includes  the  filter,  the  encoder  further  including  an  inverse  transformer  and  inverse  quantizer  unit  and  a  combiner,  the  inverse  transformer  and  inverse  quantizer  unit  having  an  output  directly  connected  to  a  first  input  of  the  combiner,  the  combiner  having  a  second  input  directly  connected  to  an  output  of  the  filter,
wherein  the  encoder  further  comprises  a  deblocking  filter,  and  an  output  of  the  combiner  is  directly  connected  to  both  an  input  of  the  filter  and  an  input  of  the  deblocking  filter.
6.     The  method  of  claim  5,  wherein  the  image  block  corresponds  to  any  of  multi-view  video  content  for  a  same  or  similar  scene,  single-view  video  content,  and  a  scalable  layer  from  a  set  of  scalable  layers  for  the  same  scene.
7.     The  method  of  claim  5,  wherein  the  t  filter  is  adaptively  enabled  or  disabled  depending  upon  at  least  one  of  data  characteristics  and  data  statistics  corresponding  to  the  image  block;  or
wherein  the  filter  is  selectively  applied  in  a  second  pass  encoding  of  the  picture  without  being  applied  in  a  first  pass  encoding  of  the  picture.
8.     The  method  of  claim  7,  wherein  the  at  least  one  of  data  characteristics  and  data  statistics  comprise  at  least  one  of  coding  modes,  motion  data  and  residue  data.
9.     An  apparatus,  comprising:
a  decoder  for  decoding  an  image  region  of  a  picture,  said  decoder  having  a  filter,  operating  in  a  decoding  loop  on  a  prediction  for  an  input  image  region  and  before  a  residual  error  is  added,  characterized  by  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region,
wherein,  when  said  filter  refines  the  inter  prediction  for  the  image  region,  said  filter  uses  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region,  and
wherein  said  decoder  further  includes  an  inverse  transformer  and  inverse  quantizer  unit  and  a  combiner,  the  inverse  transformer  and  inverse  quantizer  unit  having  an  output  directly  connected  to  a  first  input  of  the  combiner,  the  combiner  having  a  second  input  directly  connected  to  an  output  of  the  filter,
wherein  the  decoder  further  comprises  a  deblocking  filter,  and  an  output  of  the  combiner  is  directly  connected  to  both  an  input  of  the  filter  and  an  input  of  the  deblocking  filter.
10.    The  apparatus  of  claim  9,  wherein  said  filter  is  adaptively  enabled  or  disabled  depending  upon  at  least  one  of  data  characteristics  and  data  statistics  corresponding  to  the  image  block.
11.    The  apparatus  of  claim  10,  wherein  enablement  information  or  disablement  information  for  said  filter  is  decoded  from  at  least  one  high  level  syntax  element;  or
wherein  said  filter  refines  the  intra  prediction  for  the  image  region  using  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.
.
12.    The  apparatus  of  claim  9,  wherein  the  at  least  one  high  level  syntax  element  is  located  at  least  one  of  a  slice  header  level,  a  Supplemental  Enhancement  Information  (SEI)  level,  a  picture  parameter  set  level,  a  sequence  parameter  set  level  and  a  network  abstraction  layer  unit  header  level.
13.    A  method,  comprising:
decoding  an  image  region  of  a  picture  using  a  filter,  operating  in  a  decoding  loop  on  a  prediction  for  an  input  image  region  and  before  a  residual  error  is  added,  characterized  by  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region,
wherein,  when  said  filter  refines  the  inter  prediction  for  the  image  region,  said  filter  uses  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region,  and
wherein  said  decoding  step  is  performed  in  a  decoder  that  includes  the  filter,  the  decoder  further  including  an  inverse  transformer  and  inverse  quantizer  unit  and  a  combiner,  the  inverse  transformer  and  inverse  quantizer  unit  having  an  output  directly  connected  to  a  first  input  of  the  combiner,  the  combiner  having  a  second  input  directly  connected  to  an  output  of  the  filter,
wherein  the  decoder  further  comprises  a  deblocking  filter,  and  an  output  of  the  combiner  is  directly  connected  to  both  an  input  of  the  filter  and  an  input  of  the  deblocking  filter.
14.    The  method  of  claim  13,  wherein  the  filter  is  applied  with  respect  to  an  iterative  missing  data  estimation  method  and  a  non-iterative  missing  data  estimation  method;  and
wherein  the  filter  is  adaptively  enabled  or  disabled  depending  upon  at  least  one  of  data  characteristics  and  data  statistics  corresponding  to  the  image  block;  and,
wherein  the  at  least  one  of  data  characteristics  and  data  statistics  comprise  at  least  one  of  coding  modes,  motion  data  and  residue  data.
15.    The  method  of  claim  13,  wherein  said  decoding  step  further  comprises  decoding  side  information  to  adaptively  determine  parameters  of  the  filter  corresponding  to  the  image  block,  the  side  information  being  decoded  from  at  least  one  of  a  macroblock  level,  a  slice  level,  a  picture  level,  and  a  sequence  level.
16.    A  storage  media  having  video  signal  data  encoded  thereupon,  comprising:
an  image  region  of  a  picture  encoded  using  a  filter,  operating  in  a  coding  loop  on  a  prediction  for  an  input  image  region  and  before  a  residual  error  is  generated,  characterized  by  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region,    
wherein,  when  said  filter  refines  the  inter  prediction  for  the  image  region,  said  filter  uses  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region,  and
wherein  said  encoding  step  is  performed  in  an  encoder  that  includes  the  filter,  the  encoder  further  including  an  inverse  transformer  and  inverse  quantizer  unit  and  a  combiner,  the  inverse  transformer  and  inverse  quantizer  unit  having  an  output  directly  connected  to  a  first  input  of  the  combiner,  the  combiner  having  a  second  input  directly  connected  to  an  output  of  the  filter,
wherein  the  encoder  further  comprises  a  deblocking  filter,  and  an  output  of  the  combiner  is  directly  connected  to  both  an  input  of  the  filter  and  an  input  of  the  deblocking  filter.
1.      Abstract
There  are  provided  methods  and  apparatus  for  video  coding  using  prediction  data  refinement.  An  apparatus  includes  an  encoder  (300)  for  encoding  an  image  region  of  a  picture.  The  encoder  (300)  has  a  prediction  refinement  filter  (333)  for  refining  at  least  one  of  an  intra  prediction  and  an  inter  prediction  for  the  image  region.  The  prediction  refinement  filter  (333)  refines  the  inter  prediction  for  the  image  region  using  at  least  one  of  previously  decoded  data  and  previously  encoded  data,  the  previously  decoded  data  and  the  previously  encoded  data  corresponding  to  pixel  values  in  neighboring  regions  with  respect  to  the  image  region.
2.      Representative  drawing
Fig  3
【図１】
2013258771.tif 000016
【図２】
2013258771.tif 000017
【図３】
2013258771.tif 000018
【図４】
2013258771.tif 000019
【図５Ａ】
2013258771.tif 000020
【図５Ｂ】
2013258771.tif 000021
【図６】
2013258771.tif 000022
【図７】
2013258771.tif 000023
【図８】
2013258771.tif 000024
【図９】
2013258771.tif 000025
【図１０】
2013258771.tif 000026