(57)【特許請求の範囲】
【請求項１】
動画像データのマクロブロックに関して動きベクトルを受信することと、
前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のモードから少なくとも（ａ）前記動きベクトルと（ｂ）メモリバスの幅、メモリのサイズ、利用可能な前記メモリの量、前記メモリのスピード及び動き補償器におけるバッファ記憶スペース量のうち１つまたは複数とに基づいてメモリフェッチモードを選択することと、
選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチすることと
を具備し、
前記複数のモードは、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とに関して独立したフェッチを引き起こす第１のモードと、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とを取り囲む領域のフェッチングを引き起こす第２のモードと、
前記マクロブロックのそれぞれの個別のパーティションの１または複数のサブパーティションと当該サブパーティションの小数補間に必要とされる追加的な画素とを取り囲む個別のパーティション領域を用いて各パーティションに関して独立したフェッチングを引き起こす第３のモードと
を含み、
前記メモリフェッチモードを選択することは、前記動き補償復号処理の第１のシナリオにおいて前記第１のモードを選択することと、前記動き補償復号処理の第２のシナリオにおいて前記第２のモードを選択することと、前記動き補償復号処理の第３のシナリオにおいて前記第３のモードを選択することとを含み、
選択した前記モードが前記第３のモードを備える場合に、
前記第３のモードに従ってデータをフェッチングすることは、
探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、
前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることと
を含み、
前記動きベクトルは、前記マクロブロックの異なるサブパーティションに関しての動きベクトルを備える、
方法。
【請求項２】
選択した前記メモリフェッチモードは、前記第２のモードを備え、
前記動きベクトルは、前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを包含し、
選択した前記メモリフェッチモードに従ってデータをフェッチすることは、
探索空間内の前記異なるパーティションの周囲の領域であって、前記異なるパーティション及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域、を定義することと、
前記マクロブロックの前記動き補償復号処理のために、定義された前記領域をフェッチすることと
を含む
請求項１記載の方法。
【請求項３】
前記パーティションは、前記マクロブロックの８×８画素パーティションを含む請求項２記載の方法。
【請求項４】
１または複数の前記パーティションは、サブパーティション及び当該サブパーティションの動きを識別する動きベクトルを含む請求項２記載の方法。
【請求項５】
定義される前記領域は矩形であって、前記異なるパーティションの全てと、小数補間のために必要とされる追加的な画素値と、前記パーティションの内部になく前記小数補間にも必要とされないいくつかの画素値とを含む請求項２記載の方法。
【請求項６】
前記サブパーティションは、前記マクロブロックの１または複数の４×４画素サブパーティションを含む請求項１記載の方法。
【請求項７】
前記パーティション領域の各々は、矩形であって、前記サブパーティションの内部になく前記小数補間のために必要とされないいくつかの追加的な画素値を含む請求項１記載の方法。
【請求項８】
前記パーティション領域の各々は、前記マクロブロックの個別のパーティションに関連するサブパーティションを含む請求項１記載の方法。
【請求項９】
参照動画像フレームの外にある、小数補間のために必要とされる一部の画素を定義するために前記参照動画像フレームの境界の画素値を複製すること
を更に具備する請求項１記載の方法。
【請求項１０】
フェッチされた前記データを用いて前記マクロブロックを復号化すること
を更に具備する請求項１記載の方法。
【請求項１１】
前記マクロブロックは、色度値に関しての１または複数のブロック及び輝度値に関しての１または複数のブロックを包含する請求項１記載の方法。
【請求項１２】
前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む、請求項１記載の方法。
【請求項１３】
画素データを保存するメモリと、
動画像データのマクロブロックに関して動きベクトルを受信し、前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のモードから少なくとも（ａ）前記動きベクトルと（ｂ）メモリバスの幅、前記メモリのサイズ、利用可能な前記メモリの量、前記メモリのスピード及び動き補償器におけるバッファ記憶スペース量のうち１つまたは複数とに基づいてメモリフェッチモードを選択し、選択した前記メモリフェッチモードに従って前記メモリから前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチする動き補償器と
を具備し、
前記複数のモードは、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とに関して独立したフェッチを引き起こす第１のモードと、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とを取り囲む領域のフェッチングを引き起こす第２のモードと、
前記マクロブロックのそれぞれの個別のパーティションの１または複数のサブパーティションと当該サブパーティションの小数補間に必要とされる追加的な画素とを取り囲む個別のパーティション領域を用いて各パーティションに関して独立したフェッチングを引き起こす第３のモードと
を含み、
前記動き補償器は、前記動き補償復号処理の第１のシナリオにおいて前記第１のモードを選択し、前記動き補償復号処理の第２のシナリオにおいて前記第２のモードを選択し、前記動き補償復号処理の第３のシナリオにおいて前記第３のモードを選択し、
選択した前記モードが前記第３のモードを備える場合に、前記動き補償器は、
前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信し、
探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとにより、選択した前記メモリフェッチモードに従って前記メモリから前記データをフェッチする、
装置。
【請求項１４】
選択した前記メモリフェッチモードは、前記第２のモードを備え、
前記動き補償器は、
前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信し、
探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義することと、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングすることとにより、選択した前記メモリフェッチモードに従って前記メモリから前記データをフェッチする
請求項１３記載の装置。
【請求項１５】
１または複数の前記パーティションは、サブパーティション及び前記サブパーティションの動きを識別する動きベクトルを含む請求項１４記載の装置。
【請求項１６】
前記領域は、矩形であって、前記異なるパーティションの全てと、小数補間のために必要とされる前記追加的な画素値と、前記パーティション内になく前記小数補間のために必要とされないいくつかの画素値とを含む請求項１４記載の装置。
【請求項１７】
前記パーティション領域の各々は、矩形であって、前記サブパーティション内になく前記小数補間のために必要とされないいくつかの追加的な画素値を含む請求項１３記載の装置。
【請求項１８】
前記パーティション領域の各々は、前記マクロブロックの個別のパーティションに関連するサブパーティションを含む請求項１３記載の装置。
【請求項１９】
前記動き補償器は、フェッチされる特定の領域が参照動画像フレームの外にある少なくとも一部を含む場合に、前記参照動画像フレームの外にある、小数補間のために必要とされる一部の画素を定義するために前記参照動画像フレームの境界の画素値を複製する請求項１３記載の装置。
【請求項２０】
前記動き補償器は、フェッチされた前記データを用いて前記マクロブロックを復号化する請求項１３記載の装置。
【請求項２１】
前記マクロブロックは、色度値に関しての１または複数のブロック及び輝度値に関しての１または複数のブロックを包含する請求項１３記載の装置。
【請求項２２】
前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む、請求項１３記載の装置。
【請求項２３】
動画像データのマクロブロックに関して動きベクトルを受信し、
前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のモードから少なくとも（ａ）前記動きベクトルと（ｂ）メモリバスの幅、メモリのサイズ、利用可能な前記メモリの量、前記メモリのスピード及び動き補償器におけるバッファ記憶スペース量のうち１つまたは複数とに基づいてメモリフェッチモードを選択し、
選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチする
復号化器であって、
前記複数のモードは、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とに関して独立したフェッチを引き起こす第１のモードと、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とを取り囲む領域のフェッチングを引き起こす第２のモードと、
前記マクロブロックのそれぞれの個別のパーティションの１または複数のサブパーティションと当該サブパーティションの小数補間に必要とされる追加的な画素とを取り囲む個別のパーティション領域を用いて各パーティションに関して独立したフェッチングを引き起こす第３のモードと
を含み、
前記動き補償復号処理の第１のシナリオにおいて前記第１のモードを選択し、前記動き補償復号処理の第２のシナリオにおいて前記第２のモードを選択し、前記動き補償復号処理の第３のシナリオにおいて前記第３のモードを選択し、
選択した前記モードが前記第３のモードを備える場合に、前記復号化器は、
前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信し、
探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチする、
復号化器。
【請求項２４】
選択した前記メモリフェッチモードは、前記第２のモードを備え、
前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信し、
探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義することと、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチする
請求項２３記載の復号化器。
【請求項２５】
前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む請求項２３記載の復号化器。
【請求項２６】
フェッチされた前記データを用いて動き補償復号処理を行う請求項２３記載の復号化器。
【請求項２７】
実行時に復号化器に、
動画像データのマクロブロックに関して動きベクトルを受信させ、
前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のモードから少なくとも（ａ）前記動きベクトルと（ｂ）メモリバスの幅、メモリのサイズ、利用可能な前記メモリの量、前記メモリのスピード及び動き補償器におけるバッファ記憶スペース量のうち１つまたは複数とに基づいてメモリフェッチモードを選択させ、
選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値と小数補間のために必要とされる追加的な画素値とを含むデータをフェッチさせる
実行可能な命令を包含し、
前記複数のモードは、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とに関して独立したフェッチを引き起こす第１のモードと、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とを取り囲む領域のフェッチングを引き起こす第２のモードと、
前記マクロブロックのそれぞれの個別のパーティションの１または複数のサブパーティションと当該サブパーティションの小数補間に必要とされる追加的な画素とを取り囲む個別のパーティション領域を用いて各パーティションに関して独立したフェッチングを引き起こす第３のモードと
を含み、
前記命令は、前記復号化器に、前記動き補償復号処理の第１のシナリオにおいて前記第１のモードを選択させ、前記動き補償復号処理の第２のシナリオにおいて前記第２のモードを選択させ、前記動き補償復号処理の第３のシナリオにおいて前記第３のモードを選択させ、
選択した前記モードが前記第３のモードを備える場合に、前記命令は、実行時に前記復号化器に、
前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信させ、
探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとにより、選択した前記メモリフェッチモードに従って前記データをフェッチさせる、
コンピュータ読み取り可能な記憶媒体。
【請求項２８】
選択した前記メモリフェッチモードは、前記第２のモードを備え、
前記命令は、実行時に前記復号化器に、
前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信させ、
探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義することと、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチさせる
請求項２７記載のコンピュータ読み取り可能な記憶媒体。
【請求項２９】
前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む請求項２７記載のコンピュータ読み取り可能な記憶媒体。
【請求項３０】
動画像データのマクロブロックに関して動きベクトルを受信するための手段と、
前記マクロブロックの動き復号処理に関連するメモリフェッチのために複数のモードから少なくとも（ａ）前記動きベクトルと（ｂ）メモリバスの幅、メモリのサイズ、利用可能な前記メモリの量、前記メモリのスピード及び動き補償器におけるバッファ記憶スペース量のうち１つまたは複数とに基づいてメモリフェッチモードを選択するための手段と、
選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素とを含むデータをフェッチするための手段と
を具備し、
前記複数のモードは、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とに関して独立したフェッチを引き起こす第１のモードと、
前記マクロブロックの各パーティション及びサブパーティションと当該各パーティション及びサブパーティションの小数補間に必要とされる追加的な画素とを取り囲む領域のフェッチングを引き起こす第２のモードと、
前記マクロブロックのそれぞれの個別のパーティションの１または複数のサブパーティションと当該サブパーティションの小数補間に必要とされる追加的な画素とを取り囲む個別のパーティション領域を用いて各パーティションに関して独立したフェッチングを引き起こす第３のモードと
を含み、
前記選択するための手段は、前記動き補償復号処理の第１のシナリオにおいて前記第１のモードを選択し、前記動き補償復号処理の第２のシナリオにおいて前記第２のモードを選択し、前記動き補償復号処理の第３のシナリオにおいて前記第３のモードを選択し、
選択した前記モードが前記第３のモードを備える場合に、
前記受信するための手段は、前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信し、
前記フェッチするための手段は、探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義し、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチする、
装置。
【請求項３１】
選択した前記メモリフェッチモードは、前記第２のモードを備え、
前記受信するための手段は、前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信し、
前記フェッチするための手段は、探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義し、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングする
請求項３０記載の装置。
【請求項３２】
前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む請求項３０記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）  
本特許出願は、無線通信システムにおけるオーバーロード検出と題され、２００３年１２月３日に出願され、譲受人に譲渡され、参照により本願明細書に明示的に組み込まれる同時係属出願第10/728,035に関連する。
【０００２】
本開示は、動画像処理に関し、より具体的には、動画像列の動き補償復号のためのメモリフェッチング技術に関する。
【背景技術】
【０００３】
デジタルビデオキャパビリティは、デジタルテレビジョン、デジタル直接放送システム、無線通信機器、ポータブルデジタルアシスタント(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、直接双方向通信機器（たまに「無線機(walkie-talkies)」として参照される）、例えばiPod（登録商標）のようなデジタルミュージック・ビデオ機器、セルラ、衛星または地上波ベース無線電話機のような無線電話機を含む広範な機器に組み込まれ得る。これら及びその他の動画像機器は、フルモーション動画像列の作成、修正、送信、保存及び再生において、従来のアナログビデオシステムを超える著しい改善を提供できる。
【０００４】
多くの動画像処理及び符号化技術が、デジタル動画像列を通信するために確立されてきた。ムービングピクチャエキスパーツグループ(MPEG)は、例えば、MPEG-1、MPEG-2及びMPEG-4を含む多くの動画像符号化標準を展開してきている。その他の標準は、双方ともインターナショナルテレコミュニケーションズユニオン(ITU)によって展開されるITU H.263標準及び新興のITU H.264標準を含む。ITU H.264は、「高等動画像符号化(Advanced Video Coding)」と題されるMPEG-4、Part 10にも記述される。多くの独自仕様の標準もまた様々な企業によって開発されてきたし、新たな標準が出現し続け、また進化し続けている。
【０００５】
これらまたはその他の動画像標準は、データ圧縮を活用する。例えば、多くの動画像符号化技術は、フレーム間補償を提供するために、時間的なまたはフレーム間の相関を活用することによりデータを圧縮するよう設計されるグラフィック及び動画像圧縮アルゴリズムを利用する。フレーム間補償技術は、一部の画像フレームの画素ベースの表現を動き表現に変換することによりフレームを越えてデータの冗長性を活用する。加えて、動画像圧縮技術は、フレーム内補償を可能にさせるために、空間的なまたはフレーム内の相関として参照される、画像フレーム内の類似性も利用するかもしれない。
【０００６】
フレーム間補償は、典型的には動き推定及び動き補償符号化技術によって達成される。動き補償符号化において、符号化される動画像ブロックは、類似する動画像ブロック（予測動画像ブロックとして参照される）を見つけるために、参照フレーム（例えば過去に符号化されたフレームなど）の動画像ブロックと比較される。予測動画像ブロックは、動きベクトルによって識別され、動き補償符号化を介して現在の動画像ブロックを符号化するために用いられ得る。
【０００７】
動き補償符号化処理は、符号化される現在の動画像ブロックと予測動画像ブロックとの間の差分を示す差分ブロックを作成することを含む。特に、動き補償符号化は、通常、動きベクトルを用いて最適な予測ブロックをフェッチ（取り出し）して、差分ブロック（残差または残差動画像ブロックとして参照される）を生成するために入力されるブロックから最適な予測ブロックを減算する行為を参照する。残差動画像ブロックは、典型的には、符号化される原動画像ブロックよりも少ないデータを含む。動き補償が残差を作成したのち、一連の付加的なステップもまたデータを更に圧縮するために行われてよい。
【０００８】
復号側では、動き補償は、典型的に、動画像復号処理のうちの最も帯域幅の激しい(bandwidth-intensive)部分である。動き補償復号のために、残差動画像ブロックは、残差の符号化に用いられたもとの予測動画像ブロックへ加算される。この処理の間、参照フレームの予測動画像ブロックが、参照フレームにおいてそのような動画像ブロックを識別する動きベクトルを用いてフェッチされる必要がある。このような動き補償復号に関連するメモリフェッチは、帯域幅が激しいうえ、ブロックサイズが縮小し解像度が向上するにつれて更に非効率にさえなるかもしれない。
【発明の概要】
【０００９】
本開示は、動き補償復号処理の間のメモリフェッチングを改善し得る効率的なメモリフェッチング技術を記述する。上記技術は、動き補償復号処理の異なるシナリオにおいて非常に効率的となり得る複数の異なるメモリフェッチングモードを提案する。一部の実施形態において、動き補償部は、マクロブロックの動き復号処理に関連するメモリフェッチモードのためにケースバイケースの原則で複数のなし得る(possible modes)モードから特定のメモリフェッチモードを選択する。本願明細書において記述される技術は、副整数(sub-integer)画素のための小数補間(fractional interpolation)がフレーム間圧縮において用いられるときに特に有用であるかもしれない。そのような小数補間は、例えばITU H.264及びMPEG-4, Part 10によってサポートされており、多数の追加的な参照画素値が小数補間をサポートするために必要とされるかもしれない。
【００１０】
一実施形態において、本開示は動画像データのマクロブロックに関して動きベクトルを受信することと、マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択することと、選択したメモリフェッチモードに従って、動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチすることとを具備する方法を提供する。
【００１１】
別の実施形態において、本開示は画素データを保存するメモリと、動画像データのマクロブロックに関して動きベクトルを受信し、マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択し、選択したメモリフェッチモードに従ってメモリから動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチする動き補償器とを具備する装置を提供する。
【００１２】
別の実施形態において、本開示は動画像データのマクロブロックに関して動きベクトルを受信し、マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択し、選択したメモリフェッチモードに従って、動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチする復号化器を提供する。
【００１３】
別の実施形態において、本開示は動画像データのマクロブロックに関して動きベクトルを受信するための手段と、マクロブロックの動き復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択するための手段と、選択したメモリフェッチモードに従って、動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素とを含むデータをフェッチするための手段とを具備する装置を提供する。
【００１４】
本願明細書において記述されるこれら及びその他の技術は、ハードウェア、ソフトウェア、ファームウェアまたは任意のそれらの組み合わせにおいて実装されてよい。ソフトウェアにおいて実装される場合には、ソフトウェアはデジタルシグナルプロセッサ(DSP)またはその他の方式のプロセッサにおいて実行されてよい。上記技術を実行するソフトウェアは、動き補償復号処理の間の効率的なメモリ負荷を実装する動画像復号を可能にさせるためにコンピュータ読み取り可能な媒体において初めに保存され、プロセッサにおいてロード及び実行されてよい
従って、本開示は、実行時に復号化器に、動画像データのマクロブロックに関して動きベクトルを受信させ、マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択させ、選択したメモリフェッチモードに従って、動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチさせる実行可能な命令を包含するコンピュータ読み取り可能な媒体も予期する。
【００１５】
本開示の１または複数の実施形態の詳細は、添付図面及び以下の記述において説明される。本開示のその他の特徴及び利点は、上記記述及び図面から、そして請求項から明らかになるだろう。
【図面の簡単な説明】
【００１６】
【図１】図１は、本願明細書において記述されるメモリフェッチング技術を実行し得る典型的な機器を例示するブロック図である。
【図２】図２は、マクロブロック、パーティション及びサブパーティション(sub-partition)の概念を説明する概念図である。
【図３】図３は、小数補間のために必要とされる追加的な画素によって囲まれるマクロブロックパーティションまたはサブパーティションの動画像データを説明する概念図である。
【図４】図４は、本開示に従う典型的な動き補償器を例示するブロック図である。
【図５】図５は、本開示の様々な実施形態に従うメモリフェッチング技術を説明する様々な概念図である。
【図６】図６は、本開示の様々な実施形態に従うメモリフェッチング技術を説明する様々な概念図である。
【図７】図７は、本開示の様々な実施形態に従うメモリフェッチング技術を説明する様々な概念図である。
【図８】図８は、本開示の様々な実施形態に従うメモリフェッチング技術を説明する様々な概念図である。
【図９】図９は、本開示の様々な実施形態に従うメモリフェッチング技術を説明する様々な概念図である。
【図１０】図１０は、本開示に従う小数補間を容易にするために複製され得る、動画像フレームの境界上のマクロブロックパーティションまたはサブパーティション及び追加的な画素を説明する概念図である。
【図１１】図１１は、本開示に従う動き補償復号処理のための典型的なメモリフェッチング技術を例示するフロー図である。
【発明を実施するための形態】
【００１７】
本開示は、動き補償復号処理の間のデータフェッチングを改善できる効率的なメモリフェッチング技術を記述する。動き補償は、典型的に、動画像復号処理のうち最も帯域幅の激しい部分である。動き補償復号処理のために、受信される残差動画像ブロックは、当該残差動画像ブロックを符号化するために用いられたもとの予測動画像ブロックへ加算される。この処理において、参照動画像フレームの予測動画像ブロックが、符号化済みの残差動画像ブロックに関連する参照フレーム内のそのような予測動画像ブロックを識別する動きベクトルを用いてフェッチされる必要がある。
【００１８】
動き補償復号処理に関連するメモリ負荷は、大量のメモリ帯域幅を消費するうえ、ブロックサイズが縮小し解像度が向上するにつれ更に非効率にさえなるかもしれない。小数補間が行われれば、例えば、予測動画像ブロックに隣接する追加的な画素値が、この動き補償復号処理の間にフェッチされる必要があるだろう。この場合、ブロックサイズが小さくなるならば、小数補間に必要とされる追加的なデータの量が甚だしくなり得る。同時に、例えば、１つの動画像ブロックサブパーティションが重複するような別のサブパーティションに関連する異なる指示において符号化されるならば、データ重複が同一データに関しての複数回フェッチをもたらすかもしれない。
【００１９】
本開示は、動き補償復号処理のうちの異なるシナリオにおいて効率的となり得るいくつかの異なるメモリフェッチングモードを提案する。複数のフェッチングモードを定義し、与えられたシナリオのために適切なモードを選択することにより、復号処理は改善される。例えば、動き補償部は、マクロブロックの動き補償復号に関連するメモリフェッチのためにケースバイケースの原則で複数のなし得るモード(possible modes)から特定のメモリフェッチモードを選択してよい。本開示において記述される技術は、副整数画素への小数補間がフレーム間補償において用いられるときに、これが動き補償復号処理の間にフェッチされる必要のあるかなりの量のデータを追加する可能性があるため、特に効果的である。一部の事例では、本願明細書において記述される技術は、ITU H.264動き補償復号に必要とされる帯域幅をおよそ65%削減できる。
【００２０】
図１は、動画像符号化装置において実装され得る、典型的な復号化器１０を例示するブロック図である。復号化器１０は、動画像データを受信及び復号可能なデジタルビデオ機器の一部を形成してよい。一部の事例では、復号化器１０は、符号化コンポーネントを含んでもよく、統合された符号化器／復号化器(CODEC)の一部を形成してよい。復号化器１０は、例えば、デジタルテレビジョン、デジタル直接放送システム、無線通信機器、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ、デジタルミュージック・ビデオプレーヤ、デスクトップコンピュータ、デジタルカメラ、デジタル記録機器、ネットワーク使用可能なデジタルテレビジョン、セルラまたは衛星無線電話機、または任意のその他のビデオキャパビリティを備える機器などの機器の内部に実装されてよい。
【００２１】
復号化器１０は、ハードウェア、ソフトウェア、ファームウェアの組み合わせ及び／または１または複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)またはそれらの様々な組み合わせを含む、モバイル無線電話機のためのいわゆる「チップセット(chip set)」の一部として形成されてよい。或いは、復号化器１０は、単にソフトウェアにおいて実装されてよく、その場合には上記ソフトウェアは本願明細書において記述される復号機能性提供するためにプロセッサにロードされてよい。この場合には、復号化器機能性を果たすソフトウェアは、本願明細書において記述されるように、初めからコンピュータ読み取り可能な媒体に保存されてよい。
【００２２】
復号化器１０は、例えばMPEG-4、ITU-T H.263、ITU-T H.264または任意のその他の動画像符号化標準などの１または複数の動画像符号化標準に従ってよい。復号化器１０は、動き補償復号処理を含むフレーム間復号技術をサポートしてよく、例えばエントロピー復号及びことによるとフレーム内符号化に用いられるイントラ予測復号技術（例えば空間補償など）などのその他の技術をサポートしてもよい。本願明細書において記述される技術は、「高等動画像符号化」と題されるMPEG-4、Part 10にも記述される、新興のITU H.264標準に特に実用的であるかもしれない。
【００２３】
図１に示すように、復号化器１０は、到来ビットストリーム２を受信するエントロピー復号化部１２を含む。エントロピー復号は、一般的に、例えば可変長復号またはハフマン復号などの任意のロスレス解凍処理を参照する。とりわけ、到来ビットストリーム２は、残差４及び残差に関連付けられる１または複数の動きベクトル６を生成するためにエントロピー復号される。エントロピー復号されたビットストリームは、どのように残差４が復号されたか（例えばイントラ予測またはインター予測を用いて）を指定するモード情報８を提供してもよい。換言すれば、モード情報８は、残差４が現在のフレーム（イントラ）内の予測ブロック及び異なるフレーム（インター）内の残差ブロックのいずれに基づいて生成されたのかを示す。モード情報８は、一部の事例では、動きベクトル６に含まれてよい。
【００２４】
残差４は、逆スキャン部１４、逆量子化部１６及び逆変換部１８によって処理されてよい。逆スキャンは、残差の１次元のデータ構造を２次元の動画像ブロックに変換する。逆量子化は、残差から量子化をはずすために１または複数の量子化パラメータを適用する。逆変換は、残差動画像ブロック上の例えば離散コサイン変換(DCT)などの任意の変換をはずす処理を参照する。
【００２５】
上記のように、モード情報８は、復号化器１０におけるイントラまたはインターモードを選択するために生成される。残差４がイントラ符号化されていれば、動きベクトル６はメモリ２０（参照フレーム記憶装置２０としても参照される）内に保存され得る現在の動画像フレームから予測動画像ブロックを識別するために用いられる。この場合、ロジック(logic)は、空間補償部２４を実行するイントラ予測モードに設定されてよい。
【００２６】
イントラ予測モードにおいて、空間補償部２４は、メモリ２０から１または複数ブロックの画素データをフェッチするために動きベクトル６を用いる。空間補償部２４は、イントラ予測動画像ブロック２６を出力する。イントラ予測動画像ブロックは、加算器２８を用いて残差４（逆スキャン、逆量子化及び逆変換に続いて）と加算される。必要に応じて、色度(chrominance)値に関してではなく大抵は輝度値または与えられるマクロブロックのブロックに関して、デブロックフィルタリングがデブロックフィルタリング部３０によって行われてもよい。デブロックフィルタリング部の出力は復号マクロブロック３２であり、復号処理の次の繰り返しにおいて用いられ得る現在のフレームの一部としてメモリ２０に戻って保存されてよい。
【００２７】
残差４がインター符号化されていれば、動きベクトル６は、メモリ２０に保存され得る異なる動画像フレームから１または複数の予測動画像ブロックを識別するために用いられる。インター予測は、全ての動きベクトルが以前のフレームの動画像ブロックを指し示す単方向予測でも、動きベクトルが以前または以後のフレームの動画像ブロックを指し示し得る双方向予測でもよい。しかしながら、簡単にするために、本開示の技術は、一般的に、動きベクトルが以前のフレームの動画像ブロックを指し示す単方向予測の観点から記述される。
【００２８】
インター予測モードのために、ロジック２２は、動き補償部３４（動き補償器としても参照される）を実行するインター予測に設定されてよい。動き補償部３４は、メモリ２０から１または複数ブロックの画素データをフェッチするために動きベクトル６を用いる。動き補償部３４は、インター予測動画像ブロック３６を出力する。インター予測動画像ブロック３６は、加算器２８を用いて残差４（逆スキャン、逆量子化及び逆変換に続いて）と加算される。必要であれば、デブロックフィルタリングがデブロックフィルタリング部３０によって行われてもよい。さらに、復号マクロブロック３２は復号化器１０によって出力されてよく、復号処理の次の繰り返しにおいて用いられ得る現在のフレームの一部としてメモリ２０に戻って保存されてよい。
【００２９】
上記のように、動き補償は、典型的に、動画像復号処理のうち最も帯域幅の激しい部分である。とりわけ、動き補償復号処理に関連するメモリ負荷及びフェッチは、非常に帯域幅が激しいうえ、ブロックサイズが縮小し解像度が向上するにつれ更に非効率にさえなるかもしれない。更に、小数補間が行われるならば、予測動画像ブロックに隣接する追加的な画素値が、この動き補償復号処理の間にフェッチされる必要があるだろう。
【００３０】
インター予測マクロブロックは、パーティション及びサブパーティションと呼ばれる可変サイズの重複のないブロックの整数倍で形成される。MPEG-4及びITU-H.264は、１つの16×16マクロブロックと４つの8×8マクロブロックパーティション形状のいずれかをサポートする。ITU H.264及びMPEG-4, Part 10 「高等イントラ符号化(advanced intra coding)」は、１つの16×16マクロブロック、２つの16×8パーティション、２つの8×16パーティションまたは４つの8×8ブロックパーティションをサポートする。その上、ITU H.264及びMPEG-4, Part 10は、8×8パーティションの各々が１つの8×8サブパーティション、２つの8×4サブパーティション、２つの4×8サブパーティションまたは４つの4×4サブパーティションへ再分割されることを更にサポートする。
【００３１】
マクロブロック、パーティション、サブパーティションの概念は、大まかに図２の概念図において例示される。パーティション４０は、完全な16×16マクロブロック、或いは２つの16×8パーティション、２つの8×16パーティションまたは４つの８×８ブロックパーティションへ分割され得るマクロブロックを包含する。その上、8×8ブロックパーティションは、サブパーティション４２、即ち１つの8×8サブパーティション、２つの8×4サブパーティション、２つの4×8サブパーティションまたは４つの4×4サブパーティションへ更に分割されてよい。図２から理解されるように、8×8ブロックはパーティションとして参照されることがあるし、サブパーティションとして参照されることもある。当然ながら、本開示の技術は、他の標準または動画像ブロックサイズに従って定義されるマクロブロック、パーティション及びサブパーティションに適用されてもよい。
【００３２】
各マクロブロックは、色度値及び輝度値に関してパーティション及び／またはサブパーティションを含んでよく、一部の事例において色度及び輝度に関するブロックはこれら異なる画素コンポーネントに関しての異なるサンプリングレートが原因で異なってもよい。換言すれば、マクロブロックは色度値の１または複数のブロック及び輝度値の１または複数のブロックを包含してよい。しかしながら、以下の考察は、一般的に、簡単のため画素ブロックとしてのマクロブロックに焦点を合わせる。これら画素ブロックは、色度ブロック、輝度ブロック及びそれらの組み合わせであってよいことは、一般に理解されている。更に、所定のマクロブロックの画素は、動画像データの２以上のブロック（色度値の１または複数のブロック及び輝度値の１または複数のブロック）において表現されてよい。
【００３３】
各パーティションまたはサブパーティションは、利用される参照フレーム及び予測パーティションまたは予測サブパーティションを集めるための参照フレーム中の位置を表す自己の動きベクトルを持つ。更に、多くの動画像符号化標準は、これらの動きベクトルに関して１／２画素精度をサポートする。この場合において、１／２画素は、隣接する整数画素の双一次補間を経て生成され得る。例えば、動き補償器３４は、必要に応じてそのような１／２画素インター値を生成してよい。
【００３４】
一部の標準（例えば、ITU H.264及びMPEG-4, Part 10など）は、動きベクトルに関して１／４画素精度を更にサポートする。この場合において、１／２画素は、６タップフィルタを用いて水平方向及び垂直方向に隣接する整数画素をフィルタリングすることにより生成され得る。１／４画素は、隣接する１／２画素の双一次補間を経て生成され得る。そのようなフィルタリング及び補間は、動き補償器３４において実行されてよい。
【００３５】
不運なことに、そのようなITU H.264及びMPEG-4, Part 10に従う１／４画素精度のためには、フィルタされる全ての所定の動画像ブロックについて追加的なデータをフェッチする必要がある。これは、任意の所定のマクロブロック、パーティションまたはサブパーティションのために、動き補償器３４は所定の動画像ブロックをメモリ２０からフェッチするだけでなく、所定の動画像ブロックの殆ど境界(edge-most)の画素（即ち、動画像ブロックの境界に最も近い画素）の補間のために必要とされる隣接動画像ブロックをメモリ２０からフェッチしなければならない。これらの場合において、パーティション及びサブパーティションがより小さくなれば、動き補償処理の間にフェッチされる必要のあるデータ量が甚大になり得る。
【００３６】
図３は、小数補間のために必要とされる追加的な画素５２によって包囲される動画像データ５０のマクロブロックパーティションまたはサブパーティションを例示する概念図である。より多くのサブパーティションを含めることは、より高い解像度をもたらし得るが、所定のパーティションまたはサブパーティションに関しての小数補間のための追加的な画素５２の必要性が原因で著しく多くのデータフェッチングが必要とされることが理解されるだろう。更に、追加的な画素（例えば、ITU H.264及びMPEG-4, Part 10に従う）は、１／２画素補間のために６タップフィルタを適用する必要性があるはずである。故に、所定の動画像ブロックの殆ど境界の画素に隣接した画素は、副画素(sub-pixel)解像度への補間を可能にさせる状況において必要とされる。
【００３７】
小数画素動き補償の便宜を図るために、パーティション（またはサブパーティション）よりも広い領域、即ち、追加的な画素５２が、参照フレームからフェッチされる必要がある。ITU H.264に従って１／４画素動き補償の便宜を図るために、参照フレームから16×8パーティションに関して、(16+5)×(8+5)エリア（113%オーバヘッド）が必要とされる。  
【数１】
0005496667.tif 000002
【００３８】
また、パーティション（またはサブパーティション）サイズが縮小するにつれ、オーバヘッドは増大する。各8×8パーティションが4×4サブパーティションに再分割されるときに、最悪の事態が生じる（406%のオーバヘッドをもたらす）。以下の表１はITU H.264標準の全てのパーティション及びサブパーティションに関して必要とされるオーバヘッドを示す。
【表１】
0005496667.tif 000003
【００３９】
過度のオーバヘッド及びその他の理由のために、本開示は、動き補償復号処理の異なるシナリオにおいて動き補償器３４によって実行され得るいくつかの異なるメモリフェッチングモードを提案する。最も効率的なモードは、その時々で使用され得るパーティション及びサブパーティションの異なるタイプにより異なる場合において相違するかもしれない。いくつかのフェッチングモードを定義し、与えられたシナリオに関して適切なモードを選択することにより、動き補償器３４は復号処理を改善し得る。例えば、動き補償器３４は、マクロブロックの動き補償復号に関連するメモリフェッチのためにケースバイケースの原則で複数のなし得るモードから特定のメモリフェッチモードを選択してよい。上記のように、本願明細書において記述される技術は、副整数画素への小数補間がフレーム間補償において用いられるときに、これが動き補償復号処理の間にフェッチされる必要のあるかなりの量のデータを追加する可能性があるため、特に効果的である。
【００４０】
図４は、本開示に従う典型的な動き補償器６０を例示するブロック図である。図４において例示される動き補償器６０及びメモリ６２は、図１の動き補償器３４及びメモリ２０に対応してもよいし、異なる復号化器アーキテクチャ内で実装されてもよい。
【００４１】
動き補償器６０は、動きベクトル６４を受信し、メモリ６２から対応するブロックの画素データをフェッチするために動きベクトル６４を使用する。動き補償器６０及びメモリ８は、メモリバス６５またはその他の方式のデータ転送インタフェースを介して結合され得る。
【００４２】
図４で説明される例において、動き補償器６０は、動き補償のための少なくとも３つの異なるメモリフェッチモード、MC Type 1 （６６Ａ）、MC Type 2 （６６Ｂ）及びMC Type 3 （６６Ｃ）をサポートする。MC Type N （６６Ｎ）の存在により一般的に示されるように、追加的なモードが定義されてもよい。実際に、MC Type 1が一部のサブパーティション関して有効に作用してMC Type 3が他のサブパーティションに関して有効に作用するようなサブパーティションレベルにある場合に、MC Type 1及びMC Type 3の利点を組み合わせるMC Type 4モードも意図されている。このMC type 4モードの追加的な考察は、後に検討される。
【００４３】
いかなる場合にも、図４に示されるように、メモリフェッチモード選択器７０は、与えられたシナリオに関してどのモードが最適であるかを判断し、スイッチ６８を用いて適切なモードを選択し得る。換言すれば、動き補償器６０は、動画像データのマクロブロックに関して動きベクトル６４を受信し、マクロブロックの動き補償復号処理に関連するメモリフェッチのための複数のなし得るモード（６６Ａ−６６Ｎ）からメモリフェッチモードを選択し、選択したメモリフェッチモードに従ってデータをフェッチする。フェッチされたデータは、動きベクトル６４によって識別される画素値と、小数補間のために必要とされる追加的な画素値とを含む。
【００４４】
動き補償器６０は、フェッチされたデータから適切な参照ブロックを再構成する参照ブロック再構成器７２を含んでもよい。整数画素値に関して、参照ブロック再構成器７２は参照ブロックのために適切な画素を単に識別してよい。しかしながら、小数画素値に関して、参照ブロック再構成器７２は、例えば動画像符号化標準に従って、１／２画素または１／４画素補間のための適切なフィルタを実行してよい。同様に、複数のパーティションまたはサブパーティション（以下に議論される）を取り囲む広い領域がフェッチされる一部のモードにおいて、再構成器７２は構成される参照ブロックよりもずっと広いフェッチされる領域から参照ブロックの適切な画素に関する識別を扱ってよい。
【００４５】
メモリ６２は、例えばダイナミックランダムアクセスメモリ(DRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)またはフラッシュメモリなどの任意の方式の揮発性または不揮発性メモリ技術を包含し得る。メモリは、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)または別の不揮発性或いは揮発性方式として実装されてもよい。
【００４６】
異なるフェッチモードであるMC Type 1 （６６Ａ）、MC Type 2 （６６Ｂ）、MC Type 3 （６６Ｃ）はデータを異なってフェッチし得る。一例において、MC Type 1 （６６Ａ）はマクロブロックのパーティション及びサブパーティションの各々に関して個々のフェッチをもたらし、MC Type 2 （６６Ｂ）はマクロブロックのパーティション及びサブパーティションの各々を取り囲む領域のフェッチをもたらし、MC Type 3 （６６Ｃ）はそれぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いた各パーティションのフェッチをもたらす。MC Type 1 （６６Ａ）、MC Type 2 （６６Ｂ）及びMC Type 3 （６６Ｃ）の更なる詳細及び実例は、以下で与えられる。
【００４７】
MC Type 1 （６６Ａ）において、動き補償復号処理のために各パーティションまたはサブパーティションが個々にフェッチされてよい。図５及び図６は、MC Type 1 （６６Ａ）に従うフェッチングの概念的な説明図である。図５に示すように、４つの異なるパーティション８１Ａ−８１Ｄがマクロブロックに関して定義される。異なるパーティション８１Ａ−８１Ｄの各々のフェッチングにおいて、異なるパーティションに隣接する追加的な画素８２Ａ−８２Ｄも小数補間を容易にするためにフェッチされる。
【００４８】
図６は、サブパーティションレベルで行われる場合における同様のMC Type 1 （６６Ａ）フェッチング技術を例示する。この場合において、マクロブロックは、パーティション８５及びサブパーティション８４Ａ−８４Ｉに分かれる。パーティション及びサブパーティションの異なる相対的な動きが、MC Type 1 （６６Ａ）に従ってフェッチされる異なる領域の間での実質的な重複をもたらす。いくつかの同一データが異なるパーティション及びサブパーティションのために数回フェッチされるため、この重複は非効率をもたらし得る。更に、所定のメモリフェッチコマンドで少量のデータがフェッチされるので、サブパーティションの小さなブロックサイズは独立してフェッチするには非効率であるかもしれない。通常、多くのより小さなブロックが各ブロックのために独立した別個のコマンドを必要とするのとは対照的に１つのより大きな動画像ブロックは一連のコマンドまたはコマンドのバーストを通じてフェッチされ得るので、より大きな動画像ブロックは、より小さなビデオブロックにおける同量の画素よりも狭い帯域でフェッチされ得る。図６は、パーティション８５及びサブパーティション８４Ａ−８４Ｉの各々の周囲を形成する追加領域（点線でラベル付けされる）も示している。パーティション８５及びサブパーティション８４Ａ−８４Ｉの周囲のこれらの追加的な領域は、小数補間のために必要とされる。これらの追加領域は、フェッチされる必要のあるデータ量を追加するだけでなく、異なるフェッチ間で更なる重複を生じさせる。
【００４９】
MC Type 2 （６６Ｂ）において、マクロブロックの各パーティション及びサブパーティションを含む比較的大きな境界領域(bounding area)が定義される。図７に示すように、３つの異なるパーティション９１Ａ−９１Ｃ及び３つの異なるサブパーティション９２Ａ−９２Ｃがマクロブロックに関して定義される。この場合において、独立したフェッチコマンドで各パーティション及びサブパーティションに関して要求される画素をフェッチするよりはむしろ、大きな境界領域９５が典型的には復号済みの過去のフレームであるそれぞれの探索空間９６内のパーティション９１Ａ−９１Ｃ及び３つの異なるサブパーティションについて定義される。動きベクトルは、マクロブロックの異なるパーティション９１Ａ−９１Ｃに関しての１または複数の動きベクトルを包含してよいし、それ自体がパーティション（即ち、サブパーティションを含むパーティション）とみなされ得る領域９９の異なるサブパーティションに関しての１または複数の動きベクトルを包含してよい。
【００５０】
本例において、境界領域９５は矩形であって、パーティション９１Ａ−９１Ｃ及びサブパーティション９２Ａ−９２Ｃの全てを含む。加えて、境界領域９５は、小数補間のために必要とされる各種の追加的な画素値（例えば、パーティション９１Ａ−９１Ｃ及びサブパーティション９２Ａ−９２Ｃを囲む領域）を含む。しかしながら、MC Type 2 （６６Ｂ）によれば、一部の画素値（例えば、領域９８内）はパーティション９１Ａ−９１Ｃ及びサブパーティション９２Ａ−９２Ｃ内になく、小数補間のために必要とされない。これは、メモリフェッチに単純さを付加する境界領域９５の矩形性が原因である。非矩形の境界領域が必要とされない画素を除外するために定義されてもよいかもしれないが、非矩形領域は望まれない複雑さをメモリフェッチに付加し得る。故に、非矩形境界領域はそれほど望ましくないかもしれず、小数補間のために必要とされない余分な画素値（例えば、領域９８内）をフェッチすることはメモリフェッチコマンドのバーストが使用され得るという範囲で付加される単純さを許容し得る。
【００５１】
一例として、パーティション９１Ａ−９１Ｃはマクロブロックの８×８画素パーティションを包含してよい。サブパーティション９２Ａ及び９４Ｂは４×４画素サブパーティション及びサブパーティション９２Ｃを包含してよい。サブパーティション９２Ａ−９４Ｃの全てを取り囲む領域９９は、それ自体を１つのパーティション、即ちサブパーティションを含むパーティションとみなされてよい。
【００５２】
MC Type 2 （６６Ｂ）は、全てでなく一部の事例においてMC Type 1 （６６Ａ）を越える利点を提供し得る。１つの利点は、同一画素に対する複数回フェッチの回避である。パーティション９１Ａの小数補間のために必要とされる画素の一部は、サブパーティション９２Ｂの小数補間に必要とされる画素と重複するであろう。しかしながら、MC Type 2 （６６Ｂ）にあっては、これらの画素は境界領域９５として１度だけフェッチされるが、パーティション９１Ａ及びサブパーティション９２Ｂの双方に関しての動き補償のために用いられる。
【００５３】
MC Type 2の別の見込まれる利点は、境界領域９５はそれ自体が隣接する画素の１つの大きなブロックであるという事実である。このため、一部の隣接しない画素が必要とされる状況に比較して、境界領域９５のフェッチングは単純化され得る。境界領域９５の矩形性及び境界領域９５内の画素の全てがフェッチされるという事実は、メモリフェッチに単純さを付加する。この場合において、境界領域９５の完全なフェッチを実行するために必要なメモリワードの数は、共通の領域内で境を接しない同量のデータをフェッチするために必要とされるであろうワード数に比して低減され得る。そのようなフェッチの実行に必要とされる実際のメモリワードの数は、フェッチされるデータ量、境界領域９５のサイズ及び形状（矩形は効率的形状である）、メモリバスの幅（即ち、バス６５（図４）の幅）を含むいくつかの要素に依存する。
【００５４】
他方では、一部の事例において、MC Type 2 （６６Ｂ）は、MC Type 1 （６６Ａ）に比べてより効率的でなくまたはより複雑に実際になり得る。これは、MC Type 2 （６６Ｂによれば、一部の画素値（例えば、領域９８内）がパーティション９１Ａ−９１Ｃまたはサブパーティション９２Ａ−９２Ｃ内になく、小数補間のために必要とされないという事実が一般的には原因である。ほとんどの場合において、矩形境界領域９５の追加的単純さが非本質的なデータを除外するために必要とされる追加的コストまたは複雑さよりも重要であるため、そのようなデータのフェッチングは非本質的であるにもかかわらず含まれる。しかしながら、一部の事例において、パーティション９１Ａ−９１Ｃ及びサブパーティション９２Ａ−９２Ｃがお互いに離れた動きを示すならば、相当量の非本質的なデータが境界領域９５内に存在するかもしれない。
【００５５】
MC Type 3 （６６Ｃ）において、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションのためのフェッチングが行われる。このように、MC Type 3 （６６Ｃ）は、境界領域が動画像ブロックのセットについて用いられる点でいくらかMC Type 2 （６６Ｂ）と類似するが、いくつかの境界領域が個別のサブパーティションの周囲のパーティションレベルで定義される点で異なる。図８及び９は、MC Type 3 （６６Ｃ）に従うフェッチングの概念図である。図８に示すように、４つの異なる境界領域１０１Ａ−１０１Ｄが、先だって復号された動画像列のフレームであるかもしれない探索空間１０９内のパーティションレベルで定義される。換言すれば、各パーティション（ただ１つのサブパーティションであろうとより小さなサブパーティションの組であろうと）はその独自のパーティション境界領域を含む。
【００５６】
パーティション境界領域１０１Ａはパーティション１０２及びパーティション１０２の小数補間のために必要とされる追加的な画素を含む。パーティション１０２は８×８ブロックを包含してよく、それ故に、それ自体をサブパーティションとしてみなしてよい（図２を参照）。パーティション境界領域１０１Ｂは、３つのサブパーティション１０３Ａ−１０３Ｃ、サブパーティション１０３Ａ−１０３Ｃの小数補間のために必要とされる任意の画素、またひょっとすると境界領域１０１Ｂの矩形性及びサブパーティション１０３Ａ−１０３Ｃの相対的な動きによるいくらかの余分な画素を含む。同様に、パーティション境界領域１０１Ｃは、２つのサブパーティション１０４Ａ及び１０４Ｂ、サブパーティション１０３Ａ−１０３Ｃの小数補間のために必要とされる画素、またひょっとすると境界領域１０１Ｃの矩形性及びサブパーティション１０４Ａ−１０４Ｂの相対的な動きによるいくらかの余分な画素とを含む。境界領域１０１Ｂ及び１０１Ｃのように、パーティション境界領域１０１Ｄは、サブパーティション（この場合には４つのサブパーティション１０５Ａ−１０５Ｄ）、サブパーティション１０５Ａ−１０５Ｄの小数補間のために必要とされる画素、またひょっとすると境界領域１０１Ｄの矩形性及びサブパーティション１０５Ａ−１０５Ｄの相対的な動きによる余分な画素を含む。
【００５７】
図９は、図８と類似するが、個別のパーティション（一部はサブパーティションを含む）に関して異なる相対的な動きを持つ。図９において、４つの異なる境界領域１１１Ａ−１１１Ｄはパーティションレベルで定義される。換言すれば、各パーティション（ただ１つのパーティションであろうとサブパーティションの組であろうと）はその独自のパーティション境界領域を含む。
【００５８】
パーティション境界領域１１１Ａは、パーティション１１２及びパーティションの小数補間のために必要とされる追加的な画素を含む。パーティション境界領域１１１Ｂは、３つのサブパーティション１１３Ａ−１１３Ｃ、サブパーティション１１３Ａ−１１３Ｃの小数補間のために必要とされる任意の画素、境界領域１１１Ｃの矩形性及びサブパーティション１１３Ａ−１１３Ｃの相対的な動きによる不要な画素を含む。パーティション境界領域１１１Ｃは、２つのサブパーティション１１４Ａ及び１１４Ｂ、サブパーティション１１３Ａ−１１３Ｃの小数補間のために必要とされる画素、境界領域１１１Ｃの矩形性及びサブパーティション１１４Ａ−１１４Ｂの相対的な動きによる余分な画素を含む。境界領域１１１Ｂ及び１１１Ｃのように、パーティション境界領域１１１Ｄはサブパーティション（この場合には４つのサブパーティション１１５Ａ−１１５Ｄ）、サブパーティション１１５Ａ−１１５Ｄの小数補間のために必要とされる画素、境界領域１１１Ｄの矩形性及びサブパーティション１１５Ａ−１１５Ｄの相対的な動きによる余分な画素を含む。
【００５９】
図８において、異なる境界領域は重複を持ち、その場合にはいくつかの同一画素が異なる境界領域の一部においてフェッチされるだろう。しかしながら、図９において、そのような重複は、パーティションレベルでの異なる相対的な動きにより最小限に抑えられる。このため、図９のシナリオは図８のシナリオよりもMC Type 3 （６６Ｃ）を使用する可能性が高い。
【００６０】
MC Type 1 （６６Ａ）及びMC Type 2 （６６Ｂ）に比べて、MC Type 3 （６６Ｃ）は一部の状況に関してより効率的に及び／またはより相応しくなり得る。図９のシナリオは、MC Type 3 （６６Ｃ）が使われるであろう可能性が非常に高い候補シナリオである。MC Type 1 （６６Ａ）と比較したMC Type 2 （６６Ｂ）に関連する多くの同一の利点が、MC Type 1 （６６Ａ）と比較したMC Type 3 （６６Ｃ）に当てはまる。MC Type 3は、MC Type 2 （６６Ｂ）に比べて１つの境界領域の代わりに４つを必要とし、非効率な同一画素に対する複数回フェッチングをもたらし得るそのような境界領域の間での重複の可能性があるという不都合を有する。他方では、MC Type 3 （６６Ｃ）は、特に図９に示されるようなシナリオに関して、MC Type 2 （６６Ｂ）に比べて効率的となる可能性を有する。
【００６１】
図９を参照すると、MC Type 3 （６６Ｃ）によれば、マクロブロックのいくつかの異なるサブパーティション１１３Ａ−１１３Ｃ、１１４Ａ及び１１４Ｂ、及び１１５Ａ−１１５Ｄに関して動きベクトルが受信される。探索空間１１９内のサブパーティションの異なるサブセットの周囲の複数のパーティション領域（例えば１１１Ｂ、１１１Ｃ及び１１１Ｄなど）を定義することによりデータがフェッチされる。例えば、サブパーティション１１３Ａ−１１３Ｃが１つのサブセットを構成してよく、サブパーティション１１４Ａ及び１１４Ｂが別のサブセットを構成してよく、サブパーティション１１５Ａ−１１５Ｄが異なるサブセットを構成してよい。各サブセットはパーティションレベルで定義される。この場合において、パーティション１１２のデータは、例えばマクロブロックの領域における低解像度のため、サブパーティションレベルに分けられない。この場合には、パーティション領域１１１Ａは、パーティション１１２に関して定義される。それ故に、パーティション領域１１１Ａは、パーティション１１２が８×８画素解像度（図２を参照）のパーティションまたはサブパーティションとしてみなし得る限りにおいて、独自のサブパーティションのサブセットを定義しているものとしてみなし得る。任意の場合において、パーティション領域の各々は、サブパーティション及び小数補間のために必要とされる様々なサブパーティションに隣接する追加的な画素値のサブセットの１つを取り囲む。動き補償器６０は、図９に示すような様々なパーティションまたはサブパーティションによって定義されるマクロブロックの動き補償復号処理のためにメモリ６２から複数のパーティション領域をフェッチできる。
【００６２】
パーティション／サブパーティション１１２は８画素×８画素ブロックの動画像データ（及びひょっとすると色度及び輝度情報を伝達するための２または３以上のブロック）を含んでよい。サブパーティション１１３Ａ、１１３Ｃ及び１１５Ａ−１１５Ｄは４画素×４画素ブロックの動画像データ（及びひょっとすると色度及び輝度情報を伝達するための、全ての例示されるブロックに関しての２または３以上のブロック）を含んでよい。サブパーティション１１３Ａは８画素×４画素ブロック（及びひょっとすると色度及び輝度情報を伝達するための２または３以上のブロック）を含んでよく、一方サブパーティション１１４Ａ及び１１４Ｂは４画素×８画素ブロック（及びひょっとすると色度及び輝度情報を伝達するための例示されるブロックにつき２または３以上のブロック）を含んでよい。
【００６３】
パーティション領域１１１Ａ−１１１Ｄは矩形である。更に、８×８画素ブロックを越える解像度のサブパーティションを含むパーティション領域（例えば、１１１Ｂ−１１１Ｄ）は、サブパーティション内部でなく小数補間のために必要とされないいくつかの追加的な画素値を含み得る。これは、領域１１１Ａ−１１１Ｄの矩形性による。そのようなデータのフェッチングは非本質的かもしれないが、矩形境界領域１１１Ａ−１１１Ｄの追加的単純さは、非本質的なデータを除外するために必要とされる追加的コストまたは複雑さより重要たり得る。
【００６４】
用いられるモードに関わらず、生じ得る別の問題が動画像フレームの境界での小数補間に関連する。この場合において、そのような境界画素の小数補間に必要とされるデータは存在しないかもしれない。図１０は、境界画素補間のこの問題に対する１つの比較的単純な解法を例示する概念図である。特に、参照動画像フレーム１２２から要求される領域１２０が参照動画像フレーム１２２の外にある部分１２４を含むならば、動き補償器６０（または別のコンポーネント）は、部分１２４内の画素を定義するために参照フレームの殆ど境界の画素値を単に複製してよい。複製された画素は、１／２画素及び１／４画素精度に対する任意の小数補間を実行するために使用され得る。
【００６５】
本開示に従って、MC Type 1、MC Type 2及びMC Type 3に関して記述される技術は、単独でまたは組み合わせて使用されてよい。上記説明において、異なるモード（特に、MC Type 2及びMC Type 3）が一部の復号化器に関して単独で使用され得るとはいえ、上記技術は選択される択一的なモードとして記述されている。一緒に使用されるならば、選択されるモードは、メモリバスの幅、メモリのサイズ、動き補償器におけるバッファ記憶スペース量、それぞれのなし得るモードに関してフェッチされる必要のあるデータの総量、動き補償目的のためにマクロブロックにつき必要とされるメモリコマンドの平均数、動き補償目的のためにマクロブロックにつき必要とされる集中的な(bursty)要求の平均数を含むいくつかの要素に依存するかもしれない。集中的な要求は、例えば要求される画素値が隣接する様式で保存されるときに、効率性のためにつなぎ合わせられ得るメモリコマンドを参照する。集中的な要求は、非集中的な要求に比べて望ましく、一般的にMC Type 1に比べてMC Types 2及び3においてより頻繁に生じる。
【００６６】
図１１は、本開示に従う動き補償復号処理のための典型的なフェッチング技術を例示するフロー図である。図１１に示すように、復号化器１０の動き補償器３４はマクロブロックに関連する動きベクトル６を受信する（１３２）。これら動きベクトルを用いて、動き補償器３４はMC Type 1、MC Type 2及びMC Type 3からメモリフェッチモードを選択する（１３４）。具体的には、動き補償器３４は、最も少ないメモリ帯域幅を使用するモードを選択してよい。メモリ帯域幅の量は、利用可能なメモリの量、メモリのスピード、メモリバスの幅、フェッチされる領域のサイズ、形状及び数を含むいくつかの変数によって影響されるかもしれない。
【００６７】
動き補償器３４によってMC Type 1が選択されるならば（１３６のyes分岐）、マクロブロックの各パーティション及びサブパーティションが独立してフェッチされる（１３８）。各パーティション及びサブパーティションに関してフェッチされたデータは、必要に応じて、小数画素精度のための小数補間に必要とされる追加的データを含んでよい。復号化器１０は、フェッチされたデータを用いて動き補償器３４によって実行される動き補償処理を含むマクロブロックの復号を開始する（１４８）。
【００６８】
動き補償器３４によってMC Type 2が選択されるならば（１４０のyes分岐）、動き補償器３４はマクロブロックの全てのパーティション及びサブパーティションを取り囲む領域を定義する（１４２）。更に、この領域は、必要に応じて、小数画素精度のために小数補間に必要とされる各パーティション及びサブパーティションに関しての追加的なデータを含んでよい。領域は矩形でよく、その場合にはフェッチされるデータの一部が非本質的であって動き補償器３４によって使用されないかもしれない。任意の場合において、復号化器１０は、フェッチされたデータを用いて動き補償器３４によって実行される動き補償処理を含むマクロブロックの復号を開始する（１４８）。
【００６９】
動き補償器３４によってMC Type 3が選択されるならば（１４４）、動き補償器３４はマクロブロックのサブパーティションの異なるサブセットを取り囲むいくつかの領域を定義する（１４６）。各サブセットは、マクロブロックの与えられるパーティションに関連するサブパーティションの全てを含んでよい。換言すれば、定義される領域の各々はマクロブロックのそれぞれの個別のパーティションに関連するサブパーティションを取り囲む。更に、上記領域の各々は、必要に応じて、小数画素精度のための小数補間に必要とされる各サブパーティションに関しての追加的なデータを含んでよい。上記領域は、矩形でよく、その場合にはフェッチされるデータの一部は、非本質的であって動き補償器３４によって使用されないかもしれない。任意の場合において、復号化器１０は、フェッチされたデータを用いて動き補償器３４によって実行される動き補償処理を含むマクロブロックの復号を開始する（１４８）。
【００７０】
更に別の可能性として、MC type 3モードそれ自体がパーティションレベルでの別のモード決定を含み得る。前述の議論では、各モード決定はマクロブロックレベルでのモード決定、即ち、マクロブロックに関してどのようにデータをフェッチするかであるように述べられてきた。別の可能性（本願明細書においてMC type 4として定義される）は、マクロブロックに関してMC type 1に従うフェッチをMC type 3に従うフェッチに組み合わせるメモリフェッチを定義するかもしれない。MC type 4に達するために、サブパーティションを含むパーティションの一部に関して最も効率的なフェッチ方法はそれらのサブパーティションの周囲の境界領域を定義することである一方、サブパーティションを含むその他のパーティションに関して最も効率的なフェッチ方法はサブパーティションの各々を独立してフェッチすることであるということが判断されるだろう。このシナリオは、パーティションの１つが互いに近接して動くいくつかのサブパーティションを含む一方、別のパーティションが互いに離れて動くいくつかのサブパーティションを含む場合に起こり得る。
【００７１】
この場合において、一部のパーティションに関してMC type 3フェッチングを行い、他のパーティションに関してMC type 1フェッチングを行うMC type 4モードは最も効率的であろう。換言すれば、MC type 4は、一部のパーティションに関して夫々の個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を使用するフェッチングを引き起こし、その他のサブパーティションに関して独立したフェッチを引き起こす。MC type 4の一部の実装において、モード決定がマクロブロックレベル及びパーティションレベルの双方で（即ち、マクロブロックレベルでパーティションに関して独立した探索を行うか境界領域を定義するか、パーティションレベルでサブパーティションに関して独立した探索を行うか境界領域を定義するか）生じるであろう。これら及びその他のモードタイプは、本願明細書において記述される技術に従って用いられてよい。
【００７２】
多数の実施形態が述べられてきた。本願明細書において記述される技術は、ハードウェア、ソフトウェア、ファームウェアまたは任意のそれらの組み合わせにおいて実装されてよい。ソフトウェアにおいて実装される場合には、上記技術は、復号化器において実行されるときに当該復号化器に本願明細書において記述される技術を行わせる命令を包含するコンピュータ読み取り可能な媒体を対象としてよい。その場合、コンピュータ読み取り可能な媒体は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリまたは類似のものを包含する。復号化器は、本願明細書において記述される技術を行うためのソフトウェア命令を実行する任意のプロセッサまたはコンピュータを包含してよい。
【００７３】
それでもなお、本願明細書に記述される技術に様々な修正がなされてよい。例えば、MC Type 2またはMC Type 3の技術は、効率的なメモリフェッチングキャパビリティを備えた動き補償復号を提供するために単独で用いられてよい。しかしながら、MC Type 1、MC Type 2及びMC Type 3の間での選択は、一般的には、これらモードのいずれかの個別的使用に比べて、より効率的である。これら及びその他の実施形態は、以下の請求項の範囲内である。  
以下に、本願の出願当初の特許請求の範囲に記載された発明が付記される。
［１］動画像データのマクロブロックに関して動きベクトルを受信することと、前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択することと、選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチすることとを具備する方法。
［２］前記動きベクトルは、前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを包含し、選択した前記メモリフェッチモードに従ってデータをフェッチすることは、探索空間内の前記異なるパーティションの周囲の領域であって、前記異なるパーティション及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために、定義された前記領域をフェッチすることとを含む［１］記載の方法。
［３］前記パーティションは、前記マクロブロックの８×８画素パーティションを含む［２］記載の方法。
［４］１または複数の前記パーティションは、サブパーティション及び当該サブパーティションの動きを識別する動きベクトルを含む［２］記載の方法。
［５］定義される前記領域は矩形であって、前記異なるパーティションの全てと、小数補間のために必要とされる追加的な画素値と、前記パーティションの内部になく前記小数補間にも必要とされないいくつかの画素値とを含む［２］記載の方法。
［６］前記動きベクトルは、前記マクロブロックの異なるサブパーティションに関しての動きベクトルを包含し、選択した前記メモリフェッチモードに従ってデータをフェッチすることは、探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる前記異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとを含む［１］記載の方法。
［７］前記サブパーティションは、前記マクロブロックの１または複数の４×４画素サブパーティションを含む［６］記載の方法。
［８］前記パーティション領域の各々は、矩形であって、前記サブパーティションの内部になく前記小数補間のために必要とされないいくつかの追加的な画素値を含む［６］記載の方法。
［９］前記パーティション領域の各々は、前記マクロブロックの個別のパーティションに関連するサブパーティションを含む［６］記載の方法。
［１０］参照動画像フレームの外にある、小数補間のために必要とされる一部の画素を定義するために前記参照動画像フレームの境界の画素値を複製することを更に具備する［１］記載の方法。
［１１］フェッチされた前記データを用いて前記マクロブロックを復号化することを更に具備する［１］記載の方法。
［１２］前記マクロブロックは、色度値に関しての１または複数のブロック及び輝度値に関しての１または複数のブロックを包含する［１］記載の方法。
［１３］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードとを含む［１］記載の方法。
［１４］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードとを含む［１］記載の方法。
［１５］画素データを保存するメモリと、動画像データのマクロブロックに関して動きベクトルを受信し、前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択し、選択した前記メモリフェッチモードに従って前記メモリから前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチする動き補償器とを具備する装置。
［１６］前記動き補償器は、前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信し、探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義することと、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングすることとにより、選択した前記メモリフェッチモードに従って前記メモリから前記データをフェッチする［１５］記載の装置。
［１７］１または複数の前記パーティションは、サブパーティション及び前記サブパーティションの動きを識別する動きベクトルを含む［１６］記載の装置。
［１８］前記領域は、矩形であって、前記異なるパーティションの全てと、小数補間のために必要とされる前記追加的な画素値と、前記パーティション内になく前記小数補間のために必要とされないいくつかの画素値とを含む［１６］記載の装置。
［１９］前記動き補償器は、前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信し、探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる前記異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとにより、選択した前記メモリフェッチモードに従って前記メモリから前記データをフェッチする［１５］記載の装置。
［２０］前記パーティション領域の各々は、矩形であって、前記サブパーティション内になく前記小数補間のために必要とされないいくつかの追加的な画素値を含む［１９］記載の装置。
［２１］前記パーティション領域の各々は、前記マクロブロックの個別のパーティションに関連するサブパーティションを含む［１９］記載の装置。
［２２］前記動き補償器は、参照動画像フレームの外にある、小数補間のために必要とされる一部の画素を定義するために前記参照動画像フレームの境界の画素値を複製する［１５］記載の装置。
［２３］前記動き補償器は、フェッチされた前記データを用いて前記マクロブロックを復号化する［１５］記載の装置。
［２４］前記マクロブロックは、色度値に関しての１または複数のブロック及び輝度値に関しての１または複数のブロックを包含する［１５］記載の装置。
［２５］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードとを含む［１５］記載の装置。
［２６］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードとを含む［１］記載の装置。
［２７］動画像データのマクロブロックに関して動きベクトルを受信し、前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択し、選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素値を含むデータをフェッチする復号化器。
［２８］前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信し、探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義することと、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチする［２７］記載の復号化器。
［２９］前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信し、探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる前記異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチする［２７］記載の復号化器。
［３０］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードとを含む［２７］記載の復号化器。
［３１］前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む［３０］記載の復号化器。
［３２］フェッチされた前記データを用いて動き補償復号処理を行う［２７］記載の復号化器。
［３３］実行時に復号化器に、動画像データのマクロブロックに関して動きベクトルを受信させ、前記マクロブロックの動き補償復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択させ、選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値と小数補間のために必要とされる追加的な画素値とを含むデータをフェッチさせる実行可能な命令を包含するコンピュータ読み取り可能な媒体。
［３４］前記命令は、実行時に前記復号化器に、前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信させ、探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義することと、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチさせる［３３］記載のコンピュータ読み取り可能な媒体。
［３５］前記命令は、実行時に前記復号化器に、前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信させ、探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる前記異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義することと、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチすることとにより、選択した前記メモリフェッチモードに従ってメモリから前記データをフェッチさせる［３３］記載のコンピュータ読み取り可能な媒体。
［３６］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードとを含む［３３］記載のコンピュータ読み取り可能な媒体。
［３７］前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む［３６］記載のコンピュータ読み取り可能な媒体。
［３８］動画像データのマクロブロックに関して動きベクトルを受信するための手段と、前記マクロブロックの動き復号処理に関連するメモリフェッチのために複数のなし得るモードからメモリフェッチモードを選択するための手段と、選択した前記メモリフェッチモードに従って、前記動きベクトルによって識別される画素値及び小数補間のために必要とされる追加的な画素とを含むデータをフェッチするための手段とを具備する装置。
［３９］前記受信するための手段は、前記マクロブロックの異なるパーティションに関しての１または複数の動きベクトルを受信し、前記フェッチするための手段は、探索空間内の前記異なるパーティションに関して、前記異なるパーティションの各々及び前記小数補間のために必要とされる前記異なるパーティションに隣接する追加的な画素値を取り囲む領域を定義し、前記マクロブロックの前記動き補償復号処理のために前記領域をフェッチングする［３８］記載の装置。
［４０］前記受信するための手段は、前記マクロブロックの異なるサブパーティションに関して動きベクトルを受信し、前記フェッチするための手段は、探索空間内の前記サブパーティションの異なるサブセットの周囲の複数のパーティション領域であって、各々が前記サブパーティションの前記サブセットの１つと前記小数補間のために必要とされる前記異なるサブパーティションに隣接する追加的な画素値とを取り囲む複数のパーティション領域、を定義し、前記マクロブロックの前記動き補償復号処理のために前記複数のパーティション領域をフェッチする［３８］記載の装置。
［４１］前記複数のモードは、前記マクロブロックの各パーティション及びサブパーティションに関して独立したフェッチを引き起こす第１のモードと、前記マクロブロックの各パーティション及びサブパーティションを取り囲む領域のフェッチングを引き起こす第２のモードと、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて各パーティションに関してのフェッチングを引き起こす第３のモードとを含む［３８］記載の装置。
［４２］前記複数のモードは、それぞれの個別のパーティションの１または複数のサブパーティションを取り囲むパーティション領域を用いて前記パーティションの一部に関してフェッチングを引き起こし、前記マクロブロックのその他のサブパーティションに関して独立したフェッチを引き起こす第４のモードを含む［４１］記載の装置。
【図１】
0005496667.tif 000004
【図２】
0005496667.tif 000005
【図３】
0005496667.tif 000006
【図４】
0005496667.tif 000007
【図５】
0005496667.tif 000008
【図６】
0005496667.tif 000009
【図７】
0005496667.tif 000010
【図８】
0005496667.tif 000011
【図９】
0005496667.tif 000012
【図１０】
0005496667.tif 000013
【図１１】
0005496667.tif 000014