(57)【要約】【課題】高次のモデリングを適用することにより、従来のエンコーダと同じ一般処理フロー及び一般処理フレームワークを維持しながら、従来のコーデックのインター予測プロセスの根本的な限界を解消し、向上したインター予測を提供する。【解決手段】映像データの処理方法は、検出アルゴリズムを用いて、フレーム内で、対象の領域における特徴およびオブジェクトのうちの少なくとも一方を検出し、パラメータのセットを用いて、少なくとも一方をモデル化し、少なくとも一方のあらゆるインスタンスを、複数のフレームにわたって相関させ、相関されたインスタンスのトラックを形成し、トラックを、符号化する映像データの特定のブロックに関連付け、トラックの情報を用いて、特定のブロックのモデルベース予測を生成する。モデルベース予測を、処理した映像データとして記憶する。【選択図】図１Ａ
2015515806.tif 000002
【特許請求の範囲】
【請求項１】
映像データを処理する方法であって、
検出アルゴリズムを用いて、少なくとも１つのフレーム内で、対象の領域における特徴およびオブジェクトのうちの少なくとも一方を検出する過程と、
パラメータのセットを用いて、特徴およびオブジェクトのうちの検出された前記少なくとも一方をモデル化する過程と、
特徴およびオブジェクトのうちの検出された前記少なくとも一方の、あらゆるインスタンスを、複数のフレームにわたって相関させる過程と、
相関された前記インスタンスの、少なくとも１つのトラックを形成する過程と、
前記少なくとも１つのトラックを、符号化する映像データの少なくとも１つのブロックに関連付ける過程と、
関連付けられた前記トラックの情報を用いて、映像データの前記少なくとも１つのブロックに対するモデルベース予測を生成する過程であって、前記モデルベース予測を、処理した映像データとして記憶することを含む、過程と、
を備える、映像データの処理方法。
【請求項２】
請求項１に記載の映像データの処理方法において、前記検出アルゴリズムが、ノンパラメトリックな特徴検出アルゴリズムの種類に含まれる、映像データの処理方法。
【請求項３】
請求項１に記載の映像データの処理方法において、前記パラメータのセットが、特徴およびオブジェクトのうちの前記少なくとも一方に関する情報を含み、メモリに記憶される、映像データの処理方法。
【請求項４】
請求項３に記載の映像データの処理方法において、特徴のパラメータが、特徴記述子ベクトルおよび当該特徴の位置を含む、映像データの処理方法。
【請求項５】
請求項４に記載の映像データの処理方法において、前記パラメータが、その特徴の検出時に生成される、映像データの処理方法。
【請求項６】
請求項１に記載の映像データの処理方法において、映像データの前記少なくとも１つのブロックがマクロブロックであり、前記少なくとも１つのトラックが特徴を当該マクロブロックに関連付ける、映像データの処理方法。
【請求項７】
映像データを処理する方法であって、
対象の領域における特徴およびオブジェクトのうちの少なくとも一方を検出する過程と、
パラメータのセットを用いて、特徴およびオブジェクトのうちの前記少なくとも一方をモデル化する過程と、
特徴およびオブジェクトのうちの前記少なくとも一方の、あらゆるインスタンスを、複数のフレームにわたって相関させる過程と、
相関された前記インスタンスの、少なくとも１つの行列を形成する過程と、
前記少なくとも１つの行列を、符号化する映像データの少なくとも１つのブロックに関連付ける過程と、
関連付けられた前記行列の情報を用いて、映像データの前記少なくとも１つのブロックに対するモデルベース予測を生成する過程であって、前記モデルベース予測を、処理した映像データとして記憶することを含む、過程と、
を備える、映像データの処理方法。
【請求項８】
請求項７に記載の映像データの処理方法において、前記パラメータのセットが、特徴およびオブジェクトのうちの前記少なくとも一方に関する情報を含み、メモリに記憶される、映像データの処理方法。
【請求項９】
請求項８に記載の映像データの処理方法において、特徴のパラメータが、特徴記述子ベクトルおよび当該特徴の位置を含む、映像データの処理方法。
【請求項１０】
請求項９に記載の映像データの処理方法において、前記パラメータが、その特徴の検出時に生成される、映像データの処理方法。
【請求項１１】
請求項７に記載の映像データの処理方法において、さらに、
あるベクトル空間の少なくとも１つの部分空間を用いて、前記少なくとも１つの行列を、特徴およびオブジェクトのうちの相関された前記少なくとも一方の、パラメトリックモデルとしてまとめる過程、
を含む、映像データの処理方法。
【請求項１２】
映像データを処理するコーデックであって、
少なくとも２つの映像フレーム内における特徴のインスタンスを特定する、特徴ベース検出手段であって、特定される、当該特徴のインスタンスが、前記１つまたは２つ以上の映像フレーム内の他のピクセルよりもデータ複雑さを示す複数のピクセルを有する、特徴ベース検出手段と、
前記特徴ベース検出手段に動作可能に接続されたモデル化手段であって、２つまたは３つ以上の映像フレーム内における特徴の前記インスタンスの対応関係をモデル化する、特徴ベースの対応関係モデルを生成するモデル化手段と、
前記特徴ベースの対応関係モデルを用いて特徴の前記インスタンスを符号化する方が、第１の映像符号化プロセスを用いて特徴の当該インスタンスを符号化するよりも圧縮効率が向上すると判断された場合に、前記特徴ベースの対応関係モデルの使用を優先するキャッシュと、
を備える、コーデック。
【請求項１３】
請求項１２に記載のコーデックにおいて、従来の映像圧縮法による前記ピクセルの符号化が所定の閾値を超える場合に、前記データ複雑さが判断される、コーデック。
【請求項１４】
請求項１２に記載のコーデックにおいて、従来の映像圧縮法により前記特徴を符号化すると割り当てられる帯域量が所定の閾値を超える場合に、前記データ複雑さが判断される、コーデック。
【請求項１５】
請求項１４に記載のコーデックにおいて、前記所定の閾値が、所定の数値、データベースに記憶された所定の数値、過去に符号化した特徴に割り当てられた帯域量の平均値として設定される数値、および過去に符号化した特徴に割り当てられた帯域量の中央値として設定される数値のうちの少なくとも１つである、コーデック。
【請求項１６】
請求項１２に記載のコーデックにおいて、前記第１の映像符号化プロセスが、動き補償予測プロセスを含む、コーデック。
【請求項１７】
請求項１２に記載のコーデックにおいて、前記使用の優先が、競争モード内の各ソリューション候補の符号化コストを比較することによって決定され、前記ソリューション候補が、追跡手段、キー予測動きモデル、キー予測サンプリングスキーム、サブタイル化スキーム、再構成アルゴリズム（、および（場合によっては）副次的な予測スキーム）を含む、コーデック。
【請求項１８】
請求項１７に記載のコーデックにおいて、前記特徴ベースのモデル化の使用が優先されると、特徴の前記インスタンスのデータ複雑さのレベルが前記閾値として使用され、これにより、特徴の後続のインスタンスがその閾値以上のデータ複雑さのレベルを示すと、前記エンコーダが、特徴の当該後続のインスタンスに対する特徴ベースの圧縮の開始及び使用を自動的に判断する、コーデック。
【請求項１９】
請求項１２に記載のコーデックにおいて、前記特徴ベース検出手段が、ＦＰＡトラッカー、ＭＢＣトラッカーおよびＳＵＲＦトラッカーのうちの１つを利用する、コーデック。
【請求項２０】
映像データを処理するコーデックであって、
少なくとも２つの映像フレーム内における特徴のインスタンスを特定する、特徴ベースの検出手段であって、特定される、特徴の当該インスタンスが、前記少なくとも２つの映像フレームのうちの少なくとも１つの映像フレーム内の他のピクセルよりもデータ複雑さを示す複数のピクセルを有する、特徴ベース検出手段と、
前記特徴ベース検出手段に動作可能に接続されたモデル化手段であって、前記少なくとも２つの映像フレーム内における、特徴の特定されたインスタンスの対応関係をモデル化する特徴ベースの対応関係モデルを生成するモデル化手段と、
複数の前記特徴ベースの対応関係モデルのうち、所与の特徴ベースの対応関係モデルにより、特徴の特定された前記インスタンスの圧縮効率が向上すると判断された場合に、その対応関係モデルの使用を優先するメモリと、
を備える、コーデック。
【請求項２１】
請求項２０に記載のコーデックにおいて、特定された特徴の圧縮効率を、第１の映像符号化プロセスを用いた場合の特徴の当該特徴のインスタンの符号化と、データベースに記憶された圧縮効率の所定の数値との一方と比べることにより、当該特徴の特定されたインスタンスの圧縮効率の向上を判断する、コーデック。
【請求項２２】
映像データを処理する方法であって、
特徴のペルおよび特徴記述子のうちの少なくとも一方をベクトル化することにより、特徴をモデル化する過程と、
（ａ）特徴のペルの異なるベクトル間または異なる特徴記述子間の平均二乗誤差（ＭＳＥ）の最小化と、（ｂ）特徴のペルの異なるベクトル間または異なる特徴記述子間の内積の最大化との少なくとも一方により、類似する特徴を特定する過程と、
標準の動き予測・補償アルゴリズムを適用する過程であって、これにより前記特徴の並進動きを考慮し、処理した映像データを得る過程と、
を備える、映像データの処理方法。
【請求項２３】
映像データを処理する方法であって、
モデルベース予測を、ターゲットのフレームを符号化するようにコーデックを構成することによって実現する過程と、
従来の符号化プロセスを用いて、前記ターゲットのフレーム内のマクロブロックを符号化する過程と、
前記マクロブロックの符号化を分析する過程であって、そのマクロブロックの従来の符号化が効率的と非効率の少なくとも一方と判断され、前記従来の符号化が非効率と判断された場合、前記マクロブロックに対する予測を複数のモデルに基づいて複数生成することによって、前記エンコーダが分析され、そのマクロブロックの前記複数の予測の評価が、符号化サイズに基づく、過程と、
前記マクロブロックの前記予測を、前記従来の符号化によるマクロブロックと共に順位付けする過程と、
を備える、映像データの処理方法。
【請求項２４】
請求項２３に記載の映像データの処理方法において、前記マクロブロックの前記従来の符号化を、符号化サイズが所定のサイズ閾値よりも小さい場合に効率的とする、映像データの処理方法。
【請求項２５】
請求項２３に記載の映像データの処理方法において、前記マクロブロックの前記従来の符号化を、前記ターゲットマクロブロックがスキップマクロブロックである場合に効率的とする、映像データの処理方法。
【請求項２６】
請求項２３に記載の映像データの処理方法において、前記マクロブロックの前記従来の符号化を、符号化サイズが閾値よりも大きい場合に非効率とする、映像データの処理方法。
【請求項２７】
請求項２３に記載の映像データの処理方法において、前記マクロブロックの前記従来の符号化が非効率と判断された場合に、当該マクロブロックに対する符号化を競争モードで複数生成して互いの圧縮効率を比較する、映像データの処理方法。
【請求項２８】
請求項２７に記載の映像データの処理方法において、競争モードの符号化アルゴリズムが、
前記マクロブロックから前記予測を減算する手順であって、これにより、残差信号を生成する手順、
ブロックベースの二次元ＤＣＴの近似を用いて、前記残差信号を変換する手順、および
エントロピーエンコーダを用いて、変換係数を符号化する手順、
を備える、映像データの処理方法。
【請求項２９】
請求項２３に記載の映像データの処理方法において、複数の予測を生成することによって分析される前記エンコーダが、一次的予測および重み付けされた副次的予測を合計する複合予測を生成する、映像データの処理方法。
【請求項３０】
映像データを処理する方法であって、
モデルベース圧縮のために、複数の忠実度でデータをモデル化する過程であって、当該複数の忠実度が、マクロブロック階層、特徴としてのマクロブロック階層、特徴階層、およびオブジェクト階層のうちの少なくとも１つを含む過程、
を備え、
前記マクロブロック階層は、ブロックベースの動き予測・補償（ＢＢＭＥＣ）アプリケーションを用いて、復号化した参照フレーム内の限られた空間から各タイルに対する予測を見つけ出し、
前記特徴としてのマクロブロック階層は、（ｉ）前記マクロブロック階層と同じ１回目のＢＢＭＥＣアプリケーションを用いて、一番最近の参照フレームからターゲットのマクロブロックの第１の予測を見つけ出し、（ｉｉ）２回目のＢＢＭＥＣアプリケーションを用いて、二番目に最近の参照フレームを探索することにより、前記第１の予測に対する第２の予測を見つけ出し、（ｉｉｉ）徐々に過去のフレームを溯ってＢＢＭＥＣアプリケーションを適用することにより、前記ターゲットのマクロブロックのトラックを生成し、
前記特徴階層は、マクロブロックのグリッドに関係なく特徴を検出及び追跡し、その特徴を当該特徴と重複するマクロブロックに関連付けて、特徴のトラックを用いて、復号化した参照フレームをナビゲートすることで前記重複するマクロブロックに対する良好なマッチを見つけ出し、さらに、複数の特徴が１つの対象のターゲットのマクロブロックと重複する場合には、重複の最も大きい特徴が当該ターゲットのマクロブロックをモデル化するのに選択され、
前記オブジェクト階層では、オブジェクトが複数のマクロブロックを包含するか又は複数のマクロブロックと重複する場合、そのオブジェクトに対応する全てのマクロブロックに関して単一の動きベクトルを算出可能であり、これにより演算量及び符号化サイズを節約する、
映像データの処理方法。
【請求項３１】
請求項３０に記載の映像データの処理方法において、前記複数の忠実度が、順次的に調べられる、映像データの処理方法。
【請求項３２】
請求項３０に記載の映像データの処理方法において、前記複数の忠実度が、競争モードで調べられる、映像データの処理方法。
【請求項３３】
プログラムコード手段を備えるコンピュータプログラムプロダクトであって、
前記プログラムコード手段は、コンピュータにロードされることにより、請求項１に記載の処理方法を実行するように当該コンピュータを制御する、コンピュータプログラムプロダクト。
【請求項３４】
プログラムコード手段を備えるコンピュータプログラムプロダクトであって、
前記プログラムコード手段は、コンピュータにロードされることにより、請求項７に記載の処理方法を実行するように当該コンピュータを制御する、コンピュータプログラムプロダクト。
【請求項３５】
プログラムコード手段を備えるコンピュータプログラムプロダクトであって、
前記プログラムコード手段は、コンピュータにロードされることにより、請求項２２に記載の処理方法を実行するように当該コンピュータを制御する、コンピュータプログラムプロダクト。
【請求項３６】
プログラムコード手段を備えるコンピュータプログラムプロダクトであって、
前記プログラムコード手段は、コンピュータにロードされることにより、請求項２３に記載の処理方法を実行するように当該コンピュータを制御する、コンピュータプログラムプロダクト。
【請求項３７】
プログラムコード手段を備えるコンピュータプログラムプロダクトであって、
前記プログラムコード手段は、コンピュータにロードされることにより、請求項３０に記載の処理方法を実行するように当該コンピュータを制御する、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、2012年3月26日付出願の米国仮特許出願第61/615,795号および2012年9月28日付出願の米国仮特許出願第61/707,650号の利益を主張する。本願は、さらに、2012年12月21日付出願の米国特許出願第13/725,940号の利益を主張する。この2012年12月21日付出願の米国特許出願第13/725,940号は、2008年10月7日付出願の米国仮特許出願第61/103,362号の利益を主張する2009年10月6日付出願のPCT/US2009/059653の米国移行出願である、2009年10月6日付出願の米国特許出願第13/121,904号の一部継続出願である。この2009年10月6日付出願の米国特許出願第13/121,904号は、2008年1月4日付出願の米国特許出願第12/522,322号の一部継続出願である。この2008年1月4日付出願の米国特許出願第12/522,322号は、2007年1月23日付出願の米国仮特許出願第60/881,966号の利益を主張し、2006年6月8日付出願の米国仮特許出願第60/811,890号に関連し、さらに、2006年3月31日付出願の米国特許出願第11/396,010号の一部継続出願である。この2006年3月31日付出願の米国特許出願第11/396,010号は、2006年1月20日付出願の米国特許出願第11/336,366号の一部継続出願であり、現在では米国特許第7,457,472号である。その2006年1月20日付出願の米国特許出願第11/336,366号は、2005年11月16日付出願の米国特許出願第11/280,625号の一部継続出願であり、現在では米国特許第7,436,981号である。その2005年11月16日付出願の米国特許出願第11/280,625号は、2005年9月20日付出願の米国特許出願第11/230,686号の一部継続出願であり、現在では米国特許第7,457,435号である。その2005年9月20日付出願の米国特許出願第11/230,686号は、2005年7月28日付出願の米国特許出願第11/191,562号の一部継続出願であり、現在では米国特許第7,426,285号である。その2005年7月28日付出願の米国特許出願第11/191,562号は、現在では米国特許第7,158,680号である。上記の米国特許出願第11/396,010号は、さらに、2005年3月31日付出願の米国仮特許出願第60/667,532号および2005年4月13日付出願の米国仮特許出願第60/670,951号の利益を主張する。本願は、さらに、2012年3月27日付出願の米国仮特許出願第61/616,334号に関連する。
【０００２】
上記の特許出願及び特許の全教示内容は、参照をもって本願に取り入れたものとする。
【背景技術】
【０００３】
動画像圧縮（映像圧縮）は、デジタル映像データを、少ないビット数で記憶または伝送可能な形式で表現するプロセスであると言える。映像圧縮アルゴリズムは、映像データの空間的な、時間的なまたは色空間の冗長性や非関連性を利用することにより、圧縮を達成することができる。典型的に、映像圧縮アルゴリズムは、映像データをフレームのグループやペルのグループなどの各部位に分割して、その映像に含まれる冗長な部分を特定し、当該冗長な部分を元々の映像データよりも少ないビット数で表現し得る。このような冗長性を縮小させることにより、より大きな圧縮を達成することができる。映像データを符号化フォーマットに変換する際にはエンコーダを用いる。そして、デコーダを用いることにより、符号化された映像を本来の映像データにほぼ匹敵する形態に変換する。エンコーダ／デコーダを実現するものがコーデック（符号器復号器）と称される。
【０００４】
標準的なエンコーダは、映像フレームの符号化にあたって、１つの映像フレームを、互いに重複しない複数の符号化単位すなわちマクロブロック（複数の隣接するペルからなる矩形ブロック）に分割する。典型的に、マクロブロック（ＭＢ）は、フレームの左から右の走査順序や上から下の走査順序で処理される。圧縮は、これらのマクロブロックが先に符号化されたデータを用いて予測・符号化される場合に、行われる。同じフレーム内の空間的に隣接する先に符号化したマクロブロックサンプルを用いてマクロブロックを符号化するプロセスは、イントラ予測と称される。イントラ予測は、データに含まれる空間的な冗長性を利用しようとするものである。先に符号化したフレームからの類似する領域と動き予測モデルとを用いてマクロブロックを符号化するプロセスは、インター予測と称される。インター予測は、データに含まれる時間的な冗長性を利用しようとするものである。
【０００５】
エンコーダは、符号化するデータと予測（予測結果）との差分を測定することにより、残差を生成し得る。この残差は、予測されたマクロブロックと本来のマクロブロックとの差分となり得る。また、エンコーダは、動きベクトル情報（例えば、符号化中または復号化中のマクロブロックに対する参照フレーム内のマクロブロックの位置を示す動きベクトル情報）を生成し得る。これらの予測、動きベクトル（インター予測用）、残差および関連データを、空間変換、量子化、エントロピー符号化、ループフィルタなどの他のプロセスと組み合せることにより、映像データの効率的な符号を生成することができる。量子化及び変換を受けた残差は、処理されてから前記予測に加算され、復号化したフレームに組み込まれて、フレームストア（フレームを記憶する手段又は記憶部）に記憶される。このような映像符号化技術の詳細は、当業者であればよく知っている。
【０００６】
Ｈ.２６４／ＭＰＥＧ−４ＡＶＣ（Advanced Video Encoding）は、ブロックベースの動き予測・補償を利用して比較的低いビットレートで高品質映像を表現することが可能なコーデック規格である（以降では、「Ｈ．２６４」と称する）。Ｈ．２６４は、ブルーレイディスクだけでなく、インターネット上のビデオストリーミング、テレビ会議、ケーブルテレビおよび直接衛星テレビを含む主要な映像配信チャネルに利用される符号化方式の選択肢の１つである。Ｈ．２６４の符号化基本単位は、１６×１６マクロブロックである。Ｈ．２６４は、広く普及している最新の動画像圧縮規格である。
【０００７】
基礎的なＭＰＥＧ規格は、フレーム内のマクロブロックの符号化方法によって、３種類のフレーム（またはピクチャ）を規定する。そのうちの１つであるＩフレーム（イントラ符号化ピクチャ）は、そのフレームに含まれるデータのみを用いて符号化する。一般的に、映像信号データを受け取ったエンコーダは、まずＩフレームを生成して、映像フレームデータを複数のマクロブロックに分割し、イントラ予測を用いて各マクロブロックを符号化する。このように、Ｉフレームは、イントラ予測マクロブロック（または「イントラマクロブロック」）だけで構成される。Ｉフレームは、符号化済みのフレームからの情報を利用せずに符号化を実行するので、符号化コストが高くなる。Ｐフレーム（予測ピクチャ）は、先に符号化したＩフレーム又はＰフレームからのデータ（参照フレームとも称される）を用いた前方向予測により符号化する。Ｐフレームは、イントラマクロブロックおよび（前方向）予測マクロブロックのいずれも含み得る。Ｂフレーム（双予測ピクチャ）は、前のフレームと後のフレームの両方からのデータを用いた双方向予測により符号化する。Ｂフレームは、イントラマクロブロック、（前方向）予測マクロブロックおよび双予測マクロブロックのいずれも含み得る。
【０００８】
既述したように、従来のインター予測は、ブロックベースの動き予測・補償（ＢＢＭＥＣ）に基づいている。ＢＢＭＥＣプロセスは、ターゲットのマクロブロック（符号化する現在のマクロブロック）と先に符号化した参照フレーム内の同サイズの領域との最良のマッチを探索する。最良のマッチが見つかると、エンコーダは動きベクトルを送信し得る。この動きベクトルは、その最良のマッチのフレーム内位置に対するポインタ、さらに、その最良のマッチと当該最良のマッチに対応する前記ターゲットのマクロブロックとの差分に関する情報を含み得る。映像の「データキューブ」（高さ×幅×フレームのインデックス）にわたってこのような探索を徹底的に実行して、マクロブロック毎に最良のマッチを見つけ出すことも可能ではあるが、一般的に演算負荷があまりにも大きくなってしまう。したがって、ＢＢＭＥＣ探索プロセスは制限されて、時間的には探索する参照フレームに制限され、空間的には探索する隣接領域に制限される。すなわち、「最良の」マッチが必ずしも常に見つかるとは限らず、高速で変化するデータの場合には特にそうである。
【０００９】
参照フレームの特定の集合のことを、Group of Pictures（ピクチャのグループ）（ＧＯＰ）と称する。ＧＯＰは、各参照フレーム内の復号化したペルのみを含み、マクロブロックまたはフレームがどのように符号化されていたか（Ｉフレーム、ＢフレームまたはＰフレーム）についての情報を含まない。ＭＰＥＧ−２などの古い映像圧縮規格では、Ｐフレームの予測に１つの参照フレーム（過去のフレーム）を利用し、Ｂフレームの予測に２つの参照フレーム（１つ前のフレームと１つ後のフレーム）を利用する。対照的に、Ｈ．２６４規格では、Ｐフレームの予測にもＢフレームの予測にも、複数の参照フレームを利用することができる。現在のフレームと時間的に隣接するフレームを参照フレームに用いるのが典型的であるが、時間的に隣接するフレームの
セット以外のフレームを参照フレームとして指定することも可能である。
【００１０】
従来の圧縮方法では、複数のフレームからの複数のマッチをブレンディング（混合）することにより、現在のフレームの領域を予測し得る。ブレンディングは、複数のマッチの線形混合であったり対数線形混合であったりする。このような双予測方法は、例えば、ある画像から別の画像への移行に経時的なフェードが設けられている際に有効である。フェードプロセスは２つの画像の線形ブレンディングであり、双予測によって効率的にモデル化できる場合がある。従来の標準的なエンコーダの中には、例えばＭＰＥＧ−２内挿モードのように、多数のフレームにわたって線形パラメータの内挿により双予測モデルを合成できるものもある。
【００１１】
Ｈ．２６４規格は、さらに、フレームを、１つ以上の互いに隣接するマクロブロックで構成された領域、具体的には、スライスと称さる空間的に互いに独立した領域に分割することにより、さらなる符号化の自由度を提供する。同じフレーム内の各スライスは、他のスライスとは独立して符号化される（つまり、互いに独立して復号化される）。そして、既述した３種類のフレームと同様に、Ｉスライス、ＰスライスおよびＢスライスが定義される。したがって、１つのフレームは、複数の種類のスライスによって構成され得る。さらに、エンコーダ側では、一般的に、処理したスライスの順番を自由に決めることができる。これにより、デコーダは、デコーダ側に到達するスライスを任意の順番で処理することができる。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
Ｈ．２６４規格により、コーデックは、ＭＰＥＧ−２やＭＰＥＧ−４ＡＳＰ（Advanced Simple Profile）などの古い規格に比べて、小さいファイルサイズで優れた品質の映像を提供することができる。しかし、Ｈ．２６４規格を組み込んだ「従来の」圧縮コーデックで、限られた帯域幅のネットワークで動作し且つ限られたメモリを有するデバイス（例えば、スマートフォンや他のモバイルデバイスなど）での映像の品質向上や解像度向上に対する需要に応える際には、一般的に悪戦苦闘を強いられてきた。そのようなデバイスで満足のいく再生を実現するには、映像の品質や解像度を妥協せざるを得ないことが多い。さらに、映像の解像度が向上しているため、ファイルサイズが増加し、当該映像を前記デバイスで記憶したり前記デバイス外部に記憶したりする際に課題となる。
【００１３】
本発明は、従来のコーデックのインター予測プロセスの根本的な限界を認識し、高次のモデリング（モデル化）を適用することにより、従来のエンコーダと同じ一般処理フロー及び一般処理フレームワークを維持しながら、上記のような限界を解消し、向上したインター予測を提供する。
【課題を解決するための手段】
【００１４】
本発明にかかる高次のモデリングにより、より多くの予測探索空間（映像データキューブ）をナビゲートして（対象にして）、従来のブロックベースの動き予測・補償を用いた場合よりも優れた予測を効率良く生成することができる。まず、コンピュータビジョン（コンピュータ視覚）ベースの特徴・オブジェクト検出アルゴリズムが、映像データキューブの中から対象の領域を特定する。その検出アルゴリズムは、ノンパラメトリックな特徴検出アルゴリズムの種類から選択され得る。次に、検出された特徴やオブジェクトが、パラメータのコンパクトな（少規模の）セットを用いてモデル化され、特徴／オブジェクトの類似するインスタンスが複数のフレームにわたって相関される（対応付けられる）。本発明では、さらに、相関された特徴／オブジェクトからトラックを形成し、当該トラックを、符号化される映像データの特定のブロックに関連付けて、この追跡情報を用いてデータの当該ブロックについてモデルベース予測を生成する。
【００１５】
各実施形態において、符号化される、前記データの特定のブロックは、マクロブロックであり得る。形成された前記トラックは、特徴を、対応するマクロブロックに関連付け得る。
【００１６】
特徴／オブジェクトを追跡する構成は、従来の符号化／復号化プロセスにさらなるコンテキストをもたらす。さらに、パラメータのコンパクトなセットで特徴／オブジェクトをモデル化するので、参照フレームのペル全体を記憶する高コストな構成と異なり、特徴／オブジェクトに関する情報をメモリに効率的に記憶することができる。これにより、特徴／オブジェクトモデルでは、許容できないほどの演算量やメモリ量を必要とせずに、より多くの映像データキューブを探索することができる。このようにして得られるモデルベース予測は、より多くの予測探索空間から導き出されたものなので、従来のインター予測よりも優れている。
【００１７】
一部の実施形態において、前記パラメータのコンパクトなセットは、前記特徴／オブジェクトに関する情報を含むものであり、かつ、メモリに記憶され得る。特徴に対して、対応する前記パラメータは、特徴記述子ベクトルおよび当該特徴の位置を含み得る。その対応するパラメータは、その特徴の検出時に生成され得る。
【００１８】
特徴／オブジェクトのインスタンスを複数のフレームにわたって相関させた後、これらの相関されたインスタンスを、（特徴／オブジェクトのトラックを形成する代わりに）集合体行列に集めてもよい。この場合、本発明では、そのような集合体行列を形成し、重要なベクトルの部分空間を用いて当該行列を要約して、この部分ベクトル空間を前記相関された特徴／オブジェクトのパラメトリックモデルとして使用する。これにより、それら特定の特徴／オブジェクトがデータに現れた際に、極めて効率的な符号化を実現することができる。
【００１９】
前述した本発明の原理を具現化した、映像データを処理するコンピュータベースの方法、映像データを処理するコーデック、ならびに映像データを処理するその他のコンピュータシステム及び装置が提供され得る。
【００２０】
前述の内容は、添付の図面に示す本発明の例示的な実施形態についての以下の詳細な説明から明らかになる。異なる図をとおして、同一の符号は同一の構成又は構成要素を指している。図面は必ずしも縮尺どおりではなく、むしろ、本発明の実施形態を示すことに重点を置いている。
【図面の簡単な説明】
【００２１】
【図１Ａ】本発明の一実施形態にかかる特徴モデリングを示すブロック図である。
【図１Ｂ】本発明の一実施形態にかかる特徴トラッキング（特徴の追跡）を示すブロック図である。
【図１Ｃ】本発明の一実施形態に従って、特徴を近傍のマクロブロックに関連付ける過程、および当該特徴のトラックを用いて前記マクロブロックの良好な予測を生成する過程を示すブロック図である。
【図２Ａ】本発明の一実施形態に従って、効率的な符号化を実現するための複数の忠実度によるデータのモデル化を示すブロック図である。
【図２Ｂ】本発明の一実施形態に従った、特徴モデルの相関及び集約によるオブジェクト特定の様子を示すブロック図である。
【図２Ｃ】本発明の一実施形態に従った、近傍の特徴の集約および近傍のマクロブロックの集約によるオブジェクト特定の様子を示すブロック図である。
【図３Ａ】本発明の一実施形態にかかる、変換ベースのコーデックの構成の一例を示す概略図である。
【図３Ｂ】本発明の一実施形態にかかる、イントラ予測マクロブロック用のデコーダの一例を示すブロック図である。
【図３Ｃ】本発明の一実施形態にかかる、インター予測マクロブロック用のデコーダの一例を示すブロック図である。
【図３Ｄ】本発明の一実施形態にかかる、特徴ベース予測を用いる変換ベースのコーデックの構成の一例を示す概略図である。
【図４】本発明の一実施形態にかかる、特徴ベース予測フレームワーク内のコーデックの一例を示すブロック図である。
【図５】本発明の一実施形態にかかる、特徴のインスタンス（特徴インスタンス）の状態抽出プロセスを示すブロック図である。
【図６Ａ】本発明の一実施形態にかかる、パラメトリックなモデリング（パラメトリックモデル化）を用いるコーデックの構成要素の一例を示すブロック図である。
【図６Ｂ】本発明の一実施形態にかかる、パラメトリックモデルベースの適応型エンコーダの構成要素の一例を示すブロック図である。
【図６Ｃ】本発明の一実施形態にかかる、特徴モデルのパラメータの内挿による、特徴の動き補償予測の様子を示すブロック図である。
【図７Ａ】本発明の一実施形態にかかる、キャッシュアーキテクチャの一例の概要を示すブロック図である。
【図７Ｂ】本発明の一実施形態かかる、局所的な（短期的な）キャッシュのデータの利用に伴う処理を示すブロック図である。
【図７Ｃ】本発明の一実施形態かかる、長期的なキャッシュのデータの利用に伴う処理を示すブロック図である。
【図８Ａ】実施形態を実現するためのコンピュータネットワーク環境を示す概略図である。
【図８Ｂ】図８Ａのネットワークのコンピュータノードを示すブロック図である。
【図８Ｃ】具体例における特徴ベース圧縮ツールのスクリーンショットである。
【図８Ｄ】本発明の一実施形態かかる、顔特徴及び顔以外の特徴に数字が付されたスクリーンショットである。
【図８Ｅ】本発明の一実施形態かかる、図８Ｄの顏トラッカー（顔追跡手段）により特定された顔を示すスクリーンショットである。
【発明を実施するための形態】
【００２２】
全ての特許公報、全ての特許公開公報およびこれらの公報に引用されている全ての文献の全教示内容は、参照をもって本明細書に取り入れたものとする。以下では、本発明の例示的な実施形態について説明する。
【００２３】
本発明は、標準的な各種符号化方法や各種符号化単位（コーディングユニット）に適用可能である。以下では、特記しない限り、「従来」や「標準的」といった用語（「圧縮」、「コーデック」、「符号」、「エンコーダ」といった用語と共に使用し得る）はＨ．２６４のことを指し、さらに、「マクロブロック」とは、一般性を失うことなくＨ．２６４の符号化基本単位のことを指すものとする。
【００２４】
＜特徴ベースのモデル化＞
【００２５】
＜特徴の定義＞
本発明の構成要素には、記憶時または伝送時にデジタル映像データを最適に表現することができる映像圧縮プロセス及び映像解凍プロセスが含まれ得る。当該プロセスは、映像データの空間的な、時間的なまたはスペクトル的な冗長性や非関連性を有効活用する少なくとも１つの映像圧縮／符号化アルゴリズムを備え得るか又はそのようなアルゴリズムとインターフェースし得る。また、そのような有効活用は、特徴ベースのモデル／パラメータの使用及び保持によって行われ得る。以降では、「特徴」および「オブジェクト」という用語を置き換え可能に使用する。オブジェクトとは、一般性を失うことなく「大規模な特徴」と定義することができる。データのモデル化には、特徴およびオブジェクトのどちらも利用することができる。
【００２６】
特徴とは、互いに近接するペルのグループであって、データ複雑性（データ複雑さ）を示すグループのことを言う。データ複雑性は、後述するように様々な基準（criteria）で検出可能である。圧縮の観点からみると、データ複雑性の特徴とは、究極的に言えば「符号化コストが高いこと」である。符号化コストが高いとは、従来の映像圧縮法によるペルの符号が、「効率的な符号化」と考えられる閾値を超えることを指している。所与の領域に対し、従来のエンコーダが過度の帯域量（bandwidth）を割り当てる場合（従来のインターフレーム探索では、従来の参照フレーム内に当該所与の領域に対する良好なマッチを見つけ出せない場合）には、その領域は「特徴に富んで」おり、特徴モデルベースの圧縮法により、その領域の圧縮を大幅に向上できる可能性が高いことを示唆している。
【００２７】
＜特徴の検出＞
図１Ａには、少なくとも１つの映像フレーム２０−１，２０−２，…，２０−ｎで検出された、特徴のインスタンス（特徴インスタンス）１０−１，１０−２，…，１０−ｎが示されている。典型的に、このような特徴は、ペルから導き出される構造的情報に基づく複数の条件に基づいて、さらに、従来の圧縮法ではその特徴領域（特徴の領域）の符号化に過度の帯域量を利用しなければならないことを示す複雑性基準に基づいて検出され得る。さらに、特徴の各インスタンスは、図１Ａに示すように、フレーム２０−１，２０−２，…，２０−ｎ内で空間的な広がり又は境界を有する「領域」３０−１，３０−２，…，３０−ｎとして空間的に特定され得る。特徴のこのような領域（特徴領域）３０−１，３０−２，…，３０−ｎは、例えば、ペルデータで構成される単純な直方形領域として抽出され得る。本発明の一実施形態において、前記特徴領域のサイズは、Ｈ．２６４のマクロブロックと同じ１６×１６のサイズである。
【００２８】
過去の文献には、ペル自体の構造に基づいて特徴を検出するアルゴリズムとして、ペルデータの各種変換に対してロバスト（頑健）であるノンパラメトリックな特徴検出アルゴリズムの種類を含む、数多くのアルゴリズムが提案されている。例えば、スケール不変特徴量変換（ＳＩＦＴ）［Lowe, David, 2004, "Distinctive image features from scale-invariant keypoints," Int. J. of Computer Vision, 60(2):91-110］は、画像にガウス関数の差分を畳み込むことで斑点状の特徴を検出する。高速化ロバスト特徴（ＳＵＲＦ）アルゴリズム［Bay, Herbert et al., 2008, "SURF: Speeded up robust features," Computer Vision and Image Understanding, 110(3):346-359］も、ヘシアン演算子の行列式を用いることで斑点状の特徴を検出する。本発明の一実施形態では、ＳＵＲＦアルゴリズムを用いて特徴を検出する。
【００２９】
別の実施形態では、2009年10月6日付出願の米国特許出願第13/121,904号に全容が記載されているように、従来のエンコーダでの符号化複雑性（帯域量）に基づいて、特徴が検出され得る。なお、この米国特許出願の全教示内容は、参照をもって本明細書に取り入れたものとする。一例として、符号化複雑性は、特徴が現れる領域を従来の圧縮法（例えば、Ｈ．２６４など）で符号化するのに必要な帯域量（ビット数）を分析することによって判断され得る。すなわち、検出アルゴリズムが異なればその動作も異なるが、いずれにしても実施形態では、どの検出アルゴリズムであっても、映像データ全体にわたる映像フレームシーケンス全体に対して適用される。本発明を限定しない一例として、Ｈ．２６４エンコーダによる第１の符号化パスが行われて「帯域量マップ」が生成される。この帯域量マップにより、Ｈ．２６４による符号化コストが、各フレームのどの箇所で最も高くなるのかが定義されるか、あるいは、その帯域量マップがそれを判断する。
【００３０】
典型的に、Ｈ．２６４などの従来のエンコーダは、映像フレームを、互いに重なり合わないように並んだ複数の一様なタイル（例えば、１６×１６マクロブロック、当該マクロブロックのサブタイルなど）に分割する。一実施形態において、各タイルは、Ｈ．２６４でそのタイルを符号化するのに必要な相対的帯域量に基づいて、特徴候補として分析され得る。一例として、Ｈ．２６４でタイルを符号化するのに必要な帯域量が、一定の閾値と比較され得る。そして、帯域量がその閾値を超える場合には、タイルが「特徴」と判断され得る。この閾値は、所定の数値であってもよい。その場合、この所定の数値は、特徴の検出時に簡単にアクセスできるようにデータベースに記憶され得る。前記閾値は、過去に符号化した特徴に割り当てられた帯域量の平均値として設定される数値であってもよい。同様に、前記閾値は、過去に符号化した特徴に割り当てられた帯域量の中央値として設定される数値であってもよい。あるいは、フレーム全体（または映像全体）にわたってタイルの帯域量の蓄積分布関数を算出し、全タイルの帯域量の上位パーセンタイル内に入る帯域量を有する全てのタイルを「特徴」と判断するようにしてもよい。
【００３１】
別の実施形態では、映像フレームが、互いに重なり合うタイルに分割され得る。この重なり合いのサンプリングは、１つのタイルの中心に当該タイルと重なり合う４つのタイルの角の交差点が位置するようにオフセットされ得る。このように過剰な分割により、最初のサンプリング位置で特徴を検出できる可能性が高まる。その他にも、より複雑な分割方法として、トポロジー的な分割方法が挙げられる。
【００３２】
特徴として検出された小規模の空間的領域を分析し、所与の整合性基準（coherency criteria（一貫性を満たす基準））に基づき当該小規模の空間的領域同士を組み合わせて大規模の空間的領域にできるか否かを判断するようにしてもよい。前記空間的領域のサイズは、ペルの小規模のグループから、実際のオブジェクトまたは実際のオブジェクトの一部に相当し得る大規模な部分まで多種多様であり得る。ただし、検出される特徴は、オブジェクトやサブオブジェクトなどの互いに区別可能な単一のエンティティーと必ずしも対応関係にある必要はない。１つの特徴に、２つ以上のオブジェクトのそれぞれのエレメント（構成要素）が含まれることもあれば、オブジェクトのエレメントが全く含まれないこともある。本発明にかかる特徴の重要な側面は、特徴モデルベースの圧縮法により、従来の圧縮法に比べて、特徴を構成するペルの集合を効率的に圧縮できるという点である。
【００３３】
小規模の領域同士を組み合わせて大規模の領域にする際の整合性基準には、動きの類似性、動き補償後の外観の類似性、および符号化複雑性の類似性が含まれ得る。整合性を有する動きは、高次の動きモデルにより見つけ出され得る。一実施形態では、小規模の各領域の並進動きがアフィン運動モデルに組み込まれ得る。このモデルにより、それら小規模の各領域の動きモデルを近似することができる。小規模の領域のセットについて、それらの動きを常に集約モデルに組み込むことができる場合、これは、当該小規模の領域間が依存しており整合性があることを示唆している。そのような整合性は、集約特徴モデルによって有効活用することができる。
【００３４】
＜特徴モデルの形成＞
重要なのは、複数の映像フレームで特徴を検出した後、同じ特徴の複数のインスタンスを相関させることである。このプロセスは「特徴相関」と称されるプロセスであり、後述するように、（特定の特徴の経時的位置を定める）特徴トラッキングの基礎となる。ただし、この特徴相関プロセスを効果的に行うには、まず、類似する特徴インスタンスを類似しない特徴インスタンスから区別するために用いられる「特徴モデル」を定義する必要がある。
【００３５】
一実施形態では、特徴のペル（特徴ペル）自体を用いて特徴をモデル化し得る。特徴のペルの領域は二次元であり、ベクトル化可能である。異なる特徴のペルのベクトル間の平均二乗誤差（ＭＳＥ）の最小化又は当該異なる特徴のペルのベクトル間の内積の最大化により、類似する特徴を特定することができる。この構成の問題点として、特徴ペルのベクトルが並進、回転、拡大／縮小などの特徴の小規模の変化、さらには、特徴の照度の変化に敏感な点が挙げられる。映像をとおして特徴はこのような変化を頻繁に起こすので、特徴ペルのベクトルを用いて特徴をモデル化して相関させる場合、そのような変化を考慮する必要がある。本発明の一実施形態では、従来のコーデック（例えば、Ｈ．２６４など）に見受けられる、特徴の並進動きを考慮するための標準的な動き予測・補償アルゴリズムを適用するという極めて単純な方法により、特徴の上述したような変化を考慮する。他の実施形態では、より複雑な方法を用いて、フレーム間の特徴の回転、拡大／縮小および照度変化を考慮し得る。
【００３６】
代替の実施形態において、特徴モデルは、特徴の小規模の回転、並進、拡大／縮小、および場合によっては照度変化に対して「不変な」、特徴のコンパクトな表現（所与の種類の変換の適用時に変化しない表現）である（ここで、「コンパクト」とは、本来の特徴ペルのベクトルの次元よりも低次元であることを意味する）。すなわち、フレーム間で特徴が小規模の変化を起こしても、この場合の特徴モデルは比較的一定のままである。このようなコンパクトな特徴モデルは、しばしば「記述子（descriptor）」と称される。一例として、本発明の一実施形態では、ＳＵＲＦの特徴記述子の長さが、Ｈａａｒウェーブレット変換応答の和に基づいて６４とされる（これに対し、特徴ペルのベクトルの長さは２５６である）。別の実施形態では、特徴ペルのカラーマップから、５個のビンのカラーヒストグラムが構築され、この５つのコンポーネントからなるヒストグラムが、特徴記述子として機能する。さらなる別の実施形態では、二次元ＤＣＴにより、特徴領域が変換される。そして、係数行列の上三角部分および下三角部分にわたって、二次元ＤＣＴ係数が合計される。この合計が、エッジ特徴空間を構成し、前記特徴記述子として機能し得る。
【００３７】
特徴記述子を用いて特徴をモデル化した場合、（特徴のペル間のベクトルの代わりに、）特徴記述子間のＭＳＥの最小化又は当該特徴記述子間の内積の最大化により、類似する特徴が特定され得る。
【００３８】
＜特徴相関（特徴関連付け）＞
特徴を検出・モデル化した後の次の過程は、類似する特徴を、複数のフレームにわたって相関させる（対応付ける）ことである。それぞれのフレーム内に現れる各特徴インスタンスは、当該特徴の外観のサンプルである。複数の特徴インスタンスは、複数のフレームにわたって相関されることで、同じ特徴に「属する」と見なされる。同じ特徴に属するように相関された複数の特徴インスタンスは、特徴トラックを形成するように集約してもよいし、あるいは、集合体行列４０（図１Ａ）に集めるようにしてもよい。
【００３９】
「特徴トラック」は、映像フレームに対する特徴の位置（ｘ，ｙ）として定義される。一実施形態では、特徴の新たに検出されたインスタンスを、追跡した特徴と関連付ける（映像の最初のフレームの場合には、検出した特徴又は過去に検出された特徴と関連付ける）。これを基礎として、現在のフレームにおける特徴インスタンスが、これまでに構築された特徴トラックのうちのどのトラックの延長上に属するのかを決定する。現在のフレームにおける特徴インスタンスを、これまでに構築した特徴トラック（映像の最初のフレームの場合には、検出した特徴又は過去に検出された特徴と関連付けることで、特徴の追跡が行われる。
【００４０】
図１Ｂに、特徴追跡手段（特徴トラッカー）７０を用いて特徴６０−１，６０−２，…，６０−ｎを追跡する様子を示す。特徴検出手段８０（例えば、ＳＩＦＴ、ＳＵＲＦなど）を用いて、現在のフレームにおける特徴を特定する。現在のフレーム９０において検出された特徴インスタンスが、検出された（又は追跡された）特徴５０と照らし合わされる。一実施形態では、前述した相関過程よりも前に、HarrisとStephensのコーナー検出アルゴリズム［Harris, Chris and Mike Stephens, 1988, "A combined corner and edge detector," in Proc. of the 4th Alvey Vision Conference, pp. 147-151］に見受けられるように、ガウシアンフィルタの微分で特徴の自己相関行列の画像勾配を算出することで、当該特徴の自己相関行列に基づく特徴強度を表す自己相関分析（ＡＣＡ）量を用いることにより、現在のフレームにおける特徴検出候補のセットのなかで順位を決めるようにしてもよい。大きいＡＣＡ量を有する特徴インスタンスが、トラック延長の候補として優先される。一実施形態では、ＡＣＡ順位リストのなかで低い順位にある特徴インスタンスが、そのリストのなかで高い順番にある特徴インスタンスの所与の距離（例えば、１ペルなど）内に位置する場合には、特徴候補のセットから取り除かれる。
【００４１】
種々の実施形態では、特徴記述子（例えば、ＳＵＲＦ記述子など）または特徴ペルのベクトルが、特徴モデルとして機能し得る。一実施形態では、追跡したトラック（図１Ｂの領域６０−１，６０−２，…，６０−ｎ）が、１つずつ、現在のフレーム９０で新たに検出された特徴の中から、トラック延長（追跡の続き）について調べられる。一実施形態では、各特徴トラックの一番最近の特徴インスタンスが、現在のフレームにおけるトラック延長の探索の焦点（すなわち、「ターゲットの特徴」）とされる。現在のフレームにおいて、そのターゲットの特徴の位置の所与の距離（例えば、１６ペルなど）内にある全ての特徴検出候補が調べられ、そのターゲットの特徴に対するＭＳＥが最小となる候補が特徴トラックの延長に選択される。別の実施形態では、ターゲットの特徴に対するＭＳＥが所与の閾値を超える特徴候補については、トラック延長の資格がないとして除外する。
【００４２】
さらなる実施形態では、現在のフレームにおいて、所与の特徴トラックの延長となる資格を有する特徴検出候補がない場合、その現在のフレームにおいて、Ｈ．２６４内の動き補償予測（ＭＣＰ）または汎用的な動き予測・補償（ＭＥＣ）を用いて、マッチング領域を見つけ出すための限定的な探索を実行する。ＭＣＰおよびＭＥＣは、いずれも勾配降下探索を実行して、過去のフレームにおけるターゲットの特徴に対するＭＳＥが最小となる（ＭＳＥ閾値を満足する）、現在のフレーム内のマッチング領域を探索する。現在のフレームにおいて、前記ターゲットの特徴に対するマッチが前記特徴検出候補からも前記ＭＣＰ／ＭＥＣ探索プロセスからも見つけられなかった場合には、その対応する特徴トラックを「無効」または「終了」と判断する。
【００４３】
さらなる実施形態では、２つ以上の特徴トラックについて、現在のフレームにおけるそれぞれの特徴インスタンスが、所与の閾値（例えば、７０％の重複）を超えて合致している場合には、それらの特徴トラックのうちの１つ以外を、今後の検討対象から全て削除又は除外する。この削除プロセスにより、最も長い履歴を有し、かつ、全ての特徴インスタンスを総計した合計ＡＣＡ量が最も大きい特徴トラックを維持することができる。
【００４４】
本発明の一実施形態では、上記の過程の組合せとして、ＳＵＲＦ特徴検出と、ＡＣＡベースの特徴候補の順位決めと、ＭＣＰ／ＭＥＣ探索法で補助しながら行う特徴候補のＭＳＥの最小化による特徴相関とを適用する。以下では、このような組合せを特徴点分析（ＦＰＡ）トラッカー（追跡手段）と称する。
【００４５】
本発明の別の実施形態では、映像フレーム内のマクロブロックを特徴とみなし、Ｈ．２６４のＭＣＰエンジンによって特徴／マクロブロックを登録し、Ｈ．２６４のインターフレーム予測量（変換差分絶対値和（ＳＡＴＤ）など）を用いて特徴／マクロブロックを相関させる。以降では、このような組合せを、マクロブロックキャッシュ（ＭＢＣ）トラッカー（追跡手段）と称する。このＭＢＣトラッカーは、特定のパラメータが異なる点（例えば、探索境界が無効にされているので、より広範囲のマッチ探索を実行できる点）、さらに、マッチングプロセスの特定の構成が異なる点で、標準的なインターフレーム予測と区別される。第３の実施形態では、ＳＵＲＦ検出結果が近傍のマクロブロックと関連付けられて、Ｈ．２６４のＭＣＰエンジン及びインターフレーム予測エンジンを用いて、当該マクロブロックを相関及び追跡する。以降では、このような組合せを、ＳＵＲＦトラッカー（追跡手段）と称する。
【００４６】
代替の一実施形態では、複数の特徴インスタンスを集合体行列に集めて、さらなるモデル化を行う。図１Ａに示すような領域３０−１，３０−２，…，３０−ｎの形態の特徴インスタンスが、同じ特徴を表すものとして相関及び特定される。次に、これらの領域からのペルデータがベクトル化されて集合体行列４０に配置され得る。この集合体行列４０全体が前記特徴を表す。十分な数のサンプルを集合体に集めることにより、当該サンプルを用いて、その特徴をサンプリングしたフレームだけでなく、その特徴をサンプリングしていないフレームにおいても、当該特徴の外観をモデル化することが可能になる。この「特徴外観モデル」の次元数は特徴の次元数と同じであり、前述の特徴記述子モデルと異なる。
【００４７】
領域の前記集合体を、当該集合体内の単一のキー領域を中心として、空間的に正規化（ばらつきの原因を取り除くことによる所与の基準への適合化）するようにしてもよい。一実施形態では、前記集合体の幾何重心に最も近い領域が、前記キー領域として選択される。別の実施形態では、前記集合体内に早いうちから存在する特徴（前記集合体内に存在する期間の長い特徴）が、前記キー領域として選択される。米国特許第7,508,990号、米国特許第7,457,472号、米国特許第7,457,435号、米国特許第7,426,285号、米国特許第7,158,680号、米国特許第7,424,157号、米国特許第7,436,981号、米国特許出願第12/522,322号および米国特許出願第12/121,904号に記載されているように、このような正規化を実行するのに必要な変形成分（deformation）は変形集合体として集められ、正規化後の画像は変更入り外観集合体として集められる。なお、これらの特許及び特許出願の全教示内容は、参照をもって本願に取り入れたものとする。
【００４８】
この実施形態では、前記外観集合体が処理されることによって外観モデルがもたらされ、前記変形集合体が処理されることによって変形モデルがもたらされる。これら外観モデルと変形モデルとの組合せが、この特徴の特徴モデルとなる。この特徴モデルを用いることにより、特徴を、パラメータのコンパクトなセットで表すことが可能になる。一実施形態では、前記集合体行列を特異値分解（ＳＶＤ）して、これにランク低減法を適用し、特異ベクトルの部分集合および対応する特異値のみが維持されるようにすることにより、モデルが形成される。さらなる実施形態において、前記ランク低減法の条件は、ランク低減法の適用によって再構成された前記集合体行列が、当該集合体行列の２ノルムに基づく誤差閾値範囲内で再構成前の完全な集合体行列を近似できるのに十分な数の主要特異ベクトル（および対応する特異値）を維持することとされる。代替の一実施形態では、前記集合体をパターン辞書とみなし、この辞書を繰り替えし探索することによって再構成精度を最大化する直交マッチング追跡（ＯＭＰ）法［Pati, Y.C. et al., 1993, "Orthogonal matching pursuit: Recursive function approximation with applications to wavelet decomposition," in Proc. of the 27th Asilomar Conference, pp. 40-44］により、モデルが形成される。この場合も、ＯＭＰ法の適用後の再構成結果が前記集合体行列の２ノルムに基づく誤差閾値を満足するのに十分な数の集合体ベクトル（および対応するＯＭＰ重み）が維持され得る。後述するように、このようにして形成された特徴の外観モデルおよび変形モデルを、特徴ベースの圧縮に利用してもよい。
【００４９】
特徴の前記集合体は、当該集合体のメンバー（member）を互いに比較することで改良することができる。一実施形態では、サンプリングされた各領域（各サンプリング領域）（前記集合体の各ベクトル）を他のサンプリング領域と徹底的に比較することにより、前記集合体が改良される。この比較では、２つのタイルを登録する。第１の登録では、第１の領域が第２の領域に対して比較される。第２の登録では、前記第２の領域が前記第１の領域に対して比較される。このような登録は、各画像における前記第１および第２の領域の位置で、各画像ごとに実行される。このようにして得られる登録オフセットは、対応する位置的なオフセットと共に保持される。これらを相関関係と称する。この相関関係を分析することにより、複数の登録結果からみて、サンプリング領域の位置を変更したほうが望ましいか否かを判断する。ソースフレーム（source frame）での変更後の位置が、他のフレームでの１つ以上の領域に対し、より誤差の少ないマッチをもたらす場合には、それら領域の位置を前記変更後の位置に調節する。このように前記ソースフレームにおいて領域を変更する際の前記変更後の位置の選定は、当該ソースフレームにおける領域の時間的な延長に相当する、他のフレームにおける領域の位置を線形内挿することで実行される。
【００５０】
＜特徴ベース圧縮＞
特徴モデリング（あるいは、データモデリング全般）を用いることにより、従来のコーデックよりも圧縮を向上させることができる。標準的なインターフレーム予測では、ブロックベースの動き予測・補償を用いて、復号化した参照フレームの限られた探索空間から、各符号化単位（マクロブロック）の予測を見つけ出す。徹底的な探索を実行し、過去の全ての参照フレームで良好な予測を行おうとすると、演算負荷があまりにも大きくなってしまう。対照的に、映像を通して特徴を検出及び追跡することにより、演算負荷が過度になることなく、より多くの予測探索空間をナビゲートすることができるので、優れた予測を生成することが可能になる。特徴自体が一種のモデルであることから、以降では、「特徴ベース」および「モデルベース」という用語を置き換え可能に使用する。
【００５１】
本発明の一実施形態では、特徴トラックを用いて、特徴をマクロブロックと関連付ける。図１Ｃに、この一般的な過程を示す。所与の特徴トラックは、複数のフレームにわたって特徴の位置を示す。そして、その特徴には、フレームにわたって動きがある。現在のフレームからみて一番最近の２つのフレームにおけるその特徴の位置を用いることにより、当該現在のフレームにおけるその特徴の位置を推測することができる。そして、その特徴の推測位置には、対応する最も近傍のマクロブロックが存在する。そのようなマクロブロックは、前記特徴の推測位置と最も大きく重複するマクロブロックとして定義される。このため、このマクロブロック（符号化されている最中のターゲットマクロブロック）は、特定の特徴トラックに対して関連付けられたことになる。この特定の特徴トラックの現在のフレームにおける推測位置は、前記マクロブロックの近傍である（図１Ｃの過程１００）。
【００５２】
次の過程は、現在のフレームにおける、ターゲットのマクロブロック（ターゲットマクロブロック）と特徴の推測位置とのオフセットを算出することである（過程１１０）。このオフセット、さらには、前記関連付けられた特徴トラックにおける過去の特徴インスタンスを用いることにより、前記ターゲットのマクロブロックに対する予測を生成することができる。そのような過去のインスタンスは、その特徴が現れた最近の参照フレームが格納される局所的な（近くにある）キャッシュ１２０に含まれるか、あるいは、その特徴が現れた「古い」参照フレーム１５０が格納される長期的な（distant（遠くにある））キャッシュに含まれる。参照フレーム内において、当該参照フレームにおける過去の特徴インスタンスとのオフセットが、現在のフレームにおけるターゲットのマクロブロックと特徴の推測位置とのオフセットと同じである領域を見つけ出すことにより（過程１３０，１６０）、前記ターゲットのマクロブロックに対する予測を生成することができる。
【００５３】
＜モデルベースの一次的予測及び副次的予測の生成＞
本発明の一実施形態において、特徴ベースの予測は、次のようにして実行される：（１）フレームごとに特徴を検出する；（２）検出された特徴をモデル化する；（３）相異なるフレームにおける特徴を相関させて、特徴トラックを生成する；（４）特徴トラックを用いて、符号化されている最中の「現在の」フレームにおける特徴の位置を予測する；（５）現在のフレームにおけるその特徴の予測位置の近傍に存在するマクロブロックを関連付ける；および（６）前記（５）におけるマクロブロックに対して、関連付けられた特徴（相関する特徴）の特徴トラックに沿った過去の位置に基づいて予測を生成する。
【００５４】
一実施形態では、特徴を、既述のＳＵＲＦアルゴリズムを用いて検出し、既述のＦＰＡアルゴリズムを用いて相関させて追跡する。特徴の検出、相関及び追跡後には、上記のように各特徴トラックを最も近傍のマクロブロックと関連付け得る。一実施形態において、１つのマクロブロックに複数の特徴を関連付けることが可能な場合には、そのマクロブロックと最も大きく重複する特徴を、そのマクロブロックと関連付ける特徴として選択する。
【００５５】
ターゲットのマクロブロック（符号化されている最中の現在のマクロブロック）、これに関連付けられた特徴、およびその特徴の特徴トラックが与えられることで、当該ターゲットのマクロブロックに対する一次的予測（またはキー予測）を生成することができる。キー予測のデータ（ペル）は、その特徴が現れる（最新のフレームからみて）一番最近のフレームから取得する。以降では、この一番最近のフレームを、キーフレームと称する。キー予測は、動きモデルおよびペルのサンプリングスキームを選択したうえで生成される。本発明の一実施形態において、前記動きモデルは、特徴がキーフレームと現在のフレームとの間で静止していると仮定する「零次」か、あるいは、特徴の動きが２番目に一番最近の参照フレームとキーフレームと現在のフレームとの間で線形であると仮定する「一次」とされ得る。いずれの場合も、特徴の動きを、当該特徴と関連付けられた、現在のフレームにおけるマクロブロックに（時間的に逆方向に）適用することにより、キーフレームにおけるそのマクロブロックに対する予測が得られる。本発明の一実施形態において、前記ペルのサンプリングスキームは、動きベクトルを整数に四捨五入して（整数に丸めて）キー予測のペルをキーフレームから直接取り出す「直接」か、あるいは、Ｈ．２６４などの従来の圧縮法の内挿スキームを用いて動き補償されたキー予測を導き出す「間接」とされ得る。つまり、本発明では、前記動きモデル（零次または一次）に応じて、さらに、前記サンプリングスキーム（直接または間接）に応じて、４種類の相異なるキー予測を得ることができる。
【００５６】
キー予測は、サブタイル化プロセスを用いて局所的な変形成分をモデル化することにより、改良することができる。サブタイル化プロセスでは、マクロブロックの相異なる局所部位について、それぞれの動きベクトルを算出する。一実施形態において、前記サブタイル化プロセスは、１６×１６のマクロブロックを８×８の４つの１／４部位（quadrant）に分割し、それぞれに対する予測を別個に算出することで実行され得る。別の実施形態では、前記サブタイル化プロセスが、Ｙ／Ｕ／Ｖ色空間ドメインにおいて、Ｙ色チャネル、Ｕ色チャネルおよびＶ色チャネルの予測を別個に算出することで実行され得る。
【００５７】
ターゲットのマクロブロックに対する一次的予測／キー予測に加えて、そのターゲットのマクロブロックに関連付けられた特徴の、当該キーフレームよりも過去の参照フレームにおける位置に基づいて、副次的予測を生成してもよい。一実施形態では、現在のフレームにおける、ターゲットのマクロブロックから当該ターゲットのマクロブロックに関連付けられた特徴の位置（推測位置）までのオフセットを、過去の参照フレームにおける当該特徴の位置に基づいて副次的予測を見つけ出すための動きベクトルとして使用し得る。このようにして、特徴が関連付けられた所与のターゲットのマクロブロックに対する副次的予測を、（その特徴が現れたフレームごとに１つずつ）複数生成することができる。一実施形態では、探索対象とする過去の参照フレームの数を制限する（例えば、２５個とする）ことにより、副次的予測の数を制限するようにしてもよい。
【００５８】
＜複合予測＞
ターゲットのマクロブロックに対する一次的予測（キー予測）および副次的予測の生成後に、これらの予測に基づいて、そのターゲットのマクロブロックの全体的な再構成を算出することができる。一実施形態において、前記再構成は、従来のコーデックにならって、キー予測のみに基づいた再構成とされる。以降では、このような再構成を、キー単独（ＫＯ）再構成と称する。
【００５９】
別の実施形態において、前記再構成は、前記キー予測と前記副次的予測のうちの１つを重み付けしたものとを合計した複合予測に基づいた再構成とされる。以降では、このようなアルゴリズムを、ＰＣＡ−Ｌｉｔｅ（ＰＣＡ−Ｌ）と称する。ＰＣＡ−Ｌｉｔｅは、以下の手順を含む：
１．  ターゲットのマクロブロックの（一次元）ベクトル（ターゲットベクトルｔと称する）およびキー予測の（一次元）ベクトル（キーベクトルｋと称する）を生成する；
２．  ターゲットベクトルからキーベクトルを減算することにより、残差ベクトルｒを算出する；
３．  副次的予測の集合をベクトル化してベクトルｓｉを形成する（一般性を失うことなく、これらの副次的ベクトルは、単位ノルムを有するものと仮定する）。次に、全ての副次的ベクトルからキーベクトルを減算することにより、キー減算集合ｓｉ−ｋを生成する。これは、副次的ベクトルからキーベクトルの射影を減算するようなものである；
４．  それぞれの副次的ベクトルについて、重み付け係数ｃ＝ｒＴ（ｓｉ−ｋ）を算出する；および
５．  それぞれの副次的ベクトルについて、複合予測ｔ＾＝ｋ＋ｃ×（ｓｉ−ｋ）を算出する。
【００６０】
概すれば、ＰＣＡ−Ｌｉｔｅアルゴリズムの上記手順は、周知の直交マッチング追跡アルゴリズム［Pati, 1993］の手順に似ているが、上記の複合予測は、一次的予測および副次的予測からの冗長な寄与を含まないように意図されている。別の実施形態では、前記ＰＣＡ−Ｌｉｔｅアルゴリズムにおいて、上述した手順３〜５のキーベクトルをキーベクトルと副次的ベクトルとの平均に置き換える。以降では、このような変更入りアルゴリズムを、ＰＣＡ−Ｌｉｔｅ−Ｍｅａｎと称する。
【００６１】
上記のＰＣＡ−Ｌｉｔｅアルゴリズムは、一部の標準的なコーデックで見受けられる双予測アルゴリズム（冒頭の「背景技術」の欄に記載）と異なるタイプの複合予測を提供することができる。標準的な双予測アルゴリズムは、各予測に用いる参照フレームと現在のフレームとの時間的距離に基づいて、複数の予測をブレンディング（混合）する。対照的に、ＰＣＡ−Ｌｉｔｅは、各予測の「内容」に基づいて複数の予測を混合し、複合予測を生成する。
【００６２】
なお、上記の複合予測は、特徴ベースのモデリングでなくても可能である。すなわち、どのような予測の集合を用いても、所与のターゲットのマクロブロックについての複合予測を生成することは可能である。しかし、特徴ベースのモデリングでは、所与のターゲットのマクロブロックについての予測の集合が、自然と互いに関連性を有するものになる。そして、複合予測とすることにより、それらの複数の予測からの情報を効率良く組み合わせることができる。
【００６３】
＜複数の忠実度でのデータのモデリング＞
本発明では、モデルベース圧縮のために、複数の忠実度でデータをモデル化することが可能である。図２Ａに、この一実施形態を示す。図２Ａには、モデル化の４つの階層が描かれている。以下の表は、これら４つの階層をまとめたものである。以下では、これら４つの階層について詳細に説明する。
【００６４】
【表１】
2015515806.tif 000003
【００６５】
図２Ａの一番下の階層は、「マクロブロック」（ＭＢ）階層と称され、フレームを、互いに重複しないマクロブロック（１６×１６サイズのタイル）または有限のサブタイルのセットに分割する従来の圧縮法に相当するものである。従来の圧縮法（例えば、Ｈ．２６４など）は、基本的にモデル化を行わず、ブロックベースの動き予測・補償（ＢＢＭＥＣ）を用いて、復号化した参照フレーム内の限られた探索空間から各タイルの予測２１２を見つけ出す。デコーダで、予測２１２をマクロブロック（またはサブタイル）の残差符号と組み合わせることにより、本来のデータの再構成を合成する（過程２１０）。
【００６６】
図２Ａの２番目の階層２０２は、「マクロブロックを特徴とする」（ＭＢＦ）階層と称され、既述のＭＢＣトラッカー（図２Ａの２１６）に基づいた圧縮法に相当する。この階層では、符号化した複数のフレームにわたって従来のＢＢＭＥＣ探索法を繰り返し適用することにより、マクロブロック（マクロブロックのサブタイル）を特徴として取り扱う。前記ＭＢ階層と同じ、１回目のＢＢＭＥＣを適用して、構成要素２１６内の一番最近の参照フレームから、ターゲットのマクロブロックについての従来での予測を見つけ出す。ただし、２回目のＢＢＭＥＣの適用は、構成要素２１６内の二番目に最近の参照フレームを探索することによって、従来の１回目の予測に対する従来のさらなる予測を探索する。構成要素２１６内の過去のフレームを徐々に遡ってＢＢＭＥＣを繰り返し適用することにより、ターゲットのマクロブロック（特徴として特定されていない）の「トラック」を生成する。ＭＢＣトラックによってモデル２１４を生成し、このモデル２１４によって予測２１２を生成する。デコーダで、この予測２１２をマクロブロック（またはサブタイル）の残差符号と組み合わせることにより、本来のデータの再構成が合成される（過程２１０）。
【００６７】
図２Ａの３番目の階層２０４は、「特徴」階層と称され、既述の特徴ベースの圧縮法に相当する。既述したように、マクロブロックのグリッドに関係なく特徴を検出及び追跡し、これらの特徴を当該特徴と重複するマクロブロックに関連付けて、特徴トラックを用いて、復号化した参照フレーム２１６をナビゲートすることで前記重複するマクロブロックに対する良好なマッチを見つけ出す。代替の一実施形態では、コーデックが、特徴をマクロブロックと関連付けずに当該特徴を直接的に符号化及び復号化し、例えば前記ＭＢ階層の従来の圧縮法などにより、「特徴でない」バックグラウンドを特徴とは別に処理し得る。特徴ベースのモデル２１４によって予測２１２を生成する。デコーダで、この予測２１２を対応するマクロブロック（またはサブタイル）の残差符号と組み合わせることにより、本来のデータの再構成が合成される（過程２１０）。
【００６８】
図２Ａの一番上位の階層２０６は、「オブジェクト」階層と称され、オブジェクトベースの圧縮法に相当する。オブジェクトとは、本質的に、複数のマクロブロックを包含し得る大規模な特徴であり、物理的な意味（例えば、顔、ボール、携帯電話など）または複雑な事象２０８を有する何らかに相当し得る。オブジェクトのモデル化（オブジェクトモデリング）は、そのオブジェクトが特定の種類のもの（例えば、顔など）であると予想される場合、特殊な基底関数を用いてモデル化することが可能（過程２１４）なので、パラメトリックモデリング（パラメトリックなモデル化）となり得る。オブジェクトが複数のマクロブロックを包含するか又は複数のマクロブロックと重複する場合、そのオブジェクト２１６に対応する全てのマクロブロックに関して単一の動きベクトル２１２を算出可能であり、これにより演算量及び符号化サイズを節約することができる。オブジェクトベースのモデル２１４によって予測２１２を生成する。デコーダで、この予測２１２を対応するマクロブロック（またはサブタイル）の残差符号と組み合わせることにより、本来のデータの再構成が合成される（過程２１０）。
【００６９】
代替の一実施形態では、オブジェクトを、当該オブジェクトの近傍の特徴モデル２１４を相関及び集約することによって特定するようにしてもよい。図２Ｂは、そのような特徴モデルの集約による、ノンパラメトリックなまたは経験的なオブジェクト検出の様子を示すブロック図である。特定の種類のオブジェクト２２０は、その種類のオブジェクトの性質を有する特徴（すなわち、「オブジェクトバイアス」を示す特徴）を特定することによって検出される（過程２２２）。次に、その特徴のセット２２２がモデル状態２２４の硬直性（rigidity）、すなわち、特徴同士及び当該特徴の状態同士が経時的に相関する傾向を示すか否かを判断する（過程２２４）。各特徴モデルに相関関係があると判断された場合（これにより、オブジェクトが検出されたと判断する（過程２２６））、付随するパラメータを備えた複合外観モデル２２８および付随するパラメータを備えた複合変形モデル２３０が形成され得る。複合外観モデルおよび複合変形モデルが形成されることで、個々の外観モデルおよび個々の変形モデルの場合よりも、当然にパラメータが低減する（過程２３２）。
【００７０】
図２Ｃに、図２Ａの前記「オブジェクト」階層２０６の第３の実施形態として、オブジェクトベースのパラメトリックなモデル化とノンパラメトリックなモデル化の両方を用いる構成を示す。オブジェクトは、パラメトリックなモデルによって検出される（過程２４０）。検出されたオブジェクト２４０を処理して、当該オブジェクトと重複する特徴が存在するか否かを判断する（過程２５０）。次に、そのような重複する特徴のセットを調べて、上記のように特徴同士を集約できるか否かを判断し得る（過程２６０）。重複する特徴同士を集約できないと判断された場合には、過程２４０で検出されたオブジェクトと重複するマクロブロックを調べて、前述したように共通する単一の動きベクトルを有するようにマクロブロック同士を効率良く集約できるか否かを判断し得る（過程２７０）。
【００７１】
複数の忠実度での処理アーキテクチャでは、最良の処理を達成できるように、階層２００、階層２０２、階層２０４および階層２０６を適宜組み合わせてもよい。一実施形態では、図２Ａの全ての階層を「競争」のようにして調べることにより、符号化する各マクロブロックの最良の（最小量の）符号が、どの階層で得られかを判断する。この「競争」については、後で詳述する。
【００７２】
別の実施形態では、図２Ａの階層が、一番下位の階層（最も単純な階層）から一番上位の階層（最も複雑な階層）へと順次的に調べられ得る。下位の階層のソリューションで十分な場合には、上位の階層のソリューションを調べなくてもよい。所与のソリューションについて「十分に良好である」か否かを判断する基準については、後で詳述する。
【００７３】
＜モデルベースの圧縮コーデック＞
【００７４】
＜従来のコーデックの処理＞
符号化プロセスでは、映像データを、圧縮フォーマット又は符号化フォーマットに変換し得る。同様に、解凍プロセスでは、圧縮された映像を、圧縮される前のフォーマット（すなわち、元々のフォーマット）に変換し得る。映像圧縮プロセス及び映像解凍プロセスは、コーデックと一般的に称されるエンコーダ／デコーダのペアにより実現され得る。
【００７５】
図３Ａは、標準的なエンコーダ３１２のブロック図である。図３Ａのエンコーダは、ソフトウェア環境でも、ハードウェア環境でも、あるいは、それらの組合せでも実現可能である。一例として、このようなエンコーダの構成要素（コンポーネント）は、図８Ａまたは図８Ｂのように、少なくとも１つのプロセッサ８２０によって実行可能な、記憶媒体に記憶されたコードとして実施され得る。エンコーダ３１２の構成要素には、あらゆる組合せの構成要素が使用されてもよく、そのような構成要素には、イントラ予測部３１４、インター予測部３１６、変換部３２４、量子化部３２６、エントロピー符号化部３２８、ループフィルタ３３４が含まれ得るが、必ずしもこれらに限定されない。インター予測部３１６は、動き補償部３１８、フレーム記憶部３２０および動き予測部３２２を含み得る。エンコーダ３１２は、さらに、逆量子化部３３０および逆変換部３３２を備え得る。図３Ａのエンコーダ３１２の各コンポーネントの機能は、当業者にとって周知である。
【００７６】
図３Ａのエントロピー符号化アルゴリズム３２８は、量子化された変換係数の各種数値の確率を定量化した確率分布に基づくアルゴリズムであってもよい。その時点の符号化単位（例えば、マクロブロックなど）の符号化サイズは、その時点の符号化状態（符号化する各種数量の数値）および前記確率分布に対する当該符号化状態の一致の程度に依存する。後述するように、この符号化状態が変化すると、後続のフレーム内の符号化単位の符号化サイズに影響が及び得る。映像の符号を徹底的に最適化するために、映像の全ての符号化経路（すなわち、考えられる全ての符号化状態）を徹底的に探索することも可能ではあるが、演算負荷があまりにも大きくなってしまう。本発明の一実施形態では、エンコーダ３１２が、大規模な範囲（すなわち、１つのスライス、１つのフレームまたはフレームのセット）を検討するのではなく、最新の（ターゲット）マクロブロックだけに集中することにより、最適化を局所的に達成する。
【００７７】
図３Ｂは、イントラ予測データ３３６を復号化する標準的なデコーダ３４０のブロック図であり、図３Ｃは、インター予測データ３３８を復号化する標準的なデコーダ３４０のブロック図である。デコーダ３４０は、ソフトウェア環境でも、ハードウェア環境でも、あるいは、それらの組合せでも実現可能である。図３Ａ、図３Ｂ及び図３Ｃを参照して、典型的なエンコーダ３１２は、内部または外部から映像入力３１０を受け取り、データを符号化し、符号化したデータをデコーダのキャッシュ／バッファ３４８に記憶する。デコーダ３４０は、符号化されたデータをそのキャッシュ／バッファ３４８から取り出して復号化や送信を行う。デコーダは、システムバスやネットワークインターフェースなどのあらゆる利用可能な手段を介して、復号化されたデータにアクセスし得る。デコーダ３４０は、映像データを復号化して前述したキーフレーム及び予測対象のフレーム（図２Ａの符号２１０全般）を解凍し得る。キャッシュ／バッファ３４８は、映像シーケンス／ビットストリームに関係するデータを受け取って、エントロピー復号化部３４６に情報を供給し得る。エントロピー復号化部３４６は、ビットストリームを処理して、図３Ｂのイントラ予測の変換係数の量子化された推定値または図３Ｃの残差信号の変換係数の量子化された推定値を生成する。逆量子化部３４４は、逆スケーリング（rescaling operation）を実行することにより、変換係数の推定値を生成する。これら変換係数の推定値に逆変換を適用することにより（過程３４２）、図３Ｂでは元々の映像データペルのイントラ予測が合成され、図３Ｃでは残差信号のイントラ予測が合成される。図３Ｃでは、合成された残差信号が、ターゲットのマクロブロックのインター予測に加算されることにより、そのターゲットのマクロブロックの完全な再構成が生成される。デコーダのインター予測部３５０は、フレームストア（フレーム記憶部）３５２に含まれた参照フレームに動き予測（過程３５６）及び動き補償（過程３５４）を適用することにより、エンコーダで生成されたインター予測を複製する。デコーダのインター予測部３５０は、その構成要素である動き予測部３２２、動き補償部３１８およびフレームストア３２０も含め、図３Ａのインター予測部３１６と同様の構成を有する。
【００７８】
＜モデルベース予測を実現するハイブリッドコーデック＞
図３Ｄは、モデルベース予測を実行する、本発明の一実施形態のエンコーダを示す図である。コーデック３６０は、現在の（ターゲットの）フレームを符号化し得る（過程３６２）。そして、コーデック３６０は、そのフレーム内の各マクロブロックを符号化し得る（過程３６４）。標準的なＨ．２６４符号化プロセスを用いて、Ｈ．２６４符号化ソリューションをもたらす基礎的な（第１の）符号を定義する（過程３６６）。好ましい一実施形態において、エンコーダ３６６は、ＧＯＰ（参照フレームの集合）を符号化することができるＨ．２６４エンコーダである。好ましくは、Ｈ．２６４エンコーダは、各フレーム内のペルを符号化するのにあたって様々な方法を適用できるように設定可能であり、そのような方法としてはイントラフレーム予測およびインターフレーム予測が挙げられ、当該インターフレーム予測では、符号化されている最中のマクロブロックに対する良好なマッチを見つけ出すために多数の参照フレームを探索することができる。好ましくは、元々のマクロブロックデータと予測との誤差が、変換及び量子化及びエントロピー符号化される。
【００７９】
好ましくは、エンコーダ３６０は、ＣＡＢＡＣエントロピー符号化アルゴリズムを利用することにより、コンテキストに敏感なコンテキストモデリング用適応型メカニズムを提供する（過程３８２）。このようなコンテキストモデリングは、所定のメカニズムの二値化プロセスを用いられた、映像データのシンタックスエレメント（例えば、ブロックの種類、動きベクトル、量子化された係数など）の二値シーケンスに適用され得る。次に、各エレメントを、適応型又は固定型の確率モデルを用いて符号化する。コンテキスト値を用いて確率モデルを適宜調整するようにしてもよい。
【００８０】
＜競争モード＞
図３Ｄでは、Ｈ．２６４によるマクロブロック符号を分析する（過程３６８）。過程３６８では、Ｈ．２６４によるマクロブロック符号が「効率的」であると判断された場合、そのＨ．２６４ソリューションが理想に近いと見なし、それ以上の分析を行わずに、ターゲットのマクロブロックにＨ．２６４符号化ソリューションを選択する。一実施形態において、Ｈ．２６４による符号化効率は、Ｈ．２６４による符号化サイズ（ビット）を閾値と比較することによって判定され得る。そのような閾値は、過去に符号化した映像のパーセンタイル統計から導き出され得るか、あるいは、同じ映像のこれまでのパーセンタイル統計から導き出され得る。他の実施形態において、Ｈ．２６４による符号化効率は、Ｈ．２６４エンコーダがターゲットのマクロブロックを「スキップ」マクロブロックと判断したか否かによって判定され得る、「スキップ」マクロブロックとは、その内側及び周辺のデータが、追加の符号化を実質的に必要としない程度に十分に一様であるマクロブロックのことを言う。
【００８１】
過程３６８において、Ｈ．２６４によるマクロブロックソリューションが効率的であると判断されなかった場合、追加の分析が実行され、エンコーダは競争モード３８０に移行する。このモードでは、複数のモデル３７８に基づいて、ターゲットのマクロブロックの各種予測が複数生成される。モデル３７８は、過去のフレーム３７４で検出及び追跡された特徴を特定する（過程３７６）ことによって生成される。新しいフレーム３６２が処理される（符号化及び復号化されてフレームストアに記憶される）たびに、その新しいフレーム３６２における新たな特徴の検出およびこれに対応する特徴トラックの延長を考慮して、特徴モデルを更新する必要がある。モデルベースのソリューション３８２は、取得したＨ．２６４ソリューションと共に、符号化サイズ３８４に基づいて順位付けされる。このように、基礎的な符号化（Ｈ．２６４ソリューション）およびモデルベースの符号化のいずれでも所与のマクロブロックを符号化できるという自由度に基づいて、本発明にかかるコーデックを、ハイブリッドコーデックと称することができる。
【００８２】
例えば、競争モードでは、Ｈ．２６４によってターゲットのマクロブロックの符号が生成されて、その圧縮効率（より少ないビット数でデータを符号化する能力）が他のモデルと比較される。競争モードで使用する符号化アルゴリズムごとに、次の手順を実行する：（１）使用するコーデックモード／アルゴリズムに基づいて予測を生成する；（２）ターゲットのマクロブロックから予測を減算して残差信号を生成する；（３）ブロックベースの二次元ＤＣＴの近似を用いて、その残差（ターゲット−前記予測）を変換する；および（４）エントロピー符号化（encoder）により、変換係数を符号化する。
【００８３】
幾つかの側面で、Ｈ．２６４（インターフレーム）によるベースライン予測は、比較的単純な制限されたモデルに基づいた予測であると言える（Ｈ．２６４は、競争モードで使用される複数のアルゴリズムのうちの１つとされる）。しかし、エンコーダ３６０の予測には、より複雑なモデル（特徴ベースのモデルまたはオブジェクトベースのモデル）及び当該モデルに対応するトラッキング（追跡）に基づいた予測も使用され得る。エンコーダ３６０は、データ複雑性を示すマクロブロックが検出された場合、従来の圧縮法よりも特徴ベースの圧縮法のほうが良好な結果をもたらすとの仮定に基づいて動作する。
【００８４】
＜競争モードでの特徴ベース予測の使用＞
上記のように、まず、ターゲットのマクロブロックごとに、そのマクロブロックにとってＨ．２６４ソリューション（予測）が効率的である（「十分に良好である」）か否かを判断する。この判定結果が否定である場合、競争モードに移行する。
【００８５】
図３Ｄの競争モード３８０では、特徴ベースの予測を行う際の各種処理選択肢（既述の説明を参照）を適宜選択することにより、その競争への「エントリー」が決まる。各エントリーは、ターゲットのマクロブロックについて互いに異なる予測を行う。本発明にかかる特徴ベース予測では、以下の処理選択肢の指定が可能である：
−トラッカー（追跡手段）の種類（ＦＰＡ、ＭＢＣ、ＳＵＲＦ）、
−キー予測に用いる動きモデル（零次または一次）
−キー予測に用いるサンプリングスキーム（直接または間接）
−キー予測に用いるサブタイル化スキーム（サブタイル化を行わない、１／４分割、Ｙ／Ｕ／Ｖ）
−再構成アルゴリズム（ＫＯまたはＰＣＡ−Ｌ）および
−副次的な予測に用いる参照フレーム（ＰＣＡ−Ｌの場合）。
【００８６】
所与のターゲットのマクロブロックのソリューションの探索空間には、Ｈ．２６４ソリューション（Ｈ．２６４での「最良の」インターフレーム予測）に加えて、既述した本発明にかかる全種類の特徴ベース予測が含まれ得る。一実施形態において、競争モードは、上記の処理選択肢（トラッカー（追跡手段）の種類、キー予測に用いる動きモデル、キー予測に用いるサンプリングスキーム、サブタイル化スキームおよび再構成アルゴリズム）のあらゆる組合せを含む。別の実施形態において、競争モードでの前記処理選択肢は設定可能であり、演算量を節約するのに十分な数のサブセットの組合せに限定可能とされる。
【００８７】
前記競争でのソリューション候補は、次の４つの手順（既述の手順と同様）により１つずつ評価される：（１）予測を生成する；（２）ターゲットのマクロブロックから前記予測を減算して残差信号を生成する；（３）残差を変換する；および（４）エントロピー符号化（encoder）により変換係数を符号化する。図３Ｄの過程３８２からの出力は、所与のソリューション３８４に伴うビット数である。各ソリューションの評価が終わるごとに、エンコーダは、その次のソリューションについて評価できるように、現在の評価を行う前の状態にロールバックされる。一実施形態において、全てのソリューションについての評価後、最小の符号化サイズを有するソリューションが選択されることにより、前記競争の「勝者」が選ばれる（過程３７０）。そして、勝者のソリューションが、前記ターゲットのマクロブロックについての最終的な符号として再びエンコーダに送信される（過程３７２）。既述したように、前記勝者のソリューションは、前記ターゲットのマクロブロックにのみ最適化されたソリューションであることから、局所的に最適なソリューションであると言える。代替の一実施形態では、最適なソリューションを、より広域的なトレードオフを緩和できるか否かに基づいて選択する。そのようなトレードオフには、後続のフレームでの、コンテキストのイントラフレーム予測フィードバックの影響、残差誤差の影響などが含まれ得るが、必ずしもこれらに限定されない。
【００８８】
勝者のソリューションに関する情報は、符号化ストリームに保存されて（過程３８６）、将来の復号化用に送信／記憶される。この情報には、特徴ベース予測に用いた処理選択肢（例えば、トラッカー（追跡手段）の種類、キー算出、サブタイル化スキーム、再構成アルゴリズムなど）が含まれ得るが、必ずしもこれらに限定されない。
【００８９】
場合によっては、ターゲットのマクロブロックがＨ．２６４では効率的に符号化されないとエンコーダ３６０が判断するだけでなく、さらに、そのマクロブロックと重複する特徴が全く検出されないこともあり得る。そのような場合には、エンコーダが最後の手段として、Ｈ．２６４を用いてマクロブロックを符号化する。代替の一実施形態では、そのマクロブロックと重複する疑似特徴を生成するように特徴追跡手段（特徴トラッカー）のトラックを延長することにより、特徴ベース予測を生成するようにしてもよい。
【００９０】
一実施形態では、図２Ａの４つの階層間の移動が、前記競争モードで管理される。
【００９１】
＜特徴ベース予測を用いた復号化＞
図４は、本願の出願人によるＥｕｃｌｉｄＶｉｓｉｏｎコーデック内のモデルベースの予測を実現し得る、本発明の一実施形態のデコーダの一例を示す図である。デコーダ４００は、符号化された映像ビットストリームを復号化することにより、フレーム符号４２０の基となった入力映像フレームの近似を合成する。フレーム符号４２０には、対応する映像フレーム４１８を再構成するのにあたってデコーダ４００が使用するパラメータのセットが含まれ得る。
【００９２】
デコーダ４００は、エンコーダが採用した順番と同じスライスの順番で、各フレームを走査する。また、デコーダは、エンコーダが採用した順番と同じマクロブロックの順番で、各スライスを走査する。デコーダは、エンコーダでのプロセスに従い、マクロブロック４０４ごとに、そのマクロブロックを従来の方式で復号化する（過程４０８）のか、あるいは、特徴モデル及びパラメータを用いて復号化する（過程４１６）のかを判断する。本発明にかかるモデルベース予測によってマクロブロックが符号化されている場合、デコーダ４００は、そのソリューションでの予測を再生する（過程４１８）のに必要なあらゆる特徴情報（特徴トラック、特徴の参照フレーム［ＧＯＰ］、特徴の動きベクトル）を抽出する。また、デコーダは、復号化時に特徴モデルを更新し（過程４１０、４１２、４１４）、処理中のフレーム／スライス／マクロブロックについてのエンコーダ側での特徴状態と同期させる。
【００９３】
従来のコーデックでは、メモリの制限により、復号化したフレームについての全ての予測コンテキストを、図３Ｃのフレームストア３５２及びキャッシュ３４８に保持することができず、そのフレーム（ペル）のみを保持するのが一般的であった。対照的に、本発明では、特徴ベースのモデル及びパラメータの保持を優先することにより、図３Ｃのフレームストア３５２及びキャッシュ３４８に記憶される予測コンテキストを拡大させることができる。
【００９４】
特徴モデルを表現するパラメータの全セットは、特徴状態（特徴の状態）と称される。特徴モデルを効率的に保持するには、この特徴状態を抽出する（isolate）必要がある。図５は、本発明の一実施形態での、特徴インスタンスの状態抽出プロセス５００を示すブロック図である。この状態抽出情報は、ターゲットのマクロブロックに関連付けられ得る。また、この状態抽出情報は、関係する特徴インスタンス５０２に対応したパラメータを含み得る。そのようなパラメータは、前記ターゲットのマクロブロックを符号化するのに有用となり得る。また、この状態抽出情報を用いて、後続の映像フレームに予測した特徴を内挿することも可能である。各特徴インスタンスは、それぞれ対応するＧＯＰ５０４を有する。各ＧＯＰには、それぞれ対応する状態情報（例えば、対応する境界情報など）が含まれる。各特徴インスタンスの状態抽出情報には、さらに、当該特徴インスタンスと関連付けられるあらゆるオブジェクトについての状態情報、対応するスライスパラメータについての状態情報５０６、および対応するエントロピー状態についての状態情報５０８が含まれ得る。このように、前記状態情報は、特徴インスタンスのＧＯＰ／スライス／エントロピーパラメータの境界に関する説明、ならびに新たな状態及び新たなコンテキストへの当該境界の延長に関する説明を提供することができる。状態情報５０６，５０８を用いることにより、予測して、後続のフレームに予測した特徴の状態を内挿することが可能となる。
【００９５】
マクロブロックのデータ（ペル）と、当該マクロブロックデータと関連付けられた特徴の状態抽出情報とにより、拡張予測コンテキストが形成される。複数の特徴インスタンスからの拡張コンテキストを、復号化した近傍部分（neighbor）と組み合わせるようにしてもよい。図３Ａのエンコーダ３１２ならびに図３Ｂ及び図３Ｃのデコーダ３４０が用いる前記拡張予測コンテキストには：（１）少なくとも１つのマクロブロック；（２）少なくとも１つの近傍のマクロブロック；（３）スライス情報；（４）参照フレーム［ＧＯＰ］；（５）少なくとも１つの特徴インスタンス；および（６）オブジェクト／テクスチャ情報；が含まれ得るが、必ずしもこれらに限定されない。
【００９６】
＜パラメトリックモデルベース圧縮＞
【００９７】
＜パラメトリックモデリングのコーデックフレームワークへの統合＞
上記のハイブリッドコーデックの態様では、特徴モデルを暗示的に利用することにより、マクロブロックの良好な予測に関する手がかりをエンコーダに与える。これとは対照的に、コーデックフレームワークにおいて、特徴モデルを明示的に利用することも可能である。ターゲットのフレーム内の特定の領域を、所与の種類のモデル（例えば、顔モデルなど）によって表現する場合、当該表現はそのモデルのパラメータに依存する。以降では、この種の明示的なモデリングを、パラメトリックモデリング（パラメトリックなモデル化）と称する。一方で、上記のハイブリッドコーデックの態様は、ノンパラメトリックモデリング（ノンパラメトリックなモデル化）または経験的なモデリングを使用している。パラメトリックモデリングは、特定の種類の特徴またはオブジェクト（例えば、顔など）が存在することを予期して行うので、通常、その種類のあらゆる特徴／オブジェクトの空間内に広がる基底ベクトルのセットで構成される。そして、この場合のモデルのパラメータは、基底関数へのターゲットの領域の投影になる。
【００９８】
図６Ａは、本発明の代替の一実施形態での、パラメトリックモデリングを実現するコーデック６００の構成要素の一例を示すブロック図である。図６Ａに示すように、コーデック６００は、適応型動き補償予測を実行する手段６１０および／または適応型動きベクトル予測を実行する手段６１２および／または適応型変換処理を実行する手段６１４および／または適応型エントロピー符号化手段６１６を含み得る。
【００９９】
適応型動き補償予測手段６１０は、特徴のインスタンスが含まれていることに基づいて参照フレーム６１８を選択し得る。特徴のモデル化によって圧縮効率が向上した場合、そのモデルが導き出されたフレームを参照フレームとして選択し、さらに、対応するＧＯＰを生成するようにしてもよい。動きベクトルのオフセット６２６の内挿は、検出された特徴のパラメータに基づいて実行され得る。これにより、検出済みの特徴に基づいた既知のデータポイントの離散集合の範囲内で、予測対象の特徴のインスタンスの新たなデータペルを構築することができる。従来のエンコーダで用いられるサブタイル分割処理６１２の結果は、変形変化モデル６２０の制約によって補う。変換処理６１４は、外観変化モデリング６２２を用いて外観変化パラメータを制約するようにして実行され得る。エントロピー符号化処理６１６は、本発明にかかるコーデック６００のパラメータレンジ／スケール分析６２４および適応型量子化６２８によって補われ得る。このようにして得られたマクロブロック補助データ６３０が、コーデック６００によって出力される。
【０１００】
＜パラメトリックモデリングを用いた適応型符号化によるハイブリッドコーデックの改良＞
一変形例では、パラメトリックモデリングを用いることにより、既述したハイブリッドコーデックによる予測を改良することができる。一実施形態では、パラメトリックモデルのエレメントを、ターゲットのマクロブロックについて予め得られた予測（例えば、前記競争モードの出力など）に適用することにより、その予測を改良できるか否かを判断する。
【０１０１】
図６Ｂに、パラメトリックモデルベースの適応型エンコーダ６３４のアプリケーションの一例を示す。適応型エンコーダ６３４−１は、従来のコーデック（例えば、Ｈ．２６４など）または既述したようなハイブリッドコーデックによって実行される符号化を補い得る。従来の動き補償予測プロセスで得られたペル残差６３６を分析し（過程６３８）、当該残差の変形変化及び外観変化をパラメトリックな特徴モデルでより効率的にモデル化（過程６４２）できるか否かを判断する。一実施形態では、予測残差６３６とパラメトリックモデル６３８との変換差分絶対値和（ＳＡＴＤ）６４０が減少するか否かにより、パラメトリックモデルの相対効率を求め得る。パラメトリックなモデルが効率的な表現であると判断された場合、ターゲットの領域（マクロブロック）を特徴モデル（外観基底及び変形基底）に投影することにより、残差信号の符号として機能する特徴パラメータを得ることができる。
【０１０２】
この実施形態では、さらに、現在のＧＯＰ状態、スライス状態およびエントロピー状態内で、代わりの残差モデリングを適用できるか否かを調べる追加のロールバック機能が設けられる。例えば、一連の映像フレームシーケンスにおいて、符号化されている最中の現在のフレームからみて遠くに位置する、参照フレーム、ＧＯＰおよび特徴（スライス）６４６を、予測の基準として検討することができる。このような手法は、従来のエンコードでは実際的ではない。さらに、別の映像ファイルからの特徴モデルで圧縮が向上するのであれば、そのような映像ファイルなどの別の映像データにロールバックすることも可能である。
【０１０３】
＜パラメトリックなモデルのパラメータの内挿による特徴ベース予測＞
映像ストリーム内に同じ特徴のインスタンスが複数現れる場合、特徴モデルの不変コンポーネント（フレーム間で変化しないコンポーネント）を維持するのが望ましい。パラメトリックな特徴モデリングでは、特徴モデルの特定のパラメータ（例えば、各種基底関数の重み付けを表す係数など）が不変コンポーネントとなる。一般的に、ノンパラメトリックな（経験的な）特徴モデリングでは、特徴ペルそのものが不変コンポーネントとなる。特徴動き予測・補償を実行する際に、モデルの不変コンポーネントを維持することを、動き予測・補償の指針原則（以降では、「不変原則」と称する）としてもよい。
【０１０４】
図６Ｃは、本発明の一実施形態において、前記不変原則を指針として、特徴モデルのパラメータの内挿により特徴の動き補償予測を行う様子を示すブロック図である。図６Ｃに示すように、動き補償予測プロセス６６８は、複数の特徴インスタンスのモデルパラメータを当該パラメータの不変インスタンスを中心として調節する、正規化プロセスから開始する。特徴インスタンス（「マッチしたマクロブロック」）の集合６７０を用いることにより、不変インスタンスを中心として当該インスタンスを正規化するための、複数の種類の内挿関数（６７４，６７６，６７８，６８０）を生成することができる。モデルのパラメータの不変インスタンス６８２は、キーフレームでのモデルパラメータ値のセットとして定義され得る。このような不変インスタンスにより、特徴ベースモデルにおける（全てでなくとも）大半の予測／パターンを表現することができる。不変インスタンスは、インスタンスの外観パラメータのベクトルによって構成されるベクトル空間の重心と概念が似ている。
【０１０５】
不変インスタンス６８２は、前記内挿関数（６７４，６７６，６７８，６８０）のうちの１つを用いてターゲットの位置６８４を外挿で求める際のキーパターンになり得る。このような内挿／外挿プロセスを用いることにより、ターゲットのフレームにおける特徴のフレーム内位置、外観変化および変形変化を予測することができる。このような特徴の不変表現と、特徴インスタンスのコンパクトなパラメータ形式との組合せにより、参照ソースフレームに含まれる特徴の外観及び変形をキャッシュに格納するのに必要なメモリ量を、従来の圧縮法と比較して劇的に減少させることができる。すなわち、このような特徴モデルにより、フレームのデータのうち圧縮にとって重要かつ有用なデータを簡潔に捕集することができる。
【０１０６】
代替の一実施形態として、少なくとも２つの特徴インスタンスについて、それらの特徴インスタンスが現れた参照フレームと現在の（ターゲットの）フレームとの時間間隔が与えられている場合に、それらの特徴モデルパラメータを用いて、ターゲットの領域の状態を予測することができる。この場合、所与の状態モデルと時間ステップとに基づいて、前記不変原則に従って少なくとも２つの特徴パラメータを外挿することにより、ターゲットの領域の特徴パラメータを予測することができる。この場合の状態モデルは、線形のモデルであっても、それよりも高次のモデルであってもよい（例えば、拡張カルマンフィルタなど）。
【０１０７】
＜特徴モデル情報のキャッシュ整理およびアクセス＞
特徴モデルの生成中に、映像内で、同じ特徴のインスタンスが複数見つかる場合が多い。このとき、キャッシュに格納する前に特徴モデル情報を整理することにより、当該特徴モデル情報を効率的に記憶またはキャッシュ格納することができる。この手法は、パラメトリックなモデルベースの圧縮スキームにも、ノンパラメトリックなモデルベースの圧縮スキームにも適用することができる。
【０１０８】
例えば、図３Ｃにおいて、（フレームストア３５２も含め）キャッシュ３４８を、特徴ベースモデリングによる予測コンテキスト情報で圧縮効率が向上すると判断された場合に、特徴ベースモデリングによる予測コンテキスト情報を格納するものとして構成することができる。特徴ベースの予測コンテキスト情報がキャッシュに格納されない場合に、これにアクセスしようとすると、オーバーヘッドが発生し、システムの応答性や判断性能を低下させる可能性がある。処理済みの特徴ベース符号化の予測コンテキストをキャッシュに格納しておくことにより、そのようなオーバーヘッドを抑えることができる。このような構成により、特徴ベースの予測コンテキストに関係するデータへのアクセス頻度を減らすことができる。
【０１０９】
一例として、エンコーダ３１２／デコーダ３４０（図３Ａ、図３Ｃ）のキャッシュとして、映像処理の実行速度及び効率を向上させるように構成されたキャッシュを使用することが考えられる。符号化した映像データが、特徴ベース符号化の予測データを導き出したフレームと空間的に近くない映像データであっても、キャッシュにおいて、その符号化した映像データの近傍に、当該特徴ベース符号化の予測データを格納できるか否かによって、映像処理の性能は変化し得る。キャッシュの近さは、アクセスレイテンシや動作遅延やデータ伝送時間に影響し得る。例えば、多数のフレームからの特徴データを少量の物理的メモリに記憶しその形態でアクセスできるようにした方が、それらの特徴を導き出したフレームを恒久的な記憶装置に記憶し、そこにアクセスするよりも遥かに効率的である。また、エンコーダ３１２／デコーダ３４０（図３Ａ、図３Ｃ）は、マクロブロックまたはフレームが復号化された際にキャッシュ／バッファ／フレームストア内の特徴ベースの予測コンテキスト情報に容易にアクセスできるように予測データをキャッシュに格納する、コンフィギュレータ（設定部／設定手段）を含み得る。
【０１１０】
本発明の特定の実施形態では、まず、復号化したフレームについて２種類の特徴相関を定義することにより、すなわち、キャッシュに格納する局所的な復号化したデータと非局所的な復号化したデータとの２種類を定義することにより、キャッシュを拡張し得る。局所的なキャッシュは、バッチ形態（すなわち、フレームのグループの形態）でアクセス可能な、復号化したフレームの集合とされ得る。検出された特徴により、そのようなグループを構成するフレームが決まる。局所的なキャッシュは、現在のフレームで検出された特徴により活性化される。局所的なキャッシュは、現在のフレーム／マクロブロックにおいて「強い」特徴モデル（長い履歴のモデル）が少ない場合に多く使用される。局所的なキャッシュの処理は、バッチ形態の動き補償予測に基づく処理であり、フレームのグループは参照フレームのバッファに記憶される。図７Ａは、本発明の一実施形態にかかるキャッシュアーキテクチャ７１０−１の一例の概要を示すブロック図である。キャッシュアクセスアーキテクチャ７１０−１は、局所的なキャッシュへのアクセス７１２（７１６，７１８，７２０，７２２，７２４）と長期的な（非局所的な）キャッシュへのアクセス７１４（７２６，７２８，７３０，７３２）との判断プロセス７１０を含む。大部分の特徴が局所的である場合（過程７１２）（例えば、現在のフレーム／マクロブロックにおいて「強い」特徴モデルが少ない場合）、局所的なキャッシュの処理が行われる（過程７１８）。
【０１１１】
図７Ｂは、局所的な（短期的な）キャッシュデータ７３４の利用に伴う処理を示すブロック図である。局所的なキャッシュは、バッチ形態（すなわち、フレームのグループの形態）でアクセス可能な、復号化したフレームの集合とされ得る。検出された特徴により、そのようなグループを構成するフレームが決まる。図７Ｂの局所的なキャッシュ７３４は、「短い履歴の」特徴、すなわち、少数のフレームにしか及ばない特徴トラックの特徴のみをグループ化する。そのような「短い履歴」の複数の特徴によって包含される、フレーム同士の集約集合により、それら複数の特徴の共同フレームセット７３８が定まる。共同フレームセット７３８内のフレームの優先度は、各フレームのフレームトラックの複雑性に基づいて定まり得る。一実施形態において、そのような複雑性は、Ｈ．２６４などの基礎的な符号化プロセスによる特徴の符号化コストで決まり得る。図３Ｂ、図３Ｃ、図７Ａ及び図７Ｂにおいて、前記局所的なキャッシュは、フレームストア３５２またはキャッシュバッファ３４８に記憶／格納され得る。局所的に格納されたフレームは、過程７２０で利用する。次に、検出された特徴インスタンスに基づくＧＯＰ／バッチ７４２を、符号７２２で利用する。そして、検出された特徴インスタンスに基づく当該ＧＯＰ／バッチ７４２を、動き補償予測プロセスの参照フレームとしてテストし得る（過程７２４）。このようにして行われる動き補償予測は、特徴インスタンスが検出されたフレームを参照フレームとして動き補償を実施することから、特徴の追跡情報に「バイアス」しているとも見なせる。さらに、ＧＯＰ／バッチ状態、スライス状態およびエントロピー状態内で残差モデリングが可能か否かを調べる、追加のロールバックが設けられる（過程７４６）。これにより、映像フレームシーケンスにおいて、符号化されている最中の現在のフレームからみて遠くに位置する参照フレームを効率良く評価することができる。
【０１１２】
このように、本発明の特定の実施形態では、過去のフレームを分析して、現在のフレームに対するマッチをもたらす確率が最も高いフレームを決定することができる。さらに、参照フレームの数が、従来の圧縮法での１〜１６といった典型的なフレーム上限数よりも遥かに多くなる。有用なマッチを含む参照フレームが十分な数存在する場合、システム資源によっては、そのような参照フレームの数が、システムのメモリの限界にまで達することもある。さらに、本発明で生成される中間形態のデータにより、同数の参照フレームを記憶するのに必要なメモリ量を減少させることができる。
【０１１３】
再び図７Ａを参照して、長い履歴を有する特徴７２６の大半は、非局所的な／長期的なキャッシュに格納される。非局所的なキャッシュは、「フレーム」と「保持」の２種類のキャッシュアクセス方法に基づいたキャッシュである。非局所的なキャッシュの「フレーム」アクセスでは、フレームに直接アクセスすることにより、現在のフレームを符号化さするための特徴モデルを生成する。「保持」モードでは、復号化したデータに直接アクセスするのではなく、復号化したフレームから予め導き出されたデータ（その復号化したフレームにおける特徴モデルおよび当該特徴モデルでのインスタンスのパラメータ）として保持された特徴モデルを利用する。これにより、この「保持」モードでも、前記「フレーム」モードの場合と同じデータを合成することができる。具体的には、特徴インスタンスのモデルにアクセスする（過程７２８）。参照フレームにアクセスする（過程７３０）。最適な参照フレームとモデルとの組合せに印を付ける（過程７３２）。最適か否かの基準には、各参照フレームにおける特徴モデルの中間特徴情報（特徴の強さおよび特徴の帯域量を含む）が用いられ得る。
【０１１４】
長期的なキャッシュ７１４は、復号化したデータ（又は符号化したデータ）であればどのようなデータであってもよく、好ましくは、デコーダ状態でアクセス可能なものとされる。長期的なキャッシュ７１４は、例えば、参照フレーム／ＧＯＰを含み得る。当該参照フレーム／ＧＯＰは、一般的に、符号化されている最中の現在のフレームに先行する複数のフレームである。このようなフレームの組合せ以外にも、デコーダ側の長期的なキャッシュには、現在のフレームを復号化するのに利用可能な、あらゆる組合せの復号化したフレームを格納することができる。
【０１１５】
図７Ｃは、長期的なキャッシュデータの利用に伴う処理を示すブロック図である。長期的な（非局所的な）キャッシュ７４８は、より長いレンジのキャッシュアーキテクチャを有する。検出された特徴のインスタンスが複数回繰り返し発生しており、当該特徴の対応関係モデルを繰り返し適用できることから、その特徴が長い履歴を有すると判断された場合（過程７５２）、長期的なキャッシュが、局所的なキャッシュから初期化される（過程７５０）。次に、プロセスはどの「保持」モードを使用するのかを決定する（過程７５４）。非局所的なキャッシュのモードは、「保持」７６０と「非保持」７５６の２種類である。「非保持」７５６では、（既述したハイブリッドコーデックでの暗示的なモデリングの使用と同じく、）従来の動き補償予測プロセスを、特徴モデルに基づく予測によって補償する。そのため、「非保持」モード７５６では、参照フレームにアクセスする（符号７５８）ことによって有効な予測を得る。「保持」モードは、特徴モデルから明示的に得られた予測を使用する（過程７６２，７６６）点で「非保持」モードと異なる。よって、「保持」モードでは、予測空間が、特徴モデルを用いて合成可能な特徴のデータのみに必然的に限定される。また、その特徴モデルは、過去のフレームにおける特徴インスタンスのインスタンスパラメータ（当該過去のフレームに含まれるペルと同等）を含み得る。このようなパラメータを記述する関数の内挿により、予測を動き補償予測プロセスに提供し、フレームの合成を支援する（過程７６４）。
【０１１６】
本発明において、特徴の集合体（特徴集合体）を利用する一部の実施形態では、キャッシュに格納された特徴情報を使用して符号化を行う。このような実施形態では、特徴集合体の部分集合を用いて、その集合体の全体を表現（モデル化）する。既述したように、そのような部分集合は、例えばＳＶＤ等を用いることによって選択される。このようにして選択した特徴インスタンスの部分空間は、前記集合体の基底となり、同じ映像（又は他の映像）の後続のフレーム内に対応する特徴が現れるたびに当該特徴を符号化できるようにキャッシュに格納され使用され得る。このような特徴インスタンスの部分集合により、特徴をコンパクトに且つ正確にモデル化することができる。
【０１１７】
＜デジタル処理環境および通信ネットワーク＞
本発明の実施形態は、ソフトウェア環境でも、ファームウェア環境でも、ハードウェア環境でも実現可能である。一実施形態として、図８Ａにそのような環境を示す。少なくとも１つのクライアントコンピュータ／デバイス８１０およびクラウド（またはサーバーコンピュータもしくはその集団）８１２は、アプリケーションプログラムを実行する処理機能、記憶機能および入出力装置などを実現し得る。少なくとも１つのクライアントコンピュータ／デバイス８１０は、通信ネットワーク８１６を介して、（別のクライアントデバイス／プロセス８１０および少なくとも１つの別のサーバーコンピュータ８１２も含め）別のコンピューティングデバイスに接続可能である。通信ネットワーク８１６は、リモートアクセスネットワークの一部、グローバルネットワーク（例えば、インターネットなど）の一部、世界規模のコンピュータの集まりの一部、ローカルエリアネットワークの一部、ワイドエリアネットワークの一部、あるいは、各種プロトコル（ＴＣＰ／ＩＰ、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を用いて相互通信するゲートウェイの一部であり得る。それ以外の電子デバイス／コンピュータネットワークアーキテクチャも使用可能である。
【０１１８】
図８Ｂは、図８Ａの処理環境における所与のコンピュータ／コンピューティングノード（例えば、クライアントプロセッサ／デバイス８１０、サーバーコンピュータ８１２など）の内部構造を示す図である。各コンピュータ８１０，８１２は、コンピュータ（又は処理システム）の構成品間のデータ転送に用いられる実在する又は仮想的なハードウェアラインのセットである、システムバス８３４を備える。バス８３４は、コンピュータシステムの相異なる構成品（例えば、プロセッサ、ディスクストレージ、メモリ、入力／出力ポートなど）同士を接続する共有の配管のようなものであり、それら構成品間の情報のやり取りを可能にする。システムバス８３４には、様々な入出力装置（例えば、キーボード、マウス、ディスプレイ、プリンター、スピーカーなど）をコンピュータ８１０，８１２に接続するためのＩ／Ｏ装置インターフェース８１８が取り付けられている。コンピュータ８１０，８１２は、ネットワークインターフェース８２２を介して、ネットワーク（例えば、図８Ａのネットワーク８１６など）に取り付けられた他の様々なデバイスに接続することができる。メモリ８３０は、本発明の一実施形態（例えば、コーデック、ビデオエンコーダ／デコーダなど）を実現するのに用いられるコンピュータソフトウェア命令８２４およびデータ８２８を記憶する揮発性メモリである。ディスクストレージ８３２は、本発明の一実施形態を実施するのに用いられるコンピュータソフトウェア命令８２４（「ＯＳプログラム」８２６と同等）およびデータ８２８を記憶する不揮発性ストレージである。また、ディスクストレージ８３２は、映像を圧縮フォーマットで長期的に記憶するのにも使用され得る。システムバス８３４には、さらに、コンピュータ命令を実行する中央演算処理装置８２０も取り付けられている。なお、本明細書をとおして、「コンピュータソフトウェア命令」と「ＯＳプログラム」は互いに等価物である。
【０１１９】
一実施形態において、プロセッサルーチン８２４およびデータ８２８は、本発明にかかるシステム用のソフトウェア命令の少なくとも一部を提供するコンピュータプログラムプロダクト（概して符号８２４で示す）である。コンピュータプログラムプロダクト８２４としては、ストレージデバイス８２８に記憶可能なコンピュータ読み取り可能な媒体が挙げられる。コンピュータプログラムプロダクト８２４は、当該技術分野において周知である任意の適切なソフトウェアインストール方法によってインストール可能なものであり得る。他の実施形態において、前記ソフトウェア命令の少なくとも一部は、ケーブルおよび／または通信および／または無線接続を介してダウンロード可能なものであり得る。さらなる他の実施形態において、本発明にかかるプログラムは、伝播媒体による伝播信号（例えば、無線波、赤外線波、レーザ波、音波、インターネットなどのグローバルネットワークやその他のネットワークによって伝播される電波など）によって実現される、コンピュータプログラム伝播信号プロダクト８１４（図８Ａ）である。このような搬送媒体または搬送信号が、本発明にかかるルーチン／プログラム８２４，８２６用のソフトウェア命令の少なくとも一部を提供する。
【０１２０】
代替の実施形態において、前記伝播信号は、伝播媒体によって搬送されるアナログ搬送波またはデジタル信号である。例えば、前記伝播信号は、グローバルネットワーク（例えば、インターネットなど）、電気通信ネットワークまたはその他のネットワークによって搬送されるデジタル信号であり得る。一実施形態において、前記伝播信号は、所与の期間のあいだ伝播媒体によって送信される信号であり、例えば、数ミリ秒、数秒、数分またはそれ以上の期間のあいだネットワークによってパケットで送信される、ソフトウェアアプリケーション用の命令などであり得る。別の実施形態において、コンピュータプログラムプロダクト８２４の前記コンピュータ読み取り可能な媒体は、コンピュータシステム８１０が受け取って読み取り可能な伝播媒体である。例えば、コンピュータシステム８１０は、前述したコンピュータプログラム伝播信号プロダクトの場合のように、伝播媒体を受け取ってその伝播媒体内に組み込まれた伝播信号を特定する。
【０１２１】
＜特徴ベースのディスプレイツール＞
図８Ｃは、一具体例での、特徴ベースのディスプレイツールのスクリーンショット８４０である。スクリーンショット８４０は、映像のフレームを、ボックス８４２で特定された特徴と共に描いている。このフレームに係る映像フレームシーケンスコンテキストが、符号８４４で特定されている。特徴８４２が複数のフレーム８４４にわたって追跡されて、特徴セットが複数生成され、当該特徴セットがディスプレイのセクション８４６内に表示される。１つの特徴セット８４６には、複数の特徴メンバ（特徴インスタンス）が含まれる。データエリアには、所与の特徴を従来の圧縮法で符号化した場合に必要となるビット数である特徴帯域量（Bandwidth）８５２が表示される。同じデータエリアには、さらに、特徴検出プロセスが表示される（符号８５０）。このツールは、対象の映像内で特定された全ての特徴及び特徴トラックを表示することができる。
【０１２２】
顔にバイアスした（顔に注目する）顔トラッカー（顔追跡手段）を用いて、顔の検出を支援してもよい。顔の検出により、複数の特徴をグループ化するようにしてもよい。図８Ｅは、顔トラッカーで顔８６４を指定したスクリーンショット８６０−０２である。図８Ｄは、顔特徴及び顔以外の特徴の両方を数字８６２で示したスクリーンショット８６０−０１である。この例において、図８Ｄの数字は、複数のフレームにわたる特徴の追跡の長さを表す。顔に対するバイアスに基づいて特徴をグループ化することにより、顔と重複する複数のマクロブロックを符号化するのに使用可能なモデルを生成することができる。
【０１２３】
厳密にＨ．２６４エンコーダのプロセスを用いる代わりに、上記の顔モデルを用いて、対象の領域内の全ペル／全ピクセルを符号化するようにしてもよい。顏モデルを直接適用することにより、追加のバイアシングを実行する必要がなくなり、さらに、Ｈ．２６４を使用せずに過去の参照フレームを選択することができる。特徴対応関係モデルに基づいて顏を生成した後、下位の処理によって残差を符号化する。
【０１２４】
＜デジタルライツ管理＞
一部の実施形態では、本発明にかかるモデルを用いて、符号化されたデジタル映像へのアクセスを制御することができる。例えば、関連モデルなしでは、ユーザは映像ファイルを再生することができない。このアプローチの一具体例は、2008年1月4日付出願の米国特許出願第12/522,357号に記載されている。なお、この米国特許出願の全教示内容は、参照をもって本明細書に取り入れたものとする。映像を「ロックする」（映像に「鍵をかける」）のに前記モデルを使用することができる。また、映像データにアクセスするためのキー（鍵）として、前記モデルを使用することができる。符号化された映像データの再生動作は、モデルに依存し得る。このようなアプローチにより、符号化された映像データの読出しを、モデルへのアクセスなしでは不可能とすることができる。
【０１２５】
モデルへのアクセスを制御することにより、コンテンツの再生へのアクセスを制御することができる。この方式は、映像コンテンツへのアクセスを制限するための、ユーザフレンドリー且つデベロッパーフレンドリーな、効率良いソリューションとなり得る。
【０１２６】
また、モデルを用いて、コンテンツを段階的にアンロックする（コンテンツの鍵を開ける）ようにしてもよい。あるバージョンのモデルでは、符号をあるレベルまでしか復号化できないようにすることができる。段階的にモデルが完成していくことにより、最終的に映像全体をアンロックすることができる。初期のアンロック状態では映像のサムネイルのみをアンロックし、その映像全体が欲しいか否かを決める機会をユーザに与えるようにしてもよい。ユーザは、標準画質バージョンが欲しければ、１つ上のバージョンのモデルを手に入れる。ユーザが、高精細度品質またはシネマ品質を望むのであれば、より完成されたバージョンのモデルをダウンロードすればよい。モデルは、符号化サイズ及び符号化品質に応じた映像品質を段階的に実現できるように、冗長性なく符号化される。
【０１２７】
＜フレキシブルマクロブロック順序付けおよびスケーラブル映像符号化＞
本発明の例示的な実施形態では、従来の符号化／復号化プロセスを拡張することにより、符号化プロセスを向上させて圧縮の恩恵を受け得る。一実施形態では、本発明に、基礎的なＨ．２６４規格の拡張機能であるフレキシブルマクロブロック順序付け（ＦＭＯ）及びスケーラブル映像符号化（ＳＶＣ）が適用され得る。
【０１２８】
ＦＭＯは、符号化されたフレームのマクロブロックを、複数の種類のスライスグループのうちの１つの種類に割り当てる。この割当ては、マクロブロック割当てマップによって定まり、同じスライスグループ内のマクロブロックは互いに隣接していなくてもよい。ＦＭＯは、スライスグループを互いに独立して復号化するので、エラー耐性の面で有利である。具体的には、ビットストリームの転送時に１つのスライスグループが失われても、そのスライスグループに割り当てられたマクロブロックを、他のスライスに割り当てられた、当該スライスグループと隣接するマクロブロックから再構成することができる。本発明の一実施形態では、特徴ベース圧縮を、ＦＭＯの「フォアグラウンドおよびバックグラウンド」マクロブロック割当てマップタイプに組み込む。特徴と関連付けられたマクロブロックがフォアグラウンドのスライスグループを構成し、それ以外の全てのマクロブロック（特徴と関連付けられないマクロブロック）がバックグラウンドのスライスグループを構成する。
【０１２９】
ＳＶＣは、映像データの符号を、相異なるビットレートで提供することができる。基本レイヤは低いビットレートで符号化され、少なくとも１つの拡張レイヤは高いビットレートで符号化される。ＳＶＣビットストリームの復号化には、基本レイヤ（低ビットレート／低品質アプリケーション）のみを伴い得るか、あるいは、それに加えて一部又は全ての拡張レイヤ（高ビットレート／高品質アプリケーション）も伴い得る。ＳＶＣビットストリームのサブストリームもそれ自体が有効なビットストリームなので、ＳＶＣを利用することにより、複数のデバイスでＳＶＣビットストリームを（当該デバイスの能力に応じて相異なる品質で）復号化すること、さらに、インターネットストリーミングなどのチャネルスループットが変化する環境で復号化することも含め、アプリケーションのシナリオの自由度が向上する。
【０１３０】
一般的に、ＳＶＣ処理には、時間スケーラビリティ、空間スケーラビリティおよび品質スケーラビリティの３種類のスケーラビリティがある。本発明の一実施形態では、特徴ベースの一次的予測を基本レイヤに含めることにより、特徴ベース圧縮を、品質スケーラビリティ構成に組み込む（「モデルベースの主要な予測及び副次的な予測の生成」と題した前述の説明箇所を参照されたい）。そして、基本レイヤにおける符号化済みフレームを、拡張レイヤで参照フレームとして使用することにより、当該拡張レイヤにおいて特徴ベースの副次的予測を実現することができる。これにより、特徴ベース予測の情報を一斉に符号に加算するのではなく、段階的に加算することが可能となる。一変形例として、全ての特徴ベース予測（一次的予測および副次的予測）を拡張レイヤに移し、基本レイヤでは従来での予測のみを使用するようにしてもよい。
【０１３１】
図示のデータ経路／実行経路及び構成要素は例示に過ぎず、各構成要素の動作及び構成並びに各構成要素からのデータフロー及び各構成要素へのデータフローが、実施形態や圧縮する映像データの種類によって変わり得ることは、当業者であれば理解できる。つまり、あらゆる構成のデータモジュール／データ経路を採用することが可能である。
【０１３２】
本発明を例示的な実施形態を参照しながら具体的に図示・説明したが、当業者であれば、添付の特許請求の範囲に包含される本発明の範囲から逸脱することなく、形態および細部の詳細な変更が可能であることを理解するであろう。
【図１Ｂ】
2015515806.tif 000004
【図７Ｃ】
2015515806.tif 000005
【図１Ａ】
2015515806.tif 000006
【図１Ｃ】
2015515806.tif 000007
【図２Ａ】
2015515806.tif 000008
【図２Ｂ】
2015515806.tif 000009
【図２Ｃ】
2015515806.tif 000010
【図３Ａ】
2015515806.tif 000011
【図３Ｂ】
2015515806.tif 000012
【図３Ｃ】
2015515806.tif 000013
【図３Ｄ】
2015515806.tif 000014
【図４】
2015515806.tif 000015
【図５】
2015515806.tif 000016
【図６Ａ】
2015515806.tif 000017
【図６Ｂ】
2015515806.tif 000018
【図６Ｃ】
2015515806.tif 000019
【図７Ａ】
2015515806.tif 000020
【図７Ｂ】
2015515806.tif 000021
【図８Ａ】
2015515806.tif 000022
【図８Ｂ】
2015515806.tif 000023
【図８Ｃ】
2015515806.tif 000024
【図８Ｄ】
2015515806.tif 000025
【図８Ｅ】
2015515806.tif 000026
【国際調査報告】
2015515806.tif 000027
2015515806.tif 000028
2015515806.tif 000029
2015515806.tif 000030
2015515806.tif 000031