(57)【要約】  本発明は、ビデオ画像処理の分野に関し、ブロッキングアーティファクトを除去するためのフィルタリング方法および装置を提供し、予測単位の内部補償ブロックに対してフィルタリング処理を実行できないため、画像の主観的品質および客観的品質が劣化するといった問題を解決する。当該方法は、予測単位を少なくとも２つのサブ単位に分割する段階と、少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定する段階と、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得する段階であって、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する、段階と、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階とを備える。
2019503629.tif 000002
【特許請求の範囲】
【請求項１】
ブロッキングアーティファクトを除去するためのフィルタリング方法であって、画像ブロックに対してフィルタリング処理を実行するために用いられ、前記画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割され、前記予測単位は、非並進運動予測単位を含み、前記方法は、
各予測単位を少なくとも２つのサブ単位に分割する段階であって、各サブ単位は、Ｎ×Ｎ個の画素を含み、Ｎは、１より大きいかまたはそれに等しい整数である、段階と、
前記少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、前記少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定する段階と、
前記少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得する段階であって、前記第１のサブ単位および前記第２のサブ単位は、前記フィルタリング境界に隣接する、段階と、
前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階と
を備え、
前記フィルタリング境界が垂直フィルタリング境界であるとき、前記第１のサブ単位は、前記フィルタリング境界に隣接する上サブ単位であり、前記第２のサブ単位は、前記フィルタリング境界に隣接する下サブ単位であり、または、
前記フィルタリング境界が水平フィルタリング境界であるとき、前記第１のサブ単位は、前記フィルタリング境界に隣接する左サブ単位であり、前記第２のサブ単位は、前記フィルタリング境界に隣接する右サブ単位である、
フィルタリング方法。
【請求項２】
前記少なくとも２つのサブ単位のうち任意の１つに対して、予め設定された規則に基づき、前記サブ単位のフィルタリング境界を決定する前記段階は、
前記サブ単位が前記非並進運動予測単位に含まれる場合、前記サブ単位の各境界がフィルタリング境界であると決定する段階、または、前記サブ単位の第１の境界が前記画像ブロックにおける前記予測単位のサブブロック境界である場合、もしくは前記サブ単位の第１の境界が前記画像ブロックにおける前記変換単位のサブブロック境界である場合、前記サブ単位の前記第１の境界がフィルタリング境界であると決定する段階であって、前記第１の境界は、前記サブ単位の任意の境界である、段階を含む、
請求項１に記載の方法。
【請求項３】
前記フィルタリング境界に隣接する第１のサブ単位の第１の画素値を取得する前記段階は、
前記第１のサブ単位の第１の予測画素値を取得する段階と、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算する段階であって、Ｍは１から４の範囲にある任意の整数である、段階と、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得する段階と、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって前記第１のサブ単位の前記第１の画素値を取得する段階と
を含む、
請求項１または２に記載の方法。
【請求項４】
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを計算する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位に含まれる場合、または、前記第１のサブ単位が前記非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記上サブ単位、前記下サブ単位、前記左サブ単位、および前記右サブ単位のそれぞれの前記動きベクトルを導出する段階
を含む、
請求項３に記載の方法。
【請求項５】
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを計算する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出する段階と、
前記第１のサブ単位に隣接する前記上サブ単位が位置する予測単位の動きベクトルが存在する場合、前記第１のサブ単位の動きベクトルを前記上サブ単位の動きベクトルとして用いる段階、または、フレーム内符号化モードが前記第１のサブ単位のために用いられる場合、もしくは前記第１のサブ単位の動きベクトルが存在しない場合、前記予め設定された非並進運動モデルを用いることによって、前記上サブ単位の動きベクトルを導出する段階と
を含む、
請求項３に記載の方法。
【請求項６】
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを計算する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出する段階と、
前記第１のサブ単位に隣接する前記左サブ単位が位置する予測単位の動きベクトルが存在する場合、前記第１のサブ単位の動きベクトルを前記左サブ単位の動きベクトルとして用いる段階、または、フレーム内符号化モードが前記第１のサブ単位のために用いられる場合、もしくは前記第１のサブ単位の動きベクトルが存在しない場合、前記予め設定された非並進運動モデルを用いることによって、前記左サブ単位の動きベクトルを導出する段階と
を含む、
請求項３に記載の方法。
【請求項７】
前記フィルタリング境界に隣接する第１のサブ単位の第１の画素値を取得する前記段階は、
前記第１のサブ単位（Ｐ）の第１の予測画素値を取得する段階と、
予め設定された非並進運動モデルに基づき、前記第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出する段階であって、前記第１の頂点（１）および前記第２の頂点（２）は前記第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、段階と、
前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する前記上座標（１．１）、前記下座標（１．２）、前記左座標（１．３）、および前記右座標（１．４）における前記Ｍ組の座標の前記動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する前記上座標（２．１）、前記下座標（２．２）、前記左座標（２．３）、および前記右座標（２．４）における前記Ｍ組の座標の前記動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得する段階であって、前記Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する第１の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、前記第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、段階と、
前記予め設定された非並進運動モデルに基づき、前記Ｍ個の動きベクトルペアに対して計算を別々に実行し、前記第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得する段階と、
前記第１のサブ単位（Ｐ）の前記Ｍ個の動きベクトルに基づき、前記第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得する段階と、
前記第１のサブ単位（Ｐ）の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって前記第１のサブ単位（Ｐ）の前記第１の画素値を取得する段階と
を含む、
請求項１または２に記載の方法。
【請求項８】
前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する前記段階の前に、前記方法はさらに、
前記フィルタリング境界の境界強度値を決定する段階を備え、
前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する前記段階は、
前記フィルタリング境界の前記境界強度値と、初期閾値β０およびｔ０と、前記フィルタリング境界に隣接する、前記第１のサブ単位および前記第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、第２の予め設定されたアルゴリズムを用いることによって、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行する段階であって、Ｍは１より大きいかまたはそれに等しい整数である、段階
を含む、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記フィルタリング境界の境界強度値を決定する前記段階は、
少なくとも１つのフレーム内予測単位が前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在する場合、前記フィルタリング境界の前記境界強度値を２に設定する段階、または、フレーム内予測単位が前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在せず、前記フィルタリング境界が前記変換単位の前記サブブロック境界であり、かつ、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記変換単位が少なくとも１つの非ゼロ係数を有する場合、前記フィルタリング境界の前記境界強度値を１に設定する段階、または、フレーム内予測単位が前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、前記フィルタリング境界の前記境界強度値を１に設定し、そうでなければ、前記フィルタリング境界の前記境界強度値を０に設定する段階であって、
（１）前記第１のサブ単位および前記第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量が異なり、前記第１のサブ単位が位置する予測単位が１つの動きベクトルを有し、前記第２のサブ単位が位置する予測単位が１つの動きベクトルを有し、前記第１のサブ単位の前記動きベクトルおよび前記第２のサブ単位の前記動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、
（２）前記第１のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、前記第２のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、同じ予測画像を用いる２つの動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（３）前記第１のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、前記第２のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、かつ、以下の２つの条件ａおよびｂが真の条件であり、
（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（ｂ）前方参照候補リストｌｉｓｔ０を示す、前記第１のサブ単位が位置する前記予測単位の動きベクトルと、後方参照候補リストｌｉｓｔ１を示す、前記第２のサブ単位が位置する前記予測単位の動きベクトルとの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または後方参照候補リストｌｉｓｔ１を示す、前記第１のサブ単位が位置する前記予測単位の動きベクトルと、前方参照候補リストｌｉｓｔ０を示す、前記第２のサブ単位が位置する前記予測単位の動きベクトルとの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しい、段階
を含む、
請求項８に記載の方法。
【請求項１０】
前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であり、または、
前記第１のサブ単位および前記第２のサブ単位が位置する前記予測単位の動きモデルが異なる場合、前記動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、前記第１の単位および前記第２のサブ単位が位置する前記予測単位の動きモデルが同じである場合、前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である、
請求項９に記載の方法。
【請求項１１】
画像ブロックに対してフィルタリング処理を実行するように構成されるフィルタリング装置であって、前記画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割され、前記予測単位は、非並進運動予測単位を含み、前記フィルタリング装置は、
各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニットであって、各サブ単位は、Ｎ×Ｎ個の画素を含み、Ｎは、１より大きいかまたはそれに等しい整数である、分割ユニットと、
前記分割ユニットにより分割によって取得された前記少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、前記少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニットと、
前記決定ユニットにより決定された前記少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニットであって、前記第１のサブ単位および前記第２のサブ単位は、前記フィルタリング境界に隣接する、取得ユニットと、
前記取得ユニットにより取得された、前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニットと
を備え、
前記フィルタリング境界が垂直フィルタリング境界であるとき、前記第１のサブ単位は、前記フィルタリング境界に隣接する上サブ単位であり、前記第２のサブ単位は、前記フィルタリング境界に隣接する下サブ単位であり、
または、前記フィルタリング境界が水平フィルタリング境界であるとき、前記第１のサブ単位は、前記フィルタリング境界に隣接する左サブ単位であり、前記第２のサブ単位は、前記フィルタリング境界に隣接する右サブ単位である、
フィルタリング装置。
【請求項１２】
前記少なくとも２つのサブ単位のうち任意の１つに対して、前記決定ユニットは具体的に、
前記サブ単位が前記非並進運動予測単位に含まれる場合、前記サブ単位の各境界がフィルタリング境界であると決定するか、または、前記サブ単位の第１の境界が前記画像ブロックにおける前記予測単位のサブブロック境界である場合、もしくは前記サブ単位の第１の境界が前記画像ブロックにおける前記変換単位のサブブロック境界である場合、前記サブ単位の前記第１の境界がフィルタリング境界であると決定するように構成され、前記第１の境界は、前記サブ単位の任意の境界である、
請求項１１に記載のフィルタリング装置。
【請求項１３】
前記取得ユニットは具体的に、
前記第１のサブ単位の第１の予測画素値を取得すること、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは、１から４の範囲にある任意の整数である、計算すること、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって前記第１のサブ単位の前記第１の画素値を取得すること
を行うように構成される、
請求項１１または１２に記載のフィルタリング装置。
【請求項１４】
前記取得ユニットは具体的に、
前記第１のサブ単位が前記非並進運動予測単位に含まれる場合、または前記第１のサブ単位が前記非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記上サブ単位、前記下サブ単位、前記左サブ単位、および前記右サブ単位のそれぞれの動きベクトルを導出するように構成される、
請求項１３に記載のフィルタリング装置。
【請求項１５】
前記取得ユニットは具体的に、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記上サブ単位が位置する予測単位の動きベクトルが存在する場合、前記第１のサブ単位の動きベクトルを前記上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが前記第１のサブ単位のために用いられる場合、もしくは前記第１のサブ単位の動きベクトルが存在しない場合、前記予め設定された非並進運動モデルを用いることによって、前記上サブ単位の動きベクトルを導出すること
を行うように構成される、
請求項１３に記載のフィルタリング装置。
【請求項１６】
前記取得ユニットは具体的に、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記左サブ単位が位置する予測単位の動きベクトルが存在する場合、前記第１のサブ単位の動きベクトルを前記左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが前記第１のサブ単位のために用いられる場合、もしくは前記第１のサブ単位の動きベクトルが存在しない場合、前記予め設定された非並進運動モデルを用いることによって、前記左サブ単位の動きベクトルを導出すること
を行うように構成される、
請求項１３に記載のフィルタリング装置。
【請求項１７】
前記取得ユニットは具体的に、
前記第１のサブ単位（Ｐ）の第１の予測画素値を取得すること、
予め設定された非並進運動モデルに基づき、前記第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出することであって、前記第１の頂点（１）および前記第２の頂点（２）は、前記第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは、１から４の範囲にある任意の整数である、導出すること、
前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する前記上座標（１．１）、前記下座標（１．２）、前記左座標（１．３）、および前記右座標（１．４）における前記Ｍ組の座標の前記動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する前記上座標（２．１）、前記下座標（２．２）、前記左座標（２．３）、および前記右座標（２．４）における前記Ｍ組の座標の前記動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、前記Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する第１の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、前記第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、
前記予め設定された非並進運動モデルに基づき、前記Ｍ個の動きベクトルペアに対して計算を別々に実行し、前記第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得すること、
前記第１のサブ単位（Ｐ）の前記Ｍ個の動きベクトルに基づき、前記第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位（Ｐ）の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって前記第１のサブ単位（Ｐ）の前記第１の画素値を取得すること
を行うように構成される、
請求項１１または１２に記載のフィルタリング装置。
【請求項１８】
前記決定ユニットはさらに、
前記フィルタリングユニットが、前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行する前に、前記フィルタリング境界の境界強度値を決定するように構成され、
前記フィルタリングユニットは具体的に、前記決定ユニットにより決定された前記フィルタリング境界の前記境界強度値と、初期閾値β０およびｔ０と、前記フィルタリング境界に隣接する、前記第１のサブ単位および前記第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、第２の予め設定されたアルゴリズムを用いることによって、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行するように構成され、Ｍは、１より大きいかまたはそれに等しい整数である、
請求項１１から１７のいずれか一項に記載のフィルタリング装置。
【請求項１９】
前記決定ユニットは具体的に、
少なくとも１つのフレーム内予測単位が、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在する場合、前記フィルタリング境界の前記境界強度値を２に設定するか、または、フレーム内予測単位が、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在せず、前記フィルタリング境界が前記変換単位の前記サブブロック境界であり、かつ、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記変換単位が少なくとも１つの非ゼロ係数を有する場合、前記フィルタリング境界の前記境界強度値を１に設定するか、または、フレーム内予測単位が、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、前記フィルタリング境界の前記境界強度値を１に設定し、そうでなければ、前記フィルタリング境界の前記境界強度値を０に設定するように構成され、
（１）前記第１のサブ単位および前記第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量が異なり、前記第１のサブ単位が位置する予測単位が１つの動きベクトルを有し、前記第２のサブ単位が位置する予測単位が１つの動きベクトルを有し、前記第１のサブ単位の前記動きベクトルおよび前記第２のサブ単位の前記動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、
（２）前記第１のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、前記第２のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、同じ予測画像を用いる２つの動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（３）前記第１のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、前記第２のサブ単位が位置する予測単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、かつ、以下の２つの条件ａおよびｂが真の条件であり、
（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（ｂ）前方参照候補リストｌｉｓｔ０を示す、前記第１のサブ単位が位置する前記予測単位の動きベクトル、および後方参照候補リストｌｉｓｔ１を示す、前記第２のサブ単位が位置する前記予測単位の動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、前記第１のサブ単位が位置する前記予測単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、前記第２のサブ単位が位置する前記予測単位の動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しい、
請求項１８に記載のフィルタリング装置。
【請求項２０】
前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であり、または、
前記第１のサブ単位および前記第２のサブ単位が位置する前記予測単位の動きモデルが異なる場合、前記動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、前記第１の単位および前記第２のサブ単位が位置する前記予測単位の動きモデルが同じである場合、前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である、
請求項１９に記載のフィルタリング装置。
【請求項２１】
画像ブロックに対してフィルタリング処理を実行するように構成されるフィルタリング装置であって、前記画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割され、前記予測単位は、非並進運動予測単位を含み、前記フィルタリング装置は、プロセッサを備え、前記プロセッサは、
各予測単位を少なくとも２つのサブ単位に分割することであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割すること、
前記プロセッサにより分割によって取得された前記少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、前記少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、
前記プロセッサにより決定された前記少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、前記第１のサブ単位および前記第２のサブ単位は、前記フィルタリング境界に隣接する、取得すること、および、
前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行すること
を行うように構成され、
前記フィルタリング境界が垂直フィルタリング境界であるとき、前記第１のサブ単位は、前記フィルタリング境界に隣接する上サブ単位であり、前記第２のサブ単位は、前記フィルタリング境界に隣接する下サブ単位であり、または、
前記フィルタリング境界が水平フィルタリング境界であるとき、前記第１のサブ単位は、前記フィルタリング境界に隣接する左サブ単位であり、前記第２のサブ単位は、前記フィルタリング境界に隣接する右サブ単位である、
フィルタリング装置。
【請求項２２】
前記少なくとも２つのサブ単位のうち任意の１つに対して、前記プロセッサは具体的に、
前記サブ単位が前記非並進運動予測単位に含まれる場合、前記サブ単位の各境界がフィルタリング境界であると決定するか、または、前記サブ単位の第１の境界が前記画像ブロックにおける前記予測単位のサブブロック境界である場合、もしくは前記サブ単位の第１の境界が前記画像ブロックにおける前記変換単位のサブブロック境界である場合、前記サブ単位の前記第１の境界がフィルタリング境界であると決定するように構成され、前記第１の境界は、前記サブ単位の任意の境界である、
請求項２１に記載のフィルタリング装置。
【請求項２３】
前記プロセッサは具体的に、
前記第１のサブ単位の第１の予測画素値を取得すること、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは、１から４の範囲にある任意の整数である、計算すること、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって前記第１のサブ単位の前記第１の画素値を取得すること
を行うように構成される、
請求項２１または２２に記載のフィルタリング装置。
【請求項２４】
前記プロセッサは具体的に、
前記第１のサブ単位が前記非並進運動予測単位に含まれる場合、または前記第１のサブ単位が前記非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記上サブ単位、前記下サブ単位、前記左サブ単位、および前記右サブ単位のそれぞれの動きベクトルを導出するように構成される、
請求項２３に記載のフィルタリング装置。
【請求項２５】
前記プロセッサは具体的に、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記上サブ単位が位置する予測単位の動きベクトルが存在する場合、前記第１のサブ単位の動きベクトルを前記上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが前記第１のサブ単位のために用いられる場合、もしくは前記第１のサブ単位の動きベクトルが存在しない場合、前記予め設定された非並進運動モデルを用いることによって、前記上サブ単位の動きベクトルを導出すること
を行うように構成される、
請求項２３に記載のフィルタリング装置。
【請求項２６】
前記プロセッサは具体的に、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記左サブ単位が位置する予測単位の動きベクトルが存在する場合、前記第１のサブ単位の動きベクトルを前記左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが前記第１のサブ単位のために用いられる場合、もしくは前記第１のサブ単位の動きベクトルが存在しない場合、前記予め設定された非並進運動モデルを用いることによって、前記左サブ単位の動きベクトルを導出すること
を行うように構成される、
請求項２３に記載のフィルタリング装置。
【請求項２７】
前記プロセッサは具体的に、
前記第１のサブ単位（Ｐ）の第１の予測画素値を取得すること、
予め設定された非並進運動モデルに基づき、前記第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出することであって、前記第１の頂点（１）および前記第２の頂点（２）は、前記第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは、１から４の範囲にある任意の整数である、導出すること、
前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する前記上座標（１．１）、前記下座標（１．２）、前記左座標（１．３）、および前記右座標（１．４）における前記Ｍ組の座標の前記動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する前記上座標（２．１）、前記下座標（２．２）、前記左座標（２．３）、および前記右座標（２．４）における前記Ｍ組の座標の前記動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、前記Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する第１の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、前記第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、
前記予め設定された非並進運動モデルに基づき、前記Ｍ個の動きベクトルペアに対して計算を別々に実行し、前記第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得すること、
前記第１のサブ単位（Ｐ）の前記Ｍ個の動きベクトルに基づき、前記第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位（Ｐ）の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって前記第１のサブ単位（Ｐ）の前記第１の画素値を取得すること
を行うように構成される、
請求項２１または２２に記載のフィルタリング装置。
【請求項２８】
前記プロセッサはさらに、
前記プロセッサが前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行する前に、前記フィルタリング境界の境界強度値を決定し、
前記フィルタリング境界の前記境界強度値と、初期閾値β０およびｔ０と、前記フィルタリング境界に隣接する、前記第１のサブ単位および前記第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、第２の予め設定されたアルゴリズムを用いることによって、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行するように構成され、Ｍは、１より大きいかまたはそれに等しい整数である、
請求項２１から２７のいずれか一項に記載のフィルタリング装置。
【請求項２９】
前記プロセッサは具体的に、
少なくとも１つのフレーム内予測単位が、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在する場合、前記フィルタリング境界の前記境界強度値を２に設定するか、または、フレーム内予測単位が、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在せず、前記フィルタリング境界が前記変換単位の前記サブブロック境界であり、かつ、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記変換単位が少なくとも１つの非ゼロ係数を有する場合、前記フィルタリング境界の前記境界強度値を１に設定するか、または、フレーム内予測単位が、前記第１のサブ単位もしくは前記第２のサブ単位が位置する前記画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、前記フィルタリング境界の前記境界強度値を１に設定し、そうでなければ、前記フィルタリング境界の前記境界強度値を０に設定するように構成され、
（１）前記第１のサブ単位および前記第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量が異なり、前記第１のサブ単位が位置する予測単位は１つの動きベクトルを有し、前記第２のサブ単位が位置する予測単位は１つの動きベクトルを有し、前記第１のサブ単位の前記動きベクトルおよび前記第２のサブ単位の前記動きベクトルの水平成分または垂直成分間の動きベクトル差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、
（２）前記第１のサブ単位が位置する予測単位は２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、前記第２のサブ単位が位置する予測単位は２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、同じ予測画像を用いる２つの動きベクトルの水平成分または垂直成分間の動きベクトル差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（３）前記第１のサブ単位が位置する予測単位は２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、前記第２のサブ単位が位置する予測単位は、２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、かつ、以下の２つの条件ａおよびｂが真の条件であり、
（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（ｂ）前方参照候補リストｌｉｓｔ０を示す、前記第１のサブ単位が位置する前記予測単位の動きベクトル、および後方参照候補リストｌｉｓｔ１を示す、前記第２のサブ単位が位置する前記予測単位の動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、前記第１のサブ単位が位置する前記予測単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、前記第２のサブ単位が位置する前記予測単位の動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しい、
請求項２８に記載のフィルタリング装置。
【請求項３０】
前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であり、または、
前記第１のサブ単位および前記第２のサブ単位が位置する前記予測単位の動きモデルが異なる場合、前記動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、前記第１の単位および前記第２のサブ単位が位置する前記予測単位の動きモデルが同じである場合、前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である、
請求項２９に記載のフィルタリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年１月２９日に中国特許庁に出願された、「ブロッキングアーティファクトを除去するためのフィルタリング方法および装置」と題する中国特許出願第２０１６１００６４７５３．８号に基づく優先権を主張し、当該出願はその全体が参照により本明細書に組み込まれている。
【０００２】
本発明は、ビデオ画像処理の分野に関し、特に、ブロッキングアーティファクトを除去するためのフィルタリング方法および装置に関する。
【背景技術】
【０００３】
ビデオ符号化圧縮技術において、ブロックベースのハイブリッドビデオ符号化が主に実行され、１つのフレームのビデオ画像を複数のブロック（ｂｌｏｃｋ）に分割し、ブロック毎に、（フレーム内予測およびフレーム間予測を含む）予測、変換、量子化、エントロピ符号化、および他の段階によってビデオ符号化圧縮を実装する。具体的には、ブロックの動き情報がまずブロックベースの動き補償予測（Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ  Ｐｒｅｄｉｃｔｉｏｎ、ＭＣＰ）によって取得され、ブロックの予測画素値が動き情報に基づき決定され、そして、ブロックの元の画素値と予測画素値との間の残差に対して変換および量子化が実行され、最後に、量子化された変換係数および（コードブロックサイズ、予測モード、動きベクトル、および他の情報などの）符号化モード情報が、エントロピ符号化処理によってビットストリームに変換され、当該ビットストリームは、デコーダへ送信される。
【０００４】
ブロックベースのハイブリッドビデオ符号化は、各画像を異なるサイズのブロックに分割し、そして、ブロック予測、ブロック変換、およびブロック量子化を実行するためのものであるので、ブロック間の相関が考慮されず、ブロックの境界上の画素値の再構築精度がブロックの中間の画素値の再構築精度より低く、ブロックインコヒーレンス、すなわち、「ブロッキングアーティファクト」をもたらす。その結果、復号および再構築後に取得された画像は見るからに、ブロック同士を共に継ぎ合わせたように示される。従って、復号および再構築後、画像に対して、「ブロッキングアーティファクト除去」処理を実行する必要がある。
【０００５】
現在、ブロッキングアーティファクトを除去するための一般的な方法は、オーバーラップブロック動き補償（Ｏｖｅｒｌａｐｐｅｄ  Ｂｌｏｃｋ  Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ、ＯＢＭＣ）である。この方法は、全ての動きベクトルを連続するフィールドと見なし、内部画素が現在のブロックの動きベクトルに影響されるのみならず、周囲の動きベクトルにも大いに影響されることを示唆する。現在のブロックに隣接する、上、下、左、および右方向におけるサブブロックの動きベクトルが取得される。動きベクトルが存在し、現在のサブブロックの動きベクトルと異なる場合、動き補償は現在のブロックに対して当該動きベクトルを用いることによって実行され、現在のブロックの新たな予測信号を取得し、現在のブロックの元の予測信号および現在のブロックの新たな予測信号が、重み付けされてフィルタリングされ、「ブロッキングアーティファクト」を除去する。
【０００６】
上述の方法は、並進モデルに基づき実行され、言い換えれば、画像ブロックにおける全ての運動が並進運動である場合に限る。従って、既存のＯＢＭＣは、上境界および左境界上に位置するブロックのみがフィルタリングされることを示唆する。このケースにおいて、予測単位が非並進モード（例えば、アフィン運動モデル）の予測単位を含み、これらの予測単位ブロックの動きベクトルが異なる場合、フィルタリング処理は、上述の方法が依然として用いられた場合、単位の内部予測単位に対して実行できない。従って、「ブロッキングアーティファクト」は依然として、ブロック間に存在し、符号化精度ならびに主観的および客観的効果に影響を与える。
【発明の概要】
【０００７】
本発明の主な目的は、ブロッキングアーティファクトを除去するためのフィルタリング方法および装置を提供し、内部予測単位ブロック間の「ブロッキングアーティファクト」が処理できず、符号化精度ならびに主観的および客観的効果が影響を受けるといった問題を解決することである。
【０００８】
上述の目的を達成するために、以下の技術的解決手段が本発明の実施形態において用いられる。
【０００９】
第１の態様によると、本発明の実施形態では、ブロッキングアーティファクトを除去するためのフィルタリング方法が提供され、画像ブロックに対してフィルタリング処理を実行するために用いられ、ここで、画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割され、予測単位は、非並進運動予測単位を含む。当該方法は、各予測単位を少なくとも２つのサブ単位に分割する段階であって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、段階と、少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定する段階と、少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得する段階であって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、段階と、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階とを備えてよい。
【００１０】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００１１】
このように、予測単位内の全てのフィルタリング境界が決定され、フィルタリング処理はフィルタリング境界に隣接する画素に対して実行され、これにより、異なる動きベクトルを有する単位ブロック間の「ブロッキングアーティファクト」が除去され、画像の予測精度および主観的品質が向上する。
【００１２】
任意選択的に、第１の態様の実装可能な方式において、少なくとも２つのサブ単位における第１のサブ単位に対して、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、または、サブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界はフィルタリング境界であると決定され、ここで、第１の境界は、サブ単位の任意の境界である。加えて、サブ単位が非並進運動予測単位に含まれる場合、第１のサブ単位の各境界はフィルタリング境界であると決定される。
【００１３】
このように、予測単位における、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する境界がフィルタリング境界であると決定され、後続のフィルタリング処理が当該境界に対して実行されるのみならず、非並進運動予測単位の境界がフィルタリング境界であると決定されることもでき、予測単位における非並進運動予測単位の当該境界に対してフィルタリング処理が実行され、これにより、予測単位における非並進運動予測単位間のブロッキングアーティファクトが除去される。
【００１４】
任意選択的に、第１の態様の別の実装可能な方式において、フィルタリング境界に隣接する第１のサブ単位の第１の画素値を取得する段階は、第１のサブ単位の第１の予測画素値を取得する段階と、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算する段階と、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得する段階と、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得する段階とを含んでよく、ここで、Ｍは１から４の範囲にある任意の整数である。
【００１５】
第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、右サブ単位のそれぞれの動きベクトルを計算する段階は、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを導出する段階、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出する段階、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いる段階、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、上サブ単位の動きベクトルを導出する段階、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出する段階、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いる段階、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出する段階とを含む。
【００１６】
任意選択的に、第１の態様のさらに別の実装可能な方式において、フィルタリング境界に隣接する第１のサブ単位の第１の画素値を取得する段階はさらに、第１のサブ単位（Ｐ）の第１の予測画素値を取得する段階と、予め設定された非並進運動モデルに基づき、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出する段階であって、第１の頂点（１）および第２の頂点（２）は、第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、段階と、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得する段階であって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する第１の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、段階と、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得する段階と、第１のサブ単位（Ｐ）のＭ個の動きベクトルに基づき、第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得する段階と、第１のサブ単位（Ｐ）の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位（Ｐ）の第１の画素値を取得する段階とを含んでよい。
【００１７】
このように、異なるサブ単位の動きベクトルの相関を考慮し、第１のサブ単位に隣接するサブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償が実行されるか、または、第１のサブ単位に隣接する座標点に基づき、第１の単位の動きベクトルが計算され、第１のサブ単位に対して動き補償を実行する。従って、データ冗長性およびデータ符号化長さが低減され、第１のサブ単位の予測精度が向上する。
【００１８】
任意選択的に、第１の態様のさらに別の実装可能な方式において、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階は、フィルタリング境界の境界強度値を決定する段階と、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき、フィルタリング境界に対応する閾値βおよびｔを取得する段階と、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階であって、Ｍは１より大きいかまたはそれに等しい整数である、段階とを含んでよい。
【００１９】
このように、フィルタリング処理は、フィルタリング境界の強度に基づき、フィルタリング境界に隣接する画素に対して実行されることができ、変換単位および予測単位の分割により引き起こされるブロッキングアーティファクトを低減する。
【００２０】
第２の態様によると、本発明の実施形態はさらに、第１の態様において説明されている方法を実行するように構成されるフィルタリング装置を提供する。フィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニットであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割ユニットと、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニットと、決定ユニットにより決定された少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニットであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得ユニットと、取得ユニットにより取得された、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニットとを備えてよい。
【００２１】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００２２】
このように、予測単位における全てのフィルタリング境界が決定され、フィルタリング処理は、フィルタリング境界に隣接する画素に対して実行され、これにより、異なる動きベクトルを有する単位ブロック間の「ブロッキングアーティファクト」が除去され、画像の予測精度および主観的品質が向上する。
【００２３】
任意選択的に、第２の態様の実装可能な方式において、少なくとも２つのサブ単位のうち任意の１つに対して、決定ユニットは具体的に、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界がフィルタリング境界であると決定するか、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界がフィルタリング境界であると決定するように構成され、ここで、第１の境界は、サブ単位の任意の境界である。
【００２４】
このように、予測単位における、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する境界がフィルタリング境界であると決定され、後続のフィルタリング処理が当該境界に対して実行されるのみならず、非並進運動予測単位の境界がフィルタリング境界であることが決定されることもでき、フィルタリング処理が予測単位における非並進運動予測単位の当該境界に対して実行され、これにより、予測単位における非並進運動予測単位間のブロッキングアーティファクトが除去される。
【００２５】
任意選択的に、第２の態様の別の実装可能な方式において、取得ユニットは具体的に、第１のサブ単位の第１の予測画素値を取得すること、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは１から４の範囲にある任意の整数である、計算すること、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することを行うように構成されてよい。
【００２６】
第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出することを含む。
【００２７】
任意選択的に、第２の態様のさらに別の実装可能な方式において、取得ユニットはさらに具体的に、第１のサブ単位（Ｐ）の第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、右座標（２．４）におけるＭ組の座標の動きベクトルとを導出することであって、第１の頂点（１）および第２の頂点（２）は第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、右座標（２．４）におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する第１の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、第１の座標は上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得すること、第１のサブ単位（Ｐ）のＭ個の動きベクトルに基づき、第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位（Ｐ）の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位（Ｐ）の第１の画素値を取得することを行うように構成されてよい。
【００２８】
このように、異なるサブ単位の動きベクトルの相関を考慮し、第１のサブ単位に隣接するサブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償が実行されるか、または、第１のサブ単位に隣接する座標点に基づき、第１の単位の動きベクトルが計算され、第１のサブ単位に対して動き補償を実行する。従って、データ冗長性およびデータ符号化長さが低減され、第１のサブ単位の予測精度が向上する。
【００２９】
任意選択的に、第２の態様のさらに別の実装可能な方式において、決定ユニットはさらに、フィルタリング境界の境界強度値を決定するように構成され、フィルタリングユニットは具体的には、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき、フィルタリング境界に対応する閾値βおよびｔを取得し、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成され、ここで、Ｍは、１より大きいかまたはそれに等しい整数である。
【００３０】
このように、フィルタリング処理は、フィルタリング境界の強度に基づき、フィルタリング境界に隣接する画素に対して実行されることができ、変換単位および予測単位の分割により引き起こされるブロッキングアーティファクトを低減する。
【００３１】
第２の態様において説明されている機能モジュールは、ハードウェアを用いることによって実装され得て、またはハードウェアにより、対応するソフトウェアを実行することによって実装され得ることに留意すべきである。ハードウェアまたはソフトウェアは、上述の機能に対応する１つまたは複数のモジュール、例えば、外部ネットワーク要素と通信するように構成される通信ユニット、分割ユニット、決定ユニット、取得ユニット、およびフィルタリングユニットの機能を実装するように構成されるプロセッサ、および対応するアプリケーションプログラムを記憶するように構成されるメモリを含む。プロセッサ、通信ユニット、およびメモリは、バスを用いることによって接続され、互いに通信する。具体的な実装方式は以下の通りである。
【００３２】
第３の態様によると、本発明の実施形態はさらに、第１の態様において説明される方法を実行するように構成されるフィルタリング装置を提供する。フィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニットであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割ユニットと、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニットと、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニットであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得ユニットと、取得ユニットにより取得された、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニットとを備えてよい。
【００３３】
具体的には、プロセッサにより実行される機能については、第２の態様において提供されているフィルタリングユニットにおける分割ユニット、決定ユニット、取得ユニット、およびフィルタリングユニットにより実行される機能を参照されたい。
【００３４】
以上から、本発明の実施形態はブロッキングアーティファクトを除去するためのフィルタリング方法およびフィルタリング装置を提供することが分かる。各予測単位は、少なくとも２つのサブ単位に分割される。分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれは、トラバースされ、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界は、予め設定された規則に基づき、決定される。第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値は取得され、ここで、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する。第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理が実行される。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトが除去され、画像の予測精度および主観的品質が向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを完全に除去できないといった問題を回避する。
【図面の簡単な説明】
【００３５】
本発明の実施形態における、または従来技術における技術的解決手段をより明確に説明するために、以下では、実施形態または従来技術を説明するために必要とされる添付の図面を簡潔に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示しているに過ぎず、当業者は、創造努力なく、これらの添付の図面から、他の図面をさらに導出し得る。
【００３６】
【図１】本発明の実施形態に係るフィルタリング装置の構造図である。
【００３７】
【図２】本発明の実施形態に係る、ブロッキングアーティファクトを除去するためのフィルタリング方法のフローチャートである。
【００３８】
【図３】本発明の実施形態に係る画像ブロックの模式図である。
【００３９】
【図４】本発明の実施形態に係る画像ブロックの模式図である。
【００４０】
【図５】本発明の実施形態に係る画像ブロックの模式図である。
【００４１】
【図６】本発明の実施形態に係るフィルタリング装置の構造図である。
【発明を実施するための形態】
【００４２】
本発明の主な原理は以下の通りである。予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、非並進運動予測単位も発見され、フィルタリング処理が予測単位における非並進運動予測単位の境界に対して実行され、これにより、予測単位におけるブロッキングアーティファクトが除去され、画像の予測精度および主観的品質が向上し、非並進運動モジュールを用いることによって動き補償が実行される予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを完全に除去できないといった問題を回避する。従って、画像の予測精度および主観的品質が向上する。
【００４３】
本発明の明細書、特許請求の範囲、および添付の図面における「第１」、「第２」、「第３」、および「第４」等（存在する場合）の用語は、類似するものを区別することを意図するものであるが、必ずしも特定の順序を示すものではないことに留意すべきである。そのように称されるデータは、適切な状況において交換可能であり、これにより、本明細書において説明されている本発明の実施形態は、本明細書において示されまたは説明されている順序と異なる順序において実装できることが理解されるべきである。加えて、「中心」、「上」、「下」、「左」、「右」、「頂部」、「底部」、「内側」、および「外側」等の用語により示される方向または位置関係は、添付の図面に基づき示される方向または位置関係であり、本発明を容易に説明し、説明を簡略化するために用いられるに過ぎず、示されているシステムまたは構成要素は特定の向きを有する必要があること、または特定の向きにおいて構成されて操作される必要があることを示すまたは暗示するものではなく、従って、本発明に対する限定として理解されることができない。
【００４４】
以下では、本発明の実施形態における添付の図面を参照し、本発明の実施形態における技術的解決手段を明確に、かつ十分に説明する。明らかに、説明されている実施形態は、本発明の実施形態の全部ではなく一部に過ぎない。当業者により、本発明の実施形態に基づき、創造努力なく取得される他の全ての実施形態は、本発明の保護範囲内に含まれるものとする。
【００４５】
図１は、本発明において提供される方法を実行できるフィルタリング装置の構造図である。フィルタリング装置は、画像ブロックに対してフィルタリング処理を実行するように構成される。画像ブロックは、少なくとも１つの予測単位、少なくとも１つの非並進運動予測単位、および少なくとも１つの変換単位に分割される。予測単位は、非並進運動予測単位を含む。フィルタリング装置は、ビデオ符号化装置またはビデオ復号装置であってよい。ビデオ符号化装置またはビデオ復号装置は、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、またはビデオサーバなどの、ビデオを出力または記憶する必要がある任意の装置であってよい。図１を参照すると、フィルタリング装置は、通信インタフェース１００１、プロセッサ１００２、メモリ１００３、および、これらの構成要素の間の接続および相互通信を実装するように構成される少なくとも１つの通信バス１００４を備えてよい。
【００４６】
通信インタフェース１００１は、外部ネットワーク要素とのデータ通信を実行するように構成されてよい。
【００４７】
プロセッサ１００２は、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、略してＣＰＵ）であってよく、または、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、または、例えば、１つまたは複数のマイクロプロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）、もしくは１つまたは複数のフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、ＦＰＧＡ）のような、本発明の本実施形態を実装するように構成される１つまたは複数の集積回路であってよい。
【００４８】
メモリ１００３は、ランダムアクセスメモリ（ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）などの揮発性メモリ（ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、または、リードオンリメモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）、ハードディスクドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、ＨＤＤ）、もしくはソリッドステートドライブ（ｓｏｌｉｄ−ｓｔａｔｅ  ｄｒｉｖｅ、ＳＳＤ）などの不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、または、上述の種類のメモリの組み合わせであってよく、本発明において提供されているフィルタリング方法を実装できるアプリケーションプログラムを記憶するように構成される。
【００４９】
通信バス１００４は、アドレスバス、データバス、制御バス、および同様のものに分類されてよく、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＩＳＡ）バス、ペリフェラルコンポーネントインターコネクト（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ、ＰＣＩ）バス、拡張型業界標準アーキテクチャ（Ｅｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＥＩＳＡ）バス、または同様のものであってよい。表記を容易にするために、通信バスは、図１において１本の太線のみを用いることによって表わされるが、１つのバスのみ、または１種類のバスのみが存在することを示すわけではない。
【００５０】
具体的には、プロセッサ１００２は、各予測単位を少なくとも２つのサブ単位に分割することであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割すること、少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得すること、および、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することを行うように構成される。
【００５１】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００５２】
少なくとも２つのサブ単位のうち任意の１つに対して、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界はフィルタリング境界であると決定されるか、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界はフィルタリング境界であると決定され、ここで、第１の境界は、サブ単位の任意の境界である。
【００５３】
任意選択的に、プロセッサ１００２は、第１のサブ単位の第１の予測画素値を取得し、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算し、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得し、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化し、第１のサブ単位の第１の画素値を取得するように構成されてよく、ここで、Ｍは、１から４の範囲にある任意の整数である。
【００５４】
プロセッサ１００２が、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって左サブ単位の動きベクトルを導出することであってよい。
【００５５】
任意選択的に、プロセッサ１００２はさらに、第１のサブ単位の第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルとを導出することであって、第１の頂点および第２の頂点は第１のサブ単位の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する第１の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する第１の座標の動きベクトルとを含み、第１の座標は上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位のＭ個の動きベクトルを取得すること、第１のサブ単位のＭ個の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することを行うように構成されてよい。
【００５６】
任意選択的に、プロセッサ１００２はさらに、フィルタリング境界の境界強度値を決定し、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されてよい。
【００５７】
以上から、本発明の本実施形態において提供されているフィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割すること、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得すること、および、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することを行うことが分かる。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトが除去され、画像の予測精度および主観的品質が向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを完全に除去できないといった問題を回避する。
【００５８】
説明しやすくするために、実施形態１は、段階の形式で、本発明において提供されている、ブロッキングアーティファクトを除去するためのフィルタリング方法を示して詳細に説明する。示されている段階は、例えば、図１において示されている装置以外の、実行可能な命令のセットを含むコンピュータシステムにおいて実行されてもよい。加えて、論理的な順序が図面において示されているが、示されているまたは説明されている段階は、いくつかの場合において異なる順序において実行されてよい。
【００５９】
［実施形態１］
図２は、本発明の実施形態に係る、ブロッキングアーティファクトを除去するためのフィルタリング方法のフローチャートである。方法は、図１において示されているフィルタリング装置によって実行され、画像ブロックに対してフィルタリング処理を実行するために用いられる。画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割される。予測単位は、非並進運動予測単位を含む。
【００６０】
画像ブロックは、符号化画像ブロックであってよく、または復号画像ブロックであってよい。フィルタリング装置がビデオ符号化装置であるとき、画像ブロックは、符号化画像ブロックである。フィルタリング装置がビデオ復号装置であるとき、画像ブロックは、復号画像ブロックである。
【００６１】
高効率ビデオ符号化（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＨＥＶＣ）規格において、画像ブロックのサイズは、６４×６４、３２×３２、１６×１６、および８×８という４つのレベルに分類され得る。各レベルの画像ブロックは、フレーム内予測およびフレーム間予測に基づき、異なるサイズの予測単位に分割され得る。各予測単位は、並進運動モデルベースの動き補償予測および非並進運動モデルベースの動き補償予測に基づき、並進運動予測単位および非並進運動予測単位に分類され得る。各レベルの画像ブロックは、異なる変換方法に基づき、異なるサイズの変換単位に分割されてよい。
【００６２】
本発明において説明されている非並進運動は、アフィン運動、スケール運動（ｓｃａｌｅ  ｍｏｔｉｏｎ）、回転運動、または透視運動（ｐｅｒｓｐｅｃｉｖｅ  ｍｏｔｉｏｎ）などの任意の不規則な運動を含んでよいことに留意すべきである。予測単位が非並進運動予測単位を含むことは、予測単位が非並進運動予測単位と交差することを意味する。任意選択的に、予測単位は、並進運動予測単位および非並進運動予測単位を含んでよい。
【００６３】
例えば、図３に示されているように、フレーム間予測が３２×３２の画像ブロックに対して実行される場合、３２×３２の画像ブロックは、１つの予測単位として単独で用いられ得る。動き補償予測が非並進運動モジュールを用いることによって予測単位に対して実行される場合、予測単位は、各非並進運動予測単位に基づき、異なるサイズの非並進運動予測単位に分割され得る。異なる変換モードが３２×３２の画像ブロックにおける異なるサイズの単位のために用いられる場合、３２×３２の画像ブロックは、各変換単位に基づき、異なるサイズの変換単位に分割され得る。
【００６４】
非並進運動モデルに基づき取得された隣接する単位の動きベクトルは異なる。従って、動き補償予測が非並進運動モデルに基づき実行される、予測単位における隣接する単位の間のブロッキングアーティファクトを除去するために、隣接する単位間の境界を発見することがさらに必要であり、これにより、境界に近い画素に対してフィルタリング処理を実行することができる。図２において示されているように、方法は、以下の段階を備えてよい。
【００６５】
Ｓ１０１．各予測単位を少なくとも２つのサブ単位に分割し、ここで、各サブ単位は、Ｎ×Ｎ個の画素を含み、Ｎは、１より大きいかまたはそれに等しい整数である。
【００６６】
Ｎの値は、必要に応じて設定されてよく、このことは本発明の本実施形態において限定されない。任意選択的に、Ｎは、デフォルトで４である。
【００６７】
例えば、ｗ×ｈの予測単位は、複数の４×４のサブ単位に分割されてよい。本発明の本実施形態において、４×４のサブ単位は、４×４の画素を含むサブ単位を表わし得る。
【００６８】
Ｓ１０２．少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定する。
【００６９】
任意選択的に、少なくとも２つのサブ単位の任意の１つに対して、予め設定された規則に基づき、サブ単位のフィルタリング境界を決定する段階は、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界がフィルタリング境界であると決定する段階、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界がフィルタリング境界であると決定する段階を含んでよく、ここで、第１の境界は、サブ単位の任意の境界である。
【００７０】
このように、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する、予測単位における画素が発見されるのみならず、動き補償予測が非並進運動モデルに基づき実行される、予測単位における隣接する単位間の境界も取得できる。
【００７１】
例えば、図３において示されているように、３２×３２の予測単位は、（図３の影１により示されているように）６４個の４×４のサブ単位に分割されてよい。各サブ単位は、上境界、下境界、左境界、および右境界という４つの境界を有してよい。図３の影２により示されているサブ単位は、予測単位の内部サブ単位である。動き補償予測が非並進運動モデルを用いることによって実行されるので、サブ単位の動きベクトルは、その隣接するサブ単位の動きベクトルと異なる。サブ単位が予測単位の内部サブ単位であるので、既存のフィルタリング方式が用いられる場合、サブ単位に対してフィルタリング処理が実行されず、その結果、サブ単位とその隣接するサブ単位との間の「ブロッキングアーティファクト」は除去されない。しかし、サブ単位の境界は、フィルタリング境界であると段階Ｓ１０２において決定され得て、フィルタリング処理は、後続の段階における処理によってサブ単位の境界の近くの画素に対して実行され得て、サブ単位とその隣接するサブ単位との間の「ブロッキングアーティファクト」を可能な限り除去し、それにより、予測単位の内部サブ単位に対してフィルタリング処理を実装し、ビデオ画像の主観的および客観的品質を向上させる。
【００７２】
図３において示されているサブ単位の上、下、左、および右境界は単に、説明のための例であり、サブ単位の境界は、本例のネーミング方式を含むが、それに限定されないことに留意すべきである。
【００７３】
Ｓ１０３．第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得し、ここで、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する。
【００７４】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００７５】
垂直フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが水平に配置されている変換単位または非並進運動予測単位のサブブロック境界であり、水平フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが垂直に配置されている変換単位または非並進運動予測単位のサブブロック境界であることに留意すべきである。本発明において、画像ブロックは、ｘ軸（すなわち、水平方向）およびｙ軸（垂直方向）を含む平面であることが理解され得る。従って、「水平」は、ｘ軸に平行であることを意味し、「垂直」は、ｙ軸に平行であることを意味する。例えば、図３において示されているように、変換単位のサブブロックがｘ軸に平行に配置された変換単位のサブブロック境界は、垂直フィルタリング境界である。
【００７６】
例えば、第１のサブ単位または第２のサブ単位の第１の画素値は、以下の方式１または方式２で取得されてよい。第１のサブ単位の第１の画素値を取得する方式は第２のサブ単位の第１の画素値を取得する方式と同じであるので、説明しやすくするために、第１のサブ単位の第１の画素値を取得することのみを例として用いて、方式１または方式２を説明する。
【００７７】
方式１：第１のサブ単位の第１の予測画素値を取得すること、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは１から４の範囲にある任意の整数である、計算すること、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することである。
【００７８】
本発明の本実施形態において、動きベクトルは、水平成分および垂直成分を含むことに留意すべきである。水平成分は、ｘ軸に平行な成分であり、垂直成分は、ｙ軸に平行な成分である。
【００７９】
第１のサブ単位の第１の予測画素値は、動きモデルに基づき導出された元の画素値であってよい。例えば、第１のサブ単位がアフィン運動単位であるとき、第１のサブ単位における各画素の動きベクトルは、以下のアフィン運動モデル（１）に基づき取得されてよい。そして、第１のサブ単位における各画素をトラバースし、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見する。参照フレームにおける画素の画素値は、第１のサブ単位における画素の予測画素値として用いられる。全ての画素をトラバースすることによって取得された予測画素値は、第１のサブ単位の第１の予測画素値となるよう組み合わせられる。第１のサブ単位がＮ×Ｎ個の画素を含む場合、第１のサブ単位の取得された第１の予測画素値は、Ｎ×Ｎ個のマトリックスであることが理解され得る。加えて、既存の補間フィルタリングアルゴリズムが、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見するために用いられてよく、このことはここでは詳細に説明されない。本発明の本実施形態において、参照フレームは、前方参照フレームであってよく、または後方参照フレームであってよいことに留意すべきである。
【数１】
2019503629.tif 000003
【００８０】
アフィン運動モデル（１）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（Ｖ１ｘ，Ｖ１ｙ）は通常、第１のサブ単位の右頂点（ｗ，０）の動きベクトルであってよく、ここで、ｗは、第１のサブ単位の幅であってよく、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである。
【００８１】
第１のサブ単位に隣接する上サブ単位は、第１のサブ単位の上境界に隣接するサブ単位であり、第１のサブ単位に隣接する下サブ単位は、第１のサブ単位の下境界に隣接するサブ単位であり、第１のサブ単位に隣接する左サブ単位は、第１のサブ単位の左境界に隣接するサブ単位であり、第１のサブ単位に隣接する右サブ単位は、第１のサブ単位の右境界に隣接するサブ単位である。
【００８２】
例えば、図３において示されているように、第１のサブ単位がサブ単位２である場合、サブ単位ａは、第１のサブ単位の上サブ単位であり、サブ単位ｂは、第１のサブ単位の下サブ単位であり、サブ単位ｃは、第１のサブ単位の左サブ単位であり、サブ単位ｄは、第１のサブ単位の右サブ単位である。
【００８３】
任意選択的に、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出することを含んでよい。
【００８４】
本発明の本実施形態において、非並進運動は、アフィン運動、スケール運動、回転運動、または透視運動などの任意の不規則な運動であってよい。  従って、異なる非並進運動に対応し、予め設定された非並進運動モデルを用いることによって、サブ単位の動きベクトルを導出することは、アフィン運動モデル（１）に基づき、サブ単位の動きベクトルを導出すること、または、スケール運動モデル（２）
【数２】
2019503629.tif 000004
に基づき、サブ単位の動きベクトルを導出することであって、スケール運動モデル（２）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（ａ０，ａ１）は、１組の予め設定されたスケール因子であり、ａ０は、水平方向におけるスケール因子であり、ａ１は、垂直方向におけるスケール因子であり、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである、導出すること、または、回転運動モデル（３）
【数３】
2019503629.tif 000005
に基づき、サブ単位の動きベクトルを導出することであって、回転運動モデル（３）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである、導出すること、または、透視運動モデル（４）
【数４】
2019503629.tif 000006
に基づき、サブ単位の動きベクトルを導出することであって、透視運動モデル（４）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（Ｖ１ｘ，Ｖ１ｙ）は通常、第１のサブ単位の右頂点（ｗ，０）の動きベクトルであってよく、（Ｖ２ｘ，Ｖ２ｙ）は通常、第１のサブ単位の左下の頂点（０，ｈ）の動きベクトルであってよく、（Ｖ３ｘ，Ｖ３ｙ）は通常、第１のサブ単位の右下の頂点（ｗ，ｈ）の動きベクトルであってよく、ｗは、第１のサブ単位の幅であってよく、ｈは、第１のサブ単位の高さであり、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである、導出することを含んでよい。
【００８５】
第２の画素値は、第１のサブ単位に隣接するサブ単位を用いて第１のサブ単位に対して動き補償を実行することによって取得された新たな画素値であってよい。
【００８６】
任意選択的に、Ｍが４であるとき、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得することは、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得すること、第１のサブ単位に隣接する下サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得すること、第１のサブ単位に隣接する左サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得すること、および、第１のサブ単位に隣接する右サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得することを含んでよい。
【００８７】
第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式は基本的に、第１のサブ単位に隣接する下サブ単位または左サブ単位または右サブ単位に基づく動き補償を実行する実装方式と同じであることに留意すべきである。説明しやすくするために、ここでは、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式のみが、説明のための例として用いられる。
【００８８】
例えば、第１のサブ単位に隣接する上サブ単位の動きベクトルは、第１のサブ単位の動きベクトルとして用いられてよく、そして、動きベクトルに基づき、指定された参照フレームにおいて、第１のサブ単位にマッチする単位が発見され、参照フレームにおけるマッチした単位の画素値が、第１のサブ単位の第２の予測画素値として用いられる。
【００８９】
任意選択的に、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することは、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化し、第１のサブ単位の第１の画素値を取得することを含んでよい。
【００９０】
具体的には、第１のサブ単位の第１の予測画素値および各第２の予測画素値はまず、以下の式（５）に基づき、重み付けされ得て、Ｍ個の重み付けされた画素値を取得し、当該Ｍ個の重み付けされた画素値は平均化され、第１のサブ単位の第１の画素値を取得する。
【数５】
2019503629.tif 000007
【００９１】
式（５）において、ＰＣ（ｉ，ｊ）は、第１のサブ単位の第１の予測画素値であり、ＰＮ（ｉ，ｊ）は、第１のサブ単位の第２の予測画素値であり、ＷＮ（ｉ，ｊ）は、第２の予測画素値ＰＮ（ｉ，ｊ）に対応する重み付けマトリックスであり、Ｐ'Ｃ（ｉ，ｊ）は、第１のサブ単位の第１の画素値および第２の画素値に対して重み付けを行った後に取得された画素値であり、Ｍの値は、１から４の範囲にあってよい。
【００９２】
例えば、第１のサブ単位が４×４の画素を含む場合、第１のサブ単位の第１の予測画素値および第２の予測画素値は両方とも、４×４のマトリックスである。  概して、上、下、左、および右サブ単位という４つのサブ単位を用いることによって動き補償を実行することによって取得された予測画素値Ｐ１、Ｐ２、Ｐ３、およびＰ４に対応する重み付けマトリックスＷ１、Ｗ２、Ｗ３、およびＷ４は、
【数６】
2019503629.tif 000008
【数７】
2019503629.tif 000009
【数８】
2019503629.tif 000010
および、
【数９】
2019503629.tif 000011
である。
【００９３】
方式２：第１のサブ単位Ｐの第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとを導出することであって、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位Ｐの第１の頂点１に隣接する第１の座標の動きベクトルおよび第１のサブ単位Ｐの第２の頂点２に隣接する第１の座標の動きベクトルを含み、第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標であり、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位ＰのＭ個の動きベクトルを取得すること、第１のサブ単位ＰのＭ個の動きベクトルに基づき、第１のサブ単位ＰのＭ個の第２の予測画素値を取得すること、および、第１のサブ単位Ｐの第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位Ｐの第１の画素値を取得することである。
【００９４】
第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１は、第１のサブ単位の上境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点１に隣接する下座標１．２は、第１のサブ単位Ｐの下境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する左座標１．３は、第１のサブ単位の左境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する右座標１．４は、第１のサブ単位の右境界に隣接するサブ単位の第１の頂点の座標であってよい。
【００９５】
第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１は、第１のサブ単位の上境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する下座標２．２は、第１のサブ単位の下境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する左座標２．３は、第１のサブ単位の左境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する右座標２．４は、第１のサブ単位の右境界に隣接するサブ単位の第２の頂点の座標であってよい。本発明の本実施形態において、サブ単位の第１の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点のうち任意の１つであってよく、サブ単位の第２の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点において、第１の頂点以外の頂点のうち任意の１つであってよいことに留意すべきである。サブ単位の頂点は、頂点の位置における画素の座標点であってよい。概して、第１のサブ単位Ｐの左上の頂点は、原点（０，０）に設定され、他の頂点の座標は、原点の位置に基づき、それに対応して設定される。
【００９６】
例えば、図４において示されているように、第１のサブ単位Ｐは、４×４のサブ単位である。４×４は、画素の数量であり、水平方向または垂直方向における隣接する画素の間の間隔が１である。第１のサブ単位Ｐの第１の頂点１は左上の頂点における画素（０，０）であると仮定する。第１のサブ単位の左上の頂点および右上の頂点は、３つの画素だけ離間されている。従って、第１のサブ単位Ｐの第２の頂点２は、右上の頂点における画素（３，０）であり、第１の頂点１に隣接する上座標１．１は、第１のサブ単位Ｐの上境界に隣接する上サブ単位の左上の頂点における画素（０，−４）であり、第１の頂点１に隣接する下座標１．２は、第１のサブ単位Ｐの下境界に隣接する下サブ単位の左上の頂点における画素（０，４）であり、第１の頂点１に隣接する左座標１．３は、第１のサブ単位Ｐの左境界に隣接する左サブ単位の左上の頂点における画素（−４，０）であり、第１の頂点１に隣接する右座標１．４は、第１のサブ単位Ｐの右境界に隣接する右サブ単位の左上の頂点における画素（４，０）である。同様に、図４において示されているように、画素（３，０）である第２の頂点２に隣接する上座標２．１は、第１のサブ単位Ｐの上境界に隣接する上サブ単位の右上の頂点における画素（３，−４）であり、第２の頂点２に隣接する下座標２．２は、第１のサブ単位Ｐの下境界に隣接する下サブ単位の右上の頂点における画素（３，４）であり、第２の頂点２に隣接する左座標２．３は、第１のサブ単位Ｐの左境界に隣接する左サブ単位の右上の頂点における画素（−１，０）であり、第２の頂点２に隣接する右座標２．４は、第１のサブ単位Ｐの右境界に隣接する右サブ単位の右上の頂点における画素（７，０）である。
【００９７】
例えば、Ｍ＝４であるとき、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトル、および第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトルは、予め設定された非並進運動モデルに基づき、導出されてよい。
【００９８】
第１の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する上座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標の動きベクトルとを含む。第２の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する下座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する下座標の動きベクトルとを含む。第３の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する左座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する左座標の動きベクトルとを含む。第４の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する右座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する右座標の動きベクトルとを含む。
【００９９】
計算は、予め設定された非並進運動モデルに基づき、第１の動きベクトルペア、第２の動きベクトルペア、第３の動きベクトル、および第４の動きベクトルペアに対して別々に実行され、第１のサブ単位の４つの動きベクトルを取得する。第１のサブ単位の４つの第２の予測画素値は、第１のサブ単位の４つの動きベクトルに基づき、取得される。第１のサブ単位の第１の予測画素値および４つの第２の予測画素値は、別々に重み付けされる。重み付け後の結果が平均化され、第１のサブ単位の第１の画素値を取得する。
【０１００】
方式２で第１のサブ単位の第１の予測画素値を取得するための方法は、方式１で第１のサブ単位の第１の予測画素値を取得するための方法と同じであり、詳細は、ここでは再び説明されない。
【０１０１】
加えて、方式２において、第１のサブ単位のＭ個の第２の予測画素値が第１のサブ単位のＭ個の動きベクトルに基づき取得され、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値が別々に重み付けされ、重み付け後の結果が平均化され、第１のサブ単位の第１の画素値を取得するという方式も、方式１における方式と同じであり、詳細はここでは再び説明されない。
【０１０２】
第１のサブ単位の第１の頂点または第２の頂点に隣接する上、下、左、および右座標の動きベクトルは、予め設定された非並進運動モデル（１）、または（２）、または（３）、または（４）に基づき導出され得ることが理解され得る。
【０１０３】
Ｓ１０４．第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する。
【０１０４】
任意選択的に、フィルタリング境界の境界強度値が設定されてよく、フィルタリング処理は、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対して、第２の予め設定されたアルゴリズムを用いることによって実行されてよく、ここで、Ｍは、１より大きいかまたはそれに等しい整数である。
【０１０５】
例えば、フィルタリング境界に対応する閾値βおよびｔは、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき取得され得る。
【０１０６】
フィルタリング処理は、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対して実行され、ここで、Ｍは、１より大きいかまたはそれに等しい整数である。
【０１０７】
フィルタリング境界の境界強度値は、以下の方式で設定されてよい。少なくとも１つのフレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在する場合、フィルタリング境界の境界強度値を２に設定するか、または、フレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在せず、フィルタリング境界が変換単位のサブブロック境界であり、かつ、第１のサブ単位もしくは第２のサブ単位が位置する変換単位が、少なくとも１つの非ゼロ係数を有する場合、フィルタリング境界の境界強度値を１に設定するか、または、フレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、フィルタリング境界の境界強度値を１に設定し、そうでなければ、フィルタリング境界の境界強度値を０に設定する。（１）第１のサブ単位および第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量は同じであり、第１のサブ単位が位置する予測単位は１つの動きベクトルを有し、第２のサブ単位が位置する予測単位は１つの動きベクトルを有し、第１のサブ単位の動きベクトルおよび第２のサブ単位の動きベクトルの水平成分または垂直成分間の動きベクトル差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、（２）第１のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、第２のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、同じ予測画像を示す２つの動きベクトルの水平成分または垂直成分間の動きベクトル差は動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（３）第１のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、第２のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、かつ、以下の２つの条件ａおよびｂが真の条件である。（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分もしくは垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分もしくは垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（ｂ）前方参照候補リストｌｉｓｔ０を示す、第１のサブ単位が位置する予測単位の動きベクトル、および後方参照候補リストｌｉｓｔ１を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分もしくは垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、第１のサブ単位が位置する予測単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しい。
【０１０８】
動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であってよく、または、第１のサブ単位および第２のサブ単位が位置する予測単位の動きモデルが異なる場合、動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、第１の単位および第２のサブ単位が位置する予測単位の動きモデルが同じである場合、動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である。
【０１０９】
初期閾値β０およびｔ０は、必要に応じて設定されるが、このことは、本発明の本実施形態において限定されない。
【０１１０】
例えば、閾値βおよびｔは、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき取得される。
【０１１１】
βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することは、まず、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとを、式
【数１０】
2019503629.tif 000012
に代入し、ｑＰＬを取得し、ここで、ＱｐＱは、第１のサブ単位の量子化パラメータであり、ＱｐＰは、第２のサブ単位の量子化パラメータであり、そして、式
【数１１】
2019503629.tif 000013
、および式
【数１２】
2019503629.tif 000014
に基づき、２つのＱ値を取得し、予め設定された表を照会し、式
【数１３】
2019503629.tif 000015
に基づき、取得されたＱ値に対応するβ'を取得し、かつ、式
【数１４】
2019503629.tif 000016
に基づき、取得されたＱ値に対応するｔ'Ｃを取得すること、表を照会することによって取得されたβ'を式
【数１５】
2019503629.tif 000017
に代入し、閾値βを取得することであって、ＢｉｔＤｅｐｔｈは、画素のビット幅を示す、取得すること、表を照会することによって取得されたｔ'Ｃを式
【数１６】
2019503629.tif 000018
に代入し、閾値ｔを取得すること、および、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差をβおよびｔと比較し、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する必要があるかを決定することを含んでよい。
【０１１２】
例えば、図５は、水平フィルタリング境界に隣接するサブ単位の構造図である。図５において示されているように、第１のサブ単位Ｐおよび第２のサブ単位Ｑはそれぞれ、４×４の画素を含む。ＰおよびＱにおける画素の画素値が以下の式を満たした場合、水平フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することが決定される。
【数１７】
2019503629.tif 000019
【０１１３】
Ｐの第１行および第４行における画素と、Ｑの第１行および第４行における画素とが以下の式
【数１８】
2019503629.tif 000020
【数１９】
2019503629.tif 000021
および、
【数２０】
2019503629.tif 000022
を満たした場合、水平フィルタリング境界に隣接する画素に対して強いフィルタリングが実行されるか、または、上述の条件が満たされなかった場合、弱いフィルタリングが実行され、ここで、ｉの値は、０または３である。
【０１１４】
任意選択的に、水平フィルタリング境界に隣接する画素に対して強いフィルタリングを実行することは、水平フィルタリング境界に隣接する８つの画素を取得し、５つのタップを有するフィルタを用いることによってフィルタリングを実行することであってよい。例えば、Ｐの第１行における４つの画素と、Ｑの第１行における４つの画素とが選択されてよく、当該８つの画素は、５つのタップを有するフィルタを用いることによってフィルタリングされる。
【０１１５】
水平フィルタリング境界に隣接する画素に対して弱いフィルタリングを実行することは、水平フィルタリング境界に隣接する６つの画素を取得し、３つのタップを有するフィルタを用いることによってフィルタリングを実行することであってよい。本発明の本実施形態において、６つの画素は、Ｐの第１行における４つの画素およびＱの第１行における４つの画素からランダムに選択されてよく、３つのタップを有するフィルタを用いることによってフィルタリングされることに留意すべきである。
【０１１６】
上述の表は、必要に応じて設定されてよいが、このことは本発明の本実施形態において限定されない。例えば、表が表１であり、式
【数２１】
2019503629.tif 000023
に基づき取得されたＱ値は１１であり、式
【数２２】
2019503629.tif 000024
に基づき、取得されたＱ値が２４である場合、表１から、β'は０であり、ｔ'Ｃは１であることが分かる。
【表１】
2019503629.tif 000025
【０１１７】
以上から、本発明の本実施形態において提供されている、ブロッキングアーティファクトを除去するためのフィルタリング方法によれば、各予測単位は、少なくとも２つのサブ単位に分割され、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれはトラバースされ、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界は予め設定された規則に基づき決定され、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値は取得され、ここで、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接し、フィルタリング処理は、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対して実行されることが分かる。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトは除去され、画像の予測精度および主観的品質は向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを完全に除去できないといった問題を回避する。
【０１１８】
［実施形態２］
図６は、本発明の実施形態に係るフィルタリング装置１０の構造図である。フィルタリング装置１０は、画像ブロックに対してフィルタリング処理を実行するように構成される。画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割される。予測単位は、非並進運動予測単位を含む。フィルタリング装置は、ビデオ符号化装置またはビデオ復号装置であってよい。ビデオ符号化装置またはビデオ復号装置は、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、またはビデオサーバなどの、ビデオを出力または記憶する必要がある任意の装置であってよい。図６において示されているように、フィルタリング装置１０は、各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニット１０１であって、各サブ単位は、Ｎ×Ｎ個の画素を含み、Ｎは、１より大きいかまたはそれに等しい整数である、分割ユニット１０１と、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニット１０２と、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニット１０３であって、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する、取得ユニット１０３と、取得ユニット１０３により取得された第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニット１０４とを備えてよい。
【０１１９】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【０１２０】
垂直フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが水平に配置された変換単位または非並進運動予測単位のサブブロック境界であり、水平フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが垂直に配置された変換単位または非並進運動予測単位のサブブロック境界であることに留意すべきである。本発明において、画像ブロックは、ｘ軸（すなわち、水平方向）およびｙ軸（垂直方向）を含む平面であることが理解され得る。従って、「水平」は、ｘ軸に平行であることを意味し、「垂直」は、ｙ軸に平行であることを意味する。例えば、図３において示されているように、変換単位のサブブロックがｘ軸に平行に配置された変換単位のサブブロック境界は、垂直フィルタリング境界である。
【０１２１】
さらに、少なくとも２つのサブ単位のうち任意の１つに対して、決定ユニット１０２は具体的に、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界がフィルタリング境界であると決定するか、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界がフィルタリング境界であると決定するように構成され、ここで、第１の境界は、サブ単位の任意の境界である。
【０１２２】
このように、予測単位における、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する境界がフィルタリング境界であると決定され、後続のフィルタリング処理が境界に対して実行されるのみならず、非並進運動予測単位の境界がフィルタリング境界であることも決定でき、フィルタリング処理は、予測単位における非並進運動予測単位の当該境界に対して実行され、これにより、予測単位における非並進運動予測単位間のブロッキングアーティファクトが除去される。
【０１２３】
さらに、取得ユニット１０３は、以下の方式１または方式２で第１のサブ単位の第１の画素値を取得するように構成されてよい。
【０１２４】
方式１：第１のサブ単位の第１の予測画素値を取得すること、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは１から４の範囲にある任意の整数である、計算すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することである。
【０１２５】
本発明の本実施形態において、動きベクトルは、水平成分および垂直成分を含むことに留意すべきである。水平成分は、ｘ軸に平行な成分であり、垂直成分は、ｙ軸に平行な成分である。
【０１２６】
第１のサブ単位の第１の予測画素値は、動きモデルに基づき導出された元の画素値であってよい。例えば、第１のサブ単位がアフィン運動単位であるとき、第１のサブ単位における各画素の動きベクトルは、上述のアフィン運動モデル（１）に基づき取得されてよい。そして、第１のサブ単位における各画素はトラバースされ、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見する。参照フレームにおける画素の画素値は、第１のサブ単位における画素の予測画素値として用いられる。全ての画素をトラバースすることによって取得された予測画素値は、第１のサブ単位の第１の予測画素値となるよう組み合わせられる。第１のサブ単位がＮ×Ｎの画素を含む場合、第１のサブ単位の取得された第１の予測画素値は、Ｎ×Ｎのマトリックスであることが理解され得る。加えて、既存の補間フィルタリングアルゴリズムは、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見するために用いられてよく、このことは、ここでは詳細に説明されない。
【０１２７】
第１のサブ単位に隣接する上サブ単位は、第１のサブ単位の上境界に隣接するサブ単位であり、第１のサブ単位に隣接する下サブ単位は、第１のサブ単位の下境界に隣接するサブ単位であり、第１のサブ単位に隣接する左サブ単位は、第１のサブ単位の左境界に隣接するサブ単位であり、第１のサブ単位に隣接する右サブ単位は、第１のサブ単位の右境界に隣接するサブ単位である。
【０１２８】
例えば、図３において示されているように、第１のサブ単位がサブ単位２である場合、サブ単位ａは、第１のサブ単位の上サブ単位であり、サブ単位ｂは、第１のサブ単位の下サブ単位であり、サブ単位ｃは、第１のサブ単位の左サブ単位であり、サブ単位ｄは、第１のサブ単位の右サブ単位である。
【０１２９】
任意選択的に、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出することを含んでよい。
【０１３０】
本発明の本実施形態において、非並進運動は、アフィン運動、スケール運動、回転運動、または透視運動などの任意の不規則な運動であってよい。従って、異なる非並進運動に対応し、予め設定された非並進運動モデルを用いることによって、サブ単位の動きベクトルを導出することは、アフィン運動モデル（１）に基づき、サブ単位の動きベクトルを導出すること、または、スケール運動モデル（２）に基づき、サブ単位の動きベクトルを導出すること、または、回転運動モデル（３）に基づき、サブ単位の動きベクトルを導出すること、または、透視運動モデル（４）に基づき、サブ単位の動きベクトルを導出することを含んでよい。
【０１３１】
第２の画素値は、第１のサブ単位に対して、第１のサブ単位に隣接するサブ単位を用いることによって動き補償を実行することによって取得された新たな画素値であってよい。具体的には、Ｍが４であるとき、取得ユニット１０３は、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位に隣接する下サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位に隣接する左サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位に隣接する右サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位の第１の予測画素値および４つの第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化して第１のサブ単位の第１の画素値を取得するように構成されてよい。
【０１３２】
第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式は基本的に、第１のサブ単位に隣接する下サブ単位または左サブ単位または右サブ単位に基づき、動き補償を実行する実装方式と同じであることに留意すべきである。説明しやすくするために、ここでは、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式のみを、説明のための例として用いる。
【０１３３】
例えば、取得ユニット１０３は、第１のサブ単位に隣接する上サブ単位の動きベクトルを第１のサブ単位の動きベクトルとして用い、そして、動きベクトルに基づき、指定された参照フレームにおいて、第１のサブ単位にマッチする単位を発見し、参照フレームにおけるマッチした単位の画素値を第１のサブ単位の第２の予測画素値として用いてよい。
【０１３４】
任意選択的に、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化し、第１のサブ単位の第１の画素値を取得することは、まず、式（５）に基づき、第１のサブ単位の第１の予測画素値および各第２の予測画素値に対して重み付けを行い、Ｍ個の重み付けされた画素値を取得し、Ｍ個の重み付けされた画素値を平均化し、第１のサブ単位の第１の画素値を取得することを含んでよい。
【０１３５】
方式２：第１のサブ単位Ｐの第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとを導出することであって、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位Ｐの第１の頂点１に隣接する第１の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する第１の座標の動きベクトルとを含み、第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位ＰのＭ個の動きベクトルを取得すること、第１のサブ単位ＰのＭ個の動きベクトルに基づき、第１のサブ単位ＰのＭ個の第２の予測画素値を取得すること、および、第１のサブ単位Ｐの第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位Ｐの第１の画素値を取得することである。
【０１３６】
例えば、Ｍが４であるとき、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトルとが、予め設定された非並進運動モデルに基づき、導出され得る。
【０１３７】
第１の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する上座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標の動きベクトルとを含む。第２の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する下座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する下座標の動きベクトルとを含む。第３の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する左座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する左座標の動きベクトルとを含む。第４の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する右座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する右座標の動きベクトルとを含む。
【０１３８】
計算は、予め設定された非並進運動モデルに基づき、第１の動きベクトルペア、第２の動きベクトルペア、第３の動きベクトル、および第４の動きベクトルペアに対して別々に実行され、第１のサブ単位の４つの動きベクトルを取得する。第１のサブ単位の４つの第２の予測画素値は、第１のサブ単位の４つの動きベクトルに基づき、取得される。第１のサブ単位の第１の予測画素値および４つの第２の予測画素値は、別々に重み付けされる。重み付け後の結果は平均化され、第１のサブ単位の第１の画素値を取得する。
【０１３９】
方式２で第１のサブ単位の第１の予測画素値を取得するための方法は、方式１で第１のサブ単位の第１の予測画素値を取得するための方法と同じであり、詳細は、ここでは再び説明されない。
【０１４０】
加えて、方式２において、第１のサブ単位のＭ個の第２の予測画素値が第１のサブ単位のＭ個の動きベクトルに基づき取得され、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値が別々に重み付けされ、重み付け後の結果が平均化され、第１のサブ単位の第１の画素値を取得する方式も、方式１における方式と同じであり、詳細はここでは再び説明されない。
【０１４１】
第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１は、第１のサブ単位の上境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点１に隣接する下座標１．２は、第１のサブ単位Ｐの下境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する左座標１．３は、第１のサブ単位の左境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する右座標１．４は、第１のサブ単位の右境界に隣接するサブ単位の第１の頂点の座標であってよい。
【０１４２】
第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１は、第１のサブ単位の上境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する下座標２．２は、第１のサブ単位の下境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する左座標２．３は、第１のサブ単位の左境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する右座標２．４は、第１のサブ単位の右境界に隣接するサブ単位の第２の頂点の座標であってよい。本発明の本実施形態において、サブ単位の第１の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点のうち任意の１つであってよく、サブ単位の第２の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点において第１の頂点以外の頂点のうち任意の１つであってよいことに留意すべきである。サブ単位の頂点は、頂点の位置における画素の座標点であってよい。概して、第１のサブ単位Ｐの左上の頂点は、原点（０，０）として設定され、他の頂点の座標は、原点の位置に基づき、それに対応して設定される。
【０１４３】
第１のサブ単位の第１の頂点または第２の頂点に隣接する上、下、左、および右座標の動きベクトルは、予め設定された非並進運動モデル（１）、または（２）、または（３）、または（４）に基づき、導出され得ることが理解され得る。
【０１４４】
決定ユニット１０２はさらに、フィルタリングユニット１０４が、取得ユニット１０３により取得された第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する前に、フィルタリング境界の境界強度値を決定するように構成される。
【０１４５】
フィルタリングユニット１０４は具体的に、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき、閾値βおよびｔを取得し、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されてよく、ここで、Ｍは１より大きいかまたはそれに等しい整数である。
【０１４６】
決定ユニット１０２は具体的に、少なくとも１つのフレーム内予測単位が、第１のサブ単位または第２のサブ単位が位置する画像ブロックに存在する場合、フィルタリング境界の境界強度値を２に設定するか、または、フレーム内予測単位が、第１のサブ単位または第２のサブ単位が位置する画像ブロックに存在せず、フィルタリング境界が変換単位のサブブロック境界であり、かつ、第１のサブ単位もしくは第２のサブ単位が位置する変換単位が、少なくとも１つの非ゼロ係数を有する場合、フィルタリング境界の境界強度値を１に設定するか、または、フレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、フィルタリング境界の境界強度値を１に設定し、そうでなければ、フィルタリング境界の境界強度値を０に設定するように構成される。（１）第１のサブ単位および第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量は異なり、第１のサブ単位が位置する予測単位は、１つの動きベクトルを有し、第２のサブ単位が位置する予測単位は、１つの動きベクトルを有し、第１のサブ単位の動きベクトルおよび第２のサブ単位の動きベクトルの水平成分または垂直成分間の動きベクトル差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、（２）第１のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、第２のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、同じ予測画像を示す２つの動きベクトルの水平成分または垂直成分間の動きベクトル差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（３）第１のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、第２のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、かつ、以下の２つの条件ａおよびｂが真の条件である。（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（ｂ）前方参照候補リストｌｉｓｔ０を示す、第１のサブ単位が位置する予測単位の動きベクトル、および、後方参照候補リストｌｉｓｔ１を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、第１のサブ単位が位置する予測単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しい。
【０１４７】
動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であってよく、または、第１のサブ単位および第２のサブ単位が位置する予測単位の動きモデルが異なる場合、動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、第１の単位および第２のサブ単位が位置する予測単位の動きモデルが同じである場合、動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である。
【０１４８】
初期閾値β０およびｔ０は、必要に応じて設定され、このことは、本発明の本実施形態において限定されない。
【０１４９】
さらに、フィルタリングユニット１０４が具体的に、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されることは、まず、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとを、式
【数２３】
2019503629.tif 000026
に代入し、ｑＰＬを取得し、ここで、ＱｐＱは、第１のサブ単位の量子化パラメータであり、ＱｐＰは、第２のサブ単位の量子化パラメータであり、そして、式
【数２４】
2019503629.tif 000027
、および式
【数２５】
2019503629.tif 000028
に基づき、２つのＱ値を取得し、予め設定された表を照会し、式
【数２６】
2019503629.tif 000029
に基づき、取得されたＱ値に対応するβ'を取得し、式
【数２７】
2019503629.tif 000030
に基づき、取得されたＱ値に対応するｔ'Ｃを取得すること、表を照会することによって取得されたβ'を式
【数２８】
2019503629.tif 000031
に代入し、閾値βを取得することであって、ＢｉｔＤｅｐｔｈは、画素ビット幅を示す、取得すること、表を照会することによって取得されたｔ'Ｃを式
【数２９】
2019503629.tif 000032
に代入し、閾値ｔを取得すること、および、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差を、βおよびｔと比較し、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する必要があるかを決定することを含んでよい。
【０１５０】
図６において示されているフィルタリング装置における分割ユニット、取得ユニット、決定ユニット、およびフィルタリングユニットは、図１において示されているフィルタリング装置に単独で配置されるプロセッサであってよく、または、実装のためにフィルタリング装置におけるプロセッサに統合されてよいことに留意すべきである。加えて、分割ユニット、取得ユニット、決定ユニット、およびフィルタリングユニットの実行処理は、図１において示されているフィルタリング装置におけるメモリにおいてプログラムコードの形式で記憶されてよく、フィルタリング装置のプロセッサは、プログラムコードを呼び出し、照会ユニットおよび置換ユニットの実行処理を実装する。ここで説明されているプロセッサは、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、または、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、または、本発明の本実施形態を実装するように構成される１つまたは複数の集積回路であってよい。
【０１５１】
以上から、本発明の本実施形態において提供されているフィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割すること、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する、取得すること、および、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することを行うことが分かる。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトは除去され、画像の予測精度および主観的品質は向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを完全に除去できないといった問題を回避する。
【０１５２】
簡便かつ簡潔な説明のために、上述のユニットおよびシステムの具体的な作業処理について、上述の方法の実施形態における対応する処理を参照することは、当業者により明確に理解され得て、詳細は、ここでは再び説明されない。
【０１５３】
本出願において提供されているいくつかの実施形態において、開示されているシステム、デバイス、および方法は、他の方式で実装され得ることが理解されるべきである。例えば、上で説明されているデバイスの実施形態は単に例である。例えば、ユニットの区分は単に論理的な機能区分であり、実際の実装方式において、他の区分であり得る。例えば、複数のユニットまたは構成要素は、組み合わせられてよく、もしくは別のシステムに統合されてよく、または、いくつかの特徴が無視されてよく、もしくは実行されなくてよい。
【０１５４】
別個の部分として説明されているユニットは、物理的に別個であってもよく、またはそうでなくてもよく、ユニットとして表示されている部分は、物理ユニットであってもよく、またはそうでなくてもよく、一箇所に位置してよく、または複数のネットワークユニット上に分散されてよい。ユニットの一部または全ては、実施形態の解決手段の目的を達成するために実際の要求に応じて選択されてよい。
【０１５５】
加えて、本発明の実施形態における機能ユニットは、１つの処理ユニットに統合されてよく、または、ユニットのそれぞれは、物理的に単独で存在してよく、または、２つまたはそれより多いユニットは、１つのユニットに統合されてよい。統合されたユニットは、ハードウェアの形式で実装されてよく、またはソフトウェア機能ユニットに加え、ハードウェアの形式で実装されてよい。
【０１５６】
上述の統合されたユニットがソフトウェア機能ユニットの形式で実装されたとき、統合されたユニットは、コンピュータ可読記憶媒体において記憶されてよい。ソフトウェア機能ユニットは、記憶媒体において記憶され、（パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る）コンピュータデバイスに、本発明の実施形態において説明されている方法の段階のいくつかを実行するように命令するためのいくつかの命令を含む。上述の記憶媒体は、ＵＳＢフラッシュドライブ、取り外し可能なハードディスク、リードオンリメモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、略してＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、略してＲＡＭ）、磁気ディスク、または光ディスクなどの、プログラムコードを記憶できる任意の媒体を含む。
【０１５７】
実施形態における方法の段階の全部または一部は、（プロセッサなどの）関連ハードウェアに命令するプログラムによって実装され得ることが当業者により理解され得る。プログラムは、コンピュータ可読記憶媒体において記憶され得る。記憶媒体は、リードオンリメモリ、ランダムアクセスメモリ、磁気ディスク、または光ディスクなどを含んでよい。
【０１５８】
最後に、上述の実施形態は、本発明の技術的解決手段を説明することを意図するものに過ぎず、本発明を限定するものではないことに留意すべきである。本発明は上述の実施形態を参照して詳細に説明されているが、当業者は、彼らが本発明の実施形態の技術的解決手段の精神および範囲から逸脱することなく、上述の実施形態において説明されている技術的解決手段に対してさらに変更してよく、またはこれらのいくつかの技術的な特徴に対して同等の置き換えを行ってよいことを理解すべきである。
【図１】
2019503629.tif 000033
【図２】
2019503629.tif 000034
【図３】
2019503629.tif 000035
【図４】
2019503629.tif 000036
【図５】
2019503629.tif 000037
【図６】
2019503629.tif 000038
【手続補正書】
【提出日】平成30年9月4日(2018.9.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像ブロックに対してフィルタリング処理を実行するための方法であって、前記画像ブロックは、非並進運動予測単位であり、前記方法は、
前記非並進運動予測単位を２つまたはそれより多いサブ単位に分割する段階であって、各サブ単位は、複数の画素を含む、段階と、
予め設定された規則に基づき、前記２つまたはそれより多いサブ単位の中で少なくとも１つのフィルタリング境界を決定する段階と、
前記少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の画素値および第２のサブ単位の画素値を取得する段階であって、前記第１のサブ単位および前記第２のサブ単位は、前記フィルタリング境界に隣接し、前記第１のサブ単位および前記第２のサブ単位は、前記２つまたはそれより多いサブ単位に含まれる、段階と、
前記第１のサブ単位の前記画素値および前記第２のサブ単位の前記画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階と
を備える、
方法。
【請求項２】
予め設定された規則に基づき、前記２つまたはそれより多いサブ単位の中で少なくとも１つのフィルタリング境界を決定する前記段階は、
サブ単位が前記非並進運動予測単位に含まれる場合、前記サブ単位の各境界がフィルタリング境界であると決定する段階を含む、
請求項１に記載の方法。
【請求項３】
第１のサブ単位の画素値を取得する前記段階は、
前記第１のサブ単位の動きベクトルに基づき、前記第１のサブ単位の第１の予測画素値を取得する段階と、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する段階であって、Ｍは任意の整数であり、１≦Ｍ≦４である、段階と、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得する段階と、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、前記第１のサブ単位の前記第１の画素値を取得する段階と
を含む、
請求項１または２に記載の方法。
【請求項４】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記上サブ単位、前記下サブ単位、前記左サブ単位、および前記右サブ単位のそれぞれの前記動きベクトルを導出する段階
を含む、
請求項３に記載の方法。
【請求項５】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出する段階と、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用可能な場合、前記上サブ単位の前記動きベクトルを取得する段階、または、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記上サブ単位の前記動きベクトルを導出する段階と
を含む、
請求項３に記載の方法。
【請求項６】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出する段階と、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用可能な場合、前記左サブ単位の前記動きベクトルを取得する段階、または、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記左サブ単位の前記動きベクトルを導出する段階と
を含む、
請求項３に記載の方法。
【請求項７】
前記フィルタリング境界に隣接する第１のサブ単位の画素値を取得する前記段階は、
前記第１のサブ単位（Ｐ）の第１の予測画素値を取得する段階と、
非並進運動モデルに基づき、前記第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出する段階であって、前記第１の頂点（１）および前記第２の頂点（２）は前記第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは任意の整数であり、１≦Ｍ≦４である、段階と、
前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する前記上座標（１．１）、前記下座標（１．２）、前記左座標（１．３）、および前記右座標（１．４）における前記Ｍ組の座標の前記動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する前記上座標（２．１）、前記下座標（２．２）、前記左座標（２．３）、および前記右座標（２．４）における前記Ｍ組の座標の前記動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得する段階であって、前記Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する第１の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、前記第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、段階と、
前記非並進運動モデルに基づき、前記Ｍ個の動きベクトルペアに対して計算を実行し、前記第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得する段階と、
前記第１のサブ単位（Ｐ）の前記Ｍ個の動きベクトルに基づき、前記第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得する段階と、
前記第１のサブ単位（Ｐ）の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、前記第１のサブ単位（Ｐ）の前記画素値を取得する段階と
を含む、
請求項１または２に記載の方法。
【請求項８】
前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する前記段階の前に、前記方法はさらに、
前記フィルタリング境界の境界強度値を決定する段階を備え、
前記第１のサブ単位の前記画素値および前記第２のサブ単位の前記画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する前記段階は、
前記フィルタリング境界の前記境界強度値と、初期閾値β０およびｔ０と、前記フィルタリング境界に隣接する、前記第１のサブ単位および前記第２のサブ単位における複数の画素の画素値間の画素差とに基づき、第２の予め設定されたアルゴリズムを用いることによって、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行する段階
を含む、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記フィルタリング境界の境界強度値を決定する前記段階は、
以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、前記フィルタリング境界の前記境界強度値を１に設定し、そうでなければ、前記フィルタリング境界の前記境界強度値を０に設定する段階であって、
（１）前記第１のサブ単位が１つの動きベクトルを有し、前記第２のサブ単位が１つの動きベクトルを有し、前記第１のサブ単位の前記動きベクトルおよび前記第２のサブ単位の前記動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、
（２）前記第１のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、前記第２のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、２つの動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（３）前記第１のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、前記第２のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、かつ、以下の２つの条件ａおよびｂが真の条件であり、
（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（ｂ）前方参照候補リストｌｉｓｔ０を示す、前記第１のサブ単位の動きベクトルと、後方参照候補リストｌｉｓｔ１を示す、前記第２のサブ単位の動きベクトルとの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または後方参照候補リストｌｉｓｔ１を示す、前記第１のサブ単位の動きベクトルと、前方参照候補リストｌｉｓｔ０を示す、前記第２のサブ単位の動きベクトルとの水平成分または垂直成分間の差が動きベクトル差閾値Ｔより大きいかまたはそれに等しい、段階
を含む、
請求項８に記載の方法。
【請求項１０】
前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であり、または、
前記第１のサブ単位および前記第２のサブ単位の動きモデルが異なる場合、前記動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、前記第１のサブ単位および前記第２のサブ単位の動きモデルが同じである場合、前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である、
請求項９に記載の方法。
【請求項１１】
画像ブロックに対してフィルタリング処理を実行するための装置であって、前記画像ブロックは、非並進運動予測単位であり、前記装置は、
前記非並進運動予測単位を２つまたはそれより多いサブ単位に分割するように構成される分割ユニットであって、各サブ単位は、複数の画素を含む、分割ユニットと、
予め設定された規則に基づき、前記２つまたはそれより多いサブ単位の中で少なくとも１つのフィルタリング境界を決定するように構成される決定ユニットと、
前記少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の画素値および第２のサブ単位の画素値を取得するように構成される取得ユニットであって、前記第１のサブ単位および前記第２のサブ単位は、前記フィルタリング境界に隣接し、前記第１のサブ単位および前記第２のサブ単位は、前記２つまたはそれより多いサブ単位に含まれる、取得ユニットと、
前記第１のサブ単位の前記画素値および前記第２のサブ単位の前記画素値に基づき、前記フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニットと
を備える、
装置。
【請求項１２】
前記決定ユニットは、
前記２つまたはそれより多いサブ単位のうちのサブ単位の各境界がフィルタリング境界であると決定するように構成される、
請求項１１に記載の装置。
【請求項１３】
前記取得ユニットは、
前記第１のサブ単位の動きベクトルに基づき、前記第１のサブ単位の第１の予測画素値を取得すること、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得することであって、Ｍは、任意の整数であり、１≦Ｍ≦４である、取得すること、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、前記第１のサブ単位の前記第１の画素値を取得すること
を行うように構成される、
請求項１１または１２に記載の装置。
【請求項１４】
前記取得ユニットは、
前記第１のサブ単位が前記非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記上サブ単位、前記下サブ単位、前記左サブ単位、および前記右サブ単位のそれぞれの動きベクトルを導出するように構成される、
請求項１３に記載の装置。
【請求項１５】
Ｍ＝４であり、前記取得ユニットは、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用可能な場合、前記上サブ単位の前記動きベクトルを取得するか、または、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記上サブ単位の前記動きベクトルを導出すること
を行うように構成される、
請求項１３に記載の装置。
【請求項１６】
Ｍ＝４であり、前記取得ユニットは、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用可能な場合、前記左サブ単位の前記動きベクトルを取得すること、または、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記左サブ単位の前記動きベクトルを導出すること
を行うように構成される、
請求項１３に記載の装置。
【請求項１７】
前記取得ユニットは、
前記第１のサブ単位（Ｐ）の第１の予測画素値を取得すること、
非並進運動モデルに基づき、前記第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出することであって、前記第１の頂点（１）および前記第２の頂点（２）は、前記第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは、任意の整数であり、１≦Ｍ≦４である、導出すること、
前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する前記上座標（１．１）、前記下座標（１．２）、前記左座標（１．３）、および前記右座標（１．４）における前記Ｍ組の座標の前記動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する前記上座標（２．１）、前記下座標（２．２）、前記左座標（２．３）、および前記右座標（２．４）における前記Ｍ組の座標の前記動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、前記Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、前記第１のサブ単位（Ｐ）の前記第１の頂点（１）に隣接する第１の座標の動きベクトルと、前記第１のサブ単位（Ｐ）の前記第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、前記第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、
前記非並進運動モデルに基づき、前記Ｍ個の動きベクトルペアに対して計算を実行し、前記第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得すること、
前記第１のサブ単位（Ｐ）の前記Ｍ個の動きベクトルに基づき、前記第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位（Ｐ）の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、前記第１のサブ単位（Ｐ）の前記画素値を取得すること
を行うように構成される、
請求項１１または１２に記載の装置。
【請求項１８】
前記決定ユニットはさらに、
前記フィルタリングユニットが、前記第１のサブ単位の前記第１の画素値および前記第２のサブ単位の前記第１の画素値に基づき、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行する前に、前記フィルタリング境界の境界強度値を決定するように構成され、
前記フィルタリングユニットは、前記決定ユニットにより決定された前記フィルタリング境界の前記境界強度値と、初期閾値β０およびｔ０と、前記フィルタリング境界に隣接する、前記第１のサブ単位および前記第２のサブ単位における複数の画素の画素値間の画素差とに基づき、第２の予め設定されたアルゴリズムを用いることによって、前記フィルタリング境界に隣接する前記画素に対してフィルタリング処理を実行するように構成される、
請求項１１から１７のいずれか一項に記載の装置。
【請求項１９】
前記決定ユニットは、
以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、前記フィルタリング境界の前記境界強度値を１に設定し、そうでなければ、前記フィルタリング境界の前記境界強度値を０に設定するように構成され、
（１）前記第１のサブ単位が１つの動きベクトルを有し、前記第２のサブ単位が１つの動きベクトルを有し、前記第１のサブ単位の前記動きベクトルおよび前記第２のサブ単位の前記動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、
（２）前記第１のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、前記第２のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が異なり、２つの動きベクトルの水平成分または垂直成分間の動きベクトル差が動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（３）前記第１のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、前記第２のサブ単位が２つの動きベクトルを有し、前記２つの動きベクトルにより示された参照画像が同じであり、かつ、以下の２つの条件ａおよびｂが真の条件であり、
（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、
（ｂ）前方参照候補リストｌｉｓｔ０を示す、前記第１のサブ単位の動きベクトル、および後方参照候補リストｌｉｓｔ１を示す、前記第２のサブ単位の動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、前記第１のサブ単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、前記第２のサブ単位の動きベクトルの水平成分もしくは垂直成分間の差が、動きベクトル差閾値Ｔより大きいかまたはそれに等しい、
請求項１８に記載の装置。
【請求項２０】
前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であり、または、
前記第１のサブ単位および前記第２のサブ単位の動きモデルが異なる場合、前記動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、前記第１のサブ単位および前記第２のサブ単位の動きモデルが同じである場合、前記動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である、
請求項１９に記載の装置。
【請求項２１】
画像ブロックのインター予測のための方法であって、前記画像ブロックは、非並進運動予測単位であり、前記非並進運動予測単位は、２つまたはそれより多いサブ単位に分割され、前記方法は、
第１のサブ単位の動きベクトルに基づき、前記第１のサブ単位の第１の予測画素値を取得する段階であって、前記第１のサブ単位は、前記２つまたはそれより多いサブ単位のうち任意の１つである、段階と、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する段階であって、Ｍは、任意の整数であり、１≦Ｍ≦４である、段階と、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得する段階と、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、前記第１のサブ単位の前記第１の画素値を取得する段階と
を備える、
方法。
【請求項２２】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の下境界または右境界に隣接するサブ単位である場合、非並進運動モデルに基づき、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの前記動きベクトルを導出する段階を含む、
請求項２１に記載の方法。
【請求項２３】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出する段階と、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用可能な場合、前記上サブ単位の前記動きベクトルを取得する段階、または、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記上サブ単位の前記動きベクトルを導出する段階とを含む、
請求項２１に記載の方法。
【請求項２４】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得する前記段階は、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出する段階と、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用可能な場合、前記左サブ単位の前記動きベクトルを取得する段階、または、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記左サブ単位の前記動きベクトルを導出する段階とを含む、
請求項２１に記載の方法。
【請求項２５】
画像ブロックのインター予測のための装置であって、前記画像ブロックは、非並進運動予測単位であり、前記非並進運動予測単位は、２つまたはそれより多いサブ単位に分割され、前記装置は、
第１のサブ単位の動きベクトルに基づき、前記第１のサブ単位の第１の予測画素値を取得することであって、前記第１のサブ単位は、前記２つまたはそれより多いサブ単位のうち任意の１つである、取得すること、
前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得することであって、Ｍは任意の整数であり、１≦Ｍ≦４である、取得すること、
前記Ｍ個のサブ単位の前記動きベクトルに基づき、前記第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、
前記第１のサブ単位の前記第１の予測画素値および前記Ｍ個の第２の予測画素値に基づき、前記第１のサブ単位の前記第１の画素値を取得すること
を行うように構成されるプロセッサ
を備える、
装置。
【請求項２６】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得することに対して、前記プロセッサは、
前記第１のサブ単位が前記非並進運動予測単位の下境界または右境界に隣接するサブ単位である場合、非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記上サブ単位、前記下サブ単位、前記左サブ単位、および前記右サブ単位のそれぞれの前記動きベクトルを導出するように構成される、
請求項２５に記載の装置。
【請求項２７】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得することに対して、前記プロセッサは、
前記第１のサブ単位が前記非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記左サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用可能な場合、前記上サブ単位の前記動きベクトルを取得すること、または、
前記第１のサブ単位に隣接する前記上サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記上サブ単位の前記動きベクトルを導出すること
を行うように構成される、
請求項２５に記載の装置。
【請求項２８】
Ｍ＝４であり、前記第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを取得することに対して、前記プロセッサは、
前記第１のサブ単位が前記非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、前記第１のサブ単位に隣接する前記下サブ単位、前記上サブ単位、および前記右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用可能な場合、前記左サブ単位の前記動きベクトルを取得すること、または、
前記第１のサブ単位に隣接する前記左サブ単位の動きベクトルが利用できない場合、前記非並進運動モデルに基づき、前記左サブ単位の前記動きベクトルを導出すること
を行うように構成される、
請求項２５に記載の装置。
【請求項２９】
プロセッサ上で実行されたとき、前記プロセッサに請求項１から１０および２１から２４のいずれか一項に記載の方法を実行させる命令を記憶するコンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年１月２９日に中国特許庁に出願された、「ブロッキングアーティファクトを除去するためのフィルタリング方法および装置」と題する中国特許出願第２０１６１００６４７５３．８号に基づく優先権を主張し、当該出願はその全体が参照により本明細書に組み込まれている。
【０００２】
本発明は、ビデオ画像処理の分野に関し、特に、ブロッキングアーティファクトを除去するためのフィルタリング方法および装置に関する。
【背景技術】
【０００３】
ビデオ符号化圧縮技術において、ブロックベースのハイブリッドビデオ符号化が主に実行され、１つのフレームのビデオ画像を複数のブロックに分割し、ブロック毎に、（フレーム内予測およびフレーム間予測を含む）予測、変換、量子化、エントロピ符号化、および他の段階によってビデオ符号化圧縮を実装する。具体的には、ブロックの動き情報がまずブロックベースの動き補償予測によって取得され、ブロックの予測画素値が動き情報に基づき決定され、そして、ブロックの元の画素値と予測画素値との間の残差に対して変換および量子化が実行され、最後に、量子化された変換係数および（コードブロックサイズ、予測モード、動きベクトル、および他の情報などの）符号化モード情報が、エントロピ符号化処理によってビットストリームに変換され、当該ビットストリームは、デコーダへ送信される。
【０００４】
ブロックベースのハイブリッドビデオ符号化は、各画像を異なるサイズのブロックに分割し、そして、ブロック予測、ブロック変換、およびブロック量子化を実行するためのものであるので、ブロック間の相関が考慮されず、ブロックの境界上の画素値の再構築精度がブロックの中間の画素値の再構築精度より低く、ブロックインコヒーレンス、すなわち、「ブロッキングアーティファクト」をもたらす。その結果、復号および再構築後に取得された画像は見るからに、ブロック同士を共に継ぎ合わせたように示される。従って、復号および再構築後、画像に対して、「ブロッキングアーティファクト除去」処理を実行する必要がある。
【０００５】
現在、ブロッキングアーティファクトを除去するための一般的な方法は、オーバーラップブロック動き補償である。この方法は、全ての動きベクトルを連続するフィールドと見なし、内部画素が現在のブロックの動きベクトルに影響されるのみならず、周囲の動きベクトルにも大いに影響されることを示唆する。現在のブロックに隣接する、上、下、左、および右方向におけるサブブロックの動きベクトルが取得される。動きベクトルが存在し、現在のブロックの動きベクトルと異なる場合、動き補償は現在のブロックに対して当該動きベクトルを用いることによって実行され、現在のブロックの新たな予測信号を取得し、現在のブロックの元の予測信号および現在のブロックの新たな予測信号が、重み付けされてフィルタリングされ、「ブロッキングアーティファクト」を除去する。
【０００６】
上述の方法は、並進運動モデルに基づき実行され、言い換えれば、画像ブロックにおける全ての運動が並進運動である場合に限る。従って、既存のＯＢＭＣは、上境界および左境界上に位置するブロックのみがフィルタリングされることを示唆する。このケースにおいて、画像ブロックが非並進モード（例えば、アフィン運動モデル）のサブ単位を含み、これらのサブ単位の動きベクトルが異なる場合、フィルタリング処理は、上述の方法が依然として用いられた場合、画像ブロックの内部サブ単位に対して実行できない。従って、「ブロッキングアーティファクト」は依然として、ブロック間に存在し、符号化精度ならびに主観的および客観的効果に影響を与える。
【発明の概要】
【０００７】
本発明の主な目的は、ブロッキングアーティファクトを除去するためのフィルタリング方法および装置を提供し、内部予測単位ブロック間の「ブロッキングアーティファクト」が処理できず、符号化精度ならびに主観的および客観的効果が影響を受けるといった問題を解決することである。
【０００８】
上述の目的を達成するために、以下の技術的解決手段が本発明の実施形態において用いられる。
【０００９】
第１の態様によると、本発明の実施形態では、ブロッキングアーティファクトを除去するためのフィルタリング方法が提供され、画像ブロックに対してフィルタリング処理を実行するために用いられ、ここで、画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割され、予測単位は、非並進運動予測単位を含む。当該方法は、各予測単位を少なくとも２つのサブ単位に分割する段階であって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、段階と、少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定する段階と、少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得する段階であって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、段階と、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階とを備えてよい。
【００１０】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００１１】
このように、予測単位内の全てのフィルタリング境界が決定され、フィルタリング処理はフィルタリング境界に隣接する画素に対して実行され、これにより、異なる動きベクトルを有する単位ブロック間の「ブロッキングアーティファクト」が除去され、画像の予測精度および主観的品質が向上する。
【００１２】
任意選択的に、第１の態様の実装可能な方式において、少なくとも２つのサブ単位におけるサブ単位に対して、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、または、サブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界はフィルタリング境界であると決定され、ここで、第１の境界は、サブ単位の任意の境界である。加えて、サブ単位が非並進運動予測単位に含まれる場合、第１のサブ単位の各境界はフィルタリング境界であると決定される。
【００１３】
このように、予測単位における、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する境界がフィルタリング境界であると決定され、後続のフィルタリング処理が当該境界に対して実行されるのみならず、非並進運動予測単位の境界がフィルタリング境界であると決定されることもでき、予測単位における非並進運動予測単位の当該境界に対してフィルタリング処理が実行され、これにより、予測単位における非並進運動予測単位間のブロッキングアーティファクトが除去される。
【００１４】
任意選択的に、第１の態様の別の実装可能な方式において、フィルタリング境界に隣接する第１のサブ単位の第１の画素値を取得する段階は、第１のサブ単位の第１の予測画素値を取得する段階と、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算する段階と、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得する段階と、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得する段階とを含んでよく、ここで、Ｍは１から４の範囲にある任意の整数である。
【００１５】
第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、右サブ単位のそれぞれの動きベクトルを計算する段階は、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを導出する段階、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出する段階、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いる段階、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、上サブ単位の動きベクトルを導出する段階、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出する段階、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いる段階、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出する段階とを含む。
【００１６】
任意選択的に、第１の態様のさらに別の実装可能な方式において、フィルタリング境界に隣接する第１のサブ単位の第１の画素値を取得する段階はさらに、第１のサブ単位（Ｐ）の第１の予測画素値を取得する段階と、予め設定された非並進運動モデルに基づき、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとを導出する段階であって、第１の頂点（１）および第２の頂点（２）は、第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、段階と、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、および右座標（２．４）におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得する段階であって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する第１の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、段階と、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得する段階と、第１のサブ単位（Ｐ）のＭ個の動きベクトルに基づき、第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得する段階と、第１のサブ単位（Ｐ）の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位（Ｐ）の第１の画素値を取得する段階とを含んでよい。
【００１７】
このように、異なるサブ単位の動きベクトルの相関を考慮し、第１のサブ単位に隣接するサブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償が実行されるか、または、第１のサブ単位に隣接する座標点に基づき、第１の単位の動きベクトルが計算され、第１のサブ単位に対して動き補償を実行する。従って、データ冗長性およびデータ符号化長さが低減され、第１のサブ単位の予測精度が向上する。
【００１８】
任意選択的に、第１の態様のさらに別の実装可能な方式において、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階は、フィルタリング境界の境界強度値を決定する段階と、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき、フィルタリング境界に対応する閾値βおよびｔを取得する段階と、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する段階であって、Ｍは１より大きいかまたはそれに等しい整数である、段階とを含んでよい。
【００１９】
このように、フィルタリング処理は、フィルタリング境界の強度に基づき、フィルタリング境界に隣接する画素に対して実行されることができ、変換単位および予測単位の分割により引き起こされるブロッキングアーティファクトを低減する。
【００２０】
第２の態様によると、本発明の実施形態はさらに、第１の態様において説明されている方法を実行するように構成されるフィルタリング装置を提供する。フィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニットであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割ユニットと、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニットと、決定ユニットにより決定された少なくとも１つのフィルタリング境界のうち任意の１つに対して、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニットであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得ユニットと、取得ユニットにより取得された、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニットとを備えてよい。
【００２１】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００２２】
このように、予測単位における全てのフィルタリング境界が決定され、フィルタリング処理は、フィルタリング境界に隣接する画素に対して実行され、これにより、異なる動きベクトルを有する単位ブロック間の「ブロッキングアーティファクト」が除去され、画像の予測精度および主観的品質が向上する。
【００２３】
任意選択的に、第２の態様の実装可能な方式において、少なくとも２つのサブ単位のうち任意の１つに対して、決定ユニットは具体的に、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界がフィルタリング境界であると決定するか、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界がフィルタリング境界であると決定するように構成され、ここで、第１の境界は、サブ単位の任意の境界である。
【００２４】
このように、予測単位における、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する境界がフィルタリング境界であると決定され、後続のフィルタリング処理が当該境界に対して実行されるのみならず、非並進運動予測単位の境界がフィルタリング境界であることが決定されることもでき、フィルタリング処理が予測単位における非並進運動予測単位の当該境界に対して実行され、これにより、予測単位における非並進運動予測単位間のブロッキングアーティファクトが除去される。
【００２５】
任意選択的に、第２の態様の別の実装可能な方式において、取得ユニットは具体的に、第１のサブ単位の第１の予測画素値を取得すること、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは１から４の範囲にある任意の整数である、計算すること、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することを行うように構成されてよい。
【００２６】
取得ユニットは具体的に、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出することを行うように構成される。
【００２７】
任意選択的に、第２の態様のさらに別の実装可能な方式において、取得ユニットはさらに具体的に、第１のサブ単位（Ｐ）の第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、右座標（２．４）におけるＭ組の座標の動きベクトルとを導出することであって、第１の頂点（１）および第２の頂点（２）は第１のサブ単位（Ｐ）の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する上座標（１．１）、下座標（１．２）、左座標（１．３）、および右座標（１．４）におけるＭ組の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する上座標（２．１）、下座標（２．２）、左座標（２．３）、右座標（２．４）におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位（Ｐ）の第１の頂点（１）に隣接する第１の座標の動きベクトルと、第１のサブ単位（Ｐ）の第２の頂点（２）に隣接する第１の座標の動きベクトルとを含み、第１の座標は上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位（Ｐ）のＭ個の動きベクトルを取得すること、第１のサブ単位（Ｐ）のＭ個の動きベクトルに基づき、第１のサブ単位（Ｐ）のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位（Ｐ）の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位（Ｐ）の第１の画素値を取得することを行うように構成されてよい。
【００２８】
このように、異なるサブ単位の動きベクトルの相関を考慮し、第１のサブ単位に隣接するサブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償が実行されるか、または、第１のサブ単位に隣接する座標点に基づき、第１の単位の動きベクトルが計算され、第１のサブ単位に対して動き補償を実行する。従って、データ冗長性およびデータ符号化長さが低減され、第１のサブ単位の予測精度が向上する。
【００２９】
任意選択的に、第２の態様のさらに別の実装可能な方式において、決定ユニットはさらに、フィルタリング境界の境界強度値を決定するように構成され、フィルタリングユニットは具体的には、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき、フィルタリング境界に対応する閾値βおよびｔを取得し、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成され、ここで、Ｍは、１より大きいかまたはそれに等しい整数である。
【００３０】
このように、フィルタリング処理は、フィルタリング境界の強度に基づき、フィルタリング境界に隣接する画素に対して実行されることができ、変換単位および予測単位の分割により引き起こされるブロッキングアーティファクトを低減する。
【００３１】
第２の態様において説明されている機能モジュールは、ハードウェアを用いることによって実装され得て、またはハードウェアにより、対応するソフトウェアを実行することによって実装され得ることに留意すべきである。ハードウェアまたはソフトウェアは、上述の機能に対応する１つまたは複数のモジュール、例えば、外部ネットワーク要素と通信するように構成される通信ユニット、分割ユニット、決定ユニット、取得ユニット、およびフィルタリングユニットの機能を実装するように構成されるプロセッサ、および対応するアプリケーションプログラムを記憶するように構成されるメモリを含む。プロセッサ、通信ユニット、およびメモリは、バスを用いることによって接続され、互いに通信する。具体的な実装方式は以下の通りである。
【００３２】
第３の態様によると、本発明の実施形態はさらに、第１の態様において説明される方法を実行するように構成されるフィルタリング装置を提供する。フィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニットであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割ユニットと、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニットと、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニットであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得ユニットと、取得ユニットにより取得された、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニットとを備えてよい。
【００３３】
具体的には、プロセッサにより実行される機能については、第２の態様において提供されているフィルタリング装置における分割ユニット、決定ユニット、取得ユニット、およびフィルタリングユニットにより実行される機能を参照されたい。
【００３４】
以上から、本発明の実施形態はブロッキングアーティファクトを除去するためのフィルタリング方法およびフィルタリング装置を提供することが分かる。各予測単位は、少なくとも２つのサブ単位に分割される。分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれは、トラバースされ、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界は、予め設定された規則に基づき、決定される。第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値は取得され、ここで、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する。第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理が実行される。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトが除去され、画像の予測精度および主観的品質が向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを除去できないといった問題を回避する。
【図面の簡単な説明】
【００３５】
本発明の実施形態における技術的解決手段をより明確に説明するために、以下では、実施形態または従来技術を説明するために必要とされる添付の図面を簡潔に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示しているに過ぎず、当業者は、創造努力なく、これらの添付の図面から、他の図面をさらに導出し得る。
【００３６】
【図１】本発明の実施形態に係るフィルタリング装置の構造図である。
【００３７】
【図２】本発明の実施形態に係る、ブロッキングアーティファクトを除去するためのフィルタリング方法のフローチャートである。
【００３８】
【図３】本発明の実施形態に係る画像ブロックの模式図である。
【００３９】
【図４】本発明の実施形態に係る画像ブロックの模式図である。
【００４０】
【図５】本発明の実施形態に係る画像ブロックの模式図である。
【００４１】
【図６】本発明の実施形態に係るフィルタリング装置の構造図である。
【発明を実施するための形態】
【００４２】
本発明の主な原理は以下の通りである。予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、非並進運動予測単位も発見され、フィルタリング処理が予測単位における非並進運動予測単位の境界に対して実行され、これにより、予測単位におけるブロッキングアーティファクトが除去され、画像の予測精度および主観的品質が向上し、非並進運動モデルを用いることによって動き補償が実行される予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを除去できないといった問題を回避する。従って、画像の予測精度および主観的品質が向上する。
【００４３】
本発明の明細書、特許請求の範囲、および添付の図面における「第１」、「第２」、「第３」、および「第４」等（存在する場合）の用語は、類似するものを区別することを意図するものであるが、必ずしも特定の順序を示すものではないことに留意すべきである。そのように称されるデータは、適切な状況において交換可能であり、これにより、本明細書において説明されている本発明の実施形態は、本明細書において示されまたは説明されている順序と異なる順序において実装できることが理解されるべきである。加えて、「中心」、「上」、「下」、「左」、「右」、「頂部」、「底部」、「内側」、および「外側」等の用語により示される方向または位置関係は、添付の図面に基づき示される方向または位置関係であり、本発明を容易に説明し、説明を簡略化するために用いられるに過ぎず、示されているシステムまたは構成要素は特定の向きを有する必要があること、または特定の向きにおいて構成されて操作される必要があることを示すまたは暗示するものではなく、従って、本発明に対する限定として理解されることができない。
【００４４】
以下では、本発明の実施形態における添付の図面を参照し、本発明の実施形態における技術的解決手段を明確に説明する。明らかに、説明されている実施形態は、本発明の実施形態の全部ではなく一部に過ぎない。当業者により、本発明の実施形態に基づき、創造努力なく取得される他の全ての実施形態は、本発明の保護範囲内に含まれるものとする。
【００４５】
図１は、本発明において提供される方法を実行できるフィルタリング装置の構造図である。フィルタリング装置は、画像ブロックに対してフィルタリング処理を実行するように構成される。画像ブロックは、少なくとも１つの予測単位、少なくとも１つの非並進運動予測単位、および少なくとも１つの変換単位に分割される。予測単位は、非並進運動予測単位を含む。フィルタリング装置は、ビデオ符号化装置またはビデオ復号装置であってよい。ビデオ符号化装置またはビデオ復号装置は、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、またはビデオサーバなどの、ビデオを出力または記憶する必要がある任意の装置であってよい。図１を参照すると、フィルタリング装置は、通信インタフェース１００１、プロセッサ１００２、メモリ１００３、および、これらの構成要素の間の接続および相互通信を実装するように構成される少なくとも１つの通信バス１００４を備えてよい。
【００４６】
通信インタフェース１００１は、外部ネットワーク要素とのデータ通信を実行するように構成されてよい。
【００４７】
プロセッサ１００２は、中央処理装置（略してＣＰＵ）であってよく、または、特定用途向け集積回路（ＡＳＩＣ）、または、例えば、１つまたは複数のマイクロプロセッサ（ＤＳＰ）、もしくは１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような、本発明の本実施形態を実装するように構成される１つまたは複数の集積回路であってよい。
【００４８】
メモリ１００３は、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリ、または、リードオンリメモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、もしくはソリッドステートドライブ（ＳＳＤ）などの不揮発性メモリ、または、上述の種類のメモリの組み合わせであってよく、本発明において提供されているフィルタリング方法を実装できるアプリケーションプログラムを記憶するように構成される。
【００４９】
通信バス１００４は、アドレスバス、データバス、制御バス、および同様のものに分類されてよく、業界標準アーキテクチャ（ＩＳＡ）バス、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス、拡張型業界標準アーキテクチャ（ＥＩＳＡ）バス、または同様のものであってよい。表記を容易にするために、通信バスは、図１において１本の太線のみを用いることによって表わされるが、１つのバスのみ、または１種類のバスのみが存在することを示すわけではない。
【００５０】
具体的には、プロセッサ１００２は、各予測単位を少なくとも２つのサブ単位に分割することであって、各サブ単位はＮ×Ｎ個の画素を含み、Ｎは１より大きいかまたはそれに等しい整数である、分割すること、少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得すること、および、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することを行うように構成される。
【００５１】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００５２】
少なくとも２つのサブ単位のうち任意の１つに対して、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界はフィルタリング境界であると決定されるか、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界はフィルタリング境界であると決定され、ここで、第１の境界は、サブ単位の任意の境界である。
【００５３】
任意選択的に、プロセッサ１００２は、第１のサブ単位の第１の予測画素値を取得し、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算し、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得し、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化し、第１のサブ単位の第１の画素値を取得するように構成されてよく、ここで、Ｍは、１から４の範囲にある任意の整数である。
【００５４】
プロセッサ１００２が、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位のそれぞれの動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって左サブ単位の動きベクトルを導出することであってよい。
【００５５】
任意選択的に、プロセッサ１００２はさらに、第１のサブ単位の第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルとを導出することであって、第１の頂点および第２の頂点は第１のサブ単位の任意の２つの異なる頂点であり、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する第１の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する第１の座標の動きベクトルとを含み、第１の座標は上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位のＭ個の動きベクトルを取得すること、第１のサブ単位のＭ個の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することを行うように構成されてよい。
【００５６】
任意選択的に、プロセッサ１００２はさらに、フィルタリング境界の境界強度値を決定し、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されてよい。
【００５７】
以上から、本発明の本実施形態において提供されているフィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割すること、プロセッサにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接する、取得すること、および、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することを行うことが分かる。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトが除去され、画像の予測精度および主観的品質が向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを除去できないといった問題を回避する。
【００５８】
説明しやすくするために、実施形態１は、段階の形式で、本発明において提供されている、ブロッキングアーティファクトを除去するためのフィルタリング方法を示して詳細に説明する。示されている段階は、例えば、図１において示されている装置以外の、実行可能な命令のセットを含むコンピュータシステムにおいて実行されてもよい。加えて、論理的な順序が図面において示されているが、示されているまたは説明されている段階は、いくつかの場合において異なる順序において実行されてよい。
【００５９】
［実施形態１］
図２は、本発明の実施形態に係る、ブロッキングアーティファクトを除去するためのフィルタリング方法のフローチャートである。方法は、図１において示されているフィルタリング装置によって実行され、画像ブロックに対してフィルタリング処理を実行するために用いられる。画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割される。予測単位は、非並進運動予測単位を含む。
【００６０】
画像ブロックは、符号化画像ブロックであってよく、または復号画像ブロックであってよい。フィルタリング装置がビデオ符号化装置であるとき、画像ブロックは、符号化画像ブロックである。フィルタリング装置がビデオ復号装置であるとき、画像ブロックは、復号画像ブロックである。
【００６１】
高効率ビデオ符号化（ＨＥＶＣ）規格において、画像ブロックのサイズは、６４×６４、３２×３２、１６×１６、および８×８という４つのレベルに分類され得る。各レベルの画像ブロックは、フレーム内予測およびフレーム間予測に基づき、異なるサイズの予測単位に分割され得る。各予測単位は、並進運動モデルベースの動き補償予測および非並進運動モデルベースの動き補償予測に基づき、並進運動予測単位および非並進運動予測単位に分類され得る。各レベルの画像ブロックは、異なる変換モードに基づき、異なるサイズの変換単位に分割されてよい。
【００６２】
本発明において説明されている非並進運動は、アフィン運動、スケール運動（ｓｃａｌｅ  ｍｏｔｉｏｎ）、回転運動、または透視運動（ｐｅｒｓｐｅｃｉｖｅ  ｍｏｔｉｏｎ）などの任意の不規則な運動を含んでよいことに留意すべきである。予測単位が非並進運動予測単位を含むことは、予測単位が非並進運動予測単位と交差することを意味する。任意選択的に、予測単位は、並進運動予測単位および非並進運動予測単位を含んでよい。
【００６３】
例えば、図３に示されているように、フレーム間予測が３２×３２の画像ブロックに対して実行される場合、３２×３２の画像ブロックは、１つの予測単位として単独で用いられ得る。動き補償予測が非並進運動モデルを用いることによって予測単位に対して実行される場合、予測単位は、各非並進運動予測単位に基づき、異なるサイズの非並進運動予測単位に分割され得る。異なる変換モードが３２×３２の画像ブロックにおける異なるサイズの単位のために用いられる場合、３２×３２の画像ブロックは、各変換単位に基づき、異なるサイズの変換単位に分割され得る。
【００６４】
非並進運動モデルに基づき取得された隣接する単位の動きベクトルは異なる。従って、動き補償予測が非並進運動モデルに基づき実行される、予測単位における隣接する単位の間のブロッキングアーティファクトを除去するために、隣接する単位間の境界を発見することがさらに必要であり、これにより、境界に近い画素に対してフィルタリング処理を実行することができる。図２において示されているように、方法は、以下の段階を備えてよい。
【００６５】
Ｓ１０１．各予測単位を少なくとも２つのサブ単位に分割し、ここで、各サブ単位は、Ｎ×Ｎ個の画素を含み、Ｎは、１より大きいかまたはそれに等しい整数である。
【００６６】
Ｎの値は、必要に応じて設定されてよく、このことは本発明の本実施形態において限定されない。任意選択的に、Ｎは、デフォルトで４である。
【００６７】
例えば、ｗ×ｈの予測単位は、複数の４×４のサブ単位に分割されてよい。本発明の本実施形態において、４×４のサブ単位は、４×４の画素を含むサブ単位を表わし得る。
【００６８】
Ｓ１０２．少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定する。
【００６９】
任意選択的に、少なくとも２つのサブ単位の任意の１つに対して、予め設定された規則に基づき、サブ単位のフィルタリング境界を決定する段階は、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界がフィルタリング境界であると決定する段階、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界がフィルタリング境界であると決定する段階を含んでよく、ここで、第１の境界は、サブ単位の任意の境界である。
【００７０】
このように、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する、予測単位における画素が発見されるのみならず、動き補償予測が非並進運動モデルに基づき実行される、予測単位における隣接する単位間の境界も取得できる。
【００７１】
例えば、図３において示されているように、３２×３２の予測単位は、（図３の影１により示されているように）６４個の４×４のサブ単位に分割されてよい。各サブ単位は、上境界、下境界、左境界、および右境界という４つの境界を有してよい。図３の影２により示されているサブ単位は、予測単位の内部サブ単位である。動き補償予測が非並進運動モデルを用いることによって実行されるので、サブ単位の動きベクトルは、その隣接するサブ単位の動きベクトルと異なる。サブ単位が予測単位の内部サブ単位であるので、既存のフィルタリング方式が用いられる場合、サブ単位に対してフィルタリング処理が実行されず、その結果、サブ単位とその隣接するサブ単位との間の「ブロッキングアーティファクト」は除去されない。しかし、サブ単位の境界は、フィルタリング境界であると段階Ｓ１０２において決定され得て、フィルタリング処理は、後続の段階における処理によってサブ単位の境界の近くの画素に対して実行され得て、サブ単位とその隣接するサブ単位との間の「ブロッキングアーティファクト」を可能な限り除去し、それにより、予測単位の内部サブ単位に対してフィルタリング処理を実装し、ビデオ画像の主観的および客観的品質を向上させる。
【００７２】
図３において示されているサブ単位の上、下、左、および右境界は単に、説明のための例であり、サブ単位の境界は、本例のネーミング方式を含むが、それに限定されないことに留意すべきである。
【００７３】
Ｓ１０３．第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得し、ここで、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する。
【００７４】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【００７５】
垂直フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが水平に配置されている変換単位または非並進運動予測単位のサブブロック境界であり、水平フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが垂直に配置されている変換単位または非並進運動予測単位のサブブロック境界であることに留意すべきである。本発明において、画像ブロックは、ｘ軸（すなわち、水平方向）およびｙ軸（垂直方向）を含む平面であることが理解され得る。従って、「水平」は、ｘ軸に平行であることを意味し、「垂直」は、ｙ軸に平行であることを意味する。例えば、図３において示されているように、変換単位のサブブロックがｘ軸に平行に配置された変換単位のサブブロック境界は、垂直フィルタリング境界である。
【００７６】
例えば、第１のサブ単位または第２のサブ単位の第１の画素値は、以下の方式１または方式２で取得されてよい。第１のサブ単位の第１の画素値を取得する方式は第２のサブ単位の第１の画素値を取得する方式と同じであるので、説明しやすくするために、第１のサブ単位の第１の画素値を取得することのみを例として用いて、方式１または方式２を説明する。
【００７７】
方式１：第１のサブ単位の第１の予測画素値を取得すること、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは１から４の範囲にある任意の整数である、計算すること、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することである。
【００７８】
本発明の本実施形態において、動きベクトルは、水平成分および垂直成分を含むことに留意すべきである。水平成分は、ｘ軸に平行な成分であり、垂直成分は、ｙ軸に平行な成分である。
【００７９】
第１のサブ単位の第１の予測画素値は、動きモデルに基づき導出された元の画素値であってよい。例えば、第１のサブ単位がアフィン運動単位であるとき、第１のサブ単位における各画素の動きベクトルは、以下のアフィン運動モデル（１）に基づき取得されてよい。そして、第１のサブ単位における各画素をトラバースし、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見する。参照フレームにおける画素の画素値は、第１のサブ単位における画素の予測画素値として用いられる。全ての画素をトラバースすることによって取得された予測画素値は、第１のサブ単位の第１の予測画素値となるよう組み合わせられる。第１のサブ単位がＮ×Ｎ個の画素を含む場合、第１のサブ単位の取得された第１の予測画素値は、Ｎ×Ｎ個のマトリックスであることが理解され得る。加えて、既存の補間フィルタリングアルゴリズムが、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見するために用いられてよく、このことはここでは詳細に説明されない。本発明の本実施形態において、参照フレームは、前方参照フレームであってよく、または後方参照フレームであってよいことに留意すべきである。
【数１】
2019503629.tif 000039
【００８０】
アフィン運動モデル（１）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（Ｖ１ｘ，Ｖ１ｙ）は通常、第１のサブ単位の右頂点（ｗ，０）の動きベクトルであってよく、ここで、ｗは、第１のサブ単位の幅であってよく、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである。
【００８１】
第１のサブ単位に隣接する上サブ単位は、第１のサブ単位の上境界に隣接するサブ単位であり、第１のサブ単位に隣接する下サブ単位は、第１のサブ単位の下境界に隣接するサブ単位であり、第１のサブ単位に隣接する左サブ単位は、第１のサブ単位の左境界に隣接するサブ単位であり、第１のサブ単位に隣接する右サブ単位は、第１のサブ単位の右境界に隣接するサブ単位である。
【００８２】
例えば、図３において示されているように、第１のサブ単位がサブ単位２である場合、サブ単位ａは、第１のサブ単位の上サブ単位であり、サブ単位ｂは、第１のサブ単位の下サブ単位であり、サブ単位ｃは、第１のサブ単位の左サブ単位であり、サブ単位ｄは、第１のサブ単位の右サブ単位である。
【００８３】
任意選択的に、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出することを含んでよい。
【００８４】
本発明の本実施形態において、非並進運動は、アフィン運動、スケール運動、回転運動、または透視運動などの任意の不規則な運動であってよい。  従って、異なる非並進運動に対応し、予め設定された非並進運動モデルを用いることによって、サブ単位の動きベクトルを導出することは、アフィン運動モデル（１）に基づき、サブ単位の動きベクトルを導出すること、または、スケール運動モデル（２）
【数２】
2019503629.tif 000040
に基づき、サブ単位の動きベクトルを導出することであって、スケール運動モデル（２）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（ａ０，ａ１）は、１組の予め設定されたスケール因子であり、ａ０は、水平方向におけるスケール因子であり、ａ１は、垂直方向におけるスケール因子であり、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである、導出すること、または、回転運動モデル（３）
【数３】
2019503629.tif 000041
に基づき、サブ単位の動きベクトルを導出することであって、回転運動モデル（３）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである、導出すること、または、透視運動モデル（４）
【数４】
2019503629.tif 000042
に基づき、サブ単位の動きベクトルを導出することであって、透視運動モデル（４）において、（Ｖ０ｘ，Ｖ０ｙ）は通常、第１のサブ単位の左頂点（０，０）の動きベクトルであってよく、（Ｖ１ｘ，Ｖ１ｙ）は通常、第１のサブ単位の右頂点（ｗ，０）の動きベクトルであってよく、（Ｖ２ｘ，Ｖ２ｙ）は通常、第１のサブ単位の左下の頂点（０，ｈ）の動きベクトルであってよく、（Ｖ３ｘ，Ｖ３ｙ）は通常、第１のサブ単位の右下の頂点（ｗ，ｈ）の動きベクトルであってよく、ｗは、第１のサブ単位の幅であってよく、ｈは、第１のサブ単位の高さであり、（Ｖｘ，Ｖｙ）は、第１のサブ単位における画素（ｘ，ｙ）の動きベクトルである、導出することを含んでよい。
【００８５】
第２の予測画素値は、第１のサブ単位に隣接するサブ単位を用いて第１のサブ単位に対して動き補償を実行することによって取得された新たな画素値であってよい。
【００８６】
任意選択的に、Ｍが４であるとき、Ｍ個のサブ単位の動きベクトルに基づき、第１のサブ単位のＭ個の第２の予測画素値を取得することは、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得すること、第１のサブ単位に隣接する下サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得すること、第１のサブ単位に隣接する左サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得すること、および、第１のサブ単位に隣接する右サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得することを含んでよい。
【００８７】
第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式は基本的に、第１のサブ単位に隣接する下サブ単位または左サブ単位または右サブ単位に基づく動き補償を実行する実装方式と同じであることに留意すべきである。説明しやすくするために、ここでは、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式のみが、説明のための例として用いられる。
【００８８】
例えば、第１のサブ単位に隣接する上サブ単位の動きベクトルは、第１のサブ単位の動きベクトルとして用いられてよく、そして、動きベクトルに基づき、指定された参照フレームにおいて、第１のサブ単位にマッチする単位が発見され、参照フレームにおけるマッチした単位の画素値が、第１のサブ単位の第２の予測画素値として用いられる。
【００８９】
任意選択的に、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することは、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化し、第１のサブ単位の第１の画素値を取得することを含んでよい。
【００９０】
具体的には、第１のサブ単位の第１の予測画素値および各第２の予測画素値はまず、以下の式（５）に基づき、重み付けされ得て、Ｍ個の重み付けされた画素値を取得し、当該Ｍ個の重み付けされた画素値は平均化され、第１のサブ単位の第１の画素値を取得する。
【数５】
2019503629.tif 000043
【００９１】
式（５）において、ＰＣ（ｉ，ｊ）は、第１のサブ単位の第１の予測画素値であり、ＰＮ（ｉ，ｊ）は、第１のサブ単位の第２の予測画素値であり、ＷＮ（ｉ，ｊ）は、第２の予測画素値ＰＮ（ｉ，ｊ）に対応する重み付けマトリックスであり、Ｐ'Ｃ（ｉ，ｊ）は、第１のサブ単位の第１の画素値および第２の予測画素値に対して重み付けを行った後に取得された画素値であり、Ｍの値は、１から４の範囲にあってよい。
【００９２】
例えば、第１のサブ単位が４×４の画素を含む場合、第１のサブ単位の第１の予測画素値および第２の予測画素値は両方とも、４×４のマトリックスである。  概して、上、下、左、および右サブ単位という４つのサブ単位を用いることによって動き補償を実行することによって取得された予測画素値Ｐ１、Ｐ２、Ｐ３、およびＰ４に対応する重み付けマトリックスＷ１、Ｗ２、Ｗ３、およびＷ４は、
【数６】
2019503629.tif 000044
【数７】
2019503629.tif 000045
【数８】
2019503629.tif 000046
および、
【数９】
2019503629.tif 000047
である。
【００９３】
方式２：第１のサブ単位Ｐの第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとを導出することであって、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位Ｐの第１の頂点１に隣接する第１の座標の動きベクトルおよび第１のサブ単位Ｐの第２の頂点２に隣接する第１の座標の動きベクトルを含み、第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標であり、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位ＰのＭ個の動きベクトルを取得すること、第１のサブ単位ＰのＭ個の動きベクトルに基づき、第１のサブ単位ＰのＭ個の第２の予測画素値を取得すること、および、第１のサブ単位Ｐの第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位Ｐの第１の画素値を取得することである。
【００９４】
第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１は、第１のサブ単位の上境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点１に隣接する下座標１．２は、第１のサブ単位Ｐの下境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する左座標１．３は、第１のサブ単位の左境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する右座標１．４は、第１のサブ単位の右境界に隣接するサブ単位の第１の頂点の座標であってよい。
【００９５】
第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１は、第１のサブ単位の上境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する下座標２．２は、第１のサブ単位の下境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する左座標２．３は、第１のサブ単位の左境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する右座標２．４は、第１のサブ単位の右境界に隣接するサブ単位の第２の頂点の座標であってよい。本発明の本実施形態において、サブ単位の第１の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点のうち任意の１つであってよく、サブ単位の第２の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点において、第１の頂点以外の頂点のうち任意の１つであってよいことに留意すべきである。サブ単位の頂点は、頂点の位置における画素の座標点であってよい。概して、第１のサブ単位Ｐの左上の頂点は、原点（０，０）に設定され、他の頂点の座標は、原点の位置に基づき、それに対応して設定される。
【００９６】
例えば、図４において示されているように、第１のサブ単位Ｐは、４×４のサブ単位である。４×４は、画素の数量であり、水平方向または垂直方向における隣接する画素の間の間隔が１である。第１のサブ単位Ｐの第１の頂点１は左上の頂点における画素（０，０）であると仮定する。第１のサブ単位の左上の頂点および右上の頂点は、３つの画素だけ離間されている。従って、第１のサブ単位Ｐの第２の頂点２は、右上の頂点における画素（３，０）であり、第１の頂点１に隣接する上座標１．１は、第１のサブ単位Ｐの上境界に隣接する上サブ単位の左上の頂点における画素（０，−４）であり、第１の頂点１に隣接する下座標１．２は、第１のサブ単位Ｐの下境界に隣接する下サブ単位の左上の頂点における画素（０，４）であり、第１の頂点１に隣接する左座標１．３は、第１のサブ単位Ｐの左境界に隣接する左サブ単位の左上の頂点における画素（−４，０）であり、第１の頂点１に隣接する右座標１．４は、第１のサブ単位Ｐの右境界に隣接する右サブ単位の左上の頂点における画素（４，０）である。同様に、図４において示されているように、画素（３，０）である第２の頂点２に隣接する上座標２．１は、第１のサブ単位Ｐの上境界に隣接する上サブ単位の右上の頂点における画素（３，−４）であり、第２の頂点２に隣接する下座標２．２は、第１のサブ単位Ｐの下境界に隣接する下サブ単位の右上の頂点における画素（３，４）であり、第２の頂点２に隣接する左座標２．３は、第１のサブ単位Ｐの左境界に隣接する左サブ単位の右上の頂点における画素（−１，０）であり、第２の頂点２に隣接する右座標２．４は、第１のサブ単位Ｐの右境界に隣接する右サブ単位の右上の頂点における画素（７，０）である。
【００９７】
例えば、Ｍ＝４であるとき、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトル、および第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトルは、予め設定された非並進運動モデルに基づき、導出されてよい。
【００９８】
第１の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する上座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標の動きベクトルとを含む。第２の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する下座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する下座標の動きベクトルとを含む。第３の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する左座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する左座標の動きベクトルとを含む。第４の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する右座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する右座標の動きベクトルとを含む。
【００９９】
計算は、予め設定された非並進運動モデルに基づき、第１の動きベクトルペア、第２の動きベクトルペア、第３の動きベクトルペア、および第４の動きベクトルペアに対して別々に実行され、第１のサブ単位の４つの動きベクトルを取得する。第１のサブ単位の４つの第２の予測画素値は、第１のサブ単位の４つの動きベクトルに基づき、取得される。第１のサブ単位の第１の予測画素値および４つの第２の予測画素値は、別々に重み付けされる。重み付け後の結果が平均化され、第１のサブ単位の第１の画素値を取得する。
【０１００】
方式２で第１のサブ単位の第１の予測画素値を取得するための方法は、方式１で第１のサブ単位の第１の予測画素値を取得するための方法と同じであり、詳細は、ここでは再び説明されない。
【０１０１】
加えて、方式２において、第１のサブ単位のＭ個の第２の予測画素値が第１のサブ単位のＭ個の動きベクトルに基づき取得され、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値が別々に重み付けされ、重み付け後の結果が平均化され、第１のサブ単位の第１の画素値を取得するという方式も、方式１における方式と同じであり、詳細はここでは再び説明されない。
【０１０２】
第１のサブ単位の第１の頂点または第２の頂点に隣接する上、下、左、および右座標の動きベクトルは、予め設定された非並進運動モデル（１）、または（２）、または（３）、または（４）に基づき導出され得ることが理解され得る。
【０１０３】
Ｓ１０４．第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する。
【０１０４】
任意選択的に、フィルタリング境界の境界強度値が設定されてよく、フィルタリング処理は、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対して、第２の予め設定されたアルゴリズムを用いることによって実行されてよく、ここで、Ｍは、１より大きいかまたはそれに等しい整数である。
【０１０５】
例えば、フィルタリング境界に対応する閾値βおよびｔは、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき取得され得る。
【０１０６】
フィルタリング処理は、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対して実行され、ここで、Ｍは、１より大きいかまたはそれに等しい整数である。
【０１０７】
フィルタリング境界の境界強度値は、以下の方式で設定されてよい。少なくとも１つのフレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在する場合、フィルタリング境界の境界強度値を２に設定するか、または、フレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在せず、フィルタリング境界が変換単位のサブブロック境界であり、かつ、第１のサブ単位もしくは第２のサブ単位が位置する変換単位が、少なくとも１つの非ゼロ係数を有する場合、フィルタリング境界の境界強度値を１に設定するか、または、フレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、フィルタリング境界の境界強度値を１に設定し、そうでなければ、フィルタリング境界の境界強度値を０に設定する。（１）第１のサブ単位および第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量は同じであり、第１のサブ単位が位置する予測単位は１つの動きベクトルを有し、第２のサブ単位が位置する予測単位は１つの動きベクトルを有し、第１のサブ単位の動きベクトルおよび第２のサブ単位の動きベクトルの水平成分または垂直成分間の動きベクトル差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、（２）第１のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、第２のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、同じ予測画像を示す２つの動きベクトルの水平成分または垂直成分間の動きベクトル差は動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（３）第１のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、第２のサブ単位が位置する予測単位は２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、かつ、以下の２つの条件ａおよびｂが真の条件である。（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分もしくは垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分もしくは垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（ｂ）前方参照候補リストｌｉｓｔ０を示す、第１のサブ単位が位置する予測単位の動きベクトル、および後方参照候補リストｌｉｓｔ１を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分もしくは垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、第１のサブ単位が位置する予測単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しい。
【０１０８】
動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であってよく、または、第１のサブ単位および第２のサブ単位が位置する予測単位の動きモデルが異なる場合、動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、第１の単位および第２のサブ単位が位置する予測単位の動きモデルが同じである場合、動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である。
【０１０９】
初期閾値β０およびｔ０は、必要に応じて設定されるが、このことは、本発明の本実施形態において限定されない。
【０１１０】
例えば、閾値βおよびｔは、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき取得される。
【０１１１】
βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することは、まず、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとを、式
【数１０】
2019503629.tif 000048
に代入し、ｑＰＬを取得し、ここで、ＱｐＱは、第１のサブ単位の量子化パラメータであり、ＱｐＰは、第２のサブ単位の量子化パラメータであり、そして、式
【数１１】
2019503629.tif 000049
、および式
【数１２】
2019503629.tif 000050
に基づき、２つのＱ値を取得し、予め設定された表を照会し、式
【数１３】
2019503629.tif 000051
に基づき、取得されたＱ値に対応するβ'を取得し、かつ、式
【数１４】
2019503629.tif 000052
に基づき、取得されたＱ値に対応するｔ'Ｃを取得すること、表を照会することによって取得されたβ'を式
【数１５】
2019503629.tif 000053
に代入し、閾値βを取得することであって、ＢｉｔＤｅｐｔｈは、画素のビット幅を示す、取得すること、表を照会することによって取得されたｔ'Ｃを式
【数１６】
2019503629.tif 000054
に代入し、閾値ｔを取得すること、および、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差をβおよびｔと比較し、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する必要があるかを決定することを含んでよい。
【０１１２】
例えば、図５は、水平フィルタリング境界に隣接するサブ単位の構造図である。図５において示されているように、第１のサブ単位Ｐおよび第２のサブ単位Ｑはそれぞれ、４×４の画素を含む。ＰおよびＱにおける画素の画素値が以下の式を満たした場合、水平フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することが決定される。
【数１７】
2019503629.tif 000055
【０１１３】
Ｐの第１行および第４行における画素と、Ｑの第１行および第４行における画素とが以下の式
【数１８】
2019503629.tif 000056
【数１９】
2019503629.tif 000057
および、
【数２０】
2019503629.tif 000058
を満たした場合、水平フィルタリング境界に隣接する画素に対して強いフィルタリングが実行されるか、または、上述の条件が満たされなかった場合、弱いフィルタリングが実行され、ここで、ｉの値は、０または３である。
【０１１４】
任意選択的に、水平フィルタリング境界に隣接する画素に対して強いフィルタリングを実行することは、水平フィルタリング境界に隣接する８つの画素を取得し、５つのタップを有するフィルタを用いることによってフィルタリングを実行することであってよい。例えば、Ｐの第１行における４つの画素と、Ｑの第１行における４つの画素とが選択されてよく、当該８つの画素は、５つのタップを有するフィルタを用いることによってフィルタリングされる。
【０１１５】
水平フィルタリング境界に隣接する画素に対して弱いフィルタリングを実行することは、水平フィルタリング境界に隣接する６つの画素を取得し、３つのタップを有するフィルタを用いることによってフィルタリングを実行することであってよい。本発明の本実施形態において、６つの画素は、Ｐの第１行における４つの画素およびＱの第１行における４つの画素からランダムに選択されてよく、３つのタップを有するフィルタを用いることによってフィルタリングされることに留意すべきである。
【０１１６】
上述の表は、必要に応じて設定されてよいが、このことは本発明の本実施形態において限定されない。例えば、表が表１であり、式
【数２１】
2019503629.tif 000059
に基づき取得されたＱ値は１１であり、式
【数２２】
2019503629.tif 000060
に基づき、取得されたＱ値が２４である場合、表１から、β'は０であり、ｔ'Ｃは１であることが分かる。
【表１】
2019503629.tif 000061
【０１１７】
以上から、本発明の本実施形態において提供されている、ブロッキングアーティファクトを除去するためのフィルタリング方法によれば、各予測単位は、少なくとも２つのサブ単位に分割され、少なくとも２つのサブ単位のそれぞれはトラバースされ、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界は予め設定された規則に基づき決定され、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値は取得され、ここで、第１のサブ単位および第２のサブ単位はフィルタリング境界に隣接し、フィルタリング処理は、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対して実行されることが分かる。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトは除去され、画像の予測精度および主観的品質は向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを除去できないといった問題を回避する。
【０１１８】
［実施形態２］
図６は、本発明の実施形態に係るフィルタリング装置１０の構造図である。フィルタリング装置１０は、画像ブロックに対してフィルタリング処理を実行するように構成される。画像ブロックは、少なくとも１つの予測単位および少なくとも１つの変換単位に分割される。予測単位は、非並進運動予測単位を含む。フィルタリング装置は、ビデオ符号化装置またはビデオ復号装置であってよい。ビデオ符号化装置またはビデオ復号装置は、例えば、ノートブックコンピュータ、タブレットコンピュータ、パーソナルコンピュータ、携帯電話、またはビデオサーバなどの、ビデオを出力または記憶する必要がある任意の装置であってよい。図６において示されているように、フィルタリング装置１０は、各予測単位を少なくとも２つのサブ単位に分割するように構成される分割ユニット１０１であって、各サブ単位は、Ｎ×Ｎ個の画素を含み、Ｎは、１より大きいかまたはそれに等しい整数である、分割ユニット１０１と、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定するように構成される決定ユニット１０２と、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得するように構成される取得ユニット１０３であって、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する、取得ユニット１０３と、取得ユニット１０３により取得された第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されるフィルタリングユニット１０４とを備えてよい。
【０１１９】
フィルタリング境界が垂直フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する上サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する下サブ単位であり、または、フィルタリング境界が水平フィルタリング境界であるとき、第１のサブ単位は、フィルタリング境界に隣接する左サブ単位であり、第２のサブ単位は、フィルタリング境界に隣接する右サブ単位である。
【０１２０】
垂直フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが水平に配置された変換単位または非並進運動予測単位のサブブロック境界であり、水平フィルタリング境界は、変換単位または非並進運動予測単位のサブブロックが垂直に配置された変換単位または非並進運動予測単位のサブブロック境界であることに留意すべきである。本発明において、画像ブロックは、ｘ軸（すなわち、水平方向）およびｙ軸（垂直方向）を含む平面であることが理解され得る。従って、「水平」は、ｘ軸に平行であることを意味し、「垂直」は、ｙ軸に平行であることを意味する。例えば、図３において示されているように、変換単位のサブブロックがｘ軸に平行に配置された変換単位のサブブロック境界は、垂直フィルタリング境界である。
【０１２１】
さらに、少なくとも２つのサブ単位のうち任意の１つに対して、決定ユニット１０２は具体的に、サブ単位が非並進運動予測単位に含まれる場合、サブ単位の各境界がフィルタリング境界であると決定するか、または、サブ単位の第１の境界が画像ブロックにおける予測単位のサブブロック境界である場合、もしくはサブ単位の第１の境界が画像ブロックにおける変換単位のサブブロック境界である場合、サブ単位の第１の境界がフィルタリング境界であると決定するように構成され、ここで、第１の境界は、サブ単位の任意の境界である。
【０１２２】
このように、予測単位における、予測単位のサブブロック境界または変換単位のサブブロック境界上に位置する境界がフィルタリング境界であると決定され、後続のフィルタリング処理が境界に対して実行されるのみならず、非並進運動予測単位の境界がフィルタリング境界であることも決定でき、フィルタリング処理は、予測単位における非並進運動予測単位の当該境界に対して実行され、これにより、予測単位における非並進運動予測単位間のブロッキングアーティファクトが除去される。
【０１２３】
さらに、取得ユニット１０３は、以下の方式１または方式２で第１のサブ単位の第１の画素値を取得するように構成されてよい。
【０１２４】
方式１：第１のサブ単位の第１の予測画素値を取得すること、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することであって、Ｍは１から４の範囲にある任意の整数である、計算すること、および、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位の第１の画素値を取得することである。
【０１２５】
本発明の本実施形態において、動きベクトルは、水平成分および垂直成分を含むことに留意すべきである。水平成分は、ｘ軸に平行な成分であり、垂直成分は、ｙ軸に平行な成分である。
【０１２６】
第１のサブ単位の第１の予測画素値は、動きモデルに基づき導出された元の画素値であってよい。例えば、第１のサブ単位がアフィン運動単位であるとき、第１のサブ単位における各画素の動きベクトルは、上述のアフィン運動モデル（１）に基づき取得されてよい。そして、第１のサブ単位における各画素はトラバースされ、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見する。参照フレームにおける画素の画素値は、第１のサブ単位における画素の予測画素値として用いられる。全ての画素をトラバースすることによって取得された予測画素値は、第１のサブ単位の第１の予測画素値となるよう組み合わせられる。第１のサブ単位がＮ×Ｎの画素を含む場合、第１のサブ単位の取得された第１の予測画素値は、Ｎ×Ｎのマトリックスであることが理解され得る。加えて、既存の補間フィルタリングアルゴリズムは、画素の動きベクトルに基づき、指定された参照フレームにおいて、当該画素にマッチする画素を発見するために用いられてよく、このことは、ここでは詳細に説明されない。
【０１２７】
第１のサブ単位に隣接する上サブ単位は、第１のサブ単位の上境界に隣接するサブ単位であり、第１のサブ単位に隣接する下サブ単位は、第１のサブ単位の下境界に隣接するサブ単位であり、第１のサブ単位に隣接する左サブ単位は、第１のサブ単位の左境界に隣接するサブ単位であり、第１のサブ単位に隣接する右サブ単位は、第１のサブ単位の右境界に隣接するサブ単位である。
【０１２８】
例えば、図３において示されているように、第１のサブ単位がサブ単位２である場合、サブ単位ａは、第１のサブ単位の上サブ単位であり、サブ単位ｂは、第１のサブ単位の下サブ単位であり、サブ単位ｃは、第１のサブ単位の左サブ単位であり、サブ単位ｄは、第１のサブ単位の右サブ単位である。
【０１２９】
任意選択的に、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを計算することは、第１のサブ単位が非並進運動予測単位に含まれる場合、または第１のサブ単位が非並進運動予測単位の下境界もしくは右境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する上サブ単位、下サブ単位、左サブ単位、および右サブ単位におけるＭ個のサブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の上境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、左サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する上サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを上サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって上サブ単位の動きベクトルを導出すること、または、第１のサブ単位が非並進運動予測単位の左境界に隣接するサブ単位である場合、予め設定された非並進運動モデルに基づき、第１のサブ単位に隣接する下サブ単位、上サブ単位、および右サブ単位という３つのサブ単位の動きベクトルを導出すること、および、第１のサブ単位に隣接する左サブ単位が位置する予測単位の動きベクトルが存在する場合、第１のサブ単位の動きベクトルを左サブ単位の動きベクトルとして用いること、または、フレーム内符号化モードが第１のサブ単位のために用いられる場合、もしくは第１のサブ単位の動きベクトルが存在しない場合、予め設定された非並進運動モデルを用いることによって、左サブ単位の動きベクトルを導出することを含んでよい。
【０１３０】
本発明の本実施形態において、非並進運動は、アフィン運動、スケール運動、回転運動、または透視運動などの任意の不規則な運動であってよい。従って、異なる非並進運動に対応し、予め設定された非並進運動モデルを用いることによって、サブ単位の動きベクトルを導出することは、アフィン運動モデル（１）に基づき、サブ単位の動きベクトルを導出すること、または、スケール運動モデル（２）に基づき、サブ単位の動きベクトルを導出すること、または、回転運動モデル（３）に基づき、サブ単位の動きベクトルを導出すること、または、透視運動モデル（４）に基づき、サブ単位の動きベクトルを導出することを含んでよい。
【０１３１】
第２の予測画素値は、第１のサブ単位に対して、第１のサブ単位に隣接するサブ単位を用いることによって動き補償を実行することによって取得された新たな画素値であってよい。具体的には、Ｍが４であるとき、取得ユニット１０３は、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位に隣接する下サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位に隣接する左サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位に隣接する右サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行して１つの第２の予測画素値を取得し、第１のサブ単位の第１の予測画素値および４つの第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化して第１のサブ単位の第１の画素値を取得するように構成されてよい。
【０１３２】
第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式は基本的に、第１のサブ単位に隣接する下サブ単位または左サブ単位または右サブ単位に基づき、動き補償を実行する実装方式と同じであることに留意すべきである。説明しやすくするために、ここでは、第１のサブ単位に隣接する上サブ単位の動きベクトルに基づき、第１のサブ単位に対して動き補償を実行し、１つの第２の予測画素値を取得する実装方式のみを、説明のための例として用いる。
【０１３３】
例えば、取得ユニット１０３は、第１のサブ単位に隣接する上サブ単位の動きベクトルを第１のサブ単位の動きベクトルとして用い、そして、動きベクトルに基づき、指定された参照フレームにおいて、第１のサブ単位にマッチする単位を発見し、参照フレームにおけるマッチした単位の画素値を第１のサブ単位の第２の予測画素値として用いてよい。
【０１３４】
任意選択的に、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値に対して別々に重み付けを行い、重み付け後の結果を平均化し、第１のサブ単位の第１の画素値を取得することは、まず、式（５）に基づき、第１のサブ単位の第１の予測画素値および各第２の予測画素値に対して重み付けを行い、Ｍ個の重み付けされた画素値を取得し、Ｍ個の重み付けされた画素値を平均化し、第１のサブ単位の第１の画素値を取得することを含んでよい。
【０１３５】
方式２：第１のサブ単位Ｐの第１の予測画素値を取得すること、予め設定された非並進運動モデルに基づき、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとを導出することであって、Ｍは１から４の範囲にある任意の整数である、導出すること、第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１、下座標１．２、左座標１．３、および右座標１．４におけるＭ組の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１、下座標２．２、左座標２．３、および右座標２．４におけるＭ組の座標の動きベクトルとをグループ化することによって、Ｍ個の動きベクトルペアを取得することであって、Ｍ個の動きベクトルペアにおける第１の動きベクトルペアは、第１のサブ単位Ｐの第１の頂点１に隣接する第１の座標の動きベクトルと、第１のサブ単位Ｐの第２の頂点２に隣接する第１の座標の動きベクトルとを含み、第１の座標は、上座標であり、または下座標であり、または左座標であり、または右座標である、取得すること、予め設定された非並進運動モデルに基づき、Ｍ個の動きベクトルペアに対して計算を別々に実行し、第１のサブ単位ＰのＭ個の動きベクトルを取得すること、第１のサブ単位ＰのＭ個の動きベクトルに基づき、第１のサブ単位ＰのＭ個の第２の予測画素値を取得すること、および、第１のサブ単位Ｐの第１の予測画素値およびＭ個の第２の予測画素値に基づき、第１の予め設定されたアルゴリズムを用いることによって第１のサブ単位Ｐの第１の画素値を取得することである。
【０１３６】
例えば、Ｍが４であるとき、第１のサブ単位の第１の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標、下座標、左座標、および右座標という４組の座標の動きベクトルとが、予め設定された非並進運動モデルに基づき、導出され得る。
【０１３７】
第１の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する上座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する上座標の動きベクトルとを含む。第２の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する下座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する下座標の動きベクトルとを含む。第３の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する左座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する左座標の動きベクトルとを含む。第４の動きベクトルペアは、第１のサブ単位の第１の頂点に隣接する右座標の動きベクトルと、第１のサブ単位の第２の頂点に隣接する右座標の動きベクトルとを含む。
【０１３８】
計算は、予め設定された非並進運動モデルに基づき、第１の動きベクトルペア、第２の動きベクトルペア、第３の動きベクトルペア、および第４の動きベクトルペアに対して別々に実行され、第１のサブ単位の４つの動きベクトルを取得する。第１のサブ単位の４つの第２の予測画素値は、第１のサブ単位の４つの動きベクトルに基づき、取得される。第１のサブ単位の第１の予測画素値および４つの第２の予測画素値は、別々に重み付けされる。重み付け後の結果は平均化され、第１のサブ単位の第１の画素値を取得する。
【０１３９】
方式２で第１のサブ単位の第１の予測画素値を取得するための方法は、方式１で第１のサブ単位の第１の予測画素値を取得するための方法と同じであり、詳細は、ここでは再び説明されない。
【０１４０】
加えて、方式２において、第１のサブ単位のＭ個の第２の予測画素値が第１のサブ単位のＭ個の動きベクトルに基づき取得され、第１のサブ単位の第１の予測画素値およびＭ個の第２の予測画素値が別々に重み付けされ、重み付け後の結果が平均化され、第１のサブ単位の第１の画素値を取得する方式も、方式１における方式と同じであり、詳細はここでは再び説明されない。
【０１４１】
第１のサブ単位Ｐの第１の頂点１に隣接する上座標１．１は、第１のサブ単位の上境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点１に隣接する下座標１．２は、第１のサブ単位Ｐの下境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する左座標１．３は、第１のサブ単位の左境界に隣接するサブ単位の第１の頂点の座標であってよい。第１のサブ単位Ｐの第１の頂点に隣接する右座標１．４は、第１のサブ単位の右境界に隣接するサブ単位の第１の頂点の座標であってよい。
【０１４２】
第１のサブ単位Ｐの第２の頂点２に隣接する上座標２．１は、第１のサブ単位の上境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する下座標２．２は、第１のサブ単位の下境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する左座標２．３は、第１のサブ単位の左境界に隣接するサブ単位の第２の頂点の座標であってよい。第１のサブ単位Ｐの第２の頂点２に隣接する右座標２．４は、第１のサブ単位の右境界に隣接するサブ単位の第２の頂点の座標であってよい。本発明の本実施形態において、サブ単位の第１の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点のうち任意の１つであってよく、サブ単位の第２の頂点は、サブ単位の左上の頂点、左下の頂点、右上の頂点、および右下の頂点という４つの頂点において第１の頂点以外の頂点のうち任意の１つであってよいことに留意すべきである。サブ単位の頂点は、頂点の位置における画素の座標点であってよい。概して、第１のサブ単位Ｐの左上の頂点は、原点（０，０）として設定され、他の頂点の座標は、原点の位置に基づき、それに対応して設定される。
【０１４３】
第１のサブ単位の第１の頂点または第２の頂点に隣接する上、下、左、および右座標の動きベクトルは、予め設定された非並進運動モデル（１）、または（２）、または（３）、または（４）に基づき、導出され得ることが理解され得る。
【０１４４】
決定ユニット１０２はさらに、フィルタリングユニット１０４が、取得ユニット１０３により取得された第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する前に、フィルタリング境界の境界強度値を決定するように構成される。
【０１４５】
フィルタリングユニット１０４は具体的に、フィルタリング境界の境界強度値と、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとに基づき、閾値βおよびｔを取得し、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されてよく、ここで、Ｍは１より大きいかまたはそれに等しい整数である。
【０１４６】
決定ユニット１０２は具体的に、少なくとも１つのフレーム内予測単位が、第１のサブ単位または第２のサブ単位が位置する画像ブロックに存在する場合、フィルタリング境界の境界強度値を２に設定するか、または、フレーム内予測単位が、第１のサブ単位または第２のサブ単位が位置する画像ブロックに存在せず、フィルタリング境界が変換単位のサブブロック境界であり、かつ、第１のサブ単位もしくは第２のサブ単位が位置する変換単位が、少なくとも１つの非ゼロ係数を有する場合、フィルタリング境界の境界強度値を１に設定するか、または、フレーム内予測単位が、第１のサブ単位もしくは第２のサブ単位が位置する画像ブロックに存在しない場合、かつ、以下の条件（１）から（３）のうち任意の１つが真の条件であるとき、フィルタリング境界の境界強度値を１に設定し、そうでなければ、フィルタリング境界の境界強度値を０に設定するように構成される。（１）第１のサブ単位および第２のサブ単位が位置する予測単位の参照画像または動きベクトルの数量は異なり、第１のサブ単位が位置する予測単位は、１つの動きベクトルを有し、第２のサブ単位が位置する予測単位は、１つの動きベクトルを有し、第１のサブ単位の動きベクトルおよび第２のサブ単位の動きベクトルの水平成分または垂直成分間の動きベクトル差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、（２）第１のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、第２のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は異なり、同じ予測画像を示す２つの動きベクトルの水平成分または垂直成分間の動きベクトル差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（３）第１のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、第２のサブ単位が位置する予測単位は、２つの動きベクトルを有し、当該２つの動きベクトルにより示された参照画像は同じであり、かつ、以下の２つの条件ａおよびｂが真の条件である。（ａ）前方参照候補リストｌｉｓｔ０を示す２つの動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す２つの動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しく、および、（ｂ）前方参照候補リストｌｉｓｔ０を示す、第１のサブ単位が位置する予測単位の動きベクトル、および、後方参照候補リストｌｉｓｔ１を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しいか、または、後方参照候補リストｌｉｓｔ１を示す、第１のサブ単位が位置する予測単位の動きベクトル、および前方参照候補リストｌｉｓｔ０を示す、第２のサブ単位が位置する予測単位の動きベクトルの水平成分または垂直成分間の差は、動きベクトル差閾値Ｔより大きいかまたはそれに等しい。
【０１４７】
動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度であってよく、または、第１のサブ単位および第２のサブ単位が位置する予測単位の動きモデルが異なる場合、動きベクトル差閾値Ｔは、１／４の輝度サンプリング精度であり、もしくは、第１の単位および第２のサブ単位が位置する予測単位の動きモデルが同じである場合、動きベクトル差閾値Ｔは、４個の１／４の輝度サンプリング精度である。
【０１４８】
初期閾値β０およびｔ０は、必要に応じて設定され、このことは、本発明の本実施形態において限定されない。
【０１４９】
さらに、フィルタリングユニット１０４が具体的に、βと、ｔと、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差とに基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行するように構成されることは、まず、初期閾値β０およびｔ０と、第１のサブ単位の量子化パラメータと、第２のサブ単位の量子化パラメータとを、式
【数２３】
2019503629.tif 000062
に代入し、ｑＰＬを取得し、ここで、ＱｐＱは、第１のサブ単位の量子化パラメータであり、ＱｐＰは、第２のサブ単位の量子化パラメータであり、そして、式
【数２４】
2019503629.tif 000063
、および式
【数２５】
2019503629.tif 000064
に基づき、２つのＱ値を取得し、予め設定された表を照会し、式
【数２６】
2019503629.tif 000065
に基づき、取得されたＱ値に対応するβ'を取得し、式
【数２７】
2019503629.tif 000066
に基づき、取得されたＱ値に対応するｔ'Ｃを取得すること、表を照会することによって取得されたβ'を式
【数２８】
2019503629.tif 000067
に代入し、閾値βを取得することであって、ＢｉｔＤｅｐｔｈは、画素ビット幅を示す、取得すること、表を照会することによって取得されたｔ'Ｃを式
【数２９】
2019503629.tif 000068
に代入し、閾値ｔを取得すること、および、フィルタリング境界に隣接する、第１のサブ単位および第２のサブ単位におけるＭ個の画素の画素値間の画素差を、βおよびｔと比較し、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行する必要があるかを決定することを含んでよい。
【０１５０】
図６において示されているフィルタリング装置における分割ユニット、取得ユニット、決定ユニット、およびフィルタリングユニットは、図１において示されているフィルタリング装置に単独で配置されるプロセッサであってよく、または、実装のためにフィルタリング装置におけるプロセッサに統合されてよいことに留意すべきである。加えて、分割ユニット、取得ユニット、決定ユニット、およびフィルタリングユニットの実行処理は、図１において示されているフィルタリング装置におけるメモリにおいてプログラムコードの形式で記憶されてよく、フィルタリング装置のプロセッサは、プログラムコードを呼び出し、分割ユニット、取得ユニット、決定ユニット、およびフィルタリングユニットの実行処理を実装する。ここで説明されているプロセッサは、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）、または、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、または、本発明の本実施形態を実装するように構成される１つまたは複数の集積回路であってよい。
【０１５１】
以上から、本発明の本実施形態において提供されているフィルタリング装置は、各予測単位を少なくとも２つのサブ単位に分割すること、分割ユニットにより分割によって取得された少なくとも２つのサブ単位のそれぞれをトラバースし、予め設定された規則に基づき、少なくとも２つのサブ単位の少なくとも１つのフィルタリング境界を決定すること、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値を取得することであって、第１のサブ単位および第２のサブ単位は、フィルタリング境界に隣接する、取得すること、および、第１のサブ単位の第１の画素値および第２のサブ単位の第１の画素値に基づき、フィルタリング境界に隣接する画素に対してフィルタリング処理を実行することを行うことが分かる。このように、予測単位のサブブロック境界または変換単位のサブブロック境界の２つの側に位置する、予測単位における単位の画素がフィルタリングされるのみならず、予測単位における非並進運動予測単位の境界に対してもフィルタリング処理を実行することができ、これにより、予測単位におけるブロッキングアーティファクトは除去され、画像の予測精度および主観的品質は向上し、予測単位の上境界および左境界のみに対してフィルタリング動作が実行され、予測単位の内部動き補償ブロックの境界に対してフィルタリング処理が実行されないため、ブロッキングアーティファクトを除去できないといった問題を回避する。
【０１５２】
簡便かつ簡潔な説明のために、上述のユニットおよびシステムの具体的な作業処理について、上述の方法の実施形態における対応する処理を参照することは、当業者により明確に理解され得て、詳細は、ここでは再び説明されない。
【０１５３】
本出願において提供されているいくつかの実施形態において、開示されているシステム、デバイス、および方法は、他の方式で実装され得ることが理解されるべきである。例えば、上で説明されているデバイスの実施形態は単に例である。例えば、ユニットの区分は単に論理的な機能区分であり、実際の実装方式において、他の区分であり得る。例えば、複数のユニットまたは構成要素は、組み合わせられてよく、もしくは別のシステムに統合されてよく、または、いくつかの特徴が無視されてよく、もしくは実行されなくてよい。
【０１５４】
別個の部分として説明されているユニットは、物理的に別個であってもよく、またはそうでなくてもよく、ユニットとして表示されている部分は、物理ユニットであってもよく、またはそうでなくてもよく、一箇所に位置してよく、または複数のネットワークユニット上に分散されてよい。ユニットの一部または全ては、実施形態の解決手段の目的を達成するために実際の要求に応じて選択されてよい。
【０１５５】
加えて、本発明の実施形態における機能ユニットは、１つの処理ユニットに統合されてよく、または、ユニットのそれぞれは、物理的に単独で存在してよく、または、２つまたはそれより多いユニットは、１つのユニットに統合されてよい。統合されたユニットは、ハードウェアの形式で実装されてよく、またはソフトウェア機能ユニットに加え、ハードウェアの形式で実装されてよい。
【０１５６】
上述の統合されたユニットがソフトウェア機能ユニットの形式で実装されたとき、統合されたユニットは、コンピュータ可読記憶媒体において記憶されてよい。ソフトウェア機能ユニットは、記憶媒体において記憶され、（パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る）コンピュータデバイスに、本発明の実施形態において説明されている方法の段階のいくつかを実行するように命令するためのいくつかの命令を含む。上述の記憶媒体は、ＵＳＢフラッシュドライブ、取り外し可能なハードディスク、リードオンリメモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、略してＲＯＭ）、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、略してＲＡＭ）、磁気ディスク、または光ディスクなどの、プログラムコードを記憶できる任意の媒体を含む。
【０１５７】
実施形態における方法の段階の全部または一部は、（プロセッサなどの）関連ハードウェアに命令するプログラムによって実装され得ることが当業者により理解され得る。プログラムは、コンピュータ可読記憶媒体において記憶され得る。記憶媒体は、リードオンリメモリ、ランダムアクセスメモリ、磁気ディスク、または光ディスクなどを含んでよい。
【０１５８】
最後に、上述の実施形態は、本発明の技術的解決手段を説明することを意図するものに過ぎず、本発明を限定するものではないことに留意すべきである。本発明は上述の実施形態を参照して詳細に説明されているが、当業者は、彼らが本発明の実施形態の技術的解決手段の範囲から逸脱することなく、上述の実施形態において説明されている技術的解決手段に対してさらに変更してよく、またはこれらのいくつかの技術的な特徴に対して同等の置き換えを行ってよいことを理解すべきである。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2019503629.tif 000069
【国際調査報告】
2019503629.tif 000070
2019503629.tif 000071
2019503629.tif 000072
2019503629.tif 000073
2019503629.tif 000074
2019503629.tif 000075