(57)【要約】一般に、本開示は、スキップされたビデオ・フレームのより正確な補間を容易にする、エンコードおよびデコード技術を記載する。特に、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために動作情報を適用するための技術が記載される。動作情報は、例えば、従来式の２パラメータの並進動作ベクトルとは異なり、３またはそれ以上の動作パラメータをモデル化する動作モデルに基づいて動作を示す。より正確な動作情報は、補間を行うデコーダ内で生成されるか、あるいは、１または複数のフレーム内でエンコーダによって送信される。何れにせよ、本技術は、補間されたフレームにおいて目に見えるアーティファクトの量を低減する。
2009510929.tif 000002
【特許請求の範囲】
【請求項１】
デジタル・ビデオ・データを処理する方法であって、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得することと、
前記スキップされたビデオ・フレームを補間するために前記動作情報を適用することと
を備える方法。
【請求項２】
前記動作情報は、アファイン動作モデルに基づいて動作を示す請求項１に記載の方法。
【請求項３】
前記動作情報を取得することは、複数のデジタル・ビデオ・フレームを受け取ることを備え、
前記動作情報は、前記受け取られたデジタル・ビデオ・フレームのうちの少なくとも１つ内でエンコードされる請求項１に記載の方法。
【請求項４】
前記動作情報を取得することは、
前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を受け取ることと、
前記スキップされたビデオ・フレームの動作情報を、前記スキップされたビデオ・フレームに隣接したビデオ・フレームに関連付けられた動作情報に基づいて生成することと
を備える請求項１に記載の方法。
【請求項５】
前記動作情報は第１の動作情報を備え、
前記方法は更に、前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた第２の動作情報を受け取ることを備え、
前記動作情報を適用することは、前記スキップされたビデオ・フレームを補間するために、前記第１の動作情報と前記第２の動作情報とを適用することを備える請求項１に記載の方法。
【請求項６】
前記動作情報は、前記スキップされたビデオ・フレーム全体の動作を示す請求項１に記載の方法。
【請求項７】
前記動作情報は、前記スキップされたビデオ・フレームの一部の動作を示し、
前記方法は更に、
前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を受け取ることと、
前記位置情報によって記載された前記スキップされたビデオ・フレームの一部を補間するために、前記動作情報を適用することと
を備える請求項１に記載の方法。
【請求項８】
前記受け取った動作情報を、前記スキップされたビデオ・フレームの動作を並進動作のみに基づいて示す動作情報に変換することを更に備える請求項１に記載の方法。
【請求項９】
前記受け取った動作情報を、前記スキップされたビデオ・フレームの動作を並進動作のみに基づいて示す動作情報に変換することは、
興味のあるピクセル・ブロック内の１または複数のピクセルの動作情報に基づいて動作ベクトルを生成することと、
前記１または複数のピクセルの動作ベクトルをマージして、前記ピクセル・ブロック全体の動作ベクトルを生成することと
を備える請求項８に記載の方法。
【請求項１０】
前記その他の動作パラメータは、スケーリング、シャーリング、回転、パン、およびチルトのうちの少なくとも１つを備える請求項１に記載の方法。
【請求項１１】
デジタル・ビデオ・データを処理するプロセッサであって、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、
前記スキップされたビデオ・フレームを補間するために前記動作情報を適用する
ように構成されたプロセッサ。
【請求項１２】
アファイン動作モデルに基づいて動作を示す動作情報を取得するように構成された請求項１１に記載のプロセッサ。
【請求項１３】
受け取られた少なくとも１つのビデオ・フレーム内でエンコードされた動作情報を受け取るように構成された請求項１１に記載のプロセッサ。
【請求項１４】
前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を受け取り、
前記スキップされたビデオ・フレームの動作情報を、前記スキップされたビデオ・フレームに隣接したビデオ・フレームに関連付けられた動作情報に基づいて生成する
ように構成された請求項１１に記載のプロセッサ。
【請求項１５】
前記動作情報は第１の動作情報を備え、
前記プロセッサは更に、
前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた第２の動作情報を受け取り、
前記スキップされたビデオ・フレームを補間するために、前記第１の動作情報と前記第２の動作情報とを適用するように構成された請求項１１に記載のプロセッサ。
【請求項１６】
前記スキップされたビデオ・フレームの一部の動作を示す動作情報を受け取り、
前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を受け取り、
前記位置情報によって記載される前記スキップされたビデオ・フレームの一部を補間するために、前記動作情報を適用する
ように構成された請求項１１に記載のプロセッサ。
【請求項１７】
前記受け取った動作情報を、前記スキップされたビデオ・フレームの動作を並進動作のみに基づいて示す動作情報に変換するように構成された請求項１１に記載のプロセッサ。
【請求項１８】
前記プロセッサは、無線通信デバイス内に組込まれ、
前記無線通信デバイスは更に、
前記スキップされたビデオ・フレームを補間するために前記プロセッサによって使用されるもののうちの少なくとも１つであるデジタル・ビデオ・フレームを受信する受信機を備える請求項１１に記載のプロセッサ。
【請求項１９】
デジタル・ビデオ・データを処理する装置であって、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、前記スキップされたビデオ・フレームを補間するために前記動作情報を適用する補間モジュールを備える装置。
【請求項２０】
前記補間モジュールは、アファイン動作モデルに基づいて動作を示す動作情報を取得する請求項１９に記載の装置。
【請求項２１】
前記補間モジュールは、受け取られた少なくとも１つのビデオ・フレーム内でエンコードされた動作情報を受け取る請求項１９に記載の装置。
【請求項２２】
前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を受け取り、前記スキップされたビデオ・フレームの動作情報を、前記スキップされたビデオ・フレームに隣接したビデオ・フレームに関連付けられた動作情報に基づいて生成する動作推定モジュールを更に備え、
前記補間モジュールは、前記動作推定モジュールから前記動作情報を取得する請求項１９に記載の装置。
【請求項２３】
前記動作情報を、前記スキップされたビデオ・フレームの動作を並進動作のみに基づいて示す動作情報に変換する動作情報変換モジュールを更に備える請求項１９に記載の装置。
【請求項２４】
デジタル・ビデオ・データを処理する装置であって、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得する手段と、
前記動作情報を適用することによって、前記スキップされたビデオ・フレームを補間する手段と
を備える装置。
【請求項２５】
前記動作情報は、アファイン動作モデルに基づいて動作を示す請求項２４に記載の装置。
【請求項２６】
複数のデジタル・ビデオ・フレームを受け取る手段を更に備え、
前記動作情報は、前記受け取られたビデオ・フレームのうちの少なくとも１つ内でエンコードされる請求項２４に記載の装置。
【請求項２７】
前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を受け取る手段と、
前記スキップされたビデオ・フレームの動作情報を、前記スキップされたビデオ・フレームに隣接したビデオ・フレームに関連付けられた動作情報に基づいて生成する手段と
を更に備える請求項２４に記載の装置。
【請求項２８】
前記動作情報は、前記スキップされたビデオ・フレームの一部の動作を示し、
前記装置は更に、前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を受け取る手段を備え、
前記補間する手段は、前記位置情報によって記載される前記スキップされたビデオ・フレームの一部を補間するために、前記動作情報を適用する請求項２４に記載の装置。
【請求項２９】
前記受け取った動作情報を、前記スキップされたビデオ・フレームの動作を並進動作のみに基づいて示す動作情報に変換する手段を更に備える請求項２４に記載の装置。
【請求項３０】
実行されると、機械に対して、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得させ、
前記スキップされたビデオ・フレームを補間するために前記動作情報を適用させる
命令を備えた機械読取可能媒体。
【請求項３１】
前記機械に対して前記動作情報を取得させる命令は、複数のデジタル・ビデオ・フレームを受け取る命令を備え、
前記動作情報は、前記受け取られたデジタル・ビデオ・フレームのうちの少なくとも１つ内でエンコードされる請求項３０に記載の機械読取可能媒体。
【請求項３２】
前記機械に対して前記動作情報を取得させる命令は、
前記スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を受け取り、
前記スキップされたビデオ・フレームの動作情報を、前記スキップされたビデオ・フレームに隣接したビデオ・フレームに関連付けられた動作情報に基づいて生成する
命令を備える請求項３０に記載の機械読取可能媒体。
【請求項３３】
前記受け取った動作情報を、前記スキップされたビデオ・フレームの動作を並進動作のみに基づいて示す動作情報に変換する命令を更に備える請求項３０に記載の機械読取可能媒体。
【請求項３４】
ビデオ・エンコード方法であって、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成することと、
少なくとも１つのビデオ・フレーム内で前記動作情報をエンコードすることと
を備える方法。
【請求項３５】
前記動作情報を生成することは、アファイン動作モデルに基づいて動作を示す動作情報を生成することを備える請求項３４に記載の方法。
【請求項３６】
前記動作情報を生成することは、前記スキップされたビデオ・フレームの一部の動作を示す動作情報を生成することを備え、
前記方法は更に、
前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を生成することと、
前記ビデオ・フレーム内で前記位置情報をエンコードすることと
を備える請求項３４に記載の方法。
【請求項３７】
前記位置情報を生成することは、
前記スキップされたフレーム内でオブジェクトを識別するために、並進動作以外の動作を用いて、動作細分化を実行することと、
前記識別されたオブジェクトのために、並進動作と少なくとも１つのその他の動作パラメータとに基づいて動作情報を生成することと
を備える請求項３６に記載の方法。
【請求項３８】
前記スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成することは、前記スキップされたビデオ・フレームの動作を、並進動作と、スケーリング、シャーリング、回転、パン、およびチルトのうちの少なくとも１つとに基づいて示す動作情報を生成することを備える請求項３４に記載の方法。
【請求項３９】
前記少なくとも１つのビデオ・フレーム内で動作情報をエンコードすることは、スキップされていないビデオ・フレーム内で動作情報をエンコードすることを備える請求項３４に記載の方法。
【請求項４０】
前記スキップされたビデオ・フレームをビデオ・デコーダが補間するのを支援するために、前記ビデオ・デコーダへ前記ビデオ・フレームを送ることを更に備える請求項３４に記載の方法。
【請求項４１】
デジタル・ビデオ・データをエンコードする装置であって、
スキップされたビデオ・フレームを分析し、前記スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する分析モジュールと、
少なくとも１つのビデオ・フレーム内で前記動作情報をエンコードするアセンブリ・モジュールと
を備える装置。
【請求項４２】
前記分析モジュールは、アファイン動作モデルに基づいて動作を示す動作情報を生成する請求項４１に記載の装置。
【請求項４３】
前記分析モジュールは、前記スキップされたビデオ・フレームの一部の動作を示す動作情報を生成し、前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を生成し、前記ビデオ・フレーム内で前記位置情報をエンコードする請求項４１に記載の装置。
【請求項４４】
前記スキップされたビデオ・フレームをビデオ・デコーダが補間するのを支援するために、前記ビデオ・デコーダへ前記ビデオ・フレームを送信する送信機を更に備える請求項４１に記載の装置。
【請求項４５】
前記分析モジュールは、前記スキップされたビデオ・フレームの動作を、並進動作と、スケーリング、シャーリング、回転、パン、およびチルトのうちの少なくとも１つとに基づいて示す動作情報を生成する請求項４１に記載の装置。
【請求項４６】
デジタル・ビデオ・データをエンコードする装置であって、
前記スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する手段と、
フレームをアセンブルし、少なくとも１つのビデオ・フレーム内で前記動作情報をエンコードする手段と
を備える装置。
【請求項４７】
前記生成する手段は、前記スキップされたビデオ・フレームの一部の動作を示す動作情報を生成し、前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を生成し、前記ビデオ・フレーム内で前記位置情報をエンコードする請求項４６に記載の装置。
【請求項４８】
前記生成する手段は、並進動作に基づいて動作情報を生成し、前記スキップされたフレーム内のオブジェクトを、並進動作以外の動作を用いて識別するために動作細分化を実行し、前記識別されたオブジェクトについて、並進動作と少なくとも１つのその他の動作パラメータとに基づいて前記動作情報を生成する請求項４７に記載の装置。
【請求項４９】
前記生成する手段は、スキップされたビデオ・フレームの動作を、並進動作と、スケーリング、シャーリング、回転、パン、およびチルトのうちの少なくとも１つとに基づいて示す動作情報を生成する請求項４６に記載の装置。
【請求項５０】
デジタル・ビデオ・データをエンコードするプロセッサであって、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成し、
少なくとも１つのビデオ・フレーム内で前記動作情報をエンコードする
ように構成されたプロセッサ。
【請求項５１】
動作情報を生成するように構成されたプロセッサは、アファイン動作モデルに基づいて動作を示す動作情報を生成することを備えた請求項５０に記載のプロセッサ。
【請求項５２】
前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を生成し、前記ビデオ・フレーム内で前記位置情報をエンコードするように構成された請求項５０に記載のプロセッサ。
【請求項５３】
スキップされていないビデオ・フレーム内で前記動作情報をエンコードするように構成された請求項５０に記載のプロセッサ。
【請求項５４】
実行されると、機械に対して、
スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成させ、
少なくとも１つのビデオ・フレーム内で前記動作情報をエンコードさせる
命令を備える機械読取可能媒体。
【請求項５５】
前記動作情報は、アファイン動作モデルに基づいて動作を示す請求項５４に記載の機械読取可能媒体。
【請求項５６】
前記機械に対して動作情報を生成させる命令は、前記スキップされたビデオ・フレームの一部の動作を示す動作情報を生成させる命令を備え、
更に、
前記動作情報に関連付けられた前記スキップされたビデオ・フレームの一部を記載する位置情報を生成し、
前記ビデオ・フレーム内で前記位置情報をエンコードする
命令を備える請求項５４に記載の機械読取可能媒体。
【請求項５７】
前記機械に対して、スキップされていないビデオ・フレーム内で動作情報をエンコードさせる命令を更に備える請求項５４に記載の機械読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、マルチメディア・エンコードおよびデコードに関し、更に詳しくは、マルチメディア・アプリケーションのため、スキップされたフレームを補間する技術に関する。
【背景技術】
【０００２】
多くの異なるビデオ・エンコード規格が、デジタル・マルチメディア・シーケンスのコーディングのために確立された。ＭＰＥＧ（Moving Picture Experts Group）は、例えば、ＭＰＥＧ−１、ＭＰＥＧ−２およびＭＰＥＧ−４を含む多くの規格を開発した。その他の例は、国際電気通信連合（ＩＴＵ）Ｈ．２６３規格、および、"Advanced Audio Coding"と題され、ＭＰＥＧ−４でも記載されている新たなＨ．２６４規格を含む。これらのビデオ・コーディング規格は、一般に、データを圧縮方式でコーディングすることによって、マルチメディア・シーケンスの改善された送信効率をサポートする。圧縮は、マルチメディア・フレームの有効な送信のために送信される必要のある全体データ量を低減する。ビデオ・コーディングは、有線送信媒体および無線送信媒体の両方によって、ビデオ・ストリーミング・アプリケーション、ビデオ・カムコーダ・アプリケーション、ビデオ・テレフォニー（ＶＴ）・アプリケーション、およびビデオ・ブロードキャスト・アプリケーションを含む多くの状況において用いられる。
【０００３】
ＭＰＥＧ−４規格、ＩＴＵ  Ｈ．２６３規格、およびＩＴＵ  Ｈ．２６４規格は、例えば、フレーム間圧縮を提供するために、時間相関またはインター・フレーム相関と称される連続的なマルチメディア・フレーム間の類似点を利用するビデオ・コーディング技術をサポートする。インター・フレーム圧縮技術は、マルチメディア・フレームのピクセル・ベースの表示を動作表示に変換することによって、複数のフレームにまたがるデータ冗長性を利用する。インター・フレーム技術を用いてエンコードされたフレームは、予測（「Ｐ」）フレームあるいは双方向（「Ｂ」）フレームと称される。イントラ（「Ｉ」）・フレームと称される幾つかのフレームは、空間圧縮を用いてコード化される。これは、非予測的である。更に、幾つかのフレームは、イントラ・コード化ブロックとインター・コード化ブロックとの両方の組み合わせを含みうる。
【０００４】
低帯域幅要求を満たすために、例えばビデオ・テレフォニーまたはビデオ・ストリーミングのような幾つかのマルチメディア・アプリケーションは、フレーム・スキップを用いて、低フレーム・レートでビデオをコーディングすることによって、ビット・レートを下げる。スキップされたフレームは、「Ｓ」フレームと称される。あいにく、低フレーム・レート・ビデオは、動作ジャーキネス（jerkiness）の形態でアーティファクト（artifacts）を生成する。従って、例えばフレーム・レート・アップ変換（ＦＲＵＣ）のようなフレーム補間は、一般に、スキップされたフレームの内容を補間するために、デコーダにおいて用いられる。
【０００５】
様々なＦＲＵＣ技術が開発されており、２つのカテゴリに分類することができる。第１のＦＲＵＣカテゴリは、フレーム反復（ＦＲ）およびフレーム平均化（ＦＡ）を含む。これらは共に、動作を考慮しないビデオ・フレームの組み合わせを用いる。これらアルゴリズムは、動作がない状態で、許容可能な結果をもたらす。しかしながら、フレーム間で顕著な動作がある場合、ＦＲは、動作ジャーキネスを生成する傾向にあり、ＦＡは、物体のぶれを生成する。第２のＦＲＵＣカテゴリは、動作を利用する高度な変換技術に依存する。このカテゴリでは、補間されたフレームの品質は、推定された動作と真の物体動作との間の相違に依存する。
【発明の開示】
【０００６】
本出願は、その全体が参照によって本明細書に組み込まれている２００５年９月２７日出願の米国仮出願６０／７２１，３４６号の優先権を主張する。
【発明の概要】
【０００７】
一般に、本明細書は、スキップされたビデオ・フレームのより正確な補間を容易にするビデオ・エンコード技術およびビデオ・デコード技術について記載する。特に、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他のパラメータとに基づいて示す動作情報を適用する技術が記載される。動作情報は、例えば、従来の２パラメータ並進動作ベクトル・モデルとは対照的に、３またはそれ以上の動作パラメータに基づく動作モデルに基づいて動作を示すことができる。より多くの動作パラメータをモデル化する動作情報を用いることによって、ビデオ・デコーダは、スキップされたフレームをより正確に補間できるようになる。その結果、補間されたビデオ情報において目に見えるアーティファクトが低減され、より効率的なＦＲＵＣ処理がサポートされる。
【０００８】
従来のビデオ・デコーダでは、デコーダは、スキップされたフレームの動作を、並進動作のみに基づいて示す動作情報を取得し、スキップされたフレームを補間するために、並進動作ベクトルを適用する。しかしながら、スキップされたフレームの動作ベクトルは、一般に、スキップされたフレームに隣接したビデオ・フレームの動作ベクトルから取得されるので、補間されたフレームにおいて、様々なアーティファクトをもたらす可能性がある。更に、動作ベクトルは、並進動作情報のみを与えるので、並進動作以外のカメラ動作によって、補間されたフレームにおいて、その他様々なアーティファクトがもたらされる。
【０００９】
しかしながら、本明細書の技術に従って、フレーム補間を実行するビデオ・デコーダは、スキップされたビデオ情報を補間するために、より正確な動作情報を適用することによって、補間されたフレームにおける目に見えるアーティファクトの量を低減することができる。特に、幾つかの実施形態では、デコーダは、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために、この動作情報を適用する。
【００１０】
１つの実施形態では、デジタル・ビデオ・データを処理する方法は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得することと、スキップされたビデオ・フレームを補間するために、この動作情報を適用することとを備える。
【００１１】
別の実施形態では、デジタル・ビデオ・データを処理する装置は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために、この動作情報を適用する補間モジュールを備える。
【００１２】
別の実施形態では、デジタル・ビデオ・データを処理するプロセッサは、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために、この動作情報を適用するように構成されている。
【００１３】
別の実施形態では、デジタル・ビデオ・データを処理するデバイスは、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために、この動作情報を適用するように構成されたプロセッサを備える。
【００１４】
更なる実施形態では、デジタル・ビデオ・データを処理する装置は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得する手段と、この動作情報を適用することによって、スキップされたビデオ・フレームを補間する手段とを備える。
【００１５】
別の実施形態では、機械読取可能媒体は、実行されると、機械に対して、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得させ、スキップされたビデオ・フレームを補間するために、この動作情報を適用させる命令を備えている。
【００１６】
また別の実施形態では、ビデオ・エンコード方法は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成することと、少なくとも１つのビデオ・フレーム内の動作情報をエンコードすることとを備える。
【００１７】
別の実施形態では、デジタル・ビデオ・データをエンコードする装置は、スキップされたビデオ・フレームを分析し、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する分析モジュールと、少なくとも１つのビデオ・フレーム内の動作情報をエンコードするアセンブリ・モジュールとを備える。
【００１８】
更なる実施形態では、デジタル・ビデオ・データをエンコードする装置は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する手段と、少なくとも１つのビデオ・フレーム内の動作情報をエンコードする手段とを備える。
【００１９】
別の実施形態では、デジタル・ビデオ・データを処理するプロセッサは、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成し、少なくとも１つのビデオ・フレーム内の動作情報をエンコードするように構成される。
【００２０】
別の実施形態では、機械読取可能媒体は、実行されると、機械に対して、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成させ、少なくとも１つのビデオ・フレーム内の動作情報をエンコードさせる命令を備えている。
【００２１】
本明細書に記載された技術は、ハードウェア、ソフトウェア、ファームウェア、またはこれら任意の組み合わせで実現される。ソフトウェアで実現される場合、本技術は、実行された場合に、本明細書に記載された方法のうち１または複数を実行する命令を含むプログラム・コードを備える機械読取可能媒体によって部分的に実現されうる。本明細書に記載の技術は、無線通信デバイス（ＷＣＤ）またはその他のデバイス内に組み込まれるのに適切なチップセットまたはチップによって組み込まれうる処理回路内で実現されうる。幾つかの実施形態では、本開示は、そのような回路を組み込むデバイスに関する。
【００２２】
１または複数の実施形態の詳細が、添付図面および以下の記載において述べられる。本開示のその他の特徴、目的、および利点は、詳細説明と図面から、および特許請求の範囲から明らかになるであろう。
【詳細な説明】
【００２３】
本開示は、スキップされた（「Ｓ」）ビデオ・フレームのより正確な補間を容易にするエンコード技術およびデコード技術を説明する。特に、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用する技術が説明される。この動作情報は、例えば、従来の２パラメータの並進動作ベクトル・モデルとは対照的に、３またはそれ以上の動作パラメータに基づく動作モデルに基づく動作を示すことができる。より多くの動作パラメータをモデル化する動作情報を用いることによって、デコーダは、スキップされたフレームをより正確に補間できるようになる。その結果、補間されたビデオ情報において目に見えるアーティファクトが低減される。
【００２４】
従来のデコーダでは、デコーダは、スキップされたフレームの動作を、並進動作のみに基づいて示す動作情報を取得し、スキップされたフレームを補間するために、並進動作ベクトルを適用している。しかしながら、スキップされたフレームの動作ベクトルは、一般に、スキップされたフレームに隣接したビデオ・フレームの動作ベクトルから取得されるので、補間されたフレームにおいて、様々なアーティファクトをもたらす可能性がある。更に、動作ベクトルは、並進動作情報のみを与えるので、並進動作以外のカメラ動作によって、補間されたフレームにおいて、その他様々なアーティファクトがもたらされる。
【００２５】
しかしながら、本明細書の技術に従ってフレーム補間を実行するデコーダは、スキップされたビデオ・フレームを補間するために、より正確な動作情報を適用することによって、補間されたフレームにおける目に見えるアーティファクトの量を低減することができる。特に、デコーダは、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために、この動作情報を適用する。
【００２６】
デコーダは、スキップされたビデオ・フレームのより正確な動作情報を、１または複数の隣接するビデオ・フレームに関連付けられた動作情報を用いて生成することができる。あるいは、デコーダは、１または複数の送信されるビデオ・フレームに動作情報を埋め込むエンコーダから、スキップされたビデオ・フレームのより正確な動作情報を受け取る。このように、エンコーダは、スキップされたビデオ・フレームを補間するデコーダを支援するために、スキップされたビデオ・フレームに関連付けられた動作情報を送信する。何れの場合も、デコーダは、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用することによって、スキップされたフレームをより正確に補間する。
【００２７】
１つの実施形態では、エンコーダとデコーダとの両方が、スキップされたフレームの動作を、並進動作と、例えばアファイン動作モデルに基づいた動作情報のような少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を用いることをサポートするように構成されうる。この場合、エンコーダは、アファイン・モデルに基づいて動作情報を生成し、この動作情報を、デコーダに送信し、スキップされたフレームをデコーダが補間することを支援する。エンコーダは、例えばスキップされたフレームに先行または後続するＰフレーム内のような１または複数のエンコード済みフレーム内、または、スキップされたフレーム動作情報専用であり、エンコード済みフレームとは独立して送信されるビデオ・フレーム内で、スキップされたフレームの動作情報を送信する。
【００２８】
別の実施形態では、エンコーダは、スキップされたフレームの動作を、並進動作および少なくとも１つのその他の動作パラメータに基づいて示す動作情報を生成するように構成される。しかしながら、デコーダは、そのような動作情報を使用するようには構成されないかもしれない。この場合、エンコーダは、スキップされたフレームの動作情報を、並進動作と少なくとも１つの他の動作パラメータとに基づいて生成し送信する。デコーダは、受け取った動作情報を、並進動作のみに基づいて動作を示す動作ベクトルへ変換し、スキップされたビデオ・フレームを、この並進動作ベクトルを用いて補間する。
【００２９】
更なる実施形態では、デコーダのみが、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を用いるように構成される。したがって、このデコーダは、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を、エンコーダから受け取らない。その代わり、デコーダは、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を、スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報から生成する。
【００３０】
図１は、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用するように構成されたビデオ・エンコードおよびデコード・システム１０を例示するブロック図である。図１に示すように、システム１０は、送信チャネル１５によって接続されたビデオ・エンコーダ１２とビデオ・デコーダ１４とを含む。ビデオ・シーケンスのようなエンコードされたマルチメディア・シーケンスは、ビデオ・エンコーダ１２から、伝送チャネル１５によってビデオ・デコーダ１４に送信されうる。伝送チャネル１５は、有線媒体または無線媒体でありうる。この目的のために、ビデオ・エンコーダ１２およびビデオ・デコーダ１４は、そのような通信を容易にする送信機および受信機（図示せず）を含みうる。システム１０はまた、例えばビデオ・テレフォニーのために、双方向ビデオ送信をサポートしうる。伝送チャネル１５の反対端では、相対するエンコード要素、デコード要素、多重化（ＭＵＸ）要素、および逆多重化（ＤＥＭＵＸ）要素が備えられうる。幾つかの実施形態では、ビデオ・エンコーダ１２とビデオ・デコーダ１４とが、例えばビデオ・ストリーミング、ビデオ・テレフォニーまたはそれら両方のために備えられた無線通信デバイスのようなビデオ通信デバイス内に組み込まれうる。
【００３１】
システム１０は、ＳＩＰ（Session Initiated Protocol）、ＩＴＵ  Ｈ．３２３規格、ＩＴＵ  Ｈ．３２４規格、またはその他の規格に従ってビデオ・テレフォニーをサポートすることができる。ビデオ・エンコーダ１２は、例えばＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ  Ｈ．２６３、あるいは"Advanced Audio Coding"と題され、ＭＰＥＧ−４  パート１０にも述べられているＩＴＵ  Ｈ．２６４のようなビデオ圧縮規格に従ってエンコードされたビデオ・データを生成する。図１には示されていないが、ビデオ・エンコーダ１２およびビデオ・デコーダ１４は、オーディオ・エンコーダおよびオーディオ・デコーダとそれぞれ統合され、データ・ストリームのオーディオ部分およびビデオ部分を取り扱うための適切なＭＵＸ−ＤＥＭＵＸモジュールを含む。このＭＵＸ−ＤＥＭＵＸモジュールは、ＩＴＵ  Ｈ．２２３マルチプレク・サプロトコル、または、例えばユーザ・データグラム・プロトコル（ＵＤＰのようなその他のプロトコルに従いうる。あるいは、システム１０は、ＳＩＰプロトコルを使用しうる。
【００３２】
ビデオ・エンコーダ１２およびビデオ・デコーダ１４は、１または複数のプロセッサ、デジタル・シグナル・プロセッサ、特定用途向けＩＣ（ＡＳＩＣ）、フィールド・プログラム可能ゲートアレー（ＦＰＧＡ）、離散的ロジック、ソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実施されるかもしれない。ビデオ・エンコーダ１２およびビデオ・デコーダ１４の例示する構成要素は、１または複数のエンコーダまたはデコーダに含まれうる。そして、それらのうち何れかは、エンコーダ／デコーダ（コーデック）の一部として統合されうる。
【００３３】
エンコーダ１２は、フレーム・スキップを用いて、短縮されたフレーム・レートにおいてビデオ情報をエンコードする。更に詳しくは、エンコーダ１２は、複数のビデオ・フレームをエンコードして、デコーダ１４へ送信する。複数のビデオ・フレームは、１または複数のイントラ（「Ｉ」）フレーム、予測（「Ｐ」）フレーム、あるいは双方向（「Ｂ」）フレームを含みうる。ビデオ・エンコーダ１２は、図１において、Ｐフレーム１６を生成し、送信するように例示されているが、エンコーダ１２は更に、その他のＰフレームや、１または複数のＩフレームおよびＢフレームをも生成し送信する。Ｐフレーム１６は、ビデオ・デコーダ１４が、ビデオ情報のフレームをデコードし、表すことができるための十分な情報を含む予測フレームである。特に、１または複数の動作ベクトルおよび量子化された予測誤差が、Ｐフレーム１６のためにエンコードされる。短縮されたフレーム・レートにおいてビデオ情報をエンコードするために、エンコーダ１２は、伝送チャネル１５を介した帯域幅維持のため、エンコードされた情報の全体量を低減するために設計されたフレーム・スキップ機能に従って、特定のフレーム（スキップされたフレームまたはＳフレームと称される）をスキップしうる。言い換えれば、エンコーダ１２は実際には、Ｓフレームをエンコードも送信もしない。その代わり、デコーダ１４は、スキップされたフレームを補間して、ビデオ情報のフレームを生成する。
【００３４】
図１の例では、ビデオ・エンコーダ１２は、例えばフレームＦ１、Ｆ２、およびＦ３のような到来するビデオ情報のフレームを処理するように構成されたフレーム処理モジュール２０を含む。到来するフレームＦ１、Ｆ２、およびＦ３の分析に基づいて、フレーム処理モジュール２０は、到来するフレームをＰフレームとしてエンコードするか、これらフレームをスキップするかを判定する。Ｆ２は、スキップされるフレームを示す一方、フレームＦ１およびＦ３は、Ｐフレームの先行および後続する各フレームを示す。
【００３５】
ビデオ・デコーダ１４は、エンコード済みのビデオ・フレームをエンコーダ１２から受け取り、このビデオ・フレームをデコードする。Ｐフレームの復号と、Ｓフレームの補間とを取り扱うために、ビデオ・デコーダ１４は、標準的デコーダ・モジュール２２と、補間デコーダ・モジュール２４とを含む。標準的デコーダ・モジュール２２は、標準的デコーダ技術を適用して、例えばＰフレーム１６のように、エンコーダ１２によって送られた各Ｐフレームをデコードする。上述したように、各Ｐフレームでエンコードされた情報は、標準的デコーダ・モジュール２２がビデオ情報のフレームをデコードし表すことができるのに十分である。標準的デコーダ・モジュール２２は更に、例えばＩフレームまたはＢフレームのようなその他の符合化フレームをもデコードすることができる。
【００３６】
補間デコーダ・モジュール２４は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用することによって、例えばフレームＦ２のようなスキップされたビデオ・フレームを補間する。スキップされたフレームは、デコーダ１４に送信されないが、動作情報は、スキップされたフレームのコンテンツの補間をサポートする。スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用することによって、補間デコーダ・モジュール２４は、補間されたフレームにおける目に見えるアーティファクトを減らし、もって、ビデオ出力における改善された視覚品質を達成することができる。
【００３７】
例として、補間デコーダ・モジュール２４は、スキップされたビデオ・フレームの動作を、アファイン動作モデルに基づいて示す動作情報を取得し、スキップされたビデオ・フレームを補間するために、この動作情報を適用する。アファイン動作モデルは、並進動作のみならず、回転、シャーリング、およびスケーリングをも近似する。アファイン動作モデルは、下記式によって表されうる。  
【数１】
2009510929.tif 000003
【００３８】
ここで（ｘ’，ｙ’）および（ｘ，ｙ）は、変位前および変位後の点の画像座標をそれぞれ示し、ａ１〜ａ６は、アファイン変換の係数を示す。アファイン動作モデルに基づく動作情報は、従来の並進動作ベクトルの２パラメータ近似とは異なり、スキップされたフレームの動作の６パラメータ近似を提供する。
【００３９】
動作情報は、スキップされたフレームの動作を、アファイン動作モデル以外の動作モデルに基づいて示すことができる。例えば、この動作情報は、並進動作と、スケーリング、シャーリング、回転、パン、およびチルトのうちの少なくとも１つとを考慮する動作モデルに基づいて動作を示すことができる。例えば、この動作情報は、厳密なモデル（３パラメータ）、厳密かつスケールモデル（４パラメータ）、双一次（bilinear）モデル（８パラメータ）、または、並進動作と、例えば平面ホモグラフィのような少なくとも１つのその他の動作パラメータとに基づいて動作を示すその他の動作モデルに基づいて動作を示すことができる。更に、この動作情報は、例えば物体変形モデルまたはピクセル・ベース動作モデルのような非剛体動作モデルに基づいて動作を示すことができる。
【００４０】
１つの実施形態では、補間デコーダ・モジュール２４は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する。以下に詳細に説明するように、補間デコーダ・モジュール２４は、スキップされたフレームの動作情報を、スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を用いて生成する。例として、補間デコーダ・モジュール２４は、先行基準フレームおよび後続基準フレームに関連付けられた並進動作ベクトルを用いて、並進動作および少なくとも１つのその他の動作パラメータに基づいて、スキップされたフレームの動作を示す動作情報を生成しうる。あるいは、補間デコーダ・モジュール２４は、並進動作と、先行基準フレームおよび後続基準フレームに関連付けられた少なくとも１つのその他の動作パラメータとに基づく動作情報を用いて、スキップされたフレームの動作を示す動作情報を並進動作と少なくとも１つのその他の動作パラメータとに基づいて生成することができる。このように、補間技術は、もっぱらデコーダ内で実施される。
【００４１】
あるいは、補間デコーダ・モジュール２４は、ビデオ・エンコーダ１２からの支援に依存して、スキップされたフレームの補間を行う。特に、エンコーダ１２は、補間デコーダ・モジュール２４が、スキップされたフレームを補間することを支援するために、例えばＳフレーム動作情報１８のようなスキップされたフレームの動作情報を生成し、エンコードし、送信することができる。エンコーダ１２は、専用フレーム、あるいは例えばＰフレーム１６のような１または複数の送信されたビデオ・フレームで、Ｓフレーム動作情報１８をデコーダ１４へ送信する。このように、補間デコーダ・モジュール２４は、エンコーダ１２の支援を受けて、スキップされたフレームを補間する。Ｓフレーム動作情報１８は、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す。ビデオ・エンコーダ１２は、スキップされたフレームと、先行フレーム、後続フレーム、先行フレームおよび後続フレームの両方、あるいは任意の数の隣接フレームとの間の動作を分析することによって、スキップされたフレームの動作情報を推定することができる。このようにして、ビデオ・エンコーダ１２は、スキップされたフレームに関連付けられた情報を生成し、送信する。あるいは、ビデオ・エンコーダ１２は、先行フレームと後続フレームとの間の動作を分析することによって、スキップされたフレームの動作情報を推定することができる。
【００４２】
エンコーダ１２は、通常グローバル動作情報と称される、スキップされた全ビデオ・フレームを示すＳフレーム動作情報１８を生成し送信する。しかしながら、帯域幅要求を低減するために、エンコーダ１２は、オブジェクトベース情報またはローカル動作情報と称されるスキップされたフレームの一部のみについて、Ｓフレーム動作情報１８を生成し、送信する。特に、エンコーダ１２は、スキップされたフレーム内の選択されたビデオ・ブロックの動作を示すＳフレーム動作情報１８を生成しうる。この場合、エンコーダ１２はまた、動作情報に関連付けられたスキップされたビデオ・フレームの、例えばビデオ・ブロックのような部分を記述する位置情報をも生成することができる。従って、動作情報は、アファイン・モデル近似自身のみならず、オブジェクトまたはビデオ・ブロック記述をも含みうる。スキップされたフレームの他のビデオ・ブロックは、特定の動作情報を必要とすることなく、正確に補間されうる。しばしばマクロブロック（ＭＢ）と称されるビデオ・ブロックは一般に、スキップされたフレーム内のピクセルからなる４×４ブロック、８×８ブロック、または１６×１６ブロックである。
【００４３】
更に、エンコーダ１２は、スキップされたフレームをデコーダ１４が補間するのを支援するために、スキップされたフレームに関連付けられたその他の情報を生成し、送信することができる。動作情報に加え、エンコーダ１２は例えば、スキップされたフレーム内で、スキップされたフレームを補間する際に、ビデオ・デコーダ１４によって使用される特定の補間式、または、例えばマクロブロック（ＭＢ）やより小さなブロックのように、選択されたビデオ・ブロックのために使用される特定の補間式を指定する情報を生成し送信することができる。
【００４４】
ビデオ・デコーダ１４は、特に、ビデオ・エンコーダ１２によって送信されたＳフレーム動作情報を認識し利用するように構成されうる。しかしながら、ビデオ・デコーダ１４が、Ｓフレーム動作情報１８を認識するために備えられていないのであれば、この情報は無視され、ビデオ・デコーダ１４によって適用される補間技術に従って補間が進められる。例えば、受け取ったビデオ・フレーム内に埋め込まれたスキップされたフレーム情報を認識するためにビデオ・デコーダ１４が備えられていない場合、ビデオ・デコーダ１４は、スキップされたフレームについて、より正確な動作情報を生成することができる。
【００４５】
その他多くの構成要素もまた、エンコードおよびデコード・システム１０に含まれうるが、簡略化のため、および例示の簡素化のために図１には特に示していない。本明細書に記載の技術は、その他様々なアーキテクチャに従って実施されうるので、図１に例示したアーキテクチャは、単なる典型例である。更に、図１に例示する機能は、ハードウェア構成要素および／またはソフトウェア構成要素の任意の適切な組み合わせによって実現されうる。
【００４６】
図２は、図１のビデオ・デコーダ１４のようなビデオ・デコーダで使用される典型的な補間デコーダ・モジュール３０を図示するブロック図である。補間デコーダ・モジュール３０は、補間フレームを生成するように動作する補間モジュール３２および動作推定モジュール３４を含んでいる。補間モジュール３２は、スキップされたビデオ・フレームを補間するために、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用する。
【００４７】
補間モジュール３２は、ビデオ・エンコーダ１２（図１）から動作情報を取得することができる。上述したように、ビデオ・エンコーダ１２は、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成し、１または複数のビデオ・フレーム内の動作情報をエンコードして、スキップされたビデオ・フレームを補間する補間デコーダ・モジュール３０を支援する。この場合、補間モジュール３２は、スキップされたフレームを補間するために、スキップされたフレームの受け取られた動作情報を適用する。
【００４８】
しかしながら、補間デコーダ・モジュール３０は、スキップされたフレームの動作を示す動作情報を生成する必要があるかもしれない。例えば、ビデオ・エンコーダ１２は、スキップされたフレームの動作情報を送信するか、あるいは、スキップされたフレームの動作情報の一部のみを送信するようには構成されていないかもしれない。あるいは、補間デコーダ・モジュール３０は、送信されたビデオ・フレーム内で、スキップされたフレームの動作情報を認識するように構成されていないかもしれない。何れの場合であれ、動作推定モジュール３４は、スキップされたビデオ・フレームに隣接する１または複数のビデオ・フレームに関連付けられた動作情報を用いて、スキップされたフレームの動作情報の少なくとも一部を生成する。例えば、動作推定モジュール３４は、スキップされたフレームの動作情報を、例えば先行フレーム、先行および後続のフレーム、または２より多い隣接したビデオ・フレームのような１または複数の基準フレームに関連付けられた１または複数の並進動作ベクトルに基づいて生成しうる。更に、動作推定モジュール３４は、スキップされたビデオ・フレームに隣接したビデオ・フレームの並進動作と少なくとも１つのその他の動作パラメータとに基づいて、動作情報を生成しうる。例えば、動作推定モジュール３４は、Ｐフレーム１６の動作情報を生成しうる。
【００４９】
例として、デコーダ１４によって受け取られた先行および後続の基準フレームが、Ｎ個のマクロブロックに細分化され、マクロブロックの各々に関連付けられた並進動作ベクトルを有することができる。動作推定モジュール３４は、基準フレームのマクロブロックに関連付けられた並進動作ベクトルに基づいて、スキップされたビデオ・フレームの並進動作ベクトルを推定する。動作推定モジュール３４は、複数の並進動作ベクトルを用いて、アファイン・モデルのパラメータを推定する。並進動作ベクトルはそれぞれ、２パラメータ方程式（つまり、ｘ１＝ｘ２＋ａ、ｙ１＝ｙ２＋ｃ））に相当する。１つの実施形態では、動作推定モジュール３４は、３つほどの並進動作ベクトルを用いて、アファイン動作モジュールに基づいて、動作情報を生成しうる。しかしながら、動作推定モジュール３４は、一般に、３を越える並進動作ベクトルを持つだろう。複数の並進動作ベクトルからアファイン動作パラメータを導出するために、様々な数学的モデルが適用されうる。動作推定モジュール３４は、例えば、最小二乗推定を用いて、アファイン動作パラメータを導出することができる。動作推定モジュール３４は、例えば、ピースワイズ・プラナ（piecewise planar）動作ベクトルフィールド近似の性能が最も低いことに基づいて、アファイン・モデルを推定することができる。
【００５０】
あるいは、動作推定モジュール３４は、スキップされたフレーム内の特定のオブジェクトまたはマクロブロックのように、スキップされたフレームの一部のみについて動作を推定することができる。この場合、動作推定モジュール３４は、スキップされたフレームの全てのマクロブロックのための並進動作ベクトルを生成する。動作推定モジュール３４は、上述したような並進動作ベクトルから、アファイン動作モデル・パラメータを近似する。各マクロブロックは、生成されたアファイン動作モデルを用いて、ピクセル毎ピクセル・ベースで再構築される。更に、各マクロブロックは、アファイン動作パラメータを近似するために使用される並進動作ベクトルを用いて再構築される。アファイン動作モデル・パラメータを用いて再構築されたマクロブロックの歪みは、並進動作ベクトルを用いて再構築された対応するマクロブロックと比較される。この歪みが、予め定めたしきい値より上にある場合、このアファイン動作モデルは、大きな歪みに関連付けられたマクロブロックを正確に近似していないと判定され、このマクロブロックが、オブジェクトから取り除かれる。言い換えれば、アファイン・モデル推定は、特定のマクロブロックには当てはまらないと認められる。再構築された全てのマクロブロック間の歪みを分析した後、アファイン動作モデル・パラメータは、しきい値よりも下の歪み値を持っている、フレーム内のマクロブロックにのみ当てはまると判定される。
【００５１】
図３は、ビデオ・デコーダで使用される他の典型的な補間デコーダ・モジュール３６を図示するブロック図である。補間デコーダ・モジュール３６は、図２の補間デコーダ・モジュール３０に実質的に一致するが、この補間デコーダ・モジュール３６は、並進動作と少なくとも１つのその他の動作パラメータとに基づく動作情報を、並進動作のみに基づく動作情報へ変換する動作情報変換モジュール３８を含む。並進動作と少なくとも１つのその他の動作パラメータとに基づく動作情報を、並進動作ベクトルへ変換することによって、並進動作ベクトルのみを用いて動作補償を行うハードウェア・コンフィグレーションおよび／またはソフトウェア・コンフィグレーションを構成するビデオ・デコーダにおいて、より正確な動作情報を用いることが可能となる。
【００５２】
動作情報変換モジュール３８は、動作推定モジュール３４から、または、エンコーダ１２によって送信されたスキップされたビデオ・フレームに隣接した１または複数のフレームから、スキップされたフレームの動作を示す動作情報を得る。並進動作と少なくとも１つのその他の動作パラメータとに基づいた動作情報を、並進動作のみに基づいた動作情報に変換するために、動作情報変換モジュール３８は、スキップされたフレームの動作情報に基づいて、興味のあるブロック内の１または複数のピクセルについて、並進動作ベクトルを生成する。動作情報変換モジュール３８は、例えば、動作のアファイン・モデル近似に、ピクセルの座標を入力することによって、ピクセルの各々について、並進動作ベクトルを生成しうる。言い換えれば、アファイン・モデル近似の出力は、特定のピクセルに関連付けられた動作ベクトルである。
【００５３】
動作情報変換モジュール３８は、興味のあるブロックについて、単一の動作ベクトルを生成するために、ピクセルに関連付けられた並進動作ベクトルをマージする。動作情報変換モジュール３８は、例えば、平均化演算、メジアン演算、またはその他の類似の数学的演算を用いて、ピクセルの並進動作ベクトルをマージすることができる。動作情報変換モジュール３８は、幾つかのより小さなサイズ・ブロックについて動作ベクトルを反復的に生成することによって、より大きなサイズのブロックについての並進動作ベクトルを生成することができる。動作情報変換モジュール３８は、例えば、幾つかの２×２ブロックについて並進動作ベクトルを反復的に生成し、次に、２×２ブロックからなる動作ベクトルをマージすることによって、８×８ブロックの動作ベクトルを生成する。
【００５４】
この変換技術は、一般的のみの目的用である。動作情報変換モジュール３８は、並進動作と少なくとも１つのその他の動作パラメータとに基づく動作情報を、並進動作ベクトルへ変換するその他の変換技術を利用することもできる。例えば、動作情報変換モジュール３８は、アファイン・モデル動作情報に基づいて、興味のあるブロック内の１または複数のピクセルについて、並進動作ベクトルを生成することができる。動作情報変換モジュール３８は、ピクセル変換動作ベクトルを選択し、選択されたピクセル変換動作ベクトルを、興味のあるブロックの並進動作ベクトルを出力する動作推定モジュールのためのシード動作ベクトルとして用いる。例えば、興味のあるマクロブロックの中心ピクセルの並進動作ベクトルは、マクロブロックのためにシードされた動作ベクトルとして使用することができる。動作予測は、マクロブロックの中心ピクセルに関連付けられた動作ベクトルから始まる。従って、シード動作ベクトルは、ある探索範囲内の初期探索点の役割をする。アファイン・モデルは、周囲の動作ベクトルと同様に、中心ピクセルの動作ベクトルを用いて、最小２乗フィッティング・アルゴリズムによって推定されうる。
【００５５】
動作情報を並進動作ベクトルに変換することによって、並進動作ベクトルのみを用いて動作補償を実施するハードウェア・コンフィグレーションおよび／またはソフトウェア・コンフィグレーションを適用するビデオ・デコーダにおいて本開示の技術を実現することが可能となる。並進動作と少なくとも１つのその他の動作パラメータとに基づいて動作を示す動作情報は使用されないが、適用される並進動作ベクトルはより正確である。なぜなら、それらは、例えばアファイン動作モデル近似のようなより正確な動作情報に基づいて生成されるからである。
【００５６】
図４は、例えば図１のビデオ・エンコーダ１２のようなビデオ・エンコーダで使用されるフレーム処理モジュール４０を例示するブロック図である。フレーム処理モジュール４０は、フレーム・タイプ判定モジュール４２、スキップ・フレーム分析モジュール４４、およびフレーム・アセンブリ・モジュール４６を含んでいる。スキップ・フレーム分析モジュール４４は更に、動作推定モジュール４８および位置推定モジュール５０を含んでいる。一般に、スキップ・フレーム分析モジュール４４は、スキップされるフレームを分析し、スキップされるフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する。この生成された動作情報は、１または複数のビデオ・フレーム内で送信され、デコーダ１４が、スキップされたフレームを、改善された精度で補間することを支援する。
【００５７】
フレーム・タイプ判定モジュール４２は、到来するビデオ情報が、例えばＩフレーム、Ｐフレーム、Ｂフレームのようなフレームでエンコードされるべきか、あるいはスキップされるべきかを判定する。フレーム・タイプ判定モジュール４２は、伝送チャネル１５（図１）を介した帯域幅維持のため、符号化される全情報量を低減するように設計された一様または非一様のフレーム・スキップ機能に部分的に基づいて、フレームをスキップすることを判定することができる。例えば、フレーム・タイプ判定モジュール４２は、ｎフレーム毎にスキップしたり、１または複数の動的スキップ基準に基づいてフレームをスキップすることができる。フレーム・タイプ判定モジュール４２は、フレーム・アセンブリ・モジュール４６にフレーム判定を伝える。
【００５８】
スキップ・フレーム分析モジュール４４は、スキップされたフレームの動作を示す動作情報を生成する。スキップ・フレーム分析モジュール４４は、動作推定情報および／または位置情報を生成しうる。これら各々は、スキップされたフレームの補間を行うデコーダを支援するために、デコーダによって提供されるスキップ・フレーム動作情報の一部を形成しうる。特に、動作推定モジュール４８は、例えばアファイン動作モデルに基づく動作情報のように、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する。動作推定モジュール４８は、例えば、図１の先行フレームＦ１および後続フレームＦ３のようなスキップされたフレームに隣接する１または複数のビデオ・フレームと、スキップされたフレームとの間の動作に基づいて、動作情報を生成しうる。あるいは、動作推定モジュール４８は、先行フレームＦ１と後続フレームＦ３との間の動作に基づいて、動作情報を生成しうる。
【００５９】
動作推定モジュール４８は、スキップされたフレーム全体の動作を示す動作情報を生成しうる。例えば、スキップされるフレームと、先行基準フレームとが、Ｎ個のマクロブロックへ細分化されうる。動作推定モジュール４８は、先行フレーム、およびスキップされるフレームのマクロブロックの各々の間の並進動作を計算しうる。並進動作ベクトルはそれぞれ、２つのパラメータ方程式（つまりｘ１＝ｘ２＋ａ、ｙ１＝ｙ２＋ｃ）に相当する。動作推定モジュール４８は、先行するフレームおよびスキップされたフレームを用いて計算された並進動作ベクトルに基づいて、スキップされたビデオ・フレーム全体のアファイン動作情報を生成する。動作推定モジュール４８は、３つほどの並進動作ベクトルを用いて、アファイン動作モジュールに基づいて動作情報を生成しうる。例えば最小２乗推定のような複数の並進動作ベクトルからアファイン動作パラメータを導出するために、様々な数学的モデルを適用することができる。この場合、生成された動作情報は、スキップされたフレーム全体に適用されるので、位置推定モジュール５０は、位置情報を生成する必要はないかもしれない。
【００６０】
あるいは、動作推定モジュール４８は、スキップされたフレーム内の特定のオブジェクトまたはビデオ・ブロックのための動作を示す動作情報を生成することができる。言い換えれば、動作推定モジュール４８によって生成された動作情報は、フレーム内のマクロブロックの各々に適用することができないが、フレームの一部にのみ適用することができる。この場合、位置推定モジュール５０は、生成された動作情報に関連付けられたスキップされたビデオ・フレームのビデオ・ブロックまたはオブジェクトのような部分を記述する位置情報を生成する。位置推定モジュール５０は、例えば、ローカルな動作情報があてはまるオブジェクトまたは特定のビデオ・ブロックの境界を示すバイナリ・ビットマップを生成しうる。位置推定モジュール５０は、生成されたアファイン動作モデルを用いて、ピクセル毎ベースでマクロブロックの各々を再構築する。位置推定モジュール５０は、同時に、アファイン動作パラメータを近似するために使用される並進動作ベクトルを用いて、マクロブロックの各々を再構築する。位置推定モジュール５０は、アファイン動作モデル・パラメータを用いて再構築されたマクロブロックまたはピクセルと、並進動作ベクトルを用いて再構築された対応するマクロブロックまたはピクセルとの間の歪みを比較する。歪みが予め定めたしきい値よりも上にある場合、アファイン動作モデルは、大きな歪みに関連付けられたマクロブロックを正確に近似しないものと判定され、オブジェクトからマクロブロックが取り除かれる。言い換えれば、アファイン変換モデル推定は、特定のマクロブロックまたはピクセルには当てはまらないことが認められる。再構築された全てのマクロブロック間の歪みを分析した後、しきい値よりも低い歪み値を有するフレーム内にマクロブロックを適用することのみのために、アファイン動作モデル・パラメータが決定される。位置推定モジュール５０は、ローカル動作情報が当てはまるピクセルまたはブロックの境界を示すバイナリ・ビットマップを生成しうる。位置情報で識別されないビデオ・ブロックまたはオブジェクトは、特定の動作情報のための潜在的な必要性無しで補間されうる。
【００６１】
別の実施形態では、動作推定モジュール４８は、スキップされたフレームの動作を示す動作推定情報を生成できない。しかしながら、位置推定モジュール５０は、動作情報が動作推定モジュール４８によって生成されたのであれば当てはまるスキップされたフレームの部分を識別する位置情報を生成することができる。このように、デコーダ１４は、スキップされたフレームの動作を示す動作情報を生成するが、エンコーダは、デコーダが、生成された動作情報を適用するオブジェクトまたはマクロブロックを示す動作情報を提供することによって、スキップされたフレームを補間することを支援する。
【００６２】
フレーム・アセンブリ・モジュール４６は、動作情報、ブロック・モード、係数、および、ビデオ・デコーダ１４（図１）が、ビデオ情報のフレームをデコードし表すことを可能にするのに十分なその他の情報を用いてエンコードされたフレームとして指定されたビデオ情報をエンコードする。フレーム・アセンブリ・モジュール４６は、実際には、スキップされたフレームとしてフレーム・タイプ判定モジュール４２によって指定された到来ビデオ情報をエンコードも送信もしない。代わりに、フレーム・アセンブリ・モジュール４６は、スキップされたフレームをビデオ・デコーダが補間するのを支援するために、ビデオ・デコーダへ送信される１または複数のビデオ・フレームにおいて、スキップ・フレーム分析モジュール４４から受け取った動作情報をエンコードする。フレーム・アセンブリ・モジュール４６は、スキップされたフレームに先行または後続するＰフレーム１６（図１）内のように、１または複数のエンコードされたフレーム内に、スキップされたフレームの動作情報を埋め込むことができる。言い換えれば、フレーム・アセンブリ・モジュール４６は、スキップされていないビデオ・フレーム内に、スキップされたフレームのための動作情報を埋め込むことができる。あるいは、フレーム・アセンブリ・モジュール４６は、スキップされたフレーム動作情報に専用であって、Ｐフレームとは独立して送信されるビデオ・フレーム内に、スキップされたフレームの動作情報を埋め込むことができる。
【００６３】
図５は、スキップされたビデオ・フレームの動作を、例えばビデオ・デコーダ１４のように、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を用いて、スキップされたビデオ・フレームを補間するデコーダの典型的な動作を例示するフローチャートである。デコーダ１４は、ビデオ・エンコーダから、複数のデジタル・ビデオ・フレームを受け取る（５２）。デコーダ１４は、例えば、エンコーダから１または複数のＩフレーム、ＰフレームおよびＢフレームを受け取ることができる。
【００６４】
デコーダ１４は、スキップされたビデオ・フレームの動作を示す動作情報の受け取られたフレームを分析する（５４）。デコーダ１４は、スキップされたフレームの動作情報を含むフレームを示すフレーム内で、特定のタイプのフレームまたはヘッダ情報を識別するように構成されうる。
【００６５】
デコーダ１４が、受け取られたフレーム内のスキップされたフレームについて動作情報を識別しないか、または、スキップされたフレームの不完全な動作情報を識別するのであれば、デコーダ１４は、スキップされたフレームの動作情報を生成する（５６）。デコーダ１４は、受け取られたフレーム内に埋め込まれたスキップされたフレームの動作情報を識別するように構成されないかもしれない。あるいは、エンコーダは、スキップされたフレームのどの動作情報も送信しないかもしれないし、または、上述したような位置情報のみを送信するかもしれない。デコーダ１４は、例えば、先行するフレーム、先行するフレームおよび後続するフレーム、または２を超える隣接するビデオ・フレームのようなスキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報を用いて、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する。例えば、デコーダ１４は、先行する基準フレームのマクロブロックに関連付けられた並進動作ベクトルを用いて、アファイン・モデルの係数を近似することができる。
【００６６】
次に、デコーダは、並進動作と少なくとも１つのその他の動作パラメータとに基づいて動作を示す動作情報を、並進動作ベクトルへ変換するかを判定する（５８）。デコーダ１４が、アファイン動作モデルに基づいて動作を示す動作情報を適用するように構成されているのであれば、デコーダ１４は、スキップされたフレームの動作情報を変換せず、代わりに、並進動作と少なくとも１つのその他の動作パラメータとに基づいて動作を示す動作情報を適用して、スキップされたフレームを補間する（６０）。
【００６７】
デコーダ１４が、アファイン動作モデルと少なくとも１つのその他の動作パラメータとに基づいて動作を示す動作情報を適用するように構成されていないのであれば、デコーダ１４は、動作情報を、並進動作ベクトルへ変換する（６２）。デコーダ１４は、例えば、並進動作補償のみを実行するように構成される。この場合、デコーダ１４は、スキップされたフレームの動作情報を、並進動作のみに基づく動作情報に変換する。デコーダ１４は、例えば、アファイン動作情報に基づいて、興味のあるブロック内の１または複数のピクセルの並進動作ベクトルを生成し、生成されたピクセルの並進動作ベクトルをマージして、興味のあるブロックの動作ベクトルを生成する。デコーダ１４は、スキップされたフレームの１または複数のマクロブロックまたはスキップされたフレームを補間するために、並進動作を適用する（６４）。このように、本開示の技術は、１または複数の正確な動作情報に基づいて生成される動作ベクトルを用いることによって、補間精度を改善しながら、並進動作補償のみを実行するビデオ・デコーダで利用されうる。
【００６８】
図６は、エンコーダ１２のように、スキップされたフレームの一部の動作情報をアファイン動作モデルに基づいて生成するエンコーダの典型的動作を例示するフロー図である。先ず、エンコーダ１２は、スキップされたフレームを、固定サイズのブロックへ分割し、固定サイズのブロックにおける並進動作推定を実行する（７０）。並進動作推定は、ブロックの各々に関連付けられた１または複数の動作ベクトルを提供する。エンコーダ１２は、例えば、フレームをＮ個のマクロブロックへ分割し、これらマクロブロックと、１または複数の隣接フレームのマクロブロックとの間の並進動作を示す動作ベクトルを計算する。
【００６９】
エンコーダ１２は、並進動作ベクトルに対する動作ベクトル処理を実行する（７２）。動作ベクトル処理によって、例えば、異常なベクトルを取り除くことができる。もしもＮ個の並進動作ベクトルのうちの１つが、その他のＮ−１個の並進動作ベクトルの逆の方向を示すのであれば、著しく異なる動作ベクトルを取り除くことができる。エンコーダ１２は、動作ベクトルをマージする（７４）。エンコーダ１２は、動作ベクトルを平均化し、メジアン動作ベクトルの計算またはその他の算術演算を行うことによって、動作ベクトルをマージすることができる。このように、エンコーダ１２は、マクロブロック全体について単一の動作ベクトルを生成することができる。例えば、エンコーダ１２が、マクロブロックについて１６の４×４の動作ベクトルを生成する場合、エンコーダ１２は、それらを平均化して、１６×１６のマクロブロックについて単一の動作ベクトルを生成する。このように、最小２乗フィッティングされる動作ベクトルが少なくなり、アファイン推定処理が単純化される。更に、動作ベクトルをマージすることはまた、動作ベクトルへ平滑化し、マクロブロック内の不規則な動作ベクトルを取り除く。
【００７０】
エンコーダ１２は、並進動作ベクトルに基づいて、スキップされたフレームのためのアファイン動作モデル・パラメータを推定する（７６）。上述したように、エンコーダ１２は、３またはそれ以上の並進動作ベクトルの最小２乗推定を見つけることによって、複数の並進動作ベクトルから、アファイン動作パラメータを導出する。
【００７１】
エンコーダ１２は、推定されたアファイン動作モデルが当てはまる特定のオブジェクト、マクロブロック、またはピクセルを識別するために、動作ベースのオブジェクト細分化を実行する（７８）。上記に詳述したように、エンコーダ１２は、生成されたアファイン動作モデルを用いて、ピクセル毎ベースで各マクロブロックを再構築し、アファイン動作パラメータを近似するために使用される並進動作ベクトルを用いて、マクロブロックの各々を同時に再構築し、アファイン動作モデル・パラメータを用いて再構築されたピクセルまたはマクロブロックと、並進動作ベクトルを用いて再構築されたピクセルまたはマクロブロックとの間の歪みを比較する。この歪みが、予め定めたしきい値より高いのであれば、アファイン動作モデルは、マクロブロックまたはピクセルを正確に近似しないものと判定され、マクロブロックがオブジェクトから取り除かれる。大きな歪みを持つ全てのマクロブロックまたはピクセルを取り除いた後の、残りのオブジェクト、マクロブロックまたはピクセルは、動作情報が当てはまるピクセルである。エンコーダ１２は、これら残りのオブジェクト、マクロブロックまたはピクセルを記述する位置情報を生成することができる。
【００７２】
エンコーダ１２は、エロージョンおよびダイレーション（dilation）を行なう（８０）。エロージョンおよびダイレーションは、オブジェクトの輪郭を滑らかにし、小さなホールを充填し、小さな突出部／オブジェクトを除去する。特に、ダイレーションによって、オブジェクトは拡大され、これによって、小さなホールが充填され、ばらばらなオブジェクトが結合される。一方、エロージョンは、それらの境界をエッチングすることにより、オブジェクトを小さくする。
【００７３】
エンコーダ１２は、識別されたオブジェクトに属するマクロブロックからの並進動作情報に基づいてアファイン動作モデルを更新する（８２）。そして、エンコーダ１２は、より正確なアファイン動作推定を得るために、もう一度反復を行なうべきかを判定する（８４）。エンコーダ１２は、例えば、特定回数の反復を実行することができる。この場合、エンコーダは、反復回数を追跡し、指定された数の反復が実行されるまで、反復の実行を継続することができる。しかしながら、一般に、２回あるいは３回の反復の後では、顕著なアファイン・モデル推定の改善は得られない。
【００７４】
例えば、エンコーダが、特定回数の反復を実行した後のように、エンコーダ１２が、アファイン動作モデルに基づいて動作情報を生成した後、エンコーダ１２は、オブジェクト記述子を生成する（８６）。オブジェクト記述子は、動作情報に関連付けられたフレーム内のオブジェクトの位置を識別する位置情報を記述する。上述したように、エンコーダ１２は、動作情報が当てはまる特定のビデオ・ブロックまたはオブジェクトの境界を示すバイナリ・ビットマップを生成しうる。デコーダ１４は、この動作情報を、オブジェクト記述子で識別されたマクロブロックまたはオブジェクトに適用する。オブジェクト記述子で識別されたビデオ・ブロックまたはオブジェクトは、特定の動作情報に対する潜在的な必要性なく補間されうる。
【００７５】
図７は、スキップされたフレームのための動作を並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を、並進動作のみに基づく動作情報へ変換するデコーダの典型的動作を例示するフロー図である。例えば、デコーダは、アファイン動作モデルに基づいて動作を示す動作情報を、並進動作ベクトルへ変換することができる。例えば、デコーダ１４の動作情報変換モジュール３８（図２）のような動作情報変換モジュールは、アファイン動作モデルに基づいて動作を示す動作情報を受け取る（９０）。動作情報変換モジュール３８は、例えば、動作予測モジュール７２から、あるいは、エンコーダ１２によって送信された１または複数のフレームから、スキップされたフレームの動作情報を受け取ることができる。
【００７６】
動作情報変換モジュール３８は、アファイン動作モデルに基づいて、興味のあるブロック内の１または複数のピクセルの並進動作ベクトルを生成する（９２）。動作情報変換モジュール３８は、例えば、ピクセルの座標を、アファイン・モデル近似に入力することによって、および、アファイン・モデル近似の出力を、特定のピクセルに関連付けられた動作ベクトルとして用いることによって、ピクセルの各々の並進動作ベクトルを生成することができる。
【００７７】
動作情報変換モジュール３８は、ブロック全体について単一の動作ベクトルを生成するために、興味のあるブロック内の複数のピクセルの生成された並進動作ベクトルをマージする（９４）。動作情報変換モジュール３８は、例えば、平均化演算、メジアン演算、またはその他の類似の数学的演算を用いて、ピクセルの並進動作ベクトルをマージすることができる。動作情報変換モジュール３８は、生成されたブロック動作ベクトルについて１または複数の後処理演算を実行することができる（９６）。動作情報変換モジュール３８は、動作ベクトル分類、動作ベクトル・レイバリング（laboring）、異常選択、および、ウィンドウ・ベースの動作ベクトル平滑化を実行しうる。例えば、動作情報変換モジュール３８は、他の並進動作ベクトルと極めて異なる動作ベクトルを除去することによって、異常な動作ベクトルを取り除くことができる。
【００７８】
動作情報変換モジュール３８は、ブロック動作ベクトルを補間モジュール６８（図３）へ出力し、スキップされたフレームの特定のマクロブロックまたはスキップされたビデオ・フレームの補間を支援する（９８）。動作情報を並進運動ベクトルに変換することによって、並進動作補償のみを実施するハードウェア構成および／またはソフトウェア構成を構成するビデオ・デコーダにおいて、本開示の技術を実施することが可能となる。並進運動と少なくとも１つのその他の動作パラメータとに基づいて動作を示す動作情報が使用されないが、適用される並進運動ベクトルはより正確である。なぜなら、それは、アファイン動作モデルを用いて推定された動作情報に基づいて生成されるからである。
【００７９】
上述したように、動作情報変換モジュール３８は、幾つかのより小さなサイズのブロックの並進動作ベクトルを反復的に生成し、より大きなサイズのブロックの動作ベクトルを生成するために、これら動作ベクトルを合成することができる。動作情報変換モジュール３８は、例えば、幾つかの２×２ブロックについて、並進動作ベクトルを反復的に生成し、その後、２×２ブロックの動作ベクトルをマージすることによって、８×８ブロックの動作ベクトルを生成することができる。
【００８０】
図８は、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータに基づいて示す動作情報を適用するように構成されたビデオ・エンコードおよびデコード・システム１００を例示するブロック図である。システム１００は、伝送チャネル１０６によって接続されたエンコード・モジュール１０２とデコード・モジュール１０４とを含む。例えばビデオ・シーケンスのようなエンコードされたマルチメディア・シーケンスは、通信チャネル１０６を介してエンコード・モジュール１０２からデコード・モジュール１０４へと送られうる。エンコード・モジュール１０２は、エンコーダを備えることができ、マルチメディア・データをエンコードおよび送信することができるデジタル・ビデオ・デバイスの一部を形成することができる。同様に、デコード・モジュール１０４は、デコーダを備えることができ、マルチメディア・データをデコードおよび受け取ることができるデジタル・ビデオ・デバイスの一部を形成することができる。
【００８１】
エンコード・モジュール１０２は、スキップされたフレームの動作情報を生成する動作情報生成モジュール１０８と、１または複数のフレームにおいて生成された動作情報を、デコード・モジュール１０４へ送るためにエンコードするフレーム・アセンブル・モジュール１１０とを含み、デコード・モジュール１０４が、スキップされたフレームを補間することを支援する。特に、動作情報生成モジュール１０８は、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を推定する。更に、動作情報生成モジュール１０８は、動作推定処理の一部として位置情報を生成することができる。位置情報は、動作情報が当てはまるスキップされたフレームの特定のオブジェクトまたはマクロブロックを記述することができる。動作情報生成モジュール１０８は、動作推定モジュールと位置識別モジュールとを含みうる。
【００８２】
デコード・モジュール１０４は、エンコード・モジュール１０２から１または複数のフレームを受け取る受取モジュール１１８を含む。エンコード・モジュール１０２から受け取られたフレームは、動作情報を含みうる。このように、受取モジュール１１８は、１または複数の隣接するビデオ・フレームに関連付けられた動作情報を受け取る。補間モジュール１１６は、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレーム動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用する。補間モジュール１１６は、受取モジュール１１８を経由して、エンコード・モジュール１０２から、スキップされたビデオ・フレームの動作情報を受け取ることができる。あるいは、補間モジュール１１６は、動作情報生成モジュール１１４からのスキップされたフレームから、動作情報の一部または全てを取得することができる。このように、補間モジュール１１６は、動作情報を取得する手段を備えることができる。
【００８３】
動作情報生成モジュール１１４は、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する。動作情報生成モジュール１１４は、スキップされたビデオ・フレームに隣接した１または複数のビデオ・フレームに関連付けられた動作情報に基づいて、スキップされたビデオ・フレームの動作情報を生成することができる。
【００８４】
１つの実施形態では、補間モジュール１１６は、並進動作ベクトルのみを用いて補間を実行する。この場合、デコード・モジュール１０４は、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を、並進動作のみに基づいて動作を示す動作情報へと変換する変換モジュール１１２を含む。言い換えれば、変換モジュール１１２は、スキップされたフレームの動作情報を、並進動作ベクトルへと変換する。１つの実施形態では、変換モジュール１１２は、エンコード・モジュール１０２から動作情報を受け取ることができるので、動作情報を受け取る手段を備えることができる。補間モジュール１１６は、スキップされたビデオ・フレームを補間するために、並進動作ベクトルを適用する。
【００８５】
この開示に従い、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を生成する手段は、フレーム処理モジュール２０（図１）、動作推定モジュール３４（図２または図３）、動作推定モジュール４８（図４）、位置推定モジュール５０（図４）、スキップ・フレーム分析モジュール４４（図４）、動作情報生成モジュール１０８（図８）、動作情報生成モジュール１１４（図８）を備えることができる。同様に、少なくとも１つのビデオ・フレーム内で動作情報をエンコードするフレーム・アセンブリ手段は、フレーム処理モジュール２０（図１）、フレーム・アセンブリ・モジュール（図４）、または、フレーム・アセンブリ・モジュール１１０（図８）を備えることができる。変換手段は、動作情報変換モジュール３８（図３）または変換モジュール１１２（図８）を備えることができる。補間手段は、補間デコーダ・モジュール２４（図１）、補間モジュール３２（図２および図３）、または、補間モジュール１１６（図８）を備えることができる。上記例は例示目的で提供されているが、本開示は、それぞれの手段に相当する構造のその他の事例を含むことができる。
【００８６】
前記した式（１）によって示されるアファイン動作モデルは、並進動作のみならず、回転、シャーリング、およびスケーリングをも近似する。アファイン動作モデルに基づく動作情報は、従来式の並進動作ベクトルの２パラメータ近似ではなく、スキップされたフレームの動作の６パラメータ近似を与える。上述されたように、本開示の技術は、アファイン近似よりも多いまたは少ないパラメータに基づく動作を近似する動作モデルを用いて動作情報を近似することができる。
【００８７】
本明細書に記述された技術は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせで実施されうる。ソフトウェアで実施される場合、本技術は、実行されると上述した方法のうちの１または複数の実行する命令を含むプログラム・コードを備えるコンピュータ読取可能媒体（または機械読取可能媒体）によって部分的に実現される。この場合、コンピュータ読取可能媒体は、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）のようなランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気式または光学式のデータ記憶媒体等を備えることができる。
【００８８】
プログラム・コードは、例えば１または複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向けＩＣ（ＡＳＩＣ）、フィールド・プログラマブル・ロジック・アレイ（ＦＰＧＡ）、またはその他の等化な統合または離散論理回路のような１または複数のプロセッサによって実行されうる。幾つかの実施形態では、本明細書に記載された機能は、エンコードまたはデコードするように構成された専用のソフトウェア・モジュールまたはハードウェア・モジュール内に提供されるか、あるいは、統合式ビデオ・エンコーダ−デコーダ（ＣＯＤＥＣ）内に組み込まれうる。
【００８９】
しかしながら、特許請求の範囲のスコープから逸脱することなく、記述した技術に対して種々の変形例がなされうる。従って、上述した具体的実施形態およびその他の実施形態は、特許請求の範囲のスコープ内である。
【図面の簡単な説明】
【００９０】
【図１】図１は、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用するように構成されたビデオ・エンコードおよびデコード・システムを例示するブロック図である。
【図２】図２は、ビデオ・デコーダで使用される典型的な補間デコーダ・モジュールを図示するブロック図である。
【図３】図３は、ビデオ・デコーダで使用される別の典型的な補間デコーダ・モジュールを図示するブロック図である。
【図４】図４は、ビデオ・エンコーダで使用されるフレーム処理モジュールを図示するブロック図である。
【図５】図５は、スキップされたフレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を用いて、スキップされたビデオ・フレームを補間するデコーダの典型的な動作を例示するフロー図である。
【図６】図６は、スキップされたフレームの一部の動作情報を、アファイン動作モデルに基づいて生成するエンコーダの典型的な動作を例示するフロー図である。
【図７】図７は、スキップされたフレームのための動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を、並進動作のみに基づく動作情報へ変換するデコーダの典型的動作を例示するフロー図である。
【図８】図８は、スキップされたビデオ・フレームを補間するために、スキップされたビデオ・フレームの動作を、並進動作と少なくとも１つのその他の動作パラメータとに基づいて示す動作情報を適用するように構成されたビデオ・エンコードおよびデコード・システムを例示するブロック図である。
【図１】
2009510929.tif 000004
【図２】
2009510929.tif 000005
【図３】
2009510929.tif 000006
【図４】
2009510929.tif 000007
【図５】
2009510929.tif 000008
【図６】
2009510929.tif 000009
【図７】
2009510929.tif 000010
【図８】
2009510929.tif 000011
【国際調査報告】
2009510929.tif 000012
2009510929.tif 000013
2009510929.tif 000014
2009510929.tif 000015
2009510929.tif 000016