(57)【要約】  本発明はビデオ画像復号方法を提供する。本方法では、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズが、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて決定され、ここで、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、最後に、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理が実行される。本方法によれば、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックの属性に基づく最適なサイズに、適応的に調整され得る。このようにして、復号品質が保証され得、復号複雑度が低減され得、復号効率が効果的に改善され得る。
2020529811.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ画像復号方法であって、
アフィン画像ブロックの動きベクトル差分を決定するステップと、
前記アフィン画像ブロックの動きベクトル精度を決定するステップと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するステップであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、ステップと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに復号処理を実行するステップと
を備えるビデオ画像復号方法。
【請求項２】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項1に記載の方法。
【請求項３】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項1に記載の方法。
【請求項４】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項1に記載の方法。
【請求項５】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項2から4のいずれか一項に記載の方法。
【請求項６】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項2から4のいずれか一項に記載の方法。
【請求項７】
前記方法が、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップとをさらに備える、
請求項2から6のいずれか一項に記載の方法。
【請求項８】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するステップを備え、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満たす、
請求項1に記載の方法。
【請求項９】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項8に記載の方法。
【請求項１０】
ビデオ画像符号化方法であって、
アフィン画像ブロックの動きベクトル差分を決定するステップと、
前記アフィン画像ブロックの動きベクトル精度を決定するステップと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するステップであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、ステップと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに符号化処理を実行するステップと
を備えるビデオ画像符号化方法。
【請求項１１】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項10に記載の方法。
【請求項１２】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項10に記載の方法。
【請求項１３】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整するステップであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整するステップであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項10に記載の方法。
【請求項１４】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項11から13のいずれか一項に記載の方法。
【請求項１５】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項11から13のいずれか一項に記載の方法。
【請求項１６】
前記方法が、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップとをさらに備える、
請求項11から15のいずれか一項に記載の方法。
【請求項１７】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するステップを備え、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
請求項10に記載の方法。
【請求項１８】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項17に記載の方法。
【請求項１９】
ビデオ画像復号装置であって、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、
前記アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに復号処理を実行するように構成された、復号モジュールと
を備えるビデオ画像復号装置。
【請求項２０】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項19に記載の装置。
【請求項２１】
前記画像サブブロックサイズ決定モジュールが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項19に記載の装置。
【請求項２２】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項19に記載の方法。
【請求項２３】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
請求項20から22のいずれか一項に記載の装置。
【請求項２４】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成され、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを前記調整することが、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを備える、
請求項20から22のいずれか一項に記載の装置。
【請求項２５】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定することと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることとを行うようにさらに構成される、
請求項20から24のいずれか一項に記載の方法。
【請求項２６】
前記画像サブブロックサイズ決定モジュールが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するように構成され、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
請求項19に記載の装置。
【請求項２７】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項26に記載の装置。
【請求項２８】
ビデオ画像符号化装置であって、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、
前記アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールと
を備えるビデオ画像符号化装置。
【請求項２９】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項28に記載の装置。
【請求項３０】
前記画像サブブロックサイズ決定モジュールが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項28に記載の装置。
【請求項３１】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて前記第1の水平距離を比例的に調整することであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて前記第1の垂直距離を比例的に調整することであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項28に記載の方法。
【請求項３２】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
請求項29から31のいずれか一項に記載の装置。
【請求項３３】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復することとを行うようにさらに構成され、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを前記調整することが、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン画像ブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復することとを備える、
請求項29から31のいずれか一項に記載の装置。
【請求項３４】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定することと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることとを行うようにさらに構成される、
請求項29から33のいずれか一項に記載の装置。
【請求項３５】
前記画像サブブロックサイズ決定モジュールが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するように構成され、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
請求項28に記載の方法。
【請求項３６】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項35に記載の装置。
【請求項３７】
プロセッサおよび不揮発性メモリを備える復号デバイスであって、前記プロセッサが、請求項1から9のいずれか一項に記載の復号方法を実施するために、前記メモリの中に記憶されたプログラムコードを呼び出す、復号デバイス。
【請求項３８】
プロセッサおよび不揮発性メモリを備える符号化デバイスであって、前記プロセッサが、請求項9から18のいずれか一項に記載の符号化方法を実施するために、前記メモリの中に記憶されたプログラムコードを呼び出す、符号化デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2017年8月11日に中国特許庁に出願され「VIDEO IMAGE ENCODING AND DECODING METHOD, APPARATUS, AND DEVICE」と題する中国特許出願第201710687117.5号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００２】
本発明は、ビデオ画像処理の分野に関し、詳細には、ビデオ画像符号化方法、ビデオ画像復号方法、符号化装置、復号装置、符号化デバイス、および復号デバイスに関する。
【背景技術】
【０００３】
インターネット技術が急速に発展し、人々の用具および精神文化がますます豊かになるにつれて、ビデオの適用に対して、特に高精細ビデオの適用に対して、インターネット上に増大した需要がある。しかしながら、高精細ビデオは極めて大量のデータを有する。帯域幅が限定されたインターネット上で高精細ビデオを送信するために、最初に解決される必要がある問題は高精細ビデオの圧縮および符号化である。現在、ビデオコーディング規格の策定に専用の2つの国際機関、すなわち、国際標準化機構(International Organization for Standardization、略して「ISO」)/国際電気標準会議(International Electrotechnical Commission、略して「IEC」)のムービングピクチャエキスパートグループ(Motion Picture Experts Group、略して「MPEG」)、および国際電気通信連合電気通信標準化部門(International Telecommunication Union-Telecommunication Standardization Sector、略して「ITU-T」)のビデオコーディングエキスパートグループ(Video Coding Experts Group、略して「VCEG」)がある。1986年に確立されたMPEGは、マルチメディア分野におけるインターネットまたはワイヤレスネットワークなどでの、記憶、ブロードキャストテレビジョン、ストリーミングメディアに主に適用される関係する規格を策定することに専門化されている。ITU-Tは、ビデオ電話、ビデオ会議、または他の用途などの、リアルタイムビデオ通信の分野のためのビデオコーディング規格を主に策定する。
【０００４】
過去数十年間において、ビデオコンパクトディスク(Video Compact Disc、略して「VCD」)のためのMPEG-1規格、デジタル多用途ディスク(Digital Video Disc、略して「DVD」)およびデジタルビデオブロードキャスティング(Digital Video Broadcasting、略して「DVB」)のためのMPEG-2規格、ビデオ会議のためのH.261規格、H.263規格、およびH.264規格、任意の形状でのオブジェクトの符号化を可能にするMPEG-4規格、ならびに最新の高効率ビデオコーディング(High Efficiency Video Coding、略して「HEVC」)規格を主に含む、様々な用途に特有のビデオコーディング規格が、国際的に首尾よく策定されている。
【０００５】
現在広く使用されるビデオコーディング規格H.264と最新のビデオコーディング規格HEVCの両方によれば、ブロックベース予測、変換、およびエントロピー符号化などの様々なタイプの符号化動作は、基本単位として画像ブロックを使用することによって実行される。画像ブロックは、正方形アレイまたは長方形アレイであってよい2次元のサンプリングポイントアレイである。たとえば、4×4というサイズを有する画像ブロックは、合計4×4個、すなわち16個のサンプリングポイントを含む正方形サンプリングポイントアレイと見なされてよい。図1に示すように、画像ブロックはBとして示されてよい。画像ブロック信号とは、画像ブロックの中のサンプリングポイントのサンプリング値であり、B(x,y)、x,y=0...3として表されてよく、ただし、(x,y)は画像ブロックの中の各サンプリングポイントの座標を表す。同様に、画像はまた、2次元のサンプリングポイントアレイとして表されてよく、画像ブロックに対して使用される方法と類似の方法を使用することによって示される。加えて、サンプリングポイントは、ピクセルと呼ばれることもあり、本発明の本明細書において区別なしに使用されることになる。
【０００６】
ビデオシーケンスは、フレームごとに配列された画像を含む。一般に、連続した画像が極めて短い時間区間において生成され、画像はわずかに変化する。したがって、連続した画像の間に小さい差分がある。したがって、現在の画像と参照画像との間の差分のみが、連続した画像の間の時間相関に基づいて符号化されてよい。参照画像は、通常、その生成時間が現在の画像の生成時間に近い再構成かつ符号化された画像である。このようにして、符号化されるべき情報の量が低減され、信号圧縮効果が達成される。ビデオコーディング技術では、このタイプの方法はフレーム間予測コーディング技術と呼ばれ、その技術は現在のビデオコーディング規格において広く使用される。図2は、フレーム間予測符号化アーキテクチャを示す。通常はビデオの中の各画像/画像の各フレームである、符号化されるべき画像が入力され、互いに重複しない画像ブロックに分割される。エンコーダは、動き推定を通じて画像ブロックの動きベクトルを取得し、エンコーダは、動き補償を通じて、画像ブロックの動きベクトルを使用することによって画像ブロックの動き補償予測信号を取得する。次いで、画像ブロックの元の信号から動き補償予測信号が減算されて、予測残差信号を取得する。変換、量子化、およびエントロピー符号化を受けた後、予測残差信号がビットストリームの中に書き込まれる。符号化プロセスの中で、画像ブロックの取得された動き補償予測信号がより正確である場合、取得される予測残差信号の数量はより少なく、符号化される必要があるビットの数量はより少なく、画像ブロックの圧縮率はより大きい。
【０００７】
動き推定とは、同じサイズを有し現在の画像ブロックに最良に整合する画像ブロックB'を、現在の画像ブロックBを使用することによって参照画像から見つけることである。空間の中でのB'に対する画像ブロックBのロケーションオフセットは、画像ブロックBの動きベクトルと呼ばれる。動き補償とは、画像ブロックBの動きベクトルに基づいて参照画像から予測信号を取得するプロセスである。取得される信号は動き補償予測信号と呼ばれる。
【０００８】
デコーダ側は、画像ブロックの予測残差信号に逆量子化および逆変換を実行して、再構成された残差信号を取得し、次いで、画像ブロックの動きベクトルに基づいて動き補償予測を通じて参照画像から動き補償予測信号を取得し、画像ブロックの動き補償予測信号と再構成された残差信号とを加算することによって、画像ブロックの再構成された信号を取得し得る。
【０００９】
図3は、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係を示す。瞬間tにおける画像A(t)は、異なるサイズを有し互いに重複しない画像ブロックに分割される。各画像ブロックの中の矢印は、エンコーダ側によって決定される動きベクトルを概略的に表し、長さおよび方向は、それぞれ、現在の画像ブロックの移動強度および移動方向を表す。各画像ブロックの動きベクトルは、画像ブロックの中のすべてのサンプリングポイントに適用される。詳細には、各画像ブロックの予測信号は、動きベクトルによって表されるロケーションオフセットに基づいて、画像ブロックの中のすべてのサンプリングポイントに対する指定された参照画像から取得される。
【００１０】
ブロック構造に基づく動き補償予測は、ソフトウェアおよびハードウェアで実装しやすく、小さい複雑度しか有さず、コンピューティングリソースが限定されるときに比較的良好な圧縮効率をもたらすことができる。しかしながら、いくつかの弱点もある。たとえば、その方法では、画像ブロックの中のすべてのピクセルの動きを示すために1つの動きベクトルが使用される。すべてのピクセルが、たとえば、並進移動において、同じ移動方向および同じサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すために使用され得る。画像ブロックの中のピクセルが、たとえば、変倍および回転などの移動において、異なる移動方向またはサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すためには使用され得ない。したがって、正確な予測信号が取得され得ず、圧縮性能が劣化する。
【００１１】
既存の動き補償予測技術の弱点を克服するために、線形に変化する動きベクトルフィールドに基づく動き補償予測技術が提案される。動きベクトルフィールドは、画像ブロックの動きベクトルフィールドである。画像ブロックは、より小さい副次単位に分割される。副次単位はピクセルと同じくらい小さくてよい。各副次単位は動きベクトルを有する。画像ブロックの中のすべての副次単位の動きベクトルは、画像ブロックの動きベクトルフィールドを形成する。画像ブロックの動きベクトルフィールドは、線形または非線形に変化し得る。画像ブロックの動きベクトルフィールドが線形に変化することは、画像ブロックの中の隣接する副次単位の動きベクトルが均等に変化することを意味する。画像ブロックの中の隣接する単位の動きベクトルが不均等に変化する場合、画像ブロックの動きベクトルフィールドは非線形に変化する。本明細書は、線形に変動する動きベクトルフィールドに基づく動き補償予測技術に主に焦点を当てる。Na Zhang、Xiaopeng Fan、Debin Zhao、およびWen Gaoによって提案された「Motion Vector Derivation of Deformable Block」(Image Processing (ICIP), the 2012 19th IEEE International Conference on, vol. No., pp.1549-1552, September 30, 2012 to October 3, 2012)という名称を有する文書では、画像ブロックの中の4つの頂点が制御点として使用され、画像ブロックの中の各4×4単位の動きベクトルを取得するために、4つの制御点の動きベクトルに双線形補間方法が実行されることが提案されている。画像ブロックの中の4つの頂点の動きベクトルが、周囲の画像ブロックの動きベクトルに基づいて取得され、すべての4×4単位の動きベクトルが、画像ブロックの動きベクトルフィールドを形成する。次いで、画像ブロックの動き補償予測信号が、動きベクトルフィールドに基づいて参照画像から取得される。動きベクトルフィールドに基づく動き補償予測技術では、独立した動きベクトルを有する単位のサイズが縮小し、回転および変倍などの非並進移動がより正確に示され得、より正確な動き補償予測信号が取得され得る。上記の動きベクトルフィールドは、制御点の動きベクトルに双線形補間を実行することによって取得され、動きベクトルフィールドは双線形モデルを満たす。双線形補間は数学的補間方法である。図4を参照しながら、特定の補間方法が次のように説明される。
【００１２】
P=(x,y)における関数fの値が計算される必要があること、ならびに4つの点Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)、およびQ22=(x2,y2)における関数fの値がすでに知られていることを想定する。最初に、xの方向において線形補間が実行されて、
【００１３】
【数１】
2020529811.tif 000003
【００１４】
を取得する。
次いで、yの方向において線形補間が実行されて、
【００１５】
【数２】
2020529811.tif 000004
【００１６】
を取得する。
点Pにおける値は、式(1)から取得された結果を式(2)に代入することによって取得され得る。画像ブロックの中のすべての点の動きベクトルは、補間方法を使用することによって、制御点の動きベクトルに基づいて取得され得る。
【００１７】
この方法では、制御点の動きベクトルは周囲の画像ブロックの動きベクトルに基づいて選択され、選択される動きベクトルは不正確である場合がある。制御点の動きベクトルが動き推定および動き探索を通じて取得される場合、制御点の動きベクトルはビットストリームの中に書き込まれる必要がある。この場合、画像ブロックの動きベクトルフィールドを示すために、より効率的な方法が必要とされ、たとえば、アフィン変換モデルが使用される。したがって、アフィン変換に基づく動き補償予測技術が提案される。
【００１８】
アフィン変換は、2つの空間の間のマッピング関係を表し、通常のアフィン変換は、回転、変倍、および並進を含む。画像ブロックの、アフィン変換モデルを使用することによって取得される動きベクトルフィールドは、線形に変化し、動きベクトルフィールドはアフィン変換を満たす。通常の6パラメータアフィン変換モデルは、上記の3つの動きを表してよい。詳細には、式(3)に示すように、(x,y)は現在の画像の中のピクセルPの座標であり、(x',y')は参照画像の中にありピクセルPに整合するピクセルP'の座標であり、a、b、c、d、e、fはアフィン変換パラメータである。アフィンパラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
【００１９】
【数３】
2020529811.tif 000005
【００２０】
アフィンパラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算される。動きベクトルは式(4)によって表現されてよい。
【００２１】
【数４】
2020529811.tif 000006
【００２２】
式(3)が式(4)に代入されて、
【００２３】
【数５】
2020529811.tif 000007
【００２４】
を取得する。
アフィン変換パラメータの特定の値は、知られている動きベクトルの複数のグループ、たとえば、知られている動きベクトルの3つのグループを式(5)に代入することによって取得され得る。したがって、画像ブロックの中のすべての点の動きベクトルは、式(3)および式(4)を使用することによって計算され得る。実際には、概して、画像ブロックの中の隅角点(制御点)の動きベクトルが動き推定を通じて最初に取得され、次いで、隅角点の動きベクトルに基づいてアフィン変換パラメータが計算され、画像ブロックの中のすべてのピクセルの動きベクトルが計算される。隅角点の動きベクトルが図5aおよび図5bに示される。図5aは画像ブロックXを示す。画像ブロックの幅はwであり、高さはhである。左上隅角点の座標は(0,0)であり、動きベクトルは、
【００２５】
【数６】
2020529811.tif 000008
【００２６】
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
【００２７】
【数７】
2020529811.tif 000009
【００２８】
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
【００２９】
【数８】
2020529811.tif 000010
【００３０】
である。以下の6パラメータアフィン変換モデルは、3つの動きベクトル
【００３１】
【数９】
2020529811.tif 000011
【００３２】
を、別々に式5に代入することによって取得され得る。
【００３３】
【数１０】
2020529811.tif 000012
【００３４】
画像ブロックの中の3つの頂点の動きベクトルは異なる場合がある。図5bに示すように、参照画像の中の画像ブロックのマッピング関係が破線によって示される。画像ブロックの中のすべての点の動きベクトルが計算された後、画像ブロックの中のすべての点の動き補償予測信号が動き補償予測を通じて取得される。
【００３５】
上記の内容では、一例として6パラメータアフィン変換モデルが使用される。しかしながら、アフィン変換モデルは6パラメータモデルに限定されず、式(7)および式(8)に示す4パラメータアフィン変換モデル、式(9)に示す2パラメータ変倍モデルなどであってよい。動き補償予測のために画像ブロックに対して4パラメータアフィン変換モデルが選択される場合、アフィンモデルは4つの未知パラメータを有し、モデルのパラメータは動きベクトルの2つのグループを使用することによって取得され得る。動きベクトルの2つのグループは、画像ブロックの中の2つの隅角点の動きベクトルであってよく、または画像ブロックの中の2つの点の動きベクトルであってもよい。
【００３６】
【数１１】
2020529811.tif 000013
【００３７】
式(3)が式(7)に代入されて、
【００３８】
【数１２】
2020529811.tif 000014
【００３９】
を取得する。
左上隅角点の座標は(0,0)であり、動きベクトルは、
【００４０】
【数１３】
2020529811.tif 000015
【００４１】
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
【００４２】
【数１４】
2020529811.tif 000016
【００４３】
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および右上隅角点がそれに対して制御点として使用される動きモデル式
【００４４】
【数１５】
2020529811.tif 000017
【００４５】
が取得され得る。
左上隅角点の座標は(0,0)であり、動きベクトルは、
【００４６】
【数１６】
2020529811.tif 000018
【００４７】
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
【００４８】
【数１７】
2020529811.tif 000019
【００４９】
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および左下隅角点がそれに対して制御点として使用される動きモデル式
【００５０】
【数１８】
2020529811.tif 000020
【００５１】
が取得され得る。
最新のビデオコーディング規格HEVCと比較して、回転および変倍移動を含むビデオフレーム/画像シーケンスに対して、線形に変化する動きベクトルフィールドに基づく動き補償予測技術は、符号化性能を著しく改善することができる。線形に変化する上記の動きベクトルフィールドは、アフィン変換を使用することによって生成される動きベクトルフィールド、および双線形モデルを使用することによって生成される動きベクトルフィールドを含む。アフィン変換に基づく動き補償予測技術は、一例として使用される。画像ブロックのアフィン変換パラメータが取得された後、画像ブロックの中の各点の動きベクトルが計算される必要があり、動き補償予測が各点の動きベクトルに基づいて実行されて、各点の動き補償予測信号を取得する。画像ブロックの中のすべてのピクセルの動きベクトルが異なる場合があるので、異なる演算が動きベクトルに基づいてピクセル上で実行される必要がある。ピクセルベース動き補償予測は複雑度が大きい。符号化/復号複雑度を低減するために、関連技術では、画像ブロックは画像サブブロックにさらに分割されるように試みられ、各画像サブブロックの動きベクトルが計算され、次いで、各画像サブブロックの動き補償予測信号が取得される。
【００５２】
しかしながら、関連技術では、画像サブブロックのサイズは固定されている。サイズが過剰に小さい画像サブブロックは比較的大きい符号化/復号複雑度につながり、サイズが過剰に大きい画像サブブロックは符号化/復号性能を劣化させる。したがって、そのような効率的な符号化方法の適用は、実際には大幅に限定される。
【発明の概要】
【課題を解決するための手段】
【００５３】
本発明は、ビデオ画像復号方法、ビデオ画像符号化方法、復号装置、符号化装置、復号デバイス、および符号化デバイスを提供する。符号化/復号複雑度を低減し符号化/復号性能を改善するために、全体の画像ブロックが処理のための同じサイズを有する複数の画像サブブロックに分割されるように、適切なサイズを有する画像サブブロックが選択されてよい。
【００５４】
第1の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを含む、ビデオ画像復号方法が提供される。
【００５５】
本発明の第1の態様において提供されるビデオ画像復号方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
【００５６】
本発明の第1の態様に基づくと、アフィン動き補償画像サブブロックのサイズを決定および調整するプロセスは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分/第2の成分に対する動きベクトル精度の比率に基づいて第1の水平/垂直距離を比例的に調整すること、および水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することであってよい。この特定の実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、アフィン動き補償画像サブブロックのサイズがアフィン画像ブロックの動きベクトル精度に整合することができるように、動きベクトル精度と動きベクトル差分の第1の成分/第2の成分との間の比率関係に基づいて、制御点の間の第1の水平/垂直距離を調整することによって取得される。このことは、復号品質を保証し復号複雑度を低減する。
【００５７】
本発明の第1の態様に基づくと、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させること、および、次いで、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで上記の解決策を循環的に実行することであってよい。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。加えて、上記の調整は、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを固定のステップサイズだけ調整する、すなわち増大/減少させることであってよく、ステップサイズは、調整値、すなわち、各サイクルの中で水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位である。ステップサイズは任意の値であってよく、通常は上記の1単位ピクセルであり、または2.5単位ピクセルなどの別の値であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さ(すなわち、調整されていない長さ)の偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。この実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、水平/垂直方向におけるアフィン画像の長さがそれによって割り切れる値に急速に接近できることが保証され得、複雑度がさらに低減される。
【００５８】
効率を改善し動作時間を短縮するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さと、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる隣接する2つの値との間の差分が等しい場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。
【００５９】
水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平/垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平/垂直方向におけるアフィン画像ブロックの可能な最大長さである。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平/垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、システム複雑度が低減され計算時間が短縮される。
【００６０】
随意に、本解決策における計算複雑度をさらに低減するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが次の2つの条件を満たすかどうかが決定される必要がある。
(1)水平/垂直方向におけるアフィン画像ブロックの長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ
(2)水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【００６１】
水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平/垂直方向におけるアフィン画像ブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよく、あるいはSは2nに等しく、ここで、nは0または正の整数である。Sの値はアフィン画像ブロックのサイズ以下とすべきであることに留意されたい。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるか、またはアフィン画像ブロックのサイズが2N×2Nであり、すなわち、正方形の形状をなすとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。
【００６２】
本発明の第1の態様において提供される復号方法では、アフィン動き補償画像サブブロックのサイズが無効である、すなわち、許容される最小サイズよりも小さいがアフィン画像ブロックのサイズよりも大きい事例を回避するために、水平/垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式で決定される長さに対して、振幅限定動作が選択および実行されてよい。詳細には、比較方式が使用されて水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが下限Tm/Tnから上限W/Hまでの範囲内に入ることを可能にする。Tm/Tnは事前設定された値であり通常は4であり、W/Hは水平/垂直方向におけるアフィン画像ブロックの長さである。
【００６３】
さらに、本発明の第1の態様において提供される復号方法は、3つの制御点に基づくアフィン変換モデルおよび2つの制御点に基づくアフィン変換モデルに適用可能である。3つの制御点に基づくアフィン変換モデルでは、垂直方向および水平方向におけるアフィン動き補償画像サブブロックの長さは、独立して取得かつ独立して調整される必要がある。それに対応して、2つの制御点に基づくアフィン変換モデルでは、水平方向および垂直方向のうちの一方におけるアフィン動き補償画像サブブロックの、独立して取得される必要がある長さだけが取得され、他方の方向における長さはさらに推測され、両方の方向における長さは独立して調整される必要がある。アフィン画像ブロックのサイズが2N×2Nの通常の正方形であるとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定および調整される必要がない。
【００６４】
第2の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルであることと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する、決定することとを主に含む、ビデオ画像符号化方法が提供される。
【００６５】
本発明の第2の態様において提供されるビデオ画像符号化方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。本発明の第2の態様におけるビデオ画像符号化方法は、本発明の第1の態様におけるビデオ画像復号方法と同じコアステップ、すなわち、アフィン動き補償画像サブブロックのサイズを決定することと、アフィン動き補償画像サブブロックのサイズを調整することとを含むが、異なる最後のステップを含む。したがって、第1の態様におけるビデオ画像復号方法での解決策も、本発明の第2の態様におけるビデオ画像符号化方法に適用可能である。詳細については、第1の態様におけるビデオ画像復号方法の上記の説明を参照されたい。
【００６６】
第3の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュールとを主に含む、ビデオ画像復号装置が提供される。
【００６７】
本発明の第3の態様において提供されるビデオ画像復号装置は、本発明の第1の態様において提供されるビデオ画像復号方法に対応し、本発明の第1の態様において提供されるビデオ画像復号方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
【００６８】
第4の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールとを主に含む、ビデオ画像符号化装置が提供される。
【００６９】
本発明の第4の態様において提供されるビデオ画像符号化装置は、本発明の第2の態様において提供されるビデオ画像符号化方法に対応し、本発明の第2の態様において提供されるビデオ画像符号化方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。
【００７０】
第5の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像復号デバイスが提供され、ここで、プロセッサは、本発明の第1の態様において提供される復号方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
【００７１】
第6の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像符号化デバイスが提供され、ここで、プロセッサは、第2の態様において提供される符号化方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
【００７２】
上記の技術的解決策に基づくと、本発明の実施形態におけるビデオ画像符号化方法、ビデオ画像復号方法、符号化装置、復号装置、符号化デバイス、および復号デバイスによれば、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、符号化/復号複雑度を低減し符号化/復号効率を改善する。
【００７３】
本発明の実施形態における技術的解決策をより明瞭に説明するために、以下のことは、本実施形態または従来技術を説明するために必要とされる添付図面を手短に説明する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示すにすぎず、当業者はやはり創造的な取り組みを伴わずにこれらの添付図面から他の図面を導出し得る。
【図面の簡単な説明】
【００７４】
【図１】ビデオ画像符号化プロセスにおける画像ブロックの概略図である。
【図２】基本的なビデオ画像符号化手順の概略図である。
【図３】ビデオ画像符号化プロセスにおける、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係の概略図である。
【図４】双線形補間を通じて画像ブロックの動きベクトルフィールドを取得することの概略図である。
【図５（ａ）】アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。
【図５（ｂ）】アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。
【図６】本発明の一実施形態による復号方法のために使用されるビデオデコーダの概略フレームワーク図である。
【図７】本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。
【図８】本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。
【図９】本発明の一実施形態によるアフィン画像ブロックおよび制御点の別の概略図である。
【図１０】本発明の一実施形態による、アフィン画像ブロックの中の重複しない3つのピクセルの概略図である。
【図１１】本発明の一実施形態によるアフィン画像ブロックのさらに別の概略図である。
【図１２】本発明の一実施形態によるビデオ画像復号方法の別の概略フローチャートである。
【図１３】本発明の一実施形態によるビデオ画像復号方法のさらに別の概略フローチャートである。
【図１４】本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。
【図１５】本発明の一実施形態によるビデオ画像符号化方法の別の概略フローチャートである。
【図１６】本発明の一実施形態によるビデオ画像符号化方法のさらに別の概略フローチャートである。
【図１７】本発明の一実施形態による復号装置の概略ブロック図である。
【図１８】本発明の一実施形態による符号化装置の概略ブロック図である。
【図１９】本発明の一実施形態による復号デバイスの概略ブロック図である。
【図２０】本発明の一実施形態による符号化デバイスの概略ブロック図である。
【発明を実施するための形態】
【００７５】
本発明の目的は、方法が効果的に実行可能であり得るように、アフィン変換に基づく動き補償予測性能を維持しながら符号化/復号複雑度を低減することである。本明細書では、アフィン変換パラメータを独立して有する画像ブロックは、アフィン画像ブロック、すなわち、Affineブロックと呼ばれる。アフィン画像ブロックからの分割を通じて取得され動き補償予測のために使用される画像サブブロックは、アフィン動き補償(Affine Motion Compensation、略して「Affine-MC」)副画像と呼ばれ、Affine-MCブロックとして示される。本発明で提供される技術的解決策は、符号化/復号要件に従って、同じサイズを有する複数のAffine-MCブロックにAffineブロックを適応的に分割することになる。特定の方法は、Affineブロックの動きベクトル精度、Affineブロックの動きベクトル、およびAffineブロックの中の制御点の間の距離に基づいて、要件を満たすAffine-MCブロックにAffineブロックを適応的に分割することになる。
【００７６】
特定の実施形態を使用することによって本発明の解決策を説明するために、以下では一例としてデコーダ側が使用される。
【００７７】
デコーダ側において、デコーダは、通常、復号方法を実施するために使用され、符号化ビデオビットストリームを復号および再構成する。デコーダの基本論理構造が図6に示される。ビデオデコーダ60は、エントロピー復号ユニット650、予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、フィルタユニット659、および復号画像バッファ660を含む。予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。エントロピー復号ユニット650は、標準CABAC符号化/復号エンジン666およびバイパス符号化/復号エンジン668を含む。別の実施形態では、ビデオデコーダ60は、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。
【００７８】
ビデオデコーダ60の基本作業プロセスは次の通りである。符号化ビデオビットストリーム(以下では略してビットストリームと呼ばれる)を受信した後、エントロピー復号ユニット650が、ビットストリームから構文要素を抽出するためにビットストリームをパース(parse)する。ビットストリームパーシングの一部として、エントロピー復号ユニット650は、ビットストリームの中にありエントロピー符号化がそこで実行されている構文要素をパースアウト(parse out)し得る。予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、およびフィルタユニット659は、ビットストリームから抽出された構文要素に基づいてビデオデータを復号し得、すなわち、復号ビデオデータを生成し得る。構文要素は、標準CABAC符号化/復号バイナリコードワードおよびバイパス符号化/復号バイナリコードワードを含んでよい。エントロピー復号ユニット650は、標準CABAC符号化/復号バイナリコードワードを復号するために標準CABAC符号化/復号エンジン666を使用してよく、バイパス符号化/復号バイナリコードワードを復号するためにバイパス符号化/復号エンジン668を使用してよい。
【００７９】
予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。復号されるべき画像ブロックに対してフレーム間予測符号化が使用されるとき、動き補償ユニット662は、復号されるべき画像ブロックの動き情報に基づいて1つまたは複数の参照ブロックを決定してよく、復号されるべき画像ブロックの予測ピクセルブロックを、参照ブロックに基づいて生成してよい。復号されるべき画像ブロックに対してフレーム内予測符号化が使用されるとき、フレーム内予測処理ユニット664は、画像ブロックの予測ピクセルブロックを生成するためにフレーム内予測を実行する。フレーム内予測処理ユニット664は、フレーム内予測モードを使用することによって、復号されるべき画像ブロックの予測ピクセルブロックを、空間的に隣接する画像ブロックのピクセルに基づいて生成してよい。
【００８０】
再構成ユニット658は、予測処理ユニット652によって取得された予測ピクセルブロック、ならびに逆量子化ユニット654および逆変換処理ユニット656によって処理された復号されるべき画像ブロックの残差データを再構成して、復号されるべき画像ブロックの再構成された画像ブロックを取得する。複数の画像ブロックを含む画像のフレームは、フィルタユニット659によってフィルタ処理され、次いで、復号画像バッファ660の中に記憶される。このようにして、符号化ビデオビットストリームの復号が完了する。復号画像バッファ660の中に記憶された復号画像は、表示のために表示デバイスに直接出力されてよく、または後続のビットストリーム復号プロセスにおける参照画像として使用されてもよい。
【００８１】
本発明の技術的解決策は、動き補償ユニット662が動き補償予測復号を実行するプロセスに適用される。例示的な復号プロセスが図7に示される。本発明における復号方法および符号化方法が本質的に同じであり、復号方法が符号化方法の逆のプロセスであることに留意されたい。以下では一例として復号方法が使用されるが、明瞭に述べられていない限り、方法は基本的に符号化方法と同じである。したがって、以下で説明する復号プロセスでは、符号化に関係する説明および記述は、本解決策とのいかなる競合または矛盾も与えない。
【００８２】
図7は、本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。詳細には、図7に示すように、方法700は以下のステップを含む。
【００８３】
S710。アフィン画像ブロックの動きベクトル差分を決定する。
【００８４】
S720。アフィン画像ブロックの動きベクトル精度を決定する。
【００８５】
S730。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
【００８６】
S740。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行する。
【００８７】
詳細には、復号/符号化デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号/符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。アフィン画像ブロックが、通常、通常の長方形または正方形の形状をなすことに留意されたい。それに対応して、アフィン動き補償画像サブブロックも、通常の長方形または正方形の形状をなす。したがって、水平方向および垂直方向におけるアフィン動き補償副画像の長さが決定された後、アフィン動き補償副画像の全体的なサイズが決定され得る。水平方向および垂直方向は、当技術分野において通常使用されるとともに、ビデオ画像の中での画像ブロック/アフィン画像ブロックの位置を特定するために使用される、基準座標系である。水平方向は、概して、通常の長方形ビデオ画像の長辺の方向を表し、垂直方向は、概して、通常の長方形ビデオ画像の短辺の方向を表し、水平方向および垂直方向は互いに直交している。一般性を失わずに、水平方向は第1の方向と置き換えられてよく、垂直方向は、第1の方向に直交する第2の方向と置き換えられてよい。しかしながら、説明しやすいように、本明細書における説明のために水平方向および垂直方向が使用される。加えて、本明細書における復号方法で説明する「アフィン画像ブロックを復号すること」とは、ビットストリームから符号化データをパースアウトし、基本単位としてアフィン画像ブロックを使用することによって符号化画像を再構成および復元するプロセスである。「アフィン画像ブロックを復号すること」が使用されるとはいえ、アフィン画像ブロックが再構成されていると見なすことはできない。
【００８８】
本発明のこの実施形態におけるビデオ画像復号方法を実行することによって、動き補償ユニット662は、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、復号処理を実行する。したがって、復号プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、復号複雑度が低減され、性能が改善される。
【００８９】
本発明のこの実施形態では、アフィン画像(Affine)ブロックとは、すべての単位のその動きベクトルが同じアフィンモデル、たとえば、1つの同じアフィンモデルを満たし、かつ同じパラメータまたはパラメータの同じグループを使用することによって表され得る、画像ブロックであることを理解されたい。単位はピクセルのグループであり、たとえば、ピクセルであってよく、または1×3もしくは2×4ブロック構造などであってもよい。このことは本発明において限定されない。加えて、本発明のこの実施形態では、重複しない任意のピクセルが、Affineブロックの動きベクトル差分を決定するための制御点として選択されてよい。このことは本発明において限定されない。
【００９０】
好ましくは、S710は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
【００９１】
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS710の中に含まれる解決策における「および/または」が、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
【００９２】
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
【００９３】
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
【００９４】
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
【００９５】
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第2の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
【００９６】
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
【００９７】
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
【００９８】
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
【００９９】
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
【０１００】
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
【０１０１】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
【０１０２】
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
【０１０３】
詳細には、vx(x,y)およびvy(x,y)が、位置(x,y)上のピクセルの動きベクトルの水平成分および垂直成分を表すために使用される場合、アフィンブロックの動きベクトル差分は、式(13)および式(14)に従って決定され得る。
Δmvhor=max(|vx(W,y)-vx(0,y)|,|vy(W,y)-vy(0,y)|) (13)
Δmvver=max(|vx(x,H)-vx(x,0)|,|vy(x,H)-vy(x,0)|) (14)
【０１０４】
maxは最大値を表し、ΔmvhorはAffineブロックの動きベクトル差分の水平成分を表し、ΔmvverはAffineブロックの動きベクトル差分の垂直成分を表し、Wは第1の制御点と第2の制御点との間の第1の水平距離を表し、Hは第3の制御点と第4の制御点との間の第1の垂直距離を表す。図8を参照すると、式(13)は、動きベクトル水平差分Δmvhorが、同じ水平方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvhorを計算するための制御点として頂点0および1または頂点2および3が選択されてよい。式(14)は、動きベクトル垂直差分Δmvverが、同じ垂直方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvverを計算するための制御点として頂点0および2または頂点1および3が選択されてよい。式(13)および式(14)が解決策1、2、および3のうちのいずれか1つに適用可能であることが理解され得る。詳細は次の通りである。
【０１０５】
解決策1では、アフィン画像ブロックの動きベクトル差分は3つの制御点に基づいて決定され、動きベクトル差分は第1の成分および第2の成分を含む。したがって、解決策1では、アフィン画像ブロックの動きベクトル差分は式(13)と式(14)との組合せを使用することによって取得される。
【０１０６】
解決策2では、アフィン画像ブロックの動きベクトル差分は水平方向における2つの制御点に基づいて決定され、動きベクトル差分は第1の成分しか含まない。したがって、解決策2では、アフィン画像ブロックの動きベクトル差分は式(13)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１０７】
【数１９】
2020529811.tif 000021
【０１０８】
が知られている場合、
Δmvhor=max(|vx1-vx0|,|vy1-vy0|) (15)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１０９】
【数２０】
2020529811.tif 000022
【０１１０】
が知られている場合、
Δmvhor=max(|vx3-vx2|,|vy3-vy2|) (16)
である。
【０１１１】
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
【０１１２】
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつアフィン画像ブロックの中の左上隅角上の(0,0)および右上隅角上の(W,0)が制御点として使用されるとき、モデル式は次の通りである。
【０１１３】
【数２１】
2020529811.tif 000023
【０１１４】
(vx0,vy0)および(vx1,vy1)は、それぞれ、左上隅角および右上隅角における制御点の動きベクトルである。左下隅角および右下隅角における制御点の座標(0,h)および(w,h)が式に代入される場合、(vx2,vy2)および(vx3,vy3)が取得され得る。
【０１１５】
解決策3では、アフィン画像ブロックの動きベクトル差分は垂直方向における2つの制御点に基づいて決定され、動きベクトル差分は第2の成分しか含まない。したがって、解決策3では、アフィン画像ブロックの動きベクトル差分は式(14)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１１６】
【数２２】
2020529811.tif 000024
【０１１７】
が知られている場合、
Δmvver=max(|vx2-vx0|,|vy2-vy0|) (18)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１１８】
【数２３】
2020529811.tif 000025
【０１１９】
が知られている場合、
Δmvver=max(|vx3-vx1|,|vy3-vy1|) (19)
である。
【０１２０】
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
【０１２１】
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつ左上隅角上の(0,0)および左下隅角上の(0,H)が制御点として使用されるとき、モデル式は次の通りである。
【０１２２】
【数２４】
2020529811.tif 000026
【０１２３】
(vx0,vy0)および(vx2,vy2)は、それぞれ、左上隅角および左下隅角における制御点の動きベクトルである。右上隅角および右下隅角における制御点の座標(w,0)および(w,h)が式に代入される場合、(vx1,vy1)および(vx3,vy3)が取得され得る。
【０１２４】
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
【０１２５】
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
【０１２６】
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
【０１２７】
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。以下のことは、一例として、6パラメータアフィン変換モデルおよび4パラメータアフィン変換モデルを別々に使用することによってアフィン変換パラメータに基づいて動きベクトル差分を取得するプロセスを説明する。
【０１２８】
6パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中のピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、c、d、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
x'=ax+by+e (21)
y'=cx+dy+f (22)
【０１２９】
アフィン変換パラメータは、通常、アフィン画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算されてよく、動きベクトルの水平成分および垂直成分は、それぞれ、式(23)および式(24)によって表現されてよい。
vx=x-x' (23)
vy=y-y' (24)
【０１３０】
式(21)が式(23)に代入されるとともに式(22)が式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(25)および式(26)によって表現される。
vx=(1-a)x-by-e (25)
vy=(1-d)y-cx-f (26)
【０１３１】
式(25)が式(13)に代入され、式(26)が式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(27)および式(28)に変換される。
Δmvhor=max(|(1-a)W|,|-cW|) (27)
Δmvver=max(|-bH|,|(1-d)H|) (28)
【０１３２】
Affineブロックの動きベクトル差分の第1の成分および第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータa、b、c、およびdを決定することによって、決定され得る。
【０１３３】
4パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中のピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
【０１３４】
【数２５】
2020529811.tif 000027
【０１３５】
式(29)は、アフィン画像ブロックの動きベクトル差分が水平方向における2つの制御点に基づいて決定される、解決策2におけるシナリオに対応する。式(30)は、アフィン画像ブロックの動きベクトル差分が垂直方向における2つの制御点に基づいて決定される、解決策3におけるシナリオに対応する。
【０１３６】
アフィン変換パラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算され得る。動きベクトルの水平成分および垂直成分については、式(23)および式(24)を参照されたい。式(29)および式(30)が、それぞれ、式(23)および式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(31)および式(32)によって表現される。
【０１３７】
【数２６】
2020529811.tif 000028
【０１３８】
式(31)および式(32)が、式(13)および式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(33)および式(34)に変換される。
Δmvhor=max(|(1-a)W|,|bW|) (33)
Δmvver=max(|bH|,|(1-a)H|) (34)
【０１３９】
解決策2または解決策3におけるシナリオでのAffineブロックの動きベクトル差分の第1の成分または第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータaおよびbを決定することによって、決定され得る。
【０１４０】
2パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法が、6パラメータアフィン変換モデルまたは4パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法と本質的に同じであることを理解されたい。簡潔のために、詳細は本明細書で再び説明しない。
【０１４１】
随意に、本発明のこの実施形態では、復号プロセスの中で、アフィン変換パラメータは、パラメータにおける反復的な計算を実行することによって取得され得る。たとえば、モデルに基づく動き補償予測信号が最適であるかどうかを決定するために、パラメータaは1だけ増大される。代替として、アフィン変換パラメータは、隣接するAffineブロックのアフィン変換パラメータに基づく推測を通じて取得されてよい。ただし、このことは本発明において限定されない。
【０１４２】
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
【０１４３】
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０１４４】
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
【０１４５】
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０１４６】
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
【０１４７】
たとえば、図9は、本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。距離wを有する2つの制御点AおよびBは同じ水平線上に位置し、距離hを有する2つの制御点CおよびDは同じ垂直線上に位置する。制御点A、B、C、およびDの動きベクトルが知られている場合、Affineブロックの動きベクトル差分の第1の成分および第2の成分は式(11)および式(12)に従って決定され得る。
Δmvhor=max(vxB-vxA,vyB-vyA) (35)
Δmvver=max(vxC-vxD,vyC-vyD) (36)
【０１４８】
随意に、本発明のこの実施形態では、制御点AおよびCは同じピクセルであってよい。
【０１４９】
随意に、本発明のこの実施形態では、制御点A、B、C、およびDは、Affineブロックの頂点であってよい。この場合、制御点AとBとの間の距離はAffineブロックの幅Wであり、制御点CとDとの間の距離はAffineブロックの高さHである。
【０１５０】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
【０１５１】
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があり、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像の動きベクトル差分として使用される。
【０１５２】
詳細には、A、B、およびCが、互いに重複しない、画像ブロックの中の任意の3つのピクセルであることを想定し、3つのピクセルの位置が図10に示され、3つのピクセルの動きベクトルは、それぞれ、(vxA,vyA)、(vxB,vyB)、および(vxC,vyC)である。水平方向におけるピクセルAとピクセルBとの間の距離はw1であり、垂直方向におけるピクセルAとピクセルBとの間の距離はh1である。水平方向におけるピクセルAとピクセルCとの間の距離はw2であり、垂直方向におけるピクセルAとピクセルCとの間の距離はh2である。水平方向におけるピクセルBとピクセルCとの間の距離はw2-w1であり、垂直方向におけるピクセルBとピクセルCとの間の距離はh1+h2である。水平方向において隣接している2つのピクセルの動きベクトルの水平成分の間の差分が、それぞれ、ΔmvxhorおよびΔmvyhorであること、ならびに垂直方向において隣接している2つのピクセルの動きベクトルの垂直成分の間の差分が、それぞれ、ΔmvxverおよびΔmvyverであることを想定する。画像ブロックの中の動きベクトルが線形に変化するので、Δmvxhor、Δmvyhor、Δmvxver、およびΔmvyverは、ピクセルA、B、およびCの動きベクトルを決定することによって決定されてよく、画像ブロックの中の隣接するピクセルの間の動きベクトル差分が決定され得る。詳細には、動きベクトル差分は式(37)〜式(40)に従って決定されてよい。
vxB=vxA+w1・Δmvxhor+h1・Δmvxver (37)
vyB=vyA+w1・Δmvyhor+h1・Δmvyver (38)
vxC=vxA+w2・Δmvxhor+h2・Δmvxver (39)
vyC=vyA+w2・Δmvyhor+h2・Δmvyver (40)
【０１５３】
代替として、動きベクトル差分は、式(37)および式(38)ならびに式(41)および式(42)に従って決定されてよい。
vxC=vxB+(w2-w1)・Δmvxhor+(h2+h1)・Δmvxver (41)
vyC=vyB+(w2-w1)・Δmvyhor+(h2+h1)・Δmvyver (42)
【０１５４】
随意に、本発明のこの実施形態では、復号デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、復号デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、復号デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、復号デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
【０１５５】
随意に、S720において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
【０１５６】
詳細には、Affineブロックの動きベクトルの値は整数であってよい。この場合、動きベクトルは整数ピクセル精度として取られ、すなわち、ピクセル精度が1である。代替として、動きベクトルの値は整数でなくてもよい。この場合、動きベクトルは、1/2、1/4、または1/8などの精度を含むサブピクセル精度として取られる。図11は、4×4画像ブロックを示し、ここで、xは整数ピクセル位置上のピクセルを表し、収集された画像は、整数ピクセル位置上のピクセルのみを有し、Oは1/2精度位置上のピクセルを表し、1/2精度位置上のピクセルは、整数ピクセル位置上のピクセルに補間を実行することによって取得される必要がある。別の精度位置上のピクセルの値は、整数ピクセル精度を有するピクセルまたは1/2精度を有するピクセルにさらなる補間を実行することによって、取得される必要がある。現在のピクセルの動きベクトルが整数である場合、現在のピクセルは参照画像の中の×の位置を指す。現在のピクセルの動きベクトル精度が1/2である場合、現在のピクセルは参照画像の中のOの位置を指す。
【０１５７】
Affineブロックの動きベクトル精度は、Affineブロックの中のすべてのピクセルにとって最も高い動きベクトル精度である。Affineブロックの動きベクトル精度は、たとえば、整数ピクセル精度、または1/2、1/4、1/8、もしくは1/16などの精度に、事前設定されてよい。代替として、Affineブロックの動きベクトル精度は、Affineブロックの隣接する画像ブロックの特徴に基づいて決定されてよい。たとえば、周囲の画像が比較的滑らかである場合、現在のAffineブロックも滑らかであることが予測されてよく、比較的高い動きベクトル精度、たとえば、1/8または1/16などの精度が選択されてよく、そうでない場合、比較的低い動きベクトル精度、たとえば、整数ピクセル精度または1/2の精度が選択される。取得される精度はMvAcとして示される。
【０１５８】
随意に、図12に示すように、S730は、詳細には以下のステップを含む。
【０１５９】
S1201。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０１６０】
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン変換画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、水平方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で水平方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向にお��るアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０１６１】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０１６２】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０１６３】
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０１６４】
加えて、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1201において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０１６５】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０１６６】
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０１６７】
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
【０１６８】
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
【０１６９】
S1203。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、垂直方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０１７０】
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン変換画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向にお��るアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０１７１】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０１７２】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０１７３】
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０１７４】
加えて、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1203において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０１７５】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０１７６】
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０１７７】
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
【０１７８】
上記のステップS1201およびS1203は、3つの制御点に基づく解決策1におけるシナリオに適用可能である。3つの制御点に基づくシナリオでは、水平方向および垂直方向におけるアフィン動き補償画像サブブロックの長さは別々に計算される。2つの制御点に基づく解決策2および解決策3におけるシナリオの場合、ステップS1201またはステップS1203だけが実行されて、水平方向におけるアフィン動き補償画像サブブロックの長さまたは垂直方向におけるアフィン動き補償画像サブブロックの長さを独立して計算してよい。次いで、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さ、または水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、他方の方向における、すなわち、垂直/水平方向における、アフィン動き補償画像サブブロックの初期長さとして使用され、上記の決定は別々に実行され、すなわち、
垂直/水平方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定するか、または
垂直/水平方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、かつ垂直/水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍であるかどうかを決定する。
【０１７９】
2つの制御点に基づく解決策2および解決策3のシナリオでは、要件に従って、水平方向におけるアフィン動き補償画像サブブロックの長さだけが解決策3において計算されてよく、または垂直方向におけるアフィン動き補償画像サブブロックの長さだけが計算されてもよく、アフィン動き補償画像サブブロックの他方のサイズ成分は、取得された一方のサイズ成分、すなわち、水平方向における長さまたは垂直方向における長さに基づいて、推測または計算される。アフィン画像ブロックのサイズが通常の2N×2N正方形の形状をなすとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定される必要がないことが理解され得る。
【０１８０】
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
【０１８１】
詳細には、取得される動きベクトル差分ΔmvhorおよびΔmvverは通常は比較的小さく、各ピクセルの動きベクトルの精度が過剰に高いこと、たとえば、1/32または1/64であることを示す。過剰に高い動きベクトル精度は、ビデオの圧縮性能にほとんど寄与せず、膨大な量の計算を引き起こす。したがって、Affineブロックは、以前に取得された予想される動きベクトル精度MvAcに基づいて複数のAffine-MCブロックに分割されて、各Affine-MCブロックの動きベクトル精度がMvAcに達することを確実にする。ΔmvhorおよびΔmvverのうちの小さい方の値はMvAc以上である。
【０１８２】
随意に、本発明のこの実施形態では、第1の制御点と第2の制御点との間の水平距離がWであること、および第3の制御点と第4の制御点との間の垂直距離がHであることを想定し、Affine-MCブロックの幅がaMcWであるかまたはMとして示されること、および高さがaMcHであるかまたはNとして示されることを想定する。
【０１８３】
解決策1におけるシナリオでは、3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(43)を使用することによって実施されてよく、すなわち、MおよびNは式(43)に従って決定される。
【０１８４】
【数２７】
2020529811.tif 000029
【０１８５】
このことは、
【０１８６】
【数２８】
2020529811.tif 000030
【０１８７】
ことと等価である。
解決策2におけるシナリオでは、水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(46)を使用することによって実施されてよく、すなわち、MおよびNは式(46)に従って決定される。
【０１８８】
【数２９】
2020529811.tif 000031
【０１８９】
このことは、
【０１９０】
【数３０】
2020529811.tif 000032
【０１９１】
ことと等価である。
【０１９２】
解決策3におけるシナリオでは、垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(48)を使用することによって実施されてよく、すなわち、MおよびNは式(48)に従って決定される。
【０１９３】
【数３１】
2020529811.tif 000033
【０１９４】
このことは、
【０１９５】
【数３２】
2020529811.tif 000034
【０１９６】
ことと等価である。
【０１９７】
MおよびNが式(45)、式(47)、および式(49)に従って計算された後、アルゴリズムを簡略化するために、MおよびNが演算を容易にするかどうか、すなわち、幅Wおよび高さHを有するアフィン画像ブロックが整数の数量のアフィン動き補償画像サブブロックに均等に分割され得るかどうかが、さらに決定される必要がある。詳細には、WがMで割り切れるかどうか、およびHがNで割り切れるかどうかが、決定される必要がある。WがMで割り切れずかつ/またはHがNで割り切れない場合、Wおよび/またはHがそれによって割り切れない値、すなわち、Mおよび/またはNは、WがMで割り切れ、HがNで割り切れ、MおよびNがTm≦M≦WかつTn≦N≦Hを満たすように、調整される。
【０１９８】
調整方法は次の通りであってよい。
【０１９９】
(1)WがMで割り切れないとき、WがMで割り切れるまで、Mは徐々に減少/増大される。HがNで割り切れないとき、HがNで割り切れるまで、Nは徐々に減少/増大される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
【０２００】
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
【０２０１】
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
【０２０２】
随意に、MおよびNが式(45)、式(47)、および式(49)に従って計算された後、MおよびNは、WがMで割り切れ、HがNで割り切れ、MおよびNが各々、Sの倍数でありTm≦M≦WかつTn≦N≦Hを満たすように、さらに調整される。
【０２０３】
調整方法は次の通りであってよい。
【０２０４】
(1)WがMで割り切れないか、またはMがSの倍数でないとき、WがMで割り切れMがSの倍数となるまで、Mは徐々に減少される。HがNで割り切れないか、またはNがSの倍数でないとき、HがNで割り切れNがSの倍数となるまで、Nは徐々に減少される。Sは、通常は4に設定される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
【０２０５】
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
【０２０６】
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
【０２０７】
詳細には、上記の解決策は、表1における以下の例示的なアルゴリズムコードを使用することによって実施されてよい。
【０２０８】
【表１Ａ】
2020529811.tif 000035
【表１Ｂ】
2020529811.tif 000036
【０２０９】
したがって、本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに均等に分割され得るように、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定する。このようにして、方法はハードウェア/ソフトウェアを使用することによって実装され、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２１０】
随意に、図13に示すように、S740は以下のステップを含む。
【０２１１】
S1301。アフィン動き補償画像サブブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
【０２１２】
S1303。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
【０２１３】
S1305。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを復号する。
【０２１４】
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
【０２１５】
随意に、S1301において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
【０２１６】
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
【０２１７】
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
【０２１８】
詳細には、図11に示すように、太い実線ブロックはAffineブロックを表し、細い実線ブロックはAffine-MCブロックを表し、破線ボックスは隣接するAffine-MCブロックの境界におけるピクセルを表し、交差点はピクセルを表す。図11の中の破線ボックスの領域は、隣接するAffine-MCブロックのそれぞれの境界において、隣接するAffine-MCブロックの中に2行または2列のピクセルを含み、あるいは隣接するAffine-MCブロックのそれぞれの境界において、1行または1列、3行または3列などのピクセルを含んでもよい。隣接するAffine-MCブロックの動きベクトルが異なる場合があるので、参照画像から取得される予測信号は参照画像の中で隣接しない。このことは、隣接するAffine-MCブロックの境界において予測信号の不連続性を引き起こし、さらに残差の不連続性を引き起こし、残差の画像符号化/復号性能に影響を及ぼす。したがって、Affine-MCブロックの境界において動き補償予測信号をフィルタ処理することが検討される。
【０２１９】
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルは、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルは、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
【０２２０】
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
【０２２１】
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略して「OBMC」)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
【０２２２】
本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２２３】
随意に、本発明における復号方法はまた、
アフィン画像ブロックの動きベクトル差分およびアフィン画像ブロックの動きベクトル精度を取得するためにビットストリームをパースすることであって、ここで、アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有する、パースすること、
動きベクトル差分、動きベクトル精度、およびアフィン画像ブロックの中の制御点の間の距離に基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行すること、または
アフィン画像ブロックについての情報を取得するためにビットストリームをパースすること、
アフィン画像ブロックについての情報に基づいてアフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、サイズが、水平方向における長さおよび垂直方向における長さを含み、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍である、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することであってよい。
【０２２４】
このようにして、デコーダ側は、アフィン動き補償画像サブブロックのサイズを決定するために、再計算を実行する必要がなくてよいが、エンコーダ側によってデコーダ側へ送信されたパラメータを直接使用してよい。したがって、計算複雑度がさらに低減される。
【０２２５】
上記のことは、本発明の実施形態によるビデオ画像復号方法を、図1〜図13を参照しながら詳細に説明している。上記のことは、デコーダ側およびエンコーダ側におけるこの解決策の実装方式が基本的に同じであることをさらに説明している。このことをより明瞭に説明するために、以下のことは、本発明の実施形態によるビデオ画像符号化方法を、図14〜図16を参照しながら説明する。エンコーダ側における関係する動作がデコーダ側における関係する動作と本質的に同じであるので、繰り返しを避けるために、実装詳細が本明細書で再び説明されないことに留意されたい。
【０２２６】
図14は、本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。
【０２２７】
図14に示す方法は、符号化デバイスによって実行され得る。たとえば、デコーダと同様に、エンコーダは、通常、予測処理ユニット、残差生成ユニット、変換処理ユニット、量子化ユニット、逆量子化ユニット、逆変換処理ユニット、再構成ユニット、フィルタユニット、復号画像バッファ、およびエントロピー符号化ユニットを含む。エントロピー符号化ユニットは、標準CABAC符号化/復号エンジンおよびバイパス符号化/復号エンジンを含む。予測処理ユニットは、フレーム間予測処理ユニットおよびフレーム内予測処理ユニットを含む。フレーム間予測処理ユニットは、動き推定ユニットおよび動き補償ユニットを含む。別の実施形態では、エンコーダは、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。デコーダと同様に、本発明の符号化方法は、フレーム間予測処理ユニットによるフレーム間予測を実行するプロセスに主に適用される。エンコーダの各機能ユニットの詳細な構造については、H.265規格などの従来技術における規制および記述を参照されたい。本発明では詳細な説明は提供されない。本発明では、以下の実施形態は、本発明のこの実施形態における方法ではどのようにアフィン動き補償画像サブブロックのサイズを適応的に決定し符号化を実行するのかという、基本プロセスを説明するために使用されるにすぎない。
【０２２８】
詳細には、図14に示すように、方法1400は以下のステップを含む。
【０２２９】
S1410。アフィン画像ブロックの動きベクトル差分を決定する。
【０２３０】
S1430。アフィン画像ブロックの動きベクトル精度を決定する。
【０２３１】
S1450。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
【０２３２】
S1470。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する。
【０２３３】
詳細には、復号デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。
【０２３４】
したがって、本発明のこの実施形態におけるビデオ画像符号化方法を実行することによって、フレーム間予測処理ユニットは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、符号化処理を実行する。したがって、符号化プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、符号化複雑度が低減され、符号化性能、すなわち圧縮効率が改善される。
【０２３５】
好ましくは、S1410は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
【０２３６】
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS1410の中に含まれる解決策における「および/または」が、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
【０２３７】
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
【０２３８】
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
【０２３９】
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
【０２４０】
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第3の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
【０２４１】
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
【０２４２】
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
【０２４３】
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
【０２４４】
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
【０２４５】
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
【０２４６】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
【０２４７】
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
【０２４８】
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
【０２４９】
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
【０２５０】
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
【０２５１】
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。特定の内容については、本明細書における復号方法の説明を参照されたい。
【０２５２】
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
【０２５３】
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０２５４】
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
【０２５５】
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０２５６】
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
【０２５７】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
【０２５８】
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があること、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像の動きベクトル差分として使用されることが、上記の例から知られ得る。
【０２５９】
随意に、本発明のこの実施形態では、符号化デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、符号化デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、符号化デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、符号化デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
【０２６０】
随意に、S1430において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
【０２６１】
随意に、図15に示すように、S1450は、詳細には以下のステップを含む。
【０２６２】
S1501。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０２６３】
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン変換画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向にお��るアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０２６４】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０２６５】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０２６６】
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０２６７】
加えて、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1501において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０２６８】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1501において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０２６９】
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０２７０】
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
【０２７１】
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
【０２７２】
S1503。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０２７３】
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン変換画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向にお��るアフィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０２７４】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０２７５】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０２７６】
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０２７７】
加えて、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1503において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０２７８】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であることが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０２７９】
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０２８０】
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Qual Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
【０２８１】
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
【０２８２】
アフィン動き補償画像サブブロックのサイズを決定および調整する特定の実装形態については、本明細書における復号方法の特定の説明を参照されたい。
【０２８３】
したがって、本発明のこの実施形態におけるビデオ画像符号化方法によれば、符号化デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２８４】
随意に、図16に示すように、S1470は以下のステップを含む。
【０２８５】
S1601。アフィン動き補償画像サブブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
【０２８６】
S1603。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
【０２８７】
S1605。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを符号化する。
【０２８８】
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
【０２８９】
随意に、S1601において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
【０２９０】
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
【０２９１】
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
【０２９２】
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルは、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルは、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
【０２９３】
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
【０２９４】
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略して「OBMC」)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
【０２９５】
本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２９６】
以下のことは、図17を参照しながら、本発明を実施するための復号装置1700を説明する。復号装置1700は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1710と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1730と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1750であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1750と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュール1770とを含む。
【０２９７】
詳細には、復号装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。復号装置のモジュールは、本発明の復号方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の復号方法におけるすべての方法ステップ、たとえば、ステップS710〜S740ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における復号方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
【０２９８】
以下のことは、図18を参照しながら、本発明の一実施形態による符号化装置を詳細に説明する。符号化装置1800は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1810と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1830と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1850であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1850と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュール1870とを含む。
【０２９９】
詳細には、符号化装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。符号化装置のモジュールは、本発明の復号方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の復号方法におけるすべての方法ステップ、たとえば、ステップS1410〜S1470ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における復号方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
【０３００】
図19に示すように、本発明の一実施形態は、プロセッサ1910、メモリ1930、およびバスシステム1950を含む、復号デバイス1900をさらに提供する。プロセッサおよびメモリは、バスシステムを使用することによって接続されている。メモリは、命令を記憶するように構成されている。プロセッサは、メモリの中に記憶された命令を実行するように構成されている。符号化デバイスのメモリはプログラムコードを記憶する。プロセッサは、本発明の復号方法700におけるすべてのステップおよびステップの拡張、すなわち、図7〜図13で説明したすべての方法を実行するために、メモリの中に記憶されたプログラムコードを呼び出してよい。
【０３０１】
たとえば、プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、本発明の復号方法における完全な動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを実行し得る。
【０３０２】
復号プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、復号複雑度が低減され、復号性能が改善される。
【０３０３】
本発明のこの実施形態では、プロセッサ1910が中央処理装置(Central Processing Unit、略して「CPU」)であってよいことを理解されたい。代替として、プロセッサ1910は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
【０３０４】
メモリ1930は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ1910に提供し得る。メモリ32の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ1930はデバイスタイプについての情報をさらに記憶してよい。
【０３０５】
データバスに加えて、バスシステム1950は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム1950としてマークされている。
【０３０６】
実装プロセスの中で、プロセッサ1910の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ1930の中に位置し、プロセッサ1910はメモリ1930から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。
【０３０７】
図20に示すように、本発明の一実施形態は、プロセッサ2010、メモリ2030、およびバスシステム2050を含む、符号化デバイス2000をさらに提供する。プロセッサ2010およびメモリ2030は、バスシステム2050を使用することによって接続されている。メモリ2030は、命令を記憶するように構成されている。プロセッサ2010は、メモリ2030の中に記憶された命令を実行するように構成されている。符号化デバイス2000のメモリ2030はプログラムコードを記憶する。プロセッサ2010は、本発明の復号方法1400におけるすべてのステップおよびステップの拡張、すなわち、図14〜図16で説明したすべての方法ステップを実行するために、メモリ2030の中に記憶されたプログラムコードを呼び出してよい。たとえば、プロセッサ2010は、メモリ2030の中に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行することとを実行し得る。
【０３０８】
符号化プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、符号化複雑度が低減され、符号化性能が改善される。
【０３０９】
本発明のこの実施形態では、プロセッサ2010が中央処理装置(Central Processing Unit、略して「CPU」)であってよいことを理解されたい。代替として、プロセッサ2010は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
【０３１０】
メモリ2030は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ2010に提供し得る。メモリ2030の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ2030はデバイスタイプについての情報をさらに記憶してよい。
【０３１１】
データバスに加えて、バスシステム2050は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム2050としてマークされている。
【０３１２】
実装プロセスの中で、プロセッサ2010の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ2030の中に位置し、プロセッサ2010はメモリ2030から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。繰り返しを避けるために、詳細は本明細書で再び説明しない。
【符号の説明】
【０３１３】
60  ビデオデコーダ
650  エントロピー復号ユニット
652  予測処理ユニット
654  逆量子化ユニット
656  逆変換処理ユニット
658  再構成ユニット
659  フィルタユニット
660  復号画像バッファ
662  動き補償ユニット
664  フレーム内予測処理ユニット
666  標準CABAC符号化/復号エンジン
668  バイパス符号化/復号エンジン
1700  復号デバイス
1710  動きベクトル差分決定モジュール
1730  動きベクトル精度決定モジュール
1750  画像サブブロックサイズ決定モジュール
1770  復号モジュール
1800  符号化デバイス
1810  動きベクトル差分決定モジュール
1830  動きベクトル精度決定モジュール
1850  画像サブブロックサイズ決定モジュール
1870  符号化モジュール
1900  復号デバイス
1910  プロセッサ
1930  メモリ
1950  バスシステム
2000  符号化デバイス
2010  プロセッサ
2030  メモリ
2050  バスシステム
【図１】
2020529811.tif 000037
【図２】
2020529811.tif 000038
【図３】
2020529811.tif 000039
【図４】
2020529811.tif 000040
【図５（ａ）】
2020529811.tif 000041
【図５（ｂ）】
2020529811.tif 000042
【図６】
2020529811.tif 000043
【図７】
2020529811.tif 000044
【図８】
2020529811.tif 000045
【図９】
2020529811.tif 000046
【図１０】
2020529811.tif 000047
【図１１】
2020529811.tif 000048
【図１２】
2020529811.tif 000049
【図１３】
2020529811.tif 000050
【図１４】
2020529811.tif 000051
【図１５】
2020529811.tif 000052
【図１６】
2020529811.tif 000053
【図１７】
2020529811.tif 000054
【図１８】
2020529811.tif 000055
【図１９】
2020529811.tif 000056
【図２０】
2020529811.tif 000057
【手続補正書】
【提出日】令和2年3月31日(2020.3.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ画像復号方法であって、
アフィン画像ブロックの動きベクトル差分を決定するステップと、
前記アフィン画像ブロックの動きベクトル精度を決定するステップと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するステップであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、ステップと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに復号処理を実行するステップと
を備えるビデオ画像復号方法。
【請求項２】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整するステップであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項1に記載の方法。
【請求項３】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整するステップであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項1に記載の方法。
【請求項４】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整するステップであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整するステップであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項1に記載の方法。
【請求項５】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項2から4のいずれか一項に記載の方法。
【請求項６】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項2から4のいずれか一項に記載の方法。
【請求項７】
前記方法が、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップとをさらに備える、
請求項2から6のいずれか一項に記載の方法。
【請求項８】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するステップを備え、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満たす、
請求項1に記載の方法。
【請求項９】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項8に記載の方法。
【請求項１０】
ビデオ画像符号化方法であって、
アフィン画像ブロックの動きベクトル差分を決定するステップと、
前記アフィン画像ブロックの動きベクトル精度を決定するステップと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するステップであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、ステップと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに符号化処理を実行するステップと
を備えるビデオ画像符号化方法。
【請求項１１】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整するステップであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項10に記載の方法。
【請求項１２】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整するステップであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項10に記載の方法。
【請求項１３】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整するステップであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整するステップであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、ステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整するステップとを備える、
請求項10に記載の方法。
【請求項１４】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項11から13のいずれか一項に記載の方法。
【請求項１５】
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備え、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整する前記ステップが、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させるステップと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整する前記ステップおよび決定する前記ステップを反復するステップとを備える、
請求項11から13のいずれか一項に記載の方法。
【請求項１６】
前記方法が、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定するステップと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させるステップであって、Sが2nに等しくnが0または正の整数である、ステップとをさらに備える、
請求項11から15のいずれか一項に記載の方法。
【請求項１７】
前記水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となり、かつ前記垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍となるように、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定する前記ステップが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するステップを備え、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
請求項10に記載の方法。
【請求項１８】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項17に記載の方法。
【請求項１９】
ビデオ画像復号装置であって、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、
前記アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに復号処理を実行するように構成された、復号モジュールと
を備えるビデオ画像復号装置。
【請求項２０】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整することであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項19に記載の装置。
【請求項２１】
前記画像サブブロックサイズ決定モジュールが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整することであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項19に記載の装置。
【請求項２２】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整することであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整することであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項19に記載の装置。
【請求項２３】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
請求項20から22のいずれか一項に記載の装置。
【請求項２４】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
請求項20から22のいずれか一項に記載の装置。
【請求項２５】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定することと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることとを行うようにさらに構成される、
請求項20から22のいずれか一項に記載の装置。
【請求項２６】
前記画像サブブロックサイズ決定モジュールが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するように構成され、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
請求項19に記載の装置。
【請求項２７】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項26に記載の装置。
【請求項２８】
ビデオ画像符号化装置であって、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、
前記アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の制御点の間の距離、および前記アフィン画像ブロックのサイズに基づいて、前記アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、水平方向における前記アフィン画像ブロックの長さが前記水平方向における前記アフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向における前記アフィン画像ブロックの長さが前記垂直方向における前記アフィン動き補償画像サブブロックの長さの整数倍となるように、前記サイズが、前記水平方向における前記長さおよび前記垂直方向における前記長さを備え、前記制御点が、前記動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、
前記アフィン動き補償画像サブブロックの前記サイズに基づいて前記アフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールと
を備えるビデオ画像符号化装置。
【請求項２９】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整することであって、前記水平方向および前記垂直方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項28に記載の装置。
【請求項３０】
前記画像サブブロックサイズ決定モジュールが、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さおよび前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整することであって、前記垂直方向および前記水平方向における前記アフィン動き補償画像サブブロックの両方の前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項28に記載の装置。
【請求項３１】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第1の成分に対する前記動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整することであって、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを調整することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを取得するために、前記動きベクトル差分の第2の成分に対する前記動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整することであって、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが整数である、調整することと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを調整することとを行うように構成される、
請求項28に記載の装置。
【請求項３２】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
請求項29から31のいずれか一項に記載の装置。
【請求項３３】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することと、
前記垂直方向における前記アフィン画像ブロックの前記長さがそれによって割り切れる最も近い値まで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍であるかどうかを決定し、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さの整数倍でない場合、前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで調整するステップおよび決定するステップを反復することとを行うようにさらに構成される、
請求項29から31のいずれか一項に記載の装置。
【請求項３４】
前記画像サブブロックサイズ決定モジュールが、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、事前設定された長さSの整数倍であるかどうかを決定することと、
前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記水平方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記水平方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることであって、Sが2nに等しくnが0または正の整数である、再調整する、すなわち増大/減少させることと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍であるかどうかを決定することと、
前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さが、前記事前設定された長さSの整数倍でない場合、前記垂直方向における前記アフィン動き補償画像サブブロックの再調整済みの長さが、前記事前設定された長さSの整数倍となるまで、前記垂直方向における前記アフィン動き補償画像サブブロックの前記調整済みの長さを1つまたは複数の単位長さだけ再調整する、すなわち増大/減少させることとを行うようにさらに構成される、
請求項29から31のいずれか一項に記載の装置。
【請求項３５】
前記画像サブブロックサイズ決定モジュールが、
前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて、事前設定されたサイズテーブルをルックアップすることによって前記アフィン画像ブロックの中の前記アフィン動き補償画像サブブロックの前記サイズを決定するように構成され、前記事前設定されたサイズテーブルが、前記アフィン動き補償画像サブブロックの、前記動きベクトル差分、前記動きベクトル精度、前記アフィン画像ブロックの中の前記制御点の間の前記距離、および前記アフィン画像ブロックの前記サイズに基づいて事前決定された前記サイズを記憶し、前記アフィン動き補償画像サブブロックの前記事前決定されたサイズが、前記水平方向における前記アフィン画像ブロックの前記長さが前記水平方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であること、および前記垂直方向における前記アフィン画像ブロックの前記長さが前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さの整数倍であることを満足する、
請求項28に記載の装置。
【請求項３６】
前記アフィン動き補償画像サブブロックの前記事前決定されたサイズは、前記水平方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であること、および前記垂直方向における前記アフィン動き補償画像サブブロックの前記長さが、前記事前設定された長さSの整数倍であることをさらに満たし、Sが2nに等しくnが0または正の整数である、請求項35に記載の装置。
【請求項３７】
プロセッサおよび不揮発性メモリを備える復号デバイスであって、前記プロセッサが、請求項1から9のいずれか一項に記載の復号方法を実施するために、前記メモリの中に記憶されたプログラムコードを呼び出す、復号デバイス。
【請求項３８】
プロセッサおよび不揮発性メモリを備える符号化デバイスであって、前記プロセッサが、請求項10から18のいずれか一項に記載の符号化方法を実施するために、前記メモリの中に記憶されたプログラムコードを呼び出す、符号化デバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ画像処理の分野に関し、詳細には、ビデオ画像符号化方法、ビデオ画像復号方法、ビデオ画像符号化装置、ビデオ画像復号装置、符号化デバイス、および復号デバイスに関する。
【背景技術】
【０００２】
インターネット技術が急速に発展し、人々の用具および精神文化がますます豊かになるにつれて、ビデオの適用に対して、特に高精細ビデオの適用に対して、インターネット上に増大した需要がある。しかしながら、高精細ビデオは極めて大量のデータを有する。帯域幅が限定されたインターネット上で高精細ビデオを送信するために、最初に解決される必要がある問題は高精細ビデオの圧縮および符号化である。現在、ビデオコーディング規格の策定に専用の2つの国際機関、すなわち、国際標準化機構(International Organization for Standardization、略してISO)/国際電気標準会議(International Electrotechnical Commission、略してIEC)のモーションピクチャエキスパートグループ(Motion Picture Experts Group、略してMPEG)、および国際電気通信連合電気通信標準化部門(International Telecommunication Union-Telecommunication Standardization Sector、略してITU-T)のビデオコーディングエキスパートグループ(Video Coding Experts Group、略してVCEG)がある。1986年に確立されたMPEGは、マルチメディア分野におけるインターネットまたはワイヤレスネットワークなどでの、記憶、ブロードキャストテレビジョン、ストリーミングメディアに主に適用される関係する規格を策定することに専門化されている。ITU-Tは、ビデオ電話、ビデオ会議、または他の用途などの、リアルタイムビデオ通信の分野のためのビデオコーディング規格を主に策定する。
【０００３】
過去数十年間において、ビデオコンパクトディスク(Video Compact Disc、略してVCD)のためのMPEG-1規格、デジタル多用途ディスク(Digital Video Disc、略してDVD)およびデジタルビデオブロードキャスティング(Digital Video Broadcasting、略してDVB)のためのMPEG-2規格、ビデオ会議のためのH.261規格、H.263規格、およびH.264規格、任意の形状でのオブジェクトの符号化を可能にするMPEG-4規格、ならびに最新の高効率ビデオコーディング(High Efficiency Video Coding、略してHEVC)規格を主に含む、様々な用途に特有のビデオコーディング規格が、国際的に首尾よく策定されている。
【０００４】
現在広く使用されるビデオコーディング規格H.264と最新のビデオコーディング規格HEVCの両方によれば、ブロックベース予測、変換、およびエントロピー符号化などの様々なタイプの符号化動作は、基本単位として画像ブロックを使用することによって実行される。画像ブロックは、正方形アレイまたは長方形アレイであってよい2次元のサンプリングポイントアレイである。たとえば、4×4というサイズを有する画像ブロックは、合計4×4個、すなわち16個のサンプリングポイントを含む正方形サンプリングポイントアレイと見なされてよい。図1に示すように、画像ブロックはBとして示されてよい。画像ブロック信号とは、画像ブロックの中のサンプリングポイントのサンプリング値であり、B(x,y)、x,y=0...3として表されてよく、ただし、(x,y)は画像ブロックの中の各サンプリングポイントの座標を表す。同様に、画像はまた、2次元のサンプリングポイントアレイとして表されてよく、画像ブロックに対して使用される方法と類似の方法を使用することによって示される。加えて、サンプリングポイントは、ピクセルと呼ばれることもあり、本発明の本明細書において区別なしに使用されることになる。
【０００５】
ビデオシーケンスは、フレームごとに配列された画像を含む。一般に、連続した画像が極めて短い時間区間において生成され、画像はわずかに変化する。したがって、連続した画像の間に小さい差分がある。したがって、現在の画像と参照画像との間の差分のみが、連続した画像の間の時間相関に基づいて符号化されてよい。参照画像は、通常、その生成時間が現在の画像の生成時間に近い再構成かつ符号化された画像である。このようにして、符号化されるべき情報の量が低減され、信号圧縮効果が達成される。ビデオコーディング技術では、このタイプの方法はフレーム間予測コーディング技術と呼ばれ、その技術は現在のビデオコーディング規格において広く使用される。図2は、フレーム間予測符号化アーキテクチャを示す。通常はビデオの中の各画像/画像の各フレームである、符号化されるべき画像が入力され、互いに重複しない画像ブロックに分割される。エンコーダは、動き推定を通じて画像ブロックの動きベクトルを取得し、エンコーダは、動き補償を通じて、画像ブロックの動きベクトルを使用することによって画像ブロックの動き補償予測信号を取得する。次いで、画像ブロックの元の信号から動き補償予測信号が減算されて、予測残差信号を取得する。変換、量子化、およびエントロピー符号化を受けた後、予測残差信号がビットストリームの中に書き込まれる。符号化プロセスの中で、画像ブロックの取得された動き補償予測信号がより正確である場合、取得される予測残差信号の数量はより少なく、符号化される必要があるビットの数量はより少なく、画像ブロックの圧縮率はより大きい。
【０００６】
動き推定とは、同じサイズを有し現在の画像ブロックに最良に整合する画像ブロックB'を、現在の画像ブロックBを使用することによって参照画像から見つけることである。空間の中でのB'に対する画像ブロックBのロケーションオフセットは、画像ブロックBの動きベクトルと呼ばれる。動き補償とは、画像ブロックBの動きベクトルに基づいて参照画像から予測信号を取得するプロセスである。取得される信号は動き補償予測信号と呼ばれる。
【０００７】
デコーダ側は、画像ブロックの予測残差信号に逆量子化および逆変換を実行して、再構成された残差信号を取得し、次いで、画像ブロックの動きベクトルに基づいて動き補償予測を通じて参照画像から動き補償予測信号を取得し、画像ブロックの動き補償予測信号と再構成された残差信号とを加算することによって、画像ブロックの再構成された信号を取得し得る。
【０００８】
図3は、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係を示す。瞬間tにおける画像A(t)は、異なるサイズを有し互いに重複しない画像ブロックに分割される。各画像ブロックの中の矢印は、エンコーダ側によって決定される動きベクトルを概略的に表し、長さおよび方向は、それぞれ、現在の画像ブロックの移動強度および移動方向を表す。各画像ブロックの動きベクトルは、画像ブロックの中のすべてのサンプリングポイントに適用される。詳細には、各画像ブロックの予測信号は、動きベクトルによって表されるロケーションオフセットに基づいて、画像ブロックの中のすべてのサンプリングポイントに対する指定された参照画像から取得される。
【０００９】
ブロック構造に基づく動き補償予測は、ソフトウェアおよびハードウェアでの実装にフレンドリであり、小さい複雑度しか有さず、コンピューティングリソースが限定されるときに比較的良好な圧縮効率をもたらすことができる。しかしながら、いくつかの弱点もある。たとえば、その方法では、画像ブロックの中のすべてのピクセルの動きを示すために1つの動きベクトルが使用される。すべてのピクセルが、たとえば、並進移動において、同じ移動方向および同じサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すために使用され得る。画像ブロックの中のピクセルが、たとえば、変倍および回転などの移動において、異なる移動方向またはサイズを有するとき、その方法は、すべてのピクセルの動きを正確に示すためには使用され得ない。したがって、正確な予測信号が取得され得ず、圧縮性能が劣化する。
【００１０】
既存の動き補償予測技術の弱点を克服するために、線形に変化する動きベクトルフィールドに基づく動き補償予測技術が提案される。動きベクトルフィールドは、画像ブロックの動きベクトルフィールドである。画像ブロックは、あるシナリオでは、より小さい副次単位に分割される。副次単位はピクセルと同じくらい小さくてもよいし、元のブロックと同じくらい大きくてもよい。各副次単位は動きベクトルを有する。画像ブロックの中のすべての副次単位の動きベクトルは、画像ブロックの動きベクトルフィールドを形成する。画像ブロックの動きベクトルフィールドは、線形または非線形に変化し得る。画像ブロックの動きベクトルフィールドが線形に変化することは、画像ブロックの中の隣接する副次単位の動きベクトルが均等に変化することを意味する。画像ブロックの中の隣接する単位の動きベクトルが不均等に変化する場合、画像ブロックの動きベクトルフィールドは非線形に変化する。本明細書は、線形に変動する動きベクトルフィールドに基づく動き補償予測技術に主に焦点を当てる。Na Zhang、Xiaopeng Fan、Debin Zhao、およびWen Gaoによって提案されたMotion Vector Derivation of Deformable Block(Image Processing (ICIP), the 2012 19th IEEE International Conference on, pp.1549-1552, September 30, 2012 to October 3, 2012)という名称を有する文書では、画像ブロックの中の4つの頂点が制御点として使用され、画像ブロックの中の各4×4単位の動きベクトルを取得するために、4つの制御点の動きベクトルに双線形補間方法が実行されることが提案されている。画像ブロックの中の4つの頂点の動きベクトルが、周囲の画像ブロックの動きベクトルに基づいて取得され、すべての4×4単位の動きベクトルが、画像ブロックの動きベクトルフィールドを形成する。次いで、画像ブロックの動き補償予測信号が、動きベクトルフィールドに基づいて参照画像から取得される。動きベクトルフィールドに基づく動き補償予測技術では、独立した動きベクトルを有する単位のサイズが縮小し、回転および変倍などの非並進移動がより正確に示され得、より正確な動き補償予測信号が取得され得る。上記の動きベクトルフィールドは、制御点の動きベクトルに双線形補間を実行することによって取得され、動きベクトルフィールドは双線形モデルを満たす。双線形補間は数学的補間方法である。図4を参照しながら、特定の補間方法が次のように説明される。
【００１１】
P=(x,y)における関数fの値が計算される必要があること、ならびに4つの点Q11=(x1,y1)、Q12=(x1,y2)、Q21=(x2,y1)、およびQ22=(x2,y2)における関数fの値がすでに知られていることを想定する。最初に、xの方向において線形補間が実行されて、
【００１２】
【数１】
2020529811.tif 000058
【００１３】
を取得する。
次いで、yの方向において線形補間が実行されて、
【００１４】
【数２】
2020529811.tif 000059
【００１５】
を取得する。
点Pにおける値は、式(1)から取得された結果を式(2)に代入することによって取得され得る。画像ブロックの中のすべての点の動きベクトルは、補間方法を使用することによって、制御点の動きベクトルに基づいて取得され得る。
【００１６】
この方法では、制御点の動きベクトルは周囲の画像ブロックの動きベクトルに基づいて選択され、選択される動きベクトルは不正確である場合がある。制御点の動きベクトルが動き推定および動き探索を通じて取得される場合、制御点の動きベクトルはビットストリームの中に書き込まれる必要がある。この場合、画像ブロックの動きベクトルフィールドを示すために、より効率的な方法が必要とされ、たとえば、アフィン変換モデルが使用される。したがって、アフィン変換に基づく動き補償予測技術が提案される。
【００１７】
アフィン変換は、2つの空間の間のマッピング関係を表し、通常のアフィン変換は、回転、変倍、および並進を含む。画像ブロックの、アフィン変換モデルを使用することによって取得される動きベクトルフィールドは、線形に変化し、動きベクトルフィールドはアフィン変換を満たす。通常の6パラメータアフィン変換モデルは、上記の3つの動きを表してよい。詳細には、式(3)に示すように、(x,y)は現在の画像の中のアフィン画像ブロックのピクセルPの座標であり、(x',y')は参照画像の中にありピクセルPに整合するピクセルP'の座標であり、a、b、c、d、e、fはアフィン変換パラメータである。アフィン変換パラメータが知られている場合、参照画像の中でのピクセルP=(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
【００１８】
【数３】
2020529811.tif 000060
【００１９】
アフィンパラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算される。動きベクトルは式(4)によって表現されてよい。
【００２０】
【数４】
2020529811.tif 000061
【００２１】
式(3)が式(4)に代入されて、
【００２２】
【数５】
2020529811.tif 000062
【００２３】
を取得する。
アフィン変換パラメータの特定の値は、知られている動きベクトルの複数のグループ、たとえば、知られている動きベクトルの3つのグループを式(5)に代入することによって取得され得る。したがって、画像ブロックの中のすべての点の動きベクトルは、式(3)および式(4)を使用することによって計算され得る。実際には、概して、画像ブロックの中の隅角点(制御点)の動きベクトルが動き推定を通じて最初に取得され、次いで、隅角点の動きベクトルに基づいてアフィン変換パラメータが計算され、画像ブロックの中のすべてのピクセルの動きベクトルが計算される。隅角点の動きベクトルが図5aおよび図5bに示される。図5aは画像ブロックXを示す。画像ブロックの幅はwであり、高さはhである。左上隅角点の座標は(0,0)であり、動きベクトルは、
【００２４】
【数６】
2020529811.tif 000063
【００２５】
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
【００２６】
【数７】
2020529811.tif 000064
【００２７】
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
【００２８】
【数８】
2020529811.tif 000065
【００２９】
である。以下の6パラメータアフィン変換モデルは、3つの動きベクトル
【００３０】
【数９】
2020529811.tif 000066
【００３１】
を、別々に式5に代入することによって取得され得る。
【００３２】
【数１０】
2020529811.tif 000067
【００３３】
画像ブロックの中の3つの頂点の動きベクトルは異なる場合がある。図5bに示すように、参照画像の中の画像ブロックのマッピング関係が破線によって示される。画像ブロックの中のすべての点の動きベクトルが計算された後、画像ブロックの中のすべての点の動き補償予測信号が動き補償予測を通じて取得される。
【００３４】
上記の内容では、一例として6パラメータアフィン変換モデルが使用される。しかしながら、アフィン変換モデルは6パラメータモデルに限定されず、式(7)および式(8)に示す4パラメータアフィン変換モデル、式(9)に示す2パラメータ変倍モデルなどであってよい。動き補償予測のために画像ブロックに対して4パラメータアフィン変換モデルが選択される場合、アフィンモデルは4つの未知パラメータを有し、モデルのパラメータは動きベクトルの2つのグループを使用することによって取得され得る。動きベクトルの2つのグループは、画像ブロックの中の2つの隅角点の動きベクトルであってよく、または画像ブロックの中の2つの点の動きベクトルであってもよい。
【００３５】
【数１１】
2020529811.tif 000068
【００３６】
式(3)が式(7)に代入されて、
【００３７】
【数１２】
2020529811.tif 000069
【００３８】
を取得する。
左上隅角点の座標は(0,0)であり、動きベクトルは、
【００３９】
【数１３】
2020529811.tif 000070
【００４０】
である。右上隅角点の座標は(w,0)であり、動きベクトルは、
【００４１】
【数１４】
2020529811.tif 000071
【００４２】
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および右上隅角点がそれに対して制御点として使用される動きモデル式
【００４３】
【数１５】
2020529811.tif 000072
【００４４】
が取得され得る。
左上隅角点の座標は(0,0)であり、動きベクトルは、
【００４５】
【数１６】
2020529811.tif 000073
【００４６】
である。左下隅角点の座標は(0,h)であり、動きベクトルは、
【００４７】
【数１７】
2020529811.tif 000074
【００４８】
である。両方の隅角点の座標および動きベクトルが式(10)に代入され、左上隅角点および左下隅角点がそれに対して制御点として使用される動きモデル式
【００４９】
【数１８】
2020529811.tif 000075
【００５０】
が取得され得る。
最新のビデオコーディング規格HEVCと比較して、回転および変倍移動を含むビデオフレーム/画像シーケンスに対して、線形に変化する動きベクトルフィールドに基づく動き補償予測技術は、符号化性能を著しく改善することができる。線形に変化する上記の動きベクトルフィールドは、アフィン変換モデルを使用することによって生成される動きベクトルフィールド、および双線形モデルを使用することによって生成される動きベクトルフィールドを含む。アフィン変換に基づく動き補償予測技術は、一例として使用される。画像ブロックのアフィン変換パラメータが取得された後、画像ブロックの中の各点の動きベクトルが計算される必要があり、動き補償予測が各点の動きベクトルに基づいて実行されて、各点の動き補償予測信号を取得する。画像ブロックの中のすべてのピクセルの動きベクトルが異なる場合があるので、異なる演算が動きベクトルに基づいてピクセル上で実行される必要がある。ピクセルベース動き補償予測は複雑度が大きい。符号化/復号複雑度を低減するために、関連技術では、画像ブロックは画像サブブロックにさらに分割されるように試みられ、各画像サブブロックの動きベクトルが計算され、次いで、各画像サブブロックの動き補償予測信号が取得される。
【００５１】
しかしながら、関連技術では、画像サブブロックのサイズは固定されている。サイズが過剰に小さい画像サブブロックは比較的大きい符号化/復号複雑度につながり、サイズが過剰に大きい画像サブブロックは符号化/復号性能を劣化させる。したがって、そのような効率的な符号化方法の適用は、実際には大幅に限定される。
【発明の概要】
【課題を解決するための手段】
【００５２】
本発明は、ビデオ画像復号方法、ビデオ画像符号化方法、復号装置、符号化装置、復号デバイス、および符号化デバイスを提供する。符号化/復号複雑度を低減し符号化/復号性能を改善するために、全体の画像ブロックが処理のための同じサイズを有する複数の画像サブブロックに分割されるように、適切なサイズを有する画像サブブロックが選択されてよい。
【００５３】
第1の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを含む、ビデオ画像復号方法が提供される。
【００５４】
本発明の第1の態様において提供されるビデオ画像復号方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像ブロックのサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
【００５５】
本発明の第1の態様に基づくと、アフィン動き補償画像サブブロックのサイズを決定および調整するプロセスは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分/第2の成分に対する動きベクトル精度の比率に基づいて第1の水平/垂直距離を比例的に調整すること、および水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することであってよい。この特定の実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、アフィン動き補償画像サブブロックのサイズがアフィン画像ブロックの動きベクトル精度に整合することができるように、動きベクトル精度と動きベクトル差分の第1の成分/第2の成分との間の比率関係に基づいて、制御点の間の第1の水平/垂直距離を調整することによって取得される。このことは、復号品質を保証し復号複雑度を低減する。
【００５６】
本発明の第1の態様に基づくと、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整することは、詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを1つまたは複数の単位長さだけ調整する、すなわち増大/減少させること、および、次いで、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで上記の解決策を循環的に実行することであってよい。単位長さは、通常は1単位ピクセルである。詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。加えて、上記の調整は、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを固定のステップサイズだけ調整する、すなわち増大/減少させることであってよく、ステップサイズは、調整値、すなわち、各サイクルの中で水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位である。ステップサイズは任意の値であってよく、通常は上記の1単位ピクセルであり、または2.5単位ピクセルなどの別の値であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さ(すなわち、調整されていない長さ)の偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。この実装形態では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる値に急速に接近できることが保証され得、複雑度がさらに低減される。
【００５７】
効率を改善し動作時間を短縮するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さと、水平/垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる隣接する2つの値との間の差分が等しい場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。
【００５８】
水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平/垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平/垂直方向におけるアフィン画像ブロックの可能な最大長さである。水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平/垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平/垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、システム複雑度が低減され計算時間が短縮される。
【００５９】
随意に、本解決策における計算複雑度をさらに低減するために、本発明の第1の態様において提供される復号方法では、水平/垂直方向におけるアフィン画像ブロックの長さが水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが次の2つの条件を満たすかどうかが決定される必要がある。
(1)水平/垂直方向におけるアフィン画像ブロックの長さが、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ
(2)水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【００６０】
水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平/垂直方向におけるアフィン画像ブロックの長さは、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよく、あるいはSは2nに等しく、ここで、nは0または正の整数である。Sの値はアフィン画像ブロックのサイズ以下とすべきであることに留意されたい。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるか、またはアフィン画像ブロックのサイズが2N×2Nであり、すなわち、正方形の形状をなすとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平/垂直方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。
【００６１】
本発明の第1の態様において提供される復号方法では、アフィン動き補償画像サブブロックのサイズが無効である、すなわち、許容される最小サイズよりも小さいがアフィン画像ブロックのサイズよりも大きい事例を回避するために、水平/垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式で決定される長さに対して、振幅限定動作が選択および実行されてよい。詳細には、比較方式が使用されて水平/垂直方向におけるアフィン動き補償画像サブブロックの長さが下限Tm/Tnから上限W/Hまでの範囲内に入ることを可能にする。Tm/Tnは事前設定された値であり通常は4であり、W/Hは水平/垂直方向におけるアフィン画像ブロックの長さである。
【００６２】
さらに、本発明の第1の態様において提供される復号方法は、3つの制御点に基づくアフィン変換モデルおよび2つの制御点に基づくアフィン変換モデルに適用可能である。3つの制御点に基づくアフィン変換モデルでは、垂直方向および水平方向におけるアフィン動き補償画像サブブロックの長さは、独立して取得かつ独立して調整される必要がある。それに対応して、2つの制御点に基づくアフィン変換モデルでは、水平方向および垂直方向のうちの一方におけるアフィン動き補償画像サブブロックの、独立して取得される必要がある長さだけが取得され、他方の方向における長さはさらに推測され、両方の方向における長さは独立して調整される必要がある。アフィン画像ブロックのサイズが2N×2Nの通常の正方形であるとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定および調整される必要がない。
【００６３】
第2の態様によれば、アフィン画像ブロックの動きベクトル差分を決定することと、アフィン画像ブロックの動きベクトル精度を決定することと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルであることと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する、決定することとを主に含む、ビデオ画像符号化方法が提供される。
【００６４】
本発明の第2の態様において提供されるビデオ画像符号化方法では、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。本発明の第2の態様におけるビデオ画像符号化方法は、本発明の第1の態様におけるビデオ画像復号方法と同じコアステップ、すなわち、アフィン動き補償画像サブブロックのサイズを決定することと、アフィン動き補償画像サブブロックのサイズを調整することとを含むが、異なる最後のステップを含む。したがって、本発明の第1の態様におけるビデオ画像復号方法での解決策も、本発明の第2の態様におけるビデオ画像符号化方法に適用可能である。詳細については、第1の態様におけるビデオ画像復号方法の上記の説明を参照されたい。
【００６５】
第3の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュールとを主に含む、ビデオ画像復号装置が提供される。
【００６６】
本発明の第3の態様において提供されるビデオ画像復号装置は、本発明の第1の態様において提供されるビデオ画像復号方法に対応し、本発明の第1の態様において提供されるビデオ画像復号方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、デコーダ側における複雑度を大幅に低減すること、および復号効率を改善することができる。
【００６７】
第4の態様によれば、アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュールと、アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュールと、動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュールであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュールと、アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュールとを主に含む、ビデオ画像符号化装置が提供される。
【００６８】
本発明の第4の態様において提供されるビデオ画像符号化装置は、本発明の第2の態様において提供されるビデオ画像符号化方法に対応し、本発明の第2の態様において提供されるビデオ画像符号化方法におけるすべてのステップを実施する機能を有し、同じ技術的効果を達成することができ、すなわち、エンコーダ側における複雑度を大幅に低減すること、および符号化効率を改善することができる。
【００６９】
第5の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像復号デバイスが提供され、ここで、プロセッサは、本発明の第1の態様において提供される復号方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
【００７０】
第6の態様によれば、プロセッサおよび不揮発性メモリを含む、ビデオ画像符号化デバイスが提供され、ここで、プロセッサは、第2の態様において提供される符号化方法を実施するために、メモリの中に記憶されたプログラムコードを呼び出す。
【００７１】
上記の技術的解決策に基づくと、本発明の実施形態におけるビデオ画像符号化方法、ビデオ画像復号方法、符号化装置、復号装置、符号化デバイス、および復号デバイスによれば、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割され得るように、決定された2つのパラメータ、すなわち、動きベクトル差分および動きベクトル精度に基づいて、かつアフィン画像ブロックの中の制御点の間の距離およびアフィン画像のサイズと組み合わせて、アフィン動き補償画像サブブロックのサイズが適応的に決定される。このことは、符号化/復号複雑度を低減し符号化/復号効率を改善する。
【００７２】
本発明の実施形態における技術的解決策をより明瞭に説明するために、以下のことは、本実施形態を説明するために必要とされる添付図面を手短に説明する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示すにすぎず、当業者はやはり創造的な取り組みを伴わずにこれらの添付図面から他の図面を導出し得る。
【図面の簡単な説明】
【００７３】
【図１】ビデオ画像符号化プロセスにおける画像ブロックの概略図である。
【図２】基本的なビデオ画像符号化手順の概略図である。
【図３】ビデオ画像符号化プロセスにおける、画像ブロックの分割および画像ブロックと動きベクトルとの間の関係の概略図である。
【図４】双線形補間を通じて画像ブロックの動きベクトルフィールドを取得することの概略図である。
【図５（ａ）】アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。
【図５（ｂ）】アフィン変換モデルを使用することによって画像ブロックの動きベクトルフィールドを取得することの概略図である。
【図６】本発明の一実施形態による復号方法のために使用されるビデオデコーダの概略フレームワーク図である。
【図７】本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。
【図８】本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。
【図９】本発明の一実施形態によるアフィン画像ブロックおよび制御点の別の概略図である。
【図１０】本発明の一実施形態による、アフィン画像ブロックの中の重複しない3つのピクセルの概略図である。
【図１１】本発明の一実施形態によるアフィン画像ブロックのさらに別の概略図である。
【図１２】本発明の一実施形態によるビデオ画像復号方法の別の概略フローチャートである。
【図１３】本発明の一実施形態によるビデオ画像復号方法のさらに別の概略フローチャートである。
【図１４】本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。
【図１５】本発明の一実施形態によるビデオ画像符号化方法の別の概略フローチャートである。
【図１６】本発明の一実施形態によるビデオ画像符号化方法のさらに別の概略フローチャートである。
【図１７】本発明の一実施形態による復号装置の概略ブロック図である。
【図１８】本発明の一実施形態による符号化装置の概略ブロック図である。
【図１９】本発明の一実施形態による復号デバイスの概略ブロック図である。
【図２０】本発明の一実施形態による符号化デバイスの概略ブロック図である。
【発明を実施するための形態】
【００７４】
本発明の目的は、方法が効果的に実行可能であり得るように、アフィン変換に基づく動き補償予測性能を維持しながら符号化/復号複雑度を低減することである。本明細書では、アフィン変換パラメータを独立して有する画像ブロックは、アフィン画像ブロック、すなわち、Affineブロックと呼ばれる。アフィン画像ブロックからの分割を通じて取得され動き補償予測のために使用される画像サブブロックは、アフィン動き補償(Affine Motion Compensation、略してAffine-MC)副画像と呼ばれ、Affine-MCブロックとして示される。本発明で提供される技術的解決策は、符号化/復号要件に従って、同じサイズを有する複数のAffine-MCブロックにAffineブロックを適応的に分割することになる。特定の方法は、Affineブロックの動きベクトル精度、Affineブロックの動きベクトル、およびAffineブロックの中の制御点の間の距離に基づいて、要件を満たすAffine-MCブロックにAffineブロックを適応的に分割することになる。
【００７５】
特定の実施形態を使用することによって本発明の解決策を説明するために、以下では一例としてデコーダ側が使用される。
【００７６】
デコーダ側において、デコーダは、通常、復号方法を実施するために使用され、符号化ビデオビットストリームを復号および再構成する。デコーダの基本論理構造が図6に示される。ビデオデコーダ60は、エントロピー復号ユニット650、予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、フィルタユニット659、および復号画像バッファ660を含む。予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。エントロピー復号ユニット650は、標準CABAC符号化/復号エンジン666およびバイパス符号化/復号エンジン668を含む。別の実施形態では、ビデオデコーダ60は、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。
【００７７】
ビデオデコーダ60の基本作業プロセスは次の通りである。符号化ビデオビットストリーム(以下では略してビットストリームと呼ばれる)を受信した後、エントロピー復号ユニット650が、ビットストリームから構文要素を抽出するためにビットストリームをパース(parse)する。ビットストリームパーシングの一部として、エントロピー復号ユニット650は、ビットストリームの中にありエントロピー符号化がそこで実行されている構文要素をパースアウト(parse out)し得る。予測処理ユニット652、逆量子化ユニット654、逆変換処理ユニット656、再構成ユニット658、およびフィルタユニット659は、ビットストリームから抽出された構文要素に基づいてビデオデータを復号し得、すなわち、復号ビデオデータを生成し得る。構文要素は、標準CABAC符号化/復号バイナリコードワードおよびバイパス符号化/復号バイナリコードワードを含んでよい。エントロピー復号ユニット650は、標準CABAC符号化/復号バイナリコードワードを復号するために標準CABAC符号化/復号エンジン666を使用してよく、バイパス符号化/復号バイナリコードワードを復号するためにバイパス符号化/復号エンジン668を使用してよい。
【００７８】
予測処理ユニット652は、動き補償ユニット662およびフレーム内予測処理ユニット664を含む。復号されるべき画像ブロックに対してフレーム間予測符号化が使用されるとき、動き補償ユニット662は、復号されるべき画像ブロックの動き情報に基づいて1つまたは複数の参照ブロックを決定してよく、復号されるべき画像ブロックの予測ピクセルブロックを、参照ブロックに基づいて生成してよい。復号されるべき画像ブロックに対してフレーム内予測符号化が使用されるとき、フレーム内予測処理ユニット664は、画像ブロックの予測ピクセルブロックを生成するためにフレーム内予測を実行する。フレーム内予測処理ユニット664は、フレーム内予測モードを使用することによって、復号されるべき画像ブロックの予測ピクセルブロックを、空間的に隣接する画像ブロックのピクセルに基づいて生成してよい。
【００７９】
再構成ユニット658は、予測処理ユニット652によって取得された予測ピクセルブロック、ならびに逆量子化ユニット654および逆変換処理ユニット656によって処理された復号されるべき画像ブロックの残差データを再構成して、復号されるべき画像ブロックの再構成された画像ブロックを取得する。複数の画像ブロックを含む画像のフレームは、フィルタユニット659によってフィルタ処理され、次いで、復号画像バッファ660の中に記憶される。このようにして、符号化ビデオビットストリームの復号が完了する。復号画像バッファ660の中に記憶された復号画像は、表示のために表示デバイスに直接出力されてよく、または後続のビットストリーム復号プロセスにおける参照画像として使用されてもよい。
【００８０】
本発明の技術的解決策は、動き補償ユニット662が動き補償予測復号を実行するプロセスに適用される。例示的な復号プロセスが図7に示される。本発明における復号方法および符号化方法が本質的に同じであり、復号方法が符号化方法の逆のプロセスであることに留意されたい。以下では一例として復号方法が使用されるが、明瞭に述べられていない限り、方法は基本的に符号化方法と同じである。したがって、以下で説明する復号プロセスでは、符号化に関係する説明および記述は、本解決策とのいかなる競合または矛盾も与えない。
【００８１】
図7は、本発明の一実施形態によるビデオ画像復号方法の概略フローチャートである。詳細には、図7に示すように、方法700は以下のステップを含む。
【００８２】
S710。アフィン画像ブロックの動きベクトル差分を決定する。
【００８３】
S720。アフィン画像ブロックの動きベクトル精度を決定する。
【００８４】
S730。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
【００８５】
S740。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行する。
【００８６】
詳細には、復号/符号化デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号/符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。アフィン画像ブロックが、通常、通常の長方形または正方形の形状をなすことに留意されたい。それに対応して、アフィン動き補償画像サブブロックも、通常の長方形または正方形の形状をなす。したがって、水平方向および垂直方向におけるアフィン動き補償副画像の長さが決定された後、アフィン動き補償副画像の全体的なサイズが決定され得る。水平方向および垂直方向は、当技術分野において通常使用されるとともに、ビデオ画像の中での画像ブロック/アフィン画像ブロックの位置を特定するために使用される、基準座標系である。水平方向は、概して、通常の長方形ビデオ画像の長辺の方向を表し、垂直方向は、概して、通常の長方形ビデオ画像の短辺の方向を表し、水平方向および垂直方向は互いに直交している。一般性を失わずに、水平方向は第1の方向と置き換えられてよく、垂直方向は、第1の方向に直交する第2の方向と置き換えられてよい。しかしながら、説明しやすいように、本明細書における説明のために水平方向および垂直方向が使用される。加えて、本明細書における復号方法で説明するアフィン画像ブロックを復号することとは、ビットストリームから符号化データをパースアウトし、基本単位としてアフィン画像ブロックを使用することによって符号化画像を再構成および復元するプロセスである。アフィン画像ブロックを復号することが使用されるとはいえ、アフィン画像ブロックが再構成されていると見なすことはできない。
【００８７】
本発明のこの実施形態におけるビデオ画像復号方法を実行することによって、動き補償ユニット662は、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、復号処理を実行する。したがって、復号プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、復号複雑度が低減され、性能が改善される。
【００８８】
本発明のこの実施形態では、アフィン画像(Affine)ブロックとは、すべての単位のその動きベクトルが同じアフィンモデル、たとえば、1つの同じアフィンモデルを満たし、かつ同じパラメータまたはパラメータの同じグループを使用することによって表され得る、画像ブロックであることを理解されたい。単位はピクセルのグループであり、たとえば、ピクセルであってよく、または1×3もしくは2×4ブロック構造などであってもよい。このことは本発明において限定されない。加えて、本発明のこの実施形態では、重複しない任意のピクセルが、Affineブロックの動きベクトル差分を決定するための制御点として選択されてよい。このことは本発明において限定されない。
【００８９】
好ましくは、S710は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
【００９０】
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS710の中に含まれる解決策におけるおよび/またはが、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
【００９１】
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
【００９２】
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
【００９３】
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
【００９４】
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第2の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
【００９５】
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
【００９６】
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
【００９７】
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
【００９８】
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
【００９９】
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
【０１００】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
【０１０１】
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
【０１０２】
詳細には、vx(x,y)およびvy(x,y)が、位置(x,y)上のピクセルの動きベクトルの水平成分および垂直成分を表すために使用される場合、アフィンブロックの動きベクトル差分は、式(13)および式(14)に従って決定され得る。
Δmvhor=max(|vx(W,y)-vx(0,y)|,|vy(W,y)-vy(0,y)|) (13)
Δmvver=max(|vx(x,H)-vx(x,0)|,|vy(x,H)-vy(x,0)|) (14)
【０１０３】
maxは最大値を表し、ΔmvhorはAffineブロックの動きベクトル差分の水平成分を表し、ΔmvverはAffineブロックの動きベクトル差分の垂直成分を表し、Wは第1の制御点と第2の制御点との間の第1の水平距離を表し、Hは第3の制御点と第4の制御点との間の第1の垂直距離を表す。図8を参照すると、式(13)は、動きベクトル水平差分Δmvhorが、同じ水平方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvhorを計算するための制御点として頂点0および1または頂点2および3が選択されてよい。式(14)は、動きベクトル垂直差分Δmvverが、同じ垂直方向における2つの制御点の動きベクトルの成分の最大デルタであること、言い換えれば、動きベクトル差分の絶対値が最大であることを表現する。たとえば、Δmvverを計算するための制御点として頂点0および2または頂点1および3が選択されてよい。式(13)および式(14)が解決策1、2、および3のうちのいずれか1つに適用可能であることが理解され得る。詳細は次の通りである。
【０１０４】
解決策1では、アフィン画像ブロックの動きベクトル差分は3つの制御点に基づいて決定され、動きベクトル差分は第1の成分および第2の成分を含む。したがって、解決策1では、アフィン画像ブロックの動きベクトル差分は式(13)と式(14)との組合せを使用することによって取得される。
【０１０５】
解決策2では、アフィン画像ブロックの動きベクトル差分は水平方向における2つの制御点に基づいて決定され、動きベクトル差分は第1の成分しか含まない。したがって、解決策2では、アフィン画像ブロックの動きベクトル差分は式(13)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１０６】
【数１９】
2020529811.tif 000076
【０１０７】
が知られている場合、
Δmvhor=max(|vx1-vx0|,|vy1-vy0|) (15)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１０８】
【数２０】
2020529811.tif 000077
【０１０９】
が知られている場合、
Δmvhor=max(|vx3-vx2|,|vy3-vy2|) (16)
である。
【０１１０】
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
【０１１１】
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつアフィン画像ブロックの中の左上隅角上の(0,0)および右上隅角上の(W,0)が制御点として使用されるとき、モデル式は次の通りである。
【０１１２】
【数２１】
2020529811.tif 000078
【０１１３】
(vx0,vy0)および(vx1,vy1)は、それぞれ、左上隅角および右上隅角における制御点の動きベクトルである。左下隅角および右下隅角における制御点の座標(0,h)および(w,h)が式に代入される場合、(vx2,vy2)および(vx3,vy3)が取得され得る。
【０１１４】
解決策3では、アフィン画像ブロックの動きベクトル差分は垂直方向における2つの制御点に基づいて決定され、動きベクトル差分は第2の成分しか含まない。したがって、解決策3では、アフィン画像ブロックの動きベクトル差分は式(14)を使用することによって取得される。図8は一例として使用される。たいていの場合、Affineブロックの中の頂点の動きベクトルが知られている。この場合、動きベクトル差分は、Affineブロックの中の頂点の動きベクトルに基づいて直接計算され得る。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１１５】
【数２２】
2020529811.tif 000079
【０１１６】
が知られている場合、
Δmvver=max(|vx2-vx0|,|vy2-vy0|) (18)
である。
図8におけるAffineブロックの中の頂点の動きベクトル
【０１１７】
【数２３】
2020529811.tif 000080
【０１１８】
が知られている場合、
Δmvver=max(|vx3-vx1|,|vy3-vy1|) (19)
である。
【０１１９】
知られている他の動きベクトルの組合せも選択されてよい。このことは本発明において限定されない。
【０１２０】
上記の解決策において使用される制御点の動きベクトルは、アフィン変換モデルに基づいて取得され得る。たとえば、4パラメータアフィン変換モデルが使用され、かつ左上隅角上の(0,0)および左下隅角上の(0,H)が制御点として使用されるとき、モデル式は次の通りである。
【０１２１】
【数２４】
2020529811.tif 000081
【０１２２】
(vx0,vy0)および(vx2,vy2)は、それぞれ、左上隅角および左下隅角における制御点の動きベクトルである。右上隅角および右下隅角における制御点の座標(w,0)および(w,h)が式に代入される場合、(vx1,vy1)および(vx3,vy3)が取得され得る。
【０１２３】
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
【０１２４】
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
【０１２５】
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
【０１２６】
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。以下のことは、一例として、6パラメータアフィン変換モデルおよび4パラメータアフィン変換モデルを別々に使用することによってアフィン変換パラメータに基づいて動きベクトル差分を取得するプロセスを説明する。
【０１２７】
6パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中の現在のアフィン画像ブロックのピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、c、d、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
x'=ax+by+e (21)
y'=cx+dy+f (22)
【０１２８】
アフィン変換パラメータは、通常、アフィン画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算されてよく、動きベクトルの水平成分および垂直成分は、それぞれ、式(23)および式(24)によって表現されてよい。
vx=x-x' (23)
vy=y-y' (24)
【０１２９】
式(21)が式(23)に代入されるとともに式(22)が式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(25)および式(26)によって表現される。
vx=(1-a)x-by-e (25)
vy=(1-d)y-cx-f (26)
【０１３０】
式(25)が式(13)に代入され、式(26)が式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(27)および式(28)に変換される。
Δmvhor=max(|(1-a)W|,|-cW|) (27)
Δmvver=max(|-bH|,|(1-d)H|) (28)
【０１３１】
Affineブロックの動きベクトル差分の第1の成分および第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータa、b、c、およびdを決定することによって、決定され得る。
【０１３２】
4パラメータアフィン変換モデルにおいて、(x,y)が現在の画像の中のアフィン画像ブロックのピクセルPの座標であること、(x',y')が参照画像の中にありピクセルPに整合するピクセルP'の座標であること、およびa、b、e、fがアフィン変換パラメータであることを想定する。アフィン変換パラメータが知られている場合、参照画像の中でのピクセル(x,y)の位置(x',y')が計算され得、したがって、ピクセルの予測信号が参照画像から取得され得る。
【０１３３】
【数２５】
2020529811.tif 000082
【０１３４】
式(29)は、アフィン画像ブロックの動きベクトル差分が水平方向における2つの制御点に基づいて決定される、解決策2におけるシナリオに対応する。式(30)は、アフィン画像ブロックの動きベクトル差分が垂直方向における2つの制御点に基づいて決定される、解決策3におけるシナリオに対応する。
【０１３５】
アフィン変換パラメータは、通常、画像ブロックの中のいくつかのピクセルの動きベクトルに基づいて計算され得る。動きベクトルの水平成分および垂直成分については、式(23)および式(24)を参照されたい。式(29)および式(30)が、それぞれ、式(23)および式(24)に代入されて、その座標が(x,y)であるピクセルの動きベクトルの水平成分および垂直成分を取得し、ここで、水平成分および垂直成分は、それぞれ、式(31)および式(32)によって表現される。
【０１３６】
【数２６】
2020529811.tif 000083
【０１３７】
式(31)および式(32)が、式(13)および式(14)に代入される。このようにして、式(13)および式(14)は、それぞれ、式(33)および式(34)に変換される。
Δmvhor=max(|(1-a)W|,|bW|) (33)
Δmvver=max(|bH|,|(1-a)H|) (34)
【０１３８】
解決策2または解決策3におけるシナリオでのAffineブロックの動きベクトル差分の第1の成分または第2の成分は、制御点の間の距離に基づいて、かつアフィン変換パラメータaおよびbを決定することによって、決定され得る。
【０１３９】
2パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法が、6パラメータアフィン変換モデルまたは4パラメータアフィン変換モデルが使用されるときに動きベクトル差分を決定するための方法と本質的に同じであることを理解されたい。簡潔のために、詳細は本明細書で再び説明しない。
【０１４０】
随意に、本発明のこの実施形態では、復号プロセスの中で、アフィン変換パラメータは、パラメータにおける反復的な計算を実行することによって取得され得る。たとえば、モデルに基づく動き補償予測信号が最適であるかどうかを決定するために、パラメータaは1だけ増大される。代替として、アフィン変換パラメータは、隣接するAffineブロックのアフィン変換パラメータに基づく推測を通じて取得されてよい。ただし、このことは本発明において限定されない。
【０１４１】
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
【０１４２】
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０１４３】
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
【０１４４】
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０１４５】
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
【０１４６】
たとえば、図9は、本発明の一実施形態によるアフィン画像ブロックおよび制御点の概略図である。距離wを有する2つの制御点AおよびBは同じ水平線上に位置し、距離hを有する2つの制御点CおよびDは同じ垂直線上に位置する。制御点A、B、C、およびDの動きベクトルが知られている場合、Affineブロックの動きベクトル差分の第1の成分および第2の成分は式(35)および式(36)に従って決定され得る。
Δmvhor=max(vxB-vxA,vyB-vyA) (35)
Δmvver=max(vxC-vxD,vyC-vyD) (36)
【０１４７】
随意に、本発明のこの実施形態では、制御点AおよびCは同じピクセルであってよい。
【０１４８】
随意に、本発明のこの実施形態では、制御点A、B、C、およびDは、Affineブロックの頂点であってよい。この場合、制御点AとBとの間の距離はAffineブロックの幅Wであり、制御点CとDとの間の距離はAffineブロックの高さHである。
【０１４９】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
【０１５０】
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があり、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像ブロックの動きベクトル差分として使用される。
【０１５１】
詳細には、A、B、およびCが、互いに重複しない、画像ブロックの中の任意の3つのピクセルであることを想定し、3つのピクセルの位置が図10に示され、3つのピクセルの動きベクトルは、それぞれ、(vxA,vyA)、(vxB,vyB)、および(vxC,vyC)である。水平方向におけるピクセルAとピクセルBとの間の距離はw1であり、垂直方向におけるピクセルAとピクセルBとの間の距離はh1である。水平方向におけるピクセルAとピクセルCとの間の距離はw2であり、垂直方向におけるピクセルAとピクセルCとの間の距離はh2である。水平方向におけるピクセルBとピクセルCとの間の距離はw2-w1であり、垂直方向におけるピクセルBとピクセルCとの間の距離はh1+h2である。水平方向において隣接している2つのピクセルの動きベクトルの水平成分の間の差分が、それぞれ、ΔmvxhorおよびΔmvyhorであること、ならびに垂直方向において隣接している2つのピクセルの動きベクトルの垂直成分の間の差分が、それぞれ、ΔmvxverおよびΔmvyverであることを想定する。画像ブロックの中の動きベクトルが線形に変化するので、Δmvxhor、Δmvyhor、Δmvxver、およびΔmvyverは、ピクセルA、B、およびCの動きベクトルを決定することによって決定されてよく、画像ブロックの中の隣接するピクセルの間の動きベクトル差分が決定され得る。詳細には、動きベクトル差分は式(37)〜式(40)に従って決定されてよい。
vxB=vxA+w1・Δmvxhor+h1・Δmvxver (37)
vyB=vyA+w1・Δmvyhor+h1・Δmvyver (38)
vxC=vxA+w2・Δmvxhor+h2・Δmvxver (39)
vyC=vyA+w2・Δmvyhor+h2・Δmvyver (40)
【０１５２】
代替として、動きベクトル差分は、式(37)および式(38)ならびに式(41)および式(42)に従って決定されてよい。
vxC=vxB+(w2-w1)・Δmvxhor+(h2+h1)・Δmvxver (41)
vyC=vyB+(w2-w1)・Δmvyhor+(h2+h1)・Δmvyver (42)
【０１５３】
随意に、本発明のこの実施形態では、復号デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、復号デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、復号デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、復号デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
【０１５４】
随意に、S720において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
【０１５５】
詳細には、Affineブロックの動きベクトルの値は整数であってよい。この場合、動きベクトル精度は整数ピクセル精度として取られ、すなわち、ピクセル精度が1である。代替として、動きベクトルの値は整数でなくてもよい。この場合、動きベクトル精度は、1/2、1/4、または1/8などの精度を含むサブピクセル精度として取られる。図11は、4×4画像ブロックを示し、ここで、xは整数ピクセル位置上のピクセルを表し、収集された画像は、整数ピクセル位置上のピクセルのみを有し、Oは1/2精度位置上のピクセルを表し、1/2精度位置上のピクセルは、整数ピクセル位置上のピクセルに補間を実行することによって取得される必要がある。別の精度位置上のピクセルの値は、整数ピクセル精度を有するピクセルまたは1/2精度を有するピクセルにさらなる補間を実行することによって、取得される必要がある。現在のピクセルの動きベクトル精度が整数である場合、現在のピクセルは参照画像の中の×の位置を指す。現在のピクセルの動きベクトル精度が1/2である場合、現在のピクセルは参照画像の中のOの位置を指す。
【０１５６】
Affineブロックの動きベクトル精度は、Affineブロックの中のすべてのピクセルにとって最も高い動きベクトル精度である。Affineブロックの動きベクトル精度は、たとえば、整数ピクセル精度、または1/2、1/4、1/8、もしくは1/16などの精度に、事前設定されてよい。代替として、Affineブロックの動きベクトル精度は、Affineブロックの隣接する画像ブロックの特徴に基づいて決定されてよい。たとえば、周囲の画像が比較的滑らかである場合、現在のAffineブロックも滑らかであることが予測されてよく、比較的高い動きベクトル精度、たとえば、1/8または1/16などの精度が選択されてよく、そうでない場合、比較的低い動きベクトル精度、たとえば、整数ピクセル精度または1/2の精度が選択される。取得される精度はMvAcとして示される。
【０１５７】
随意に、図12に示すように、S730は、詳細には以下のステップを含む。
【０１５８】
S1201。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０１５９】
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。予測精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得ることを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、水平方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で水平方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向における��フィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０１６０】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０１６１】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０１６２】
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０１６３】
加えて、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1201において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０１６４】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1201において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０１６５】
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０１６６】
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
【０１６７】
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
【０１６８】
S1203。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、垂直方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０１６９】
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向における��フィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０１７０】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０１７１】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０１７２】
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０１７３】
加えて、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1203において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０１７４】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1203において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０１７５】
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０１７６】
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。条件(1)および(2)が満たされるかどうかを決定するためのシーケンス、ならびに水平方向におけるアフィン動き補償画像サブブロックの長さを決定結果に基づいて調整するためのシーケンスは、無作為に交換されてよい。区別のために、第1の時間に対して実行される調整は第1の調整と呼ばれることがあり、(必要な場合)第2の時間に対して実行される調整は再調整と呼ばれることがある。
【０１７７】
上記のステップS1201およびS1203は、3つの制御点に基づく解決策1におけるシナリオに適用可能である。3つの制御点に基づくシナリオでは、水平方向および垂直方向におけるアフィン動き補償画像サブブロックの長さは別々に計算される。2つの制御点に基づく解決策2および解決策3におけるシナリオの場合、ステップS1201またはステップS1203だけが実行されて、水平方向におけるアフィン動き補償画像サブブロックの長さまたは垂直方向におけるアフィン動き補償画像サブブロックの長さを独立して計算してよい。次いで、水平/垂直方向におけるアフィン動き補償画像サブブロックの長さ、または水平/垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、他方の方向における、すなわち、垂直/水平方向における、アフィン動き補償画像サブブロックの初期長さとして使用され、上記の決定は別々に実行され、すなわち、
垂直/水平方向におけるアフィン画像ブロックの長さが垂直/水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定するか、または
垂直/水平方向におけるアフィン画像ブロックの長さが垂直/水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、かつ垂直/水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍であるかどうかを決定する。
【０１７８】
2つの制御点に基づく解決策2および解決策3のシナリオでは、要件に従って、水平方向におけるアフィン動き補償画像サブブロックの長さだけが3つの制御ポイントシナリオのために計算されてよく、または垂直方向におけるアフィン動き補償画像サブブロックの長さだけが計算されてもよく、アフィン動き補償画像サブブロックの他方のサイズ成分は、取得された一方のサイズ成分、すなわち、水平方向における長さまたは垂直方向における長さに基づいて、推測または計算される。アフィン画像ブロックのサイズが通常の2N×2N正方形の形状をなすとき、水平方向および垂直方向におけるアフィン画像ブロックの長さが同じであるので、水平方向および垂直方向におけるアフィン画像ブロックの長さのうちの一方しか決定される必要がないことが理解され得る。
【０１７９】
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
【０１８０】
詳細には、取得される動きベクトル差分ΔmvhorおよびΔmvverは通常は比較的小さく、各ピクセルの動きベクトルの精度が過剰に高いこと、たとえば、1/32または1/64であることを示す。過剰に高い動きベクトル精度は、ビデオの圧縮性能にほとんど寄与せず、膨大な量の計算を引き起こす。したがって、Affineブロックは、以前に取得された予想される動きベクトル精度MvAcに基づいて複数のAffine-MCブロックに分割されて、各Affine-MCブロックの動きベクトル精度がMvAcに達することを確実にする。ΔmvhorおよびΔmvverのうちの小さい方の値はMvAc以上である。
【０１８１】
随意に、本発明のこの実施形態では、第1の制御点と第2の制御点との間の水平距離がWであること、および第3の制御点と第4の制御点との間の垂直距離がHであることを想定し、Affine-MCブロックの幅がaMcWであるかまたはMとして示されること、および高さがaMcHであるかまたはNとして示されることを想定する。
【０１８２】
解決策1におけるシナリオでは、3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(43)を使用することによって実施されてよく、すなわち、MおよびNは式(43)または(44)に従って決定される。
【０１８３】
【数２７】
2020529811.tif 000084
【０１８４】
このことは、
【０１８５】
【数２８】
2020529811.tif 000085
【０１８６】
ことと等価である。
解決策2におけるシナリオでは、水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(46)を使用することによって実施されてよく、すなわち、MおよびNは式(46)に従って決定される。
【０１８７】
【数２９】
2020529811.tif 000086
【０１８８】
このことは、
【０１８９】
【数３０】
2020529811.tif 000087
【０１９０】
ことと等価である。
【０１９１】
解決策3におけるシナリオでは、垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定すること、およびアフィン動き補償画像サブブロックのサイズを取得することは、以下の式(48)を使用することによって実施されてよく、すなわち、MおよびNは式(48)に従って決定される。
【０１９２】
【数３１】
2020529811.tif 000088
【０１９３】
このことは、
【０１９４】
【数３２】
2020529811.tif 000089
【０１９５】
ことと等価である。
【０１９６】
MおよびNが式(45)、式(47)、および式(49)に従って計算された後、アルゴリズムを簡略化するために、MおよびNが演算を容易にするかどうか、すなわち、幅Wおよび高さHを有するアフィン画像ブロックが整数の数量のアフィン動き補償画像サブブロックに均等に分割され得るかどうかが、さらに決定される必要がある。詳細には、WがMで割り切れるかどうか、およびHがNで割り切れるかどうかが、決定される必要がある。WがMで割り切れずかつ/またはHがNで割り切れない場合、Wおよび/またはHがそれによって割り切れない値、すなわち、Mおよび/またはNは、WがMで割り切れ、HがNで割り切れ、MおよびNがTm≦M≦WかつTn≦N≦Hを満たすように、調整される。
【０１９７】
調整方法は次の通りであってよい。
【０１９８】
(1)WがMで割り切れないとき、WがMで割り切れるまで、Mは徐々に減少/増大される。HがNで割り切れないとき、HがNで割り切れるまで、Nは徐々に減少/増大される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
【０１９９】
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
【０２００】
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
【０２０１】
随意に、MおよびNが式(45)、式(47)、および式(49)に従って計算された後、MおよびNは、WがMで割り切れ、HがNで割り切れ、MおよびNが各々、Sの倍数でありTm≦M≦WかつTn≦N≦Hを満たすように、さらに調整される。
【０２０２】
調整方法は次の通りであってよい。
【０２０３】
(1)WがMで割り切れないか、またはMがSの倍数でないとき、WがMで割り切れMがSの倍数となるまで、Mは徐々に減少される。HがNで割り切れないか、またはNがSの倍数でないとき、HがNで割り切れNがSの倍数となるまで、Nは徐々に減少される。Sは、通常は4に設定される。M=Nであるとき、MおよびNのいずれかのみが調整される必要がある。
【０２０４】
随意に、Mの上限および下限ならびにNの上限および下限は、Tm≦M≦W、Tn≦N≦Hとなるように限定され、TmおよびTnは、通常は4に設定される。
【０２０５】
(2)テーブルルックアップ方式が使用される。すなわち、構成された2次元テーブルにおいて、WおよびMが入力され、条件を満たすMが出力され、HおよびNが入力され、条件を満たすNが出力される。
【０２０６】
詳細には、上記の解決策は、表1における以下の例示的なアルゴリズムコードを使用することによって実施されてよい。
【０２０７】
【表１Ａ】
2020529811.tif 000090
【表１Ｂ】
2020529811.tif 000091
【０２０８】
したがって、本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに均等に分割され得るように、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定する。このようにして、方法はハードウェア/ソフトウェアを使用することによって実装され、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２０９】
随意に、図13に示すように、S740は以下のステップを含む。
【０２１０】
S1301。アフィン画像ブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
【０２１１】
S1303。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
【０２１２】
S1305。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを復号する。
【０２１３】
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
【０２１４】
随意に、S1301において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
【０２１５】
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
【０２１６】
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
【０２１７】
詳細には、太い実線ブロックはAffineブロックを表し、細い実線ブロックはAffine-MCブロックを表し、破線ボックスは隣接するAffine-MCブロックの境界におけるピクセルを表し、交差点はピクセルを表す。図11の中の破線ボックスの領域は、隣接するAffine-MCブロックのそれぞれの境界において、隣接するAffine-MCブロックの中に2行または2列のピクセルを含み、あるいは隣接するAffine-MCブロックのそれぞれの境界において、1行または1列、3行または3列などのピクセルを含んでもよい。隣接するAffine-MCブロックの動きベクトルが異なる場合があるので、参照画像から取得される予測信号は参照画像の中で隣接しない。このことは、隣接するAffine-MCブロックの境界において予測信号の不連続性を引き起こし、さらに残差の不連続性を引き起こし、残差の画像符号化/復号性能に影響を及ぼす。したがって、Affine-MCブロックの境界において動き補償予測信号をフィルタ処理することが検討される。
【０２１８】
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルの値は、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルの値は、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
【０２１９】
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
【０２２０】
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略してOBMC)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
【０２２１】
本発明のこの実施形態におけるビデオ画像復号方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２２２】
随意に、本発明における復号方法はまた、
アフィン画像ブロックの動きベクトル差分およびアフィン画像ブロックの動きベクトル精度を取得するためにビットストリームをパースすることであって、ここで、アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有する、パースすること、
動きベクトル差分、動きベクトル精度、およびアフィン画像ブロックの中の制御点の間の距離に基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行すること、または
アフィン画像ブロックについての情報を取得するためにビットストリームをパースすること、
アフィン画像ブロックについての情報に基づいてアフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、サイズが、水平方向における長さおよび垂直方向における長さを含み、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍である、決定すること、ならびに
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することであってよい。
【０２２３】
このようにして、デコーダ側は、アフィン動き補償画像サブブロックのサイズを決定するために、再計算を実行する必要がなくてよいが、エンコーダ側によってデコーダ側へ送信されたパラメータを直接使用してよい。したがって、計算複雑度がさらに低減される。
【０２２４】
上記のことは、本発明の実施形態によるビデオ画像復号方法を、図1〜図13を参照しながら詳細に説明している。上記のことは、デコーダ側およびエンコーダ側におけるこの解決策の実装方式が基本的に同じであることをさらに説明している。このことをより明瞭に説明するために、以下のことは、本発明の実施形態によるビデオ画像符号化方法を、図14〜図16を参照しながら説明する。エンコーダ側における関係する動作がデコーダ側における関係する動作と本質的に同じであるので、繰り返しを避けるために、実装詳細が本明細書で再び説明されないことに留意されたい。
【０２２５】
図14は、本発明の一実施形態によるビデオ画像符号化方法の概略フローチャートである。
【０２２６】
図14に示す方法は、符号化デバイスによって実行され得る。たとえば、デコーダと同様に、エンコーダは、通常、予測処理ユニット、残差生成ユニット、変換処理ユニット、量子化ユニット、逆量子化ユニット、逆変換処理ユニット、再構成ユニット、フィルタユニット、復号画像バッファ、およびエントロピー符号化ユニットを含む。エントロピー符号化ユニットは、標準CABAC符号化/復号エンジンおよびバイパス符号化/復号エンジンを含む。予測処理ユニットは、フレーム間予測処理ユニットおよびフレーム内予測処理ユニットを含む。フレーム間予測処理ユニットは、動き推定ユニットおよび動き補償ユニットを含む。別の実施形態では、エンコーダは、より多数もしくはより少数の、または異なる機能構成要素を含んでよい。復号方法と同様に、本発明の符号化方法は、フレーム間予測処理ユニットによるフレーム間予測を実行するプロセスに主に適用される。エンコーダの各機能ユニットの詳細な構造については、H.265規格などの従来技術における規制および記述を参照されたい。本発明では詳細な説明は提供されない。本発明では、以下の実施形態は、本発明のこの実施形態における方法ではどのようにアフィン動き補償画像サブブロックのサイズを適応的に決定し符号化を実行するのかという、基本プロセスを説明するために使用されるにすぎない。
【０２２７】
詳細には、図14に示すように、方法1400は以下のステップを含む。
【０２２８】
S1410。アフィン画像ブロックの動きベクトル差分を決定する。
【０２２９】
S1430。アフィン画像ブロックの動きベクトル精度を決定する。
【０２３０】
S1450。動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズは水平方向における長さおよび垂直方向における長さを含み、制御点は動きベクトル差分を決定するために使用されるピクセルである。
【０２３１】
S1470。アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行する。
【０２３２】
詳細には、符号化デバイスは、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化デバイスは、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。
【０２３３】
したがって、本発明のこの実施形態におけるビデオ画像符号化方法を実行することによって、フレーム間予測処理ユニットは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン動き補償画像サブブロックのサイズに基づいて、同じサイズを有する複数のアフィン動き補償副画像にアフィン画像ブロックを分割し、次いで、符号化処理を実行する。したがって、符号化プロセスの中で、適切なサイズを有するアフィン動き補償画像サブブロックが、上記のパラメータの変化に基づいて適応的に選択され得、符号化複雑度が低減され、符号化性能、すなわち圧縮効率が改善される。
【０２３４】
好ましくは、S1410は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに/または
同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することを含む。
【０２３５】
第1の制御点と第2の制御点との間に第1の水平距離があり、第3の制御点と第4の制御点との間に第1の垂直距離がある。ステップS1410の中に含まれる解決策におけるおよび/またはが、詳細には、以下の3つの異なる技術的解決策を示すことに留意されたい。
【０２３６】
解決策1:3つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、
同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することと、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することとを含む。
【０２３７】
解決策2:水平方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第1の成分を決定することを含む。
【０２３８】
解決策3:垂直方向における2つの制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定するための方法は、同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて、動きベクトル差分の第2の成分を決定することを含む。
【０２３９】
本発明のこの実施形態では、動きベクトル差分の第1の成分が動きベクトル差分の水平成分であり、動きベクトル差分の第2の成分が動きベクトル差分の垂直成分であることを理解されたい。解決策1では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を共同で反映する。しかしながら、解決策2および解決策3では、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分は、アフィン画像ブロックの動きベクトル差分を独立して反映する。言い換えれば、解決策1では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分および動きベクトル差分の第2の成分を含み、解決策2では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第1の成分を含み、解決策3では、アフィン画像ブロックの動きベクトル差分は、動きベクトル差分の第2の成分を含む。本発明のこの実施形態では、第1、第2、第3、および第4が、ピクセルの間を区別するために使用されるにすぎず、本発明の保護範囲にいかなる限定も与えるべきでないことも理解されたい。たとえば、第1の制御点が第2の制御点と呼ばれることもあり、第2の制御点が第1の制御点と呼ばれることがある。
【０２４０】
随意に、本発明のこの実施形態では、第1の制御点および第3の制御点は同じピクセルである。詳細には、3つの制御点が選択され、3つの制御点のうちの1つは、他の2つの制御点のうちの1つと同じ水平線上に位置し、最後の制御点と同じ垂直線上に位置する。
【０２４１】
随意に、本発明のこの実施形態では、第1の制御点、第2の制御点、第3の制御点、および第4の制御点は、Affineブロックの頂点である。Affineブロックの中の4つの頂点が、それぞれ、左上頂点、左下頂点、右上頂点、および右下頂点として示されることを想定する。
【０２４２】
解決策1では、Affineブロックの動きベクトル差分を決定するために、2つの直交方向における任意の3つの頂点が選択されてよい。たとえば、左上頂点、左下頂点、および右上頂点が選択されてよく、または左上頂点、右上頂点、および右下頂点が選択されてもよい。
【０２４３】
解決策2では、Affineブロックの動きベクトル差分を決定するために、同じ水平線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および右上頂点が選択されてよく、または左下頂点および右下頂点が選択されてもよい。
【０２４４】
解決策3では、Affineブロックの動きベクトル差分を決定するために、同じ垂直線上に位置する任意の2つの頂点が選択されてよい。たとえば、左上頂点および左下頂点が選択されてよく、または右上頂点および右下頂点が選択されてもよい。このことは本発明において限定されない。
【０２４５】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点の動きベクトルの、2つの方向(水平方向および垂直方向、またはx方向およびy方向と呼ばれる)のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第1の成分として決定されてよく、第3の制御点および第4の制御点の動きベクトルの、2つの方向のうちのいずれか一方における成分の間の差分が、Affineブロックの動きベクトル差分の第2の成分として決定されてよい。動きベクトル差分を決定する方式は、解決策1、2、および3に適用可能である。代替として、符号化複雑度および符号化性能に対する実際の要件に従って、2つの方向における第1の制御点および第2の制御点の動きベクトルの成分の間の2つの差分の間の値が、第1の成分として選択および決定されてよく、2つの方向における第3の制御点および第4の制御点の動きベクトルの成分の間の2つの差分の間の値が、第2の成分として選択および決定されてよい。このことは本発明において限定されない。
【０２４６】
第1の制御点〜第4の制御点の各々の動きベクトルは、通常、2つの成分、すなわち、水平成分および垂直成分を含む。したがって、上記のステップでは、同じ水平線上に位置する第1の制御点および第2の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第1の成分を決定すること、ならびに同じ垂直線上に位置する第3の制御点および第4の制御点の動きベクトルの間の差分に基づいて動きベクトル差分の第2の成分を決定することは、詳細には、以下の方式、すなわち、
第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定し、第1の水平成分差分および第1の垂直成分差分のうちの大きい方を動きベクトル差分の第1の成分として決定すること、ならびに
それに対応して、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定し、第2の水平成分差分および第2の垂直成分差分のうちの大きい方を動きベクトル差分の第2の成分として決定することで、実施され得る。
【０２４７】
随意に、本発明のこの実施形態では、動きベクトル差分はアフィンモデルに基づいて取得され、すなわち、動きベクトル差分は、アフィン画像ブロックの中のピクセルのアフィン変換パラメータを決定することによって取得される。アフィン画像ブロックの中のピクセルが、同じアフィン変換パラメータを有することに留意されたい。
【０２４８】
それに対応して、第1の制御点および第2の制御点の動きベクトルの間の第1の水平成分差分および第1の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の水平距離に基づいて第1の水平成分差分および第1の垂直成分差分を決定することであり、第3の制御点および第4の制御点の動きベクトルの間の第2の水平成分差分および第2の垂直成分差分を決定する上記のステップは、詳細には、アフィン変換パラメータおよび第1の垂直距離に基づいて第2の水平成分差分および第2の垂直成分差分を決定することである。
【０２４９】
上記のプロセスのシーケンス番号が実行シーケンスを示さないことを理解されたい。プロセスの実行シーケンスは、プロセスの機能および内部論理に基づいて決定されるべきであり、本発明のこの実施形態の実装プロセスにいかなる限定も与えるべきでない。
【０２５０】
随意に、本発明のこの実施形態では、アフィン変換モデルは、従来技術の6パラメータアフィン変換モデルであってよく、または従来技術の4パラメータもしくは2パラメータアフィン変換モデルであってもよい。6パラメータアフィン変換モデルは、3つの制御点に基づく解決策1におけるシナリオに主に適用され、4パラメータアフィン変換モデルは、2つの制御点に基づく解決策2および解決策3におけるシナリオに主に適用される。特定の内容については、本明細書における復号方法の説明を参照されたい。
【０２５１】
随意に、本発明のこの実施形態では、アフィン画像ブロックの動きベクトル差分を決定するために、第1の制御点の動きベクトル、第2の制御点の動きベクトル、第3の制御点の動きベクトル、および第4の制御点の動きベクトルが決定され得る。
【０２５２】
それに対応して、解決策1におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定され、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０２５３】
解決策2におけるシナリオでは、第1の制御点の動きベクトルの水平成分と第2の制御点の動きベクトルの水平成分との間の差分が第1の水平成分差分として決定され、第1の制御点の動きベクトルの垂直成分と第2の制御点の動きベクトルの垂直成分との間の差分が第1の垂直成分差分として決定される。
【０２５４】
解決策3におけるシナリオでは、第3の制御点の動きベクトルの水平成分と第4の制御点の動きベクトルの水平成分との間の差分が第2の水平成分差分として決定され、第3の制御点の動きベクトルの垂直成分と第4の制御点の動きベクトルの垂直成分との間の差分が第2の垂直成分差分として決定される。
【０２５５】
詳細には、制御点の動きベクトルは直接決定されてよく、Affineブロックの動きベクトル差分の第1の成分および第2の成分は、動きベクトルの成分の間の差分を計算することによって直接取得され得る。
【０２５６】
随意に、本発明のこの実施形態では、第1の制御点および第2の制御点は、隣接する2つのピクセルであり、第3の制御点および第4の制御点は、隣接する2つのピクセルである。言い換えれば、制御点は、必ずしもアフィン画像ブロックの中の、頂点とも呼ばれる4つの隅角点から選択されるとは限らないが、シグナリングを使用することによってビットストリームの中で明示的に示されるか、または周囲のアフィン画像ブロックの中の制御点に基づく推定もしくは複製を通じて取得される、アフィン画像ブロックの中の任意の位置上にありエンコーダ側およびデコーダ側によって共同で設定される点であってよい。この場合、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分を決定することは、詳細には次の通りである。
【０２５７】
第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、および第3のピクセルの動きベクトルが決定され、ここで、第1のピクセル、第2のピクセル、および第3のピクセルは、互いに重複しないピクセルであり、第1のピクセルと第2のピクセルとの間の第2の水平距離および第2の垂直距離が決定され、第1のピクセルと第3のピクセルとの間の第3の水平距離および第3の垂直距離が決定され、第1の水平成分差分、第1の垂直成分差分、第2の水平成分差分、および第2の垂直成分差分が、第1のピクセルの動きベクトル、第2のピクセルの動きベクトル、第3のピクセルの動きベクトル、第2の水平距離、第2の垂直距離、第3の水平距離、および第3の垂直距離に基づいて決定される。上記のことは、一例として3つの制御点に基づく解決策1を使用することによって説明されている。2つの制御点に基づく解決策2または解決策3と3つの制御点に基づく解決策1との間の差異があること、すなわち、解決策1における第1の成分差分または第2の成分差分のみが、2つの制御点に基づくアフィン画像の動きベクトル差分として使用されることが、上記の例から知られ得る。
【０２５８】
随意に、本発明のこの実施形態では、符号化デバイスは、動き推定および動き探索を通じてすべての制御点の動きベクトルを取得してよく、周囲の画像ブロックに基づいてすべての制御点の動きベクトルを取得してよく、またはアフィン変換モデルに基づいてすべての制御点の動きベクトルを計算してもよい。代替として、符号化デバイスは、動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、隣接する画像ブロックに基づいて他の制御点の動きベクトルを取得してよい。代替として、符号化デバイスは、アフィン動き推定および動き探索を通じていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。代替として、符号化デバイスは、隣接する画像ブロックに基づいていくつかの制御点の動きベクトルを取得してよく、アフィン変換モデルに基づいて他の制御点の動きベクトルを計算してよい。ただし、このことは本発明において限定されない。
【０２５９】
随意に、S1430において、事前設定される最初の値が、アフィン画像ブロックの動きベクトル精度として決定されてよく、またはアフィン画像ブロックの動きベクトル精度は、アフィン画像ブロックの隣接する画像ブロックの特徴に基づいて決定されてもよい。隣接する画像ブロックとは、空間においてかつ/または時間においてアフィン画像ブロックに隣接する画像ブロックである。
【０２６０】
随意に、図15に示すように、S1450は、詳細には以下のステップを含む。
【０２６１】
S1501。水平方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第1の成分に対する動きベクトル精度の比率に基づいて第1の水平距離を比例的に調整し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、水平方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０２６２】
詳細には、動きベクトル差分の第1の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第1の成分に対する動きベクトル精度の割合である。その割合と第1の水平距離との積は、水平方向におけるアフィン動き補償画像サブブロックの長さであり、水平方向における初期長さと呼ばれることもある。場合によっては水平方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、水平方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、水平方向におけるアフィン画像ブロックの長さ以下とすべきである。水平方向における初期長さまたは水平方向における丸められた初期長さが適切であるかどうかは、水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。水平方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、水平方向における初期長さまたは水平方向における丸められた初期長さに基づいて、水平方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、水平方向における初期長さまたは水平方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、水平方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で水平方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、水平方向における��フィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、水平方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。水平方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０２６３】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または水平方向におけるアフィン画像ブロックの長さと水平方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０２６４】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０２６５】
加えて、効率を改善し動作時間を短縮するために、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが7であり、水平方向におけるアフィン画像ブロックの長さが16である。この場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、水平方向におけるアフィン動き補償画像サブブロックの長さが5である場合、水平方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。水平方向におけるアフィン動き補償画像サブブロックの長さと、水平方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、水平方向におけるアフィン動き補償画像サブブロックの長さが6であり、水平方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０２６６】
加えて、ステップS1501において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、水平方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは水平方向におけるアフィン画像ブロックの可能な最大長さである。水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、水平方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、水平方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、水平方向におけるアフィン動き補償画像サブブロックの最終の長さが、水平方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1501において水平方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０２６７】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1501において、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、水平方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、水平方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０２６８】
(1)水平方向におけるアフィン画像ブロックの長さが、水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)水平方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０２６９】
水平方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、水平方向におけるアフィン動き補償画像サブブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、水平方向におけるアフィン画像ブロックの長さは、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、水平方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
【０２７０】
随意に、水平方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは水平方向におけるアフィン画像ブロックの長さである。
【０２７１】
S1503。垂直方向におけるアフィン動き補償画像サブブロックの長さを取得するために、動きベクトル差分の第2の成分に対する動きベクトル精度の比率に基づいて第1の垂直距離を比例的に調整し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかを決定し、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でない場合、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるように、垂直方向におけるアフィン動き補償画像サブブロックの長さを調整する。
【０２７２】
詳細には、動きベクトル差分の第2の成分に対する動きベクトル精度の比率とは、動きベクトル差分の第2の成分に対する動きベクトル精度の割合である。その割合と第1の垂直距離との積は、垂直方向におけるアフィン動き補償画像サブブロックの長さであり、垂直方向における初期長さと呼ばれることもある。場合によっては垂直方向におけるアフィン動き補償画像サブブロックの初期長さが整数でない場合があることが理解され得る。この場合、初期長さは丸められる必要がある。精度を保証するために、通常は切り捨てが実行される。詳細には、小数部が直接捨てられる。たとえば、初期長さ値が8.35であり(すなわち、8.35単位ピクセルの長さ)、垂直方向におけるアフィン動き補償画像サブブロックの長さとして8が直接使用される。確かに、四捨五入原理が代替として使用されてよい。詳細には、小数部が5よりも小さい場合、切り捨てが実行され、小数部が5よりも大きい場合、切り上げが実行される。たとえば、8.86となるように長さが計算されるとき、長さとして9が使用される。効率を保証するために、初期長さの最小値は、事前設定された値以上、たとえば、2、4、8、または2Nなどの事前設定された値以上とすべきである。事前設定される値は、通常は4に設定される。初期長さはまた、垂直方向におけるアフィン画像ブロックの長さ以下とすべきである。垂直方向における初期長さまたは垂直方向における丸められた初期長さが適切であるかどうかは、垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れるかどうかによって決まる。垂直方向におけるアフィン画像ブロックの長さが初期長さで割り切れる場合、そのことは、アフィン画像ブロックが、垂直方向における初期長さまたは垂直方向における丸められた初期長さに基づいて、垂直方向における整数の数量のサブブロックに分割され得るかどうかを示す。調整方式は、通常、垂直方向における初期長さまたは垂直方向における丸められた初期長さが徐々に増大/減少される方法である。詳細には、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1つまたは複数の単位長さだけ調整すなわち増大/減少され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。単位長さは、通常は1単位ピクセルである。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さは、1だけ調整すなわち増大/減少される。一般性を失わずに、言い換えれば、垂直方向におけるアフィン動き補償画像サブブロックの長さは、固定のステップサイズだけ調整すなわち増大/減少される。ステップサイズとは、調整値、すなわち、各サイクルの中で垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するために使用される基本単位または振幅である。ステップサイズは、通常、上記の1単位ピクセルであるか、または別の値、たとえば、2ピクセル単位であってもよい。随意に、上記の調整の際に使用されるステップサイズ/調整値は、垂直方向における��フィン動き補償画像サブブロックの初期長さの偶奇性に従って変動することがある。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの初期長さが奇数であるとき、奇数のステップサイズが選択される。たとえば、1単位長さなどの奇数の数量の単位長さが、調整用のステップサイズとして使用される。垂直方向におけるアフィン動き補償画像サブブロックの初期長さが偶数であるとき、偶数のステップサイズが選択される。たとえば、偶数の数量の単位長さがステップサイズとして使用される。
【０２７３】
加えて、調整が増大であるのかそれとも減少であるのかは、デコーダ側とエンコーダ側との間の合意に従って選択されてよく、ビットストリームの中でエンコーダ側によって明示的に示されるとともに、明示的な表示に基づいてデコーダ側によって選択されてよく、周囲の隣接するブロックの動きベクトル精度値を使用することによって推測されてよく、または垂直方向におけるアフィン画像ブロックの長さと垂直方向におけるアフィン動き補償画像サブブロックの長さとの間の割合関係に基づいて決定されてもよい。たとえば、割合がしきい値よりも小さい場合、減少が選択され、そうでない場合、増大が選択される。
【０２７４】
アルゴリズムを簡略化し符号化効率および復号効率を保証するために、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定される場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、事前設定された1つの単位長さだけ調整すなわち増大され、次いで、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍となるまで、上記の解決策が循環的に実行される。
【０２７５】
加えて、効率を改善し動作時間を短縮するために、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる最も近い値まで調整され得る。たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが7であり、垂直方向におけるアフィン画像ブロックの長さが16である。この場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ増大されて8に変化し、16は8によって割り切れる。同様に、垂直方向におけるアフィン動き補償画像サブブロックの長さが5である場合、垂直方向におけるアフィン動き補償画像サブブロックの長さが1だけ減少されて4に変化し、16は4によって割り切れる。垂直方向におけるアフィン動き補償画像サブブロックの長さと、垂直方向におけるアフィン画像ブロックの長さがそれによって割り切れる2つの隣接する値との間の差分が等しく、たとえば、垂直方向におけるアフィン動き補償画像サブブロックの長さが6であり、垂直方向におけるアフィン画像ブロックの長さが16であり、長さ6に隣接し16がそれによって割り切れる2つの値が、それぞれ、4および8である場合、調整はエンコーダ側およびデコーダ側の要件に従って選択されてよい。たとえば、低レイテンシが必要とされる場合、調整すなわち増大が選択されてよい。高品質が必要とされる場合、調整すなわち減少が選択される。このことは本発明において限定されない。
【０２７６】
加えて、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍でないことが決定されると、アルゴリズムをさらに簡略化するために、エンコーダ側およびデコーダ側において同じテーブルが別々に確立されてよく、垂直方向におけるアフィン画像ブロックの可能な最大長さは、許容される最小除数、たとえば、2Nを開始値として使用することによって、複数の区間に分割される。区間スパンは2N+iであり、ただし、i∈(0,(log2Wmax)-1)であり、Wmaxは垂直方向におけるアフィン画像ブロックの可能な最大長さである。垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間が決定され、垂直方向におけるアフィン動き補償画像サブブロックの長さがその中に入る区間の下限値または上限値は、垂直方向におけるアフィン動き補償画像サブブロックの、最後に決定された長さとして使用される。下限値または上限値を取得するための規則については、エンコーダ側とデコーダ側との間の合意を参照されたい。接近区間の上限値または下限値は、ビットストリームを使用することによって明示的に示されてよく、または四捨五入方式で選択されてもよい。上記のテーブルを使用することによって、垂直方向におけるアフィン動き補償画像サブブロックの最終の長さが、垂直方向におけるアフィン動き補償画像サブブロックの初期長さに基づいて、テーブルルックアップを通じて決定されてよい。したがって、ステップS1503において垂直方向におけるアフィン動き補償画像サブブロックの長さを調整するステップは置き換えることができ、システム複雑度が低減され、計算時間が短縮される。
【０２７７】
随意に、本解決策における計算複雑度をさらに低減するために、ステップS1503において、垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であるかどうかが決定されるだけでなく、垂直方向におけるアフィン動き補償画像サブブロックの長さが、計算を容易にする事前設定された長さSの整数倍であるかどうかも、決定される必要がある。詳細には、垂直方向におけるアフィン動き補償画像サブブロックの長さが次の条件を満たすかどうかが決定される必要がある。
【０２７８】
(1)垂直方向におけるアフィン画像ブロックの長さが、垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍であり、かつ(2)垂直方向におけるアフィン動き補償画像サブブロックの長さが、事前設定された長さSの整数倍である。
【０２７９】
垂直方向におけるアフィン動き補償画像サブブロックの長さが2つの条件を満たさない場合、垂直方向におけるアフィン動き補償画像サブブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの長さが条件(1)および条件(2)を満たすように調整される。詳細には、垂直方向におけるアフィン画像ブロックの長さは、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さの整数倍であり、垂直方向におけるアフィン動き補償画像サブブロックの調整済みの長さは、事前設定された長さの整数倍である。事前設定された長さSは通常は4であり、または8、16、もしくは32などの値であってもよい。言い換えれば、S=2nであり、ただし、nは0または正の整数である。この解決策は、いかなる形状のアフィン画像ブロックにも適用可能である。アフィン画像ブロックが4分木(Quad Tree)規則に従って分割されるとき、上記の決定条件(1)および(2)のいずれかが満たされるとすれば他方の条件が満たされ得る。したがって、決定条件のうちの1つしかアクティブ化/適用される必要がない。
【０２８０】
随意に、垂直方向におけるアフィン動き補償画像サブブロックの、上記の方式において決定される長さにおいて、振幅限定動作が実行される必要がある。詳細には、比較方式が使用されてMが下限Tmから上限Wまでの範囲内に入ることを可能にする。Tmは事前設定された値であり通常は4であり、Wは垂直方向におけるアフィン画像ブロックの長さである。
【０２８１】
アフィン動き補償画像サブブロックのサイズを決定および調整する特定の実装形態については、本明細書における復号方法の特定の説明を参照されたい。
【０２８２】
したがって、本発明のこの実施形態におけるビデオ画像符号化方法によれば、符号化デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２８３】
随意に、図16に示すように、S1470は以下のステップを含む。
【０２８４】
S1601。アフィン動き補償画像サブブロックの中の各アフィン動き補償画像サブブロックの動きベクトルを決定する。
【０２８５】
S1603。各アフィン動き補償画像サブブロックの動きベクトルに基づいて各アフィン動き補償画像サブブロックの動き補償予測信号を決定する。
【０２８６】
S1605。各アフィン動き補償画像サブブロックの動き補償予測信号に基づいて各アフィン動き補償画像サブブロックを符号化する。
【０２８７】
本発明のこの実施形態では、各Affine-MCブロックが複数のピクセルを含んでよいこと、およびピクセルの動きベクトルがAffine-MCブロックの動きベクトルとして各Affine-MCブロックから選択される必要があることを理解されたい。
【０２８８】
随意に、S1601において、Affine-MCブロックの中心位置上のピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてよく、Affine-MCブロックの中のすべてのピクセルの動きベクトルの平均値が、Affine-MCブロックの動きベクトルとして使用されてよく、またはAffine-MCブロックの中の左上ピクセルの動きベクトルが、Affine-MCブロックの動きベクトルとして選択されてもよい。ただし、このことは本発明において限定されない。
【０２８９】
随意に、本発明のこの実施形態では、各アフィン動き補償画像サブブロックの中の境界ピクセルの信号がフィルタ処理され、境界ピクセルとは、各アフィン動き補償画像サブブロックの境界における1つまたは複数の行のピクセルである。
【０２９０】
随意に、本発明のこの実施形態では、境界ピクセルの信号は、動き補償予測信号および/または再構成された信号を含み、再構成された信号は、動き補償予測信号と再構成された残差信号との和である。
【０２９１】
再構成された信号は、通常、動き補償予測信号と再構成された残差信号とを加算することによって取得される。通常、残差信号に不可逆符号化が実行される。このことは、元の残差信号に対して、再構成された残差信号のひずみを引き起こす。隣接するAffine-MCブロックの境界におけるピクセルのひずみ事例は異なる場合がある。たとえば、第1のAffine-MCブロックの中の右側におけるピクセルは、ひずみに起因してより大きくなり、第1のAffine-MCブロックに隣接しその右にあるAffine-MCブロックの中の左側におけるピクセルは、ひずみに起因してより小さくなる。このことは、Affine-MCブロックの中の再構成されたピクセルの境界ピクセル値の不連続性を引き起こし、主観的および客観的な効果を損なう。したがって、再構成された信号はフィルタ処理される必要がある。
【０２９２】
随意に、本発明のこの実施形態では、フィルタ処理は、境界領域の中のピクセル値がより滑らかに変化するように、低域通過フィルタを使用することによって実行されてよい。たとえば、フィルタ処理は、ガウスフィルタを使用することによって実行される。ただし、このことは本発明において限定されない。
【０２９３】
随意に、本発明のこの実施形態では、フィルタ処理は、重複ブロック動き補償(Overlapped block motion compensation、略してOBMC)方法を使用することによって実行されてよい。フィルタ処理されるべきピクセルに隣接するAffine-MCブロックの動きベクトルを使用することによって、フィルタ処理されるべきピクセルに動き補償予測が実行され、取得された動き補償予測信号、およびフィルタ処理されるべきピクセルの動きベクトルを使用することによって取得された動き補償予測信号に重み付き平均化が実行されて、最終の動き補償予測信号を取得する。
【０２９４】
本発明のこの実施形態におけるビデオ画像符号化方法によれば、復号デバイスは、アフィン画像ブロックの決定された動きベクトル差分および動きベクトル精度、ならびに制御点の間の距離に基づいて、アフィン動き補償画像サブブロックのサイズを決定し、アフィン画像ブロックのサイズとアフィン動き補償画像サブブロックのサイズとの間の関係に基づいて、アフィン動き補償画像サブブロックのサイズをさらに調整し、その結果、アフィン動き補償画像サブブロックのサイズは実装しやすく、複雑度が低減される。本発明では、エンコーダ側における複雑度が50%だけ低減され得ること、デコーダ側における複雑度が70%だけ低減され得ること、および90%〜95%の性能が維持されることが、実験を使用することによって証明される。したがって、Affineモデルに基づく動き補償予測技術は、実際には効果的に適用され得る。
【０２９５】
以下のことは、図17を参照しながら、本発明を実施するための復号装置1700を説明する。復号装置1700は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1710と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1730と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1750であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1750と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行するように構成された、復号モジュール1770とを含む。
【０２９６】
詳細には、復号装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、復号装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを復号する。復号装置のモジュールは、本発明の復号方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の復号方法におけるすべての方法ステップ、たとえば、ステップS710〜S740ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における復号方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
【０２９７】
以下のことは、図18を参照しながら、本発明の一実施形態による符号化装置を詳細に説明する。符号化装置1800は、
アフィン画像ブロックの動きベクトル差分を決定するように構成された、動きベクトル差分決定モジュール1810と、
アフィン画像ブロックの動きベクトル精度を決定するように構成された、動きベクトル精度決定モジュール1830と、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定するように構成された、画像サブブロックサイズ決定モジュール1850であって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、画像サブブロックサイズ決定モジュール1850と、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行するように構成された、符号化モジュール1870とを含む。
【０２９８】
詳細には、符号化装置は、決定された制御点に基づいてアフィン画像ブロックの動きベクトル差分を決定し、アフィン画像ブロックの動きベクトル精度を決定し、決定された動きベクトル差分および動きベクトル精度、制御点の間の距離、ならびにアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定し、ここで、アフィン動き補償画像サブブロックのサイズは、アフィン画像ブロックを分割するために使用されるサイズであり、アフィン画像ブロックは、分割サイズに基づいて、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割される。次いで、符号化装置は、アフィン動き補償画像サブブロックに基づいてアフィン画像ブロックを符号化する。符号化装置のモジュールは、本発明の符号化方法の中に含まれる様々な実行ステップの機能を実施する。詳細には、モジュールは、本発明の符号化方法におけるすべての方法ステップ、たとえば、ステップS1410〜S1470ならびにこれらのステップの拡張および変形の機能を実施する。詳細については、本明細書における符号化方法の説明を参照されたい。簡潔のために、詳細は本明細書で再び説明しない。
【０２９９】
図19に示すように、本発明の一実施形態は、プロセッサ1910、メモリ1930、およびバスシステム1950を含む、復号デバイス1900をさらに提供する。プロセッサおよびメモリは、バスシステムを使用することによって接続されている。メモリは、命令を記憶するように構成されている。プロセッサは、メモリの中に記憶された命令を実行するように構成されている。復号デバイスのメモリはプログラムコードを記憶する。プロセッサは、本発明の復号方法700におけるすべてのステップおよびステップの拡張、すなわち、図7〜図13で説明したすべての方法を実行するために、メモリの中に記憶されたプログラムコードを呼び出してよい。
【０３００】
たとえば、プロセッサは、メモリの中に記憶されたプログラムコードを呼び出して、本発明の復号方法における完全な動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに復号処理を実行することとを実行し得る。
【０３０１】
復号プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、復号複雑度が低減され、復号性能が改善される。
【０３０２】
本発明のこの実施形態では、プロセッサ1910が中央処理装置(Central Processing Unit、略してCPU)であってよいことを理解されたい。代替として、プロセッサ1910は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
【０３０３】
メモリ1930は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ1910に提供し得る。メモリ1930の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ1930はデバイスタイプについての情報をさらに記憶してよい。
【０３０４】
データバスに加えて、バスシステム1950は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム1950としてマークされている。
【０３０５】
実装プロセスの中で、プロセッサ1910の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ1930の中に位置し、プロセッサ1910はメモリ1930から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。
【０３０６】
図20に示すように、本発明の一実施形態は、プロセッサ2010、メモリ2030、およびバスシステム2050を含む、符号化デバイス2000をさらに提供する。プロセッサ2010およびメモリ2030は、バスシステム2050を使用することによって接続されている。メモリ2030は、命令を記憶するように構成されている。プロセッサ2010は、メモリ2030の中に記憶された命令を実行するように構成されている。符号化デバイス2000のメモリ2030はプログラムコードを記憶する。プロセッサ2010は、本発明の符号化方法1400におけるすべてのステップおよびステップの拡張、すなわち、図14〜図16で説明したすべての方法ステップを実行するために、メモリ2030の中に記憶されたプログラムコードを呼び出してよい。たとえば、プロセッサ2010は、メモリ2030の中に記憶されたプログラムコードを呼び出して、以下の動作、すなわち、
アフィン画像ブロックの動きベクトル差分を決定することと、
アフィン画像ブロックの動きベクトル精度を決定することと、
動きベクトル差分、動きベクトル精度、アフィン画像ブロックの中の制御点の間の距離、およびアフィン画像ブロックのサイズに基づいて、アフィン画像ブロックの中のアフィン動き補償画像サブブロックのサイズを決定することであって、ここで、水平方向におけるアフィン画像ブロックの長さが水平方向におけるアフィン動き補償画像サブブロックの長さの整数倍となり、かつ垂直方向におけるアフィン画像ブロックの長さが垂直方向におけるアフィン動き補償画像サブブロックの長さの整数倍となるように、サイズが、水平方向における長さおよび垂直方向における長さを含み、制御点が、動きベクトル差分を決定するために使用されるピクセルである、決定することと、
アフィン動き補償画像サブブロックのサイズに基づいてアフィン画像ブロックに符号化処理を実行することとを実行し得る。
【０３０７】
符号化プロセスの中で、適切なサイズを有する画像サブブロックが選択され得、画像サブブロックのサイズは、アフィン画像ブロックが、同じサイズを有する複数のアフィン動き補償画像サブブロックに分割されるように調整される。このようにして、符号化複雑度が低減され、符号化性能が改善される。
【０３０８】
本発明のこの実施形態では、プロセッサ2010が中央処理装置(Central Processing Unit、略してCPU)であってよいことを理解されたい。代替として、プロセッサ2010は、別の汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または別のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理デバイス、個別ハードウェア構成要素などであってよい。汎用プロセッサはマイクロプロセッサであってよく、またはプロセッサは任意の従来のプロセッサなどであってもよい。
【０３０９】
メモリ2030は、読取り専用メモリおよびランダムアクセスメモリを含んでよく、命令およびデータをプロセッサ2010に提供し得る。メモリ2030の一部は不揮発性ランダムアクセスメモリをさらに含んでよい。たとえば、メモリ2030はデバイスタイプについての情報をさらに記憶してよい。
【０３１０】
データバスに加えて、バスシステム2050は、電力バス、制御バス、ステータス信号バスなどをさらに含んでよい。ただし、明瞭な説明のために、図における様々なタイプのバスがバスシステム2050としてマークされている。
【０３１１】
実装プロセスの中で、プロセッサ2010の中のハードウェア集積論理回路を使用することによって、またはソフトウェアの形態の命令を使用することによって、上記の方法のステップが実施され得る。本発明の実施形態を参照しながら開示する方法のステップは、ハードウェアプロセッサによって直接実行されてよく、またはプロセッサのハードウェアとソフトウェアモジュールとの組合せを使用することによって実行されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体の中に位置してよい。記憶媒体がメモリ2030の中に位置し、プロセッサ2010はメモリ2030から情報を読み取り、プロセッサのハードウェアと組み合わせて上記の方法のステップを完了させる。繰り返しを避けるために、詳細は本明細書で再び説明しない。
【符号の説明】
【０３１２】
60  ビデオデコーダ
650  エントロピー復号ユニット
652  予測処理ユニット
654  逆量子化ユニット
656  逆変換処理ユニット
658  再構成ユニット
659  フィルタユニット
660  復号画像バッファ
662  動き補償ユニット
664  フレーム内予測処理ユニット
666  標準CABAC符号化/復号エンジン
668  バイパス符号化/復号エンジン
1700  復号デバイス
1710  動きベクトル差分決定モジュール
1730  動きベクトル精度決定モジュール
1750  画像サブブロックサイズ決定モジュール
1770  復号モジュール
1800  符号化デバイス
1810  動きベクトル差分決定モジュール
1830  動きベクトル精度決定モジュール
1850  画像サブブロックサイズ決定モジュール
1870  符号化モジュール
1900  復号デバイス
1910  プロセッサ
1930  メモリ
1950  バスシステム
2000  符号化デバイス
2010  プロセッサ
2030  メモリ
2050  バスシステム
【国際調査報告】
2020529811.tif 000092
2020529811.tif 000093
2020529811.tif 000094
2020529811.tif 000095
2020529811.tif 000096
2020529811.tif 000097