(58)【調査した分野】(Int.Cl.,DB名)
入力ビデオシーケンスから、1つまたは複数の高解像度置換パッチを生成するパッチジェネレータであって、前記1つまたは複数の高解像度置換パッチが、前記入力ビデオシーケンスの再構築中に1つまたは複数の低解像度パッチを置き換えるためのものである、パッチジェネレータを備える装置であって、
前記パッチジェネレータは、前記入力ビデオシーケンスから抽出されたパッチのクラスタ化プロセスに続いて、前記入力ビデオシーケンスからの対応する拡大パッチを平均することによって、前記1つまたは複数の高解像度置換パッチを生成し、前記拡大パッチは、追加の境界拡張を伴う前記入力ビデオシーケンスからの前記抽出されたパッチであり、かつ前記入力ビデオシーケンスから抽出されたパッチより大きなサイズであり、前記高解像度置換パッチは、パッチ空間シフティングプロセスでの使用に適合するために前記1つまたは複数の低解像度パッチのパッチサイズよりも大きく、前記パッチジェネレータは、前記拡大パッチの対応する部分と前記低解像度パッチとの間でシフトされるとき、最小ユークリッド距離を有する前記拡大パッチの部分を使用するパッチ空間シフティングプロセスを使用する、前記装置。
前記量子化プロセスが、前記入力ビデオシーケンスから抽出された複数のパッチに適用されるクラスタ化プロセスに対応し、前記クラスタ化プロセスが、1つまたは複数の基準に基づく同様の特性を有する前記複数のパッチのうちのパッチを互いにグループ化するためのものであり、前記1つまたは複数の高解像度置換パッチが、前記複数のパッチのうちの前記パッチから導出される、請求項2に記載の装置。
前記量子化プロセスが、前記入力ビデオシーケンスから抽出された複数のパッチに適用されるクラスタ化プロセスに対応し、前記クラスタ化プロセスが、1つまたは複数の基準に基づく同様の特性を有する前記複数のパッチのうちのパッチを互いにグループ化するためのものであり、前記1つまたは複数の高解像度置換パッチが、前記複数のパッチのうちの前記パッチから導出される、請求項10に記載の方法。
動き誘導ベクトル量子化誤差を有する1つまたは複数の高解像度置換パッチを受け取り、前記1つまたは複数の高解像度置換パッチを少なくとも空間的にシフトして、前記動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するパッチシフタであって、前記1つまたは複数の高解像度置換パッチが、入力ビデオシーケンスに対応し、前記入力ビデオシーケンスから抽出されたパッチのクラスタ化プロセスに続いて、前記入力ビデオシーケンスからの対応する拡大パッチを平均することによって、入力ビデオシーケンスから導出され、前記拡大パッチは、追加の境界拡張を伴う前記入力ビデオシーケンスからの前記抽出されたパッチであり、かつ前記入力ビデオシーケンスから抽出されたパッチより大きなサイズであり、前記高解像度置換パッチは、1つまたは複数の低解像度パッチより大きく、ビデオエンコーダのパッチジェネレータは、前記拡大パッチの対応する部分と前記低解像度パッチとの間でシフトされるとき、最小ユークリッド距離を有する前記拡大パッチの部分を使用するパッチ空間シフティングプロセスを使用する、パッチシフタと、
1つまたは複数の小型化ピクチャの低解像度パッチを前記1つまたは複数の空間的にシフトした高解像度置換パッチで置き換えて前記入力ビデオシーケンスを再構築する、前記パッチシフタと信号通信するピクチャ再構築デバイスであって、前記1つまたは複数の空間的にシフトした高解像度置換パッチおよび1つまたは複数の小型化ピクチャは、前記入力ビデオシーケンスに対応し、前記入力ビデオシーケンスから導出される、前記ピクチャ再構築デバイスと、
を備える、装置。
前記入力ビデオシーケンスが、ビデオ圧縮用のベクトル量子化ベースの圧縮プロセス、例に基づくビデオ超解像度プロセス、ビデオ要約プロセス、およびビデオプルーニングプロセスのうちの少なくとも1つで再構築される、請求項17に記載の装置。
前記マルコフ確率場がコスト関数として実装され、パッチシフト座標がコスト関数の変数として使用され、前記1つまたは複数の高解像度置換パッチのうちの対応するものに関する、対応するシフトが求められる、請求項20に記載の装置。
前記サブピクセルパッチシフティングが階層型パッチマッチングプロセスで使用され、前記階層型パッチマッチングプロセスでは、ピクセルパッチシフティングプロセスを使用して、前記1つまたは複数の高解像度置換パッチのうちの1つによって置き換えられるべき低解像度パッチの位置を推定し、次いでサブピクセルパッチシフティングプロセスを実行して、推定を改善し、前記サブピクセルパッチシフティングプロセスでは、前記ピクセルパッチシフティングプロセスよりも狭い範囲を使用する、請求項22に記載の装置。
前記入力ビデオシーケンスが、ビデオ圧縮用のベクトル量子化ベースの圧縮プロセス、例に基づくビデオ超解像度プロセス、ビデオ要約プロセス、およびビデオプルーニングプロセスのうちの少なくとも1つで再構築される、請求項26に記載の方法。
前記マルコフ確率場がコスト関数として実装され、パッチシフト座標が前記コスト関数の変数として使用され、前記1つまたは複数の高解像度置換パッチのうちの対応するものに関する、対応するシフトが求められる、請求項29に記載の方法。
前記サブピクセルパッチシフティングが階層型パッチマッチングプロセスで使用され、前記階層型パッチマッチングプロセスでは、ピクセルパッチシフティングプロセスを使用して、前記1つまたは複数の高解像度置換パッチのうちの1つによって置き換えられるべき低解像度パッチの位置を推定し、次いでサブピクセルパッチシフティングプロセスを実行して、推定を改善し、前記サブピクセルパッチシフティングプロセスでは、前記ピクセルパッチシフティングプロセスよりも狭い範囲を使用する、請求項31に記載の方法。
【背景技術】
【0003】
本発明者等は以前に、ビデオデータプルーニングのための事例に基づく超解像度化方法および装置(example−based super resolution method and apparatus for video data pruning)(以後、「事例に基づく超解像度化方法」と呼ぶ)を開発した。事例に基づく超解像度化は、入力ピクチャ内の低解像度パッチを照会キーワードとして使用してパッチライブラリ内の高解像度パッチを見つけ、低解像度入力ピクチャ内の低解像度パッチを、取り出した高解像度パッチで置き換えることによって低解像度ピクチャを高解像度ピクチャに変換する超解像度技法である。
【0004】
さらに詳細には、この事例に基づく超解像度化方法では、エンコーダ側の高解像度ビデオフレームをイメージパッチまたはブロックに分割する(例えば、事例に基づく超解像度化方法の一実装では、16×16ピクセルブロックを使用する)。次いで、イメージパッチをいくつかのクラスタにグループ化する。クラスタの代表的パッチを小型化フレームと共にデコーダ側に送る。デコーダ側では、代表的パッチを抽出する。低解像度ビデオ内のパッチを高解像度の代表的パッチで置き換え、回復後高解像度ビデオを生成する。
【0005】
図1を参照すると、事例に基づく超解像度化システム/方法のハイレベルブロック図が、全般的に参照符号100で示されている。ステップ110で、高解像度(HR)フレームが入力され、小型化フレームおよびパッチフレームを得るために(エンコーダ側プリプロセッサ151によって)エンコーダ側前処理を施す。ステップ115で、(エンコーダ152によって)小型化フレームおよびパッチフレームを符号化する。ステップ120で、(デコーダ153によって)符号化小型化フレームおよびパッチフレームを復号化する。ステップ125で、高解像度出力フレームを供給するために(超解像度ポストプロセッサ154によって)低小型化フレームおよびパッチフレームに超解像度後処理を施す。
【0006】
図2を参照すると、
図1の事例に基づく超解像度化システム/方法に対応するエンコーダ側前処理のハイレベルブロック図が、全般的に参照符号200で示されている。ステップ210で、(パッチ抽出およびクラスタ化部(clusterer)251によって)入力ビデオにパッチ抽出およびクラスタ化を施す。さらに、ステップ215で、(ダウンサイザ252によって)入力ビデオに小型化も施し、ダウンサイザ252から小型化フレームを出力する。ステップ220で、(パッチパッカ252によって)クラスタ化パッチをパッチフレームにパックし、パッチパッカ252から(パック済み)パッチフレームを出力する。
【0007】
図3を参照すると、
図1の事例に基づく超解像度化システム/方法に対応するデコーダ側後処理のハイレベルブロック図が、全般的に参照符号300で示されている。ステップ310で、(パッチ抽出およびクラスタ化部351によって)符号化パッチフレームにパッチ抽出および処理を施し、処理済みパッチを得る。ステップ315で、(パッチライブラリ352によって)処理済みパッチを格納する。ステップ320で、(アップサイザ353によって)復号化小型化フレームに大型化を施し、大型化フレームを得る。ステップ325で、(パッチ探索および置換部354によって)大型化フレームにパッチ探索および置換を施し、置換パッチを得る。ステップ330で、(ポストプロセッサ355によって)置換パッチに後処理を施し、高解像度フレームを得る。
【0008】
図1〜3に関する事例に基づく超解像度化システム/方法の主要な構成要素は、パッチクラスタ化およびパッチ置換である。このプロセスは、ベクトル量子化ベースの圧縮といくつかの共通点を有する。システムが静的シーンを有するビデオに適用されるとき、ビデオを非常に良好に回復することができる。しかし、入力ビデオが動きを有する場合、回復後ビデオにジッタリングアーチファクトが観測される可能性がある。アーチファクトは、パッチクラスタ化およびパッチ置換プロセスによって引き起こされる。
図4を参照すると、動きによって引き起こされる量子化誤差が、全般的に参照符号400で示されている。量子化誤差は、6つのフレーム(フレーム1からフレーム6と呼ぶ)で取り込まれる(動いている)オブジェクトである。(動いている)オブジェクトが
図4で曲線で示されている。量子化誤差400が、
図4の上側部分、中央部分、および下側部分に関して示されている。上側部分では、入力ビデオシーケンスの連続するフレームからの共に位置する入力パッチ410が示されている。中央部分では、クラスタに対応する代表的パッチ420が示されている。具体的には、中央部分は、クラスタ1の代表的パッチ421、およびクラスタ2の代表的パッチ422を示す。下側部分では、回復後ビデオシーケンス中のパッチ430が示されている。ビデオシーケンス中のオブジェクトの動きにより、オブジェクトの縁部がシフトするパッチのシーケンスが得られる。連続するフレームのシーケンス中のパッチは非常に類似して見えるので、1つのクラスタ(または何らかの他の少ない数のクラスタ)にグループ化され、単一の代表的パッチ(または何らかの他の少ない数の代表的パッチ)として表される。クラスタ数は、処理すべきビデオシーケンス中の連続するフレーム数よりも明らかに少ないはずなので、先行する文では「少ない」という用語を使用する。回復プロセスの間に、対応する低解像度パッチが、クラスタに関連する代表的パッチで置き換えられる。異なる空間シフトを有するパッチが同一のパッチで置き換えられるので、回復後ビデオ中のオブジェクトの縁部がフレームにわたってジャンプし、その結果、ジッタリングアーチファクトが生じる。
【0009】
本発明者等の上述の事例に基づく超解像度化方法および装置に加えて、他の事例に基づく超解像度化手法も存在することに留意されたい。したがって、他の事例に基づく超解像度化手法に関して、パッチ置換プロセスのアーチファクト問題に対処されていないことに留意されたい。1つの理由は、最初の従来技術の手法による、事例に基づく超解像度化アルゴリズムが、ビデオ用ではなくイメージ用に開発されたことである可能性がある。さらに、上述の最初の従来技術の手法によるシステムならびに類似のシステムは、圧縮のためではなく、超解像度のために開発されたので、クラスタ化構成要素を有さず、したがって、そのシステムのアーチファクト問題は、
図1〜3に関して上記で説明したビデオデータプルーニングのための事例に基づく超解像度化方法ほどには深刻ではないことがある。
【0010】
要約すると、データプルーニングのための事例に基づく超解像度化は、高解像度(本明細書では「high−res」とも呼ぶ)イグザンプルパッチおよび低解像度(本明細書では「low−res」とも呼ぶ)フレームをデコーダに送る。デコーダは、低解像度パッチをイグザンプル高解像度パッチで置き換えることによって高解像度フレームを回復する(
図3参照)。しかし、動きのあるビデオでは、しばしば、パッチ置換プロセスの結果、ベクトル量子化(VQ)誤差によるジッタリングアーチファクトが生じる。
【発明を実施するための形態】
【0019】
本原理は、パッチシフティングを通じてベクトル量子化誤差を低減する方法および装置を対象とする。
【0020】
本説明は本原理を例示する。したがって、本明細書には明示的には説明または図示していないが、本原理を具体化し、本原理の趣旨および範囲内に含まれる様々な構成を当業者は考案できることを理解されよう。
【0021】
本明細書に記載のすべての例および条件的言語は、当技術分野を促進することに対して本発明者(等)が寄与する本原理および概念を読者が理解するのを助ける、教育的な目的のためのものであり、そのような具体的に記載した例および条件に限定されないと解釈されるべきである。
【0022】
さらに、本原理の原理、態様、および実施形態、ならびにその特定の例を説明する本明細書のすべての陳述は、その構造的等価物と機能的等価物の両方を包含するものとする。さらに、そのような等価物は、現在知られている等価物、ならびに将来開発される等価物の両方、すなわち構造の如何に関わらず同一の機能を実行する、開発される任意の要素を含むものとする。
【0023】
したがって、例えば、本明細書で提示するブロック図が本原理を具体化する例示的回路の概念図を表すことを当業者は理解されよう。同様に、コンピュータまたはプロセッサが明示的に示されているか否かに関わらず、任意のフローチャート、流れ図、状態遷移図、疑似コードなどが、実質上コンピュータ可読媒体で表すことができ、次いでそのようなコンピュータまたはプロセッサによって実行することのできる様々なプロセスを表すことを理解されよう。
【0024】
図に示す様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することのできるハードウェアを使用することによって実現することができる。プロセッサで実現されるとき、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有されることのある複数の個々のプロセッサによって機能を実現することができる。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用が、ソフトウェアを実行することのできるハードウェアをもっぱら指すと解釈すべきではなく、限定はしないが、暗黙的に、デジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを格納する読取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、および不揮発性ストレージを含むことができる。
【0025】
従来型および/またはカスタムの他のハードウェアも含めることができる。同様に、図に示す任意のスイッチは概念的なものに過ぎない。その機能は、プログラムロジックの動作、専用ロジック、プログラム制御と専用ロジックの対話、さらには手動によって実行することができ、文脈からより具体的に理解できるように、実装者によって特定の技法が選択可能である。
【0026】
本明細書の特許請求の範囲では、指定の機能を実行する手段として表される任意の要素は、例えば、a)その機能を実行する回路要素の組合せ、b)ソフトウェアを実行して機能を実行するための適切な回路と組み合わされる、任意の形態のソフトウェア、したがってファームウェア、マイクロコードなどを含むソフトウェアを含む、その機能を実行する任意の方式を包含するものとする。そのような特許請求の範囲によって定義される本原理は、様々な記載の手段によって提供される機能が、特許請求の範囲が求める方式で組み合わされ、互いに一緒にされることにある。したがって、そのような機能を提供することのできる任意の手段が、本明細書で示すものと同等であるとみなされる。
【0027】
本明細書での、本原理の「一実施形態」ならびに本原理の他の変形形態に対する参照は、実施形態と共に説明する特定の機能、構造、特徴などが本原理の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な場所で出現する「一実施形態では」という語句、ならびに任意の他の変形の出現は、必ずしもすべて同一の実施形態を指すわけではない。
【0028】
「/」、「および/または」、および「の少なくとも1つ」、例えば、「A/B」の場合、「Aおよび/またはB」、「AおよびBのうちの少なくとも1つ」は、最初に列挙したオプション(A)のみの選択、または2番目に列挙したオプション(B)のみの選択、または両方のオプション(AおよびB)の選択を包含するものとすることを理解されたい。別の例として、「A、B、および/またはC」ならびに「A、B、およびCのうちの少なくとも1つ」の場合、そのような言い回しは、最初に列挙したオプション(A)のみの選択、または2番目に列挙したオプション(B)のみの選択、または3番目に列挙したオプション(C)のみの選択、または1番目と2番目に列挙したオプション(AおよびB)のみの選択、または1番目と3番目に列挙したオプション(AおよびC)のみの選択、または2番目と3番目に列挙したオプション(BおよびC)のみの選択、または3つのすべてのオプション(AおよびBおよびC)の選択を包含するものとする。当業者は直ちに理解するように、列挙される項目と同数だけこのことを拡張することができる。
【0029】
さらに、本明細書では、「ピクチャ」および「イメージ」という語が交換可能に使用され、一般には、静止イメージまたはビデオシーケンスからのピクチャを指す。しかし、事例に基づく超解像度化に対する従来の手法は、イメージを対象とし、ビデオシーケンスからのピクチャを対象としないことに留意されたい。周知の通り、ピクチャはフレームまたはフィールドでよい。
【0030】
図5を参照すると、パッチシフティングを通じてベクトル量子化誤差を低減する例示的システムが、全般的に参照符号500で示されている。システム500は、パッチパッカ510の入力との信号通信における出力を有するパッチジェネレータを含む。パッチパッカ510の出力は、エンコーダ515の入力と信号通信で接続される。エンコーダの出力は、デコーダ530の入力と信号通信で接続される。デコーダ530の出力は、パッチエキストラクタ535の入力と信号通信で接続される。パッチエキストラクタ535の出力は、パッチライブラリ550の第1の入力と信号通信で接続される。
【0031】
ダウンサイザ520の出力は、エンコーダ525の入力と信号通信で接続される。エンコーダ525の出力は、デコーダ540の入力と信号通信で接続される。デコーダ540の出力は、アップサイザ545の入力と信号通信で接続される。アップサイザ545の出力は、パッチサーチャ555の入力と信号通信で接続される。パッチサーチャ555の第1の出力は、パッチシフタ560の入力と信号通信で接続される。パッチサーチャ444の第2の出力は、パッチライブラリ550の第2の入力と信号通信で接続される。
【0032】
パッチジェネレータ505の入力およびダウンサイザ520の入力は、入力ピクチャを受け取る、システム500に対する入力として利用可能である。パッチシフタ560の出力は、高解像度ピクチャを出力する、システム500の出力として利用可能である。
【0033】
エンコーダ515、525からデコーダ530、540に情報を通信する必要に応じて、エンコーダ515とデコーダ530との間の接続、ならびにエンコーダ525とデコーダ540との間の接続は一時的なものであることがあることを理解されたい。
【0034】
さらに、パッチジェネレータ505、パッチパッカ510、エンコーダ515、ダウンサイザ520、およびエンコーダ525がエンコーダ側に属し、デコーダ530、パッチエキストラクタ535、パッチライブラリ550、デコーダ540、アップサイザ545、パッチサーチャ555、およびパッチシフタ560がデコーダ側に属することを理解されたい。
【0035】
さらに、一実施形態で、パッチシフタ560が、動き誘導ベクトル量子化誤差を有する1つまたは複数の高解像度置換パッチを受け取り、1つまたは複数の高解像度置換パッチを少なくとも空間的にシフトして、動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減する場合、パッチシフタがピクチャ再構築デバイスを含むとみなせることを理解されたい。1つまたは複数の高解像度置換パッチは、入力ビデオシーケンスに対応し、入力ビデオシーケンスから導出される。一実施形態でパッチシフタ内に含まれると仮定されるピクチャ再構築デバイスは、入力ビデオシーケンスに対応し、入力ビデオシーケンスから導出された1つまたは複数の空間的にシフトした高解像度置換パッチおよび1つまたは複数の小型化ピクチャを使用して入力ビデオシーケンスを再構築する。
【0036】
パッチジェネレータ505は、抽出したパッチをクラスタ化し、代表的パッチを生成する。パッチパッカ510は、代表的パッチをパッチフレームにパックする。ビデオエンコーダ515および525は、それぞれ(パッチパッカ510によって供給される)パッチフレームおよび(ダウンサイザ520によって供給される)小型化フレームを符号化する。ダウンサイザ520は、デコーダ側に送信するために元のピクチャをより小型のサイズに小型化する。ビデオデコーダ530および540は、それぞれ(符号化)パッチフレームおよび(符号化)小型化フレームを復号化する。パッチエキストラクタ535は、パッチフレームからパッチを抽出する。アップサイザ545は、復号化小型化ピクチャをアップスケールする。パッチサーチャ555は、パッチライブラリ内のパッチを探索し、ピクチャ内のブロックを見つかったパッチで置き換える。パッチシフタ560は、パッチをシフトしてベクトル量子化誤差を補正する。
【0037】
図6を参照すると、本原理を適用することのできる例示的ビデオエンコーダが、全般的に参照符号600で示されている。ビデオエンコーダ600は、コンバイナ685の非反転入力と信号通信する出力を有するフレーム順序付けバッファ610を含む。コンバイナ685の出力は、変換器および量子化器625の第1の入力と信号通信で接続される。変換器および量子化器625の出力は、エントロピーコーダ645の第1の入力、ならびに逆変換器および逆量子化器650の第1の入力と信号通信で接続される。エントロピーコーダ645の出力は、コンバイナ690の第1の非反転入力と信号通信で接続される。コンバイナ690の出力は、出力バッファ635の第1の入力と信号通信で接続される。
【0038】
エンコーダコントローラ605の第1の出力は、フレーム順序付けバッファ610の第2の入力、逆変換器および逆量子化器650の第2の入力、ピクチャタイプ判定モジュール615の入力、マクロブロックタイプ(MBタイプ)判定モジュール620の第1の入力、イントラ予測モジュール660の第2の入力、デブロッキングフィルタ665の第2の入力、動き補償器670の第1の入力、動き推定器675の第1の入力、および基準ピクチャバッファ680の第2の入力と信号通信で接続される。
【0039】
エンコーダコントローラ605の第2の出力は、補助拡張情報(SEI)インサータ630の第1の入力、変換器および量子化器625の第2の入力、エントロピーコーダ645の第2の入力、出力バッファ635の第2の入力、ならびにシーケンスパラメータセット(SPS)およびピクチャパラメータセット(PPS)インサータ640の入力と信号通信で接続される。
【0040】
SEIインサータ630の出力は、コンバイナ690の第2の非反転入力と信号通信で接続される。
【0041】
ピクチャタイプ判定モジュール615の第1の出力は、フレーム順序付けバッファ610の第3の入力と信号通信で接続される。ピクチャタイプ判定モジュール615の第2の出力は、マクロブロックタイプ判定モジュール620の第2の入力と信号通信で接続される。
【0042】
シーケンスパラメータセット(SPS)およびピクチャパラメータセット(PPS)インサータ640の出力は、コンバイナ690の第3の非反転入力と信号通信で接続される。
【0043】
逆量子化器および逆変換器650の出力は、コンバイナ619の第1の非反転入力と信号通信で接続される。コンバイナ619の出力は、イントラ予測モジュール660の第1の入力およびデブロッキングフィルタ665の第1の入力と信号通信で接続される。デブロッキングフィルタ665の出力は、基準ピクチャバッファ680の第1の入力と信号通信で接続される。基準ピクチャバッファ680の出力は、動き推定器675の第2の入力および動き補償器670の第3の入力と信号通信で接続される。動き推定器675の第1の出力は、動き補償器670の第2の入力と信号通信で接続される。動き推定器675の第2の出力は、エントロピーコーダ645の第3の入力と信号通信で接続される。
【0044】
動き補償器670の出力は、スイッチ697の第1の入力と信号通信で接続される。イントラ予測モジュール660の出力は、スイッチ697の第2の入力と信号通信で接続される。マクロブロックタイプ判定モジュール620の出力は、スイッチ697の第3の入力と信号通信で接続される。スイッチ697の第3の入力は、(制御入力、すなわち第3の入力と比較して)スイッチの「データ」入力を動き補償器670で供給すべきか、それともイントラ予測モジュール660で供給すべきかを決定する。スイッチ697の出力は、コンバイナ619の第2の非反転入力およびコンバイナ685の反転入力と信号通信で接続される。
【0045】
フレーム順序付けバッファ610の第1の入力およびエンコーダコントローラ605の入力は、入力ピクチャを受け取る、エンコーダ600の入力として利用可能である。さらに、補助拡張情報(SEI)インサータ630の第2の入力は、メタデータを受け取る、エンコーダ600の入力として利用可能である。出力バッファ635の出力は、ビットストリームを出力する、エンコーダ100の出力として利用可能である。
【0046】
図5のエンコーダ515および525のうちの1つまたは複数をエンコーダ600として実装できることを理解されたい。
【0047】
図7を参照すると、本原理を適用することのできる例示的ビデオデコーダが、全般的に参照符号700で示されている。ビデオデコーダ700は、エントロピーデコーダ745の第1の入力と信号通信で接続される出力を有する入力バッファ710を含む。エントロピーデコーダ745の第1の出力は、逆変換器および逆量子化器750の第1の入力と信号通信で接続される。逆変換器および逆量子化器750の出力は、コンバイナ725の第2の非反転入力と信号通信で接続される。コンバイナ725の出力は、デブロッキングフィルタ765の第2の入力およびイントラ予測モジュール760の第1の入力と信号通信で接続される。デブロッキングフィルタ765の第2の出力は、基準ピクチャバッファ780の第1の入力と信号通信で接続される。基準ピクチャバッファ780の出力は、動き補償器770の第2の入力と信号通信で接続される。
【0048】
エントロピーデコーダ745の第2の出力は、動き補償器770の第3の入力、デブロッキングフィルタ765の第1の入力、およびイントラ予測器760の第3の入力と信号通信で接続される。エントロピーデコーダ745の第3の出力は、デコーダコントローラ705の入力と信号通信で接続される。デコーダコントローラ705の第1の出力は、エントロピーデコーダ745の第2の入力と信号通信で接続される。デコーダコントローラ705の第2の出力は、逆変換器および逆量子化器750の第2の入力と信号通信で接続される。デコーダコントローラ705の第3の出力は、デブロッキングフィルタ765の第3の入力と信号通信で接続される。デコーダコントローラ705の第4の出力は、イントラ予測モジュール760の第2の入力、動き補償器770の第1の入力、および基準ピクチャバッファ780の第2の入力と信号通信で接続される。
【0049】
動き補償器770の出力は、スイッチ797の第1の入力と信号通信で接続される。イントラ予測モジュール760の出力は、スイッチ797の第2の入力と信号通信で接続される。スイッチ797の出力は、コンバイナ725の第1の非反転入力と信号通信で接続される。
【0050】
入力バッファ710の入力は、入力ビットストリームを受け取る、デコーダ700の入力として利用可能である。デブロッキングフィルタ765の第1の出力は、出力ピクチャを出力する、デコーダ700の出力として利用可能である。
【0051】
図5のデコーダ530および540のうちの1つまたは複数をデコーダ700として実装できることを理解されたい。
【0052】
上述のように、本原理は、パッチシフティングを通じてベクトル量子化誤差を低減する方法および装置を対象とする。さらに詳細には、少なくとも1つの実施形態では、置換高解像度パッチをシフトし、回復後高解像度ビデオの時空的平滑
化を
図ることにより、ベクトル量子化誤差によって引き起こされるジッタリングアーチファクトを低減する。
【0053】
(例えば、
図1〜3に関して上記で説明した)本発明者等の超解像度ベースのデータプルーニングフレームワークに関して方法を開発したが、アルゴリズムは、ベクトル量子化、およびパッチ置換に関わるすべてのシステムに対して適用可能である。例えば、上述の第1の従来技術の手法(および類似の手法)での例に基づくイメージ超解像度、ならびにビデオ要約(video epitome)および従来型ベクトル量子化ベースのイメージ/ビデオ圧縮システムに本原理を適用することができる。要約ベースの手法は、イメージ(またはビデオ)をパッチに分割し、イメージを、代表的パッチを含む小型ミニチュア、およびイメージ内のパッチを要約ミニチュア内のパッチにマッピングする主観的マップとして表す。小型ミニチュア(すなわち、要約)は、元のイメージまたはビデオの圧縮バージョンとみなすことができ、したがって、潜在的には要約を圧縮目的で使用することができる。
【0054】
一般性のために、以下の2つの構成要素を含む抽象システムに焦点を当てる。(1)イグザンプル(または代表的)パッチ生成、および(2)パッチ置換。異なる応用例では、そのようなパラダイムは変形形態を有することがある。例えば、上述の第1の従来技術の手法では、イグザンプルパッチ生成は、クラスタ化することなくイメージデータベースからパッチを収集することによって実現される。本発明者等の事例に基づく超解像度化方法では(他の何らかのベクトル量子化ベースの圧縮方式も同様)、イグザンプル(または代表的)パッチが、入力ビデオ/イメージから抽出されるパッチをクラスタ化することによって生成される。
【0055】
図13を参照すると、パッチシフティングを通じてベクトル量子化誤差を低減する例示的方法が、全般的に参照符号1300で示されている。方法1300は、
図5に示すエンコーダ側で実行される機能に対応する。方法1300は開始ブロック1305を含み、開始ブロック1305は、機能ブロック1310および機能ブロック1330に制御を渡す。機能ブロック1310は高解像度パッチを抽出し、機能ブロック1315に制御を渡す。機能ブロック1315は高解像度パッチをクラスタ化し、各クラスタについて代表的高解像度パッチを得て、機能ブロック1320に制御を渡す。機能ブロック1320は、代表的高解像度パッチを高解像度フレームにパックし、機能ブロック1325に制御を渡す。機能ブロック1325は、高解像度パッチフレームおよびパッチサイズ導出データを符号化し、終了ブロック1399に制御を渡す。機能ブロック1330は元のピクチャを小型化して小型化ピクチャを得て、機能ブロック1335に制御を渡す。機能ブロック1335は小型化ピクチャを符号化し、終了ブロック1399に制御を渡す。
【0056】
図14を参照すると、パッチライブラリを生成する例示的方法が、全般的に参照符号1400で示されている。方法1400は開始ブロック1405を含み、開始ブロック1405は機能ブロック1410に制御を渡す。機能ブロック1410は、高解像度パッチフレームを受け取って復号化し、機能ブロック1415に制御を渡す。機能ブロック1415は、パッチフレームから高解像度パッチを抽出し、機能ブロック1420に制御を渡す。機能ブロック1420は、抽出した高解像度パッチを使用してパッチライブラリを作成し、終了ブロック1499に制御を渡す。
【0057】
図15を参照すると、パッチシフティングを通じてベクトル量子化誤差を低減する別の例示的方法が、全般的に参照符号1500で示されている。方法1500は、
図5に示すデコーダ側上で実行される機能に対応する。方法1500は開始ブロック1505を含み、開始ブロック1505は機能ブロック1510に制御を渡す。機能ブロック1510は小型化ピクチャを大型化し、機能ブロック1515に制御を渡す。機能ブロック1515は、低解像度パッチを高解像度パッチで置き換え、機能ブロック1520に制御を渡す。機能ブロック1520は、高解像度パッチを空間的にシフトし、最良のパッチ位置を得て、機能ブロック1525に制御を渡す。機能ブロック1525は、空間的にシフトした高解像度パッチを使用して入力ビデオシーケンスを再構築し、終了ブロック1599に制御を渡す。
【0058】
アーチファクトを低減するパッチシフティング
イグザンプルパッチ生成構成要素がクラスタ化プロセスを含む場合、クラスタ化プロセスの結果、ベクトル量子化誤差が生じる。異なるタイプの量子化誤差が存在することがある。1つのタイプの量子化誤差は、
図4に示すように、動きによって引き起こされる。
【0059】
本原理に従って、回復プロセス中にイグザンプル(代表的)パッチをシフトすることにより、動きの結果として生じる量子化誤差を解決する。
【0060】
パッチシフティング
事例に基づく超解像度化のケースでは、回復後イメージまたはビデオフレーム内にホールを生み出すことなく高解像度パッチをシフトするために、クラスタ化中に生成されたイグザンプルパッチは、置換用の低解像度フレーム内のパッチよりも大きくなければならない。例えば、フレーム内の低解像度パッチのサイズがN×Nピクセルである場合、代表的パッチのサイズは、M>NとしてM×Mでなければならない。したがって、1次元での最大パッチシフトはM−Nである。
図8を参照すると、拡大パッチが、全般的に参照符号800で示されている。置換用のフレーム内の低解像度パッチ810も示されている。図からわかるように、拡大パッチ800は、他の「フレーム領域」内に延びる。
【0061】
本発明者等の現在の事例に基づく超解像度化システムでは、N×Nピクセルサイズを有する1組のパッチに対してクラスタ化プロセスを実行する。しかし、クラスタ化プロセスを行った後、M×Mピクセルサイズを有する、対応する拡大パッチを平均することによって代表的パッチを生成する。拡大パッチは、追加の境界拡張(各次元でM−Nピクセル)を伴うクラスタ化のために使用されるパッチである。境界のパッチについて、フレームの外側のエリアに追加のピクセルを補充することによって拡大パッチを作成する。例えば、ブラックピクセルを補充する、境界のピクセルを複製するなどの、異なる補充の方策を使用することができる。
【0062】
デコーダ側では、パッチ置換およびシフティングプロセスの前に、パッチマッチングのための通常の代表的パッチ(N×Nピクセルブロック)をクロッピングによって拡大パッチから作成する。フレーム回復プロセスの間、低解像度イメージ内の所与のパッチ位置の低解像度パッチを、ライブラリ内の通常の代表的パッチ(N×Nピクセルブロック)とマッチングする。最小の距離を有するライブラリ内のパッチを候補として選択する。次いで、(例えば、
図8の)拡大イグザンプルパッチを使用するパッチシフティングプロセスを適用し、拡大イグザンプルパッチの露出部分(すなわち、低解像度パッチを置き換える部分)と、置換用の低解像度パッチ(
図3)との間の最小距離が得られるシフト座標を見つける。このことは本質的に、パッチ発見およびパッチシフティングを含む2段階プロセスである。これらのステップを、パッチマッチングステップごとにパッチシフティングも適用するように組み合わせることができ、その結果、最良のパッチ候補および最良のパッチシフト座標を同時に得ることができる。しかし、そのような共同プロセスは、計算コストがはるかに高い。
【0063】
ベクトル量子化圧縮応用例では、パッチを位置合せするために使用することのできる低解像度イメージおよび低解像度パッチはない。しかし、本明細書の後で説明する時空的平滑
化を
図ることにより、パッチシフティングをやはり達成することができる。
【0064】
時空的平滑
化
上記では、空間的および時間的制約を考慮することなく、単純なマッチングプロセスによってパッチシフティングが実現される。その結果、時空的整合性が実施されないので、回復後にアーチファクトが依然として見えることがある。
【0065】
本発明等の現在のシステムでは、その変数が拡大パッチのシフト座標であるコスト関数を最小限に抑えることによって時空的制約が実施される。具体的には、i番目の拡大パッチP
iについて、シフト座標はS
i=(x
i,y
i)である。ただしx
iはピクセル単位で測定した水平シフトであり、y
iは垂直シフトである。空間的制約のみを考慮する場合、コスト関数を以下のように構築することができる。
【0067】
上式で、S
iはi番目のパッチのシフト座標であり、λは重み因子であり、C1は、シフトしたパッチとテンプレートパッチとの間の差を測定するコスト関数である(テンプレートパッチは、事例に基づく超解像度化のケースでは低解像度パッチである)。T(.)が、シフト座標S
iに従ってM
iのサイズをマッチングするために拡大パッチをシフトし、クロッピングし、小型化する変換であるとして、テンプレートパッチがM
iであり、シフトし、クロッピングしたパッチがT(P
i|S
i)である場合、C1が
【0069】
と定義される。C2がi番目のパッチの境界ピクセルを使用して定義される。境界エリアをΩと表す。その場合、
【0073】
は境界エリアΩ内に制限される距離計算を表す。Iは、最後の反復による回復後ビデオフレームである。C2に関する他の代替コスト関数、例えば、パッチ差を計算するためにピクセルではなくイメージ勾配を使用するコスト関数も使用できることを理解されたい。アルゴリズムは、C1コスト関数のみで式(2)のコスト関数を最小限に抑えることによって初期値S
1、S
2、...、S
Mで開始する反復プロセスである。続く反復では、C2関数を使用する。
【0074】
上記の構築は、時間的整合性を考慮に入れない。時間的整合性を考慮する場合、パッチシフティングの前に動きベクトルフィールドを計算しなければならない。本発明の現在のシステムでは、各パッチ位置について前方動きベクトルおよび後方動きベクトルをどちらも計算する。前方動きベクトルは、現フレーム内のパッチの、次のフレーム内の対応するパッチと比較した変位である(
図9参照)。後方動きベクトルは、現フレーム内のパッチの、前のフレーム内の対応するパッチと比較した変位である(
図10参照)。
図9を参照すると、前方動きベクトルが、全般的に参照符号900で示されている。前方動きベクトル900は、i番目のフレーム910および(I+1)番目のフレーム920に対応する。
図10を参照すると、後方動きベクトルが、全般的に参照符号1000で示されている。後方動きベクトル1000は、(i−1)番目のフレーム1010およびi番目のフレーム910に対応する。
【0075】
時間的整合性を考慮に入れると、コスト関数は以下のようになる。
【0077】
上式で、C3は、以下のような時間的整合性を実施するコスト関数である。
【0079】
上式で、F(M
i)は、その前方動きベクトルに従ってパッチM
iに対応する次のフレーム内のパッチである。パッチM
iの左上隅の座標が(x,y)である場合、次のビデオフレーム内の対応するパッチの左上隅の座標は、(x+U(x,y),y+V(x,y))であるべきである(
図9)。同様に、B(M
i)は、その後方動きベクトルに従ってパッチM
iに対応する前のフレーム内のパッチである。
【0080】
拡大パッチのシフト座標S
iは、テンプレート(i番目の低解像度パッチ)およびその隣接エリア(i番目のパッチの境界ピクセル)のみに依存するので、式(3)のコスト関数は、実際にはパッチ上のマルコフ確率場(MRF)を定義する。マルコフ確率場の最小化は、限定はしないが、例えば、勾配降下、確率伝播、モンテカルロなどの様々な手法によって実現することができる。本発明者等の現在のシステムでは、勾配降下手法が効率的であり、満足の行く結果を与えるので、勾配降下手法を使用する。最小化手順は、以下のような反復プロセスである(
図11)。
1.時空的制約なしにパッチをシフトすることによってすべてのフレーム内のすべてのパッチのシフト座標を初期化する。このことは、C2項およびC3項のない式(3)のコスト関数を最小限に抑えることと同等である。
2.各フレームについて、C2項およびC3項を有する式(3)のコスト関数を最小限に抑える。その後、選択したパッチおよびシフト座標を使用して、高解像度フレームを回復する。
3.停止条件を満たす場合、アルゴリズムから出る。そうでない場合、ステップ2に戻る。
【0081】
様々な停止条件を使用することができる。1つの可能な選択肢は、最後の反復と現反復の合計コストの差が一定のしきい値未満であるときにアルゴリズムを停止させることである。
【0082】
本原理の一実施形態では、本発明者等の提案する方法の最適化フレームワークがマルコフ確率場(MRF)に基づくことに留意されたい。前述の第1の従来技術の手法は、MRFフレームワークを使用してパッチの選択を最適化したが、本発明者等は、MRFを使用してパッチをシフトし、ベクトル量子化誤差によって引き起こされるアーチファクトを最小限に抑えることにさらに留意されたい。
【0083】
図11を参照すると、パッチングシフティングのための例示的方法が、全般的に参照符号1100で示されている。方法1100は開始ブロック1105を含み、開始ブロック1105は機能ブロック1110に制御を渡す。機能ブロック1110は低解像度フレームおよび拡大イグザンプルパッチを入力し、機能ブロック1115に制御を渡す。機能ブロック1115は、すべてのフレームに関するすべてのパッチのシフト座標を初期化し、機能ブロック1120に制御を渡す。機能ブロック1120は、コスト関数を最小限に抑えて最良のシフト座標を見つけ、機能ブロック1125に制御を渡す。機能ブロック1125は、パッチおよび最良のシフト座標を使用して高解像度フレームを回復し、判定ブロック1130に制御を渡す。判定ブロック1130は、コスト関数が収束したか否かを判定する。収束した場合、機能ブロック1135に制御を渡す。収束しない場合、機能ブロック1120に制御を返す。機能ブロック1135は、最良のシフト座標を出力し、終了ブロック1199に制御を渡す。
【0084】
サブピクセルパッチシフティング
オブジェクトまたは背景の動きが非常に小さい場合、前述の時空的制約を使用する場合であっても、ジッタリングアーチファクトがまだ見えることになる。サブピクセルパッチシフティングを使用して、パッチ位置合せをより正確にする。サブピクセルパッチシフティングを使用するアルゴリズムは、時空的平滑
化を
図ることに関して上記で説明したものとほぼ同じである。違いは、シフト座標が分数値、例えば1/2ピクセル、1/3ピクセルなどを取ることである。
【0085】
サブピクセルパッチシフティングを使用することは、式(3)のMRFコスト関数についてより多くの状態数(すなわち、シフト座標の空間のサイズ)が存在し、したがってサブピクセルパッチシフティングが通常のパッチシフティングよりも複雑となることを意味する。計算複雑さを低減する一方法は、以下のような階層型マッチング方式を使用することである。まず、ピクセルパッチシフティング方式を使用して、パッチの位置を概算で求め、次いで、狭い範囲でのサブピクセルパッチシフティングが続き、パッチ位置を改善する。
【0086】
より良好な代表的パッチの生成
今までのところは、ビデオ回復段階中にパッチシフティングを適用するだけである。しかし、クラスタ化プロセス中により良好な代表的パッチを生成するためにパッチシフティングを使用することもできる。
【0087】
代表的パッチは通常、クラスタ化中にクラスタ内のすべてのパッチを平均することによって生成される。パッチ内のオブジェクト縁部が平均化の前に位置合せされない場合、平均化プロセスの結果、一般には、得られるパッチイメージの解像度は低くなる。したがって、オブジェクト縁部をより良好に保持することができるように、平均化プロセスの前にパッチシフティングを適用してパッチを位置合せすることができる。各クラスタについて、以下の反復手順によって位置合せを実現することができる。
1.クラスタ内のすべてのパッチを平均し、クラスタの初期代表的パッチを得る。
2.クラスタ内のパッチのうちの所与の各パッチを代表的パッチとマッチングして、(例えば、ユークリッド距離などを使用して)全体の差を最小限に抑えることにより、クラスタ内の各パッチを代表的パッチに位置合せする。
3.すべてのパッチがゼロシフトを有する場合、アルゴリズムは停止し、代表的パッチを出力する。そうでない場合、シフトしたパッチを平均することによって代表的パッチを再計算し、ステップ2に戻る。
【0088】
前述の手法とは別に、より良好な代表的パッチを生成することは、例えば、第1の例示的手法や第2の例示的手法などの他の手法でも実現することができる。第1の例示的手法では、クラスタ内のパッチを平均するのではなく、平均パッチから最小の距離を有するパッチのうちの1つをクラスタから選ぶことができる。第2の例示的手法では、クラスタ内のパッチを平均するではなく、クラスタ内のパッチのうちの一部のみを使用して平均化を実行すると共に、クラスタ中心(すなわち、平均パッチ)から逸脱し過ぎているアウトライアパッチを除外することができる。
【0089】
より一般的なパッチ変換への拡張
パッチシフティングは、一般的なパッチ幾何学的変換の特殊ケースである。したがって、パッチシフティングの概念は、限定はしないが、ズームイン/アウト、回転、射影変換などを含むより一般的な幾何学的変換に対処する、より汎用の変換に一般化することができる。こうした変換を組み込むアルゴリズムは、シフト座標をより一般的な変換パラメータで置き換えることにより、時空的平滑
化を
図ることに関して本明細書の上記で与えたアルゴリズムと同様である。そのようなパラメータの例は、限定はしないが、変換パラメータ、回転パラメータ、投射パラメータなどを含む。しかし、一般的なパッチ変換の主な問題は、計算複雑さがパッチシフティングよりもずっと高くなることである。
【0090】
図12を参照すると、改良型代表的パッチを生成する例示的方法が、全般的に参照符号1200で示されている。方法1200は開始ブロック1205を含み、開始ブロック1205は機能ブロック1210に制御を渡す。機能ブロック1210はクラスタおよびそのパッチを入力し、機能ブロック1215に制御を渡す。機能ブロック1215は、初期の代表的パッチを計算し、機能ブロック1220に制御を渡す。機能ブロック1220は、パッチを代表的パッチと位置合せし、判定ブロック1225に制御を渡す。判定ブロック1225は、すべてのパッチがゼロシフトを有するか否かを判定する。そうである場合、機能ブロック1230に制御を渡す。そうでない場合、機能ブロック1235に制御を渡す。機能ブロック1230は代表的パッチを出力し、終了ブロック1299に制御を渡す。機能ブロック1235は代表的パッチを再計算し、機能ブロック1220に制御を返す。
【0091】
実験結果
本発明者等は、例に基づくビデオ超解像度応用例について様々なビデオに対してパッチシフティングアルゴリズムをテストした。結果は、サブピクセルシフトおよびMRF最適化を伴うパッチシフティングアルゴリズムが、動きによって引き起こされるジッタリングアーチファクトを著しく低減することを示している。
【0092】
様々な実施形態および変形形態
1.MRFベースのフレームワークを何らかの他のコスト関数ベースの定式化で置き換えることができる。
2.様々な最適化方法によって式(3)のMRFコスト関数を最小限に抑えることができる。
3.式(3)の第2の項を他の境界条件で置き換えることができる。
4.式(3)の第3の項について様々な(異なる)定式化を使用することができる。
5.より良好な代表的パッチを生成することに関して本明細書で説明した方法の、様々な他の方法および手法での置換え。
次に、その一部を上記で述べた、本発明の多くの付随する利点/特徴のうちの一部の説明を与える。例えば、1つの利点/特徴は、入力ビデオシーケンスから、1つまたは複数の高解像度置換パッチを生成するパッチジェネレータを有する装置である。1つまたは複数の高解像度置換パッチは、入力ビデオシーケンスの再構築中に1つまたは複数の低解像度パッチを置き換えるためのものである。パッチジェネレータは、パッチ空間シフティングプロセスに対応するデータを使用して、1つまたは複数の高解像度置換パッチを生成する。パッチ空間シフティングプロセスは、1つまたは複数の高解像度置換パッチ内の動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するためのものである。データは、パッチ空間シフティングプロセスでの使用に適するようにするために1つまたは複数の低解像度パッチのパッチサイズよりも大きいパッチサイズを有するような1つまたは複数の高解像度置換パッチを生成するように、1つまたは複数の高解像度置換パッチのパッチサイズを少なくとも導出するためのものである。
【0093】
別の利点/特徴は、上述のようなパッチジェネレータを有する装置であり、動き誘導ベクトル量子化誤差が、1つまたは複数の高解像度置換パッチの生成中に適用される量子化プロセスによって引き起こされる。
【0094】
さらに別の利点/特徴は、パッチジェネレータを有する装置であり、上述のように、動き誘導ベクトル量子化誤差が、1つまたは複数の高解像度置換パッチの生成中に適用される量子化プロセスによって引き起こされ、量子化プロセスが、入力ビデオシーケンスから抽出された複数のパッチに適用されるクラスタ化プロセスに対応し、クラスタ化プロセスが、1つまたは複数の基準に基づく同様の特性を有する複数のパッチのうちのパッチを互いにグループ化するためのものであり、1つまたは複数の高解像度置換パッチが、複数のパッチのうちのパッチから導出される。
【0095】
さらに別の利点/特徴は、パッチジェネレータを有する装置であり、量子化プロセスが、入力ビデオシーケンスから抽出された複数のパッチに適用されるクラスタ化プロセスに対応し、クラスタ化プロセスが、1つまたは複数の基準に基づく同様の特性を有する複数のパッチのうちのパッチを互いにグループ化するためのものであり、上述のように、1つまたは複数の高解像度置換パッチが、複数のパッチのうちのパッチから導出され、クラスタ化プロセスが、同一のクラスタ内の複数のパッチのうちのパッチを平均することを含み、同一のクラスタ内に含めるために複数のパッチのうちのパッチを選択することに続いて、同一のクラスタ内の複数のパッチのうちのパッチの平均化の前に、平均化に備えて複数のパッチのうちのパッチ内のオブジェクト縁部を位置合せするために、パッチ空間シフティングプロセスが、複数のパッチのうちのパッチに適用される。
【0096】
さらに、別の利点/特徴は、パッチジェネレータを有する装置であり、クラスタ化プロセスが、同一のクラスタ内の複数のパッチのうちのパッチを平均することを含み、同一のクラスタ内に含めるために複数のパッチのうちのパッチを選択することに続いて、同一のクラスタ内の複数のパッチのうちのパッチの平均化の前に、上述のように、平均化に備えて複数のパッチのうちのパッチ内のオブジェクト縁部を位置合せするために、パッチ空間シフティングプロセスが、複数のパッチのうちのパッチに適用され、同一のクラスタ内の複数のパッチのうちのパッチの一部だけが、クラスタ中心からの対応するパッチ距離に基づいて平均される。
【0097】
さらに、別の利点/特徴は、上述のようなパッチジェネレータを有する装置であり、動き誘導ベクトル量子化誤差が、入力ビデオシーケンスの再構築中に実行されるパッチ置換プロセスによって引き起こされる。
【0098】
さらに、別の利点/特徴は、上述のようなパッチジェネレータを有する装置であり、装置は、入力ビデオシーケンスから1つまたは複数の小型化ピクチャを生成するダウンサイザと、高解像度置換パッチおよび1つまたは複数の小型化ピクチャを、結果として得られるビットストリームに符号化する、パッチジェネレータおよびダウンサイザと信号通信する1つまたは複数のビデオエンコーダとをさらに含む。
【0099】
さらに、別の利点/特徴は、上述のようなパッチジェネレータを有する装置であり、方法がビデオエンコーダで実行される。
【0100】
本明細書の教示に基づいて、本原理のこれらおよび他の特徴および利点を当業者は容易に確認することができる。ハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組合せの様々な形態で本原理の教示を実施できることを理解されたい。
【0101】
最も好ましくは、本原理の教示は、ハードウェアとソフトウェアの組合せとして実装される。さらに、ソフトウェアをプログラム記憶ユニット上に有形に具体化されたアプリケーションプログラムとして実装することができる。アプリケーションプログラムは、任意の適切なアーキテクチャを備えるマシンにアップロードし、実行することができる。好ましくは、マシンは、1つまたは複数の中央演算処理装置(「CPU」)、ランダムアクセスメモリ(「RAM」)、入出力(「I/O」)インターフェースなどのハードウェアを有するコンピュータプラットフォーム上に実装される。コンピュータプラットフォームはまた、オペレーティングシステムおよびマイクロ命令コードをも含むことができる。本明細書に記載の様々なプロセスおよび機能は、CPUによって実行することのできる、マイクロ命令コードの一部、もしくはアプリケーションプログラムの一部、またはそれらの任意の組合せでよい。さらに、追加のデータ記憶ユニットやプリンティングユニットなどの様々な他の周辺ユニットをコンピュータプラットフォームに接続することができる。
【0102】
添付の図面に示す構成システム構成要素および方法の一部が好ましくはソフトウェアで実装されるので、システム構成要素またはプロセス機能ブロック間の実際の接続は、本原理がプログラムされる方式に応じて異なることがあることをさらに理解されたい。本明細書の教示が与えられると、本原理のこれらおよび類似の実装または構成を当業者は企図することができることになる。
【0103】
添付の図面を参照しながら本明細書で例示的実施形態を説明したが、本原理がこうした厳密な実施形態に限定されず、本原理の範囲または趣旨から逸脱することなく、当業者は本原理の中で様々な変更および修正を実施できることを理解されたい。すべてのそのような変更および修正は、添付の特許請求の範囲に記載の本原理の範囲内に包含されるものとする。
本発明は以下の態様を含む。
(付記1)
入力ビデオシーケンスから、1つまたは複数の高解像度置換パッチを生成するパッチジェネレータ(505)であって、前記1つまたは複数の高解像度置換パッチが、前記入力ビデオシーケンスの再構築中に1つまたは複数の低解像度パッチを置き換えるためのものである、パッチジェネレータ(505)を備える装置であって、
前記パッチジェネレータ(505)は、パッチ空間シフティングプロセスに対応するデータを使用して、1つまたは複数の高解像度置換パッチを生成し、前記パッチ空間シフティングプロセスは、前記1つまたは複数の高解像度置換パッチ内の動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するためのものであり、前記データは、前記パッチ空間シフティングプロセスでの使用に適するようにするために前記1つまたは複数の低解像度パッチのパッチサイズよりも大きいパッチサイズを有するような前記1つまたは複数の高解像度置換パッチを生成するように、前記1つまたは複数の高解像度置換パッチのパッチサイズを少なくとも導出するためのものである、前記装置。
(付記2)
前記動き誘導ベクトル量子化誤差が、前記1つまたは複数の高解像度置換パッチの生成中に適用される量子化プロセスによって引き起こされる、付記1に記載の装置。
(付記3)
前記量子化プロセスが、前記入力ビデオシーケンスから抽出された複数のパッチに適用されるクラスタ化プロセスに対応し、前記クラスタ化プロセスが、1つまたは複数の基準に基づく同様の特性を有する前記複数のパッチのうちのパッチを互いにグループ化するためのものであり、前記1つまたは複数の高解像度置換パッチが、前記複数のパッチのうちの前記パッチから導出される、付記2に記載の装置。
(付記4)
前記クラスタ化プロセスが、同一のクラスタ内の前記複数のパッチのうちの前記パッチを平均することを含み、前記同一のクラスタ内に含めるために前記複数のパッチのうちの前記パッチを選択することに続いて、前記同一のクラスタ内の前記複数のパッチのうちの前記パッチの平均化の前に、前記平均化に備えて前記複数のパッチのうちの前記パッチ内のオブジェクト縁部を位置合せするために、前記パッチ空間シフティングプロセスが、前記複数のパッチのうちの前記パッチに適用される、付記3に記載の装置。
(付記5)
前記複数のパッチのうちの前記パッチの一部だけが、クラスタ中心からの対応するパッチ距離に基づいて平均される、付記4に記載の装置。
(付記6)
前記動き誘導ベクトル量子化誤差が、前記入力ビデオシーケンスの再構築中に実行されるパッチ置換プロセスによって引き起こされる、付記1に記載の装置。
(付記7)
前記入力ビデオシーケンスから1つまたは複数の小型化ピクチャを生成するダウンサイザ(520)と、
前記高解像度置換パッチおよび前記1つまたは複数の小型化ピクチャを、結果として得られるビットストリームに符号化する、前記パッチジェネレータおよび前記ダウンサイザと信号通信する1つまたは複数のビデオエンコーダ(515、525)と、
をさらに備える、付記1に記載の装置。
(付記8)
前記方法がビデオエンコーダで実行される、付記1に記載の装置。
(付記9)
プロセッサを使用して実行される方法であって、
入力ビデオシーケンスから、1つまたは複数の高解像度置換パッチを生成するステップであって、前記1つまたは複数の高解像度置換パッチが、前記入力ビデオシーケンスの再構築中に1つまたは複数の低解像度パッチを置き換えるためのものである、ステップ
を含み、
前記生成するステップは、パッチ空間シフティングプロセスに対応するデータを使用して、前記1つまたは複数の高解像度置換パッチを生成し、前記パッチ空間シフティングプロセスは、前記1つまたは複数の高解像度置換パッチ内の動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するためのものであり、前記データは、前記パッチ空間シフティングプロセスでの使用に適するようにするために前記1つまたは複数の低解像度パッチのパッチサイズよりも大きいパッチサイズを有するような前記1つまたは複数の高解像度置換パッチを生成するように、前記1つまたは複数の高解像度置換パッチのパッチサイズを少なくとも導出するためのものである、前記方法。
(付記10)
前記動き誘導ベクトル量子化誤差は、前記1つまたは複数の高解像度置換パッチの生成中に適用される量子化プロセスによって引き起こされる、付記9に記載の方法。
(付記11)
前記量子化プロセスが、前記入力ビデオシーケンスから抽出された複数のパッチに適用されるクラスタ化プロセス(1315)に対応し、前記クラスタ化プロセス(1315)が、1つまたは複数の基準に基づく同様の特性を有する前記複数のパッチのうちのパッチを互いにグループ化するためのものであり、前記1つまたは複数の高解像度置換パッチが、前記複数のパッチのうちの前記パッチから導出される、付記10に記載の方法。
(付記12)
前記クラスタ化プロセス(1315)が、同一のクラスタ内の前記複数のパッチのうちの前記パッチを平均することを含み、前記同一のクラスタ内に含めるために前記複数のパッチのうちの前記パッチを選択することに続いて、前記同一のクラスタ内の前記複数のパッチのうちの前記パッチの平均化の前に、前記平均化に備えて前記複数のパッチのうちの前記パッチ内のオブジェクト縁部を位置合せするために、前記パッチ空間シフティングプロセスが、前記複数のパッチのうちの前記パッチに適用される、付記11に記載の方法。
(付記13)
前記複数のパッチのうちの前記パッチの一部だけが、クラスタ中心からの対応するパッチ距離に基づいて平均される、付記12に記載の方法。
(付記14)
前記動き誘導ベクトル量子化誤差が、前記入力ビデオシーケンスの再構築中に実行されるパッチ置換プロセスによって引き起こされる、付記9に記載の方法。
(付記15)
前記高解像度置換パッチ(1325)および前記1つまたは複数の小型化ピクチャを、結果として得られるビットストリーム(1335)に符号化するステップをさらに含む、付記9に記載の方法。
(付記16)
ビデオエンコーダで実行される、付記9に記載の方法。
(付記17)
動き誘導ベクトル量子化誤差を有する1つまたは複数の高解像度置換パッチを受け取り、前記1つまたは複数の高解像度置換パッチを少なくとも空間的にシフトして、前記動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するパッチシフタ(560)であって、前記1つまたは複数の高解像度置換パッチが、入力ビデオシーケンスに対応し、入力ビデオシーケンスから導出されるパッチシフタ(560)と、
前記入力ビデオシーケンスに対応し、前記入力ビデオシーケンスから導出された1つまたは複数の空間的にシフトした高解像度置換パッチおよび1つまたは複数の小型化ピクチャを使用して前記入力ビデオシーケンスを再構築する、前記パッチシフタと信号通信するピクチャ再構築デバイス(560)と、
を備える、装置。
(付記18)
前記入力ビデオシーケンスが、ビデオ圧縮用のベクトル量子化ベースの圧縮プロセス、例に基づくビデオ超解像度プロセス、ビデオ要約プロセス、およびビデオプルーニングプロセスのうちの少なくとも1つで再構築される、付記17に記載の装置。
(付記19)
前記高解像度置換パッチが、空間的制約および時間的制約を使用して、それぞれ空間的および時間的にシフトされる、付記17に記載の装置。
(付記20)
マルコフ確率場が使用され、再構築後ビデオシーケンス中の時空的平滑度が実施される、付記17に記載の装置。
(付記21)
前記マルコフ確率場がコスト関数として実装され、パッチシフト座標がコスト関数の変数として使用され、前記1つまたは複数の高解像度置換パッチのうちの対応するものに関する、対応するシフトが求められる、付記20に記載の装置。
(付記22)
空間シフティングがサブピクセルパッチシフティングを含み、前記ジッタの多いアーチファクトをさらに低減する、付記17に記載の装置。
(付記23)
前記サブピクセルパッチシフティングが階層型パッチマッチングプロセスで使用され、前記階層型パッチマッチングプロセスでは、ピクセルパッチシフティングプロセスを使用して、前記1つまたは複数の高解像度置換パッチのうちの1つによって置き換えられるべき低解像度パッチの位置を推定し、次いでサブピクセルパッチシフティングプロセスを実行して、推定を改善し、前記サブピクセルパッチシフティングプロセスでは、前記ピクセルパッチシフティングプロセスよりも狭い範囲を使用する、付記22に記載の装置。
(付記24)
ビットストリームから前記高解像度置換パッチおよび前記1つまたは複数の小型化ピクチャを復号化する前記パッチシフタと信号通信するビデオデコーダをさらに備える、付記17に記載の装置。
(付記25)
ビデオデコーダに含まれる、付記17に記載の装置。
(付記26)
プロセッサを使用して実行される方法であって、
動き誘導ベクトル量子化誤差を有する1つまたは複数の高解像度置換パッチを受け取るステップと、
前記1つまたは複数の高解像度置換パッチを少なくとも空間的にシフトして、前記動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するステップ(1520)であって、前記1つまたは複数の高解像度置換パッチが、入力ビデオシーケンスに対応し、入力ビデオシーケンスから導出されるステップ(1520)と、
前記入力ビデオシーケンスに対応し、前記入力ビデオシーケンスから導出された1つまたは複数の空間的にシフトした高解像度置換パッチおよび1つまたは複数の小型化ピクチャを使用して前記入力ビデオシーケンスを再構築するステップ(1525)と、
を含む、前記方法。
(付記27)
前記入力ビデオシーケンスが、ビデオ圧縮用のベクトル量子化ベースの圧縮プロセス、例に基づくビデオ超解像度プロセス、ビデオ要約プロセス、およびビデオプルーニングプロセスのうちの少なくとも1つで再構築される、付記26に記載の方法。
(付記28)
前記高解像度置換パッチが、空間的制約および時間的制約を使用して、それぞれ空間的および時間的にシフトされる、付記26に記載の方法。
(付記29)
マルコフ確率場が使用され、再構築後ビデオシーケンス中の時空的平滑度が実施される、付記26に記載の方法。
(付記30)
前記マルコフ確率場がコスト関数として実装され、パッチシフト座標が前記コスト関数の変数として使用され、前記1つまたは複数の高解像度置換パッチのうちの対応するものに関する、対応するシフトが求められる、付記29に記載の方法。
(付記31)
空間シフティングがサブピクセルパッチシフティングを含み、前記ジッタの多いアーチファクトをさらに低減する、付記26に記載の方法。
(付記32)
前記サブピクセルパッチシフティングが階層型パッチマッチングプロセスで使用され、前記階層型パッチマッチングプロセスでは、ピクセルパッチシフティングプロセスを使用して、前記1つまたは複数の高解像度置換パッチのうちの1つによって置き換えられるべき低解像度パッチの位置を推定し、次いでサブピクセルパッチシフティングプロセスを実行して、推定を改善し、前記サブピクセルパッチシフティングプロセスでは、前記ピクセルパッチシフティングプロセスよりも狭い範囲を使用する、付記31に記載の方法。
(付記33)
ビットストリームから前記高解像度置換パッチおよび前記1つまたは複数の小型化ピクチャを復号化するステップ(1410)をさらに含む、付記26に記載の方法。
(付記34)
ビデオデコーダで実行される、付記26に記載の方法。
(付記35)
その上に符号化されたビデオ信号データを有するコンピュータ可読記憶媒体であって、
入力ビデオシーケンスから生成された1つまたは複数の高解像度置換を含み、前記1つまたは複数の高解像度置換パッチは、前記入力ビデオシーケンスの再構築中に1つまたは複数の低解像度パッチを置き換えるためのものであり、
前記1つまたは複数の高解像度置換パッチが、パッチ空間シフティングプロセスに対応するデータを使用して生成され、前記パッチ空間シフティングプロセスが、前記1つまたは複数の高解像度置換パッチ内の動き誘導ベクトル量子化誤差によって引き起こされるジッタの多いアーチファクトを低減するためのものであり、前記データが、前記パッチ空間シフティングプロセスでの使用に適するようにするために前記1つまたは複数の低解像度パッチのパッチサイズよりも大きいパッチサイズを有するような前記1つまたは複数の高解像度置換パッチを生成するように、前記1つまたは複数の高解像度置換パッチのパッチサイズを少なくとも導出するためのものである、前記コンピュータ可読記憶媒体。