(57)【特許請求の範囲】
【請求項１】
複数の入力ビデオフレームを特定すること、
前記複数の入力ビデオフレームの第１のフレームから、前記複数の入力ビデオフレームの第２のフレームに、モーションを示す複数のモーションベクトルを生成すること、
前記第１のフレームおよび前記第２のフレームとの間に補間ポイントを特定すること、
前記複数のモーションベクトルに基づいて、前記第１のフレームから前記補間ポイントへのモーションおよび前記第２のフレームから前記補間ポイントまでを示す複数の候補補間モーションベクトルを生成すること、
補間されるフレーム内における平滑性の制約に基づいて、前記複数の候補補間モーションベクトルから、補間モーションベクトルを選択すること、および
選択された前記補間モーションベクトルに基づいて、前記補間ポイントで補間されたフレームを生成することを含み、
前記補間されたフレームを生成することは、複数の補間ピクセルを生成することを含み、
前記補間モーションベクトルを選択することは、
複数の補間モーションベクトルを含む補間モーションフィールドを選択することを含み、
前記複数の補間モーションベクトルの各補間モーションベクトルは、前記複数の補間ピクセルのうち１つの補間ピクセルと関連し、
前記補間されたフレームを生成することは、前記補間モーションフィールドに基づいて前記補間されたフレームの加工を修正することを含み、
前記加工を修正することは、前記補間されたフレームと、前記第１のフレームおよび前記第２のフレームの平均とを融合することを含み、
前記融合の程度は、前記補間モーションフィールドの勾配に基づく方法。
【請求項２】
複数の入力ビデオフレームを特定すること、
前記複数の入力ビデオフレームの第１のフレームから、前記複数の入力ビデオフレームの第２のフレームに、モーションを示す複数のモーションベクトルを生成すること、
前記第１のフレームおよび前記第２のフレームとの間に補間ポイントを特定すること、
前記複数のモーションベクトルに基づいて、前記第１のフレームから前記補間ポイントへのモーションおよび前記第２のフレームから前記補間ポイントまでを示す複数の候補補間モーションベクトルを生成すること、
前記第１のフレームおよび前記第２のフレームとの間の平滑性の制約に基づいて、前記複数の候補補間モーションベクトルから、補間モーションベクトルを選択すること、および
選択された前記補間モーションベクトルに基づいて、前記補間ポイントで補間されたフレームを生成することを含み、
前記補間されたフレームを生成することは、複数の補間ピクセルを生成することを含み、
前記補間モーションベクトルを選択することは、
複数の補間モーションベクトルを含む補間モーションフィールドを選択することを含み、
前記複数の補間モーションベクトルの各補間モーションベクトルは、前記複数の補間ピクセルのうち１つの補間ピクセルと関連し、
前記補間されたフレームを生成することは、前記補間モーションフィールドに基づいて前記補間されたフレームの加工を修正することを含み、
前記加工を修正することは、前記補間されたフレームと、前記第１のフレームおよび前記第２のフレームの平均とを融合することを含み、
前記融合の程度は、前記補間モーションフィールドの勾配に基づく方法。
【請求項３】
前記複数の入力ビデオフレームは、入力ビデオの時間的シーケンスを含み、
前記入力ビデオの時間的シーケンスでは、
前記第１のフレームは、前記入力ビデオの時間的シーケンスの第１の時間を表し、
前記第２のフレームは、前記入力ビデオの時間的シーケンスの第２の時間を表し、
前記第１の時間は、前記入力ビデオの時間的シーケンスにおいて前記第２の時間に隣接し、
前記補間ポイントは、前記第１の時間と前記第２の時間との間の時間を示す請求項１または２に記載の方法。
【請求項４】
前記複数の入力ビデオフレームは、入力ビデオの空間的シーケンスを含み、
前記入力ビデオの空間的シーケンスでは、
前記第１のフレームは、前記入力ビデオの空間的シーケンスの第１の角度から取り込まれたコンテンツを表し、
前記第２のフレームは、前記入力ビデオの空間的シーケンスの第２の角度から取り込まれたコンテンツを表し、
前記第１の角度は、前記入力ビデオの空間的シーケンスにおいて前記第２の角度に隣接し、
前記補間ポイントは、前記第１の角度と前記第２の角度との間の第３の角度を示す請求項１または２に記載の方法。
【請求項５】
前記補間されたフレームは、複数の補間サイトを含み、
前記補間モーションベクトルを選択することは、前記複数の補間サイトの補間サイトごとに、反復的に補間モーションベクトルを選択し、
前記選択された補間モーションベクトルに基づいて、前記補間されたフレームをアップデートすることを含む請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記複数の候補補間モーションベクトルを生成することは、現在の補間サイトのモーション予測および複数の隣接するサイトのモーション予測に基づいて、候補補間モーションベクトルを生成することを含む請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記補間されたフレームを融合することは、
高いモーション勾配を有する前記補間されたフレームの一部を、前記第１のフレームと前記第２のフレームの前記平均に対応する領域と置き換えること、および
低いモーション勾配を有する前記補間されたフレームの一部を維持することを含む請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記複数のモーションベクトルを生成することは、前記複数のモーションベクトルの平滑性の程度を決定することを含み、
前記方法は、更に、前記平滑性の程度が閾値を越える状態で、前記補間されたフレームとして前記第１のフレームまたは前記第２のフレームを使用することを含む請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記複数の候補補間モーションベクトルを生成すること、前記補間モーションベクトルを選択すること、および前記補間されたフレームを生成することは、目標出力解像度よりも低いきめの粗い解像度と、前記目標出力解像度に等しい微細な解像度とで反復的に実行される請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記複数の候補補間モーションベクトルを生成すること、前記補間モーションベクトルを選択すること、および前記きめの粗い解像度で補間されたフレームを生成することは、ブロックに基づくモーションフィールドを用いることを含み、
前記複数の候補補間モーションベクトルを生成すること、前記補間モーションベクトルを選択すること、および前記微細な解像度で補間されたフレームを生成することは、より高解像度のブロックに基づくモーションフィールドまたはピクセルに基づくモーションフィールドを用いることを含む請求項９に記載の方法。
【請求項１１】
前記複数の候補補間モーションベクトルを生成することは、前記補間ポイントでの遮蔽を特定することを含む請求項１〜１０のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオフレーム補間（video frame interpolation）またはPull型フレーム補間（pull frame interpolation）のシステム、方法および装置に関するものである。
【背景技術】
【０００２】
デジタルビデオは、例えば、テレビ会議を介した遠隔地でのビジネス会議、高解像度ビデオエンターテインメント、ビデオ広告、またはユーザが生成したビデオの共有に用いることができる。したがって、時間的および空間的なフレーム補間を行うことには利点がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
Pull型フレーム補間の方法の一態様は、複数の入力ビデオフレームを特定すること、前記複数の入力ビデオフレームの第１のフレームから、前記複数の入力ビデオフレームの第２のフレームに、モーションを示す複数のモーションベクトルを生成すること、前記第１のフレームおよび前記第２のフレームとの間に補間ポイントを特定すること、前記複数のモーションベクトルに基づいて、前記第１のフレームから前記補間ポイントへのモーションおよび前記第２のフレームから前記補間ポイントまでを示す複数の候補補間モーションベクトルを生成すること、測定基準に基づいて、前記複数の候補補間モーションベクトルから、補間モーションベクトルを選択すること、および選択された前記補間モーションベクトルに基づいて、前記補間ポイントで補間されたフレームを生成することを含んでもよい。
【０００４】
Pull型フレーム補間の方法の他の態様は、複数の入力ビデオフレームを特定すること、前記複数の入力ビデオフレームの第１のフレームから、前記複数の入力ビデオフレームの第２のフレームに、モーションを示す複数のモーションベクトルを生成すること、前記複数のモーションベクトルの平滑性の程度を判定すること、前記平滑性の程度が閾値を越える状態で、前記補間されたフレームとして前記第１のフレームまたは前記第２のフレームを使用することと、前記平滑性の程度が閾値内にある状態で、前記第１のフレームと前記第２のフレームの間の補間ポイントを特定することを共同して使用すること、組み合わせられたエネルギー機能を用いること、遮蔽を特定すること、および前記第１のフレームから前記補間ポイントへのモーションを示す候補補間モーションベクトルと、前記第２のフレームから前記補間ポイントへのモーションを示す候補補間モーションベクトルと、複数の隣接サイトに対するモーション予測に基づく候補補間モーションベクトルとを含む複数の候補補間モーションベクトルを、前記複数のモーションベクトルに基づいて生成することを含んでもよい。複数の補間サイト内の各補間サイトに対して、Pull型フレーム補間は、前記補間されたフレーム内の平滑性の制約および前記第１のフレームと前記第２のフレームの間の平滑性の制約に基づいて、前記複数の候補補間モーションベクトルから補間モーションベクトルを選択すること、補間モーションベクトルを選択すること、および前記選択された補間モーションベクトルに基づいて前記補間されたフレームを更新することを含んでもよい。Pull型フレーム補間は、前記選択された補間モーションベクトルに基づいて、前記補間ポイントで補間されたフレームを生成することを含んでもよい。前記補間されたフレームは、前記複数の補間サイトを含み、前記補間されたフレームを生成することは、前記補間されたフレームと前記第１のフレームおよび前記第２のフレームの平均とを融合することで、前記補間モーションベクトルに基づいて前記補間されたフレームの加工を修正することを含み、前記融合の程度は、高いモーション勾配を有する前記補間されたフレームの一部を、前記第１のフレームと前記第２のフレームの前記平均に対応する領域と置き換えるように、前記補間モーションベクトルに関連するモーションフィールドの勾配に基づくものでもよい。
【０００５】
上記の態様および他の態様における変形例は、以下に詳細に説明する。
本明細書の記載は、添付の図面を参照する。いくつかの図において、同じ参照番号は、同じ部分について述べるものである。
【発明の効果】
【０００６】
本発明によれば、時間的および空間的なフレーム補間を行うことができる。
【図面の簡単な説明】
【０００７】
【図１】本開示の実施態様に係るコンピューティング装置の図である。
【０００８】
【図２】本開示の実施態様に係るコンピューティングおよび通信システムの図である。
【０００９】
【図３】本開示の実施態様に係るフレーム補間に用いられるビデオストリームの図である。
【００１０】
【図４】本開示の実施態様に係るエンコーダのブロック図である。
【００１１】
【図５】本開示の実施態様に係るデコーダのブロック図である。
【００１２】
【図６】本開示の実施態様に係るビデオフレーム率変換のタイムラインの例を示す。
【００１３】
【図７】本開示の実施態様に係るPull型フレーム補間の一例の図を示す。
【００１４】
【図８】本開示の実施態様に係るPull型フレーム補間の一例の他の図を示す。
【００１５】
【図９】本開示の実施態様に係るサイトグリッド近接の一例の図を示す。
【００１６】
【図１０】本開示の実施態様に係るヒットリスト生成の一例の図を示す。
【００１７】
【図１１】本開示の実施態様に係るPull型フレーム補間の一例の図を示す。
【００１８】
【図１２】本開示の実施態様に係るPull型フレーム補間の一例の簡略図を示す。
【発明を実施するための形態】
【００１９】
デジタルビデオは、例えば、テレビ会議による遠隔地とのビジネス会議、高解像度のビデオエンターテインメント、ビデオ広告、およびユーザが生成したビデオの共有等、さまざまな目的に用いることができる。ビデオ信号の生成および表示は、異なるフレームレートで実行してもよい。Pull型フレーム補間（Pull frame interpolation）を実行し、１つのフレームレートから別のフレームレートに変換し、スローモーション効果等、時間的または空間的なビデオ効果をもたらしてもよい。
【００２０】
ビデオ信号の生成には、アナログまたはデジタルフォーマットのビデオ信号を生成することが含まれてもよい。フォーマットによって、各々２フィールドのインタレース画像が含まれてもよく、各フレームで利用可能なラインの半分は、時間単位（またはフレームサンプリング周期）でサンプリングされる。時間単位（フレームレート）のフレーム数を変えてもよいし、あるフレームレートから別のフレームレートに変換してもよい。非モーション補償フレームレート変換は、フレームのドロップまたはリピートに基づくこともあるし、モーションを十分に維持しないこともある。フレーム補間等のモーション補償フレームレート変換では、モーションをより十分に維持してもよいし、ビデオ信号からモーション情報を使用して、新たな補間フレームを作成することを含めてもよい。
【００２１】
Pull型フレーム補間を用いてフレームレートを変換してもよい。いくつかの実施態様において、Pull型フレーム補間を用いて、時間的または空間的なビデオ効果もたらすようにしてもよい。例えば、Pull型フレーム補間では、追加フレームを生成し、スローモーション効果への移行またはスローモーション効果の終了、あるいは空間動作効果をもたらすために空間的に近接した入力フレーム間にフレームを補間してもよい。
【００２２】
Pull型フレーム補間は、連続的に存在するフレームから引き抜かれた（pulled）モーション情報を使用して補間フレームを生成することを含んでもよい。モーション情報は、いかなるモーション推定装置により生成されてもよい。補間されたモーションは、画像補間とは別に生成してもよい。Pull型フレーム補間は、モーションベクトル選択の候補に基づいて最適化することを含んでもよい。後処理を行うことにより、例えば、ぼやけているあるいは低品質な入力データの処理を改善してもよい。いくつかの実施態様において、Pull型フレーム補間は、例えば、大量のモーションを含む入力の性能を高めるマルチ解像マルチパススキーム（multiresolution multipass scheme）を使用してもよい。
【００２３】
図１は、本開示の実施態様に係るコンピューティング装置１００の図である。コンピューティング装置１００は、通信インタフェース１１０、通信部１２０、ユーザインタフェース（ＵＩ）１３０、プロセッサ１４０、メモリ１５０、命令１６０、電源１７０、または、いかなるそれらの組み合わせを含む。本明細書で用いられる「コンピューティング装置（computing device）」という用語は、本明細書に開示のいかなる装置、いかなる方法も実行可能な装置の組み合わせ、またはいかなる部分をも含む。
【００２４】
コンピューティング装置１００は、パーソナルコンピュータ（ＰＣ）、サーバ、ワークステーション、ミニコンピュータ、またはメインフレーム等、移動しないコンピューティング装置でも、自動車電話、個人情報機器（ＰＤＡ）、ラップトップ、またはタブレット型パソコン等のモバイルコンピュータでもよい。単一の装置として図示するが、コンピューティング装置１００の１つ以上のいかなる構成要素も、いかなる数の別の物理的装置に組み込むことができる。例えば、ＵＩ１３０およびプロセッサ１４０は第１の物理装置に組み込み、メモリ１５０は第２の物理装置に組み込むことができる。
【００２５】
通信インタフェース１１０は、図示するように無線アンテナでもよいし、有線の通信ポートでもよく、有線または無線の電子通信媒体１８０に連結可能なイーサネット（登録商標）ポート、赤外線ポート、直列ポートまたは他のいかなる有線または無線装置等でもよい。
【００２６】
通信部１２０は、有線または無線の媒体１８０を介して信号を送信または受信するように構成することができる。例えば、図示するように、通信部１２０は、無線信号で通信するように構成されたアンテナに、動作可能なように接続している。図１に明示されていないが、通信部１２０は、無線周波数（ＲＦ）、紫外線（ＵＶ）、可視光、光ファイバ、または有線配線、あるいはそれらの組み合わせ等、いかなる有線または無線の通信メディアを介しても、送信、受信、あるいは両方を行うように構成することができる。図１は、単一の通信部１２０および単一の通信インタフェース１１０を示すが、いかなる数の通信部およびいかなる数の通信インタフェースを用いることができる。
【００２７】
ＵＩ１３０は、仮想または物理キーパッド、タッチパッド、ディスプレイ、タッチディスプレイ、スピーカ、マイクロホン、ビデオカメラ、センサ、またはいかなるそれらの組み合わせ等、ユーザとのインターフェイスとなりうるいかなる装置も含むことができる。図示するように、ＵＩ１３０は、プロセッサまたは電源１７０等、通信装置１００の他のいかなる構成要素にも連結して動作可能とすることができる。単一の装置として図示するが、ＵＩ１３０は、１つ以上の物理装置を含んでもよい。例えば、ＵＩ１３０は、ユーザと音声通信を実行するための音声インターフェースと、ユーザとのコミュニケーションに基づいて、映像および接触を実行するためのタッチディスプレイとを含んでもよい。別々の装置として図示するが、通信インタフェース１１０、通信部１２０、およびＵＩ１３０、またはその一部は、複合装置として構成されてもよい。例えば、通信インタフェース１１０、通信部１２０およびＵＩ１３０は、外部のタッチスクリーン装置と連結可能な通信ポートとして実現されてもよい。
【００２８】
プロセッサ１４０は、光プロセッサ、量子プロセッサ、分子プロセッサ、またはそれらの組み合わせを含み、現存しているまたは今後開発される信号または他の情報を操作または処理可能ないかなる装置またはシステムも含むことができる。例えば、プロセッサ１４０は、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、ディジタル信号処理装置（ＤＳＰ）複数のマイクロプロセッサ、ＤＳＰコアに関連した１つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、エイシック（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックアレイ、プログラマブルロジックコントローラ、マイクロコード、ファームウェア、任意の集積回路（ＩＣ）、ステートマシン、または、いかなるそれらの組み合わせも含めることができる。本明細書で用いられる「プロセッサ」という用語は、シングルプロセッサまたはマルチプロセッサを含む。プロセッサ１４０は、通信インタフェース１１０、通信部１２０、ＵＩ１３０、メモリ１５０、命令１６０、電源１７０、または、いかなるそれらの組み合わせとも動作可能に連結することができる。
【００２９】
メモリ１５０は、非一時的な（non-transitory）、コンピュータ使用可能な、またはコンピュータ読み取り可能な、いかなる媒体も含むことができ、プロセッサ１４０によって、またはプロセッサ１４０と連結して、命令１６０またはそれに関連するいかなる情報についても、例えば、含有、格納、伝達または転送可能ないかなる有形装置でもよい。非一時的コンピュータ使用可能またはコンピュータ読み取り可能な媒体は、例えば、ソリッドステートドライブ、メモリーカード、取り外し可能媒体、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクを含む任意のディスク、フロッピー（登録商標）ディスク、光ディスク、磁気または光カード、特定用途向けＩＣ（ＡＳＩＣ）、または電子情報格納に適する任意の非一時的なメディアとすることができる。メモリ１５０は、例えば、プロセッサ１４０に、例えば、メモリバス（明示的に図示せず）経由で接続することができる。
【００３０】
命令１６０には、いかなる方法または本明細書に開示の一部を実行するための指示を含めることができる。命令１６０は、ハードウェア、ソフトウェアまたはいかなるそれらの組み合わせにより実現することができる。例えば、命令１６０は、本明細書に開示のように、それぞれの方法、アルゴリズム、態様またはそれらの組み合わせのいずれかを実行するために、プロセッサ１４０によって実行されるコンピュータプログラムプログラム等、メモリ１５０に格納される情報として実現してもよい。命令１６０またはその一部は、本明細書に記載のように、方法、アルゴリズム、実施態様またはそれらの組み合わせのいずれかを実行するための専門ハードウェアを含むことが可能な専用プロセッサまたは回路として実現してもよい。命令１６０の一部を、同じ機械または異なる機械上の複数のプロセッサ全体に、または、ＬＡＮ、ＷＡＮ、インターネットまたはそれらの組み合わせ等のネットワーク全体に分配することができる。
【００３１】
電源１７０は、通信装置１１０に電力を供給するいかなる適切な装置とすることもできる。例えば、電源１７０は、有線の電源、ニッケル‐カドミウム（ＮｉＣｄ）、ニッケル‐亜鉛（ＮｉＺｎ）、ニッケル水素（ＮｉＭＨ）、リチウム‐イオン（リチウムイオン）等の１つ以上の乾電池、太陽電池、燃料電池、または、通信装置１１０に電力を供給することが可能な他のいかなる装置も含むことができる。通信インタフェース１１０、通信部１２０、ＵＩ１３０、プロセッサ１４０、命令１６０、メモリ１５０、またはいかなるそれらの組み合わせも、電源１７０に動作可能に連結することができる。
【００３２】
別々の構成要素として図示するが、通信インタフェース１１０、通信部１２０、ＵＩ１３０、プロセッサ１４０、命令１６０、電源１７０、メモリ１５０またはいかなるそれらの組み合わせも、１つ以上の電子装置、回路またはチップに一体化することができる。
【００３３】
図２は、本開示の実施態様に係るコンピューティングおよび通信システム２００である。コンピューティングおよび通信システム２００は、１つ以上のコンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃ、１つ以上のアクセスポイント２１０Ａ／２１０Ｂ、１つ以上のネットワーク２２０、または、それらの組み合わせを含んでもよい。例えば、コンピューティングおよび通信システム２００は、コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃ等、１つ以上の有線または無線の通信装置に対して、音声、データ、ビデオ、メッセージ送信、同報通信、またはそれらの組み合わせ等の通信を可能にする複数のアクセス・システムとすることができる。説明を簡単にするために、図２は、３つのコンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃ、２つのアクセスポイント２１０Ａ／２１０Ｂ、および１つのネットワーク２２０を示すが、いかなる数のコンピューティングおよび通信装置、アクセスポイント、およびネットワークも用いることができる。
【００３４】
コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃは、例えば、図１に示すコンピューティング装置１００等のコンピューティング装置とすることができる。例えば、図示するように、コンピューティングおよび通信装置１００Ａ／１００Ｂは、モバイルコンピュータ装置、ラップトップ、シンクライアント（thin client）またはスマートフォン等のユーザ装置でもよく、コンピューティングおよび通信装置１００Ｃは、メインフレームまたはクラスタ等のサーバとしてもよい。コンピューティングおよび通信装置１００Ａ／１００Ｂは、ユーザ装置として説明し、コンピューティングおよび通信装置１００Ｃは、サーバとして説明するが、いかなるコンピューティングおよび通信装置も、サーバの機能のいくらかまたは全て、ユーザ装置の機能のいくらかまたは全て、または、サーバおよびユーザ装置の機能のいくらかまたは全てを実行することができる。
【００３５】
各コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃは、有線または無線通信を実行するよう構成することができる。例えば、コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃは、有線または無線通信信号を送信または受信するように構成することができ、ユーザ機器（ＵＥ）、移動局（mobile station）、固定または移動の加入者ユニット、移動電話、パーソナルコンピュータ、タブレットコンピュータ、サーバ、家電、またはいかなる類似のデバイスも含むことができる。各コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃを単一の装置として図示するが、コンピューティングおよび通信装置は、相互に連結したいかなる数の構成要素も含むことができる。
【００３６】
各アクセスポイント２１０Ａ／２１０Ｂは、有線または無線の通信リンク１８０Ａ／１８０Ｂ／１８０Ｃを介して、コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃ、ネットワーク２２０、または両方に通信するように構成される任意デバイスとすることができる。例えば、アクセスポイント２１０Ａ／２１０Ｂは、基地局、基地送受信局（ＢＴＳ）、ノード‐Ｂ、拡張ノード‐Ｂ（ｅＮｏｄｅ‐Ｂ）、ホームノード‐Ｂ（ＨＮｏｄｅ‐Ｂ）、無線ルータ、有線ルータ、ハブ、リレー、スイッチ、またはいかなる類似の有線または無線の装置も含むことができる。各アクセスポイント２１０Ａ／２１０Ｂは、単一の装置として図示するが、アクセスポイントは、相互に連結したいかなる数の構成要素も含むことができる。
【００３７】
ネットワーク２２０は、有線または無線の通信リンクを通して、音声、データ、アプリケーション、ＶｏＩＰ（ＶｏＩＰ）、または他のいかなる通信プロトコルあるいは通信プロトコルの組合せ等のサービスを提供するように構成される任意のネットワークとすることができる。例えば、ネットワーク２２０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、モバイルまたはセルラー電話ネットワーク、インターネット、または、他のいかなる電子通信手段とすることもできる。ネットワーク２２０は、伝送制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、インターネットプロトコル（ＩＰ）、リアルタイムがプロトコル（ＲＴＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、またはそれらの組み合わせ等の通信プロトコルを使用することができる。
【００３８】
コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃは、１つ以上の有線または無線の通信リンクを用いるネットワーク２２０を介して、あるいは、有線および無線の通信リンクの組合せを介して、互いに通信することができる。例えば、図示するように、コンピューティングおよび通信装置１００Ａ／１００Ｂは、無線通信リンク１８０Ａ／１８０Ｂを介して通信することができ、コンピューティングおよび通信装置１００Ｃは、有線通信リンク１８０Ｃを介して通信することができる。コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃのいずれも、いかなる有線または無線の通信リンクを用いても通信することができる。例えば、第１のコンピューティングおよび通信装置１００Ａは、第１のタイプの通信リンクを使用する第１のアクセスポイント２１０Ａを介して通信することができ、第２のコンピューティングおよび通信装置１００Ｂは、第２のタイプの通信リンクを使用する第２のアクセスポイント２１０Ｂを介して通信することができ、第３のコンピューティングおよび通信装置１００Ｃは、第３のタイプの通信リンクを使用する第３のアクセスポイント２１０Ｃを介して通信することができる。同様に、アクセスポイント２１０Ａ／２１０Ｂは、有線または無線の通信リンク２３０Ａ／２３０Ｂの１つ以上のタイプの通信リンクを介して、ネットワーク２２０と通信することができる。図２は、ネットワーク２２０を介して通信するコンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃを図示するが、コンピューティングおよび通信装置１００Ａ／１００Ｂ／１００Ｃは、直接の有線または無線の通信リンク等、いかなる数の通信リンクを介しても、それぞれ通信することができる。
【００３９】
コンピューティングおよび通信システム２００の他の実施態様も可能である。例えば、ネットワーク２２０をアドホックネットワークとすることができ、１つ以上のアクセスポイント２１０Ａ／２１０Ｂを省略することができる。コンピューティングおよび通信システム２００は、図２に図示されていない装置、ユニット、または構成要素を含んでもよい。例えば、コンピューティングおよび通信システム２００は、より多くの通信装置、ネットワークおよびアクセスポイントを含んでもよい。
【００４０】
図３は、本開示の実施形態に係る、符号化（encoding）、復号化（decoding）、フレーム補間（frame interpolation）またはいかなるそれらの組み合わせにも用いられるビデオストリーム３００の図である。例えば、コンピュータによって生成されるビデオカメラまたはビデオストリームによって取り込まれるビデオストリーム等のビデオストリーム３００は、ビデオシーケンス３１０を含んでもよい。ビデオシーケンス３１０は、一連の隣接するフレーム３２０を含んでもよい。３つの隣接するフレーム３２０を示すが、ビデオシーケンス３１０は、いかなる数の隣接するフレーム３２０を含んでもよい。隣接するフレーム３２０の各フレーム３３０は、ビデオストリームの単一の画像を表してもよい。フレーム３３０は、ブロック３４０を含んでもよい。図３に示されていないが、１ブロックには、複数のピクセルを含むことができる。例えば、１ブロックには、１６ｘ１６のピクセルグループ、８ｘ８のピクセルグループ、８ｘ１６のピクセルグループまたは他のいかなるピクセルのグループも含むことができる。本明細書において示されない限り、用語「ブロック」は、マクロブロック、セグメント、スライスまたはフレームの他のいかなる部分も含んでもよい。フレーム、ブロック、ピクセルまたはそれらの組み合わせは、輝度情報、クロミナンス情報（chrominance information）、またはビデオストリーム３００またはその一部分を、格納、修正、伝達、表示のために用いることが可能な他の情報等の表示情報を含むことができる。
【００４１】
図４は、本開示の実施態様に係るエンコーダ４００のブロック図である。エンコーダ４００は、例えば、図１に示されるメモリ１５０等のデータ記憶部に格納されたコンピュータソフトウェアプログラムとして、図１に示すコンピュータ１００や図２に示すコンピューティング及び通信デバイス１ＯＯＡ／１ＯＯＢ／１ＯＯＣ等の装置において実行することができる。コンピュータソフトウェアプログラムは、図１に示すプロセッサ１６０等のプロセッサによって実行することができる機械語の指示を含むことができ、本明細書において記載するように、その装置にビデオデータを符号化させてもよい。エンコーダ４００は、例えば、コンピュータ１００に含まれる専門ハードウェアとして実行することができる。
【００４２】
エンコーダ４００は、図３に示すビデオストリーム３００等の入力ビデオストリーム４０２を符号化することができ、符号化された（圧縮された）ビットストリーム４０４を生成する。いくつかの実施態様において、エンコーダ４００は、圧縮されたビットストリーム４０４を生成するためのフォワードパス（forward path）を含んでもよい。フォワードパスは、イントラ／インター予測部４１０、変換部４２０、量子化部４３０、エントロピー復号部４４０、またはいかなるそれらの組み合わせを含んでもよい。いくつかの実施態様において、エンコーダ４００は、更なるブロックの符号化のためのフレームを復元するために、（破線の接続線によって示される）復元パス（reconstruction path）を含んでもよい。復元パスには、逆量子化部４５０、逆変換部４６０、再生部４７０、ループフィルター部４８０、またはいかなるそれらの組み合わせも含めることができる。エンコーダ４００の他の構造上の変形例を用いて、ビデオストリーム４０２を符号化することができる。
【００４３】
ビデオストリーム４０２を符号化するために、ビデオストリーム４０２の内の各フレームを、ブロック単位で処理することができる。このように、現在のブロックをフレーム内のブロックから特定し、現在のブロックを符号化してもよい。
【００４４】
イントラ／インター予測部４１０で、現在のブロックは、単一のフレーム内にあるフレーム内予測またはフレームからフレームまでにあるフレーム間予測のいずれか使用して符号化することができる。フレーム内予測は、過去には符号化されていたが復元された現在のフレーム内のサンプルから予測ブロックを生成することを含んでもよい。フレーム間予測は、１つ以上の過去に再生された基準フレーム内のサンプルから予測ブロックを生成することを含んでもよい。現在のフレーム内の現在ブロックの予測ブロックを生成することは、基準フレーム内の適切な基準ブロックを示すモーションベクトルを生成するためのモーション推定（motion estimation）を行うことを含んでもよい。
【００４５】
イントラ／インター予測部４１０は、現在のブロック（生ブロック）から予測ブロックを減算し、残差ブロックを生成してもよい。変換部４２０は、ブロックに基づいた変換を実行してもよく、残差ブロックを、例えば、周波数領域の変換係数に変換することを含んでもよい。ブロックに基づいた変換の例として、クーネン−レープ変換（Karhunen-Loeve Transform）（ＫＬＴ）、離散コサイン変換（Discrete Cosine Transform）（ＤＣＴ）、および特異値分解変換（Singular Value Decomposition Transform）（ＳＶＤ）がある。一例において、ＤＣＴは、１ブロックを周波数領域に変えることを含んでもよい。ＤＣＴは、マトリックスの左上に最も低い周波数（すなわちＤＣ）係数を有し、マトリックスの右下に最も高い周波数係数を有する空間的周波数に基づいて変換係数値を使用することを含んでもよい。
【００４６】
量子化部４３０は、変換係数を、量子化変換係数あるいは量子化レベルと呼ばれる別々の量子値に換算してもよい。量子化変換係数は、エントロピーが符号化された係数を生成するために、エントロピー復号部４４０によって符号化されるエントロピーとすることができる。エントロピー符号化は、確率分布法を使用することを含んでもよい。ブロックを復号化するために用いられるエントロピーが符号化された係数および情報は、使用される予測のタイプ、モーションベクトル、および量子化部の値を含んでもよく、圧縮されたビットストリーム４０４へ出力することができる。圧縮されたビットストリーム４０４は、ランレングス符号化（run-length encoding）（ＲＬＥ）およびゼロラン符号化（zero-run coding）等、さまざまな技術を用いてフォーマット化することができる。
【００４７】
再生パスを用いて、エンコーダ４００と、図５に示すデコーダ５００等の対応するデコーダとの間の基準フレーム同期化を維持することができる。再生パスは、後述する復号化プロセスと類似していてもよく、逆量子化部４５０で量子化された変換係数を逆量子化すること、および導関数残差ブロック（derivative residual block）を生成するように逆変換部４６０で逆量子化された変換係数を逆変換することを含んでもよい。再生部４７０は、イントラ／インター予測部４１０によって生成される予測ブロックを、再生ブロックを生成するために、導関数残差ブロックに追加してもよい。ブロックの加工等のひずみを減らすために、ループフィルター部４８０を再生ブロックに適用することができる。
【００４８】
エンコーダ４００の他の変形例を用いて、圧縮されたビットストリーム４０４を符号化することができる。例えば、非変換に基づくエンコーダ４００は、変換部４２０を用いずに直接残差ブロックを量子化することができる。いくつかの実施態様において、量子化部４３０および逆量子化部４５０を、単一の装置に結合してもよい。
【００４９】
図５は、本開示の実施態様に係るデコーダ５００のブロック図である。デコーダ５００は、例えば、図１に示されるメモリ１５０等のデータ記憶部に格納されるコンピュータソフトウェアプログラムとして、図１に示すコンピュータ１００あるいは図２に示すコンピューティング及び通信デバイス１ＯＯＡ／１ＯＯＢ／１ＯＯＣ等の装置において実行することができる。コンピュータソフトウェアプログラムは、図１に示すプロセッサ１６０等のプロセッサによって実行することができる機械語の指示を含むことができ、本明細書において記載するように、その装置にビデオデータを符号化させてもよい。エンコーダ４００は、例えば、コンピュータ１００に含まれる専門ハードウェアとして実行することができる。
【００５０】
デコーダ５００は、図４に示される圧縮されたビットストリーム４０４等の圧縮されたビットストリーム５０２を受信してもよく、出力ビデオストリーム５０４を生成するために、圧縮されたビットストリーム５０２を復号化してもよい。デコーダ５００は、エントロピー復号化部５１０、逆量子化部５２０、逆変換部５３０、イントラ／インター予測部５４０、再生部５５０、ループフィルター部５６０、デブロッキングフィルタ部５７０、またはいかなるそれらの組み合わせを含んでもよい。デコーダ５００の他の構造上の変形例は、圧縮されたビットストリーム５０２を復号化するために用いることができる。
【００５１】
エントロピー復号化部５１０は、例えば、コンテキスト適応的なバイナリ算術的復号（Context Adaptive Binary Arithmetic Decoding）を用いて、一組の量子化された変換係数を生成するために、圧縮ビットストリーム５０２内でデータエレメントを復号化してもよい。逆量子化部５２０は、量子化された変換係数を逆量子化することができ、逆変換部５３０は、図４に示される逆変換部４６０によって生成される導関数残差ブロックに一致する導関数残差ブロックを生成するために、逆量子化された変換係数を逆変換することができる。圧縮されたビットストリーム５０２から復号化されるヘッダ情報を用いて、イントラ／インター予測部５４０は、エンコーダ４００で生成される予測ブロックに対応する予測ブロックを生成してもよい。再生部５５０で、予測ブロックを派生的な残差ブロックに追加し、再生ブロックを生成することができる。ブロックの加工を減らすために、ループフィルター部５６０を再生されたブロックに適用することができる。ブロックのひずみを減らすために、デブロッキングフィルタ部５７０を再生されたブロックに適用することができ、その結果を出力ビデオストリーム５０４として出力してもよい。
【００５２】
デコーダ５００の他の変形例を用いて、圧縮されたビットストリーム５０２を復号化することができる。例えば、デコーダ５００は、デブロッキングフィルタ部５７０を使用しないで出力ビデオストリーム５０４を生成してもよい。
【００５３】
図６は、本開示の実施態様に係るビデオフレームレート変換のタイムラインの例を示す。いくつか実施態様において、ビデオフレームレート変換は、図１に示すコンピュータ１００等の装置、図４に示すエンコーダ４００によって実行して、図３に示されるビデオストリーム３００等の入力ビデオストリームのフレームレートを、出力ビデオストリームに変換してもよい。図示するように、入力ビデオストリームの各フレーム６０２は円で示され、対応する出力ビデオストリーム用の補間された出力フレーム６０４それぞれはダイヤモンドで示される。
【００５４】
一番上のタイムライン６１０は、フレームレート変換の一例を示し、出力フレームレートは、入力フレームレートの複数倍、例えば３倍としてもよい。例えば、図示するように、入力フレームレートは、毎秒２５フレーム（ｆｐｓ）でもよく、出力フレームレートは７５ｆｐｓでもよい。図示するように、補間フレーム６０４の１／３は、元のフレーム６０２と一致し、補間フレーム６０４の残りの２／３は元のフレーム６０２との中間でもよい。出力は、２５ｆｐｓの入力フレームレートで示してもよく、３倍スローダウンして現れるスローモーション効果を発生する。３倍のスローモーション指数を一例として記載するが、他のいかなる倍率のスローモーションを用いてもよい。
【００５５】
中央のタイムライン６２０は、フレームレート変換の一例を示す。入力フレームレートは２５ｆｐｓでもよく、出力フレームレートは３０ｆｐｓでもよい。図示すように、出力フレーム６０４の位置は、入力フレーム６０２に対して均一の間隔でなくてもよい。出力フレーム６０４の位置は、補間フレーム６０４の作成に用いることができる定期性を有してもよい。
【００５６】
一番下のタイムライン６３０は、フレームレート変換の一例を示し、入力フレームレートは２５ｆｐｓで、出力フレームレートは５０ｆｐｓでもよく、２５ｆｐｓから５０ｆｐｓへ出力フレームレートが線形に移行する。例えば、出力ビデオシーケンスは、時間の減速またはスローモーション効果を示してもよい。この最後の場合では、時間内の出力フレーム位置に単純な定期性がなくてもよい。
【００５７】
いくつかの実施態様において、１つのフレームまたはフィールド率と、別のものとの変換は、非動作補償変換（non-motion compensating conversion）を含んでもよい。０次保持変換（zero-order hold conversion）などのフレームリピート、またはサブサンプリング変換（subsampling conversion）などのフレームドロップを含んでもよい。例えば、３０ｆｐｓ（秒単位６０フィールド）でインタレースされたビデオを、２５ｆｐｓ（秒単位５０フィールド）でインタレースされたビデオに変換することは、３０ｆｐｓのソースから、３００フィールドごとに５０フィールドをドロップすることを含んでもよい。このように、ソースから６フィールドごとに１フィールド分をドロップしてもよい。インタレースされた２５ｆｐｓをインタレースされた３０ｆｐｓに変換することは、ソースから６フィールドごとに１フィールド分をリピートすることを含んでもよい。ドロップまたはリピートされるフィールドは、低品質な変換画像を生成し、６つのうち１つのフレームは、フレームにマージされる誤ったフィールド有することになる。これにより、不完全なモーションを表す結果となり、変換されたマテリアルのスタッカー効果（stutter effect）のように感じられるかもしれない。いくつかの実施態様において、ビデオデータから補間することで、失われたフィールドを推定してもよい。例えば、ある時刻で、垂直に線を平均化することで、偶数フィールドから奇数フィールドを推定してもよい。その次の時刻において、推定されたフィールドをリピートしたり、元のフィールドをドロップしたりしてもよい。
【００５８】
非動作補償変換は、モーションを十分に維持しなくてもよい。例えば、フレームごとに５ピクセルのモーション等の大量のモーションは、十分に保存されないかもしれない。プログレッシブフォーマット（progressive formats）への変換またはプログレッシブフォーマット間の変換は、モーションを十分に維持しないことがある。いくつかの実施態様において、変換には、ビデオデータに由来するモーション情報を使用するモーション補償技術を含んでもよい。モーション補償変換は、モーションの軌道に沿って補間することを目的とすることで、新しいフィールドまたはフレームを補間することを含んでもよい。モーション補償変換は、遮蔽（occlusion）を取り扱うことを含んでもよい。フレームの一部があるフレームでは隠され、別のフレームでは可視となる。あるフレームまたは別のフレームにおいて遮蔽されるフレームの一部は、変換用に利用できなくてもよい。
【００５９】
いくつかの実施態様において、モーション補償は、回路等の専用のモーション補償ハードウェアによって実行されてもよい。例えば、リアルタイム変換は、モーション補償回路を使用して行ってもよい。ハードウェアに基づくモーション補償は、ソフトウェアまたはハードウェアおよびソフトウェアの組合せにおいて行うモーション補償と比べると、複雑性においては限界があるかもしれない。
【００６０】
いくつかの実施態様において、モーション補償は、ポストプロダクション（post-production）ソフトウェア等のソフトウェアで行ってもよい。例えば、ソフトウェアに基づく変換は、映画などのビデオにおけるスローモーション効果を生成するために用いてもよい。ソフトウェアに基づく非リアルタイム変換は、時間または空間の任意のポイントでフレームを補間することを含んでもよい。このように、変換は、スローモーション効果を生成するためにフレームレートを下げ、スローモーション効果から移行してフレームレートを上げることを含んでもよい。
【００６１】
いくつかの実施態様において、変換は、非時間的に連続するフレームの間に補間することを含んでもよい。例えば、空間的に連続するフレームを補間することで、滑らかなスペース移動効果等の効果をもたらしてもよい。いくつかの実施態様において、空間的に連続するフレームを、並行して、または、ほとんど並行して取り込んでもよい。
【００６２】
いくつかの実施態様において、既存のフレームからの画像データを、関連する画像の間の最少勾配の輪郭に沿って、補間フレームに押し込んで（push）もよい。Push型補間は、補間フレームに、既存のフレームからピクセル値を複製することを含んでもよい。Push型補間は、説得力のあるフレーム補間を生成することができるが、モーションの方向に沿って最適というわけではない。例えば、入力ビデオシーケンスを目標フレームレートで見ると、変換におけるモーションの適合性が正確ではないかもしれない。
【００６３】
いくつかの実施態様において、フレーム補間は、保管された映画フィルムやビデオ映画フィルムの失なわれたフレームを回復することを含んでもよい。フレーム回復のためのフレーム補間は、任意の瞬間で、その瞬間のモーションフィールドを回復することによって、フレームを復元することを含んでもよい。
【００６４】
図７は、本開示の実施態様に係るPull型フレーム補間の一例の図を示す。入力フレーム７１０／７２０／７３０は、ダイヤモンドの形状によって示され、単純化したシーンの左上から右下へ移動するオブジェクト７４０を取り込む。図７に示すように、このシーンは明らかに白い背景であるが、他の内容を含んでもよい。第１のフレーム７１０および第２のフレーム７２０間の補間フレーム７５０および第２のフレーム７２０および第３のフレーム７３０間の補間フレーム７６０を破線で示す。
【００６５】
例えば、第１の入力フレーム７１０は、第１の時刻Ｔ１でそのシーンを取り込み、第２の入力フレーム７２０は、第２の時刻Ｔ２でそのシーンを取り込み、第３の入力フレーム７３０は、第３の時刻Ｔ３でそのシーンを取り込んでもよい。第１の補間フレーム７５０は、第１の時刻Ｔ１および第２の時刻Ｔ２の間の時点でそのシーンを補完し、第２の補間フレーム７６０は、第２の時刻Ｔ２および第３の時刻Ｔ３の間の時点でそのシーンを補完してもよい。
【００６６】
いくつかの実施態様において、Pull型フレーム補間は、時間停止またはタイムスライス効果を発生させることを含み、カメラが空間を移動するように見え、時間は減速または停止したかのように見えてもよい。例えば、時間停止効果は、ある期間、複数の異なる空間位置に配置される複数のカメラによって並行して記録されるフレームを用いて生成されてもよい。第１の入力フレーム７１０は、空間Ｔ１の第１の位置で、そのシーンを取り込み、第２の入力フレーム７２０は、空間Ｔ２の第２の位置で、そのシーンを取り込み、第３の入力フレーム７３０は、空間Ｔ３の第３の位置で、そのシーンを取り込んでもよい。入力フレーム７１０／７２０／７３０は、同じ時点または実質的に同じ時点でそのシーンを取り込んでもよい。第１の補間フレーム７５０は、第１の空間点Ｔ１および第２の空間点Ｔ２との間の空間の一点で、そのシーンを補完し、第２の補間フレーム７６０は、第２の空間点Ｔ２および第３の空間点Ｔ３との間の空間の一点で、そのシーンを補完してもよい。補間フレーム７５０／７６０は、入力フレーム７１０／７２０／７３０と、時間において同じ点または実質的に同じ点と関連してもよい。
【００６７】
オブジェクト７４０により隠されたり覆われたりする背景のように、そのシーンの遮蔽された領域７７０が、十字ハッチングで示されている。あるフレームに示され、次のフレームで遮蔽されたシーンの覆われていない領域７８０が、斑点で示されている。モーション軌道ライン７９０行も示されている。いくつかの実施態様において、Pull型フレーム補間では、遮蔽された領域７７０、覆われていない領域７８０、およびモーション軌道７９０を保存することを含んでもよい。
【００６８】
いくつかの実施態様において、Pull型フレーム補間は、入力フレーム７１０／７２０／７３０のデータに基づいて、補間フレーム７５０／７６０のピクセル強度を推定することを含んでもよい。モーション情報を用いて、モーションの方向に沿って補間される位置に、入力フレーム７１０／７２０／７３０からのピクセル強度を複製してもよく、このように、ピクセル単位で、補間フレーム７５０／７６０ピクセルを形成する。遮蔽された領域７７０のピクセルは、次のフレーム用に利用できなくてもよい。覆われてない領域７８０のピクセルは、以前のフレーム用に利用できなくてもよい。
【００６９】
図８は、本開示の実施態様に係るPull型フレーム補間の一例の他の図を示す。いくつかの実施態様において、Pull型フレーム補間は、第１の入力フレーム８１０と第２の入力フレーム８１２との間に、破線で示される補間フレーム８００を生成することを含んでもよい。いくつかの実施態様において、Pull型フレーム補間は、隣接する２つの入力フレームの間に、補間フレームを作成するために４つの入力フレーム８１０／８１２／８１４／８１６を使用することを含んでもよい。補間フレーム８００は、時間または空間、時点ｔ＋Δと推定されてもよい。図８は、単一の補間フレーム８００を示すが、いかなる数の補間フレームも、入力フレームに基づいて第１のフレーム８１０および第２のフレーム８１２の間に生成してもよい。４つの入力フレームに基づくPull型フレーム補間を本明細書において説明するが、２つ以上のフレームのいかなるシーケンスに基づいて、Pull型フレーム補間を実行してもよい。
【００７０】
入力フレーム８１０／８１２／８１４／８１６は、空間的または時間的シーケンスとして取り込まれるシーンを含んでもよい。例えば、第１の入力フレーム８１０は、第１の時刻ｔでそのシーンを取り込み、第２の入力フレーム８１２は、次の時刻ｔ＋１でそのシーンを取り込み、第３の入力フレーム８１４は、他の次の時刻ｔ＋２でそのシーンを取り込み、第４の入力フレーム８１６は、以前の時刻ｔ−１でそのシーンを取り込んでもよい。
他の例において、第１の入力フレーム８１０は、空間ｔの第１のポイントでそのシーンを取り込み、第２の入力フレーム８１２は、空間ｔ＋１の次のポイントでそのシーンを取り込み、第３の入力フレーム８１４は、空間ｔ＋２の他の次のポイントでそのシーンを取り込み、第４の入力フレーム８１６は、空間ｔ−１の以前のポイントでそのシーンを取り込んでもよい。補間フレーム８００は、ｔの第１のフレーム８１０とｔ＋１の第２のフレーム８１２の間のポイントｔ＋Δで生成してもよい。１つの補間フレームを示すが、いかなる数の補間フレームを第１のフレーム８１０と第２のフレーム８１２の間のポイントで生成してもよい。
【００７１】
補間フレーム８００は、ｔの第１のフレーム８１０から時間または空間間隔Δで、かつｔ＋１の第２のフレーム８１２から１−Δでオフセットしてもよい。オブジェクト等、取り込まれたシーンのエレメントを、フレームに沿って均一に変換する長方形として示す。例えば、オブジェクトは、ｔ−１のフレーム８１６の第１の位置８２０に、ｔのフレーム８１０の第２の位置８２２に、ｔ＋１のフレーム８１２の第３の位置８２４に、ｔ＋２のフレーム８１４の第４の位置８２６に示される。オブジェクトは、フレーム内で移動しているように示されるが、オブジェクトは、そのシーンのフレームおよび他のエレメント内で、静止していてもよいし、実質的に静止していてもよい。例えば、背景がオブジェクトと関連して移動してもよい。オブジェクトの補間された位置８３０を、ｔ＋Δの補間フレーム８００に破線長方形として示す。
【００７２】
いくつかの実施態様において、Pull型フレーム補間は、Pull型フレーム補間から独立して生成されてもよいモーション推定情報を使用することを含んでもよい。例えば、いかなるモーション推定技法を用いて、Pull型フレーム補間の前にモーション推定情報を生成してもよい。位置xにおいて、ｔのフレーム８１０とｔ＋１のフレーム８１２の間のモーションをdt,t+1（x) = [d1; d2]と表してもよい。ｄ１およびｄ２は、モーションの水平および垂直の構成要素を示す。フレームｔのｘでのピクセルの強度をIt(x)で表してもよい。
以前のフレームのモーションが補償されたピクセルの位置は、It-1(x+dt,t-1(x))で表してもよい。
【００７３】
ｔ−１のフレーム８１４とｔのフレーム８１０間のオブジェクトのモーションを、dt,t-1として表してもよいが、モーションベクトル８４０の一例を用いて表す。ｔのフレーム８１０とｔ＋１のフレーム８１２の間のオブジェクトのモーションを、dt,t+1として表してもよいが、モーションベクトル８４２の他の例を用いて表す。ｔ＋１のフレーム８１２とｔのフレーム８１０の間の背景のモーションを、dt+1,tとして表してもよいが、ゼロモーションベクトル８４４の一例を用いて表す。ｔ＋１のフレーム８１２とｔ＋２のフレーム８１４の間の背景のモーションを、dt+1,t+2として表してもよいが、モーションベクトル８４６の他の例を用いて表す。
【００７４】
ｔ＋Δの補間されたフレーム８００とｔのフレーム８１０の間に補間されたモーションをdt+Δ,tとして表してもよく、ｔ＋Δの補間されたフレーム８００とｔ＋１のフレーム８１２の間に補間されたモーションをdt+Δ,t+1として表してもよい。
【００７５】
いくつかの実施態様において、Pull型フレーム補間は、遮蔽状態情報を使用することを含んでもよい。閉塞状態情報は、各ピクセルに関連した遮蔽状態をフレームに含んでもよい。例えば、フレームｔの位置ｘのピクセルと関連した遮蔽状態は、st(x)=[00; 01; 10]として表されてもよく、st(x)=00は、ピクセルが次および以前のフレームで遮蔽されていないことを示し、st(x)=01は、ピクセルが次のフレームで遮蔽される（前方の遮蔽）ことを示し、st(x)=10は、ピクセルが以前のフレームで遮蔽されることを示す（後方の遮蔽）。遮蔽状態を有するｔ＋Δの補間フレーム８００の各位置の関連を、それぞれハッチングおよび斑点を用いてｔ＋Δで示す。ｔのフレーム８１２およびｔ＋１のフレーム８１０に存在するシーンの内容に対応する補間された画像データの遮蔽状態をｓ＝００として表してもよい。パッチに相当する補間された画像データの遮蔽状態は、ｔのフレーム８１０では存在しないあるいは遮蔽されており、ｔ＋1のフレーム８１２は覆われていないので、ｓ＝１０として表してもよい。パッチに相当する補間された画像データの遮蔽状態は、ｔのフレーム８１０では存在し、ｔ＋１のフレーム８１２では存在しないあるいは遮蔽されており、ｓ＝０１として表してもよい。
【００７６】
いくつかの実施態様において、Pull型フレーム補間モデルを以下のように表してもよい。
【数１】
0006457483.tif 000002
【００７７】
Pull型フレーム補間は、ｔ＋Δの補間フレーム８００とｔの入力フレーム８１０との間と、ｔ＋Δの補間フレーム８００とｔ＋1の入力フレーム８１２との間に、モーションフィールドを推定することを含んでもよく、ピクセルst+Δ(x)の状態を推定することを含んでもよい。ｔ＋Δでモーションを補間することをPull型プロセスと呼んでもよく、数２を用いて画像Ｉｔ＋Δを作成するために、ｔの入力フレーム８１０およびｔ＋１の入力フレーム８１２からピクセルを引きぬく（pull）ように、ｔ＋Δの補間フレーム８００でモーションを使用することを含んでもよい。
【００７８】
いくつかの実施態様において、Ｄ、ｉは、既存のモーション推定を含み、画像データd(x)は、現在のサイトに近接する補間フレーム内のモーションを集めてもよく、ベイズ的方法（Bayesian fashion）において、後方確率分布p(dt+Δ;t+1, dt+Δt|D, i)を操作することを以下に表してもよい。
【数２】
0006457483.tif 000003
【００７９】
dt+δ,の推定は、補間されたモーションとして使用される、数２で後半部分を最大にしてもよい。
【００８０】
いくつかの実施態様において、Pull型フレーム補間は、画像尤度を使用することを含んでもよい。画像尤度を用いて、eI(x) = It(x+dt+Δ,t)-It+1(x+dt+Δ,t+1)は、次のフレームのピクセルと以前のフレームのピクセルの間で、モーションが補償されたピクセルの差を示してもよい。例えば、画像は色画像でもよく、eIは、３色の平面に対応する３つの差のベクトルであってもよい。いくつかの実施態様において、補間されたモーションは正確であり、遮蔽が発生しない限り、３色の平面に対応する差は小さくてもよい。
【００８１】
いくつかの実施態様において、ｔ＋Δの画像データは演繹的に理解されることはなく、以下に表されるように、モーションは、明確にs(・)を組み込むために用いてもよい。
【数３】
0006457483.tif 000004
【００８２】
いくつかの実施態様において、kIは10´2.72に等しくしてもよく、画像データの遮蔽から離間する強いバイアスを可能にする。色画像において、eI2は、異なる３つの構成要素の二乗の平均等、測定されたベクトルの大きさでもよい。いくつかの実施態様において、δI2は、ピクセルデータから測定可能であるか、または１：０に設定してもよい。
【００８３】
いくつかの実施態様において、Pull型フレーム補間は、モーション尤度を含んでもよい。モーション尤度は、本当に補間されたモーションが、既存のフレーム間にすでに推定されたモーションに一致するように用いられてもよい。Pull型フレーム補間は、モーションが補償されたモーション相違（motion compensated motion differences）を小さくすることを促進し、モーションの一致を最大にすることを含んでもよい。モーションが補償されたモーション相違を小さくすることを促進することは、以下の通りにモーションが補償されたモーション相違を表すことを含んでもよい。
【数４】
0006457483.tif 000005
【数５】
0006457483.tif 000006
【数６】
0006457483.tif 000007
【数７】
0006457483.tif 000008
【数８】
0006457483.tif 000009
【００８４】
数４〜８において、補間されたモーションフィールドdt+Δのｘ引数は、明確にするため省略されている。
【００８５】
いくつかの実施態様において、s(・)を組み込んでもよく、モーション尤度を以下のように表してもよい。
【数９】
0006457483.tif 000010
【００８６】
数９で、αは、遮蔽された状態１０，０１の時間的連続性の損失のバランスをとり、遮蔽された状態の発生を阻止するペナルティエネルギー（penalty energies）を表し、edは、加速を示すモーションベクトルペアにペナルティを課してもよい（penalize）。状態s(・) = 00のモーション尤度により、補間されたモーションがフレームｔ，ｔ−１；ｔ，ｔ＋１；ｔ＋１，ｔ＋２間の既存のモーションと一致するよう促してもよい。他の状態（０１；１０）において、時間的な平滑性は、それぞれｔ，ｔ−１およびｔ＝１，ｔ＋２の間のモーションによって促されてもよい。
【００８７】
図９は、本開示の実現態様に係る従うサイトグリッド（site grid）９００付近の（隣接した）一例の図を示す。グリッドとしてのフレームの表現において、現在のピクセル９１０は、近接する８つの隣接グリッド９２０を有してもよい。
【００８８】
いくつかの実施態様において、Pull型フレーム補間は、モーション優先を用いることを含んでもよい。一例において、モーションフィールドは、マルコフ確率フィールド（Markov Random Fields）でもよい。モーション優先は、２つの要因からなり、pd(・)は、推定されたモーションフィールドの空間的な平滑性を実現し、pg(・)は、グローバルなモーションの予め計算された推定からモーションフィールドの大きい偏差にペナルティを課してもよい。補間されたモーションフィールドの空間的な平滑性は、以下のように表される通常のギブズエネルギー優先（Gibbs energy prior）を使用して実施してもよい。
【数１０】
0006457483.tif 000011
【００８９】
反対方向のモーションを同様に表してもよい。数１０において、Λdは平滑性の強度を制御してもよい。例えば、Λd = 2.0も用いてもよい。排他的な用語（clique terms）のそれぞれからの負担部分は、ｘからの距離に反比例してλkで重みづけしてもよい。例えば、λk = 1/|vk|を用いてもよい。いくつかの実施態様において、現在のピクセルに近接する８つのピクセルがvkによってインデックスを付けられるように、Ｋは８としてもよい。
【００９０】
図９に示すように、オフセットされたベクトルは、水平および垂直方向に単位価値を有してもよい。いくつかの実施態様において、f(・)は、以下のように表される堅牢な機能でもよい。
【数１１】
0006457483.tif 000012
【００９１】
いくつかの実施態様において、ｄｇは、補間フレームのグローバルな（またはカメラ）モーションの予め計算された推定でもよく、f(・)は、数１１で表される機能のような堅牢な機能でもよく、pg(・)は、以下のように表してもよい。
【数１２】
0006457483.tif 000013
【００９２】
いくつかの実施態様において、現在のフレームのモーションは、知覚可能時に、カメラのグローバルなモーションに「パチッとはまる（snap）」ように促進されてもよい。いくつかの実施態様において、強度の制約小さいもの、例えばΛd = 1.0を用いてもよい。いくつかの実施態様において、制約は、堅牢性のためにオフ（例えばΛd = 0）にされてもよい。
【００９３】
いくつかの実施態様において、Pull型フレーム補間は、遮蔽優先を用いることを含んでもよい。推定された状態において、遮蔽のための優先p(s(・))が空間的な平滑性を促進し、以下のように表してもよい。
【数１３】
0006457483.tif 000014
【００９４】
数１３で、h(s1; s2)は、以下のように表されるステートペア(s1; s2)に従ってエネルギーを割り当てるエネルギー関数でもよい。
【数１４】
0006457483.tif 000015
【００９５】
数１３で表されるエネルギー関数は、遮蔽状態０１および１０が境界線を共有するのを防止し、その状態を近接の場合と同じようにすることを促進してもよい。エネルギー関数は、例えば、近接するピクセルのグループ内において、空間的な平滑性の遮蔽状態を促進してもよい。現在のピクセルに近接する８つのピクセルの状態は、０１であり、エネルギー関数は、現在のサイトのその状態を０１にすることを促進してもよい。他の例において、現在のサイトの周囲の５つのサイトの状態は００でもよく、エネルギー関数は、現在のサイトを、局所的なエリアで最も円滑性を有する構成において生成可能な００にすることを促進してもよい。
【００９６】
エネルギー関数も、０１および１０を、８つの最も近接ピクセルが一緒になることを防止するのにも役立つ。
【００９７】
数１３で表されるエネルギー関数は、未知のモーションdt+Δを特定するために用いてもよい。例えば、グラフカット（Graph Cuts）、信頼性伝搬（Belief Propagation）、または他のいかなる局所的な更新方式を用いて、数２を最適化することを含んでもよい。
【００９８】
いくつかの実施態様において、Pull型フレーム補間は最適化を含んでもよい。Pull型フレーム補間の計算負荷は、時間的モーション予測技術を用いて、補間されたモーションの局所的な候補を提案し、各サイトで最適化された候補を選択するために数１３で表されるエネルギー関数を使用することによって減らしてもよい。各々を順に推定するよりも、モーションおよび遮蔽を共同で推定してもよい。最適化のプロセスは、結論がでるまで繰り返してもよい。いくつかの実施態様において、最適化は、局所的な重要性サンプリングと結合される反復条件付モード（Iterated Conditional Modes）（ＩＣＭ）最適化を含んでもよい。いくつかの実施態様において、候補の生成を容易にするために、最適化は、
モーション評価、時間的なヒットリスト（hit list）生成、最初の推定の生成、またはいかなるそれらの組み合わせを含んでもよい。Pull型フレーム補間モーション推定の要素として、本明細書に記載されているが、時間的なヒットリスト生成および最初の推定の生成は、Pull型フレーム補間の前に独立して実行してもよい。
【００９９】
図１０は、本開示の実施態様に係る候補補間モーションベクトル（ヒットリスト）のリストを生成する一例を示す。ヒットリストを生成することは、補間フレーム内の各サイトで時間的および空間的候補を特定することを含んでもよい。計算上の負荷は、Pull型フレーム補間の前に時間的または空間的モーション候補のリストを生成することによって減らしてもよい。いくつかの実施態様において、例えば、時間的モーション予測において、ｔ＋Δでピクセル位置に、モーション方向に沿って既存のフレームの間のモーションを複製することにより、補間された位置でモーションを予測することに基づいて、候補は推定されてもよい。フレームｔとｔ＋1との間の各モーションベクトルを用いて、補間されたフィールドdt+Δ, t+1のための候補ベクトルを予測してもよい。同様に、dt+1, tを用いて、dt+1, t+Δのための可能なベクトルを予測してもよい。
【０１００】
図１０に示すように、ｔ＋Δで補間されたフレーム８００のヒットリストは、モーションフィールドdt, dt+1..を使用して生成してもよい。両側１０１０からヒットがあるｔ＋Δのサイトは、黒い正方形として示され、１つのヒット１０２０（ｔ＋１、ｔ方向において）を示しているサイトの一例を、斑点を有する正方形として示す。Ｄ→Ｅからの後方のベクトルは、dt+Δ, tの候補を生成してもよく、Ｆ→Ｇからのベクトルは、反対方向に類似のヒットを生成してもよく、dt+Δ, t+1の候補でもよい。同様のヒットをＪＫおよびＨＩのために特定してもよい。ベクトルＡＢは、逆方向（白い正方形）のヒットを生成してもよく、ヒットを生成するベクトルＢＡは存在しなくてもよい。Ｂで始まっているベクトルをＣにマッピングしてもよい。これは、遮蔽領域の指標であってもよい。
【０１０１】
いくつかの実施態様において、ヒットリストを生成することは、ｔでフレーム８１０のすべてのｘに、全てのベクトルdt,t+1(x)を走査することで前方のヒットを特定することと、ｔ＋Δでフレーム８００の各サイトx+Δdt,t+1(x)で、そのサイトでヒットを示すレコード等のdt,t+1(x)の指標を格納することとを含んでもよい。
【０１０２】
いくつかの実施態様において、ヒットリストを生成することは、ｔ＋1でフレーム８２０のｘごとに全てのベクトルdt+1,t(x)を走査することによって後方のヒットを特定することと、ｔ＋Δでフレーム８００の各サイトx+(1-Δ)dt+1,t(x)で、そのサイトでヒットを示すレコード等のdt+1,t(x)の指標を格納することとを含んでもよい。
【０１０３】
前方のヒットおよび後方のヒットは、ｔ＋Δで補間されたフレームの全てのサイトのための候補補間モーションベクトル（前方および後方の時間的な方向を指し示す）の、２つの同じ位置に配置されたリストCb/T’Cf/T’でもよい。いくつかの実施態様において、モーションフィールドは、不正確であってもよいので、遮蔽の処理は困難かもしれないが、ヒットリスト生成は、各リストにおいて１つ以上のヒットがあるサイトまたは全くヒットのないサイトを含んでもよい。
【０１０４】
図１１は、本開示の実施態様に係るPull型フレーム補間の一例の図を示す。いくつかの実施態様において、Pull型フレーム補間は、１１００で入力フレームを特定し、１１１０で入力モーションベクトルを生成し、１１２０でモーション平滑性を決定し、１１３０で候補補間モーションベクトルを生成し、１１４０で出力情報を初期化し、１１５０でローカルサイトの更新を行い、１１６０で補間されたフレームを構築するべきかを決定し、１１７０で補間されたフレームを構築し、１１８０で後処理を行い、１１９０で補間されたフレームを出力する、または、いかなるそれらの組み合わせを含んでもよい。いくつかの実施態様において、１１１０でモーションを推定し、１１２０で平滑性を測定し、１１３０でヒットリストを生成する、または、いかなるそれらの組み合わせも、前処理と考えてもよく、補間とは独立して実行してもよい。
【０１０５】
いくつかの実施態様において、図８に示される入力フレーム８１０／８１２／８１４／８１６等の入力フレームを１１００で特定してもよい。フレームのシーケンスは、位置ｔ−１のフレーム、位置ｔのフレーム、位置ｔ＋１のフレーム、および位置ｔ＋２のフレームを含んでもよい。いくつかの実施態様において、入力フレームを特定することは、補間されたフレームΔの位置がｔおよびｔ＋ｌの間にあるように、補間されたフレームごとに時間的または空間的な位置Δを特定することを含んでもよい。
【０１０６】
いくつかの実施態様において、モーションは、１１１０で入力フレームのために生成してもよい。例えば、モーションフィールドは、フレームペアｔ,t-1；ｔ,ｔ＋1；ｔ＋1, ｔ；ｔ＋1,ｔ＋２の間で計算されてもよい。ブロックマッチング（block matching）または光フローモーション推定（optic flow motion estimation）など、いかなるモーション推定（予測）プロセスを用いてもよい。モーションフィールドは、dt;t-1; dt;t+1; dt+1;t-1; dt+1;t+2をそれぞれ初期化するために用いてもよい。モーションフィールドは、補間の間、不変であってもよい。
【０１０７】
いくつかの実施態様において、モーション平滑は１１２０で決定されてもよい。モーション平滑を決定することは、１１２２でモーション平滑が低いかどうか決定すること、１１２４で補間されたフレームとして入力フレームを繰り返すこと、または両方を含んでもよい。照明が良くないシーン、あるいは高いモーションコンテントを含む低いオリジナルのフレームレートで撮影されたシーン等、いくらかのシーンで、既存のフレーム間のモーションフィールドが時間的または空間的に整合していないことがあるので（低いモーション平滑）高品質に補間されたフレームが生成される可能性は低いかもしれない。ｔのフレームまたはｔ＋１のフレーム等の入力フレームに対して、低いモーション平滑となることが、補間されたフレームとして繰り返されてもよい。
【０１０８】
１１２２で時間的または空間的な不一致（低いモーション平滑）を特定することは、フレームを均一にはめ込む（tile）ブロック内のフレームｔおよびｔ＋１の間のモーションが補償されたモーション相違を判定することを含んでもよい。３つの水平ブロックと２つの垂直ブロックのグリッドを、画像フレームをはめ込むために測定されるブロックサイズとともに用いてもよい。各ブロックは、B1×B2サイトを含んでもよく、Ｂは、ブロックbにおいて、サイトｘを含んでもよく、ブロックｂ内のモーションを補償したモーション相違を算出することを含んでもよく、ebmは、以下のように表してもよい。
【数１５】
0006457483.tif 000016
【０１０９】
数１５において、dt,t+1(x)のxは、説明を簡単にするため省略する。モーションを補償したモーション相違は、平滑性の制限または閾値を越えてもよく、ｔのフレームまたはｔ＋１のフレーム等の入力フレームは、１１２４で補間されたフレームとして繰り返されてもよい。
【０１１０】
閾値（制限）δbを超えたモーションを補償したモーション相違ebmは、モーション情報が信頼できないことを示しても良いし、ｔのフレームまたはｔ＋１のフレーム等の入力フレームが、１１２４で補間されたフレームとして繰り返されてもよい。いくつかの実施態様において、繰り返された入力フレームを、補間されたフレームΔへの近接に基づいて特定してもよい。例えば、Δは０．５以下でもよく、ｔのフレームは繰り返されてもよい。他の例において、Δは、０．５より大きくてもよく、ｔ＋１のフレームは繰り返されてもよい。いくつかの実施態様において、Δは０．５以上でもよく、ｔ＋１のフレームは繰り返されてもよい。
【０１１１】
いくつかの実施態様において、一貫したモーションとしてモーションを特定することは、ビデオシーケンスのフレームのサイズによって、滑らかに変化してもよい。例えば、高解像度な画像には、高い閾値を用いても良いし、低解像度な画像には、低い閾値を用いてもよい。いくつかの実施態様において、閾値δbは、ピクセルNhの画像の横サイズに比例してもよい。例えば、閾値δbは、50×Nh/1920でもよい。
【０１１２】
いくつかの実施態様において、候補補間モーションベクトル（ヒット）は、１１３０で生成されてもよい。補間フレーム用の候補補間モーションベクトルのリスト（ヒットリスト）は、入力フレームのために特定されるモーションに基づいていてもよい。例えば、ヒットリストは、図１０に示すように生成されてもよい。
【０１１３】
いくつかの実施態様において、出力情報は１１４０で初期化されてもよい。例えば、出力情報を初期化することは、無作為な割り当て、ヒットリストに基づく割り当て、または、それらの組み合わせを用いることを含んでも良い。いくつかの実施態様において、補間されたモーションフィールドの最初の推定を迅速に行うことは、ヒットリストを使用して行ってもよい。いくつかの実施態様において、NbT(x)は、後向きの時間的候補（ヒット）の数を示してもよく、NfT(x)は、前向きの時間的候補（ヒット）の数を示してもよい。最初の推定は、ｔ＋Δのサイトを探査することを含んでもよい。ヒット数は、NbT(x)==1)&&(NfT(x)==1)としてもよく、リスト内のモーションは、補間されたモーションに割り当てられてもよく、ｓは００にセットされてもよい。ヒット数は、NbT(x)≧1)&&(NfT(x)==0)でもよく、後向きの最初のモーションヒットは、補間されたモーションの両方の方向に割り当てられもよく、ｓは１０にセットされてもよい。ヒット数は、NbT(x)==0))&&(NfT(x)≧1)でもよく、前向きの最初のモーションヒットは、補間されたモーションの両方の方向に割り当てられもよく、ｓは０１にセットされてもよい。そうでなければ、補間されたモーションは０にセットされ、ｓは００にセットされてもよい。出力情報を初期化することは、反復カウンタをゼロに設定することを含んでもよい。
【０１１４】
いくつかの実施態様において、ローカルサイトの更新は１１５０で実行されてもよい。ローカルサイトの更新を行うことは、補間フレームの各サイトの補間モーションベクトルを選択し、更新することを含んでもよい。ローカルサイトの更新は、補間されたフレームのサイトごとに、反復して実行されてもよい。
【０１１５】
いくつかの実施態様において、ローカルサイトの更新を実行することは、１１３０で生成されるヒットリストを使用して、前向きおよび後向きの候補補間モーションベクトルを特定することを含んでもよい。ヒットリストは空のものでもよく、前向きおよび後向きのヒットが特定されないことがある。図９に示すように、現在のサイトの８つの近接するモーションを、前向きおよび後向きのモーション候補として特定してもよい。現在のサイトの現在のモーション情報が、候補として含まれてもよい。前向きおよび後向きのモーション候補リストの長さを、同じまたは類似のベクトルを削除することによって小さくしてもよい。例えば、閾値未満、例えば０．２５ピクセルの相違があるモーションベクトルを取り除いてもよい。ベクトル長の減少候補リストを、前方および後方の候補のdfk’dbkと呼ぶことがある。例えば、ベクトル長の減少候補リストは、Ｋの候補ペアを含んでもよい。モーション候補の各ペアに対して、ｓ＝００、０１または１０という３つの考えられる状態で、各ペアを増加することにより、３つのモーション／遮蔽候補を生成してもよい。増加候補セットを、m1K = [dfk’dbk’s = 00], m2K = [dfk’dbk’s = 01], m3K = [dfk’dbk’s = 10]と呼ぶこともある。例えば、増加候補セットは、３×Ｋモーション候補を含んでもよい。３Ｋのモーション候補の各々のために、数４〜８に、Λo=10.0, Λd=2.0, λk=1/|vk|で示されるef, eb, efb, ebf, edを使用することで、エネルギーを算出してもよく、以下のように表してもよい。
【数１６】
0006457483.tif 000017
【０１１６】
いくつかの実施態様において、ローカルサイトの更新を実行することは、補間されたモーションフィールドに最も低いエネルギーを有するモーション候補ペアを割り当てることを含んでもよく、そのフィールドにおける現在の値を置き換えることを含んでもよい。その候補に対して、状態値ｓを最小のエネルギーで示してもよい。例えば、Ｅｏｏが最小のエネルギーを有する場合、ｓ＝００である。
【０１１７】
いくつかの実施態様において、ローカルサイトの更新を実行することは、１１５２で分離した遮蔽状態を取り除くこと、グローバルなモーションを１１５４で推定すること、あるいは両方を含んでもよい。
【０１１８】
１１５２で分離した遮蔽状態を取り除くことは、s(x)がs(vk+x)に等しくなく、s(vk+x)がすべて同じとなるサイトの発生を検出し、s(・)を隣接の値と置き換えることを含んでもよい。サイトのモーションを、隣接する平均的なモーションと置き換えてもよい。分離した遮蔽状態を取り除くことにより、単一のサイトを一時的に加工する機会を減らしてもよい。
【０１１９】
すべてのサイトが訪問された場合、１１５４でグローバルなモーションを推定してもよい。補間されたモーションフィールドに対してグローバルなモーションを新たに推定することは、密度の高いモーションフローの使用に基づいてグローバルなモーション推定法を用いることを含んでもよい。例えば、最も頻繁に発生しているモーションベクトル、すべてのベクトルの平均、またはベクトルフィールドに適合する多項式は、シーンのグローバルなモーションとして使われてもよい。
【０１２０】
いくつかの実施態様において、補間されたフレームを構築するべきかどうかは、１１６０で決定されてもよい。１１５０でローカルサイトの更新を実行することは、反復カウンタを繰り返し適用することを含んでもよい。反復カウンタが閾値、例えば５を超えると、補間されたフレームを１１７０で構築してもよい。いくつかの実施態様において、いずれの推定されたモーションにも変化がなかった場合は、補間されたフレームを１１７０で構築してもよい。反復カウンタが閾値内にある場合、推定されたモーションまたは両方において変化があったので、１１４０で出力情報を初期化し、１１５０でローカルサイトの更新を実行し、１１６０で補間されたフレームを構築するべきかどうかを判定することを、反復して実行してもよい。
【０１２１】
いくつかの実施態様において、補間されたフレームを１１７０で構築してもよい。補間されたフレームは、推定されたモーションを使用することを含み、数２に基づいていてもよい。
【０１２２】
いくつかの実施態様において、後処理を１１８０で実行してもよい。そのモーションが急速な場合、または弱い光のもとで記録された場合、モーションを推定することがむずかしいので、後処理を行って、画像加工の外観を小さくしたり修正したりしてもよい。このような加工は、画像It+Δ内に穴として、または、大きく遮蔽されているかまたは覆われていない領域の近くの画像の奇妙なゆがみとして現れることがある。信頼性の低い画像であると推定し、将来および過去のフレームの平均的なものと継ぎ目がないように融合させてもよい。モーションフィールドの勾配を用いてもよく、補間における信頼の尺度として、いずれがより大きいかによって、前方または後方への選択をすることを含んでもよい。
【０１２３】
後処理は、I*(x) = (1-Δ)It(x) + ΔIt+1(x)の平均化を用いて、補間されたフレームに対して伝統的な推定行うことを含んでもよい。簡潔にするために、後方の補間されたモーションdt+Δ,t-1(x)は、[d^1b(h,k), d^2b(h,k)]と表してもよく、前方の補間されたモーションdt+Δ,t(x)は、[d^1f(h,k), d^2f(h,k)]と表してもよく、x = [h,k]である。各サイトｘでモーション勾配gm(x)を測定し、重量w(x)を融合することを以下のように表してもよい。
【数１７】
0006457483.tif 000018
【０１２４】
例えば、δt = ４を用いてもよい。
【０１２５】
最終の出力画像を、I^(x) = w(x)I*(x)+(1-w(x))It+Δ(x)を用いて算出してもよく、非動作補償平均画像I*と前段It+Δからの出力画像の間で重みづけをして融合してもよい。いくつかの実施態様において、補間されたフレームを１１９０で出力してもよい。
【０１２６】
数１を例として示し、以前のフレームおよび次のフレームで、モーション補償サイトから抽出された大量のピクセルに対して行われるメディアン演算（median operation）（または他の順序統計）等の他の再構成法を用いてもよい。
【０１２７】
図１１に図示していないが、いくつかの実施態様において、Pull型フレーム補間は、マルチ解像度方式を使用することを含んでもよい。例えば、あるシーンは大きいモーションを含んでもよく、マルチ解像度方式を使用してもよい。マルチ解像度方式を使用することは、図１１に示すように、きめの粗いブロックに基づくモーションフィールドに、Pull型フレーム補間を実行することを含んでもよい。各サイトは、Ｂ×Ｂピクセルの１ブロックとして処理されてもよい（画像のサイズにより、Ｂ＝３，４，８，１６，４）。サイト画像の相違は、平均ピクセル輝度の差としてもよい。粗いレベルに補間されたブロックモーションフィールドを、次のより微細なレベルでの反復を初期化するために用いてもよい。例えば、高解像度ビデオシーケンス（１９２０×１０８０）を処理することは、サイズ９６０×５４０、４８０×２７０、２４０×１３５、１２０×７２、６０×３６、あるいはそれらのいかなる組合せの画像を生成すること、および画像ピラミッド(image pyramid）のすべてのレベルでブロック長Ｂ＝４を使用することを含んでもよい。最高のレベルで、反復が完了した場合に、ブロックに基づくベクトルフィールドを、最終的に補間されたモーションフィールドとして用いてもよい。
【０１２８】
図１２は、本開示の実施態様に係るPull型フレーム補間の一例の簡略図を示す。いくつかの実施態様において、Pull型フレーム補間は、１２１０で入力フレームを特定すること、１２２０でモーションベクトルを生成すること、１２３０で補間位置を確認すること、１２４０で候補補間モーションベクトルを生成すること、１２５０で補間モーションベクトルを選択すること、１２６０で補間されたフレームを生成すること、または、いかなるそれらの組み合わせを含んでもよい。
【０１２９】
いくつかの実施態様において、入力フレームは１２１０で特定されてもよい。入力フレームを特定することは、特定されたフレームのシーケンスが位置ｔ−１のフレーム、位置ｔのフレーム、位置ｔ＋１のフレーム、および位置ｔ＋２のフレームを含むように、図８に示される入力フレーム８１０／８１２／８１４／８１６等のように、フレームを特定することを含んでもよい。
【０１３０】
いくつかの実施態様において、図１１の１１１０でモーションを推定することと同じ様に、モーションベクトルは１２２０で生成してもよい。モーションベクトルを生成することは、図１１の１１２０で示すように、モーションの平滑性を計測すること、図１１の１１２２で示すように、モーションの平滑性が低いかどうか決定すること、図１１の１１２４で示すように、入力フレームを補間されたフレームとして繰り返すこと、または、いかなるそれらの組み合わせなど、追加的な処理を含んでもよい。
【０１３１】
いくつかの実施態様において、補間ポイントを１２３０で特定してもよい。補間ポイントの特定には、補間されたフレームΔの空間的位置がｔとｔ＋１の間にあるように、補間されたフレームごとに時間的または空間的位置Δを特定することを含んでもよい。
【０１３２】
いくつかの実施態様において、候補補間モーションベクトルを１２４０で生成してもよい。候補補間モーションベクトルを生成することは、図１１の１１３０に示すようにヒットリストを生成することを含んでもよい。
【０１３３】
いくつかの実施態様において、補間モーションベクトルを１２５０で選択してもよい。補間モーションベクトルを選択することは、図１１の１１４０に示すように出力情報を初期化すること、図１１の１１５０に示すようにローカルサイト更新を実行すること、図１１の１１６０に示すように補間されたフレームを構築するべきかどうか決定すること、または、いかなるそれらの組み合わせを含んでもよい。
【０１３４】
いくつかの実施態様において、補間されたフレームを１２６０で生成してもよい。補間されたフレームを生成することは、図１１の１１７０に示すように補間されたフレームを組み込むこと、図１１の１１８０に示すような後処理、図１１の１１９０に示すように補間されたフレームを出力すること、または、いかなるそれらの組み合わせを含んでもよい。
【０１３５】
図１２に示すPull型フレーム補間の図の他の実施態様が利用可能である。実施態様において、Pull型フレーム補間の追加的な要素を加えてもよく、特定の要素は結合されてもよい、および／または特定の要素は取り外されてもよい。例えば、一実施態様において、最初のパス（first pass）のPull型フレーム補間は、きめの粗いブロックに基づくモーションフィールドに対して実行されてもよく、２番目のパス（second pass）のPull型フレーム補間は、補間されたフレームを生成するために最初のバスの出力を用いて実行されてもよい。
【０１３６】
Pull型フレーム補間またはそのいかなる部分も、図１に示されるコンピューティング装置１００等の装置において実現することができる。例えば、図４に示されるエンコーダ４００等のエンコーダにより、Pull型フレーム補間またはそのいかなる部分も、図１に示されるメモリ１５０等の、有形かつ非一時的なコンピュータ読み取り可能な媒体に保存される命令を用いて実現することができる。
【０１３７】
用語「例（example）」または「例示的な（exemplary）」は、本明細書において使用されるが、一例、一事例、実例として機能することを意味する。「例」または「例示的な」として本明細書において記載されているいかなる態様または設計も、他の態様または設計に対して、必ずしも好適または有利なものとして解釈されるわけではない。むしろ、用語「例」または「例示的な」は、具体的な形で概念を提示することを意図している。本出願において用いられている用語「または（or）」は、排他的な「または」よりも内包的な「または」意味することを意図している。すなわち、特に明記しない限り、または前後関係から明白な限り、「Ｘは、ＡまたはＢを含む」ことは、自然に内包的な置換のいずれかを意味することを意図している。すなわち、ＸがＡを含む、ＸはＢを含む、または、ＸはＡおよびＢの両方を含む場合、これらのいずれかの例において、「ＸはＡまたはＢを含む」が成り立つ。また、特に明記しない限り、または、単数形を意図する前後関係から明らかでない限り、本願発明および添付の請求の範囲において用いられる項目「ａ」および「ａn」は、通常、「１つ以上」を意味するために解釈されるべきである。さらに、全体で使用される用語「実施形態」または「一実施形態」または「実施態様」または「一実施態様」は、特段の記載がない限り、同じ実施形態または実施態様を意味することを意図していない。本明細書で使用するように、用語「判定する（determine）」、「特定する（identify）」、またはいかなるそれらの変形例も、選択する、確認する、計算する、検索する、受信する、決定する、確立する、取得する、あるいは、図１に示される装置の１つ以上を使用して、いかなる方法でも特定または判定することを含む。
【０１３８】
さらに、説明を簡単にするために、図および本明細書の説明には、ステップまたはステージの連続を含むが、本明細書に開示される方法の構成要素はさまざまな順序および／または並行して行われることができる。さらに、本明細書において開示される方法の構成要素は、本明細書に明示的に提示または記載されていない他の構成要素とともに実現してもよい。さらにまた、本明細書に記載されている方法のすべての構成要素が、開示された主題に係る一の方法を実施するよう求められているというわけではない。
【０１３９】
本明細書に記載されている符号化、復号化、およびフレーム補間の実現により、いくつかの例示的なフレーム補間技術を例示する。しかしながら、符号化および復号化は、それらの用語が本明細書において使われるように、圧縮、解凍、変換または他のいかなる処理もまたはデータの変更を含み、本明細書に用いられるように、フレーム補間およびPull型フレーム補間という用語は、新しいフレームがオリジナルフレームに取り込まれていない時間または空間のコンテンツを描くように、２つのオリジナルフレームの間に１つ以上の新しいフレームを生成することを含んでもよい。
【０１４０】
送信装置１００Ａおよび／または受信装置１００Ｂを実現すること（およびアルゴリズム、方法、命令など、その装置に保存および／またはその装置により実行されること）は、ハードウェア、ソフトウェアまたはいかなるそれらの組み合わせによって実現されてもよい。例えば、ハードウェアは、コンピュータ、知的財産（ＩＰ）コア、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックアレイ、光プロセッサ、プログラマブルロジックコントローラ、マイクロコード、マイクロコントローラ、サーバ、マイクロプロセッサ、ディジタル信号処理装置、または他のいかなる適切な回路をも含んでもよい。請求項において、用語「プロセッサ」は、単独で、または、組合せにより、前述のハードウェアのいずれかを含むとして理解されるべきである。用語「信号」及び「データ」は、交換可能に使用される。さらに、送信装置１００Ａおよび受信装置１００Ｂは、必ずしも同じように実行する必要があるというわけではない。
【０１４１】
さらに、一実施態様において、例えば、送信装置１００Ａまたは受信装置１００Ｂは、実行時に、本明細書に記載されているそれぞれの方法、アルゴリズムおよび／または命令のいずれかを実施する汎用コンピュータまたは汎用プロセッサを用いて実現することができる。追加して、または、代わりに、例えば、本明細書に記載されている方法、アルゴリズム、または命令のいずれかを実行するために特化されたハードウェアを含むことが可能な専用コンピュータ／プロセッサを利用できる。
【０１４２】
送信装置１００Ａおよび受信装置１００Ｂは、例えば、リアルタイムビデオシステムのコンピュータに実現することができる。あるいは、送信装置１００Ａをサーバに実現してもよく、受信装置１００Ｂをサーバとは別の装置、例えば携帯通信装置に実現してもよい。この場合、送信装置１００Ａは、エンコーダ４００を用いてコンテンツを符号化し、符号化されたビデオ信号として、この符号化されたビデオ信号を通信装置に送信する。次に、通信装置は、その後、デコーダ５００を用いて、符号化されたビデオ信号を復号化してもよい。あるいは、通信装置は、通信装置にローカルに格納されたコンテンツ、例えば、送信装置１００Ａによって送信されなかったコンテンツを復号化してもよい。送信装置１００Ａおよび受信装置１００Ｂの、他の適切な実施方式が利用できる。例えば、携帯通信装置および／またはエンコーダ４００を含む装置がデコーダ５００を含んでもよいというよりも、受信装置１００Ｂは、一般に移動しないパーソナルコンピュータとすることができる。
【０１４３】
更に、全てまたは一部の実施態様は、例えば、有形のコンピュータ使用可能またはコンピュータ読取可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形をとることができる。コンピュータ使用可能またはコンピュータ読取可能な媒体は、例えば、いかなるプロセッサに用いられる、または、関連するプログラムを明らかに含有、格納、伝達または、搬送することが可能ないかなる装置とすることもできる。媒体は、例えば、電子、磁気、光学、電磁気、または半導体装置とすることができる。他の適切な媒体も利用できる。
【０１４４】
上記の実施態様は、本出願を容易に理解するためのものであり、限定するものではない。これに反して、本出願は、添付の請求の範囲内に含まれるさまざまな変形例および等価な調整についてもその範囲に含める。その範囲が、法律のもとで許可されるすべての変形例および等価の構成を含むように、最も広い解釈がなされるべきである。
【図１】
0006457483.tif 000019
【図２】
0006457483.tif 000020
【図３】
0006457483.tif 000021
【図４】
0006457483.tif 000022
【図５】
0006457483.tif 000023
【図６】
0006457483.tif 000024
【図７】
0006457483.tif 000025
【図８】
0006457483.tif 000026
【図９】
0006457483.tif 000027
【図１０】
0006457483.tif 000028
【図１１】
0006457483.tif 000029
【図１２】
0006457483.tif 000030