【実施例】
【0024】
本願の原理は、以下の例示的な図により、更に詳細に理解することができる。
【0025】
本願の原理は、暗黙的な動き予測を使用した予測精緻化のための方法及び装置に関する。
【0026】
本明細書及び特許請求の範囲は、本願の原理を示す。よって、当業者は、本明細書及び特許請求の範囲に明示的に説明するか、又は示していないが、本願の原理を実施し、その趣旨及び範囲の範囲内に含まれる種々の構成を考え出すことができるであろう。
【0027】
本明細書及び特許請求の範囲記載の例及び条件付文言は全て、本願の原理、及び当該技術分野を発展させるために本願の発明者が貢献する概念の、読者の理解を支援するための教示の目的を意図しており、前述の、特記した例及び条件への限定なしであると解するものとする。
【0028】
更に、本願の原理、局面、及び実施例を記載した、本明細書及び特許請求の範囲の記載は全て、その構造的均等物及び機能的均等物を包含することを意図している。更に、前述の均等物は、現在知られている均等物、及び将来に開発される均等物(すなわち、構造にかかわらず、同じ機能を行う、開発された何れかの構成要素)をともに含むことが意図されている。
【0029】
よって、例えば、本明細書及び特許請求の範囲に提示されたブロック図が、本願の原理を実施する例証的な回路の概念図を表すことは当業者によって理解されるであろう。同様に、フローチャート、流れ図、状態遷移図、擬似コード等は何れも、前述のコンピュータ又はプロセッサが明記されているかにかかわらず、コンピュータ読み取り可能な媒体において実質的に表し、コンピュータ又はプロセッサによって実行し得る種々の処理を表すということも理解されるであろう。
【0030】
図に示す種々の構成要素の機能は、専用ハードウェア、及び適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用によって提供することができる。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって提供されるか、単一の共有プロセッサによって提供されるか、又は、複数の個々のプロセッサ(この一部は共有であり得る)によって提供され得る。更に、「プロセッサ」又は「コントローラ」の語を明示的に使用していることは、ソフトウェアを実行することができるハードウェアを専ら表すものと解するべきでなく、暗黙的には、限定列挙でないが、ディジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するための読み取り専用メモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)及び不揮発性記憶装置を含み得る。
【0031】
他のハードウェア(汎用及び/又はカスタム)も含まれ得る。同様に、図に示すスイッチは何れも概念的なものに過ぎない。前述の機能は、プログラム・ロジックの動作によるか、専用ロジックによるか、プログラム制御及び専用ロジックの相互作用によるか、又は手作業によって行うことができ、特定の手法は、コンテキストからより具体的に分かるように実現者によって選択可能である。
【0032】
本願の特許請求の範囲では、特定の機能を行う手段として表される構成要素は何れも、その機能を行う何れの手段(例えば、a)その機能を行う回路構成要素の組合せや、b)機能を行うためにそのソフトウェアを実行する適切な回路と組み合わせた、ファームウェア、マイクロコード等を含む、何れかの形態のソフトウェア)も包含することが意図される。前述の特許請求の範囲で規定された本願の原理は、記載された種々の手段によって提供される機能が、請求項が要求するやり方で組合せられ、集約されるということに存在する。よって、前述の機能を提供することが可能な手段は何れも、本願の明細書及び特許請求の範囲記載のものと均等であるとみなされる。
【0033】
本願明細書における、本願の原理の「one embodiment」又は「an embodiment」、及びその他の変形への言及は、本願の実施例に関して説明した特定の構成、構造、特性等が本願の原理の少なくとも一実施例に含まれていることを意味している。よって、本明細書全体の種々の箇所に記載された「in one embodiment」又は「in an embodiment」の句、及び何れかの他の変形は、必ずしも、同じ実施例を全て表している訳でない。
【0034】
例えば、「A/B」、「A及び/又はB」、並びに「A及びBの少なくとも一方」の場合における「/」、「及び/又は」及び「少なくとも1つ」の何れかの使用は、最初に挙げられた選択肢(A)のみの選択、2番目に挙げられた選択肢(B)のみの選択、又は選択肢(A及びB)両方の選択を包含することを意図している。更なる例として、「A、B、及び/又はC」及び「A、B、及びCのうちの少なくとも1つ」の場合、前述の句は、最初に挙げられた選択肢(A)のみの選択、2番目に挙げられた選択肢(B)のみの選択、3番目に挙げられた選択肢(C)のみの選択、最初に挙げられた選択肢及び2番目に挙げられた選択肢(A及びB)のみの選択、最初に挙げられた選択肢及び3番目に挙げられた選択肢(A及びC)のみの選択、2番目に挙げられた選択肢及び3番目に挙げられた選択肢(B及びC)のみの選択、又は、3つの選択肢(A、B及びC)全ての選択を包含することを意図している。当該技術分野及び関連技術分野において通常の知識を有する者が容易に分かるように、このことは、挙げられたいくつもの項目について拡張することができる。
【0035】
本明細書及び特許請求の範囲記載の「画像ブロック」という句は、マクロブロック、マクロブロック・パーティション、サブマクロブロック、及びサブマクロブロック・パーティションのうちの何れかを表す。
【0036】
上述の通り、本願の原理は、暗黙的な動き予測を使用した予測精緻化のための方法及び装置に関する。本願の原理によれば、明示的な動き表現及び暗黙的な動き表現を利用するために前方(動き補償)及び後方(例えば、最小二乗予測(LSP))予測手法を組み合わせるビデオ予測手法が提案されている。
【0037】
よって、以下に、最小二乗予測について説明し、次いで、最小二乗予測による予測精緻化について説明する。
【0038】
最小二乗予測
最小二乗予測(LSP)は、目標ブロック又は画素を予測するための後方方向ベースの手法であり、これは、暗黙的に動き情報を活用し、対応する復号化器にオーバヘッドとして動きベクトルを送出する必要はない。
【0039】
更に詳細に述べれば、LSPは、時空間自己回帰問題として予測を表す。すなわち、目標画素の強度値は、その時空間近傍の線形結合によって推定することが可能である。局所動き情報を暗黙的に収容する回帰係数は、時空間訓練ウィンドウ内の局所化された学習によって推定することが可能である。時空間自己回帰モデル及び局所学習は以下のように動作する。
【0040】
個別のビデオ・ソースを表すためにX(x,y,t)を使用する。ここで、(x,y)∈[1,W]×[1,H]は空間座標であり、t∈[1,T]はフレーム・インデクスである。単純にするために、ベクトル
【数3】
で、時空間の空間内の画素の位置を表し、
【数4】
(i=1,2,…,N)(時空間近傍内の画素の数Nは本願のモデルの次数である)でその時空間近傍の位置を表す。
【0041】
時空間自己回帰モデル
LSPでは、目標画素の強度値は、その近傍画素の線形結合として表される。
図3に移れば、最小二乗予測を使用した例示的な後方動き推定手法は、全体を参照符号300で示す。目標画素Xは対角線方向のハッチ・パターンを有する楕円で示す。後方動き推定手法300には、Kフレーム310及びK−1フレーム350が関係する。目標画素Xの近傍画素Xiは、クロス・ハッチング・パターンを有する楕円で示す。
図3の例に関する自己回帰モデルは以下の通りである:
【数5】
ここで、
【数6】
は、目標画素Xの推定であり、
【数7】
は結合係数である。近傍(フィルタ・サポート)のトポロジは、空間再構成画素及び時間再構成画素を組み入れるよう柔軟であり得る。
図3は、(K−1フレームにおける、)時間的に並べた9個の画素、及び(Kフレームにおける、)4個の因果的近傍画素を含む、一種の近傍定義の例を示す。
【0042】
時空間局所学習
ビデオ・ソースの非定常性に基づいて、
【数8】
は、ビデオ信号全てにわたって均質であるとみなされる代わりに時空間の空間内で適応的に更新されるはずであるといえる。
【0043】
【数9】
を適応させるやり方の1つには、
【数10】
のように、局所時空間訓練ウィンドウM内の平均二乗エラー(MSE)を最小にするウィーナーの古典的な着想に従うということがある。
【0044】
訓練ウィンドウにM個のサンプルが存在していると仮定する。訓練サンプル全てをM×1ベクトル
【数11】
に書き込むことが可能である。訓練サンプル毎のN個の近傍を1×N行ベクトルに入れた場合、訓練サンプル全ては、M×Nのサイズのデータ行列Cを生成する。局所最適フィルタ係数
【数12】
の導出は、
【数13】
の最小二乗問題において表される。
【0045】
訓練ウィンドウ・サイズMがフィルタ・サポート・サイズNよりも大きい場合、上記問題は、過剰決定され、
【数14】
の閉形式解を認める。
【0046】
上記理論は画素ベースであるが、最小二乗予測は、ブロック・ベースの予測に非常に容易に拡張することが可能である。
【0047】
予測する対象の目標ブロックを表すために
【数15】
を使用するものとし、
【数16】
が、
図4に示すような重なった近傍ブロックであるものとする。
図4に移れば、ブロック・ベースの最小二乗予測の例全体を参照符号400で示す。ブロック・ベースの最小二乗予測400には、近傍ブロック401を有する参照フレーム410、及び訓練ブロック451を有する現在のフレーム450が関係する。近傍ブロック401は、参照符号X
1乃至X
9によっても示す。目標ブロックは参照符号X0で示す。訓練ブロック451は、参照符号Y
i、Y
1、及びY
10で示す。
【0048】
次いで、ブロック・ベースの回帰は
【数17】
の通りである。
【0049】
近傍ブロック及び訓練ブロックは
図4に定義される。前述の場合、式(4)のように係数の同様な解を導出することは容易である。
【0050】
動き適応
式(1)又は(5)のモデリング機能は、フィルタ・サポート及び訓練ウィンドウの選択に大きく依存する。ビデオにおける動き情報を捕捉するために、フィルタ・サポート及び訓練ウィンドウのトポロジは、空間及び時間で動き特性に適応すべきである。ビデオ信号内の動き情報の非定常特性により、フィルタ・サポート及び訓練ウィンドウの適応的な選択が望ましい。例えば、低速度動き領域では、
図3に示すフィルタ・サポート及び訓練ウィンドウで十分である。しかし、前述の種のトポロジは、高速の動きを捕捉するのに適切でない。並べられた訓練ウィンドウ内のサンプルは、別の動き特性を有し得、これにより、局所化学習ができなくなっている。一般に、フィルタ・サポート及び訓練ウィンドウは、動き軌跡の向きと合されているべきである。
【0051】
動き適応を実現するために2つの解を使用することが可能である。1つには、動きセグメント化に基づいて、ビデオ信号の階層化表現を得るということがある。各階層では、フィルタ・サポート及び訓練ウィンドウの固定トポロジを使用することが可能である。層内のサンプルは全て、同じ動き特性を共有するからである。しかし、前述の適応ストラテジには、不可避に、別の困難な問題である動きセグメント化が関係するからである。
【0052】
別の解は、動き適応を実現するために、時空間再サンプリング及び経験的なベイズ融合手法を活用するというものである。再サンプリングは、生成された多くの再サンプルを含む分散時空間特性を有するビデオ信号の冗長な表現を生成する。各再サンプルでは、フィルタ・サポート及び訓練ウィンドウの固定トポロジを有する上記最小二乗予測モデルにより、回帰結果を得ることが可能である。最終予測は、再サンプルの組からの回帰結果全ての融合である。前述の手法により、非常に好適な予測性能を得ることが可能である。しかし、前述のコストは、再サンプル毎の最小二乗予測を適用することによって被る非常に高い計算量であり、これは、実用的なビデオ圧縮のための最小二乗予測の適用を制限する。
【0053】
図5に移れば、本願の原理を適用することができる例示的なビデオ符号化器全体を参照符号500で示す。ビデオ符号化器500は、合成器585の非反転入力と信号通信する出力を有するフレーム配列バッファ510を含む。合成器585の出力は変換器及び量子化器525の第1の入力と信号通信で接続される。変換器及び量子化器525の出力は、エントロピ符号化器545の第1の入力、並びに、逆変換器及び逆量子化器550の第1の入力と信号通信で接続される。エントロピ符号化器545の出力は、合成器590の第1の非反転入力と信号通信で接続される。合成器590の出力は、出力バッファ535の第1の入力と信号通信で接続される。
【0054】
符号化器コントローラ505の第1の出力は、フレーム配列バッファ510の第2の入力、逆変換器及び逆量子化器550の第2の入力、ピクチャ・タイプ決定モジュール515の入力、マクロブロック・タイプ(MBタイプ)決定モジュール520の入力、イントラ予測モジュール560の第2の入力、デブロッキング・フィルタ565の第2の入力、(LSP精緻化を有する)動き補償器570の第1の入力、動き推定器575の第1の入力、及び参照ピクチャ・バッファ580の第2の入力と信号通信で接続される。符号化器コントローラ505の第2の出力は、補助拡充情報(SEI)挿入器530の第1の入力、変換器及び量子化器525の第2の入力、エントロピ符号化器545の第2の入力、出力バッファ535の第2の入力、並びに、シーケンス・パラメータ・セット(SPS)及びピクチャ・パラメータ・セット(PPS)挿入器540の入力と信号通信で接続される。符号化器コントローラ505の第3の出力は、最小二乗予測モジュール533の第1の入力と信号通信で接続される。
【0055】
ピクチャ・タイプ決定モジュール515の第1の出力は、フレーム配列バッファ510の第3の入力と信号通信で接続される。ピクチャ・タイプの決定モジュール515の第2の出力は、マクロブロック・タイプの決定モジュール520の第2の入力と信号通信で接続される。
【0056】
シーケンス・パラメータ・セット(SPS)及びピクチャ・パラメータ・セット(PPS)挿入器540の出力は合成器590の第3の非反転入力と信号通信で接続される。
【0057】
逆量子化器及び逆変換器550の出力は、合成器519の第1の非反転入力と信号通信で接続される。合成器519の出力は、イントラ予測モジュール560の第1の入力及びデブロッキング・フィルタ565の第1の入力と信号通信で接続される。デブロッキング・フィルタ565の出力は参照ピクチャ・バッファ580の第1の入力と信号通信で接続される。参照ピクチャ・バッファ580の出力は、動き推定器575の第2の入力、最小二乗予測精緻化モジュール533の第2の入力、及び動き補償器570の第3の入力と信号通信で接続される。動き推定器575の第1の出力は、動き補償器570の第2の入力と信号通信で接続される。動き推定器575の第2の出力は、エントロピ符号化器545の第3の入力と信号通信で接続される。動き推定器575の第3の出力は、最小二乗予測モジュール533の第3の入力と信号通信で接続される。最小二乗予測モジュール533の出力は、動き補償器570の第4の入力と信号通信で接続される。
【0058】
動き補償器570の出力はスイッチ597の第1の入力と信号通信で接続される。イントラ予測モジュール560の出力は、スイッチ597の第2の入力と信号通信で接続される。マクロブロック・タイプ決定モジュール520の出力は、スイッチ597の第3の入力と信号通信で接続される。スイッチ597の第3の入力は、(制御入力、すなわち、第3の入力と比較して)スイッチの「データ」入力を、イントラ予測モジュール560の動き補償器570によって提供する。スイッチ597の出力は合成器519の第2の非反転入力及び合成器585の反転入力と信号通信で接続される。
【0059】
フレーム配列バッファ510及び符号化器コントローラ505が入力ピクチャを受け取るために、符号化器500の入力として利用可能である。更に、補助付加情報(SEI)挿入器530の入力は、メタデータを受信するために、符号化器500の入力として利用可能である。出力バッファ535の出力は、ビットストリームを出力するために、符号化器500の出力として利用可能である。
【0060】
図6に移れば、本願の原理を適用し得る例示的なビデオ復号化器は全体を参照符号600で示す。
【0061】
ビデオ復号化器600は、エントロピ復号化器645の第1の入力と信号通信で接続された出力を有する入力バッファ610を含む。エントロピ復号化器645の第1の出力は逆変換器及び逆量子化器650の第1の入力と信号通信で接続される。逆変換器及び逆量子化器650の出力は、合成器625の第2の非反転入力と信号通信で接続される。合成器625の出力はデブロッキング・フィルタ665の第2の入力及びインター予測モジュール660の第1の入力と信号通信で接続される。デブロッキング・フィルタ665の第2の出力は参照ピクチャ・バッファ680の第1の入力と信号通信で接続される。参照ピクチャ・バッファ680の出力は動き補償器及びLSP精緻化予測器670の第2の入力と信号通信で接続される。
【0062】
エントロピ復号化器645の第2の出力は、動き補償器及びLSP精緻化予測器670の第3の入力及びデブロッキング・フィルタ665の第1の入力と信号通信で接続される。エントロピ復号化器645の第3の出力は、復号化器コントローラ605の入力と信号通信で接続される。復号化器コントローラ605の第1の入力はエントロピ復号化器645の第2の入力と信号通信で接続される。復号化器コントローラ605の第2の出力は、逆変換器及び逆量子化器650の第2の入力と信号通信で接続される。復号化器コントローラ605の第3の出力は、デブロッキング・フィルタ665の第3の入力と信号通信で接続される。復号化器コントローラ605の第4の出力は、イントラ予測モジュール660の第2の入力、動き補償器及びLSP精緻化予測器670の第1の入力、及び参照ピクチャ・バッファ680の第2の入力と信号通信で接続される。
【0063】
動き補償器及びLSP精緻化予測器670の出力は、スイッチ697の第1の入力と信号通信で接続される。イントラ予測モジュール660の出力は、スイッチ697の第2の入力と信号通信で接続される。スイッチ697の出力は、合成器625の第1の非反転入力と信号通信で接続される。
【0064】
入力バッファ610の入力は、入力ビットストリームを受け取るために、復号化器600の入力として利用可能である。デブロッキング・フィルタ665の第1の出力は、出力ピクチャを出力するために、復号化器600の出力として利用可能である。
【0065】
上述の通り、本願の原理によれば、明示的な動き表現及び暗黙的な動き表現を利用するために前方(動き補償)及び後方(LSP)予測手法を組み合わせるビデオ予測手法が提案されている。特に、本願提案の手法の使用には、粗い動きを捕捉するために特定の情報を明示的に送出する工程が関係し、次いで、粗い動きにより、動き予測を精緻化するためにLSPが使用される。これは、LSPによる後方予測と、前方動き予測とを併せた手法としてみられ得る。本願の原理の利点には、ビットレート・オーバヘッドを削減すること、前方動きの予測品質を向上させること、及び、LSPの精度を向上させること、並びに、よって、符号化効率を向上させることが含まれる。インター予測のコンテキストで本明細書及び特許請求の範囲に開示し、説明しているが、本明細書及び特許請求の範囲記載の本願の原理の教示があれば、当業者は、本願の原理の趣旨を維持しながら、本願の原理をイントラ予測に容易に拡張することができるであろう。
【0066】
LSPによる予測精緻化
最小二乗予測は、動き適応を実現するために使用される。これは、位置毎での動き軌道の捕捉が必要である。後方適応的ビデオ符号化手法に最小二乗予測を活用することが可能であるが、前述の問題を解くために、前述の手法によって被る計算量は、実用的な適用例の場合、要求が過度である。ある程度妥当な計算量コストで動き適応を実現するために、動き軌跡を表すためのサイド情報としての動き推定結果を活用する。これは、最小二乗予測により、フィルタ・サポート及び訓練ウィンドウが設定されることを支援し得る。
【0067】
一実施例では、まず、動き推定を行い、次いで、LSPを行う。フィルタ・サポート及び訓練ウィンドウは、動き推定の出力動きベクトルに基づいて設定される。よって、LSPは、元の前方動き補償の精緻化工程として機能する。フィルタ・サポートは、空間及び/又は時間近傍再構成画素を組み入れるよう柔軟であり得る。時間近傍は、動きベクトルが指し示す参照ピクチャ内に限定されない。参照ピクチャと現在のピクチャとの間の距離に基づいた同じ動きベクトル、又はスケーリングされた動きベクトルを他の参照ピクチャに使用することが可能である。このようにして、前方精緻化及び後方LSPの両方を利用して圧縮効率を向上させる。
【0068】
図7A及び
図7Bに移れば、予測精緻化の画素ベースの最小二乗予測の例全体を参照符号700で示す。予測精緻化700の画素ベースの最小二乗予測には、Kフレーム710及びK−1フレーム750が関係する。特に、
図7A及び
図7Bに示すように、目標ブロック722の動きベクトル(Mv)は、MPEG−4AVC標準に関して行われるものなどの動き推定又は動きベクトル予測子から導出することが可能である。次いで、前述の動きベクトルMvを使用して、動きベクトルが指し示す向きに沿ってLSPのフィルタ・サポート及び訓練ウィンドウを設定する。画素又はブロック・ベースのLSPは予測ブロック711内で行うことが可能である。MPEG−4AVC標準は、木ベースの階層マクロブロック・パーティションをサポートする。一実施例では、LSP精緻化はパーティション全てに適用される。別の実施例では、LSP精緻化は、16×16などの大容量のパーティションにのみ適用される。ブロック・ベースのLSPが予測ブロックに対して行われた場合、LSPのブロック・サイズは、予測ブロックのものと同じでなくてよい。
【0069】
次に、本発明の原理を含む例示的な実施例を説明する。前述の実施例では、前方動き推定がまず、各パーティションにおいて行われる手法を示す。次いで、予測結果を精緻化するためにパーティション毎にLSPを行う。MPEG−4 AVC標準を参照として使用して本願のアルゴリズムを説明するが、当業者に明らかであるように、本願の原理の教示は、他の符号化標準、勧告等に容易に適用し得る。
【0070】
実施例:明示的な動き推定及びLSP精緻化
前述の実施例では、明示的な動き推定は、まず、予測するブロック又はパーティションの動きベクトルMvを得るために行われる。次いで、画素ベースのLSPを行う(本願では、単純にするために、画素ベースのLSPを使用することにより、本願の手法を説明するが、ブロック・ベースのLSPに拡張することは容易である)。動きベクトルMvに基づいて画素毎のフィルタ・サポート及び訓練ウィンドウを定義する。
図8に移れば、予測精緻化のためのブロック・ベースの最小二乗予測の例全体を参照符号800で示す。予測精緻化800のためのブロック・ベースの最小二乗予測には、訓練ブロック851を有する現在のフレーム850、及び近傍ブロック801を有する参照フレーム810が関係する。近傍ブロック401は、参照符号X
1乃至X
9でも示す。目標ブロックは参照符号X0で示す。訓練ブロック451は、参照符号Y
i、Y
1、及びY
10で示す。
図7A及び
図7B又は
図8に示すように、動きベクトルMvの方向に沿ってフィルタ・サポート及び訓練ウィンドウを定義することが可能である。フィルタ・サポート及び訓練ウィンドウは空間画素及び時間画素を包含し得る。予測ブロックにおける画素の予測値は、画素単位で精緻化する。予測ブロック内の画素全てが精緻化されると、最終予測を、レート歪み(RD)コストに基づいて、LSP精緻化を有する/有しない予測候補、又はそれらの融合バージョンのうちから選択することが可能である。最後に、
lsp_idcが0に等しい場合、LSP精緻化を有しない予測を選択する
lsp_idcが1に等しい場合、LSP精緻化を有する予測を選択する。
lsp_idcが2に等しい場合、LSP精緻化を有する予測及びLSP精緻化を有しない予測の融合された予測バージョンを選択する
というように選択を通知するようLSP表示子lsp_idcを設定する。融合手法は、先行する2つの予測の何れかの線形結合又は非線形結合であり得る。最終選択のオーバヘッドをずっと多く増加させることを避けるために、lsp_idcはマクロブロックレベルで企図することが可能である。
【0071】
他の符号化ブロックに対する影響
他の符号化ブロックに対する影響に関し、本願の原理の種々の実施例により、最小二乗予測の動きベクトルに関して次に説明する。MPEG−4 AVC標準では、現在のブロックの動きベクトルは近傍ブロックから予測される。よって、現在のブロックの動きベクトルの値は、将来の近傍ブロックに影響を及ぼす。これにより、使用すべき動きベクトルが何であるかに関するLSP精緻化ブロックの疑問が生じる。第1の実施例では、前方動き推定は、各パーティション・レベルで行われるので、LSP精緻化ブロックの動きベクトルを取り出すことが可能である。第2の実施例では、マクロブロック内のLSP精緻化ブロック全てのマクロレベル動きベクトルを使用することが可能である。
【0072】
他の符号化ブロックに対する影響に関し、本願の原理の種々の実施例により、デブロッキング・フィルタを使用することに関して次に説明する。デブロッキング・フィルタの場合、第1の実施例では、前方動き推定ブロックと同様にLSP精緻化ブロックを扱い、上記LSP精緻化のために動きベクトルを使用することが可能である。次いで、デブロッキング処理は変更されない。第2の実施例では、LSP精緻化は、前方動き推定ブロックとは別の特性を有するので、境界強度、フィルタ・タイプ、及びフィルタ長を相応に調節することが可能である。
【0073】
表1は、本願の原理の実施例によるスライス・ヘッダ構文を示す。
【0074】
【表1】
表1のlsp_enable_flag構文要素の意味論は以下の通りである。
【0075】
lsp_enable_flagが1に等しいことは、LSP精緻化予測がスライスについてイネーブルされていることを規定する。lsp_enable_flagが0に等しいことは、LSP精緻化予測がスライスについてイネーブルされていないことを規定する。
【0076】
表2は、本願の原理の実施例によるマクロブロックレイヤ構文を示す。
【0077】
【表2】
表2のlsp_idc構文要素の意味論は以下の通りである。
【0078】
lsp_idcが0に等しいことは、予測がLSP精緻化によって精緻化されないことを規定する。lsp_idcが1に等しいことは、予測がLSPによって精緻化されたバージョンであることを規定する。lsp_idcが2に等しいことは、予測が、LSP精緻化を有する予測候補、及びLSP精緻化を有しない予測候補の組み合わせであることを規定する。
【0079】
図9に移れば、最小二乗予測を伴う予測精緻化を使用して画像ブロックのビデオ・データを符号化する手法は全体を参照符号900で示す。方法900は、開始ブロック905を含み、開始ブロック905は制御を決定ブロック910に移す。決定ブロック910は、現在のモードが最小二乗予測モードであるか否かを判定する。肯定の場合、制御は機能ブロック915に渡される。さもなければ、制御は機能ブロック970に渡される。
【0080】
機能ブロック915は、前方動き推定を行い、制御を機能ブロック920及び機能ブロック925に渡す。機能ブロック920は、動き補償を行って予測P_mcを取得し、制御を機能ブロック930及び機能ブロック960に渡す。機能ブロック925は、最小二乗予測精緻化を行って精緻化予測P_lspを生成し、制御を機能ブロック930及び機能ブロック960に渡す。機能ブロック960は、予測P_mc及び予測P_lspの組み合わせから組み合わせた予測P_combを生成し、制御を機能ブロック930に渡す。機能ブロック930は、P_mc、P_lsp及びP_combのうちから最善の予測を選び、制御を機能ブロック935に渡す。機能ブロック935はlsp_idcをセットし、制御を機能ブロック940に渡す。機能ブロック940は、レート歪み(RD)コストを計算し、制御を機能ブロック945に渡す。機能ブロッ945は、画像ブロックのモード決定を行い、制御を機能ブロック950に渡す。機能ブロック950は、画像ブロックの動きベクトル及び他の構文を符号化し、制御を機能ブロック955に渡す。機能ブロック955は、画像ブロックの残差を符号化し、制御を終了ブロック999に渡す。機能ブロック970は、他のモード(すなわち、LSPモード以外)により、画像ブロックを符号化し、制御を機能ブロック945に渡す。
【0081】
図10に移れば、最小二乗予測を有する予測精緻化を使用して画像ブロックのビデオ・データを復号化する例示的な方法全体を参照符号1000で示す。方法1000は、開始ブロック1005を含み、開始ブロック1005は制御を機能ブロック1010に渡す。機能ブロック1010は構文を解析し、制御を決定ブロック1015に渡す。決定ブロック1015は、lsp_idc>0であるかを判定する。肯定の場合、制御は機能ブロック1020に渡される。さもなければ、制御は機能ブロック1060に渡される。機能ブロック1020は、lsp_idc>1であるかを判定する。肯定であれば、制御は機能ブロック1025に渡される。さもなければ、制御は機能ブロック1030に渡される。機能ブロック1025は、動きベクトルMv及び残差を復号化し、制御を機能ブロック1035及び機能ブロック1040に渡す。機能ブロック1035は、動き補償を行って予測P_mcを生成し、制御を機能ブロック1045に渡す。機能ブロック1040は、最小二乗予測精緻化を行って予測P_lspを生成し、制御を機能ブロック1045に渡す。機能ブロック1045は、予測P_mc及び予測P_lspの組み合わせから、組み合わせた予測P_combを生成し、制御を機能ブロック1055に渡す。機能ブロック1055は残差を予測に加え、現在のブロックに補償し、終了ブロック1099に制御を渡す。
【0082】
機能ブロック1060は、非LSPモードで画像ブロックを復号化し、制御を終了ブロック1099に渡す。
【0083】
機能ブロック1030は、動きベクトル(Mv)及び残差を復号化し、制御を機能ブロック1050に渡す。機能ブロック1050は、LSP精緻化により、ブロックを予測し、制御を機能ブロック1055に渡す。
【0084】
本発明の付随する多くの効果/構成の一部について次に説明する。その一部は上述の通りである。例えば、1つの効果/構成は、画像ブロックに対して粗い予測を生成するために明示的な動き予測を使用し、粗い予測を精緻化するために暗黙的な動き予測を使用して画像ブロックを符号化する符号化器を有する装置である。
【0085】
別の効果/構成は、上記符号化器を有する装置であり、粗い予測は、イントラ予測及びインター予測の一方である。
【0086】
更に別の効果/構成は、上記符号化器を有する装置であり、暗黙的な動き補償は最小二乗予測である。
【0087】
更に、別の効果/構成は、符号化器を有する装置であり、暗黙的な動き補償は上記最小二乗予測であり、最小二乗予測フィルタ・サポート及び最小二乗予測訓練ウィンドウは画像ブロックに関する空間画素及び時間画素を包含する。
【0088】
更に、別の効果/構成は、符号化器を有する装置であって、暗黙的な動き予測は上記最小二乗予測であり、最小二乗予測は画素ベース又はブロック・ベースであり、単一仮説動き補償予測又は複数仮説動き補償予測において使用される。
【0089】
更に、別の効果/構成は、符号化器を有する装置であって、最小二乗予測は画素ベース又はブロック・ベースであり得、前述の通り、単一仮説動き補償予測又は複数仮説動き補償予測において使用され、最小二乗予測のための最小二乗予測パラメータは、前方動き推定に基づいて定義される。
【0090】
更に、別の効果/構成は、符号化器を有する装置であって、最小二乗予測のための最小二乗予測パラメータは上記前方動き推定に基づいて定義され、最小二乗予測のための時間フィルタ・サポートは、1つ又は複数の参照ピクチャに関し、又は1つ又は複数の参照ピクチャ・リストに関して行うことが可能である。
【0091】
更に、別の効果/構成は、符号化器を有する装置であって、最小二乗予測は画素ベース又はブロック・ベースであり得、前述の通り、単一仮説動き補償予測又は複数仮説動き補償予測において使用され、ブロック・ベースの最小二乗予測のサイズは、前方動き推定ブロック・サイズと異なる。
【0092】
更に、別の効果/構成は、符号化器を有する装置であって、最小二乗予測は画素ベース又はブロック・ベースであり得、前述の通り、単一仮説動き補償予測又は複数仮説動き補償予測において使用され、最小二乗予測のための動き情報は、動きベクトル予測子によって導き出されるか、又は推定され得る。
【0093】
本願の原理の前述並びに他の特徴及び利点は、本明細書及び特許請求の範囲に基づいて当該技術分野における当業者によって容易に確認することができる。本願の原理の教示は、種々の形態のハードウェア、ソフトウェア、ファームウェア、特殊用途向プロセッサ、又はそれらの組み合わせで実現することができる。
【0094】
最も好ましくは、本願の原理の教示は、ハードウェア及びソフトウェアの組合せとして実現される。更に、ソフトウェアは、プログラム記憶装置上に有形に実施されたアプリケーション・プログラムとして実現することができる。アプリケーション・プログラムは、何れかの適切なアーキテクチャを有するマシンにアップロードし、前述のマシンによって実行することができる。好ましくは、マシンは、1つ又は複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)や、入出力(「I/O」)インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上に実現される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、CPUによって実行することができるアプリケーション・プログラムの一部若しくはマイクロ命令コードの一部(又はそれらの組み合わせ)であり得る。更に、種々の他の周辺装置を、更なるデータ記憶装置や、印刷装置などのコンピュータ・プラットフォームに接続することができる。
【0095】
添付図面に表す構成システム部分及び方法の一部は好ましくはソフトウェアで実現されるので、システム部分(又は処理機能ブロック)間の実際の接続は、本願の原理がプログラムされるやり方によって変わり得る。本明細書及び特許請求の範囲記載の教示があれば、当業者は、本願の原理の前述及び同様な実現形態又は構成に想到することができるであろう。
【0096】
例証的な実施例を、添付図面を参照して本明細書及び特許請求の範囲において記載しているが、本願の原理は上述のまさにその実施例に限定されず、本願の原理の範囲又は趣旨から逸脱しない限り、種々の変更及び修正を当業者により、本願の原理において行うことができる。前述の変更及び修正は全て、特許請求の範囲記載の本願の原理の範囲内に含まれることが意図されている。
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
装置であって、
画像ブロックに対して粗い予測を生成するために明示的な動き予測を使用し、前記粗い予測を精緻化するために暗黙的な動き予測を使用して画像ブロックを符号化する符号化器を備える装置。
(付記2)
付記1記載の装置であって、前記粗い予測はイントラ予測及びインター予測の何れかである装置。
(付記3)
付記1記載の装置であって、前記暗黙的な動き予測が最小二乗予測である装置。
(付記4)
付記3記載の装置であって、最小二乗予測フィルタ・サポート及び最小二乗予測訓練ウィンドウは前記画像ブロックに関する空間画素及び時間画素を包含する装置。
(付記5)
付記3記載の装置であって、前記最小二乗予測は画素ベース又はブロック・ベースであり得、単一仮説動き補償予測又は複数仮説動き補償予測に使用される装置。
(付記6)
付記5記載の装置であって、前記最小二乗予測の最小二乗予測パラメータは前方動き推定に基づいて定義される装置。
(付記7)
付記6記載の装置であって、前記最小二乗予測の時間フィルタ・サポートは、1つ又は複数の参照ピクチャに関し、又は1つ又は複数の参照ピクチャ・リストに関して行うことが可能な装置。
(付記8)
付記5記載の装置であって、前記ブロック・ベースの最小二乗予測のサイズは、前方動き推定ブロック・サイズと異なる装置。
(付記9)
付記5記載の装置であって、前記最小二乗予測の動き情報は動きベクトル予測子によって導出するか、又は推定することが可能である装置。
(付記10)
画像ブロックを符号化する符号化器であって、
前記画像ブロックに対して粗い予測を生成するよう明示的な動き予測を行う動き推定器と、
前記粗い予測を精緻化するよう暗黙的な動き予測を行う予測精緻化器と
を備える符号化器。
(付記11)
付記10記載の符号化器であって、前記粗い予測はイントラ予測及びインター予測の何れかである符号化器。
(付記12)
付記10記載の符号化器であって、前記暗黙的な動き予測が最小二乗予測である符号化器。
(付記13)
ビデオ符号化器において、画像ブロックを符号化する方法であって、
明示的な動き予測を使用して前記画像ブロックに対して粗い予測を生成する工程と、
暗黙的な動き推定を使用して前記粗い予測を精緻化する工程と
を含む方法。
(付記14)
付記13記載の方法であって、前記粗い予測はイントラ予測及びインター予測の何れかである装置。
(付記15)
付記13記載の方法であって、前記暗黙的な動き予測が最小二乗予測である方法。
(付記16)
付記15記載の方法であって、最小二乗予測フィルタ・サポート及び最小二乗予測訓練ウィンドウは前記画像ブロックに関する空間画素及び時間画素を包含する方法。
(付記17)
付記15記載の方法であって、前記最小二乗予測は画素ベース又はブロック・ベースであり、単一仮説動き補償予測又は複数仮説動き補償予測に使用される方法。
(付記18)
付記17記載の方法であって、前記最小二乗予測の最小二乗予測パラメータは前方動き推定に基づいて定義される方法。
(付記19)
付記18記載の方法であって、前記最小二乗予測の時間フィルタ・サポートは、1つ又は複数の参照ピクチャに関し、又は1つ又は複数の参照ピクチャ・リストに関して行うことが可能な方法。
(付記20)
付記17記載の方法であって、前記ブロック・ベースの最小二乗予測のサイズは、前方動き推定ブロック・サイズと異なる方法。
(付記21)
付記17記載の方法であって、前記最小二乗予測の動き情報は動きベクトル予測器によって導出するか、又は推定することが可能である方法。
(付記22)
装置であって、
明示的な動き予測を使用して生成された、画像ブロックに対する粗い予測を受け取り、暗黙的な動き予測を使用して前記粗い予測を精緻化することにより、画像ブロックを復号化する復号化器
を備える装置。
(付記23)
付記22記載の装置であって、前記粗い予測はイントラ予測及びインター予測の何れかである装置。
(付記24)
付記22記載の装置であって、前記暗黙的な動き予測が最小二乗予測である装置。
(付記25)
付記24記載の装置であって、最小二乗予測フィルタ・サポート及び最小二乗予測訓練ウィンドウは前記画像ブロックに関する空間画素及び時間画素を包含する装置。
(付記26)
付記24記載の装置であって、前記最小二乗予測は画素ベース又はブロック・ベースであり、単一仮説動き補償予測又は複数仮説動き補償予測において使用される装置。
(付記27)
付記26記載の装置であって、前記最小二乗予測の最小二乗予測パラメータは前方動き推定に基づいて定義される装置。
(付記28)
付記27記載の装置であって、前記最小二乗予測の時間フィルタ・サポートは、1つ又は複数の参照ピクチャに関し、又は1つ又は複数の参照ピクチャ・リストに関して行うことが可能な装置。
(付記29)
付記26記載の装置であって、前記ブロック・ベースの最小二乗予測のサイズは、前方動き推定ブロック・サイズと異なる装置。
(付記30)
付記26記載の装置であって、前記最小二乗予測の動き情報は動きベクトル予測子によって導出するか、又は推定することが可能である装置。
(付記31)
画像ブロックを復号化する復号化器であって、
明示的な動き予測を使用して生成された、前記画像ブロックに対する粗い予測を受け取り、暗黙的な動き予測を使用して前記粗い予測を精緻化する動き補償器
を備える復号化器。
(付記32)
付記31記載の復号化器であって、前記粗い予測はイントラ予測及びインター予測の何れかである復号化器。
(付記33)
付記31記載の復号化器であって、前記暗黙的な動き予測が最小二乗予測である復号化器。
(付記34)
ビデオ復号化器において、画像ブロックを復号化する方法であって、
明示的な動き予測を使用して生成された、前記画像ブロックに対する粗い予測を受け取る工程と、
暗黙的な動き予測を使用して前記粗い予測を精緻化する工程と
を含む方法。
(付記35)
付記34記載の方法であって、前記粗い予測はイントラ予測及びインター予測の何れかである方法。
(付記36)
付記34記載の方法であって、前記暗黙的な動き予測が最小二乗予測である方法。
(付記37)
付記36記載の方法であって、最小二乗予測フィルタ・サポート及び最小二乗予測訓練ウィンドウは前記画像ブロックに関する空間画素及び時間画素を包含する方法。
(付記38)
付記36記載の方法であって、前記最小二乗予測は画素ベース又はブロック・ベースであり、単一仮説動き補償予測又は複数仮説動き補償予測に使用される方法。
(付記39)
付記38記載の方法であって、前記最小二乗予測の最小二乗予測パラメータは前方動き推定に基づいて定義される方法。
(付記40)
付記39記載の方法であって、前記最小二乗予測の時間フィルタ・サポートは、1つ又は複数の参照ピクチャに関し、又は1つ又は複数の参照ピクチャ・リストに関して行うことが可能な方法。
(付記41)
付記38記載の方法であって、前記ブロック・ベースの最小二乗予測のサイズは、前方動き推定ブロック・サイズと異なる方法。
(付記42)
付記38記載の方法であって、前記最小二乗予測の動き情報は動きベクトル予測子によって導出するか、又は推定することが可能である方法。