(57)【要約】  ２ステージ補間が1/4画素、及びより良い精度を持つフレーム予測サンプルに対し提供される。1/4画素、及びより良い精度の全てのサンプルは、1/8画素精度動きベクトルなど、より高い精度の動きベクトルの使用を可能にするために、バイリニア補間内において、半画素、又は１／整数画素のどちらか一方を使用することができる。動きベクトルがサブ画素グリッド上の全ての可能なサブ画素サンプルを示すことは認められず、むしろそれらのサブ画素サンプルのサブセットを示すことを認めるような方法で、動きベクトルを制限することができる。更に、1/4画素サンプルを得るために使用できる同一の１／整数画素、及び半分画素サンプルを、1/4画素サンプルが接続される1/8画素サンプルを得るために使用することもできる。このため、全ての1/4画素サンプルに対し、動きベクトルは、1/8画素精度の２つの更なる位置／場所を示すことができ、２つの更なる位置／場所は、1/4画素サンプルを得るために使用される同一の半画素、又は整数画素サンプルを使用して計算することができる。従って、任意の動きベクトル精度が、更なる補間ステージを実行すること、又は動きベクトルデータを復号するために設定されたデコーダの複雑度を増加させることの必要性なしに、達成される。
2010524379.tif 000002
【特許請求の範囲】
【請求項１】
ビットストリーム内に符号化された動きベクトルデータの復号方法であって、
画素オフセット・シンタックス要素が前記ビットストリーム内に符号化されていること、及び動きベクトルが少なくとも1/4画素精度を有することを決定するステップ、
前記画素オフセット・シンタックス要素を読み取るステップ、
前記動きベクトルが示す前記少なくとも1/4画素精度を有する第１サンプルの位置を計算するため、前記少なくとも1/4画素精度を有する前記動きベクトルを利用するステップ、及び、
前記第１サンプルより高い画素精度を有する第２サンプルを得るため、部分補間構成アルゴリズムを利用するステップ、
を有する復号方法。
【請求項２】
前記画素オフセット・シンタックス要素が、1/8画素オフセット・シンタックス要素を有し、前記第２サンプルが1/8画素精度サンプルを有する、請求項１に記載の方法。
【請求項３】
前記画素オフセット・シンタックス要素と前記第２サンプルが、1/8画素精度より高い精度を有する、請求項１に記載の方法。
【請求項４】
前記第２サンプルが、前記第１サンプルに関連する少なくとも２つの更なるサンプル位置の１つを表し、該少なくとも２つの更なるサンプル位置のそれぞれが、少なくとも1/4画素精度より高い精度を有する、請求項１に記載の方法。
【請求項５】
前記少なくとも２つの更なるサンプル位置は、１画素サンプル位置、及び半画素サンプル位置の少なくとも１つを使用して計算され、１画素サンプル位置、及び半画素サンプル位置の該少なくとも１つは、少なくとも1/4画素精度を有する前記第１サンプルを決定するために使用されたものと同じサンプル位置である、請求項４に記載の方法。
【請求項６】
前記画素オフセット・シンタックス要素が画素オフセットを表し、該画素オフセットは、前記第２サンプルの位置の表示である、請求項１に記載の方法。
【請求項７】
前記画素オフセット・シンタックス要素が、マクロブロック・ヘッダ内にある別の画素オフセット・シンタックス要素に依存せず、前記画素オフセットが隣接するマクロブロック・ヘッダから予測されない、請求項６に記載の方法。
【請求項８】
前記画素オフセットが隣接するマクロブロックから予測される、請求項６に記載の方法。
【請求項９】
前記画素オフセットが前記ビットストリーム内に符号化された動きベクトルの差分に基づき予測される、請求項６に記載の方法。
【請求項１０】
前記画素オフセットが、該画素オフセットに関連する、少なくとも１つのピクチャ、ピクチャ・グループ、マクロブロック、マクロブロック・グループ、及びブロックに対する動き精度の表示である、請求項６に記載の方法。
【請求項１１】
前記動き精度が少なくとも前記マクロブロックのモードに依存する、請求項１０に記載の方法。
【請求項１２】
前記オフセット・シンタックス要素が別のオフセット・シンタックス要素に依存する場合、拡張された部分補間構成アルゴリズムを利用するステップを更に有する、請求項６に記載の方法。
【請求項１３】
前記動きベクトルが、少なくとも前記第１サンプルと前記第２サンプルを含むサブ画素グリッド上の全ての可能なサブ画素サンプルを示さない、請求項１に記載の方法。
【請求項１４】
請求項１の処理を実行するよう設定されたコンピュータコードを有する、コンピュータ読み取り可能媒体上に搭載されたコンピュータプログラム・プロダクト。
【請求項１５】
プロセッサ、及び
該プロセッサに動作可能に接続されたメモリユニット、
を有する装置であって、該メモリユニットが、
画素オフセット・シンタックス要素がビットストリーム内に符号化されていること、及び該ビットストリーム内に符号化された動きベクトルが少なくとも1/4画素精度を有することを決定するよう構成されたコンピュータコード、
前記画素オフセット・シンタックス要素を読み取るよう構成されたコンピュータコード、
前記動きベクトルが示す前記少なくとも1/4画素精度を有する第１サンプルの位置を計算するため、前記少なくとも1/4画素精度を有する前記動きベクトルを利用するよう構成されたコンピュータコード、及び、
前記第１サンプルより高い画素精度を有する第２サンプルを得るため、部分補間構成アルゴリズムを利用するよう構成されたコンピュータコード、
を有する、装置。
【請求項１６】
前記画素オフセット・シンタックス要素が、1/8画素オフセット・シンタックス要素を有し、前記第２サンプルが1/8画素精度サンプルを有する、請求項１５に記載の装置。
【請求項１７】
前記第２サンプルが、前記第１サンプルに関連する少なくとも２つの更なるサンプル位置の１つを表し、該少なくとも２つの更なるサンプル位置のそれぞれが、少なくとも1/4画素精度より高い精度を有する、請求項１５に記載の方法。
【請求項１８】
前記少なくとも２つの更なるサンプル位置は、１画素サンプル位置、及び半画素サンプル位置の少なくとも１つを使用して計算され、１画素サンプル位置、及び半画素サンプル位置の該少なくとも１つは、少なくとも1/4画素精度を有する前記第１サンプルを決定するために使用されたものと同じサンプル位置である、請求項１７に記載の装置。
【請求項１９】
前記画素オフセット・シンタックス要素が画素オフセットを表し、該画素オフセットは、前記第２サンプルの位置の表示である、請求項１５に記載の装置。
【請求項２０】
前記動きベクトルが、少なくとも前記第１サンプルと前記第２サンプルを含むサブ画素グリッド上の全ての可能なサブ画素サンプルを示すことを制限される、請求項１５に記載の装置。
【請求項２１】
ビットストリーム内に動きベクトルを符号化する方法であって、
最適な１画素精度動きベクトル、及び最適な半画素精度動きベクトルの少なくとも１つを決定するステップ、
前記最適な１画素精度動きベクトル、及び前記最適な半画素精度動きベクトルの前記少なくとも１つに隣接する少なくとも１つの1/4画素精度位置を検索するステップ、
最小コストの動きベクトルが1/4画素精度を有するかを決定するため、コスト関数分析を適用するステップ、
前記最小コストの動きベクトルが1/4画素精度を有することが決定されると、それぞれが1/4画素精度より高い精度を有するサンプルの表示となる少なくとも２つの候補の画素オフセットを検索するステップ、及び、
前記最小コストの動きベクトルの前記少なくとも２つの候補の画素オフセットの少なくとも１つを示す少なくとも１つの画素オフセット・シンタックス要素を前記ビットストリーム内に符号化するステップ、
を有する符号化方法。
【請求項２２】
前記画素オフセット・シンタックス要素が1/8画素オフセット・シンタックス要素を有し、前記サンプルが1/8画素精度サンプルを有する、請求項２１に記載の方法。
【請求項２３】
前記画素オフセット・シンタックス要素と前記サンプルが1/8画素精度より高い精度を有する、請求項２１に記載の方法。
【請求項２４】
前記動きベクトルが１画素位置及び半画素位置の１つを示さないとき、前記画素オフセット・シンタックス要素を送信するステップを更に有する、請求項２１に記載の方法。
【請求項２５】
前記画素オフセット・シンタックス要素が、マクロブロック・ヘッダ内にある別の画素オフセット・シンタックス要素に依存せず、前記画素オフセットが隣接するマクロブロック・ヘッダから予測されない、請求項２１に記載の方法。
【請求項２６】
前記少なくとも２つの候補の画素オフセットが隣接するマクロブロックから予測される、請求項２１に記載の方法。
【請求項２７】
前記少なくとも２つの候補の画素オフセットが、前記ビットストリーム内に符号化された動きベクトルの差分に基づき予測される、請求項２１に記載の方法。
【請求項２８】
該画素オフセットに関連する、少なくとも１つのピクチャ、ピクチャ・グループ、マクロブロック、マクロブロック・グループ、及びブロックに対する動き精度を示すステップを更に有する、請求項２１に記載の方法。
【請求項２９】
少なくとも１つのピクチャ、ピクチャ・グループ、マクロブロック、マクロブロック・グループ、及びブロックが、これらに適用される1/4画素精度を有する事象において、前記画素オフセット・シンタックス要素が送信されない、請求項２８に記載の方法。
【請求項３０】
前記動き精度を示すステップは、少なくとも前記マクロブロックのモードに依存するよう設定される、請求項２８に記載の方法。
【請求項３１】
前記動きベクトルが、少なくとも前記第１サンプルと前記第２サンプルを含むサブ画素グリッド上の全ての可能なサブ画素サンプルを示すことを制限される、請求項２１に記載の方法。
【請求項３２】
請求項２１の処理を実行するよう設定されたコンピュータコードを有する、コンピュータ読み取り可能媒体上に搭載されたコンピュータプログラム・プロダクト。
【請求項３３】
プロセッサ、及び
該プロセッサに動作可能に接続されたメモリユニット、
を有する装置であって、該メモリユニットが、
最適な１画素精度動きベクトル、及び最適な半画素精度動きベクトルの少なくとも１つを決定するよう構成されたコンピュータコード、
前記最適な１画素精度動きベクトル、及び前記最適な半画素精度動きベクトルの前記少なくとも１つに隣接する少なくとも１つの1/4画素精度位置を検索するよう構成されたコンピュータコード、
最小コストの動きベクトルが1/4画素精度を有するかを決定するため、コスト関数分析を適用するよう構成されたコンピュータコード、
前記最小コストの動きベクトルが1/4画素精度を有することが決定されると、それぞれが1/4画素精度より高い精度を有するサンプルの表示となる少なくとも２つの候補の画素オフセットを検索するよう構成されたコンピュータコード、及び、
前記最小コストの動きベクトルの前記少なくとも２つの候補の画素オフセットの少なくとも１つを示す少なくとも１つの画素オフセット・シンタックス要素を前記ビットストリーム内に符号化するよう構成されたコンピュータコード、
を有する、装置。
【請求項３４】
前記画素オフセット・シンタックス要素が1/8画素オフセット・シンタックス要素を有し、前記サンプルが1/8画素精度サンプルを有する、請求項３３に記載の装置。
【請求項３５】
前記画素オフセット・シンタックス要素と前記サンプルが1/8画素精度より高い精度を有する、請求項３３に記載の装置。
【請求項３６】
前記動きベクトルが１画素位置及び半画素位置の１つを示さないとき、前記画素オフセット・シンタックス要素を送信するステップを更に有する、請求項３３に記載の装置。
【請求項３７】
前記動きベクトルが、少なくとも前記サンプルを含むサブ画素グリッド上の全ての可能なサブ画素サンプルを示すことを制限される、請求項３３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ビデオ符号化に関連する。より詳細には、本発明は、符号化の複雑度を増加させることなしに、動き補償予測ビデオ符号化を改善するために、高精度動きベクトルを利用することに関連する。
【背景技術】
【０００２】
本節では、本請求項に記載される本発明の背景、又は状況を提示することを目的とする。ここでの記載は、先行するコンセプトを含むかもしれないが、必ずしも以前に着想された、又は先行されたものではない。従って、ここでの指定がない限り、本節で記載されるものは、本出願の明細書、及び請求項の先行技術ではなく、本節内の含有により先行技術であるとは認められない。
【０００３】
動き補償予測（MCP: Motion Compensated Prediction）は、符号化されたビットストリームのサイズを縮小するために、ビデオ圧縮標準により用いられる技術である。MCPにおいて、現在フレームに対する予測は、先に符号化された（複数の）フレームを用いて形成され、現在と予測されたフレームを表す原信号と予測信号の間の差分のみが符号化され、そしてデコーダに送られる。予測フレームを表す予測信号は、まず、現在フレームをブロック、例えばマクロブロックに分割することにより、そして各ブロックに対して参照フレーム内の最良の一致を探索することにより形成される。この様に、参照フレームに対するブロックの動きが決定され、この動き情報は動きベクトルとしてビットストリーム内に符号化される。デコーダは、ビットストリーム内に符号化された動きベクトルデータを復号することにより、正確な予測フレームを再構築することができる。
【０００４】
動きベクトルは、１画素（full-pixel）精度を持つことに限定されず、小数画素（fractional-pixel）精度を持つこともできる。即ち、動きベクトルは、参照フレームの少数画素の位置／場所を示すことができ、少数画素の場所は、例えば、画像画素「間の」場所として、参照することができる。少数画素の場所においてサンプルを得るために、補間フィルタがMCP処理において使用される。従来のビデオ符号化標準は、補間フィルタを定義することにより、デコーダが、どの様に少数画素精度においてサンプルを得ることができるかを記載している。例えば、MPEG-2において、動きベクトルは、最大で半画素精度を有することができ、半画素の場所におけるサンプルは、１画素の場所における隣接する複数のサンプルの単純な平均により得られる。H.264/AVCビデオ符号化標準は、1/4画素精度までを持つ動きベクトルをサポートする。更に、H.264/AVCビデオ符号化標準において、半画素サンプルは、対称で、分離可能な６タップフィルタの使用を通して得られ、一方、1/4画素サンプルは、最も近い半画素、又は１画素サンプルを平均することにより得られる。
【０００５】
より高精度の動きベクトルを使うことにより、MCP処理において、より良い予測が得られることは知られている。例えば、1/8（８分の１）画素精度を持つ動きベクトルを使用することは、ビデオ符号化システムの符号化効率を高めることができる。しかし、高精度動きベクトルの従来の使用（例えば、文献研究において、及びH.264/AVCビデオ符号化標準の開発の間に考慮されたものとして）は、一般的に、符号化、及び復号の両方の複雑度を増加させ、複雑度の増加は２つの要素を含む。第１の要素は、候補の1/8画素精度位置を検査するために、エンコーダが更なる動き推定のステップを実行しなければならないということである。第２の要素は、1/8画素サンプルを得るために、更なる、そして通常の複雑な補間を実行するために、エンコーダ及びデコーダの両方において必要となる。
【０００６】
例えば、1/8画素精度に対する２つの異なる補間テクニックが、次の参考資料に記載されている。T. Wedi、「H.26L における1/8-pel動きベクトル解像度」、ITU-T Q.15/SG16、doc. Q15-K-21、ポートランド、オレゴンUSA、2000年8月、及び、T. Wedi、「1/8-pel転移ベクトル解像度を持つ複雑度を減じた動き補償予測」、ITU-T Q.6/SG16、doc. VCEG-L20、Eibsee、ドイツ、2001年1月。第１の従来アルゴリズムは、図１に示されているように、フレーム106内で少なくとも1/8画素サンプルを得るために、３ステージの補間処理を使用する。少なくとも半画素、及び1/4画素サンプルが、それぞれ、フレーム102及び104に関して、６タップ（又は、８タップ）フィルタリングを用いて得ることができ、そして1/8画素サンプルがバイリニア（bi-linear）フィルタリングを用いて得られる。具体的には、６タップ又は８タップフィルタリング、例えばフィルタ108とフィルタ110、の２つのインスタンスを利用することができ、更に、バイリニアフィルタリング、例えばフィルタ112、の単一インスタンスが利用できる。この従来アプローチにおいて、例えば、全フレーム100に関して適用される少なくとも２つの直列の６タップ補間を実行するための必要性により、1/4画素、及び1/8画素の両サンプルの補間の複雑度は、H.264/AVCビデオ符号化標準のものより著しく大きい。更に、エンコーダは、効率的な動き推定を実行するため、メモリユニット内に少なくとも1/4画素のアップサンプルされたデータを蓄積する必要がある。
【０００７】
第２のアルゴリズムは、復号の複雑度を減少させるために、1/4及び1/8画素サンプルに対し直接的な補間を用いることを含む。それ故に、直接的な補間は、整数サンプルを使用することによってのみ得られる1/4及び1/8画素サンプルを参照することができる。この様に、長くカスケード接続したフィルタで処理を行う必要はない。この従来のアルゴリズムは、H.264/AVCビデオ符号化標準と同様の復号の複雑度を有する。しかし、このアルゴリズムは、エンコーダの複雑度に関して欠点を有する。これは、動き見積りステージにおいて、エンコーダが、候補の1/4及び1/8画素動きベクトルのそれぞれに対し高い複雑度の補間を実行する必要があるからである。このような高い複雑度の補間を実行することは、符号化処理の複雑度をかなりの量で増加させる。
【０００８】
更なる他の代替は、フレーム符号化処理の前に、1/4及び1/8画素サンプルを事前計算し、これをメモリ内に蓄積することである。しかし、このアプローチは、エンコーダに必要とされるメモリを著しく増加させる。従って、システムと方式は、符号化、及び／又は復号処理の複雑度を増加させず、そしてシステムと方式の符号化効率を増加させる、高い精度の動きベクトルを利用する必要がある。
【発明の概要】
【０００９】
様々な実施例が、1/4画素とより高い精度を持つフレーム予測サンプルに対する２ステージ補間を提供する。即ち、1/8画素精度動きベクトルなど、より高い精度の動きベクトルの使用を可能にするために、1/4画素とより高い精度を有する全てのサンプルが、バイリニア補間内で、半画素、又は全／整数画素のどちらか一方を使用することができる。動きベクトルはサブ画素グリッド上の全ての可能なサブ画素サンプルを示すことを許されず、むしろそれらサブ画素サンプルのサブセットを示すことを許すような方法で、動きベクトルが制限される。更に、1/4画素サンプルを得るために使用することができる同一の１／整数、及び半画素サンプルが、1/4画素サンプルが接続される1/8画素サンプルを得るために使用することもできる。それ故に、全ての1/4画素のサンプルに対し、動きベクトルは、1/8画素精度を持つ２つの更なる場所を示すことができ、２つの更なる場所は、1/4画素サンプルを得るために使用される同一の半、又は整数画素サンプルを用いて計算することができる。従って、任意の動きベクトル精度を、更なる補間ステージを実行する必要性なしに、又は動きベクトルデータを復号するよう設定されたデコーダの複雑度を増加させる必要性なしに達成することができる。
【００１０】
本発明のこれら、及びその他の優位点と特徴、更にそれらの構成と動作の方法は、添付される図画を用いて、以下の詳細な記述から明らかになるであろう。以下に記載する幾つかの図面を通して、似た要素は、似た番号を有する。
【図面の簡単な説明】
【００１１】
【図１】従来の３ステージ補間構成を示す。
【図２】本発明を用いた一般的なマルチメディア通信システムを示す。
【図３】本発明の実施において使用することができるモバイル装置の斜視図である。
【図４】図３のモバイル装置の装置電気回路の概略図である。
【図５】１つの実施例による許可された画素の場所と接続の図表示である。
【図６】別の実施例による許可された画素の場所と接続の図表示である。
【図７】部分補間構成の図表示である。
【図８】１画素、及びサブ画素の場所を示すため、様々な実施例により利用される表記を示す。
【発明を実施するための形態】
【００１２】
図２は、本発明を用いた一般的なマルチメディア通信システムを示す。図２に示されるように、データ・ソース200は、アナログ、非圧縮デジタル、若しくは圧縮デジタルフォーマット、又はこれらフォーマットの何れかの組み合わせによるソース信号を供給する。エンコーダ210は、ソース信号を符号化されたメディアビットストリームに符号化する。エンコーダ210は、オーディオやビデオなど、１より多いメディアタイプを符号化することができ、又は１より多いエンコーダ210が、ソース信号の異なるメディアタイプを符号化するために必要となる。エンコーダ210は、グラフィックやテキストなど、合成的に作られた入力を扱うこともでき、又は合成メディアの符号化されたビットストリームを作ることができる。以下では、記述を単純化するために、１つのメディアタイプの１つの符号化されたメディアビットストリームの処理のみ考慮する。しかし、典型的なリアルタイムのブロードキャストサービスは、幾つかのストリーム（典型的には、少なくとも１つのオーディオ、ビデオ、及びテキストのサブタイトル（sub-titling）ストリーム）を含むことに注意すべきである。また、システムは多くのエンコーダを有することができるが、以下において、一般性を失うことなしに記述を単純化するために、１つのエンコーダ210のみが考慮されることに注意すべきである。
【００１３】
当然のことであるが、ここに含まれるテキストと例は、特に符号化処理について説明しているが、同様の概念と原理が対応する復号処理にも逆に適用されることは、当業者は容易に理解するであろう。
【００１４】
符号化されたメディアビットストリームは記憶装置220へ送られる。記憶装置220は、符号化されたメディアビットストリームを蓄積するため、任意のタイプの大容量メモリを有することができる。記憶装置220内の符号化されたメディアビットストリームのフォーマットは、基本的な自己完結型（self-contained）のビットストリームのフォーマットとでき、あるいは１以上の符号化されたメディアビットストリームは、コンテナファイルの中へカプセル化される。幾つかのシステムは、「生（live）」で実行し、即ち、記憶装置を省略し、符号化されたメディアビットストリームをエンコーダ210から送信器230へ直接転送する。そして、符号化されたメディアビットストリームは、必要に応じて、サーバーとしても言及される送信器230へ転送される。送信で使用されるフォーマットは、基本的な自己完結型のビットストリームフォーマット、パケットストリームフォーマットとでき、又は１以上の符号化されたメディアビットストリームは、コンテナファイル内にカプセル化される。エンコーダ210、記憶装置220、及び送信器230は、同一の物理的装置内に置くことができ、あるいは、それらは別々の装置内に収められる。エンコーダ210と送信器230は、生のリアルタイムコンテンツで動作することができ、この場合、符号化されたメディアビットストリームは、通常、恒久的には蓄積されないが、あるいは、処理遅延、転送遅延、及び符号化されたメディアビットレートの変動を平滑にするために、コンテンツエンコーダ210、及び／又は送信器230内に小時間バッファされる。
【００１５】
送信器230は、通信プロトコルスタックを用いて、符号化されたビットストリームを送る。スタックは、リアルタイム・トランスポート・プロトコル（RTP）、ユーザ・データグラム・プロトコル（UDP）、及びインターネットプロトコル（IP）を含むが、限定はされない。通信プロトコルスタックがパケット志向である時、送信器230は、符号化されたメディアビットストリームをパケットにカプセル化する。例えば、RTPが使用される時、送信器230は、RTPペイロードフォーマットに従い、符号化されたメディアビットストリームをRTPパケットにカプセル化する。典型的には、各メディアタイプは、専用のRTPペイロードフォーマットを有する。システムは、１より多い送信器230を有することができるが、簡単のため、以下の記述は１つの送信器230のみを考慮していることに、再度注意すべきである。
【００１６】
送信器230は、通信ネットワークを介してゲートウェイ240と接続することができる、又は接続されない。ゲートウェイ240は、１つの通信プロトコルスタックによるパケットストリームの別の通信プロトコルスタックへの転換、データストリームの結合と分割（forking）、及び優勢な下り回線ネットワーク条件に従い伝送されるストリームのビットレートを制御するなど、下り回線、及び／又は受信機能力に従ったデータストリームの操作など、様々なタイプの機能を実現できる。ゲートウェイ240の例は、多地点会議制御装置（MCU）、回線交換とパケット交換方式のビデオ電話通信間のゲートウェイ、セルラー上のプッシュトーク（PoC）サーバー、デジタルビデオ・ブロードキャストハンドヘルド（DVB-H）システムのＩＰカプセル化器、又はブロードキャスト送信をホームワイヤレスネットワークに局所的に伝送するセットトップボックスを包含する。RTPが使われる時、ゲートウェイ240はRTPミキサーと呼ばれ、RTP接続の終点として動作する。
【００１７】
システムは、１以上の受信器250を含み、典型的には、受信、復調、及び送信された信号を符号化されたメディアビットストリームにデカプセル化することを可能にする。符号化されたメディアビットストリームは、通常、デコーダ260により更に処理され、その出力は１以上の非圧縮のメディアストリームである。最後に、表示器（renderer）270は、例えば、スピーカー又はディスプレイを用いて、非圧縮メディアストリームを再現する。受信器250、デコーダ260、及び表示器270は、同一の物理的装置内に置くことができ、あるいは、それらは別々の装置内に収められる。
【００１８】
注意すべきこととして、復号されるビットストリームは、実質上、任意のタイプのネットワーク内に位置する遠くの装置から受信される。更に、ビットストリームは、近くのハードウェア又はソフトウェアから受信できる。
【００１９】
ビットレート、復号の複雑度、及び画像サイズに関する拡張性は、異なる機種環境、及びエラーが発生しやすい環境において、望まれる性質である。この性質は、ビットレート、ディスプレイ解像度、ネットワーク・スループット、及び受信装置内のコンピュータ処理能力に対する制約などの制限に対抗するために望まれる。
【００２０】
本発明の通信装置は、限定されるものではないが、符号分割多重接続（CDMA）、GSM（Global System for Mobile Communications）、UMTS（Universal Mobile Telecommunications System）、時分割多元接続（TDMA）、周波数分割多元接続（FDMA）、トランスミッション・コントロールプロトコル／インターネットプロトコル（TCP/IP）、シュートメッセージ・サービス（SMS）、マルチメディアメッセージ・サービス（MMS）、Ｅメール、インスタントメッセージ・サービス（IMS）、ブルートゥース、IEEE 802.11などを含む、様々な伝送技術を用いて通信することができる。通信装置は、限定されるものではないが、無線、赤外線、レーザー、ケーブル接続、及び同類のものを含む様々な媒体を用いて通信することができる。
【００２１】
図３及び４は、本発明がその内部で実施される１つの代表的なモバイル装置１２を示す。しかし、当然のことであるが、本発明は、モバイル装置１２又はその他の電子装置の１つの特定タイプに限定されるものではない。図３及び４内に描写される幾つか又は全ての機能は、図２内で示された幾つか又は全ての機器内に組み込むことができる。
【００２２】
図３及び４のモバイル装置１２は、筺体３０、液晶ディスプレイの形でのディスプレイ３２、キーパッド３４、マイクロホン３６、イヤピース３８、バッテリー４０、赤外線ポート４２、アンテナ４４、本発明の１つの実施例によるUICCの形でのスマートカード４６、カードリーダー４８、無線インターフェース回路５２、コーデック回路５４、制御器５６、及びメモリ５８を有する。個々の回路、及び要素は、例えば、携帯電話のノキアレンジ内で、技術的によく知られている全てのタイプである。
【００２３】
更なる補間ステージを実行する必要なしに、又はデコーダの複雑度を増加させる必要なしに任意の精度を達成するため、様々な実施例が、H.264/AVCビデオ符号化標準で使用されるアルゴリズムなど、従来の２ステージのサブ画素補間アルゴリズムを拡張することができる。即ち、動きベクトルが、1/4画素サンプルを補間するために使用できる１画素と半画素サンプルの間に直接的に位置するそれらの位置／場所のみを示すことを可能にするように、動きベクトルを制限することができる。この結果、サブ画素サンプルは、最も近い1/4画素サンプルが導き出される同一の１画素、及び半画素のサンプルから導き出され、そして更に、サブ画素サンプルは、それら最も近い1/4画素サンプルより高い精度を持つことができる。注意すべきことは、様々な実施例が、H.264/AVCビデオ符号化標準に加えて、その他のビデオ符号化標準により、及び／又は関連して実施することができる。
【００２４】
１つの実施例は、1/8サンプル精度を持つ動きベクトルに対し使用できる。この典型的な実施例において、様々な実施例がH.264/AVC部分補間構成（fractional interpolation structure）に適用される時に、動きベクトルが示すことができる1/8画素サンプルが図５に示される。同様に、別の部分補間構成において、動きベクトルが示すことができる1/8画素サンプルが図6に示され、特に、サブ画素バイリニア補間構成が図７に示される。図５及び６において、1/8画素サンプルは、それぞれ影の円501-524と601-624により示され、隣接する1/4画素サンプルに矢印で接続されるものとして示される。1/4画素サンプルは、図５内で三角形530-541により示され、図６内で三角形630-641により示される。半画素サンプルは、図５及び６内で、それぞれ白の円550-554と650-654により示される。１／整数画素サンプルは、図５及び６内で、それぞれ四角560-563と660-663により示される。
【００２５】
従って、図５及び６は、1/4画素サンプルを得るため使用できる同一の１画素、及び半画素サンプルが、1/4画素サンプルに接続される1/8画素サンプルを得るために、どのように使用できるかを示している。従来の２ステージ補間において、1/4画素は、２つの最も近い半画素、又は整数画素サンプルのバイリニアフィルタリングを用いて計算することができる。様々な実施例によれば、この技術は、1/8画素精度に適用するために拡張できる。即ち、全ての1/4画素サンプルに対し、動きベクトルは、1/8画素精度を持つ２つの更なる位置／場所を示すことができ、２つの更なる場所は、1/4サンプルを得るために使用された同一の半画素、又は１／整数画素サンプルを使用し計算できる。
【００２６】
図５及び６は、各1/4画素におけるこれら２つの更なる場所を示す。例えば、1/8画素サンプル501及び502は、図５内の1/4画素サンプル530に接続される。図６も同様に、例えば、1/4画素サンプル635に接続される1/8画素サンプル608及び612を示す。注意すべきこととして、２つの更なる場所、及び２つの更なる場所の組が接続される元の1/4画素の場所のそれぞれが、１つの実施例において、1/8画素オフセットのシンタックス（syntax）要素で示すことができる。更に注意すべきこととして、例えば、動きベクトルが１画素、及び半画素位置／場所を示していない時、1/8画素オフセットのシンタックス要素の必要性のみが送信される。
【００２７】
１つの実施例に従い、動きベクトルが1/8画素解像度に制限されるため、動きベクトル符号化技術が利用でき、これは従来の符号化技術と異なる。例えば、１画素、半画素、及び1/4画素動きベクトルは、H.264/AVC符号化標準に関して従来的に行われていたものと同様の方法で符号化することができる。しかし、初めに送信された動きベクトルが1/4画素精度を持つ場合、少なくとも１つの1/8画素オフセット（もし存在するなら）を示すために、更なるシンタックス要素を送信することができる。代替として、動きベクトルは、1/8画素精度より高い精度を持つことができ、その場合、シンタックス要素は、より高い精度レベルに適したオフセットを示すことができる。
【００２８】
様々な実施例に従い、上記したオフセットを送信するためのビットを節約（save）できる特定のアプローチが存在する。１つのアプローチは、隣接するマクロブロックからオフセットを予測することを含み、このため、利用される可変長コードを再構成することを含む。別のアプローチは、ビットストリーム内で符号化された動きベクトル差分に基づき、オフセットを予測することを含む（例えば、もしゼロ動きベクトル差分がビットストリーム内で示されるならば、ブロックに対する予測動きベクトルを生成するために使われた動きベクトルから導出されたオフセットを使うことができる）。更に別のアプローチを利用することができ、ピクチャ、ピクチャ・グループ、マクロブロック、マクロブロック・グループ、又はブロックにおける動き精度を示すことができる。例えば、表示をマクロブロック・ヘッダ内に設定することができ、表示は、1/4画素動き精度のみがマクロブロックに対し適用されることを伝達できる。この場合、マクロブロック内の動きベクトルに対し、更なるシンタックスを送信する必要はない。あるいは、表示は、マクロブロックのモードに従い設定することができる。例えば、マクロブロックがただ１つの動きベクトルを持つシナリオにおいて（例えば、動き区間サイズが16x16）、表示は多くのビットを節約せず、そのため回避できる。
【００２９】
1//8画素の正確な動きベクトルをサポートすることができるビデオ符号化システム及び方法の様々な実施例に従う、（複数の）エンコーダ及び（複数の）デコーダにより、及び／又はと共に実行される典型的な処理が以下で詳細に記載される。しかし、注意すべきこととして、様々な実施例は、より良い精度の1/8画素精度で動作するために拡張される。
【００３０】
典型的な復号の動作／アルゴリズムに関して、１つ以上の1/8画素の場所を得ることができる。典型的なエンコーダの動作／アルゴリズムに関して、１つ以上の1/8画素精度の動きベクトルを見つけることができる。注意すべきことは、デコーダ／エンコーダ・アルゴリズムに対して、特定の仮定が立てられるということである。例えば、マクロブロック・ヘッダ内にある別のシンタックス要素への何らかの依存なしで、少なくとも1/8画素オフセット・シンタックス要素が、全ての1/4画素動きベクトルに対し送信されると仮定できる。符号化効率を改善するための依存性がある場合、以下の表１に記載されるアルゴリズムを直接的な方法で拡張できる。更に、1/8画素オフセットが隣接するマクロブロックから予測されないと仮定できる。しかし、隣接するマクロブロックから1/8画素を予測することが望まれる場合、アルゴリズムへの直接的な拡張が再び可能であることに注意すべきである。
【００３１】
典型的な復号動作によれば、動きベクトルが復号された後に、復号された動きベクトルが1/4画素精度に相当する場合、デコーダ、例えばデコーダ260は、1/8オフセットのシンタックス要素を読み出すことができる。1/4画素動きベクトルを用いて、デコーダ260は、動きベクトルが示す1/4画素位置を計算することができる。図８は、以下の表１に示されるアルゴリズムと共に利用される可能な表記の構造を表す。言い換えると、1/4画素場所と1/8画素オフセットを使い、デコーダ260は、関連する1/8画素精度サンプルを得るために、表１に提示される方程式を使用できる。例えば、図８内で示される表記構造は、図５に示される様々な画素場所に適用することができる。即ち、図８の1/4画素場所「a」は、図５の1/4画素場所530と照合することができ、「-1」の1/8画素オフセットは、1/8画素サンプル501と照合することができ、「1」の1/8画素オフセットは、1/8画素サンプル502と照合することができる。注意すべきこととして、以下に記載する方程式／アルゴリズムは、H.264/AVCビデオ符号化標準の部分補間構成、及び図７に示されるサブ画素バイリニア補間構成に適用することできる。しかし、H.241/RCDOを含むが、限定されない部分補間構成の使用に対し、方程式／アルゴリズムを拡張／適用することができる。
【表１】
2010524379.tif 000003
【００３２】
1/8画素動きベクトルを見つけるための典型的な符号化動作によれば、エンコーダ・アルゴリズムは低複雑度に対して最適化できることに注意すべきである。しかし、より良い符号化効率は、希望するのであれば、より高い複雑度の符号化動作を用いて達成することができる。典型的な符号化動作が、最良の１／整数画素及び半画素精度動きベクトルを見つけるために構成される。その後、隣接する1/4画素場所に対して探索が行われる。1/4画素場所に対し、０として1/8画素オフセットの表示を含むように、コスト関数を適切に変更することができる。最も低いコストを与える動きベクトルが1/4分画素精度を持つ場合、表１に示される方程式を用いて、1/8画素オフセット（即ち、-1及び1）の２つの候補に対し探索を終えることができる。注意すべきこととして、この探索において、コスト関数は、1又は-1のどちらか一方としての1/8画素オフセットの表示を含むよう適切に変更できる。
【００３３】
従って、様々な実施例は、1/4画素、及びより高い精度を持つ全てのサンプルに対して２ステージの補間を提供することができる（即ち、全ての1/4画素、及びより高い精度のサンプルは、バイリニア補間において、半画素、及び／又は１／整数画素のどちらか一方を使用する）。これは、上記したように、動きベクトルがサブ画素グリッド上の全ての可能なサブ画素サンプルを示すことは認められず、むしろそれらのサブセットを示すことが認められるように動きベクトルを制限することによって達成できる。
【００３４】
ここに記述される様々な実施例は、方式ステップ又はプロセスの一般的な状況において記載され、ネットワーク化された環境においてコンピュータにより実行されるプログラムコードなど、コンピュータ実行可能な命令を有する、コンピュータ読み取り可能な媒体内に取り入れられるコンピュータプログラム製品により、１つの実施例内で実施できる。コンピュータ読み取り可能な媒体は、制限はされないが、リードオンリー・メモリ（ROM）、ランダムアクセス・メモリ（RAM）、コンパクト・ディスク（CD）、ディーブイディー（DVD）などを含む取り外し可能、及び非取り外し可能記憶装置を有する。一般的に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、要素、データ構造を有する。データ構造と関連するコンピュータ実行可能命令、及びプログラムモジュールは、ここで記載される方式のステップを実行するためのプログラムコードの例を表す。そのような実行可能命令の特定のシーケンス、又は関連するデータ構造は、そのようなステップ又はプロセス内で記述される機能を実施するための対応する行為の例を表す。
【００３５】
本発明の実施例は、ソフトウェア、ハードウェア、アプリケーションロジック、又はソフトウェア、ハードウェア、及びアプリケーションロジックの組み合わせ内に実装できる。ソフトウェア、アプリケーションロジック、及び／又はハードウェアは、例えば、チップセット、携帯装置、デスクトップ、ラップトップ、又はサーバー上に置くことができる。様々な実施例のソフトウェアとウェブ実装は、様々なデータベース探索ステップ又はプロセス、相関ステップ又はプロセス、比較ステップ又はプロセス、及び決定ステップ又はプロセスを遂行するための規則に基づくロジック及びその他ロジックを持つ標準プログラミング技術を持って達成することができる。様々な実施例を、ネットワーク要素、又はモジュール内に全体的に又は部分的に実装することもできる。注意すべきこととして、ここで、及び請求項内で使用される「要素（component）」と「モジュール（module）」という用語は、１以上の行のソフトウェアコードを用いた実装、及び／又はハードウェア実装、及び／又は手動入力を受信するための装置を包含することを意図している。
【００３６】
請求項における制限は、用語「手段（means）」が使用されないイベント内の「機能プラス手段（means plus function）」制限を構成するものとして解釈されるべきではないが、上記の例で記載される個々の、及び特定の構造は、請求項に記載される特定の機能を実行するための手段の代表的な構造を構成するとして理解すべきである。更に、上の記載内の用語「ステップ（step）」の使用は、「機能プラスステップ（step plus function）」制限を構成するものとして、請求項内の任意の特定の制限を解釈するために使用すべきではない。交付済み特許、特許出願、及び非特許文献を含む個々の参照がここで記載され、又は言及される範囲内において、そのような参照は、請求項の範囲を制限するものとして解釈される意図はなく、及び解釈されるべきでない。
【００３７】
実施例の上記記載は、説明と記載を目的として提供された。上記記載は、包括的であることを意図せず、又は開示された正確な形式に本発明の実施例を限定することを意図しておらず、変更と変化は、上記の教示に照らして可能であり、又は様々な実施例の実行から得ることができる。ここで議論される実施例は、様々な実施例の原理と性質を説明するために選択、及び記載され、当業者が様々な実施例内で、及び様々な変更を用いて本発明を利用することを可能にする実際的なアプリケーションは、意図された特定使用に適合する。ここで記載される実施例の特性は、方法、装置、モジュール、システム、及びコンピュータプログラム製品の全ての可能な組み合わせとして結合することができる。
【図１】
2010524379.tif 000004
【図２】
2010524379.tif 000005
【図３】
2010524379.tif 000006
【図４】
2010524379.tif 000007
【図５】
2010524379.tif 000008
【図６】
2010524379.tif 000009
【図７】
2010524379.tif 000010
【図８】
2010524379.tif 000011
【手続補正書】
【提出日】平成21年12月7日(2009.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画素オフセット・シンタックス要素がビットストリーム内に符号化されていること、及び動きベクトルが少なくとも1/4画素精度を有することを決定するステップ、
前記画素オフセット・シンタックス要素を読み取るステップ、
前記少なくとも1/4画素精度を有する前記動きベクトルを利用して、該動きベクトルが示す前記少なくとも1/4画素精度を有する第１サンプルの位置を計算するステップ、及び、
部分補間構成アルゴリズムを利用して、前記第１サンプルより高い画素精度を有する第２サンプルを得るステップ、
を有する方法。
【請求項２】
前記第２サンプルが、前記第１サンプルに関連する少なくとも２つの更なるサンプル位置の１つを表し、該少なくとも２つの更なるサンプル位置のそれぞれが、前記少なくとも1/4画素精度より高い精度を有し、該少なくとも２つの更なるサンプル位置は、１画素サンプル位置、及び半画素サンプル位置の少なくとも１つを使用して計算され、該１画素サンプル位置、及び該半画素サンプル位置の該少なくとも１つは、前記少なくとも1/4画素精度を有する前記第１サンプルを決定するために使用されたものと同じサンプル位置である、請求項１に記載の方法。
【請求項３】
前記画素オフセット・シンタックス要素が画素オフセットを表し、該画素オフセットが前記第２サンプルの位置を表し、該画素オフセットが、隣接するマクロブロックの画素オフセット、前記ビットストリーム内に符号化された動きベクトル差分、及び少なくとも１つのマクロブロックのモードの内の少なくとも１つの少なくとも一部に基づき予測される、請求項１に記載の方法。
【請求項４】
前記画素オフセットが、該画素オフセットに関連する、ピクチャ、ピクチャ・グループ、マクロブロック、マクロブロック・グループ、及びブロックの少なくとも１つにおける動き精度を表す、請求項３に記載の方法。
【請求項５】
請求項１−４のいずれか１項に記載の方法をプロセッサに実行させるための命令を有するコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
プロセッサを有する装置であって、該プロセッサが、
画素オフセット・シンタックス要素がビットストリーム内に符号化されていること、及び該ビットストリーム内に符号化された動きベクトルが少なくとも1/4画素精度を有することを決定し、
前記画素オフセット・シンタックス要素を読み取り、
前記少なくとも1/4画素精度を有する前記動きベクトルを利用して、該動きベクトルが示す前記少なくとも1/4画素精度を有する第１サンプルの位置を計算し、及び、
部分補間構成アルゴリズムを利用して、前記第１サンプルより高い画素精度を有する第２サンプルを得る、
ように構成される、装置。
【請求項７】
前記第２サンプルが、前記第１サンプルに関連する少なくとも２つの更なるサンプル位置の１つを表し、該少なくとも２つの更なるサンプル位置のそれぞれが、前記少なくとも1/4画素精度より高い精度を有し、該少なくとも２つの更なるサンプル位置は、１画素サンプル位置、及び半画素サンプル位置の少なくとも１つを使用して計算され、該１画素サンプル位置、及び該半画素サンプル位置の該少なくとも１つは、前記少なくとも1/4画素精度を有する前記第１サンプルを決定するために使用されたものと同じサンプル位置である、請求項６に記載の装置。
【請求項８】
前記画素オフセット・シンタックス要素が画素オフセットを表し、該画素オフセットが前記第２サンプルの位置を表し、該画素オフセットが、隣接するマクロブロックの画素オフセット、前記ビットストリーム内に符号化された動きベクトル差分、及び少なくとも１つのマクロブロックのモードの内の少なくとも１つの少なくとも一部に基づき予測される、請求項６に記載の装置。
【請求項９】
最適な１画素精度動きベクトル、及び最適な半画素精度動きベクトルの少なくとも１つを決定するステップ、
前記最適な１画素精度動きベクトル、及び前記最適な半画素精度動きベクトルの前記少なくとも１つに隣接する少なくとも１つの1/4画素精度位置を検索するステップ、
最小コストの動きベクトルが1/4画素精度を有するかを決定するため、コスト関数分析を適用するステップ、
前記最小コストの動きベクトルが1/4画素精度を有することが決定されると、それぞれが前記1/4画素精度より高い精度を有するサンプルを表す少なくとも２つの候補の画素オフセットを検索するステップ、及び、
前記最小コストの動きベクトルと共に、前記少なくとも２つの候補の画素オフセットの少なくとも１つを示す少なくとも１つの画素オフセット・シンタックス要素をビットストリーム内に符号化するステップ、
を有する方法。
【請求項１０】
前記動きベクトルが１画素位置及び半画素位置の１つを示さないとき、前記画素オフセット・シンタックス要素を送信するステップを更に有する、請求項９に記載の方法。
【請求項１１】
前記少なくとも２つの候補の画素オフセットが、隣接するマクロブロック、前記ビットストリーム内に符号化された動きベクトル差分、及び少なくとも１つのマクロブロックのモードの内の少なくとも１つから予測される、請求項９に記載の方法。
【請求項１２】
請求項９−１１のいずれか１項に記載の方法をプロセッサに実行させるための命令を有するコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
プロセッサを有する装置であって、該プロセッサが、
最適な１画素精度動きベクトル、及び最適な半画素精度動きベクトルの少なくとも１つを決定し、
前記最適な１画素精度動きベクトル、及び前記最適な半画素精度動きベクトルの前記少なくとも１つに隣接する少なくとも１つの1/4画素精度位置を検索し、
最小コストの動きベクトルが1/4画素精度を有するかを決定するため、コスト関数分析を適用し、
前記最小コストの動きベクトルが1/4画素精度を有することが決定されると、それぞれが前記1/4画素精度より高い精度を有するサンプルを表す少なくとも２つの候補の画素オフセットを検索し、及び、
前記最小コストの動きベクトルと共に、前記少なくとも２つの候補の画素オフセットの少なくとも１つを示す少なくとも１つの画素オフセット・シンタックス要素をビットストリーム内に符号化する、
ように構成される、装置。
【請求項１４】
前記動きベクトルが１画素位置及び半画素位置の１つを示さないとき、前記プロセッサは、前記画素オフセット・シンタックス要素を送信するよう更に構成される、請求項１３に記載の装置。
【請求項１５】
前記画素オフセット・シンタックス要素が画素オフセットを表し、該画素オフセットが第２サンプルの位置を表し、該画素オフセットが、隣接するマクロブロックの画素オフセット、前記ビットストリーム内に符号化された動きベクトル差分、及び少なくとも１つのマクロブロックのモードの内の少なくとも１つの少なくとも一部に基づき予測される、請求項１３に記載の装置。
【国際調査報告】
2010524379.tif 000012
2010524379.tif 000013
2010524379.tif 000014
2010524379.tif 000015